summaryrefslogtreecommitdiff
path: root/tests/aslts/src/runtime/collections
diff options
context:
space:
mode:
authorrmoore1 <rmoore1>2007-08-28 22:18:01 +0000
committerrmoore1 <rmoore1>2007-08-28 22:18:01 +0000
commit73b2ac1aafc834f16f025b83a4fe8beb175e9149 (patch)
tree7ee229b7d57c0cb20c31bc4f28f026b68839c606 /tests/aslts/src/runtime/collections
parent073a0f904ad3159fa903e752ddbdd6f296418020 (diff)
downloadacpica-73b2ac1aafc834f16f025b83a4fe8beb175e9149.tar.gz
Release 7 of ASLTS. Corresponds to ACPICA 20070320.
Diffstat (limited to 'tests/aslts/src/runtime/collections')
-rw-r--r--tests/aslts/src/runtime/collections/FULL/FULL/MAIN.asl83
-rw-r--r--tests/aslts/src/runtime/collections/IMPL/ACPICA/Makefile6
-rw-r--r--tests/aslts/src/runtime/collections/IMPL/ACPICA/README12
-rw-r--r--tests/aslts/src/runtime/collections/IMPL/ACPICA/tests/Makefile6
-rw-r--r--tests/aslts/src/runtime/collections/IMPL/ACPICA/tests/README22
-rw-r--r--tests/aslts/src/runtime/collections/IMPL/ACPICA/tests/dynobj/MAIN.asl63
-rw-r--r--tests/aslts/src/runtime/collections/IMPL/ACPICA/tests/dynobj/Makefile7
-rw-r--r--tests/aslts/src/runtime/collections/IMPL/ACPICA/tests/dynobj/RUN.asl151
-rw-r--r--tests/aslts/src/runtime/collections/IMPL/ACPICA/tests/dynobj/TestResult.txt353
-rw-r--r--tests/aslts/src/runtime/collections/IMPL/ACPICA/tests/dynobj/dobctl.asl1373
-rw-r--r--tests/aslts/src/runtime/collections/IMPL/ACPICA/tests/dynobj/dobdecl.asl444
-rw-r--r--tests/aslts/src/runtime/collections/IMPL/ACPICA/tests/dynobj/dobexceptions.asl74
-rw-r--r--tests/aslts/src/runtime/collections/IMPL/ACPICA/tests/dynobj/dobexec.asl3263
-rw-r--r--tests/aslts/src/runtime/collections/IMPL/ACPICA/tests/dynobj/dobmisc.asl91
-rw-r--r--tests/aslts/src/runtime/collections/IMPL/ACPICA/tests/dynobj/state_of_all_testst.txt50
-rw-r--r--tests/aslts/src/runtime/collections/IMPL/Makefile6
-rw-r--r--tests/aslts/src/runtime/collections/IMPL/README14
-rw-r--r--tests/aslts/src/runtime/collections/Identity2MS/Makefile7
-rw-r--r--tests/aslts/src/runtime/collections/Identity2MS/README21
-rw-r--r--tests/aslts/src/runtime/collections/Identity2MS/abbu/DECL.asl191
-rw-r--r--tests/aslts/src/runtime/collections/Identity2MS/abbu/DECL_ABBU.asl38
-rw-r--r--tests/aslts/src/runtime/collections/Identity2MS/abbu/DECL_ASLTS.asl36
-rw-r--r--tests/aslts/src/runtime/collections/Identity2MS/abbu/MAIN.asl172
-rw-r--r--tests/aslts/src/runtime/collections/Identity2MS/abbu/MAIN_ASLTS.asl90
-rw-r--r--tests/aslts/src/runtime/collections/Identity2MS/abbu/Makefile8
-rw-r--r--tests/aslts/src/runtime/collections/Identity2MS/abbu/MsFail/msfail.asl1897
-rw-r--r--tests/aslts/src/runtime/collections/Identity2MS/abbu/RUN.asl70
-rw-r--r--tests/aslts/src/runtime/collections/Identity2MS/abbu/SPEC103
-rw-r--r--tests/aslts/src/runtime/collections/Identity2MS/abbu/ToDo.txt55
-rw-r--r--tests/aslts/src/runtime/collections/Identity2MS/abbu/UTILITY/0_WARNING.HTM1
-rw-r--r--tests/aslts/src/runtime/collections/Identity2MS/abbu/UTILITY/1_WARNING.HTM1
-rw-r--r--tests/aslts/src/runtime/collections/Identity2MS/abbu/UTILITY/2_WARNING.HTM1
-rw-r--r--tests/aslts/src/runtime/collections/Identity2MS/abbu/UTILITY/3_WARNING.HTM1
-rw-r--r--tests/aslts/src/runtime/collections/Identity2MS/abbu/UTILITY/AslCompiler.pdfbin0 -> 66078 bytes
-rw-r--r--tests/aslts/src/runtime/collections/Identity2MS/abbu/UTILITY/DSDT.AMLbin0 -> 40195 bytes
-rw-r--r--tests/aslts/src/runtime/collections/Identity2MS/abbu/UTILITY/DSDT.TABbin0 -> 113916 bytes
-rw-r--r--tests/aslts/src/runtime/collections/Identity2MS/abbu/UTILITY/DSDT.dsl9656
-rw-r--r--tests/aslts/src/runtime/collections/Identity2MS/abbu/UTILITY/INSTALL.TXT77
-rw-r--r--tests/aslts/src/runtime/collections/Identity2MS/abbu/device/Info.txt1
-rw-r--r--tests/aslts/src/runtime/collections/Identity2MS/abbu/device/device.asl87
-rw-r--r--tests/aslts/src/runtime/collections/Identity2MS/abbu/device/device_abbu.asl169
-rw-r--r--tests/aslts/src/runtime/collections/Identity2MS/abbu/device/device_aslts.asl153
-rw-r--r--tests/aslts/src/runtime/collections/Identity2MS/abbu/device/ns_dv00.asl584
-rw-r--r--tests/aslts/src/runtime/collections/Identity2MS/abbu/device/ns_dv10.asl985
-rw-r--r--tests/aslts/src/runtime/collections/Identity2MS/abbu/device/ns_dv20.asl248
-rw-r--r--tests/aslts/src/runtime/collections/Identity2MS/abbu/device/ns_dv30.asl882
-rw-r--r--tests/aslts/src/runtime/collections/Identity2MS/abbu/initial/ns_in00.asl597
-rw-r--r--tests/aslts/src/runtime/collections/Identity2MS/abbu/initial/ns_in10.asl1020
-rw-r--r--tests/aslts/src/runtime/collections/Identity2MS/abbu/initial/ns_in20.asl279
-rw-r--r--tests/aslts/src/runtime/collections/Identity2MS/abbu/initial/ns_in30.asl913
-rw-r--r--tests/aslts/src/runtime/collections/Identity2MS/abbu/initial/ns_in40.asl4654
-rw-r--r--tests/aslts/src/runtime/collections/Identity2MS/abbu/initial/ns_in50.asl652
-rw-r--r--tests/aslts/src/runtime/collections/Identity2MS/abbu/method/mt0_abbu.asl3234
-rw-r--r--tests/aslts/src/runtime/collections/Identity2MS/abbu/method/mt0_aslts.asl3156
-rw-r--r--tests/aslts/src/runtime/collections/Identity2MS/abbu/misc/ms0.asl240
-rw-r--r--tests/aslts/src/runtime/collections/Identity2MS/abbu/misc/ms1.asl6958
-rw-r--r--tests/aslts/src/runtime/collections/Identity2MS/abbu/ns4.asl88
-rw-r--r--tests/aslts/src/runtime/collections/Identity2MS/abbu/ns6.asl46
-rw-r--r--tests/aslts/src/runtime/collections/Identity2MS/abbu/recursion/rec_abbu.asl101
-rw-r--r--tests/aslts/src/runtime/collections/Identity2MS/abbu/recursion/rec_aslts.asl357
-rw-r--r--tests/aslts/src/runtime/collections/Identity2MS/abbu/run_points.asl48
-rw-r--r--tests/aslts/src/runtime/collections/Makefile8
-rw-r--r--tests/aslts/src/runtime/collections/Makefile.install13
-rw-r--r--tests/aslts/src/runtime/collections/README53
-rw-r--r--tests/aslts/src/runtime/collections/TMP/level/MAIN.asl71
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0000/DECL.asl93
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0000/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0000/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0001_ASL/DECL.asl91
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0001_ASL/MAIN.asl58
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0001_ASL/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0002/DECL.asl56
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0002/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0002/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0003_ASL/DECL.asl61
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0003_ASL/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0003_ASL/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0004/DECL.asl59
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0004/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0004/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0005/DECL.asl67
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0005/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0005/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0006/DECL.asl48
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0006/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0006/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0007/DECL.asl48
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0007/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0007/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0008/DECL.asl47
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0008/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0008/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0009/DECL.asl61
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0009/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0009/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0010/DECL.asl58
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0010/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0010/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0011_ASL/DECL.asl85
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0011_ASL/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0012/DECL.asl45
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0012/DataLevel10.asl600
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0012/DataLevel20.asl608
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0012/DataLevel21_DeclDown.asl615
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0012/DataLevel21_DeclUp.asl614
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0012/MAIN.asl58
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0012/Method.asl139
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0012/RUN.asl39
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0013/DECL.asl89
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0013/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0013/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0014/DECL.asl53
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0014/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0014/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0015/DECL.asl51
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0015/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0015/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0016/DECL.asl58
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0016/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0016/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0017/DECL.asl55
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0017/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0017/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0018/DECL.asl54
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0018/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0018/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0019/DECL.asl48
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0019/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0019/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0020/DECL.asl54
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0020/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0020/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0021/DECL.asl48
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0021/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0021/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0022/DECL.asl54
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0022/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0022/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0023/DECL.asl74
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0023/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0023/RUN.asl40
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0024_ASL/DECL.asl55
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0024_ASL/MAIN.asl56
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0025_SPEC/DECL.asl35
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0026_ASL_NOT_BUG_NOW/DECL.asl49
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0026_ASL_NOT_BUG_NOW/MAIN.asl56
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0027/DECL.asl96
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0027/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0027/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0028/DECL.asl95
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0028/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0028/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0029/DECL.asl96
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0029/MAIN.asl58
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0029/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0030/DECL.asl95
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0030/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0030/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0031_ASL_RUNTIME/DECL.asl201
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0031_ASL_RUNTIME/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0031_ASL_RUNTIME/RUN.asl35
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0032_ASL/DECL.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0032_ASL/MAIN.asl56
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0033_ASL/DECL.asl103
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0033_ASL/MAIN.asl56
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0034/DECL.asl62
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0034/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0034/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0035_ASL/DECL.asl53
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0035_ASL/MAIN.asl56
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0036_ASL/DECL.asl46
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0036_ASL/MAIN.asl56
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0037/DECL.asl54
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0037/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0037/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0038/DECL.asl82
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0038/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0038/RUN.asl40
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0039_ASL_RUNTIME/DECL.asl56
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0039_ASL_RUNTIME/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0039_ASL_RUNTIME/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0040/DECL.asl49
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0040/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0040/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0041/DECL.asl47
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0041/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0041/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0042/DECL.asl47
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0042/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0042/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0043/DECL.asl48
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0043/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0043/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0044/DECL.asl47
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0044/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0044/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0045/DECL.asl74
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0045/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0045/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0046/DECL.asl77
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0046/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0046/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0047/DECL.asl110
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0047/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0047/RUN.asl40
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0048/DECL.asl61
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0048/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0048/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0049/DECL.asl67
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0049/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0049/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0050/DECL.asl58
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0050/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0050/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0051_ASL_RUNTIME/DECL.asl80
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0051_ASL_RUNTIME/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0051_ASL_RUNTIME/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0052/DECL.asl59
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0052/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0052/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0053_ASL/DECL.asl84
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0053_ASL/MAIN.asl56
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0054/DECL.asl205
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0054/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0054/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0055_ASL/DECL.asl48
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0055_ASL/MAIN.asl56
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0056_ASL/DECL.asl78
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0056_ASL/MAIN.asl56
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0057/DECL.asl100
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0057/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0057/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0058/DECL.asl107
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0058/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0058/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0059/DECL.asl82
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0059/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0059/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0060/DECL.asl114
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0060/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0060/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0061/DECL.asl116
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0061/MAIN.asl58
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0061/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0062_ASL_RUNTIME/DECL.asl148
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0062_ASL_RUNTIME/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0062_ASL_RUNTIME/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0062_ASL_RUNTIME/old_test/DECL.asl35
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0062_ASL_RUNTIME/old_test/MAIN.asl190
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0063/DECL.asl41
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0063/File0.asl581
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0063/File1.asl1391
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0063/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0063/Misc.asl402
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0063/RUN.asl58
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0064/DECL.asl83
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0064/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0064/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0065/DECL.asl80
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0065/MAIN.asl58
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0065/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0066/DECL.asl80
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0066/MAIN.asl58
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0066/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0067/DECL.asl71
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0067/MAIN.asl58
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0067/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0068/DECL.asl71
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0068/MAIN.asl58
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0068/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0069/DECL.asl50
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0069/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0069/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0070_ASL/DECL.asl77
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0070_ASL/MAIN.asl56
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0071_ASL/DECL.asl77
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0071_ASL/MAIN.asl56
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0072_ASL/DECL.asl58
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0072_ASL/MAIN.asl56
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0073_ASL/DECL.asl44
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0073_ASL/MAIN.asl90
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0073_ASL/misc.asl617
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0073_ASL/misc.old.asl617
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0074/DECL.asl53
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0074/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0074/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0075/DECL.asl549
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0075/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0075/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0076/DECL.asl51
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0076/MAIN.asl58
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0076/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0077/DECL.asl52
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0077/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0077/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0078/DECL.asl42
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0078/MAIN.asl58
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0078/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0079/DECL.asl43
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0079/MAIN.asl58
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0079/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0080_ASL/DECL.asl62
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0080_ASL/MAIN.asl56
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0081/DECL.asl69
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0081/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0081/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0082_SPEC/DECL.asl35
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0083/DECL.asl147
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0083/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0083/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0084/DECL.asl292
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0084/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0084/RUN.asl40
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0085/DECL.asl85
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0085/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0085/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0086/DECL.asl76
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0086/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0086/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0087/DECL.asl103
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0087/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0087/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0088/DECL.asl77
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0088/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0088/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0089_SPEC/DECL.asl35
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0090_SPEC/DECL.asl35
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0091_SPEC/DECL.asl35
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0092/DECL.asl87
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0092/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0092/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0093/DECL.asl93
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0093/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0093/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0094/DECL.asl93
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0094/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0094/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0095/DECL.asl61
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0095/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0095/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0096_ASL/DECL.asl88
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0096_ASL/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0096_ASL/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0097/DECL.asl79
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0097/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0097/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0098/DECL.asl381
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0098/MAIN.asl58
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0098/RUN.asl45
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0099/DECL.asl50
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0099/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0099/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0100/DECL.asl53
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0100/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0100/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0101/DECL.asl84
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0101/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0101/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0102/DECL.asl41
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0102/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0102/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0103/DECL.asl73
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0103/MAIN.asl58
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0103/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0104/DECL.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0104/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0104/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0105/DECL.asl55
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0105/MAIN.asl58
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0105/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0106/DECL.asl52
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0106/MAIN.asl58
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0106/RUN.asl40
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0107/DECL.asl71
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0107/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0107/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0108_ASL/DECL.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0108_ASL/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0108_ASL/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0109_ASL/DECL.asl40
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0109_ASL/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0110_ML/DECL.asl56
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0110_ML/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0110_ML/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0111/DECL.asl153
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0111/MAIN.asl58
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0111/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0112/DECL.asl60
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0112/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0112/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0113/DECL.asl96
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0113/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0113/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0114_ASL/DECL.asl75
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0114_ASL/MAIN.asl56
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0115/DECL.asl149
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0115/MAIN.asl58
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0115/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0116_ASL/DECL.asl55
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0116_ASL/MAIN.asl56
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0117/DECL.asl55
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0117/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0117/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0118/DECL.0000.asl113
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0118/DECL.asl287
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0118/MAIN.asl58
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0118/RUN.asl51
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0119/DECL.asl52
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0119/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0119/RUN.asl40
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0120/DECL.asl137
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0120/MAIN.asl58
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0120/RUN.asl48
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0121/DECL.asl87
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0121/DECL.for_iASL.asl86
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0121/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0121/RUN.asl40
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0122_ASL/DECL.asl44
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0122_ASL/MAIN.asl56
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0123/DECL.asl47
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0123/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0123/RUN.asl40
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0124/DECL.asl66
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0124/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0124/RUN.asl40
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0125/DECL.asl93
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0125/MAIN.asl58
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0125/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0126/DECL.asl83
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0126/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0126/RUN.asl42
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0127/DECL.asl104
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0127/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0127/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0128/DECL.asl161
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0128/MAIN.asl58
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0128/RUN.asl46
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0129/DECL.asl38
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0129/Dynamic.asl115
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0129/MAIN.asl58
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0129/RUN.asl48
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0129/StaticGlobal.asl208
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0129/StaticLocal.asl209
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0130/DECL.asl76
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0130/MAIN.asl58
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0130/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0131/DECL.asl90
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0131/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0131/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0132/DECL.asl54
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0132/MAIN.asl58
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0132/RUN.asl40
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0133/DECL.asl79
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0133/MAIN.asl58
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0133/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0134/DECL.asl135
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0134/MAIN.asl58
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0134/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0135/Common.asl4164
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0135/DECL.asl54
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0135/GrInvest.asl1152
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0135/MAIN.asl58
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0135/Methods.asl590
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0135/Misc1.asl2604
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0135/Misc2.asl762
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0135/Mix.asl761
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0135/PkgsHierarchy.asl1844
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0135/RUN.asl53
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0135/SimplePkgs.asl115
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0136/DECL.asl49
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0136/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0136/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0137/DECL.asl55
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0137/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0137/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0138/DECL.asl49
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0138/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0138/RUN.asl40
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0139/DECL.asl74
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0139/MAIN.asl58
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0139/RUN.asl38
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0140_ASL/DECL.asl46
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0140_ASL/MAIN.asl56
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0141_SPEC/DECL.asl35
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0142_ASL/DECL.asl54
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0142_ASL/MAIN.asl56
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0143/DECL.asl68
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0143/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0143/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0144/DECL.asl77
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0144/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0144/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0145_ASL/DECL.asl44
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0145_ASL/MAIN.asl56
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0146/DECL.asl55
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0146/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0146/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0147/DECL.asl54
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0147/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0147/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0148_ASL/DECL.asl82
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0148_ASL/MAIN.asl56
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0149_SPEC/DECL.asl35
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0150/DECL.asl178
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0150/MAIN.asl58
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0150/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0151/DECL.asl117
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0151/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0151/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0152_ASL/DECL.asl70
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0152_ASL/MAIN.asl56
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0153/DECL.asl73
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0153/Exc.asl80
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0153/MAIN.asl58
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0153/Mix.asl321
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0153/RUN.asl61
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0153/ToBuffer.asl144
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0153/ToDevice.asl244
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0153/ToDeviceGlob.asl383
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0153/ToEvent.asl244
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0153/ToInteger.asl97
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0153/ToMutex.asl244
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0153/ToPackage.asl155
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0153/ToPowerRes.asl244
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0153/ToProcessor.asl244
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0153/ToRegion.asl244
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0153/ToString.asl97
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0153/ToThermalZone.asl244
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0154/DECL.asl69
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0154/MAIN.asl58
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0154/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0155/DECL.asl58
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0155/MAIN.asl58
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0155/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0156_ML/DECL.asl64
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0156_ML/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0156_ML/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0157/DECL.asl92
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0157/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0157/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0158_ML/DECL.asl69
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0158_ML/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0158_ML/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0159_ML/DECL.asl67
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0159_ML/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0159_ML/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0160/DECL.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0160/MAIN.asl58
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0160/RUN.asl38
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0161/DECL.asl284
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0161/MAIN.asl58
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0161/RUN.asl43
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0162/DECL.asl75
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0162/MAIN.asl64
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0162/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0163_ML/DECL.asl79
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0163_ML/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0163_ML/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0164_ACTION_REQUIRED/DECL.asl46
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0165_ML/DECL.asl73
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0165_ML/MAIN.asl58
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0165_ML/RUN.asl38
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0166_ML/DECL.asl119
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0166_ML/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0166_ML/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0167/DECL.asl145
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0167/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0167/RUN.asl40
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0168_ACT_REQ_NOPT/DECL.asl74
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0168_ACT_REQ_NOPT/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0168_ACT_REQ_NOPT/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0169/DECL.asl55
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0169/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0169/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0170/DECL.asl60
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0170/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0170/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0171_ACTION_REQUIRED/DECL.asl59
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0171_ACTION_REQUIRED/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0171_ACTION_REQUIRED/RUN.asl40
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0172_OUTSTAND_ALLOC/DECL.asl51
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0172_OUTSTAND_ALLOC/MAIN.asl58
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0172_OUTSTAND_ALLOC/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0173_DEMO_IMPOSSIBLE/DECL.asl54
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0174/DECL.asl42
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0174/MAIN.asl58
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0174/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0175/DECL.asl55
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0175/MAIN.asl58
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0175/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0176/DECL.asl54
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0176/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0176/RUN.asl46
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0177/DECL.asl125
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0177/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0177/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0178/DECL.asl115
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0178/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0178/RUN.asl50
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0179/DECL.asl44
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0179/MAIN.asl58
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0179/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0180_ASL_RUNTIME/DECL.asl75
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0180_ASL_RUNTIME/MAIN.asl58
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0180_ASL_RUNTIME/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0181_ASL_RUNTIME/DECL.asl46
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0181_ASL_RUNTIME/MAIN.asl58
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0181_ASL_RUNTIME/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0182/DECL.asl74
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0182/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0182/RUN.asl38
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0183/DECL.asl64
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0183/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0183/RUN.asl42
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0184/DECL.asl50
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0184/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0184/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0185/DECL.asl98
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0185/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0185/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0186/DECL.asl125
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0186/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0186/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0187/DECL.asl62
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0187/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0187/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0188/DECL.asl60
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0188/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0188/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0189/DECL.asl55
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0189/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0189/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0190/DECL.asl50
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0190/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0190/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0191/DECL.asl61
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0191/MAIN.asl58
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0191/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0192/DECL.asl1169
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0192/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0192/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0193/DECL.asl93
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0193/MAIN.asl58
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0193/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0194/DECL.asl64
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0194/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0194/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0195/DECL.asl102
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0195/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0195/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0196/DECL.asl42
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0196/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0196/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0197/DECL.asl42
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0197/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0197/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0198/DECL.0000.asl170
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0198/DECL.asl227
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0198/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0198/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0199/DECL.asl93
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0199/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0199/RUN.asl38
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0200/DECL.asl224
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0200/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0200/RUN.asl35
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0201_OUTSTAND_ALLOC/DECL.asl177
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0201_OUTSTAND_ALLOC/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0201_OUTSTAND_ALLOC/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0202_SEE_129/DECL.asl40
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0203/DECL.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0203/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0203/RUN.asl41
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0204/DECL.asl55
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0204/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0204/RUN.asl41
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0205/DECL.asl52
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0205/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0205/RUN.asl41
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0206/DECL.asl60
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0206/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0206/RUN.asl41
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0207/DECL.asl60
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0207/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0207/RUN.asl41
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0208/DECL.asl86
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0208/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0208/RUN.asl41
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0209_ML_SEE_135/DECL.asl41
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0210/DECL.asl68
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0210/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0210/RUN.asl37
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0211/DECL.asl63
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0211/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0211/RUN.asl37
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0212/Common.asl33
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0212/DECL.asl40
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0212/MAIN.asl58
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0212/Misc.asl426
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0212/RUN.asl35
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0213/DECL.asl59
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0213/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0213/RUN.asl40
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0214/DECL.asl86
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0214/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0214/RUN.asl40
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0215/DECL.asl94
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0215/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0215/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0216/DECL.asl783
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0216/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0216/RUN.asl35
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0217/DECL.asl60
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0217/MAIN.asl58
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0217/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0218/DECL.asl96
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0218/MAIN.asl58
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0218/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0219/DECL.asl50
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0219/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0219/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0220/DECL.asl73
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0220/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0220/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0221/DECL.asl73
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0221/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0221/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0222/DECL.asl65
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0222/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0222/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0223/DECL.asl102
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0223/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0223/RUN.asl40
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0224/DECL.asl80
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0224/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0224/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0225_ASL/DECL.asl60
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0225_ASL/MAIN.asl56
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0226/DECL.asl82
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0226/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0226/RUN.asl38
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0227_ASL/DECL.asl35
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0227_ASL/MAIN.asl71
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0228/DECL.asl67
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0228/MAIN.asl58
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0228/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0229/DECL.asl48
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0229/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0229/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0230/DECL.asl120
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0230/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0230/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0231/DECL.asl103
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0231/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0231/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0232_F_OPTION/DECL.asl82
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0232_F_OPTION/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0232_F_OPTION/RUN.asl35
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0233_ASL/DECL.asl50
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0233_ASL/MAIN.asl56
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0234_ASL_RUNTIME/DECL.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0235_ASL_RUNTIME/DECL.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0236_ASL/DECL.asl71
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0236_ASL/MAIN.asl40
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0237_ASL/DECL.asl79
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0237_ASL/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0238/DECL.asl73
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0238/MAIN.asl56
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0238/RUN.asl35
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0239_ACTION_REQUIRED/DECL.asl98
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0239_ACTION_REQUIRED/MAIN.asl83
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0239_ACTION_REQUIRED/RUN.asl46
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0240_ACTION_REQUIRED/DECL.asl153
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0240_ACTION_REQUIRED/MAIN.asl83
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0240_ACTION_REQUIRED/RUN.asl54
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0241/DECL.asl61
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0241/MAIN.asl56
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0241/RUN.asl35
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0242/DECL.asl262
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0242/MAIN.asl56
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0242/RUN.asl35
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0243/DECL.asl116
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0243/MAIN.asl56
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0243/RUN.asl35
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0244/DECL.asl368
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0244/MAIN.asl56
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0244/RUN.asl37
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0245_SPEC/DECL.asl34
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0246/DECL.asl68
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0246/MAIN.asl56
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0246/RUN.asl35
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0247/DECL.asl100
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0247/MAIN.asl56
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0247/RUN.asl35
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0248/DECL.asl226
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0248/MAIN.asl56
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0248/RUN.asl46
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0249_DEMO_IMPOSSIBLE/DECL.asl34
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0250_DEMO_IMPOSSIBLE/DECL.asl34
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0251_ACTION_REQUIRED/DECL.asl34
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0251_ACTION_REQUIRED/MAIN.asl128
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0252_ASL/DECL.asl34
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0252_ASL/MAIN.asl60
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0253_DEMO_IMPOSSIBLE/DECL.asl34
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0254_DEMO_IMPOSSIBLE/DECL.asl34
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0255_DEMO_IMPOSSIBLE/DECL.asl36
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0256_DEMO_IMPOSSIBLE/DECL.asl34
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0257/DECL.asl102
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0257/MAIN.asl56
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0257/RUN.asl35
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0257/ssdt.c51
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0258/DECL.asl103
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0258/MAIN.asl56
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0258/RUN.asl35
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0258/ssdt.c51
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0259/DECL.asl120
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0259/MAIN.asl56
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0259/RUN.asl35
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0259/ssdt.asl44
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0260/DECL.asl104
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0260/MAIN.asl56
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0260/RUN.asl35
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0261/DECL.asl105
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0261/MAIN.asl56
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0261/RUN.asl39
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0262/DECL.asl71
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0262/MAIN.asl56
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0262/RUN.asl39
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0263/DECL.asl125
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0263/MAIN.asl56
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0263/RUN.asl35
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0264/DECL.asl136
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0264/MAIN.asl56
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0264/RUN.asl39
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0265/DECL.asl113
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0265/MAIN.asl56
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0265/RUN.asl35
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0266_DEMO_IMPOSSIBLE/DECL.asl34
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0267_DEMO_IMPOSSIBLE/DECL.asl34
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0268/DECL.asl70
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0268/MAIN.asl56
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0268/RUN.asl35
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0269/DECL.asl113
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0269/MAIN.asl56
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0269/RUN.asl35
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0270_SPEC/DECL.asl34
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0271/DECL.asl91
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0271/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0271/RUN.asl35
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0272/DECL.asl91
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0272/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0272/RUN.asl35
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0273/DECL.asl110
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0273/MAIN.asl56
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0273/RUN.asl45
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0273/oem1.asl26
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0274/DECL.asl95
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0274/MAIN.asl56
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0274/RUN.asl35
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0275/DECL.asl83
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0275/MAIN.asl56
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0275/RUN.asl35
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0276_LARGE_REF_COUNT/DECL.asl127
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0276_LARGE_REF_COUNT/MAIN.asl56
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0276_LARGE_REF_COUNT/RUN.asl43
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0277_ACTION_REQUIRED/Info.txt62
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0278/DECL.asl122
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0278/MAIN.asl56
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0278/RUN.asl35
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0278/ssdt.asl44
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0279_ASL_RUNTIME/DECL.asl47
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0279_ASL_RUNTIME/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0279_ASL_RUNTIME/RUN.asl35
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0280_ASL_RUNTIME/DECL.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0280_ASL_RUNTIME/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0280_ASL_RUNTIME/RUN.asl35
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0281/DECL.asl129
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0281/MAIN.asl56
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0281/RUN.asl35
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0282/DECL.asl55
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0282/MAIN.asl56
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0282/RUN.asl39
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0283/DECL.asl85
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0283/MAIN.asl56
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0283/RUN.asl39
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0284/DECL.asl84
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0284/MAIN.asl56
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0284/RUN.asl39
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0285/DECL.asl77
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0285/MAIN.asl56
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0285/RUN.asl35
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0286/DECL.asl88
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0286/MAIN.asl56
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0286/RUN.asl39
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0287/DECL.asl77
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0287/MAIN.asl56
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0287/RUN.asl35
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0288_ASL_RUNTIME/DECL.asl66
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0288_ASL_RUNTIME/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0288_ASL_RUNTIME/RUN.asl35
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0289/DECL.asl81
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0289/MAIN.asl56
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0289/RUN.asl35
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0290/DECL.asl94
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0290/MAIN.asl56
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0290/RUN.asl35
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0291_ASL_RUNTIME/DECL.asl61
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0291_ASL_RUNTIME/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0291_ASL_RUNTIME/RUN.asl35
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0292/DECL.asl79
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0292/MAIN.asl56
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0292/RUN.asl35
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0293/DECL.asl81
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0293/MAIN.asl56
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0293/RUN.asl35
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0294/DECL.asl276
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0294/MAIN.asl56
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0294/RUN.asl39
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0295_ASL/DECL.asl43
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0295_ASL/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0296/DECL.asl65
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0296/MAIN.asl56
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0296/RUN.asl35
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0297_ACTIONS_REQUIRED/DECL.asl456
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0297_ACTIONS_REQUIRED/MAIN.asl56
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0297_ACTIONS_REQUIRED/RUN.asl34
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0298_ACTIONS_REQUIRED/DECL.asl83
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0298_ACTIONS_REQUIRED/MAIN.asl56
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0298_ACTIONS_REQUIRED/RUN.asl35
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0299_ACTIONS_REQUIRED/DECL.asl129
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0299_ACTIONS_REQUIRED/MAIN.asl56
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0299_ACTIONS_REQUIRED/RUN.asl35
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0300/DECL.asl91
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0300/MAIN.asl56
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0300/RUN.asl35
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0301/DECL.asl142
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0301/MAIN.asl56
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0301/RUN.asl39
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0302/DECL.asl96
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0302/MAIN.asl56
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0302/RUN.asl34
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0303/DECL.asl111
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0303/MAIN.asl56
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0303/RUN.asl34
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0304/DECL.asl295
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0304/MAIN.asl56
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0304/RUN.asl34
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0305/DECL.asl62
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0305/MAIN.asl56
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0305/RUN.asl35
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0306/DECL.asl71
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0306/MAIN.asl56
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/0306/RUN.asl35
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/Makefile6
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/README59
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/bdemo/DECL.asl443
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/bdemo/MAIN.asl74
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/bdemo/Makefile7
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/bdemo/RUN.asl435
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/bdemof/DECL.asl43
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/bdemof/MAIN.asl75
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/bdemof/Makefile8
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/bdemof/RUN.asl33
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/common/DECL.asl33
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/common/data.asl287
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/common/data.src.asl280
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/ACPICA/common/proc.asl379
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/Makefile6
-rw-r--r--tests/aslts/src/runtime/collections/bdemo/README9
-rw-r--r--tests/aslts/src/runtime/collections/complex/FULL/DECL.asl50
-rw-r--r--tests/aslts/src/runtime/collections/complex/FULL/MAIN.asl62
-rw-r--r--tests/aslts/src/runtime/collections/complex/FULL/RUN.asl43
-rw-r--r--tests/aslts/src/runtime/collections/complex/Makefile14
-rw-r--r--tests/aslts/src/runtime/collections/complex/README40
-rw-r--r--tests/aslts/src/runtime/collections/complex/badasl/MAIN.asl58
-rw-r--r--tests/aslts/src/runtime/collections/complex/badasl/Makefile8
-rw-r--r--tests/aslts/src/runtime/collections/complex/badasl/RUN.asl35
-rw-r--r--tests/aslts/src/runtime/collections/complex/badasl/badasl.asl248
-rw-r--r--tests/aslts/src/runtime/collections/complex/misc/MAIN.asl58
-rw-r--r--tests/aslts/src/runtime/collections/complex/misc/Makefile7
-rw-r--r--tests/aslts/src/runtime/collections/complex/misc/RUN.asl35
-rw-r--r--tests/aslts/src/runtime/collections/complex/misc/misc.asl1324
-rw-r--r--tests/aslts/src/runtime/collections/complex/namespace/DECL.asl47
-rw-r--r--tests/aslts/src/runtime/collections/complex/namespace/MAIN.asl62
-rw-r--r--tests/aslts/src/runtime/collections/complex/namespace/Makefile7
-rw-r--r--tests/aslts/src/runtime/collections/complex/namespace/RUN.asl61
-rw-r--r--tests/aslts/src/runtime/collections/complex/namespace/fullpath.asl115
-rw-r--r--tests/aslts/src/runtime/collections/complex/namespace/ns0.asl379
-rw-r--r--tests/aslts/src/runtime/collections/complex/namespace/ns0_root.asl374
-rw-r--r--tests/aslts/src/runtime/collections/complex/namespace/ns1.asl737
-rw-r--r--tests/aslts/src/runtime/collections/complex/namespace/ns2.asl163
-rw-r--r--tests/aslts/src/runtime/collections/complex/namespace/ns2_root.asl221
-rw-r--r--tests/aslts/src/runtime/collections/complex/namespace/ns3.asl978
-rw-r--r--tests/aslts/src/runtime/collections/complex/namespace/ns4.asl129
-rw-r--r--tests/aslts/src/runtime/collections/complex/namespace/ns5.asl327
-rw-r--r--tests/aslts/src/runtime/collections/complex/namespace/ns6.asl64
-rw-r--r--tests/aslts/src/runtime/collections/complex/namespace/ns7.asl3
-rw-r--r--tests/aslts/src/runtime/collections/complex/namespace/scope.asl60
-rw-r--r--tests/aslts/src/runtime/collections/complex/operand/Makefile6
-rw-r--r--tests/aslts/src/runtime/collections/complex/operand/common/ocommon.asl1998
-rw-r--r--tests/aslts/src/runtime/collections/complex/operand/tests/FULL/DECL.asl44
-rw-r--r--tests/aslts/src/runtime/collections/complex/operand/tests/FULL/MAIN.asl61
-rw-r--r--tests/aslts/src/runtime/collections/complex/operand/tests/FULL/RUN.asl42
-rw-r--r--tests/aslts/src/runtime/collections/complex/operand/tests/Makefile18
-rw-r--r--tests/aslts/src/runtime/collections/complex/operand/tests/SPEC177
-rw-r--r--tests/aslts/src/runtime/collections/complex/operand/tests/oarg/MAIN.asl58
-rw-r--r--tests/aslts/src/runtime/collections/complex/operand/tests/oarg/Makefile7
-rw-r--r--tests/aslts/src/runtime/collections/complex/operand/tests/oarg/RUN.asl35
-rw-r--r--tests/aslts/src/runtime/collections/complex/operand/tests/oarg/oarg.asl25242
-rw-r--r--tests/aslts/src/runtime/collections/complex/operand/tests/oconst/MAIN.asl58
-rw-r--r--tests/aslts/src/runtime/collections/complex/operand/tests/oconst/Makefile7
-rw-r--r--tests/aslts/src/runtime/collections/complex/operand/tests/oconst/RUN.asl35
-rw-r--r--tests/aslts/src/runtime/collections/complex/operand/tests/oconst/oconst.asl27006
-rw-r--r--tests/aslts/src/runtime/collections/complex/operand/tests/oconversion/MAIN.asl60
-rw-r--r--tests/aslts/src/runtime/collections/complex/operand/tests/oconversion/Makefile7
-rw-r--r--tests/aslts/src/runtime/collections/complex/operand/tests/oconversion/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/complex/operand/tests/oconversion/oconversion.asl44
-rw-r--r--tests/aslts/src/runtime/collections/complex/operand/tests/olocal/MAIN.asl58
-rw-r--r--tests/aslts/src/runtime/collections/complex/operand/tests/olocal/Makefile7
-rw-r--r--tests/aslts/src/runtime/collections/complex/operand/tests/olocal/RUN.asl35
-rw-r--r--tests/aslts/src/runtime/collections/complex/operand/tests/olocal/olocal.asl25622
-rw-r--r--tests/aslts/src/runtime/collections/complex/operand/tests/onamedglob/MAIN.asl59
-rw-r--r--tests/aslts/src/runtime/collections/complex/operand/tests/onamedglob/Makefile7
-rw-r--r--tests/aslts/src/runtime/collections/complex/operand/tests/onamedglob/RUN.asl35
-rw-r--r--tests/aslts/src/runtime/collections/complex/operand/tests/onamedglob/onamedglob1.asl25190
-rw-r--r--tests/aslts/src/runtime/collections/complex/operand/tests/onamedglob/onamedglob2.asl12432
-rw-r--r--tests/aslts/src/runtime/collections/complex/operand/tests/onamedloc/MAIN.asl59
-rw-r--r--tests/aslts/src/runtime/collections/complex/operand/tests/onamedloc/Makefile7
-rw-r--r--tests/aslts/src/runtime/collections/complex/operand/tests/onamedloc/RUN.asl35
-rw-r--r--tests/aslts/src/runtime/collections/complex/operand/tests/onamedloc/onamedloc1.asl25630
-rw-r--r--tests/aslts/src/runtime/collections/complex/operand/tests/onamedloc/onamedloc2.asl12710
-rw-r--r--tests/aslts/src/runtime/collections/complex/operand/tests/opackageel/MAIN.asl58
-rw-r--r--tests/aslts/src/runtime/collections/complex/operand/tests/opackageel/Makefile7
-rw-r--r--tests/aslts/src/runtime/collections/complex/operand/tests/opackageel/RUN.asl35
-rw-r--r--tests/aslts/src/runtime/collections/complex/operand/tests/opackageel/opackageel.asl25199
-rw-r--r--tests/aslts/src/runtime/collections/complex/operand/tests/oreftonamed/MAIN.asl59
-rw-r--r--tests/aslts/src/runtime/collections/complex/operand/tests/oreftonamed/Makefile7
-rw-r--r--tests/aslts/src/runtime/collections/complex/operand/tests/oreftonamed/RUN.asl35
-rw-r--r--tests/aslts/src/runtime/collections/complex/operand/tests/oreftonamed/oreftonamed1.asl25200
-rw-r--r--tests/aslts/src/runtime/collections/complex/operand/tests/oreftonamed/oreftonamed2.asl12418
-rw-r--r--tests/aslts/src/runtime/collections/complex/operand/tests/oreftopackageel/MAIN.asl58
-rw-r--r--tests/aslts/src/runtime/collections/complex/operand/tests/oreftopackageel/Makefile7
-rw-r--r--tests/aslts/src/runtime/collections/complex/operand/tests/oreftopackageel/RUN.asl35
-rw-r--r--tests/aslts/src/runtime/collections/complex/operand/tests/oreftopackageel/oreftopackageel.asl25202
-rw-r--r--tests/aslts/src/runtime/collections/complex/operand/tests/oreturn/MAIN.asl58
-rw-r--r--tests/aslts/src/runtime/collections/complex/operand/tests/oreturn/Makefile7
-rw-r--r--tests/aslts/src/runtime/collections/complex/operand/tests/oreturn/RUN.asl35
-rw-r--r--tests/aslts/src/runtime/collections/complex/operand/tests/oreturn/oreturn.asl25200
-rw-r--r--tests/aslts/src/runtime/collections/complex/provoke/MAIN.asl58
-rw-r--r--tests/aslts/src/runtime/collections/complex/provoke/Makefile7
-rw-r--r--tests/aslts/src/runtime/collections/complex/provoke/RUN.asl35
-rw-r--r--tests/aslts/src/runtime/collections/complex/provoke/provoke.asl136
-rw-r--r--tests/aslts/src/runtime/collections/complex/result/Makefile6
-rw-r--r--tests/aslts/src/runtime/collections/complex/result/common/rcommon.asl4494
-rw-r--r--tests/aslts/src/runtime/collections/complex/result/tests/FULL/DECL.asl37
-rw-r--r--tests/aslts/src/runtime/collections/complex/result/tests/FULL/MAIN.asl61
-rw-r--r--tests/aslts/src/runtime/collections/complex/result/tests/FULL/RUN.asl38
-rw-r--r--tests/aslts/src/runtime/collections/complex/result/tests/Makefile14
-rw-r--r--tests/aslts/src/runtime/collections/complex/result/tests/SPEC477
-rw-r--r--tests/aslts/src/runtime/collections/complex/result/tests/rconversion/MAIN.asl60
-rw-r--r--tests/aslts/src/runtime/collections/complex/result/tests/rconversion/Makefile7
-rw-r--r--tests/aslts/src/runtime/collections/complex/result/tests/rconversion/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/complex/result/tests/rconversion/rconversion.asl44
-rw-r--r--tests/aslts/src/runtime/collections/complex/result/tests/rcopyobject/MAIN.asl58
-rw-r--r--tests/aslts/src/runtime/collections/complex/result/tests/rcopyobject/Makefile7
-rw-r--r--tests/aslts/src/runtime/collections/complex/result/tests/rcopyobject/RUN.asl35
-rw-r--r--tests/aslts/src/runtime/collections/complex/result/tests/rcopyobject/rcopyobject.asl45
-rw-r--r--tests/aslts/src/runtime/collections/complex/result/tests/rexplicitconv/MAIN.asl58
-rw-r--r--tests/aslts/src/runtime/collections/complex/result/tests/rexplicitconv/Makefile7
-rw-r--r--tests/aslts/src/runtime/collections/complex/result/tests/rexplicitconv/RUN.asl35
-rw-r--r--tests/aslts/src/runtime/collections/complex/result/tests/rexplicitconv/rexplicitconv.asl1402
-rw-r--r--tests/aslts/src/runtime/collections/complex/result/tests/rindecrement/MAIN.asl58
-rw-r--r--tests/aslts/src/runtime/collections/complex/result/tests/rindecrement/Makefile7
-rw-r--r--tests/aslts/src/runtime/collections/complex/result/tests/rindecrement/RUN.asl35
-rw-r--r--tests/aslts/src/runtime/collections/complex/result/tests/rindecrement/rindecrement.asl823
-rw-r--r--tests/aslts/src/runtime/collections/complex/result/tests/roptional/MAIN.asl58
-rw-r--r--tests/aslts/src/runtime/collections/complex/result/tests/roptional/Makefile7
-rw-r--r--tests/aslts/src/runtime/collections/complex/result/tests/roptional/RUN.asl35
-rw-r--r--tests/aslts/src/runtime/collections/complex/result/tests/roptional/roptional.asl2363
-rw-r--r--tests/aslts/src/runtime/collections/complex/result/tests/rstore/MAIN.asl58
-rw-r--r--tests/aslts/src/runtime/collections/complex/result/tests/rstore/Makefile7
-rw-r--r--tests/aslts/src/runtime/collections/complex/result/tests/rstore/RUN.asl35
-rw-r--r--tests/aslts/src/runtime/collections/complex/result/tests/rstore/rstore.asl3961
-rw-r--r--tests/aslts/src/runtime/collections/exceptions/FULL/DECL.asl59
-rw-r--r--tests/aslts/src/runtime/collections/exceptions/FULL/MAIN.asl65
-rw-r--r--tests/aslts/src/runtime/collections/exceptions/FULL/RUN.asl39
-rw-r--r--tests/aslts/src/runtime/collections/exceptions/Makefile13
-rw-r--r--tests/aslts/src/runtime/collections/exceptions/README30
-rw-r--r--tests/aslts/src/runtime/collections/exceptions/exc/MAIN.asl62
-rw-r--r--tests/aslts/src/runtime/collections/exceptions/exc/Makefile7
-rw-r--r--tests/aslts/src/runtime/collections/exceptions/exc/RUN.asl35
-rw-r--r--tests/aslts/src/runtime/collections/exceptions/exc/exc.asl1549
-rw-r--r--tests/aslts/src/runtime/collections/exceptions/exc_operand/FULL/MAIN.asl78
-rw-r--r--tests/aslts/src/runtime/collections/exceptions/exc_operand/Makefile10
-rw-r--r--tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand1/MAIN.asl61
-rw-r--r--tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand1/Makefile7
-rw-r--r--tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand1/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand1/exc_operand1.asl44
-rw-r--r--tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/MAIN.asl73
-rw-r--r--tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/Makefile7
-rw-r--r--tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/RUN.asl35
-rw-r--r--tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_00_undef.asl2343
-rw-r--r--tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_01_int.asl510
-rw-r--r--tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_02_str.asl510
-rw-r--r--tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_03_buf.asl400
-rw-r--r--tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_04_pckg.asl3566
-rw-r--r--tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_05_funit.asl294
-rw-r--r--tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_06_dev.asl1676
-rw-r--r--tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_07_event.asl1678
-rw-r--r--tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_08_method.asl1678
-rw-r--r--tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_09_mux.asl1678
-rw-r--r--tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_10_oreg.asl1668
-rw-r--r--tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_11_pwr.asl1678
-rw-r--r--tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_12_proc.asl1678
-rw-r--r--tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_13_tzone.asl1680
-rw-r--r--tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_14_bfield.asl290
-rw-r--r--tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_operand2.asl96
-rw-r--r--tests/aslts/src/runtime/collections/exceptions/exc_ref/MAIN.asl63
-rw-r--r--tests/aslts/src/runtime/collections/exceptions/exc_ref/Makefile7
-rw-r--r--tests/aslts/src/runtime/collections/exceptions/exc_ref/RUN.asl35
-rw-r--r--tests/aslts/src/runtime/collections/exceptions/exc_result/Makefile10
-rw-r--r--tests/aslts/src/runtime/collections/exceptions/exc_result/exc_result1/MAIN.asl60
-rw-r--r--tests/aslts/src/runtime/collections/exceptions/exc_result/exc_result1/Makefile7
-rw-r--r--tests/aslts/src/runtime/collections/exceptions/exc_result/exc_result1/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/exceptions/exc_result/exc_result1/exc_result1.asl44
-rw-r--r--tests/aslts/src/runtime/collections/exceptions/exc_result/exc_result2/MAIN.asl61
-rw-r--r--tests/aslts/src/runtime/collections/exceptions/exc_result/exc_result2/Makefile7
-rw-r--r--tests/aslts/src/runtime/collections/exceptions/exc_result/exc_result2/RUN.asl35
-rw-r--r--tests/aslts/src/runtime/collections/exceptions/exc_result/exc_result2/exc_result2.asl76
-rw-r--r--tests/aslts/src/runtime/collections/exceptions/exc_tbl/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/exceptions/exc_tbl/Makefile7
-rw-r--r--tests/aslts/src/runtime/collections/exceptions/exc_tbl/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/functional/FULL/DECL.asl44
-rw-r--r--tests/aslts/src/runtime/collections/functional/FULL/MAIN.asl67
-rw-r--r--tests/aslts/src/runtime/collections/functional/FULL/RUN.asl44
-rw-r--r--tests/aslts/src/runtime/collections/functional/Makefile20
-rw-r--r--tests/aslts/src/runtime/collections/functional/README32
-rw-r--r--tests/aslts/src/runtime/collections/functional/arithmetic/DECL.asl32
-rw-r--r--tests/aslts/src/runtime/collections/functional/arithmetic/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/functional/arithmetic/Makefile7
-rw-r--r--tests/aslts/src/runtime/collections/functional/arithmetic/RUN.asl68
-rw-r--r--tests/aslts/src/runtime/collections/functional/arithmetic/arithmetic.asl1512
-rw-r--r--tests/aslts/src/runtime/collections/functional/bfield/DECL.asl32
-rw-r--r--tests/aslts/src/runtime/collections/functional/bfield/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/functional/bfield/Makefile7
-rw-r--r--tests/aslts/src/runtime/collections/functional/bfield/RUN.asl35
-rw-r--r--tests/aslts/src/runtime/collections/functional/bfield/crbuffield.asl1811
-rw-r--r--tests/aslts/src/runtime/collections/functional/constant/DECL.asl32
-rw-r--r--tests/aslts/src/runtime/collections/functional/constant/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/functional/constant/Makefile7
-rw-r--r--tests/aslts/src/runtime/collections/functional/constant/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/functional/constant/constants.asl71
-rw-r--r--tests/aslts/src/runtime/collections/functional/control/DECL.asl54
-rw-r--r--tests/aslts/src/runtime/collections/functional/control/ImplicitReturn/DECL.asl33
-rw-r--r--tests/aslts/src/runtime/collections/functional/control/ImplicitReturn/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/functional/control/ImplicitReturn/RUN.asl50
-rw-r--r--tests/aslts/src/runtime/collections/functional/control/ImplicitReturn/add.asl781
-rw-r--r--tests/aslts/src/runtime/collections/functional/control/ImplicitReturn/standaloneret.asl375
-rw-r--r--tests/aslts/src/runtime/collections/functional/control/ImplicitReturn/store.asl1347
-rw-r--r--tests/aslts/src/runtime/collections/functional/control/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/functional/control/Makefile7
-rw-r--r--tests/aslts/src/runtime/collections/functional/control/RUN.asl90
-rw-r--r--tests/aslts/src/runtime/collections/functional/control/Recursion/recursion.asl2421
-rw-r--r--tests/aslts/src/runtime/collections/functional/control/Recursion/stack_overflow.asl457
-rw-r--r--tests/aslts/src/runtime/collections/functional/control/Return/DECL.asl31
-rw-r--r--tests/aslts/src/runtime/collections/functional/control/Return/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/functional/control/Return/RUN.asl34
-rw-r--r--tests/aslts/src/runtime/collections/functional/control/Return/return.asl810
-rw-r--r--tests/aslts/src/runtime/collections/functional/control/ctl0.asl173
-rw-r--r--tests/aslts/src/runtime/collections/functional/control/ctl1.asl2061
-rw-r--r--tests/aslts/src/runtime/collections/functional/control/ctl2.asl814
-rw-r--r--tests/aslts/src/runtime/collections/functional/control/switch1.asl629
-rw-r--r--tests/aslts/src/runtime/collections/functional/control/switch2.asl1640
-rw-r--r--tests/aslts/src/runtime/collections/functional/control/switch3.asl939
-rw-r--r--tests/aslts/src/runtime/collections/functional/control/switch4.asl1272
-rw-r--r--tests/aslts/src/runtime/collections/functional/control/switch5.asl1037
-rw-r--r--tests/aslts/src/runtime/collections/functional/control/switch6.asl745
-rw-r--r--tests/aslts/src/runtime/collections/functional/control/timing.asl800
-rw-r--r--tests/aslts/src/runtime/collections/functional/control/while.asl5802
-rw-r--r--tests/aslts/src/runtime/collections/functional/copyobject/DECL.asl31
-rw-r--r--tests/aslts/src/runtime/collections/functional/descriptor/DECL.asl66
-rw-r--r--tests/aslts/src/runtime/collections/functional/descriptor/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/functional/descriptor/Makefile7
-rw-r--r--tests/aslts/src/runtime/collections/functional/descriptor/RUN.asl90
-rw-r--r--tests/aslts/src/runtime/collections/functional/descriptor/concatenaterestemplate.asl1005
-rw-r--r--tests/aslts/src/runtime/collections/functional/descriptor/dependentfn.asl179
-rw-r--r--tests/aslts/src/runtime/collections/functional/descriptor/dma.asl199
-rw-r--r--tests/aslts/src/runtime/collections/functional/descriptor/dwordio.asl530
-rw-r--r--tests/aslts/src/runtime/collections/functional/descriptor/dwordmemory.asl1037
-rw-r--r--tests/aslts/src/runtime/collections/functional/descriptor/dwordspace.asl437
-rw-r--r--tests/aslts/src/runtime/collections/functional/descriptor/extendedio.asl652
-rw-r--r--tests/aslts/src/runtime/collections/functional/descriptor/extendedmemory.asl1330
-rw-r--r--tests/aslts/src/runtime/collections/functional/descriptor/extendedspace.asl481
-rw-r--r--tests/aslts/src/runtime/collections/functional/descriptor/fixedio.asl81
-rw-r--r--tests/aslts/src/runtime/collections/functional/descriptor/interrupt.asl589
-rw-r--r--tests/aslts/src/runtime/collections/functional/descriptor/io.asl100
-rw-r--r--tests/aslts/src/runtime/collections/functional/descriptor/irq.asl155
-rw-r--r--tests/aslts/src/runtime/collections/functional/descriptor/irqnoflags.asl135
-rw-r--r--tests/aslts/src/runtime/collections/functional/descriptor/memory24.asl114
-rw-r--r--tests/aslts/src/runtime/collections/functional/descriptor/memory32.asl112
-rw-r--r--tests/aslts/src/runtime/collections/functional/descriptor/memory32fixed.asl99
-rw-r--r--tests/aslts/src/runtime/collections/functional/descriptor/qwordio.asl699
-rw-r--r--tests/aslts/src/runtime/collections/functional/descriptor/qwordmemory.asl1326
-rw-r--r--tests/aslts/src/runtime/collections/functional/descriptor/qwordspace.asl541
-rw-r--r--tests/aslts/src/runtime/collections/functional/descriptor/register.asl180
-rw-r--r--tests/aslts/src/runtime/collections/functional/descriptor/resourcetemplate.asl2925
-rw-r--r--tests/aslts/src/runtime/collections/functional/descriptor/rtemplate.asl166
-rw-r--r--tests/aslts/src/runtime/collections/functional/descriptor/vendorlong.asl168
-rw-r--r--tests/aslts/src/runtime/collections/functional/descriptor/vendorshort.asl93
-rw-r--r--tests/aslts/src/runtime/collections/functional/descriptor/wordbusnumber.asl353
-rw-r--r--tests/aslts/src/runtime/collections/functional/descriptor/wordio.asl483
-rw-r--r--tests/aslts/src/runtime/collections/functional/descriptor/wordspace.asl373
-rw-r--r--tests/aslts/src/runtime/collections/functional/local/DECL.asl32
-rw-r--r--tests/aslts/src/runtime/collections/functional/local/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/functional/local/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/functional/local/local.asl151
-rw-r--r--tests/aslts/src/runtime/collections/functional/logic/DECL.asl32
-rw-r--r--tests/aslts/src/runtime/collections/functional/logic/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/functional/logic/Makefile7
-rw-r--r--tests/aslts/src/runtime/collections/functional/logic/RUN.asl35
-rw-r--r--tests/aslts/src/runtime/collections/functional/logic/logical.asl930
-rw-r--r--tests/aslts/src/runtime/collections/functional/manipulation/DECL.asl48
-rw-r--r--tests/aslts/src/runtime/collections/functional/manipulation/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/functional/manipulation/Makefile7
-rw-r--r--tests/aslts/src/runtime/collections/functional/manipulation/RUN.asl66
-rw-r--r--tests/aslts/src/runtime/collections/functional/manipulation/concatenate.asl368
-rw-r--r--tests/aslts/src/runtime/collections/functional/manipulation/eisaid.asl75
-rw-r--r--tests/aslts/src/runtime/collections/functional/manipulation/match1.asl961
-rw-r--r--tests/aslts/src/runtime/collections/functional/manipulation/match2.asl446
-rw-r--r--tests/aslts/src/runtime/collections/functional/manipulation/mid.asl294
-rw-r--r--tests/aslts/src/runtime/collections/functional/manipulation/objecttype.asl1043
-rw-r--r--tests/aslts/src/runtime/collections/functional/manipulation/sizeof.asl82
-rw-r--r--tests/aslts/src/runtime/collections/functional/manipulation/store.asl513
-rw-r--r--tests/aslts/src/runtime/collections/functional/manipulation/tobuffer.asl262
-rw-r--r--tests/aslts/src/runtime/collections/functional/manipulation/todecimalstring.asl210
-rw-r--r--tests/aslts/src/runtime/collections/functional/manipulation/tofrombcd.asl133
-rw-r--r--tests/aslts/src/runtime/collections/functional/manipulation/tohexstring.asl199
-rw-r--r--tests/aslts/src/runtime/collections/functional/manipulation/tointeger.asl422
-rw-r--r--tests/aslts/src/runtime/collections/functional/manipulation/tostring.asl316
-rw-r--r--tests/aslts/src/runtime/collections/functional/manipulation/touuid.asl61
-rw-r--r--tests/aslts/src/runtime/collections/functional/manipulation/unicode.asl103
-rw-r--r--tests/aslts/src/runtime/collections/functional/name/DECL.asl37
-rw-r--r--tests/aslts/src/runtime/collections/functional/name/MAIN.asl59
-rw-r--r--tests/aslts/src/runtime/collections/functional/name/Makefile7
-rw-r--r--tests/aslts/src/runtime/collections/functional/name/RUN.asl47
-rw-r--r--tests/aslts/src/runtime/collections/functional/name/function.asl564
-rw-r--r--tests/aslts/src/runtime/collections/functional/name/method.asl1092
-rw-r--r--tests/aslts/src/runtime/collections/functional/name/name.asl62
-rw-r--r--tests/aslts/src/runtime/collections/functional/name/package.asl1380
-rw-r--r--tests/aslts/src/runtime/collections/functional/reference/DECL.asl43
-rw-r--r--tests/aslts/src/runtime/collections/functional/reference/MAIN.asl67
-rw-r--r--tests/aslts/src/runtime/collections/functional/reference/Makefile7
-rw-r--r--tests/aslts/src/runtime/collections/functional/reference/RUN.asl46
-rw-r--r--tests/aslts/src/runtime/collections/functional/reference/SPEC2191
-rw-r--r--tests/aslts/src/runtime/collections/functional/reference/TABLES493
-rw-r--r--tests/aslts/src/runtime/collections/functional/reference/ref00.asl510
-rw-r--r--tests/aslts/src/runtime/collections/functional/reference/ref01.asl6650
-rw-r--r--tests/aslts/src/runtime/collections/functional/reference/ref02.asl1872
-rw-r--r--tests/aslts/src/runtime/collections/functional/reference/ref03.asl1872
-rw-r--r--tests/aslts/src/runtime/collections/functional/reference/ref04.asl3556
-rw-r--r--tests/aslts/src/runtime/collections/functional/reference/ref05.asl3153
-rw-r--r--tests/aslts/src/runtime/collections/functional/reference/ref06.asl737
-rw-r--r--tests/aslts/src/runtime/collections/functional/reference/ref07.asl1462
-rw-r--r--tests/aslts/src/runtime/collections/functional/reference/ref50.asl5597
-rw-r--r--tests/aslts/src/runtime/collections/functional/reference/ref70.asl924
-rw-r--r--tests/aslts/src/runtime/collections/functional/reference/ref71.asl136
-rw-r--r--tests/aslts/src/runtime/collections/functional/region/DECL.asl36
-rw-r--r--tests/aslts/src/runtime/collections/functional/region/MAIN.asl58
-rw-r--r--tests/aslts/src/runtime/collections/functional/region/Makefile7
-rw-r--r--tests/aslts/src/runtime/collections/functional/region/RUN.asl39
-rw-r--r--tests/aslts/src/runtime/collections/functional/region/bankfield.asl11653
-rw-r--r--tests/aslts/src/runtime/collections/functional/region/dtregions.asl391
-rw-r--r--tests/aslts/src/runtime/collections/functional/region/indexfield.asl10440
-rw-r--r--tests/aslts/src/runtime/collections/functional/region/opregions.asl1001
-rw-r--r--tests/aslts/src/runtime/collections/functional/region/regionfield.asl24086
-rw-r--r--tests/aslts/src/runtime/collections/functional/synchronization/DECL.asl36
-rw-r--r--tests/aslts/src/runtime/collections/functional/synchronization/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/functional/synchronization/Makefile7
-rw-r--r--tests/aslts/src/runtime/collections/functional/synchronization/RUN.asl38
-rw-r--r--tests/aslts/src/runtime/collections/functional/synchronization/SPEC160
-rw-r--r--tests/aslts/src/runtime/collections/functional/synchronization/event.asl269
-rw-r--r--tests/aslts/src/runtime/collections/functional/synchronization/mutex.asl747
-rw-r--r--tests/aslts/src/runtime/collections/functional/synchronization/mutex2.asl2309
-rw-r--r--tests/aslts/src/runtime/collections/functional/synchronization/mutex_proc.asl750
-rw-r--r--tests/aslts/src/runtime/collections/functional/synchronization/serialized.asl1323
-rw-r--r--tests/aslts/src/runtime/collections/functional/table/DECL.asl33
-rw-r--r--tests/aslts/src/runtime/collections/functional/table/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/functional/table/Makefile7
-rw-r--r--tests/aslts/src/runtime/collections/functional/table/RUN.asl36
-rw-r--r--tests/aslts/src/runtime/collections/functional/table/load.asl2233
-rw-r--r--tests/aslts/src/runtime/collections/functional/table/loadtable.asl2322
-rw-r--r--tests/aslts/src/runtime/collections/functional/table/oem1.asl50
-rw-r--r--tests/aslts/src/runtime/collections/functional/table/ssdt0.asl49
-rw-r--r--tests/aslts/src/runtime/collections/functional/table/ssdt1.asl51
-rw-r--r--tests/aslts/src/runtime/collections/functional/table/ssdt2.asl94
-rw-r--r--tests/aslts/src/runtime/collections/functional/table/ssdt3.asl94
-rw-r--r--tests/aslts/src/runtime/collections/functional/table/ssdt4.asl48
-rw-r--r--tests/aslts/src/runtime/collections/functional/table/unload.asl700
-rw-r--r--tests/aslts/src/runtime/collections/mt/Makefile6
-rw-r--r--tests/aslts/src/runtime/collections/mt/README9
-rw-r--r--tests/aslts/src/runtime/collections/mt/mutex/MAIN.asl95
-rw-r--r--tests/aslts/src/runtime/collections/mt/mutex/Makefile7
-rw-r--r--tests/aslts/src/runtime/collections/mt/mutex/RUN.asl44
-rw-r--r--tests/aslts/src/runtime/collections/mt/mutex/SPEC532
-rw-r--r--tests/aslts/src/runtime/collections/mt/mutex/common.asl1249
-rw-r--r--tests/aslts/src/runtime/collections/mt/mutex/example0.asl118
-rw-r--r--tests/aslts/src/runtime/collections/mt/mutex/mt_access.asl231
-rw-r--r--tests/aslts/src/runtime/collections/mt/mutex/mutex.asl1070
-rw-r--r--tests/aslts/src/runtime/collections/mt/mutex/mxs.asl1242
-rw-r--r--tests/aslts/src/runtime/collections/mt/mutex/service.asl614
-rw-r--r--tests/aslts/src/runtime/collections/mt/mutex/slave_thr.asl399
-rw-r--r--tests/aslts/src/runtime/collections/mt/mutex/tests.asl2442
-rw-r--r--tests/aslts/src/runtime/collections/service/Makefile7
-rw-r--r--tests/aslts/src/runtime/collections/service/README15
-rw-r--r--tests/aslts/src/runtime/collections/service/condbranches/DECL.asl32
-rw-r--r--tests/aslts/src/runtime/collections/service/condbranches/MAIN.asl57
-rw-r--r--tests/aslts/src/runtime/collections/service/condbranches/Makefile7
-rw-r--r--tests/aslts/src/runtime/collections/service/condbranches/RUN.asl35
-rw-r--r--tests/aslts/src/runtime/collections/service/condbranches/condbranches.asl206
1319 files changed, 585784 insertions, 0 deletions
diff --git a/tests/aslts/src/runtime/collections/FULL/FULL/MAIN.asl b/tests/aslts/src/runtime/collections/FULL/FULL/MAIN.asl
new file mode 100644
index 000000000..3c916944a
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/FULL/FULL/MAIN.asl
@@ -0,0 +1,83 @@
+/*
+ * 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.
+ */
+
+// Full test, all the collections together
+
+DefinitionBlock(
+ "full.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+
+ Include("../../../../runtime/cntl/DECL.asl")
+ Include("../../../../runtime/common/data.asl")
+ Include("../../../../runtime/common/dataproc.asl")
+ Include("../../../../runtime/common/datastproc.asl")
+
+ // Functional tests collection
+ Include("../../../../runtime/collections/functional/FULL/DECL.asl")
+
+ Include("../../../../runtime/common/conversion/oDECL.asl")
+ Include("../../../../runtime/common/conversion/rDECL.asl")
+
+ // Complex tests collection
+ Include("../../../../runtime/collections/complex/operand/common/ocommon.asl")
+ Include("../../../../runtime/collections/complex/FULL/DECL.asl")
+
+ // Exceptional conditions tests collection
+ Include("../../../../runtime/collections/exceptions/FULL/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(1)
+
+ // Run verification methods
+
+ // Run functional tests collection
+ Include("../../../../runtime/collections/functional/FULL/RUN.asl")
+
+ // Run complex tests collection
+ Include("../../../../runtime/collections/complex/FULL/RUN.asl")
+
+ // Run exceptional conditions tests collection
+ Include("../../../../runtime/collections/exceptions/FULL/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/IMPL/ACPICA/Makefile b/tests/aslts/src/runtime/collections/IMPL/ACPICA/Makefile
new file mode 100644
index 000000000..4c17890d0
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/IMPL/ACPICA/Makefile
@@ -0,0 +1,6 @@
+# ACPICA
+
+MDIRS= tests
+
+TOP= ../../../../..
+include $(TOP)/Makefile.switch
diff --git a/tests/aslts/src/runtime/collections/IMPL/ACPICA/README b/tests/aslts/src/runtime/collections/IMPL/ACPICA/README
new file mode 100644
index 000000000..e9ee24891
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/IMPL/ACPICA/README
@@ -0,0 +1,12 @@
+
+CONTENTS
+
+ the tests dependent on ACPICA internal features
+
+common
+
+ common data and methods of tests
+
+tests
+
+ the tests
diff --git a/tests/aslts/src/runtime/collections/IMPL/ACPICA/tests/Makefile b/tests/aslts/src/runtime/collections/IMPL/ACPICA/tests/Makefile
new file mode 100644
index 000000000..983ac69ae
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/IMPL/ACPICA/tests/Makefile
@@ -0,0 +1,6 @@
+# tests
+
+MDIRS= dynobj
+
+TOP= ../../../../../..
+include $(TOP)/Makefile.switch
diff --git a/tests/aslts/src/runtime/collections/IMPL/ACPICA/tests/README b/tests/aslts/src/runtime/collections/IMPL/ACPICA/tests/README
new file mode 100644
index 000000000..e242082bb
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/IMPL/ACPICA/tests/README
@@ -0,0 +1,22 @@
+
+CONTENTS
+
+ the tests dependent on ACPICA internal features
+
+
+dynobj
+
+ The ASL Dynamical Object support tests.
+ The tests reflects the current dynamic of using memory
+ during interpretation of different ASL expressions and
+ reports deviation (if any) from the expected structure
+ of memory to be consumed in that process.
+
+
+
+NOTE:
+
+ The test dynobj requires the Test Command Interface with
+ the ACPI implementation (_TCI) to be supported. In case,
+ _TCI is not supported, the test reports the message and
+ exits with PASS.
diff --git a/tests/aslts/src/runtime/collections/IMPL/ACPICA/tests/dynobj/MAIN.asl b/tests/aslts/src/runtime/collections/IMPL/ACPICA/tests/dynobj/MAIN.asl
new file mode 100644
index 000000000..b0aa51a89
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/IMPL/ACPICA/tests/dynobj/MAIN.asl
@@ -0,0 +1,63 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "dynobj.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../../runtime/cntl/DECL_6UP.asl")
+ Include("../../../../../../runtime/common/TCI/tcicmd.asl")
+ Include("../../../../../../runtime/collections/IMPL/ACPICA/tests/dynobj/dobdecl.asl")
+ Include("../../../../../../runtime/collections/IMPL/ACPICA/tests/dynobj/dobctl.asl")
+ Include("../../../../../../runtime/collections/IMPL/ACPICA/tests/dynobj/dobexec.asl")
+ Include("../../../../../../runtime/collections/IMPL/ACPICA/tests/dynobj/dobexceptions.asl")
+ Include("../../../../../../runtime/collections/IMPL/ACPICA/tests/dynobj/dobmisc.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+
+ Include("../../../../../../runtime/collections/IMPL/ACPICA/tests/dynobj/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/IMPL/ACPICA/tests/dynobj/Makefile b/tests/aslts/src/runtime/collections/IMPL/ACPICA/tests/dynobj/Makefile
new file mode 100644
index 000000000..d091229fd
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/IMPL/ACPICA/tests/dynobj/Makefile
@@ -0,0 +1,7 @@
+# dynobj
+
+AMLMOD= dynobj
+COLL= ../../../..
+
+TOP= $(COLL)/../../..
+include $(COLL)/Makefile.install
diff --git a/tests/aslts/src/runtime/collections/IMPL/ACPICA/tests/dynobj/RUN.asl b/tests/aslts/src/runtime/collections/IMPL/ACPICA/tests/dynobj/RUN.asl
new file mode 100644
index 000000000..32dcb87f2
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/IMPL/ACPICA/tests/dynobj/RUN.asl
@@ -0,0 +1,151 @@
+/*
+ * 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.
+ */
+
+/*
+ * The Dynamic Object Deletion complex test
+ *
+ * The complex test reflects the current dynamic of using the memory
+ * for ASL objects and will be reporting any change in this process.
+ * It is based on _TCI interface provided by ACPI implementation.
+ * In case, _TCI is not supported, the test is quit.
+ */
+
+// Run-method
+Method(DYN0)
+{
+ Name(ts, "DYN0")
+
+ Name(pp00, Package(1) {})
+ Name(pp0a, Package(1) {})
+
+ // Create and initialize the Memory Consumption Statistics Packages
+
+ Store(m3a0(c200), Local0) // _TCI-end statistics
+ Store(m3a0(c201), pp0a) // _TCI-begin statistics
+ Store(m3a0(0), Local1) // difference
+
+ Store("Check for the Test Command Interface with the ACPICA (_TCI) support", Debug)
+
+ if (LNot(m3a5())) {
+ Store("The Test Command Interface with the ACPICA (_TCI) is not supported", Debug)
+ Store("Test DYN0 skipped!", Debug)
+ return (1)
+ }
+
+ Store("Check that the Memory Consumption Statistics is handled properly", Debug)
+
+ // Check that the Memory Consumption Statistics
+ // is handled properly - the difference between
+ // two _TCI-end statistics and _TCI-begin statistics
+ // must be zero.
+
+ _TCI(c200, Local0)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ if (m3a4(Local0, pp0a, Local1, pp00, 0, 0, 185)) {
+ Store("the Memory Consumption Statistics is not properly handled", Debug)
+ Store("Test DYN0 skipped!", Debug)
+ return (1)
+ }
+
+ // Determine the flag of optimization
+
+ m3aa()
+
+ if (LEqual(FOPT, 1)) {
+ Store("Optimization is tuned on", Debug)
+ } elseif (LEqual(FOPT, 0)) {
+ Store("Optimization is tuned off", Debug)
+ Store("The tests are not yet adopted for this mode!", Debug)
+ Store("Test DYN0 skipped!", Debug)
+ return
+ } else {
+ Store("Test DYN0 skipped!", Debug)
+ return
+ }
+
+/*
+ * // Apply the same technique to the entire test.
+ *
+ * // ################################## Check all the test:
+ *
+ * // Packages for _TCI statistics
+ * Name(LLL0, Package(1) {})
+ * Name(LLL1, Package(1) {})
+ * Name(LLL2, Package(1) {})
+ *
+ * // Create and initialize the Memory Consumption Statistics Packages
+ *
+ * Store(m3a0(c200), LLL0) // _TCI-end statistics
+ * Store(m3a0(c201), LLL1) // _TCI-begin statistics
+ * Store(m3a0(0), LLL2) // difference
+ *
+ * _TCI(c200, LLL0)
+ * // ################################## Check all the test.
+ */
+
+ // Run the tests
+
+if (1) {
+ SRMT("dobexec-m370")
+ m370()
+ SRMT("dobexec-m371")
+ m371()
+ SRMT("dobctl-m372")
+ m372()
+ SRMT("dobdecl-m373")
+ m373()
+ // SRMT("dobexceptions-m374")
+ // m374()
+ // SRMT("dobmisc-m375")
+ // m375()
+} else {
+ SRMT("dobdecl-m373")
+ m373()
+}
+
+/*
+ * // ################################## Check all the test:
+ * _TCI(c201, LLL1)
+ * m3a3(LLL0, LLL1, LLL2)
+ * m3a4(LLL0, LLL1, LLL2, 0, 0, 0, 0xff1)
+ * // ################################## Check all the test.
+ */
+
+
+ return (0)
+}
+
+if (STTT("Dynamic Object Deletion implementation dependent test", TCLI, 0, W021)) {
+ SRMT("DYN0")
+ DYN0()
+}
+FTTT()
diff --git a/tests/aslts/src/runtime/collections/IMPL/ACPICA/tests/dynobj/TestResult.txt b/tests/aslts/src/runtime/collections/IMPL/ACPICA/tests/dynobj/TestResult.txt
new file mode 100644
index 000000000..4a466c63a
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/IMPL/ACPICA/tests/dynobj/TestResult.txt
@@ -0,0 +1,353 @@
+
+#REM "C:\Documents and Settings\vapodrez\My Documents\acpi\ACPICA\Acpi\libraries\acpiexec.exe" -s "dynobj.aml"
+
+#REM "C:\Documents and Settings\vapodrez\My Documents\acpi\ACPICA\Acpi\libraries\acpiexec.exe" -bMAIN -s "dynobj.aml"
+
+#REM "C:\Documents and Settings\vapodrez\My Documents\acpi\ACPICA\Acpi\libraries\acpiexec.exe" -bMAIN "dynobj.aml"
+
+#REM "C:\Documents and Settings\vapodrez\My Documents\acpi\ACPICA\Acpi\libraries\acpiexecdebug.exe" "dynobj.aml"
+
+#"C:\Documents and Settings\vapodrez\My Documents\acpi\ACPICA\Acpi\libraries\acpiexec.exe" "dynobj.aml"
+
+Intel ACPI Component Architecture
+AML Execution/Debug Utility version 20060608 [Jun 23 2006]
+
+ tbxface-0193 [22] LoadTables : ACPI Tables successfully acquired
+Parsing all Control Methods:
+Table [DSDT](id 0007) - 365 Objects with 0 Devices 70 Methods 0 Regions
+Parsing all Control Methods:
+Table [SSDT](id 0004) - 1 Objects with 0 Devices 1 Methods 0 Regions
+Parsing all Control Methods:
+Table [SSDT](id 0005) - 1 Objects with 0 Devices 1 Methods 0 Regions
+ACPI Namespace successfully loaded at root 00454320
+evgpeblk-1108 [7368] EvCreateGpeBlock : GPE 00 to 3F [_GPE] 8 regs on int 0x0
+evgpeblk-1108 [7368] EvCreateGpeBlock : GPE 60 to 77 [_GPE] 3 regs on int 0x0
+evgpeblk-1208 [7369] EvInitializeGpeBlock : Found 0 Wake, Enabled 0 Runtime GPEs in this block
+evgpeblk-1208 [7371] EvInitializeGpeBlock : Found 0 Wake, Enabled 0 Runtime GPEs in this block
+Completing Region/Field/Buffer/Package initialization:...........
+Initialized 0/0 Regions 0/0 Fields 0/0 Buffers 11/11 Packages (376 nodes)
+Initializing Device/Processor/Thermal objects by executing _INI methods:
+Executed 0 _INI methods requiring 0 _STA executions (examined 2 objects)
+- Executing \MAIN
+tbxfroot-0269 [13350] TbFindTable : Found table [DSDT]
+[ACPI Debug] String: [0x0B] "64-bit mode"
+[ACPI Debug] String: [0x42] "TEST (IMPL), Dynamic Object Deletion implementation dependent test"
+[ACPI Debug] String: [0x43] "Check for the Test Command Interface with the ACPICA (_TCI) support"
+[ACPI Debug] String: [0x40] "Check that the Memory Consumption Statistics is handled properly"
+[ACPI Debug] String: [0x18] "Optimization is tuned on"
+[ACPI Debug] String: [0x1C] ":CTST:IMPL:dynobj:DYN0:PASS:"
+[ACPI Debug] String: [0x05] "While"
+[ACPI Debug] String: [0x24] ":CTST:IMPL:dynobj:dobexec-m370:PASS:"
+[ACPI Debug] String: [0x07] "Acquire"
+[ACPI Debug] String: [0x03] "Add"
+[ACPI Debug] String: [0x03] "And"
+[ACPI Debug] String: [0x0B] "Concatenate"
+[ACPI Debug] String: [0x16] "ConcatenateResTemplate"
+[ACPI Debug] String: [0x0A] "CopyObject"
+[ACPI Debug] String: [0x09] "Decrement"
+[ACPI Debug] String: [0x07] "DerefOf"
+[ACPI Debug] String: [0x05] "Fatal"
+[ACPI Debug] String: [0x0E] "FindSetLeftBit"
+[ACPI Debug] String: [0x0F] "FindSetRightBit"
+[ACPI Debug] String: [0x07] "FromBCD"
+[ACPI Debug] String: [0x09] "Increment"
+[ACPI Debug] String: [0x05] "Index"
+[ACPI Debug] String: [0x04] "LAnd"
+[ACPI Debug] String: [0x06] "LEqual"
+[ACPI Debug] String: [0x08] "LGreater"
+[ACPI Debug] String: [0x05] "LLess"
+[ACPI Debug] String: [0x04] "LNot"
+[ACPI Debug] String: [0x03] "LOr"
+[ACPI Debug] String: [0x05] "Match"
+[ACPI Debug] String: [0x03] "Mid"
+[ACPI Debug] String: [0x03] "Mod"
+[ACPI Debug] String: [0x08] "Multiply"
+[ACPI Debug] String: [0x04] "NAnd"
+[ACPI Debug] String: [0x03] "NOr"
+[ACPI Debug] String: [0x03] "Not"
+[ACPI Debug] String: [0x0A] "ObjectType"
+[ACPI Debug] String: [0x02] "Or"
+[ACPI Debug] String: [0x05] "RefOf"
+[ACPI Debug] String: [0x07] "Release"
+[ACPI Debug] String: [0x05] "Reset"
+[ACPI Debug] String: [0x09] "ShiftLeft"
+[ACPI Debug] String: [0x0A] "ShiftRight"
+[ACPI Debug] String: [0x06] "Signal"
+[ACPI Debug] String: [0x06] "SizeOf"
+[ACPI Debug] String: [0x05] "Sleep"
+[ACPI Debug] String: [0x05] "Stall"
+[ACPI Debug] String: [0x08] "Subtract"
+[ACPI Debug] String: [0x05] "ToBCD"
+[ACPI Debug] String: [0x08] "ToBuffer"
+[ACPI Debug] String: [0x0F] "ToDecimalString"
+[ACPI Debug] String: [0x0B] "ToHexString"
+[ACPI Debug] String: [0x04] "Wait"
+[ACPI Debug] String: [0x03] "XOr"
+[ACPI Debug] String: [0x24] ":CTST:IMPL:dynobj:dobexec-m371:PASS:"
+[ACPI Debug] String: [0x16] "While, Continue, Break"
+[ACPI Debug] String: [0x10] "If, ElseIf, Else"
+[ACPI Debug] String: [0x06] "Method"
+[ACPI Debug] String: [0x04] "NoOp"
+[ACPI Debug] String: [0x23] ":CTST:IMPL:dynobj:dobctl-m372:PASS:"
+[ACPI Debug] String: [0x04] "Name"
+[ACPI Debug] String: [0x0B] "CreateField"
+[ACPI Debug] String: [0x03] "DMA"
+[ACPI Debug] String: [0x0F] "DataTableRegion"
+tbxfroot-0269 [134191441] TbFindTable : Found table [DSDT]
+[ACPI Debug] String: [0x05] "Event"
+[ACPI Debug] String: [0x05] "Mutex"
+[ACPI Debug] String: [0x24] ":CTST:IMPL:dynobj:dobdecl-m373:PASS:"
+ACPI Error (utmath-0239): Divide by zero [20060608]
+**** AcpiExec: Exception AE_AML_DIVIDE_BY_ZERO during execution of method [M000] Opcode [Divide] @4
+**** AcpiExec: Exception override, new status AE_OK
+Current name M000 and start name _ERR differ
+================= M000 <1> <<<< ERRORS! (summary scale 0x200000; cache 0x0, object 0x0) >>>>
+ All alloc/free : (all, cached, diff)
+ Point (1) : 925 - 948 == ffffffdd
+ Scope info : (AmlOpcodeOfScope, ArgReferencesCount, ReturnValue, ReturnUsed; decl, arg, ret)
+ : 10 0 0 0 0 1 0
+ Per cache list : (state, operand, psnode, psnode_ext)
+ Point (0) : 17f 19 641 a 2 (2021)
+ Correction : 0 0 0 0 0 (0)
+ Point (1) : 17f 15 63e 5 1 (2008)
+Per object type :
+ All : 0 43a 148 0 66 0 2 0 4b 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 7 0 0 0 0 0 (1598)
+ Declarations : 0 439 147 0 66 0 2 0 4b 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 (1588)
+ Arguments : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 (0)
+ Return : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 (0)
+ Result current : 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 7 0 0 0 0 0 (10)
+=================
+Current name M000 and start name _ERR differ
+================= M000 <2> <<<< ERRORS! (summary scale 0x280000; cache 0x0, object 0x40) >>>>
+ All alloc/free : (all, cached, diff)
+ Point (2) : 925 - 948 == ffffffdd
+ Scope info : (AmlOpcodeOfScope, ArgReferencesCount, ReturnValue, ReturnUsed; decl, arg, ret)
+ : 10 0 0 0 0 1 0
+ Per cache list : (state, operand, psnode, psnode_ext)
+ Point (0) : 17f 19 641 a 2 (2021)
+ Correction : 0 1 1 0 0 (2)
+ Point (2) : 17f 14 63e 5 1 (2007)
+Per object type :
+ Point (0) objs : 0 43c 149 0 66 0 2 0 4b 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 7 0 0 0 0 0 (1601)
+ All : 0 43a 148 0 66 0 2 0 4b 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 7 0 0 0 0 0 (1598)
+ Declarations : 0 439 147 0 66 0 2 0 4b 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 (1588)
+ Arguments : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 (0)
+ Return : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 (0)
+ Result current : 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 7 0 0 0 0 0 (10)
+ At point (0) : 0 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 7 0 0 0 0 0 (12)
+<<< ERRORS >>> : 0 40 40 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 (summary scale 0x40)
+=================
+Current name M000 and start name _ERR differ
+================= M000 <3> <<<< ERRORS! (summary scale 0x280000; cache 0x0, object 0x40) >>>>
+ All alloc/free : (all, cached, diff)
+ Point (3) : 924 - 948 == ffffffdc
+ Scope info : (AmlOpcodeOfScope, ArgReferencesCount, ReturnValue, ReturnUsed; decl, arg, ret)
+ : 10 0 0 0 0 1 0
+ Per cache list : (state, operand, psnode, psnode_ext)
+ Point (0) : 17f 19 641 a 2 (2021)
+ Correction : 0 0 1 0 0 (1)
+ Point (3) : 17f 13 63e 5 1 (2006)
+Per object type :
+ Point (0) objs : 0 43c 149 0 66 0 2 0 4b 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 7 0 0 0 0 0 (1601)
+ All : 0 43a 148 0 66 0 2 0 4b 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 7 0 0 0 0 0 (1598)
+ Declarations : 0 439 147 0 66 0 2 0 4b 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 (1588)
+ Arguments : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 (0)
+ Return : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 (0)
+ Result current : 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 7 0 0 0 0 0 (10)
+ At point (0) : 0 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 7 0 0 0 0 0 (12)
+<<< ERRORS >>> : 0 40 40 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 (summary scale 0x40)
+ IncrMemAllocs : -4
+IncrMemAllocsCh : 0
+=================
+Current name M374 and start name M000 differ
+================= M374 <1> <<<< ERRORS! (summary scale 0x200000; cache 0x0, object 0x0) >>>>
+ All alloc/free : (all, cached, diff)
+ Point (1) : 87f - 8a7 == ffffffd8
+ Scope info : (AmlOpcodeOfScope, ArgReferencesCount, ReturnValue, ReturnUsed; decl, arg, ret)
+ : a0 0 0 0 0 1 0
+ Per cache list : (state, operand, psnode, psnode_ext)
+ Point (0) : 17f 13 63f 5 1 (2007)
+ Correction : 0 0 0 0 0 (0)
+ Point (1) : 17c f 547 3 1 (1750)
+Per object type :
+ All : 0 349 146 0 63 0 2 0 4a 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 7 0 0 0 0 0 (1351)
+ Declarations : 0 348 145 0 63 0 2 0 4a 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 (1341)
+ Arguments : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 (0)
+ Return : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 (0)
+ Result current : 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 7 0 0 0 0 0 (10)
+=================
+Current name M374 and start name M000 differ
+================= M374 <2> <<<< ERRORS! (summary scale 0x200000; cache 0x0, object 0x0) >>>>
+ All alloc/free : (all, cached, diff)
+ Point (2) : 87e - 8a6 == ffffffd8
+ Scope info : (AmlOpcodeOfScope, ArgReferencesCount, ReturnValue, ReturnUsed; decl, arg, ret)
+ : a0 0 0 0 0 1 0
+ Per cache list : (state, operand, psnode, psnode_ext)
+ Point (0) : 17f 13 63f 5 1 (2007)
+ Correction : 0 1 1 0 0 (2)
+ Point (2) : 17c e 547 3 1 (1749)
+Per object type :
+ All : 0 349 146 0 63 0 2 0 4a 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 7 0 0 0 0 0 (1351)
+ Declarations : 0 348 145 0 63 0 2 0 4a 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 (1341)
+ Arguments : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 (0)
+ Return : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 (0)
+ Result current : 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 7 0 0 0 0 0 (10)
+=================
+Current name M374 and start name M000 differ
+================= M374 <3> <<<< ERRORS! (summary scale 0x200000; cache 0x0, object 0x0) >>>>
+ All alloc/free : (all, cached, diff)
+ Point (3) : 87c - 8a5 == ffffffd7
+ Scope info : (AmlOpcodeOfScope, ArgReferencesCount, ReturnValue, ReturnUsed; decl, arg, ret)
+ : a0 0 0 0 0 1 0
+ Per cache list : (state, operand, psnode, psnode_ext)
+ Point (0) : 17f 13 63f 5 1 (2007)
+ Correction : 0 0 1 0 0 (1)
+ Point (3) : 17c d 547 3 1 (1748)
+Per object type :
+ All : 0 349 146 0 63 0 2 0 4a 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 7 0 0 0 0 0 (1351)
+ Declarations : 0 348 145 0 63 0 2 0 4a 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 (1341)
+ Arguments : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 (0)
+ Return : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 (0)
+ Result current : 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 7 0 0 0 0 0 (10)
+ IncrMemAllocs : -298
+IncrMemAllocsCh : -294
+=================
+Current name DYN0 and start name M374 differ
+================= DYN0 <1> <<<< ERRORS! (summary scale 0x200000; cache 0x0, object 0x0) >>>>
+ All alloc/free : (all, cached, diff)
+ Point (1) : 6e6 - 713 == ffffffd3
+ Scope info : (AmlOpcodeOfScope, ArgReferencesCount, ReturnValue, ReturnUsed; decl, arg, ret)
+ : a0 0 1 0 0 0 0
+ Per cache list : (state, operand, psnode, psnode_ext)
+ Point (0) : 17c d 547 3 1 (1748)
+ Correction : 0 0 0 0 0 (0)
+ Point (1) : 179 a 3b8 1 1 (1341)
+Per object type :
+ All : 0 1bf 145 0 5f 0 2 0 4a 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 7 0 0 0 0 0 (952)
+ Declarations : 0 1be 144 0 5f 0 2 0 4a 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 (942)
+ Arguments : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 (0)
+ Return : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 (0)
+ Result current : 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 7 0 0 0 0 0 (10)
+=================
+Current name DYN0 and start name M374 differ
+================= DYN0 <2> <<<< ERRORS! (summary scale 0x200000; cache 0x0, object 0x0) >>>>
+ All alloc/free : (all, cached, diff)
+ Point (2) : 6e4 - 711 == ffffffd3
+ Scope info : (AmlOpcodeOfScope, ArgReferencesCount, ReturnValue, ReturnUsed; decl, arg, ret)
+ : a0 0 1 0 0 0 0
+ Per cache list : (state, operand, psnode, psnode_ext)
+ Point (0) : 17c d 547 3 1 (1748)
+ Correction : 0 2 0 0 0 (2)
+ Point (2) : 179 9 3b7 1 1 (1339)
+Per object type :
+ All : 0 1be 145 0 5f 0 2 0 4a 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 7 0 0 0 0 0 (951)
+ Declarations : 0 1bd 144 0 5f 0 2 0 4a 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 (941)
+ Arguments : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 (0)
+ Return : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 (0)
+ Result current : 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 7 0 0 0 0 0 (10)
+=================
+Current name DYN0 and start name M374 differ
+================= DYN0 <3> <<<< ERRORS! (summary scale 0x200000; cache 0x0, object 0x0) >>>>
+ All alloc/free : (all, cached, diff)
+ Point (3) : 6e1 - 70f == ffffffd2
+ Scope info : (AmlOpcodeOfScope, ArgReferencesCount, ReturnValue, ReturnUsed; decl, arg, ret)
+ : a0 0 1 0 0 0 0
+ Per cache list : (state, operand, psnode, psnode_ext)
+ Point (0) : 17c d 547 3 1 (1748)
+ Correction : 0 0 0 0 0 (0)
+ Point (3) : 179 7 3b7 1 1 (1337)
+Per object type :
+ All : 0 1be 145 0 5f 0 2 0 4a 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 7 0 0 0 0 0 (951)
+ Declarations : 0 1bd 144 0 5f 0 2 0 4a 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 (941)
+ Arguments : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 (0)
+ Return : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 (0)
+ Result current : 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 7 0 0 0 0 0 (10)
+ IncrMemAllocs : -411
+IncrMemAllocsCh : -406
+=================
+[ACPI Debug] String: [0x2A] ":CTST:IMPL:dynobj:dobexceptions-m374:PASS:"
+[ACPI Debug] String: [0x29] "Run time (in seconds): 0x00000000000001C6"
+[ACPI Debug] String: [0x38] "The total number of exceptions handled: 0000000000000001"
+[ACPI Debug] String: [0x29] "========= ROOT METHODS SUMMARY (max 600):"
+[ACPI Debug] String: [0x1C] ":STST:IMPL:dynobj:DYN0:PASS:"
+[ACPI Debug] String: [0x24] ":STST:IMPL:dynobj:dobexec-m370:PASS:"
+[ACPI Debug] String: [0x24] ":STST:IMPL:dynobj:dobexec-m371:PASS:"
+[ACPI Debug] String: [0x23] ":STST:IMPL:dynobj:dobctl-m372:PASS:"
+[ACPI Debug] String: [0x24] ":STST:IMPL:dynobj:dobdecl-m373:PASS:"
+[ACPI Debug] String: [0x2A] ":STST:IMPL:dynobj:dobexceptions-m374:PASS:"
+[ACPI Debug] String: [0x0E] "========= END."
+[ACPI Debug] String: [0x1A] "TEST ACPICA: 64-bit : PASS"
+Current name MAIN and start name DYN0 differ
+================= MAIN <1> <<<< ERRORS! (summary scale 0x200000; cache 0x0, object 0x0) >>>>
+ All alloc/free : (all, cached, diff)
+ Point (1) : 6df - 70c == ffffffd3
+ Scope info : (AmlOpcodeOfScope, ArgReferencesCount, ReturnValue, ReturnUsed; decl, arg, ret)
+ : a0 0 1 0 0 0 0
+ Per cache list : (state, operand, psnode, psnode_ext)
+ Point (0) : 179 7 3b2 1 1 (1332)
+ Correction : 0 0 0 0 0 (0)
+ Point (1) : 178 4 3b8 0 1 (1333)
+Per object type :
+ All : 0 1bf 146 0 5f 0 2 0 49 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 7 0 0 0 0 0 (952)
+ Declarations : 0 1be 145 0 5f 0 2 0 49 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 (942)
+ Arguments : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 (0)
+ Return : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 (0)
+ Result current : 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 7 0 0 0 0 0 (10)
+=================
+Current name MAIN and start name DYN0 differ
+================= MAIN <2> <<<< ERRORS! (summary scale 0x200000; cache 0x0, object 0x0) >>>>
+ All alloc/free : (all, cached, diff)
+ Point (2) : 6de - 70b == ffffffd3
+ Scope info : (AmlOpcodeOfScope, ArgReferencesCount, ReturnValue, ReturnUsed; decl, arg, ret)
+ : a0 0 1 0 6 0 0
+ Per cache list : (state, operand, psnode, psnode_ext)
+ Point (0) : 179 7 3b2 1 1 (1332)
+ Correction : 0 2 6 0 0 (8)
+ Point (2) : 178 3 3b8 0 1 (1332)
+Per object type :
+ All : 0 1bf 146 0 5f 0 2 0 49 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 7 0 0 0 0 0 (952)
+ Declarations : 0 1be 145 0 5f 0 2 0 49 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 (942)
+ Arguments : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 (0)
+ Return : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 (0)
+ Result current : 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 7 0 0 0 0 0 (10)
+=================
+Current name MAIN and start name DYN0 differ
+================= MAIN <3> <<<< ERRORS! (summary scale 0x200000; cache 0x0, object 0x0) >>>>
+ All alloc/free : (all, cached, diff)
+ Point (3) : 6db - 709 == ffffffd2
+ Scope info : (AmlOpcodeOfScope, ArgReferencesCount, ReturnValue, ReturnUsed; decl, arg, ret)
+ : a0 0 1 0 6 0 0
+ Per cache list : (state, operand, psnode, psnode_ext)
+ Point (0) : 179 7 3b2 1 1 (1332)
+ Correction : 0 0 6 0 0 (6)
+ Point (3) : 178 1 3b8 0 1 (1330)
+Per object type :
+ All : 0 1bf 146 0 5f 0 2 0 49 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 7 0 0 0 0 0 (952)
+ Declarations : 0 1be 145 0 5f 0 2 0 49 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 (942)
+ Arguments : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 (0)
+ Return : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 (0)
+ Result current : 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 7 0 0 0 0 0 (10)
+ IncrMemAllocs : -4
+IncrMemAllocsCh : -3
+=================
+Outstanding: 0x6 allocations after execution
+Execution of \MAIN returned object 00326E68 Buflen 10
+ [Integer] = 0000000000000000
+- ACPI (uttrack-0703): No outstanding allocations [20060608]
+utdebugstat-0203 [136606830] "UtCloseStat" : Memory Consumption errors encountered!
+ERRORS SUMMARY: ErrorScale 0xe00000; Sum 0x280000, CSum 0x0, OSum 0x40, Failed executions of methods number 12
+Memory Consumption failed executions of methods summary:
+M000: Point 1, Errors: Sum 0x200000, CSum 0x0, OSum 0x0
+M000: Point 2, Errors: Sum 0x280000, CSum 0x0, OSum 0x40
+M000: Point 3, Errors: Sum 0x280000, CSum 0x0, OSum 0x40
+M374: Point 1, Errors: Sum 0x200000, CSum 0x0, OSum 0x0
+M374: Point 2, Errors: Sum 0x200000, CSum 0x0, OSum 0x0
+M374: Point 3, Errors: Sum 0x200000, CSum 0x0, OSum 0x0
+DYN0: Point 1, Errors: Sum 0x200000, CSum 0x0, OSum 0x0
+DYN0: Point 2, Errors: Sum 0x200000, CSum 0x0, OSum 0x0
+DYN0: Point 3, Errors: Sum 0x200000, CSum 0x0, OSum 0x0
+MAIN: Point 1, Errors: Sum 0x200000, CSum 0x0, OSum 0x0
+MAIN: Point 2, Errors: Sum 0x200000, CSum 0x0, OSum 0x0
+MAIN: Point 3, Errors: Sum 0x200000, CSum 0x0, OSum 0x0
+ERROR: allocated memory total 0xb4b649 (times), freed total 0xb4b647 (times)
+ Uncounted are 0xb4b649 - (0xb4b647 + 4) == 0xfffffffe allocations \ No newline at end of file
diff --git a/tests/aslts/src/runtime/collections/IMPL/ACPICA/tests/dynobj/dobctl.asl b/tests/aslts/src/runtime/collections/IMPL/ACPICA/tests/dynobj/dobctl.asl
new file mode 100644
index 000000000..bf0847f41
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/IMPL/ACPICA/tests/dynobj/dobctl.asl
@@ -0,0 +1,1373 @@
+/*
+ * 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.
+ */
+
+/*
+ * DynObj: Method execution control operators
+ */
+
+Name(z131, 131)
+
+// Check the Method Execution Control operators
+Method(m372)
+{
+ // The Created Objects benchmark Package
+ Name(pp00, Package(1) {})
+
+ // The Deleted Objects benchmark Package
+ Name(pp01, Package(1) {})
+
+ // The per-memory type benchmark Package
+ Name(pp02, Package(1) {})
+
+
+ // Package for _TCI-begin statistics
+ // (use NamedX, dont use ArgX/LocalX).
+ Name(pp0a, Package(1) {})
+
+ // Objects for verified operators
+
+ Name(num, 0)
+ Name(num2, 0)
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+ Name(i000, 0)
+ Name(i001, 0)
+ Name(i002, 0)
+
+ // Methods verified
+
+ Method(m000)
+ {
+ }
+
+ Method(m001)
+ {
+ return (1000)
+ }
+
+ Method(m002, 6)
+ {
+ }
+
+ Method(m003, 7)
+ {
+ return (1000)
+ }
+
+ Method(m004, 7)
+ {
+ Store(0, Local0)
+ Store(0, Local1)
+ Store(0, Local2)
+ Store(0, Local3)
+ Store(0, Local4)
+ Store(0, Local5)
+ Store(0, Local6)
+ Store(0, Local7)
+
+ Add(Local0, Local1, Local7)
+
+ return (Local7)
+ }
+
+
+ // Create and initialize the Memory Consumption Statistics Packages
+
+ Store(m3a0(c200), Local0) // _TCI-end statistics
+ Store(m3a0(c201), pp0a) // _TCI-begin statistics
+ Store(m3a0(0), Local1) // difference
+
+ // Available free locals
+
+ Store(0, Local2)
+ Store(0, Local3)
+ Store(0, Local4)
+ Store(0, Local5)
+ Store(0, Local6)
+ Store(0, Local7)
+
+ SET0(z131, "m372", 0)
+
+
+ // ======================== While
+
+
+if (rn00) {
+
+ Store("While, Continue, Break", Debug)
+
+ Store(73, num)
+ Store(num, lpN0)
+ Store(0, lpC0)
+ _TCI(c200, Local0)
+ While (lpN0) {
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Multiply(2, num, Local5)
+ Store(Local5, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 0)
+
+ // Inv: why (3*num)+1, why +1?
+
+ Store(37, num)
+ Store(num, Local4)
+ Store(0, Local5)
+ _TCI(c200, Local0)
+ While (Local4) {
+ Decrement(Local4)
+ Increment(Local5)
+ }
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Multiply(2, num, Local6)
+ Multiply(3, num, Local7)
+ Increment(Local7)
+ Store(Local6, Index(pp00, c009)) // Integer
+ Store(Local7, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 1)
+}
+
+if (rn02) {
+
+ // Error: memory is lost
+
+ Store(200, num2)
+ Store(num2, i000)
+ Store(200, num)
+ Store(num, lpN0)
+ Store(0, lpC0)
+ _TCI(c200, Local0)
+ While (lpN0) {
+ if (i000) {
+ Decrement(i000)
+ Continue
+ }
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Multiply(2, num, Local5)
+ Add(Local5, num2, Local4)
+ Store(Local4, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 2)
+}
+
+if (rn02) {
+
+ // Error: memory is lost
+
+ Store(100, num2)
+ Store(num2, Local4)
+ Store(200, num)
+ Store(num, Local5)
+ Store(0, Local6)
+ _TCI(c200, Local0)
+ While (Local5) {
+ if (Local4) {
+ Decrement(Local4)
+ Continue
+ }
+ Decrement(Local5)
+ Increment(Local6)
+ }
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Multiply(2, num, Local5)
+ Add(Local5, num2, Local4)
+ Store(Local4, Index(pp00, c009)) // Integer
+ Multiply(4, num, Local7)
+ Increment(Local7)
+ Multiply(3, num2, Local6)
+ Add(Local7, Local6, Local5)
+ Store(Local5, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 3)
+}
+
+if (rn02) {
+ Store(100, num)
+ Store(num, lpN0)
+ Store(0, lpC0)
+ _TCI(c200, Local0)
+ While (lpN0) {
+ Break
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 4)
+}
+
+
+ // ======================== If
+
+
+if (rn00) {
+
+ Store("If, ElseIf, Else", Debug)
+
+ _TCI(c200, Local0)
+ if (0) {
+ }
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 5)
+
+ _TCI(c200, Local0)
+ if (1) {
+ }
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 6)
+
+ Store(0, i000)
+ _TCI(c200, Local0)
+ if (i000) {
+ }
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 7)
+
+ Store(1, i000)
+ _TCI(c200, Local0)
+ if (i000) {
+ }
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 8)
+
+ Store(0, Local4)
+ _TCI(c200, Local0)
+ if (Local4) {
+ }
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 9)
+
+ Store(1, Local4)
+ _TCI(c200, Local0)
+ if (Local4) {
+ }
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 10)
+
+ Store(0, i000)
+ Store(19, num)
+ Store(num, lpN0)
+ Store(0, lpC0)
+ _TCI(c200, Local0)
+ While (lpN0) {
+ if (i000) {
+ }
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Multiply(2, num, Local5)
+ Store(Local5, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 11)
+
+ Store(1, i000)
+ Store(19, num)
+ Store(num, lpN0)
+ Store(0, lpC0)
+ _TCI(c200, Local0)
+ While (lpN0) {
+ if (i000) {
+ }
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Multiply(2, num, Local5)
+ Store(Local5, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 12)
+
+ Store(0, Local4)
+ Store(19, num)
+ Store(num, lpN0)
+ Store(0, lpC0)
+ _TCI(c200, Local0)
+ While (lpN0) {
+ if (Local4) {
+ }
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Multiply(2, num, Local5)
+ Store(Local5, Index(pp00, c009)) // Integer
+ Store(num, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 13)
+
+ Store(1, Local4)
+ Store(19, num)
+ Store(num, lpN0)
+ Store(0, lpC0)
+ _TCI(c200, Local0)
+ While (lpN0) {
+ if (Local4) {
+ }
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Multiply(2, num, Local5)
+ Store(Local5, Index(pp00, c009)) // Integer
+ Store(num, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 14)
+
+ // LEqual
+
+ Store(100, num)
+ Store(num, lpN0)
+ Store(0, lpC0)
+
+ Store(1, Local4)
+ Store(1, Local5)
+
+ _TCI(c200, Local0)
+ While (lpN0) {
+ if (LEqual(Local4, Local5)) {
+ }
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Multiply(3, num, Local5)
+ Store(Local5, Index(pp00, c009)) // Integer
+ Multiply(2, num, Local5)
+ Store(Local5, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 15)
+
+ Store(100, num)
+ Store(num, lpN0)
+ Store(0, lpC0)
+
+ Store(0, Local4)
+ Store(1, Local5)
+
+ _TCI(c200, Local0)
+ While (lpN0) {
+ if (LEqual(Local4, Local5)) {
+ }
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Multiply(3, num, Local5)
+ Store(Local5, Index(pp00, c009)) // Integer
+ Multiply(2, num, Local5)
+ Store(Local5, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 16)
+}
+
+
+ // ======================== If, Else
+
+
+if (rn02) {
+
+ // Error: 1 ACPI_MEM_LIST_STATE is not deleted
+
+ Store(1, Local4)
+ Store(1, Local5)
+ _TCI(c200, Local0)
+ if (LEqual(Local4, Local5)) {
+ } else {
+ }
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c009)) // Integer
+ Store(2, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 17)
+
+ Store(0, Local4)
+ Store(0, Local5)
+ _TCI(c200, Local0)
+ if (LEqual(Local4, Local5)) {
+ } else {
+ }
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c009)) // Integer
+ Store(2, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 18)
+
+ Store(1, i000)
+ Store(1, i001)
+ _TCI(c200, Local0)
+ if (LEqual(i000, i001)) {
+ } else {
+ }
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 19)
+
+ Store(0, i000)
+ Store(0, i001)
+ _TCI(c200, Local0)
+ if (LEqual(i000, i001)) {
+ } else {
+ }
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 20)
+}
+
+if (rn00) {
+ Store(0, Local4)
+ Store(1, Local5)
+
+ _TCI(c200, Local0)
+ if (LEqual(Local4, Local5)) {
+ } else {
+ }
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c009)) // Integer
+ Store(2, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 21)
+
+ Store(0, i000)
+ Store(1, i001)
+
+ _TCI(c200, Local0)
+ if (LEqual(i000, i001)) {
+ } else {
+ }
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 22)
+}
+
+
+ // ======================== If, ElseIf
+
+
+if (rn02) {
+
+ // Error: 1 ACPI_MEM_LIST_STATE is not deleted
+
+ Store(1, Local4)
+
+ _TCI(c200, Local0)
+ if (Local4) {
+ } elseif (Local4) {
+ } elseif (Local4) {
+ } elseif (Local4) {
+ } elseif (Local4) {
+ } elseif (Local4) {
+ }
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 23)
+
+ // Error: 1 ACPI_MEM_LIST_STATE is not deleted
+
+ Store(1, i000)
+
+ _TCI(c200, Local0)
+ if (i000) {
+ } elseif (i000) {
+ } elseif (i000) {
+ } elseif (i000) {
+ } elseif (i000) {
+ } elseif (i000) {
+ }
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 24)
+
+ // Error: (1*num) ACPI_MEM_LIST_STATE are not deleted
+
+ Store(100, num)
+ Store(num, lpN0)
+ Store(0, lpC0)
+
+ Store(1, Local4)
+
+ _TCI(c200, Local0)
+ While (lpN0) {
+
+ if (Local4) {
+ } elseif (Local4) {
+ } elseif (Local4) {
+ } elseif (Local4) {
+ } elseif (Local4) {
+ } elseif (Local4) {
+ }
+
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Multiply(2, num, Local5)
+ Store(Local5, Index(pp00, c009)) // Integer
+ Store(num, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 25)
+}
+
+if (rn00) {
+ Store(0, Local4)
+
+ _TCI(c200, Local0)
+ if (Local4) {
+ } elseif (Local4) {
+ } elseif (Local4) {
+ } elseif (Local4) {
+ } elseif (Local4) {
+ } elseif (Local4) {
+ }
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(6, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 26)
+
+ Store(0, i000)
+
+ _TCI(c200, Local0)
+ if (i000) {
+ } elseif (i000) {
+ } elseif (i000) {
+ } elseif (i000) {
+ } elseif (i000) {
+ } elseif (i000) {
+ }
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 27)
+}
+
+if (rn02) {
+
+ // Error: 1 ACPI_MEM_LIST_STATE is not deleted
+
+ Store(1, Local4)
+ Store(1, Local5)
+
+ _TCI(c200, Local0)
+ if (LEqual(Local4, Local5)) {
+ } elseif (LEqual(Local4, Local5)) {
+ } elseif (LEqual(Local4, Local5)) {
+ } elseif (LEqual(Local4, Local5)) {
+ } elseif (LEqual(Local4, Local5)) {
+ } elseif (LEqual(Local4, Local5)) {
+ }
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c009)) // Integer
+ Store(2, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 28)
+
+ // Error: (1*num) ACPI_MEM_LIST_STATE are not deleted
+
+ Store(100, num)
+ Store(num, lpN0)
+ Store(0, lpC0)
+
+ Store(1, Local4)
+ Store(1, Local5)
+
+ _TCI(c200, Local0)
+ While (lpN0) {
+
+ if (LEqual(Local4, Local5)) {
+ } elseif (LEqual(Local4, Local5)) {
+ } elseif (LEqual(Local4, Local5)) {
+ } elseif (LEqual(Local4, Local5)) {
+ } elseif (LEqual(Local4, Local5)) {
+ } elseif (LEqual(Local4, Local5)) {
+ }
+
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Multiply(3, num, Local5)
+ Store(Local5, Index(pp00, c009)) // Integer
+ Multiply(2, num, Local5)
+ Store(Local5, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 29)
+
+ // Error: (1*num) ACPI_MEM_LIST_STATE are not deleted
+
+ Store(100, num)
+ Store(num, lpN0)
+ Store(0, lpC0)
+
+ Store(1, i000)
+ Store(1, i001)
+
+ _TCI(c200, Local0)
+ While (lpN0) {
+
+ if (LEqual(i000, i001)) {
+ } elseif (LEqual(i000, i001)) {
+ } elseif (LEqual(i000, i001)) {
+ } elseif (LEqual(i000, i001)) {
+ } elseif (LEqual(i000, i001)) {
+ } elseif (LEqual(i000, i001)) {
+ }
+
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Multiply(3, num, Local5)
+ Store(Local5, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 30)
+
+ // Error: (1*num) ACPI_MEM_LIST_STATE are not deleted
+
+ Store(100, num)
+ Store(num, lpN0)
+ Store(0, lpC0)
+
+ Store(0, i000)
+ Store(0, i001)
+
+ _TCI(c200, Local0)
+ While (lpN0) {
+
+ if (LEqual(i000, i001)) {
+ } elseif (LEqual(i000, i001)) {
+ } elseif (LEqual(i000, i001)) {
+ } elseif (LEqual(i000, i001)) {
+ } elseif (LEqual(i000, i001)) {
+ } elseif (LEqual(i000, i001)) {
+ }
+
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Multiply(3, num, Local5)
+ Store(Local5, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 31)
+}
+
+if (rn00) {
+ Store(17, num)
+ Store(num, lpN0)
+ Store(0, lpC0)
+
+ Store(0, Local4)
+ Store(1, Local5)
+
+ _TCI(c200, Local0)
+ While (lpN0) {
+
+ if (LEqual(Local4, Local5)) {
+ } elseif (LEqual(Local4, Local5)) {
+ } elseif (LEqual(Local4, Local5)) {
+ } elseif (LEqual(Local4, Local5)) {
+ } elseif (LEqual(Local4, Local5)) {
+ } elseif (LEqual(Local4, Local5)) {
+ }
+
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Multiply(8, num, Local5)
+ Store(Local5, Index(pp00, c009)) // Integer
+ Multiply(12, num, Local5)
+ Store(Local5, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 32)
+
+ Store(17, num)
+ Store(num, lpN0)
+ Store(0, lpC0)
+
+ Store(0, i000)
+ Store(1, i001)
+
+ _TCI(c200, Local0)
+ While (lpN0) {
+
+ if (LEqual(i000, i001)) {
+ } elseif (LEqual(i000, i001)) {
+ } elseif (LEqual(i000, i001)) {
+ } elseif (LEqual(i000, i001)) {
+ } elseif (LEqual(i000, i001)) {
+ } elseif (LEqual(i000, i001)) {
+ }
+
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Multiply(8, num, Local5)
+ Store(Local5, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 33)
+}
+
+if (rn02) {
+
+ // Error: (1*num) ACPI_MEM_LIST_STATE are not deleted
+
+ Store(100, num)
+ Store(num, lpN0)
+ Store(0, lpC0)
+
+ Store(0, Local4)
+ Store(1, Local5)
+
+ _TCI(c200, Local0)
+ While (lpN0) {
+
+ if (LEqual(Local4, Local5)) {
+ } elseif (LEqual(Local4, Local5)) {
+ } elseif (LEqual(Local4, 0)) {
+ } elseif (LEqual(Local4, Local5)) {
+ } elseif (LEqual(Local4, Local5)) {
+ } elseif (LEqual(Local4, Local5)) {
+ }
+
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Multiply(6, num, Local5)
+ Store(Local5, Index(pp00, c009)) // Integer
+ Multiply(5, num, Local5)
+ Store(Local5, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 34)
+}
+
+
+ // ======================== If, ElseIf, Else
+
+
+if (rn02) {
+
+ // Error: (1*num) ACPI_MEM_LIST_STATE are not deleted
+
+ Store(100, num)
+ Store(num, lpN0)
+ Store(0, lpC0)
+
+ Store(1, Local4)
+ Store(1, Local5)
+
+ _TCI(c200, Local0)
+ While (lpN0) {
+
+ if (LEqual(Local4, Local5)) {
+ } elseif (LEqual(Local4, Local5)) {
+ } elseif (LEqual(Local4, Local5)) {
+ } elseif (LEqual(Local4, Local5)) {
+ } elseif (LEqual(Local4, Local5)) {
+ } elseif (LEqual(Local4, Local5)) {
+ } else {
+ }
+
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Multiply(3, num, Local5)
+ Store(Local5, Index(pp00, c009)) // Integer
+ Multiply(2, num, Local5)
+ Store(Local5, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 35)
+}
+
+
+ // ======================== Switch, Case, Default
+
+
+ // CAUTION: these tests should be a few updated after fixing interpreter
+
+if (rn02) {
+
+ Store("Switch, Case, Default", Debug)
+
+ // Inv: why so many Integers, 4
+ // Error: why is one Integer not deleted
+
+ _TCI(c200, Local0)
+ Switch (0) {
+ Case (1) {
+ }
+ }
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(3, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 36)
+
+ _TCI(c200, Local0)
+ Switch (1) {
+ Case (1) {
+ }
+ }
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(3, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 37)
+}
+
+if (rn02) {
+
+ // Inv: why so many Integers, 4
+ // Error: why is one Integer not deleted
+ // Error: 1 ACPI_MEM_LIST_STATE is not deleted
+
+ _TCI(c200, Local0)
+ Switch (0) {
+ Case (1) {
+ }
+ Default {
+ }
+ }
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(4, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 38)
+
+ _TCI(c200, Local0)
+ Switch (1) {
+ Case (1) {
+ }
+ Default {
+ }
+ }
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(4, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 39)
+}
+
+if (rn02) {
+
+ // Inv: what is the number of Integers
+ // Error: why is one Integer not deleted
+ // Error: (1*num) ACPI_MEM_LIST_STATE are not deleted
+
+
+ Store(10, num)
+ Store(num, lpN0)
+ Store(0, lpC0)
+ _TCI(c200, Local0)
+ While (lpN0) {
+ Switch (1) {
+ Case (1) {
+ }
+ Default {
+ }
+ }
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Multiply(6, num, Local5)
+ Store(Local5, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 40)
+}
+
+
+ // ///////////////////// NamedX & LocalX
+
+
+if (rn02) {
+
+ // NamedX
+
+ // Error: why is one Integer not deleted
+
+ Store(0, i000)
+ _TCI(c200, Local0)
+ Switch (i000) {
+ Case (0) {
+ }
+ }
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(3, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 41)
+
+ Store(1, i000)
+ _TCI(c200, Local0)
+ Switch (i000) {
+ Case (1) {
+ }
+ }
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(3, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 42)
+
+ Store(0, i000)
+ _TCI(c200, Local0)
+ Switch (i000) {
+ Case (1) {
+ }
+ }
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(3, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 43)
+
+ // LocalX
+
+ Store(0, Local4)
+ _TCI(c200, Local0)
+ Switch (Local4) {
+ Case (0) {
+ }
+ }
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(3, Index(pp00, c009)) // Integer
+ Store(1, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 44)
+
+ Store(1, Local4)
+ _TCI(c200, Local0)
+ Switch (Local4) {
+ Case (1) {
+ }
+ }
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(3, Index(pp00, c009)) // Integer
+ Store(1, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 45)
+
+ Store(0, Local4)
+ _TCI(c200, Local0)
+ Switch (Local4) {
+ Case (1) {
+ }
+ }
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(3, Index(pp00, c009)) // Integer
+ Store(1, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 46)
+}
+
+if (rn02) {
+
+ // NamedX
+
+ // Error: why is one Integer not deleted
+
+ Store(0, i000)
+ _TCI(c200, Local0)
+ Switch (i000) {
+ Case (0) {
+ }
+ Default {
+ }
+ }
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(3, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 47)
+
+ Store(1, i000)
+ _TCI(c200, Local0)
+ Switch (i000) {
+ Case (1) {
+ }
+ Default {
+ }
+ }
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(3, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 48)
+
+ Store(0, i000)
+ _TCI(c200, Local0)
+ Switch (i000) {
+ Case (1) {
+ }
+ Default {
+ }
+ }
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(3, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 49)
+
+ // LocalX
+
+ Store(0, Local4)
+ _TCI(c200, Local0)
+ Switch (Local4) {
+ Case (0) {
+ }
+ Default {
+ }
+ }
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(3, Index(pp00, c009)) // Integer
+ Store(1, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 50)
+
+ Store(1, Local4)
+ _TCI(c200, Local0)
+ Switch (Local4) {
+ Case (1) {
+ }
+ Default {
+ }
+ }
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(3, Index(pp00, c009)) // Integer
+ Store(1, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 51)
+
+ Store(0, Local4)
+ _TCI(c200, Local0)
+ Switch (Local4) {
+ Case (1) {
+ }
+ Default {
+ }
+ }
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(3, Index(pp00, c009)) // Integer
+ Store(1, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 52)
+}
+
+if (rn02) {
+
+ Store(1, i000)
+ _TCI(c200, Local0)
+ Switch (i000) {
+ Case (1) {
+ }
+ Case (2) {
+ }
+ Case (3) {
+ }
+ Case (4) {
+ }
+ Case (5) {
+ }
+ Case (6) {
+ }
+ Case (7) {
+ }
+ Default {
+ }
+ }
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(3, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 53)
+
+ Store(7, i000)
+ _TCI(c200, Local0)
+ Switch (i000) {
+ Case (1) {
+ }
+ Case (2) {
+ }
+ Case (3) {
+ }
+ Case (4) {
+ }
+ Case (5) {
+ }
+ Case (6) {
+ }
+ Case (7) {
+ }
+ Default {
+ }
+ }
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(17, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 54)
+
+ Store(10000, i000)
+ _TCI(c200, Local0)
+ Switch (i000) {
+ Case (1) {
+ }
+ Case (2) {
+ }
+ Case (3) {
+ }
+ Case (4) {
+ }
+ Case (5) {
+ }
+ Case (6) {
+ }
+ Case (7) {
+ }
+ Default {
+ }
+ }
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(17, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 55)
+}
+
+if (rn02) {
+ Store(1, Local4)
+ _TCI(c200, Local0)
+ Switch (Local4) {
+ Case (1) {
+ }
+ Case (2) {
+ }
+ Case (3) {
+ }
+ Case (4) {
+ }
+ Case (5) {
+ }
+ Case (6) {
+ }
+ Case (7) {
+ }
+ Default {
+ }
+ }
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(3, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 56)
+
+ Store(7, Local4)
+ _TCI(c200, Local0)
+ Switch (Local4) {
+ Case (1) {
+ }
+ Case (2) {
+ }
+ Case (3) {
+ }
+ Case (4) {
+ }
+ Case (5) {
+ }
+ Case (6) {
+ }
+ Case (7) {
+ }
+ Default {
+ }
+ }
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(17, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 57)
+
+ Store(10000, Local4)
+ _TCI(c200, Local0)
+ Switch (Local4) {
+ Case (1) {
+ }
+ Case (2) {
+ }
+ Case (3) {
+ }
+ Case (4) {
+ }
+ Case (5) {
+ }
+ Case (6) {
+ }
+ Case (7) {
+ }
+ Default {
+ }
+ }
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(17, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 58)
+}
+
+
+ // ======================== Method
+
+if (rn00) {
+
+ Store("Method", Debug)
+
+ _TCI(c200, Local0)
+ m000()
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 59)
+
+ _TCI(c200, Local0)
+ m001()
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 60)
+
+ _TCI(c200, Local0)
+ m002(1,2,3,4,5,6)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(6, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 61)
+
+ _TCI(c200, Local0)
+ m003(0,1,2,3,4,5,6)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(8, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 62)
+
+ _TCI(c200, Local0)
+ m004(0,1,2,3,4,5,6)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(16, Index(pp00, c009)) // Integer
+ Store(12, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 63)
+}
+
+ // ======================== NoOp
+
+if (rn00) {
+
+ Store("NoOp", Debug)
+
+ _TCI(c200, Local0)
+ NoOp
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 64)
+}
+
+ RST0()
+}
diff --git a/tests/aslts/src/runtime/collections/IMPL/ACPICA/tests/dynobj/dobdecl.asl b/tests/aslts/src/runtime/collections/IMPL/ACPICA/tests/dynobj/dobdecl.asl
new file mode 100644
index 000000000..3f8deed2c
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/IMPL/ACPICA/tests/dynobj/dobdecl.asl
@@ -0,0 +1,444 @@
+/*
+ * 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.
+ */
+
+/*
+ * DynObj: ASL declarations
+ */
+
+Name(z130, 130)
+
+// Check declarations
+Method(m373)
+{
+ // The Created Objects benchmark Package
+ Name(pp00, Package(1) {})
+
+ // The Deleted Objects benchmark Package
+ Name(pp01, Package(1) {})
+
+ // The per-memory type benchmark Package
+ Name(pp02, Package(1) {})
+
+
+ // Package for _TCI-begin statistics
+ // (use NamedX, dont use ArgX/LocalX).
+ Name(pp0a, Package(1) {})
+
+ // Objects for verified operators
+
+ Name(num, 5)
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+ Name(bcf0, Buffer(8) {})
+ OperationRegion(r000, SystemMemory, 0x100, 0x100)
+
+ Name(i000, 0)
+
+ // Create and initialize the Memory Consumption Statistics Packages
+
+ Store(m3a0(c200), Local0) // _TCI-end statistics
+ Store(m3a0(c201), pp0a) // _TCI-begin statistics
+ Store(m3a0(0), Local1) // difference
+
+ // Available free locals
+
+ Store(0, Local2)
+ Store(0, Local3)
+ Store(0, Local4)
+ Store(0, Local5)
+ Store(0, Local6)
+ Store(0, Local7)
+
+ SET0(z130, "m373", 0)
+
+
+ // ======================== Name
+
+if (rn00) {
+
+ Store("Name", Debug)
+
+ _TCI(c200, Local0)
+ Name(i100, 0)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c009)) // Integer
+ Store(m3a8(), pp01)
+ Store(m3a9(), pp02)
+ Store(1, Index(pp02, c226)) // CLIST_ID_NAMESPACE
+ Store(1, Index(pp02, c228)) // CLIST_ID_OPERAND
+ m3a4(Local0, pp0a, Local1, pp00, pp01, pp02, 0)
+}
+
+if (rn00) {
+
+ _TCI(c200, Local0)
+ Name(s100, "qsdrtghyuiopmngsxz")
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c00a)) // String
+ Store(m3a8(), pp01)
+ Store(m3a9(), pp02)
+ Store(1, Index(pp02, c226)) // CLIST_ID_NAMESPACE
+ Store(1, Index(pp02, c228)) // CLIST_ID_OPERAND
+ m3a4(Local0, pp0a, Local1, pp00, pp01, pp02, 1)
+
+ _TCI(c200, Local0)
+ Name(b100, Buffer(16){1,2,3,4,5,6,7,8})
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c009)) // Integer
+ Store(1, Index(pp00, c00b)) // Buffer
+ Store(m3a8(), pp01)
+ Store(1, Index(pp01, c009)) // Integer
+ Store(m3a9(), pp02)
+ Store(1, Index(pp02, c226)) // CLIST_ID_NAMESPACE
+ Store(1, Index(pp02, c228)) // CLIST_ID_OPERAND
+ m3a4(Local0, pp0a, Local1, pp00, pp01, pp02, 2)
+
+ _TCI(c200, Local0)
+ Name(p100, Package(16){1,2,3,4,5,6,7,8})
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(9, Index(pp00, c009)) // Integer
+ Store(1, Index(pp00, c00c)) // Package
+ Store(m3a8(), pp01)
+ Store(1, Index(pp01, c009)) // Integer
+ Store(m3a9(), pp02)
+ Store(1, Index(pp02, c226)) // CLIST_ID_NAMESPACE
+ Store(9, Index(pp02, c228)) // CLIST_ID_OPERAND
+ m3a4(Local0, pp0a, Local1, pp00, pp01, pp02, 3)
+}
+
+if (rn00) {
+
+ _TCI(c200, Local0)
+ Name(p101, Package(16){1,2,3,4,5,6,7,8, i000})
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(9, Index(pp00, c009)) // Integer
+ Store(1, Index(pp00, c00c)) // Package
+ Store(1, Index(pp00, c01c)) // LOCAL_REFERENCE
+ Store(m3a8(), pp01)
+ Store(1, Index(pp01, c009)) // Integer
+ Store(m3a9(), pp02)
+ Store(1, Index(pp02, c226)) // CLIST_ID_NAMESPACE
+ Store(10, Index(pp02, c228)) // CLIST_ID_OPERAND
+ m3a4(Local0, pp0a, Local1, pp00, pp01, pp02, 4)
+}
+
+ // ======================== CreateField
+
+if (rn00) {
+
+ Store("CreateField", Debug)
+
+ _TCI(c200, Local0)
+ CreateField(bcf0, 1, 3, bf00)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(2, Index(pp00, c009)) // Integer
+ Store(1, Index(pp00, c016)) // BufferField
+ Store(1, Index(pp00, c024)) // LOCAL_EXTRA
+ Store(m3a8(), pp01)
+ Store(2, Index(pp01, c009)) // Integer
+ Store(m3a9(), pp02)
+ Store(1, Index(pp02, c226)) // CLIST_ID_NAMESPACE
+ Store(2, Index(pp02, c228)) // CLIST_ID_OPERAND
+ m3a4(Local0, pp0a, Local1, pp00, pp01, pp02, 5)
+}
+
+ // //////// Resource Descriptor macros
+
+ // ======================== DMA
+
+if (rn00) {
+
+ Store("DMA", Debug)
+
+ _TCI(c200, Local0)
+ Name(rt00, ResourceTemplate () {
+ DMA (Compatibility, NotBusMaster, Transfer8, DMA0) {}})
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c009)) // Integer
+ Store(1, Index(pp00, c00b)) // Buffer
+ Store(m3a8(), pp01)
+ Store(1, Index(pp01, c009)) // Integer
+ Store(m3a9(), pp02)
+ Store(1, Index(pp02, c226)) // CLIST_ID_NAMESPACE
+ Store(1, Index(pp02, c228)) // CLIST_ID_OPERAND
+ m3a4(Local0, pp0a, Local1, pp00, pp01, pp02, 6)
+}
+
+ // ======================== DataTableRegion
+
+if (rn00) {
+
+ Store("DataTableRegion", Debug)
+
+ _TCI(c200, Local0)
+ DataTableRegion (HDR, "DSDT", "", "")
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(3, Index(pp00, c00a)) // String
+ Store(1, Index(pp00, c012)) // Operation Region
+ Store(1, Index(pp00, c024)) // LOCAL_EXTRA
+ Store(m3a8(), pp01)
+ Store(3, Index(pp01, c00a)) // String
+ Store(m3a9(), pp02)
+ Store(1, Index(pp02, c226)) // CLIST_ID_NAMESPACE
+ Store(2, Index(pp02, c228)) // CLIST_ID_OPERAND
+ m3a4(Local0, pp0a, Local1, pp00, pp01, pp02, 7)
+}
+
+ // ======================== Field
+
+if (rn04) {
+
+ Store("Field", Debug)
+
+ _TCI(c200, Local0)
+ Field(r000, ByteAcc, NoLock, Preserve) { f000, 8 }
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c019)) // LOCAL_REGION_FIELD
+ Store(m3a8(), pp01)
+ Store(m3a9(), pp02)
+ Store(1, Index(pp02, c228)) // CLIST_ID_OPERAND
+ m3a4(Local0, pp0a, Local1, pp00, pp01, pp02, 8)
+}
+
+ // ======================== BankField
+
+if (rn04) {
+
+ Store("BankField", Debug)
+
+ Field(r000, ByteAcc, NoLock, Preserve) { f001, 8 }
+
+ _TCI(c200, Local0)
+ BankField(r000, f001, 0, ByteAcc, NoLock, Preserve) {bn00, 4}
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c01a)) // LOCAL_BANK_FIELD
+ Store(m3a8(), pp01)
+ Store(m3a9(), pp02)
+ Store(1, Index(pp02, c228)) // CLIST_ID_OPERAND
+ m3a4(Local0, pp0a, Local1, pp00, pp01, pp02, 9)
+}
+
+ // ======================== IndexField
+
+if (rn04) {
+
+ Store("IndexField", Debug)
+
+ Field(r000, ByteAcc, NoLock, Preserve) {f002,8,f003,8}
+
+ _TCI(c200, Local0)
+ IndexField(f002, f003, ByteAcc, NoLock, Preserve) {if00,8,if01,8}
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(2, Index(pp00, c01b)) // LOCAL_INDEX_FIELD
+ Store(m3a8(), pp01)
+ Store(m3a9(), pp02)
+ Store(2, Index(pp02, c228)) // CLIST_ID_OPERAND
+ m3a4(Local0, pp0a, Local1, pp00, pp01, pp02, 10)
+}
+
+ // ======================== Event
+
+if (rn00) {
+
+ Store("Event", Debug)
+
+ _TCI(c200, Local0)
+ Event(e900)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c00f)) // Event
+ Store(m3a8(), pp01)
+ Store(m3a9(), pp02)
+ Store(1, Index(pp02, c226)) // CLIST_ID_NAMESPACE
+ Store(1, Index(pp02, c228)) // CLIST_ID_OPERAND
+ m3a4(Local0, pp0a, Local1, pp00, pp01, pp02, 11)
+}
+
+ // ======================== Mutex
+
+if (rn00) {
+
+ Store("Mutex", Debug)
+
+ _TCI(c200, Local0)
+ Mutex(MT00, 0)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c009)) // Integer
+ Store(1, Index(pp00, c011)) // Mutex
+ Store(m3a8(), pp01)
+ Store(1, Index(pp01, c009)) // Integer
+ Store(m3a9(), pp02)
+ Store(1, Index(pp02, c226)) // CLIST_ID_NAMESPACE
+ Store(1, Index(pp02, c228)) // CLIST_ID_OPERAND
+ m3a4(Local0, pp0a, Local1, pp00, pp01, pp02, 12)
+}
+
+ // ======================== OperationRegion
+
+if (rn04) {
+
+ Store("OperationRegion", Debug)
+
+ _TCI(c200, Local0)
+ OperationRegion(r001, SystemMemory, 0x100, 0x100)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(2, Index(pp00, c009)) // Integer
+// Store(1, Index(pp00, c012)) // OperationRegion
+ Store(m3a8(), pp01)
+ Store(m3a9(), pp02)
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 13)
+}
+
+
+ // ======================== Device
+
+if (rn03) {
+
+ // Causes AE_AML_NAME_NOT_FOUND exception
+
+ Store("Device", Debug)
+
+ _TCI(c200, Local0)
+ Device(d000) {}
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c00e)) // Device
+ Store(m3a8(), pp01)
+ Store(m3a9(), pp02)
+ m3a4(Local0, pp0a, Local1, pp00, pp01, pp02, 14)
+}
+
+ // ======================== Method
+
+if (rn03) {
+
+ // Causes AE_AML_NAME_NOT_FOUND exception
+
+ Store("Method", Debug)
+
+ _TCI(c200, Local0)
+ Method(m000) {}
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c010)) // Method
+ Store(m3a8(), pp01)
+ Store(m3a9(), pp02)
+ m3a4(Local0, pp0a, Local1, pp00, pp01, pp02, 15)
+}
+
+ // ======================== ThermalZone
+
+if (rn03) {
+
+ // Causes AE_AML_NAME_NOT_FOUND exception
+
+ Store("ThermalZone", Debug)
+
+ _TCI(c200, Local0)
+ ThermalZone(tz00) {}
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c015)) // ThermalZone
+ Store(m3a8(), pp01)
+ Store(m3a9(), pp02)
+ m3a4(Local0, pp0a, Local1, pp00, pp01, pp02, 16)
+}
+
+ // ======================== Processor
+
+if (rn03) {
+
+ // Causes AE_AML_NAME_NOT_FOUND exception
+
+ Store("Processor", Debug)
+
+ _TCI(c200, Local0)
+ Processor(pr00, 0, 0xFFFFFFFF, 0) {}
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c014)) // Processor
+ Store(m3a8(), pp01)
+ Store(m3a9(), pp02)
+ m3a4(Local0, pp0a, Local1, pp00, pp01, pp02, 17)
+}
+
+ // ======================== PowerResource
+
+if (rn03) {
+
+ // Causes AE_AML_NAME_NOT_FOUND exception
+
+ Store("PowerResource", Debug)
+
+ _TCI(c200, Local0)
+ PowerResource(pw00, 1, 0) {}
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c013)) // PowerResource
+ Store(m3a8(), pp01)
+ Store(m3a9(), pp02)
+ m3a4(Local0, pp0a, Local1, pp00, pp01, pp02, 18)
+}
+
+
+ RST0()
+}
diff --git a/tests/aslts/src/runtime/collections/IMPL/ACPICA/tests/dynobj/dobexceptions.asl b/tests/aslts/src/runtime/collections/IMPL/ACPICA/tests/dynobj/dobexceptions.asl
new file mode 100644
index 000000000..64959ebd1
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/IMPL/ACPICA/tests/dynobj/dobexceptions.asl
@@ -0,0 +1,74 @@
+/*
+ * 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.
+ */
+
+/*
+ * DynObj: Exceptions
+ */
+
+Name(z132, 132)
+
+// Check exceptions
+Method(m374)
+{
+ Name(ts, "m374")
+
+ // Package for _TCI-begin statistics
+ // (use NamedX, dont use ArgX/LocalX).
+ Name(pp0a, Package(1) {})
+
+ Method(m000, 1)
+ {
+ Divide(1, arg0, Local0, Local1)
+ }
+
+ // Create and initialize the Memory Consumption Statistics Packages
+
+ Store(m3a0(c200), Local1) // _TCI-end statistics
+ Store(m3a0(c201), pp0a) // _TCI-begin statistics
+ Store(m3a0(0), Local3) // difference
+
+ SET0(z132, ts, 0)
+
+if (rn00) {
+
+ CH03(ts, z132, 0, 0, 0)
+
+ _TCI(c200, Local1)
+ m000(0)
+ _TCI(c201, pp0a)
+
+ CH04(ts, 0, 0xff, z132, 1, 0, 0)
+
+ m3a3(Local1, pp0a, Local3)
+ m3a4(Local1, pp0a, Local3, 0, 0, 0, 0)
+}
+
+ RST0()
+}
diff --git a/tests/aslts/src/runtime/collections/IMPL/ACPICA/tests/dynobj/dobexec.asl b/tests/aslts/src/runtime/collections/IMPL/ACPICA/tests/dynobj/dobexec.asl
new file mode 100644
index 000000000..ac6b325e1
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/IMPL/ACPICA/tests/dynobj/dobexec.asl
@@ -0,0 +1,3263 @@
+/*
+ * 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.
+ */
+
+/*
+ * DynObj: executable ASL operators
+ */
+
+Name(z129, 129)
+
+// The sample test
+Method(m370)
+{
+ // Flag of printing
+ Name(pr, 0)
+
+ // Check that _TCI is supported
+ if (LNot(m3a5())) {
+ Store("The Test Command interface with the ACPICA (_TCI) is not supported", Debug)
+ Store("Test m370 skipped", Debug)
+ return (1)
+ }
+
+ // The benchmark Package
+ Name(pp00, Package() {
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0})
+
+ // Package for _TCI-begin statistics
+ // (use NamedX, dont use ArgX/LocalX).
+ Name(pp0a, Package(1) {})
+
+ // Auxiliary objects for ASL-construction
+ // being investigated:
+
+ Name(num, 5)
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+
+ // Create and initialize the Memory Consumption Statistics Packages
+
+ Store(m3a0(c200), Local0) // _TCI-end statistics
+ Store(m3a0(c201), pp0a) // _TCI-begin statistics
+ Store(m3a0(0), Local1) // difference
+
+ // Available free locals
+
+ Store(0, Local2)
+ Store(0, Local3)
+ Store(0, Local4)
+ Store(0, Local5)
+ Store(0, Local6)
+ Store(0, Local7)
+
+
+ // ======================== While
+
+if (rn00) {
+
+ Store("While", Debug)
+
+ Store(num, lpN0)
+ Store(0, lpC0)
+
+ _TCI(c200, Local0)
+
+ // ASL-construction being investigated
+
+ While (lpN0) {
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+
+ // Use NamedX for _TCI-begin statistics Package
+ // not to touch the LOCAL_REFERENCE entry.
+
+ _TCI(c201, pp0a)
+
+ // Print out the _TCI-end statistics
+ // and _TCI-begin statistics Packages
+
+ if (pr) {
+ m3a2(Local0, 0)
+ m3a2(pp0a, 1)
+ }
+
+ // Calculate difference of Packages
+
+ m3a3(Local0, pp0a, Local1)
+
+ // Print out the difference between the two
+ // Memory Consumption Statistics Packages.
+
+ if (pr) {
+ m3a2(Local1, 2)
+ }
+
+ // Verify result
+
+ Store(m3a8(), Local4)
+ Multiply(2, num, Local5)
+ Store(Local5, Index(Local4, c009))
+
+ m3a4(Local0, pp0a, Local1, Local4, 0, 0, 0)
+}
+
+ return (0)
+}
+
+// Check simple particular operations
+Method(m371)
+{
+ // The Created Objects benchmark Package
+ Name(pp00, Package(1) {})
+
+ // The Deleted Objects benchmark Package
+ Name(pp01, Package(1) {})
+
+ // The per-memory type benchmark Package
+ Name(pp02, Package(1) {})
+
+
+ // Package for _TCI-begin statistics
+ // (use NamedX, dont use ArgX/LocalX).
+ Name(pp0a, Package(1) {})
+
+ // Objects for verified operators
+
+ Mutex(MT00, 0)
+ Event(EV00)
+ Name(i000, 0)
+ Name(i001, 0)
+ Name(i002, 0)
+ Name(i003, 0)
+ Name(num, 5)
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+
+ Name(b000, Buffer(8) {})
+ Name(b001, Buffer(8) {})
+ Name(b002, Buffer(8) {})
+ Name(b003, Buffer(1) {})
+ Name(b004, Buffer(8) {})
+
+ Name(rtp0, ResourceTemplate () { IRQNoFlags () {1} })
+ Name(rtp1, ResourceTemplate () { IRQNoFlags () {1} })
+
+ Name(p001, Package(8) {1,2,3,4,5,6,7,8})
+ Name(p002, Package(8) {1,2,3,4,5,6,7,8})
+
+ Name(s000, "s")
+ Name(s001, "x")
+ Name(s002, "swqrtyuiopnm")
+
+
+ // Optional Results, writing into uninitialized LocalX
+
+ // Add
+ Method(m000)
+ {
+ Name(pp00, Package(1) {})
+ Name(pp01, Package(1) {})
+ Name(pp02, Package(1) {})
+ Name(pp0a, Package(1) {})
+
+ Store(m3a0(c200), Local0) // _TCI-end statistics
+ Store(m3a0(c201), pp0a) // _TCI-begin statistics
+ Store(m3a0(0), Local1) // difference
+
+ _TCI(c200, Local0)
+// Store(Add(3, 4, Local2), i000)
+ Add(3, 4, Local2)
+ _TCI(c201, pp0a)
+
+ m3a3(Local0, pp0a, Local1)
+
+ Store(m3a8(), pp00)
+ Store(3, Index(pp00, c009)) // Integer
+ Store(1, Index(pp00, c01c)) // LOCAL_REFERENCE
+
+ Store(m3a8(), pp01)
+ Store(2, Index(pp01, c009)) // Integer
+ Store(1, Index(pp01, c01c)) // LOCAL_REFERENCE
+
+ // Since Local2 was uninitialized,
+ // acq0 is greater than rel0 by 1.
+ Store(m3a9(), pp02)
+ Store(1, Index(pp02, c228)) // CLIST_ID_OPERAND
+
+ m3a4(Local0, pp0a, Local1, pp00, pp01, pp02, 1)
+ }
+
+ // And
+ Method(m001)
+ {
+ Name(pp00, Package(1) {})
+ Name(pp01, Package(1) {})
+ Name(pp02, Package(1) {})
+ Name(pp0a, Package(1) {})
+
+ Store(m3a0(c200), Local0) // _TCI-end statistics
+ Store(m3a0(c201), pp0a) // _TCI-begin statistics
+ Store(m3a0(0), Local1) // difference
+
+ _TCI(c200, Local0)
+// Store(And(3, 4, Local2), i000)
+ And(3, 4, Local2)
+ _TCI(c201, pp0a)
+
+ m3a3(Local0, pp0a, Local1)
+
+ Store(m3a8(), pp00)
+ Store(3, Index(pp00, c009)) // Integer
+ Store(1, Index(pp00, c01c)) // LOCAL_REFERENCE
+
+ Store(m3a8(), pp01)
+ Store(2, Index(pp01, c009)) // Integer
+ Store(1, Index(pp01, c01c)) // LOCAL_REFERENCE
+
+ // Since Local2 was uninitialized,
+ // acq0 is greater than rel0 by 1.
+ Store(m3a9(), pp02)
+ Store(1, Index(pp02, c228)) // CLIST_ID_OPERAND
+
+ m3a4(Local0, pp0a, Local1, pp00, pp01, pp02, 2)
+ }
+
+ // Store
+ Method(m002)
+ {
+ Name(pp00, Package(1) {})
+ Name(pp01, Package(1) {})
+ Name(pp02, Package(1) {})
+ Name(pp0a, Package(1) {})
+
+ Store(m3a0(c200), Local0) // _TCI-end statistics
+ Store(m3a0(c201), pp0a) // _TCI-begin statistics
+ Store(m3a0(0), Local1) // difference
+
+ _TCI(c200, Local0)
+ Store("ssss", Local2)
+ _TCI(c201, pp0a)
+
+ m3a3(Local0, pp0a, Local1)
+
+ Store(m3a8(), pp00)
+ Store(2, Index(pp00, c00a)) // String
+ Store(1, Index(pp00, c01c)) // LOCAL_REFERENCE
+
+ Store(m3a8(), pp01)
+ Store(1, Index(pp00, c00a)) // String
+ Store(1, Index(pp01, c01c)) // LOCAL_REFERENCE
+
+ // Since Local2 was uninitialized,
+ // acq0 is greater than rel0 by 1.
+ Store(m3a9(), pp02)
+ Store(1, Index(pp02, c228)) // CLIST_ID_OPERAND
+
+ m3a4(Local0, pp0a, Local1, pp00, pp01, pp02, 3)
+ }
+
+/*
+ * // Apply the same technique to the entire test.
+ *
+ * // ################################## Check all the test:
+ *
+ * // Packages for _TCI statistics
+ * Name(LLL0, Package(1) {})
+ * Name(LLL1, Package(1) {})
+ * Name(LLL2, Package(1) {})
+ *
+ * // Create and initialize the Memory Consumption Statistics Packages
+ *
+ * Store(m3a0(c200), LLL0) // _TCI-end statistics
+ * Store(m3a0(c201), LLL1) // _TCI-begin statistics
+ * Store(m3a0(0), LLL2) // difference
+ *
+ * _TCI(c200, LLL0)
+ * // ################################## Check all the test.
+ */
+
+ // Create and initialize the Memory Consumption Statistics Packages
+
+ Store(m3a0(c200), Local0) // _TCI-end statistics
+ Store(m3a0(c201), pp0a) // _TCI-begin statistics
+ Store(m3a0(0), Local1) // difference
+
+ // Available free locals
+
+ Store(0, Local2)
+ Store(0, Local3)
+ Store(0, Local4)
+ Store(0, Local5)
+ Store(0, Local6)
+ Store(0, Local7)
+
+
+ SET0(z129, "m371", 0)
+
+ // ======================== Acquire
+
+if (rn00) {
+
+ Store("Acquire", Debug)
+
+ _TCI(c200, Local0)
+
+ // ASL-construction being investigated
+
+ Acquire(MT00, 100)
+
+ // Use NamedX for _TCI-begin statistics Package
+ // not to touch the LOCAL_REFERENCE entry.
+ _TCI(c201, pp0a)
+
+ m3a3(Local0, pp0a, Local1) // calculate difference
+
+ // Verify result
+
+ Store(m3a8(), pp00)
+ Store(2, Index(pp00, c009)) // Integer
+
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 4)
+}
+
+ // ======================== Add
+
+if (rn00) {
+
+ Store("Add", Debug)
+
+ // Writing into uninitialized LocalX test
+ m000()
+
+ _TCI(c200, Local0)
+ Add(3, 4)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(4, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 5)
+
+ _TCI(c200, Local0)
+ Add(3, 4)
+ Add(3, 4)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(8, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 6)
+
+ Store(num, lpN0)
+ Store(0, lpC0)
+ _TCI(c200, Local0)
+ While (lpN0) {
+ Add(3, 4)
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Multiply(6, num, Local5)
+ Store(Local5, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 7)
+
+ Store(3, i000)
+ Store(4, i001)
+
+ _TCI(c200, Local0)
+ Add(i000, i001)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(2, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 8)
+
+ Store(0, Local4)
+
+ _TCI(c200, Local0)
+ Add(i000, i001, Local4)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c009)) // Integer
+ Store(1, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 9)
+
+ Store(0, Local4)
+ Store("ssss", Local4)
+
+ _TCI(c200, Local0)
+ Add(i000, i001, Local4)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c009)) // Integer
+ Store(1, Index(pp00, c01c)) // LOCAL_REFERENCE
+
+ Store(m3a8(), pp01)
+ Store(1, Index(pp01, c00a)) // String
+ Store(1, Index(pp01, c01c)) // LOCAL_REFERENCE
+
+ m3a4(Local0, pp0a, Local1, pp00, pp01, 0, 10)
+
+ _TCI(c200, Local0)
+ Add(i000, i001, Local4)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c009)) // Integer
+ Store(1, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 11)
+
+ Store("ssss", Local4)
+
+ _TCI(c200, Local0)
+ Add(i000, i001, Local4)
+ Add(i000, i001, Local4)
+ Add(i000, i001, Local4)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+
+ Store(m3a8(), pp00)
+ Store(3, Index(pp00, c009)) // Integer
+ Store(3, Index(pp00, c01c)) // LOCAL_REFERENCE
+
+ Store(m3a8(), pp01)
+ Store(2, Index(pp01, c009)) // Integer
+ Store(1, Index(pp01, c00a)) // String
+ Store(3, Index(pp01, c01c)) // LOCAL_REFERENCE
+
+ m3a4(Local0, pp0a, Local1, pp00, pp01, 0, 12)
+
+ Store(0, Local4)
+ Store(0, Local5)
+ Store(0, Local6)
+
+ _TCI(c200, Local0)
+ Add(Local4, Local5, Local6)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c009)) // Integer
+ Store(3, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 13)
+
+ Store(0, Local6)
+
+ _TCI(c200, Local0)
+ Add(3, Local6, i000)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(2, Index(pp00, c009)) // Integer
+ Store(1, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 14)
+
+ // Initialized Package example
+
+ Store(Package(9) {1, "", "1", 2, 3, Buffer(7) {8},
+ Package(20) {8, 9, "q", 10, 11, Buffer(3) {6}}},
+ Local4)
+
+ _TCI(c200, Local0)
+ Add(i000, i001, Local4)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c009)) // Integer
+ Store(1, Index(pp00, c01c)) // LOCAL_REFERENCE
+ Store(m3a8(), pp01)
+ Store(2, Index(pp01, c00c)) // Package
+ Store(7, Index(pp01, c009)) // Integer
+ Store(3, Index(pp01, c00a)) // String
+ Store(2, Index(pp01, c00b)) // Buffer
+ Store(1, Index(pp01, c01c)) // LOCAL_REFERENCE
+ // These 13 objects of "Store(Package(9) {1,..."
+ // being deleted inside _TCI brackets were created
+ // outside it before that:
+ Store(m3a9(), pp02)
+ Subtract(2, 15, Local4)
+ Store(Local4, Index(pp02, c228)) // CLIST_ID_OPERAND
+
+ m3a4(Local0, pp0a, Local1, pp00, pp01, pp02, 15)
+}
+
+ // ======================== And
+
+if (rn00) {
+
+ Store("And", Debug)
+
+ // Writing into uninitialized LocalX test
+ m001()
+
+ _TCI(c200, Local0)
+ And(3, 4)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(4, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 16)
+
+ Store(Package(9) {}, Local4)
+
+ _TCI(c200, Local0)
+ And(3, 4, Local4)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+
+ Store(m3a8(), pp00)
+ Store(3, Index(pp00, c009)) // Integer
+ Store(1, Index(pp00, c01c)) // LOCAL_REFERENCE
+
+ Store(m3a8(), pp01)
+ Store(2, Index(pp01, c009)) // Integer
+ Store(1, Index(pp01, c00c)) // Package
+ Store(1, Index(pp01, c01c)) // LOCAL_REFERENCE
+
+ m3a4(Local0, pp0a, Local1, pp00, pp01, 0, 17)
+
+ _TCI(c200, Local0)
+ And(3, 4, i000)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(3, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 18)
+}
+
+ // ======================== Concatenate
+
+if (rn00) {
+
+ Store("Concatenate", Debug)
+
+ _TCI(c200, Local0)
+ Concatenate(3, 4)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(3, Index(pp00, c009)) // Integer
+ Store(1, Index(pp00, c00b)) // Buffer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 19)
+
+ _TCI(c200, Local0)
+ Concatenate(3, 4, b000)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(2, Index(pp00, c009)) // Integer
+ Store(1, Index(pp00, c00b)) // Buffer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 20)
+
+ _TCI(c200, Local0)
+ Concatenate(3, 4, b003)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(2, Index(pp00, c009)) // Integer
+ Store(1, Index(pp00, c00b)) // Buffer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 21)
+
+ _TCI(c200, Local0)
+ Concatenate("3", "4")
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c009)) // Integer
+ Store(3, Index(pp00, c00a)) // String
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 22)
+
+ _TCI(c200, Local0)
+ Concatenate("3", "4", s000)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(3, Index(pp00, c00a)) // String
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 23)
+
+ Store(2, i000)
+ Store(3, i001)
+
+ _TCI(c200, Local0)
+ Concatenate(Buffer(i000) {3,4}, Buffer(i001) {6,7,8})
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c009)) // Integer
+ Store(3, Index(pp00, c00b)) // Buffer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 24)
+
+ _TCI(c200, Local0)
+ Concatenate(Buffer(i000) {3,4}, Buffer(i001) {6,7,8}, b002)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(3, Index(pp00, c00b)) // Buffer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 25)
+
+ _TCI(c200, Local0)
+ Concatenate(Buffer(i000) {3,4}, Buffer(i001) {6,7,8}, s000)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c00a)) // String
+ Store(3, Index(pp00, c00b)) // Buffer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 26)
+ CopyObject("", s000)
+
+ _TCI(c200, Local0)
+ Concatenate("3", "4", b001)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c00b)) // Buffer
+ Store(3, Index(pp00, c00a)) // String
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 27)
+
+ Store(Package(9) {}, Local4)
+
+ _TCI(c200, Local0)
+ Concatenate(3, 4, Local4)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+
+ Store(m3a8(), pp00)
+ Store(2, Index(pp00, c009)) // Integer
+ Store(1, Index(pp00, c00b)) // Buffer
+ Store(1, Index(pp00, c01c)) // LOCAL_REFERENCE
+
+ Store(m3a8(), pp01)
+ Store(2, Index(pp01, c009)) // Integer
+ Store(1, Index(pp01, c00c)) // Package
+ Store(1, Index(pp01, c01c)) // LOCAL_REFERENCE
+
+ m3a4(Local0, pp0a, Local1, pp00, pp01, 0, 28)
+
+ Store("sss", Local4)
+
+ _TCI(c200, Local0)
+ Concatenate("3", "4", Local4)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(3, Index(pp00, c00a)) // String
+ Store(1, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 29)
+
+ Store(0, Local4)
+
+ _TCI(c200, Local0)
+ Concatenate("3", "4", Local4)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+
+ Store(m3a8(), pp00)
+ Store(3, Index(pp00, c00a)) // String
+ Store(1, Index(pp00, c01c)) // LOCAL_REFERENCE
+
+ Store(m3a8(), pp01)
+ Store(1, Index(pp01, c009)) // Integer
+ Store(2, Index(pp01, c00a)) // String
+ Store(1, Index(pp01, c01c)) // LOCAL_REFERENCE
+
+ m3a4(Local0, pp0a, Local1, pp00, pp01, 0, 30)
+
+ Store(Package(9) {}, Local4)
+
+ _TCI(c200, Local0)
+ Concatenate(Buffer(3) {}, Buffer(4) {}, Local4)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+
+ Store(m3a8(), pp00)
+ Store(2, Index(pp00, c009)) // Integer
+ Store(3, Index(pp00, c00b)) // Buffer
+ Store(1, Index(pp00, c01c)) // LOCAL_REFERENCE
+
+ Store(m3a8(), pp01)
+ Store(2, Index(pp01, c009)) // Integer
+ Store(2, Index(pp01, c00b)) // Buffer
+ Store(1, Index(pp01, c00c)) // Package
+ Store(1, Index(pp01, c01c)) // LOCAL_REFERENCE
+
+ m3a4(Local0, pp0a, Local1, pp00, pp01, 0, 31)
+}
+
+ // ======================== ConcatenateResTemplate
+
+if (rn00) {
+
+ Store("ConcatenateResTemplate", Debug)
+
+ Store(0, Local4)
+
+ _TCI(c200, Local0)
+ ConcatenateResTemplate(rtp0, rtp1, Local4)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c00b)) // Buffer
+ Store(1, Index(pp00, c01c)) // LOCAL_REFERENCE
+
+ Store(m3a8(), pp01)
+ Store(1, Index(pp01, c009)) // Integer
+ Store(1, Index(pp01, c01c)) // LOCAL_REFERENCE
+
+ m3a4(Local0, pp0a, Local1, pp00, pp01, 0, 32)
+}
+
+ // ======================== CondRefOf
+
+if (rn01) {
+
+ Store("CondRefOf", Debug)
+
+ // Investigate: why 3 objects, but not 2
+
+ _TCI(c200, Local0)
+ CondRefOf(i003)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(2, Index(pp00, c009)) // Integer
+ Store(1, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 33)
+
+ CopyObject("sssss", s000)
+
+ _TCI(c200, Local0)
+ CondRefOf(s000)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(2, Index(pp00, c009)) // Integer
+ Store(1, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 34)
+
+ _TCI(c200, Local0)
+ CondRefOf(i003)
+ CondRefOf(i003)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(4, Index(pp00, c009)) // Integer
+ Store(2, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 35)
+}
+
+if (rn00) {
+ Store(Package(9) {}, Local4)
+
+ _TCI(c200, Local0)
+ CondRefOf(s001, Local4)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c009)) // Integer
+ Store(2, Index(pp00, c01c)) // LOCAL_REFERENCE
+
+ Store(m3a8(), pp01)
+ Store(1, Index(pp01, c009)) // Integer
+ Store(1, Index(pp01, c00c)) // Package
+ Store(1, Index(pp01, c01c)) // LOCAL_REFERENCE
+
+ m3a4(Local0, pp0a, Local1, pp00, pp01, 0, 36)
+
+ Store(Buffer(9) {}, Local4)
+ Store(Package(9) {}, Local5)
+
+ _TCI(c200, Local0)
+ CondRefOf(Local4, Local5)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c009)) // Integer
+ Store(3, Index(pp00, c01c)) // LOCAL_REFERENCE
+
+ Store(m3a8(), pp01)
+ Store(1, Index(pp01, c009)) // Integer
+ Store(1, Index(pp01, c00c)) // Package
+ Store(2, Index(pp01, c01c)) // LOCAL_REFERENCE
+
+ m3a4(Local0, pp0a, Local1, pp00, pp01, 0, 37)
+}
+
+ // ======================== CopyObject
+
+if (rn00) {
+
+ Store("CopyObject", Debug)
+
+ _TCI(c200, Local0)
+ CopyObject(i000, i001)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 38)
+
+ Store(Buffer(9) {}, Local4)
+ Store(2, i000)
+
+ _TCI(c200, Local0)
+ CopyObject(i000, Local4)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c009)) // Integer
+ Store(1, Index(pp00, c01c)) // LOCAL_REFERENCE
+ Store(m3a8(), pp01)
+ Store(1, Index(pp01, c00b)) // Buffer
+ Store(1, Index(pp01, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, pp01, 0, 39)
+
+ CondRefOf(Local4, Local5)
+
+ _TCI(c200, Local0)
+ CopyObject(Local4, Local5)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c009)) // Integer
+ Store(2, Index(pp00, c01c)) // LOCAL_REFERENCE
+ Store(m3a8(), pp01)
+ Store(3, Index(pp01, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, pp01, 0, 40)
+
+ _TCI(c200, Local0)
+ CopyObject(Local4, Local4)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c009)) // Integer
+ Store(2, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 41)
+}
+
+ // ======================== Decrement
+
+if (rn00) {
+
+ Store("Decrement", Debug)
+
+ _TCI(c200, Local0)
+ Decrement(i000)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 42)
+
+ _TCI(c200, Local0)
+ Decrement(Local4)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c009)) // Integer
+ Store(1, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 43)
+}
+
+ // ======================== DerefOf
+
+if (rn00) {
+
+ Store("DerefOf", Debug)
+
+ CopyObject(0, i000)
+ CopyObject(0, i001)
+
+ Store(RefOf(i000), Local4)
+
+ _TCI(c200, Local0)
+ DerefOf(Local4)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 44)
+
+ Store(RefOf(i000), Local4)
+
+ _TCI(c200, Local0)
+ Store(DerefOf(Local4), i001)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 45)
+}
+
+ // ======================== Divide
+
+if (rn01) {
+
+ Store("Divide", Debug)
+
+ // Investigate: why 6 objects, but not 5
+
+ _TCI(c200, Local0)
+ Divide(1, 2)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(6, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 46)
+
+ _TCI(c200, Local0)
+ Divide(1, 2, Local4)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(5, Index(pp00, c009)) // Integer
+ Store(1, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 47)
+
+ _TCI(c200, Local0)
+ Divide(1, 2, i000)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(5, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 48)
+
+ _TCI(c200, Local0)
+ Divide(1, 2, i000, i001)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(4, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 49)
+
+ _TCI(c200, Local0)
+ Divide(1, 2, Local4, Local5)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(4, Index(pp00, c009)) // Integer
+ Store(2, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 50)
+
+ Store(0x1111111111111111, Local4)
+ Store(0x12345678, Local5)
+ Store("sssssssss", Local6)
+ Store(Buffer(17) {}, Local7)
+
+ _TCI(c200, Local0)
+ Divide(Local4, Local5, Local6, Local7)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+
+ Store(m3a8(), pp00)
+ Store(2, Index(pp00, c009)) // Integer
+ Store(4, Index(pp00, c01c)) // LOCAL_REFERENCE
+
+ Store(m3a8(), pp01)
+ Store(1, Index(pp01, c00a)) // String
+ Store(1, Index(pp01, c00b)) // Buffer
+ Store(4, Index(pp01, c01c)) // LOCAL_REFERENCE
+
+ m3a4(Local0, pp0a, Local1, pp00, pp01, 0, 51)
+}
+
+ // ======================== Fatal
+
+if (rn00) {
+
+ Store("Fatal", Debug)
+
+ _TCI(c200, Local0)
+ Fatal(1, 2, 3)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(3, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 52)
+}
+
+ Store(1, i000)
+ Store(1, i001)
+
+ // ======================== FindSetLeftBit
+
+if (rn00) {
+
+ Store("FindSetLeftBit", Debug)
+
+ _TCI(c200, Local0)
+ FindSetLeftBit(5)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(3, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 53)
+
+ _TCI(c200, Local0)
+ FindSetLeftBit(i000)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(2, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 54)
+
+ _TCI(c200, Local0)
+ FindSetLeftBit(i000, i001)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 55)
+
+ _TCI(c200, Local0)
+ FindSetLeftBit(i000, i000)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 56)
+
+ Store(1, Local4)
+ Store(1, Local5)
+
+ _TCI(c200, Local0)
+ FindSetLeftBit(Local4, Local5)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c009)) // Integer
+ Store(2, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 57)
+
+ _TCI(c200, Local0)
+ FindSetLeftBit(i000, Local5)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c009)) // Integer
+ Store(1, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 58)
+}
+
+ // ======================== FindSetRightBit
+
+if (rn00) {
+
+ Store("FindSetRightBit", Debug)
+
+ _TCI(c200, Local0)
+ FindSetRightBit(5)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(3, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 59)
+
+ _TCI(c200, Local0)
+ FindSetRightBit(i000)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(2, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 60)
+
+ _TCI(c200, Local0)
+ FindSetRightBit(i000, i001)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 61)
+
+ _TCI(c200, Local0)
+ FindSetRightBit(i000, i000)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 62)
+
+ Store(1, Local4)
+ Store(1, Local5)
+
+ _TCI(c200, Local0)
+ FindSetRightBit(Local4, Local5)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c009)) // Integer
+ Store(2, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 63)
+
+ _TCI(c200, Local0)
+ FindSetRightBit(i000, Local5)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c009)) // Integer
+ Store(1, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 64)
+
+ Store(Package(9) {}, Local5)
+
+ _TCI(c200, Local0)
+ FindSetRightBit(i000, Local5)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c009)) // Integer
+ Store(1, Index(pp00, c01c)) // LOCAL_REFERENCE
+
+ Store(m3a8(), pp01)
+ Store(1, Index(pp01, c00c)) // Package
+ Store(1, Index(pp01, c01c)) // LOCAL_REFERENCE
+
+ m3a4(Local0, pp0a, Local1, pp00, pp01, 0, 65)
+}
+
+ // ======================== FromBCD
+
+if (rn00) {
+
+ Store("FromBCD", Debug)
+
+ _TCI(c200, Local0)
+ FromBCD(4)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(3, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 66)
+
+ Store(1, i000)
+ Store(1, i001)
+
+ _TCI(c200, Local0)
+ FromBCD(i000)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(2, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 67)
+
+ _TCI(c200, Local0)
+ FromBCD(i000, i000)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 68)
+
+ _TCI(c200, Local0)
+ FromBCD(i000, i001)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 69)
+
+ Store(1, Local4)
+ Store(Buffer(9) {}, Local5)
+
+ _TCI(c200, Local0)
+ FromBCD(Local4, Local5)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c009)) // Integer
+ Store(2, Index(pp00, c01c)) // LOCAL_REFERENCE
+
+ Store(m3a8(), pp01)
+ Store(1, Index(pp01, c00b)) // Buffer
+ Store(2, Index(pp01, c01c)) // LOCAL_REFERENCE
+
+ m3a4(Local0, pp0a, Local1, pp00, pp01, 0, 70)
+}
+
+ // ======================== Increment
+
+if (rn00) {
+
+ Store("Increment", Debug)
+
+ Store(1, i000)
+
+ _TCI(c200, Local0)
+ Increment(i000)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 71)
+
+ Store(1, Local4)
+
+ _TCI(c200, Local0)
+ Increment(Local4)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c009)) // Integer
+ Store(1, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 72)
+}
+
+ // ======================== Index
+
+if (rn00) {
+
+ Store("Index", Debug)
+
+ // Package
+
+ _TCI(c200, Local0)
+ Index(p001, 1)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(2, Index(pp00, c009)) // Integer
+ Store(1, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 73)
+
+ _TCI(c200, Local0)
+ Index(Package(16) {1,2,3,4,5,6,7,8}, 1)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(11, Index(pp00, c009)) // Integer
+ Store(1, Index(pp00, c00c)) // Package
+ Store(1, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 74)
+
+ Store(Buffer(1){}, Local4)
+
+ _TCI(c200, Local0)
+ Index(p001, 1, Local4)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c009)) // Integer
+ Store(2, Index(pp00, c01c)) // LOCAL_REFERENCE
+
+ Store(m3a8(), pp01)
+ Store(1, Index(pp01, c009)) // Integer
+ Store(1, Index(pp01, c00b)) // Buffer
+ Store(1, Index(pp01, c01c)) // LOCAL_REFERENCE
+
+ m3a4(Local0, pp0a, Local1, pp00, pp01, 0, 75)
+
+ Store(1, i000)
+ Store("ssssss", Local4)
+
+ _TCI(c200, Local0)
+ Index(p001, i000, Local4)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+
+ Store(m3a8(), pp00)
+ Store(2, Index(pp00, c01c)) // LOCAL_REFERENCE
+
+ Store(m3a8(), pp01)
+ Store(1, Index(pp01, c00a)) // String
+ Store(1, Index(pp01, c01c)) // LOCAL_REFERENCE
+
+ m3a4(Local0, pp0a, Local1, pp00, pp01, 0, 76)
+
+ // Buffer
+
+ _TCI(c200, Local0)
+ Index(b004, 1)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(2, Index(pp00, c009)) // Integer
+ Store(1, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 77)
+
+ _TCI(c200, Local0)
+ Index(Buffer(16) {1,2,3,4,5,6,7,8}, 1)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(3, Index(pp00, c009)) // Integer
+ Store(1, Index(pp00, c00b)) // Buffer
+ Store(1, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 78)
+
+ Store("ssssssssss", Local4)
+
+ _TCI(c200, Local0)
+ Index(b004, 1, Local4)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c009)) // Integer
+ Store(2, Index(pp00, c01c)) // LOCAL_REFERENCE
+
+ Store(m3a8(), pp01)
+ Store(1, Index(pp01, c009)) // Integer
+ Store(1, Index(pp01, c00a)) // String
+ Store(1, Index(pp01, c01c)) // LOCAL_REFERENCE
+
+ m3a4(Local0, pp0a, Local1, pp00, pp01, 0, 79)
+
+
+ Store(1, i000)
+ Store("ssssss", Local4)
+
+ _TCI(c200, Local0)
+ Index(b004, i000, Local4)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+
+ Store(m3a8(), pp00)
+ Store(2, Index(pp00, c01c)) // LOCAL_REFERENCE
+
+ Store(m3a8(), pp01)
+ Store(1, Index(pp01, c00a)) // String
+ Store(1, Index(pp01, c01c)) // LOCAL_REFERENCE
+
+ m3a4(Local0, pp0a, Local1, pp00, pp01, 0, 80)
+
+ Store(Buffer(9) {}, Local4)
+
+ _TCI(c200, Local0)
+ Index(b004, 1, Local4)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c009)) // Integer
+ Store(2, Index(pp00, c01c)) // LOCAL_REFERENCE
+
+ Store(m3a8(), pp01)
+ Store(1, Index(pp01, c009)) // Integer
+ Store(1, Index(pp01, c00b)) // Buffer
+ Store(1, Index(pp01, c01c)) // LOCAL_REFERENCE
+
+ m3a4(Local0, pp0a, Local1, pp00, pp01, 0, 81)
+
+ // String
+
+ _TCI(c200, Local0)
+ Index(s002, 1)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(2, Index(pp00, c009)) // Integer
+ Store(1, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 82)
+
+ _TCI(c200, Local0)
+ Index("sdrtghjkiopuiy", 1)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(2, Index(pp00, c009)) // Integer
+ Store(1, Index(pp00, c00a)) // String
+ Store(1, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 83)
+
+ Store(Buffer(1){}, Local4)
+
+ _TCI(c200, Local0)
+ Index(s002, 1, Local4)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c009)) // Integer
+ Store(2, Index(pp00, c01c)) // LOCAL_REFERENCE
+
+ Store(m3a8(), pp01)
+ Store(1, Index(pp01, c009)) // Integer
+ Store(1, Index(pp01, c00b)) // Buffer
+ Store(1, Index(pp01, c01c)) // LOCAL_REFERENCE
+
+ m3a4(Local0, pp0a, Local1, pp00, pp01, 0, 84)
+
+ Store(1, i000)
+ Store("ssssss", Local4)
+
+ _TCI(c200, Local0)
+ Index(s002, i000, Local4)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+
+ Store(m3a8(), pp00)
+ Store(2, Index(pp00, c01c)) // LOCAL_REFERENCE
+
+ Store(m3a8(), pp01)
+ Store(1, Index(pp01, c00a)) // String
+ Store(1, Index(pp01, c01c)) // LOCAL_REFERENCE
+
+ m3a4(Local0, pp0a, Local1, pp00, pp01, 0, 85)
+}
+
+ // ======================== LAnd
+
+if (rn00) {
+
+ Store("LAnd", Debug)
+
+ Store(1, i000)
+ Store(1, i001)
+
+ _TCI(c200, Local0)
+ LAnd(3, 4)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(3, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 86)
+
+ _TCI(c200, Local0)
+ LAnd(i000, i001)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 87)
+
+ Store(1, Local4)
+ Store(1, Local5)
+
+ _TCI(c200, Local0)
+ LAnd(Local4, Local4)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c009)) // Integer
+ Store(2, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 88)
+
+ Store(1, Local5)
+
+ _TCI(c200, Local0)
+ LAnd(i000, Local5)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c009)) // Integer
+ Store(1, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 89)
+}
+
+ // ======================== LEqual
+
+if (rn00) {
+
+ Store("LEqual", Debug)
+
+ Store(1, Local4)
+ Store(1, Local5)
+ Store(1, i000)
+ Store(1, i001)
+
+ _TCI(c200, Local0)
+ LEqual(3, 4)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(3, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 90)
+
+ _TCI(c200, Local0)
+ LEqual(i000, i001)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 91)
+
+ _TCI(c200, Local0)
+ LEqual(Local4, Local4)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c009)) // Integer
+ Store(2, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 92)
+
+ _TCI(c200, Local0)
+ LEqual(i000, Local5)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c009)) // Integer
+ Store(1, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 93)
+}
+
+ // ======================== LGreater
+
+if (rn00) {
+
+ Store("LGreater", Debug)
+
+ _TCI(c200, Local0)
+ LGreater(3, 4)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(3, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 94)
+
+ _TCI(c200, Local0)
+ LGreater(i000, i001)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 95)
+
+ _TCI(c200, Local0)
+ LGreater(Local4, Local4)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c009)) // Integer
+ Store(2, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 96)
+
+ _TCI(c200, Local0)
+ LGreater(i000, Local5)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c009)) // Integer
+ Store(1, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 97)
+}
+
+ // ======================== LGreaterEqual
+
+if (rn01) {
+
+ Store("LGreaterEqual", Debug)
+
+ // Investigate: why the numbers differ
+ // those of LGreater (+1 Integer).
+
+ _TCI(c200, Local0)
+ LGreaterEqual(3, 4)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(4, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 98)
+
+ _TCI(c200, Local0)
+ LGreaterEqual(i000, i001)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(2, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 99)
+
+ _TCI(c200, Local0)
+ LGreaterEqual(Local4, Local4)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(2, Index(pp00, c009)) // Integer
+ Store(2, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 100)
+
+ _TCI(c200, Local0)
+ LGreaterEqual(i000, Local5)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(2, Index(pp00, c009)) // Integer
+ Store(1, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 101)
+}
+
+ // ======================== LLess
+
+if (rn00) {
+
+ Store("LLess", Debug)
+
+ _TCI(c200, Local0)
+ LLess(3, 4)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(3, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 102)
+
+ _TCI(c200, Local0)
+ LLess(i000, i001)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 103)
+
+ _TCI(c200, Local0)
+ LLess(Local4, Local4)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c009)) // Integer
+ Store(2, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 104)
+
+ _TCI(c200, Local0)
+ LLess(i000, Local5)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c009)) // Integer
+ Store(1, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 105)
+}
+
+ // ======================== LLessEqual
+
+if (rn01) {
+
+ Store("LLessEqual", Debug)
+
+ // Investigate: why the numbers differ
+ // those of LGreater (+1 Integer) (but
+ // identical to LGreaterEqual).
+
+ _TCI(c200, Local0)
+ LLessEqual(3, 4)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(4, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 106)
+
+ _TCI(c200, Local0)
+ LLessEqual(i000, i001)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(2, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 107)
+
+ _TCI(c200, Local0)
+ LLessEqual(Local4, Local4)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(2, Index(pp00, c009)) // Integer
+ Store(2, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 108)
+
+ _TCI(c200, Local0)
+ LLessEqual(i000, Local5)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(2, Index(pp00, c009)) // Integer
+ Store(1, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 109)
+}
+
+ // ======================== LNot
+
+if (rn00) {
+
+ Store("LNot", Debug)
+
+ _TCI(c200, Local0)
+ LNot(3)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(2, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 110)
+
+ _TCI(c200, Local0)
+ LNot(i000)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 111)
+
+ _TCI(c200, Local0)
+ LNot(Local4)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c009)) // Integer
+ Store(1, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 112)
+}
+
+ // ======================== LNotEqual
+
+if (rn01) {
+
+ Store("LNotEqual", Debug)
+
+ // Investigate: why the numbers differ
+ // those of LGreater (+1 Integer) (but
+ // identical to LGreaterEqual).
+
+ _TCI(c200, Local0)
+ LNotEqual(3, 4)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(4, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 113)
+
+ _TCI(c200, Local0)
+ LNotEqual(i000, i001)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(2, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 114)
+
+ _TCI(c200, Local0)
+ LNotEqual(Local4, Local4)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(2, Index(pp00, c009)) // Integer
+ Store(2, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 115)
+
+ _TCI(c200, Local0)
+ LNotEqual(i000, Local5)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(2, Index(pp00, c009)) // Integer
+ Store(1, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 116)
+}
+
+ // ======================== LOr
+
+if (rn00) {
+
+ Store("LOr", Debug)
+
+ _TCI(c200, Local0)
+ LOr(3, 4)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(3, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 117)
+
+ _TCI(c200, Local0)
+ LOr(i000, i001)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 118)
+
+ _TCI(c200, Local0)
+ LOr(Local4, Local4)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c009)) // Integer
+ Store(2, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 119)
+
+ _TCI(c200, Local0)
+ LOr(i000, Local5)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c009)) // Integer
+ Store(1, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 120)
+}
+
+ // ======================== Match
+
+if (rn00) {
+
+ Store("Match", Debug)
+
+ Store(1, Local4)
+ Store(1, Local5)
+ Store(1, i000)
+ Store(1, i001)
+
+ _TCI(c200, Local0)
+ Match(Package(8) {1,2,3,4,5,6,7,8}, MTR, 2, MTR, 3, 0)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(15, Index(pp00, c009)) // Integer
+ Store(1, Index(pp00, c00c)) // Package
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 121)
+
+ _TCI(c200, Local0)
+ Match(Package(i001) {1,2,3,4,5,6,7,8}, MTR, i000, MTR, Local4, Local4)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(11, Index(pp00, c009)) // Integer
+ Store(1, Index(pp00, c00c)) // Package
+ Store(2, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 122)
+
+ _TCI(c200, Local0)
+ Match(p002, MTR, i000, MTR, Local4, Local4)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(3, Index(pp00, c009)) // Integer
+ Store(2, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 123)
+}
+
+ // ======================== Mid
+
+if (rn00) {
+
+ Store("Mid", Debug)
+
+ _TCI(c200, Local0)
+ Mid("asdfghjk", 0, 1)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(3, Index(pp00, c009)) // Integer
+ Store(2, Index(pp00, c00a)) // String
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 124)
+
+ Store(Package(9) {}, Local4)
+
+ _TCI(c200, Local0)
+ Mid("gsqrtsghjkmnh", 0, 9, Local4)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+
+ Store(m3a8(), pp00)
+ Store(2, Index(pp00, c009)) // Integer
+ Store(2, Index(pp00, c00a)) // String
+ Store(1, Index(pp00, c01c)) // LOCAL_REFERENCE
+
+ Store(m3a8(), pp01)
+ Store(2, Index(pp01, c009)) // Integer
+ Store(1, Index(pp01, c00a)) // String
+ Store(1, Index(pp01, c00c)) // Package
+ Store(1, Index(pp01, c01c)) // LOCAL_REFERENCE
+
+ m3a4(Local0, pp0a, Local1, pp00, pp01, 0, 125)
+
+ Store(Package(9) {}, Local4)
+
+ _TCI(c200, Local0)
+ Mid(s000, 0, 1, Local4)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+
+ Store(m3a8(), pp00)
+ Store(2, Index(pp00, c009)) // Integer
+ Store(1, Index(pp00, c00a)) // String
+ Store(1, Index(pp00, c01c)) // LOCAL_REFERENCE
+
+ Store(m3a8(), pp01)
+ Store(2, Index(pp01, c009)) // Integer
+ Store(1, Index(pp01, c00c)) // Package
+ Store(1, Index(pp01, c01c)) // LOCAL_REFERENCE
+
+ m3a4(Local0, pp0a, Local1, pp00, pp01, 0, 126)
+
+ Store(Buffer(9) {}, Local4)
+
+ _TCI(c200, Local0)
+ Mid(b000, 0, 1, Local4)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+
+ Store(m3a8(), pp00)
+ Store(2, Index(pp00, c009)) // Integer
+ Store(1, Index(pp00, c00b)) // Buffer
+ Store(1, Index(pp00, c01c)) // LOCAL_REFERENCE
+
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 127)
+}
+
+ // ======================== Mod
+
+if (rn00) {
+
+ Store("Mod", Debug)
+
+ _TCI(c200, Local0)
+ Mod(3, 4)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(4, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 128)
+
+ Store(Buffer(9) {}, Local4)
+
+ _TCI(c200, Local0)
+ Mod(3, 4, Local4)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(3, Index(pp00, c009)) // Integer
+ Store(1, Index(pp00, c01c)) // LOCAL_REFERENCE
+ Store(m3a8(), pp01)
+ Store(2, Index(pp01, c009)) // Integer
+ Store(1, Index(pp01, c00b)) // Buffer
+ Store(1, Index(pp01, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, pp01, 0, 129)
+
+ Store(1, Local4)
+
+ _TCI(c200, Local0)
+ Mod(i000, Local4, i001)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c009)) // Integer
+ Store(1, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 130)
+}
+
+ // ======================== Multiply
+
+if (rn00) {
+
+ Store("Multiply", Debug)
+
+ _TCI(c200, Local0)
+ Multiply(3, 4)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(4, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 131)
+
+ _TCI(c200, Local0)
+ Multiply(3, 4, i000)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(3, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 132)
+
+ Store(1, Local4)
+
+ _TCI(c200, Local0)
+ Multiply(Local4, Local4, Local4)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c009)) // Integer
+ Store(3, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 133)
+}
+
+ // ======================== NAnd
+
+if (rn00) {
+
+ Store("NAnd", Debug)
+
+ _TCI(c200, Local0)
+ NAnd(3, 4)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(4, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 134)
+
+ _TCI(c200, Local0)
+ NAnd(i000, 4, Local4)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(2, Index(pp00, c009)) // Integer
+ Store(1, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 135)
+
+ _TCI(c200, Local0)
+ NAnd(i000, i001, i002)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 136)
+}
+
+ // ======================== NOr
+
+if (rn00) {
+
+ Store("NOr", Debug)
+
+ _TCI(c200, Local0)
+ NOr(3, 4)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(4, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 137)
+
+ _TCI(c200, Local0)
+ NOr(i000, 4, Local4)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(2, Index(pp00, c009)) // Integer
+ Store(1, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 138)
+
+ _TCI(c200, Local0)
+ NOr(i000, i001, i002)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 139)
+}
+
+ // ======================== Not
+
+if (rn00) {
+
+ Store("Not", Debug)
+
+ _TCI(c200, Local0)
+ Not(3)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(3, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 140)
+
+ _TCI(c200, Local0)
+ Not(3, i001)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(2, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 141)
+
+ _TCI(c200, Local0)
+ Not(i000, i001)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 142)
+
+ Store(1, Local4)
+
+ _TCI(c200, Local0)
+ Not(Local4, Local4)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c009)) // Integer
+ Store(2, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 143)
+
+ Store("sssssssssss", Local5)
+
+ _TCI(c200, Local0)
+ Not(i000, Local5)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c009)) // Integer
+ Store(1, Index(pp00, c01c)) // LOCAL_REFERENCE
+
+ Store(m3a8(), pp01)
+ Store(1, Index(pp01, c00a)) // String
+ Store(1, Index(pp01, c01c)) // LOCAL_REFERENCE
+
+ m3a4(Local0, pp0a, Local1, pp00, pp01, 0, 144)
+}
+
+ // ======================== ObjectType
+
+if (rn00) {
+
+ Store("ObjectType", Debug)
+
+ _TCI(c200, Local0)
+ ObjectType(i000)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 145)
+
+ Store(Package(1){}, Local4)
+
+ _TCI(c200, Local0)
+ ObjectType(Local4)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c009)) // Integer
+ Store(1, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 146)
+}
+
+ // ======================== Or
+
+if (rn00) {
+
+ Store("Or", Debug)
+
+ _TCI(c200, Local0)
+ Or(3, 4)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(4, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 147)
+
+ Store(Package(9){}, Local4)
+
+ _TCI(c200, Local0)
+ Or(i000, 4, Local4)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(2, Index(pp00, c009)) // Integer
+ Store(1, Index(pp00, c01c)) // LOCAL_REFERENCE
+ Store(m3a8(), pp01)
+ Store(1, Index(pp01, c009)) // Integer
+ Store(1, Index(pp01, c00c)) // Package
+ Store(1, Index(pp01, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, pp01, 0, 148)
+
+ _TCI(c200, Local0)
+ Or(i000, i001, i002)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 149)
+}
+
+ // ======================== RefOf
+
+if (rn00) {
+
+ Store("RefOf", Debug)
+
+ _TCI(c200, Local0)
+ RefOf(i000)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 150)
+
+ Store(1, Local4)
+
+ _TCI(c200, Local0)
+ RefOf(Local4)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(2, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 151)
+}
+
+ // ======================== Release
+
+if (rn00) {
+
+ Store("Release", Debug)
+
+ Acquire(MT00, 100)
+
+ _TCI(c200, Local0)
+ Release(MT00)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 152)
+}
+
+ // ======================== Reset
+
+if (rn00) {
+
+ Store("Reset", Debug)
+
+ _TCI(c200, Local0)
+ Reset(EV00)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 153)
+}
+
+ // ======================== ShiftLeft
+
+if (rn00) {
+
+ Store("ShiftLeft", Debug)
+
+ _TCI(c200, Local0)
+ ShiftLeft(3, 4)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(4, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 154)
+
+ Store("qqqqqqqqqqqqq", Local4)
+
+ _TCI(c200, Local0)
+ ShiftLeft(3, 4, Local4)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+
+ Store(m3a8(), pp00)
+ Store(3, Index(pp00, c009)) // Integer
+ Store(1, Index(pp00, c01c)) // LOCAL_REFERENCE
+
+ Store(m3a8(), pp01)
+ Store(2, Index(pp01, c009)) // Integer
+ Store(1, Index(pp01, c00a)) // String
+ Store(1, Index(pp01, c01c)) // LOCAL_REFERENCE
+
+ m3a4(Local0, pp0a, Local1, pp00, pp01, 0, 155)
+
+ _TCI(c200, Local0)
+ ShiftLeft(i000, Local4, i001)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c009)) // Integer
+ Store(1, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 156)
+}
+
+ // ======================== ShiftRight
+
+if (rn00) {
+
+ Store("ShiftRight", Debug)
+
+ _TCI(c200, Local0)
+ ShiftRight(3, 4)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(4, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 157)
+
+ Store("qqqqqqqqqqqqq", Local4)
+
+ _TCI(c200, Local0)
+ ShiftRight(3, 4, Local4)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+
+ Store(m3a8(), pp00)
+ Store(3, Index(pp00, c009)) // Integer
+ Store(1, Index(pp00, c01c)) // LOCAL_REFERENCE
+
+ Store(m3a8(), pp01)
+ Store(2, Index(pp01, c009)) // Integer
+ Store(1, Index(pp01, c00a)) // String
+ Store(1, Index(pp01, c01c)) // LOCAL_REFERENCE
+
+ m3a4(Local0, pp0a, Local1, pp00, pp01, 0, 158)
+
+ _TCI(c200, Local0)
+ ShiftRight(i000, Local4, i001)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c009)) // Integer
+ Store(1, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 159)
+}
+
+ // ======================== Signal
+
+if (rn00) {
+
+ Store("Signal", Debug)
+
+ Reset(EV00)
+
+ _TCI(c200, Local0)
+ Signal(EV00)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 160)
+}
+
+ // ======================== SizeOf
+
+if (rn00) {
+
+ Store("SizeOf", Debug)
+
+ Store(Package(9) {}, Local4)
+
+ _TCI(c200, Local0)
+ SizeOf(Local4)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c009)) // Integer
+ Store(1, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 161)
+
+ _TCI(c200, Local0)
+ SizeOf(b000)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 162)
+}
+
+ // ======================== Sleep
+
+if (rn00) {
+
+ Store("Sleep", Debug)
+
+ _TCI(c200, Local0)
+ Sleep(1)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 163)
+
+ Store(1, i000)
+
+ _TCI(c200, Local0)
+ Sleep(i000)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 164)
+
+ Store(1, Local4)
+
+ _TCI(c200, Local0)
+ Sleep(Local4)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 165)
+}
+
+ // ======================== Stall
+
+if (rn00) {
+
+ Store("Stall", Debug)
+
+ _TCI(c200, Local0)
+ Stall(1)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 166)
+
+ _TCI(c200, Local0)
+ Stall(i000)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 167)
+
+ _TCI(c200, Local0)
+ Stall(Local4)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 168)
+}
+
+ // ======================== Store
+
+if (rn01) {
+ // Investigate and analize the logic of
+ // crreating/deleting objects while processing
+ // the Store operator (the number of objects in
+ // different cases applying the Store operator).
+
+ Store("Store", Debug)
+
+ // Writing into uninitialized LocalX
+ m002()
+
+ Store("ssssssssss", Local4)
+
+ _TCI(c200, Local0)
+ Store(5, Local4)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c009)) // Integer
+ Store(1, Index(pp00, c01c)) // LOCAL_REFERENCE
+
+ Store(m3a8(), pp01)
+ Store(1, Index(pp01, c00a)) // String
+ Store(1, Index(pp01, c01c)) // LOCAL_REFERENCE
+
+ m3a4(Local0, pp0a, Local1, pp00, pp01, 0, 169)
+
+ Store(1, i000)
+ Store(1, i001)
+
+ _TCI(c200, Local0)
+ Store(i000, i001)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 170)
+
+ // But why this example contains three objects,
+ // just as expected.
+
+ Store("sssssssss", Local4)
+ Store(Package(9) {}, Local5)
+
+ _TCI(c200, Local0)
+ Store(Local4, Local5)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c00a)) // String
+ Store(2, Index(pp00, c01c)) // LOCAL_REFERENCE
+ Store(m3a8(), pp01)
+ Store(1, Index(pp01, c00c)) // Package
+ Store(2, Index(pp01, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, pp01, 0, 171)
+
+ Store(Package(8) {1,2,3,4,5,6,7,8}, Local4)
+ Store(1, Local5)
+
+ _TCI(c200, Local0)
+ Store(Local4, Local5)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(8, Index(pp00, c009)) // Integer
+ Store(1, Index(pp00, c00c)) // Package
+ Store(2, Index(pp00, c01c)) // LOCAL_REFERENCE
+ Store(m3a8(), pp01)
+ Store(1, Index(pp01, c009)) // Integer
+ Store(2, Index(pp01, c01c)) // LOCAL_REFERENCE
+ // Package is not being removed,
+ // its elements created outide are
+ // not removed as well.
+ Store(m3a9(), pp02)
+ Store(8, Index(pp02, c228)) // CLIST_ID_OPERAND
+ m3a4(Local0, pp0a, Local1, pp00, pp01, pp02, 172)
+
+ Store(Buffer(8) {1,2,3,4,5,6,7,8}, Local4)
+ Store("q", Local5)
+
+ _TCI(c200, Local0)
+ Store(Local4, Local5)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c00b)) // Buffer
+ Store(2, Index(pp00, c01c)) // LOCAL_REFERENCE
+ Store(m3a8(), pp01)
+ Store(1, Index(pp01, c00a)) // String
+ Store(2, Index(pp01, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, pp01, 0, 173)
+
+ Store("sghjklopiuytrwq", Local4)
+ Store(Buffer(8) {1,2,3,4,5,6,7,8}, Local5)
+
+ _TCI(c200, Local0)
+ Store(Local4, Local5)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c00a)) // String
+ Store(2, Index(pp00, c01c)) // LOCAL_REFERENCE
+ Store(m3a8(), pp01)
+ Store(1, Index(pp01, c00b)) // Buffer
+ Store(2, Index(pp01, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, pp01, 0, 174)
+
+ Store("a", Local4)
+
+ _TCI(c200, Local0)
+ Store("ssss", Local4)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c00a)) // String
+ Store(1, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 175)
+
+ Store(Buffer(3) {}, Local4)
+
+ _TCI(c200, Local0)
+ Store(Buffer(3) {}, Local4)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c009)) // Integer
+ Store(1, Index(pp00, c00b)) // Buffer
+ Store(1, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 176)
+
+ // Why there is no one new Integer?
+
+ Store(0, i000)
+ Store(0, i001)
+
+ _TCI(c200, Local0)
+ Store(i000, i001)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 177)
+}
+
+ // ======================== Subtract
+
+if (rn00) {
+
+ Store("Subtract", Debug)
+
+ _TCI(c200, Local0)
+ Subtract(3, 4)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(4, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 178)
+
+ _TCI(c200, Local0)
+ Subtract(3, 4)
+ Subtract(3, 4)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(8, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 179)
+
+ Store(5, num)
+ Store(num, lpN0)
+ Store(0, lpC0)
+ _TCI(c200, Local0)
+ While (lpN0) {
+ Subtract(3, 4)
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Multiply(6, num, Local5)
+ Store(Local5, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 180)
+
+ Store(3, i000)
+ Store(4, i001)
+
+ _TCI(c200, Local0)
+ Subtract(i000, i001)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(2, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 181)
+
+ Store(0, Local4)
+
+ _TCI(c200, Local0)
+ Subtract(i000, i001, Local4)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c009)) // Integer
+ Store(1, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 182)
+
+ Store(2, Local4)
+ Store(1, Local5)
+ Store(0, Local6)
+
+ _TCI(c200, Local0)
+ Subtract(Local4, Local5, Local6)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c009)) // Integer
+ Store(3, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 183)
+
+ _TCI(c200, Local0)
+ Subtract(3, Local6, i000)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(2, Index(pp00, c009)) // Integer
+ Store(1, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 184)
+}
+
+ // ======================== ToBCD
+
+if (rn00) {
+
+ Store("ToBCD", Debug)
+
+ _TCI(c200, Local0)
+ ToBCD(3)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(3, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 185)
+
+ _TCI(c200, Local0)
+ ToBCD(3, i000)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(2, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 186)
+
+ _TCI(c200, Local0)
+ ToBCD(3, Local4)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(2, Index(pp00, c009)) // Integer
+ Store(1, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 187)
+
+ _TCI(c200, Local0)
+ ToBCD(i000, i001)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 188)
+
+ _TCI(c200, Local0)
+ ToBCD(Local4, Local5)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c009)) // Integer
+ Store(2, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 189)
+}
+
+ // ======================== ToBuffer
+
+if (rn00) {
+
+ Store("ToBuffer", Debug)
+
+ _TCI(c200, Local0)
+ ToBuffer(3)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(2, Index(pp00, c009)) // Integer
+ Store(1, Index(pp00, c00b)) // Buffer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 190)
+
+ Store(1, Local4)
+
+ _TCI(c200, Local0)
+ ToBuffer(3, Local4)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c009)) // Integer
+ Store(1, Index(pp00, c00b)) // Buffer
+ Store(1, Index(pp00, c01c)) // LOCAL_REFERENCE
+ Store(m3a8(), pp01)
+ Store(2, Index(pp01, c009)) // Integer
+ Store(1, Index(pp01, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, pp01, 0, 191)
+
+ Store(1, Local4)
+
+ _TCI(c200, Local0)
+ ToBuffer(Local4, Local4)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c00b)) // Buffer
+ Store(2, Index(pp00, c01c)) // LOCAL_REFERENCE
+ Store(m3a8(), pp01)
+ Store(1, Index(pp01, c009)) // Integer
+ Store(2, Index(pp01, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, pp01, 0, 192)
+
+ Store(1, Local4)
+
+ _TCI(c200, Local0)
+ ToBuffer(Buffer(3) {}, Local4)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c009)) // Integer
+ Store(2, Index(pp00, c00b)) // Buffer
+ Store(1, Index(pp00, c01c)) // LOCAL_REFERENCE
+ Store(m3a8(), pp01)
+ Store(2, Index(pp01, c009)) // Integer
+ Store(1, Index(pp01, c00b)) // Buffer
+ Store(1, Index(pp01, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, pp01, 0, 193)
+}
+
+if (rn01) {
+ // Investigate, why only two objects
+
+ Store(Buffer(3) {}, Local4)
+
+ _TCI(c200, Local0)
+ ToBuffer(Local4, Local4)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(2, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 194)
+}
+
+if (rn00) {
+ Store(Buffer(3) {}, Local4)
+ Store(Buffer(3) {}, Local5)
+
+ _TCI(c200, Local0)
+ ToBuffer(Local4, Local5)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c00b)) // Buffer
+ Store(2, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 195)
+}
+
+ // ======================== ToDecimalString
+
+if (rn00) {
+ Store("ToDecimalString", Debug)
+
+ _TCI(c200, Local0)
+ ToDecimalString(3)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(2, Index(pp00, c009)) // Integer
+ Store(1, Index(pp00, c00a)) // String
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 196)
+
+ Store(Buffer(3) {}, Local4)
+
+ _TCI(c200, Local0)
+ ToDecimalString(3, Local4)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c009)) // Integer
+ Store(1, Index(pp00, c00a)) // String
+ Store(1, Index(pp00, c01c)) // LOCAL_REFERENCE
+ Store(m3a8(), pp01)
+ Store(1, Index(pp01, c009)) // Integer
+ Store(1, Index(pp01, c00b)) // Buffer
+ Store(1, Index(pp01, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, pp01, 0, 197)
+
+ Store("aaa", Local4)
+
+ _TCI(c200, Local0)
+ ToDecimalString(i000, Local4)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c00a)) // String
+ Store(1, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 198)
+
+ Store(1, Local4)
+ Store(Package(9) {}, Local5)
+
+ _TCI(c200, Local0)
+ ToDecimalString(Local4, Local5)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c00a)) // String
+ Store(2, Index(pp00, c01c)) // LOCAL_REFERENCE
+
+ Store(m3a8(), pp01)
+ Store(1, Index(pp01, c00c)) // Package
+ Store(2, Index(pp01, c01c)) // LOCAL_REFERENCE
+
+ m3a4(Local0, pp0a, Local1, pp00, pp01, 0, 199)
+
+ Store(1, Local4)
+
+ _TCI(c200, Local0)
+ ToDecimalString(Local4, s000)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c00a)) // String
+ Store(1, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 200)
+}
+
+ // ======================== ToHexString
+
+if (rn00) {
+ Store("ToHexString", Debug)
+
+ _TCI(c200, Local0)
+ ToHexString(3)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(2, Index(pp00, c009)) // Integer
+ Store(1, Index(pp00, c00a)) // String
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 201)
+
+ Store(Buffer(3) {}, Local4)
+
+ _TCI(c200, Local0)
+ ToHexString(3, Local4)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c009)) // Integer
+ Store(1, Index(pp00, c00a)) // String
+ Store(1, Index(pp00, c01c)) // LOCAL_REFERENCE
+ Store(m3a8(), pp01)
+ Store(1, Index(pp01, c009)) // Integer
+ Store(1, Index(pp01, c00b)) // Buffer
+ Store(1, Index(pp01, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, pp01, 0, 202)
+
+ Store("aaa", Local4)
+
+ _TCI(c200, Local0)
+ ToHexString(i000, Local4)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c00a)) // String
+ Store(1, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 203)
+
+ Store(1, Local4)
+ Store(Package(9) {}, Local5)
+
+ _TCI(c200, Local0)
+ ToHexString(Local4, Local5)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c00a)) // String
+ Store(2, Index(pp00, c01c)) // LOCAL_REFERENCE
+
+ Store(m3a8(), pp01)
+ Store(1, Index(pp01, c00c)) // Package
+ Store(2, Index(pp01, c01c)) // LOCAL_REFERENCE
+
+ m3a4(Local0, pp0a, Local1, pp00, pp01, 0, 204)
+
+ Store(1, Local4)
+
+ _TCI(c200, Local0)
+ ToHexString(Local4, s000)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c00a)) // String
+ Store(1, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 205)
+}
+
+ // ======================== ToInteger
+
+if (rn01) {
+
+ Store("ToInteger", Debug)
+
+ // Investigate: why only 2 objects, but not 3
+
+ _TCI(c200, Local0)
+ ToInteger(3)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(2, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 206)
+
+ _TCI(c200, Local0)
+ ToInteger(3, i000)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 207)
+
+ // Inv: why only one object, no Integer
+
+ Store(1, Local4)
+
+ _TCI(c200, Local0)
+ ToInteger(Local4, i000)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 208)
+
+ Store(Package(9){}, Local4)
+
+ _TCI(c200, Local0)
+ ToInteger(i000, Local4)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c009)) // Integer
+ Store(1, Index(pp00, c01c)) // LOCAL_REFERENCE
+ Store(m3a8(), pp01)
+ Store(1, Index(pp01, c00c)) // Package
+ Store(1, Index(pp01, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, pp01, 0, 209)
+
+ // See: there are created all the expected 3 objects
+
+ _TCI(c200, Local0)
+ ToInteger("0xaaaa")
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(2, Index(pp00, c009)) // Integer
+ Store(1, Index(pp00, c00a)) // String
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 210)
+
+ _TCI(c200, Local0)
+ ToInteger("0xaaaa", i000)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c009)) // Integer
+ Store(1, Index(pp00, c00a)) // String
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 211)
+
+ Store("0xaaaa", Local4)
+
+ _TCI(c200, Local0)
+ ToInteger(Local4, i000)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c009)) // Integer
+ Store(1, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 212)
+
+ Store("0xaaaa", s000)
+ Store(Package(9){}, Local4)
+
+ _TCI(c200, Local0)
+ ToInteger(s000, Local4)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c009)) // Integer
+ Store(1, Index(pp00, c01c)) // LOCAL_REFERENCE
+ Store(m3a8(), pp01)
+ Store(1, Index(pp01, c00c)) // Package
+ Store(1, Index(pp01, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, pp01, 0, 213)
+
+ _TCI(c200, Local0)
+ ToInteger(Buffer(9){1,2,3,4,5,6,7,8,9})
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(3, Index(pp00, c009)) // Integer
+ Store(1, Index(pp00, c00b)) // Buffer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 214)
+}
+
+ // ======================== ToString
+
+if (rn02) {
+
+ Store("ToString", Debug)
+
+ // Integer
+
+ // Inv: Buffer is result of conversion of Integer 2?
+ // Error: 1 Integer is not deleted
+
+ _TCI(c200, Local0)
+ ToString(2)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(3, Index(pp00, c009)) // Integer
+ Store(1, Index(pp00, c00a)) // String
+ Store(1, Index(pp00, c00b)) // Buffer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 215)
+}
+
+if (rn00) {
+ Store("sssss", Local5)
+
+ _TCI(c200, Local0)
+ Store(ToString(2), Local5)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c00a)) // String
+ Store(1, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 216)
+
+ Store(2, i000)
+ Store("sssss", Local5)
+
+ _TCI(c200, Local0)
+ Store(ToString(i000), Local5)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(2, Index(pp00, c009)) // Integer
+ Store(1, Index(pp00, c00a)) // String
+ Store(1, Index(pp00, c00b)) // Buffer
+ Store(1, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 217)
+}
+
+if (rn02) {
+
+ // Error: 1 Integer is not deleted
+
+ Store("sssss", Local5)
+
+ _TCI(c200, Local0)
+ ToString(2, 0, Local5)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(2, Index(pp00, c009)) // Integer
+ Store(1, Index(pp00, c00a)) // String
+ Store(1, Index(pp00, c00b)) // Buffer
+ Store(1, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 218)
+}
+
+ // Buffer
+
+if (rn00) {
+
+ Store("sssss", Local5)
+ Store(Buffer(9) {1,2,3,4,5,6,7,8,9}, b000)
+
+ _TCI(c200, Local0)
+ Store(ToString(b000), Local5)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(2, Index(pp00, c009)) // Integer
+ Store(1, Index(pp00, c00a)) // String
+ Store(1, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 219)
+
+ Store("sssss", Local5)
+
+ _TCI(c200, Local0)
+ ToString(Buffer(9) {1,2,3,4,5,6,7,8,9}, 0, Local5)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(2, Index(pp00, c009)) // Integer
+ Store(1, Index(pp00, c00a)) // String
+ Store(1, Index(pp00, c00b)) // Buffer
+ Store(1, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 220)
+
+ Store(Buffer(9) {1,2,3,4,5,6,7,8,9}, Local4)
+ Store(1, Local5)
+ Store("sssssss", Local6)
+
+ _TCI(c200, Local0)
+ ToString(Local4, Local5, Local6)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c00a)) // String
+ Store(3, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 221)
+}
+
+ // ======================== Wait
+
+if (rn00) {
+
+ Store("Wait", Debug)
+
+ _TCI(c200, Local0)
+ Wait(EV00, 1)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(2, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 222)
+
+ Store(1, Local4)
+
+ _TCI(c200, Local0)
+ Wait(EV00, Local4)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c009)) // Integer
+ Store(1, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 223)
+
+ Store(1, i000)
+
+ _TCI(c200, Local0)
+ Wait(EV00, i000)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 224)
+}
+
+ // ======================== XOr
+
+if (rn00) {
+
+ Store("XOr", Debug)
+
+ _TCI(c200, Local0)
+ XOr(3, 4)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(4, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 225)
+
+ Store(1, Local4)
+ Store(1, Local5)
+ Store(1, Local6)
+
+ _TCI(c200, Local0)
+ XOr(Local4, Local5, Local6)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c009)) // Integer
+ Store(3, Index(pp00, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 226)
+
+ Store(1, i000)
+ Store(1, i001)
+ Store(1, i002)
+
+ _TCI(c200, Local0)
+ XOr(i000, i001, i002)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(1, Index(pp00, c009)) // Integer
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 227)
+
+ Store(Package(9) {}, Local6)
+
+ _TCI(c200, Local0)
+ XOr(i000, 3, Local6)
+ _TCI(c201, pp0a)
+ m3a3(Local0, pp0a, Local1)
+ Store(m3a8(), pp00)
+ Store(2, Index(pp00, c009)) // Integer
+ Store(1, Index(pp00, c01c)) // LOCAL_REFERENCE
+ Store(m3a8(), pp01)
+ Store(1, Index(pp01, c009)) // Integer
+ Store(1, Index(pp01, c00c)) // Package
+ Store(1, Index(pp01, c01c)) // LOCAL_REFERENCE
+ m3a4(Local0, pp0a, Local1, pp00, pp01, 0, 228)
+}
+
+
+ RST0()
+
+/*
+ * // ################################## Check all the test:
+ * _TCI(c201, LLL1)
+ * m3a3(LLL0, LLL1, LLL2)
+ * m3a4(LLL0, LLL1, LLL2, 0, 0, 0, 0xff0)
+ * // ################################## Check all the test.
+ */
+}
diff --git a/tests/aslts/src/runtime/collections/IMPL/ACPICA/tests/dynobj/dobmisc.asl b/tests/aslts/src/runtime/collections/IMPL/ACPICA/tests/dynobj/dobmisc.asl
new file mode 100644
index 000000000..258b0c7c2
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/IMPL/ACPICA/tests/dynobj/dobmisc.asl
@@ -0,0 +1,91 @@
+/*
+ * 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.
+ */
+
+/*
+ * DynObj: miscellaneous tests
+ */
+
+Name(z140, 140)
+
+Method(m375)
+{
+ // The Created Objects benchmark Package
+ Name(pp00, Package(1) {})
+
+ // The Deleted Objects benchmark Package
+ Name(pp01, Package(1) {})
+
+ // The per-memory type benchmark Package
+ Name(pp02, Package(1) {})
+
+ // Package for _TCI-begin statistics
+ // (use NamedX, dont use ArgX/LocalX).
+ Name(pp0a, Package(1) {})
+
+ // Create and initialize the Memory Consumption Statistics Packages
+
+ Store(m3a0(c200), Local0) // _TCI-end statistics
+ Store(m3a0(c201), pp0a) // _TCI-begin statistics
+ Store(m3a0(0), Local1) // difference
+
+ SET0(z140, "m375", 0)
+
+ /* Start of all sub-tests */
+
+
+ Store("Test misc 0", Debug)
+
+ _TCI(c200, Local0)
+
+ // ASL-construction being investigated
+
+/* to be implemented, now arbitrary operation only */
+
+ Add(0, 1)
+
+ // Use NamedX for _TCI-begin statistics Package
+ // not to touch the LOCAL_REFERENCE entry.
+ _TCI(c201, pp0a)
+
+ m3a3(Local0, pp0a, Local1) // calculate difference
+
+ // Verify result
+
+/* Is not correct yet !!! */
+
+ Store(m3a8(), pp00)
+ Store(2, Index(pp00, c009)) // Integer
+
+ m3a4(Local0, pp0a, Local1, pp00, 0, 0, 4)
+
+ /* End of all sub-tests */
+
+ RST0()
+}
diff --git a/tests/aslts/src/runtime/collections/IMPL/ACPICA/tests/dynobj/state_of_all_testst.txt b/tests/aslts/src/runtime/collections/IMPL/ACPICA/tests/dynobj/state_of_all_testst.txt
new file mode 100644
index 000000000..fcdec0026
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/IMPL/ACPICA/tests/dynobj/state_of_all_testst.txt
@@ -0,0 +1,50 @@
+Describe here how all other tests of ASLTS go with ML consumption engine.
+
+1.
+
+arithmetic - ok
+constant - ok
+descriptor - ok
+logic - ok
+region - ok
+synchronization - ok
+==================== all them result in something like these:
+ACPI (uttrack-0703): No outstanding allocations [20060707]
+utdebugstat-0194 [1858285] "UtCloseStat" : Memory Consumption errors encountered!
+ERRORS SUMMARY: ErrorScale 0x800000; Sum 0x0, CSum 0x0, OSum 0x0, Failed executions of methods number 0
+ERROR: allocated memory total 0x2488f (times), freed total 0x2488d (times)
+ Uncounted are 0x2488f - (0x2488d + 4) == 0xfffffffe allocations
+====================
+
+2.
+
+bfield - Point 2, Errors: Sum 0x100000, CSum 0x80, OSum 0x0
+
+Fixed by this:
+==============
+ACPI_STATUS
+AcpiDsExecBeginOp (
+ ACPI_WALK_STATE *WalkState,
+ ACPI_PARSE_OBJECT **OutOp)
+{
+ case AML_CLASS_EXECUTE:
+ case AML_CLASS_CREATE:
+ /*
+ * Most operators with arguments.
+ * Start a new result/operand state
+ */
+ if (WalkState->OpInfo->ObjectType != ACPI_TYPE_BUFFER_FIELD)
+ {
+ Status = AcpiDsResultStackPush (WalkState);
+ }
+ break;
+}
+
+
+control - Errors: Sum 0x280000, CSum 0x0, OSum 0x40
+manipulation - Sum 0x280000, CSum 0x0, OSum 0x40; Errors: Sum 0x100000, CSum 0x80, OSum 0x0
+name - Errors: Sum 0x80000, CSum 0x0, OSum 0x60
+reference - Sum 0x280000, CSum 0x0, OSum 0x70
+
+
+
diff --git a/tests/aslts/src/runtime/collections/IMPL/Makefile b/tests/aslts/src/runtime/collections/IMPL/Makefile
new file mode 100644
index 000000000..fbeb67898
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/IMPL/Makefile
@@ -0,0 +1,6 @@
+# IMPL
+
+MDIRS= ACPICA
+
+TOP= ../../../..
+include $(TOP)/Makefile.switch
diff --git a/tests/aslts/src/runtime/collections/IMPL/README b/tests/aslts/src/runtime/collections/IMPL/README
new file mode 100644
index 000000000..326047399
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/IMPL/README
@@ -0,0 +1,14 @@
+
+CONTENTS
+
+ Implementation dependent tests.
+ These tests may be based on some internal
+ features of the particular implementation
+ of ACPI.
+
+
+ACPICA
+
+ The tests to be run on ACPICA
+ (will not go on other implementations
+ of ACPI). \ No newline at end of file
diff --git a/tests/aslts/src/runtime/collections/Identity2MS/Makefile b/tests/aslts/src/runtime/collections/Identity2MS/Makefile
new file mode 100644
index 000000000..9efadc5b6
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/Identity2MS/Makefile
@@ -0,0 +1,7 @@
+# Identity2MS
+
+MDIRS = \
+ abbu
+
+TOP= ../../../..
+include $(TOP)/Makefile.switch
diff --git a/tests/aslts/src/runtime/collections/Identity2MS/README b/tests/aslts/src/runtime/collections/Identity2MS/README
new file mode 100644
index 000000000..ec15bd3d3
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/Identity2MS/README
@@ -0,0 +1,21 @@
+
+CONTENTS
+
+ tests to prove identity of ACPICA to MS
+
+abbu
+
+ Tests applicable to both AcpiExec and MS-abbu utilities
+
+ Interface of these tests allows them both to be run
+ by AcpiExec utility as elements of ASLTS test suite
+ and by abbu utility under MS.
+
+ Due to the current incomplete implementation of ACPI
+ by MS the entire ASLTS test suite can't simply be run
+ by abbu utility under MS.
+
+ This test case is intended to accumulate tests which
+ exercise and verify the fundamental ACPI features.
+ The tests should succeed on both AcpiExec and abbu
+ and thus prove identity of ACPICA and MS.
diff --git a/tests/aslts/src/runtime/collections/Identity2MS/abbu/DECL.asl b/tests/aslts/src/runtime/collections/Identity2MS/abbu/DECL.asl
new file mode 100644
index 000000000..488b1040c
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/Identity2MS/abbu/DECL.asl
@@ -0,0 +1,191 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+/*
+in progress:
+
+Do these:
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
++++ 1) clean up the current set of tests
++++ 2) Make automatically aslst_abbu.aml which include the original common.asl and ehandle.asl files
++++ 3) introduce 'stack' directory for the stuff from ns8
++++ 4) slways should be place in POUT for lines below:
+ OUTP(":STST:Identity2MS:abbu:mmmm:FAIL:Errors # 12 34 56 78:")
+ OUTP(":STST:Identity2MS:abbu:mmmm:PASS:")
+ Store("******** POUT exceeded ********, number of lost messages:", Index(POUT, Local0))
++++ 3) do the method examples and run points for each of the enumerated by 'Stuff not working under MS'
+
+4) add the tests of namespace test case with the root names \_SB.d000.p000 ...
+10) do ns6
+ .....
+11) develop the test to achieve cover, do methodically other urgent tests inside abbu
+12) complete the namespace test case
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+13) fix bug of m01e
+ *
+ */
+
+/*
+ * Common declarations
+ */
+
+/*
+ * Broke ACPICA (m01e)
+ *
+ * 0 - blocks execution
+ */
+Name(fix0, 1) // blocks m01e
+Name(fix1, 1) // causes break of path for ACPICA
+
+/*
+ * Do additional checking
+ */
+Name(chk0, 0) // use it for those which break execution on MS (should be 0 for run on MS)
+Name(chk1, 1) // use it for those which don't break execution on MS
+Name(chk2, 0) // use it for those which break execution while re-bootin on MS
+
+Name(prt0, 0) // conditional OUTP printing
+
+Name(SLC0, 0) // modification of SCLK
+
+/*
+ * Initialization of msfail
+ */
+Method(IIN1)
+{
+ if (run4) {
+ Store(1, y262)
+ Store(1, y275)
+ Store(1, SLC0)
+ Store(0, SLCK)
+ } else {
+ OUTP("WARNING: don't forget to check run4 !!!!!!!!!!")
+
+ Store(0, SLC0)
+ if (SLCK) {
+ Store(1, SLC0)
+ }
+ }
+
+ if (ABUU) {
+ Store(0, chk0)
+ Store(1, chk1)
+ Store(0, chk2)
+ Store(0, fix0)
+ Store(0, fix1)
+ } else {
+ Store(1, chk0)
+ Store(1, chk1)
+ Store(1, chk2)
+ Store(1, fix0)
+ Store(0, fix1)
+ }
+}
+
+Include("./run_points.asl")
+
+// NameSpace
+
+// Initial
+Include("./initial/ns_in00.asl")
+Include("./initial/ns_in10.asl")
+Include("./initial/ns_in20.asl")
+Include("./initial/ns_in30.asl")
+Include("./initial/ns_in40.asl")
+Include("./initial/ns_in50.asl")
+
+// Device
+// Include("./device/ns_dv00.asl")
+Include("./device/device.asl")
+
+// Include("./ns3.asl")
+Include("./ns4.asl")
+Include("./ns6.asl")
+
+// Miscellaneous
+
+Include("./misc/ms0.asl")
+Include("./misc/ms1.asl")
+
+// MsFail
+
+Include("./MsFail/msfail.asl")
+
+
+// Specific initialization of abbu
+
+// Reset to the initial state
+Method(RST8)
+{
+ Store(0, ERRS)
+ Store(0, RMRC)
+}
+
+// Specific initialization of abbu
+Method(IIN0)
+{
+ // Reset to the initial state
+ RST8()
+
+ // Reset POUT service to the initial state
+ RST9()
+
+ // Initialization of msfail
+ IIN1()
+}
+
+// Conditional output
+Method(OUTC, 1)
+{
+ if (prt0) {
+ OUTP(arg0)
+ }
+}
+
+// Run the tests
+
+Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Specific initialization of abbu
+ IIN0()
+
+ // Run verification methods
+ Include("./RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ if (ABUU) {
+ Return(POUT)
+ }
+ Return(Local7)
+}
diff --git a/tests/aslts/src/runtime/collections/Identity2MS/abbu/DECL_ABBU.asl b/tests/aslts/src/runtime/collections/Identity2MS/abbu/DECL_ABBU.asl
new file mode 100644
index 000000000..70eb606f3
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/Identity2MS/abbu/DECL_ABBU.asl
@@ -0,0 +1,38 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+// All declarations to compile for abbu
+
+Include("../../../../runtime/cntl/abbu_common.asl")
+Include("../../../../runtime/cntl/runmode.asl")
+Include("../../../../runtime/cntl/runpoint.asl")
+Include("./device/device_abbu.asl")
+Include("./method/mt0_abbu.asl")
+Include("./recursion/rec_abbu.asl")
+Include("./DECL.asl")
diff --git a/tests/aslts/src/runtime/collections/Identity2MS/abbu/DECL_ASLTS.asl b/tests/aslts/src/runtime/collections/Identity2MS/abbu/DECL_ASLTS.asl
new file mode 100644
index 000000000..ab998fde5
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/Identity2MS/abbu/DECL_ASLTS.asl
@@ -0,0 +1,36 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+// All declarations to compile for AcpiExec
+
+Include("../../../../runtime/cntl/DECL.asl")
+Include("./device/device_aslts.asl")
+Include("./method/mt0_aslts.asl")
+Include("./recursion/rec_aslts.asl")
+Include("./DECL.asl")
diff --git a/tests/aslts/src/runtime/collections/Identity2MS/abbu/MAIN.asl b/tests/aslts/src/runtime/collections/Identity2MS/abbu/MAIN.asl
new file mode 100644
index 000000000..304db57ab
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/Identity2MS/abbu/MAIN.asl
@@ -0,0 +1,172 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+/*
+ * Tests applicable to both AcpiExec and MS-abbu utilities
+ */
+DefinitionBlock("extra.aml", "DSDT", 0x1, "INTEL", "ABCDE", 0x1)
+{
+ Scope(\_SB)
+ {
+ Device(ABBU)
+ {
+ Name(_HID, "ACPIABBU")
+ Method(ENBL)
+ {
+ Return(Zero)
+ }
+
+ Method(TEST)
+ {
+ Return(Zero)
+ }
+
+ Method(TST)
+ {
+ Return(TSTS)
+ }
+
+ /* Definitions of common use */
+
+ /*
+ * AI00:
+ *
+ * The abbu utility provides some restricted amount of elements of POUT,
+ * it is not the constant number of elements of Package (!), not good interface,
+ * but looks like some restricted amount of memory. When that variable number of
+ * elements is exceeded, abbu returns FAILURE which we can't differentiate from
+ * the actual failure of MS being examined. So, don't use the big AI00 to be sure
+ * that returned FAILURE, if any, is not caused by the mentioned fact.
+ */
+ Name (AI00, 17) // MAX
+ Name (POUT, Package(17) {})
+
+ Name (AI01, 0) // current OUT
+ Name (AI02, 0) // counter of lost POUT messages
+ Name (AI07, 0) // print once only the end-message
+ Name (AI08, 0) // total number of messages
+
+ Method(OUUP, 2)
+ {
+ /* Last 6 lines are reserved for the test run summary and end-message */
+ Subtract(AI00, 6, Local0)
+
+ if (LLess(AI01, Local0)) {
+ Store(arg0, Index(POUT, AI01))
+ Increment(AI01)
+ } else {
+ /* Last 2 lines are reserved for the end-message */
+ Subtract(AI00, 2, Local0)
+ if (LAnd(arg1, LLess(AI01, Local0))) {
+ Store(arg0, Index(POUT, AI01))
+ Increment(AI01)
+ } else {
+ if (LNot(AI07)) {
+ Store(1, AI07)
+ Subtract(AI00, 2, Local0)
+ Store("******** POUT exceeded ********", Index(POUT, Local0))
+ }
+ }
+ }
+
+ /* Last element of POUT is the total number of messages */
+
+ Increment(AI08)
+ Subtract(AI00, 1, Local0)
+ Store(AI08, Index(POUT, Local0))
+ }
+
+ Method(OUTP, 1)
+ {
+ OUUP(arg0, 0)
+ }
+
+ /*
+ * Reset POUT service to the initial state
+ */
+ Method(RST9)
+ {
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+
+ Store (0, AI01)
+ Store (0, AI02)
+ Store (0, AI07)
+ Store (0, AI08)
+
+ Store(AI00, lpN0)
+ Store(0, lpC0)
+ While (lpN0) {
+ Store(" ", Index(POUT, lpC0))
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+
+ Subtract(AI00, 2, Local0)
+ Store("Total number of messages:", Index(POUT, Local0))
+ Increment(Local0)
+ Store(0, Index(POUT, Local0))
+ }
+
+// ====================================================== //
+// ====================================================== //
+// ====================================================== //
+
+/* Definitions relative to the subject */
+
+Include("./DECL_ABBU.asl")
+
+// ====================================================== //
+// ====================================================== //
+// ====================================================== //
+
+
+ Name(TSTS, Package()
+ {
+ "ENBL",
+ "TEST",
+ "TST_",
+ "MAIN",
+ "IN00",
+ })
+ }
+ }
+ Method(MAIN)
+ {
+ Return (\_SB_.ABBU.MAIN())
+ }
+ Method(MN00)
+ {
+ Return (\_SB_.ABBU.MN00())
+ }
+ Method(MN01)
+ {
+ Return (\_SB_.ABBU.MN01())
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/Identity2MS/abbu/MAIN_ASLTS.asl b/tests/aslts/src/runtime/collections/Identity2MS/abbu/MAIN_ASLTS.asl
new file mode 100644
index 000000000..107570b15
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/Identity2MS/abbu/MAIN_ASLTS.asl
@@ -0,0 +1,90 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+/*
+ * For AcpiExec only (not abbu)
+ *
+ * Tests applicable to both AcpiExec and MS-abbu utilities
+ */
+DefinitionBlock("extra_aslts.aml", "DSDT", 0x2, "INTEL", "ABCDE", 0x1)
+{
+
+ Include("./DECL_ASLTS.asl")
+
+ /* Definitions of common use */
+
+ Name (POUT, Package(1) {"EMPTY"})
+ Method(OUTP, 1)
+ {
+ Store(arg0, Debug)
+ }
+ Method(RST9)
+ {
+ }
+
+ Scope(\_SB)
+ {
+ Device(ABBU)
+ {
+ Name(_HID, "ACPIABBU")
+ Method(ENBL)
+ {
+ Return(Zero)
+ }
+
+ Method(TEST)
+ {
+ Return(Zero)
+ }
+
+ Method(TST)
+ {
+ Return(TSTS)
+ }
+
+// ====================================================== //
+// ====================================================== //
+// ====================================================== //
+
+/* Definitions inside _SB relative to the subject */
+
+// ====================================================== //
+// ====================================================== //
+// ====================================================== //
+
+
+ Name(TSTS, Package()
+ {
+ "ENBL",
+ "TEST",
+ "TST_",
+ })
+ }
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/Identity2MS/abbu/Makefile b/tests/aslts/src/runtime/collections/Identity2MS/abbu/Makefile
new file mode 100644
index 000000000..eb3b08734
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/Identity2MS/abbu/Makefile
@@ -0,0 +1,8 @@
+# abbu
+
+ASLMODADD= MAIN_ASLTS
+AMLMOD= extra extra_aslts
+COLL= ../..
+
+TOP= $(COLL)/../../..
+include $(COLL)/Makefile.install
diff --git a/tests/aslts/src/runtime/collections/Identity2MS/abbu/MsFail/msfail.asl b/tests/aslts/src/runtime/collections/Identity2MS/abbu/MsFail/msfail.asl
new file mode 100644
index 000000000..820c38b84
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/Identity2MS/abbu/MsFail/msfail.asl
@@ -0,0 +1,1897 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+/*
+ * Accumulate features which don't work on MS
+ *
+ * This should help to adapt tests to MS
+ *
+ * Stuff not working under MS:
+ *
+ * 1) Mod
+ * 2) Concatenate
+ * 3) CopyObject
+ * 4) POUT - is restricted by abbu, apparently, by byte-size(!),
+ * not by the number of elements (!), and ABBU reports Failure in
+ * that case not distinguishable from failures of MS being examined.
+ * 5) Return (Add(i000, m001())) -- !! but this works: Return (Add(Local7, m006()))
+ * 6) Arg instead of i000 (in m001):
+ * Store(0x07000000, arg1)
+ * Return (Add(arg1, m007()))
+ * 7) LNotEqual(bf00, 0x80) : bf00 - Buffer Field
+ *
+ * 8) (?) Buffer Field by arg -- doesn't work (?) (see xxx)
+ * 9) Field passed by arg -- doesn't work (see m30c)
+ * 10) Bank Field passed by arg -- doesn't work (see m30d):
+ * 11) Index Field passed by arg -- doesn't work (see m30e):
+ *
+ * 12) write access to element of String by Index/DerefOf
+ * 13) Stack overflow on about 10-12 method calls depth,
+ * call methods chain is restricted by ~11
+ * 14) Named element of Package is, perhaps, not implemented by MS,
+ * i000 in Package(){i000} is, on MS, the same as Package(){"i000"},
+ * (see ns1.asl for example).
+ * 15) Stack (resource) overflow depends very much on other
+ * reasons, not only the depth of method calls.
+ * So, trying to wrap methods of ns0.asl into one parent method
+ * decreases the available number of levels by more than 4 levels.
+ * 16) Internal objects of methods on MS consume some internal
+ * resources of ACPI MS interpreter. Pulling some internal objects
+ * of that method helps to prevent breakage of MS interpreter.
+ */
+
+Name(z161, 161)
+
+/*
+ * Named Integer i000
+ */
+
+/*
+ * CopyObject
+ *
+ * fail
+ */
+Method(mf00)
+{
+ Name(ts, "mf00")
+ Name(i000, 0xabcd0000)
+ Name(i001, 0xabcd0001)
+
+ /* Breaks on this command itself */
+ CopyObject(i000, i001)
+
+ if (chk0) {
+ if (LNotEqual(i001, 0xabcd0000)) {
+ err(ts, z161, 0x001, 0, 0, i001, 0xabcd0000)
+ }
+ }
+
+ Return(POUT)
+}
+
+/*
+ * Concatenate
+ *
+ * success/fail
+ */
+Method(mf01)
+{
+ Name(ts, "mf01")
+ Name(s000, "qwertyuiop")
+ Name(s001, "_sdfghjkl")
+
+ /* Doesn't break on this command itself */
+ Concatenate(s000, s001, Local0)
+
+ OUTP(Local0)
+
+ if (chk0) {
+ /* This LNotEqual breaks */
+ if (LNotEqual(Local0, "qwertyuiop_sdfghjkl")) {
+ err(ts, z161, 0x004, 0, 0, Local0, "qwertyuiop_sdfghjkl")
+ }
+ }
+
+ Return(POUT)
+}
+
+/*
+ * LEqual of Strings
+ *
+ * fail
+ */
+Method(mf02)
+{
+ Name(ts, "mf02")
+ Name(s000, "qwertyuiop")
+ Name(s001, "_sdfghjkl")
+
+ LEqual("qwerty", "sdfghj")
+
+ if (chk0) {
+ /* This LNotEqual breaks */
+ if (LEqual("qwerty", "sdfghj")) {
+ err(ts, z161, 0x004, 0, 0, "qwerty", "sdfghj")
+ }
+ }
+
+ Return(POUT)
+}
+
+/*
+ * Return (Add(i000, m001()))
+ *
+ * success
+ */
+Method(mf03)
+{
+ Name(ts, "mf03")
+ Name(i000, 0x12340001)
+
+ Method(m000)
+ {
+ Method(m001)
+ {
+ Method(m002)
+ {
+ Return (1)
+ }
+ Return (Add(i000, m002()))
+ }
+ Return (Add(i000, m001()))
+ }
+
+ m000()
+
+ if (chk1) {
+ Store(m000(), Local0)
+ if (LNotEqual(Local0, 0x24680003)) {
+ err(ts, z161, 0x007, 0, 0, Local0, 0x24680003)
+ }
+ }
+
+ Return(POUT)
+}
+
+/*
+ * Store to uninitialized ArgX (no value passed by that ArgX)
+ *
+ * Store(0x00001000, arg6)
+ * Return (Add(arg6, m007()))
+ *
+ * fail
+ */
+Method(mf04)
+{
+ Name(ts, "mf04")
+ Name(i000, 0xabcd0000)
+
+ Method(m000)
+ {
+ Store(0x00001001, arg6)
+ Return (Add(arg6, 5))
+ }
+
+ Method(m001)
+ {
+ // With this line commented works:
+ // Store(0x00001001, arg6)
+
+ Store(0x00001001, arg6)
+
+ // Doesnt work:
+ // Return (Add(arg6, 5))
+ // Return (0)
+ }
+
+ m001()
+
+ if (chk0) {
+ Store(m000(), Local0)
+ if (LNotEqual(Local0, 0x1006)) {
+ err(ts, z161, 0x00a, 0, 0, Local0, 0x1006)
+ }
+ CH03(ts, z161, 0x00b, 0, 0)
+ }
+
+ Return(POUT)
+}
+
+/*
+ * Store to initialized ArgX (ArgX is passed with Constant Integer)
+ *
+ * Store(0x00001000, arg0)
+ * Return (Add(arg0, m007(0xabcd0000)))
+ *
+ * succeeded
+ */
+Method(mf05)
+{
+ Name(ts, "mf05")
+
+ Method(m000, 1)
+ {
+ Store(0x00001001, arg0)
+ Return (Add(arg0, 5))
+ }
+
+ m000(0xabcd0000)
+
+ if (chk1) {
+ Store(m000(0xabcd0000), Local0)
+ if (LNotEqual(Local0, 0x1006)) {
+ err(ts, z161, 0x00a, 0, 0, Local0, 0x1006)
+ }
+ }
+
+ Return(POUT)
+}
+
+/*
+ * Store to initialized ArgX (ArgX is passed with Named Integer)
+ *
+ * Store(0x00001000, arg0)
+ * Return (Add(arg0, m007(i000)))
+ *
+ * succeeded
+ */
+Method(mf06)
+{
+ Name(ts, "mf06")
+ Name(i000, 0xabcd0000)
+
+ Method(m000, 1)
+ {
+ Store(0x00001001, arg0)
+ Return (Add(arg0, 5))
+ }
+
+ Store(m000(i000), Local0)
+
+ if (chk1) {
+ if (LNotEqual(Local0, 0x1006)) {
+ err(ts, z161, 0x00a, 0, 0, Local0, 0x1006)
+ }
+ if (LNotEqual(i000, 0xabcd0000)) {
+ err(ts, z161, 0x00a, 0, 0, i000, 0xabcd0000)
+ }
+ }
+
+ Return(POUT)
+}
+
+/*
+ * Store to initialized ArgX (ArgX is passed with Integer by LocalX)
+ *
+ * Store(0x00001000, arg0)
+ * Return (Add(arg0, m007(i000)))
+ *
+ * succeeded
+ */
+Method(mf07)
+{
+ Name(ts, "mf07")
+
+ Method(m000, 1)
+ {
+ Store(0x00001001, arg0)
+ Return (Add(arg0, 5))
+ }
+
+ Store(0xabcd0000, Local7)
+ Store(m000(Local7), Local0)
+
+ if (chk1) {
+ if (LNotEqual(Local0, 0x1006)) {
+ err(ts, z161, 0x00a, 0, 0, Local0, 0x1006)
+ }
+ if (LNotEqual(Local7, 0xabcd0000)) {
+ err(ts, z161, 0x00a, 0, 0, Local7, 0xabcd0000)
+ }
+ }
+
+ Return(POUT)
+}
+
+/*
+ * LNotEqual(bf00, 0x80)
+ * bf00 -- Buffer Field
+ *
+ * fail
+ */
+Method(mf08)
+{
+ Name(ts, "mf08")
+ Name(pr, 1)
+ Name(i001, 0)
+ Name(b000, Buffer(9) {0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18})
+ CreateField(b000, 0, 8, bf00)
+
+ // Doesn't work
+ LNotEqual(bf00, 0x80)
+
+ if (chk0) {
+
+ // Works
+ Store(bf00, Local0)
+
+ // Doesn't work (!) too:
+ LNotEqual(Local0, 0x80)
+
+ // Doesn't work (!) too:
+ Store(Local0, Local1)
+ LNotEqual(Local1, 0x80)
+
+ // Works
+ if (pr) {
+ OUTP(Local0)
+ OUTP(bf00)
+ }
+
+ // Works
+ Store(0x80, bf00)
+
+ // Works
+ if (pr) {
+ // There is ok:
+ OUTP(bf00)
+ }
+
+ Store(0x80, bf00)
+
+ if (LNotEqual(bf00, 0x80)) {
+ err(ts, z161, 0x00d, 0, 0, bf00, 0x80)
+ }
+
+ } /* if(chk0) */
+
+ Return(POUT)
+}
+
+/*
+ * Write access to element of String by Index operator
+ *
+ * fail
+ */
+Method(mf09)
+{
+ Name(ts, "mf09")
+ Name(s000, "qqqqqqqqqqqqqq")
+
+ Store(0x38, Index(s000, 0))
+
+ if (chk0) {
+ Store(DerefOf(Index(s000, 0)), Local0)
+ if (LNotEqual(Local0, 0x38)) {
+ err(ts, z161, 0x010, 0, 0, Local0, 0x38)
+ }
+ }
+
+ Return(POUT)
+}
+
+/*
+ * Field passed by agrX doesn't work
+ *
+ * success
+ */
+Method(mf0a)
+{
+ Name(ts, "mf0a")
+ OperationRegion(r000, SystemMemory, 0x100, 0x100)
+ Field(r000, ByteAcc, NoLock, Preserve) { f000, 32 }
+
+ Method(m000, 1)
+ {
+ Method(m001, 1)
+ {
+ Store(0x00000020, arg0)
+ Return (Add(arg0, 5))
+ }
+
+ Add(arg0, 1, Local0)
+
+ Store(Local0, arg0)
+ Store(Add(arg0, m001(arg0)), Local0)
+
+ Return (Local0)
+ }
+
+ Method(m001, 1)
+ {
+ Method(m001, 1)
+ {
+ Return (Add(arg0, 5))
+ }
+
+ Store(Add(arg0, m001(arg0)), Local0)
+
+ Return (Local0)
+ }
+
+ Store(0x12345678, f000)
+ Store(m000(f000), Local0)
+ if (chk1) {
+ if (LNotEqual(Local0, 0x1234569e)) {
+ err(ts, z161, 0x010, 0, 0, Local0, 0x1234569e)
+ }
+ if (LNotEqual(f000, 0x12345678)) {
+ err(ts, z161, 0x010, 0, 0, f000, 0x12345678)
+ }
+ }
+
+ Store(0x12345675, f000)
+ Store(m001(f000), Local0)
+ if (chk1) {
+ if (LNotEqual(Local0, 0x2468acef)) {
+ err(ts, z161, 0x010, 0, 0, Local0, 0x2468acef)
+ }
+ if (LNotEqual(f000, 0x12345675)) {
+ err(ts, z161, 0x010, 0, 0, f000, 0x12345675)
+ }
+ }
+
+ Return(POUT)
+}
+
+/*
+ * Bank Field passed by agrX doesn't work
+ *
+ * succeeded
+ */
+Method(mf0b)
+{
+ Name(ts, "mf0b")
+ OperationRegion(r000, SystemMemory, 0x100, 0x100)
+ Field(r000, ByteAcc, NoLock, Preserve) { f000,32, f001,32 }
+ BankField(r000, f001, 0, ByteAcc, NoLock, Preserve) { bnk0, 32 }
+
+ Method(m000, 1)
+ {
+ Method(m001, 1)
+ {
+ Store(0x00000020, arg0)
+ Return (Add(arg0, 5))
+ }
+
+ Add(arg0, 1, Local0)
+
+ Store(Local0, arg0)
+ Store(Add(arg0, m001(arg0)), Local0)
+
+ Return (Local0)
+ }
+
+ Method(m001, 1)
+ {
+ Method(m001, 1)
+ {
+ Return (Add(arg0, 5))
+ }
+
+ Store(Add(arg0, m001(arg0)), Local0)
+
+ Return (Local0)
+ }
+
+ Store(0x12345678, bnk0)
+ Store(m000(bnk0), Local0)
+ if (chk1) {
+ if (LNotEqual(Local0, 0x1234569e)) {
+ err(ts, z161, 0x010, 0, 0, Local0, 0x1234569e)
+ }
+ if (LNotEqual(bnk0, 0x12345678)) {
+ err(ts, z161, 0x010, 0, 0, bnk0, 0x12345678)
+ }
+ }
+
+ Store(0x12345675, bnk0)
+ Store(m001(bnk0), Local0)
+ if (chk1) {
+ if (LNotEqual(Local0, 0x2468acef)) {
+ err(ts, z161, 0x010, 0, 0, Local0, 0x2468acef)
+ }
+ if (LNotEqual(bnk0, 0x12345675)) {
+ err(ts, z161, 0x010, 0, 0, bnk0, 0x12345675)
+ }
+ }
+
+ Return(POUT)
+}
+
+/*
+ * Index Field passed by agrX doesn't work
+ *
+ * succeeded
+ */
+Method(mf0c)
+{
+ Name(ts, "mf0c")
+ OperationRegion(r000, SystemMemory, 0x100, 0x100)
+ Field(r000, ByteAcc, NoLock, Preserve) { f000,32, f001,32 }
+ IndexField(f000, f001, ByteAcc, NoLock, Preserve) { if00, 32 }
+
+ Method(m000, 1)
+ {
+ Method(m001, 1)
+ {
+ Store(0x00000020, arg0)
+ Return (Add(arg0, 5))
+ }
+
+ Add(arg0, 1, Local0)
+
+ Store(Local0, arg0)
+ Store(Add(arg0, m001(arg0)), Local0)
+
+ Return (Local0)
+ }
+
+ Method(m001, 1)
+ {
+ Method(m001, 1)
+ {
+ Return (Add(arg0, 5))
+ }
+
+ Store(Add(arg0, m001(arg0)), Local0)
+
+ Return (Local0)
+ }
+
+ Store(0x12345678, if00)
+ Store(m000(if00), Local0)
+ if (chk1) {
+ if (LNotEqual(Local0, 0x12121238)) {
+ err(ts, z161, 0x010, 0, 0, Local0, 0x12121238)
+ }
+ if (LNotEqual(if00, 0x12121212)) {
+ err(ts, z161, 0x010, 0, 0, if00, 0x12121212)
+ }
+ }
+
+ Store(0x12345675, if00)
+ Store(m001(if00), Local0)
+ if (chk1) {
+ if (LNotEqual(Local0, 0x24242429)) {
+ err(ts, z161, 0x010, 0, 0, Local0, 0x24242429)
+ }
+ if (LNotEqual(if00, 0x12121212)) {
+ err(ts, z161, 0x010, 0, 0, if00, 0x12121212)
+ }
+ }
+
+ Return(POUT)
+}
+
+/*
+ * Buffer Field passed by agrX
+ *
+ * fail
+ */
+Method(mf0d)
+{
+ Name(ts, "mf0d")
+ Name(b000, Buffer(16) {})
+ CreateField(b000, 5, 32, bf00)
+
+ Method(m000, 1)
+ {
+ Method(m001, 1)
+ {
+ Store(0x00000020, arg0)
+ Return (Add(arg0, 5))
+ }
+
+ Add(arg0, 1, Local0)
+
+ Store(Local0, arg0)
+ Store(Add(arg0, m001(arg0)), Local0)
+
+ Return (Local0)
+ }
+
+ Store(0x12345678, bf00)
+ Store(m000(bf00), Local0)
+ if (chk0) {
+ if (LNotEqual(Local0, 0x1234569e)) {
+ err(ts, z161, 0x010, 0, 0, Local0, 0x1234569e)
+ }
+ if (LNotEqual(bf00, 0x12345678)) {
+ err(ts, z161, 0x010, 0, 0, bf00, 0x12345678)
+ }
+ }
+
+ Return(POUT)
+}
+
+/*
+ * Buffer Field passed by agrX
+ *
+ * fail
+ */
+Method(mf0e)
+{
+ Name(ts, "mf0e")
+ Name(b000, Buffer(16) {})
+ CreateField(b000, 5, 32, bf00)
+
+ Method(m001, 1)
+ {
+ Method(m001, 1)
+ {
+ Return (Add(arg0, 5))
+ }
+
+ Store(Add(arg0, m001(arg0)), Local0)
+
+ Return (Local0)
+ }
+
+ Store(0x12345675, bf00)
+ Store(m001(bf00), Local0)
+ if (chk0) {
+ if (LNotEqual(Local0, 0x2468acef)) {
+ err(ts, z161, 0x010, 0, 0, Local0, 0x2468acef)
+ }
+ if (LNotEqual(bf00, 0x12345675)) {
+ err(ts, z161, 0x010, 0, 0, bf00, 0x12345675)
+ }
+ }
+
+ Return(POUT)
+}
+
+/*
+ * Buffer Field passed by agrX
+ *
+ * fail
+ */
+Method(mf0f)
+{
+ Name(ts, "mf0f")
+ Name(b000, Buffer(16) {})
+ CreateField(b000, 5, 32, bf00)
+
+ Method(m000, 1)
+ {
+ Method(m001, 1)
+ {
+ Store(0x00000020, arg0)
+ Return (Add(arg0, 5))
+ }
+
+ Add(arg0, 1, Local0)
+
+ Store(Local0, arg0)
+ Store(Add(arg0, m001(arg0)), Local0)
+
+ Return (Local0)
+ }
+
+ Method(m001, 1)
+ {
+ Method(m001, 1)
+ {
+ Return (Add(arg0, 5))
+ }
+
+ Store(Add(arg0, m001(arg0)), Local0)
+
+ Return (Local0)
+ }
+
+ Store(0x12345678, bf00)
+ Store(m000(bf00), Local0)
+ if (chk0) {
+ if (LNotEqual(Local0, 0x1234569e)) {
+ err(ts, z161, 0x010, 0, 0, Local0, 0x1234569e)
+ }
+ if (LNotEqual(bf00, 0x12345678)) {
+ err(ts, z161, 0x010, 0, 0, bf00, 0x12345678)
+ }
+ }
+
+ Store(0x12345675, bf00)
+ Store(m001(bf00), Local0)
+ if (chk0) {
+ if (LNotEqual(Local0, 0x2468acef)) {
+ err(ts, z161, 0x010, 0, 0, Local0, 0x2468acef)
+ }
+ if (LNotEqual(bf00, 0x12345675)) {
+ err(ts, z161, 0x010, 0, 0, bf00, 0x12345675)
+ }
+ }
+
+ Return(POUT)
+}
+
+/*
+ * Buffer Field passed by agrX
+ *
+ * fail
+ */
+Method(mf10)
+{
+ Name(ts, "mf10")
+ Name(b000, Buffer(16) {})
+ CreateField(b000, 0, 32, bf00)
+
+ Method(m000, 1)
+ {
+ Return (arg0)
+ }
+
+ // Ok
+ OUTP(b000)
+
+ // This write works correctly:
+ Store(0x12345678, bf00)
+
+ // Succeeds:
+ Store(m000(bf00), Local0)
+
+ // Breaks:
+ // LNotEqual(Local0, 0x12345678)
+
+ // Breaks:
+ // Add(Local0, 0)
+
+ // Breaks:
+ // Add(bf00, 0)
+
+ // Ok
+ OUTP(b000)
+
+ if (LNotEqual(Local0, 0x12345678)) {
+ err(ts, z161, 0x010, 0, 0, Local0, 0x12345678)
+ }
+ if (LNotEqual(bf00, 0x12345678)) {
+ err(ts, z161, 0x010, 0, 0, bf00, 0x12345678)
+ }
+
+ Return(POUT)
+}
+
+/*
+ * LEqual of Buffers
+ *
+ * fail
+ */
+Method(mf11)
+{
+ Name(ts, "mf11")
+ Name(b000, Buffer(4) {0x10, 0x11, 0x12, 0x13})
+ Name(b001, Buffer(4) {0x10, 0x11, 0x12, 0x13})
+
+ LEqual(b000, b001)
+
+ Return(POUT)
+}
+
+/*
+ * Method calculation stack overflow
+ *
+ * If remove one level the test succeeds
+ *
+ * fail
+ */
+Method(mf12)
+{
+ Name(ts, "mf12")
+
+ Name(i000, 0)
+ Name(i001, 0)
+ Name(i002, 0)
+ Name(i003, 0)
+ Name(i004, 0)
+ Name(i005, 0)
+ Name(i006, 0)
+ Name(i007, 0)
+ Name(i008, 0)
+ Name(i009, 0)
+ Name(i00a, 0)
+ Name(i00b, 0)
+ Name(i00c, 0)
+
+ Method(m000)
+ {
+ Method(m001)
+ {
+ Method(m002)
+ {
+ Method(m003)
+ {
+ Method(m004)
+ {
+ Method(m005)
+ {
+ Method(m006)
+ {
+ Method(m007)
+ {
+ Method(m008)
+ {
+ Method(m009)
+ {
+ Method(m00a)
+ {
+ Method(m00b)
+ {
+ Method(m00c)
+ {
+ Store(0xabcd000c, i00c)
+ }
+ Store(0xabcd000b, i00b)
+ m00c()
+ }
+ Store(0xabcd000a, i00a)
+ m00b()
+ }
+ Store(0xabcd0009, i009)
+ m00a()
+ }
+ Store(0xabcd0008, i008)
+ m009()
+ }
+ Store(0xabcd0007, i007)
+ m008()
+ }
+ Store(0xabcd0006, i006)
+ m007()
+ }
+ Store(0xabcd0005, i005)
+ m006()
+ }
+ Store(0xabcd0004, i004)
+ m005()
+ }
+ Store(0xabcd0003, i003)
+ m004()
+ }
+ Store(0xabcd0002, i002)
+ m003()
+ }
+ Store(0xabcd0001, i001)
+ m002()
+ }
+ Store(0xabcd0000, i000)
+ m001()
+ }
+
+ /*
+ * If remove one level the test succeeds
+ */
+ m000()
+
+ if (LNotEqual(i000, 0xabcd0000)) {
+ err(ts, z161, 0x012, 0, 0, i000, 0xabcd0000)
+ }
+ if (LNotEqual(i001, 0xabcd0001)) {
+ err(ts, z161, 0x013, 0, 0, i001, 0xabcd0001)
+ }
+ if (LNotEqual(i002, 0xabcd0002)) {
+ err(ts, z161, 0x014, 0, 0, i002, 0xabcd0002)
+ }
+ if (LNotEqual(i003, 0xabcd0003)) {
+ err(ts, z161, 0x015, 0, 0, i003, 0xabcd0003)
+ }
+ if (LNotEqual(i004, 0xabcd0004)) {
+ err(ts, z161, 0x016, 0, 0, i004, 0xabcd0004)
+ }
+ if (LNotEqual(i005, 0xabcd0005)) {
+ err(ts, z161, 0x017, 0, 0, i005, 0xabcd0005)
+ }
+ if (LNotEqual(i006, 0xabcd0006)) {
+ err(ts, z161, 0x018, 0, 0, i006, 0xabcd0006)
+ }
+ if (LNotEqual(i007, 0xabcd0007)) {
+ err(ts, z161, 0x019, 0, 0, i007, 0xabcd0007)
+ }
+ if (LNotEqual(i008, 0xabcd0008)) {
+ err(ts, z161, 0x01a, 0, 0, i008, 0xabcd0008)
+ }
+ if (LNotEqual(i009, 0xabcd0009)) {
+ err(ts, z161, 0x01b, 0, 0, i009, 0xabcd0009)
+ }
+ if (LNotEqual(i00a, 0xabcd000a)) {
+ err(ts, z161, 0x01c, 0, 0, i00a, 0xabcd000a)
+ }
+ if (LNotEqual(i00b, 0xabcd000b)) {
+ err(ts, z161, 0x01d, 0, 0, i00b, 0xabcd000b)
+ }
+ if (LNotEqual(i00c, 0xabcd000c)) {
+ err(ts, z161, 0x01d, 0, 0, i00c, 0xabcd000c)
+ }
+
+ Return(POUT)
+}
+
+/*
+ * Method calculation stack overflow
+ *
+ * If remove one level the test succeeds
+ *
+ * fail
+ */
+Method(mf13)
+{
+ Name(ts, "mf13")
+
+ Name(i000, 0)
+ Name(i001, 0)
+ Name(i002, 0)
+ Name(i003, 0)
+ Name(i004, 0)
+ Name(i005, 0)
+ Name(i006, 0)
+ Name(i007, 0)
+ Name(i008, 0)
+ Name(i009, 0)
+ Name(i00a, 0)
+ Name(i00b, 0)
+ Name(i00c, 0)
+ Name(i00d, 0)
+ Name(i00e, 0)
+ Name(i00f, 0)
+ Name(i010, 0)
+
+
+ Method(m000)
+ {
+ Store(0xabcd0000, i000)
+ }
+ Method(m001)
+ {
+ Store(0xabcd0001, i001)
+ m000()
+ }
+ Method(m002)
+ {
+ Store(0xabcd0002, i002)
+ m001()
+ }
+ Method(m003)
+ {
+ Store(0xabcd0003, i003)
+ m002()
+ }
+ Method(m004)
+ {
+ Store(0xabcd0004, i004)
+ m003()
+ }
+ Method(m005)
+ {
+ Store(0xabcd0005, i005)
+ m004()
+ }
+ Method(m006)
+ {
+ Store(0xabcd0006, i006)
+ m005()
+ }
+ Method(m007)
+ {
+ Store(0xabcd0007, i007)
+ m006()
+ }
+ Method(m008)
+ {
+ Store(0xabcd0008, i008)
+ m007()
+ }
+ Method(m009)
+ {
+ Store(0xabcd0009, i009)
+ m008()
+ }
+ Method(m00a)
+ {
+ Store(0xabcd000a, i00a)
+ m009()
+ }
+ Method(m00b)
+ {
+ Store(0xabcd000b, i00b)
+ m00a()
+ }
+ Method(m00c)
+ {
+ Store(0xabcd000c, i00c)
+ m00b()
+ }
+ Method(m00d)
+ {
+ Store(0xabcd000d, i00d)
+ m00c()
+ }
+ Method(m00e)
+ {
+ Store(0xabcd000e, i00e)
+ m00d()
+ }
+ Method(m00f)
+ {
+ Store(0xabcd000f, i00f)
+ m00e()
+ }
+ Method(m010)
+ {
+ Store(0xabcd0010, i010)
+ m00f()
+ }
+
+
+ /*
+ * If remove one level the test succeeds
+ */
+ m010()
+
+
+
+ if (LNotEqual(i000, 0xabcd0000)) {
+ err(ts, z161, 0x012, 0, 0, i000, 0xabcd0000)
+ }
+ if (LNotEqual(i001, 0xabcd0001)) {
+ err(ts, z161, 0x013, 0, 0, i001, 0xabcd0001)
+ }
+ if (LNotEqual(i002, 0xabcd0002)) {
+ err(ts, z161, 0x014, 0, 0, i002, 0xabcd0002)
+ }
+ if (LNotEqual(i003, 0xabcd0003)) {
+ err(ts, z161, 0x015, 0, 0, i003, 0xabcd0003)
+ }
+ if (LNotEqual(i004, 0xabcd0004)) {
+ err(ts, z161, 0x016, 0, 0, i004, 0xabcd0004)
+ }
+ if (LNotEqual(i005, 0xabcd0005)) {
+ err(ts, z161, 0x017, 0, 0, i005, 0xabcd0005)
+ }
+ if (LNotEqual(i006, 0xabcd0006)) {
+ err(ts, z161, 0x018, 0, 0, i006, 0xabcd0006)
+ }
+ if (LNotEqual(i007, 0xabcd0007)) {
+ err(ts, z161, 0x019, 0, 0, i007, 0xabcd0007)
+ }
+ if (LNotEqual(i008, 0xabcd0008)) {
+ err(ts, z161, 0x01a, 0, 0, i008, 0xabcd0008)
+ }
+ if (LNotEqual(i009, 0xabcd0009)) {
+ err(ts, z161, 0x01b, 0, 0, i009, 0xabcd0009)
+ }
+ if (LNotEqual(i00a, 0xabcd000a)) {
+ err(ts, z161, 0x01c, 0, 0, i00a, 0xabcd000a)
+ }
+ if (LNotEqual(i00b, 0xabcd000b)) {
+ err(ts, z161, 0x01d, 0, 0, i00b, 0xabcd000b)
+ }
+ if (LNotEqual(i00c, 0xabcd000c)) {
+ err(ts, z161, 0x01d, 0, 0, i00c, 0xabcd000c)
+ }
+ if (LNotEqual(i00d, 0xabcd000d)) {
+ err(ts, z161, 0x01d, 0, 0, i00d, 0xabcd000d)
+ }
+ if (LNotEqual(i00e, 0xabcd000e)) {
+ err(ts, z161, 0x01d, 0, 0, i00e, 0xabcd000e)
+ }
+ if (LNotEqual(i00f, 0xabcd000f)) {
+ err(ts, z161, 0x01d, 0, 0, i00f, 0xabcd000f)
+ }
+ if (LNotEqual(i010, 0xabcd0010)) {
+ err(ts, z161, 0x01d, 0, 0, i010, 0xabcd0010)
+ }
+
+ Return(POUT)
+}
+
+/*
+ * Check Timer
+ *
+ * fail
+ */
+Method(mf14)
+{
+ Name(ts, "mf14")
+ Name(i000, 0)
+
+ Store(Timer, i000)
+ OUTP(i000)
+
+ Return(POUT)
+}
+
+/*
+ * Mod
+ *
+ * fail
+ */
+Method(mf15)
+{
+ Name(ts, "mf15")
+
+ Store(0x1234567d, Local1)
+ Store(8, Local2)
+
+ /* This Mod breaks */
+ Mod(Local1, Local2, Local0)
+
+ OUTP(Local0)
+
+ if (chk0) {
+ if (LNotEqual(Local0, 5)) {
+ err(ts, z161, 0x004, 0, 0, Local0, 5)
+ }
+ }
+
+ Return(POUT)
+}
+
+/*
+ * Return (Package)
+ *
+ * success
+ */
+Method(mf16)
+{
+ Name(ts, "mf16")
+
+ Name(p000, Package() {0xabcd0000, 0xabcd0001, 0xabcd0003})
+
+ Method(m000, 1)
+ {
+ Return (arg0)
+ }
+
+ Store(m000(p000), Local0)
+ Store(DerefOf(Index(Local0, 1)), Local0)
+ if (LNotEqual(Local0, 0xabcd0001)) {
+ err(ts, z161, 0x006, 0, 0, Local0, 0xabcd0001)
+ }
+
+ Return(POUT)
+}
+
+/*
+ * Return (Package)
+ *
+ * success
+ */
+Method(mf17)
+{
+ Name(ts, "mf17")
+ Name(p000, Package() {0xabcd0000, 0xabcd0001, 0xabcd0003})
+
+ Method(m000)
+ {
+ Name(pp00, Package() {0xabcd0000, 0xabcd0001, 0xabcd0003})
+
+ Return (pp00)
+ }
+
+ Store(m000(), Local0)
+ Store(DerefOf(Index(Local0, 1)), Local0)
+ if (LNotEqual(Local0, 0xabcd0001)) {
+ err(ts, z161, 0x006, 0, 0, Local0, 0xabcd0001)
+ }
+
+ Return(POUT)
+}
+
+/*
+ * LEqual (String, String)
+ *
+ * fail
+ */
+Method(mf18)
+{
+ Name(ts, "mf18")
+ Name(s000, "qwertyuiop")
+ Name(s001, "qwertyuiop")
+
+ LEqual(s000, s001)
+
+ if (chk0) {
+ Store(LEqual(s000, s001), Local0)
+ if (LNot(Local0)) {
+ err(ts, z161, 0x006, 0, 0, Local0, Ones)
+ }
+ }
+
+ Return(POUT)
+}
+
+/*
+ * LEqual (Buffer, Buffer)
+ *
+ * fail
+ */
+Method(mf19)
+{
+ Name(ts, "mf19")
+ Name(b000, Buffer(4) {0x10, 0x11, 0x12, 0x13})
+ Name(b001, Buffer(4) {0x10, 0x11, 0x12, 0x13})
+
+ LEqual(b000, b001)
+
+ if (chk0) {
+ Store(LEqual(b000, b001), Local0)
+ if (LNot(Local0)) {
+ err(ts, z161, 0x006, 0, 0, Local0, Ones)
+ }
+ }
+
+ Return(POUT)
+}
+
+/*
+ * Store (Package, Package)
+ *
+ * fail
+ */
+Method(mf1a)
+{
+ Name(ts, "mf1a")
+
+ Name(p000, Package() {0xabcd0000, 0xabcd0001, 0xabcd0003})
+ Name(pp00, Package(3) {})
+
+ Store(p000, pp00)
+
+ if (chk0) {
+ Store(DerefOf(Index(pp00, 1)), Local0)
+ if (LNotEqual(Local0, 0xabcd0001)) {
+ err(ts, z161, 0x006, 0, 0, Local0, 0xabcd0001)
+ }
+ }
+
+ Return(POUT)
+}
+
+/*
+ * Add (String, String)
+ *
+ * fail
+ */
+Method(mf1b)
+{
+ Name(ts, "mf1b")
+ Name(s000, "12345678")
+ Name(s001, "56789012")
+
+ Add(s000, s001)
+
+ if (chk0) {
+ Store(Add(s000, s001), Local0)
+ if (LNotEqual(Local0, 0x68ACE68A)) {
+ err(ts, z161, 0x006, 0, 0, Local0, 0x68ACE68A)
+ }
+ }
+
+ Return(POUT)
+}
+
+/*
+ * Add (Buffer, Buffer)
+ *
+ * fail
+ */
+Method(mf1c)
+{
+ Name(ts, "mf1c")
+ Name(b000, Buffer(4) {0x10, 0x11, 0x12, 0x13})
+ Name(b001, Buffer(4) {0x24, 0x35, 0x46, 0x57})
+
+ Add(b000, b001)
+
+ if (chk0) {
+ Store(Add(b000, b001), Local0)
+ if (LNotEqual(Local0, 0x6A584634)) {
+ err(ts, z161, 0x006, 0, 0, Local0, 0x6A584634)
+ }
+ }
+
+ Return(POUT)
+}
+
+/*
+ * LEqual (Field, ....)
+ *
+ * success
+ */
+Method(mf1d)
+{
+ Name(ts, "mf1d")
+ OperationRegion(r000, SystemMemory, 0x100, 0x100)
+ Field(r000, ByteAcc, NoLock, Preserve) {f000,32}
+
+ Store(0xabcd0000, f000)
+
+ LEqual(f000, 0xabcd0000)
+
+ Store(LEqual(f000, 0xabcd0000), Local0)
+ if (LNot(Local0)) {
+ err(ts, z161, 0x006, 0, 0, Local0, Ones)
+ }
+
+ Return(POUT)
+}
+
+/*
+ * LEqual (Field, ....)
+ *
+ * success
+ */
+Method(mf1e)
+{
+ Name(ts, "mf1e")
+ OperationRegion(r000, SystemMemory, 0x100, 0x100)
+ Field(r000, ByteAcc, NoLock, Preserve) {f000,32}
+
+ Store(0xabcd0000, f000)
+
+ Method(m000, 1)
+ {
+ Store(LEqual(arg0, 0xabcd0000), Local0)
+ Return (Local0)
+ }
+
+ m000(f000)
+
+ Store(m000(f000), Local0)
+ if (LNot(Local0)) {
+ err(ts, z161, 0x006, 0, 0, Local0, Ones)
+ }
+
+ Return(POUT)
+}
+
+/*
+ * LNotEqual (Field, ....)
+ *
+ * success
+ */
+Method(mf1f)
+{
+ Name(ts, "mf1f")
+ OperationRegion(r000, SystemMemory, 0x100, 0x100)
+ Field(r000, ByteAcc, NoLock, Preserve) {f000,32}
+
+ Store(0xabcd0000, f000)
+
+ Method(m000, 1)
+ {
+ if (LNotEqual(arg0, 0xabcd0000)) {
+ err(ts, z161, 0x007, 0, 0, arg0, 0xabcd0000)
+ }
+ }
+
+ m000(f000)
+
+ Return(POUT)
+}
+
+/*
+ * Add (Field, .......)
+ *
+ * success
+ */
+Method(mf20)
+{
+ Name(ts, "mf20")
+ OperationRegion(r000, SystemMemory, 0x100, 0x100)
+ Field(r000, ByteAcc, NoLock, Preserve) {f000,32}
+
+ Store(0xabcd0000, f000)
+
+ Add(f000, 0x12)
+
+ Store(Add(f000, 0x12), Local0)
+ if (LNotEqual(Local0, 0xabcd0012)) {
+ err(ts, z161, 0x006, 0, 0, Local0, 0xabcd0012)
+ }
+
+ Return(POUT)
+}
+
+/*
+ * Add (Field, .......)
+ *
+ * success
+ */
+Method(mf21)
+{
+ Name(ts, "mf21")
+ OperationRegion(r000, SystemMemory, 0x100, 0x100)
+ Field(r000, ByteAcc, NoLock, Preserve) {f000,32}
+
+ Store(0xabcd0000, f000)
+
+ Method(m000, 1)
+ {
+ Store(Add(arg0, 0x12), Local0)
+ Return (Local0)
+ }
+
+ m000(f000)
+
+ Store(m000(f000), Local0)
+ if (LNotEqual(Local0, 0xabcd0012)) {
+ err(ts, z161, 0x006, 0, 0, Local0, 0xabcd0012)
+ }
+
+ Return(POUT)
+}
+
+/*
+ * LNotEqual (Index Field, ....)
+ *
+ * success
+ */
+Method(mf22)
+{
+ Name(ts, "mf22")
+ OperationRegion(r003, SystemMemory, 0x180, 0x080)
+ Field(r003, ByteAcc, NoLock, Preserve) {f004,32, f005,32}
+ IndexField(f004, f005, ByteAcc, NoLock, Preserve) {if02,32}
+
+ Store(0xabcd0000, if02)
+
+ Method(m000, 1)
+ {
+ if (LNotEqual(arg0, 0xabababab)) {
+ err(ts, z161, 0x007, 0, 0, arg0, 0xabababab)
+ }
+ }
+
+ m000(if02)
+
+ Return(POUT)
+}
+
+/*
+ * Two the same simultaneously (Index Field, ....)
+ *
+ * success
+ */
+Method(mf23)
+{
+ Name(ts, "mf23")
+ OperationRegion(r003, SystemMemory, 0x180, 0x080)
+ Field(r003, ByteAcc, NoLock, Preserve) {f004,32, f005,32}
+ IndexField(f004, f005, ByteAcc, NoLock, Preserve) {if02,32}
+
+ Store(0xabcd0000, if02)
+
+ Method(m000, 2)
+ {
+ if (LNotEqual(arg0, 0xabababab)) {
+ err(ts, z161, 0x007, 0, 0, arg0, 0xabababab)
+ }
+ if (LNotEqual(arg1, 0xabababab)) {
+ err(ts, z161, 0x007, 0, 0, arg1, 0xabababab)
+ }
+ }
+
+ m000(if02, if02)
+
+ Return(POUT)
+}
+
+/*
+ * Two the same simultaneously (Index Field, ....)
+ *
+ * success
+ */
+Method(mf24)
+{
+ Name(ts, "mf24")
+ OperationRegion(r003, SystemMemory, 0x180, 0x080)
+ Field(r003, ByteAcc, NoLock, Preserve) {f004,32, f005,32}
+ IndexField(f004, f005, ByteAcc, NoLock, Preserve) {if02,32}
+
+ Store(0xabcd0000, if02)
+
+ Method(m001, 1)
+ {
+ if (LNotEqual(arg0, 0xabababab)) {
+ err(ts, z161, 0x007, 0, 0, arg0, 0xabababab)
+ }
+ Return (arg0)
+ }
+ Method(m002, 2)
+ {
+ if (LNotEqual(arg0, 0xabababab)) {
+ err(ts, z161, 0x007, 0, 0, arg0, 0xabababab)
+ }
+ if (LNotEqual(arg1, 0xabababab)) {
+ err(ts, z161, 0x007, 0, 0, arg1, 0xabababab)
+ }
+ Return (arg1)
+ }
+
+ Store(m001(if02), Local0)
+ Store(m002(if02, if02), Local0)
+
+ Return(POUT)
+}
+
+/*
+ * Store (Device, Local)
+ *
+ * succeed
+ */
+Method(mf25)
+{
+ Name(ts, "mf25")
+ Device(d000) { Name(id00, 0xabcd0005) }
+
+ Store(d000, Local1)
+
+ Store(ObjectType(Local1), Local0)
+ if (LNotEqual(Local0, c00e)) {
+ err(ts, z161, 0x000, 0, 0, Local0, c00e)
+ }
+
+ Return(POUT)
+}
+
+/*
+ * Store (Event, Local)
+ *
+ * success
+ */
+Method(mf27)
+{
+ Name(ts, "mf27")
+ Event(e000)
+
+ Store(e000, Local1)
+
+ Store(ObjectType(Local1), Local0)
+ if (LNotEqual(Local0, c00f)) {
+ err(ts, z161, 0x000, 0, 0, Local0, c00f)
+ }
+
+ Return(POUT)
+}
+
+/*
+ * Store (Mutex, Local)
+ *
+ * success
+ */
+Method(mf28)
+{
+ Name(ts, "mf28")
+ Mutex(mx00, 0)
+
+ Store(mx00, Local1)
+
+ Store(ObjectType(Local1), Local0)
+ if (LNotEqual(Local0, c011)) {
+ err(ts, z161, 0x000, 0, 0, Local0, c011)
+ }
+
+ Return(POUT)
+}
+
+/*
+ * Store (Event, Local)
+ *
+ * success
+ */
+Method(mf29, 1)
+{
+ Name(ts, "mf29")
+ Event(e000)
+
+ Store(e000, arg0)
+
+ Store(ObjectType(arg0), Local0)
+ if (LNotEqual(Local0, c00f)) {
+ err(ts, z161, 0x000, 0, 0, Local0, c00f)
+ }
+
+ Return(POUT)
+}
+
+/*
+ * Store (Mutex, Local)
+ *
+ * success
+ */
+Method(mf2a, 1)
+{
+ Name(ts, "mf2a")
+ Mutex(mx00, 0)
+
+ Store(mx00, arg0)
+
+ Store(ObjectType(arg0), Local0)
+ if (LNotEqual(Local0, c011)) {
+ err(ts, z161, 0x000, 0, 0, Local0, c011)
+ }
+
+ Return(POUT)
+}
+
+/*
+ * Store (Device, Local)
+ * Store (another type object, into the same Local)
+ *
+ * fail
+ */
+Method(mf2b)
+{
+ Name(ts, "mf2b")
+ Device(d000) { Name(id00, 0xabcd0005) }
+
+ Store(d000, Local1)
+ Store(0, Local1)
+
+ if (chk0) {
+ Store(d000, Local1)
+ Store(ObjectType(Local1), Local0)
+ if (LNotEqual(Local0, c00e)) {
+ err(ts, z161, 0x000, 0, 0, Local0, c00e)
+ }
+ }
+
+ Return(POUT)
+}
+
+/*
+ * Store (Device, Arg)
+ * Store (another type object, into the same Arg)
+ *
+ * fail
+ */
+Method(mf2c, 1)
+{
+ Name(ts, "mf2c")
+ Device(d000) { Name(id00, 0xabcd0005) }
+
+ Store(d000, arg0)
+ Store(0, arg0)
+
+ if (chk0) {
+ Store(d000, arg0)
+ Store(ObjectType(arg0), Local0)
+ if (LNotEqual(Local0, c00e)) {
+ err(ts, z161, 0x000, 0, 0, Local0, c00e)
+ }
+ }
+
+ Return(POUT)
+}
+
+
+Method(msf0)
+{
+ SRMT("mf00")
+ if (chk0) {
+ mf00()
+ } else {
+ BLCK()
+ }
+ SRMT("mf01")
+ mf01()
+ SRMT("mf02")
+ if (chk0) {
+ mf02()
+ } else {
+ BLCK()
+ }
+ SRMT("mf03")
+ mf03()
+ SRMT("mf04")
+ if (LAnd(chk0, y275)) {
+ mf04()
+ } else {
+ BLCK()
+ }
+ SRMT("mf05")
+ mf05()
+ SRMT("mf06")
+ mf06()
+ SRMT("mf07")
+ mf07()
+ SRMT("mf08")
+ if (chk0) {
+ mf08()
+ } else {
+ BLCK()
+ }
+ SRMT("mf09")
+ if (chk0) {
+ mf09()
+ } else {
+ BLCK()
+ }
+ SRMT("mf0a")
+ mf0a()
+ SRMT("mf0b")
+ mf0b()
+ SRMT("mf0c")
+ mf0c()
+ SRMT("mf0d")
+ if (chk0) {
+ mf0d()
+ } else {
+ BLCK()
+ }
+ SRMT("mf0e")
+ if (chk0) {
+ mf0e()
+ } else {
+ BLCK()
+ }
+ SRMT("mf0f")
+ if (chk0) {
+ mf0f()
+ } else {
+ BLCK()
+ }
+ SRMT("mf10")
+ if (chk0) {
+ mf10()
+ } else {
+ BLCK()
+ }
+ SRMT("mf11")
+ if (chk0) {
+ mf11()
+ } else {
+ BLCK()
+ }
+ SRMT("mf12")
+ if (chk0) {
+ mf12()
+ } else {
+ BLCK()
+ }
+ SRMT("mf13")
+ if (chk0) {
+ mf13()
+ } else {
+ BLCK()
+ }
+ SRMT("mf14")
+ if (chk0) {
+ mf14()
+ } else {
+ BLCK()
+ }
+ SRMT("mf15")
+ if (chk0) {
+ mf15()
+ } else {
+ BLCK()
+ }
+ SRMT("mf16")
+ mf16()
+ SRMT("mf17")
+ mf17()
+ SRMT("mf18")
+ if (chk0) {
+ mf18()
+ } else {
+ BLCK()
+ }
+ SRMT("mf19")
+ if (chk0) {
+ mf19()
+ } else {
+ BLCK()
+ }
+ SRMT("mf1a")
+ if (chk0) {
+ mf1a()
+ } else {
+ BLCK()
+ }
+ SRMT("mf1b")
+ if (chk0) {
+ mf1b()
+ } else {
+ BLCK()
+ }
+ SRMT("mf1c")
+ if (chk0) {
+ mf1c()
+ } else {
+ BLCK()
+ }
+ SRMT("mf1d")
+ mf1d()
+ SRMT("mf1e")
+ mf1e()
+ SRMT("mf1f")
+ mf1f()
+ SRMT("mf20")
+ mf20()
+ SRMT("mf21")
+ mf21()
+ SRMT("mf22")
+ mf22()
+ SRMT("mf23")
+ mf23()
+ SRMT("mf24")
+ mf24()
+ SRMT("mf25")
+ if (SLC0) {
+ mf25()
+ } else {
+ BLCK()
+ }
+ SRMT("mf26")
+ if (LAnd(SLC0, chk0)) {
+ mf26()
+ } else {
+ BLCK()
+ }
+ SRMT("mf27")
+ if (SLC0) {
+ mf27()
+ } else {
+ BLCK()
+ }
+ SRMT("mf28")
+ if (SLC0) {
+ mf28()
+ } else {
+ BLCK()
+ }
+ SRMT("mf29")
+ if (SLC0) {
+ mf29(0)
+ } else {
+ BLCK()
+ }
+ SRMT("mf2a")
+ if (SLC0) {
+ mf2a(0)
+ } else {
+ BLCK()
+ }
+ SRMT("mf2b")
+ if (LAnd(SLC0, chk0)) {
+ mf2b()
+ } else {
+ BLCK()
+ }
+ SRMT("mf2c")
+ if (LAnd(SLC0, chk0)) {
+ mf2c(0)
+ } else {
+ BLCK()
+ }
+}
+
diff --git a/tests/aslts/src/runtime/collections/Identity2MS/abbu/RUN.asl b/tests/aslts/src/runtime/collections/Identity2MS/abbu/RUN.asl
new file mode 100644
index 000000000..d8f8f4acd
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/Identity2MS/abbu/RUN.asl
@@ -0,0 +1,70 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+/*
+ * Tests applicable to both AcpiExec and MS-abbu utilities
+ */
+
+if (STTT("Tests applicable to both AcpiExec and MS-abbu utilities", TCLT, 0, W019)) {
+
+ /*
+ * The NameSpace tests
+ */
+
+ /* Initial */
+ ini0()
+ ini1()
+ ini2()
+ ini3()
+ ini4()
+ ini5()
+
+ // Device
+// dev0()
+// mdfe()
+// mdff()
+
+ // Method
+ mtff()
+
+ /*
+ * Miscellaneous
+ */
+ msff()
+ msfe()
+
+ /*
+ * Accumulate features which don't work on MS
+ */
+ msf0()
+
+ // Recursion
+ mrff()
+}
+FTTT()
diff --git a/tests/aslts/src/runtime/collections/Identity2MS/abbu/SPEC b/tests/aslts/src/runtime/collections/Identity2MS/abbu/SPEC
new file mode 100644
index 000000000..0b4a7aea1
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/Identity2MS/abbu/SPEC
@@ -0,0 +1,103 @@
+/*
+ * Access to elements of combined objects
+ *
+ * Device
+ * Power Resource
+ * Processor
+ * Thermal Zone
+ * Method (access to internal objects of method,
+ * in case that access is generated not from
+ * inside that method looks incorrect)
+ *
+ * All available ways to access internal
+ * elements of combined objects are these:
+ *
+ * - by name (2-4 below):
+ *
+ * 1) ABCD - through the all tree (search rules apply)
+ * 2) ^...^ABCD - N parents up (search rules do not apply)
+ * 3) XYZ.ABCD - in current scope only (search rules do not apply)
+ * 4) \XYZ.ABCD - absolute path (search rules do not apply)
+ * - pass to Local, Arg, immediately to expressions, etc..
+ *
+ * - by RefOf/DerefOf:
+ *
+ * RefOf(d000.i000)
+ *
+ * ???????????????????????????????????????????
+ *
+ * - by Index/DerefOf:
+ *
+ * Index(d000.p000)
+ *
+ * ???????????????????????????????????????????
+ *
+ * - by Fields:
+ *
+ * Field
+ * Index Field
+ * Bank Field
+ * Buffer Field
+ *
+ * Creating fields features:
+ * - on the same level
+ * - inside deeper level (inside call to another level method)
+ * - parent object is on global/local level
+ * - parent object is inside some compound type object
+ * Usage fields features:
+ * - pass by Arg to method
+ * - Store/Copy intermediately to Local
+ * - Store/Copy intermediately to Arg (affectively local)
+ * - Store/Copy intermediately to Named
+ * - Store/Copy intermediately to Named of compound object
+ * - pass immediately to expressions
+ * Note: don't check there the Implicit Conversion Rules
+ *
+ * - Method invocations:
+ *
+ * - pass to methods (7,6,...) objects of different type
+ * - in other checkings pass to method not only the object
+ * immediately participating in checking but also other
+ * objects including:
+ * - parent object of element of package,
+ * - parent object of element of Field,
+ * - parent object of IRef Reference,
+ * - parent object of ORef Reference,
+ * - original compound object of all other type objects above,
+ * - pass the same object (see above too) to method by several parameters,
+ * - etc.
+ *
+ * There is no way to specify by ASL code accessing
+ * elements of combined object in case that combined
+ * object is represented by:
+ *
+ * - ArgX
+ * - LocalX
+ * - another Named object where the combined
+ * object has been copied by CopyObject (see Note below)
+ *
+ * Note: if the target object where the combined object is
+ * copied contains some same name object as source object
+ * then we can expect that after CopyObject operation that
+ * object will contain new value the same as in source object
+ * (exotic case of CopyObject usage).
+ * I will not verify this case, at least now.
+ *
+ * So, there is no much sence to verify behaviour of:
+ *
+ * - RefOf to combined object
+ * - combined object passed by Arg to method
+ * - combined object Stored/CopyObject to LocalX
+ * - combined object Stored/CopyObject to ArgX (effective local)
+ * - combined object Stored/CopyObject to NamedX
+ * - combined object as element of Package
+ *
+ * Exotic (could be done ever):
+ * All the possible checkings can be implemented (ASL coded)
+ * to check the behaviour of the object substituted by the
+ * CopyObject instead of the original one.
+ * At that the substituted object can be 1) of the same type
+ * and have a) all the elements the original has and b) not
+ * all of them are present in the copy and 2) be object of
+ * some another type than original.
+ */
diff --git a/tests/aslts/src/runtime/collections/Identity2MS/abbu/ToDo.txt b/tests/aslts/src/runtime/collections/Identity2MS/abbu/ToDo.txt
new file mode 100644
index 000000000..d835bed25
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/Identity2MS/abbu/ToDo.txt
@@ -0,0 +1,55 @@
+remained:
+========
+
+ * Device
+ * Power Resource
+ * Processor
+ * Thermal Zone
+ * Method
+
+Fields in all type applications
+String - do it in main_aslts.asl part
+Local & Arg - effectively local, -- what is the behaviour when some type value is passed to it
+
+Scope
+Alias
+
+m000(int,str,buf,pkg,dev,pwr,pr,tz,mth)
+expressions
+
+=======================================================
+// Types, as returned by ObjectType
+Name(c008, 0) // Uninitialized
+Name(c009, 1) // Integer
+Name(c00a, 2) // String
+Name(c00b, 3) // Buffer
+Name(c00c, 4) // Package
+Name(c00d, 5) // Field Unit
+Name(c00e, 6) // Device
+Name(c00f, 7) // Event
+Name(c010, 8) // Method
+Name(c011, 9) // Mutex
+Name(c012, 10) // Operation Region
+Name(c013, 11) // Power Resource
+Name(c014, 12) // Processor
+Name(c015, 13) // Thermal Zone
+Name(c016, 14) // Buffer Field
+Name(c017, 15) // DDB Handle
+Name(c018, 16) // Debug Object
+Name(c019, 17) // LOCAL_REGION_FIELD
+Name(c01a, 18) // LOCAL_BANK_FIELD
+Name(c01b, 19) // LOCAL_INDEX_FIELD
+Name(c01c, 20) // LOCAL_REFERENCE
+Name(c01d, 21) // LOCAL_ALIAS
+Name(c01e, 22) // LOCAL_METHOD_ALIAS
+Name(c01f, 23) // LOCAL_NOTIFY
+Name(c020, 24) // LOCAL_ADDRESS_HANDLER
+Name(c021, 25) // LOCAL_RESOURCE
+Name(c022, 26) // LOCAL_RESOURCE_FIELD
+Name(c023, 27) // LOCAL_SCOPE
+Name(c024, 28) // LOCAL_EXTRA
+Name(c025, 29) // LOCAL_DATA
+Name(c027, 30) // Number of different types
+==========
+
+Put all abbu-demos into this test case
diff --git a/tests/aslts/src/runtime/collections/Identity2MS/abbu/UTILITY/0_WARNING.HTM b/tests/aslts/src/runtime/collections/Identity2MS/abbu/UTILITY/0_WARNING.HTM
new file mode 100644
index 000000000..660898b43
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/Identity2MS/abbu/UTILITY/0_WARNING.HTM
@@ -0,0 +1 @@
+<html><head><style>td{font-family:Arial;font-size:10pt}</style></head><table cellpadding=0 cellspacing=0><tr><td background=http://intel.speedera.net/xcache.intel.com/Remediation/Images/Email/Block/toptile.gif><IMG SRC=http://intel.speedera.net/xcache.intel.com/Remediation/Images/Email/Block/SI-alert-header.gif></td><td background=http://intel.speedera.net/xcache.intel.com/Remediation/Images/Email/Block/toptile.gif><IMG SRC=http://intel.speedera.net/xcache.intel.com/Remediation/Images/Email/Block/infosec-header.gif align=right></td></tr><tr><td colspan=2><table><tr><td><img src=http://intel.speedera.net/xcache.intel.com/Remediation/Images/Email/Block/globe-blocked.gif></td><td><font color=red size=4><b><br>BLOCKED FILE ALERT!</b></font><p>The attachment 'ABBU.EXE' has been blocked because it is a disallowed file type. The attachment has been replaced by this message.</p><p>If you feel you have received this message in error and are an Intel employee, then please contact the <a href=http://servicedesk.intel.com>Global Service Desk</a>.</p><p>More Information:</p><p>If you are an Intel employee and internal to the Intel network, visit <a href=http://secure.intel.com/infosec/response_services/pc+and+network+protection/email+security/email+security.htm>Secure Intel</a> to learn more about E-mail attachment options.</p><p>If you are not an Intel employee, please contact your Intel sponsor for additional information.<br>&nbsp;</p></td></tr></table></td></tr><tr><td bgcolor=0860a8><a href=http://it.intel.com><img src=http://intel.speedera.net/xcache.intel.com/Remediation/Images/Email/Block/istg-footer.gif border=0></a></td><td bgcolor=0860a8 align=right><font color=white>Copyright &copy; Intel Corporation, 2002-2006. All rights reserved.</font></td></tr><tr><td colspan=2 align=right><font color=#666666>*Other names and brands may be claimed as the property of others.<br>**Intel is not responsible for content of sites outside our intranet.</font></td></tr></table></html> \ No newline at end of file
diff --git a/tests/aslts/src/runtime/collections/Identity2MS/abbu/UTILITY/1_WARNING.HTM b/tests/aslts/src/runtime/collections/Identity2MS/abbu/UTILITY/1_WARNING.HTM
new file mode 100644
index 000000000..255b7ed11
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/Identity2MS/abbu/UTILITY/1_WARNING.HTM
@@ -0,0 +1 @@
+<html><head><style>td{font-family:Arial;font-size:10pt}</style></head><table cellpadding=0 cellspacing=0><tr><td background=http://intel.speedera.net/xcache.intel.com/Remediation/Images/Email/Block/toptile.gif><IMG SRC=http://intel.speedera.net/xcache.intel.com/Remediation/Images/Email/Block/SI-alert-header.gif></td><td background=http://intel.speedera.net/xcache.intel.com/Remediation/Images/Email/Block/toptile.gif><IMG SRC=http://intel.speedera.net/xcache.intel.com/Remediation/Images/Email/Block/infosec-header.gif align=right></td></tr><tr><td colspan=2><table><tr><td><img src=http://intel.speedera.net/xcache.intel.com/Remediation/Images/Email/Block/globe-blocked.gif></td><td><font color=red size=4><b><br>BLOCKED FILE ALERT!</b></font><p>The attachment 'ABBU.INF' has been blocked because it is a disallowed file type. The attachment has been replaced by this message.</p><p>If you feel you have received this message in error and are an Intel employee, then please contact the <a href=http://servicedesk.intel.com>Global Service Desk</a>.</p><p>More Information:</p><p>If you are an Intel employee and internal to the Intel network, visit <a href=http://secure.intel.com/infosec/response_services/pc+and+network+protection/email+security/email+security.htm>Secure Intel</a> to learn more about E-mail attachment options.</p><p>If you are not an Intel employee, please contact your Intel sponsor for additional information.<br>&nbsp;</p></td></tr></table></td></tr><tr><td bgcolor=0860a8><a href=http://it.intel.com><img src=http://intel.speedera.net/xcache.intel.com/Remediation/Images/Email/Block/istg-footer.gif border=0></a></td><td bgcolor=0860a8 align=right><font color=white>Copyright &copy; Intel Corporation, 2002-2006. All rights reserved.</font></td></tr><tr><td colspan=2 align=right><font color=#666666>*Other names and brands may be claimed as the property of others.<br>**Intel is not responsible for content of sites outside our intranet.</font></td></tr></table></html> \ No newline at end of file
diff --git a/tests/aslts/src/runtime/collections/Identity2MS/abbu/UTILITY/2_WARNING.HTM b/tests/aslts/src/runtime/collections/Identity2MS/abbu/UTILITY/2_WARNING.HTM
new file mode 100644
index 000000000..3d983fa98
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/Identity2MS/abbu/UTILITY/2_WARNING.HTM
@@ -0,0 +1 @@
+<html><head><style>td{font-family:Arial;font-size:10pt}</style></head><table cellpadding=0 cellspacing=0><tr><td background=http://intel.speedera.net/xcache.intel.com/Remediation/Images/Email/Block/toptile.gif><IMG SRC=http://intel.speedera.net/xcache.intel.com/Remediation/Images/Email/Block/SI-alert-header.gif></td><td background=http://intel.speedera.net/xcache.intel.com/Remediation/Images/Email/Block/toptile.gif><IMG SRC=http://intel.speedera.net/xcache.intel.com/Remediation/Images/Email/Block/infosec-header.gif align=right></td></tr><tr><td colspan=2><table><tr><td><img src=http://intel.speedera.net/xcache.intel.com/Remediation/Images/Email/Block/globe-blocked.gif></td><td><font color=red size=4><b><br>BLOCKED FILE ALERT!</b></font><p>The attachment 'ABBU.SYS' has been blocked because it is a disallowed file type. The attachment has been replaced by this message.</p><p>If you feel you have received this message in error and are an Intel employee, then please contact the <a href=http://servicedesk.intel.com>Global Service Desk</a>.</p><p>More Information:</p><p>If you are an Intel employee and internal to the Intel network, visit <a href=http://secure.intel.com/infosec/response_services/pc+and+network+protection/email+security/email+security.htm>Secure Intel</a> to learn more about E-mail attachment options.</p><p>If you are not an Intel employee, please contact your Intel sponsor for additional information.<br>&nbsp;</p></td></tr></table></td></tr><tr><td bgcolor=0860a8><a href=http://it.intel.com><img src=http://intel.speedera.net/xcache.intel.com/Remediation/Images/Email/Block/istg-footer.gif border=0></a></td><td bgcolor=0860a8 align=right><font color=white>Copyright &copy; Intel Corporation, 2002-2006. All rights reserved.</font></td></tr><tr><td colspan=2 align=right><font color=#666666>*Other names and brands may be claimed as the property of others.<br>**Intel is not responsible for content of sites outside our intranet.</font></td></tr></table></html> \ No newline at end of file
diff --git a/tests/aslts/src/runtime/collections/Identity2MS/abbu/UTILITY/3_WARNING.HTM b/tests/aslts/src/runtime/collections/Identity2MS/abbu/UTILITY/3_WARNING.HTM
new file mode 100644
index 000000000..50be110e9
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/Identity2MS/abbu/UTILITY/3_WARNING.HTM
@@ -0,0 +1 @@
+<html><head><style>td{font-family:Arial;font-size:10pt}</style></head><table cellpadding=0 cellspacing=0><tr><td background=http://intel.speedera.net/xcache.intel.com/Remediation/Images/Email/Block/toptile.gif><IMG SRC=http://intel.speedera.net/xcache.intel.com/Remediation/Images/Email/Block/SI-alert-header.gif></td><td background=http://intel.speedera.net/xcache.intel.com/Remediation/Images/Email/Block/toptile.gif><IMG SRC=http://intel.speedera.net/xcache.intel.com/Remediation/Images/Email/Block/infosec-header.gif align=right></td></tr><tr><td colspan=2><table><tr><td><img src=http://intel.speedera.net/xcache.intel.com/Remediation/Images/Email/Block/globe-blocked.gif></td><td><font color=red size=4><b><br>BLOCKED FILE ALERT!</b></font><p>The attachment 'ACPIDUMP.EXE' has been blocked because it is a disallowed file type. The attachment has been replaced by this message.</p><p>If you feel you have received this message in error and are an Intel employee, then please contact the <a href=http://servicedesk.intel.com>Global Service Desk</a>.</p><p>More Information:</p><p>If you are an Intel employee and internal to the Intel network, visit <a href=http://secure.intel.com/infosec/response_services/pc+and+network+protection/email+security/email+security.htm>Secure Intel</a> to learn more about E-mail attachment options.</p><p>If you are not an Intel employee, please contact your Intel sponsor for additional information.<br>&nbsp;</p></td></tr></table></td></tr><tr><td bgcolor=0860a8><a href=http://it.intel.com><img src=http://intel.speedera.net/xcache.intel.com/Remediation/Images/Email/Block/istg-footer.gif border=0></a></td><td bgcolor=0860a8 align=right><font color=white>Copyright &copy; Intel Corporation, 2002-2006. All rights reserved.</font></td></tr><tr><td colspan=2 align=right><font color=#666666>*Other names and brands may be claimed as the property of others.<br>**Intel is not responsible for content of sites outside our intranet.</font></td></tr></table></html> \ No newline at end of file
diff --git a/tests/aslts/src/runtime/collections/Identity2MS/abbu/UTILITY/AslCompiler.pdf b/tests/aslts/src/runtime/collections/Identity2MS/abbu/UTILITY/AslCompiler.pdf
new file mode 100644
index 000000000..d674be592
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/Identity2MS/abbu/UTILITY/AslCompiler.pdf
Binary files differ
diff --git a/tests/aslts/src/runtime/collections/Identity2MS/abbu/UTILITY/DSDT.AML b/tests/aslts/src/runtime/collections/Identity2MS/abbu/UTILITY/DSDT.AML
new file mode 100644
index 000000000..6b16dc814
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/Identity2MS/abbu/UTILITY/DSDT.AML
Binary files differ
diff --git a/tests/aslts/src/runtime/collections/Identity2MS/abbu/UTILITY/DSDT.TAB b/tests/aslts/src/runtime/collections/Identity2MS/abbu/UTILITY/DSDT.TAB
new file mode 100644
index 000000000..3d33af177
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/Identity2MS/abbu/UTILITY/DSDT.TAB
Binary files differ
diff --git a/tests/aslts/src/runtime/collections/Identity2MS/abbu/UTILITY/DSDT.dsl b/tests/aslts/src/runtime/collections/Identity2MS/abbu/UTILITY/DSDT.dsl
new file mode 100644
index 000000000..501dfbaff
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/Identity2MS/abbu/UTILITY/DSDT.dsl
@@ -0,0 +1,9656 @@
+/*
+ * Intel ACPI Component Architecture
+ * AML Disassembler version 20021002
+ *
+ * Disassembly of DSDT.AML, Wed Aug 30 20:30:19 2006
+ */
+DefinitionBlock ("DSDT.aml", "DSDT", 1, "IBM ", "TP-T20 ", 100930080)
+{
+ Scope (\_PR)
+ {
+ Processor (CPU, 0x01, 0x00001010, 0x06) {}
+ }
+
+ Scope (\_SB)
+ {
+ Device (LNKA)
+ {
+ Name (_HID, EisaId ("PNP0C0F"))
+ Name (_UID, 0x01)
+ Method (_STA, 0, NotSerialized)
+ {
+ If (LNot (VPIR (\_SB.PCI0.ISA.PIRA)))
+ {
+ Return (0x09)
+ }
+ Else
+ {
+ Return (0x0B)
+ }
+ }
+
+ Name (_PRS, ResourceTemplate ()
+ {
+ IRQ (Level, ActiveLow, Shared) {3,4,5,6,7,9,10,11}
+ })
+ Method (_DIS, 0, NotSerialized)
+ {
+ Or (\_SB.PCI0.ISA.PIRA, 0x80, \_SB.PCI0.ISA.PIRA)
+ }
+
+ Method (_CRS, 0, NotSerialized)
+ {
+ Name (BUFA, ResourceTemplate ()
+ {
+ IRQ (Level, ActiveLow, Shared) {}
+ })
+ CreateWordField (BUFA, 0x01, IRA1)
+ And (\_SB.PCI0.ISA.PIRA, 0x8F, Local0)
+ If (VPIR (Local0))
+ {
+ Store (ShiftLeft (One, Local0), IRA1)
+ }
+
+ Return (BUFA)
+ }
+
+ Method (_SRS, 1, NotSerialized)
+ {
+ CreateWordField (Arg0, 0x01, IRA2)
+ FindSetRightBit (IRA2, Local0)
+ And (\_SB.PCI0.ISA.PIRA, 0x70, Local1)
+ Or (Local1, Decrement (Local0), Local1)
+ Store (Local1, \_SB.PCI0.ISA.PIRA)
+ }
+ }
+
+ Device (LNKB)
+ {
+ Name (_HID, EisaId ("PNP0C0F"))
+ Name (_UID, 0x02)
+ Method (_STA, 0, NotSerialized)
+ {
+ If (LNot (VPIR (\_SB.PCI0.ISA.PIRB)))
+ {
+ Return (0x09)
+ }
+ Else
+ {
+ Return (0x0B)
+ }
+ }
+
+ Name (_PRS, ResourceTemplate ()
+ {
+ IRQ (Level, ActiveLow, Shared) {3,4,5,6,7,9,10,11}
+ })
+ Method (_DIS, 0, NotSerialized)
+ {
+ Or (\_SB.PCI0.ISA.PIRB, 0x80, \_SB.PCI0.ISA.PIRB)
+ }
+
+ Method (_CRS, 0, NotSerialized)
+ {
+ Name (BUFB, ResourceTemplate ()
+ {
+ IRQ (Level, ActiveLow, Shared) {}
+ })
+ CreateWordField (BUFB, 0x01, IRB1)
+ And (\_SB.PCI0.ISA.PIRB, 0x8F, Local0)
+ If (VPIR (Local0))
+ {
+ Store (ShiftLeft (One, Local0), IRB1)
+ }
+
+ Return (BUFB)
+ }
+
+ Method (_SRS, 1, NotSerialized)
+ {
+ CreateWordField (Arg0, 0x01, IRB2)
+ FindSetRightBit (IRB2, Local0)
+ And (\_SB.PCI0.ISA.PIRB, 0x70, Local1)
+ Or (Local1, Decrement (Local0), Local1)
+ Store (Local1, \_SB.PCI0.ISA.PIRB)
+ }
+ }
+
+ Device (LNKC)
+ {
+ Name (_HID, EisaId ("PNP0C0F"))
+ Name (_UID, 0x03)
+ Method (_STA, 0, NotSerialized)
+ {
+ If (LNot (VPIR (\_SB.PCI0.ISA.PIRC)))
+ {
+ Return (0x09)
+ }
+ Else
+ {
+ Return (0x0B)
+ }
+ }
+
+ Name (_PRS, ResourceTemplate ()
+ {
+ IRQ (Level, ActiveLow, Shared) {3,4,5,6,7,9,10,11}
+ })
+ Method (_DIS, 0, NotSerialized)
+ {
+ Or (\_SB.PCI0.ISA.PIRC, 0x80, \_SB.PCI0.ISA.PIRC)
+ }
+
+ Method (_CRS, 0, NotSerialized)
+ {
+ Name (BUFC, ResourceTemplate ()
+ {
+ IRQ (Level, ActiveLow, Shared) {}
+ })
+ CreateWordField (BUFC, 0x01, IRC1)
+ And (\_SB.PCI0.ISA.PIRC, 0x8F, Local0)
+ If (VPIR (Local0))
+ {
+ Store (ShiftLeft (One, Local0), IRC1)
+ }
+
+ Return (BUFC)
+ }
+
+ Method (_SRS, 1, NotSerialized)
+ {
+ CreateWordField (Arg0, 0x01, IRC2)
+ FindSetRightBit (IRC2, Local0)
+ And (\_SB.PCI0.ISA.PIRC, 0x70, Local1)
+ Or (Local1, Decrement (Local0), Local1)
+ Store (Local1, \_SB.PCI0.ISA.PIRC)
+ }
+ }
+
+ Device (LNKD)
+ {
+ Name (_HID, EisaId ("PNP0C0F"))
+ Name (_UID, 0x04)
+ Method (_STA, 0, NotSerialized)
+ {
+ If (LNot (VPIR (\_SB.PCI0.ISA.PIRD)))
+ {
+ Return (0x09)
+ }
+ Else
+ {
+ Return (0x0B)
+ }
+ }
+
+ Name (_PRS, ResourceTemplate ()
+ {
+ IRQ (Level, ActiveLow, Shared) {3,4,5,6,7,9,10,11}
+ })
+ Method (_DIS, 0, NotSerialized)
+ {
+ Or (\_SB.PCI0.ISA.PIRD, 0x80, \_SB.PCI0.ISA.PIRD)
+ }
+
+ Method (_CRS, 0, NotSerialized)
+ {
+ Name (BUFD, ResourceTemplate ()
+ {
+ IRQ (Level, ActiveLow, Shared) {}
+ })
+ CreateWordField (BUFD, 0x01, IRD1)
+ And (\_SB.PCI0.ISA.PIRD, 0x8F, Local0)
+ If (VPIR (Local0))
+ {
+ Store (ShiftLeft (One, Local0), IRD1)
+ }
+
+ Return (BUFD)
+ }
+
+ Method (_SRS, 1, NotSerialized)
+ {
+ CreateWordField (Arg0, 0x01, IRD2)
+ FindSetRightBit (IRD2, Local0)
+ And (\_SB.PCI0.ISA.PIRD, 0x70, Local1)
+ Or (Local1, Decrement (Local0), Local1)
+ Store (Local1, \_SB.PCI0.ISA.PIRD)
+ }
+ }
+
+ Method (VPIR, 1, NotSerialized)
+ {
+ Store (One, Local0)
+ If (And (Arg0, 0x80))
+ {
+ Store (Zero, Local0)
+ }
+ Else
+ {
+ And (Arg0, 0x0F, Local1)
+ If (LLess (Local1, 0x03))
+ {
+ Store (Zero, Local0)
+ }
+ Else
+ {
+ If (LOr (LEqual (Local1, 0x08), LEqual (Local1, 0x0D)))
+ {
+ Store (Zero, Local0)
+ }
+ }
+ }
+
+ Return (Local0)
+ }
+
+ Device (MEM)
+ {
+ Name (_HID, EisaId ("PNP0C01"))
+ Name (ME98, ResourceTemplate ()
+ {
+ Memory32Fixed (ReadWrite, 0x00000000, 0x000A0000)
+ Memory32Fixed (ReadOnly, 0x000E0000, 0x00020000)
+ Memory32Fixed (ReadWrite, 0x00100000, 0x01EE0000)
+ Memory32Fixed (ReadOnly, 0xFFF80000, 0x00080000)
+ })
+ CreateDWordField (ME98, 0x1C, MEB0)
+ CreateDWordField (ME98, 0x20, MEL0)
+ Name (MGAP, ResourceTemplate ()
+ {
+ Memory32Fixed (ReadOnly, 0x00000000, 0x00000000)
+ })
+ CreateDWordField (MGAP, 0x04, MGPB)
+ CreateDWordField (MGAP, 0x08, MGPL)
+ Name (MEMS, ResourceTemplate ()
+ {
+ Memory32Fixed (ReadWrite, 0x00000000, 0x000A0000)
+ Memory32Fixed (ReadOnly, 0x000C0000, 0x00000000)
+ Memory32Fixed (ReadOnly, 0x000C4000, 0x00000000)
+ Memory32Fixed (ReadOnly, 0x000C8000, 0x00000000)
+ Memory32Fixed (ReadOnly, 0x000CC000, 0x00000000)
+ Memory32Fixed (ReadOnly, 0x000D0000, 0x00000000)
+ Memory32Fixed (ReadOnly, 0x000D4000, 0x00000000)
+ Memory32Fixed (ReadOnly, 0x000D8000, 0x00000000)
+ Memory32Fixed (ReadOnly, 0x000DC000, 0x00000000)
+ Memory32Fixed (ReadOnly, 0x000E0000, 0x00000000)
+ Memory32Fixed (ReadOnly, 0x000E4000, 0x00000000)
+ Memory32Fixed (ReadOnly, 0x000E8000, 0x00000000)
+ Memory32Fixed (ReadOnly, 0x000EC000, 0x00000000)
+ Memory32Fixed (ReadOnly, 0x000F0000, 0x00010000)
+ Memory32Fixed (ReadWrite, 0x00100000, 0x01EE0000)
+ Memory32Fixed (ReadOnly, 0xFFF80000, 0x00080000)
+ })
+ CreateDWordField (MEMS, 0x14, MC0L)
+ CreateDWordField (MEMS, 0x20, MC4L)
+ CreateDWordField (MEMS, 0x2C, MC8L)
+ CreateDWordField (MEMS, 0x38, MCCL)
+ CreateDWordField (MEMS, 0x44, MD0L)
+ CreateDWordField (MEMS, 0x50, MD4L)
+ CreateDWordField (MEMS, 0x5C, MD8L)
+ CreateDWordField (MEMS, 0x68, MDCL)
+ CreateDWordField (MEMS, 0x74, ME0L)
+ CreateDWordField (MEMS, 0x80, ME4L)
+ CreateDWordField (MEMS, 0x8C, ME8L)
+ CreateDWordField (MEMS, 0x98, MECL)
+ CreateBitField (MEMS, 0x78, MC0W)
+ CreateBitField (MEMS, 0xD8, MC4W)
+ CreateBitField (MEMS, 0x0138, MC8W)
+ CreateBitField (MEMS, 0x0198, MCCW)
+ CreateBitField (MEMS, 0x01F8, MD0W)
+ CreateBitField (MEMS, 0x0258, MD4W)
+ CreateBitField (MEMS, 0x02B8, MD8W)
+ CreateBitField (MEMS, 0x0318, MDCW)
+ CreateBitField (MEMS, 0x0378, ME0W)
+ CreateBitField (MEMS, 0x03D8, ME4W)
+ CreateBitField (MEMS, 0x0438, ME8W)
+ CreateBitField (MEMS, 0x0498, MECW)
+ CreateDWordField (MEMS, 0xAC, MEB1)
+ CreateDWordField (MEMS, 0xB0, MEL1)
+ Method (_CRS, 0, NotSerialized)
+ {
+ If (\W98F)
+ {
+ Subtract (\MEMX, MEB0, MEL0)
+ Store (\GGAP (0x00), MGPB)
+ Store (\GGAP (0x01), MGPL)
+ If (LAnd (MGPB, MGPL))
+ {
+ Subtract (SizeOf (ME98), 0x02, Local0)
+ Name (MBF0, Buffer (Local0) {})
+ Add (Local0, SizeOf (MGAP), Local0)
+ Name (MBF1, Buffer (Local0) {})
+ Store (ME98, MBF0)
+ Concatenate (MBF0, MGAP, MBF1)
+ Return (MBF1)
+ }
+ Else
+ {
+ Return (ME98)
+ }
+ }
+
+ And (\_SB.PCI0.PAM1, 0x03, Local0)
+ If (Local0)
+ {
+ Store (0x4000, MC0L)
+ If (And (Local0, 0x02))
+ {
+ Store (0x01, MC0W)
+ }
+ }
+
+ And (\_SB.PCI0.PAM1, 0x30, Local0)
+ If (Local0)
+ {
+ Store (0x4000, MC4L)
+ If (And (Local0, 0x20))
+ {
+ Store (0x01, MC4W)
+ }
+ }
+
+ And (\_SB.PCI0.PAM2, 0x03, Local0)
+ If (Local0)
+ {
+ Store (0x4000, MC8L)
+ If (And (Local0, 0x02))
+ {
+ Store (0x01, MC8W)
+ }
+ }
+
+ And (\_SB.PCI0.PAM2, 0x30, Local0)
+ If (Local0)
+ {
+ Store (0x4000, MCCL)
+ If (And (Local0, 0x20))
+ {
+ Store (0x01, MCCW)
+ }
+ }
+
+ And (\_SB.PCI0.PAM3, 0x03, Local0)
+ If (Local0)
+ {
+ Store (0x4000, MD0L)
+ If (And (Local0, 0x02))
+ {
+ Store (0x01, MD0W)
+ }
+ }
+
+ And (\_SB.PCI0.PAM3, 0x30, Local0)
+ If (Local0)
+ {
+ Store (0x4000, MD4L)
+ If (And (Local0, 0x20))
+ {
+ Store (0x01, MD4W)
+ }
+ }
+
+ And (\_SB.PCI0.PAM4, 0x03, Local0)
+ If (Local0)
+ {
+ Store (0x4000, MD8L)
+ If (And (Local0, 0x02))
+ {
+ Store (0x01, MD8W)
+ }
+ }
+
+ And (\_SB.PCI0.PAM4, 0x30, Local0)
+ If (Local0)
+ {
+ Store (0x4000, MDCL)
+ If (And (Local0, 0x20))
+ {
+ Store (0x01, MDCW)
+ }
+ }
+
+ And (\_SB.PCI0.PAM5, 0x03, Local0)
+ If (Local0)
+ {
+ Store (0x4000, ME0L)
+ If (And (Local0, 0x02))
+ {
+ Store (0x01, ME0W)
+ }
+ }
+
+ And (\_SB.PCI0.PAM5, 0x30, Local0)
+ If (Local0)
+ {
+ Store (0x4000, ME4L)
+ If (And (Local0, 0x20))
+ {
+ Store (0x01, ME4W)
+ }
+ }
+
+ And (\_SB.PCI0.PAM6, 0x03, Local0)
+ If (Local0)
+ {
+ Store (0x4000, ME8L)
+ If (And (Local0, 0x02))
+ {
+ Store (0x01, ME8W)
+ }
+ }
+
+ And (\_SB.PCI0.PAM6, 0x30, Local0)
+ If (Local0)
+ {
+ Store (0x4000, MECL)
+ If (And (Local0, 0x20))
+ {
+ Store (0x01, MECW)
+ }
+ }
+
+ Subtract (\MEMX, MEB1, MEL1)
+ Return (MEMS)
+ }
+ }
+
+ Device (LID)
+ {
+ Name (_HID, EisaId ("PNP0C0D"))
+ Method (_LID, 0, NotSerialized)
+ {
+ If (\H8DR)
+ {
+ Return (\_SB.PCI0.ISA.EC.HPLD)
+ }
+ Else
+ {
+ If (And (\RBEC (0x36), 0x04))
+ {
+ Return (0x01)
+ }
+ Else
+ {
+ Return (0x00)
+ }
+ }
+ }
+
+ Method (_PRW, 0, NotSerialized)
+ {
+ If (LAnd (\W98F, LNot (\WMEF)))
+ {
+ Return (Package (0x02)
+ {
+ 0x0B,
+ 0x04
+ })
+ }
+ Else
+ {
+ Return (Package (0x02)
+ {
+ 0x0B,
+ 0x03
+ })
+ }
+ }
+
+ Method (_PSW, 1, NotSerialized)
+ {
+ If (\H8DR)
+ {
+ If (Arg0)
+ {
+ Store (One, \_SB.PCI0.ISA.EC.HWLO)
+ }
+ Else
+ {
+ Store (Zero, \_SB.PCI0.ISA.EC.HWLO)
+ }
+ }
+ Else
+ {
+ If (Arg0)
+ {
+ \MBEC (0x32, 0xFF, 0x04)
+ }
+ Else
+ {
+ \MBEC (0x32, 0xFB, 0x00)
+ }
+ }
+ }
+ }
+
+ Device (SLPB)
+ {
+ Name (_HID, EisaId ("PNP0C0E"))
+ Method (_PRW, 0, NotSerialized)
+ {
+ If (LAnd (\W98F, LNot (\WMEF)))
+ {
+ Return (Package (0x02)
+ {
+ 0x0B,
+ 0x04
+ })
+ }
+ Else
+ {
+ Return (Package (0x02)
+ {
+ 0x0B,
+ 0x03
+ })
+ }
+ }
+
+ Method (_PSW, 1, NotSerialized)
+ {
+ If (\H8DR)
+ {
+ If (Arg0)
+ {
+ Store (0x01, \_SB.PCI0.ISA.EC.HWFN)
+ }
+ Else
+ {
+ Store (0x00, \_SB.PCI0.ISA.EC.HWFN)
+ }
+ }
+ Else
+ {
+ If (Arg0)
+ {
+ \MBEC (0x32, 0xFF, 0x10)
+ }
+ Else
+ {
+ \MBEC (0x32, 0xEF, 0x00)
+ }
+ }
+ }
+ }
+
+ Device (PCI0)
+ {
+ Name (_ADR, 0x00)
+ Name (_HID, EisaId ("PNP0A03"))
+ OperationRegion (X000, PCI_Config, 0x00, 0x0100)
+ Field (X000, DWordAcc, NoLock, Preserve)
+ {
+ Offset (0x59),
+ PAM0, 8,
+ PAM1, 8,
+ PAM2, 8,
+ PAM3, 8,
+ PAM4, 8,
+ PAM5, 8,
+ PAM6, 8,
+ DRB0, 8,
+ DRB1, 8,
+ DRB2, 8,
+ DRB3, 8,
+ DRB4, 8,
+ DRB5, 8,
+ DRB6, 8,
+ DRB7, 8,
+ Offset (0x7A),
+ CREN, 1,
+ Offset (0x7B)
+ }
+
+ Name (_PRW, Package (0x02)
+ {
+ 0x0B,
+ 0x04
+ })
+ Method (_PSW, 1, NotSerialized)
+ {
+ EPSW (0x01, Arg0)
+ }
+
+ Name (PMEE, 0x00)
+ Method (EPSW, 2, NotSerialized)
+ {
+ If (Arg1)
+ {
+ Or (PMEE, Arg0, Local0)
+ }
+ Else
+ {
+ And (PMEE, Not (Arg0), Local0)
+ }
+
+ Store (Local0, PMEE)
+ If (\H8DR)
+ {
+ If (Local0)
+ {
+ Store (0x01, \_SB.PCI0.ISA.EC.HWPM)
+ }
+ Else
+ {
+ Store (0x00, \_SB.PCI0.ISA.EC.HWPM)
+ }
+ }
+ Else
+ {
+ If (Local0)
+ {
+ \MBEC (0x32, 0xFF, 0x01)
+ }
+ Else
+ {
+ \MBEC (0x32, 0xFE, 0x00)
+ }
+ }
+
+ If (Local0)
+ {
+ Store (0x01, \_SB.PCI0.ISA.WOLE)
+ }
+ Else
+ {
+ Store (0x00, \_SB.PCI0.ISA.WOLE)
+ }
+ }
+
+ Name (_CRS, ResourceTemplate ()
+ {
+ WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
+ 0x0000,
+ 0x0000,
+ 0x00FF,
+ 0x0000,
+ 0x0100)
+ IO (Decode16, 0x0CF8, 0x0CF8, 0x01, 0x08)
+ WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
+ 0x0000,
+ 0x0000,
+ 0x0CF7,
+ 0x0000,
+ 0x0CF8)
+ WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
+ 0x0000,
+ 0x0D00,
+ 0xFFFF,
+ 0x0000,
+ 0xF300)
+ DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
+ 0x00000000,
+ 0x000A0000,
+ 0x000BFFFF,
+ 0x00000000,
+ 0x00020000)
+ DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
+ 0x00000000,
+ 0x000C0000,
+ 0x000C3FFF,
+ 0x00000000,
+ 0x00004000)
+ DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
+ 0x00000000,
+ 0x000C4000,
+ 0x000C7FFF,
+ 0x00000000,
+ 0x00004000)
+ DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
+ 0x00000000,
+ 0x000C8000,
+ 0x000CBFFF,
+ 0x00000000,
+ 0x00004000)
+ DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
+ 0x00000000,
+ 0x000CC000,
+ 0x000CFFFF,
+ 0x00000000,
+ 0x00004000)
+ DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
+ 0x00000000,
+ 0x000D0000,
+ 0x000D3FFF,
+ 0x00000000,
+ 0x00004000)
+ DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
+ 0x00000000,
+ 0x000D4000,
+ 0x000D7FFF,
+ 0x00000000,
+ 0x00004000)
+ DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
+ 0x00000000,
+ 0x000D8000,
+ 0x000DBFFF,
+ 0x00000000,
+ 0x00004000)
+ DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
+ 0x00000000,
+ 0x000DC000,
+ 0x000DFFFF,
+ 0x00000000,
+ 0x00004000)
+ DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
+ 0x00000000,
+ 0x000E0000,
+ 0x000E3FFF,
+ 0x00000000,
+ 0x00004000)
+ DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
+ 0x00000000,
+ 0x000E4000,
+ 0x000E7FFF,
+ 0x00000000,
+ 0x00004000)
+ DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
+ 0x00000000,
+ 0x000E8000,
+ 0x000EBFFF,
+ 0x00000000,
+ 0x00004000)
+ DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
+ 0x00000000,
+ 0x000EC000,
+ 0x000EFFFF,
+ 0x00000000,
+ 0x00004000)
+ DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
+ 0x00000000,
+ 0x00100000,
+ 0xFFDFFFFF,
+ 0x00000000,
+ 0xFFD00000)
+ })
+ CreateDWordField (_CRS, 0x68, C0LN)
+ CreateDWordField (_CRS, 0x82, C4LN)
+ CreateDWordField (_CRS, 0x9C, C8LN)
+ CreateDWordField (_CRS, 0xB6, CCLN)
+ CreateDWordField (_CRS, 0xD0, D0LN)
+ CreateDWordField (_CRS, 0xEA, D4LN)
+ CreateDWordField (_CRS, 0x0104, D8LN)
+ CreateDWordField (_CRS, 0x011E, DCLN)
+ CreateDWordField (_CRS, 0x0138, E0LN)
+ CreateDWordField (_CRS, 0x0152, E4LN)
+ CreateDWordField (_CRS, 0x016C, E8LN)
+ CreateDWordField (_CRS, 0x0186, ECLN)
+ CreateDWordField (_CRS, 0x0194, XXMN)
+ CreateDWordField (_CRS, 0x0198, XXMX)
+ CreateDWordField (_CRS, 0x01A0, XXLN)
+ Method (_INI, 0, NotSerialized)
+ {
+ If (LEqual (\SCMP (\_OS, "Microsoft Windows"), Zero))
+ {
+ Store (One, \W98F)
+ }
+ Else
+ {
+ If (LEqual (\SCMP (\_OS, "Microsoft Windows NT"), Zero))
+ {
+ Store (One, \WNTF)
+ }
+ Else
+ {
+ If (LEqual (\SCMP (\_OS, "Microsoft WindowsME: Millennium Edition"), Zero))
+ {
+ Store (One, \WMEF)
+ Store (One, \W98F)
+ }
+ }
+ }
+
+ Multiply (DRB7, 0x00800000, Local0)
+ Store (Local0, \MEMX)
+ Store (Local0, XXMN)
+ Add (Subtract (XXMX, XXMN), 0x01, XXLN)
+ If (And (PAM1, 0x03))
+ {
+ Store (0x00, C0LN)
+ }
+
+ If (And (PAM1, 0x30))
+ {
+ Store (0x00, C4LN)
+ }
+
+ If (And (PAM2, 0x03))
+ {
+ Store (0x00, C8LN)
+ }
+
+ If (And (PAM2, 0x30))
+ {
+ Store (0x00, CCLN)
+ }
+
+ If (And (PAM3, 0x03))
+ {
+ Store (0x00, D0LN)
+ }
+
+ If (And (PAM3, 0x30))
+ {
+ Store (0x00, D4LN)
+ }
+
+ If (And (PAM4, 0x03))
+ {
+ Store (0x00, D8LN)
+ }
+
+ If (And (PAM4, 0x30))
+ {
+ Store (0x00, DCLN)
+ }
+
+ If (And (PAM5, 0x03))
+ {
+ Store (0x00, E0LN)
+ }
+
+ If (And (PAM5, 0x30))
+ {
+ Store (0x00, E4LN)
+ }
+
+ If (And (PAM6, 0x03))
+ {
+ Store (0x00, E8LN)
+ }
+
+ If (And (PAM6, 0x30))
+ {
+ Store (0x00, ECLN)
+ }
+
+ \_SB.PCI0.ISA.GPPM ()
+ If (\GCHK ())
+ {
+ Store (0x01, \GVEN)
+ }
+ }
+
+ Name (_PRT, Package (0x07)
+ {
+ Package (0x04)
+ {
+ 0x0001FFFF,
+ 0x00,
+ \_SB.LNKA,
+ 0x00
+ },
+
+ Package (0x04)
+ {
+ 0x0002FFFF,
+ 0x00,
+ \_SB.LNKA,
+ 0x00
+ },
+
+ Package (0x04)
+ {
+ 0x0002FFFF,
+ 0x01,
+ \_SB.LNKB,
+ 0x00
+ },
+
+ Package (0x04)
+ {
+ 0x0003FFFF,
+ 0x00,
+ \_SB.LNKC,
+ 0x00
+ },
+
+ Package (0x04)
+ {
+ 0x0003FFFF,
+ 0x01,
+ \_SB.LNKD,
+ 0x00
+ },
+
+ Package (0x04)
+ {
+ 0x0005FFFF,
+ 0x00,
+ \_SB.LNKA,
+ 0x00
+ },
+
+ Package (0x04)
+ {
+ 0x0007FFFF,
+ 0x03,
+ \_SB.LNKD,
+ 0x00
+ }
+ })
+ Device (IDE0)
+ {
+ Name (_ADR, 0x00070001)
+ OperationRegion (X140, PCI_Config, 0x40, 0x10)
+ Field (X140, DWordAcc, NoLock, Preserve)
+ {
+ XPT0, 1,
+ XPI0, 1,
+ XPP0, 1,
+ XPD0, 1,
+ XPT1, 1,
+ XPI1, 1,
+ XPP1, 1,
+ XPD1, 1,
+ XPRT, 2,
+ , 2,
+ XPIS, 2,
+ XPSE, 1,
+ XPE, 1,
+ XST0, 1,
+ XSI0, 1,
+ XSP0, 1,
+ XSD0, 1,
+ XST1, 1,
+ XSI1, 1,
+ XSP1, 1,
+ XSD1, 1,
+ XSRT, 2,
+ , 2,
+ XSIS, 2,
+ XSSE, 1,
+ XSE, 1,
+ XVRT, 2,
+ XVIS, 2,
+ Offset (0x05),
+ Offset (0x08),
+ XEP0, 1,
+ XEP1, 1,
+ XES0, 1,
+ XES1, 1,
+ Offset (0x09),
+ Offset (0x0A),
+ XUP0, 2,
+ , 2,
+ XUP1, 2,
+ Offset (0x0B),
+ XUS0, 2,
+ , 2,
+ XUS1, 2,
+ Offset (0x0C)
+ }
+
+ Device (PRIM)
+ {
+ Name (_ADR, 0x00)
+ Method (_GTM, 0, NotSerialized)
+ {
+ Subtract (0x05, XPIS, Local0)
+ Subtract (0x04, XPRT, Local1)
+ Add (Local0, Local1, Local0)
+ Multiply (0x1E, Local0, Local0)
+ If (LGreater (Local0, 0xF0))
+ {
+ Store (0x0384, Local0)
+ }
+
+ If (XEP0)
+ {
+ Store (0x11, Local4)
+ If (LEqual (XUP0, 0x00))
+ {
+ Store (0x78, Local1)
+ }
+ Else
+ {
+ If (LEqual (XUP0, 0x01))
+ {
+ Store (0x50, Local1)
+ }
+ Else
+ {
+ Store (0x3C, Local1)
+ }
+ }
+ }
+ Else
+ {
+ Store (0x10, Local4)
+ Store (Local0, Local1)
+ }
+
+ If (XPI0)
+ {
+ Or (Local4, 0x02, Local4)
+ }
+
+ If (XPSE)
+ {
+ Subtract (0x05, XVIS, Local2)
+ Subtract (0x04, XVRT, Local3)
+ Add (Local2, Local3, Local2)
+ Multiply (0x1E, Local2, Local2)
+ If (LGreater (Local2, 0xF0))
+ {
+ Store (0x0384, Local2)
+ }
+
+ If (XEP1)
+ {
+ Or (Local4, 0x04, Local4)
+ If (LEqual (XUP1, 0x00))
+ {
+ Store (0x78, Local3)
+ }
+ Else
+ {
+ If (LEqual (XUP1, 0x01))
+ {
+ Store (0x50, Local3)
+ }
+ Else
+ {
+ Store (0x3C, Local3)
+ }
+ }
+ }
+ Else
+ {
+ Store (Local2, Local3)
+ }
+ }
+ Else
+ {
+ Store (0x00, Local2)
+ Store (0x00, Local3)
+ }
+
+ If (XPI1)
+ {
+ Or (Local4, 0x08, Local4)
+ }
+
+ Store (Local0, \GTP0)
+ Store (Local1, \GTD0)
+ Store (Local2, \GTP1)
+ Store (Local3, \GTD1)
+ Store (Local4, \GTMF)
+ Return (\BGTM)
+ }
+
+ Method (_STM, 3, NotSerialized)
+ {
+ CreateDWordField (Arg0, 0x00, STP0)
+ CreateDWordField (Arg0, 0x04, STD0)
+ CreateDWordField (Arg0, 0x08, STP1)
+ CreateDWordField (Arg0, 0x0C, STD1)
+ CreateDWordField (Arg0, 0x10, STMF)
+ If (SizeOf (Arg1))
+ {
+ CreateWordField (Arg1, 0x01, PMZR)
+ If (PMZR)
+ {
+ Store (One, Local5)
+ }
+ Else
+ {
+ Store (Zero, Local5)
+ }
+ }
+ Else
+ {
+ Store (Zero, Local5)
+ }
+
+ If (Local5)
+ {
+ If (\W98F)
+ {
+ CreateWordField (Arg1, 0x66, PM51)
+ CreateWordField (Arg1, 0x6A, PM53)
+ CreateWordField (Arg1, 0x7C, PM62)
+ CreateWordField (Arg1, 0x7E, PM63)
+ CreateWordField (Arg1, 0x80, PM64)
+ CreateWordField (Arg1, 0x82, PM65)
+ CreateWordField (Arg1, 0x88, PM68)
+ CreateWordField (Arg1, 0xB0, PM88)
+ Store (\UDMA (PM53, PM88), Local0)
+ If (LGreater (Local0, 0x03))
+ {
+ Store (0x03, Local0)
+ }
+
+ Store (\MDMA (PM53, PM63, PM62, PM65), Local1)
+ Store (\MPIO (PM53, PM64, PM51, PM68), Local2)
+ Store (\MPI4 (Local1, Local2), Local3)
+ }
+ Else
+ {
+ Store (\MPIB (And (STMF, 0x02), STP0), Local2)
+ Store (\UDMB (And (STMF, 0x01), STD0), Local0)
+ Store (\MP4B (Local2), Local3)
+ Store (Local3, Local1)
+ }
+
+ Store (\MTIM (Local3, Local2, And (PMZR, 0x80)), Local4)
+ If (And (Local4, 0x01))
+ {
+ Store (One, XPT0)
+ }
+
+ If (And (Local4, 0x02))
+ {
+ Store (One, XPI0)
+ }
+
+ If (And (Local4, 0x04))
+ {
+ Store (One, XPP0)
+ }
+
+ If (And (Local4, 0x08))
+ {
+ Store (One, XPD0)
+ }
+
+ Store (\MISP (Local3), XPIS)
+ Store (\MRTC (Local3), XPRT)
+ If (Local0)
+ {
+ Store (One, XEP0)
+ Store (\MUCT (Local0), XUP0)
+ }
+ Else
+ {
+ Store (Zero, XEP0)
+ Store (Zero, XUP0)
+ }
+
+ Store (\MHDM (Local0, Local1), \HDM0)
+ Store (\MHPI (Local2), \HPI0)
+ }
+
+ If (SizeOf (Arg2))
+ {
+ CreateWordField (Arg2, 0x01, PS00)
+ If (PS00)
+ {
+ Store (One, Local5)
+ }
+ Else
+ {
+ Store (Zero, Local5)
+ }
+ }
+ Else
+ {
+ Store (Zero, Local5)
+ }
+
+ If (Local5)
+ {
+ If (\W98F)
+ {
+ CreateWordField (Arg2, 0x66, PS51)
+ CreateWordField (Arg2, 0x6A, PS53)
+ CreateWordField (Arg2, 0x7C, PS62)
+ CreateWordField (Arg2, 0x7E, PS63)
+ CreateWordField (Arg2, 0x80, PS64)
+ CreateWordField (Arg2, 0x82, PS65)
+ CreateWordField (Arg2, 0x88, PS68)
+ CreateWordField (Arg2, 0xB0, PS88)
+ Store (\UDMA (PS53, PS88), Local0)
+ If (LGreater (Local0, 0x03))
+ {
+ Store (0x03, Local0)
+ }
+
+ Store (\MDMA (PS53, PS63, PS62, PS65), Local1)
+ Store (\MPIO (PS53, PS64, PS51, PS68), Local2)
+ Store (\MPI4 (Local1, Local2), Local3)
+ }
+ Else
+ {
+ Store (\MPIB (And (STMF, 0x08), STP1), Local2)
+ Store (\UDMB (And (STMF, 0x04), STD1), Local0)
+ Store (\MP4B (Local2), Local3)
+ Store (Local3, Local1)
+ }
+
+ Store (One, XPSE)
+ Store (\MTIM (Local3, Local2, And (PS00, 0x80)), Local4)
+ If (And (Local4, 0x01))
+ {
+ Store (One, XPT1)
+ }
+
+ If (And (Local4, 0x02))
+ {
+ Store (One, XPI1)
+ }
+
+ If (And (Local4, 0x04))
+ {
+ Store (One, XPP1)
+ }
+
+ If (And (Local4, 0x08))
+ {
+ Store (One, XPD1)
+ }
+
+ Store (\MISP (Local3), XVIS)
+ Store (\MRTC (Local3), XVRT)
+ If (Local0)
+ {
+ Store (One, XEP1)
+ Store (\MUCT (Local0), XUP1)
+ }
+ Else
+ {
+ Store (Zero, XEP1)
+ Store (Zero, XUP1)
+ }
+
+ Store (\MHDM (Local0, Local1), \HDM1)
+ Store (\MHDM (Local0, Local1), \CDM1)
+ Store (\MHPI (Local2), \HPI1)
+ Store (\MHPI (Local2), \CPI1)
+ }
+ }
+
+ Device (MSTR)
+ {
+ Name (_ADR, 0x00)
+ Method (_GTF, 0, NotSerialized)
+ {
+ Return (\ICM0)
+ }
+ }
+ }
+
+ Device (SCND)
+ {
+ Name (_ADR, 0x01)
+ Method (_GTM, 0, NotSerialized)
+ {
+ Subtract (0x05, XSIS, Local0)
+ Subtract (0x04, XSRT, Local1)
+ Add (Local0, Local1, Local0)
+ Multiply (0x1E, Local0, Local0)
+ If (LGreater (Local0, 0xF0))
+ {
+ Store (0x0384, Local0)
+ }
+
+ If (XES0)
+ {
+ Store (0x11, Local2)
+ If (LEqual (XUS0, 0x00))
+ {
+ Store (0x78, Local1)
+ }
+ Else
+ {
+ If (LEqual (XUS0, 0x01))
+ {
+ Store (0x50, Local1)
+ }
+ Else
+ {
+ Store (0x3C, Local1)
+ }
+ }
+ }
+ Else
+ {
+ Store (0x10, Local2)
+ Store (Local0, Local1)
+ }
+
+ If (XSI0)
+ {
+ Or (Local2, 0x02, Local2)
+ }
+
+ Store (Local0, \GTP0)
+ Store (Local1, \GTD0)
+ Store (Zero, \GTP1)
+ Store (Zero, \GTD1)
+ Store (Local2, \GTMF)
+ Return (\BGTM)
+ }
+
+ Method (_STM, 3, NotSerialized)
+ {
+ CreateDWordField (Arg0, 0x00, STP0)
+ CreateDWordField (Arg0, 0x04, STD0)
+ CreateDWordField (Arg0, 0x08, STP1)
+ CreateDWordField (Arg0, 0x0C, STD1)
+ CreateDWordField (Arg0, 0x10, STMF)
+ If (SizeOf (Arg1))
+ {
+ CreateWordField (Arg1, 0x01, SM00)
+ If (SM00)
+ {
+ Store (One, Local5)
+ }
+ Else
+ {
+ Store (Zero, Local5)
+ }
+ }
+ Else
+ {
+ Store (Zero, Local5)
+ }
+
+ If (Local5)
+ {
+ If (\W98F)
+ {
+ CreateWordField (Arg1, 0x66, SM51)
+ CreateWordField (Arg1, 0x6A, SM53)
+ CreateWordField (Arg1, 0x7C, SM62)
+ CreateWordField (Arg1, 0x7E, SM63)
+ CreateWordField (Arg1, 0x80, SM64)
+ CreateWordField (Arg1, 0x82, SM65)
+ CreateWordField (Arg1, 0x88, SM68)
+ CreateWordField (Arg1, 0xB0, SM88)
+ Store (\UDMA (SM53, SM88), Local0)
+ If (LGreater (Local0, 0x03))
+ {
+ Store (0x03, Local0)
+ }
+
+ Store (\MDMA (SM53, SM63, SM62, SM65), Local1)
+ Store (\MPIO (SM53, SM64, SM51, SM68), Local2)
+ Store (\MPI4 (Local1, Local2), Local3)
+ }
+ Else
+ {
+ Store (\MPIB (And (STMF, 0x02), STP0), Local2)
+ Store (\UDMB (And (STMF, 0x01), STD0), Local0)
+ Store (\MP4B (Local2), Local3)
+ Store (Local3, Local1)
+ }
+
+ Store (\MTIM (Local3, Local2, And (SM00, 0x80)), Local4)
+ If (And (Local4, 0x01))
+ {
+ Store (One, XST0)
+ }
+
+ If (And (Local4, 0x02))
+ {
+ Store (One, XSI0)
+ }
+
+ If (And (Local4, 0x04))
+ {
+ Store (One, XSP0)
+ }
+
+ If (And (Local4, 0x08))
+ {
+ Store (One, XSD0)
+ }
+
+ Store (\MISP (Local3), XSIS)
+ Store (\MRTC (Local3), XSRT)
+ If (Local0)
+ {
+ Store (One, XES0)
+ Store (\MUCT (Local0), XUS0)
+ }
+ Else
+ {
+ Store (Zero, XES0)
+ Store (Zero, XUS0)
+ }
+
+ Store (\MHDM (Local0, Local1), \HDM2)
+ Store (\MHDM (Local0, Local1), \CDM2)
+ Store (\MHPI (Local2), \HPI2)
+ Store (\MHPI (Local2), \CPI2)
+ Store (MHDM (Local0, Local1), \DDM2)
+ Store (MHPI (Local2), \DPI2)
+ }
+ }
+
+ Device (MSTR)
+ {
+ Name (_ADR, 0x00)
+ Method (_GTF, 0, NotSerialized)
+ {
+ Store (\_SB.PCI0.ISA.EC.GUID (), Local0)
+ If (LEqual (Local0, 0x06))
+ {
+ Return (\ICM2)
+ }
+
+ Store (Zero, Local1)
+ If (LEqual (Local0, 0x0B))
+ {
+ Store (One, Local1)
+ }
+
+ If (LEqual (Local0, 0x03))
+ {
+ Store (One, Local1)
+ }
+
+ If (LEqual (Local0, 0x0A))
+ {
+ Store (One, Local1)
+ }
+
+ If (Local1)
+ {
+ Store (\GCDT (0x00), \DTF2)
+ Store (\GCDT (0x01), \DTA2)
+ Return (\DCM2)
+ }
+ Else
+ {
+ Return (\ICC2)
+ }
+ }
+ }
+ }
+ }
+
+ Device (PM00)
+ {
+ Name (_ADR, 0x00070003)
+ OperationRegion (X3DR, PCI_Config, 0x5C, 0x20)
+ Field (X3DR, DWordAcc, NoLock, Preserve)
+ {
+ , 1,
+ , 2,
+ , 1,
+ , 1,
+ , 2,
+ Offset (0x01),
+ , 2,
+ , 15,
+ , 1,
+ , 3,
+ XA0E, 1,
+ XM0E, 1,
+ XPE, 1,
+ X09A, 16,
+ X09M, 4,
+ , 1,
+ X09E, 3,
+ , 1,
+ XPA, 2,
+ , 1,
+ XFA, 1,
+ XFE, 1,
+ , 1,
+ Offset (0x08),
+ Offset (0x0B),
+ XU1A, 3,
+ XU1E, 1,
+ XU2A, 3,
+ XU2E, 1,
+ X12A, 16,
+ X12M, 4,
+ X12E, 1,
+ Offset (0x0F),
+ Offset (0x10),
+ X12O, 32,
+ X13A, 16,
+ X13M, 4,
+ X13E, 1,
+ Offset (0x17),
+ Offset (0x18),
+ X13O, 32,
+ Offset (0x20)
+ }
+
+ OperationRegion (SMBC, PCI_Config, 0xD2, 0x01)
+ Field (SMBC, ByteAcc, NoLock, Preserve)
+ {
+ SBHE, 1,
+ SBIS, 3
+ }
+
+ OperationRegion (GLEN, SystemIO, 0x1020, 0x02)
+ Field (GLEN, WordAcc, NoLock, Preserve)
+ {
+ , 15,
+ BLEN, 1
+ }
+ }
+
+ Device (USB)
+ {
+ Name (_ADR, 0x00070002)
+ Method (_PSW, 1, NotSerialized)
+ {
+ Noop
+ }
+
+ Name (_PRW, Package (0x02)
+ {
+ 0x08,
+ 0x01
+ })
+ }
+
+ Device (AGP)
+ {
+ Name (_ADR, 0x00010000)
+ Name (_PRT, Package (0x02)
+ {
+ Package (0x04)
+ {
+ 0xFFFF,
+ 0x00,
+ \_SB.LNKA,
+ 0x00
+ },
+
+ Package (0x04)
+ {
+ 0xFFFF,
+ 0x01,
+ \_SB.LNKB,
+ 0x00
+ }
+ })
+ Name (EDX1, Buffer (0x80)
+ {
+ 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00,
+ 0x24, 0x4D, 0x55, 0x0A, 0x01, 0x01, 0x01, 0x01,
+ 0x23, 0x09, 0x01, 0x02, 0x80, 0x21, 0x18, 0x00,
+ 0xEA, 0x0D, 0xFB, 0xA0, 0x57, 0x47, 0x98, 0x27,
+ 0x12, 0x4D, 0x51, 0xA1, 0x08, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x19,
+ 0x00, 0x40, 0x41, 0x00, 0x26, 0x30, 0x18, 0x88,
+ 0x36, 0x00, 0x0E, 0xCB, 0x10, 0x00, 0x00, 0x1A,
+ 0x00, 0x00, 0x00, 0xFC, 0x00, 0x54, 0x68, 0x69,
+ 0x6E, 0x6B, 0x50, 0x61, 0x64, 0x20, 0x4C, 0x43,
+ 0x44, 0x20, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x31,
+ 0x30, 0x32, 0x34, 0x78, 0x37, 0x36, 0x38, 0x20,
+ 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33
+ })
+ Name (EDX2, Buffer (0x0100)
+ {
+ 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00,
+ 0x24, 0x4D, 0x55, 0x0A, 0x01, 0x01, 0x01, 0x01,
+ 0x23, 0x09, 0x01, 0x02, 0x80, 0x21, 0x18, 0x00,
+ 0xEA, 0x0D, 0xFB, 0xA0, 0x57, 0x47, 0x98, 0x27,
+ 0x12, 0x4D, 0x51, 0xA1, 0x08, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x19,
+ 0x00, 0x40, 0x41, 0x00, 0x26, 0x30, 0x18, 0x88,
+ 0x36, 0x00, 0x0E, 0xCB, 0x10, 0x00, 0x00, 0x1A,
+ 0x00, 0x00, 0x00, 0xFC, 0x00, 0x54, 0x68, 0x69,
+ 0x6E, 0x6B, 0x50, 0x61, 0x64, 0x20, 0x4C, 0x43,
+ 0x44, 0x20, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x31,
+ 0x30, 0x32, 0x34, 0x78, 0x37, 0x36, 0x38, 0x20,
+ 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ })
+ Name (EDT1, Buffer (0x80)
+ {
+ 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00,
+ 0xC1, 0xD0, 0xFE, 0x09, 0x01, 0x01, 0x01, 0x01,
+ 0x23, 0x09, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00,
+ 0xEA, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xA1, 0x08, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x31, 0x58, 0x1C, 0x20, 0x28, 0x80,
+ 0x01, 0x00, 0xF6, 0xB8, 0x00, 0x00, 0x00, 0x1A,
+ 0x00, 0x00, 0x00, 0xFC, 0x00, 0x54, 0x68, 0x69,
+ 0x6E, 0x6B, 0x50, 0x61, 0x64, 0x20, 0x54, 0x56,
+ 0x20, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x59
+ })
+ Name (EDT2, Buffer (0x0100)
+ {
+ 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00,
+ 0xC1, 0xD0, 0xFE, 0x09, 0x01, 0x01, 0x01, 0x01,
+ 0x23, 0x09, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00,
+ 0xEA, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xA1, 0x08, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x31, 0x58, 0x1C, 0x20, 0x28, 0x80,
+ 0x01, 0x00, 0xF6, 0xB8, 0x00, 0x00, 0x00, 0x1A,
+ 0x00, 0x00, 0x00, 0xFC, 0x00, 0x54, 0x68, 0x69,
+ 0x6E, 0x6B, 0x50, 0x61, 0x64, 0x20, 0x54, 0x56,
+ 0x20, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x59,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ })
+ Mutex (MDGS, 0x07)
+ Name (VDEE, 0x01)
+ Name (VDDA, Buffer (0x02) {})
+ CreateBitField (VDDA, 0x00, VUPC)
+ CreateBitField (VDDA, 0x01, VQDL)
+ CreateBitField (VDDA, 0x02, VQDC)
+ CreateBitField (VDDA, 0x03, VQDT)
+ CreateBitField (VDDA, 0x04, VQDD)
+ CreateBitField (VDDA, 0x05, VSDL)
+ CreateBitField (VDDA, 0x06, VSDC)
+ CreateBitField (VDDA, 0x07, VSDT)
+ CreateBitField (VDDA, 0x08, VSDD)
+ CreateBitField (VDDA, 0x0A, MSWT)
+ CreateBitField (VDDA, 0x0B, VWST)
+ CreateBitField (VDDA, 0x0D, VPWR)
+ Device (VID)
+ {
+ Name (_ADR, 0x00)
+ Name (_S1D, 0x01)
+ Name (_S3D, 0x03)
+ Method (_INI, 0, NotSerialized)
+ {
+ \VUPS (0x02)
+ Store (\VCDL, VQDL)
+ Store (\VCDC, VQDC)
+ Store (\VCDT, VQDT)
+ Store (\VCDD, VQDD)
+ }
+
+ Method (_PS0, 0, NotSerialized)
+ {
+ Store (0x01, VPWR)
+ }
+
+ Method (_PS1, 0, NotSerialized)
+ {
+ Store (0x00, VPWR)
+ }
+
+ Method (_PS2, 0, NotSerialized)
+ {
+ Store (0x00, VPWR)
+ }
+
+ Method (_PS3, 0, NotSerialized)
+ {
+ Store (0x00, VPWR)
+ }
+
+ Method (VSWT, 0, NotSerialized)
+ {
+ \VUPS (0x80)
+ If (LNot (\VCIN))
+ {
+ Store (0x01, Local0)
+ Store (0x00, Local2)
+ If (\VCDT)
+ {
+ Or (0x04, Local2, Local2)
+ }
+
+ If (\VCDL)
+ {
+ Add (0x01, Local0, Local0)
+ }
+
+ If (\VCDC)
+ {
+ Add (0x02, Local0, Local0)
+ }
+
+ If (LEqual (0x04, Local0))
+ {
+ Store (0x01, Local1)
+ }
+ Else
+ {
+ Store (Local0, Local1)
+ }
+
+ Or (Local2, Local1, Local1)
+ ASWT (Local1, 0x01)
+ }
+ }
+
+ Method (VLOC, 1, NotSerialized)
+ {
+ If (VPWR)
+ {
+ If (Arg0)
+ {
+ \VUPS (0x81)
+ If (LNot (VCSS))
+ {
+ If (LNot (\VCDL))
+ {
+ ASWT (0x01, 0x00)
+ \VNRS (0x01)
+ }
+ }
+ }
+ }
+ }
+
+ Method (_DOS, 1, NotSerialized)
+ {
+ If (LEqual (Arg0, 0x02))
+ {
+ Store (0x01, Local0)
+ While (Local0)
+ {
+ Acquire (MDGS, 0xFFFF)
+ If (LEqual (0x00, MSWT))
+ {
+ Store (0x01, MSWT)
+ Store (0x00, Local0)
+ Store (Arg0, VDEE)
+ }
+
+ Release (MDGS)
+ Sleep (0x01)
+ }
+ }
+ Else
+ {
+ Acquire (MDGS, 0xFFFF)
+ If (LEqual (VDEE, 0x02))
+ {
+ Store (0x00, MSWT)
+ }
+
+ If (LGreater (Arg0, 0x02))
+ {
+ Store (0x01, VDEE)
+ }
+ Else
+ {
+ Store (Arg0, VDEE)
+ }
+
+ Release (MDGS)
+ }
+ }
+
+ Method (_DOD, 0, NotSerialized)
+ {
+ Return (Package (0x03)
+ {
+ 0x00010110,
+ 0x00010100,
+ 0x00010200
+ })
+ }
+
+ Method (ASWT, 2, NotSerialized)
+ {
+ If (LEqual (0x01, VDEE))
+ {
+ \VSDS (Arg0, 0x01)
+ }
+ Else
+ {
+ Store (0x01, Local0)
+ While (Local0)
+ {
+ Acquire (MDGS, 0xFFFF)
+ If (LEqual (0x00, MSWT))
+ {
+ Store (0x00, Local0)
+ If (And (0x01, Arg1))
+ {
+ Store (0x01, VUPC)
+ }
+ Else
+ {
+ Store (0x00, VUPC)
+ }
+
+ If (And (0x01, Arg0))
+ {
+ Store (0x01, VQDL)
+ }
+ Else
+ {
+ Store (0x00, VQDL)
+ }
+
+ If (And (0x02, Arg0))
+ {
+ Store (0x01, VQDC)
+ }
+ Else
+ {
+ Store (0x00, VQDC)
+ }
+
+ If (And (0x04, Arg0))
+ {
+ Store (0x01, VQDT)
+ }
+ Else
+ {
+ Store (0x00, VQDT)
+ }
+ }
+
+ Release (MDGS)
+ Sleep (0x01)
+ }
+
+ If (And (0x02, Arg1))
+ {
+ Notify (\_SB.PCI0.AGP.VID, 0x81)
+ }
+ Else
+ {
+ Notify (\_SB.PCI0.AGP.VID, 0x80)
+ }
+ }
+ }
+
+ Method (VDSW, 1, NotSerialized)
+ {
+ If (LNot (Arg0))
+ {
+ ASWT (0x01, 0x00)
+ \VNRS (0x05)
+ }
+ }
+
+ Device (LCD0)
+ {
+ Name (_ADR, 0x0110)
+ Method (_DCS, 0, NotSerialized)
+ {
+ \VUPS (0x00)
+ If (\VCDL)
+ {
+ Return (0x1F)
+ }
+ Else
+ {
+ Return (0x1D)
+ }
+ }
+
+ Method (_DDC, 1, NotSerialized)
+ {
+ If (LEqual (\VLID, 0x02))
+ {
+ If (LEqual (Arg0, 0x01))
+ {
+ Return (EDX1)
+ }
+ Else
+ {
+ If (LEqual (Arg0, 0x02))
+ {
+ Return (EDX2)
+ }
+ }
+ }
+ }
+
+ Method (_DGS, 0, NotSerialized)
+ {
+ Return (VQDL)
+ }
+
+ Method (_DSS, 1, NotSerialized)
+ {
+ And (Arg0, 0x01, VSDL)
+ If (And (Arg0, 0x80000000))
+ {
+ If (And (Arg0, 0x40000000))
+ {
+ DSWT (0x02)
+ }
+ Else
+ {
+ DSWT (0x01)
+ }
+ }
+ }
+ }
+
+ Device (CRT0)
+ {
+ Name (_ADR, 0x0100)
+ Method (_DCS, 0, NotSerialized)
+ {
+ \VUPS (0x01)
+ If (\VCSS)
+ {
+ If (\VCDC)
+ {
+ Return (0x1F)
+ }
+ Else
+ {
+ Return (0x1D)
+ }
+ }
+ Else
+ {
+ If (\VCDC)
+ {
+ Return (0x0F)
+ }
+ Else
+ {
+ Return (0x0D)
+ }
+ }
+ }
+
+ Method (_DDC, 1, NotSerialized)
+ {
+ \VDDC ()
+ If (LEqual (Arg0, 0x01))
+ {
+ Return (\DDC1)
+ }
+ Else
+ {
+ If (LEqual (Arg0, 0x02))
+ {
+ Return (\DDC2)
+ }
+ Else
+ {
+ Return (0x00)
+ }
+ }
+ }
+
+ Method (_DGS, 0, NotSerialized)
+ {
+ Return (VQDC)
+ }
+
+ Method (_DSS, 1, NotSerialized)
+ {
+ And (Arg0, 0x01, VSDC)
+ If (And (Arg0, 0x80000000))
+ {
+ If (And (Arg0, 0x40000000))
+ {
+ DSWT (0x02)
+ }
+ Else
+ {
+ DSWT (0x01)
+ }
+ }
+ }
+ }
+
+ Device (TV0)
+ {
+ Name (_ADR, 0x0200)
+ Method (_DCS, 0, NotSerialized)
+ {
+ \VUPS (0x00)
+ If (\VCDT)
+ {
+ Return (0x1F)
+ }
+ Else
+ {
+ Return (0x1D)
+ }
+ }
+
+ Method (_DDC, 1, NotSerialized)
+ {
+ If (LEqual (Arg0, 0x01))
+ {
+ Return (EDT1)
+ }
+ Else
+ {
+ If (LEqual (Arg0, 0x02))
+ {
+ Return (EDT2)
+ }
+ }
+ }
+
+ Method (_DGS, 0, NotSerialized)
+ {
+ Return (VQDT)
+ }
+
+ Method (_DSS, 1, NotSerialized)
+ {
+ And (Arg0, 0x01, VSDT)
+ If (And (Arg0, 0x80000000))
+ {
+ If (And (Arg0, 0x40000000))
+ {
+ DSWT (0x02)
+ }
+ Else
+ {
+ DSWT (0x01)
+ }
+ }
+ }
+ }
+
+ Method (DSWT, 1, NotSerialized)
+ {
+ If (VSDL)
+ {
+ Store (0x01, Local0)
+ }
+ Else
+ {
+ Store (0x00, Local0)
+ }
+
+ If (VSDC)
+ {
+ Or (0x02, Local0, Local0)
+ }
+
+ If (Local0)
+ {
+ If (VUPC)
+ {
+ \VSDS (Local0, Arg0)
+ }
+ }
+ Else
+ {
+ Noop
+ }
+ }
+ }
+ }
+
+ Device (ISA)
+ {
+ Name (_ADR, 0x00070000)
+ OperationRegion (PIRQ, PCI_Config, 0x60, 0x60)
+ Field (PIRQ, AnyAcc, NoLock, Preserve)
+ {
+ PIRA, 8,
+ PIRB, 8,
+ PIRC, 8,
+ PIRD, 8,
+ SIRQ, 8,
+ Offset (0x16),
+ CH00, 3,
+ , 4,
+ FE00, 1,
+ CH01, 3,
+ , 4,
+ FE01, 1,
+ Offset (0x22),
+ P21E, 3,
+ Offset (0x23),
+ Offset (0x50),
+ , 1,
+ , 1,
+ , 1,
+ , 1,
+ GCR4, 1,
+ , 1,
+ , 1,
+ Offset (0x51),
+ , 1,
+ , 1,
+ , 1,
+ , 1,
+ GCRC, 1,
+ , 1,
+ , 1,
+ Offset (0x52),
+ , 1,
+ , 1,
+ , 1,
+ , 1,
+ , 1,
+ , 1,
+ SUS2, 1,
+ Offset (0x54),
+ Offset (0x60)
+ }
+
+ Device (SIO)
+ {
+ Name (_HID, EisaId ("PNP0C02"))
+ Name (_UID, 0x00)
+ Name (_STA, 0x0B)
+ Name (_CRS, ResourceTemplate ()
+ {
+ IO (Decode16, 0x0022, 0x0022, 0x01, 0x01)
+ IO (Decode16, 0x0092, 0x0092, 0x01, 0x01)
+ IO (Decode16, 0x00B2, 0x00B2, 0x01, 0x02)
+ IO (Decode16, 0x1000, 0x1000, 0x01, 0x40)
+ IO (Decode16, 0x1040, 0x1040, 0x01, 0x10)
+ IO (Decode16, 0xFE00, 0xFE00, 0x01, 0x10)
+ })
+ }
+
+ Device (PIC)
+ {
+ Name (_HID, EisaId ("PNP0000"))
+ Name (_CRS, ResourceTemplate ()
+ {
+ IO (Decode16, 0x0020, 0x0020, 0x01, 0x02)
+ IO (Decode16, 0x00A0, 0x00A0, 0x01, 0x02)
+ IO (Decode16, 0x04D0, 0x04D0, 0x01, 0x02)
+ IRQNoFlags () {2}
+ })
+ }
+
+ Device (TIMR)
+ {
+ Name (_HID, EisaId ("PNP0100"))
+ Name (_CRS, ResourceTemplate ()
+ {
+ IO (Decode16, 0x0040, 0x0040, 0x01, 0x04)
+ IRQNoFlags () {0}
+ })
+ }
+
+ Device (DMAC)
+ {
+ Name (_HID, EisaId ("PNP0200"))
+ Name (_CRS, ResourceTemplate ()
+ {
+ IO (Decode16, 0x0000, 0x0000, 0x01, 0x10)
+ IO (Decode16, 0x0080, 0x0080, 0x01, 0x10)
+ IO (Decode16, 0x00C0, 0x00C0, 0x01, 0x20)
+ DMA (Compatibility, BusMaster, Transfer8) {4}
+ })
+ }
+
+ Device (SPKR)
+ {
+ Name (_HID, EisaId ("PNP0800"))
+ Name (_CRS, ResourceTemplate ()
+ {
+ IO (Decode16, 0x0061, 0x0061, 0x01, 0x01)
+ })
+ }
+
+ Device (FPU)
+ {
+ Name (_HID, EisaId ("PNP0C04"))
+ Name (_CRS, ResourceTemplate ()
+ {
+ IO (Decode16, 0x00F0, 0x00F0, 0x01, 0x10)
+ IRQNoFlags () {13}
+ })
+ }
+
+ Device (RTC)
+ {
+ Name (_HID, EisaId ("PNP0B00"))
+ Name (_CRS, ResourceTemplate ()
+ {
+ IO (Decode16, 0x0070, 0x0070, 0x01, 0x04)
+ IRQNoFlags () {8}
+ })
+ }
+
+ Device (KBD)
+ {
+ Name (_HID, EisaId ("PNP0303"))
+ Name (_CRS, ResourceTemplate ()
+ {
+ IO (Decode16, 0x0060, 0x0060, 0x01, 0x01)
+ IO (Decode16, 0x0064, 0x0064, 0x01, 0x01)
+ IRQNoFlags () {1}
+ })
+ }
+
+ Device (MOU)
+ {
+ Name (_HID, EisaId ("IBM3780"))
+ Name (_CID, 0x130FD041)
+ Name (_CRS, ResourceTemplate ()
+ {
+ IRQNoFlags () {12}
+ })
+ }
+
+ Device (PMGA)
+ {
+ Name (_HID, EisaId ("PNP0C02"))
+ Name (_UID, 0x02)
+ Name (_STA, 0x0B)
+ Name (_CRS, ResourceTemplate ()
+ {
+ IO (Decode16, 0x15E0, 0x15E0, 0x01, 0x10)
+ })
+ }
+
+ OperationRegion (IMGA, SystemIO, 0x15EC, 0x04)
+ Field (IMGA, ByteAcc, NoLock, Preserve)
+ {
+ IND0, 8,
+ DAT0, 8,
+ IND1, 8,
+ DAT1, 8
+ }
+
+ IndexField (IND0, DAT0, ByteAcc, NoLock, Preserve)
+ {
+ Offset (0x7F),
+ ACI, 8
+ }
+
+ IndexField (IND1, DAT1, ByteAcc, NoLock, Preserve)
+ {
+ , 4,
+ VDPW, 1,
+ CBPW, 1,
+ BREN, 1,
+ Offset (0x01),
+ Offset (0x07),
+ , 2,
+ SSBY, 1,
+ Offset (0x08),
+ Offset (0x21),
+ , 1,
+ , 1,
+ BTON, 1,
+ , 1,
+ Offset (0x22),
+ Offset (0x2D),
+ BUSC, 1,
+ BUSD, 1,
+ SCIS, 1,
+ SCIR, 2,
+ SLCK, 1,
+ WOLE, 1,
+ Offset (0x2E)
+ }
+
+ Method (HBEN, 0, NotSerialized)
+ {
+ If (\GLPW ())
+ {
+ Store (0x01, BREN)
+ }
+ }
+
+ Method (HBDS, 0, NotSerialized)
+ {
+ If (\GLPW ())
+ {
+ Store (0x00, BREN)
+ }
+ }
+
+ PowerResource (PSER, 0x00, 0x0000)
+ {
+ Method (_STA, 0, NotSerialized)
+ {
+ Return (XOr (SSBY, 0x01))
+ }
+
+ Method (_ON, 0, NotSerialized)
+ {
+ Store (0x00, SSBY)
+ }
+
+ Method (_OFF, 0, NotSerialized)
+ {
+ Store (0x01, SSBY)
+ }
+ }
+
+ Device (SPIO)
+ {
+ Name (_HID, EisaId ("PNP0C02"))
+ Name (_UID, 0x01)
+ Name (_STA, 0x0B)
+ Name (_CRS, ResourceTemplate ()
+ {
+ IO (Decode16, 0x002E, 0x002E, 0x01, 0x02)
+ })
+ }
+
+ OperationRegion (NCFG, SystemIO, 0x2E, 0x02)
+ Field (NCFG, ByteAcc, NoLock, Preserve)
+ {
+ INDX, 8,
+ DATA, 8
+ }
+
+ IndexField (INDX, DATA, ByteAcc, NoLock, Preserve)
+ {
+ FER, 8,
+ FAR, 8,
+ PTR, 8,
+ FCR, 8,
+ PCR, 8,
+ Offset (0x06),
+ PMC, 8,
+ TUP, 8,
+ SID, 8,
+ ASC, 8,
+ S0LA, 8,
+ S0CF, 8,
+ S1LA, 8,
+ S1CF, 8,
+ Offset (0x10),
+ S0HA, 8,
+ S1HA, 8,
+ SCF0, 8,
+ Offset (0x18),
+ SCF1, 8,
+ Offset (0x1B),
+ PNP0, 8,
+ PNP1, 8,
+ Offset (0x40),
+ SCF2, 8,
+ PNP2, 8,
+ PBAL, 8,
+ PBAH, 8,
+ U1AL, 8,
+ U1AH, 8,
+ U2AL, 8,
+ U2AH, 8,
+ FBAL, 8,
+ FBAH, 8,
+ SBAL, 8,
+ SBAH, 8,
+ IRQ1, 8,
+ IRQ2, 8,
+ IRQ3, 8,
+ PNP3, 8,
+ SCF3, 8,
+ CLK, 8
+ }
+
+ PowerResource (PSIO, 0x00, 0x0000)
+ {
+ Name (PSTS, 0x01)
+ Method (_STA, 0, NotSerialized)
+ {
+ Return (PSTS)
+ }
+
+ Method (_ON, 0, NotSerialized)
+ {
+ And (PTR, 0xFE, PTR)
+ Store (0x01, PSTS)
+ }
+
+ Method (_OFF, 0, NotSerialized)
+ {
+ Store (0x00, PSTS)
+ }
+ }
+
+ Device (FDC)
+ {
+ Name (_HID, EisaId ("PNP0700"))
+ Name (_PR0, Package (0x01)
+ {
+ PSIO
+ })
+ Method (_STA, 0, NotSerialized)
+ {
+ Store (\_SB.PCI0.PM00.XFE, Local0)
+ If (Local0)
+ {
+ Return (0x0F)
+ }
+ Else
+ {
+ Return (0x0D)
+ }
+ }
+
+ Method (_DIS, 0, NotSerialized)
+ {
+ And (PNP2, 0x80, PNP2)
+ Store (Zero, \_SB.PCI0.PM00.XFE)
+ }
+
+ Name (_CRS, ResourceTemplate ()
+ {
+ IO (Decode16, 0x03F0, 0x03F0, 0x01, 0x06)
+ IO (Decode16, 0x03F7, 0x03F7, 0x01, 0x01)
+ IRQNoFlags () {6}
+ DMA (Compatibility, NotBusMaster, Transfer8) {2}
+ })
+ Name (_PRS, ResourceTemplate ()
+ {
+ IO (Decode16, 0x03F0, 0x03F0, 0x01, 0x06)
+ IO (Decode16, 0x03F7, 0x03F7, 0x01, 0x01)
+ IRQNoFlags () {6}
+ DMA (Compatibility, NotBusMaster, Transfer8) {2}
+ })
+ Method (_SRS, 1, NotSerialized)
+ {
+ And (FBAL, 0x01, Local0)
+ Or (Local0, 0xFC, FBAL)
+ And (FBAH, 0x03, FBAH)
+ And (PNP2, 0x80, Local0)
+ Or (Local0, 0x36, PNP2)
+ If (And (FER, 0x08, Local1)) {}
+ Else
+ {
+ Or (FER, 0x08, FER)
+ }
+
+ Store (Zero, \_SB.PCI0.PM00.XFA)
+ Store (One, \_SB.PCI0.PM00.XFE)
+ If (LEqual (\_SB.PCI0.ISA.EC.BDEV, 0x0D))
+ {
+ \SFDD (0x00)
+ }
+ Else
+ {
+ \SFDD (0x01)
+ }
+ }
+ }
+
+ Device (UART)
+ {
+ Name (_HID, EisaId ("PNP0501"))
+ Name (_EJD, "_SB.PCI0.DOCK")
+ Name (_PR0, Package (0x02)
+ {
+ PSIO,
+ PSER
+ })
+ Name (_PRW, Package (0x02)
+ {
+ 0x0B,
+ 0x03
+ })
+ Method (_PSW, 1, NotSerialized)
+ {
+ If (\H8DR)
+ {
+ If (Arg0)
+ {
+ Store (0x01, \_SB.PCI0.ISA.EC.HWRI)
+ }
+ Else
+ {
+ Store (0x00, \_SB.PCI0.ISA.EC.HWRI)
+ }
+ }
+ Else
+ {
+ If (Arg0)
+ {
+ \MBEC (0x32, 0xFF, 0x40)
+ }
+ Else
+ {
+ \MBEC (0x32, 0xBF, 0x00)
+ }
+ }
+ }
+
+ Method (_STA, 0, NotSerialized)
+ {
+ If (And (FER, 0x02))
+ {
+ Return (0x0F)
+ }
+ Else
+ {
+ Return (0x0D)
+ }
+ }
+
+ Method (_DIS, 0, NotSerialized)
+ {
+ And (FER, 0xFD, FER)
+ Store (Zero, \_SB.PCI0.PM00.XU1E)
+ }
+
+ Method (_CRS, 0, NotSerialized)
+ {
+ Name (BUFF, ResourceTemplate ()
+ {
+ IO (Decode16, 0x03F8, 0x03F8, 0x01, 0x08)
+ IRQNoFlags () {4}
+ })
+ CreateWordField (BUFF, 0x02, U1MN)
+ CreateWordField (BUFF, 0x04, U1MX)
+ CreateWordField (BUFF, 0x09, U1IQ)
+ ShiftLeft (And (U1AL, 0xFE), 0x02, Local0)
+ Store (Local0, U1MN)
+ Store (Local0, U1MX)
+ If (And (PNP1, 0x01))
+ {
+ Store (0x08, U1IQ)
+ }
+
+ Return (BUFF)
+ }
+
+ Name (_PRS, ResourceTemplate ()
+ {
+ StartDependentFn (0x00, 0x00)
+ {
+ IO (Decode16, 0x03F8, 0x03F8, 0x01, 0x08)
+ IRQNoFlags () {4}
+ }
+ StartDependentFn (0x01, 0x00)
+ {
+ IO (Decode16, 0x02F8, 0x02F8, 0x01, 0x08)
+ IRQNoFlags () {3}
+ }
+ StartDependentFn (0x02, 0x00)
+ {
+ IO (Decode16, 0x03E8, 0x03E8, 0x01, 0x08)
+ IRQNoFlags () {4}
+ }
+ StartDependentFn (0x02, 0x00)
+ {
+ IO (Decode16, 0x02E8, 0x02E8, 0x01, 0x08)
+ IRQNoFlags () {3}
+ }
+ EndDependentFn ()
+ })
+ Method (_SRS, 1, NotSerialized)
+ {
+ CreateWordField (Arg0, 0x02, IOAR)
+ CreateWordField (Arg0, 0x09, IRQM)
+ If (LEqual (IOAR, 0x03F8))
+ {
+ Store (0xFE, Local0)
+ Store (0x00, Local1)
+ }
+ Else
+ {
+ If (LEqual (IOAR, 0x02F8))
+ {
+ Store (0xBE, Local0)
+ Store (0x01, Local1)
+ }
+ Else
+ {
+ If (LEqual (IOAR, 0x03E8))
+ {
+ Store (0xFA, Local0)
+ Store (0x07, Local1)
+ }
+ Else
+ {
+ If (LEqual (IOAR, 0x02E8))
+ {
+ Store (0xBA, Local0)
+ Store (0x05, Local1)
+ }
+ Else
+ {
+ Fatal (0x02, 0x90000002, 0x00)
+ }
+ }
+ }
+ }
+
+ And (U1AH, 0x03, U1AH)
+ And (U1AL, 0x01, Local2)
+ Or (Local0, Local2, U1AL)
+ Store (Local1, \_SB.PCI0.PM00.XU1A)
+ And (PNP1, 0xF0, Local0)
+ If (LEqual (IRQM, 0x10))
+ {
+ Or (Local0, 0x04, Local0)
+ }
+ Else
+ {
+ If (LEqual (IRQM, 0x08))
+ {
+ Or (Local0, 0x03, Local0)
+ }
+ Else
+ {
+ Fatal (0x02, 0x90000002, 0x00)
+ }
+ }
+
+ Store (Local0, PNP1)
+ Or (FER, 0x02, FER)
+ Store (One, \_SB.PCI0.PM00.XU1E)
+ }
+ }
+
+ Name (PPMD, 0x00)
+ Name (PPDR, 0x00)
+ Method (GPPM, 0, NotSerialized)
+ {
+ Store (\GPAR (), Local0)
+ And (Local0, 0x03, PPMD)
+ ShiftRight (And (Local0, 0x04), 0x02, PPDR)
+ }
+
+ Device (LPT)
+ {
+ Name (_HID, EisaId ("PNP0400"))
+ Name (_EJD, "_SB.PCI0.DOCK")
+ Name (_PR0, Package (0x01)
+ {
+ PSIO
+ })
+ Method (_STA, 0, NotSerialized)
+ {
+ If (LEqual (PPMD, 0x03))
+ {
+ Return (Zero)
+ }
+ Else
+ {
+ If (And (FER, 0x01))
+ {
+ Return (0x0F)
+ }
+ Else
+ {
+ Return (0x0D)
+ }
+ }
+ }
+
+ Method (_DIS, 0, NotSerialized)
+ {
+ And (FER, 0xFE, FER)
+ Store (Zero, \_SB.PCI0.PM00.XPE)
+ }
+
+ Method (_CRS, 0, NotSerialized)
+ {
+ Name (BUFF, ResourceTemplate ()
+ {
+ IO (Decode16, 0x03BC, 0x03BC, 0x01, 0x04)
+ IRQNoFlags () {7}
+ })
+ CreateWordField (BUFF, 0x02, L1MN)
+ CreateWordField (BUFF, 0x04, L1MX)
+ CreateByteField (BUFF, 0x06, L1AL)
+ CreateByteField (BUFF, 0x07, L1LN)
+ CreateWordField (BUFF, 0x09, L1IQ)
+ If (LEqual (PPMD, 0x03))
+ {
+ Store (0x00, L1MN)
+ Store (0x00, L1MX)
+ Store (0x00, L1AL)
+ Store (0x00, L1LN)
+ Store (0x00, L1IQ)
+ Return (BUFF)
+ }
+
+ And (PBAL, 0xFF, Local0)
+ If (LEqual (Local0, 0xEF)) {}
+ Else
+ {
+ If (LEqual (Local0, 0xDE))
+ {
+ Store (0x0378, L1MN)
+ Store (0x0378, L1MX)
+ Store (0x08, L1LN)
+ }
+ Else
+ {
+ If (LEqual (Local0, 0x9E))
+ {
+ Store (0x0278, L1MN)
+ Store (0x0278, L1MX)
+ Store (0x08, L1LN)
+ }
+ }
+ }
+
+ And (PNP0, 0xF0, Local1)
+ If (LEqual (Local1, 0x00))
+ {
+ Store (0x00, L1IQ)
+ }
+ Else
+ {
+ If (LEqual (Local1, 0x50))
+ {
+ Store (0x20, L1IQ)
+ }
+ }
+
+ Return (BUFF)
+ }
+
+ Method (_PRS, 0, NotSerialized)
+ {
+ If (PPMD)
+ {
+ Return (PEPP)
+ }
+ Else
+ {
+ Return (PLPT)
+ }
+ }
+
+ Name (PLPT, ResourceTemplate ()
+ {
+ StartDependentFnNoPri ()
+ {
+ IO (Decode16, 0x03BC, 0x03BC, 0x01, 0x04)
+ IRQNoFlags () {7}
+ }
+ StartDependentFnNoPri ()
+ {
+ IO (Decode16, 0x0378, 0x0378, 0x01, 0x08)
+ IRQNoFlags () {7}
+ }
+ StartDependentFnNoPri ()
+ {
+ IO (Decode16, 0x0278, 0x0278, 0x01, 0x08)
+ IRQNoFlags () {5}
+ }
+ StartDependentFnNoPri ()
+ {
+ IO (Decode16, 0x03BC, 0x03BC, 0x01, 0x04)
+ IRQNoFlags () {}
+ }
+ StartDependentFnNoPri ()
+ {
+ IO (Decode16, 0x0378, 0x0378, 0x01, 0x08)
+ IRQNoFlags () {}
+ }
+ StartDependentFnNoPri ()
+ {
+ IO (Decode16, 0x0278, 0x0278, 0x01, 0x08)
+ IRQNoFlags () {}
+ }
+ EndDependentFn ()
+ })
+ Name (PEPP, ResourceTemplate ()
+ {
+ StartDependentFnNoPri ()
+ {
+ IO (Decode16, 0x0378, 0x0378, 0x01, 0x08)
+ IRQNoFlags () {5,7}
+ }
+ StartDependentFnNoPri ()
+ {
+ IO (Decode16, 0x0278, 0x0278, 0x01, 0x08)
+ IRQNoFlags () {5,7}
+ }
+ EndDependentFn ()
+ })
+ Method (_SRS, 1, NotSerialized)
+ {
+ CreateWordField (Arg0, 0x02, IOAR)
+ CreateWordField (Arg0, 0x09, IRQM)
+ If (LEqual (IOAR, 0x03BC))
+ {
+ Store (0xEF, Local0)
+ Store (0x00, Local1)
+ }
+ Else
+ {
+ If (LEqual (IOAR, 0x0378))
+ {
+ Store (0xDE, Local0)
+ Store (0x01, Local1)
+ }
+ Else
+ {
+ If (LEqual (IOAR, 0x0278))
+ {
+ Store (0x9E, Local0)
+ Store (0x02, Local1)
+ }
+ Else
+ {
+ Fatal (0x02, 0x90000002, 0x00)
+ }
+ }
+ }
+
+ And (PBAH, 0x03, Local2)
+ Store (Local2, PBAH)
+ Store (Local0, PBAL)
+ Store (Local1, \_SB.PCI0.PM00.XPA)
+ And (PNP0, 0x0F, Local0)
+ If (LEqual (IRQM, 0x20))
+ {
+ Or (Local0, 0x50, Local0)
+ }
+ Else
+ {
+ If (LEqual (IRQM, 0x80))
+ {
+ Or (Local0, 0x70, Local0)
+ }
+ Else
+ {
+ If (LEqual (IRQM, Zero)) {}
+ }
+ }
+
+ Store (Local0, PNP0)
+ If (LEqual (PPMD, 0x00))
+ {
+ And (PCR, 0xFA, Local0)
+ If (PPDR)
+ {
+ Or (PTR, 0x80, Local1)
+ }
+ Else
+ {
+ And (PTR, 0x7F, Local1)
+ }
+ }
+ Else
+ {
+ If (LEqual (PPMD, 0x01))
+ {
+ And (PCR, 0xF9, Local0)
+ Or (Local0, 0x01, Local0)
+ }
+ Else
+ {
+ And (PCR, 0xFB, Local0)
+ Or (Local0, 0x03, Local0)
+ }
+
+ And (PTR, 0x7F, Local1)
+ }
+
+ Store (Local0, PCR)
+ Store (Local1, PTR)
+ Or (FER, 0x01, FER)
+ Store (One, \_SB.PCI0.PM00.XPE)
+ }
+ }
+
+ Device (ECP)
+ {
+ Name (_HID, EisaId ("PNP0401"))
+ Name (_EJD, "_SB.PCI0.DOCK")
+ Name (_PR0, Package (0x01)
+ {
+ PSIO
+ })
+ Method (_STA, 0, NotSerialized)
+ {
+ If (LEqual (PPMD, 0x03))
+ {
+ If (And (FER, 0x01))
+ {
+ Return (0x0F)
+ }
+ Else
+ {
+ Return (0x0D)
+ }
+ }
+ Else
+ {
+ Return (Zero)
+ }
+ }
+
+ Method (_DIS, 0, NotSerialized)
+ {
+ And (FER, 0xFE, FER)
+ Store (Zero, \_SB.PCI0.PM00.XPE)
+ }
+
+ Method (_CRS, 0, NotSerialized)
+ {
+ Name (BUFF, ResourceTemplate ()
+ {
+ IO (Decode16, 0x03BC, 0x03BC, 0x01, 0x04)
+ IO (Decode16, 0x07BC, 0x07BC, 0x01, 0x03)
+ IRQNoFlags () {7}
+ DMA (Compatibility, NotBusMaster, Transfer8) {3}
+ })
+ CreateWordField (BUFF, 0x02, ECN0)
+ CreateWordField (BUFF, 0x04, ECX0)
+ CreateByteField (BUFF, 0x06, ECA0)
+ CreateByteField (BUFF, 0x07, ECL0)
+ CreateWordField (BUFF, 0x0A, ECN1)
+ CreateWordField (BUFF, 0x0C, ECX1)
+ CreateByteField (BUFF, 0x0E, ECA1)
+ CreateByteField (BUFF, 0x0F, ECL1)
+ CreateWordField (BUFF, 0x11, ECIQ)
+ CreateWordField (BUFF, 0x14, ECDQ)
+ If (LNot (LEqual (PPMD, 0x03)))
+ {
+ Store (0x00, ECN0)
+ Store (0x00, ECX0)
+ Store (0x00, ECA0)
+ Store (0x00, ECL0)
+ Store (0x00, ECN1)
+ Store (0x00, ECX1)
+ Store (0x00, ECA1)
+ Store (0x00, ECL1)
+ Store (0x00, ECIQ)
+ Store (0x00, ECDQ)
+ Return (BUFF)
+ }
+
+ And (PBAL, 0xFF, Local0)
+ If (LEqual (Local0, 0xEF))
+ {
+ Store (0x03BC, Local1)
+ }
+ Else
+ {
+ If (LEqual (Local0, 0xDE))
+ {
+ Store (0x0378, Local1)
+ Store (0x08, ECL0)
+ }
+ Else
+ {
+ If (LEqual (Local0, 0x9E))
+ {
+ Store (0x0278, Local1)
+ Store (0x08, ECL0)
+ }
+ }
+ }
+
+ Store (Local1, ECN0)
+ Store (Local1, ECX0)
+ Add (Local1, 0x0400, ECN1)
+ Add (Local1, 0x0400, ECX1)
+ And (PNP0, 0xF0, Local1)
+ If (LEqual (Local1, 0x50))
+ {
+ Store (0x20, ECIQ)
+ }
+ Else
+ {
+ If (LEqual (Local1, 0x70)) {}
+ Else
+ {
+ Store (0x00, ECIQ)
+ }
+ }
+
+ And (SCF1, 0x38, Local2)
+ If (LEqual (Local2, 0x00))
+ {
+ Store (0x00, ECDQ)
+ }
+ Else
+ {
+ If (LEqual (Local2, 0x08))
+ {
+ Store (0x01, ECDQ)
+ }
+ Else
+ {
+ If (LEqual (Local2, 0x10))
+ {
+ Store (0x02, ECDQ)
+ }
+ Else
+ {
+ If (LEqual (Local2, 0x20)) {}
+ Else
+ {
+ Store (0x00, ECDQ)
+ }
+ }
+ }
+ }
+
+ Return (BUFF)
+ }
+
+ Name (_PRS, ResourceTemplate ()
+ {
+ StartDependentFnNoPri ()
+ {
+ IO (Decode16, 0x03BC, 0x03BC, 0x01, 0x04)
+ IO (Decode16, 0x07BC, 0x07BC, 0x01, 0x03)
+ IRQNoFlags () {7}
+ DMA (Compatibility, NotBusMaster, Transfer8) {0,1,3}
+ }
+ StartDependentFnNoPri ()
+ {
+ IO (Decode16, 0x0378, 0x0378, 0x01, 0x08)
+ IO (Decode16, 0x0778, 0x0778, 0x01, 0x03)
+ IRQNoFlags () {7}
+ DMA (Compatibility, NotBusMaster, Transfer8) {0,1,3}
+ }
+ StartDependentFnNoPri ()
+ {
+ IO (Decode16, 0x0278, 0x0278, 0x01, 0x08)
+ IO (Decode16, 0x0678, 0x0678, 0x01, 0x03)
+ IRQNoFlags () {5}
+ DMA (Compatibility, NotBusMaster, Transfer8) {0,1,3}
+ }
+ EndDependentFn ()
+ })
+ Method (_SRS, 1, NotSerialized)
+ {
+ CreateWordField (Arg0, 0x02, IOAR)
+ CreateWordField (Arg0, 0x11, IRQM)
+ CreateByteField (Arg0, 0x14, DMAM)
+ If (LEqual (IOAR, 0x03BC))
+ {
+ Store (0xEF, Local0)
+ Store (0x00, Local1)
+ }
+ Else
+ {
+ If (LEqual (IOAR, 0x0378))
+ {
+ Store (0xDE, Local0)
+ Store (0x01, Local1)
+ }
+ Else
+ {
+ If (LEqual (IOAR, 0x0278))
+ {
+ Store (0x9E, Local0)
+ Store (0x02, Local1)
+ }
+ Else
+ {
+ Fatal (0x02, 0x90000002, 0x00)
+ }
+ }
+ }
+
+ And (PBAH, 0x03, Local2)
+ Store (Local2, PBAH)
+ Store (Local0, PBAL)
+ Store (Local1, \_SB.PCI0.PM00.XPA)
+ And (PNP0, 0x0F, Local0)
+ If (LEqual (IRQM, 0x20))
+ {
+ Or (Local0, 0x50, Local0)
+ }
+ Else
+ {
+ If (LEqual (IRQM, 0x80))
+ {
+ Or (Local0, 0x70, Local0)
+ }
+ }
+
+ Store (Local0, PNP0)
+ And (SCF1, 0xC7, Local1)
+ If (LEqual (DMAM, 0x01))
+ {
+ Or (Local1, 0x08, Local1)
+ }
+ Else
+ {
+ If (LEqual (DMAM, 0x02))
+ {
+ Or (Local1, 0x10, Local1)
+ }
+ Else
+ {
+ If (LEqual (DMAM, 0x08))
+ {
+ Or (Local1, 0x20, Local1)
+ }
+ }
+ }
+
+ Store (Local1, SCF1)
+ And (PCR, 0xFE, Local0)
+ Or (Local0, 0x04, PCR)
+ Or (FER, 0x01, FER)
+ Store (One, \_SB.PCI0.PM00.XPE)
+ And (PCR, 0xFB, PCR)
+ \ECPP ()
+ }
+ }
+
+ Device (FIR)
+ {
+ Name (_HID, EisaId ("IBM0071"))
+ Name (_CID, 0x1105D041)
+ Name (_PR0, Package (0x01)
+ {
+ PSIO
+ })
+ Method (_STA, 0, NotSerialized)
+ {
+ If (And (FER, 0x04))
+ {
+ Return (0x0F)
+ }
+ Else
+ {
+ Return (0x0D)
+ }
+ }
+
+ Method (_DIS, 0, NotSerialized)
+ {
+ And (SCF2, 0x5F, SCF2)
+ And (FER, 0xFB, FER)
+ Store (Zero, \_SB.PCI0.PM00.XU2E)
+ }
+
+ Method (_CRS, 0, NotSerialized)
+ {
+ Name (BUFF, ResourceTemplate ()
+ {
+ IO (Decode16, 0x03F8, 0x03F8, 0x01, 0x08)
+ IRQNoFlags () {4}
+ DMA (Compatibility, NotBusMaster, Transfer8) {3}
+ })
+ CreateWordField (BUFF, 0x02, IRMN)
+ CreateWordField (BUFF, 0x04, IRMX)
+ CreateWordField (BUFF, 0x09, IRIQ)
+ CreateByteField (BUFF, 0x0C, IRDR)
+ ShiftLeft (And (U2AL, 0xFE), 0x02, Local0)
+ Store (Local0, IRMN)
+ Store (Local0, IRMX)
+ If (LEqual (And (PNP1, 0xF0), 0x70))
+ {
+ Store (0x80, IRIQ)
+ }
+ Else
+ {
+ If (LEqual (And (PNP1, 0xF0), 0x50))
+ {
+ Store (0x20, IRIQ)
+ }
+ Else
+ {
+ If (LEqual (And (PNP1, 0xF0), 0x40))
+ {
+ Store (0x10, IRIQ)
+ }
+ Else
+ {
+ If (LEqual (And (PNP1, 0xF0), 0x30))
+ {
+ Store (0x08, IRIQ)
+ }
+ Else
+ {
+ Store (0x00, IRIQ)
+ }
+ }
+ }
+ }
+
+ And (PNP3, 0x07, Local1)
+ If (LEqual (Local1, 0x00))
+ {
+ Store (0x00, IRDR)
+ }
+ Else
+ {
+ If (LEqual (Local1, 0x01))
+ {
+ Store (0x01, IRDR)
+ }
+ Else
+ {
+ If (LEqual (Local1, 0x02))
+ {
+ Store (0x02, IRDR)
+ }
+ Else
+ {
+ If (LEqual (Local1, 0x04))
+ {
+ Store (0x08, IRDR)
+ }
+ Else
+ {
+ Store (Zero, IRDR)
+ }
+ }
+ }
+ }
+
+ Return (BUFF)
+ }
+
+ Name (_PRS, ResourceTemplate ()
+ {
+ StartDependentFn (0x00, 0x00)
+ {
+ IO (Decode16, 0x03F8, 0x03F8, 0x01, 0x08)
+ IRQNoFlags () {4}
+ DMA (Compatibility, NotBusMaster, Transfer8) {0,1,3}
+ }
+ StartDependentFn (0x01, 0x00)
+ {
+ IO (Decode16, 0x02F8, 0x02F8, 0x01, 0x08)
+ IRQNoFlags () {3}
+ DMA (Compatibility, NotBusMaster, Transfer8) {0,1,3}
+ }
+ StartDependentFn (0x02, 0x00)
+ {
+ IO (Decode16, 0x03E8, 0x03E8, 0x01, 0x08)
+ IRQNoFlags () {4}
+ DMA (Compatibility, NotBusMaster, Transfer8) {0,1,3}
+ }
+ StartDependentFn (0x02, 0x00)
+ {
+ IO (Decode16, 0x02E8, 0x02E8, 0x01, 0x08)
+ IRQNoFlags () {3}
+ DMA (Compatibility, NotBusMaster, Transfer8) {0,1,3}
+ }
+ StartDependentFn (0x02, 0x00)
+ {
+ IO (Decode16, 0x03F8, 0x03F8, 0x01, 0x08)
+ IRQNoFlags () {3,5,7}
+ DMA (Compatibility, NotBusMaster, Transfer8) {0,1,3}
+ }
+ StartDependentFn (0x02, 0x00)
+ {
+ IO (Decode16, 0x02F8, 0x02F8, 0x01, 0x08)
+ IRQNoFlags () {4,5,7}
+ DMA (Compatibility, NotBusMaster, Transfer8) {0,1,3}
+ }
+ StartDependentFn (0x02, 0x00)
+ {
+ IO (Decode16, 0x03E8, 0x03E8, 0x01, 0x08)
+ IRQNoFlags () {3,5,7}
+ DMA (Compatibility, NotBusMaster, Transfer8) {0,1,3}
+ }
+ StartDependentFn (0x02, 0x00)
+ {
+ IO (Decode16, 0x02E8, 0x02E8, 0x01, 0x08)
+ IRQNoFlags () {4,5,7}
+ DMA (Compatibility, NotBusMaster, Transfer8) {0,1,3}
+ }
+ StartDependentFn (0x02, 0x00)
+ {
+ IO (Decode16, 0x03F8, 0x03F8, 0x01, 0x08)
+ IRQNoFlags () {4}
+ DMA (Compatibility, NotBusMaster, Transfer8) {}
+ }
+ StartDependentFn (0x02, 0x00)
+ {
+ IO (Decode16, 0x02F8, 0x02F8, 0x01, 0x08)
+ IRQNoFlags () {3}
+ DMA (Compatibility, NotBusMaster, Transfer8) {}
+ }
+ StartDependentFn (0x02, 0x00)
+ {
+ IO (Decode16, 0x03E8, 0x03E8, 0x01, 0x08)
+ IRQNoFlags () {4}
+ DMA (Compatibility, NotBusMaster, Transfer8) {}
+ }
+ StartDependentFn (0x02, 0x00)
+ {
+ IO (Decode16, 0x02E8, 0x02E8, 0x01, 0x08)
+ IRQNoFlags () {3}
+ DMA (Compatibility, NotBusMaster, Transfer8) {}
+ }
+ StartDependentFn (0x02, 0x00)
+ {
+ IO (Decode16, 0x03F8, 0x03F8, 0x01, 0x08)
+ IRQNoFlags () {3,5,7}
+ DMA (Compatibility, NotBusMaster, Transfer8) {}
+ }
+ StartDependentFn (0x02, 0x00)
+ {
+ IO (Decode16, 0x02F8, 0x02F8, 0x01, 0x08)
+ IRQNoFlags () {4,5,7}
+ DMA (Compatibility, NotBusMaster, Transfer8) {}
+ }
+ StartDependentFn (0x02, 0x00)
+ {
+ IO (Decode16, 0x03E8, 0x03E8, 0x01, 0x08)
+ IRQNoFlags () {3,5,7}
+ DMA (Compatibility, NotBusMaster, Transfer8) {}
+ }
+ StartDependentFn (0x02, 0x00)
+ {
+ IO (Decode16, 0x02E8, 0x02E8, 0x01, 0x08)
+ IRQNoFlags () {4,5,7}
+ DMA (Compatibility, NotBusMaster, Transfer8) {}
+ }
+ EndDependentFn ()
+ })
+ Method (_SRS, 1, NotSerialized)
+ {
+ CreateWordField (Arg0, 0x02, IRIO)
+ CreateWordField (Arg0, 0x09, IRIQ)
+ CreateByteField (Arg0, 0x0C, IRDR)
+ If (LEqual (IRIO, 0x03F8))
+ {
+ Store (0xFE, Local0)
+ Store (0x00, Local1)
+ }
+ Else
+ {
+ If (LEqual (IRIO, 0x02F8))
+ {
+ Store (0xBE, Local0)
+ Store (0x01, Local1)
+ }
+ Else
+ {
+ If (LEqual (IRIO, 0x03E8))
+ {
+ Store (0xFA, Local0)
+ Store (0x07, Local1)
+ }
+ Else
+ {
+ If (LEqual (IRIO, 0x02E8))
+ {
+ Store (0xBA, Local0)
+ Store (0x05, Local1)
+ }
+ Else
+ {
+ Fatal (0x02, 0x90000002, 0x00)
+ }
+ }
+ }
+ }
+
+ And (U2AH, 0x03, U2AH)
+ And (U2AL, 0x01, Local2)
+ Or (Local0, Local2, U2AL)
+ Store (Local1, \_SB.PCI0.PM00.XU2A)
+ And (PNP1, 0x0F, Local0)
+ If (LEqual (IRIQ, 0x80))
+ {
+ Or (Local0, 0x70, Local0)
+ }
+ Else
+ {
+ If (LEqual (IRIQ, 0x20))
+ {
+ Or (Local0, 0x50, Local0)
+ }
+ Else
+ {
+ If (LEqual (IRIQ, 0x10))
+ {
+ Or (Local0, 0x40, Local0)
+ }
+ Else
+ {
+ If (LEqual (IRIQ, 0x08))
+ {
+ Or (Local0, 0x30, Local0)
+ }
+ Else
+ {
+ Fatal (0x02, 0x90000002, 0x00)
+ }
+ }
+ }
+ }
+
+ Store (Local0, PNP1)
+ If (LEqual (IRDR, 0x00))
+ {
+ Store (0x00, Local0)
+ }
+ Else
+ {
+ If (LEqual (IRDR, 0x01))
+ {
+ Store (0x01, Local0)
+ }
+ Else
+ {
+ If (LEqual (IRDR, 0x02))
+ {
+ Store (0x02, Local0)
+ }
+ Else
+ {
+ If (LEqual (IRDR, 0x08))
+ {
+ Store (0x04, Local0)
+ }
+ Else
+ {
+ Fatal (0x02, 0x90000002, 0x00)
+ }
+ }
+ }
+ }
+
+ And (PNP3, 0xC0, Local1)
+ Or (Local1, Local0, PNP3)
+ Or (FER, 0x04, FER)
+ Store (One, \_SB.PCI0.PM00.XU2E)
+ Or (SCF2, 0xA0, SCF2)
+ }
+ }
+
+ Device (EC)
+ {
+ Name (_HID, EisaId ("PNP0C09"))
+ Name (_GPE, 0x09)
+ Name (_GLK, 0x01)
+ Method (_REG, 2, NotSerialized)
+ {
+ If (LEqual (Arg0, 0x03))
+ {
+ Store (Arg1, \H8DR)
+ }
+ }
+
+ OperationRegion (ECOR, EmbeddedControl, 0x00, 0x0100)
+ Field (ECOR, ByteAcc, Lock, Preserve)
+ {
+ , 1,
+ HCGA, 1,
+ , 1,
+ , 1,
+ , 1,
+ , 1,
+ HCAC, 1,
+ Offset (0x01),
+ , 1,
+ BTCM, 1,
+ , 1,
+ , 1,
+ , 1,
+ HCAD, 1,
+ BTPC, 1,
+ Offset (0x02),
+ Offset (0x03),
+ Offset (0x04),
+ , 1,
+ , 1,
+ , 1,
+ , 1,
+ , 1,
+ , 1,
+ , 1,
+ Offset (0x05),
+ HSPA, 1,
+ , 1,
+ , 1,
+ , 1,
+ , 1,
+ , 1,
+ , 1,
+ Offset (0x06),
+ HSUN, 8,
+ HSRP, 8,
+ HACC, 8,
+ Offset (0x0A),
+ Offset (0x0B),
+ Offset (0x0C),
+ HLCL, 8,
+ HLBL, 8,
+ HLMS, 8,
+ HICA, 8,
+ HAM0, 8,
+ HAM1, 8,
+ HAM2, 8,
+ HAM3, 8,
+ HAM4, 8,
+ HAM5, 8,
+ HAM6, 8,
+ HAM7, 8,
+ HAM8, 8,
+ HAM9, 8,
+ HAMA, 8,
+ HAMB, 8,
+ HAMC, 8,
+ HAMD, 8,
+ HAME, 8,
+ HAMF, 8,
+ HT00, 1,
+ HT01, 1,
+ HT02, 1,
+ , 4,
+ HT0E, 1,
+ HT10, 1,
+ HT11, 1,
+ HT12, 1,
+ , 4,
+ HT1E, 1,
+ HT20, 1,
+ HT21, 1,
+ HT22, 1,
+ , 4,
+ HT2E, 1,
+ HT30, 1,
+ HT31, 1,
+ HT32, 1,
+ , 4,
+ HT3E, 1,
+ HT40, 1,
+ HT41, 1,
+ HT42, 1,
+ , 4,
+ HT4E, 1,
+ HT50, 1,
+ HT51, 1,
+ HT52, 1,
+ , 4,
+ HT5E, 1,
+ HT60, 1,
+ HT61, 1,
+ HT62, 1,
+ , 4,
+ HT6E, 1,
+ HT70, 1,
+ HT71, 1,
+ HT72, 1,
+ , 4,
+ HT7E, 1,
+ HDID, 8,
+ Offset (0x2A),
+ Offset (0x2B),
+ HT0H, 8,
+ HT0L, 8,
+ HT1H, 8,
+ HT1L, 8,
+ HFSP, 8,
+ , 5,
+ , 1,
+ HMUT, 1,
+ Offset (0x31),
+ Offset (0x32),
+ HWPM, 1,
+ HWLB, 1,
+ HWLO, 1,
+ HWDK, 1,
+ HWFN, 1,
+ HWBT, 1,
+ HWRI, 1,
+ HWBU, 1,
+ Offset (0x34),
+ , 1,
+ , 1,
+ , 1,
+ , 1,
+ , 1,
+ , 1,
+ , 1,
+ Offset (0x35),
+ Offset (0x36),
+ , 1,
+ BTWK, 1,
+ HPLD, 1,
+ , 1,
+ HPAC, 1,
+ BTST, 1,
+ Offset (0x37),
+ HPBU, 1,
+ , 1,
+ , 1,
+ , 1,
+ , 1,
+ , 1,
+ , 1,
+ HPNF, 1,
+ HB0L, 4,
+ , 1,
+ HB0C, 1,
+ HB0D, 1,
+ HB0A, 1,
+ HB1L, 4,
+ , 1,
+ HB1C, 1,
+ HB1D, 1,
+ HB1A, 1,
+ HCMU, 1,
+ , 1,
+ , 1,
+ , 1,
+ HCSL, 2,
+ , 1,
+ Offset (0x3B),
+ , 1,
+ KBLT, 1,
+ BTPW, 1,
+ BTDT, 1,
+ Offset (0x3C),
+ Offset (0x3D),
+ Offset (0x3E),
+ Offset (0x46),
+ Offset (0x47),
+ , 4,
+ , 1,
+ , 1,
+ , 1,
+ Offset (0x48),
+ , 4,
+ Offset (0x49),
+ Offset (0x4A),
+ Offset (0x4C),
+ Offset (0x4E),
+ HWAK, 8,
+ Offset (0x50),
+ Offset (0x75),
+ Offset (0x78),
+ TMP0, 8,
+ TMP1, 8,
+ TMP2, 8,
+ TMP3, 8,
+ TMP4, 8,
+ TMP5, 8,
+ TMP6, 8,
+ TMP7, 8,
+ Offset (0x82),
+ CP4E, 8,
+ HFNI, 8,
+ HKBD, 1,
+ HPHT, 1,
+ Offset (0x85),
+ Offset (0xC0),
+ Offset (0xC2),
+ Offset (0xC4),
+ Offset (0xD0),
+ Offset (0xE0),
+ Offset (0xE8),
+ Offset (0xEA),
+ Offset (0xEB),
+ Offset (0xEC),
+ , 1,
+ , 1,
+ , 2,
+ , 1,
+ , 1,
+ , 1,
+ Offset (0xED),
+ , 1,
+ Offset (0xEE),
+ , 4,
+ Offset (0xEF),
+ Offset (0xF0),
+ Offset (0xF8),
+ Offset (0x100)
+ }
+
+ Method (_INI, 0, NotSerialized)
+ {
+ If (\H8DR)
+ {
+ Store (One, HCAC)
+ Store (Zero, HWFN)
+ Store (One, HWLB)
+ Store (Zero, HWLO)
+ And (HAM5, 0x3F, HAM5)
+ }
+ Else
+ {
+ \MBEC (0x00, 0xFF, 0x40)
+ \MBEC (0x32, 0xEB, 0x02)
+ \MBEC (0x15, 0x3F, 0x00)
+ }
+
+ If (\H8DR)
+ {
+ Store (0x00, HSPA)
+ }
+ Else
+ {
+ \MBEC (0x05, 0xFE, 0x00)
+ }
+
+ Store (GUID (), BDEV)
+ GHKS ()
+ \_SB.PCI0.ISA.EC.HKEY.BTIN ()
+ }
+
+ Name (_CRS, ResourceTemplate ()
+ {
+ IO (Decode16, 0x0062, 0x0062, 0x01, 0x01)
+ IO (Decode16, 0x0066, 0x0066, 0x01, 0x01)
+ })
+ Method (GUID, 0, NotSerialized)
+ {
+ Store (GDEV (0x00), Local0)
+ If (LEqual (Local0, 0x0F))
+ {
+ If (\H8DR)
+ {
+ If (HB1A)
+ {
+ Store (0x10, Local0)
+ }
+ }
+ Else
+ {
+ If (And (\RBEC (0x39), 0x80))
+ {
+ Store (0x10, Local0)
+ }
+ }
+ }
+
+ Return (Local0)
+ }
+
+ Mutex (MDEV, 0x07)
+ Method (GDEV, 1, NotSerialized)
+ {
+ Acquire (MDEV, 0xFFFF)
+ If (\H8DR)
+ {
+ And (HAM7, 0xFE, HAM7)
+ }
+ Else
+ {
+ \MBEC (0x17, 0xFE, 0x00)
+ }
+
+ And (Arg0, 0x03, \_SB.PCI0.PM00.EID)
+ And (ShiftRight (Arg0, 0x02), 0x01, \_SB.PCI0.PM00.EID2)
+ If (\H8DR)
+ {
+ Or (HDID, 0x80, HDID)
+ Store (0x20, Local1)
+ While (LAnd (Local1, And (HDID, 0x80)))
+ {
+ Sleep (0x01)
+ Decrement (Local1)
+ }
+
+ Store (HDID, Local2)
+ }
+ Else
+ {
+ \MBEC (0x28, 0xFF, 0x80)
+ Store (0x20, Local1)
+ While (LAnd (Local1, And (\RBEC (0x28), 0x80)))
+ {
+ Sleep (0x01)
+ Decrement (Local1)
+ }
+
+ Store (\RBEC (0x28), Local2)
+ }
+
+ If (And (Local2, 0x80))
+ {
+ Store (0xFF, Local2)
+ }
+
+ Store (0x00, \_SB.PCI0.PM00.EID)
+ Store (0x00, \_SB.PCI0.PM00.EID2)
+ Sleep (0x64)
+ If (\H8DR)
+ {
+ Or (HAM7, 0x01, HAM7)
+ }
+ Else
+ {
+ \MBEC (0x17, 0xFF, 0x01)
+ }
+
+ Release (MDEV)
+ Return (Local2)
+ }
+
+ Mutex (LEDM, 0x07)
+ Method (SYSL, 2, NotSerialized)
+ {
+ If (LEqual (Arg0, 0x00))
+ {
+ Store (0x01, Local0)
+ }
+ Else
+ {
+ If (LEqual (Arg0, 0x01))
+ {
+ Store (0x80, Local0)
+ }
+ Else
+ {
+ Return (0x00)
+ }
+ }
+
+ Acquire (LEDM, 0xFFFF)
+ If (LAnd (\H8DR, LNot (\W98F)))
+ {
+ Store (Local0, HLMS)
+ If (LEqual (Arg1, 0x00))
+ {
+ Store (0x00, HLBL)
+ Store (0x00, HLCL)
+ }
+ Else
+ {
+ If (LEqual (Arg1, 0x01))
+ {
+ Store (0x00, HLBL)
+ Store (Local0, HLCL)
+ }
+ Else
+ {
+ If (LEqual (Arg1, 0x02))
+ {
+ Store (Local0, HLBL)
+ Store (Local0, HLCL)
+ }
+ Else
+ {
+ }
+ }
+ }
+ }
+ Else
+ {
+ \WBEC (0x0E, Local0)
+ If (LEqual (Arg1, 0x00))
+ {
+ \WBEC (0x0D, 0x00)
+ \WBEC (0x0C, 0x00)
+ }
+ Else
+ {
+ If (LEqual (Arg1, 0x01))
+ {
+ \WBEC (0x0D, 0x00)
+ \WBEC (0x0C, Local0)
+ }
+ Else
+ {
+ If (LEqual (Arg1, 0x02))
+ {
+ \WBEC (0x0D, Local0)
+ \WBEC (0x0C, Local0)
+ }
+ }
+ }
+ }
+
+ Sleep (0x0A)
+ Release (LEDM)
+ }
+
+ Name (BAON, 0x00)
+ Name (WBON, 0x00)
+ Method (BEEP, 1, NotSerialized)
+ {
+ If (LGreater (Arg0, 0x11))
+ {
+ Return (0x01)
+ }
+ Else
+ {
+ If (LAnd (\H8DR, LNot (\W98F)))
+ {
+ If (LEqual (Arg0, 0x00))
+ {
+ If (BAON)
+ {
+ If (WBON)
+ {
+ Store (0x08, HSRP)
+ Store (0x03, HSUN)
+ }
+ Else
+ {
+ Store (0x00, HSRP)
+ Store (Arg0, HSUN)
+ }
+
+ Store (0x00, BAON)
+ }
+ }
+ Else
+ {
+ If (LEqual (Arg0, 0x0F))
+ {
+ Store (0x08, HSRP)
+ Store (0x01, BAON)
+ Store (Arg0, HSUN)
+ }
+ Else
+ {
+ If (BAON)
+ {
+ If (LEqual (Arg0, 0x11))
+ {
+ Store (0x00, WBON)
+ }
+ Else
+ {
+ If (LEqual (Arg0, 0x10))
+ {
+ If (HMUT) {}
+ Else
+ {
+ Store (0x01, WBON)
+ }
+ }
+ }
+ }
+ Else
+ {
+ If (LEqual (Arg0, 0x11))
+ {
+ If (WBON)
+ {
+ Store (0x00, HSRP)
+ Store (0x00, HSUN)
+ Store (0x00, WBON)
+ }
+ }
+ Else
+ {
+ If (LEqual (Arg0, 0x10))
+ {
+ If (HMUT) {}
+ Else
+ {
+ Store (0x01, WBON)
+ Store (0x08, HSRP)
+ Store (0x03, HSUN)
+ }
+ }
+ Else
+ {
+ If (WBON)
+ {
+ If (LEqual (Arg0, 0x07))
+ {
+ Store (0x00, WBON)
+ }
+ Else
+ {
+ If (LEqual (Arg0, 0x03))
+ {
+ Store (0x00, WBON)
+ If (LEqual (\SPS, 0x04)) {}
+ Else
+ {
+ Store (0x00, HSRP)
+ Store (0x00, HSUN)
+ Sleep (0x64)
+ Store (0x07, HSUN)
+ Sleep (0x012C)
+ }
+ }
+ Else
+ {
+ Store (0x00, HSRP)
+ Store (0x00, HSUN)
+ Sleep (0xC8)
+ Store (Arg0, HSUN)
+ Sleep (0xC8)
+ If (LEqual (Arg0, 0x04))
+ {
+ Store (0x00, WBON)
+ }
+
+ If (LEqual (Arg0, 0x05))
+ {
+ Store (0x00, WBON)
+ }
+
+ If (WBON)
+ {
+ Store (0x08, HSRP)
+ Store (0x03, HSUN)
+ }
+ }
+ }
+ }
+ Else
+ {
+ Store (Arg0, HSUN)
+ If (LEqual (Arg0, 0x03))
+ {
+ Sleep (0x012C)
+ }
+
+ If (LEqual (Arg0, 0x07))
+ {
+ Sleep (0x01F4)
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ Else
+ {
+ If (LEqual (Arg0, 0x00))
+ {
+ If (BAON)
+ {
+ If (WBON)
+ {
+ \WBEC (0x07, 0x08)
+ \WBEC (0x06, 0x03)
+ }
+ Else
+ {
+ \WBEC (0x07, 0x00)
+ \WBEC (0x06, Arg0)
+ }
+
+ Store (0x00, BAON)
+ }
+ }
+ Else
+ {
+ If (LEqual (Arg0, 0x0F))
+ {
+ \WBEC (0x07, 0x08)
+ Store (0x01, BAON)
+ \WBEC (0x06, Arg0)
+ }
+ Else
+ {
+ If (BAON)
+ {
+ If (LEqual (Arg0, 0x11))
+ {
+ Store (0x00, WBON)
+ }
+ Else
+ {
+ If (LEqual (Arg0, 0x10))
+ {
+ If (HMUT) {}
+ Else
+ {
+ Store (0x01, WBON)
+ }
+ }
+ }
+ }
+ Else
+ {
+ If (LEqual (Arg0, 0x11))
+ {
+ If (WBON)
+ {
+ \WBEC (0x07, 0x00)
+ \WBEC (0x06, 0x00)
+ Store (0x00, WBON)
+ }
+ }
+ Else
+ {
+ If (LEqual (Arg0, 0x10))
+ {
+ If (And (0x40, \RBEC (0x30))) {}
+ Else
+ {
+ Store (0x01, WBON)
+ \WBEC (0x07, 0x08)
+ \WBEC (0x06, 0x03)
+ }
+ }
+ Else
+ {
+ If (WBON)
+ {
+ If (LEqual (Arg0, 0x07))
+ {
+ Store (0x00, WBON)
+ }
+ Else
+ {
+ If (LEqual (Arg0, 0x03))
+ {
+ Store (0x00, WBON)
+ If (LEqual (\SPS, 0x04)) {}
+ Else
+ {
+ \WBEC (0x07, 0x00)
+ \WBEC (0x06, 0x00)
+ Sleep (0x64)
+ \WBEC (0x06, 0x07)
+ Sleep (0x012C)
+ }
+ }
+ Else
+ {
+ \WBEC (0x07, 0x00)
+ \WBEC (0x06, 0x00)
+ Sleep (0xC8)
+ \WBEC (0x06, Arg0)
+ Sleep (0xC8)
+ If (LEqual (Arg0, 0x04))
+ {
+ Store (0x00, WBON)
+ }
+
+ If (LEqual (Arg0, 0x05))
+ {
+ Store (0x00, WBON)
+ }
+
+ If (WBON)
+ {
+ \WBEC (0x07, 0x08)
+ \WBEC (0x06, 0x03)
+ }
+ }
+ }
+ }
+ Else
+ {
+ \WBEC (0x06, Arg0)
+ If (LEqual (Arg0, 0x03))
+ {
+ Sleep (0x012C)
+ }
+
+ If (LEqual (Arg0, 0x05))
+ {
+ Sleep (0xC8)
+ }
+
+ If (LEqual (Arg0, 0x07))
+ {
+ Sleep (0x01F4)
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+
+ Method (EVNT, 1, NotSerialized)
+ {
+ If (\H8DR)
+ {
+ If (Arg0)
+ {
+ Or (HAM7, 0x01, HAM7)
+ Or (HAM5, 0x04, HAM5)
+ }
+ Else
+ {
+ And (HAM7, 0xFE, HAM7)
+ And (HAM5, 0xFB, HAM5)
+ }
+ }
+ Else
+ {
+ If (Arg0)
+ {
+ \MBEC (0x17, 0xFF, 0x01)
+ \MBEC (0x15, 0xFF, 0x04)
+ If (\W98F)
+ {
+ \WBEC (0x18, 0xFF)
+ }
+ }
+ Else
+ {
+ \MBEC (0x17, 0xFE, 0x00)
+ \MBEC (0x15, 0xFB, 0x00)
+ If (\W98F)
+ {
+ \WBEC (0x18, 0x00)
+ }
+ }
+ }
+ }
+
+ Method (_Q12, 0, NotSerialized)
+ {
+ \_SB.PCI0.ISA.EC.HKEY.MHKQ (0x1003)
+ }
+
+ Method (_Q13, 0, NotSerialized)
+ {
+ If (\_SB.PCI0.ISA.EC.VDHK)
+ {
+ \_SB.PCI0.ISA.EC.HKEY.MHKQ (0x1004)
+ }
+ Else
+ {
+ Notify (\_SB.SLPB, 0x80)
+ }
+ }
+
+ Method (_Q16, 0, NotSerialized)
+ {
+ \_SB.PCI0.AGP.VID.VSWT ()
+ }
+
+ Method (_Q17, 0, NotSerialized)
+ {
+ If (LNot (\WNTF))
+ {
+ VEXP ()
+ }
+ }
+
+ Method (_Q1B, 0, NotSerialized)
+ {
+ \_SB.PCI0.ISA.EC.HKEY.MHKQ (0x100C)
+ }
+
+ Method (_Q1F, 0, NotSerialized)
+ {
+ \LGHT (0x02)
+ }
+
+ Method (_Q26, 0, NotSerialized)
+ {
+ \_SB.PCI0.ISA.HBDS ()
+ Sleep (0x01F4)
+ Notify (AC, 0x00)
+ Notify (\_TZ.THM0, 0x80)
+ If (\GVEN)
+ {
+ \GVIL (0x00)
+ }
+ }
+
+ Method (_Q27, 0, NotSerialized)
+ {
+ \_SB.PCI0.ISA.HBEN ()
+ Sleep (0x01F4)
+ Notify (AC, 0x00)
+ Notify (\_TZ.THM0, 0x80)
+ If (\GVEN)
+ {
+ \GVIL (0x01)
+ }
+ }
+
+ Method (_Q2A, 0, NotSerialized)
+ {
+ \_SB.PCI0.AGP.VID.VLOC (0x01)
+ \_SB.PCI0.ISA.EC.HKEY.MHKQ (0x5002)
+ Notify (\_SB.LID, 0x80)
+ }
+
+ Method (_Q2B, 0, NotSerialized)
+ {
+ \_SB.PCI0.ISA.EC.HKEY.MHKQ (0x5001)
+ \LGHT (0x00)
+ Notify (\_SB.LID, 0x80)
+ }
+
+ Method (_Q3D, 0, NotSerialized)
+ {
+ \FERR ()
+ }
+
+ Method (_Q48, 0, NotSerialized)
+ {
+ If (\GVEN)
+ {
+ \GVIL (0x04)
+ }
+ }
+
+ Method (_Q49, 0, NotSerialized)
+ {
+ If (\GVEN)
+ {
+ \GVIL (0x05)
+ }
+ }
+
+ Method (_Q7F, 0, NotSerialized)
+ {
+ Fatal (0x01, 0x80000001, 0x00)
+ }
+
+ Method (_Q20, 0, NotSerialized)
+ {
+ Notify (BAT0, 0x80)
+ Notify (BAT1, 0x80)
+ }
+
+ Method (_Q21, 0, NotSerialized)
+ {
+ Notify (BAT0, 0x80)
+ Notify (BAT1, 0x80)
+ }
+
+ Method (_Q22, 0, NotSerialized)
+ {
+ Notify (BAT0, 0x80)
+ Notify (BAT1, 0x80)
+ }
+
+ Method (_Q23, 0, NotSerialized)
+ {
+ Store (HB0A, Local0)
+ If (XOr (^BAT0.B0ST, Local0))
+ {
+ Store (Local0, ^BAT0.B0ST)
+ Notify (BAT0, 0x81)
+ }
+ Else
+ {
+ Notify (BAT0, 0x80)
+ }
+
+ Store (HB1A, Local0)
+ If (XOr (^BAT1.B1ST, Local0))
+ {
+ Store (Local0, ^BAT1.B1ST)
+ _Q38 ()
+ }
+ Else
+ {
+ If (LAnd (^BAT1.XB1S, Local0))
+ {
+ Notify (BAT1, 0x80)
+ }
+ }
+ }
+
+ Method (_Q24, 0, NotSerialized)
+ {
+ Notify (BAT0, 0x80)
+ }
+
+ Method (_Q25, 0, NotSerialized)
+ {
+ Notify (BAT1, 0x80)
+ }
+
+ Name (BT0I, Package (0x0D)
+ {
+ 0x00,
+ 0x00,
+ 0x00,
+ 0x01,
+ 0x2A30,
+ 0x00,
+ 0x00,
+ 0x01,
+ 0x01,
+ "ThinkPad Battery",
+ "",
+ "LION",
+ "IBM Corporation "
+ })
+ Name (BT0P, Package (0x04) {})
+ Name (BT0J, 0x00)
+ Device (BAT0)
+ {
+ Name (_HID, EisaId ("PNP0C0A"))
+ Name (_UID, 0x00)
+ Name (_PCL, Package (0x01)
+ {
+ \_SB
+ })
+ Name (B0ST, 0x00)
+ Method (_STA, 0, NotSerialized)
+ {
+ If (\H8DR)
+ {
+ Store (HB0A, B0ST)
+ }
+ Else
+ {
+ If (And (\RBEC (0x38), 0x80))
+ {
+ Store (0x01, B0ST)
+ }
+ Else
+ {
+ Store (0x00, B0ST)
+ }
+ }
+
+ If (B0ST)
+ {
+ Return (0x1F)
+ }
+ Else
+ {
+ Return (0x0F)
+ }
+ }
+
+ Method (_BIF, 0, NotSerialized)
+ {
+ AI2C ()
+ Store (0x0A, Local6)
+ Store (0x01, Local5)
+ While (LAnd (Local5, Local6))
+ {
+ If (HB0A)
+ {
+ Store (I2RB (Zero, 0x01, 0x10), Local7)
+ If (LOr (LEqual (HMBC, 0x1C), Local7))
+ {
+ Store (0x00, Local5)
+ }
+ Else
+ {
+ Sleep (0x03E8)
+ Decrement (Local6)
+ Store (0x8080, Local7)
+ }
+ }
+ Else
+ {
+ Store (0x00, Local6)
+ Store (0x00, Local7)
+ }
+ }
+
+ If (LOr (Local7, Local5))
+ {
+ Store (0x00, Index (BT0I, 0x00))
+ Store (0xFFFFFFFF, Index (BT0I, 0x01))
+ Store (0x00, Index (BT0I, 0x05))
+ Store (0x00, Index (BT0I, 0x06))
+ Store (0xFFFFFFFF, Index (BT0I, 0x02))
+ }
+ Else
+ {
+ Store (HBPU, Index (BT0I, 0x00))
+ Store (HBRC, Local0)
+ Store (Local0, Index (BT0I, 0x01))
+ Store (Divide (Local0, 0x14, ), Index (BT0I, 0x05))
+ Store (Divide (Local0, 0x64, ), Index (BT0I, 0x06))
+ Store (HBFC, Index (BT0I, 0x02))
+ Store (Divide (HBFC, 0x64, ), BT0J)
+ }
+
+ RI2C ()
+ If (Local7) {}
+ Return (BT0I)
+ }
+
+ Method (_BST, 0, NotSerialized)
+ {
+ AI2C ()
+ Store (I2RB (Zero, 0x01, 0x10), Local7)
+ If (LOr (LNot (LEqual (HMBC, 0x1C)), Local7))
+ {
+ Store (0x00, Index (BT0P, 0x03))
+ Store (0x00, Index (BT0P, 0x02))
+ Store (0x00, Index (BT0P, 0x01))
+ Store (0x04, Index (BT0P, 0x00))
+ }
+ Else
+ {
+ Store (HBVL, Local0)
+ Store (Local0, Index (BT0P, 0x03))
+ Store (Add (HBCC, BT0J), Local1)
+ If (LNot (LLess (Local1, HBFC)))
+ {
+ Store (HBFC, Index (BT0P, 0x02))
+ }
+ Else
+ {
+ Store (Local1, Index (BT0P, 0x02))
+ }
+
+ Store (HBEC, Local1)
+ If (LNot (LLess (Local1, 0x8000)))
+ {
+ Store (Subtract (0x00010000, Local1), Local2)
+ }
+ Else
+ {
+ Store (Local1, Local2)
+ }
+
+ If (HBPU)
+ {
+ Store (Local2, Index (BT0P, 0x01))
+ }
+ Else
+ {
+ Multiply (Local0, Local2, Local1)
+ Store (Divide (Local1, 0x03E8, ), Index (BT0P, 0x01))
+ }
+
+ If (HB0C)
+ {
+ Store (0x02, Index (BT0P, 0x00))
+ }
+ Else
+ {
+ If (HB0D)
+ {
+ Store (0x01, Index (BT0P, 0x00))
+ }
+ Else
+ {
+ Store (0x00, Index (BT0P, 0x00))
+ }
+ }
+
+ If (HB0L) {}
+ Else
+ {
+ Or (DerefOf (Index (BT0P, 0x00)), 0x04, Index (BT0P, 0x00))
+ }
+ }
+
+ RI2C ()
+ Return (BT0P)
+ }
+
+ Method (_BTP, 1, NotSerialized)
+ {
+ And (HAM4, 0xEF, HAM4)
+ If (Arg0)
+ {
+ Subtract (Arg0, BT0J, Local1)
+ If (LNot (DerefOf (Index (BT0I, 0x00))))
+ {
+ Divide (Local1, 0x0A, Local0, Local1)
+ }
+
+ And (Local1, 0xFF, HT0L)
+ And (ShiftRight (Local1, 0x08), 0xFF, HT0H)
+ Or (HAM4, 0x10, HAM4)
+ }
+ }
+ }
+
+ Name (BT1I, Package (0x0D)
+ {
+ 0x00,
+ 0x00,
+ 0x00,
+ 0x01,
+ 0x2A30,
+ 0x00,
+ 0x00,
+ 0x01,
+ 0x01,
+ "ThinkPad Battery",
+ "",
+ "LION",
+ "IBM Corporation "
+ })
+ Name (BT1P, Package (0x04) {})
+ Name (BT1J, 0x00)
+ Device (BAT1)
+ {
+ Name (_HID, EisaId ("PNP0C0A"))
+ Name (_UID, 0x01)
+ Name (_PCL, Package (0x01)
+ {
+ \_SB
+ })
+ Name (B1ST, 0x00)
+ Name (XB1S, 0x01)
+ Method (_STA, 0, NotSerialized)
+ {
+ If (\H8DR)
+ {
+ Store (HB1A, B1ST)
+ }
+ Else
+ {
+ If (And (\RBEC (0x39), 0x80))
+ {
+ Store (0x01, B1ST)
+ }
+ Else
+ {
+ Store (0x00, B1ST)
+ }
+ }
+
+ If (B1ST)
+ {
+ If (XB1S)
+ {
+ Return (0x1F)
+ }
+ Else
+ {
+ If (\WNTF)
+ {
+ Return (0x00)
+ }
+ Else
+ {
+ Return (0x1F)
+ }
+ }
+
+ Return (0x1F)
+ }
+ Else
+ {
+ If (\WNTF)
+ {
+ Return (0x00)
+ }
+ Else
+ {
+ Return (0x0F)
+ }
+ }
+ }
+
+ Method (_BIF, 0, NotSerialized)
+ {
+ AI2C ()
+ Store (0x0A, Local6)
+ Store (0x01, Local5)
+ While (LAnd (Local5, Local6))
+ {
+ If (HB1A)
+ {
+ Store (I2RB (Zero, 0x01, 0x11), Local7)
+ If (LOr (LEqual (HMBC, 0x1C), Local7))
+ {
+ Store (0x00, Local5)
+ }
+ Else
+ {
+ Sleep (0x03E8)
+ Decrement (Local6)
+ Store (0x8080, Local7)
+ }
+ }
+ Else
+ {
+ Store (0x00, Local6)
+ Store (0x00, Local7)
+ }
+ }
+
+ If (LOr (Local7, Local5))
+ {
+ Store (0x00, Index (BT1I, 0x00))
+ Store (0xFFFFFFFF, Index (BT1I, 0x01))
+ Store (0x00, Index (BT1I, 0x05))
+ Store (0x00, Index (BT1I, 0x06))
+ Store (0xFFFFFFFF, Index (BT1I, 0x02))
+ }
+ Else
+ {
+ Store (HBPU, Index (BT1I, 0x00))
+ Store (HBRC, Local0)
+ Store (Local0, Index (BT1I, 0x01))
+ Store (Divide (Local0, 0x14, ), Index (BT1I, 0x05))
+ Store (Divide (Local0, 0x64, ), Index (BT1I, 0x06))
+ Store (HBFC, Index (BT1I, 0x02))
+ Store (Divide (HBFC, 0x64, ), BT1J)
+ }
+
+ RI2C ()
+ If (Local7) {}
+ Return (BT1I)
+ }
+
+ Method (_BST, 0, NotSerialized)
+ {
+ AI2C ()
+ Store (I2RB (Zero, 0x01, 0x11), Local7)
+ If (LOr (LNot (LEqual (HMBC, 0x1C)), Local7))
+ {
+ Store (0x00, Index (BT1P, 0x03))
+ Store (0x00, Index (BT1P, 0x02))
+ Store (0x00, Index (BT1P, 0x01))
+ Store (0x04, Index (BT1P, 0x00))
+ }
+ Else
+ {
+ Store (HBVL, Local0)
+ Store (Local0, Index (BT1P, 0x03))
+ Store (Add (HBCC, BT1J), Local1)
+ If (LNot (LLess (Local1, HBFC)))
+ {
+ Store (HBFC, Index (BT1P, 0x02))
+ }
+ Else
+ {
+ Store (Local1, Index (BT1P, 0x02))
+ }
+
+ Store (HBEC, Local1)
+ If (LNot (LLess (Local1, 0x8000)))
+ {
+ Store (Subtract (0x00010000, Local1), Local2)
+ }
+ Else
+ {
+ Store (Local1, Local2)
+ }
+
+ If (HBPU)
+ {
+ Store (Local2, Index (BT1P, 0x01))
+ }
+ Else
+ {
+ Multiply (Local0, Local2, Local1)
+ Store (Divide (Local1, 0x03E8, ), Index (BT1P, 0x01))
+ }
+
+ If (HB1C)
+ {
+ Store (0x02, Index (BT1P, 0x00))
+ }
+ Else
+ {
+ If (HB1D)
+ {
+ Store (0x01, Index (BT1P, 0x00))
+ }
+ Else
+ {
+ Store (0x00, Index (BT1P, 0x00))
+ }
+ }
+
+ If (HB1L) {}
+ Else
+ {
+ Or (DerefOf (Index (BT1P, 0x00)), 0x04, Index (BT1P, 0x00))
+ }
+ }
+
+ RI2C ()
+ Return (BT1P)
+ }
+
+ Method (_BTP, 1, NotSerialized)
+ {
+ And (HAM4, 0xDF, HAM4)
+ If (Arg0)
+ {
+ Subtract (Arg0, BT1J, Local1)
+ If (LNot (DerefOf (Index (BT1I, 0x00))))
+ {
+ Divide (Local1, 0x0A, Local0, Local1)
+ }
+
+ And (Local1, 0xFF, HT1L)
+ And (ShiftRight (Local1, 0x08), 0xFF, HT1H)
+ Or (HAM4, 0x20, HAM4)
+ }
+ }
+ }
+
+ Device (AC)
+ {
+ Name (_HID, "ACPI0003")
+ Name (_UID, 0x00)
+ Name (_PCL, Package (0x01)
+ {
+ \_SB
+ })
+ Method (_PSR, 0, NotSerialized)
+ {
+ Return (HPAC)
+ }
+
+ Method (_STA, 0, NotSerialized)
+ {
+ Return (0x0F)
+ }
+ }
+
+ Scope (\_SB.PCI0.ISA.EC)
+ {
+ Field (ECOR, ByteAcc, Lock, Preserve)
+ {
+ Offset (0x50),
+ HMPR, 8,
+ HMST, 5,
+ , 1,
+ HMAR, 1,
+ HMDN, 1,
+ HMAD, 8,
+ HMCM, 8,
+ HMDT, 8,
+ Offset (0x74),
+ HMBC, 8
+ }
+
+ Field (ECOR, ByteAcc, Lock, Preserve)
+ {
+ Offset (0x54),
+ HBPU, 8,
+ Offset (0x56),
+ HBST, 8,
+ HBID, 4,
+ Offset (0x58),
+ HBRC, 32,
+ HBFC, 32,
+ HBCC, 32,
+ HBVL, 16,
+ HBEC, 16,
+ HBBT, 16,
+ HBNF, 16,
+ HBTC, 16,
+ HBCT, 16,
+ Offset (0x74),
+ Offset (0x100)
+ }
+
+ Field (ECOR, ByteAcc, Lock, Preserve)
+ {
+ Offset (0x54),
+ HBTS, 8,
+ HBAF, 1,
+ Offset (0x56),
+ HBSD, 16,
+ HBDT, 16,
+ HBH0, 16,
+ HBL0, 16,
+ HBH1, 16,
+ HBL1, 16,
+ HBH2, 16,
+ HBL2, 16
+ }
+
+ Field (ECOR, ByteAcc, Lock, Preserve)
+ {
+ Offset (0x54),
+ HF_Z, 8,
+ HF_D, 8,
+ HZIP, 8,
+ HDVD, 8,
+ HHFD, 8,
+ HF_H, 8,
+ HHDD, 8,
+ HADP, 8,
+ HLS, 8,
+ HF_C, 8,
+ HCRW, 8,
+ HCD, 8,
+ HR01, 8,
+ HFDD, 8,
+ HIMP, 8,
+ HNON, 8
+ }
+
+ Mutex (I2CM, 0x07)
+ Method (AI2C, 0, NotSerialized)
+ {
+ Return (Acquire (I2CM, 0xFFFF))
+ }
+
+ Method (RI2C, 0, NotSerialized)
+ {
+ Release (I2CM)
+ }
+
+ Method (I2CR, 3, NotSerialized)
+ {
+ AI2C ()
+ Store (Arg0, HCSL)
+ If (HCAD)
+ {
+ Or (ShiftLeft (Arg1, 0x01), 0x01, HMAD)
+ }
+ Else
+ {
+ Store (Arg1, HMAD)
+ }
+
+ Store (Arg2, HMCM)
+ Store (0x07, HMPR)
+ Store (CHKS (), Local7)
+ If (Local7)
+ {
+ Store (Local7, Local0)
+ }
+ Else
+ {
+ Store (HMDT, Local0)
+ }
+
+ RI2C ()
+ Return (Local0)
+ }
+
+ Method (I2CW, 4, NotSerialized)
+ {
+ AI2C ()
+ Store (Arg0, HCSL)
+ If (HCAD)
+ {
+ Or (ShiftLeft (Arg1, 0x01), 0x01, HMAD)
+ }
+ Else
+ {
+ Store (Arg1, HMAD)
+ }
+
+ Store (Arg2, HMCM)
+ Store (Arg3, HMDT)
+ Store (0x06, HMPR)
+ Store (CHKS (), Local0)
+ RI2C ()
+ Return (Local0)
+ }
+
+ Method (I2RB, 3, NotSerialized)
+ {
+ Store (Arg0, HCSL)
+ If (HCAD)
+ {
+ Store (ShiftLeft (Arg1, 0x01), HMAD)
+ }
+ Else
+ {
+ Store (Arg1, HMAD)
+ }
+
+ Store (Arg2, HMCM)
+ Store (0x0B, HMPR)
+ Return (CHKS ())
+ }
+
+ Method (I2WB, 4, NotSerialized)
+ {
+ Store (Arg0, HCSL)
+ If (HCAD)
+ {
+ Store (ShiftLeft (Arg1, 0x01), HMAD)
+ }
+ Else
+ {
+ Store (Arg1, HMAD)
+ }
+
+ Store (Arg2, HMCM)
+ Store (Arg3, HMBC)
+ Store (0x0A, HMPR)
+ Return (CHKS ())
+ }
+
+ Method (CHKS, 0, NotSerialized)
+ {
+ Store (0x03E8, Local0)
+ While (HMPR)
+ {
+ Sleep (0x01)
+ Decrement (Local0)
+ If (LNot (Local0))
+ {
+ Return (0x8080)
+ }
+ }
+
+ If (HMDN)
+ {
+ If (HMST)
+ {
+ Return (Or (0x8000, HMST))
+ }
+ Else
+ {
+ Return (Zero)
+ }
+ }
+ Else
+ {
+ Return (0x8081)
+ }
+ }
+ }
+
+ Name (VDHK, 0x00)
+ Method (GHKS, 0, NotSerialized)
+ {
+ Store (\GHKY (), VDHK)
+ }
+
+ Device (HKEY)
+ {
+ Name (_HID, EisaId ("IBM0068"))
+ Method (_STA, 0, NotSerialized)
+ {
+ If (VDHK)
+ {
+ Return (0x0F)
+ }
+ Else
+ {
+ Return (0x00)
+ }
+ }
+
+ Name (DHKC, 0x00)
+ Name (DHKB, 0x01)
+ Mutex (XDHK, 0x07)
+ Name (DHKH, 0x00)
+ Name (DHKW, 0x00)
+ Name (DHKS, 0x00)
+ Name (DHKD, 0x00)
+ Method (MHKS, 0, NotSerialized)
+ {
+ Notify (\_SB.SLPB, 0x80)
+ }
+
+ Method (MHKC, 1, NotSerialized)
+ {
+ Store (Arg0, DHKC)
+ }
+
+ Method (MHKP, 0, NotSerialized)
+ {
+ Acquire (XDHK, 0xFFFF)
+ If (DHKW)
+ {
+ Store (DHKW, Local1)
+ Store (Zero, DHKW)
+ }
+ Else
+ {
+ If (DHKD)
+ {
+ Store (DHKD, Local1)
+ Store (Zero, DHKD)
+ }
+ Else
+ {
+ If (DHKS)
+ {
+ Store (DHKS, Local1)
+ Store (Zero, DHKS)
+ }
+ Else
+ {
+ Store (DHKH, Local1)
+ Store (Zero, DHKH)
+ }
+ }
+ }
+
+ Release (XDHK)
+ Return (Local1)
+ }
+
+ Method (MHKE, 1, NotSerialized)
+ {
+ Store (Arg0, DHKB)
+ Acquire (XDHK, 0xFFFF)
+ Store (Zero, DHKH)
+ Store (Zero, DHKW)
+ Store (Zero, DHKS)
+ Store (Zero, DHKD)
+ Release (XDHK)
+ }
+
+ Method (MHKQ, 1, NotSerialized)
+ {
+ If (DHKB)
+ {
+ If (DHKC)
+ {
+ Acquire (XDHK, 0xFFFF)
+ If (LLess (Arg0, 0x1000)) {}
+ Else
+ {
+ If (LLess (Arg0, 0x2000))
+ {
+ Store (Arg0, DHKH)
+ }
+ Else
+ {
+ If (LLess (Arg0, 0x3000))
+ {
+ Store (Arg0, DHKW)
+ }
+ Else
+ {
+ If (LLess (Arg0, 0x4000))
+ {
+ Store (Arg0, DHKS)
+ }
+ Else
+ {
+ If (LLess (Arg0, 0x5000))
+ {
+ Store (Arg0, DHKD)
+ }
+ Else
+ {
+ If (LLess (Arg0, 0x6000))
+ {
+ Store (Arg0, DHKH)
+ }
+ Else
+ {
+ }
+ }
+ }
+ }
+ }
+ }
+
+ Release (XDHK)
+ If (LEqual (DHKH, 0x1003))
+ {
+ \LGHT (0x00)
+ }
+
+ Notify (HKEY, 0x80)
+ }
+ Else
+ {
+ If (LEqual (Arg0, 0x1004))
+ {
+ Notify (\_SB.SLPB, 0x80)
+ }
+ }
+ }
+ }
+
+ Method (XGWT, 0, NotSerialized)
+ {
+ \VUPS (0x80)
+ If (\WNTF)
+ {
+ Store (0x00, Local0)
+ If (\VCDL)
+ {
+ Or (0x01, Local0, Local0)
+ }
+
+ If (\VCDC)
+ {
+ Or (0x02, Local0, Local0)
+ }
+
+ If (\VCDT)
+ {
+ Or (0x04, Local0, Local0)
+ }
+
+ Return (Local0)
+ }
+ Else
+ {
+ Return (0xFFFF)
+ }
+ }
+
+ Method (XSWT, 1, NotSerialized)
+ {
+ If (\WNTF)
+ {
+ And (0x03, Arg0, Local0)
+ If (Local0)
+ {
+ \_SB.PCI0.AGP.VID.ASWT (Local0, 0x01)
+ }
+ }
+ Else
+ {
+ Return (0xFFFF)
+ }
+ }
+
+ Method (MHKB, 1, NotSerialized)
+ {
+ If (LEqual (Arg0, 0x00))
+ {
+ \_SB.PCI0.ISA.EC.BEEP (0x11)
+ }
+ Else
+ {
+ If (LEqual (Arg0, 0x01))
+ {
+ \_SB.PCI0.ISA.EC.BEEP (0x10)
+ }
+ Else
+ {
+ }
+ }
+ }
+
+ Method (MHKX, 0, NotSerialized)
+ {
+ If (\_SB.PCI0.ISA.FDC.DCFD)
+ {
+ Return (0x01)
+ }
+ Else
+ {
+ Return (0x03)
+ }
+ }
+ }
+ }
+ }
+
+ Device (CBS0)
+ {
+ Name (_ADR, 0x00020000)
+ OperationRegion (CBUS, PCI_Config, 0x00, 0x0100)
+ Field (CBUS, DWordAcc, NoLock, Preserve)
+ {
+ Offset (0x40),
+ SVID, 16,
+ SSID, 16,
+ LGDC, 32,
+ Offset (0x80),
+ SYSC, 32,
+ MCTL, 8,
+ Offset (0x91),
+ CCTL, 8,
+ Offset (0x93),
+ DIAG, 8
+ }
+
+ Method (_INI, 0, NotSerialized)
+ {
+ Store (Zero, LGDC)
+ And (CCTL, 0x7F, CCTL)
+ Or (SYSC, 0x01, SYSC)
+ If (LNot (And (_ADR, 0xFFFF)))
+ {
+ And (MCTL, 0x83, BMCL)
+ }
+ }
+
+ Name (BMCL, 0x00)
+ Name (PWRS, 0x00)
+ Method (_PSC, 0, NotSerialized)
+ {
+ Return (PWRS)
+ }
+
+ Method (_PS0, 0, NotSerialized)
+ {
+ PWUP ()
+ Store (0x00, PWRS)
+ }
+
+ Method (_PS3, 0, NotSerialized)
+ {
+ Store (0x03, PWRS)
+ PWDN ()
+ }
+
+ Method (PWDN, 0, NotSerialized)
+ {
+ If (LAnd (\_SB.PCI0.CBS0.PWRS, \_SB.PCI0.CBS1.PWRS))
+ {
+ If (LNot (And (_ADR, 0xFFFF)))
+ {
+ And (MCTL, 0x83, BMCL)
+ And (MCTL, 0xFC, Local0)
+ Or (Local0, 0x80, MCTL)
+ }
+ Else
+ {
+ \_SB.PCI0.CBS0.PWDN ()
+ }
+ }
+ }
+
+ Method (PWUP, 0, NotSerialized)
+ {
+ If (LAnd (\_SB.PCI0.CBS0.PWRS, \_SB.PCI0.CBS1.PWRS))
+ {
+ If (LNot (And (_ADR, 0xFFFF)))
+ {
+ And (MCTL, 0x7C, Local0)
+ Or (Local0, BMCL, MCTL)
+ }
+ Else
+ {
+ \_SB.PCI0.CBS0.PWUP ()
+ }
+ }
+ }
+ }
+
+ Device (CBS1)
+ {
+ Name (_ADR, 0x00020001)
+ OperationRegion (CBUS, PCI_Config, 0x00, 0x0100)
+ Field (CBUS, DWordAcc, NoLock, Preserve)
+ {
+ Offset (0x40),
+ SVID, 16,
+ SSID, 16,
+ LGDC, 32,
+ Offset (0x80),
+ SYSC, 32,
+ MCTL, 8,
+ Offset (0x91),
+ CCTL, 8,
+ Offset (0x93),
+ DIAG, 8
+ }
+
+ Method (_INI, 0, NotSerialized)
+ {
+ Store (Zero, LGDC)
+ And (CCTL, 0x7F, CCTL)
+ Or (SYSC, 0x01, SYSC)
+ If (LNot (And (_ADR, 0xFFFF)))
+ {
+ And (MCTL, 0x83, BMCL)
+ }
+ }
+
+ Name (BMCL, 0x00)
+ Name (PWRS, 0x00)
+ Method (_PSC, 0, NotSerialized)
+ {
+ Return (PWRS)
+ }
+
+ Method (_PS0, 0, NotSerialized)
+ {
+ PWUP ()
+ Store (0x00, PWRS)
+ }
+
+ Method (_PS3, 0, NotSerialized)
+ {
+ Store (0x03, PWRS)
+ PWDN ()
+ }
+
+ Method (PWDN, 0, NotSerialized)
+ {
+ If (LAnd (\_SB.PCI0.CBS0.PWRS, \_SB.PCI0.CBS1.PWRS))
+ {
+ If (LNot (And (_ADR, 0xFFFF)))
+ {
+ And (MCTL, 0x83, BMCL)
+ And (MCTL, 0xFC, Local0)
+ Or (Local0, 0x80, MCTL)
+ }
+ Else
+ {
+ \_SB.PCI0.CBS0.PWDN ()
+ }
+ }
+ }
+
+ Method (PWUP, 0, NotSerialized)
+ {
+ If (LAnd (\_SB.PCI0.CBS0.PWRS, \_SB.PCI0.CBS1.PWRS))
+ {
+ If (LNot (And (_ADR, 0xFFFF)))
+ {
+ And (MCTL, 0x7C, Local0)
+ Or (Local0, BMCL, MCTL)
+ }
+ Else
+ {
+ \_SB.PCI0.CBS0.PWUP ()
+ }
+ }
+ }
+ }
+
+ Device (DOCK)
+ {
+ Name (_ADR, 0x00040000)
+ Method (_BDN, 0, NotSerialized)
+ {
+ Return (GDID ())
+ }
+
+ Method (_UID, 0, NotSerialized)
+ {
+ Return (GDSR ())
+ }
+
+ Name (_PRT, Package (0x06)
+ {
+ Package (0x04)
+ {
+ 0xFFFF,
+ 0x00,
+ \_SB.LNKA,
+ 0x00
+ },
+
+ Package (0x04)
+ {
+ 0xFFFF,
+ 0x01,
+ \_SB.LNKB,
+ 0x00
+ },
+
+ Package (0x04)
+ {
+ 0xFFFF,
+ 0x02,
+ \_SB.LNKC,
+ 0x00
+ },
+
+ Package (0x04)
+ {
+ 0xFFFF,
+ 0x03,
+ \_SB.LNKD,
+ 0x00
+ },
+
+ Package (0x04)
+ {
+ 0x0001FFFF,
+ 0x00,
+ \_SB.LNKB,
+ 0x00
+ },
+
+ Package (0x04)
+ {
+ 0x0002FFFF,
+ 0x00,
+ \_SB.LNKC,
+ 0x00
+ }
+ })
+ Method (_REG, 2, NotSerialized)
+ {
+ If (LEqual (Arg0, 0x02))
+ {
+ If (Arg1)
+ {
+ Sleep (0x19)
+ And (\_SB.PCI0.ISA.SIRQ, 0x3F, \_SB.PCI0.ISA.SIRQ)
+ }
+
+ \_SB.PCI0.DOCK.CBS2.DREG (0x02, Arg1)
+ \_SB.PCI0.DOCK.CBS3.DREG (0x02, Arg1)
+ \_SB.PCI0.DOCK.IDE1.DREG (0x02, Arg1)
+ If (Arg1)
+ {
+ Or (\_SB.PCI0.ISA.SIRQ, 0xC0, \_SB.PCI0.ISA.SIRQ)
+ Stall (0x64)
+ And (\_SB.PCI0.ISA.SIRQ, 0xBF, \_SB.PCI0.ISA.SIRQ)
+ LTCY ()
+ }
+ }
+ }
+
+ Method (_INI, 0, NotSerialized)
+ {
+ If (GDID ())
+ {
+ PPEN (0x00)
+ PPIN ()
+ PPEN (0x01)
+ If (\W98F)
+ {
+ _REG (0x02, 0x01)
+ }
+
+ DATT (0x00, 0x00)
+ DATT (0x01, 0x01)
+ }
+ Else
+ {
+ DATT (0x00, 0x01)
+ DATT (0x01, 0x00)
+ }
+
+ DDWK (0x00)
+ }
+
+ Method (_STA, 0, NotSerialized)
+ {
+ If (\W98F)
+ {
+ If (DFLG (0x02, 0x08))
+ {
+ \_SB.PCI0.ISA.EC.HKEY.MHKQ (DHKE)
+ Notify (\_SB.PCI0.DOCK, 0x01)
+ DFLG (0x01, 0x08)
+ }
+ }
+
+ \_SB.PCI0.DOCK.WURQ ()
+ If (LEqual (GDID (), 0x4A004D24))
+ {
+ Store (0x0F, Local0)
+ }
+ Else
+ {
+ If (LNot (\W98F))
+ {
+ Store (0x00, Local0)
+ }
+ Else
+ {
+ Store (0x0C, Local0)
+ }
+ }
+
+ Return (Local0)
+ }
+
+ Name (_PRW, Package (0x02)
+ {
+ 0x0B,
+ 0x04
+ })
+ Method (_PSW, 1, NotSerialized)
+ {
+ EPSW (0x02, Arg0)
+ }
+
+ Name (DIDB, 0xFFFFFFFF)
+ Method (DPTS, 1, NotSerialized)
+ {
+ If (LAnd (LNot (LLess (Arg0, 0x01)), LNot (LGreater (Arg0, 0x04))))
+ {
+ DFLG (0x00, 0x0100)
+ Store (0x00, DHKE)
+ If (DFLG (0x02, 0x02))
+ {
+ Store (0x00, DOID)
+ DFLG (0x01, 0x02)
+ }
+
+ If (GDID ())
+ {
+ DDWK (0x01)
+ If (LEqual (Arg0, 0x01))
+ {
+ SSU2 (0x01)
+ }
+
+ If (LEqual (Arg0, 0x04))
+ {
+ Store (0x01, \_SB.PCI0.ISA.SLCK)
+ }
+ }
+ Else
+ {
+ DDWK (0x00)
+ }
+
+ Store (GDID (), DIDB)
+ }
+ }
+
+ Method (DWAK, 1, NotSerialized)
+ {
+ Store (0xFFFFFFFF, DOID)
+ If (LAnd (LNot (LLess (Arg0, 0x01)), LNot (LGreater (Arg0, 0x04))))
+ {
+ If (LNot (LEqual (DIDB, 0x00)))
+ {
+ If (LNot (LEqual (GDID (), 0x00)))
+ {
+ PPEN (0x00)
+ PPIN ()
+ If (\W98F)
+ {
+ _REG (0x02, 0x01)
+ PPEN (0x01)
+ }
+
+ ShiftLeft (Arg0, 0x08, DHKE)
+ If (DFLG (0x02, 0x08))
+ {
+ Or (DHKE, 0x2004, DHKE)
+ If (LNot (\W98F))
+ {
+ \_SB.PCI0.ISA.EC.HKEY.MHKQ (DHKE)
+ Notify (\_SB.PCI0.DOCK, 0x03)
+ DFLG (0x01, 0x08)
+ }
+ }
+ Else
+ {
+ If (LEqual (\_SB.PCI0.DOCK.GDID (), 0x4A004D24))
+ {
+ Notify (\_SB.PCI0.DOCK.IDE1, 0x00)
+ }
+
+ If (LEqual (Arg0, 0x04))
+ {
+ \DHDP (0x03)
+ }
+ }
+ }
+ Else
+ {
+ Notify (\_SB.PCI0.DOCK, 0x00)
+ \DHDP (0x00)
+ }
+ }
+ Else
+ {
+ If (LNot (LEqual (GDID (), 0x00)))
+ {
+ If (\_SB.PCI0.ISA.BUSC)
+ {
+ _INI ()
+ If (LNot (\W98F))
+ {
+ PPEN (0x00)
+ }
+ }
+
+ Notify (\_SB.PCI0.DOCK, 0x00)
+ }
+ }
+
+ DDWK (0x00)
+ Store (0x00, \_SB.PCI0.ISA.SLCK)
+ DFLG (0x01, 0x0100)
+ If (LEqual (Arg0, 0x01))
+ {
+ SSU2 (0x00)
+ }
+
+ If (\WMEF)
+ {
+ DFLG (0x01, 0x02)
+ }
+ }
+ }
+
+ Method (_DCK, 1, NotSerialized)
+ {
+ If (Arg0)
+ {
+ BCON (0x01)
+ Sleep (0x4B)
+ PPIN ()
+ If (LEqual (\_SB.PCI0.DOCK.GDID (), 0x4A004D24))
+ {
+ If (\W98F)
+ {
+ \DHDP (0x01)
+ }
+ Else
+ {
+ \DHDP (0x04)
+ }
+ }
+
+ If (\W98F)
+ {
+ PPEN (0x01)
+ _REG (0x02, 0x01)
+ }
+
+ DATT (0x00, 0x00)
+ DATT (0x01, 0x01)
+ If (\GVEN)
+ {
+ \GVIL (0x02)
+ }
+ }
+ Else
+ {
+ DFLG (0x00, 0x02)
+ \DHDP (0x00)
+ If (\W98F)
+ {
+ _REG (0x02, 0x00)
+ }
+
+ PPUB (0x00)
+ DATT (0x00, 0x01)
+ DATT (0x01, 0x00)
+ If (\GVEN)
+ {
+ \GVIL (0x03)
+ }
+ }
+
+ \_SB.PCI0.AGP.VID.VDSW (Arg0)
+ Return (0x01)
+ }
+
+ Method (_EJ0, 1, NotSerialized)
+ {
+ If (DFLG (0x02, 0x02))
+ {
+ If (Arg0)
+ {
+ BCON (0x00)
+ WUIN ()
+ Store (0x00, DOID)
+ Store (0x00, \_SB.PCI0.ISA.FDC.DCFD)
+ Store (0x01, \_SB.PCI0.ISA.FDC.XFDS)
+ }
+
+ DFLG (0x01, 0x02)
+ }
+ }
+
+ Method (_EJ4, 1, NotSerialized)
+ {
+ Store (0x00, \_SB.PCI0.ISA.FDC.DCFD)
+ }
+
+ Name (DOID, 0xFFFFFFFF)
+ Name (DHKE, 0x00)
+ Name (WUCT, 0x00)
+ Mutex (WUDM, 0x07)
+ Method (WURQ, 0, NotSerialized)
+ {
+ If (And (DHKE, 0x2004))
+ {
+ If (LEqual (GDID (), 0x00))
+ {
+ Acquire (WUDM, 0xFFFF)
+ If (LNot (Decrement (WUCT)))
+ {
+ Store (0x01, Local0)
+ }
+ Else
+ {
+ Store (0x00, Local0)
+ }
+
+ Release (WUDM)
+ If (Local0)
+ {
+ Store (0x00, DHKE)
+ \_SB.PCI0.ISA.EC.HKEY.MHKQ (0x4003)
+ }
+ }
+ }
+ }
+
+ Method (WUIN, 0, NotSerialized)
+ {
+ Acquire (WUDM, 0xFFFF)
+ If (\WNTF)
+ {
+ Store (0x21, WUCT)
+ }
+ Else
+ {
+ Store (0x01, WUCT)
+ }
+
+ Release (WUDM)
+ }
+
+ Method (GDID, 0, NotSerialized)
+ {
+ If (LEqual (DOID, 0xFFFFFFFF))
+ {
+ Store (RDID (), DOID)
+ }
+
+ If (\WMEF)
+ {
+ Store (DOID, DIDB)
+ }
+
+ Return (DOID)
+ }
+
+ Method (GDSR, 0, NotSerialized)
+ {
+ Return (RDSR ())
+ }
+
+ Method (RDID, 0, NotSerialized)
+ {
+ Store (\_SB.PCI0.ISA.EC.GDEV (0x02), Local0)
+ If (And (Local0, 0x07))
+ {
+ Return (0x00)
+ }
+
+ If (LNot (\H8DR))
+ {
+ Return (\GDCK (0x02))
+ }
+
+ Store (0x10, Local0)
+ Store (0x00, Local1)
+ Store (0x00, Local2)
+ Store (0x00, Local3)
+ Store (0x00, Local4)
+ While (Local0)
+ {
+ Store (EEPR (Local2), Local1)
+ If (LAnd (LNot (LEqual (Local1, 0x8080)), LNot (LEqual (Local1, 0x8018))))
+ {
+ If (LEqual (And (Local1, 0x8000), 0x8000))
+ {
+ Return (0x00)
+ }
+ Else
+ {
+ If (LLess (Local2, 0x09))
+ {
+ If (LAnd (LLess (Local2, 0x08), LGreater (Local2, 0x03)))
+ {
+ Or (Local3, ShiftLeft (Local1, Multiply (Subtract (Local2, 0x04), 0x08)), Local3)
+ }
+
+ Add (Local4, Local1, Local4)
+ Store (0x10, Local0)
+ Increment (Local2)
+ }
+ Else
+ {
+ If (LEqual (Local2, 0x09))
+ {
+ If (LNot (And (Add (Local4, Local1), 0xFF)))
+ {
+ Return (Local3)
+ }
+ Else
+ {
+ Return (0x00)
+ }
+ }
+ }
+ }
+ }
+
+ Decrement (Local0)
+ }
+
+ Return (0x00)
+ }
+
+ Method (RDSR, 0, NotSerialized)
+ {
+ If (LEqual (GDID (), 0x00))
+ {
+ Return (0x00)
+ }
+
+ If (LNot (\H8DR))
+ {
+ Return (\GDCK (0x01))
+ }
+
+ Store (0x10, Local0)
+ Store (0x00, Local1)
+ Store (0x00, Local2)
+ Store (0x00, Local3)
+ Store (0x00, Local4)
+ While (Local0)
+ {
+ Store (EEPR (Local2), Local1)
+ If (LAnd (LNot (LEqual (Local1, 0x8080)), LNot (LEqual (Local1, 0x8018))))
+ {
+ If (LEqual (And (Local1, 0x8000), 0x8000))
+ {
+ Return (0x00)
+ }
+ Else
+ {
+ If (LLess (Local2, 0x09))
+ {
+ If (LLess (Local2, 0x04))
+ {
+ Or (Local3, ShiftLeft (Local1, Multiply (Local2, 0x08)), Local3)
+ }
+
+ Add (Local4, Local1, Local4)
+ Store (0x10, Local0)
+ Increment (Local2)
+ }
+ Else
+ {
+ If (LEqual (Local2, 0x09))
+ {
+ If (LNot (And (Add (Local4, Local1), 0xFF)))
+ {
+ Return (Local3)
+ }
+ Else
+ {
+ Return (0x00)
+ }
+ }
+ }
+ }
+ }
+
+ Decrement (Local0)
+ }
+
+ Return (0x00)
+ }
+
+ Method (EEPR, 1, NotSerialized)
+ {
+ Store (0x00, \_SB.PCI0.ISA.EC.HCAC)
+ Or (\_SB.PCI0.ISA.ACI, 0x01, \_SB.PCI0.ISA.ACI)
+ Store (\_SB.PCI0.ISA.EC.I2CR (0x00, 0x51, Arg0), Local0)
+ And (\_SB.PCI0.ISA.ACI, 0xFE, \_SB.PCI0.ISA.ACI)
+ Store (0x01, \_SB.PCI0.ISA.EC.HCAC)
+ Return (Local0)
+ }
+
+ Name (FLAG, 0x00)
+ Method (DFLG, 2, NotSerialized)
+ {
+ If (LEqual (Arg0, 0x00))
+ {
+ Or (FLAG, Arg1, FLAG)
+ }
+
+ If (LEqual (Arg0, 0x01))
+ {
+ And (FLAG, Not (Arg1), FLAG)
+ }
+
+ If (And (FLAG, Arg1))
+ {
+ Return (0x01)
+ }
+ Else
+ {
+ Return (0x00)
+ }
+ }
+
+ Method (DATT, 2, NotSerialized)
+ {
+ Store (0x00, Local0)
+ If (LEqual (Arg0, 0x00))
+ {
+ If (LEqual (Arg1, 0x01))
+ {
+ If (\H8DR)
+ {
+ Or (\_SB.PCI0.ISA.EC.HAM6, 0x80, \_SB.PCI0.ISA.EC.HAM6)
+ }
+ Else
+ {
+ \MBEC (0x16, 0xFF, 0x80)
+ }
+ }
+
+ If (LEqual (Arg1, 0x00))
+ {
+ If (\H8DR)
+ {
+ And (\_SB.PCI0.ISA.EC.HAM6, 0x7F, \_SB.PCI0.ISA.EC.HAM6)
+ }
+ Else
+ {
+ \MBEC (0x16, 0x7F, 0x00)
+ }
+ }
+
+ If (LEqual (Arg1, 0x02))
+ {
+ If (\H8DR)
+ {
+ If (And (\_SB.PCI0.ISA.EC.HAM6, 0x80))
+ {
+ Store (0x01, Local0)
+ }
+ }
+ Else
+ {
+ If (And (\RBEC (0x16), 0x80))
+ {
+ Store (0x01, Local0)
+ }
+ }
+ }
+ }
+
+ If (LEqual (Arg0, 0x01))
+ {
+ If (LEqual (Arg1, 0x01))
+ {
+ If (\H8DR)
+ {
+ Or (\_SB.PCI0.ISA.EC.HAMA, 0x01, \_SB.PCI0.ISA.EC.HAMA)
+ }
+ Else
+ {
+ \MBEC (0x1A, 0xFF, 0x01)
+ }
+ }
+
+ If (LEqual (Arg1, 0x00))
+ {
+ If (\H8DR)
+ {
+ And (\_SB.PCI0.ISA.EC.HAMA, 0xFE, \_SB.PCI0.ISA.EC.HAMA)
+ }
+ Else
+ {
+ \MBEC (0x1A, 0xFE, 0x00)
+ }
+ }
+
+ If (LEqual (Arg1, 0x02))
+ {
+ If (\H8DR)
+ {
+ If (And (\_SB.PCI0.ISA.EC.HAMA, 0x01))
+ {
+ Store (0x01, Local0)
+ }
+ }
+ Else
+ {
+ If (And (\RBEC (0x1A), 0x01))
+ {
+ Store (0x01, Local0)
+ }
+ }
+ }
+ }
+
+ Return (Local0)
+ }
+
+ Method (DDWK, 1, NotSerialized)
+ {
+ Store (0x00, Local0)
+ If (LEqual (Arg0, 0x01))
+ {
+ If (\H8DR)
+ {
+ Store (One, \_SB.PCI0.ISA.EC.HWDK)
+ }
+ Else
+ {
+ \MBEC (0x32, 0xFF, 0x08)
+ }
+ }
+
+ If (LEqual (Arg0, 0x00))
+ {
+ If (\H8DR)
+ {
+ Store (Zero, \_SB.PCI0.ISA.EC.HWDK)
+ }
+ Else
+ {
+ \MBEC (0x32, 0xF7, 0x00)
+ }
+ }
+
+ If (LEqual (Arg0, 0x02))
+ {
+ If (\H8DR)
+ {
+ If (\_SB.PCI0.ISA.EC.HWDK)
+ {
+ Store (0x01, Local0)
+ }
+ }
+ Else
+ {
+ If (And (\RBEC (0x32), 0x08))
+ {
+ Store (0x01, Local0)
+ }
+ }
+ }
+
+ Return (Local0)
+ }
+
+ Method (DGPE, 0, NotSerialized)
+ {
+ If (\WMEF)
+ {
+ DFLG (0x00, 0x0100)
+ }
+
+ If (DFLG (0x02, 0x0100))
+ {
+ DFLG (0x00, 0x08)
+ }
+ Else
+ {
+ Or (DHKE, 0x2004, DHKE)
+ If (\W98F)
+ {
+ Notify (\_SB.PCI0.DOCK, 0x01)
+ }
+ Else
+ {
+ \_SB.PCI0.ISA.EC.HKEY.MHKQ (DHKE)
+ Notify (\_SB.PCI0.DOCK, 0x03)
+ }
+ }
+ }
+
+ Event (DEVT)
+ Method (BCON, 1, NotSerialized)
+ {
+ If (LAnd (Arg0, \_SB.PCI0.ISA.BUSC))
+ {
+ Return (0x00)
+ }
+
+ If (LAnd (LNot (Arg0), \_SB.PCI0.ISA.BUSD))
+ {
+ Return (0x00)
+ }
+
+ Store (DATT (0x00, 0x02), Local0)
+ DATT (0x00, 0x01)
+ Reset (DEVT)
+ If (Arg0)
+ {
+ Sleep (0xC8)
+ Store (0x00, \_SB.PCI0.ISA.BUSD)
+ Store (0x01, \_SB.PCI0.ISA.BUSC)
+ }
+ Else
+ {
+ Store (0x00, \_SB.PCI0.ISA.BUSC)
+ Store (0x01, \_SB.PCI0.ISA.BUSD)
+ }
+
+ Wait (DEVT, 0xFFFF)
+ If (LNot (Local0))
+ {
+ DATT (0x00, 0x00)
+ }
+ }
+
+ Method (LTCY, 0, NotSerialized)
+ {
+ If (LEqual (GDID (), 0x4A004D24))
+ {
+ LDEV (0x00)
+ LDEV (0x01)
+ LCBS (0x02)
+ }
+ }
+
+ Method (LDEV, 1, NotSerialized)
+ {
+ Or (0x80000000, ShiftLeft (\RPCI (0x80002019), 0x10), Local0)
+ Or (Local0, ShiftLeft (Arg0, 0x0B), Local0)
+ Store (0x00, Local1)
+ While (LLess (Local1, 0x08))
+ {
+ Or (Local0, ShiftLeft (Local1, 0x08), Local2)
+ Store (\RPCI (Or (Local2, 0x02)), Local3)
+ Store (\RPCI (Or (Local2, 0x03)), Local4)
+ If (LOr (LNot (LEqual (Local3, 0xFF)), LNot (LEqual (Local4, 0xFF))))
+ {
+ Store (\RPCI (Or (Local2, 0x0E)), Local5)
+ If (LNot (Local5))
+ {
+ Store (\RPCI (Or (Local2, 0x3E)), Local6)
+ If (LNot (LGreater (Local6, 0x08)))
+ {
+ Store (0x40, Local7)
+ }
+ Else
+ {
+ If (LNot (LGreater (Local6, 0x1F)))
+ {
+ Store (Multiply (Local6, 0x08), Local7)
+ }
+ Else
+ {
+ Store (0xD0, Local7)
+ }
+ }
+
+ \WPCI (Or (Local2, 0x0D), Local7)
+ \WPCI (Or (Local2, 0x0C), 0x08)
+ }
+ }
+
+ Increment (Local1)
+ }
+ }
+
+ Method (LCBS, 1, NotSerialized)
+ {
+ Or (0x80000000, ShiftLeft (\RPCI (0x80002019), 0x10), Local0)
+ Or (Local0, ShiftLeft (Arg0, 0x0B), Local0)
+ Store (0x00, Local1)
+ While (LLess (Local1, 0x02))
+ {
+ Or (Local0, ShiftLeft (Local1, 0x08), Local2)
+ \WPCI (Or (Local2, 0x0C), 0x08)
+ \WPCI (Or (Local2, 0x0D), 0x40)
+ \WPCI (Or (Local2, 0x1B), 0x80)
+ Increment (Local1)
+ }
+ }
+
+ Method (SSU2, 1, NotSerialized)
+ {
+ If (Arg0)
+ {
+ Store (0x01, \_SB.PCI0.PM00.S2DS)
+ Store (0x01, \_SB.PCI0.ISA.SUS2)
+ }
+ Else
+ {
+ Store (0x00, \_SB.PCI0.ISA.SUS2)
+ Store (0x00, \_SB.PCI0.PM00.S2DS)
+ }
+ }
+
+ Scope (\_SB.PCI0.ISA.EC)
+ {
+ Method (_Q37, 0, NotSerialized)
+ {
+ If (\_SB.PCI0.ISA.SCIS)
+ {
+ Store (\_SB.PCI0.ISA.SCIR, Local0)
+ If (LEqual (Local0, 0x00))
+ {
+ If (LNot (\_SB.PCI0.DOCK.GDID ()))
+ {
+ Store (0xFFFFFFFF, \_SB.PCI0.DOCK.DOID)
+ Notify (\_SB.PCI0.DOCK, 0x00)
+ }
+ }
+
+ If (LAnd (LEqual (Local0, 0x02), \_SB.PCI0.ISA.BUSC))
+ {
+ Signal (\_SB.PCI0.DOCK.DEVT)
+ }
+
+ If (LAnd (LEqual (Local0, 0x03), \_SB.PCI0.ISA.BUSD))
+ {
+ Signal (\_SB.PCI0.DOCK.DEVT)
+ }
+
+ Store (0x00, \_SB.PCI0.ISA.SCIS)
+ }
+ }
+
+ Method (_Q50, 0, NotSerialized)
+ {
+ If (\_SB.PCI0.DOCK.GDID ())
+ {
+ If (\W98F)
+ {
+ Notify (\_SB.PCI0.DOCK, 0x01)
+ }
+ Else
+ {
+ Notify (\_SB.PCI0.DOCK, 0x03)
+ }
+ }
+ }
+ }
+
+ OperationRegion (PPBR, PCI_Config, 0x00, 0x0100)
+ Field (PPBR, DWordAcc, NoLock, Preserve)
+ {
+ Offset (0x40),
+ SVID, 16,
+ SSID, 16,
+ Offset (0x66),
+ SDCL, 8,
+ PDCL, 8,
+ Offset (0x6C),
+ SCAD, 8,
+ BUFC, 8,
+ Offset (0x6F),
+ CLKR, 8,
+ Offset (0x76),
+ PG0D, 1,
+ PG1D, 1,
+ PG2D, 1,
+ PG3D, 1,
+ SG0D, 1,
+ SG1D, 1,
+ SG2D, 1,
+ SG3D, 1,
+ PG0O, 1,
+ PG1O, 1,
+ PG2O, 1,
+ PG3O, 1,
+ SG0O, 1,
+ SG1O, 1,
+ SG2O, 1,
+ SG3O, 1,
+ Offset (0x79),
+ SIRQ, 8,
+ ARMK, 8
+ }
+
+ Method (PPIN, 0, NotSerialized)
+ {
+ Or (ShiftRight (0x00040000, 0x05), 0x80000000, Local0)
+ Store (\RPCI (Or (Local0, 0x84)), Local1)
+ If (LAnd (Local1, 0x03))
+ {
+ \WPCI (Or (Local0, 0x84), And (Local1, 0xFC))
+ Sleep (0x0A)
+ }
+
+ If (\W98F)
+ {
+ \WPCI (Or (Local0, 0x1C), 0xF0)
+ \WPCI (Or (Local0, 0x1D), 0x00)
+ \WPCI (Or (Local0, 0x20), 0xF0)
+ \WPCI (Or (Local0, 0x21), 0xFF)
+ \WPCI (Or (Local0, 0x22), 0x00)
+ \WPCI (Or (Local0, 0x23), 0x00)
+ \WPCI (Or (Local0, 0x24), 0xF0)
+ \WPCI (Or (Local0, 0x25), 0xFF)
+ \WPCI (Or (Local0, 0x26), 0x00)
+ \WPCI (Or (Local0, 0x27), 0x00)
+ }
+
+ \WPCI (Or (Local0, 0x19), 0x08)
+ \WPCI (Or (Local0, 0x1A), 0x0E)
+ \WPCI (Or (Local0, 0x0C), 0x08)
+ \WPCI (Or (Local0, 0x0D), 0x40)
+ \WPCI (Or (Local0, 0x1B), 0x44)
+ Store (0x1014, SVID)
+ Store (0xE3, SSID)
+ Or (And (SDCL, 0x00), 0x01, SDCL)
+ Or (And (PDCL, 0x00), 0x01, PDCL)
+ Or (And (SCAD, 0x02), 0xB0, SCAD)
+ Or (And (BUFC, 0x00), 0x1F, BUFC)
+ Or (And (CLKR, 0x00), 0x0C, CLKR)
+ Or (And (SIRQ, 0x00), 0x23, SIRQ)
+ Or (And (ARMK, 0x00), 0x38, ARMK)
+ PPFD ()
+ PPUB (0x01)
+ PPMX ()
+ }
+
+ Method (PPEN, 1, NotSerialized)
+ {
+ Or (0x80000000, ShiftRight (0x00040000, 0x05), Local0)
+ If (Arg0)
+ {
+ \MPCI (Or (Local0, 0x04), 0xFF, 0x07)
+ }
+ Else
+ {
+ \MPCI (Or (Local0, 0x04), 0xF8, 0x00)
+ }
+ }
+
+ Method (PPRS, 0, NotSerialized)
+ {
+ Or (0x80000000, ShiftRight (0x00040000, 0x05), Local0)
+ \MPCI (Or (Local0, 0x3E), 0xFF, 0x40)
+ Sleep (0x64)
+ \MPCI (Or (Local0, 0x3E), 0xBF, 0x00)
+ }
+
+ Method (PPFD, 0, NotSerialized)
+ {
+ Store (0x01, SG1D)
+ If (LEqual (\_SB.PCI0.ISA.EC.GDEV (0x03), 0x0D))
+ {
+ Store (0x01, \_SB.PCI0.ISA.FDC.DCFD)
+ Store (0x01, SG1O)
+ }
+ Else
+ {
+ Store (0x00, \_SB.PCI0.ISA.FDC.DCFD)
+ Store (0x00, SG1O)
+ }
+ }
+
+ Method (PPUB, 1, NotSerialized)
+ {
+ Store (0x00, SG3D)
+ If (Arg0)
+ {
+ Store (0x00, PG3O)
+ }
+ Else
+ {
+ Store (0x01, PG3O)
+ }
+
+ Store (0x01, PG3D)
+ }
+
+ Method (PPMX, 0, NotSerialized)
+ {
+ Store (\RPCI (Or (0x80000019, ShiftRight (0x00040000, 0x05))), Local0)
+ Or (0x80000000, ShiftLeft (Local0, 0x10), Local0)
+ Store (0x04, Local1)
+ Store (0x00, Local2)
+ While (Local1)
+ {
+ Decrement (Local1)
+ ShiftLeft (Local2, 0x08, Local2)
+ Or (Local2, \RPCI (Or (Local0, Local1)), Local2)
+ }
+
+ If (LEqual (Local2, 0x00213388))
+ {
+ Or (SDCL, 0x04, SDCL)
+ }
+ }
+
+ Device (IDE1)
+ {
+ Name (_ADR, 0x00010000)
+ OperationRegion (IDEC, PCI_Config, 0x00, 0x0100)
+ Field (IDEC, DWordAcc, NoLock, Preserve)
+ {
+ Offset (0x4F),
+ , 2,
+ ENCL, 1,
+ Offset (0x50),
+ Offset (0x51),
+ , 2,
+ PRMC, 1,
+ SNDC, 1,
+ Offset (0x52),
+ XCMT, 8,
+ , 6,
+ XAR0, 2,
+ XDRR, 4,
+ XDRW, 4,
+ Offset (0x73),
+ XUDM, 1,
+ , 1,
+ XUDC, 1,
+ , 1,
+ XUDT, 2,
+ Offset (0x74)
+ }
+
+ Method (DREG, 2, NotSerialized)
+ {
+ If (LEqual (Arg0, 0x02))
+ {
+ If (Arg1)
+ {
+ If (LEqual (\_SB.PCI0.DOCK.GDID (), 0x4A004D24))
+ {
+ If (LNot (And (\_SB.PCI0.DOCK.SCAD, 0x02)))
+ {
+ Store (0x01, PRMC)
+ Store (0x01, SNDC)
+ }
+ }
+
+ If (\W98F)
+ {
+ RAID ()
+ }
+ }
+ }
+ }
+
+ Method (RAID, 0, NotSerialized)
+ {
+ Store (0x01, ENCL)
+ Store (\RPCI (Or (0x80000019, ShiftRight (0x00040000, 0x05))), Local0)
+ Or (0x80000000, ShiftLeft (Local0, 0x10), Local0)
+ Or (Local0, ShiftRight (_ADR, 0x05), Local0)
+ Or (Local0, ShiftLeft (And (_ADR, 0x07), 0x08), Local0)
+ \WPCI (Or (Local0, 0x0A), 0x04)
+ Store (0x00, ENCL)
+ }
+
+ Method (_STA, 0, NotSerialized)
+ {
+ Store (0x00, Local0)
+ If (LEqual (\_SB.PCI0.DOCK.GDID (), 0x4A004D24))
+ {
+ If (LNot (And (\_SB.PCI0.DOCK.SCAD, 0x02)))
+ {
+ Store (0x0F, Local0)
+ }
+ }
+
+ Return (Local0)
+ }
+
+ Device (PRIM)
+ {
+ Name (_ADR, 0x00)
+ Method (_GTM, 0, NotSerialized)
+ {
+ Store (0x12, Local4)
+ If (XCMT)
+ {
+ If (XDRR)
+ {
+ If (LEqual (XDRR, 0x0F))
+ {
+ Store (0x01, Local0)
+ }
+ Else
+ {
+ Add (0x01, XDRR, Local0)
+ }
+ }
+ Else
+ {
+ Store (0x10, Local0)
+ }
+
+ If (XDRW)
+ {
+ Store (XDRW, Local1)
+ }
+ Else
+ {
+ Store (0x10, Local1)
+ }
+
+ Add (Local0, Local1, Local0)
+ Multiply (0x1E, Local0, Local0)
+ If (LGreater (Local0, 0xF0))
+ {
+ Store (0x0384, Local0)
+ }
+
+ Store (Local0, Local1)
+ }
+ Else
+ {
+ Store (0x00, Local0)
+ }
+
+ Store (Local0, Local1)
+ If (XUDM)
+ {
+ Or (Local4, 0x01, Local4)
+ If (XUDC)
+ {
+ Add (XUDT, 0x01, Local1)
+ Multiply (0x0F, Local1, Local1)
+ }
+ Else
+ {
+ Add (XUDT, 0x01, Local1)
+ Multiply (0x1E, Local1, Local1)
+ If (LEqual (Local1, 0x5A))
+ {
+ Store (0x50, Local1)
+ }
+ }
+ }
+
+ Store (Local0, \GTP0)
+ Store (Local1, \GTD0)
+ Store (0x00, \GTP1)
+ Store (0x00, \GTD1)
+ Store (Local4, \GTMF)
+ Return (\BGTM)
+ }
+
+ Method (_STM, 3, NotSerialized)
+ {
+ CreateDWordField (Arg0, 0x00, STP0)
+ CreateDWordField (Arg0, 0x04, STD0)
+ CreateDWordField (Arg0, 0x08, STP1)
+ CreateDWordField (Arg0, 0x0C, STD1)
+ CreateDWordField (Arg0, 0x10, STMF)
+ If (SizeOf (Arg1))
+ {
+ CreateWordField (Arg1, 0x01, DM00)
+ If (DM00)
+ {
+ Store (One, Local5)
+ }
+ Else
+ {
+ Store (Zero, Local5)
+ }
+ }
+ Else
+ {
+ Store (Zero, Local5)
+ }
+
+ If (Local5)
+ {
+ If (W98F)
+ {
+ CreateWordField (Arg1, 0x66, DM51)
+ CreateWordField (Arg1, 0x6A, DM53)
+ CreateWordField (Arg1, 0x7C, DM62)
+ CreateWordField (Arg1, 0x7E, DM63)
+ CreateWordField (Arg1, 0x80, DM64)
+ CreateWordField (Arg1, 0x82, DM65)
+ CreateWordField (Arg1, 0x88, DM68)
+ CreateWordField (Arg1, 0xB0, DM88)
+ Store (\UDMA (DM53, DM88), Local0)
+ Store (\MDMA (DM53, DM63, DM62, DM65), Local1)
+ Store (\MPIO (DM53, DM64, DM51, DM68), Local2)
+ }
+ Else
+ {
+ Store (\MPIB (And (STMF, 0x02), STP0), Local2)
+ Store (\UDMB (And (STMF, 0x01), STD0), Local0)
+ Store (\MDMB (STD0), Local1)
+ }
+
+ Store (And (DM00, 0x80), \IDKS)
+ Store (\CART (Local2), XAR0)
+ Store (\CCMD (Local2), XCMT)
+ Store (\CDRW (Local1, Local2), Local3)
+ And (Local3, 0x0F, XDRR)
+ ShiftRight (Local3, 0x04, XDRW)
+ If (Local0)
+ {
+ Store (0x01, XUDM)
+ If (LNot (LGreater (Local0, 0x03)))
+ {
+ Store (0x00, XUDC)
+ }
+ Else
+ {
+ Store (0x01, XUDC)
+ }
+
+ Store (\CUDC (Local0), XUDT)
+ }
+
+ Store (\MHDM (Local0, Local1), \HDM3)
+ Store (\MHDM (Local0, Local1), \CDM3)
+ Store (\MHPI (Local2), \HPI3)
+ Store (\MHPI (Local2), \CPI3)
+ }
+ }
+
+ Device (MSTR)
+ {
+ Name (_ADR, 0x00)
+ Method (_GTF, 0, NotSerialized)
+ {
+ If (\IDKS)
+ {
+ Return (\ICC3)
+ }
+ Else
+ {
+ Return (\ICM3)
+ }
+ }
+ }
+ }
+ }
+
+ Device (CBS2)
+ {
+ Name (_ADR, 0x00020000)
+ Method (_STA, 0, NotSerialized)
+ {
+ If (LEqual (\_SB.PCI0.DOCK.GDID (), 0x4A004D24))
+ {
+ Return (0x0F)
+ }
+ Else
+ {
+ Return (0x00)
+ }
+ }
+
+ Method (DREG, 2, NotSerialized)
+ {
+ If (LAnd (LEqual (Arg0, 0x02), LEqual (Arg1, 0x01)))
+ {
+ If (LEqual (\_SB.PCI0.DOCK.GDID (), 0x4A004D24))
+ {
+ ICFG ()
+ }
+ }
+ }
+
+ OperationRegion (CBUS, PCI_Config, 0x00, 0x0100)
+ Field (CBUS, DWordAcc, NoLock, Preserve)
+ {
+ Offset (0x44),
+ LGDC, 32,
+ Offset (0x80),
+ SYSC, 32,
+ Offset (0x8C),
+ MULR, 32,
+ RSTS, 8,
+ CCTL, 8,
+ DCTL, 8,
+ DIAG, 8
+ }
+
+ Method (ICFG, 0, NotSerialized)
+ {
+ Store (RPCI (Or (0x80000019, ShiftRight (0x00040000, 0x05))), Local0)
+ Or (0x80000000, ShiftLeft (Local0, 0x10), Local0)
+ Or (Local0, ShiftRight (_ADR, 0x05), Local0)
+ Or (Local0, ShiftLeft (And (_ADR, 0x07), 0x08), Local0)
+ \WPCI (Or (Local0, 0x0C), 0x08)
+ \WPCI (Or (Local0, 0x0D), 0xA8)
+ \WPCI (Or (Local0, 0x1B), 0x80)
+ Or (And (LGDC, 0x00), 0x00, LGDC)
+ Or (And (SYSC, 0x00FFFF00), 0x2864C077, SYSC)
+ Or (And (MULR, 0x00), 0x1002, MULR)
+ Or (And (RSTS, 0x00), 0xC0, RSTS)
+ Or (And (CCTL, 0x7B), 0x02, CCTL)
+ Or (And (DCTL, 0x00), 0x66, DCTL)
+ Or (And (DIAG, 0x1E), 0x40, DIAG)
+ }
+ }
+
+ Device (CBS3)
+ {
+ Name (_ADR, 0x00020001)
+ Method (_STA, 0, NotSerialized)
+ {
+ If (LEqual (\_SB.PCI0.DOCK.GDID (), 0x4A004D24))
+ {
+ Return (0x0F)
+ }
+ Else
+ {
+ Return (0x00)
+ }
+ }
+
+ Method (DREG, 2, NotSerialized)
+ {
+ If (LAnd (LEqual (Arg0, 0x02), LEqual (Arg1, 0x01)))
+ {
+ If (LEqual (\_SB.PCI0.DOCK.GDID (), 0x4A004D24))
+ {
+ ICFG ()
+ }
+ }
+ }
+
+ OperationRegion (CBUS, PCI_Config, 0x00, 0x0100)
+ Field (CBUS, DWordAcc, NoLock, Preserve)
+ {
+ Offset (0x44),
+ LGDC, 32,
+ Offset (0x80),
+ SYSC, 32,
+ Offset (0x8C),
+ MULR, 32,
+ RSTS, 8,
+ CCTL, 8,
+ DCTL, 8,
+ DIAG, 8
+ }
+
+ Method (ICFG, 0, NotSerialized)
+ {
+ Store (RPCI (Or (0x80000019, ShiftRight (0x00040000, 0x05))), Local0)
+ Or (0x80000000, ShiftLeft (Local0, 0x10), Local0)
+ Or (Local0, ShiftRight (_ADR, 0x05), Local0)
+ Or (Local0, ShiftLeft (And (_ADR, 0x07), 0x08), Local0)
+ \WPCI (Or (Local0, 0x0C), 0x08)
+ \WPCI (Or (Local0, 0x0D), 0xA8)
+ \WPCI (Or (Local0, 0x1B), 0x80)
+ Or (And (LGDC, 0x00), 0x00, LGDC)
+ Or (And (SYSC, 0x00FFFF00), 0x2864C077, SYSC)
+ Or (And (MULR, 0x00), 0x1002, MULR)
+ Or (And (RSTS, 0x00), 0xC0, RSTS)
+ Or (And (CCTL, 0x7B), 0x02, CCTL)
+ Or (And (DCTL, 0x00), 0x66, DCTL)
+ Or (And (DIAG, 0x1E), 0x40, DIAG)
+ }
+ }
+ }
+ }
+
+ Scope (\_SB.PCI0.ISA.EC)
+ {
+ Name (BDEV, 0x00)
+ Name (BSTS, 0x00)
+ Name (BHKE, 0x00)
+ Name (BXCN, 0x00)
+ Method (_Q2C, 0, NotSerialized)
+ {
+ If (LEqual (BSTS, 0x00))
+ {
+ Store (GUID (), BDEV)
+ If (BXCN)
+ {
+ NXRE (BDEV)
+ }
+ Else
+ {
+ NBRE (BDEV)
+ }
+ }
+ }
+
+ Method (_Q2D, 0, NotSerialized)
+ {
+ Store (GUID (), BDEV)
+ If (BXCN)
+ {
+ NXRC (BDEV)
+ }
+ Else
+ {
+ NBIN (BDEV)
+ }
+ }
+
+ Method (_Q38, 0, NotSerialized)
+ {
+ Store (GUID (), Local0)
+ If (LAnd (BDEV, LNot (LEqual (Local0, BDEV))))
+ {
+ If (LEqual (Local0, 0x0F))
+ {
+ BDIS ()
+ If (BXCN)
+ {
+ Store (BDEV, Local0)
+ Store (0x0F, BDEV)
+ NXEJ (Local0)
+ }
+ Else
+ {
+ NBEJ (BDEV)
+ Store (Local0, BDEV)
+ }
+ }
+ Else
+ {
+ If (HPBU)
+ {
+ If (BXCN)
+ {
+ Store (Local0, BDEV)
+ NXIN (Local0)
+ }
+ }
+ Else
+ {
+ Store (Local0, BDEV)
+ If (BXCN)
+ {
+ NXRC (Local0)
+ }
+ Else
+ {
+ NBIN (Local0)
+ }
+ }
+ }
+ }
+ }
+
+ Method (NBRE, 1, NotSerialized)
+ {
+ If (LEqual (Arg0, 0x0D))
+ {
+ Notify (\_SB.PCI0.ISA.FDC.FDD0, 0x03)
+ }
+
+ If (LLess (Arg0, 0x0C))
+ {
+ Notify (\_SB.PCI0.IDE0.SCND.MSTR, 0x03)
+ }
+
+ If (LEqual (Arg0, 0x10))
+ {
+ If (LOr (HPAC, HB0A))
+ {
+ If (\WNTF)
+ {
+ Notify (\_SB.PCI0.ISA.EC.BAT1, 0x03)
+ }
+ }
+ Else
+ {
+ BLED (0x02, 0x01)
+ BEEP (0x0F)
+ Store (0x02, BSTS)
+ }
+ }
+ }
+
+ Method (NBEJ, 1, NotSerialized)
+ {
+ If (LEqual (BSTS, 0x00))
+ {
+ If (LEqual (Arg0, 0x0D))
+ {
+ Notify (\_SB.PCI0.ISA.FDC.FDD0, 0x01)
+ }
+
+ If (LLess (Arg0, 0x0C))
+ {
+ Notify (\_SB.PCI0.IDE0.SCND.MSTR, 0x01)
+ }
+
+ If (LEqual (Arg0, 0x10))
+ {
+ If (\WNTF)
+ {
+ Notify (\_SB.PCI0.ISA.EC.BAT1, 0x01)
+ }
+ Else
+ {
+ Notify (\_SB.PCI0.ISA.EC.BAT1, 0x81)
+ }
+ }
+ }
+
+ BLED (0x00, 0x00)
+ BEEP (0x00)
+ Store (0x00, BSTS)
+ }
+
+ Method (NBIN, 1, NotSerialized)
+ {
+ If (LEqual (Arg0, 0x0D))
+ {
+ BEN (0x00)
+ \SFDD (0x00)
+ BLED (0x02, 0x00)
+ Notify (\_SB.PCI0.ISA.FDC.FDD0, 0x01)
+ }
+
+ If (LLess (Arg0, 0x0C))
+ {
+ If (LEqual (Arg0, 0x06))
+ {
+ BEN (0x02)
+ }
+ Else
+ {
+ BEN (0x01)
+ }
+
+ BLED (0x02, 0x00)
+ Notify (\_SB.PCI0.IDE0.SCND.MSTR, 0x01)
+ }
+
+ If (LEqual (Arg0, 0x10))
+ {
+ BLED (0x02, 0x00)
+ If (\WNTF)
+ {
+ Store (0x01, \_SB.PCI0.ISA.EC.BAT1.XB1S)
+ Notify (\_SB.PCI0.ISA.EC.BAT1, 0x01)
+ }
+ Else
+ {
+ Notify (\_SB.PCI0.ISA.EC.BAT1, 0x81)
+ }
+ }
+
+ BEEP (0x00)
+ Store (0x00, BSTS)
+ }
+
+ Method (BEJ0, 1, NotSerialized)
+ {
+ If (Arg0)
+ {
+ BDIS ()
+ BLED (0x00, 0x00)
+ \BHDP (0x00)
+ Store (0x01, BSTS)
+ If (BHKE)
+ {
+ Store (0x00, BHKE)
+ \_SB.PCI0.ISA.EC.HKEY.MHKQ (0x3003)
+ }
+ }
+ Else
+ {
+ BLED (0x02, 0x00)
+ Store (0x00, BSTS)
+ }
+ }
+
+ Method (BEJ3, 1, NotSerialized)
+ {
+ If (Arg0)
+ {
+ Store (0x83, BF_Z)
+ Store (0x83, BF_D)
+ Store (0x83, BZIP)
+ Store (0x83, BDVD)
+ Store (0x83, BHFD)
+ Store (0x83, BF_H)
+ Store (0x83, BHDD)
+ Store (0x83, BLS)
+ Store (0x83, BF_C)
+ Store (0x83, BCRW)
+ Store (0x83, BCD)
+ Store (0x83, BFDD)
+ BDIS ()
+ Store (0x01, BSTS)
+ }
+ Else
+ {
+ Store (0x81, BF_Z)
+ Store (0x81, BF_D)
+ Store (0x81, BZIP)
+ Store (0x81, BDVD)
+ Store (0x81, BHFD)
+ Store (0x81, BF_H)
+ Store (0x81, BHDD)
+ Store (0x81, BLS)
+ Store (0x81, BF_C)
+ Store (0x81, BCRW)
+ Store (0x81, BCD)
+ Store (0x81, BFDD)
+ Store (0x00, BSTS)
+ }
+ }
+
+ Method (BPTS, 1, NotSerialized)
+ {
+ If (LOr (LEqual (Arg0, 0x00), LNot (LLess (Arg0, 0x05)))) {}
+ Else
+ {
+ If (LNot (LEqual (BSTS, 0x00)))
+ {
+ Store (0x0F, BDEV)
+ Store (0x00, BSTS)
+ }
+
+ Store (0x00, BHKE)
+ If (LNot (LEqual (BDEV, 0x0F)))
+ {
+ BLDT (0x00)
+ BUWK (0x01)
+ }
+ Else
+ {
+ BLDT (0x01)
+ BUWK (0x00)
+ }
+ }
+ }
+
+ Method (BWAK, 1, NotSerialized)
+ {
+ If (LOr (LEqual (Arg0, 0x00), LNot (LLess (Arg0, 0x05)))) {}
+ Else
+ {
+ BUWK (0x00)
+ Store (GUID (), Local0)
+ If (LGreater (Local0, 0x0E))
+ {
+ BDIS ()
+ }
+
+ \_SB.PCI0.ISA.FDC._INI ()
+ If (LNot (LEqual (Local0, 0x0D)))
+ {
+ If (LEqual (\_SB.PCI0.ISA.FDC.FD0S, \_SB.PCI0.ISA.EC.HPNF))
+ {
+ Notify (\_SB.PCI0.ISA.FDC.FDD0, 0x01)
+ }
+ }
+
+ If (LEqual (BSTS, 0x00))
+ {
+ If (LNot (LEqual (Local0, BDEV)))
+ {
+ If (BXCN)
+ {
+ Store (Local0, BDEV)
+ NXRC (Local0)
+ }
+ Else
+ {
+ NBEJ (BDEV)
+ Store (Local0, BDEV)
+ NBIN (Local0)
+ }
+ }
+ Else
+ {
+ If (LNot (LEqual (Local0, 0x0F)))
+ {
+ BLED (0x02, 0x00)
+ If (HPBU)
+ {
+ Or (ShiftLeft (Arg0, 0x08), 0x2005, BHKE)
+ \_SB.PCI0.ISA.EC.HKEY.MHKQ (BHKE)
+ If (LNot (LGreater (Arg0, 0x02))) {}
+ Else
+ {
+ If (BXCN)
+ {
+ NXRE (Local0)
+ }
+ Else
+ {
+ NBRE (Local0)
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+
+ Method (BDIS, 0, NotSerialized)
+ {
+ \SFDD (0x01)
+ Store (0x00, \_SB.PCI0.IDE0.XSI0)
+ Store (0x01, \_SB.PCI0.ISA.GCRC)
+ Store (0x01, \_SB.PCI0.PM00.ULON)
+ Store (0x01, \_SB.PCI0.PM00.CSON)
+ }
+
+ Method (BEN, 1, NotSerialized)
+ {
+ If (LNot (LOr (\_SB.PCI0.PM00.ULON, \_SB.PCI0.PM00.CSON)))
+ {
+ Return (0x00)
+ }
+
+ If (Arg0)
+ {
+ Store (0x00, \_SB.PCI0.IDE0.XSE)
+ Stall (0x05)
+ }
+
+ Store (0x00, \_SB.PCI0.PM00.URST)
+ Store (0x00, \_SB.PCI0.PM00.ULON)
+ Store (0x00, \_SB.PCI0.PM00.CSON)
+ Sleep (0x0F)
+ If (Arg0)
+ {
+ Store (0x00, \_SB.PCI0.ISA.GCRC)
+ Store (0x01, \_SB.PCI0.IDE0.XSE)
+ Stall (0x2D)
+ }
+
+ Store (0x01, \_SB.PCI0.PM00.URST)
+ Sleep (0x14)
+ If (Arg0)
+ {
+ Sleep (0x0190)
+ If (LEqual (Arg0, 0x02))
+ {
+ Sleep (0x07D0)
+ }
+ }
+ }
+
+ Method (BSTA, 1, NotSerialized)
+ {
+ If (\_SB.PCI0.PM00.CSON)
+ {
+ Return (0x00)
+ }
+
+ Store (GUID (), Local0)
+ If (LEqual (Arg0, 0x00))
+ {
+ Return (LEqual (Local0, 0x0D))
+ }
+
+ If (LEqual (Arg0, 0x01))
+ {
+ Return (LLess (Local0, 0x0D))
+ }
+
+ Return (0x00)
+ }
+
+ Method (BLED, 2, NotSerialized)
+ {
+ If (\H8DR)
+ {
+ Acquire (LEDM, 0xFFFF)
+ Store (0x18, HLMS)
+ If (Arg1)
+ {
+ Store (0x18, HLBL)
+ }
+ Else
+ {
+ Store (0x00, HLBL)
+ }
+
+ If (LEqual (Arg0, 0x00))
+ {
+ Store (0x00, HLCL)
+ }
+ Else
+ {
+ If (LEqual (Arg0, 0x01))
+ {
+ Store (0x08, HLCL)
+ }
+ Else
+ {
+ If (LEqual (Arg0, 0x02))
+ {
+ Store (0x10, HLCL)
+ }
+ Else
+ {
+ }
+ }
+ }
+
+ Sleep (0x0A)
+ Release (LEDM)
+ }
+ }
+
+ Name (BF_Z, 0x83)
+ Name (BF_D, 0x83)
+ Name (BZIP, 0x83)
+ Name (BDVD, 0x83)
+ Name (BHFD, 0x83)
+ Name (BF_H, 0x83)
+ Name (BHDD, 0x83)
+ Name (BADP, 0x00)
+ Name (BLS, 0x83)
+ Name (BF_C, 0x83)
+ Name (BCRW, 0x83)
+ Name (BCD, 0x83)
+ Name (BR01, 0x00)
+ Name (BFDD, 0x83)
+ Name (BIMP, 0x00)
+ Name (BNON, 0x83)
+ Method (BLDT, 1, NotSerialized)
+ {
+ AI2C ()
+ If (Arg0)
+ {
+ Store (BF_Z, HF_Z)
+ Store (BF_D, HF_D)
+ Store (BZIP, HZIP)
+ Store (BDVD, HDVD)
+ Store (BHFD, HHFD)
+ Store (BF_H, HF_H)
+ Store (BHDD, HHDD)
+ Store (BADP, HADP)
+ Store (BLS, HLS)
+ Store (BF_C, HF_C)
+ Store (BCRW, HCRW)
+ Store (BCD, HCD)
+ Store (BR01, HR01)
+ Store (BFDD, HFDD)
+ Store (BIMP, HIMP)
+ Store (BNON, HNON)
+ }
+ Else
+ {
+ Store (0x81, HF_Z)
+ Store (0x81, HF_D)
+ Store (0x81, HZIP)
+ Store (0x81, HDVD)
+ Store (0x81, HHFD)
+ Store (0x81, HF_H)
+ Store (0x81, HHDD)
+ Store (0x00, HADP)
+ Store (0x81, HLS)
+ Store (0x81, HF_C)
+ Store (0x81, HCRW)
+ Store (0x81, HCD)
+ Store (0x00, HR01)
+ Store (0x81, HFDD)
+ Store (0x00, HIMP)
+ Store (0x81, HNON)
+ }
+
+ Store (I2WB (Zero, 0x01, 0x09, 0x10), Local7)
+ RI2C ()
+ If (Local7)
+ {
+ Fatal (0x01, 0x80000003, Local7)
+ }
+ }
+
+ Method (BUWK, 1, NotSerialized)
+ {
+ If (\H8DR)
+ {
+ If (Arg0)
+ {
+ Store (0x01, \_SB.PCI0.ISA.EC.HWBU)
+ }
+ Else
+ {
+ Store (0x00, \_SB.PCI0.ISA.EC.HWBU)
+ }
+ }
+ Else
+ {
+ If (Arg0)
+ {
+ \MBEC (0x32, 0xFF, 0x80)
+ }
+ Else
+ {
+ \MBEC (0x32, 0x7F, 0x00)
+ }
+ }
+ }
+
+ Method (NXRE, 1, NotSerialized)
+ {
+ If (LEqual (Arg0, 0x0F))
+ {
+ BLED (0x00, 0x00)
+ Store (0x00, BSTS)
+ }
+
+ If (LEqual (Arg0, 0x0D))
+ {
+ BLED (0x02, 0x01)
+ Notify (\_SB.SWAP, 0x83)
+ }
+
+ If (LLess (Arg0, 0x0C))
+ {
+ BLED (0x02, 0x01)
+ Notify (\_SB.SWAP, 0x83)
+ }
+
+ If (LEqual (Arg0, 0x10))
+ {
+ If (LOr (HPAC, HB0A))
+ {
+ BLED (0x02, 0x01)
+ Notify (\_SB.SWAP, 0x83)
+ }
+ Else
+ {
+ BLED (0x02, 0x01)
+ BEEP (0x0F)
+ Store (0x02, BSTS)
+ }
+ }
+ }
+
+ Method (NXRC, 1, NotSerialized)
+ {
+ If (LEqual (Arg0, 0x0D))
+ {
+ BLED (0x02, 0x00)
+ BEN (0x00)
+ \SFDD (0x00)
+ Notify (\_SB.SWAP, 0x80)
+ }
+
+ If (LLess (Arg0, 0x0C))
+ {
+ BLED (0x02, 0x00)
+ If (LEqual (Arg0, 0x06))
+ {
+ BEN (0x02)
+ }
+ Else
+ {
+ BEN (0x01)
+ }
+
+ Notify (\_SB.SWAP, 0x80)
+ }
+
+ If (LEqual (Arg0, 0x10))
+ {
+ Notify (\_SB.PCI0.ISA.EC.BAT1, 0x81)
+ BLED (0x02, 0x00)
+ Notify (\_SB.SWAP, 0x80)
+ }
+
+ BEEP (0x00)
+ Store (0x00, BSTS)
+ }
+
+ Method (NXEJ, 1, NotSerialized)
+ {
+ If (LEqual (Arg0, 0x10))
+ {
+ Notify (\_SB.PCI0.ISA.EC.BAT1, 0x81)
+ }
+
+ Notify (\_SB.SWAP, 0x82)
+ BLED (0x00, 0x00)
+ BEEP (0x00)
+ Store (0x00, BSTS)
+ }
+
+ Method (NXIN, 1, NotSerialized)
+ {
+ Notify (\_SB.SWAP, 0x81)
+ }
+ }
+
+ Scope (\_SB)
+ {
+ Device (SWAP)
+ {
+ Name (_HID, EisaId ("IBM0069"))
+ Method (_STA, 0, NotSerialized)
+ {
+ If (\WMEF)
+ {
+ Return (0x0F)
+ }
+ Else
+ {
+ Return (0x00)
+ }
+ }
+
+ Method (XCNN, 1, NotSerialized)
+ {
+ Store (Arg0, \_SB.PCI0.ISA.EC.BXCN)
+ Return (0x09)
+ }
+
+ Method (XSWP, 0, NotSerialized)
+ {
+ Return (0x01)
+ }
+
+ Method (XEJ0, 1, NotSerialized)
+ {
+ Store (0x00, \_SB.PCI0.ISA.EC.BAT1.B1ST)
+ \_SB.PCI0.ISA.EC.BEJ0 (Arg0)
+ }
+
+ Method (XEJ3, 1, NotSerialized)
+ {
+ Store (0x00, \_SB.PCI0.ISA.EC.BAT1.B1ST)
+ \_SB.PCI0.ISA.EC.BEJ3 (Arg0)
+ }
+
+ Method (XDID, 0, NotSerialized)
+ {
+ Name (XPCK, Package (0x06)
+ {
+ 0x00,
+ 0x00,
+ 0xFFFFFFFF,
+ 0xFFFFFFFF,
+ 0xFFFFFFFF,
+ 0x00
+ })
+ Store (\_SB.PCI0.ISA.EC.BDEV, Local0)
+ Store (Local0, Index (XPCK, 0x00))
+ If (LLess (Local0, 0x0C))
+ {
+ Store (\_SB.PCI0.IDE0._ADR, Index (XPCK, 0x02))
+ Store (\_SB.PCI0.IDE0.SCND._ADR, Index (XPCK, 0x03))
+ Store (\_SB.PCI0.IDE0.SCND.MSTR._ADR, Index (XPCK, 0x04))
+ }
+
+ If (LEqual (Local0, 0x0D))
+ {
+ Store (\_SB.PCI0.ISA.FDC._HID, Index (XPCK, 0x02))
+ Store (\_SB.PCI0.ISA.FDC.FDD0._ADR, Index (XPCK, 0x04))
+ }
+
+ If (LEqual (Local0, 0x10))
+ {
+ Store (\_SB.PCI0.ISA.EC.BAT1._HID, Index (XPCK, 0x02))
+ Store (\_SB.PCI0.ISA.EC.BAT1._UID, Index (XPCK, 0x04))
+ }
+
+ Store (XOr (\_SB.PCI0.PM00.CSON, 0x01), Index (XPCK, 0x05))
+ Return (XPCK)
+ }
+
+ Method (XSTM, 1, NotSerialized)
+ {
+ Name (XDMY, Buffer (0x14) {})
+ \_SB.PCI0.IDE0.SCND._STM (XDMY, Arg0, 0x00)
+ }
+
+ Method (XGTF, 0, NotSerialized)
+ {
+ Return (\_SB.PCI0.IDE0.SCND.MSTR._GTF ())
+ }
+ }
+ }
+
+ Scope (\_SB.PCI0.IDE0.SCND.MSTR)
+ {
+ Method (_EJ0, 1, NotSerialized)
+ {
+ \_SB.PCI0.ISA.EC.BEJ0 (Arg0)
+ }
+
+ Method (_STA, 0, NotSerialized)
+ {
+ If (\_SB.PCI0.ISA.EC.BSTA (0x01))
+ {
+ Return (0x0F)
+ }
+ Else
+ {
+ Return (0x00)
+ }
+ }
+ }
+
+ Scope (\_SB.PCI0.ISA.FDC)
+ {
+ Method (_INI, 0, NotSerialized)
+ {
+ Store (0x00, \_SB.PCI0.ISA.FDC.XFDS)
+ If (\H8DR)
+ {
+ Or (\_SB.PCI0.ISA.EC.HAMA, 0x0C, \_SB.PCI0.ISA.EC.HAMA)
+ }
+ Else
+ {
+ \MBEC (0x1A, 0xFF, 0x0C)
+ }
+ }
+
+ Name (FDEB, Buffer (0x14)
+ {
+ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x02, 0x00, 0x00, 0x00
+ })
+ CreateByteField (FDEB, 0x00, FD0S)
+ Name (XFDS, 0x00)
+ Name (DCFD, 0x00)
+ Method (_FDE, 0, NotSerialized)
+ {
+ If (LOr (\_SB.PCI0.ISA.EC.BSTA (0x00), DCFD))
+ {
+ Store (0x01, FD0S)
+ }
+ Else
+ {
+ If (LOr (\_SB.PCI0.ISA.EC.HPNF, XFDS))
+ {
+ Store (0x00, FD0S)
+ }
+ Else
+ {
+ Store (0x01, FD0S)
+ }
+ }
+
+ Return (FDEB)
+ }
+
+ Device (FDD0)
+ {
+ Name (_ADR, 0x00)
+ Name (_EJD, "_SB.PCI0.DOCK")
+ Method (_EJ0, 1, NotSerialized)
+ {
+ If (\_SB.PCI0.ISA.EC.BSTA (0x00))
+ {
+ \_SB.PCI0.ISA.EC.BEJ0 (Arg0)
+ }
+ Else
+ {
+ If (DCFD) {}
+ Else
+ {
+ Store (0x01, XFDS)
+ }
+ }
+ }
+
+ Name (_FDI, Package (0x10)
+ {
+ 0x00,
+ 0x04,
+ 0x4F,
+ 0x12,
+ 0x01,
+ 0xDF,
+ 0x02,
+ 0x25,
+ 0x02,
+ 0x12,
+ 0x1B,
+ 0xFF,
+ 0x6C,
+ 0xF6,
+ 0x0F,
+ 0x05
+ })
+ }
+ }
+
+ Scope (\_SB.PCI0.ISA.EC)
+ {
+ Method (_Q52, 0, NotSerialized)
+ {
+ If (\_SB.PCI0.ISA.FDC.XFDS)
+ {
+ Store (0x00, \_SB.PCI0.ISA.FDC.XFDS)
+ }
+ Else
+ {
+ If (LOr (\_SB.PCI0.ISA.EC.BSTA (0x00), \_SB.PCI0.ISA.FDC.DCFD)) {}
+ Else
+ {
+ Notify (\_SB.PCI0.ISA.FDC.FDD0, 0x01)
+ }
+ }
+ }
+
+ Method (_Q53, 0, NotSerialized)
+ {
+ Store (0x00, \_SB.PCI0.ISA.FDC.XFDS)
+ If (LOr (\_SB.PCI0.ISA.EC.BSTA (0x00), \_SB.PCI0.ISA.FDC.DCFD)) {}
+ Else
+ {
+ Notify (\_SB.PCI0.ISA.FDC.FDD0, 0x01)
+ }
+ }
+ }
+
+ Scope (\_SB.PCI0.ISA.EC.BAT1)
+ {
+ Method (_EJ0, 1, NotSerialized)
+ {
+ Store (0x00, B1ST)
+ Store (0x00, XB1S)
+ \_SB.PCI0.ISA.EC.BEJ0 (Arg0)
+ }
+ }
+
+ Scope (\_SB.PCI0.ISA.EC)
+ {
+ Method (_Q1C, 0, NotSerialized)
+ {
+ \VOLD ()
+ }
+
+ Method (_Q1D, 0, NotSerialized)
+ {
+ \VOLU ()
+ }
+
+ Method (_Q1E, 0, NotSerialized)
+ {
+ \VOLM ()
+ }
+ }
+
+ Scope (\_SB.PCI0.ISA.EC)
+ {
+ Method (_Q14, 0, NotSerialized)
+ {
+ \BRIU ()
+ }
+
+ Method (_Q15, 0, NotSerialized)
+ {
+ \BRID ()
+ }
+ }
+
+ Scope (\_SB.PCI0.ISA.EC)
+ {
+ Method (_Q19, 0, NotSerialized)
+ {
+ \TPKY ()
+ }
+ }
+
+ Scope (\_SB.PCI0.ISA.EC.HKEY)
+ {
+ Name (BTID, 0x00)
+ Name (BTFG, 0x00)
+ Method (GULP, 0, NotSerialized)
+ {
+ Store (0x00, Local0)
+ If (LEqual (BTID, 0x01))
+ {
+ Or (Local0, 0x01, Local0)
+ }
+
+ If (PWRS ())
+ {
+ Or (Local0, 0x02, Local0)
+ }
+
+ If (And (BTFG, 0x01))
+ {
+ Or (Local0, 0x04, Local0)
+ }
+
+ Return (Local0)
+ }
+
+ Method (SULP, 1, NotSerialized)
+ {
+ If (And (Arg0, 0x02))
+ {
+ PWRC (0x01)
+ }
+ Else
+ {
+ PWRC (0x00)
+ }
+
+ If (And (Arg0, 0x04))
+ {
+ Or (BTFG, 0x01, BTFG)
+ \GBTH (0x02)
+ }
+ Else
+ {
+ And (BTFG, Not (0x01), BTFG)
+ \GBTH (0x03)
+ }
+
+ Return (GULP ())
+ }
+
+ Method (BTIN, 0, NotSerialized)
+ {
+ Store (\GBTH (0x00), BTID)
+ If (\GBTH (0x01))
+ {
+ Or (BTFG, 0x01, BTFG)
+ }
+
+ ATCH (0x01)
+ PBTN (0x01)
+ MODE (0x01)
+ }
+
+ Method (BTPS, 1, NotSerialized)
+ {
+ PBTN (0x00)
+ If (LEqual (BTID, 0x01))
+ {
+ If (LNot (And (BTFG, 0x01)))
+ {
+ PWRC (0x00)
+ }
+ }
+
+ If (PWRS ())
+ {
+ Or (BTFG, 0x02, BTFG)
+ }
+ Else
+ {
+ And (BTFG, Not (0x02), BTFG)
+ }
+ }
+
+ Method (BTWK, 1, NotSerialized)
+ {
+ PBTN (0x01)
+ If (And (BTFG, 0x02))
+ {
+ PWRC (0x01)
+ }
+ }
+
+ Method (PWRC, 1, NotSerialized)
+ {
+ If (Arg0)
+ {
+ If (\H8DR)
+ {
+ Store (One, \_SB.PCI0.ISA.EC.BTPW)
+ }
+ Else
+ {
+ \MBEC (0x3B, 0xFF, 0x04)
+ }
+ }
+ Else
+ {
+ If (\H8DR)
+ {
+ Store (Zero, \_SB.PCI0.ISA.EC.BTPW)
+ }
+ Else
+ {
+ \MBEC (0x3B, 0xFB, 0x00)
+ }
+ }
+ }
+
+ Method (ATCH, 1, NotSerialized)
+ {
+ If (Arg0)
+ {
+ If (\H8DR)
+ {
+ Store (Zero, \_SB.PCI0.ISA.EC.BTDT)
+ }
+ Else
+ {
+ \MBEC (0x3B, 0xF7, 0x00)
+ }
+ }
+ Else
+ {
+ If (\H8DR)
+ {
+ Store (One, \_SB.PCI0.ISA.EC.BTDT)
+ }
+ Else
+ {
+ \MBEC (0x3B, 0xFF, 0x08)
+ }
+ }
+ }
+
+ Method (MODE, 1, NotSerialized)
+ {
+ If (Arg0)
+ {
+ If (\H8DR)
+ {
+ Store (One, \_SB.PCI0.ISA.EC.BTCM)
+ }
+ Else
+ {
+ \MBEC (0x01, 0xFF, 0x02)
+ }
+ }
+ Else
+ {
+ If (\H8DR)
+ {
+ Store (Zero, \_SB.PCI0.ISA.EC.BTCM)
+ }
+ Else
+ {
+ \MBEC (0x01, 0xFD, 0x00)
+ }
+ }
+ }
+
+ Method (PBTN, 1, NotSerialized)
+ {
+ If (Arg0)
+ {
+ If (\H8DR)
+ {
+ Store (One, \_SB.PCI0.ISA.EC.BTPC)
+ }
+ Else
+ {
+ \MBEC (0x01, 0xFF, 0x40)
+ }
+ }
+ Else
+ {
+ If (\H8DR)
+ {
+ Store (Zero, \_SB.PCI0.ISA.EC.BTPC)
+ }
+ Else
+ {
+ \MBEC (0x01, 0xBF, 0x00)
+ }
+ }
+ }
+
+ Method (PWRS, 0, NotSerialized)
+ {
+ If (\H8DR)
+ {
+ Store (\_SB.PCI0.ISA.EC.BTPW, Local0)
+ }
+ Else
+ {
+ Store (ShiftRight (And (\RBEC (0x3B), 0x04), 0x02), Local0)
+ }
+
+ Return (Local0)
+ }
+
+ Method (ATCS, 0, NotSerialized)
+ {
+ If (\H8DR)
+ {
+ Store (\_SB.PCI0.ISA.EC.BTDT, Local0)
+ }
+ Else
+ {
+ Store (ShiftRight (And (\RBEC (0x3B), 0x08), 0x03), Local0)
+ }
+
+ XOr (Local0, 0x01, Local0)
+ Return (Local0)
+ }
+
+ Method (WAKS, 0, NotSerialized)
+ {
+ If (\H8DR)
+ {
+ Store (\_SB.PCI0.ISA.EC.BTWK, Local0)
+ }
+ Else
+ {
+ Store (ShiftRight (And (\RBEC (0x36), 0x02), 0x01), Local0)
+ }
+
+ Return (Local0)
+ }
+
+ Method (BTAT, 2, NotSerialized)
+ {
+ Store (0x00, Local0)
+ If (LEqual (Arg0, 0x00))
+ {
+ If (LEqual (Arg1, 0x01))
+ {
+ If (\H8DR)
+ {
+ Or (\_SB.PCI0.ISA.EC.HAMA, 0x10, \_SB.PCI0.ISA.EC.HAMA)
+ }
+ Else
+ {
+ \MBEC (0x1A, 0xFF, 0x10)
+ }
+ }
+
+ If (LEqual (Arg1, 0x00))
+ {
+ If (\H8DR)
+ {
+ And (\_SB.PCI0.ISA.EC.HAMA, 0xEF, \_SB.PCI0.ISA.EC.HAMA)
+ }
+ Else
+ {
+ \MBEC (0x1A, 0xEF, 0x00)
+ }
+ }
+
+ If (LEqual (Arg1, 0x02))
+ {
+ If (\H8DR)
+ {
+ If (And (\_SB.PCI0.ISA.EC.HAMA, 0x10))
+ {
+ Store (0x01, Local0)
+ }
+ }
+ Else
+ {
+ If (And (\RBEC (0x1A), 0x10))
+ {
+ Store (0x01, Local0)
+ }
+ }
+ }
+ }
+
+ If (LEqual (Arg0, 0x01))
+ {
+ If (LEqual (Arg1, 0x01))
+ {
+ If (\H8DR)
+ {
+ Or (\_SB.PCI0.ISA.EC.HAMA, 0x20, \_SB.PCI0.ISA.EC.HAMA)
+ }
+ Else
+ {
+ \MBEC (0x1A, 0xFF, 0x20)
+ }
+ }
+
+ If (LEqual (Arg1, 0x00))
+ {
+ If (\H8DR)
+ {
+ And (\_SB.PCI0.ISA.EC.HAMA, 0xDF, \_SB.PCI0.ISA.EC.HAMA)
+ }
+ Else
+ {
+ \MBEC (0x1A, 0xDF, 0x00)
+ }
+ }
+
+ If (LEqual (Arg1, 0x02))
+ {
+ If (\H8DR)
+ {
+ If (And (\_SB.PCI0.ISA.EC.HAMA, 0x20))
+ {
+ Store (0x01, Local0)
+ }
+ }
+ Else
+ {
+ If (And (\RBEC (0x1A), 0x20))
+ {
+ Store (0x01, Local0)
+ }
+ }
+ }
+ }
+
+ Return (Local0)
+ }
+ }
+ }
+
+ Name (\_S0, Package (0x04)
+ {
+ 0x05,
+ 0x05,
+ 0x00,
+ 0x00
+ })
+ Name (\_S1, Package (0x04)
+ {
+ 0x04,
+ 0x04,
+ 0x00,
+ 0x00
+ })
+ Name (\_S3, Package (0x04)
+ {
+ 0x01,
+ 0x01,
+ 0x00,
+ 0x00
+ })
+ Name (\_S4, Package (0x04)
+ {
+ 0x07,
+ 0x07,
+ 0x00,
+ 0x00
+ })
+ Name (\_S5, Package (0x04)
+ {
+ 0x07,
+ 0x07,
+ 0x00,
+ 0x00
+ })
+ Method (\_PTS, 1, NotSerialized)
+ {
+ If (LEqual (Arg0, \SPS))
+ {
+ Store (0x00, Local0)
+ }
+ Else
+ {
+ If (LOr (LEqual (Arg0, 0x00), LNot (LLess (Arg0, 0x06))))
+ {
+ Store (0x00, Local0)
+ }
+ Else
+ {
+ Store (0x01, Local0)
+ }
+ }
+
+ If (Local0)
+ {
+ Store (Arg0, \SPS)
+ \_SB.PCI0.ISA.EC.HKEY.MHKE (0x00)
+ \_SB.PCI0.ISA.EC.EVNT (0x00)
+ If (\_SB.PCI0.ISA.EC.KBLT)
+ {
+ \LGHT (0x00)
+ }
+
+ If (LEqual (Arg0, 0x01))
+ {
+ Store (0x01, \_SB.PCI0.PM00.BLEN)
+ Store (0x00, \_SB.PCI0.ISA.EC.HCAC)
+ Or (\_SB.PCI0.ISA.ACI, 0x01, \_SB.PCI0.ISA.ACI)
+ Store (\_SB.PCI0.ISA.EC.HFNI, \FNID)
+ Store (0x00, \_SB.PCI0.ISA.EC.HFNI)
+ }
+
+ If (LEqual (Arg0, 0x02))
+ {
+ Store (One, \_SB.PCI0.PM00.BLEN)
+ Store (One, \_SB.PCI0.CREN)
+ }
+
+ If (LEqual (Arg0, 0x03))
+ {
+ \VVPD ()
+ Store (One, \_SB.PCI0.PM00.BLEN)
+ }
+
+ If (LEqual (Arg0, 0x04))
+ {
+ \WOLP ()
+ \TRAP (0x04, 0x01)
+ }
+
+ If (LEqual (Arg0, 0x05))
+ {
+ \TRAP (0x05, 0x01)
+ }
+
+ If (LNot (LEqual (Arg0, 0x05)))
+ {
+ Store (One, \_SB.PCI0.ISA.EC.HCMU)
+ Store (0x00, \_SB.PCI0.ISA.EC.HFSP)
+ \_SB.PCI0.DOCK.DPTS (Arg0)
+ \_SB.PCI0.ISA.EC.BPTS (Arg0)
+ }
+
+ \_SB.PCI0.ISA.EC.HKEY.BTPS (Arg0)
+ }
+ }
+
+ Name (WAKI, Package (0x02)
+ {
+ 0x00,
+ 0x00
+ })
+ Method (\_WAK, 1, NotSerialized)
+ {
+ If (LOr (LEqual (Arg0, 0x00), LNot (LLess (Arg0, 0x05))))
+ {
+ Return (WAKI)
+ }
+
+ Store (Zero, \SPS)
+ Store (Zero, \_SB.PCI0.PM00.BLEN)
+ Store (Zero, \_SB.PCI0.CREN)
+ Store (Zero, \_SB.PCI0.ISA.EC.HCMU)
+ Store (0x80, \_SB.PCI0.ISA.EC.HFSP)
+ \_SB.PCI0.ISA.EC.EVNT (0x01)
+ \_SB.PCI0.ISA.EC.HKEY.MHKE (0x01)
+ If (LEqual (Arg0, 0x01))
+ {
+ And (\_SB.PCI0.ISA.ACI, 0xFE, \_SB.PCI0.ISA.ACI)
+ Store (0x01, \_SB.PCI0.ISA.EC.HCAC)
+ Store (\_SB.PCI0.ISA.EC.HFNI, \FNID)
+ }
+
+ If (LEqual (Arg0, 0x02)) {}
+ If (LEqual (Arg0, 0x03)) {}
+ If (LEqual (Arg0, 0x04))
+ {
+ If (\W98F)
+ {
+ Notify (\_SB.SLPB, 0x02)
+ }
+
+ If (\WMEF)
+ {
+ \_SB.PCI0.ISA.EC.BEEP (0x05)
+ }
+
+ If (LNot (\W98F))
+ {
+ Store (0x00, \_SB.PCI0.ISA.EC.HSPA)
+ }
+ }
+
+ \_SB.PCI0.DOCK.DWAK (Arg0)
+ \_SB.PCI0.ISA.EC.BWAK (Arg0)
+ \_SB.PCI0.ISA.EC.HKEY.BTWK (Arg0)
+ Notify (\_TZ.THM0, 0x80)
+ \VNRS (0x01)
+ \VSLD (\_SB.LID._LID ())
+ If (LAnd (\W98F, LNot (\WMEF)))
+ {
+ Notify (\_SB.PCI0.USB, 0x01)
+ }
+
+ If (LLess (Arg0, 0x04))
+ {
+ If (LOr (And (\_SB.PCI0.ISA.EC.CP4E, 0x02), And (\RRBF, 0x02)))
+ {
+ ShiftLeft (Arg0, 0x08, Local0)
+ Store (Or (0x2013, Local0), Local0)
+ \_SB.PCI0.ISA.EC.HKEY.MHKQ (Local0)
+ }
+ }
+
+ Store (Zero, \RRBF)
+ Return (WAKI)
+ }
+
+ Scope (\_SI)
+ {
+ Method (_SST, 1, NotSerialized)
+ {
+ If (LEqual (Arg0, 0x00))
+ {
+ \_SB.PCI0.ISA.EC.SYSL (0x00, 0x00)
+ \_SB.PCI0.ISA.EC.SYSL (0x01, 0x00)
+ }
+
+ If (LEqual (Arg0, 0x01))
+ {
+ If (LOr (\SPS, \WNTF))
+ {
+ \_SB.PCI0.ISA.EC.BEEP (0x05)
+ }
+
+ \_SB.PCI0.ISA.EC.SYSL (0x00, 0x01)
+ \_SB.PCI0.ISA.EC.SYSL (0x01, 0x00)
+ }
+
+ If (LEqual (Arg0, 0x02))
+ {
+ \_SB.PCI0.ISA.EC.SYSL (0x00, 0x01)
+ \_SB.PCI0.ISA.EC.SYSL (0x01, 0x02)
+ }
+
+ If (LEqual (Arg0, 0x03))
+ {
+ If (LGreater (\SPS, 0x03))
+ {
+ \_SB.PCI0.ISA.EC.BEEP (0x07)
+ }
+ Else
+ {
+ If (LEqual (\SPS, 0x03))
+ {
+ \_SB.PCI0.ISA.EC.BEEP (0x03)
+ }
+ Else
+ {
+ \_SB.PCI0.ISA.EC.BEEP (0x04)
+ }
+ }
+
+ If (LEqual (\SPS, 0x03))
+ {
+ \_SB.PCI0.ISA.EC.SYSL (0x00, 0x00)
+ }
+ Else
+ {
+ \_SB.PCI0.ISA.EC.SYSL (0x00, 0x01)
+ }
+
+ \_SB.PCI0.ISA.EC.SYSL (0x01, 0x01)
+ }
+
+ If (LEqual (Arg0, 0x04))
+ {
+ \_SB.PCI0.ISA.EC.BEEP (0x03)
+ \_SB.PCI0.ISA.EC.SYSL (0x01, 0x02)
+ }
+ }
+ }
+
+ Scope (\_GPE)
+ {
+ Method (_L0B, 0, NotSerialized)
+ {
+ Store (\_SB.PCI0.ISA.EC.HWAK, Local0)
+ Sleep (0x0A)
+ Store (Local0, \RRBF)
+ If (And (Local0, 0x01))
+ {
+ If (And (\_SB.PCI0.PMEE, 0x01))
+ {
+ Notify (\_SB.PCI0, 0x02)
+ }
+
+ If (And (\_SB.PCI0.PMEE, 0x02))
+ {
+ Notify (\_SB.PCI0.DOCK, 0x02)
+ }
+ }
+
+ If (And (Local0, 0x02)) {}
+ If (And (Local0, 0x04))
+ {
+ If (\W98F)
+ {
+ Notify (\_SB.SLPB, 0x02)
+ }
+ Else
+ {
+ Notify (\_SB.LID, 0x02)
+ }
+ }
+
+ If (And (Local0, 0x08))
+ {
+ \_SB.PCI0.DOCK.DGPE ()
+ Notify (\_SB.SLPB, 0x02)
+ }
+
+ If (And (Local0, 0x10))
+ {
+ Notify (\_SB.SLPB, 0x02)
+ }
+
+ If (And (Local0, 0x40))
+ {
+ Notify (\_SB.PCI0.ISA.UART, 0x02)
+ }
+
+ If (And (Local0, 0x80))
+ {
+ Notify (\_SB.SLPB, 0x02)
+ }
+ }
+ }
+
+ Scope (\_TZ)
+ {
+ ThermalZone (THM0)
+ {
+ Name (_CRT, 0x0E76)
+ Name (_PSL, Package (0x01)
+ {
+ \_PR.CPU
+ })
+ Name (_PSV, 0x0E3F)
+ Name (_TC1, 0x05)
+ Name (_TC2, 0x02)
+ Name (_TSP, 0x0258)
+ Method (_TMP, 0, NotSerialized)
+ {
+ If (\H8DR)
+ {
+ Store (\_SB.PCI0.ISA.EC.TMP0, Local0)
+ }
+ Else
+ {
+ Store (\RBEC (0x78), Local0)
+ }
+
+ Return (C2K (Local0))
+ }
+ }
+
+ Method (C2K, 1, NotSerialized)
+ {
+ Add (Multiply (Arg0, 0x0A), 0x0AAC, Local0)
+ If (LNot (LGreater (Local0, 0x0AAC)))
+ {
+ Store (0x0BB8, Local0)
+ }
+
+ If (LNot (LLess (Local0, 0x0FAC)))
+ {
+ Store (0x0BB8, Local0)
+ }
+
+ Return (Local0)
+ }
+ }
+
+ Scope (\_SB.PCI0.ISA.EC)
+ {
+ Method (_Q40, 0, NotSerialized)
+ {
+ Notify (\_TZ.THM0, 0x80)
+ }
+ }
+
+ OperationRegion (MNVS, SystemMemory, 0x0FFFF000, 0x1000)
+ Field (MNVS, DWordAcc, NoLock, Preserve)
+ {
+ Offset (0xF00),
+ HDHD, 8,
+ HDSE, 8,
+ Offset (0xF03),
+ Offset (0xF04),
+ Offset (0xF08),
+ Offset (0xF0C),
+ Offset (0xF10),
+ VCDL, 1,
+ VCDC, 1,
+ VCDT, 1,
+ VCDD, 1,
+ , 1,
+ VCSS, 1,
+ VCDB, 1,
+ VCIN, 1,
+ Offset (0xF12),
+ VLID, 4,
+ Offset (0xF14)
+ }
+
+ Field (MNVS, ByteAcc, NoLock, Preserve)
+ {
+ Offset (0xE00),
+ DDC1, 1024,
+ Offset (0xF00)
+ }
+
+ Field (MNVS, ByteAcc, NoLock, Preserve)
+ {
+ Offset (0xE00),
+ DDC2, 2048
+ }
+
+ OperationRegion (SMI0, SystemIO, 0xFE00, 0x02)
+ Field (SMI0, ByteAcc, NoLock, Preserve)
+ {
+ APMC, 8
+ }
+
+ Field (MNVS, AnyAcc, NoLock, Preserve)
+ {
+ Offset (0xFC0),
+ CMD, 8,
+ ERR, 32,
+ PAR0, 32,
+ PAR1, 32,
+ PAR2, 32,
+ PAR3, 32
+ }
+
+ Mutex (MSMI, 0x07)
+ Method (SMI, 5, NotSerialized)
+ {
+ Acquire (MSMI, 0xFFFF)
+ Store (Arg0, CMD)
+ Store (Arg1, PAR0)
+ Store (Arg2, PAR1)
+ Store (Arg3, PAR2)
+ Store (Arg4, PAR3)
+ Store (0x00, APMC)
+ While (LEqual (ERR, 0x01))
+ {
+ Sleep (0x64)
+ Store (0x00, APMC)
+ }
+
+ Store (PAR0, Local0)
+ Release (MSMI)
+ Return (Local0)
+ }
+
+ Method (RPCI, 1, NotSerialized)
+ {
+ Return (SMI (0x80, 0x00, Arg0, 0x00, 0x00))
+ }
+
+ Method (WPCI, 2, NotSerialized)
+ {
+ SMI (0x80, 0x01, Arg0, Arg1, 0x00)
+ }
+
+ Method (MPCI, 3, NotSerialized)
+ {
+ SMI (0x80, 0x02, Arg0, Arg1, Arg2)
+ }
+
+ Method (RBEC, 1, NotSerialized)
+ {
+ Return (SMI (0x81, 0x00, Arg0, 0x00, 0x00))
+ }
+
+ Method (WBEC, 2, NotSerialized)
+ {
+ SMI (0x81, 0x01, Arg0, Arg1, 0x00)
+ }
+
+ Method (MBEC, 3, NotSerialized)
+ {
+ SMI (0x81, 0x02, Arg0, Arg1, Arg2)
+ }
+
+ Method (TRAP, 2, NotSerialized)
+ {
+ SMI (0x82, Arg0, Arg1, 0x00, 0x00)
+ }
+
+ Method (FERR, 0, NotSerialized)
+ {
+ SMI (0x83, 0x00, 0x00, 0x00, 0x00)
+ }
+
+ Method (GFDD, 0, NotSerialized)
+ {
+ Return (SMI (0x84, 0x00, 0x00, 0x00, 0x00))
+ }
+
+ Method (SFDD, 1, NotSerialized)
+ {
+ SMI (0x84, 0x01, Arg0, 0x00, 0x00)
+ }
+
+ Method (DHDP, 1, NotSerialized)
+ {
+ Return (SMI (0x85, Arg0, 0x00, 0x00, 0x00))
+ }
+
+ Method (VOLU, 0, NotSerialized)
+ {
+ SMI (0x86, 0x00, 0x00, 0x00, 0x00)
+ }
+
+ Method (VOLD, 0, NotSerialized)
+ {
+ SMI (0x86, 0x01, 0x00, 0x00, 0x00)
+ }
+
+ Method (VOLM, 0, NotSerialized)
+ {
+ SMI (0x86, 0x02, 0x00, 0x00, 0x00)
+ }
+
+ Method (TPKY, 0, NotSerialized)
+ {
+ SMI (0x86, 0x03, 0x00, 0x00, 0x00)
+ }
+
+ Method (BRIU, 0, NotSerialized)
+ {
+ SMI (0x86, 0x04, 0x00, 0x00, 0x00)
+ }
+
+ Method (BRID, 0, NotSerialized)
+ {
+ SMI (0x86, 0x05, 0x00, 0x00, 0x00)
+ }
+
+ Method (SNMB, 0, NotSerialized)
+ {
+ SMI (0x86, 0x06, 0x00, 0x00, 0x00)
+ }
+
+ Method (SMUT, 0, NotSerialized)
+ {
+ SMI (0x86, 0x07, 0x00, 0x00, 0x00)
+ }
+
+ Method (ESYB, 1, NotSerialized)
+ {
+ If (LEqual (Arg0, 0x00))
+ {
+ SMI (0x86, 0x03, 0x00, 0x00, 0x00)
+ }
+ Else
+ {
+ SMI (0x86, 0x08, Decrement (Arg0), 0x00, 0x00)
+ }
+ }
+
+ Method (DSEP, 0, NotSerialized)
+ {
+ SMI (0x86, 0x09, 0x00, 0x00, 0x00)
+ }
+
+ Method (VEXP, 0, NotSerialized)
+ {
+ SMI (0x87, 0x00, 0x00, 0x00, 0x00)
+ }
+
+ Method (VUPS, 1, NotSerialized)
+ {
+ SMI (0x88, Arg0, 0x00, 0x00, 0x00)
+ }
+
+ Method (VSDS, 2, NotSerialized)
+ {
+ SMI (0x89, Arg0, Arg1, 0x00, 0x00)
+ }
+
+ Method (VDDC, 0, NotSerialized)
+ {
+ SMI (0x8A, 0x00, 0x00, 0x00, 0x00)
+ }
+
+ Method (VVPD, 0, NotSerialized)
+ {
+ SMI (0x94, 0x00, 0x00, 0x00, 0x00)
+ }
+
+ Method (GVIL, 1, NotSerialized)
+ {
+ SMI (0x8B, Arg0, 0x00, 0x00, 0x00)
+ }
+
+ Method (GCHK, 0, NotSerialized)
+ {
+ Return (SMI (0x8B, 0x06, 0x00, 0x00, 0x00))
+ }
+
+ Method (LGHT, 1, NotSerialized)
+ {
+ SMI (0x8C, Arg0, 0x00, 0x00, 0x00)
+ }
+
+ Method (GPAR, 0, NotSerialized)
+ {
+ Return (SMI (0x8D, 0x00, 0x00, 0x00, 0x00))
+ }
+
+ Method (GDCK, 1, NotSerialized)
+ {
+ \_SB.PCI0.ISA.EC.AI2C ()
+ Store (SMI (0x8E, Arg0, 0x00, 0x00, 0x00), Local0)
+ \_SB.PCI0.ISA.EC.RI2C ()
+ Return (Local0)
+ }
+
+ Method (GGAP, 1, NotSerialized)
+ {
+ Return (SMI (0x8F, Arg0, 0x00, 0x00, 0x00))
+ }
+
+ Method (GHKY, 0, NotSerialized)
+ {
+ Store (SMI (0x90, 0x00, 0x00, 0x00, 0x00), Local0)
+ Return (And (ShiftRight (Local0, 0x04), 0x01))
+ }
+
+ Method (GCDT, 1, NotSerialized)
+ {
+ Return (SMI (0x91, Arg0, 0x00, 0x00, 0x00))
+ }
+
+ Method (GBTH, 1, NotSerialized)
+ {
+ Return (SMI (0x92, Arg0, 0x00, 0x00, 0x00))
+ }
+
+ Method (BHDP, 1, NotSerialized)
+ {
+ Return (SMI (0x93, Arg0, 0x00, 0x00, 0x00))
+ }
+
+ Method (VNRS, 1, NotSerialized)
+ {
+ Return (SMI (0x95, Arg0, 0x00, 0x00, 0x00))
+ }
+
+ Method (GLPW, 0, NotSerialized)
+ {
+ Return (SMI (0x96, 0x00, 0x00, 0x00, 0x00))
+ }
+
+ Method (GTPS, 0, NotSerialized)
+ {
+ Return (SMI (0x97, 0x00, 0x00, 0x00, 0x00))
+ }
+
+ Method (VSLD, 1, NotSerialized)
+ {
+ Return (SMI (0x99, Arg0, 0x00, 0x00, 0x00))
+ }
+
+ Method (CBRI, 0, NotSerialized)
+ {
+ SMI (0x9A, 0x00, 0x00, 0x00, 0x00)
+ }
+
+ Method (WOLP, 0, NotSerialized)
+ {
+ SMI (0x9B, 0x00, 0x00, 0x00, 0x00)
+ }
+
+ Method (ECPP, 0, NotSerialized)
+ {
+ SMI (0x9C, 0x00, 0x00, 0x00, 0x00)
+ }
+
+ Scope (\_SB.PCI0.PM00)
+ {
+ OperationRegion (GPOR, SystemIO, 0x1034, 0x04)
+ Field (GPOR, ByteAcc, NoLock, Preserve)
+ {
+ , 1,
+ Offset (0x01),
+ MSON, 1,
+ , 1,
+ URST, 1,
+ EID2, 1,
+ EID, 2,
+ CSON, 1,
+ , 4,
+ IPDR, 1,
+ , 1,
+ S2DS, 1,
+ , 1,
+ ULON, 1,
+ , 7
+ }
+ }
+
+ Name (ICM0, Buffer (0x1C)
+ {
+ 0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x03, 0x00,
+ 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x03, 0x00, 0x00,
+ 0x00, 0x00, 0xA0, 0xEF
+ })
+ CreateByteField (ICM0, 0x0F, HDM0)
+ CreateByteField (ICM0, 0x16, HPI0)
+ Name (ICM1, Buffer (0x1C)
+ {
+ 0x02, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xB0, 0xF5, 0x03, 0x00,
+ 0x00, 0x00, 0x00, 0xB0, 0xEF, 0x03, 0x00, 0x00,
+ 0x00, 0x00, 0xB0, 0xEF
+ })
+ CreateByteField (ICM1, 0x0F, HDM1)
+ CreateByteField (ICM1, 0x16, HPI1)
+ Name (ICC1, Buffer (0x0E)
+ {
+ 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF, 0x03,
+ 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF
+ })
+ CreateByteField (ICC1, 0x01, CDM1)
+ CreateByteField (ICC1, 0x08, CPI1)
+ Name (IDKM, 0x00)
+ Name (ICM2, Buffer (0x1C)
+ {
+ 0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x03, 0x00,
+ 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x03, 0x00, 0x00,
+ 0x00, 0x00, 0xA0, 0xEF
+ })
+ CreateByteField (ICM2, 0x0F, HDM2)
+ CreateByteField (ICM2, 0x16, HPI2)
+ Name (ICC2, Buffer (0x0E)
+ {
+ 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x03,
+ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF
+ })
+ CreateByteField (ICC2, 0x01, CDM2)
+ CreateByteField (ICC2, 0x08, CPI2)
+ Name (DCM2, Buffer (0x1C)
+ {
+ 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x03,
+ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0xA0, 0xE3
+ })
+ CreateByteField (DCM2, 0x01, DDM2)
+ CreateByteField (DCM2, 0x08, DPI2)
+ CreateByteField (DCM2, 0x0F, DTA2)
+ CreateByteField (DCM2, 0x16, DTF2)
+ Name (IDKS, 0x00)
+ Name (ICM3, Buffer (0x1C)
+ {
+ 0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x03, 0x00,
+ 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x03, 0x00, 0x00,
+ 0x00, 0x00, 0xA0, 0xEF
+ })
+ CreateByteField (ICM3, 0x0F, HDM3)
+ CreateByteField (ICM3, 0x16, HPI3)
+ Name (ICC3, Buffer (0x0E)
+ {
+ 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x03,
+ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF
+ })
+ CreateByteField (ICC3, 0x01, CDM3)
+ CreateByteField (ICC3, 0x08, CPI3)
+ Name (BGTM, Buffer (0x14) {})
+ CreateDWordField (BGTM, 0x00, GTP0)
+ CreateDWordField (BGTM, 0x04, GTD0)
+ CreateDWordField (BGTM, 0x08, GTP1)
+ CreateDWordField (BGTM, 0x0C, GTD1)
+ CreateDWordField (BGTM, 0x10, GTMF)
+ Method (UDMA, 2, NotSerialized)
+ {
+ If (And (Arg0, 0x04))
+ {
+ If (And (Arg1, 0x10))
+ {
+ Return (0x05)
+ }
+ Else
+ {
+ If (And (Arg1, 0x08))
+ {
+ Return (0x04)
+ }
+ Else
+ {
+ If (And (Arg1, 0x04))
+ {
+ Return (0x03)
+ }
+ Else
+ {
+ If (And (Arg1, 0x02))
+ {
+ Return (0x02)
+ }
+ Else
+ {
+ If (And (Arg1, 0x01))
+ {
+ Return (0x01)
+ }
+ Else
+ {
+ Return (0x00)
+ }
+ }
+ }
+ }
+ }
+ }
+ Else
+ {
+ Return (0x00)
+ }
+ }
+
+ Method (UDMB, 2, NotSerialized)
+ {
+ If (Arg0)
+ {
+ If (LGreater (Arg1, 0x1E))
+ {
+ If (LGreater (Arg1, 0x2D))
+ {
+ If (LGreater (Arg1, 0x3C))
+ {
+ If (LGreater (Arg1, 0x50))
+ {
+ Return (0x01)
+ }
+ Else
+ {
+ Return (0x02)
+ }
+ }
+ Else
+ {
+ Return (0x03)
+ }
+ }
+ Else
+ {
+ Return (0x04)
+ }
+ }
+ Else
+ {
+ Return (0x05)
+ }
+ }
+ Else
+ {
+ Return (0x00)
+ }
+ }
+
+ Method (MDMA, 4, NotSerialized)
+ {
+ If (And (Arg0, 0x02))
+ {
+ If (And (Arg1, 0x04))
+ {
+ If (LNot (LGreater (Arg3, 0x78)))
+ {
+ Return (0x03)
+ }
+ Else
+ {
+ If (LNot (LGreater (Arg3, 0xB4)))
+ {
+ Return (0x02)
+ }
+ Else
+ {
+ If (LNot (LGreater (Arg3, 0xF0)))
+ {
+ Return (0x01)
+ }
+ Else
+ {
+ Return (0x00)
+ }
+ }
+ }
+ }
+ Else
+ {
+ If (And (Arg1, 0x02))
+ {
+ If (LNot (LGreater (Arg3, 0xB4)))
+ {
+ Return (0x02)
+ }
+ Else
+ {
+ If (LNot (LGreater (Arg3, 0xF0)))
+ {
+ Return (0x01)
+ }
+ Else
+ {
+ Return (0x00)
+ }
+ }
+ }
+ Else
+ {
+ If (And (Arg2, 0x04))
+ {
+ If (LNot (LGreater (Arg3, 0xF0)))
+ {
+ Return (0x01)
+ }
+ Else
+ {
+ Return (0x00)
+ }
+ }
+ Else
+ {
+ Return (0x00)
+ }
+ }
+ }
+ }
+ Else
+ {
+ Return (0x00)
+ }
+ }
+
+ Method (MDMB, 1, NotSerialized)
+ {
+ If (LGreater (Arg0, 0x78))
+ {
+ If (LGreater (Arg0, 0x96))
+ {
+ Return (0x01)
+ }
+ Else
+ {
+ Return (0x02)
+ }
+ }
+ Else
+ {
+ Return (0x03)
+ }
+ }
+
+ Method (MPIO, 4, NotSerialized)
+ {
+ If (And (Arg0, 0x02))
+ {
+ If (And (Arg1, 0x02))
+ {
+ If (LNot (LGreater (Arg3, 0x78)))
+ {
+ Return (0x04)
+ }
+ Else
+ {
+ If (LNot (LGreater (Arg3, 0xB4)))
+ {
+ Return (0x03)
+ }
+ Else
+ {
+ If (LNot (LGreater (Arg3, 0xF0)))
+ {
+ Return (0x02)
+ }
+ Else
+ {
+ Return (0x00)
+ }
+ }
+ }
+ }
+ Else
+ {
+ If (And (Arg1, 0x01))
+ {
+ If (LNot (LGreater (Arg3, 0xB4)))
+ {
+ Return (0x03)
+ }
+ Else
+ {
+ If (LNot (LGreater (Arg3, 0xF0)))
+ {
+ Return (0x02)
+ }
+ Else
+ {
+ Return (0x00)
+ }
+ }
+ }
+ Else
+ {
+ If (LEqual (Arg2, 0x02))
+ {
+ Return (0x01)
+ }
+ Else
+ {
+ Return (0x00)
+ }
+ }
+ }
+ }
+ Else
+ {
+ If (LEqual (Arg2, 0x02))
+ {
+ Return (0x01)
+ }
+ Else
+ {
+ Return (0x00)
+ }
+ }
+ }
+
+ Method (MPIB, 2, NotSerialized)
+ {
+ If (LGreater (Arg1, 0x78))
+ {
+ If (LGreater (Arg1, 0xB4))
+ {
+ If (LGreater (Arg1, 0xF0))
+ {
+ Return (0x00)
+ }
+ Else
+ {
+ If (Arg0)
+ {
+ Return (0x02)
+ }
+ Else
+ {
+ Return (0x01)
+ }
+ }
+ }
+ Else
+ {
+ Return (0x03)
+ }
+ }
+ Else
+ {
+ Return (0x04)
+ }
+ }
+
+ Method (MPI4, 2, NotSerialized)
+ {
+ If (Arg0)
+ {
+ If (LEqual (Arg0, 0x01))
+ {
+ Return (0x01)
+ }
+ Else
+ {
+ If (LEqual (Arg0, 0x02))
+ {
+ Return (0x02)
+ }
+ Else
+ {
+ If (LEqual (Arg1, 0x03))
+ {
+ Return (0x02)
+ }
+ Else
+ {
+ Return (0x03)
+ }
+ }
+ }
+ }
+ Else
+ {
+ If (LLess (Arg1, 0x02))
+ {
+ Return (Arg1)
+ }
+ Else
+ {
+ Return (Decrement (Arg1))
+ }
+ }
+ }
+
+ Method (MP4B, 1, NotSerialized)
+ {
+ If (LNot (LGreater (Arg0, 0x01)))
+ {
+ Return (Arg0)
+ }
+ Else
+ {
+ Return (Decrement (Arg0))
+ }
+ }
+
+ Method (MTIM, 3, NotSerialized)
+ {
+ If (LEqual (Arg0, 0x00))
+ {
+ Store (0x00, Local5)
+ }
+ Else
+ {
+ If (LEqual (Arg0, 0x01))
+ {
+ If (LLess (Arg1, 0x02))
+ {
+ Store (0x01, Local5)
+ }
+ Else
+ {
+ Store (0x03, Local5)
+ }
+ }
+ Else
+ {
+ If (LEqual (Arg0, 0x02))
+ {
+ Store (0x03, Local5)
+ }
+ Else
+ {
+ Store (0x03, Local5)
+ }
+ }
+
+ If (LEqual (Arg1, 0x00))
+ {
+ Or (Local5, 0x08, Local5)
+ }
+ }
+
+ If (Arg2)
+ {
+ And (Local5, 0xFB, Local5)
+ }
+ Else
+ {
+ Or (Local5, 0x04, Local5)
+ }
+
+ Return (Local5)
+ }
+
+ Method (MISP, 1, NotSerialized)
+ {
+ If (LEqual (Arg0, 0x00))
+ {
+ Return (0x00)
+ }
+ Else
+ {
+ If (LEqual (Arg0, 0x01))
+ {
+ Return (0x01)
+ }
+ Else
+ {
+ If (LEqual (Arg0, 0x02))
+ {
+ Return (0x02)
+ }
+ Else
+ {
+ Return (0x02)
+ }
+ }
+ }
+ }
+
+ Method (MRTC, 1, NotSerialized)
+ {
+ If (LEqual (Arg0, 0x00))
+ {
+ Return (0x00)
+ }
+ Else
+ {
+ If (LEqual (Arg0, 0x01))
+ {
+ Return (0x00)
+ }
+ Else
+ {
+ If (LEqual (Arg0, 0x02))
+ {
+ Return (0x01)
+ }
+ Else
+ {
+ Return (0x03)
+ }
+ }
+ }
+ }
+
+ Method (MUCT, 1, NotSerialized)
+ {
+ If (LEqual (Arg0, 0x00))
+ {
+ Return (0x00)
+ }
+ Else
+ {
+ If (LEqual (Arg0, 0x01))
+ {
+ Return (0x00)
+ }
+ Else
+ {
+ If (LEqual (Arg0, 0x02))
+ {
+ Return (0x01)
+ }
+ Else
+ {
+ Return (0x02)
+ }
+ }
+ }
+ }
+
+ Method (CART, 1, NotSerialized)
+ {
+ If (LEqual (Arg0, 0x00))
+ {
+ Return (0x02)
+ }
+ Else
+ {
+ Return (0x01)
+ }
+ }
+
+ Method (CCMD, 1, NotSerialized)
+ {
+ If (LEqual (Arg0, 0x04))
+ {
+ Return (0x3F)
+ }
+ Else
+ {
+ If (LEqual (Arg0, 0x03))
+ {
+ Return (0x32)
+ }
+ Else
+ {
+ If (LEqual (Arg0, 0x02))
+ {
+ Return (0xAF)
+ }
+ Else
+ {
+ If (LEqual (Arg0, 0x01))
+ {
+ Return (0xA2)
+ }
+ Else
+ {
+ Return (0xA9)
+ }
+ }
+ }
+ }
+ }
+
+ Method (CDRW, 2, NotSerialized)
+ {
+ If (LEqual (Arg0, 0x01))
+ {
+ Store (0x88, Local0)
+ }
+ Else
+ {
+ If (LEqual (Arg0, 0x02))
+ {
+ Store (0x31, Local0)
+ }
+ Else
+ {
+ If (LEqual (Arg0, 0x03))
+ {
+ Store (0x3F, Local0)
+ }
+ Else
+ {
+ Store (0xFFFFFFFF, Local0)
+ }
+ }
+ }
+
+ If (LEqual (Arg1, 0x00))
+ {
+ Store (0x6D, Local1)
+ }
+ Else
+ {
+ If (LEqual (Arg1, 0x01))
+ {
+ Store (0x43, Local1)
+ }
+ Else
+ {
+ If (LEqual (Arg1, 0x02))
+ {
+ Store (0x43, Local1)
+ }
+ Else
+ {
+ If (LEqual (Arg1, 0x03))
+ {
+ Store (0x32, Local1)
+ }
+ Else
+ {
+ Store (0x3F, Local1)
+ }
+ }
+ }
+ }
+
+ If (LGreater (CCYC (Local0), CCYC (Local1)))
+ {
+ Return (Local0)
+ }
+ Else
+ {
+ Return (Local1)
+ }
+ }
+
+ Method (CCYC, 1, NotSerialized)
+ {
+ And (Arg0, 0x0F, Local0)
+ ShiftRight (Arg0, 0x04, Local1)
+ If (Local0)
+ {
+ If (LEqual (Local0, 0x0F))
+ {
+ Store (0x01, Local0)
+ }
+ Else
+ {
+ Increment (Local0)
+ }
+ }
+ Else
+ {
+ Store (0x10, Local0)
+ }
+
+ If (LNot (Local1))
+ {
+ Store (0x10, Local1)
+ }
+
+ Add (Local0, Local1, Local0)
+ Multiply (Local0, 0x1E, Local0)
+ Return (Local0)
+ }
+
+ Method (CUDC, 1, NotSerialized)
+ {
+ If (LEqual (Arg0, 0x01))
+ {
+ Return (0x03)
+ }
+ Else
+ {
+ If (LEqual (Arg0, 0x02))
+ {
+ Return (0x02)
+ }
+ Else
+ {
+ If (LEqual (Arg0, 0x03))
+ {
+ Return (0x01)
+ }
+ Else
+ {
+ If (LEqual (Arg0, 0x04))
+ {
+ Return (0x02)
+ }
+ Else
+ {
+ Return (0x01)
+ }
+ }
+ }
+ }
+ }
+
+ Method (MHDM, 2, NotSerialized)
+ {
+ If (LEqual (Arg0, 0x00))
+ {
+ If (LEqual (Arg1, 0x00))
+ {
+ Return (0x00)
+ }
+ Else
+ {
+ If (LEqual (Arg1, 0x01))
+ {
+ Return (0x12)
+ }
+ Else
+ {
+ If (LEqual (Arg1, 0x02))
+ {
+ Return (0x21)
+ }
+ Else
+ {
+ Return (0x22)
+ }
+ }
+ }
+ }
+ Else
+ {
+ If (LEqual (Arg0, 0x01))
+ {
+ Return (0x40)
+ }
+ Else
+ {
+ If (LEqual (Arg0, 0x02))
+ {
+ Return (0x41)
+ }
+ Else
+ {
+ If (LEqual (Arg0, 0x03))
+ {
+ Return (0x42)
+ }
+ Else
+ {
+ If (LEqual (Arg0, 0x04))
+ {
+ Return (0x43)
+ }
+ Else
+ {
+ Return (0x44)
+ }
+ }
+ }
+ }
+ }
+ }
+
+ Method (MHPI, 1, NotSerialized)
+ {
+ If (LEqual (Arg0, 0x00))
+ {
+ Return (0x00)
+ }
+ Else
+ {
+ If (LEqual (Arg0, 0x01))
+ {
+ Return (0x01)
+ }
+ Else
+ {
+ If (LEqual (Arg0, 0x02))
+ {
+ Return (0x00)
+ }
+ Else
+ {
+ If (LEqual (Arg0, 0x03))
+ {
+ Return (0x0B)
+ }
+ Else
+ {
+ Return (0x0C)
+ }
+ }
+ }
+ }
+ }
+
+ Method (MIN, 2, NotSerialized)
+ {
+ If (LLess (Arg0, Arg1))
+ {
+ Return (Arg0)
+ }
+ Else
+ {
+ Return (Arg1)
+ }
+ }
+
+ Method (SLEN, 1, NotSerialized)
+ {
+ Return (SizeOf (Arg0))
+ }
+
+ Method (S2BF, 1, Serialized)
+ {
+ Add (SLEN (Arg0), One, Local0)
+ Name (BUFF, Buffer (Local0) {})
+ Store (Arg0, BUFF)
+ Return (BUFF)
+ }
+
+ Method (SCMP, 2, NotSerialized)
+ {
+ Store (S2BF (Arg0), Local0)
+ Store (S2BF (Arg1), Local1)
+ Store (Zero, Local4)
+ Store (SLEN (Arg0), Local5)
+ Store (SLEN (Arg1), Local6)
+ Store (MIN (Local5, Local6), Local7)
+ While (LLess (Local4, Local7))
+ {
+ Store (DerefOf (Index (Local0, Local4)), Local2)
+ Store (DerefOf (Index (Local1, Local4)), Local3)
+ If (LGreater (Local2, Local3))
+ {
+ Return (One)
+ }
+ Else
+ {
+ If (LLess (Local2, Local3))
+ {
+ Return (Ones)
+ }
+ }
+
+ Increment (Local4)
+ }
+
+ If (LLess (Local4, Local5))
+ {
+ Return (One)
+ }
+ Else
+ {
+ If (LLess (Local4, Local6))
+ {
+ Return (Ones)
+ }
+ Else
+ {
+ Return (Zero)
+ }
+ }
+ }
+
+ Name (SPS, 0x00)
+ Name (W98F, 0x00)
+ Name (WNTF, 0x00)
+ Name (WMEF, 0x00)
+ Name (H8DR, 0x00)
+ Name (MEMX, 0x00)
+ Name (GVEN, 0x00)
+ Name (FNID, 0x00)
+ Name (RRBF, 0x00)
+}
+
diff --git a/tests/aslts/src/runtime/collections/Identity2MS/abbu/UTILITY/INSTALL.TXT b/tests/aslts/src/runtime/collections/Identity2MS/abbu/UTILITY/INSTALL.TXT
new file mode 100644
index 000000000..e43f1dbe1
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/Identity2MS/abbu/UTILITY/INSTALL.TXT
@@ -0,0 +1,77 @@
+cd C:\Documents and Settings\pva\My Documents\acpi\wk\grammar\ABBU\utility
+==========================================================================
+
+Install instructions for ACPI CA BlackBox Utility on Windows XP.
+
+- Copy everything into a target directory
+
+- Run the ACPI BlackBox Utility (abbu.exe)
+
+- Select Options | Dump DSDT AML to get the current DSDT.AML file
+
+- Use AcpiDump to convert the AML file to a readable format (acpidump DSDT.AML)
+ The default output name is "dsdt.dsl".
+
+- Create a file extra.asl with the following:
+
+DefinitionBlock("extra.aml", "DSDT", 0x1, "INTEL", "ABCDE", 0x1)
+{
+ Scope(\_SB)
+ {
+ Device(ABBU)
+ {
+ Name(_HID, "ACPIABBU")
+ Method(ENBL)
+ {
+ Return(Zero)
+ }
+
+ Method(TEST)
+ {
+ Return(Zero)
+ }
+
+ // List all test names here, separated by commas
+ // It provides a convenient list of tests available on the platform
+ Name(TSTS, Package()
+ {
+ "ENBL",
+ "TEST"
+ })
+ }
+ }
+}
+
+NOTE: The closing bracket of the DefinitionBlock MUST come after the closing bracket of this SB scope.
+ Also, this is a minimum injected code sample. Added Methods to test specific DSDT functions found
+ in the DSDT.ASL file created earlier.
+
+- Use iasl.exe to compile EXTRA.ASL to create EXTRA.AML. Use the -i switch to ignore errors
+
+- Run abbu.exe and press the 'Modify DSDT...' button
+
+- Point the Original DSDT path to DSDT.AML - It should be pointing to the file already
+
+- Point the Injected code path to EXTRA.AML - It should be pointing to the file already
+
+- Reboot
+
+- Windows XP should find your new device and want to load a driver.
+ Point it to the directory into which you copied the abbu.sys and abbu.inf files
+
+- Using the abbu.exe in the target directory:
+ - Use the 'Connect Driver' button to connect to the driver
+ - Use the 'Execute Ctrl Method' button to open a dialog box and enter a Method name (i.e. TEST)
+ - The driver will return a DWORD only with the results in the output box.
+
+Use Method(TEST) as a template to create new methods.
+
+TO UNINSTALL:
+=============
+- Use Device Manager to uninstall the 'Intel ACPI Black Box Utlity Control Device' under 'System Devices'
+
+- Use Regedit and delete the following Keys:
+ - HKLM\System\CurrentControlSet\Services\Acpi\Parameters\DSDT
+ - HKLM\System\CurrentControlSet\Services\ABBU
+
+- Delete \Windows\System32\Drivers\abbu.sys
diff --git a/tests/aslts/src/runtime/collections/Identity2MS/abbu/device/Info.txt b/tests/aslts/src/runtime/collections/Identity2MS/abbu/device/Info.txt
new file mode 100644
index 000000000..f6a52a8f1
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/Identity2MS/abbu/device/Info.txt
@@ -0,0 +1 @@
+The tests of this 'device' directory are just started, in progress. \ No newline at end of file
diff --git a/tests/aslts/src/runtime/collections/Identity2MS/abbu/device/device.asl b/tests/aslts/src/runtime/collections/Identity2MS/abbu/device/device.asl
new file mode 100644
index 000000000..bef63116e
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/Identity2MS/abbu/device/device.asl
@@ -0,0 +1,87 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+Name(z174, 174)
+
+/*
+ * Exotic case of CopyObject usage
+ */
+Method(md00)
+{
+ Name(ts, "md00")
+ Device(d000) {
+ Name(i000, 0xabcd0000)
+ Name(i001, 0x11111111)
+ }
+ Device(d001) {
+ Name(i000, 0xabcd0001)
+ }
+ ThermalZone(tz00) {
+ Name(i000, 0xabcd0002)
+ Name(i002, 0x22222222)
+ }
+
+ if (LNotEqual(d000.i000, 0xabcd0000)) {
+ err(ts, z174, 0x000, 0, 0, d000.i000, 0xabcd0000)
+ }
+
+ CopyObject(d001, d000)
+ if (LNotEqual(d000.i000, 0xabcd0001)) {
+ err(ts, z174, 0x001, 0, 0, d000.i000, 0xabcd0001)
+ }
+
+ CopyObject(tz00, d000)
+ if (LNotEqual(d000.i000, 0xabcd0002)) {
+ err(ts, z174, 0x002, 0, 0, d000.i000, 0xabcd0002)
+ }
+
+ CH03(ts, z174, 0x003, 0, 0)
+ Store(d000.i001, Local0)
+ CH04(ts, 0, 0xff, z174, 0x004, 0, 0)
+
+// Rejected by ASL compiler
+// if (LNotEqual(d000.i002, 0x22222222)) {
+// err(ts, z174, 0x005, 0, 0, d000.i002, 0x22222222)
+// }
+}
+
+Method(mdff)
+{
+ SRMT("md00")
+ if (chk0) {
+ md00()
+ } else {
+ BLCK()
+ }
+}
+Method(mdfe)
+{
+ SRMT("dvf2")
+ dvf2()
+}
diff --git a/tests/aslts/src/runtime/collections/Identity2MS/abbu/device/device_abbu.asl b/tests/aslts/src/runtime/collections/Identity2MS/abbu/device/device_abbu.asl
new file mode 100644
index 000000000..f7b56d045
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/Identity2MS/abbu/device/device_abbu.asl
@@ -0,0 +1,169 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+/*
+ * Aplicable for abbu only
+ */
+
+Name(z172, 172)
+
+Method(dvf2)
+{
+ Name(ts, "dvf2")
+ Device(d000) {
+ Name(i000, 0x00000001)
+ }
+
+ Method(m001)
+ {
+ Method(m002)
+ {
+ Method(m003)
+ {
+ Return (0xabcd0000)
+ }
+ Return (Add(\_SB_.ABBU.dvf2.d000.i000, m003()))
+ }
+ Return (Add(\_SB_.ABBU.dvf2.d000.i000, m002()))
+ }
+
+ Store(Add(\_SB_.ABBU.dvf2.d000.i000, m001()), Local0)
+ if (LNotEqual(Local0, 0xabcd0003)) {
+ err(ts, z172, 0x001, 0, 0, Local0, 0xabcd0003)
+ }
+}
+
+/*
+ * Named object as element of Package
+ *
+ * Named element of Package, perhaps, is not implemented by MS,
+ * i000 in Package(){i000} is, on MS, the same as Package(){"i000"}.
+ *
+ * fail
+ */
+Method(mf26)
+{
+ Name(ts, "mf26")
+ Name(i000, 0xabcd0000)
+ Name(i001, 0xabcd0001)
+ Name(i002, 0xabcd0002)
+ Name(i003, 0xabcd0003)
+
+ Name(ii00, 0x11112222)
+
+ Name(p000, Package() {
+ i000,
+ i001,
+ i002,
+ "i000",
+ \_SB_.ABBU.mf26.i003,
+ 0xabcd0004
+ })
+
+ Method(m001, 2)
+ {
+ Store(DerefOf(Index(arg0, 0)), Local0)
+ if (LNotEqual(Local0, 0xabcd0000)) {
+ err(ts, z164, 0x000, 0, 0, Local0, 0xabcd0000)
+ }
+ Store(DerefOf(Index(arg0, 1)), Local0)
+ if (LNotEqual(Local0, 0xabcd0001)) {
+ err(ts, z164, 0x001, 0, 0, Local0, 0xabcd0001)
+ }
+ Store(DerefOf(Index(arg0, 2)), Local0)
+ if (LNotEqual(Local0, 0xabcd0002)) {
+ err(ts, z164, 0x002, 0, 0, Local0, 0xabcd0002)
+ }
+ Store(DerefOf(Index(arg0, 3)), Local0)
+ if (LNotEqual(Local0, "i000")) {
+ err(ts, z164, 0x003, 0, 0, Local0, "i000")
+ }
+ Store(DerefOf(Index(arg0, 4)), Local0)
+ if (LNotEqual(Local0, 0xabcd0003)) {
+ err(ts, z164, 0x004, 0, 0, Local0, 0xabcd0003)
+ }
+ Store(DerefOf(Index(arg0, 5)), Local0)
+ if (LNotEqual(Local0, 0xabcd0004)) {
+ err(ts, z164, 0x004, 0, 0, Local0, 0xabcd0004)
+ }
+
+ Store(ii00, Index(arg0, 0))
+
+ Store(DerefOf(Index(arg0, 0)), Local0)
+ if (LNotEqual(Local0, 0x11112222)) {
+ err(ts, z164, 0x005, 0, 0, Local0, 0x11112222)
+ }
+ }
+
+ if (0) {
+ Store(DerefOf(Index(p000, 0)), Local0)
+ OUTP(Local0)
+ Store(DerefOf(Index(p000, 1)), Local0)
+ OUTP(Local0)
+ Store(DerefOf(Index(p000, 2)), Local0)
+ OUTP(Local0)
+ Store(DerefOf(Index(p000, 3)), Local0)
+ OUTP(Local0)
+ Store(DerefOf(Index(p000, 4)), Local0)
+ OUTP(Local0)
+ Store(DerefOf(Index(p000, 5)), Local0)
+ OUTP(Local0)
+ }
+
+ m001(p000, RefOf(p000))
+
+ Store(DerefOf(Index(p000, 0)), Local0)
+ if (LNotEqual(Local0, 0x11112222)) {
+ err(ts, z164, 0x006, 0, 0, Local0, 0x11112222)
+ }
+ Store(DerefOf(Index(p000, 1)), Local0)
+ if (LNotEqual(Local0, 0xabcd0001)) {
+ err(ts, z164, 0x007, 0, 0, Local0, 0xabcd0001)
+ }
+
+ Store(DerefOf(Index(p000, 2)), Local0)
+ if (LNotEqual(Local0, 0xabcd0002)) {
+ err(ts, z164, 0x008, 0, 0, Local0, 0xabcd0002)
+ }
+
+ Store(DerefOf(Index(p000, 3)), Local0)
+ if (LNotEqual(Local0, "i000")) {
+ err(ts, z164, 0x009, 0, 0, Local0, "i000")
+ }
+
+ Store(DerefOf(Index(p000, 4)), Local0)
+ if (LNotEqual(Local0, 0xabcd0003)) {
+ err(ts, z164, 0x00a, 0, 0, Local0, 0xabcd0003)
+ }
+
+ Store(DerefOf(Index(p000, 5)), Local0)
+ if (LNotEqual(Local0, 0xabcd0004)) {
+ err(ts, z164, 0x004, 0, 0, Local0, 0xabcd0004)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/Identity2MS/abbu/device/device_aslts.asl b/tests/aslts/src/runtime/collections/Identity2MS/abbu/device/device_aslts.asl
new file mode 100644
index 000000000..1e564b5d3
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/Identity2MS/abbu/device/device_aslts.asl
@@ -0,0 +1,153 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+/*
+ * Aplicable for AcpiExec only
+ */
+
+Name(z173, 173)
+
+Method(dvf2)
+{
+ Name(ts, "dvf2")
+ Device(d000) {
+ Name(i000, 0x00000001)
+ }
+
+ Method(m001)
+ {
+ Method(m002)
+ {
+ Method(m003)
+ {
+ Return (0xabcd0000)
+ }
+ Return (Add(\dvf2.d000.i000, m003()))
+ }
+ Return (Add(\dvf2.d000.i000, m002()))
+ }
+
+ Store(Add(\dvf2.d000.i000, m001()), Local0)
+ if (LNotEqual(Local0, 0xabcd0003)) {
+ err(ts, z173, 0x001, 0, 0, Local0, 0xabcd0003)
+ }
+}
+
+/*
+ * Named object as element of Package
+ *
+ * Named element of Package, perhaps, is not implemented by MS,
+ * i000 in Package(){i000} is, on MS, the same as Package(){"i000"}.
+ */
+Method(mf26)
+{
+ Name(ts, "mf26")
+ Name(i000, 0xabcd0000)
+ Name(i001, 0xabcd0001)
+ Name(i002, 0xabcd0002)
+ Name(i003, 0xabcd0003)
+
+ Name(ii00, 0x11112222)
+
+ Name(p000, Package() {
+ i000,
+ i001,
+ i002,
+ "i000",
+ \mf26.i003,
+ 0xabcd0004
+ })
+
+ Method(m001, 2)
+ {
+ Store(DerefOf(Index(arg0, 0)), Local0)
+ if (LNotEqual(Local0, 0xabcd0000)) {
+ err(ts, z164, 0x000, 0, 0, Local0, 0xabcd0000)
+ }
+ Store(DerefOf(Index(arg0, 1)), Local0)
+ if (LNotEqual(Local0, 0xabcd0001)) {
+ err(ts, z164, 0x001, 0, 0, Local0, 0xabcd0001)
+ }
+ Store(DerefOf(Index(arg0, 2)), Local0)
+ if (LNotEqual(Local0, 0xabcd0002)) {
+ err(ts, z164, 0x002, 0, 0, Local0, 0xabcd0002)
+ }
+ Store(DerefOf(Index(arg0, 3)), Local0)
+ if (LNotEqual(Local0, "i000")) {
+ err(ts, z164, 0x003, 0, 0, Local0, "i000")
+ }
+ Store(DerefOf(Index(arg0, 4)), Local0)
+ if (LNotEqual(Local0, 0xabcd0003)) {
+ err(ts, z164, 0x004, 0, 0, Local0, 0xabcd0003)
+ }
+ Store(DerefOf(Index(arg0, 5)), Local0)
+ if (LNotEqual(Local0, 0xabcd0004)) {
+ err(ts, z164, 0x004, 0, 0, Local0, 0xabcd0004)
+ }
+
+ Store(ii00, Index(arg0, 0))
+
+ Store(DerefOf(Index(arg0, 0)), Local0)
+ if (LNotEqual(Local0, 0x11112222)) {
+ err(ts, z164, 0x005, 0, 0, Local0, 0x11112222)
+ }
+ }
+
+ m001(p000, RefOf(p000))
+
+ Store(DerefOf(Index(p000, 0)), Local0)
+ if (LNotEqual(Local0, 0x11112222)) {
+ err(ts, z164, 0x006, 0, 0, Local0, 0x11112222)
+ }
+
+ Store(DerefOf(Index(p000, 1)), Local0)
+ if (LNotEqual(Local0, 0xabcd0001)) {
+ err(ts, z164, 0x007, 0, 0, Local0, 0xabcd0001)
+ }
+
+ Store(DerefOf(Index(p000, 2)), Local0)
+ if (LNotEqual(Local0, 0xabcd0002)) {
+ err(ts, z164, 0x008, 0, 0, Local0, 0xabcd0002)
+ }
+
+ Store(DerefOf(Index(p000, 3)), Local0)
+ if (LNotEqual(Local0, "i000")) {
+ err(ts, z164, 0x009, 0, 0, Local0, "i000")
+ }
+
+ Store(DerefOf(Index(p000, 4)), Local0)
+ if (LNotEqual(Local0, 0xabcd0003)) {
+ err(ts, z164, 0x00a, 0, 0, Local0, 0xabcd0003)
+ }
+
+ Store(DerefOf(Index(p000, 5)), Local0)
+ if (LNotEqual(Local0, 0xabcd0004)) {
+ err(ts, z164, 0x004, 0, 0, Local0, 0xabcd0004)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/Identity2MS/abbu/device/ns_dv00.asl b/tests/aslts/src/runtime/collections/Identity2MS/abbu/device/ns_dv00.asl
new file mode 100644
index 000000000..c10c81fad
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/Identity2MS/abbu/device/ns_dv00.asl
@@ -0,0 +1,584 @@
+/*
+ * Access to elements of combined objects (Device)
+ */
+Name(z167, 167)
+
+/*
+ * Named Integer i000
+ */
+
+/*
+ * Simple, 3-level
+ */
+
+Method(dv00)
+{
+ Name(ts, "dv00")
+ Device(d000) {
+ Name(i000, 0x00000001)
+ }
+
+ Method(m001, 1)
+ {
+ Method(m002, 1)
+ {
+ Method(m003, 1)
+ {
+ Return (0xabcd0000)
+ }
+ Return (Add(arg0, m003(arg0)))
+ }
+ Return (Add(arg0, m002(arg0)))
+ }
+ Store(Add(d000.i000, m001(d000.i000)), Local0)
+ if (LNotEqual(Local0, 0xabcd0003)) {
+ err(ts, z167, 0x001, 0, 0, Local0, 0xabcd0003)
+ }
+}
+
+Method(dvf0)
+{
+ Name(ts, "dvf0")
+ Device(d000) {
+ Name(i000, 0x00000001)
+ }
+
+ Method(m001)
+ {
+ Method(m002)
+ {
+ Method(m003)
+ {
+ Return (0xabcd0000)
+ }
+ Return (Add(^^d000.i000, m003()))
+ }
+ Return (Add(^d000.i000, m002()))
+ }
+
+ Store(Add(d000.i000, m001()), Local0)
+ if (LNotEqual(Local0, 0xabcd0003)) {
+ err(ts, z163, 0x001, 0, 0, Local0, 0xabcd0003)
+ }
+}
+
+Method(dvf1)
+{
+ Name(ts, "dvf1")
+ Device(d000) {
+ Name(i000, 0x00000001)
+ }
+
+ Method(m001)
+ {
+ Method(m002)
+ {
+ Method(m003)
+ {
+ Return (0xabcd0000)
+ }
+ Return (Add(^^^dvf1.d000.i000, m003()))
+ }
+ Return (Add(^^dvf1.d000.i000, m002()))
+ }
+
+ Store(Add(^dvf1.d000.i000, m001()), Local0)
+ if (LNotEqual(Local0, 0xabcd0003)) {
+ err(ts, z163, 0x001, 0, 0, Local0, 0xabcd0003)
+ }
+}
+
+/*
+ * 8-level
+ * added writing into i000:
+ * Store(0x00040000, i000)
+ */
+Method(dv01, 1)
+{
+ Name(ts, "dv01")
+ Name(i000, 0x00000001)
+ Name(i001, 0)
+ Name(p000, Package() {1,2,3,4})
+
+ Store(arg0, i001)
+
+ Method(m001)
+ {
+ Method(m002)
+ {
+ Method(m003)
+ {
+ Method(m004)
+ {
+ Method(m005)
+ {
+ Method(m006)
+ {
+ Method(m007)
+ {
+ Method(m008)
+ {
+ if (i001)
+ {
+ CopyObject(p000, i000)
+ }
+ Return (0)
+ }
+ Store(0x80000000, i000)
+ Return (Add(i000, m008()))
+ }
+ Store(0x07000000, i000)
+ Return (Add(i000, m007()))
+ }
+ Store(0x00600000, i000)
+ Return (Add(i000, m006()))
+ }
+ Store(0x00050000, i000)
+ Return (Add(i000, m005()))
+ }
+ Store(0x00004000, i000)
+ Return (Add(i000, m004()))
+ }
+ Store(0x00000300, i000)
+ Return (Add(i000, m003()))
+ }
+ Store(0x00000020, i000)
+ Return (Add(i000, m002()))
+ }
+ Store(Add(i000, m001()), Local0)
+
+ if (LNotEqual(Local0, 0x87654321)) {
+ err(ts, z167, 0x003, 0, 0, Local0, 0x87654321)
+ }
+
+ if (LNotEqual(i000, 0x80000000)) {
+ err(ts, z167, 0x004, 0, 0, i000, 0x80000000)
+ }
+}
+
+/*
+ * Recurcive execution of m001:
+ * Add(i000, m001(), Local0)
+ */
+Method(dv02)
+{
+ Name(ts, "dv02")
+ Name(i000, 0x00100000)
+ Name(i001, 0)
+
+ Method(m001)
+ {
+ /*
+ * Because of the stack overflow issues on MS the number
+ * of repetitions was changed from 100 to 11 here.
+ */
+ if (LLess(i001, 11)) {
+ Increment(i000)
+ Increment(i001)
+ Add(i000, m001(), Local0)
+ Return (Local0)
+ }
+ Return (0)
+ }
+ Store(Add(i000, m001()), Local0)
+
+ if (LNotEqual(Local0, 0x00c00042)) {
+ err(ts, z167, 0x006, 0, 0, Local0, 0x00c00042)
+ }
+
+ if (LNotEqual(i000, 0x0010000b)) {
+ err(ts, z167, 0x007, 0, 0, i000, 0x0010000b)
+ }
+}
+
+/*
+ * Local instead of i000 (in in01)
+ */
+Method(dv03, 1)
+{
+ Name(ts, "dv03")
+ Name(i001, 0)
+ Name(p000, Package() {1,2,3,4})
+
+ Store(arg0, i001)
+
+ Store(0x00000001, Local7)
+
+ Method(m001)
+ {
+ Method(m002)
+ {
+ Method(m003)
+ {
+ Method(m004)
+ {
+ Method(m005)
+ {
+ Method(m006)
+ {
+ Method(m007)
+ {
+ Method(m008)
+ {
+ if (i001)
+ {
+ CopyObject(p000, Local7)
+ }
+ Return (0)
+ }
+ Store(0x80000000, Local7)
+ Return (Add(Local7, m008()))
+ }
+ Store(0x07000000, Local7)
+ Return (Add(Local7, m007()))
+ }
+ Store(0x00600000, Local7)
+ Return (Add(Local7, m006()))
+ }
+ Store(0x00050000, Local7)
+ Return (Add(Local7, m005()))
+ }
+ Store(0x00004000, Local7)
+ Return (Add(Local7, m004()))
+ }
+ Store(0x00000300, Local7)
+ Return (Add(Local7, m003()))
+ }
+ Store(0x00000020, Local7)
+ Return (Add(Local7, m002()))
+ }
+ Store(Add(Local7, m001()), Local0)
+
+ if (LNotEqual(Local0, 0x87654321)) {
+ err(ts, z167, 0x00c, 0, 0, Local0, 0x87654321)
+ }
+
+ if (LNotEqual(Local7, 1)) {
+ err(ts, z167, 0x00d, 0, 0, Local7, 1)
+ }
+}
+
+/*
+ * Arg instead of i000 (in in01)
+ *
+ * see ns_0100.asl
+ */
+
+/*
+ * 8-level
+ * added writing into i000:
+ * Store(0x00040000, i000)
+ *
+ * dv01 +:
+ * m00X are passed with i000
+ * argX inside m00X is rewritten
+ */
+Method(dv04)
+{
+ Name(ts, "dv04")
+ Name(i000, 0x00000001)
+ Name(i001, 0)
+ Name(p000, Package() {1,2,3,4})
+
+ Method(m001, 2)
+ {
+ Method(m002, 2)
+ {
+ Method(m003, 2)
+ {
+ Method(m004, 2)
+ {
+ Method(m005, 2)
+ {
+ Method(m006, 2)
+ {
+ Method(m007, 2)
+ {
+ /*
+ * ====================== >>>>>>>>
+ * Sometimes, after I added a big group of
+ * 'If' operators, this fragment of code causes
+ * break of execution on MS. But, namely --
+ * sometimes! To investigate the reason I
+ * commented part by part of it to find
+ * workable code, then un-commented it
+ * part by part too.
+ * It entire initial code
+ * started working on MS again!
+ */
+ /*
+ Method(m008, 2)
+ {
+ if (i001)
+ {
+ CopyObject(p000, i000)
+ }
+ Store(0x10000008, arg0)
+ Return (0)
+ }
+ Store(0x80000000, i000)
+ Store(0x10000007, arg0)
+ Return (Add(i000, m008(i000, arg0)))
+ */
+ /*
+ * ====================== <<<<<<<<
+ */
+
+ Store(0x80000000, i000)
+ Store(0x10000007, arg0)
+ Add(i000, 0, Local0)
+
+ Return (Local0)
+ }
+ Store(0x07000000, i000)
+ Store(0x10000006, arg0)
+ Return (Add(i000, m007(i000, arg0)))
+ }
+ Store(0x00600000, i000)
+ Store(0x10000005, arg0)
+ Return (Add(i000, m006(i000, arg0)))
+ }
+ Store(0x00050000, i000)
+ Store(0x10000004, arg0)
+ Return (Add(i000, m005(i000, arg0)))
+ }
+ if (LNotEqual(arg0, 0x00000300)) {
+ err(ts, z167, 0x004, 0, 0, arg0, 0x00000300)
+ }
+ if (LNotEqual(arg1, 0x10000001)) {
+ err(ts, z167, 0x004, 0, 0, arg1, 0x10000001)
+ }
+ Store(0x00004000, i000)
+ Store(0x10000003, arg0)
+ Return (Add(i000, m004(i000, arg0)))
+ }
+ if (LNotEqual(arg0, 0x00000020)) {
+ err(ts, z167, 0x004, 0, 0, arg0, 0x00000020)
+ }
+ if (LNotEqual(i000, 0x00000020)) {
+ err(ts, z167, 0x004, 0, 0, i000, 0x00000020)
+ }
+ Store(0x10000002, arg0)
+ if (LNotEqual(i000, 0x00000020)) {
+ err(ts, z167, 0x004, 0, 0, i000, 0x00000020)
+ }
+ if (LNotEqual(arg0, 0x10000002)) {
+ err(ts, z167, 0x004, 0, 0, arg0, 0x10000002)
+ }
+ Store(0x00000300, i000)
+ if (LNotEqual(i000, 0x00000300)) {
+ err(ts, z167, 0x004, 0, 0, i000, 0x00000300)
+ }
+ if (LNotEqual(arg0, 0x10000002)) {
+ err(ts, z167, 0x004, 0, 0, arg0, 0x10000002)
+ }
+ if (LNotEqual(arg1, 0x10000001)) {
+ err(ts, z167, 0x004, 0, 0, arg1, 0x10000001)
+ }
+ Store(0x10000002, arg0)
+ Store(0x00000300, i000)
+ Return (Add(i000, m003(i000, arg1)))
+ }
+ if (LNotEqual(arg0, 0x00000001)) {
+ err(ts, z167, 0x004, 0, 0, arg0, 0x00000001)
+ }
+ if (LNotEqual(i000, 0x00000001)) {
+ err(ts, z167, 0x004, 0, 0, i000, 0x00000001)
+ }
+ Store(0x10000001, arg0)
+ if (LNotEqual(i000, 0x00000001)) {
+ err(ts, z167, 0x004, 0, 0, i000, 0x00000001)
+ }
+ if (LNotEqual(arg0, 0x10000001)) {
+ err(ts, z167, 0x004, 0, 0, arg0, 0x10000001)
+ }
+ Store(0x00000020, i000)
+ if (LNotEqual(i000, 0x00000020)) {
+ err(ts, z167, 0x004, 0, 0, i000, 0x00000020)
+ }
+ if (LNotEqual(arg0, 0x10000001)) {
+ err(ts, z167, 0x004, 0, 0, arg0, 0x10000001)
+ }
+ if (LNotEqual(arg1, 0x10000000)) {
+ err(ts, z167, 0x004, 0, 0, arg1, 0x10000000)
+ }
+ Store(0x10000001, arg0)
+ Store(0x00000020, i000)
+ Return (Add(i000, m002(i000, arg0)))
+ }
+ Store(Add(i000, m001(i000, 0x10000000)), Local0)
+
+ if (LNotEqual(Local0, 0x87654321)) {
+ err(ts, z167, 0x003, 0, 0, Local0, 0x87654321)
+ }
+
+ if (LNotEqual(i000, 0x80000000)) {
+ err(ts, z167, 0x004, 0, 0, i000, 0x80000000)
+ }
+}
+
+/*
+ * Note: now the checkings are so that dv05 succeeds on MS.
+ */
+Method(dv05)
+{
+ Name(ts, "dv05")
+
+ Name(i000, 0xabcd0000)
+ Name(s000, "qwrtyu0003")
+ Name(b000, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})
+ Name(p000, Package() {0xabcd0001, 0xabcd0002, 0xabcd0003})
+ Event(e000)
+ Mutex(mx00, 0)
+ Method(mmm0) {
+ Name(im00, 0xabcd0004)
+ Name(sm00, "qwertyui")
+ // Return ( "qwertyui" )
+ }
+ Method(mmm1) {
+ Name(im00, 0xabcd0004)
+ Name(sm00, "qwertyui")
+ // Return ( 0xabcd0004 )
+ Return ( "qwertyui" )
+ }
+ Device(d000) { Name(id00, 0xabcd0005) }
+ ThermalZone(tz00) { Name(itz0, 0xabcd0006) }
+ Processor(pr00, 0, 0xFFFFFFFF, 0) { Name(ipr0, 0xabcd0007) }
+ PowerResource(pw00, 1, 0) { Name(ipw0, 0xabcd0008) }
+ OperationRegion(r000, SystemMemory, 0x100, 0x100)
+
+ Name(b001, Buffer() {0xa0,0xa1,0xa2,0xa3,0xa4})
+ CreateField(b001, 0, 8, bf00)
+
+ OperationRegion(r001, SystemMemory, 0x100, 0x100)
+ Field(r001, ByteAcc, NoLock, Preserve) {f000,32, f001,32, f002,32, f003,32}
+ BankField(r001, f001, 0, ByteAcc, NoLock, Preserve) {bnk0,32}
+ IndexField(f002, f003, ByteAcc, NoLock, Preserve) {if00,32, if01,32}
+
+ Method(m001, 2)
+ {
+ Store(ObjectType(arg0), Local0)
+ if (LNotEqual(Local0, arg1)) {
+ err(ts, z167, 0x003, 0, 0, Local0, arg1)
+ }
+ Return (5)
+ }
+
+ CH03(ts, z167, 0x000, 0, 0)
+
+ Store(Add(DerefOf(Index(p000, 0)), m001(i000, c009)), Local0)
+ if (LNotEqual(Local0, 0xabcd0006)) {
+ err(ts, z167, 0x003, 0, 0, Local0, 0xabcd0006)
+ }
+ Store(Add(DerefOf(Index(p000, 0)), m001(s000, c00a)), Local0)
+ if (LNotEqual(Local0, 0xabcd0006)) {
+ err(ts, z167, 0x003, 0, 0, Local0, 0xabcd0006)
+ }
+ Store(Add(DerefOf(Index(p000, 0)), m001(b000, c00b)), Local0)
+ if (LNotEqual(Local0, 0xabcd0006)) {
+ err(ts, z167, 0x003, 0, 0, Local0, 0xabcd0006)
+ }
+ Store(Add(DerefOf(Index(p000, 0)), m001(p000, c00c)), Local0)
+ if (LNotEqual(Local0, 0xabcd0006)) {
+ err(ts, z167, 0x003, 0, 0, Local0, 0xabcd0006)
+ }
+ Store(Add(DerefOf(Index(p000, 0)), m001(e000, c00f)), Local0)
+ if (LNotEqual(Local0, 0xabcd0006)) {
+ err(ts, z167, 0x003, 0, 0, Local0, 0xabcd0006)
+ }
+ Store(Add(DerefOf(Index(p000, 0)), m001(mx00, c011)), Local0)
+ if (LNotEqual(Local0, 0xabcd0006)) {
+ err(ts, z167, 0x003, 0, 0, Local0, 0xabcd0006)
+ }
+ Store(Add(DerefOf(Index(p000, 0)), m001(mmm0, c008)), Local0)
+ if (LNotEqual(Local0, 0xabcd0006)) {
+ err(ts, z167, 0x003, 0, 0, Local0, 0xabcd0006)
+ }
+ Store(Add(DerefOf(Index(p000, 0)), m001(mmm1, c00a)), Local0)
+ if (LNotEqual(Local0, 0xabcd0006)) {
+ err(ts, z167, 0x003, 0, 0, Local0, 0xabcd0006)
+ }
+ Store(Add(DerefOf(Index(p000, 0)), m001(d000, c00e)), Local0)
+ if (LNotEqual(Local0, 0xabcd0006)) {
+ err(ts, z167, 0x003, 0, 0, Local0, 0xabcd0006)
+ }
+ Store(Add(DerefOf(Index(p000, 0)), m001(tz00, c015)), Local0)
+ if (LNotEqual(Local0, 0xabcd0006)) {
+ err(ts, z167, 0x003, 0, 0, Local0, 0xabcd0006)
+ }
+ Store(Add(DerefOf(Index(p000, 0)), m001(pr00, c014)), Local0)
+ if (LNotEqual(Local0, 0xabcd0006)) {
+ err(ts, z167, 0x003, 0, 0, Local0, 0xabcd0006)
+ }
+ Store(Add(DerefOf(Index(p000, 0)), m001(pw00, c013)), Local0)
+ if (LNotEqual(Local0, 0xabcd0006)) {
+ err(ts, z167, 0x003, 0, 0, Local0, 0xabcd0006)
+ }
+ Store(Add(DerefOf(Index(p000, 0)), m001(r000, c012)), Local0)
+ if (LNotEqual(Local0, 0xabcd0006)) {
+ err(ts, z167, 0x003, 0, 0, Local0, 0xabcd0006)
+ }
+ Store(Add(DerefOf(Index(p000, 0)), m001(bf00, c00b)), Local0)
+ if (LNotEqual(Local0, 0xabcd0006)) {
+ err(ts, z167, 0x003, 0, 0, Local0, 0xabcd0006)
+ }
+ Store(Add(DerefOf(Index(p000, 0)), m001(f000, c009)), Local0)
+ if (LNotEqual(Local0, 0xabcd0006)) {
+ err(ts, z167, 0x003, 0, 0, Local0, 0xabcd0006)
+ }
+ Store(Add(DerefOf(Index(p000, 0)), m001(bnk0, c009)), Local0)
+ if (LNotEqual(Local0, 0xabcd0006)) {
+ err(ts, z167, 0x003, 0, 0, Local0, 0xabcd0006)
+ }
+ Store(Add(DerefOf(Index(p000, 0)), m001(if00, c009)), Local0)
+ if (LNotEqual(Local0, 0xabcd0006)) {
+ err(ts, z167, 0x003, 0, 0, Local0, 0xabcd0006)
+ }
+
+ CH03(ts, z167, 0x000, 0, 0)
+}
+
+Method(dv06)
+{
+ Name(ts, "dv06")
+ Name(i000, 0xabcd0000)
+
+ Store(ObjectType(i000), Local0)
+ if (LNotEqual(Local0, c009)) {
+ err(ts, z167, 0x003, 0, 0, Local0, c009)
+ }
+}
+
+Method(dev0)
+{
+ SRMT("dv00")
+ dv00()
+
+ SRMT("dvf0")
+ dvf0()
+ SRMT("dvf1")
+ dvf1()
+
+ SRMT("dv01-0")
+ dv01(0)
+ SRMT("dv02")
+ dv02()
+ SRMT("dv03-0")
+ dv03(0)
+ SRMT("dv04")
+ dv04()
+ SRMT("dv05")
+ if (LAnd(fix1, chk3)) {
+ /*
+ * It breaks MS while re-booting,
+ * for ACPICA it causes exception
+ * and breaks path.
+ */
+ dv05()
+ } else {
+ BLCK()
+ }
+ SRMT("dv06")
+ dv06()
+}
+
diff --git a/tests/aslts/src/runtime/collections/Identity2MS/abbu/device/ns_dv10.asl b/tests/aslts/src/runtime/collections/Identity2MS/abbu/device/ns_dv10.asl
new file mode 100644
index 000000000..cb78b5aa5
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/Identity2MS/abbu/device/ns_dv10.asl
@@ -0,0 +1,985 @@
+/*
+ * Tests originated from namespace/ns1
+ */
+
+/*
+ * Package/Buffer/String/Field/IndexField/BankField/BufferField
+ *
+ * Tests below are here
+ * as specific type arguments passing -
+ * arguments though passed directly to method, not as references,
+ * nevertheless allow access to the elements of original objects.
+ */
+
+Name(z164, 164)
+
+/*
+ *
+ * Read/write access to elemens of Package passed to method.
+ *
+ */
+
+/*
+ *
+ * Elements of Package are constant Integer (0xabcd0000)
+ *
+ */
+
+/*
+ * Package is passed by ArgX to method:
+ * - directly
+ */
+Method(in10)
+{
+ Name(ts, "in10")
+ Name(p000, Package() {0xabcd0000, 0xabcd0001, 0xabcd0002})
+ Method(m001, 2)
+ {
+ Store(DerefOf(Index(arg0, 0)), Local0)
+ if (LNotEqual(Local0, 0xabcd0000)) {
+ err(ts, z164, 0x000, 0, 0, Local0, 0xabcd0000)
+ }
+
+ Store(0x11112222, Index(arg0, 0))
+
+ Store(DerefOf(Index(arg0, 0)), Local0)
+ if (LNotEqual(Local0, 0x11112222)) {
+ err(ts, z164, 0x000, 0, 0, Local0, 0x11112222)
+ }
+ }
+
+ m001(p000, RefOf(p000))
+
+ Store(DerefOf(Index(p000, 0)), Local0)
+ if (LNotEqual(Local0, 0x11112222)) {
+ err(ts, z164, 0x000, 0, 0, Local0, 0x11112222)
+ }
+
+ Store(DerefOf(Index(p000, 1)), Local0)
+ if (LNotEqual(Local0, 0xabcd0001)) {
+ err(ts, z164, 0x000, 0, 0, Local0, 0xabcd0001)
+ }
+}
+
+/*
+ * Package is passed by ArgX to method:
+ * - by ORef
+ */
+Method(in11)
+{
+ Name(ts, "in11")
+ Name(p000, Package() {0xabcd0000, 0xabcd0001, 0xabcd0002})
+ Method(m001, 2)
+ {
+ Store(DerefOf(arg1), Local7)
+
+ Store(DerefOf(Index(Local7, 1)), Local0)
+ if (LNotEqual(Local0, 0xabcd0001)) {
+ err(ts, z164, 0x000, 0, 0, Local0, 0xabcd0001)
+ }
+
+ Store(0x33334444, Index(Local7, 1))
+
+ Store(DerefOf(Index(Local7, 1)), Local0)
+ if (LNotEqual(Local0, 0x33334444)) {
+ err(ts, z164, 0x000, 0, 0, Local0, 0x33334444)
+ }
+ }
+
+ m001(p000, RefOf(p000))
+
+ Store(DerefOf(Index(p000, 0)), Local0)
+ if (LNotEqual(Local0, 0xabcd0000)) {
+ err(ts, z164, 0x000, 0, 0, Local0, 0xabcd0000)
+ }
+
+ Store(DerefOf(Index(p000, 1)), Local0)
+ if (LNotEqual(Local0, 0xabcd0001)) {
+ err(ts, z164, 0x000, 0, 0, Local0, 0xabcd0001)
+ }
+}
+
+/*
+ * Package is passed by ArgX to method:
+ * - directly
+ * - by ORef
+ */
+Method(in12)
+{
+ Name(ts, "in12")
+ Name(p000, Package() {0xabcd0000, 0xabcd0001, 0xabcd0002})
+ Method(m001, 2)
+ {
+ Store(0x11112222, Index(arg0, 0))
+
+ Store(DerefOf(Index(arg0, 0)), Local0)
+ if (LNotEqual(Local0, 0x11112222)) {
+ err(ts, z164, 0x000, 0, 0, Local0, 0x11112222)
+ }
+
+ Store(DerefOf(arg1), Local7)
+ Store(0x33334444, Index(Local7, 1))
+
+ Store(DerefOf(Index(Local7, 1)), Local0)
+ if (LNotEqual(Local0, 0x33334444)) {
+ err(ts, z164, 0x000, 0, 0, Local0, 0x33334444)
+ }
+ }
+
+ m001(p000, RefOf(p000))
+
+ Store(DerefOf(Index(p000, 0)), Local0)
+ if (LNotEqual(Local0, 0x11112222)) {
+ err(ts, z164, 0x000, 0, 0, Local0, 0x11112222)
+ }
+
+ Store(DerefOf(Index(p000, 1)), Local0)
+ if (LNotEqual(Local0, 0xabcd0001)) {
+ err(ts, z164, 0x000, 0, 0, Local0, 0xabcd0001)
+ }
+}
+
+/*
+ * Package is given directly by name:
+ * - do ORef and pass to LocalX
+ * - do DerefOf and pass to LocalX
+ */
+Method(in13)
+{
+ Name(ts, "in13")
+ Name(p000, Package() {0xabcd0000, 0xabcd0001, 0xabcd0002})
+ Method(m001, 2)
+ {
+ Store(RefOf(p000), Local6)
+ Store(DerefOf(Local6), Local7)
+
+ Store(DerefOf(Index(Local7, 1)), Local0)
+ if (LNotEqual(Local0, 0xabcd0001)) {
+ err(ts, z164, 0x000, 0, 0, Local0, 0xabcd0001)
+ }
+
+ Store(0x33334444, Index(Local7, 1))
+
+ Store(DerefOf(Index(Local7, 1)), Local0)
+ if (LNotEqual(Local0, 0x33334444)) {
+ err(ts, z164, 0x000, 0, 0, Local0, 0x33334444)
+ }
+ }
+
+ m001(p000, RefOf(p000))
+
+ Store(DerefOf(Index(p000, 0)), Local0)
+ if (LNotEqual(Local0, 0xabcd0000)) {
+ err(ts, z164, 0x000, 0, 0, Local0, 0xabcd0000)
+ }
+ Store(DerefOf(Index(p000, 1)), Local0)
+ if (LNotEqual(Local0, 0xabcd0001)) {
+ err(ts, z164, 0x000, 0, 0, Local0, 0xabcd0001)
+ }
+ Store(DerefOf(Index(p000, 2)), Local0)
+ if (LNotEqual(Local0, 0xabcd0002)) {
+ err(ts, z164, 0x000, 0, 0, Local0, 0xabcd0002)
+ }
+}
+
+/*
+ *
+ * Elements of Package are Named Integer (i000)
+ *
+ */
+
+/*
+ * Package is passed by ArgX to method
+ *
+ * fail
+ *
+ * Note:
+ * Named element of Package is simply not implemented by MS,
+ * i000 in Package(){i000} is, on MS, the same as Package(){"i000"}.
+ */
+Method(in14)
+{
+ Name(ts, "in14")
+ Name(i000, 0xabcd0000)
+ Name(i001, 0xabcd0001)
+ Name(i002, 0xabcd0002)
+
+ Name(ii00, 0x11112222)
+
+ Name(p000, Package() {i000, i001, i002, "i000"})
+ Method(m001, 2)
+ {
+ Store(DerefOf(Index(arg0, 0)), Local0)
+ if (LNotEqual(Local0, 0xabcd0000)) {
+ err(ts, z164, 0x000, 0, 0, Local0, 0xabcd0000)
+ }
+ Store(DerefOf(Index(arg0, 1)), Local0)
+ if (LNotEqual(Local0, 0xabcd0001)) {
+ err(ts, z164, 0x000, 0, 0, Local0, 0xabcd0001)
+ }
+ Store(DerefOf(Index(arg0, 2)), Local0)
+ if (LNotEqual(Local0, 0xabcd0002)) {
+ err(ts, z164, 0x000, 0, 0, Local0, 0xabcd0002)
+ }
+ Store(DerefOf(Index(arg0, 3)), Local0)
+ if (LNotEqual(Local0, "i000")) {
+ err(ts, z164, 0x000, 0, 0, Local0, "i000")
+ }
+
+ Store(ii00, Index(arg0, 0))
+
+ Store(DerefOf(Index(arg0, 0)), Local0)
+ if (LNotEqual(Local0, 0x11112222)) {
+ err(ts, z164, 0x000, 0, 0, Local0, 0x11112222)
+ }
+ }
+
+ m001(p000, RefOf(p000))
+
+ Store(DerefOf(Index(p000, 0)), Local0)
+ if (LNotEqual(Local0, 0x11112222)) {
+ err(ts, z164, 0x000, 0, 0, Local0, 0x11112222)
+ }
+
+ Store(DerefOf(Index(p000, 1)), Local0)
+ if (LNotEqual(Local0, 0xabcd0001)) {
+ err(ts, z164, 0x000, 0, 0, Local0, 0xabcd0001)
+ }
+
+ Store(DerefOf(Index(p000, 2)), Local0)
+ if (LNotEqual(Local0, 0xabcd0002)) {
+ err(ts, z164, 0x000, 0, 0, Local0, 0xabcd0002)
+ }
+
+ Store(DerefOf(Index(p000, 3)), Local0)
+ if (LNotEqual(Local0, "i000")) {
+ err(ts, z164, 0x000, 0, 0, Local0, "i000")
+ }
+}
+
+/*
+ * Package is used directly by Name
+ *
+ * Example to show behaviour of MS for Package(){i000}
+ *
+ * Note:
+ * Named element of Package is simply not implemented by MS,
+ * i000 in Package(){i000} is, on MS, the same as Package(){"i000"}.
+ */
+Method(in15)
+{
+ Name(ts, "in15")
+ Name(i000, 0xabcd0000)
+ Name(i001, 0xabcd0001)
+ Name(i002, 0xabcd0002)
+
+ Name(ii00, 0x11112222)
+
+ Name(p000, Package() {i000, i001, i002, "i000"})
+
+ Store(DerefOf(Index(p000, 0)), Local0)
+ OUTP(Local0)
+ Store(DerefOf(Index(p000, 1)), Local0)
+ OUTP(Local0)
+ Store(DerefOf(Index(p000, 2)), Local0)
+ OUTP(Local0)
+ Store(DerefOf(Index(p000, 3)), Local0)
+ OUTP(Local0)
+
+ Store(ii00, Index(p000, 1))
+
+ OUTP("After re-write 1-th element:")
+
+ Store(DerefOf(Index(p000, 0)), Local0)
+ OUTP(Local0)
+ Store(DerefOf(Index(p000, 1)), Local0)
+ OUTP(Local0)
+ Store(DerefOf(Index(p000, 2)), Local0)
+ OUTP(Local0)
+ Store(DerefOf(Index(p000, 3)), Local0)
+ OUTP(Local0)
+}
+
+/*
+ * Buffer
+ */
+
+Method(in16)
+{
+ Name(ts, "in16")
+ Name(b000, Buffer() {0x10, 0x11, 0x12})
+ Method(m001, 2)
+ {
+ // arg0 - b000
+ Store(DerefOf(Index(arg0, 0)), Local0)
+ if (LNotEqual(Local0, 0x10)) {
+ err(ts, z164, 0x000, 0, 0, Local0, 0x10)
+ }
+
+ Store(0x67, Index(arg0, 0))
+
+ Store(DerefOf(Index(arg0, 0)), Local0)
+ if (LNotEqual(Local0, 0x67)) {
+ err(ts, z164, 0x000, 0, 0, Local0, 0x67)
+ }
+
+ // arg1 - RefOf(b000)
+
+ Store(DerefOf(arg1), Local7)
+ Store(0x55, Index(Local7, 1))
+
+ Store(DerefOf(Index(Local7, 1)), Local0)
+ if (LNotEqual(Local0, 0x55)) {
+ err(ts, z164, 0x000, 0, 0, Local0, 0x55)
+ }
+ }
+
+ m001(b000, RefOf(b000))
+
+ Store(DerefOf(Index(b000, 0)), Local0)
+ if (LNotEqual(Local0, 0x67)) {
+ err(ts, z164, 0x002, 0, 0, Local0, 0x67)
+ }
+
+ Store(DerefOf(Index(b000, 1)), Local0)
+ if (LNotEqual(Local0, 0x11)) {
+ err(ts, z164, 0x002, 0, 0, Local0, 0x11)
+ }
+
+ Store(DerefOf(Index(b000, 2)), Local0)
+ if (LNotEqual(Local0, 0x12)) {
+ err(ts, z164, 0x002, 0, 0, Local0, 0x12)
+ }
+}
+
+/*
+ * Element of Package instead of i000 (in in02)
+ *
+ * Recursive call to m001
+ */
+Method(in17)
+{
+ Name(ts, "in17")
+ Name(i001, 0)
+ Name(pp00, Package() {0x11111111, 0x00100000, 0x22223333})
+
+ Method(m001)
+ {
+ /*
+ * Because of the stack overflow issues on MS the number
+ * of repetitions was changed from 100 to 11 here.
+ */
+ if (LLess(i001, 11)) {
+
+ Store(DerefOf(Index(pp00, 1)), Local0)
+ Increment(Local0)
+ Store(Local0, Index(pp00, 1))
+ Increment(i001)
+ Add(DerefOf(Index(pp00, 1)), m001(), Local0)
+ Return (Local0)
+ }
+ Return (0)
+ }
+ Store(Add(DerefOf(Index(pp00, 1)), m001()), Local0)
+
+ if (LNotEqual(Local0, 0x00c00042)) {
+ err(ts, z164, 0x00a, 0, 0, Local0, 0x00c00042)
+ }
+
+ Store(DerefOf(Index(pp00, 1)), Local0)
+
+ if (LNotEqual(Local0, 0x0010000b)) {
+ err(ts, z164, 0x00b, 0, 0, Local0, 0x0010000b)
+ }
+
+ CH03(ts, z164, 0x00c, 0, 0)
+}
+
+/*
+ * Buffer Field instead of i000 (in in01)
+ *
+ * fail
+ *
+ * Note: Buffer Field in expressions is not supported by MS,
+ * see msfail.asl
+ */
+
+/*
+ * Field instead of i000 (in in01)
+ */
+Method(in18, 1)
+{
+ Name(ts, "in18")
+ Name(i001, 0)
+ OperationRegion(r000, SystemMemory, 0x100, 0x100)
+ Field(r000, ByteAcc, NoLock, Preserve) { f000,32, f001,32 }
+
+ CH03(ts, z164, 0x011, 0, 0)
+
+ Store(arg0, i001)
+
+ Method(m001)
+ {
+ Method(m002)
+ {
+ Method(m003)
+ {
+ Method(m004)
+ {
+ Method(m005)
+ {
+ Method(m006)
+ {
+ Method(m007)
+ {
+ Method(m008)
+ {
+ if (i001)
+ {
+ Store(0x11223344, f001)
+ }
+ Return (0)
+ }
+ Store(0x80000000, f001)
+ Return (Add(f001, m008()))
+ }
+ Store(0x07000000, f001)
+ Return (Add(f001, m007()))
+ }
+ Store(0x00600000, f001)
+ Return (Add(f001, m006()))
+ }
+ Store(0x00050000, f001)
+ Return (Add(f001, m005()))
+ }
+ Store(0x00004000, f001)
+ Return (Add(f001, m004()))
+ }
+ Store(0x00000300, f001)
+ Return (Add(f001, m003()))
+ }
+ Store(0x00000020, f001)
+ Return (Add(f001, m002()))
+ }
+
+ Store(0x00000001, f001)
+
+ Store(Add(f001, m001()), Local0)
+
+ if (LNotEqual(Local0, 0x87654321)) {
+ err(ts, z164, 0x012, 0, 0, Local0, 0x87654321)
+ }
+
+ if (arg0) {
+ Store(0x11223344, Local1)
+ } else {
+ Store(0x80000000, Local1)
+ }
+
+ if (LNotEqual(f001, Local1)) {
+ err(ts, z164, 0x013, 0, 0, f001, Local1)
+ }
+
+ CH03(ts, z164, 0x014, 0, 0)
+}
+
+/*
+ * Bank Field instead of i000 (in in01)
+ *
+ * (is this test correct?)
+ */
+Method(in19, 1)
+{
+ Name(ts, "in19")
+ Name(i001, 0)
+ OperationRegion(r000, SystemMemory, 0x100, 0x100)
+ Field(r000, ByteAcc, NoLock, Preserve) { f000,32, f001,32 }
+ BankField(r000, f001, 0, ByteAcc, NoLock, Preserve) { bnk0, 32 }
+
+ CH03(ts, z164, 0x015, 0, 0)
+
+ Store(arg0, i001)
+
+ Method(m001)
+ {
+ Method(m002)
+ {
+ Method(m003)
+ {
+ Method(m004)
+ {
+ Method(m005)
+ {
+ Method(m006)
+ {
+ Method(m007)
+ {
+ Method(m008)
+ {
+ if (i001)
+ {
+ Store(0x11223344, bnk0)
+ }
+ Return (0)
+ }
+ Store(0x80000000, bnk0)
+ Return (Add(bnk0, m008()))
+ }
+ Store(0x07000000, bnk0)
+ Return (Add(bnk0, m007()))
+ }
+ Store(0x00600000, bnk0)
+ Return (Add(bnk0, m006()))
+ }
+ Store(0x00050000, bnk0)
+ Return (Add(bnk0, m005()))
+ }
+ Store(0x00004000, bnk0)
+ Return (Add(bnk0, m004()))
+ }
+ Store(0x00000300, bnk0)
+ Return (Add(bnk0, m003()))
+ }
+ Store(0x00000020, bnk0)
+ Return (Add(bnk0, m002()))
+ }
+
+ Store(0x00000001, bnk0)
+
+ Store(Add(bnk0, m001()), Local0)
+
+ if (LNotEqual(Local0, 0x87654321)) {
+ err(ts, z164, 0x016, 0, 0, Local0, 0x87654321)
+ }
+
+ if (arg0) {
+ Store(0x11223344, Local1)
+ } else {
+ Store(0x80000000, Local1)
+ }
+
+ if (LNotEqual(bnk0, Local1)) {
+ err(ts, z164, 0x017, 0, 0, bnk0, Local1)
+ }
+
+ CH03(ts, z164, 0x018, 0, 0)
+}
+
+/*
+ * Index Field instead of i000 (in in01)
+ *
+ * (is this test correct?)
+ */
+Method(in1a, 1)
+{
+ Name(ts, "in1a")
+ Name(i001, 0)
+ OperationRegion(r000, SystemMemory, 0x100, 0x100)
+ Field(r000, ByteAcc, NoLock, Preserve) { f000,32, f001,32 }
+ IndexField(f000, f001, ByteAcc, NoLock, Preserve) { if00, 32 }
+
+ CH03(ts, z164, 0x019, 0, 0)
+
+ Store(arg0, i001)
+
+ Method(m001)
+ {
+ Method(m002)
+ {
+ Method(m003)
+ {
+ Method(m004)
+ {
+ Method(m005)
+ {
+ Method(m006)
+ {
+ Method(m007)
+ {
+ Method(m008)
+ {
+ if (i001)
+ {
+ Store(0x11223344, if00)
+ }
+ Return (0)
+ }
+ Store(0x80000000, if00)
+ Return (Add(if00, m008()))
+ }
+ Store(0x07000000, if00)
+ Return (Add(if00, m007()))
+ }
+ Store(0x00600000, if00)
+ Return (Add(if00, m006()))
+ }
+ Store(0x00050000, if00)
+ Return (Add(if00, m005()))
+ }
+ Store(0x00004000, if00)
+ Return (Add(if00, m004()))
+ }
+ Store(0x00000300, if00)
+ Return (Add(if00, m003()))
+ }
+ Store(0x00000020, if00)
+ Return (Add(if00, m002()))
+ }
+
+ Store(0x00000001, if00)
+
+ Store(Add(if00, m001()), Local0)
+
+ /*
+ * The benchmark values for arg0==0 below
+ * are how MS actually works.
+ */
+
+ if (LNotEqual(Local0, 0x87878787)) {
+ err(ts, z164, 0x01a, 0, 0, Local0, 0x87878787)
+ }
+
+ if (arg0) {
+ Store(0x11223344, Local1)
+ } else {
+ Store(0x80808080, Local1)
+ }
+
+ if (LNotEqual(if00, Local1)) {
+ err(ts, z164, 0x01b, 0, 0, if00, Local1)
+ }
+
+ CH03(ts, z164, 0x01c, 0, 0)
+}
+
+/*
+ * Element of Buffer instead of i000 (in in01)
+ */
+Method(in1b, 1)
+{
+ Name(ts, "in1b")
+ Name(i001, 0)
+ Name(b000, Buffer() {0x11, 0x01, 0x22})
+
+ CH03(ts, z164, 0x01d, 0, 0)
+
+ Store(arg0, i001)
+
+ Method(m001)
+ {
+ Method(m002)
+ {
+ Method(m003)
+ {
+ Method(m004)
+ {
+ Method(m005)
+ {
+ Method(m006)
+ {
+ Method(m007)
+ {
+ Return (0)
+ }
+ Store(0x07, Index(b000, 1))
+ Return (Add(DerefOf(Index(b000, 1)), m007()))
+ }
+ Store(0x06, Index(b000, 1))
+ Return (Add(DerefOf(Index(b000, 1)), m006()))
+ }
+ Store(0x05, Index(b000, 1))
+ Return (Add(DerefOf(Index(b000, 1)), m005()))
+ }
+ Store(0x04, Index(b000, 1))
+ Return (Add(DerefOf(Index(b000, 1)), m004()))
+ }
+ Store(0x03, Index(b000, 1))
+ Return (Add(DerefOf(Index(b000, 1)), m003()))
+ }
+ Store(0x02, Index(b000, 1))
+ Return (Add(DerefOf(Index(b000, 1)), m002()))
+ }
+ Store(Add(DerefOf(Index(b000, 1)), m001()), Local0)
+
+ if (LNotEqual(Local0, 0x1c)) {
+ err(ts, z164, 0x01e, 0, 0, Local0, 0x1c)
+ }
+
+ Store(DerefOf(Index(b000, 1)), Local0)
+
+ if (arg0) {
+ Store(0xff, Local1)
+ } else {
+ Store(0x07, Local1)
+ }
+
+ if (LNotEqual(Local0, Local1)) {
+ err(ts, z164, 0x01f, 0, 0, Local0, Local1)
+ }
+
+ CH03(ts, z164, 0x020, 0, 0)
+}
+
+/*
+ * Element of Buffer instead of i000 (in in01)
+ *
+ * in1b+:
+ * added argument to methods and b000 passed without any use of that
+ * parameter inside the methods
+ */
+Method(in1c, 1)
+{
+ Name(ts, "in1c")
+ Name(i001, 0)
+ Name(b000, Buffer() {0x11, 0x01, 0x22})
+
+ CH03(ts, z164, 0x01d, 0, 0)
+
+ Store(arg0, i001)
+
+ Method(m000, 1)
+ {
+
+ Method(m001, 1)
+ {
+ Method(m002, 1)
+ {
+ Method(m003, 1)
+ {
+ Method(m004, 1)
+ {
+ Method(m005, 1)
+ {
+ Method(m006, 1)
+ {
+ Method(m007, 1)
+ {
+ Return (0)
+ }
+ Store(0x07, Index(b000, 1))
+ Return (Add(DerefOf(Index(b000, 1)), m007(b000)))
+ }
+ Store(0x06, Index(b000, 1))
+ Return (Add(DerefOf(Index(b000, 1)), m006(b000)))
+ }
+ Store(0x05, Index(b000, 1))
+ Return (Add(DerefOf(Index(b000, 1)), m005(b000)))
+ }
+ Store(0x04, Index(b000, 1))
+ Return (Add(DerefOf(Index(b000, 1)), m004(b000)))
+ }
+ Store(0x03, Index(b000, 1))
+ Return (Add(DerefOf(Index(b000, 1)), m003(b000)))
+ }
+ Store(0x02, Index(b000, 1))
+ Return (Add(DerefOf(Index(b000, 1)), m002(b000)))
+ }
+ Store(Add(DerefOf(Index(b000, 1)), m001(b000)), Local0)
+ Return (Local0)
+ }
+
+ CH03(ts, z164, 0x000, 0, 0)
+
+ Store(m000(b000), Local0)
+
+ if (LNotEqual(Local0, 0x1c)) {
+ err(ts, z164, 0x01e, 0, 0, Local0, 0x1c)
+ }
+
+ Store(DerefOf(Index(b000, 1)), Local0)
+
+ if (arg0) {
+ Store(0xff, Local1)
+ } else {
+ Store(0x07, Local1)
+ }
+
+ if (LNotEqual(Local0, Local1)) {
+ err(ts, z164, 0x01f, 0, 0, Local0, Local1)
+ }
+
+ CH03(ts, z164, 0x020, 0, 0)
+}
+
+
+/*
+ * Element of Package instead of i000 (in in01)
+ */
+Method(in1d)
+{
+ Name(ts, "in1d")
+ Name(i001, 0)
+ Name(p000, Package() {1,2,3,4})
+ Name(pp00, Package() {0x11111111, 0x00000001, 0x22223333})
+
+ CH03(ts, z164, 0x006, 0, 0)
+
+ Method(m001)
+ {
+ Method(m002)
+ {
+ Method(m003)
+ {
+ Method(m004)
+ {
+ Method(m005)
+ {
+ Method(m006)
+ {
+ Method(m007)
+ {
+ Return (0)
+ }
+ Store(0x07000000, Index(pp00, 1))
+ Return (Add(DerefOf(Index(pp00, 1)), m007()))
+ }
+ Store(0x00600000, Index(pp00, 1))
+ Return (Add(DerefOf(Index(pp00, 1)), m006()))
+ }
+ Store(0x00050000, Index(pp00, 1))
+ Return (Add(DerefOf(Index(pp00, 1)), m005()))
+ }
+ Store(0x00004000, Index(pp00, 1))
+ Return (Add(DerefOf(Index(pp00, 1)), m004()))
+ }
+ Store(0x00000300, Index(pp00, 1))
+ Return (Add(DerefOf(Index(pp00, 1)), m003()))
+ }
+ Store(0x00000020, Index(pp00, 1))
+ Return (Add(DerefOf(Index(pp00, 1)), m002()))
+ }
+ Store(Add(DerefOf(Index(pp00, 1)), m001()), Local0)
+
+ if (LNotEqual(Local0, 0x07654321)) {
+ err(ts, z164, 0x007, 0, 0, Local0, 0x07654321)
+ }
+
+ Store(DerefOf(Index(pp00, 1)), Local0)
+
+ if (LNotEqual(Local0, 0x07000000)) {
+ err(ts, z164, 0x008, 0, 0, Local0, 0x07000000)
+ }
+
+ CH03(ts, z164, 0x009, 0, 0)
+}
+
+/*
+ * Element of Package instead of i000 (in in01)
+ *
+ * in1d+:
+ * added argument to methods and b000 passed without any use of that
+ * parameter inside the methods
+ */
+Method(in1e)
+{
+ Name(ts, "in1e")
+ Name(i001, 0)
+ Name(p000, Package() {1,2,3,4})
+ Name(pp00, Package() {0x11111111, 0x00000001, 0x22223333})
+
+ CH03(ts, z164, 0x006, 0, 0)
+
+ Method(m000, 1)
+ {
+
+ Method(m001, 1)
+ {
+ Method(m002, 1)
+ {
+ Method(m003, 1)
+ {
+ Method(m004, 1)
+ {
+ Method(m005, 1)
+ {
+ Method(m006, 1)
+ {
+ Method(m007, 1)
+ {
+ Return (0)
+ }
+ Store(0x07000000, Index(pp00, 1))
+ Return (Add(DerefOf(Index(pp00, 1)), m007(pp00)))
+ }
+ Store(0x00600000, Index(pp00, 1))
+ Return (Add(DerefOf(Index(pp00, 1)), m006(pp00)))
+ }
+ Store(0x00050000, Index(pp00, 1))
+ Return (Add(DerefOf(Index(pp00, 1)), m005(pp00)))
+ }
+ Store(0x00004000, Index(pp00, 1))
+ Return (Add(DerefOf(Index(pp00, 1)), m004(pp00)))
+ }
+ Store(0x00000300, Index(pp00, 1))
+ Return (Add(DerefOf(Index(pp00, 1)), m003(pp00)))
+ }
+ Store(0x00000020, Index(pp00, 1))
+ Return (Add(DerefOf(Index(pp00, 1)), m002(pp00)))
+ }
+ Store(Add(DerefOf(Index(pp00, 1)), m001(pp00)), Local0)
+ Return (Local0)
+ }
+
+ CH03(ts, z164, 0x000, 0, 0)
+
+ Store(m000(pp00), Local0)
+
+ if (LNotEqual(Local0, 0x07654321)) {
+ err(ts, z164, 0x007, 0, 0, Local0, 0x07654321)
+ }
+
+ Store(DerefOf(Index(pp00, 1)), Local0)
+
+ if (LNotEqual(Local0, 0x07000000)) {
+ err(ts, z164, 0x008, 0, 0, Local0, 0x07000000)
+ }
+
+ CH03(ts, z164, 0x009, 0, 0)
+}
+
+Method(ini1)
+{
+ SRMT("in10")
+ in10()
+ SRMT("in11")
+ in11()
+ SRMT("in12")
+ in12()
+ SRMT("in13")
+ in13()
+ SRMT("in14")
+ if (chk0) {
+ in14()
+ } else {
+ BLCK()
+ }
+ SRMT("in15")
+ if (chk0) {
+ in15()
+ } else {
+ BLCK()
+ }
+ SRMT("in16")
+ in16()
+ SRMT("in17")
+ in17()
+ SRMT("in18-0")
+ in18(0)
+ SRMT("in19-0")
+ in19(0)
+ SRMT("in1a-0")
+ in1a(0)
+ SRMT("in1b-0")
+ in1b(0)
+ SRMT("in1c-0")
+ in1c(0)
+ SRMT("in1d")
+ in1d()
+ SRMT("in1e")
+ if (fix0) {
+ in1e()
+ } else {
+ BLCK()
+ }
+}
+
diff --git a/tests/aslts/src/runtime/collections/Identity2MS/abbu/device/ns_dv20.asl b/tests/aslts/src/runtime/collections/Identity2MS/abbu/device/ns_dv20.asl
new file mode 100644
index 000000000..1b0c10670
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/Identity2MS/abbu/device/ns_dv20.asl
@@ -0,0 +1,248 @@
+/*
+ * Source file ns_0000.asl
+ *
+ * The tests differ those from ns_0000.asl by that the objects are
+ * passed to methods as argument (Arg) but not directly by name.
+ */
+
+Name(z165, 165)
+
+/*
+ * Named Integer i000
+ */
+
+/*
+ * Simple, 3-level
+ */
+Method(in20, 1)
+{
+ Name(ts, "in20")
+ Name(i000, 0x00000001)
+ Name(p000, Package() {1,2,3,4})
+
+ Name(i001, 0)
+
+ CH03(ts, z165, 0x000, 0, 0)
+
+ Store(arg0, i001)
+
+ Method(m000, 1)
+ {
+ Method(m001, 1)
+ {
+ Method(m002, 1)
+ {
+ Method(m003, 1)
+ {
+ if (i001) {
+ CopyObject(p000, arg0)
+ }
+ Return (0xabcd0000)
+ }
+ Return (Add(arg0, m003(arg0)))
+ }
+ Return (Add(arg0, m002(arg0)))
+ }
+ Store(Add(arg0, m001(arg0)), Local0)
+
+ Return (Local0)
+ }
+
+ Store(m000(i000), Local0)
+
+ if (LNotEqual(Local0, 0xabcd0003)) {
+ err(ts, z165, 0x001, 0, 0, Local0, 0xabcd0003)
+ }
+}
+
+/*
+ * 8-level
+ * added writing into i000:
+ * Store(0x00040000, i000)
+ */
+Method(in21, 1)
+{
+ Name(ts, "in21")
+ Name(i000, 0x00000001)
+ Name(i001, 0)
+ Name(p000, Package() {1,2,3,4})
+
+ Store(arg0, i001)
+
+ Method(m001, 1)
+ {
+ Method(m002, 1)
+ {
+ Method(m003, 1)
+ {
+ Method(m004, 1)
+ {
+ Method(m005, 1)
+ {
+ Method(m006, 1)
+ {
+ Method(m007, 1)
+ {
+ Method(m008, 1)
+ {
+ if (i001)
+ {
+ CopyObject(p000, arg0)
+ }
+ Return (0)
+ }
+ Store(0x80000000, arg0)
+ Return (Add(arg0, m008(arg0)))
+ }
+ Store(0x07000000, arg0)
+ Return (Add(arg0, m007(arg0)))
+ }
+ Store(0x00600000, arg0)
+ Return (Add(arg0, m006(arg0)))
+ }
+ Store(0x00050000, arg0)
+ Return (Add(arg0, m005(arg0)))
+ }
+ Store(0x00004000, arg0)
+ Return (Add(arg0, m004(arg0)))
+ }
+ Store(0x00000300, arg0)
+ Return (Add(arg0, m003(arg0)))
+ }
+ Store(0x00000020, arg0)
+ Return (Add(arg0, m002(arg0)))
+ }
+
+ Store(Add(i000, m001(i000)), Local0)
+
+ if (LNotEqual(Local0, 0x87654321)) {
+ err(ts, z165, 0x003, 0, 0, Local0, 0x87654321)
+ }
+
+ if (LNotEqual(i000, 0x00000001)) {
+ err(ts, z165, 0x004, 0, 0, i000, 0x00000001)
+ }
+}
+
+/*
+ * Recurcive execution of m001:
+ * Add(i000, m001(), Local0)
+ */
+Method(in22)
+{
+ Name(ts, "in22")
+ Name(i000, 0x00100000)
+ Name(i001, 0)
+
+ Method(m000, 1)
+ {
+ Method(m001, 1)
+ {
+ /*
+ * Because of the stack overflow issues on MS the number
+ * of repetitions was changed from 100 to 9 here.
+ */
+ if (LLess(i001, 9)) {
+ Increment(arg0)
+ Increment(i001)
+ Add(arg0, m001(arg0), Local0)
+ Return (Local0)
+ }
+ Return (0)
+ }
+ Store(Add(arg0, m001(arg0)), Local0)
+ Return (Local0)
+ }
+
+ Store(Add(i000, m000(i000)), Local0)
+
+ if (LNotEqual(Local0, 0x00b0002d)) {
+ err(ts, z165, 0x006, 0, 0, Local0, 0x00b0002d)
+ }
+
+ if (LNotEqual(i000, 0x00100000)) {
+ err(ts, z165, 0x007, 0, 0, i000, 0x00100000)
+ }
+}
+
+/*
+ * Arg instead of i000 (in in01)
+ */
+Method(in23, 2)
+{
+ Name(ts, "in23")
+ Name(i001, 0)
+ Name(p000, Package() {1,2,3,4})
+
+ Store(arg0, i001)
+
+ Store(0x00000001, arg1)
+
+ Method(m001, 1)
+ {
+ Method(m002, 1)
+ {
+ Method(m003, 1)
+ {
+ Method(m004, 1)
+ {
+ Method(m005, 1)
+ {
+ Method(m006, 1)
+ {
+ Method(m007, 1)
+ {
+ Method(m008, 1)
+ {
+ if (i001)
+ {
+ CopyObject(p000, arg0)
+ }
+ Return (0)
+ }
+ Store(0x80000000, arg0)
+ Return (Add(arg0, m008(8)))
+ }
+ Store(0x07000000, arg0)
+ Return (Add(arg0, m007(7)))
+ }
+ Store(0x00600000, arg0)
+ Return (Add(arg0, m006(6)))
+ }
+ Store(0x00050000, arg0)
+ Return (Add(arg0, m005(5)))
+ }
+ Store(0x00004000, arg0)
+ Return (Add(arg0, m004(4)))
+ }
+ Store(0x00000300, arg0)
+ Return (Add(arg0, m003(3)))
+ }
+ Store(0x00000020, arg0)
+ Return (Add(arg0, m002(2)))
+ }
+ Store(Add(arg1, m001(1)), Local0)
+
+ if (LNotEqual(Local0, 0x87654321)) {
+ err(ts, z165, 0x00f, 0, 0, Local0, 0x87654321)
+ }
+
+ if (LNotEqual(arg1, 1)) {
+ err(ts, z165, 0x010, 0, 0, arg1, 1)
+ }
+
+ CH03(ts, z165, 0x011, 0, 0)
+}
+
+Method(ini2)
+{
+ SRMT("in20-0")
+ in20(0)
+ SRMT("in21-0")
+ in21(0)
+ SRMT("in22")
+ in22()
+ SRMT("in23-0")
+ in23(0, 0)
+}
+
diff --git a/tests/aslts/src/runtime/collections/Identity2MS/abbu/device/ns_dv30.asl b/tests/aslts/src/runtime/collections/Identity2MS/abbu/device/ns_dv30.asl
new file mode 100644
index 000000000..0b2dd5bb1
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/Identity2MS/abbu/device/ns_dv30.asl
@@ -0,0 +1,882 @@
+/*
+ * Source file ns_0010.asl
+ *
+ * The tests differ those from ns_0010.asl by that the objects are
+ * passed to methods as argument (Arg) but not directly by name.
+ */
+
+Name(z166, 166)
+
+/*
+ *
+ * Read/write access to elemens of Package passed to method.
+ *
+ */
+
+/*
+ *
+ * Elements of Package are constant Integer (0xabcd0000)
+ *
+ */
+
+/*
+ * Package is passed by ArgX to method:
+ * - directly
+ */
+Method(in30)
+{
+ Name(ts, "in30")
+ Name(p000, Package() {0xabcd0000, 0xabcd0001, 0xabcd0002})
+
+ Method(m000, 2)
+ {
+ Method(m001, 2)
+ {
+ Store(DerefOf(Index(arg0, 0)), Local0)
+ if (LNotEqual(Local0, 0xabcd0000)) {
+ err(ts, z166, 0x000, 0, 0, Local0, 0xabcd0000)
+ }
+
+ Store(0x11112222, Index(arg0, 0))
+
+ Store(DerefOf(Index(arg0, 0)), Local0)
+ if (LNotEqual(Local0, 0x11112222)) {
+ err(ts, z166, 0x000, 0, 0, Local0, 0x11112222)
+ }
+ }
+ m001(arg0, arg1)
+ }
+
+ m000(p000, RefOf(p000))
+
+ Store(DerefOf(Index(p000, 0)), Local0)
+ if (LNotEqual(Local0, 0x11112222)) {
+ err(ts, z166, 0x000, 0, 0, Local0, 0x11112222)
+ }
+
+ Store(DerefOf(Index(p000, 1)), Local0)
+ if (LNotEqual(Local0, 0xabcd0001)) {
+ err(ts, z166, 0x000, 0, 0, Local0, 0xabcd0001)
+ }
+}
+
+/*
+ * Package is passed by ArgX to method:
+ * - by ORef
+ */
+Method(in31)
+{
+ Name(ts, "in31")
+ Name(p000, Package() {0xabcd0000, 0xabcd0001, 0xabcd0002})
+
+ Method(m000, 2)
+ {
+ Method(m001, 2)
+ {
+ Store(DerefOf(arg1), Local7)
+
+ Store(DerefOf(Index(Local7, 1)), Local0)
+ if (LNotEqual(Local0, 0xabcd0001)) {
+ err(ts, z166, 0x000, 0, 0, Local0, 0xabcd0001)
+ }
+
+ Store(0x33334444, Index(Local7, 1))
+
+ Store(DerefOf(Index(Local7, 1)), Local0)
+ if (LNotEqual(Local0, 0x33334444)) {
+ err(ts, z166, 0x000, 0, 0, Local0, 0x33334444)
+ }
+ }
+ m001(arg0, arg1)
+ }
+
+ m000(p000, RefOf(p000))
+
+ Store(DerefOf(Index(p000, 0)), Local0)
+ if (LNotEqual(Local0, 0xabcd0000)) {
+ err(ts, z166, 0x000, 0, 0, Local0, 0xabcd0000)
+ }
+
+ Store(DerefOf(Index(p000, 1)), Local0)
+ if (LNotEqual(Local0, 0xabcd0001)) {
+ err(ts, z166, 0x000, 0, 0, Local0, 0xabcd0001)
+ }
+}
+
+/*
+ * Package is passed by ArgX to method:
+ * - directly
+ * - by ORef
+ */
+Method(in32)
+{
+ Name(ts, "in32")
+ Name(p000, Package() {0xabcd0000, 0xabcd0001, 0xabcd0002})
+
+ Method(m000, 2)
+ {
+ Method(m001, 2)
+ {
+ Store(0x11112222, Index(arg0, 0))
+
+ Store(DerefOf(Index(arg0, 0)), Local0)
+ if (LNotEqual(Local0, 0x11112222)) {
+ err(ts, z166, 0x000, 0, 0, Local0, 0x11112222)
+ }
+
+ Store(DerefOf(arg1), Local7)
+ Store(0x33334444, Index(Local7, 1))
+
+ Store(DerefOf(Index(Local7, 1)), Local0)
+ if (LNotEqual(Local0, 0x33334444)) {
+ err(ts, z166, 0x000, 0, 0, Local0, 0x33334444)
+ }
+ }
+ m001(arg0, arg1)
+ }
+
+ m000(p000, RefOf(p000))
+
+ Store(DerefOf(Index(p000, 0)), Local0)
+ if (LNotEqual(Local0, 0x11112222)) {
+ err(ts, z166, 0x000, 0, 0, Local0, 0x11112222)
+ }
+
+ Store(DerefOf(Index(p000, 1)), Local0)
+ if (LNotEqual(Local0, 0xabcd0001)) {
+ err(ts, z166, 0x000, 0, 0, Local0, 0xabcd0001)
+ }
+}
+
+/*
+ * Package is given directly by name:
+ * - do ORef and pass to LocalX
+ * - do DerefOf and pass to LocalX
+ */
+Method(in33)
+{
+ Name(ts, "in33")
+ Name(p000, Package() {0xabcd0000, 0xabcd0001, 0xabcd0002})
+
+ Method(m000, 2)
+ {
+ Method(m001, 2)
+ {
+ Store(RefOf(arg0), Local6)
+ Store(DerefOf(Local6), Local7)
+
+ Store(DerefOf(Index(Local7, 1)), Local0)
+ if (LNotEqual(Local0, 0xabcd0001)) {
+ err(ts, z166, 0x000, 0, 0, Local0, 0xabcd0001)
+ }
+
+ Store(0x33334444, Index(Local7, 1))
+
+ Store(DerefOf(Index(Local7, 1)), Local0)
+ if (LNotEqual(Local0, 0x33334444)) {
+ err(ts, z166, 0x000, 0, 0, Local0, 0x33334444)
+ }
+ }
+ m001(arg0, arg1)
+ }
+
+ m000(p000, RefOf(p000))
+
+ Store(DerefOf(Index(p000, 0)), Local0)
+ if (LNotEqual(Local0, 0xabcd0000)) {
+ err(ts, z166, 0x000, 0, 0, Local0, 0xabcd0000)
+ }
+ Store(DerefOf(Index(p000, 1)), Local0)
+ if (LNotEqual(Local0, 0xabcd0001)) {
+ err(ts, z166, 0x000, 0, 0, Local0, 0xabcd0001)
+ }
+ Store(DerefOf(Index(p000, 2)), Local0)
+ if (LNotEqual(Local0, 0xabcd0002)) {
+ err(ts, z166, 0x000, 0, 0, Local0, 0xabcd0002)
+ }
+}
+
+/*
+ *
+ * Elements of Package are Named Integer (i000)
+ *
+ */
+
+/*
+ * Package is passed by ArgX to method
+ *
+ * fail
+ *
+ * Note:
+ * Named element of Package is simply not implemented by MS,
+ * i000 in Package(){i000} is, on MS, the same as Package(){"i000"}.
+ */
+Method(in34)
+{
+ Name(ts, "in34")
+ Name(i000, 0xabcd0000)
+ Name(i001, 0xabcd0001)
+ Name(i002, 0xabcd0002)
+ Name(ii00, 0x11112222)
+ Name(p000, Package() {i000, i001, i002, "i000"})
+
+ Method(m000, 2)
+ {
+ Method(m001, 2)
+ {
+ Store(DerefOf(Index(arg0, 0)), Local0)
+ if (LNotEqual(Local0, 0xabcd0000)) {
+ err(ts, z162, 0x000, 0, 0, Local0, 0xabcd0000)
+ }
+ Store(DerefOf(Index(arg0, 1)), Local0)
+ if (LNotEqual(Local0, 0xabcd0001)) {
+ err(ts, z162, 0x000, 0, 0, Local0, 0xabcd0001)
+ }
+ Store(DerefOf(Index(arg0, 2)), Local0)
+ if (LNotEqual(Local0, 0xabcd0002)) {
+ err(ts, z162, 0x000, 0, 0, Local0, 0xabcd0002)
+ }
+ Store(DerefOf(Index(arg0, 3)), Local0)
+ if (LNotEqual(Local0, "i000")) {
+ err(ts, z162, 0x000, 0, 0, Local0, "i000")
+ }
+
+ Store(ii00, Index(arg0, 0))
+
+ Store(DerefOf(Index(arg0, 0)), Local0)
+ if (LNotEqual(Local0, 0x11112222)) {
+ err(ts, z162, 0x000, 0, 0, Local0, 0x11112222)
+ }
+ }
+ m001(arg0, arg1)
+ }
+
+ m000(p000, RefOf(p000))
+
+ Store(DerefOf(Index(p000, 0)), Local0)
+ if (LNotEqual(Local0, 0x11112222)) {
+ err(ts, z162, 0x000, 0, 0, Local0, 0x11112222)
+ }
+
+ Store(DerefOf(Index(p000, 1)), Local0)
+ if (LNotEqual(Local0, 0xabcd0001)) {
+ err(ts, z162, 0x000, 0, 0, Local0, 0xabcd0001)
+ }
+
+ Store(DerefOf(Index(p000, 2)), Local0)
+ if (LNotEqual(Local0, 0xabcd0002)) {
+ err(ts, z162, 0x000, 0, 0, Local0, 0xabcd0002)
+ }
+
+ Store(DerefOf(Index(p000, 3)), Local0)
+ if (LNotEqual(Local0, "i000")) {
+ err(ts, z162, 0x000, 0, 0, Local0, "i000")
+ }
+}
+
+/*
+ * Buffer
+ */
+
+Method(in36)
+{
+ Name(ts, "in36")
+ Name(b000, Buffer() {0x10, 0x11, 0x12})
+
+ Method(m000, 2)
+ {
+ Method(m001, 2)
+ {
+ // arg0 - b000
+ Store(DerefOf(Index(arg0, 0)), Local0)
+ if (LNotEqual(Local0, 0x10)) {
+ err(ts, z166, 0x000, 0, 0, Local0, 0x10)
+ }
+
+ Store(0x67, Index(arg0, 0))
+
+ Store(DerefOf(Index(arg0, 0)), Local0)
+ if (LNotEqual(Local0, 0x67)) {
+ err(ts, z166, 0x000, 0, 0, Local0, 0x67)
+ }
+
+ // arg1 - RefOf(b000)
+
+ Store(DerefOf(arg1), Local7)
+ Store(0x55, Index(Local7, 1))
+
+ Store(DerefOf(Index(Local7, 1)), Local0)
+ if (LNotEqual(Local0, 0x55)) {
+ err(ts, z166, 0x000, 0, 0, Local0, 0x55)
+ }
+ }
+ m001(arg0, arg1)
+ }
+
+ m000(b000, RefOf(b000))
+
+ Store(DerefOf(Index(b000, 0)), Local0)
+ if (LNotEqual(Local0, 0x67)) {
+ err(ts, z166, 0x002, 0, 0, Local0, 0x67)
+ }
+
+ Store(DerefOf(Index(b000, 1)), Local0)
+ if (LNotEqual(Local0, 0x11)) {
+ err(ts, z166, 0x002, 0, 0, Local0, 0x11)
+ }
+
+ Store(DerefOf(Index(b000, 2)), Local0)
+ if (LNotEqual(Local0, 0x12)) {
+ err(ts, z166, 0x002, 0, 0, Local0, 0x12)
+ }
+}
+
+/*
+ * Element of Package instead of i000 (in in02)
+ *
+ * Recursive call to m001
+ */
+Method(in37)
+{
+ Name(ts, "in37")
+ Name(i001, 0)
+ Name(pp00, Package() {0x11111111, 0x00100000, 0x22223333})
+
+ Method(m000, 1)
+ {
+ Method(m001, 1)
+ {
+ /*
+ * Because of the stack overflow issues on MS the number
+ * of repetitions was changed from 100 to 9 here.
+ */
+ if (LLess(i001, 9)) {
+
+ Store(DerefOf(Index(arg0, 1)), Local0)
+ Increment(Local0)
+ Store(Local0, Index(arg0, 1))
+ Increment(i001)
+ Add(DerefOf(Index(arg0, 1)), m001(arg0), Local0)
+ Return (Local0)
+ }
+ Return (0)
+ }
+ Store(Add(DerefOf(Index(arg0, 1)), m001(arg0)), Local0)
+ Return (Local0)
+ }
+
+ Store(m000(pp00), Local0)
+
+ if (LNotEqual(Local0, 0x00a0002d)) {
+ err(ts, z166, 0x00a, 0, 0, Local0, 0x00a0002d)
+ }
+
+ Store(DerefOf(Index(pp00, 1)), Local0)
+
+ if (LNotEqual(Local0, 0x00100009)) {
+ err(ts, z166, 0x00b, 0, 0, Local0, 0x00100009)
+ }
+
+ CH03(ts, z166, 0x00c, 0, 0)
+}
+
+/*
+ * Buffer Field instead of i000 (in in01)
+ *
+ * fail
+ *
+ * Note: Buffer Field in expressions is not supported by MS,
+ * see msfail.asl
+ */
+
+/*
+ * Field instead of i000 (in in01)
+ */
+Method(in38, 1)
+{
+ Name(ts, "in38")
+ Name(i001, 0)
+ OperationRegion(r000, SystemMemory, 0x100, 0x100)
+ Field(r000, ByteAcc, NoLock, Preserve) { f000,32, f001,32 }
+
+ CH03(ts, z166, 0x011, 0, 0)
+
+ Store(arg0, i001)
+
+ Method(m000, 1)
+ {
+
+ Method(m001, 1)
+ {
+ Method(m002, 1)
+ {
+ Method(m003, 1)
+ {
+ Method(m004, 1)
+ {
+ Method(m005, 1)
+ {
+ Method(m006, 1)
+ {
+ Method(m007, 1)
+ {
+ /*
+ * To exclude stack overflow
+ * >>>>>>>>>>>>>>>>
+ Method(m008, 1)
+ {
+ if (i001)
+ {
+ Store(0x11223344, arg0)
+ }
+ Return (0)
+ }
+ Store(0x80000000, arg0)
+ Return (Add(arg0, m008(arg0)))
+ * <<<<<<<<<<<<<<<<
+ */
+ Return (0)
+ }
+ Store(0x07000000, arg0)
+ Return (Add(arg0, m007(arg0)))
+ }
+ Store(0x00600000, arg0)
+ Return (Add(arg0, m006(arg0)))
+ }
+ Store(0x00050000, arg0)
+ Return (Add(arg0, m005(arg0)))
+ }
+ Store(0x00004000, arg0)
+ Return (Add(arg0, m004(arg0)))
+ }
+ Store(0x00000300, arg0)
+ Return (Add(arg0, m003(arg0)))
+ }
+ Store(0x00000020, arg0)
+ Return (Add(arg0, m002(arg0)))
+ }
+
+ Store(0x00000001, arg0)
+ Store(Add(arg0, m001(arg0)), Local0)
+ Return (Local0)
+ }
+
+ Store(0xabcd9876, f001)
+
+ Store(m000(f001), Local0)
+
+ if (LNotEqual(Local0, 0x07654321)) {
+ err(ts, z166, 0x012, 0, 0, Local0, 0x07654321)
+ }
+
+ if (arg0) {
+ Store(0x11223344, Local1)
+ } else {
+ Store(0xabcd9876, Local1)
+ }
+
+ if (LNotEqual(f001, Local1)) {
+ err(ts, z166, 0x013, 0, 0, f001, Local1)
+ }
+
+ CH03(ts, z166, 0x014, 0, 0)
+}
+
+/*
+ * Bank Field instead of i000 (in in01)
+ *
+ * (is this test correct?)
+ */
+Method(in39, 1)
+{
+ Name(ts, "in39")
+ Name(i001, 0)
+ OperationRegion(r000, SystemMemory, 0x100, 0x100)
+ Field(r000, ByteAcc, NoLock, Preserve) { f000,32, f001,32 }
+ BankField(r000, f001, 0, ByteAcc, NoLock, Preserve) { bnk0, 32 }
+
+ CH03(ts, z166, 0x015, 0, 0)
+
+ Store(arg0, i001)
+
+ Method(m000, 1)
+ {
+
+ Method(m001, 1)
+ {
+ Method(m002, 1)
+ {
+ Method(m003, 1)
+ {
+ Method(m004, 1)
+ {
+ Method(m005, 1)
+ {
+ Method(m006, 1)
+ {
+ Method(m007, 1)
+ {
+ /*
+ * To exclude stack overflow
+ * >>>>>>>>>>>>>>>>
+ Method(m008, 1)
+ {
+ if (i001)
+ {
+ Store(0x11223344, arg0)
+ }
+ Return (0)
+ }
+ Store(0x80000000, arg0)
+ Return (Add(arg0, m008(arg0)))
+ * <<<<<<<<<<<<<<<<
+ */
+ Return (0)
+ }
+ Store(0x07000000, arg0)
+ Return (Add(arg0, m007(arg0)))
+ }
+ Store(0x00600000, arg0)
+ Return (Add(arg0, m006(arg0)))
+ }
+ Store(0x00050000, arg0)
+ Return (Add(arg0, m005(arg0)))
+ }
+ Store(0x00004000, arg0)
+ Return (Add(arg0, m004(arg0)))
+ }
+ Store(0x00000300, arg0)
+ Return (Add(arg0, m003(arg0)))
+ }
+ Store(0x00000020, arg0)
+ Return (Add(arg0, m002(arg0)))
+ }
+
+ Store(0x00000001, arg0)
+ Store(Add(arg0, m001(arg0)), Local0)
+ Return (Local0)
+ }
+
+ Store(0xaabbccdd, bnk0)
+ Store(m000(bnk0), Local0)
+
+ if (LNotEqual(Local0, 0x07654321)) {
+ err(ts, z166, 0x016, 0, 0, Local0, 0x07654321)
+ }
+
+ if (arg0) {
+ Store(0x11223344, Local1)
+ } else {
+ Store(0xaabbccdd, Local1)
+ }
+
+ if (LNotEqual(bnk0, Local1)) {
+ err(ts, z166, 0x017, 0, 0, bnk0, Local1)
+ }
+
+ CH03(ts, z166, 0x018, 0, 0)
+}
+
+/*
+ * Index Field instead of i000 (in in01)
+ *
+ * (is this test correct?)
+ */
+Method(in3a, 1)
+{
+ Name(ts, "in3a")
+ Name(i001, 0)
+ OperationRegion(r000, SystemMemory, 0x100, 0x100)
+ Field(r000, ByteAcc, NoLock, Preserve) { f000,32, f001,32 }
+ IndexField(f000, f001, ByteAcc, NoLock, Preserve) { if00, 32 }
+
+ CH03(ts, z166, 0x019, 0, 0)
+
+ Store(arg0, i001)
+
+ Method(m000, 1)
+ {
+
+ Method(m001, 1)
+ {
+ Method(m002, 1)
+ {
+ Method(m003, 1)
+ {
+ Method(m004, 1)
+ {
+ Method(m005, 1)
+ {
+ Method(m006, 1)
+ {
+ Method(m007, 1)
+ {
+ /*
+ * To exclude stack overflow
+ * >>>>>>>>>>>>>>>>
+ Method(m008, 1)
+ {
+ if (i001)
+ {
+ Store(0x11223344, if00)
+ }
+ Return (0)
+ }
+ Store(0x80000000, if00)
+ Return (Add(if00, m008(if00)))
+ * <<<<<<<<<<<<<<<<
+ */
+ Return (0)
+ }
+ Store(0x07000000, if00)
+ Return (Add(if00, m007(if00)))
+ }
+ Store(0x00600000, if00)
+ Return (Add(if00, m006(if00)))
+ }
+ Store(0x00050000, if00)
+ Return (Add(if00, m005(if00)))
+ }
+ Store(0x00004000, if00)
+ Return (Add(if00, m004(if00)))
+ }
+ Store(0x00000300, if00)
+ Return (Add(if00, m003(if00)))
+ }
+ Store(0x00000020, if00)
+ Return (Add(if00, m002(if00)))
+ }
+
+ Store(0x00000001, if00)
+ Store(Add(if00, m001(if00)), Local0)
+ Return (Local0)
+ }
+
+ Store(0xabababab, if00)
+ Store(m000(if00), Local0)
+
+ /*
+ * The benchmark values for arg0==0 below
+ * are how MS actually works.
+ */
+
+ if (LNotEqual(Local0, 0x07070707)) {
+ err(ts, z166, 0x01a, 0, 0, Local0, 0x07070707)
+ }
+
+ if (arg0) {
+ Store(0x11223344, Local1)
+ } else {
+ Store(0x07070707, Local1)
+ }
+
+ if (LNotEqual(if00, Local1)) {
+ err(ts, z166, 0x01b, 0, 0, if00, Local1)
+ }
+
+ CH03(ts, z166, 0x01c, 0, 0)
+}
+
+/*
+ * Element of Buffer instead of i000 (in in01)
+ *
+ * see in3c below
+ *
+ * Method(in3b, 1)
+ * {
+ * }
+ */
+
+/*
+ * Element of Buffer instead of i000 (in in01)
+ *
+ * m01b+:
+ * added argument to methods and b000 passed without any use of that
+ * parameter inside the methods
+ */
+Method(in3c, 1)
+{
+ Name(ts, "in3c")
+ Name(i001, 0)
+ Name(b000, Buffer() {0x11, 0x01, 0x22})
+
+ CH03(ts, z162, 0x01d, 0, 0)
+
+ Store(arg0, i001)
+
+ Method(m000, 1)
+ {
+
+ Method(m001, 1)
+ {
+ Method(m002, 1)
+ {
+ Method(m003, 1)
+ {
+ Method(m004, 1)
+ {
+ Method(m005, 1)
+ {
+ Method(m006, 1)
+ {
+ Method(m007, 1)
+ {
+ Return (0)
+ }
+ Store(0x07, Index(arg0, 1))
+ Return (Add(DerefOf(Index(arg0, 1)), m007(arg0)))
+ }
+ Store(0x06, Index(arg0, 1))
+ Return (Add(DerefOf(Index(arg0, 1)), m006(arg0)))
+ }
+ Store(0x05, Index(arg0, 1))
+ Return (Add(DerefOf(Index(arg0, 1)), m005(arg0)))
+ }
+ Store(0x04, Index(arg0, 1))
+ Return (Add(DerefOf(Index(arg0, 1)), m004(arg0)))
+ }
+ Store(0x03, Index(arg0, 1))
+ Return (Add(DerefOf(Index(arg0, 1)), m003(arg0)))
+ }
+ Store(0x02, Index(arg0, 1))
+ Return (Add(DerefOf(Index(arg0, 1)), m002(arg0)))
+ }
+ Store(Add(DerefOf(Index(arg0, 1)), m001(arg0)), Local0)
+ Return (Local0)
+ }
+
+ Store(m000(b000), Local0)
+
+ if (LNotEqual(Local0, 0x1c)) {
+ err(ts, z162, 0x01e, 0, 0, Local0, 0x1c)
+ }
+
+ Store(DerefOf(Index(b000, 1)), Local0)
+
+ if (arg0) {
+ Store(0xff, Local1)
+ } else {
+ Store(0x07, Local1)
+ }
+
+ if (LNotEqual(Local0, Local1)) {
+ err(ts, z162, 0x01f, 0, 0, Local0, Local1)
+ }
+
+ CH03(ts, z162, 0x020, 0, 0)
+}
+
+/*
+ * Element of Package instead of i000 (in in01)
+ *
+ * see in3e below
+ *
+ * Method(in3d)
+ * {
+ * }
+ */
+
+/*
+ * Element of Package instead of i000 (in in01)
+ *
+ * m01d+:
+ * added argument to methods and b000 passed without any use of that
+ * parameter inside the methods
+ */
+Method(in3e)
+{
+ Name(ts, "in3e")
+ Name(i001, 0)
+ Name(p000, Package() {1,2,3,4})
+ Name(pp00, Package() {0x11111111, 0x00000001, 0x22223333})
+
+ CH03(ts, z162, 0x006, 0, 0)
+
+ Method(m000, 1)
+ {
+
+ Method(m001, 1)
+ {
+ Method(m002, 1)
+ {
+ Method(m003, 1)
+ {
+ Method(m004, 1)
+ {
+ Method(m005, 1)
+ {
+ Method(m006, 1)
+ {
+ Method(m007, 1)
+ {
+ Return (0)
+ }
+ Store(0x07000000, Index(arg0, 1))
+ Return (Add(DerefOf(Index(arg0, 1)), m007(arg0)))
+ }
+ Store(0x00600000, Index(arg0, 1))
+ Return (Add(DerefOf(Index(arg0, 1)), m006(arg0)))
+ }
+ Store(0x00050000, Index(arg0, 1))
+ Return (Add(DerefOf(Index(arg0, 1)), m005(arg0)))
+ }
+ Store(0x00004000, Index(arg0, 1))
+ Return (Add(DerefOf(Index(arg0, 1)), m004(arg0)))
+ }
+ Store(0x00000300, Index(arg0, 1))
+ Return (Add(DerefOf(Index(arg0, 1)), m003(arg0)))
+ }
+ Store(0x00000020, Index(arg0, 1))
+ Return (Add(DerefOf(Index(arg0, 1)), m002(arg0)))
+ }
+ Store(Add(DerefOf(Index(arg0, 1)), m001(arg0)), Local0)
+ Return (Local0)
+ }
+
+ Store(m000(pp00), Local0)
+
+ if (LNotEqual(Local0, 0x07654321)) {
+ err(ts, z162, 0x007, 0, 0, Local0, 0x07654321)
+ }
+
+ Store(DerefOf(Index(pp00, 1)), Local0)
+
+ if (LNotEqual(Local0, 0x07000000)) {
+ err(ts, z162, 0x008, 0, 0, Local0, 0x07000000)
+ }
+
+ CH03(ts, z162, 0x009, 0, 0)
+}
+
+Method(ini3)
+{
+ SRMT("in30")
+ in30()
+ SRMT("in31")
+ in31()
+ SRMT("in32")
+ in32()
+ SRMT("in33")
+ in33()
+ SRMT("in34")
+ if (chk0) {
+ in34()
+ } else {
+ BLCK()
+ }
+ SRMT("in36")
+ in36()
+ SRMT("in37")
+ in37()
+ SRMT("in38-0")
+ in38(0)
+ SRMT("in39-0")
+ in39(0)
+ SRMT("in3a-0")
+ in3a(0)
+ SRMT("in3c-0")
+ in3c(0)
+ SRMT("in3e")
+ in3e()
+}
+
diff --git a/tests/aslts/src/runtime/collections/Identity2MS/abbu/initial/ns_in00.asl b/tests/aslts/src/runtime/collections/Identity2MS/abbu/initial/ns_in00.asl
new file mode 100644
index 000000000..a1d67df07
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/Identity2MS/abbu/initial/ns_in00.asl
@@ -0,0 +1,597 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+/*
+ * Tests originated from namespace/ns0
+ */
+
+/*
+ * Trying to get the chain of calls of methods such that
+ * sections of operative stack corresponding to different
+ * methods contain the internal object (itself, not a RefOf
+ * reference to it) of the same Name Space node.
+ *
+ * Then force (by Store/CopyObject):
+ * 1) changing the value of that internal object
+ * 2) replacing the internal object itself by some another one
+ *
+ * Check that the changing/replacing has no effect on the
+ * values evaluated on the lowest stages of calculation.
+ *
+ * Accessing objects by argX and directly by name too.
+ */
+
+Name(z163, 163)
+
+/*
+ * Named Integer i000
+ */
+
+/*
+ * Simple, 3-level
+ */
+Method(in00, 1)
+{
+ Name(ts, "in00")
+ Name(i000, 0x00000001)
+ Name(p000, Package() {1,2,3,4})
+
+ Name(i001, 0)
+
+ Store(arg0, i001)
+
+ Method(m001)
+ {
+ Method(m002)
+ {
+ Method(m003)
+ {
+ if (i001) {
+ CopyObject(p000, i000)
+ }
+ Return (0xabcd0000)
+ }
+ Return (Add(i000, m003()))
+ }
+ Return (Add(i000, m002()))
+ }
+ Store(Add(i000, m001()), Local0)
+ if (LNotEqual(Local0, 0xabcd0003)) {
+ err(ts, z163, 0x001, 0, 0, Local0, 0xabcd0003)
+ }
+}
+
+/*
+ * 8-level
+ * added writing into i000:
+ * Store(0x00040000, i000)
+ */
+Method(in01, 1)
+{
+ Name(ts, "in01")
+ Name(i000, 0x00000001)
+ Name(i001, 0)
+ Name(p000, Package() {1,2,3,4})
+
+ Store(arg0, i001)
+
+ Method(m001)
+ {
+ Method(m002)
+ {
+ Method(m003)
+ {
+ Method(m004)
+ {
+ Method(m005)
+ {
+ Method(m006)
+ {
+ Method(m007)
+ {
+ Method(m008)
+ {
+ if (i001)
+ {
+ CopyObject(p000, i000)
+ }
+ Return (0)
+ }
+ Store(0x80000000, i000)
+ Return (Add(i000, m008()))
+ }
+ Store(0x07000000, i000)
+ Return (Add(i000, m007()))
+ }
+ Store(0x00600000, i000)
+ Return (Add(i000, m006()))
+ }
+ Store(0x00050000, i000)
+ Return (Add(i000, m005()))
+ }
+ Store(0x00004000, i000)
+ Return (Add(i000, m004()))
+ }
+ Store(0x00000300, i000)
+ Return (Add(i000, m003()))
+ }
+ Store(0x00000020, i000)
+ Return (Add(i000, m002()))
+ }
+ Store(Add(i000, m001()), Local0)
+
+ if (LNotEqual(Local0, 0x87654321)) {
+ err(ts, z163, 0x003, 0, 0, Local0, 0x87654321)
+ }
+
+ if (LNotEqual(i000, 0x80000000)) {
+ err(ts, z163, 0x004, 0, 0, i000, 0x80000000)
+ }
+}
+
+/*
+ * Recurcive execution of m001:
+ * Add(i000, m001(), Local0)
+ */
+Method(in02)
+{
+ Name(ts, "in02")
+ Name(i000, 0x00100000)
+ Name(i001, 0)
+
+ Method(m001)
+ {
+ /*
+ * Because of the stack overflow issues on MS the number
+ * of repetitions was changed from 100 to 11 here.
+ */
+ if (LLess(i001, 11)) {
+ Increment(i000)
+ Increment(i001)
+ Add(i000, m001(), Local0)
+ Return (Local0)
+ }
+ Return (0)
+ }
+ Store(Add(i000, m001()), Local0)
+
+ if (LNotEqual(Local0, 0x00c00042)) {
+ err(ts, z163, 0x006, 0, 0, Local0, 0x00c00042)
+ }
+
+ if (LNotEqual(i000, 0x0010000b)) {
+ err(ts, z163, 0x007, 0, 0, i000, 0x0010000b)
+ }
+}
+
+/*
+ * Local instead of i000 (in in01)
+ */
+Method(in03, 1)
+{
+ Name(ts, "in03")
+ Name(i001, 0)
+ Name(p000, Package() {1,2,3,4})
+
+ Store(arg0, i001)
+
+ Store(0x00000001, Local7)
+
+ Method(m001)
+ {
+ Method(m002)
+ {
+ Method(m003)
+ {
+ Method(m004)
+ {
+ Method(m005)
+ {
+ Method(m006)
+ {
+ Method(m007)
+ {
+ Method(m008)
+ {
+ if (i001)
+ {
+ CopyObject(p000, Local7)
+ }
+ Return (0)
+ }
+ Store(0x80000000, Local7)
+ Return (Add(Local7, m008()))
+ }
+ Store(0x07000000, Local7)
+ Return (Add(Local7, m007()))
+ }
+ Store(0x00600000, Local7)
+ Return (Add(Local7, m006()))
+ }
+ Store(0x00050000, Local7)
+ Return (Add(Local7, m005()))
+ }
+ Store(0x00004000, Local7)
+ Return (Add(Local7, m004()))
+ }
+ Store(0x00000300, Local7)
+ Return (Add(Local7, m003()))
+ }
+ Store(0x00000020, Local7)
+ Return (Add(Local7, m002()))
+ }
+ Store(Add(Local7, m001()), Local0)
+
+ if (LNotEqual(Local0, 0x87654321)) {
+ err(ts, z163, 0x00c, 0, 0, Local0, 0x87654321)
+ }
+
+ if (LNotEqual(Local7, 1)) {
+ err(ts, z163, 0x00d, 0, 0, Local7, 1)
+ }
+}
+
+/*
+ * Arg instead of i000 (in in01)
+ *
+ * see ns_0100.asl
+ */
+
+/*
+ * 8-level
+ * added writing into i000:
+ * Store(0x00040000, i000)
+ *
+ * in01 +:
+ * m00X are passed with i000
+ * argX inside m00X is rewritten
+ */
+Method(in04)
+{
+ Name(ts, "in04")
+ Name(i000, 0x00000001)
+ Name(i001, 0)
+ Name(p000, Package() {1,2,3,4})
+
+ Method(m001, 2)
+ {
+ Method(m002, 2)
+ {
+ Method(m003, 2)
+ {
+ Method(m004, 2)
+ {
+ Method(m005, 2)
+ {
+ Method(m006, 2)
+ {
+ Method(m007, 2)
+ {
+ /*
+ * ====================== >>>>>>>>
+ * Sometimes, after I added a big group of
+ * 'If' operators, this fragment of code causes
+ * break of execution on MS. But, namely --
+ * sometimes! To investigate the reason I
+ * commented part by part of it to find
+ * workable code, then un-commented it
+ * part by part too.
+ * It entire initial code
+ * started working on MS again!
+ */
+ /*
+ Method(m008, 2)
+ {
+ if (i001)
+ {
+ CopyObject(p000, i000)
+ }
+ Store(0x10000008, arg0)
+ Return (0)
+ }
+ Store(0x80000000, i000)
+ Store(0x10000007, arg0)
+ Return (Add(i000, m008(i000, arg0)))
+ */
+ /*
+ * ====================== <<<<<<<<
+ */
+
+ Store(0x80000000, i000)
+ Store(0x10000007, arg0)
+ Add(i000, 0, Local0)
+
+ Return (Local0)
+ }
+ Store(0x07000000, i000)
+ Store(0x10000006, arg0)
+ Return (Add(i000, m007(i000, arg0)))
+ }
+ Store(0x00600000, i000)
+ Store(0x10000005, arg0)
+ Return (Add(i000, m006(i000, arg0)))
+ }
+ Store(0x00050000, i000)
+ Store(0x10000004, arg0)
+ Return (Add(i000, m005(i000, arg0)))
+ }
+ if (LNotEqual(arg0, 0x00000300)) {
+ err(ts, z163, 0x004, 0, 0, arg0, 0x00000300)
+ }
+ if (LNotEqual(arg1, 0x10000001)) {
+ err(ts, z163, 0x004, 0, 0, arg1, 0x10000001)
+ }
+ Store(0x00004000, i000)
+ Store(0x10000003, arg0)
+ Return (Add(i000, m004(i000, arg0)))
+ }
+ if (LNotEqual(arg0, 0x00000020)) {
+ err(ts, z163, 0x004, 0, 0, arg0, 0x00000020)
+ }
+ if (LNotEqual(i000, 0x00000020)) {
+ err(ts, z163, 0x004, 0, 0, i000, 0x00000020)
+ }
+ Store(0x10000002, arg0)
+ if (LNotEqual(i000, 0x00000020)) {
+ err(ts, z163, 0x004, 0, 0, i000, 0x00000020)
+ }
+ if (LNotEqual(arg0, 0x10000002)) {
+ err(ts, z163, 0x004, 0, 0, arg0, 0x10000002)
+ }
+ Store(0x00000300, i000)
+ if (LNotEqual(i000, 0x00000300)) {
+ err(ts, z163, 0x004, 0, 0, i000, 0x00000300)
+ }
+ if (LNotEqual(arg0, 0x10000002)) {
+ err(ts, z163, 0x004, 0, 0, arg0, 0x10000002)
+ }
+ if (LNotEqual(arg1, 0x10000001)) {
+ err(ts, z163, 0x004, 0, 0, arg1, 0x10000001)
+ }
+ Store(0x10000002, arg0)
+ Store(0x00000300, i000)
+ Return (Add(i000, m003(i000, arg1)))
+ }
+ if (LNotEqual(arg0, 0x00000001)) {
+ err(ts, z163, 0x004, 0, 0, arg0, 0x00000001)
+ }
+ if (LNotEqual(i000, 0x00000001)) {
+ err(ts, z163, 0x004, 0, 0, i000, 0x00000001)
+ }
+ Store(0x10000001, arg0)
+ if (LNotEqual(i000, 0x00000001)) {
+ err(ts, z163, 0x004, 0, 0, i000, 0x00000001)
+ }
+ if (LNotEqual(arg0, 0x10000001)) {
+ err(ts, z163, 0x004, 0, 0, arg0, 0x10000001)
+ }
+ Store(0x00000020, i000)
+ if (LNotEqual(i000, 0x00000020)) {
+ err(ts, z163, 0x004, 0, 0, i000, 0x00000020)
+ }
+ if (LNotEqual(arg0, 0x10000001)) {
+ err(ts, z163, 0x004, 0, 0, arg0, 0x10000001)
+ }
+ if (LNotEqual(arg1, 0x10000000)) {
+ err(ts, z163, 0x004, 0, 0, arg1, 0x10000000)
+ }
+ Store(0x10000001, arg0)
+ Store(0x00000020, i000)
+ Return (Add(i000, m002(i000, arg0)))
+ }
+ Store(Add(i000, m001(i000, 0x10000000)), Local0)
+
+ if (LNotEqual(Local0, 0x87654321)) {
+ err(ts, z163, 0x003, 0, 0, Local0, 0x87654321)
+ }
+
+ if (LNotEqual(i000, 0x80000000)) {
+ err(ts, z163, 0x004, 0, 0, i000, 0x80000000)
+ }
+}
+
+/*
+ * Note: now the checkings are so that in05 succeeds on MS.
+ */
+Method(in05)
+{
+ Name(ts, "in05")
+
+ Name(i000, 0xabcd0000)
+ Name(s000, "qwrtyu0003")
+ Name(b000, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})
+ Name(p000, Package() {0xabcd0001, 0xabcd0002, 0xabcd0003})
+ Event(e000)
+ Mutex(mx00, 0)
+ Method(mmm0) {
+ Name(im00, 0xabcd0004)
+ Name(sm00, "qwertyui")
+ // Return ( "qwertyui" )
+ }
+ Method(mmm1) {
+ Name(im00, 0xabcd0004)
+ Name(sm00, "qwertyui")
+ // Return ( 0xabcd0004 )
+ Return ( "qwertyui" )
+ }
+ Device(d000) { Name(id00, 0xabcd0005) }
+ ThermalZone(tz00) { Name(itz0, 0xabcd0006) }
+ Processor(pr00, 0, 0xFFFFFFFF, 0) { Name(ipr0, 0xabcd0007) }
+ PowerResource(pw00, 1, 0) { Name(ipw0, 0xabcd0008) }
+ OperationRegion(r000, SystemMemory, 0x100, 0x100)
+
+ Name(b001, Buffer() {0xa0,0xa1,0xa2,0xa3,0xa4})
+ CreateField(b001, 0, 8, bf00)
+
+ OperationRegion(r001, SystemMemory, 0x100, 0x100)
+ Field(r001, ByteAcc, NoLock, Preserve) {f000,32, f001,32, f002,32, f003,32}
+ BankField(r001, f001, 0, ByteAcc, NoLock, Preserve) {bnk0,32}
+ IndexField(f002, f003, ByteAcc, NoLock, Preserve) {if00,32, if01,32}
+
+ Method(m001, 2)
+ {
+ Store(ObjectType(arg0), Local0)
+ if (LNotEqual(Local0, arg1)) {
+ err(ts, z163, 0x003, 0, 0, Local0, arg1)
+ }
+ Return (5)
+ }
+
+ CH03(ts, z163, 0x000, 0, 0)
+
+ Store(Add(DerefOf(Index(p000, 0)), m001(i000, c009)), Local0)
+ if (LNotEqual(Local0, 0xabcd0006)) {
+ err(ts, z163, 0x003, 0, 0, Local0, 0xabcd0006)
+ }
+ Store(Add(DerefOf(Index(p000, 0)), m001(s000, c00a)), Local0)
+ if (LNotEqual(Local0, 0xabcd0006)) {
+ err(ts, z163, 0x003, 0, 0, Local0, 0xabcd0006)
+ }
+ Store(Add(DerefOf(Index(p000, 0)), m001(b000, c00b)), Local0)
+ if (LNotEqual(Local0, 0xabcd0006)) {
+ err(ts, z163, 0x003, 0, 0, Local0, 0xabcd0006)
+ }
+ Store(Add(DerefOf(Index(p000, 0)), m001(p000, c00c)), Local0)
+ if (LNotEqual(Local0, 0xabcd0006)) {
+ err(ts, z163, 0x003, 0, 0, Local0, 0xabcd0006)
+ }
+ Store(Add(DerefOf(Index(p000, 0)), m001(e000, c00f)), Local0)
+ if (LNotEqual(Local0, 0xabcd0006)) {
+ err(ts, z163, 0x003, 0, 0, Local0, 0xabcd0006)
+ }
+ Store(Add(DerefOf(Index(p000, 0)), m001(mx00, c011)), Local0)
+ if (LNotEqual(Local0, 0xabcd0006)) {
+ err(ts, z163, 0x003, 0, 0, Local0, 0xabcd0006)
+ }
+ Store(Add(DerefOf(Index(p000, 0)), m001(mmm0, c008)), Local0)
+ if (LNotEqual(Local0, 0xabcd0006)) {
+ err(ts, z163, 0x003, 0, 0, Local0, 0xabcd0006)
+ }
+ Store(Add(DerefOf(Index(p000, 0)), m001(mmm1, c00a)), Local0)
+ if (LNotEqual(Local0, 0xabcd0006)) {
+ err(ts, z163, 0x003, 0, 0, Local0, 0xabcd0006)
+ }
+ Store(Add(DerefOf(Index(p000, 0)), m001(d000, c00e)), Local0)
+ if (LNotEqual(Local0, 0xabcd0006)) {
+ err(ts, z163, 0x003, 0, 0, Local0, 0xabcd0006)
+ }
+ Store(Add(DerefOf(Index(p000, 0)), m001(tz00, c015)), Local0)
+ if (LNotEqual(Local0, 0xabcd0006)) {
+ err(ts, z163, 0x003, 0, 0, Local0, 0xabcd0006)
+ }
+ Store(Add(DerefOf(Index(p000, 0)), m001(pr00, c014)), Local0)
+ if (LNotEqual(Local0, 0xabcd0006)) {
+ err(ts, z163, 0x003, 0, 0, Local0, 0xabcd0006)
+ }
+ Store(Add(DerefOf(Index(p000, 0)), m001(pw00, c013)), Local0)
+ if (LNotEqual(Local0, 0xabcd0006)) {
+ err(ts, z163, 0x003, 0, 0, Local0, 0xabcd0006)
+ }
+ Store(Add(DerefOf(Index(p000, 0)), m001(r000, c012)), Local0)
+ if (LNotEqual(Local0, 0xabcd0006)) {
+ err(ts, z163, 0x003, 0, 0, Local0, 0xabcd0006)
+ }
+ Store(Add(DerefOf(Index(p000, 0)), m001(bf00, c00b)), Local0)
+ if (LNotEqual(Local0, 0xabcd0006)) {
+ err(ts, z163, 0x003, 0, 0, Local0, 0xabcd0006)
+ }
+ Store(Add(DerefOf(Index(p000, 0)), m001(f000, c009)), Local0)
+ if (LNotEqual(Local0, 0xabcd0006)) {
+ err(ts, z163, 0x003, 0, 0, Local0, 0xabcd0006)
+ }
+ Store(Add(DerefOf(Index(p000, 0)), m001(bnk0, c009)), Local0)
+ if (LNotEqual(Local0, 0xabcd0006)) {
+ err(ts, z163, 0x003, 0, 0, Local0, 0xabcd0006)
+ }
+ Store(Add(DerefOf(Index(p000, 0)), m001(if00, c009)), Local0)
+ if (LNotEqual(Local0, 0xabcd0006)) {
+ err(ts, z163, 0x003, 0, 0, Local0, 0xabcd0006)
+ }
+
+
+ Store(ObjectType(f000), Local0)
+ if (LNotEqual(Local0, c00d)) {
+ err(ts, z163, 0x003, 0, 0, Local0, c00d)
+ }
+ Store(ObjectType(if00), Local0)
+ if (LNotEqual(Local0, c00d)) {
+ err(ts, z163, 0x003, 0, 0, Local0, c00d)
+ }
+ Store(ObjectType(bnk0), Local0)
+ if (LNotEqual(Local0, c00d)) {
+ err(ts, z163, 0x003, 0, 0, Local0, c00d)
+ }
+ Store(ObjectType(bf00), Local0)
+ if (LNotEqual(Local0, c016)) {
+ err(ts, z163, 0x003, 0, 0, Local0, c016)
+ }
+
+ CH03(ts, z163, 0x000, 0, 0)
+}
+
+Method(in06)
+{
+ Name(ts, "in06")
+ Name(i000, 0xabcd0000)
+
+ Store(ObjectType(i000), Local0)
+ if (LNotEqual(Local0, c009)) {
+ err(ts, z163, 0x003, 0, 0, Local0, c009)
+ }
+}
+
+Method(ini0)
+{
+ SRMT("in00-0")
+ in00(0)
+ SRMT("in01-0")
+ in01(0)
+ SRMT("in02")
+ in02()
+ SRMT("in03-0")
+ in03(0)
+ SRMT("in04")
+ in04()
+ SRMT("in05")
+ if (LAnd(fix1, chk2)) {
+ /*
+ * It breaks MS while re-booting,
+ * for ACPICA it causes exception
+ * and breaks path.
+ */
+ in05()
+ } else {
+ BLCK()
+ }
+ SRMT("in06")
+ in06()
+
+ CH03("ini0", z163, 0x000, 0, 0)
+}
+
diff --git a/tests/aslts/src/runtime/collections/Identity2MS/abbu/initial/ns_in10.asl b/tests/aslts/src/runtime/collections/Identity2MS/abbu/initial/ns_in10.asl
new file mode 100644
index 000000000..663e23960
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/Identity2MS/abbu/initial/ns_in10.asl
@@ -0,0 +1,1020 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+/*
+ * Tests originated from namespace/ns1
+ */
+
+/*
+ * Package/Buffer/String/Field/IndexField/BankField/BufferField
+ *
+ * Tests below are here
+ * as specific type arguments passing -
+ * arguments though passed directly to method, not as references,
+ * nevertheless allow access to the elements of original objects.
+ */
+
+Name(z164, 164)
+
+/*
+ *
+ * Read/write access to elemens of Package passed to method.
+ *
+ */
+
+/*
+ *
+ * Elements of Package are constant Integer (0xabcd0000)
+ *
+ */
+
+/*
+ * Package is passed by ArgX to method:
+ * - directly
+ */
+Method(in10)
+{
+ Name(ts, "in10")
+ Name(p000, Package() {0xabcd0000, 0xabcd0001, 0xabcd0002})
+ Method(m001, 2)
+ {
+ Store(DerefOf(Index(arg0, 0)), Local0)
+ if (LNotEqual(Local0, 0xabcd0000)) {
+ err(ts, z164, 0x000, 0, 0, Local0, 0xabcd0000)
+ }
+
+ Store(0x11112222, Index(arg0, 0))
+
+ Store(DerefOf(Index(arg0, 0)), Local0)
+ if (LNotEqual(Local0, 0x11112222)) {
+ err(ts, z164, 0x000, 0, 0, Local0, 0x11112222)
+ }
+ }
+
+ m001(p000, RefOf(p000))
+
+ Store(DerefOf(Index(p000, 0)), Local0)
+ if (LNotEqual(Local0, 0x11112222)) {
+ err(ts, z164, 0x000, 0, 0, Local0, 0x11112222)
+ }
+
+ Store(DerefOf(Index(p000, 1)), Local0)
+ if (LNotEqual(Local0, 0xabcd0001)) {
+ err(ts, z164, 0x000, 0, 0, Local0, 0xabcd0001)
+ }
+}
+
+/*
+ * Package is passed by ArgX to method:
+ * - by ORef
+ */
+Method(in11)
+{
+ Name(ts, "in11")
+ Name(p000, Package() {0xabcd0000, 0xabcd0001, 0xabcd0002})
+ Method(m001, 2)
+ {
+ Store(DerefOf(arg1), Local7)
+
+ Store(DerefOf(Index(Local7, 1)), Local0)
+ if (LNotEqual(Local0, 0xabcd0001)) {
+ err(ts, z164, 0x000, 0, 0, Local0, 0xabcd0001)
+ }
+
+ Store(0x33334444, Index(Local7, 1))
+
+ Store(DerefOf(Index(Local7, 1)), Local0)
+ if (LNotEqual(Local0, 0x33334444)) {
+ err(ts, z164, 0x000, 0, 0, Local0, 0x33334444)
+ }
+ }
+
+ m001(p000, RefOf(p000))
+
+ Store(DerefOf(Index(p000, 0)), Local0)
+ if (LNotEqual(Local0, 0xabcd0000)) {
+ err(ts, z164, 0x000, 0, 0, Local0, 0xabcd0000)
+ }
+
+ Store(DerefOf(Index(p000, 1)), Local0)
+ if (LNotEqual(Local0, 0xabcd0001)) {
+ err(ts, z164, 0x000, 0, 0, Local0, 0xabcd0001)
+ }
+}
+
+/*
+ * Package is passed by ArgX to method:
+ * - directly
+ * - by ORef
+ */
+Method(in12)
+{
+ Name(ts, "in12")
+ Name(p000, Package() {0xabcd0000, 0xabcd0001, 0xabcd0002})
+ Method(m001, 2)
+ {
+ Store(0x11112222, Index(arg0, 0))
+
+ Store(DerefOf(Index(arg0, 0)), Local0)
+ if (LNotEqual(Local0, 0x11112222)) {
+ err(ts, z164, 0x000, 0, 0, Local0, 0x11112222)
+ }
+
+ Store(DerefOf(arg1), Local7)
+ Store(0x33334444, Index(Local7, 1))
+
+ Store(DerefOf(Index(Local7, 1)), Local0)
+ if (LNotEqual(Local0, 0x33334444)) {
+ err(ts, z164, 0x000, 0, 0, Local0, 0x33334444)
+ }
+ }
+
+ m001(p000, RefOf(p000))
+
+ Store(DerefOf(Index(p000, 0)), Local0)
+ if (LNotEqual(Local0, 0x11112222)) {
+ err(ts, z164, 0x000, 0, 0, Local0, 0x11112222)
+ }
+
+ Store(DerefOf(Index(p000, 1)), Local0)
+ if (LNotEqual(Local0, 0xabcd0001)) {
+ err(ts, z164, 0x000, 0, 0, Local0, 0xabcd0001)
+ }
+}
+
+/*
+ * Package is given directly by name:
+ * - do ORef and pass to LocalX
+ * - do DerefOf and pass to LocalX
+ */
+Method(in13)
+{
+ Name(ts, "in13")
+ Name(p000, Package() {0xabcd0000, 0xabcd0001, 0xabcd0002})
+ Method(m001, 2)
+ {
+ Store(RefOf(p000), Local6)
+ Store(DerefOf(Local6), Local7)
+
+ Store(DerefOf(Index(Local7, 1)), Local0)
+ if (LNotEqual(Local0, 0xabcd0001)) {
+ err(ts, z164, 0x000, 0, 0, Local0, 0xabcd0001)
+ }
+
+ Store(0x33334444, Index(Local7, 1))
+
+ Store(DerefOf(Index(Local7, 1)), Local0)
+ if (LNotEqual(Local0, 0x33334444)) {
+ err(ts, z164, 0x000, 0, 0, Local0, 0x33334444)
+ }
+ }
+
+ m001(p000, RefOf(p000))
+
+ Store(DerefOf(Index(p000, 0)), Local0)
+ if (LNotEqual(Local0, 0xabcd0000)) {
+ err(ts, z164, 0x000, 0, 0, Local0, 0xabcd0000)
+ }
+ Store(DerefOf(Index(p000, 1)), Local0)
+ if (LNotEqual(Local0, 0xabcd0001)) {
+ err(ts, z164, 0x000, 0, 0, Local0, 0xabcd0001)
+ }
+ Store(DerefOf(Index(p000, 2)), Local0)
+ if (LNotEqual(Local0, 0xabcd0002)) {
+ err(ts, z164, 0x000, 0, 0, Local0, 0xabcd0002)
+ }
+}
+
+/*
+ *
+ * Elements of Package are Named Integer (i000)
+ *
+ */
+
+/*
+ * Package is passed by ArgX to method
+ *
+ * fail
+ *
+ * Note:
+ * Named element of Package is simply not implemented by MS,
+ * i000 in Package(){i000} is, on MS, the same as Package(){"i000"}.
+ */
+Method(in14)
+{
+ Name(ts, "in14")
+ Name(i000, 0xabcd0000)
+ Name(i001, 0xabcd0001)
+ Name(i002, 0xabcd0002)
+
+ Name(ii00, 0x11112222)
+
+ Name(p000, Package() {i000, i001, i002, "i000"})
+ Method(m001, 2)
+ {
+ Store(DerefOf(Index(arg0, 0)), Local0)
+ if (LNotEqual(Local0, 0xabcd0000)) {
+ err(ts, z164, 0x000, 0, 0, Local0, 0xabcd0000)
+ }
+ Store(DerefOf(Index(arg0, 1)), Local0)
+ if (LNotEqual(Local0, 0xabcd0001)) {
+ err(ts, z164, 0x000, 0, 0, Local0, 0xabcd0001)
+ }
+ Store(DerefOf(Index(arg0, 2)), Local0)
+ if (LNotEqual(Local0, 0xabcd0002)) {
+ err(ts, z164, 0x000, 0, 0, Local0, 0xabcd0002)
+ }
+ Store(DerefOf(Index(arg0, 3)), Local0)
+ if (LNotEqual(Local0, "i000")) {
+ err(ts, z164, 0x000, 0, 0, Local0, "i000")
+ }
+
+ Store(ii00, Index(arg0, 0))
+
+ Store(DerefOf(Index(arg0, 0)), Local0)
+ if (LNotEqual(Local0, 0x11112222)) {
+ err(ts, z164, 0x000, 0, 0, Local0, 0x11112222)
+ }
+ }
+
+ m001(p000, RefOf(p000))
+
+ Store(DerefOf(Index(p000, 0)), Local0)
+ if (LNotEqual(Local0, 0x11112222)) {
+ err(ts, z164, 0x000, 0, 0, Local0, 0x11112222)
+ }
+
+ Store(DerefOf(Index(p000, 1)), Local0)
+ if (LNotEqual(Local0, 0xabcd0001)) {
+ err(ts, z164, 0x000, 0, 0, Local0, 0xabcd0001)
+ }
+
+ Store(DerefOf(Index(p000, 2)), Local0)
+ if (LNotEqual(Local0, 0xabcd0002)) {
+ err(ts, z164, 0x000, 0, 0, Local0, 0xabcd0002)
+ }
+
+ Store(DerefOf(Index(p000, 3)), Local0)
+ if (LNotEqual(Local0, "i000")) {
+ err(ts, z164, 0x000, 0, 0, Local0, "i000")
+ }
+}
+
+/*
+ * Package is used directly by Name
+ *
+ * Example to show behaviour of MS for Package(){i000}
+ *
+ * Note:
+ * Named element of Package is simply not implemented by MS,
+ * i000 in Package(){i000} is, on MS, the same as Package(){"i000"}.
+ */
+Method(in15)
+{
+ Name(ts, "in15")
+ Name(i000, 0xabcd0000)
+ Name(i001, 0xabcd0001)
+ Name(i002, 0xabcd0002)
+
+ Name(ii00, 0x11112222)
+
+ Name(p000, Package() {i000, i001, i002, "i000"})
+
+ Store(DerefOf(Index(p000, 0)), Local0)
+ OUTP(Local0)
+ Store(DerefOf(Index(p000, 1)), Local0)
+ OUTP(Local0)
+ Store(DerefOf(Index(p000, 2)), Local0)
+ OUTP(Local0)
+ Store(DerefOf(Index(p000, 3)), Local0)
+ OUTP(Local0)
+
+ Store(ii00, Index(p000, 1))
+
+ OUTP("After re-write 1-th element:")
+
+ Store(DerefOf(Index(p000, 0)), Local0)
+ OUTP(Local0)
+ Store(DerefOf(Index(p000, 1)), Local0)
+ OUTP(Local0)
+ Store(DerefOf(Index(p000, 2)), Local0)
+ OUTP(Local0)
+ Store(DerefOf(Index(p000, 3)), Local0)
+ OUTP(Local0)
+}
+
+/*
+ * Buffer
+ */
+
+Method(in16)
+{
+ Name(ts, "in16")
+ Name(b000, Buffer() {0x10, 0x11, 0x12})
+ Method(m001, 2)
+ {
+ // arg0 - b000
+ Store(DerefOf(Index(arg0, 0)), Local0)
+ if (LNotEqual(Local0, 0x10)) {
+ err(ts, z164, 0x000, 0, 0, Local0, 0x10)
+ }
+
+ Store(0x67, Index(arg0, 0))
+
+ Store(DerefOf(Index(arg0, 0)), Local0)
+ if (LNotEqual(Local0, 0x67)) {
+ err(ts, z164, 0x000, 0, 0, Local0, 0x67)
+ }
+
+ // arg1 - RefOf(b000)
+
+ Store(DerefOf(arg1), Local7)
+ Store(0x55, Index(Local7, 1))
+
+ Store(DerefOf(Index(Local7, 1)), Local0)
+ if (LNotEqual(Local0, 0x55)) {
+ err(ts, z164, 0x000, 0, 0, Local0, 0x55)
+ }
+ }
+
+ m001(b000, RefOf(b000))
+
+ Store(DerefOf(Index(b000, 0)), Local0)
+ if (LNotEqual(Local0, 0x67)) {
+ err(ts, z164, 0x002, 0, 0, Local0, 0x67)
+ }
+
+ Store(DerefOf(Index(b000, 1)), Local0)
+ if (LNotEqual(Local0, 0x11)) {
+ err(ts, z164, 0x002, 0, 0, Local0, 0x11)
+ }
+
+ Store(DerefOf(Index(b000, 2)), Local0)
+ if (LNotEqual(Local0, 0x12)) {
+ err(ts, z164, 0x002, 0, 0, Local0, 0x12)
+ }
+}
+
+/*
+ * Element of Package instead of i000 (in in02)
+ *
+ * Recursive call to m001
+ */
+Method(in17)
+{
+ Name(ts, "in17")
+ Name(i001, 0)
+ Name(pp00, Package() {0x11111111, 0x00100000, 0x22223333})
+
+ Method(m001)
+ {
+ /*
+ * Because of the stack overflow issues on MS the number
+ * of repetitions was changed from 100 to 11 here.
+ */
+ if (LLess(i001, 11)) {
+
+ Store(DerefOf(Index(pp00, 1)), Local0)
+ Increment(Local0)
+ Store(Local0, Index(pp00, 1))
+ Increment(i001)
+ Add(DerefOf(Index(pp00, 1)), m001(), Local0)
+ Return (Local0)
+ }
+ Return (0)
+ }
+ Store(Add(DerefOf(Index(pp00, 1)), m001()), Local0)
+
+ if (LNotEqual(Local0, 0x00c00042)) {
+ err(ts, z164, 0x00a, 0, 0, Local0, 0x00c00042)
+ }
+
+ Store(DerefOf(Index(pp00, 1)), Local0)
+
+ if (LNotEqual(Local0, 0x0010000b)) {
+ err(ts, z164, 0x00b, 0, 0, Local0, 0x0010000b)
+ }
+
+ CH03(ts, z164, 0x00c, 0, 0)
+}
+
+/*
+ * Buffer Field instead of i000 (in in01)
+ *
+ * fail
+ *
+ * Note: Buffer Field in expressions is not supported by MS,
+ * see msfail.asl
+ */
+
+/*
+ * Field instead of i000 (in in01)
+ */
+Method(in18, 1)
+{
+ Name(ts, "in18")
+ Name(i001, 0)
+ OperationRegion(r000, SystemMemory, 0x100, 0x100)
+ Field(r000, ByteAcc, NoLock, Preserve) { f000,32, f001,32 }
+
+ CH03(ts, z164, 0x011, 0, 0)
+
+ Store(arg0, i001)
+
+ Method(m001)
+ {
+ Method(m002)
+ {
+ Method(m003)
+ {
+ Method(m004)
+ {
+ Method(m005)
+ {
+ Method(m006)
+ {
+ Method(m007)
+ {
+ Method(m008)
+ {
+ if (i001)
+ {
+ Store(0x11223344, f001)
+ }
+ Return (0)
+ }
+ Store(0x80000000, f001)
+ Return (Add(f001, m008()))
+ }
+ Store(0x07000000, f001)
+ Return (Add(f001, m007()))
+ }
+ Store(0x00600000, f001)
+ Return (Add(f001, m006()))
+ }
+ Store(0x00050000, f001)
+ Return (Add(f001, m005()))
+ }
+ Store(0x00004000, f001)
+ Return (Add(f001, m004()))
+ }
+ Store(0x00000300, f001)
+ Return (Add(f001, m003()))
+ }
+ Store(0x00000020, f001)
+ Return (Add(f001, m002()))
+ }
+
+ Store(0x00000001, f001)
+
+ Store(Add(f001, m001()), Local0)
+
+ if (LNotEqual(Local0, 0x87654321)) {
+ err(ts, z164, 0x012, 0, 0, Local0, 0x87654321)
+ }
+
+ if (arg0) {
+ Store(0x11223344, Local1)
+ } else {
+ Store(0x80000000, Local1)
+ }
+
+ if (LNotEqual(f001, Local1)) {
+ err(ts, z164, 0x013, 0, 0, f001, Local1)
+ }
+
+ CH03(ts, z164, 0x014, 0, 0)
+}
+
+/*
+ * Bank Field instead of i000 (in in01)
+ *
+ * (is this test correct?)
+ */
+Method(in19, 1)
+{
+ Name(ts, "in19")
+ Name(i001, 0)
+ OperationRegion(r000, SystemMemory, 0x100, 0x100)
+ Field(r000, ByteAcc, NoLock, Preserve) { f000,32, f001,32 }
+ BankField(r000, f001, 0, ByteAcc, NoLock, Preserve) { bnk0, 32 }
+
+ CH03(ts, z164, 0x015, 0, 0)
+
+ Store(arg0, i001)
+
+ Method(m001)
+ {
+ Method(m002)
+ {
+ Method(m003)
+ {
+ Method(m004)
+ {
+ Method(m005)
+ {
+ Method(m006)
+ {
+ Method(m007)
+ {
+ Method(m008)
+ {
+ if (i001)
+ {
+ Store(0x11223344, bnk0)
+ }
+ Return (0)
+ }
+ Store(0x80000000, bnk0)
+ Return (Add(bnk0, m008()))
+ }
+ Store(0x07000000, bnk0)
+ Return (Add(bnk0, m007()))
+ }
+ Store(0x00600000, bnk0)
+ Return (Add(bnk0, m006()))
+ }
+ Store(0x00050000, bnk0)
+ Return (Add(bnk0, m005()))
+ }
+ Store(0x00004000, bnk0)
+ Return (Add(bnk0, m004()))
+ }
+ Store(0x00000300, bnk0)
+ Return (Add(bnk0, m003()))
+ }
+ Store(0x00000020, bnk0)
+ Return (Add(bnk0, m002()))
+ }
+
+ Store(0x00000001, bnk0)
+
+ Store(Add(bnk0, m001()), Local0)
+
+ if (LNotEqual(Local0, 0x87654321)) {
+ err(ts, z164, 0x016, 0, 0, Local0, 0x87654321)
+ }
+
+ if (arg0) {
+ Store(0x11223344, Local1)
+ } else {
+ Store(0x80000000, Local1)
+ }
+
+ if (LNotEqual(bnk0, Local1)) {
+ err(ts, z164, 0x017, 0, 0, bnk0, Local1)
+ }
+
+ CH03(ts, z164, 0x018, 0, 0)
+}
+
+/*
+ * Index Field instead of i000 (in in01)
+ *
+ * (is this test correct?)
+ */
+Method(in1a, 1)
+{
+ Name(ts, "in1a")
+ Name(i001, 0)
+ OperationRegion(r000, SystemMemory, 0x100, 0x100)
+ Field(r000, ByteAcc, NoLock, Preserve) { f000,32, f001,32 }
+ IndexField(f000, f001, ByteAcc, NoLock, Preserve) { if00, 32 }
+
+ CH03(ts, z164, 0x019, 0, 0)
+
+ Store(arg0, i001)
+
+ Method(m001)
+ {
+ Method(m002)
+ {
+ Method(m003)
+ {
+ Method(m004)
+ {
+ Method(m005)
+ {
+ Method(m006)
+ {
+ Method(m007)
+ {
+ Method(m008)
+ {
+ if (i001)
+ {
+ Store(0x11223344, if00)
+ }
+ Return (0)
+ }
+ Store(0x80000000, if00)
+ Return (Add(if00, m008()))
+ }
+ Store(0x07000000, if00)
+ Return (Add(if00, m007()))
+ }
+ Store(0x00600000, if00)
+ Return (Add(if00, m006()))
+ }
+ Store(0x00050000, if00)
+ Return (Add(if00, m005()))
+ }
+ Store(0x00004000, if00)
+ Return (Add(if00, m004()))
+ }
+ Store(0x00000300, if00)
+ Return (Add(if00, m003()))
+ }
+ Store(0x00000020, if00)
+ Return (Add(if00, m002()))
+ }
+
+ Store(0x00000001, if00)
+
+ Store(Add(if00, m001()), Local0)
+
+ /*
+ * The benchmark values for arg0==0 below
+ * are how MS actually works.
+ */
+
+ if (LNotEqual(Local0, 0x87878787)) {
+ err(ts, z164, 0x01a, 0, 0, Local0, 0x87878787)
+ }
+
+ if (arg0) {
+ Store(0x11223344, Local1)
+ } else {
+ Store(0x80808080, Local1)
+ }
+
+ if (LNotEqual(if00, Local1)) {
+ err(ts, z164, 0x01b, 0, 0, if00, Local1)
+ }
+
+ CH03(ts, z164, 0x01c, 0, 0)
+}
+
+/*
+ * Element of Buffer instead of i000 (in in01)
+ */
+Method(in1b, 1)
+{
+ Name(ts, "in1b")
+ Name(i001, 0)
+ Name(b000, Buffer() {0x11, 0x01, 0x22})
+
+ CH03(ts, z164, 0x01d, 0, 0)
+
+ Store(arg0, i001)
+
+ Method(m001)
+ {
+ Method(m002)
+ {
+ Method(m003)
+ {
+ Method(m004)
+ {
+ Method(m005)
+ {
+ Method(m006)
+ {
+ Method(m007)
+ {
+ Return (0)
+ }
+ Store(0x07, Index(b000, 1))
+ Return (Add(DerefOf(Index(b000, 1)), m007()))
+ }
+ Store(0x06, Index(b000, 1))
+ Return (Add(DerefOf(Index(b000, 1)), m006()))
+ }
+ Store(0x05, Index(b000, 1))
+ Return (Add(DerefOf(Index(b000, 1)), m005()))
+ }
+ Store(0x04, Index(b000, 1))
+ Return (Add(DerefOf(Index(b000, 1)), m004()))
+ }
+ Store(0x03, Index(b000, 1))
+ Return (Add(DerefOf(Index(b000, 1)), m003()))
+ }
+ Store(0x02, Index(b000, 1))
+ Return (Add(DerefOf(Index(b000, 1)), m002()))
+ }
+ Store(Add(DerefOf(Index(b000, 1)), m001()), Local0)
+
+ if (LNotEqual(Local0, 0x1c)) {
+ err(ts, z164, 0x01e, 0, 0, Local0, 0x1c)
+ }
+
+ Store(DerefOf(Index(b000, 1)), Local0)
+
+ if (arg0) {
+ Store(0xff, Local1)
+ } else {
+ Store(0x07, Local1)
+ }
+
+ if (LNotEqual(Local0, Local1)) {
+ err(ts, z164, 0x01f, 0, 0, Local0, Local1)
+ }
+
+ CH03(ts, z164, 0x020, 0, 0)
+}
+
+/*
+ * Element of Buffer instead of i000 (in in01)
+ *
+ * in1b+:
+ * added argument to methods and b000 passed without any use of that
+ * parameter inside the methods
+ */
+Method(in1c, 1)
+{
+ Name(ts, "in1c")
+ Name(i001, 0)
+ Name(b000, Buffer() {0x11, 0x01, 0x22})
+
+ CH03(ts, z164, 0x01d, 0, 0)
+
+ Store(arg0, i001)
+
+ Method(m000, 1)
+ {
+
+ Method(m001, 1)
+ {
+ Method(m002, 1)
+ {
+ Method(m003, 1)
+ {
+ Method(m004, 1)
+ {
+ Method(m005, 1)
+ {
+ Method(m006, 1)
+ {
+ Method(m007, 1)
+ {
+ Return (0)
+ }
+ Store(0x07, Index(b000, 1))
+ Return (Add(DerefOf(Index(b000, 1)), m007(b000)))
+ }
+ Store(0x06, Index(b000, 1))
+ Return (Add(DerefOf(Index(b000, 1)), m006(b000)))
+ }
+ Store(0x05, Index(b000, 1))
+ Return (Add(DerefOf(Index(b000, 1)), m005(b000)))
+ }
+ Store(0x04, Index(b000, 1))
+ Return (Add(DerefOf(Index(b000, 1)), m004(b000)))
+ }
+ Store(0x03, Index(b000, 1))
+ Return (Add(DerefOf(Index(b000, 1)), m003(b000)))
+ }
+ Store(0x02, Index(b000, 1))
+ Return (Add(DerefOf(Index(b000, 1)), m002(b000)))
+ }
+ Store(Add(DerefOf(Index(b000, 1)), m001(b000)), Local0)
+ Return (Local0)
+ }
+
+ CH03(ts, z164, 0x000, 0, 0)
+
+ Store(m000(b000), Local0)
+
+ if (LNotEqual(Local0, 0x1c)) {
+ err(ts, z164, 0x01e, 0, 0, Local0, 0x1c)
+ }
+
+ Store(DerefOf(Index(b000, 1)), Local0)
+
+ if (arg0) {
+ Store(0xff, Local1)
+ } else {
+ Store(0x07, Local1)
+ }
+
+ if (LNotEqual(Local0, Local1)) {
+ err(ts, z164, 0x01f, 0, 0, Local0, Local1)
+ }
+
+ CH03(ts, z164, 0x020, 0, 0)
+}
+
+
+/*
+ * Element of Package instead of i000 (in in01)
+ */
+Method(in1d)
+{
+ Name(ts, "in1d")
+ Name(i001, 0)
+ Name(p000, Package() {1,2,3,4})
+ Name(pp00, Package() {0x11111111, 0x00000001, 0x22223333})
+
+ CH03(ts, z164, 0x006, 0, 0)
+
+ Method(m001)
+ {
+ Method(m002)
+ {
+ Method(m003)
+ {
+ Method(m004)
+ {
+ Method(m005)
+ {
+ Method(m006)
+ {
+ Method(m007)
+ {
+ Return (0)
+ }
+ Store(0x07000000, Index(pp00, 1))
+ Return (Add(DerefOf(Index(pp00, 1)), m007()))
+ }
+ Store(0x00600000, Index(pp00, 1))
+ Return (Add(DerefOf(Index(pp00, 1)), m006()))
+ }
+ Store(0x00050000, Index(pp00, 1))
+ Return (Add(DerefOf(Index(pp00, 1)), m005()))
+ }
+ Store(0x00004000, Index(pp00, 1))
+ Return (Add(DerefOf(Index(pp00, 1)), m004()))
+ }
+ Store(0x00000300, Index(pp00, 1))
+ Return (Add(DerefOf(Index(pp00, 1)), m003()))
+ }
+ Store(0x00000020, Index(pp00, 1))
+ Return (Add(DerefOf(Index(pp00, 1)), m002()))
+ }
+ Store(Add(DerefOf(Index(pp00, 1)), m001()), Local0)
+
+ if (LNotEqual(Local0, 0x07654321)) {
+ err(ts, z164, 0x007, 0, 0, Local0, 0x07654321)
+ }
+
+ Store(DerefOf(Index(pp00, 1)), Local0)
+
+ if (LNotEqual(Local0, 0x07000000)) {
+ err(ts, z164, 0x008, 0, 0, Local0, 0x07000000)
+ }
+
+ CH03(ts, z164, 0x009, 0, 0)
+}
+
+/*
+ * Element of Package instead of i000 (in in01)
+ *
+ * in1d+:
+ * added argument to methods and b000 passed without any use of that
+ * parameter inside the methods
+ */
+Method(in1e)
+{
+ Name(ts, "in1e")
+ Name(i001, 0)
+ Name(p000, Package() {1,2,3,4})
+ Name(pp00, Package() {0x11111111, 0x00000001, 0x22223333})
+
+ CH03(ts, z164, 0x006, 0, 0)
+
+ Method(m000, 1)
+ {
+
+ Method(m001, 1)
+ {
+ Method(m002, 1)
+ {
+ Method(m003, 1)
+ {
+ Method(m004, 1)
+ {
+ Method(m005, 1)
+ {
+ Method(m006, 1)
+ {
+ Method(m007, 1)
+ {
+ Return (0)
+ }
+ Store(0x07000000, Index(pp00, 1))
+ Return (Add(DerefOf(Index(pp00, 1)), m007(pp00)))
+ }
+ Store(0x00600000, Index(pp00, 1))
+ Return (Add(DerefOf(Index(pp00, 1)), m006(pp00)))
+ }
+ Store(0x00050000, Index(pp00, 1))
+ Return (Add(DerefOf(Index(pp00, 1)), m005(pp00)))
+ }
+ Store(0x00004000, Index(pp00, 1))
+ Return (Add(DerefOf(Index(pp00, 1)), m004(pp00)))
+ }
+ Store(0x00000300, Index(pp00, 1))
+ Return (Add(DerefOf(Index(pp00, 1)), m003(pp00)))
+ }
+ Store(0x00000020, Index(pp00, 1))
+ Return (Add(DerefOf(Index(pp00, 1)), m002(pp00)))
+ }
+ Store(Add(DerefOf(Index(pp00, 1)), m001(pp00)), Local0)
+ Return (Local0)
+ }
+
+ CH03(ts, z164, 0x000, 0, 0)
+
+ Store(m000(pp00), Local0)
+
+ if (LNotEqual(Local0, 0x07654321)) {
+ err(ts, z164, 0x007, 0, 0, Local0, 0x07654321)
+ }
+
+ Store(DerefOf(Index(pp00, 1)), Local0)
+
+ if (LNotEqual(Local0, 0x07000000)) {
+ err(ts, z164, 0x008, 0, 0, Local0, 0x07000000)
+ }
+
+ CH03(ts, z164, 0x009, 0, 0)
+}
+
+Method(ini1)
+{
+ SRMT("in10")
+ in10()
+ SRMT("in11")
+ in11()
+ SRMT("in12")
+ in12()
+ SRMT("in13")
+ in13()
+ SRMT("in14")
+ if (chk0) {
+ in14()
+ } else {
+ BLCK()
+ }
+ SRMT("in15")
+ if (chk0) {
+ in15()
+ } else {
+ BLCK()
+ }
+ SRMT("in16")
+ in16()
+ SRMT("in17")
+ in17()
+ SRMT("in18-0")
+ in18(0)
+ SRMT("in19-0")
+ in19(0)
+ SRMT("in1a-0")
+ in1a(0)
+ SRMT("in1b-0")
+ in1b(0)
+ SRMT("in1c-0")
+ if (y275) {
+ in1c(0)
+ } else {
+ BLCK()
+ }
+ SRMT("in1d")
+ in1d()
+ SRMT("in1e")
+ if (LAnd(fix0, y275)) {
+ in1e()
+ } else {
+ BLCK()
+ }
+
+ CH03("ini1", z164, 0x000, 0, 0)
+}
+
diff --git a/tests/aslts/src/runtime/collections/Identity2MS/abbu/initial/ns_in20.asl b/tests/aslts/src/runtime/collections/Identity2MS/abbu/initial/ns_in20.asl
new file mode 100644
index 000000000..1b8cf9cfc
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/Identity2MS/abbu/initial/ns_in20.asl
@@ -0,0 +1,279 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+/*
+ * Source file ns_0000.asl
+ *
+ * The tests differ those from ns_0000.asl by that the objects are
+ * passed to methods as argument (Arg) but not directly by name.
+ */
+
+Name(z165, 165)
+
+/*
+ * Named Integer i000
+ */
+
+/*
+ * Simple, 3-level
+ */
+Method(in20, 1)
+{
+ Name(ts, "in20")
+ Name(i000, 0x00000001)
+ Name(p000, Package() {1,2,3,4})
+
+ Name(i001, 0)
+
+ CH03(ts, z165, 0x000, 0, 0)
+
+ Store(arg0, i001)
+
+ Method(m000, 1)
+ {
+ Method(m001, 1)
+ {
+ Method(m002, 1)
+ {
+ Method(m003, 1)
+ {
+ if (i001) {
+ CopyObject(p000, arg0)
+ }
+ Return (0xabcd0000)
+ }
+ Return (Add(arg0, m003(arg0)))
+ }
+ Return (Add(arg0, m002(arg0)))
+ }
+ Store(Add(arg0, m001(arg0)), Local0)
+
+ Return (Local0)
+ }
+
+ Store(m000(i000), Local0)
+
+ if (LNotEqual(Local0, 0xabcd0003)) {
+ err(ts, z165, 0x001, 0, 0, Local0, 0xabcd0003)
+ }
+}
+
+/*
+ * 8-level
+ * added writing into i000:
+ * Store(0x00040000, i000)
+ */
+Method(in21, 1)
+{
+ Name(ts, "in21")
+ Name(i000, 0x00000001)
+ Name(i001, 0)
+ Name(p000, Package() {1,2,3,4})
+
+ Store(arg0, i001)
+
+ Method(m001, 1)
+ {
+ Method(m002, 1)
+ {
+ Method(m003, 1)
+ {
+ Method(m004, 1)
+ {
+ Method(m005, 1)
+ {
+ Method(m006, 1)
+ {
+ Method(m007, 1)
+ {
+ Method(m008, 1)
+ {
+ if (i001)
+ {
+ CopyObject(p000, arg0)
+ }
+ Return (0)
+ }
+ Store(0x80000000, arg0)
+ Return (Add(arg0, m008(arg0)))
+ }
+ Store(0x07000000, arg0)
+ Return (Add(arg0, m007(arg0)))
+ }
+ Store(0x00600000, arg0)
+ Return (Add(arg0, m006(arg0)))
+ }
+ Store(0x00050000, arg0)
+ Return (Add(arg0, m005(arg0)))
+ }
+ Store(0x00004000, arg0)
+ Return (Add(arg0, m004(arg0)))
+ }
+ Store(0x00000300, arg0)
+ Return (Add(arg0, m003(arg0)))
+ }
+ Store(0x00000020, arg0)
+ Return (Add(arg0, m002(arg0)))
+ }
+
+ Store(Add(i000, m001(i000)), Local0)
+
+ if (LNotEqual(Local0, 0x87654321)) {
+ err(ts, z165, 0x003, 0, 0, Local0, 0x87654321)
+ }
+
+ if (LNotEqual(i000, 0x00000001)) {
+ err(ts, z165, 0x004, 0, 0, i000, 0x00000001)
+ }
+}
+
+/*
+ * Recurcive execution of m001:
+ * Add(i000, m001(), Local0)
+ */
+Method(in22)
+{
+ Name(ts, "in22")
+ Name(i000, 0x00100000)
+ Name(i001, 0)
+
+ Method(m000, 1)
+ {
+ Method(m001, 1)
+ {
+ /*
+ * Because of the stack overflow issues on MS the number
+ * of repetitions was changed from 100 to 9 here.
+ */
+ if (LLess(i001, 9)) {
+ Increment(arg0)
+ Increment(i001)
+ Add(arg0, m001(arg0), Local0)
+ Return (Local0)
+ }
+ Return (0)
+ }
+ Store(Add(arg0, m001(arg0)), Local0)
+ Return (Local0)
+ }
+
+ Store(Add(i000, m000(i000)), Local0)
+
+ if (LNotEqual(Local0, 0x00b0002d)) {
+ err(ts, z165, 0x006, 0, 0, Local0, 0x00b0002d)
+ }
+
+ if (LNotEqual(i000, 0x00100000)) {
+ err(ts, z165, 0x007, 0, 0, i000, 0x00100000)
+ }
+}
+
+/*
+ * Arg instead of i000 (in in01)
+ */
+Method(in23, 2)
+{
+ Name(ts, "in23")
+ Name(i001, 0)
+ Name(p000, Package() {1,2,3,4})
+
+ Store(arg0, i001)
+
+ Store(0x00000001, arg1)
+
+ Method(m001, 1)
+ {
+ Method(m002, 1)
+ {
+ Method(m003, 1)
+ {
+ Method(m004, 1)
+ {
+ Method(m005, 1)
+ {
+ Method(m006, 1)
+ {
+ Method(m007, 1)
+ {
+ Method(m008, 1)
+ {
+ if (i001)
+ {
+ CopyObject(p000, arg0)
+ }
+ Return (0)
+ }
+ Store(0x80000000, arg0)
+ Return (Add(arg0, m008(8)))
+ }
+ Store(0x07000000, arg0)
+ Return (Add(arg0, m007(7)))
+ }
+ Store(0x00600000, arg0)
+ Return (Add(arg0, m006(6)))
+ }
+ Store(0x00050000, arg0)
+ Return (Add(arg0, m005(5)))
+ }
+ Store(0x00004000, arg0)
+ Return (Add(arg0, m004(4)))
+ }
+ Store(0x00000300, arg0)
+ Return (Add(arg0, m003(3)))
+ }
+ Store(0x00000020, arg0)
+ Return (Add(arg0, m002(2)))
+ }
+ Store(Add(arg1, m001(1)), Local0)
+
+ if (LNotEqual(Local0, 0x87654321)) {
+ err(ts, z165, 0x00f, 0, 0, Local0, 0x87654321)
+ }
+
+ if (LNotEqual(arg1, 1)) {
+ err(ts, z165, 0x010, 0, 0, arg1, 1)
+ }
+
+ CH03(ts, z165, 0x011, 0, 0)
+}
+
+Method(ini2)
+{
+ SRMT("in20-0")
+ in20(0)
+ SRMT("in21-0")
+ in21(0)
+ SRMT("in22")
+ in22()
+ SRMT("in23-0")
+ in23(0, 0)
+
+ CH03("ini2", z165, 0x000, 0, 0)
+}
+
diff --git a/tests/aslts/src/runtime/collections/Identity2MS/abbu/initial/ns_in30.asl b/tests/aslts/src/runtime/collections/Identity2MS/abbu/initial/ns_in30.asl
new file mode 100644
index 000000000..2f2c04aca
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/Identity2MS/abbu/initial/ns_in30.asl
@@ -0,0 +1,913 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+/*
+ * Source file ns_0010.asl
+ *
+ * The tests differ those from ns_0010.asl by that the objects are
+ * passed to methods as argument (Arg) but not directly by name.
+ */
+
+Name(z166, 166)
+
+/*
+ *
+ * Read/write access to elemens of Package passed to method.
+ *
+ */
+
+/*
+ *
+ * Elements of Package are constant Integer (0xabcd0000)
+ *
+ */
+
+/*
+ * Package is passed by ArgX to method:
+ * - directly
+ */
+Method(in30)
+{
+ Name(ts, "in30")
+ Name(p000, Package() {0xabcd0000, 0xabcd0001, 0xabcd0002})
+
+ Method(m000, 2)
+ {
+ Method(m001, 2)
+ {
+ Store(DerefOf(Index(arg0, 0)), Local0)
+ if (LNotEqual(Local0, 0xabcd0000)) {
+ err(ts, z166, 0x000, 0, 0, Local0, 0xabcd0000)
+ }
+
+ Store(0x11112222, Index(arg0, 0))
+
+ Store(DerefOf(Index(arg0, 0)), Local0)
+ if (LNotEqual(Local0, 0x11112222)) {
+ err(ts, z166, 0x000, 0, 0, Local0, 0x11112222)
+ }
+ }
+ m001(arg0, arg1)
+ }
+
+ m000(p000, RefOf(p000))
+
+ Store(DerefOf(Index(p000, 0)), Local0)
+ if (LNotEqual(Local0, 0x11112222)) {
+ err(ts, z166, 0x000, 0, 0, Local0, 0x11112222)
+ }
+
+ Store(DerefOf(Index(p000, 1)), Local0)
+ if (LNotEqual(Local0, 0xabcd0001)) {
+ err(ts, z166, 0x000, 0, 0, Local0, 0xabcd0001)
+ }
+}
+
+/*
+ * Package is passed by ArgX to method:
+ * - by ORef
+ */
+Method(in31)
+{
+ Name(ts, "in31")
+ Name(p000, Package() {0xabcd0000, 0xabcd0001, 0xabcd0002})
+
+ Method(m000, 2)
+ {
+ Method(m001, 2)
+ {
+ Store(DerefOf(arg1), Local7)
+
+ Store(DerefOf(Index(Local7, 1)), Local0)
+ if (LNotEqual(Local0, 0xabcd0001)) {
+ err(ts, z166, 0x000, 0, 0, Local0, 0xabcd0001)
+ }
+
+ Store(0x33334444, Index(Local7, 1))
+
+ Store(DerefOf(Index(Local7, 1)), Local0)
+ if (LNotEqual(Local0, 0x33334444)) {
+ err(ts, z166, 0x000, 0, 0, Local0, 0x33334444)
+ }
+ }
+ m001(arg0, arg1)
+ }
+
+ m000(p000, RefOf(p000))
+
+ Store(DerefOf(Index(p000, 0)), Local0)
+ if (LNotEqual(Local0, 0xabcd0000)) {
+ err(ts, z166, 0x000, 0, 0, Local0, 0xabcd0000)
+ }
+
+ Store(DerefOf(Index(p000, 1)), Local0)
+ if (LNotEqual(Local0, 0xabcd0001)) {
+ err(ts, z166, 0x000, 0, 0, Local0, 0xabcd0001)
+ }
+}
+
+/*
+ * Package is passed by ArgX to method:
+ * - directly
+ * - by ORef
+ */
+Method(in32)
+{
+ Name(ts, "in32")
+ Name(p000, Package() {0xabcd0000, 0xabcd0001, 0xabcd0002})
+
+ Method(m000, 2)
+ {
+ Method(m001, 2)
+ {
+ Store(0x11112222, Index(arg0, 0))
+
+ Store(DerefOf(Index(arg0, 0)), Local0)
+ if (LNotEqual(Local0, 0x11112222)) {
+ err(ts, z166, 0x000, 0, 0, Local0, 0x11112222)
+ }
+
+ Store(DerefOf(arg1), Local7)
+ Store(0x33334444, Index(Local7, 1))
+
+ Store(DerefOf(Index(Local7, 1)), Local0)
+ if (LNotEqual(Local0, 0x33334444)) {
+ err(ts, z166, 0x000, 0, 0, Local0, 0x33334444)
+ }
+ }
+ m001(arg0, arg1)
+ }
+
+ m000(p000, RefOf(p000))
+
+ Store(DerefOf(Index(p000, 0)), Local0)
+ if (LNotEqual(Local0, 0x11112222)) {
+ err(ts, z166, 0x000, 0, 0, Local0, 0x11112222)
+ }
+
+ Store(DerefOf(Index(p000, 1)), Local0)
+ if (LNotEqual(Local0, 0xabcd0001)) {
+ err(ts, z166, 0x000, 0, 0, Local0, 0xabcd0001)
+ }
+}
+
+/*
+ * Package is given directly by name:
+ * - do ORef and pass to LocalX
+ * - do DerefOf and pass to LocalX
+ */
+Method(in33)
+{
+ Name(ts, "in33")
+ Name(p000, Package() {0xabcd0000, 0xabcd0001, 0xabcd0002})
+
+ Method(m000, 2)
+ {
+ Method(m001, 2)
+ {
+ Store(RefOf(arg0), Local6)
+ Store(DerefOf(Local6), Local7)
+
+ Store(DerefOf(Index(Local7, 1)), Local0)
+ if (LNotEqual(Local0, 0xabcd0001)) {
+ err(ts, z166, 0x000, 0, 0, Local0, 0xabcd0001)
+ }
+
+ Store(0x33334444, Index(Local7, 1))
+
+ Store(DerefOf(Index(Local7, 1)), Local0)
+ if (LNotEqual(Local0, 0x33334444)) {
+ err(ts, z166, 0x000, 0, 0, Local0, 0x33334444)
+ }
+ }
+ m001(arg0, arg1)
+ }
+
+ m000(p000, RefOf(p000))
+
+ Store(DerefOf(Index(p000, 0)), Local0)
+ if (LNotEqual(Local0, 0xabcd0000)) {
+ err(ts, z166, 0x000, 0, 0, Local0, 0xabcd0000)
+ }
+ Store(DerefOf(Index(p000, 1)), Local0)
+ if (LNotEqual(Local0, 0xabcd0001)) {
+ err(ts, z166, 0x000, 0, 0, Local0, 0xabcd0001)
+ }
+ Store(DerefOf(Index(p000, 2)), Local0)
+ if (LNotEqual(Local0, 0xabcd0002)) {
+ err(ts, z166, 0x000, 0, 0, Local0, 0xabcd0002)
+ }
+}
+
+/*
+ *
+ * Elements of Package are Named Integer (i000)
+ *
+ */
+
+/*
+ * Package is passed by ArgX to method
+ *
+ * fail
+ *
+ * Note:
+ * Named element of Package is simply not implemented by MS,
+ * i000 in Package(){i000} is, on MS, the same as Package(){"i000"}.
+ */
+Method(in34)
+{
+ Name(ts, "in34")
+ Name(i000, 0xabcd0000)
+ Name(i001, 0xabcd0001)
+ Name(i002, 0xabcd0002)
+ Name(ii00, 0x11112222)
+ Name(p000, Package() {i000, i001, i002, "i000"})
+
+ Method(m000, 2)
+ {
+ Method(m001, 2)
+ {
+ Store(DerefOf(Index(arg0, 0)), Local0)
+ if (LNotEqual(Local0, 0xabcd0000)) {
+ err(ts, z166, 0x000, 0, 0, Local0, 0xabcd0000)
+ }
+ Store(DerefOf(Index(arg0, 1)), Local0)
+ if (LNotEqual(Local0, 0xabcd0001)) {
+ err(ts, z166, 0x000, 0, 0, Local0, 0xabcd0001)
+ }
+ Store(DerefOf(Index(arg0, 2)), Local0)
+ if (LNotEqual(Local0, 0xabcd0002)) {
+ err(ts, z166, 0x000, 0, 0, Local0, 0xabcd0002)
+ }
+ Store(DerefOf(Index(arg0, 3)), Local0)
+ if (LNotEqual(Local0, "i000")) {
+ err(ts, z166, 0x000, 0, 0, Local0, "i000")
+ }
+
+ Store(ii00, Index(arg0, 0))
+
+ Store(DerefOf(Index(arg0, 0)), Local0)
+ if (LNotEqual(Local0, 0x11112222)) {
+ err(ts, z166, 0x000, 0, 0, Local0, 0x11112222)
+ }
+ }
+ m001(arg0, arg1)
+ }
+
+ m000(p000, RefOf(p000))
+
+ Store(DerefOf(Index(p000, 0)), Local0)
+ if (LNotEqual(Local0, 0x11112222)) {
+ err(ts, z166, 0x000, 0, 0, Local0, 0x11112222)
+ }
+
+ Store(DerefOf(Index(p000, 1)), Local0)
+ if (LNotEqual(Local0, 0xabcd0001)) {
+ err(ts, z166, 0x000, 0, 0, Local0, 0xabcd0001)
+ }
+
+ Store(DerefOf(Index(p000, 2)), Local0)
+ if (LNotEqual(Local0, 0xabcd0002)) {
+ err(ts, z166, 0x000, 0, 0, Local0, 0xabcd0002)
+ }
+
+ Store(DerefOf(Index(p000, 3)), Local0)
+ if (LNotEqual(Local0, "i000")) {
+ err(ts, z166, 0x000, 0, 0, Local0, "i000")
+ }
+}
+
+/*
+ * Buffer
+ */
+
+Method(in36)
+{
+ Name(ts, "in36")
+ Name(b000, Buffer() {0x10, 0x11, 0x12})
+
+ Method(m000, 2)
+ {
+ Method(m001, 2)
+ {
+ // arg0 - b000
+ Store(DerefOf(Index(arg0, 0)), Local0)
+ if (LNotEqual(Local0, 0x10)) {
+ err(ts, z166, 0x000, 0, 0, Local0, 0x10)
+ }
+
+ Store(0x67, Index(arg0, 0))
+
+ Store(DerefOf(Index(arg0, 0)), Local0)
+ if (LNotEqual(Local0, 0x67)) {
+ err(ts, z166, 0x000, 0, 0, Local0, 0x67)
+ }
+
+ // arg1 - RefOf(b000)
+
+ Store(DerefOf(arg1), Local7)
+ Store(0x55, Index(Local7, 1))
+
+ Store(DerefOf(Index(Local7, 1)), Local0)
+ if (LNotEqual(Local0, 0x55)) {
+ err(ts, z166, 0x000, 0, 0, Local0, 0x55)
+ }
+ }
+ m001(arg0, arg1)
+ }
+
+ m000(b000, RefOf(b000))
+
+ Store(DerefOf(Index(b000, 0)), Local0)
+ if (LNotEqual(Local0, 0x67)) {
+ err(ts, z166, 0x002, 0, 0, Local0, 0x67)
+ }
+
+ Store(DerefOf(Index(b000, 1)), Local0)
+ if (LNotEqual(Local0, 0x11)) {
+ err(ts, z166, 0x002, 0, 0, Local0, 0x11)
+ }
+
+ Store(DerefOf(Index(b000, 2)), Local0)
+ if (LNotEqual(Local0, 0x12)) {
+ err(ts, z166, 0x002, 0, 0, Local0, 0x12)
+ }
+}
+
+/*
+ * Element of Package instead of i000 (in in02)
+ *
+ * Recursive call to m001
+ */
+Method(in37)
+{
+ Name(ts, "in37")
+ Name(i001, 0)
+ Name(pp00, Package() {0x11111111, 0x00100000, 0x22223333})
+
+ Method(m000, 1)
+ {
+ Method(m001, 1)
+ {
+ /*
+ * Because of the stack overflow issues on MS the number
+ * of repetitions was changed from 100 to 9 here.
+ */
+ if (LLess(i001, 9)) {
+
+ Store(DerefOf(Index(arg0, 1)), Local0)
+ Increment(Local0)
+ Store(Local0, Index(arg0, 1))
+ Increment(i001)
+ Add(DerefOf(Index(arg0, 1)), m001(arg0), Local0)
+ Return (Local0)
+ }
+ Return (0)
+ }
+ Store(Add(DerefOf(Index(arg0, 1)), m001(arg0)), Local0)
+ Return (Local0)
+ }
+
+ Store(m000(pp00), Local0)
+
+ if (LNotEqual(Local0, 0x00a0002d)) {
+ err(ts, z166, 0x00a, 0, 0, Local0, 0x00a0002d)
+ }
+
+ Store(DerefOf(Index(pp00, 1)), Local0)
+
+ if (LNotEqual(Local0, 0x00100009)) {
+ err(ts, z166, 0x00b, 0, 0, Local0, 0x00100009)
+ }
+
+ CH03(ts, z166, 0x00c, 0, 0)
+}
+
+/*
+ * Buffer Field instead of i000 (in in01)
+ *
+ * fail
+ *
+ * Note: Buffer Field in expressions is not supported by MS,
+ * see msfail.asl
+ */
+
+/*
+ * Field instead of i000 (in in01)
+ */
+Method(in38, 1)
+{
+ Name(ts, "in38")
+ Name(i001, 0)
+ OperationRegion(r000, SystemMemory, 0x100, 0x100)
+ Field(r000, ByteAcc, NoLock, Preserve) { f000,32, f001,32 }
+
+ CH03(ts, z166, 0x011, 0, 0)
+
+ Store(arg0, i001)
+
+ Method(m000, 1)
+ {
+
+ Method(m001, 1)
+ {
+ Method(m002, 1)
+ {
+ Method(m003, 1)
+ {
+ Method(m004, 1)
+ {
+ Method(m005, 1)
+ {
+ Method(m006, 1)
+ {
+ Method(m007, 1)
+ {
+ /*
+ * To exclude stack overflow
+ * >>>>>>>>>>>>>>>>
+ Method(m008, 1)
+ {
+ if (i001)
+ {
+ Store(0x11223344, arg0)
+ }
+ Return (0)
+ }
+ Store(0x80000000, arg0)
+ Return (Add(arg0, m008(arg0)))
+ * <<<<<<<<<<<<<<<<
+ */
+ Return (0)
+ }
+ Store(0x07000000, arg0)
+ Return (Add(arg0, m007(arg0)))
+ }
+ Store(0x00600000, arg0)
+ Return (Add(arg0, m006(arg0)))
+ }
+ Store(0x00050000, arg0)
+ Return (Add(arg0, m005(arg0)))
+ }
+ Store(0x00004000, arg0)
+ Return (Add(arg0, m004(arg0)))
+ }
+ Store(0x00000300, arg0)
+ Return (Add(arg0, m003(arg0)))
+ }
+ Store(0x00000020, arg0)
+ Return (Add(arg0, m002(arg0)))
+ }
+
+ Store(0x00000001, arg0)
+ Store(Add(arg0, m001(arg0)), Local0)
+ Return (Local0)
+ }
+
+ Store(0xabcd9876, f001)
+
+ Store(m000(f001), Local0)
+
+ if (LNotEqual(Local0, 0x07654321)) {
+ err(ts, z166, 0x012, 0, 0, Local0, 0x07654321)
+ }
+
+ if (arg0) {
+ Store(0x11223344, Local1)
+ } else {
+ Store(0xabcd9876, Local1)
+ }
+
+ if (LNotEqual(f001, Local1)) {
+ err(ts, z166, 0x013, 0, 0, f001, Local1)
+ }
+
+ CH03(ts, z166, 0x014, 0, 0)
+}
+
+/*
+ * Bank Field instead of i000 (in in01)
+ *
+ * (is this test correct?)
+ */
+Method(in39, 1)
+{
+ Name(ts, "in39")
+ Name(i001, 0)
+ OperationRegion(r000, SystemMemory, 0x100, 0x100)
+ Field(r000, ByteAcc, NoLock, Preserve) { f000,32, f001,32 }
+ BankField(r000, f001, 0, ByteAcc, NoLock, Preserve) { bnk0, 32 }
+
+ CH03(ts, z166, 0x015, 0, 0)
+
+ Store(arg0, i001)
+
+ Method(m000, 1)
+ {
+
+ Method(m001, 1)
+ {
+ Method(m002, 1)
+ {
+ Method(m003, 1)
+ {
+ Method(m004, 1)
+ {
+ Method(m005, 1)
+ {
+ Method(m006, 1)
+ {
+ Method(m007, 1)
+ {
+ /*
+ * To exclude stack overflow
+ * >>>>>>>>>>>>>>>>
+ Method(m008, 1)
+ {
+ if (i001)
+ {
+ Store(0x11223344, arg0)
+ }
+ Return (0)
+ }
+ Store(0x80000000, arg0)
+ Return (Add(arg0, m008(arg0)))
+ * <<<<<<<<<<<<<<<<
+ */
+ Return (0)
+ }
+ Store(0x07000000, arg0)
+ Return (Add(arg0, m007(arg0)))
+ }
+ Store(0x00600000, arg0)
+ Return (Add(arg0, m006(arg0)))
+ }
+ Store(0x00050000, arg0)
+ Return (Add(arg0, m005(arg0)))
+ }
+ Store(0x00004000, arg0)
+ Return (Add(arg0, m004(arg0)))
+ }
+ Store(0x00000300, arg0)
+ Return (Add(arg0, m003(arg0)))
+ }
+ Store(0x00000020, arg0)
+ Return (Add(arg0, m002(arg0)))
+ }
+
+ Store(0x00000001, arg0)
+ Store(Add(arg0, m001(arg0)), Local0)
+ Return (Local0)
+ }
+
+ Store(0xaabbccdd, bnk0)
+ Store(m000(bnk0), Local0)
+
+ if (LNotEqual(Local0, 0x07654321)) {
+ err(ts, z166, 0x016, 0, 0, Local0, 0x07654321)
+ }
+
+ if (arg0) {
+ Store(0x11223344, Local1)
+ } else {
+ Store(0xaabbccdd, Local1)
+ }
+
+ if (LNotEqual(bnk0, Local1)) {
+ err(ts, z166, 0x017, 0, 0, bnk0, Local1)
+ }
+
+ CH03(ts, z166, 0x018, 0, 0)
+}
+
+/*
+ * Index Field instead of i000 (in in01)
+ *
+ * (is this test correct?)
+ */
+Method(in3a, 1)
+{
+ Name(ts, "in3a")
+ Name(i001, 0)
+ OperationRegion(r000, SystemMemory, 0x100, 0x100)
+ Field(r000, ByteAcc, NoLock, Preserve) { f000,32, f001,32 }
+ IndexField(f000, f001, ByteAcc, NoLock, Preserve) { if00, 32 }
+
+ CH03(ts, z166, 0x019, 0, 0)
+
+ Store(arg0, i001)
+
+ Method(m000, 1)
+ {
+
+ Method(m001, 1)
+ {
+ Method(m002, 1)
+ {
+ Method(m003, 1)
+ {
+ Method(m004, 1)
+ {
+ Method(m005, 1)
+ {
+ Method(m006, 1)
+ {
+ Method(m007, 1)
+ {
+ /*
+ * To exclude stack overflow
+ * >>>>>>>>>>>>>>>>
+ Method(m008, 1)
+ {
+ if (i001)
+ {
+ Store(0x11223344, if00)
+ }
+ Return (0)
+ }
+ Store(0x80000000, if00)
+ Return (Add(if00, m008(if00)))
+ * <<<<<<<<<<<<<<<<
+ */
+ Return (0)
+ }
+ Store(0x07000000, if00)
+ Return (Add(if00, m007(if00)))
+ }
+ Store(0x00600000, if00)
+ Return (Add(if00, m006(if00)))
+ }
+ Store(0x00050000, if00)
+ Return (Add(if00, m005(if00)))
+ }
+ Store(0x00004000, if00)
+ Return (Add(if00, m004(if00)))
+ }
+ Store(0x00000300, if00)
+ Return (Add(if00, m003(if00)))
+ }
+ Store(0x00000020, if00)
+ Return (Add(if00, m002(if00)))
+ }
+
+ Store(0x00000001, if00)
+ Store(Add(if00, m001(if00)), Local0)
+ Return (Local0)
+ }
+
+ Store(0xabababab, if00)
+ Store(m000(if00), Local0)
+
+ /*
+ * The benchmark values for arg0==0 below
+ * are how MS actually works.
+ */
+
+ if (LNotEqual(Local0, 0x07070707)) {
+ err(ts, z166, 0x01a, 0, 0, Local0, 0x07070707)
+ }
+
+ if (arg0) {
+ Store(0x11223344, Local1)
+ } else {
+ Store(0x07070707, Local1)
+ }
+
+ if (LNotEqual(if00, Local1)) {
+ err(ts, z166, 0x01b, 0, 0, if00, Local1)
+ }
+
+ CH03(ts, z166, 0x01c, 0, 0)
+}
+
+/*
+ * Element of Buffer instead of i000 (in in01)
+ *
+ * see in3c below
+ *
+ * Method(in3b, 1)
+ * {
+ * }
+ */
+
+/*
+ * Element of Buffer instead of i000 (in in01)
+ *
+ * m01b+:
+ * added argument to methods and b000 passed without any use of that
+ * parameter inside the methods
+ */
+Method(in3c, 1)
+{
+ Name(ts, "in3c")
+ Name(i001, 0)
+ Name(b000, Buffer() {0x11, 0x01, 0x22})
+
+ CH03(ts, z166, 0x01d, 0, 0)
+
+ Store(arg0, i001)
+
+ Method(m000, 1)
+ {
+
+ Method(m001, 1)
+ {
+ Method(m002, 1)
+ {
+ Method(m003, 1)
+ {
+ Method(m004, 1)
+ {
+ Method(m005, 1)
+ {
+ Method(m006, 1)
+ {
+ Method(m007, 1)
+ {
+ Return (0)
+ }
+ Store(0x07, Index(arg0, 1))
+ Return (Add(DerefOf(Index(arg0, 1)), m007(arg0)))
+ }
+ Store(0x06, Index(arg0, 1))
+ Return (Add(DerefOf(Index(arg0, 1)), m006(arg0)))
+ }
+ Store(0x05, Index(arg0, 1))
+ Return (Add(DerefOf(Index(arg0, 1)), m005(arg0)))
+ }
+ Store(0x04, Index(arg0, 1))
+ Return (Add(DerefOf(Index(arg0, 1)), m004(arg0)))
+ }
+ Store(0x03, Index(arg0, 1))
+ Return (Add(DerefOf(Index(arg0, 1)), m003(arg0)))
+ }
+ Store(0x02, Index(arg0, 1))
+ Return (Add(DerefOf(Index(arg0, 1)), m002(arg0)))
+ }
+ Store(Add(DerefOf(Index(arg0, 1)), m001(arg0)), Local0)
+ Return (Local0)
+ }
+
+ Store(m000(b000), Local0)
+
+ if (LNotEqual(Local0, 0x1c)) {
+ err(ts, z166, 0x01e, 0, 0, Local0, 0x1c)
+ }
+
+ Store(DerefOf(Index(b000, 1)), Local0)
+
+ if (arg0) {
+ Store(0xff, Local1)
+ } else {
+ Store(0x07, Local1)
+ }
+
+ if (LNotEqual(Local0, Local1)) {
+ err(ts, z166, 0x01f, 0, 0, Local0, Local1)
+ }
+
+ CH03(ts, z166, 0x020, 0, 0)
+}
+
+/*
+ * Element of Package instead of i000 (in in01)
+ *
+ * see in3e below
+ *
+ * Method(in3d)
+ * {
+ * }
+ */
+
+/*
+ * Element of Package instead of i000 (in in01)
+ *
+ * m01d+:
+ * added argument to methods and b000 passed without any use of that
+ * parameter inside the methods
+ */
+Method(in3e)
+{
+ Name(ts, "in3e")
+ Name(i001, 0)
+ Name(p000, Package() {1,2,3,4})
+ Name(pp00, Package() {0x11111111, 0x00000001, 0x22223333})
+
+ CH03(ts, z166, 0x006, 0, 0)
+
+ Method(m000, 1)
+ {
+
+ Method(m001, 1)
+ {
+ Method(m002, 1)
+ {
+ Method(m003, 1)
+ {
+ Method(m004, 1)
+ {
+ Method(m005, 1)
+ {
+ Method(m006, 1)
+ {
+ Method(m007, 1)
+ {
+ Return (0)
+ }
+ Store(0x07000000, Index(arg0, 1))
+ Return (Add(DerefOf(Index(arg0, 1)), m007(arg0)))
+ }
+ Store(0x00600000, Index(arg0, 1))
+ Return (Add(DerefOf(Index(arg0, 1)), m006(arg0)))
+ }
+ Store(0x00050000, Index(arg0, 1))
+ Return (Add(DerefOf(Index(arg0, 1)), m005(arg0)))
+ }
+ Store(0x00004000, Index(arg0, 1))
+ Return (Add(DerefOf(Index(arg0, 1)), m004(arg0)))
+ }
+ Store(0x00000300, Index(arg0, 1))
+ Return (Add(DerefOf(Index(arg0, 1)), m003(arg0)))
+ }
+ Store(0x00000020, Index(arg0, 1))
+ Return (Add(DerefOf(Index(arg0, 1)), m002(arg0)))
+ }
+ Store(Add(DerefOf(Index(arg0, 1)), m001(arg0)), Local0)
+ Return (Local0)
+ }
+
+ Store(m000(pp00), Local0)
+
+ if (LNotEqual(Local0, 0x07654321)) {
+ err(ts, z166, 0x007, 0, 0, Local0, 0x07654321)
+ }
+
+ Store(DerefOf(Index(pp00, 1)), Local0)
+
+ if (LNotEqual(Local0, 0x07000000)) {
+ err(ts, z166, 0x008, 0, 0, Local0, 0x07000000)
+ }
+
+ CH03(ts, z166, 0x009, 0, 0)
+}
+
+Method(ini3)
+{
+ SRMT("in30")
+ in30()
+ SRMT("in31")
+ in31()
+ SRMT("in32")
+ in32()
+ SRMT("in33")
+ in33()
+ SRMT("in34")
+ if (chk0) {
+ in34()
+ } else {
+ BLCK()
+ }
+ SRMT("in36")
+ in36()
+ SRMT("in37")
+ in37()
+ SRMT("in38-0")
+ in38(0)
+ SRMT("in39-0")
+ in39(0)
+ SRMT("in3a-0")
+ in3a(0)
+ SRMT("in3c-0")
+ in3c(0)
+ SRMT("in3e")
+ in3e()
+
+ CH03("ini3", z166, 0x000, 0, 0)
+}
+
diff --git a/tests/aslts/src/runtime/collections/Identity2MS/abbu/initial/ns_in40.asl b/tests/aslts/src/runtime/collections/Identity2MS/abbu/initial/ns_in40.asl
new file mode 100644
index 000000000..71d187eb5
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/Identity2MS/abbu/initial/ns_in40.asl
@@ -0,0 +1,4654 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+/*
+ * Method invocations, Arguments, Locals...
+ *
+ * The same object is passed simultaneously by several Args,
+ * thus, the same object is represented in stack several times.
+ */
+
+Name(z167, 167)
+
+/*
+ * See comment below why the functionally unnecessary
+ * or commented branches 'if (chk0)' are not removed.
+ *
+ * They remind the problems of adjusting AML code for MS.
+ */
+
+Name(cmd0, 0)
+Name(stp0, 0)
+
+// Opcodes of actions
+Name(OT00, 0) // ObjectType
+Name(AD00, 1) // Add
+Name(LN00, 2) // LNotEqual
+Name(LN01, 3) // LNotEqual
+Name(LN02, 4) // LNotEqual
+Name(LN03, 5) // LNotEqual
+Name(LN04, 6) // LNotEqual
+Name(LN05, 7) // LNotEqual
+Name(LN06, 8) // LNotEqual
+Name(LN07, 9) // LNotEqual
+Name(LN08, 10) // LNotEqual
+
+/*
+ * Verify the type of object
+ */
+Method(obt0, 2)
+{
+ Store(ObjectType(arg0), Local0)
+ if (LNotEqual(Local0, arg1)) {
+ err("obt0", z167, 0x000, 0, 0, Local0, arg1)
+ }
+ Return (5)
+}
+
+/*
+ * Do simple verification actions
+ *
+ * arg0 - command to be performed
+ * arg1 - object
+ * arg2 - depends on arg0
+ */
+Method(act0, 4)
+{
+ Name(ts, "act0")
+
+ Switch (arg0) {
+ Case (0) { // ObjectType
+ Store(ObjectType(arg1), Local0)
+ if (LNotEqual(Local0, arg2)) {
+ err(ts, z167, 0x000, 0, 0, Local0, arg2)
+ }
+ }
+ Case (1) { // Add
+ Add(arg1, arg2, Local0)
+ if (LNotEqual(Local0, arg3)) {
+ err(ts, z167, 0x001, 0, 0, Local0, arg3)
+ }
+ }
+ Case (2) { // LNotEqual
+ if (LNotEqual(arg1, 0xabcd0000)) {
+ err(ts, z167, 0x002, 0, 0, arg1, 0xabcd0000)
+ }
+ }
+ Case (3) { // LNotEqual
+ // if (chk0) {
+ if (LNotEqual(arg1, "qwrtyu0003")) {
+ err(ts, z167, 0x003, 0, 0, arg1, "qwrtyu0003")
+ }
+ // }
+ }
+ Case (4) { // LNotEqual
+ // if (chk0) {
+ if (LNotEqual(arg1, "abcd0800")) {
+ err(ts, z167, 0x004, 0, 0, arg1, "abcd0800")
+ }
+ // }
+ }
+ Case (5) { // LNotEqual
+ // if (chk0) {
+ if (LNotEqual(arg1, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})) {
+ err(ts, z167, 0x005, 0, 0, arg1, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})
+ }
+ // }
+ }
+ Case (6) { // LNotEqual
+ Store(DerefOf(Index(arg1, 1)), Local0)
+ if (LNotEqual(Local0, 0xabcd0902)) {
+ err(ts, z167, 0x006, 0, 0, Local0, 0xabcd0902)
+ }
+ }
+ Case (7) { // LNotEqual
+ if (LNotEqual(arg1, 0xabcd0a00)) {
+ err(ts, z167, 0x007, 0, 0, arg1, 0xabcd0a00)
+ }
+ }
+ Case (8) { // LNotEqual
+ if (LNotEqual(arg1, 0xabababab)) {
+ err(ts, z167, 0x008, 0, 0, arg1, 0xabababab)
+ }
+ }
+ Case (9) { // LNotEqual
+ if (LNotEqual(arg1, 0)) {
+ err(ts, z167, 0x009, 0, 0, arg1, 0)
+ }
+ }
+ Case (10) { // LNotEqual
+ if (LNotEqual(arg1, 0xabcd0d08)) {
+ err(ts, z167, 0x00a, 0, 0, arg1, 0xabcd0d08)
+ }
+ }
+ } // Switch (arg0)
+}
+
+/* Methods with different # of args but doing the same */
+
+Method(mI01, 1)
+{
+ if (LNot(chk0)) {
+
+ /*
+ * This code helps for some branches to work on MS.
+ * This code being placed in Switch below doesn't work.
+ * I moved this code from the Switch below and replaced
+ * calls to Methods by the contents of those methods.
+ *
+ * Nevertheless, I have not removed the 'if (chk0)' in
+ * Switch below and beneath it to show additionally the
+ * problems I encountered, where MS doesn't work, while
+ * attempting to work with Switch.
+ */
+
+ if (LEqual(cmd0, 1)) { // Integer
+ Store(ObjectType(arg0), Local0)
+ if (LNotEqual(Local0, c009)) {
+ err("mI01", z167, 0x000, 0, 0, Local0, c009)
+ }
+ Add(arg0, 1, Local0)
+ if (LNotEqual(Local0, 0xabcd0001)) {
+ err("mI01", z167, 0x001, 0, 0, Local0, 0xabcd0001)
+ }
+ if (LNotEqual(arg0, 0xabcd0000)) {
+ err("mI01", z167, 0x007, 0, 0, arg0, 0xabcd0000)
+ }
+
+ Return (arg0)
+ }
+
+ if (LEqual(cmd0, 2)) { // String
+ Store(ObjectType(arg0), Local0)
+ if (LNotEqual(Local0, c00a)) {
+ err("mI01", z167, 0x000, 0, 0, Local0, c00a)
+ }
+
+ if (LNot(run4)) { // Run on ACPICA only
+ if (LNotEqual(arg0, "qwrtyu0003")) {
+ err("mI01", z167, 0x007, 0, 0, arg0, "qwrtyu0003")
+ }
+ }
+ Return (arg0)
+ }
+
+ if (LEqual(cmd0, 3)) { // String applicable to the Implicit Conversion Rules ("abcd0800")
+ Store(ObjectType(arg0), Local0)
+ if (LNotEqual(Local0, c00a)) {
+ err("mI01", z167, 0x000, 0, 0, Local0, c00a)
+ }
+
+ if (LNot(run4)) { // Run on ACPICA only
+ Add(arg0, 5, Local0)
+ if (LNotEqual(Local0, 0xabcd0805)) {
+ err("mI01", z167, 0x001, 0, 0, Local0, 0xabcd0805)
+ }
+ if (LNotEqual(arg0, "abcd0800")) {
+ err("mI01", z167, 0x007, 0, 0, arg0, "abcd0800")
+ }
+ }
+
+ Return (arg0)
+ }
+
+ if (LEqual(cmd0, 4)) { // Buffer
+ Store(ObjectType(arg0), Local0)
+ if (LNotEqual(Local0, c00b)) {
+ err("mI01", z167, 0x000, 0, 0, Local0, c00b)
+ }
+
+ if (LNot(run4)) { // Run on ACPICA only
+ Add(arg0, 7, Local0)
+ if (LNotEqual(Local0, 0xb4b3b2b1b7)) {
+ err("mI01", z167, 0x001, 0, 0, Local0, 0xb4b3b2b1b7)
+ }
+ if (LNotEqual(arg0, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})) {
+ err("mI01", z167, 0x007, 0, 0, arg0, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})
+ }
+ }
+
+ Return (arg0)
+ }
+
+ if (LEqual(cmd0, 5)) { // Package
+ Store(ObjectType(arg0), Local0)
+ if (LNotEqual(Local0, c00c)) {
+ err("mI01", z167, 0x000, 0, 0, Local0, c00c)
+ }
+ Store(DerefOf(Index(arg0, 1)), Local0)
+ if (LNotEqual(Local0, 0xabcd0902)) {
+ err("mI01", z167, 0x006, 0, 0, Local0, 0xabcd0902)
+ }
+ Return (arg0)
+ }
+
+ if (LEqual(cmd0, 6)) { // Field
+ Store(ObjectType(arg0), Local0)
+ if (LNotEqual(Local0, c009)) {
+ err("mI01", z167, 0x000, 0, 0, Local0, c009)
+ }
+ Add(arg0, 9, Local0)
+ if (LNotEqual(Local0, 0xabcd0a09)) {
+ err("mI01", z167, 0x001, 0, 0, Local0, 0xabcd0a09)
+ }
+ if (LNotEqual(arg0, 0xabcd0a00)) {
+ err("mI01", z167, 0x007, 0, 0, arg0, 0xabcd0a00)
+ }
+
+ Return (arg0)
+ }
+
+ if (LEqual(cmd0, 7)) { // Device
+ Store(ObjectType(arg0), Local0)
+ if (LNotEqual(Local0, c00e)) {
+ err("mI01", z167, 0x000, 0, 0, Local0, c00e)
+ }
+ Return (arg0)
+ }
+
+ if (LEqual(cmd0, 8)) { // Event
+ Store(ObjectType(arg0), Local0)
+ if (LNotEqual(Local0, c00f)) {
+ err("mI01", z167, 0x000, 0, 0, Local0, c00f)
+ }
+ Return (arg0)
+ }
+
+ if (LEqual(cmd0, 9)) { // Mutex
+ Store(ObjectType(arg0), Local0)
+ if (LNotEqual(Local0, c011)) {
+ err("mI01", z167, 0x000, 0, 0, Local0, c011)
+ }
+ Return (arg0)
+ }
+
+ if (LEqual(cmd0, 10)) { // Operation Region
+ Store(ObjectType(arg0), Local0)
+ if (LNotEqual(Local0, c012)) {
+ err("mI01", z167, 0x000, 0, 0, Local0, c012)
+ }
+ Return (arg0)
+ }
+
+ if (LEqual(cmd0, 11)) { // Power Resource
+ Store(ObjectType(arg0), Local0)
+ if (LNotEqual(Local0, c013)) {
+ err("mI01", z167, 0x000, 0, 0, Local0, c013)
+ }
+ Return (arg0)
+ }
+
+ if (LEqual(cmd0, 12)) { // Processor
+ Store(ObjectType(arg0), Local0)
+ if (LNotEqual(Local0, c014)) {
+ err("mI01", z167, 0x000, 0, 0, Local0, c014)
+ }
+ Return (arg0)
+ }
+
+ if (LEqual(cmd0, 13)) { // Thermal Zone
+ Store(ObjectType(arg0), Local0)
+ if (LNotEqual(Local0, c015)) {
+ err("mI01", z167, 0x000, 0, 0, Local0, c015)
+ }
+ Return (arg0)
+ }
+
+ if (LEqual(cmd0, 14)) { // Index Field
+ Store(ObjectType(arg0), Local0)
+ if (LNotEqual(Local0, c009)) {
+ err("mI01", z167, 0x000, 0, 0, Local0, c009)
+ }
+ Add(arg0, 9, Local0)
+ if (LNotEqual(Local0, 0xabababb4)) {
+ err("mI01", z167, 0x001, 0, 0, Local0, 0xabababb4)
+ }
+ if (LNotEqual(arg0, 0xabababab)) {
+ err("mI01", z167, 0x008, 0, 0, arg0, 0xabababab)
+ }
+ Return (arg0)
+ }
+
+ if (LEqual(cmd0, 15)) { // Bank Field
+ Store(ObjectType(arg0), Local0)
+ if (LNotEqual(Local0, c009)) {
+ err("mI01", z167, 0x000, 0, 0, Local0, c009)
+ }
+ Add(arg0, 9, Local0)
+ if (LNotEqual(Local0, 9)) {
+ err("mI01", z167, 0x001, 0, 0, Local0, 9)
+ }
+ if (LNotEqual(arg0, 0)) {
+ err("mI01", z167, 0x009, 0, 0, arg0, 0)
+ }
+
+ Return (arg0)
+ }
+
+ if (LEqual(cmd0, 16)) { // Buffer Field
+
+ // On MS ObjectType(BufferField) == c00b
+
+ Store(ObjectType(arg0), Local0)
+ if (LAnd(LNotEqual(Local0, c009), LNotEqual(Local0, c00b))) {
+ err("mI01", z167, 0x000, 0, 0, Local0, c00b)
+ }
+
+ if (chk0) {
+ Add(arg0, 2, Local0)
+ if (LNotEqual(Local0, 0xabcd0d0a)) {
+ err("mI01", z167, 0x001, 0, 0, Local0, 0xabcd0d0a)
+ }
+ if (LNotEqual(arg0, 0xabcd0d08)) {
+ err("mI01", z167, 0x00a, 0, 0, arg0, 0xabcd0d08)
+ }
+ }
+ Return (arg0)
+ }
+ }
+
+ Switch (cmd0) {
+ Case (1) { // Integer
+ act0(OT00, arg0, c009, 0)
+ act0(LN00, arg0, 0, 0)
+ act0(AD00, arg0, 1, 0xabcd0001)
+ }
+ Case (2) { // String ("qwrtyu0003")
+ act0(OT00, arg0, c00a, 0)
+ act0(LN01, arg0, 0, 0)
+ }
+ Case (3) { // String applicable to the Implicit Conversion Rules ("abcd0800")
+ act0(OT00, arg0, c00a, 0)
+ act0(LN02, arg0, 0, 0)
+ // if (chk0) {
+ act0(AD00, arg0, 5, 0xabcd0805)
+ // }
+ }
+ Case (4) { // Buffer
+ act0(OT00, arg0, c00b, 0)
+ act0(LN03, arg0, 0, 0)
+ // if (chk0) {
+ act0(AD00, arg0, 7, 0xb4b3b2b1b7)
+ // }
+ }
+ Case (5) { // Package
+ act0(OT00, arg0, c00c, 0)
+ act0(LN04, arg0, 0, 0)
+ }
+ Case (6) { // Field
+ act0(OT00, arg0, c009, 0)
+ // if (chk0) {
+ // This breaks Field (see qqq below):
+ act0(LN05, arg0, 0, 0)
+ // }
+ act0(AD00, arg0, 9, 0xabcd0a09)
+ }
+ Case (7) { // Device
+ act0(OT00, arg0, c00e, 0)
+ }
+ Case (8) { // Event
+ act0(OT00, arg0, c00f, 0)
+ }
+ Case (9) { // Mutex
+ act0(OT00, arg0, c011, 0)
+ }
+ Case (10) { // Operation Region
+ act0(OT00, arg0, c012, 0)
+ }
+ Case (11) { // Power Resource
+ // if (chk0) {
+ act0(OT00, arg0, c013, 0)
+ // }
+ }
+ Case (12) { // Processor
+ act0(OT00, arg0, c014, 0)
+ }
+ Case (13) { // Thermal Zone
+ act0(OT00, arg0, c015, 0)
+ }
+ Case (14) { // Index Field
+ act0(OT00, arg0, c009, 0)
+ // if (chk0) {
+ act0(LN06, arg0, 0, 0)
+ // }
+ act0(AD00, arg0, 9, 0xabababb4)
+ }
+ Case (15) { // Bank Field
+ // if (chk0) {
+ act0(OT00, arg0, c009, 0)
+ // }
+ // if (chk0) {
+ act0(LN07, arg0, 0, 0)
+ // }
+ // if (chk0) {
+ act0(AD00, arg0, 9, 9)
+ // }
+ }
+ Case (16) { // Buffer Field
+ // if (chk0) {
+ act0(OT00, arg0, c009, 0)
+ // }
+ // if (chk0) {
+ act0(LN08, arg0, 0, 0)
+ // }
+ // if (chk0) {
+ act0(AD00, arg0, 2, 0xabcd0d0a)
+ // }
+ }
+ Default { // Uninitialized
+ act0(OT00, arg0, c008, 0)
+ }
+
+ } // Switch (arg0)
+
+ Return (arg0)
+}
+
+Method(mI02, 2) {
+ mI01(arg0)
+ mI01(arg1)
+ Return (arg0)
+}
+Method(mI03, 3) {
+ mI01(arg0)
+ mI01(arg1)
+ mI01(arg2)
+ Return (arg0)
+}
+Method(mI04, 4) {
+ mI01(arg0)
+ mI01(arg1)
+ mI01(arg2)
+ mI01(arg3)
+ Return (arg0)
+}
+Method(mI05, 5) {
+ mI01(arg0)
+ mI01(arg1)
+ mI01(arg2)
+ mI01(arg3)
+ mI01(arg4)
+ Return (arg0)
+}
+Method(mI06, 6) {
+ mI01(arg0)
+ mI01(arg1)
+ mI01(arg2)
+ mI01(arg3)
+ mI01(arg4)
+ mI01(arg5)
+ Return (arg0)
+}
+Method(mI07, 7) {
+ mI01(arg0)
+ mI01(arg1)
+ mI01(arg2)
+ mI01(arg3)
+ mI01(arg4)
+ mI01(arg5)
+ mI01(arg6)
+ Return (arg0)
+}
+
+Method(in40, 7)
+{
+ Name(ts, "in40")
+
+ Name(i000, 0xabcd0000)
+ Name(s000, "qwrtyu0003")
+ Name(s001, "abcd0800")
+ Name(b000, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})
+ Name(p000, Package() {0xabcd0901, 0xabcd0902, 0xabcd0903})
+ Method(mmm0) {
+ Name(im00, 0xabcd0004)
+ Name(sm00, "qwertyui")
+ // Return ( "qwertyui" )
+ }
+ Method(mmm1) {
+ Name(im00, 0xabcd0004)
+ Name(sm00, "qwertyui")
+ // Return ( 0xabcd0004 )
+ Return ( "qwertyui" )
+ }
+
+
+
+
+ /*
+ * Integer
+ */
+ Name(ii00, 0)
+ Name(ii01, 0)
+ Name(ii03, 0)
+ Name(ii05, 0)
+
+ Store(1, cmd0)
+ Store(i000, ii00)
+
+
+
+
+ /*
+ * Modification 0:
+ */
+
+ mI01(ii00)
+ mI02(ii00, ii00)
+ mI03(ii00, ii00, ii00)
+ mI04(ii00, ii00, ii00, ii00)
+ mI05(ii00, ii00, ii00, ii00, ii00)
+ mI06(ii00, ii00, ii00, ii00, ii00, ii00)
+ mI07(ii00, ii00, ii00, ii00, ii00, ii00, ii00)
+
+ mI01(
+ mI01(ii00))
+
+ mI02(
+ mI01(ii00),
+ mI02(ii00, ii00))
+
+ mI03(
+ mI01(ii00),
+ mI02(ii00, ii00),
+ mI03(ii00, ii00, ii00))
+
+ mI04(
+ mI01(ii00),
+ mI02(ii00, ii00),
+ mI03(ii00, ii00, ii00),
+ mI04(ii00, ii00, ii00, ii00))
+
+ if (y262) {
+
+ mI05(
+ mI01(ii00),
+ mI02(ii00, ii00),
+ mI03(ii00, ii00, ii00),
+ mI04(ii00, ii00, ii00, ii00),
+ mI05(ii00, ii00, ii00, ii00, ii00))
+
+ mI06(
+ mI01(ii00),
+ mI02(ii00, ii00),
+ mI03(ii00, ii00, ii00),
+ mI04(ii00, ii00, ii00, ii00),
+ mI05(ii00, ii00, ii00, ii00, ii00),
+ mI06(ii00, ii00, ii00, ii00, ii00, ii00))
+ mI07(
+ mI01(ii00),
+ mI02(ii00, ii00),
+ mI03(ii00, ii00, ii00),
+ mI04(ii00, ii00, ii00, ii00),
+ mI05(ii00, ii00, ii00, ii00, ii00),
+ mI06(ii00, ii00, ii00, ii00, ii00, ii00),
+ mI07(ii00, ii00, ii00, ii00, ii00, ii00, ii00))
+ } else {
+ OUTP("WARNING: some tests of ns_in40.asl are blocked!")
+ }
+
+
+
+
+ /*
+ * Modification 1:
+ *
+ * Some params are intermediately stored to Locals
+ */
+
+ Store(ii00, Local1)
+ Store(ii00, Local3)
+ Store(ii00, Local5)
+
+ mI01(ii00)
+ mI02(ii00, Local1)
+ mI03(ii00, Local1, ii00)
+ mI04(ii00, Local1, ii00, Local3)
+ mI05(ii00, Local1, ii00, Local3, ii00)
+ mI06(ii00, Local1, ii00, Local3, ii00, Local5)
+ mI07(ii00, Local1, ii00, Local3, ii00, Local5, ii00)
+
+ mI01(
+ mI01(ii00))
+
+ mI02(
+ mI01(ii00),
+ mI02(ii00, Local1))
+
+ mI03(
+ mI01(ii00),
+ mI02(ii00, Local1),
+ mI03(ii00, Local1, ii00))
+
+ mI04(
+ mI01(ii00),
+ mI02(ii00, Local1),
+ mI03(ii00, Local1, ii00),
+ mI04(ii00, Local1, ii00, Local3))
+
+ if (y262) {
+
+ mI05(
+ mI01(ii00),
+ mI02(ii00, Local1),
+ mI03(ii00, Local1, ii00),
+ mI04(ii00, Local1, ii00, Local3),
+ mI05(ii00, Local1, ii00, Local3, ii00))
+
+ mI06(
+ mI01(ii00),
+ mI02(ii00, Local1),
+ mI03(ii00, Local1, ii00),
+ mI04(ii00, Local1, ii00, Local3),
+ mI05(ii00, Local1, ii00, Local3, ii00),
+ mI06(ii00, Local1, ii00, Local3, ii00, Local5))
+ mI07(
+ mI01(ii00),
+ mI02(ii00, Local1),
+ mI03(ii00, Local1, ii00),
+ mI04(ii00, Local1, ii00, Local3),
+ mI05(ii00, Local1, ii00, Local3, ii00),
+ mI06(ii00, Local1, ii00, Local3, ii00, Local5),
+ mI07(ii00, Local1, ii00, Local3, ii00, Local5, ii00))
+ } else {
+ OUTP("WARNING: some tests of ns_in40.asl are blocked!")
+ }
+
+
+
+
+ /*
+ * Modification 2:
+ *
+ * Some params are intermediately stored to Args (effectively local)
+ */
+
+ Store(ii00, Arg1)
+ Store(ii00, Arg3)
+ Store(ii00, Arg5)
+
+ mI01(ii00)
+ mI02(ii00, Arg1)
+ mI03(ii00, Arg1, ii00)
+ mI04(ii00, Arg1, ii00, Arg3)
+ mI05(ii00, Arg1, ii00, Arg3, ii00)
+ mI06(ii00, Arg1, ii00, Arg3, ii00, Arg5)
+ mI07(ii00, Arg1, ii00, Arg3, ii00, Arg5, ii00)
+
+ mI01(
+ mI01(ii00))
+
+ mI02(
+ mI01(ii00),
+ mI02(ii00, Arg1))
+
+ mI03(
+ mI01(ii00),
+ mI02(ii00, Arg1),
+ mI03(ii00, Arg1, ii00))
+
+ mI04(
+ mI01(ii00),
+ mI02(ii00, Arg1),
+ mI03(ii00, Arg1, ii00),
+ mI04(ii00, Arg1, ii00, Arg3))
+
+ if (y262) {
+
+ mI05(
+ mI01(ii00),
+ mI02(ii00, Arg1),
+ mI03(ii00, Arg1, ii00),
+ mI04(ii00, Arg1, ii00, Arg3),
+ mI05(ii00, Arg1, ii00, Arg3, ii00))
+
+ mI06(
+ mI01(ii00),
+ mI02(ii00, Arg1),
+ mI03(ii00, Arg1, ii00),
+ mI04(ii00, Arg1, ii00, Arg3),
+ mI05(ii00, Arg1, ii00, Arg3, ii00),
+ mI06(ii00, Arg1, ii00, Arg3, ii00, Arg5))
+ mI07(
+ mI01(ii00),
+ mI02(ii00, Arg1),
+ mI03(ii00, Arg1, ii00),
+ mI04(ii00, Arg1, ii00, Arg3),
+ mI05(ii00, Arg1, ii00, Arg3, ii00),
+ mI06(ii00, Arg1, ii00, Arg3, ii00, Arg5),
+ mI07(ii00, Arg1, ii00, Arg3, ii00, Arg5, ii00))
+ } else {
+ OUTP("WARNING: some tests of ns_in40.asl are blocked!")
+ }
+
+
+
+
+ /*
+ * Modification 3:
+ *
+ * Some params are intermediately stored to Named
+ */
+
+ Store(ii00, ii01)
+ Store(ii00, ii03)
+ Store(ii00, ii05)
+
+ mI01(ii00)
+ mI02(ii00, ii01)
+ mI03(ii00, ii01, ii00)
+ mI04(ii00, ii01, ii00, ii03)
+ mI05(ii00, ii01, ii00, ii03, ii00)
+ mI06(ii00, ii01, ii00, ii03, ii00, ii05)
+ mI07(ii00, ii01, ii00, ii03, ii00, ii05, ii00)
+
+ mI01(
+ mI01(ii00))
+
+ mI02(
+ mI01(ii00),
+ mI02(ii00, ii01))
+
+ mI03(
+ mI01(ii00),
+ mI02(ii00, ii01),
+ mI03(ii00, ii01, ii00))
+
+ mI04(
+ mI01(ii00),
+ mI02(ii00, ii01),
+ mI03(ii00, ii01, ii00),
+ mI04(ii00, ii01, ii00, ii03))
+
+ if (y262) {
+
+ mI05(
+ mI01(ii00),
+ mI02(ii00, ii01),
+ mI03(ii00, ii01, ii00),
+ mI04(ii00, ii01, ii00, ii03),
+ mI05(ii00, ii01, ii00, ii03, ii00))
+
+ mI06(
+ mI01(ii00),
+ mI02(ii00, ii01),
+ mI03(ii00, ii01, ii00),
+ mI04(ii00, ii01, ii00, ii03),
+ mI05(ii00, ii01, ii00, ii03, ii00),
+ mI06(ii00, ii01, ii00, ii03, ii00, ii05))
+ mI07(
+ mI01(ii00),
+ mI02(ii00, ii01),
+ mI03(ii00, ii01, ii00),
+ mI04(ii00, ii01, ii00, ii03),
+ mI05(ii00, ii01, ii00, ii03, ii00),
+ mI06(ii00, ii01, ii00, ii03, ii00, ii05),
+ mI07(ii00, ii01, ii00, ii03, ii00, ii05, ii00))
+ } else {
+ OUTP("WARNING: some tests of ns_in40.asl are blocked!")
+ }
+
+
+
+
+ /*
+ * String
+ */
+ Name(ss00, "v")
+ Name(ss01, "v")
+ Name(ss03, "v")
+ Name(ss05, "v")
+
+ Store(2, cmd0)
+ Store(s000, ss00)
+
+
+
+
+ /*
+ * Modification 0:
+ */
+
+ mI01(ss00)
+ mI02(ss00, ss00)
+ mI03(ss00, ss00, ss00)
+ mI04(ss00, ss00, ss00, ss00)
+ mI05(ss00, ss00, ss00, ss00, ss00)
+ mI06(ss00, ss00, ss00, ss00, ss00, ss00)
+ mI07(ss00, ss00, ss00, ss00, ss00, ss00, ss00)
+
+ mI01(
+ mI01(ss00))
+
+ mI02(
+ mI01(ss00),
+ mI02(ss00, ss00))
+
+ mI03(
+ mI01(ss00),
+ mI02(ss00, ss00),
+ mI03(ss00, ss00, ss00))
+
+ mI04(
+ mI01(ss00),
+ mI02(ss00, ss00),
+ mI03(ss00, ss00, ss00),
+ mI04(ss00, ss00, ss00, ss00))
+
+ if (y262) {
+
+ mI05(
+ mI01(ss00),
+ mI02(ss00, ss00),
+ mI03(ss00, ss00, ss00),
+ mI04(ss00, ss00, ss00, ss00),
+ mI05(ss00, ss00, ss00, ss00, ss00))
+
+ mI06(
+ mI01(ss00),
+ mI02(ss00, ss00),
+ mI03(ss00, ss00, ss00),
+ mI04(ss00, ss00, ss00, ss00),
+ mI05(ss00, ss00, ss00, ss00, ss00),
+ mI06(ss00, ss00, ss00, ss00, ss00, ss00))
+ mI07(
+ mI01(ss00),
+ mI02(ss00, ss00),
+ mI03(ss00, ss00, ss00),
+ mI04(ss00, ss00, ss00, ss00),
+ mI05(ss00, ss00, ss00, ss00, ss00),
+ mI06(ss00, ss00, ss00, ss00, ss00, ss00),
+ mI07(ss00, ss00, ss00, ss00, ss00, ss00, ss00))
+ } else {
+ OUTP("WARNING: some tests of ns_in40.asl are blocked!")
+ }
+
+
+
+
+ /*
+ * Modification 1:
+ *
+ * Some params are intermediately stored to Locals
+ */
+
+ Store(ss00, Local1)
+ Store(ss00, Local3)
+ Store(ss00, Local5)
+
+ mI01(ss00)
+ mI02(ss00, Local1)
+ mI03(ss00, Local1, ss00)
+ mI04(ss00, Local1, ss00, Local3)
+ mI05(ss00, Local1, ss00, Local3, ss00)
+ mI06(ss00, Local1, ss00, Local3, ss00, Local5)
+ mI07(ss00, Local1, ss00, Local3, ss00, Local5, ss00)
+
+ mI01(
+ mI01(ss00))
+
+ mI02(
+ mI01(ss00),
+ mI02(ss00, Local1))
+
+ mI03(
+ mI01(ss00),
+ mI02(ss00, Local1),
+ mI03(ss00, Local1, ss00))
+
+ mI04(
+ mI01(ss00),
+ mI02(ss00, Local1),
+ mI03(ss00, Local1, ss00),
+ mI04(ss00, Local1, ss00, Local3))
+
+ if (y262) {
+
+ mI05(
+ mI01(ss00),
+ mI02(ss00, Local1),
+ mI03(ss00, Local1, ss00),
+ mI04(ss00, Local1, ss00, Local3),
+ mI05(ss00, Local1, ss00, Local3, ss00))
+
+ mI06(
+ mI01(ss00),
+ mI02(ss00, Local1),
+ mI03(ss00, Local1, ss00),
+ mI04(ss00, Local1, ss00, Local3),
+ mI05(ss00, Local1, ss00, Local3, ss00),
+ mI06(ss00, Local1, ss00, Local3, ss00, Local5))
+ mI07(
+ mI01(ss00),
+ mI02(ss00, Local1),
+ mI03(ss00, Local1, ss00),
+ mI04(ss00, Local1, ss00, Local3),
+ mI05(ss00, Local1, ss00, Local3, ss00),
+ mI06(ss00, Local1, ss00, Local3, ss00, Local5),
+ mI07(ss00, Local1, ss00, Local3, ss00, Local5, ss00))
+ } else {
+ OUTP("WARNING: some tests of ns_in40.asl are blocked!")
+ }
+
+
+
+
+ /*
+ * Modification 2:
+ *
+ * Some params are intermediately stored to Args (effectively local)
+ */
+
+ Store(ss00, Arg1)
+ Store(ss00, Arg3)
+ Store(ss00, Arg5)
+
+ mI01(ss00)
+ mI02(ss00, Arg1)
+ mI03(ss00, Arg1, ss00)
+ mI04(ss00, Arg1, ss00, Arg3)
+ mI05(ss00, Arg1, ss00, Arg3, ss00)
+ mI06(ss00, Arg1, ss00, Arg3, ss00, Arg5)
+ mI07(ss00, Arg1, ss00, Arg3, ss00, Arg5, ss00)
+
+ mI01(
+ mI01(ss00))
+
+ mI02(
+ mI01(ss00),
+ mI02(ss00, Arg1))
+
+ mI03(
+ mI01(ss00),
+ mI02(ss00, Arg1),
+ mI03(ss00, Arg1, ss00))
+
+ mI04(
+ mI01(ss00),
+ mI02(ss00, Arg1),
+ mI03(ss00, Arg1, ss00),
+ mI04(ss00, Arg1, ss00, Arg3))
+
+ if (y262) {
+
+ mI05(
+ mI01(ss00),
+ mI02(ss00, Arg1),
+ mI03(ss00, Arg1, ss00),
+ mI04(ss00, Arg1, ss00, Arg3),
+ mI05(ss00, Arg1, ss00, Arg3, ss00))
+
+ mI06(
+ mI01(ss00),
+ mI02(ss00, Arg1),
+ mI03(ss00, Arg1, ss00),
+ mI04(ss00, Arg1, ss00, Arg3),
+ mI05(ss00, Arg1, ss00, Arg3, ss00),
+ mI06(ss00, Arg1, ss00, Arg3, ss00, Arg5))
+ mI07(
+ mI01(ss00),
+ mI02(ss00, Arg1),
+ mI03(ss00, Arg1, ss00),
+ mI04(ss00, Arg1, ss00, Arg3),
+ mI05(ss00, Arg1, ss00, Arg3, ss00),
+ mI06(ss00, Arg1, ss00, Arg3, ss00, Arg5),
+ mI07(ss00, Arg1, ss00, Arg3, ss00, Arg5, ss00))
+ } else {
+ OUTP("WARNING: some tests of ns_in40.asl are blocked!")
+ }
+
+
+
+
+ /*
+ * Modification 3:
+ *
+ * Some params are intermediately stored to Named
+ */
+
+ Store(ss00, ss01)
+ Store(ss00, ss03)
+ Store(ss00, ss05)
+
+ mI01(ss00)
+ mI02(ss00, ss01)
+ mI03(ss00, ss01, ss00)
+ mI04(ss00, ss01, ss00, ss03)
+ mI05(ss00, ss01, ss00, ss03, ss00)
+ mI06(ss00, ss01, ss00, ss03, ss00, ss05)
+ mI07(ss00, ss01, ss00, ss03, ss00, ss05, ss00)
+
+ mI01(
+ mI01(ss00))
+
+ mI02(
+ mI01(ss00),
+ mI02(ss00, ss01))
+
+ mI03(
+ mI01(ss00),
+ mI02(ss00, ss01),
+ mI03(ss00, ss01, ss00))
+
+ mI04(
+ mI01(ss00),
+ mI02(ss00, ss01),
+ mI03(ss00, ss01, ss00),
+ mI04(ss00, ss01, ss00, ss03))
+
+ if (y262) {
+
+ mI05(
+ mI01(ss00),
+ mI02(ss00, ss01),
+ mI03(ss00, ss01, ss00),
+ mI04(ss00, ss01, ss00, ss03),
+ mI05(ss00, ss01, ss00, ss03, ss00))
+
+ mI06(
+ mI01(ss00),
+ mI02(ss00, ss01),
+ mI03(ss00, ss01, ss00),
+ mI04(ss00, ss01, ss00, ss03),
+ mI05(ss00, ss01, ss00, ss03, ss00),
+ mI06(ss00, ss01, ss00, ss03, ss00, ss05))
+ mI07(
+ mI01(ss00),
+ mI02(ss00, ss01),
+ mI03(ss00, ss01, ss00),
+ mI04(ss00, ss01, ss00, ss03),
+ mI05(ss00, ss01, ss00, ss03, ss00),
+ mI06(ss00, ss01, ss00, ss03, ss00, ss05),
+ mI07(ss00, ss01, ss00, ss03, ss00, ss05, ss00))
+ } else {
+ OUTP("WARNING: some tests of ns_in40.asl are blocked!")
+ }
+
+
+
+
+ /*
+ * String (applicable to Implicit Conversion Rules)
+ */
+ Store(3, cmd0)
+ Store(s001, ss00)
+
+
+
+
+ /*
+ * Modification 0:
+ */
+
+ mI01(ss00)
+ mI02(ss00, ss00)
+ mI03(ss00, ss00, ss00)
+ mI04(ss00, ss00, ss00, ss00)
+ mI05(ss00, ss00, ss00, ss00, ss00)
+ mI06(ss00, ss00, ss00, ss00, ss00, ss00)
+ mI07(ss00, ss00, ss00, ss00, ss00, ss00, ss00)
+
+ mI01(
+ mI01(ss00))
+
+ mI02(
+ mI01(ss00),
+ mI02(ss00, ss00))
+
+ mI03(
+ mI01(ss00),
+ mI02(ss00, ss00),
+ mI03(ss00, ss00, ss00))
+
+ mI04(
+ mI01(ss00),
+ mI02(ss00, ss00),
+ mI03(ss00, ss00, ss00),
+ mI04(ss00, ss00, ss00, ss00))
+
+ if (y262) {
+
+ mI05(
+ mI01(ss00),
+ mI02(ss00, ss00),
+ mI03(ss00, ss00, ss00),
+ mI04(ss00, ss00, ss00, ss00),
+ mI05(ss00, ss00, ss00, ss00, ss00))
+
+ mI06(
+ mI01(ss00),
+ mI02(ss00, ss00),
+ mI03(ss00, ss00, ss00),
+ mI04(ss00, ss00, ss00, ss00),
+ mI05(ss00, ss00, ss00, ss00, ss00),
+ mI06(ss00, ss00, ss00, ss00, ss00, ss00))
+ mI07(
+ mI01(ss00),
+ mI02(ss00, ss00),
+ mI03(ss00, ss00, ss00),
+ mI04(ss00, ss00, ss00, ss00),
+ mI05(ss00, ss00, ss00, ss00, ss00),
+ mI06(ss00, ss00, ss00, ss00, ss00, ss00),
+ mI07(ss00, ss00, ss00, ss00, ss00, ss00, ss00))
+ } else {
+ OUTP("WARNING: some tests of ns_in40.asl are blocked!")
+ }
+
+
+
+
+ /*
+ * Modification 1:
+ *
+ * Some params are intermediately stored to Locals
+ */
+
+ Store(ss00, Local1)
+ Store(ss00, Local3)
+ Store(ss00, Local5)
+
+ mI01(ss00)
+ mI02(ss00, Local1)
+ mI03(ss00, Local1, ss00)
+ mI04(ss00, Local1, ss00, Local3)
+ mI05(ss00, Local1, ss00, Local3, ss00)
+ mI06(ss00, Local1, ss00, Local3, ss00, Local5)
+ mI07(ss00, Local1, ss00, Local3, ss00, Local5, ss00)
+
+ mI01(
+ mI01(ss00))
+
+ mI02(
+ mI01(ss00),
+ mI02(ss00, Local1))
+
+ mI03(
+ mI01(ss00),
+ mI02(ss00, Local1),
+ mI03(ss00, Local1, ss00))
+
+ mI04(
+ mI01(ss00),
+ mI02(ss00, Local1),
+ mI03(ss00, Local1, ss00),
+ mI04(ss00, Local1, ss00, Local3))
+
+ if (y262) {
+
+ mI05(
+ mI01(ss00),
+ mI02(ss00, Local1),
+ mI03(ss00, Local1, ss00),
+ mI04(ss00, Local1, ss00, Local3),
+ mI05(ss00, Local1, ss00, Local3, ss00))
+
+ mI06(
+ mI01(ss00),
+ mI02(ss00, Local1),
+ mI03(ss00, Local1, ss00),
+ mI04(ss00, Local1, ss00, Local3),
+ mI05(ss00, Local1, ss00, Local3, ss00),
+ mI06(ss00, Local1, ss00, Local3, ss00, Local5))
+ mI07(
+ mI01(ss00),
+ mI02(ss00, Local1),
+ mI03(ss00, Local1, ss00),
+ mI04(ss00, Local1, ss00, Local3),
+ mI05(ss00, Local1, ss00, Local3, ss00),
+ mI06(ss00, Local1, ss00, Local3, ss00, Local5),
+ mI07(ss00, Local1, ss00, Local3, ss00, Local5, ss00))
+ } else {
+ OUTP("WARNING: some tests of ns_in40.asl are blocked!")
+ }
+
+
+
+
+ /*
+ * Modification 2:
+ *
+ * Some params are intermediately stored to Args (effectively local)
+ */
+
+ Store(ss00, Arg1)
+ Store(ss00, Arg3)
+ Store(ss00, Arg5)
+
+ mI01(ss00)
+ mI02(ss00, Arg1)
+ mI03(ss00, Arg1, ss00)
+ mI04(ss00, Arg1, ss00, Arg3)
+ mI05(ss00, Arg1, ss00, Arg3, ss00)
+ mI06(ss00, Arg1, ss00, Arg3, ss00, Arg5)
+ mI07(ss00, Arg1, ss00, Arg3, ss00, Arg5, ss00)
+
+ mI01(
+ mI01(ss00))
+
+ mI02(
+ mI01(ss00),
+ mI02(ss00, Arg1))
+
+ mI03(
+ mI01(ss00),
+ mI02(ss00, Arg1),
+ mI03(ss00, Arg1, ss00))
+
+ mI04(
+ mI01(ss00),
+ mI02(ss00, Arg1),
+ mI03(ss00, Arg1, ss00),
+ mI04(ss00, Arg1, ss00, Arg3))
+
+ if (y262) {
+
+ mI05(
+ mI01(ss00),
+ mI02(ss00, Arg1),
+ mI03(ss00, Arg1, ss00),
+ mI04(ss00, Arg1, ss00, Arg3),
+ mI05(ss00, Arg1, ss00, Arg3, ss00))
+
+ mI06(
+ mI01(ss00),
+ mI02(ss00, Arg1),
+ mI03(ss00, Arg1, ss00),
+ mI04(ss00, Arg1, ss00, Arg3),
+ mI05(ss00, Arg1, ss00, Arg3, ss00),
+ mI06(ss00, Arg1, ss00, Arg3, ss00, Arg5))
+ mI07(
+ mI01(ss00),
+ mI02(ss00, Arg1),
+ mI03(ss00, Arg1, ss00),
+ mI04(ss00, Arg1, ss00, Arg3),
+ mI05(ss00, Arg1, ss00, Arg3, ss00),
+ mI06(ss00, Arg1, ss00, Arg3, ss00, Arg5),
+ mI07(ss00, Arg1, ss00, Arg3, ss00, Arg5, ss00))
+ } else {
+ OUTP("WARNING: some tests of ns_in40.asl are blocked!")
+ }
+
+
+
+
+ /*
+ * Modification 3:
+ *
+ * Some params are intermediately stored to Named
+ */
+
+ Store(ss00, ss01)
+ Store(ss00, ss03)
+ Store(ss00, ss05)
+
+ mI01(ss00)
+ mI02(ss00, ss01)
+ mI03(ss00, ss01, ss00)
+ mI04(ss00, ss01, ss00, ss03)
+ mI05(ss00, ss01, ss00, ss03, ss00)
+ mI06(ss00, ss01, ss00, ss03, ss00, ss05)
+ mI07(ss00, ss01, ss00, ss03, ss00, ss05, ss00)
+
+ mI01(
+ mI01(ss00))
+
+ mI02(
+ mI01(ss00),
+ mI02(ss00, ss01))
+
+ mI03(
+ mI01(ss00),
+ mI02(ss00, ss01),
+ mI03(ss00, ss01, ss00))
+
+ mI04(
+ mI01(ss00),
+ mI02(ss00, ss01),
+ mI03(ss00, ss01, ss00),
+ mI04(ss00, ss01, ss00, ss03))
+
+ if (y262) {
+
+ mI05(
+ mI01(ss00),
+ mI02(ss00, ss01),
+ mI03(ss00, ss01, ss00),
+ mI04(ss00, ss01, ss00, ss03),
+ mI05(ss00, ss01, ss00, ss03, ss00))
+
+ mI06(
+ mI01(ss00),
+ mI02(ss00, ss01),
+ mI03(ss00, ss01, ss00),
+ mI04(ss00, ss01, ss00, ss03),
+ mI05(ss00, ss01, ss00, ss03, ss00),
+ mI06(ss00, ss01, ss00, ss03, ss00, ss05))
+ mI07(
+ mI01(ss00),
+ mI02(ss00, ss01),
+ mI03(ss00, ss01, ss00),
+ mI04(ss00, ss01, ss00, ss03),
+ mI05(ss00, ss01, ss00, ss03, ss00),
+ mI06(ss00, ss01, ss00, ss03, ss00, ss05),
+ mI07(ss00, ss01, ss00, ss03, ss00, ss05, ss00))
+ } else {
+ OUTP("WARNING: some tests of ns_in40.asl are blocked!")
+ }
+
+
+
+
+ /*
+ * Buffer
+ */
+ Name(bb00, Buffer(5) {})
+ Name(bb01, Buffer(5) {})
+ Name(bb03, Buffer(5) {})
+ Name(bb05, Buffer(5) {})
+
+ Store(4, cmd0)
+ Store(b000, bb00)
+
+
+
+
+ /*
+ * Modification 0:
+ */
+
+ mI01(bb00)
+ mI02(bb00, bb00)
+ mI03(bb00, bb00, bb00)
+ mI04(bb00, bb00, bb00, bb00)
+ mI05(bb00, bb00, bb00, bb00, bb00)
+ mI06(bb00, bb00, bb00, bb00, bb00, bb00)
+ mI07(bb00, bb00, bb00, bb00, bb00, bb00, bb00)
+
+ mI01(
+ mI01(bb00))
+
+ mI02(
+ mI01(bb00),
+ mI02(bb00, bb00))
+
+ mI03(
+ mI01(bb00),
+ mI02(bb00, bb00),
+ mI03(bb00, bb00, bb00))
+
+ mI04(
+ mI01(bb00),
+ mI02(bb00, bb00),
+ mI03(bb00, bb00, bb00),
+ mI04(bb00, bb00, bb00, bb00))
+
+ if (y262) {
+
+ mI05(
+ mI01(bb00),
+ mI02(bb00, bb00),
+ mI03(bb00, bb00, bb00),
+ mI04(bb00, bb00, bb00, bb00),
+ mI05(bb00, bb00, bb00, bb00, bb00))
+
+ mI06(
+ mI01(bb00),
+ mI02(bb00, bb00),
+ mI03(bb00, bb00, bb00),
+ mI04(bb00, bb00, bb00, bb00),
+ mI05(bb00, bb00, bb00, bb00, bb00),
+ mI06(bb00, bb00, bb00, bb00, bb00, bb00))
+ mI07(
+ mI01(bb00),
+ mI02(bb00, bb00),
+ mI03(bb00, bb00, bb00),
+ mI04(bb00, bb00, bb00, bb00),
+ mI05(bb00, bb00, bb00, bb00, bb00),
+ mI06(bb00, bb00, bb00, bb00, bb00, bb00),
+ mI07(bb00, bb00, bb00, bb00, bb00, bb00, bb00))
+ } else {
+ OUTP("WARNING: some tests of ns_in40.asl are blocked!")
+ }
+
+
+
+
+ /*
+ * Modification 1:
+ *
+ * Some params are intermediately stored to Locals
+ */
+
+ Store(bb00, Local1)
+ Store(bb00, Local3)
+ Store(bb00, Local5)
+
+ mI01(bb00)
+ mI02(bb00, Local1)
+ mI03(bb00, Local1, bb00)
+ mI04(bb00, Local1, bb00, Local3)
+ mI05(bb00, Local1, bb00, Local3, bb00)
+ mI06(bb00, Local1, bb00, Local3, bb00, Local5)
+ mI07(bb00, Local1, bb00, Local3, bb00, Local5, bb00)
+
+ mI01(
+ mI01(bb00))
+
+ mI02(
+ mI01(bb00),
+ mI02(bb00, Local1))
+
+ mI03(
+ mI01(bb00),
+ mI02(bb00, Local1),
+ mI03(bb00, Local1, bb00))
+
+ mI04(
+ mI01(bb00),
+ mI02(bb00, Local1),
+ mI03(bb00, Local1, bb00),
+ mI04(bb00, Local1, bb00, Local3))
+
+ if (y262) {
+
+ mI05(
+ mI01(bb00),
+ mI02(bb00, Local1),
+ mI03(bb00, Local1, bb00),
+ mI04(bb00, Local1, bb00, Local3),
+ mI05(bb00, Local1, bb00, Local3, bb00))
+
+ mI06(
+ mI01(bb00),
+ mI02(bb00, Local1),
+ mI03(bb00, Local1, bb00),
+ mI04(bb00, Local1, bb00, Local3),
+ mI05(bb00, Local1, bb00, Local3, bb00),
+ mI06(bb00, Local1, bb00, Local3, bb00, Local5))
+ mI07(
+ mI01(bb00),
+ mI02(bb00, Local1),
+ mI03(bb00, Local1, bb00),
+ mI04(bb00, Local1, bb00, Local3),
+ mI05(bb00, Local1, bb00, Local3, bb00),
+ mI06(bb00, Local1, bb00, Local3, bb00, Local5),
+ mI07(bb00, Local1, bb00, Local3, bb00, Local5, bb00))
+ } else {
+ OUTP("WARNING: some tests of ns_in40.asl are blocked!")
+ }
+
+
+
+
+ /*
+ * Modification 2:
+ *
+ * Some params are intermediately stored to Args (effectively local)
+ */
+
+ Store(bb00, Arg1)
+ Store(bb00, Arg3)
+ Store(bb00, Arg5)
+
+ mI01(bb00)
+ mI02(bb00, Arg1)
+ mI03(bb00, Arg1, bb00)
+ mI04(bb00, Arg1, bb00, Arg3)
+ mI05(bb00, Arg1, bb00, Arg3, bb00)
+ mI06(bb00, Arg1, bb00, Arg3, bb00, Arg5)
+ mI07(bb00, Arg1, bb00, Arg3, bb00, Arg5, bb00)
+
+ mI01(
+ mI01(bb00))
+
+ mI02(
+ mI01(bb00),
+ mI02(bb00, Arg1))
+
+ mI03(
+ mI01(bb00),
+ mI02(bb00, Arg1),
+ mI03(bb00, Arg1, bb00))
+
+ mI04(
+ mI01(bb00),
+ mI02(bb00, Arg1),
+ mI03(bb00, Arg1, bb00),
+ mI04(bb00, Arg1, bb00, Arg3))
+
+ if (y262) {
+
+ mI05(
+ mI01(bb00),
+ mI02(bb00, Arg1),
+ mI03(bb00, Arg1, bb00),
+ mI04(bb00, Arg1, bb00, Arg3),
+ mI05(bb00, Arg1, bb00, Arg3, bb00))
+
+ mI06(
+ mI01(bb00),
+ mI02(bb00, Arg1),
+ mI03(bb00, Arg1, bb00),
+ mI04(bb00, Arg1, bb00, Arg3),
+ mI05(bb00, Arg1, bb00, Arg3, bb00),
+ mI06(bb00, Arg1, bb00, Arg3, bb00, Arg5))
+ mI07(
+ mI01(bb00),
+ mI02(bb00, Arg1),
+ mI03(bb00, Arg1, bb00),
+ mI04(bb00, Arg1, bb00, Arg3),
+ mI05(bb00, Arg1, bb00, Arg3, bb00),
+ mI06(bb00, Arg1, bb00, Arg3, bb00, Arg5),
+ mI07(bb00, Arg1, bb00, Arg3, bb00, Arg5, bb00))
+ } else {
+ OUTP("WARNING: some tests of ns_in40.asl are blocked!")
+ }
+
+
+
+
+ /*
+ * Modification 3:
+ *
+ * Some params are intermediately stored to Named
+ */
+
+ Store(bb00, bb01)
+ Store(bb00, bb03)
+ Store(bb00, bb05)
+
+ mI01(bb00)
+ mI02(bb00, bb01)
+ mI03(bb00, bb01, bb00)
+ mI04(bb00, bb01, bb00, bb03)
+ mI05(bb00, bb01, bb00, bb03, bb00)
+ mI06(bb00, bb01, bb00, bb03, bb00, bb05)
+ mI07(bb00, bb01, bb00, bb03, bb00, bb05, bb00)
+
+ mI01(
+ mI01(bb00))
+
+ mI02(
+ mI01(bb00),
+ mI02(bb00, bb01))
+
+ mI03(
+ mI01(bb00),
+ mI02(bb00, bb01),
+ mI03(bb00, bb01, bb00))
+
+ mI04(
+ mI01(bb00),
+ mI02(bb00, bb01),
+ mI03(bb00, bb01, bb00),
+ mI04(bb00, bb01, bb00, bb03))
+
+ if (y262) {
+
+ mI05(
+ mI01(bb00),
+ mI02(bb00, bb01),
+ mI03(bb00, bb01, bb00),
+ mI04(bb00, bb01, bb00, bb03),
+ mI05(bb00, bb01, bb00, bb03, bb00))
+
+ mI06(
+ mI01(bb00),
+ mI02(bb00, bb01),
+ mI03(bb00, bb01, bb00),
+ mI04(bb00, bb01, bb00, bb03),
+ mI05(bb00, bb01, bb00, bb03, bb00),
+ mI06(bb00, bb01, bb00, bb03, bb00, bb05))
+ mI07(
+ mI01(bb00),
+ mI02(bb00, bb01),
+ mI03(bb00, bb01, bb00),
+ mI04(bb00, bb01, bb00, bb03),
+ mI05(bb00, bb01, bb00, bb03, bb00),
+ mI06(bb00, bb01, bb00, bb03, bb00, bb05),
+ mI07(bb00, bb01, bb00, bb03, bb00, bb05, bb00))
+ } else {
+ OUTP("WARNING: some tests of ns_in40.asl are blocked!")
+ }
+
+
+
+
+ /*
+ * Package
+ */
+ Name(pp00, Package() {0xabcd0901, 0xabcd0902, 0xabcd0903})
+ Name(pp01, Package(3) {})
+ Name(pp03, Package(3) {})
+ Name(pp05, Package(3) {})
+
+ Store(5, cmd0)
+ if (chk0) {
+ Store(p000, pp00)
+ }
+
+
+
+
+ /*
+ * Modification 0:
+ */
+
+ mI01(pp00)
+ mI02(pp00, pp00)
+ mI03(pp00, pp00, pp00)
+ mI04(pp00, pp00, pp00, pp00)
+ mI05(pp00, pp00, pp00, pp00, pp00)
+ mI06(pp00, pp00, pp00, pp00, pp00, pp00)
+ mI07(pp00, pp00, pp00, pp00, pp00, pp00, pp00)
+
+ mI01(
+ mI01(pp00))
+
+ mI02(
+ mI01(pp00),
+ mI02(pp00, pp00))
+
+ mI03(
+ mI01(pp00),
+ mI02(pp00, pp00),
+ mI03(pp00, pp00, pp00))
+
+ mI04(
+ mI01(pp00),
+ mI02(pp00, pp00),
+ mI03(pp00, pp00, pp00),
+ mI04(pp00, pp00, pp00, pp00))
+
+ if (y262) {
+
+ mI05(
+ mI01(pp00),
+ mI02(pp00, pp00),
+ mI03(pp00, pp00, pp00),
+ mI04(pp00, pp00, pp00, pp00),
+ mI05(pp00, pp00, pp00, pp00, pp00))
+
+ mI06(
+ mI01(pp00),
+ mI02(pp00, pp00),
+ mI03(pp00, pp00, pp00),
+ mI04(pp00, pp00, pp00, pp00),
+ mI05(pp00, pp00, pp00, pp00, pp00),
+ mI06(pp00, pp00, pp00, pp00, pp00, pp00))
+ mI07(
+ mI01(pp00),
+ mI02(pp00, pp00),
+ mI03(pp00, pp00, pp00),
+ mI04(pp00, pp00, pp00, pp00),
+ mI05(pp00, pp00, pp00, pp00, pp00),
+ mI06(pp00, pp00, pp00, pp00, pp00, pp00),
+ mI07(pp00, pp00, pp00, pp00, pp00, pp00, pp00))
+ } else {
+ OUTP("WARNING: some tests of ns_in40.asl are blocked!")
+ }
+
+
+
+
+ /*
+ * Modification 1:
+ *
+ * Some params are intermediately stored to Locals
+ */
+
+ Store(pp00, Local1)
+ Store(pp00, Local3)
+ Store(pp00, Local5)
+
+ mI01(pp00)
+ mI02(pp00, Local1)
+ mI03(pp00, Local1, pp00)
+ mI04(pp00, Local1, pp00, Local3)
+ mI05(pp00, Local1, pp00, Local3, pp00)
+ mI06(pp00, Local1, pp00, Local3, pp00, Local5)
+ mI07(pp00, Local1, pp00, Local3, pp00, Local5, pp00)
+
+ mI01(
+ mI01(pp00))
+
+ mI02(
+ mI01(pp00),
+ mI02(pp00, Local1))
+
+ mI03(
+ mI01(pp00),
+ mI02(pp00, Local1),
+ mI03(pp00, Local1, pp00))
+
+ mI04(
+ mI01(pp00),
+ mI02(pp00, Local1),
+ mI03(pp00, Local1, pp00),
+ mI04(pp00, Local1, pp00, Local3))
+
+ if (y262) {
+
+ mI05(
+ mI01(pp00),
+ mI02(pp00, Local1),
+ mI03(pp00, Local1, pp00),
+ mI04(pp00, Local1, pp00, Local3),
+ mI05(pp00, Local1, pp00, Local3, pp00))
+
+ mI06(
+ mI01(pp00),
+ mI02(pp00, Local1),
+ mI03(pp00, Local1, pp00),
+ mI04(pp00, Local1, pp00, Local3),
+ mI05(pp00, Local1, pp00, Local3, pp00),
+ mI06(pp00, Local1, pp00, Local3, pp00, Local5))
+ mI07(
+ mI01(pp00),
+ mI02(pp00, Local1),
+ mI03(pp00, Local1, pp00),
+ mI04(pp00, Local1, pp00, Local3),
+ mI05(pp00, Local1, pp00, Local3, pp00),
+ mI06(pp00, Local1, pp00, Local3, pp00, Local5),
+ mI07(pp00, Local1, pp00, Local3, pp00, Local5, pp00))
+ } else {
+ OUTP("WARNING: some tests of ns_in40.asl are blocked!")
+ }
+
+
+
+
+ /*
+ * Modification 2:
+ *
+ * Some params are intermediately stored to Args (effectively local)
+ */
+
+ Store(pp00, Arg1)
+ Store(pp00, Arg3)
+ Store(pp00, Arg5)
+
+ mI01(pp00)
+ mI02(pp00, Arg1)
+ mI03(pp00, Arg1, pp00)
+ mI04(pp00, Arg1, pp00, Arg3)
+ mI05(pp00, Arg1, pp00, Arg3, pp00)
+ mI06(pp00, Arg1, pp00, Arg3, pp00, Arg5)
+ mI07(pp00, Arg1, pp00, Arg3, pp00, Arg5, pp00)
+
+ mI01(
+ mI01(pp00))
+
+ mI02(
+ mI01(pp00),
+ mI02(pp00, Arg1))
+
+ mI03(
+ mI01(pp00),
+ mI02(pp00, Arg1),
+ mI03(pp00, Arg1, pp00))
+
+ mI04(
+ mI01(pp00),
+ mI02(pp00, Arg1),
+ mI03(pp00, Arg1, pp00),
+ mI04(pp00, Arg1, pp00, Arg3))
+
+ if (y262) {
+
+ mI05(
+ mI01(pp00),
+ mI02(pp00, Arg1),
+ mI03(pp00, Arg1, pp00),
+ mI04(pp00, Arg1, pp00, Arg3),
+ mI05(pp00, Arg1, pp00, Arg3, pp00))
+
+ mI06(
+ mI01(pp00),
+ mI02(pp00, Arg1),
+ mI03(pp00, Arg1, pp00),
+ mI04(pp00, Arg1, pp00, Arg3),
+ mI05(pp00, Arg1, pp00, Arg3, pp00),
+ mI06(pp00, Arg1, pp00, Arg3, pp00, Arg5))
+ mI07(
+ mI01(pp00),
+ mI02(pp00, Arg1),
+ mI03(pp00, Arg1, pp00),
+ mI04(pp00, Arg1, pp00, Arg3),
+ mI05(pp00, Arg1, pp00, Arg3, pp00),
+ mI06(pp00, Arg1, pp00, Arg3, pp00, Arg5),
+ mI07(pp00, Arg1, pp00, Arg3, pp00, Arg5, pp00))
+ } else {
+ OUTP("WARNING: some tests of ns_in40.asl are blocked!")
+ }
+
+
+
+
+ if (chk0) {
+
+ /*
+ * Modification 3:
+ *
+ * Some params are intermediately stored to Named
+ */
+
+ Store(pp00, pp01)
+ Store(pp00, pp03)
+ Store(pp00, pp05)
+
+ mI01(pp00)
+ mI02(pp00, pp01)
+
+ mI03(pp00, pp01, pp00)
+ mI04(pp00, pp01, pp00, pp03)
+ mI05(pp00, pp01, pp00, pp03, pp00)
+ mI06(pp00, pp01, pp00, pp03, pp00, pp05)
+ mI07(pp00, pp01, pp00, pp03, pp00, pp05, pp00)
+
+ mI01(
+ mI01(pp00))
+
+ mI02(
+ mI01(pp00),
+ mI02(pp00, pp01))
+
+ mI03(
+ mI01(pp00),
+ mI02(pp00, pp01),
+ mI03(pp00, pp01, pp00))
+
+ mI04(
+ mI01(pp00),
+ mI02(pp00, pp01),
+ mI03(pp00, pp01, pp00),
+ mI04(pp00, pp01, pp00, pp03))
+
+ if (y262) {
+
+ mI05(
+ mI01(pp00),
+ mI02(pp00, pp01),
+ mI03(pp00, pp01, pp00),
+ mI04(pp00, pp01, pp00, pp03),
+ mI05(pp00, pp01, pp00, pp03, pp00))
+
+ mI06(
+ mI01(pp00),
+ mI02(pp00, pp01),
+ mI03(pp00, pp01, pp00),
+ mI04(pp00, pp01, pp00, pp03),
+ mI05(pp00, pp01, pp00, pp03, pp00),
+ mI06(pp00, pp01, pp00, pp03, pp00, pp05))
+ mI07(
+ mI01(pp00),
+ mI02(pp00, pp01),
+ mI03(pp00, pp01, pp00),
+ mI04(pp00, pp01, pp00, pp03),
+ mI05(pp00, pp01, pp00, pp03, pp00),
+ mI06(pp00, pp01, pp00, pp03, pp00, pp05),
+ mI07(pp00, pp01, pp00, pp03, pp00, pp05, pp00))
+ } else {
+ OUTP("WARNING: some tests of ns_in40.asl are blocked!")
+ }
+
+ } // if (chk0)
+}
+
+Method(in41, 7)
+{
+ Name(ts, "in41")
+
+ Event(e000)
+ Mutex(mx00, 0)
+ Method(mmm0) {
+ Name(im00, 0xabcd0004)
+ Name(sm00, "qwertyui")
+ // Return ( "qwertyui" )
+ }
+ Method(mmm1) {
+ Name(im00, 0xabcd0004)
+ Name(sm00, "qwertyui")
+ // Return ( 0xabcd0004 )
+ Return ( "qwertyui" )
+ }
+ Device(d000) { Name(id00, 0xabcd0005) }
+ ThermalZone(tz00) { Name(itz0, 0xabcd0006) }
+ Processor(pr00, 0, 0xFFFFFFFF, 0) { Name(ipr0, 0xabcd0007) }
+ PowerResource(pw00, 1, 0) { Name(ipw0, 0xabcd0008) }
+ OperationRegion(r000, SystemMemory, 0x000, 0x080)
+
+ Name(b001, Buffer() {0xa0,0xa1,0xa2,0xa3,0xa4})
+ CreateField(b001, 0, 32, bf00)
+
+ OperationRegion(r001, SystemMemory, 0x080, 0x080)
+ Field(r001, ByteAcc, NoLock, Preserve) {f000,32, f001,32, f002,32, f003,32}
+ BankField(r001, f001, 0, ByteAcc, NoLock, Preserve) {bnk0,32}
+ IndexField(f002, f003, ByteAcc, NoLock, Preserve) {if00,32, if01,32}
+
+
+
+
+ /*
+ * Field
+ */
+ OperationRegion(r002, SystemMemory, 0x100, 0x080)
+ Field(r002, ByteAcc, NoLock, Preserve) {ff00,32, ff01,32, ff03,32, ff05,32}
+
+ Store(6, cmd0)
+ Store(0xabcd0a00, f000)
+ Store(f000, ff00)
+
+
+
+
+ /*
+ * Modification 0:
+ */
+
+ mI01(ff00)
+ mI02(ff00, ff00)
+ mI03(ff00, ff00, ff00)
+ mI04(ff00, ff00, ff00, ff00)
+ mI05(ff00, ff00, ff00, ff00, ff00)
+ mI06(ff00, ff00, ff00, ff00, ff00, ff00)
+ mI07(ff00, ff00, ff00, ff00, ff00, ff00, ff00)
+
+ mI01(
+ mI01(ff00))
+
+ mI02(
+ mI01(ff00),
+ mI02(ff00, ff00))
+
+ mI03(
+ mI01(ff00),
+ mI02(ff00, ff00),
+ mI03(ff00, ff00, ff00))
+
+ mI04(
+ mI01(ff00),
+ mI02(ff00, ff00),
+ mI03(ff00, ff00, ff00),
+ mI04(ff00, ff00, ff00, ff00))
+
+ if (y262) {
+
+ mI05(
+ mI01(ff00),
+ mI02(ff00, ff00),
+ mI03(ff00, ff00, ff00),
+ mI04(ff00, ff00, ff00, ff00),
+ mI05(ff00, ff00, ff00, ff00, ff00))
+
+ mI06(
+ mI01(ff00),
+ mI02(ff00, ff00),
+ mI03(ff00, ff00, ff00),
+ mI04(ff00, ff00, ff00, ff00),
+ mI05(ff00, ff00, ff00, ff00, ff00),
+ mI06(ff00, ff00, ff00, ff00, ff00, ff00))
+
+ // if (chk0) {
+ // qqq: This breaks Field:
+
+ mI07(
+ mI01(ff00),
+ mI02(ff00, ff00),
+ mI03(ff00, ff00, ff00),
+ mI04(ff00, ff00, ff00, ff00),
+ mI05(ff00, ff00, ff00, ff00, ff00),
+ mI06(ff00, ff00, ff00, ff00, ff00, ff00),
+ mI07(ff00, ff00, ff00, ff00, ff00, ff00, ff00))
+ // }
+
+ } else {
+ OUTP("WARNING: some tests of ns_in40.asl are blocked!")
+ }
+
+
+
+
+ /*
+ * Modification 1:
+ *
+ * Some params are intermediately stored to Locals
+ */
+
+ Store(ff00, Local1)
+ Store(ff00, Local3)
+ Store(ff00, Local5)
+
+ mI01(ff00)
+ mI02(ff00, Local1)
+ mI03(ff00, Local1, ff00)
+ mI04(ff00, Local1, ff00, Local3)
+ mI05(ff00, Local1, ff00, Local3, ff00)
+ mI06(ff00, Local1, ff00, Local3, ff00, Local5)
+ mI07(ff00, Local1, ff00, Local3, ff00, Local5, ff00)
+
+ mI01(
+ mI01(ff00))
+
+ mI02(
+ mI01(ff00),
+ mI02(ff00, Local1))
+
+ mI03(
+ mI01(ff00),
+ mI02(ff00, Local1),
+ mI03(ff00, Local1, ff00))
+
+ mI04(
+ mI01(ff00),
+ mI02(ff00, Local1),
+ mI03(ff00, Local1, ff00),
+ mI04(ff00, Local1, ff00, Local3))
+
+ if (y262) {
+
+ mI05(
+ mI01(ff00),
+ mI02(ff00, Local1),
+ mI03(ff00, Local1, ff00),
+ mI04(ff00, Local1, ff00, Local3),
+ mI05(ff00, Local1, ff00, Local3, ff00))
+
+ mI06(
+ mI01(ff00),
+ mI02(ff00, Local1),
+ mI03(ff00, Local1, ff00),
+ mI04(ff00, Local1, ff00, Local3),
+ mI05(ff00, Local1, ff00, Local3, ff00),
+ mI06(ff00, Local1, ff00, Local3, ff00, Local5))
+
+ // if (chk0) { // qqq: This breaks Field:
+ mI07(
+ mI01(ff00),
+ mI02(ff00, Local1),
+ mI03(ff00, Local1, ff00),
+ mI04(ff00, Local1, ff00, Local3),
+ mI05(ff00, Local1, ff00, Local3, ff00),
+ mI06(ff00, Local1, ff00, Local3, ff00, Local5),
+ mI07(ff00, Local1, ff00, Local3, ff00, Local5, ff00))
+ // }
+
+ } else {
+ OUTP("WARNING: some tests of ns_in40.asl are blocked!")
+ }
+
+
+
+
+ /*
+ * Modification 2:
+ *
+ * Some params are intermediately stored to Args (effectively local)
+ */
+
+ Store(ff00, Arg1)
+ Store(ff00, Arg3)
+ Store(ff00, Arg5)
+
+ mI01(ff00)
+ mI02(ff00, Arg1)
+ mI03(ff00, Arg1, ff00)
+ mI04(ff00, Arg1, ff00, Arg3)
+ mI05(ff00, Arg1, ff00, Arg3, ff00)
+ mI06(ff00, Arg1, ff00, Arg3, ff00, Arg5)
+ mI07(ff00, Arg1, ff00, Arg3, ff00, Arg5, ff00)
+
+ mI01(
+ mI01(ff00))
+
+ mI02(
+ mI01(ff00),
+ mI02(ff00, Arg1))
+
+ mI03(
+ mI01(ff00),
+ mI02(ff00, Arg1),
+ mI03(ff00, Arg1, ff00))
+
+ mI04(
+ mI01(ff00),
+ mI02(ff00, Arg1),
+ mI03(ff00, Arg1, ff00),
+ mI04(ff00, Arg1, ff00, Arg3))
+
+ if (y262) {
+
+ mI05(
+ mI01(ff00),
+ mI02(ff00, Arg1),
+ mI03(ff00, Arg1, ff00),
+ mI04(ff00, Arg1, ff00, Arg3),
+ mI05(ff00, Arg1, ff00, Arg3, ff00))
+
+ mI06(
+ mI01(ff00),
+ mI02(ff00, Arg1),
+ mI03(ff00, Arg1, ff00),
+ mI04(ff00, Arg1, ff00, Arg3),
+ mI05(ff00, Arg1, ff00, Arg3, ff00),
+ mI06(ff00, Arg1, ff00, Arg3, ff00, Arg5))
+
+ // if (chk0) { // qqq: This breaks Field:
+ mI07(
+ mI01(ff00),
+ mI02(ff00, Arg1),
+ mI03(ff00, Arg1, ff00),
+ mI04(ff00, Arg1, ff00, Arg3),
+ mI05(ff00, Arg1, ff00, Arg3, ff00),
+ mI06(ff00, Arg1, ff00, Arg3, ff00, Arg5),
+ mI07(ff00, Arg1, ff00, Arg3, ff00, Arg5, ff00))
+ // }
+
+ } else {
+ OUTP("WARNING: some tests of ns_in40.asl are blocked!")
+ }
+
+
+
+
+ /*
+ * Modification 3:
+ *
+ * Some params are intermediately stored to Named
+ */
+
+ Store(ff00, ff01)
+ Store(ff00, ff03)
+ Store(ff00, ff05)
+
+ mI01(ff00)
+ mI02(ff00, ff01)
+ mI03(ff00, ff01, ff00)
+ mI04(ff00, ff01, ff00, ff03)
+ mI05(ff00, ff01, ff00, ff03, ff00)
+ mI06(ff00, ff01, ff00, ff03, ff00, ff05)
+ mI07(ff00, ff01, ff00, ff03, ff00, ff05, ff00)
+
+ mI01(
+ mI01(ff00))
+
+ mI02(
+ mI01(ff00),
+ mI02(ff00, ff01))
+
+ mI03(
+ mI01(ff00),
+ mI02(ff00, ff01),
+ mI03(ff00, ff01, ff00))
+
+ mI04(
+ mI01(ff00),
+ mI02(ff00, ff01),
+ mI03(ff00, ff01, ff00),
+ mI04(ff00, ff01, ff00, ff03))
+
+ if (y262) {
+
+ mI05(
+ mI01(ff00),
+ mI02(ff00, ff01),
+ mI03(ff00, ff01, ff00),
+ mI04(ff00, ff01, ff00, ff03),
+ mI05(ff00, ff01, ff00, ff03, ff00))
+
+ mI06(
+ mI01(ff00),
+ mI02(ff00, ff01),
+ mI03(ff00, ff01, ff00),
+ mI04(ff00, ff01, ff00, ff03),
+ mI05(ff00, ff01, ff00, ff03, ff00),
+ mI06(ff00, ff01, ff00, ff03, ff00, ff05))
+
+ // if (chk0) { // qqq: This breaks Field:
+ mI07(
+ mI01(ff00),
+ mI02(ff00, ff01),
+ mI03(ff00, ff01, ff00),
+ mI04(ff00, ff01, ff00, ff03),
+ mI05(ff00, ff01, ff00, ff03, ff00),
+ mI06(ff00, ff01, ff00, ff03, ff00, ff05),
+ mI07(ff00, ff01, ff00, ff03, ff00, ff05, ff00))
+ // }
+ } else {
+ OUTP("WARNING: some tests of ns_in40.asl are blocked!")
+ }
+
+
+
+
+ /*
+ * Index Field
+ */
+ OperationRegion(r003, SystemMemory, 0x180, 0x080)
+ Field(r003, ByteAcc, NoLock, Preserve) {f004,32, f005,32}
+ IndexField(f004, f005, ByteAcc, NoLock, Preserve) {if02,32}
+
+ Store(14, cmd0)
+ Store(0xabcd0b04, if00)
+ Store(if00, if02)
+
+
+
+
+ /*
+ * Modification 0:
+ */
+
+ mI01(if02)
+ mI02(if02, if02)
+ mI03(if02, if02, if02)
+ mI04(if02, if02, if02, if02)
+ mI05(if02, if02, if02, if02, if02)
+ mI06(if02, if02, if02, if02, if02, if02)
+ mI07(if02, if02, if02, if02, if02, if02, if02)
+
+ // if (chk0) {
+
+ mI01(
+ mI01(if02))
+
+ mI02(
+ mI01(if02),
+ mI02(if02, if02))
+
+ mI03(
+ mI01(if02),
+ mI02(if02, if02),
+ mI03(if02, if02, if02))
+
+ mI04(
+ mI01(if02),
+ mI02(if02, if02),
+ mI03(if02, if02, if02),
+ mI04(if02, if02, if02, if02))
+
+ if (y262) {
+
+ mI05(
+ mI01(if02),
+ mI02(if02, if02),
+ mI03(if02, if02, if02),
+ mI04(if02, if02, if02, if02),
+ mI05(if02, if02, if02, if02, if02))
+
+ mI06(
+ mI01(if02),
+ mI02(if02, if02),
+ mI03(if02, if02, if02),
+ mI04(if02, if02, if02, if02),
+ mI05(if02, if02, if02, if02, if02),
+ mI06(if02, if02, if02, if02, if02, if02))
+ mI07(
+ mI01(if02),
+ mI02(if02, if02),
+ mI03(if02, if02, if02),
+ mI04(if02, if02, if02, if02),
+ mI05(if02, if02, if02, if02, if02),
+ mI06(if02, if02, if02, if02, if02, if02),
+ mI07(if02, if02, if02, if02, if02, if02, if02))
+ } else {
+ OUTP("WARNING: some tests of ns_in40.asl are blocked!")
+ }
+
+
+
+
+ /*
+ * Modification 1:
+ *
+ * Some params are intermediately stored to Locals
+ */
+
+ Store(if02, Local1)
+ Store(if02, Local3)
+ Store(if02, Local5)
+
+ mI01(if02)
+ mI02(if02, Local1)
+ mI03(if02, Local1, if02)
+ mI04(if02, Local1, if02, Local3)
+ mI05(if02, Local1, if02, Local3, if02)
+ mI06(if02, Local1, if02, Local3, if02, Local5)
+ mI07(if02, Local1, if02, Local3, if02, Local5, if02)
+
+ mI01(
+ mI01(if02))
+
+ mI02(
+ mI01(if02),
+ mI02(if02, Local1))
+
+ mI03(
+ mI01(if02),
+ mI02(if02, Local1),
+ mI03(if02, Local1, if02))
+
+ mI04(
+ mI01(if02),
+ mI02(if02, Local1),
+ mI03(if02, Local1, if02),
+ mI04(if02, Local1, if02, Local3))
+
+ if (y262) {
+
+ mI05(
+ mI01(if02),
+ mI02(if02, Local1),
+ mI03(if02, Local1, if02),
+ mI04(if02, Local1, if02, Local3),
+ mI05(if02, Local1, if02, Local3, if02))
+
+ mI06(
+ mI01(if02),
+ mI02(if02, Local1),
+ mI03(if02, Local1, if02),
+ mI04(if02, Local1, if02, Local3),
+ mI05(if02, Local1, if02, Local3, if02),
+ mI06(if02, Local1, if02, Local3, if02, Local5))
+ mI07(
+ mI01(if02),
+ mI02(if02, Local1),
+ mI03(if02, Local1, if02),
+ mI04(if02, Local1, if02, Local3),
+ mI05(if02, Local1, if02, Local3, if02),
+ mI06(if02, Local1, if02, Local3, if02, Local5),
+ mI07(if02, Local1, if02, Local3, if02, Local5, if02))
+ } else {
+ OUTP("WARNING: some tests of ns_in40.asl are blocked!")
+ }
+
+
+
+
+ /*
+ * Modification 2:
+ *
+ * Some params are intermediately stored to Args (effectively local)
+ */
+
+ Store(if02, Arg1)
+ Store(if02, Arg3)
+ Store(if02, Arg5)
+
+ mI01(if02)
+ mI02(if02, Arg1)
+ mI03(if02, Arg1, if02)
+ mI04(if02, Arg1, if02, Arg3)
+ mI05(if02, Arg1, if02, Arg3, if02)
+ mI06(if02, Arg1, if02, Arg3, if02, Arg5)
+ mI07(if02, Arg1, if02, Arg3, if02, Arg5, if02)
+
+ mI01(
+ mI01(if02))
+
+ mI02(
+ mI01(if02),
+ mI02(if02, Arg1))
+
+ mI03(
+ mI01(if02),
+ mI02(if02, Arg1),
+ mI03(if02, Arg1, if02))
+
+ mI04(
+ mI01(if02),
+ mI02(if02, Arg1),
+ mI03(if02, Arg1, if02),
+ mI04(if02, Arg1, if02, Arg3))
+
+ if (y262) {
+
+ mI05(
+ mI01(if02),
+ mI02(if02, Arg1),
+ mI03(if02, Arg1, if02),
+ mI04(if02, Arg1, if02, Arg3),
+ mI05(if02, Arg1, if02, Arg3, if02))
+
+ mI06(
+ mI01(if02),
+ mI02(if02, Arg1),
+ mI03(if02, Arg1, if02),
+ mI04(if02, Arg1, if02, Arg3),
+ mI05(if02, Arg1, if02, Arg3, if02),
+ mI06(if02, Arg1, if02, Arg3, if02, Arg5))
+ mI07(
+ mI01(if02),
+ mI02(if02, Arg1),
+ mI03(if02, Arg1, if02),
+ mI04(if02, Arg1, if02, Arg3),
+ mI05(if02, Arg1, if02, Arg3, if02),
+ mI06(if02, Arg1, if02, Arg3, if02, Arg5),
+ mI07(if02, Arg1, if02, Arg3, if02, Arg5, if02))
+ } else {
+ OUTP("WARNING: some tests of ns_in40.asl are blocked!")
+ }
+
+
+
+
+ /*
+ * Modification 3:
+ *
+ * Some params are intermediately stored to Named
+ */
+
+ Store(if02, ff01)
+ Store(if02, ff03)
+ Store(if02, ff05)
+
+ mI01(if02)
+ mI02(if02, ff01)
+ mI03(if02, ff01, if02)
+ mI04(if02, ff01, if02, ff03)
+ mI05(if02, ff01, if02, ff03, if02)
+ mI06(if02, ff01, if02, ff03, if02, ff05)
+ mI07(if02, ff01, if02, ff03, if02, ff05, if02)
+
+ mI01(
+ mI01(if02))
+
+ mI02(
+ mI01(if02),
+ mI02(if02, ff01))
+
+ mI03(
+ mI01(if02),
+ mI02(if02, ff01),
+ mI03(if02, ff01, if02))
+
+ mI04(
+ mI01(if02),
+ mI02(if02, ff01),
+ mI03(if02, ff01, if02),
+ mI04(if02, ff01, if02, ff03))
+
+ if (y262) {
+
+ mI05(
+ mI01(if02),
+ mI02(if02, ff01),
+ mI03(if02, ff01, if02),
+ mI04(if02, ff01, if02, ff03),
+ mI05(if02, ff01, if02, ff03, if02))
+
+ mI06(
+ mI01(if02),
+ mI02(if02, ff01),
+ mI03(if02, ff01, if02),
+ mI04(if02, ff01, if02, ff03),
+ mI05(if02, ff01, if02, ff03, if02),
+ mI06(if02, ff01, if02, ff03, if02, ff05))
+ mI07(
+ mI01(if02),
+ mI02(if02, ff01),
+ mI03(if02, ff01, if02),
+ mI04(if02, ff01, if02, ff03),
+ mI05(if02, ff01, if02, ff03, if02),
+ mI06(if02, ff01, if02, ff03, if02, ff05),
+ mI07(if02, ff01, if02, ff03, if02, ff05, if02))
+ } else {
+ OUTP("WARNING: some tests of ns_in40.asl are blocked!")
+ }
+
+ // } // if (chk0)
+
+
+
+
+ /*
+ * Bank Field
+ */
+ OperationRegion(r004, SystemMemory, 0x200, 0x080)
+ Field(r004, ByteAcc, NoLock, Preserve) {f006,32}
+ BankField(r004, f006, 0, ByteAcc, NoLock, Preserve) {bnk1,32}
+
+ Store(15, cmd0)
+ Store(0xabcd0c07, bnk0)
+ Store(bnk0, bnk1)
+
+
+
+
+ /*
+ * Modification 0:
+ */
+
+ mI01(bnk1)
+ mI02(bnk1, bnk1)
+ mI03(bnk1, bnk1, bnk1)
+ mI04(bnk1, bnk1, bnk1, bnk1)
+
+ // if (chk0) {
+
+ mI05(bnk1, bnk1, bnk1, bnk1, bnk1)
+ mI06(bnk1, bnk1, bnk1, bnk1, bnk1, bnk1)
+ mI07(bnk1, bnk1, bnk1, bnk1, bnk1, bnk1, bnk1)
+
+ mI01(
+ mI01(bnk1))
+
+ mI02(
+ mI01(bnk1),
+ mI02(bnk1, bnk1))
+
+ mI03(
+ mI01(bnk1),
+ mI02(bnk1, bnk1),
+ mI03(bnk1, bnk1, bnk1))
+
+ mI04(
+ mI01(bnk1),
+ mI02(bnk1, bnk1),
+ mI03(bnk1, bnk1, bnk1),
+ mI04(bnk1, bnk1, bnk1, bnk1))
+
+ if (y262) {
+
+ mI05(
+ mI01(bnk1),
+ mI02(bnk1, bnk1),
+ mI03(bnk1, bnk1, bnk1),
+ mI04(bnk1, bnk1, bnk1, bnk1),
+ mI05(bnk1, bnk1, bnk1, bnk1, bnk1))
+
+ mI06(
+ mI01(bnk1),
+ mI02(bnk1, bnk1),
+ mI03(bnk1, bnk1, bnk1),
+ mI04(bnk1, bnk1, bnk1, bnk1),
+ mI05(bnk1, bnk1, bnk1, bnk1, bnk1),
+ mI06(bnk1, bnk1, bnk1, bnk1, bnk1, bnk1))
+ mI07(
+ mI01(bnk1),
+ mI02(bnk1, bnk1),
+ mI03(bnk1, bnk1, bnk1),
+ mI04(bnk1, bnk1, bnk1, bnk1),
+ mI05(bnk1, bnk1, bnk1, bnk1, bnk1),
+ mI06(bnk1, bnk1, bnk1, bnk1, bnk1, bnk1),
+ mI07(bnk1, bnk1, bnk1, bnk1, bnk1, bnk1, bnk1))
+ } else {
+ OUTP("WARNING: some tests of ns_in40.asl are blocked!")
+ }
+
+ // } // if (chk0)
+
+
+
+
+ /*
+ * Modification 1:
+ *
+ * Some params are intermediately stored to Locals
+ */
+
+ Store(bnk1, Local1)
+ Store(bnk1, Local3)
+ Store(bnk1, Local5)
+
+ mI01(bnk1)
+ mI02(bnk1, Local1)
+ mI03(bnk1, Local1, bnk1)
+
+ // if (chk0) {
+
+ mI04(bnk1, Local1, bnk1, Local3)
+ mI05(bnk1, Local1, bnk1, Local3, bnk1)
+ mI06(bnk1, Local1, bnk1, Local3, bnk1, Local5)
+ mI07(bnk1, Local1, bnk1, Local3, bnk1, Local5, bnk1)
+
+ mI01(
+ mI01(bnk1))
+
+ mI02(
+ mI01(bnk1),
+ mI02(bnk1, Local1))
+
+ mI03(
+ mI01(bnk1),
+ mI02(bnk1, Local1),
+ mI03(bnk1, Local1, bnk1))
+
+ mI04(
+ mI01(bnk1),
+ mI02(bnk1, Local1),
+ mI03(bnk1, Local1, bnk1),
+ mI04(bnk1, Local1, bnk1, Local3))
+
+ if (y262) {
+
+ mI05(
+ mI01(bnk1),
+ mI02(bnk1, Local1),
+ mI03(bnk1, Local1, bnk1),
+ mI04(bnk1, Local1, bnk1, Local3),
+ mI05(bnk1, Local1, bnk1, Local3, bnk1))
+
+ mI06(
+ mI01(bnk1),
+ mI02(bnk1, Local1),
+ mI03(bnk1, Local1, bnk1),
+ mI04(bnk1, Local1, bnk1, Local3),
+ mI05(bnk1, Local1, bnk1, Local3, bnk1),
+ mI06(bnk1, Local1, bnk1, Local3, bnk1, Local5))
+ mI07(
+ mI01(bnk1),
+ mI02(bnk1, Local1),
+ mI03(bnk1, Local1, bnk1),
+ mI04(bnk1, Local1, bnk1, Local3),
+ mI05(bnk1, Local1, bnk1, Local3, bnk1),
+ mI06(bnk1, Local1, bnk1, Local3, bnk1, Local5),
+ mI07(bnk1, Local1, bnk1, Local3, bnk1, Local5, bnk1))
+ } else {
+ OUTP("WARNING: some tests of ns_in40.asl are blocked!")
+ }
+
+ // } // if (chk0) {
+
+
+
+
+ /*
+ * Modification 2:
+ *
+ * Some params are intermediately stored to Args (effectively local)
+ */
+
+ Store(bnk1, Arg1)
+ Store(bnk1, Arg3)
+ Store(bnk1, Arg5)
+
+ mI01(bnk1)
+ mI02(bnk1, Arg1)
+ mI03(bnk1, Arg1, bnk1)
+ mI04(bnk1, Arg1, bnk1, Arg3)
+
+ // if (chk0) {
+
+ mI05(bnk1, Arg1, bnk1, Arg3, bnk1)
+ mI06(bnk1, Arg1, bnk1, Arg3, bnk1, Arg5)
+ mI07(bnk1, Arg1, bnk1, Arg3, bnk1, Arg5, bnk1)
+
+ mI01(
+ mI01(bnk1))
+
+ mI02(
+ mI01(bnk1),
+ mI02(bnk1, Arg1))
+
+ mI03(
+ mI01(bnk1),
+ mI02(bnk1, Arg1),
+ mI03(bnk1, Arg1, bnk1))
+
+ mI04(
+ mI01(bnk1),
+ mI02(bnk1, Arg1),
+ mI03(bnk1, Arg1, bnk1),
+ mI04(bnk1, Arg1, bnk1, Arg3))
+
+ if (y262) {
+
+ mI05(
+ mI01(bnk1),
+ mI02(bnk1, Arg1),
+ mI03(bnk1, Arg1, bnk1),
+ mI04(bnk1, Arg1, bnk1, Arg3),
+ mI05(bnk1, Arg1, bnk1, Arg3, bnk1))
+
+ mI06(
+ mI01(bnk1),
+ mI02(bnk1, Arg1),
+ mI03(bnk1, Arg1, bnk1),
+ mI04(bnk1, Arg1, bnk1, Arg3),
+ mI05(bnk1, Arg1, bnk1, Arg3, bnk1),
+ mI06(bnk1, Arg1, bnk1, Arg3, bnk1, Arg5))
+ mI07(
+ mI01(bnk1),
+ mI02(bnk1, Arg1),
+ mI03(bnk1, Arg1, bnk1),
+ mI04(bnk1, Arg1, bnk1, Arg3),
+ mI05(bnk1, Arg1, bnk1, Arg3, bnk1),
+ mI06(bnk1, Arg1, bnk1, Arg3, bnk1, Arg5),
+ mI07(bnk1, Arg1, bnk1, Arg3, bnk1, Arg5, bnk1))
+ } else {
+ OUTP("WARNING: some tests of ns_in40.asl are blocked!")
+ }
+
+ // } // if (chk0) {
+
+
+
+
+ /*
+ * Modification 3:
+ *
+ * Some params are intermediately stored to Named
+ */
+
+ Store(bnk1, ff01)
+ Store(bnk1, ff03)
+ Store(bnk1, ff05)
+
+ mI01(bnk1)
+ mI02(bnk1, ff01)
+ mI03(bnk1, ff01, bnk1)
+ mI04(bnk1, ff01, bnk1, ff03)
+
+ // if (chk0) {
+
+ mI05(bnk1, ff01, bnk1, ff03, bnk1)
+ mI06(bnk1, ff01, bnk1, ff03, bnk1, ff05)
+ mI07(bnk1, ff01, bnk1, ff03, bnk1, ff05, bnk1)
+
+ mI01(
+ mI01(bnk1))
+
+ mI02(
+ mI01(bnk1),
+ mI02(bnk1, ff01))
+
+ mI03(
+ mI01(bnk1),
+ mI02(bnk1, ff01),
+ mI03(bnk1, ff01, bnk1))
+
+ mI04(
+ mI01(bnk1),
+ mI02(bnk1, ff01),
+ mI03(bnk1, ff01, bnk1),
+ mI04(bnk1, ff01, bnk1, ff03))
+
+ if (y262) {
+
+ mI05(
+ mI01(bnk1),
+ mI02(bnk1, ff01),
+ mI03(bnk1, ff01, bnk1),
+ mI04(bnk1, ff01, bnk1, ff03),
+ mI05(bnk1, ff01, bnk1, ff03, bnk1))
+
+ mI06(
+ mI01(bnk1),
+ mI02(bnk1, ff01),
+ mI03(bnk1, ff01, bnk1),
+ mI04(bnk1, ff01, bnk1, ff03),
+ mI05(bnk1, ff01, bnk1, ff03, bnk1),
+ mI06(bnk1, ff01, bnk1, ff03, bnk1, ff05))
+ mI07(
+ mI01(bnk1),
+ mI02(bnk1, ff01),
+ mI03(bnk1, ff01, bnk1),
+ mI04(bnk1, ff01, bnk1, ff03),
+ mI05(bnk1, ff01, bnk1, ff03, bnk1),
+ mI06(bnk1, ff01, bnk1, ff03, bnk1, ff05),
+ mI07(bnk1, ff01, bnk1, ff03, bnk1, ff05, bnk1))
+ } else {
+ OUTP("WARNING: some tests of ns_in40.asl are blocked!")
+ }
+
+ // } // if (chk0) {
+
+
+
+
+ /*
+ * Buffer Field
+ */
+ Name(b002, Buffer() {0xa0,0xa1,0xa2,0xa3,0xa4})
+ CreateField(b002, 0, 32, bf01)
+
+ Store(16, cmd0)
+ Store(0xabcd0d08, bf00)
+ Store(bf00, bf01)
+
+
+
+
+ /*
+ * Modification 0:
+ */
+
+ mI01(bf01)
+ mI02(bf01, bf01)
+ mI03(bf01, bf01, bf01)
+ mI04(bf01, bf01, bf01, bf01)
+ mI05(bf01, bf01, bf01, bf01, bf01)
+ mI06(bf01, bf01, bf01, bf01, bf01, bf01)
+ mI07(bf01, bf01, bf01, bf01, bf01, bf01, bf01)
+
+ mI01(
+ mI01(bf01))
+
+ mI02(
+ mI01(bf01),
+ mI02(bf01, bf01))
+
+ mI03(
+ mI01(bf01),
+ mI02(bf01, bf01),
+ mI03(bf01, bf01, bf01))
+
+ mI04(
+ mI01(bf01),
+ mI02(bf01, bf01),
+ mI03(bf01, bf01, bf01),
+ mI04(bf01, bf01, bf01, bf01))
+
+ if (y262) {
+
+ mI05(
+ mI01(bf01),
+ mI02(bf01, bf01),
+ mI03(bf01, bf01, bf01),
+ mI04(bf01, bf01, bf01, bf01),
+ mI05(bf01, bf01, bf01, bf01, bf01))
+
+ mI06(
+ mI01(bf01),
+ mI02(bf01, bf01),
+ mI03(bf01, bf01, bf01),
+ mI04(bf01, bf01, bf01, bf01),
+ mI05(bf01, bf01, bf01, bf01, bf01),
+ mI06(bf01, bf01, bf01, bf01, bf01, bf01))
+ mI07(
+ mI01(bf01),
+ mI02(bf01, bf01),
+ mI03(bf01, bf01, bf01),
+ mI04(bf01, bf01, bf01, bf01),
+ mI05(bf01, bf01, bf01, bf01, bf01),
+ mI06(bf01, bf01, bf01, bf01, bf01, bf01),
+ mI07(bf01, bf01, bf01, bf01, bf01, bf01, bf01))
+ } else {
+ OUTP("WARNING: some tests of ns_in40.asl are blocked!")
+ }
+
+
+
+
+ /*
+ * Modification 1:
+ *
+ * Some params are intermediately stored to Locals
+ */
+
+ Store(bf01, Local1)
+ Store(bf01, Local3)
+ Store(bf01, Local5)
+
+ mI01(bf01)
+
+ // if (chk0) {
+
+ mI02(bf01, Local1)
+ mI03(bf01, Local1, bf01)
+ mI04(bf01, Local1, bf01, Local3)
+ mI05(bf01, Local1, bf01, Local3, bf01)
+ mI06(bf01, Local1, bf01, Local3, bf01, Local5)
+ mI07(bf01, Local1, bf01, Local3, bf01, Local5, bf01)
+
+ mI01(
+ mI01(bf01))
+
+ mI02(
+ mI01(bf01),
+ mI02(bf01, Local1))
+
+ mI03(
+ mI01(bf01),
+ mI02(bf01, Local1),
+ mI03(bf01, Local1, bf01))
+
+ mI04(
+ mI01(bf01),
+ mI02(bf01, Local1),
+ mI03(bf01, Local1, bf01),
+ mI04(bf01, Local1, bf01, Local3))
+
+ if (y262) {
+
+ mI05(
+ mI01(bf01),
+ mI02(bf01, Local1),
+ mI03(bf01, Local1, bf01),
+ mI04(bf01, Local1, bf01, Local3),
+ mI05(bf01, Local1, bf01, Local3, bf01))
+
+ mI06(
+ mI01(bf01),
+ mI02(bf01, Local1),
+ mI03(bf01, Local1, bf01),
+ mI04(bf01, Local1, bf01, Local3),
+ mI05(bf01, Local1, bf01, Local3, bf01),
+ mI06(bf01, Local1, bf01, Local3, bf01, Local5))
+ mI07(
+ mI01(bf01),
+ mI02(bf01, Local1),
+ mI03(bf01, Local1, bf01),
+ mI04(bf01, Local1, bf01, Local3),
+ mI05(bf01, Local1, bf01, Local3, bf01),
+ mI06(bf01, Local1, bf01, Local3, bf01, Local5),
+ mI07(bf01, Local1, bf01, Local3, bf01, Local5, bf01))
+ } else {
+ OUTP("WARNING: some tests of ns_in40.asl are blocked!")
+ }
+
+ // } // if (chk0) {
+
+
+
+
+ /*
+ * Modification 2:
+ *
+ * Some params are intermediately stored to Args (effectively local)
+ */
+
+ Store(bf01, Arg1)
+ Store(bf01, Arg3)
+ Store(bf01, Arg5)
+
+ mI01(bf01)
+
+ // if (chk0) {
+
+ mI02(bf01, Arg1)
+ mI03(bf01, Arg1, bf01)
+ mI04(bf01, Arg1, bf01, Arg3)
+ mI05(bf01, Arg1, bf01, Arg3, bf01)
+ mI06(bf01, Arg1, bf01, Arg3, bf01, Arg5)
+ mI07(bf01, Arg1, bf01, Arg3, bf01, Arg5, bf01)
+
+ mI01(
+ mI01(bf01))
+
+ mI02(
+ mI01(bf01),
+ mI02(bf01, Arg1))
+
+ mI03(
+ mI01(bf01),
+ mI02(bf01, Arg1),
+ mI03(bf01, Arg1, bf01))
+
+ mI04(
+ mI01(bf01),
+ mI02(bf01, Arg1),
+ mI03(bf01, Arg1, bf01),
+ mI04(bf01, Arg1, bf01, Arg3))
+
+ if (y262) {
+
+ mI05(
+ mI01(bf01),
+ mI02(bf01, Arg1),
+ mI03(bf01, Arg1, bf01),
+ mI04(bf01, Arg1, bf01, Arg3),
+ mI05(bf01, Arg1, bf01, Arg3, bf01))
+
+ mI06(
+ mI01(bf01),
+ mI02(bf01, Arg1),
+ mI03(bf01, Arg1, bf01),
+ mI04(bf01, Arg1, bf01, Arg3),
+ mI05(bf01, Arg1, bf01, Arg3, bf01),
+ mI06(bf01, Arg1, bf01, Arg3, bf01, Arg5))
+ mI07(
+ mI01(bf01),
+ mI02(bf01, Arg1),
+ mI03(bf01, Arg1, bf01),
+ mI04(bf01, Arg1, bf01, Arg3),
+ mI05(bf01, Arg1, bf01, Arg3, bf01),
+ mI06(bf01, Arg1, bf01, Arg3, bf01, Arg5),
+ mI07(bf01, Arg1, bf01, Arg3, bf01, Arg5, bf01))
+ } else {
+ OUTP("WARNING: some tests of ns_in40.asl are blocked!")
+ }
+
+ // } // if (chk0) {
+
+
+
+
+ /*
+ * Modification 3:
+ *
+ * Some params are intermediately stored to Named
+ */
+
+ Name(ii06, 0)
+ Name(ii07, 0)
+ Name(ii08, 0)
+
+ Store(bf01, ii06)
+ Store(bf01, ii07)
+ Store(bf01, ii08)
+
+ mI01(bf01)
+ mI02(bf01, ii06)
+ mI03(bf01, ii06, bf01)
+ mI04(bf01, ii06, bf01, ii07)
+ mI05(bf01, ii06, bf01, ii07, bf01)
+ mI06(bf01, ii06, bf01, ii07, bf01, ii08)
+ mI07(bf01, ii06, bf01, ii07, bf01, ii08, bf01)
+
+ mI01(
+ mI01(bf01))
+
+ mI02(
+ mI01(bf01),
+ mI02(bf01, ii06))
+
+ mI03(
+ mI01(bf01),
+ mI02(bf01, ii06),
+ mI03(bf01, ii06, bf01))
+
+ mI04(
+ mI01(bf01),
+ mI02(bf01, ii06),
+ mI03(bf01, ii06, bf01),
+ mI04(bf01, ii06, bf01, ii07))
+
+
+ if (y262) {
+
+ mI05(
+ mI01(bf01),
+ mI02(bf01, ii06),
+ mI03(bf01, ii06, bf01),
+ mI04(bf01, ii06, bf01, ii07),
+ mI05(bf01, ii06, bf01, ii07, bf01))
+
+ mI06(
+ mI01(bf01),
+ mI02(bf01, ii06),
+ mI03(bf01, ii06, bf01),
+ mI04(bf01, ii06, bf01, ii07),
+ mI05(bf01, ii06, bf01, ii07, bf01),
+ mI06(bf01, ii06, bf01, ii07, bf01, ii08))
+ mI07(
+ mI01(bf01),
+ mI02(bf01, ii06),
+ mI03(bf01, ii06, bf01),
+ mI04(bf01, ii06, bf01, ii07),
+ mI05(bf01, ii06, bf01, ii07, bf01),
+ mI06(bf01, ii06, bf01, ii07, bf01, ii08),
+ mI07(bf01, ii06, bf01, ii07, bf01, ii08, bf01))
+ } else {
+ OUTP("WARNING: some tests of ns_in40.asl are blocked!")
+ }
+
+
+
+
+ /*
+ * Device
+ */
+ Store(7, cmd0)
+
+
+
+
+ /*
+ * Modification 0:
+ */
+
+ mI01(d000)
+ mI02(d000, d000)
+ mI03(d000, d000, d000)
+ mI04(d000, d000, d000, d000)
+
+ // if (chk0) {
+
+ mI05(d000, d000, d000, d000, d000)
+ mI06(d000, d000, d000, d000, d000, d000)
+ mI07(d000, d000, d000, d000, d000, d000, d000)
+
+ mI01(
+ mI01(d000))
+
+ mI02(
+ mI01(d000),
+ mI02(d000, d000))
+
+ mI03(
+ mI01(d000),
+ mI02(d000, d000),
+ mI03(d000, d000, d000))
+
+ mI04(
+ mI01(d000),
+ mI02(d000, d000),
+ mI03(d000, d000, d000),
+ mI04(d000, d000, d000, d000))
+
+ if (y262) {
+
+ mI05(
+ mI01(d000),
+ mI02(d000, d000),
+ mI03(d000, d000, d000),
+ mI04(d000, d000, d000, d000),
+ mI05(d000, d000, d000, d000, d000))
+
+ mI06(
+ mI01(d000),
+ mI02(d000, d000),
+ mI03(d000, d000, d000),
+ mI04(d000, d000, d000, d000),
+ mI05(d000, d000, d000, d000, d000),
+ mI06(d000, d000, d000, d000, d000, d000))
+ mI07(
+ mI01(d000),
+ mI02(d000, d000),
+ mI03(d000, d000, d000),
+ mI04(d000, d000, d000, d000),
+ mI05(d000, d000, d000, d000, d000),
+ mI06(d000, d000, d000, d000, d000, d000),
+ mI07(d000, d000, d000, d000, d000, d000, d000))
+ } else {
+ OUTP("WARNING: some tests of ns_in40.asl are blocked!")
+ }
+
+ // } // if (chk0)
+
+
+
+
+ if (SLC0) {
+
+ /*
+ * Modification 1:
+ *
+ * Some params are intermediately stored to Locals
+ */
+
+ Store(d000, Local1)
+ Store(d000, Local3)
+ Store(d000, Local5)
+
+ mI01(d000)
+ mI02(d000, Local1)
+ mI03(d000, Local1, d000)
+ mI04(d000, Local1, d000, Local3)
+ mI05(d000, Local1, d000, Local3, d000)
+ mI06(d000, Local1, d000, Local3, d000, Local5)
+ mI07(d000, Local1, d000, Local3, d000, Local5, d000)
+
+ mI01(
+ mI01(d000))
+
+ mI02(
+ mI01(d000),
+ mI02(d000, Local1))
+
+ mI03(
+ mI01(d000),
+ mI02(d000, Local1),
+ mI03(d000, Local1, d000))
+
+ mI04(
+ mI01(d000),
+ mI02(d000, Local1),
+ mI03(d000, Local1, d000),
+ mI04(d000, Local1, d000, Local3))
+
+ if (y262) {
+
+ mI05(
+ mI01(d000),
+ mI02(d000, Local1),
+ mI03(d000, Local1, d000),
+ mI04(d000, Local1, d000, Local3),
+ mI05(d000, Local1, d000, Local3, d000))
+
+ mI06(
+ mI01(d000),
+ mI02(d000, Local1),
+ mI03(d000, Local1, d000),
+ mI04(d000, Local1, d000, Local3),
+ mI05(d000, Local1, d000, Local3, d000),
+ mI06(d000, Local1, d000, Local3, d000, Local5))
+ mI07(
+ mI01(d000),
+ mI02(d000, Local1),
+ mI03(d000, Local1, d000),
+ mI04(d000, Local1, d000, Local3),
+ mI05(d000, Local1, d000, Local3, d000),
+ mI06(d000, Local1, d000, Local3, d000, Local5),
+ mI07(d000, Local1, d000, Local3, d000, Local5, d000))
+ } else {
+ OUTP("WARNING: some tests of ns_in40.asl are blocked!")
+ }
+
+
+
+
+ /*
+ * Modification 2:
+ *
+ * Some params are intermediately stored to Args (efectively local)
+ */
+
+ Store(d000, Arg1)
+ Store(d000, Arg3)
+ Store(d000, Arg5)
+
+ mI01(d000)
+ mI02(d000, Arg1)
+ mI03(d000, Arg1, d000)
+ mI04(d000, Arg1, d000, Arg3)
+
+ // if (chk0) {
+
+ mI05(d000, Arg1, d000, Arg3, d000)
+ mI06(d000, Arg1, d000, Arg3, d000, Arg5)
+ mI07(d000, Arg1, d000, Arg3, d000, Arg5, d000)
+
+ mI01(
+ mI01(d000))
+
+ mI02(
+ mI01(d000),
+ mI02(d000, Arg1))
+
+ mI03(
+ mI01(d000),
+ mI02(d000, Arg1),
+ mI03(d000, Arg1, d000))
+
+ mI04(
+ mI01(d000),
+ mI02(d000, Arg1),
+ mI03(d000, Arg1, d000),
+ mI04(d000, Arg1, d000, Arg3))
+
+ if (y262) {
+
+ mI05(
+ mI01(d000),
+ mI02(d000, Arg1),
+ mI03(d000, Arg1, d000),
+ mI04(d000, Arg1, d000, Arg3),
+ mI05(d000, Arg1, d000, Arg3, d000))
+
+ mI06(
+ mI01(d000),
+ mI02(d000, Arg1),
+ mI03(d000, Arg1, d000),
+ mI04(d000, Arg1, d000, Arg3),
+ mI05(d000, Arg1, d000, Arg3, d000),
+ mI06(d000, Arg1, d000, Arg3, d000, Arg5))
+ mI07(
+ mI01(d000),
+ mI02(d000, Arg1),
+ mI03(d000, Arg1, d000),
+ mI04(d000, Arg1, d000, Arg3),
+ mI05(d000, Arg1, d000, Arg3, d000),
+ mI06(d000, Arg1, d000, Arg3, d000, Arg5),
+ mI07(d000, Arg1, d000, Arg3, d000, Arg5, d000))
+ } else {
+ OUTP("WARNING: some tests of ns_in40.asl are blocked!")
+ }
+
+ // } // if (chk0) {
+
+ } // if (SLC0)
+
+
+
+
+ /*
+ * Event
+ */
+ Store(8, cmd0)
+
+
+
+
+ /*
+ * Modification 0:
+ */
+
+ mI01(e000)
+
+ // if (chk0) {
+
+ mI02(e000, e000)
+ mI03(e000, e000, e000)
+ mI04(e000, e000, e000, e000)
+ mI05(e000, e000, e000, e000, e000)
+ mI06(e000, e000, e000, e000, e000, e000)
+ mI07(e000, e000, e000, e000, e000, e000, e000)
+
+ mI01(
+ mI01(e000))
+
+ mI02(
+ mI01(e000),
+ mI02(e000, e000))
+
+ mI03(
+ mI01(e000),
+ mI02(e000, e000),
+ mI03(e000, e000, e000))
+
+ mI04(
+ mI01(e000),
+ mI02(e000, e000),
+ mI03(e000, e000, e000),
+ mI04(e000, e000, e000, e000))
+
+ if (y262) {
+
+ mI05(
+ mI01(e000),
+ mI02(e000, e000),
+ mI03(e000, e000, e000),
+ mI04(e000, e000, e000, e000),
+ mI05(e000, e000, e000, e000, e000))
+
+ mI06(
+ mI01(e000),
+ mI02(e000, e000),
+ mI03(e000, e000, e000),
+ mI04(e000, e000, e000, e000),
+ mI05(e000, e000, e000, e000, e000),
+ mI06(e000, e000, e000, e000, e000, e000))
+ mI07(
+ mI01(e000),
+ mI02(e000, e000),
+ mI03(e000, e000, e000),
+ mI04(e000, e000, e000, e000),
+ mI05(e000, e000, e000, e000, e000),
+ mI06(e000, e000, e000, e000, e000, e000),
+ mI07(e000, e000, e000, e000, e000, e000, e000))
+ } else {
+ OUTP("WARNING: some tests of ns_in40.asl are blocked!")
+ }
+
+ // } // if (chk0) {
+
+
+
+
+ if (SLC0) {
+
+ /*
+ * Modification 1:
+ *
+ * Some params are intermediately stored to Locals
+ *
+ * Note:
+ * in the checking above the locals (Local1, Local3, Local5)
+ * were assigned with the object of type Device. MS rejects
+ * those locals to be rewritten after that assigning.
+ * So, here I use Local0,Local2,Local4.
+ */
+
+ Store(e000, Local0)
+ Store(e000, Local2)
+ Store(e000, Local4)
+
+ mI01(e000)
+ mI02(e000, Local0)
+ mI03(e000, Local0, e000)
+ mI04(e000, Local0, e000, Local2)
+ mI05(e000, Local0, e000, Local2, e000)
+ mI06(e000, Local0, e000, Local2, e000, Local4)
+ mI07(e000, Local0, e000, Local2, e000, Local4, e000)
+
+ mI01(
+ mI01(e000))
+
+ mI02(
+ mI01(e000),
+ mI02(e000, Local0))
+
+ mI03(
+ mI01(e000),
+ mI02(e000, Local0),
+ mI03(e000, Local0, e000))
+
+ mI04(
+ mI01(e000),
+ mI02(e000, Local0),
+ mI03(e000, Local0, e000),
+ mI04(e000, Local0, e000, Local2))
+
+ if (y262) {
+
+ mI05(
+ mI01(e000),
+ mI02(e000, Local0),
+ mI03(e000, Local0, e000),
+ mI04(e000, Local0, e000, Local2),
+ mI05(e000, Local0, e000, Local2, e000))
+
+ mI06(
+ mI01(e000),
+ mI02(e000, Local0),
+ mI03(e000, Local0, e000),
+ mI04(e000, Local0, e000, Local2),
+ mI05(e000, Local0, e000, Local2, e000),
+ mI06(e000, Local0, e000, Local2, e000, Local4))
+ mI07(
+ mI01(e000),
+ mI02(e000, Local0),
+ mI03(e000, Local0, e000),
+ mI04(e000, Local0, e000, Local2),
+ mI05(e000, Local0, e000, Local2, e000),
+ mI06(e000, Local0, e000, Local2, e000, Local4),
+ mI07(e000, Local0, e000, Local2, e000, Local4, e000))
+ } else {
+ OUTP("WARNING: some tests of ns_in40.asl are blocked!")
+ }
+
+
+
+
+ /*
+ * Modification 2:
+ *
+ * Some params are intermediately stored to Args (efectively local)
+ *
+ * Note:
+ * in the checking above the locals (Local1, Local3, Local5)
+ * were assigned with the object of type Device. MS rejects
+ * those locals to be rewritten after that assigning.
+ * So, here I use Arg0,Arg2,Arg4.
+ */
+
+ Store(e000, Arg0)
+ Store(e000, Arg2)
+ Store(e000, Arg4)
+
+ mI01(e000)
+ mI02(e000, Arg0)
+ mI03(e000, Arg0, e000)
+ mI04(e000, Arg0, e000, Arg2)
+ mI05(e000, Arg0, e000, Arg2, e000)
+ mI06(e000, Arg0, e000, Arg2, e000, Arg4)
+ mI07(e000, Arg0, e000, Arg2, e000, Arg4, e000)
+
+ mI01(
+ mI01(e000))
+
+ mI02(
+ mI01(e000),
+ mI02(e000, Arg0))
+
+ mI03(
+ mI01(e000),
+ mI02(e000, Arg0),
+ mI03(e000, Arg0, e000))
+
+ mI04(
+ mI01(e000),
+ mI02(e000, Arg0),
+ mI03(e000, Arg0, e000),
+ mI04(e000, Arg0, e000, Arg2))
+
+ if (y262) {
+
+ mI05(
+ mI01(e000),
+ mI02(e000, Arg0),
+ mI03(e000, Arg0, e000),
+ mI04(e000, Arg0, e000, Arg2),
+ mI05(e000, Arg0, e000, Arg2, e000))
+
+ mI06(
+ mI01(e000),
+ mI02(e000, Arg0),
+ mI03(e000, Arg0, e000),
+ mI04(e000, Arg0, e000, Arg2),
+ mI05(e000, Arg0, e000, Arg2, e000),
+ mI06(e000, Arg0, e000, Arg2, e000, Arg4))
+ mI07(
+ mI01(e000),
+ mI02(e000, Arg0),
+ mI03(e000, Arg0, e000),
+ mI04(e000, Arg0, e000, Arg2),
+ mI05(e000, Arg0, e000, Arg2, e000),
+ mI06(e000, Arg0, e000, Arg2, e000, Arg4),
+ mI07(e000, Arg0, e000, Arg2, e000, Arg4, e000))
+ } else {
+ OUTP("WARNING: some tests of ns_in40.asl are blocked!")
+ }
+
+ } // if (SLC0)
+
+
+
+
+ /*
+ * Method
+ */
+
+
+
+
+ /*
+ * Mutex
+ */
+ Store(9, cmd0)
+
+
+
+
+ /*
+ * Modification 0:
+ */
+
+ mI01(mx00)
+
+ // if (chk0) {
+
+ mI02(mx00, mx00)
+ mI03(mx00, mx00, mx00)
+ mI04(mx00, mx00, mx00, mx00)
+ mI05(mx00, mx00, mx00, mx00, mx00)
+ mI06(mx00, mx00, mx00, mx00, mx00, mx00)
+ mI07(mx00, mx00, mx00, mx00, mx00, mx00, mx00)
+
+ mI01(
+ mI01(mx00))
+
+ mI02(
+ mI01(mx00),
+ mI02(mx00, mx00))
+
+ mI03(
+ mI01(mx00),
+ mI02(mx00, mx00),
+ mI03(mx00, mx00, mx00))
+
+ mI04(
+ mI01(mx00),
+ mI02(mx00, mx00),
+ mI03(mx00, mx00, mx00),
+ mI04(mx00, mx00, mx00, mx00))
+
+ if (y262) {
+
+ mI05(
+ mI01(mx00),
+ mI02(mx00, mx00),
+ mI03(mx00, mx00, mx00),
+ mI04(mx00, mx00, mx00, mx00),
+ mI05(mx00, mx00, mx00, mx00, mx00))
+
+ mI06(
+ mI01(mx00),
+ mI02(mx00, mx00),
+ mI03(mx00, mx00, mx00),
+ mI04(mx00, mx00, mx00, mx00),
+ mI05(mx00, mx00, mx00, mx00, mx00),
+ mI06(mx00, mx00, mx00, mx00, mx00, mx00))
+ mI07(
+ mI01(mx00),
+ mI02(mx00, mx00),
+ mI03(mx00, mx00, mx00),
+ mI04(mx00, mx00, mx00, mx00),
+ mI05(mx00, mx00, mx00, mx00, mx00),
+ mI06(mx00, mx00, mx00, mx00, mx00, mx00),
+ mI07(mx00, mx00, mx00, mx00, mx00, mx00, mx00))
+ } else {
+ OUTP("WARNING: some tests of ns_in40.asl are blocked!")
+ }
+
+ // } // if (chk0) {
+
+
+
+
+ if (SLCK) {
+
+ /*
+ * Modification 1:
+ *
+ * Some params are intermediately stored to Locals
+ *
+ * Note:
+ * in the checkings above the locals (Local0-Local5)
+ * were assigned with the object of type Device/Event.
+ * MS rejects those locals to be rewritten after that assigning.
+ * So, I have no more Locals for checking (SLCK here - because of that).
+ */
+
+ Store(mx00, Local1)
+ Store(mx00, Local3)
+ Store(mx00, Local5)
+
+ mI01(mx00)
+ mI02(mx00, Local1)
+ mI03(mx00, Local1, mx00)
+ mI04(mx00, Local1, mx00, Local3)
+ mI05(mx00, Local1, mx00, Local3, mx00)
+ mI06(mx00, Local1, mx00, Local3, mx00, Local5)
+ mI07(mx00, Local1, mx00, Local3, mx00, Local5, mx00)
+
+ mI01(
+ mI01(mx00))
+
+ mI02(
+ mI01(mx00),
+ mI02(mx00, Local1))
+
+ mI03(
+ mI01(mx00),
+ mI02(mx00, Local1),
+ mI03(mx00, Local1, mx00))
+
+ mI04(
+ mI01(mx00),
+ mI02(mx00, Local1),
+ mI03(mx00, Local1, mx00),
+ mI04(mx00, Local1, mx00, Local3))
+
+ if (y262) {
+
+ mI05(
+ mI01(mx00),
+ mI02(mx00, Local1),
+ mI03(mx00, Local1, mx00),
+ mI04(mx00, Local1, mx00, Local3),
+ mI05(mx00, Local1, mx00, Local3, mx00))
+
+ mI06(
+ mI01(mx00),
+ mI02(mx00, Local1),
+ mI03(mx00, Local1, mx00),
+ mI04(mx00, Local1, mx00, Local3),
+ mI05(mx00, Local1, mx00, Local3, mx00),
+ mI06(mx00, Local1, mx00, Local3, mx00, Local5))
+ mI07(
+ mI01(mx00),
+ mI02(mx00, Local1),
+ mI03(mx00, Local1, mx00),
+ mI04(mx00, Local1, mx00, Local3),
+ mI05(mx00, Local1, mx00, Local3, mx00),
+ mI06(mx00, Local1, mx00, Local3, mx00, Local5),
+ mI07(mx00, Local1, mx00, Local3, mx00, Local5, mx00))
+ } else {
+ OUTP("WARNING: some tests of ns_in40.asl are blocked!")
+ }
+
+
+
+
+ /*
+ * Modification 2:
+ *
+ * Some params are intermediately stored to Args (efectively local)
+ *
+ * Note:
+ * in the checkings above the locals (Arg0-Arg5)
+ * were assigned with the object of type Device/Event.
+ * MS rejects those locals to be rewritten after that assigning.
+ * So, I have no more Args for checking (SLCK here - because of that).
+ */
+
+ Store(mx00, Arg1)
+ Store(mx00, Arg3)
+ Store(mx00, Arg5)
+
+ mI01(mx00)
+ mI02(mx00, Arg1)
+ mI03(mx00, Arg1, mx00)
+ mI04(mx00, Arg1, mx00, Arg3)
+ mI05(mx00, Arg1, mx00, Arg3, mx00)
+ mI06(mx00, Arg1, mx00, Arg3, mx00, Arg5)
+ mI07(mx00, Arg1, mx00, Arg3, mx00, Arg5, mx00)
+
+ mI01(
+ mI01(mx00))
+
+ mI02(
+ mI01(mx00),
+ mI02(mx00, Arg1))
+
+ mI03(
+ mI01(mx00),
+ mI02(mx00, Arg1),
+ mI03(mx00, Arg1, mx00))
+
+ mI04(
+ mI01(mx00),
+ mI02(mx00, Arg1),
+ mI03(mx00, Arg1, mx00),
+ mI04(mx00, Arg1, mx00, Arg3))
+
+ if (y262) {
+
+ mI05(
+ mI01(mx00),
+ mI02(mx00, Arg1),
+ mI03(mx00, Arg1, mx00),
+ mI04(mx00, Arg1, mx00, Arg3),
+ mI05(mx00, Arg1, mx00, Arg3, mx00))
+
+ mI06(
+ mI01(mx00),
+ mI02(mx00, Arg1),
+ mI03(mx00, Arg1, mx00),
+ mI04(mx00, Arg1, mx00, Arg3),
+ mI05(mx00, Arg1, mx00, Arg3, mx00),
+ mI06(mx00, Arg1, mx00, Arg3, mx00, Arg5))
+ mI07(
+ mI01(mx00),
+ mI02(mx00, Arg1),
+ mI03(mx00, Arg1, mx00),
+ mI04(mx00, Arg1, mx00, Arg3),
+ mI05(mx00, Arg1, mx00, Arg3, mx00),
+ mI06(mx00, Arg1, mx00, Arg3, mx00, Arg5),
+ mI07(mx00, Arg1, mx00, Arg3, mx00, Arg5, mx00))
+ } else {
+ OUTP("WARNING: some tests of ns_in40.asl are blocked!")
+ }
+
+ } // if (SLCK)
+
+
+
+
+ /*
+ * Operation Region
+ */
+ Store(10, cmd0)
+
+
+
+
+ /*
+ * Modification 0:
+ */
+
+ mI01(r000)
+
+ // if (chk0) {
+
+ mI02(r000, r000)
+ mI03(r000, r000, r000)
+ mI04(r000, r000, r000, r000)
+ mI05(r000, r000, r000, r000, r000)
+ mI06(r000, r000, r000, r000, r000, r000)
+ mI07(r000, r000, r000, r000, r000, r000, r000)
+
+ mI01(
+ mI01(r000))
+
+ mI02(
+ mI01(r000),
+ mI02(r000, r000))
+
+ mI03(
+ mI01(r000),
+ mI02(r000, r000),
+ mI03(r000, r000, r000))
+
+ mI04(
+ mI01(r000),
+ mI02(r000, r000),
+ mI03(r000, r000, r000),
+ mI04(r000, r000, r000, r000))
+
+ if (y262) {
+
+ mI05(
+ mI01(r000),
+ mI02(r000, r000),
+ mI03(r000, r000, r000),
+ mI04(r000, r000, r000, r000),
+ mI05(r000, r000, r000, r000, r000))
+
+ mI06(
+ mI01(r000),
+ mI02(r000, r000),
+ mI03(r000, r000, r000),
+ mI04(r000, r000, r000, r000),
+ mI05(r000, r000, r000, r000, r000),
+ mI06(r000, r000, r000, r000, r000, r000))
+ mI07(
+ mI01(r000),
+ mI02(r000, r000),
+ mI03(r000, r000, r000),
+ mI04(r000, r000, r000, r000),
+ mI05(r000, r000, r000, r000, r000),
+ mI06(r000, r000, r000, r000, r000, r000),
+ mI07(r000, r000, r000, r000, r000, r000, r000))
+ } else {
+ OUTP("WARNING: some tests of ns_in40.asl are blocked!")
+ }
+
+ // } // if (chk0) {
+
+
+
+
+ if (SLCK) {
+
+ /*
+ * Modification 1:
+ *
+ * Some params are intermediately stored to Locals
+ *
+ * Note:
+ * in the checkings above the locals (Local0-Local5)
+ * were assigned with the object of type Device/Event.
+ * MS rejects those locals to be rewritten after that assigning.
+ * So, I have no more Locals for checking (SLCK here - because of that).
+ */
+
+ Store(r000, Local1)
+ Store(r000, Local3)
+ Store(r000, Local5)
+
+ mI01(r000)
+ mI02(r000, Local1)
+ mI03(r000, Local1, r000)
+ mI04(r000, Local1, r000, Local3)
+ mI05(r000, Local1, r000, Local3, r000)
+ mI06(r000, Local1, r000, Local3, r000, Local5)
+ mI07(r000, Local1, r000, Local3, r000, Local5, r000)
+
+ mI01(
+ mI01(r000))
+
+ mI02(
+ mI01(r000),
+ mI02(r000, Local1))
+
+ mI03(
+ mI01(r000),
+ mI02(r000, Local1),
+ mI03(r000, Local1, r000))
+
+ mI04(
+ mI01(r000),
+ mI02(r000, Local1),
+ mI03(r000, Local1, r000),
+ mI04(r000, Local1, r000, Local3))
+
+ if (y262) {
+
+ mI05(
+ mI01(r000),
+ mI02(r000, Local1),
+ mI03(r000, Local1, r000),
+ mI04(r000, Local1, r000, Local3),
+ mI05(r000, Local1, r000, Local3, r000))
+
+ mI06(
+ mI01(r000),
+ mI02(r000, Local1),
+ mI03(r000, Local1, r000),
+ mI04(r000, Local1, r000, Local3),
+ mI05(r000, Local1, r000, Local3, r000),
+ mI06(r000, Local1, r000, Local3, r000, Local5))
+ mI07(
+ mI01(r000),
+ mI02(r000, Local1),
+ mI03(r000, Local1, r000),
+ mI04(r000, Local1, r000, Local3),
+ mI05(r000, Local1, r000, Local3, r000),
+ mI06(r000, Local1, r000, Local3, r000, Local5),
+ mI07(r000, Local1, r000, Local3, r000, Local5, r000))
+ } else {
+ OUTP("WARNING: some tests of ns_in40.asl are blocked!")
+ }
+
+
+
+
+ /*
+ * Modification 2:
+ *
+ * Some params are intermediately stored to Args (efectively local)
+ *
+ * Note:
+ * in the checkings above the locals (Arg0-Arg5)
+ * were assigned with the object of type Device/Event.
+ * MS rejects those locals to be rewritten after that assigning.
+ * So, I have no more Args for checking (SLCK here - because of that).
+ */
+
+ Store(r000, Arg1)
+ Store(r000, Arg3)
+ Store(r000, Arg5)
+
+ mI01(r000)
+ mI02(r000, Arg1)
+ mI03(r000, Arg1, r000)
+ mI04(r000, Arg1, r000, Arg3)
+ mI05(r000, Arg1, r000, Arg3, r000)
+ mI06(r000, Arg1, r000, Arg3, r000, Arg5)
+ mI07(r000, Arg1, r000, Arg3, r000, Arg5, r000)
+
+ mI01(
+ mI01(r000))
+
+ mI02(
+ mI01(r000),
+ mI02(r000, Arg1))
+
+ mI03(
+ mI01(r000),
+ mI02(r000, Arg1),
+ mI03(r000, Arg1, r000))
+
+ mI04(
+ mI01(r000),
+ mI02(r000, Arg1),
+ mI03(r000, Arg1, r000),
+ mI04(r000, Arg1, r000, Arg3))
+
+ if (y262) {
+
+ mI05(
+ mI01(r000),
+ mI02(r000, Arg1),
+ mI03(r000, Arg1, r000),
+ mI04(r000, Arg1, r000, Arg3),
+ mI05(r000, Arg1, r000, Arg3, r000))
+
+ mI06(
+ mI01(r000),
+ mI02(r000, Arg1),
+ mI03(r000, Arg1, r000),
+ mI04(r000, Arg1, r000, Arg3),
+ mI05(r000, Arg1, r000, Arg3, r000),
+ mI06(r000, Arg1, r000, Arg3, r000, Arg5))
+ mI07(
+ mI01(r000),
+ mI02(r000, Arg1),
+ mI03(r000, Arg1, r000),
+ mI04(r000, Arg1, r000, Arg3),
+ mI05(r000, Arg1, r000, Arg3, r000),
+ mI06(r000, Arg1, r000, Arg3, r000, Arg5),
+ mI07(r000, Arg1, r000, Arg3, r000, Arg5, r000))
+ } else {
+ OUTP("WARNING: some tests of ns_in40.asl are blocked!")
+ }
+
+ } // if (SLCK)
+
+
+
+
+ /*
+ * Power Resource
+ */
+ Store(11, cmd0)
+
+
+
+
+ /*
+ * Modification 0:
+ */
+
+ mI01(pw00)
+ mI02(pw00, pw00)
+ mI03(pw00, pw00, pw00)
+ mI04(pw00, pw00, pw00, pw00)
+ mI05(pw00, pw00, pw00, pw00, pw00)
+ mI06(pw00, pw00, pw00, pw00, pw00, pw00)
+ mI07(pw00, pw00, pw00, pw00, pw00, pw00, pw00)
+
+ mI01(
+ mI01(pw00))
+ mI02(
+ mI01(pw00),
+ mI02(pw00, pw00))
+ mI03(
+ mI01(pw00),
+ mI02(pw00, pw00),
+ mI03(pw00, pw00, pw00))
+
+ // if (chk0) {
+
+ mI04(
+ mI01(pw00),
+ mI02(pw00, pw00),
+ mI03(pw00, pw00, pw00),
+ mI04(pw00, pw00, pw00, pw00))
+
+ if (y262) {
+
+ mI05(
+ mI01(pw00),
+ mI02(pw00, pw00),
+ mI03(pw00, pw00, pw00),
+ mI04(pw00, pw00, pw00, pw00),
+ mI05(pw00, pw00, pw00, pw00, pw00))
+
+ mI06(
+ mI01(pw00),
+ mI02(pw00, pw00),
+ mI03(pw00, pw00, pw00),
+ mI04(pw00, pw00, pw00, pw00),
+ mI05(pw00, pw00, pw00, pw00, pw00),
+ mI06(pw00, pw00, pw00, pw00, pw00, pw00))
+ mI07(
+ mI01(pw00),
+ mI02(pw00, pw00),
+ mI03(pw00, pw00, pw00),
+ mI04(pw00, pw00, pw00, pw00),
+ mI05(pw00, pw00, pw00, pw00, pw00),
+ mI06(pw00, pw00, pw00, pw00, pw00, pw00),
+ mI07(pw00, pw00, pw00, pw00, pw00, pw00, pw00))
+ } else {
+ OUTP("WARNING: some tests of ns_in40.asl are blocked!")
+ }
+
+ // } // if (chk0)
+
+
+
+
+ if (SLCK) {
+
+ /*
+ * Modification 1:
+ *
+ * Some params are intermediately stored to Locals
+ *
+ * Note: no Locals for this checking (see comment above).
+ */
+
+ Store(pw00, Local1)
+ Store(pw00, Local3)
+ Store(pw00, Local5)
+
+ mI01(pw00)
+ mI02(pw00, Local1)
+ mI03(pw00, Local1, pw00)
+ mI04(pw00, Local1, pw00, Local3)
+ mI05(pw00, Local1, pw00, Local3, pw00)
+ mI06(pw00, Local1, pw00, Local3, pw00, Local5)
+ mI07(pw00, Local1, pw00, Local3, pw00, Local5, pw00)
+
+ mI01(
+ mI01(pw00))
+
+ mI02(
+ mI01(pw00),
+ mI02(pw00, Local1))
+
+ mI03(
+ mI01(pw00),
+ mI02(pw00, Local1),
+ mI03(pw00, Local1, pw00))
+
+ mI04(
+ mI01(pw00),
+ mI02(pw00, Local1),
+ mI03(pw00, Local1, pw00),
+ mI04(pw00, Local1, pw00, Local3))
+
+ if (y262) {
+
+ mI05(
+ mI01(pw00),
+ mI02(pw00, Local1),
+ mI03(pw00, Local1, pw00),
+ mI04(pw00, Local1, pw00, Local3),
+ mI05(pw00, Local1, pw00, Local3, pw00))
+
+ mI06(
+ mI01(pw00),
+ mI02(pw00, Local1),
+ mI03(pw00, Local1, pw00),
+ mI04(pw00, Local1, pw00, Local3),
+ mI05(pw00, Local1, pw00, Local3, pw00),
+ mI06(pw00, Local1, pw00, Local3, pw00, Local5))
+ mI07(
+ mI01(pw00),
+ mI02(pw00, Local1),
+ mI03(pw00, Local1, pw00),
+ mI04(pw00, Local1, pw00, Local3),
+ mI05(pw00, Local1, pw00, Local3, pw00),
+ mI06(pw00, Local1, pw00, Local3, pw00, Local5),
+ mI07(pw00, Local1, pw00, Local3, pw00, Local5, pw00))
+ } else {
+ OUTP("WARNING: some tests of ns_in40.asl are blocked!")
+ }
+
+
+
+
+ /*
+ * Modification 2:
+ *
+ * Some params are intermediately stored to Args (efectively local)
+ *
+ * Note: no Args for this checking (see comment above).
+ */
+
+ Store(pw00, Arg1)
+ Store(pw00, Arg3)
+ Store(pw00, Arg5)
+
+ mI01(pw00)
+ mI02(pw00, Arg1)
+ mI03(pw00, Arg1, pw00)
+ mI04(pw00, Arg1, pw00, Arg3)
+ mI05(pw00, Arg1, pw00, Arg3, pw00)
+ mI06(pw00, Arg1, pw00, Arg3, pw00, Arg5)
+ mI07(pw00, Arg1, pw00, Arg3, pw00, Arg5, pw00)
+
+ mI01(
+ mI01(pw00))
+
+ mI02(
+ mI01(pw00),
+ mI02(pw00, Arg1))
+
+ mI03(
+ mI01(pw00),
+ mI02(pw00, Arg1),
+ mI03(pw00, Arg1, pw00))
+
+ mI04(
+ mI01(pw00),
+ mI02(pw00, Arg1),
+ mI03(pw00, Arg1, pw00),
+ mI04(pw00, Arg1, pw00, Arg3))
+
+ if (y262) {
+
+ mI05(
+ mI01(pw00),
+ mI02(pw00, Arg1),
+ mI03(pw00, Arg1, pw00),
+ mI04(pw00, Arg1, pw00, Arg3),
+ mI05(pw00, Arg1, pw00, Arg3, pw00))
+
+ mI06(
+ mI01(pw00),
+ mI02(pw00, Arg1),
+ mI03(pw00, Arg1, pw00),
+ mI04(pw00, Arg1, pw00, Arg3),
+ mI05(pw00, Arg1, pw00, Arg3, pw00),
+ mI06(pw00, Arg1, pw00, Arg3, pw00, Arg5))
+ mI07(
+ mI01(pw00),
+ mI02(pw00, Arg1),
+ mI03(pw00, Arg1, pw00),
+ mI04(pw00, Arg1, pw00, Arg3),
+ mI05(pw00, Arg1, pw00, Arg3, pw00),
+ mI06(pw00, Arg1, pw00, Arg3, pw00, Arg5),
+ mI07(pw00, Arg1, pw00, Arg3, pw00, Arg5, pw00))
+ } else {
+ OUTP("WARNING: some tests of ns_in40.asl are blocked!")
+ }
+
+ } // if (SLCK)
+
+
+
+
+ /*
+ * Processor
+ */
+ Store(12, cmd0)
+
+
+
+
+ /*
+ * Modification 0:
+ */
+
+ mI01(pr00)
+ mI02(pr00, pr00)
+ mI03(pr00, pr00, pr00)
+ mI04(pr00, pr00, pr00, pr00)
+ mI05(pr00, pr00, pr00, pr00, pr00)
+ mI06(pr00, pr00, pr00, pr00, pr00, pr00)
+ mI07(pr00, pr00, pr00, pr00, pr00, pr00, pr00)
+
+ mI01(
+ mI01(pr00))
+
+ mI02(
+ mI01(pr00),
+ mI02(pr00, pr00))
+
+ mI03(
+ mI01(pr00),
+ mI02(pr00, pr00),
+ mI03(pr00, pr00, pr00))
+
+ mI04(
+ mI01(pr00),
+ mI02(pr00, pr00),
+ mI03(pr00, pr00, pr00),
+ mI04(pr00, pr00, pr00, pr00))
+
+ if (y262) {
+
+ mI05(
+ mI01(pr00),
+ mI02(pr00, pr00),
+ mI03(pr00, pr00, pr00),
+ mI04(pr00, pr00, pr00, pr00),
+ mI05(pr00, pr00, pr00, pr00, pr00))
+
+ mI06(
+ mI01(pr00),
+ mI02(pr00, pr00),
+ mI03(pr00, pr00, pr00),
+ mI04(pr00, pr00, pr00, pr00),
+ mI05(pr00, pr00, pr00, pr00, pr00),
+ mI06(pr00, pr00, pr00, pr00, pr00, pr00))
+ mI07(
+ mI01(pr00),
+ mI02(pr00, pr00),
+ mI03(pr00, pr00, pr00),
+ mI04(pr00, pr00, pr00, pr00),
+ mI05(pr00, pr00, pr00, pr00, pr00),
+ mI06(pr00, pr00, pr00, pr00, pr00, pr00),
+ mI07(pr00, pr00, pr00, pr00, pr00, pr00, pr00))
+ } else {
+ OUTP("WARNING: some tests of ns_in40.asl are blocked!")
+ }
+
+
+
+
+ if (SLCK) {
+
+ /*
+ * Modification 1:
+ *
+ * Some params are intermediately stored to Locals
+ *
+ * Note: no Locals for this checking (see comment above).
+ */
+
+ Store(pr00, Local1)
+ Store(pr00, Local3)
+ Store(pr00, Local5)
+
+ mI01(pr00)
+ mI02(pr00, Local1)
+ mI03(pr00, Local1, pr00)
+ mI04(pr00, Local1, pr00, Local3)
+ mI05(pr00, Local1, pr00, Local3, pr00)
+ mI06(pr00, Local1, pr00, Local3, pr00, Local5)
+ mI07(pr00, Local1, pr00, Local3, pr00, Local5, pr00)
+
+ mI01(
+ mI01(pr00))
+
+ mI02(
+ mI01(pr00),
+ mI02(pr00, Local1))
+
+ mI03(
+ mI01(pr00),
+ mI02(pr00, Local1),
+ mI03(pr00, Local1, pr00))
+
+ mI04(
+ mI01(pr00),
+ mI02(pr00, Local1),
+ mI03(pr00, Local1, pr00),
+ mI04(pr00, Local1, pr00, Local3))
+
+ if (y262) {
+
+ mI05(
+ mI01(pr00),
+ mI02(pr00, Local1),
+ mI03(pr00, Local1, pr00),
+ mI04(pr00, Local1, pr00, Local3),
+ mI05(pr00, Local1, pr00, Local3, pr00))
+
+ mI06(
+ mI01(pr00),
+ mI02(pr00, Local1),
+ mI03(pr00, Local1, pr00),
+ mI04(pr00, Local1, pr00, Local3),
+ mI05(pr00, Local1, pr00, Local3, pr00),
+ mI06(pr00, Local1, pr00, Local3, pr00, Local5))
+ mI07(
+ mI01(pr00),
+ mI02(pr00, Local1),
+ mI03(pr00, Local1, pr00),
+ mI04(pr00, Local1, pr00, Local3),
+ mI05(pr00, Local1, pr00, Local3, pr00),
+ mI06(pr00, Local1, pr00, Local3, pr00, Local5),
+ mI07(pr00, Local1, pr00, Local3, pr00, Local5, pr00))
+ } else {
+ OUTP("WARNING: some tests of ns_in40.asl are blocked!")
+ }
+
+
+
+
+ /*
+ * Modification 2:
+ *
+ * Some params are intermediately stored to Args (efectively local)
+ *
+ * Note: no Args for this checking (see comment above).
+ */
+
+ Store(pr00, Arg1)
+ Store(pr00, Arg3)
+ Store(pr00, Arg5)
+
+ mI01(pr00)
+ mI02(pr00, Arg1)
+ mI03(pr00, Arg1, pr00)
+ mI04(pr00, Arg1, pr00, Arg3)
+ mI05(pr00, Arg1, pr00, Arg3, pr00)
+ mI06(pr00, Arg1, pr00, Arg3, pr00, Arg5)
+ mI07(pr00, Arg1, pr00, Arg3, pr00, Arg5, pr00)
+
+ mI01(
+ mI01(pr00))
+
+ mI02(
+ mI01(pr00),
+ mI02(pr00, Arg1))
+
+ mI03(
+ mI01(pr00),
+ mI02(pr00, Arg1),
+ mI03(pr00, Arg1, pr00))
+
+ mI04(
+ mI01(pr00),
+ mI02(pr00, Arg1),
+ mI03(pr00, Arg1, pr00),
+ mI04(pr00, Arg1, pr00, Arg3))
+
+ if (y262) {
+
+ mI05(
+ mI01(pr00),
+ mI02(pr00, Arg1),
+ mI03(pr00, Arg1, pr00),
+ mI04(pr00, Arg1, pr00, Arg3),
+ mI05(pr00, Arg1, pr00, Arg3, pr00))
+
+ mI06(
+ mI01(pr00),
+ mI02(pr00, Arg1),
+ mI03(pr00, Arg1, pr00),
+ mI04(pr00, Arg1, pr00, Arg3),
+ mI05(pr00, Arg1, pr00, Arg3, pr00),
+ mI06(pr00, Arg1, pr00, Arg3, pr00, Arg5))
+ mI07(
+ mI01(pr00),
+ mI02(pr00, Arg1),
+ mI03(pr00, Arg1, pr00),
+ mI04(pr00, Arg1, pr00, Arg3),
+ mI05(pr00, Arg1, pr00, Arg3, pr00),
+ mI06(pr00, Arg1, pr00, Arg3, pr00, Arg5),
+ mI07(pr00, Arg1, pr00, Arg3, pr00, Arg5, pr00))
+ } else {
+ OUTP("WARNING: some tests of ns_in40.asl are blocked!")
+ }
+
+ } // if (SLCK)
+
+
+
+
+ /*
+ * Thermal Zone
+ */
+ Store(13, cmd0)
+
+
+
+
+ /*
+ * Modification 0:
+ */
+
+ mI01(tz00)
+ mI02(tz00, tz00)
+ mI03(tz00, tz00, tz00)
+ mI04(tz00, tz00, tz00, tz00)
+ mI05(tz00, tz00, tz00, tz00, tz00)
+ mI06(tz00, tz00, tz00, tz00, tz00, tz00)
+ mI07(tz00, tz00, tz00, tz00, tz00, tz00, tz00)
+
+ mI01(
+ mI01(tz00))
+
+ mI02(
+ mI01(tz00),
+ mI02(tz00, tz00))
+
+ mI03(
+ mI01(tz00),
+ mI02(tz00, tz00),
+ mI03(tz00, tz00, tz00))
+
+ mI04(
+ mI01(tz00),
+ mI02(tz00, tz00),
+ mI03(tz00, tz00, tz00),
+ mI04(tz00, tz00, tz00, tz00))
+
+ if (y262) {
+
+ mI05(
+ mI01(tz00),
+ mI02(tz00, tz00),
+ mI03(tz00, tz00, tz00),
+ mI04(tz00, tz00, tz00, tz00),
+ mI05(tz00, tz00, tz00, tz00, tz00))
+
+ mI06(
+ mI01(tz00),
+ mI02(tz00, tz00),
+ mI03(tz00, tz00, tz00),
+ mI04(tz00, tz00, tz00, tz00),
+ mI05(tz00, tz00, tz00, tz00, tz00),
+ mI06(tz00, tz00, tz00, tz00, tz00, tz00))
+ mI07(
+ mI01(tz00),
+ mI02(tz00, tz00),
+ mI03(tz00, tz00, tz00),
+ mI04(tz00, tz00, tz00, tz00),
+ mI05(tz00, tz00, tz00, tz00, tz00),
+ mI06(tz00, tz00, tz00, tz00, tz00, tz00),
+ mI07(tz00, tz00, tz00, tz00, tz00, tz00, tz00))
+ } else {
+ OUTP("WARNING: some tests of ns_in40.asl are blocked!")
+ }
+
+
+
+
+ if (SLCK) {
+
+ /*
+ * Modification 1:
+ *
+ * Some params are intermediately stored to Locals
+ *
+ * Note: no Locals for this checking (see comment above).
+ */
+
+ Store(tz00, Local1)
+ Store(tz00, Local3)
+ Store(tz00, Local5)
+
+ mI01(tz00)
+ mI02(tz00, Local1)
+ mI03(tz00, Local1, tz00)
+ mI04(tz00, Local1, tz00, Local3)
+ mI05(tz00, Local1, tz00, Local3, tz00)
+ mI06(tz00, Local1, tz00, Local3, tz00, Local5)
+ mI07(tz00, Local1, tz00, Local3, tz00, Local5, tz00)
+
+ mI01(
+ mI01(tz00))
+
+ mI02(
+ mI01(tz00),
+ mI02(tz00, Local1))
+
+ mI03(
+ mI01(tz00),
+ mI02(tz00, Local1),
+ mI03(tz00, Local1, tz00))
+
+ mI04(
+ mI01(tz00),
+ mI02(tz00, Local1),
+ mI03(tz00, Local1, tz00),
+ mI04(tz00, Local1, tz00, Local3))
+
+ if (y262) {
+
+ mI05(
+ mI01(tz00),
+ mI02(tz00, Local1),
+ mI03(tz00, Local1, tz00),
+ mI04(tz00, Local1, tz00, Local3),
+ mI05(tz00, Local1, tz00, Local3, tz00))
+
+ mI06(
+ mI01(tz00),
+ mI02(tz00, Local1),
+ mI03(tz00, Local1, tz00),
+ mI04(tz00, Local1, tz00, Local3),
+ mI05(tz00, Local1, tz00, Local3, tz00),
+ mI06(tz00, Local1, tz00, Local3, tz00, Local5))
+ mI07(
+ mI01(tz00),
+ mI02(tz00, Local1),
+ mI03(tz00, Local1, tz00),
+ mI04(tz00, Local1, tz00, Local3),
+ mI05(tz00, Local1, tz00, Local3, tz00),
+ mI06(tz00, Local1, tz00, Local3, tz00, Local5),
+ mI07(tz00, Local1, tz00, Local3, tz00, Local5, tz00))
+ } else {
+ OUTP("WARNING: some tests of ns_in40.asl are blocked!")
+ }
+
+
+
+
+ /*
+ * Modification 2:
+ *
+ * Some params are intermediately stored to Args (efectively local)
+ *
+ * Note: no Args for this checking (see comment above).
+ */
+
+ Store(tz00, Arg1)
+ Store(tz00, Arg3)
+ Store(tz00, Arg5)
+
+ mI01(tz00)
+ mI02(tz00, Arg1)
+ mI03(tz00, Arg1, tz00)
+ mI04(tz00, Arg1, tz00, Arg3)
+ mI05(tz00, Arg1, tz00, Arg3, tz00)
+ mI06(tz00, Arg1, tz00, Arg3, tz00, Arg5)
+ mI07(tz00, Arg1, tz00, Arg3, tz00, Arg5, tz00)
+
+ mI01(
+ mI01(tz00))
+
+ mI02(
+ mI01(tz00),
+ mI02(tz00, Arg1))
+
+ mI03(
+ mI01(tz00),
+ mI02(tz00, Arg1),
+ mI03(tz00, Arg1, tz00))
+
+ mI04(
+ mI01(tz00),
+ mI02(tz00, Arg1),
+ mI03(tz00, Arg1, tz00),
+ mI04(tz00, Arg1, tz00, Arg3))
+
+ if (y262) {
+
+ mI05(
+ mI01(tz00),
+ mI02(tz00, Arg1),
+ mI03(tz00, Arg1, tz00),
+ mI04(tz00, Arg1, tz00, Arg3),
+ mI05(tz00, Arg1, tz00, Arg3, tz00))
+
+ mI06(
+ mI01(tz00),
+ mI02(tz00, Arg1),
+ mI03(tz00, Arg1, tz00),
+ mI04(tz00, Arg1, tz00, Arg3),
+ mI05(tz00, Arg1, tz00, Arg3, tz00),
+ mI06(tz00, Arg1, tz00, Arg3, tz00, Arg5))
+ mI07(
+ mI01(tz00),
+ mI02(tz00, Arg1),
+ mI03(tz00, Arg1, tz00),
+ mI04(tz00, Arg1, tz00, Arg3),
+ mI05(tz00, Arg1, tz00, Arg3, tz00),
+ mI06(tz00, Arg1, tz00, Arg3, tz00, Arg5),
+ mI07(tz00, Arg1, tz00, Arg3, tz00, Arg5, tz00))
+ } else {
+ OUTP("WARNING: some tests of ns_in40.asl are blocked!")
+ }
+
+ } // if (SLCK)
+}
+
+Method(ini4)
+{
+ SRMT("in40")
+ in40(0,0,0,0,0,0,0)
+
+ SRMT("in41")
+ in41(0,0,0,0,0,0,0)
+
+ CH03("ini4", z167, 0x000, 0, 0)
+}
+
diff --git a/tests/aslts/src/runtime/collections/Identity2MS/abbu/initial/ns_in50.asl b/tests/aslts/src/runtime/collections/Identity2MS/abbu/initial/ns_in50.asl
new file mode 100644
index 000000000..af2d53ad1
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/Identity2MS/abbu/initial/ns_in50.asl
@@ -0,0 +1,652 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+/*
+ * Expressions
+ */
+
+Name(z168, 168)
+
+/*
+ * Table 1: operations applied in this file tests
+ *
+ * 1 - Add (arg0, arg1, RES) => Local7
+ * 7 - Decrement (arg0 --> RES) => Local7
+ * 14 - Increment (arg0 --> RES) => Local7
+ * 9 - Divide (arg0, arg1, RES, RES) => Local7
+ * 38 - ShiftLeft (arg0, arg1, RES) => Local7
+ * 28 - Multiply (arg0, arg1, RES) => Local7
+ * 44 - Store (arg0, RES) => Local7
+ * 33 - Or (arg0, arg1, RES) => Local7
+ * 39 - ShiftRight (arg0, arg1, RES) => Local7
+ * 45 - Subtract (arg0, arg1, RES) => Local7
+ * 2 - And (arg0, arg1, RES) => Local7
+ * 27 - Mod (arg0, arg1, RES) => Local7
+ * 11 - FindSetLeftBit (arg0, RES) => Local7
+ * 12 - FindSetRightBit (arg0, RES) => Local7
+ * 53 - XOr (arg0, arg1, RES) => Local7
+ * 29 - NAnd (arg0, arg1, RES) => Local7
+ * 30 - NOr (arg0, arg1, RES) => Local7
+ * 31 - Not (arg0, RES) => Local7
+ * 22 - LNot (arg0) => Local7
+ * 24 - LOr (arg0, arg1) => Local7
+ * 16 - LAnd (arg0, arg1) => Local7
+ * 17 - LEqual (arg0, arg1) => Local7
+ * 18 - LGreater (arg0, arg1) => Local7
+ * 19 - LGreaterEqual (arg0, arg1) => Local7
+ * 20 - LLess (arg0, arg1) => Local7
+ * 21 - LLessEqual (arg0, arg1) => Local7
+ * 23 - LNotEqual (arg0, arg1) => Local7
+ */
+
+/*
+ * This method doesn't contain verification and is
+ * only used to determine opcodes not implemented on MS.
+ * For verification is intended the method in51.
+ *
+ * The ASL Mod operation is not implemented on MS
+ */
+Method(in50)
+{
+ Name(ts, "in50")
+
+ Store(0xabcd0000, Local0)
+ Store(2, Local1)
+
+ Add (Local0, Local1, Local2)
+ Decrement (Local0)
+ Increment (Local0)
+ Divide (Local0, Local1, Local2, Local3)
+ ShiftLeft (Local0, Local1, Local2)
+ Multiply (Local0, Local1, Local2)
+ Store (Local0, Local2)
+ Or (Local0, Local1, Local2)
+ ShiftRight (Local0, Local1, Local2)
+ Subtract (Local0, Local1, Local2)
+ And (Local0, Local1, Local2)
+ if (chk0) {
+ Mod (Local0, Local1, Local2)
+ }
+ FindSetLeftBit (Local0, Local2)
+ FindSetRightBit (Local0, Local2)
+ XOr (Local0, Local1, Local2)
+ NAnd (Local0, Local1, Local2)
+ NOr (Local0, Local1, Local2)
+ Not (Local0, Local2)
+ LNot (Local0)
+ LOr (Local0, Local1)
+ LAnd (Local0, Local1)
+ LEqual (Local0, Local1)
+ LGreater (Local0, Local1)
+ LGreaterEqual (Local0, Local1)
+ LLess (Local0, Local1)
+ LLessEqual (Local0, Local1)
+ LNotEqual (Local0, Local1)
+}
+
+/*
+ * Internal objects of methods on MS consume some internal
+ * resources of ACPI MS interpreter. We are forced to pull
+ * some of internal objects of in51 out to prevent breakage
+ * of MS interpreter.
+ */
+Name(ii31, 0xabcd0031)
+Name(ii32, 0xabcd0032)
+Name(ii33, 0xabcd0033)
+Name(ii34, 0xabcd0034)
+Name(ii35, 0xabcd0035)
+Name(ii36, 0xabcd0036)
+Name(ii37, 0xabcd0037)
+Name(ii38, 0xabcd0038)
+Name(ii39, 0xabcd0039)
+Name(ii3a, 0xabcd003a)
+Name(ii3b, 0xabcd003b)
+Name(ii3c, 0xabcd003c)
+Name(ii3d, 0xabcd003d)
+Name(ii3e, 0xabcd003e)
+Name(ii3f, 0xabcd003f)
+Name(ii40, 0xabcd0040)
+Name(ii41, 0xabcd0041)
+Name(ii42, 0xabcd0042)
+Name(ii43, 0xabcd0043)
+Name(ii44, 0xabcd0044)
+Name(ii45, 0xabcd0045)
+Name(ii46, 0xabcd0046)
+Name(ii47, 0xabcd0047)
+
+/*
+ * All opcodes of Table 1 above are applied in a single expression
+ * and their results are then verified.
+ *
+ * The ASL Mod operation is not implemented on MS thus
+ * it is not applied here. All other opcodes enumerated
+ * in the table above are applied and verified in this test.
+ */
+Method(in51, 7)
+{
+ Name(ts, "in51")
+
+ Name(i000, 0x00010000)
+ Name(i001, 0x0a510010)
+ Name(i002, 0x15210800)
+ Name(i003, 0xfeabc8d9)
+ Name(i004, 0x1234bcde)
+ Name(i005, 0xfe04bcde)
+ Name(i006, 0x12345678)
+ Name(i007, 0x01000000)
+ Name(i008, 0x60f5c7a2)
+
+ Name(ii00, 0xabcd0000)
+ Name(ii01, 0xabcd0001)
+ Name(ii02, 0xabcd0002)
+ Name(ii03, 0xabcd0003)
+ Name(ii04, 0xabcd0004)
+ Name(ii05, 0xabcd0005)
+ Name(ii06, 0xabcd0006)
+ Name(ii07, 0xabcd0007)
+ Name(ii08, 0xabcd0008)
+ Name(ii09, 0xabcd0009)
+ Name(ii0a, 0xabcd000a)
+ Name(ii0b, 0xabcd000b)
+ Name(ii0c, 0xabcd000c)
+ Name(ii0d, 0xabcd000d)
+ Name(ii0e, 0xabcd000e)
+ Name(ii0f, 0xabcd000f)
+ Name(ii10, 0xabcd0010)
+ Name(ii11, 0xabcd0011)
+ Name(ii12, 0xabcd0012)
+ Name(ii13, 0xabcd0013)
+ Name(ii14, 0xabcd0014)
+ Name(ii15, 0xabcd0015)
+ Name(ii16, 0xabcd0016)
+ Name(ii17, 0xabcd0017)
+ Name(ii18, 0xabcd0018)
+ Name(ii19, 0xabcd0019)
+ Name(ii1a, 0xabcd001a)
+ Name(ii1b, 0xabcd001b)
+ Name(ii1c, 0xabcd001c)
+ Name(ii1d, 0xabcd001d)
+ Name(ii1e, 0xabcd001e)
+ Name(ii1f, 0xabcd001f)
+ Name(ii20, 0xabcd0020)
+ Name(ii21, 0xabcd0021)
+ Name(ii22, 0xabcd0022)
+ Name(ii23, 0xabcd0023)
+ Name(ii24, 0xabcd0024)
+ Name(ii25, 0xabcd0025)
+ Name(ii26, 0xabcd0026)
+ Name(ii27, 0xabcd0027)
+ Name(ii28, 0xabcd0028)
+ Name(ii29, 0xabcd0029)
+ Name(ii2a, 0xabcd002a)
+ Name(ii2b, 0xabcd002b)
+ Name(ii2c, 0xabcd002c)
+ Name(ii2d, 0xabcd002d)
+ Name(ii2e, 0xabcd002e)
+ Name(ii2f, 0xabcd002f)
+ Name(ii30, 0xabcd0030)
+/*
+ Name(ii31, 0xabcd0031)
+ Name(ii32, 0xabcd0032)
+ Name(ii33, 0xabcd0033)
+ Name(ii34, 0xabcd0034)
+ Name(ii35, 0xabcd0035)
+ Name(ii36, 0xabcd0036)
+ Name(ii37, 0xabcd0037)
+ Name(ii38, 0xabcd0038)
+ Name(ii39, 0xabcd0039)
+ Name(ii3a, 0xabcd003a)
+ Name(ii3b, 0xabcd003b)
+ Name(ii3c, 0xabcd003c)
+ Name(ii3d, 0xabcd003d)
+ Name(ii3e, 0xabcd003e)
+ Name(ii3f, 0xabcd003f)
+ Name(ii40, 0xabcd0040)
+ Name(ii41, 0xabcd0041)
+ Name(ii42, 0xabcd0042)
+ Name(ii43, 0xabcd0043)
+ Name(ii44, 0xabcd0044)
+ Name(ii45, 0xabcd0045)
+ Name(ii46, 0xabcd0046)
+ Name(ii47, 0xabcd0047)
+*/
+
+
+ Add(
+ Add(
+ Add(
+ Add(
+ Add(
+ Add(
+ Add(
+ Add(
+ Add(
+ Subtract(
+ Or(
+ And(
+ Store(
+ Multiply(
+ ShiftLeft(
+ Divide(
+ Add(
+ Add(
+ Add(Add(Increment(i000), Increment(i000), i000),
+ Add(Increment(i000), Increment(i000), i000), Local0),
+ Add(Add(Decrement(i000), Decrement(i000), i000),
+ Add(Decrement(i000), Decrement(i000), i000), Local1),
+ arg0),
+ Add(Add(Increment(i000), Decrement(i000), i000),
+ Add(Increment(i000), Decrement(i000), i000), Local2), arg1),
+ 17, // Divide
+ ii00, Local3 // Divide
+ ), // ShiftLeft
+ 3, // ShiftLeft
+ ii01), // ShiftLeft
+ 2, // Multiply
+ i000), // Multiply
+ arg2), // Store
+ 0xffffffff, // And
+ ii0c), // And
+ 0x20000000, // Or
+ ii0d), // Or
+
+ // Subtract
+
+ Multiply(
+ And(
+ Add(
+ Add(
+ Add(
+ XOr(
+ Add(
+ Add(
+ Add(
+ Store(
+ And(
+ ShiftRight(
+ Or(i001, 0x15210800, Local5),
+ 3, // ShiftRight
+ ii02), // ShiftRight
+ 0x035E2102, // And
+ i000), // And
+ Local6), // Store
+ // Add
+ Add(0, 7, ii03),
+ ii04), // Add
+ FindSetLeftBit(0x7bcd0000, ii05),
+ arg3), // Add
+ FindSetRightBit(0x7bcd0000, ii06),
+ arg4), // Add
+ 0x11b4937f, // XOr
+ arg5), // XOr
+ NAnd(i003, 0xffffffff, ii07),
+ arg6), // Add
+ NOr(i004, 0xf8f0f0f0, ii08),
+ Local7), // Add
+ Not(i005, ii09),
+ ii0a), // Add
+ 0xffffffff, // And
+ ii0b), // And
+ And(Store(LNot(Store(LNot(ii0b), ii0e)), ii0f), 0x01)
+ ), // Multiply
+
+ Local4), // Subtract
+
+ // Add
+ Store(LNot(Store(LNot(i006), ii11)), ii12),
+ ii10), // Add
+ // Add
+ Store(LOr(LNot(And(Store(LOr(i007, 0), ii14), 0x01)), 0), ii15),
+ ii13), // Add
+ // Add
+ Store(LAnd(LNot(And(Store(LAnd(i007, 1), ii16), 0x01)), 0), ii17),
+ ii18), // Add
+ // Add
+ Add(
+ Store(LEqual(i008, 0x60f5c7a2), ii19),
+ Store(LEqual(i008, 0x60f5c7a0), ii1a), ii1b),
+ ii1c), // Add
+ // Add
+ Add(
+ Add(
+ Store(LGreater(i008, 0x60f5c7a2), ii1d),
+ Store(LGreater(i008, 0x60f5c7a3), ii1e), ii1f),
+ Add(
+ Store(LGreater(i008, 0x60f5c7a1), ii20),
+ Store(LGreater(i008, 0x60f5c7a0), ii21), ii22),
+ ii23),
+ ii24), // Add
+ // Add
+ Add(
+ Add(
+ Store(LGreaterEqual(i008, 0x60f5c7a2), ii25),
+ Store(LGreaterEqual(i008, 0x60f5c7a3), ii26), ii27),
+ Add(
+ Store(LGreaterEqual(i008, 0x60f5c7a1), ii28),
+ Store(LGreaterEqual(i008, 0x60f5c7a0), ii29), ii2a),
+ ii2b),
+ ii2c), // Add
+ // Add
+ Add(
+ Add(
+ Store(LLess(i008, 0x60f5c7a2), ii2d),
+ Store(LLess(i008, 0x60f5c7a3), ii2e), ii2f),
+ Add(
+ Store(LLess(i008, 0x60f5c7a1), ii30),
+ Store(LLess(i008, 0x60f5c7a0), ii31), ii32),
+ ii33),
+ ii34), // Add
+ // Add
+ Add(
+ Add(
+ Store(LLessEqual(i008, 0x60f5c7a2), ii35),
+ Store(LLessEqual(i008, 0x60f5c7a3), ii36), ii37),
+ Add(
+ Store(LLessEqual(i008, 0x60f5c7a1), ii38),
+ Store(LLessEqual(i008, 0x60f5c7a0), ii39), ii3a),
+ ii3b),
+ ii3c), // Add
+ // Add
+ Add(
+ Add(
+ Store(LNotEqual(i008, 0x60f5c7a2), ii3d),
+ Store(LNotEqual(i008, 0x60f5c7a3), ii3e), ii3f),
+ Add(
+ Store(LNotEqual(i008, 0x60f5c7a1), ii40),
+ Store(LNotEqual(i008, 0x60f5c7a0), ii41), ii42),
+ ii43),
+ ii44) // Add
+
+
+
+ if (LNotEqual(Local0, 0x0006000C)) {
+ err(ts, z168, 0x000, 0, 0, Local0, 0x0006000C)
+ }
+ if (LNotEqual(Local1, 0x0018002A)) {
+ err(ts, z168, 0x001, 0, 0, Local1, 0x0018002A)
+ }
+ if (LNotEqual(Local2, 0x006000A6)) {
+ err(ts, z168, 0x002, 0, 0, Local2, 0x006000A6)
+ }
+ if (LNotEqual(arg0, 0x001E0036)) {
+ err(ts, z168, 0x003, 0, 0, arg0, 0x001E0036)
+ }
+ if (LNotEqual(arg1, 0x007E00DC)) {
+ err(ts, z168, 0x004, 0, 0, arg1, 0x007E00DC)
+ }
+ if (LNotEqual(ii00, 0x00000006)) {
+ err(ts, z168, 0x005, 0, 0, ii00, 0x00000006)
+ }
+ if (LNotEqual(Local3, 0x00076976)) {
+ err(ts, z168, 0x006, 0, 0, Local3, 0x00076976)
+ }
+ if (LNotEqual(ii01, 0x003B4BB0)) {
+ err(ts, z168, 0x007, 0, 0, ii01, 0x003B4BB0)
+ }
+ if (LNotEqual(arg2, 0x00769760)) {
+ err(ts, z168, 0x008, 0, 0, arg2, 0x00769760)
+ }
+ if (LNotEqual(Local5, 0x1F710810)) {
+ err(ts, z168, 0x009, 0, 0, Local5, 0x1F710810)
+ }
+ if (LNotEqual(ii02, 0x03EE2102)) {
+ err(ts, z168, 0x00a, 0, 0, ii02, 0x03EE2102)
+ }
+ if (LNotEqual(Local6, 0x034E2102)) {
+ err(ts, z168, 0x00b, 0, 0, Local6, 0x034E2102)
+ }
+ if (LNotEqual(ii03, 0x00000007)) {
+ err(ts, z168, 0x00c, 0, 0, ii03, 0x00000007)
+ }
+ if (LNotEqual(ii04, 0x034E2109)) {
+ err(ts, z168, 0x00d, 0, 0, ii04, 0x034E2109)
+ }
+ if (LNotEqual(ii05, 0x0000001F)) {
+ err(ts, z168, 0x00e, 0, 0, ii05, 0x0000001F)
+ }
+ if (LNotEqual(arg3, 0x034E2128)) {
+ err(ts, z168, 0x00f, 0, 0, arg3, 0x034E2128)
+ }
+ if (LNotEqual(ii06, 0x00000011)) {
+ err(ts, z168, 0x010, 0, 0, ii06, 0x00000011)
+ }
+ if (LNotEqual(arg4, 0x034E2139)) {
+ err(ts, z168, 0x011, 0, 0, arg4, 0x034E2139)
+ }
+ if (LNotEqual(arg5, 0x12FAB246)) {
+ err(ts, z168, 0x012, 0, 0, arg5, 0x12FAB246)
+ }
+ if (LNotEqual(ii07, 0xFFFFFFFF01543726)) {
+ err(ts, z168, 0x013, 0, 0, ii07, 0xFFFFFFFF01543726)
+ }
+ if (LNotEqual(arg6, 0xFFFFFFFF144EE96C)) {
+ err(ts, z168, 0x014, 0, 0, arg6, 0xFFFFFFFF144EE96C)
+ }
+ if (LNotEqual(ii08, 0xFFFFFFFF050B0301)) {
+ err(ts, z168, 0x015, 0, 0, ii08, 0xFFFFFFFF050B0301)
+ }
+ if (LNotEqual(Local7, 0xFFFFFFFE1959EC6D)) {
+ err(ts, z168, 0x016, 0, 0, Local7, 0xFFFFFFFE1959EC6D)
+ }
+ if (LNotEqual(ii09, 0xFFFFFFFF01FB4321)) {
+ err(ts, z168, 0x017, 0, 0, ii09, 0xFFFFFFFF01FB4321)
+ }
+ if (LNotEqual(ii0a, 0xFFFFFFFD1B552F8E)) {
+ err(ts, z168, 0x018, 0, 0, ii0a, 0xFFFFFFFD1B552F8E)
+ }
+ if (LNotEqual(ii0b, 0x1B552F8E)) {
+ err(ts, z168, 0x019, 0, 0, ii0b, 0x1B552F8E)
+ }
+ if (LNotEqual(ii0c, 0x00769760)) {
+ err(ts, z168, 0x01a, 0, 0, ii0c, 0x00769760)
+ }
+ if (LNotEqual(ii0d, 0x20769760)) {
+ err(ts, z168, 0x01b, 0, 0, ii0d, 0x20769760)
+ }
+ if (LNotEqual(ii0e, 0)) {
+ err(ts, z168, 0x01c, 0, 0, ii0e, 0)
+ }
+ if (LNotEqual(ii0f, 0xFFFFFFFFFFFFFFFF)) {
+ err(ts, z168, 0x01d, 0, 0, ii0f, 0xFFFFFFFFFFFFFFFF)
+ }
+ if (LNotEqual(Local4, 0x052167D2)) {
+ err(ts, z168, 0x01e, 0, 0, Local4, 0x052167D2)
+ }
+ if (LNotEqual(ii10, 0x052167D1)) {
+ err(ts, z168, 0x01f, 0, 0, ii10, 0x052167D1)
+ }
+ if (LNotEqual(ii11, 0)) {
+ err(ts, z168, 0x020, 0, 0, ii11, 0)
+ }
+ if (LNotEqual(ii12, 0xFFFFFFFFFFFFFFFF)) {
+ err(ts, z168, 0x021, 0, 0, ii12, 0xFFFFFFFFFFFFFFFF)
+ }
+ if (LNotEqual(ii13, 0x00000000052167D1)) {
+ err(ts, z168, 0x022, 0, 0, ii13, 0x00000000052167D1)
+ }
+ if (LNotEqual(ii14, 0xFFFFFFFFFFFFFFFF)) {
+ err(ts, z168, 0x023, 0, 0, ii14, 0xFFFFFFFFFFFFFFFF)
+ }
+ if (LNotEqual(ii15, 0)) {
+ err(ts, z168, 0x024, 0, 0, ii15, 0)
+ }
+ if (LNotEqual(ii16, 0xFFFFFFFFFFFFFFFF)) {
+ err(ts, z168, 0x025, 0, 0, ii16, 0xFFFFFFFFFFFFFFFF)
+ }
+ if (LNotEqual(ii17, 0)) {
+ err(ts, z168, 0x026, 0, 0, ii17, 0)
+ }
+ if (LNotEqual(ii18, 0x052167D1)) {
+ err(ts, z168, 0x027, 0, 0, ii18, 0x052167D1)
+ }
+ if (LNotEqual(ii19, 0xFFFFFFFFFFFFFFFF)) {
+ err(ts, z168, 0x028, 0, 0, ii19, 0xFFFFFFFFFFFFFFFF)
+ }
+ if (LNotEqual(ii1a, 0)) {
+ err(ts, z168, 0x029, 0, 0, ii1a, 0)
+ }
+ if (LNotEqual(ii1b, 0xFFFFFFFFFFFFFFFF)) {
+ err(ts, z168, 0x02a, 0, 0, ii1c, 0xFFFFFFFFFFFFFFFF)
+ }
+ if (LNotEqual(ii1c, 0x052167D0)) {
+ err(ts, z168, 0x02b, 0, 0, ii1d, 0x052167D0)
+ }
+ if (LNotEqual(ii1d, 0)) {
+ err(ts, z168, 0x02c, 0, 0, ii1d, 0)
+ }
+ if (LNotEqual(ii1e, 0)) {
+ err(ts, z168, 0x02d, 0, 0, ii1e, 0)
+ }
+ if (LNotEqual(ii1f, 0)) {
+ err(ts, z168, 0x02e, 0, 0, ii1f, 0)
+ }
+ if (LNotEqual(ii20, 0xFFFFFFFFFFFFFFFF)) {
+ err(ts, z168, 0x02f, 0, 0, ii20, 0xFFFFFFFFFFFFFFFF)
+ }
+ if (LNotEqual(ii21, 0xFFFFFFFFFFFFFFFF)) {
+ err(ts, z168, 0x30, 0, 0, ii21, 0xFFFFFFFFFFFFFFFF)
+ }
+ if (LNotEqual(ii22, 0xFFFFFFFFFFFFFFFE)) {
+ err(ts, z168, 0x031, 0, 0, ii22, 0xFFFFFFFFFFFFFFFE)
+ }
+ if (LNotEqual(ii23, 0xFFFFFFFFFFFFFFFE)) {
+ err(ts, z168, 0x032, 0, 0, ii23, 0xFFFFFFFFFFFFFFFE)
+ }
+ if (LNotEqual(ii24, 0x052167CE)) {
+ err(ts, z168, 0x033, 0, 0, ii24, 0x052167CE)
+ }
+ if (LNotEqual(ii25, 0xFFFFFFFFFFFFFFFF)) {
+ err(ts, z168, 0x034, 0, 0, ii25, 0xFFFFFFFFFFFFFFFF)
+ }
+ if (LNotEqual(ii26, 0)) {
+ err(ts, z168, 0x035, 0, 0, ii26, 0)
+ }
+ if (LNotEqual(ii27, 0xFFFFFFFFFFFFFFFF)) {
+ err(ts, z168, 0x036, 0, 0, ii27, 0xFFFFFFFFFFFFFFFF)
+ }
+ if (LNotEqual(ii28, 0xFFFFFFFFFFFFFFFF)) {
+ err(ts, z168, 0x037, 0, 0, ii28, 0xFFFFFFFFFFFFFFFF)
+ }
+ if (LNotEqual(ii29, 0xFFFFFFFFFFFFFFFF)) {
+ err(ts, z168, 0x038, 0, 0, ii29, 0xFFFFFFFFFFFFFFFF)
+ }
+ if (LNotEqual(ii2a, 0xFFFFFFFFFFFFFFFE)) {
+ err(ts, z168, 0x039, 0, 0, ii2a, 0xFFFFFFFFFFFFFFFE)
+ }
+ if (LNotEqual(ii2b, 0xFFFFFFFFFFFFFFFD)) {
+ err(ts, z168, 0x03a, 0, 0, ii2b, 0xFFFFFFFFFFFFFFFD)
+ }
+ if (LNotEqual(ii2c, 0x052167CB)) {
+ err(ts, z168, 0x03b, 0, 0, ii2c, 0x052167CB)
+ }
+ if (LNotEqual(ii2d, 0)) {
+ err(ts, z168, 0x03c, 0, 0, ii2d, 0)
+ }
+ if (LNotEqual(ii2e, 0xFFFFFFFFFFFFFFFF)) {
+ err(ts, z168, 0x03d, 0, 0, ii2e, 0xFFFFFFFFFFFFFFFF)
+ }
+ if (LNotEqual(ii2f, 0xFFFFFFFFFFFFFFFF)) {
+ err(ts, z168, 0x03e, 0, 0, ii2f, 0xFFFFFFFFFFFFFFFF)
+ }
+ if (LNotEqual(ii30, 0)) {
+ err(ts, z168, 0x03f, 0, 0, ii30, 0)
+ }
+ if (LNotEqual(ii31, 0)) {
+ err(ts, z168, 0x040, 0, 0, ii31, 0)
+ }
+ if (LNotEqual(ii32, 0)) {
+ err(ts, z168, 0x041, 0, 0, ii32, 0)
+ }
+ if (LNotEqual(ii33, 0xFFFFFFFFFFFFFFFF)) {
+ err(ts, z168, 0x042, 0, 0, ii33, 0xFFFFFFFFFFFFFFFF)
+ }
+ if (LNotEqual(ii34, 0x052167CA)) {
+ err(ts, z168, 0x043, 0, 0, ii34, 0x052167CA)
+ }
+ if (LNotEqual(ii35, 0xFFFFFFFFFFFFFFFF)) {
+ err(ts, z168, 0x044, 0, 0, ii35, 0xFFFFFFFFFFFFFFFF)
+ }
+ if (LNotEqual(ii36, 0xFFFFFFFFFFFFFFFF)) {
+ err(ts, z168, 0x045, 0, 0, ii36, 0xFFFFFFFFFFFFFFFF)
+ }
+ if (LNotEqual(ii37, 0xFFFFFFFFFFFFFFFE)) {
+ err(ts, z168, 0x046, 0, 0, ii37, 0xFFFFFFFFFFFFFFFE)
+ }
+ if (LNotEqual(ii38, 0)) {
+ err(ts, z168, 0x047, 0, 0, ii38, 0)
+ }
+ if (LNotEqual(ii39, 0)) {
+ err(ts, z168, 0x048, 0, 0, ii39, 0)
+ }
+ if (LNotEqual(ii3a, 0)) {
+ err(ts, z168, 0x049, 0, 0, ii3a, 0)
+ }
+ if (LNotEqual(ii3b, 0xFFFFFFFFFFFFFFFE)) {
+ err(ts, z168, 0x04a, 0, 0, ii3b, 0xFFFFFFFFFFFFFFFE)
+ }
+ if (LNotEqual(ii3c, 0x052167C8)) {
+ err(ts, z168, 0x04b, 0, 0, ii3c, 0x052167C8)
+ }
+ if (LNotEqual(ii3d, 0)) {
+ err(ts, z168, 0x04c, 0, 0, ii3d, 0)
+ }
+ if (LNotEqual(ii3e, 0xFFFFFFFFFFFFFFFF)) {
+ err(ts, z168, 0x04d, 0, 0, ii3e, 0xFFFFFFFFFFFFFFFF)
+ }
+ if (LNotEqual(ii3f, 0xFFFFFFFFFFFFFFFF)) {
+ err(ts, z168, 0x04e, 0, 0, ii3f, 0xFFFFFFFFFFFFFFFF)
+ }
+ if (LNotEqual(ii40, 0xFFFFFFFFFFFFFFFF)) {
+ err(ts, z168, 0x04f, 0, 0, ii40, 0xFFFFFFFFFFFFFFFF)
+ }
+ if (LNotEqual(ii41, 0xFFFFFFFFFFFFFFFF)) {
+ err(ts, z168, 0x050, 0, 0, ii41, 0xFFFFFFFFFFFFFFFF)
+ }
+ if (LNotEqual(ii42, 0xFFFFFFFFFFFFFFFE)) {
+ err(ts, z168, 0x051, 0, 0, ii42, 0xFFFFFFFFFFFFFFFE)
+ }
+ if (LNotEqual(ii43, 0xFFFFFFFFFFFFFFFD)) {
+ err(ts, z168, 0x052, 0, 0, ii43, 0xFFFFFFFFFFFFFFFD)
+ }
+ if (LNotEqual(ii44, 0x052167C5)) {
+ err(ts, z168, 0x053, 0, 0, ii44, 0x052167C5)
+ }
+}
+
+Method(ini5)
+{
+ SRMT("in50")
+ in50()
+
+ SRMT("in51")
+ in51(0,0,0,0,0,0,0)
+
+ CH03("ini5", z168, 0x000, 0, 0)
+}
+
diff --git a/tests/aslts/src/runtime/collections/Identity2MS/abbu/method/mt0_abbu.asl b/tests/aslts/src/runtime/collections/Identity2MS/abbu/method/mt0_abbu.asl
new file mode 100644
index 000000000..00b39637c
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/Identity2MS/abbu/method/mt0_abbu.asl
@@ -0,0 +1,3234 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+/*
+ * Tests to check path names with method type syllables
+ */
+
+Name(z169, 169)
+
+
+Processor(pr7d, 0, 0x000, 0x008)
+{
+ Name(iy07, 0xabcd0120)
+}
+
+/*
+ * Test shows maximal supported depth of enclosed method calls on MS
+ */
+Method(mt00)
+{
+ Name(ts, "mt00")
+
+ Name(i000, 0)
+
+ Method(mm00)
+ {
+ Method(mm01)
+ {
+ Method(mm02)
+ {
+ Method(mm03)
+ {
+ Method(mm04)
+ {
+ Method(mm05)
+ {
+ Method(mm06)
+ {
+ Method(mm07)
+ {
+ Method(mm08)
+ {
+ Method(mm09)
+ {
+ Method(mm0a)
+ {
+ Method(mm0b)
+ {
+ // OUTC("Number of calls to methods depends on the length of this message!")
+ OUTC("Max")
+ Store(0xabcd0000, i000)
+ }
+ mm0b()
+ }
+ mm0a()
+ }
+ mm09()
+ }
+ mm08()
+ }
+ mm07()
+ }
+ mm06()
+ }
+ mm05()
+ }
+ mm04()
+ }
+ mm03()
+ }
+ mm02()
+ }
+ mm01()
+ }
+
+ CH03(ts, z169, 0x100, 0, 0)
+
+ mm00()
+
+ if (LNotEqual(i000, 0xabcd0000)) {
+ err(ts, z169, 0x000, 0, 0, i000, 0xabcd0000)
+ }
+
+ CH03(ts, z169, 0x101, 0, 0)
+}
+
+/*
+ * The same as mt00, but contains more depth of enclosed method calls.
+ * To be run on ACPICA only.
+ */
+Method(mt01)
+{
+ Name(ts, "mt01")
+
+ Name(i000, 0)
+
+ Method(mm00)
+ {
+ Method(mm01)
+ {
+ Method(mm02)
+ {
+ Method(mm03)
+ {
+ Method(mm04)
+ {
+ Method(mm05)
+ {
+ Method(mm06)
+ {
+ Method(mm07)
+ {
+ Method(mm08)
+ {
+ Method(mm09)
+ {
+ Method(mm0a)
+ {
+ Method(mm0b)
+ {
+ Method(mm0c)
+ {
+ Method(mm0d)
+ {
+ Method(mm0e)
+ {
+ Method(mm0f)
+ {
+ Method(mm10)
+ {
+ Method(mm11)
+ {
+ Method(mm12)
+ {
+ Method(mm13)
+ {
+ Method(mm14)
+ {
+ Method(mm15)
+ {
+ Method(mm16)
+ {
+ Method(mm17)
+ {
+ Method(mm18)
+ {
+ Method(mm19)
+ {
+ Method(mm1a)
+ {
+ Method(mm1b)
+ {
+ Method(mm1c)
+ {
+ Method(mm1d)
+ {
+ Method(mm1e)
+ {
+ Method(mm1f)
+ {
+ OUTC("Max")
+ Store(0xabcd0000, i000)
+ }
+ mm1f()
+ }
+ mm1e()
+ }
+ mm1d()
+ }
+ mm1c()
+ }
+ mm1b()
+ }
+ mm1a()
+ }
+ mm19()
+ }
+ mm18()
+ }
+ mm17()
+ }
+ mm16()
+ }
+ mm15()
+ }
+ mm14()
+ }
+ mm13()
+ }
+ mm12()
+ }
+ mm11()
+ }
+ mm10()
+ }
+ mm0f()
+ }
+ mm0e()
+ }
+ mm0d()
+ }
+ mm0c()
+ }
+ mm0b()
+ }
+ mm0a()
+ }
+ mm09()
+ }
+ mm08()
+ }
+ mm07()
+ }
+ mm06()
+ }
+ mm05()
+ }
+ mm04()
+ }
+ mm03()
+ }
+ mm02()
+ }
+ mm01()
+ }
+
+ CH03(ts, z169, 0x102, 0, 0)
+
+ mm00()
+
+ if (LNotEqual(i000, 0xabcd0000)) {
+ err(ts, z169, 0x001, 0, 0, i000, 0xabcd0000)
+ }
+
+ CH03(ts, z169, 0x103, 0, 0)
+}
+
+/*
+ * Test shows maximal supported depth of enclosed method calls on MS
+ */
+Method(mt02)
+{
+ Name(ts, "mt02")
+
+ Name(i000, 0)
+
+ Method(mm00)
+ {
+ mm01()
+ }
+ Method(mm01)
+ {
+ mm02()
+ }
+ Method(mm02)
+ {
+ mm03()
+ }
+ Method(mm03)
+ {
+ mm04()
+ }
+ Method(mm04)
+ {
+ mm05()
+ }
+ Method(mm05)
+ {
+ mm06()
+ }
+ Method(mm06)
+ {
+ mm07()
+ }
+ Method(mm07)
+ {
+ mm08()
+ }
+ Method(mm08)
+ {
+ mm09()
+ }
+ Method(mm09)
+ {
+ mm0a()
+ }
+ Method(mm0a)
+ {
+ mm0b()
+ }
+ Method(mm0b)
+ {
+ mm0c()
+ }
+ Method(mm0c)
+ {
+ mm0d()
+ }
+ Method(mm0d)
+ {
+ mm0e()
+ }
+ Method(mm0e)
+ {
+ mm0f()
+ }
+ Method(mm0f)
+ {
+ OUTC("Max")
+ Store(0xabcd0000, i000)
+ }
+
+ CH03(ts, z169, 0x104, 0, 0)
+
+ mm00()
+
+ if (LNotEqual(i000, 0xabcd0000)) {
+ err(ts, z169, 0x002, 0, 0, i000, 0xabcd0000)
+ }
+
+ CH03(ts, z169, 0x105, 0, 0)
+}
+
+/*
+ * The same as mt02, but contains more depth of enclosed method calls.
+ * To be run on ACPICA only.
+ */
+Method(mt03)
+{
+ Name(ts, "mt03")
+
+ Name(i000, 0)
+
+ Method(mm00)
+ {
+ mm01()
+ }
+ Method(mm01)
+ {
+ mm02()
+ }
+ Method(mm02)
+ {
+ mm03()
+ }
+ Method(mm03)
+ {
+ mm04()
+ }
+ Method(mm04)
+ {
+ mm05()
+ }
+ Method(mm05)
+ {
+ mm06()
+ }
+ Method(mm06)
+ {
+ mm07()
+ }
+ Method(mm07)
+ {
+ mm08()
+ }
+ Method(mm08)
+ {
+ mm09()
+ }
+ Method(mm09)
+ {
+ mm0a()
+ }
+ Method(mm0a)
+ {
+ mm0b()
+ }
+ Method(mm0b)
+ {
+ mm0c()
+ }
+ Method(mm0c)
+ {
+ mm0d()
+ }
+ Method(mm0d)
+ {
+ mm0e()
+ }
+ Method(mm0e)
+ {
+ mm0f()
+ }
+ Method(mm0f)
+ {
+ mm10()
+ }
+ Method(mm10)
+ {
+ mm11()
+ }
+ Method(mm11)
+ {
+ mm12()
+ }
+ Method(mm12)
+ {
+ mm13()
+ }
+ Method(mm13)
+ {
+ mm14()
+ }
+ Method(mm14)
+ {
+ mm15()
+ }
+ Method(mm15)
+ {
+ mm16()
+ }
+ Method(mm16)
+ {
+ mm17()
+ }
+ Method(mm17)
+ {
+ mm18()
+ }
+ Method(mm18)
+ {
+ mm19()
+ }
+ Method(mm19)
+ {
+ mm1a()
+ }
+ Method(mm1a)
+ {
+ mm1b()
+ }
+ Method(mm1b)
+ {
+ mm1c()
+ }
+ Method(mm1c)
+ {
+ mm1d()
+ }
+ Method(mm1d)
+ {
+ mm1e()
+ }
+ Method(mm1e)
+ {
+ mm1f()
+ }
+ Method(mm1f)
+ {
+ OUTC("Max")
+ Store(0xabcd0000, i000)
+ }
+
+ CH03(ts, z169, 0x106, 0, 0)
+
+ mm00()
+
+ if (LNotEqual(i000, 0xabcd0000)) {
+ err(ts, z169, 0x003, 0, 0, i000, 0xabcd0000)
+ }
+
+ CH03(ts, z169, 0x107, 0, 0)
+}
+
+/*
+ * Increment object with the name of method in the name path
+ */
+Method(mt04)
+{
+ Name(ts, "mt04")
+
+ Device(dz05)
+ {
+ Name(iy07, 0xabcd0900)
+ }
+
+ Method(mm00)
+ {
+ Method(mm01)
+ {
+ Method(mm02)
+ {
+ Method(mm03)
+ {
+ Method(mm04)
+ {
+ Method(mm05)
+ {
+ Method(mm06)
+ {
+ Method(mm07)
+ {
+ Increment(\_SB_.ABBU.mt04.dz05.iy07)
+ Store (\_SB_.ABBU.mt04.dz05.iy07, Local0)
+ OUTC("mt04, \_SB_.ABBU.mt04.dz05.iy07:")
+ OUTC(Local0)
+ if (LNotEqual(Local0, 0xabcd0909)) {
+ err(ts, z169, 0x004, 0, 0, Local0, 0xabcd0909)
+ }
+ if (LNotEqual(\_SB_.ABBU.mt04.dz05.iy07, 0xabcd0909)) {
+ err(ts, z169, 0x005, 0, 0, \_SB_.ABBU.mt04.dz05.iy07, 0xabcd0909)
+ }
+ }
+ Increment(\_SB_.ABBU.mt04.dz05.iy07)
+ mm07()
+ }
+ Increment(\_SB_.ABBU.mt04.dz05.iy07)
+ mm06()
+ }
+ Increment(\_SB_.ABBU.mt04.dz05.iy07)
+ mm05()
+ }
+ Increment(\_SB_.ABBU.mt04.dz05.iy07)
+ mm04()
+ }
+ Increment(\_SB_.ABBU.mt04.dz05.iy07)
+ mm03()
+ }
+ Increment(\_SB_.ABBU.mt04.dz05.iy07)
+ mm02()
+ }
+ Increment(\_SB_.ABBU.mt04.dz05.iy07)
+ mm01()
+ }
+
+ CH03(ts, z169, 0x006, 0, 0)
+
+ Increment(\_SB_.ABBU.mt04.dz05.iy07)
+ mm00()
+
+ if (LNotEqual(\_SB_.ABBU.mt04.dz05.iy07, 0xabcd0909)) {
+ err(ts, z169, 0x007, 0, 0, \_SB_.ABBU.mt04.dz05.iy07, 0xabcd0909)
+ }
+
+ CH03(ts, z169, 0x008, 0, 0)
+}
+
+/*
+ * The same as mt04, but contains more depth of enclosed method calls.
+ * To be run on ACPICA only.
+ */
+Method(mt05)
+{
+ Name(ts, "mt05")
+
+ Device(dz05)
+ {
+ Name(iy07, 0xabcd0900)
+ }
+ Method(mm00)
+ {
+ Method(mm01)
+ {
+ Method(mm02)
+ {
+ Method(mm03)
+ {
+ Method(mm04)
+ {
+ Method(mm05)
+ {
+ Method(mm06)
+ {
+ Method(mm07)
+ {
+ Method(mm08)
+ {
+ Method(mm09)
+ {
+ Method(mm0a)
+ {
+ Method(mm0b)
+ {
+ Method(mm0c)
+ {
+ Method(mm0d)
+ {
+ Method(mm0e)
+ {
+ Method(mm0f)
+ {
+ Method(mm10)
+ {
+ Method(mm11)
+ {
+ Method(mm12)
+ {
+ Method(mm13)
+ {
+ Method(mm14)
+ {
+ Method(mm15)
+ {
+ Method(mm16)
+ {
+ Method(mm17)
+ {
+ Method(mm18)
+ {
+ Method(mm19)
+ {
+ Method(mm1a)
+ {
+ Method(mm1b)
+ {
+ Method(mm1c)
+ {
+ Method(mm1d)
+ {
+ Method(mm1e)
+ {
+ Method(mm1f)
+ {
+ Increment(\_SB_.ABBU.mt05.dz05.iy07)
+ Store (\_SB_.ABBU.mt05.dz05.iy07, Local0)
+ OUTC("mt05, \_SB_.ABBU.mt05.dz05.iy07:")
+ OUTC(Local0)
+ if (LNotEqual(Local0, 0xabcd0921)) {
+ err(ts, z169, 0x009, 0, 0, Local0, 0xabcd0921)
+ }
+ if (LNotEqual(\_SB_.ABBU.mt05.dz05.iy07, 0xabcd0921)) {
+ err(ts, z169, 0x00a, 0, 0, \_SB_.ABBU.mt05.dz05.iy07, 0xabcd0921)
+ }
+ }
+ Increment(\_SB_.ABBU.mt05.dz05.iy07)
+ mm1f()
+ }
+ Increment(\_SB_.ABBU.mt05.dz05.iy07)
+ mm1e()
+ }
+ Increment(\_SB_.ABBU.mt05.dz05.iy07)
+ mm1d()
+ }
+ Increment(\_SB_.ABBU.mt05.dz05.iy07)
+ mm1c()
+ }
+ Increment(\_SB_.ABBU.mt05.dz05.iy07)
+ mm1b()
+ }
+ Increment(\_SB_.ABBU.mt05.dz05.iy07)
+ mm1a()
+ }
+ Increment(\_SB_.ABBU.mt05.dz05.iy07)
+ mm19()
+ }
+ Increment(\_SB_.ABBU.mt05.dz05.iy07)
+ mm18()
+ }
+ Increment(\_SB_.ABBU.mt05.dz05.iy07)
+ mm17()
+ }
+ Increment(\_SB_.ABBU.mt05.dz05.iy07)
+ mm16()
+ }
+ Increment(\_SB_.ABBU.mt05.dz05.iy07)
+ mm15()
+ }
+ Increment(\_SB_.ABBU.mt05.dz05.iy07)
+ mm14()
+ }
+ Increment(\_SB_.ABBU.mt05.dz05.iy07)
+ mm13()
+ }
+ Increment(\_SB_.ABBU.mt05.dz05.iy07)
+ mm12()
+ }
+ Increment(\_SB_.ABBU.mt05.dz05.iy07)
+ mm11()
+ }
+ Increment(\_SB_.ABBU.mt05.dz05.iy07)
+ mm10()
+ }
+ Increment(\_SB_.ABBU.mt05.dz05.iy07)
+ mm0f()
+ }
+ Increment(\_SB_.ABBU.mt05.dz05.iy07)
+ mm0e()
+ }
+ Increment(\_SB_.ABBU.mt05.dz05.iy07)
+ mm0d()
+ }
+ Increment(\_SB_.ABBU.mt05.dz05.iy07)
+ mm0c()
+ }
+ Increment(\_SB_.ABBU.mt05.dz05.iy07)
+ mm0b()
+ }
+ Increment(\_SB_.ABBU.mt05.dz05.iy07)
+ mm0a()
+ }
+ Increment(\_SB_.ABBU.mt05.dz05.iy07)
+ mm09()
+ }
+ Increment(\_SB_.ABBU.mt05.dz05.iy07)
+ mm08()
+ }
+ Increment(\_SB_.ABBU.mt05.dz05.iy07)
+ mm07()
+ }
+ Increment(\_SB_.ABBU.mt05.dz05.iy07)
+ mm06()
+ }
+ Increment(\_SB_.ABBU.mt05.dz05.iy07)
+ mm05()
+ }
+ Increment(\_SB_.ABBU.mt05.dz05.iy07)
+ mm04()
+ }
+ Increment(\_SB_.ABBU.mt05.dz05.iy07)
+ mm03()
+ }
+ Increment(\_SB_.ABBU.mt05.dz05.iy07)
+ mm02()
+ }
+ Increment(\_SB_.ABBU.mt05.dz05.iy07)
+ mm01()
+ }
+
+ CH03(ts, z169, 0x108, 0, 0)
+
+ Increment(\_SB_.ABBU.mt05.dz05.iy07)
+ mm00()
+
+ if (LNotEqual(\_SB_.ABBU.mt05.dz05.iy07, 0xabcd0909)) {
+ err(ts, z169, 0x00b, 0, 0, \_SB_.ABBU.mt05.dz05.iy07, 0xabcd0909)
+ }
+
+ CH03(ts, z169, 0x109, 0, 0)
+}
+
+/*
+ * Check access to the internal object of method being executed
+ * from the point inside the tree of that method being executed
+ * but by the method statically declared outside that method.
+ */
+Method(mt06)
+{
+ Name(ts, "mt06")
+
+ Device(dz05)
+ {
+ Name(iy07, 0xabcd0900)
+ }
+
+ Method(mm00)
+ {
+ Method(mm01)
+ {
+ Method(mm02)
+ {
+ Method(mm03)
+ {
+ Method(mm04)
+ {
+ Method(mm05)
+ {
+ Method(mm06)
+ {
+ Method(mm07)
+ {
+ Method(mm08)
+ {
+ Method(mm09)
+ {
+ Method(mm0a)
+ {
+ Store (0x11112222, \_SB_.ABBU.mt06.dz05.iy07)
+ }
+ mm0a()
+ }
+ mm09()
+ }
+ mm08()
+ }
+ mm07()
+ }
+ mm06()
+ }
+ mm05()
+ Store (\_SB_.ABBU.mt06.dz05.iy07, Local0)
+ OUTC("mt06, \_SB_.ABBU.mt06.dz05.iy07:")
+ OUTC(Local0)
+ if (LNotEqual(Local0, 0x11112222)) {
+ err(ts, z169, 0x00c, 0, 0, Local0, 0x11112222)
+ }
+ if (LNotEqual(\_SB_.ABBU.mt06.dz05.iy07, 0x11112222)) {
+ err(ts, z169, 0x00d, 0, 0, \_SB_.ABBU.mt06.dz05.iy07, 0x11112222)
+ }
+ }
+ mm04()
+ }
+ mm03()
+ }
+ mm02()
+ }
+ mm01()
+ }
+
+ CH03(ts, z169, 0x10a, 0, 0)
+
+ mm00()
+
+ mt07() // succeeds here
+
+ if (LNotEqual(\_SB_.ABBU.mt06.dz05.iy07, 0x11112222)) {
+ err(ts, z169, 0x00e, 0, 0, \_SB_.ABBU.mt06.dz05.iy07, 0x11112222)
+ }
+
+ CH03(ts, z169, 0x10b, 0, 0)
+}
+
+/*
+ * Access to the internal object of method mt06
+ *
+ * Result differs depending on either mt06 is invoked or not.
+ * Unfortunately, we can run mt06 and mt07 simultaneously only
+ * on the same thread (invocation).
+ */
+Method(mt07)
+{
+ Name(ts, "mt07")
+
+ Method(mm00)
+ {
+ Method(mm01)
+ {
+ Method(mm02)
+ {
+ Method(mm03)
+ {
+ Method(mm04)
+ {
+ Method(mm05)
+ {
+ Method(mm06)
+ {
+ Method(mm07)
+ {
+ Store (\_SB_.ABBU.mt06.dz05.iy07, Local0)
+ OUTC("0 mt07, \_SB_.ABBU.mt06.dz05.iy07:")
+ OUTC(Local0)
+ if (LNotEqual(Local0, 0x11112222)) {
+ err(ts, z169, 0x00f, 0, 0, Local0, 0x11112222)
+ }
+ if (LNotEqual(\_SB_.ABBU.mt06.dz05.iy07, 0x11112222)) {
+ err(ts, z169, 0x010, 0, 0, \_SB_.ABBU.mt06.dz05.iy07, 0x11112222)
+ }
+ }
+ mm07()
+ }
+ mm06()
+ }
+ mm05()
+ }
+ mm04()
+ }
+ mm03()
+ }
+ mm02()
+ }
+ mm01()
+ }
+
+ CH03(ts, z169, 0x10c, 0, 0)
+
+ mm00()
+
+ Store (\_SB_.ABBU.mt06.dz05.iy07, Local0)
+ OUTC("1 mt07, \_SB_.ABBU.mt06.dz05.iy07:")
+ OUTC(Local0)
+ if (LNotEqual(Local0, 0x11112222)) {
+ err(ts, z169, 0x011, 0, 0, Local0, 0x11112222)
+ }
+ if (LNotEqual(\_SB_.ABBU.mt06.dz05.iy07, 0x11112222)) {
+ err(ts, z169, 0x012, 0, 0, \_SB_.ABBU.mt06.dz05.iy07, 0x11112222)
+ }
+
+ CH03(ts, z169, 0x10d, 0, 0)
+}
+
+/*
+ * The same as mt06, but contains more depth of enclosed method calls.
+ * To be run on ACPICA only.
+ */
+Method(mt08)
+{
+ Name(ts, "mt08")
+
+ Device(dz05)
+ {
+ Name(iy07, 0xabcd0900)
+ }
+
+ Method(mm00)
+ {
+ Method(mm01)
+ {
+ Method(mm02)
+ {
+ Method(mm03)
+ {
+ Method(mm04)
+ {
+ Method(mm05)
+ {
+ Method(mm06)
+ {
+ Method(mm07)
+ {
+ Method(mm08)
+ {
+ Method(mm09)
+ {
+ Method(mm0a)
+ {
+ Method(mm0b)
+ {
+ Method(mm0c)
+ {
+ Method(mm0d)
+ {
+ Method(mm0e)
+ {
+ Method(mm0f)
+ {
+ Store (0x22223333, \_SB_.ABBU.mt08.dz05.iy07)
+ }
+ mm0f()
+ }
+ mm0e()
+ }
+ mm0d()
+ }
+ mm0c()
+ }
+ mm0b()
+ }
+ mm0a()
+ }
+ mm09()
+ }
+ mm08()
+ Store (\_SB_.ABBU.mt08.dz05.iy07, Local0)
+ OUTC("mt08, \_SB_.ABBU.mt08.dz05.iy07:")
+ OUTC(Local0)
+ if (LNotEqual(Local0, 0x22223333)) {
+ err(ts, z169, 0x013, 0, 0, Local0, 0x22223333)
+ }
+ if (LNotEqual(\_SB_.ABBU.mt08.dz05.iy07, 0x22223333)) {
+ err(ts, z169, 0x014, 0, 0, \_SB_.ABBU.mt08.dz05.iy07, 0x22223333)
+ }
+ }
+ mm07()
+ }
+ mm06()
+ }
+ mm05()
+ }
+ mm04()
+ }
+ mm03()
+ }
+ mm02()
+ }
+ mm01()
+ }
+
+ CH03(ts, z169, 0x10e, 0, 0)
+
+ mm00()
+
+ mt09() // succeeds here
+
+ if (LNotEqual(\_SB_.ABBU.mt08.dz05.iy07, 0x22223333)) {
+ err(ts, z169, 0x015, 0, 0, \_SB_.ABBU.mt08.dz05.iy07, 0x22223333)
+ }
+
+ CH03(ts, z169, 0x10f, 0, 0)
+}
+
+/*
+ * Access to the internal object of method mt08
+ *
+ * see comment to mt07
+ */
+Method(mt09)
+{
+ Name(ts, "mt09")
+
+ Method(mm00)
+ {
+ Method(mm01)
+ {
+ Method(mm02)
+ {
+ Method(mm03)
+ {
+ Method(mm04)
+ {
+ Method(mm05)
+ {
+ Method(mm06)
+ {
+ Method(mm07)
+ {
+ Method(mm08)
+ {
+ Method(mm09)
+ {
+ Method(mm0a)
+ {
+ Method(mm0b)
+ {
+ Method(mm0c)
+ {
+ Method(mm0d)
+ {
+ Method(mm0e)
+ {
+ Method(mm0f)
+ {
+ Store (\_SB_.ABBU.mt08.dz05.iy07, Local0)
+ OUTC("0 mt09, \_SB_.ABBU.mt08.dz05.iy07:")
+ OUTC(Local0)
+ if (LNotEqual(Local0, 0x22223333)) {
+ err(ts, z169, 0x016, 0, 0, Local0, 0x22223333)
+ }
+ if (LNotEqual(\_SB_.ABBU.mt08.dz05.iy07, 0x22223333)) {
+ err(ts, z169, 0x017, 0, 0, \_SB_.ABBU.mt08.dz05.iy07, 0x22223333)
+ }
+ }
+ mm0f()
+ }
+ mm0e()
+ }
+ mm0d()
+ }
+ mm0c()
+ }
+ mm0b()
+ }
+ mm0a()
+ }
+ mm09()
+ }
+ mm08()
+ }
+ mm07()
+ }
+ mm06()
+ }
+ mm05()
+ }
+ mm04()
+ }
+ mm03()
+ }
+ mm02()
+ }
+ mm01()
+ }
+
+ CH03(ts, z169, 0x110, 0, 0)
+
+ mm00()
+
+ Store (\_SB_.ABBU.mt08.dz05.iy07, Local0)
+ OUTC("1 mt09, \_SB_.ABBU.mt08.dz05.iy07:")
+ OUTC(Local0)
+ if (LNotEqual(Local0, 0x22223333)) {
+ err(ts, z169, 0x018, 0, 0, Local0, 0x22223333)
+ }
+ if (LNotEqual(\_SB_.ABBU.mt08.dz05.iy07, 0x22223333)) {
+ err(ts, z169, 0x019, 0, 0, \_SB_.ABBU.mt08.dz05.iy07, 0x22223333)
+ }
+
+ CH03(ts, z169, 0x111, 0, 0)
+}
+
+/*
+ * Check simple access to the object by the name path
+ * without method name syllables
+ */
+Method(mt0a)
+{
+ Name(ts, "mt0a")
+
+ CH03(ts, z169, 0x112, 0, 0)
+
+ Store (\_SB_.ABBU.pr7d.iy07, Local0)
+ OUTC("mt0a, \_SB_.ABBU.pr7d.iy07:")
+ OUTC(Local0)
+ if (LNotEqual(\_SB_.ABBU.pr7d.iy07, 0xabcd0120)) {
+ err(ts, z169, 0x01a, 0, 0, \_SB_.ABBU.pr7d.iy07, 0xabcd0120)
+ }
+
+ CH03(ts, z169, 0x113, 0, 0)
+}
+
+/*
+ * Simple increment (see comment to mt0a)
+ */
+Method(mt0b)
+{
+ Name(ts, "mt0b")
+
+ CH03(ts, z169, 0x114, 0, 0)
+
+ Increment(\_SB_.ABBU.pr7d.iy07)
+ Store (\_SB_.ABBU.pr7d.iy07, Local0)
+ OUTC("mt0b, \_SB_.ABBU.pr7d.iy07:")
+ OUTC(Local0)
+
+ if (LNotEqual(\_SB_.ABBU.pr7d.iy07, 0xabcd0121)) {
+ err(ts, z169, 0x01b, 0, 0, \_SB_.ABBU.pr7d.iy07, 0xabcd0121)
+ }
+
+ CH03(ts, z169, 0x115, 0, 0)
+}
+
+/*
+ * Check simple access to the object by the name path
+ * which contains the method name syllables
+ */
+Method(mt0c)
+{
+ Name(ts, "mt0c")
+
+ Processor(pr7d, 0, 0x000, 0x008)
+ {
+ Name(iy07, 0xabcd0660)
+ }
+
+ CH03(ts, z169, 0x01c, 0, 0)
+
+ Increment(\_SB_.ABBU.mt0c.pr7d.iy07)
+ Store (\_SB_.ABBU.mt0c.pr7d.iy07, Local0)
+ OUTC("mt0c, \_SB_.ABBU.mt0c.pr7d.iy07:")
+ OUTC(Local0)
+
+ if (LNotEqual(\_SB_.ABBU.mt0c.pr7d.iy07, 0xabcd0661)) {
+ err(ts, z169, 0x01d, 0, 0, \_SB_.ABBU.mt0c.pr7d.iy07, 0xabcd0661)
+ }
+
+ CH03(ts, z169, 0x01e, 0, 0)
+}
+
+/*
+ * Simply long cycle in While
+ */
+Method(mt0d)
+{
+ Name(ts, "mt0d")
+
+ Name(i000, 0xabcd1234)
+
+ CH03(ts, z169, 0x116, 0, 0)
+
+ Store(0, Local0)
+ While (1) {
+ Increment(Local0)
+// if (LEqual(Local0, 0x40000)) {
+ if (LEqual(Local0, 100)) {
+ // Break -- doesn't work on MS
+ OUTC("mt0d, Local0:")
+ OUTC(Local0)
+
+ mt0e()
+
+ CH03(ts, z169, 0x117, 0, 0)
+
+ Return
+ }
+ }
+
+ CH03(ts, z169, 0x118, 0, 0)
+}
+
+/*
+ * Access to the internal object of method mt0d
+ */
+Method(mt0e)
+{
+ Name(ts, "mt0e")
+
+ CH03(ts, z169, 0x119, 0, 0)
+
+ Store (\_SB_.ABBU.mt0d.i000, Local0)
+ OUTC("mt0e, \_SB_.ABBU.mt0d.i000:")
+ OUTC(Local0)
+
+ if (LNotEqual(\_SB_.ABBU.mt0d.i000, 0xabcd1234)) {
+ err(ts, z169, 0x01f, 0, 0, \_SB_.ABBU.mt0d.i000, 0xabcd1234)
+ }
+
+ CH03(ts, z169, 0x11a, 0, 0)
+}
+
+/*
+ * Use Add for incrementing object with the
+ * name of method in the name path.
+ */
+Method(mt0f)
+{
+ Name(ts, "mt0f")
+
+ Device(dz05)
+ {
+ Name(iy07, 0xabcd0900)
+ }
+
+ Method(mm00)
+ {
+ Method(mm01)
+ {
+ Method(mm02)
+ {
+ Method(mm03)
+ {
+ Method(mm04)
+ {
+ Method(mm05)
+ {
+ Method(mm06)
+ {
+ Method(mm07)
+ {
+ Add(\_SB_.ABBU.mt0f.dz05.iy07, 1, \_SB_.ABBU.mt0f.dz05.iy07)
+ Store (\_SB_.ABBU.mt0f.dz05.iy07, Local0)
+ OUTC("mt0f, \_SB_.ABBU.mt0f.dz05.iy07:")
+ OUTC(Local0)
+ if (LNotEqual(Local0, 0xabcd0909)) {
+ err(ts, z169, 0x020, 0, 0, Local0, 0xabcd0909)
+ }
+ if (LNotEqual(\_SB_.ABBU.mt0f.dz05.iy07, 0xabcd0909)) {
+ err(ts, z169, 0x021, 0, 0, \_SB_.ABBU.mt0f.dz05.iy07, 0xabcd0909)
+ }
+ }
+ Add(\_SB_.ABBU.mt0f.dz05.iy07, 1, \_SB_.ABBU.mt0f.dz05.iy07)
+ mm07()
+ }
+ Add(\_SB_.ABBU.mt0f.dz05.iy07, 1, \_SB_.ABBU.mt0f.dz05.iy07)
+ mm06()
+ }
+ Add(\_SB_.ABBU.mt0f.dz05.iy07, 1, \_SB_.ABBU.mt0f.dz05.iy07)
+ mm05()
+ }
+ Add(\_SB_.ABBU.mt0f.dz05.iy07, 1, \_SB_.ABBU.mt0f.dz05.iy07)
+ mm04()
+ }
+ Add(\_SB_.ABBU.mt0f.dz05.iy07, 1, \_SB_.ABBU.mt0f.dz05.iy07)
+ mm03()
+ }
+ Add(\_SB_.ABBU.mt0f.dz05.iy07, 1, \_SB_.ABBU.mt0f.dz05.iy07)
+ mm02()
+ }
+ Add(\_SB_.ABBU.mt0f.dz05.iy07, 1, \_SB_.ABBU.mt0f.dz05.iy07)
+ mm01()
+ }
+
+ CH03(ts, z169, 0x022, 0, 0)
+
+ Add(\_SB_.ABBU.mt0f.dz05.iy07, 1, \_SB_.ABBU.mt0f.dz05.iy07)
+ mm00()
+
+ if (LNotEqual(\_SB_.ABBU.mt0f.dz05.iy07, 0xabcd0909)) {
+ err(ts, z169, 0x023, 0, 0, \_SB_.ABBU.mt0f.dz05.iy07, 0xabcd0909)
+ }
+
+ CH03(ts, z169, 0x024, 0, 0)
+}
+
+/*
+ * The same as mt0f, but contains more depth of enclosed method calls.
+ * To be run on ACPICA only.
+ */
+Method(mt10)
+{
+ Name(ts, "mt10")
+
+ Device(dz05)
+ {
+ Name(iy07, 0xabcd0900)
+ }
+ Method(mm00)
+ {
+ Method(mm01)
+ {
+ Method(mm02)
+ {
+ Method(mm03)
+ {
+ Method(mm04)
+ {
+ Method(mm05)
+ {
+ Method(mm06)
+ {
+ Method(mm07)
+ {
+ Method(mm08)
+ {
+ Method(mm09)
+ {
+ Method(mm0a)
+ {
+ Method(mm0b)
+ {
+ Method(mm0c)
+ {
+ Method(mm0d)
+ {
+ Method(mm0e)
+ {
+ Method(mm0f)
+ {
+ Add(\_SB_.ABBU.mt10.dz05.iy07, 1, \_SB_.ABBU.mt10.dz05.iy07)
+ Store (\_SB_.ABBU.mt10.dz05.iy07, Local0)
+ OUTC("mt10, \_SB_.ABBU.mt10.dz05.iy07:")
+ OUTC(Local0)
+ if (LNotEqual(Local0, 0xabcd0909)) {
+ err(ts, z169, 0x025, 0, 0, Local0, 0xabcd0909)
+ }
+ if (LNotEqual(\_SB_.ABBU.mt10.dz05.iy07, 0xabcd0909)) {
+ err(ts, z169, 0x026, 0, 0, \_SB_.ABBU.mt10.dz05.iy07, 0xabcd0909)
+ }
+ }
+ Add(\_SB_.ABBU.mt10.dz05.iy07, 1, \_SB_.ABBU.mt10.dz05.iy07)
+ mm0f()
+ }
+ Add(\_SB_.ABBU.mt10.dz05.iy07, 1, \_SB_.ABBU.mt10.dz05.iy07)
+ mm0e()
+ }
+ Add(\_SB_.ABBU.mt10.dz05.iy07, 1, \_SB_.ABBU.mt10.dz05.iy07)
+ mm0d()
+ }
+ Add(\_SB_.ABBU.mt10.dz05.iy07, 1, \_SB_.ABBU.mt10.dz05.iy07)
+ mm0c()
+ }
+ Add(\_SB_.ABBU.mt10.dz05.iy07, 1, \_SB_.ABBU.mt10.dz05.iy07)
+ mm0b()
+ }
+ Add(\_SB_.ABBU.mt10.dz05.iy07, 1, \_SB_.ABBU.mt10.dz05.iy07)
+ mm0a()
+ }
+ Add(\_SB_.ABBU.mt10.dz05.iy07, 1, \_SB_.ABBU.mt10.dz05.iy07)
+ mm09()
+ }
+ Add(\_SB_.ABBU.mt10.dz05.iy07, 1, \_SB_.ABBU.mt10.dz05.iy07)
+ mm08()
+ }
+ Add(\_SB_.ABBU.mt10.dz05.iy07, 1, \_SB_.ABBU.mt10.dz05.iy07)
+ mm07()
+ }
+ Add(\_SB_.ABBU.mt10.dz05.iy07, 1, \_SB_.ABBU.mt10.dz05.iy07)
+ mm06()
+ }
+ Add(\_SB_.ABBU.mt10.dz05.iy07, 1, \_SB_.ABBU.mt10.dz05.iy07)
+ mm05()
+ }
+ Add(\_SB_.ABBU.mt10.dz05.iy07, 1, \_SB_.ABBU.mt10.dz05.iy07)
+ mm04()
+ }
+ Add(\_SB_.ABBU.mt10.dz05.iy07, 1, \_SB_.ABBU.mt10.dz05.iy07)
+ mm03()
+ }
+ Add(\_SB_.ABBU.mt10.dz05.iy07, 1, \_SB_.ABBU.mt10.dz05.iy07)
+ mm02()
+ }
+ Add(\_SB_.ABBU.mt10.dz05.iy07, 1, \_SB_.ABBU.mt10.dz05.iy07)
+ mm01()
+ }
+
+ CH03(ts, z169, 0x027, 0, 0)
+
+ Add(\_SB_.ABBU.mt10.dz05.iy07, 1, \_SB_.ABBU.mt10.dz05.iy07)
+ mm00()
+
+ if (LNotEqual(\_SB_.ABBU.mt10.dz05.iy07, 0xabcd0909)) {
+ err(ts, z169, 0x028, 0, 0, \_SB_.ABBU.mt10.dz05.iy07, 0xabcd0909)
+ }
+
+ CH03(ts, z169, 0x029, 0, 0)
+}
+
+/*
+ * Increment with the parent name paths
+ */
+Method(mt11)
+{
+ Name(ts, "mt11")
+
+ Device(dz05)
+ {
+ Name(iy07, 0xabcd0900)
+ }
+
+ Method(mm00)
+ {
+ Method(mm01)
+ {
+ Method(mm02)
+ {
+ Method(mm03)
+ {
+ Method(mm04)
+ {
+ Method(mm05)
+ {
+ Method(mm06)
+ {
+ Method(mm07)
+ {
+ Increment(^^^^^^^^dz05.iy07)
+ Store (^^^^^^^^dz05.iy07, Local0)
+ OUTC("mt11, ^^^^^^^^dz05.iy07:")
+ OUTC(Local0)
+ if (LNotEqual(Local0, 0xabcd0909)) {
+ err(ts, z169, 0x02a, 0, 0, Local0, 0xabcd0909)
+ }
+ if (LNotEqual(^^^^^^^^dz05.iy07, 0xabcd0909)) {
+ err(ts, z169, 0x02b, 0, 0, ^^^^^^^^dz05.iy07, 0xabcd0909)
+ }
+ }
+ Increment(^^^^^^^dz05.iy07)
+ mm07()
+ }
+ Increment(^^^^^^dz05.iy07)
+ mm06()
+ }
+ Increment(^^^^^dz05.iy07)
+ mm05()
+ }
+ Increment(^^^^dz05.iy07)
+ mm04()
+ }
+ Increment(^^^dz05.iy07)
+ mm03()
+ }
+ Increment(^^dz05.iy07)
+ mm02()
+ }
+ Increment(^dz05.iy07)
+ mm01()
+ }
+
+ CH03(ts, z169, 0x02c, 0, 0)
+
+ Increment(dz05.iy07)
+ mm00()
+
+ if (LNotEqual(dz05.iy07, 0xabcd0909)) {
+ err(ts, z169, 0x02d, 0, 0, dz05.iy07, 0xabcd0909)
+ }
+
+ CH03(ts, z169, 0x02e, 0, 0)
+}
+
+/*
+ * The same as mt11, but contains more depth of enclosed method calls.
+ * To be run on ACPICA only.
+ */
+Method(mt12)
+{
+ Name(ts, "mt12")
+
+ Device(dz05)
+ {
+ Name(iy07, 0xabcd0900)
+ }
+ Method(mm00)
+ {
+ Method(mm01)
+ {
+ Method(mm02)
+ {
+ Method(mm03)
+ {
+ Method(mm04)
+ {
+ Method(mm05)
+ {
+ Method(mm06)
+ {
+ Method(mm07)
+ {
+ Method(mm08)
+ {
+ Method(mm09)
+ {
+ Method(mm0a)
+ {
+ Method(mm0b)
+ {
+ Method(mm0c)
+ {
+ Method(mm0d)
+ {
+ Method(mm0e)
+ {
+ Method(mm0f)
+ {
+ Method(mm10)
+ {
+ Method(mm11)
+ {
+ Method(mm12)
+ {
+ Method(mm13)
+ {
+ Method(mm14)
+ {
+ Method(mm15)
+ {
+ Method(mm16)
+ {
+ Method(mm17)
+ {
+ Method(mm18)
+ {
+ Method(mm19)
+ {
+ Method(mm1a)
+ {
+ Method(mm1b)
+ {
+ Method(mm1c)
+ {
+ Method(mm1d)
+ {
+ Method(mm1e)
+ {
+ Method(mm1f)
+ {
+ Increment(^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07)
+ Store (^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, Local0)
+ OUTC("mt12, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07:")
+ OUTC(Local0)
+ if (LNotEqual(Local0, 0xabcd0921)) {
+ err(ts, z169, 0x02f, 0, 0, Local0, 0xabcd0921)
+ }
+ if (LNotEqual(^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd0921)) {
+ err(ts, z169, 0x030, 0, 0, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd0921)
+ }
+ }
+ Increment(^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07)
+ mm1f()
+ }
+ Increment(^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07)
+ mm1e()
+ }
+ Increment(^^^^^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07)
+ mm1d()
+ }
+ Increment(^^^^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07)
+ mm1c()
+ }
+ Increment(^^^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07)
+ mm1b()
+ }
+ Increment(^^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07)
+ mm1a()
+ }
+ Increment(^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07)
+ mm19()
+ }
+ Increment(^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07)
+ mm18()
+ }
+ Increment(^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07)
+ mm17()
+ }
+ Increment(^^^^^^^^^^^^^^^^^^^^^^dz05.iy07)
+ mm16()
+ }
+ Increment(^^^^^^^^^^^^^^^^^^^^^dz05.iy07)
+ mm15()
+ }
+ Increment(^^^^^^^^^^^^^^^^^^^^dz05.iy07)
+ mm14()
+ }
+ Increment(^^^^^^^^^^^^^^^^^^^dz05.iy07)
+ mm13()
+ }
+ Increment(^^^^^^^^^^^^^^^^^^dz05.iy07)
+ mm12()
+ }
+ Increment(^^^^^^^^^^^^^^^^^dz05.iy07)
+ mm11()
+ }
+ Increment(^^^^^^^^^^^^^^^^dz05.iy07)
+ mm10()
+ }
+ Increment(^^^^^^^^^^^^^^^dz05.iy07)
+ mm0f()
+ }
+ Increment(^^^^^^^^^^^^^^dz05.iy07)
+ mm0e()
+ }
+ Increment(^^^^^^^^^^^^^dz05.iy07)
+ mm0d()
+ }
+ Increment(^^^^^^^^^^^^dz05.iy07)
+ mm0c()
+ }
+ Increment(^^^^^^^^^^^dz05.iy07)
+ mm0b()
+ }
+ Increment(^^^^^^^^^^dz05.iy07)
+ mm0a()
+ }
+ Increment(^^^^^^^^^dz05.iy07)
+ mm09()
+ }
+ Increment(^^^^^^^^dz05.iy07)
+ mm08()
+ }
+ Increment(^^^^^^^dz05.iy07)
+ mm07()
+ }
+ Increment(^^^^^^dz05.iy07)
+ mm06()
+ }
+ Increment(^^^^^dz05.iy07)
+ mm05()
+ }
+ Increment(^^^^dz05.iy07)
+ mm04()
+ }
+ Increment(^^^dz05.iy07)
+ mm03()
+ }
+ Increment(^^dz05.iy07)
+ mm02()
+ }
+ Increment(^dz05.iy07)
+ mm01()
+ }
+
+ CH03(ts, z169, 0x11b, 0, 0)
+
+ Increment(dz05.iy07)
+ mm00()
+
+ if (LNotEqual(dz05.iy07, 0xabcd0909)) {
+ err(ts, z169, 0x031, 0, 0, dz05.iy07, 0xabcd0909)
+ }
+
+ CH03(ts, z169, 0x11c, 0, 0)
+}
+
+/*
+ * Simple Store of object with the name of method in the name path
+ */
+Method(mt13)
+{
+ Name(ts, "mt13")
+
+ Device(dz05)
+ {
+ Name(iy07, 0xabcd0500)
+ }
+
+ Method(mm00)
+ {
+ Method(mm01)
+ {
+ Method(mm02)
+ {
+ Method(mm03)
+ {
+ Method(mm04)
+ {
+ Method(mm05)
+ {
+ Method(mm06)
+ {
+ Store (\_SB_.ABBU.mt13.dz05.iy07, Local0)
+ OUTC("mt13, \_SB_.ABBU.mt13.dz05.iy07:")
+ OUTC(Local0)
+ if (LNotEqual(Local0, 0xabcd0500)) {
+ err(ts, z169, 0x032, 0, 0, Local0, 0xabcd0500)
+ }
+ if (LNotEqual(\_SB_.ABBU.mt13.dz05.iy07, 0xabcd0500)) {
+ err(ts, z169, 0x033, 0, 0, \_SB_.ABBU.mt13.dz05.iy07, 0xabcd0500)
+ }
+ }
+ Store (\_SB_.ABBU.mt13.dz05.iy07, Local0)
+ mm06()
+ if (LNotEqual(\_SB_.ABBU.mt13.dz05.iy07, 0xabcd0500)) {
+ err(ts, z169, 0x034, 0, 0, \_SB_.ABBU.mt13.dz05.iy07, 0xabcd0500)
+ }
+ }
+ Store (\_SB_.ABBU.mt13.dz05.iy07, Local0)
+ mm05()
+ if (LNotEqual(\_SB_.ABBU.mt13.dz05.iy07, 0xabcd0500)) {
+ err(ts, z169, 0x035, 0, 0, \_SB_.ABBU.mt13.dz05.iy07, 0xabcd0500)
+ }
+ }
+ Store (\_SB_.ABBU.mt13.dz05.iy07, Local0)
+ mm04()
+ if (LNotEqual(\_SB_.ABBU.mt13.dz05.iy07, 0xabcd0500)) {
+ err(ts, z169, 0x036, 0, 0, \_SB_.ABBU.mt13.dz05.iy07, 0xabcd0500)
+ }
+ }
+ Store (\_SB_.ABBU.mt13.dz05.iy07, Local0)
+ mm03()
+ if (LNotEqual(\_SB_.ABBU.mt13.dz05.iy07, 0xabcd0500)) {
+ err(ts, z169, 0x037, 0, 0, \_SB_.ABBU.mt13.dz05.iy07, 0xabcd0500)
+ }
+ }
+ Store (\_SB_.ABBU.mt13.dz05.iy07, Local0)
+ mm02()
+ if (LNotEqual(\_SB_.ABBU.mt13.dz05.iy07, 0xabcd0500)) {
+ err(ts, z169, 0x038, 0, 0, \_SB_.ABBU.mt13.dz05.iy07, 0xabcd0500)
+ }
+ }
+ Store (\_SB_.ABBU.mt13.dz05.iy07, Local0)
+ mm01()
+ if (LNotEqual(\_SB_.ABBU.mt13.dz05.iy07, 0xabcd0500)) {
+ err(ts, z169, 0x039, 0, 0, \_SB_.ABBU.mt13.dz05.iy07, 0xabcd0500)
+ }
+ }
+
+ CH03(ts, z169, 0x03a, 0, 0)
+
+ Store (\_SB_.ABBU.mt13.dz05.iy07, Local0)
+ mm00()
+
+ if (LNotEqual(\_SB_.ABBU.mt13.dz05.iy07, 0xabcd0500)) {
+ err(ts, z169, 0x03b, 0, 0, \_SB_.ABBU.mt13.dz05.iy07, 0xabcd0500)
+ }
+
+ CH03(ts, z169, 0x03c, 0, 0)
+}
+
+/*
+ * The same as mt13, but contains more depth of enclosed method calls.
+ * To be run on ACPICA only.
+ */
+Method(mt14)
+{
+ Name(ts, "mt14")
+
+ Device(dz05)
+ {
+ Name(iy07, 0xabcd2900)
+ }
+ Method(mm00)
+ {
+ Method(mm01)
+ {
+ Method(mm02)
+ {
+ Method(mm03)
+ {
+ Method(mm04)
+ {
+ Method(mm05)
+ {
+ Method(mm06)
+ {
+ Method(mm07)
+ {
+ Method(mm08)
+ {
+ Method(mm09)
+ {
+ Method(mm0a)
+ {
+ Method(mm0b)
+ {
+ Method(mm0c)
+ {
+ Method(mm0d)
+ {
+ Method(mm0e)
+ {
+ Method(mm0f)
+ {
+ Method(mm10)
+ {
+ Method(mm11)
+ {
+ Method(mm12)
+ {
+ Method(mm13)
+ {
+ Method(mm14)
+ {
+ Method(mm15)
+ {
+ Method(mm16)
+ {
+ Method(mm17)
+ {
+ Method(mm18)
+ {
+ Method(mm19)
+ {
+ Method(mm1a)
+ {
+ Method(mm1b)
+ {
+ Method(mm1c)
+ {
+ Method(mm1d)
+ {
+ Method(mm1e)
+ {
+ Method(mm1f)
+ {
+ Store (\_SB_.ABBU.mt14.dz05.iy07, Local0)
+ OUTC("mt14, \_SB_.ABBU.mt14.dz05.iy07:")
+ OUTC(Local0)
+ if (LNotEqual(Local0, 0xabcd2900)) {
+ err(ts, z169, 0x03d, 0, 0, Local0, 0xabcd2900)
+ }
+ if (LNotEqual(\_SB_.ABBU.mt14.dz05.iy07, 0xabcd2900)) {
+ err(ts, z169, 0x03e, 0, 0, \_SB_.ABBU.mt14.dz05.iy07, 0xabcd2900)
+ }
+ }
+ Store (\_SB_.ABBU.mt14.dz05.iy07, Local0)
+ mm1f()
+ if (LNotEqual(Local0, 0xabcd2900)) {
+ err(ts, z169, 0x03f, 0, 0, Local0, 0xabcd2900)
+ }
+ if (LNotEqual(\_SB_.ABBU.mt14.dz05.iy07, 0xabcd2900)) {
+ err(ts, z169, 0x040, 0, 0, \_SB_.ABBU.mt14.dz05.iy07, 0xabcd2900)
+ }
+ }
+ Store (\_SB_.ABBU.mt14.dz05.iy07, Local0)
+ mm1e()
+ if (LNotEqual(Local0, 0xabcd2900)) {
+ err(ts, z169, 0x041, 0, 0, Local0, 0xabcd2900)
+ }
+ if (LNotEqual(\_SB_.ABBU.mt14.dz05.iy07, 0xabcd2900)) {
+ err(ts, z169, 0x042, 0, 0, \_SB_.ABBU.mt14.dz05.iy07, 0xabcd2900)
+ }
+ }
+ Store (\_SB_.ABBU.mt14.dz05.iy07, Local0)
+ mm1d()
+ if (LNotEqual(Local0, 0xabcd2900)) {
+ err(ts, z169, 0x043, 0, 0, Local0, 0xabcd2900)
+ }
+ if (LNotEqual(\_SB_.ABBU.mt14.dz05.iy07, 0xabcd2900)) {
+ err(ts, z169, 0x044, 0, 0, \_SB_.ABBU.mt14.dz05.iy07, 0xabcd2900)
+ }
+ }
+ Store (\_SB_.ABBU.mt14.dz05.iy07, Local0)
+ mm1c()
+ if (LNotEqual(Local0, 0xabcd2900)) {
+ err(ts, z169, 0x045, 0, 0, Local0, 0xabcd2900)
+ }
+ if (LNotEqual(\_SB_.ABBU.mt14.dz05.iy07, 0xabcd2900)) {
+ err(ts, z169, 0x046, 0, 0, \_SB_.ABBU.mt14.dz05.iy07, 0xabcd2900)
+ }
+ }
+ Store (\_SB_.ABBU.mt14.dz05.iy07, Local0)
+ mm1b()
+ if (LNotEqual(Local0, 0xabcd2900)) {
+ err(ts, z169, 0x047, 0, 0, Local0, 0xabcd2900)
+ }
+ if (LNotEqual(\_SB_.ABBU.mt14.dz05.iy07, 0xabcd2900)) {
+ err(ts, z169, 0x048, 0, 0, \_SB_.ABBU.mt14.dz05.iy07, 0xabcd2900)
+ }
+ }
+ Store (\_SB_.ABBU.mt14.dz05.iy07, Local0)
+ mm1a()
+ if (LNotEqual(Local0, 0xabcd2900)) {
+ err(ts, z169, 0x049, 0, 0, Local0, 0xabcd2900)
+ }
+ if (LNotEqual(\_SB_.ABBU.mt14.dz05.iy07, 0xabcd2900)) {
+ err(ts, z169, 0x04a, 0, 0, \_SB_.ABBU.mt14.dz05.iy07, 0xabcd2900)
+ }
+ }
+ Store (\_SB_.ABBU.mt14.dz05.iy07, Local0)
+ mm19()
+ if (LNotEqual(Local0, 0xabcd2900)) {
+ err(ts, z169, 0x04b, 0, 0, Local0, 0xabcd2900)
+ }
+ if (LNotEqual(\_SB_.ABBU.mt14.dz05.iy07, 0xabcd2900)) {
+ err(ts, z169, 0x04c, 0, 0, \_SB_.ABBU.mt14.dz05.iy07, 0xabcd2900)
+ }
+ }
+ Store (\_SB_.ABBU.mt14.dz05.iy07, Local0)
+ mm18()
+ if (LNotEqual(Local0, 0xabcd2900)) {
+ err(ts, z169, 0x04d, 0, 0, Local0, 0xabcd2900)
+ }
+ if (LNotEqual(\_SB_.ABBU.mt14.dz05.iy07, 0xabcd2900)) {
+ err(ts, z169, 0x04e, 0, 0, \_SB_.ABBU.mt14.dz05.iy07, 0xabcd2900)
+ }
+ }
+ Store (\_SB_.ABBU.mt14.dz05.iy07, Local0)
+ mm17()
+ if (LNotEqual(Local0, 0xabcd2900)) {
+ err(ts, z169, 0x04f, 0, 0, Local0, 0xabcd2900)
+ }
+ if (LNotEqual(\_SB_.ABBU.mt14.dz05.iy07, 0xabcd2900)) {
+ err(ts, z169, 0x050, 0, 0, \_SB_.ABBU.mt14.dz05.iy07, 0xabcd2900)
+ }
+ }
+ Store (\_SB_.ABBU.mt14.dz05.iy07, Local0)
+ mm16()
+ if (LNotEqual(Local0, 0xabcd2900)) {
+ err(ts, z169, 0x051, 0, 0, Local0, 0xabcd2900)
+ }
+ if (LNotEqual(\_SB_.ABBU.mt14.dz05.iy07, 0xabcd2900)) {
+ err(ts, z169, 0x052, 0, 0, \_SB_.ABBU.mt14.dz05.iy07, 0xabcd2900)
+ }
+ }
+ Store (\_SB_.ABBU.mt14.dz05.iy07, Local0)
+ mm15()
+ if (LNotEqual(Local0, 0xabcd2900)) {
+ err(ts, z169, 0x053, 0, 0, Local0, 0xabcd2900)
+ }
+ if (LNotEqual(\_SB_.ABBU.mt14.dz05.iy07, 0xabcd2900)) {
+ err(ts, z169, 0x054, 0, 0, \_SB_.ABBU.mt14.dz05.iy07, 0xabcd2900)
+ }
+ }
+ Store (\_SB_.ABBU.mt14.dz05.iy07, Local0)
+ mm14()
+ if (LNotEqual(Local0, 0xabcd2900)) {
+ err(ts, z169, 0x055, 0, 0, Local0, 0xabcd2900)
+ }
+ if (LNotEqual(\_SB_.ABBU.mt14.dz05.iy07, 0xabcd2900)) {
+ err(ts, z169, 0x056, 0, 0, \_SB_.ABBU.mt14.dz05.iy07, 0xabcd2900)
+ }
+ }
+ Store (\_SB_.ABBU.mt14.dz05.iy07, Local0)
+ mm13()
+ if (LNotEqual(Local0, 0xabcd2900)) {
+ err(ts, z169, 0x057, 0, 0, Local0, 0xabcd2900)
+ }
+ if (LNotEqual(\_SB_.ABBU.mt14.dz05.iy07, 0xabcd2900)) {
+ err(ts, z169, 0x058, 0, 0, \_SB_.ABBU.mt14.dz05.iy07, 0xabcd2900)
+ }
+ }
+ Store (\_SB_.ABBU.mt14.dz05.iy07, Local0)
+ mm12()
+ if (LNotEqual(Local0, 0xabcd2900)) {
+ err(ts, z169, 0x059, 0, 0, Local0, 0xabcd2900)
+ }
+ if (LNotEqual(\_SB_.ABBU.mt14.dz05.iy07, 0xabcd2900)) {
+ err(ts, z169, 0x05a, 0, 0, \_SB_.ABBU.mt14.dz05.iy07, 0xabcd2900)
+ }
+ }
+ Store (\_SB_.ABBU.mt14.dz05.iy07, Local0)
+ mm11()
+ if (LNotEqual(Local0, 0xabcd2900)) {
+ err(ts, z169, 0x05b, 0, 0, Local0, 0xabcd2900)
+ }
+ if (LNotEqual(\_SB_.ABBU.mt14.dz05.iy07, 0xabcd2900)) {
+ err(ts, z169, 0x05c, 0, 0, \_SB_.ABBU.mt14.dz05.iy07, 0xabcd2900)
+ }
+ }
+ Store (\_SB_.ABBU.mt14.dz05.iy07, Local0)
+ mm10()
+ if (LNotEqual(Local0, 0xabcd2900)) {
+ err(ts, z169, 0x05d, 0, 0, Local0, 0xabcd2900)
+ }
+ if (LNotEqual(\_SB_.ABBU.mt14.dz05.iy07, 0xabcd2900)) {
+ err(ts, z169, 0x05e, 0, 0, \_SB_.ABBU.mt14.dz05.iy07, 0xabcd2900)
+ }
+ }
+ Store (\_SB_.ABBU.mt14.dz05.iy07, Local0)
+ mm0f()
+ if (LNotEqual(Local0, 0xabcd2900)) {
+ err(ts, z169, 0x05f, 0, 0, Local0, 0xabcd2900)
+ }
+ if (LNotEqual(\_SB_.ABBU.mt14.dz05.iy07, 0xabcd2900)) {
+ err(ts, z169, 0x060, 0, 0, \_SB_.ABBU.mt14.dz05.iy07, 0xabcd2900)
+ }
+ }
+ Store (\_SB_.ABBU.mt14.dz05.iy07, Local0)
+ mm0e()
+ if (LNotEqual(Local0, 0xabcd2900)) {
+ err(ts, z169, 0x061, 0, 0, Local0, 0xabcd2900)
+ }
+ if (LNotEqual(\_SB_.ABBU.mt14.dz05.iy07, 0xabcd2900)) {
+ err(ts, z169, 0x062, 0, 0, \_SB_.ABBU.mt14.dz05.iy07, 0xabcd2900)
+ }
+ }
+ Store (\_SB_.ABBU.mt14.dz05.iy07, Local0)
+ mm0d()
+ if (LNotEqual(Local0, 0xabcd2900)) {
+ err(ts, z169, 0x063, 0, 0, Local0, 0xabcd2900)
+ }
+ if (LNotEqual(\_SB_.ABBU.mt14.dz05.iy07, 0xabcd2900)) {
+ err(ts, z169, 0x064, 0, 0, \_SB_.ABBU.mt14.dz05.iy07, 0xabcd2900)
+ }
+ }
+ Store (\_SB_.ABBU.mt14.dz05.iy07, Local0)
+ mm0c()
+ if (LNotEqual(Local0, 0xabcd2900)) {
+ err(ts, z169, 0x065, 0, 0, Local0, 0xabcd2900)
+ }
+ if (LNotEqual(\_SB_.ABBU.mt14.dz05.iy07, 0xabcd2900)) {
+ err(ts, z169, 0x066, 0, 0, \_SB_.ABBU.mt14.dz05.iy07, 0xabcd2900)
+ }
+ }
+ Store (\_SB_.ABBU.mt14.dz05.iy07, Local0)
+ mm0b()
+ if (LNotEqual(Local0, 0xabcd2900)) {
+ err(ts, z169, 0x067, 0, 0, Local0, 0xabcd2900)
+ }
+ if (LNotEqual(\_SB_.ABBU.mt14.dz05.iy07, 0xabcd2900)) {
+ err(ts, z169, 0x068, 0, 0, \_SB_.ABBU.mt14.dz05.iy07, 0xabcd2900)
+ }
+ }
+ Store (\_SB_.ABBU.mt14.dz05.iy07, Local0)
+ mm0a()
+ if (LNotEqual(Local0, 0xabcd2900)) {
+ err(ts, z169, 0x069, 0, 0, Local0, 0xabcd2900)
+ }
+ if (LNotEqual(\_SB_.ABBU.mt14.dz05.iy07, 0xabcd2900)) {
+ err(ts, z169, 0x06a, 0, 0, \_SB_.ABBU.mt14.dz05.iy07, 0xabcd2900)
+ }
+ }
+ Store (\_SB_.ABBU.mt14.dz05.iy07, Local0)
+ mm09()
+ if (LNotEqual(Local0, 0xabcd2900)) {
+ err(ts, z169, 0x06b, 0, 0, Local0, 0xabcd2900)
+ }
+ if (LNotEqual(\_SB_.ABBU.mt14.dz05.iy07, 0xabcd2900)) {
+ err(ts, z169, 0x06c, 0, 0, \_SB_.ABBU.mt14.dz05.iy07, 0xabcd2900)
+ }
+ }
+ Store (\_SB_.ABBU.mt14.dz05.iy07, Local0)
+ mm08()
+ if (LNotEqual(Local0, 0xabcd2900)) {
+ err(ts, z169, 0x06d, 0, 0, Local0, 0xabcd2900)
+ }
+ if (LNotEqual(\_SB_.ABBU.mt14.dz05.iy07, 0xabcd2900)) {
+ err(ts, z169, 0x06e, 0, 0, \_SB_.ABBU.mt14.dz05.iy07, 0xabcd2900)
+ }
+ }
+ Store (\_SB_.ABBU.mt14.dz05.iy07, Local0)
+ mm07()
+ if (LNotEqual(Local0, 0xabcd2900)) {
+ err(ts, z169, 0x06f, 0, 0, Local0, 0xabcd2900)
+ }
+ if (LNotEqual(\_SB_.ABBU.mt14.dz05.iy07, 0xabcd2900)) {
+ err(ts, z169, 0x070, 0, 0, \_SB_.ABBU.mt14.dz05.iy07, 0xabcd2900)
+ }
+ }
+ Store (\_SB_.ABBU.mt14.dz05.iy07, Local0)
+ mm06()
+ if (LNotEqual(Local0, 0xabcd2900)) {
+ err(ts, z169, 0x071, 0, 0, Local0, 0xabcd2900)
+ }
+ if (LNotEqual(\_SB_.ABBU.mt14.dz05.iy07, 0xabcd2900)) {
+ err(ts, z169, 0x072, 0, 0, \_SB_.ABBU.mt14.dz05.iy07, 0xabcd2900)
+ }
+ }
+ Store (\_SB_.ABBU.mt14.dz05.iy07, Local0)
+ mm05()
+ if (LNotEqual(Local0, 0xabcd2900)) {
+ err(ts, z169, 0x073, 0, 0, Local0, 0xabcd2900)
+ }
+ if (LNotEqual(\_SB_.ABBU.mt14.dz05.iy07, 0xabcd2900)) {
+ err(ts, z169, 0x074, 0, 0, \_SB_.ABBU.mt14.dz05.iy07, 0xabcd2900)
+ }
+ }
+ Store (\_SB_.ABBU.mt14.dz05.iy07, Local0)
+ mm04()
+ if (LNotEqual(Local0, 0xabcd2900)) {
+ err(ts, z169, 0x075, 0, 0, Local0, 0xabcd2900)
+ }
+ if (LNotEqual(\_SB_.ABBU.mt14.dz05.iy07, 0xabcd2900)) {
+ err(ts, z169, 0x076, 0, 0, \_SB_.ABBU.mt14.dz05.iy07, 0xabcd2900)
+ }
+ }
+ Store (\_SB_.ABBU.mt14.dz05.iy07, Local0)
+ mm03()
+ if (LNotEqual(Local0, 0xabcd2900)) {
+ err(ts, z169, 0x077, 0, 0, Local0, 0xabcd2900)
+ }
+ if (LNotEqual(\_SB_.ABBU.mt14.dz05.iy07, 0xabcd2900)) {
+ err(ts, z169, 0x078, 0, 0, \_SB_.ABBU.mt14.dz05.iy07, 0xabcd2900)
+ }
+ }
+ Store (\_SB_.ABBU.mt14.dz05.iy07, Local0)
+ mm02()
+ if (LNotEqual(Local0, 0xabcd2900)) {
+ err(ts, z169, 0x079, 0, 0, Local0, 0xabcd2900)
+ }
+ if (LNotEqual(\_SB_.ABBU.mt14.dz05.iy07, 0xabcd2900)) {
+ err(ts, z169, 0x07a, 0, 0, \_SB_.ABBU.mt14.dz05.iy07, 0xabcd2900)
+ }
+ }
+ Store (\_SB_.ABBU.mt14.dz05.iy07, Local0)
+ mm01()
+ if (LNotEqual(Local0, 0xabcd2900)) {
+ err(ts, z169, 0x07b, 0, 0, Local0, 0xabcd2900)
+ }
+ if (LNotEqual(\_SB_.ABBU.mt14.dz05.iy07, 0xabcd2900)) {
+ err(ts, z169, 0x07c, 0, 0, \_SB_.ABBU.mt14.dz05.iy07, 0xabcd2900)
+ }
+ }
+
+ CH03(ts, z169, 0x11d, 0, 0)
+
+ Store (\_SB_.ABBU.mt14.dz05.iy07, Local0)
+ mm00()
+ if (LNotEqual(Local0, 0xabcd2900)) {
+ err(ts, z169, 0x07d, 0, 0, Local0, 0xabcd2900)
+ }
+ if (LNotEqual(\_SB_.ABBU.mt14.dz05.iy07, 0xabcd2900)) {
+ err(ts, z169, 0x07e, 0, 0, \_SB_.ABBU.mt14.dz05.iy07, 0xabcd2900)
+ }
+
+ CH03(ts, z169, 0x11e, 0, 0)
+}
+
+/*
+ * The same as mt14, but contains parent name paths.
+ * To be run on ACPICA only.
+ */
+Method(mt15)
+{
+ Name(ts, "mt15")
+
+ Device(dz05)
+ {
+ Name(iy07, 0xabcd3900)
+ }
+ Method(mm00)
+ {
+ Method(mm01)
+ {
+ Method(mm02)
+ {
+ Method(mm03)
+ {
+ Method(mm04)
+ {
+ Method(mm05)
+ {
+ Method(mm06)
+ {
+ Method(mm07)
+ {
+ Method(mm08)
+ {
+ Method(mm09)
+ {
+ Method(mm0a)
+ {
+ Method(mm0b)
+ {
+ Method(mm0c)
+ {
+ Method(mm0d)
+ {
+ Method(mm0e)
+ {
+ Method(mm0f)
+ {
+ Method(mm10)
+ {
+ Method(mm11)
+ {
+ Method(mm12)
+ {
+ Method(mm13)
+ {
+ Method(mm14)
+ {
+ Method(mm15)
+ {
+ Method(mm16)
+ {
+ Method(mm17)
+ {
+ Method(mm18)
+ {
+ Method(mm19)
+ {
+ Method(mm1a)
+ {
+ Method(mm1b)
+ {
+ Method(mm1c)
+ {
+ Method(mm1d)
+ {
+ Method(mm1e)
+ {
+ Method(mm1f)
+ {
+ Store (^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, Local0)
+ OUTC("mt15, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07:")
+ OUTC(Local0)
+ if (LNotEqual(Local0, 0xabcd3900)) {
+ err(ts, z169, 0x07f, 0, 0, Local0, 0xabcd3900)
+ }
+ if (LNotEqual(^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)) {
+ err(ts, z169, 0x080, 0, 0, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)
+ }
+ }
+ Store (^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, Local0)
+ mm1f()
+ if (LNotEqual(Local0, 0xabcd3900)) {
+ err(ts, z169, 0x081, 0, 0, Local0, 0xabcd3900)
+ }
+ if (LNotEqual(^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)) {
+ err(ts, z169, 0x082, 0, 0, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)
+ }
+ }
+ Store (^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, Local0)
+ mm1e()
+ if (LNotEqual(Local0, 0xabcd3900)) {
+ err(ts, z169, 0x083, 0, 0, Local0, 0xabcd3900)
+ }
+ if (LNotEqual(^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)) {
+ err(ts, z169, 0x084, 0, 0, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)
+ }
+ }
+ Store (^^^^^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, Local0)
+ mm1d()
+ if (LNotEqual(Local0, 0xabcd3900)) {
+ err(ts, z169, 0x085, 0, 0, Local0, 0xabcd3900)
+ }
+ if (LNotEqual(^^^^^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)) {
+ err(ts, z169, 0x086, 0, 0, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)
+ }
+ }
+ Store (^^^^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, Local0)
+ mm1c()
+ if (LNotEqual(Local0, 0xabcd3900)) {
+ err(ts, z169, 0x087, 0, 0, Local0, 0xabcd3900)
+ }
+ if (LNotEqual(^^^^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)) {
+ err(ts, z169, 0x088, 0, 0, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)
+ }
+ }
+ Store (^^^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, Local0)
+ mm1b()
+ if (LNotEqual(Local0, 0xabcd3900)) {
+ err(ts, z169, 0x089, 0, 0, Local0, 0xabcd3900)
+ }
+ if (LNotEqual(^^^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)) {
+ err(ts, z169, 0x08a, 0, 0, ^^^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)
+ }
+ }
+ Store (^^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, Local0)
+ mm1a()
+ if (LNotEqual(Local0, 0xabcd3900)) {
+ err(ts, z169, 0x08b, 0, 0, Local0, 0xabcd3900)
+ }
+ if (LNotEqual(^^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)) {
+ err(ts, z169, 0x08c, 0, 0, ^^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)
+ }
+ }
+ Store (^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, Local0)
+ mm19()
+ if (LNotEqual(Local0, 0xabcd3900)) {
+ err(ts, z169, 0x08d, 0, 0, Local0, 0xabcd3900)
+ }
+ if (LNotEqual(^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)) {
+ err(ts, z169, 0x08e, 0, 0, ^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)
+ }
+ }
+ Store (^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, Local0)
+ mm18()
+ if (LNotEqual(Local0, 0xabcd3900)) {
+ err(ts, z169, 0x08f, 0, 0, Local0, 0xabcd3900)
+ }
+ if (LNotEqual(^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)) {
+ err(ts, z169, 0x090, 0, 0, ^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)
+ }
+ }
+ Store (^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, Local0)
+ mm17()
+ if (LNotEqual(Local0, 0xabcd3900)) {
+ err(ts, z169, 0x091, 0, 0, Local0, 0xabcd3900)
+ }
+ if (LNotEqual(^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)) {
+ err(ts, z169, 0x092, 0, 0, ^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)
+ }
+ }
+ Store (^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, Local0)
+ mm16()
+ if (LNotEqual(Local0, 0xabcd3900)) {
+ err(ts, z169, 0x093, 0, 0, Local0, 0xabcd3900)
+ }
+ if (LNotEqual(^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)) {
+ err(ts, z169, 0x094, 0, 0, ^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)
+ }
+ }
+ Store (^^^^^^^^^^^^^^^^^^^^^dz05.iy07, Local0)
+ mm15()
+ if (LNotEqual(Local0, 0xabcd3900)) {
+ err(ts, z169, 0x095, 0, 0, Local0, 0xabcd3900)
+ }
+ if (LNotEqual(^^^^^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)) {
+ err(ts, z169, 0x096, 0, 0, ^^^^^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)
+ }
+ }
+ Store (^^^^^^^^^^^^^^^^^^^^dz05.iy07, Local0)
+ mm14()
+ if (LNotEqual(Local0, 0xabcd3900)) {
+ err(ts, z169, 0x097, 0, 0, Local0, 0xabcd3900)
+ }
+ if (LNotEqual(^^^^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)) {
+ err(ts, z169, 0x098, 0, 0, ^^^^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)
+ }
+ }
+ Store (^^^^^^^^^^^^^^^^^^^dz05.iy07, Local0)
+ mm13()
+ if (LNotEqual(Local0, 0xabcd3900)) {
+ err(ts, z169, 0x099, 0, 0, Local0, 0xabcd3900)
+ }
+ if (LNotEqual(^^^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)) {
+ err(ts, z169, 0x09a, 0, 0, ^^^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)
+ }
+ }
+ Store (^^^^^^^^^^^^^^^^^^dz05.iy07, Local0)
+ mm12()
+ if (LNotEqual(Local0, 0xabcd3900)) {
+ err(ts, z169, 0x09b, 0, 0, Local0, 0xabcd3900)
+ }
+ if (LNotEqual(^^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)) {
+ err(ts, z169, 0x09c, 0, 0, ^^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)
+ }
+ }
+ Store (^^^^^^^^^^^^^^^^^dz05.iy07, Local0)
+ mm11()
+ if (LNotEqual(Local0, 0xabcd3900)) {
+ err(ts, z169, 0x09d, 0, 0, Local0, 0xabcd3900)
+ }
+ if (LNotEqual(^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)) {
+ err(ts, z169, 0x09e, 0, 0, ^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)
+ }
+ }
+ Store (^^^^^^^^^^^^^^^^dz05.iy07, Local0)
+ mm10()
+ if (LNotEqual(Local0, 0xabcd3900)) {
+ err(ts, z169, 0x09f, 0, 0, Local0, 0xabcd3900)
+ }
+ if (LNotEqual(^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)) {
+ err(ts, z169, 0x0a0, 0, 0, ^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)
+ }
+ }
+ Store (^^^^^^^^^^^^^^^dz05.iy07, Local0)
+ mm0f()
+ if (LNotEqual(Local0, 0xabcd3900)) {
+ err(ts, z169, 0x0a1, 0, 0, Local0, 0xabcd3900)
+ }
+ if (LNotEqual(^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)) {
+ err(ts, z169, 0x0a2, 0, 0, ^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)
+ }
+ }
+ Store (^^^^^^^^^^^^^^dz05.iy07, Local0)
+ mm0e()
+ if (LNotEqual(Local0, 0xabcd3900)) {
+ err(ts, z169, 0x0a3, 0, 0, Local0, 0xabcd3900)
+ }
+ if (LNotEqual(^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)) {
+ err(ts, z169, 0x0a4, 0, 0, ^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)
+ }
+ }
+ Store (^^^^^^^^^^^^^dz05.iy07, Local0)
+ mm0d()
+ if (LNotEqual(Local0, 0xabcd3900)) {
+ err(ts, z169, 0x0a5, 0, 0, Local0, 0xabcd3900)
+ }
+ if (LNotEqual(^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)) {
+ err(ts, z169, 0x0a6, 0, 0, ^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)
+ }
+ }
+ Store (^^^^^^^^^^^^dz05.iy07, Local0)
+ mm0c()
+ if (LNotEqual(Local0, 0xabcd3900)) {
+ err(ts, z169, 0x0a7, 0, 0, Local0, 0xabcd3900)
+ }
+ if (LNotEqual(^^^^^^^^^^^^dz05.iy07, 0xabcd3900)) {
+ err(ts, z169, 0x0a8, 0, 0, ^^^^^^^^^^^^dz05.iy07, 0xabcd3900)
+ }
+ }
+ Store (^^^^^^^^^^^dz05.iy07, Local0)
+ mm0b()
+ if (LNotEqual(Local0, 0xabcd3900)) {
+ err(ts, z169, 0x0a9, 0, 0, Local0, 0xabcd3900)
+ }
+ if (LNotEqual(^^^^^^^^^^^dz05.iy07, 0xabcd3900)) {
+ err(ts, z169, 0x0aa, 0, 0, ^^^^^^^^^^^dz05.iy07, 0xabcd3900)
+ }
+ }
+ Store (^^^^^^^^^^dz05.iy07, Local0)
+ mm0a()
+ if (LNotEqual(Local0, 0xabcd3900)) {
+ err(ts, z169, 0x0ab, 0, 0, Local0, 0xabcd3900)
+ }
+ if (LNotEqual(^^^^^^^^^^dz05.iy07, 0xabcd3900)) {
+ err(ts, z169, 0x0ac, 0, 0, ^^^^^^^^^^dz05.iy07, 0xabcd3900)
+ }
+ }
+ Store (^^^^^^^^^dz05.iy07, Local0)
+ mm09()
+ if (LNotEqual(Local0, 0xabcd3900)) {
+ err(ts, z169, 0x0ad, 0, 0, Local0, 0xabcd3900)
+ }
+ if (LNotEqual(^^^^^^^^^dz05.iy07, 0xabcd3900)) {
+ err(ts, z169, 0x0ae, 0, 0, ^^^^^^^^^dz05.iy07, 0xabcd3900)
+ }
+ }
+ Store (^^^^^^^^dz05.iy07, Local0)
+ mm08()
+ if (LNotEqual(Local0, 0xabcd3900)) {
+ err(ts, z169, 0x0af, 0, 0, Local0, 0xabcd3900)
+ }
+ if (LNotEqual(^^^^^^^^dz05.iy07, 0xabcd3900)) {
+ err(ts, z169, 0x0b0, 0, 0, ^^^^^^^^dz05.iy07, 0xabcd3900)
+ }
+ }
+ Store (^^^^^^^dz05.iy07, Local0)
+ mm07()
+ if (LNotEqual(Local0, 0xabcd3900)) {
+ err(ts, z169, 0x0b1, 0, 0, Local0, 0xabcd3900)
+ }
+ if (LNotEqual(^^^^^^^dz05.iy07, 0xabcd3900)) {
+ err(ts, z169, 0x0b2, 0, 0, ^^^^^^^dz05.iy07, 0xabcd3900)
+ }
+ }
+ Store (^^^^^^dz05.iy07, Local0)
+ mm06()
+ if (LNotEqual(Local0, 0xabcd3900)) {
+ err(ts, z169, 0x0b3, 0, 0, Local0, 0xabcd3900)
+ }
+ if (LNotEqual(^^^^^^dz05.iy07, 0xabcd3900)) {
+ err(ts, z169, 0x0b4, 0, 0, ^^^^^^dz05.iy07, 0xabcd3900)
+ }
+ }
+ Store (^^^^^dz05.iy07, Local0)
+ mm05()
+ if (LNotEqual(Local0, 0xabcd3900)) {
+ err(ts, z169, 0x0b5, 0, 0, Local0, 0xabcd3900)
+ }
+ if (LNotEqual(^^^^^dz05.iy07, 0xabcd3900)) {
+ err(ts, z169, 0x0b6, 0, 0, ^^^^^dz05.iy07, 0xabcd3900)
+ }
+ }
+ Store (^^^^dz05.iy07, Local0)
+ mm04()
+ if (LNotEqual(Local0, 0xabcd3900)) {
+ err(ts, z169, 0x0b7, 0, 0, Local0, 0xabcd3900)
+ }
+ if (LNotEqual(^^^^dz05.iy07, 0xabcd3900)) {
+ err(ts, z169, 0x0b8, 0, 0, ^^^^dz05.iy07, 0xabcd3900)
+ }
+ }
+ Store (^^^dz05.iy07, Local0)
+ mm03()
+ if (LNotEqual(Local0, 0xabcd3900)) {
+ err(ts, z169, 0x0b9, 0, 0, Local0, 0xabcd3900)
+ }
+ if (LNotEqual(^^^dz05.iy07, 0xabcd3900)) {
+ err(ts, z169, 0x0ba, 0, 0, ^^^dz05.iy07, 0xabcd3900)
+ }
+ }
+ Store (^^dz05.iy07, Local0)
+ mm02()
+ if (LNotEqual(Local0, 0xabcd3900)) {
+ err(ts, z169, 0x0bb, 0, 0, Local0, 0xabcd3900)
+ }
+ if (LNotEqual(^^dz05.iy07, 0xabcd3900)) {
+ err(ts, z169, 0x0bc, 0, 0, ^^dz05.iy07, 0xabcd3900)
+ }
+ }
+ Store (^dz05.iy07, Local0)
+ mm01()
+ if (LNotEqual(Local0, 0xabcd3900)) {
+ err(ts, z169, 0x0bd, 0, 0, Local0, 0xabcd3900)
+ }
+ if (LNotEqual(^dz05.iy07, 0xabcd3900)) {
+ err(ts, z169, 0x0be, 0, 0, ^dz05.iy07, 0xabcd3900)
+ }
+ }
+
+ CH03(ts, z169, 0x11f, 0, 0)
+
+ Store (dz05.iy07, Local0)
+ mm00()
+ if (LNotEqual(Local0, 0xabcd3900)) {
+ err(ts, z169, 0x0bf, 0, 0, Local0, 0xabcd3900)
+ }
+ if (LNotEqual(dz05.iy07, 0xabcd3900)) {
+ err(ts, z169, 0x0c0, 0, 0, dz05.iy07, 0xabcd3900)
+ }
+
+ CH03(ts, z169, 0x120, 0, 0)
+}
+
+/*
+ * Access to the internal object of invoked method
+ */
+Method(mt16, 1)
+{
+ Name(ts, "mt16")
+
+ Name(i000, 0)
+ Name(i001, 0)
+
+ Method(mm00)
+ {
+ Method(mm01)
+ {
+ Method(mm02)
+ {
+ Method(mm03)
+ {
+ Method(mm04)
+ {
+ Device(dz05)
+ {
+ Name(iy07, 0xabcd4900)
+ }
+ if (LEqual(i001, 1)) {
+ Store(0xabcd4904, dz05.iy07)
+ m001(1)
+ } elseif (LEqual(i001, 2)) {
+ Store(0xabcd4905, dz05.iy07)
+ m001(2)
+ } elseif (LEqual(i001, 3)) {
+ m001(3)
+ }
+ }
+ mm04()
+ }
+ mm03()
+ }
+ mm02()
+ }
+ mm01()
+ }
+
+ Method(m000)
+ {
+ Store (^mm00.mm01.mm02.mm03.mm04.dz05.iy07, i000)
+ }
+
+ Method(m001, 1)
+ {
+ Method(mmF1, 1)
+ {
+ Method(mmF2, 1)
+ {
+ Device(dz05)
+ {
+ Name(iy07, 0xabcd6900)
+ }
+ if (LEqual(arg0, 1)) {
+ Store (\_SB_.ABBU.mt16.mm00.mm01.mm02.mm03.mm04.dz05.iy07, i000)
+ } elseif (LEqual(arg0, 2)) {
+ Store (^^^mm00.mm01.mm02.mm03.mm04.dz05.iy07, i000)
+ } elseif (LEqual(arg0, 3)) {
+ Store (^^mmF1.mmF2.dz05.iy07, i000)
+ }
+ }
+ mmF2(arg0)
+ }
+ mmF1(arg0)
+ }
+
+ CH03(ts, z169, 0x0c1, 0, 0)
+
+ if (LEqual(arg0, 0)) {
+ // Access to the internal data of method (mm00...) not being invoked
+ m000()
+ CH04(ts, 0, 5, z169, 0x0c2, 0, 0) // AE_NOT_FOUND
+ } elseif (LEqual(arg0, 1)) {
+
+ // Access to the internal data of method (mm00...) being invoked
+ // by \_SB_.ABBU.mt16.mm00....
+
+ Store(1, i001)
+ mm00()
+ if (LNotEqual(i000, 0xabcd4904)) {
+ err(ts, z169, 0x0c3, 0, 0, i000, 0xabcd4904)
+ }
+ } elseif (LEqual(arg0, 2)) {
+
+ // Access to the internal data of method (mm00...) being invoked
+ // by ^^^^^^^^^^^^mm00...
+
+ Store(2, i001)
+ mm00()
+ if (LNotEqual(i000, 0xabcd4905)) {
+ err(ts, z169, 0x0c4, 0, 0, i000, 0xabcd4905)
+ }
+
+ } elseif (LEqual(arg0, 3)) {
+
+ // Access to the internal data of method (m001.mmF1.mmF2.mmF3.dz05.iy07...)
+ // being invoked by ^^^^^^^^^^^^mm01...
+
+ Store(3, i001)
+ mm00()
+ if (LNotEqual(i000, 0xabcd6900)) {
+ err(ts, z169, 0x0c4, 0, 0, i000, 0xabcd6900)
+ }
+ }
+
+ CH03(ts, z169, 0x0c5, 0, 0)
+}
+
+/*
+ * The same as mt16, but contains more depth of enclosed method calls.
+ * To be run on ACPICA only.
+ */
+Method(mt17, 1)
+{
+ Name(ts, "mt17")
+
+ Name(i000, 0)
+ Name(i001, 0)
+
+ Method(mm00)
+ {
+ Method(mm01)
+ {
+ Method(mm02)
+ {
+ Method(mm03)
+ {
+ Method(mm04)
+ {
+ Method(mm05)
+ {
+ Method(mm06)
+ {
+ Method(mm07)
+ {
+ Method(mm08)
+ {
+ Method(mm09)
+ {
+ Method(mm0a)
+ {
+ Method(mm0b)
+ {
+ Method(mm0c)
+ {
+ Method(mm0d)
+ {
+ Method(mm0e)
+ {
+ Method(mm0f)
+ {
+ Method(mm10)
+ {
+ Method(mm11)
+ {
+ Method(mm12)
+ {
+ Method(mm13)
+ {
+ Method(mm14)
+ {
+ Method(mm15)
+ {
+ Method(mm16)
+ {
+ Method(mm17)
+ {
+ Method(mm18)
+ {
+ Method(mm19)
+ {
+ Method(mm1a)
+ {
+ Method(mm1b)
+ {
+ Method(mm1c)
+ {
+ Method(mm1d)
+ {
+ Method(mm1e)
+ {
+ Method(mm1f)
+ {
+ Method(mm20)
+ {
+ Method(mm21)
+ {
+ Device(dz05)
+ {
+ Name(iy07, 0xabcd5900)
+ }
+ Method(mm22)
+ {
+ Method(mm23)
+ {
+ Method(mm24)
+ {
+ Method(mm25)
+ {
+ if (LEqual(i001, 1)) {
+ Store(0xabcd4906, ^^^^dz05.iy07)
+ m001(1)
+ } elseif (LEqual(i001, 2)) {
+ Store(0xabcd4907, ^^^^dz05.iy07)
+ m001(2)
+ } elseif (LEqual(i001, 3)) {
+ m001(3)
+ }
+ }
+ mm25()
+ }
+ mm24()
+ }
+ mm23()
+ }
+ mm22()
+ }
+ mm21()
+ }
+ mm20()
+ }
+ mm1f()
+ }
+ mm1e()
+ }
+ mm1d()
+ }
+ mm1c()
+ }
+ mm1b()
+ }
+ mm1a()
+ }
+ mm19()
+ }
+ mm18()
+ }
+ mm17()
+ }
+ mm16()
+ }
+ mm15()
+ }
+ mm14()
+ }
+ mm13()
+ }
+ mm12()
+ }
+ mm11()
+ }
+ mm10()
+ }
+ mm0f()
+ }
+ mm0e()
+ }
+ mm0d()
+ }
+ mm0c()
+ }
+ mm0b()
+ }
+ mm0a()
+ }
+ mm09()
+ }
+ mm08()
+ }
+ mm07()
+ }
+ mm06()
+ }
+ mm05()
+ }
+ mm04()
+ }
+ mm03()
+ }
+ mm02()
+ }
+ mm01()
+ }
+
+ Method(m000)
+ {
+ Store (^mm00.mm01.mm02.mm03.mm04.mm05.mm06.mm07.mm08.mm09.mm0a.mm0b.mm0c.mm0d.mm0e.mm0f.mm10.mm11.mm12.mm13.mm14.mm15.mm16.mm17.mm18.mm19.mm1a.mm1b.mm1c.mm1d.mm1e.mm1f.mm20.mm21.dz05.iy07, i000)
+ }
+
+ Method(m001, 1)
+ {
+ Method(mmF1, 1)
+ {
+ Method(mmF2, 1)
+ {
+ Method(mmF3, 1)
+ {
+ Method(mmF4, 1)
+ {
+ Method(mmF5, 1)
+ {
+ Method(mmF6, 1)
+ {
+ Method(mmF7, 1)
+ {
+ Method(mmF8, 1)
+ {
+ Method(mmF9, 1)
+ {
+ Method(mmFa, 1)
+ {
+ Method(mmFb, 1)
+ {
+ Method(mmFc, 1)
+ {
+ Method(mmFd, 1)
+ {
+ Method(mmFe, 1)
+ {
+ Method(mmFf, 1)
+ {
+ Method(mm10, 1)
+ {
+ Method(mm11, 1)
+ {
+ Device(dz05)
+ {
+ Name(iy07, 0xabcd4908)
+ }
+ Method(mm12, 1)
+ {
+ Method(mm13, 1)
+ {
+ Method(mm14, 1)
+ {
+ Method(mm15, 1)
+ {
+ Method(mm16, 1)
+ {
+ Method(mm17, 1)
+ {
+ Method(mm18, 1)
+ {
+ Method(mm19, 1)
+ {
+ Method(mm1a, 1)
+ {
+ Method(mm1b, 1)
+ {
+ Method(mm1c, 1)
+ {
+ Method(mm1d, 1)
+ {
+ Method(mm1e, 1)
+ {
+ Method(mm1f, 1)
+ {
+if (LEqual(arg0, 1)) {
+ Store (\_SB_.ABBU.mt17.mm00.mm01.mm02.mm03.mm04.mm05.mm06.mm07.mm08.mm09.mm0a.mm0b.mm0c.mm0d.mm0e.mm0f.mm10.mm11.mm12.mm13.mm14.mm15.mm16.mm17.mm18.mm19.mm1a.mm1b.mm1c.mm1d.mm1e.mm1f.mm20.mm21.dz05.iy07, i000)
+} elseif (LEqual(arg0, 2)) {
+ Store (^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^mm00.mm01.mm02.mm03.mm04.mm05.mm06.mm07.mm08.mm09.mm0a.mm0b.mm0c.mm0d.mm0e.mm0f.mm10.mm11.mm12.mm13.mm14.mm15.mm16.mm17.mm18.mm19.mm1a.mm1b.mm1c.mm1d.mm1e.mm1f.mm20.mm21.dz05.iy07, i000)
+} elseif (LEqual(arg0, 3)) {
+ Store (^^^^^^^^^^^^^^^^^^^^^^^^^^mmF6.mmF7.mmF8.mmF9.mmFa.mmFb.mmFc.mmFd.mmFe.mmFf.mm10.mm11.dz05.iy07, i000)
+}
+ }
+ mm1f(arg0)
+ }
+ mm1e(arg0)
+ }
+ mm1d(arg0)
+ }
+ mm1c(arg0)
+ }
+ mm1b(arg0)
+ }
+ mm1a(arg0)
+ }
+ mm19(arg0)
+ }
+ mm18(arg0)
+ }
+ mm17(arg0)
+ }
+ mm16(arg0)
+ }
+ mm15(arg0)
+ }
+ mm14(arg0)
+ }
+ mm13(arg0)
+ }
+ mm12(arg0)
+ }
+ mm11(arg0)
+ }
+ mm10(arg0)
+ }
+ mmFf(arg0)
+ }
+ mmFe(arg0)
+ }
+ mmFd(arg0)
+ }
+ mmFc(arg0)
+ }
+ mmFb(arg0)
+ }
+ mmFa(arg0)
+ }
+ mmF9(arg0)
+ }
+ mmF8(arg0)
+ }
+ mmF7(arg0)
+ }
+ mmF6(arg0)
+ }
+ mmF5(arg0)
+ }
+ mmF4(arg0)
+ }
+ mmF3(arg0)
+ }
+ mmF2(arg0)
+ }
+ mmF1(arg0)
+ }
+
+ CH03(ts, z169, 0x0c6, 0, 0)
+
+ if (LEqual(arg0, 0)) {
+ // Access to the internal data of method (mm00...) not being invoked
+ m000()
+ CH04(ts, 0, 5, z169, 0x0c7, 0, 0) // AE_NOT_FOUND
+ } elseif (LEqual(arg0, 1)) {
+
+ // Access to the internal data of method (mm00...) being invoked
+ // by \_SB_.ABBU.mt16.mm00....
+
+ Store(1, i001)
+ mm00()
+ if (LNotEqual(i000, 0xabcd4906)) {
+ err(ts, z169, 0x0c8, 0, 0, i000, 0xabcd4906)
+ }
+ } elseif (LEqual(arg0, 2)) {
+
+ // Access to the internal data of method (mm00...) being invoked
+ // by ^^^^^^^^^^^^mm00...
+
+ Store(2, i001)
+ mm00()
+ if (LNotEqual(i000, 0xabcd4907)) {
+ err(ts, z169, 0x0c9, 0, 0, i000, 0xabcd4907)
+ }
+
+ } elseif (LEqual(arg0, 3)) {
+
+ // Access to the internal data of method (m001.mmF1.mmF2.mmF3.dz05.iy07...)
+ // being invoked by ^^^^^^^^^^^^mm01...
+
+ Store(3, i001)
+ mm00()
+ if (LNotEqual(i000, 0xabcd4908)) {
+ err(ts, z169, 0x0ca, 0, 0, i000, 0xabcd4908)
+ }
+ }
+
+ CH03(ts, z169, 0x0cb, 0, 0)
+}
+
+Method(mt18, 1)
+{
+ Name(ts, "mt18")
+
+ Device(dz05)
+ {
+ Name(iy07, 0xabcd4900)
+ }
+
+ CH03(ts, z169, 0x0cc, 0, 0)
+
+ if (arg0) {
+ Store(0xabcd9000, \_SB_.ABBU.mt18.dz05.iy07)
+ if (LNotEqual(\_SB_.ABBU.mt18.dz05.iy07, 0xabcd9000)) {
+ err(ts, z169, 0x0ca, 0, 0, \_SB_.ABBU.mt18.dz05.iy07, 0xabcd9000)
+ }
+ } else {
+ Store(0xabcd9001, dz05.iy07)
+ if (LNotEqual(dz05.iy07, 0xabcd9001)) {
+ err(ts, z169, 0x0ca, 0, 0, dz05.iy07, 0xabcd9001)
+ }
+ }
+
+ CH03(ts, z169, 0x0cd, 0, 0)
+}
+
+Method(mt19, 1)
+{
+ Name(ts, "mt19")
+
+ Processor(pr7d, 0, 0x000, 0x008)
+ {
+ Name(iy07, 0xabcd0660)
+ }
+
+ CH03(ts, z169, 0x0ce, 0, 0)
+
+ if (arg0) {
+ Store(0xabcd9002, \_SB_.ABBU.mt19.pr7d.iy07)
+ if (LNotEqual(\_SB_.ABBU.mt19.pr7d.iy07, 0xabcd9002)) {
+ err(ts, z169, 0x0ca, 0, 0, \_SB_.ABBU.mt19.pr7d.iy07, 0xabcd9002)
+ }
+ } else {
+ Store(0xabcd9003, pr7d.iy07)
+ if (LNotEqual(pr7d.iy07, 0xabcd9003)) {
+ err(ts, z169, 0x0ca, 0, 0, pr7d.iy07, 0xabcd9003)
+ }
+ }
+
+ CH03(ts, z169, 0x0cf, 0, 0)
+}
+
+Method(mt1a, 1)
+{
+ Name(ts, "mt1a")
+
+ CH03(ts, z169, 0x0d0, 0, 0)
+ if (arg0) {
+ Store(0xabcd9004, \_SB_.ABBU.pr7d.iy07)
+ if (LNotEqual(\_SB_.ABBU.pr7d.iy07, 0xabcd9004)) {
+ err(ts, z169, 0x0ca, 0, 0, \_SB_.ABBU.pr7d.iy07, 0xabcd9004)
+ }
+ } else {
+ Store(0xabcd9005, ^pr7d.iy07)
+ if (LNotEqual(^pr7d.iy07, 0xabcd9005)) {
+ err(ts, z169, 0x0ca, 0, 0, ^pr7d.iy07, 0xabcd9005)
+ }
+ }
+ CH03(ts, z169, 0x0d1, 0, 0)
+}
+
+
+
+Method(mtff)
+{
+ Name(run0, 1)
+
+
+
+ // Works on both
+ SRMT("mt00")
+ mt00()
+
+ if (chk0) {
+ // Exceeded the depth supported on MS
+ SRMT("mt01")
+ mt01()
+ }
+
+ // Works on both
+ SRMT("mt02")
+ mt02()
+
+ if (chk0) {
+ // Exceeded the depth supported on MS
+ SRMT("mt03")
+ mt03()
+ }
+
+ if (run0) {
+ // Works on MS, AE_AML_OPERAND_TYPE on ACPICA
+ SRMT("mt04")
+ mt04()
+ }
+
+ if (LAnd(chk0, run0)) {
+ // Exceeded the depth supported on MS
+ SRMT("mt05")
+ mt05()
+ }
+
+ // Works on both
+ SRMT("mt06")
+ mt06()
+
+ if (0) {
+ // Fails for both here - for MS and ACPICA
+ SRMT("mt07")
+ mt07()
+ }
+
+ if (chk0) {
+ // Exceeded the depth supported on MS
+ SRMT("mt08")
+ mt08()
+ }
+
+ // Works on both
+ SRMT("mt0a")
+ mt0a()
+ SRMT("mt0b")
+ mt0b()
+
+ if (run0) {
+ // Works on MS, AE_AML_OPERAND_TYPE on ACPICA
+ SRMT("mt0c")
+ mt0c()
+ }
+
+ // Simply long cycle in While
+ SRMT("mt0d")
+ mt0d()
+
+ if (0) {
+ SRMT("mt0e")
+ mt0e() // Result: ACPICA - AE_NOT_FOUND, MS - Failure
+ }
+
+ if (run0) {
+ // Works on MS, AE_AML_OPERAND_TYPE on ACPICA
+ SRMT("mt0f")
+ mt0f()
+ }
+
+ if (LAnd(chk0, run0)) {
+ // Exceeded the depth supported on MS
+ SRMT("mt10")
+ mt10()
+ }
+
+ if (run0) {
+ // Works on MS, AE_AML_OPERAND_TYPE on ACPICA
+ SRMT("mt11")
+ mt11()
+ }
+
+ if (LAnd(chk0, run0)) {
+ // Exceeded the depth supported on MS
+ SRMT("mt12")
+ mt12()
+ }
+
+ // Works on both
+ SRMT("mt13")
+ mt13()
+
+ if (chk0) {
+ // Exceeded the depth supported on MS
+ SRMT("mt14")
+ mt14()
+ SRMT("mt15")
+ mt15()
+ }
+
+ if (chk0) {
+ // ACPICA - AE_NOT_FOUND (it is correct), MS - Failure
+ SRMT("mt16-0")
+ mt16(0)
+ }
+
+ if (run0) {
+ // Works on MS, AE_AML_OPERAND_TYPE on ACPICA
+ SRMT("mt16-1")
+ mt16(1)
+ SRMT("mt16-2")
+ mt16(2)
+ SRMT("mt16-3")
+ mt16(3)
+ }
+
+ if (chk0) {
+ // ACPICA - AE_NOT_FOUND (it is correct), MS - Failure
+ SRMT("mt17-0")
+ mt17(0)
+ }
+
+ if (LAnd(chk0, run0)) {
+ // Exceeded the depth supported on MS
+ SRMT("mt17-1")
+ mt17(1)
+ SRMT("mt17-2")
+ mt17(2)
+ }
+
+ SRMT("mt18-0")
+ mt18(0)
+ SRMT("mt18-1")
+ mt18(1)
+ SRMT("mt19-0")
+ mt19(0)
+ SRMT("mt19-1")
+ mt19(1)
+ SRMT("mt1a-0")
+ mt1a(0)
+ SRMT("mt1a-1")
+ mt1a(1)
+}
diff --git a/tests/aslts/src/runtime/collections/Identity2MS/abbu/method/mt0_aslts.asl b/tests/aslts/src/runtime/collections/Identity2MS/abbu/method/mt0_aslts.asl
new file mode 100644
index 000000000..927ad3a9e
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/Identity2MS/abbu/method/mt0_aslts.asl
@@ -0,0 +1,3156 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+/*
+ * Tests to check path names with method type syllables
+ */
+
+Name(z170, 170)
+
+
+Processor(pr7d, 0, 0x000, 0x008)
+{
+ Name(iy07, 0xabcd0120)
+}
+
+/*
+ * Test shows maximal supported depth of enclosed method calls on MS
+ */
+Method(mt00)
+{
+ Name(ts, "mt00")
+
+ Name(i000, 0)
+
+ Method(mm00)
+ {
+ Method(mm01)
+ {
+ Method(mm02)
+ {
+ Method(mm03)
+ {
+ Method(mm04)
+ {
+ Method(mm05)
+ {
+ Method(mm06)
+ {
+ Method(mm07)
+ {
+ Method(mm08)
+ {
+ Method(mm09)
+ {
+ Method(mm0a)
+ {
+ Method(mm0b)
+ {
+ // OUTC("Number of calls to methods depends on the length of this message!")
+ OUTC("Max")
+ Store(0xabcd0000, i000)
+ }
+ mm0b()
+ }
+ mm0a()
+ }
+ mm09()
+ }
+ mm08()
+ }
+ mm07()
+ }
+ mm06()
+ }
+ mm05()
+ }
+ mm04()
+ }
+ mm03()
+ }
+ mm02()
+ }
+ mm01()
+ }
+
+ CH03(ts, z170, 0x100, 0, 0)
+
+ mm00()
+
+ if (LNotEqual(i000, 0xabcd0000)) {
+ err(ts, z170, 0x000, 0, 0, i000, 0xabcd0000)
+ }
+
+ CH03(ts, z170, 0x101, 0, 0)
+}
+
+/*
+ * The same as mt00, but contains more depth of enclosed method calls.
+ * To be run on ACPICA only.
+ */
+Method(mt01)
+{
+ Name(ts, "mt01")
+
+ Name(i000, 0)
+
+ Method(mm00)
+ {
+ Method(mm01)
+ {
+ Method(mm02)
+ {
+ Method(mm03)
+ {
+ Method(mm04)
+ {
+ Method(mm05)
+ {
+ Method(mm06)
+ {
+ Method(mm07)
+ {
+ Method(mm08)
+ {
+ Method(mm09)
+ {
+ Method(mm0a)
+ {
+ Method(mm0b)
+ {
+ Method(mm0c)
+ {
+ Method(mm0d)
+ {
+ Method(mm0e)
+ {
+ Method(mm0f)
+ {
+ Method(mm10)
+ {
+ Method(mm11)
+ {
+ Method(mm12)
+ {
+ Method(mm13)
+ {
+ Method(mm14)
+ {
+ Method(mm15)
+ {
+ Method(mm16)
+ {
+ Method(mm17)
+ {
+ Method(mm18)
+ {
+ Method(mm19)
+ {
+ Method(mm1a)
+ {
+ Method(mm1b)
+ {
+ Method(mm1c)
+ {
+ Method(mm1d)
+ {
+ Method(mm1e)
+ {
+ Method(mm1f)
+ {
+ OUTC("Max")
+ Store(0xabcd0000, i000)
+ }
+ mm1f()
+ }
+ mm1e()
+ }
+ mm1d()
+ }
+ mm1c()
+ }
+ mm1b()
+ }
+ mm1a()
+ }
+ mm19()
+ }
+ mm18()
+ }
+ mm17()
+ }
+ mm16()
+ }
+ mm15()
+ }
+ mm14()
+ }
+ mm13()
+ }
+ mm12()
+ }
+ mm11()
+ }
+ mm10()
+ }
+ mm0f()
+ }
+ mm0e()
+ }
+ mm0d()
+ }
+ mm0c()
+ }
+ mm0b()
+ }
+ mm0a()
+ }
+ mm09()
+ }
+ mm08()
+ }
+ mm07()
+ }
+ mm06()
+ }
+ mm05()
+ }
+ mm04()
+ }
+ mm03()
+ }
+ mm02()
+ }
+ mm01()
+ }
+
+ CH03(ts, z170, 0x102, 0, 0)
+
+ mm00()
+
+ if (LNotEqual(i000, 0xabcd0000)) {
+ err(ts, z170, 0x001, 0, 0, i000, 0xabcd0000)
+ }
+
+ CH03(ts, z170, 0x103, 0, 0)
+}
+
+/*
+ * Test shows maximal supported depth of enclosed method calls on MS
+ */
+Method(mt02)
+{
+ Name(ts, "mt02")
+
+ Name(i000, 0)
+
+ Method(mm00)
+ {
+ mm01()
+ }
+ Method(mm01)
+ {
+ mm02()
+ }
+ Method(mm02)
+ {
+ mm03()
+ }
+ Method(mm03)
+ {
+ mm04()
+ }
+ Method(mm04)
+ {
+ mm05()
+ }
+ Method(mm05)
+ {
+ mm06()
+ }
+ Method(mm06)
+ {
+ mm07()
+ }
+ Method(mm07)
+ {
+ mm08()
+ }
+ Method(mm08)
+ {
+ mm09()
+ }
+ Method(mm09)
+ {
+ mm0a()
+ }
+ Method(mm0a)
+ {
+ mm0b()
+ }
+ Method(mm0b)
+ {
+ mm0c()
+ }
+ Method(mm0c)
+ {
+ mm0d()
+ }
+ Method(mm0d)
+ {
+ mm0e()
+ }
+ Method(mm0e)
+ {
+ mm0f()
+ }
+ Method(mm0f)
+ {
+ OUTC("Max")
+ Store(0xabcd0000, i000)
+ }
+
+ CH03(ts, z170, 0x104, 0, 0)
+
+ mm00()
+
+ if (LNotEqual(i000, 0xabcd0000)) {
+ err(ts, z170, 0x002, 0, 0, i000, 0xabcd0000)
+ }
+
+ CH03(ts, z170, 0x105, 0, 0)
+}
+
+/*
+ * The same as mt02, but contains more depth of enclosed method calls.
+ * To be run on ACPICA only.
+ */
+Method(mt03)
+{
+ Name(ts, "mt03")
+
+ Name(i000, 0)
+
+ Method(mm00)
+ {
+ mm01()
+ }
+ Method(mm01)
+ {
+ mm02()
+ }
+ Method(mm02)
+ {
+ mm03()
+ }
+ Method(mm03)
+ {
+ mm04()
+ }
+ Method(mm04)
+ {
+ mm05()
+ }
+ Method(mm05)
+ {
+ mm06()
+ }
+ Method(mm06)
+ {
+ mm07()
+ }
+ Method(mm07)
+ {
+ mm08()
+ }
+ Method(mm08)
+ {
+ mm09()
+ }
+ Method(mm09)
+ {
+ mm0a()
+ }
+ Method(mm0a)
+ {
+ mm0b()
+ }
+ Method(mm0b)
+ {
+ mm0c()
+ }
+ Method(mm0c)
+ {
+ mm0d()
+ }
+ Method(mm0d)
+ {
+ mm0e()
+ }
+ Method(mm0e)
+ {
+ mm0f()
+ }
+ Method(mm0f)
+ {
+ mm10()
+ }
+ Method(mm10)
+ {
+ mm11()
+ }
+ Method(mm11)
+ {
+ mm12()
+ }
+ Method(mm12)
+ {
+ mm13()
+ }
+ Method(mm13)
+ {
+ mm14()
+ }
+ Method(mm14)
+ {
+ mm15()
+ }
+ Method(mm15)
+ {
+ mm16()
+ }
+ Method(mm16)
+ {
+ mm17()
+ }
+ Method(mm17)
+ {
+ mm18()
+ }
+ Method(mm18)
+ {
+ mm19()
+ }
+ Method(mm19)
+ {
+ mm1a()
+ }
+ Method(mm1a)
+ {
+ mm1b()
+ }
+ Method(mm1b)
+ {
+ mm1c()
+ }
+ Method(mm1c)
+ {
+ mm1d()
+ }
+ Method(mm1d)
+ {
+ mm1e()
+ }
+ Method(mm1e)
+ {
+ mm1f()
+ }
+ Method(mm1f)
+ {
+ OUTC("Max")
+ Store(0xabcd0000, i000)
+ }
+
+ CH03(ts, z170, 0x106, 0, 0)
+
+ mm00()
+
+ if (LNotEqual(i000, 0xabcd0000)) {
+ err(ts, z170, 0x003, 0, 0, i000, 0xabcd0000)
+ }
+
+ CH03(ts, z170, 0x107, 0, 0)
+}
+
+/*
+ * Increment object with the name of method in the name path
+ */
+Method(mt04)
+{
+ Name(ts, "mt04")
+
+ Device(dz05)
+ {
+ Name(iy07, 0xabcd0100)
+ }
+
+ Method(mm00)
+ {
+ Method(mm01)
+ {
+ Method(mm02)
+ {
+ Method(mm03)
+ {
+ Method(mm04)
+ {
+ Method(mm05)
+ {
+ Method(mm06)
+ {
+ Method(mm07)
+ {
+ Increment(\mt04.dz05.iy07)
+ Store (\mt04.dz05.iy07, Local0)
+ OUTC("mt04, \mt04.dz05.iy07:")
+ OUTC(Local0)
+ if (LNotEqual(Local0, 0xabcd0109)) {
+ err(ts, z170, 0x004, 0, 0, Local0, 0xabcd0109)
+ }
+ if (LNotEqual(\mt04.dz05.iy07, 0xabcd0109)) {
+ err(ts, z170, 0x005, 0, 0, \mt04.dz05.iy07, 0xabcd0109)
+ }
+ }
+ Increment(\mt04.dz05.iy07)
+ mm07()
+ }
+ Increment(\mt04.dz05.iy07)
+ mm06()
+ }
+ Increment(\mt04.dz05.iy07)
+ mm05()
+ }
+ Increment(\mt04.dz05.iy07)
+ mm04()
+ }
+ Increment(\mt04.dz05.iy07)
+ mm03()
+ }
+ Increment(\mt04.dz05.iy07)
+ mm02()
+ }
+ Increment(\mt04.dz05.iy07)
+ mm01()
+ }
+
+ CH03(ts, z170, 0x006, 0, 0)
+
+ Increment(\mt04.dz05.iy07)
+
+ mm00()
+
+ if (LNotEqual(\mt04.dz05.iy07, 0xabcd0109)) {
+ err(ts, z170, 0x007, 0, 0, \mt04.dz05.iy07, 0xabcd0109)
+ }
+
+ CH03(ts, z170, 0x008, 0, 0)
+}
+
+/*
+ * The same as mt04, but contains more depth of enclosed method calls.
+ * To be run on ACPICA only.
+ */
+Method(mt05)
+{
+ Name(ts, "mt05")
+
+ Device(dz05)
+ {
+ Name(iy07, 0xabcd0200)
+ }
+ Method(mm00)
+ {
+ Method(mm01)
+ {
+ Method(mm02)
+ {
+ Method(mm03)
+ {
+ Method(mm04)
+ {
+ Method(mm05)
+ {
+ Method(mm06)
+ {
+ Method(mm07)
+ {
+ Method(mm08)
+ {
+ Method(mm09)
+ {
+ Method(mm0a)
+ {
+ Method(mm0b)
+ {
+ Method(mm0c)
+ {
+ Method(mm0d)
+ {
+ Method(mm0e)
+ {
+ Method(mm0f)
+ {
+ Increment(\mt05.dz05.iy07)
+ Store (\mt05.dz05.iy07, Local0)
+ OUTC("mt05, \mt05.dz05.iy07:")
+ OUTC(Local0)
+ if (LNotEqual(Local0, 0xabcd0211)) {
+ err(ts, z170, 0x009, 0, 0, Local0, 0xabcd0211)
+ }
+ if (LNotEqual(\mt05.dz05.iy07, 0xabcd0211)) {
+ err(ts, z170, 0x00a, 0, 0, \mt05.dz05.iy07, 0xabcd0211)
+ }
+ }
+ Increment(\mt05.dz05.iy07)
+ mm0f()
+ }
+ Increment(\mt05.dz05.iy07)
+ mm0e()
+ }
+ Increment(\mt05.dz05.iy07)
+ mm0d()
+ }
+ Increment(\mt05.dz05.iy07)
+ mm0c()
+ }
+ Increment(\mt05.dz05.iy07)
+ mm0b()
+ }
+ Increment(\mt05.dz05.iy07)
+ mm0a()
+ }
+ Increment(\mt05.dz05.iy07)
+ mm09()
+ }
+ Increment(\mt05.dz05.iy07)
+ mm08()
+ }
+ Increment(\mt05.dz05.iy07)
+ mm07()
+ }
+ Increment(\mt05.dz05.iy07)
+ mm06()
+ }
+ Increment(\mt05.dz05.iy07)
+ mm05()
+ }
+ Increment(\mt05.dz05.iy07)
+ mm04()
+ }
+ Increment(\mt05.dz05.iy07)
+ mm03()
+ }
+ Increment(\mt05.dz05.iy07)
+ mm02()
+ }
+ Increment(\mt05.dz05.iy07)
+ mm01()
+ }
+
+ CH03(ts, z170, 0x108, 0, 0)
+
+ Increment(\mt05.dz05.iy07)
+ mm00()
+
+ if (LNotEqual(\mt05.dz05.iy07, 0xabcd0211)) {
+ err(ts, z170, 0x00b, 0, 0, \mt05.dz05.iy07, 0xabcd0211)
+ }
+
+ CH03(ts, z170, 0x109, 0, 0)
+}
+
+/*
+ * Check access to the internal object of method being executed
+ * from the point inside the tree of that method being executed
+ * but by the method statically declared outside that method.
+ */
+Method(mt06)
+{
+ Name(ts, "mt06")
+
+ Device(dz05)
+ {
+ Name(iy07, 0xabcd0300)
+ }
+
+ Method(mm00)
+ {
+ Method(mm01)
+ {
+ Method(mm02)
+ {
+ Method(mm03)
+ {
+ Method(mm04)
+ {
+ Method(mm05)
+ {
+ Method(mm06)
+ {
+ Method(mm07)
+ {
+ Method(mm08)
+ {
+ Method(mm09)
+ {
+ Method(mm0a)
+ {
+ Store (0x11112222, \mt06.dz05.iy07)
+ }
+ mm0a()
+ }
+ mm09()
+ }
+ mm08()
+ }
+ mm07()
+ }
+ mm06()
+ }
+ mm05()
+ Store (\mt06.dz05.iy07, Local0)
+ OUTC("mt06, \mt06.dz05.iy07:")
+ OUTC(Local0)
+ if (LNotEqual(Local0, 0x11112222)) {
+ err(ts, z170, 0x00c, 0, 0, Local0, 0x11112222)
+ }
+ if (LNotEqual(\mt06.dz05.iy07, 0x11112222)) {
+ err(ts, z170, 0x00d, 0, 0, \mt06.dz05.iy07, 0x11112222)
+ }
+ }
+ mm04()
+ }
+ mm03()
+ }
+ mm02()
+ }
+ mm01()
+ }
+
+ CH03(ts, z170, 0x10a, 0, 0)
+
+ mm00()
+
+ mt07()
+
+ if (LNotEqual(\mt06.dz05.iy07, 0x11112222)) {
+ err(ts, z170, 0x00e, 0, 0, \mt06.dz05.iy07, 0x11112222)
+ }
+
+ CH03(ts, z170, 0x10b, 0, 0)
+}
+
+/*
+ * Access to the internal object of method mt06
+ *
+ * Result differs depending on either mt06 is invoked or not.
+ * Unfortunately, we can run mt06 and mt07 simultaneously only
+ * on the same thread (invocation).
+ */
+Method(mt07)
+{
+ Name(ts, "mt07")
+
+ Method(mm00)
+ {
+ Method(mm01)
+ {
+ Method(mm02)
+ {
+ Method(mm03)
+ {
+ Method(mm04)
+ {
+ Method(mm05)
+ {
+ Method(mm06)
+ {
+ Method(mm07)
+ {
+ Store (\mt06.dz05.iy07, Local0)
+ OUTC("0 mt07, \mt06.dz05.iy07:")
+ OUTC(Local0)
+ if (LNotEqual(Local0, 0x11112222)) {
+ err(ts, z170, 0x00f, 0, 0, Local0, 0x11112222)
+ }
+ if (LNotEqual(\mt06.dz05.iy07, 0x11112222)) {
+ err(ts, z170, 0x010, 0, 0, \mt06.dz05.iy07, 0x11112222)
+ }
+ }
+ mm07()
+ }
+ mm06()
+ }
+ mm05()
+ }
+ mm04()
+ }
+ mm03()
+ }
+ mm02()
+ }
+ mm01()
+ }
+
+ CH03(ts, z170, 0x10c, 0, 0)
+
+ mm00()
+
+ Store (\mt06.dz05.iy07, Local0)
+ OUTC("1 mt07, \mt06.dz05.iy07:")
+ OUTC(Local0)
+ if (LNotEqual(Local0, 0x11112222)) {
+ err(ts, z170, 0x011, 0, 0, Local0, 0x11112222)
+ }
+ if (LNotEqual(\mt06.dz05.iy07, 0x11112222)) {
+ err(ts, z170, 0x012, 0, 0, \mt06.dz05.iy07, 0x11112222)
+ }
+
+ CH03(ts, z170, 0x10d, 0, 0)
+}
+
+/*
+ * The same as mt06, but contains more depth of enclosed method calls.
+ * To be run on ACPICA only.
+ */
+Method(mt08)
+{
+ Name(ts, "mt08")
+
+ Device(dz05)
+ {
+ Name(iy07, 0xabcd0400)
+ }
+
+ Method(mm00)
+ {
+ Method(mm01)
+ {
+ Method(mm02)
+ {
+ Method(mm03)
+ {
+ Method(mm04)
+ {
+ Method(mm05)
+ {
+ Method(mm06)
+ {
+ Method(mm07)
+ {
+ Method(mm08)
+ {
+ Method(mm09)
+ {
+ Method(mm0a)
+ {
+ Method(mm0b)
+ {
+ Method(mm0c)
+ {
+ Method(mm0d)
+ {
+ Method(mm0e)
+ {
+ Method(mm0f)
+ {
+ Store (0x22223333, \mt08.dz05.iy07)
+ }
+ mm0f()
+ }
+ mm0e()
+ }
+ mm0d()
+ }
+ mm0c()
+ }
+ mm0b()
+ }
+ mm0a()
+ }
+ mm09()
+ }
+ mm08()
+ Store (\mt08.dz05.iy07, Local0)
+ OUTC("mt08, \mt08.dz05.iy07:")
+ OUTC(Local0)
+ if (LNotEqual(Local0, 0x22223333)) {
+ err(ts, z170, 0x013, 0, 0, Local0, 0x22223333)
+ }
+ if (LNotEqual(\mt08.dz05.iy07, 0x22223333)) {
+ err(ts, z170, 0x014, 0, 0, \mt08.dz05.iy07, 0x22223333)
+ }
+ }
+ mm07()
+ }
+ mm06()
+ }
+ mm05()
+ }
+ mm04()
+ }
+ mm03()
+ }
+ mm02()
+ }
+ mm01()
+ }
+
+ CH03(ts, z170, 0x10e, 0, 0)
+
+ mm00()
+
+ mt09()
+
+ if (LNotEqual(\mt08.dz05.iy07, 0x22223333)) {
+ err(ts, z170, 0x015, 0, 0, \mt08.dz05.iy07, 0x22223333)
+ }
+
+ CH03(ts, z170, 0x10f, 0, 0)
+}
+
+/*
+ * Access to the internal object of method mt08
+ *
+ * see comment to mt07
+ */
+Method(mt09)
+{
+ Name(ts, "mt09")
+
+ Method(mm00)
+ {
+ Method(mm01)
+ {
+ Method(mm02)
+ {
+ Method(mm03)
+ {
+ Method(mm04)
+ {
+ Method(mm05)
+ {
+ Method(mm06)
+ {
+ Method(mm07)
+ {
+ Method(mm08)
+ {
+ Method(mm09)
+ {
+ Method(mm0a)
+ {
+ Method(mm0b)
+ {
+ Method(mm0c)
+ {
+ Method(mm0d)
+ {
+ Method(mm0e)
+ {
+ Method(mm0f)
+ {
+ Store (\mt08.dz05.iy07, Local0)
+ OUTC("0 mt09, \mt08.dz05.iy07:")
+ OUTC(Local0)
+ if (LNotEqual(Local0, 0x22223333)) {
+ err(ts, z170, 0x016, 0, 0, Local0, 0x22223333)
+ }
+ if (LNotEqual(\mt08.dz05.iy07, 0x22223333)) {
+ err(ts, z170, 0x017, 0, 0, \mt08.dz05.iy07, 0x22223333)
+ }
+ }
+ mm0f()
+ }
+ mm0e()
+ }
+ mm0d()
+ }
+ mm0c()
+ }
+ mm0b()
+ }
+ mm0a()
+ }
+ mm09()
+ }
+ mm08()
+ }
+ mm07()
+ }
+ mm06()
+ }
+ mm05()
+ }
+ mm04()
+ }
+ mm03()
+ }
+ mm02()
+ }
+ mm01()
+ }
+
+ CH03(ts, z170, 0x110, 0, 0)
+
+ mm00()
+
+ Store (\mt08.dz05.iy07, Local0)
+ OUTC("1 mt09, \mt08.dz05.iy07:")
+ OUTC(Local0)
+ if (LNotEqual(Local0, 0x22223333)) {
+ err(ts, z170, 0x018, 0, 0, Local0, 0x22223333)
+ }
+ if (LNotEqual(\mt08.dz05.iy07, 0x22223333)) {
+ err(ts, z170, 0x019, 0, 0, \mt08.dz05.iy07, 0x22223333)
+ }
+
+ CH03(ts, z170, 0x111, 0, 0)
+}
+
+/*
+ * Check simple access to the object by the name path
+ * without method name syllables
+ */
+Method(mt0a)
+{
+ Name(ts, "mt0a")
+
+ CH03(ts, z170, 0x112, 0, 0)
+
+ Store (\pr7d.iy07, Local0)
+ OUTC("mt0a, \pr7d.iy07:")
+ OUTC(Local0)
+ if (LNotEqual(\pr7d.iy07, 0xabcd0120)) {
+ err(ts, z170, 0x01a, 0, 0, \pr7d.iy07, 0xabcd0120)
+ }
+
+ CH03(ts, z170, 0x113, 0, 0)
+}
+
+/*
+ * Simple increment (see comment to mt0a)
+ */
+Method(mt0b)
+{
+ Name(ts, "mt0b")
+
+ CH03(ts, z170, 0x114, 0, 0)
+
+ Increment(\pr7d.iy07)
+ Store (\pr7d.iy07, Local0)
+ OUTC("mt0b, \pr7d.iy07:")
+ OUTC(Local0)
+
+ if (LNotEqual(\pr7d.iy07, 0xabcd0121)) {
+ err(ts, z170, 0x01b, 0, 0, \pr7d.iy07, 0xabcd0121)
+ }
+
+ CH03(ts, z170, 0x115, 0, 0)
+}
+
+/*
+ * Check simple access to the object by the name path
+ * which contains the method name syllables
+ */
+Method(mt0c)
+{
+ Name(ts, "mt0c")
+
+ Processor(pr7d, 0, 0x000, 0x008)
+ {
+ Name(iy07, 0xabcd0660)
+ }
+
+ CH03(ts, z170, 0x116, 0, 0)
+
+ Increment(\mt0c.pr7d.iy07)
+ Store (\mt0c.pr7d.iy07, Local0)
+ OUTC("mt0c, \mt0c.pr7d.iy07:")
+ OUTC(Local0)
+
+ if (LNotEqual(\mt0c.pr7d.iy07, 0xabcd0661)) {
+ err(ts, z170, 0x01d, 0, 0, \mt0c.pr7d.iy07, 0xabcd0661)
+ }
+
+ CH03(ts, z170, 0x117, 0, 0)
+}
+
+/*
+ * Simply long cycle in While
+ */
+Method(mt0d)
+{
+ Name(ts, "mt0d")
+
+ Name(i000, 0xabcd1234)
+
+ CH03(ts, z170, 0x118, 0, 0)
+
+ Store(0, Local0)
+ While (1) {
+ Increment(Local0)
+// if (LEqual(Local0, 0x40000)) {
+ if (LEqual(Local0, 100)) {
+ // Break -- doesn't work on MS
+ OUTC("mt0d, Local0:")
+ OUTC(Local0)
+
+ mt0e()
+
+ CH03(ts, z170, 0x119, 0, 0)
+
+ Return
+ }
+ }
+
+ CH03(ts, z170, 0x11a, 0, 0)
+}
+
+/*
+ * Access to the internal object of method mt0d
+ */
+Method(mt0e)
+{
+ Name(ts, "mt0e")
+
+ CH03(ts, z170, 0x11b, 0, 0)
+
+ Store (\mt0d.i000, Local0)
+ OUTC("mt0e, \mt0d.i000:")
+ OUTC(Local0)
+
+ if (LNotEqual(\mt0d.i000, 0xabcd1234)) {
+ err(ts, z170, 0x01f, 0, 0, \mt0d.i000, 0xabcd1234)
+ }
+
+ CH03(ts, z170, 0x11c, 0, 0)
+}
+
+/*
+ * Use Add for incrementing object with the
+ * name of method in the name path.
+ */
+Method(mt0f)
+{
+ Name(ts, "mt0f")
+
+ Device(dz05)
+ {
+ Name(iy07, 0xabcd0500)
+ }
+
+ Method(mm00)
+ {
+ Method(mm01)
+ {
+ Method(mm02)
+ {
+ Method(mm03)
+ {
+ Method(mm04)
+ {
+ Method(mm05)
+ {
+ Method(mm06)
+ {
+ Method(mm07)
+ {
+ Add(\mt0f.dz05.iy07, 1, \mt0f.dz05.iy07)
+ Store (\mt0f.dz05.iy07, Local0)
+ OUTC("mt0f, \mt0f.dz05.iy07:")
+ OUTC(Local0)
+ if (LNotEqual(Local0, 0xabcd0509)) {
+ err(ts, z170, 0x020, 0, 0, Local0, 0xabcd0509)
+ }
+ if (LNotEqual(\mt0f.dz05.iy07, 0xabcd0509)) {
+ err(ts, z170, 0x021, 0, 0, \mt0f.dz05.iy07, 0xabcd0509)
+ }
+ }
+ Add(\mt0f.dz05.iy07, 1, \mt0f.dz05.iy07)
+ mm07()
+ }
+ Add(\mt0f.dz05.iy07, 1, \mt0f.dz05.iy07)
+ mm06()
+ }
+ Add(\mt0f.dz05.iy07, 1, \mt0f.dz05.iy07)
+ mm05()
+ }
+ Add(\mt0f.dz05.iy07, 1, \mt0f.dz05.iy07)
+ mm04()
+ }
+ Add(\mt0f.dz05.iy07, 1, \mt0f.dz05.iy07)
+ mm03()
+ }
+ Add(\mt0f.dz05.iy07, 1, \mt0f.dz05.iy07)
+ mm02()
+ }
+ Add(\mt0f.dz05.iy07, 1, \mt0f.dz05.iy07)
+ mm01()
+ }
+
+ CH03(ts, z170, 0x022, 0, 0)
+
+ Add(\mt0f.dz05.iy07, 1, \mt0f.dz05.iy07)
+ mm00()
+
+ if (LNotEqual(\mt0f.dz05.iy07, 0xabcd0509)) {
+ err(ts, z170, 0x023, 0, 0, \mt0f.dz05.iy07, 0xabcd0509)
+ }
+
+ CH03(ts, z170, 0x024, 0, 0)
+}
+
+/*
+ * The same as mt0f, but contains more depth of enclosed method calls.
+ * To be run on ACPICA only.
+ */
+Method(mt10)
+{
+ Name(ts, "mt10")
+
+ Device(dz05)
+ {
+ Name(iy07, 0xabcd0600)
+ }
+ Method(mm00)
+ {
+ Method(mm01)
+ {
+ Method(mm02)
+ {
+ Method(mm03)
+ {
+ Method(mm04)
+ {
+ Method(mm05)
+ {
+ Method(mm06)
+ {
+ Method(mm07)
+ {
+ Method(mm08)
+ {
+ Method(mm09)
+ {
+ Method(mm0a)
+ {
+ Method(mm0b)
+ {
+ Method(mm0c)
+ {
+ Method(mm0d)
+ {
+ Method(mm0e)
+ {
+ Method(mm0f)
+ {
+ Add(\mt10.dz05.iy07, 1, \mt10.dz05.iy07)
+ Store (\mt10.dz05.iy07, Local0)
+ OUTC("mt10, \mt10.dz05.iy07:")
+ OUTC(Local0)
+ if (LNotEqual(Local0, 0xabcd0611)) {
+ err(ts, z170, 0x025, 0, 0, Local0, 0xabcd0611)
+ }
+ if (LNotEqual(\mt10.dz05.iy07, 0xabcd0611)) {
+ err(ts, z170, 0x026, 0, 0, \mt10.dz05.iy07, 0xabcd0611)
+ }
+ }
+ Add(\mt10.dz05.iy07, 1, \mt10.dz05.iy07)
+ mm0f()
+ }
+ Add(\mt10.dz05.iy07, 1, \mt10.dz05.iy07)
+ mm0e()
+ }
+ Add(\mt10.dz05.iy07, 1, \mt10.dz05.iy07)
+ mm0d()
+ }
+ Add(\mt10.dz05.iy07, 1, \mt10.dz05.iy07)
+ mm0c()
+ }
+ Add(\mt10.dz05.iy07, 1, \mt10.dz05.iy07)
+ mm0b()
+ }
+ Add(\mt10.dz05.iy07, 1, \mt10.dz05.iy07)
+ mm0a()
+ }
+ Add(\mt10.dz05.iy07, 1, \mt10.dz05.iy07)
+ mm09()
+ }
+ Add(\mt10.dz05.iy07, 1, \mt10.dz05.iy07)
+ mm08()
+ }
+ Add(\mt10.dz05.iy07, 1, \mt10.dz05.iy07)
+ mm07()
+ }
+ Add(\mt10.dz05.iy07, 1, \mt10.dz05.iy07)
+ mm06()
+ }
+ Add(\mt10.dz05.iy07, 1, \mt10.dz05.iy07)
+ mm05()
+ }
+ Add(\mt10.dz05.iy07, 1, \mt10.dz05.iy07)
+ mm04()
+ }
+ Add(\mt10.dz05.iy07, 1, \mt10.dz05.iy07)
+ mm03()
+ }
+ Add(\mt10.dz05.iy07, 1, \mt10.dz05.iy07)
+ mm02()
+ }
+ Add(\mt10.dz05.iy07, 1, \mt10.dz05.iy07)
+ mm01()
+ }
+
+ CH03(ts, z170, 0x027, 0, 0)
+
+ Add(\mt10.dz05.iy07, 1, \mt10.dz05.iy07)
+ mm00()
+
+ if (LNotEqual(\mt10.dz05.iy07, 0xabcd0611)) {
+ err(ts, z170, 0x028, 0, 0, \mt10.dz05.iy07, 0xabcd0611)
+ }
+
+ CH03(ts, z170, 0x029, 0, 0)
+}
+
+/*
+ * Increment with the parent name paths
+ */
+Method(mt11)
+{
+ Name(ts, "mt11")
+
+ Device(dz05)
+ {
+ Name(iy07, 0xabcd0700)
+ }
+
+ Method(mm00)
+ {
+ Method(mm01)
+ {
+ Method(mm02)
+ {
+ Method(mm03)
+ {
+ Method(mm04)
+ {
+ Method(mm05)
+ {
+ Method(mm06)
+ {
+ Method(mm07)
+ {
+ Increment(^^^^^^^^dz05.iy07)
+ Store (^^^^^^^^dz05.iy07, Local0)
+ OUTC("mt11, ^^^^^^^^dz05.iy07:")
+ OUTC(Local0)
+ if (LNotEqual(Local0, 0xabcd0709)) {
+ err(ts, z170, 0x02a, 0, 0, Local0, 0xabcd0709)
+ }
+ if (LNotEqual(^^^^^^^^dz05.iy07, 0xabcd0709)) {
+ err(ts, z170, 0x02b, 0, 0, ^^^^^^^^dz05.iy07, 0xabcd0709)
+ }
+ }
+ Increment(^^^^^^^dz05.iy07)
+ mm07()
+ }
+ Increment(^^^^^^dz05.iy07)
+ mm06()
+ }
+ Increment(^^^^^dz05.iy07)
+ mm05()
+ }
+ Increment(^^^^dz05.iy07)
+ mm04()
+ }
+ Increment(^^^dz05.iy07)
+ mm03()
+ }
+ Increment(^^dz05.iy07)
+ mm02()
+ }
+ Increment(^dz05.iy07)
+ mm01()
+ }
+
+ CH03(ts, z170, 0x02c, 0, 0)
+
+ Increment(dz05.iy07)
+ mm00()
+
+ if (LNotEqual(dz05.iy07, 0xabcd0709)) {
+ err(ts, z170, 0x02d, 0, 0, dz05.iy07, 0xabcd0709)
+ }
+
+ CH03(ts, z170, 0x02e, 0, 0)
+}
+
+/*
+ * The same as mt11, but contains more depth of enclosed method calls.
+ * To be run on ACPICA only.
+ */
+Method(mt12)
+{
+ Name(ts, "mt12")
+
+ Device(dz05)
+ {
+ Name(iy07, 0xabcd0800)
+ }
+ Method(mm00)
+ {
+ Method(mm01)
+ {
+ Method(mm02)
+ {
+ Method(mm03)
+ {
+ Method(mm04)
+ {
+ Method(mm05)
+ {
+ Method(mm06)
+ {
+ Method(mm07)
+ {
+ Method(mm08)
+ {
+ Method(mm09)
+ {
+ Method(mm0a)
+ {
+ Method(mm0b)
+ {
+ Method(mm0c)
+ {
+ Method(mm0d)
+ {
+ Method(mm0e)
+ {
+ Method(mm0f)
+ {
+ Method(mm10)
+ {
+ Method(mm11)
+ {
+ Method(mm12)
+ {
+ Method(mm13)
+ {
+ Method(mm14)
+ {
+ Method(mm15)
+ {
+ Method(mm16)
+ {
+ Method(mm17)
+ {
+ Method(mm18)
+ {
+ Method(mm19)
+ {
+ Method(mm1a)
+ {
+ Method(mm1b)
+ {
+ Method(mm1c)
+ {
+ Method(mm1d)
+ {
+ Method(mm1e)
+ {
+ Method(mm1f)
+ {
+ Increment(^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07)
+ Store (^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, Local0)
+ OUTC("mt12, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07:")
+ OUTC(Local0)
+ if (LNotEqual(Local0, 0xabcd0821)) {
+ err(ts, z170, 0x02f, 0, 0, Local0, 0xabcd0821)
+ }
+ if (LNotEqual(^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd0821)) {
+ err(ts, z170, 0x030, 0, 0, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd0821)
+ }
+ }
+ Increment(^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07)
+ mm1f()
+ }
+ Increment(^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07)
+ mm1e()
+ }
+ Increment(^^^^^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07)
+ mm1d()
+ }
+ Increment(^^^^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07)
+ mm1c()
+ }
+ Increment(^^^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07)
+ mm1b()
+ }
+ Increment(^^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07)
+ mm1a()
+ }
+ Increment(^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07)
+ mm19()
+ }
+ Increment(^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07)
+ mm18()
+ }
+ Increment(^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07)
+ mm17()
+ }
+ Increment(^^^^^^^^^^^^^^^^^^^^^^dz05.iy07)
+ mm16()
+ }
+ Increment(^^^^^^^^^^^^^^^^^^^^^dz05.iy07)
+ mm15()
+ }
+ Increment(^^^^^^^^^^^^^^^^^^^^dz05.iy07)
+ mm14()
+ }
+ Increment(^^^^^^^^^^^^^^^^^^^dz05.iy07)
+ mm13()
+ }
+ Increment(^^^^^^^^^^^^^^^^^^dz05.iy07)
+ mm12()
+ }
+ Increment(^^^^^^^^^^^^^^^^^dz05.iy07)
+ mm11()
+ }
+ Increment(^^^^^^^^^^^^^^^^dz05.iy07)
+ mm10()
+ }
+ Increment(^^^^^^^^^^^^^^^dz05.iy07)
+ mm0f()
+ }
+ Increment(^^^^^^^^^^^^^^dz05.iy07)
+ mm0e()
+ }
+ Increment(^^^^^^^^^^^^^dz05.iy07)
+ mm0d()
+ }
+ Increment(^^^^^^^^^^^^dz05.iy07)
+ mm0c()
+ }
+ Increment(^^^^^^^^^^^dz05.iy07)
+ mm0b()
+ }
+ Increment(^^^^^^^^^^dz05.iy07)
+ mm0a()
+ }
+ Increment(^^^^^^^^^dz05.iy07)
+ mm09()
+ }
+ Increment(^^^^^^^^dz05.iy07)
+ mm08()
+ }
+ Increment(^^^^^^^dz05.iy07)
+ mm07()
+ }
+ Increment(^^^^^^dz05.iy07)
+ mm06()
+ }
+ Increment(^^^^^dz05.iy07)
+ mm05()
+ }
+ Increment(^^^^dz05.iy07)
+ mm04()
+ }
+ Increment(^^^dz05.iy07)
+ mm03()
+ }
+ Increment(^^dz05.iy07)
+ mm02()
+ }
+ Increment(^dz05.iy07)
+ mm01()
+ }
+
+ CH03(ts, z170, 0x11d, 0, 0)
+
+ Increment(dz05.iy07)
+ mm00()
+
+ if (LNotEqual(dz05.iy07, 0xabcd0821)) {
+ err(ts, z170, 0x031, 0, 0, dz05.iy07, 0xabcd0821)
+ }
+
+ CH03(ts, z170, 0x11e, 0, 0)
+}
+
+/*
+ * Simple Store of object with the name of method in the name path
+ */
+Method(mt13)
+{
+ Name(ts, "mt13")
+
+ Device(dz05)
+ {
+ Name(iy07, 0xabcd0500)
+ }
+
+ Method(mm00)
+ {
+ Method(mm01)
+ {
+ Method(mm02)
+ {
+ Method(mm03)
+ {
+ Method(mm04)
+ {
+ Method(mm05)
+ {
+ Method(mm06)
+ {
+ Store (\mt13.dz05.iy07, Local0)
+ OUTC("mt13, \mt13.dz05.iy07:")
+ OUTC(Local0)
+ if (LNotEqual(Local0, 0xabcd0500)) {
+ err(ts, z170, 0x032, 0, 0, Local0, 0xabcd0500)
+ }
+ if (LNotEqual(\mt13.dz05.iy07, 0xabcd0500)) {
+ err(ts, z170, 0x033, 0, 0, \mt13.dz05.iy07, 0xabcd0500)
+ }
+ }
+ Store (\mt13.dz05.iy07, Local0)
+ mm06()
+ if (LNotEqual(\mt13.dz05.iy07, 0xabcd0500)) {
+ err(ts, z170, 0x034, 0, 0, \mt13.dz05.iy07, 0xabcd0500)
+ }
+ }
+ Store (\mt13.dz05.iy07, Local0)
+ mm05()
+ if (LNotEqual(\mt13.dz05.iy07, 0xabcd0500)) {
+ err(ts, z170, 0x035, 0, 0, \mt13.dz05.iy07, 0xabcd0500)
+ }
+ }
+ Store (\mt13.dz05.iy07, Local0)
+ mm04()
+ if (LNotEqual(\mt13.dz05.iy07, 0xabcd0500)) {
+ err(ts, z170, 0x036, 0, 0, \mt13.dz05.iy07, 0xabcd0500)
+ }
+ }
+ Store (\mt13.dz05.iy07, Local0)
+ mm03()
+ if (LNotEqual(\mt13.dz05.iy07, 0xabcd0500)) {
+ err(ts, z170, 0x037, 0, 0, \mt13.dz05.iy07, 0xabcd0500)
+ }
+ }
+ Store (\mt13.dz05.iy07, Local0)
+ mm02()
+ if (LNotEqual(\mt13.dz05.iy07, 0xabcd0500)) {
+ err(ts, z170, 0x038, 0, 0, \mt13.dz05.iy07, 0xabcd0500)
+ }
+ }
+ Store (\mt13.dz05.iy07, Local0)
+ mm01()
+ if (LNotEqual(\mt13.dz05.iy07, 0xabcd0500)) {
+ err(ts, z170, 0x039, 0, 0, \mt13.dz05.iy07, 0xabcd0500)
+ }
+ }
+
+ CH03(ts, z170, 0x03a, 0, 0)
+
+ Store (\mt13.dz05.iy07, Local0)
+ mm00()
+
+ if (LNotEqual(\mt13.dz05.iy07, 0xabcd0500)) {
+ err(ts, z170, 0x03b, 0, 0, \mt13.dz05.iy07, 0xabcd0500)
+ }
+
+ CH03(ts, z170, 0x03c, 0, 0)
+}
+
+/*
+ * The same as mt13, but contains more depth of enclosed method calls.
+ * To be run on ACPICA only.
+ */
+Method(mt14)
+{
+ Name(ts, "mt14")
+
+ Device(dz05)
+ {
+ Name(iy07, 0xabcd2900)
+ }
+ Method(mm00)
+ {
+ Method(mm01)
+ {
+ Method(mm02)
+ {
+ Method(mm03)
+ {
+ Method(mm04)
+ {
+ Method(mm05)
+ {
+ Method(mm06)
+ {
+ Method(mm07)
+ {
+ Method(mm08)
+ {
+ Method(mm09)
+ {
+ Method(mm0a)
+ {
+ Method(mm0b)
+ {
+ Method(mm0c)
+ {
+ Method(mm0d)
+ {
+ Method(mm0e)
+ {
+ Method(mm0f)
+ {
+ Method(mm10)
+ {
+ Method(mm11)
+ {
+ Method(mm12)
+ {
+ Method(mm13)
+ {
+ Method(mm14)
+ {
+ Method(mm15)
+ {
+ Method(mm16)
+ {
+ Method(mm17)
+ {
+ Method(mm18)
+ {
+ Method(mm19)
+ {
+ Method(mm1a)
+ {
+ Method(mm1b)
+ {
+ Method(mm1c)
+ {
+ Method(mm1d)
+ {
+ Method(mm1e)
+ {
+ Method(mm1f)
+ {
+ Store (\mt14.dz05.iy07, Local0)
+ OUTC("mt14, \mt14.dz05.iy07:")
+ OUTC(Local0)
+ if (LNotEqual(Local0, 0xabcd2900)) {
+ err(ts, z170, 0x03d, 0, 0, Local0, 0xabcd2900)
+ }
+ if (LNotEqual(\mt14.dz05.iy07, 0xabcd2900)) {
+ err(ts, z170, 0x03e, 0, 0, \mt14.dz05.iy07, 0xabcd2900)
+ }
+ }
+ Store (\mt14.dz05.iy07, Local0)
+ mm1f()
+ if (LNotEqual(Local0, 0xabcd2900)) {
+ err(ts, z170, 0x03f, 0, 0, Local0, 0xabcd2900)
+ }
+ if (LNotEqual(\mt14.dz05.iy07, 0xabcd2900)) {
+ err(ts, z170, 0x040, 0, 0, \mt14.dz05.iy07, 0xabcd2900)
+ }
+ }
+ Store (\mt14.dz05.iy07, Local0)
+ mm1e()
+ if (LNotEqual(Local0, 0xabcd2900)) {
+ err(ts, z170, 0x041, 0, 0, Local0, 0xabcd2900)
+ }
+ if (LNotEqual(\mt14.dz05.iy07, 0xabcd2900)) {
+ err(ts, z170, 0x042, 0, 0, \mt14.dz05.iy07, 0xabcd2900)
+ }
+ }
+ Store (\mt14.dz05.iy07, Local0)
+ mm1d()
+ if (LNotEqual(Local0, 0xabcd2900)) {
+ err(ts, z170, 0x043, 0, 0, Local0, 0xabcd2900)
+ }
+ if (LNotEqual(\mt14.dz05.iy07, 0xabcd2900)) {
+ err(ts, z170, 0x044, 0, 0, \mt14.dz05.iy07, 0xabcd2900)
+ }
+ }
+ Store (\mt14.dz05.iy07, Local0)
+ mm1c()
+ if (LNotEqual(Local0, 0xabcd2900)) {
+ err(ts, z170, 0x045, 0, 0, Local0, 0xabcd2900)
+ }
+ if (LNotEqual(\mt14.dz05.iy07, 0xabcd2900)) {
+ err(ts, z170, 0x046, 0, 0, \mt14.dz05.iy07, 0xabcd2900)
+ }
+ }
+ Store (\mt14.dz05.iy07, Local0)
+ mm1b()
+ if (LNotEqual(Local0, 0xabcd2900)) {
+ err(ts, z170, 0x047, 0, 0, Local0, 0xabcd2900)
+ }
+ if (LNotEqual(\mt14.dz05.iy07, 0xabcd2900)) {
+ err(ts, z170, 0x048, 0, 0, \mt14.dz05.iy07, 0xabcd2900)
+ }
+ }
+ Store (\mt14.dz05.iy07, Local0)
+ mm1a()
+ if (LNotEqual(Local0, 0xabcd2900)) {
+ err(ts, z170, 0x049, 0, 0, Local0, 0xabcd2900)
+ }
+ if (LNotEqual(\mt14.dz05.iy07, 0xabcd2900)) {
+ err(ts, z170, 0x04a, 0, 0, \mt14.dz05.iy07, 0xabcd2900)
+ }
+ }
+ Store (\mt14.dz05.iy07, Local0)
+ mm19()
+ if (LNotEqual(Local0, 0xabcd2900)) {
+ err(ts, z170, 0x04b, 0, 0, Local0, 0xabcd2900)
+ }
+ if (LNotEqual(\mt14.dz05.iy07, 0xabcd2900)) {
+ err(ts, z170, 0x04c, 0, 0, \mt14.dz05.iy07, 0xabcd2900)
+ }
+ }
+ Store (\mt14.dz05.iy07, Local0)
+ mm18()
+ if (LNotEqual(Local0, 0xabcd2900)) {
+ err(ts, z170, 0x04d, 0, 0, Local0, 0xabcd2900)
+ }
+ if (LNotEqual(\mt14.dz05.iy07, 0xabcd2900)) {
+ err(ts, z170, 0x04e, 0, 0, \mt14.dz05.iy07, 0xabcd2900)
+ }
+ }
+ Store (\mt14.dz05.iy07, Local0)
+ mm17()
+ if (LNotEqual(Local0, 0xabcd2900)) {
+ err(ts, z170, 0x04f, 0, 0, Local0, 0xabcd2900)
+ }
+ if (LNotEqual(\mt14.dz05.iy07, 0xabcd2900)) {
+ err(ts, z170, 0x050, 0, 0, \mt14.dz05.iy07, 0xabcd2900)
+ }
+ }
+ Store (\mt14.dz05.iy07, Local0)
+ mm16()
+ if (LNotEqual(Local0, 0xabcd2900)) {
+ err(ts, z170, 0x051, 0, 0, Local0, 0xabcd2900)
+ }
+ if (LNotEqual(\mt14.dz05.iy07, 0xabcd2900)) {
+ err(ts, z170, 0x052, 0, 0, \mt14.dz05.iy07, 0xabcd2900)
+ }
+ }
+ Store (\mt14.dz05.iy07, Local0)
+ mm15()
+ if (LNotEqual(Local0, 0xabcd2900)) {
+ err(ts, z170, 0x053, 0, 0, Local0, 0xabcd2900)
+ }
+ if (LNotEqual(\mt14.dz05.iy07, 0xabcd2900)) {
+ err(ts, z170, 0x054, 0, 0, \mt14.dz05.iy07, 0xabcd2900)
+ }
+ }
+ Store (\mt14.dz05.iy07, Local0)
+ mm14()
+ if (LNotEqual(Local0, 0xabcd2900)) {
+ err(ts, z170, 0x055, 0, 0, Local0, 0xabcd2900)
+ }
+ if (LNotEqual(\mt14.dz05.iy07, 0xabcd2900)) {
+ err(ts, z170, 0x056, 0, 0, \mt14.dz05.iy07, 0xabcd2900)
+ }
+ }
+ Store (\mt14.dz05.iy07, Local0)
+ mm13()
+ if (LNotEqual(Local0, 0xabcd2900)) {
+ err(ts, z170, 0x057, 0, 0, Local0, 0xabcd2900)
+ }
+ if (LNotEqual(\mt14.dz05.iy07, 0xabcd2900)) {
+ err(ts, z170, 0x058, 0, 0, \mt14.dz05.iy07, 0xabcd2900)
+ }
+ }
+ Store (\mt14.dz05.iy07, Local0)
+ mm12()
+ if (LNotEqual(Local0, 0xabcd2900)) {
+ err(ts, z170, 0x059, 0, 0, Local0, 0xabcd2900)
+ }
+ if (LNotEqual(\mt14.dz05.iy07, 0xabcd2900)) {
+ err(ts, z170, 0x05a, 0, 0, \mt14.dz05.iy07, 0xabcd2900)
+ }
+ }
+ Store (\mt14.dz05.iy07, Local0)
+ mm11()
+ if (LNotEqual(Local0, 0xabcd2900)) {
+ err(ts, z170, 0x05b, 0, 0, Local0, 0xabcd2900)
+ }
+ if (LNotEqual(\mt14.dz05.iy07, 0xabcd2900)) {
+ err(ts, z170, 0x05c, 0, 0, \mt14.dz05.iy07, 0xabcd2900)
+ }
+ }
+ Store (\mt14.dz05.iy07, Local0)
+ mm10()
+ if (LNotEqual(Local0, 0xabcd2900)) {
+ err(ts, z170, 0x05d, 0, 0, Local0, 0xabcd2900)
+ }
+ if (LNotEqual(\mt14.dz05.iy07, 0xabcd2900)) {
+ err(ts, z170, 0x05e, 0, 0, \mt14.dz05.iy07, 0xabcd2900)
+ }
+ }
+ Store (\mt14.dz05.iy07, Local0)
+ mm0f()
+ if (LNotEqual(Local0, 0xabcd2900)) {
+ err(ts, z170, 0x05f, 0, 0, Local0, 0xabcd2900)
+ }
+ if (LNotEqual(\mt14.dz05.iy07, 0xabcd2900)) {
+ err(ts, z170, 0x060, 0, 0, \mt14.dz05.iy07, 0xabcd2900)
+ }
+ }
+ Store (\mt14.dz05.iy07, Local0)
+ mm0e()
+ if (LNotEqual(Local0, 0xabcd2900)) {
+ err(ts, z170, 0x061, 0, 0, Local0, 0xabcd2900)
+ }
+ if (LNotEqual(\mt14.dz05.iy07, 0xabcd2900)) {
+ err(ts, z170, 0x062, 0, 0, \mt14.dz05.iy07, 0xabcd2900)
+ }
+ }
+ Store (\mt14.dz05.iy07, Local0)
+ mm0d()
+ if (LNotEqual(Local0, 0xabcd2900)) {
+ err(ts, z170, 0x063, 0, 0, Local0, 0xabcd2900)
+ }
+ if (LNotEqual(\mt14.dz05.iy07, 0xabcd2900)) {
+ err(ts, z170, 0x064, 0, 0, \mt14.dz05.iy07, 0xabcd2900)
+ }
+ }
+ Store (\mt14.dz05.iy07, Local0)
+ mm0c()
+ if (LNotEqual(Local0, 0xabcd2900)) {
+ err(ts, z170, 0x065, 0, 0, Local0, 0xabcd2900)
+ }
+ if (LNotEqual(\mt14.dz05.iy07, 0xabcd2900)) {
+ err(ts, z170, 0x066, 0, 0, \mt14.dz05.iy07, 0xabcd2900)
+ }
+ }
+ Store (\mt14.dz05.iy07, Local0)
+ mm0b()
+ if (LNotEqual(Local0, 0xabcd2900)) {
+ err(ts, z170, 0x067, 0, 0, Local0, 0xabcd2900)
+ }
+ if (LNotEqual(\mt14.dz05.iy07, 0xabcd2900)) {
+ err(ts, z170, 0x068, 0, 0, \mt14.dz05.iy07, 0xabcd2900)
+ }
+ }
+ Store (\mt14.dz05.iy07, Local0)
+ mm0a()
+ if (LNotEqual(Local0, 0xabcd2900)) {
+ err(ts, z170, 0x069, 0, 0, Local0, 0xabcd2900)
+ }
+ if (LNotEqual(\mt14.dz05.iy07, 0xabcd2900)) {
+ err(ts, z170, 0x06a, 0, 0, \mt14.dz05.iy07, 0xabcd2900)
+ }
+ }
+ Store (\mt14.dz05.iy07, Local0)
+ mm09()
+ if (LNotEqual(Local0, 0xabcd2900)) {
+ err(ts, z170, 0x06b, 0, 0, Local0, 0xabcd2900)
+ }
+ if (LNotEqual(\mt14.dz05.iy07, 0xabcd2900)) {
+ err(ts, z170, 0x06c, 0, 0, \mt14.dz05.iy07, 0xabcd2900)
+ }
+ }
+ Store (\mt14.dz05.iy07, Local0)
+ mm08()
+ if (LNotEqual(Local0, 0xabcd2900)) {
+ err(ts, z170, 0x06d, 0, 0, Local0, 0xabcd2900)
+ }
+ if (LNotEqual(\mt14.dz05.iy07, 0xabcd2900)) {
+ err(ts, z170, 0x06e, 0, 0, \mt14.dz05.iy07, 0xabcd2900)
+ }
+ }
+ Store (\mt14.dz05.iy07, Local0)
+ mm07()
+ if (LNotEqual(Local0, 0xabcd2900)) {
+ err(ts, z170, 0x06f, 0, 0, Local0, 0xabcd2900)
+ }
+ if (LNotEqual(\mt14.dz05.iy07, 0xabcd2900)) {
+ err(ts, z170, 0x070, 0, 0, \mt14.dz05.iy07, 0xabcd2900)
+ }
+ }
+ Store (\mt14.dz05.iy07, Local0)
+ mm06()
+ if (LNotEqual(Local0, 0xabcd2900)) {
+ err(ts, z170, 0x071, 0, 0, Local0, 0xabcd2900)
+ }
+ if (LNotEqual(\mt14.dz05.iy07, 0xabcd2900)) {
+ err(ts, z170, 0x072, 0, 0, \mt14.dz05.iy07, 0xabcd2900)
+ }
+ }
+ Store (\mt14.dz05.iy07, Local0)
+ mm05()
+ if (LNotEqual(Local0, 0xabcd2900)) {
+ err(ts, z170, 0x073, 0, 0, Local0, 0xabcd2900)
+ }
+ if (LNotEqual(\mt14.dz05.iy07, 0xabcd2900)) {
+ err(ts, z170, 0x074, 0, 0, \mt14.dz05.iy07, 0xabcd2900)
+ }
+ }
+ Store (\mt14.dz05.iy07, Local0)
+ mm04()
+ if (LNotEqual(Local0, 0xabcd2900)) {
+ err(ts, z170, 0x075, 0, 0, Local0, 0xabcd2900)
+ }
+ if (LNotEqual(\mt14.dz05.iy07, 0xabcd2900)) {
+ err(ts, z170, 0x076, 0, 0, \mt14.dz05.iy07, 0xabcd2900)
+ }
+ }
+ Store (\mt14.dz05.iy07, Local0)
+ mm03()
+ if (LNotEqual(Local0, 0xabcd2900)) {
+ err(ts, z170, 0x077, 0, 0, Local0, 0xabcd2900)
+ }
+ if (LNotEqual(\mt14.dz05.iy07, 0xabcd2900)) {
+ err(ts, z170, 0x078, 0, 0, \mt14.dz05.iy07, 0xabcd2900)
+ }
+ }
+ Store (\mt14.dz05.iy07, Local0)
+ mm02()
+ if (LNotEqual(Local0, 0xabcd2900)) {
+ err(ts, z170, 0x079, 0, 0, Local0, 0xabcd2900)
+ }
+ if (LNotEqual(\mt14.dz05.iy07, 0xabcd2900)) {
+ err(ts, z170, 0x07a, 0, 0, \mt14.dz05.iy07, 0xabcd2900)
+ }
+ }
+ Store (\mt14.dz05.iy07, Local0)
+ mm01()
+ if (LNotEqual(Local0, 0xabcd2900)) {
+ err(ts, z170, 0x07b, 0, 0, Local0, 0xabcd2900)
+ }
+ if (LNotEqual(\mt14.dz05.iy07, 0xabcd2900)) {
+ err(ts, z170, 0x07c, 0, 0, \mt14.dz05.iy07, 0xabcd2900)
+ }
+ }
+
+ CH03(ts, z170, 0x11f, 0, 0)
+
+ Store (\mt14.dz05.iy07, Local0)
+ mm00()
+ if (LNotEqual(Local0, 0xabcd2900)) {
+ err(ts, z170, 0x07d, 0, 0, Local0, 0xabcd2900)
+ }
+ if (LNotEqual(\mt14.dz05.iy07, 0xabcd2900)) {
+ err(ts, z170, 0x07e, 0, 0, \mt14.dz05.iy07, 0xabcd2900)
+ }
+
+ CH03(ts, z170, 0x120, 0, 0)
+}
+
+/*
+ * The same as mt14, but contains parent name paths.
+ * To be run on ACPICA only.
+ */
+Method(mt15)
+{
+ Name(ts, "mt15")
+
+ Device(dz05)
+ {
+ Name(iy07, 0xabcd3900)
+ }
+ Method(mm00)
+ {
+ Method(mm01)
+ {
+ Method(mm02)
+ {
+ Method(mm03)
+ {
+ Method(mm04)
+ {
+ Method(mm05)
+ {
+ Method(mm06)
+ {
+ Method(mm07)
+ {
+ Method(mm08)
+ {
+ Method(mm09)
+ {
+ Method(mm0a)
+ {
+ Method(mm0b)
+ {
+ Method(mm0c)
+ {
+ Method(mm0d)
+ {
+ Method(mm0e)
+ {
+ Method(mm0f)
+ {
+ Method(mm10)
+ {
+ Method(mm11)
+ {
+ Method(mm12)
+ {
+ Method(mm13)
+ {
+ Method(mm14)
+ {
+ Method(mm15)
+ {
+ Method(mm16)
+ {
+ Method(mm17)
+ {
+ Method(mm18)
+ {
+ Method(mm19)
+ {
+ Method(mm1a)
+ {
+ Method(mm1b)
+ {
+ Method(mm1c)
+ {
+ Method(mm1d)
+ {
+ Method(mm1e)
+ {
+ Method(mm1f)
+ {
+ Store (^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, Local0)
+ OUTC("mt15, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07:")
+ OUTC(Local0)
+ if (LNotEqual(Local0, 0xabcd3900)) {
+ err(ts, z170, 0x07f, 0, 0, Local0, 0xabcd3900)
+ }
+ if (LNotEqual(^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)) {
+ err(ts, z170, 0x080, 0, 0, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)
+ }
+ }
+ Store (^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, Local0)
+ mm1f()
+ if (LNotEqual(Local0, 0xabcd3900)) {
+ err(ts, z170, 0x081, 0, 0, Local0, 0xabcd3900)
+ }
+ if (LNotEqual(^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)) {
+ err(ts, z170, 0x082, 0, 0, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)
+ }
+ }
+ Store (^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, Local0)
+ mm1e()
+ if (LNotEqual(Local0, 0xabcd3900)) {
+ err(ts, z170, 0x083, 0, 0, Local0, 0xabcd3900)
+ }
+ if (LNotEqual(^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)) {
+ err(ts, z170, 0x084, 0, 0, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)
+ }
+ }
+ Store (^^^^^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, Local0)
+ mm1d()
+ if (LNotEqual(Local0, 0xabcd3900)) {
+ err(ts, z170, 0x085, 0, 0, Local0, 0xabcd3900)
+ }
+ if (LNotEqual(^^^^^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)) {
+ err(ts, z170, 0x086, 0, 0, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)
+ }
+ }
+ Store (^^^^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, Local0)
+ mm1c()
+ if (LNotEqual(Local0, 0xabcd3900)) {
+ err(ts, z170, 0x087, 0, 0, Local0, 0xabcd3900)
+ }
+ if (LNotEqual(^^^^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)) {
+ err(ts, z170, 0x088, 0, 0, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)
+ }
+ }
+ Store (^^^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, Local0)
+ mm1b()
+ if (LNotEqual(Local0, 0xabcd3900)) {
+ err(ts, z170, 0x089, 0, 0, Local0, 0xabcd3900)
+ }
+ if (LNotEqual(^^^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)) {
+ err(ts, z170, 0x08a, 0, 0, ^^^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)
+ }
+ }
+ Store (^^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, Local0)
+ mm1a()
+ if (LNotEqual(Local0, 0xabcd3900)) {
+ err(ts, z170, 0x08b, 0, 0, Local0, 0xabcd3900)
+ }
+ if (LNotEqual(^^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)) {
+ err(ts, z170, 0x08c, 0, 0, ^^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)
+ }
+ }
+ Store (^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, Local0)
+ mm19()
+ if (LNotEqual(Local0, 0xabcd3900)) {
+ err(ts, z170, 0x08d, 0, 0, Local0, 0xabcd3900)
+ }
+ if (LNotEqual(^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)) {
+ err(ts, z170, 0x08e, 0, 0, ^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)
+ }
+ }
+ Store (^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, Local0)
+ mm18()
+ if (LNotEqual(Local0, 0xabcd3900)) {
+ err(ts, z170, 0x08f, 0, 0, Local0, 0xabcd3900)
+ }
+ if (LNotEqual(^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)) {
+ err(ts, z170, 0x090, 0, 0, ^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)
+ }
+ }
+ Store (^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, Local0)
+ mm17()
+ if (LNotEqual(Local0, 0xabcd3900)) {
+ err(ts, z170, 0x091, 0, 0, Local0, 0xabcd3900)
+ }
+ if (LNotEqual(^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)) {
+ err(ts, z170, 0x092, 0, 0, ^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)
+ }
+ }
+ Store (^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, Local0)
+ mm16()
+ if (LNotEqual(Local0, 0xabcd3900)) {
+ err(ts, z170, 0x093, 0, 0, Local0, 0xabcd3900)
+ }
+ if (LNotEqual(^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)) {
+ err(ts, z170, 0x094, 0, 0, ^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)
+ }
+ }
+ Store (^^^^^^^^^^^^^^^^^^^^^dz05.iy07, Local0)
+ mm15()
+ if (LNotEqual(Local0, 0xabcd3900)) {
+ err(ts, z170, 0x095, 0, 0, Local0, 0xabcd3900)
+ }
+ if (LNotEqual(^^^^^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)) {
+ err(ts, z170, 0x096, 0, 0, ^^^^^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)
+ }
+ }
+ Store (^^^^^^^^^^^^^^^^^^^^dz05.iy07, Local0)
+ mm14()
+ if (LNotEqual(Local0, 0xabcd3900)) {
+ err(ts, z170, 0x097, 0, 0, Local0, 0xabcd3900)
+ }
+ if (LNotEqual(^^^^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)) {
+ err(ts, z170, 0x098, 0, 0, ^^^^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)
+ }
+ }
+ Store (^^^^^^^^^^^^^^^^^^^dz05.iy07, Local0)
+ mm13()
+ if (LNotEqual(Local0, 0xabcd3900)) {
+ err(ts, z170, 0x099, 0, 0, Local0, 0xabcd3900)
+ }
+ if (LNotEqual(^^^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)) {
+ err(ts, z170, 0x09a, 0, 0, ^^^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)
+ }
+ }
+ Store (^^^^^^^^^^^^^^^^^^dz05.iy07, Local0)
+ mm12()
+ if (LNotEqual(Local0, 0xabcd3900)) {
+ err(ts, z170, 0x09b, 0, 0, Local0, 0xabcd3900)
+ }
+ if (LNotEqual(^^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)) {
+ err(ts, z170, 0x09c, 0, 0, ^^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)
+ }
+ }
+ Store (^^^^^^^^^^^^^^^^^dz05.iy07, Local0)
+ mm11()
+ if (LNotEqual(Local0, 0xabcd3900)) {
+ err(ts, z170, 0x09d, 0, 0, Local0, 0xabcd3900)
+ }
+ if (LNotEqual(^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)) {
+ err(ts, z170, 0x09e, 0, 0, ^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)
+ }
+ }
+ Store (^^^^^^^^^^^^^^^^dz05.iy07, Local0)
+ mm10()
+ if (LNotEqual(Local0, 0xabcd3900)) {
+ err(ts, z170, 0x09f, 0, 0, Local0, 0xabcd3900)
+ }
+ if (LNotEqual(^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)) {
+ err(ts, z170, 0x0a0, 0, 0, ^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)
+ }
+ }
+ Store (^^^^^^^^^^^^^^^dz05.iy07, Local0)
+ mm0f()
+ if (LNotEqual(Local0, 0xabcd3900)) {
+ err(ts, z170, 0x0a1, 0, 0, Local0, 0xabcd3900)
+ }
+ if (LNotEqual(^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)) {
+ err(ts, z170, 0x0a2, 0, 0, ^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)
+ }
+ }
+ Store (^^^^^^^^^^^^^^dz05.iy07, Local0)
+ mm0e()
+ if (LNotEqual(Local0, 0xabcd3900)) {
+ err(ts, z170, 0x0a3, 0, 0, Local0, 0xabcd3900)
+ }
+ if (LNotEqual(^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)) {
+ err(ts, z170, 0x0a4, 0, 0, ^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)
+ }
+ }
+ Store (^^^^^^^^^^^^^dz05.iy07, Local0)
+ mm0d()
+ if (LNotEqual(Local0, 0xabcd3900)) {
+ err(ts, z170, 0x0a5, 0, 0, Local0, 0xabcd3900)
+ }
+ if (LNotEqual(^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)) {
+ err(ts, z170, 0x0a6, 0, 0, ^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)
+ }
+ }
+ Store (^^^^^^^^^^^^dz05.iy07, Local0)
+ mm0c()
+ if (LNotEqual(Local0, 0xabcd3900)) {
+ err(ts, z170, 0x0a7, 0, 0, Local0, 0xabcd3900)
+ }
+ if (LNotEqual(^^^^^^^^^^^^dz05.iy07, 0xabcd3900)) {
+ err(ts, z170, 0x0a8, 0, 0, ^^^^^^^^^^^^dz05.iy07, 0xabcd3900)
+ }
+ }
+ Store (^^^^^^^^^^^dz05.iy07, Local0)
+ mm0b()
+ if (LNotEqual(Local0, 0xabcd3900)) {
+ err(ts, z170, 0x0a9, 0, 0, Local0, 0xabcd3900)
+ }
+ if (LNotEqual(^^^^^^^^^^^dz05.iy07, 0xabcd3900)) {
+ err(ts, z170, 0x0aa, 0, 0, ^^^^^^^^^^^dz05.iy07, 0xabcd3900)
+ }
+ }
+ Store (^^^^^^^^^^dz05.iy07, Local0)
+ mm0a()
+ if (LNotEqual(Local0, 0xabcd3900)) {
+ err(ts, z170, 0x0ab, 0, 0, Local0, 0xabcd3900)
+ }
+ if (LNotEqual(^^^^^^^^^^dz05.iy07, 0xabcd3900)) {
+ err(ts, z170, 0x0ac, 0, 0, ^^^^^^^^^^dz05.iy07, 0xabcd3900)
+ }
+ }
+ Store (^^^^^^^^^dz05.iy07, Local0)
+ mm09()
+ if (LNotEqual(Local0, 0xabcd3900)) {
+ err(ts, z170, 0x0ad, 0, 0, Local0, 0xabcd3900)
+ }
+ if (LNotEqual(^^^^^^^^^dz05.iy07, 0xabcd3900)) {
+ err(ts, z170, 0x0ae, 0, 0, ^^^^^^^^^dz05.iy07, 0xabcd3900)
+ }
+ }
+ Store (^^^^^^^^dz05.iy07, Local0)
+ mm08()
+ if (LNotEqual(Local0, 0xabcd3900)) {
+ err(ts, z170, 0x0af, 0, 0, Local0, 0xabcd3900)
+ }
+ if (LNotEqual(^^^^^^^^dz05.iy07, 0xabcd3900)) {
+ err(ts, z170, 0x0b0, 0, 0, ^^^^^^^^dz05.iy07, 0xabcd3900)
+ }
+ }
+ Store (^^^^^^^dz05.iy07, Local0)
+ mm07()
+ if (LNotEqual(Local0, 0xabcd3900)) {
+ err(ts, z170, 0x0b1, 0, 0, Local0, 0xabcd3900)
+ }
+ if (LNotEqual(^^^^^^^dz05.iy07, 0xabcd3900)) {
+ err(ts, z170, 0x0b2, 0, 0, ^^^^^^^dz05.iy07, 0xabcd3900)
+ }
+ }
+ Store (^^^^^^dz05.iy07, Local0)
+ mm06()
+ if (LNotEqual(Local0, 0xabcd3900)) {
+ err(ts, z170, 0x0b3, 0, 0, Local0, 0xabcd3900)
+ }
+ if (LNotEqual(^^^^^^dz05.iy07, 0xabcd3900)) {
+ err(ts, z170, 0x0b4, 0, 0, ^^^^^^dz05.iy07, 0xabcd3900)
+ }
+ }
+ Store (^^^^^dz05.iy07, Local0)
+ mm05()
+ if (LNotEqual(Local0, 0xabcd3900)) {
+ err(ts, z170, 0x0b5, 0, 0, Local0, 0xabcd3900)
+ }
+ if (LNotEqual(^^^^^dz05.iy07, 0xabcd3900)) {
+ err(ts, z170, 0x0b6, 0, 0, ^^^^^dz05.iy07, 0xabcd3900)
+ }
+ }
+ Store (^^^^dz05.iy07, Local0)
+ mm04()
+ if (LNotEqual(Local0, 0xabcd3900)) {
+ err(ts, z170, 0x0b7, 0, 0, Local0, 0xabcd3900)
+ }
+ if (LNotEqual(^^^^dz05.iy07, 0xabcd3900)) {
+ err(ts, z170, 0x0b8, 0, 0, ^^^^dz05.iy07, 0xabcd3900)
+ }
+ }
+ Store (^^^dz05.iy07, Local0)
+ mm03()
+ if (LNotEqual(Local0, 0xabcd3900)) {
+ err(ts, z170, 0x0b9, 0, 0, Local0, 0xabcd3900)
+ }
+ if (LNotEqual(^^^dz05.iy07, 0xabcd3900)) {
+ err(ts, z170, 0x0ba, 0, 0, ^^^dz05.iy07, 0xabcd3900)
+ }
+ }
+ Store (^^dz05.iy07, Local0)
+ mm02()
+ if (LNotEqual(Local0, 0xabcd3900)) {
+ err(ts, z170, 0x0bb, 0, 0, Local0, 0xabcd3900)
+ }
+ if (LNotEqual(^^dz05.iy07, 0xabcd3900)) {
+ err(ts, z170, 0x0bc, 0, 0, ^^dz05.iy07, 0xabcd3900)
+ }
+ }
+ Store (^dz05.iy07, Local0)
+ mm01()
+ if (LNotEqual(Local0, 0xabcd3900)) {
+ err(ts, z170, 0x0bd, 0, 0, Local0, 0xabcd3900)
+ }
+ if (LNotEqual(^dz05.iy07, 0xabcd3900)) {
+ err(ts, z170, 0x0be, 0, 0, ^dz05.iy07, 0xabcd3900)
+ }
+ }
+
+ CH03(ts, z170, 0x121, 0, 0)
+
+ Store (dz05.iy07, Local0)
+ mm00()
+ if (LNotEqual(Local0, 0xabcd3900)) {
+ err(ts, z170, 0x0bf, 0, 0, Local0, 0xabcd3900)
+ }
+ if (LNotEqual(dz05.iy07, 0xabcd3900)) {
+ err(ts, z170, 0x0c0, 0, 0, dz05.iy07, 0xabcd3900)
+ }
+
+ CH03(ts, z170, 0x122, 0, 0)
+}
+
+/*
+ * Access to the internal object of invoked method
+ */
+Method(mt16, 1)
+{
+ Name(ts, "mt16")
+
+ Name(i000, 0)
+ Name(i001, 0)
+
+ Method(mm00)
+ {
+ Method(mm01)
+ {
+ Method(mm02)
+ {
+ Method(mm03)
+ {
+ Method(mm04)
+ {
+ Device(dz05)
+ {
+ Name(iy07, 0xabcd4900)
+ }
+ if (LEqual(i001, 1)) {
+ Store(0xabcd4904, dz05.iy07)
+ m001(1)
+ } elseif (LEqual(i001, 2)) {
+ Store(0xabcd4905, dz05.iy07)
+ m001(2)
+ } elseif (LEqual(i001, 3)) {
+ m001(3)
+ }
+ }
+ mm04()
+ }
+ mm03()
+ }
+ mm02()
+ }
+ mm01()
+ }
+
+ Method(m000)
+ {
+ Store (^mm00.mm01.mm02.mm03.mm04.dz05.iy07, i000)
+ }
+
+ Method(m001, 1)
+ {
+ Method(mmF1, 1)
+ {
+ Method(mmF2, 1)
+ {
+ Device(dz05)
+ {
+ Name(iy07, 0xabcd6900)
+ }
+ if (LEqual(arg0, 1)) {
+ Store (\mt16.mm00.mm01.mm02.mm03.mm04.dz05.iy07, i000)
+ } elseif (LEqual(arg0, 2)) {
+ Store (^^^mm00.mm01.mm02.mm03.mm04.dz05.iy07, i000)
+ } elseif (LEqual(arg0, 3)) {
+ Store (^^mmF1.mmF2.dz05.iy07, i000)
+ }
+ }
+ mmF2(arg0)
+ }
+ mmF1(arg0)
+ }
+
+ CH03(ts, z170, 0x0c1, 0, 0)
+
+ if (LEqual(arg0, 0)) {
+ // Access to the internal data of method (mm00...) not being invoked
+ m000()
+ CH04(ts, 1, 5, z170, 0x0c2, 0, 0) // AE_NOT_FOUND
+ } elseif (LEqual(arg0, 1)) {
+
+ // Access to the internal data of method (mm00...) being invoked
+ // by \mt16.mm00....
+
+ Store(0, i000)
+ Store(1, i001)
+ mm00()
+ if (LNotEqual(i000, 0xabcd4904)) {
+ err(ts, z170, 0x0c3, 0, 0, i000, 0xabcd4904)
+ }
+ } elseif (LEqual(arg0, 2)) {
+
+ // Access to the internal data of method (mm00...) being invoked
+ // by ^^^^^^^^^^^^mm00...
+
+ Store(2, i001)
+ mm00()
+ if (LNotEqual(i000, 0xabcd4905)) {
+ err(ts, z170, 0x0c4, 0, 0, i000, 0xabcd4905)
+ }
+
+ } elseif (LEqual(arg0, 3)) {
+
+ // Access to the internal data of method (m001.mmF1.mmF2.mmF3.dz05.iy07...)
+ // being invoked by ^^^^^^^^^^^^mm01...
+
+ Store(3, i001)
+ mm00()
+ if (LNotEqual(i000, 0xabcd6900)) {
+ err(ts, z170, 0x1c4, 0, 0, i000, 0xabcd6900)
+ }
+ }
+
+ CH03(ts, z170, 0x0c5, 0, 0)
+}
+
+/*
+ * The same as mt16, but contains more depth of enclosed method calls.
+ * To be run on ACPICA only.
+ */
+Method(mt17, 1)
+{
+ Name(ts, "mt17")
+
+ Name(i000, 0)
+ Name(i001, 0)
+
+ Method(mm00)
+ {
+ Method(mm01)
+ {
+ Method(mm02)
+ {
+ Method(mm03)
+ {
+ Method(mm04)
+ {
+ Method(mm05)
+ {
+ Method(mm06)
+ {
+ Method(mm07)
+ {
+ Method(mm08)
+ {
+ Method(mm09)
+ {
+ Method(mm0a)
+ {
+ Method(mm0b)
+ {
+ Method(mm0c)
+ {
+ Method(mm0d)
+ {
+ Method(mm0e)
+ {
+ Method(mm0f)
+ {
+ Method(mm10)
+ {
+ Method(mm11)
+ {
+ Method(mm12)
+ {
+ Method(mm13)
+ {
+ Method(mm14)
+ {
+ Method(mm15)
+ {
+ Method(mm16)
+ {
+ Method(mm17)
+ {
+ Method(mm18)
+ {
+ Method(mm19)
+ {
+ Method(mm1a)
+ {
+ Method(mm1b)
+ {
+ Method(mm1c)
+ {
+ Method(mm1d)
+ {
+ Method(mm1e)
+ {
+ Method(mm1f)
+ {
+ Method(mm20)
+ {
+ Method(mm21)
+ {
+ Device(dz05)
+ {
+ Name(iy07, 0xabcd5900)
+ }
+ Method(mm22)
+ {
+ Method(mm23)
+ {
+ Method(mm24)
+ {
+ Method(mm25)
+ {
+ if (LEqual(i001, 1)) {
+ Store(0xabcd4906, ^^^^dz05.iy07)
+ m001(1)
+ } elseif (LEqual(i001, 2)) {
+ Store(0xabcd4907, ^^^^dz05.iy07)
+ m001(2)
+ } elseif (LEqual(i001, 3)) {
+ m001(3)
+ }
+ }
+ mm25()
+ }
+ mm24()
+ }
+ mm23()
+ }
+ mm22()
+ }
+ mm21()
+ }
+ mm20()
+ }
+ mm1f()
+ }
+ mm1e()
+ }
+ mm1d()
+ }
+ mm1c()
+ }
+ mm1b()
+ }
+ mm1a()
+ }
+ mm19()
+ }
+ mm18()
+ }
+ mm17()
+ }
+ mm16()
+ }
+ mm15()
+ }
+ mm14()
+ }
+ mm13()
+ }
+ mm12()
+ }
+ mm11()
+ }
+ mm10()
+ }
+ mm0f()
+ }
+ mm0e()
+ }
+ mm0d()
+ }
+ mm0c()
+ }
+ mm0b()
+ }
+ mm0a()
+ }
+ mm09()
+ }
+ mm08()
+ }
+ mm07()
+ }
+ mm06()
+ }
+ mm05()
+ }
+ mm04()
+ }
+ mm03()
+ }
+ mm02()
+ }
+ mm01()
+ }
+
+ Method(m000)
+ {
+ Store (^mm00.mm01.mm02.mm03.mm04.mm05.mm06.mm07.mm08.mm09.mm0a.mm0b.mm0c.mm0d.mm0e.mm0f.mm10.mm11.mm12.mm13.mm14.mm15.mm16.mm17.mm18.mm19.mm1a.mm1b.mm1c.mm1d.mm1e.mm1f.mm20.mm21.dz05.iy07, i000)
+ }
+
+ Method(m001, 1)
+ {
+ Method(mmF1, 1)
+ {
+ Method(mmF2, 1)
+ {
+ Method(mmF3, 1)
+ {
+ Method(mmF4, 1)
+ {
+ Method(mmF5, 1)
+ {
+ Method(mmF6, 1)
+ {
+ Method(mmF7, 1)
+ {
+ Method(mmF8, 1)
+ {
+ Method(mmF9, 1)
+ {
+ Method(mmFa, 1)
+ {
+ Method(mmFb, 1)
+ {
+ Method(mmFc, 1)
+ {
+ Method(mmFd, 1)
+ {
+ Method(mmFe, 1)
+ {
+ Method(mmFf, 1)
+ {
+ Method(mm10, 1)
+ {
+ Method(mm11, 1)
+ {
+ Device(dz05)
+ {
+ Name(iy07, 0xabcd4908)
+ }
+ Method(mm12, 1)
+ {
+ Method(mm13, 1)
+ {
+ Method(mm14, 1)
+ {
+ Method(mm15, 1)
+ {
+ Method(mm16, 1)
+ {
+ Method(mm17, 1)
+ {
+ Method(mm18, 1)
+ {
+ Method(mm19, 1)
+ {
+ Method(mm1a, 1)
+ {
+ Method(mm1b, 1)
+ {
+ Method(mm1c, 1)
+ {
+ Method(mm1d, 1)
+ {
+ Method(mm1e, 1)
+ {
+ Method(mm1f, 1)
+ {
+if (LEqual(arg0, 1)) {
+ Store (\mt17.mm00.mm01.mm02.mm03.mm04.mm05.mm06.mm07.mm08.mm09.mm0a.mm0b.mm0c.mm0d.mm0e.mm0f.mm10.mm11.mm12.mm13.mm14.mm15.mm16.mm17.mm18.mm19.mm1a.mm1b.mm1c.mm1d.mm1e.mm1f.mm20.mm21.dz05.iy07, i000)
+} elseif (LEqual(arg0, 2)) {
+ Store (^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^mm00.mm01.mm02.mm03.mm04.mm05.mm06.mm07.mm08.mm09.mm0a.mm0b.mm0c.mm0d.mm0e.mm0f.mm10.mm11.mm12.mm13.mm14.mm15.mm16.mm17.mm18.mm19.mm1a.mm1b.mm1c.mm1d.mm1e.mm1f.mm20.mm21.dz05.iy07, i000)
+} elseif (LEqual(arg0, 3)) {
+ Store (^^^^^^^^^^^^^^^^^^^^^^^^^^mmF6.mmF7.mmF8.mmF9.mmFa.mmFb.mmFc.mmFd.mmFe.mmFf.mm10.mm11.dz05.iy07, i000)
+}
+ }
+ mm1f(arg0)
+ }
+ mm1e(arg0)
+ }
+ mm1d(arg0)
+ }
+ mm1c(arg0)
+ }
+ mm1b(arg0)
+ }
+ mm1a(arg0)
+ }
+ mm19(arg0)
+ }
+ mm18(arg0)
+ }
+ mm17(arg0)
+ }
+ mm16(arg0)
+ }
+ mm15(arg0)
+ }
+ mm14(arg0)
+ }
+ mm13(arg0)
+ }
+ mm12(arg0)
+ }
+ mm11(arg0)
+ }
+ mm10(arg0)
+ }
+ mmFf(arg0)
+ }
+ mmFe(arg0)
+ }
+ mmFd(arg0)
+ }
+ mmFc(arg0)
+ }
+ mmFb(arg0)
+ }
+ mmFa(arg0)
+ }
+ mmF9(arg0)
+ }
+ mmF8(arg0)
+ }
+ mmF7(arg0)
+ }
+ mmF6(arg0)
+ }
+ mmF5(arg0)
+ }
+ mmF4(arg0)
+ }
+ mmF3(arg0)
+ }
+ mmF2(arg0)
+ }
+ mmF1(arg0)
+ }
+
+ CH03(ts, z170, 0x0c6, 0, 0)
+
+ if (LEqual(arg0, 0)) {
+ // Access to the internal data of method (mm00...) not being invoked
+ m000()
+ CH04(ts, 1, 5, z170, 0x0c7, 0, 0) // AE_NOT_FOUND
+ } elseif (LEqual(arg0, 1)) {
+
+ // Access to the internal data of method (mm00...) being invoked
+ // by \mt16.mm00....
+
+ Store(1, i001)
+ mm00()
+ if (LNotEqual(i000, 0xabcd4906)) {
+ err(ts, z170, 0x0c8, 0, 0, i000, 0xabcd4906)
+ }
+ } elseif (LEqual(arg0, 2)) {
+
+ // Access to the internal data of method (mm00...) being invoked
+ // by ^^^^^^^^^^^^mm00...
+
+ Store(2, i001)
+ mm00()
+ if (LNotEqual(i000, 0xabcd4907)) {
+ err(ts, z170, 0x0c9, 0, 0, i000, 0xabcd4907)
+ }
+
+ } elseif (LEqual(arg0, 3)) {
+
+ // Access to the internal data of method (m001.mmF1.mmF2.mmF3.dz05.iy07...)
+ // being invoked by ^^^^^^^^^^^^mm01...
+
+ Store(3, i001)
+ mm00()
+ if (LNotEqual(i000, 0xabcd4908)) {
+ err(ts, z170, 0x0ca, 0, 0, i000, 0xabcd4908)
+ }
+ }
+
+ CH03(ts, z170, 0x0cb, 0, 0)
+}
+
+Method(mt18, 1)
+{
+ Name(ts, "mt18")
+
+ Device(dz05)
+ {
+ Name(iy07, 0xabcd4900)
+ }
+
+ CH03(ts, z170, 0x0cc, 0, 0)
+
+ if (arg0) {
+ Store(0xabcd9000, \mt18.dz05.iy07)
+ if (LNotEqual(\mt18.dz05.iy07, 0xabcd9000)) {
+ err(ts, z170, 0x0ca, 0, 0, \mt18.dz05.iy07, 0xabcd9000)
+ }
+ } else {
+ Store(0xabcd9001, dz05.iy07)
+ if (LNotEqual(dz05.iy07, 0xabcd9001)) {
+ err(ts, z170, 0x0ca, 0, 0, dz05.iy07, 0xabcd9001)
+ }
+ }
+
+ CH03(ts, z170, 0x0cd, 0, 0)
+}
+
+Method(mt19, 1)
+{
+ Name(ts, "mt19")
+
+ Processor(pr7d, 0, 0x000, 0x008)
+ {
+ Name(iy07, 0xabcd0660)
+ }
+
+ CH03(ts, z170, 0x0ce, 0, 0)
+
+ if (arg0) {
+ Store(0xabcd9002, \mt19.pr7d.iy07)
+ if (LNotEqual(\mt19.pr7d.iy07, 0xabcd9002)) {
+ err(ts, z170, 0x0ca, 0, 0, \mt19.pr7d.iy07, 0xabcd9002)
+ }
+ } else {
+ Store(0xabcd9003, pr7d.iy07)
+ if (LNotEqual(pr7d.iy07, 0xabcd9003)) {
+ err(ts, z170, 0x0ca, 0, 0, pr7d.iy07, 0xabcd9003)
+ }
+ }
+
+ CH03(ts, z170, 0x0cf, 0, 0)
+}
+
+Method(mt1a, 1)
+{
+ Name(ts, "mt1a")
+
+ CH03(ts, z170, 0x0d0, 0, 0)
+ if (arg0) {
+ Store(0xabcd9004, \pr7d.iy07)
+ if (LNotEqual(\pr7d.iy07, 0xabcd9004)) {
+ err(ts, z170, 0x0ca, 0, 0, \pr7d.iy07, 0xabcd9004)
+ }
+ } else {
+ Store(0xabcd9005, ^pr7d.iy07)
+ if (LNotEqual(^pr7d.iy07, 0xabcd9005)) {
+ err(ts, z170, 0x0ca, 0, 0, ^pr7d.iy07, 0xabcd9005)
+ }
+ }
+ CH03(ts, z170, 0x0d1, 0, 0)
+}
+
+
+Method(mtff)
+{
+ Name(run0, 1)
+
+ // Works on both
+ SRMT("mt00")
+ mt00()
+
+ if (chk0) {
+ // Exceeded the depth supported on MS
+ SRMT("mt01")
+ mt01()
+ }
+
+ // Works on both
+ SRMT("mt02")
+ mt02()
+
+ if (chk0) {
+ // Exceeded the depth supported on MS
+ SRMT("mt03")
+ mt03()
+ }
+
+ if (run0) {
+ // Works on MS, AE_AML_OPERAND_TYPE on ACPICA
+ SRMT("mt04")
+ mt04()
+ }
+
+ if (LAnd(chk0, run0)) {
+ // Exceeded the depth supported on MS
+ SRMT("mt05")
+ mt05()
+ }
+
+ if (run0) {
+ // Works on MS, AE_NOT_FOUND on ACPICA
+ SRMT("mt06")
+ mt06()
+ }
+
+ if (0) {
+ // Fails for both here - for MS and ACPICA
+ SRMT("mt07")
+ mt07()
+ }
+
+ if (chk0) {
+ // Exceeded the depth supported on MS
+ SRMT("mt08")
+ mt08()
+ }
+
+ // Works on both
+ SRMT("mt0a")
+ mt0a()
+ SRMT("mt0b")
+ mt0b()
+
+ if (run0) {
+ // Works on MS, AE_AML_OPERAND_TYPE on ACPICA
+ SRMT("mt0c")
+ mt0c()
+ }
+
+ // Simply long cycle in While
+ SRMT("mt0d")
+ mt0d()
+
+ if (0) {
+ SRMT("mt0e")
+ mt0e() // Result: ACPICA - AE_NOT_FOUND, MS - Failure
+ }
+
+ if (run0) {
+ // Works on MS, AE_AML_OPERAND_TYPE on ACPICA
+ SRMT("mt0f")
+ mt0f()
+ }
+
+ if (LAnd(chk0, run0)) {
+ // Exceeded the depth supported on MS
+ SRMT("mt10")
+ mt10()
+ }
+
+ if (run0) {
+ // Works on MS, AE_AML_OPERAND_TYPE on ACPICA
+ SRMT("mt11")
+ mt11()
+ }
+
+ if (LAnd(chk0, run0)) {
+ // Exceeded the depth supported on MS
+ SRMT("mt12")
+ mt12()
+ }
+
+ // Works on both
+ SRMT("mt13")
+ mt13()
+
+ if (chk0) {
+ // Exceeded the depth supported on MS
+ SRMT("mt14")
+ mt14()
+ SRMT("mt15")
+ mt15()
+ }
+
+ if (chk0) {
+ // ACPICA - AE_NOT_FOUND (it is correct), MS - Failure
+ SRMT("mt16-0")
+ mt16(0)
+ }
+
+ if (run0) {
+ // Works on MS, AE_AML_OPERAND_TYPE on ACPICA
+ SRMT("mt16-1")
+ mt16(1)
+ SRMT("mt16-2")
+ mt16(2)
+ SRMT("mt16-3")
+ mt16(3)
+ }
+
+ if (chk0) {
+ // ACPICA - AE_NOT_FOUND (it is correct), MS - Failure
+ SRMT("mt17-0")
+ mt17(0)
+ }
+
+ if (LAnd(chk0, run0)) {
+ // Exceeded the depth supported on MS
+ SRMT("mt17-1")
+ mt17(1)
+ SRMT("mt17-2")
+ mt17(2)
+ }
+
+ SRMT("mt18-0")
+ mt18(0)
+ SRMT("mt18-1")
+ mt18(1)
+ SRMT("mt19-0")
+ mt19(0)
+ SRMT("mt19-1")
+ mt19(1)
+ SRMT("mt1a-0")
+ mt1a(0)
+ SRMT("mt1a-1")
+ mt1a(1)
+}
+
diff --git a/tests/aslts/src/runtime/collections/Identity2MS/abbu/misc/ms0.asl b/tests/aslts/src/runtime/collections/Identity2MS/abbu/misc/ms0.asl
new file mode 100644
index 000000000..34a29992c
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/Identity2MS/abbu/misc/ms0.asl
@@ -0,0 +1,240 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+/*
+ * Tests originated from bdemo/0262
+ */
+
+Name(z162, 162)
+
+/*
+ * Bug 262 (Fiodor Suietov):
+ *
+ * SUMMARY: Unexpected AE_STACK_OVERFLOW for a method call expression with nested calls
+ */
+Method(ms00)
+{
+ Name(ts, "ms00")
+
+ Name(iad1, 0x1)
+ Name(iad2, 0x10)
+ Name(iad3, 0x100)
+ Name(iad4, 0x1000)
+ Name(iad5, 0x10000)
+ Name(iad6, 0x100000)
+ Name(iad7, 0x1000000)
+
+ Method(mad1, 1) {Return(Arg0)}
+ Method(mad7, 7) {Return(Add(Add(Add(Add(Add(Add(Arg0, Arg1), Arg2), Arg3), Arg4), Arg5), Arg6))}
+
+ Method(m000)
+ {
+ Store(mad7(mad1(iad1), mad1(iad2), mad1(iad3), mad1(iad4), mad1(iad5), mad1(iad6),
+ mad7(mad1(iad1), mad1(iad2), mad1(iad3), mad1(iad4), mad1(iad5), mad1(iad6),
+ mad7(mad1(iad1), mad1(iad2), mad1(iad3), mad1(iad4), mad1(iad5), mad1(iad6),
+ mad7(mad1(iad1), mad1(iad2), mad1(iad3), mad1(iad4), mad1(iad5), mad1(iad6),
+ mad7(mad1(iad1), mad1(iad2), mad1(iad3), mad1(iad4), mad1(iad5), mad1(iad6),
+ mad7(mad1(iad1), mad1(iad2), mad1(iad3), mad1(iad4), mad1(iad5), mad1(iad6),
+ mad7(mad1(iad1), mad1(iad2), mad1(iad3), mad1(iad4), mad1(iad5), mad1(iad6),
+ mad1(iad7)))))))), Local0)
+
+ Store (Local0, Debug)
+
+ if (LNotEqual(Local0, 0x1777777)) {
+ err(ts, z162, 0x000, 0, 0, Local0, 0x1777777)
+ }
+ }
+
+ CH03(ts, z162, 0x001, 0, 0)
+ m000()
+ CH03(ts, z162, 0x002, 0, 0)
+}
+
+/*
+ * This is how MS actually works
+ */
+Method(ms01, 1)
+{
+ Name(ts, "ms01")
+ Name(i000, 0)
+ Name(b000, Buffer(9) {0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18})
+ CreateField(b000, 0, 8, bf00)
+
+ Name(tp00, 0)
+
+ Method(m000, 1)
+ {
+ Store(ObjectType(arg0), Local0)
+ if (LNotEqual(Local0, tp00)) {
+ err(ts, z162, 0x003, 0, 0, Local0, tp00)
+ }
+ }
+
+ // This is how it should be:
+ Store(c009, tp00)
+
+ // This is how MS actually works:
+ Store(c00b, tp00)
+
+
+ Store(ObjectType(bf00), Local0)
+ if (LNotEqual(Local0, c016)) {
+ err(ts, z162, 0x004, 0, 0, Local0, c016)
+ }
+
+ m000(bf00)
+
+ Store(bf00, i000)
+ Store(ObjectType(i000), Local0)
+ if (LNotEqual(Local0, c009)) {
+ err(ts, z162, 0x005, 0, 0, Local0, c009)
+ }
+
+ Store(bf00, Local1)
+ Store(ObjectType(Local1), Local0)
+ if (LNotEqual(Local0, tp00)) {
+ err(ts, z162, 0x006, 0, 0, Local0, tp00)
+ }
+
+ Store(bf00, arg0)
+ Store(ObjectType(arg0), Local0)
+ if (LNotEqual(Local0, tp00)) {
+ err(ts, z162, 0x007, 0, 0, Local0, tp00)
+ }
+}
+
+/*
+ * This is how MS actually works
+ */
+Method(ms02, 1)
+{
+ Name(ts, "ms02")
+ Name(i000, 0)
+ OperationRegion(r000, SystemMemory, 0x100, 0x100)
+ Field(r000, ByteAcc, NoLock, Preserve) { f000, 8 }
+
+ Name(tp00, 0)
+
+ Method(m000, 1)
+ {
+ Store(ObjectType(arg0), Local0)
+ if (LNotEqual(Local0, tp00)) {
+ err(ts, z162, 0x008, 0, 0, Local0, tp00)
+ }
+ }
+
+ Store(c009, tp00)
+
+ Store(ObjectType(f000), Local0)
+ if (LNotEqual(Local0, c00d)) {
+ err(ts, z162, 0x009, 0, 0, Local0, c00d)
+ }
+
+ m000(f000)
+
+ Store(f000, i000)
+ Store(ObjectType(i000), Local0)
+ if (LNotEqual(Local0, c009)) {
+ err(ts, z162, 0x00a, 0, 0, Local0, c009)
+ }
+
+ Store(f000, Local1)
+ Store(ObjectType(Local1), Local0)
+ if (LNotEqual(Local0, tp00)) {
+ err(ts, z162, 0x00b, 0, 0, Local0, tp00)
+ }
+
+ Store(f000, arg0)
+ Store(ObjectType(arg0), Local0)
+ if (LNotEqual(Local0, tp00)) {
+ err(ts, z162, 0x00c, 0, 0, Local0, tp00)
+ }
+}
+
+/*
+ * Bug 275:
+ *
+ * SUMMARY: Pop result from bottom principle doesn't work
+ */
+Method(ms03)
+{
+ Name(i000, 0x11000000)
+ Name(i001, 0x00220000)
+ Name(p000, Package () {0xabcd0000, 0xabcd0001, 0xabcd0002})
+
+ Method(m000)
+ {
+ Return (p000)
+ }
+
+ Method(m001, 1)
+ {
+ Return (0xabcd0003)
+ }
+
+ Method(m002, 2)
+ {
+ Index(arg0, 1, Local0)
+ Store(DerefOf(Local0), Local1)
+
+ if (LNotEqual(Local1, 0xabcd0001)) {
+ err("ms03", z162, 0x00d, 0, 0, Local0, c00d)
+ }
+ }
+
+ // Works correctly:
+ m002(p000, 0xabcd0004)
+ m002(m000(), 0xabcd0004)
+ m002(p000, m001(Add(i000, i001)))
+
+ // Works incorrectly (bug 275):
+ m002(m000(), m001(Add(i000, i001)))
+}
+
+Method(msff)
+{
+ SRMT("ms00")
+ if (y262) {
+ ms00()
+ } else {
+ BLCK()
+ }
+
+ SRMT("ms01")
+ ms01(0)
+ SRMT("ms02")
+ ms02(0)
+ SRMT("ms03")
+ if (y275) {
+ ms03()
+ } else {
+ BLCK()
+ }
+}
+
diff --git a/tests/aslts/src/runtime/collections/Identity2MS/abbu/misc/ms1.asl b/tests/aslts/src/runtime/collections/Identity2MS/abbu/misc/ms1.asl
new file mode 100644
index 000000000..93044074c
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/Identity2MS/abbu/misc/ms1.asl
@@ -0,0 +1,6958 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+/*
+ * Tests exercized during ACPICA to MS implementation comparison
+ */
+
+Name(z179, 179)
+
+/*
+ *
+ * Stuff not working under MS:
+ *
+ * 1) String to Integer Implicit operand conversion, ms10: a063, b063, c063 -
+ * a failure when a String in a position of an Integer; errors in e063,
+ * f063, g063, h063 are inverted by q004 flag (Implicit Operand conversion
+ * on MS contradicts ACPI Spec).
+ * 2) No exception on DerefOf of an arbitrary Source, ms11: b083, d083 -
+ * an expected failure on DerefOf of an Integer.
+ * 3) Access to FieldObject element of Package causes exception, ms16: f118 -
+ * a failure when an Integer is stored to a Named Package.
+ * 4) The Read access automatic dereference ... doesn't work, ms17: b126,
+ * c126 - a failure when a reference in ArgX is used in a position of Data.
+ * 5) CopyObject of immediately passed Index ... is not a reference, ms18:
+ * a127 - a failure due to the CopyObject operator in AML code.
+ * 6) Copying the RefOf reference to Named object ..., ms19: d128, e128 -
+ * a failure when a reference is stored to a Package element.
+ * 7) Store to the Index reference ... returned by Method ..., ms1a: a131,
+ * b131, c131 - a failure when a Method call is the Target of Store.
+ * 8) Read access automatic dereference for Index reference ..., ms1b: a132,
+ * b132 - a failure when the Index argument is used without Derefof.
+ * 9) Write access automatic dereference for Index reference ..., ms1c: b133 -
+ * a failure when a String element is to be changed.
+ * 10) Forward reference within a control method, ms20: cmfr - an expected
+ * failure when a Named Object is accessed before its declaration.
+ * 11) Recursive Serialized method execution, ms21: erec - an expected
+ * failure for the enough deep recursion.
+ * 12) Implicit return, ms23: emir?, fmir?, gmir - Break in the specifically
+ * declared while doesn't work.
+ * 13) Store(..., DeRefof(...)) behavior, ms25: a failure when a Refof or
+ * Derefof is the Target of Store.
+ * 14) IndexField implementation, my27: jife - a failure when the Access type
+ * of a Field is specified to be QWordAcc.
+ * 15) Acquire/Release, ms29: a hang when used with the Dynamic Mutex.
+ * 16) ToBuffer optional store, ms2a: it looks like ToBuffer does not work.
+ * 17) Package size calculation, ms2b: pac2 actually should be used with
+ * Package(3){1, 2, 3, 4, 5}) declaration, but iASL reports "Initializer
+ * list too long" error. Use it with -f iASL option.
+ * 18) Bug 246 issue, ms2f: c246 actually should be used without
+ * While(1){... Break) declaration, but iASL reports "No enclosing While
+ * statement" error. Use it with -f iASL option.
+ * 19) Storing of an improper specified Device object ..., ms33:
+ * a blue screen appears on the MS OS booting if that Device is global.
+ *
+ * 99)
+ */
+
+// Useful for indirect storing
+
+Method(RSTO, 2) {Store(arg0, arg1)}
+
+Method(DSTO, 2) {Store(Derefof(arg0), arg1)}
+
+/*
+ * Bug 63 issue:
+ *
+ * SUMMARY: String to Integer conversion contradicts new April 2005 Conversion Rules
+ */
+Method(ms10, 1)
+{
+ Name(ts, "ms10")
+
+ Method(m063, 2)
+ {
+ OUTP("Bug 63: Add(\"0x1111\", 0, Local0) should return 0?")
+
+ OUTP("Addend1:")
+ OUTP(arg0)
+
+ Add(arg0, 0, Local0)
+
+ OUTP("Result (Local0):")
+ OUTP(Local0)
+
+ if (LNotEqual(arg1, Local0)) {
+ err(ts, z179, 0x000, 0, 0, Local0, arg1)
+ }
+ }
+
+ Method(n063, 3)
+ {
+ Name (INT0, 0xffff)
+
+ OUTP("Bug 63upd: Implicit conversion \"0x1111\" to Integer should return 0?")
+
+ OUTP("String:")
+ OUTP(arg0)
+
+ Store(arg0, INT0)
+
+ OUTP("Result (INT0):")
+ OUTP(INT0)
+
+ if (LAnd(ABUU, LNot(q004))) {
+ // Implicit Operand conversion on MS contradicts ACPI Spec
+ if (LNotEqual(arg2, INT0)) {
+ err(ts, z179, 0x001, 0, 0, INT0, arg2)
+ }
+ } else {
+ if (LNotEqual(arg1, INT0)) {
+ err(ts, z179, 0x001, 0, 0, INT0, arg1)
+ }
+ }
+ }
+
+ Method(m000)
+ {
+ if (ABUU) {
+ } else {
+ m063("0", 0)
+ m063("0x", 0)
+ m063("0x1111", 0)
+ }
+ m063(1, 1)
+
+ n063("0", 0, 0x30)
+ n063("0x", 0, 0x7830)
+ n063("0x1111", 0, 0x31317830)
+ n063("0x111111111", 0, 0x31317830)
+ }
+
+ CH03(ts, z179, 0x002, 0, 0)
+
+ switch (arg0) {
+ case (0) { m000() }
+ case (1) { m063("0", 0) }
+ case (2) { m063("0x", 0) }
+ case (3) { m063("0x1111", 0) }
+ case (4) { m063(1, 1) }
+
+ case (5) { n063("0", 0, 0x30) }
+ case (6) { n063("0x", 0, 0x7830) }
+ case (7) { n063("0x1111", 0, 0x31317830) }
+ case (8) { n063("0x111111111", 0, 0x31317830) }
+ }
+
+ CH03(ts, z179, 0x003, 0, 0)
+}
+
+/* Methods to run manually (for ABBU only) */
+Method(a063) { IIN0() ms10(1) Return(POUT) }
+Method(b063) { IIN0() ms10(2) Return(POUT) }
+Method(c063) { IIN0() ms10(3) Return(POUT) }
+Method(d063) { IIN0() ms10(4) Return(POUT) }
+Method(e063) { IIN0() ms10(5) Return(POUT) }
+Method(f063) { IIN0() ms10(6) Return(POUT) }
+Method(g063) { IIN0() ms10(7) Return(POUT) }
+Method(h063) { IIN0() ms10(8) Return(POUT) }
+
+/*
+ * Bug 83 issue:
+ *
+ * SUMMARY: No exception on DerefOf of an arbitrary Source
+ */
+Method(ms11, 1)
+{
+ Name(ts, "ms11")
+
+ Method(m083, 1)
+ {
+ Name(i000, 0x89abcdef)
+
+ OUTP("Bug 83: Derefof of non-Ref. (f.e. Integer) should produce exception")
+
+ OUTP("Name(i000, 0x89abcdef)")
+
+ if (arg0) {
+ Derefof(i000)
+ CH04(ts, 0, 0xff, z179, 0x004, 0, 0)
+ } else {
+ Derefof(Refof(i000))
+ CH03(ts, z179, 0x005, 0, 0)
+ }
+ }
+
+ Method(n083, 1)
+ {
+ Name(i000, 0x89abcdef)
+
+ OUTP("Bug 83upd: Derefof of non-Ref. (f.e. Integer) should produce exception")
+
+ if (arg0) {
+ Store(0x89abcdef, Local0)
+ OUTP("Store(0x89abcdef, Local0)")
+ } else {
+ Store(Refof(i000), Local0)
+ OUTP("Store(Refof(i000), Local0)")
+ }
+ Derefof(Local0)
+ if (arg0) {
+ CH04(ts, 0, 0xff, z179, 0x006, 0, 0)
+ } else {
+ CH03(ts, z179, 0x007, 0, 0)
+ }
+ }
+
+ Method(m000)
+ {
+ m083(0)
+ if (ABUU) {
+ } else {
+ m083(1)
+ }
+ n083(0)
+ if (ABUU) {
+ } else {
+ n083(1)
+ }
+ }
+
+ CH03(ts, z179, 0x008, 0, 0)
+
+ switch (arg0) {
+ case (0) { m000() }
+ case (1) { m083(0) }
+ case (2) { m083(1) }
+ case (3) { n083(0) }
+ case (4) { n083(1) }
+ }
+
+ CH03(ts, z179, 0x009, 0, 0)
+}
+
+/* Methods to run manually (for ABBU only) */
+Method(a083) { IIN0() ms11(1) Return(POUT) }
+Method(b083) { IIN0() ms11(2) Return(POUT) }
+Method(x083) { IIN0() ms11(3) Return(POUT) }
+Method(d083) { IIN0() ms11(4) Return(POUT) }
+
+/*
+ * Bug 100 issue:
+ *
+ * SUMMARY: The specific combination of operators aborts execution
+ */
+Method(ms12)
+{
+ Name(ts, "ms12")
+
+ Method(m100)
+ {
+ Method(m000)
+ {
+ return (0)
+ }
+
+ Method(m001)
+ {
+ m000()
+
+ Device(d000) {}
+
+ Name(i000, 0xabcdef)
+
+ OUTP("Finish of test")
+ }
+
+ OUTP("Bug 100 (fixed for 20050526): some combination of operators aborts execution")
+
+ m001()
+ }
+ CH03(ts, z179, 0x00a, 0, 0)
+ m100()
+ CH03(ts, z179, 0x00b, 0, 0)
+}
+
+/* Methods to run manually (for ABBU only) */
+Method(a100) { IIN0() ms12() Return(POUT) }
+
+/*
+ * Bug 113 issue:
+ *
+ * SUMMARY: Unexpected dereference of Index reference immediately passed to Method
+ */
+
+Method(ms13, 1)
+{
+ Name(ts, "ms13")
+
+ Name(p001, Package(){0x10, 0x11, 0x12, 0x13, 0x14})
+ Name(p002, Package(){0x20, 0x21, 0x22, 0x23, 0x24})
+ Name(p003, Package(){0x30, 0x31, 0x32, 0x33, 0x34})
+ Name(p004, Package(){0x40, 0x41, 0x42, 0x43, 0x44})
+ Name(p005, Package(){0x50, 0x51, 0x52, 0x53, 0x54})
+
+ Method(a113)
+ {
+ Method(m000, 2)
+ {
+ Store(Derefof(arg0), Local0)
+ if (CH03(ts, z179, 0x00c, 0, 0)) {
+ } elseif (LNotEqual(Local0, arg1)) {
+ err(ts, z179, 0x00d, 0, 0, Local0, arg1)
+ }
+ }
+
+ OUTP("Bug 113: immediate Indexed Ref. as parameters of Methods are unexpectedly dereferenced 1")
+
+ m000(Index(p001, 0), 0x10)
+ }
+
+ Method(b113)
+ {
+ Method(m000, 2)
+ {
+ Store(Derefof(arg0), Local0)
+ if (CH03(ts, z179, 0x00e, 0, 0)) {
+ } elseif (LNotEqual(Local0, arg1)) {
+ err(ts, z179, 0x00f, 0, 0, Local0, arg1)
+ }
+ }
+
+ OUTP("Bug 113: immediate Indexed Ref. as parameters of Methods are unexpectedly dereferenced 2")
+
+ Store(Index(p001, 0), Local0)
+
+ m000(Local0, 0x10)
+ }
+
+ Method(s113)
+ {
+ Method(m000, 6)
+ {
+ OUTP(Derefof(arg0))
+ CH03(ts, z179, 0x012, 0, 0)
+ OUTP(Derefof(arg1))
+ CH03(ts, z179, 0x013, 0, 0)
+ OUTP(Derefof(arg2))
+ CH03(ts, z179, 0x014, 0, 0)
+ OUTP(Derefof(arg3))
+ CH03(ts, z179, 0x015, 0, 0)
+ OUTP(Derefof(arg4))
+ CH03(ts, z179, 0x016, 0, 0)
+ OUTP(Derefof(arg5))
+ CH03(ts, z179, 0x017, 0, 0)
+ }
+
+ OUTP("Bug 113 MS: immediate Indexed Ref. as parameters of Methods can be dereferenced 3")
+
+ Store(Index(p002, 1), Local0)
+
+ Index(p004, 3, Local1)
+
+ Store(Index(p005, 4, Local2), Local3)
+
+ m000(Index(p001, 0), Local0, Index(p003, 2, Local4), Local1, Local2, Local3)
+
+ OUTP(Derefof(Local4))
+ }
+
+ CH03(ts, z179, 0x018, 0, 0)
+ switch (arg0) {
+ case (0) { a113() b113() s113()}
+ case (1) { a113() }
+ case (2) { b113() }
+ case (3) { s113() }
+ }
+ CH03(ts, z179, 0x019, 0, 0)
+}
+
+/* Methods to run manually (for ABBU only) */
+Method(a113) { IIN0() ms13(1) Return(POUT) }
+Method(b113) { IIN0() ms13(2) Return(POUT) }
+Method(c113) { IIN0() ms13(3) Return(POUT) }
+
+/*
+ * Bug 114 issue:
+ *
+ * SUMMARY: Method object as a Source of Index operation is treated by iASL mistakenly as a call to that Method
+ */
+Method(ms14, 1)
+{
+ Name(ts, "ms14")
+
+ Method(m114, 1)
+ {
+ Method(m000, 1)
+ {
+ Name(i001, 0)
+ Name(b001, Buffer(){10,2,3,4,5})
+
+ Method(m001)
+ {
+ Increment(i001)
+ return (Buffer(){10,2,3,4,5})
+ }
+
+ Method(m002)
+ {
+ Increment(i001)
+ return (Package(){10,2,3,4,5})
+ }
+
+ if (LEqual(arg0, 0)) {
+ OUTP("Start of test: Method returns (Buffer(){10,2,3,4,5})")
+ OUTP("Index(m001, 0, Local0)")
+ Index(m001, 0, Local0)
+ if (LAnd(ABUU, LNot(q005))) {
+ } elseif (i001) {
+ err(ts, z179, 0x01a, 0, 0, i001, 0)
+ } else {
+ CH04(ts, 0, 0xff, z179, 0x01b, 0, 0)
+ }
+ } elseif (LEqual(arg0, 1)) {
+ OUTP("Start of test: Method returns (Package(){10,2,3,4,5})")
+ OUTP("Index(m001, 0, Local0)")
+ Index(m001, 0, Local0)
+ if (LAnd(ABUU, LNot(q005))) {
+ } elseif (i001) {
+ err(ts, z179, 0x01c, 0, 0, i001, 0)
+ } else {
+ CH04(ts, 0, 0xff, z179, 0x01d, 0, 0)
+ }
+ } elseif (LEqual(arg0, 2)) {
+ OUTP("Start of test: Name(b001, Buffer(){10,2,3,4,5})")
+ OUTP("Index(b001, 0, Local0)")
+ Index(b001, 0, Local0)
+ OUTP(i001)
+ Store(DerefOf(Local0), Local1)
+ OUTP(Local1)
+ }
+
+ OUTP("Finish of test")
+ }
+
+ OUTP("Bug 114: Method object as a Source of Index operation")
+ m000(arg0)
+ }
+
+ Method(m000)
+ {
+ m114(0)
+ m114(1)
+ m114(2)
+ }
+
+ CH03(ts, z179, 0x01e, 0, 0)
+ switch (arg0) {
+ case (0) { m000()}
+ case (1) { m114(0) }
+ case (2) { m114(1) }
+ case (3) { m114(2) }
+ }
+ CH03(ts, z179, 0x01f, 0, 0)
+}
+
+/* Methods to run manually (for ABBU only) */
+Method(a114) { IIN0() ms14(1) Return(POUT) }
+Method(b114) { IIN0() ms14(2) Return(POUT) }
+Method(c114) { IIN0() ms14(3) Return(POUT) }
+
+/*
+ * Bug 115 issue:
+ *
+ * SUMMARY: Unexpected dereference of Index reference returned by Method and immediately passed to another Method
+ */
+Method(ms15, 1)
+{
+ Name(ts, "ms15")
+
+ Name(p001, Package(){0x10})
+ Name(p002, Package(){0x20})
+ Name(p003, Package(){0x30})
+ Name(p004, Package(){0x40})
+ Name(p005, Package(){0x50})
+ Name(p006, Package(){0x60})
+
+ Method(m001) {Return(Index(p001, 0))}
+ Method(m002) {Store(Index(p002, 0), Local0)
+ Return(Local0)}
+ Method(m003) {Return(Index(p003, 0, Local0))}
+ Method(m004) {Index(p004, 0, Local0)
+ Return(Local0)}
+
+ Method(m005) {Store(Index(p005, 0, Local0), Local1)
+ Return(Local1)}
+ Method(m006) {Store(Index(p006, 0, Local0), Local1)
+ Return(Local0)}
+
+ Method(a115)
+ {
+
+ Method(m000, 2)
+ {
+ Store(Derefof(arg0), Local0)
+ if (CH03(ts, z179, 0x020, 0, 0)) {
+ } elseif (LNotEqual(Local0, arg1)) {
+ err(ts, z179, 0x021, 0, 0, Local0, arg1)
+ }
+ }
+
+ OUTP("Bug 115: immediately returned Indexed Ref. as parameters of Methods are unexpectedly dereferenced 1")
+
+ m000(m001(), 0x10)
+ }
+
+ Method(b115)
+ {
+
+ Method(m000, 2)
+ {
+ Store(Derefof(arg0), Local0)
+ if (CH03(ts, z179, 0x022, 0, 0)) {
+ } elseif (LNotEqual(Local0, arg1)) {
+ err(ts, z179, 0x023, 0, 0, Local0, arg1)
+ }
+ }
+
+ OUTP("Bug 115: immediately returned Indexed Ref. as parameters of Methods are unexpectedly dereferenced 2")
+
+ m000(m002(), 0x20)
+ }
+
+ Method(c115)
+ {
+
+ Method(m000, 2)
+ {
+ Store(Derefof(arg0), Local0)
+ if (CH03(ts, z179, 0x024, 0, 0)) {
+ } elseif (LNotEqual(Local0, arg1)) {
+ err(ts, z179, 0x025, 0, 0, Local0, arg1)
+ }
+ }
+
+ OUTP("Bug 115: immediately returned Indexed Ref. as parameters of Methods are unexpectedly dereferenced 3")
+
+ m000(m003(), 0x30)
+ }
+
+ Method(d115)
+ {
+
+ Method(m000, 2)
+ {
+ Store(Derefof(arg0), Local0)
+ if (CH03(ts, z179, 0x026, 0, 0)) {
+ } elseif (LNotEqual(Local0, arg1)) {
+ err(ts, z179, 0x027, 0, 0, Local0, arg1)
+ }
+ }
+
+ OUTP("Bug 115: immediately returned Indexed Ref. as parameters of Methods are unexpectedly dereferenced 4")
+
+ m000(m004(), 0x40)
+ }
+
+ Method(e115)
+ {
+
+ Method(m000, 2)
+ {
+ Store(Derefof(arg0), Local0)
+ if (CH03(ts, z179, 0x028, 0, 0)) {
+ } elseif (LNotEqual(Local0, arg1)) {
+ err(ts, z179, 0x029, 0, 0, Local0, arg1)
+ }
+ }
+
+ OUTP("Bug 115: immediately returned Indexed Ref. as parameters of Methods are unexpectedly dereferenced 5")
+
+ m000(m005(), 0x50)
+ }
+
+ Method(f115)
+ {
+
+ Method(m000, 2)
+ {
+ Store(Derefof(arg0), Local0)
+ if (CH03(ts, z179, 0x02a, 0, 0)) {
+ } elseif (LNotEqual(Local0, arg1)) {
+ err(ts, z179, 0x02b, 0, 0, Local0, arg1)
+ }
+ }
+
+ OUTP("Bug 115: immediately returned Indexed Ref. as parameters of Methods are unexpectedly dereferenced 6")
+
+ m000(m006(), 0x60)
+ }
+
+ CH03(ts, z179, 0x02c, 0, 0)
+ switch (arg0) {
+ case (0) { a115() b115() c115() d115() e115() f115()}
+ case (1) { a115() }
+ case (2) { b115() }
+ case (3) { c115() }
+ case (4) { d115() }
+ case (5) { e115() }
+ case (6) { f115() }
+ }
+ CH03(ts, z179, 0x02d, 0, 0)
+}
+
+/* Methods to run manually (for ABBU only) */
+Method(a115) { IIN0() ms15(1) Return(POUT) }
+Method(b115) { IIN0() ms15(2) Return(POUT) }
+Method(c115) { IIN0() ms15(3) Return(POUT) }
+Method(d115) { IIN0() ms15(4) Return(POUT) }
+Method(e115) { IIN0() ms15(5) Return(POUT) }
+Method(f115) { IIN0() ms15(6) Return(POUT) }
+
+/*
+ * Bug 118 issue:
+ *
+ * SUMMARY: Access to FieldObject element of Package causes exception
+ */
+Method(ms16, 1)
+{
+ Name(ts, "ms16")
+
+ Method(a118)
+ {
+ Name(p90d, Package() {0xd650a284})
+
+ // Access to the Integer data as an element of Package
+ Method(m000)
+ {
+ OUTP("Test m000 started")
+
+ Store(Index(p90d, 0), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(ObjectType(Local1), Local2)
+
+ if (LNotEqual(Local2, 1)) {
+ err(ts, z179, 0x02e, 0, 0, Local2, 1)
+ if (LEqual(Local2, 2)) {
+ OUTP(Local1)
+ } else {
+ OUTP(Local2)
+ }
+ } else {
+ OUTP(Local1)
+ if (LNotEqual(Local1, 0xd650a284)) {
+ err(ts, z179, 0x02f, 0, 0, Local1, 0xd650a284)
+ } else {
+ OUTP("Ok")
+ }
+ }
+
+ OUTP("Test m000 finished")
+ }
+
+ OUTP("Bug 118: Integer data as an element of Package")
+
+ m000()
+ }
+
+ Method(b118)
+ {
+ Name(i900, 0xd650a284)
+
+ Name(p90d, Package() {i900})
+
+ // Access to the named Integer object as an element of Package
+ Method(m000)
+ {
+ OUTP("Test m000 started")
+
+ Store(Index(p90d, 0), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(ObjectType(Local1), Local2)
+
+ if (LAnd(ABUU, LNot(q006))) {
+ if (LNotEqual(Local2, 2)) {
+ err(ts, z179, 0x030, 0, 0, Local2, 2)
+ }
+ } elseif (LNotEqual(Local2, 1)) {
+ err(ts, z179, 0x030, 0, 0, Local2, 1)
+ } else {
+ OUTP(Local1)
+ if (LNotEqual(Local1, 0xd650a284)) {
+ err(ts, z179, 0x031, 0, 0, Local1, 0xd650a284)
+ } else {
+ OUTP("Ok")
+ }
+ }
+
+ OUTP("Test m000 finished")
+ }
+
+ OUTP("Bug 118: Named Integer Object reference in Package")
+
+ m000()
+ }
+
+ Method(c118)
+ {
+ Name(b900, Buffer() {10,2,3,4,5,6,7,8,9})
+
+ CreateField(b900, 0, 8, bf90)
+
+ Name(p915, Package() {bf90})
+
+ // Access to the Buffer Field object as an element of Package
+ Method(m001)
+ {
+ OUTP("Test m001 started")
+
+ Store(Index(p915, 0), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(ObjectType(Local1), Local2)
+
+ if (LAnd(ABUU, LNot(q006))) {
+ if (LNotEqual(Local2, 2)) {
+ err(ts, z179, 0x032, 0, 0, Local2, 2)
+ }
+ } elseif (LNotEqual(Local2, 0xE)) {
+ err(ts, z179, 0x032, 0, 0, Local2, 0xE)
+ } elseif (y118) {
+ OUTP(Local1)
+ if (LNotEqual(Local1, 10)) {
+ err(ts, z179, 0x033, 0, 0, Local1, 10)
+ } else {
+ OUTP("Ok")
+ }
+ }
+
+ OUTP("Test m001 finished")
+ }
+
+ OUTP("Bug 118: Named Buffer Field Object reference in Package")
+
+ m001()
+ }
+
+ Method(d118)
+ {
+ Name(b900, Buffer() {10,2,3,4,5,6,7,8,9})
+
+ CreateField(b900, 0, 8, bf90)
+
+ // Access to the Buffer Field object by Reference
+ Method(m001)
+ {
+ OUTP("Test m001 started: Store bf90 to Local1")
+
+ Store(bf90, Local1)
+ Store(ObjectType(Local1), Local2)
+
+ if (LAnd(ABUU, LNot(q007))) {
+ if (LNotEqual(Local2, 3)) {
+ err(ts, z179, 0x034, 0, 0, Local2, 3)
+ }
+ } elseif (LNotEqual(Local2, 1)) {
+ err(ts, z179, 0x034, 0, 0, Local2, 1)
+ } else {
+ OUTP(Local1)
+ if (LNotEqual(Local1, 10)) {
+ err(ts, z179, 0x035, 0, 0, Local1, 10)
+ } else {
+ OUTP("Ok")
+ }
+ }
+
+ OUTP("Test m001 finished")
+ }
+
+ OUTP("Bug 118 issue: Fields are immediately resolved to integers/buffers.")
+
+ m001()
+ }
+
+ Method(e118)
+ {
+ Name(b900, Buffer() {10,2,3,4,5,6,7,8,9})
+
+ CreateField(b900, 0, 8, bf90)
+
+ // Access to the Buffer Field object by Reference
+ Method(m001)
+ {
+ OUTP("Test m001 started: Store DerefOf(Refof(bf90)) to Local1")
+
+ Store(Refof(bf90), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(ObjectType(Local1), Local2)
+
+ if (LAnd(ABUU, LNot(q007))) {
+ if (LNotEqual(Local2, 3)) {
+ err(ts, z179, 0x036, 0, 0, Local2, 3)
+ }
+ } elseif (LNotEqual(Local2, 1)) {
+ err(ts, z179, 0x036, 0, 0, Local2, 1)
+ } else {
+ OUTP(Local1)
+ if (LNotEqual(Local1, 10)) {
+ err(ts, z179, 0x037, 0, 0, Local1, 10)
+ } else {
+ OUTP("Ok")
+ }
+ }
+
+ OUTP("Test m001 finished")
+ }
+
+ OUTP("Bug 118 issue: Fields are immediately resolved to integers/buffers.")
+
+ m001()
+ }
+
+ Method(f118)
+ {
+ Name(b900, Buffer() {10,2,3,4,5,6,7,8,9})
+
+ CreateField(b900, 0, 8, bf90)
+
+ Name(p915, Package(1) {})
+
+ // Access to the Buffer Field object by Reference
+ Method(m001)
+ {
+ Method(m000, 1) {return(arg0)}
+
+ OUTP("Test m001 started: Store DerefOf(Refof(bf90)) to Named Package")
+
+ Store(Refof(bf90), Local0)
+ Store(DerefOf(Local0), p915)
+ Store(ObjectType(p915), Local2)
+
+ if (LNotEqual(Local2, 1)) {
+ err(ts, z179, 0x038, 0, 0, Local2, 1)
+ } else {
+ OUTP(p915)
+ if (LNotEqual(m000(p915), 10)) {
+ err(ts, z179, 0x039, 0, 0, p915, 10)
+ } else {
+ OUTP("Ok")
+ }
+ }
+
+ OUTP("Test m001 finished")
+ }
+
+ OUTP("Bug 118 issue: Fields are immediately resolved to integers/buffers.")
+
+ m001()
+ }
+
+ Method(g118)
+ {
+ Name(i900, 0xd650a284)
+
+ Name(p90d, Package() {i900})
+
+ // Access to the named Integer object as an element of Package
+ Method(m000)
+ {
+ OUTP("Test m000 started")
+
+ Store(Index(p90d, 0), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(ObjectType(Local1), Local2)
+
+ if (LAnd(ABUU, LNot(q006))) {
+ if (LNotEqual(Local2, 2)) {
+ err(ts, z179, 0x03a, 0, 0, Local2, 2)
+ }
+ } elseif (LNotEqual(Local2, 1)) {
+ err(ts, z179, 0x03a, 0, 0, Local2, 1)
+ } else {
+ OUTP(Local1)
+ if (LNotEqual(Local1, 0xd650a284)) {
+ err(ts, z179, 0x03b, 0, 0, Local1, 0xd650a284)
+ } else {
+ OUTP("Ok")
+ }
+ }
+
+ OUTP("Test m000 finished")
+ }
+
+ OUTP("Bug 118: DerefOf Named Integer Object reference in Package")
+
+ m000()
+ }
+
+ Method(m000)
+ {
+ a118()
+ b118()
+ c118()
+ d118()
+ e118()
+ if (ABUU) {
+ } else {
+ f118()
+ }
+ g118()
+ }
+
+ CH03(ts, z179, 0x03c, 0, 0)
+ switch (arg0) {
+ case (0) { m000() }
+ case (1) { a118() }
+ case (2) { b118() }
+ case (3) { c118() }
+ case (4) { d118() }
+ case (5) { e118() }
+ case (6) { f118() }
+ case (7) { g118() }
+ }
+ CH03(ts, z179, 0x03d, 0, 0)
+}
+
+/* Methods to run manually (for ABBU only) */
+Method(a118) { IIN0() ms16(1) Return(POUT) }
+Method(b118) { IIN0() ms16(2) Return(POUT) }
+Method(c118) { IIN0() ms16(3) Return(POUT) }
+Method(d118) { IIN0() ms16(4) Return(POUT) }
+Method(e118) { IIN0() ms16(5) Return(POUT) }
+Method(f118) { IIN0() ms16(6) Return(POUT) }
+Method(g118) { IIN0() ms16(7) Return(POUT) }
+
+/*
+ * Bug 126 issue:
+ *
+ * SUMMARY: The Read access automatic dereference for RefOf reference doesn't work
+ */
+Method(ms17, 1)
+{
+ Name(ts, "ms17")
+
+ Method(m126, 1)
+ {
+ Method(m000, 1)
+ {
+ Name(i001, 0)
+
+ OUTP("m000 started, apply DerefOf()")
+
+ Store(DerefOf(arg0), Local0)
+ Add(Local0, 1, Local6)
+ CH03(ts, z179, 0x03e, 0, 0)
+ OUTP(Local6)
+
+ Store(DerefOf(arg0), i001)
+ OUTP(i001)
+ Add(i001, 1, Local7)
+ CH03(ts, z179, 0x03f, 0, 0)
+ OUTP(Local7)
+
+ if (LNotEqual(Local6, Local7)) {
+ err(ts, z179, 0x040, 0, 0, Local6, Local7)
+ }
+
+ OUTP("m000 finished")
+ }
+
+ Method(m001, 1)
+ {
+
+ Name(i001, 0)
+
+ OUTP("m001 started, DONT apply DerefOf()")
+
+ Store(arg0, Local0)
+ OUTP("Before Add")
+ Add(Local0, 1, Local6)
+ CH03(ts, z179, 0x041, 0, 0)
+ OUTP("After Add")
+ OUTP(Local6)
+
+ OUTP("sit 1")
+
+ Store(arg0, i001)
+ CH03(ts, z179, 0x042, 0, 0)
+ OUTP(i001)
+ Add(i001, 1, Local7)
+ CH03(ts, z179, 0x043, 0, 0)
+ if (LNotEqual(Local6, Local7)) {
+ err(ts, z179, 0x044, 0, 0, Local6, Local7)
+ }
+
+ OUTP("m001 finished")
+ }
+
+ Method(m002, 1)
+ {
+ OUTP("m002 started, immediate Arg")
+
+ OUTP("Before Add")
+ Add(arg0, 1, Local7)
+ CH03(ts, z179, 0x045, 0, 0)
+ OUTP("After Add")
+ if (LNotEqual(8, Local7)) {
+ err(ts, z179, 0x046, 0, 0, Local7, 8)
+ }
+
+ OUTP("m002 finished")
+ }
+
+ Method(m003, 1)
+ {
+ OUTP("m003 started, apply DerefOf(Arg)")
+
+ OUTP("Before Add")
+ Add(DerefOf(arg0), 1, Local7)
+ CH03(ts, z179, 0x047, 0, 0)
+ OUTP("After Add")
+ if (LNotEqual(8, Local7)) {
+ err(ts, z179, 0x048, 0, 0, Local7, 8)
+ }
+
+ OUTP("m003 finished")
+ }
+
+ Name(i000, 7)
+ Name(i001, 7)
+ Name(i002, 7)
+ Name(i003, 7)
+
+
+ OUTP("Bug 126: automatic dereference on reading issue")
+ if (LEqual(arg0, 0)) {
+ m000(RefOf(i000))
+ } elseif (LEqual(arg0, 1)) {
+ m001(RefOf(i001))
+ } elseif (LEqual(arg0, 2)) {
+ m002(RefOf(i002))
+ } elseif (LEqual(arg0, 3)) {
+ m003(RefOf(i003))
+ }
+ }
+
+ Method(m000)
+ {
+ m126(0)
+ if (ABUU) {
+ } else {
+ m126(1)
+ m126(2)
+ }
+ m126(3)
+ }
+
+ CH03(ts, z179, 0x049, 0, 0)
+ switch (arg0) {
+ case (0) { m000() }
+ case (1) { m126(0) }
+ case (2) { m126(1) }
+ case (3) { m126(2) }
+ case (4) { m126(3) }
+ }
+ CH03(ts, z179, 0x04a, 0, 0)
+}
+
+/* Methods to run manually (for ABBU only) */
+Method(a126) { IIN0() ms17(1) Return(POUT) }
+Method(b126) { IIN0() ms17(2) Return(POUT) }
+Method(c126) { IIN0() ms17(3) Return(POUT) }
+Method(d126) { IIN0() ms17(4) Return(POUT) }
+
+
+/*
+ * Bug 127 issue:
+ *
+ * SUMMARY: Unexpectedly CopyObject of immediately passed Index reference is not reference
+ */
+Method(ms18)
+{
+ Name(ts, "ms18")
+
+ Method(m127)
+ {
+ Name (p000, Package(2) {1, 2})
+
+ OUTP("Bug 127: CopyObject unexpectedly performs dereference")
+
+ OUTP("Store(Index(p000, 0, Local0), Local1):")
+
+ Store(Index(p000, 0, Local0), Local1)
+
+ Derefof(Local0)
+ CH03(ts, z179, 0x04b, 0, 0)
+
+ Derefof(Local1)
+ CH03(ts, z179, 0x04c, 0, 0)
+
+ OUTP("CopyObject(Index(p000, 0, Local2), Local3):")
+
+ CopyObject(Index(p000, 0, Local2), Local3)
+
+ Derefof(Local2)
+ CH03(ts, z179, 0x04d, 0, 0)
+
+ Derefof(Local3)
+ CH03(ts, z179, 0x04e, 0, 0)
+ }
+
+ CH03(ts, z179, 0x04f, 0, 0)
+ m127()
+ CH03(ts, z179, 0x050, 0, 0)
+}
+
+/* Methods to run manually (for ABBU only) */
+Method(a127) { IIN0() ms18() Return(POUT) }
+
+/*
+ * Bug 128 issue:
+ *
+ * SUMMARY: Copying the RefOf reference to Named object spoils that reference
+ */
+Method(ms19, 1)
+{
+ Name(ts, "ms19")
+
+ // Store Object_Reference to LocalX (No exception, Ok)
+ Method(a128)
+ {
+ Name(i000, 0x1234)
+
+ OUTP("Bug 128:")
+
+ OUTP("a128 started: Store Object_Reference to LocalX (No exception, Ok)")
+
+ Store(RefOf(i000), Local0)
+
+ Store(DerefOf(Local0), Local1)
+
+ if (LNotEqual(Local1, 0x1234)) {
+ err(ts, z179, 0x051, 0, 0, Local1, 0x1234)
+ }
+
+ OUTP("a128 finished")
+ }
+
+ // Store Object_Reference to NamedX (Exception, Ok)
+ Method(b128)
+ {
+ Name(i000, 0x1234)
+ Name(ref0, 0)
+
+ OUTP("Bug 128:")
+
+ OUTP("b128 started: Store Object_Reference to NamedX (Exception, Ok)")
+
+ Store(RefOf(i000), ref0)
+ CH04(ts, 0, 0xff, z179, 0x052, 0, 0)
+
+ OUTP("b128 finished")
+ }
+
+ // CopyObject Object_Reference to NamedX (Exception, Bug)
+ Method(c128)
+ {
+ Name(i000, 0x1234)
+ Name(ref0, 0)
+
+ OUTP("Bug 128:")
+
+ OUTP("c128 started: CopyObject Object_Reference to NamedX (Exception, Bug)")
+
+ CopyObject(RefOf(i000), ref0)
+ if (CH04(ts, 0, 0xff, z179, 0x053, 0, 0)) {
+ return
+ }
+
+ // When an invocation of a Method tries to return a Package,
+ // where some reference was saved, the AE_TYPE exeption occurs.
+ //OUTP(ref0)
+
+ Store(DerefOf(ref0), Local1)
+
+ if (LNotEqual(Local1, 0x1234)) {
+ err(ts, z179, 0x054, 0, 0, Local1, 0x1234)
+ }
+
+ OUTP("c128 finished")
+ }
+
+ // Store Object_Reference to uninit Package element (No exception, Ok)
+ Method(d128)
+ {
+ Name(i000, 0x1234)
+ Name(p000, Package(1){})
+
+ OUTP("Bug 128:")
+
+ OUTP("d128 started: Store Object_Reference to uninit Package element (No exception, Ok)")
+
+ Store(RefOf(i000), Index(p000, 0))
+
+ Store(DerefOf(DerefOf(Index(p000, 0))), Local1)
+
+ if (LNotEqual(Local1, 0x1234)) {
+ err(ts, z179, 0x055, 0, 0, Local1, 0x1234)
+ }
+
+ OUTP("d128 finished")
+ }
+
+ // Store Object_Reference to init Package element (No exception, Ok)
+ Method(e128)
+ {
+ Name(i000, 0x1234)
+ Name(p000, Package(1){0x5678})
+
+ OUTP("Bug 128:")
+
+ OUTP("d128 started: Store Object_Reference to init Package element (No exception, Ok)")
+
+ Store(RefOf(i000), Index(p000, 0))
+
+ Store(DerefOf(DerefOf(Index(p000, 0))), Local1)
+
+ if (LNotEqual(Local1, 0x1234)) {
+ err(ts, z179, 0x056, 0, 0, Local1, 0x1234)
+ }
+
+ OUTP("d128 finished")
+ }
+
+ Method(m000)
+ {
+ a128()
+
+ // Causes exception
+ if (ABUU) {
+ } else {
+ b128()
+ }
+
+ // Causes exception
+ if (ABUU) {
+ } else {
+ c128()
+ }
+
+ if (ABUU) {
+ } else {
+ d128()
+ }
+
+ if (ABUU) {
+ } else {
+ e128()
+ }
+ }
+
+ CH03(ts, z179, 0x057, 0, 0)
+ switch (arg0) {
+ case (0) { m000() }
+ case (1) { a128() }
+ case (2) { b128() }
+ case (3) { c128() }
+ case (4) { d128() }
+ case (5) { e128() }
+ }
+ CH03(ts, z179, 0x058, 0, 0)
+}
+
+/* Methods to run manually (for ABBU only) */
+Method(a128) { IIN0() ms19(1) Return(POUT) }
+Method(b128) { IIN0() ms19(2) Return(POUT) }
+Method(c128) { IIN0() ms19(3) Return(POUT) }
+Method(d128) { IIN0() ms19(4) Return(POUT) }
+Method(e128) { IIN0() ms19(5) Return(POUT) }
+
+/*
+ * Bug 131 issue:
+ *
+ * SUMMARY: Store to the Index reference immediately returned by Method doesn't work
+ */
+Method(ms1a, 1)
+{
+ Name(ts, "ms1a")
+
+ Method(a131)
+ {
+ Name(i000, 0x77)
+ Name(i001, 0)
+
+ Method(m000)
+ {
+ Increment(i001)
+ return (RefOf(i000))
+ }
+
+ Method(m001)
+ {
+ Increment(i001)
+ Store(RefOf(i000), Local0)
+ return (Local0)
+ }
+
+ OUTP("Case return (RefOf(i000))")
+
+ Store(5, m000())
+
+ if (LEqual(i001, 0)) {
+ err(ts, z179, 0x059, 0, 0, i001, 0)
+ } elseif (LNotEqual(i000, 5)) {
+ err(ts, z179, 0x05a, 0, 0, i000, 5)
+ } else {
+ OUTP("Ok a131")
+ }
+ }
+
+ Method(b131)
+ {
+ Name(i000, 0x77)
+ Name(i001, 0)
+
+ Method(m000)
+ {
+ Increment(i001)
+ return (RefOf(i000))
+ }
+
+ Method(m001)
+ {
+ Increment(i001)
+ Store(RefOf(i000), Local0)
+ return (Local0)
+ }
+
+ OUTP("Case return (Local0) (= RefOf(i000))")
+
+ Store(0x15, m001())
+
+ if (LEqual(i001, 0)) {
+ err(ts, z179, 0x05b, 0, 0, i001, 0)
+ } elseif (LNotEqual(i000, 0x15)) {
+ err(ts, z179, 0x05c, 0, 0, i000, 0x15)
+ } else {
+ OUTP("Ok b131")
+ }
+ }
+
+ Method(c131)
+ {
+ Name(i000, 0x77)
+ Name(i001, 0)
+
+ Method(m000)
+ {
+ Increment(i001)
+ return (RefOf(i000))
+ }
+
+ Method(m001)
+ {
+ Increment(i001)
+ Store(RefOf(i000), Local0)
+ return (Local0)
+ }
+
+ Store(Refof(Local0), Local1)
+
+ OUTP("Case Store(return (RefOf(i000)), Local0)")
+
+ Store(m000(), Local0)
+
+ Store(0x25, Derefof(Local1))
+
+ if (LEqual(i001, 0)) {
+ err(ts, z179, 0x05d, 0, 0, i001, 0)
+ } elseif (LNotEqual(i000, 0x25)) {
+ err(ts, z179, 0x05e, 0, 0, i000, 0x25)
+ } else {
+ OUTP("Ok c131")
+ }
+ }
+
+ Method(d131)
+ {
+ Name(i000, 0x77)
+ Name(i001, 0)
+
+ Method(m000)
+ {
+ Increment(i001)
+ return (RefOf(i000))
+ }
+
+ Method(m001)
+ {
+ Increment(i001)
+ Store(RefOf(i000), Local0)
+ return (Local0)
+ }
+
+ OUTP("Case - test tools proper work indication")
+
+ RSTO(0x35, m000())
+
+ if (LEqual(i001, 0)) {
+ err(ts, z179, 0x05f, 0, 0, i001, 0)
+ } elseif (LNotEqual(i000, 0x35)) {
+ err(ts, z179, 0x050, 0, 0, i000, 0x35)
+ } else {
+ OUTP("Ok d131")
+ }
+ }
+
+ Method(e131)
+ {
+ Name(i000, 0x77)
+ Name(i001, 0)
+
+ Method(m000)
+ {
+ Increment(i001)
+ return (RefOf(i000))
+ }
+
+ OUTP("Case Store(return (RefOf(i000)), Local0), step 1")
+
+ Store(m000(), Local0)
+
+ if (LEqual(i001, 0)) {
+ err(ts, z179, 0x061, 0, 0, i001, 0)
+ } else {
+ OUTP("Ok e131")
+ }
+ }
+
+ Method(m000)
+ {
+ if (ABUU) {
+ } else {
+ a131()
+ }
+
+ if (ABUU) {
+ } else {
+ b131()
+ }
+
+ if (ABUU) {
+ } else {
+ c131()
+ }
+
+ d131()
+ e131()
+ }
+
+ OUTP("Bug 131: Writing to the reference immediately returned by Method")
+
+ CH03(ts, z179, 0x062, 0, 0)
+ switch (arg0) {
+ case (0) { m000() }
+ case (1) { a131() }
+ case (2) { b131() }
+ case (3) { c131() }
+ case (4) { d131() }
+ case (5) { e131() }
+ }
+ CH03(ts, z179, 0x063, 0, 0)
+}
+
+/* Methods to run manually (for ABBU only) */
+Method(a131) { IIN0() ms1a(1) Return(POUT) }
+Method(b131) { IIN0() ms1a(2) Return(POUT) }
+Method(c131) { IIN0() ms1a(3) Return(POUT) }
+Method(d131) { IIN0() ms1a(4) Return(POUT) }
+Method(e131) { IIN0() ms1a(4) Return(POUT) }
+
+/*
+ * Bug 132 issue:
+ *
+ * SUMMARY: The Read access automatic dereference for Index reference doesn't work
+ */
+Method(ms1b, 1)
+{
+ Name(ts, "ms1b")
+
+ Method(m132, 2)
+ {
+ Name(p000, Package(1) {0x77})
+
+ Method(m000, 2)
+ {
+
+ OUTP("m000 started")
+
+ if (arg1) {
+ Add(DerefOf(arg0), 1, Local7)
+ } else {
+ Add(arg0, 1, Local7)
+ }
+ CH03(ts, z179, 0x064, 0, 0)
+
+ OUTP("After Add")
+
+ if (LNotEqual(Local7, 0x78)) {
+ err(ts, z179, 0x065, 0, 0, Local7, 0x78)
+ } else {
+ OUTP("Ok 0")
+ }
+ OUTP(Local7)
+
+ if (arg1) {
+ OUTP("Accessed with DerefOf properly!")
+ } else {
+ OUTP("Accessed without DerefOf properly!")
+ }
+ }
+
+ OUTP("Bug 132: read access \"Automatic dereference\" for Index Reference")
+
+ if (arg0) {
+ OUTP("Transfer Index reference by LocalX:")
+ Index(p000, 0, Local0)
+ m000(Local0, arg1)
+ } else {
+ OUTP("Specify Index reference immediately:")
+ m000(Index(p000, 0), arg1)
+ }
+ }
+
+ Method(m000)
+ {
+ if (ABUU) {
+ } else {
+ m132(0, 0)
+ }
+
+ if (ABUU) {
+ } else {
+ m132(1, 0)
+ }
+
+ m132(0, 1)
+ m132(1, 1)
+ }
+
+ CH03(ts, z179, 0x066, 0, 0)
+ switch (arg0) {
+ case (0) { m000() }
+ case (1) { m132(0, 0) }
+ case (2) { m132(1, 0) }
+ case (3) { m132(0, 1) }
+ case (4) { m132(1, 1) }
+ }
+ CH03(ts, z179, 0x067, 0, 0)
+}
+
+/* Methods to run manually (for ABBU only) */
+Method(a132) { IIN0() ms1b(1) Return(POUT) }
+Method(b132) { IIN0() ms1b(2) Return(POUT) }
+Method(c132) { IIN0() ms1b(3) Return(POUT) }
+Method(d132) { IIN0() ms1b(4) Return(POUT) }
+
+/*
+ * Bug 133 issue:
+ *
+ * SUMMARY: The Write access automatic dereference for Index reference doesn't work
+ */
+Method(ms1c, 1)
+{
+ Name(ts, "ms1c")
+
+ Method(m133, 1)
+ {
+ Name(i000, 0)
+ Name(s000, "q_er0000")
+ Name(b000, Buffer(4) {1,0,3,4})
+ Name(p000, Package(3) {5,0,7})
+
+ Method(m000, 1)
+ {
+ Store(0x77, arg0)
+ }
+
+ OUTP("Bug 133: WRITE access to the initial object by reference in ArgX")
+
+ if (LEqual(arg0, 0)) {
+ OUTP("Writing by RefOf reference to Integer")
+
+ Store(RefOf(i000), Local0)
+ m000(Local0)
+ if (LNotEqual(i000, 0x77)) {
+ err(ts, z179, 0x068, 0, 0, i000, 0x77)
+ } else {
+ OUTP("Ok 0")
+ }
+ OUTP(i000)
+
+ } elseif (LEqual(arg0, 1)) {
+ OUTP("Writing by Index to String")
+
+ Index(s000, 1, Local0)
+ m000(Local0)
+ Store(Derefof(Local0), Local1)
+ if (LNotEqual(Local1, 0x77)) {
+ err(ts, z179, 0x069, 0, 0, Local1, 0x77)
+ } else {
+ OUTP("Ok 1")
+ }
+ OUTP(s000)
+
+ } elseif (LEqual(arg0, 2)) {
+ OUTP("Writing by Index to Buffer")
+
+ Index(b000, 1, Local0)
+ m000(Local0)
+
+ Store(Derefof(Local0), Local1)
+ if (LNotEqual(Local1, 0x77)) {
+ err(ts, z179, 0x06a, 0, 0, Local1, 0x77)
+ } else {
+ OUTP("Ok 2")
+ }
+ OUTP(b000)
+
+ } elseif (LEqual(arg0, 3)) {
+ OUTP("Check Index of Package")
+
+ Index(p000, 1, Local0)
+
+ Store(DerefOf(Local0), Local1)
+ if (LNotEqual(Local1, 0)) {
+ err(ts, z179, 0x06b, 0, 0, Local1, 0)
+ } else {
+ OUTP("Ok 3")
+ }
+ OUTP(Local1)
+
+ } elseif (LEqual(arg0, 4)) {
+ OUTP("Writing by Index to Package")
+
+ Index(p000, 1, Local0)
+ m000(Local0)
+
+ Store(DerefOf(Local0), Local1)
+
+ if (LNotEqual(Local1, 0x77)) {
+ err(ts, z179, 0x06c, 0, 0, Local1, 0x77)
+ } else {
+ OUTP("Ok 4")
+ }
+ OUTP(Local1)
+ }
+ }
+
+ Method(m000)
+ {
+ m133(0)
+
+ if (ABUU) {
+ } else {
+ m133(1)
+ }
+
+ m133(2)
+ m133(3)
+ m133(4)
+ }
+
+ CH03(ts, z179, 0x06d, 0, 0)
+ switch (arg0) {
+ case (0) { m000() }
+ case (1) { m133(0) }
+ case (2) { m133(1) }
+ case (3) { m133(2) }
+ case (4) { m133(3) }
+ case (5) { m133(4) }
+ }
+ CH03(ts, z179, 0x06e, 0, 0)
+}
+
+/* Methods to run manually (for ABBU only) */
+Method(a133) { IIN0() ms1c(1) Return(POUT) }
+Method(b133) { IIN0() ms1c(2) Return(POUT) }
+Method(c133) { IIN0() ms1c(3) Return(POUT) }
+Method(d133) { IIN0() ms1c(4) Return(POUT) }
+Method(e133) { IIN0() ms1c(5) Return(POUT) }
+
+/*
+ * Bug 134 issue:
+ *
+ * SUMMARY: Writing RefOf reference from inside Method breaks effectively local Arg
+ */
+Method(ms1d, 1)
+{
+ Name(ts, "ms1d")
+
+ Method(m134, 1)
+ {
+ Name(i000, 0x11)
+ Name(i001, 0x22)
+ Name(i002, 0x33)
+ Name(i003, 0x44)
+ Name(i004, 0x55)
+ Name(i005, 0x66)
+ Name(i006, 0x77)
+
+ Method(m000, 7)
+ {
+ OUTP("LocalX case of Method started:")
+
+ Store(RefOf(i000), Local0)
+ Store(Local0, Local1)
+ Store(Local1, Local2)
+ Store(Local2, Local3)
+ Store(Local3, Local4)
+ Store(Local4, Local5)
+ Store(Local5, Local6)
+
+ Store(0x88, Local6)
+
+ if (LAnd(ABUU, LNot(q008))) {
+ if (LNotEqual(i000, 0x88)) {
+ err(ts, z179, 0x06f, 0, 0, i000, 0x88)
+ }
+ } elseif (LNotEqual(i000, 0x11)) {
+ err(ts, z179, 0x06f, 0, 0, i000, 0x11)
+ } else {
+ if (LNotEqual(Local6, 0x88)) {
+ err(ts, z179, 0x070, 0, 0, Local6, 0x88)
+ } else {
+ OUTP("Ok 0:")
+ }
+ OUTP(Local6)
+ }
+
+ OUTP("LocalX case of Method finished")
+ }
+
+ Method(m001, 7)
+ {
+ OUTP("ArgX case of Method started:")
+
+ Store(RefOf(i000), arg0)
+ Store(arg0, arg1)
+ Store(arg1, arg2)
+ Store(arg2, arg3)
+ Store(arg3, arg4)
+ Store(arg4, arg5)
+ Store(arg5, arg6)
+
+ Store(0x88, arg6)
+
+ if (LAnd(ABUU, LNot(q008))) {
+ if (LNotEqual(i000, 0x88)) {
+ err(ts, z179, 0x071, 0, 0, i000, 0x88)
+ }
+ } elseif (LNotEqual(i000, 0x11)) {
+ err(ts, z179, 0x071, 0, 0, i000, 0x11)
+ } else {
+ if (LNotEqual(arg6, 0x88)) {
+ err(ts, z179, 0x072, 0, 0, arg6, 0x88)
+ } else {
+ OUTP("Ok 1:")
+ }
+ OUTP(arg6)
+ }
+
+ OUTP("ArgX case of Method finished")
+ }
+
+ Method(m002, 7)
+ {
+ OUTP("references in ArgX case of Method started:")
+
+ Store(RefOf(i000), arg0)
+ Store(arg0, arg1)
+ Store(arg1, arg2)
+ Store(arg2, arg3)
+ Store(arg3, arg4)
+ Store(arg4, arg5)
+ Store(arg5, arg6)
+
+ Store(0x88, arg6)
+
+ if (LAnd(ABUU, LNot(q008))) {
+ if (LNotEqual(i000, 0x88)) {
+ err(ts, z179, 0x073, 0, 0, i000, 0x88)
+ }
+ } elseif (LNotEqual(i000, 0x11)) {
+ err(ts, z179, 0x073, 0, 0, i000, 0x11)
+ OUTP(i000)
+ } else {
+ Store(DerefOf(arg6), Local1)
+ if (LNotEqual(Local1, 0x88)) {
+ err(ts, z179, 0x074, 0, 0, Local1, 0x88)
+ } else {
+ OUTP("Ok 1:")
+ }
+ OUTP(arg6)
+ }
+
+ OUTP("ArgX case of Method finished")
+ }
+
+ OUTP("Bug 134: ArgX term effectively becomes a LocalX term")
+
+ if (LEqual(arg0, 0)) {
+ m000(i000,i001,i002,i003,i004,i005,i006)
+ } elseif (LEqual(arg0, 1)) {
+ m001(i000,i001,i002,i003,i004,i005,i006)
+ } elseif (LEqual(arg0, 2)) {
+ m002(Refof(Local0),Refof(Local1),Refof(Local2),Refof(Local3),Refof(Local4),
+ Refof(Local5),Refof(Local6))
+ }
+ }
+
+ Method(m000)
+ {
+ m134(0)
+ m134(1)
+ m134(2)
+ }
+
+ CH03(ts, z179, 0x075, 0, 0)
+ switch (arg0) {
+ case (0) { m000() }
+ case (1) { m134(0) }
+ case (2) { m134(1) }
+ case (3) { m134(2) }
+ }
+ CH03(ts, z179, 0x076, 0, 0)
+}
+
+/* Methods to run manually (for ABBU only) */
+Method(a134) { IIN0() ms1d(1) Return(POUT) }
+Method(b134) { IIN0() ms1d(2) Return(POUT) }
+Method(c134) { IIN0() ms1d(3) Return(POUT) }
+
+/*
+ * Bug 136 issue:
+ *
+ * SUMMARY: CopyObject of named Buffer to the longer named Buffer works incorrectly
+ */
+Method(ms1e)
+{
+ Name(ts, "ms1e")
+
+ Method(m136)
+ {
+ Name(b000, Buffer(1){0x3c})
+ Name(b001, Buffer(3){0x01, 0x02, 0x03})
+
+ OUTP("Bug 136: CopyObject does not perform an implicit store")
+
+ CopyObject(b000, b001)
+
+ if (LEqual(b000, b001)) {
+ OUTP("Ok")
+ } else {
+ err(ts, z179, 0x077, 0, 0, b000, b001)
+ }
+ OUTP(b000)
+ OUTP(b001)
+ }
+
+ CH03(ts, z179, 0x078, 0, 0)
+ m136()
+ CH03(ts, z179, 0x079, 0, 0)
+}
+
+/* Methods to run manually (for ABBU only) */
+Method(a136) { IIN0() ms1e() Return(POUT) }
+
+/*
+ * Hot issue:
+ *
+ * Checks store of a Local Reference into the Package
+ */
+Method(ms1f, 1)
+{
+ Name(ts, "ms1f")
+
+ Name(I999, 0)
+ Name(PREF, Package(4) {0xa5a5a5a5, I999, I999})
+
+ Method(mlrp, 2)
+ {
+ Store(ObjectType(Arg0), Local0)
+ Store(Arg0, Index(PREF, Arg1))
+ CH03(ts, z179, 0x07a, 0, 0)
+ Store(ObjectType(Index(PREF, Arg1)), Local1)
+ if (LNotEqual(Local0, Local1)) {
+ err(ts, z179, 0x07b, 0, 0, Local1, Local0)
+ }
+ }
+
+ Method(mlr0)
+ {
+ OUTP("Store a Local Reference to Uninit Package element")
+
+ Store("Local0", Local0)
+
+ mlrp(Refof(Local0), 3)
+ }
+
+ Method(mlr1)
+ {
+ OUTP("Store a Local Reference to Integer Package element")
+
+ Store("Local0", Local0)
+
+ mlrp(Refof(Local0), 0)
+ }
+
+ Method(mlr2)
+ {
+ OUTP("Store a Local Reference to Reference Package element")
+
+ Store("Local0", Local0)
+
+ mlrp(Refof(Local0), 1)
+ }
+
+ Method(mlr3)
+ {
+ OUTP("Store a Integer to Reference Package element")
+
+ Store("Local0", Local0)
+
+ mlrp(3, 2)
+ }
+
+ Method(m000)
+ {
+ mlr0()
+ mlr1()
+ mlr2()
+ mlr3()
+ }
+
+ CH03(ts, z179, 0x07c, 0, 0)
+ switch (arg0) {
+ case (0) { m000() }
+ case (1) { mlr0() }
+ case (2) { mlr1() }
+ case (3) { mlr2() }
+ case (4) { mlr3() }
+ }
+ CH03(ts, z179, 0x07d, 0, 0)
+}
+
+/* Methods to run manually (for ABBU only) */
+Method(alrp) { IIN0() ms1f(1) Return(POUT) }
+Method(blrp) { IIN0() ms1f(2) Return(POUT) }
+Method(clrp) { IIN0() ms1f(3) Return(POUT) }
+Method(dlrp) { IIN0() ms1f(4) Return(POUT) }
+Method(elrp) { IIN0() ms1f(0) Return(POUT) }
+
+/*
+ * Hot issue:
+ *
+ * Forward reference within a control method
+ */
+Method(ms20, 1)
+{
+ Name(ts, "ms20")
+
+ Name (Y, 2)
+
+ Method(mfr0)
+ {
+ OUTP("Forward reference within a control method 0")
+
+ Store (Y, Local0)
+ if (LNotEqual(Local0, 2)) {
+ err(ts, z179, 0x07e, 0, 0, Local0, 2)
+ }
+
+ Name (Y, 1)
+
+ Store (Y, Local0)
+ if (LNotEqual(Local0, 1)) {
+ err(ts, z179, 0x07f, 0, 0, Local0, 1)
+ }
+ }
+ Method(mfr1)
+ {
+ OUTP("Natural reference within a control method")
+
+ Name (Y, 1)
+
+ Store (^Y, Local0)
+
+ if (LNotEqual(Local0, 2)) {
+ err(ts, z179, 0x080, 0, 0, Local0, 2)
+ }
+
+ Store (Y, Local0)
+ if (LNotEqual(Local0, 1)) {
+ err(ts, z179, 0x081, 0, 0, Local0, 1)
+ }
+ }
+
+ Method(mfr2)
+ {
+ OUTP("Forward reference within a control method 2")
+
+ Store (^mfr2.Y, Local0)
+ CH04(ts, 0, 0xff, z179, 0x082, "^mfr2.Y", Local0)
+
+ Name (Y, 1)
+
+ Store (^mfr2.Y, Local0)
+ if (LNotEqual(Local0, 1)) {
+ err(ts, z179, 0x083, 0, 0, Local0, 1)
+ }
+ }
+
+ Method(mfr3)
+ {
+ OUTP("Forward reference within a control method 3")
+
+ Name (Y, 1)
+
+ Store (^mfr3.Y, Local0)
+ if (LNotEqual(Local0, 1)) {
+ err(ts, z179, 0x084, 0, 0, Local0, 1)
+ }
+ }
+
+ Method(m000)
+ {
+ mfr0()
+ mfr1()
+
+ if (ABUU) {
+ } else {
+ mfr2()
+ }
+
+ mfr3()
+ }
+
+ CH03(ts, z179, 0x085, 0, 0)
+ switch (arg0) {
+ case (0) { m000() }
+ case (1) { mfr0() }
+ case (2) { mfr1() }
+ case (3) { mfr2() }
+ case (4) { mfr3() }
+ }
+ CH03(ts, z179, 0x086, 0, 0)
+}
+
+/* Methods to run manually (for ABBU only) */
+Method(amfr) { IIN0() ms20(1) Return(POUT) }
+Method(bmfr) { IIN0() ms20(2) Return(POUT) }
+Method(cmfr) { IIN0() ms20(3) Return(POUT) }
+Method(dmfr) { IIN0() ms20(4) Return(POUT) }
+
+/*
+ * Hot issue: AE_AML_METHOD_LIMIT
+ *
+ * Recursive Serialized method execution
+ */
+Method(ms21, 1)
+{
+ Name(ts, "ms21")
+
+ Method(aact, 1, Serialized)
+ {
+ if (Arg0) {
+ Return (Add(Arg0, aact(Subtract(Arg0, 1))))
+ } else {
+ Return (0)
+ }
+ }
+
+ Method(mac0)
+ {
+ OUTP("Recursive method execution aact(0)")
+ OUTP(aact(0))
+ }
+
+ Method(mac1)
+ {
+ OUTP("Recursive method execution aact(1)")
+ OUTP(aact(1))
+ }
+
+ Method(mac2)
+ {
+ OUTP("Recursive method execution aact(2)")
+ OUTP(aact(2))
+ }
+
+ Method(mac3)
+ {
+ OUTP("Recursive method execution aact(6)")
+ OUTP(aact(6))
+ }
+
+ Method(mac4)
+ {
+ OUTP("Recursive method execution aact(513)")
+ OUTP(aact(513))
+ CH04(ts, 0, 0xff, z179, 0x087, "recursion", 513)
+ }
+
+ Method(m000)
+ {
+ mac0()
+ mac1()
+ mac2()
+ mac3()
+
+ if (ABUU) {
+ } else {
+ mac4()
+ }
+ }
+
+ CH03(ts, z179, 0x088, 0, 0)
+ switch (arg0) {
+ case (0) { m000() }
+ case (1) { mac0() }
+ case (2) { mac1() }
+ case (3) { mac2() }
+ case (4) { mac3() }
+ case (5) { mac4() }
+ }
+ CH03(ts, z179, 0x089, 0, 0)
+}
+
+/* Methods to run manually (for ABBU only) */
+Method(arec) { IIN0() ms21(1) Return(POUT) }
+Method(brec) { IIN0() ms21(2) Return(POUT) }
+Method(crec) { IIN0() ms21(3) Return(POUT) }
+Method(drec) { IIN0() ms21(4) Return(POUT) }
+Method(erec) { IIN0() ms21(5) Return(POUT) }
+
+/*
+ * Hot issue:
+ *
+ * Conditional reference within a control method
+ */
+Method(ms22, 1)
+{
+ Name(ts, "ms22")
+
+ Name(iact, 0)
+
+ Method(cact, 1)
+ {
+ if (Arg0) {
+ Name(iact, 0xffffffff)
+ }
+ Return (iact)
+ }
+
+ Method(m000)
+ {
+ OUTP("Conditional reference within a control method 0")
+
+ OUTP("expected iact 0:")
+ Store(cact(0), Local0)
+
+ if (LNotEqual(Local0, 0)) {
+ err(ts, z179, 0x08a, 0, 0, Local0, 0)
+ }
+ }
+
+ Method(m001)
+ {
+ OUTP("Conditional reference within a control method 1")
+
+ OUTP("expected iact 0xffffffff:")
+ Store(cact(1), Local0)
+
+ if (LNotEqual(Local0, 0xffffffff)) {
+ err(ts, z179, 0x08b, 0, 0, Local0, 0xffffffff)
+ }
+ }
+
+ CH03(ts, z179, 0x08c, 0, 0)
+ switch (arg0) {
+ case (0) { m000() m001() }
+ case (1) { m000() }
+ case (2) { m001() }
+ }
+ CH03(ts, z179, 0x08d, 0, 0)
+}
+
+/* Methods to run manually (for ABBU only) */
+Method(amcr) { IIN0() ms22(1) Return(POUT) }
+Method(bmcr) { IIN0() ms22(2) Return(POUT) }
+
+/*
+ * Hot issue:
+ *
+ * Implicit return
+ */
+Method(ms23, 1)
+{
+ Name(ts, "ms23")
+
+ Method(mir0)
+ {
+ Name(fl00, 0)
+
+ Method(m001)
+ {
+ if (fl00) {
+ Add (0xabcd, 0)
+ } elseif (0) {
+ return (1)
+ }
+
+ }
+
+ OUTP("Implicit return no operator")
+
+ OUTP("An exception is expected: ...")
+ Store(m001(), Local0)
+ CH04(ts, 0, 0xff, z179, 0x08e, 0, 0)
+ }
+
+ Method(mir1)
+ {
+ Name(fl00, 1)
+
+ Method(m001)
+ {
+ if (fl00) {
+ Add (0xabcd, 0)
+ } else {
+ return (1)
+ }
+ }
+
+ OUTP("Implicit return after Add")
+
+ OUTP("0xabcd expected: ...")
+ Store(m001(), Local0)
+
+ if (SLCK) {
+ if (CH03(ts, z179, 0x08f, 0, 0)) {return}
+ if (LNotEqual(Local0, 0xabcd)) {
+ err(ts, z179, 0x090, 0, 0, Local0, 0xabcd)
+ }
+ } else {
+ CH04(ts, 0, 0xff, z179, 0x091, 0, 0)
+ }
+ }
+
+ Method(mir2)
+ {
+ Name(fl00, 0)
+
+ Method(m001)
+ {
+ if (fl00) {
+ Return (0xabce)
+ } elseif (0) {
+ return (1)
+ }
+ }
+
+ OUTP("Implicit return no operator 2")
+
+ OUTP("An exception is expected: ...")
+ Store(m001(), Local0)
+ CH04(ts, 0, 0xff, z179, 0x092, 0, 0)
+ }
+
+ Method(mir3)
+ {
+ Name(fl00, 1)
+
+ Method(m001)
+ {
+ if (fl00) {
+ Return (0xabce)
+ } else {
+ return (1)
+ }
+ }
+
+ OUTP("Explicit return conditionally")
+
+ OUTP("0xabce expected: ...")
+ Store(m001(), Local0)
+
+ if (SLCK) {
+ if (CH03(ts, z179, 0x093, 0, 0)) {return}
+ if (LNotEqual(Local0, 0xabce)) {
+ err(ts, z179, 0x094, 0, 0, Local0, 0xabce)
+ }
+ } else {
+ CH04(ts, 0, 0xff, z179, 0x095, 0, 0)
+ }
+ }
+
+ Method(mir4)
+ {
+ Name(fl00, 0)
+ Name(i000, 0xabcd0000)
+ Name(i001, 0xabcd0001)
+
+ Method(m000)
+ {
+ Switch (Store(0xabcd000f, i001)) {
+ Case (0) {
+ if (fl00) {
+ Return (0)
+ }
+ }
+ }
+ }
+
+ OUTP("Implicit return on Switch")
+
+ Store(0xdddd9000, i000)
+
+ Store(m000, i000)
+
+ if (SLCK) {
+ if (CH03(ts, z179, 0x096, 0, 0)) {return}
+ if (LNotEqual(i000, 0xabcd000f)) {
+ err(ts, z179, 0x097, 0, 0, i000, 0xabcd000f)
+ }
+ } else {
+ CH04(ts, 0, 0xff, z179, 0x098, 0, 0)
+ }
+ }
+
+ Method(mir5)
+ {
+ Name(fl00, 0)
+ Name(i000, 0xabcd0000)
+ Name(i001, 0xabcd0001)
+
+ Method(m000)
+ {
+ if (Store(0xabcd000d, i001)) {
+ if (fl00) {
+ Return (0)
+ }
+ }
+ }
+
+ OUTP("Implicit return on If")
+
+ Store(0xdddd9000, i000)
+
+ Store(m000, i000)
+
+ if (SLCK) {
+ if (CH03(ts, z179, 0x099, 0, 0)) {return}
+ if (LNotEqual(i000, 0xabcd000d)) {
+ err(ts, z179, 0x09a, 0, 0, i000, 0xabcd000d)
+ }
+ } else {
+ CH04(ts, 0, 0xff, z179, 0x09b, 0, 0)
+ }
+ }
+
+ Method(mir6)
+ {
+ Name(fl00, 0)
+ Name(i000, 0xabcd0000)
+ Name(i001, 0xabcd0001)
+
+ Method(m000)
+ {
+ While (Store(0xabcd000e, i001)) {
+ if (fl00) {
+ Return (0)
+ }
+ Break
+ }
+ }
+
+ OUTP("Implicit return on While")
+
+ Store(0xdddd9000, i000)
+
+ Store(m000, i000)
+
+ if (SLCK) {
+ if (CH03(ts, z179, 0x09c, 0, 0)) {return}
+ if (LNotEqual(i000, 0xabcd000e)) {
+ err(ts, z179, 0x09d, 0, 0, i000, 0xabcd000e)
+ }
+ } else {
+ CH04(ts, 0, 0xff, z179, 0x09e, 0, 0)
+ }
+ }
+
+ Method(m000)
+ {
+ mir0()
+ mir1()
+ mir2()
+ mir3()
+
+ if (ABUU) {
+ } else {
+ mir4()
+ }
+
+ if (ABUU) {
+ } else {
+ mir5()
+ }
+
+ if (ABUU) {
+ } else {
+ mir6()
+ }
+ }
+
+ CH03(ts, z179, 0x09f, 0, 0)
+ switch (arg0) {
+ case (0) { m000() }
+ case (1) { mir0() }
+ case (2) { mir1() }
+ case (3) { mir2() }
+ case (4) { mir3() }
+ case (5) { mir4() }
+ case (6) { mir5() }
+ case (7) { mir6() }
+ }
+ CH03(ts, z179, 0x0a0, 0, 0)
+}
+
+/* Methods to run manually (for ABBU only) */
+Method(amir) { IIN0() ms23(1) Return(POUT) }
+Method(bmir) { IIN0() ms23(2) Return(POUT) }
+Method(cmir) { IIN0() ms23(3) Return(POUT) }
+Method(dmir) { IIN0() ms23(4) Return(POUT) }
+Method(emir) { IIN0() ms23(5) Return(POUT) }
+Method(fmir) { IIN0() ms23(6) Return(POUT) }
+Method(gmir) { IIN0() ms23(7) Return(POUT) }
+
+/*
+ * Hot issue:
+ *
+ * Increment/Decrement with String/Buffer
+ */
+Method(ms24)
+{
+ Name(ts, "ms24")
+
+ Method(mmid)
+ {
+ Name(s000, "0321")
+ Name(s001, "0321")
+ Name(b000, Buffer(3){0x21, 0x03, 0x00})
+ Name(b001, Buffer(3){0x21, 0x03, 0x00})
+
+ OUTP("Increment/Decrement with String/Buffer")
+
+ OUTP(s000)
+ OUTP(s001)
+ Subtract(s000, 1, s000)
+ Decrement(s001)
+
+ Store(ObjectType(s000), Local0)
+ Store(ObjectType(s001), Local1)
+
+ if (LNotEqual(Local0, Local1)) {
+ err(ts, z179, 0x0a1, 0, 0, Local0, Local1)
+ } elseif (LNotEqual(s000, s001)) {
+ err(ts, z179, 0x0a2, 0, 0, s000, s001)
+ } else {
+ OUTP("Ok Subtract/Decrement for String")
+ }
+
+ OUTP("======")
+
+ OUTP(b000)
+ OUTP(b001)
+ Add(b000, 1, b000)
+ Increment(b001)
+
+ Store(ObjectType(b000), Local0)
+ Store(ObjectType(b001), Local1)
+
+ if (LNotEqual(Local0, Local1)) {
+ err(ts, z179, 0x0a3, 0, 0, Local0, Local1)
+ } elseif (LNotEqual(b000, b001)) {
+ err(ts, z179, 0x0a4, 0, 0, Local0, Local1)
+ } else {
+ OUTP("Ok Add/Increment for Buffer")
+ }
+ }
+
+ CH03(ts, z179, 0x0a5, 0, 0)
+ mmid()
+ CH03(ts, z179, 0x0a6, 0, 0)
+}
+
+/* Methods to run manually (for ABBU only) */
+Method(amid) { IIN0() ms24() Return(POUT) }
+
+
+/*
+ * Hot issue:
+ *
+ * Check Store(..., DeRefof(...)) behavior
+ */
+Method(ms25, 1)
+{
+ Name(ts, "ms25")
+
+ Method(msd0)
+ {
+ Name(i000, 0xffffffff)
+ Name(i001, 0x12345678)
+
+ OUTP("Check Store(..., DeRefof(...)) behavior: none DeRefof")
+
+ Store(i001, Refof(i000))
+ CH03(ts, z179, 0x0a7, 0, 0)
+ if (LNotEqual(i000, 0x12345678)) {
+ err(ts, z179, 0x0a8, 0, 0, i000, 0x12345678)
+ }
+ }
+
+ Method(msd1)
+ {
+ Name(i000, 0xffffffff)
+ Name(i001, 0x12345678)
+
+ OUTP("Check Store(..., DeRefof(...)) behavior: Refof(Named)")
+
+ Store(i001, DeRefof(Refof(i000)))
+ CH03(ts, z179, 0x0a9, 0, 0)
+ if (LNotEqual(i000, 0x12345678)) {
+ err(ts, z179, 0x0aa, 0, 0, i000, 0x12345678)
+ }
+ }
+
+ Method(msd2)
+ {
+ Name(i000, 0xffffffff)
+ Name(i001, 0x12345678)
+
+ OUTP("Check Store(..., DeRefof(...)) behavior: Refof in LocalX")
+
+ Store(Refof(i000), Local2)
+
+ Store(i001, DeRefof(Local2))
+ CH03(ts, z179, 0x0ab, 0, 0)
+ if (LNotEqual(i000, 0x12345678)) {
+ err(ts, z179, 0x0ac, 0, 0, i000, 0x12345678)
+ }
+ }
+
+ Method(msd3)
+ {
+ Name(i000, 0xffffffff)
+ Name(i001, 0x12345678)
+
+ OUTP("Check Store(..., DeRefof(...)) behavior: DeRefof(2xRefof)")
+
+ Store(Refof(i000), Local1)
+ Store(Refof(Local1), Local2)
+
+ Store(i001, DeRefof(Local2))
+ CH03(ts, z179, 0x0ad, 0, 0)
+
+ if (LNotEqual(i000, 0xffffffff)) {
+ err(ts, z179, 0x0ae, 0, 0, i000, 0xffffffff)
+ }
+
+ Store(Derefof(Local1), Local4)
+ if (CH04(ts, 0, 0xff, z179, 0x0af, 0, 0)) {
+ } elseif (LNotEqual(Local1, 0x12345678)) {
+ err(ts, z179, 0x0b0, 0, 0, Local1, 0x12345678)
+ }
+ }
+
+ CH03(ts, z179, 0x0b1, 0, 0)
+ switch (arg0) {
+ case (0) { msd0() msd1() msd2() msd3() }
+ case (1) { msd0() }
+ case (2) { msd1() }
+ case (3) { msd2() }
+ case (4) { msd3() }
+ }
+ CH03(ts, z179, 0x0b2, 0, 0)
+}
+
+/* Methods to run manually (for ABBU only) */
+Method(amsd) { IIN0() ms25(1) Return(POUT) }
+Method(bmsd) { IIN0() ms25(2) Return(POUT) }
+Method(cmsd) { IIN0() ms25(3) Return(POUT) }
+Method(dmsd) { IIN0() ms25(4) Return(POUT) }
+
+// Video memory address to maintain SystemMemory OpRegions
+// Name(VMEM, 0xA0000) // VGA memory
+// Name(VMEM, 0xF0000000) // T22 Savage3
+// Name(VMEM, 0xD0000000) // IntelliStation Z Pro NVidia
+Name(VMEM, 0xA0000) // VGA memory
+
+// SystemMemory OpRegions base address is maintained flag
+Name(SMBA, 1)
+
+/*
+ * Hot issue:
+ *
+ * Exceeding Field Unit
+ */
+Method(ms26, 1)
+{
+ Name(ts, "ms26")
+
+ OperationRegion(OPR0, SystemMemory, VMEM, 256)
+
+ Method(rfu0)
+ {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ g001, 0x80,
+ }
+
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ Offset(0x8), FU01, 8,
+ }
+
+ OUTP("Store Integer exceeding Field Unit")
+
+ Store(0, g001)
+
+ Store(FU01, Local0)
+ Store(0, Local1)
+ if (LNotEqual(Local0, Local1)) {
+ err(ts, z179, 0x0b3, 0, 0, Local0, Local1)
+ }
+
+ Store(0x5a, FU01)
+ Store(FU01, Local0)
+ Store(0x5a, Local1)
+ if (LNotEqual(Local0, Local1)) {
+ err(ts, z179, 0x0b4, 0, 0, Local0, Local1)
+ }
+
+ Store(0x3c69, FU01)
+ Store(FU01, Local0)
+ Store(0x69, Local1)
+ if (LNotEqual(Local0, Local1)) {
+ err(ts, z179, 0x0b5, 0, 0, Local0, Local1)
+ }
+ }
+
+ Method(rfu1)
+ {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ g001, 0x80,
+ }
+
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ Offset(0x8), FU01, 8,
+ }
+
+ OUTP("Store Buffer exceeding Field Unit")
+
+ Store(0, g001)
+
+ Store(FU01, Local0)
+ Store(0, Local1)
+ if (LNotEqual(Local0, Local1)) {
+ err(ts, z179, 0x0b6, 0, 0, Local0, Local1)
+ }
+
+ Store(0x5a, FU01)
+ Store(FU01, Local0)
+ Store(0x5a, Local1)
+ if (LNotEqual(Local0, Local1)) {
+ err(ts, z179, 0x0b7, 0, 0, Local0, Local1)
+ }
+
+ Store(Buffer(){0x3c, 0x69}, FU01)
+ Store(FU01, Local0)
+ Store(0x3c, Local1)
+ if (LAnd(ABUU, LNot(q009))) {
+ Store(0x69, Local1)
+ if (LNotEqual(Local0, Local1)) {
+ err(ts, z179, 0x0b8, 0, 0, Local0, Local1)
+ }
+ } elseif (LNotEqual(Local0, Local1)) {
+ err(ts, z179, 0x0b8, 0, 0, Local0, Local1)
+ }
+ }
+
+ Method(rfu2)
+ {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ g001, 0x80,
+ }
+
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ Offset(0x8), FU01, 8,
+ }
+
+ OUTP("Store String exceeding Field Unit")
+
+ Store(0, g001)
+
+ Store(FU01, Local0)
+ Store(0, Local1)
+ if (LNotEqual(Local0, Local1)) {
+ err(ts, z179, 0x0b9, 0, 0, Local0, Local1)
+ }
+
+ Store(0x5a, FU01)
+ Store(FU01, Local0)
+ Store(0x5a, Local1)
+ if (LNotEqual(Local0, Local1)) {
+ err(ts, z179, 0x0ba, 0, 0, Local0, Local1)
+ }
+
+ Store("79", FU01)
+ Store(FU01, Local0)
+ Store(0x37, Local1)
+ if (LAnd(ABUU, LNot(q009))) {
+ Store(0x39, Local1)
+ if (LNotEqual(Local0, Local1)) {
+ err(ts, z179, 0x0bb, 0, 0, Local0, Local1)
+ }
+ } elseif (LNotEqual(Local0, Local1)) {
+ err(ts, z179, 0x0bb, 0, 0, Local0, Local1)
+ }
+ }
+
+ Method(rfu3)
+ {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ g001, 0x80,
+ }
+
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ Offset(0x8), FU01, 6, FU02, 2
+ }
+
+ OUTP("Store Buffer exceeding 6-bit Field Unit")
+
+ Store(0, g001)
+
+ Store(FU01, Local0)
+ Store(0, Local1)
+ if (LNotEqual(Local0, Local1)) {
+ err(ts, z179, 0x0bc, 0, 0, Local0, Local1)
+ }
+
+ Store(0x5a, FU01)
+ Store(FU01, Local0)
+ Store(0x1a, Local1)
+ if (LNotEqual(Local0, Local1)) {
+ err(ts, z179, 0x0bd, 0, 0, Local0, Local1)
+ }
+
+ Store(Buffer(){0x7c, 0x69}, FU01)
+ Store(FU01, Local0)
+ Store(0x3c, Local1)
+ if (LAnd(ABUU, LNot(q009))) {
+ Store(0x29, Local1)
+ if (LNotEqual(Local0, Local1)) {
+ err(ts, z179, 0x0be, 0, 0, Local0, Local1)
+ }
+ } elseif (LNotEqual(Local0, Local1)) {
+ err(ts, z179, 0x0be, 0, 0, Local0, Local1)
+ }
+
+ Store(FU02, Local0)
+ Store(0, Local1)
+ if (LAnd(ABUU, LNot(q009))) {
+ Store(0x01, Local1)
+ if (LNotEqual(Local0, Local1)) {
+ err(ts, z179, 0x0bf, 0, 0, Local0, Local1)
+ }
+ } elseif (LNotEqual(Local0, Local1)) {
+ err(ts, z179, 0x0bf, 0, 0, Local0, Local1)
+ }
+ }
+
+ Method(rfu4)
+ {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ g001, 0x80,
+ }
+
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ Offset(0x8), FU01, 6, FU02, 2
+ }
+
+ OUTP("Store String exceeding 6-bit Field Unit")
+
+ Store(0, g001)
+
+ Store(FU01, Local0)
+ Store(0, Local1)
+ if (LNotEqual(Local0, Local1)) {
+ err(ts, z179, 0x0c0, 0, 0, Local0, Local1)
+ }
+
+ Store(0x5a, FU01)
+ Store(FU01, Local0)
+ Store(0x1a, Local1)
+ if (LNotEqual(Local0, Local1)) {
+ err(ts, z179, 0x0c1, 0, 0, Local0, Local1)
+ }
+
+ Store("79", FU01)
+ Store(FU01, Local0)
+ Store(0x37, Local1)
+ if (LAnd(ABUU, LNot(q009))) {
+ Store(0x39, Local1)
+ if (LNotEqual(Local0, Local1)) {
+ err(ts, z179, 0x0c2, 0, 0, Local0, Local1)
+ }
+ } elseif (LNotEqual(Local0, Local1)) {
+ err(ts, z179, 0x0c2, 0, 0, Local0, Local1)
+ }
+
+ Store(FU02, Local0)
+ Store(0, Local1)
+ if (LAnd(ABUU, LNot(q009))) {
+ Store(0x01, Local1)
+ if (LNotEqual(Local0, Local1)) {
+ err(ts, z179, 0x0c3, 0, 0, Local0, Local1)
+ }
+ } elseif (LNotEqual(Local0, Local1)) {
+ err(ts, z179, 0x0c3, 0, 0, Local0, Local1)
+ }
+ }
+
+ Method(rfu5)
+ {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ g001, 0x80,
+ }
+
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ Offset(0x8), FU01, 10, FU02, 6
+ }
+
+ OUTP("Store Buffer exceeding 10-bit Field Unit")
+
+ Store(0, g001)
+
+ Store(FU01, Local0)
+ Store(0, Local1)
+ if (LNotEqual(Local0, Local1)) {
+ err(ts, z179, 0x0c4, 0, 0, Local0, Local1)
+ }
+
+ Store(0x5a, FU01)
+ Store(FU01, Local0)
+ Store(0x5a, Local1)
+ if (LNotEqual(Local0, Local1)) {
+ err(ts, z179, 0x0c5, 0, 0, Local0, Local1)
+ }
+
+ Store(Buffer(){0x3c, 0x69}, FU01)
+ Store(FU01, Local0)
+ Store(0x13c, Local1)
+ if (LNotEqual(Local0, Local1)) {
+ err(ts, z179, 0x0c6, 0, 0, Local0, Local1)
+ }
+
+ Store(FU02, Local0)
+ Store(0, Local1)
+ if (LAnd(ABUU, LNot(q009))) {
+ Store(0x1a, Local1)
+ if (LNotEqual(Local0, Local1)) {
+ err(ts, z179, 0x0c7, 0, 0, Local0, Local1)
+ }
+ } elseif (LNotEqual(Local0, Local1)) {
+ err(ts, z179, 0x0c7, 0, 0, Local0, Local1)
+ }
+ }
+
+ Method(rfu6)
+ {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ g001, 0x80,
+ }
+
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ Offset(0x8), FU01, 10, FU02, 6
+ }
+
+ OUTP("Store String exceeding 10-bit Field Unit")
+
+ Store(0, g001)
+
+ Store(FU01, Local0)
+ Store(0, Local1)
+ if (LNotEqual(Local0, Local1)) {
+ err(ts, z179, 0x0c8, 0, 0, Local0, Local1)
+ }
+
+ Store(0x5a, FU01)
+ Store(FU01, Local0)
+ Store(0x5a, Local1)
+ if (LNotEqual(Local0, Local1)) {
+ err(ts, z179, 0x0c9, 0, 0, Local0, Local1)
+ }
+
+ Store("79", FU01)
+ Store(FU01, Local0)
+ Store(0x137, Local1)
+ if (LNotEqual(Local0, Local1)) {
+ err(ts, z179, 0x0ca, 0, 0, Local0, Local1)
+ }
+
+ Store(FU02, Local0)
+ Store(0, Local1)
+ if (LAnd(ABUU, LNot(q009))) {
+ Store(0x0e, Local1)
+ if (LNotEqual(Local0, Local1)) {
+ err(ts, z179, 0x0cb, 0, 0, Local0, Local1)
+ }
+ } elseif (LNotEqual(Local0, Local1)) {
+ err(ts, z179, 0x0cb, 0, 0, Local0, Local1)
+ }
+ }
+
+ Method(rfu7)
+ {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ g001, 0x80,
+ }
+
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ Offset(0x8), FU01, 10, FU02, 6
+ }
+
+ OUTP("Store 3-byte Buffer exceeding 10-bit Field Unit")
+
+ Store(0, g001)
+
+ Store(FU01, Local0)
+ Store(0, Local1)
+ if (LNotEqual(Local0, Local1)) {
+ err(ts, z179, 0x0cc, 0, 0, Local0, Local1)
+ }
+
+ Store(0x5a, FU01)
+ Store(FU01, Local0)
+ Store(0x5a, Local1)
+ if (LNotEqual(Local0, Local1)) {
+ err(ts, z179, 0x0cd, 0, 0, Local0, Local1)
+ }
+
+ Store(Buffer(){0x3c, 0x69, 0xa5}, FU01)
+ Store(FU01, Local0)
+ Store(0x13c, Local1)
+ if (LAnd(ABUU, LNot(q009))) {
+ Store(0xa5, Local1)
+ if (LNotEqual(Local0, Local1)) {
+ err(ts, z179, 0x0ce, 0, 0, Local0, Local1)
+ }
+ } elseif (LNotEqual(Local0, Local1)) {
+ err(ts, z179, 0x0ce, 0, 0, Local0, Local1)
+ }
+
+ Store(FU02, Local0)
+ Store(0, Local1)
+ if (LAnd(ABUU, LNot(q009))) {
+ Store(0x1a, Local1)
+ if (LNotEqual(Local0, Local1)) {
+ err(ts, z179, 0x0cf, 0, 0, Local0, Local1)
+ }
+ } elseif (LNotEqual(Local0, Local1)) {
+ err(ts, z179, 0x0cf, 0, 0, Local0, Local1)
+ }
+ }
+
+ Method(rfu8)
+ {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ g001, 0x80,
+ }
+
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ Offset(0x8), FU01, 10, FU02, 6
+ }
+
+ OUTP("Store 3-char String exceeding 10-bit Field Unit")
+
+ Store(0, g001)
+
+ Store(FU01, Local0)
+ Store(0, Local1)
+ if (LNotEqual(Local0, Local1)) {
+ err(ts, z179, 0x0d0, 0, 0, Local0, Local1)
+ }
+
+ Store(0x5a, FU01)
+ Store(FU01, Local0)
+ Store(0x5a, Local1)
+ if (LNotEqual(Local0, Local1)) {
+ err(ts, z179, 0x0d1, 0, 0, Local0, Local1)
+ }
+
+ Store("795", FU01)
+ Store(FU01, Local0)
+ Store(0x137, Local1)
+ if (LAnd(ABUU, LNot(q009))) {
+ Store(0x35, Local1)
+ if (LNotEqual(Local0, Local1)) {
+ err(ts, z179, 0x0d2, 0, 0, Local0, Local1)
+ }
+ } elseif (LNotEqual(Local0, Local1)) {
+ err(ts, z179, 0x0d2, 0, 0, Local0, Local1)
+ }
+
+ Store(FU02, Local0)
+ Store(0, Local1)
+ if (LAnd(ABUU, LNot(q009))) {
+ Store(0x0e, Local1)
+ if (LNotEqual(Local0, Local1)) {
+ err(ts, z179, 0x0d3, 0, 0, Local0, Local1)
+ }
+ } elseif (LNotEqual(Local0, Local1)) {
+ err(ts, z179, 0x0d3, 0, 0, Local0, Local1)
+ }
+ }
+
+ Method(m000)
+ {
+ rfu0()
+ rfu1()
+ rfu2()
+ rfu3()
+ rfu4()
+ rfu5()
+ rfu6()
+ rfu7()
+ rfu8()
+ }
+
+ CH03(ts, z179, 0x0d4, 0, 0)
+ switch (arg0) {
+ case (0) { m000() }
+ case (1) { rfu0() }
+ case (2) { rfu1() }
+ case (3) { rfu2() }
+ case (4) { rfu3() }
+ case (5) { rfu4() }
+ case (6) { rfu5() }
+ case (7) { rfu6() }
+ case (8) { rfu7() }
+ case (9) { rfu8() }
+ }
+ CH03(ts, z179, 0x0d5, 0, 0)
+}
+
+/* Methods to run manually (for ABBU only) */
+Method(arfu) { IIN0() ms26(1) Return(POUT) }
+Method(brfu) { IIN0() ms26(2) Return(POUT) }
+Method(crfu) { IIN0() ms26(3) Return(POUT) }
+Method(drfu) { IIN0() ms26(4) Return(POUT) }
+Method(erfu) { IIN0() ms26(5) Return(POUT) }
+Method(frfu) { IIN0() ms26(6) Return(POUT) }
+Method(grfu) { IIN0() ms26(7) Return(POUT) }
+Method(hrfu) { IIN0() ms26(8) Return(POUT) }
+Method(irfu) { IIN0() ms26(9) Return(POUT) }
+
+
+/*
+ * Hot issue:
+ *
+ * Check IndexField implementation
+ */
+Method(ms27, 1)
+{
+ Name(ts, "ms27")
+
+ OperationRegion(OPR0, SystemMemory, VMEM, 256)
+
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ tot0, 32,
+ tot1, 32,
+ }
+
+ Method(ifd0)
+ {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ idx1, 4,
+ dta1, 3,
+ }
+
+ IndexField(idx1, dta1, ByteAcc, NoLock, WriteAsZeros) {
+ re10, 3,
+ re11, 3,
+ re12, 3,
+ re13, 3,
+ }
+
+ Method(TRY0, 3)
+ {
+ Store(Zero, tot0)
+ Switch (arg0) {
+ Case (0) {Store(Ones, ^re10)}
+ Case (1) {Store(Ones, ^re11)}
+ Case (2) {Store(Ones, ^re12)}
+ Case (3) {Store(Ones, ^re13)}
+ }
+
+ Store(idx1, Local0)
+ Store(dta1, Local1)
+
+ Multiply(arg0, 2, Local2)
+ if (LNotEqual(Local0, arg1)) {
+ err(ts, z179, Add(0x0d6, Local2), 0, 0, Local0, arg1)
+ }
+ if (LNotEqual(Local1, arg2)) {
+ err(ts, z179, Add(0x0d7, Local2), 0, 0, Local1, arg2)
+ }
+ }
+
+ OUTP("Check IndexField ByteAcc 4-3 Ones write 3-3-3-3")
+
+ TRY0(0, 0, 0x7)
+ TRY0(1, 0, 0x0)
+
+ Store(0x1, Local0)
+ if (LAnd(ABUU, LNot(q00a))) {
+ Store(0x07, Local0)
+ }
+ TRY0(2, 0, Local0)
+
+ TRY0(3, 0, 0x06)
+ }
+
+ Method(ifd1)
+ {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ idx1, 8,
+ dta1, 8,
+ }
+
+ IndexField(idx1, dta1, ByteAcc, NoLock, WriteAsZeros) {
+ re10, 8,
+ re11, 8,
+ re12, 8,
+ re13, 8,
+ }
+
+ Method(TRY0, 3)
+ {
+ Store(Zero, tot0)
+ Switch (arg0) {
+ Case (0) {Store(0x12345678, ^re10)}
+ Case (1) {Store(0x12345678, ^re11)}
+ Case (2) {Store(0x12345678, ^re12)}
+ Case (3) {Store(0x12345678, ^re13)}
+ }
+
+ Store(idx1, Local0)
+ Store(dta1, Local1)
+
+ Multiply(arg0, 2, Local2)
+ if (LNotEqual(Local0, arg1)) {
+ err(ts, z179, Add(0x0de, Local2), 0, 0, Local0, arg1)
+ }
+ if (LNotEqual(Local1, arg2)) {
+ err(ts, z179, Add(0x0df, Local2), 0, 0, Local1, arg2)
+ }
+ }
+
+ OUTP("Check IndexField ByteAcc 0x12345678 write 8-8-8-8")
+
+ TRY0(0, 0, 0x78)
+ TRY0(1, 1, 0x78)
+ TRY0(2, 2, 0x78)
+ TRY0(3, 3, 0x78)
+ }
+
+ Method(ifd2)
+ {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ idx1, 8,
+ dta1, 8,
+ }
+
+ IndexField(idx1, dta1, ByteAcc, NoLock, WriteAsZeros) {
+ , 7,
+ re10, 1,
+ re11, 1,
+ Offset(2),
+ re12, 4,
+ re13, 4,
+ }
+
+ Method(TRY0, 3)
+ {
+ Store(Zero, tot0)
+ Switch (arg0) {
+ Case (0) {Store(Ones, ^re10)}
+ Case (1) {Store(Ones, ^re11)}
+ Case (2) {Store(Ones, ^re12)}
+ Case (3) {Store(Ones, ^re13)}
+ }
+
+ Store(idx1, Local0)
+ Store(dta1, Local1)
+
+ Multiply(arg0, 2, Local2)
+ if (LNotEqual(Local0, arg1)) {
+ err(ts, z179, Add(0x0e6, Local2), 0, 0, Local0, arg1)
+ }
+ if (LNotEqual(Local1, arg2)) {
+ err(ts, z179, Add(0x0e7, Local2), 0, 0, Local1, arg2)
+ }
+ }
+
+ OUTP("Check IndexField ByteAcc Ones write Offset (0:7)1-(1:0)1-(2:0)4-4")
+
+ TRY0(0, 0, 0x80)
+
+ Store(0x01, Local0)
+ if (LAnd(ABUU, LNot(q00a))) {
+ Store(0xff, Local0)
+ }
+ TRY0(1, 1, Local0)
+
+ Store(0x0f, Local0)
+ if (LAnd(ABUU, LNot(q00a))) {
+ Store(0xff, Local0)
+ }
+ TRY0(2, 2, Local0)
+
+ TRY0(3, 2, 0xf0)
+ }
+
+ Method(ifd3)
+ {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ idx1, 8,
+ dta1, 8,
+ }
+
+ IndexField(idx1, dta1, ByteAcc, NoLock, WriteAsZeros) {
+ Offset(1),
+ re10, 8,
+ Offset(2),
+ re11, 8,
+ Offset(7),
+ re12, 8,
+ Offset(16),
+ re13, 8,
+ }
+
+ Method(TRY0, 3)
+ {
+ Store(Zero, tot0)
+ Switch (arg0) {
+ Case (0) {Store(0x12345678, ^re10)}
+ Case (1) {Store(0x12345678, ^re11)}
+ Case (2) {Store(0x12345678, ^re12)}
+ Case (3) {Store(0x12345678, ^re13)}
+ }
+
+ Store(idx1, Local0)
+ Store(dta1, Local1)
+
+ Multiply(arg0, 2, Local2)
+ if (LNotEqual(Local0, arg1)) {
+ err(ts, z179, Add(0x0ee, Local2), 0, 0, Local0, arg1)
+ }
+ if (LNotEqual(Local1, arg2)) {
+ err(ts, z179, Add(0x0ef, Local2), 0, 0, Local1, arg2)
+ }
+ }
+
+ OUTP("Check IndexField ByteAcc 0x12345678 write Offset (1:0)8-(2:0)8-(7:0)8-(16:0)8")
+
+ TRY0(0, 1, 0x78)
+ TRY0(1, 2, 0x78)
+ TRY0(2, 7, 0x78)
+ TRY0(3, 16, 0x78)
+ }
+
+ CH03(ts, z179, 0x0e6, 0, 0)
+ switch (arg0) {
+ case (0) {
+ ifd0()
+ ifd1()
+ ifd2()
+ ifd3()
+ }
+ case (1) { ifd0() }
+ case (2) { ifd1() }
+ case (3) { ifd2() }
+ case (4) { ifd3() }
+ }
+ CH03(ts, z179, 0x0e7, 0, 0)
+}
+
+Method(mt27, 1)
+{
+ Name(ts, "mt27")
+
+ OperationRegion(OPR0, SystemMemory, VMEM, 256)
+
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ tot0, 32,
+ tot1, 32,
+ }
+
+ Method(ifd4)
+ {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ idx1, 16,
+ dta1, 16,
+ }
+
+ IndexField(idx1, dta1, WordAcc, NoLock, WriteAsZeros) {
+ re10, 8,
+ re11, 8,
+ re12, 8,
+ re13, 8,
+ }
+
+ Method(TRY0, 3)
+ {
+ Store(Zero, tot0)
+ Switch (arg0) {
+ Case (0) {Store(0x12345678, ^re10)}
+ Case (1) {Store(0x12345678, ^re11)}
+ Case (2) {Store(0x12345678, ^re12)}
+ Case (3) {Store(0x12345678, ^re13)}
+ }
+
+ Store(idx1, Local0)
+ Store(dta1, Local1)
+
+ Multiply(arg0, 2, Local2)
+ if (LNotEqual(Local0, arg1)) {
+ err(ts, z179, Add(0x0f0, Local2), 0, 0, Local0, arg1)
+ }
+ if (LNotEqual(Local1, arg2)) {
+ err(ts, z179, Add(0x0f1, Local2), 0, 0, Local1, arg2)
+ }
+ }
+
+ OUTP("Check IndexField WordAcc Ones write 8-8-8-8")
+
+ Store(0x0078, Local0)
+ if (LAnd(ABUU, LNot(q00a))) {
+ Store(0x5678, Local0)
+ }
+ TRY0(0, 0, Local0)
+
+ TRY0(1, 0, 0x7800)
+
+ Store(0x0078, Local0)
+ if (LAnd(ABUU, LNot(q00a))) {
+ Store(0x5678, Local0)
+ }
+ TRY0(2, 2, Local0)
+
+ TRY0(3, 2, 0x7800)
+ }
+
+ Method(ifd5)
+ {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ idx1, 8,
+ dta1, 8,
+ }
+
+ IndexField(idx1, dta1, ByteAcc, NoLock, WriteAsZeros) {
+ , 1,
+ re10, 8,
+ , 1,
+ re11, 8,
+ , 1,
+ re12, 8,
+ , 1,
+ re13, 8,
+ }
+
+ Method(TRY0, 3)
+ {
+ Store(Zero, tot0)
+ Switch (arg0) {
+ Case (0) {Store(Ones, ^re10)}
+ Case (1) {Store(Ones, ^re11)}
+ Case (2) {Store(Ones, ^re12)}
+ Case (3) {Store(Ones, ^re13)}
+ }
+
+ Store(idx1, Local0)
+ Store(dta1, Local1)
+
+ Multiply(arg0, 2, Local2)
+ if (LNotEqual(Local0, arg1)) {
+ err(ts, z179, Add(0x0f8, Local2), 0, 0, Local0, arg1)
+ }
+ if (LNotEqual(Local1, arg2)) {
+ err(ts, z179, Add(0x0f9, Local2), 0, 0, Local1, arg2)
+ }
+ }
+
+ OUTP("Check IndexField ByteAcc Ones write (:1)8-(:1)8-(:1)8-(:1)8")
+
+ TRY0(0, 1, 0x1)
+ TRY0(1, 2, 0x3)
+ TRY0(2, 3, 0x7)
+ TRY0(3, 4, 0xf)
+ }
+
+ Method(ifd6)
+ {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ idx1, 32,
+ dta1, 32,
+ }
+
+ IndexField(idx1, dta1, DWordAcc, NoLock, WriteAsZeros) {
+ re10, 8,
+ re11, 8,
+ re12, 8,
+ re13, 8,
+ }
+
+ Method(TRY0, 3)
+ {
+ Store(Zero, tot0)
+ Store(Zero, tot1)
+ Switch (arg0) {
+ Case (0) {Store(Ones, ^re10)}
+ Case (1) {Store(Ones, ^re11)}
+ Case (2) {Store(Ones, ^re12)}
+ Case (3) {Store(Ones, ^re13)}
+ }
+
+ Store(idx1, Local0)
+ Store(dta1, Local1)
+
+ Multiply(arg0, 2, Local2)
+ if (LNotEqual(Local0, arg1)) {
+ err(ts, z179, Add(0x100, Local2), 0, 0, Local0, arg1)
+ }
+ if (LNotEqual(Local1, arg2)) {
+ err(ts, z179, Add(0x101, Local2), 0, 0, Local1, arg2)
+ }
+ }
+
+ OUTP("Check IndexField DWordAcc Ones write 8-8-8-8")
+
+ Store(0xff, Local0)
+ if (LAnd(ABUU, LNot(q00a))) {
+ Store(0xffffffff, Local0)
+ }
+ TRY0(0, 0, Local0)
+
+ Store(0xff00, Local0)
+ if (LAnd(ABUU, LNot(q00a))) {
+ Store(0xffffff00, Local0)
+ }
+ TRY0(1, 0, Local0)
+
+ Store(0xff0000, Local0)
+ if (LAnd(ABUU, LNot(q00a))) {
+ Store(0xffff0000, Local0)
+ }
+ TRY0(2, 0, Local0)
+
+ TRY0(3, 0, 0xff000000)
+ }
+
+ Method(ifd7)
+ {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ idx1, 8,
+ dta1, 8,
+ }
+
+ IndexField(idx1, dta1, ByteAcc, NoLock, WriteAsZeros) {
+ , 2,
+ re10, 7,
+ , 2,
+ re11, 7,
+ , 2,
+ re12, 7,
+ , 2,
+ re13, 7,
+ }
+
+ Method(TRY0, 3)
+ {
+ Store(Zero, tot0)
+ Switch (arg0) {
+ Case (0) {Store(Ones, ^re10)}
+ Case (1) {Store(Ones, ^re11)}
+ Case (2) {Store(Ones, ^re12)}
+ Case (3) {Store(Ones, ^re13)}
+ }
+
+ Store(idx1, Local0)
+ Store(dta1, Local1)
+
+ Multiply(arg0, 2, Local2)
+ if (LNotEqual(Local0, arg1)) {
+ err(ts, z179, Add(0x108, Local2), 0, 0, Local0, arg1)
+ }
+ if (LNotEqual(Local1, arg2)) {
+ err(ts, z179, Add(0x109, Local2), 0, 0, Local1, arg2)
+ }
+ }
+
+ OUTP("Check IndexField ByteAcc Ones write (:2)7-(:2)7-(:2)7-(:2)7")
+
+ Store(0x1, Local0)
+ if (LAnd(ABUU, LNot(q00a))) {
+ Store(0x3, Local0)
+ }
+ TRY0(0, 1, Local0)
+
+ Store(0x3, Local0)
+ if (LAnd(ABUU, LNot(q00a))) {
+ Store(0x7, Local0)
+ }
+ TRY0(1, 2, Local0)
+
+ Store(0x7, Local0)
+ if (LAnd(ABUU, LNot(q00a))) {
+ Store(0xf, Local0)
+ }
+ TRY0(2, 3, Local0)
+
+ Store(0xf, Local0)
+ if (LAnd(ABUU, LNot(q00a))) {
+ Store(0x1f, Local0)
+ }
+ TRY0(3, 4, Local0)
+ }
+
+ CH03(ts, z179, 0x0e8, 0, 0)
+ switch (arg0) {
+ case (0) {
+ ifd4()
+ ifd5()
+ ifd6()
+ ifd7()
+ }
+ case (5) { ifd4() }
+ case (6) { ifd5() }
+ case (7) { ifd6() }
+ case (8) { ifd7() }
+ }
+ CH03(ts, z179, 0x0e9, 0, 0)
+}
+
+Method(mu27, 1)
+{
+ Name(ts, "mu27")
+
+ OperationRegion(OPR0, SystemMemory, VMEM, 256)
+
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ tot0, 32,
+ tot1, 32,
+ }
+
+ Method(ifd8)
+ {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ idx1, 32,
+ dta1, 32,
+ }
+
+ IndexField(idx1, dta1, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(1),
+ re10, 8,
+ Offset(4),
+ re11, 8,
+ Offset(9),
+ re12, 8,
+ Offset(12),
+ re13, 8,
+ }
+
+ Method(TRY0, 3)
+ {
+ Store(Zero, tot0)
+ Store(Zero, tot1)
+ Switch (arg0) {
+ Case (0) {Store(0x12345678, ^re10)}
+ Case (1) {Store(0x12345678, ^re11)}
+ Case (2) {Store(0x12345678, ^re12)}
+ Case (3) {Store(0x12345678, ^re13)}
+ }
+
+ Store(idx1, Local0)
+ Store(dta1, Local1)
+
+ Multiply(arg0, 2, Local2)
+ if (LNotEqual(Local0, arg1)) {
+ err(ts, z179, Add(0x118, Local2), 0, 0, Local0, arg1)
+ }
+ if (LNotEqual(Local1, arg2)) {
+ err(ts, z179, Add(0x119, Local2), 0, 0, Local1, arg2)
+ }
+ }
+
+ OUTP("Check IndexField DWordAcc 0x12345678 write Offset (1)8-(4)8-(9)8-(12)8")
+
+ Store(0x7800, Local0)
+ if (LAnd(ABUU, LNot(q00a))) {
+ Store(0x34567800, Local0)
+ }
+ TRY0(0, 0, Local0)
+
+ Store(0x78, Local0)
+ if (LAnd(ABUU, LNot(q00a))) {
+ Store(0x12345678, Local0)
+ }
+ TRY0(1, 4, Local0)
+
+ Store(0x7800, Local0)
+ if (LAnd(ABUU, LNot(q00a))) {
+ Store(0x34567800, Local0)
+ }
+ TRY0(2, 8, Local0)
+
+ Store(0x78, Local0)
+ if (LAnd(ABUU, LNot(q00a))) {
+ Store(0x12345678, Local0)
+ }
+ TRY0(3, 12, Local0)
+ }
+
+ Method(ifd9)
+ {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ idx1, 16,
+ dta1, 16,
+ }
+
+ IndexField(idx1, dta1, WordAcc, NoLock, WriteAsZeros) {
+ Offset(1),
+ re10, 8,
+ Offset(4),
+ re11, 8,
+ Offset(9),
+ re12, 8,
+ Offset(12),
+ re13, 8,
+ }
+
+ Method(TRY0, 3)
+ {
+ Store(Zero, tot0)
+ Switch (arg0) {
+ Case (0) {Store(0x12345678, ^re10)}
+ Case (1) {Store(0x12345678, ^re11)}
+ Case (2) {Store(0x12345678, ^re12)}
+ Case (3) {Store(0x12345678, ^re13)}
+ }
+
+ Store(idx1, Local0)
+ Store(dta1, Local1)
+
+ Multiply(arg0, 2, Local2)
+ if (LNotEqual(Local0, arg1)) {
+ err(ts, z179, Add(0x120, Local2), 0, 0, Local0, arg1)
+ }
+ if (LNotEqual(Local1, arg2)) {
+ err(ts, z179, Add(0x121, Local2), 0, 0, Local1, arg2)
+ }
+ }
+
+ OUTP("Check IndexField WordAcc 0x12345678 write Offset (1)8-(4)8-(9)8-(12)8")
+
+ TRY0(0, 0, 0x7800)
+
+ Store(0x78, Local0)
+ if (LAnd(ABUU, LNot(q00a))) {
+ Store(0x5678, Local0)
+ }
+ TRY0(1, 4, Local0)
+
+ TRY0(2, 8, 0x7800)
+
+ Store(0x78, Local0)
+ if (LAnd(ABUU, LNot(q00a))) {
+ Store(0x5678, Local0)
+ }
+ TRY0(3, 12, Local0)
+ }
+
+ Method(ifda)
+ {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ idx1, 16,
+ dta1, 16,
+ }
+
+ IndexField(idx1, dta1, ByteAcc, NoLock, WriteAsZeros) {
+ Offset(1),
+ re10, 8,
+ Offset(4),
+ re11, 8,
+ Offset(9),
+ re12, 8,
+ Offset(12),
+ re13, 8,
+ }
+
+ Method(TRY0, 3)
+ {
+ Store(Zero, tot0)
+ Switch (arg0) {
+ Case (0) {Store(0x12345678, ^re10)}
+ Case (1) {Store(0x12345678, ^re11)}
+ Case (2) {Store(0x12345678, ^re12)}
+ Case (3) {Store(0x12345678, ^re13)}
+ }
+
+ Store(idx1, Local0)
+ Store(dta1, Local1)
+
+ Multiply(arg0, 2, Local2)
+ if (LNotEqual(Local0, arg1)) {
+ err(ts, z179, Add(0x128, Local2), 0, 0, Local0, arg1)
+ }
+ if (LNotEqual(Local1, arg2)) {
+ err(ts, z179, Add(0x129, Local2), 0, 0, Local1, arg2)
+ }
+ }
+
+ OUTP("Check IndexField ByteAcc 0x12345678 write Offset (1)8-(4)8-(9)8-(12)8")
+
+ TRY0(0, 1, 0x78)
+ TRY0(1, 4, 0x78)
+ TRY0(2, 9, 0x78)
+ TRY0(3, 12, 0x78)
+ }
+
+ Method(ifdb)
+ {
+ Field(OPR0, AnyAcc, NoLock, WriteAsZeros) {
+ idx1, 16,
+ dta1, 16,
+ }
+
+ IndexField(idx1, dta1, AnyAcc, NoLock, WriteAsZeros) {
+ Offset(1),
+ re10, 8,
+ Offset(4),
+ re11, 8,
+ Offset(9),
+ re12, 8,
+ Offset(12),
+ re13, 8,
+ }
+
+ Method(TRY0, 3)
+ {
+ Store(Zero, tot0)
+ Switch (arg0) {
+ Case (0) {Store(0x12345678, ^re10)}
+ Case (1) {Store(0x12345678, ^re11)}
+ Case (2) {Store(0x12345678, ^re12)}
+ Case (3) {Store(0x12345678, ^re13)}
+ }
+
+ Store(idx1, Local0)
+ Store(dta1, Local1)
+
+ Multiply(arg0, 2, Local2)
+ if (LNotEqual(Local0, arg1)) {
+ err(ts, z179, Add(0x130, Local2), 0, 0, Local0, arg1)
+ }
+ if (LNotEqual(Local1, arg2)) {
+ err(ts, z179, Add(0x131, Local2), 0, 0, Local1, arg2)
+ }
+ }
+
+ OUTP("Check IndexField AnyAcc 0x12345678 write Offset (1)8-(4)8-(9)8-(12)8")
+
+ TRY0(0, 1, 0x78)
+ TRY0(1, 4, 0x78)
+ TRY0(2, 9, 0x78)
+ TRY0(3, 12, 0x78)
+ }
+
+ CH03(ts, z179, 0x0ea, 0, 0)
+ switch (arg0) {
+ case (0) {
+ ifd8()
+ ifd9()
+ ifda()
+ ifdb()
+ }
+ case (9) { ifd8() }
+ case (10) { ifd9() }
+ case (11) { ifda() }
+ case (12) { ifdb() }
+ }
+ CH03(ts, z179, 0x0eb, 0, 0)
+}
+
+Method(mv27, 1)
+{
+ Name(ts, "mv27")
+
+ OperationRegion(OPR0, SystemMemory, VMEM, 256)
+
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ tot0, 32,
+ tot1, 32,
+ }
+
+ Method(ifdc)
+ {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ idx0, 16,
+ dta0, 16,
+ }
+ IndexField(idx0, dta0, WordAcc, NoLock, WriteAsZeros) {
+ idf0, 8,
+ Offset(3),
+ idf1, 8,
+ Offset(6),
+ idf2, 8,
+ Offset(11),
+ idf3, 8,
+ }
+
+ Method(TRY0, 4)
+ {
+ Store(idx0, Local0)
+ Store(dta0, Local1)
+
+ Multiply(arg0, 2, Local2)
+ if (LNotEqual(Local0, arg1)) {
+ err(ts, z179, Add(0x138, Local2), 0, 0, Local0, arg1)
+ }
+ if (LNotEqual(Local1, arg2)) {
+ err(ts, z179, Add(0x139, Local2), 0, 0, Local1, arg2)
+ }
+ }
+
+ OUTP("Check IndexField WordAcc read")
+
+ Store(0x1234ffff, tot0)
+ TRY0(0, 0, 0x1234, idf0)
+
+ Store(0x5678ffff, tot0)
+ TRY0(2, 2, 0x5678, idf1)
+
+ Store(0x9abcffff, tot0)
+ TRY0(3, 6, 0x9abc, idf2)
+
+ Store(0xde01ffff, tot0)
+ TRY0(4, 10, 0xde01, idf3)
+ }
+
+ Method(TRY4, 5)
+ {
+ Method(TRY0, 3)
+ {
+ Store(arg0, tot0)
+ Store(Derefof(arg1), Local0)
+ Store(tot0, Local1)
+ Store(DeRefof(Index(arg2, 0)), Local2)
+ Store(DeRefof(Index(arg2, 1)), Local3)
+ Store(DeRefof(Index(arg2, 2)), Local4)
+
+ Add(0x140, Multiply(Local2, 2), Local2)
+ if (LNotEqual(Local0, Local3)) {
+ err(ts, z179, Local2, 0, 0, Local0, Local3)
+ }
+ if (LNotEqual(Local1, Local4)) {
+ err(ts, z179, Add(Local2, 1), 0, 0, Local1, Local4)
+ }
+ }
+
+ Store(DeRefof(Index(arg0, 0)), Local0)
+ TRY0(Local0, arg1, DeRefof(Index(arg0, 1)))
+ TRY0(Local0, arg2, DeRefof(Index(arg0, 2)))
+ TRY0(Local0, arg3, DeRefof(Index(arg0, 3)))
+ TRY0(Local0, arg4, DeRefof(Index(arg0, 4)))
+ }
+
+ Method(ifdd)
+ {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ idx1, 8,
+ dta1, 8,
+ }
+
+ IndexField(idx1, dta1, ByteAcc, NoLock, Preserve) {
+ , 4,
+ re10, 1,
+ re11, 1,
+ re12, 3,
+ re13, 3,
+ }
+
+ OUTP("Check IndexField implementation ByteAcc 4,1-1-3-3")
+
+ Store(Package(){0xa5a5a5a5,
+ Package(){0, 0x0, 0xa5a5a500},
+ Package(){1, 0x1, 0xa5a5a500},
+ Package(){2, 0x6, 0xa5a5a501},
+ Package(){3, 0x2, 0xa5a5a501},},
+ Local0)
+
+ if (LAnd(ABUU, LNot(q00a))) {
+ Store(0x96, Index(DeRefof(Index(Local0, 3)), 1))
+ }
+
+ TRY4(Local0, Refof(re10), Refof(re11), Refof(re12), Refof(re13))
+
+
+ Store(Package(){0x5a5a5a5a,
+ Package(){4, 0x1, 0x5a5a5a00},
+ Package(){5, 0x0, 0x5a5a5a00},
+ Package(){6, 0x1, 0x5a5a5a01},
+ Package(){7, 0x5, 0x5a5a5a01},},
+ Local0)
+
+ if (LAnd(ABUU, LNot(q00a))) {
+ Store(0x169, Index(DeRefof(Index(Local0, 3)), 1))
+ }
+
+ TRY4(Local0, Refof(re10), Refof(re11), Refof(re12), Refof(re13))
+ }
+
+ Method(ifde)
+ {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ idx1, 16,
+ dta1, 16,
+ }
+
+ IndexField(idx1, dta1, WordAcc, NoLock, Preserve) {
+ , 4,
+ re10, 1,
+ re11, 1,
+ re12, 3,
+ re13, 3,
+ }
+
+ OUTP("Check IndexField implementation WordAcc 4,1-1-3-3")
+
+ Store(Package(){0xa5a5a5a5,
+ Package(){8, 0x0, 0xa5a50000},
+ Package(){9, 0x1, 0xa5a50000},
+ Package(){10, 0x6, 0xa5a50000},
+ Package(){11, 0x2, 0xa5a50000},},
+ Local0)
+ TRY4(Local0, Refof(re10), Refof(re11), Refof(re12), Refof(re13))
+
+
+ Store(Package(){0x5a5a5a5a,
+ Package(){12, 0x1, 0x5a5a0000},
+ Package(){13, 0x0, 0x5a5a0000},
+ Package(){14, 0x1, 0x5a5a0000},
+ Package(){15, 0x5, 0x5a5a0000},},
+ Local0)
+ TRY4(Local0, Refof(re10), Refof(re11), Refof(re12), Refof(re13))
+ }
+
+ Method(ifdf)
+ {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ idx1, 8,
+ dta1, 8,
+ }
+
+ IndexField(idx1, dta1, ByteAcc, NoLock, Preserve) {
+ , 7,
+ re10, 1,
+ re11, 1,
+ Offset(2),
+ re12, 4,
+ re13, 4,
+ }
+
+ OUTP("Check IndexField implementation ByteAcc 7,1-1,O2,4-4")
+
+ Store(Package(){0xa5a5a5a5,
+ Package(){16, 0x1, 0xa5a5a500},
+ Package(){17, 0x1, 0xa5a5a501},
+ Package(){18, 0x5, 0xa5a5a502},
+ Package(){19, 0xa, 0xa5a5a502},},
+ Local0)
+ TRY4(Local0, Refof(re10), Refof(re11), Refof(re12), Refof(re13))
+
+
+ Store(Package(){0x5a5a5a5a,
+ Package(){20, 0x0, 0x5a5a5a00},
+ Package(){21, 0x0, 0x5a5a5a01},
+ Package(){22, 0xa, 0x5a5a5a02},
+ Package(){23, 0x5, 0x5a5a5a02},},
+ Local0)
+ TRY4(Local0, Refof(re10), Refof(re11), Refof(re12), Refof(re13))
+ }
+
+ CH03(ts, z179, 0x0ec, 0, 0)
+ switch (arg0) {
+ case (0) {
+ ifdc()
+ ifdd()
+ ifde()
+ ifdf()
+ }
+ case (13) { ifdc() }
+ case (14) { ifdd() }
+ case (15) { ifde() }
+ case (16) { ifdf() }
+ }
+ CH03(ts, z179, 0x0ed, 0, 0)
+}
+
+Method(mw27, 1)
+{
+ Name(ts, "mw27")
+
+ OperationRegion(OPR0, SystemMemory, VMEM, 256)
+
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ tot0, 32,
+ tot1, 32,
+ }
+
+ Method(ife0)
+ {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ idx0, 16,
+ dta0, 16,
+ }
+ IndexField(idx0, dta0, ByteAcc, NoLock, WriteAsZeros) {
+ idf0, 1, , 6, idf1, 1,
+ idf2, 1, , 6, idf3, 1,
+ idf4, 1, , 6, idf5, 1,
+ idf6, 1, , 6, idf7, 1,
+ }
+ Method(m000, 5)
+ {
+ Store(arg0, tot0)
+ Store(Derefof(arg1), Local0)
+ Store(tot0, Local1)
+
+ if (LNotEqual(Local0, arg3)) {
+ err(ts, z179, arg2, 0, 0, Local0, arg3)
+ }
+ if (LNotEqual(Local1, arg4)) {
+ err(ts, z179, Add(arg2, 1), 0, 0, Local1, arg4)
+ }
+ }
+
+ OUTP("Check IndexField implementation: ByteAcc2")
+
+ m000(0x0001ffff, Refof(idf0), 0x150, 0x1, 0x00010000)
+ m000(0x0080ffff, Refof(idf1), 0x152, 0x1, 0x00800000)
+ m000(0x0001ffff, Refof(idf2), 0x154, 0x1, 0x00010001)
+ m000(0x0080ffff, Refof(idf3), 0x156, 0x1, 0x00800001)
+ m000(0x0001ffff, Refof(idf4), 0x158, 0x1, 0x00010002)
+ m000(0x0080ffff, Refof(idf5), 0x15a, 0x1, 0x00800002)
+ m000(0x0001ffff, Refof(idf6), 0x15c, 0x1, 0x00010003)
+ m000(0x0080ffff, Refof(idf7), 0x15e, 0x1, 0x00800003)
+ }
+
+ Method(ife1)
+ {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ idx0, 16,
+ dta0, 16,
+ }
+ IndexField(idx0, dta0, ByteAcc, NoLock, WriteAsZeros) {
+ idf0, 1, , 6, idf1, 1,
+ idf2, 1, , 6, idf3, 1,
+ idf4, 1, , 6, idf5, 1,
+ idf6, 1, , 6, idf7, 1,
+ }
+ Method(m000, 5)
+ {
+ Store(arg0, tot0)
+ Store(Derefof(arg1), Local0)
+ Store(tot0, Local1)
+
+ if (LNotEqual(Local0, arg3)) {
+ err(ts, z179, arg2, 0, 0, Local0, arg3)
+ }
+ if (LNotEqual(Local1, arg4)) {
+ err(ts, z179, Add(arg2, 1), 0, 0, Local1, arg4)
+ }
+ }
+
+ OUTP("Check IndexField implementation: WordAccByteAcc")
+
+ m000(0x0001ffff, Refof(idf0), 0x160, 0x1, 0x00010000)
+ m000(0x0080ffff, Refof(idf1), 0x162, 0x1, 0x00800000)
+ m000(0x0001ffff, Refof(idf2), 0x164, 0x1, 0x00010001)
+ m000(0x0080ffff, Refof(idf3), 0x166, 0x1, 0x00800001)
+ m000(0x0001ffff, Refof(idf4), 0x168, 0x1, 0x00010002)
+ m000(0x0080ffff, Refof(idf5), 0x16a, 0x1, 0x00800002)
+ m000(0x0001ffff, Refof(idf6), 0x16c, 0x1, 0x00010003)
+ m000(0x0080ffff, Refof(idf7), 0x16e, 0x1, 0x00800003)
+ }
+
+ Method(ife2)
+ {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ idx0, 16,
+ dta0, 16,
+ }
+ IndexField(idx0, dta0, WordAcc, NoLock, WriteAsZeros) {
+ idf0, 1, , 6, idf1, 1,
+ idf2, 1, , 6, idf3, 1,
+ idf4, 1, , 6, idf5, 1,
+ idf6, 1, , 6, idf7, 1,
+ }
+ Method(m000, 5)
+ {
+ Store(arg0, tot0)
+ Store(Derefof(arg1), Local0)
+ Store(tot0, Local1)
+
+ if (LNotEqual(Local0, arg3)) {
+ err(ts, z179, arg2, 0, 0, Local0, arg3)
+ }
+ if (LNotEqual(Local1, arg4)) {
+ err(ts, z179, Add(arg2, 1), 0, 0, Local1, arg4)
+ }
+ }
+
+ OUTP("Check IndexField implementation: ByteAccWordAcc")
+
+ m000(0x0001ffff, Refof(idf0), 0x170, 0x1, 0x00010000)
+ m000(0x0080ffff, Refof(idf1), 0x172, 0x1, 0x00800000)
+ m000(0x0001ffff, Refof(idf2), 0x174, 0x0, 0x00010000)
+ m000(0x0080ffff, Refof(idf3), 0x176, 0x0, 0x00800000)
+ m000(0x0001ffff, Refof(idf4), 0x178, 0x1, 0x00010002)
+ m000(0x0080ffff, Refof(idf5), 0x17a, 0x1, 0x00800002)
+ m000(0x0001ffff, Refof(idf6), 0x17c, 0x0, 0x00010002)
+ m000(0x0080ffff, Refof(idf7), 0x17e, 0x0, 0x00800002)
+ }
+
+ Method(ife3)
+ {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ idx0, 16,
+ dta0, 16,
+ }
+ IndexField(idx0, dta0, WordAcc, NoLock, WriteAsZeros) {
+ idf0, 1, , 6, idf1, 1,
+ idf2, 1, , 6, idf3, 1,
+ idf4, 1, , 6, idf5, 1,
+ idf6, 1, , 6, idf7, 1,
+ }
+ Method(m000, 5)
+ {
+ Store(arg0, tot0)
+ Store(Derefof(arg1), Local0)
+ Store(tot0, Local1)
+
+ if (LNotEqual(Local0, arg3)) {
+ err(ts, z179, arg2, 0, 0, Local0, arg3)
+ }
+ if (LNotEqual(Local1, arg4)) {
+ err(ts, z179, Add(arg2, 1), 0, 0, Local1, arg4)
+ }
+ }
+
+ OUTP("Check IndexField implementation: WordAcc2")
+
+ m000(0x0001ffff, Refof(idf0), 0x180, 0x1, 0x00010000)
+ m000(0x0080ffff, Refof(idf1), 0x182, 0x1, 0x00800000)
+ m000(0x0001ffff, Refof(idf2), 0x184, 0x0, 0x00010000)
+ m000(0x0080ffff, Refof(idf3), 0x186, 0x0, 0x00800000)
+ m000(0x0001ffff, Refof(idf4), 0x188, 0x1, 0x00010002)
+ m000(0x0080ffff, Refof(idf5), 0x18a, 0x1, 0x00800002)
+ m000(0x0001ffff, Refof(idf6), 0x18c, 0x0, 0x00010002)
+ m000(0x0080ffff, Refof(idf7), 0x18e, 0x0, 0x00800002)
+ }
+
+
+ CH03(ts, z179, 0x0ee, 0, 0)
+ switch (arg0) {
+ case (0) {
+ ife0()
+ ife1()
+ ife2()
+ ife3()
+ }
+ case (17) { ife0() }
+ case (18) { ife1() }
+ case (19) { ife2() }
+ case (20) { ife3() }
+ }
+ CH03(ts, z179, 0x0ef, 0, 0)
+}
+
+Method(mx27, 1)
+{
+ Name(ts, "mx27")
+
+ OperationRegion(OPR0, SystemMemory, VMEM, 256)
+
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ tot0, 32,
+ tot1, 32,
+ }
+
+ Method(ife4)
+ {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ idx0, 16,
+ dta0, 4,
+ }
+ IndexField(idx0, dta0, ByteAcc, NoLock, WriteAsZeros) {
+ idf0, 1, , 6, idf1, 1,
+ idf2, 1, , 6, idf3, 1,
+ idf4, 1, , 6, idf5, 1,
+ idf6, 1, , 6, idf7, 1,
+ }
+ Method(m000, 5)
+ {
+ Store(arg0, tot0)
+ Store(Derefof(arg1), Local0)
+ Store(tot0, Local1)
+
+ if (LNotEqual(Local0, arg3)) {
+ err(ts, z179, arg2, 0, 0, Local0, arg3)
+ }
+ if (LNotEqual(Local1, arg4)) {
+ err(ts, z179, Add(arg2, 1), 0, 0, Local1, arg4)
+ }
+ }
+
+ OUTP("Check IndexField implementation: ByteAcc2, dta0:4")
+
+ m000(0x0001ffff, Refof(idf0), 0x190, 0x1, 0x00010000)
+ m000(0xffffffff, Refof(idf1), 0x192, 0x0, 0xffff0000)
+ m000(0x0001ffff, Refof(idf2), 0x194, 0x1, 0x00010001)
+ m000(0xffffffff, Refof(idf3), 0x196, 0x0, 0xffff0001)
+ m000(0x0001ffff, Refof(idf4), 0x198, 0x1, 0x00010002)
+ m000(0xffffffff, Refof(idf5), 0x19a, 0x0, 0xffff0002)
+ m000(0x0001ffff, Refof(idf6), 0x19c, 0x1, 0x00010003)
+ m000(0xffffffff, Refof(idf7), 0x19e, 0x0, 0xffff0003)
+ }
+
+ Method(ife5)
+ {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ idx0, 8,
+ dta0, 8,
+ }
+ IndexField(idx0, dta0, WordAcc, NoLock, WriteAsZeros) {
+ idf0, 1, , 6, idf1, 1,
+ idf2, 1, , 6, idf3, 1,
+ idf4, 1, , 6, idf5, 1,
+ idf6, 1, , 6, idf7, 1,
+ }
+ Method(m000, 5)
+ {
+ Store(arg0, tot0)
+ Store(Derefof(arg1), Local0)
+ Store(tot0, Local1)
+
+ if (LNotEqual(Local0, arg3)) {
+ err(ts, z179, arg2, 0, 0, Local0, arg3)
+ }
+ if (LNotEqual(Local1, arg4)) {
+ err(ts, z179, Add(arg2, 1), 0, 0, Local1, arg4)
+ }
+ }
+
+ OUTP("Check IndexField implementation: ByteAccWordAcc, idx0, 8, dta0, 8")
+
+ m000(0x000001ff, Refof(idf0), 0x1a0, 0x1, 0x00000100)
+ m000(0x000080ff, Refof(idf1), 0x1a2, 0x1, 0x00008000)
+ m000(0xffffffff, Refof(idf2), 0x1a4, 0x0, 0xffffff00)
+ m000(0xffffffff, Refof(idf3), 0x1a6, 0x0, 0xffffff00)
+ m000(0x000001ff, Refof(idf4), 0x1a8, 0x1, 0x00000102)
+ m000(0x000080ff, Refof(idf5), 0x1aa, 0x1, 0x00008002)
+ m000(0xffffffff, Refof(idf6), 0x1ac, 0x0, 0xffffff02)
+ m000(0xffffffff, Refof(idf7), 0x1ae, 0x0, 0xffffff02)
+ }
+
+ Method(ife6)
+ {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ idx0, 32,
+ dta0, 32,
+ }
+ IndexField(idx0, dta0, WordAcc, NoLock, WriteAsZeros) {
+ idf0, 1, , 6, idf1, 1,
+ idf2, 1, , 6, idf3, 1,
+ idf4, 1, , 6, idf5, 1,
+ idf6, 1, , 6, idf7, 1,
+ }
+ Method(m000, 6)
+ {
+ Store(0xffffffff, tot0)
+ Store(arg0, tot1)
+ Store(Derefof(arg1), Local0)
+ Store(tot1, Local1)
+ Store(tot0, Local2)
+
+ if (LNotEqual(Local0, arg3)) {
+ err(ts, z179, arg2, 0, 0, Local0, arg3)
+ }
+ if (LNotEqual(Local1, arg4)) {
+ err(ts, z179, Add(arg2, 1), 0, 0, Local1, arg4)
+ }
+ if (LNotEqual(Local2, arg5)) {
+ err(ts, z179, Add(arg2, 2), 0, 0, Local2, arg5)
+ }
+ }
+
+ OUTP("Check IndexField implementation: ByteAccWordAcc, idx0, 32, dta0, 32")
+
+ m000(0x00000001, Refof(idf0), 0x1b0, 0x1, 0x00000001, 0)
+ m000(0x00000080, Refof(idf1), 0x1b3, 0x1, 0x00000080, 0)
+ m000(0x00000100, Refof(idf2), 0x1b6, 0x1, 0x00000100, 0)
+ m000(0x00008000, Refof(idf3), 0x1b9, 0x1, 0x00008000, 0)
+ m000(0x00000001, Refof(idf4), 0x1bc, 0x1, 0x00000001, 2)
+ m000(0x00000080, Refof(idf5), 0x1bf, 0x1, 0x00000080, 2)
+ m000(0x00000100, Refof(idf6), 0x1c2, 0x1, 0x00000100, 2)
+ m000(0x00008000, Refof(idf7), 0x1c5, 0x1, 0x00008000, 2)
+ }
+
+ Method(ife7)
+ {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ idx0, 32,
+ dta0, 32,
+ }
+ IndexField(idx0, dta0, WordAcc, NoLock, WriteAsZeros) {
+ idf0, 1, , 6, idf1, 1,
+ idf2, 1, , 6, idf3, 1,
+ idf4, 1, , 6, idf5, 1,
+ idf6, 1, , 6, idf7, 1,
+ }
+ Method(m000, 6)
+ {
+ Store(0xffffffff, tot0)
+ Store(arg0, tot1)
+ Store(Derefof(arg1), Local0)
+ Store(tot1, Local1)
+ Store(tot0, Local2)
+
+ if (LNotEqual(Local0, arg3)) {
+ err(ts, z179, arg2, 0, 0, Local0, arg3)
+ }
+ if (LNotEqual(Local1, arg4)) {
+ err(ts, z179, Add(arg2, 1), 0, 0, Local1, arg4)
+ }
+ if (LNotEqual(Local2, arg5)) {
+ err(ts, z179, Add(arg2, 2), 0, 0, Local2, arg5)
+ }
+ }
+
+ OUTP("Check IndexField implementation: DWordAccWordAcc, idx0, 32, dta0, 32")
+
+ m000(0x00000001, Refof(idf0), 0x1f0, 0x1, 0x00000001, 0)
+ m000(0x00000080, Refof(idf1), 0x1f3, 0x1, 0x00000080, 0)
+ m000(0x00000100, Refof(idf2), 0x1f6, 0x1, 0x00000100, 0)
+ m000(0x00008000, Refof(idf3), 0x1f9, 0x1, 0x00008000, 0)
+ m000(0x00000001, Refof(idf4), 0x1fc, 0x1, 0x00000001, 2)
+ m000(0x00000080, Refof(idf5), 0x1ff, 0x1, 0x00000080, 2)
+ m000(0x00000100, Refof(idf6), 0x202, 0x1, 0x00000100, 2)
+ m000(0x00008000, Refof(idf7), 0x215, 0x1, 0x00008000, 2)
+ }
+
+ CH03(ts, z179, 0x1c8, 0, 0)
+ switch (arg0) {
+ case (0) {
+ ife4()
+ ife5()
+ ife6()
+ ife7()
+ }
+ case (21) { ife4() }
+ case (22) { ife5() }
+ case (23) { ife6() }
+ case (24) { ife7() }
+ }
+ CH03(ts, z179, 0x1c9, 0, 0)
+}
+
+Method(my27, 1)
+{
+ Name(ts, "my27")
+
+ OperationRegion(OPR0, SystemMemory, VMEM, 256)
+
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ tot0, 32,
+ tot1, 32,
+ }
+
+ Method(ife8)
+ {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ idx0, 32,
+ dta0, 32,
+ }
+ IndexField(idx0, dta0, DWordAcc, NoLock, WriteAsZeros) {
+ idf0, 1, , 14, idf1, 1,
+ idf2, 1, , 14, idf3, 1,
+ idf4, 1, , 14, idf5, 1,
+ idf6, 1, , 14, idf7, 1,
+ }
+ Method(m000, 6)
+ {
+ Store(0xffffffff, tot0)
+ Store(arg0, tot1)
+ Store(Derefof(arg1), Local0)
+ Store(tot1, Local1)
+ Store(tot0, Local2)
+
+ if (LNotEqual(Local0, arg3)) {
+ err(ts, z179, arg2, 0, 0, Local0, arg3)
+ }
+ if (LNotEqual(Local1, arg4)) {
+ err(ts, z179, Add(arg2, 1), 0, 0, Local1, arg4)
+ }
+ if (LNotEqual(Local2, arg5)) {
+ err(ts, z179, Add(arg2, 2), 0, 0, Local2, arg5)
+ }
+ }
+
+ OUTP("Check IndexField implementation: ByteAccDWordAcc, idx0, 32, dta0, 32")
+
+ m000(0x00000001, Refof(idf0), 0x200, 0x1, 0x00000001, 0)
+ m000(0x00008000, Refof(idf1), 0x203, 0x1, 0x00008000, 0)
+ m000(0x00010000, Refof(idf2), 0x206, 0x1, 0x00010000, 0)
+ m000(0x80000000, Refof(idf3), 0x209, 0x1, 0x80000000, 0)
+ m000(0x00000001, Refof(idf4), 0x20c, 0x1, 0x00000001, 4)
+ m000(0x00008000, Refof(idf5), 0x20f, 0x1, 0x00008000, 4)
+ m000(0x00010000, Refof(idf6), 0x212, 0x1, 0x00010000, 4)
+ m000(0x80000000, Refof(idf7), 0x215, 0x1, 0x80000000, 4)
+ }
+
+ Method(ife9)
+ {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ idx0, 32,
+ dta0, 32,
+ }
+ IndexField(idx0, dta0, QWordAcc, NoLock, WriteAsZeros) {
+ idf0, 1, , 14, idf1, 1,
+ idf2, 1, , 14, idf3, 1,
+ idf4, 1, , 14, idf5, 1,
+ idf6, 1, , 14, idf7, 1,
+ }
+ Method(m000, 6)
+ {
+ Store(0xffffffff, tot0)
+ Store(arg0, tot1)
+ Store(Derefof(arg1), Local0)
+ Store(tot1, Local1)
+ Store(tot0, Local2)
+
+ if (LNotEqual(Local0, arg3)) {
+ err(ts, z179, arg2, 0, 0, Local0, arg3)
+ }
+ if (LNotEqual(Local1, arg4)) {
+ err(ts, z179, Add(arg2, 1), 0, 0, Local1, arg4)
+ }
+ if (LNotEqual(Local2, arg5)) {
+ err(ts, z179, Add(arg2, 2), 0, 0, Local2, arg5)
+ }
+ }
+
+ OUTP("Check IndexField implementation: ByteAccQWordAcc, idx0, 32, dta0, 32")
+
+ m000(0x00000001, Refof(idf0), 0x220, 0x1, 0x00000001, 0)
+ m000(0x00008000, Refof(idf1), 0x223, 0x1, 0x00008000, 0)
+ m000(0x00010000, Refof(idf2), 0x226, 0x1, 0x00010000, 0)
+ m000(0x80000000, Refof(idf3), 0x229, 0x1, 0x80000000, 0)
+ m000(0xffffffff, Refof(idf4), 0x22c, 0x0, 0xffffffff, 0)
+ m000(0xffffffff, Refof(idf5), 0x22f, 0x0, 0xffffffff, 0)
+ m000(0xffffffff, Refof(idf6), 0x232, 0x0, 0xffffffff, 0)
+ m000(0xffffffff, Refof(idf7), 0x235, 0x0, 0xffffffff, 0)
+ }
+
+ Method(ifea)
+ {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ idx0, 16,
+ dta0, 16,
+ }
+ IndexField(idx0, dta0, ByteAcc, NoLock, WriteAsZeros) {
+ idf0, 1, , 6, idf1, 1,
+ idf2, 1, , 6, idf3, 1,
+ idf4, 1, , 6, idf5, 1,
+ idf6, 1, , 6, idf7, 1,
+ }
+ Method(m000, 4)
+ {
+ Store(arg0, tot0)
+ Switch(arg1) {
+ case (0) {Store(1, idf0)}
+ case (1) {Store(1, idf1)}
+ case (2) {Store(1, idf2)}
+ case (3) {Store(1, idf3)}
+ case (4) {Store(1, idf4)}
+ case (5) {Store(1, idf5)}
+ case (6) {Store(1, idf6)}
+ case (7) {Store(1, idf7)}
+ }
+ Store(tot0, Local0)
+
+ if (LNotEqual(Local0, arg3)) {
+ err(ts, z179, arg2, 0, 0, Local0, arg3)
+ }
+ }
+
+ OUTP("Check IndexField implementation: ByteAcc2, Store")
+
+ m000(0xffffffff, 0, 0x240, 0x00010000)
+ m000(0xffffffff, 1, 0x241, 0x00800000)
+ m000(0xffffffff, 2, 0x242, 0x00010001)
+ m000(0xffffffff, 3, 0x243, 0x00800001)
+ m000(0xffffffff, 4, 0x244, 0x00010002)
+ m000(0xffffffff, 5, 0x245, 0x00800002)
+ m000(0xffffffff, 6, 0x246, 0x00010003)
+ m000(0xffffffff, 7, 0x247, 0x00800003)
+ }
+
+ Method(ifeb)
+ {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ idx0, 16,
+ dta0, 16,
+ }
+ IndexField(idx0, dta0, WordAcc, NoLock, WriteAsZeros) {
+ idf0, 1, , 6, idf1, 1,
+ idf2, 1, , 6, idf3, 1,
+ idf4, 1, , 6, idf5, 1,
+ idf6, 1, , 6, idf7, 1,
+ }
+ Method(m000, 4)
+ {
+ Store(arg0, tot0)
+ Switch(arg1) {
+ case (0) {Store(1, idf0)}
+ case (1) {Store(1, idf1)}
+ case (2) {Store(1, idf2)}
+ case (3) {Store(1, idf3)}
+ case (4) {Store(1, idf4)}
+ case (5) {Store(1, idf5)}
+ case (6) {Store(1, idf6)}
+ case (7) {Store(1, idf7)}
+ }
+ Store(tot0, Local0)
+
+ if (LNotEqual(Local0, arg3)) {
+ err(ts, z179, arg2, 0, 0, Local0, arg3)
+ }
+ }
+
+ OUTP("Check IndexField implementation: ByteAccWordAcc, Store")
+
+ m000(0xffffffff, 0, 0x248, 0x00010000)
+ m000(0xffffffff, 1, 0x249, 0x00800000)
+ m000(0xffffffff, 2, 0x24a, 0x01000000)
+ m000(0xffffffff, 3, 0x24b, 0x80000000)
+ m000(0xffffffff, 4, 0x24c, 0x00010002)
+ m000(0xffffffff, 5, 0x24d, 0x00800002)
+ m000(0xffffffff, 6, 0x24e, 0x01000002)
+ m000(0xffffffff, 7, 0x24f, 0x80000002)
+ }
+
+ CH03(ts, z179, 0x1ca, 0, 0)
+ switch (arg0) {
+ case (0) {
+ ife8()
+
+ if (ABUU) {
+ } else {
+ ife9()
+ }
+
+ if (ABUU) {
+ } else {
+ ifea()
+ }
+
+ if (ABUU) {
+ } else {
+ ifeb()
+ }
+ }
+ case (25) { ife8() }
+ case (26) { ife9() }
+ case (27) { ifea() }
+ case (28) { ifeb() }
+ }
+ CH03(ts, z179, 0x1cb, 0, 0)
+}
+
+Method(mz27, 1)
+{
+ Name(ts, "mz27")
+
+ OperationRegion(OPR0, SystemMemory, VMEM, 256)
+
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ tot0, 32,
+ tot1, 32,
+ }
+
+ Method(ifec)
+ {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ idx0, 32,
+ dta0, 32,
+ }
+ IndexField(idx0, dta0, DWordAcc, NoLock, WriteAsZeros) {
+ idf0, 1, , 14, idf1, 1,
+ idf2, 1, , 14, idf3, 1,
+ idf4, 1, , 14, idf5, 1,
+ idf6, 1, , 14, idf7, 1,
+ }
+ Method(m000, 5)
+ {
+ Store(0xffffffff, tot0)
+ Store(arg0, tot1)
+ Switch(arg1) {
+ case (0) {Store(1, idf0)}
+ case (1) {Store(1, idf1)}
+ case (2) {Store(1, idf2)}
+ case (3) {Store(1, idf3)}
+ case (4) {Store(1, idf4)}
+ case (5) {Store(1, idf5)}
+ case (6) {Store(1, idf6)}
+ case (7) {Store(1, idf7)}
+ }
+ Store(tot1, Local0)
+ Store(tot0, Local1)
+
+ if (LNotEqual(Local0, arg3)) {
+ err(ts, z179, arg2, 0, 0, Local0, arg3)
+ }
+ if (LNotEqual(Local1, arg4)) {
+ err(ts, z179, Add(arg2, 1), 0, 0, Local1, arg4)
+ }
+ }
+
+ OUTP("Check IndexField implementation: ByteAccDWordAcc, Store")
+
+ m000(0xffffffff, 0, 0x250, 0x00000001, 0)
+ m000(0xffffffff, 1, 0x252, 0x00008000, 0)
+ m000(0xffffffff, 2, 0x254, 0x00010000, 0)
+ m000(0xffffffff, 3, 0x256, 0x80000000, 0)
+ m000(0xffffffff, 4, 0x258, 0x00000001, 4)
+ m000(0xffffffff, 5, 0x25a, 0x00008000, 4)
+ m000(0xffffffff, 6, 0x25c, 0x00010000, 4)
+ m000(0xffffffff, 7, 0x25e, 0x80000000, 4)
+ }
+
+ Method(ifed)
+ {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ idx0, 8,
+ dta0, 24,
+ }
+ IndexField(idx0, dta0, ByteAcc, NoLock, WriteAsZeros) {
+ , 15,
+ idf0, 1
+ }
+
+ OUTP("Check IndexField implementation: dta wider than idf Access width")
+
+ Store(0x3FF, idf0)
+
+ Store(tot0, Local0)
+ if (LNotEqual(Local0, 0x8001)) {
+ err(ts, z179, 0x260, 0, 0, Local0, 0x8001)
+ }
+ }
+
+ Method(ifee)
+ {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ idx0, 8,
+ dta0, 24,
+ }
+ IndexField(idx0, dta0, ByteAcc, NoLock, WriteAsZeros) {
+ , 7,
+ idf0, 1
+ }
+
+ OUTP("Check IndexField implementation: dta wider than idf Access width 2")
+
+ Store(0xFF, idf0)
+
+ Store(tot0, Local0)
+ if (LNotEqual(Local0, 0x8000)) {
+ err(ts, z179, 0x261, 0, 0, Local0, 0x8000)
+ }
+ }
+
+ Method(ifef)
+ {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ idx1, 8,
+ dta1, 8,
+ }
+
+ IndexField(idx1, dta1, ByteAcc, NoLock, WriteAsZeros) {
+ , 2,
+ re10, 6,
+ , 3,
+ re11, 5,
+ , 4,
+ re12, 4,
+ , 5,
+ re13, 3,
+ }
+
+ Method(TRY0, 3)
+ {
+ Store(Zero, tot0)
+ Switch (arg0) {
+ Case (0) {Store(Ones, ^re10)}
+ Case (1) {Store(Ones, ^re11)}
+ Case (2) {Store(Ones, ^re12)}
+ Case (3) {Store(Ones, ^re13)}
+ }
+
+ Store(idx1, Local0)
+ Store(dta1, Local1)
+
+ Multiply(arg0, 2, Local2)
+ if (LNotEqual(Local0, arg1)) {
+ err(ts, z179, Add(0x262, Local2), 0, 0, Local0, arg1)
+ }
+ if (LNotEqual(Local1, arg2)) {
+ err(ts, z179, Add(0x263, Local2), 0, 0, Local1, arg2)
+ }
+ }
+
+ OUTP("Check IndexField ByteAcc Ones write (:2)6-(:3)5-(:4)4-(:5)3")
+
+ TRY0(0, 0, 0xfc)
+ TRY0(1, 1, 0xf8)
+ TRY0(2, 2, 0xf0)
+ TRY0(3, 3, 0xe0)
+ }
+
+ CH03(ts, z179, 0x1cc, 0, 0)
+ switch (arg0) {
+ case (0) {
+ ifec()
+ ifed()
+ ifee()
+ ifef()
+ }
+ case (29) { ifec() }
+ case (30) { ifed() }
+ case (31) { ifee() }
+ case (32) { ifef() }
+ }
+ CH03(ts, z179, 0x1cd, 0, 0)
+}
+
+/* Methods to run manually (for ABBU only) */
+Method(aifd) { IIN0() ms27(1) Return(POUT) }
+Method(bifd) { IIN0() ms27(2) Return(POUT) }
+Method(cifd) { IIN0() ms27(3) Return(POUT) }
+Method(difd) { IIN0() ms27(4) Return(POUT) }
+Method(sifd) { IIN0() ms27(0) Return(POUT) }
+Method(eifd) { IIN0() mt27(5) Return(POUT) }
+Method(fifd) { IIN0() mt27(6) Return(POUT) }
+Method(gifd) { IIN0() mt27(7) Return(POUT) }
+Method(hifd) { IIN0() mt27(8) Return(POUT) }
+Method(tifd) { IIN0() mt27(0) Return(POUT) }
+Method(iifd) { IIN0() mu27(9) Return(POUT) }
+Method(jifd) { IIN0() mu27(10) Return(POUT) }
+Method(kifd) { IIN0() mu27(11) Return(POUT) }
+Method(lifd) { IIN0() mu27(12) Return(POUT) }
+Method(uifd) { IIN0() mu27(0) Return(POUT) }
+Method(mifd) { IIN0() mv27(13) Return(POUT) }
+Method(nifd) { IIN0() mv27(14) Return(POUT) }
+Method(oifd) { IIN0() mv27(15) Return(POUT) }
+Method(pifd) { IIN0() mv27(16) Return(POUT) }
+Method(vifd) { IIN0() mv27(0) Return(POUT) }
+Method(aife) { IIN0() mw27(17) Return(POUT) }
+Method(bife) { IIN0() mw27(18) Return(POUT) }
+Method(cife) { IIN0() mw27(19) Return(POUT) }
+Method(dife) { IIN0() mw27(20) Return(POUT) }
+Method(wife) { IIN0() mw27(0) Return(POUT) }
+Method(eife) { IIN0() mx27(21) Return(POUT) }
+Method(fife) { IIN0() mx27(22) Return(POUT) }
+Method(gife) { IIN0() mx27(23) Return(POUT) }
+Method(hife) { IIN0() mx27(24) Return(POUT) }
+Method(xife) { IIN0() mx27(0) Return(POUT) }
+Method(iife) { IIN0() my27(25) Return(POUT) }
+Method(jife) { IIN0() my27(26) Return(POUT) }
+Method(kife) { IIN0() my27(27) Return(POUT) }
+Method(life) { IIN0() my27(28) Return(POUT) }
+Method(yife) { IIN0() my27(0) Return(POUT) }
+Method(mife) { IIN0() mz27(29) Return(POUT) }
+Method(nife) { IIN0() mz27(30) Return(POUT) }
+Method(oife) { IIN0() mz27(31) Return(POUT) }
+Method(pife) { IIN0() mz27(32) Return(POUT) }
+Method(zife) { IIN0() mz27(0) Return(POUT) }
+
+/*
+ * Hot issue:
+ *
+ * Check BankField implementation
+ */
+Method(ms28)
+{
+ Name(ts, "ms28")
+
+ OperationRegion(OPR0, SystemMemory, 0, 256)
+
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ tot0, 32,
+ tot1, 32,
+ }
+
+ Method(bfd0)
+ {
+ Field (OPR0, ByteAcc, NoLock, Preserve) {
+ bnk0, 8
+ }
+ Field (OPR0, ByteAcc, NoLock, Preserve) {
+ tot0, 80
+ }
+
+ BankField (OPR0, bnk0, 0, ByteAcc, NoLock, Preserve) {
+ Offset(8),
+ bf00, 8,
+ }
+
+ BankField (OPR0, bnk0, 1, ByteAcc, NoLock, Preserve) {
+ Offset(9),
+ bf01, 8,
+ }
+
+ OUTP("Check BankField implementation")
+
+ // Deal with 0-th bank layout:
+
+ Store(0, bnk0)
+ if (LNotEqual(bnk0, 0)) {
+ err(ts, z179, 0x270, 0, 0, bnk0, 0)
+ }
+
+ Store(0x87, bf00)
+ if (LNotEqual(bnk0, 0)) {
+ err(ts, z179, 0x271, 0, 0, bnk0, 0)
+ }
+
+ if (LNotEqual(bf00, 0x87)) {
+ err(ts, z179, 0x272, 0, 0, bf00, 0x87)
+ }
+
+ // Deal with 1-th bank layout:
+
+ Store(1, bnk0)
+ if (LNotEqual(bnk0, 1)) {
+ err(ts, z179, 0x273, 0, 0, bnk0, 1)
+ }
+
+ Store(0x96, bf01)
+
+ if (LNotEqual(bnk0, 1)) {
+ err(ts, z179, 0x274, 0, 0, bnk0, 1)
+ }
+
+ if (LNotEqual(bf01, 0x96)) {
+ err(ts, z179, 0x275, 0, 0, bf01, 0x96)
+ }
+ }
+
+ CH03(ts, z179, 0x276, 0, 0)
+ bfd0()
+ CH03(ts, z179, 0x277, 0, 0)
+}
+
+/* Methods to run manually (for ABBU only) */
+Method(abfd) { IIN0() ms28() Return(POUT) }
+
+Mutex (C152, 0)
+Mutex (C153, 0)
+Mutex (C154, 0)
+Mutex (C155, 0)
+Mutex (C156, 0)
+Mutex (C159, 0)
+
+/*
+ * Hot issue:
+ *
+ * Check Acquire/Release
+ */
+Method(ms29, 1)
+{
+ Name(ts, "ms29")
+
+ Method (C157, 1, NotSerialized)
+ {
+ if (arg0) {
+ Store(Acquire (C154, 0xFFFF), Local0)
+ } else {
+ Store(Acquire (C154, 0), Local0)
+ }
+ Return (Local0)
+ }
+
+ Method (C158, 0, NotSerialized)
+ {
+ Release (C154)
+ }
+
+ Method (C160, 0, NotSerialized)
+ {
+ Release (C152)
+ }
+
+ Method(mut0)
+ {
+ OUTP("Check Release by different ASL Methods")
+ C160()
+ CH04(ts, 0, 0xff, z179, 0x278, 0, 0)
+ }
+
+ Method(mut1)
+ {
+ OUTP("Check Acquire/Release by different ASL Methods")
+
+ OUTP("Acquire")
+ Store(C157(1), Local0)
+
+ if (LNotEqual(Local0, 0)) {
+ err(ts, z179, 0x279, 0, 0, Local0, 0)
+ }
+
+ OUTP("Release")
+ C158()
+ }
+
+ Method(mut2)
+ {
+ OUTP("Check Acquire/Acquire by the different Method's calls")
+
+ OUTP("Acquire 1")
+ Store(C157(1), Local0)
+
+ if (LNotEqual(Local0, 0)) {
+ err(ts, z179, 0x27a, 0, 0, Local0, 0)
+ }
+
+ OUTP("Acquire 2")
+ Store(C157(1), Local0)
+
+ if (LNotEqual(Local0, 0)) {
+ err(ts, z179, 0x27b, 0, 0, Local0, 0)
+ }
+ }
+
+ Method(mut3)
+ {
+ OUTP("Check Acquire/Acquire in one Method")
+
+ OUTP("Acquire 1")
+ Store(Acquire (C155, 0xFFFF), Local0)
+
+ if (LNotEqual(Local0, 0)) {
+ err(ts, z179, 0x27c, 0, 0, Local0, 0)
+ }
+
+ OUTP("Acquire 2")
+ Store(Acquire (C155, 0xFFFF), Local0)
+
+
+ if (LNotEqual(Local0, 0)) {
+ err(ts, z179, 0x27d, 0, 0, Local0, 0)
+ }
+ }
+
+ Method(mut4)
+ {
+ OUTP("Check Acquire/Release/Release by different ASL Methods")
+
+ OUTP("Acquire")
+ Store(C157(1), Local0)
+
+ if (LNotEqual(Local0, 0)) {
+ err(ts, z179, 0x27e, 0, 0, Local0, 0)
+ }
+
+ OUTP("Release 1")
+ C158()
+
+ OUTP("Release 2")
+ C158()
+
+ CH04(ts, 0, 0xff, z179, 0x27f, 0, 0)
+ }
+
+ Method(mut5)
+ {
+ OUTP("Check Acquire(,0xFFFF)/Acquire(,0) in one Method")
+
+ OUTP("Acquire( , 0xFFFF) 1")
+ Store(Acquire (C156, 0xFFFF), Local0)
+
+ if (LNotEqual(Local0, 0)) {
+ err(ts, z179, 0x280, 0, 0, Local0, 0)
+ }
+
+ OUTP("Acquire( , 0) 2")
+ Store(Acquire (C156, 0), Local0)
+
+ if (LNotEqual(Local0, 0)) {
+ err(ts, z179, 0x281, 0, 0, Local0, 0)
+ }
+ }
+
+ Method(mut6)
+ {
+ OUTP("Check Acquire2/Release2 in one Method")
+
+ OUTP("Acquire 1")
+ Store(Acquire (C153, 0xFFFF), Local0)
+
+ if (LNotEqual(Local0, 0)) {
+ err(ts, z179, 0x282, 0, 0, Local0, 0)
+ }
+
+ OUTP("Acquire 2")
+ Store(Acquire (C153, 0xFFFF), Local0)
+
+
+ if (LNotEqual(Local0, 0)) {
+ err(ts, z179, 0x283, 0, 0, Local0, 0)
+ }
+
+ OUTP("Release 1")
+ Release (C153)
+
+ OUTP("Release 2")
+ Release (C153)
+ }
+
+ Method(mut7)
+ {
+ OUTP("Check Acquire2/Release3 in one Method")
+
+ OUTP("Acquire 1")
+ Store(Acquire (C159, 0xFFFF), Local0)
+
+ if (LNotEqual(Local0, 0)) {
+ err(ts, z179, 0x284, 0, 0, Local0, 0)
+ }
+
+ OUTP("Acquire 2")
+ Store(Acquire (C159, 0xFFFF), Local0)
+
+
+ if (LNotEqual(Local0, 0)) {
+ err(ts, z179, 0x285, 0, 0, Local0, 0)
+ }
+
+ OUTP("Release 1")
+ Release (C159)
+
+ OUTP("Release 2")
+ Release (C159)
+
+ OUTP("Release 3")
+ Release (C159)
+ CH04(ts, 0, 0xff, z179, 0x286, 0, 0)
+ }
+
+ Method(mut8)
+ {
+ OUTP("Check Acquire2/Release2 in one Method")
+
+ OUTP("Acquire 1")
+ Store(Acquire (C153, 0xFFFF), Local0)
+
+ if (LNotEqual(Local0, 0)) {
+ err(ts, z179, 0x287, 0, 0, Local0, 0)
+ }
+
+ OUTP("Acquire 2")
+ Store(Acquire (C153, 0xFFFF), Local0)
+
+
+ if (LNotEqual(Local0, 0)) {
+ err(ts, z179, 0x288, 0, 0, Local0, 0)
+ }
+
+ OUTP("Release 1")
+ Release (C153)
+
+ OUTP("Release 2")
+ Release (C153)
+ }
+
+ Method(mut9)
+ {
+ Mutex (C159, 0)
+
+ OUTP("Check Acquire2/Release2 in one Method for dynamic Mutex")
+
+ OUTP("Acquire 1")
+ Store(Acquire (C159, 0xFFFF), Local0)
+
+ if (LNotEqual(Local0, 0)) {
+ err(ts, z179, 0x289, 0, 0, Local0, 0)
+ }
+
+ OUTP("Acquire 2")
+ Store(Acquire (C159, 0xFFFF), Local0)
+
+
+ if (LNotEqual(Local0, 0)) {
+ err(ts, z179, 0x290, 0, 0, Local0, 0)
+ }
+
+ OUTP("Release 1")
+ Release (C159)
+
+ OUTP("Release 2")
+ Release (C159)
+
+ OUTP("Release 3")
+ Release (C159)
+ CH04(ts, 0, 0xff, z179, 0x291, 0, 0)
+ }
+
+ Method(m000)
+ {
+ if (ABUU) {
+ } else {
+ mut0()
+ }
+
+ mut1()
+
+ if (ABUU) {
+ } else {
+ mut3()
+ }
+
+ if (ABUU) {
+ } else {
+ mut4()
+ }
+
+ mut5()
+ mut6()
+
+ if (ABUU) {
+ } else {
+ mut7()
+ }
+
+ mut8()
+
+ if (ABUU) {
+ } else {
+ mut9()
+ }
+ }
+
+ CH03(ts, z179, 0x292, 0, 0)
+ switch (arg0) {
+ case (0) { m000() }
+ case (1) { mut0() }
+ case (2) { mut1() }
+ case (3) { mut2() }
+ case (4) { mut3() }
+ case (5) { mut4() }
+ case (6) { mut5() }
+ case (7) { mut6() }
+ case (8) { mut7() }
+ case (9) { mut8() }
+ case (10) { mut9() }
+ }
+ CH03(ts, z179, 0x293, 0, 0)
+}
+
+/* Methods to run manually (for ABBU only) */
+Method(amut) { IIN0() ms29(1) Return(POUT) }
+Method(bmut) { IIN0() ms29(2) Return(POUT) }
+Method(cmut) { IIN0() ms29(3) Return(POUT) }
+Method(dmut) { IIN0() ms29(4) Return(POUT) }
+Method(emut) { IIN0() ms29(5) Return(POUT) }
+Method(fmut) { IIN0() ms29(6) Return(POUT) }
+Method(gmut) { IIN0() ms29(7) Return(POUT) }
+Method(hmut) { IIN0() ms29(8) Return(POUT) }
+Method(imut) { IIN0() ms29(9) Return(POUT) }
+Method(jmut) { IIN0() ms29(10) Return(POUT) }
+Method(kmut) { IIN0() ms29(0) Return(POUT) }
+
+// LEqual implementation for Buffers to use on MS
+Method(BCMP, 2)
+{
+ if (ABUU) {
+ Store(Sizeof(Arg0), Local0)
+
+ if (LNotEqual(Local0, Sizeof(Arg1))) {
+ return (0)
+ }
+
+ Store(Sizeof(Arg0), Local0)
+
+ while(Local0) {
+ Decrement(Local0)
+ Store(Derefof(Index(Arg0, Local0)), Local1)
+ Store(Derefof(Index(Arg1, Local0)), Local2)
+ if (LNotEqual(Local1, Local2)) {
+ return (0)
+ }
+ }
+ return (1)
+ } else {
+ return (LEqual(arg0, arg1))
+ }
+}
+
+/*
+ * Hot issue:
+ *
+ * Check ToBuffer optional store (Bug 194)
+ */
+Method(ms2a, 1)
+{
+ Name(ts, "ms2a")
+ Name(F64, 0)
+
+ Method(tob0)
+ {
+
+ Method(m000, 1)
+ {
+ Name(b000, Buffer(1){0x3c})
+ Name(b001, Buffer(3){0x01, 0x02, 0x03})
+
+ if (arg0) {
+ OUTP("ToBuffer(b001, b000)")
+ ToBuffer(b001, b000)
+ } else {
+ OUTP("ToBuffer(b000, b001)")
+ ToBuffer(b000, b001)
+ }
+
+ if (LNot(BCMP(b000, b001))) {
+ err(ts, z179, Add(0x294, arg0), 0, 0, b000, b001)
+ }
+ }
+
+ OUTP("Check ToBuffer optional store behaves like CopyObject")
+
+ m000(0)
+ m000(1)
+ }
+
+ Method(tob1)
+ {
+ OUTP("Check ToBuffer(0x456789ab)")
+ Store(ToBuffer(0x456789ab), Local0)
+ if (F64) {
+ Store(Buffer(8){0xab, 0x89, 0x67, 0x45}, Local1)
+ } else {
+ Store(Buffer(4){0xab, 0x89, 0x67, 0x45}, Local1)
+ }
+ if (LNot(BCMP(Local1, Local0))) {
+ err(ts, z179, 0x296, 0, 0, Local0, Local1)
+ }
+ }
+
+ Method(tob2)
+ {
+ OUTP("Check ToBuffer(\"456789ab\")")
+ Store(ToBuffer("456789ab"), Local0)
+ Store(Buffer(){"456789ab"}, Local1)
+ if (LNot(BCMP(Local1, Local0))) {
+ err(ts, z179, 0x297, 0, 0, Local0, Local1)
+ }
+ }
+
+ Method(tob3)
+ {
+ OUTP("Check ToBuffer(Buffer(4){0x45, 0x67, 0x89, 0xab})")
+ Store(ToBuffer(Buffer(4){0x45, 0x67, 0x89, 0xab}), Local0)
+ Store(Buffer(4){0x45, 0x67, 0x89, 0xab}, Local1)
+ if (LNot(BCMP(Local1, Local0))) {
+ err(ts, z179, 0x298, 0, 0, Local0, Local1)
+ }
+ }
+
+ Method(tob4)
+ {
+ OUTP("Check ToBuffer(0x456789ab, Local0)")
+ ToBuffer(0x456789ab, Local0)
+ if (F64) {
+ Store(Buffer(8){0xab, 0x89, 0x67, 0x45}, Local1)
+ } else {
+ Store(Buffer(4){0xab, 0x89, 0x67, 0x45}, Local1)
+ }
+ if (LNot(BCMP(Local1, Local0))) {
+ err(ts, z179, 0x299, 0, 0, Local0, Local1)
+ }
+ }
+
+ Method(tob5)
+ {
+ OUTP("Check ToBuffer(\"456789ab\", Local0)")
+ ToBuffer("456789ab", Local0)
+ Store(Buffer(){"456789ab"}, Local1)
+ if (LNot(BCMP(Local1, Local0))) {
+ err(ts, z179, 0x29a, 0, 0, Local0, Local1)
+ }
+ }
+
+ Method(tob6)
+ {
+ OUTP("Check ToBuffer(Buffer(4){0x45, 0x67, 0x89, 0xab}, Local0)")
+ ToBuffer(Buffer(4){0x45, 0x67, 0x89, 0xab}, Local0)
+ Store(Buffer(4){0x45, 0x67, 0x89, 0xab}, Local1)
+ if (LNot(BCMP(Local1, Local0))) {
+ err(ts, z179, 0x29b, 0, 0, Local0, Local1)
+ }
+ }
+
+ Method(tob7)
+ {
+ Name(i000, 0)
+
+ OUTP("Check ToBuffer(0x456789ab, i000)")
+ ToBuffer(0x456789ab, i000)
+ if (F64) {
+ Store(Buffer(8){0xab, 0x89, 0x67, 0x45}, Local1)
+ } else {
+ Store(Buffer(4){0xab, 0x89, 0x67, 0x45}, Local1)
+ }
+ Store(ObjectType(i000), Local2)
+ if (LNotEqual(Local2, 3)) {
+ err(ts, z179, 0x29c, 0, 0, Local2, 3)
+ } elseif (LNot(BCMP(Local1, i000))) {
+ err(ts, z179, 0x29d, 0, 0, i000, Local1)
+ }
+ }
+
+ Method(tob8)
+ {
+ Name(s000, "s000")
+
+ OUTP("Check ToBuffer(\"456789ab\", s000)")
+ ToBuffer("456789ab", s000)
+ Store(Buffer(){"456789ab"}, Local1)
+ Store(ObjectType(s000), Local2)
+ if (LNotEqual(Local2, 3)) {
+ err(ts, z179, 0x29e, 0, 0, Local2, 3)
+ } elseif (LNot(BCMP(Local1, s000))) {
+ err(ts, z179, 0x29f, 0, 0, s000, Local1)
+ }
+ }
+
+ Method(tob9)
+ {
+ Name(b000, Buffer(2){})
+
+ OUTP("Check ToBuffer(Buffer(4){0x45, 0x67, 0x89, 0xab}, b000)")
+ ToBuffer(Buffer(4){0x45, 0x67, 0x89, 0xab}, b000)
+ Store(Buffer(4){0x45, 0x67, 0x89, 0xab}, Local1)
+ Store(ObjectType(b000), Local2)
+ if (LNotEqual(Local2, 3)) {
+ err(ts, z179, 0x2a0, 0, 0, Local2, 3)
+ } elseif (LNot(BCMP(Local1, b000))) {
+ err(ts, z179, 0x2a1, 0, 0, b000, Local1)
+ }
+ }
+
+ Method(toba)
+ {
+
+ Method(m000, 1)
+ {
+ Name(b000, Buffer(1){0x3c})
+ Name(b001, Buffer(3){0x01, 0x02, 0x03})
+
+ if (arg0) {
+ OUTP("Store(b001, b000)")
+ Store(b001, b000)
+
+ Store(Buffer(1){0x01}, Local0)
+ if (LNot(BCMP(b000, Local0))) {
+ err(ts, z179, Add(0x2a2, arg0), 0, 0, b000, Local0)
+ }
+ } else {
+ OUTP("Store(b000, b001)")
+ Store(b000, b001)
+
+ Store(Buffer(3){0x3c}, Local0)
+ if (LNot(BCMP(b001, Local0))) {
+ err(ts, z179, Add(0x2a2, arg0), 0, 0, b001, Local0)
+ }
+ }
+ }
+
+ OUTP("Check if Store fails the same way as ToBuffer optional store")
+
+ m000(0)
+ m000(1)
+ }
+
+ Method(m000)
+ {
+ if (ABUU) {
+ } else {
+ tob0()
+ tob1()
+ tob2()
+ tob3()
+ tob4()
+ tob5()
+ tob6()
+ tob7()
+ tob8()
+ tob9()
+ }
+
+ toba()
+ }
+
+ if (ABUU) {
+ } elseif (LEqual(SizeOf(F64), 8)) {
+ Store (1, F64)
+ }
+
+ CH03(ts, z179, 0x2a4, 0, 0)
+ switch (arg0) {
+ case (0) { m000() }
+ case (1) { tob0() }
+ case (2) { tob1() }
+ case (3) { tob2() }
+ case (4) { tob3() }
+ case (5) { tob4() }
+ case (6) { tob5() }
+ case (7) { tob6() }
+ case (8) { tob7() }
+ case (9) { tob8() }
+ case (10) { tob9() }
+ case (11) { toba() }
+ }
+ CH03(ts, z179, 0x2a5, 0, 0)
+}
+
+/* Methods to run manually (for ABBU only) */
+Method(atob) { IIN0() ms2a(1) Return(POUT) }
+Method(btob) { IIN0() ms2a(2) Return(POUT) }
+Method(ctob) { IIN0() ms2a(3) Return(POUT) }
+Method(dtob) { IIN0() ms2a(4) Return(POUT) }
+Method(etob) { IIN0() ms2a(5) Return(POUT) }
+Method(ftob) { IIN0() ms2a(6) Return(POUT) }
+Method(gtob) { IIN0() ms2a(7) Return(POUT) }
+Method(htob) { IIN0() ms2a(8) Return(POUT) }
+Method(itob) { IIN0() ms2a(9) Return(POUT) }
+Method(jtob) { IIN0() ms2a(10) Return(POUT) }
+Method(ktob) { IIN0() ms2a(11) Return(POUT) }
+
+/*
+ * Hot issue:
+ *
+ * Check Package size calculation
+ */
+Method(ms2b, 1)
+{
+ Name(ts, "ms2b")
+
+ Method(pac0)
+ {
+ Name(p000, Package(5){1, 2, 3})
+
+ OUTP("Check if Package list < explicit size the last is in use")
+
+ Store(SizeOf(p000), Local0)
+ if (LNotEqual(Local0, 5)) {
+ err(ts, z179, 0x2a6, 0, 0, Local0, 5)
+ }
+ }
+
+ Method(pac1)
+ {
+ Name(p000, Package(5){1, 2, 3})
+
+ OUTP("Check if Package list < explicit size there are undef elements")
+
+ Store(ObjectType(Index(p000, 2)), Local0)
+ if (Local0) {
+ } else {
+ err(ts, z179, 0x2a7, 0, 0, Local0, 1)
+ }
+
+ Store(ObjectType(Index(p000, 3)), Local0)
+ if (Local0) {
+ err(ts, z179, 0x2a8, 0, 0, Local0, 0)
+ }
+ }
+
+ // This test actually should be used with Package(3){1, 2, 3, 4, 5})
+ // declaration, but iASL reports "Initializer list too long" error.
+ // Uncomment, set 'fopt' below to 1 and use it with -f iASL option
+ Method(pac2)
+ {
+ Name(fopt, 0)
+// Name(p000, Package(3){1, 2, 3, 4, 5})
+ Name(p000, Package(3){1, 2, 3})
+
+ OUTP("Check if Package list > explicit size the former is in use")
+
+ if (fopt) {
+ Store(SizeOf(p000), Local0)
+ } else {
+ Store(5, Local0)
+ }
+ if (LNotEqual(Local0, 5)) {
+ err(ts, z179, 0x2a9, 0, 0, Local0, 5)
+ }
+ }
+
+ CH03(ts, z179, 0x2ab, 0, 0)
+ switch (arg0) {
+ case (0) { pac0() pac1() pac2() }
+ case (1) { pac0() }
+ case (2) { pac1() }
+ case (3) { pac2() }
+ }
+ CH03(ts, z179, 0x2ac, 0, 0)
+}
+
+/* Methods to run manually (for ABBU only) */
+Method(apac) { IIN0() ms2b(1) Return(POUT) }
+Method(bpac) { IIN0() ms2b(2) Return(POUT) }
+Method(cpac) { IIN0() ms2b(3) Return(POUT) }
+
+/*
+ * Hot issue:
+ *
+ * Check Switch implementation
+ *
+ * isw0 test should expectedly fail
+ */
+Method(ms2c, 1)
+{
+ Name(ts, "ms2c")
+
+ Method(sw00)
+ {
+ Method(m000, 1)
+ {
+ Store(0, Local1)
+
+ switch (arg0) {
+ case (1) { Store(1, Local1) }
+ case (2) { Store(2, Local1) }
+ }
+
+ return (Local1)
+ }
+
+ OUTP("Check Switch implementation 0: standalone")
+
+ Store(2, Local0)
+ Store(0, Local1)
+
+ switch (Local0) {
+ case (1) { Store(1, Local1) }
+ case (2) { Store(2, Local1) }
+ }
+
+ if (LNotEqual(Local1, 2)) {
+ err(ts, z179, 0x2ad, 0, 0, Local1, 2)
+ }
+
+ Store(m000(1), Local1)
+
+ if (LNotEqual(Local1, 1)) {
+ err(ts, z179, 0x2ae, 0, 0, Local1, 1)
+ }
+ }
+
+ Method(sw01)
+ {
+ OUTP("Check While implementation 1: standalone")
+
+ Store(2, Local0)
+ Store(0, Local1)
+
+ while (Local0) {
+ if (LEqual(Local0, 1)) {
+ Increment(Local1)
+ } else {
+ Increment(Local1)
+ }
+ Decrement(Local0)
+ }
+ if (LNotEqual(Local1, 2)) {
+ err(ts, z179, 0x2af, 0, 0, Local1, 2)
+ }
+ }
+
+ Method(sw02)
+ {
+ OUTP("Check Switch implementation 2: inside While (1 step)")
+
+ Store(1, Local0)
+ Store(0, Local1)
+ Store(0, Local2)
+
+ while (Local0) {
+ switch (Local0) {
+ case (1) { Increment(Local1) }
+ case (2) { Increment(Local2) }
+ }
+ Decrement(Local0)
+ }
+ if (LNotEqual(Local1, 1)) {
+ err(ts, z179, 0x2b0, 0, 0, Local1, 1)
+ }
+ if (LNotEqual(Local2, 0)) {
+ err(ts, z179, 0x2b1, 0, 0, Local2, 0)
+ }
+ }
+
+ Method(sw03)
+ {
+ OUTP("Check Switch implementation 3: inside While (2 steps)")
+
+ Store(2, Local0)
+ Store(0, Local1)
+ Store(0, Local2)
+
+ while (Local0) {
+ switch (Local0) {
+ case (1) { Increment(Local1) }
+ case (2) { Increment(Local2) }
+ }
+ Decrement(Local0)
+ }
+ if (LNotEqual(Local1, 1)) {
+ err(ts, z179, 0x2b2, 0, 0, Local1, 1)
+ }
+ if (LNotEqual(Local2, 1)) {
+ err(ts, z179, 0x2b3, 0, 0, Local2, 1)
+ }
+ }
+
+ Method(sw04)
+ {
+ OUTP("Check Switch implementation 4: inside While 2, 2 Breaks")
+
+ Store(2, Local0)
+ Store(0, Local1)
+ Store(0, Local2)
+
+ while (Local0) {
+ switch (Local0) {
+ case (1) {
+ Increment(Local1)
+ Break
+ }
+ case (2) {
+ Increment(Local2)
+ Break
+ }
+ }
+ Decrement(Local0)
+ }
+ if (LNotEqual(Local0, 2)) {
+ err(ts, z179, 0x2b4, 0, 0, Local0, 2)
+ }
+ if (LNotEqual(Local1, 0)) {
+ err(ts, z179, 0x2b5, 0, 0, Local1, 0)
+ }
+ if (LNotEqual(Local2, 1)) {
+ err(ts, z179, 0x2b6, 0, 0, Local2, 1)
+ }
+ }
+
+ Method(sw05)
+ {
+ OUTP("Check Switch implementation 5: inside While 1, 2 Breaks")
+
+ Store(1, Local0)
+ Store(0, Local1)
+ Store(0, Local2)
+
+ while (Local0) {
+ switch (Local0) {
+ case (1) {
+ Increment(Local1)
+ Break
+ }
+ case (2) {
+ Increment(Local2)
+ Break
+ }
+ }
+ Decrement(Local0)
+ }
+ if (LNotEqual(Local0, 1)) {
+ err(ts, z179, 0x2b7, 0, 0, Local0, 1)
+ }
+ if (LNotEqual(Local1, 1)) {
+ err(ts, z179, 0x2b8, 0, 0, Local1, 1)
+ }
+ if (LNotEqual(Local2, 0)) {
+ err(ts, z179, 0x2b9, 0, 0, Local2, 0)
+ }
+ }
+
+
+ Method(sw06)
+ {
+ OUTP("Check Switch implementation 6: inside While 2, 1 Break")
+
+ Store(2, Local0)
+ Store(0, Local1)
+ Store(0, Local2)
+
+ while (Local0) {
+ switch (Local0) {
+ case (1) {
+ Increment(Local1)
+ }
+ case (2) {
+ Increment(Local2)
+ Break
+ }
+ }
+ Decrement(Local0)
+ }
+ if (LNotEqual(Local0, 2)) {
+ err(ts, z179, 0x2ba, 0, 0, Local0, 2)
+ }
+ if (LNotEqual(Local1, 0)) {
+ err(ts, z179, 0x2bb, 0, 0, Local1, 0)
+ }
+ if (LNotEqual(Local2, 1)) {
+ err(ts, z179, 0x2bc, 0, 0, Local2, 1)
+ }
+ }
+
+ Method(sw07)
+ {
+ OUTP("Check While implementation 7: Name inside, 1 step")
+
+ Store(1, Local0)
+ Store(0, Local1)
+
+ while (Local0) {
+ Name(WHIN, Ones)
+
+ if (Local1) {
+ CH04(ts, 0, 0xff, z179, 0x2bd, 0, 0)
+ } else {
+ CH03(ts, z179, 0x2be, 0, 0)
+ }
+ Store(Local1, WHIN)
+ Decrement(Local0)
+ Increment(Local1)
+ }
+ }
+
+ Method(sw08)
+ {
+ OUTP("Check While implementation 8: Name inside, 2 steps")
+
+ Store(2, Local0)
+ Store(0, Local1)
+
+ while (Local0) {
+ Name(WHIN, Ones)
+
+ if (Local1) {
+ CH04(ts, 0, 0xff, z179, 0x2bf, 0, 0)
+ } else {
+ CH03(ts, z179, 0x2c0, 0, 0)
+ }
+ Store(Local1, WHIN)
+ Decrement(Local0)
+ Increment(Local1)
+ }
+ }
+
+ Method(m000)
+ {
+ sw00()
+ sw01()
+ sw02()
+ sw03()
+
+ if (LAnd(ABUU, LNot(q00a))) {
+ } else {
+ sw04()
+ sw05()
+ sw06()
+ }
+
+ sw07()
+
+ if (ABUU) {
+ } else {
+ sw08()
+ }
+ }
+
+ CH03(ts, z179, 0x2c1, 0, 0)
+ switch (arg0) {
+ case (0) { m000() }
+ case (1) { sw00() }
+ case (2) { sw01() }
+ case (3) { sw02() }
+ case (4) { sw03() }
+ case (5) { sw04() }
+ case (6) { sw05() }
+ case (7) { sw06() }
+ case (8) { sw07() }
+ case (9) { sw08() }
+ }
+ CH03(ts, z179, 0x2c2, 0, 0)
+}
+
+/* Methods to run manually (for ABBU only) */
+Method(asw0) { IIN0() ms2c(1) Return(POUT) }
+Method(bsw0) { IIN0() ms2c(2) Return(POUT) }
+Method(csw0) { IIN0() ms2c(3) Return(POUT) }
+Method(dsw0) { IIN0() ms2c(4) Return(POUT) }
+Method(esw0) { IIN0() ms2c(5) Return(POUT) }
+Method(fsw0) { IIN0() ms2c(6) Return(POUT) }
+Method(gsw0) { IIN0() ms2c(7) Return(POUT) }
+Method(hsw0) { IIN0() ms2c(8) Return(POUT) }
+Method(isw0) { IIN0() ms2c(9) Return(POUT) }
+
+/*
+ * Hot issue:
+ *
+ * Recursive method with local named
+ *
+ * bwac & cwac tests should expectedly fail
+ */
+Method(ms2d, 1)
+{
+ Name(ts, "ms2d")
+ Name(Y, 0)
+
+ Method (M001, 1, NotSerialized)
+ {
+ Name (X, Zero)
+
+ If (Y) {
+ If (y300) {
+ CH03(ts, z179, 0x3c3, 0, 0)
+ } else {
+ CH04(ts, 0, 0xff, z179, 0x2c3, 0, 0)
+ }
+ } else {
+ CH03(ts, z179, 0x2c4, 0, 0)
+ }
+
+ Increment (Y)
+ Increment (X)
+
+ Decrement (Arg0)
+ If (LGreater (Arg0, Zero)) {
+ M001 (Arg0)
+ }
+ }
+
+ Method(wac0)
+ {
+ OUTP("Recursive method with local named execution 1")
+
+ Store(0, Y)
+ M001 (0x1)
+ }
+
+ Method(wac1)
+ {
+ OUTP("Recursive method with local named execution 2")
+
+ Store(0, Y)
+ M001 (0x2)
+ }
+
+ Method(wac2)
+ {
+ OUTP("Recursive method with local named execution 4")
+
+ Store(0, Y)
+ M001 (0x4)
+ }
+
+ Method(m000)
+ {
+ wac0()
+
+ if (ABUU) {
+ } else {
+ wac1()
+ }
+
+ if (ABUU) {
+ } else {
+ wac2()
+ }
+ }
+
+ CH03(ts, z179, 0x2c5, 0, 0)
+ switch (arg0) {
+ case (0) { m000() }
+ case (1) { wac0() }
+ case (2) { wac1() }
+ case (3) { wac2() }
+ }
+ CH03(ts, z179, 0x2c6, 0, 0)
+}
+
+/* Methods to run manually (for ABBU only) */
+Method(awac) { IIN0() ms2d(1) Return(POUT) }
+Method(bwac) { IIN0() ms2d(2) Return(POUT) }
+Method(cwac) { IIN0() ms2d(3) Return(POUT) }
+Method(dwac) { IIN0() ms2d(4) Return(POUT) }
+
+/*
+ * Hot issue:
+ *
+ * Recursive method with local named: handmade asynchronous test:
+ * - bzac can be called many times
+ * - after azac any bzac should fail, but then after czac succeed again
+ * - 3 consecutive execution of dzac in the different instances of ABBU
+ * should show actual behavior, on acpiexec run "thr 4 1 dzac"
+ */
+
+Event(EV00)
+
+Method (MZAC, 1, NotSerialized)
+{
+ Name (X, Zero)
+ Increment (X)
+ OUTP(X)
+
+ If (LGreater (Arg0, Zero))
+ {
+ // Block on event
+ Wait(EV00, 0xFFFF)
+ }
+}
+
+Method(zac0)
+{
+ OUTP("Method with local named execution 1: Block")
+
+ MZAC (0x1)
+}
+
+Method(zac1)
+{
+ OUTP("Method with local named execution 2: Pass")
+
+ MZAC (0x0)
+}
+
+Method(zac2)
+{
+ Sleep(5000)
+
+ OUTP("Method with local named execution 3: Signal")
+
+ Signal (EV00)
+}
+
+Name(zacz, 5)
+Method(zac3)
+{
+ Sleep(1000)
+ Decrement(zacz)
+
+ if (LEqual(zacz, 4)) {zac0()}
+ elseif (LEqual(zacz, 2)) {zac2()}
+ else {zac1()}
+
+ Return (zacz)
+}
+
+/* Methods to run manually (for ABBU only) */
+Method(azac) { IIN0() zac0() Return(POUT) }
+Method(bzac) { IIN0() zac1() Return(POUT) }
+Method(czac) { IIN0() zac2() Return(POUT) }
+Method(dzac) { IIN0() zac3() Return(POUT) }
+
+/*
+ * Hot issue:
+ *
+ * Example from Bob,
+ * Buffer is not shortened on storing short string
+ */
+Method(ms2e)
+{
+ Name(ts, "ms2e")
+
+ Name (BUF0, Buffer (12) {})
+
+ OUTP("Buffer is not shortened on storing short string")
+
+ CH03(ts, z179, 0x2c7, 0, 0)
+
+ Store ("ABCD", BUF0)
+
+ Store(SizeOf (BUF0), Local0)
+
+ if (LNotEqual(Local0, 12)) {
+ err(ts, z179, 0x2c8, 0, 0, Local0, 12)
+ }
+
+ CH03(ts, z179, 0x2c9, 0, 0)
+}
+
+/* Methods to run manually (for ABBU only) */
+Method(abuf) { IIN0() ms2e() Return(POUT) }
+
+/*
+ * Bug 246 issue:
+ *
+ * SUMMARY: Switch implementation can cause AE_ALREADY_EXISTS exception
+ * when Switch is within While
+ */
+Method(ms2f, 1)
+{
+ Name(ts, "ms2f")
+
+ Method(B246)
+ {
+ Name(LN00, 2)
+
+ OUTP("Switch implementation can cause AE_ALREADY_EXISTS 1")
+
+ Store(0, Local1)
+
+ while (LN00) {
+ switch (LN00) {
+ case (1) {
+ Add(Local1, 1, Local1)
+ }
+ case (2) {
+ Add(Local1, 2, Local1)
+ }
+ }
+ Decrement(LN00)
+ }
+
+ if (LNotEqual(Local1, 3)) {
+ err(ts, z179, 0x2ca, 0, 0, Local1, 3)
+ }
+ }
+
+ Method(U246)
+ {
+ Name(LN00, 1)
+
+ OUTP("Switch implementation can cause AE_ALREADY_EXISTS 2")
+
+ Store(0, Local1)
+
+ while (LN00) {
+ switch (LN00) {
+ case (1) {
+ Add(Local1, 1, Local1)
+ }
+ case (2) {
+ Add(Local1, 2, Local1)
+ }
+ }
+ Decrement(LN00)
+ }
+
+ if (LNotEqual(Local1, 1)) {
+ err(ts, z179, 0x2cb, 0, 0, Local1, 1)
+ }
+ }
+
+ CH03(ts, z179, 0x2cc, 0, 0)
+ switch (arg0) {
+ case (0) { b246() u246() }
+ case (1) { b246() }
+ case (2) { u246() }
+ }
+ CH03(ts, z179, 0x2cd, 0, 0)
+}
+
+/* Methods to run manually (for ABBU only) */
+Method(a246) { IIN0() ms2f(1) Return(POUT) }
+Method(b246) { IIN0() ms2f(2) Return(POUT) }
+
+/*
+ * Bug 247 issue:
+ *
+ * SUMMARY: ASL compiler incorrectly implements Break within Switch
+ */
+Method(ms30)
+{
+ Name(ts, "ms30")
+
+ // This test actually should be used without "while (1) { ... Break}"
+ // wrapping, but iASL reports "Initializer list too long" error.
+ // Comment the wrappers and compile with -f iASL option.
+ Method(B247)
+ {
+ Method(m000, 4)
+ {
+ Name(LN00, 2)
+ Name(CH10, 0)
+ Name(CH11, 0)
+ Name(CH20, 0)
+ Name(CH21, 0)
+
+ OUTP(arg0)
+
+// Workaround for "No enclosing While statement" iASl error
+while (1) {
+ switch (arg3) {
+ case (1) {
+ if (Arg1) {
+ Store(1, CH10)
+ Break
+ }
+ Store(1, CH11)
+ }
+ case (2) {
+ if (Arg2) {
+ Store(1, CH20)
+ Break
+ }
+ Store(1, CH21)
+ }
+ }
+Break }
+
+ if (LEqual(Arg3, 1)) {
+ if (LNotEqual(CH10, Arg1)) {
+ err(ts, z179, 0x2ce, 0, 0, CH10, Arg1)
+ }
+ if (LEqual(CH11, Arg1)) {
+ err(ts, z179, 0x2cf, 0, 0, CH11, Arg1)
+ }
+ }
+ if (LEqual(Arg3, 2)) {
+ if (LNotEqual(CH20, Arg2)) {
+ err(ts, z179, 0x2d0, 0, 0, CH20, Arg2)
+ }
+ if (LEqual(CH21, Arg2)) {
+ err(ts, z179, 0x2d1, 0, 0, CH21, Arg2)
+ }
+ }
+ }
+
+ OUTP("Switch implementation can cause AE_ALREADY_EXISTS 3")
+
+ m000("Break 100", 0, 0, 1)
+ m000("Break 101", 0, 1, 1)
+ m000("Break 110", 1, 0, 1)
+ m000("Break 111", 1, 1, 1)
+ m000("Break 200", 0, 0, 2)
+ m000("Break 201", 0, 1, 2)
+ m000("Break 210", 1, 0, 2)
+ m000("Break 211", 1, 1, 2)
+ }
+
+ CH03(ts, z179, 0x2d2, 0, 0)
+ b247()
+ CH03(ts, z179, 0x2d3, 0, 0)
+}
+
+/* Methods to run manually (for ABBU only) */
+Method(a247) { IIN0() ms30() Return(POUT) }
+
+/*
+ * Hot issue:
+ *
+ * Load ASL operator
+ */
+Method(ms31, 1)
+{
+ Name(ts, "ms31")
+
+ // Originated from table/ssdt0.asl: iasl -tc ssdt0.asl
+ Name(BUF0, Buffer() {
+ 0x53,0x53,0x44,0x54,0x34,0x00,0x00,0x00, /* 00000000 "SSDT4..." */
+ 0x02,0xDE,0x49,0x6E,0x74,0x65,0x6C,0x00, /* 00000008 "..Intel." */
+ 0x4D,0x61,0x6E,0x79,0x00,0x00,0x00,0x00, /* 00000010 "Many...." */
+ 0x01,0x00,0x00,0x00,0x49,0x4E,0x54,0x4C, /* 00000018 "....INTL" */
+ 0x15,0x12,0x06,0x20,0x14,0x0F,0x5C,0x53, /* 00000020 "... ..\S" */
+ 0x53,0x30,0x30,0x00,0xA4,0x0D,0x5C,0x53, /* 00000028 "S00...\S" */
+ 0x53,0x30,0x30,0x00,
+ })
+
+ OperationRegion (IST0, SystemMemory, VMEM, 0x34)
+
+ Field(IST0, ByteAcc, NoLock, Preserve) {
+ RFU0, 0x1a0,
+ }
+
+ Name(DDBH, 0)
+
+ External(\SS00)
+
+ Method(m000)
+ {
+ OUTP("ldt0: Simple Load/Unload(Field, LocalX) test")
+
+ Store(BUF0, RFU0)
+
+ Load(RFU0, Local0)
+ CH03(ts, z179, 0x2d4, 0, 0)
+ OUTP("SSDT loaded")
+
+ UnLoad(Local0)
+ CH03(ts, z179, 0x2d5, 0, 0)
+ OUTP("SSDT unloaded")
+ }
+
+ // Manual test for ABBU
+ Method(m001)
+ {
+ OUTP("ldt1: Simple Load(OpRegion, LocalX) test")
+
+ Store(BUF0, RFU0)
+
+ Load(IST0, Local0)
+ CH03(ts, z179, 0x2d6, 0, 0)
+ OUTP("SSDT loaded")
+ }
+
+ Method(m002)
+ {
+ OUTP("ldt2: Simple Load/Unload(OpRegion, LocalX) test")
+
+ Store(BUF0, RFU0)
+
+ Load(IST0, DDBH)
+ CH03(ts, z179, 0x2d7, 0, 0)
+ OUTP("SSDT loaded")
+
+ Unload(DDBH)
+ CH03(ts, z179, 0x2d8, 0, 0)
+ OUTP("SSDT unloaded")
+ }
+
+ Method(m003)
+ {
+ OUTP("ldt3: Simple Load/ObjectType(DDBHandle) test")
+
+ Store(BUF0, RFU0)
+
+ Load(IST0, Local0)
+ CH03(ts, z179, 0x2d9, 0, 0)
+ OUTP("SSDT loaded")
+
+ Store(ObjectType(Local0), Local1)
+ if (LNotEqual(15, Local1)) {
+ err(ts, z179, 0x2da, 0, 0, Local1, 15)
+ }
+
+ Unload(DDBH)
+ CH03(ts, z179, 0x2db, 0, 0)
+ OUTP("SSDT unloaded")
+ }
+
+ // Manual test for ABBU: hangs on MS
+ Method(m013)
+ {
+ OUTP("ldt13: Simple Load/ObjectType(DDBHandle) test")
+
+ Store(BUF0, RFU0)
+
+ Load(IST0, Local0)
+ CH03(ts, z179, 0x2dc, 0, 0)
+ OUTP("SSDT loaded")
+
+ Store(ObjectType(Local0), Local1)
+ if (LNotEqual(15, Local1)) {
+ err(ts, z179, 0x2dd, 0, 0, Local1, 15)
+ }
+ }
+
+ Method(m004)
+ {
+ Name(DDBH, 0)
+
+ OUTP("ldt4: Simple Load/ObjectType(Named DDBHandle) test")
+
+ Store(BUF0, RFU0)
+
+ Load(IST0, DDBH)
+ CH03(ts, z179, 0x2de, 0, 0)
+ OUTP("SSDT loaded")
+
+ Store(ObjectType(DDBH), Local1)
+ if (LNotEqual(15, Local1)) {
+ err(ts, z179, 0x2df, 0, 0, Local1, 15)
+ }
+
+ UnLoad(DDBH)
+ CH03(ts, z179, 0x2e0, 0, 0)
+ OUTP("SSDT unloaded")
+ }
+
+ // Manual test for ABBU: hangs on MS
+ Method(m014)
+ {
+ Name(DDBH, 0)
+
+ OUTP("ldt14: Simple Load/ObjectType(Named DDBHandle) test")
+
+ Store(BUF0, RFU0)
+
+ Load(IST0, DDBH)
+ CH03(ts, z179, 0x2e1, 0, 0)
+ OUTP("SSDT loaded")
+
+ Store(ObjectType(DDBH), Local1)
+ if (LNotEqual(15, Local1)) {
+ err(ts, z179, 0x2e2, 0, 0, Local1, 15)
+ }
+ }
+
+ Method(m005)
+ {
+ Name(PAC0, Package(1){})
+
+ OUTP("ldt5: Simple Load(OpRegion, Indexed DDBHandle) test")
+
+ Store(BUF0, RFU0)
+
+ Load(IST0, Index(PAC0, 0))
+ CH03(ts, z179, 0x2e3, 0, 0)
+ OUTP("SSDT loaded")
+
+ Store(Derefof(Index(PAC0, 0)), Local0)
+
+ UnLoad(Local0)
+ CH03(ts, z179, 0x2e4, 0, 0)
+ OUTP("SSDT unloaded")
+ }
+
+ // Manual test for ABBU
+ Method(m015)
+ {
+ Name(PAC0, Package(1){})
+
+ OUTP("ldt15: Simple Load(OpRegion, Indexed DDBHandle) test")
+
+ Store(BUF0, RFU0)
+
+ Load(IST0, Index(PAC0, 0))
+ CH03(ts, z179, 0x2e5, 0, 0)
+ OUTP("SSDT loaded")
+ }
+
+ Method(m006)
+ {
+ OUTP("ldt6: Complex Load(OpRegion, LocalX) - CondRefof test")
+
+ Store(BUF0, RFU0)
+
+ Store(CondRefof(\SS00, Local1), Local2)
+ OUTP("CondRefof before Load")
+ if (Local2) {
+ err(ts, z179, 0x2e6, 0, 0, Local2, 0)
+ }
+
+ Load(IST0, Local0)
+ CH03(ts, z179, 0x2e7, 0, 0)
+
+ Store(CondRefof(\SS00, Local3), Local4)
+ OUTP("CondRefof after Load")
+ if (Local4) {
+ } else {
+ err(ts, z179, 0x2e8, 0, 0, Local4, 1)
+ }
+
+ UnLoad(Local0)
+ CH03(ts, z179, 0x2e9, 0, 0)
+
+ Store(CondRefof(\SS00, Local5), Local6)
+ OUTP("CondRefof after UnLoad")
+ if (Local6) {
+ err(ts, z179, 0x2ea, 0, 0, Local6, 0)
+ }
+ }
+
+ // Manual test for ABBU
+ Method(m016)
+ {
+ OUTP("ldt16: Complex Load(OpRegion, LocalX) - CondRefof test")
+
+ Store(BUF0, RFU0)
+
+ Store(CondRefof(\SS00, Local1), Local2)
+ OUTP("CondRefof before Load")
+ if (Local2) {
+ err(ts, z179, 0x2eb, 0, 0, Local2, 0)
+ }
+
+ Load(IST0, Local0)
+ CH03(ts, z179, 0x2ec, 0, 0)
+
+ Store(CondRefof(\SS00, Local3), Local4)
+ OUTP("CondRefof after Load")
+ if (Local4) {
+ } else {
+ err(ts, z179, 0x2ed, 0, 0, Local4, 1)
+ }
+ }
+
+ Method(m010)
+ {
+ m000()
+
+ if (y290) {
+ m002()
+ }
+
+ if (LAnd(y260, y290)) {
+ m003()
+ }
+
+ if (LAnd(y260, y290)) {
+ m004()
+ }
+
+ if (LAnd(y261, y290)) {
+ m005()
+ }
+
+ if (y290) {
+ m006()
+ }
+ }
+
+ CH03(ts, z179, 0x2ee, 0, 0)
+ switch (arg0) {
+ case (0) { m010() }
+ case (1) { m000() }
+ case (2) { m001() }
+ case (3) { m002() }
+ case (4) { m003() }
+ case (5) { m004() }
+ case (6) { m005() }
+ case (7) { m006() }
+ case (8) { m013() }
+ case (9) { m014() }
+ case (10) { m015() }
+ case (11) { m016() }
+ }
+ CH03(ts, z179, 0x2ef, 0, 0)
+}
+
+/* Methods to run manually (for ABBU only) */
+Method(aldt) { IIN0() ms31(1) Return(POUT) }
+Method(bldt) { IIN0() ms31(2) Return(POUT) }
+Method(cldt) { IIN0() ms31(3) Return(POUT) }
+Method(dldt) { IIN0() ms31(4) Return(POUT) }
+Method(eldt) { IIN0() ms31(5) Return(POUT) }
+Method(fldt) { IIN0() ms31(6) Return(POUT) }
+Method(gldt) { IIN0() ms31(7) Return(POUT) }
+Method(hldt) { IIN0() ms31(8) Return(POUT) }
+Method(ildt) { IIN0() ms31(9) Return(POUT) }
+Method(jldt) { IIN0() ms31(10) Return(POUT) }
+Method(kldt) { IIN0() ms31(11) Return(POUT) }
+
+/*
+ * Hot issue:
+ *
+ * CondRefOf ASL operator
+ */
+Method(ms32, 1)
+{
+ Name(ts, "ms32")
+
+ Method(m000)
+ {
+ OUTP("cnr0: Simple CondRefof() positive test")
+
+ Store(CondRefof(\_SB.ABBU.IMAX), Local0)
+ CH03(ts, z179, 0x2f0, 0, 0)
+ }
+
+ Method(m001)
+ {
+ OUTP("cnr1: Simple CondRefof( , ) positive test 2")
+
+ Store(CondRefof(\_SB.ABBU._HID, Local1), Local0)
+ CH03(ts, z179, 0x2f1, 0, 0)
+
+ if (Local0) {
+ } else {
+ err(ts, z179, 0x2f2, 0, 0, Local0, 1)
+ }
+ }
+
+ Method(m002)
+ {
+ Name(I000, 0x76543210)
+
+ OUTP("cnr2: Simple CondRefof( , ) positive test for dynamic object")
+
+ Store(CondRefof(^m002.I000, Local1), Local0)
+ if (Local0) {
+ Store(Derefof(Local1), Local2)
+ if (LNotEqual(0x76543210, Local2)) {
+ err(ts, z179, 0x2f3, 0, 0, Local2, 0x76543210)
+ }
+ } else {
+ err(ts, z179, 0x2f4, 0, 0, Local0, 1)
+ }
+ }
+
+ Method(m003)
+ {
+ OUTP("cnr3: Simple CondRefof( , ) negative test for dynamic object")
+
+ Store(CondRefof(^M003.I000, Local1), Local0)
+ if (Local0) {
+ err(ts, z179, 0x2f5, 0, 0, Local0, 1)
+ }
+
+ Name(I000, 1)
+
+ Store(CondRefof(^M003.I000, Local1), Local0)
+ if (Local0) {
+ } else {
+ err(ts, z179, 0x2f6, 0, 0, Local0, 0)
+ }
+ }
+
+ Method(m004)
+ {
+ OUTP("cnr4: Simple CondRefof(_OSI, Local0) test")
+
+ OUTP("if (CondRefOf (_OSI, Local0))")
+ if (CondRefOf (_OSI, Local0))
+ {
+ OUTP("True")
+ OUTP("_OSI (\"Windows 2001\"):")
+ if (\_OSI ("Windows 2001"))
+ {
+ OUTP("True")
+ } else {
+ OUTP("False")
+ }
+ } else {
+ OUTP("False")
+ }
+ CH03(ts, z179, 0x2f7, 0, 0)
+ }
+
+ Method(m010)
+ {
+ m000()
+ m001()
+ m002()
+ m003()
+ m004()
+ }
+
+ CH03(ts, z179, 0x2f8, 0, 0)
+ switch (arg0) {
+ case (0) { m010() }
+ case (1) { m000() }
+ case (2) { m001() }
+ case (3) { m002() }
+ case (4) { m003() }
+ case (5) { m004() }
+ }
+ CH03(ts, z179, 0x2f9, 0, 0)
+}
+
+/* Methods to run manually (for ABBU only) */
+Method(acnr) { IIN0() ms32(1) Return(POUT) }
+Method(bcnr) { IIN0() ms32(2) Return(POUT) }
+Method(ccnr) { IIN0() ms32(3) Return(POUT) }
+Method(dcnr) { IIN0() ms32(4) Return(POUT) }
+Method(ecnr) { IIN0() ms32(5) Return(POUT) }
+
+/*
+ * Hot issue:
+ *
+ * Check storing of a Device into LocalX
+ */
+Method(ms33, 1)
+{
+ Name(ts, "ms33")
+
+ Method(asdl)
+ {
+ OUTP("Store _SB.ABBU Device object into LocalX, don't check the type")
+
+ Store(\_SB.ABBU, Local0)
+
+ if (LOr(ABUU, SLCK)) {
+ CH03(ts, z179, 0x2fa, 0, 0)
+ } else {
+ CH04(ts, 0, 0xff, z179, 0x2fb, 0, 0)
+ }
+ }
+
+ Method(bsdl)
+ {
+ OUTP("Store _SB.ABBU Device object into LocalX")
+
+ Store(\_SB.ABBU, Local0)
+
+ if (LOr(ABUU, SLCK)) {
+ Store(ObjectType(Local0), Local1)
+ if (LNotEqual(6, Local1)) {
+ err(ts, z179, 0x2fc, 0, 0, Local1, 6)
+ }
+ } else {
+ CH04(ts, 0, 0xff, z179, 0x2fd, 0, 0)
+ }
+ }
+
+ Method(csdl)
+ {
+ Device(DLOC) {}
+
+ OUTP("Store an improper dynamic Device object into LocalX")
+
+ Store(DLOC, Local0)
+
+ if (LOr(ABUU, SLCK)) {
+ Store(ObjectType(Local0), Local1)
+ if (LNotEqual(6, Local1)) {
+ err(ts, z179, 0x2fe, 0, 0, Local1, 6)
+ } else {
+ OUTP("Ok: ObjectType succeeded")
+ }
+ } else {
+ CH04(ts, 0, 0xff, z179, 0x2ff, 0, 0)
+ }
+ }
+
+ Method(dsdl)
+ {
+ External(\_SB.LNKA)
+
+ OUTP("Store _SB.LNKA Device object into LocalX")
+
+ if (CondRefof(\_SB.LNKA, Local2)) {
+ } else {
+ OUTP("CondRefof for _SB.LNKA returns FALSE")
+ return
+ }
+
+ Store(\_SB.LNKA, Local0)
+
+ if (LOr(ABUU, SLCK)) {
+ Store(ObjectType(Local0), Local1)
+ if (LNotEqual(6, Local1)) {
+ err(ts, z179, 0x2a0, 0, 0, Local1, 6)
+ }
+ } else {
+ CH04(ts, 0, 0xff, z179, 0x2a1, 0, 0)
+ }
+ }
+
+ CH03(ts, z179, 0x2a2, 0, 0)
+ switch (arg0) {
+ case (0) {
+ asdl()
+ bsdl()
+ csdl()
+ dsdl()
+ }
+ case (1) { asdl() }
+ case (2) { bsdl() }
+ case (3) { csdl() }
+ case (4) { dsdl() }
+ }
+ CH03(ts, z179, 0x2a3, 0, 0)
+}
+
+/* Methods to run manually (for ABBU only) */
+Method(asdl) { IIN0() ms33(1) Return(POUT) }
+Method(bsdl) { IIN0() ms33(2) Return(POUT) }
+Method(csdl) { IIN0() ms33(3) Return(POUT) }
+Method(dsdl) { IIN0() ms33(4) Return(POUT) }
+
+Method(msfe)
+{
+ // Bug 63 issues
+ SRMT("ms10")
+ ms10(0)
+
+ // Bug 83 issues
+ SRMT("ms11")
+ ms11(0)
+
+ // Bug 100 issues
+ SRMT("ms12")
+ ms12()
+
+ // Bug 113 issues
+ SRMT("ms13")
+ ms13(0)
+
+ // Bug 114 issues
+ SRMT("ms14")
+ ms14(0)
+
+ // Bug 115 issues
+ SRMT("ms15")
+ ms15(0)
+
+ // Bug 118 issues
+ SRMT("ms16")
+ ms16(0)
+
+ // Bug 126 issues
+ SRMT("ms17")
+ ms17(0)
+
+ // Bug 127 issues
+ SRMT("ms18")
+ if (ABUU) {
+ BLCK()
+ } else {
+ ms18()
+ }
+
+ // Bug 128 issues
+ SRMT("ms19")
+ ms19(0)
+
+ // Bug 131 issues
+ SRMT("ms1a")
+ ms1a(0)
+
+ // Bug 132 issues
+ SRMT("ms1b")
+ ms1b(0)
+
+ // Bug 133 issues
+ SRMT("ms1c")
+ ms1c(0)
+
+ // Bug 134 issues
+ SRMT("ms1d")
+ ms1d(0)
+
+ // Bug 136 issues
+ SRMT("ms1e")
+ if (ABUU) {
+ BLCK()
+ } else {
+ ms1e()
+ }
+
+ // Local Reference into the Package issues
+ SRMT("ms1f")
+ ms1f(0)
+
+ // Forward reference within a control method
+ SRMT("ms20")
+ ms20(0)
+
+ // Recursive method execution
+ SRMT("ms21")
+ ms21(0)
+
+ // Conditional reference within a control method
+ SRMT("ms22")
+ ms22(0)
+
+ // Implicit return
+ SRMT("ms23")
+ ms23(0)
+
+ // Increment/Decrement with String/Buffer
+ SRMT("ms24")
+ if (ABUU) {
+ BLCK()
+ } else {
+ ms24()
+ }
+
+ // Check Store(..., DeRefof(...)) behavior
+ SRMT("ms25")
+ if (ABUU) {
+ BLCK()
+ } else {
+ ms25(0)
+ }
+
+ // Exceeding Field Unit
+ SRMT("ms26")
+ if (SMBA) {
+ ms26(0)
+ } else {
+ BLCK()
+ }
+
+ // Check IndexField implementation
+ SRMT("ms27")
+ if (SMBA) {
+ ms27(0)
+ } else {
+ BLCK()
+ }
+
+ SRMT("mt27")
+ if (SMBA) {
+ mt27(0)
+ } else {
+ BLCK()
+ }
+
+ SRMT("mu27")
+ if (SMBA) {
+ mu27(0)
+ } else {
+ BLCK()
+ }
+
+ SRMT("mv27")
+ if (SMBA) {
+ mv27(0)
+ } else {
+ BLCK()
+ }
+
+ SRMT("mw27")
+ if (SMBA) {
+ mw27(0)
+ } else {
+ BLCK()
+ }
+
+ SRMT("mx27")
+ if (SMBA) {
+ mx27(0)
+ } else {
+ BLCK()
+ }
+
+ SRMT("my27")
+ if (SMBA) {
+ my27(0)
+ } else {
+ BLCK()
+ }
+
+ SRMT("mz27")
+ if (SMBA) {
+ mz27(0)
+ } else {
+ BLCK()
+ }
+
+ // Check BankField implementation
+ SRMT("ms28")
+ if (SMBA) {
+ ms28()
+ } else {
+ BLCK()
+ }
+
+ // Check Acquire/Release
+ SRMT("ms29")
+ ms29(0)
+
+ // Check ToBuffer optional store
+ SRMT("ms2a")
+ ms2a(0)
+
+ // Check Package size calculation
+ SRMT("ms2b")
+ ms2b(0)
+
+ // Check Switch implementation
+ SRMT("ms2c")
+ ms2c(0)
+
+ // Recursive method with local named
+ SRMT("ms2d")
+ ms2d(0)
+
+ // Buffer is not shortened on storing short string
+ SRMT("ms2e")
+ ms2e()
+
+ // Bug 246 issues
+ SRMT("ms2f")
+ ms2f(0)
+
+ // Bug 247 issues
+ SRMT("ms30")
+ if (ABUU) {
+ BLCK()
+ } else {
+ ms30()
+ }
+
+ // Load ASL operator
+ SRMT("ms31")
+ if (ABUU) {
+ BLCK()
+ } else {
+ ms31(0)
+ }
+
+ // CondRefOf ASL operator
+ SRMT("ms32")
+ ms32(0)
+
+ // Storing of a Device into LocalX
+ SRMT("ms33")
+ ms33(0)
+}
+
diff --git a/tests/aslts/src/runtime/collections/Identity2MS/abbu/ns4.asl b/tests/aslts/src/runtime/collections/Identity2MS/abbu/ns4.asl
new file mode 100644
index 000000000..a671a0cc1
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/Identity2MS/abbu/ns4.asl
@@ -0,0 +1,88 @@
+/*
+ * Tests originated from namespace/ns4
+ */
+
+/*
+ * Calls to methods instead of Add
+ */
+
+/*
+in progress
+// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! z100 ????????????????????????????
+// ??????????????????????????????????????????????????
+*/
+Name(z100, 100)
+
+Method(m401, 1)
+{
+ Name(ts, "m401")
+ Name(i000, 0x00000001)
+ Name(i001, 0)
+ Name(p000, Package() {1,2,3,4})
+
+ CH03(ts, z100, 0x000, 0, 0)
+
+ Store(arg0, i001)
+
+ Method(MAdd, 2)
+ {
+ Add(arg0, arg1, Local0)
+ Return (Local0)
+ }
+
+ Method(m001)
+ {
+ Method(m002)
+ {
+ Method(m003)
+ {
+ Method(m004)
+ {
+ Method(m005)
+ {
+ Method(m006)
+ {
+ Method(m007)
+ {
+ /*
+ * Because of the stack overflow issues on MS
+ * the number of method calls eliminated.
+ */
+ Return (0)
+ }
+ Store(0x07000000, i000)
+ Return (MAdd(i000, m007()))
+ }
+ Store(0x00600000, i000)
+ Return (MAdd(i000, m006()))
+ }
+ Store(0x00050000, i000)
+ Return (MAdd(i000, m005()))
+ }
+ Store(0x00004000, i000)
+ Return (MAdd(i000, m004()))
+ }
+ Store(0x00000300, i000)
+ Return (MAdd(i000, m003()))
+ }
+ Store(0x00000020, i000)
+ Return (MAdd(i000, m002()))
+ }
+ Store(MAdd(i000, m001()), Local0)
+
+ if (LNotEqual(Local0, 0x07654321)) {
+ err(ts, z100, 0x001, 0, 0, Local0, 0x07654321)
+ }
+
+ if (LNotEqual(i000, 0x07000000)) {
+ err(ts, z100, 0x002, 0, 0, i000, 0x07000000)
+ }
+
+ CH03(ts, z100, 0x003, 0, 0)
+}
+
+Method(n004)
+{
+ SRMT("m401-0")
+ m401(0)
+}
diff --git a/tests/aslts/src/runtime/collections/Identity2MS/abbu/ns6.asl b/tests/aslts/src/runtime/collections/Identity2MS/abbu/ns6.asl
new file mode 100644
index 000000000..844a21033
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/Identity2MS/abbu/ns6.asl
@@ -0,0 +1,46 @@
+/*
+ * Tests originated from namespace/ns6
+ */
+
+
+/*
+in progress
+SEE:
+do the same as ns3.asl but
+complex
+some pass by arg/local/ store/copy to other Named and some
+directly (locally/globally allocated objects)
+
+*/
+
+
+// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! z101 ????????????????????????????
+// ??????????????????????????????????????????????????
+Name(z101, 101)
+
+Method(m600)
+{
+ Name(ts, "m600")
+ Name(i000, 0xabcd0000)
+ Method(m000, 1)
+ {
+ Store(0x11223344, i000)
+ if (LNotEqual(arg0, 0xabcd0000)) {
+ err(ts, z101, 0x000, 0, 0, arg0, 0xabcd0000)
+ }
+ }
+
+ m000(i000)
+
+ if (LNotEqual(i000, 0x11223344)) {
+ err(ts, z101, 0x001, 0, 0, i000, 0x11223344)
+ }
+}
+
+Method(n006)
+{
+ SRMT("m600")
+ m600()
+}
+
+
diff --git a/tests/aslts/src/runtime/collections/Identity2MS/abbu/recursion/rec_abbu.asl b/tests/aslts/src/runtime/collections/Identity2MS/abbu/recursion/rec_abbu.asl
new file mode 100644
index 000000000..d09c6dc9c
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/Identity2MS/abbu/recursion/rec_abbu.asl
@@ -0,0 +1,101 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+/*
+ * Tests to check recursive calls of methods for different structure of
+ * sub-trees containig the point from where the call is made and the point
+ * which is just the invoked method, and different relative disposition of
+ * those sub-trees containig the points.
+ */
+
+Name(z171, 171)
+
+
+Processor(pr00, 0, 0x000, 0x008)
+{
+ Name(i000, 0xabcd0000)
+}
+
+Name(i000, 0)
+
+Method(mr00)
+{
+ Name(ts, "mr00")
+
+ Device(d100)
+ {
+ Name(i200, 0xabcd0200)
+ Name(i201, 0xabcd0201)
+ }
+
+ Device(d101)
+ {
+ Name(i202, 0xabcd0202)
+ Method(m203)
+ {
+ Name(i300, 0xabcd0300)
+ Name(i301, 0xabcd0301)
+ Store("---------------------------------------- Run m203", Debug)
+ Increment(i000)
+ if (LLess(i000, 3)) {
+ m203()
+ }
+ }
+ Name(i204, 0xabcd0204)
+ }
+ Device(d102)
+ {
+ Name(i205, 0xabcd0205)
+ Name(i206, 0xabcd0206)
+ }
+ d101.m203()
+}
+
+Method(mr01)
+{
+/*
+ CH03(ts, z169, 0x100, 0, 0)
+
+ mm00()
+
+ if (LNotEqual(i000, 0xabcd0000)) {
+ err(ts, z169, 0x000, 0, 0, i000, 0xabcd0000)
+ }
+
+ CH03(ts, z169, 0x101, 0, 0)
+*/
+}
+
+Method(mrff)
+{
+ Name(run0, 1)
+
+ SRMT("mr00")
+ mr00()
+}
diff --git a/tests/aslts/src/runtime/collections/Identity2MS/abbu/recursion/rec_aslts.asl b/tests/aslts/src/runtime/collections/Identity2MS/abbu/recursion/rec_aslts.asl
new file mode 100644
index 000000000..73e4eeec4
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/Identity2MS/abbu/recursion/rec_aslts.asl
@@ -0,0 +1,357 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+/*
+ * Tests to check recursive calls of methods for different structure of
+ * sub-trees containig the point from where the call is made and the point
+ * which is just the invoked method, and different relative disposition of
+ * those sub-trees containig the points.
+ */
+
+Name(z172, 172)
+
+Name(IG00, 0)
+Name(IG01, 0)
+Name(IG02, 0)
+Name(IG03, 0) // Do anything once only
+
+Name(RC00, 5)
+Name(RCFF, 1)
+
+Processor(pr00, 0, 0x000, 0x008)
+{
+ Name(i000, 0xabcd0000)
+}
+
+// Initialize sub-test
+Method(mrfd)
+{
+ Store(0, IG00)
+ Store(0, IG01)
+ Store(0, IG02)
+ Store(0, IG03)
+}
+
+// Printing
+Method(mrfe, 1)
+{
+ if (RCFF) {
+ Store(arg0, Debug)
+ }
+}
+
+/*
+ * 0-th level method M0 is recursively invoked from
+ * the same M0 method.
+ */
+Method(mr00)
+{
+ Name(ts, "mr00")
+ Name(i000, 0xabcd0000)
+
+ mrfe(ts)
+
+ Store(IG00, i000)
+ Increment(IG00)
+ Increment(IG02)
+ if (LLess(IG00, RC00)) {
+ mr00()
+ }
+
+ Decrement(IG00)
+ if (LNotEqual(i000, IG00)) {
+ err(ts, z172, 0x000, 0, 0, i000, IG00)
+ }
+
+ if (LNotEqual(IG02, RC00)) {
+ if (LNot(IG03)) {
+ Store(1, IG03)
+ err(ts, z172, 0x000, 0, 0, IG02, RC00)
+ }
+ }
+}
+
+/*
+ * 0-th level method M0 invokes recursively 0-th level method M1
+ * which, in its turn, invokes recursively M0
+ * M0 and M1 are respectively the preceding and the following peers each to other
+ */
+Method(mr01, 1)
+{
+ Name(ts, "mr01")
+ Name(i000, 0xabcd0000)
+ Name(i001, 0xabcd0001)
+
+ mrfe(ts)
+
+ Store(IG00, i000)
+ Store(arg0, i001)
+ Increment(IG00)
+ Increment(IG02)
+ if (LLess(IG00, RC00)) {
+ mr02(IG00)
+ }
+
+ Decrement(IG00)
+ if (LNotEqual(i000, IG00)) {
+ err(ts, z172, 0x000, 0, 0, i000, IG00)
+ }
+ if (LNotEqual(i001, arg0)) {
+ err(ts, z172, 0x000, 0, 0, i001, arg0)
+ }
+
+ Multiply(RC00, 2, Local0)
+ Decrement(Local0)
+ if (LNotEqual(IG02, Local0)) {
+ if (LNot(IG03)) {
+ Store(1, IG03)
+ err(ts, z172, 0x000, 0, 0, IG02, Local0)
+ }
+ }
+}
+
+Method(mr02, 1)
+{
+ Name(ts, "mr02")
+ Name(i000, 0xabcd0000)
+ Name(i001, 0xabcd0001)
+
+ mrfe(ts)
+
+ Store(IG01, i000)
+ Store(arg0, i001)
+ Increment(IG01)
+ Increment(IG02)
+ if (LLess(IG01, RC00)) {
+ mr01(IG01)
+ }
+
+ Decrement(IG01)
+ if (LNotEqual(i000, IG01)) {
+ err(ts, z172, 0x000, 0, 0, i000, IG01)
+ }
+ if (LNotEqual(i001, arg0)) {
+ err(ts, z172, 0x000, 0, 0, i001, arg0)
+ }
+
+ Multiply(RC00, 2, Local0)
+ Decrement(Local0)
+ if (LNotEqual(IG02, Local0)) {
+ if (LNot(IG03)) {
+ Store(1, IG03)
+ err(ts, z172, 0x000, 0, 0, IG02, Local0)
+ }
+ }
+}
+
+/*
+ * 2-th level method M0 is recursively invoked from
+ * the same M0 method.
+ */
+Method(mr03)
+{
+ Name(ts, "mr03")
+
+ Device(d100)
+ {
+ Name(i200, 0xabcd0200)
+ Name(i201, 0xabcd0201)
+ }
+
+ Device(d101)
+ {
+ Name(i202, 0xabcd0202)
+ Method(m203)
+ {
+ Name(i300, 0xabcd0300)
+ Name(i301, 0xabcd0301)
+
+ mrfe("m203")
+
+ Store(IG00, i300)
+ Increment(IG00)
+ Increment(IG02)
+ if (LLess(IG00, RC00)) {
+ m203()
+ }
+
+ Decrement(IG00)
+ if (LNotEqual(i300, IG00)) {
+ err(ts, z172, 0x000, 0, 0, i300, IG00)
+ }
+
+ }
+ Name(i204, 0xabcd0204)
+ }
+ Device(d102)
+ {
+ Name(i205, 0xabcd0205)
+ Name(i206, 0xabcd0206)
+ }
+
+ d101.m203()
+
+ if (LNotEqual(IG02, RC00)) {
+ if (LNot(IG03)) {
+ Store(1, IG03)
+ err(ts, z172, 0x000, 0, 0, IG02, RC00)
+ }
+ }
+}
+
+/*
+ * 2-th level method M0 invokes recursively 0-th level method M1,
+ * which is not on a path of M0-sub-tree, M1, in its turn, invokes
+ * recursively M0. It is capable because the sub-tree of M0 has been
+ * created at the moment when M1 is invoked.
+ * Note: we can't run M1 in the first turn by that same reason --
+ * sub-tree of M0 would be not created in that case and we fall to
+ * AE_NOT_FOUND exception.
+ */
+Method(mr04)
+{
+ Name(ts, "mr04")
+
+ Device(d100)
+ {
+ Name(i200, 0xabcd0200)
+ Name(i201, 0xabcd0201)
+ }
+
+ Device(d101)
+ {
+ Name(i202, 0xabcd0202)
+ Method(m203, 1)
+ {
+ Name(i300, 0xabcd0300)
+ Name(i301, 0xabcd0301)
+
+ mrfe("m203")
+
+ Store(IG00, i300)
+ Increment(IG00)
+ Increment(IG02)
+ if (LLess(IG00, RC00)) {
+ mr05(IG00)
+ }
+
+ Decrement(IG00)
+ if (LNotEqual(i300, IG00)) {
+ err(ts, z172, 0x000, 0, 0, i300, IG00)
+ }
+
+ }
+ Name(i204, 0xabcd0204)
+ }
+ Device(d102)
+ {
+ Name(i205, 0xabcd0205)
+ Name(i206, 0xabcd0206)
+ }
+
+ d101.m203(0)
+
+ if (LNotEqual(IG02, RC00)) {
+ if (LNot(IG03)) {
+ Store(1, IG03)
+ err(ts, z172, 0x000, 0, 0, IG02, RC00)
+ }
+ }
+}
+
+Method(mr05, 1)
+{
+ Name(ts, "mr05")
+ Name(i000, 0xabcd0000)
+ Name(i001, 0xabcd0001)
+
+ mrfe(ts)
+
+ Store(IG01, i000)
+ Store(arg0, i001)
+ Increment(IG01)
+ Increment(IG02)
+ if (LLess(IG01, RC00)) {
+ ^mr04.d101.m203(IG01)
+ }
+
+ Decrement(IG01)
+ if (LNotEqual(i000, IG01)) {
+ err(ts, z172, 0x000, 0, 0, i000, IG01)
+ }
+ if (LNotEqual(i001, arg0)) {
+ err(ts, z172, 0x000, 0, 0, i001, arg0)
+ }
+
+ Multiply(RC00, 2, Local0)
+ Decrement(Local0)
+ if (LNotEqual(IG02, Local0)) {
+ if (LNot(IG03)) {
+ Store(1, IG03)
+ err(ts, z172, 0x000, 0, 0, IG02, Local0)
+ }
+ }
+}
+
+
+Method(mrff)
+{
+ Name(ts, "mrff")
+ Name(run0, 1)
+
+ CH03(ts, z172, 0x000, 0, 0)
+
+ SRMT("mr00")
+ mrfd()
+ mr00()
+
+ SRMT("mr01")
+ mrfd()
+ mr01(0)
+
+ SRMT("mr02")
+ mrfd()
+ mr02(0)
+
+ SRMT("mr03")
+ mrfd()
+ mr03()
+
+ SRMT("mr04")
+ mrfd()
+ mr04()
+
+/*
+test --- run mr05 and expect exception
+*/
+
+
+
+ CH03(ts, z172, 0x000, 0, 0)
+}
diff --git a/tests/aslts/src/runtime/collections/Identity2MS/abbu/run_points.asl b/tests/aslts/src/runtime/collections/Identity2MS/abbu/run_points.asl
new file mode 100644
index 000000000..15319b5e2
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/Identity2MS/abbu/run_points.asl
@@ -0,0 +1,48 @@
+/* Methods to run manually (for ABBU only) */
+
+Method(lf00) { IIN0() mf00() Return(POUT) }
+Method(lf01) { IIN0() mf01() Return(POUT) }
+Method(lf02) { IIN0() mf02() Return(POUT) }
+Method(lf03) { IIN0() mf03() Return(POUT) }
+Method(lf04) { IIN0() mf04() Return(POUT) }
+Method(lf05) { IIN0() mf05() Return(POUT) }
+Method(lf06) { IIN0() mf06() Return(POUT) }
+Method(lf07) { IIN0() mf07() Return(POUT) }
+Method(lf08) { IIN0() mf08() Return(POUT) }
+Method(lf09) { IIN0() mf09() Return(POUT) }
+Method(lf0a) { IIN0() mf0a() Return(POUT) }
+Method(lf0b) { IIN0() mf0b() Return(POUT) }
+Method(lf0c) { IIN0() mf0c() Return(POUT) }
+Method(lf0d) { IIN0() mf0d() Return(POUT) }
+Method(lf0e) { IIN0() mf0e() Return(POUT) }
+Method(lf0f) { IIN0() mf0f() Return(POUT) }
+Method(lf10) { IIN0() mf10() Return(POUT) }
+Method(lf11) { IIN0() mf11() Return(POUT) }
+Method(lf12) { IIN0() mf12() Return(POUT) }
+Method(lf13) { IIN0() mf13() Return(POUT) }
+Method(lf14) { IIN0() mf14() Return(POUT) }
+Method(lf15) { IIN0() mf15() Return(POUT) }
+Method(lf16) { IIN0() mf16() Return(POUT) }
+Method(lf17) { IIN0() mf17() Return(POUT) }
+Method(lf18) { IIN0() mf18() Return(POUT) }
+Method(lf19) { IIN0() mf19() Return(POUT) }
+Method(lf1a) { IIN0() mf1a() Return(POUT) }
+Method(lf1b) { IIN0() mf1b() Return(POUT) }
+Method(lf1c) { IIN0() mf1c() Return(POUT) }
+Method(lf1d) { IIN0() mf1d() Return(POUT) }
+Method(lf1e) { IIN0() mf1e() Return(POUT) }
+Method(lf1f) { IIN0() mf1f() Return(POUT) }
+Method(lf20) { IIN0() mf20() Return(POUT) }
+Method(lf21) { IIN0() mf21() Return(POUT) }
+Method(lf22) { IIN0() mf22() Return(POUT) }
+Method(lf23) { IIN0() mf23() Return(POUT) }
+Method(lf24) { IIN0() mf24() Return(POUT) }
+Method(lf25) { IIN0() mf25() Return(POUT) }
+Method(lf26) { IIN0() mf26() Return(POUT) }
+Method(lf27) { IIN0() mf27() Return(POUT) }
+Method(lf28) { IIN0() mf28() Return(POUT) }
+Method(lf29) { IIN0() mf29(0) Return(POUT) }
+Method(lf2a) { IIN0() mf2a(0) Return(POUT) }
+Method(lf2b) { IIN0() mf2b() Return(POUT) }
+Method(lf2c) { IIN0() mf2c(0) Return(POUT) }
+Method(lf2d) { IIN0() mt0e() Return(POUT) }
diff --git a/tests/aslts/src/runtime/collections/Makefile b/tests/aslts/src/runtime/collections/Makefile
new file mode 100644
index 000000000..c5e7236e1
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/Makefile
@@ -0,0 +1,8 @@
+# collections
+
+MDIRS= bdemo complex exceptions functional IMPL service mt Identity2MS
+
+# FULL
+
+TOP= ../../..
+include $(TOP)/Makefile.switch
diff --git a/tests/aslts/src/runtime/collections/Makefile.install b/tests/aslts/src/runtime/collections/Makefile.install
new file mode 100644
index 000000000..0f1cbf08c
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/Makefile.install
@@ -0,0 +1,13 @@
+
+all: compile_test_case
+
+install: install_test_case
+
+clean: clobber
+
+clobber: FORCE
+ $(RM) *.aml
+
+include $(TOP)/Makefile.def
+
+FORCE:
diff --git a/tests/aslts/src/runtime/collections/README b/tests/aslts/src/runtime/collections/README
new file mode 100644
index 000000000..9b0656afc
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/README
@@ -0,0 +1,53 @@
+
+CONTENTS
+
+ particular run-time test collections
+
+bdemo
+
+ bug demonstrating and proving bug fixes test collection
+
+complex
+
+ complex test collection
+
+exceptions
+
+ exceptional conditions test collection
+
+functional
+
+ functional test collection
+
+mt
+
+ tests of multi-threading functionality (mt-tests)
+
+IMPL
+
+ Implementation dependent tests.
+ These tests may be based on some internal
+ features of the particular implementation
+ of ACPI.
+
+FULL
+
+ full test - all the test collections (functional + complex + exceptions + etc.)
+ compiled together as one DefinitionBlock
+
+service
+
+ service tests
+
+TMP
+
+ the test sample
+
+Identity2MS
+
+ tests to prove identity of ACPICA to MS
+
+Makefile.install
+
+ the uniform targets and rules to perform make-install
+ and other standard features
diff --git a/tests/aslts/src/runtime/collections/TMP/level/MAIN.asl b/tests/aslts/src/runtime/collections/TMP/level/MAIN.asl
new file mode 100644
index 000000000..ab990d7c1
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/TMP/level/MAIN.asl
@@ -0,0 +1,71 @@
+/*
+ * 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.
+ */
+
+/* The test sample */
+DefinitionBlock(
+ "tmp.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../runtime/cntl/DECL.asl")
+
+ Method(m000) {
+ Name(S000, "")
+ Name(b000, Buffer(16) {0x5b,0x5f,0x54,0x5f})
+ Store(b000, s000)
+ Store(b000, Debug)
+ Store(s000, Debug)
+
+ Store("asdf", b000)
+ Store(b000, Debug)
+
+ Store("[_T_", b000)
+ Store(b000, Debug)
+ }
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ m000()
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0000/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0000/DECL.asl
new file mode 100644
index 000000000..a21bb1ca5
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0000/DECL.asl
@@ -0,0 +1,93 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 0000:
+ *
+ * SUMMARY: Logical operators return True equal to One but not Ones
+ */
+
+Method(md9a)
+{
+ Name(ON00, 0xffffffffffffffff)
+
+ /*
+ * Additional checking to prevent errors unrelated to this test.
+ *
+ * Check that exceptions initiated by some bdemo tests on the
+ * global level are all actually handled and reset at this point.
+ */
+ CH03("", 0, 0x999, 0, 0)
+
+ Store(LAnd(1, 1), Local0)
+ if (LNotEqual(Local0, ON00)) {
+ err("", zFFF, 0x000, 0, 0, Local0, ON00)
+ }
+
+ Store(LEqual(0, 0), Local0)
+ if (LNotEqual(Local0, ON00)) {
+ err("", zFFF, 0x001, 0, 0, Local0, ON00)
+ }
+
+ Store(LGreater(1, 0), Local0)
+ if (LNotEqual(Local0, ON00)) {
+ err("", zFFF, 0x002, 0, 0, Local0, ON00)
+ }
+
+ Store(LGreaterEqual(1, 1), Local0)
+ if (LNotEqual(Local0, ON00)) {
+ err("", zFFF, 0x003, 0, 0, Local0, ON00)
+ }
+
+ Store(LLess(0, 1), Local0)
+ if (LNotEqual(Local0, ON00)) {
+ err("", zFFF, 0x004, 0, 0, Local0, ON00)
+ }
+
+ Store(LLessEqual(1, 1), Local0)
+ if (LNotEqual(Local0, ON00)) {
+ err("", zFFF, 0x005, 0, 0, Local0, ON00)
+ }
+
+ Store(LNot(0), Local0)
+ if (LNotEqual(Local0, ON00)) {
+ err("", zFFF, 0x006, 0, 0, Local0, ON00)
+ }
+
+ Store(LNotEqual(1, 0), Local0)
+ if (LNotEqual(Local0, ON00)) {
+ err("", zFFF, 0x007, 0, 0, Local0, ON00)
+ }
+
+ Store(LOr(0, 1), Local0)
+ if (LNotEqual(Local0, ON00)) {
+ err("", zFFF, 0x008, 0, 0, Local0, ON00)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0000/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0000/MAIN.asl
new file mode 100644
index 000000000..2ca73d7f1
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0000/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B0.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0000/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0000/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0000/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0000/RUN.asl
new file mode 100644
index 000000000..c4a7a7673
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0000/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 0", TCLD, 0, W017)) {
+ SRMT("md9a")
+ md9a()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0001_ASL/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0001_ASL/DECL.asl
new file mode 100644
index 000000000..056143fec
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0001_ASL/DECL.asl
@@ -0,0 +1,91 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 0001:
+ *
+ * COMPONENT: Will not be fixed
+ *
+ * SUMMARY: The ASL Compiler doesn't allow non-constant TimeoutValue for Acquire
+ */
+
+Method(md9b)
+{
+ Name(TOUT, 0)
+
+ Store(Acquire(mxd0, 0), Local0)
+ if (Local0) {
+ err("", zFFF, 0x000, 0, 0, 0, Local0)
+ }
+
+ Store(Acquire(mxd0, 0x1000), Local0)
+ if (Local0) {
+ err("", zFFF, 0x001, 0, 0, 0, Local0)
+ }
+
+ Store(0x1000, Local1)
+ Store(Acquire(mxd0, Local1), Local0)
+ if (Local0) {
+ err("", zFFF, 0x002, 0, 0, 0, Local0)
+ }
+
+ Store(Acquire(mxd0, TOUT), Local0)
+ if (Local0) {
+ err("", zFFF, 0x003, 0, 0, 0, Local0)
+ }
+}
+
+/*
+Intel ACPI Component Architecture
+ASL Optimizing Compiler version 20050930 [Oct 15 2005]
+Copyright (C) 2000 - 2005 Intel Corporation
+Supports ACPI Specification Revision 3.0
+
+../../../../runtime/cntl/common.asl 1139: switch (arg0) {
+Warning 2092 - ^ Switch expression is not a static Integer/Buffer/String data type, defaulting to Integer
+
+../../../../runtime/cntl/common.asl 1353: Switch (Local0) {
+Warning 2092 - ^ Switch expression is not a static Integer/Buffer/String data type, defaulting to Integer
+
+../../../../runtime/collections/bdemo/0001/DECL.asl 24: Store(Acquire(mxd0, Local1), Local0)
+Error 1094 - parse error ^
+
+../../../../runtime/collections/bdemo/0001/DECL.asl 24: Store(Acquire(mxd0, Local1), Local0)
+Error 1043 - Invalid type ^ ([NoReturnValue] found, Store operator requires [Integer|String|Buffer|Package|DdbHandle|Reference])
+
+../../../../runtime/collections/bdemo/0001/DECL.asl 29: Store(Acquire(mxd0, TOUT), Local0)
+Error 1094 - parse error ^
+
+../../../../runtime/collections/bdemo/0001/DECL.asl 29: Store(Acquire(mxd0, TOUT), Local0)
+Error 1043 - Invalid type ^ ([NoReturnValue] found, Store operator requires [Integer|String|Buffer|Package|DdbHandle|Reference])
+
+ASL Input: main.asl - 41 lines, 154106 bytes, 3969 keywords
+Compilation complete. 4 Errors, 2 Warnings, 0 Remarks, 1818 Optimizations
+*/ \ No newline at end of file
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0001_ASL/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0001_ASL/MAIN.asl
new file mode 100644
index 000000000..bfd94cdf8
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0001_ASL/MAIN.asl
@@ -0,0 +1,58 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B1.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/common/DECL.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0001_ASL/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0001_ASL/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0001_ASL/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0001_ASL/RUN.asl
new file mode 100644
index 000000000..f90ec1ab0
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0001_ASL/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 1", TCLD, 1, W017)) {
+ SRMT("md9b")
+ md9b()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0002/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0002/DECL.asl
new file mode 100644
index 000000000..e3f8fb357
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0002/DECL.asl
@@ -0,0 +1,56 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 0002:
+ *
+ * SUMMARY: The elseif operator works incorrectly
+ */
+
+Method(md9c)
+{
+ Store(0x55555555, Local0)
+ Store(0x11111111, Local1)
+
+ if (LEqual(Local1, 0)) {
+ Store(0, Local0)
+ } elseif (LLessEqual(Local1, 3)) {
+ Store(1, Local0)
+ if (LEqual(Local1, 2)) {
+ Store(2, Local0)
+ } else {
+ Store(3, Local0)
+ }
+ }
+
+ if (LNotEqual(Local0, 0x55555555)){
+ err("", zFFF, 0x000, 0, 0, Local0, 0x55555555)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0002/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0002/MAIN.asl
new file mode 100644
index 000000000..c185dc775
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0002/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B2.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0002/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0002/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0002/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0002/RUN.asl
new file mode 100644
index 000000000..f2989fa0d
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0002/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 2", TCLD, 2, W017)) {
+ SRMT("md9c")
+ md9c()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0003_ASL/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0003_ASL/DECL.asl
new file mode 100644
index 000000000..504dea2d6
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0003_ASL/DECL.asl
@@ -0,0 +1,61 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 0003:
+ *
+ * COMPONENT: Will not be fixed
+ *
+ * SUMMARY: The ASL Compiler should reject Switch operators with the identical Case operators in it
+ *
+ * Expected: Error of iASL
+ * Two the same values of Case should be reporeted as Error by iASL
+ */
+
+Method(md9d, 1)
+{
+ Switch (arg0) {
+ case (0) {
+ Store("The first case 0", Debug)
+ }
+ case (0) {
+ Store("The second case 0", Debug)
+ }
+ case (1) {
+ Store("The case 1", Debug)
+ }
+ }
+}
+
+Method(md9e)
+{
+ md9d(0)
+ md9d(1)
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0003_ASL/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0003_ASL/MAIN.asl
new file mode 100644
index 000000000..0c2c15c4b
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0003_ASL/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B3.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0003_ASL/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0003_ASL/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0003_ASL/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0003_ASL/RUN.asl
new file mode 100644
index 000000000..23b924a00
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0003_ASL/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 3", TCLD, 3, W017)) {
+ SRMT("md9e")
+ md9e()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0004/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0004/DECL.asl
new file mode 100644
index 000000000..3cf0048f5
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0004/DECL.asl
@@ -0,0 +1,59 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 0004:
+ *
+ * SUMMARY: Concatenate being invoked in Method M000 changes the type of LocalX of calling Method passsed as operand to M000
+ */
+
+Method(md9f, 1)
+{
+ Concatenate("qwertyuiop", arg0)
+}
+
+Method(mda0)
+{
+ Store(0, Local5)
+
+ md9f(Local5)
+
+ Store(ObjectType(Local5), Local0)
+
+ if (LNotEqual(Local0, c009)){
+ err("", zFFF, 0x000, 0, 0, Local0, c009)
+ }
+
+ Increment(Local5)
+
+ if (LNotEqual(Local5, 1)){
+ err("", zFFF, 0x001, 0, 0, Local5, 1)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0004/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0004/MAIN.asl
new file mode 100644
index 000000000..c2d7d7024
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0004/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B4.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0004/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0004/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0004/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0004/RUN.asl
new file mode 100644
index 000000000..ec866d724
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0004/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 4", TCLD, 4, W017)) {
+ SRMT("mda0")
+ mda0()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0005/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0005/DECL.asl
new file mode 100644
index 000000000..59c67b9db
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0005/DECL.asl
@@ -0,0 +1,67 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 0005:
+ *
+ * SUMMARY: Switch operator doesn't provide Default branch
+ *
+ * Default is not yet implemented at all.
+ */
+
+Method(mda1, 1)
+{
+ Store(0, Local7)
+
+ Switch (Arg0) {
+ Case (5) {
+ Store(0x1234, Local7)
+ }
+ Default {
+ Store(0x5678, Local7)
+ }
+ }
+
+ if (LEqual(Arg0, 5)) {
+ if (LNotEqual(Local7, 0x1234)) {
+ err("", zFFF, 0x000, 0, 0, Local7, 0x1234)
+ }
+ } else {
+ if (LNotEqual(Local7, 0x5678)) {
+ err("", zFFF, 0x001, 0, 0, Local7, 0x5678)
+ }
+ }
+}
+
+Method(mda2)
+{
+ mda1(5)
+ mda1(0)
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0005/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0005/MAIN.asl
new file mode 100644
index 000000000..63e0656b5
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0005/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B5.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0005/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0005/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0005/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0005/RUN.asl
new file mode 100644
index 000000000..cbea65cb5
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0005/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 5", TCLD, 5, W017)) {
+ SRMT("mda2")
+ mda2()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0006/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0006/DECL.asl
new file mode 100644
index 000000000..a013763cb
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0006/DECL.asl
@@ -0,0 +1,48 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 0006:
+ *
+ * SUMMARY: ToInteger converts a decimal string the same way as a hexadecimal one
+ */
+
+Method(mda3)
+{
+ ToInteger("0x12345678", Local0)
+ if (LNotEqual(Local0, 0x12345678)) {
+ err("", zFFF, 0x000, 0, 0, Local0, 0x12345678)
+ }
+
+ ToInteger("12345678", Local0)
+ if (LNotEqual(Local0, 12345678)) {
+ err("", zFFF, 0x001, 0, 0, Local0, 12345678)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0006/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0006/MAIN.asl
new file mode 100644
index 000000000..3e17875c4
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0006/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B6.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0006/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0006/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0006/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0006/RUN.asl
new file mode 100644
index 000000000..57339f0dd
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0006/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 6", TCLD, 6, W017)) {
+ SRMT("mda3")
+ mda3()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0007/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0007/DECL.asl
new file mode 100644
index 000000000..37fecdb83
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0007/DECL.asl
@@ -0,0 +1,48 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 0007:
+ *
+ * SUMMARY: ToString updates the LocalX value (if it is zero) passed as Length parameter
+ */
+
+Method(mda4)
+{
+ Name(B000, Buffer(4) {0x21, 0x21, 0x21, 0x21})
+
+ Store(0, Local0)
+
+ ToString(B000, Local0)
+
+ if (LNotequal(Local0, 0)) {
+ err("", zFFF, 0x000, 0, 0, Local0, 0)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0007/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0007/MAIN.asl
new file mode 100644
index 000000000..7530a3f0b
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0007/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B7.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0007/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0007/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0007/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0007/RUN.asl
new file mode 100644
index 000000000..0a39749da
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0007/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 7", TCLD, 7, W017)) {
+ SRMT("mda4")
+ mda4()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0008/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0008/DECL.asl
new file mode 100644
index 000000000..fd3cae09c
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0008/DECL.asl
@@ -0,0 +1,47 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 0008:
+ *
+ * SUMMARY: The type returned by ObjectType for Object created by Field operator is not Field
+ */
+
+Method(mda5)
+{
+ OperationRegion(r000, SystemMemory, 0x125, 256)
+ Field (r000, ByteAcc, NoLock, Preserve) {f000, 32}
+
+ Store(ObjectType(f000), Local0)
+
+ if (LNotequal(Local0, c00d)) {
+ err("", zFFF, 0x000, 0, 0, Local0, c00d)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0008/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0008/MAIN.asl
new file mode 100644
index 000000000..e019d61ce
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0008/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B8.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0008/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0008/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0008/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0008/RUN.asl
new file mode 100644
index 000000000..02dd46684
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0008/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 8", TCLD, 8, W017)) {
+ SRMT("mda5")
+ mda5()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0009/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0009/DECL.asl
new file mode 100644
index 000000000..ce22021c8
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0009/DECL.asl
@@ -0,0 +1,61 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 0009:
+ *
+ * SUMMARY: Exception on ObjectType passed with not initialized values (in LocalX)
+ */
+
+Method(mda6)
+{
+ Store(ObjectType(Local0), Local7)
+ if (LNotequal(Local7, c008)) {
+ err("", zFFF, 0x000, 0, 0, Local7, c008)
+ }
+}
+
+Method(mda7, 1)
+{
+ if (arg0) {
+ Store(0, Local0)
+ }
+ Store(ObjectType(Local0), Local7)
+ if (LNotequal(Local7, c008)) {
+ err("", zFFF, 0x001, 0, 0, Local7, c008)
+ }
+}
+
+Method(mda8)
+{
+ mda6()
+ mda7(0)
+}
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0009/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0009/MAIN.asl
new file mode 100644
index 000000000..e24c8fa1a
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0009/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B9.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0009/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0009/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0009/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0009/RUN.asl
new file mode 100644
index 000000000..cd68d4ec5
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0009/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 9", TCLD, 9, W017)) {
+ SRMT("mda8")
+ mda8()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0010/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0010/DECL.asl
new file mode 100644
index 000000000..5afde7a0b
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0010/DECL.asl
@@ -0,0 +1,58 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 0010:
+ *
+ * SUMMARY: ToBuffer transforms operand (in local variable) to reference
+ */
+
+Method(mda9)
+{
+ Store(Buffer(4){10, 11, 12, 13}, Local0)
+
+ ToBuffer(Local0, Local1)
+
+ Store(ObjectType(Local1), Local2)
+ if (LNotequal(Local2, c00b)) {
+ err("", zFFF, 0x000, 0, 0, Local2, c00b)
+ }
+ if (LNotequal(Local1, Buffer(4){10, 11, 12, 13})) {
+ err("", zFFF, 0x001, 0, 0, Local1, Buffer(4){10, 11, 12, 13})
+ }
+
+ Store(ObjectType(Local0), Local2)
+ if (LNotequal(Local2, c00b)) {
+ err("", zFFF, 0x002, 0, 0, Local2, c00b)
+ }
+ if (LNotequal(Local0, Buffer(4){10, 11, 12, 13})) {
+ err("", zFFF, 0x003, 0, 0, Local0, Buffer(4){10, 11, 12, 13})
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0010/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0010/MAIN.asl
new file mode 100644
index 000000000..b1e8d4835
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0010/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B10.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0010/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0010/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0010/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0010/RUN.asl
new file mode 100644
index 000000000..371fa9326
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0010/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 10", TCLD, 10, W017)) {
+ SRMT("mda9")
+ mda9()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0011_ASL/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0011_ASL/DECL.asl
new file mode 100644
index 000000000..2ba98285c
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0011_ASL/DECL.asl
@@ -0,0 +1,85 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 0011:
+ *
+ * SUMMARY: The ASL Compiler crashes on Create*Field for invalid FieldName parameter
+ *
+ * ASL-compile crashes while parsing the code below
+ */
+
+Method(mdaa, 4)
+{
+ // Compiler succeeds for these Create*Field
+ // (FieldName specified directly):
+
+ CreateBitField (arg0, arg1, bf00)
+ CreateByteField (arg0, arg1, bf01)
+ CreateDWordField (arg0, arg1, bf02)
+ CreateField (arg0, arg1, arg2, bf03)
+ CreateQWordField (arg0, arg1, bf04)
+ CreateWordField (arg0, arg1, bf05)
+
+
+ // Compiler crashes for each of these Create*Field
+ // (FieldName specified by LocalX):
+
+ Store("bf06", Local0)
+ Store("bf07", Local1)
+ Store("bf08", Local2)
+ Store("bf09", Local3)
+ Store("bf0a", Local4)
+ Store("bf0b", Local5)
+
+ CreateBitField (arg0, arg1, Local0)
+ CreateByteField (arg0, arg1, Local1)
+ CreateDWordField (arg0, arg1, Local2)
+ CreateField (arg0, arg1, arg2, Local3)
+ CreateQWordField (arg0, arg1, Local4)
+ CreateWordField (arg0, arg1, Local5)
+
+
+ // Compiler crashes for each of these Create*Field
+ // (FieldName specified by ArgX):
+
+ CreateBitField (arg0, arg1, arg3)
+ CreateByteField (arg0, arg1, arg3)
+ CreateDWordField (arg0, arg1, arg3)
+ CreateField (arg0, arg1, arg2, arg3)
+ CreateQWordField (arg0, arg1, arg3)
+ CreateWordField (arg0, arg1, arg3)
+}
+
+Method(mdab)
+{
+ Name(b000, Buffer(100){})
+ mdaa(b000, 0, 0, "d000")
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0011_ASL/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0011_ASL/MAIN.asl
new file mode 100644
index 000000000..22f7b04ba
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0011_ASL/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B11.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0011_ASL/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0011_ASL/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0012/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0012/DECL.asl
new file mode 100644
index 000000000..020bef8a4
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0012/DECL.asl
@@ -0,0 +1,45 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 0012:
+ *
+ * SUMMARY: DerefOf doesn't evaluate String to Object
+ *
+ *
+ * This functionality, DerefOf passed with String,
+ * should be verified comprehensively in NameSpace tests.
+ */
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0012/DataLevel10.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0012/DataLevel20.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0012/DataLevel21_DeclUp.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0012/DataLevel21_DeclDown.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0012/Method.asl")
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0012/DataLevel10.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0012/DataLevel10.asl
new file mode 100644
index 000000000..d0ff7ada0
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0012/DataLevel10.asl
@@ -0,0 +1,600 @@
+/*
+ * 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.
+ */
+
+/*
+ * 1-level model: \\<Method>
+ *
+ * Data for DerefOf(<String>) are 0 levels up.
+ * (data being referred are in the same Method which
+ * initiates DerefOf(<String>)).
+ *
+ * DataLevel<number_of_levels_in_model><data_are_N_levels_up>.asl
+ *
+ *
+ * 1. mfa0:
+ * see mfa0 - after bug fix add checking of values of UnitFields not only type checks
+ */
+
+
+/*
+ * 0 - Check different ways to pass String
+ */
+Method(mdac)
+{
+ Method(mm00)
+ {
+ Return("b000")
+ }
+
+ Method(mm01, 1)
+ {
+ Return(arg0)
+ }
+
+ Method(mm02, 1)
+ {
+ Store(DerefOf(arg0), Local7)
+
+ Return(Local7)
+ }
+
+ Name(b000, Buffer(){ 1, 2, 3, 4, 0x95, 6, 7, 8})
+ Name(bb00, Buffer(){ 1, 2, 3, 4, 0x95, 6, 7, 8})
+ Name(s000, "b000")
+ Name(ss00, "b000")
+ Name(i000, 0)
+
+ Store("b000", Local0)
+ CopyObject("b000", i000)
+ Store(s000, Local7)
+
+ // Checkings
+
+ CH03("", 0, 0x000, 0, 0)
+
+ Store(DerefOf("b000"), Local1)
+ mf88(Local1, c00b, bb00, 0x001, 0x002, 1)
+
+ Store(DerefOf(Local0), Local1)
+ mf88(Local1, c00b, bb00, 0x003, 0x004, 1)
+
+ Store(DerefOf(Local7), Local1)
+ mf88(Local1, c00b, bb00, 0x005, 0x006, 1)
+
+ Store(DerefOf(s000), Local1)
+ Store(DerefOf(s000), Local1)
+ Store(DerefOf(s000), Local1)
+ Store(DerefOf(s000), Local1)
+ Store(DerefOf(s000), Local1)
+ Store(DerefOf(s000), Local1)
+ Store(DerefOf(s000), Local1)
+ Store(DerefOf(s000), Local1)
+ Store(DerefOf(s000), Local1)
+ mf88(Local1, c00b, bb00, 0x007, 0x008, 1)
+
+ Store(DerefOf(mm00()), Local1)
+ mf88(Local1, c00b, bb00, 0x009, 0x00a, 1)
+
+ Store(DerefOf(mm01(ss00)), Local1)
+ mf88(Local1, c00b, bb00, 0x00b, 0x00c, 1)
+
+ Store(DerefOf(ToString("b000")), Local1)
+ mf88(Local1, c00b, bb00, 0x00d, 0x00e, 1)
+
+ Store(DerefOf(Store("b000", Local6)), Local1)
+ mf88(Local1, c00b, bb00, 0x00f, 0x010, 1)
+
+ Store(DerefOf(i000), Local1)
+ mf88(Local1, c00b, bb00, 0x011, 0x012, 1)
+
+ Store(mm02("^b000"), Local1)
+ mf88(Local1, c00b, bb00, 0x013, 0x014, 1)
+
+ CH03("", 0, 0x015, 0, 0)
+}
+
+/*
+ * 1 - Check different ways to specify elements of NameSpace
+ */
+Method(mf89)
+{
+ Name(i010, 0xaabc0123)
+ Processor(pr01, 0, 0xFFFFFFFF, 0)
+ {
+ Name(i000, 0xaabc0000)
+ }
+ Name(ii00, 0xaabc0123)
+
+ Name(b001, Buffer(){ 1, 2, 3, 4, 0x95, 6, 7, 8})
+ Name(bb01, Buffer(){ 1, 2, 3, 4, 0x95, 6, 7, 8})
+
+ // Checkings
+
+ Store(DerefOf("b001"), Local1)
+ mf88(Local1, c00b, bb01, 0x000, 0x001, 1)
+
+ Store(DerefOf("^mf89.b001"), Local1)
+ if (FLG9) {
+ mf88(Local1, c00b, bb01, 0x002, 0x003, 1)
+ } else {
+ CH04("", 0, 0xff, 0, 0x004, 0, 0)
+ }
+
+ Store(DerefOf("^mf89.pr01.i000"), Local1)
+ if (FLG9) {
+ mf88(Local1, c009, 0xaabc0000, 0x005, 0x006, 1)
+ } else {
+ CH04("", 0, 0xff, 0, 0x007, 0, 0)
+ }
+
+ Store(DerefOf("\\mf89.pr01.i000"), Local1)
+ if (FLG9) {
+ mf88(Local1, c009, 0xaabc0000, 0x008, 0x009, 1)
+ } else {
+ CH04("", 0, 0xff, 0, 0x00a, 0, 0) // AE_NOT_FOUND
+ }
+
+ Store(DerefOf("^mf89.i010"), Local1)
+ if (FLG9) {
+ mf88(Local1, c009, ii00, 0x00b, 0x00c, 1)
+ } else {
+ CH04("", 0, 0xff, 0, 0x00d, 0, 0) // AE_NOT_FOUND
+ }
+
+ CH03("", 0, 0x00e, 0, 0)
+}
+
+/*
+ * 2 - Check access to calculated type objects - DerefOf(<String>)
+ */
+Method(mf8a)
+{
+ Name(b002, Buffer(){ 1, 2, 3, 4, 0x95, 6, 7, 8})
+ Name(bb02, Buffer(){ 1, 2, 3, 4, 0x95, 6, 7, 8})
+ Name(s002, "String")
+ Name(ss02, "String")
+ Name(i002, 0xabbc0000)
+ Name(ii02, 0xabbc0000)
+ Name(p002, Package() {1,2,3,4})
+
+ CH03("", 0, 0x01f, 0, 0)
+
+ // Checkings
+
+ Store(DerefOf("b002"), Local1)
+ mf88(Local1, c00b, bb02, 0x020, 0x021, 1)
+
+ Store(DerefOf("s002"), Local1)
+ mf88(Local1, c00a, ss02, 0x022, 0x023, 1)
+
+ Store(DerefOf("i002"), Local1)
+ mf88(Local1, c009, ii02, 0x024, 0x025, 1)
+
+ Store(DerefOf("p002"), Local1)
+ mf88(Local1, c00c, 0, 0x026, 0x027, 0)
+
+ CH03("", 0, 0x028, 0, 0)
+}
+
+/*
+ * 3 - Check access to special type objects - DerefOf(<String>)
+ */
+Method(mf8b)
+{
+ Event(e003)
+ Mutex(mx03, 0)
+ Device(d003) { Name(i900, 0xabcd0017) }
+ ThermalZone(tz03) {}
+ Processor(pr03, 0, 0xFFFFFFFF, 0) {}
+ OperationRegion(r003, SystemMemory, 0x100, 0x100)
+ PowerResource(pw03, 1, 0) {Method(mmmm){return (0)}}
+
+ // Checkings
+
+ CH03("", 0, 0x029, 0, 0)
+ CopyObject(DerefOf("e003"), Local1)
+ mf88(Local1, c00f, 0, 0x02a, 0x02b, 0)
+
+ CH03("", 0, 0x02c, 0, 0)
+ CopyObject(DerefOf("mx03"), Local1)
+ mf88(Local1, c011, 0, 0x02d, 0x02e, 0)
+
+ CH03("", 0, 0x02f, 0, 0)
+ CopyObject(DerefOf("d003"), Local1)
+ mf88(Local1, c00e, 0, 0x030, 0x031, 0)
+
+ CH03("", 0, 0x032, 0, 0)
+ CopyObject(DerefOf("tz03"), Local1)
+ mf88(Local1, c015, 0, 0x033, 0x034, 0)
+
+ CH03("", 0, 0x035, 0, 0)
+ CopyObject(DerefOf("pr03"), Local1)
+ mf88(Local1, c014, 0, 0x036, 0x037, 0)
+
+ if (y510) {
+ CH03("", 0, 0x038, 0, 0)
+ CopyObject(DerefOf("r003"), Local1)
+ mf88(Local1, c012, 0, 0x039, 0x03a, 0)
+ }
+
+ CH03("", 0, 0x03b, 0, 0)
+ CopyObject(DerefOf("pw03"), Local1)
+ mf88(Local1, c013, 0, 0x03c, 0x03d, 0)
+}
+
+/*
+ * 4 - Check DerefOf(<Not-String>) - calculated type objects
+ */
+Method(mf8c)
+{
+ Name(b004, Buffer(){ 1, 2, 3, 4, 0x95, 6, 7, 8})
+ Name(i004, 0xabbc0000)
+ Name(p004, Package() {1,2,3,4})
+
+ // Checkings
+
+ CH03("", 0, 0x03e, 0, 0)
+ Store(DerefOf(b004), Local1)
+ CH04("", 0, 0xff, 0, 0x03f, 0, 0)
+
+ CH03("", 0, 0x040, 0, 0)
+ Store(DerefOf(i004), Local1)
+ CH04("", 0, 0xff, 0, 0x041, 0, 0)
+
+ CH03("", 0, 0x042, 0, 0)
+ Store(DerefOf(p004), Local1)
+ CH04("", 0, 0xff, 0, 0x043, 0, 0)
+}
+
+/*
+ * 5 - Check DerefOf(<String>) - but String doesnt refer NameSpace object
+ */
+Method(mf8d)
+{
+ CH03("", 0, 0x044, 0, 0)
+ Store(DerefOf("0123"), Local1)
+ CH04("", 0, 0xff, 0, 0x045, 0, 0)
+
+ CH03("", 0, 0x046, 0, 0)
+ Store(DerefOf("zxcvbnm,./;'\][0123"), Local1)
+ CH04("", 0, 0xff, 0, 0x047, 0, 0)
+
+ CH03("", 0, 0x048, 0, 0)
+ Store(DerefOf("b0qv"), Local1)
+ CH04("", 0, 0xff, 0, 0x049, 0, 0)
+}
+
+/*
+ * 6 - Check different ways to pass String (mdac
+ * but without Store). Check - no exceptions.
+ */
+Method(mf8e)
+{
+ Method(mm60)
+ {
+ Return("b006")
+ }
+
+ Method(mm61, 1)
+ {
+ Return(arg0)
+ }
+
+ Name(b006, Buffer(){ 1, 2, 3, 4, 0x95, 6, 7, 8})
+ Name(bb06, Buffer(){ 1, 2, 3, 4, 0x95, 6, 7, 8})
+ Name(s006, "b006")
+ Name(ss06, "b006")
+ Name(i006, 0)
+
+
+ Store("b006", Local0)
+ CopyObject("b006", i006)
+ Store(s006, Local7)
+
+ // Checkings
+
+ CH03("", 0, 0x04a, 0, 0)
+
+ DerefOf("b006")
+
+ DerefOf(Local0)
+
+ DerefOf(Local7)
+
+ DerefOf(s006)
+ DerefOf(s006)
+ DerefOf(s006)
+ DerefOf(s006)
+ DerefOf(s006)
+ DerefOf(s006)
+ DerefOf(s006)
+ DerefOf(s006)
+ DerefOf(s006)
+
+ DerefOf(mm60())
+
+ DerefOf(mm61(ss06))
+
+ DerefOf(ToString("b006"))
+
+ DerefOf(Store("b006", Local6))
+
+ DerefOf(i006)
+
+ CH03("", 0, 0x04b, 0, 0)
+}
+
+/*
+ * 7 - Check access to special type objects - DerefOf(<String>)
+ */
+Method(mf8f)
+{
+ Event(e007)
+ Mutex(mx07, 0)
+ Device(d007) { Name(i900, 0xabcd0017) }
+ ThermalZone(tz07) {}
+ Processor(pr07, 0, 0xFFFFFFFF, 0) {}
+ OperationRegion(r007, SystemMemory, 0x100, 0x100)
+ PowerResource(pw07, 1, 0) {Method(mmmm){return (0)}}
+
+ // Checkings
+
+ CH03("", 0, 0x04c, 0, 0)
+ DerefOf("e007")
+ CH03("", 0, 0x04d, 0, 0)
+
+ CH03("", 0, 0x04e, 0, 0)
+ DerefOf("mx07")
+ CH03("", 0, 0x04f, 0, 0)
+
+ CH03("", 0, 0x050, 0, 0)
+ DerefOf("d007")
+ CH03("", 0, 0x051, 0, 0)
+
+ CH03("", 0, 0x052, 0, 0)
+ DerefOf("tz07")
+ CH03("", 0, 0x053, 0, 0)
+
+ CH03("", 0, 0x054, 0, 0)
+ DerefOf("pr07")
+ CH03("", 0, 0x055, 0, 0)
+
+ CH03("", 0, 0x056, 0, 0)
+ DerefOf("r007")
+ CH03("", 0, 0x057, 0, 0)
+
+ CH03("", 0, 0x058, 0, 0)
+ DerefOf("pw07")
+ CH03("", 0, 0x059, 0, 0)
+}
+
+/*
+ * 8 - Check DerefOf(<Not-String>) - calculated type objects
+ */
+Method(mf90)
+{
+ Name(b008, Buffer(){ 1, 2, 3, 4, 0x95, 6, 7, 8})
+ Name(i008, 0xabbc0000)
+ Name(p008, Package() {1,2,3,4})
+
+ // Checkings
+
+ CH03("", 0, 0x05a, 0, 0)
+ DerefOf(b008)
+ CH04("", 0, 0xff, 0, 0x05b, 0, 0)
+
+ CH03("", 0, 0x05c, 0, 0)
+ DerefOf(i008)
+ CH04("", 0, 0xff, 0, 0x05d, 0, 0)
+
+ CH03("", 0, 0x05e, 0, 0)
+ DerefOf(p008)
+ CH04("", 0, 0xff, 0, 0x05f, 0, 0)
+}
+
+/*
+ * 9 - Check DerefOf(<String>) - but String doesnt refer NameSpace object
+ */
+Method(mf91)
+{
+ CH03("", 0, 0x060, 0, 0)
+ DerefOf("0123")
+ CH04("", 0, 0xff, 0, 0x061, 0, 0)
+
+ CH03("", 0, 0x062, 0, 0)
+ DerefOf("zxcvbnm,./;'\][0123")
+ CH04("", 0, 0xff, 0, 0x063, 0, 0)
+
+ CH03("", 0, 0x064, 0, 0)
+ DerefOf("mf_d")
+ CH04("", 0, 0xff, 0, 0x065, 0, 0)
+
+ CH03("", 0, 0x066, 0, 0)
+ DerefOf("b009")
+ CH04("", 0, 0xff, 0, 0x067, 0, 0)
+}
+
+/*
+ * a - Check access to special type objects - DerefOf(<String>)
+ */
+Method(mfa0)
+{
+ Name(b00a, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})
+ OperationRegion(r00a, SystemMemory, 0x100, 0x100)
+
+ CreateField(b00a, 8, 8, bfa0)
+ Field(r00a, ByteAcc, NoLock, Preserve) {f0a0,8,f0a1,8,f0a2,8,f0a3,8}
+ BankField(r00a, f0a1, 0, ByteAcc, NoLock, Preserve) {bna0,4}
+ IndexField(f0a2, f0a3, ByteAcc, NoLock, Preserve) {ifa0,8,ifa1,8}
+
+ CH03("", 0, 0x068, 0, 0)
+
+ Store(DerefOf("bfa0"), Local1)
+ mf88(Local1, c009, 0xb1, 0x069, 0x06a, 1)
+
+ Store(DerefOf("f0a0"), Local1)
+ mf88(Local1, c009, 0, 0x06b, 0x06c, 0)
+
+ Store(DerefOf("f0a1"), Local1)
+ mf88(Local1, c009, 0, 0x06d, 0x06e, 0)
+
+ Store(DerefOf("f0a2"), Local1)
+ mf88(Local1, c009, 0, 0x06f, 0x070, 0)
+
+ Store(DerefOf("f0a3"), Local1)
+ mf88(Local1, c009, 0, 0x071, 0x072, 0)
+
+ Store(DerefOf("bna0"), Local1)
+ mf88(Local1, c009, 0, 0x073, 0x074, 0)
+
+ Store(DerefOf("ifa0"), Local1)
+ mf88(Local1, c009, 0, 0x075, 0x076, 0)
+
+ Store(DerefOf("ifa1"), Local1)
+ mf88(Local1, c009, 0, 0x077, 0x078, 0)
+
+ CH03("", 0, 0x079, 0, 0)
+}
+
+// b
+Method(mfa1)
+{
+ Name(b00b, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})
+ OperationRegion(r00b, SystemMemory, 0x100, 0x100)
+
+ CreateField(b00b, 8, 8, bfb0)
+ Field(r00b, ByteAcc, NoLock, Preserve) {f0b0,8,f0b1,8,f0b2,8,f0b3,8}
+ BankField(r00b, f0b1, 0, ByteAcc, NoLock, Preserve) {bnb0,4}
+ IndexField(f0b2, f0b3, ByteAcc, NoLock, Preserve) {ifb0,8,ifb1,8}
+
+ CH03("", 0, 0x07a, 0, 0)
+ Store(DerefOf(bfb0), Local1)
+ CH04("", 0, 0xff, 0, 0x07b, 0, 0)
+
+ CH03("", 0, 0x07c, 0, 0)
+ Store(DerefOf(f0b0), Local1)
+ CH04("", 0, 0xff, 0, 0x07d, 0, 0)
+
+ CH03("", 0, 0x07e, 0, 0)
+ Store(DerefOf(f0b1), Local1)
+ CH04("", 0, 0xff, 0, 0x07f, 0, 0)
+
+ CH03("", 0, 0x080, 0, 0)
+ Store(DerefOf(f0b2), Local1)
+ CH04("", 0, 0xff, 0, 0x081, 0, 0)
+
+ CH03("", 0, 0x082, 0, 0)
+ Store(DerefOf(f0b3), Local1)
+ CH04("", 0, 0xff, 0, 0x083, 0, 0)
+
+ CH03("", 0, 0x084, 0, 0)
+ Store(DerefOf(bnb0), Local1)
+ CH04("", 0, 0xff, 0, 0x085, 0, 0)
+
+ CH03("", 0, 0x086, 0, 0)
+ Store(DerefOf(ifb0), Local1)
+ CH04("", 0, 0xff, 0, 0x087, 0, 0)
+
+ CH03("", 0, 0x088, 0, 0)
+ Store(DerefOf(ifb1), Local1)
+ CH04("", 0, 0xff, 0, 0x089, 0, 0)
+}
+
+// c
+Method(mfa2)
+{
+ Event(e00c)
+ Mutex(mx0c, 0)
+ Device(d00c) { Name(i900, 0xabcd0017) }
+ ThermalZone(tz0c) {}
+ Processor(pr0c, 0, 0xFFFFFFFF, 0) {}
+ OperationRegion(r00c, SystemMemory, 0x100, 0x100)
+ PowerResource(pw0c, 1, 0) {Method(mmmm){return (0)}}
+
+ // Checkings
+
+ CH03("", 0, 0x08a, 0, 0)
+ DerefOf(e00c)
+ CH04("", 0, 0xff, 0, 0x08b, 0, 0)
+
+ CH03("", 0, 0x08c, 0, 0)
+ DerefOf(mx0c)
+ CH04("", 0, 0xff, 0, 0x08d, 0, 0)
+
+ CH03("", 0, 0x08e, 0, 0)
+ DerefOf(d00c)
+ CH04("", 0, 0xff, 0, 0x08f, 0, 0)
+
+ CH03("", 0, 0x090, 0, 0)
+ DerefOf(tz0c)
+ CH04("", 0, 0xff, 0, 0x091, 0, 0)
+
+ CH03("", 0, 0x092, 0, 0)
+ DerefOf(pr0c)
+ CH04("", 0, 0xff, 0, 0x093, 0, 0)
+
+ CH03("", 0, 0x094, 0, 0)
+ DerefOf(r00c)
+ CH04("", 0, 0xff, 0, 0x095, 0, 0)
+
+ CH03("", 0, 0x096, 0, 0)
+ DerefOf(pw0c)
+ CH04("", 0, 0xff, 0, 0x097, 0, 0)
+}
+
+Method(m12a)
+{
+ SRMT("mdac-10")
+ mdac()
+ SRMT("mf89-10")
+ mf89()
+ SRMT("mf8a-10")
+ mf8a()
+ SRMT("mf8b-10")
+ mf8b()
+ SRMT("mf8c-10")
+ mf8c()
+ SRMT("mf8d-10")
+ mf8d()
+ SRMT("mf8e-10")
+ mf8e()
+ SRMT("mf8f-10")
+ mf8f()
+ SRMT("mf90-10")
+ mf90()
+ SRMT("mf91-10")
+ mf91()
+ SRMT("mfa0-10")
+ mfa0()
+ SRMT("mfa1-10")
+ mfa1()
+ SRMT("mfa2-10")
+ mfa2()
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0012/DataLevel20.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0012/DataLevel20.asl
new file mode 100644
index 000000000..ed84f7ea1
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0012/DataLevel20.asl
@@ -0,0 +1,608 @@
+/*
+ * 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.
+ */
+
+/*
+ * 2-level model: \\m12b.<Method>
+ *
+ * Data for DerefOf(<String>) are 0 levels up.
+ *
+ * DataLevel<number_of_levels_in_model><data_are_N_levels_up>.asl
+ *
+ *
+ * 1. mfa0:
+ * see mfa0 - after bug fix add checking of values of UnitFields not only type checks
+ */
+
+Method(m12b)
+{
+
+
+/*
+ * 0 - Check different ways to pass String
+ */
+Method(mdac)
+{
+ Method(mm00)
+ {
+ Return("b000")
+ }
+
+ Method(mm01, 1)
+ {
+ Return(arg0)
+ }
+
+ Method(mm02, 1)
+ {
+ Store(DerefOf(arg0), Local7)
+
+ Return(Local7)
+ }
+
+ Name(b000, Buffer(){ 1, 2, 3, 4, 0x95, 6, 7, 8})
+ Name(bb00, Buffer(){ 1, 2, 3, 4, 0x95, 6, 7, 8})
+ Name(s000, "b000")
+ Name(ss00, "b000")
+ Name(i000, 0)
+
+ Store("b000", Local0)
+ CopyObject("b000", i000)
+ Store(s000, Local7)
+
+ // Checkings
+
+ CH03("", 0, 0x000, 0, 0)
+
+ Store(DerefOf("b000"), Local1)
+ mf88(Local1, c00b, bb00, 0x001, 0x002, 1)
+
+ Store(DerefOf(Local0), Local1)
+ mf88(Local1, c00b, bb00, 0x003, 0x004, 1)
+
+ Store(DerefOf(Local7), Local1)
+ mf88(Local1, c00b, bb00, 0x005, 0x006, 1)
+
+ Store(DerefOf(s000), Local1)
+ Store(DerefOf(s000), Local1)
+ Store(DerefOf(s000), Local1)
+ Store(DerefOf(s000), Local1)
+ Store(DerefOf(s000), Local1)
+ Store(DerefOf(s000), Local1)
+ Store(DerefOf(s000), Local1)
+ Store(DerefOf(s000), Local1)
+ Store(DerefOf(s000), Local1)
+ mf88(Local1, c00b, bb00, 0x007, 0x008, 1)
+
+ Store(DerefOf(mm00()), Local1)
+ mf88(Local1, c00b, bb00, 0x009, 0x00a, 1)
+
+ Store(DerefOf(mm01(ss00)), Local1)
+ mf88(Local1, c00b, bb00, 0x00b, 0x00c, 1)
+
+ Store(DerefOf(ToString("b000")), Local1)
+ mf88(Local1, c00b, bb00, 0x00d, 0x00e, 1)
+
+ Store(DerefOf(Store("b000", Local6)), Local1)
+ mf88(Local1, c00b, bb00, 0x00f, 0x010, 1)
+
+ Store(DerefOf(i000), Local1)
+ mf88(Local1, c00b, bb00, 0x011, 0x012, 1)
+
+ Store(mm02("^b000"), Local1)
+ mf88(Local1, c00b, bb00, 0x013, 0x014, 1)
+
+ CH03("", 0, 0x015, 0, 0)
+}
+
+/*
+ * 1 - Check different ways to specify elements of NameSpace
+ */
+Method(mf89)
+{
+ Name(i010, 0xaabc0123)
+ Processor(pr01, 0, 0xFFFFFFFF, 0)
+ {
+ Name(i000, 0xaabc0000)
+ }
+ Name(ii00, 0xaabc0123)
+
+ Name(b001, Buffer(){ 1, 2, 3, 4, 0x95, 6, 7, 8})
+ Name(bb01, Buffer(){ 1, 2, 3, 4, 0x95, 6, 7, 8})
+
+ // Checkings
+
+ CH03("", 0, 0x00f, 0, 0)
+
+ Store(DerefOf("b001"), Local1)
+ mf88(Local1, c00b, bb01, 0x000, 0x001, 1)
+
+ Store(DerefOf("^mf89.b001"), Local1)
+ if (FLG9) {
+ mf88(Local1, c00b, bb01, 0x002, 0x003, 1)
+ } else {
+ CH04("", 0, 0xff, 0, 0x004, 0, 0)
+ }
+
+ Store(DerefOf("^mf89.pr01.i000"), Local1)
+ if (FLG9) {
+ mf88(Local1, c009, 0xaabc0000, 0x005, 0x006, 1)
+ } else {
+ CH04("", 0, 0xff, 0, 0x007, 0, 0)
+ }
+
+ Store(DerefOf("\\m12b.mf89.pr01.i000"), Local1)
+ if (FLG9) {
+ mf88(Local1, c009, 0xaabc0000, 0x008, 0x009, 1)
+ } else {
+ CH04("", 0, 0xff, 0, 0x00a, 0, 0) // AE_NOT_FOUND
+ }
+
+ Store(DerefOf("^mf89.i010"), Local1)
+ if (FLG9) {
+ mf88(Local1, c009, ii00, 0x00b, 0x00c, 1)
+ } else {
+ CH04("", 0, 0xff, 0, 0x00d, 0, 0) // AE_NOT_FOUND
+ }
+
+ CH03("", 0, 0x00e, 0, 0)
+}
+
+/*
+ * 2 - Check access to calculated type objects - DerefOf(<String>)
+ */
+Method(mf8a)
+{
+ Name(b002, Buffer(){ 1, 2, 3, 4, 0x95, 6, 7, 8})
+ Name(bb02, Buffer(){ 1, 2, 3, 4, 0x95, 6, 7, 8})
+ Name(s002, "String")
+ Name(ss02, "String")
+ Name(i002, 0xabbc0000)
+ Name(ii02, 0xabbc0000)
+ Name(p002, Package() {1,2,3,4})
+
+ CH03("", 0, 0x01f, 0, 0)
+
+ // Checkings
+
+ Store(DerefOf("b002"), Local1)
+ mf88(Local1, c00b, bb02, 0x020, 0x021, 1)
+
+ Store(DerefOf("s002"), Local1)
+ mf88(Local1, c00a, ss02, 0x022, 0x023, 1)
+
+ Store(DerefOf("i002"), Local1)
+ mf88(Local1, c009, ii02, 0x024, 0x025, 1)
+
+ Store(DerefOf("p002"), Local1)
+ mf88(Local1, c00c, 0, 0x026, 0x027, 0)
+
+ CH03("", 0, 0x028, 0, 0)
+}
+
+/*
+ * 3 - Check access to special type objects - DerefOf(<String>)
+ */
+Method(mf8b)
+{
+ Event(e003)
+ Mutex(mx03, 0)
+ Device(d003) { Name(i900, 0xabcd0017) }
+ ThermalZone(tz03) {}
+ Processor(pr03, 0, 0xFFFFFFFF, 0) {}
+ OperationRegion(r003, SystemMemory, 0x100, 0x100)
+ PowerResource(pw03, 1, 0) {Method(mmmm){return (0)}}
+
+ // Checkings
+
+ CH03("", 0, 0x029, 0, 0)
+ CopyObject(DerefOf("e003"), Local1)
+ mf88(Local1, c00f, 0, 0x02a, 0x02b, 0)
+
+ CH03("", 0, 0x02c, 0, 0)
+ CopyObject(DerefOf("mx03"), Local1)
+ mf88(Local1, c011, 0, 0x02d, 0x02e, 0)
+
+ CH03("", 0, 0x02f, 0, 0)
+ CopyObject(DerefOf("d003"), Local1)
+ mf88(Local1, c00e, 0, 0x030, 0x031, 0)
+
+ CH03("", 0, 0x032, 0, 0)
+ CopyObject(DerefOf("tz03"), Local1)
+ mf88(Local1, c015, 0, 0x033, 0x034, 0)
+
+ CH03("", 0, 0x035, 0, 0)
+ CopyObject(DerefOf("pr03"), Local1)
+ mf88(Local1, c014, 0, 0x036, 0x037, 0)
+
+ if (y510) {
+ CH03("", 0, 0x038, 0, 0)
+ CopyObject(DerefOf("r003"), Local1)
+ mf88(Local1, c012, 0, 0x039, 0x03a, 0)
+ }
+
+ CH03("", 0, 0x03b, 0, 0)
+ CopyObject(DerefOf("pw03"), Local1)
+ mf88(Local1, c013, 0, 0x03c, 0x03d, 0)
+}
+
+/*
+ * 4 - Check DerefOf(<Not-String>) - calculated type objects
+ */
+Method(mf8c)
+{
+ Name(b004, Buffer(){ 1, 2, 3, 4, 0x95, 6, 7, 8})
+ Name(i004, 0xabbc0000)
+ Name(p004, Package() {1,2,3,4})
+
+ // Checkings
+
+ CH03("", 0, 0x03e, 0, 0)
+ Store(DerefOf(b004), Local1)
+ CH04("", 0, 0xff, 0, 0x03f, 0, 0)
+
+ CH03("", 0, 0x040, 0, 0)
+ Store(DerefOf(i004), Local1)
+ CH04("", 0, 0xff, 0, 0x041, 0, 0)
+
+ CH03("", 0, 0x042, 0, 0)
+ Store(DerefOf(p004), Local1)
+ CH04("", 0, 0xff, 0, 0x043, 0, 0)
+}
+
+/*
+ * 5 - Check DerefOf(<String>) - but String doesnt refer NameSpace object
+ */
+Method(mf8d)
+{
+ CH03("", 0, 0x044, 0, 0)
+ Store(DerefOf("0123"), Local1)
+ CH04("", 0, 0xff, 0, 0x045, 0, 0)
+
+ CH03("", 0, 0x046, 0, 0)
+ Store(DerefOf("zxcvbnm,./;'\][0123"), Local1)
+ CH04("", 0, 0xff, 0, 0x047, 0, 0)
+
+ CH03("", 0, 0x048, 0, 0)
+ Store(DerefOf("b0qv"), Local1)
+ CH04("", 0, 0xff, 0, 0x049, 0, 0)
+}
+
+/*
+ * 6 - Check different ways to pass String (mdac
+ * but without Store). Check - no exceptions.
+ */
+Method(mf8e)
+{
+ Method(mm60)
+ {
+ Return("b006")
+ }
+
+ Method(mm61, 1)
+ {
+ Return(arg0)
+ }
+
+ Name(b006, Buffer(){ 1, 2, 3, 4, 0x95, 6, 7, 8})
+ Name(bb06, Buffer(){ 1, 2, 3, 4, 0x95, 6, 7, 8})
+ Name(s006, "b006")
+ Name(ss06, "b006")
+ Name(i006, 0)
+
+
+ Store("b006", Local0)
+ CopyObject("b006", i006)
+ Store(s006, Local7)
+
+ // Checkings
+
+ CH03("", 0, 0x04a, 0, 0)
+
+ DerefOf("b006")
+
+ DerefOf(Local0)
+
+ DerefOf(Local7)
+
+ DerefOf(s006)
+ DerefOf(s006)
+ DerefOf(s006)
+ DerefOf(s006)
+ DerefOf(s006)
+ DerefOf(s006)
+ DerefOf(s006)
+ DerefOf(s006)
+ DerefOf(s006)
+
+ DerefOf(mm60())
+
+ DerefOf(mm61(ss06))
+
+ DerefOf(ToString("b006"))
+
+ DerefOf(Store("b006", Local6))
+
+ DerefOf(i006)
+
+ CH03("", 0, 0x04b, 0, 0)
+}
+
+/*
+ * 7 - Check access to special type objects - DerefOf(<String>)
+ */
+Method(mf8f)
+{
+ Event(e007)
+ Mutex(mx07, 0)
+ Device(d007) { Name(i900, 0xabcd0017) }
+ ThermalZone(tz07) {}
+ Processor(pr07, 0, 0xFFFFFFFF, 0) {}
+ OperationRegion(r007, SystemMemory, 0x100, 0x100)
+ PowerResource(pw07, 1, 0) {Method(mmmm){return (0)}}
+
+ // Checkings
+
+ CH03("", 0, 0x04c, 0, 0)
+ DerefOf("e007")
+ CH03("", 0, 0x04d, 0, 0)
+
+ CH03("", 0, 0x04e, 0, 0)
+ DerefOf("mx07")
+ CH03("", 0, 0x04f, 0, 0)
+
+ CH03("", 0, 0x050, 0, 0)
+ DerefOf("d007")
+ CH03("", 0, 0x051, 0, 0)
+
+ CH03("", 0, 0x052, 0, 0)
+ DerefOf("tz07")
+ CH03("", 0, 0x053, 0, 0)
+
+ CH03("", 0, 0x054, 0, 0)
+ DerefOf("pr07")
+ CH03("", 0, 0x055, 0, 0)
+
+ CH03("", 0, 0x056, 0, 0)
+ DerefOf("r007")
+ CH03("", 0, 0x057, 0, 0)
+
+ CH03("", 0, 0x058, 0, 0)
+ DerefOf("pw07")
+ CH03("", 0, 0x059, 0, 0)
+}
+
+/*
+ * 8 - Check DerefOf(<Not-String>) - calculated type objects
+ */
+Method(mf90)
+{
+ Name(b008, Buffer(){ 1, 2, 3, 4, 0x95, 6, 7, 8})
+ Name(i008, 0xabbc0000)
+ Name(p008, Package() {1,2,3,4})
+
+ // Checkings
+
+ CH03("", 0, 0x05a, 0, 0)
+ DerefOf(b008)
+ CH04("", 0, 0xff, 0, 0x05b, 0, 0)
+
+ CH03("", 0, 0x05c, 0, 0)
+ DerefOf(i008)
+ CH04("", 0, 0xff, 0, 0x05d, 0, 0)
+
+ CH03("", 0, 0x05e, 0, 0)
+ DerefOf(p008)
+ CH04("", 0, 0xff, 0, 0x05f, 0, 0)
+}
+
+/*
+ * 9 - Check DerefOf(<String>) - but String doesnt refer NameSpace object
+ */
+Method(mf91)
+{
+ CH03("", 0, 0x060, 0, 0)
+ DerefOf("0123")
+ CH04("", 0, 0xff, 0, 0x061, 0, 0)
+
+ CH03("", 0, 0x062, 0, 0)
+ DerefOf("zxcvbnm,./;'\][0123")
+ CH04("", 0, 0xff, 0, 0x063, 0, 0)
+
+ CH03("", 0, 0x064, 0, 0)
+ DerefOf("mf_d")
+ CH04("", 0, 0xff, 0, 0x065, 0, 0)
+
+ CH03("", 0, 0x066, 0, 0)
+ DerefOf("b009")
+ CH04("", 0, 0xff, 0, 0x067, 0, 0)
+}
+
+/*
+ * a - Check access to special type objects - DerefOf(<String>)
+ */
+Method(mfa0)
+{
+ Name(b00a, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})
+ OperationRegion(r00a, SystemMemory, 0x100, 0x100)
+
+ CreateField(b00a, 8, 8, bfa0)
+ Field(r00a, ByteAcc, NoLock, Preserve) {f0a0,8,f0a1,8,f0a2,8,f0a3,8}
+ BankField(r00a, f0a1, 0, ByteAcc, NoLock, Preserve) {bna0,4}
+ IndexField(f0a2, f0a3, ByteAcc, NoLock, Preserve) {ifa0,8,ifa1,8}
+
+ CH03("", 0, 0x068, 0, 0)
+
+ Store(DerefOf("bfa0"), Local1)
+ mf88(Local1, c009, 0xb1, 0x069, 0x06a, 1)
+
+ Store(DerefOf("f0a0"), Local1)
+ mf88(Local1, c009, 0, 0x06b, 0x06c, 0)
+
+ Store(DerefOf("f0a1"), Local1)
+ mf88(Local1, c009, 0, 0x06d, 0x06e, 0)
+
+ Store(DerefOf("f0a2"), Local1)
+ mf88(Local1, c009, 0, 0x06f, 0x070, 0)
+
+ Store(DerefOf("f0a3"), Local1)
+ mf88(Local1, c009, 0, 0x071, 0x072, 0)
+
+ Store(DerefOf("bna0"), Local1)
+ mf88(Local1, c009, 0, 0x073, 0x074, 0)
+
+ Store(DerefOf("ifa0"), Local1)
+ mf88(Local1, c009, 0, 0x075, 0x076, 0)
+
+ Store(DerefOf("ifa1"), Local1)
+ mf88(Local1, c009, 0, 0x077, 0x078, 0)
+
+ CH03("", 0, 0x079, 0, 0)
+}
+
+// b
+Method(mfa1)
+{
+ Name(b00b, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})
+ OperationRegion(r00b, SystemMemory, 0x100, 0x100)
+
+ CreateField(b00b, 8, 8, bfb0)
+ Field(r00b, ByteAcc, NoLock, Preserve) {f0b0,8,f0b1,8,f0b2,8,f0b3,8}
+ BankField(r00b, f0b1, 0, ByteAcc, NoLock, Preserve) {bnb0,4}
+ IndexField(f0b2, f0b3, ByteAcc, NoLock, Preserve) {ifb0,8,ifb1,8}
+
+ CH03("", 0, 0x07a, 0, 0)
+ Store(DerefOf(bfb0), Local1)
+ CH04("", 0, 0xff, 0, 0x07b, 0, 0)
+
+ CH03("", 0, 0x07c, 0, 0)
+ Store(DerefOf(f0b0), Local1)
+ CH04("", 0, 0xff, 0, 0x07d, 0, 0)
+
+ CH03("", 0, 0x07e, 0, 0)
+ Store(DerefOf(f0b1), Local1)
+ CH04("", 0, 0xff, 0, 0x07f, 0, 0)
+
+ CH03("", 0, 0x080, 0, 0)
+ Store(DerefOf(f0b2), Local1)
+ CH04("", 0, 0xff, 0, 0x081, 0, 0)
+
+ CH03("", 0, 0x082, 0, 0)
+ Store(DerefOf(f0b3), Local1)
+ CH04("", 0, 0xff, 0, 0x083, 0, 0)
+
+ CH03("", 0, 0x084, 0, 0)
+ Store(DerefOf(bnb0), Local1)
+ CH04("", 0, 0xff, 0, 0x085, 0, 0)
+
+ CH03("", 0, 0x086, 0, 0)
+ Store(DerefOf(ifb0), Local1)
+ CH04("", 0, 0xff, 0, 0x087, 0, 0)
+
+ CH03("", 0, 0x088, 0, 0)
+ Store(DerefOf(ifb1), Local1)
+ CH04("", 0, 0xff, 0, 0x089, 0, 0)
+}
+
+// c
+Method(mfa2)
+{
+ Event(e00c)
+ Mutex(mx0c, 0)
+ Device(d00c) { Name(i900, 0xabcd0017) }
+ ThermalZone(tz0c) {}
+ Processor(pr0c, 0, 0xFFFFFFFF, 0) {}
+ OperationRegion(r00c, SystemMemory, 0x100, 0x100)
+ PowerResource(pw0c, 1, 0) {Method(mmmm){return (0)}}
+
+ // Checkings
+
+ CH03("", 0, 0x08a, 0, 0)
+ DerefOf(e00c)
+ CH04("", 0, 0xff, 0, 0x08b, 0, 0)
+
+ CH03("", 0, 0x08c, 0, 0)
+ DerefOf(mx0c)
+ CH04("", 0, 0xff, 0, 0x08d, 0, 0)
+
+ CH03("", 0, 0x08e, 0, 0)
+ DerefOf(d00c)
+ CH04("", 0, 0xff, 0, 0x08f, 0, 0)
+
+ CH03("", 0, 0x090, 0, 0)
+ DerefOf(tz0c)
+ CH04("", 0, 0xff, 0, 0x091, 0, 0)
+
+ CH03("", 0, 0x092, 0, 0)
+ DerefOf(pr0c)
+ CH04("", 0, 0xff, 0, 0x093, 0, 0)
+
+ CH03("", 0, 0x094, 0, 0)
+ DerefOf(r00c)
+ CH04("", 0, 0xff, 0, 0x095, 0, 0)
+
+ CH03("", 0, 0x096, 0, 0)
+ DerefOf(pw0c)
+ CH04("", 0, 0xff, 0, 0x097, 0, 0)
+}
+
+Method(m12a)
+{
+ SRMT("mdac-20")
+ mdac()
+ SRMT("mf89-20")
+ mf89()
+ SRMT("mf8a-20")
+ mf8a()
+ SRMT("mf8b-20")
+ mf8b()
+ SRMT("mf8c-20")
+ mf8c()
+ SRMT("mf8d-20")
+ mf8d()
+ SRMT("mf8e-20")
+ mf8e()
+ SRMT("mf8f-20")
+ mf8f()
+ SRMT("mf90-20")
+ mf90()
+ SRMT("mf91-20")
+ mf91()
+ SRMT("mfa0-20")
+ mfa0()
+ SRMT("mfa1-20")
+ mfa1()
+ SRMT("mfa2-20")
+ mfa2()
+}
+
+ m12a()
+} /* m12b */
+
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0012/DataLevel21_DeclDown.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0012/DataLevel21_DeclDown.asl
new file mode 100644
index 000000000..56a4e8cd2
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0012/DataLevel21_DeclDown.asl
@@ -0,0 +1,615 @@
+/*
+ * 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.
+ */
+
+/*
+ * 2-level model: \\m12e.<Method>
+ *
+ * Data for DerefOf(<String>) are 1 levels up.
+ *
+ * DataLevel<number_of_levels_in_model><data_are_N_levels_up>.asl
+ */
+
+Method(m12e)
+{
+
+/*
+ * 0 - Check different ways to pass String
+ */
+Method(mdac)
+{
+ Store("b000", Local0)
+ CopyObject("b000", i000)
+ Store(s000, Local7)
+
+ // Checkings
+
+ CH03("", 0, 0x000, 0, 0)
+
+ Store(DerefOf("b000"), Local1)
+ mf88(Local1, c00b, bb00, 0x001, 0x002, 1)
+
+ Store(DerefOf(Local0), Local1)
+ mf88(Local1, c00b, bb00, 0x003, 0x004, 1)
+
+ Store(DerefOf(Local7), Local1)
+ mf88(Local1, c00b, bb00, 0x005, 0x006, 1)
+
+ Store(DerefOf(s000), Local1)
+ Store(DerefOf(s000), Local1)
+ Store(DerefOf(s000), Local1)
+ Store(DerefOf(s000), Local1)
+ Store(DerefOf(s000), Local1)
+ Store(DerefOf(s000), Local1)
+ Store(DerefOf(s000), Local1)
+ Store(DerefOf(s000), Local1)
+ Store(DerefOf(s000), Local1)
+ mf88(Local1, c00b, bb00, 0x007, 0x008, 1)
+
+ Store(DerefOf(mm00()), Local1)
+ mf88(Local1, c00b, bb00, 0x009, 0x00a, 1)
+
+ Store(DerefOf(mm01(ss00)), Local1)
+ mf88(Local1, c00b, bb00, 0x00b, 0x00c, 1)
+
+ Store(DerefOf(ToString("b000")), Local1)
+ mf88(Local1, c00b, bb00, 0x00d, 0x00e, 1)
+
+ Store(DerefOf(Store("b000", Local6)), Local1)
+ mf88(Local1, c00b, bb00, 0x00f, 0x010, 1)
+
+ Store(DerefOf(i000), Local1)
+ mf88(Local1, c00b, bb00, 0x011, 0x012, 1)
+
+ Store(mm02("^b000"), Local1)
+ mf88(Local1, c00b, bb00, 0x013, 0x014, 1)
+
+ CH03("", 0, 0x015, 0, 0)
+}
+
+/*
+ * 1 - Check different ways to specify elements of NameSpace
+ */
+Method(mf89)
+{
+ // Checkings
+
+ Store(DerefOf("b001"), Local1)
+ mf88(Local1, c00b, bb01, 0x016, 0x017, 1)
+
+ Store(DerefOf("^b001"), Local1)
+ mf88(Local1, c00b, bb01, 0x018, 0x019, 1)
+
+ Store(DerefOf("^pr01.i000"), Local1)
+ mf88(Local1, c009, 0xaabc0000, 0x01a, 0x01b, 1)
+
+ Store(DerefOf("\\m12e.pr01.i000"), Local1)
+ if (FLG9) {
+ mf88(Local1, c009, 0xaabc0000, 0x01c, 0x01d, 1)
+ } else {
+ CH04("", 0, 0xff, 0, 0x01e, 0, 0) // AE_NOT_FOUND
+ }
+
+ Store(DerefOf("^i010"), Local1)
+ mf88(Local1, c009, ii00, 0x01f, 0x020, 1)
+
+ Store(DerefOf("^i987"), Local1)
+ mf88(Local1, c009, ii01, 0x021, 0x022, 1)
+
+ CH03("", 0, 0x023, 0, 0)
+}
+
+/*
+ * 2 - Check access to calculated type objects - DerefOf(<String>)
+ */
+Method(mf8a)
+{
+ CH03("", 0, 0x01f, 0, 0)
+
+ // Checkings
+
+ Store(DerefOf("b002"), Local1)
+ mf88(Local1, c00b, bb02, 0x020, 0x021, 1)
+
+ Store(DerefOf("s002"), Local1)
+ mf88(Local1, c00a, ss02, 0x022, 0x023, 1)
+
+ Store(DerefOf("i002"), Local1)
+ mf88(Local1, c009, ii02, 0x024, 0x025, 1)
+
+ Store(DerefOf("p002"), Local1)
+ mf88(Local1, c00c, 0, 0x026, 0x027, 0)
+
+ CH03("", 0, 0x028, 0, 0)
+}
+
+/*
+ * 3 - Check access to special type objects - DerefOf(<String>)
+ */
+Method(mf8b)
+{
+ // Checkings
+
+ CH03("", 0, 0x029, 0, 0)
+ CopyObject(DerefOf("e003"), Local1)
+ mf88(Local1, c00f, 0, 0x02a, 0x02b, 0)
+
+ CH03("", 0, 0x02c, 0, 0)
+ CopyObject(DerefOf("mx03"), Local1)
+ mf88(Local1, c011, 0, 0x02d, 0x02e, 0)
+
+ CH03("", 0, 0x02f, 0, 0)
+ CopyObject(DerefOf("d003"), Local1)
+ mf88(Local1, c00e, 0, 0x030, 0x031, 0)
+
+ CH03("", 0, 0x032, 0, 0)
+ CopyObject(DerefOf("tz03"), Local1)
+ mf88(Local1, c015, 0, 0x033, 0x034, 0)
+
+ CH03("", 0, 0x035, 0, 0)
+ CopyObject(DerefOf("pr03"), Local1)
+ mf88(Local1, c014, 0, 0x036, 0x037, 0)
+
+ if (y510) {
+ CH03("", 0, 0x038, 0, 0)
+ CopyObject(DerefOf("r003"), Local1)
+ mf88(Local1, c012, 0, 0x039, 0x03a, 0)
+ }
+
+ CH03("", 0, 0x03b, 0, 0)
+ CopyObject(DerefOf("pw03"), Local1)
+ mf88(Local1, c013, 0, 0x03c, 0x03d, 0)
+}
+
+/*
+ * 4 - Check DerefOf(<Not-String>) - calculated type objects
+ */
+Method(mf8c)
+{
+ // Checkings
+
+ CH03("", 0, 0x03e, 0, 0)
+ Store(DerefOf(b004), Local1)
+ CH04("", 0, 0xff, 0, 0x03f, 0, 0)
+
+ CH03("", 0, 0x040, 0, 0)
+ Store(DerefOf(i004), Local1)
+ CH04("", 0, 0xff, 0, 0x041, 0, 0)
+
+ CH03("", 0, 0x042, 0, 0)
+ Store(DerefOf(p004), Local1)
+ CH04("", 0, 0xff, 0, 0x043, 0, 0)
+}
+
+/*
+ * 5 - Check DerefOf(<String>) - but String doesnt refer NameSpace object
+ */
+Method(mf8d)
+{
+ CH03("", 0, 0x044, 0, 0)
+ Store(DerefOf("0123"), Local1)
+ CH04("", 0, 0xff, 0, 0x045, 0, 0)
+
+ CH03("", 0, 0x046, 0, 0)
+ Store(DerefOf("zxcvbnm,./;'\][0123"), Local1)
+ CH04("", 0, 0xff, 0, 0x047, 0, 0)
+
+ CH03("", 0, 0x048, 0, 0)
+ Store(DerefOf("b0qv"), Local1)
+ CH04("", 0, 0xff, 0, 0x049, 0, 0)
+}
+
+/*
+ * 6 - Check different ways to pass String (mdac
+ * but without Store). Check - no exceptions.
+ */
+Method(mf8e)
+{
+ Store("b006", Local0)
+ CopyObject("b006", i006)
+ Store(s006, Local7)
+
+ // Checkings
+
+ CH03("", 0, 0x04a, 0, 0)
+
+ DerefOf("b006")
+
+ DerefOf(Local0)
+
+ DerefOf(Local7)
+
+ DerefOf(s006)
+ DerefOf(s006)
+ DerefOf(s006)
+ DerefOf(s006)
+ DerefOf(s006)
+ DerefOf(s006)
+ DerefOf(s006)
+ DerefOf(s006)
+ DerefOf(s006)
+
+ DerefOf(mm60())
+
+ DerefOf(mm61(ss06))
+
+ DerefOf(ToString("b006"))
+
+ DerefOf(Store("b006", Local6))
+
+ DerefOf(i006)
+
+ CH03("", 0, 0x04b, 0, 0)
+}
+
+/*
+ * 7 - Check access to special type objects - DerefOf(<String>)
+ */
+Method(mf8f)
+{
+ // Checkings
+
+ CH03("", 0, 0x04c, 0, 0)
+ DerefOf("e007")
+ CH03("", 0, 0x04d, 0, 0)
+
+ CH03("", 0, 0x04e, 0, 0)
+ DerefOf("mx07")
+ CH03("", 0, 0x04f, 0, 0)
+
+ CH03("", 0, 0x050, 0, 0)
+ DerefOf("d007")
+ CH03("", 0, 0x051, 0, 0)
+
+ CH03("", 0, 0x052, 0, 0)
+ DerefOf("tz07")
+ CH03("", 0, 0x053, 0, 0)
+
+ CH03("", 0, 0x054, 0, 0)
+ DerefOf("pr07")
+ CH03("", 0, 0x055, 0, 0)
+
+ CH03("", 0, 0x056, 0, 0)
+ DerefOf("r007")
+ CH03("", 0, 0x057, 0, 0)
+
+ CH03("", 0, 0x058, 0, 0)
+ DerefOf("pw07")
+ CH03("", 0, 0x059, 0, 0)
+}
+
+/*
+ * 8 - Check DerefOf(<Not-String>) - calculated type objects
+ */
+Method(mf90)
+{
+ // Checkings
+
+ CH03("", 0, 0x05a, 0, 0)
+ DerefOf(b008)
+ CH04("", 0, 0xff, 0, 0x05b, 0, 0)
+
+ CH03("", 0, 0x05c, 0, 0)
+ DerefOf(i008)
+ CH04("", 0, 0xff, 0, 0x05d, 0, 0)
+
+ CH03("", 0, 0x05e, 0, 0)
+ DerefOf(p008)
+ CH04("", 0, 0xff, 0, 0x05f, 0, 0)
+}
+
+/*
+ * 9 - Check DerefOf(<String>) - but String doesnt refer NameSpace object
+ */
+Method(mf91)
+{
+ CH03("", 0, 0x060, 0, 0)
+ DerefOf("0123")
+ CH04("", 0, 0xff, 0, 0x061, 0, 0)
+
+ CH03("", 0, 0x062, 0, 0)
+ DerefOf("zxcvbnm,./;'\][0123")
+ CH04("", 0, 0xff, 0, 0x063, 0, 0)
+
+ CH03("", 0, 0x064, 0, 0)
+ DerefOf("mf_d")
+ CH04("", 0, 0xff, 0, 0x065, 0, 0)
+
+ CH03("", 0, 0x066, 0, 0)
+ DerefOf("b009")
+ CH04("", 0, 0xff, 0, 0x067, 0, 0)
+}
+
+/*
+ * a - Check access to special type objects - DerefOf(<String>)
+ */
+Method(mfa0)
+{
+ CH03("", 0, 0x068, 0, 0)
+
+ Store(DerefOf("bfa0"), Local1)
+ mf88(Local1, c009, 0xb1, 0x069, 0x06a, 1)
+
+ Store(DerefOf("f0a0"), Local1)
+ mf88(Local1, c009, 0, 0x06b, 0x06c, 0)
+
+ Store(DerefOf("f0a1"), Local1)
+ mf88(Local1, c009, 0, 0x06d, 0x06e, 0)
+
+ Store(DerefOf("f0a2"), Local1)
+ mf88(Local1, c009, 0, 0x06f, 0x070, 0)
+
+ Store(DerefOf("f0a3"), Local1)
+ mf88(Local1, c009, 0, 0x071, 0x072, 0)
+
+ Store(DerefOf("bna0"), Local1)
+ mf88(Local1, c009, 0, 0x073, 0x074, 0)
+
+ Store(DerefOf("ifa0"), Local1)
+ mf88(Local1, c009, 0, 0x075, 0x076, 0)
+
+ Store(DerefOf("ifa1"), Local1)
+ mf88(Local1, c009, 0, 0x077, 0x078, 0)
+
+ CH03("", 0, 0x079, 0, 0)
+}
+
+// b
+Method(mfa1)
+{
+ CH03("", 0, 0x07a, 0, 0)
+ Store(DerefOf(bfb0), Local1)
+ CH04("", 0, 0xff, 0, 0x07b, 0, 0)
+
+ CH03("", 0, 0x07c, 0, 0)
+ Store(DerefOf(f0b0), Local1)
+ CH04("", 0, 0xff, 0, 0x07d, 0, 0)
+
+ CH03("", 0, 0x07e, 0, 0)
+ Store(DerefOf(f0b1), Local1)
+ CH04("", 0, 0xff, 0, 0x07f, 0, 0)
+
+ CH03("", 0, 0x080, 0, 0)
+ Store(DerefOf(f0b2), Local1)
+ CH04("", 0, 0xff, 0, 0x081, 0, 0)
+
+ CH03("", 0, 0x082, 0, 0)
+ Store(DerefOf(f0b3), Local1)
+ CH04("", 0, 0xff, 0, 0x083, 0, 0)
+
+ CH03("", 0, 0x084, 0, 0)
+ Store(DerefOf(bnb0), Local1)
+ CH04("", 0, 0xff, 0, 0x085, 0, 0)
+
+ CH03("", 0, 0x086, 0, 0)
+ Store(DerefOf(ifb0), Local1)
+ CH04("", 0, 0xff, 0, 0x087, 0, 0)
+
+ CH03("", 0, 0x088, 0, 0)
+ Store(DerefOf(ifb1), Local1)
+ CH04("", 0, 0xff, 0, 0x089, 0, 0)
+}
+
+// c
+Method(mfa2)
+{
+ // Checkings
+
+ CH03("", 0, 0x08a, 0, 0)
+ DerefOf(e00c)
+ CH04("", 0, 0xff, 0, 0x08b, 0, 0)
+
+ CH03("", 0, 0x08c, 0, 0)
+ DerefOf(mx0c)
+ CH04("", 0, 0xff, 0, 0x08d, 0, 0)
+
+ CH03("", 0, 0x08e, 0, 0)
+ DerefOf(d00c)
+ CH04("", 0, 0xff, 0, 0x08f, 0, 0)
+
+ CH03("", 0, 0x090, 0, 0)
+ DerefOf(tz0c)
+ CH04("", 0, 0xff, 0, 0x091, 0, 0)
+
+ CH03("", 0, 0x092, 0, 0)
+ DerefOf(pr0c)
+ CH04("", 0, 0xff, 0, 0x093, 0, 0)
+
+ CH03("", 0, 0x094, 0, 0)
+ DerefOf(r00c)
+ CH04("", 0, 0xff, 0, 0x095, 0, 0)
+
+ CH03("", 0, 0x096, 0, 0)
+ DerefOf(pw0c)
+ CH04("", 0, 0xff, 0, 0x097, 0, 0)
+}
+
+Method(m12a)
+{
+ SRMT("mdac-21-down")
+ mdac()
+ SRMT("mf89-21-down")
+ mf89()
+ SRMT("mf8a-21-down")
+ mf8a()
+ SRMT("mf8b-21-down")
+ mf8b()
+ SRMT("mf8c-21-down")
+ mf8c()
+ SRMT("mf8d-21-down")
+ mf8d()
+ SRMT("mf8e-21-down")
+ mf8e()
+ SRMT("mf8f-21-down")
+ mf8f()
+ SRMT("mf90-21-down")
+ mf90()
+ SRMT("mf91-21-down")
+ mf91()
+ SRMT("mfa0-21-down")
+ mfa0()
+ SRMT("mfa1-21-down")
+ mfa1()
+ SRMT("mfa2-21-down")
+ mfa2()
+}
+
+ /* 0 */
+
+ Method(mm00)
+ {
+ Return("b000")
+ }
+
+ Method(mm01, 1)
+ {
+ Return(arg0)
+ }
+
+ Method(mm02, 1)
+ {
+ Store(DerefOf(arg0), Local7)
+
+ Return(Local7)
+ }
+
+ Name(b000, Buffer(){ 1, 2, 3, 4, 0x95, 6, 7, 8})
+ Name(bb00, Buffer(){ 1, 2, 3, 4, 0x95, 6, 7, 8})
+ Name(s000, "b000")
+ Name(ss00, "b000")
+ Name(i000, 0)
+
+ /* 1 */
+
+ Name(i010, 0xaabc0123)
+ Name(i987, 0xaabc0987)
+ Processor(pr01, 0, 0xFFFFFFFF, 0)
+ {
+ Name(i000, 0xaabc0000)
+ }
+ Name(ii00, 0xaabc0123)
+ Name(ii01, 0xaabc0987)
+
+ Name(b001, Buffer(){ 1, 2, 3, 4, 0x95, 6, 7, 8})
+ Name(bb01, Buffer(){ 1, 2, 3, 4, 0x95, 6, 7, 8})
+
+ /* 2 */
+
+ Name(b002, Buffer(){ 1, 2, 3, 4, 0x95, 6, 7, 8})
+ Name(bb02, Buffer(){ 1, 2, 3, 4, 0x95, 6, 7, 8})
+ Name(s002, "String")
+ Name(ss02, "String")
+ Name(i002, 0xabbc0000)
+ Name(ii02, 0xabbc0000)
+ Name(p002, Package() {1,2,3,4})
+
+ /* 3 */
+
+ Event(e003)
+ Mutex(mx03, 0)
+ Device(d003) { Name(i900, 0xabcd0017) }
+ ThermalZone(tz03) {}
+ Processor(pr03, 0, 0xFFFFFFFF, 0) {}
+ OperationRegion(r003, SystemMemory, 0x100, 0x100)
+ PowerResource(pw03, 1, 0) {Method(mmmm){return (0)}}
+
+ /* 4 */
+
+ Name(b004, Buffer(){ 1, 2, 3, 4, 0x95, 6, 7, 8})
+ Name(i004, 0xabbc0000)
+ Name(p004, Package() {1,2,3,4})
+
+ /* 6 */
+
+ Method(mm60)
+ {
+ Return("b006")
+ }
+
+ Method(mm61, 1)
+ {
+ Return(arg0)
+ }
+
+ Name(b006, Buffer(){ 1, 2, 3, 4, 0x95, 6, 7, 8})
+ Name(bb06, Buffer(){ 1, 2, 3, 4, 0x95, 6, 7, 8})
+ Name(s006, "b006")
+ Name(ss06, "b006")
+ Name(i006, 0)
+
+ /* 7 */
+
+ Event(e007)
+ Mutex(mx07, 0)
+ Device(d007) { Name(i900, 0xabcd0017) }
+ ThermalZone(tz07) {}
+ Processor(pr07, 0, 0xFFFFFFFF, 0) {}
+ OperationRegion(r007, SystemMemory, 0x100, 0x100)
+ PowerResource(pw07, 1, 0) {Method(mmmm){return (0)}}
+
+ /* 8 */
+
+ Name(b008, Buffer(){ 1, 2, 3, 4, 0x95, 6, 7, 8})
+ Name(i008, 0xabbc0000)
+ Name(p008, Package() {1,2,3,4})
+
+ /* a */
+
+ Name(b00a, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})
+ OperationRegion(r00a, SystemMemory, 0x100, 0x100)
+
+ CreateField(b00a, 8, 8, bfa0)
+ Field(r00a, ByteAcc, NoLock, Preserve) {f0a0,8,f0a1,8,f0a2,8,f0a3,8}
+ BankField(r00a, f0a1, 0, ByteAcc, NoLock, Preserve) {bna0,4}
+ IndexField(f0a2, f0a3, ByteAcc, NoLock, Preserve) {ifa0,8,ifa1,8}
+
+ /* b */
+
+ Name(b00b, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})
+ OperationRegion(r00b, SystemMemory, 0x100, 0x100)
+
+ CreateField(b00b, 8, 8, bfb0)
+ Field(r00b, ByteAcc, NoLock, Preserve) {f0b0,8,f0b1,8,f0b2,8,f0b3,8}
+ BankField(r00b, f0b1, 0, ByteAcc, NoLock, Preserve) {bnb0,4}
+ IndexField(f0b2, f0b3, ByteAcc, NoLock, Preserve) {ifb0,8,ifb1,8}
+
+ /* c */
+
+ Event(e00c)
+ Mutex(mx0c, 0)
+ Device(d00c) { Name(i900, 0xabcd0017) }
+ ThermalZone(tz0c) {}
+ Processor(pr0c, 0, 0xFFFFFFFF, 0) {}
+ OperationRegion(r00c, SystemMemory, 0x100, 0x100)
+ PowerResource(pw0c, 1, 0) {Method(mmmm){return (0)}}
+
+ m12a()
+} /* m12e */
+
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0012/DataLevel21_DeclUp.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0012/DataLevel21_DeclUp.asl
new file mode 100644
index 000000000..13efa09c9
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0012/DataLevel21_DeclUp.asl
@@ -0,0 +1,614 @@
+/*
+ * 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.
+ */
+
+/*
+ * 2-level model: \\m12d.<Method>
+ *
+ * Data for DerefOf(<String>) are 1 levels up.
+ *
+ * DataLevel<number_of_levels_in_model><data_are_N_levels_up>.asl
+ */
+
+Method(m12d)
+{
+ /* 0 */
+
+ Method(mm00)
+ {
+ Return("b000")
+ }
+
+ Method(mm01, 1)
+ {
+ Return(arg0)
+ }
+
+ Method(mm02, 1)
+ {
+ Store(DerefOf(arg0), Local7)
+
+ Return(Local7)
+ }
+
+ Name(b000, Buffer(){ 1, 2, 3, 4, 0x95, 6, 7, 8})
+ Name(bb00, Buffer(){ 1, 2, 3, 4, 0x95, 6, 7, 8})
+ Name(s000, "b000")
+ Name(ss00, "b000")
+ Name(i000, 0)
+
+ /* 1 */
+
+ Name(i010, 0xaabc0123)
+ Name(i987, 0xaabc0987)
+ Processor(pr01, 0, 0xFFFFFFFF, 0)
+ {
+ Name(i000, 0xaabc0000)
+ }
+ Name(ii00, 0xaabc0123)
+ Name(ii01, 0xaabc0987)
+
+ Name(b001, Buffer(){ 1, 2, 3, 4, 0x95, 6, 7, 8})
+ Name(bb01, Buffer(){ 1, 2, 3, 4, 0x95, 6, 7, 8})
+
+ /* 2 */
+
+ Name(b002, Buffer(){ 1, 2, 3, 4, 0x95, 6, 7, 8})
+ Name(bb02, Buffer(){ 1, 2, 3, 4, 0x95, 6, 7, 8})
+ Name(s002, "String")
+ Name(ss02, "String")
+ Name(i002, 0xabbc0000)
+ Name(ii02, 0xabbc0000)
+ Name(p002, Package() {1,2,3,4})
+
+ /* 3 */
+
+ Event(e003)
+ Mutex(mx03, 0)
+ Device(d003) { Name(i900, 0xabcd0017) }
+ ThermalZone(tz03) {}
+ Processor(pr03, 0, 0xFFFFFFFF, 0) {}
+ OperationRegion(r003, SystemMemory, 0x100, 0x100)
+ PowerResource(pw03, 1, 0) {Method(mmmm){return (0)}}
+
+ /* 4 */
+
+ Name(b004, Buffer(){ 1, 2, 3, 4, 0x95, 6, 7, 8})
+ Name(i004, 0xabbc0000)
+ Name(p004, Package() {1,2,3,4})
+
+ /* 6 */
+
+ Method(mm60)
+ {
+ Return("b006")
+ }
+
+ Method(mm61, 1)
+ {
+ Return(arg0)
+ }
+
+ Name(b006, Buffer(){ 1, 2, 3, 4, 0x95, 6, 7, 8})
+ Name(bb06, Buffer(){ 1, 2, 3, 4, 0x95, 6, 7, 8})
+ Name(s006, "b006")
+ Name(ss06, "b006")
+ Name(i006, 0)
+
+ /* 7 */
+
+ Event(e007)
+ Mutex(mx07, 0)
+ Device(d007) { Name(i900, 0xabcd0017) }
+ ThermalZone(tz07) {}
+ Processor(pr07, 0, 0xFFFFFFFF, 0) {}
+ OperationRegion(r007, SystemMemory, 0x100, 0x100)
+ PowerResource(pw07, 1, 0) {Method(mmmm){return (0)}}
+
+ /* 8 */
+
+ Name(b008, Buffer(){ 1, 2, 3, 4, 0x95, 6, 7, 8})
+ Name(i008, 0xabbc0000)
+ Name(p008, Package() {1,2,3,4})
+
+ /* a */
+
+ Name(b00a, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})
+ OperationRegion(r00a, SystemMemory, 0x100, 0x100)
+
+ CreateField(b00a, 8, 8, bfa0)
+ Field(r00a, ByteAcc, NoLock, Preserve) {f0a0,8,f0a1,8,f0a2,8,f0a3,8}
+ BankField(r00a, f0a1, 0, ByteAcc, NoLock, Preserve) {bna0,4}
+ IndexField(f0a2, f0a3, ByteAcc, NoLock, Preserve) {ifa0,8,ifa1,8}
+
+ /* b */
+
+ Name(b00b, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})
+ OperationRegion(r00b, SystemMemory, 0x100, 0x100)
+
+ CreateField(b00b, 8, 8, bfb0)
+ Field(r00b, ByteAcc, NoLock, Preserve) {f0b0,8,f0b1,8,f0b2,8,f0b3,8}
+ BankField(r00b, f0b1, 0, ByteAcc, NoLock, Preserve) {bnb0,4}
+ IndexField(f0b2, f0b3, ByteAcc, NoLock, Preserve) {ifb0,8,ifb1,8}
+
+ /* c */
+
+ Event(e00c)
+ Mutex(mx0c, 0)
+ Device(d00c) { Name(i900, 0xabcd0017) }
+ ThermalZone(tz0c) {}
+ Processor(pr0c, 0, 0xFFFFFFFF, 0) {}
+ OperationRegion(r00c, SystemMemory, 0x100, 0x100)
+ PowerResource(pw0c, 1, 0) {Method(mmmm){return (0)}}
+
+/*
+ * 0 - Check different ways to pass String
+ */
+Method(mdac)
+{
+ Store("b000", Local0)
+ CopyObject("b000", i000)
+ Store(s000, Local7)
+
+ // Checkings
+
+ CH03("", 0, 0x000, 0, 0)
+
+ Store(DerefOf("b000"), Local1)
+ mf88(Local1, c00b, bb00, 0x001, 0x002, 1)
+
+ Store(DerefOf(Local0), Local1)
+ mf88(Local1, c00b, bb00, 0x003, 0x004, 1)
+
+ Store(DerefOf(Local7), Local1)
+ mf88(Local1, c00b, bb00, 0x005, 0x006, 1)
+
+ Store(DerefOf(s000), Local1)
+ Store(DerefOf(s000), Local1)
+ Store(DerefOf(s000), Local1)
+ Store(DerefOf(s000), Local1)
+ Store(DerefOf(s000), Local1)
+ Store(DerefOf(s000), Local1)
+ Store(DerefOf(s000), Local1)
+ Store(DerefOf(s000), Local1)
+ Store(DerefOf(s000), Local1)
+ mf88(Local1, c00b, bb00, 0x007, 0x008, 1)
+
+ Store(DerefOf(mm00()), Local1)
+ mf88(Local1, c00b, bb00, 0x009, 0x00a, 1)
+
+ Store(DerefOf(mm01(ss00)), Local1)
+ mf88(Local1, c00b, bb00, 0x00b, 0x00c, 1)
+
+ Store(DerefOf(ToString("b000")), Local1)
+ mf88(Local1, c00b, bb00, 0x00d, 0x00e, 1)
+
+ Store(DerefOf(Store("b000", Local6)), Local1)
+ mf88(Local1, c00b, bb00, 0x00f, 0x010, 1)
+
+ Store(DerefOf(i000), Local1)
+ mf88(Local1, c00b, bb00, 0x011, 0x012, 1)
+
+ Store(mm02("^b000"), Local1)
+ mf88(Local1, c00b, bb00, 0x013, 0x014, 1)
+
+ CH03("", 0, 0x015, 0, 0)
+}
+
+/*
+ * 1 - Check different ways to specify elements of NameSpace
+ */
+Method(mf89)
+{
+ // Checkings
+
+ Store(DerefOf("b001"), Local1)
+ mf88(Local1, c00b, bb01, 0x016, 0x017, 1)
+
+ Store(DerefOf("^b001"), Local1)
+ mf88(Local1, c00b, bb01, 0x018, 0x019, 1)
+
+ Store(DerefOf("^pr01.i000"), Local1)
+ mf88(Local1, c009, 0xaabc0000, 0x01a, 0x01b, 1)
+
+ Store(DerefOf("\\m12d.pr01.i000"), Local1)
+ if (FLG9) {
+ mf88(Local1, c009, 0xaabc0000, 0x01c, 0x01d, 1)
+ } else {
+ CH04("", 0, 0xff, 0, 0x01e, 0, 0) // AE_NOT_FOUND
+ }
+
+ Store(DerefOf("^i010"), Local1)
+ mf88(Local1, c009, ii00, 0x01f, 0x020, 1)
+
+ Store(DerefOf("^i987"), Local1)
+ mf88(Local1, c009, ii01, 0x021, 0x022, 1)
+
+ CH03("", 0, 0x023, 0, 0)
+}
+
+/*
+ * 2 - Check access to calculated type objects - DerefOf(<String>)
+ */
+Method(mf8a)
+{
+ CH03("", 0, 0x01f, 0, 0)
+
+ // Checkings
+
+ Store(DerefOf("b002"), Local1)
+ mf88(Local1, c00b, bb02, 0x020, 0x021, 1)
+
+ Store(DerefOf("s002"), Local1)
+ mf88(Local1, c00a, ss02, 0x022, 0x023, 1)
+
+ Store(DerefOf("i002"), Local1)
+ mf88(Local1, c009, ii02, 0x024, 0x025, 1)
+
+ Store(DerefOf("p002"), Local1)
+ mf88(Local1, c00c, 0, 0x026, 0x027, 0)
+
+ CH03("", 0, 0x028, 0, 0)
+}
+
+/*
+ * 3 - Check access to special type objects - DerefOf(<String>)
+ */
+Method(mf8b)
+{
+ // Checkings
+
+ CH03("", 0, 0x029, 0, 0)
+ CopyObject(DerefOf("e003"), Local1)
+ mf88(Local1, c00f, 0, 0x02a, 0x02b, 0)
+
+ CH03("", 0, 0x02c, 0, 0)
+ CopyObject(DerefOf("mx03"), Local1)
+ mf88(Local1, c011, 0, 0x02d, 0x02e, 0)
+
+ CH03("", 0, 0x02f, 0, 0)
+ CopyObject(DerefOf("d003"), Local1)
+ mf88(Local1, c00e, 0, 0x030, 0x031, 0)
+
+ CH03("", 0, 0x032, 0, 0)
+ CopyObject(DerefOf("tz03"), Local1)
+ mf88(Local1, c015, 0, 0x033, 0x034, 0)
+
+ CH03("", 0, 0x035, 0, 0)
+ CopyObject(DerefOf("pr03"), Local1)
+ mf88(Local1, c014, 0, 0x036, 0x037, 0)
+
+ if (y510) {
+ CH03("", 0, 0x038, 0, 0)
+ CopyObject(DerefOf("r003"), Local1)
+ mf88(Local1, c012, 0, 0x039, 0x03a, 0)
+ }
+
+ CH03("", 0, 0x03b, 0, 0)
+ CopyObject(DerefOf("pw03"), Local1)
+ mf88(Local1, c013, 0, 0x03c, 0x03d, 0)
+}
+
+/*
+ * 4 - Check DerefOf(<Not-String>) - calculated type objects
+ */
+Method(mf8c)
+{
+ // Checkings
+
+ CH03("", 0, 0x03e, 0, 0)
+ Store(DerefOf(b004), Local1)
+ CH04("", 0, 0xff, 0, 0x03f, 0, 0)
+
+ CH03("", 0, 0x040, 0, 0)
+ Store(DerefOf(i004), Local1)
+ CH04("", 0, 0xff, 0, 0x041, 0, 0)
+
+ CH03("", 0, 0x042, 0, 0)
+ Store(DerefOf(p004), Local1)
+ CH04("", 0, 0xff, 0, 0x043, 0, 0)
+}
+
+/*
+ * 5 - Check DerefOf(<String>) - but String doesnt refer NameSpace object
+ */
+Method(mf8d)
+{
+ CH03("", 0, 0x044, 0, 0)
+ Store(DerefOf("0123"), Local1)
+ CH04("", 0, 0xff, 0, 0x045, 0, 0)
+
+ CH03("", 0, 0x046, 0, 0)
+ Store(DerefOf("zxcvbnm,./;'\][0123"), Local1)
+ CH04("", 0, 0xff, 0, 0x047, 0, 0)
+
+ CH03("", 0, 0x048, 0, 0)
+ Store(DerefOf("b0qv"), Local1)
+ CH04("", 0, 0xff, 0, 0x049, 0, 0)
+}
+
+/*
+ * 6 - Check different ways to pass String (mdac
+ * but without Store). Check - no exceptions.
+ */
+Method(mf8e)
+{
+ Store("b006", Local0)
+ CopyObject("b006", i006)
+ Store(s006, Local7)
+
+ // Checkings
+
+ CH03("", 0, 0x04a, 0, 0)
+
+ DerefOf("b006")
+
+ DerefOf(Local0)
+
+ DerefOf(Local7)
+
+ DerefOf(s006)
+ DerefOf(s006)
+ DerefOf(s006)
+ DerefOf(s006)
+ DerefOf(s006)
+ DerefOf(s006)
+ DerefOf(s006)
+ DerefOf(s006)
+ DerefOf(s006)
+
+ DerefOf(mm60())
+
+ DerefOf(mm61(ss06))
+
+ DerefOf(ToString("b006"))
+
+ DerefOf(Store("b006", Local6))
+
+ DerefOf(i006)
+
+ CH03("", 0, 0x04b, 0, 0)
+}
+
+/*
+ * 7 - Check access to special type objects - DerefOf(<String>)
+ */
+Method(mf8f)
+{
+ // Checkings
+
+ CH03("", 0, 0x04c, 0, 0)
+ DerefOf("e007")
+ CH03("", 0, 0x04d, 0, 0)
+
+ CH03("", 0, 0x04e, 0, 0)
+ DerefOf("mx07")
+ CH03("", 0, 0x04f, 0, 0)
+
+ CH03("", 0, 0x050, 0, 0)
+ DerefOf("d007")
+ CH03("", 0, 0x051, 0, 0)
+
+ CH03("", 0, 0x052, 0, 0)
+ DerefOf("tz07")
+ CH03("", 0, 0x053, 0, 0)
+
+ CH03("", 0, 0x054, 0, 0)
+ DerefOf("pr07")
+ CH03("", 0, 0x055, 0, 0)
+
+ CH03("", 0, 0x056, 0, 0)
+ DerefOf("r007")
+ CH03("", 0, 0x057, 0, 0)
+
+ CH03("", 0, 0x058, 0, 0)
+ DerefOf("pw07")
+ CH03("", 0, 0x059, 0, 0)
+}
+
+/*
+ * 8 - Check DerefOf(<Not-String>) - calculated type objects
+ */
+Method(mf90)
+{
+ // Checkings
+
+ CH03("", 0, 0x05a, 0, 0)
+ DerefOf(b008)
+ CH04("", 0, 0xff, 0, 0x05b, 0, 0)
+
+ CH03("", 0, 0x05c, 0, 0)
+ DerefOf(i008)
+ CH04("", 0, 0xff, 0, 0x05d, 0, 0)
+
+ CH03("", 0, 0x05e, 0, 0)
+ DerefOf(p008)
+ CH04("", 0, 0xff, 0, 0x05f, 0, 0)
+}
+
+/*
+ * 9 - Check DerefOf(<String>) - but String doesnt refer NameSpace object
+ */
+Method(mf91)
+{
+ CH03("", 0, 0x060, 0, 0)
+ DerefOf("0123")
+ CH04("", 0, 0xff, 0, 0x061, 0, 0)
+
+ CH03("", 0, 0x062, 0, 0)
+ DerefOf("zxcvbnm,./;'\][0123")
+ CH04("", 0, 0xff, 0, 0x063, 0, 0)
+
+ CH03("", 0, 0x064, 0, 0)
+ DerefOf("mf_d")
+ CH04("", 0, 0xff, 0, 0x065, 0, 0)
+
+ CH03("", 0, 0x066, 0, 0)
+ DerefOf("b009")
+ CH04("", 0, 0xff, 0, 0x067, 0, 0)
+}
+
+/*
+ * a - Check access to special type objects - DerefOf(<String>)
+ */
+Method(mfa0)
+{
+ CH03("", 0, 0x068, 0, 0)
+
+ Store(DerefOf("bfa0"), Local1)
+ mf88(Local1, c009, 0xb1, 0x069, 0x06a, 1)
+
+ Store(DerefOf("f0a0"), Local1)
+ mf88(Local1, c009, 0, 0x06b, 0x06c, 0)
+
+ Store(DerefOf("f0a1"), Local1)
+ mf88(Local1, c009, 0, 0x06d, 0x06e, 0)
+
+ Store(DerefOf("f0a2"), Local1)
+ mf88(Local1, c009, 0, 0x06f, 0x070, 0)
+
+ Store(DerefOf("f0a3"), Local1)
+ mf88(Local1, c009, 0, 0x071, 0x072, 0)
+
+ Store(DerefOf("bna0"), Local1)
+ mf88(Local1, c009, 0, 0x073, 0x074, 0)
+
+ Store(DerefOf("ifa0"), Local1)
+ mf88(Local1, c009, 0, 0x075, 0x076, 0)
+
+ Store(DerefOf("ifa1"), Local1)
+ mf88(Local1, c009, 0, 0x077, 0x078, 0)
+
+ CH03("", 0, 0x079, 0, 0)
+}
+
+// b
+Method(mfa1)
+{
+ CH03("", 0, 0x07a, 0, 0)
+ Store(DerefOf(bfb0), Local1)
+ CH04("", 0, 0xff, 0, 0x07b, 0, 0)
+
+ CH03("", 0, 0x07c, 0, 0)
+ Store(DerefOf(f0b0), Local1)
+ CH04("", 0, 0xff, 0, 0x07d, 0, 0)
+
+ CH03("", 0, 0x07e, 0, 0)
+ Store(DerefOf(f0b1), Local1)
+ CH04("", 0, 0xff, 0, 0x07f, 0, 0)
+
+ CH03("", 0, 0x080, 0, 0)
+ Store(DerefOf(f0b2), Local1)
+ CH04("", 0, 0xff, 0, 0x081, 0, 0)
+
+ CH03("", 0, 0x082, 0, 0)
+ Store(DerefOf(f0b3), Local1)
+ CH04("", 0, 0xff, 0, 0x083, 0, 0)
+
+ CH03("", 0, 0x084, 0, 0)
+ Store(DerefOf(bnb0), Local1)
+ CH04("", 0, 0xff, 0, 0x085, 0, 0)
+
+ CH03("", 0, 0x086, 0, 0)
+ Store(DerefOf(ifb0), Local1)
+ CH04("", 0, 0xff, 0, 0x087, 0, 0)
+
+ CH03("", 0, 0x088, 0, 0)
+ Store(DerefOf(ifb1), Local1)
+ CH04("", 0, 0xff, 0, 0x089, 0, 0)
+}
+
+// c
+Method(mfa2)
+{
+ // Checkings
+
+ CH03("", 0, 0x08a, 0, 0)
+ DerefOf(e00c)
+ CH04("", 0, 0xff, 0, 0x08b, 0, 0)
+
+ CH03("", 0, 0x08c, 0, 0)
+ DerefOf(mx0c)
+ CH04("", 0, 0xff, 0, 0x08d, 0, 0)
+
+ CH03("", 0, 0x08e, 0, 0)
+ DerefOf(d00c)
+ CH04("", 0, 0xff, 0, 0x08f, 0, 0)
+
+ CH03("", 0, 0x090, 0, 0)
+ DerefOf(tz0c)
+ CH04("", 0, 0xff, 0, 0x091, 0, 0)
+
+ CH03("", 0, 0x092, 0, 0)
+ DerefOf(pr0c)
+ CH04("", 0, 0xff, 0, 0x093, 0, 0)
+
+ CH03("", 0, 0x094, 0, 0)
+ DerefOf(r00c)
+ CH04("", 0, 0xff, 0, 0x095, 0, 0)
+
+ CH03("", 0, 0x096, 0, 0)
+ DerefOf(pw0c)
+ CH04("", 0, 0xff, 0, 0x097, 0, 0)
+}
+
+Method(m12a)
+{
+ SRMT("mdac-21-up")
+ mdac()
+ SRMT("mf89-21-up")
+ mf89()
+ SRMT("mf8a-21-up")
+ mf8a()
+ SRMT("mf8b-21-up")
+ mf8b()
+ SRMT("mf8c-21-up")
+ mf8c()
+ SRMT("mf8d-21-up")
+ mf8d()
+ SRMT("mf8e-21-up")
+ mf8e()
+ SRMT("mf8f-21-up")
+ mf8f()
+ SRMT("mf90-21-up")
+ mf90()
+ SRMT("mf91-21-up")
+ mf91()
+ SRMT("mfa0-21-up")
+ mfa0()
+ SRMT("mfa1-21-up")
+ mfa1()
+ SRMT("mfa2-21-up")
+ mfa2()
+}
+
+ m12a()
+} /* m12d */
+
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0012/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0012/MAIN.asl
new file mode 100644
index 000000000..f55a5119e
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0012/MAIN.asl
@@ -0,0 +1,58 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B12.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/common/DECL.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0012/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0012/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0012/Method.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0012/Method.asl
new file mode 100644
index 000000000..f84846145
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0012/Method.asl
@@ -0,0 +1,139 @@
+/*
+ * 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.
+ */
+
+/*
+ * Access to Method type objects
+ *
+ * SEE ALSO: misc/m15b
+ *
+ * Add here the tests of types:
+ * - \xx.xx (relative to the root)
+ * - ^xx.xx (relative to the parent)
+ * - xx.xx
+ * - Methods inside another type objects
+ */
+
+/* Access to Method in one level up */
+
+Method(m13b)
+{
+ return (0xabcd0000)
+}
+
+Method(m138)
+{
+ CH03("", 0, 0x098, 0, 0)
+ Store(DerefOf("m13b"), Local0)
+ if (SLCK) {
+ CH03("", 0, 0x099, 0, 0)
+ Store(ObjectType(Local0), Local1)
+ if (LNotEqual(Local1, c010)) {
+ err("", zFFF, 0x09a, 0, 0, Local1, c010)
+ }
+ } else {
+ CH04("", 0, 47, 0, 0x09b, 0, 0) // AE_AML_OPERAND_TYPE
+ }
+}
+
+/* Access to the Method itself */
+
+Method(m12c)
+{
+ CH03("", 0, 0x09c, 0, 0)
+ Store(DerefOf("m12c"), Local0)
+ if (SLCK) {
+ CH03("", 0, 0x09d, 0, 0)
+ Store(ObjectType(Local0), Local1)
+ if (LNotEqual(Local1, c010)) {
+ err("", zFFF, 0x09e, 0, 0, Local1, c010)
+ }
+ } else {
+ CH04("", 0, 47, 0, 0x09f, 0, 0) // AE_AML_OPERAND_TYPE
+ }
+}
+
+/* Access to Method of the same level */
+
+Method(m139)
+{
+ Method(m13c)
+ {
+ return (0xabcd0003)
+ }
+
+ CH03("", 0, 0x0a0, 0, 0)
+ Store(DerefOf("m13c"), Local0)
+ if (SLCK) {
+ CH03("", 0, 0x0a1, 0, 0)
+ Store(ObjectType(Local0), Local1)
+ if (LNotEqual(Local1, c010)) {
+ err("", zFFF, 0x0a2, 0, 0, Local1, c010)
+ }
+ } else {
+ CH04("", 0, 47, 0, 0x0a3, 0, 0) // AE_AML_OPERAND_TYPE
+ }
+}
+
+/* Access to Method in one level up inside another Method */
+
+Method(m13a)
+{
+ Method(m13d)
+ {
+ return (0xabcd0004)
+ }
+ Method(m138)
+ {
+ CH03("", 0, 0x0a4, 0, 0)
+ Store(DerefOf("m13d"), Local0)
+ if (SLCK) {
+ CH03("", 0, 0x0a5, 0, 0)
+ Store(ObjectType(Local0), Local1)
+ if (LNotEqual(Local1, c010)) {
+ err("", zFFF, 0x0a6, 0, 0, Local1, c010)
+ }
+ } else {
+ CH04("", 0, 47, 0, 0x0a7, 0, 0) // AE_AML_OPERAND_TYPE
+ }
+ }
+ m138()
+}
+
+Method(m12f)
+{
+ SRMT("m138")
+ m138()
+ SRMT("m12c")
+ m12c()
+ SRMT("m139")
+ m139()
+ SRMT("m13a")
+ m13a()
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0012/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0012/RUN.asl
new file mode 100644
index 000000000..ae9602430
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0012/RUN.asl
@@ -0,0 +1,39 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 12", TCLD, 12, W017)) {
+ m12a()
+ m12b()
+ m12d()
+ m12e()
+ m12f()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0013/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0013/DECL.asl
new file mode 100644
index 000000000..cb0eadc9e
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0013/DECL.asl
@@ -0,0 +1,89 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 0013:
+ *
+ * SUMMARY: The type returned by ObjectType for Object created by Create*Field operator is not BufferField
+ */
+
+Method(mdad)
+{
+ Store(Buffer(100) {}, Local0)
+
+ CreateBitField (Local0, 0, bf00)
+ CreateByteField (Local0, 0, bf01)
+ CreateDWordField (Local0, 0, bf02)
+ CreateField (Local0, 0, 32, bf03)
+ CreateField (Local0, 0, 64, bf04)
+ CreateField (Local0, 0, 65, bf05)
+ CreateQWordField (Local0, 0, bf06)
+ CreateWordField (Local0, 0, bf07)
+
+ Store(ObjectType(bf00), Local7)
+ if (LNotEqual(Local7, c016)) {
+ err("", zFFF, 0x000, 0, 0, Local7, c016)
+ }
+
+ Store(ObjectType(bf01), Local7)
+ if (LNotEqual(Local7, c016)) {
+ err("", zFFF, 0x001, 0, 0, Local7, c016)
+ }
+
+ Store(ObjectType(bf02), Local7)
+ if (LNotEqual(Local7, c016)) {
+ err("", zFFF, 0x002, 0, 0, Local7, c016)
+ }
+
+ Store(ObjectType(bf03), Local7)
+ if (LNotEqual(Local7, c016)) {
+ err("", zFFF, 0x003, 0, 0, Local7, c016)
+ }
+
+ Store(ObjectType(bf04), Local7)
+ if (LNotEqual(Local7, c016)) {
+ err("", zFFF, 0x004, 0, 0, Local7, c016)
+ }
+
+ Store(ObjectType(bf05), Local7)
+ if (LNotEqual(Local7, c016)) {
+ err("", zFFF, 0x005, 0, 0, Local7, c016)
+ }
+
+ Store(ObjectType(bf06), Local7)
+ if (LNotEqual(Local7, c016)) {
+ err("", zFFF, 0x006, 0, 0, Local7, c016)
+ }
+
+ Store(ObjectType(bf07), Local7)
+ if (LNotEqual(Local7, c016)) {
+ err("", zFFF, 0x007, 0, 0, Local7, c016)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0013/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0013/MAIN.asl
new file mode 100644
index 000000000..2a398fd7f
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0013/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B13.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0013/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0013/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0013/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0013/RUN.asl
new file mode 100644
index 000000000..958c5c91d
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0013/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 13", TCLD, 13, W017)) {
+ SRMT("mdad")
+ mdad()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0014/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0014/DECL.asl
new file mode 100644
index 000000000..187620fc2
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0014/DECL.asl
@@ -0,0 +1,53 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 0014:
+ *
+ * SUMMARY: Implementation differs the specified Maximal value of MicroSeconds
+ */
+
+Method(mdae, 1)
+{
+ Stall(arg0)
+}
+
+Method(mdaf)
+{
+ CH03("", 0, 0x000, 0, 0)
+ mdae(100)
+ CH03("", 0, 0x001, 0, 0)
+ mdae(101)
+ CH04("", 0, 48, 0, 0x002, 0, 0) // AE_AML_OPERAND_VALUE
+ mdae(255)
+ CH04("", 0, 48, 0, 0x003, 0, 0) // AE_AML_OPERAND_VALUE
+ mdae(256)
+ CH04("", 0, 48, 0, 0x004, 0, 0) // AE_AML_OPERAND_VALUE
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0014/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0014/MAIN.asl
new file mode 100644
index 000000000..a4a25fdda
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0014/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B14.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0014/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0014/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0014/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0014/RUN.asl
new file mode 100644
index 000000000..bc358d3bb
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0014/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 14", TCLD, 14, W017)) {
+ SRMT("mdaf")
+ mdaf()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0015/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0015/DECL.asl
new file mode 100644
index 000000000..e6a739d3d
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0015/DECL.asl
@@ -0,0 +1,51 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 0015:
+ *
+ * SUMMARY: ToDecimalString produces the Strings which have the length greater than expected
+ */
+
+Method(mdb0)
+{
+ Name(b000, Buffer() { 1, 1 })
+
+ ToDecimalString(b000, Local0)
+
+ if (LNotEqual(Local0, "1,1")) {
+ err("", zFFF, 0x000, 0, 0, Local0, "1,1")
+ }
+
+ Store(Sizeof(Local0), Local1)
+ if (LNotEqual(Local1, 3)) {
+ err("", zFFF, 0x001, 0, 0, Local1, 3)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0015/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0015/MAIN.asl
new file mode 100644
index 000000000..c2078211f
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0015/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B15.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0015/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0015/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0015/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0015/RUN.asl
new file mode 100644
index 000000000..6495503ec
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0015/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 15", TCLD, 15, W017)) {
+ SRMT("mdb0")
+ mdb0()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0016/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0016/DECL.asl
new file mode 100644
index 000000000..aab4ec559
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0016/DECL.asl
@@ -0,0 +1,58 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 0016:
+ *
+ * SUMMARY: Concatenate operator produces the resulting String exceeding 200 symbols without generating exception
+ */
+
+Method(mdb1)
+{
+ // 100 characters
+ Store("0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789", Local0)
+
+ // 101 characters
+ Store("01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890", Local1)
+
+ CH03("", 0, 0x000, 0, 0)
+
+ Concatenate(Local0, Local1, Local2)
+
+ CH03("", 0, 0x001, 0, 0)
+
+ /*
+ * The length of String is no more restricted.
+ *
+ * CH04("", 0, 61, 0, 0x001, 0, 0) // AE_AML_STRING_LIMIT
+ */
+}
+
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0016/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0016/MAIN.asl
new file mode 100644
index 000000000..ef1041331
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0016/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B16.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0016/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0016/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0016/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0016/RUN.asl
new file mode 100644
index 000000000..4d987177d
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0016/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 16", TCLD, 16, W017)) {
+ SRMT("mdb1")
+ mdb1()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0017/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0017/DECL.asl
new file mode 100644
index 000000000..30a43d870
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0017/DECL.asl
@@ -0,0 +1,55 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 0017:
+ *
+ * SUMMARY: LEqual works incorrectly for Buffer-operands containing zero
+ */
+
+Method(mdb2)
+{
+ Store(Buffer(){ 0x20, 0x21, 0x22, 0, 0x25 }, Local0)
+ Store(Buffer(){ 0x20, 0x21, 0x22, 0, 0x26 }, Local1)
+
+ if (LEqual(Local0, Local1)) {
+ err("", zFFF, 0x000, 0, 0, Local0, Local1)
+ }
+
+ if (LNotEqual(Local0, Buffer(){ 0x20, 0x21, 0x22, 0, 0x25 })) {
+ err("", zFFF, 0x001, 0, 0, Local0, Buffer(){ 0x20, 0x21, 0x22, 0, 0x25 })
+ }
+
+ if (LNotEqual(Local1, Buffer(){ 0x20, 0x21, 0x22, 0, 0x26 })) {
+ err("", zFFF, 0x002, 0, 0, Local1, Buffer(){ 0x20, 0x21, 0x22, 0, 0x26 })
+ }
+}
+
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0017/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0017/MAIN.asl
new file mode 100644
index 000000000..53496eb7a
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0017/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B17.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0017/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0017/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0017/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0017/RUN.asl
new file mode 100644
index 000000000..0313a6245
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0017/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 17", TCLD, 17, W017)) {
+ SRMT("mdb2")
+ mdb2()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0018/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0018/DECL.asl
new file mode 100644
index 000000000..27a7a0ca4
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0018/DECL.asl
@@ -0,0 +1,54 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 0018:
+ *
+ * SUMMARY: LGreater works incorrectly for Buffer-operands containing zero
+ */
+
+Method(mdb3)
+{
+ Store(0, Local7)
+
+ Store(Buffer(){ 0x20, 0x21, 0x22, 0, 0x26 }, Local0)
+ Store(Buffer(){ 0x20, 0x21, 0x22, 0, 0x25 }, Local1)
+
+ if (LGreater(Local0, Local1)) {
+ Store(1, Local7)
+ } else {
+ err("", zFFF, 0x000, 0, 0, Local0, Local1)
+ }
+
+ Return(Local7)
+}
+
+
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0018/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0018/MAIN.asl
new file mode 100644
index 000000000..8b437489e
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0018/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B18.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0018/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0018/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0018/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0018/RUN.asl
new file mode 100644
index 000000000..5a6dab599
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0018/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 18", TCLD, 18, W017)) {
+ SRMT("mdb3")
+ mdb3()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0019/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0019/DECL.asl
new file mode 100644
index 000000000..0ac6df507
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0019/DECL.asl
@@ -0,0 +1,48 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 0019:
+ *
+ * SUMMARY: LGreaterEqual works incorrectly for Buffer-operands containing zero
+ */
+
+Method(mdb4)
+{
+ Store(Buffer(){ 0x20, 0x21, 0x22, 0, 0x25 }, Local0)
+ Store(Buffer(){ 0x20, 0x21, 0x22, 0, 0x26 }, Local1)
+
+ if (LGreaterEqual(Local0, Local1)) {
+ err("", zFFF, 0x000, 0, 0, Local0, Local1)
+ }
+}
+
+
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0019/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0019/MAIN.asl
new file mode 100644
index 000000000..745721839
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0019/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B19.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0019/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0019/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0019/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0019/RUN.asl
new file mode 100644
index 000000000..80281476d
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0019/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 19", TCLD, 19, W017)) {
+ SRMT("mdb4")
+ mdb4()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0020/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0020/DECL.asl
new file mode 100644
index 000000000..e6c83d8c0
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0020/DECL.asl
@@ -0,0 +1,54 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 0020:
+ *
+ * SUMMARY: LLess works incorrectly for Buffer-operands containing zero
+ */
+
+Method(mdb5)
+{
+ Store(0, Local7)
+
+ Store(Buffer(){ 0x20, 0x21, 0x22, 0, 0x25 }, Local0)
+ Store(Buffer(){ 0x20, 0x21, 0x22, 0, 0x26 }, Local1)
+
+ if (LLess(Local0, Local1)) {
+ Store(1, Local7)
+ } else {
+ err("", zFFF, 0x000, 0, 0, Local0, Local1)
+ }
+
+ Return(Local7)
+}
+
+
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0020/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0020/MAIN.asl
new file mode 100644
index 000000000..f27860dd2
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0020/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B20.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0020/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0020/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0020/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0020/RUN.asl
new file mode 100644
index 000000000..b5f503122
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0020/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 20", TCLD, 20, W017)) {
+ SRMT("mdb5")
+ mdb5()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0021/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0021/DECL.asl
new file mode 100644
index 000000000..9f3babb97
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0021/DECL.asl
@@ -0,0 +1,48 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 0021:
+ *
+ * SUMMARY: LLessEqual works incorrectly for Buffer-operands containing zero
+ */
+
+Method(mdb6)
+{
+ Store(Buffer(){ 0x20, 0x21, 0x22, 0, 0x26 }, Local0)
+ Store(Buffer(){ 0x20, 0x21, 0x22, 0, 0x25 }, Local1)
+
+ if (LLessEqual(Local0, Local1)) {
+ err("", zFFF, 0x000, 0, 0, Local0, Local1)
+ }
+}
+
+
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0021/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0021/MAIN.asl
new file mode 100644
index 000000000..b57543e8a
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0021/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B21.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0021/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0021/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0021/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0021/RUN.asl
new file mode 100644
index 000000000..530f6fb90
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0021/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 21", TCLD, 21, W017)) {
+ SRMT("mdb6")
+ mdb6()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0022/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0022/DECL.asl
new file mode 100644
index 000000000..9bb773ccd
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0022/DECL.asl
@@ -0,0 +1,54 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 0022:
+ *
+ * SUMMARY: LNotEqual works incorrectly for Buffer-operands containing zero
+ */
+
+Method(mdb7)
+{
+ Store(0, Local7)
+
+ Store(Buffer(){ 0x20, 0x21, 0x22, 0, 0x25 }, Local0)
+ Store(Buffer(){ 0x20, 0x21, 0x22, 0, 0x26 }, Local1)
+
+ if (LNotEqual(Local0, Local1)) {
+ Store(1, Local7)
+ } else {
+ err("", zFFF, 0x000, 0, 0, Local0, Local1)
+ }
+
+ Return(Local7)
+}
+
+
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0022/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0022/MAIN.asl
new file mode 100644
index 000000000..9579ea65c
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0022/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B22.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0022/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0022/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0022/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0022/RUN.asl
new file mode 100644
index 000000000..d1cdbb048
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0022/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 22", TCLD, 22, W017)) {
+ SRMT("mdb7")
+ mdb7()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0023/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0023/DECL.asl
new file mode 100644
index 000000000..ef1490836
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0023/DECL.asl
@@ -0,0 +1,74 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 0023:
+ *
+ * SUMMARY: FromBCD/ToBCD works incorrectly in 64-bit mode starting with the large enough values
+ */
+
+Method(mdb8)
+{
+ // Ok, FromBCD(0x9999999999)
+
+ Store(0x9999999999, Local0)
+ Store(9999999999, Local1)
+
+ CH03("", 0, 0x000, 0, 0)
+ FromBCD(Local0, Local2)
+ if (LNotEqual(Local2, Local1)) {
+ err("", zFFF, 0x001, 0, 0, Local2, Local1)
+ }
+
+ // Bug, FromBCD(0x10000000000)
+
+ Store(0x10000000000, Local0)
+ Store(10000000000, Local1)
+
+ CH03("", 0, 0x003, 0, 0)
+ FromBCD(Local0, Local2)
+ if (LNotEqual(Local2, Local1)) {
+ err("", zFFF, 0x004, 0, 0, Local2, Local1)
+ }
+
+ // Ok, ToBCD(10000000000)
+
+ Store(10000000000, Local0)
+ Store(0x10000000000, Local1)
+
+ CH03("", 0, 0x006, 0, 0)
+ ToBCD(Local0, Local2)
+ if (LNotEqual(Local2, Local1)) {
+ err("", zFFF, 0x007, 0, 0, Local2, Local1)
+ }
+
+ CH03("", 0, 0x000, 0, 0)
+}
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0023/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0023/MAIN.asl
new file mode 100644
index 000000000..f11599e35
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0023/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B23.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0023/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0023/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0023/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0023/RUN.asl
new file mode 100644
index 000000000..5f64c08cc
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0023/RUN.asl
@@ -0,0 +1,40 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 23", TCLD, 23, W017)) {
+ SRMT("mdb8")
+ if (F64) {
+ mdb8()
+ } else {
+ SKIP()
+ }
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0024_ASL/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0024_ASL/DECL.asl
new file mode 100644
index 000000000..05f7e58c8
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0024_ASL/DECL.asl
@@ -0,0 +1,55 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 0024:
+ *
+ * SUMMARY: The EISAID doesn't provides input control of "uppercase letter" part (UUU) of EisaIdString
+ *
+ * Error/Warning expected but doesnt occur
+ */
+
+Method(mdb9)
+{
+ /*
+ * Store(EISAID("QWT012R"), Local0)
+ *
+ * gr.asl 12: Store(EISAID("QWT012R"), Local0)
+ * Error 1065 - ^ EISAID string must be of the form
+ * "UUUXXXX" (3 uppercase, 4 hex digits)
+ * (QWT012R)
+ */
+
+ Store(EISAID("QWT0123"), Local0)
+ Store(EISAID("qWT0123"), Local1)
+
+ Store(Local0, Debug)
+ Store(Local1, Debug)
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0024_ASL/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0024_ASL/MAIN.asl
new file mode 100644
index 000000000..551865994
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0024_ASL/MAIN.asl
@@ -0,0 +1,56 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B24.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0024_ASL/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0025_SPEC/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0025_SPEC/DECL.asl
new file mode 100644
index 000000000..2c5fd0f89
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0025_SPEC/DECL.asl
@@ -0,0 +1,35 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 25:
+ *
+ * SUMMARY: The maximal length exceeding exception should be additionally specified for some operators
+ */
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0026_ASL_NOT_BUG_NOW/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0026_ASL_NOT_BUG_NOW/DECL.asl
new file mode 100644
index 000000000..8ba27fe1d
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0026_ASL_NOT_BUG_NOW/DECL.asl
@@ -0,0 +1,49 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 0026:
+ *
+ * SUMMARY: The ASL Compiler doesn't forbid images of Strings exceeding maximum
+ *
+ * Error of compilation is expected here for the 201-symbol length String
+ */
+
+/*
+ * Not more a bug.
+ * Now the length of String is not anyhow restricted.
+ */
+
+Method(mdba)
+{
+ Store("012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890", Local0)
+ Store(SizeOf(Local0), Local1)
+ Return(Local1)
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0026_ASL_NOT_BUG_NOW/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0026_ASL_NOT_BUG_NOW/MAIN.asl
new file mode 100644
index 000000000..46b09c9f9
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0026_ASL_NOT_BUG_NOW/MAIN.asl
@@ -0,0 +1,56 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B26.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0026_ASL/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0027/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0027/DECL.asl
new file mode 100644
index 000000000..1fa52602c
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0027/DECL.asl
@@ -0,0 +1,96 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 0027:
+ *
+ * SUMMARY: Crash of ObjectType for the particular BufferFields
+ *
+ * Crash on ObjectType() in different conditions depending on F64.
+ * Test remained as is (due to crash as a main symptom).
+ */
+
+Method(mdbb)
+{
+ Name(b001, Buffer(200) {})
+
+ if (LEqual(F64, 1)) {
+
+ ////////////////// 64-bit mode ////////////////////////////
+
+ // Field(1,71) - before the critical field
+
+ CreateField(b001, 1, 71, f004)
+ Store(ObjectType(f004), Local0)
+ Store("ObjectType of f004(1,71) field is equal to:", Debug)
+ Store(Local0, Debug)
+
+ // Field(1,73) - after the critical field
+
+ CreateField(b001, 1, 73, f005)
+ Store(ObjectType(f005), Local0)
+ Store("ObjectType of f005(1,73) field is equal to:", Debug)
+ Store(Local0, Debug)
+
+ // Field(1,72) - the field crashes the ACPICA in 64-bit mode
+
+ CreateField(b001, 1, 72, f006)
+ Store("Before running ObjectType of f006(1,72) field.", Debug)
+ Store(ObjectType(f006), Local0)
+ Store("ObjectType of f006(1,72) field is equal to:", Debug)
+ Store(Local0, Debug)
+
+ } else {
+
+ ////////////////// 32-bit mode ////////////////////////////
+
+ // Field(1,39) - before the critical field
+
+ CreateField(b001, 1, 39, f001)
+ Store(ObjectType(f001), Local0)
+ Store("ObjectType of f001(1,39) field is equal to:", Debug)
+ Store(Local0, Debug)
+
+ // Field(1,41) - after the critical field
+
+ CreateField(b001, 1, 41, f002)
+ Store(ObjectType(f002), Local0)
+ Store("ObjectType of f002(1,41) field is equal to:", Debug)
+ Store(Local0, Debug)
+
+ // Field(1,40) - the field crashes the ACPICA in 64-bit mode
+
+ CreateField(b001, 1, 40, f003)
+ Store("Before running ObjectType of f003(1,40) field.", Debug)
+ Store(ObjectType(f003), Local0)
+ Store("ObjectType of f003(1,40) field is equal to:", Debug)
+ Store(Local0, Debug)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0027/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0027/MAIN.asl
new file mode 100644
index 000000000..62ea82878
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0027/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B27.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0027/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0027/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0027/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0027/RUN.asl
new file mode 100644
index 000000000..768c4508f
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0027/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 27", TCLD, 27, W017)) {
+ SRMT("mdbb")
+ mdbb()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0028/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0028/DECL.asl
new file mode 100644
index 000000000..90f6735ec
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0028/DECL.asl
@@ -0,0 +1,95 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 0028:
+ *
+ * SUMMARY: No exception on Create*Field for out of Buffer range
+ */
+
+Method(mdbc)
+{
+ Name(b000, Buffer(16) {})
+
+ CreateBitField(b000, 127, f000)
+ CreateByteField(b000, 15, f001)
+ CreateWordField(b000, 14, f002)
+ CreateDWordField(b000, 12, f003)
+ CreateQWordField(b000, 8, f004)
+ CreateField(b000, 127, 1, f005)
+ CreateField(b000, 120, 8, f006)
+}
+
+Method(mdbd)
+{
+ Name(b000, Buffer(16) {})
+
+ CH03("", 0, 0x000, 0, 0)
+ CreateBitField(b000, 128, f000)
+ CH04("", 0, 54, 0, 0x001, 0, 0) // AE_AML_BUFFER_LIMIT
+
+ CH03("", 0, 0x002, 0, 0)
+ CreateByteField(b000, 16, f001)
+ CH04("", 0, 54, 0, 0x003, 0, 0) // AE_AML_BUFFER_LIMIT
+
+ CH03("", 0, 0x004, 0, 0)
+ CreateWordField(b000, 15, f002)
+ CH04("", 0, 54, 0, 0x005, 0, 0) // AE_AML_BUFFER_LIMIT
+
+ CH03("", 0, 0x006, 0, 0)
+ CreateDWordField(b000, 13, f003)
+ CH04("", 0, 54, 0, 0x007, 0, 0) // AE_AML_BUFFER_LIMIT
+
+ CH03("", 0, 0x008, 0, 0)
+ CreateQWordField(b000, 9, f004)
+ CH04("", 0, 54, 0, 0x009, 0, 0) // AE_AML_BUFFER_LIMIT
+
+ CH03("", 0, 0x00a, 0, 0)
+ CreateField(b000, 127, 2, f005)
+ CH04("", 0, 54, 0, 0x00b, 0, 0) // AE_AML_BUFFER_LIMIT
+
+ CH03("", 0, 0x00c, 0, 0)
+ CreateField(b000, 120, 9, f006)
+ CH04("", 0, 54, 0, 0x00d, 0, 0) // AE_AML_BUFFER_LIMIT
+
+ CH03("", 0, 0x00e, 0, 0)
+ CreateField(b000, 128, 1, f007)
+ CH04("", 0, 54, 0, 0x00f, 0, 0) // AE_AML_BUFFER_LIMIT
+
+ CH03("", 0, 0x010, 0, 0)
+ CreateField(b000, 121, 8, f008)
+ CH04("", 0, 54, 0, 0x011, 0, 0) // AE_AML_BUFFER_LIMIT
+}
+
+Method(mdbe)
+{
+ mdbc()
+ mdbd()
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0028/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0028/MAIN.asl
new file mode 100644
index 000000000..9eb2f1c2b
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0028/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B28.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0028/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0028/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0028/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0028/RUN.asl
new file mode 100644
index 000000000..6f3a9402a
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0028/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 28", TCLD, 28, W017)) {
+ SRMT("mdbe")
+ mdbe()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0029/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0029/DECL.asl
new file mode 100644
index 000000000..febfaabff
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0029/DECL.asl
@@ -0,0 +1,96 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 0029:
+ *
+ * SUMMARY: Looks, like Sleep (or Wait) spend less time than specified
+ */
+
+Method(mdbf, 2)
+{
+ Switch (arg0) {
+ case (0) {
+ Store(Timer, Local1)
+ Sleep(arg1)
+ Store(Timer, Local2)
+ Subtract(Local2, Local1, Local6)
+ Multiply(arg1, 10000, Local4)
+ if (LLess(Local6, Local4)) {
+ err("", zFFF, 0x000, 0, 0, Local6, Local4)
+ }
+ }
+ case (1) {
+ Store(Timer, Local1)
+ Stall(arg1)
+ Store(Timer, Local2)
+ Subtract(Local2, Local1, Local6)
+ Multiply(arg1, 10, Local4)
+ if (LLess(Local6, Local4)) {
+ err("", zFFF, 0x001, 0, 0, Local6, Local4)
+ }
+ }
+ case (2) {
+ Store(Timer, Local1)
+ Wait(ed00, arg1)
+ Store(Timer, Local2)
+ Subtract(Local2, Local1, Local6)
+ Multiply(arg1, 10000, Local4)
+ if (LLess(Local6, Local4)) {
+ err("", zFFF, 0x002, 0, 0, Local6, Local4)
+ }
+ }
+ }
+}
+
+// Sleep
+Method(mdc0)
+{
+ mdbf(0,10)
+ mdbf(0,100)
+ mdbf(0,500)
+ mdbf(0,1000)
+ mdbf(0,2000)
+}
+
+// Wait
+Method(mdc1)
+{
+ mdbf(2,10)
+ mdbf(2,100)
+ mdbf(2,1000)
+ mdbf(2,2000)
+}
+
+Method(mdc2)
+{
+ mdc0()
+ mdc1()
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0029/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0029/MAIN.asl
new file mode 100644
index 000000000..2a1a356a2
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0029/MAIN.asl
@@ -0,0 +1,58 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B29.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/common/DECL.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0029/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0029/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0029/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0029/RUN.asl
new file mode 100644
index 000000000..6c971d4b5
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0029/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 29", TCLD, 29, W017)) {
+ SRMT("mdc2")
+ mdc2()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0030/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0030/DECL.asl
new file mode 100644
index 000000000..b45619064
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0030/DECL.asl
@@ -0,0 +1,95 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 0030:
+ *
+ * SUMMARY: Crash of ObjectType for the particular Fields
+ *
+ * Crash. Test remained as is (due to crash as a main symptom).
+ */
+
+Method(mdc3)
+{
+ // Field Unit
+ OperationRegion(r000, SystemMemory, 0x100, 0x100)
+ Field(r000, ByteAcc, NoLock, Preserve) {
+ f000, 8,
+ f001, 16,
+ f002, 32,
+ f003, 33,
+ f004, 1,
+ f005, 64,
+ }
+
+ Store("------------ Fields:", Debug)
+ Store(f000, Debug)
+ Store(f001, Debug)
+ Store(f002, Debug)
+ Store(f003, Debug)
+ Store(f004, Debug)
+ Store(f005, Debug)
+ Store("------------.", Debug)
+
+ return (0)
+}
+
+Method(mdc4)
+{
+ // Field Unit
+ OperationRegion(r000, SystemMemory, 0x100, 0x100)
+ Field(r000, ByteAcc, NoLock, Preserve) {
+ f000, 8,
+ f001, 16,
+ f002, 32,
+ f003, 33,
+ f004, 7,
+ f005, 64,
+ }
+
+ Store("------------ Fields:", Debug)
+ Store(f000, Debug)
+ Store(f001, Debug)
+ Store(f002, Debug)
+ Store(f003, Debug)
+ Store(f004, Debug)
+ Store(f005, Debug)
+ Store("------------.", Debug)
+
+ return (0)
+}
+
+Method(mdc5)
+{
+ mdc3()
+ mdc4()
+
+ return (0)
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0030/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0030/MAIN.asl
new file mode 100644
index 000000000..7eef547da
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0030/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B30.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0030/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0030/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0030/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0030/RUN.asl
new file mode 100644
index 000000000..b84fb447d
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0030/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 30", TCLD, 30, W017)) {
+ SRMT("mdc5")
+ mdc5()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0031_ASL_RUNTIME/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0031_ASL_RUNTIME/DECL.asl
new file mode 100644
index 000000000..e7a238d9b
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0031_ASL_RUNTIME/DECL.asl
@@ -0,0 +1,201 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 0031:
+ *
+ * SUMMARY: The ASL Compiler doesn't try to detect and reject attempts to use object before its declaration is evaluated
+ *
+ * ASL-compiler doesnt result in Error
+ *
+ * ATTENTION:
+ *
+ * Note 1: This test now is a run-time test because the ASL compiler doesn't
+ * actually detect and prohibit (my mistake) use of object before its
+ * declaration. After this bug of ASL compiler is fixed move this bdemo
+ * to non-run-time bug tests but dont forget to move all positive checkings
+ * of it in other run-time tests.
+ *
+ * Note 2: Since the ability itself to tun this test is error
+ * the test returns Error inconditionally (Method m1dc).
+ * But only one that error is expected. When the bug is
+ * fixed we will encounter that the test is no more
+ * compiled and fix it (see Note 1).
+ */
+
+Name(id28, 0)
+
+Method(mdc7)
+{
+ CH03("", 0, 0x000, 0, 0)
+ Store(0x12345678, i000)
+ Name(i000, 0)
+ CH04("", 0, 0xff, 0, 0x001, 0, 0)
+}
+
+Method (m800)
+{
+ Name(i000, 0)
+ Method (m000)
+ {
+ Store(i000, Debug)
+ Name(i000, 0xffffffff)
+ }
+}
+
+Method (m801)
+{
+ Method (m000)
+ {
+ Store(id28, Debug)
+ Name(id28, 0xffffffff)
+ }
+}
+
+Method(m802)
+{
+ Name(i000, 0)
+ Store(0xabcd0000, i000)
+
+ CH03("", 0, 0x002, 0, 0)
+
+ Name(i001, 0)
+ Store(0xabcd0001, i001)
+
+ CH03("", 0, 0x003, 0, 0)
+
+ Name(i002, 0xabcd0002)
+
+ CH03("", 0, 0x003, 0, 0)
+
+ if (y084) {
+
+ CH03("", 0, 0x004, 0, 0)
+
+ Method(m000)
+ {
+ Name(i000, 0xabcd0003)
+ if (LNotEqual(i000, 0xabcd0003)) {
+ err("", zFFF, 0x006, 0, 0, i000, 0xabcd0003)
+ }
+ }
+
+ CH03("", 0, 0x005, 0, 0)
+
+ Method(m001)
+ {
+ Name(i000, 0xabcd0004)
+ Store(0xabcd0005, i000)
+ if (LNotEqual(i000, 0xabcd0005)) {
+ err("", zFFF, 0x006, 0, 0, i000, 0xabcd0005)
+ }
+ }
+
+ CH03("", 0, 0x006, 0, 0)
+
+ Method(m002)
+ {
+ Store(i000, Debug)
+ Name(i000, 0xabcd0006)
+ Store(0xabcd0007, i000)
+ if (LNotEqual(i000, 0xabcd0007)) {
+ err("", zFFF, 0x006, 0, 0, i000, 0xabcd0007)
+ }
+ }
+
+ CH03("", 0, 0x007, 0, 0)
+
+ Method (m003)
+ {
+ Store("------------------------------ 000000000", Debug)
+ Store(id28, Debug)
+ Name(id28, 0xabcd0008)
+ if (LNotEqual(id28, 0xabcd0008)) {
+ err("", zFFF, 0x006, 0, 0, id28, 0xabcd0008)
+ }
+ }
+
+ CH03("", 0, 0x008, 0, 0)
+ }
+
+ CH03("", 0, 0x009, 0, 0)
+
+ if (LNotEqual(i000, 0xabcd0000)) {
+ err("", zFFF, 0x00a, 0, 0, i000, 0xabcd0000)
+ }
+ if (LNotEqual(i001, 0xabcd0001)) {
+ err("", zFFF, 0x00b, 0, 0, i001, 0xabcd0001)
+ }
+ if (LNotEqual(i002, 0xabcd0002)) {
+ err("", zFFF, 0x00c, 0, 0, i002, 0xabcd0002)
+ }
+
+ if (y084) {
+ CH03("", 0, 0x00d, 0, 0)
+ m000()
+ CH03("", 0, 0x00e, 0, 0)
+ m001()
+ CH03("", 0, 0x00f, 0, 0)
+ m002()
+ CH03("", 0, 0x010, 0, 0)
+ m003()
+ CH03("", 0, 0x011, 0, 0)
+ } else {
+ SRMT("sub-tests-of-m802")
+ BLCK()
+ }
+
+ CH03("", 0, 0x012, 0, 0)
+
+ Store(0xabcd0009, ii99)
+ Name(ii99, 0)
+
+ CH04("", 0, 0xff, 0, 0x013, 0, 0)
+}
+
+Method(m1dc)
+{
+ /* Successful compilation itself of this test is error */
+ err("", zFFF, 0x014, 0, 0, 0, 0)
+}
+
+Method(mdc6)
+{
+ SRMT("mdc7")
+ mdc7()
+ SRMT("m800")
+ m800()
+ SRMT("m801")
+ m801()
+ SRMT("m802")
+ m802()
+ SRMT("m1dc")
+ m1dc()
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0031_ASL_RUNTIME/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0031_ASL_RUNTIME/MAIN.asl
new file mode 100644
index 000000000..4adf5ff1e
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0031_ASL_RUNTIME/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B31.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0031_ASL_RUNTIME/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0031_ASL_RUNTIME/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0031_ASL_RUNTIME/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0031_ASL_RUNTIME/RUN.asl
new file mode 100644
index 000000000..2b6532ed5
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0031_ASL_RUNTIME/RUN.asl
@@ -0,0 +1,35 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 31", TCLD, 31, W017)) {
+ mdc6()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0032_ASL/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0032_ASL/DECL.asl
new file mode 100644
index 000000000..bedc4acfe
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0032_ASL/DECL.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 0032:
+ *
+ * SUMMARY: The ASL Compiler should reject the same and out of range IRQ numbers (IRQ and IRQNoFlags macros)
+ *
+ * ASL compiler should report error...
+ */
+
+ Method(mf62)
+ {
+ Name (p000, Package() {
+ ResourceTemplate () {
+ IRQ (Edge, ActiveLow, Shared, IRQ0) {16}
+ },
+ ResourceTemplate () {
+ IRQ (Level, ActiveLow, Shared, IRQ1) {9, 9}
+ },
+ })
+
+ Store(DeRefOf(Index(p000, 0)), Local0)
+ Store(Local0, Debug)
+
+ Store(DeRefOf(Index(p000, 1)), Local0)
+ Store(Local0, Debug)
+
+ return (0)
+ }
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0032_ASL/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0032_ASL/MAIN.asl
new file mode 100644
index 000000000..a1f28a064
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0032_ASL/MAIN.asl
@@ -0,0 +1,56 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B32.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0032_ASL/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0033_ASL/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0033_ASL/DECL.asl
new file mode 100644
index 000000000..68bd7f2ee
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0033_ASL/DECL.asl
@@ -0,0 +1,103 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 0033:
+ *
+ * SUMMARY: The ASL-compiler doesn't refuse the same descriptor names present in the same scope (Method)
+ *
+ * The ASL-compiler doesn't refuse the same descriptor names
+ * (Resource Descriptor Macros) present in the same scope (Method).
+ */
+
+Method(mdc8)
+{
+ Name(RT00,
+ ResourceTemplate () {
+ IRQ (Edge, ActiveLow, Shared, DN00) {}
+ IRQ (Edge, ActiveLow, Shared, DN00) {}
+ })
+ Name(RT01,
+ ResourceTemplate () {
+ DMA (Compatibility, NotBusMaster, Transfer8, DN00) {}
+ DMA (Compatibility, NotBusMaster, Transfer8, DN00) {}
+ })
+ Name(RT02,
+ ResourceTemplate () {
+ IO (Decode16, 0xf0f1, 0xf2f3, 0xf4, 0xf5, DN00)
+ IO (Decode16, 0xf0f1, 0xf2f3, 0xf4, 0xf5, DN00)
+ })
+ Name(RT03,
+ ResourceTemplate () {
+ Memory24 (ReadOnly, 0x0000, 0xffff, 0x0001, 0xfffe, DN00)
+ Memory24 (ReadOnly, 0x0000, 0xffff, 0x0001, 0xfffe, DN00)
+ })
+ Name(RT04,
+ ResourceTemplate () {
+ IO (Decode16, 0xf0f1, 0xf2f3, 0xf4, 0xf5, DN00)
+ IO (Decode16, 0xf0f1, 0xf2f3, 0xf4, 0xf5, DN00)
+ })
+}
+
+Method(m208)
+{
+ Name(RT00,
+ ResourceTemplate () {
+ IRQ (Edge, ActiveLow, Shared, DN01) {}
+ })
+ Name(RT01,
+ ResourceTemplate () {
+ DMA (Compatibility, NotBusMaster, Transfer8, DN01) {}
+ })
+ Name(RT02,
+ ResourceTemplate () {
+ IO (Decode16, 0xf0f1, 0xf2f3, 0xf4, 0xf5, DN01)
+ })
+ Name(RT03,
+ ResourceTemplate () {
+ Memory24 (ReadOnly, 0x0000, 0xffff, 0x0001, 0xfffe, DN01)
+ })
+ Name(RT04,
+ ResourceTemplate () {
+ IO (Decode16, 0xf0f1, 0xf2f3, 0xf4, 0xf5, DN01)
+ })
+}
+
+Method(m209)
+{
+ Name(RT00,
+ ResourceTemplate () {
+ IRQ (Edge, ActiveLow, Shared, DN02) {}
+ })
+ Name(RT01,
+ ResourceTemplate () {
+ IRQ (Edge, ActiveLow, Shared, DN02) {}
+ })
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0033_ASL/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0033_ASL/MAIN.asl
new file mode 100644
index 000000000..ca9f2520f
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0033_ASL/MAIN.asl
@@ -0,0 +1,56 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B33.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0033_ASL/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0034/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0034/DECL.asl
new file mode 100644
index 000000000..2dcbb0bdb
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0034/DECL.asl
@@ -0,0 +1,62 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 0034:
+ *
+ * SUMMARY: Some data tables are corrupted when _BAS field of FixedIO Resource Descriptor Macro is specified
+ */
+
+Method(mdc9)
+{
+ Name(RT00,
+ ResourceTemplate () {
+ FixedIO (0x0001, 0xff, FIO0)
+ })
+ Store(FIO0._BAS, Debug)
+}
+
+Method(mdca)
+{
+ Name(RT00,
+ ResourceTemplate () {
+ FixedIO (0x0001, 0xff, FIO0)
+ FixedIO (0x0001, 0xff, FIO1)
+ })
+ Store(FIO0._LEN, Debug)
+ Store(FIO1._LEN, Debug)
+ Store(FIO1._BAS, Debug)
+}
+
+Method(mdcb)
+{
+ mdc9()
+ mdca()
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0034/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0034/MAIN.asl
new file mode 100644
index 000000000..991c677f4
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0034/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B34.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0034/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0034/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0034/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0034/RUN.asl
new file mode 100644
index 000000000..8b1d386af
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0034/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 34", TCLD, 34, W017)) {
+ SRMT("mdcb")
+ mdcb()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0035_ASL/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0035_ASL/DECL.asl
new file mode 100644
index 000000000..1db74cc23
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0035_ASL/DECL.asl
@@ -0,0 +1,53 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 0035:
+ *
+ * SUMMARY: The DMA Resource Descriptor Macro (specification, compilation error, to strengthen the ASL Compiler input control)
+ *
+ * ASL compiler should report errors.
+ */
+
+Method(mdcc)
+{
+ Name(RT00,
+ ResourceTemplate () {
+ DMA (Compatibility, NotBusMaster, Transfer8) {8}
+ })
+ Name(RT01,
+ ResourceTemplate () {
+ DMA (Compatibility, NotBusMaster, Transfer8) {1,1}
+ })
+ Name(RT02,
+ ResourceTemplate () {
+ DMA (Compatibility, , Transfer8) {1,2}
+ })
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0035_ASL/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0035_ASL/MAIN.asl
new file mode 100644
index 000000000..596e381c9
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0035_ASL/MAIN.asl
@@ -0,0 +1,56 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B35.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0035_ASL/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0036_ASL/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0036_ASL/DECL.asl
new file mode 100644
index 000000000..3b5288466
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0036_ASL/DECL.asl
@@ -0,0 +1,46 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 0036:
+ *
+ * SUMMARY: The ASL compiler should reject the VendorShort Resource Descriptor Macro with the out of range bytes number
+ *
+ * ASL compiler should report errors.
+ */
+
+Method(mdcd)
+{
+ Name (VS00,
+ ResourceTemplate () {
+ VendorShort () {0x00, 0xa2, 0xb3, 0x76, 0xd5, 0xe6, 0xf7,
+ 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99}
+ })
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0036_ASL/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0036_ASL/MAIN.asl
new file mode 100644
index 000000000..0371c3929
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0036_ASL/MAIN.asl
@@ -0,0 +1,56 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B36.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0036_ASL/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0037/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0037/DECL.asl
new file mode 100644
index 000000000..250c6e53e
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0037/DECL.asl
@@ -0,0 +1,54 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 0037:
+ *
+ * SUMMARY: The Memory24 Resource Descriptor Macro specification should be updated
+ */
+
+ Method(mf63)
+ {
+ Name (M241,
+ ResourceTemplate () {
+ Memory24 (, 0xf0f1, 0xf2f3, 0xf4f5, 0xf6f7, M240)
+ })
+ Name (M242, Buffer () {0x81, 0x09, 0x00, 0x01,
+ 0xf1, 0xf0, 0xf3, 0xf2, 0xf5, 0xf4, 0xf7, 0xf6, 0x79, 0x00,
+ })
+
+ if (LNotEqual(M241, M242)) {
+ err("", zFFF, 0x000, 0, 0, M241, M242)
+ }
+
+ if (LNotEqual(M240._RW, 0x18)) {
+ err("", zFFF, 0x000, 0, 0, M240._RW, 0x18)
+ }
+ }
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0037/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0037/MAIN.asl
new file mode 100644
index 000000000..92ac6713c
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0037/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B37.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0037/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0037/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0037/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0037/RUN.asl
new file mode 100644
index 000000000..1e7cb1ed2
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0037/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 37", TCLD, 37, W017)) {
+ SRMT("mf63")
+ mf63()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0038/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0038/DECL.asl
new file mode 100644
index 000000000..3e50b91a5
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0038/DECL.asl
@@ -0,0 +1,82 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 0038:
+ *
+ * SUMMARY: LGreater passed with Integer and String works incorrectly in 32-bit mode
+ */
+
+Method(mdce)
+{
+ Store(0, Local7)
+
+ // Show that (in 32-bit mode) "FdeAcb0132547698" passed to Name
+ // operator is correctly implicitly converted to Integer 0xfdeacb01
+
+ Name(n000, 0)
+ Store("FdeAcb0132547698", n000)
+ Store(n000, Debug)
+
+ if (LNotEqual(n000, 0xfdeacb01)) {
+ err("", zFFF, 0x000, 0, 0, n000, 0xfdeacb01)
+ }
+
+ // Show that LGreater operator indicates correctly
+ // that 0x42345678 is greater than 0x32547698
+
+ if (LGreater(0x42345678, 0x32547698)) {
+ Store(1, Local7)
+ } else {
+ err("", zFFF, 0x001, 0, 0, 0x42345678, 0x32547698)
+ }
+
+ // Show that (in 32-bit mode) "FdeAcb0132547698" passed to Name operator
+ // is implicitly converted to some Integer (0xfdeacb01) which is actually
+ // treated by LGreater as being greater than 0x42345678
+
+ if (LGreater(n000, 0x42345678)) {
+ Store(1, Local7)
+ } else {
+ err("", zFFF, 0x002, 0, 0, n000, 0x42345678)
+ }
+
+ // Show that, nevertheless, (in 32-bit mode) "FdeAcb01Fdeacb03" passed
+ // to LGreater operator is implicitly converted to some unexpected value
+ // which is NOT equal to the expected correct 0xfdeacb01 value.
+
+ if (LGreater(0xfdeacb02, "FdeAcb01Fdeacb03")) {
+ Store(1, Local7)
+ } else {
+ err("", zFFF, 0x003, 0, 0, 0xfdeacb02, "FdeAcb01Fdeacb03")
+ }
+
+ return (Local7)
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0038/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0038/MAIN.asl
new file mode 100644
index 000000000..191aa8860
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0038/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B38.aml", // Output filename
+ "DSDT", // Signature
+ 0x01, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0038/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0038/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0038/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0038/RUN.asl
new file mode 100644
index 000000000..44f4f4297
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0038/RUN.asl
@@ -0,0 +1,40 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 38", TCLD, 38, W017)) {
+ SRMT("mdce")
+ if (F64) {
+ SKIP()
+ } else {
+ mdce()
+ }
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0039_ASL_RUNTIME/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0039_ASL_RUNTIME/DECL.asl
new file mode 100644
index 000000000..9a7823dd3
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0039_ASL_RUNTIME/DECL.asl
@@ -0,0 +1,56 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 0039:
+ *
+ * SUMMARY: The ASL Compiler fails on specific expressions with ObjectType
+ */
+
+Method(mdcf)
+{
+ Name(c010, 8) // Method
+ Name(c018, 16) // Debug Object
+
+ // Debug Object
+
+ Store(ObjectType(Debug), Local0)
+ if (LNotEqual(Local0, c018)) {
+ err("", zFFF, 0x000, 0, 0, Local0, c018)
+ }
+
+ // Method
+
+ Method(m0f2) { return (0x1234) }
+ Store(ObjectType(m0f2), Local0)
+ if (LNotEqual(Local0, c010)) {
+ err("", zFFF, 0x001, 0, 0, Local0, c010)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0039_ASL_RUNTIME/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0039_ASL_RUNTIME/MAIN.asl
new file mode 100644
index 000000000..5c2620103
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0039_ASL_RUNTIME/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B39.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0039_ASL_RUNTIME/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0039_ASL_RUNTIME/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0039_ASL_RUNTIME/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0039_ASL_RUNTIME/RUN.asl
new file mode 100644
index 000000000..84a80e4bc
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0039_ASL_RUNTIME/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 39", TCLD, 39, W017)) {
+ SRMT("mdcf")
+ mdcf()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0040/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0040/DECL.asl
new file mode 100644
index 000000000..09363e1f2
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0040/DECL.asl
@@ -0,0 +1,49 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 0040:
+ *
+ * SUMMARY: Crash on sync-objects reusing
+ */
+
+Method(mdd0) {
+ Mutex(MTX0, 0)
+ Acquire(MTX0, 0)
+ Release(MTX0)
+}
+
+Method(mdd1) {
+ Store(120, Local0)
+ While (Local0) {
+ mdd0()
+ Decrement(Local0)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0040/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0040/MAIN.asl
new file mode 100644
index 000000000..70047331f
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0040/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B40.aml", // Output filename
+ "DSDT", // Signature
+ 0x01, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0040/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0040/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0040/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0040/RUN.asl
new file mode 100644
index 000000000..e4697c69a
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0040/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 40", TCLD, 40, W017)) {
+ SRMT("mdd1")
+ mdd1()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0041/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0041/DECL.asl
new file mode 100644
index 000000000..2c350016f
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0041/DECL.asl
@@ -0,0 +1,47 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 0041:
+ *
+ * SUMMARY: ToInteger transforms operand to reference when no conversion is required
+ */
+
+Method(mdd2)
+{
+ Store(0, Local0)
+ Store(Local0, Debug)
+ ToInteger(Local0)
+ Store(Local0, Debug)
+ Add(Local0, 1, Local7)
+ if (LNotEqual(Local7, 1)){
+ err("", zFFF, 0x000, 0, 0, Local7, 1)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0041/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0041/MAIN.asl
new file mode 100644
index 000000000..b0091d031
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0041/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B41.aml", // Output filename
+ "DSDT", // Signature
+ 0x01, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0041/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0041/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0041/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0041/RUN.asl
new file mode 100644
index 000000000..c2368dc49
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0041/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 41", TCLD, 41, W017)) {
+ SRMT("mdd2")
+ mdd2()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0042/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0042/DECL.asl
new file mode 100644
index 000000000..6c8931c19
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0042/DECL.asl
@@ -0,0 +1,47 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 0042:
+ *
+ * SUMMARY: ToDecimalString transforms operand to reference when no conversion is required
+ */
+
+Method(mdd3)
+{
+ Store("0", Local0)
+ Store(Local0, Debug)
+ ToDecimalString(Local0)
+ Store(Local0, Debug)
+ Add(Local0, 1, Local7)
+ if (LNotEqual(Local7, 1)){
+ err("", zFFF, 0x000, 0, 0, Local7, 1)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0042/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0042/MAIN.asl
new file mode 100644
index 000000000..15389dfd2
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0042/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B42.aml", // Output filename
+ "DSDT", // Signature
+ 0x01, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0042/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0042/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0042/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0042/RUN.asl
new file mode 100644
index 000000000..44db2ddf2
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0042/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 42", TCLD, 42, W017)) {
+ SRMT("mdd3")
+ mdd3()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0043/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0043/DECL.asl
new file mode 100644
index 000000000..057dc2653
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0043/DECL.asl
@@ -0,0 +1,48 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 0043:
+ *
+ * SUMMARY: ToHexString transforms operand to reference when no conversion is required
+ */
+
+Method(mdd4)
+{
+ Store("a", Local0)
+ Store(Local0, Debug)
+ ToHexString(Local0)
+ Store(Local0, Debug)
+
+ Add(Local0, 1, Local7)
+ if (LNotEqual(Local7, 11)){
+ err("", zFFF, 0x000, 0, 0, Local7, 11)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0043/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0043/MAIN.asl
new file mode 100644
index 000000000..c8f2e874c
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0043/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B43.aml", // Output filename
+ "DSDT", // Signature
+ 0x01, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0043/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0043/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0043/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0043/RUN.asl
new file mode 100644
index 000000000..d68b8b465
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0043/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 43", TCLD, 43, W017)) {
+ SRMT("mdd4")
+ mdd4()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0044/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0044/DECL.asl
new file mode 100644
index 000000000..07a829821
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0044/DECL.asl
@@ -0,0 +1,47 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 0044:
+ *
+ * SUMMARY: The ToUUID Macro loses the high hex-digit of each byte
+ */
+
+Method(mdd5)
+{
+ Store( Buffer(16) {0x3d, 0x2c, 0x1b, 0x0a, 0x5f, 0x4e, 0x71, 0x60,
+ 0x82, 0x93, 0xa4, 0xb5, 0xc6, 0xd7, 0xe8, 0xf9}, Local0)
+
+ Store(ToUUID("0a1b2c3d-4e5f-6071-8293-a4b5c6d7e8f9"), Local1)
+
+ if (LNotEqual(Local0, Local1)) {
+ err("", zFFF, 0x000, 0, 0, Local0, Local1)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0044/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0044/MAIN.asl
new file mode 100644
index 000000000..ef5e48517
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0044/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B44.aml", // Output filename
+ "DSDT", // Signature
+ 0x01, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0044/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0044/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0044/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0044/RUN.asl
new file mode 100644
index 000000000..f76c6b3ba
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0044/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 44", TCLD, 44, W017)) {
+ SRMT("mdd5")
+ mdd5()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0045/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0045/DECL.asl
new file mode 100644
index 000000000..d327b83ab
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0045/DECL.asl
@@ -0,0 +1,74 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 0045:
+ *
+ * SUMMARY: Exception on ToDecimalString for Buffer with 51 elements
+ */
+
+Method(mdd6)
+{
+ // ToDecimalString() when the number of result characters in string
+ // exceeds 200. Results into 204 (51 * 4) characters.
+ Name(b000, Buffer() {
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1})
+
+ Name(b001, Buffer() {
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1})
+
+ ToDecimalString(b001, Local0)
+ if (LNotEqual(Local0,
+ "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1")) {
+ err("", zFFF, 0x000, 0, 0, Local0,
+ "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1")
+ }
+ Store(SizeOf(Local0), Local1)
+ if (LNotEqual(Local1, 99)) {
+ err("", zFFF, 0x001, 0, 0, Local1, 99)
+ }
+
+ ToDecimalString(b000, Local0)
+ if (LNotEqual(Local0,
+ "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1")) {
+ err("", zFFF, 0x002, 0, 0, Local0,
+ "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1")
+ }
+ Store(SizeOf(Local0), Local1)
+ if (LNotEqual(Local1, 101)) {
+ err("", zFFF, 0x003, 0, 0, Local1, 101)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0045/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0045/MAIN.asl
new file mode 100644
index 000000000..5cf80002d
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0045/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B45.aml", // Output filename
+ "DSDT", // Signature
+ 0x01, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0045/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0045/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0045/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0045/RUN.asl
new file mode 100644
index 000000000..df05dac8f
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0045/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 45", TCLD, 45, W017)) {
+ SRMT("mdd6")
+ mdd6()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0046/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0046/DECL.asl
new file mode 100644
index 000000000..4a32ac368
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0046/DECL.asl
@@ -0,0 +1,77 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 0046:
+ *
+ * SUMMARY: Exception on ToHexString for Buffer with 67 elements
+ */
+
+Method(mdd7)
+{
+ Name(b000, Buffer() {
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1})
+
+ Name(b001, Buffer() {
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1})
+
+ ToHexString(b001, Local0)
+ if (LNotEqual(Local0,
+ "01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01")) {
+ err("", zFFF, 0x000, 0, 0, Local0,
+ "01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01")
+ }
+
+ Store(SizeOf(Local0), Local1)
+ if (LNotEqual(Local1, 197)) {
+ err("", zFFF, 0x001, 0, 0, Local1, 197)
+ }
+
+
+ ToHexString(b000, Local0)
+ if (LNotEqual(Local0,
+ "01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01")) {
+ err("", zFFF, 0x002, 0, 0, Local0,
+ "01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01")
+ }
+
+ Store(SizeOf(Local0), Local1)
+ if (LNotEqual(Local1, 200)) {
+ err("", zFFF, 0x003, 0, 0, Local1, 200)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0046/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0046/MAIN.asl
new file mode 100644
index 000000000..eb4b964de
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0046/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B46.aml", // Output filename
+ "DSDT", // Signature
+ 0x01, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0046/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0046/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0046/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0046/RUN.asl
new file mode 100644
index 000000000..0381de39d
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0046/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 46", TCLD, 46, W017)) {
+ SRMT("mdd7")
+ mdd7()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0047/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0047/DECL.asl
new file mode 100644
index 000000000..393d56a3c
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0047/DECL.asl
@@ -0,0 +1,110 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 47:
+ *
+ * SUMMARY: Timer operator doesn’t provide gradually increased values
+ *
+ * APPEARANCE
+ *
+ * The ASL Timer operator is declared as a 64-bit one
+ * "17.5.117 Timer (Get 64-Bit Timer Value)" but actualy,
+ * we observe it is overrun during each 15 minutes, but we
+ * expect that to be one time in more than 50 thousand years!
+ *
+ * SPECS (17.5.117)
+ *
+ * The value resulting from this opcode is 64-bits.
+ * It is monotonically increasing, but it is not guaranteed
+ * that every result will be unique, i.e. two subsequent
+ * instructions may return the same value. The only guarantee
+ * is that each subsequent evaluation will be greater-than or
+ * equal to the previous ones.
+ *
+ * Timer operator doesn’t provide
+ * gradually increased values. The test takes long time,
+ * and ends only when encounters error. Since the test is
+ * based on Timer operator which is under testing and works
+ * incorrectly we excluded this test from the normally run
+ * tests set. We can't even control the time the run of test
+ * is in progress from inside the test.
+ */
+
+Method(md77)
+{
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+
+ Name(TSLP, 5000) // MilliSecs to sleep each cycle (5 secs)
+ Name(NCCL, 180) // Number of cycles
+
+ Store(NCCL, lpN0)
+ Store(0, lpC0)
+
+ Multiply(TSLP, lpN0, Local0)
+ Divide(Local0, 1000, Local1, Local2)
+ Store(Concatenate("Maximal time of execution (in seconds): 0x", Local2), Debug)
+
+ Store(Timer, Local0)
+ Store(0, Local5)
+
+ Store(Concatenate("Start value of Timer : 0x", Local0), Debug)
+
+ While (lpN0) {
+
+ Store(Timer, Local7)
+ Store(Concatenate("Timer: 0x", Local7), Debug)
+
+ if (LGreater(Local0, Local7)) {
+ // if (Local5) {
+ err("", zFFF, 0x000, 0, 0, Local0, Local7)
+ Store(Concatenate("Cur timer : 0x", Local7), Debug)
+ Store(Concatenate("Start timer : 0x", Local0), Debug)
+ Store(Concatenate("Step of cycle : 0x", TSLP), Debug)
+ Break
+ // }
+ // First time in more than 50 thousand years!
+ Store(1, Local5)
+ }
+
+ Sleep (TSLP)
+
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+
+ Store(Concatenate("Start timer: 0x", Local0), Debug)
+ Store(Concatenate("Finish timer: 0x", Local7), Debug)
+
+ Subtract(Local7, Local0, Local6)
+ Store(TMR0(Local6), Local0)
+ Store(Concatenate("Run time (in seconds): 0x", Local0), Debug)
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0047/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0047/MAIN.asl
new file mode 100644
index 000000000..25c37f032
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0047/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B47.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0047/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0047/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0047/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0047/RUN.asl
new file mode 100644
index 000000000..545cdb45d
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0047/RUN.asl
@@ -0,0 +1,40 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 47", TCLD, 47, W017)) {
+ SRMT("md77")
+ if (rn05) {
+ md77()
+ } else {
+ BLCK()
+ }
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0048/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0048/DECL.asl
new file mode 100644
index 000000000..a08aa3079
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0048/DECL.asl
@@ -0,0 +1,61 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 0048:
+ *
+ * SUMMARY: No exception on result of Concatenate longer than 210 bytes
+ */
+
+Method(mdd8)
+{
+ // 100 characters
+ Store("0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789", Local0)
+
+ // 101 characters
+ Store("01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890", Local1)
+
+ // Concatenate 100-byte long string with 101-byte long
+ // string and expect AE_AML_STRING_LIMIT exception.
+
+ CH03("", 0, 0x000, 0, 0)
+
+ Concatenate(Local0, Local1)
+
+ /*
+ * No restriction on the length of String objects now:
+ *
+ * CH04("", 0, 61, 0, 0x001, 0, 0) // AE_AML_STRING_LIMIT
+ */
+
+ CH03("", 0, 0x001, 0, 0)
+
+}
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0048/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0048/MAIN.asl
new file mode 100644
index 000000000..3a6bfe418
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0048/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B48.aml", // Output filename
+ "DSDT", // Signature
+ 0x01, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0048/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0048/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0048/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0048/RUN.asl
new file mode 100644
index 000000000..9092cb66b
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0048/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 48", TCLD, 48, W017)) {
+ SRMT("mdd8")
+ mdd8()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0049/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0049/DECL.asl
new file mode 100644
index 000000000..8b1feceed
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0049/DECL.asl
@@ -0,0 +1,67 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 0049:
+ *
+ * SUMMARY: No exception on result of ToDecimalString longer than 210 bytes
+ */
+
+Method(mdd9)
+{
+ // 101-byte long buffer
+ Name(b000, Buffer() {
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1})
+
+ // ToDecimalString for 101-byte long buffer attempt
+ // to produce 201 byte long string and have to result
+ // in AE_AML_STRING_LIMIT exception.
+
+ CH03("", 0, 0x000, 0, 0)
+
+ ToDecimalString(b000, Local0)
+
+ /*
+ * No restriction on the length of String objects now:
+ *
+ * CH04("", 0, 61, 0, 0x001, 0, 0) // AE_AML_STRING_LIMIT
+ */
+
+ CH03("", 0, 0x001, 0, 0)
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0049/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0049/MAIN.asl
new file mode 100644
index 000000000..1f39c7a95
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0049/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B49.aml", // Output filename
+ "DSDT", // Signature
+ 0x01, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0049/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0049/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0049/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0049/RUN.asl
new file mode 100644
index 000000000..746ca2210
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0049/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 49", TCLD, 49, W017)) {
+ SRMT("mdd9")
+ mdd9()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0050/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0050/DECL.asl
new file mode 100644
index 000000000..597972c94
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0050/DECL.asl
@@ -0,0 +1,58 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 0050:
+ *
+ * SUMMARY: No exception on result of ToHexString longer than 210 bytes
+ */
+
+Method(mdda)
+{
+ // 68-byte long buffer
+ Name(b000, Buffer() {
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1})
+
+ // ToHexString for 68-byte long buffer attempt
+ // to produce 203 byte long string and have to
+ // result in AE_AML_STRING_LIMIT exception.
+
+ CH03("", 0, 0x000, 0, 0)
+ ToHexString(b000, Local0)
+ CH04("", 0, 61, 0, 0x001, 0, 0) // AE_AML_STRING_LIMIT
+}
+
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0050/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0050/MAIN.asl
new file mode 100644
index 000000000..eb568cf29
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0050/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B50.aml", // Output filename
+ "DSDT", // Signature
+ 0x01, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0050/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0050/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0050/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0050/RUN.asl
new file mode 100644
index 000000000..2ed3e2cd6
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0050/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 50", TCLD, 50, W017)) {
+ SRMT("mdda")
+ mdda()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0051_ASL_RUNTIME/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0051_ASL_RUNTIME/DECL.asl
new file mode 100644
index 000000000..ab502ea79
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0051_ASL_RUNTIME/DECL.asl
@@ -0,0 +1,80 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 0051:
+ *
+ * SUMMARY: Register() macro missing parameter
+ *
+ * NOTE: introduce into FULL after fixing bug of iASL
+ */
+
+
+Method(mddb, 5)
+{
+ if (LNotEqual(arg0, arg1)) {
+ err("", zFFF, 0x000, 0, 0, arg0, arg1)
+ }
+ if (LNotEqual(arg2, arg3)) {
+ err("", zFFF, 0x001, 0, 0, arg0, arg1)
+ }
+}
+
+Method(mddc)
+{
+ Name(RT00,
+ ResourceTemplate () {
+ // Register macro AccessSize is not implemented
+ Register (SystemMemory, 0xf0, 0xf1, 0xf2f3f4f5f6f7f8f9, 1)
+ })
+ Name(BUF0,
+ Buffer () {0x82, 0x0c, 0x00, 0x00, 0xf0, 0xf1, 0x01,
+ 0xf9, 0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0x79, 0x00
+ })
+
+
+ // Currently Register macro DescriptorName is not implemented
+
+ Store (
+ ResourceTemplate () {
+ Register (SystemMemory, 0xf0, 0xf1, 0xf2f3f4f5f6f7f8f9, 0, REG0)
+ Register (SystemMemory, 0xf0, 0xf1, 0xf2f3f4f5f6f7f8f9, 0, REG1)
+ }, Local0)
+
+ mddb(REG0._ASI, 3, REG1._ASI, 18, "_ASI")
+ mddb(REG0._RBW, 4, REG1._RBW, 19, "_RBW")
+ mddb(REG0._RBO, 5, REG1._RBO, 20, "_RBO")
+ mddb(REG0._ASZ, 6, REG1._ASZ, 21, "_ASZ")
+ mddb(REG0._ADR, 7, REG1._ADR, 22, "_ADR")
+
+ if (LNotEqual(RT00, BUF0)) {
+ err("", zFFF, 0x002, 0, 0, RT00, BUF0)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0051_ASL_RUNTIME/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0051_ASL_RUNTIME/MAIN.asl
new file mode 100644
index 000000000..2b7888f12
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0051_ASL_RUNTIME/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B51.aml", // Output filename
+ "DSDT", // Signature
+ 0x01, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0051_ASL_RUNTIME/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0051_ASL_RUNTIME/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0051_ASL_RUNTIME/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0051_ASL_RUNTIME/RUN.asl
new file mode 100644
index 000000000..419e202dd
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0051_ASL_RUNTIME/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 51", TCLD, 51, W017)) {
+ SRMT("mddc")
+ mddc()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0052/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0052/DECL.asl
new file mode 100644
index 000000000..7899b536c
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0052/DECL.asl
@@ -0,0 +1,59 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 0052:
+ *
+ * SUMMARY: The EdgeLevel offset of Interrupt macro (_HE) is specified as 25-th bit but actually it is implemented as 24-th bit
+ */
+
+Method(mddd)
+{
+ Name(RT00,
+ ResourceTemplate () {
+ Interrupt (ResourceProducer, Edge, ActiveLow, Shared, , , DN00) {0}
+ })
+
+
+ Store(DN00._HE, Local0)
+ if (LNotEqual(Local0, 0x19)){
+ err("", zFFF, 0x000, 0, 0, Local0, 0x19)
+ }
+
+ Store(DN00._LL, Local0)
+ if (LNotEqual(Local0, 0x1a)){
+ err("", zFFF, 0x000, 0, 0, Local0, 0x1a)
+ }
+
+ Store(DN00._SHR, Local0)
+ if (LNotEqual(Local0, 0x1b)){
+ err("", zFFF, 0x000, 0, 0, Local0, 0x1b)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0052/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0052/MAIN.asl
new file mode 100644
index 000000000..806575280
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0052/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B52.aml", // Output filename
+ "DSDT", // Signature
+ 0x01, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0052/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0052/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0052/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0052/RUN.asl
new file mode 100644
index 000000000..6c8d1dc15
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0052/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 52", TCLD, 52, W017)) {
+ SRMT("mddd")
+ mddd()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0053_ASL/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0053_ASL/DECL.asl
new file mode 100644
index 000000000..41c2eaaaf
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0053_ASL/DECL.asl
@@ -0,0 +1,84 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 0053:
+ *
+ * SUMMARY: The ASL Compiler doesn't reject the out of range number of interrupts for Interrupt macro
+ *
+ * ASL compiler should return an error...
+ */
+
+Method(mdde)
+{
+ Name(RT00,
+ ResourceTemplate () {
+ Interrupt (ResourceConsumer, Edge, ActiveLow, Shared) {
+ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
+ 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
+ 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
+ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
+ 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
+ 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,112,
+ 113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,
+ 129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,
+ 145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,
+ 161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,
+ 177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,
+ 193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,
+ 209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,
+ 225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,
+ 241,242,243,244,245,246,247,248,249,250,251,252,253,254,255}
+ })
+ Name(RT01,
+ ResourceTemplate () {
+ Interrupt (ResourceConsumer, Edge, ActiveLow, Shared) {
+ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
+ 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
+ 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
+ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
+ 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
+ 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,112,
+ 113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,
+ 129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,
+ 145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,
+ 161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,
+ 177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,
+ 193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,
+ 209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,
+ 225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,
+ 241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,0}
+ })
+
+ Store("The contents of the obtained Interrupt Descriptor:", Debug)
+ Store(RT01, Debug)
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0053_ASL/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0053_ASL/MAIN.asl
new file mode 100644
index 000000000..3bfd21b4c
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0053_ASL/MAIN.asl
@@ -0,0 +1,56 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B53.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0053_ASL/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0054/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0054/DECL.asl
new file mode 100644
index 000000000..f74320d68
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0054/DECL.asl
@@ -0,0 +1,205 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 0054:
+ *
+ * SUMMARY: All ASL Operators causes exceptions on two immediately passed Buffers
+ *
+ * All the ASL Operators which deal with
+ * at least two Buffer type objects cause
+ * unexpected exceptions in cases when both
+ * Buffer type objects are passed immediately.
+ */
+
+Method(mddf)
+{
+ Name(b000, Buffer() {0x79, 0x00})
+ Name(b001, Buffer() {0x79, 0x00})
+
+ Store(ConcatenateResTemplate( b000, b001 ), Local0)
+ if (LNotEqual(Local0, Buffer() {0x79, 0x00})) {
+ err("", zFFF, 0x000, 0, 0, Local0, Buffer() {0x79, 0x00})
+ }
+}
+
+// ConcatenateResTemplate
+
+Method(mde0)
+{
+ Name(b000, Buffer() {0x79, 0x00})
+
+ Store(ConcatenateResTemplate( b000, Buffer() {0x79, 0x00} ), Local0)
+ if (LNotEqual(Local0, Buffer() {0x79, 0x00})) {
+ err("", zFFF, 0x001, 0, 0, Local0, Buffer() {0x79, 0x00})
+ }
+
+ Store(ConcatenateResTemplate( Buffer() {0x79, 0x00}, b000 ), Local0)
+ if (LNotEqual(Local0, Buffer() {0x79, 0x00})) {
+ err("", zFFF, 0x002, 0, 0, Local0, Buffer() {0x79, 0x00})
+ }
+}
+
+Method(mde1)
+{
+ Store(ConcatenateResTemplate( Buffer() {0x79, 0x00}, Buffer() {0x79, 0x00} ), Local0)
+ if (LNotEqual(Local0, Buffer() {0x79, 0x00})) {
+ err("", zFFF, 0x003, 0, 0, Local0, Buffer() {0x79, 0x00})
+ }
+}
+
+// LEqual
+
+Method(mde2)
+{
+ Name(b000, Buffer() {0x79})
+
+ Store(LEqual( b000, Buffer(1) {0x79} ), Local0)
+ if (LNotEqual(Local0, Ones)) {
+ err("", zFFF, 0x004, 0, 0, Local0, Ones)
+ }
+
+ Store(LEqual( Buffer(1) {0x79}, b000 ), Local0)
+ if (LNotEqual(Local0, Ones)) {
+ err("", zFFF, 0x005, 0, 0, Local0, Ones)
+ }
+}
+
+Method(mde3)
+{
+ Store(LEqual( Buffer(1) {0x79}, Buffer(1) {0x79} ), Local0)
+ if (LNotEqual(Local0, Ones)) {
+ err("", zFFF, 0x006, 0, 0, Local0, Ones)
+ }
+}
+
+// LGreater
+
+Method(mde4)
+{
+ Name(b000, Buffer() {0x79})
+
+ Store(LGreater( b000, Buffer(1) {0x79} ), Local0)
+ if (LNotEqual(Local0, Zero)) {
+ err("", zFFF, 0x007, 0, 0, Local0, Zero)
+ }
+
+ Store(LGreater( Buffer(1) {0x79}, b000 ), Local0)
+ if (LNotEqual(Local0, Zero)) {
+ err("", zFFF, 0x008, 0, 0, Local0, Zero)
+ }
+}
+
+Method(mde5)
+{
+ Store(LGreater( Buffer(1) {0x79}, Buffer(1) {0x79} ), Local0)
+ if (LNotEqual(Local0, Zero)) {
+ err("", zFFF, 0x009, 0, 0, Local0, Zero)
+ }
+}
+
+// ..........
+
+// Concatenate
+
+Method(mde6)
+{
+ Name(b000, Buffer() {0x79})
+
+ Store(Concatenate( b000, Buffer() {0x79} ), Local0)
+ if (LNotEqual(Local0, Buffer() {0x79, 0x79})) {
+ err("", zFFF, 0x00a, 0, 0, Local0, Buffer() {0x79, 0x79})
+ }
+
+ Store(Concatenate( Buffer() {0x79}, b000 ), Local0)
+ if (LNotEqual(Local0, Buffer() {0x79, 0x79})) {
+ err("", zFFF, 0x00b, 0, 0, Local0, Buffer() {0x79, 0x79})
+ }
+}
+
+Method(mde7)
+{
+ Store(Concatenate( Buffer() {0x79}, Buffer() {0x79} ), Local0)
+ if (LNotEqual(Local0, Buffer() {0x79, 0x79})) {
+ err("", zFFF, 0x00c, 0, 0, Local0, Buffer() {0x79, 0x79})
+ }
+}
+
+// Add
+
+Method(mde8)
+{
+ Name(b000, Buffer() {0x79})
+
+ Add( b000, Buffer() {0x79}, Local0)
+ if (LNotEqual(Local0, 0xf2)) {
+ err("", zFFF, 0x00d, 0, 0, Local0, 0xf2)
+ }
+
+ Add( Buffer() {0x79}, b000, Local0)
+ if (LNotEqual(Local0, 0xf2)) {
+ err("", zFFF, 0x00e, 0, 0, Local0, 0xf2)
+ }
+}
+
+Method(mde9)
+{
+ Add( Buffer() {0x79}, Buffer() {0x79}, Local0)
+ if (LNotEqual(Local0, 0xf2)) {
+ err("", zFFF, 0x00f, 0, 0, Local0, 0xf2)
+ }
+}
+
+// ..........
+
+Method(mdea)
+{
+ mddf()
+
+ // ConcatenateResTemplate
+ mde0()
+ mde1()
+
+ // LEqual
+ mde2()
+ mde3()
+
+ // LGreater
+ mde4()
+ mde5()
+
+ // Concatenate
+ mde6()
+ mde7()
+
+ // Add
+ mde8()
+ mde9()
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0054/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0054/MAIN.asl
new file mode 100644
index 000000000..fd6a64d51
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0054/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B54.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0054/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0054/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0054/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0054/RUN.asl
new file mode 100644
index 000000000..66f59889b
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0054/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 54", TCLD, 54, W017)) {
+ SRMT("mdea")
+ mdea()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0055_ASL/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0055_ASL/DECL.asl
new file mode 100644
index 000000000..620500456
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0055_ASL/DECL.asl
@@ -0,0 +1,48 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 0055:
+ *
+ * SUMMARY: The ASL Compiler should reject the same Interrupt numbers (Interrupt macros)
+ *
+ * Compiler should return error...
+ */
+
+Method(mdeb)
+{
+ Name(RT00,
+ ResourceTemplate () {
+ Interrupt (ResourceConsumer, Edge, ActiveLow, Shared) {9, 9}
+ })
+
+ Store("The contents of the obtained Interrupt Descriptor:", Debug)
+ Store(RT00, Debug)
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0055_ASL/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0055_ASL/MAIN.asl
new file mode 100644
index 000000000..0a90142b8
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0055_ASL/MAIN.asl
@@ -0,0 +1,56 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B55.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0055_ASL/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0056_ASL/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0056_ASL/DECL.asl
new file mode 100644
index 000000000..a7f6c9fe9
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0056_ASL/DECL.asl
@@ -0,0 +1,78 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 0056:
+ *
+ * SUMMARY: The ASL Compiler generates a one element descriptor for Interrupt macro with the empty InterruptList
+ *
+ * Compiler should return error...
+ */
+
+Method(mdec)
+{
+ // Compiler should return error
+
+ Name(RT00,
+ ResourceTemplate () {
+ Interrupt (ResourceConsumer, Edge, ActiveLow, Shared) {}
+ })
+ Name(RT01,
+ ResourceTemplate () {
+ Interrupt (ResourceConsumer, Edge, ActiveLow, Shared) {0}
+ })
+
+ Store("The contents of the Interrupt(...){} Descriptor:", Debug)
+ Store(RT00, Debug)
+ Store("The contents of the Interrupt(...){0} Descriptor:", Debug)
+ Store(RT01, Debug)
+ if (LEqual(RT00, RT01)) {
+ Store("Error: Descriptors are the same:", Debug)
+ } else {
+ Store("Ok: Descriptors differ each other:", Debug)
+ }
+}
+Method(mded)
+{
+ // Compiler should return error
+
+ Name(RT00,
+ ResourceTemplate () {
+ Interrupt (ResourceConsumer, Edge, ActiveLow, Shared) {0}
+ })
+ Store("The contents of the obtained Interrupt Descriptor:", Debug)
+ Store(RT00, Debug)
+}
+
+Method(mdee)
+{
+ mdec()
+ mded()
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0056_ASL/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0056_ASL/MAIN.asl
new file mode 100644
index 000000000..ef9785ef1
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0056_ASL/MAIN.asl
@@ -0,0 +1,56 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B56.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0056_ASL/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0057/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0057/DECL.asl
new file mode 100644
index 000000000..87ff4449b
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0057/DECL.asl
@@ -0,0 +1,100 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 0057:
+ *
+ * SUMMARY: The standalone Return is processed incorrectly
+ */
+
+Method(mdef) {
+ Store("mdef", Debug)
+}
+
+Method(mdf0) {
+ Store("mdf0", Debug)
+}
+
+Method(mdf1) {
+ Store("mdf1", Debug)
+}
+
+Method(mdf2, 1) {
+ Store("mdf2", Debug)
+
+ mdef()
+
+ if (arg0) {
+ Store("mdf2: before Return", Debug)
+ return (0x1234)
+
+ // ASL-compiler report Warning in this case
+ // Store("ERROR 0: mdf2, after Return !!!", Debug)
+ }
+
+ err("", zFFF, 0x000, 0, 0, 0, 0)
+
+ mdf0()
+ mdf1()
+
+ return (0x5678)
+}
+
+Method(mdf3, 1) {
+ Store("mdf3", Debug)
+
+ mdef()
+
+ if (arg0) {
+
+ Store("mdf3: before Return", Debug)
+
+ return
+
+ // ASL-compiler DOESN'T report Warning in this case!!!
+ // And the Store operator below is actually processed!!!
+
+ err("", zFFF, 0x001, 0, 0, 0, 0)
+ }
+
+ err("", zFFF, 0x002, 0, 0, 0, 0)
+
+ mdf0()
+ mdf1()
+
+ return
+}
+
+Method(mdf4) {
+ Store(mdf2(1), Local7)
+ Store(Local7, Debug)
+ mdf3(1)
+}
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0057/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0057/MAIN.asl
new file mode 100644
index 000000000..6b5986893
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0057/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B57.aml", // Output filename
+ "DSDT", // Signature
+ 0x01, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0057/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0057/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0057/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0057/RUN.asl
new file mode 100644
index 000000000..9173dbf54
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0057/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 57", TCLD, 57, W017)) {
+ SRMT("mdf4")
+ mdf4()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0058/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0058/DECL.asl
new file mode 100644
index 000000000..98a48c528
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0058/DECL.asl
@@ -0,0 +1,107 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 0058:
+ *
+ * SUMMARY: Concatenate of two Integers may operates in 32-bit mode as in 64-bit mode
+ *
+ * These are three appearances probably
+ * of one the same differently looking bug.
+ * Concatenate Operator seems to have
+ * indirect effect in all those cases.
+ */
+
+Method(mdf5, 1)
+{
+ Store("Run mdf5:", Debug)
+
+ if (arg0) {
+ Store("===================== 0:", Debug)
+ Store(Concatenate(1, 2), Local0)
+ if (F64) {
+ if (LNotEqual(Local0, Buffer() {1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0})){
+ err("", zFFF, 0x000, 0, 0, Local0, Buffer() {1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0})
+ }
+ } else {
+ if (LNotEqual(Local0, Buffer() {1,0,0,0,2,0,0,0})){
+ err("", zFFF, 0x001, 0, 0, Local0, Buffer() {1,0,0,0,2,0,0,0})
+ }
+ }
+ } else {
+ Store("===================== 1:", Debug)
+ }
+}
+
+Method(mdf6, 1)
+{
+ Store("Run mdf6:", Debug)
+
+ if (arg0) {
+ Store("===================== 2:", Debug)
+ Store(Concatenate(0x1234, 0x7890), Local0)
+ if (F64) {
+ if (LNotEqual(Local0, Buffer() {0x34,0x12,0,0,0,0,0,0,0x90,0x78,0,0,0,0,0,0})){
+ err("", zFFF, 0x002, 0, 0, Local0, Buffer() {0x34,0x12,0,0,0,0,0,0,0x90,0x78,0,0,0,0,0,0})
+ }
+ } else {
+ if (LNotEqual(Local0, Buffer() {0x34,0x12,0,0,0x90,0x78,0,0})){
+ err("", zFFF, 0x003, 0, 0, Local0, Buffer() {0x34,0x12,0,0,0x90,0x78,0,0})
+ }
+ }
+ } else {
+ Store("===================== 3:", Debug)
+ }
+}
+
+Method(mdf7)
+{
+ Store("Run mdf7:", Debug)
+ Store(Concatenate(1, 2), Local0)
+ if (F64) {
+ if (LNotEqual(Local0, Buffer() {1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0})){
+ err("", zFFF, 0x004, 0, 0, Local0, Buffer() {1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0})
+ }
+ } else {
+ if (LNotEqual(Local0, Buffer() {1,0,0,0,2,0,0,0})){
+ err("", zFFF, 0x005, 0, 0, Local0, Buffer() {1,0,0,0,2,0,0,0})
+ }
+ }
+ Store(Local0, Debug)
+}
+
+Method(mdf8)
+{
+ mdf5(0)
+ mdf6(0)
+ mdf7()
+ mdf5(1)
+ mdf6(1)
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0058/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0058/MAIN.asl
new file mode 100644
index 000000000..4dddbb49c
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0058/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B58.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0058/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0058/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0058/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0058/RUN.asl
new file mode 100644
index 000000000..efa941a53
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0058/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 58", TCLD, 58, W017)) {
+ SRMT("mdf8")
+ mdf8()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0059/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0059/DECL.asl
new file mode 100644
index 000000000..2b40f3064
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0059/DECL.asl
@@ -0,0 +1,82 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 0059:
+ *
+ * SUMMARY: String to Buffer conversion doesn't reduce the size of resulting Buffer
+ */
+
+Method(mdf9)
+{
+ // Table 17-8 Object Conversion Rules,
+ // String -->> Buffer Rule:
+ // "If the string is shorter than the buffer,
+ // the buffer size is reduced".
+
+ /*
+ * New reduction of 12.03.05:
+ * "If the string is shorter than the buffer,
+ * the remaining buffer bytes are set to zero".
+ */
+
+ Name(b000, Buffer(202) {
+ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
+ 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
+ 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
+ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
+ 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
+ 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,112,
+ 113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,
+ 129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,
+ 145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,
+ 161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,
+ 177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,
+ 193,194,195,196,197,198,199,200,201,202})
+
+ Name(b001, Buffer(202) {"zxqwrt"})
+
+ Store("zxqwrt", b000)
+ Store(ObjectType(b000), Local0)
+ Store(SizeOf(b000), Local1)
+
+ if (LNotEqual(Local0, 3)) {
+ err("", zFFF, 0x000, 0, 0, Local0, 3)
+ } elseif (LNotEqual(Local1, 202)) {
+ err("", zFFF, 0x001, 0, 0, Local0, 202)
+ } elseif (LNotEqual(b000, b001)) {
+ err("", zFFF, 0x002, 0, 0, b000, b001)
+ }
+}
+
+
+
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0059/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0059/MAIN.asl
new file mode 100644
index 000000000..330dce7e8
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0059/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B59.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0059/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0059/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0059/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0059/RUN.asl
new file mode 100644
index 000000000..e38273aae
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0059/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 59", TCLD, 59, W017)) {
+ SRMT("mdf9")
+ mdf9()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0060/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0060/DECL.asl
new file mode 100644
index 000000000..9cfc08ab6
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0060/DECL.asl
@@ -0,0 +1,114 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 0060:
+ *
+ * SUMMARY: "Outstanding allocations" on processing the Type Conversion
+ *
+ * Methods show "outstanding allocations" errors produced
+ * by ACPICA during processing the Type Conversion. When the
+ * "Dynamic object deletion" test will be implemented the
+ * memory consumption problems like these will be encountered
+ * by it.
+ */
+
+// No outstanding allocations
+Method(mdfa)
+{
+ OperationRegion(r001, SystemMemory, 0x10, 0x10)
+
+ Field(r001, ByteAcc, NoLock, Preserve) {
+ f001, 32,
+ f002, 32,
+ }
+ Store(1, f001)
+ Store(2, f002)
+
+ Add(f001, f002)
+}
+
+// Outstanding: 0x1 allocations after execution
+Method(mdfb)
+{
+ OperationRegion(r001, SystemMemory, 0x10, 0x10)
+
+ Field(r001, ByteAcc, NoLock, Preserve) {
+ f001, 32,
+ f002, 72,
+ }
+ Store(1, f001)
+ Store(2, f002)
+
+ Add(f001, f002)
+}
+
+// No outstanding allocations
+Method(mdfc)
+{
+ Add(1, 2)
+}
+
+// Outstanding: 0x1 allocations after execution
+Method(mdfd)
+{
+ Add(1, "2")
+}
+
+// Outstanding: 0x1 allocations after execution
+Method(mdfe)
+{
+ Add("1", 2)
+}
+
+// Outstanding: 0x2 allocations after execution
+Method(mdff)
+{
+ Add("1", "2")
+}
+
+// Outstanding: 0x1 allocations after execution
+Method(me00)
+{
+ Name(b000, Buffer() {0x91})
+
+ Add(b000, 2)
+}
+
+Method(me01)
+{
+ mdfa()
+ mdfb()
+ mdfc()
+ mdfd()
+ mdfe()
+ mdff()
+ me00()
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0060/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0060/MAIN.asl
new file mode 100644
index 000000000..4181895ef
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0060/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B60.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0060/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0060/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0060/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0060/RUN.asl
new file mode 100644
index 000000000..28a846f10
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0060/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 60", TCLD, 60, W017)) {
+ SRMT("me01")
+ me01()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0061/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0061/DECL.asl
new file mode 100644
index 000000000..64b0c5f1e
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0061/DECL.asl
@@ -0,0 +1,116 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 0061:
+ *
+ * SUMMARY: Crash on Store the OperationRegion result returned by Method
+ *
+ * Methods return the object of type OperationRegion
+ * and just this causes the problems.
+ */
+
+Method(m206, 2)
+{
+ if (SLCK) {
+ CH03("", 0, arg0, 0, 0)
+ } else {
+ CH04("", 0, 47, 0, arg1, 0, 0)
+ }
+}
+
+Method(me02)
+{
+ Store(0, Local0)
+
+ // Store directly a region should not be allowed.
+
+ CH03("", 0, 0x000, 0, 0)
+ Store(rd01, Local7)
+ m206(0x001, 0x002)
+ return (Local0)
+}
+
+Method(me03)
+{
+ Store("============= Start of test", Debug)
+ Store(me02(), Local0)
+ Store("============= Finish of test", Debug)
+}
+
+Method(me04)
+{
+ Store(0, Local0)
+
+ // Store directly a region should not be allowed.
+
+ CH03("", 0, 0x003, 0, 0)
+ Store(rd02, Local7)
+ m206(0x004, 0x005)
+ return (Local0)
+}
+
+Method(me05)
+{
+ Store("me05, point 0", Debug)
+ Store(me04(), Local0)
+
+ Store("me05, point 1", Debug)
+ Store(me04(), Local1)
+
+ Store("me05, point 2", Debug)
+}
+
+Method(me06)
+{
+ Store("============= me05 0", Debug)
+ me05()
+ Store("============= me05 1", Debug)
+ me05()
+ Store("============= me05 2", Debug)
+ me05()
+
+ // The message below doesn't appear
+
+ Store("============= me05 3", Debug)
+
+ Store(1, id09)
+}
+
+Method(me07)
+{
+ Store(0, id09)
+
+ me03()
+ me06()
+ if (LNotEqual(id09, 1)) {
+ err("", zFFF, 0x002, 0, 0, id09, 1)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0061/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0061/MAIN.asl
new file mode 100644
index 000000000..ba0f1f956
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0061/MAIN.asl
@@ -0,0 +1,58 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B61.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/common/DECL.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0061/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0061/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0061/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0061/RUN.asl
new file mode 100644
index 000000000..fb39ee10f
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0061/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 61", TCLD, 61, W017)) {
+ SRMT("me07")
+ me07()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0062_ASL_RUNTIME/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0062_ASL_RUNTIME/DECL.asl
new file mode 100644
index 000000000..2c742ab26
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0062_ASL_RUNTIME/DECL.asl
@@ -0,0 +1,148 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 62:
+ *
+ * SUMMARY: Crash of the iASL Compiler when ASL-code contains
+ * a long String declaration
+ */
+
+
+Method(mb62)
+{
+
+ Name(s000, // Lines 14 - 91: 78 * 50 + 21 = 3921 bytes
+"0123456789012345678901234567890123456789012345678
+0123456789012345678901234567890123456789012345678
+0123456789012345678901234567890123456789012345678
+0123456789012345678901234567890123456789012345678
+0123456789012345678901234567890123456789012345678
+0123456789012345678901234567890123456789012345678
+0123456789012345678901234567890123456789012345678
+0123456789012345678901234567890123456789012345678
+0123456789012345678901234567890123456789012345678
+0123456789012345678901234567890123456789012345678
+0123456789012345678901234567890123456789012345678
+0123456789012345678901234567890123456789012345678
+0123456789012345678901234567890123456789012345678
+0123456789012345678901234567890123456789012345678
+0123456789012345678901234567890123456789012345678
+0123456789012345678901234567890123456789012345678
+0123456789012345678901234567890123456789012345678
+0123456789012345678901234567890123456789012345678
+0123456789012345678901234567890123456789012345678
+0123456789012345678901234567890123456789012345678
+0123456789012345678901234567890123456789012345678
+0123456789012345678901234567890123456789012345678
+0123456789012345678901234567890123456789012345678
+0123456789012345678901234567890123456789012345678
+0123456789012345678901234567890123456789012345678
+0123456789012345678901234567890123456789012345678
+0123456789012345678901234567890123456789012345678
+0123456789012345678901234567890123456789012345678
+0123456789012345678901234567890123456789012345678
+0123456789012345678901234567890123456789012345678
+0123456789012345678901234567890123456789012345678
+0123456789012345678901234567890123456789012345678
+0123456789012345678901234567890123456789012345678
+0123456789012345678901234567890123456789012345678
+0123456789012345678901234567890123456789012345678
+0123456789012345678901234567890123456789012345678
+0123456789012345678901234567890123456789012345678
+0123456789012345678901234567890123456789012345678
+0123456789012345678901234567890123456789012345678
+0123456789012345678901234567890123456789012345678
+0123456789012345678901234567890123456789012345678
+0123456789012345678901234567890123456789012345678
+0123456789012345678901234567890123456789012345678
+0123456789012345678901234567890123456789012345678
+0123456789012345678901234567890123456789012345678
+0123456789012345678901234567890123456789012345678
+0123456789012345678901234567890123456789012345678
+0123456789012345678901234567890123456789012345678
+0123456789012345678901234567890123456789012345678
+0123456789012345678901234567890123456789012345678
+0123456789012345678901234567890123456789012345678
+0123456789012345678901234567890123456789012345678
+0123456789012345678901234567890123456789012345678
+0123456789012345678901234567890123456789012345678
+0123456789012345678901234567890123456789012345678
+0123456789012345678901234567890123456789012345678
+0123456789012345678901234567890123456789012345678
+0123456789012345678901234567890123456789012345678
+0123456789012345678901234567890123456789012345678
+0123456789012345678901234567890123456789012345678
+0123456789012345678901234567890123456789012345678
+0123456789012345678901234567890123456789012345678
+0123456789012345678901234567890123456789012345678
+0123456789012345678901234567890123456789012345678
+0123456789012345678901234567890123456789012345678
+0123456789012345678901234567890123456789012345678
+0123456789012345678901234567890123456789012345678
+0123456789012345678901234567890123456789012345678
+0123456789012345678901234567890123456789012345678
+0123456789012345678901234567890123456789012345678
+0123456789012345678901234567890123456789012345678
+0123456789012345678901234567890123456789012345678
+0123456789012345678901234567890123456789012345678
+0123456789012345678901234567890123456789012345678
+0123456789012345678901234567890123456789012345678
+0123456789012345678901234567890123456789012345678
+0123456789012345678901234567890123456789012345678
+0123456789012345678901234567890123456789012345678
+012345678901234567890"
+ )
+
+ Name(s001, "0123456789012345678901234567890123456789012345678
+")
+
+ // Prepare a benchmark Buffer (in Local2)
+
+ Store(3921, Local5)
+ Store(Buffer(Local5){}, Local2)
+
+ Store(0, Local3)
+ Store(Local5, Local1)
+ while(Local1) {
+ Divide(Local3, 50, Local4)
+ Store(Derefof(Index(s001, Local4)), Index(Local2, Local3))
+ Increment(Local3)
+ Decrement(Local1)
+ }
+
+ // Convert the benchmark Buffer into the String
+ ToString(Local2, Local5, Local0)
+
+ // Check the original long String Literal
+ if (LNotEqual(Local0, s000)) {
+ err("", zFFF, 0x000, 0, 0, s000, Local0)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0062_ASL_RUNTIME/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0062_ASL_RUNTIME/MAIN.asl
new file mode 100644
index 000000000..025021b97
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0062_ASL_RUNTIME/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B62.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0062_ASL_RUNTIME/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0062_ASL_RUNTIME/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0062_ASL_RUNTIME/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0062_ASL_RUNTIME/RUN.asl
new file mode 100644
index 000000000..bec6edec6
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0062_ASL_RUNTIME/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 62", TCLD, 62, W017)) {
+ SRMT("mb62")
+ mb62()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0062_ASL_RUNTIME/old_test/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0062_ASL_RUNTIME/old_test/DECL.asl
new file mode 100644
index 000000000..50716d837
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0062_ASL_RUNTIME/old_test/DECL.asl
@@ -0,0 +1,35 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 62:
+ *
+ * SUMMARY: Crash of ASL Compiler on incorrect string with '"' and '\' in it
+ */
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0062_ASL_RUNTIME/old_test/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0062_ASL_RUNTIME/old_test/MAIN.asl
new file mode 100644
index 000000000..de9eb7773
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0062_ASL_RUNTIME/old_test/MAIN.asl
@@ -0,0 +1,190 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 0062:
+ *
+ * COMPONENT: iASL
+ *
+ * SUMMARY:
+ *
+ * Crash of ASL compiler...
+ */
+
+DefinitionBlock(
+ "gr.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+/*
+Method(m000, 1)
+{
+ Name(s000, "\sq"v")
+}
+*/
+
+Method(m001, 1)
+{
+// Name(s001, "\\sq\"v")
+ Name(s002, "\sq"v")
+}
+
+/*
+Method(m002, 1)
+{
+ Name(p000, Package() {
+
+
+ // X - Buffer
+
+ Buffer() {0x78,0x56,0x34,0x42,0x89,0xF1,0xED,0xAB,
+ 0x83,0x84,0x85,0x86,0,0,0,0},
+ Buffer() {0x78,0x56,0x34,0x42,0x83,0x84,0x85,0x86},
+
+ Buffer() {0x78,0x56,0x34,0x42,0x89,0xF1,0xED,0xAB,
+ 0x87,0x98,0x99,0x9A,0x9B,0,0,0},
+ Buffer() {0x78,0x56,0x34,0x42,0x87,0x98,0x99,0x9A},
+
+ Buffer() {0x78,0x56,0x34,0x42,0x89,0xF1,0xED,0xAB,
+ 0x9C,0x9D,0x9E,0x9F,0xA0,0xA1,0xA2,0xA3},
+ Buffer() {0x78,0x56,0x34,0x42,0x9C,0x9D,0x9E,0x9F},
+
+ Buffer() {0x78,0x56,0x34,0x42,0x89,0xF1,0xED,0xAB,
+ 0xA4,0xA5,0xA6,0xA7,0xB8,0xB9,0xBA,0xBB},
+ Buffer() {0x78,0x56,0x34,0x42,0xA4,0xA5,0xA6,0xA7},
+
+ Buffer() {0x78,0x56,0x34,0x42,0x89,0xF1,0xED,0xAB,
+ 0x91,0x92,0x93,0x94,0x5F,0x60,0x61,0x62},
+ Buffer() {0x78,0x56,0x34,0x42,0x91,0x92,0x93,0x94},
+
+ Buffer() {0x78,0x56,0x34,0x42,0x89,0xF1,0xED,0xAB,
+ 1,2,3,4,5,6,7,8},
+ Buffer() {0x78,0x56,0x34,0x42,1,2,3,4},
+
+ // X - Field Unit
+
+ Buffer() {0x78,0x56,0x34,0x42,0x89,0xF1,0xED,0xAB,
+ 0x7f,0,0,0,0,0,0,0},
+ Buffer() {0x78,0x56,0x34,0x42,0x7f,0,0,0},
+
+ Buffer() {0x78,0x56,0x34,0x42,0x89,0xF1,0xED,0xAB,
+ 0x07,0,0,0,0,0,0,0},
+ Buffer() {0x78,0x56,0x34,0x42,0x07,0,0,0},
+
+ Buffer() {0x78,0x56,0x34,0x42,0x89,0xF1,0xED,0xAB,
+ 0x8d,0,0,0,0,0,0,0},
+ Buffer() {0x78,0x56,0x34,0x42,0x8d,0,0,0},
+
+ Buffer() {0x78,0x56,0x34,0x42,0x89,0xF1,0xED,0xAB,
+ 0x8d,0x8c,0,0,0,0,0,0},
+ Buffer() {0x78,0x56,0x34,0x42,0x8d,0x8c,0,0},
+
+ Buffer() {0x78,0x56,0x34,0x42,0x89,0xF1,0xED,0xAB,
+ 0x8D,0x8C,0x8B,0x8A,0,0,0,0},
+ Buffer() {0x78,0x56,0x34,0x42,0x8D,0x8C,0x8B,0x8A},
+
+ Buffer() {0x78,0x56,0x34,0x42,0x89,0xF1,0xED,0xAB,
+ 0xFF,0xFF,0xFF,0xFF,0x01,0,0,0},
+ Buffer() {0x78,0x56,0x34,0x42,0xFF,0xFF,0xFF,0xFF},
+
+ Buffer() {0x78,0x56,0x34,0x42,0x89,0xF1,0xED,0xAB,
+ 0x58,0x46,0x37,0x88,0x19,0xFA,0xDE,0x5C},
+ Buffer() {0x78,0x56,0x34,0x42,0x58,0x46,0x37,0x88},
+
+ Buffer() {0x78,0x56,0x34,0x42,0x89,0xF1,0xED,0xAB,
+ 0x58,0x9a,0x37,0x88,0x19,0xFA,0xDE,0xDC},
+ Buffer() {0x78,0x56,0x34,0x42,0x58,0x9a,0x37,0x88},
+
+ Buffer() {0x78,0x56,0x34,0x42,0x89,0xF1,0xED,0xAB,
+ 0x58,0xc7,0x37,0x88,0x19,0xFA,0xDE,0xDC},
+ Buffer() {0x78,0x56,0x34,0x42,0x58,0xc7,0x37,0x88},
+
+ Buffer() {0x78,0x56,0x34,0x42,0x89,0xF1,0xED,0xAB,
+ 0x82,0x34,0x56,0x78,0x90,0xAB,0xCD,0xEF},
+ Buffer() {0x78,0x56,0x34,0x42,0x82,0x34,0x56,0x78},
+
+ Buffer() {0x78,0x56,0x34,0x42,0x89,0xF1,0xED,0xAB,
+ 0x93,0xAB,0xCD,0xEF,0x99,0x12,0xCD,0x52},
+ Buffer() {0x78,0x56,0x34,0x42,0x93,0xAB,0xCD,0xEF},
+
+ // X - Buffer Field
+
+ Buffer() {0x78,0x56,0x34,0x42,0x89,0xF1,0xED,0xAB,
+ 0xAB,0x54,0x86,0x91,0,0,0,0},
+ Buffer() {0x78,0x56,0x34,0x42,0xAB,0x54,0x86,0x91},
+
+ Buffer() {0x78,0x56,0x34,0x42,0x89,0xF1,0xED,0xAB,
+ 0x07,0,0,0,0,0,0,0},
+ Buffer() {0x78,0x56,0x34,0x42,0x07,0,0,0},
+
+ Buffer() {0x78,0x56,0x34,0x42,0x89,0xF1,0xED,0xAB,
+ 0x8d,0,0,0,0,0,0,0},
+ Buffer() {0x78,0x56,0x34,0x42,0x8d,0,0,0},
+
+ Buffer() {0x78,0x56,0x34,0x42,0x89,0xF1,0xED,0xAB,
+ 0x8d,0x8c,0,0,0,0,0,0},
+ Buffer() {0x78,0x56,0x34,0x42,0x8d,0x8c,0,0},
+
+ Buffer() {0x78,0x56,0x34,0x42,0x89,0xF1,0xED,0xAB,
+ 0x8D,0x8C,0x8B,0x8A,0,0,0,0},
+ Buffer() {0x78,0x56,0x34,0x42,0x8D,0x8C,0x8B,0x8A},
+
+ Buffer() {0x78,0x56,0x34,0x42,0x89,0xF1,0xED,0xAB,
+ 0xFF,0xFF,0xFF,0xFF,0x01,0,0,0},
+ Buffer() {0x78,0x56,0x34,0x42,0xFF,0xFF,0xFF,0xFF},
+
+ Buffer() {0x78,0x56,0x34,0x42,0x89,0xF1,0xED,0xAB,
+ 0x58,0x46,0x37,0x88,0x19,0xFA,0xDE,0x5C},
+ Buffer() {0x78,0x56,0x34,0x42,0x58,0x46,0x37,0x88},
+
+ Buffer() {0x78,0x56,0x34,0x42,0x89,0xF1,0xED,0xAB,
+ 0x58,0x9a,0x37,0x88,0x19,0xFA,0xDE,0xDC},
+ Buffer() {0x78,0x56,0x34,0x42,0x58,0x9a,0x37,0x88},
+
+ Buffer() {0x78,0x56,0x34,0x42,0x89,0xF1,0xED,0xAB,
+ 0x58,0xc7,0x37,0x88,0x19,0xFA,0xDE,0xDC},
+ Buffer() {0x78,0x56,0x34,0x42,0x58,0xc7,0x37,0x88},
+
+ Buffer() {0x78,0x56,0x34,0x42,0x89,0xF1,0xED,0xAB,
+ 0x82,0x34,0x56,0x78,0x90,0xAB,0xCD,0xEF},
+ Buffer() {0x78,0x56,0x34,0x42,0x82,0x34,0x56,0x78},
+
+ Buffer() {0x78,0x56,0x34,0x42,0x89,0xF1,0xED,0xAB,
+ 0x93,0xAB,0xCD,0xEF,0x99,0x12,0xCD,0x52},
+ Buffer() {0x78,0x56,0x34,0x42,0x93,0xAB,0xCD,0xEF},
+ })
+}
+*/
+
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0063/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0063/DECL.asl
new file mode 100644
index 000000000..2596515e8
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0063/DECL.asl
@@ -0,0 +1,41 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 63:
+ *
+ * SUMMARY: String to Integer conversion contradicts new April 2005 Conversion Rules
+ */
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0063/Misc.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0063/File0.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0063/File1.asl")
+
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0063/File0.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0063/File0.asl
new file mode 100644
index 000000000..5b9807c16
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0063/File0.asl
@@ -0,0 +1,581 @@
+/*
+ * 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.
+ */
+
+
+/*
+ * ToInteger(<0x-hex-dec>)
+ */
+Method(mf92) {
+
+ // Hex: 0x - dec
+
+ CH03("", 0, 0x100, 0, 0)
+
+ ToInteger("0x0", Local0)
+ if (LNotEqual(Local0, 0x0)) {
+ err("", zFFF, 0x101, 0, 0, Local0, 0x0)
+ }
+
+ ToInteger("0x0000000", Local0)
+ if (LNotEqual(Local0, 0x0)) {
+ err("", zFFF, 0x102, 0, 0, Local0, 0x0)
+ }
+
+ ToInteger("0x1", Local0)
+ if (LNotEqual(Local0, 0x1)) {
+ err("", zFFF, 0x103, 0, 0, Local0, 0x1)
+ }
+
+ ToInteger("0x12345678", Local0)
+ if (LNotEqual(Local0, 0x12345678)) {
+ err("", zFFF, 0x104, 0, 0, Local0, 0x12345678)
+ }
+
+ ToInteger("0x12345", Local0)
+ if (LNotEqual(Local0, 0x12345)) {
+ err("", zFFF, 0x105, 0, 0, Local0, 0x12345)
+ }
+
+ if (F64) {
+ ToInteger("0x1234567890123456", Local0)
+ if (LNotEqual(Local0, 0x1234567890123456)) {
+ err("", zFFF, 0x106, 0, 0, Local0, 0x1234567890123456)
+ }
+
+ ToInteger("0x123456789012345", Local0)
+ if (LNotEqual(Local0, 0x123456789012345)) {
+ err("", zFFF, 0x107, 0, 0, Local0, 0x123456789012345)
+ }
+ }
+
+ // Hex: 0x - hex
+
+ ToInteger("0xabcdefef", Local0)
+ if (LNotEqual(Local0, 0xabcdefef)) {
+ err("", zFFF, 0x108, 0, 0, Local0, 0xabcdefef)
+ }
+
+ ToInteger("0xabcdef", Local0)
+ if (LNotEqual(Local0, 0xabcdef)) {
+ err("", zFFF, 0x109, 0, 0, Local0, 0xabcdef)
+ }
+
+ if (F64) {
+ ToInteger("0xabcdefefadefbcdf", Local0)
+ if (LNotEqual(Local0, 0xabcdefefadefbcdf)) {
+ err("", zFFF, 0x10a, 0, 0, Local0, 0xabcdefefadefbcdf)
+ }
+
+ ToInteger("0xabcdefefadefbcd", Local0)
+ if (LNotEqual(Local0, 0xabcdefefadefbcd)) {
+ err("", zFFF, 0x10b, 0, 0, Local0, 0xabcdefefadefbcd)
+ }
+ }
+
+ // Hex: 0x - dec/hex
+
+ ToInteger("0x1ab2cd34", Local0)
+ if (LNotEqual(Local0, 0x1ab2cd34)) {
+ err("", zFFF, 0x10c, 0, 0, Local0, 0x1ab2cd34)
+ }
+
+ if (F64) {
+ ToInteger("0x1ab2cd340fe05678", Local0)
+ if (LNotEqual(Local0, 0x1ab2cd340fe05678)) {
+ err("", zFFF, 0x10d, 0, 0, Local0, 0x1ab2cd340fe05678)
+ }
+
+ ToInteger("0x1ab2cd340fe0", Local0)
+ if (LNotEqual(Local0, 0x1ab2cd340fe0)) {
+ err("", zFFF, 0x10e, 0, 0, Local0, 0x1ab2cd340fe0)
+ }
+ }
+
+ CH03("", 0, 0x219, 0, 0)
+}
+
+/*
+ * ToInteger(<dec>)
+ */
+Method(mf93) {
+
+ CH03("", 0, 0x10f, 0, 0)
+
+ ToInteger("0", Local0)
+ if (LNotEqual(Local0, 0)) {
+ err("", zFFF, 0x110, 0, 0, Local0, 0)
+ }
+
+ ToInteger("0000000", Local0)
+ if (LNotEqual(Local0, 0)) {
+ err("", zFFF, 0x111, 0, 0, Local0, 0)
+ }
+
+ ToInteger("000000000000000", Local0)
+ if (LNotEqual(Local0, 0)) {
+ err("", zFFF, 0x112, 0, 0, Local0, 0)
+ }
+
+ ToInteger("000000000000000000000000000000000000000000", Local0)
+ if (LNotEqual(Local0, 0)) {
+ err("", zFFF, 0x113, 0, 0, Local0, 0)
+ }
+
+ ToInteger("1", Local0)
+ if (LNotEqual(Local0, 1)) {
+ err("", zFFF, 0x114, 0, 0, Local0, 1)
+ }
+
+ ToInteger("1234567890", Local0)
+ if (LNotEqual(Local0, 1234567890)) {
+ err("", zFFF, 0x115, 0, 0, Local0, 1234567890)
+ }
+
+ ToInteger("1234567", Local0)
+ if (LNotEqual(Local0, 1234567)) {
+ err("", zFFF, 0x116, 0, 0, Local0, 1234567)
+ }
+
+ ToInteger("4294967295", Local0)
+ if (LNotEqual(Local0, 4294967295)) {
+ err("", zFFF, 0x117, 0, 0, Local0, 4294967295)
+ }
+
+ if (F64) {
+ ToInteger("18446744073709551615", Local0)
+ if (LNotEqual(Local0, 18446744073709551615)) {
+ err("", zFFF, 0x118, 0, 0, Local0, 18446744073709551615)
+ }
+ }
+
+ CH03("", 0, 0x119, 0, 0)
+}
+
+/*
+ * White space before image of Data is skipped
+ * (all examples above).
+ */
+Method(mf94) {
+
+ CH03("", 0, 0x11a, 0, 0)
+
+ ToInteger(" 0x0", Local0)
+ if (LNotEqual(Local0, 0x0)) {
+ err("", zFFF, 0x11b, 0, 0, Local0, 0x0)
+ }
+
+ ToInteger(" 0x00000", Local0)
+ if (LNotEqual(Local0, 0x0)) {
+ err("", zFFF, 0x11c, 0, 0, Local0, 0x0)
+ }
+
+ ToInteger(" 0x1", Local0)
+ if (LNotEqual(Local0, 0x1)) {
+ err("", zFFF, 0x11d, 0, 0, Local0, 0x1)
+ }
+
+ ToInteger(" 0x12345678", Local0)
+ if (LNotEqual(Local0, 0x12345678)) {
+ err("", zFFF, 0x11e, 0, 0, Local0, 0x12345678)
+ }
+
+ ToInteger(" 0x12345", Local0)
+ if (LNotEqual(Local0, 0x12345)) {
+ err("", zFFF, 0x11f, 0, 0, Local0, 0x12345)
+ }
+
+ if (F64) {
+ ToInteger(" 0x1234567890123456", Local0)
+ if (LNotEqual(Local0, 0x1234567890123456)) {
+ err("", zFFF, 0x120, 0, 0, Local0, 0x1234567890123456)
+ }
+
+ ToInteger(" 0x123456789012345", Local0)
+ if (LNotEqual(Local0, 0x123456789012345)) {
+ err("", zFFF, 0x121, 0, 0, Local0, 0x123456789012345)
+ }
+ }
+
+ ToInteger(" 0xabcdefef", Local0)
+ if (LNotEqual(Local0, 0xabcdefef)) {
+ err("", zFFF, 0x122, 0, 0, Local0, 0xabcdefef)
+ }
+
+ ToInteger(" 0xabcdef", Local0)
+ if (LNotEqual(Local0, 0xabcdef)) {
+ err("", zFFF, 0x123, 0, 0, Local0, 0xabcdef)
+ }
+
+ ToInteger(" 0xabcdef", Local0)
+ if (LNotEqual(Local0, 0xabcdef)) {
+ err("", zFFF, 0x124, 0, 0, Local0, 0xabcdef)
+ }
+
+ if (F64) {
+ ToInteger(" 0xabcdefefadefbcdf", Local0)
+ if (LNotEqual(Local0, 0xabcdefefadefbcdf)) {
+ err("", zFFF, 0x125, 0, 0, Local0, 0xabcdefefadefbcdf)
+ }
+
+ ToInteger(" 0xabcdefefadefbcd", Local0)
+ if (LNotEqual(Local0, 0xabcdefefadefbcd)) {
+ err("", zFFF, 0x126, 0, 0, Local0, 0xabcdefefadefbcd)
+ }
+ }
+
+ ToInteger(" 0x1ab2cd34", Local0)
+ if (LNotEqual(Local0, 0x1ab2cd34)) {
+ err("", zFFF, 0x127, 0, 0, Local0, 0x1ab2cd34)
+ }
+
+ if (F64) {
+ ToInteger(" 0x1ab2cd340fe05678", Local0)
+ if (LNotEqual(Local0, 0x1ab2cd340fe05678)) {
+ err("", zFFF, 0x128, 0, 0, Local0, 0x1ab2cd340fe05678)
+ }
+
+ ToInteger(" 0x1ab2cd340fe0", Local0)
+ if (LNotEqual(Local0, 0x1ab2cd340fe0)) {
+ err("", zFFF, 0x129, 0, 0, Local0, 0x1ab2cd340fe0)
+ }
+ }
+
+ ToInteger(" 0", Local0)
+ if (LNotEqual(Local0, 0)) {
+ err("", zFFF, 0x12a, 0, 0, Local0, 0)
+ }
+
+ ToInteger(" 0000000", Local0)
+ if (LNotEqual(Local0, 0)) {
+ err("", zFFF, 0x12b, 0, 0, Local0, 0)
+ }
+
+ ToInteger(" 000000000000000", Local0)
+ if (LNotEqual(Local0, 0)) {
+ err("", zFFF, 0x12c, 0, 0, Local0, 0)
+ }
+
+ ToInteger(" 000000000000000000000000000000000000000000", Local0)
+ if (LNotEqual(Local0, 0)) {
+ err("", zFFF, 0x12d, 0, 0, Local0, 0)
+ }
+
+ ToInteger(" 1", Local0)
+ if (LNotEqual(Local0, 1)) {
+ err("", zFFF, 0x12e, 0, 0, Local0, 1)
+ }
+
+ ToInteger(" 1234567890", Local0)
+ if (LNotEqual(Local0, 1234567890)) {
+ err("", zFFF, 0x12f, 0, 0, Local0, 1234567890)
+ }
+
+ ToInteger(" 1234567890", Local0)
+ if (LNotEqual(Local0, 1234567890)) {
+ err("", zFFF, 0x130, 0, 0, Local0, 1234567890)
+ }
+
+ ToInteger(" 1234567890", Local0)
+ if (LNotEqual(Local0, 1234567890)) {
+ err("", zFFF, 0x131, 0, 0, Local0, 1234567890)
+ }
+
+ ToInteger(" 1234567", Local0)
+ if (LNotEqual(Local0, 1234567)) {
+ err("", zFFF, 0x132, 0, 0, Local0, 1234567)
+ }
+
+ ToInteger(" 4294967295", Local0)
+ if (LNotEqual(Local0, 4294967295)) {
+ err("", zFFF, 0x133, 0, 0, Local0, 4294967295)
+ }
+
+ if (F64) {
+ ToInteger(" 18446744073709551615", Local0)
+ if (LNotEqual(Local0, 18446744073709551615)) {
+ err("", zFFF, 0x134, 0, 0, Local0, 18446744073709551615)
+ }
+ }
+
+ CH03("", 0, 0x135, 0, 0)
+}
+
+/*
+ * Zeros before significant characters in image without '0x' are skipped).
+ */
+Method(mf95) {
+
+ CH03("", 0, 0x136, 0, 0)
+
+ ToInteger(" 0", Local0)
+ if (LNotEqual(Local0, 0)) {
+ err("", zFFF, 0x137, 0, 0, Local0, 0)
+ }
+
+ ToInteger(" 2", Local0)
+ if (LNotEqual(Local0, 2)) {
+ err("", zFFF, 0x138, 0, 0, Local0, 2)
+ }
+
+ ToInteger(" 0xa", Local0)
+ if (LNotEqual(Local0, 0xa)) {
+ err("", zFFF, 0x139, 0, 0, Local0, 0xa)
+ }
+
+ ToInteger(" 04294967295", Local0)
+ if (LNotEqual(Local0, 4294967295)) {
+ err("", zFFF, 0x13a, 0, 0, Local0, 4294967295)
+ }
+
+ ToInteger("04294967295", Local0)
+ if (LNotEqual(Local0, 4294967295)) {
+ err("", zFFF, 0x13b, 0, 0, Local0, 4294967295)
+ }
+
+ ToInteger("000000000000000000004294967295", Local0)
+ if (LNotEqual(Local0, 4294967295)) {
+ err("", zFFF, 0x13c, 0, 0, Local0, 4294967295)
+ }
+
+ ToInteger(" 000000000000000000004294967295", Local0)
+ if (LNotEqual(Local0, 4294967295)) {
+ err("", zFFF, 0x13d, 0, 0, Local0, 4294967295)
+ }
+
+ ToInteger(" 000000000000000000004294967295", Local0)
+ if (LNotEqual(Local0, 4294967295)) {
+ err("", zFFF, 0x13e, 0, 0, Local0, 4294967295)
+ }
+
+ ToInteger(" 000000000000000000004294967295", Local0)
+ if (LNotEqual(Local0, 4294967295)) {
+ err("", zFFF, 0x13f, 0, 0, Local0, 4294967295)
+ }
+
+ ToInteger(" 04294967295", Local0)
+ if (LNotEqual(Local0, 4294967295)) {
+ err("", zFFF, 0x140, 0, 0, Local0, 4294967295)
+ }
+
+ ToInteger(" 0123456789", Local0)
+ if (LNotEqual(Local0, 123456789)) {
+ err("", zFFF, 0x141, 0, 0, Local0, 123456789)
+ }
+
+ ToInteger("0123456789", Local0)
+ if (LNotEqual(Local0, 123456789)) {
+ err("", zFFF, 0x142, 0, 0, Local0, 123456789)
+ }
+
+ ToInteger("00123456789", Local0)
+ if (LNotEqual(Local0, 123456789)) {
+ err("", zFFF, 0x143, 0, 0, Local0, 123456789)
+ }
+
+ if (F64) {
+ ToInteger(" 018446744073709551615", Local0)
+ if (LNotEqual(Local0, 18446744073709551615)) {
+ err("", zFFF, 0x144, 0, 0, Local0, 18446744073709551615)
+ }
+
+ ToInteger("018446744073709551615", Local0)
+ if (LNotEqual(Local0, 18446744073709551615)) {
+ err("", zFFF, 0x145, 0, 0, Local0, 18446744073709551615)
+ }
+
+ ToInteger("000000000000000000000000000000000000000018446744073709551615", Local0)
+ if (LNotEqual(Local0, 18446744073709551615)) {
+ err("", zFFF, 0x146, 0, 0, Local0, 18446744073709551615)
+ }
+ }
+
+ CH03("", 0, 0x219, 0, 0)
+}
+
+/*
+ * ToInteger, exceptions
+ */
+Method(mf96) {
+
+ // 5. "1234cd" (non-decimal character in dec-image)
+ CH03("", 0, 0x147, 0, 0)
+ ToInteger("1234cd", Local0)
+ CH04("", 0, 0xff, 0, 0x148, 0, 0)
+
+ // 6. "000x1234" (non-decimal character in dec-image)
+ CH03("", 0, 0x149, 0, 0)
+ ToInteger("000x1234", Local0)
+ CH04("", 0, 0xff, 0, 0x14a, 0, 0)
+
+ // 7. "0x1234cdQ" (non-hex character in '0x'-image)
+ CH03("", 0, 0x14b, 0, 0)
+ ToInteger("0x1234cdQ", Local0)
+ CH04("", 0, 0xff, 0, 0x14c, 0, 0)
+
+ CH03("", 0, 0x14d, 0, 0)
+ ToInteger("0x0x12345", Local0)
+ CH04("", 0, 0xff, 0, 0x14e, 0, 0)
+
+ // 8. "1234 " (white space in dec image)
+ CH03("", 0, 0x14f, 0, 0)
+ ToInteger("1234 ", Local0)
+ CH04("", 0, 0xff, 0, 0x150, 0, 0)
+
+ // 9. "0x1234cd " (white space in '0x'-image)
+ CH03("", 0, 0x151, 0, 0)
+ ToInteger("0x1234cd ", Local0)
+ CH04("", 0, 0xff, 0, 0x152, 0, 0)
+
+ // 10. "0x 1234cdQ" (white space after '0x')
+ CH03("", 0, 0x153, 0, 0)
+ ToInteger("0x 1234", Local0)
+ CH04("", 0, 0xff, 0, 0x154, 0, 0)
+
+ CH03("", 0, 0x155, 0, 0)
+ ToInteger("0x0x 1234", Local0)
+ CH04("", 0, 0xff, 0, 0x156, 0, 0)
+
+ CH03("", 0, 0x157, 0, 0)
+ ToInteger("0x0x 0x 1234", Local0)
+ CH04("", 0, 0xff, 0, 0x158, 0, 0)
+
+ CH03("", 0, 0x159, 0, 0)
+ ToInteger("0x 0x 1234", Local0)
+ CH04("", 0, 0xff, 0, 0x15a, 0, 0)
+
+ // 11. (decimal image exceeding maximal)
+ // 32-bit mode – the value exceeding "4294967295"
+ if (LNot(F64)) {
+ CH03("", 0, 0x15b, 0, 0)
+ ToInteger("4294967296", Local0)
+ CH04("", 0, 0xff, 0, 0x15c, 0, 0)
+
+ CH03("", 0, 0x15d, 0, 0)
+ ToInteger("123456789012345678904294967296", Local0)
+ CH04("", 0, 0xff, 0, 0x15e, 0, 0)
+
+ CH03("", 0, 0x15f, 0, 0)
+ ToInteger(" 00004294967296", Local0)
+ CH04("", 0, 0xff, 0, 0x160, 0, 0)
+
+ CH03("", 0, 0x161, 0, 0)
+ ToInteger(" 0123456789012345678904294967296", Local0)
+ CH04("", 0, 0xff, 0, 0x162, 0, 0)
+
+ CH03("", 0, 0x163, 0, 0)
+ ToInteger("0123456789012345678904294967296", Local0)
+ CH04("", 0, 0xff, 0, 0x164, 0, 0)
+
+ CH03("", 0, 0x165, 0, 0)
+ ToInteger(" 123456789012345678904294967296", Local0)
+ CH04("", 0, 0xff, 0, 0x166, 0, 0)
+
+ CH03("", 0, 0x167, 0, 0)
+ ToInteger(" 123456789012345678904294967296", Local0)
+ CH04("", 0, 0xff, 0, 0x168, 0, 0)
+ }
+
+ // 64-bit mode – the value exceeding "18446744073709551615"
+ CH03("", 0, 0x169, 0, 0)
+ ToInteger("18446744073709551616", Local0)
+ CH04("", 0, 0xff, 0, 0x16a, 0, 0)
+
+ CH03("", 0, 0x16b, 0, 0)
+ ToInteger(" 18446744073709551616", Local0)
+ CH04("", 0, 0xff, 0, 0x16c, 0, 0)
+
+ CH03("", 0, 0x16d, 0, 0)
+ ToInteger(" 18446744073709551616", Local0)
+ CH04("", 0, 0xff, 0, 0x16e, 0, 0)
+
+ CH03("", 0, 0x16f, 0, 0)
+ ToInteger("018446744073709551616", Local0)
+ CH04("", 0, 0xff, 0, 0x170, 0, 0)
+
+ CH03("", 0, 0x171, 0, 0)
+ ToInteger(" 000000000018446744073709551616", Local0)
+ CH04("", 0, 0xff, 0, 0x172, 0, 0)
+
+ // 12. "0x12345678901234567" (hex image exceeding maximal)
+ CH03("", 0, 0x173, 0, 0)
+ ToInteger("0x12345678901234567", Local0)
+ CH04("", 0, 0xff, 0, 0x174, 0, 0)
+
+ // 13. "0x00000000000001234" (hex image exceeding maximal; no matter that zeros)
+ CH03("", 0, 0x175, 0, 0)
+ ToInteger("0x00000000000001234", Local0)
+ CH04("", 0, 0xff, 0, 0x176, 0, 0)
+
+ CH03("", 0, 0x178, 0, 0)
+ ToInteger("0x0000000000000000000001234", Local0)
+ CH04("", 0, 0xff, 0, 0x179, 0, 0)
+
+ // 14. "0x123456789" (hex image exceeding maximal; for 32-bit mode only)
+ if (LNot(F64)) {
+ CH03("", 0, 0x17a, 0, 0)
+ ToInteger("0x123456789", Local0)
+ CH04("", 0, 0xff, 0, 0x17b, 0, 0)
+ }
+
+ // 15. "0x" (incomplete '0x' image)
+ CH03("", 0, 0x17c, 0, 0)
+ ToInteger("0x", Local0)
+ CH04("", 0, 0xff, 0, 0x17d, 0, 0)
+
+ CH03("", 0, 0x17e, 0, 0)
+ ToInteger("0x ", Local0)
+ CH04("", 0, 0xff, 0, 0x17f, 0, 0)
+
+ CH03("", 0, 0x180, 0, 0)
+ ToInteger("0x ", Local0)
+ CH04("", 0, 0xff, 0, 0x181, 0, 0)
+
+ CH03("", 0, 0x182, 0, 0)
+ ToInteger("0x 1234", Local0)
+ CH04("", 0, 0xff, 0, 0x183, 0, 0)
+
+ CH03("", 0, 0x184, 0, 0)
+ ToInteger("0x 1234", Local0)
+ CH04("", 0, 0xff, 0, 0x185, 0, 0)
+
+ // 16. Empty string
+ CH03("", 0, 0x186, 0, 0)
+ ToInteger("", Local0)
+ CH04("", 0, 0xff, 0, 0x187, 0, 0)
+}
+
+
+
+
+
+
+
+
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0063/File1.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0063/File1.asl
new file mode 100644
index 000000000..c2582a90d
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0063/File1.asl
@@ -0,0 +1,1391 @@
+/*
+ * 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.
+ */
+
+
+/*
+ * Implicit String to Integer (<0x-hex-dec>)
+ */
+Method(mf97) {
+
+ // Hex: 0x - dec
+
+ CH03("", 0, 0x200, 0, 0)
+
+ Add("", 0, Local0)
+ if (LNotEqual(Local0, 0)) {
+ err("", zFFF, 0x201, 0, 0, Local0, 0)
+ }
+
+ Add("0x0", 0, Local0)
+ if (LNotEqual(Local0, 0)) {
+ err("", zFFF, 0x201, 0, 0, Local0, 0)
+ }
+
+ Add("0x1", 0, Local0)
+ if (LNotEqual(Local0, 0)) {
+ err("", zFFF, 0x202, 0, 0, Local0, 0)
+ }
+
+ Add("0x12345678", 0, Local0)
+ if (LNotEqual(Local0, 0)) {
+ err("", zFFF, 0x203, 0, 0, Local0, 0)
+ }
+
+ Add("0x1234567890123456", 0, Local0)
+ if (LNotEqual(Local0, 0)) {
+ err("", zFFF, 0x204, 0, 0, Local0, 0)
+ }
+
+ // Hex: 0x - hex
+
+ Add("0xabcdefef", 0, Local0)
+ if (LNotEqual(Local0, 0)) {
+ err("", zFFF, 0x205, 0, 0, Local0, 0)
+ }
+
+ Add("0xabcdefefadefbcdf", 0, Local0)
+ if (LNotEqual(Local0, 0)) {
+ err("", zFFF, 0x206, 0, 0, Local0, 0)
+ }
+
+ // Hex: 0x - dec/hex
+
+ Add("0x1ab2cd340fe05678", 0, Local0)
+ if (LNotEqual(Local0, 0)) {
+ err("", zFFF, 0x207, 0, 0, Local0, 0)
+ }
+
+ CH03("", 0, 0x208, 0, 0)
+ Add("0x1ab2cd340fe0567823456789123456789987", 0, Local0)
+ CH03("", 0, 0x209, 0, 0)
+
+ if (LNotEqual(Local0, 0)) {
+ err("", zFFF, 0x20a, 0, 0, Local0, 0)
+ }
+
+ CH03("", 0, 0x20b, 0, 0)
+}
+
+/*
+ * Implicit String to Integer (<dec>)
+ */
+Method(mf98) {
+
+ CH03("", 0, 0x200, 0, 0)
+
+ Add("0", 0, Local0)
+ if (LNotEqual(Local0, 0)) {
+ err("", zFFF, 0x20d, 0, 0, Local0, 0)
+ }
+
+ CH03("", 0, 0x201, 0, 0)
+
+ Add("0000000", 0, Local0)
+ if (LNotEqual(Local0, 0)) {
+ err("", zFFF, 0x20e, 0, 0, Local0, 0)
+ }
+
+ CH03("", 0, 0x202, 0, 0)
+
+ Add("000000000000000000000000000000", 0, Local0)
+ if (LNotEqual(Local0, 0)) {
+ err("", zFFF, 0x20f, 0, 0, Local0, 0)
+ }
+
+ CH03("", 0, 0x203, 0, 0)
+
+ Add("1", 0, Local0)
+ if (LNotEqual(Local0, 1)) {
+ err("", zFFF, 0x210, 0, 0, Local0, 1)
+ }
+
+ CH03("", 0, 0x204, 0, 0)
+
+ Add("12345678", 0, Local0)
+ if (LNotEqual(Local0, 0x12345678)) {
+ err("", zFFF, 0x211, 0, 0, Local0, 0x12345678)
+ }
+
+ CH03("", 0, 0x205, 0, 0)
+}
+
+/*
+ * Implicit String to Integer (<hex-dec>)
+ */
+Method(mf99) {
+
+ CH03("", 0, 0x213, 0, 0)
+
+ // Hex: 0x - dec
+
+ Add("1234567890123456", 0, Local0)
+ if (F64) {
+ if (LNotEqual(Local0, 0x1234567890123456)) {
+ err("", zFFF, 0x214, 0, 0, Local0, 0x1234567890123456)
+ }
+ } else {
+ if (LNotEqual(Local0, 0x12345678)) {
+ err("", zFFF, 0x215, 0, 0, Local0, 0x12345678)
+ }
+ }
+
+ // Hex: 0x - hex
+
+ Add("abcdefef", 0, Local0)
+ if (LNotEqual(Local0, 0xabcdefef)) {
+ err("", zFFF, 0x216, 0, 0, Local0, 0xabcdefef)
+ }
+
+ Add("abcdefe", 0, Local0)
+ if (LNotEqual(Local0, 0xabcdefe)) {
+ err("", zFFF, 0x217, 0, 0, Local0, 0xabcdefe)
+ }
+
+ Add("abcdefefadefbcdf", 0, Local0)
+ if (F64) {
+ if (LNotEqual(Local0, 0xabcdefefadefbcdf)) {
+ err("", zFFF, 0x218, 0, 0, Local0, 0xabcdefefadefbcdf)
+ }
+ } else {
+ if (LNotEqual(Local0, 0xabcdefef)) {
+ err("", zFFF, 0x219, 0, 0, Local0, 0xabcdefef)
+ }
+ }
+
+ // Hex: 0x - dec/hex
+
+ Add("1ab2cd340fe05678", 0, Local0)
+ if (F64) {
+ if (LNotEqual(Local0, 0x1ab2cd340fe05678)) {
+ err("", zFFF, 0x21a, 0, 0, Local0, 0x1ab2cd340fe05678)
+ }
+ } else {
+ if (LNotEqual(Local0, 0x1ab2cd34)) {
+ err("", zFFF, 0x21b, 0, 0, Local0, 0x1ab2cd34)
+ }
+ }
+
+ Add("1ab2cd340fe05", 0, Local0)
+ if (F64) {
+ if (LNotEqual(Local0, 0x1ab2cd340fe05)) {
+ err("", zFFF, 0x21c, 0, 0, Local0, 0x1ab2cd340fe05)
+ }
+ } else {
+ if (LNotEqual(Local0, 0x1ab2cd34)) {
+ err("", zFFF, 0x21d, 0, 0, Local0, 0x1ab2cd34)
+ }
+ }
+
+ Add("1a", 0, Local0)
+ if (LNotEqual(Local0, 0x1a)) {
+ err("", zFFF, 0x21e, 0, 0, Local0, 0x1a)
+ }
+
+ CH03("", 0, 0x219, 0, 0)
+}
+
+/*
+ * No exceptions in special cases which force exceptions on ToInteger
+ */
+Method(mf9a) {
+
+ // 5. "1234cd" (non-decimal character in dec-image)
+ CH03("", 0, 0x220, 0, 0)
+ Add("1234cd", 0, Local0)
+ if (LNotEqual(Local0, 0x1234cd)) {
+ err("", zFFF, 0x221, 0, 0, Local0, 0x1234cd)
+ }
+
+ // 6. "000x1234" (non-decimal character in dec-image)
+ CH03("", 0, 0x223, 0, 0)
+ Add("000x1234", 0, Local0)
+ if (LNotEqual(Local0, 0)) {
+ err("", zFFF, 0x224, 0, 0, Local0, 0)
+ }
+
+ // 7. "0x1234cdQ" (non-hex character in '0x'-image)
+ CH03("", 0, 0x225, 0, 0)
+ Add("0x1234cdQ", 0, Local0)
+ if (LNotEqual(Local0, 0)) {
+ err("", zFFF, 0x226, 0, 0, Local0, 0)
+ }
+ CH03("", 0, 0x227, 0, 0)
+ Add("1234cdQ", 0, Local0)
+ if (LNotEqual(Local0, 0x1234cd)) {
+ err("", zFFF, 0x228, 0, 0, Local0, 0x1234cd)
+ }
+
+ CH03("", 0, 0x229, 0, 0)
+ Add("0x0x12345", 0, Local0)
+ if (LNotEqual(Local0, 0)) {
+ err("", zFFF, 0x22a, 0, 0, Local0, 0)
+ }
+
+ // 8. "1234 " (white space in dec image)
+ CH03("", 0, 0x22b, 0, 0)
+ Add("1234 ", 0, Local0)
+ if (LNotEqual(Local0, 0x1234)) {
+ err("", zFFF, 0x22c, 0, 0, Local0, 0x1234)
+ }
+
+ // 9. "0x1234cd " (white space in '0x'-image)
+ CH03("", 0, 0x22d, 0, 0)
+ Add("1234cd ", 0, Local0)
+ if (LNotEqual(Local0, 0x1234cd)) {
+ err("", zFFF, 0x22e, 0, 0, Local0, 0x1234cd)
+ }
+
+ // 10. "0x 1234cdQ" (white space after '0x')
+ CH03("", 0, 0x22f, 0, 0)
+ Add("0x 1234", 0, Local0)
+ if (LNotEqual(Local0, 0)) {
+ err("", zFFF, 0x230, 0, 0, Local0, 0)
+ }
+
+ CH03("", 0, 0x231, 0, 0)
+ Add("0x0x 1234", 0, Local0)
+ if (LNotEqual(Local0, 0)) {
+ err("", zFFF, 0x232, 0, 0, Local0, 0)
+ }
+
+ CH03("", 0, 0x233, 0, 0)
+ Add("0x0x 0x 1234", 0, Local0)
+ if (LNotEqual(Local0, 0)) {
+ err("", zFFF, 0x234, 0, 0, Local0, 0)
+ }
+
+ CH03("", 0, 0x235, 0, 0)
+ Add("0x 0x 1234", 0, Local0)
+ if (LNotEqual(Local0, 0)) {
+ err("", zFFF, 0x236, 0, 0, Local0, 0)
+ }
+
+ // 11. (decimal image exceeding maximal)
+ // 32-bit mode – the value exceeding "4294967295"
+ if (1) {
+ CH03("", 0, 0x237, 0, 0)
+ Add("4294967296", 0, Local0)
+ if (F64) {
+ if (LNotEqual(Local0, 0x4294967296)) {
+ err("", zFFF, 0x238, 0, 0, Local0, 0x4294967296)
+ }
+ } else {
+ if (LNotEqual(Local0, 0x42949672)) {
+ err("", zFFF, 0x239, 0, 0, Local0, 0x42949672)
+ }
+ }
+
+ CH03("", 0, 0x23a, 0, 0)
+ Add("123456789012345678904294967296", 0, Local0)
+ if (F64) {
+ if (LNotEqual(Local0, 0x1234567890123456)) {
+ err("", zFFF, 0x23b, 0, 0, Local0, 0x1234567890123456)
+ }
+ } else {
+ if (LNotEqual(Local0, 0x12345678)) {
+ err("", zFFF, 0x23c, 0, 0, Local0, 0x12345678)
+ }
+ }
+
+ CH03("", 0, 0x23d, 0, 0)
+ Add(" 00004294967296", 0, Local0)
+ if (F64) {
+ if (LNotEqual(Local0, 0x4294967296)) {
+ err("", zFFF, 0x23e, 0, 0, Local0, 0x4294967296)
+ }
+ } else {
+ if (LNotEqual(Local0, 0x42949672)) {
+ err("", zFFF, 0x23f, 0, 0, Local0, 0x42949672)
+ }
+ }
+
+ CH03("", 0, 0x240, 0, 0)
+ Add(" 0123456789012345678904294967296", 0, Local0)
+ if (F64) {
+ if (LNotEqual(Local0, 0x1234567890123456)) {
+ err("", zFFF, 0x241, 0, 0, Local0, 0x1234567890123456)
+ }
+ } else {
+ if (LNotEqual(Local0, 0x12345678)) {
+ err("", zFFF, 0x242, 0, 0, Local0, 0x12345678)
+ }
+ }
+
+ CH03("", 0, 0x243, 0, 0)
+ Add("0123456789012345678904294967296", 0, Local0)
+ if (F64) {
+ if (LNotEqual(Local0, 0x1234567890123456)) {
+ err("", zFFF, 0x244, 0, 0, Local0, 0x1234567890123456)
+ }
+ } else {
+ if (LNotEqual(Local0, 0x12345678)) {
+ err("", zFFF, 0x245, 0, 0, Local0, 0x12345678)
+ }
+ }
+
+ CH03("", 0, 0x246, 0, 0)
+ Add(" 123456789012345678904294967296", 0, Local0)
+ if (F64) {
+ if (LNotEqual(Local0, 0x1234567890123456)) {
+ err("", zFFF, 0x247, 0, 0, Local0, 0x1234567890123456)
+ }
+ } else {
+ if (LNotEqual(Local0, 0x12345678)) {
+ err("", zFFF, 0x248, 0, 0, Local0, 0x12345678)
+ }
+ }
+
+ CH03("", 0, 0x249, 0, 0)
+ Add(" 123456789012345678904294967296", 0, Local0)
+ if (F64) {
+ if (LNotEqual(Local0, 0x1234567890123456)) {
+ err("", zFFF, 0x24a, 0, 0, Local0, 0x1234567890123456)
+ }
+ } else {
+ if (LNotEqual(Local0, 0x12345678)) {
+ err("", zFFF, 0x24b, 0, 0, Local0, 0x12345678)
+ }
+ }
+ }
+
+ // 64-bit mode – the value exceeding "18446744073709551615"
+ CH03("", 0, 0x24c, 0, 0)
+ Add("18446744073709551616", 0, Local0)
+ if (F64) {
+ if (LNotEqual(Local0, 0x1844674407370955)) {
+ err("", zFFF, 0x24d, 0, 0, Local0, 0x1844674407370955)
+ }
+ } else {
+ if (LNotEqual(Local0, 0x18446744)) {
+ err("", zFFF, 0x24e, 0, 0, Local0, 0x18446744)
+ }
+ }
+
+ CH03("", 0, 0x24f, 0, 0)
+ Add(" 18446744073709551616", 0, Local0)
+ if (F64) {
+ if (LNotEqual(Local0, 0x1844674407370955)) {
+ err("", zFFF, 0x250, 0, 0, Local0, 0x1844674407370955)
+ }
+ } else {
+ if (LNotEqual(Local0, 0x18446744)) {
+ err("", zFFF, 0x251, 0, 0, Local0, 0x18446744)
+ }
+ }
+
+ CH03("", 0, 0x252, 0, 0)
+ Add(" 18446744073709551616", 0, Local0)
+ if (F64) {
+ if (LNotEqual(Local0, 0x1844674407370955)) {
+ err("", zFFF, 0x253, 0, 0, Local0, 0x1844674407370955)
+ }
+ } else {
+ if (LNotEqual(Local0, 0x18446744)) {
+ err("", zFFF, 0x254, 0, 0, Local0, 0x18446744)
+ }
+ }
+
+ CH03("", 0, 0x255, 0, 0)
+ Add("018446744073709551616", 0, Local0)
+ if (F64) {
+ if (LNotEqual(Local0, 0x1844674407370955)) {
+ err("", zFFF, 0x256, 0, 0, Local0, 0x1844674407370955)
+ }
+ } else {
+ if (LNotEqual(Local0, 0x18446744)) {
+ err("", zFFF, 0x257, 0, 0, Local0, 0x18446744)
+ }
+ }
+
+ CH03("", 0, 0x258, 0, 0)
+ Add(" 000000000018446744073709551616", 0, Local0)
+ if (F64) {
+ if (LNotEqual(Local0, 0x1844674407370955)) {
+ err("", zFFF, 0x259, 0, 0, Local0, 0x1844674407370955)
+ }
+ } else {
+ if (LNotEqual(Local0, 0x18446744)) {
+ err("", zFFF, 0x25a, 0, 0, Local0, 0x18446744)
+ }
+ }
+
+ // 12. "0x12345678901234567" (hex image exceeding maximal)
+ CH03("", 0, 0x25b, 0, 0)
+ Add("0x12345678901234567", 0, Local0)
+ if (LNotEqual(Local0, 0)) {
+ err("", zFFF, 0x25c, 0, 0, Local0, 0)
+ }
+
+ // 13. "0x00000000000001234" (hex image exceeding maximal; no matter that zeros)
+ CH03("", 0, 0x25e, 0, 0)
+ Add("0x00000000000001234", 0, Local0)
+ if (LNotEqual(Local0, 0)) {
+ err("", zFFF, 0x25f, 0, 0, Local0, 0)
+ }
+
+ CH03("", 0, 0x260, 0, 0)
+ Add("0x0000000000000000000001234", 0, Local0)
+ if (LNotEqual(Local0, 0)) {
+ err("", zFFF, 0x261, 0, 0, Local0, 0)
+ }
+
+ // 14. "0x123456789" (hex image exceeding maximal; for 32-bit mode only)
+ if (1) {
+ CH03("", 0, 0x262, 0, 0)
+ Add("0x123456789", 0, Local0)
+ if (LNotEqual(Local0, 0)) {
+ err("", zFFF, 0x263, 0, 0, Local0, 0)
+ }
+ }
+
+ // 15. "0x" (incomplete '0x' image)
+ CH03("", 0, 0x264, 0, 0)
+ Add("0x", 0, Local0)
+ if (LNotEqual(Local0, 0)) {
+ err("", zFFF, 0x265, 0, 0, Local0, 0)
+ }
+ CH03("", 0, 0x266, 0, 0)
+}
+
+/*
+ * 2. " 0x1234cd" (white space before image of Data is skipped)
+ *
+ * All the above examples but with the white space before image of Data.
+ */
+Method(mf9b) {
+
+ // Hex: 0x - dec
+
+ CH03("", 0, 0x267, 0, 0)
+
+ Add(" 0x0", 0, Local0)
+ if (LNotEqual(Local0, 0)) {
+ err("", zFFF, 0x268, 0, 0, Local0, 0)
+ }
+
+ Add(" 0x1", 0, Local0)
+ if (LNotEqual(Local0, 0)) {
+ err("", zFFF, 0x269, 0, 0, Local0, 0)
+ }
+
+ Add(" 0x12345678", 0, Local0)
+ if (LNotEqual(Local0, 0)) {
+ err("", zFFF, 0x26a, 0, 0, Local0, 0)
+ }
+
+ Add(" 0x1234567890123456", 0, Local0)
+ if (LNotEqual(Local0, 0)) {
+ err("", zFFF, 0x26b, 0, 0, Local0, 0)
+ }
+
+ // Hex: 0x - hex
+
+ Add(" 0xabcdefef", 0, Local0)
+ if (LNotEqual(Local0, 0)) {
+ err("", zFFF, 0x26c, 0, 0, Local0, 0)
+ }
+
+ Add(" 0xabcdefefadefbcdf", 0, Local0)
+ if (LNotEqual(Local0, 0)) {
+ err("", zFFF, 0x26d, 0, 0, Local0, 0)
+ }
+
+ // Hex: 0x - dec/hex
+
+ Add(" 0x1ab2cd340fe05678", 0, Local0)
+ if (LNotEqual(Local0, 0)) {
+ err("", zFFF, 0x26e, 0, 0, Local0, 0)
+ }
+
+ CH03("", 0, 0x26f, 0, 0)
+ Add(" 0x1ab2cd340fe0567823456789123456789987", 0, Local0)
+ CH03("", 0, 0x270, 0, 0)
+
+ if (LNotEqual(Local0, 0)) {
+ err("", zFFF, 0x271, 0, 0, Local0, 0)
+ }
+
+ CH03("", 0, 0x272, 0, 0)
+
+ /*
+ * Implicit String to Integer (<dec>)
+ *
+ * Method(mf98)
+ */
+
+ CH03("", 0, 0x273, 0, 0)
+
+ Add(" 0", 0, Local0)
+ if (LNotEqual(Local0, 0)) {
+ err("", zFFF, 0x274, 0, 0, Local0, 0)
+ }
+
+ CH03("", 0, 0x275, 0, 0)
+
+ Add(" 0000000", 0, Local0)
+ if (LNotEqual(Local0, 0)) {
+ err("", zFFF, 0x276, 0, 0, Local0, 0)
+ }
+
+ CH03("", 0, 0x277, 0, 0)
+
+ Add(" 000000000000000000000000000000", 0, Local0)
+ if (LNotEqual(Local0, 0)) {
+ err("", zFFF, 0x278, 0, 0, Local0, 0)
+ }
+
+ CH03("", 0, 0x279, 0, 0)
+
+ Add(" 000000000000000000000000000000", 0, Local0)
+ if (LNotEqual(Local0, 0)) {
+ err("", zFFF, 0x27a, 0, 0, Local0, 0)
+ }
+
+ CH03("", 0, 0x27b, 0, 0)
+
+ Add(" 1", 0, Local0)
+ if (LNotEqual(Local0, 1)) {
+ err("", zFFF, 0x27c, 0, 0, Local0, 1)
+ }
+
+ CH03("", 0, 0x27d, 0, 0)
+
+ Add(" 12345678", 0, Local0)
+ if (LNotEqual(Local0, 0x12345678)) {
+ err("", zFFF, 0x27e, 0, 0, Local0, 0x12345678)
+ }
+
+ CH03("", 0, 0x27f, 0, 0)
+
+ /*
+ * Implicit String to Integer (<hex-dec>)
+ *
+ * Method(mf99)
+ */
+
+ CH03("", 0, 0x280, 0, 0)
+
+ // Hex: 0x - dec
+
+ Add(" 1234567890123456", 0, Local0)
+ if (F64) {
+ if (LNotEqual(Local0, 0x1234567890123456)) {
+ err("", zFFF, 0x281, 0, 0, Local0, 0x1234567890123456)
+ }
+ } else {
+ if (LNotEqual(Local0, 0x12345678)) {
+ err("", zFFF, 0x282, 0, 0, Local0, 0x12345678)
+ }
+ }
+
+ // Hex: 0x - hex
+
+ Add(" abcdefef", 0, Local0)
+ if (LNotEqual(Local0, 0xabcdefef)) {
+ err("", zFFF, 0x283, 0, 0, Local0, 0xabcdefef)
+ }
+
+ Add(" abcdefe", 0, Local0)
+ if (LNotEqual(Local0, 0xabcdefe)) {
+ err("", zFFF, 0x284, 0, 0, Local0, 0xabcdefe)
+ }
+
+ Add(" abcdefefadefbcdf", 0, Local0)
+ if (F64) {
+ if (LNotEqual(Local0, 0xabcdefefadefbcdf)) {
+ err("", zFFF, 0x285, 0, 0, Local0, 0xabcdefefadefbcdf)
+ }
+ } else {
+ if (LNotEqual(Local0, 0xabcdefef)) {
+ err("", zFFF, 0x286, 0, 0, Local0, 0xabcdefef)
+ }
+ }
+
+ // Hex: 0x - dec/hex
+
+ Add(" 1ab2cd340fe05678", 0, Local0)
+ if (F64) {
+ if (LNotEqual(Local0, 0x1ab2cd340fe05678)) {
+ err("", zFFF, 0x287, 0, 0, Local0, 0x1ab2cd340fe05678)
+ }
+ } else {
+ if (LNotEqual(Local0, 0x1ab2cd34)) {
+ err("", zFFF, 0x288, 0, 0, Local0, 0x1ab2cd34)
+ }
+ }
+
+ Add(" 1ab2cd340fe05", 0, Local0)
+ if (F64) {
+ if (LNotEqual(Local0, 0x1ab2cd340fe05)) {
+ err("", zFFF, 0x289, 0, 0, Local0, 0x1ab2cd340fe05)
+ }
+ } else {
+ if (LNotEqual(Local0, 0x1ab2cd34)) {
+ err("", zFFF, 0x28a, 0, 0, Local0, 0x1ab2cd34)
+ }
+ }
+
+ Add(" 1a", 0, Local0)
+ if (LNotEqual(Local0, 0x1a)) {
+ err("", zFFF, 0x28b, 0, 0, Local0, 0x1a)
+ }
+
+ CH03("", 0, 0x28d, 0, 0)
+
+ /*
+ * No exceptions in special cases which force exceptions on ToInteger
+ *
+ * Method(mf9a)
+ */
+
+ // 5. "1234cd" (non-decimal character in dec-image)
+ CH03("", 0, 0x28e, 0, 0)
+ Add(" 1234cd", 0, Local0)
+ if (LNotEqual(Local0, 0x1234cd)) {
+ err("", zFFF, 0x28f, 0, 0, Local0, 0x1234cd)
+ }
+
+ // 6. "000x1234" (non-decimal character in dec-image)
+ CH03("", 0, 0x290, 0, 0)
+ Add(" 000x1234", 0, Local0)
+ if (LNotEqual(Local0, 0)) {
+ err("", zFFF, 0x291, 0, 0, Local0, 0)
+ }
+
+ // 7. "0x1234cdQ" (non-hex character in '0x'-image)
+ CH03("", 0, 0x292, 0, 0)
+ Add(" 0x1234cdQ", 0, Local0)
+ if (LNotEqual(Local0, 0)) {
+ err("", zFFF, 0x293, 0, 0, Local0, 0)
+ }
+ CH03("", 0, 0x294, 0, 0)
+ Add(" 1234cdQ", 0, Local0)
+ if (LNotEqual(Local0, 0x1234cd)) {
+ err("", zFFF, 0x295, 0, 0, Local0, 0x1234cd)
+ }
+
+ CH03("", 0, 0x296, 0, 0)
+ Add(" 0x0x12345", 0, Local0)
+ if (LNotEqual(Local0, 0)) {
+ err("", zFFF, 0x297, 0, 0, Local0, 0)
+ }
+
+ // 8. "1234 " (white space in dec image)
+ CH03("", 0, 0x298, 0, 0)
+ Add(" 1234 ", 0, Local0)
+ if (LNotEqual(Local0, 0x1234)) {
+ err("", zFFF, 0x299, 0, 0, Local0, 0x1234)
+ }
+
+ // 9. "0x1234cd " (white space in '0x'-image)
+ CH03("", 0, 0x29a, 0, 0)
+ Add(" 1234cd ", 0, Local0)
+ if (LNotEqual(Local0, 0x1234cd)) {
+ err("", zFFF, 0x29b, 0, 0, Local0, 0x1234cd)
+ }
+
+ // 10. "0x 1234cdQ" (white space after '0x')
+ CH03("", 0, 0x29c, 0, 0)
+ Add(" 0x 1234", 0, Local0)
+ if (LNotEqual(Local0, 0)) {
+ err("", zFFF, 0x29d, 0, 0, Local0, 0)
+ }
+
+ CH03("", 0, 0x29e, 0, 0)
+ Add(" 0x0x 1234", 0, Local0)
+ if (LNotEqual(Local0, 0)) {
+ err("", zFFF, 0x29f, 0, 0, Local0, 0)
+ }
+
+ CH03("", 0, 0x2a0, 0, 0)
+ Add(" 0x0x 0x 1234", 0, Local0)
+ if (LNotEqual(Local0, 0)) {
+ err("", zFFF, 0x2a1, 0, 0, Local0, 0)
+ }
+
+ CH03("", 0, 0x2a2, 0, 0)
+ Add(" 0x 0x 1234", 0, Local0)
+ if (LNotEqual(Local0, 0)) {
+ err("", zFFF, 0x2a3, 0, 0, Local0, 0)
+ }
+
+ // 11. (decimal image exceeding maximal)
+ // 32-bit mode – the value exceeding "4294967295"
+ if (1) {
+ CH03("", 0, 0x2a4, 0, 0)
+ Add(" 4294967296", 0, Local0)
+ if (F64) {
+ if (LNotEqual(Local0, 0x4294967296)) {
+ err("", zFFF, 0x2a5, 0, 0, Local0, 0x4294967296)
+ }
+ } else {
+ if (LNotEqual(Local0, 0x42949672)) {
+ err("", zFFF, 0x2a6, 0, 0, Local0, 0x42949672)
+ }
+ }
+
+ CH03("", 0, 0x2a7, 0, 0)
+ Add(" 123456789012345678904294967296", 0, Local0)
+ if (F64) {
+ if (LNotEqual(Local0, 0x1234567890123456)) {
+ err("", zFFF, 0x2a8, 0, 0, Local0, 0x1234567890123456)
+ }
+ } else {
+ if (LNotEqual(Local0, 0x12345678)) {
+ err("", zFFF, 0x2a9, 0, 0, Local0, 0x12345678)
+ }
+ }
+
+ CH03("", 0, 0x2aa, 0, 0)
+ Add(" 00004294967296", 0, Local0)
+ if (F64) {
+ if (LNotEqual(Local0, 0x4294967296)) {
+ err("", zFFF, 0x2ab, 0, 0, Local0, 0x4294967296)
+ }
+ } else {
+ if (LNotEqual(Local0, 0x42949672)) {
+ err("", zFFF, 0x2ac, 0, 0, Local0, 0x42949672)
+ }
+ }
+
+ CH03("", 0, 0x2ad, 0, 0)
+ Add(" 0123456789012345678904294967296", 0, Local0)
+ if (F64) {
+ if (LNotEqual(Local0, 0x1234567890123456)) {
+ err("", zFFF, 0x2ae, 0, 0, Local0, 0x1234567890123456)
+ }
+ } else {
+ if (LNotEqual(Local0, 0x12345678)) {
+ err("", zFFF, 0x2af, 0, 0, Local0, 0x12345678)
+ }
+ }
+
+ CH03("", 0, 0x2b0, 0, 0)
+ Add(" 0123456789012345678904294967296", 0, Local0)
+ if (F64) {
+ if (LNotEqual(Local0, 0x1234567890123456)) {
+ err("", zFFF, 0x2b1, 0, 0, Local0, 0x1234567890123456)
+ }
+ } else {
+ if (LNotEqual(Local0, 0x12345678)) {
+ err("", zFFF, 0x2b2, 0, 0, Local0, 0x12345678)
+ }
+ }
+
+ CH03("", 0, 0x2b3, 0, 0)
+ Add(" 123456789012345678904294967296", 0, Local0)
+ if (F64) {
+ if (LNotEqual(Local0, 0x1234567890123456)) {
+ err("", zFFF, 0x2b4, 0, 0, Local0, 0x1234567890123456)
+ }
+ } else {
+ if (LNotEqual(Local0, 0x12345678)) {
+ err("", zFFF, 0x2b5, 0, 0, Local0, 0x12345678)
+ }
+ }
+
+ CH03("", 0, 0x2b6, 0, 0)
+ Add(" 123456789012345678904294967296", 0, Local0)
+ if (F64) {
+ if (LNotEqual(Local0, 0x1234567890123456)) {
+ err("", zFFF, 0x2b7, 0, 0, Local0, 0x1234567890123456)
+ }
+ } else {
+ if (LNotEqual(Local0, 0x12345678)) {
+ err("", zFFF, 0x2b8, 0, 0, Local0, 0x12345678)
+ }
+ }
+ }
+
+ // 64-bit mode – the value exceeding "18446744073709551615"
+ CH03("", 0, 0x2b8, 0, 0)
+ Add(" 18446744073709551616", 0, Local0)
+ if (F64) {
+ if (LNotEqual(Local0, 0x1844674407370955)) {
+ err("", zFFF, 0x2b9, 0, 0, Local0, 0x1844674407370955)
+ }
+ } else {
+ if (LNotEqual(Local0, 0x18446744)) {
+ err("", zFFF, 0x2ba, 0, 0, Local0, 0x18446744)
+ }
+ }
+
+ CH03("", 0, 0x2bb, 0, 0)
+ Add(" 18446744073709551616", 0, Local0)
+ if (F64) {
+ if (LNotEqual(Local0, 0x1844674407370955)) {
+ err("", zFFF, 0x2bc, 0, 0, Local0, 0x1844674407370955)
+ }
+ } else {
+ if (LNotEqual(Local0, 0x18446744)) {
+ err("", zFFF, 0x2bd, 0, 0, Local0, 0x18446744)
+ }
+ }
+
+ CH03("", 0, 0x2be, 0, 0)
+ Add(" 18446744073709551616", 0, Local0)
+ if (F64) {
+ if (LNotEqual(Local0, 0x1844674407370955)) {
+ err("", zFFF, 0x2bf, 0, 0, Local0, 0x1844674407370955)
+ }
+ } else {
+ if (LNotEqual(Local0, 0x18446744)) {
+ err("", zFFF, 0x2c0, 0, 0, Local0, 0x18446744)
+ }
+ }
+
+ CH03("", 0, 0x2c1, 0, 0)
+ Add(" 018446744073709551616", 0, Local0)
+ if (F64) {
+ if (LNotEqual(Local0, 0x1844674407370955)) {
+ err("", zFFF, 0x2c2, 0, 0, Local0, 0x1844674407370955)
+ }
+ } else {
+ if (LNotEqual(Local0, 0x18446744)) {
+ err("", zFFF, 0x2c3, 0, 0, Local0, 0x18446744)
+ }
+ }
+
+ CH03("", 0, 0x2c4, 0, 0)
+ Add(" 000000000018446744073709551616", 0, Local0)
+ if (F64) {
+ if (LNotEqual(Local0, 0x1844674407370955)) {
+ err("", zFFF, 0x2c5, 0, 0, Local0, 0x1844674407370955)
+ }
+ } else {
+ if (LNotEqual(Local0, 0x18446744)) {
+ err("", zFFF, 0x2c6, 0, 0, Local0, 0x18446744)
+ }
+ }
+
+ // 12. "0x12345678901234567" (hex image exceeding maximal)
+ CH03("", 0, 0x2c7, 0, 0)
+ Add(" 0x12345678901234567", 0, Local0)
+ if (LNotEqual(Local0, 0)) {
+ err("", zFFF, 0x2c8, 0, 0, Local0, 0)
+ }
+
+ // 13. "0x00000000000001234" (hex image exceeding maximal; no matter that zeros)
+ CH03("", 0, 0x2ca, 0, 0)
+ Add(" 0x00000000000001234", 0, Local0)
+ if (LNotEqual(Local0, 0)) {
+ err("", zFFF, 0x2cb, 0, 0, Local0, 0)
+ }
+
+ CH03("", 0, 0x2cc, 0, 0)
+ Add(" 0x0000000000000000000001234", 0, Local0)
+ if (LNotEqual(Local0, 0)) {
+ err("", zFFF, 0x2cd, 0, 0, Local0, 0)
+ }
+
+ // 14. "0x123456789" (hex image exceeding maximal; for 32-bit mode only)
+ if (1) {
+ CH03("", 0, 0x2ce, 0, 0)
+ Add("0x123456789", 0, Local0)
+ if (LNotEqual(Local0, 0)) {
+ err("", zFFF, 0x2cf, 0, 0, Local0, 0)
+ }
+ }
+
+ // 15. "0x" (incomplete '0x' image)
+ CH03("", 0, 0x2d0, 0, 0)
+ Add(" 0x", 0, Local0)
+ if (LNotEqual(Local0, 0)) {
+ err("", zFFF, 0x2d1, 0, 0, Local0, 0)
+ }
+ CH03("", 0, 0x2d2, 0, 0)
+
+ Add(" 0x", 0, Local0)
+ if (LNotEqual(Local0, 0)) {
+ err("", zFFF, 0x2d3, 0, 0, Local0, 0)
+ }
+ CH03("", 0, 0x2d4, 0, 0)
+}
+
+/*
+ * 4. "0000000000000000000000001234"
+ * (zeros before significant characters in image without '0x' are skipped).
+ *
+ * Exampples: mf9b + 000000000
+ *
+ * All the above examples but
+ *
+ * with the white space before image of Data
+ * + 000000000 zeros before image
+ */
+Method(mf9c) {
+
+ // Hex: 0x - dec
+
+ CH03("", 0, 0x367, 0, 0)
+
+ Add(" 0000000000x0", 0, Local0)
+ if (LNotEqual(Local0, 0)) {
+ err("", zFFF, 0x368, 0, 0, Local0, 0)
+ }
+
+ Add(" 0000000000x1", 0, Local0)
+ if (LNotEqual(Local0, 0)) {
+ err("", zFFF, 0x369, 0, 0, Local0, 0)
+ }
+
+ Add(" 0000000000x12345678", 0, Local0)
+ if (LNotEqual(Local0, 0)) {
+ err("", zFFF, 0x36a, 0, 0, Local0, 0)
+ }
+
+ Add(" 0000000000x1234567890123456", 0, Local0)
+ if (LNotEqual(Local0, 0)) {
+ err("", zFFF, 0x36b, 0, 0, Local0, 0)
+ }
+
+ // Hex: 0x - hex
+
+ Add(" 0000000000xabcdefef", 0, Local0)
+ if (LNotEqual(Local0, 0)) {
+ err("", zFFF, 0x36c, 0, 0, Local0, 0)
+ }
+
+ Add(" 0000000000xabcdefefadefbcdf", 0, Local0)
+ if (LNotEqual(Local0, 0)) {
+ err("", zFFF, 0x36d, 0, 0, Local0, 0)
+ }
+
+ // Hex: 0x - dec/hex
+
+ Add(" 0000000000x1ab2cd340fe05678", 0, Local0)
+ if (LNotEqual(Local0, 0)) {
+ err("", zFFF, 0x36e, 0, 0, Local0, 0)
+ }
+
+ CH03("", 0, 0x36f, 0, 0)
+ Add(" 0000000000x1ab2cd340fe0567823456789123456789987", 0, Local0)
+ CH03("", 0, 0x370, 0, 0)
+
+ if (LNotEqual(Local0, 0)) {
+ err("", zFFF, 0x371, 0, 0, Local0, 0)
+ }
+
+ CH03("", 0, 0x372, 0, 0)
+
+ /*
+ * Implicit String to Integer (<dec>)
+ *
+ * Method(mf98)
+ */
+
+ CH03("", 0, 0x373, 0, 0)
+
+ Add(" 0000000000", 0, Local0)
+ if (LNotEqual(Local0, 0)) {
+ err("", zFFF, 0x374, 0, 0, Local0, 0)
+ }
+
+ CH03("", 0, 0x375, 0, 0)
+
+ Add(" 0000000000000000", 0, Local0)
+ if (LNotEqual(Local0, 0)) {
+ err("", zFFF, 0x376, 0, 0, Local0, 0)
+ }
+
+ CH03("", 0, 0x377, 0, 0)
+
+ Add(" 000000000000000000000000000000000000000", 0, Local0)
+ if (LNotEqual(Local0, 0)) {
+ err("", zFFF, 0x378, 0, 0, Local0, 0)
+ }
+
+ CH03("", 0, 0x379, 0, 0)
+
+ Add(" 000000000000000000000000000000000000000", 0, Local0)
+ if (LNotEqual(Local0, 0)) {
+ err("", zFFF, 0x37a, 0, 0, Local0, 0)
+ }
+
+ CH03("", 0, 0x37b, 0, 0)
+
+ Add(" 0000000001", 0, Local0)
+ if (LNotEqual(Local0, 1)) {
+ err("", zFFF, 0x37c, 0, 0, Local0, 1)
+ }
+
+ CH03("", 0, 0x37d, 0, 0)
+
+ Add(" 00000000012345678", 0, Local0)
+ if (LNotEqual(Local0, 0x12345678)) {
+ err("", zFFF, 0x37e, 0, 0, Local0, 0x12345678)
+ }
+
+ CH03("", 0, 0x37f, 0, 0)
+
+ /*
+ * Implicit String to Integer (<hex-dec>)
+ *
+ * Method(mf99)
+ */
+
+ CH03("", 0, 0x380, 0, 0)
+
+ // Hex: 0x - dec
+
+ Add(" 0000000001234567890123456", 0, Local0)
+ if (F64) {
+ if (LNotEqual(Local0, 0x1234567890123456)) {
+ err("", zFFF, 0x381, 0, 0, Local0, 0x1234567890123456)
+ }
+ } else {
+ if (LNotEqual(Local0, 0x12345678)) {
+ err("", zFFF, 0x382, 0, 0, Local0, 0x12345678)
+ }
+ }
+
+ // Hex: 0x - hex
+
+ Add(" 000000000abcdefef", 0, Local0)
+ if (LNotEqual(Local0, 0xabcdefef)) {
+ err("", zFFF, 0x383, 0, 0, Local0, 0xabcdefef)
+ }
+
+ Add(" 000000000abcdefe", 0, Local0)
+ if (LNotEqual(Local0, 0xabcdefe)) {
+ err("", zFFF, 0x384, 0, 0, Local0, 0xabcdefe)
+ }
+
+ Add(" 000000000abcdefefadefbcdf", 0, Local0)
+ if (F64) {
+ if (LNotEqual(Local0, 0xabcdefefadefbcdf)) {
+ err("", zFFF, 0x385, 0, 0, Local0, 0xabcdefefadefbcdf)
+ }
+ } else {
+ if (LNotEqual(Local0, 0xabcdefef)) {
+ err("", zFFF, 0x386, 0, 0, Local0, 0xabcdefef)
+ }
+ }
+
+ // Hex: 0x - dec/hex
+
+ Add(" 0000000001ab2cd340fe05678", 0, Local0)
+ if (F64) {
+ if (LNotEqual(Local0, 0x1ab2cd340fe05678)) {
+ err("", zFFF, 0x387, 0, 0, Local0, 0x1ab2cd340fe05678)
+ }
+ } else {
+ if (LNotEqual(Local0, 0x1ab2cd34)) {
+ err("", zFFF, 0x388, 0, 0, Local0, 0x1ab2cd34)
+ }
+ }
+
+ Add(" 0000000001ab2cd340fe05", 0, Local0)
+ if (F64) {
+ if (LNotEqual(Local0, 0x1ab2cd340fe05)) {
+ err("", zFFF, 0x389, 0, 0, Local0, 0x1ab2cd340fe05)
+ }
+ } else {
+ if (LNotEqual(Local0, 0x1ab2cd34)) {
+ err("", zFFF, 0x38a, 0, 0, Local0, 0x1ab2cd34)
+ }
+ }
+
+ Add(" 0000000001a", 0, Local0)
+ if (LNotEqual(Local0, 0x1a)) {
+ err("", zFFF, 0x38b, 0, 0, Local0, 0x1a)
+ }
+
+ CH03("", 0, 0x38d, 0, 0)
+
+ /*
+ * No exceptions in special cases which force exceptions on ToInteger
+ *
+ * Method(mf9a)
+ */
+
+ // 5. "1234cd" (non-decimal character in dec-image)
+ CH03("", 0, 0x38e, 0, 0)
+ Add(" 0000000001234cd", 0, Local0)
+ if (LNotEqual(Local0, 0x1234cd)) {
+ err("", zFFF, 0x38f, 0, 0, Local0, 0x1234cd)
+ }
+
+ // 6. "000x1234" (non-decimal character in dec-image)
+ CH03("", 0, 0x390, 0, 0)
+ Add(" 000000000000x1234", 0, Local0)
+ if (LNotEqual(Local0, 0)) {
+ err("", zFFF, 0x391, 0, 0, Local0, 0)
+ }
+
+ // 7. "0x1234cdQ" (non-hex character in '0x'-image)
+ CH03("", 0, 0x392, 0, 0)
+ Add(" 0000000000x1234cdQ", 0, Local0)
+ if (LNotEqual(Local0, 0)) {
+ err("", zFFF, 0x393, 0, 0, Local0, 0)
+ }
+ CH03("", 0, 0x394, 0, 0)
+ Add(" 0000000001234cdQ", 0, Local0)
+ if (LNotEqual(Local0, 0x1234cd)) {
+ err("", zFFF, 0x395, 0, 0, Local0, 0x1234cd)
+ }
+
+ CH03("", 0, 0x396, 0, 0)
+ Add(" 0000000000x0x12345", 0, Local0)
+ if (LNotEqual(Local0, 0)) {
+ err("", zFFF, 0x397, 0, 0, Local0, 0)
+ }
+
+ // 8. "1234 " (white space in dec image)
+ CH03("", 0, 0x398, 0, 0)
+ Add(" 0000000001234 ", 0, Local0)
+ if (LNotEqual(Local0, 0x1234)) {
+ err("", zFFF, 0x399, 0, 0, Local0, 0x1234)
+ }
+
+ // 9. "0x1234cd " (white space in '0x'-image)
+ CH03("", 0, 0x39a, 0, 0)
+ Add(" 0000000001234cd ", 0, Local0)
+ if (LNotEqual(Local0, 0x1234cd)) {
+ err("", zFFF, 0x39b, 0, 0, Local0, 0x1234cd)
+ }
+
+ // 10. "0x 1234cdQ" (white space after '0x')
+ CH03("", 0, 0x39c, 0, 0)
+ Add(" 0000000000x 1234", 0, Local0)
+ if (LNotEqual(Local0, 0)) {
+ err("", zFFF, 0x39d, 0, 0, Local0, 0)
+ }
+
+ CH03("", 0, 0x39e, 0, 0)
+ Add(" 0000000000x0x 1234", 0, Local0)
+ if (LNotEqual(Local0, 0)) {
+ err("", zFFF, 0x39f, 0, 0, Local0, 0)
+ }
+
+ CH03("", 0, 0x3a0, 0, 0)
+ Add(" 0000000000x0x 0x 1234", 0, Local0)
+ if (LNotEqual(Local0, 0)) {
+ err("", zFFF, 0x3a1, 0, 0, Local0, 0)
+ }
+
+ CH03("", 0, 0x3a2, 0, 0)
+ Add(" 0000000000x 0x 1234", 0, Local0)
+ if (LNotEqual(Local0, 0)) {
+ err("", zFFF, 0x3a3, 0, 0, Local0, 0)
+ }
+
+ // 11. (decimal image exceeding maximal)
+ // 32-bit mode – the value exceeding "4294967295"
+ if (1) {
+ CH03("", 0, 0x3a4, 0, 0)
+ Add(" 0000000004294967296", 0, Local0)
+ if (F64) {
+ if (LNotEqual(Local0, 0x4294967296)) {
+ err("", zFFF, 0x3a5, 0, 0, Local0, 0x4294967296)
+ }
+ } else {
+ if (LNotEqual(Local0, 0x42949672)) {
+ err("", zFFF, 0x3a6, 0, 0, Local0, 0x42949672)
+ }
+ }
+
+ CH03("", 0, 0x3a7, 0, 0)
+ Add(" 000000000123456789012345678904294967296", 0, Local0)
+ if (F64) {
+ if (LNotEqual(Local0, 0x1234567890123456)) {
+ err("", zFFF, 0x3a8, 0, 0, Local0, 0x1234567890123456)
+ }
+ } else {
+ if (LNotEqual(Local0, 0x12345678)) {
+ err("", zFFF, 0x3a9, 0, 0, Local0, 0x12345678)
+ }
+ }
+
+ CH03("", 0, 0x3aa, 0, 0)
+ Add(" 00000000000004294967296", 0, Local0)
+ if (F64) {
+ if (LNotEqual(Local0, 0x4294967296)) {
+ err("", zFFF, 0x3ab, 0, 0, Local0, 0x4294967296)
+ }
+ } else {
+ if (LNotEqual(Local0, 0x42949672)) {
+ err("", zFFF, 0x3ac, 0, 0, Local0, 0x42949672)
+ }
+ }
+
+ CH03("", 0, 0x3ad, 0, 0)
+ Add(" 0000000000123456789012345678904294967296", 0, Local0)
+ if (F64) {
+ if (LNotEqual(Local0, 0x1234567890123456)) {
+ err("", zFFF, 0x3ae, 0, 0, Local0, 0x1234567890123456)
+ }
+ } else {
+ if (LNotEqual(Local0, 0x12345678)) {
+ err("", zFFF, 0x3af, 0, 0, Local0, 0x12345678)
+ }
+ }
+
+ CH03("", 0, 0x3b0, 0, 0)
+ Add(" 0000000000123456789012345678904294967296", 0, Local0)
+ if (F64) {
+ if (LNotEqual(Local0, 0x1234567890123456)) {
+ err("", zFFF, 0x3b1, 0, 0, Local0, 0x1234567890123456)
+ }
+ } else {
+ if (LNotEqual(Local0, 0x12345678)) {
+ err("", zFFF, 0x3b2, 0, 0, Local0, 0x12345678)
+ }
+ }
+
+ CH03("", 0, 0x3b3, 0, 0)
+ Add(" 000000000123456789012345678904294967296", 0, Local0)
+ if (F64) {
+ if (LNotEqual(Local0, 0x1234567890123456)) {
+ err("", zFFF, 0x3b4, 0, 0, Local0, 0x1234567890123456)
+ }
+ } else {
+ if (LNotEqual(Local0, 0x12345678)) {
+ err("", zFFF, 0x3b5, 0, 0, Local0, 0x12345678)
+ }
+ }
+
+ CH03("", 0, 0x3b6, 0, 0)
+ Add(" 000000000123456789012345678904294967296", 0, Local0)
+ if (F64) {
+ if (LNotEqual(Local0, 0x1234567890123456)) {
+ err("", zFFF, 0x3b7, 0, 0, Local0, 0x1234567890123456)
+ }
+ } else {
+ if (LNotEqual(Local0, 0x12345678)) {
+ err("", zFFF, 0x3b8, 0, 0, Local0, 0x12345678)
+ }
+ }
+ }
+
+ // 64-bit mode – the value exceeding "18446744073709551615"
+ CH03("", 0, 0x3b8, 0, 0)
+ Add(" 00000000018446744073709551616", 0, Local0)
+ if (F64) {
+ if (LNotEqual(Local0, 0x1844674407370955)) {
+ err("", zFFF, 0x3b9, 0, 0, Local0, 0x1844674407370955)
+ }
+ } else {
+ if (LNotEqual(Local0, 0x18446744)) {
+ err("", zFFF, 0x3ba, 0, 0, Local0, 0x18446744)
+ }
+ }
+
+ CH03("", 0, 0x3bb, 0, 0)
+ Add(" 00000000018446744073709551616", 0, Local0)
+ if (F64) {
+ if (LNotEqual(Local0, 0x1844674407370955)) {
+ err("", zFFF, 0x3bc, 0, 0, Local0, 0x1844674407370955)
+ }
+ } else {
+ if (LNotEqual(Local0, 0x18446744)) {
+ err("", zFFF, 0x3bd, 0, 0, Local0, 0x18446744)
+ }
+ }
+
+ CH03("", 0, 0x3be, 0, 0)
+ Add(" 00000000018446744073709551616", 0, Local0)
+ if (F64) {
+ if (LNotEqual(Local0, 0x1844674407370955)) {
+ err("", zFFF, 0x3bf, 0, 0, Local0, 0x1844674407370955)
+ }
+ } else {
+ if (LNotEqual(Local0, 0x18446744)) {
+ err("", zFFF, 0x3c0, 0, 0, Local0, 0x18446744)
+ }
+ }
+
+ CH03("", 0, 0x3c1, 0, 0)
+ Add(" 000000000018446744073709551616", 0, Local0)
+ if (F64) {
+ if (LNotEqual(Local0, 0x1844674407370955)) {
+ err("", zFFF, 0x3c2, 0, 0, Local0, 0x1844674407370955)
+ }
+ } else {
+ if (LNotEqual(Local0, 0x18446744)) {
+ err("", zFFF, 0x3c3, 0, 0, Local0, 0x18446744)
+ }
+ }
+
+ CH03("", 0, 0x3c4, 0, 0)
+ Add(" 000000000000000000018446744073709551616", 0, Local0)
+ if (F64) {
+ if (LNotEqual(Local0, 0x1844674407370955)) {
+ err("", zFFF, 0x3c5, 0, 0, Local0, 0x1844674407370955)
+ }
+ } else {
+ if (LNotEqual(Local0, 0x18446744)) {
+ err("", zFFF, 0x3c6, 0, 0, Local0, 0x18446744)
+ }
+ }
+
+ // 12. "0x12345678901234567" (hex image exceeding maximal)
+ CH03("", 0, 0x3c7, 0, 0)
+ Add(" 0000000000x12345678901234567", 0, Local0)
+ if (LNotEqual(Local0, 0)) {
+ err("", zFFF, 0x3c8, 0, 0, Local0, 0)
+ }
+
+ // 13. "0x00000000000001234" (hex image exceeding maximal; no matter that zeros)
+ CH03("", 0, 0x3ca, 0, 0)
+ Add(" 0000000000x00000000000001234", 0, Local0)
+ if (LNotEqual(Local0, 0)) {
+ err("", zFFF, 0x3cb, 0, 0, Local0, 0)
+ }
+
+ CH03("", 0, 0x3cc, 0, 0)
+ Add(" 0000000000x0000000000000000000001234", 0, Local0)
+ if (LNotEqual(Local0, 0)) {
+ err("", zFFF, 0x3cd, 0, 0, Local0, 0)
+ }
+
+ // 14. "0x123456789" (hex image exceeding maximal; for 32-bit mode only)
+ if (1) {
+ CH03("", 0, 0x3ce, 0, 0)
+ Add("0x123456789", 0, Local0)
+ if (LNotEqual(Local0, 0)) {
+ err("", zFFF, 0x3cf, 0, 0, Local0, 0)
+ }
+ }
+
+ // 15. "0x" (incomplete '0x' image)
+ CH03("", 0, 0x3d0, 0, 0)
+ Add(" 0000000000x", 0, Local0)
+ if (LNotEqual(Local0, 0)) {
+ err("", zFFF, 0x3d1, 0, 0, Local0, 0)
+ }
+ CH03("", 0, 0x3d2, 0, 0)
+
+ Add(" 0000000000x", 0, Local0)
+ if (LNotEqual(Local0, 0)) {
+ err("", zFFF, 0x3d3, 0, 0, Local0, 0)
+ }
+ CH03("", 0, 0x3d4, 0, 0)
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0063/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0063/MAIN.asl
new file mode 100644
index 000000000..2c7eff58a
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0063/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B63.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0063/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0063/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0063/Misc.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0063/Misc.asl
new file mode 100644
index 000000000..5eb4dfe5f
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0063/Misc.asl
@@ -0,0 +1,402 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 63:
+ *
+ * SUMMARY
+ *
+ * String to Integer conversion contradicts new April 2005 Conversion Rules
+ *
+ * EXAMPLES
+ *
+ * Add("0x1111", 0) returns 0x1111 but 0 is expected
+ * Add("12345678901234560", 0x1111111111111111) causes AE_BAD_HEX_CONSTANT
+ * Add("00000000000012345678", 0) returns 0x12345678 but 0x1234 is expected
+ *
+ * ROOT CAUSE
+ *
+ * SPECS (NEW, March 12 2005)
+ *
+ * String --> Integer
+ *
+ * If no integer object exists, a new integer is created.
+ * The integer is initialized to the value zero and the ASCII
+ * string is interpreted as a hexadecimal constant. Each string
+ * character is interpreted as a hexadecimal value (‘0’-‘9’, ‘A’-‘F’, ‘a’-‘f’),
+ * starting with the first character as the most significant digit and ending
+ * with the first non-hexadecimal character, end-of-string, or when the size
+ * of an integer is reached (8 characters for 32-bit integers and 16 characters
+ * for 64-bit integers). Note: the first non-hex character terminates the
+ * conversion without error, and a “0x” prefix is not allowed.
+ */
+
+/*
+ * To be completed !!!!!!!
+ *
+ * What to do else below:
+ *
+ * 1. Set correct results in 32 and 64 bit modes (now it is not done!)
+ * 2. Change places of operands, that is use both:
+ Add("12345678", 0x11111111, Local0)
+ Add(0x11111111, "12345678", Local0)
+
+ * 3. Pass operators by parameters !!!!
+ * 4. Issues:
+ * 1) octal - 01232211
+ * 2) zeros at the beginning - 0000000abcdef
+ * 3) large hex image - abcdef123456789123456789
+ */
+/*
+Store("VVVVVVVVVVVVVVVVVVVVVVVVVV", Debug)
+Store(0123, Debug)
+Store(83, Debug)
+Add(0x1234, 83, Local0)
+Store(Local0, Debug)
+return
+*/
+
+/*
+ * All the possible attempts to confuse calculation
+ */
+Method(md74) {
+
+ Name(ts, "md74")
+
+ // 8 decimal
+ Add("12345678", 0x11111111, Local0)
+ if (LNotEqual(Local0, 0x23456789)) {
+ err("", zFFF, 0x000, 0, 0, Local0, 0x23456789)
+ }
+
+ // 8 hex
+ Add("abcdefab", 0x11111111, Local0)
+ if (LNotEqual(Local0, 0xbcdf00bc)) {
+ err("", zFFF, 0x001, 0, 0, Local0, 0xbcdf00bc)
+ }
+
+ // 16 decimal
+ Add("1234567890876543", 0x1111111111111111, Local0)
+ if (LNotEqual(Local0, 0x23456789a1987654)) {
+ err("", zFFF, 0x002, 0, 0, Local0, 0x23456789a1987654)
+ }
+
+ // 16 hex
+ Add("abcdefababcdfead", 0x1111111111111111, Local0)
+ if (LNotEqual(Local0, 0xbcdf00bcbcdf0fbe)) {
+ err("", zFFF, 0x003, 0, 0, Local0, 0xbcdf00bcbcdf0fbe)
+ }
+
+ // 17 hex
+ Add("1234567890123456z", 0x1111111111111111, Local0)
+ if (LNotEqual(Local0, 0x23456789a1234567)) {
+ err("", zFFF, 0x004, 0, 0, Local0, 0x23456789a1234567)
+ }
+
+ // 17 hex (caused AE_BAD_HEX_CONSTANT, 28.09.2005)
+ Add("12345678901234560", 0x1111111111111111, Local0)
+ if (LNotEqual(Local0, 0x23456789a1234567)) {
+ err("", zFFF, 0x005, 0, 0, Local0, 0x23456789a1234567)
+ }
+
+ // Looks like octal, but should be treated as hex
+ Add("01111", 0x2222, Local0)
+ if (LNotEqual(Local0, 0x3333)) {
+ err("", zFFF, 0x006, 0, 0, Local0, 0x3333)
+ }
+
+ // The first zeros each must be put into value
+
+ Add("000010234", 0, Local0)
+ if (LNotEqual(Local0, 0x10234)) {
+ err("", zFFF, 0x007, 0, 0, Local0, 0x10234)
+ }
+
+ Add("000000000000000010234", 0, Local0)
+ if (LNotEqual(Local0, 0x10234)) {
+ err("", zFFF, 0x008, 0, 0, Local0, 0x10234)
+ }
+
+ Add("00000000000000010234", 0, Local0)
+ if (LNotEqual(Local0, 0x10234)) {
+ err("", zFFF, 0x009, 0, 0, Local0, 0x10234)
+ }
+
+ Add("0000000010234", 0, Local0)
+ if (LNotEqual(Local0, 0x10234)) {
+ err("", zFFF, 0x00a, 0, 0, Local0, 0x10234)
+ }
+
+ Add("000000010234", 0, Local0)
+ if (LNotEqual(Local0, 0x10234)) {
+ err("", zFFF, 0x00b, 0, 0, Local0, 0x10234)
+ }
+
+ // Non-complete 4 hex, should be extended with zeros
+ Add("abcd", 0x1111, Local0)
+ if (LNotEqual(Local0, 0xbcde)) {
+ err("", zFFF, 0x00c, 0, 0, Local0, 0xbcde)
+ }
+
+ // Non-complete 5 decimal, should be extended with zeros
+ Add("12345", 0x1111, Local0)
+ if (LNotEqual(Local0, 0x13456)) {
+ err("", zFFF, 0x00d, 0, 0, Local0, 0x13456)
+ }
+
+ CH03(ts, zFFF, 0x100, 0, 0)
+
+ // Too large, all hex, should be trancated
+ Add("abcdef0123456789112233445566778890", 0, Local0)
+ if (F64) {
+ if (LNotEqual(Local0, 0xabcdef0123456789)) {
+ err("", zFFF, 0x00e, 0, 0, Local0, 0xabcdef0123456789)
+ }
+ } else {
+ if (LNotEqual(Local0, 0xabcdef01)) {
+ err("", zFFF, 0x00f, 0, 0, Local0, 0xabcdef01)
+ }
+ }
+
+ CH03(ts, zFFF, 0x101, 0, 0)
+
+ // Large, all hex, looks like octal, should be trancated
+ Add("0abcdef0123456789112233445566778890", 0x1234, Local0)
+ if (F64) {
+ if (LNotEqual(Local0, 0xabcdef0123456789)) {
+ err("", zFFF, 0x010, 0, 0, Local0, 0xabcdef0123456789)
+ }
+ } else {
+ if (LNotEqual(Local0, 0xabcdef01)) {
+ err("", zFFF, 0x011, 0, 0, Local0, 0xabcdef01)
+ }
+ }
+
+ CH03(ts, zFFF, 0x102, 0, 0)
+
+ // Looks like usual hex, but 'x' terminates conversion
+ Add("0x1111", 0x2222, Local0)
+ if (LNotEqual(Local0, 0x2222)) {
+ err("", zFFF, 0x012, 0, 0, Local0, 0x2222)
+ }
+
+ CH03(ts, zFFF, 0x103, 0, 0)
+
+ // Empty string, no action - the relevant parameter of Add remains zero
+ Add("", 222, Local0)
+ if (LNotEqual(Local0, 222)) {
+ err("", zFFF, 0x013, 0, 0, Local0, 222)
+ }
+
+ CH03(ts, zFFF, 0x104, 0, 0)
+
+ // Blank string, no action - the relevant parameter of Add remains zero
+ Add(" ", 0x333, Local0)
+ if (LNotEqual(Local0, 0x333)) {
+ err("", zFFF, 0x014, 0, 0, Local0, 0x333)
+ }
+
+ CH03(ts, zFFF, 0x105, 0, 0)
+
+ // Blank string, no action - the relevant parameter of Add remains zero
+ Add(" ", 0222, Local0)
+ if (LNotEqual(Local0, 0222)) {
+ err("", zFFF, 0x015, 0, 0, Local0, 0222)
+ }
+
+ CH03(ts, zFFF, 0x106, 0, 0)
+
+ // Conversion is terminated just by the first symbol (non-hex) though followed by hex-es, remains zero
+ Add("k1234567", 489, Local0)
+ if (LNotEqual(Local0, 489)) {
+ err("", zFFF, 0x016, 0, 0, Local0, 489)
+ }
+
+ // Conversion is terminated just by the first symbol (non-hex), single
+ Add("k", 0xabcdef0000, Local0)
+ if (LNotEqual(Local0, 0xabcdef0000)) {
+ err("", zFFF, 0x017, 0, 0, Local0, 0xabcdef0000)
+ }
+
+ CH03(ts, zFFF, 0x107, 0, 0)
+
+ // Looks like designation of hex (terminated by x)
+ Add("0x", 0x12345678, Local0)
+ if (LNotEqual(Local0, 0x12345678)) {
+ err("", zFFF, 0x018, 0, 0, Local0, 0x12345678)
+ }
+
+ CH03(ts, zFFF, 0x108, 0, 0)
+
+ // Special symbol in the hex designation (terminated by x)
+ Add("x", 12345678, Local0)
+ if (LNotEqual(Local0, 12345678)) {
+ err("", zFFF, 0x019, 0, 0, Local0, 12345678)
+ }
+
+ // Starts with the special symbol in the hex designation (terminated by x)
+ Add("x12345", 111, Local0)
+ if (LNotEqual(Local0, 111)) {
+ err("", zFFF, 0x01a, 0, 0, Local0, 111)
+ }
+
+ // No one hex, conversion is terminated just by the first symbol Z
+ Add("ZZZZ", 123456, Local0)
+ if (LNotEqual(Local0, 123456)) {
+ err("", zFFF, 0x01b, 0, 0, Local0, 123456)
+ }
+
+ // Short <= 8, conversion is terminated by non-hex symbol Z
+ Add("abcdZZZZ", 0x11, Local0)
+ if (LNotEqual(Local0, 0xabde)) {
+ err("", zFFF, 0x01c, 0, 0, Local0, 0xabde)
+ }
+
+ // Short <= 8, hex in the middle (terminated by Z)
+ Add("ZQ123MMM", 123456, Local0)
+ if (LNotEqual(Local0, 123456)) {
+ err("", zFFF, 0x01d, 0, 0, Local0, 123456)
+ }
+
+ // Short <= 8, hex at the end (terminated by Z)
+ Add("ZQMMM123", 123456, Local0)
+ if (LNotEqual(Local0, 123456)) {
+ err("", zFFF, 0x01e, 0, 0, Local0, 123456)
+ }
+
+ // Long exceeding 16, no one hex
+ Add("zxswqrrrrrrrrrrrrrrtttttttttttttttttttttttttyyyyyyyyyyyyyyyyyyuuuuuuuuuuuuuuuuuuuuuuu", 123, Local0)
+ if (LNotEqual(Local0, 123)) {
+ err("", zFFF, 0x01f, 0, 0, Local0, 123)
+ }
+
+ // Long exceeding 16, hex at the beginning
+ Add("1234zxswqrrrrrrrrrrrrrrtttttttttttttttttttttttttyyyyyyyyyyyyyyyyyyuuuuuuuuuuuuuuuuuuuuuuu", 0123, Local0)
+ if (LNotEqual(Local0, 0x1287)) {
+ err("", zFFF, 0x020, 0, 0, Local0, 0x1287)
+ }
+
+ // Long exceeding 16, hex everywhere
+ Add("123z4s5qr6rr7rrrrrrrrr8ttttttt9ttttttattttbttttcyyyydyyeyyyyyyyyuuuuuuuuuuuuuuuuuuuuf", 0123, Local0)
+ if (LNotEqual(Local0, 0x176)) {
+ err("", zFFF, 0x021, 0, 0, Local0, 0x176)
+ }
+
+ // Long exceeding 16, hex at the end
+ Add("zxswqrrrrrrrrrrrrrrtttttttttttttttttttttttttyyyyyyyyyyyyyyyyyyuuuuuuuuuuuuuuuuuuuuuuu1234", 012321, Local0)
+ if (LNotEqual(Local0, 012321)) {
+ err("", zFFF, 0x022, 0, 0, Local0, 012321)
+ }
+
+ // Long exceeding 16, hex in the middle inside the possible Integer
+ Add("zx1234swqrrrrrrrrrrrrrrtttttttttttttttttttttttttyyyyyyyyyyyyyyyyyyuuuuuuuuuuuuuuuuuuuuuuu", 0x12321, Local0)
+ if (LNotEqual(Local0, 0x12321)) {
+ err("", zFFF, 0x023, 0, 0, Local0, 0x12321)
+ }
+
+ // Long exceeding 16, hex in the middle beyond the bounds of the possible Integer
+ Add("zxswqrrrrrrrrrrrrrrtttttttttttttttttttttttttyyyyyyyyyyyyyyyyyyuuuuuuuuuuuuuuuuuuuuu1234uu", 12321, Local0)
+ if (LNotEqual(Local0, 12321)) {
+ err("", zFFF, 0x024, 0, 0, Local0, 12321)
+ }
+
+ CH03(ts, zFFF, 0x109, 0, 0)
+
+ // Only decimal, much more than 16
+ Add("123456789012345601112223334446667788990087654", 0)
+ if (F64) {
+ if (LNotEqual(Local0, 0x1234567890123456)) {
+ err("", zFFF, 0x025, 0, 0, Local0, 0x1234567890123456)
+ }
+ } else {
+ if (LNotEqual(Local0, 0x12345678)) {
+ err("", zFFF, 0x026, 0, 0, Local0, 0x12345678)
+ }
+ }
+
+ CH03(ts, zFFF, 0x10a, 0, 0)
+
+ // Only hex, much more than 16
+ Add("abcdefabcdefabcdefabcdefabcdefabcdefabcdefabc", 0)
+ if (F64) {
+ if (LNotEqual(Local0, 0xabcdefabcdefabcd)) {
+ err("", zFFF, 0x027, 0, 0, Local0, 0xabcdefabcdefabcd)
+ }
+ } else {
+ if (LNotEqual(Local0, 0xabcdefab)) {
+ err("", zFFF, 0x028, 0, 0, Local0, 0xabcdefab)
+ }
+ }
+
+ CH03(ts, zFFF, 0x10b, 0, 0)
+
+ // Only decimal, much more than 16, non-hex at the end
+ Add("123456789012345601112223334446667788990087654ZZZZ", 0)
+ if (F64) {
+ if (LNotEqual(Local0, 0x1234567890123456)) {
+ err("", zFFF, 0x029, 0, 0, Local0, 0x1234567890123456)
+ }
+ } else {
+ if (LNotEqual(Local0, 0x12345678)) {
+ err("", zFFF, 0x02a, 0, 0, Local0, 0x12345678)
+ }
+ }
+
+ CH03(ts, zFFF, 0x10c, 0, 0)
+
+ // Only hex, much more than 16, non-hex at the end
+ Add("abcdefabcdefabcdefabcdefabcdefabcdefabcdefabcZZZZ", 0)
+ if (F64) {
+ if (LNotEqual(Local0, 0xabcdefabcdefabcd)) {
+ err("", zFFF, 0x02b, 0, 0, Local0, 0xabcdefabcdefabcd)
+ }
+ } else {
+ if (LNotEqual(Local0, 0xabcdefab)) {
+ err("", zFFF, 0x02c, 0, 0, Local0, 0xabcdefab)
+ }
+ }
+
+ CH03(ts, zFFF, 0x10d, 0, 0)
+}
+
+Method(md75) {
+ // Do here the same as md74 but store Result by Store
+}
+
+Method(md76) {
+
+ Name(ts, "md76")
+
+ CH03(ts, zFFF, 0x10e, 0, 0)
+ md74()
+ CH03(ts, zFFF, 0x10f, 0, 0)
+ md75()
+ CH03(ts, zFFF, 0x110, 0, 0)
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0063/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0063/RUN.asl
new file mode 100644
index 000000000..7a963291f
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0063/RUN.asl
@@ -0,0 +1,58 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 63", TCLD, 63, W017)) {
+ // SRMT("md76")
+ // md76()
+ SRMT("mf92")
+ mf92()
+ SRMT("mf93")
+ mf93()
+ SRMT("mf94")
+ mf94()
+ SRMT("mf95")
+ mf95()
+ SRMT("mf96")
+ mf96()
+ SRMT("mf97")
+ mf97()
+ SRMT("mf98")
+ mf98()
+ SRMT("mf99")
+ mf99()
+ SRMT("mf9a")
+ mf9a()
+ SRMT("mf9b")
+ mf9b()
+ SRMT("mf9c")
+ mf9c()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0064/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0064/DECL.asl
new file mode 100644
index 000000000..cb3ed6030
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0064/DECL.asl
@@ -0,0 +1,83 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 64:
+ *
+ * SUMMARY: Specific operations should initiate AE_BAD_HEX_CONSTANT exceptions
+ */
+
+
+ Method(mf61, 1)
+ {
+ CH03("", 0, 0x000, 0, 0)
+ Add("", 0xabcd0000, Local0)
+ if (LNotEqual(Local0, 0xabcd0000)) {
+ err("", zFFF, 0x001, 0, 0, Local0, 0xabcd0000)
+ }
+ CH03("", 0, 0x002, 0, 0)
+
+ CH03("", 0, 0x003, 0, 0)
+ Add(" ", 0xabcd0001, Local0)
+ if (LNotEqual(Local0, 0xabcd0001)) {
+ err("", zFFF, 0x004, 0, 0, Local0, 0xabcd0001)
+ }
+ CH03("", 0, 0x005, 0, 0)
+
+ CH03("", 0, 0x006, 0, 0)
+ ToInteger("", Local0)
+ CH04("", 0, 36, 0, 0x007, 0, 0) // AE_BAD_DECIMAL_CONSTANT
+
+ CH03("", 0, 0x008, 0, 0)
+ ToInteger(" ", Local0)
+ CH04("", 0, 36, 0, 0x009, 0, 0) // AE_BAD_DECIMAL_CONSTANT
+
+ CH03("", 0, 0x00a, 0, 0)
+ Add("q", 0xabcd0002, Local0)
+ if (LNotEqual(Local0, 0xabcd0002)) {
+ err("", zFFF, 0x00b, 0, 0, Local0, 0xabcd0002)
+ }
+ CH03("", 0, 0x00c, 0, 0)
+
+ CH03("", 0, 0x00d, 0, 0)
+ Add("q ", 0xabcd0003, Local0)
+ if (LNotEqual(Local0, 0xabcd0003)) {
+ err("", zFFF, 0x00e, 0, 0, Local0, 0xabcd0003)
+ }
+ CH03("", 0, 0x00f, 0, 0)
+
+ CH03("", 0, 0x010, 0, 0)
+ ToInteger("q", Local0)
+ CH04("", 0, 36, 0, 0x011, 0, 0) // AE_BAD_DECIMAL_CONSTANT
+
+ CH03("", 0, 0x012, 0, 0)
+ ToInteger("q ", Local0)
+ CH04("", 0, 36, 0, 0x013, 0, 0) // AE_BAD_DECIMAL_CONSTANT
+ }
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0064/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0064/MAIN.asl
new file mode 100644
index 000000000..f5c14a0a9
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0064/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B64.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0064/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0064/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0064/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0064/RUN.asl
new file mode 100644
index 000000000..31c026ead
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0064/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 64", TCLD, 64, W017)) {
+ SRMT("mf61")
+ mf61(0)
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0065/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0065/DECL.asl
new file mode 100644
index 000000000..77e244627
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0065/DECL.asl
@@ -0,0 +1,80 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 65: CANCELED
+ *
+ * SUMMARY: BufferField type object should be passed to Methods without any conversion (to Buffer or Integer)
+ *
+ * EXAMPLES:
+ *
+ * ROOT CAUSE:
+ *
+ * SEE ALSO: bugs 65,66,67,68,118
+ */
+
+
+Method(md7e, 1)
+{
+ // ObjectType of the value passed to Method
+ // (BufferField is converted to Integer).
+ Store(ObjectType(arg0), Local0)
+ if (LNotEqual(Local0, c009)) {
+ err("", zFFF, 0x000, 0, 0, Local0, c009)
+ }
+}
+
+Method(md7f, 1)
+{
+ // ObjectType of the value passed to Method
+ // (BufferField is converted to Buffer).
+ Store(ObjectType(arg0), Local0)
+ if (LNotEqual(Local0, c00b)) {
+ err("", zFFF, 0x001, 0, 0, Local0, c00b)
+ }
+}
+
+Method(md80)
+{
+ // ObjectType of the BufferField immediately
+
+ Store(ObjectType(bf30), Local0)
+ if (LNotEqual(Local0, c016)) {
+ err("", zFFF, 0x002, 0, 0, Local0, c016)
+ }
+
+ Store(ObjectType(bf31), Local0)
+ if (LNotEqual(Local0, c016)) {
+ err("", zFFF, 0x003, 0, 0, Local0, c016)
+ }
+
+ md7e(bf30)
+ md7f(bf31)
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0065/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0065/MAIN.asl
new file mode 100644
index 000000000..7f593db9f
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0065/MAIN.asl
@@ -0,0 +1,58 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B65.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/common/DECL.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0065/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0065/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0065/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0065/RUN.asl
new file mode 100644
index 000000000..4b51e9fd3
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0065/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 65", TCLD, 65, W017)) {
+ SRMT("md80")
+ md80()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0066/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0066/DECL.asl
new file mode 100644
index 000000000..80f0b2ba9
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0066/DECL.asl
@@ -0,0 +1,80 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 66: CANCELED
+ *
+ * SUMMARY: FieldUnit type object should be passed to Methods without any conversion (to Buffer or Integer)
+ *
+ * EXAMPLES:
+ *
+ * ROOT CAUSE:
+ *
+ * SEE ALSO: bugs 65,66,67,68,118
+ */
+
+
+Method(md81, 1)
+{
+ // ObjectType of the value passed to Method
+ // (FieldUnit is converted to Integer).
+ Store(ObjectType(arg0), Local0)
+ if (LNotEqual(Local0, c009)) {
+ err("", zFFF, 0x000, 0, 0, Local0, c009)
+ }
+}
+
+Method(md82, 1)
+{
+ // ObjectType of the value passed to Method
+ // (FieldUnit is converted to Buffer).
+ Store(ObjectType(arg0), Local0)
+ if (LNotEqual(Local0, c00b)) {
+ err("", zFFF, 0x001, 0, 0, Local0, c00b)
+ }
+}
+
+Method(md83)
+{
+ // ObjectType of the FieldUnit immediately
+
+ Store(ObjectType(fd00), Local0)
+ if (LNotEqual(Local0, c00d)) {
+ err("", zFFF, 0x002, 0, 0, Local0, c00d)
+ }
+
+ Store(ObjectType(fd01), Local0)
+ if (LNotEqual(Local0, c00d)) {
+ err("", zFFF, 0x003, 0, 0, Local0, c00d)
+ }
+
+ md81(fd00)
+ md82(fd01)
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0066/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0066/MAIN.asl
new file mode 100644
index 000000000..f8eeb5799
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0066/MAIN.asl
@@ -0,0 +1,58 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B66.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/common/DECL.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0066/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0066/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0066/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0066/RUN.asl
new file mode 100644
index 000000000..f62776940
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0066/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 66", TCLD, 66, W017)) {
+ SRMT("md83")
+ md83()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0067/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0067/DECL.asl
new file mode 100644
index 000000000..e0c1ce3e9
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0067/DECL.asl
@@ -0,0 +1,71 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 67: CANCELED
+ *
+ * SUMMARY: BufferField type object should be returned by Methods without any conversion (to Buffer or Integer)
+ *
+ * EXAMPLES:
+ *
+ * ROOT CAUSE:
+ *
+ * SEE ALSO: bugs 65,66,67,68,118
+ */
+
+
+Method(md84)
+{
+ return (bf30)
+}
+
+Method(md85)
+{
+ return (bf31)
+}
+
+Method(md86)
+{
+ // BufferField converted to Integer before return
+
+ Store(md84(), Local7)
+ Store(ObjectType(Local7), Local0)
+ if (LNotEqual(Local0, c009)) {
+ err("", zFFF, 0x000, 0, 0, Local0, c009)
+ }
+
+ // BufferField converted to Buffer before return
+
+ Store(md85(), Local7)
+ Store(ObjectType(Local7), Local0)
+ if (LNotEqual(Local0, c00b)) {
+ err("", zFFF, 0x001, 0, 0, Local0, c00b)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0067/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0067/MAIN.asl
new file mode 100644
index 000000000..873e42aaf
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0067/MAIN.asl
@@ -0,0 +1,58 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B67.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/common/DECL.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0067/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0067/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0067/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0067/RUN.asl
new file mode 100644
index 000000000..f64f1986d
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0067/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 67", TCLD, 67, W017)) {
+ SRMT("md86")
+ md86()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0068/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0068/DECL.asl
new file mode 100644
index 000000000..0591055ad
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0068/DECL.asl
@@ -0,0 +1,71 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 68: CANCELED
+ *
+ * SUMMARY: FieldUnit type object should be returned by Methods without any conversion (to Buffer or Integer)
+ *
+ * EXAMPLES:
+ *
+ * ROOT CAUSE:
+ *
+ * SEE ALSO: bugs 65,66,67,68,118
+ */
+
+
+Method(md87)
+{
+ return (fd00)
+}
+
+Method(md88)
+{
+ return (fd01)
+}
+
+Method(md89)
+{
+ // FiledUnit converted to Integer before return
+
+ Store(md87(), Local7)
+ Store(ObjectType(Local7), Local0)
+ if (LNotEqual(Local0, c009)) {
+ err("", zFFF, 0x000, 0, 0, Local0, c009)
+ }
+
+ // FiledUnit converted to Buffer before return
+
+ Store(md88(), Local7)
+ Store(ObjectType(Local7), Local0)
+ if (LNotEqual(Local0, c00b)) {
+ err("", zFFF, 0x001, 0, 0, Local0, c00b)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0068/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0068/MAIN.asl
new file mode 100644
index 000000000..45ec9a8b1
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0068/MAIN.asl
@@ -0,0 +1,58 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B68.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/common/DECL.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0068/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0068/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0068/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0068/RUN.asl
new file mode 100644
index 000000000..643471e4f
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0068/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 68", TCLD, 68, W017)) {
+ SRMT("md89")
+ md89()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0069/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0069/DECL.asl
new file mode 100644
index 000000000..9fbc9aab8
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0069/DECL.asl
@@ -0,0 +1,50 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 0069:
+ *
+ * SUMMARY: Exception on storing the result of Mid operation
+ */
+
+Method(me08)
+{
+ Name(b000, Buffer(8) {1,2,3,4,5,6,7,8})
+
+ Store("Start of test", Debug)
+
+ Store(Mid(b000, 1, 1), Local0)
+
+ if (LNotEqual(Local0, Buffer() {2})){
+ err("", zFFF, 0x001, 0, 0, Local0, Buffer() {2})
+ }
+
+ Store("Finish of test", Debug)
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0069/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0069/MAIN.asl
new file mode 100644
index 000000000..76ba4f018
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0069/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B69.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0069/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0069/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0069/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0069/RUN.asl
new file mode 100644
index 000000000..982e8a9c6
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0069/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 69", TCLD, 69, W017)) {
+ SRMT("me08")
+ me08()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0070_ASL/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0070_ASL/DECL.asl
new file mode 100644
index 000000000..d9a7b9773
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0070_ASL/DECL.asl
@@ -0,0 +1,77 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 0070:
+ *
+ * SUMMARY: The ASL Compiler should reject Resource Descriptors where ResourceSourceIndex is present but ResourceSource is omitted
+ *
+ * Compiler should return error...
+ */
+
+Method(me09)
+{
+ Name (RT00, ResourceTemplate () {
+ DWordIO ( , , , , ,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff, 0x0f)
+
+ DWordMemory ( , , , , , ReadOnly,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff, 0x0f)
+
+ Interrupt (ResourceConsumer, Edge, ActiveLow, Shared, 0x0f)
+ {0xfcfdfeff}
+
+ QWordIO ( , , , , ,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff, 0x0f)
+
+ QWordMemory ( , , , , , ReadOnly,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff, 0x0f)
+
+ WordBusNumber ( , , , ,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff, 0x0f)
+
+ WordIO ( , , , , ,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff, 0x0f)
+
+ DWordSpace (0xc0, , , , , 0x5a,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff, 0x0f)
+
+ QWordSpace (0xc0, , , , , 0x5a,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff, 0x0f)
+
+ WordSpace (0xc0, , , , , 0x5a,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff, 0x0f)
+ })
+
+ Store(RT00, Debug)
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0070_ASL/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0070_ASL/MAIN.asl
new file mode 100644
index 000000000..9b5ca5082
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0070_ASL/MAIN.asl
@@ -0,0 +1,56 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B70.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0070_ASL/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0071_ASL/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0071_ASL/DECL.asl
new file mode 100644
index 000000000..2064752dc
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0071_ASL/DECL.asl
@@ -0,0 +1,77 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 0071:
+ *
+ * SUMMARY: The ASL Compiler should reject Resource Descriptors where ResourceSourceIndex is omitted but ResourceSource is present
+ *
+ * Compiler should return error...
+ */
+
+Method(me0a)
+{
+ Name (RT00, ResourceTemplate () {
+ DWordIO ( , , , , ,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,, "PATHPATHPATH")
+
+ DWordMemory ( , , , , , ReadOnly,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,, "PATHPATHPATH")
+
+ Interrupt (ResourceConsumer, Edge, ActiveLow, Shared ,, "PATHPATHPATH")
+ {0xfcfdfeff}
+
+ QWordIO ( , , , , ,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff ,, "PATHPATHPATH")
+
+ QWordMemory ( , , , , , ReadOnly,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff ,, "PATHPATHPATH")
+
+ WordBusNumber ( , , , ,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff ,, "PATHPATHPATH")
+
+ WordIO ( , , , , ,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff ,, "PATHPATHPATH")
+
+ DWordSpace (0xc0, , , , , 0x5a,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,, "PATHPATHPATH")
+
+ QWordSpace (0xc0, , , , , 0x5a,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff ,, "PATHPATHPATH")
+
+ WordSpace (0xc0, , , , , 0x5a,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff ,, "PATHPATHPATH")
+ })
+
+ Store(RT00, Debug)
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0071_ASL/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0071_ASL/MAIN.asl
new file mode 100644
index 000000000..c5ffd9c8a
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0071_ASL/MAIN.asl
@@ -0,0 +1,56 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B71.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0071_ASL/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0072_ASL/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0072_ASL/DECL.asl
new file mode 100644
index 000000000..8a6b2fb61
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0072_ASL/DECL.asl
@@ -0,0 +1,58 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 0072:
+ *
+ * SUMMARY: The ASL Compiler program returns improper status after compiling invalid ASL code
+ *
+ * Compiler should return error...
+ * The ASL compiler returns zero (SUCCESS) while reporting Errors
+ * of compilation but FAILURE (non-zero value) should be returned
+ * in those cases.
+ *
+ * Strictly speaking, one more collection of tests is required
+ * to check the resulting status of ASL compilation. It may be
+ * a set of a little ASL-code files each forcing one specified
+ * Error (or Warning or no Error/Warning) of compilation and
+ * a control script run in cycle compilation of those ASL codes
+ * and verifies the return code of ASL-compiler and distinguish
+ * the cases:
+ *
+ * - no Errors or Warnings of compilation
+ * - no Errors but Warnings of compilation take place
+ * - has Errors of compilation
+ */
+
+Method(me0a)
+{
+ Store(jjjjjjjj, Debug)
+ return (0)
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0072_ASL/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0072_ASL/MAIN.asl
new file mode 100644
index 000000000..e812f6c5d
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0072_ASL/MAIN.asl
@@ -0,0 +1,56 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B72.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0072_ASL/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0073_ASL/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0073_ASL/DECL.asl
new file mode 100644
index 000000000..1094780ad
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0073_ASL/DECL.asl
@@ -0,0 +1,44 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 0073:
+ *
+ * SUMMARY: The ASL Compiler fails and reports a large number of "Recursive method call" remarks
+ *
+ * While compiling full test the ASL compiler results in Error:
+ * nssearch-0397: *** Error: NsSearchAndEnter: Bad character in ACPI Name: 5B5F545F
+ * nssearch-0397: *** Error: NsSearchAndEnter: Bad character in ACPI Name: 5B5F545F
+ * MAIN.asl 9: 0x00000001 // OEM Revision
+ * Error 1078 -^ From ACPI CA Subsystem (AE_BAD_CHARACTER Failure from lookup %s)
+ * and reports a large number of "Recursive method call" remarks.
+ *
+ * ASL Optimizing Compiler / AML Disassembler version 20041210 [Dec 10 2004]
+ */
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0073_ASL/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0073_ASL/MAIN.asl
new file mode 100644
index 000000000..38699c499
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0073_ASL/MAIN.asl
@@ -0,0 +1,90 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "full.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+
+ Include("../../../../../runtime/collections/functional/arithmetic/arithmetic.asl")
+
+ Include("../../../../../runtime/collections/functional/bfield/crbuffield.asl")
+
+ Include("../../../../../runtime/collections/functional/control/ctl0.asl")
+ Include("../../../../../runtime/collections/functional/control/ctl1.asl")
+ Include("../../../../../runtime/collections/functional/control/ctl2.asl")
+ Include("../../../../../runtime/collections/functional/control/timing.asl")
+ Include("../../../../../runtime/collections/functional/control/switch1.asl")
+ Include("../../../../../runtime/collections/functional/control/switch2.asl")
+ Include("../../../../../runtime/collections/functional/control/switch3.asl")
+ Include("../../../../../runtime/collections/functional/control/switch4.asl")
+ Include("../../../../../runtime/collections/functional/control/switch5.asl")
+ Include("../../../../../runtime/collections/functional/control/switch6.asl")
+ Include("../../../../../runtime/collections/functional/control/while.asl")
+ Include("../../../../../runtime/collections/functional/control/Return/return.asl")
+ Include("../../../../../runtime/collections/functional/control/ImplicitReturn/add.asl")
+ Include("../../../../../runtime/collections/functional/control/ImplicitReturn/store.asl")
+ Include("../../../../../runtime/collections/functional/control/ImplicitReturn/standaloneret.asl")
+
+ Include("../../../../../runtime/collections/functional/manipulation/mid.asl")
+ Include("../../../../../runtime/collections/functional/manipulation/concatenate.asl")
+ Include("../../../../../runtime/collections/functional/manipulation/tointeger.asl")
+ Include("../../../../../runtime/collections/functional/manipulation/tostring.asl")
+ Include("../../../../../runtime/collections/functional/manipulation/tobuffer.asl")
+ Include("../../../../../runtime/collections/functional/manipulation/todecimalstring.asl")
+ Include("../../../../../runtime/collections/functional/manipulation/tohexstring.asl")
+ Include("../../../../../runtime/collections/functional/manipulation/tofrombcd.asl")
+ Include("../../../../../runtime/collections/functional/manipulation/eisaid.asl")
+ Include("../../../../../runtime/collections/functional/manipulation/touuid.asl")
+ Include("../../../../../runtime/collections/functional/manipulation/unicode.asl")
+ Include("../../../../../runtime/collections/functional/manipulation/objecttype.asl")
+ Include("../../../../../runtime/collections/functional/manipulation/store.asl")
+ Include("../../../../../runtime/collections/functional/manipulation/match1.asl")
+ Include("../../../../../runtime/collections/functional/manipulation/match2.asl")
+ Include("../../../../../runtime/collections/functional/manipulation/sizeof.asl")
+
+ Include("../../../../../runtime/collections/functional/logic/logical.asl")
+
+ Include("../../../../../runtime/common/operations.asl")
+ Include("../../../../../runtime/common/conversion/oproc.asl")
+ Include("../../../../../runtime/common/conversion/otest.asl")
+
+ Include("./misc.asl")
+
+ Method(MAIN) {
+ return (0)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0073_ASL/misc.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0073_ASL/misc.asl
new file mode 100644
index 000000000..a3f1f38a1
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0073_ASL/misc.asl
@@ -0,0 +1,617 @@
+/*
+ * 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.
+ */
+
+// Miscellaneous not systematized tests
+
+Name(z054, 54)
+
+// Looks like Default is at all not implemented
+
+Method(mZ00, 1)
+{
+ Store(0, Local0)
+ Store(0, Local1)
+
+ // Bug XXX. This Switch code below causes ASL-compiler to fail
+ // for full.asl file with the diagnostics like this:
+ // nssearch-0397: *** Error: NsSearchAndEnter:
+ // Bad character in ACPI Name: 5B5F545F
+ // and fall into recursion:
+ // Remark 3040 - Recursive method call ^ (ERR_)
+ // Note: (0x5B5F545F is equal to "[_T_")
+
+ Switch (Local1) {
+ Case (5) {
+ Store(5, Local0)
+ }
+ Default {
+ Store(1, Local0)
+ }
+ }
+
+ if (LNotEqual(Local0, 1)) {
+ err(arg0, z054, 0, 0, 0, Local0, 0)
+ }
+}
+
+// Concatenate operator affects the object passed as Source2 parameter
+
+Method(mZ01, 1) {
+ Concatenate("qwertyuiop", arg0)
+}
+
+Method(mZ02, 1)
+{
+ Store(0, Local0)
+ mZ01(Local0)
+ if (LNotequal(Local0, 0)) {
+ err(arg0, z054, 1, 0, 0, Local0, 0)
+ }
+
+ Store(0, Local0)
+ Concatenate("qwertyuiop", Local0)
+ if (LNotequal(Local0, 0)) {
+ err(arg0, z054, 2, 0, 0, Local0, 0)
+ }
+}
+
+// Unexpected value returned by ObjectType for Field Unit objects
+
+// The field passed as explicit reference (RefOf)
+Method(mZ05, 1)
+{
+ OperationRegion(r000, SystemMemory, 0x100, 0x100)
+ Field (r000, ByteAcc, NoLock, Preserve) {
+ f000, 32
+ }
+
+ Store(ObjectType(RefOf(f000)), Local0)
+ if (LNotEqual(Local0, 5)) {
+ err(arg0, z054, 3, 0, 0, Local0, 0)
+ }
+}
+
+// The BankField corrupts the contents of OperationRegion
+
+Method(mZ06, 1)
+{
+ OperationRegion(r000, SystemMemory, 0x100, 0x100)
+ Field (r000, ByteAcc, NoLock, Preserve) {
+ bnk0, 8
+ }
+
+ BankField (r000, bnk0, 0, ByteAcc, NoLock, Preserve) {
+ Offset(16),
+ bf00, 8,
+ }
+
+ BankField (r000, bnk0, 1, ByteAcc, NoLock, Preserve) {
+ Offset(17),
+ bf01, 8,
+ }
+
+ Store(1, bnk0)
+ if (LNotEqual(bnk0, 1)) {
+ err(arg0, z054, 4, 0, 0, bnk0, 0)
+ }
+
+ Store(0x96, bf01)
+ if (LNotEqual(bnk0, 1)) {
+ err(arg0, z054, 5, 0, 0, bnk0, 0)
+ }
+
+ Store(0x87, bf00)
+ if (LNotEqual(bnk0, 1)) {
+ err(arg0, z054, 6, 0, 0, bnk0, 0)
+ }
+
+ if (LNotEqual(bf00, 0x87)) {
+ err(arg0, z054, 7, 0, 0, bf00, 0)
+ }
+
+ if (LNotEqual(bf01, 0x96)) {
+ err(arg0, z054, 8, 0, 0, bf01, 0)
+ }
+}
+
+// ToBuffer caused destroying of source buffer passed by Data parameter
+Method(mZ07, 1)
+{
+ Store(Buffer(4){10, 11, 12, 13}, Local0)
+ Store(ObjectType(Local0), Local1)
+
+ if (LNotEqual(Local1, c00b)) {
+ err(arg0, z054, 9, 0, 0, Local1, 0)
+ }
+
+ ToBuffer(Local0, Local2)
+
+ Store(0xaa, Local3)
+
+ Store(ObjectType(Local0), Local3)
+
+ if (LNotEqual(Local3, c00b)) {
+ err(arg0, z054, 10, 0, 0, Local3, 0)
+ }
+}
+
+// ObjectType() operator should be allowed to deal with the
+// uninitialized objects.
+
+// Uncomment this when the problem will be fixed and compile
+// will not fail in this case like it do now: "Method local
+// variable is not initialized (Local0)".
+Method(mZ08, 1)
+{
+ Store(ObjectType(Local0), Local1)
+}
+
+// Now, this cause exception but should not
+Method(mZ09, 2)
+{
+ if (arg1) {
+ Store(0, Local0)
+ }
+
+ CH03("", 0, 0, 0, 0)
+
+ Store(ObjectType(Local0), Local1)
+
+ if (LNotEqual(Local1, 0)) {
+ err(arg0, z054, 11, 0, 0, Local1, 0)
+ }
+
+ CH03("", 0, 0, 0, 0)
+}
+
+Method(mZ0a, 1)
+{
+ mZ09(arg0, 0)
+}
+
+// DerefOf. If the Source evaluates to a string, the string is evaluated
+// as an ASL name (relative to the current scope) and the contents of that
+// object are returned.
+Method(mZ0b, 1)
+{
+ Name(b000, Buffer(){ 1, 2, 3, 4, 5, 6, 7, 8 })
+
+ Store("b000", Local0)
+
+ Store("================ 0:", Debug)
+
+ Store(DerefOf(Local0), Local1)
+
+ Store("================ 1:", Debug)
+
+ Store(ObjectType(Local1), Local2)
+
+ if (LNotEqual(Local2, 3)) {
+ err(arg0, z054, 12, 0, 0, Local2, 0)
+ }
+
+ Store("================ 2:", Debug)
+
+ Store(Local1, Debug)
+ Store(Local2, Debug)
+
+ return (0)
+}
+
+/*
+// Currently, incorrect test
+// The size of Strings in Package is determined incorrectly
+Method(mZ0c, 1)
+{
+ Name(p000, Package() {
+ "012",
+ "0123456789abcdef",
+ Buffer() {17,28,69,11,22,34,35,56,67,11},
+ "012345",
+ })
+
+ Store(DeRefOf(Index(p000, 1)), Local0)
+ Store(0, Index(Local0, 5))
+
+ Store(0, Index(p000, 1))
+
+ Store(DeRefOf(Index(p000, 1)), Local0)
+// Store(0, Index(Local0, 5))
+
+ Store("=================:", Debug)
+ Store(Local0, Debug)
+
+ // 0
+ Store(DeRefOf(Index(p000, 0)), Local2)
+ Store(SizeOf(Local2), Local3)
+
+ Store(Local3, Debug)
+
+ if (LNotEqual(Local3, 3)) {
+ err(arg0, z054, 13, 0, 0, Local3, 3)
+ }
+
+ // 1
+ Store(DeRefOf(Index(p000, 1)), Local2)
+ Store(SizeOf(Local2), Local3)
+
+ Store(Local3, Debug)
+
+ if (LNotEqual(Local3, 9)) {
+ err(arg0, z054, 14, 0, 0, Local3, 9)
+ }
+
+ // 2
+ Store(DeRefOf(Index(p000, 2)), Local2)
+ Store(SizeOf(Local2), Local3)
+
+ Store(Local3, Debug)
+
+ if (LNotEqual(Local3, 6)) {
+ err(arg0, z054, 15, 0, 0, Local3, 6)
+ }
+
+ Store(SizeOf(p000), Local0)
+
+ Store(Local0, Debug)
+
+ if (LNotEqual(Local0, 3)) {
+ err(arg0, z054, 16, 0, 0, Local0, 3)
+ }
+}
+*/
+
+/*
+// ATTENTION: such type tests have to be added and extended
+Method(mZ0d, 1)
+{
+ Name(p000, Package() {
+ 0x12345678, 0x90abcdef,
+ })
+ Name(b000, Buffer() {0x78,0x56,0x34,0x12, 0xef,0xcd,0xab,0x90})
+
+ Store(DeRefOf(Index(p000, 0)), Local7)
+
+ if (LEqual(b000, Local7)) {
+ err(arg0, z054, 17, 0, 0, b000, Local7)
+ }
+
+ if (LEqual(Local7, b000)) {
+ err(arg0, z054, 18, 0, 0, Local7, b000)
+ }
+
+ return (0)
+}
+*/
+
+
+// Bug 54: All the ASL Operators which deal with at least two Buffer type
+// objects cause unexpected exceptions in cases when both Buffer type objects
+// are passed immediately
+Method(mZ0e, 1)
+{
+ CH03("", 0, 0, 0, 0)
+
+ Add( Buffer() {0x79}, Buffer() {0x79} )
+
+ CH03("", 0, 0, 0, 0)
+}
+
+// Bug 57: The empty Return operator (without specifying the returning value)
+// is processed incorrectly
+Method(mZ0f, 1) {
+
+ Method(mZ10, 2) {
+
+ if (arg1) {
+ return (0x1234)
+
+ // ASL-compiler report Warning in this case
+ // Store("ERROR 0: mZ13, after Return !!!", Debug)
+ }
+ err(arg0, z054, 19, 0, 0, 0, 0)
+
+ return (0x5678)
+ }
+
+ Method(mZ11, 2) {
+
+ if (arg1) {
+
+ return
+
+ // ASL-compiler DOESN'T report Warning in this case!!!
+ // And the Store operator below is actually processed!!!
+
+ err(arg0, z054, 20, 0, 0, 0, 0)
+ }
+
+ err(arg0, z054, 21, 0, 0, 0, 0)
+
+ return
+ }
+
+ Store(mZ10(arg0, 1), Local7)
+
+ mZ11(arg0, 1)
+
+ return (0)
+}
+
+// Bug 59: The String to Buffer Rule from the Table 17-8 "Object Conversion
+// Rules" says "If the string is shorter than the buffer, the buffer size is
+// reduced".
+Method(mZ10, 1) {
+ Name(str0, "\x01\x02")
+ Name(buf0, Buffer(){0x03, 0x04, 0x05})
+
+ Store(str0, buf0)
+
+ if (LNotEqual(Sizeof(buf0), 2)) {
+ // Error: length of the buffer not reduced to the stored string
+ err(arg0, z054, 22, 0, 0, 0, 0)
+ }
+ return (0)
+}
+
+// Bug 65: The Buffer Field type objects should be passed
+// to Methods without any conversion, but instead
+// they are converted to Buffers or Integers depending
+// on the size of the Buffer Field object and the
+// run mode (32-bit or 64/bit mode).
+Method(mZ11, 1) {
+ Name(b000, Buffer(200) {})
+ CreateField(b000, 0, 8, bf00)
+
+ Method(m000, 2)
+ {
+ Store(ObjectType(arg1), Local0)
+ if (LNotEqual(Local0, 14)) {
+ err(arg0, z054, 23, 0, 0, Local0, 14)
+ }
+ }
+
+ Method(m001, 1)
+ {
+ Store(ObjectType(bf00), Local0)
+ if (LNotEqual(Local0, 14)) {
+ err(arg0, z054, 24, 0, 0, Local0, 14)
+ } else {
+ m000(arg0, bf00)
+ }
+ }
+
+ m001(arg0)
+}
+
+// Bug 66: The Field Unit type objects should be passed
+// to Methods without any conversion, but instead
+// they are converted to Buffers or Integers depending
+// on the size of the Buffer Field object and the
+// run mode (32-bit or 64/bit mode).
+Method(mZ12, 1) {
+ OperationRegion(r000, SystemMemory, 0x100, 0x100)
+ Field(r000, ByteAcc, NoLock, Preserve) { f000, 8 }
+
+ Method(m000, 2)
+ {
+ Store(ObjectType(arg1), Local0)
+ if (LNotEqual(Local0, 5)) {
+ err(arg0, z054, 25, 0, 0, Local0, 5)
+ }
+ }
+
+ Method(m001, 1)
+ {
+ Store(ObjectType(f000), Local0)
+ if (LNotEqual(Local0, 5)) {
+ err(arg0, z054, 26, 0, 0, Local0, 5)
+ } else {
+ m000(arg0, f000)
+ }
+ }
+
+ m001(arg0)
+}
+
+// Bug 67: The Buffer Field type objects should be RETURNED
+// by Methods without any conversion, but instead
+// they are converted to Buffers or Integers depending
+// on the size of the Buffer Field object and the
+// run mode (32-bit or 64/bit mode).
+Method(mZ13, 1) {
+ Name(b000, Buffer(200) {})
+ CreateField(b000, 0, 8, bf00)
+
+ Method(m000)
+ {
+ return (bf00)
+ }
+
+ Method(m001, 1)
+ {
+ Store(ObjectType(bf00), Local0)
+ if (LNotEqual(Local0, 14)) {
+ err(arg0, z054, 27, 0, 0, Local0, 14)
+ } else {
+ Store(m000(), Local7)
+ Store(ObjectType(Local7), Local0)
+ if (LNotEqual(Local0, 14)) {
+ err(arg0, z054, 28, 0, 0, Local0, 14)
+ }
+ }
+ }
+
+ m001(arg0)
+}
+
+// Bug 68: The Field Unit type objects should be RETURNED
+// by Methods without any conversion, but instead
+// they are converted to Buffers or Integers depending
+// on the size of the Buffer Field object and the
+// run mode (32-bit or 64/bit mode).
+Method(mZ14, 1) {
+ OperationRegion(r000, SystemMemory, 0x100, 0x100)
+ Field(r000, ByteAcc, NoLock, Preserve) { f000, 8 }
+
+ Method(m000)
+ {
+ return (f000)
+ }
+
+ Method(m001, 1)
+ {
+ Store(ObjectType(f000), Local0)
+ if (LNotEqual(Local0, 5)) {
+ err(arg0, z054, 29, 0, 0, Local0, 5)
+ } else {
+ Store(m000(), Local7)
+ Store(ObjectType(Local7), Local0)
+ if (LNotEqual(Local0, 5)) {
+ err(arg0, z054, 30, 0, 0, Local0, 5)
+ }
+ }
+ }
+
+ m001(arg0)
+}
+
+// Bug 30. This test may be removed there after
+// the Field relative tests will be implemented.
+// Caused crash.
+Method(mZ15, 1)
+{
+ Method(m000)
+ {
+ // Field Unit
+ OperationRegion(r000, SystemMemory, 0x100, 0x100)
+ Field(r000, ByteAcc, NoLock, Preserve) {
+ f000, 8,
+ f001, 16,
+ f002, 32,
+ f003, 33,
+ f004, 1,
+ f005, 64,
+ }
+
+ Store("------------ Fields:", Debug)
+ Store(f000, Debug)
+ Store(f001, Debug)
+ Store(f002, Debug)
+ Store(f003, Debug)
+ Store(f004, Debug)
+ Store(f005, Debug)
+ Store("------------.", Debug)
+
+ return (0)
+ }
+
+ Method(m001)
+ {
+ // Field Unit
+ OperationRegion(r000, SystemMemory, 0x100, 0x100)
+ Field(r000, ByteAcc, NoLock, Preserve) {
+ f000, 8,
+ f001, 16,
+ f002, 32,
+ f003, 33,
+ f004, 7,
+ f005, 64,
+ }
+
+ Store("------------ Fields:", Debug)
+ Store(f000, Debug)
+ Store(f001, Debug)
+ Store(f002, Debug)
+ Store(f003, Debug)
+ Store(f004, Debug)
+ Store(f005, Debug)
+ Store("------------.", Debug)
+
+ return (0)
+ }
+
+ m000()
+ m001()
+ return (0)
+}
+
+Method(mZ16, 1)
+{
+ Method(m000)
+ {
+ return (0x12345678)
+ }
+
+ Method(m001, 1)
+ {
+ return (0x12345678)
+ }
+
+ Store(ObjectType(m000), Local0)
+ if (LNotEqual(Local0, c010)) {
+ err(arg0, z054, 31, 0, 0, Local0, c010)
+ }
+
+ Store(ObjectType(m000()), Local0)
+ if (LNotEqual(Local0, c009)) {
+ err(arg0, z054, 32, 0, 0, Local0, c009)
+ }
+
+ Store(ObjectType(m001(123)), Local1)
+ if (LNotEqual(Local1, c009)) {
+ err(arg0, z054, 33, 0, 0, Local1, c009)
+ }
+}
+
+// Run-method
+Method(MSC0)
+{
+ Name(ts, "MSC0")
+
+ mZ00(ts)
+ mZ02(ts)
+ mZ05(ts)
+ mZ06(ts)
+ mZ07(ts)
+ mZ08(ts)
+ mZ0a(ts)
+ mZ0b(ts)
+ mZ0e(ts)
+ mZ0f(ts)
+ mZ10(ts)
+ mZ11(ts)
+ mZ12(ts)
+ mZ13(ts)
+ mZ14(ts)
+ mZ15(ts)
+ mZ16(ts)
+}
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0073_ASL/misc.old.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0073_ASL/misc.old.asl
new file mode 100644
index 000000000..f4e68d6ba
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0073_ASL/misc.old.asl
@@ -0,0 +1,617 @@
+/*
+ * 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.
+ */
+
+// Miscellaneous not systematized tests
+
+Name(z054, 54)
+
+// Looks like Default is at all not implemented
+
+Method(m100, 1)
+{
+ Store(0, Local0)
+ Store(0, Local1)
+
+ // Bug XXX. This Switch code below causes ASL-compiler to fail
+ // for full.asl file with the diagnostics like this:
+ // nssearch-0397: *** Error: NsSearchAndEnter:
+ // Bad character in ACPI Name: 5B5F545F
+ // and fall into recursion:
+ // Remark 3040 - Recursive method call ^ (ERR_)
+ // Note: (0x5B5F545F is equal to "[_T_")
+
+ Switch (Local1) {
+ Case (5) {
+ Store(5, Local0)
+ }
+ Default {
+ Store(1, Local0)
+ }
+ }
+
+ if (LNotEqual(Local0, 1)) {
+ err(arg0, z054, 0, Local0, 0)
+ }
+}
+
+// Concatenate operator affects the object passed as Source2 parameter
+
+Method(m101, 1) {
+ Concatenate("qwertyuiop", arg0)
+}
+
+Method(m102, 1)
+{
+ Store(0, Local0)
+ m101(Local0)
+ if (LNotequal(Local0, 0)) {
+ err(arg0, z054, 1, Local0, 0)
+ }
+
+ Store(0, Local0)
+ Concatenate("qwertyuiop", Local0)
+ if (LNotequal(Local0, 0)) {
+ err(arg0, z054, 2, Local0, 0)
+ }
+}
+
+// Unexpected value returned by ObjectType for Field Unit objects
+
+// The field passed as explicit reference (RefOf)
+Method(m105, 1)
+{
+ OperationRegion(r000, SystemMemory, 0x100, 0x100)
+ Field (r000, ByteAcc, NoLock, Preserve) {
+ f000, 32
+ }
+
+ Store(ObjectType(RefOf(f000)), Local0)
+ if (LNotEqual(Local0, 5)) {
+ err(arg0, z054, 3, Local0, 0)
+ }
+}
+
+// The BankField corrupts the contents of OperationRegion
+
+Method(m106, 1)
+{
+ OperationRegion(r000, SystemMemory, 0x100, 0x100)
+ Field (r000, ByteAcc, NoLock, Preserve) {
+ bnk0, 8
+ }
+
+ BankField (r000, bnk0, 0, ByteAcc, NoLock, Preserve) {
+ Offset(16),
+ bf00, 8,
+ }
+
+ BankField (r000, bnk0, 1, ByteAcc, NoLock, Preserve) {
+ Offset(17),
+ bf01, 8,
+ }
+
+ Store(1, bnk0)
+ if (LNotEqual(bnk0, 1)) {
+ err(arg0, z054, 4, bnk0, 0)
+ }
+
+ Store(0x96, bf01)
+ if (LNotEqual(bnk0, 1)) {
+ err(arg0, z054, 5, bnk0, 0)
+ }
+
+ Store(0x87, bf00)
+ if (LNotEqual(bnk0, 1)) {
+ err(arg0, z054, 6, bnk0, 0)
+ }
+
+ if (LNotEqual(bf00, 0x87)) {
+ err(arg0, z054, 7, bf00, 0)
+ }
+
+ if (LNotEqual(bf01, 0x96)) {
+ err(arg0, z054, 8, bf01, 0)
+ }
+}
+
+// ToBuffer caused destroying of source buffer passed by Data parameter
+Method(m107, 1)
+{
+ Store(Buffer(4){10, 11, 12, 13}, Local0)
+ Store(ObjectType(Local0), Local1)
+
+ if (LNotEqual(Local1, c00b)) {
+ err(arg0, z054, 9, Local1, 0)
+ }
+
+ ToBuffer(Local0, Local2)
+
+ Store(0xaa, Local3)
+
+ Store(ObjectType(Local0), Local3)
+
+ if (LNotEqual(Local3, c00b)) {
+ err(arg0, z054, 10, Local3, 0)
+ }
+}
+
+// ObjectType() operator should be allowed to deal with the
+// uninitialized objects.
+
+// Uncomment this when the problem will be fixed and compile
+// will not fail in this case like it do now: "Method local
+// variable is not initialized (Local0)".
+Method(m108, 1)
+{
+ Store(ObjectType(Local0), Local1)
+}
+
+// Now, this cause exception but should not
+Method(m109, 2)
+{
+ if (arg1) {
+ Store(0, Local0)
+ }
+
+ CH03()
+
+ Store(ObjectType(Local0), Local1)
+
+ if (LNotEqual(Local1, 0)) {
+ err(arg0, z054, 11, Local1, 0)
+ }
+
+ CH03()
+}
+
+Method(m10a, 1)
+{
+ m109(arg0, 0)
+}
+
+// DerefOf. If the Source evaluates to a string, the string is evaluated
+// as an ASL name (relative to the current scope) and the contents of that
+// object are returned.
+Method(m10b, 1)
+{
+ Name(b000, Buffer(){ 1, 2, 3, 4, 5, 6, 7, 8 })
+
+ Store("b000", Local0)
+
+ Store("================ 0:", Debug)
+
+ Store(DerefOf(Local0), Local1)
+
+ Store("================ 1:", Debug)
+
+ Store(ObjectType(Local1), Local2)
+
+ if (LNotEqual(Local2, 3)) {
+ err(arg0, z054, 12, Local2, 0)
+ }
+
+ Store("================ 2:", Debug)
+
+ Store(Local1, Debug)
+ Store(Local2, Debug)
+
+ return (0)
+}
+
+/*
+// Currently, incorrect test
+// The size of Strings in Package is determined incorrectly
+Method(m10c, 1)
+{
+ Name(p000, Package() {
+ "012",
+ "0123456789abcdef",
+ Buffer() {17,28,69,11,22,34,35,56,67,11},
+ "012345",
+ })
+
+ Store(DeRefOf(Index(p000, 1)), Local0)
+ Store(0, Index(Local0, 5))
+
+ Store(0, Index(p000, 1))
+
+ Store(DeRefOf(Index(p000, 1)), Local0)
+// Store(0, Index(Local0, 5))
+
+ Store("=================:", Debug)
+ Store(Local0, Debug)
+
+ // 0
+ Store(DeRefOf(Index(p000, 0)), Local2)
+ Store(SizeOf(Local2), Local3)
+
+ Store(Local3, Debug)
+
+ if (LNotEqual(Local3, 3)) {
+ err(arg0, z054, 13, Local3, 3)
+ }
+
+ // 1
+ Store(DeRefOf(Index(p000, 1)), Local2)
+ Store(SizeOf(Local2), Local3)
+
+ Store(Local3, Debug)
+
+ if (LNotEqual(Local3, 9)) {
+ err(arg0, z054, 14, Local3, 9)
+ }
+
+ // 2
+ Store(DeRefOf(Index(p000, 2)), Local2)
+ Store(SizeOf(Local2), Local3)
+
+ Store(Local3, Debug)
+
+ if (LNotEqual(Local3, 6)) {
+ err(arg0, z054, 15, Local3, 6)
+ }
+
+ Store(SizeOf(p000), Local0)
+
+ Store(Local0, Debug)
+
+ if (LNotEqual(Local0, 3)) {
+ err(arg0, z054, 16, Local0, 3)
+ }
+}
+*/
+
+/*
+// ATTENTION: such type tests have to be added and extended
+Method(m10d, 1)
+{
+ Name(p000, Package() {
+ 0x12345678, 0x90abcdef,
+ })
+ Name(b000, Buffer() {0x78,0x56,0x34,0x12, 0xef,0xcd,0xab,0x90})
+
+ Store(DeRefOf(Index(p000, 0)), Local7)
+
+ if (LEqual(b000, Local7)) {
+ err(arg0, z054, 17, b000, Local7)
+ }
+
+ if (LEqual(Local7, b000)) {
+ err(arg0, z054, 18, Local7, b000)
+ }
+
+ return (0)
+}
+*/
+
+
+// Bug 54: All the ASL Operators which deal with at least two Buffer type
+// objects cause unexpected exceptions in cases when both Buffer type objects
+// are passed immediately
+Method(m10e, 1)
+{
+ CH03()
+
+ Add( Buffer() {0x79}, Buffer() {0x79} )
+
+ CH03()
+}
+
+// Bug 57: The empty Return operator (without specifying the returning value)
+// is processed incorrectly
+Method(m10f, 1) {
+
+ Method(m110, 2) {
+
+ if (arg1) {
+ return (0x1234)
+
+ // ASL-compiler report Warning in this case
+ // Store("ERROR 0: m113, after Return !!!", Debug)
+ }
+ err(arg0, z054, 19, 0, 0)
+
+ return (0x5678)
+ }
+
+ Method(m111, 2) {
+
+ if (arg1) {
+
+ return
+
+ // ASL-compiler DOESN'T report Warning in this case!!!
+ // And the Store operator below is actually processed!!!
+
+ err(arg0, z054, 20, 0, 0)
+ }
+
+ err(arg0, z054, 21, 0, 0)
+
+ return
+ }
+
+ Store(m110(arg0, 1), Local7)
+
+ m111(arg0, 1)
+
+ return (0)
+}
+
+// Bug 59: The String to Buffer Rule from the Table 17-8 "Object Conversion
+// Rules" says "If the string is shorter than the buffer, the buffer size is
+// reduced".
+Method(m110, 1) {
+ Name(str0, "\x01\x02")
+ Name(buf0, Buffer(){0x03, 0x04, 0x05})
+
+ Store(str0, buf0)
+
+ if (LNotEqual(Sizeof(buf0), 2)) {
+ // Error: length of the buffer not reduced to the stored string
+ err(arg0, z054, 22, 0, 0)
+ }
+ return (0)
+}
+
+// Bug 65: The Buffer Field type objects should be passed
+// to Methods without any conversion, but instead
+// they are converted to Buffers or Integers depending
+// on the size of the Buffer Field object and the
+// run mode (32-bit or 64/bit mode).
+Method(m111, 1) {
+ Name(b000, Buffer(200) {})
+ CreateField(b000, 0, 8, bf00)
+
+ Method(m000, 2)
+ {
+ Store(ObjectType(arg1), Local0)
+ if (LNotEqual(Local0, 14)) {
+ err(arg0, z054, 23, Local0, 14)
+ }
+ }
+
+ Method(m001, 1)
+ {
+ Store(ObjectType(bf00), Local0)
+ if (LNotEqual(Local0, 14)) {
+ err(arg0, z054, 24, Local0, 14)
+ } else {
+ m000(arg0, bf00)
+ }
+ }
+
+ m001(arg0)
+}
+
+// Bug 66: The Field Unit type objects should be passed
+// to Methods without any conversion, but instead
+// they are converted to Buffers or Integers depending
+// on the size of the Buffer Field object and the
+// run mode (32-bit or 64/bit mode).
+Method(m112, 1) {
+ OperationRegion(r000, SystemMemory, 0x100, 0x100)
+ Field(r000, ByteAcc, NoLock, Preserve) { f000, 8 }
+
+ Method(m000, 2)
+ {
+ Store(ObjectType(arg1), Local0)
+ if (LNotEqual(Local0, 5)) {
+ err(arg0, z054, 25, Local0, 5)
+ }
+ }
+
+ Method(m001, 1)
+ {
+ Store(ObjectType(f000), Local0)
+ if (LNotEqual(Local0, 5)) {
+ err(arg0, z054, 26, Local0, 5)
+ } else {
+ m000(arg0, f000)
+ }
+ }
+
+ m001(arg0)
+}
+
+// Bug 67: The Buffer Field type objects should be RETURNED
+// by Methods without any conversion, but instead
+// they are converted to Buffers or Integers depending
+// on the size of the Buffer Field object and the
+// run mode (32-bit or 64/bit mode).
+Method(m113, 1) {
+ Name(b000, Buffer(200) {})
+ CreateField(b000, 0, 8, bf00)
+
+ Method(m000)
+ {
+ return (bf00)
+ }
+
+ Method(m001, 1)
+ {
+ Store(ObjectType(bf00), Local0)
+ if (LNotEqual(Local0, 14)) {
+ err(arg0, z054, 27, Local0, 14)
+ } else {
+ Store(m000(), Local7)
+ Store(ObjectType(Local7), Local0)
+ if (LNotEqual(Local0, 14)) {
+ err(arg0, z054, 28, Local0, 14)
+ }
+ }
+ }
+
+ m001(arg0)
+}
+
+// Bug 68: The Field Unit type objects should be RETURNED
+// by Methods without any conversion, but instead
+// they are converted to Buffers or Integers depending
+// on the size of the Buffer Field object and the
+// run mode (32-bit or 64/bit mode).
+Method(m114, 1) {
+ OperationRegion(r000, SystemMemory, 0x100, 0x100)
+ Field(r000, ByteAcc, NoLock, Preserve) { f000, 8 }
+
+ Method(m000)
+ {
+ return (f000)
+ }
+
+ Method(m001, 1)
+ {
+ Store(ObjectType(f000), Local0)
+ if (LNotEqual(Local0, 5)) {
+ err(arg0, z054, 29, Local0, 5)
+ } else {
+ Store(m000(), Local7)
+ Store(ObjectType(Local7), Local0)
+ if (LNotEqual(Local0, 5)) {
+ err(arg0, z054, 30, Local0, 5)
+ }
+ }
+ }
+
+ m001(arg0)
+}
+
+// Bug 30. This test may be removed there after
+// the Field relative tests will be implemented.
+// Caused crash.
+Method(m115, 1)
+{
+ Method(m000)
+ {
+ // Field Unit
+ OperationRegion(r000, SystemMemory, 0x100, 0x100)
+ Field(r000, ByteAcc, NoLock, Preserve) {
+ f000, 8,
+ f001, 16,
+ f002, 32,
+ f003, 33,
+ f004, 1,
+ f005, 64,
+ }
+
+ Store("------------ Fields:", Debug)
+ Store(f000, Debug)
+ Store(f001, Debug)
+ Store(f002, Debug)
+ Store(f003, Debug)
+ Store(f004, Debug)
+ Store(f005, Debug)
+ Store("------------.", Debug)
+
+ return (0)
+ }
+
+ Method(m001)
+ {
+ // Field Unit
+ OperationRegion(r000, SystemMemory, 0x100, 0x100)
+ Field(r000, ByteAcc, NoLock, Preserve) {
+ f000, 8,
+ f001, 16,
+ f002, 32,
+ f003, 33,
+ f004, 7,
+ f005, 64,
+ }
+
+ Store("------------ Fields:", Debug)
+ Store(f000, Debug)
+ Store(f001, Debug)
+ Store(f002, Debug)
+ Store(f003, Debug)
+ Store(f004, Debug)
+ Store(f005, Debug)
+ Store("------------.", Debug)
+
+ return (0)
+ }
+
+ m000()
+ m001()
+ return (0)
+}
+
+Method(m116, 1)
+{
+ Method(m000)
+ {
+ return (0x12345678)
+ }
+
+ Method(m001, 1)
+ {
+ return (0x12345678)
+ }
+
+ Store(ObjectType(m000), Local0)
+ if (LNotEqual(Local0, c010)) {
+ err(arg0, z054, 31, Local0, c010)
+ }
+
+ Store(ObjectType(m000()), Local0)
+ if (LNotEqual(Local0, c009)) {
+ err(arg0, z054, 32, Local0, c009)
+ }
+
+ Store(ObjectType(m001(123)), Local1)
+ if (LNotEqual(Local1, c009)) {
+ err(arg0, z054, 33, Local1, c009)
+ }
+}
+
+// Run-method
+Method(MSC0)
+{
+ Name(ts, "MSC0")
+
+ m100(ts)
+ m102(ts)
+ m105(ts)
+ m106(ts)
+ m107(ts)
+ m108(ts)
+ m10a(ts)
+ m10b(ts)
+ m10e(ts)
+ m10f(ts)
+ m110(ts)
+ m111(ts)
+ m112(ts)
+ m113(ts)
+ m114(ts)
+ m115(ts)
+ m116(ts)
+}
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0074/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0074/DECL.asl
new file mode 100644
index 000000000..7796c8e1e
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0074/DECL.asl
@@ -0,0 +1,53 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 0074:
+ *
+ * SUMMARY: Ones is not equal to 0xFFFFFFFF in 32-bit mode
+ *
+ * COMMENT:
+ *
+ * The demo program shows that Ones
+ * is not equal to 0xFFFFFFFF in 32-bit mode.
+ *
+ * The ComplianceRevision field of demo program should be 2,
+ * but run ASL compiler with “-r 1” option.
+ */
+Method(me0b)
+{
+ if (F64){
+ SKIP()
+ } else {
+ if (LNotEqual(Ones, 0xffffffff)){
+ err("", zFFF, 0x000, 0, 0, Ones, 0xffffffff)
+ }
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0074/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0074/MAIN.asl
new file mode 100644
index 000000000..54de3530c
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0074/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B74.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0074/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0074/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0074/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0074/RUN.asl
new file mode 100644
index 000000000..3fff8b14b
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0074/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 74", TCLD, 74, W017)) {
+ SRMT("me0b")
+ me0b()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0075/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0075/DECL.asl
new file mode 100644
index 000000000..f96d76bcb
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0075/DECL.asl
@@ -0,0 +1,549 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 0075:
+ *
+ * SUMMARY: Each scope of DefinitionBlock should be supplied with its set of _T_x objects
+ *
+ * Compiler should return an error...
+ */
+
+ Method(me0c, 1)
+ {
+ Store(0x100, Local0)
+
+ Switch (arg0) {
+ Case (1) {
+ Store(1, Local0)
+ }
+ }
+ Switch (arg0) {
+ Case (2) {
+ Store(2, Local0)
+ }
+ }
+ Switch (arg0) {
+ Case (3) {
+ Store(3, Local0)
+ }
+ }
+ Switch (arg0) {
+ Case (4) {
+ Store(4, Local0)
+ }
+ }
+ Switch (arg0) {
+ Case (5) {
+ Store(5, Local0)
+ }
+ }
+ Switch (arg0) {
+ Case (6) {
+ Store(6, Local0)
+ }
+ }
+ Switch (arg0) {
+ Case (7) {
+ Store(7, Local0)
+ }
+ }
+ Switch (arg0) {
+ Case (8) {
+ Store(8, Local0)
+ }
+ }
+ Switch (arg0) {
+ Case (9) {
+ Store(9, Local0)
+ }
+ }
+ Switch (arg0) {
+ Case (10) {
+ Store(10, Local0)
+ }
+ }
+ Switch (arg0) {
+ Case (11) {
+ Store(11, Local0)
+ }
+ }
+ Switch (arg0) {
+ Case (12) {
+ Store(12, Local0)
+ }
+ }
+ Switch (arg0) {
+ Case (13) {
+ Store(13, Local0)
+ }
+ }
+ Switch (arg0) {
+ Case (14) {
+ Store(14, Local0)
+ }
+ }
+ Switch (arg0) {
+ Case (15) {
+ Store(15, Local0)
+ }
+ }
+ Switch (arg0) {
+ Case (16) {
+ Store(16, Local0)
+ }
+ }
+ Switch (arg0) {
+ Case (17) {
+ Store(17, Local0)
+ }
+ }
+ Switch (arg0) {
+ Case (18) {
+ Store(18, Local0)
+ }
+ }
+ Switch (arg0) {
+ Case (19) {
+ Store(19, Local0)
+ }
+ }
+ Switch (arg0) {
+ Case (20) {
+ Store(20, Local0)
+ }
+ }
+ Switch (arg0) {
+ Case (21) {
+ Store(21, Local0)
+ }
+ }
+ Switch (arg0) {
+ Case (22) {
+ Store(22, Local0)
+ }
+ }
+ Switch (arg0) {
+ Case (23) {
+ Store(23, Local0)
+ }
+ }
+ Switch (arg0) {
+ Case (24) {
+ Store(24, Local0)
+ }
+ }
+ Switch (arg0) {
+ Case (25) {
+ Store(25, Local0)
+ }
+ }
+ Switch (arg0) {
+ Case (26) {
+ Store(26, Local0)
+ }
+ }
+ Switch (arg0) {
+ Case (27) {
+ Store(27, Local0)
+ }
+ }
+
+ return (Local0)
+ }
+
+ Method(me0d)
+ {
+ Store(1, Local7)
+
+ While (LLessEqual(Local7, 27)) {
+ Store(me0c(Local7), Local0)
+ if (LNotEqual(Local0, Local7)) {
+ Store("Error:", Debug)
+ Store(Local7, Debug)
+ }
+ Increment(Local7)
+ }
+
+ return (0)
+ }
+
+ // //////////////////////
+
+ Method(me0e, 1)
+ {
+ Store(0x100, Local0)
+
+ Switch (arg0) {
+ Case (1) {
+ Store(1, Local0)
+ }
+ }
+
+ return (Local0)
+ }
+
+ Method(me0f, 1)
+ {
+ Store(0x100, Local0)
+
+ Switch (arg0) {
+ Case (2) {
+ Store(2, Local0)
+ }
+ }
+
+ return (Local0)
+ }
+
+ Method(me10, 1)
+ {
+ Store(0x100, Local0)
+
+ Switch (arg0) {
+ Case (3) {
+ Store(3, Local0)
+ }
+ }
+
+ return (Local0)
+ }
+
+ Method(me11, 1)
+ {
+ Store(0x100, Local0)
+
+ Switch (arg0) {
+ Case (4) {
+ Store(4, Local0)
+ }
+ }
+
+ return (Local0)
+ }
+
+ Method(me12, 1)
+ {
+ Store(0x100, Local0)
+
+ Switch (arg0) {
+ Case (5) {
+ Store(5, Local0)
+ }
+ }
+
+ return (Local0)
+ }
+
+ Method(me13, 1)
+ {
+ Store(0x100, Local0)
+
+ Switch (arg0) {
+ Case (6) {
+ Store(6, Local0)
+ }
+ }
+
+ return (Local0)
+ }
+
+ Method(me14, 1)
+ {
+ Store(0x100, Local0)
+
+ Switch (arg0) {
+ Case (7) {
+ Store(7, Local0)
+ }
+ }
+
+ return (Local0)
+ }
+
+ Method(me15, 1)
+ {
+ Store(0x100, Local0)
+
+ Switch (arg0) {
+ Case (8) {
+ Store(8, Local0)
+ }
+ }
+
+ return (Local0)
+ }
+
+ Method(me16, 1)
+ {
+ Store(0x100, Local0)
+
+ Switch (arg0) {
+ Case (9) {
+ Store(9, Local0)
+ }
+ }
+
+ return (Local0)
+ }
+
+ Method(me17, 1)
+ {
+ Store(0x100, Local0)
+
+ Switch (arg0) {
+ Case (10) {
+ Store(10, Local0)
+ }
+ }
+
+ return (Local0)
+ }
+
+ Method(me18, 1)
+ {
+ Store(0x100, Local0)
+
+ Switch (arg0) {
+ Case (11) {
+ Store(11, Local0)
+ }
+ }
+
+ return (Local0)
+ }
+
+ Method(me19, 1)
+ {
+ Store(0x100, Local0)
+
+ Switch (arg0) {
+ Case (12) {
+ Store(12, Local0)
+ }
+ }
+
+ return (Local0)
+ }
+
+ Method(me1a, 1)
+ {
+ Store(0x100, Local0)
+
+ Switch (arg0) {
+ Case (13) {
+ Store(13, Local0)
+ }
+ }
+
+ return (Local0)
+ }
+
+ Method(me1b, 1)
+ {
+ Store(0x100, Local0)
+
+ Switch (arg0) {
+ Case (14) {
+ Store(14, Local0)
+ }
+ }
+
+ return (Local0)
+ }
+
+ Method(me1c, 1)
+ {
+ Store(0x100, Local0)
+
+ Switch (arg0) {
+ Case (15) {
+ Store(15, Local0)
+ }
+ }
+
+ return (Local0)
+ }
+
+ Method(me1d, 1)
+ {
+ Store(0x100, Local0)
+
+ Switch (arg0) {
+ Case (16) {
+ Store(16, Local0)
+ }
+ }
+
+ return (Local0)
+ }
+
+ Method(me1e, 1)
+ {
+ Store(0x100, Local0)
+
+ Switch (arg0) {
+ Case (17) {
+ Store(17, Local0)
+ }
+ }
+
+ return (Local0)
+ }
+
+ Method(me1f, 1)
+ {
+ Store(0x100, Local0)
+
+ Switch (arg0) {
+ Case (18) {
+ Store(18, Local0)
+ }
+ }
+
+ return (Local0)
+ }
+
+ Method(me20, 1)
+ {
+ Store(0x100, Local0)
+
+ Switch (arg0) {
+ Case (19) {
+ Store(19, Local0)
+ }
+ }
+
+ return (Local0)
+ }
+
+ Method(me21, 1)
+ {
+ Store(0x100, Local0)
+
+ Switch (arg0) {
+ Case (20) {
+ Store(20, Local0)
+ }
+ }
+
+ return (Local0)
+ }
+
+ Method(me22, 1)
+ {
+ Store(0x100, Local0)
+
+ Switch (arg0) {
+ Case (21) {
+ Store(21, Local0)
+ }
+ }
+
+ return (Local0)
+ }
+
+ Method(me23, 1)
+ {
+ Store(0x100, Local0)
+
+ Switch (arg0) {
+ Case (22) {
+ Store(22, Local0)
+ }
+ }
+
+ return (Local0)
+ }
+
+ Method(me24, 1)
+ {
+ Store(0x100, Local0)
+
+ Switch (arg0) {
+ Case (23) {
+ Store(23, Local0)
+ }
+ }
+
+ return (Local0)
+ }
+
+ Method(me25, 1)
+ {
+ Store(0x100, Local0)
+
+ Switch (arg0) {
+ Case (24) {
+ Store(24, Local0)
+ }
+ }
+
+ return (Local0)
+ }
+
+ Method(me26, 1)
+ {
+ Store(0x100, Local0)
+
+ Switch (arg0) {
+ Case (25) {
+ Store(25, Local0)
+ }
+ }
+
+ return (Local0)
+ }
+
+ Method(me27, 1)
+ {
+ Store(0x100, Local0)
+
+ Switch (arg0) {
+ Case (26) {
+ Store(26, Local0)
+ }
+ }
+
+ return (Local0)
+ }
+
+ Method(me28, 1)
+ {
+ Store(0x100, Local0)
+
+ Switch (arg0) {
+ Case (27) {
+ Store(27, Local0)
+ }
+ }
+
+ return (Local0)
+ }
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0075/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0075/MAIN.asl
new file mode 100644
index 000000000..a024a7650
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0075/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B75.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0075/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0075/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0075/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0075/RUN.asl
new file mode 100644
index 000000000..922affb77
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0075/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 75", TCLD, 75, W017)) {
+ SRMT("me0d")
+ me0d()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0076/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0076/DECL.asl
new file mode 100644
index 000000000..d96c3785c
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0076/DECL.asl
@@ -0,0 +1,51 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 0076:
+ *
+ * SUMMARY: Unexpected dereference of Index reference in Store operator
+ */
+
+ Method(me29)
+ {
+ Index(pd01, 0, Local0)
+ Store(Local0, Debug)
+
+ Store(Index(pd01, 0), Local1)
+ Store(Local1, Debug)
+
+ CH03("", 0, 0x000, 0, 0)
+ Add(Local1, 0, Local7)
+ CH04("", 0, 47, 0, 0x001, 0, 0) // AE_AML_OPERAND_TYPE
+
+ Store(Refof(id0a), Local2)
+ Store(Local2, Debug)
+ }
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0076/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0076/MAIN.asl
new file mode 100644
index 000000000..217c0417f
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0076/MAIN.asl
@@ -0,0 +1,58 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B76.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/common/DECL.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0076/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0076/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0076/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0076/RUN.asl
new file mode 100644
index 000000000..733ed8835
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0076/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 76", TCLD, 76, W017)) {
+ SRMT("me29")
+ me29()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0077/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0077/DECL.asl
new file mode 100644
index 000000000..2c74c8d32
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0077/DECL.asl
@@ -0,0 +1,52 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 0077:
+ *
+ * SUMMARY: Exception on ToInteger operator under specific conditions
+ */
+
+ Method(me2a)
+ {
+ Name (i000, 0x89abcdef)
+
+ CH03("", 0, 0x000, 0, 0)
+
+ ToInteger("0") // AE_BAD_DECIMAL_CONSTANT
+
+ ToInteger("0x0") // AE_BAD_HEX_CONSTANT
+
+ Add("0", 1) // AE_BAD_HEX_CONSTANT
+
+ Store("0", i000) // AE_BAD_HEX_CONSTANT
+
+ CH03("", 0, 0x000, 0, 0)
+ }
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0077/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0077/MAIN.asl
new file mode 100644
index 000000000..218fd55a2
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0077/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B77.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0077/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0077/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0077/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0077/RUN.asl
new file mode 100644
index 000000000..4b4bfff62
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0077/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 77", TCLD, 77, W017)) {
+ SRMT("me2a")
+ me2a()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0078/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0078/DECL.asl
new file mode 100644
index 000000000..b8c67ac1d
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0078/DECL.asl
@@ -0,0 +1,42 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 0078:
+ *
+ * SUMMARY: Specific expression Derefof(Refof(i000)) causes deletion of object (i000)
+ */
+
+ Method(me2b)
+ {
+ Derefof(Refof(id0b))
+
+ Store(id0b, Debug)
+ }
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0078/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0078/MAIN.asl
new file mode 100644
index 000000000..4d522fe68
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0078/MAIN.asl
@@ -0,0 +1,58 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B78.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/common/DECL.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0078/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0078/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0078/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0078/RUN.asl
new file mode 100644
index 000000000..d1057291f
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0078/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 78", TCLD, 78, W017)) {
+ SRMT("me2b")
+ me2b()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0079/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0079/DECL.asl
new file mode 100644
index 000000000..680972f9b
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0079/DECL.asl
@@ -0,0 +1,43 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 0079:
+ *
+ * SUMMARY: Specific expression with ToBuffer causes exception
+ */
+
+ Method(me2c)
+ {
+ Store(0, Local0)
+
+ ToBuffer("1234567")
+ Store(ToBuffer("1234567"), Local0)
+ }
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0079/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0079/MAIN.asl
new file mode 100644
index 000000000..3fe630d7f
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0079/MAIN.asl
@@ -0,0 +1,58 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B79.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/common/DECL.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0079/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0079/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0079/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0079/RUN.asl
new file mode 100644
index 000000000..37276260e
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0079/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 79", TCLD, 79, W017)) {
+ SRMT("me2c")
+ me2c()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0080_ASL/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0080_ASL/DECL.asl
new file mode 100644
index 000000000..b897c674a
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0080_ASL/DECL.asl
@@ -0,0 +1,62 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 0080:
+ *
+ * SUMMARY: The ASL compiler should report Error when the name of Method (but not invocation of it) is specified in expressions
+ *
+ * Compiler should return error...
+ */
+
+ Method(me2d)
+ {
+ Store("Method me2d started", Debug)
+// return (0)
+ }
+
+ Method(me2e, 1)
+ {
+ Store("Method me2e started", Debug)
+ return (0)
+ }
+
+ Method(me2f, 2)
+ {
+ Store("Method me2f started", Debug)
+ return (0)
+ }
+
+
+ Method(me30)
+ {
+ me2f(me2d, 0)
+ me2f(me2e, 1)
+ }
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0080_ASL/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0080_ASL/MAIN.asl
new file mode 100644
index 000000000..8c91e9af2
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0080_ASL/MAIN.asl
@@ -0,0 +1,56 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B80.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0080_ASL/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0081/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0081/DECL.asl
new file mode 100644
index 000000000..6d03d892f
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0081/DECL.asl
@@ -0,0 +1,69 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 0081:
+ *
+ * SUMMARY: Call to Method immediately passed to ObjectType is evaluated improperly
+ */
+
+ Method(me31)
+ {
+ Store("Run me31", Debug)
+ return (0x12345678)
+ }
+
+ Method(me32, 1)
+ {
+ Store("Run me32", Debug)
+ Store(arg0, Debug)
+ return (arg0)
+ }
+
+ Method(me33)
+ {
+// Store(me32, Local0)
+// Store(me32("String"), Local0)
+
+ Store(ObjectType(me31), Local0)
+ if (LNotEqual(Local0, c010)) {
+ err("", zFFF, 0x000, 0, 0, Local0, c010)
+ }
+
+ Store(ObjectType(me31()), Local0)
+ if (LNotEqual(Local0, c009)) {
+ err("", zFFF, 0x001, 0, 0, Local0, c009)
+ }
+
+ Store(ObjectType(me32("String")), Local0)
+ if (LNotEqual(Local0, c00a)) {
+ err("", zFFF, 0x002, 0, 0, Local0, c00a)
+ }
+ }
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0081/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0081/MAIN.asl
new file mode 100644
index 000000000..c9ebda387
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0081/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B81.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0081/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0081/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0081/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0081/RUN.asl
new file mode 100644
index 000000000..78d5ee47b
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0081/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 81", TCLD, 81, W017)) {
+ SRMT("me33")
+ me33()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0082_SPEC/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0082_SPEC/DECL.asl
new file mode 100644
index 000000000..77eb1b093
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0082_SPEC/DECL.asl
@@ -0,0 +1,35 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 82:
+ *
+ * SUMMARY: The Data Type Conversion Rules table should be updated
+ */
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0083/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0083/DECL.asl
new file mode 100644
index 000000000..c34e0b393
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0083/DECL.asl
@@ -0,0 +1,147 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 0083:
+ *
+ * SUMMARY: No exception on DerefOf of an arbitrary Source
+ */
+
+ Method(me34)
+ {
+ Event(e000)
+ Mutex(mx00, 0)
+ ThermalZone(tz00) {}
+ Processor(pr00, 0, 0xFFFFFFFF, 0) {}
+ PowerResource(pw00, 1, 0) {Method(mmmm){return (0)}}
+ OperationRegion(r000, SystemMemory, 0x100, 0x100)
+
+ Name(b9Z0, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})
+ OperationRegion(r9Z0, SystemMemory, 0x100, 0x100)
+
+ CreateField(b9Z0, 0, 8, bf90)
+ Field(r9Z0, ByteAcc, NoLock, Preserve) {f900,8,f901,8,f902,8,f903,8}
+ BankField(r9Z0, f901, 0, ByteAcc, NoLock, Preserve) {bn90,4}
+ IndexField(f902, f903, ByteAcc, NoLock, Preserve) {if90,8,if91,8}
+
+ Device(d000) {}
+ Name(i000, 0x89abcdef)
+ Name(b000, Buffer() {1,2,3,4})
+ Name(p000, Package() {1,2,3,4})
+
+/*
+ * Derefof(0x89abcdef)
+ * Invalid type ^ ([Integer] found, DerefOf operator requires [String|Reference])
+ */
+
+
+ // Expected exception for each DerefOf below
+
+ CH03("", 0, 0x000, 0, 0)
+ DerefOf(i000)
+ CH04("", 0, 0xff, 0, 0x001, 0, 0)
+
+ CH03("", 0, 0x000, 0, 0)
+ DerefOf(b000)
+ CH04("", 0, 0xff, 0, 0x001, 0, 0)
+
+ CH03("", 0, 0x000, 0, 0)
+ DerefOf(p000)
+ CH04("", 0, 0xff, 0, 0x001, 0, 0)
+
+ CH03("", 0, 0x000, 0, 0)
+ DerefOf(d000)
+ CH04("", 0, 0xff, 0, 0x001, 0, 0)
+
+
+
+
+ CH03("", 0, 0x000, 0, 0)
+ DerefOf(e000)
+ CH04("", 0, 0xff, 0, 0x001, 0, 0)
+
+ CH03("", 0, 0x000, 0, 0)
+ DerefOf(mx00)
+ CH04("", 0, 0xff, 0, 0x001, 0, 0)
+
+ CH03("", 0, 0x000, 0, 0)
+ DerefOf(tz00)
+ CH04("", 0, 0xff, 0, 0x001, 0, 0)
+
+ CH03("", 0, 0x000, 0, 0)
+ DerefOf(pr00)
+ CH04("", 0, 0xff, 0, 0x001, 0, 0)
+
+ CH03("", 0, 0x000, 0, 0)
+ DerefOf(pw00)
+ CH04("", 0, 0xff, 0, 0x001, 0, 0)
+
+ CH03("", 0, 0x000, 0, 0)
+ DerefOf(r000)
+ CH04("", 0, 0xff, 0, 0x001, 0, 0)
+
+
+
+
+ CH03("", 0, 0x000, 0, 0)
+ DerefOf(bf90)
+ CH04("", 0, 0xff, 0, 0x001, 0, 0)
+
+ CH03("", 0, 0x000, 0, 0)
+ DerefOf(f900)
+ CH04("", 0, 0xff, 0, 0x001, 0, 0)
+
+ CH03("", 0, 0x000, 0, 0)
+ DerefOf(f901)
+ CH04("", 0, 0xff, 0, 0x001, 0, 0)
+
+ CH03("", 0, 0x000, 0, 0)
+ DerefOf(f902)
+ CH04("", 0, 0xff, 0, 0x001, 0, 0)
+
+ CH03("", 0, 0x000, 0, 0)
+ DerefOf(f903)
+ CH04("", 0, 0xff, 0, 0x001, 0, 0)
+
+ CH03("", 0, 0x000, 0, 0)
+ DerefOf(bn90)
+ CH04("", 0, 0xff, 0, 0x001, 0, 0)
+
+ CH03("", 0, 0x000, 0, 0)
+ DerefOf(if90)
+ CH04("", 0, 0xff, 0, 0x001, 0, 0)
+
+ CH03("", 0, 0x000, 0, 0)
+ DerefOf(if91)
+ CH04("", 0, 0xff, 0, 0x001, 0, 0)
+
+
+ // And so on..
+ }
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0083/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0083/MAIN.asl
new file mode 100644
index 000000000..8256a9f3a
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0083/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B83.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0083/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0083/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0083/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0083/RUN.asl
new file mode 100644
index 000000000..b88475625
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0083/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 83", TCLD, 83, W017)) {
+ SRMT("me34")
+ me34()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0084/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0084/DECL.asl
new file mode 100644
index 000000000..4cc1ae50a
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0084/DECL.asl
@@ -0,0 +1,292 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 0084:
+ *
+ * SUMMARY: Failed to interpret AML code alternated with Method declarations
+ */
+
+Method(me35, 1)
+{
+ Method(m001)
+ {
+ return (0)
+ }
+
+ Store("Before m001 run", Debug)
+
+ if (arg0) {
+ Store("m001 started", Debug)
+ m001()
+ Store("m001 finished", Debug)
+ }
+
+ Store("After m001 run", Debug)
+
+ Method(m002)
+ {
+ return (0)
+ }
+
+ Method(m003)
+ {
+ return (0)
+ }
+
+ Store("Before return from me35", Debug)
+
+ return (0)
+}
+
+Method(me36)
+{
+ Store("Before me35(0) run", Debug)
+ me35(0)
+ Store("After me35(0) completion", Debug)
+
+ Store("Before me35(1) run", Debug)
+ me35(1)
+ Store("After me35(1) completion", Debug)
+}
+
+Method(m803)
+{
+ Name(i000, 0xabcd0000)
+
+ Method(m000)
+ {
+ if (LNotEqual(i000, 0xabcd0000)) {
+ err("", zFFF, 0x000, 0, 0, i000, 0xabcd0000)
+ }
+ Store(0xabcd0001, i000)
+ return (0xabcd0002)
+ }
+
+ m000()
+
+ Method(m001)
+ {
+ if (LNotEqual(i000, 0xabcd0001)) {
+ err("", zFFF, 0x001, 0, 0, i000, 0xabcd0001)
+ }
+ Store(0xabcd0003, i000)
+ return (0xabcd0004)
+ }
+
+ m001()
+
+ Method(m002)
+ {
+ if (LNotEqual(i000, 0xabcd0003)) {
+ err("", zFFF, 0x002, 0, 0, i000, 0xabcd0003)
+ }
+ Store(0xabcd0005, i000)
+ return (0xabcd0006)
+ }
+
+ m002()
+
+ Method(m003)
+ {
+ if (LNotEqual(i000, 0xabcd0005)) {
+ err("", zFFF, 0x003, 0, 0, i000, 0xabcd0005)
+ }
+ Store(0xabcd0007, i000)
+ return (0xabcd0008)
+ }
+
+ m003()
+}
+
+Method(m804)
+{
+ Name(i000, 0xabcd0000)
+
+ Method(m000)
+ {
+ Method(m000)
+ {
+ if (LNotEqual(i000, 0xabcd0000)) {
+ err("", zFFF, 0x004, 0, 0, i000, 0xabcd0000)
+ }
+ Store(0xabcd0001, i000)
+ return (0xabcd0002)
+ }
+
+ m000()
+
+ Method(m001)
+ {
+ if (LNotEqual(i000, 0xabcd0001)) {
+ err("", zFFF, 0x005, 0, 0, i000, 0xabcd0001)
+ }
+ Store(0xabcd0003, i000)
+ return (0xabcd0004)
+ }
+
+ m001()
+
+ Method(m002)
+ {
+ if (LNotEqual(i000, 0xabcd0003)) {
+ err("", zFFF, 0x006, 0, 0, i000, 0xabcd0003)
+ }
+ Store(0xabcd0005, i000)
+ return (0xabcd0006)
+ }
+
+ m002()
+
+ Method(m003)
+ {
+ if (LNotEqual(i000, 0xabcd0005)) {
+ err("", zFFF, 0x007, 0, 0, i000, 0xabcd0005)
+ }
+ Store(0xabcd0007, i000)
+ return (0xabcd0008)
+ }
+
+ m003()
+ }
+
+ m000()
+
+ Method(m001)
+ {
+ Method(m000)
+ {
+ if (LNotEqual(i000, 0xabcd0007)) {
+ err("", zFFF, 0x008, 0, 0, i000, 0xabcd0007)
+ }
+ Store(0xabcd0008, i000)
+ return (0xabcd0009)
+ }
+
+ m000()
+
+ Method(m001)
+ {
+ if (LNotEqual(i000, 0xabcd0008)) {
+ err("", zFFF, 0x009, 0, 0, i000, 0xabcd0008)
+ }
+ Store(0xabcd000a, i000)
+ return (0xabcd000b)
+ }
+
+ m001()
+
+ Method(m002)
+ {
+ if (LNotEqual(i000, 0xabcd000a)) {
+ err("", zFFF, 0x00a, 0, 0, i000, 0xabcd000a)
+ }
+ Store(0xabcd000c, i000)
+ return (0xabcd000d)
+ }
+
+ m002()
+
+ Method(m003)
+ {
+ if (LNotEqual(i000, 0xabcd000c)) {
+ err("", zFFF, 0x00b, 0, 0, i000, 0xabcd000c)
+ }
+ Store(0xabcd000e, i000)
+ return (0xabcd000f)
+ }
+
+ m003()
+ }
+
+ m001()
+
+ Method(m002)
+ {
+ Method(m000)
+ {
+ if (LNotEqual(i000, 0xabcd000e)) {
+ err("", zFFF, 0x00c, 0, 0, i000, 0xabcd000e)
+ }
+ Store(0xabcd0010, i000)
+ return (0xabcd0011)
+ }
+
+ m000()
+
+ Method(m001)
+ {
+ if (LNotEqual(i000, 0xabcd0010)) {
+ err("", zFFF, 0x00d, 0, 0, i000, 0xabcd0010)
+ }
+ Store(0xabcd0012, i000)
+ return (0xabcd0013)
+ }
+
+ m001()
+
+ Method(m002)
+ {
+ if (LNotEqual(i000, 0xabcd0012)) {
+ err("", zFFF, 0x00e, 0, 0, i000, 0xabcd0012)
+ }
+ Store(0xabcd0014, i000)
+ return (0xabcd0015)
+ }
+
+ m002()
+
+ Method(m003)
+ {
+ if (LNotEqual(i000, 0xabcd0014)) {
+ err("", zFFF, 0x00f, 0, 0, i000, 0xabcd0014)
+ }
+ Store(0xabcd0016, i000)
+ return (0xabcd0017)
+ }
+
+ m003()
+ }
+
+ m002()
+
+ if (LNotEqual(i000, 0xabcd0016)) {
+ err("", zFFF, 0x010, 0, 0, i000, 0xabcd0016)
+ }
+}
+
+
+
+
+
+
+
+
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0084/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0084/MAIN.asl
new file mode 100644
index 000000000..6ec278147
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0084/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B84.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0084/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0084/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0084/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0084/RUN.asl
new file mode 100644
index 000000000..94992ec16
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0084/RUN.asl
@@ -0,0 +1,40 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 84", TCLD, 84, W017)) {
+ SRMT("me36")
+ me36()
+ SRMT("m803")
+ m803()
+ SRMT("m804")
+ m804()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0085/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0085/DECL.asl
new file mode 100644
index 000000000..b70ce0e8d
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0085/DECL.asl
@@ -0,0 +1,85 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 0085:
+ *
+ * SUMMARY: Exception on DeRefOf operator applied to IRef to Uninitialized element of Package
+ */
+
+ // Uninitialized element of Package
+
+ Method(me37)
+ {
+ // Ref #1
+
+ Name(p000, Package(1){})
+
+
+ DeRefOf(Index(p000, 0))
+
+
+ Index(p000, 0, Local0)
+ Store(Local0, Debug)
+ DeRefOf(Local0)
+
+
+ Index(p000, 0, Local0)
+ Store(Local0, Debug)
+ }
+
+ // Reference to Uninitialized Local
+
+ Method(me38, 1)
+ {
+ if (1) {
+
+ // Ref #2
+
+ Store(arg0, Debug)
+ DeRefOf(arg0)
+ } else {
+ Increment(DeRefOf(arg0))
+ }
+ }
+
+ Method(me39, 1)
+ {
+ if (arg0) {
+ Store(0, Local0)
+ }
+ me38(RefOf(Local0))
+ }
+
+ Method(me3a)
+ {
+ me37()
+ me39(0)
+ }
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0085/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0085/MAIN.asl
new file mode 100644
index 000000000..c417c6f58
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0085/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B85.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0085/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0085/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0085/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0085/RUN.asl
new file mode 100644
index 000000000..82fa93c8b
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0085/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 85", TCLD, 85, W017)) {
+ SRMT("me3a")
+ me3a()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0086/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0086/DECL.asl
new file mode 100644
index 000000000..70c5b8bcb
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0086/DECL.asl
@@ -0,0 +1,76 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 0086:
+ *
+ * SUMMARY: ToString operator produces one "Outstanding allocation"
+ */
+
+ Method(me3b)
+ {
+ if (0) {
+ // 1 Outstanding allocation
+
+ ToString("qwrtyu")
+
+ } elseif (0) {
+
+ // 6 Outstanding allocations
+
+ ToString("qwrtyu")
+ ToString("qwrtyu")
+ ToString("qwrtyu")
+ ToString("qwrtyu")
+ ToString("qwrtyu")
+ ToString("qwrtyu")
+ } else {
+
+ // 17 Outstanding allocations
+
+ ToString("qwrtyu")
+ ToString("qwrtyu")
+ ToString("qwrtyu")
+ ToString("qwrtyu")
+ ToString("qwrtyu")
+ ToString("qwrtyu")
+ ToString("qwrtyu")
+ ToString("qwrtyu")
+ ToString("qwrtyu")
+ ToString("qwrtyu")
+ ToString("qwrtyu")
+ ToString("qwrtyu")
+ ToString("qwrtyu")
+ ToString("qwrtyu")
+ ToString("qwrtyu")
+ ToString("qwrtyu")
+ ToString("qwrtyu")
+ }
+ }
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0086/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0086/MAIN.asl
new file mode 100644
index 000000000..45b8a3e69
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0086/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B86.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0086/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0086/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0086/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0086/RUN.asl
new file mode 100644
index 000000000..581b89b46
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0086/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 86", TCLD, 86, W017)) {
+ SRMT("me3b")
+ me3b()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0087/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0087/DECL.asl
new file mode 100644
index 000000000..29ab3c432
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0087/DECL.asl
@@ -0,0 +1,103 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 0087:
+ *
+ * SUMMARY: Exception on Switch operator applied to the result of ToBuffer operator
+ */
+
+ Method(me3c)
+ {
+ Name(b000, Buffer(1){10})
+ Name(s000, "qwrtyuiop")
+
+ if (1) {
+
+ // This code shows that ToBuffer() works correctly
+
+ Store("======================: ToBuffer(Buffer)", Debug)
+ Store(ToBuffer(b000), Local0)
+ Store(Local0, Debug)
+ Store(ObjectType(Local0), Local1)
+ Store(Local1, Debug)
+ Store(SizeOf(Local0), Local2)
+ Store(Local2, Debug)
+ Store("======================: ToBuffer(String)", Debug)
+ Store(ToBuffer(s000), Local0)
+ Store(Local0, Debug)
+ Store(ObjectType(Local0), Local1)
+ Store(Local1, Debug)
+ Store(SizeOf(Local0), Local2)
+ Store(Local2, Debug)
+ Store("======================.", Debug)
+ }
+
+ // This code shows that ToBuffer() causes exceptions in cases #2, #3
+
+// if (0) {
+
+ // Case 1
+
+ Switch (Buffer(1){10}) {
+ Case ("N") {
+ Store("Case (A)", Debug)
+ }
+ Default {
+ Store("Default (A)", Debug)
+ }
+ }
+// } elseif (1) {
+
+ // Case 2
+
+ Switch (ToBuffer(Buffer(1){10})) {
+ Case ("N") {
+ Store("Case (B)", Debug)
+ }
+ Default {
+ Store("Default (B)", Debug)
+ }
+ }
+
+// } else {
+
+ // Case 3
+
+ Switch (ToBuffer(b000)) {
+ Case ("N") {
+ Store("Case (C)", Debug)
+ }
+ Default {
+ Store("Default (C)", Debug)
+ }
+ }
+// }
+ }
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0087/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0087/MAIN.asl
new file mode 100644
index 000000000..c6c635812
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0087/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B87.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0086/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0086/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0087/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0087/RUN.asl
new file mode 100644
index 000000000..304254195
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0087/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 87", TCLD, 87, W017)) {
+ SRMT("me3c")
+ me3c()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0088/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0088/DECL.asl
new file mode 100644
index 000000000..fae297a8d
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0088/DECL.asl
@@ -0,0 +1,77 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 0088:
+ *
+ * SUMMARY: Spec of Match operator should be changed (conversion/null package entries)
+ */
+
+ Method(me3d, 1)
+ {
+ Store(0, Local0)
+
+ Switch (ToInteger(arg0)) {
+ Case ("c179b3fe") {
+ Store(1, Local0)
+ }
+ Default {
+ Store(2, Local0)
+ }
+ }
+
+ if (LNotEqual(Local0, 1)) {
+ err("", zFFF, 0x000, 0, 0, Local0, 1)
+ }
+ }
+
+ Method(me3e, 1)
+ {
+ Store(0, Local0)
+
+ Switch (ToInteger(arg0)) {
+ Case (Package() {"c179b3fe"}) {
+ Store(1, Local0)
+ }
+ Default {
+ Store(2, Local0)
+ }
+ }
+
+ if (LNotEqual(Local0, 1)) {
+ err("", zFFF, 0x001, 0, 0, Local0, 1)
+ }
+ }
+
+ Method(me3f)
+ {
+ me3d(0xc179b3fe)
+ me3e(0xc179b3fe)
+ }
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0088/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0088/MAIN.asl
new file mode 100644
index 000000000..afbe3052c
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0088/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B88.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0088/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0088/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0088/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0088/RUN.asl
new file mode 100644
index 000000000..bc71c31d5
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0088/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 88", TCLD, 88, W017)) {
+ SRMT("me3f")
+ me3f()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0089_SPEC/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0089_SPEC/DECL.asl
new file mode 100644
index 000000000..6e4dfc314
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0089_SPEC/DECL.asl
@@ -0,0 +1,35 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 89:
+ *
+ * SUMMARY: Clarifying what does the ASL Method as an element of Package mean
+ */
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0090_SPEC/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0090_SPEC/DECL.asl
new file mode 100644
index 000000000..d29a11d96
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0090_SPEC/DECL.asl
@@ -0,0 +1,35 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 90:
+ *
+ * SUMMARY: Spec of Match operator should be changed (conversion/null package entries)
+ */
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0091_SPEC/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0091_SPEC/DECL.asl
new file mode 100644
index 000000000..d910377b3
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0091_SPEC/DECL.asl
@@ -0,0 +1,35 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 91:
+ *
+ * SUMMARY: The result of String-to-Buffer conversion should include the string null terminator
+ */
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0092/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0092/DECL.asl
new file mode 100644
index 000000000..afc11aa78
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0092/DECL.asl
@@ -0,0 +1,87 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 0092:
+ *
+ * SUMMARY: Invalid result of Index operator passed with the immediate image of Package
+ */
+
+ Method(me40, 1)
+ {
+ Name(p000, Package() {1,2,3,4,5,6,7,8})
+
+ if (LEqual(Arg0, 0)) {
+
+ Store("Package as a named object:", Debug)
+
+ CH03("", 0, 0x000, 0, 0)
+ Store(DerefOf(Index(p000, 5)), Local0)
+ if (LNotEqual(Local0, 6)) {
+ err("", zFFF, 0x001, 0, 0, Local0, 6)
+ }
+ CH03("", 0, 0x002, 0, 0)
+ } elseif (LEqual(Arg0, 1)) {
+
+ Store("The same Package but substituted immediately:", Debug)
+
+ CH03("", 0, 0x003, 0, 0)
+ Store(Index(Package() {1,2,3,4,5,6,7,8}, 5), Local1)
+ if (y900) {
+ Store(DerefOf(Local1), Local0)
+ if (LNotEqual(Local0, 6)) {
+ err("", zFFF, 0x004, 0, 0, Local0, 6)
+ }
+ CH03("", 0, 0x005, 0, 0)
+ } else {
+ CH04("", 0, 0xff, 0, 0x006, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+ }
+ } else {
+
+ CH03("", 0, 0x007, 0, 0)
+ Store(DerefOf(Index(Package() {1,2,3,4,5,6,7,8}, 5)), Local0)
+ if (y900) {
+ if (LNotEqual(Local0, 6)) {
+ err("", zFFF, 0x008, 0, 0, Local0, 6)
+ }
+ CH03("", 0, 0x009, 0, 0)
+ } else {
+ CH04("", 0, 0xff, 0, 0x00a, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+ }
+ }
+ }
+
+ Method(me41)
+ {
+ // 0,1 - success, 2 - crash
+ me40(0)
+ me40(1)
+ me40(2)
+ }
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0092/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0092/MAIN.asl
new file mode 100644
index 000000000..c3f6e7631
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0092/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B92.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0092/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0092/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0092/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0092/RUN.asl
new file mode 100644
index 000000000..a52523ab4
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0092/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 92", TCLD, 92, W017)) {
+ SRMT("me41")
+ me41()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0093/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0093/DECL.asl
new file mode 100644
index 000000000..fe14ff6fb
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0093/DECL.asl
@@ -0,0 +1,93 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 0093:
+ *
+ * SUMMARY: Invalid result of Index operator passed with the immediate image of Buffer
+ */
+
+ Method(me42, 1)
+ {
+ Name(b000, Buffer() {11,22,33,44,55,66,77,88})
+
+ if (LEqual(Arg0, 0)) {
+
+ Store("Buffer as a named object:", Debug)
+
+ CH03("", 0, 0x000, 0, 0)
+ Store(DerefOf(Index(b000, 5)), Local0)
+ if (LNotEqual(Local0, 66)) {
+ err("", zFFF, 0x001, 0, 0, Local0, 66)
+ }
+ CH03("", 0, 0x002, 0, 0)
+
+ } elseif (LEqual(Arg0, 1)) {
+
+ Store("The same Buffer but substituted immediately:", Debug)
+
+ CH03("", 0, 0x003, 0, 0)
+ Store(Index(Buffer() {11,22,33,44,55,66,77,88}, 5), Local1)
+ if (y900) {
+ Store(DerefOf(Local1), Local0)
+ if (LNotEqual(Local0, 66)) {
+ err("", zFFF, 0x004, 0, 0, Local0, 66)
+ }
+ CH03("", 0, 0x005, 0, 0)
+ } else {
+ CH04("", 0, 0xff, 0, 0x006, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+ }
+
+ } else {
+
+ CH03("", 0, 0x007, 0, 0)
+ Store(DerefOf(Index(Buffer() {11,22,33,44,55,66,77,88}, 5)), Local0)
+ if (y900) {
+ if (LNotEqual(Local0, 66)) {
+ err("", zFFF, 0x008, 0, 0, Local0, 66)
+ }
+ CH03("", 0, 0x009, 0, 0)
+ } else {
+ CH04("", 0, 0xff, 0, 0x00a, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+ }
+ }
+ }
+
+ Method(me43)
+ {
+ // 0,1 - success, 2 - crash
+ me42(0)
+ me42(1)
+ me42(2)
+
+ return (0)
+ }
+
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0093/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0093/MAIN.asl
new file mode 100644
index 000000000..ccc905f4e
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0093/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B93.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0093/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0093/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0093/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0093/RUN.asl
new file mode 100644
index 000000000..9daeed91b
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0093/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 93", TCLD, 93, W017)) {
+ SRMT("me43")
+ me43()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0094/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0094/DECL.asl
new file mode 100644
index 000000000..dbed979f2
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0094/DECL.asl
@@ -0,0 +1,93 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 0094:
+ *
+ * SUMMARY: Invalid result of Index operator passed with the immediate image of String
+ */
+
+ Method(me44, 1)
+ {
+ Name(s000, "qwrtyuiop")
+
+ if (LEqual(Arg0, 0)) {
+
+ Store("String as a named object:", Debug)
+
+ CH03("", 0, 0x000, 0, 0)
+ Store(DerefOf(Index(s000, 5)), Local0)
+ if (LNotEqual(Local0, 0x75)) {
+ err("", zFFF, 0x001, 0, 0, Local0, 0x75)
+ }
+ CH03("", 0, 0x002, 0, 0)
+
+ } elseif (LEqual(Arg0, 1)) {
+
+ Store("The same String but substituted immediately:", Debug)
+
+ CH03("", 0, 0x003, 0, 0)
+ Store(Index("qwrtyuiop", 5), Local1)
+ if (y900) {
+ Store(DerefOf(Local1), Local0)
+ if (LNotEqual(Local0, 0x75)) {
+ err("", zFFF, 0x004, 0, 0, Local0, 0x75)
+ }
+ CH03("", 0, 0x005, 0, 0)
+ } else {
+ CH04("", 0, 0xff, 0, 0x006, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+ }
+
+ } else {
+
+ CH03("", 0, 0x007, 0, 0)
+ Store(DerefOf(Index("qwrtyuiop", 5)), Local0)
+ if (y900) {
+ if (LNotEqual(Local0, 0x75)) {
+ err("", zFFF, 0x008, 0, 0, Local0, 0x75)
+ }
+ CH03("", 0, 0x009, 0, 0)
+ } else {
+ CH04("", 0, 0xff, 0, 0x00a, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+ }
+ }
+ }
+
+ Method(me45)
+ {
+ // 0 - success, 1,2 - exception
+ me44(0)
+ me44(1)
+ me44(2)
+
+ return (0)
+ }
+
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0094/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0094/MAIN.asl
new file mode 100644
index 000000000..f86957ebe
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0094/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B94.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0094/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0094/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0094/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0094/RUN.asl
new file mode 100644
index 000000000..18a8bfd5e
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0094/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 94", TCLD, 94, W017)) {
+ SRMT("me45")
+ me45()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0095/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0095/DECL.asl
new file mode 100644
index 000000000..024e0dae7
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0095/DECL.asl
@@ -0,0 +1,61 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 0095:
+ *
+ * SUMMARY: Big amount of invocations of Methods causes overlap of OwnerId counter
+ */
+
+ Method(me46, 1)
+ {
+ return (arg0)
+ }
+
+ Method(me47, 1)
+ {
+ Name(lpN0, 0xF101)
+
+ While(lpN0) {
+ Store(Decrement(lpN0), Local0)
+ me46(Local0)
+ if (LEqual(Mod(Local0, 0x100), 1)) {
+ // Store(Local0, Debug)
+ Store(0, Local7)
+ }
+ }
+ return (arg0)
+ }
+
+ Method(me48)
+ {
+ me47(1)
+ return (0)
+ }
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0095/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0095/MAIN.asl
new file mode 100644
index 000000000..7795e7e7b
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0095/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B95.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0095/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0095/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0095/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0095/RUN.asl
new file mode 100644
index 000000000..58382de7e
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0095/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 95", TCLD, 95, W017)) {
+ SRMT("me48")
+ me48()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0096_ASL/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0096_ASL/DECL.asl
new file mode 100644
index 000000000..c25704c28
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0096_ASL/DECL.asl
@@ -0,0 +1,88 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 0096:
+ *
+ * SUMMARY: The ASL Compiler fails to recognize specific Uninitialized LocalX
+ */
+
+ Method(me49, 1)
+ {
+ Store("============= Test started:", Debug)
+
+ if (Arg0) {
+
+ Store(0, Local0)
+
+ } else {
+
+ Store("============= Before using uninitialized Local0:", Debug)
+
+ Store(Local0, Debug)
+ }
+
+ Store("============= Test finished.", Debug)
+ }
+
+ Method(me4a, 1)
+ {
+ Store("============= Test started:", Debug)
+
+ if (Arg0) {
+
+ Store(0, Local0)
+
+ }
+
+ Store("============= Before using uninitialized Local0:", Debug)
+
+ Store(Local0, Debug)
+
+ Store("============= Test finished.", Debug)
+ }
+
+ Method(me4b)
+ {
+ if (SLCK) {
+ CH03("", 0, 0x000, 0, 0)
+ me49(0)
+ CH03("", 0, 0x001, 0, 0)
+ me4a(0)
+ CH03("", 0, 0x002, 0, 0)
+ } else {
+ CH03("", 0, 0x003, 0, 0)
+ me49(0)
+ CH04("", 0, 49, 0, 0x004, 0, 0) // AE_AML_UNINITIALIZED_LOCAL
+ CH03("", 0, 0x005, 0, 0)
+ me4a(0)
+ CH04("", 0, 49, 0, 0x006, 0, 0) // AE_AML_UNINITIALIZED_LOCAL
+ }
+ }
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0096_ASL/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0096_ASL/MAIN.asl
new file mode 100644
index 000000000..c26040862
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0096_ASL/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B96.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0096_ASL/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0096_ASL/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0096_ASL/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0096_ASL/RUN.asl
new file mode 100644
index 000000000..b318493ff
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0096_ASL/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 96", TCLD, 96, W017)) {
+ SRMT("me4b")
+ me4b()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0097/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0097/DECL.asl
new file mode 100644
index 000000000..bbfd8c616
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0097/DECL.asl
@@ -0,0 +1,79 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 0097:
+ *
+ * SUMMARY: Crash on ObjectType passed with IRef to Method which is an element of Package
+ */
+
+ Method(me4c) {
+ return (0)
+ }
+
+ Method(me4d, 1)
+ {
+ Store("============= Run ObjectType:", Debug)
+ Store(ObjectType(arg0), Local0)
+ Store("============= Print result of ObjectType:", Debug)
+ Store(Local0, Debug)
+ }
+
+ Method(me4e)
+ {
+
+ Name(p000, Package(32) {1,2,me4c,3,4})
+
+ Store("============= Test me4e started:", Debug)
+
+ Store(Index(p000, 2, Local1), Local0)
+ me4d(Local1)
+
+ Store("============= Test me4e finished.", Debug)
+ }
+
+ Method(me4f)
+ {
+
+ Name(p000, Package(32) {1,2,me4c,3,4})
+
+ Store("============= Test me4f started:", Debug)
+
+ Store(Index(p000, 2, Local1), Local0)
+ me4d(Local0)
+
+ Store("============= Test me4f finished.", Debug)
+ }
+
+ Method(me50)
+ {
+ me4e()
+ me4f()
+ }
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0097/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0097/MAIN.asl
new file mode 100644
index 000000000..0c3441657
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0097/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B97.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0097/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0097/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0097/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0097/RUN.asl
new file mode 100644
index 000000000..839f5c6a5
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0097/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 97", TCLD, 97, W017)) {
+ SRMT("me50")
+ me50()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0098/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0098/DECL.asl
new file mode 100644
index 000000000..547599329
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0098/DECL.asl
@@ -0,0 +1,381 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 0098:
+ *
+ * SUMMARY: Crash on a specific AML code
+ */
+
+ Method(me51, 1)
+ {
+ Store(ObjectType(arg0), Local0)
+ Store(Local0, Debug)
+ }
+
+ Method(me52)
+ {
+ Name(run0, 1)
+ Name(run1, 1)
+ Name(run2, 1)
+
+ Name(p000, Package(32) { 0, dd08, sd01, bd04, 0})
+
+
+ Store("============= Test started:", Debug)
+
+ if (run0) {
+ Store("============= Integer:", Debug)
+ Store(Index(p000, 1, Local1), Local0)
+ Store(Local1, Debug)
+ me51(Local1)
+ Store(Local0, Debug)
+ }
+ if (run1) {
+ Store("============= String:", Debug)
+ Store(Index(p000, 2, Local1), Local0)
+ Store(Local1, Debug)
+ me51(Local1)
+ Store(Local0, Debug)
+ }
+
+ if (run2) {
+ Store("============= Buffer:", Debug)
+ Store(Index(p000, 3, Local1), Local0)
+ Store(Local1, Debug)
+ me51(Local1)
+ Store(Local0, Debug)
+ }
+
+ Store("============= Test finished.", Debug)
+ }
+
+ // Arg0 - the type of object
+ // (for 8 (- Method) causes crash, Bug 0097)
+ Method(me54, 1)
+ {
+ Name(pd02, Package(32) {
+ 0,
+ id0c, sd02, bd05, pd02, fd02, dd09, ed01, me53,
+ mxd1, rd03, pwd0, prd0, tzd0, bfd0,
+ })
+
+ Store("============= Test started:", Debug)
+
+ Switch (Arg0) {
+ Case (0) {
+ Store("============= Uninitialized:", Debug)
+ }
+ Case (1) {
+ Store("============= Integer:", Debug)
+ Store(Index(pd02, 1, Local1), Local0)
+ Store(Local1, Debug)
+ me56(Local1)
+ Store(Local0, Debug)
+ }
+ Case (2) {
+ Store("============= String:", Debug)
+ Store(Index(pd02, 2, Local1), Local0)
+ Store(Local1, Debug)
+ me56(Local1)
+ Store(Local0, Debug)
+ }
+ Case (3) {
+ Store("============= Buffer:", Debug)
+ Store(Index(pd02, 3, Local1), Local0)
+ Store(Local1, Debug)
+ me56(Local1)
+ Store(Local0, Debug)
+ }
+ Case (4) {
+ Store("============= Package:", Debug)
+ Store(Index(pd02, 4, Local1), Local0)
+ Store(Local1, Debug)
+ me56(Local1)
+ Store(Local0, Debug)
+ }
+ Case (5) {
+ Store("============= Field Unit:", Debug)
+ Store(Index(pd02, 5, Local1), Local0)
+ Store(Local1, Debug)
+ me56(Local1)
+ Store(Local0, Debug)
+ }
+ Case (6) {
+ Store("============= Device:", Debug)
+ Store(Index(pd02, 6, Local1), Local0)
+ Store(Local1, Debug)
+ me56(Local1)
+ Store(Local0, Debug)
+ }
+ Case (7) {
+ Store("============= Event:", Debug)
+ Store(Index(pd02, 7, Local1), Local0)
+ Store(Local1, Debug)
+ me56(Local1)
+ Store(Local0, Debug)
+ }
+ Case (8) {
+ Store("============= Method:", Debug)
+ Store(Index(pd02, 8, Local1), Local0)
+ Store(Local1, Debug)
+ me56(Local1)
+ Store(Local0, Debug)
+ }
+ Case (9) {
+ Store("============= Mutex:", Debug)
+ Store(Index(pd02, 9, Local1), Local0)
+ Store(Local1, Debug)
+ me56(Local1)
+ Store(Local0, Debug)
+ }
+ Case (10) {
+ Store("============= OperationRegion:", Debug)
+ Store(Index(pd02, 10, Local1), Local0)
+ Store(Local1, Debug)
+ me56(Local1)
+ Store(Local0, Debug)
+ }
+ Case (11) {
+ Store("============= PowerResource:", Debug)
+ Store(Index(pd02, 11, Local1), Local0)
+ Store(Local1, Debug)
+ me56(Local1)
+ Store(Local0, Debug)
+ }
+ Case (12) {
+ Store("============= Processor:", Debug)
+ Store(Index(pd02, 12, Local1), Local0)
+ Store(Local1, Debug)
+ me56(Local1)
+ Store(Local0, Debug)
+ }
+ Case (13) {
+ Store("============= ThermalZone:", Debug)
+ Store(Index(pd02, 13, Local1), Local0)
+ Store(Local1, Debug)
+ me56(Local1)
+ Store(Local0, Debug)
+ }
+ Case (14) {
+ Store("============= Buffer Field:", Debug)
+ Store(Index(pd02, 14, Local1), Local0)
+ Store(Local1, Debug)
+ me56(Local1)
+ Store(Local0, Debug)
+ }
+ } // Switch
+
+ Store("============= Test finished.", Debug)
+ }
+
+ /*
+ * The same as me54 but all the cases are invoked not
+ * one by one calling to the me54() Method with the next
+ * in turn type of data but all the types of data are
+ * exercised simultaneously during one call to me55
+ * method.
+ */
+ Method(me55)
+ {
+ Name(pd02, Package(32) {
+ 0,
+ id0c, sd02, bd05, pd02, fd02, dd09, ed01, me53,
+ mxd1, rd03, pwd0, prd0, tzd0, bfd0,
+ })
+
+ Store("============= Test started:", Debug)
+
+ // Switch (Arg0) {
+ // Case (0) {
+ Store("============= Uninitialized:", Debug)
+ // }
+ // Case (1) {
+ Store("============= Integer:", Debug)
+ Store(Index(pd02, 1, Local1), Local0)
+ Store(Local1, Debug)
+ me56(Local1)
+ Store(Local0, Debug)
+ // }
+ // Case (2) {
+ Store("============= String:", Debug)
+ Store(Index(pd02, 2, Local1), Local0)
+ Store(Local1, Debug)
+ me56(Local1)
+ Store(Local0, Debug)
+ // }
+ // Case (3) {
+ Store("============= Buffer:", Debug)
+ Store(Index(pd02, 3, Local1), Local0)
+ Store(Local1, Debug)
+ me56(Local1)
+ Store(Local0, Debug)
+ // }
+ // Case (4) {
+ Store("============= Package:", Debug)
+ Store(Index(pd02, 4, Local1), Local0)
+ Store(Local1, Debug)
+ me56(Local1)
+ Store(Local0, Debug)
+ // }
+ // Case (5) {
+ Store("============= Field Unit:", Debug)
+ Store(Index(pd02, 5, Local1), Local0)
+ Store(Local1, Debug)
+ me56(Local1)
+ Store(Local0, Debug)
+ // }
+ // Case (6) {
+ Store("============= Device:", Debug)
+ Store(Index(pd02, 6, Local1), Local0)
+ Store(Local1, Debug)
+ me56(Local1)
+ Store(Local0, Debug)
+ // }
+ // Case (7) {
+ Store("============= Event:", Debug)
+ Store(Index(pd02, 7, Local1), Local0)
+ Store(Local1, Debug)
+ me56(Local1)
+ Store(Local0, Debug)
+ // }
+/*
+ * Causes crash, Bug 0097
+ *
+ * // Case (8) {
+ * Store("============= Method:", Debug)
+ * Store(Index(pd02, 8, Local1), Local0)
+ * Store(Local1, Debug)
+ * me56(Local1)
+ * Store(Local0, Debug)
+ * // }
+ */
+ // Case (9) {
+ Store("============= Mutex:", Debug)
+ Store(Index(pd02, 9, Local1), Local0)
+ Store(Local1, Debug)
+ me56(Local1)
+ Store(Local0, Debug)
+ // }
+ // Case (10) {
+ Store("============= OperationRegion:", Debug)
+ Store(Index(pd02, 10, Local1), Local0)
+ Store(Local1, Debug)
+ me56(Local1)
+ Store(Local0, Debug)
+ // }
+ // Case (11) {
+ Store("============= PowerResource:", Debug)
+ Store(Index(pd02, 11, Local1), Local0)
+ Store(Local1, Debug)
+ me56(Local1)
+ Store(Local0, Debug)
+ // }
+ // Case (12) {
+ Store("============= Processor:", Debug)
+ Store(Index(pd02, 12, Local1), Local0)
+ Store(Local1, Debug)
+ me56(Local1)
+ Store(Local0, Debug)
+ // }
+ // Case (13) {
+ Store("============= ThermalZone:", Debug)
+ Store(Index(pd02, 13, Local1), Local0)
+ Store(Local1, Debug)
+ me56(Local1)
+ Store(Local0, Debug)
+ // }
+ // Case (14) {
+ Store("============= Buffer Field:", Debug)
+ Store(Index(pd02, 14, Local1), Local0)
+ Store(Local1, Debug)
+ me56(Local1)
+ Store(Local0, Debug)
+ // }
+ // } // Switch
+
+ Store("============= Test finished.", Debug)
+ }
+
+ Method(me56, 1)
+ {
+ Store(ObjectType(arg0), Local0)
+ Store(Local0, Debug)
+ }
+
+ Method(me57)
+ {
+ me54(0)
+ me54(1)
+ me54(2)
+ me54(3)
+ me54(4)
+ me54(5)
+ me54(6)
+ me54(7)
+/*
+ * Causes crash, Bug 0097
+ * me54(8)
+ */
+ me54(9)
+ me54(10)
+ me54(11)
+ me54(12)
+ me54(13)
+ me54(14)
+ }
+
+ Method(me58)
+ {
+ /*
+ * Exercise one particular type of data
+ * which is specified by Arg0.
+ *
+ * Arg0 - the type of object (0-14)
+ * for 8 (Method) causes crash, Bug 0097
+ */
+ me54(14)
+
+ /*
+ * Call to me54 for each type of data excluding
+ * 8 (Method) (causes crash, Bug 0097).
+ */
+ me57()
+
+ /*
+ * The same as me54 but all the cases are invoked not
+ * one by one calling to the me54() Method with the next
+ * in turn type of data but all the types of data are
+ * exercised simultaneously during one call to me55
+ * method.
+ */
+ me55()
+ }
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0098/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0098/MAIN.asl
new file mode 100644
index 000000000..a24403d4c
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0098/MAIN.asl
@@ -0,0 +1,58 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B98.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/common/DECL.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0098/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0098/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0098/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0098/RUN.asl
new file mode 100644
index 000000000..60fec7abe
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0098/RUN.asl
@@ -0,0 +1,45 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 98", TCLD, 98, W017)) {
+ SRMT("me52")
+ me52()
+ if (y176) {
+ /*
+ * Method me52 is enough to identify this bug,
+ * so dont set up BLOCKED for this me58.
+ * me58 will be added after bug-176 fixing.
+ */
+ SRMT("me58")
+ me58()
+ }
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0099/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0099/DECL.asl
new file mode 100644
index 000000000..a8dbcb336
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0099/DECL.asl
@@ -0,0 +1,50 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 0099:
+ *
+ * SUMMARY: The specific sequence of operations dealing with IRef/ORef corrupts the source object
+ */
+
+ Method(me5b)
+ {
+ Name(s000, "12345678")
+ Name(b000, Buffer(2) {0x11, 0x22})
+ Name(p000, Package(2) {0x33, 0x44})
+
+ Store(DerefOf(Index(p000, 0, Local1)), Local0)
+ Store(DerefOf(RefOf(p000)), Local0)
+ Store(DerefOf(RefOf(s000)), Local0)
+ Store(DerefOf(RefOf(b000)), Local0)
+ Store(s000, Debug)
+
+ return (0)
+ }
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0099/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0099/MAIN.asl
new file mode 100644
index 000000000..b2a8f89b9
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0099/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B99.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0099/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0099/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0099/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0099/RUN.asl
new file mode 100644
index 000000000..9c84441a9
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0099/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 99", TCLD, 99, W017)) {
+ SRMT("me5b")
+ me5b()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0100/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0100/DECL.asl
new file mode 100644
index 000000000..aacb1e164
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0100/DECL.asl
@@ -0,0 +1,53 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 0100:
+ *
+ * SUMMARY: The specific combination of operators aborts execution
+ */
+
+ Method(me5c)
+ {
+ return (0)
+ }
+
+ Method(me5d)
+ {
+ Store("Start of test:", Debug)
+
+ me5c()
+
+ Device(d000) {}
+
+ Name(i000, 0xabcdef)
+
+ Store("Finish of test.", Debug)
+ }
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0100/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0100/MAIN.asl
new file mode 100644
index 000000000..f9bb66915
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0100/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B100.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0100/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0100/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0100/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0100/RUN.asl
new file mode 100644
index 000000000..5e29d1059
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0100/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 100", TCLD, 100, W017)) {
+ SRMT("me5d")
+ me5d()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0101/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0101/DECL.asl
new file mode 100644
index 000000000..769ec81b3
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0101/DECL.asl
@@ -0,0 +1,84 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 0101:
+ *
+ * SUMMARY: The ASL compiler fails to create RefOf reference to Method not returning explicitly any object
+ */
+
+ // ////////
+
+ Method(me5e) {}
+
+ Method(me5f)
+ {
+ Store(RefOf(me5e), Local0)
+ Store(ObjectType(Local0), Debug)
+
+ Store(ObjectType(Local0), Local1)
+
+ if (LNotEqual(Local1, c010)) {
+ err("", zFFF, 0x000, 0, 0, Local1, c010)
+ }
+
+ return (0)
+ }
+
+ // ////////
+
+ Method(me60) { return (1) }
+
+ Method(me61)
+ {
+ Store("Start of test", Debug)
+
+ Store(RefOf(me60), Local0)
+
+ Store("ObjectType(Local0):", Debug)
+
+ Store(ObjectType(Local0), Local1)
+
+ Store(Local1, Debug)
+
+ if (LNotEqual(Local1, c010)) {
+ err("", zFFF, 0x001, 0, 0, Local1, c010)
+ }
+
+ Store("Finish of test", Debug)
+
+ return (0)
+ }
+
+ Method(me62)
+ {
+ me5f()
+ me61()
+ }
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0101/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0101/MAIN.asl
new file mode 100644
index 000000000..d42c07c4a
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0101/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B101.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0101/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0101/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0101/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0101/RUN.asl
new file mode 100644
index 000000000..5eef18f97
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0101/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 101", TCLD, 101, W017)) {
+ SRMT("me62")
+ me62()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0102/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0102/DECL.asl
new file mode 100644
index 000000000..5a1942d94
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0102/DECL.asl
@@ -0,0 +1,41 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 0102:
+ *
+ * SUMMARY: The specific combination of operators produces one "Outstanding allocation"
+ */
+
+ Method(me63)
+ {
+ Method(m001) { return (0x12345678) }
+ Name(p000, Package() {m001})
+ }
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0102/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0102/MAIN.asl
new file mode 100644
index 000000000..7d018dfc9
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0102/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B102.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0102/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0102/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0102/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0102/RUN.asl
new file mode 100644
index 000000000..3faa9ee02
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0102/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 102", TCLD, 102, W017)) {
+ SRMT("me63")
+ me63()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0103/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0103/DECL.asl
new file mode 100644
index 000000000..30d5637f4
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0103/DECL.asl
@@ -0,0 +1,73 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 0103:
+ *
+ * SUMMARY: The Method type element of Package is being invoked
+ */
+
+ Method(me64)
+ {
+ Store("me64 invoked", Debug)
+ Store(1, id0d)
+ return (7)
+ }
+
+ Method(me65)
+ {
+ Store("me65 invoked", Debug)
+ Store(1, id0e)
+ return (123)
+ }
+
+ Method(me66)
+ {
+ Store("Start of test", Debug)
+
+ Name(p000, Package() {1,2,me64,4,me64,me65,7,me64})
+
+ Store("Finish of test", Debug)
+
+ return (0)
+ }
+
+ Method(me67)
+ {
+ me66()
+
+ if (id0d) {
+ err("", zFFF, 0x000, 0, 0, 0, 0)
+ }
+
+ if (id0e) {
+ err("", zFFF, 0x001, 0, 0, 0, 0)
+ }
+ }
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0103/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0103/MAIN.asl
new file mode 100644
index 000000000..3cf6a1d3e
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0103/MAIN.asl
@@ -0,0 +1,58 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B103.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/common/DECL.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0103/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0103/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0103/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0103/RUN.asl
new file mode 100644
index 000000000..ee89516ec
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0103/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 103", TCLD, 103, W017)) {
+ SRMT("me67")
+ me67()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0104/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0104/DECL.asl
new file mode 100644
index 000000000..a63d91113
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0104/DECL.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 0104:
+ *
+ * SUMMARY: The ObjectType operator being passed with the IRef to the Uninitialized element of Package causes crash
+ */
+
+ Method(me68)
+ {
+ Store("Start of test", Debug)
+
+ Name(p000, Package(1) {})
+
+ Store(Index(p000, 0), Local0)
+
+ Store(Local0, Debug)
+
+ Store("ObjectType(Local0):", Debug)
+
+ Store(ObjectType(Local0), Local1)
+ Store(Local1, Debug)
+
+ if (LNotEqual(Local1, c008)) {
+ err("", zFFF, 0x000, 0, 0, Local1, c008)
+ }
+
+ Store("Finish of test", Debug)
+ }
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0104/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0104/MAIN.asl
new file mode 100644
index 000000000..c5dbf429b
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0104/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B104.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0104/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0104/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0104/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0104/RUN.asl
new file mode 100644
index 000000000..065b6b982
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0104/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 104", TCLD, 104, W017)) {
+ SRMT("me68")
+ me68()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0105/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0105/DECL.asl
new file mode 100644
index 000000000..2dca0edcb
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0105/DECL.asl
@@ -0,0 +1,55 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 0105:
+ *
+ * SUMMARY: The ObjectType operator being passed with the IRef obtained by the specific way causes crash
+ */
+
+ Method(me6a)
+ {
+ Store("Start of test", Debug)
+
+ Store(Index(pd03, 0), Local0)
+
+ Store(Local0, Debug)
+
+ Store("ObjectType(Local0):", Debug)
+
+ Store(ObjectType(Local0), Local1)
+ Store(Local1, Debug)
+
+ if (LNotEqual(Local1, c010)) {
+ err("", zFFF, 0x000, 0, 0, Local1, c010)
+ }
+
+ Store("Finish of test", Debug)
+ }
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0105/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0105/MAIN.asl
new file mode 100644
index 000000000..f8f990256
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0105/MAIN.asl
@@ -0,0 +1,58 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B105.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/common/DECL.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0105/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0105/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0105/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0105/RUN.asl
new file mode 100644
index 000000000..39899815a
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0105/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 105", TCLD, 105, W017)) {
+ SRMT("me6a")
+ me6a()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0106/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0106/DECL.asl
new file mode 100644
index 000000000..14c077011
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0106/DECL.asl
@@ -0,0 +1,52 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 0106:
+ *
+ * SUMMARY: Crash on RefOf(Debug) operation
+ */
+
+ Method(me6b)
+ {
+ Store(RefOf(Debug), Local0)
+ Store(Local0, Debug)
+
+ Store("Run printing in a such way!", DerefOf(Local0))
+
+ Store(DerefOf(Local0), Local1)
+
+ Store(ObjectType(Local1), Local2)
+ Store(Local2, Debug)
+
+ if (LNotEqual(Local2, c018)) {
+ err("", zFFF, 0x000, 0, 0, Local2, c018)
+ }
+ }
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0106/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0106/MAIN.asl
new file mode 100644
index 000000000..f9475dbc8
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0106/MAIN.asl
@@ -0,0 +1,58 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B106.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/common/DECL.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0106/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0106/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0106/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0106/RUN.asl
new file mode 100644
index 000000000..622e1a895
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0106/RUN.asl
@@ -0,0 +1,40 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 106", TCLD, 106, W017)) {
+ SRMT("me6b")
+ if (y106) {
+ me6b()
+ } else {
+ BLCK()
+ }
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0107/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0107/DECL.asl
new file mode 100644
index 000000000..2fc2adca2
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0107/DECL.asl
@@ -0,0 +1,71 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 0107:
+ *
+ * SUMMARY: The ASL Compiler crashes when tries to convert data that can not be converted
+ */
+
+ Method(me6c)
+ {
+ Store(LLess(1, "1234q"), Local0)
+ Store(Local0, Debug)
+
+ if (LNotEqual(Local0, Ones)) {
+ err("", zFFF, 0x000, 0, 0, Local0, Ones)
+ }
+
+ }
+ Method(me6d)
+ {
+ Store(Add("1234q", 1), Local0)
+ Store(Local0, Debug)
+
+ if (LNotEqual(Local0, 0x1235)) {
+ err("", zFFF, 0x001, 0, 0, Local0, 0x1235)
+ }
+ }
+ Method(me6e)
+ {
+ Store(Not("1234q"), Local0)
+ Store(Local0, Debug)
+
+ if (LNotEqual(Local0, 0xffffffffffffedcb)) {
+ err("", zFFF, 0x002, 0, 0, Local0, 0xffffffffffffedcb)
+ }
+ }
+
+ Method(me6f)
+ {
+ me6c()
+ me6d()
+ me6e()
+ }
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0107/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0107/MAIN.asl
new file mode 100644
index 000000000..99b62011c
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0107/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B107.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0107/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0107/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0107/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0107/RUN.asl
new file mode 100644
index 000000000..a2ec79472
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0107/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 107", TCLD, 107, W017)) {
+ SRMT("me6f")
+ me6f()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0108_ASL/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0108_ASL/DECL.asl
new file mode 100644
index 000000000..f3538b755
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0108_ASL/DECL.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 0108:
+ *
+ * SUMMARY: The ASL Compiler crashes when the result of ToBCD exceeds the current range of Integer
+ *
+ * Crash on compilation...
+ */
+
+ Method(me70)
+ {
+ Store(ToBCD(0x5F5E0FF), Local0)
+ if (LNotEqual(Local0, 0)) {
+ err("", zFFF, 0x000, 0, 0, Local0, 0)
+ }
+ Store(ToBCD(0x5F5E100), Local0)
+ if (LNotEqual(Local0, 0)) {
+ err("", zFFF, 0x001, 0, 0, Local0, 0)
+ }
+ Store(ToBCD(0x2386F26FC0FFFF), Local0)
+ if (LNotEqual(Local0, 0)) {
+ err("", zFFF, 0x002, 0, 0, Local0, 0)
+ }
+ Store(ToBCD(0x2386F26FC10000), Local0)
+ if (LNotEqual(Local0, 0)) {
+ err("", zFFF, 0x003, 0, 0, Local0, 0)
+ }
+ }
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0108_ASL/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0108_ASL/MAIN.asl
new file mode 100644
index 000000000..847bb7179
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0108_ASL/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B108.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0108_ASL/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0108_ASL/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0108_ASL/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0108_ASL/RUN.asl
new file mode 100644
index 000000000..7ef9409e8
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0108_ASL/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 108", TCLD, 108, W017)) {
+ SRMT("me70")
+ me70()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0109_ASL/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0109_ASL/DECL.asl
new file mode 100644
index 000000000..8a219390c
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0109_ASL/DECL.asl
@@ -0,0 +1,40 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 109:
+ *
+ * SUMMARY: The ASL Compiler crashes on FromBCD being passed with the invalid data (hex image containing not only decimal digits)
+ */
+
+ Method(me71)
+ {
+ Store(FromBCD(0xa), Local0)
+ }
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0109_ASL/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0109_ASL/MAIN.asl
new file mode 100644
index 000000000..1b4f7f349
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0109_ASL/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B109.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0109_ASL/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+// Include("../../../../../runtime/collections/bdemo/ACPICA/0109_ASL/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0110_ML/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0110_ML/DECL.asl
new file mode 100644
index 000000000..0501757be
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0110_ML/DECL.asl
@@ -0,0 +1,56 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 110:
+ *
+ * SUMMARY: The Memory Leak anomaly on a While operator (the first anomaly encountered by PMEMCV instrumentation)
+ *
+ * Only, to demonstrate visually the rate of execution
+ * before and after the patch has been applied.
+ */
+
+ Method(me72)
+ {
+ Name(lpN0, 10000)
+ Name(lpC0, 0)
+
+ Store("################################# Start of test", Debug)
+
+ While (lpN0) {
+
+ Store(lpC0, Debug)
+
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+
+ Store("Finish of test", Debug)
+ }
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0110_ML/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0110_ML/MAIN.asl
new file mode 100644
index 000000000..040e9d445
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0110_ML/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B110.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0110_ML/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0110_ML/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0110_ML/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0110_ML/RUN.asl
new file mode 100644
index 000000000..a1195897f
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0110_ML/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 110", TCLD, 110, W017)) {
+ SRMT("me72")
+ me72()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0111/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0111/DECL.asl
new file mode 100644
index 000000000..28618e870
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0111/DECL.asl
@@ -0,0 +1,153 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 111:
+ *
+ * SUMMARY: No String to Integer and Buffer to Integer conversions of the Predicate Value in If, ElseIf and While operators
+ */
+
+ Method(me73, 1)
+ {
+ if (arg0) {
+ Store("If done", Debug)
+ Store(1, id0f)
+ }
+ }
+
+ Method(me74, 2)
+ {
+ if (arg1) {
+ Store(1, id0f)
+ } elseif (arg0) {
+ Store(2, id0f)
+ }
+ }
+
+ Method(me75, 1)
+ {
+ While (arg0) {
+ Store(1, id0f)
+ Break
+ }
+ }
+
+ Method(me76)
+ {
+ // //////////
+
+ Store(0, id0f)
+ me73("1")
+ if (LNot(id0f)) {
+ err("", zFFF, 0x000, 0, 0, 0, 0)
+ }
+
+ Store(0, id0f)
+ me73(Buffer(){1})
+ if (LNot(id0f)) {
+ err("", zFFF, 0x001, 0, 0, 0, 0)
+ }
+
+ Store(0, id0f)
+ me73("0")
+ if (id0f) {
+ err("", zFFF, 0x002, 0, 0, 0, 0)
+ }
+
+ Store(0, id0f)
+ me73(Buffer(){0})
+ if (id0f) {
+ err("", zFFF, 0x003, 0, 0, 0, 0)
+ }
+
+ // //////////
+
+ Store(0, id0f)
+ me74("1", 0)
+ if (LNotEqual(id0f, 2)) {
+ err("", zFFF, 0x004, 0, 0, 0, 0)
+ }
+
+ Store(0, id0f)
+ me74(Buffer(){0,0,1,0}, 0)
+ if (LNotEqual(id0f, 2)) {
+ err("", zFFF, 0x005, 0, 0, 0, 0)
+ }
+
+ Store(0, id0f)
+ me74("0", 0)
+ if (id0f) {
+ err("", zFFF, 0x006, 0, 0, 0, 0)
+ }
+
+ Store(0, id0f)
+ me74(Buffer(){0,0,0,0}, 0)
+ if (id0f) {
+ err("", zFFF, 0x007, 0, 0, 0, 0)
+ }
+
+ Store(0, id0f)
+ me74("1", 1)
+ if (LNotEqual(id0f, 1)) {
+ err("", zFFF, 0x008, 0, 0, 0, 0)
+ }
+
+ Store(0, id0f)
+ me74(Buffer(){0,0,1,0}, 1)
+ if (LNotEqual(id0f, 1)) {
+ err("", zFFF, 0x009, 0, 0, 0, 0)
+ }
+
+ Store(0, id0f)
+ me75("0")
+ if (id0f) {
+ err("", zFFF, 0x00a, 0, 0, 0, 0)
+ }
+
+ Store(0, id0f)
+ me75(Buffer(){0})
+ if (id0f) {
+ err("", zFFF, 0x00b, 0, 0, 0, 0)
+ }
+
+ Store(0, id0f)
+ me75("01")
+ if (LNot(id0f)) {
+ err("", zFFF, 0x00c, 0, 0, 0, 0)
+ }
+
+ Store(0, id0f)
+ me75(Buffer(){0,0,1,0})
+ if (LNot(id0f)) {
+ err("", zFFF, 0x00d, 0, 0, 0, 0)
+ }
+
+ }
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0111/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0111/MAIN.asl
new file mode 100644
index 000000000..a9914b157
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0111/MAIN.asl
@@ -0,0 +1,58 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B111.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/common/DECL.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0111/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0111/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0111/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0111/RUN.asl
new file mode 100644
index 000000000..ec549324f
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0111/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 111", TCLD, 111, W017)) {
+ SRMT("me76")
+ me76()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0112/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0112/DECL.asl
new file mode 100644
index 000000000..d7acab68f
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0112/DECL.asl
@@ -0,0 +1,60 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 112:
+ *
+ * SUMMARY: The ASL compiler refuses passing the Named Objects and String constants as a MicroSecs operand of the Stall operator
+ */
+
+ Method(me77, 1)
+ {
+ Stall(arg0)
+ }
+
+ Method(me78)
+ {
+ Name(i000, 0xB)
+ Store(i000, Local0)
+
+ // These calls are compiled
+ // and executed successfully
+
+ me77(i000)
+ Stall(Local0)
+ Stall(Add(i000, Local0))
+ Stall(ToHexString(i000))
+ Stall(Buffer(){0xB})
+
+ // ASL compiler results in Errors for these
+
+ Stall(i000)
+ Stall("B")
+ }
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0112/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0112/MAIN.asl
new file mode 100644
index 000000000..6cb25a621
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0112/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B112.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0112/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0112/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0112/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0112/RUN.asl
new file mode 100644
index 000000000..18cc9aeb6
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0112/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 112", TCLD, 112, W017)) {
+ SRMT("me78")
+ me78()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0113/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0113/DECL.asl
new file mode 100644
index 000000000..f8887edb9
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0113/DECL.asl
@@ -0,0 +1,96 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 113:
+ *
+ * SUMMARY: Unexpected dereference of Index reference immediately passed to Method
+ */
+
+ Method(me79, 6)
+ {
+ Store(arg0, Debug)
+ Store(arg1, Debug)
+ Store(arg2, Debug)
+ Store(arg3, Debug)
+ Store(arg4, Debug)
+ Store(arg5, Debug)
+
+
+ Store("Test 0", Debug)
+ CH03("", 0, 0x000, 0, 0)
+ Add(arg0, 1)
+ CH04("", 0, 47, 0, 0x001, 0, 0) // AE_AML_OPERAND_TYPE
+
+ Store("Test 1", Debug)
+ CH03("", 0, 0x002, 0, 0)
+ Add(arg1, 1)
+ CH04("", 0, 47, 0, 0x003, 0, 0) // AE_AML_OPERAND_TYPE
+
+ Store("Test 2", Debug)
+ CH03("", 0, 0x004, 0, 0)
+ Add(arg2, 1)
+ CH04("", 0, 47, 0, 0x005, 0, 0) // AE_AML_OPERAND_TYPE
+
+ Store("Test 3", Debug)
+ CH03("", 0, 0x006, 0, 0)
+ Add(arg3, 1)
+ CH04("", 0, 47, 0, 0x007, 0, 0) // AE_AML_OPERAND_TYPE
+
+ Store("Test 4", Debug)
+ CH03("", 0, 0x008, 0, 0)
+ Add(arg4, 1)
+ CH04("", 0, 47, 0, 0x009, 0, 0) // AE_AML_OPERAND_TYPE
+
+ Store("Test 5", Debug)
+ CH03("", 0, 0x00a, 0, 0)
+ Add(arg5, 1)
+ CH04("", 0, 47, 0, 0x00b, 0, 0) // AE_AML_OPERAND_TYPE
+ }
+
+ Method(me7a)
+ {
+ Name(p000, Package(){0x00, 0x01, 0x02, 0x03, 0x04})
+ Name(p001, Package(){0x10, 0x11, 0x12, 0x13, 0x14})
+ Name(p002, Package(){0x20, 0x21, 0x22, 0x23, 0x24})
+ Name(p003, Package(){0x30, 0x31, 0x32, 0x33, 0x34})
+ Name(p004, Package(){0x40, 0x41, 0x42, 0x43, 0x44})
+
+
+ Store(Index(p002, 2), Local0)
+
+ Index(p003, 3, Local1)
+
+ Store(Index(p004, 4, Local2), Local3)
+
+ me79(Index(p000, 0), Index(p001, 1, Local4), Local0, Local1, Local2, Local3)
+
+ Store(Local4, Debug)
+ }
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0113/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0113/MAIN.asl
new file mode 100644
index 000000000..e18c93449
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0113/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B113.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0113/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0113/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0113/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0113/RUN.asl
new file mode 100644
index 000000000..66719372b
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0113/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 113", TCLD, 113, W017)) {
+ SRMT("me7a")
+ me7a()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0114_ASL/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0114_ASL/DECL.asl
new file mode 100644
index 000000000..f8adc59ce
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0114_ASL/DECL.asl
@@ -0,0 +1,75 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 114:
+ *
+ * SUMMARY: Method object as a Source of Index operation is treated by iASL mistakenly as a call to that Method
+ */
+
+ Method(me7b)
+ {
+ Store("Start of test", Debug)
+
+ Method(m001) { return (0x12345678) }
+
+ Store(Index(m001, 0), Local0)
+
+ Store(Local0, Debug)
+
+ Store("Finish of test", Debug)
+
+ return (0)
+ }
+
+ Method(me7c)
+ {
+ Store("Start of test", Debug)
+
+ Method(m001) { return ("zxvgswquiy") }
+
+ Store(Index(m001, 0), Local0)
+
+ Store(Local0, Debug)
+
+ Store(DerefOf(Local0), Local1)
+
+ Store(Local1, Debug)
+
+ Store("Finish of test", Debug)
+
+ return (0)
+ }
+
+ Method(me7d)
+ {
+ me7b()
+ me7c()
+ }
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0114_ASL/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0114_ASL/MAIN.asl
new file mode 100644
index 000000000..b71485c25
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0114_ASL/MAIN.asl
@@ -0,0 +1,56 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B114.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0114_ASL/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0115/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0115/DECL.asl
new file mode 100644
index 000000000..401f62a40
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0115/DECL.asl
@@ -0,0 +1,149 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 115:
+ *
+ * SUMMARY: Unexpected dereference of Index reference returned by Method and immediately passed to another Method
+ */
+
+ Method(me7e, 2) {
+ Store(arg0, Debug)
+ Store(arg1, arg0)
+ }
+
+ Method(me7f) {
+ Return(Index(pd04, 0))
+ }
+
+ Method(me80) {
+ Store(Index(pd05, 0), Local0)
+ Return(Local0)
+ }
+
+ Method(me81) {
+ Return(Index(pd06, 0, Local0))
+ }
+
+ Method(me82) {
+ Index(pd07, 0, Local0)
+ Return(Local0)
+ }
+
+ Method(me83) {
+ Store(Index(pd08, 0, Local0), Local1)
+ Return(Local0)
+ }
+
+ Method(me84) {
+ Store(Index(pd09, 0, Local0), Local1)
+ Return(Local1)
+ }
+
+ Method(me85) {
+ Return(RefOf(id10))
+ }
+
+ Method(me86)
+ {
+ Name(prn0, 0)
+
+ // To show: the RefOf reference is actually passed to method (Ok)
+
+ if (prn0) {
+ Store(me85(), Debug)
+ }
+
+ Store(0xabcd0000, Local0)
+ me7e(me85(), Local0)
+ if (LNotEqual(id10, Local0)) {
+ err("", zFFF, 0x000, 0, 0, id10, Local0)
+ }
+
+ // To show: all methods return Index references (Ok)
+
+ if (prn0) {
+ Store(me7f(), Debug)
+ Store(me80(), Debug)
+ Store(me81(), Debug)
+ Store(me82(), Debug)
+ Store(me83(), Debug)
+ Store(me84(), Debug)
+ }
+
+ // To show: passed to methods are objects but
+ // not Index references to them as expected (Bug)
+
+ Store(0xabcd0001, Local0)
+ me7e(me7f(), Local0)
+ Store(DerefOf(Index(pd04, 0)), Local1)
+ if (LNotEqual(Local1, Local0)) {
+ err("", zFFF, 0x001, 0, 0, Local1, Local0)
+ }
+
+ Store(0xabcd0002, Local0)
+ me7e(me80(), Local0)
+ Store(DerefOf(Index(pd05, 0)), Local1)
+ if (LNotEqual(Local1, Local0)) {
+ err("", zFFF, 0x001, 0, 0, Local1, Local0)
+ }
+
+ Store(0xabcd0003, Local0)
+ me7e(me81(), Local0)
+ Store(DerefOf(Index(pd06, 0)), Local1)
+ if (LNotEqual(Local1, Local0)) {
+ err("", zFFF, 0x001, 0, 0, Local1, Local0)
+ }
+
+ Store(0xabcd0004, Local0)
+ me7e(me82(), Local0)
+ Store(DerefOf(Index(pd07, 0)), Local1)
+ if (LNotEqual(Local1, Local0)) {
+ err("", zFFF, 0x001, 0, 0, Local1, Local0)
+ }
+
+ Store(0xabcd0005, Local0)
+ me7e(me83(), Local0)
+ Store(DerefOf(Index(pd08, 0)), Local1)
+ if (LNotEqual(Local1, Local0)) {
+ err("", zFFF, 0x001, 0, 0, Local1, Local0)
+ }
+
+ Store(0xabcd0006, Local0)
+ me7e(me84(), Local0)
+ Store(DerefOf(Index(pd09, 0)), Local1)
+ if (LNotEqual(Local1, Local0)) {
+ err("", zFFF, 0x001, 0, 0, Local1, Local0)
+ }
+ }
+
+
+
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0115/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0115/MAIN.asl
new file mode 100644
index 000000000..af043734e
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0115/MAIN.asl
@@ -0,0 +1,58 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B115.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/common/DECL.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0115/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0115/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0115/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0115/RUN.asl
new file mode 100644
index 000000000..20ea06cc7
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0115/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 115", TCLD, 115, W017)) {
+ SRMT("me86")
+ me86()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0116_ASL/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0116_ASL/DECL.asl
new file mode 100644
index 000000000..b70b12272
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0116_ASL/DECL.asl
@@ -0,0 +1,55 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 116:
+ *
+ * SUMMARY: The ASL Compiler doesn't recognize attempts to generate IRefs to arbitrary type objects
+ *
+ * Compiler should return error...
+ */
+
+ Method(me87)
+ {
+ Name(i000, 0xabcdef)
+ Name(b000, Buffer() {1,2,3,4,5,6,7,8,9})
+ OperationRegion(r000, SystemMemory, 0x100, 0x100)
+ Field(r000, ByteAcc, NoLock, Preserve) {f000,8}
+ Field(r000, ByteAcc, NoLock, Preserve) {bnk0,8,f00a,8,f00b,8}
+ BankField(r000, bnk0, 0, ByteAcc, NoLock, Preserve) {bkf0,4}
+ IndexField(f00a, f00b, ByteAcc, NoLock, Preserve) {if00,1,if01,1}
+ CreateField(b000, 0, 8, bf00)
+
+ Index(i000, 0) // i000 - Integer
+ Index(bf00, 0) // bf00 - Buffer Field
+ Index(f000, 0) // f000 - Field Unit by Field()
+ Index(bkf0, 0) // bkf0 - Field Unit by BankField()
+ Index(if00, 0) // if00 - Field Unit by IndexField()
+ }
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0116_ASL/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0116_ASL/MAIN.asl
new file mode 100644
index 000000000..85a1fd435
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0116_ASL/MAIN.asl
@@ -0,0 +1,56 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B116.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0116_ASL/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0117/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0117/DECL.asl
new file mode 100644
index 000000000..4fbf50038
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0117/DECL.asl
@@ -0,0 +1,55 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 117:
+ *
+ * SUMMARY: Modifying the copy of the String obtained by the Store operator modifies the initial String Object also
+ */
+
+ Method(me88)
+ {
+ Name(s000, "String")
+
+ Store(s000, Local0)
+
+ Store(s000, Debug)
+ Store(Local0, Debug)
+
+ Store (0x61, Index(Local0, 3))
+ Store("Modification of the copied string", Debug)
+
+ if (LNotEqual(Local0, "Strang")) {
+ err("", zFFF, 0x000, 0, 0, Local0, "Strang")
+ }
+ if (LNotEqual(s000, "String")) {
+ err("", zFFF, 0x001, 0, 0, s000, "String")
+ }
+ }
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0117/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0117/MAIN.asl
new file mode 100644
index 000000000..51abc5289
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0117/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B117.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0117/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0117/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0117/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0117/RUN.asl
new file mode 100644
index 000000000..c9a103075
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0117/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 117", TCLD, 117, W017)) {
+ SRMT("me88")
+ me88()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0118/DECL.0000.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0118/DECL.0000.asl
new file mode 100644
index 000000000..82971fd67
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0118/DECL.0000.asl
@@ -0,0 +1,113 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 118:
+ *
+ * SUMMARY
+ *
+ * EXAMPLES
+ *
+ * ROOT CAUSE
+ *
+ * SEE ALSO: bugs 65,66,67,68,118
+ */
+
+// Access to the named Integer object as an element of Package
+Method(md79)
+{
+ Store(Index(pd0a, 0), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(ObjectType(Local1), Local0)
+
+ if (LNotEqual(Local0, c009)) {
+ err("", zFFF, 0x000, 0, 0, Local0, c009)
+ } else {
+ if (LNotEqual(Local1, 0xfe7cb391d650a284)) {
+ err("", zFFF, 0x001, 0, 0, Local1, 0xfe7cb391d650a284)
+ }
+ }
+}
+
+// Access to the Buffer Field object as an element of Package
+Method(md7a)
+{
+ Store(Index(pd0b, 0), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(ObjectType(Local1), Local0)
+
+ if (LNotEqual(Local0, c016)) {
+ err("", zFFF, 0x002, 0, 0, Local0, c016)
+ } else {
+Store("=======================================", Debug)
+Store(Local1, Debug)
+Store(bfd1, Debug)
+Store(Local1, Local0)
+Store(Local0, Debug)
+Store("=======================================", Debug)
+if (1) {
+ if (LNotEqual(Local1, 0x59)) {
+ err("", zFFF, 0x003, 0, 0, Local1, 0x59)
+ }
+}
+ }
+}
+
+// Access to the Field Unit object as an element of Package
+Method(md7b)
+{
+ Store(Index(pd0c, 0), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(ObjectType(Local1), Local0)
+
+ if (LNotEqual(Local0, c00d)) {
+ err("", zFFF, 0x004, 0, 0, Local0, c00d)
+ } else {
+
+Store("=======================================", Debug)
+Store(Local1, Debug)
+Store(fd03, Debug)
+Store(Local1, Local0)
+Store(Local0, Debug)
+Store("=======================================", Debug)
+if (1) {
+ if (LNotEqual(Local1, 0)) {
+ err("", zFFF, 0x005, 0, 0, Local1, 0)
+ }
+}
+ }
+}
+
+Method(md7c)
+{
+ md79()
+ md7a()
+ md7b()
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0118/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0118/DECL.asl
new file mode 100644
index 000000000..9cbb78eb5
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0118/DECL.asl
@@ -0,0 +1,287 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 118:
+ *
+ * SUMMARY: Access to FieldObject element of Package causes exception
+ *
+ * EXAMPLES:
+ *
+ * ROOT CAUSE:
+ *
+ * SEE ALSO: bugs 65,66,67,68,118
+ */
+
+// Access to the named Integer object as an element of Package
+
+Method(mf80)
+{
+ Name(i000, 0xaaaa0000)
+ Name(p000, Package() {i000})
+
+ Store(0xaaaa0100, i000)
+
+ Store(Index(p000, 0), Local0)
+
+ Store(0xaaaa0200, i000)
+
+ Store(DerefOf(Local0), Local1)
+
+ Store(0xaaaa0300, i000)
+
+ Store(ObjectType(i000), Local2)
+ Store(ObjectType(Local0), Local3)
+ Store(ObjectType(Local1), Local4)
+
+ Add(Local1, 0x079, Local5)
+
+ if (LNotEqual(Local4, c009)) {
+ err("", zFFF, 0x000, 0, 0, Local4, c009)
+ } elseif (LNotEqual(Local5, 0xaaaa0279)) {
+ err("", zFFF, 0x001, 0, 0, Local5, 0xaaaa0279)
+ }
+
+ if (LNotEqual(i000, 0xaaaa0300)) {
+ err("", zFFF, 0x002, 0, 0, i000, 0xaaaa0300)
+ }
+
+ if (LNotEqual(Local2, c009)) {
+ err("", zFFF, 0x003, 0, 0, Local2, c009)
+ }
+
+ if (LNotEqual(Local3, c009)) {
+ err("", zFFF, 0x004, 0, 0, Local3, c009)
+ }
+
+ CH03("", 0, 0x005, 0, 0)
+ Add(Local0, 0x079, Local5)
+ CH04("", 0, 47, 0, 0x006, 0, 0) // AE_AML_OPERAND_TYPE
+}
+
+Method(mf81)
+{
+ Name(ii00, 0)
+ Name(ii01, 0)
+ Name(ii02, 0)
+ Name(ii03, 0)
+ Name(ii04, 0)
+ Name(ii05, 0)
+
+ Name(i000, 0xaaaa0000)
+ Name(p000, Package() {i000})
+
+ Store(0xaaaa0100, i000)
+
+// Store(Index(p000, 0), ii00)
+// CopyObject(Index(p000, 0), ii00)
+ Store(Index(p000, 0), Local0)
+
+ Store(0xaaaa0200, i000)
+
+ Store(DerefOf(Local0), ii01)
+
+ Store(0xaaaa0300, i000)
+
+ Store(ObjectType(i000), ii02)
+ Store(ObjectType(Local0), ii03)
+ Store(ObjectType(ii01), ii04)
+
+ Add(ii01, 0x079, ii05)
+
+ if (LNotEqual(ii04, c009)) {
+ err("", zFFF, 0x007, 0, 0, ii04, c009)
+ } elseif (LNotEqual(ii05, 0xaaaa0279)) {
+ err("", zFFF, 0x008, 0, 0, ii05, 0xaaaa0279)
+ }
+
+ if (LNotEqual(i000, 0xaaaa0300)) {
+ err("", zFFF, 0x009, 0, 0, i000, 0xaaaa0300)
+ }
+
+ if (LNotEqual(ii02, c009)) {
+ err("", zFFF, 0x00a, 0, 0, ii02, c009)
+ }
+
+ if (LNotEqual(ii03, c009)) {
+ err("", zFFF, 0x00b, 0, 0, ii03, c009)
+ }
+
+ CH03("", 0, 0x00c, 0, 0)
+ Add(Local0, 0x079, ii05)
+ CH04("", 0, 47, 0, 0x00d, 0, 0) // AE_AML_OPERAND_TYPE
+}
+
+Method(mf82)
+{
+ Name(ii00, 0)
+ Name(ii01, 0)
+ Name(ii02, 0)
+ Name(ii03, 0)
+ Name(ii04, 0)
+ Name(ii05, 0)
+
+ Name(i000, 0xaaaa0000)
+ Name(p000, Package() {i000})
+
+ Store(0xaaaa0100, i000)
+
+ CopyObject(Index(p000, 0), ii00)
+
+ Store(0xaaaa0200, i000)
+
+ Store(DerefOf(ii00), ii01)
+
+ Store(0xaaaa0300, i000)
+
+ Store(ObjectType(i000), ii02)
+ Store(ObjectType(ii00), ii03)
+ Store(ObjectType(ii01), ii04)
+
+ Add(ii01, 0x079, ii05)
+
+ if (LNotEqual(ii04, c009)) {
+ err("", zFFF, 0x00e, 0, 0, ii04, c009)
+ } elseif (LNotEqual(ii05, 0xaaaa0279)) {
+ err("", zFFF, 0x00f, 0, 0, ii05, 0xaaaa0279)
+ }
+
+ if (LNotEqual(i000, 0xaaaa0300)) {
+ err("", zFFF, 0x010, 0, 0, i000, 0xaaaa0300)
+ }
+
+ if (LNotEqual(ii02, c009)) {
+ err("", zFFF, 0x011, 0, 0, ii02, c009)
+ }
+
+ if (LNotEqual(ii03, c009)) {
+ err("", zFFF, 0x012, 0, 0, ii03, c009)
+ }
+
+ CH03("", 0, 0x013, 0, 0)
+ Add(ii00, 0x079, ii05)
+ CH04("", 0, 47, 0, 0x014, 0, 0) // AE_AML_OPERAND_TYPE
+}
+
+Method(md79)
+{
+ Store(Index(pd0a, 0), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(ObjectType(Local1), Local0)
+
+ if (LNotEqual(Local0, c009)) {
+ err("", zFFF, 0x000, 0, 0, Local0, c009)
+ } else {
+ if (LNotEqual(Local1, 0xfe7cb391d650a284)) {
+ err("", zFFF, 0x001, 0, 0, Local1, 0xfe7cb391d650a284)
+ }
+ }
+}
+
+// Access to the Buffer Field object as an element of Package
+
+Method(md7a)
+{
+ Store(Index(pd0b, 0), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(ObjectType(Local1), Local0)
+
+ if (LNotEqual(Local0, c016)) {
+ err("", zFFF, 0x002, 0, 0, Local0, c016)
+ } else {
+Store("=======================================", Debug)
+Store(Local1, Debug)
+Store(bfd1, Debug)
+Store(Local1, Local0)
+Store(Local0, Debug)
+Store("=======================================", Debug)
+if (1) {
+ if (LNotEqual(Local1, 0x59)) {
+ err("", zFFF, 0x003, 0, 0, Local1, 0x59)
+ }
+}
+ }
+}
+
+// Access to the Field Unit object as an element of Package
+
+Method(md7b)
+{
+ Store(Index(pd0c, 0), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(ObjectType(Local1), Local0)
+
+ if (LNotEqual(Local0, c00d)) {
+ err("", zFFF, 0x004, 0, 0, Local0, c00d)
+ } else {
+
+Store("=======================================", Debug)
+Store(Local1, Debug)
+Store(fd03, Debug)
+Store(Local1, Local0)
+Store(Local0, Debug)
+Store("=======================================", Debug)
+if (1) {
+ if (LNotEqual(Local1, 0)) {
+ err("", zFFF, 0x005, 0, 0, Local1, 0)
+ }
+}
+ }
+}
+
+Method(md7c)
+{
+ // Named Integer object as an element of Package
+
+/*
+ SRMT("mf80")
+ mf80()
+
+ SRMT("mf81")
+ mf81()
+
+ SRMT("mf82")
+ if (y127) {
+ mf82()
+ } else {
+ BLCK()
+ }
+
+ SRMT("md79")
+ md79()
+*/
+
+
+ SRMT("md7a")
+ md7a()
+
+ SRMT("md7b")
+ md7b()
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0118/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0118/MAIN.asl
new file mode 100644
index 000000000..2823e9e9a
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0118/MAIN.asl
@@ -0,0 +1,58 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B118.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/common/DECL.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0118/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0118/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0118/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0118/RUN.asl
new file mode 100644
index 000000000..9da4a255f
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0118/RUN.asl
@@ -0,0 +1,51 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 118", TCLD, 118, W017)) {
+
+
+// ?????????????????????????????
+// 1. set y118 to 1
+// 2. see the test: decl.asl
+// ??????????????????????????????
+
+
+// ????
+
+
+ SRMT("md7c")
+ if (y118) {
+ md7c()
+ } else {
+ BLCK()
+ }
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0119/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0119/DECL.asl
new file mode 100644
index 000000000..9db9ddc92
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0119/DECL.asl
@@ -0,0 +1,52 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 119:
+ *
+ * SUMMARY: The Logical operators in 32-bit mode act with 64-bit values
+ */
+
+ Method(mf00)
+ {
+ Store (LEqual(0xffffffff, 0x1ffffffff), Local0)
+ if (Local0) {
+ Store ("Ok: LEqual", Debug)
+ } else {
+ err("", zFFF, 0x000, 0, 0, Local0, Ones)
+ }
+
+ Store (LLess(0xffffffff, 0x100000000), Local1)
+ if (Local1) {
+ err("", zFFF, 0x001, 0, 0, Local1, Zero)
+ } else {
+ Store ("Ok: LLess", Debug)
+ }
+ }
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0119/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0119/MAIN.asl
new file mode 100644
index 000000000..abe581533
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0119/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B119.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0119/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0119/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0119/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0119/RUN.asl
new file mode 100644
index 000000000..e353787a7
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0119/RUN.asl
@@ -0,0 +1,40 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 119", TCLD, 119, W017)) {
+ SRMT("mf00")
+ if (F64) {
+ SKIP()
+ } else {
+ mf00()
+ }
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0120/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0120/DECL.asl
new file mode 100644
index 000000000..149571949
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0120/DECL.asl
@@ -0,0 +1,137 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 120:
+ *
+ * SUMMARY: Unexpected exception on Store of Device and ThermalZone elements of Package to Debug operation
+ */
+
+ Method(mf64)
+ {
+ Name(pp00, Package(){prd2})
+ Index(pp00, 0, Local0)
+ Store(ObjectType(Local0), Debug)
+ Store(Derefof(Local0), Debug)
+
+ Store(ObjectType(Local0), Local1)
+ if (LNotEqual(Local1, c014)) {
+ err("", zFFF, 0x000, 0, 0, Local1, c014)
+ }
+ }
+
+ Method(mf65)
+ {
+ Name(pp00, Package(){rd07})
+ Index(pp00, 0, Local0)
+ Store(ObjectType(Local0), Debug)
+ Store(Derefof(Local0), Debug)
+
+ Store(ObjectType(Local0), Local1)
+ if (LNotEqual(Local1, c012)) {
+ err("", zFFF, 0x001, 0, 0, Local1, c012)
+ }
+ }
+
+ Method(mf66)
+ {
+ Name(pp00, Package(){pwd2})
+ Index(pp00, 0, Local0)
+ Store(ObjectType(Local0), Debug)
+ Store(Derefof(Local0), Debug)
+
+ Store(ObjectType(Local0), Local1)
+ if (LNotEqual(Local1, c013)) {
+ err("", zFFF, 0x002, 0, 0, Local1, c013)
+ }
+ }
+
+ Method(mf67)
+ {
+ Name(pp00, Package(){ed05})
+ Index(pp00, 0, Local0)
+ Store(ObjectType(Local0), Debug)
+ Store(Derefof(Local0), Debug)
+
+ Store(ObjectType(Local0), Local1)
+ if (LNotEqual(Local1, c00f)) {
+ err("", zFFF, 0x003, 0, 0, Local1, c00f)
+ }
+ }
+
+ Method(mf68)
+ {
+ Name(pp00, Package(){mxd3})
+ Index(pp00, 0, Local0)
+ Store(ObjectType(Local0), Debug)
+ Store(Derefof(Local0), Debug)
+
+ Store(ObjectType(Local0), Local1)
+ if (LNotEqual(Local1, c011)) {
+ err("", zFFF, 0x004, 0, 0, Local1, c011)
+ }
+ }
+
+ Method(mf69)
+ {
+ Name(pp00, Package(){dd0d})
+
+ Index(pp00, 0, Local0)
+
+ CH03("", 0, 0x005, 0, 0)
+ Store(ObjectType(Local0), Debug)
+ CH03("", 0, 0x006, 0, 0)
+ Store(Derefof(Local0), Debug)
+ CH03("", 0, 0x007, 0, 0)
+
+ Store(ObjectType(Local0), Local1)
+ if (LNotEqual(Local1, c00e)) {
+ err("", zFFF, 0x008, 0, 0, Local1, c00e)
+ }
+ }
+
+ Method(mf6a)
+ {
+ Name(pp00, Package(){tzd2})
+
+ Index(pp00, 0, Local0)
+
+ CH03("", 0, 0x009, 0, 0)
+ Store(ObjectType(Local0), Debug)
+ CH03("", 0, 0x00a, 0, 0)
+ Store(Derefof(Local0), Debug)
+ CH03("", 0, 0x00b, 0, 0)
+
+ Store(ObjectType(Local0), Local1)
+ if (LNotEqual(Local1, c015)) {
+ err("", zFFF, 0x00c, 0, 0, Local1, c015)
+ }
+ }
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0120/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0120/MAIN.asl
new file mode 100644
index 000000000..165c36b9e
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0120/MAIN.asl
@@ -0,0 +1,58 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B120.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/common/DECL.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0120/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0120/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0120/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0120/RUN.asl
new file mode 100644
index 000000000..abf5746df
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0120/RUN.asl
@@ -0,0 +1,48 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 120", TCLD, 120, W017)) {
+ SRMT("mf64")
+ mf64()
+ SRMT("mf65")
+ mf65()
+ SRMT("mf66")
+ mf66()
+ SRMT("mf67")
+ mf67()
+ SRMT("mf68")
+ mf68()
+ SRMT("mf69")
+ mf69()
+ SRMT("mf6a")
+ mf6a()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0121/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0121/DECL.asl
new file mode 100644
index 000000000..1b78bbb96
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0121/DECL.asl
@@ -0,0 +1,87 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 121:
+ *
+ * SUMMARY: Crash on attempt to deal with the invalid BufferFields (zero NumBits passed to CreateField)
+ *
+ * This DECL.asl is for AML Interpreter, it should result in exceptions for this DECL.asl.
+ */
+
+ Method(mf03)
+ {
+ Name(b000, Buffer(2){0xff, 0xff})
+ Name(i000, 0)
+
+ CH03("", 0, 0x000, 0, 0)
+ CreateField(b000, 0, 16, bf00)
+ CH03("", 0, 0x000, 0, 0)
+
+ CH03("", 0, 0x002, 0, 0)
+ CreateField(b000, 0, i000, bf01)
+ CH04("", 0, 0xff, 0, 0x003, 0, 0)
+
+ CH03("", 0, 0x004, 0, 0)
+ CreateField(b000, 1, i000, bf02)
+ CH04("", 0, 0xff, 0, 0x005, 0, 0)
+
+ CH03("", 0, 0x006, 0, 0)
+ CreateField(b000, 7, i000, bf03)
+ CH04("", 0, 0xff, 0, 0x007, 0, 0)
+
+ CH03("", 0, 0x008, 0, 0)
+ CreateField(b000, 8, i000, bf04)
+ CH04("", 0, 0xff, 0, 0x009, 0, 0)
+
+ CH03("", 0, 0x00a, 0, 0)
+ CreateField(b000, 15, i000, bf05)
+ CH04("", 0, 0xff, 0, 0x00b, 0, 0)
+
+ CH03("", 0, 0x00c, 0, 0)
+ CreateField(b000, 16, i000, bf06)
+ CH04("", 0, 0xff, 0, 0x00d, 0, 0)
+
+ CH03("", 0, 0x00e, 0, 0)
+
+ Store("All CreateField-s finished", Debug)
+
+ Store(bf00, Debug)
+ Store(bf01, Debug)
+ Store(bf02, Debug)
+ Store(bf03, Debug)
+ Store(bf04, Debug)
+ Store(bf05, Debug)
+ Store(bf06, Debug)
+
+ CH04("", 0, 0xff, 0, 0x00f, 0, 0)
+
+ Store("All Store-to-Debug-s finished", Debug)
+ }
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0121/DECL.for_iASL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0121/DECL.for_iASL.asl
new file mode 100644
index 000000000..3413fd73d
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0121/DECL.for_iASL.asl
@@ -0,0 +1,86 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 121:
+ *
+ * SUMMARY: Crash on attempt to deal with the invalid BufferFields (zero NumBits passed to CreateField)
+ *
+ * This DECL.asl is for iASL compiler, it should result in Error for this DECL.asl.
+ */
+
+ Method(mf03)
+ {
+ Name(b000, Buffer(2){0xff, 0xff})
+
+ CH03("", 0, 0x000, 0, 0)
+ CreateField(b000, 0,16, bf00)
+ CH03("", 0, 0x000, 0, 0)
+
+ CH03("", 0, 0x002, 0, 0)
+ CreateField(b000, 0, 0, bf01)
+ CH04("", 0, 0xff, 0, 0x003, 0, 0)
+
+ CH03("", 0, 0x004, 0, 0)
+ CreateField(b000, 1, 0, bf02)
+ CH04("", 0, 0xff, 0, 0x005, 0, 0)
+
+ CH03("", 0, 0x006, 0, 0)
+ CreateField(b000, 7, 0, bf03)
+ CH04("", 0, 0xff, 0, 0x007, 0, 0)
+
+ CH03("", 0, 0x008, 0, 0)
+ CreateField(b000, 8, 0, bf04)
+ CH04("", 0, 0xff, 0, 0x009, 0, 0)
+
+ CH03("", 0, 0x00a, 0, 0)
+ CreateField(b000,15, 0, bf05)
+ CH04("", 0, 0xff, 0, 0x00b, 0, 0)
+
+ CH03("", 0, 0x00c, 0, 0)
+ CreateField(b000,16, 0, bf06)
+ CH04("", 0, 0xff, 0, 0x00d, 0, 0)
+
+ CH03("", 0, 0x00e, 0, 0)
+
+ Store("All CreateField-s finished", Debug)
+
+ Store(bf00, Debug)
+ Store(bf01, Debug)
+ Store(bf02, Debug)
+ Store(bf03, Debug)
+ Store(bf04, Debug)
+ Store(bf05, Debug)
+ Store(bf06, Debug)
+
+ CH04("", 0, 0xff, 0, 0x00f, 0, 0)
+
+ Store("All Store-to-Debug-s finished", Debug)
+ }
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0121/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0121/MAIN.asl
new file mode 100644
index 000000000..668357be6
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0121/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B121.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0121/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0121/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0121/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0121/RUN.asl
new file mode 100644
index 000000000..d8f14f319
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0121/RUN.asl
@@ -0,0 +1,40 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 121", TCLD, 121, W017)) {
+ SRMT("mf03")
+ if (y121) {
+ mf03()
+ } else {
+ BLCK()
+ }
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0122_ASL/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0122_ASL/DECL.asl
new file mode 100644
index 000000000..df22d0d45
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0122_ASL/DECL.asl
@@ -0,0 +1,44 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 122:
+ *
+ * SUMMARY: The ASL Compiler doesn't report Error/Warning for zero NumBits parameter of CreateField operator
+ *
+ * Compiler should return error...
+ */
+
+ Method(mf04)
+ {
+ Name(b000, Buffer(2){0xff, 0xff})
+
+ CreateField(b000, 3, 0, bf00)
+ }
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0122_ASL/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0122_ASL/MAIN.asl
new file mode 100644
index 000000000..44f5559f9
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0122_ASL/MAIN.asl
@@ -0,0 +1,56 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B122.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0122_ASL/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0123/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0123/DECL.asl
new file mode 100644
index 000000000..4b6e6cdb8
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0123/DECL.asl
@@ -0,0 +1,47 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 123:
+ *
+ * SUMMARY: No exception when StartIndex in Match operator is equal to or greater than the size of SourcePackage
+ */
+
+ Method(mf05)
+ {
+ Name(p000, Package(2){0, 1})
+
+ // a) StartIndex > 0xffffffff
+ // c) Modulo(StartIndex, 0x100000000) < Size.
+
+ CH03("", 0, 0x000, 0, 0)
+ Store(Match(p000, MEQ, 1, MEQ, 1, 0x100000001), Local0)
+ CH04("", 0, 0xff, 0, 0x001, 0, 0) // AE_AML_PACKAGE_LIMIT
+ }
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0123/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0123/MAIN.asl
new file mode 100644
index 000000000..1fbc6cede
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0123/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B123.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0123/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0123/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0123/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0123/RUN.asl
new file mode 100644
index 000000000..0303e201a
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0123/RUN.asl
@@ -0,0 +1,40 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 123", TCLD, 123, W017)) {
+ SRMT("mf05")
+ if (F64) {
+ mf05()
+ } else {
+ SKIP()
+ }
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0124/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0124/DECL.asl
new file mode 100644
index 000000000..894bf0781
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0124/DECL.asl
@@ -0,0 +1,66 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 124:
+ *
+ * SUMMARY: No exception when the Index argument on Index() operator is out of the Source
+ */
+
+ Method(mf06)
+ {
+ Name(p000, Package(2){0, 1})
+ Name(b000, Buffer(3){2, 3, 4})
+ Name(s000, "5678")
+
+ // a) Index > 0xffffffff
+ // c) Modulo(Index, 0x100000000) < Size.
+
+ CH03("", 0, 0x000, 0, 0)
+ Index(p000, 0x100000001)
+ CH04("", 0, 55, 0, 0x001, 0, 0) // AE_AML_PACKAGE_LIMIT
+
+ CH03("", 0, 0x002, 0, 0)
+ Index(b000, 0x100000002)
+ CH04("", 0, 54, 0, 0x003, 0, 0) // AE_AML_BUFFER_LIMIT
+
+ CH03("", 0, 0x004, 0, 0)
+ Index(s000, 0x100000003)
+ CH04("", 0, 61, 0, 0x005, 0, 0) // AE_AML_STRING_LIMIT
+ }
+
+
+
+
+
+
+
+
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0124/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0124/MAIN.asl
new file mode 100644
index 000000000..5834c740c
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0124/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B124.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0124/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0124/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0124/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0124/RUN.asl
new file mode 100644
index 000000000..dfff15adf
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0124/RUN.asl
@@ -0,0 +1,40 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 124", TCLD, 124, W017)) {
+ SRMT("mf06")
+ if (F64) {
+ mf06()
+ } else {
+ SKIP()
+ }
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0125/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0125/DECL.asl
new file mode 100644
index 000000000..3013b4f44
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0125/DECL.asl
@@ -0,0 +1,93 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 125:
+ *
+ * SUMMARY: The Mid operator in 64-bit mode returns non-empty result for improper Index
+ */
+
+ Method(mf08, 5)
+ {
+ Store(arg0, Debug)
+ Store("source", Debug)
+ Store(arg1, Debug)
+ Store(arg2, Debug)
+ Store(arg3, Debug)
+ Store("expected", Debug)
+ Store(arg4, Debug)
+
+ Mid(arg1, arg2, arg3, Local0)
+
+ if (LNotEqual(arg4, Local0)) {
+ err("", zFFF, 0x000, 0, 0, arg4, Local0)
+ }
+ }
+
+ Method(mf09)
+ {
+ Store(0, Local0)
+
+ // Mid (Source, Index, Length, Result)
+ // a) Index >= 0x100000000
+ // b) Modulo(Index, 0x100000000) < Size.
+ if (0x100000000) {
+ mf08("Buffer: Index >= 0x100000000, Modulo(Index, 0x100000000) < Size:",
+ bd07, 0x100001fff, 0x8000, Buffer(Local0){})
+
+ mf08("String: Index >= 0x100000000, Modulo(Index, 0x100000000) < Size:",
+ sd03, 0x100000005, 10, "")
+ }
+
+ // a) Index < Size
+ // b) Index + Length >= 0x100000000
+ // c) Modulo(Index + Length, 0x100000000) < Size.
+
+ // Now causes exception AE_NO_MEMORY
+ if (1) {
+ mf08("Buffer: Index < Size, Index + Length >= 0x100000000:",
+ bd07, 5000, 0xfffff000, Buffer(3193){})
+ }
+
+ // Now causes CRASH
+ if (1) {
+ mf08("String: Index < Size, Index + Length >= 0x100000000:",
+ sd03, 8, 0xfffffffc, "89a")
+ }
+ }
+
+
+
+
+
+
+
+
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0125/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0125/MAIN.asl
new file mode 100644
index 000000000..6eb2238fa
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0125/MAIN.asl
@@ -0,0 +1,58 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B125.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/common/DECL.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0125/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0125/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0125/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0125/RUN.asl
new file mode 100644
index 000000000..646a037f1
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0125/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 125", TCLD, 125, W017)) {
+ SRMT("mf09")
+ mf09()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0126/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0126/DECL.asl
new file mode 100644
index 000000000..602561853
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0126/DECL.asl
@@ -0,0 +1,83 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 126:
+ *
+ * SUMMARY: The Read access automatic dereference for RefOf reference doesn't work
+ */
+
+ Method(mf0f, 1)
+ {
+ Store("m000 started, apply DerefOf()", Debug)
+
+ Store(DerefOf(arg0), Local0)
+
+ Add(Local0, 1, Local7)
+
+ if (LNotEqual(Local0, 7)) {
+ err("", zFFF, 0x000, 0, 0, Local0, 7)
+ }
+ if (LNotEqual(Local7, 8)) {
+ err("", zFFF, 0x000, 0, 0, Local7, 8)
+ }
+
+ Store("m000 finished", Debug)
+ }
+
+ Method(mf10, 1)
+ {
+ Name(i001, 0)
+
+ Store("m001 started, DONT apply DerefOf()", Debug)
+
+ Add(arg0, 1, Local7)
+
+ if (LNotEqual(arg0, 7)) {
+ err("", zFFF, 0x000, 0, 0, arg0, 7)
+ }
+ if (LNotEqual(Local7, 8)) {
+ err("", zFFF, 0x000, 0, 0, arg0, 8)
+ }
+
+ Store("m001 finished", Debug)
+ }
+
+ Method(mf11)
+ {
+ Name(i000, 7)
+ mf0f(RefOf(i000))
+ }
+
+ Method(mf12)
+ {
+ Name(i000, 7)
+ mf10(RefOf(i000))
+ }
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0126/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0126/MAIN.asl
new file mode 100644
index 000000000..d7b9be388
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0126/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B126.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0126/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0126/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0126/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0126/RUN.asl
new file mode 100644
index 000000000..e5f7175d6
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0126/RUN.asl
@@ -0,0 +1,42 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 126", TCLD, 126, W017)) {
+ SRMT("mf11")
+ mf11()
+ SRMT("mf12")
+ if (y126) {
+ mf12()
+ } else {
+ BLCK()
+ }
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0127/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0127/DECL.asl
new file mode 100644
index 000000000..bd174197f
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0127/DECL.asl
@@ -0,0 +1,104 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 127:
+ *
+ * SUMMARY: Unexpectedly CopyObject of immediately passed Index reference is not reference
+ */
+
+
+ // Store
+
+ Method(mf13)
+ {
+ Store(Index(pd11, 0, Local0), Local1)
+
+ CH03("", 0, 0x000, 0, 0)
+ Add(Local0, 0)
+ CH04("", 0, 47, 0, 0x001, 0, 0) // AE_AML_OPERAND_TYPE
+
+ CH03("", 0, 0x002, 0, 0)
+ Add(Local1, 0)
+ CH04("", 0, 47, 0, 0x003, 0, 0) // AE_AML_OPERAND_TYPE
+
+ Store(Index(pd11, 1, Local0), Local1)
+
+ CH03("", 0, 0x004, 0, 0)
+ Add(Local0, 0)
+ CH04("", 0, 47, 0, 0x005, 0, 0) // AE_AML_OPERAND_TYPE
+
+ CH03("", 0, 0x006, 0, 0)
+ Add(Local1, 0)
+ CH04("", 0, 47, 0, 0x007, 0, 0) // AE_AML_OPERAND_TYPE
+ }
+
+ // CopyObject
+
+ Method(mf14)
+ {
+ CopyObject(Index(pd11, 0, Local0), Local1)
+
+ CH03("", 0, 0x008, 0, 0)
+ Add(Local0, 0)
+ CH04("", 0, 47, 0, 0x009, 0, 0) // AE_AML_OPERAND_TYPE
+
+ CH03("", 0, 0x00a, 0, 0)
+ Add(Local1, 0)
+ CH04("", 0, 47, 0, 0x00b, 0, 0) // AE_AML_OPERAND_TYPE
+ }
+
+ Method(mf15)
+ {
+ CH03("", 0, 0x00c, 0, 0)
+
+ CopyObject(Index(pd11, 1, Local0), Local1)
+
+ CH03("", 0, 0x00d, 0, 0)
+ Add(Local0, 0)
+ CH04("", 0, 47, 0, 0x00e, 0, 0) // AE_AML_OPERAND_TYPE
+
+ CH03("", 0, 0x00f, 0, 0)
+ Add(Local1, 0)
+ CH04("", 0, 47, 0, 0x010, 0, 0) // AE_AML_OPERAND_TYPE
+ }
+
+ Method(mf16)
+ {
+ if (1) {
+ mf13()
+ }
+ if (1) {
+ mf14()
+ }
+ if (1) {
+ mf15()
+ }
+ }
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0127/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0127/MAIN.asl
new file mode 100644
index 000000000..38905c229
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0127/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B127.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0127/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0127/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0127/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0127/RUN.asl
new file mode 100644
index 000000000..b08fbbb03
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0127/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 127", TCLD, 127, W017)) {
+ SRMT("mf16")
+ mf16()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0128/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0128/DECL.asl
new file mode 100644
index 000000000..43b50192e
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0128/DECL.asl
@@ -0,0 +1,161 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 128:
+ *
+ * SUMMARY: Copying the RefOf reference to Named object spoils that reference
+ */
+
+Method(mf17)
+{
+ Name(i000, 0x1234)
+
+ CopyObject(RefOf(i000), Local0)
+ Store(Local0, Debug)
+ Store(DerefOf(Local0), Local1)
+ Store(Local1, Debug)
+ if (LNotEqual(Local1, 0x1234)) {
+ err("", zFFF, 0x000, 0, 0, Local1, 0x1234)
+ }
+}
+
+Method(mf18)
+{
+ Name(ref0, 0)
+ Name(i000, 0x1234)
+
+ CH03("", 0, 0x000, 0, 0)
+
+ CopyObject(RefOf(i000), ref0)
+ Store("Before printing ref0", Debug)
+ Store(ref0, Debug)
+ Store("Before DerefOf", Debug)
+ Store(DerefOf(ref0), Local1)
+ Store("Before printing Local1", Debug)
+ Store(Local1, Debug)
+ Store("Before LNotEqual", Debug)
+
+ if (LNotEqual(Local1, 0x1234)) {
+ err("", zFFF, 0x001, 0, 0, Local1, 0x1234)
+ }
+
+ CH03("", 0, 0x002, 0, 0)
+}
+
+Method(mf9e)
+{
+ Name(i000, 0xabbc0000)
+ Name(ii00, 0xabbc0000)
+ Name(b000, Buffer(){ 1, 2, 3, 4, 0x95, 6, 7, 8})
+ Name(bb00, Buffer(){ 1, 2, 3, 4, 0x95, 6, 7, 8})
+ Name(s000, "String")
+ Name(ss00, "String")
+
+ Name(p000, Package() {1,2,3,4})
+
+ Name(ref0, 0)
+
+ CH03("", 0, 0x000, 0, 0)
+
+ CopyObject(RefOf(i000), ref0)
+ mf88(DerefOf(ref0), c009, ii00, 1, 2, 1)
+
+ CopyObject(RefOf(b000), ref0)
+ mf88(DerefOf(ref0), c00b, bb00, 3, 4, 1)
+
+ CopyObject(RefOf(s000), ref0)
+ mf88(DerefOf(ref0), c00a, ss00, 3, 4, 1)
+
+ CopyObject(RefOf(p000), ref0)
+ mf88(DerefOf(ref0), c00c, ss00, 5, 6, 0)
+
+ CH03("", 0, 0x007, 0, 0)
+}
+
+Method(mf9f)
+{
+ Name(ref0, 0)
+
+ Event(e000)
+ Mutex(mx00, 0)
+ Device(d000) { Name(i900, 0xabcd0017) }
+ ThermalZone(tz00) {}
+ Processor(pr00, 0, 0xFFFFFFFF, 0) {}
+ OperationRegion(r000, SystemMemory, 0x100, 0x100)
+ PowerResource(pw00, 1, 0) {Method(mmmm){return (0)}}
+
+ // Checkings
+
+ CH03("", 0, 0x026, 0, 0)
+ CopyObject(RefOf(e000), ref0)
+ mf88(DerefOf(ref0), c00f, 0, 0x027, 0x028, 0)
+
+ CH03("", 0, 0x029, 0, 0)
+ CopyObject(RefOf(mx00), ref0)
+ mf88(DerefOf(ref0), c011, 0, 0x02a, 0x02b, 0)
+
+ if (y511) {
+ CH03("", 0, 0x02c, 0, 0)
+ CopyObject(RefOf(d000), ref0)
+ mf88(DerefOf(ref0), c00e, 0, 0x02d, 0x02e, 0)
+ }
+
+ if (y508) {
+ CH03("", 0, 0x02f, 0, 0)
+ CopyObject(RefOf(tz00), ref0)
+ mf88(DerefOf(ref0), c015, 0, 0x030, 0x031, 0)
+ }
+
+ CH03("", 0, 0x032, 0, 0)
+ CopyObject(RefOf(pr00), ref0)
+ mf88(DerefOf(ref0), c014, 0, 0x033, 0x034, 0)
+
+ CH03("", 0, 0x035, 0, 0)
+ CopyObject(RefOf(r000), ref0)
+ mf88(DerefOf(ref0), c012, 0, 0x036, 0x037, 0)
+
+ CH03("", 0, 0x038, 0, 0)
+ CopyObject(RefOf(pw00), ref0)
+ mf88(DerefOf(ref0), c013, 0, 0x039, 0x03a, 0)
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0128/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0128/MAIN.asl
new file mode 100644
index 000000000..030935987
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0128/MAIN.asl
@@ -0,0 +1,58 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B128.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/common/DECL.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0128/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0128/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0128/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0128/RUN.asl
new file mode 100644
index 000000000..7aced8a33
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0128/RUN.asl
@@ -0,0 +1,46 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 128", TCLD, 128, W017)) {
+ if (y128) {
+ SRMT("mf17")
+ mf17()
+ SRMT("mf18")
+ mf18()
+ SRMT("mf9e")
+ mf9e()
+ SRMT("mf9f")
+ mf9f()
+ } else {
+ SRMT("TESTS-OF-B128")
+ BLCK() }
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0129/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0129/DECL.asl
new file mode 100644
index 000000000..e62508c9b
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0129/DECL.asl
@@ -0,0 +1,38 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 129:
+ *
+ * SUMMARY: Creating Package of an arbitrary length, Package & VarPackage
+ */
+Include("../../../../../runtime/collections/bdemo/ACPICA/0129/StaticLocal.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0129/StaticGlobal.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0129/Dynamic.asl")
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0129/Dynamic.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0129/Dynamic.asl
new file mode 100644
index 000000000..efc824193
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0129/Dynamic.asl
@@ -0,0 +1,115 @@
+/*
+ * 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.
+ */
+
+/*
+ * All the Packages are declared dynamically
+ * (NumElements specified by arg0) as locals
+ * of Methods.
+ */
+
+Method(md6e, 1)
+{
+ Name(p504, Package(arg0) {})
+
+ md6a(
+ p504, // Package
+ 0x10000, // size of Package
+ 0, // size of pre-initialized area
+ 0x9345, // index of area to be written
+ 57, // size of area to be written
+ 10, // maximal number of pre-initialized elements to be verified
+ 10) // maximal number of written elements to be verified
+}
+
+Method(md6f, 1)
+{
+ Name(p505, Package(arg0) {})
+
+ md6a(
+ p505, // Package
+ 100, // size of Package
+ 0, // size of pre-initialized area
+ 73, // index of area to be written
+ 19, // size of area to be written
+ 10, // maximal number of pre-initialized elements to be verified
+ 10) // maximal number of written elements to be verified
+}
+
+Method(md70, 1)
+{
+ Name(p506, Package(arg0) {})
+
+ md6a(
+ p506, // Package
+ 255, // size of Package
+ 0, // size of pre-initialized area
+ 17, // index of area to be written
+ 19, // size of area to be written
+ 10, // maximal number of pre-initialized elements to be verified
+ 10) // maximal number of written elements to be verified
+}
+
+Method(md71, 1)
+{
+ Name(p000, Package(arg0) {})
+
+ md6a(
+ p000, // Package
+ 256, // size of Package
+ 0, // size of pre-initialized area
+ 17, // index of area to be written
+ 19, // size of area to be written
+ 10, // maximal number of pre-initialized elements to be verified
+ 10) // maximal number of written elements to be verified
+}
+
+Method(md72, 1)
+{
+ Name(p000, Package(arg0) {})
+
+ md6a(
+ p000, // Package
+ 257, // size of Package
+ 0, // size of pre-initialized area
+ Subtract(257, 55), // index of area to be written
+ 55, // size of area to be written
+ 10, // maximal number of pre-initialized elements to be verified
+ 55) // maximal number of written elements to be verified
+}
+
+Method(md73)
+{
+ md6e(0x10000)
+ md6f(100)
+ md70(255)
+ md71(256)
+ md72(257)
+}
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0129/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0129/MAIN.asl
new file mode 100644
index 000000000..886ba257c
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0129/MAIN.asl
@@ -0,0 +1,58 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B129.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/common/DECL.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0129/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0129/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0129/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0129/RUN.asl
new file mode 100644
index 000000000..e42053dae
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0129/RUN.asl
@@ -0,0 +1,48 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 129", TCLD, 129, W017)) {
+
+// TRC8()
+
+ SRMT("StaticLocal")
+ md6d()
+
+ SRMT("StaticGlobal")
+ md6c()
+
+ SRMT("Dynamic")
+ md73()
+
+// TRC9()
+
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0129/StaticGlobal.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0129/StaticGlobal.asl
new file mode 100644
index 000000000..3b1efc785
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0129/StaticGlobal.asl
@@ -0,0 +1,208 @@
+/*
+ * 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.
+ */
+
+/*
+ * All the Packages are declared globally (statically)
+ */
+
+Name(p500, Package(256) {
+
+ // 0-127
+ 0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,
+ 0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,
+ 0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,
+ 0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,
+ 0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,
+ 0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,
+ 0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,
+ 0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,
+ 0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47,
+ 0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,
+ 0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,
+ 0x58,0x59,0x5a,0x5b,0x5c,0x5d,0x5e,0x5f,
+ 0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,
+ 0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,
+ 0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,
+ 0x78,0x79,0x7a,0x7b,0x7c,0x7d,0x7e,0x7f,
+
+ // 128-(255-8)
+ 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,
+ 0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,
+ 0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,
+ 0x98,0x99,0x9a,0x9b,0x9c,0x9d,0x9e,0x9f,
+ 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,
+ 0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,
+ 0xb0,0xb1,0xb2,0xb3,0xb4,0xb5,0xb6,0xb7,
+ 0xb8,0xb9,0xba,0xbb,0xbc,0xbd,0xbe,0xbf,
+ 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,
+ 0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,
+ 0xd0,0xd1,0xd2,0xd3,0xd4,0xd5,0xd6,0xd7,
+ 0xd8,0xd9,0xda,0xdb,0xdc,0xdd,0xde,0xdf,
+ 0xe0,0xe1,0xe2,0xe3,0xe4,0xe5,0xe6,0xe7,
+ 0xe8,0xe9,0xea,0xeb,0xec,0xed,0xee,0xef,
+ 0xf0,0xf1,0xf2,0xf3,0xf4,0xf5,0xf6,0xf7,
+})
+
+Name(p501, Package() {
+
+ // 0-127
+ 0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,
+ 0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,
+ 0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,
+ 0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,
+ 0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,
+ 0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,
+ 0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,
+ 0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,
+ 0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47,
+ 0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,
+ 0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,
+ 0x58,0x59,0x5a,0x5b,0x5c,0x5d,0x5e,0x5f,
+ 0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,
+ 0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,
+ 0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,
+ 0x78,0x79,0x7a,0x7b,0x7c,0x7d,0x7e,0x7f,
+
+ // 128-255
+ 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,
+ 0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,
+ 0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,
+ 0x98,0x99,0x9a,0x9b,0x9c,0x9d,0x9e,0x9f,
+ 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,
+ 0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,
+ 0xb0,0xb1,0xb2,0xb3,0xb4,0xb5,0xb6,0xb7,
+ 0xb8,0xb9,0xba,0xbb,0xbc,0xbd,0xbe,0xbf,
+ 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,
+ 0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,
+ 0xd0,0xd1,0xd2,0xd3,0xd4,0xd5,0xd6,0xd7,
+ 0xd8,0xd9,0xda,0xdb,0xdc,0xdd,0xde,0xdf,
+ 0xe0,0xe1,0xe2,0xe3,0xe4,0xe5,0xe6,0xe7,
+ 0xe8,0xe9,0xea,0xeb,0xec,0xed,0xee,0xef,
+ 0xf0,0xf1,0xf2,0xf3,0xf4,0xf5,0xf6,0xf7,
+ 0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,0xfe,0xff,
+})
+
+Name(p502, Package() {
+
+ // 0-8
+ 0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,
+ 0x08,
+})
+
+Name(p503, Package(11) {
+
+ // 0-10
+ 0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,
+ 0x08,
+})
+
+Name(p504, Package(0x10000) {})
+
+Name(i500, 0)
+Name(i501, 255)
+
+Name(p505, Package(Add(99, 1)) {})
+Name(p506, Package(Store(i501, i500)) {})
+
+Method(md6c)
+{
+ md6a(
+ p500, // Package
+ 256, // size of Package
+ Subtract(256, 8), // size of pre-initialized area
+ Subtract(256, 7), // index of area to be written
+ 6, // size of area to be written
+ 10, // maximal number of pre-initialized elements to be verified
+ 10) // maximal number of written elements to be verified
+
+ md6a(
+ p501, // Package
+ 256, // size of Package
+ 256, // size of pre-initialized area
+ 0, // index of area to be written
+ 0, // size of area to be written
+ 10, // maximal number of pre-initialized elements to be verified
+ 10) // maximal number of written elements to be verified
+
+ md6a(
+ p501, // Package
+ 256, // size of Package
+ 256, // size of pre-initialized area
+ 0, // index of area to be written
+ 16, // size of area to be written
+ 10, // maximal number of pre-initialized elements to be verified
+ 10) // maximal number of written elements to be verified
+
+ md6a(
+ p502, // Package
+ 9, // size of Package
+ 9, // size of pre-initialized area
+ 2, // index of area to be written
+ 5, // size of area to be written
+ 10, // maximal number of pre-initialized elements to be verified
+ 10) // maximal number of written elements to be verified
+
+ md6a(
+ p503, // Package
+ 11, // size of Package
+ 9, // size of pre-initialized area
+ 2, // index of area to be written
+ 5, // size of area to be written
+ 10, // maximal number of pre-initialized elements to be verified
+ 10) // maximal number of written elements to be verified
+
+ md6a(
+ p504, // Package
+ 0x10000, // size of Package
+ 0, // size of pre-initialized area
+ 0x9345, // index of area to be written
+ 57, // size of area to be written
+ 10, // maximal number of pre-initialized elements to be verified
+ 10) // maximal number of written elements to be verified
+
+ md6a(
+ p505, // Package
+ 100, // size of Package
+ 0, // size of pre-initialized area
+ 73, // index of area to be written
+ 19, // size of area to be written
+ 10, // maximal number of pre-initialized elements to be verified
+ 10) // maximal number of written elements to be verified
+
+ md6a(
+ p506, // Package
+ 255, // size of Package
+ 0, // size of pre-initialized area
+ 17, // index of area to be written
+ 19, // size of area to be written
+ 10, // maximal number of pre-initialized elements to be verified
+ 10) // maximal number of written elements to be verified
+}
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0129/StaticLocal.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0129/StaticLocal.asl
new file mode 100644
index 000000000..45b00a1c9
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0129/StaticLocal.asl
@@ -0,0 +1,209 @@
+/*
+ * 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.
+ */
+
+/*
+ * Absolutely the same as md6c but all the Packages
+ * are declared statically as locals of Method.
+ */
+Method(md6d)
+{
+
+Name(p500, Package(256) {
+
+ // 0-127
+ 0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,
+ 0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,
+ 0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,
+ 0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,
+ 0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,
+ 0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,
+ 0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,
+ 0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,
+ 0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47,
+ 0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,
+ 0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,
+ 0x58,0x59,0x5a,0x5b,0x5c,0x5d,0x5e,0x5f,
+ 0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,
+ 0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,
+ 0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,
+ 0x78,0x79,0x7a,0x7b,0x7c,0x7d,0x7e,0x7f,
+
+ // 128-(255-8)
+ 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,
+ 0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,
+ 0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,
+ 0x98,0x99,0x9a,0x9b,0x9c,0x9d,0x9e,0x9f,
+ 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,
+ 0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,
+ 0xb0,0xb1,0xb2,0xb3,0xb4,0xb5,0xb6,0xb7,
+ 0xb8,0xb9,0xba,0xbb,0xbc,0xbd,0xbe,0xbf,
+ 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,
+ 0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,
+ 0xd0,0xd1,0xd2,0xd3,0xd4,0xd5,0xd6,0xd7,
+ 0xd8,0xd9,0xda,0xdb,0xdc,0xdd,0xde,0xdf,
+ 0xe0,0xe1,0xe2,0xe3,0xe4,0xe5,0xe6,0xe7,
+ 0xe8,0xe9,0xea,0xeb,0xec,0xed,0xee,0xef,
+ 0xf0,0xf1,0xf2,0xf3,0xf4,0xf5,0xf6,0xf7,
+})
+
+Name(p501, Package() {
+
+ // 0-127
+ 0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,
+ 0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,
+ 0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,
+ 0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,
+ 0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,
+ 0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,
+ 0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,
+ 0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,
+ 0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47,
+ 0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,
+ 0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,
+ 0x58,0x59,0x5a,0x5b,0x5c,0x5d,0x5e,0x5f,
+ 0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,
+ 0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,
+ 0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,
+ 0x78,0x79,0x7a,0x7b,0x7c,0x7d,0x7e,0x7f,
+
+ // 128-255
+ 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,
+ 0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,
+ 0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,
+ 0x98,0x99,0x9a,0x9b,0x9c,0x9d,0x9e,0x9f,
+ 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,
+ 0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,
+ 0xb0,0xb1,0xb2,0xb3,0xb4,0xb5,0xb6,0xb7,
+ 0xb8,0xb9,0xba,0xbb,0xbc,0xbd,0xbe,0xbf,
+ 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,
+ 0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,
+ 0xd0,0xd1,0xd2,0xd3,0xd4,0xd5,0xd6,0xd7,
+ 0xd8,0xd9,0xda,0xdb,0xdc,0xdd,0xde,0xdf,
+ 0xe0,0xe1,0xe2,0xe3,0xe4,0xe5,0xe6,0xe7,
+ 0xe8,0xe9,0xea,0xeb,0xec,0xed,0xee,0xef,
+ 0xf0,0xf1,0xf2,0xf3,0xf4,0xf5,0xf6,0xf7,
+ 0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,0xfe,0xff,
+})
+
+Name(p502, Package() {
+
+ // 0-8
+ 0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,
+ 0x08,
+})
+
+Name(p503, Package(11) {
+
+ // 0-10
+ 0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,
+ 0x08,
+})
+
+Name(p504, Package(0x10000) {})
+
+Name(i500, 0)
+Name(i501, 255)
+
+Name(p505, Package(Add(99, 1)) {})
+Name(p506, Package(Store(i501, i500)) {})
+
+ md6a(
+ p500, // Package
+ 256, // size of Package
+ Subtract(256, 8), // size of pre-initialized area
+ Subtract(256, 7), // index of area to be written
+ 6, // size of area to be written
+ 10, // maximal number of pre-initialized elements to be verified
+ 10) // maximal number of written elements to be verified
+
+ md6a(
+ p501, // Package
+ 256, // size of Package
+ 256, // size of pre-initialized area
+ 0, // index of area to be written
+ 0, // size of area to be written
+ 10, // maximal number of pre-initialized elements to be verified
+ 10) // maximal number of written elements to be verified
+
+ md6a(
+ p501, // Package
+ 256, // size of Package
+ 256, // size of pre-initialized area
+ 0, // index of area to be written
+ 16, // size of area to be written
+ 10, // maximal number of pre-initialized elements to be verified
+ 10) // maximal number of written elements to be verified
+
+ md6a(
+ p502, // Package
+ 9, // size of Package
+ 9, // size of pre-initialized area
+ 2, // index of area to be written
+ 5, // size of area to be written
+ 10, // maximal number of pre-initialized elements to be verified
+ 10) // maximal number of written elements to be verified
+
+ md6a(
+ p503, // Package
+ 11, // size of Package
+ 9, // size of pre-initialized area
+ 2, // index of area to be written
+ 5, // size of area to be written
+ 10, // maximal number of pre-initialized elements to be verified
+ 10) // maximal number of written elements to be verified
+
+ md6a(
+ p504, // Package
+ 0x10000, // size of Package
+ 0, // size of pre-initialized area
+ 0x9345, // index of area to be written
+ 57, // size of area to be written
+ 10, // maximal number of pre-initialized elements to be verified
+ 10) // maximal number of written elements to be verified
+
+ md6a(
+ p505, // Package
+ 100, // size of Package
+ 0, // size of pre-initialized area
+ 73, // index of area to be written
+ 19, // size of area to be written
+ 10, // maximal number of pre-initialized elements to be verified
+ 10) // maximal number of written elements to be verified
+
+ md6a(
+ p506, // Package
+ 255, // size of Package
+ 0, // size of pre-initialized area
+ 17, // index of area to be written
+ 19, // size of area to be written
+ 10, // maximal number of pre-initialized elements to be verified
+ 10) // maximal number of written elements to be verified
+}
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0130/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0130/DECL.asl
new file mode 100644
index 000000000..84e39910f
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0130/DECL.asl
@@ -0,0 +1,76 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 130:
+ *
+ * SUMMARY: Reference to String works differently to like the references to Buffer and Package work
+ */
+
+ Method(mf19, 1)
+ {
+ Store(DerefOf(arg0), Local2)
+ Store(0x2b, Index(Local2, 1))
+// Store(0x2b, Index(DerefOf(arg0), 1))
+ }
+
+ Method(mf1a, 1)
+ {
+ Store(RefOf(arg0), Local0)
+ mf19(Local0)
+ }
+
+ Method(mf1b)
+ {
+ // Index of String
+
+ mf1a(sd04)
+ if (LNotEqual(sd04, "qwer0000")) {
+ err("", zFFF, 0x000, 0, 0, sd04, "qwer0000")
+ }
+
+ // Index of Buffer
+
+ mf1a(bd08)
+ if (LNotEqual(bd08, Buffer(4) {1,0x77,3,4})) {
+ err("", zFFF, 0x001, 0, 0, bd08, Buffer(4) {1,0x77,3,4})
+ }
+
+ // Index of Package
+
+ mf1a(pd0d)
+
+ Index(pd0d, 1, Local0)
+ Store(DerefOf(Local0), Local1)
+
+ if (LNotEqual(Local1, 0x77)) {
+ err("", zFFF, 0x002, 0, 0, Local1, 0x77)
+ }
+ }
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0130/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0130/MAIN.asl
new file mode 100644
index 000000000..79cc32508
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0130/MAIN.asl
@@ -0,0 +1,58 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B130.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/common/DECL.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0130/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0130/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0130/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0130/RUN.asl
new file mode 100644
index 000000000..f00ca75c5
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0130/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 130", TCLD, 130, W017)) {
+ SRMT("mf1b")
+ mf1b()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0131/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0131/DECL.asl
new file mode 100644
index 000000000..c18da633f
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0131/DECL.asl
@@ -0,0 +1,90 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 131:
+ *
+ * SUMMARY: Store to the Index reference immediately returned by Method doesn't work
+ */
+
+Method(m126)
+{
+ Name(p000, Package() {1,2,3,4,5,6,7,8})
+
+ Method(m002)
+ {
+ Store("m002 started", Debug)
+ return (Index(p000, 1))
+ }
+
+ Method(m003)
+ {
+ Store("m003 started", Debug)
+ Store(Index(p000, 1), Local0)
+ return (Local0)
+ }
+
+ Method(m004, 1)
+ {
+ Store("m004 started", Debug)
+ Store(Index(p000, arg0), Local0)
+ return (Local0)
+ }
+
+ Method(m005)
+ {
+ Store(0xabcd0001, Index(p000, 0))
+ Store(DerefOf(Index(p000, 0)), Local0)
+ if (LNotEqual(Local0, 0xabcd0001)) {
+ err("", zFFF, 0x000, 0, 0, Local0, 0xabcd0001)
+ }
+
+ Store(0xabcd0004, m002())
+ Store(DerefOf(Index(p000, 1)), Local0)
+ if (LNotEqual(Local0, 0xabcd0004)) {
+ err("", zFFF, 0x000, 0, 0, Local0, 0xabcd0004)
+ }
+
+ Store(0xabcd0005, m003())
+ Store(DerefOf(Index(p000, 1)), Local0)
+ if (LNotEqual(Local0, 0xabcd0005)) {
+ err("", zFFF, 0x000, 0, 0, Local0, 0xabcd0005)
+ }
+
+ Store(0xabcd0006, m004(1))
+ Store(DerefOf(Index(p000, 1)), Local0)
+ if (LNotEqual(Local0, 0xabcd0006)) {
+ err("", zFFF, 0x000, 0, 0, Local0, 0xabcd0006)
+ }
+ }
+
+ m005()
+}
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0131/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0131/MAIN.asl
new file mode 100644
index 000000000..e7d6ab4ae
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0131/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B131.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0131/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0131/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0131/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0131/RUN.asl
new file mode 100644
index 000000000..d7fe59df4
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0131/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 131", TCLD, 131, W017)) {
+ SRMT("m126")
+ m126()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0132/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0132/DECL.asl
new file mode 100644
index 000000000..e008d3018
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0132/DECL.asl
@@ -0,0 +1,54 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 132:
+ *
+ * SUMMARY: The Read access automatic dereference for Index reference doesn't work
+ */
+
+ Method(mf1f, 2)
+ {
+ Store(arg0, Debug)
+
+ CH03("", 0, 0x000, 0, 0)
+ Add(arg0, 1, Local7)
+ CH03("", 0, 0x001, 0, 0)
+
+ if (LNotEqual(Local7, 0x78)) {
+ err("", zFFF, 0x000, 0, 0, id12, 5)
+ }
+ }
+
+ Method(mf20)
+ {
+ Index(pd0e, 0, Local0)
+ mf1f(Local0, 0)
+ }
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0132/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0132/MAIN.asl
new file mode 100644
index 000000000..b887d86bb
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0132/MAIN.asl
@@ -0,0 +1,58 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B132.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/common/DECL.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0132/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0132/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0132/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0132/RUN.asl
new file mode 100644
index 000000000..58f5c156d
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0132/RUN.asl
@@ -0,0 +1,40 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 132", TCLD, 132, W017)) {
+ SRMT("mf20")
+ if (y132) {
+ mf20()
+ } else {
+ BLCK()
+ }
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0133/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0133/DECL.asl
new file mode 100644
index 000000000..9cc19d4be
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0133/DECL.asl
@@ -0,0 +1,79 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 133:
+ *
+ * SUMMARY: The Write access automatic dereference for Index reference doesn't work
+ */
+
+ Method(mf21, 1)
+ {
+ Store(0x77, arg0)
+ }
+
+ Method(mf22)
+ {
+ // Writing by RefOf reference to Integer
+
+ Store(RefOf(id13), Local0)
+ mf21(Local0)
+ if (LNotEqual(id13, 0x77)) {
+ err("", zFFF, 0x000, 0, 0, id13, 0x77)
+ }
+
+ // Writing by Index to String
+
+ Index(sd05, 1, Local0)
+ mf21(Local0)
+ if (LNotEqual(sd05, "qwer0000")) {
+ err("", zFFF, 0x001, 0, 0, sd05, "qwer0000")
+ }
+
+ // Writing by Index to Buffer
+
+ Index(bd09, 1, Local0)
+ mf21(Local0)
+ if (LNotEqual(bd09, Buffer(4) {1,0x77,3,4})) {
+ err("", zFFF, 0x002, 0, 0, bd09, Buffer(4) {1,0x77,3,4})
+ }
+
+ // Writing by Index to Package
+
+ Index(pd0f, 1, Local0)
+ mf21(Local0)
+
+ Index(pd0f, 1, Local0)
+ Store(DerefOf(Local0), Local1)
+
+ if (LNotEqual(Local1, 0x77)) {
+ err("", zFFF, 0x003, 0, 0, Local1, 0x77)
+ }
+ }
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0133/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0133/MAIN.asl
new file mode 100644
index 000000000..2a1b54c21
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0133/MAIN.asl
@@ -0,0 +1,58 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B133.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/common/DECL.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0133/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0133/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0133/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0133/RUN.asl
new file mode 100644
index 000000000..4b791f376
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0133/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 133", TCLD, 133, W017)) {
+ SRMT("mf22")
+ mf22()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0134/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0134/DECL.asl
new file mode 100644
index 000000000..014135728
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0134/DECL.asl
@@ -0,0 +1,135 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 134:
+ *
+ * SUMMARY: Writing RefOf reference from inside Method breaks effectively local Arg
+ */
+
+ Method(mf23, 7)
+ {
+ Store("LocalX case of Method started:", Debug)
+
+ Store(RefOf(id14), Local0)
+ Store(Local0, Local1)
+ Store(Local1, Local2)
+ Store(Local2, Local3)
+ Store(Local3, Local4)
+ Store(Local4, Local5)
+ Store(Local5, Local6)
+
+
+ Store(DerefOf(Local0), Local6)
+ Store(Local6, Debug)
+
+ if (LNotEqual(Local6, 0x11)) {
+ err("", zFFF, 0x000, 0, 0, Local6, 0x11)
+ }
+
+ Store("LocalX case of Method finished", Debug)
+ }
+
+ Method(mf24, 7)
+ {
+ Store("ArgX case (1) of Method started:", Debug)
+
+ Store(RefOf(id14), arg0)
+ Store(arg0, arg1)
+ Store(arg1, arg2)
+ Store(arg2, arg3)
+ Store(arg3, arg4)
+ Store(arg4, arg5)
+ Store(arg5, arg6)
+
+
+ Store(DerefOf(arg0), arg6)
+ Store(arg6, Debug)
+
+ if (LNotEqual(arg6, 0x11)) {
+ err("", zFFF, 0x000, 0, 0, arg6, 0x11)
+ }
+
+ Store("ArgX case (1) of Method finished", Debug)
+ }
+
+ Method(mf25, 7)
+ {
+ Store("ArgX case (2) of Method started:", Debug)
+
+ Store(RefOf(id14), Local0)
+ Store(Local0, arg1)
+ Store(Local0, arg2)
+ Store(Local0, arg3)
+ Store(Local0, arg4)
+ Store(Local0, arg5)
+ Store(Local0, arg6)
+
+
+ Store(DerefOf(arg0), arg6)
+ Store(arg6, Debug)
+
+ if (LNotEqual(arg6, 0x11)) {
+ err("", zFFF, 0x000, 0, 0, arg6, 0x11)
+ }
+
+ Store("ArgX case (2) of Method finished", Debug)
+ }
+
+ Method(mf26)
+ {
+ SRMT("mf23")
+ mf23(id14,id15,id16,id17,id18,id19,id1a)
+
+ SRMT("mf24")
+ if (y134) {
+ mf24(id14,id15,id16,id17,id18,id19,id1a)
+ } else {
+ BLCK()
+ }
+
+ SRMT("mf25")
+ if (y134) {
+ mf25(id14,id15,id16,id17,id18,id19,id1a)
+ } else {
+ BLCK()
+ }
+ }
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0134/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0134/MAIN.asl
new file mode 100644
index 000000000..ceac5ac42
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0134/MAIN.asl
@@ -0,0 +1,58 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B134.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/common/DECL.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0134/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0134/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0134/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0134/RUN.asl
new file mode 100644
index 000000000..c851402c2
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0134/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 134", TCLD, 134, W017)) {
+ // SRMT("mf26")
+ mf26()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0135/Common.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0135/Common.asl
new file mode 100644
index 000000000..af5c8c7da
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0135/Common.asl
@@ -0,0 +1,4164 @@
+/*
+ * 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.
+ */
+
+/*
+ * Methods of common use.
+ *
+ * Note: writing to the global objects - nm03, pd12 and pd13 forces
+ * outstanding allocation reports.
+ */
+
+Name(id26, 8)
+Name(nm03, 0)
+Name(pd12, Package(Multiply(id26, 2)) {})
+Name(pd13, Package(Multiply(id26, 2)) {})
+
+
+/*
+ * AcpiExec doesn't run the unload of the table have been processed.
+ * Because of that the global objects are not forced to release. Thus,
+ * if nm03, pd12 or pd13 were rewritten by the new objects during the
+ * testing the outstanding allocations are reported.
+ *
+ * To get this known case of outstanding reports the same predictable
+ * view this method could be used after completion of testing to rewrite
+ * nm03, pd12 and pd13 with the same values.
+ *
+ * Nevertheless, these outstandings should be discussed and probably
+ * eliminated by updating of AcpiExec (unload the table).
+ */
+Method(mfe8)
+{
+ mfe7(pd12, Multiply(id26, 2))
+ mfe7(pd13, Multiply(id26, 2))
+
+ Store(0, nm03)
+}
+
+/*
+ * arg0 - Package
+ * arg1 - number of elements in arg0
+ */
+Method(mfe7, 2)
+{
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+
+ Store(arg1, lpN0)
+ Store(0, lpC0)
+
+ While (lpN0) {
+
+ Store(0, Index(arg0, lpC0))
+
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+}
+
+/*
+ * Initializing the Package with the monotone increasing Integers.
+ *
+ * arg0 - Package
+ * arg1 - index of first element to be initialized
+ * arg2 - number of elements to be initialized
+ * arg3 - value to be written into first element (+1 for other)
+ */
+Method(mfc7, 4)
+{
+ While (arg2) {
+
+ Store(arg3, Index(arg0, arg1))
+
+ Increment(arg1)
+ Increment(arg3)
+
+ Decrement(arg2)
+ }
+}
+
+/*
+ * Initializing the Package with the same Integer.
+ *
+ * arg0 - Package
+ * arg1 - index of first element to be initialized
+ * arg2 - number of elements to be initialized
+ * arg3 - value to be written
+ */
+Method(mfcd, 4)
+{
+ While (arg2) {
+
+ Store(arg3, Index(arg0, arg1))
+ Increment(arg1)
+
+ Decrement(arg2)
+ }
+}
+
+/*
+ * Initializing the Package with IRefs.
+ *
+ * arg0 - (Package), IRefs to elements of this Package
+ * arg1 - (Package), are stored into elements of this Package.
+ * arg2 - first element inside arg0
+ * arg3 - first element inside arg1
+ * arg4 - number of elements to be initialized
+ * arg5 - opcode of additional assignments of References (0-12):
+ * - none
+ * - to NamedX
+ * - to LocalX
+ * - to ArgX
+ *
+ * Store(Index(arg0, arg2[, X0]), Index(arg1, arg3[, X1]))
+ *
+ * X0 X1
+ *
+ * none , none
+ * LocalX , none
+ * ArgX , none
+ * none , LocalX
+ * LocalX , LocalX
+ * ArgX , LocalX
+ * none , ArgX
+ * LocalX , ArgX
+ * (ArgX , ArgX) - not enough arg-variables for this
+ *
+ * ************* exceptions:
+ * NamedX , none
+ * NamedX , LocalX
+ * NamedX , ArgX
+ * none , NamedX
+ * NamedX , NamedX
+ * LocalX , NamedX
+ * ArgX , NamedX
+ *
+ * arg6 - for auxiliary usage
+ */
+Method(mfc8, 7)
+{
+ Name(i000, 0)
+ Name(i001, 0)
+
+ While (arg4) {
+
+ Switch (arg5) {
+
+ /* (none, none) */
+
+ Case (0) {
+ Store(Index(arg0, arg2), Index(arg1, arg3))
+ }
+
+ /* (LocalX, none) */
+
+ Case (1) {
+ Index(arg0, arg2, Local0)
+ Store(Local0, Index(arg1, arg3))
+ }
+ Case (2) {
+ Store(Index(arg0, arg2, Local0), Index(arg1, arg3))
+ }
+
+ /* (ArgX, none) */
+
+ Case (3) {
+ Index(arg0, arg2, arg6)
+ Store(arg6, Index(arg1, arg3))
+ }
+ Case (4) {
+ Store(Index(arg0, arg2, arg6), Index(arg1, arg3))
+ }
+
+ /* (none, LocalX) */
+
+ Case (5) {
+ Store(Index(arg0, arg2), Index(arg1, arg3, Local0))
+ }
+
+ /* (LocalX, LocalX) */
+
+ Case (6) {
+ Index(arg0, arg2, Local0)
+ Store(Local0, Index(arg1, arg3, Local1))
+ }
+ Case (7) {
+ Store(Index(arg0, arg2, Local0), Index(arg1, arg3, Local1))
+ }
+
+ /* (ArgX, LocalX) */
+
+ Case (8) {
+ Index(arg0, arg2, arg6)
+ Store(arg6, Index(arg1, arg3, Local1))
+ }
+ Case (9) {
+ Store(Index(arg0, arg2, arg6), Index(arg1, arg3, Local1))
+ }
+
+ /* (none, ArgX) */
+
+ Case (10) {
+ Store(Index(arg0, arg2), Index(arg1, arg3, arg6))
+ }
+
+ /* (LocalX, ArgX) */
+
+ Case (11) {
+ Index(arg0, arg2, Local0)
+ Store(Local0, Index(arg1, arg3, arg6))
+ }
+ Case (12) {
+ Store(Index(arg0, arg2, Local0), Index(arg1, arg3, arg6))
+ }
+
+ /* (ArgX, ArgX) */
+
+ Default {
+ /* (none, none) */
+ Store(Index(arg0, arg2), Index(arg1, arg3))
+ }}
+
+ Increment(arg2)
+ Increment(arg3)
+
+ Decrement(arg4)
+ }
+}
+
+/*
+ * Pack parameters for mfc6
+ *
+ * arg0 - opcode of additional assignments of packages Pkg0 and Pkg1
+ * arg1 - different type of packages Pkg0 and Pkg1
+ * arg2 - different type access through the IRefs
+ * arg3 - what to do first
+ * arg4 - opcode of additional assignments of References
+ */
+Method(mfc9, 5)
+{
+ And(arg0, 0x0ff, Local0)
+ And(arg1, 0x0f, Local1)
+ And(arg2, 0x0f, Local2)
+ And(arg3, 0x0f, Local3)
+
+ ShiftLeft(Local1, 8, Local4)
+ ShiftLeft(Local2, 12, Local5)
+ ShiftLeft(Local3, 16, Local6)
+
+ Or(Local0, Local4, Local7)
+ Or(Local7, Local5, Local0)
+ Or(Local0, Local6, Local7)
+
+ And(arg4, 0x0f, Local0)
+ ShiftLeft(Local0, 20, Local1)
+ Or(Local1, Local7, Local0)
+
+ return (Local0)
+}
+
+/*
+ * Self references.
+ *
+ * Different type packages
+ *
+ * arg0 - Package P0
+ * arg1 - Package P1
+ *
+ * arg2 -
+ *
+
+ * 4. opcode of additional assignments of packages Pkg0 and Pkg1:
+ * Pkg0 (LocalX or ArgX or NamedX)
+ * Pkg1 (LocalX or ArgX or NamedX)
+ *
+ * 0 , , ; , ,
+ *
+ * 1 , , Named0; , , Named1
+ * 2 , Arg5, ; , , Named1
+ * 3 Loc4, , ; , , Named1
+ * 4 , , Named0; , Arg6,
+ * 5 , Arg5, ; , Arg6,
+ * 6 Loc4, , ; , Arg6,
+ * 7 , , Named0; Loc5, ,
+ * 8 , Arg5, ; Loc5, ,
+ * 9 Loc4, , ; Loc5, ,
+ *
+ * 10 Arg5 ; Arg5
+ * 11 Loc4 ; Loc4
+ * 12 Named0 ; Named0
+ *
+ * 13 , , Named0; , ,
+ * 14 , Arg5, ; , ,
+ * 15 Loc4, , ; , ,
+ * 16 , , ; , , Named1
+ * 17 , , ; , Arg6,
+ * 18 , , ; Loc5, ,
+
+
+ * 1. different type of packages Pkg0 and Pkg1:
+ * Pkg0 (P0 or p000 or pd12)
+ * Pkg1 (P1 or p001 or pd13)
+ *
+ * 0 , , pd12; , , pd13
+ * 1 , , pd12; , p001,
+ * 2 , , pd12; P1, ,
+ * 3 , p000, ; , , pd13
+ * 4 , p000, ; , p001,
+ * 5 , p000, ; P1, ,
+ * 6 P0, , ; , , pd13
+ * 7 P0, , ; , p001,
+ * 8 P0, , ; P1, ,
+ * 9 p000 ; p000
+ * 10 pd12 ; pd12
+ * 11 P0 ; P0
+ *
+ * 2. different type access through the IRefs
+ * 1 - DerefOf()
+ * DerefOf()
+ * 0 - DerefOf(DerefOf())
+ *
+ * 3. what to do first:
+ * 1 - initializing elements of Pkg to be then accessed by references
+ * 0 - or references to those elements.
+ *
+ *
+ * arg3 - reserved
+ * arg4 - reserved
+ *
+ * arg5 - for auxiliary usage (see comment to "additional assignments")
+ * arg6 - for auxiliary usage (see comment to "additional assignments")
+ */
+Method(mfc6, 7)
+{
+ Name(pr00, 0)
+ Name(num, 0) // half-size of Package
+ Name(i000, 0xabcd0000) // value of the first element of Package
+ Name(i001, 0)
+ Name(targ, 0)
+
+ Name(b000, Buffer(1) {0})
+
+ Name(nm00, 0)
+
+ /* arg2 is divided to these */
+ Name(AR20, 0)
+ Name(AR21, 0)
+ Name(AR22, 0)
+ Name(AR23, 0)
+ Name(AR24, 0)
+
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+
+ Store(id26, num)
+
+ Name(p000, Package(Multiply(num, 2)) {})
+ Name(p001, Package(Multiply(num, 2)) {})
+
+ CH03("", 0, 0x000, 0, 0)
+
+
+ /* Unpack arg2 */
+
+ And(arg2, 0x0ff, AR23)
+
+ ShiftRight(arg2, 8, Local0)
+ And(Local0, 0x0f, AR20)
+
+ ShiftRight(arg2, 12, Local0)
+ And(Local0, 0x0f, AR21)
+
+ ShiftRight(arg2, 16, Local0)
+ And(Local0, 0x0f, AR22)
+
+ ShiftRight(arg2, 20, Local0)
+ And(Local0, 0x0f, AR24)
+
+ if (pr00) {
+
+ Store(AR23, b000)
+ Concatenate("mfc6: assign Pkgs ", b000, Local0)
+
+ Store(AR24, b000)
+ Concatenate(Local0, ", assign Refs ", Local1)
+ Concatenate(Local1, b000, Local0)
+
+ Store(AR20, b000)
+ Concatenate(Local0, ", Pkg0/Pkg1 ", Local1)
+ Concatenate(Local1, b000, Local0)
+
+ Store(AR21, b000)
+ Concatenate(Local0, ", IRef access ", Local1)
+ Concatenate(Local1, b000, Local0)
+
+ Store(AR22, b000)
+ Concatenate(Local0, ", first ", Local1)
+ Concatenate(Local1, b000, Local0)
+
+ Store(Local0, Debug)
+ }
+
+ /* Identical calculations for different AR20 below */
+
+ Switch (AR23) {
+
+
+ Case (0) {
+
+ /* AR23: 0 ( , ) */
+
+ Switch (AR20) {
+ Case (0) {
+
+ /* 0 - (pd12, pd13) */
+
+ /* AR22 allows to change order of execution */
+
+ if (AR22) {
+ /*
+ * Initializing the first part of Package
+ */
+ mfc7(pd12, 0, num, i000)
+ } else {
+ /*
+ * Initializing the second part of Package with IRefs
+ * to elements of its first part.
+ */
+ mfc8(pd12, pd13, 0, num, num, AR24, 0)
+ }
+
+ if (AR22) {
+ /*
+ * Initializing the second part of Package with IRefs
+ * to elements of its first part.
+ */
+ mfc8(pd12, pd13, 0, num, num, AR24, 0)
+ } else {
+ /*
+ * Initializing the first part of Package
+ */
+ mfc7(pd12, 0, num, i000)
+ }
+
+ Store(pd12, Local6)
+ Store(pd13, Local7)
+ }
+ Case (1) {
+
+ /* 1 - (pd12, p001) */
+
+ if (AR22) {
+ mfc7(pd12, 0, num, i000)
+ } else {
+ mfc8(pd12, p001, 0, num, num, AR24, 0)
+ }
+
+ if (AR22) {
+ mfc8(pd12, p001, 0, num, num, AR24, 0)
+ } else {
+ mfc7(pd12, 0, num, i000)
+ }
+
+ Store(pd12, Local6)
+ Store(p001, Local7)
+ }
+ Case (2) {
+
+ /* 2 - (pd12, P1) */
+
+ if (AR22) {
+ mfc7(pd12, 0, num, i000)
+ } else {
+ mfc8(pd12, arg1, 0, num, num, AR24, 0)
+ }
+
+ if (AR22) {
+ mfc8(pd12, arg1, 0, num, num, AR24, 0)
+ } else {
+ mfc7(pd12, 0, num, i000)
+ }
+
+ Store(pd12, Local6)
+ Store(arg1, Local7)
+ }
+ Case (3) {
+
+ /* 3 - (p000, pd13) */
+
+ if (AR22) {
+ mfc7(p000, 0, num, i000)
+ } else {
+ mfc8(p000, pd13, 0, num, num, AR24, 0)
+ }
+
+ if (AR22) {
+ mfc8(p000, pd13, 0, num, num, AR24, 0)
+ } else {
+ mfc7(p000, 0, num, i000)
+ }
+
+ Store(p000, Local6)
+ Store(pd13, Local7)
+ }
+ Case (4) {
+
+ /* 4 - (p000, p001) */
+
+ if (AR22) {
+ mfc7(p000, 0, num, i000)
+ } else {
+ mfc8(p000, p001, 0, num, num, AR24, 0)
+ }
+
+ if (AR22) {
+ mfc8(p000, p001, 0, num, num, AR24, 0)
+ } else {
+ mfc7(p000, 0, num, i000)
+ }
+
+ Store(p000, Local6)
+ Store(p001, Local7)
+ }
+ Case (5) {
+
+ /* 5 - (p000, P1) */
+
+ if (AR22) {
+ mfc7(p000, 0, num, i000)
+ } else {
+ mfc8(p000, arg1, 0, num, num, AR24, 0)
+ }
+
+ if (AR22) {
+ mfc8(p000, arg1, 0, num, num, AR24, 0)
+ } else {
+ mfc7(p000, 0, num, i000)
+ }
+
+ Store(p000, Local6)
+ Store(arg1, Local7)
+ }
+ Case (6) {
+
+ /* 6 - (P0, pd13) */
+
+ if (AR22) {
+ mfc7(arg0, 0, num, i000)
+ } else {
+ mfc8(arg0, pd13, 0, num, num, AR24, 0)
+ }
+
+ if (AR22) {
+ mfc8(arg0, pd13, 0, num, num, AR24, 0)
+ } else {
+ mfc7(arg0, 0, num, i000)
+ }
+
+ Store(arg0, Local6)
+ Store(pd13, Local7)
+ }
+ Case (7) {
+
+ /* 7 - (P0, p001) */
+
+ if (AR22) {
+ mfc7(arg0, 0, num, i000)
+ } else {
+ mfc8(arg0, p001, 0, num, num, AR24, 0)
+ }
+
+ if (AR22) {
+ mfc8(arg0, p001, 0, num, num, AR24, 0)
+ } else {
+ mfc7(arg0, 0, num, i000)
+ }
+
+ Store(arg0, Local6)
+ Store(p001, Local7)
+ }
+ Case (8) {
+
+ /* 8 - (P0, P1) */
+
+ if (AR22) {
+ mfc7(arg0, 0, num, i000)
+ } else {
+ mfc8(arg0, arg1, 0, num, num, AR24, 0)
+ }
+
+ if (AR22) {
+ mfc8(arg0, arg1, 0, num, num, AR24, 0)
+ } else {
+ mfc7(arg0, 0, num, i000)
+ }
+
+ Store(arg0, Local6)
+ Store(arg1, Local7)
+ }
+ Case (9) {
+
+ /* 9 - (p000, p000) */
+
+ if (AR22) {
+ mfc7(p000, 0, num, i000)
+ } else {
+ mfc8(p000, p000, 0, num, num, AR24, 0)
+ }
+
+ if (AR22) {
+ mfc8(p000, p000, 0, num, num, AR24, 0)
+ } else {
+ mfc7(p000, 0, num, i000)
+ }
+
+ Store(p000, Local6)
+ Store(p000, Local7)
+ }
+ Case (10) {
+
+ /* 10 - (pd12, pd12) */
+
+ if (AR22) {
+ mfc7(pd12, 0, num, i000)
+ } else {
+ mfc8(pd12, pd12, 0, num, num, AR24, 0)
+ }
+
+ if (AR22) {
+ mfc8(pd12, pd12, 0, num, num, AR24, 0)
+ } else {
+ mfc7(pd12, 0, num, i000)
+ }
+
+ Store(pd12, Local6)
+ Store(pd12, Local7)
+ }
+ Case (11) {
+
+ /* 11 - (P0, P0) */
+
+ if (AR22) {
+ mfc7(arg0, 0, num, i000)
+ } else {
+ mfc8(arg0, arg0, 0, num, num, AR24, 0)
+ }
+
+ if (AR22) {
+ mfc8(arg0, arg0, 0, num, num, AR24, 0)
+ } else {
+ mfc7(arg0, 0, num, i000)
+ }
+
+ Store(arg0, Local6)
+ Store(arg0, Local7)
+ }}
+
+ } /* Case(0)/Switch(AR23) */
+
+
+ Case (1) {
+
+ /* AR23: 1 (Named0, Named1) */
+
+ Switch (AR20) {
+ Case (0) {
+
+ CopyObject(pd12, nm00)
+ CopyObject(pd13, nm03)
+
+ mfc7(nm00, 0, num, i000)
+ mfc8(nm00, nm03, 0, num, num, AR24, 0)
+
+ Store(nm00, Local6)
+ Store(nm03, Local7)
+ }
+ Case (1) {
+
+ CopyObject(pd12, nm00)
+ CopyObject(p001, nm03)
+
+ mfc8(nm00, nm03, 0, num, num, AR24, 0)
+ mfc7(nm00, 0, num, i000)
+
+ Store(nm00, Local6)
+ Store(nm03, Local7)
+ }
+ Case (2) {
+
+ CopyObject(pd12, nm00)
+ CopyObject(arg1, nm03)
+
+ mfc7(nm00, 0, num, i000)
+ mfc8(nm00, nm03, 0, num, num, AR24, 0)
+
+ Store(nm00, Local6)
+ Store(nm03, Local7)
+ }
+ Case (3) {
+
+ CopyObject(p000, nm00)
+ CopyObject(pd13, nm03)
+
+ mfc8(nm00, nm03, 0, num, num, AR24, 0)
+ mfc7(nm00, 0, num, i000)
+
+ Store(nm00, Local6)
+ Store(nm03, Local7)
+ }
+ Case (4) {
+
+ CopyObject(p000, nm00)
+ CopyObject(p001, nm03)
+
+ mfc7(nm00, 0, num, i000)
+ mfc8(nm00, nm03, 0, num, num, AR24, 0)
+
+ Store(nm00, Local6)
+ Store(nm03, Local7)
+ }
+ Case (5) {
+
+ CopyObject(p000, nm00)
+ CopyObject(arg1, nm03)
+
+ mfc8(nm00, nm03, 0, num, num, AR24, 0)
+ mfc7(nm00, 0, num, i000)
+
+ Store(nm00, Local6)
+ Store(nm03, Local7)
+ }
+ Case (6) {
+
+ CopyObject(arg0, nm00)
+ CopyObject(pd13, nm03)
+
+ mfc7(nm00, 0, num, i000)
+ mfc8(nm00, nm03, 0, num, num, AR24, 0)
+
+ Store(nm00, Local6)
+ Store(nm03, Local7)
+ }
+ Case (7) {
+
+ CopyObject(arg0, nm00)
+ CopyObject(p001, nm03)
+
+ mfc8(nm00, nm03, 0, num, num, AR24, 0)
+ mfc7(nm00, 0, num, i000)
+
+ Store(nm00, Local6)
+ Store(nm03, Local7)
+ }
+ Case (8) {
+
+ CopyObject(arg0, nm00)
+ CopyObject(arg1, nm03)
+
+ mfc7(nm00, 0, num, i000)
+ mfc8(nm00, nm03, 0, num, num, AR24, 0)
+
+ Store(nm00, Local6)
+ Store(nm03, Local7)
+ }
+ Case (9) {
+
+ CopyObject(p000, nm00)
+ CopyObject(p000, nm03)
+
+ mfc8(nm00, nm03, 0, num, num, AR24, 0)
+ mfc7(nm00, 0, num, i000)
+
+ Store(nm00, Local6)
+ Store(nm03, Local7)
+ }
+ Case (10) {
+
+ CopyObject(pd12, nm00)
+ CopyObject(pd12, nm03)
+
+ mfc7(nm00, 0, num, i000)
+ mfc8(nm00, nm03, 0, num, num, AR24, 0)
+
+ Store(nm00, Local6)
+ Store(nm03, Local7)
+ }
+ Case (11) {
+
+ CopyObject(arg0, nm00)
+ CopyObject(arg0, nm03)
+
+ mfc8(nm00, nm03, 0, num, num, AR24, 0)
+ mfc7(nm00, 0, num, i000)
+
+ Store(nm00, Local6)
+ Store(nm03, Local7)
+ }}
+
+ } /* Case(1)/Switch(AR23) */
+
+
+ Case (2) {
+
+ /* AR23: 2 (arg5, Named1) */
+
+ Switch (AR20) {
+ Case (0) {
+
+ CopyObject(pd12, arg5)
+ CopyObject(pd13, nm03)
+
+ mfc7(arg5, 0, num, i000)
+ mfc8(arg5, nm03, 0, num, num, AR24, 0)
+
+ Store(arg5, Local6)
+ Store(nm03, Local7)
+ }
+ Case (1) {
+
+ CopyObject(pd12, arg5)
+ CopyObject(p001, nm03)
+
+ mfc8(arg5, nm03, 0, num, num, AR24, 0)
+ mfc7(arg5, 0, num, i000)
+
+ Store(arg5, Local6)
+ Store(nm03, Local7)
+ }
+ Case (2) {
+
+ CopyObject(pd12, arg5)
+ CopyObject(arg1, nm03)
+
+ mfc7(arg5, 0, num, i000)
+ mfc8(arg5, nm03, 0, num, num, AR24, 0)
+
+ Store(arg5, Local6)
+ Store(nm03, Local7)
+ }
+ Case (3) {
+
+ CopyObject(p000, arg5)
+ CopyObject(pd13, nm03)
+
+ mfc8(arg5, nm03, 0, num, num, AR24, 0)
+ mfc7(arg5, 0, num, i000)
+
+ Store(arg5, Local6)
+ Store(nm03, Local7)
+ }
+ Case (4) {
+
+ CopyObject(p000, arg5)
+ CopyObject(p001, nm03)
+
+ mfc7(arg5, 0, num, i000)
+ mfc8(arg5, nm03, 0, num, num, AR24, 0)
+
+ Store(arg5, Local6)
+ Store(nm03, Local7)
+ }
+ Case (5) {
+
+ CopyObject(p000, arg5)
+ CopyObject(arg1, nm03)
+
+ mfc8(arg5, nm03, 0, num, num, AR24, 0)
+ mfc7(arg5, 0, num, i000)
+
+ Store(arg5, Local6)
+ Store(nm03, Local7)
+ }
+ Case (6) {
+
+ CopyObject(arg0, arg5)
+ CopyObject(pd13, nm03)
+
+ mfc7(arg5, 0, num, i000)
+ mfc8(arg5, nm03, 0, num, num, AR24, 0)
+
+ Store(arg5, Local6)
+ Store(nm03, Local7)
+ }
+ Case (7) {
+
+ CopyObject(arg0, arg5)
+ CopyObject(p001, nm03)
+
+ mfc8(arg5, nm03, 0, num, num, AR24, 0)
+ mfc7(arg5, 0, num, i000)
+
+ Store(arg5, Local6)
+ Store(nm03, Local7)
+ }
+ Case (8) {
+
+ CopyObject(arg0, arg5)
+ CopyObject(arg1, nm03)
+
+ mfc7(arg5, 0, num, i000)
+ mfc8(arg5, nm03, 0, num, num, AR24, 0)
+
+ Store(arg5, Local6)
+ Store(nm03, Local7)
+ }
+ Case (9) {
+
+ CopyObject(p000, arg5)
+ CopyObject(p000, nm03)
+
+ mfc8(arg5, nm03, 0, num, num, AR24, 0)
+ mfc7(arg5, 0, num, i000)
+
+ Store(arg5, Local6)
+ Store(nm03, Local7)
+ }
+ Case (10) {
+
+ CopyObject(pd12, arg5)
+ CopyObject(pd12, nm03)
+
+ mfc7(arg5, 0, num, i000)
+ mfc8(arg5, nm03, 0, num, num, AR24, 0)
+
+ Store(arg5, Local6)
+ Store(nm03, Local7)
+ }
+ Case (11) {
+
+ CopyObject(arg0, arg5)
+ CopyObject(arg0, nm03)
+
+ mfc8(arg5, nm03, 0, num, num, AR24, 0)
+ mfc7(arg5, 0, num, i000)
+
+ Store(arg5, Local6)
+ Store(nm03, Local7)
+ }}
+
+ } /* Case(2)/Switch(AR23) */
+
+
+ Case (3) {
+
+ /* AR23: 3 (Loc4, Named1) */
+
+ Switch (AR20) {
+ Case (0) {
+
+ CopyObject(pd12, Local4)
+ CopyObject(pd13, nm03)
+
+ mfc7(Local4, 0, num, i000)
+ mfc8(Local4, nm03, 0, num, num, AR24, 0)
+
+ Store(Local4, Local6)
+ Store(nm03, Local7)
+ }
+ Case (1) {
+
+ CopyObject(pd12, Local4)
+ CopyObject(p001, nm03)
+
+ mfc8(Local4, nm03, 0, num, num, AR24, 0)
+ mfc7(Local4, 0, num, i000)
+
+ Store(Local4, Local6)
+ Store(nm03, Local7)
+ }
+ Case (2) {
+
+ CopyObject(pd12, Local4)
+ CopyObject(arg1, nm03)
+
+ mfc7(Local4, 0, num, i000)
+ mfc8(Local4, nm03, 0, num, num, AR24, 0)
+
+ Store(Local4, Local6)
+ Store(nm03, Local7)
+ }
+ Case (3) {
+
+ CopyObject(p000, Local4)
+ CopyObject(pd13, nm03)
+
+ mfc8(Local4, nm03, 0, num, num, AR24, 0)
+ mfc7(Local4, 0, num, i000)
+
+ Store(Local4, Local6)
+ Store(nm03, Local7)
+ }
+ Case (4) {
+
+ CopyObject(p000, Local4)
+ CopyObject(p001, nm03)
+
+ mfc7(Local4, 0, num, i000)
+ mfc8(Local4, nm03, 0, num, num, AR24, 0)
+
+ Store(Local4, Local6)
+ Store(nm03, Local7)
+ }
+ Case (5) {
+
+ CopyObject(p000, Local4)
+ CopyObject(arg1, nm03)
+
+ mfc8(Local4, nm03, 0, num, num, AR24, 0)
+ mfc7(Local4, 0, num, i000)
+
+ Store(Local4, Local6)
+ Store(nm03, Local7)
+ }
+ Case (6) {
+
+ CopyObject(arg0, Local4)
+ CopyObject(pd13, nm03)
+
+ mfc7(Local4, 0, num, i000)
+ mfc8(Local4, nm03, 0, num, num, AR24, 0)
+
+ Store(Local4, Local6)
+ Store(nm03, Local7)
+ }
+ Case (7) {
+
+ CopyObject(arg0, Local4)
+ CopyObject(p001, nm03)
+
+ mfc8(Local4, nm03, 0, num, num, AR24, 0)
+ mfc7(Local4, 0, num, i000)
+
+ Store(Local4, Local6)
+ Store(nm03, Local7)
+ }
+ Case (8) {
+
+ CopyObject(arg0, Local4)
+ CopyObject(arg1, nm03)
+
+ mfc7(Local4, 0, num, i000)
+ mfc8(Local4, nm03, 0, num, num, AR24, 0)
+
+ Store(Local4, Local6)
+ Store(nm03, Local7)
+ }
+ Case (9) {
+
+ CopyObject(p000, Local4)
+ CopyObject(p000, nm03)
+
+ mfc8(Local4, nm03, 0, num, num, AR24, 0)
+ mfc7(Local4, 0, num, i000)
+
+ Store(Local4, Local6)
+ Store(nm03, Local7)
+ }
+ Case (10) {
+
+ CopyObject(pd12, Local4)
+ CopyObject(pd12, nm03)
+
+ mfc7(Local4, 0, num, i000)
+ mfc8(Local4, nm03, 0, num, num, AR24, 0)
+
+ Store(Local4, Local6)
+ Store(nm03, Local7)
+ }
+ Case (11) {
+
+ CopyObject(arg0, Local4)
+ CopyObject(arg0, nm03)
+
+ mfc8(Local4, nm03, 0, num, num, AR24, 0)
+ mfc7(Local4, 0, num, i000)
+
+ Store(Local4, Local6)
+ Store(nm03, Local7)
+ }}
+
+ } /* Case(3)/Switch(AR23) */
+
+
+ Case (4) {
+
+ /* AR23: 4 (Named0, Arg6) */
+
+ Switch (AR20) {
+ Case (0) {
+
+ CopyObject(pd12, nm00)
+ CopyObject(pd13, arg6)
+
+ mfc7(nm00, 0, num, i000)
+ mfc8(nm00, arg6, 0, num, num, AR24, 0)
+
+ Store(nm00, Local6)
+ Store(arg6, Local7)
+ }
+ Case (1) {
+
+ CopyObject(pd12, nm00)
+ CopyObject(p001, arg6)
+
+ mfc8(nm00, arg6, 0, num, num, AR24, 0)
+ mfc7(nm00, 0, num, i000)
+
+ Store(nm00, Local6)
+ Store(arg6, Local7)
+ }
+ Case (2) {
+
+ CopyObject(pd12, nm00)
+ CopyObject(arg1, arg6)
+
+ mfc7(nm00, 0, num, i000)
+ mfc8(nm00, arg6, 0, num, num, AR24, 0)
+
+ Store(nm00, Local6)
+ Store(arg6, Local7)
+ }
+ Case (3) {
+
+ CopyObject(p000, nm00)
+ CopyObject(pd13, arg6)
+
+ mfc8(nm00, arg6, 0, num, num, AR24, 0)
+ mfc7(nm00, 0, num, i000)
+
+ Store(nm00, Local6)
+ Store(arg6, Local7)
+ }
+ Case (4) {
+
+ CopyObject(p000, nm00)
+ CopyObject(p001, arg6)
+
+ mfc7(nm00, 0, num, i000)
+ mfc8(nm00, arg6, 0, num, num, AR24, 0)
+
+ Store(nm00, Local6)
+ Store(arg6, Local7)
+ }
+ Case (5) {
+
+ CopyObject(p000, nm00)
+ CopyObject(arg1, arg6)
+
+ mfc8(nm00, arg6, 0, num, num, AR24, 0)
+ mfc7(nm00, 0, num, i000)
+
+ Store(nm00, Local6)
+ Store(arg6, Local7)
+ }
+ Case (6) {
+
+ CopyObject(arg0, nm00)
+ CopyObject(pd13, arg6)
+
+ mfc7(nm00, 0, num, i000)
+ mfc8(nm00, arg6, 0, num, num, AR24, 0)
+
+ Store(nm00, Local6)
+ Store(arg6, Local7)
+ }
+ Case (7) {
+
+ CopyObject(arg0, nm00)
+ CopyObject(p001, arg6)
+
+ mfc8(nm00, arg6, 0, num, num, AR24, 0)
+ mfc7(nm00, 0, num, i000)
+
+ Store(nm00, Local6)
+ Store(arg6, Local7)
+ }
+ Case (8) {
+
+ CopyObject(arg0, nm00)
+ CopyObject(arg1, arg6)
+
+ mfc7(nm00, 0, num, i000)
+ mfc8(nm00, arg6, 0, num, num, AR24, 0)
+
+ Store(nm00, Local6)
+ Store(arg6, Local7)
+ }
+ Case (9) {
+
+ CopyObject(p000, nm00)
+ CopyObject(p000, arg6)
+
+ mfc8(nm00, arg6, 0, num, num, AR24, 0)
+ mfc7(nm00, 0, num, i000)
+
+ Store(nm00, Local6)
+ Store(arg6, Local7)
+ }
+ Case (10) {
+
+ CopyObject(pd12, nm00)
+ CopyObject(pd12, arg6)
+
+ mfc7(nm00, 0, num, i000)
+ mfc8(nm00, arg6, 0, num, num, AR24, 0)
+
+ Store(nm00, Local6)
+ Store(arg6, Local7)
+ }
+ Case (11) {
+
+ CopyObject(arg0, nm00)
+ CopyObject(arg0, arg6)
+
+ mfc8(nm00, arg6, 0, num, num, AR24, 0)
+ mfc7(nm00, 0, num, i000)
+
+ Store(nm00, Local6)
+ Store(arg6, Local7)
+ }}
+
+ } /* Case(4)/Switch(AR23) */
+
+
+ Case (5) {
+
+ /* AR23: 5 (Arg5, Arg6) */
+
+ Switch (AR20) {
+ Case (0) {
+
+ CopyObject(pd12, arg5)
+ CopyObject(pd13, arg6)
+
+ mfc7(arg5, 0, num, i000)
+ mfc8(arg5, arg6, 0, num, num, AR24, 0)
+
+ Store(arg5, Local6)
+ Store(arg6, Local7)
+ }
+ Case (1) {
+
+ CopyObject(pd12, arg5)
+ CopyObject(p001, arg6)
+
+ mfc8(arg5, arg6, 0, num, num, AR24, 0)
+ mfc7(arg5, 0, num, i000)
+
+ Store(arg5, Local6)
+ Store(arg6, Local7)
+ }
+ Case (2) {
+
+ CopyObject(pd12, arg5)
+ CopyObject(arg1, arg6)
+
+ mfc7(arg5, 0, num, i000)
+ mfc8(arg5, arg6, 0, num, num, AR24, 0)
+
+ Store(arg5, Local6)
+ Store(arg6, Local7)
+ }
+ Case (3) {
+
+ CopyObject(p000, arg5)
+ CopyObject(pd13, arg6)
+
+ mfc8(arg5, arg6, 0, num, num, AR24, 0)
+ mfc7(arg5, 0, num, i000)
+
+ Store(arg5, Local6)
+ Store(arg6, Local7)
+ }
+ Case (4) {
+
+ CopyObject(p000, arg5)
+ CopyObject(p001, arg6)
+
+ mfc7(arg5, 0, num, i000)
+ mfc8(arg5, arg6, 0, num, num, AR24, 0)
+
+ Store(arg5, Local6)
+ Store(arg6, Local7)
+ }
+ Case (5) {
+
+ CopyObject(p000, arg5)
+ CopyObject(arg1, arg6)
+
+ mfc8(arg5, arg6, 0, num, num, AR24, 0)
+ mfc7(arg5, 0, num, i000)
+
+ Store(arg5, Local6)
+ Store(arg6, Local7)
+ }
+ Case (6) {
+
+ CopyObject(arg0, arg5)
+ CopyObject(pd13, arg6)
+
+ mfc7(arg5, 0, num, i000)
+ mfc8(arg5, arg6, 0, num, num, AR24, 0)
+
+ Store(arg5, Local6)
+ Store(arg6, Local7)
+ }
+ Case (7) {
+
+ CopyObject(arg0, arg5)
+ CopyObject(p001, arg6)
+
+ mfc8(arg5, arg6, 0, num, num, AR24, 0)
+ mfc7(arg5, 0, num, i000)
+
+ Store(arg5, Local6)
+ Store(arg6, Local7)
+ }
+ Case (8) {
+
+ CopyObject(arg0, arg5)
+ CopyObject(arg1, arg6)
+
+ mfc7(arg5, 0, num, i000)
+ mfc8(arg5, arg6, 0, num, num, AR24, 0)
+
+ Store(arg5, Local6)
+ Store(arg6, Local7)
+ }
+ Case (9) {
+
+ CopyObject(p000, arg5)
+ CopyObject(p000, arg6)
+
+ mfc8(arg5, arg6, 0, num, num, AR24, 0)
+ mfc7(arg5, 0, num, i000)
+
+ Store(arg5, Local6)
+ Store(arg6, Local7)
+ }
+ Case (10) {
+
+ CopyObject(pd12, arg5)
+ CopyObject(pd12, arg6)
+
+ mfc7(arg5, 0, num, i000)
+ mfc8(arg5, arg6, 0, num, num, AR24, 0)
+
+ Store(arg5, Local6)
+ Store(arg6, Local7)
+ }
+ Case (11) {
+
+ CopyObject(arg0, arg5)
+ CopyObject(arg0, arg6)
+
+ mfc8(arg5, arg6, 0, num, num, AR24, 0)
+ mfc7(arg5, 0, num, i000)
+
+ Store(arg5, Local6)
+ Store(arg6, Local7)
+ }}
+
+ } /* Case(5)/Switch(AR23) */
+
+
+ Case (6) {
+
+ /* AR23: 6 (Loc4, Arg6) */
+
+ Switch (AR20) {
+ Case (0) {
+
+ CopyObject(pd12, Local4)
+ CopyObject(pd13, arg6)
+
+ mfc7(Local4, 0, num, i000)
+ mfc8(Local4, arg6, 0, num, num, AR24, 0)
+
+ Store(Local4, Local6)
+ Store(arg6, Local7)
+ }
+ Case (1) {
+
+ CopyObject(pd12, Local4)
+ CopyObject(p001, arg6)
+
+ mfc8(Local4, arg6, 0, num, num, AR24, 0)
+ mfc7(Local4, 0, num, i000)
+
+ Store(Local4, Local6)
+ Store(arg6, Local7)
+ }
+ Case (2) {
+
+ CopyObject(pd12, Local4)
+ CopyObject(arg1, arg6)
+
+ mfc7(Local4, 0, num, i000)
+ mfc8(Local4, arg6, 0, num, num, AR24, 0)
+
+ Store(Local4, Local6)
+ Store(arg6, Local7)
+ }
+ Case (3) {
+
+ CopyObject(p000, Local4)
+ CopyObject(pd13, arg6)
+
+ mfc8(Local4, arg6, 0, num, num, AR24, 0)
+ mfc7(Local4, 0, num, i000)
+
+ Store(Local4, Local6)
+ Store(arg6, Local7)
+ }
+ Case (4) {
+
+ CopyObject(p000, Local4)
+ CopyObject(p001, arg6)
+
+ mfc7(Local4, 0, num, i000)
+ mfc8(Local4, arg6, 0, num, num, AR24, 0)
+
+ Store(Local4, Local6)
+ Store(arg6, Local7)
+ }
+ Case (5) {
+
+ CopyObject(p000, Local4)
+ CopyObject(arg1, arg6)
+
+ mfc8(Local4, arg6, 0, num, num, AR24, 0)
+ mfc7(Local4, 0, num, i000)
+
+ Store(Local4, Local6)
+ Store(arg6, Local7)
+ }
+ Case (6) {
+
+ CopyObject(arg0, Local4)
+ CopyObject(pd13, arg6)
+
+ mfc7(Local4, 0, num, i000)
+ mfc8(Local4, arg6, 0, num, num, AR24, 0)
+
+ Store(Local4, Local6)
+ Store(arg6, Local7)
+ }
+ Case (7) {
+
+ CopyObject(arg0, Local4)
+ CopyObject(p001, arg6)
+
+ mfc8(Local4, arg6, 0, num, num, AR24, 0)
+ mfc7(Local4, 0, num, i000)
+
+ Store(Local4, Local6)
+ Store(arg6, Local7)
+ }
+ Case (8) {
+
+ CopyObject(arg0, Local4)
+ CopyObject(arg1, arg6)
+
+ mfc7(Local4, 0, num, i000)
+ mfc8(Local4, arg6, 0, num, num, AR24, 0)
+
+ Store(Local4, Local6)
+ Store(arg6, Local7)
+ }
+ Case (9) {
+
+ CopyObject(p000, Local4)
+ CopyObject(p000, arg6)
+
+ mfc8(Local4, arg6, 0, num, num, AR24, 0)
+ mfc7(Local4, 0, num, i000)
+
+ Store(Local4, Local6)
+ Store(arg6, Local7)
+ }
+ Case (10) {
+
+ CopyObject(pd12, Local4)
+ CopyObject(pd12, arg6)
+
+ mfc7(Local4, 0, num, i000)
+ mfc8(Local4, arg6, 0, num, num, AR24, 0)
+
+ Store(Local4, Local6)
+ Store(arg6, Local7)
+ }
+ Case (11) {
+
+ CopyObject(arg0, Local4)
+ CopyObject(arg0, arg6)
+
+ mfc8(Local4, arg6, 0, num, num, AR24, 0)
+ mfc7(Local4, 0, num, i000)
+
+ Store(Local4, Local6)
+ Store(arg6, Local7)
+ }}
+
+ } /* Case(6)/Switch(AR23) */
+
+
+ Case (7) {
+
+ /* AR23: 7 (Named0, Loc5) */
+
+ Switch (AR20) {
+ Case (0) {
+
+ CopyObject(pd12, nm00)
+ CopyObject(pd13, Local5)
+
+ mfc7(nm00, 0, num, i000)
+ mfc8(nm00, Local5, 0, num, num, AR24, 0)
+
+ Store(nm00, Local6)
+ Store(Local5, Local7)
+ }
+ Case (1) {
+
+ CopyObject(pd12, nm00)
+ CopyObject(p001, Local5)
+
+ mfc8(nm00, Local5, 0, num, num, AR24, 0)
+ mfc7(nm00, 0, num, i000)
+
+ Store(nm00, Local6)
+ Store(Local5, Local7)
+ }
+ Case (2) {
+
+ CopyObject(pd12, nm00)
+ CopyObject(arg1, Local5)
+
+ mfc7(nm00, 0, num, i000)
+ mfc8(nm00, Local5, 0, num, num, AR24, 0)
+
+ Store(nm00, Local6)
+ Store(Local5, Local7)
+ }
+ Case (3) {
+
+ CopyObject(p000, nm00)
+ CopyObject(pd13, Local5)
+
+ mfc8(nm00, Local5, 0, num, num, AR24, 0)
+ mfc7(nm00, 0, num, i000)
+
+ Store(nm00, Local6)
+ Store(Local5, Local7)
+ }
+ Case (4) {
+
+ CopyObject(p000, nm00)
+ CopyObject(p001, Local5)
+
+ mfc7(nm00, 0, num, i000)
+ mfc8(nm00, Local5, 0, num, num, AR24, 0)
+
+ Store(nm00, Local6)
+ Store(Local5, Local7)
+ }
+ Case (5) {
+
+ CopyObject(p000, nm00)
+ CopyObject(arg1, Local5)
+
+ mfc8(nm00, Local5, 0, num, num, AR24, 0)
+ mfc7(nm00, 0, num, i000)
+
+ Store(nm00, Local6)
+ Store(Local5, Local7)
+ }
+ Case (6) {
+
+ CopyObject(arg0, nm00)
+ CopyObject(pd13, Local5)
+
+ mfc7(nm00, 0, num, i000)
+ mfc8(nm00, Local5, 0, num, num, AR24, 0)
+
+ Store(nm00, Local6)
+ Store(Local5, Local7)
+ }
+ Case (7) {
+
+ CopyObject(arg0, nm00)
+ CopyObject(p001, Local5)
+
+ mfc8(nm00, Local5, 0, num, num, AR24, 0)
+ mfc7(nm00, 0, num, i000)
+
+ Store(nm00, Local6)
+ Store(Local5, Local7)
+ }
+ Case (8) {
+
+ CopyObject(arg0, nm00)
+ CopyObject(arg1, Local5)
+
+ mfc7(nm00, 0, num, i000)
+ mfc8(nm00, Local5, 0, num, num, AR24, 0)
+
+ Store(nm00, Local6)
+ Store(Local5, Local7)
+ }
+ Case (9) {
+
+ CopyObject(p000, nm00)
+ CopyObject(p000, Local5)
+
+ mfc8(nm00, Local5, 0, num, num, AR24, 0)
+ mfc7(nm00, 0, num, i000)
+
+ Store(nm00, Local6)
+ Store(Local5, Local7)
+ }
+ Case (10) {
+
+ CopyObject(pd12, nm00)
+ CopyObject(pd12, Local5)
+
+ mfc7(nm00, 0, num, i000)
+ mfc8(nm00, Local5, 0, num, num, AR24, 0)
+
+ Store(nm00, Local6)
+ Store(Local5, Local7)
+ }
+ Case (11) {
+
+ CopyObject(arg0, nm00)
+ CopyObject(arg0, Local5)
+
+ mfc8(nm00, Local5, 0, num, num, AR24, 0)
+ mfc7(nm00, 0, num, i000)
+
+ Store(nm00, Local6)
+ Store(Local5, Local7)
+ }}
+
+ } /* Case(7)/Switch(AR23) */
+
+
+ Case (8) {
+
+ /* AR23: 8 (Arg5, Loc5) */
+
+ Switch (AR20) {
+ Case (0) {
+
+ CopyObject(pd12, arg5)
+ CopyObject(pd13, Local5)
+
+ mfc7(arg5, 0, num, i000)
+ mfc8(arg5, Local5, 0, num, num, AR24, 0)
+
+ Store(arg5, Local6)
+ Store(Local5, Local7)
+ }
+ Case (1) {
+
+ CopyObject(pd12, arg5)
+ CopyObject(p001, Local5)
+
+ mfc8(arg5, Local5, 0, num, num, AR24, 0)
+ mfc7(arg5, 0, num, i000)
+
+ Store(arg5, Local6)
+ Store(Local5, Local7)
+ }
+ Case (2) {
+
+ CopyObject(pd12, arg5)
+ CopyObject(arg1, Local5)
+
+ mfc7(arg5, 0, num, i000)
+ mfc8(arg5, Local5, 0, num, num, AR24, 0)
+
+ Store(arg5, Local6)
+ Store(Local5, Local7)
+ }
+ Case (3) {
+
+ CopyObject(p000, arg5)
+ CopyObject(pd13, Local5)
+
+ mfc8(arg5, Local5, 0, num, num, AR24, 0)
+ mfc7(arg5, 0, num, i000)
+
+ Store(arg5, Local6)
+ Store(Local5, Local7)
+ }
+ Case (4) {
+
+ CopyObject(p000, arg5)
+ CopyObject(p001, Local5)
+
+ mfc7(arg5, 0, num, i000)
+ mfc8(arg5, Local5, 0, num, num, AR24, 0)
+
+ Store(arg5, Local6)
+ Store(Local5, Local7)
+ }
+ Case (5) {
+
+ CopyObject(p000, arg5)
+ CopyObject(arg1, Local5)
+
+ mfc8(arg5, Local5, 0, num, num, AR24, 0)
+ mfc7(arg5, 0, num, i000)
+
+ Store(arg5, Local6)
+ Store(Local5, Local7)
+ }
+ Case (6) {
+
+ CopyObject(arg0, arg5)
+ CopyObject(pd13, Local5)
+
+ mfc7(arg5, 0, num, i000)
+ mfc8(arg5, Local5, 0, num, num, AR24, 0)
+
+ Store(arg5, Local6)
+ Store(Local5, Local7)
+ }
+ Case (7) {
+
+ CopyObject(arg0, arg5)
+ CopyObject(p001, Local5)
+
+ mfc8(arg5, Local5, 0, num, num, AR24, 0)
+ mfc7(arg5, 0, num, i000)
+
+ Store(arg5, Local6)
+ Store(Local5, Local7)
+ }
+ Case (8) {
+
+ CopyObject(arg0, arg5)
+ CopyObject(arg1, Local5)
+
+ mfc7(arg5, 0, num, i000)
+ mfc8(arg5, Local5, 0, num, num, AR24, 0)
+
+ Store(arg5, Local6)
+ Store(Local5, Local7)
+ }
+ Case (9) {
+
+ CopyObject(p000, arg5)
+ CopyObject(p000, Local5)
+
+ mfc8(arg5, Local5, 0, num, num, AR24, 0)
+ mfc7(arg5, 0, num, i000)
+
+ Store(arg5, Local6)
+ Store(Local5, Local7)
+ }
+ Case (10) {
+
+ CopyObject(pd12, arg5)
+ CopyObject(pd12, Local5)
+
+ mfc7(arg5, 0, num, i000)
+ mfc8(arg5, Local5, 0, num, num, AR24, 0)
+
+ Store(arg5, Local6)
+ Store(Local5, Local7)
+ }
+ Case (11) {
+
+ CopyObject(arg0, arg5)
+ CopyObject(arg0, Local5)
+
+ mfc8(arg5, Local5, 0, num, num, AR24, 0)
+ mfc7(arg5, 0, num, i000)
+
+ Store(arg5, Local6)
+ Store(Local5, Local7)
+ }}
+
+ } /* Case(8)/Switch(AR23) */
+
+
+ Case (9) {
+
+ /* AR23: 9 (Loc4, Loc5) */
+
+ Switch (AR20) {
+ Case (0) {
+
+ CopyObject(pd12, Local4)
+ CopyObject(pd13, Local5)
+
+ mfc7(Local4, 0, num, i000)
+ mfc8(Local4, Local5, 0, num, num, AR24, 0)
+
+ Store(Local4, Local6)
+ Store(Local5, Local7)
+ }
+ Case (1) {
+
+ CopyObject(pd12, Local4)
+ CopyObject(p001, Local5)
+
+ mfc8(Local4, Local5, 0, num, num, AR24, 0)
+ mfc7(Local4, 0, num, i000)
+
+ Store(Local4, Local6)
+ Store(Local5, Local7)
+ }
+ Case (2) {
+
+ CopyObject(pd12, Local4)
+ CopyObject(arg1, Local5)
+
+ mfc7(Local4, 0, num, i000)
+ mfc8(Local4, Local5, 0, num, num, AR24, 0)
+
+ Store(Local4, Local6)
+ Store(Local5, Local7)
+ }
+ Case (3) {
+
+ CopyObject(p000, Local4)
+ CopyObject(pd13, Local5)
+
+ mfc8(Local4, Local5, 0, num, num, AR24, 0)
+ mfc7(Local4, 0, num, i000)
+
+ Store(Local4, Local6)
+ Store(Local5, Local7)
+ }
+ Case (4) {
+
+ CopyObject(p000, Local4)
+ CopyObject(p001, Local5)
+
+ mfc7(Local4, 0, num, i000)
+ mfc8(Local4, Local5, 0, num, num, AR24, 0)
+
+ Store(Local4, Local6)
+ Store(Local5, Local7)
+ }
+ Case (5) {
+
+ CopyObject(p000, Local4)
+ CopyObject(arg1, Local5)
+
+ mfc8(Local4, Local5, 0, num, num, AR24, 0)
+ mfc7(Local4, 0, num, i000)
+
+ Store(Local4, Local6)
+ Store(Local5, Local7)
+ }
+ Case (6) {
+
+ CopyObject(arg0, Local4)
+ CopyObject(pd13, Local5)
+
+ mfc7(Local4, 0, num, i000)
+ mfc8(Local4, Local5, 0, num, num, AR24, 0)
+
+ Store(Local4, Local6)
+ Store(Local5, Local7)
+ }
+ Case (7) {
+
+ CopyObject(arg0, Local4)
+ CopyObject(p001, Local5)
+
+ mfc8(Local4, Local5, 0, num, num, AR24, 0)
+ mfc7(Local4, 0, num, i000)
+
+ Store(Local4, Local6)
+ Store(Local5, Local7)
+ }
+ Case (8) {
+
+ CopyObject(arg0, Local4)
+ CopyObject(arg1, Local5)
+
+ mfc7(Local4, 0, num, i000)
+ mfc8(Local4, Local5, 0, num, num, AR24, 0)
+
+ Store(Local4, Local6)
+ Store(Local5, Local7)
+ }
+ Case (9) {
+
+ CopyObject(p000, Local4)
+ CopyObject(p000, Local5)
+
+ mfc8(Local4, Local5, 0, num, num, AR24, 0)
+ mfc7(Local4, 0, num, i000)
+
+ Store(Local4, Local6)
+ Store(Local5, Local7)
+ }
+ Case (10) {
+
+ CopyObject(pd12, Local4)
+ CopyObject(pd12, Local5)
+
+ mfc7(Local4, 0, num, i000)
+ mfc8(Local4, Local5, 0, num, num, AR24, 0)
+
+ Store(Local4, Local6)
+ Store(Local5, Local7)
+ }
+ Case (11) {
+
+ CopyObject(arg0, Local4)
+ CopyObject(arg0, Local5)
+
+ mfc8(Local4, Local5, 0, num, num, AR24, 0)
+ mfc7(Local4, 0, num, i000)
+
+ Store(Local4, Local6)
+ Store(Local5, Local7)
+ }}
+
+ } /* Case(9)/Switch(AR23) */
+
+
+ Case (10) {
+
+ /* AR23: 10 (Arg5, Arg5) */
+
+ Switch (AR20) {
+ Case (0) {
+
+ CopyObject(pd12, arg5)
+ CopyObject(pd13, arg5)
+
+ mfc7(arg5, 0, num, i000)
+ mfc8(arg5, arg5, 0, num, num, AR24, 0)
+
+ Store(arg5, Local6)
+ Store(arg5, Local7)
+ }
+ Case (1) {
+
+ CopyObject(pd12, arg5)
+ CopyObject(p001, arg5)
+
+ mfc8(arg5, arg5, 0, num, num, AR24, 0)
+ mfc7(arg5, 0, num, i000)
+
+ Store(arg5, Local6)
+ Store(arg5, Local7)
+ }
+ Case (2) {
+
+ CopyObject(pd12, arg5)
+ CopyObject(arg1, arg5)
+
+ mfc7(arg5, 0, num, i000)
+ mfc8(arg5, arg5, 0, num, num, AR24, 0)
+
+ Store(arg5, Local6)
+ Store(arg5, Local7)
+ }
+ Case (3) {
+
+ CopyObject(p000, arg5)
+ CopyObject(pd13, arg5)
+
+ mfc8(arg5, arg5, 0, num, num, AR24, 0)
+ mfc7(arg5, 0, num, i000)
+
+ Store(arg5, Local6)
+ Store(arg5, Local7)
+ }
+ Case (4) {
+
+ CopyObject(p000, arg5)
+ CopyObject(p001, arg5)
+
+ mfc7(arg5, 0, num, i000)
+ mfc8(arg5, arg5, 0, num, num, AR24, 0)
+
+ Store(arg5, Local6)
+ Store(arg5, Local7)
+ }
+ Case (5) {
+
+ CopyObject(p000, arg5)
+ CopyObject(arg1, arg5)
+
+ mfc8(arg5, arg5, 0, num, num, AR24, 0)
+ mfc7(arg5, 0, num, i000)
+
+ Store(arg5, Local6)
+ Store(arg5, Local7)
+ }
+ Case (6) {
+
+ CopyObject(arg0, arg5)
+ CopyObject(pd13, arg5)
+
+ mfc7(arg5, 0, num, i000)
+ mfc8(arg5, arg5, 0, num, num, AR24, 0)
+
+ Store(arg5, Local6)
+ Store(arg5, Local7)
+ }
+ Case (7) {
+
+ CopyObject(arg0, arg5)
+ CopyObject(p001, arg5)
+
+ mfc8(arg5, arg5, 0, num, num, AR24, 0)
+ mfc7(arg5, 0, num, i000)
+
+ Store(arg5, Local6)
+ Store(arg5, Local7)
+ }
+ Case (8) {
+
+ CopyObject(arg0, arg5)
+ CopyObject(arg1, arg5)
+
+ mfc7(arg5, 0, num, i000)
+ mfc8(arg5, arg5, 0, num, num, AR24, 0)
+
+ Store(arg5, Local6)
+ Store(arg5, Local7)
+ }
+ Case (9) {
+
+ CopyObject(p000, arg5)
+ CopyObject(p000, arg5)
+
+ mfc8(arg5, arg5, 0, num, num, AR24, 0)
+ mfc7(arg5, 0, num, i000)
+
+ Store(arg5, Local6)
+ Store(arg5, Local7)
+ }
+ Case (10) {
+
+ CopyObject(pd12, arg5)
+ CopyObject(pd12, arg5)
+
+ mfc7(arg5, 0, num, i000)
+ mfc8(arg5, arg5, 0, num, num, AR24, 0)
+
+ Store(arg5, Local6)
+ Store(arg5, Local7)
+ }
+ Case (11) {
+
+ CopyObject(arg0, arg5)
+ CopyObject(arg0, arg5)
+
+ mfc8(arg5, arg5, 0, num, num, AR24, 0)
+ mfc7(arg5, 0, num, i000)
+
+ Store(arg5, Local6)
+ Store(arg5, Local7)
+ }}
+
+ } /* Case(10)/Switch(AR23) */
+
+
+ Case (11) {
+
+ /* AR23: 11 (Loc4, Loc4) */
+
+ Switch (AR20) {
+ Case (0) {
+
+ CopyObject(pd12, Local4)
+ CopyObject(pd13, Local4)
+
+ mfc7(Local4, 0, num, i000)
+ mfc8(Local4, Local4, 0, num, num, AR24, 0)
+
+ Store(Local4, Local6)
+ Store(Local4, Local7)
+ }
+ Case (1) {
+
+ CopyObject(pd12, Local4)
+ CopyObject(p001, Local4)
+
+ mfc8(Local4, Local4, 0, num, num, AR24, 0)
+ mfc7(Local4, 0, num, i000)
+
+ Store(Local4, Local6)
+ Store(Local4, Local7)
+ }
+ Case (2) {
+
+ CopyObject(pd12, Local4)
+ CopyObject(arg1, Local4)
+
+ mfc7(Local4, 0, num, i000)
+ mfc8(Local4, Local4, 0, num, num, AR24, 0)
+
+ Store(Local4, Local6)
+ Store(Local4, Local7)
+ }
+ Case (3) {
+
+ CopyObject(p000, Local4)
+ CopyObject(pd13, Local4)
+
+ mfc8(Local4, Local4, 0, num, num, AR24, 0)
+ mfc7(Local4, 0, num, i000)
+
+ Store(Local4, Local6)
+ Store(Local4, Local7)
+ }
+ Case (4) {
+
+ CopyObject(p000, Local4)
+ CopyObject(p001, Local4)
+
+ mfc7(Local4, 0, num, i000)
+ mfc8(Local4, Local4, 0, num, num, AR24, 0)
+
+ Store(Local4, Local6)
+ Store(Local4, Local7)
+ }
+ Case (5) {
+
+ CopyObject(p000, Local4)
+ CopyObject(arg1, Local4)
+
+ mfc8(Local4, Local4, 0, num, num, AR24, 0)
+ mfc7(Local4, 0, num, i000)
+
+ Store(Local4, Local6)
+ Store(Local4, Local7)
+ }
+ Case (6) {
+
+ CopyObject(arg0, Local4)
+ CopyObject(pd13, Local4)
+
+ mfc7(Local4, 0, num, i000)
+ mfc8(Local4, Local4, 0, num, num, AR24, 0)
+
+ Store(Local4, Local6)
+ Store(Local4, Local7)
+ }
+ Case (7) {
+
+ CopyObject(arg0, Local4)
+ CopyObject(p001, Local4)
+
+ mfc8(Local4, Local4, 0, num, num, AR24, 0)
+ mfc7(Local4, 0, num, i000)
+
+ Store(Local4, Local6)
+ Store(Local4, Local7)
+ }
+ Case (8) {
+
+ CopyObject(arg0, Local4)
+ CopyObject(arg1, Local4)
+
+ mfc7(Local4, 0, num, i000)
+ mfc8(Local4, Local4, 0, num, num, AR24, 0)
+
+ Store(Local4, Local6)
+ Store(Local4, Local7)
+ }
+ Case (9) {
+
+ CopyObject(p000, Local4)
+ CopyObject(p000, Local4)
+
+ mfc8(Local4, Local4, 0, num, num, AR24, 0)
+ mfc7(Local4, 0, num, i000)
+
+ Store(Local4, Local6)
+ Store(Local4, Local7)
+ }
+ Case (10) {
+
+ CopyObject(pd12, Local4)
+ CopyObject(pd12, Local4)
+
+ mfc7(Local4, 0, num, i000)
+ mfc8(Local4, Local4, 0, num, num, AR24, 0)
+
+ Store(Local4, Local6)
+ Store(Local4, Local7)
+ }
+ Case (11) {
+
+ CopyObject(arg0, Local4)
+ CopyObject(arg0, Local4)
+
+ mfc8(Local4, Local4, 0, num, num, AR24, 0)
+ mfc7(Local4, 0, num, i000)
+
+ Store(Local4, Local6)
+ Store(Local4, Local7)
+ }}
+
+ } /* Case(11)/Switch(AR23) */
+
+
+ Case (12) {
+
+ /* AR23: 12 (Named0, Named0) */
+
+ Switch (AR20) {
+ Case (0) {
+
+ CopyObject(pd12, nm00)
+ CopyObject(pd13, nm00)
+
+ mfc7(nm00, 0, num, i000)
+ mfc8(nm00, nm00, 0, num, num, AR24, 0)
+
+ Store(nm00, Local6)
+ Store(nm00, Local7)
+ }
+ Case (1) {
+
+ CopyObject(pd12, nm00)
+ CopyObject(p001, nm00)
+
+ mfc8(nm00, nm00, 0, num, num, AR24, 0)
+ mfc7(nm00, 0, num, i000)
+
+ Store(nm00, Local6)
+ Store(nm00, Local7)
+ }
+ Case (2) {
+
+ CopyObject(pd12, nm00)
+ CopyObject(arg1, nm00)
+
+ mfc7(nm00, 0, num, i000)
+ mfc8(nm00, nm00, 0, num, num, AR24, 0)
+
+ Store(nm00, Local6)
+ Store(nm00, Local7)
+ }
+ Case (3) {
+
+ CopyObject(p000, nm00)
+ CopyObject(pd13, nm00)
+
+ mfc8(nm00, nm00, 0, num, num, AR24, 0)
+ mfc7(nm00, 0, num, i000)
+
+ Store(nm00, Local6)
+ Store(nm00, Local7)
+ }
+ Case (4) {
+
+ CopyObject(p000, nm00)
+ CopyObject(p001, nm00)
+
+ mfc7(nm00, 0, num, i000)
+ mfc8(nm00, nm00, 0, num, num, AR24, 0)
+
+ Store(nm00, Local6)
+ Store(nm00, Local7)
+ }
+ Case (5) {
+
+ CopyObject(p000, nm00)
+ CopyObject(arg1, nm00)
+
+ mfc8(nm00, nm00, 0, num, num, AR24, 0)
+ mfc7(nm00, 0, num, i000)
+
+ Store(nm00, Local6)
+ Store(nm00, Local7)
+ }
+ Case (6) {
+
+ CopyObject(arg0, nm00)
+ CopyObject(pd13, nm00)
+
+ mfc7(nm00, 0, num, i000)
+ mfc8(nm00, nm00, 0, num, num, AR24, 0)
+
+ Store(nm00, Local6)
+ Store(nm00, Local7)
+ }
+ Case (7) {
+
+ CopyObject(arg0, nm00)
+ CopyObject(p001, nm00)
+
+ mfc8(nm00, nm00, 0, num, num, AR24, 0)
+ mfc7(nm00, 0, num, i000)
+
+ Store(nm00, Local6)
+ Store(nm00, Local7)
+ }
+ Case (8) {
+
+ CopyObject(arg0, nm00)
+ CopyObject(arg1, nm00)
+
+ mfc7(nm00, 0, num, i000)
+ mfc8(nm00, nm00, 0, num, num, AR24, 0)
+
+ Store(nm00, Local6)
+ Store(nm00, Local7)
+ }
+ Case (9) {
+
+ CopyObject(p000, nm00)
+ CopyObject(p000, nm00)
+
+ mfc8(nm00, nm00, 0, num, num, AR24, 0)
+ mfc7(nm00, 0, num, i000)
+
+ Store(nm00, Local6)
+ Store(nm00, Local7)
+ }
+ Case (10) {
+
+ CopyObject(pd12, nm00)
+ CopyObject(pd12, nm00)
+
+ mfc7(nm00, 0, num, i000)
+ mfc8(nm00, nm00, 0, num, num, AR24, 0)
+
+ Store(nm00, Local6)
+ Store(nm00, Local7)
+ }
+ Case (11) {
+
+ CopyObject(arg0, nm00)
+ CopyObject(arg0, nm00)
+
+ mfc8(nm00, nm00, 0, num, num, AR24, 0)
+ mfc7(nm00, 0, num, i000)
+
+ Store(nm00, Local6)
+ Store(nm00, Local7)
+ }}
+
+ } /* Case(12)/Switch(AR23) */
+
+
+ Case (13) {
+
+ /* AR23: 13 (Named0, ) */
+
+ Switch (AR20) {
+ Case (0) {
+
+ /* 0 - (pd12, pd13) */
+
+ CopyObject(pd12, nm00)
+
+ /* AR22 allows to change order of execution */
+
+ if (AR22) {
+ /*
+ * Initializing the first part of Package
+ */
+ mfc7(nm00, 0, num, i000)
+ } else {
+ /*
+ * Initializing the second part of Package with IRefs
+ * to elements of its first part.
+ */
+ mfc8(nm00, pd13, 0, num, num, AR24, 0)
+ }
+
+ if (AR22) {
+ /*
+ * Initializing the second part of Package with IRefs
+ * to elements of its first part.
+ */
+ mfc8(nm00, pd13, 0, num, num, AR24, 0)
+ } else {
+ /*
+ * Initializing the first part of Package
+ */
+ mfc7(nm00, 0, num, i000)
+ }
+
+ Store(nm00, Local6)
+ Store(pd13, Local7)
+ }
+ Case (1) {
+
+ /* 1 - (pd12, p001) */
+
+ CopyObject(pd12, nm00)
+
+ if (AR22) {
+ mfc7(nm00, 0, num, i000)
+ } else {
+ mfc8(nm00, p001, 0, num, num, AR24, 0)
+ }
+
+ if (AR22) {
+ mfc8(nm00, p001, 0, num, num, AR24, 0)
+ } else {
+ mfc7(nm00, 0, num, i000)
+ }
+
+ Store(nm00, Local6)
+ Store(p001, Local7)
+ }
+ Case (2) {
+
+ /* 2 - (pd12, P1) */
+
+ CopyObject(pd12, nm00)
+
+ if (AR22) {
+ mfc7(nm00, 0, num, i000)
+ } else {
+ mfc8(nm00, arg1, 0, num, num, AR24, 0)
+ }
+
+ if (AR22) {
+ mfc8(nm00, arg1, 0, num, num, AR24, 0)
+ } else {
+ mfc7(nm00, 0, num, i000)
+ }
+
+ Store(nm00, Local6)
+ Store(arg1, Local7)
+ }
+ Case (3) {
+
+ /* 3 - (p000, pd13) */
+
+ CopyObject(p000, nm00)
+
+ if (AR22) {
+ mfc7(nm00, 0, num, i000)
+ } else {
+ mfc8(nm00, pd13, 0, num, num, AR24, 0)
+ }
+
+ if (AR22) {
+ mfc8(nm00, pd13, 0, num, num, AR24, 0)
+ } else {
+ mfc7(nm00, 0, num, i000)
+ }
+
+ Store(nm00, Local6)
+ Store(pd13, Local7)
+ }
+ Case (4) {
+
+ /* 4 - (p000, p001) */
+
+ CopyObject(p000, nm00)
+
+ if (AR22) {
+ mfc7(nm00, 0, num, i000)
+ } else {
+ mfc8(nm00, p001, 0, num, num, AR24, 0)
+ }
+
+ if (AR22) {
+ mfc8(nm00, p001, 0, num, num, AR24, 0)
+ } else {
+ mfc7(nm00, 0, num, i000)
+ }
+
+ Store(nm00, Local6)
+ Store(p001, Local7)
+ }
+ Case (5) {
+
+ /* 5 - (p000, P1) */
+
+ CopyObject(p000, nm00)
+
+ if (AR22) {
+ mfc7(nm00, 0, num, i000)
+ } else {
+ mfc8(nm00, arg1, 0, num, num, AR24, 0)
+ }
+
+ if (AR22) {
+ mfc8(nm00, arg1, 0, num, num, AR24, 0)
+ } else {
+ mfc7(nm00, 0, num, i000)
+ }
+
+ Store(nm00, Local6)
+ Store(arg1, Local7)
+ }
+ Case (6) {
+
+ /* 6 - (P0, pd13) */
+
+ CopyObject(arg0, nm00)
+
+ if (AR22) {
+ mfc7(nm00, 0, num, i000)
+ } else {
+ mfc8(nm00, pd13, 0, num, num, AR24, 0)
+ }
+
+ if (AR22) {
+ mfc8(nm00, pd13, 0, num, num, AR24, 0)
+ } else {
+ mfc7(nm00, 0, num, i000)
+ }
+
+ Store(nm00, Local6)
+ Store(pd13, Local7)
+ }
+ Case (7) {
+
+ /* 7 - (P0, p001) */
+
+ CopyObject(arg0, nm00)
+
+ if (AR22) {
+ mfc7(nm00, 0, num, i000)
+ } else {
+ mfc8(nm00, p001, 0, num, num, AR24, 0)
+ }
+
+ if (AR22) {
+ mfc8(nm00, p001, 0, num, num, AR24, 0)
+ } else {
+ mfc7(nm00, 0, num, i000)
+ }
+
+ Store(nm00, Local6)
+ Store(p001, Local7)
+ }
+ Case (8) {
+
+ /* 8 - (P0, P1) */
+
+ CopyObject(arg0, nm00)
+
+ if (AR22) {
+ mfc7(nm00, 0, num, i000)
+ } else {
+ mfc8(nm00, arg1, 0, num, num, AR24, 0)
+ }
+
+ if (AR22) {
+ mfc8(nm00, arg1, 0, num, num, AR24, 0)
+ } else {
+ mfc7(nm00, 0, num, i000)
+ }
+
+ Store(nm00, Local6)
+ Store(arg1, Local7)
+ }
+ Case (9) {
+
+ /* 9 - (p000, p000) */
+
+ CopyObject(p000, nm00)
+
+ if (AR22) {
+ mfc7(nm00, 0, num, i000)
+ } else {
+ mfc8(nm00, p000, 0, num, num, AR24, 0)
+ }
+
+ if (AR22) {
+ mfc8(nm00, p000, 0, num, num, AR24, 0)
+ } else {
+ mfc7(nm00, 0, num, i000)
+ }
+
+ Store(nm00, Local6)
+ Store(p000, Local7)
+ }
+ Case (10) {
+
+ /* 10 - (pd12, pd12) */
+
+ CopyObject(pd12, nm00)
+
+ if (AR22) {
+ mfc7(nm00, 0, num, i000)
+ } else {
+ mfc8(nm00, pd12, 0, num, num, AR24, 0)
+ }
+
+ if (AR22) {
+ mfc8(nm00, pd12, 0, num, num, AR24, 0)
+ } else {
+ mfc7(nm00, 0, num, i000)
+ }
+
+ Store(nm00, Local6)
+ Store(pd12, Local7)
+ }
+ Case (11) {
+
+ /* 11 - (P0, P0) */
+
+ CopyObject(arg0, nm00)
+
+ if (AR22) {
+ mfc7(nm00, 0, num, i000)
+ } else {
+ mfc8(nm00, arg0, 0, num, num, AR24, 0)
+ }
+
+ if (AR22) {
+ mfc8(nm00, arg0, 0, num, num, AR24, 0)
+ } else {
+ mfc7(nm00, 0, num, i000)
+ }
+
+ Store(nm00, Local6)
+ Store(arg0, Local7)
+ }}
+
+ } /* Case(13)/Switch(AR23) */
+
+
+ Case (14) {
+
+ /* AR23: 14 (Arg5, ) */
+
+ Switch (AR20) {
+ Case (0) {
+
+ /* 0 - (pd12, pd13) */
+
+ CopyObject(pd12, arg5)
+
+ /* AR22 allows to change order of execution */
+
+ if (AR22) {
+ /*
+ * Initializing the first part of Package
+ */
+ mfc7(arg5, 0, num, i000)
+ } else {
+ /*
+ * Initializing the second part of Package with IRefs
+ * to elements of its first part.
+ */
+ mfc8(arg5, pd13, 0, num, num, AR24, 0)
+ }
+
+ if (AR22) {
+ /*
+ * Initializing the second part of Package with IRefs
+ * to elements of its first part.
+ */
+ mfc8(arg5, pd13, 0, num, num, AR24, 0)
+ } else {
+ /*
+ * Initializing the first part of Package
+ */
+ mfc7(arg5, 0, num, i000)
+ }
+
+ Store(arg5, Local6)
+ Store(pd13, Local7)
+ }
+ Case (1) {
+
+ /* 1 - (pd12, p001) */
+
+ CopyObject(pd12, arg5)
+
+ if (AR22) {
+ mfc7(arg5, 0, num, i000)
+ } else {
+ mfc8(arg5, p001, 0, num, num, AR24, 0)
+ }
+
+ if (AR22) {
+ mfc8(arg5, p001, 0, num, num, AR24, 0)
+ } else {
+ mfc7(arg5, 0, num, i000)
+ }
+
+ Store(arg5, Local6)
+ Store(p001, Local7)
+ }
+ Case (2) {
+
+ /* 2 - (pd12, P1) */
+
+ CopyObject(pd12, arg5)
+
+ if (AR22) {
+ mfc7(arg5, 0, num, i000)
+ } else {
+ mfc8(arg5, arg1, 0, num, num, AR24, 0)
+ }
+
+ if (AR22) {
+ mfc8(arg5, arg1, 0, num, num, AR24, 0)
+ } else {
+ mfc7(arg5, 0, num, i000)
+ }
+
+ Store(arg5, Local6)
+ Store(arg1, Local7)
+ }
+ Case (3) {
+
+ /* 3 - (p000, pd13) */
+
+ CopyObject(p000, arg5)
+
+ if (AR22) {
+ mfc7(arg5, 0, num, i000)
+ } else {
+ mfc8(arg5, pd13, 0, num, num, AR24, 0)
+ }
+
+ if (AR22) {
+ mfc8(arg5, pd13, 0, num, num, AR24, 0)
+ } else {
+ mfc7(arg5, 0, num, i000)
+ }
+
+ Store(arg5, Local6)
+ Store(pd13, Local7)
+ }
+ Case (4) {
+
+ /* 4 - (p000, p001) */
+
+ CopyObject(p000, arg5)
+
+ if (AR22) {
+ mfc7(arg5, 0, num, i000)
+ } else {
+ mfc8(arg5, p001, 0, num, num, AR24, 0)
+ }
+
+ if (AR22) {
+ mfc8(arg5, p001, 0, num, num, AR24, 0)
+ } else {
+ mfc7(arg5, 0, num, i000)
+ }
+
+ Store(arg5, Local6)
+ Store(p001, Local7)
+ }
+ Case (5) {
+
+ /* 5 - (p000, P1) */
+
+ CopyObject(p000, arg5)
+
+ if (AR22) {
+ mfc7(arg5, 0, num, i000)
+ } else {
+ mfc8(arg5, arg1, 0, num, num, AR24, 0)
+ }
+
+ if (AR22) {
+ mfc8(arg5, arg1, 0, num, num, AR24, 0)
+ } else {
+ mfc7(arg5, 0, num, i000)
+ }
+
+ Store(arg5, Local6)
+ Store(arg1, Local7)
+ }
+ Case (6) {
+
+ /* 6 - (P0, pd13) */
+
+ CopyObject(arg0, arg5)
+
+ if (AR22) {
+ mfc7(arg5, 0, num, i000)
+ } else {
+ mfc8(arg5, pd13, 0, num, num, AR24, 0)
+ }
+
+ if (AR22) {
+ mfc8(arg5, pd13, 0, num, num, AR24, 0)
+ } else {
+ mfc7(arg5, 0, num, i000)
+ }
+
+ Store(arg5, Local6)
+ Store(pd13, Local7)
+ }
+ Case (7) {
+
+ /* 7 - (P0, p001) */
+
+ CopyObject(arg0, arg5)
+
+ if (AR22) {
+ mfc7(arg5, 0, num, i000)
+ } else {
+ mfc8(arg5, p001, 0, num, num, AR24, 0)
+ }
+
+ if (AR22) {
+ mfc8(arg5, p001, 0, num, num, AR24, 0)
+ } else {
+ mfc7(arg5, 0, num, i000)
+ }
+
+ Store(arg5, Local6)
+ Store(p001, Local7)
+ }
+ Case (8) {
+
+ /* 8 - (P0, P1) */
+
+ CopyObject(arg0, arg5)
+
+ if (AR22) {
+ mfc7(arg5, 0, num, i000)
+ } else {
+ mfc8(arg5, arg1, 0, num, num, AR24, 0)
+ }
+
+ if (AR22) {
+ mfc8(arg5, arg1, 0, num, num, AR24, 0)
+ } else {
+ mfc7(arg5, 0, num, i000)
+ }
+
+ Store(arg5, Local6)
+ Store(arg1, Local7)
+ }
+ Case (9) {
+
+ /* 9 - (p000, p000) */
+
+ CopyObject(p000, arg5)
+
+ if (AR22) {
+ mfc7(arg5, 0, num, i000)
+ } else {
+ mfc8(arg5, p000, 0, num, num, AR24, 0)
+ }
+
+ if (AR22) {
+ mfc8(arg5, p000, 0, num, num, AR24, 0)
+ } else {
+ mfc7(arg5, 0, num, i000)
+ }
+
+ Store(arg5, Local6)
+ Store(p000, Local7)
+ }
+ Case (10) {
+
+ /* 10 - (pd12, pd12) */
+
+ CopyObject(pd12, arg5)
+
+ if (AR22) {
+ mfc7(arg5, 0, num, i000)
+ } else {
+ mfc8(arg5, pd12, 0, num, num, AR24, 0)
+ }
+
+ if (AR22) {
+ mfc8(arg5, pd12, 0, num, num, AR24, 0)
+ } else {
+ mfc7(arg5, 0, num, i000)
+ }
+
+ Store(arg5, Local6)
+ Store(pd12, Local7)
+ }
+ Case (11) {
+
+ /* 11 - (P0, P0) */
+
+ CopyObject(arg0, arg5)
+
+ if (AR22) {
+ mfc7(arg5, 0, num, i000)
+ } else {
+ mfc8(arg5, arg0, 0, num, num, AR24, 0)
+ }
+
+ if (AR22) {
+ mfc8(arg5, arg0, 0, num, num, AR24, 0)
+ } else {
+ mfc7(arg5, 0, num, i000)
+ }
+
+ Store(arg5, Local6)
+ Store(arg0, Local7)
+ }}
+
+ } /* Case(14)/Switch(AR23) */
+
+
+ Case (15) {
+
+ /* AR23: 15 (Loc4, ) */
+
+ Switch (AR20) {
+ Case (0) {
+
+ /* 0 - (pd12, pd13) */
+
+ CopyObject(pd12, Local4)
+
+ /* AR22 allows to change order of execution */
+
+ if (AR22) {
+ /*
+ * Initializing the first part of Package
+ */
+ mfc7(Local4, 0, num, i000)
+ } else {
+ /*
+ * Initializing the second part of Package with IRefs
+ * to elements of its first part.
+ */
+ mfc8(Local4, pd13, 0, num, num, AR24, 0)
+ }
+
+ if (AR22) {
+ /*
+ * Initializing the second part of Package with IRefs
+ * to elements of its first part.
+ */
+ mfc8(Local4, pd13, 0, num, num, AR24, 0)
+ } else {
+ /*
+ * Initializing the first part of Package
+ */
+ mfc7(Local4, 0, num, i000)
+ }
+
+ Store(Local4, Local6)
+ Store(pd13, Local7)
+ }
+ Case (1) {
+
+ /* 1 - (pd12, p001) */
+
+ CopyObject(pd12, Local4)
+
+ if (AR22) {
+ mfc7(Local4, 0, num, i000)
+ } else {
+ mfc8(Local4, p001, 0, num, num, AR24, 0)
+ }
+
+ if (AR22) {
+ mfc8(Local4, p001, 0, num, num, AR24, 0)
+ } else {
+ mfc7(Local4, 0, num, i000)
+ }
+
+ Store(Local4, Local6)
+ Store(p001, Local7)
+ }
+ Case (2) {
+
+ /* 2 - (pd12, P1) */
+
+ CopyObject(pd12, Local4)
+
+ if (AR22) {
+ mfc7(Local4, 0, num, i000)
+ } else {
+ mfc8(Local4, arg1, 0, num, num, AR24, 0)
+ }
+
+ if (AR22) {
+ mfc8(Local4, arg1, 0, num, num, AR24, 0)
+ } else {
+ mfc7(Local4, 0, num, i000)
+ }
+
+ Store(Local4, Local6)
+ Store(arg1, Local7)
+ }
+ Case (3) {
+
+ /* 3 - (p000, pd13) */
+
+ CopyObject(p000, Local4)
+
+ if (AR22) {
+ mfc7(Local4, 0, num, i000)
+ } else {
+ mfc8(Local4, pd13, 0, num, num, AR24, 0)
+ }
+
+ if (AR22) {
+ mfc8(Local4, pd13, 0, num, num, AR24, 0)
+ } else {
+ mfc7(Local4, 0, num, i000)
+ }
+
+ Store(Local4, Local6)
+ Store(pd13, Local7)
+ }
+ Case (4) {
+
+ /* 4 - (p000, p001) */
+
+ CopyObject(p000, Local4)
+
+ if (AR22) {
+ mfc7(Local4, 0, num, i000)
+ } else {
+ mfc8(Local4, p001, 0, num, num, AR24, 0)
+ }
+
+ if (AR22) {
+ mfc8(Local4, p001, 0, num, num, AR24, 0)
+ } else {
+ mfc7(Local4, 0, num, i000)
+ }
+
+ Store(Local4, Local6)
+ Store(p001, Local7)
+ }
+ Case (5) {
+
+ /* 5 - (p000, P1) */
+
+ CopyObject(p000, Local4)
+
+ if (AR22) {
+ mfc7(Local4, 0, num, i000)
+ } else {
+ mfc8(Local4, arg1, 0, num, num, AR24, 0)
+ }
+
+ if (AR22) {
+ mfc8(Local4, arg1, 0, num, num, AR24, 0)
+ } else {
+ mfc7(Local4, 0, num, i000)
+ }
+
+ Store(Local4, Local6)
+ Store(arg1, Local7)
+ }
+ Case (6) {
+
+ /* 6 - (P0, pd13) */
+
+ CopyObject(arg0, Local4)
+
+ if (AR22) {
+ mfc7(Local4, 0, num, i000)
+ } else {
+ mfc8(Local4, pd13, 0, num, num, AR24, 0)
+ }
+
+ if (AR22) {
+ mfc8(Local4, pd13, 0, num, num, AR24, 0)
+ } else {
+ mfc7(Local4, 0, num, i000)
+ }
+
+ Store(Local4, Local6)
+ Store(pd13, Local7)
+ }
+ Case (7) {
+
+ /* 7 - (P0, p001) */
+
+ CopyObject(arg0, Local4)
+
+ if (AR22) {
+ mfc7(Local4, 0, num, i000)
+ } else {
+ mfc8(Local4, p001, 0, num, num, AR24, 0)
+ }
+
+ if (AR22) {
+ mfc8(Local4, p001, 0, num, num, AR24, 0)
+ } else {
+ mfc7(Local4, 0, num, i000)
+ }
+
+ Store(Local4, Local6)
+ Store(p001, Local7)
+ }
+ Case (8) {
+
+ /* 8 - (P0, P1) */
+
+ CopyObject(arg0, Local4)
+
+ if (AR22) {
+ mfc7(Local4, 0, num, i000)
+ } else {
+ mfc8(Local4, arg1, 0, num, num, AR24, 0)
+ }
+
+ if (AR22) {
+ mfc8(Local4, arg1, 0, num, num, AR24, 0)
+ } else {
+ mfc7(Local4, 0, num, i000)
+ }
+
+ Store(Local4, Local6)
+ Store(arg1, Local7)
+ }
+ Case (9) {
+
+ /* 9 - (p000, p000) */
+
+ CopyObject(p000, Local4)
+
+ if (AR22) {
+ mfc7(Local4, 0, num, i000)
+ } else {
+ mfc8(Local4, p000, 0, num, num, AR24, 0)
+ }
+
+ if (AR22) {
+ mfc8(Local4, p000, 0, num, num, AR24, 0)
+ } else {
+ mfc7(Local4, 0, num, i000)
+ }
+
+ Store(Local4, Local6)
+ Store(p000, Local7)
+ }
+ Case (10) {
+
+ /* 10 - (pd12, pd12) */
+
+ CopyObject(pd12, Local4)
+
+ if (AR22) {
+ mfc7(Local4, 0, num, i000)
+ } else {
+ mfc8(Local4, pd12, 0, num, num, AR24, 0)
+ }
+
+ if (AR22) {
+ mfc8(Local4, pd12, 0, num, num, AR24, 0)
+ } else {
+ mfc7(Local4, 0, num, i000)
+ }
+
+ Store(Local4, Local6)
+ Store(pd12, Local7)
+ }
+ Case (11) {
+
+ /* 11 - (P0, P0) */
+
+ CopyObject(arg0, Local4)
+
+ if (AR22) {
+ mfc7(Local4, 0, num, i000)
+ } else {
+ mfc8(Local4, arg0, 0, num, num, AR24, 0)
+ }
+
+ if (AR22) {
+ mfc8(Local4, arg0, 0, num, num, AR24, 0)
+ } else {
+ mfc7(Local4, 0, num, i000)
+ }
+
+ Store(Local4, Local6)
+ Store(arg0, Local7)
+ }}
+
+ } /* Case(15)/Switch(AR23) */
+
+
+ Case (16) {
+
+ /* AR23: 16 ( , Named1) */
+
+ Switch (AR20) {
+ Case (0) {
+
+ /* 0 - (pd12, pd13) */
+
+ CopyObject(pd13, nm03)
+
+ /* AR22 allows to change order of execution */
+
+ if (AR22) {
+ /*
+ * Initializing the first part of Package
+ */
+ mfc7(pd12, 0, num, i000)
+ } else {
+ /*
+ * Initializing the second part of Package with IRefs
+ * to elements of its first part.
+ */
+ mfc8(pd12, nm03, 0, num, num, AR24, 0)
+ }
+
+ if (AR22) {
+ /*
+ * Initializing the second part of Package with IRefs
+ * to elements of its first part.
+ */
+ mfc8(pd12, nm03, 0, num, num, AR24, 0)
+ } else {
+ /*
+ * Initializing the first part of Package
+ */
+ mfc7(pd12, 0, num, i000)
+ }
+
+ Store(pd12, Local6)
+ Store(nm03, Local7)
+ }
+ Case (1) {
+
+ /* 1 - (pd12, p001) */
+
+ CopyObject(p001, nm03)
+
+ if (AR22) {
+ mfc7(pd12, 0, num, i000)
+ } else {
+ mfc8(pd12, nm03, 0, num, num, AR24, 0)
+ }
+
+ if (AR22) {
+ mfc8(pd12, nm03, 0, num, num, AR24, 0)
+ } else {
+ mfc7(pd12, 0, num, i000)
+ }
+
+ Store(pd12, Local6)
+ Store(nm03, Local7)
+ }
+ Case (2) {
+
+ /* 2 - (pd12, P1) */
+
+ CopyObject(arg1, nm03)
+
+ if (AR22) {
+ mfc7(pd12, 0, num, i000)
+ } else {
+ mfc8(pd12, nm03, 0, num, num, AR24, 0)
+ }
+
+ if (AR22) {
+ mfc8(pd12, nm03, 0, num, num, AR24, 0)
+ } else {
+ mfc7(pd12, 0, num, i000)
+ }
+
+ Store(pd12, Local6)
+ Store(nm03, Local7)
+ }
+ Case (3) {
+
+ /* 3 - (p000, pd13) */
+
+ CopyObject(pd13, nm03)
+
+ if (AR22) {
+ mfc7(p000, 0, num, i000)
+ } else {
+ mfc8(p000, nm03, 0, num, num, AR24, 0)
+ }
+
+ if (AR22) {
+ mfc8(p000, nm03, 0, num, num, AR24, 0)
+ } else {
+ mfc7(p000, 0, num, i000)
+ }
+
+ Store(p000, Local6)
+ Store(nm03, Local7)
+ }
+ Case (4) {
+
+ /* 4 - (p000, p001) */
+
+ CopyObject(p001, nm03)
+
+ if (AR22) {
+ mfc7(p000, 0, num, i000)
+ } else {
+ mfc8(p000, nm03, 0, num, num, AR24, 0)
+ }
+
+ if (AR22) {
+ mfc8(p000, nm03, 0, num, num, AR24, 0)
+ } else {
+ mfc7(p000, 0, num, i000)
+ }
+
+ Store(p000, Local6)
+ Store(nm03, Local7)
+ }
+ Case (5) {
+
+ /* 5 - (p000, P1) */
+
+ CopyObject(arg1, nm03)
+
+ if (AR22) {
+ mfc7(p000, 0, num, i000)
+ } else {
+ mfc8(p000, nm03, 0, num, num, AR24, 0)
+ }
+
+ if (AR22) {
+ mfc8(p000, nm03, 0, num, num, AR24, 0)
+ } else {
+ mfc7(p000, 0, num, i000)
+ }
+
+ Store(p000, Local6)
+ Store(nm03, Local7)
+ }
+ Case (6) {
+
+ /* 6 - (P0, pd13) */
+
+ CopyObject(pd13, nm03)
+
+ if (AR22) {
+ mfc7(arg0, 0, num, i000)
+ } else {
+ mfc8(arg0, nm03, 0, num, num, AR24, 0)
+ }
+
+ if (AR22) {
+ mfc8(arg0, nm03, 0, num, num, AR24, 0)
+ } else {
+ mfc7(arg0, 0, num, i000)
+ }
+
+ Store(arg0, Local6)
+ Store(nm03, Local7)
+ }
+ Case (7) {
+
+ /* 7 - (P0, p001) */
+
+ CopyObject(p001, nm03)
+
+ if (AR22) {
+ mfc7(arg0, 0, num, i000)
+ } else {
+ mfc8(arg0, nm03, 0, num, num, AR24, 0)
+ }
+
+ if (AR22) {
+ mfc8(arg0, nm03, 0, num, num, AR24, 0)
+ } else {
+ mfc7(arg0, 0, num, i000)
+ }
+
+ Store(arg0, Local6)
+ Store(nm03, Local7)
+ }
+ Case (8) {
+
+ /* 8 - (P0, P1) */
+
+ CopyObject(arg1, nm03)
+
+ if (AR22) {
+ mfc7(arg0, 0, num, i000)
+ } else {
+ mfc8(arg0, nm03, 0, num, num, AR24, 0)
+ }
+
+ if (AR22) {
+ mfc8(arg0, nm03, 0, num, num, AR24, 0)
+ } else {
+ mfc7(arg0, 0, num, i000)
+ }
+
+ Store(arg0, Local6)
+ Store(nm03, Local7)
+ }
+ Case (9) {
+
+ /* 9 - (p000, p000) */
+
+ CopyObject(p000, nm03)
+
+ if (AR22) {
+ mfc7(p000, 0, num, i000)
+ } else {
+ mfc8(p000, nm03, 0, num, num, AR24, 0)
+ }
+
+ if (AR22) {
+ mfc8(p000, nm03, 0, num, num, AR24, 0)
+ } else {
+ mfc7(p000, 0, num, i000)
+ }
+
+ Store(p000, Local6)
+ Store(nm03, Local7)
+ }
+ Case (10) {
+
+ /* 10 - (pd12, pd12) */
+
+ CopyObject(pd12, nm03)
+
+ if (AR22) {
+ mfc7(pd12, 0, num, i000)
+ } else {
+ mfc8(pd12, nm03, 0, num, num, AR24, 0)
+ }
+
+ if (AR22) {
+ mfc8(pd12, nm03, 0, num, num, AR24, 0)
+ } else {
+ mfc7(pd12, 0, num, i000)
+ }
+
+ Store(pd12, Local6)
+ Store(nm03, Local7)
+ }
+ Case (11) {
+
+ /* 11 - (P0, P0) */
+
+ CopyObject(arg0, nm03)
+
+ if (AR22) {
+ mfc7(arg0, 0, num, i000)
+ } else {
+ mfc8(arg0, nm03, 0, num, num, AR24, 0)
+ }
+
+ if (AR22) {
+ mfc8(arg0, nm03, 0, num, num, AR24, 0)
+ } else {
+ mfc7(arg0, 0, num, i000)
+ }
+
+ Store(arg0, Local6)
+ Store(nm03, Local7)
+ }}
+
+ } /* Case(16)/Switch(AR23) */
+
+
+ Case (17) {
+
+ /* AR23: 17 ( , Arg6) */
+
+ Switch (AR20) {
+ Case (0) {
+
+ /* 0 - (pd12, pd13) */
+
+ CopyObject(pd13, arg6)
+
+ /* AR22 allows to change order of execution */
+
+ if (AR22) {
+ /*
+ * Initializing the first part of Package
+ */
+ mfc7(pd12, 0, num, i000)
+ } else {
+ /*
+ * Initializing the second part of Package with IRefs
+ * to elements of its first part.
+ */
+ mfc8(pd12, arg6, 0, num, num, AR24, 0)
+ }
+
+ if (AR22) {
+ /*
+ * Initializing the second part of Package with IRefs
+ * to elements of its first part.
+ */
+ mfc8(pd12, arg6, 0, num, num, AR24, 0)
+ } else {
+ /*
+ * Initializing the first part of Package
+ */
+ mfc7(pd12, 0, num, i000)
+ }
+
+ Store(pd12, Local6)
+ Store(arg6, Local7)
+ }
+ Case (1) {
+
+ /* 1 - (pd12, p001) */
+
+ CopyObject(p001, arg6)
+
+ if (AR22) {
+ mfc7(pd12, 0, num, i000)
+ } else {
+ mfc8(pd12, arg6, 0, num, num, AR24, 0)
+ }
+
+ if (AR22) {
+ mfc8(pd12, arg6, 0, num, num, AR24, 0)
+ } else {
+ mfc7(pd12, 0, num, i000)
+ }
+
+ Store(pd12, Local6)
+ Store(arg6, Local7)
+ }
+ Case (2) {
+
+ /* 2 - (pd12, P1) */
+
+ CopyObject(arg1, arg6)
+
+ if (AR22) {
+ mfc7(pd12, 0, num, i000)
+ } else {
+ mfc8(pd12, arg6, 0, num, num, AR24, 0)
+ }
+
+ if (AR22) {
+ mfc8(pd12, arg6, 0, num, num, AR24, 0)
+ } else {
+ mfc7(pd12, 0, num, i000)
+ }
+
+ Store(pd12, Local6)
+ Store(arg6, Local7)
+ }
+ Case (3) {
+
+ /* 3 - (p000, pd13) */
+
+ CopyObject(pd13, arg6)
+
+ if (AR22) {
+ mfc7(p000, 0, num, i000)
+ } else {
+ mfc8(p000, arg6, 0, num, num, AR24, 0)
+ }
+
+ if (AR22) {
+ mfc8(p000, arg6, 0, num, num, AR24, 0)
+ } else {
+ mfc7(p000, 0, num, i000)
+ }
+
+ Store(p000, Local6)
+ Store(arg6, Local7)
+ }
+ Case (4) {
+
+ /* 4 - (p000, p001) */
+
+ CopyObject(p001, arg6)
+
+ if (AR22) {
+ mfc7(p000, 0, num, i000)
+ } else {
+ mfc8(p000, arg6, 0, num, num, AR24, 0)
+ }
+
+ if (AR22) {
+ mfc8(p000, arg6, 0, num, num, AR24, 0)
+ } else {
+ mfc7(p000, 0, num, i000)
+ }
+
+ Store(p000, Local6)
+ Store(arg6, Local7)
+ }
+ Case (5) {
+
+ /* 5 - (p000, P1) */
+
+ CopyObject(arg1, arg6)
+
+ if (AR22) {
+ mfc7(p000, 0, num, i000)
+ } else {
+ mfc8(p000, arg6, 0, num, num, AR24, 0)
+ }
+
+ if (AR22) {
+ mfc8(p000, arg6, 0, num, num, AR24, 0)
+ } else {
+ mfc7(p000, 0, num, i000)
+ }
+
+ Store(p000, Local6)
+ Store(arg6, Local7)
+ }
+ Case (6) {
+
+ /* 6 - (P0, pd13) */
+
+ CopyObject(pd13, arg6)
+
+ if (AR22) {
+ mfc7(arg0, 0, num, i000)
+ } else {
+ mfc8(arg0, arg6, 0, num, num, AR24, 0)
+ }
+
+ if (AR22) {
+ mfc8(arg0, arg6, 0, num, num, AR24, 0)
+ } else {
+ mfc7(arg0, 0, num, i000)
+ }
+
+ Store(arg0, Local6)
+ Store(arg6, Local7)
+ }
+ Case (7) {
+
+ /* 7 - (P0, p001) */
+
+ CopyObject(p001, arg6)
+
+ if (AR22) {
+ mfc7(arg0, 0, num, i000)
+ } else {
+ mfc8(arg0, arg6, 0, num, num, AR24, 0)
+ }
+
+ if (AR22) {
+ mfc8(arg0, arg6, 0, num, num, AR24, 0)
+ } else {
+ mfc7(arg0, 0, num, i000)
+ }
+
+ Store(arg0, Local6)
+ Store(arg6, Local7)
+ }
+ Case (8) {
+
+ /* 8 - (P0, P1) */
+
+ CopyObject(arg1, arg6)
+
+ if (AR22) {
+ mfc7(arg0, 0, num, i000)
+ } else {
+ mfc8(arg0, arg6, 0, num, num, AR24, 0)
+ }
+
+ if (AR22) {
+ mfc8(arg0, arg6, 0, num, num, AR24, 0)
+ } else {
+ mfc7(arg0, 0, num, i000)
+ }
+
+ Store(arg0, Local6)
+ Store(arg6, Local7)
+ }
+ Case (9) {
+
+ /* 9 - (p000, p000) */
+
+ CopyObject(p000, arg6)
+
+ if (AR22) {
+ mfc7(p000, 0, num, i000)
+ } else {
+ mfc8(p000, arg6, 0, num, num, AR24, 0)
+ }
+
+ if (AR22) {
+ mfc8(p000, arg6, 0, num, num, AR24, 0)
+ } else {
+ mfc7(p000, 0, num, i000)
+ }
+
+ Store(p000, Local6)
+ Store(arg6, Local7)
+ }
+ Case (10) {
+
+ /* 10 - (pd12, pd12) */
+
+ CopyObject(pd12, arg6)
+
+ if (AR22) {
+ mfc7(pd12, 0, num, i000)
+ } else {
+ mfc8(pd12, arg6, 0, num, num, AR24, 0)
+ }
+
+ if (AR22) {
+ mfc8(pd12, arg6, 0, num, num, AR24, 0)
+ } else {
+ mfc7(pd12, 0, num, i000)
+ }
+
+ Store(pd12, Local6)
+ Store(arg6, Local7)
+ }
+ Case (11) {
+
+ /* 11 - (P0, P0) */
+
+ CopyObject(arg0, arg6)
+
+ if (AR22) {
+ mfc7(arg0, 0, num, i000)
+ } else {
+ mfc8(arg0, arg6, 0, num, num, AR24, 0)
+ }
+
+ if (AR22) {
+ mfc8(arg0, arg6, 0, num, num, AR24, 0)
+ } else {
+ mfc7(arg0, 0, num, i000)
+ }
+
+ Store(arg0, Local6)
+ Store(arg6, Local7)
+ }}
+
+ } /* Case(17)/Switch(AR23) */
+
+
+ Case (18) {
+
+ /* AR23: 18 ( , Loc5) */
+
+ Switch (AR20) {
+ Case (0) {
+
+ /* 0 - (pd12, pd13) */
+
+ CopyObject(pd13, Local5)
+
+ /* AR22 allows to change order of execution */
+
+ if (AR22) {
+ /*
+ * Initializing the first part of Package
+ */
+ mfc7(pd12, 0, num, i000)
+ } else {
+ /*
+ * Initializing the second part of Package with IRefs
+ * to elements of its first part.
+ */
+ mfc8(pd12, Local5, 0, num, num, AR24, 0)
+ }
+
+ if (AR22) {
+ /*
+ * Initializing the second part of Package with IRefs
+ * to elements of its first part.
+ */
+ mfc8(pd12, Local5, 0, num, num, AR24, 0)
+ } else {
+ /*
+ * Initializing the first part of Package
+ */
+ mfc7(pd12, 0, num, i000)
+ }
+
+ Store(pd12, Local6)
+ Store(Local5, Local7)
+ }
+ Case (1) {
+
+ /* 1 - (pd12, p001) */
+
+ CopyObject(p001, Local5)
+
+ if (AR22) {
+ mfc7(pd12, 0, num, i000)
+ } else {
+ mfc8(pd12, Local5, 0, num, num, AR24, 0)
+ }
+
+ if (AR22) {
+ mfc8(pd12, Local5, 0, num, num, AR24, 0)
+ } else {
+ mfc7(pd12, 0, num, i000)
+ }
+
+ Store(pd12, Local6)
+ Store(Local5, Local7)
+ }
+ Case (2) {
+
+ /* 2 - (pd12, P1) */
+
+ CopyObject(arg1, Local5)
+
+ if (AR22) {
+ mfc7(pd12, 0, num, i000)
+ } else {
+ mfc8(pd12, Local5, 0, num, num, AR24, 0)
+ }
+
+ if (AR22) {
+ mfc8(pd12, Local5, 0, num, num, AR24, 0)
+ } else {
+ mfc7(pd12, 0, num, i000)
+ }
+
+ Store(pd12, Local6)
+ Store(Local5, Local7)
+ }
+ Case (3) {
+
+ /* 3 - (p000, pd13) */
+
+ CopyObject(pd13, Local5)
+
+ if (AR22) {
+ mfc7(p000, 0, num, i000)
+ } else {
+ mfc8(p000, Local5, 0, num, num, AR24, 0)
+ }
+
+ if (AR22) {
+ mfc8(p000, Local5, 0, num, num, AR24, 0)
+ } else {
+ mfc7(p000, 0, num, i000)
+ }
+
+ Store(p000, Local6)
+ Store(Local5, Local7)
+ }
+ Case (4) {
+
+ /* 4 - (p000, p001) */
+
+ CopyObject(p001, Local5)
+
+ if (AR22) {
+ mfc7(p000, 0, num, i000)
+ } else {
+ mfc8(p000, Local5, 0, num, num, AR24, 0)
+ }
+
+ if (AR22) {
+ mfc8(p000, Local5, 0, num, num, AR24, 0)
+ } else {
+ mfc7(p000, 0, num, i000)
+ }
+
+ Store(p000, Local6)
+ Store(Local5, Local7)
+ }
+ Case (5) {
+
+ /* 5 - (p000, P1) */
+
+ CopyObject(arg1, Local5)
+
+ if (AR22) {
+ mfc7(p000, 0, num, i000)
+ } else {
+ mfc8(p000, Local5, 0, num, num, AR24, 0)
+ }
+
+ if (AR22) {
+ mfc8(p000, Local5, 0, num, num, AR24, 0)
+ } else {
+ mfc7(p000, 0, num, i000)
+ }
+
+ Store(p000, Local6)
+ Store(Local5, Local7)
+ }
+ Case (6) {
+
+ /* 6 - (P0, pd13) */
+
+ CopyObject(pd13, Local5)
+
+ if (AR22) {
+ mfc7(arg0, 0, num, i000)
+ } else {
+ mfc8(arg0, Local5, 0, num, num, AR24, 0)
+ }
+
+ if (AR22) {
+ mfc8(arg0, Local5, 0, num, num, AR24, 0)
+ } else {
+ mfc7(arg0, 0, num, i000)
+ }
+
+ Store(arg0, Local6)
+ Store(Local5, Local7)
+ }
+ Case (7) {
+
+ /* 7 - (P0, p001) */
+
+ CopyObject(p001, Local5)
+
+ if (AR22) {
+ mfc7(arg0, 0, num, i000)
+ } else {
+ mfc8(arg0, Local5, 0, num, num, AR24, 0)
+ }
+
+ if (AR22) {
+ mfc8(arg0, Local5, 0, num, num, AR24, 0)
+ } else {
+ mfc7(arg0, 0, num, i000)
+ }
+
+ Store(arg0, Local6)
+ Store(Local5, Local7)
+ }
+ Case (8) {
+
+ /* 8 - (P0, P1) */
+
+ CopyObject(arg1, Local5)
+
+ if (AR22) {
+ mfc7(arg0, 0, num, i000)
+ } else {
+ mfc8(arg0, Local5, 0, num, num, AR24, 0)
+ }
+
+ if (AR22) {
+ mfc8(arg0, Local5, 0, num, num, AR24, 0)
+ } else {
+ mfc7(arg0, 0, num, i000)
+ }
+
+ Store(arg0, Local6)
+ Store(Local5, Local7)
+ }
+ Case (9) {
+
+ /* 9 - (p000, p000) */
+
+ CopyObject(p000, Local5)
+
+ if (AR22) {
+ mfc7(p000, 0, num, i000)
+ } else {
+ mfc8(p000, Local5, 0, num, num, AR24, 0)
+ }
+
+ if (AR22) {
+ mfc8(p000, Local5, 0, num, num, AR24, 0)
+ } else {
+ mfc7(p000, 0, num, i000)
+ }
+
+ Store(p000, Local6)
+ Store(Local5, Local7)
+ }
+ Case (10) {
+
+ /* 10 - (pd12, pd12) */
+
+ CopyObject(pd12, Local5)
+
+ if (AR22) {
+ mfc7(pd12, 0, num, i000)
+ } else {
+ mfc8(pd12, Local5, 0, num, num, AR24, 0)
+ }
+
+ if (AR22) {
+ mfc8(pd12, Local5, 0, num, num, AR24, 0)
+ } else {
+ mfc7(pd12, 0, num, i000)
+ }
+
+ Store(pd12, Local6)
+ Store(Local5, Local7)
+ }
+ Case (11) {
+
+ /* 11 - (P0, P0) */
+
+ CopyObject(arg0, Local5)
+
+ if (AR22) {
+ mfc7(arg0, 0, num, i000)
+ } else {
+ mfc8(arg0, Local5, 0, num, num, AR24, 0)
+ }
+
+ if (AR22) {
+ mfc8(arg0, Local5, 0, num, num, AR24, 0)
+ } else {
+ mfc7(arg0, 0, num, i000)
+ }
+
+ Store(arg0, Local6)
+ Store(Local5, Local7)
+ }}
+
+ } /* Case(18)/Switch(AR23) */
+
+ } /* Switch(AR23) */
+
+
+ /*
+ * Verifying the contents of Package by
+ * accessing elements of its first part
+ * (monotone increasing Integers) through
+ * the IRefs of its second part.
+ */
+ mfcc(Local7, num, num, i000, AR21, 0x001)
+
+ CH03("", 0, 0x002, 0, 0)
+}
+
+/*
+ * Verifying the contents of Package by
+ * accessing elements of its first part
+ * (monotone increasing Integers) through
+ * the IRefs of its second part.
+ *
+ * arg0 - Package to be verified
+ * arg1 - index inside of Package
+ * arg2 - how many elements to check
+ * arg3 - expected value of the first element of Package
+ * arg4 - type of access through the IRefs
+ * arg5 - index of error (inside the file)
+ */
+Method(mfcc, 6)
+{
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+
+ Name(i000, 0)
+ Name(targ, 0)
+
+ Store(arg2, lpN0)
+ Store(0, lpC0)
+
+ Store(arg1, targ)
+ Store(arg3, i000)
+
+ While (lpN0) {
+
+ Store(Index(arg0, targ), Local0)
+
+ if (arg4) {
+ Store(DerefOf(Local0), Local1)
+ Store(DerefOf(Local1), Local2)
+ } else {
+ Store(DerefOf(DerefOf(Local0)), Local2)
+ }
+
+ if (LNotEqual(Local2, i000)) {
+ err("", zFFF, arg5, 0, 0, Local2, i000)
+ }
+
+ Increment(i000)
+ Increment(targ)
+
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+}
+
+/*
+ * Verifying the contents of Package by
+ * accessing elements of its first part
+ * through the IRefs of its second part.
+ * All IRefs points to the same element.
+ *
+ * arg0 - Package to be verified
+ * arg1 - index inside of Package
+ * arg2 - how many elements to check
+ * arg3 - excpected value of element
+ * arg4 - type of access through the IRefs
+ * arg5 - index of error (inside the file)
+ */
+Method(mfce, 6)
+{
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+ Name(targ, 0)
+
+ Store(arg2, lpN0)
+ Store(0, lpC0)
+
+ Store(arg1, targ)
+
+ While (lpN0) {
+
+ Store(Index(arg0, targ), Local0)
+
+ if (arg4) {
+ Store(DerefOf(Local0), Local1)
+ Store(DerefOf(Local1), Local2)
+ } else {
+ Store(DerefOf(DerefOf(Local0)), Local2)
+ }
+
+ if (LNotEqual(Local2, arg3)) {
+ err("", zFFF, arg5, 0, 0, Local2, arg3)
+ }
+
+ Increment(targ)
+
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+}
+
+/*
+ * Verifying the contents of value pointed to by Reference.
+ *
+ * arg0 - Index reference
+ * arg1 - excpected value of element
+ * arg2 - index of error (inside the file)
+ */
+Method(mfd8, 3)
+{
+ Store(DerefOf(arg0), Local0)
+
+ if (LNotEqual(Local0, arg1)) {
+ err("", zFFF, arg2, 0, 0, Local0, arg1)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0135/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0135/DECL.asl
new file mode 100644
index 000000000..f5652a50c
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0135/DECL.asl
@@ -0,0 +1,54 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 135:
+ *
+ * SUMMARY: Store of Index reference to another element of the same Package causes hang
+ *
+ * DESCRIPTION: infinite loops for self and cross Index-References
+ * between Packages.
+ *
+ *
+ * Checking the cross references of type (mostly) Index:
+ *
+ * 1. IRef type element of package refers to element of the same package.
+ * 2. Cross references between Packages:
+ * - IRef0 type element of package P0 refers to element package P1
+ * - IRef1 type element of package P1 refers to element package P0
+ */
+Include("../../../../../runtime/collections/bdemo/ACPICA/0135/Common.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0135/SimplePkgs.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0135/PkgsHierarchy.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0135/Misc1.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0135/Misc2.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0135/Mix.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0135/Methods.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0135/GrInvest.asl")
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0135/GrInvest.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0135/GrInvest.asl
new file mode 100644
index 000000000..abf956600
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0135/GrInvest.asl
@@ -0,0 +1,1152 @@
+/*
+ * 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.
+ */
+
+/*
+ * Auxiliary tests used during investigating of the problem.
+ * Without verification.
+ *
+ * 0x1 Outstanding allocations because of
+ * AcpiExec doesn't run the unload of the table have been processed.
+ * All they are caused by call to SRMT Method.
+ *
+ * Outstanding: 0x1 allocations after execution.
+ */
+Method(mfe6)
+{
+ Method(m000)
+ {
+ Name(p000, Package(16) {0x40,0x41,0x42,0x43,0x45,0x46,0x47,0x48,0x49,0x4a})
+
+ if (1) {
+ Store(Index(p000, 0), Index(p000, 8))
+ Store(Index(p000, 1), Index(p000, 9))
+ Store(Index(p000, 2), Index(p000, 10))
+ Store(Index(p000, 3), Index(p000, 11))
+ Store(Index(p000, 4), Index(p000, 12))
+ Store(Index(p000, 5), Index(p000, 13))
+ Store(Index(p000, 6), Index(p000, 14))
+ Store(Index(p000, 7), Index(p000, 15))
+ }
+ if (1) {
+ Store(Index(p000, 0), Index(p000, 8))
+ Store(Index(p000, 0), Index(p000, 9))
+ Store(Index(p000, 0), Index(p000, 10))
+ Store(Index(p000, 0), Index(p000, 11))
+ Store(Index(p000, 0), Index(p000, 12))
+ Store(Index(p000, 0), Index(p000, 13))
+ Store(Index(p000, 0), Index(p000, 14))
+ Store(Index(p000, 0), Index(p000, 15))
+ }
+ if (1) {
+ Store(Index(p000, 0), Index(p000, 8))
+ Store(Index(p000, 1), Index(p000, 8))
+ Store(Index(p000, 2), Index(p000, 8))
+ Store(Index(p000, 3), Index(p000, 8))
+ Store(Index(p000, 4), Index(p000, 8))
+ Store(Index(p000, 5), Index(p000, 8))
+ Store(Index(p000, 6), Index(p000, 8))
+ Store(Index(p000, 7), Index(p000, 8))
+ }
+ if (1) {
+ Store(Index(p000, 0), Index(p000, 8))
+ Store(Index(p000, 0), Index(p000, 8))
+ Store(Index(p000, 0), Index(p000, 8))
+ Store(Index(p000, 0), Index(p000, 8))
+ Store(Index(p000, 0), Index(p000, 8))
+ Store(Index(p000, 0), Index(p000, 8))
+ Store(Index(p000, 0), Index(p000, 8))
+ Store(Index(p000, 0), Index(p000, 8))
+ }
+ }
+
+ Method(m001)
+ {
+ Name(p000, Package() {0x54,0x55,0x56,0x57})
+ // Name(p001, Package() {1,2,3,4})
+
+ Store("----------------------------- 0, p000:", Debug)
+
+ Store(p000, Debug)
+
+ Store("----------------------------- 1, Local0 == Store(Index(p000, 0), Local0)", Debug)
+
+ Store(Index(p000, 0), Local0)
+
+ Store(Local0, Debug)
+
+ Store("----------------------------- 2, p000:", Debug)
+
+ Store(p000, Debug)
+
+ Store("----------------------------- 3, p000 == Store(Local0, Index(p000, 1)):", Debug)
+
+ Store(Local0, Index(p000, 1))
+
+ Store(p000, Debug)
+
+ Store("----------------------------- End.", Debug)
+ }
+
+ Method(m002)
+ {
+ Name(p000, Package() {0x68,0x69,0x6a,0x6b})
+
+ Store("-----------------------------", Debug)
+
+ Store(Index(p000, 1), Local0)
+
+ Store("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", Debug)
+
+ Store(Local0, Debug)
+
+ Store("=============================", Debug)
+ }
+
+ Method(m003)
+ {
+ Name(p000, Package() {0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77})
+ Name(p001, Package() {0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87})
+ Name(p002, Package(8) {0x90})
+ Name(p003, Package() {0xa0,0xa1,0xa2,0xa3})
+ Name(p004, Package() {0xb0,0xb1,0xb2,0xb3})
+
+ Store("----------------------------- 0, p000:", Debug)
+
+ Store(p000, Debug)
+
+ Store("----------------------------- 1, IRef to 1-th element of p000 (into Local0):", Debug)
+
+ Index(p000, 1, Local0)
+
+ Store(Local0, Debug)
+
+ Store("----------------------------- 2, p000:", Debug)
+
+ Store(p000, Debug)
+
+ Store("----------------------------- 3, IRef to 2-th element of p000 (into Local1):", Debug)
+
+ Index(p000, 2, Local1)
+
+ Store(Local1, Debug)
+
+ Store("----------------------------- 4, p000:", Debug)
+
+ Store(p000, Debug)
+
+ Store("----------------------------- 5, IRef to 3-th element of p000 (again into Local1):", Debug)
+
+ Index(p000, 3, Local1)
+
+ Store(Local1, Debug)
+
+ Store("----------------------------- 6, p000:", Debug)
+
+ Store(p000, Debug)
+
+ Store("----------------------------- 7, IRef to 4-th element of p000 (into Local2):", Debug)
+
+ Index(p000, 4, Local2)
+
+ Store(Local2, Debug)
+
+ Store("----------------------------- 8, p000:", Debug)
+
+ Store(p000, Debug)
+
+ Store("----------------------------- 9, IRef to 4-th element of p000 (into Local3):", Debug)
+
+ Index(p000, 4, Local3)
+
+ Store(Local3, Debug)
+
+ Store("----------------------------- 10, p000:", Debug)
+
+ Store(p000, Debug)
+
+ Store("----------------------------- 11, IRef to 1-th element of p001 (into Local4):", Debug)
+
+ Index(p001, 1, Local4)
+
+ Store(Local4, Debug)
+
+ Store("----------------------------- 12, p001:", Debug)
+
+ Store(p001, Debug)
+
+ Store("----------------------------- 13, p000:", Debug)
+
+ Store(p000, Debug)
+
+ Store("----------------------------- 14, IRef to 1-th element of p001 (Local4) into 5-th element of p000:", Debug)
+
+ Store(Local4, Index(p000, 5))
+
+ Store("----------------------------- 15, p000:", Debug)
+
+ Store(p000, Debug)
+
+ Store("----------------------------- 16, p001:", Debug)
+
+ Store(p001, Debug)
+
+ //////////////////////////////
+
+ Store("----------------------------- 17, IRef to 2-th element of p001 (into Local5):", Debug)
+
+ Index(p001, 2, Local5)
+
+ Store(Local5, Debug)
+
+ Store("----------------------------- 18, p001:", Debug)
+
+ Store(p001, Debug)
+
+ Store("----------------------------- 19, p000:", Debug)
+
+ Store(p000, Debug)
+
+ Store("----------------------------- 20, IRef to 2-th element of p001 (Local5) into 6-th element of p000:", Debug)
+
+ Store(Local5, Index(p000, 6))
+
+
+ Store("----------------------------- 21, p001:", Debug)
+
+ Store(p001, Debug)
+
+ //////////////////////////////
+
+ Store("----------------------------- 22, p000:", Debug)
+
+ Store(p000, Debug)
+
+ Store("----------------------------- 23, p000:", Debug)
+
+ Store(0, Local0)
+
+ Store(p000, Debug)
+
+ Store("----------------------------- 24, Local2 == IRef to 4-th element of p000:", Debug)
+
+ Store(Local2, Debug)
+
+ //////////////////////////////
+
+ Store("----------------------------- 25, p002:", Debug)
+
+ Store(p002, Debug)
+
+ Store("----------------------------- 26, p002:", Debug)
+
+ Store(0x93, Index(p002, 3))
+
+ Store(p002, Debug)
+
+ Store("----------------------------- 27, p002:", Debug)
+
+ Store(p003, Index(p002, 4))
+
+ Store(p002, Debug)
+
+ Store("----------------------------- 28, p002:", Debug)
+
+ Store(p004, Index(p002, 6))
+
+ Store(p002, Debug)
+
+ Store("----------------------------- 29, p002:", Debug)
+
+ Store(p003, Index(p002, 7))
+
+ Store(p002, Debug)
+
+ Store("----------------------------- 30, p003:", Debug)
+
+ Store(p003, Debug)
+
+ Store("----------------------------- End.", Debug)
+ }
+
+ Method(m004)
+ {
+ Name(p000, Package() {0x54,0x55,0x56,0x57})
+
+ Store("----------------------------- 0", Debug)
+
+ Store(Index(p000, 0), Local0)
+
+ Store("----------------------------- 1", Debug)
+
+ Store(Local0, Index(p000, 1))
+
+ Store("----------------------------- 2", Debug)
+
+ Store(p000, Debug)
+
+ Store("----------------------------- End.", Debug)
+
+ Store(0, Local0)
+ }
+
+ Method(m005)
+ {
+ Name(p000, Package() {0x54,0x55,0x56,0x57})
+ Name(p001, Package() {0x64,0x65,0x66,0x67})
+
+ Store(Index(p000, 0), Local0)
+ Store(Local0, Index(p001, 1))
+
+ Store(p000, Debug)
+ Store(Local0, Debug)
+ }
+
+ Method(m006)
+ {
+ Name(p000, Package() {0x54,0x55})
+ Name(p001, Package() {0x54,0x55,0x56,0x57})
+
+ Store(Index(p000, 0), Index(p001, 1))
+ Store(Index(p000, 0), Index(p000, 1))
+ Store(0x29, Index(p000, 1))
+ Store(p000, Debug)
+ }
+
+ Method(m007)
+ {
+ Name(p000, Package(16) {0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57})
+ Name(p001, Package() {0x54,0x55,0x56,0x57})
+
+ Store(Index(p000, 0), Index(p000, 4))
+ Store(Index(p000, 0), Index(p000, 4))
+ Store(Index(p000, 1), Index(p000, 4))
+ Store(Index(p000, 2), Index(p000, 5))
+ Store(Index(p000, 3), Index(p000, 6))
+ Store(Index(p000, 4), Index(p000, 7))
+
+ Store(Index(p001, 0), Index(p000, 4))
+ Store(Index(p001, 0), Index(p000, 8))
+ Store(Index(p001, 0), Index(p000, 8))
+ Store(Index(p001, 0), Index(p000, 9))
+
+ Store(p000, Debug)
+ }
+
+ Method(m008)
+ {
+ Name(i000, 0xabcd0001)
+ Name(p000, Package() {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,
+ 0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f})
+ Name(p001, Package() {0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,
+ 0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f})
+
+ Store(RefOf(i000), Index(p000, 0))
+
+ Store(Index(p000, 0), Index(p001, 0))
+ Store(Index(p001, 0), Index(p000, 1))
+ }
+
+ Method(m009)
+ {
+ Name(p000, Package() {0xa0,0xa1,0xa2,0xa3,0xa4})
+ Name(p001, Package() {0xb0,0xb1,0xb2,0xb3,0xb4,0xb5,0xb6,0xb7})
+
+ Store(Index(p000, 1), Index(p001, 2))
+ Store(Index(p001, 3), Index(p000, 4))
+
+ Store(Index(p000, 0), Index(p001, 4))
+ }
+
+ Method(m00a)
+ {
+// Name(p000, Package() {0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7})
+// Name(p001, Package() {0xb0,0xb1,0xb2,0xb3,0xb4,0xb5,0xb6,0xb7})
+
+ Name(p000, Package() {0xa0,0xa1,0xa2,0xa3,0xa4,0xa5})
+ Name(p001, Package() {0xb0,0xb1,0xb2,0xb3,0xb4,0xb5,0xb6,0xb7,0xb8,0xb9,0xba,0xbb})
+
+ Store(0x80, Index(p001, 3))
+ Store(0x90, Index(p001, 4))
+
+ Store(Index(p000, 1), Index(p001, 6))
+ Store(Index(p000, 2), Index(p001, 7))
+ Store(Index(p000, 3), Index(p001, 8))
+ Store(Index(p000, 4), Index(p001, 9))
+ Store(Index(p000, 5), Index(p001, 10))
+
+ Store(Index(p000, 2), Index(p001, 2))
+ Store(Index(p000, 3), Index(p001, 3))
+ Store(Index(p000, 4), Index(p001, 4))
+ Store(p000, Debug)
+ Store(p001, Debug)
+ }
+
+ Method(m00b)
+ {
+ Name(p000, Package() {0xa0,0xa1,0xa2,0xa3,0xa4,0xa5})
+ Name(p001, Package() {0xb0,0xb1,0xb2,0xb3,0xb4,0xb5,0xb6,0xb7})
+
+ Store(Index(p000, 0), Index(p001, 0))
+ Store(Index(p000, 1), Index(p001, 1))
+ Store(Index(p000, 2), Index(p001, 2))
+ Store(Index(p000, 3), Index(p001, 3))
+ Store(Index(p000, 4), Index(p001, 4))
+ Store(Index(p000, 5), Index(p001, 5))
+
+ Store(Index(p000, 1), Index(p001, 2))
+ Store(Index(p001, 3), Index(p000, 4))
+
+ Store(p000, Debug)
+ Store(p001, Debug)
+ }
+
+ Method(m00c)
+ {
+// Name(i000, 0xabcd0000)
+// Name(i001, 0xabcd0001)
+// Name(i002, 0xabcd0002)
+// Name(i003, 0xabcd0003)
+
+ Name(p000, Package() {0xa0,0xa1,0xa2})
+ Name(p001, Package() {0xb0,0xb1,0xb2,0xb3,0xb4})
+
+ Name(p002, Package(16) {0xc0,0xc1,0xc2})
+ Store(Index(p001, 0), Index(p002, 0))
+ Store(Index(p001, 0), Index(p002, 1))
+ Store(Index(p001, 0), Index(p002, 2))
+ Store(Index(p001, 0), Index(p002, 3))
+ Store(Index(p001, 0), Index(p002, 4))
+ Store(Index(p001, 0), Index(p002, 5))
+ Store(Index(p001, 0), Index(p002, 6))
+ Store(Index(p001, 0), Index(p002, 7))
+ Store(Index(p001, 0), Index(p002, 8))
+ Store(Index(p001, 0), Index(p002, 9))
+ Store(Index(p001, 0), Index(p002, 10))
+ Store(Index(p001, 0), Index(p002, 11))
+ Store(Index(p001, 0), Index(p002, 12))
+
+ Store(Index(p000, 1), Index(p001, 3))
+ Store(Index(p000, 2), Index(p001, 4))
+
+// Add(Local0, Local1, Local7)
+// Add(Local2, Local3, Local7)
+// Add(Local4, Local5, Local7)
+// Add(Local6, Local7, Local7)
+// Return (Local7)
+ }
+
+ Method(m00d)
+ {
+ Name(p000, Package() {0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab})
+ Name(p001, Package() {0xb0,0xb1,0xb2,0xb3,0xb4,0xb5,0xb6,0xb7,0xb8,0xb9,0xba,0xbb,0xbc})
+
+ Store(Index(p001, 1), Index(p000, 2))
+ Store(Index(p000, 3), Index(p001, 4))
+
+ Store(Index(p000, 5), Index(p000, 6))
+ Store(Index(p000, 7), Index(p000, 8))
+
+ Store(Index(p001, 9), Index(p001, 10))
+
+ Store(p000, Debug)
+ Store(p001, Debug)
+ }
+
+ Method(m00e)
+ {
+ Name(p000, Package() {0x54,0x55,0x56,0x57})
+ Name(p001, Package() {0x64,0x65,0x66,0x67})
+
+
+ Store(Index(p000, 0), Local0)
+ Store(Local0, Index(p001, 1))
+
+ Store(Index(p000, 0), Index(p000, 1))
+ }
+
+ Method(m00f)
+ {
+ Name(p000, Package() {0x54,0x55,0x56,0x57})
+
+
+ Store(Index(p000, 0), Local0)
+ Store(Local0, Index(p000, 1))
+
+ Store(Index(p000, 0), Index(p000, 1))
+ }
+
+ Method(m010)
+ {
+ Name(p000, Package() {0x54,0x55,0x56,0x57})
+ Store(Index(p000, 0), Index(p000, 0))
+ }
+
+ Method(m011)
+ {
+ Name(p000, Package() {0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7})
+ Name(p001, Package() {0xb0,0xb1,0xb2,0xb3,0xb4,0xb5,0xb6,0xb7})
+
+ Store(Index(p001, 0), Index(p000, 1))
+ Store(Index(p000, 2), Index(p000, 3))
+ Store(Index(p000, 4), Index(p000, 5))
+ Store(Index(p001, 6), Index(p001, 7))
+ }
+
+ Method(m012)
+ {
+ Name(p000, Package() {0xa0,0xa1,0xa2,0xa3,0xa4,0xa5})
+ Name(p001, Package() {0xb0,0xb1,0xb2,0xb3,0xb4,0xb5,0xb6,0xb7})
+
+ Store(Index(p000, 0), Index(p001, 0))
+ Store(Index(p000, 0), Index(p001, 0))
+
+ Store(Index(p000, 0), Index(p001, 0))
+ Store(Index(p000, 0), Index(p001, 0))
+ Store(Index(p000, 0), Index(p001, 0))
+ Store(Index(p000, 0), Index(p001, 0))
+ Store(Index(p000, 0), Index(p001, 0))
+ Store(Index(p000, 0), Index(p001, 0))
+
+
+ Store(Index(p000, 0), Index(p001, 0))
+ Store(Index(p000, 1), Index(p001, 1))
+ Store(Index(p000, 2), Index(p001, 2))
+ Store(Index(p000, 3), Index(p001, 3))
+ Store(Index(p000, 4), Index(p001, 4))
+ Store(Index(p000, 5), Index(p001, 5))
+
+ Store(Index(p000, 1), Index(p001, 2))
+ Store(Index(p001, 3), Index(p000, 4))
+
+ Store(Index(p000, 0), Index(p000, 1))
+ Store(Index(p000, 0), Index(p000, 1))
+ Store(Index(p000, 0), Index(p000, 1))
+ Store(Index(p000, 0), Index(p000, 1))
+ Store(Index(p000, 0), Index(p000, 1))
+ Store(Index(p000, 0), Index(p000, 1))
+ Store(Index(p000, 0), Index(p000, 1))
+ Store(Index(p000, 0), Index(p000, 1))
+
+ Store(Index(p000, 0), Index(p000, 0))
+ Store(Index(p000, 0), Index(p000, 0))
+ Store(Index(p000, 0), Index(p000, 0))
+ Store(Index(p000, 0), Index(p000, 0))
+ Store(Index(p000, 0), Index(p000, 0))
+ Store(Index(p000, 0), Index(p000, 0))
+ Store(Index(p000, 0), Index(p000, 0))
+ Store(Index(p000, 0), Index(p000, 0))
+
+ Store(p000, Debug)
+ Store(p001, Debug)
+ }
+
+ Method(m013)
+ {
+ Name(p000, Package() {0xa0,0xa1})
+ Name(p001, Package() {0xb0,0xb1,0xb2,0xb3,0xb4})
+
+ Store(Index(p000, 0), Index(p001, 0))
+ Store(Index(p000, 0), Index(p001, 0))
+ }
+
+ Method(m014)
+ {
+ Name(p000, Package() {
+ 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,
+ 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,
+ 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,
+ 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,
+ })
+ Name(p001, Package() {
+ 0xb0,0xb1,0xb2,0xb3,0xb4,0xb5,0xb6,0xb7,
+ 0xb0,0xb1,0xb2,0xb3,0xb4,0xb5,0xb6,0xb7,
+ 0xb0,0xb1,0xb2,0xb3,0xb4,0xb5,0xb6,0xb7,
+ 0xb0,0xb1,0xb2,0xb3,0xb4,0xb5,0xb6,0xb7,
+ })
+
+ Store(Index(p000, 0), Index(p001, 0))
+ Store(Index(p001, 1), Index(p000, 1))
+ Store(Index(p000, 2), Index(p001, 2))
+ Store(Index(p001, 3), Index(p000, 3))
+ Store(Index(p000, 4), Index(p001, 4))
+ Store(Index(p001, 5), Index(p000, 5))
+ Store(Index(p000, 6), Index(p001, 6))
+ Store(Index(p001, 7), Index(p000, 7))
+
+
+ Store(Index(p000, 0), Index(p001, 0))
+ Store(Index(p000, 0), Index(p001, 0))
+ Store(Index(p001, 1), Index(p000, 1))
+ Store(Index(p001, 1), Index(p000, 1))
+ Store(Index(p000, 2), Index(p001, 2))
+ Store(Index(p000, 2), Index(p001, 2))
+ Store(Index(p001, 3), Index(p000, 3))
+ Store(Index(p001, 3), Index(p000, 3))
+ Store(Index(p000, 4), Index(p001, 4))
+ Store(Index(p000, 4), Index(p001, 4))
+ Store(Index(p001, 5), Index(p000, 5))
+ Store(Index(p001, 5), Index(p000, 5))
+ Store(Index(p000, 6), Index(p001, 6))
+ Store(Index(p000, 6), Index(p001, 6))
+ Store(Index(p001, 7), Index(p000, 7))
+ Store(Index(p001, 7), Index(p000, 7))
+
+ Store(Index(p000, 0), Local0)
+ Store(Local0, Index(p001, 0))
+ Store(Index(p000, 0), Local0)
+ Store(Local0, Index(p001, 0))
+ }
+
+ Method(m015)
+ {
+ Name(p000, Package() {0xa0,0xa1,0xa2})
+ Name(p001, Package() {0xb0,0xb1,0xb2,0xb3})
+
+ Store(p000, Index(p001, 0))
+ Store(0xabcd0000, Index(p001, 1))
+ Store(0xabcd0001, Index(p001, 0))
+
+ Store(0xabcd0001, Local0)
+ Store(Local0, Index(p001, 2))
+ Store(Local0, Index(p001, 0))
+ Store(Local0, Index(p001, 1))
+ Store(Local0, Index(p001, 2))
+
+ Store(p001, Debug)
+ }
+
+ Method(m016)
+ {
+ Name(p000, Package() {0xabcd0000})
+ Name(p001, Package() {0xabcd0001, 0xabcd0002})
+
+ CopyObject(p001, p000)
+
+ Store(p001, Debug)
+ }
+
+ Method(m017)
+ {
+ Name(p000, Package() {0x20, 0x21})
+ Name(p001, Package(18) {0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17})
+
+ Method(m000, 1)
+ {
+ Store(Index(p000, 0), Index(arg0, 0))
+ Store(Index(p000, 1), Index(arg0, 1))
+
+// + self Store(Index(p000, 0), Index(arg0, 0)) arg0 - p000
+// Store(Index(arg0, 2), Index(p001, 2))
+// Store(Index(arg0, 3), Index(p001, 3))
+// Store(Index(arg0, 2), Index(arg1, 2))
+// Store(Index(arg0, 3), Index(arg1, 3))
+// Store(Index(arg1, 2), Index(arg0, 2))
+// Store(Index(arg1, 3), Index(arg0, 3))
+// .................
+ }
+ Method(m001, 1)
+ {
+ m000(arg0)
+ }
+
+ Method(m002, 1)
+ {
+ m001(arg0)
+ }
+
+
+ m000(p001)
+
+ m000(Package(18) {0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17})
+
+ m000(p000)
+ Store(p000, Debug)
+ Store(p001, Debug)
+ }
+
+ Method(m018)
+ {
+ Name(p000, Package() {0xa0,0xa1,0xa2,0xa3,0xa4,0xa5})
+ Name(p001, Package() {0xb0,0xb1,0xb2,0xb3,0xb4,0xb5})
+
+ Store(Index(p000, 0), Index(p001, 1))
+ Store(Index(p001, 2), Index(p000, 3))
+
+ Store(Index(p000, 0), Index(p001, 0))
+ Store(Index(p000, 1), Index(p001, 1))
+ Store(Index(p000, 2), Index(p001, 2))
+ Store(Index(p000, 3), Index(p001, 3))
+ Store(Index(p000, 4), Index(p001, 4))
+ Store(Index(p000, 5), Index(p001, 5))
+
+ Store(Index(p001, 2), Index(p000, 3))
+ Store(Index(p000, 4), Index(p001, 5))
+ }
+
+ Method(m019)
+ {
+ Name(p000, Package() {0xa0,0xa1,0xa2,0xa3,0xa4,0xa5})
+ Name(p001, Package() {0xb0,0xb1,0xb2,0xb3,0xb4,0xb5})
+ Name(p002, Package() {0xb0,0xb1,0xb2,0xb3,0xb4,0xb5})
+ Method(m000)
+ {
+ Store(Index(p000, 0), Index(p001, 0))
+ }
+
+ Store(Index(p000, 0), Index(p002, 0))
+ Store(Index(p000, 1), Index(p002, 1))
+ Store(Index(p000, 2), Index(p002, 2))
+ Store(Index(p000, 3), Index(p002, 3))
+ Store(Refof(p000), Index(p002, 4))
+ Store(Index(p000, 5), Index(p002, 5))
+
+ m000()
+
+ Store(Index(p000, 0), Index(p001, 0))
+ }
+
+ Method(m01a)
+ {
+ Name(p000, Package() {0xa0,0xa1,0xa2,0xa3,0xa4,0xa5})
+ Name(p001, Package() {0xb0,0xb1,0xb2,0xb3,0xb4,0xb5})
+
+ Store(Index(p000, 0), Index(p001, 0))
+ Store(Refof(p000), Index(p001, 1))
+ }
+
+ Method(m01b)
+ {
+ Name(p000, Package() {0x20,0x21,0x22,0x23,0x24,0x25})
+ Name(p001, Package(18) {0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17})
+
+ Method(m000, 1)
+ {
+ Store(Index(p000, 0), Index(arg0, 0))
+
+ Store(Index(p000, 0), Index(arg0, 0))
+ Store(Index(p000, 0), Index(arg0, 0))
+
+ Store(Index(arg0, 0), Index(p000, 1))
+ Store(Index(arg0, 0), Index(p000, 1))
+ Store(Index(arg0, 0), Index(p000, 1))
+
+ Store(Index(arg0, 0), Index(p000, 1))
+ Store(Index(arg0, 1), Index(p000, 1))
+ Store(Index(arg0, 2), Index(p000, 1))
+
+ Store(Index(arg0, 0), Index(p000, 0))
+ Store(Index(arg0, 1), Index(p000, 1))
+ Store(Index(arg0, 2), Index(p000, 2))
+ Store(Index(arg0, 3), Index(p000, 3))
+ Store(Index(arg0, 4), Index(p000, 4))
+ Store(Index(arg0, 5), Index(p000, 5))
+
+
+ Store(Index(arg0, 0), Index(p000, 0))
+ Store(Index(p000, 0), Index(arg0, 0))
+ Store(Index(arg0, 1), Index(p000, 1))
+ Store(Index(p000, 0), Index(arg0, 0))
+ Store(Index(arg0, 2), Index(p000, 2))
+ Store(Index(p000, 0), Index(arg0, 0))
+ Store(Index(arg0, 3), Index(p000, 3))
+ Store(Index(p000, 0), Index(arg0, 0))
+ Store(Index(arg0, 4), Index(p000, 4))
+ Store(Index(p000, 0), Index(arg0, 0))
+ Store(Index(arg0, 5), Index(p000, 5))
+ Store(Index(p000, 0), Index(arg0, 0))
+ }
+ Method(m001, 1)
+ {
+ Store("Start m001", Debug)
+ m000(arg0)
+ Store("Finish m001", Debug)
+ }
+
+ Method(m002, 1)
+ {
+ m001(arg0)
+ }
+
+ Method(m003, 1)
+ {
+ m002(arg0)
+ }
+
+ Method(m004, 1)
+ {
+ Store("Start m004", Debug)
+ m003(arg0)
+ Store("Finish m004", Debug)
+ }
+
+ Store(Index(p000, 0), Index(p001, 0))
+ Store(Index(p000, 0), Index(p001, 0))
+
+ m004(p000)
+ m000(p001)
+ m001(p000)
+ m002(p001)
+ m003(p000)
+ m004(p001)
+ m000(p000)
+ m001(p001)
+ m002(p000)
+ m003(p001)
+ m004(p000)
+ }
+
+ Method(m01c)
+ {
+ Name(p000, Package() {0x20,0x21,0x22,0x23,0x24,0x25})
+ Name(p001, Package(18) {0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17})
+ Name(p002, Package(18) {0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17})
+
+ Method(m000, 1)
+ {
+ Store(Index(arg0, 0), Index(p000, 1))
+ }
+
+ m000(p001)
+ m000(p000)
+ m000(p001)
+ m000(p001)
+ m000(p000)
+ m000(p001)
+ }
+
+ Method(m01d)
+ {
+ Name(p000, Package() {0x20,0x21,0x22,0x23,0x24,0x25})
+ Name(p001, Package(18) {0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17})
+
+ Store(Index(p000, 0), Index(p000, 0))
+ Store(Index(p000, 0), Index(p001, 0))
+ Store(Index(p001, 0), Index(p000, 0))
+ Store(Index(p000, 0), Index(p000, 0))
+ Store(Index(p000, 0), Index(p001, 0))
+ Store(Index(p001, 0), Index(p000, 0))
+ Store(Index(p000, 0), Index(p000, 0))
+ Store(Index(p000, 0), Index(p001, 0))
+ Store(Index(p001, 0), Index(p000, 0))
+
+ Store(Index(p000, 1), Index(p001, 1))
+ Store(p000, Index(p001, 1))
+ }
+
+ Method(m01e)
+ {
+ Name(p000, Package() {0x10, 0x11})
+ Name(p001, Package() {0x20, 0x21})
+
+ Method(m000, 1)
+ {
+ Store(Index(p000, 0), Index(arg0, 0))
+
+ Store(Index(arg0, 1), Index(p000, 1))
+ Store(Index(arg0, 1), Index(p000, 1))
+ Store(Index(arg0, 1), Index(p000, 1))
+ Store(Index(arg0, 1), Index(p000, 0))
+ Store(Index(arg0, 1), Index(p000, 0))
+ Store(Index(arg0, 1), Index(p000, 0))
+ Store(Index(arg0, 1), Index(p000, 0))
+ Store(Index(arg0, 1), Index(p000, 1))
+ Store(Index(arg0, 1), Index(p000, 0))
+ Store(Index(arg0, 1), Index(p000, 1))
+ Store(Index(arg0, 1), Index(p000, 0))
+ Store(Index(arg0, 1), Index(p000, 1))
+ Store(Index(p000, 0), Index(arg0, 0))
+ Store(Index(p000, 0), Index(arg0, 0))
+ Store(Index(p000, 0), Index(arg0, 0))
+ Store(Index(p000, 0), Index(arg0, 1))
+ Store(Index(p000, 0), Index(arg0, 1))
+ Store(Index(p000, 0), Index(arg0, 1))
+ Store(Index(p000, 0), Index(arg0, 0))
+ Store(Index(p000, 0), Index(arg0, 0))
+ Store(Index(p000, 0), Index(arg0, 1))
+ Store(Index(p000, 0), Index(arg0, 1))
+ Store(Index(p000, 0), Index(arg0, 0))
+ Store(Index(p000, 0), Index(arg0, 1))
+ Store(Index(p000, 0), Index(arg0, 0))
+ Store(Index(p000, 0), Index(arg0, 1))
+ Store(Index(p000, 0), Index(arg0, 0))
+ Store(Index(p000, 0), Index(arg0, 1))
+ Store(Index(arg0, 0), Index(p000, 0))
+ Store(Index(arg0, 0), Index(p000, 1))
+ Store(Index(arg0, 0), Index(arg0, 0))
+ Store(Index(arg0, 0), Index(arg0, 1))
+ Store(Index(arg0, 1), Index(p000, 0))
+ Store(Index(arg0, 1), Index(p000, 1))
+ Store(Index(arg0, 1), Index(arg0, 1))
+ Store(Index(arg0, 1), Index(arg0, 1))
+ Store(Index(p000, 0), Index(p000, 0))
+ Store(Index(p000, 0), Index(p000, 1))
+ Store(Index(p000, 0), Index(arg0, 0))
+ Store(Index(p000, 0), Index(arg0, 1))
+ Store(Index(p000, 1), Index(p000, 0))
+ Store(Index(p000, 1), Index(p000, 1))
+ Store(Index(p000, 1), Index(arg0, 0))
+ Store(Index(p000, 1), Index(arg0, 1))
+ Store(Index(arg0, 0), Index(p000, 0))
+ Store(Index(arg0, 0), Index(p000, 0))
+ Store(Index(arg0, 0), Index(p000, 0))
+ Store(Index(arg0, 0), Index(p000, 1))
+ Store(Index(arg0, 0), Index(p000, 1))
+ Store(Index(arg0, 0), Index(p000, 1))
+ Store(Index(arg0, 0), Index(arg0, 0))
+ Store(Index(arg0, 0), Index(arg0, 0))
+ Store(Index(arg0, 0), Index(arg0, 0))
+ Store(Index(arg0, 0), Index(arg0, 1))
+ Store(Index(arg0, 0), Index(arg0, 1))
+ Store(Index(arg0, 0), Index(arg0, 1))
+ Store(Index(arg0, 1), Index(p000, 0))
+ Store(Index(arg0, 1), Index(p000, 0))
+ Store(Index(arg0, 1), Index(p000, 0))
+ Store(Index(arg0, 1), Index(p000, 1))
+ Store(Index(arg0, 1), Index(p000, 1))
+ Store(Index(arg0, 1), Index(p000, 1))
+ Store(Index(arg0, 1), Index(arg0, 1))
+ Store(Index(arg0, 1), Index(arg0, 1))
+ Store(Index(arg0, 1), Index(arg0, 1))
+ Store(Index(arg0, 1), Index(arg0, 1))
+ Store(Index(arg0, 1), Index(arg0, 1))
+ Store(Index(arg0, 1), Index(arg0, 1))
+ Store(Index(p000, 0), Index(p000, 0))
+ Store(Index(p000, 0), Index(p000, 0))
+ Store(Index(p000, 0), Index(p000, 0))
+ Store(Index(p000, 0), Index(p000, 1))
+ Store(Index(p000, 0), Index(p000, 1))
+ Store(Index(p000, 0), Index(p000, 1))
+ Store(Index(p000, 0), Index(arg0, 0))
+ Store(Index(p000, 0), Index(arg0, 0))
+ Store(Index(p000, 0), Index(arg0, 0))
+ Store(Index(p000, 0), Index(arg0, 1))
+ Store(Index(p000, 0), Index(arg0, 1))
+ Store(Index(p000, 0), Index(arg0, 1))
+ Store(Index(p000, 1), Index(p000, 0))
+ Store(Index(p000, 1), Index(p000, 0))
+ Store(Index(p000, 1), Index(p000, 0))
+ Store(Index(p000, 1), Index(p000, 1))
+ Store(Index(p000, 1), Index(p000, 1))
+ Store(Index(p000, 1), Index(p000, 1))
+ Store(Index(p000, 1), Index(arg0, 0))
+ Store(Index(p000, 1), Index(arg0, 0))
+ Store(Index(p000, 1), Index(arg0, 0))
+ Store(Index(p000, 1), Index(arg0, 1))
+ Store(Index(p000, 1), Index(arg0, 1))
+ Store(Index(p000, 1), Index(arg0, 1))
+ }
+ Method(m001, 1)
+ {
+ m000(arg0)
+ }
+
+ Method(m002, 1)
+ {
+ m001(arg0)
+ }
+
+ m000(Package(2) {0x10,0x11})
+ m000(Package(4) {0x20,0x21,0x22,0x23})
+
+ m000(Package(4) {0x30,0x31,0x32,0x33})
+ m000(Package(4) {0x40,0x41,0x42,0x43})
+ m000(Package(4) {0x50,0x51,0x52,0x53})
+ m000(Package(4) {0x60,0x61,0x62,0x63})
+ m000(Package(4) {0x70,0x71,0x72,0x73})
+ m000(Package(4) {0x80,0x81,0x82,0x83})
+ m000(Package(4) {0x40,0x41,0x42,0x43})
+ m000(Package(4) {0x40,0x41,0x42,0x43})
+ m000(Package(4) {0x40,0x41,0x42,0x43})
+ m000(Package(4) {0x40,0x41,0x42,0x43})
+ m000(Package(4) {0x40,0x41,0x42,0x43})
+ m000(Package(4) {0x40,0x41,0x42,0x43})
+
+ m000(Package(7) {0x40,0x41,0x42,0x43})
+ m000(Package(7) {0x40,0x41,0x42,0x43})
+ m000(Package(9) {0x30,0x31,0x32,0x33})
+ m000(Package(18) {0x30,0x31,0x32,0x33})
+ m001(Package(18) {0x30,0x31,0x32,0x33})
+ m001(Package(18) {0x30,0x31,0x32,0x33})
+ m001(Package(18) {0x30,0x31,0x32,0x33})
+ m001(Package(18) {0x30,0x31,0x32,0x33})
+ m001(Package(18) {0x30,0x31,0x32,0x33})
+ m002(Package(18) {0x30,0x31,0x32,0x33})
+ m002(Package(18) {0x30,0x31,0x32,0x33})
+ m002(Package(18) {0x30,0x31,0x32,0x33})
+ m002(Package(18) {0x30,0x31,0x32,0x33})
+ m002(Package(18) {0x30,0x31,0x32,0x33})
+
+
+ m000(p000)
+ m000(p001)
+ m001(p000)
+ m001(p001)
+ m002(p000)
+ m002(p001)
+ }
+
+ Method(m01f)
+ {
+ Name(s900, "qwertyuiop")
+
+ Method(m000, 1)
+ {
+ Store(RefOf(arg0), Local0)
+ Store(DerefOf(Local0), Local7)
+
+ return (Local7)
+ }
+
+ Method(m001, 1)
+ {
+ Store(RefOf(arg0), Local0)
+ Store(DerefOf(Local0), Local7)
+
+ Store(m000(Local7), Local0)
+ }
+
+ Store(Index(s900, 0), Local0)
+ m001(Local0)
+ Store(DerefOf(Local0), Local2)
+
+ Store(Index(Package(){0xabcd0000}, 0), Local0)
+ m001(Local0)
+ Store(DerefOf(Local0), Local2)
+ }
+
+ Method(m020)
+ {
+ Method(m000)
+ {
+ Name(p953, Package() {0xabcd2018, 0xabcd2019})
+ Name(p954, Package() {0xabcd2018, 0xabcd2019})
+ CopyObject(p954, p953)
+ }
+ m000()
+ }
+
+ Method(m021)
+ {
+ Method(m000, 1)
+ {
+ Store(0xabcd0000, arg0)
+ }
+
+ Method(m001)
+ {
+ Name(pp00, Package() {0xabcd0001})
+ Name(p000, Package() {0xabcd0002, 0xabcd0003})
+ Name(p001, Package() {0xabcd0004, 0xabcd0005})
+
+
+ Store(RefOf(p000), Local0)
+ m000(Local0)
+ CopyObject(p001, p000)
+
+ }
+
+ m001()
+ }
+
+ Method(m022)
+ {
+ Name(i000, 0xabcd0000)
+ Name(p000, Package() {0xabcd0001})
+
+ CopyObject(i000, p000)
+ Store(i000, p000)
+ }
+
+ Method(m023)
+ {
+ Name(p000, Package() {0xabcd0000})
+ Name(p001, Package() {0xabcd0001, 0xabcd0002})
+
+ CopyObject(p000, p001)
+ CopyObject(p001, p000)
+ }
+
+ Method(m024)
+ {
+ Name(p000, Package() {0xabcd0000})
+ Name(i000, 0xabcd0000)
+ CopyObject(p000, i000)
+
+ m006()
+ m021()
+ m022()
+ m023()
+
+ if (1) {
+ m000()
+ m001()
+ m002()
+ m003()
+ m004()
+ m005()
+ m006()
+ m007()
+ m008()
+ m009()
+ m00a()
+ m00b()
+ m00c()
+ m00d()
+ m00e()
+ m00f()
+ m010()
+ m011()
+ m012()
+ m013()
+ m014()
+ m015()
+ m016()
+ m017()
+ m018()
+ m019()
+ m01a()
+ m01b()
+ m01c()
+ m01d()
+ m01e()
+ m01f()
+ m020()
+ m021()
+ m022()
+ m023()
+ }
+ }
+
+ SRMT("mfe6")
+ m024()
+}
+
+
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0135/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0135/MAIN.asl
new file mode 100644
index 000000000..5a4204827
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0135/MAIN.asl
@@ -0,0 +1,58 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B135.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/common/DECL.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0135/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0135/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0135/Methods.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0135/Methods.asl
new file mode 100644
index 000000000..f94110b6c
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0135/Methods.asl
@@ -0,0 +1,590 @@
+/*
+ * 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.
+ */
+
+/*
+ * Method invocations do add layers of Packages processing
+ *
+ * 0x1 Outstanding allocations because of
+ * AcpiExec doesn't run the unload of the table have been processed.
+ * All they are caused by call to SRMT Method.
+ *
+ * Outstanding: 0x1 allocations after execution.
+ */
+
+/*
+ * Web of references performed by several method invocations
+ */
+Method(mfd9)
+{
+ Name(sz, 32) // full size of Package applied in algorithm
+ Name(szzz, 64) // full size of Package
+ Name(prt, 16) // number of different parts
+ Name(nm16, 0) // 1/16 of size
+ Name(i1, 0) // 1/16 of size
+ Name(i2, 0) // 2/16 of size
+ Name(i3, 0)
+ Name(i4, 0)
+ Name(i5, 0)
+ Name(i6, 0)
+ Name(i8, 0)
+ Name(i9, 0)
+ Name(i10, 0)
+ Name(i11, 0)
+ Name(i12, 0)
+ Name(i13, 0)
+ Name(i14, 0)
+ Name(i16, 0)
+
+ Name(p000, Package(szzz) {})
+ Name(p001, Package(szzz) {})
+ Name(p002, Package(szzz) {})
+ Name(p003, Package(szzz) {})
+ Name(p004, Package(szzz) {})
+ Name(p005, Package(szzz) {})
+ Name(p006, Package(szzz) {})
+ Name(p007, Package(szzz) {})
+
+ Name(i000, 0xabcd0000)
+ Name(i001, 0xabcd0100)
+ Name(i002, 0xabcd0200)
+ Name(i003, 0xabcd0300)
+ Name(i004, 0xabcd0400)
+ Name(i005, 0xabcd0500)
+ Name(i006, 0xabcd0600)
+ Name(i007, 0xabcd0700)
+
+ Divide(sz, prt, Local0, nm16)
+
+ Store(nm16, i1)
+ Multiply(nm16, 2, i2)
+ Multiply(nm16, 3, i3)
+ Multiply(nm16, 4, i4)
+ Multiply(nm16, 5, i5)
+ Multiply(nm16, 6, i6)
+ Multiply(nm16, 8, i8)
+ Multiply(nm16, 9, i9)
+ Multiply(nm16, 10, i10)
+ Multiply(nm16, 11, i11)
+ Multiply(nm16, 12, i12)
+ Multiply(nm16, 13, i13)
+ Multiply(nm16, 14, i14)
+ Multiply(nm16, 16, i16)
+
+
+ /* Initializing full Packages with monotone increasing Integers */
+ Method(m000)
+ {
+ Name(qq00, 0)
+ Name(qq01, 0)
+
+ Method(m000)
+ {
+ mfc7(p000, 0, sz, i000)
+ mfc7(p001, 0, sz, i001)
+ }
+ Method(m001)
+ {
+ if (qq00) {
+ m000()
+ }
+
+ mfc7(p002, 0, sz, i002)
+ mfc7(p003, 0, sz, i003)
+ mfc7(p004, 0, sz, i004)
+ }
+ Method(m002)
+ {
+ mfc7(p005, 0, sz, i005)
+ if (qq01) {
+ Store("never", Debug)
+ } else {
+ mfc7(p006, 0, sz, i006)
+ }
+ }
+
+ Store(1, qq00)
+ if (qq00) {
+ m001()
+ }
+ m002()
+ if (qq00) {
+ mfc7(p007, 0, sz, i007)
+ }
+ }
+
+ /* Initializing the Package with IRefs */
+
+ /* Generate two-directional ring of references */
+
+ Method(m001)
+ {
+ Name(uu00, 0xeeff0000)
+ Name(ii00, 0xabcd0000)
+ Name(pp00, Package(sz) {})
+
+ Name(qq00, 0)
+
+ Method(m001)
+ {
+ mfc8(p000, p001, 0, i8, nm16, 0, 0)
+ }
+ Method(m002)
+ {
+ mfc8(p001, p002, 0, i8, nm16, 0, 0)
+ }
+ Method(m003)
+ {
+ m001()
+ m002()
+ mfc8(p002, p003, 0, i8, nm16, 0, 0)
+ }
+ Method(m004)
+ {
+ m003()
+ mfc8(p003, p004, 0, i8, nm16, 0, 0)
+ }
+ Method(m005)
+ {
+ m004()
+ mfc8(p004, p005, 0, i8, nm16, 0, 0)
+ }
+ Method(m006)
+ {
+ mfc8(p005, p006, 0, i8, nm16, 0, 0)
+ }
+ Method(m007)
+ {
+ if (qq00) {
+ mfc8(p006, p007, 0, i8, nm16, 0, 0)
+ }
+ }
+ Method(m008)
+ {
+ if (qq00) {
+ m005()
+ m006()
+ m007()
+ mfc8(p007, p000, 0, i8, nm16, 0, 0)
+ }
+ }
+
+
+ Method(m009)
+ {
+ if (qq00) {
+ mfc8(p007, p006, i1, i9, nm16, 0, 0)
+ }
+ }
+ Method(m00a)
+ {
+ if (qq00) {
+ mfc8(p006, p005, i1, i9, nm16, 0, 0)
+ }
+ }
+ Method(m00b)
+ {
+ if (qq00) {
+ mfc8(p005, p004, i1, i9, nm16, 0, 0)
+ }
+ }
+ Method(m00c)
+ {
+ if (qq00) {
+ mfc8(p004, p003, i1, i9, nm16, 0, 0)
+ }
+ }
+ Method(m00d)
+ {
+ if (qq00) {
+ mfc8(p003, p002, i1, i9, nm16, 0, 0)
+ }
+ }
+ Method(m00e)
+ {
+ if (qq00) {
+ mfc8(p002, p001, i1, i9, nm16, 0, 0)
+ }
+ }
+ Method(m00f)
+ {
+ if (qq00) {
+ mfc8(p001, p000, i1, i9, nm16, 0, 0)
+ }
+ }
+ Method(m010)
+ {
+ m00b()
+ m00c()
+ m00d()
+ m00e()
+ m00f()
+ mfc8(p000, p007, i1, i9, nm16, 0, 0)
+ }
+
+ Store(1, qq00)
+
+ m000()
+
+ if (qq00) {
+ m008()
+ m009()
+ m00a()
+ }
+
+ mfc7(pp00, 0, sz, uu00)
+
+ // Causes Outstanding allocations
+ mfc8(p000, pp00, 0, i8, nm16, 0, 0)
+
+ mfc8(pp00, p000, 0, i16, nm16, 0, 0)
+
+ m010()
+
+ mfcc(pp00, i8, nm16, ii00, 0, 0x100)
+ mfcc(p000, i16, nm16, uu00, 0, 0x101)
+ }
+
+ /*
+ * Join all other packages
+ * (two directions for each two points)
+ */
+ Method(m002)
+ {
+ Name(qq01, 0)
+
+ m001()
+
+ if (qq01) {
+ Store("never", Debug)
+ } else {
+ mfc8(p002, p000, i2, i10, nm16, 0, 0)
+ mfc8(p003, p000, i3, i11, nm16, 0, 0)
+ if (qq01) {
+ Store("never", Debug)
+ } else {
+ mfc8(p004, p000, i4, i12, nm16, 0, 0)
+ mfc8(p005, p000, i5, i13, nm16, 0, 0)
+ }
+ mfc8(p006, p000, i6, i14, nm16, 0, 0)
+ }
+
+ mfc8(p003, p001, i3, i11, nm16, 0, 0)
+ mfc8(p004, p001, i4, i12, nm16, 0, 0)
+ mfc8(p005, p001, i5, i13, nm16, 0, 0)
+ mfc8(p006, p001, i6, i14, nm16, 0, 0)
+ mfc8(p007, p001, i2, i10, nm16, 0, 0)
+
+ mfc8(p004, p002, i4, i12, nm16, 0, 0)
+ mfc8(p005, p002, i5, i13, nm16, 0, 0)
+ mfc8(p006, p002, i6, i14, nm16, 0, 0)
+ mfc8(p007, p002, i2, i10, nm16, 0, 0)
+ mfc8(p000, p002, i3, i11, nm16, 0, 0)
+
+ mfc8(p005, p003, i5, i13, nm16, 0, 0)
+ mfc8(p006, p003, i6, i14, nm16, 0, 0)
+ mfc8(p007, p003, i2, i10, nm16, 0, 0)
+ mfc8(p000, p003, i3, i11, nm16, 0, 0)
+ mfc8(p001, p003, i4, i12, nm16, 0, 0)
+
+ mfc8(p006, p004, i6, i14, nm16, 0, 0)
+ mfc8(p007, p004, i2, i10, nm16, 0, 0)
+ mfc8(p000, p004, i3, i11, nm16, 0, 0)
+ mfc8(p001, p004, i4, i12, nm16, 0, 0)
+ mfc8(p002, p004, i5, i13, nm16, 0, 0)
+
+ mfc8(p007, p005, i2, i10, nm16, 0, 0)
+ mfc8(p000, p005, i3, i11, nm16, 0, 0)
+ mfc8(p001, p005, i4, i12, nm16, 0, 0)
+ mfc8(p002, p005, i5, i13, nm16, 0, 0)
+ mfc8(p003, p005, i6, i14, nm16, 0, 0)
+
+ mfc8(p000, p006, i3, i11, nm16, 0, 0)
+ mfc8(p001, p006, i4, i12, nm16, 0, 0)
+ mfc8(p002, p006, i5, i13, nm16, 0, 0)
+ mfc8(p003, p006, i6, i14, nm16, 0, 0)
+ mfc8(p004, p006, i2, i10, nm16, 0, 0)
+
+ mfc8(p001, p007, i4, i12, nm16, 0, 0)
+ mfc8(p002, p007, i5, i13, nm16, 0, 0)
+ mfc8(p003, p007, i6, i14, nm16, 0, 0)
+ mfc8(p004, p007, i2, i10, nm16, 0, 0)
+ mfc8(p005, p007, i3, i11, nm16, 0, 0)
+ }
+
+ /* Verifying access to Packages through the IRefs */
+
+ /* Two-directional ring of references */
+
+ Method(m003)
+ {
+ m002()
+
+ mfcc(p001, i8, nm16, i000, 0, 0x102)
+ mfcc(p002, i8, nm16, i001, 0, 0x103)
+ mfcc(p003, i8, nm16, i002, 0, 0x104)
+ mfcc(p004, i8, nm16, i003, 0, 0x105)
+ mfcc(p005, i8, nm16, i004, 0, 0x106)
+ mfcc(p006, i8, nm16, i005, 0, 0x107)
+ mfcc(p007, i8, nm16, i006, 0, 0x108)
+ mfcc(p000, i8, nm16, i007, 0, 0x109)
+ }
+
+ Method(m004)
+ {
+ Method(m000)
+ {
+ Add(i002, nm16, i002)
+ Add(i001, nm16, i001)
+ Add(i000, nm16, i000)
+
+ mfcc(p006, i9, nm16, i007, 0, 0x10a)
+ mfcc(p005, i9, nm16, i006, 0, 0x10b)
+ }
+
+ m003()
+
+ Add(i007, nm16, i007)
+ Add(i006, nm16, i006)
+ Add(i005, nm16, i005)
+ Add(i004, nm16, i004)
+ Add(i003, nm16, i003)
+
+ m000()
+
+ mfcc(p004, i9, nm16, i005, 0, 0x10c)
+ mfcc(p003, i9, nm16, i004, 0, 0x10d)
+ mfcc(p002, i9, nm16, i003, 0, 0x10e)
+ mfcc(p001, i9, nm16, i002, 0, 0x10f)
+ mfcc(p000, i9, nm16, i001, 0, 0x110)
+ mfcc(p007, i9, nm16, i000, 0, 0x111)
+ }
+
+ /* Verify other references */
+
+ Method(m005)
+ {
+ Method(m000)
+ {
+ Method(m000)
+ {
+ Method(m000)
+ {
+ Method(m000)
+ {
+ Method(m000)
+ {
+ Method(m000)
+ {
+ Method(m000)
+ {
+ Method(m000)
+ {
+ Method(m000)
+ {
+ Method(m000)
+ {
+ Method(m000)
+ {
+ Method(m000)
+ {
+ Method(m000)
+ {
+ Method(m000)
+ {
+ Method(m000)
+ {
+ mfcc(p006, i10, nm16, i004, 0, 0x112)
+ mfcc(p007, i10, nm16, i004, 0, 0x113)
+ }
+ mfcc(p005, i10, nm16, i007, 0, 0x114)
+ m000()
+ }
+ mfcc(p004, i10, nm16, i007, 0, 0x115)
+ m000()
+ }
+ mfcc(p003, i10, nm16, i007, 0, 0x116)
+ m000()
+ }
+ mfcc(p002, i10, nm16, i007, 0, 0x117)
+ m000()
+ }
+ mfcc(p001, i10, nm16, i007, 0, 0x118)
+ m000()
+ }
+ mfcc(p000, i10, nm16, i002, 0, 0x119)
+ m000()
+ }
+ Add(i000, nm16, i000)
+ m000()
+ }
+ Add(i001, nm16, i001)
+ m000()
+ }
+ Add(i002, nm16, i002)
+ m000()
+ }
+ Add(i003, nm16, i003)
+ m000()
+ }
+ Add(i004, nm16, i004)
+ m000()
+ }
+ Add(i005, nm16, i005)
+ m000()
+ }
+ Add(i006, nm16, i006)
+ m000()
+ }
+ Add(i007, nm16, i007)
+ m000()
+ }
+
+ m004()
+
+ m000()
+ }
+
+ Method(m006)
+ {
+ m005()
+
+ Add(i007, nm16, i007)
+ Add(i006, nm16, i006)
+ Add(i005, nm16, i005)
+ Add(i004, nm16, i004)
+ Add(i003, nm16, i003)
+ Add(i002, nm16, i002)
+ Add(i001, nm16, i001)
+ Add(i000, nm16, i000)
+
+ mfcc(p000, i11, nm16, i003, 0, 0x11a)
+ mfcc(p001, i11, nm16, i003, 0, 0x11b)
+ mfcc(p002, i11, nm16, i000, 0, 0x11c)
+ mfcc(p003, i11, nm16, i000, 0, 0x11d)
+ mfcc(p004, i11, nm16, i000, 0, 0x11e)
+ mfcc(p005, i11, nm16, i000, 0, 0x11f)
+ mfcc(p006, i11, nm16, i000, 0, 0x120)
+ mfcc(p007, i11, nm16, i005, 0, 0x121)
+ }
+
+ Method(m007)
+ {
+ Name(qq00, 0)
+
+ m006()
+
+ Add(i007, nm16, i007)
+ Add(i006, nm16, i006)
+ Add(i005, nm16, i005)
+ Add(i004, nm16, i004)
+ Add(i003, nm16, i003)
+ Add(i002, nm16, i002)
+ Add(i001, nm16, i001)
+ Add(i000, nm16, i000)
+
+ if (qq00) {
+ Store("never", Debug)
+ } else {
+ mfcc(p000, i12, nm16, i004, 0, 0x122)
+ mfcc(p001, i12, nm16, i004, 0, 0x123)
+ mfcc(p002, i12, nm16, i004, 0, 0x124)
+ mfcc(p003, i12, nm16, i001, 0, 0x125)
+ mfcc(p004, i12, nm16, i001, 0, 0x126)
+ mfcc(p005, i12, nm16, i001, 0, 0x127)
+ mfcc(p006, i12, nm16, i001, 0, 0x128)
+ mfcc(p007, i12, nm16, i001, 0, 0x129)
+ }
+ }
+
+ Method(m008)
+ {
+ m007()
+
+ Add(i007, nm16, i007)
+ Add(i006, nm16, i006)
+ Add(i005, nm16, i005)
+ Add(i004, nm16, i004)
+ Add(i003, nm16, i003)
+ Add(i002, nm16, i002)
+ Add(i001, nm16, i001)
+ Add(i000, nm16, i000)
+
+ mfcc(p000, i13, nm16, i005, 0, 0x12a)
+ mfcc(p001, i13, nm16, i005, 0, 0x12b)
+ mfcc(p002, i13, nm16, i005, 0, 0x12c)
+ mfcc(p003, i13, nm16, i005, 0, 0x12d)
+ mfcc(p004, i13, nm16, i002, 0, 0x12e)
+ mfcc(p005, i13, nm16, i002, 0, 0x12f)
+ mfcc(p006, i13, nm16, i002, 0, 0x130)
+ mfcc(p007, i13, nm16, i002, 0, 0x131)
+ }
+
+ Method(m009)
+ {
+ Name(uu00, 0xeeff0000)
+ Name(ii00, 0xabcd0000)
+ Name(pp00, Package(sz) {})
+
+ m008()
+
+ Add(i007, nm16, i007)
+ Add(i006, nm16, i006)
+ Add(i005, nm16, i005)
+ Add(i004, nm16, i004)
+ Add(i003, nm16, i003)
+ Add(i002, nm16, i002)
+ Add(i001, nm16, i001)
+ Add(i000, nm16, i000)
+
+ mfc7(pp00, 0, sz, uu00)
+ mfc8(p000, pp00, 0, i8, nm16, 0, 0)
+ mfc8(pp00, p000, 0, i16, nm16, 0, 0)
+
+ mfcc(p000, i14, nm16, i006, 0, 0x132)
+ mfcc(p001, i14, nm16, i006, 0, 0x133)
+ mfcc(p002, i14, nm16, i006, 0, 0x134)
+ mfcc(p003, i14, nm16, i006, 0, 0x135)
+ mfcc(p004, i14, nm16, i006, 0, 0x136)
+ mfcc(p005, i14, nm16, i003, 0, 0x137)
+ mfcc(p006, i14, nm16, i003, 0, 0x138)
+ mfcc(p007, i14, nm16, i003, 0, 0x139)
+
+ mfcc(pp00, i8, nm16, ii00, 0, 0x13a)
+ mfcc(p000, i16, nm16, uu00, 0, 0x13b)
+ }
+
+ m009()
+}
+
+Method(mfda)
+{
+ SRMT("mfd9")
+ mfd9()
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0135/Misc1.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0135/Misc1.asl
new file mode 100644
index 000000000..25f7fa76c
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0135/Misc1.asl
@@ -0,0 +1,2604 @@
+/*
+ * 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.
+ */
+
+/*
+ * Check self-references
+ *
+ * 0xE Outstanding allocations because of
+ * AcpiExec doesn't run the unload of the table have been processed.
+ * All they are caused by call to SRMT Method.
+ *
+ * Outstanding: 0xE allocations after execution.
+ */
+
+Method(mfcb)
+{
+ Name(p000, Package(16) {})
+
+ Name(num, 8) // half-size of Package
+ Name(i000, 0xabcd0000) // value of the first element of Package
+
+ /* 1 */
+
+ Store(Index(p000, 0), Index(p000, 8))
+ Store(Index(p000, 1), Index(p000, 9))
+ Store(Index(p000, 2), Index(p000, 10))
+ Store(Index(p000, 3), Index(p000, 11))
+ Store(Index(p000, 4), Index(p000, 12))
+ Store(Index(p000, 5), Index(p000, 13))
+ Store(Index(p000, 6), Index(p000, 14))
+ Store(Index(p000, 7), Index(p000, 15))
+ mfc7(p000, 0, num, i000)
+ mfcc(p000, num, num, i000, 0, 0x003)
+
+ /* 2 */
+
+ mfcd(p000, 0, num, 0)
+ Store(Index(p000, 0), Index(p000, 8))
+ Store(Index(p000, 0), Index(p000, 9))
+ Store(Index(p000, 0), Index(p000, 10))
+ Store(Index(p000, 0), Index(p000, 11))
+ Store(Index(p000, 0), Index(p000, 12))
+ Store(Index(p000, 0), Index(p000, 13))
+ Store(Index(p000, 0), Index(p000, 14))
+ Store(Index(p000, 0), Index(p000, 15))
+ Store(0xabcd0100, i000)
+ Store(i000, Index(p000, 0))
+ mfce(p000, num, num, i000, 0, 0x004)
+
+ /* 3 */
+
+ mfcd(p000, 0, num, 0)
+ mfc7(p000, 0, num, 0xabcd0200)
+ Store(Index(p000, 0), Index(p000, 8))
+ Store(Index(p000, 1), Index(p000, 8))
+ Store(Index(p000, 2), Index(p000, 8))
+ Store(Index(p000, 3), Index(p000, 8))
+ Store(Index(p000, 4), Index(p000, 8))
+ Store(Index(p000, 5), Index(p000, 8))
+ Store(Index(p000, 6), Index(p000, 8))
+ Store(Index(p000, 7), Index(p000, 8))
+ mfce(p000, num, 1, 0xabcd0207, 0, 0x005)
+
+ /* 4 */
+
+ mfcd(p000, 0, num, 0)
+ mfc7(p000, 0, num, 0xabcd0300)
+ Store(Index(p000, 1), Index(p000, 8))
+ Store(Index(p000, 1), Index(p000, 8))
+ Store(Index(p000, 1), Index(p000, 8))
+ Store(Index(p000, 1), Index(p000, 8))
+ Store(Index(p000, 1), Index(p000, 8))
+ Store(Index(p000, 1), Index(p000, 8))
+ Store(Index(p000, 1), Index(p000, 8))
+ Store(Index(p000, 1), Index(p000, 8))
+ mfce(p000, num, 1, 0xabcd0301, 0, 0x006)
+}
+
+/*
+ * LocalX involved
+ */
+Method(mfcf)
+{
+ Name(p000, Package(16) {})
+
+ Store(Index(p000, 0), Local0)
+ Store(Local0, Index(p000, 1))
+ Store(0xabcd0000, Index(p000, 0))
+ Store(Index(p000, 1), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(DerefOf(Local1), Local0)
+
+ if (LNotEqual(Local0, 0xabcd0000)) {
+ err("", zFFF, 0x300, 0, 0, Local0, 0xabcd0000)
+ }
+}
+
+/*
+ * One-directional list of references
+ */
+Method(mfd0)
+{
+ Name(sz, 16) // full size of Package
+ Name(num, 0) // half-size of Package
+
+ Name(p000, Package(sz) {})
+ Name(p001, Package(sz) {})
+ Name(p002, Package(sz) {})
+ Name(p003, Package(sz) {})
+ Name(p004, Package(sz) {})
+ Name(p005, Package(sz) {})
+ Name(p006, Package(sz) {})
+ Name(p007, Package(sz) {})
+
+ Name(i000, 0xabcd0000)
+ Name(i001, 0xabcd0100)
+ Name(i002, 0xabcd0200)
+ Name(i003, 0xabcd0300)
+ Name(i004, 0xabcd0400)
+ Name(i005, 0xabcd0500)
+ Name(i006, 0xabcd0600)
+ Name(i007, 0xabcd0700)
+
+ Divide(sz, 2, Local0, num)
+
+ /* Initializing Packages with monotone increasing Integers */
+
+ mfc7(p000, 0, sz, i000)
+ mfc7(p001, 0, sz, i001)
+ mfc7(p002, 0, sz, i002)
+ mfc7(p003, 0, sz, i003)
+ mfc7(p004, 0, sz, i004)
+ mfc7(p005, 0, sz, i005)
+ mfc7(p006, 0, sz, i006)
+ mfc7(p007, 0, sz, i007)
+
+ /* Initializing the Package with IRefs */
+
+ mfc8(p000, p001, 0, num, num, 0, 0)
+ mfc8(p001, p002, 0, num, num, 0, 0)
+ mfc8(p002, p003, 0, num, num, 0, 0)
+ mfc8(p003, p004, 0, num, num, 0, 0)
+ mfc8(p004, p005, 0, num, num, 0, 0)
+ mfc8(p005, p006, 0, num, num, 0, 0)
+ mfc8(p006, p007, 0, num, num, 0, 0)
+
+ /* Verifying access to the first parts of Packages through the IRefs */
+
+ mfcc(p001, num, num, i000, 0, 0x008)
+ mfcc(p002, num, num, i001, 0, 0x009)
+ mfcc(p003, num, num, i002, 0, 0x00a)
+ mfcc(p004, num, num, i003, 0, 0x00b)
+ mfcc(p005, num, num, i004, 0, 0x00c)
+ mfcc(p006, num, num, i005, 0, 0x00d)
+ mfcc(p007, num, num, i006, 0, 0x00e)
+}
+
+/*
+ * 0-Ring of references
+ */
+Method(mfd1)
+{
+ Name(sz, 16) // full size of Package
+ Name(num, 0) // half-size of Package
+
+ Name(p000, Package(sz) {})
+ Name(p001, Package(sz) {})
+ Name(p002, Package(sz) {})
+ Name(p003, Package(sz) {})
+ Name(p004, Package(sz) {})
+ Name(p005, Package(sz) {})
+ Name(p006, Package(sz) {})
+ Name(p007, Package(sz) {})
+
+ Name(i000, 0xabcd0000)
+ Name(i001, 0xabcd0100)
+ Name(i002, 0xabcd0200)
+ Name(i003, 0xabcd0300)
+ Name(i004, 0xabcd0400)
+ Name(i005, 0xabcd0500)
+ Name(i006, 0xabcd0600)
+ Name(i007, 0xabcd0700)
+
+ Divide(sz, 2, Local0, num)
+
+ /* Initializing Packages with monotone increasing Integers */
+
+ mfc7(p000, 0, sz, i000)
+ mfc7(p001, 0, sz, i001)
+ mfc7(p002, 0, sz, i002)
+ mfc7(p003, 0, sz, i003)
+ mfc7(p004, 0, sz, i004)
+ mfc7(p005, 0, sz, i005)
+ mfc7(p006, 0, sz, i006)
+ mfc7(p007, 0, sz, i007)
+
+ /* Initializing the Package with IRefs */
+
+ mfc8(p000, p001, 0, num, num, 0, 0)
+ mfc8(p001, p002, 0, num, num, 0, 0)
+ mfc8(p002, p003, 0, num, num, 0, 0)
+ mfc8(p003, p004, 0, num, num, 0, 0)
+ mfc8(p004, p005, 0, num, num, 0, 0)
+ mfc8(p005, p006, 0, num, num, 0, 0)
+ mfc8(p006, p007, 0, num, num, 0, 0)
+ mfc8(p007, p000, 0, num, num, 0, 0)
+
+ /* Verifying access to the first parts of Packages through the IRefs */
+
+ mfcc(p001, num, num, i000, 0, 0x00f)
+ mfcc(p002, num, num, i001, 0, 0x010)
+ mfcc(p003, num, num, i002, 0, 0x011)
+ mfcc(p004, num, num, i003, 0, 0x012)
+ mfcc(p005, num, num, i004, 0, 0x013)
+ mfcc(p006, num, num, i005, 0, 0x014)
+ mfcc(p007, num, num, i006, 0, 0x015)
+ mfcc(p000, num, num, i007, 0, 0x016)
+}
+
+/*
+ * 9-Ring of references
+ */
+Method(mfd2)
+{
+ Name(sz, 16) // full size of Package
+ Name(num, 0) // half-size of Package
+
+ Name(p000, Package(sz) {})
+ Name(p001, Package(sz) {})
+ Name(p002, Package(sz) {})
+ Name(p003, Package(sz) {})
+ Name(p004, Package(sz) {})
+ Name(p005, Package(sz) {})
+ Name(p006, Package(sz) {})
+ Name(p007, Package(sz) {})
+
+ Name(i000, 0xabcd0000)
+ Name(i001, 0xabcd0100)
+ Name(i002, 0xabcd0200)
+ Name(i003, 0xabcd0300)
+ Name(i004, 0xabcd0400)
+ Name(i005, 0xabcd0500)
+ Name(i006, 0xabcd0600)
+ Name(i007, 0xabcd0700)
+
+ Divide(sz, 2, Local0, num)
+
+ /* Initializing Packages with monotone increasing Integers */
+
+ mfc7(p000, 0, sz, i000)
+ mfc7(p001, 0, sz, i001)
+ mfc7(p002, 0, sz, i002)
+ mfc7(p003, 0, sz, i003)
+ mfc7(p004, 0, sz, i004)
+ mfc7(p005, 0, sz, i005)
+ mfc7(p006, 0, sz, i006)
+ mfc7(p007, 0, sz, i007)
+
+ /* Initializing the Package with IRefs */
+
+ mfc8(p000, p001, 0, num, num, 0, 0)
+ mfc8(p001, p002, 0, num, num, 0, 0)
+ mfc8(p002, p003, 0, num, num, 0, 0)
+ mfc8(p003, p000, 0, num, num, 0, 0)
+
+ mfc8(p003, p004, 0, num, num, 0, 0)
+ mfc8(p004, p005, 0, num, num, 0, 0)
+ mfc8(p005, p006, 0, num, num, 0, 0)
+ mfc8(p006, p007, 0, num, num, 0, 0)
+
+ /* Verifying access to the first parts of Packages through the IRefs */
+
+ mfcc(p001, num, num, i000, 0, 0x017)
+ mfcc(p002, num, num, i001, 0, 0x018)
+ mfcc(p003, num, num, i002, 0, 0x019)
+ mfcc(p000, num, num, i003, 0, 0x01a)
+
+ mfcc(p004, num, num, i003, 0, 0x01b)
+ mfcc(p005, num, num, i004, 0, 0x01c)
+ mfcc(p006, num, num, i005, 0, 0x01d)
+ mfcc(p007, num, num, i006, 0, 0x01e)
+}
+
+/*
+ * Bush of references
+ */
+Method(mfd3)
+{
+ Name(sz, 16) // full size of Package
+ Name(num, 0) // half-size of Package
+
+ Name(p000, Package(sz) {})
+ Name(p001, Package(sz) {})
+ Name(p002, Package(sz) {})
+ Name(p003, Package(sz) {})
+ Name(p004, Package(sz) {})
+ Name(p005, Package(sz) {})
+ Name(p006, Package(sz) {})
+ Name(p007, Package(sz) {})
+ Name(p008, Package(sz) {})
+
+ Name(i000, 0xabcd0000)
+ Name(i001, 0xabcd0100)
+ Name(i002, 0xabcd0200)
+ Name(i003, 0xabcd0300)
+ Name(i004, 0xabcd0400)
+ Name(i005, 0xabcd0500)
+ Name(i006, 0xabcd0600)
+ Name(i007, 0xabcd0700)
+ Name(i008, 0xabcd0800)
+
+ Divide(sz, 2, Local0, num)
+
+ /* Initializing Packages with monotone increasing Integers */
+
+ mfc7(p000, 0, sz, i000)
+ mfc7(p001, 0, sz, i001)
+ mfc7(p002, 0, sz, i002)
+ mfc7(p003, 0, sz, i003)
+ mfc7(p004, 0, sz, i004)
+ mfc7(p005, 0, sz, i005)
+ mfc7(p006, 0, sz, i006)
+ mfc7(p007, 0, sz, i007)
+ mfc7(p008, 0, sz, i008)
+
+ /* Initializing the Package with IRefs */
+
+ mfc8(p005, p005, 0, num, num, 0, 0)
+
+ mfc8(p005, p000, 0, num, num, 0, 0)
+ mfc8(p000, p001, 0, num, num, 0, 0)
+
+ mfc8(p005, p002, 0, num, num, 0, 0)
+ mfc8(p002, p003, 0, num, num, 0, 0)
+
+ mfc8(p005, p004, 0, num, num, 0, 0)
+ mfc8(p004, p006, 0, num, num, 0, 0)
+
+ mfc8(p005, p007, 0, num, num, 0, 0)
+ mfc8(p007, p008, 0, num, num, 0, 0)
+
+ /* Do self-references repeatedly */
+
+ mfc8(p005, p005, 0, num, num, 0, 0)
+ mfc8(p005, p005, 0, num, num, 0, 0)
+ mfc8(p005, p005, 0, num, num, 0, 0)
+ mfc8(p005, p005, 0, num, num, 0, 0)
+ mfc8(p005, p005, 0, num, num, 0, 0)
+
+ /* Verifying access to the first parts of Packages through the IRefs */
+
+ mfcc(p005, num, num, i005, 0, 0x01f)
+ mfcc(p000, num, num, i005, 0, 0x020)
+ mfcc(p001, num, num, i000, 0, 0x021)
+ mfcc(p002, num, num, i005, 0, 0x022)
+ mfcc(p003, num, num, i002, 0, 0x023)
+ mfcc(p004, num, num, i005, 0, 0x024)
+ mfcc(p006, num, num, i004, 0, 0x025)
+ mfcc(p007, num, num, i005, 0, 0x026)
+ mfcc(p008, num, num, i007, 0, 0x027)
+}
+
+/*
+ * Two-directional list of references
+ */
+Method(mfd4)
+{
+ Name(sz, 16) // full size of Package
+ Name(nm2, 0) // half-size of Package
+ Name(nm4, 0) // one fourth of size of Package
+ Name(nm34, 0) // three fourth of size of Package
+
+ Name(p000, Package(sz) {})
+ Name(p001, Package(sz) {})
+ Name(p002, Package(sz) {})
+ Name(p003, Package(sz) {})
+ Name(p004, Package(sz) {})
+ Name(p005, Package(sz) {})
+ Name(p006, Package(sz) {})
+ Name(p007, Package(sz) {})
+
+ Name(i000, 0xabcd0000)
+ Name(i001, 0xabcd0100)
+ Name(i002, 0xabcd0200)
+ Name(i003, 0xabcd0300)
+ Name(i004, 0xabcd0400)
+ Name(i005, 0xabcd0500)
+ Name(i006, 0xabcd0600)
+ Name(i007, 0xabcd0700)
+
+ Divide(sz, 2, Local0, nm2)
+ Divide(sz, 4, Local0, nm4)
+ Add(nm2, nm4, nm34)
+
+ /* Initializing Packages with monotone increasing Integers */
+
+ mfc7(p000, 0, sz, i000)
+ mfc7(p001, 0, sz, i001)
+ mfc7(p002, 0, sz, i002)
+ mfc7(p003, 0, sz, i003)
+ mfc7(p004, 0, sz, i004)
+ mfc7(p005, 0, sz, i005)
+ mfc7(p006, 0, sz, i006)
+ mfc7(p007, 0, sz, i007)
+
+ /* Initializing the Package with IRefs */
+
+ mfc8(p000, p001, 0, nm2, nm4, 0, 0)
+ mfc8(p001, p002, 0, nm2, nm4, 0, 0)
+ mfc8(p002, p003, 0, nm2, nm4, 0, 0)
+ mfc8(p003, p004, 0, nm2, nm4, 0, 0)
+ mfc8(p004, p005, 0, nm2, nm4, 0, 0)
+ mfc8(p005, p006, 0, nm2, nm4, 0, 0)
+ mfc8(p006, p007, 0, nm2, nm4, 0, 0)
+
+ mfc8(p007, p006, nm4, nm34, nm4, 0, 0)
+ mfc8(p006, p005, nm4, nm34, nm4, 0, 0)
+ mfc8(p005, p004, nm4, nm34, nm4, 0, 0)
+ mfc8(p004, p003, nm4, nm34, nm4, 0, 0)
+ mfc8(p003, p002, nm4, nm34, nm4, 0, 0)
+ mfc8(p002, p001, nm4, nm34, nm4, 0, 0)
+ mfc8(p001, p000, nm4, nm34, nm4, 0, 0)
+
+ /* Verifying access to the first parts of Packages through the IRefs */
+
+ mfcc(p001, nm2, nm4, i000, 0, 0x028)
+ mfcc(p002, nm2, nm4, i001, 0, 0x029)
+ mfcc(p003, nm2, nm4, i002, 0, 0x02a)
+ mfcc(p004, nm2, nm4, i003, 0, 0x02b)
+ mfcc(p005, nm2, nm4, i004, 0, 0x02c)
+ mfcc(p006, nm2, nm4, i005, 0, 0x02d)
+ mfcc(p007, nm2, nm4, i006, 0, 0x02e)
+
+ Add(i007, nm4, i007)
+ Add(i006, nm4, i006)
+ Add(i005, nm4, i005)
+ Add(i004, nm4, i004)
+ Add(i003, nm4, i003)
+ Add(i002, nm4, i002)
+ Add(i001, nm4, i001)
+
+ mfcc(p006, nm34, nm4, i007, 0, 0x02f)
+ mfcc(p005, nm34, nm4, i006, 0, 0x030)
+ mfcc(p004, nm34, nm4, i005, 0, 0x031)
+ mfcc(p003, nm34, nm4, i004, 0, 0x032)
+ mfcc(p002, nm34, nm4, i003, 0, 0x033)
+ mfcc(p001, nm34, nm4, i002, 0, 0x034)
+ mfcc(p000, nm34, nm4, i001, 0, 0x035)
+}
+
+/*
+ * Ring of two-directional references
+ */
+Method(mfd5)
+{
+ Name(sz, 16) // full size of Package
+ Name(nm2, 0) // half-size of Package
+ Name(nm4, 0) // one fourth of size of Package
+ Name(nm34, 0) // three fourth of size of Package
+
+ Name(p000, Package(sz) {})
+ Name(p001, Package(sz) {})
+ Name(p002, Package(sz) {})
+ Name(p003, Package(sz) {})
+ Name(p004, Package(sz) {})
+ Name(p005, Package(sz) {})
+ Name(p006, Package(sz) {})
+ Name(p007, Package(sz) {})
+
+ Name(i000, 0xabcd0000)
+ Name(i001, 0xabcd0100)
+ Name(i002, 0xabcd0200)
+ Name(i003, 0xabcd0300)
+ Name(i004, 0xabcd0400)
+ Name(i005, 0xabcd0500)
+ Name(i006, 0xabcd0600)
+ Name(i007, 0xabcd0700)
+
+ Divide(sz, 2, Local0, nm2)
+ Divide(sz, 4, Local0, nm4)
+ Add(nm2, nm4, nm34)
+
+ /* Initializing Packages with monotone increasing Integers */
+
+ mfc7(p000, 0, sz, i000)
+ mfc7(p001, 0, sz, i001)
+ mfc7(p002, 0, sz, i002)
+ mfc7(p003, 0, sz, i003)
+ mfc7(p004, 0, sz, i004)
+ mfc7(p005, 0, sz, i005)
+ mfc7(p006, 0, sz, i006)
+ mfc7(p007, 0, sz, i007)
+
+ /* Initializing the Package with IRefs */
+
+ mfc8(p000, p001, 0, nm2, nm4, 0, 0)
+ mfc8(p001, p002, 0, nm2, nm4, 0, 0)
+ mfc8(p002, p003, 0, nm2, nm4, 0, 0)
+ mfc8(p003, p004, 0, nm2, nm4, 0, 0)
+ mfc8(p004, p005, 0, nm2, nm4, 0, 0)
+ mfc8(p005, p006, 0, nm2, nm4, 0, 0)
+ mfc8(p006, p007, 0, nm2, nm4, 0, 0)
+ mfc8(p007, p000, 0, nm2, nm4, 0, 0)
+
+
+ mfc8(p007, p006, nm4, nm34, nm4, 0, 0)
+ mfc8(p006, p005, nm4, nm34, nm4, 0, 0)
+ mfc8(p005, p004, nm4, nm34, nm4, 0, 0)
+ mfc8(p004, p003, nm4, nm34, nm4, 0, 0)
+ mfc8(p003, p002, nm4, nm34, nm4, 0, 0)
+ mfc8(p002, p001, nm4, nm34, nm4, 0, 0)
+ mfc8(p001, p000, nm4, nm34, nm4, 0, 0)
+ mfc8(p000, p007, nm4, nm34, nm4, 0, 0)
+
+
+ /* Verifying access to the first parts of Packages through the IRefs */
+
+ mfcc(p001, nm2, nm4, i000, 0, 0x036)
+ mfcc(p002, nm2, nm4, i001, 0, 0x037)
+ mfcc(p003, nm2, nm4, i002, 0, 0x038)
+ mfcc(p004, nm2, nm4, i003, 0, 0x039)
+ mfcc(p005, nm2, nm4, i004, 0, 0x03a)
+ mfcc(p006, nm2, nm4, i005, 0, 0x03b)
+ mfcc(p007, nm2, nm4, i006, 0, 0x03c)
+ mfcc(p000, nm2, nm4, i007, 0, 0x03d)
+
+ Add(i007, nm4, i007)
+ Add(i006, nm4, i006)
+ Add(i005, nm4, i005)
+ Add(i004, nm4, i004)
+ Add(i003, nm4, i003)
+ Add(i002, nm4, i002)
+ Add(i001, nm4, i001)
+ Add(i000, nm4, i000)
+
+ mfcc(p006, nm34, nm4, i007, 0, 0x03e)
+ mfcc(p005, nm34, nm4, i006, 0, 0x03f)
+ mfcc(p004, nm34, nm4, i005, 0, 0x040)
+ mfcc(p003, nm34, nm4, i004, 0, 0x041)
+ mfcc(p002, nm34, nm4, i003, 0, 0x042)
+ mfcc(p001, nm34, nm4, i002, 0, 0x043)
+ mfcc(p000, nm34, nm4, i001, 0, 0x044)
+ mfcc(p007, nm34, nm4, i000, 0, 0x045)
+}
+
+/*
+ * Web of references
+ */
+Method(mfd6)
+{
+ Name(sz, 32) // full size of Package
+ Name(prt, 16) // number of different parts
+ Name(nm16, 0) // 1/16 of size
+ Name(i1, 0) // 1/16 of size
+ Name(i2, 0) // 2/16 of size
+ Name(i3, 0)
+ Name(i4, 0)
+ Name(i5, 0)
+ Name(i6, 0)
+ Name(i8, 0)
+ Name(i9, 0)
+ Name(i10, 0)
+ Name(i11, 0)
+ Name(i12, 0)
+ Name(i13, 0)
+ Name(i14, 0)
+
+ Name(p000, Package(sz) {})
+ Name(p001, Package(sz) {})
+ Name(p002, Package(sz) {})
+ Name(p003, Package(sz) {})
+ Name(p004, Package(sz) {})
+ Name(p005, Package(sz) {})
+ Name(p006, Package(sz) {})
+ Name(p007, Package(sz) {})
+
+ Name(i000, 0xabcd0000)
+ Name(i001, 0xabcd0100)
+ Name(i002, 0xabcd0200)
+ Name(i003, 0xabcd0300)
+ Name(i004, 0xabcd0400)
+ Name(i005, 0xabcd0500)
+ Name(i006, 0xabcd0600)
+ Name(i007, 0xabcd0700)
+
+ Divide(sz, prt, Local0, nm16)
+
+ Store(nm16, i1)
+ Multiply(nm16, 2, i2)
+ Multiply(nm16, 3, i3)
+ Multiply(nm16, 4, i4)
+ Multiply(nm16, 5, i5)
+ Multiply(nm16, 6, i6)
+ Multiply(nm16, 8, i8)
+ Multiply(nm16, 9, i9)
+ Multiply(nm16, 10, i10)
+ Multiply(nm16, 11, i11)
+ Multiply(nm16, 12, i12)
+ Multiply(nm16, 13, i13)
+ Multiply(nm16, 14, i14)
+
+
+ /* Initializing full Packages with monotone increasing Integers */
+
+ mfc7(p000, 0, sz, i000)
+ mfc7(p001, 0, sz, i001)
+ mfc7(p002, 0, sz, i002)
+ mfc7(p003, 0, sz, i003)
+ mfc7(p004, 0, sz, i004)
+ mfc7(p005, 0, sz, i005)
+ mfc7(p006, 0, sz, i006)
+ mfc7(p007, 0, sz, i007)
+
+ /* Initializing the Package with IRefs */
+
+ /* Generate two-directional ring of references */
+
+ mfc8(p000, p001, 0, i8, nm16, 0, 0)
+ mfc8(p001, p002, 0, i8, nm16, 0, 0)
+ mfc8(p002, p003, 0, i8, nm16, 0, 0)
+ mfc8(p003, p004, 0, i8, nm16, 0, 0)
+ mfc8(p004, p005, 0, i8, nm16, 0, 0)
+ mfc8(p005, p006, 0, i8, nm16, 0, 0)
+ mfc8(p006, p007, 0, i8, nm16, 0, 0)
+ mfc8(p007, p000, 0, i8, nm16, 0, 0)
+
+ mfc8(p007, p006, i1, i9, nm16, 0, 0)
+ mfc8(p006, p005, i1, i9, nm16, 0, 0)
+ mfc8(p005, p004, i1, i9, nm16, 0, 0)
+ mfc8(p004, p003, i1, i9, nm16, 0, 0)
+ mfc8(p003, p002, i1, i9, nm16, 0, 0)
+ mfc8(p002, p001, i1, i9, nm16, 0, 0)
+ mfc8(p001, p000, i1, i9, nm16, 0, 0)
+ mfc8(p000, p007, i1, i9, nm16, 0, 0)
+
+ /*
+ * Join all other packages
+ * (two directions for each two points)
+ */
+
+ mfc8(p002, p000, i2, i10, nm16, 0, 0)
+ mfc8(p003, p000, i3, i11, nm16, 0, 0)
+ mfc8(p004, p000, i4, i12, nm16, 0, 0)
+ mfc8(p005, p000, i5, i13, nm16, 0, 0)
+ mfc8(p006, p000, i6, i14, nm16, 0, 0)
+
+ mfc8(p003, p001, i3, i11, nm16, 0, 0)
+ mfc8(p004, p001, i4, i12, nm16, 0, 0)
+ mfc8(p005, p001, i5, i13, nm16, 0, 0)
+ mfc8(p006, p001, i6, i14, nm16, 0, 0)
+ mfc8(p007, p001, i2, i10, nm16, 0, 0)
+
+ mfc8(p004, p002, i4, i12, nm16, 0, 0)
+ mfc8(p005, p002, i5, i13, nm16, 0, 0)
+ mfc8(p006, p002, i6, i14, nm16, 0, 0)
+ mfc8(p007, p002, i2, i10, nm16, 0, 0)
+ mfc8(p000, p002, i3, i11, nm16, 0, 0)
+
+ mfc8(p005, p003, i5, i13, nm16, 0, 0)
+ mfc8(p006, p003, i6, i14, nm16, 0, 0)
+ mfc8(p007, p003, i2, i10, nm16, 0, 0)
+ mfc8(p000, p003, i3, i11, nm16, 0, 0)
+ mfc8(p001, p003, i4, i12, nm16, 0, 0)
+
+ mfc8(p006, p004, i6, i14, nm16, 0, 0)
+ mfc8(p007, p004, i2, i10, nm16, 0, 0)
+ mfc8(p000, p004, i3, i11, nm16, 0, 0)
+ mfc8(p001, p004, i4, i12, nm16, 0, 0)
+ mfc8(p002, p004, i5, i13, nm16, 0, 0)
+
+ mfc8(p007, p005, i2, i10, nm16, 0, 0)
+ mfc8(p000, p005, i3, i11, nm16, 0, 0)
+ mfc8(p001, p005, i4, i12, nm16, 0, 0)
+ mfc8(p002, p005, i5, i13, nm16, 0, 0)
+ mfc8(p003, p005, i6, i14, nm16, 0, 0)
+
+ mfc8(p000, p006, i3, i11, nm16, 0, 0)
+ mfc8(p001, p006, i4, i12, nm16, 0, 0)
+ mfc8(p002, p006, i5, i13, nm16, 0, 0)
+ mfc8(p003, p006, i6, i14, nm16, 0, 0)
+ mfc8(p004, p006, i2, i10, nm16, 0, 0)
+
+ mfc8(p001, p007, i4, i12, nm16, 0, 0)
+ mfc8(p002, p007, i5, i13, nm16, 0, 0)
+ mfc8(p003, p007, i6, i14, nm16, 0, 0)
+ mfc8(p004, p007, i2, i10, nm16, 0, 0)
+ mfc8(p005, p007, i3, i11, nm16, 0, 0)
+
+
+ /* Verifying access to Packages through the IRefs */
+
+ /* Two-directional ring of references */
+
+ mfcc(p001, i8, nm16, i000, 0, 0x046)
+ mfcc(p002, i8, nm16, i001, 0, 0x047)
+ mfcc(p003, i8, nm16, i002, 0, 0x048)
+ mfcc(p004, i8, nm16, i003, 0, 0x049)
+ mfcc(p005, i8, nm16, i004, 0, 0x04a)
+ mfcc(p006, i8, nm16, i005, 0, 0x04b)
+ mfcc(p007, i8, nm16, i006, 0, 0x04c)
+ mfcc(p000, i8, nm16, i007, 0, 0x04d)
+
+ Add(i007, nm16, i007)
+ Add(i006, nm16, i006)
+ Add(i005, nm16, i005)
+ Add(i004, nm16, i004)
+ Add(i003, nm16, i003)
+ Add(i002, nm16, i002)
+ Add(i001, nm16, i001)
+ Add(i000, nm16, i000)
+
+ mfcc(p006, i9, nm16, i007, 0, 0x04e)
+ mfcc(p005, i9, nm16, i006, 0, 0x04f)
+ mfcc(p004, i9, nm16, i005, 0, 0x050)
+ mfcc(p003, i9, nm16, i004, 0, 0x051)
+ mfcc(p002, i9, nm16, i003, 0, 0x052)
+ mfcc(p001, i9, nm16, i002, 0, 0x053)
+ mfcc(p000, i9, nm16, i001, 0, 0x054)
+ mfcc(p007, i9, nm16, i000, 0, 0x055)
+
+ /* Verify other references */
+
+ Add(i007, nm16, i007)
+ Add(i006, nm16, i006)
+ Add(i005, nm16, i005)
+ Add(i004, nm16, i004)
+ Add(i003, nm16, i003)
+ Add(i002, nm16, i002)
+ Add(i001, nm16, i001)
+ Add(i000, nm16, i000)
+
+ mfcc(p000, i10, nm16, i002, 0, 0x056)
+ mfcc(p001, i10, nm16, i007, 0, 0x057)
+ mfcc(p002, i10, nm16, i007, 0, 0x058)
+ mfcc(p003, i10, nm16, i007, 0, 0x059)
+ mfcc(p004, i10, nm16, i007, 0, 0x05a)
+ mfcc(p005, i10, nm16, i007, 0, 0x05b)
+ mfcc(p006, i10, nm16, i004, 0, 0x05c)
+ mfcc(p007, i10, nm16, i004, 0, 0x05d)
+
+ Add(i007, nm16, i007)
+ Add(i006, nm16, i006)
+ Add(i005, nm16, i005)
+ Add(i004, nm16, i004)
+ Add(i003, nm16, i003)
+ Add(i002, nm16, i002)
+ Add(i001, nm16, i001)
+ Add(i000, nm16, i000)
+
+ mfcc(p000, i11, nm16, i003, 0, 0x05e)
+ mfcc(p001, i11, nm16, i003, 0, 0x05f)
+ mfcc(p002, i11, nm16, i000, 0, 0x060)
+ mfcc(p003, i11, nm16, i000, 0, 0x061)
+ mfcc(p004, i11, nm16, i000, 0, 0x062)
+ mfcc(p005, i11, nm16, i000, 0, 0x063)
+ mfcc(p006, i11, nm16, i000, 0, 0x064)
+ mfcc(p007, i11, nm16, i005, 0, 0x065)
+
+ Add(i007, nm16, i007)
+ Add(i006, nm16, i006)
+ Add(i005, nm16, i005)
+ Add(i004, nm16, i004)
+ Add(i003, nm16, i003)
+ Add(i002, nm16, i002)
+ Add(i001, nm16, i001)
+ Add(i000, nm16, i000)
+
+ mfcc(p000, i12, nm16, i004, 0, 0x066)
+ mfcc(p001, i12, nm16, i004, 0, 0x067)
+ mfcc(p002, i12, nm16, i004, 0, 0x068)
+ mfcc(p003, i12, nm16, i001, 0, 0x069)
+ mfcc(p004, i12, nm16, i001, 0, 0x06a)
+ mfcc(p005, i12, nm16, i001, 0, 0x06b)
+ mfcc(p006, i12, nm16, i001, 0, 0x06c)
+ mfcc(p007, i12, nm16, i001, 0, 0x06d)
+
+ Add(i007, nm16, i007)
+ Add(i006, nm16, i006)
+ Add(i005, nm16, i005)
+ Add(i004, nm16, i004)
+ Add(i003, nm16, i003)
+ Add(i002, nm16, i002)
+ Add(i001, nm16, i001)
+ Add(i000, nm16, i000)
+
+ mfcc(p000, i13, nm16, i005, 0, 0x06e)
+ mfcc(p001, i13, nm16, i005, 0, 0x06f)
+ mfcc(p002, i13, nm16, i005, 0, 0x070)
+ mfcc(p003, i13, nm16, i005, 0, 0x071)
+ mfcc(p004, i13, nm16, i002, 0, 0x072)
+ mfcc(p005, i13, nm16, i002, 0, 0x073)
+ mfcc(p006, i13, nm16, i002, 0, 0x074)
+ mfcc(p007, i13, nm16, i002, 0, 0x075)
+
+ Add(i007, nm16, i007)
+ Add(i006, nm16, i006)
+ Add(i005, nm16, i005)
+ Add(i004, nm16, i004)
+ Add(i003, nm16, i003)
+ Add(i002, nm16, i002)
+ Add(i001, nm16, i001)
+ Add(i000, nm16, i000)
+
+ mfcc(p000, i14, nm16, i006, 0, 0x076)
+ mfcc(p001, i14, nm16, i006, 0, 0x077)
+ mfcc(p002, i14, nm16, i006, 0, 0x078)
+ mfcc(p003, i14, nm16, i006, 0, 0x079)
+ mfcc(p004, i14, nm16, i006, 0, 0x07a)
+ mfcc(p005, i14, nm16, i003, 0, 0x07b)
+ mfcc(p006, i14, nm16, i003, 0, 0x07c)
+ mfcc(p007, i14, nm16, i003, 0, 0x07d)
+}
+
+/*
+ * Extended Web of references
+ */
+Method(mfd7, 7)
+{
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+
+ Name(sz, 32) // full size of Package
+ Name(prt, 16) // number of different parts
+ Name(nm16, 0) // 1/16 of size
+ Name(i1, 0) // 1/16 of size
+ Name(i2, 0) // 2/16 of size
+ Name(i3, 0)
+ Name(i4, 0)
+ Name(i5, 0)
+ Name(i6, 0)
+ Name(i8, 0)
+ Name(i9, 0)
+ Name(i10, 0)
+ Name(i11, 0)
+ Name(i12, 0)
+ Name(i13, 0)
+ Name(i14, 0)
+
+ Name(p000, Package(sz) {})
+ Name(p001, Package(sz) {})
+ Name(p002, Package(sz) {})
+ Name(p003, Package(sz) {})
+ Name(p004, Package(sz) {})
+ Name(p005, Package(sz) {})
+ Name(p006, Package(sz) {})
+ Name(p007, Package(sz) {})
+
+ Name(i000, 0xabcd0000)
+ Name(i001, 0xabcd0100)
+ Name(i002, 0xabcd0200)
+ Name(i003, 0xabcd0300)
+ Name(i004, 0xabcd0400)
+ Name(i005, 0xabcd0500)
+ Name(i006, 0xabcd0600)
+ Name(i007, 0xabcd0700)
+
+ Name(iii0, 0)
+ Name(iii1, 0)
+ Name(iii2, 0)
+ Name(iii3, 0)
+ Name(iii4, 0)
+ Name(iii5, 0)
+ Name(iii6, 0)
+ Name(iii7, 0)
+
+ Divide(sz, prt, Local0, nm16)
+
+ Store(nm16, i1)
+ Multiply(nm16, 2, i2)
+ Multiply(nm16, 3, i3)
+ Multiply(nm16, 4, i4)
+ Multiply(nm16, 5, i5)
+ Multiply(nm16, 6, i6)
+ Multiply(nm16, 8, i8)
+ Multiply(nm16, 9, i9)
+ Multiply(nm16, 10, i10)
+ Multiply(nm16, 11, i11)
+ Multiply(nm16, 12, i12)
+ Multiply(nm16, 13, i13)
+ Multiply(nm16, 14, i14)
+
+
+ /* Initializing full Packages with monotone increasing Integers */
+
+ mfc7(p000, 0, sz, i000)
+ mfc7(p001, 0, sz, i001)
+ mfc7(p002, 0, sz, i002)
+ mfc7(p003, 0, sz, i003)
+ mfc7(p004, 0, sz, i004)
+ mfc7(p005, 0, sz, i005)
+ mfc7(p006, 0, sz, i006)
+ mfc7(p007, 0, sz, i007)
+
+ /* Initializing the Package with IRefs */
+
+ /* Generate two-directional ring of references */
+
+ mfc8(p000, p001, 0, i8, nm16, 0, 0)
+ mfc8(p001, p002, 0, i8, nm16, 0, 0)
+ mfc8(p002, p003, 0, i8, nm16, 0, 0)
+ mfc8(p003, p004, 0, i8, nm16, 0, 0)
+ mfc8(p004, p005, 0, i8, nm16, 0, 0)
+ mfc8(p005, p006, 0, i8, nm16, 0, 0)
+ mfc8(p006, p007, 0, i8, nm16, 0, 0)
+ mfc8(p007, p000, 0, i8, nm16, 0, 0)
+
+ /* Do some initialization repeatedly so writing upon references */
+
+ Store(2, lpN0)
+ Store(0, lpC0)
+
+ While (lpN0) {
+ mfc8(p007, p006, i1, i9, nm16, 0, 0)
+ mfc8(p006, p005, i1, i9, nm16, 0, 0)
+ mfc8(p005, p004, i1, i9, nm16, 0, 0)
+ mfc8(p004, p003, i1, i9, nm16, 0, 0)
+ mfc8(p003, p002, i1, i9, nm16, 0, 0)
+ mfc8(p002, p001, i1, i9, nm16, 0, 0)
+ mfc8(p001, p000, i1, i9, nm16, 0, 0)
+ mfc8(p000, p007, i1, i9, nm16, 0, 0)
+
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+
+ /* Store references additionally to LocalX */
+
+ Store(Index(p000, 0), Local0)
+ Store(Index(p000, 0), Local1)
+ Store(Index(p000, 0), Local2)
+ Store(Index(p000, 0), Local3)
+ Store(Index(p000, 0), Local4)
+ Store(Index(p000, 0), Local5)
+ Store(Index(p000, 0), Local6)
+ Store(Index(p000, 0), Local7)
+
+ /* Re-write */
+
+ Store(Index(p000, 0), Local0)
+ Store(Index(p000, 0), Local1)
+ Store(Index(p000, 0), Local2)
+ Store(Index(p000, 0), Local3)
+ Store(Index(p001, 0), Local4)
+ Store(Index(p002, 0), Local5)
+ Store(Index(p003, 0), Local6)
+ Store(Index(p004, 0), Local7)
+
+ /* Store references additionally to ArgX */
+
+ Store(Index(p000, 0), arg0)
+ Store(Index(p000, 0), arg1)
+ Store(Index(p000, 0), arg2)
+ Store(Index(p000, 0), arg3)
+ Store(Index(p000, 0), arg4)
+ Store(Index(p000, 0), arg5)
+ Store(Index(p000, 0), arg6)
+
+ /* Re-write */
+
+ Store(Index(p000, 0), arg0)
+ Store(Index(p000, 0), arg1)
+ Store(Index(p000, 0), arg2)
+ Store(Index(p000, 0), arg3)
+ Store(Index(p001, 0), arg4)
+ Store(Index(p002, 0), arg5)
+ Store(Index(p003, 0), arg6)
+
+ /* Store references additionally to NamedX */
+
+ CopyObject(Index(p000, 0), iii0)
+ CopyObject(Index(p000, 0), iii1)
+ CopyObject(Index(p000, 0), iii2)
+ CopyObject(Index(p000, 0), iii3)
+ CopyObject(Index(p000, 0), iii4)
+ CopyObject(Index(p000, 0), iii5)
+ CopyObject(Index(p000, 0), iii6)
+ CopyObject(Index(p000, 0), iii7)
+
+ /* Re-write */
+
+ CopyObject(Index(p000, 0), iii0)
+ CopyObject(Index(p000, 0), iii1)
+ CopyObject(Index(p000, 0), iii2)
+ CopyObject(Index(p000, 0), iii3)
+ CopyObject(Index(p001, 0), iii4)
+ CopyObject(Index(p002, 0), iii5)
+ CopyObject(Index(p003, 0), iii6)
+ CopyObject(Index(p004, 0), iii7)
+
+ /*
+ * Join all other packages
+ * (two directions for each two points)
+ */
+
+ mfc8(p002, p000, i2, i10, nm16, 0, 0)
+ mfc8(p003, p000, i3, i11, nm16, 0, 0)
+ mfc8(p004, p000, i4, i12, nm16, 0, 0)
+ mfc8(p005, p000, i5, i13, nm16, 0, 0)
+ mfc8(p006, p000, i6, i14, nm16, 0, 0)
+
+ mfc8(p003, p001, i3, i11, nm16, 0, 0)
+ mfc8(p004, p001, i4, i12, nm16, 0, 0)
+ mfc8(p005, p001, i5, i13, nm16, 0, 0)
+ mfc8(p006, p001, i6, i14, nm16, 0, 0)
+ mfc8(p007, p001, i2, i10, nm16, 0, 0)
+
+ /* Do some initialization repeatedly so writing upon references */
+
+ Store(2, lpN0)
+ Store(0, lpC0)
+
+ While (lpN0) {
+
+ mfc8(p004, p002, i4, i12, nm16, 0, 0)
+ mfc8(p005, p002, i5, i13, nm16, 0, 0)
+ mfc8(p006, p002, i6, i14, nm16, 0, 0)
+ mfc8(p007, p002, i2, i10, nm16, 0, 0)
+ mfc8(p000, p002, i3, i11, nm16, 0, 0)
+
+ mfc8(p005, p003, i5, i13, nm16, 0, 0)
+ mfc8(p006, p003, i6, i14, nm16, 0, 0)
+ mfc8(p007, p003, i2, i10, nm16, 0, 0)
+ mfc8(p000, p003, i3, i11, nm16, 0, 0)
+ mfc8(p001, p003, i4, i12, nm16, 0, 0)
+
+ mfc8(p006, p004, i6, i14, nm16, 0, 0)
+ mfc8(p007, p004, i2, i10, nm16, 0, 0)
+ mfc8(p000, p004, i3, i11, nm16, 0, 0)
+ mfc8(p001, p004, i4, i12, nm16, 0, 0)
+ mfc8(p002, p004, i5, i13, nm16, 0, 0)
+
+ mfc8(p007, p005, i2, i10, nm16, 0, 0)
+ mfc8(p000, p005, i3, i11, nm16, 0, 0)
+ mfc8(p001, p005, i4, i12, nm16, 0, 0)
+ mfc8(p002, p005, i5, i13, nm16, 0, 0)
+ mfc8(p003, p005, i6, i14, nm16, 0, 0)
+
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+
+ mfc8(p000, p006, i3, i11, nm16, 0, 0)
+ mfc8(p001, p006, i4, i12, nm16, 0, 0)
+ mfc8(p002, p006, i5, i13, nm16, 0, 0)
+ mfc8(p003, p006, i6, i14, nm16, 0, 0)
+ mfc8(p004, p006, i2, i10, nm16, 0, 0)
+
+ mfc8(p001, p007, i4, i12, nm16, 0, 0)
+ mfc8(p002, p007, i5, i13, nm16, 0, 0)
+ mfc8(p003, p007, i6, i14, nm16, 0, 0)
+ mfc8(p004, p007, i2, i10, nm16, 0, 0)
+ mfc8(p005, p007, i3, i11, nm16, 0, 0)
+
+
+ /* Verifying access to Packages through the IRefs */
+
+ /* Two-directional ring of references */
+
+ mfcc(p001, i8, nm16, i000, 0, 0x07e)
+ mfcc(p002, i8, nm16, i001, 0, 0x07f)
+ mfcc(p003, i8, nm16, i002, 0, 0x080)
+ mfcc(p004, i8, nm16, i003, 0, 0x081)
+ mfcc(p005, i8, nm16, i004, 0, 0x082)
+ mfcc(p006, i8, nm16, i005, 0, 0x083)
+ mfcc(p007, i8, nm16, i006, 0, 0x084)
+ mfcc(p000, i8, nm16, i007, 0, 0x085)
+
+ Add(i007, nm16, i007)
+ Add(i006, nm16, i006)
+ Add(i005, nm16, i005)
+ Add(i004, nm16, i004)
+ Add(i003, nm16, i003)
+ Add(i002, nm16, i002)
+ Add(i001, nm16, i001)
+ Add(i000, nm16, i000)
+
+ mfcc(p006, i9, nm16, i007, 0, 0x086)
+ mfcc(p005, i9, nm16, i006, 0, 0x087)
+ mfcc(p004, i9, nm16, i005, 0, 0x088)
+ mfcc(p003, i9, nm16, i004, 0, 0x089)
+ mfcc(p002, i9, nm16, i003, 0, 0x08a)
+ mfcc(p001, i9, nm16, i002, 0, 0x08b)
+ mfcc(p000, i9, nm16, i001, 0, 0x08c)
+ mfcc(p007, i9, nm16, i000, 0, 0x08d)
+
+ /* Verify other references */
+
+ Add(i007, nm16, i007)
+ Add(i006, nm16, i006)
+ Add(i005, nm16, i005)
+ Add(i004, nm16, i004)
+ Add(i003, nm16, i003)
+ Add(i002, nm16, i002)
+ Add(i001, nm16, i001)
+ Add(i000, nm16, i000)
+
+ mfcc(p000, i10, nm16, i002, 0, 0x08e)
+ mfcc(p001, i10, nm16, i007, 0, 0x08f)
+ mfcc(p002, i10, nm16, i007, 0, 0x090)
+ mfcc(p003, i10, nm16, i007, 0, 0x091)
+ mfcc(p004, i10, nm16, i007, 0, 0x092)
+ mfcc(p005, i10, nm16, i007, 0, 0x093)
+ mfcc(p006, i10, nm16, i004, 0, 0x094)
+ mfcc(p007, i10, nm16, i004, 0, 0x095)
+
+ Add(i007, nm16, i007)
+ Add(i006, nm16, i006)
+ Add(i005, nm16, i005)
+ Add(i004, nm16, i004)
+ Add(i003, nm16, i003)
+ Add(i002, nm16, i002)
+ Add(i001, nm16, i001)
+ Add(i000, nm16, i000)
+
+ mfcc(p000, i11, nm16, i003, 0, 0x096)
+ mfcc(p001, i11, nm16, i003, 0, 0x097)
+ mfcc(p002, i11, nm16, i000, 0, 0x098)
+ mfcc(p003, i11, nm16, i000, 0, 0x099)
+ mfcc(p004, i11, nm16, i000, 0, 0x09a)
+ mfcc(p005, i11, nm16, i000, 0, 0x09b)
+ mfcc(p006, i11, nm16, i000, 0, 0x09c)
+ mfcc(p007, i11, nm16, i005, 0, 0x09d)
+
+ Add(i007, nm16, i007)
+ Add(i006, nm16, i006)
+ Add(i005, nm16, i005)
+ Add(i004, nm16, i004)
+ Add(i003, nm16, i003)
+ Add(i002, nm16, i002)
+ Add(i001, nm16, i001)
+ Add(i000, nm16, i000)
+
+ mfcc(p000, i12, nm16, i004, 0, 0x09e)
+ mfcc(p001, i12, nm16, i004, 0, 0x09f)
+ mfcc(p002, i12, nm16, i004, 0, 0x0a0)
+ mfcc(p003, i12, nm16, i001, 0, 0x0a1)
+ mfcc(p004, i12, nm16, i001, 0, 0x0a2)
+ mfcc(p005, i12, nm16, i001, 0, 0x0a3)
+ mfcc(p006, i12, nm16, i001, 0, 0x0a4)
+ mfcc(p007, i12, nm16, i001, 0, 0x0a5)
+
+ Add(i007, nm16, i007)
+ Add(i006, nm16, i006)
+ Add(i005, nm16, i005)
+ Add(i004, nm16, i004)
+ Add(i003, nm16, i003)
+ Add(i002, nm16, i002)
+ Add(i001, nm16, i001)
+ Add(i000, nm16, i000)
+
+ mfcc(p000, i13, nm16, i005, 0, 0x0a6)
+ mfcc(p001, i13, nm16, i005, 0, 0x0a7)
+ mfcc(p002, i13, nm16, i005, 0, 0x0a8)
+ mfcc(p003, i13, nm16, i005, 0, 0x0a9)
+ mfcc(p004, i13, nm16, i002, 0, 0x0aa)
+ mfcc(p005, i13, nm16, i002, 0, 0x0ab)
+ mfcc(p006, i13, nm16, i002, 0, 0x0ac)
+ mfcc(p007, i13, nm16, i002, 0, 0x0ad)
+
+ Add(i007, nm16, i007)
+ Add(i006, nm16, i006)
+ Add(i005, nm16, i005)
+ Add(i004, nm16, i004)
+ Add(i003, nm16, i003)
+ Add(i002, nm16, i002)
+ Add(i001, nm16, i001)
+ Add(i000, nm16, i000)
+
+ mfcc(p000, i14, nm16, i006, 0, 0x0ae)
+ mfcc(p001, i14, nm16, i006, 0, 0x0af)
+ mfcc(p002, i14, nm16, i006, 0, 0x0b0)
+ mfcc(p003, i14, nm16, i006, 0, 0x0b1)
+ mfcc(p004, i14, nm16, i006, 0, 0x0b2)
+ mfcc(p005, i14, nm16, i003, 0, 0x0b3)
+ mfcc(p006, i14, nm16, i003, 0, 0x0b4)
+ mfcc(p007, i14, nm16, i003, 0, 0x0b5)
+
+ mfd8(Local0, 0xabcd0000, 0x0b6)
+ mfd8(Local1, 0xabcd0000, 0x0b7)
+ mfd8(Local2, 0xabcd0000, 0x0b8)
+ mfd8(Local3, 0xabcd0000, 0x0b9)
+ mfd8(Local4, 0xabcd0100, 0x0ba)
+ mfd8(Local5, 0xabcd0200, 0x0bb)
+ mfd8(Local6, 0xabcd0300, 0x0bc)
+ mfd8(Local7, 0xabcd0400, 0x0bd)
+
+ mfd8(arg0, 0xabcd0000, 0x0be)
+ mfd8(arg1, 0xabcd0000, 0x0bf)
+ mfd8(arg2, 0xabcd0000, 0x0c0)
+ mfd8(arg3, 0xabcd0000, 0x0c1)
+ mfd8(arg4, 0xabcd0100, 0x0c2)
+ mfd8(arg5, 0xabcd0200, 0x0c3)
+ mfd8(arg6, 0xabcd0300, 0x0c4)
+
+ if (y127) {
+ mfd8(iii0, 0xabcd0000, 0x0c5)
+ mfd8(iii1, 0xabcd0000, 0x0c6)
+ mfd8(iii2, 0xabcd0000, 0x0c7)
+ mfd8(iii3, 0xabcd0000, 0x0c8)
+ mfd8(iii4, 0xabcd0100, 0x0c9)
+ mfd8(iii5, 0xabcd0200, 0x0ca)
+ mfd8(iii6, 0xabcd0300, 0x0cb)
+ mfd8(iii7, 0xabcd0400, 0x0cc)
+ }
+}
+
+Method(mfe9)
+{
+ Name(p000, Package(101) {0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f})
+ Name(p002, Package(102) {0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27})
+
+ Method(m000)
+ {
+ Name(p001, Package(100) {0,1})
+ Store(Index(p000, 0), Index(p001, 0))
+ Store(Index(p002, 0), Index(p001, 8))
+ Store(Index(p001, 0), Index(p000, 0))
+ Store(Index(p002, 0), Index(p000, 8))
+
+ Store(Index(p000, 16), Index(p000, 16))
+ Store(Index(p000, 16), Index(p000, 17))
+ Store(Index(p000, 18), Index(p000, 19))
+ Store(Index(p001, 16), Index(p001, 16))
+ Store(Index(p001, 16), Index(p001, 17))
+ Store(Index(p001, 18), Index(p001, 19))
+ Store(Index(p002, 16), Index(p002, 16))
+ Store(Index(p002, 16), Index(p002, 17))
+ Store(Index(p002, 18), Index(p002, 19))
+ }
+
+ Method(m001)
+ {
+ Name(p001, Package(100) {0,1})
+ Store(Index(p000, 1), Index(p001, 1))
+ Store(Index(p002, 1), Index(p001, 9))
+ Store(Index(p001, 1), Index(p000, 1))
+ Store(Index(p002, 1), Index(p000, 9))
+
+ Store(Index(p000, 20), Index(p000, 20))
+ Store(Index(p000, 20), Index(p000, 21))
+ Store(Index(p000, 22), Index(p000, 23))
+ Store(Index(p001, 20), Index(p001, 20))
+ Store(Index(p001, 20), Index(p001, 21))
+ Store(Index(p001, 22), Index(p001, 23))
+ Store(Index(p002, 20), Index(p002, 20))
+ Store(Index(p002, 20), Index(p002, 21))
+ Store(Index(p002, 22), Index(p002, 23))
+
+ m000()
+ }
+
+ Method(m002)
+ {
+ Name(p001, Package(100) {0,1})
+ Store(Index(p000, 2), Index(p001, 2))
+ Store(Index(p002, 2), Index(p001, 10))
+ Store(Index(p001, 2), Index(p000, 2))
+ Store(Index(p002, 2), Index(p000, 10))
+
+ Store(Index(p000, 30), Index(p000, 30))
+ Store(Index(p000, 30), Index(p000, 31))
+ Store(Index(p000, 32), Index(p000, 33))
+ Store(Index(p001, 30), Index(p001, 30))
+ Store(Index(p001, 30), Index(p001, 31))
+ Store(Index(p001, 32), Index(p001, 33))
+ Store(Index(p002, 30), Index(p002, 30))
+ Store(Index(p002, 30), Index(p002, 31))
+ Store(Index(p002, 32), Index(p002, 33))
+
+ m001()
+ }
+
+ Method(m003)
+ {
+ Name(p001, Package(100) {0,1})
+ Store(Index(p000, 3), Index(p001, 3))
+ Store(Index(p002, 3), Index(p001, 11))
+ Store(Index(p001, 3), Index(p000, 3))
+ Store(Index(p002, 3), Index(p000, 11))
+
+ Store(Index(p000, 40), Index(p000, 40))
+ Store(Index(p000, 40), Index(p000, 41))
+ Store(Index(p000, 42), Index(p000, 43))
+ Store(Index(p001, 40), Index(p001, 40))
+ Store(Index(p001, 40), Index(p001, 41))
+ Store(Index(p001, 42), Index(p001, 43))
+ Store(Index(p002, 40), Index(p002, 40))
+ Store(Index(p002, 40), Index(p002, 41))
+ Store(Index(p002, 42), Index(p002, 43))
+
+ m002()
+ }
+
+ Method(m004)
+ {
+ Name(p001, Package(100) {0,1})
+ Store(Index(p000, 4), Index(p001, 4))
+ Store(Index(p002, 4), Index(p001, 12))
+ Store(Index(p001, 4), Index(p000, 4))
+ Store(Index(p002, 4), Index(p000, 12))
+
+ Store(Index(p000, 50), Index(p000, 50))
+ Store(Index(p000, 50), Index(p000, 51))
+ Store(Index(p000, 52), Index(p000, 53))
+ Store(Index(p001, 50), Index(p001, 50))
+ Store(Index(p001, 50), Index(p001, 51))
+ Store(Index(p001, 52), Index(p001, 53))
+ Store(Index(p002, 50), Index(p002, 50))
+ Store(Index(p002, 50), Index(p002, 51))
+ Store(Index(p002, 52), Index(p002, 53))
+
+ m003()
+ }
+
+ Method(m005)
+ {
+ Name(p001, Package(100) {0,1})
+ Store(Index(p000, 5), Index(p001, 5))
+ Store(Index(p002, 5), Index(p001, 13))
+ Store(Index(p001, 5), Index(p000, 5))
+ Store(Index(p002, 5), Index(p000, 13))
+
+ Store(Index(p000, 60), Index(p000, 60))
+ Store(Index(p000, 60), Index(p000, 61))
+ Store(Index(p000, 62), Index(p000, 63))
+ Store(Index(p001, 60), Index(p001, 60))
+ Store(Index(p001, 60), Index(p001, 61))
+ Store(Index(p001, 62), Index(p001, 63))
+ Store(Index(p002, 60), Index(p002, 60))
+ Store(Index(p002, 60), Index(p002, 61))
+ Store(Index(p002, 62), Index(p002, 63))
+
+ m004()
+ }
+
+ Method(m006)
+ {
+ Name(p001, Package(100) {0,1})
+ Store(Index(p000, 6), Index(p001, 6))
+ Store(Index(p002, 6), Index(p001, 14))
+ Store(Index(p001, 6), Index(p000, 6))
+ Store(Index(p002, 6), Index(p000, 14))
+
+ Store(Index(p000, 70), Index(p000, 70))
+ Store(Index(p000, 70), Index(p000, 71))
+ Store(Index(p000, 72), Index(p000, 73))
+ Store(Index(p001, 70), Index(p001, 70))
+ Store(Index(p001, 70), Index(p001, 71))
+ Store(Index(p001, 72), Index(p001, 73))
+ Store(Index(p002, 70), Index(p002, 70))
+ Store(Index(p002, 70), Index(p002, 71))
+ Store(Index(p002, 72), Index(p002, 73))
+
+ m005()
+ }
+
+ Method(m007)
+ {
+ Name(p001, Package(100) {0,1})
+ Store(Index(p000, 7), Index(p001, 7))
+ Store(Index(p002, 7), Index(p001, 15))
+ Store(Index(p001, 7), Index(p000, 7))
+ Store(Index(p002, 7), Index(p000, 15))
+
+ Store(Index(p000, 80), Index(p000, 80))
+ Store(Index(p000, 80), Index(p000, 81))
+ Store(Index(p000, 82), Index(p000, 83))
+ Store(Index(p001, 80), Index(p001, 80))
+ Store(Index(p001, 80), Index(p001, 81))
+ Store(Index(p001, 82), Index(p001, 83))
+ Store(Index(p002, 80), Index(p002, 80))
+ Store(Index(p002, 80), Index(p002, 81))
+ Store(Index(p002, 82), Index(p002, 83))
+
+ m006()
+ }
+
+ m007()
+ m007()
+}
+
+Method(mfea)
+{
+ Name(p000, Package(101) {0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f})
+ Name(p002, Package(102) {0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27})
+
+ Method(m000, 1)
+ {
+ Name(p001, Package(100) {0,1})
+ Store(Index(arg0, 0), Index(p001, 0))
+ Store(Index(p002, 0), Index(p001, 8))
+ Store(Index(p001, 0), Index(arg0, 0))
+ Store(Index(p002, 0), Index(arg0, 8))
+
+ Store(Index(arg0, 16), Index(arg0, 16))
+ Store(Index(arg0, 16), Index(arg0, 17))
+ Store(Index(arg0, 18), Index(arg0, 19))
+ Store(Index(p001, 16), Index(p001, 16))
+ Store(Index(p001, 16), Index(p001, 17))
+ Store(Index(p001, 18), Index(p001, 19))
+ Store(Index(p002, 16), Index(p002, 16))
+ Store(Index(p002, 16), Index(p002, 17))
+ Store(Index(p002, 18), Index(p002, 19))
+ }
+
+ Method(m001, 1)
+ {
+ Name(p001, Package(100) {0,1})
+ Store(Index(arg0, 1), Index(p001, 1))
+ Store(Index(p002, 1), Index(p001, 9))
+ Store(Index(p001, 1), Index(arg0, 1))
+ Store(Index(p002, 1), Index(arg0, 9))
+
+ Store(Index(arg0, 20), Index(arg0, 20))
+ Store(Index(arg0, 20), Index(arg0, 21))
+ Store(Index(arg0, 22), Index(arg0, 23))
+ Store(Index(p001, 20), Index(p001, 20))
+ Store(Index(p001, 20), Index(p001, 21))
+ Store(Index(p001, 22), Index(p001, 23))
+ Store(Index(p002, 20), Index(p002, 20))
+ Store(Index(p002, 20), Index(p002, 21))
+ Store(Index(p002, 22), Index(p002, 23))
+
+ m000(arg0)
+ }
+
+ Method(m002, 1)
+ {
+ Name(p001, Package(100) {0,1})
+ Store(Index(arg0, 2), Index(p001, 2))
+ Store(Index(p002, 2), Index(p001, 10))
+ Store(Index(p001, 2), Index(arg0, 2))
+ Store(Index(p002, 2), Index(arg0, 10))
+
+ Store(Index(arg0, 30), Index(arg0, 30))
+ Store(Index(arg0, 30), Index(arg0, 31))
+ Store(Index(arg0, 32), Index(arg0, 33))
+ Store(Index(p001, 30), Index(p001, 30))
+ Store(Index(p001, 30), Index(p001, 31))
+ Store(Index(p001, 32), Index(p001, 33))
+ Store(Index(p002, 30), Index(p002, 30))
+ Store(Index(p002, 30), Index(p002, 31))
+ Store(Index(p002, 32), Index(p002, 33))
+
+ m001(arg0)
+ }
+
+ Method(m003, 1)
+ {
+ Name(p001, Package(100) {0,1})
+ Store(Index(arg0, 3), Index(p001, 3))
+ Store(Index(p002, 3), Index(p001, 11))
+ Store(Index(p001, 3), Index(arg0, 3))
+ Store(Index(p002, 3), Index(arg0, 11))
+
+ Store(Index(arg0, 40), Index(arg0, 40))
+ Store(Index(arg0, 40), Index(arg0, 41))
+ Store(Index(arg0, 42), Index(arg0, 43))
+ Store(Index(p001, 40), Index(p001, 40))
+ Store(Index(p001, 40), Index(p001, 41))
+ Store(Index(p001, 42), Index(p001, 43))
+ Store(Index(p002, 40), Index(p002, 40))
+ Store(Index(p002, 40), Index(p002, 41))
+ Store(Index(p002, 42), Index(p002, 43))
+
+ m002(arg0)
+ }
+
+ Method(m004, 1)
+ {
+ Name(p001, Package(100) {0,1})
+ Store(Index(arg0, 4), Index(p001, 4))
+ Store(Index(p002, 4), Index(p001, 12))
+ Store(Index(p001, 4), Index(arg0, 4))
+ Store(Index(p002, 4), Index(arg0, 12))
+
+ Store(Index(arg0, 50), Index(arg0, 50))
+ Store(Index(arg0, 50), Index(arg0, 51))
+ Store(Index(arg0, 52), Index(arg0, 53))
+ Store(Index(p001, 50), Index(p001, 50))
+ Store(Index(p001, 50), Index(p001, 51))
+ Store(Index(p001, 52), Index(p001, 53))
+ Store(Index(p002, 50), Index(p002, 50))
+ Store(Index(p002, 50), Index(p002, 51))
+ Store(Index(p002, 52), Index(p002, 53))
+
+ m003(arg0)
+ }
+
+ Method(m005, 1)
+ {
+ Name(p001, Package(100) {0,1})
+ Store(Index(arg0, 5), Index(p001, 5))
+ Store(Index(p002, 5), Index(p001, 13))
+ Store(Index(p001, 5), Index(arg0, 5))
+ Store(Index(p002, 5), Index(arg0, 13))
+
+ Store(Index(arg0, 60), Index(arg0, 60))
+ Store(Index(arg0, 60), Index(arg0, 61))
+ Store(Index(arg0, 62), Index(arg0, 63))
+ Store(Index(p001, 60), Index(p001, 60))
+ Store(Index(p001, 60), Index(p001, 61))
+ Store(Index(p001, 62), Index(p001, 63))
+ Store(Index(p002, 60), Index(p002, 60))
+ Store(Index(p002, 60), Index(p002, 61))
+ Store(Index(p002, 62), Index(p002, 63))
+
+ m004(arg0)
+ }
+
+ Method(m006, 1)
+ {
+ Name(p001, Package(100) {0,1})
+ Store(Index(arg0, 6), Index(p001, 6))
+ Store(Index(p002, 6), Index(p001, 14))
+ Store(Index(p001, 6), Index(arg0, 6))
+ Store(Index(p002, 6), Index(arg0, 14))
+
+ Store(Index(arg0, 70), Index(arg0, 70))
+ Store(Index(arg0, 70), Index(arg0, 71))
+ Store(Index(arg0, 72), Index(arg0, 73))
+ Store(Index(p001, 70), Index(p001, 70))
+ Store(Index(p001, 70), Index(p001, 71))
+ Store(Index(p001, 72), Index(p001, 73))
+ Store(Index(p002, 70), Index(p002, 70))
+ Store(Index(p002, 70), Index(p002, 71))
+ Store(Index(p002, 72), Index(p002, 73))
+
+ m005(arg0)
+ }
+
+ Method(m007, 1)
+ {
+ Name(p001, Package(100) {0,1})
+ Store(Index(arg0, 7), Index(p001, 7))
+ Store(Index(p002, 7), Index(p001, 15))
+ Store(Index(p001, 7), Index(arg0, 7))
+ Store(Index(p002, 7), Index(arg0, 15))
+
+ Store(Index(arg0, 80), Index(arg0, 80))
+ Store(Index(arg0, 80), Index(arg0, 81))
+ Store(Index(arg0, 82), Index(arg0, 83))
+ Store(Index(p001, 80), Index(p001, 80))
+ Store(Index(p001, 80), Index(p001, 81))
+ Store(Index(p001, 82), Index(p001, 83))
+ Store(Index(p002, 80), Index(p002, 80))
+ Store(Index(p002, 80), Index(p002, 81))
+ Store(Index(p002, 82), Index(p002, 83))
+
+ m006(arg0)
+ }
+
+ m007(p000)
+ m007(p000)
+}
+
+Method(mfeb)
+{
+ Name(cmd0, 0)
+
+ Name(p000, Package(30) {0,1,2,3,4,5,6,7,8,9})
+ Name(p001, Package(31) {0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79})
+ Name(p002, Package(32) {0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89})
+ Name(p003, Package(33) {0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,0x98,0x99})
+ Name(p004, Package(34) {0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9})
+ Name(p005, Package(35) {0xb0,0xb1,0xb2,0xb3,0xb4,0xb5,0xb6,0xb7,0xb8,0xb9})
+ Name(p006, Package(36) {0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9})
+ Name(p007, Package(37) {0xd0,0xd1,0xd2,0xd3,0xd4,0xd5,0xd6,0xd7,0xd8,0xd9})
+
+ Method(m000, 7)
+ {
+ Name(pp00, Package(64) {0xd0,0xd1,0xd2,0xd3,0xd4,0xd5,0xd6,0xd7})
+ Name(pp01, Package(64) {0xd0,0xd1,0xd2,0xd3,0xd4,0xd5,0xd6,0xd7})
+
+
+ Store(Index(arg0, 0), Index(pp01, 8))
+ Store(Index(arg1, 1), Index(pp01, 9))
+ Store(Index(arg2, 2), Index(pp01, 10))
+ Store(Index(arg3, 3), Index(pp01, 11))
+ Store(Index(arg4, 4), Index(pp01, 12))
+ Store(Index(arg5, 5), Index(pp01, 13))
+ Store(Index(arg6, 6), Index(pp01, 14))
+ Store(Index(pp00, 0), Index(pp01, 15))
+ Store(Index(pp01, 0), Index(pp01, 16))
+ Store(Index(pp01, 9), Index(pp01, 17))
+ Store(Index(p000, 0), Index(pp01, 18))
+ Store(Index(p001, 0), Index(pp01, 19))
+ Store(Index(p002, 0), Index(pp01, 20))
+ Store(Index(p003, 0), Index(pp01, 21))
+ Store(Index(p004, 0), Index(pp01, 22))
+ Store(Index(p005, 0), Index(pp01, 23))
+ Store(Index(p006, 0), Index(pp01, 24))
+
+ Store(Index(arg0, 0), Index(pp00, 8))
+ Store(Index(arg0, 1), Index(pp00, 9))
+ Store(Index(arg0, 2), Index(pp00, 10))
+ Store(Index(arg0, 3), Index(pp00, 11))
+ Store(Index(arg0, 4), Index(pp00, 12))
+ Store(Index(arg0, 5), Index(pp00, 13))
+ Store(Index(arg0, 6), Index(pp00, 14))
+ Store(Index(pp00, 0), Index(pp00, 15))
+ Store(Index(pp01, 0), Index(pp00, 16))
+ Store(Index(pp01, 9), Index(pp00, 17))
+ Store(Index(p000, 0), Index(pp00, 18))
+ Store(Index(p001, 0), Index(pp00, 19))
+ Store(Index(p002, 0), Index(pp00, 20))
+ Store(Index(p003, 0), Index(pp00, 21))
+ Store(Index(p004, 0), Index(pp00, 22))
+ Store(Index(p005, 0), Index(pp00, 23))
+ Store(Index(p006, 0), Index(pp00, 24))
+
+ Store(Index(arg0, 0), Index(p000, 8))
+ Store(Index(arg1, 1), Index(p000, 9))
+ Store(Index(arg2, 2), Index(p000, 10))
+ Store(Index(arg3, 3), Index(p000, 11))
+ Store(Index(arg4, 4), Index(p000, 12))
+ Store(Index(arg5, 5), Index(p000, 13))
+ Store(Index(arg6, 6), Index(p000, 14))
+ Store(Index(pp00, 0), Index(p000, 15))
+ Store(Index(pp01, 0), Index(p000, 16))
+ Store(Index(pp01, 9), Index(p000, 17))
+ Store(Index(p000, 0), Index(p000, 18))
+ Store(Index(p001, 0), Index(p000, 19))
+ Store(Index(p002, 0), Index(p000, 20))
+ Store(Index(p003, 0), Index(p000, 21))
+ Store(Index(p004, 0), Index(p000, 22))
+ Store(Index(p005, 0), Index(p000, 23))
+ Store(Index(p006, 0), Index(p000, 24))
+
+ Store(Index(arg0, 0), Index(p001, 8))
+ Store(Index(arg0, 1), Index(p001, 9))
+ Store(Index(arg0, 2), Index(p001, 10))
+ Store(Index(arg0, 3), Index(p001, 11))
+ Store(Index(arg0, 4), Index(p001, 12))
+ Store(Index(arg0, 5), Index(p001, 13))
+ Store(Index(arg0, 6), Index(p001, 14))
+ Store(Index(pp00, 0), Index(p001, 15))
+ Store(Index(pp01, 0), Index(p001, 16))
+ Store(Index(pp01, 9), Index(p001, 17))
+ Store(Index(p000, 0), Index(p001, 18))
+ Store(Index(p001, 0), Index(p001, 19))
+ Store(Index(p002, 0), Index(p001, 20))
+ Store(Index(p003, 0), Index(p001, 21))
+ Store(Index(p004, 0), Index(p001, 22))
+ Store(Index(p005, 0), Index(p001, 23))
+ Store(Index(p006, 0), Index(p001, 24))
+
+ Store(DerefOf(Index(arg0, 3)), Local0)
+ if (LNotEqual(Local0, 3)) {
+ err("", zFFF, 0x301, 0, 0, Local0, 3)
+ }
+
+ Store(DerefOf(Index(arg1, 3)), Local0)
+ if (LNotEqual(Local0, 0x13)) {
+ err("", zFFF, 0x302, 0, 0, Local0, 0x13)
+ }
+
+ Store(DerefOf(Index(arg2, 3)), Local0)
+ if (LNotEqual(Local0, 0x23)) {
+ err("", zFFF, 0x303, 0, 0, Local0, 0x23)
+ }
+
+ Store(DerefOf(Index(arg3, 3)), Local0)
+ if (LNotEqual(Local0, 0x33)) {
+ err("", zFFF, 0x304, 0, 0, Local0, 0x33)
+ }
+
+ Store(DerefOf(Index(arg4, 3)), Local0)
+ if (LNotEqual(Local0, 0x43)) {
+ err("", zFFF, 0x305, 0, 0, Local0, 0x43)
+ }
+
+ Store(DerefOf(Index(arg5, 3)), Local0)
+ if (LNotEqual(Local0, 0x53)) {
+ err("", zFFF, 0x306, 0, 0, Local0, 0x53)
+ }
+
+ Store(DerefOf(Index(arg6, 3)), Local0)
+ if (LNotEqual(Local0, 0x63)) {
+ err("", zFFF, 0x307, 0, 0, Local0, 0x63)
+ }
+
+ Store(DerefOf(Index(p000, 14)), Local0)
+ Store(DerefOf(Local0), Local1)
+ if (LNotEqual(Local1, 0x66)) {
+ err("", zFFF, 0x308, 0, 0, Local1, 0x66)
+ }
+
+ if (LEqual(cmd0, 1)) {
+
+ Store(p007, arg0)
+ Store(p001, arg1)
+ Store(p002, arg2)
+ Store(p003, arg3)
+ Store(p004, arg4)
+ Store(p005, arg5)
+ Store(p006, arg6)
+
+ Store(Index(arg0, 0), Index(pp01, 8))
+ Store(Index(arg1, 1), Index(pp01, 9))
+ Store(Index(arg2, 2), Index(pp01, 10))
+ Store(Index(arg3, 3), Index(pp01, 11))
+ Store(Index(arg4, 4), Index(pp01, 12))
+ Store(Index(arg5, 5), Index(pp01, 13))
+ Store(Index(arg6, 6), Index(pp01, 14))
+ Store(Index(pp00, 0), Index(pp01, 15))
+ Store(Index(pp01, 0), Index(pp01, 16))
+ Store(Index(pp01, 9), Index(pp01, 17))
+ Store(Index(p000, 0), Index(pp01, 18))
+ Store(Index(p001, 0), Index(pp01, 19))
+ Store(Index(p002, 0), Index(pp01, 20))
+ Store(Index(p003, 0), Index(pp01, 21))
+ Store(Index(p004, 0), Index(pp01, 22))
+ Store(Index(p005, 0), Index(pp01, 23))
+ Store(Index(p006, 0), Index(pp01, 24))
+
+ Store(Index(arg0, 0), Index(pp00, 8))
+ Store(Index(arg0, 1), Index(pp00, 9))
+ Store(Index(arg0, 2), Index(pp00, 10))
+ Store(Index(arg0, 3), Index(pp00, 11))
+ Store(Index(arg0, 4), Index(pp00, 12))
+ Store(Index(arg0, 5), Index(pp00, 13))
+ Store(Index(arg0, 6), Index(pp00, 14))
+ Store(Index(pp00, 0), Index(pp00, 15))
+ Store(Index(pp01, 0), Index(pp00, 16))
+ Store(Index(pp01, 9), Index(pp00, 17))
+ Store(Index(p000, 0), Index(pp00, 18))
+ Store(Index(p001, 0), Index(pp00, 19))
+ Store(Index(p002, 0), Index(pp00, 20))
+ Store(Index(p003, 0), Index(pp00, 21))
+ Store(Index(p004, 0), Index(pp00, 22))
+ Store(Index(p005, 0), Index(pp00, 23))
+ Store(Index(p006, 0), Index(pp00, 24))
+
+ Store(Index(arg0, 0), Index(p000, 8))
+ Store(Index(arg1, 1), Index(p000, 9))
+ Store(Index(arg2, 2), Index(p000, 10))
+ Store(Index(arg3, 3), Index(p000, 11))
+ Store(Index(arg4, 4), Index(p000, 12))
+ Store(Index(arg5, 5), Index(p000, 13))
+ Store(Index(arg6, 6), Index(p000, 14))
+ Store(Index(pp00, 0), Index(p000, 15))
+ Store(Index(pp01, 0), Index(p000, 16))
+ Store(Index(pp01, 9), Index(p000, 17))
+ Store(Index(p000, 0), Index(p000, 18))
+ Store(Index(p001, 0), Index(p000, 19))
+ Store(Index(p002, 0), Index(p000, 20))
+ Store(Index(p003, 0), Index(p000, 21))
+ Store(Index(p004, 0), Index(p000, 22))
+ Store(Index(p005, 0), Index(p000, 23))
+ Store(Index(p006, 0), Index(p000, 24))
+
+ Store(Index(arg0, 0), Index(p001, 8))
+ Store(Index(arg0, 1), Index(p001, 9))
+ Store(Index(arg0, 2), Index(p001, 10))
+ Store(Index(arg0, 3), Index(p001, 11))
+ Store(Index(arg0, 4), Index(p001, 12))
+ Store(Index(arg0, 5), Index(p001, 13))
+ Store(Index(arg0, 6), Index(p001, 14))
+ Store(Index(pp00, 0), Index(p001, 15))
+ Store(Index(pp01, 0), Index(p001, 16))
+ Store(Index(pp01, 9), Index(p001, 17))
+ Store(Index(p000, 0), Index(p001, 18))
+ Store(Index(p001, 0), Index(p001, 19))
+ Store(Index(p002, 0), Index(p001, 20))
+ Store(Index(p003, 0), Index(p001, 21))
+ Store(Index(p004, 0), Index(p001, 22))
+ Store(Index(p005, 0), Index(p001, 23))
+ Store(Index(p006, 0), Index(p001, 24))
+
+ Store(DerefOf(Index(arg0, 3)), Local0)
+ if (LNotEqual(Local0, 0xd3)) {
+ err("", zFFF, 0x309, 0, 0, Local0, 0xd3)
+ }
+ Store(DerefOf(Index(arg1, 3)), Local0)
+ if (LNotEqual(Local0, 0x73)) {
+ err("", zFFF, 0x30a, 0, 0, Local0, 0x73)
+ }
+ Store(DerefOf(Index(arg2, 3)), Local0)
+ if (LNotEqual(Local0, 0x83)) {
+ err("", zFFF, 0x30b, 0, 0, Local0, 0x83)
+ }
+ Store(DerefOf(Index(arg3, 3)), Local0)
+ if (LNotEqual(Local0, 0x93)) {
+ err("", zFFF, 0x30c, 0, 0, Local0, 0x93)
+ }
+ Store(DerefOf(Index(arg4, 3)), Local0)
+ if (LNotEqual(Local0, 0xa3)) {
+ err("", zFFF, 0x30d, 0, 0, Local0, 0xa3)
+ }
+ Store(DerefOf(Index(arg5, 3)), Local0)
+ if (LNotEqual(Local0, 0xb3)) {
+ err("", zFFF, 0x30e, 0, 0, Local0, 0xb3)
+ }
+ Store(DerefOf(Index(arg6, 3)), Local0)
+ if (LNotEqual(Local0, 0xc3)) {
+ err("", zFFF, 0x30f, 0, 0, Local0, 0xc3)
+ }
+
+ Store(DerefOf(Index(p000, 14)), Local0)
+ Store(DerefOf(Local0), Local1)
+ if (LNotEqual(Local1, 0xc6)) {
+ err("", zFFF, 0x310, 0, 0, Local1, 0xc6)
+ }
+ }
+ }
+
+ Method(m001, 7)
+ {
+ Name(pp00, Package(64) {0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17})
+ Name(pp01, Package(64) {0xd0,0xd1,0xd2,0xd3,0xd4,0xd5,0xd6,0xd7})
+
+ m000(arg0,pp00,arg2,arg3,arg4,arg5,arg6)
+
+ if (LEqual(cmd0, 0)) {
+
+ Store(p007, arg0)
+ Store(p001, arg1)
+ Store(p002, arg2)
+ Store(p003, arg3)
+ Store(p004, arg4)
+ Store(p005, arg5)
+ Store(p006, arg6)
+
+ Store(Index(arg0, 0), Index(pp01, 8))
+ Store(Index(arg1, 1), Index(pp01, 9))
+ Store(Index(arg2, 2), Index(pp01, 10))
+ Store(Index(arg3, 3), Index(pp01, 11))
+ Store(Index(arg4, 4), Index(pp01, 12))
+ Store(Index(arg5, 5), Index(pp01, 13))
+ Store(Index(arg6, 6), Index(pp01, 14))
+ Store(Index(pp00, 0), Index(pp01, 15))
+ Store(Index(pp01, 0), Index(pp01, 16))
+ Store(Index(pp01, 9), Index(pp01, 17))
+ Store(Index(p000, 0), Index(pp01, 18))
+ Store(Index(p001, 0), Index(pp01, 19))
+ Store(Index(p002, 0), Index(pp01, 20))
+ Store(Index(p003, 0), Index(pp01, 21))
+ Store(Index(p004, 0), Index(pp01, 22))
+ Store(Index(p005, 0), Index(pp01, 23))
+ Store(Index(p006, 0), Index(pp01, 24))
+
+ Store(Index(arg0, 0), Index(pp00, 8))
+ Store(Index(arg0, 1), Index(pp00, 9))
+ Store(Index(arg0, 2), Index(pp00, 10))
+ Store(Index(arg0, 3), Index(pp00, 11))
+ Store(Index(arg0, 4), Index(pp00, 12))
+ Store(Index(arg0, 5), Index(pp00, 13))
+ Store(Index(arg0, 6), Index(pp00, 14))
+ Store(Index(pp00, 0), Index(pp00, 15))
+ Store(Index(pp01, 0), Index(pp00, 16))
+ Store(Index(pp01, 9), Index(pp00, 17))
+ Store(Index(p000, 0), Index(pp00, 18))
+ Store(Index(p001, 0), Index(pp00, 19))
+ Store(Index(p002, 0), Index(pp00, 20))
+ Store(Index(p003, 0), Index(pp00, 21))
+ Store(Index(p004, 0), Index(pp00, 22))
+ Store(Index(p005, 0), Index(pp00, 23))
+ Store(Index(p006, 0), Index(pp00, 24))
+
+ Store(Index(arg0, 0), Index(p000, 8))
+ Store(Index(arg1, 1), Index(p000, 9))
+ Store(Index(arg2, 2), Index(p000, 10))
+ Store(Index(arg3, 3), Index(p000, 11))
+ Store(Index(arg4, 4), Index(p000, 12))
+ Store(Index(arg5, 5), Index(p000, 13))
+ Store(Index(arg6, 6), Index(p000, 14))
+ Store(Index(pp00, 0), Index(p000, 15))
+ Store(Index(pp01, 0), Index(p000, 16))
+ Store(Index(pp01, 9), Index(p000, 17))
+ Store(Index(p000, 0), Index(p000, 18))
+ Store(Index(p001, 0), Index(p000, 19))
+ Store(Index(p002, 0), Index(p000, 20))
+ Store(Index(p003, 0), Index(p000, 21))
+ Store(Index(p004, 0), Index(p000, 22))
+ Store(Index(p005, 0), Index(p000, 23))
+ Store(Index(p006, 0), Index(p000, 24))
+
+ Store(Index(arg0, 0), Index(p001, 8))
+ Store(Index(arg0, 1), Index(p001, 9))
+ Store(Index(arg0, 2), Index(p001, 10))
+ Store(Index(arg0, 3), Index(p001, 11))
+ Store(Index(arg0, 4), Index(p001, 12))
+ Store(Index(arg0, 5), Index(p001, 13))
+ Store(Index(arg0, 6), Index(p001, 14))
+ Store(Index(pp00, 0), Index(p001, 15))
+ Store(Index(pp01, 0), Index(p001, 16))
+ Store(Index(pp01, 9), Index(p001, 17))
+ Store(Index(p000, 0), Index(p001, 18))
+ Store(Index(p001, 0), Index(p001, 19))
+ Store(Index(p002, 0), Index(p001, 20))
+ Store(Index(p003, 0), Index(p001, 21))
+ Store(Index(p004, 0), Index(p001, 22))
+ Store(Index(p005, 0), Index(p001, 23))
+ Store(Index(p006, 0), Index(p001, 24))
+
+ Store(DerefOf(Index(arg0, 3)), Local0)
+ if (LNotEqual(Local0, 0xd3)) {
+ err("", zFFF, 0x311, 0, 0, Local0, 0xd3)
+ }
+ Store(DerefOf(Index(arg1, 3)), Local0)
+ if (LNotEqual(Local0, 0x73)) {
+ err("", zFFF, 0x312, 0, 0, Local0, 0x73)
+ }
+ Store(DerefOf(Index(arg2, 3)), Local0)
+ if (LNotEqual(Local0, 0x83)) {
+ err("", zFFF, 0x313, 0, 0, Local0, 0x83)
+ }
+ Store(DerefOf(Index(arg3, 3)), Local0)
+ if (LNotEqual(Local0, 0x93)) {
+ err("", zFFF, 0x314, 0, 0, Local0, 0x93)
+ }
+ Store(DerefOf(Index(arg4, 3)), Local0)
+ if (LNotEqual(Local0, 0xa3)) {
+ err("", zFFF, 0x315, 0, 0, Local0, 0xa3)
+ }
+ Store(DerefOf(Index(arg5, 3)), Local0)
+ if (LNotEqual(Local0, 0xb3)) {
+ err("", zFFF, 0x316, 0, 0, Local0, 0xb3)
+ }
+ Store(DerefOf(Index(arg6, 3)), Local0)
+ if (LNotEqual(Local0, 0xc3)) {
+ err("", zFFF, 0x317, 0, 0, Local0, 0xc3)
+ }
+
+ Store(DerefOf(Index(p000, 14)), Local0)
+ Store(DerefOf(Local0), Local1)
+ if (LNotEqual(Local1, 0xc6)) {
+ err("", zFFF, 0x318, 0, 0, Local1, 0xc6)
+ }
+ }
+ }
+
+ Method(m002, 7)
+ {
+ Name(pp00, Package(64) {0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27})
+
+ m001(arg0,arg1,pp00,arg3,arg4,arg5,arg6)
+ Store(pp00, arg0)
+ }
+
+ Method(m003, 7)
+ {
+ Name(pp00, Package(64) {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37})
+
+ m002(arg0,arg1,arg2,pp00,arg4,arg5,arg6)
+ Store(pp00, arg0)
+ }
+
+ Method(m004, 7)
+ {
+ Name(pp00, Package(64) {0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47})
+
+ m003(arg0,arg1,arg2,arg3,pp00,arg5,arg6)
+ Store(pp00, arg0)
+ }
+
+ Method(m005, 7)
+ {
+ Name(pp00, Package(64) {0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57})
+
+ m004(arg0,arg1,arg2,arg3,arg4,pp00,arg6)
+ Store(pp00, arg0)
+ }
+
+ Method(m006, 7)
+ {
+ Name(pp00, Package(64) {0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67})
+
+ m005(arg0,arg1,arg2,arg3,arg4,arg5,pp00)
+ Store(pp00, arg0)
+ }
+
+ Store(0, cmd0)
+ m006(p000,p001,p002,p003,p004,p005,p006)
+
+ Store(1, cmd0)
+ m006(p000,p001,p002,p003,p004,p005,p006)
+}
+
+Method(mf01)
+{
+ Name(i000, 0)
+ Name(i001, 1)
+ Name(i002, 2)
+ Name(i003, 3)
+
+ /* 4-level hierarchy model: 0,1,2,3 */
+
+ Name(pp00, Package(8){0x44})
+ Name(pp10, Package(8){0x1044})
+
+ Name(p000, Package() {
+ Package() {0x00,0x01,0x02,0x03,Package(8){0x04},0x05,0x06,0x07},
+ 0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,
+ Package() {0x10,0x11,0x12,0x13,Package(8){0x14},0x15,0x16,0x17},
+ Package() {0x18},0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,
+ Package() {0x10,0x21,0x22,0x23,Package(8){0x24},0x25,0x26,0x27},
+ 0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,
+ Package() {0x20,0x31,0x32,0x33,Package(8){0x34},0x35,0x36,0x37},
+ 0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,
+ Package() {0x30,0x41,0x42,0x43,pp00,0x45,0x46,0x47},
+ 0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,
+ Package() {0x40,0x51,0x52,0x53,Package(8){0x54},0x55,0x56,0x57},
+ 0x58,0x59,0x5a,0x5b,0x5c,0x5d,0x5e,0x5f,
+ Package() {0x50,0x61,0x62,0x63,Package(8){0x64},0x65,0x66,0x67},
+ 0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,
+ Package() {0x60,0x71,0x72,0x73,Package(8){0x74},0x75,0x76,0x77},
+ 0x78,0x79,0x7a,0x7b,0x7c,0x7d,0x7e,0x7f,
+ Package() {0x80,0x81,0x82,0x83,Package(8){0x84},0x85,0x86,0x87},
+ Package() {0x88},0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,
+ Package() {0x90,0x91,0x92,0x93,Package(8){0x94},0x95,0x96,0x97},
+ Package() {0x98},0x99,0x9a,0x9b,0x9c,0x9d,0x9e,0x9f,
+ Package() {0xa0,0xa1,0xa2,0xa3,Package(8){0xa4},0xa5,0xa6,0xa7},
+ 0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,
+ Package() {0xb0,0xb1,0xb2,0xb3,Package(8){0xb4},0xb5,0xb6,0xb7},
+ 0xb8,0xb9,0xba,0xbb,0xbc,0xbd,0xbe,0xbf,
+ Package() {0xc0,0xc1,0xc2,0xc3,Package(8){0xc4},0xc5,0xc6,0xc7},
+ 0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,
+ Package() {0xd0,0xd1,0xd2,0xd3,Package(8){0xd4},0xd5,0xd6,0xd7},
+ 0xd8,0xd9,0xda,0xdb,0xdc,0xdd,0xde,0xdf,
+ Package() {0xe0,0xe1,0xe2,0xe3,Package(8){0xe4},0xe5,0xe6,0xe7},
+ 0xe8,0xe9,0xea,0xeb,0xec,0xed,0xee,0xef,
+ Package() {0xf0,0xf1,0xf2,0xf3,Package(8){0xf4},0xf5,0xf6,0xf7},
+ 0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,0xfe,0xff,
+ })
+
+ Name(p001, Package() {
+ Package() {0x1000,0x1001,0x1002,0x1003,Package(8){0x1004},0x1005,0x1006,0x1007},
+ 0x1008,0x1009,0x100a,0x100b,0x100c,0x100d,0x100e,0x100f,
+ Package() {0x1010,0x1011,0x1012,0x1013,Package(8){0x1014},0x1015,0x1016,0x1017},
+ Package() {0x1018},0x1019,0x101a,0x101b,0x101c,0x101d,0x101e,0x101f,
+ Package() {0x1010,0x1021,0x1022,0x1023,Package(8){0x1024},0x1025,0x1026,0x1027},
+ 0x1028,0x1029,0x102a,0x102b,0x102c,0x102d,0x102e,0x102f,
+ Package() {0x1020,0x1031,0x1032,0x1033,Package(8){0x1034},0x1035,0x1036,0x1037},
+ 0x1038,0x1039,0x103a,0x103b,0x103c,0x103d,0x103e,0x103f,
+ Package() {0x1030,0x1041,0x1042,0x1043,pp10,0x1045,0x1046,0x1047},
+ 0x1048,0x1049,0x104a,0x104b,0x104c,0x104d,0x104e,0x104f,
+ Package() {0x1040,0x1051,0x1052,0x1053,Package(8){0x1054},0x1055,0x1056,0x1057},
+ 0x1058,0x1059,0x105a,0x105b,0x105c,0x105d,0x105e,0x105f,
+ Package() {0x1050,0x1061,0x1062,0x1063,Package(8){0x1064},0x1065,0x1066,0x1067},
+ 0x1068,0x1069,0x106a,0x106b,0x106c,0x106d,0x106e,0x106f,
+ Package() {0x1060,0x1071,0x1072,0x1073,Package(8){0x1074},0x1075,0x1076,0x1077},
+ 0x1078,0x1079,0x107a,0x107b,0x107c,0x107d,0x107e,0x107f,
+ Package() {0x1080,0x1081,0x1082,0x1083,Package(8){0x1084},0x1085,0x1086,0x1087},
+ Package() {0x1088},0x1089,0x108a,0x108b,0x108c,0x108d,0x108e,0x108f,
+ Package() {0x1090,0x1091,0x1092,0x1093,Package(8){0x1094},0x1095,0x1096,0x1097},
+ Package() {0x1098},0x1099,0x109a,0x109b,0x109c,0x109d,0x109e,0x109f,
+ Package() {0x10a0,0x10a1,0x10a2,0x10a3,Package(8){0x10a4},0x10a5,0x10a6,0x10a7},
+ 0x10a8,0x10a9,0x10aa,0x10ab,0x10ac,0x10ad,0x10ae,0x10af,
+ Package() {0x10b0,0x10b1,0x10b2,0x10b3,Package(8){0x10b4},0x10b5,0x10b6,0x10b7},
+ 0x10b8,0x10b9,0x10ba,0x10bb,0x10bc,0x10bd,0x10be,0x10bf,
+ Package() {0x10c0,0x10c1,0x10c2,0x10c3,Package(8){0x10c4},0x10c5,0x10c6,0x10c7},
+ 0x10c8,0x10c9,0x10ca,0x10cb,0x10cc,0x10cd,0x10ce,0x10cf,
+ Package() {0x10d0,0x10d1,0x10d2,0x10d3,Package(8){0x10d4},0x10d5,0x10d6,0x10d7},
+ 0x10d8,0x10d9,0x10da,0x10db,0x10dc,0x10dd,0x10de,0x10df,
+ Package() {0x10e0,0x10e1,0x10e2,0x10e3,Package(8){0x10e4},0x10e5,0x10e6,0x10e7},
+ 0x10e8,0x10e9,0x10ea,0x10eb,0x10ec,0x10ed,0x10ee,0x10ef,
+ Package() {0x10f0,0x10f1,0x10f2,0x10f3,Package(8){0x10f4},0x10f5,0x10f6,0x10f7},
+ 0x10f8,0x10f9,0x10fa,0x10fb,0x10fc,0x10fd,0x10fe,0x10ff,
+ })
+
+ /*
+ * Store additionally IRefs into Named.
+ * Test is not correct and completed.
+ * Develop it after Bug 127 resolving.
+ */
+ Method(m004)
+ {
+ Store(Index(DerefOf(Index(DerefOf(Index(p000, 0)), 4)), 0), Local0)
+ CopyObject(Local0, i000)
+
+ CopyObject(Index(DerefOf(Index(DerefOf(Index(p001, 0)), 4)), 0), Local0)
+ CopyObject(Local0, i001)
+
+ m005(i000, 0)
+ m005(i001, 1)
+
+ /* The same repeatedly */
+
+ Store(Index(DerefOf(Index(DerefOf(Index(p000, 0)), 4)), 0), Local0)
+ CopyObject(Local0, i000)
+
+ CopyObject(Index(DerefOf(Index(DerefOf(Index(p001, 0)), 4)), 0), Local0)
+ CopyObject(Local0, i001)
+
+ m005(i000, 0)
+ m005(i001, 1)
+
+ /* Directly by CopyObject */
+
+ CopyObject(Index(DerefOf(Index(DerefOf(Index(p000, 0)), 4)), 0), i000)
+ CopyObject(Index(DerefOf(Index(DerefOf(Index(p000, 1)), 4)), 0), i001)
+
+ m005(i000, 0)
+ m005(i001, 1)
+ }
+
+ Method(m005, 2)
+ {
+ Store(DerefOf(arg0), Local0)
+ if (LNotEqual(Local0, arg1)) {
+ err("", zFFF, 0x319, 0, 0, Local0, arg1)
+ }
+ }
+
+ /*
+ * Store additionally IRefs into LocalX
+ * (Identical to m004).
+ */
+ Method(m006)
+ {
+ Store(Index(DerefOf(Index(DerefOf(Index(p000, 0)), 4)), 0), Local0)
+ Store(Index(DerefOf(Index(DerefOf(Index(p001, 0)), 4)), 0), Local1)
+
+ m005(Local0, 0x0004)
+ m005(Local1, 0x1004)
+
+ /* The same repeatedly */
+
+ Store(Index(DerefOf(Index(DerefOf(Index(p000, 0)), 4)), 0), Local0)
+ Store(Index(DerefOf(Index(DerefOf(Index(p001, 0)), 4)), 0), Local1)
+
+ m005(Local0, 0x0004)
+ m005(Local1, 0x1004)
+ }
+
+ /*
+ * Store additionally ORef into packages.
+ */
+ Method(m007, 3)
+ {
+ Name(ii00, 0)
+ Name(ii01, 0)
+ Name(ii02, 0)
+
+ /* ORef to LocalX */
+
+ Store(RefOf(Local0), Index(p000, 2))
+ Store(RefOf(Local1), Index(p000, 3))
+ Store(RefOf(Local2), Index(p000, 4))
+
+ Store(RefOf(Local0), Index(p001, 2))
+ Store(RefOf(Local1), Index(p001, 3))
+ Store(RefOf(Local2), Index(p001, 4))
+
+ Store(RefOf(Local0), Index(arg0, 5))
+ Store(RefOf(Local1), Index(arg0, 6))
+ Store(RefOf(Local2), Index(arg0, 7))
+
+ Store(RefOf(Local0), Index(arg1, 5))
+ Store(RefOf(Local1), Index(arg1, 6))
+ Store(RefOf(Local2), Index(arg1, 7))
+
+ /* ORef to ArgX */
+
+ Store(RefOf(arg2), Index(p000, 20))
+ Store(RefOf(arg2), Index(p000, 21))
+ Store(RefOf(arg2), Index(p000, 22))
+
+ Store(RefOf(arg2), Index(p001, 20))
+ Store(RefOf(arg2), Index(p001, 21))
+ Store(RefOf(arg2), Index(p001, 22))
+
+ Store(RefOf(arg2), Index(arg0, 23))
+ Store(RefOf(arg2), Index(arg0, 24))
+ Store(RefOf(arg2), Index(arg0, 25))
+
+ Store(RefOf(arg2), Index(arg1, 23))
+ Store(RefOf(arg2), Index(arg1, 24))
+ Store(RefOf(arg2), Index(arg1, 25))
+
+ /* ORef to Named */
+
+ Store(RefOf(ii00), Index(p000, 29))
+ Store(RefOf(ii01), Index(p000, 30))
+ Store(RefOf(ii02), Index(p000, 31))
+
+ Store(RefOf(ii00), Index(p001, 29))
+ Store(RefOf(ii01), Index(p001, 30))
+ Store(RefOf(ii02), Index(p001, 31))
+
+ Store(RefOf(ii00), Index(arg0, 32))
+ Store(RefOf(ii01), Index(arg0, 33))
+ Store(RefOf(ii02), Index(arg0, 34))
+
+ Store(RefOf(ii00), Index(arg1, 32))
+ Store(RefOf(ii01), Index(arg1, 33))
+ Store(RefOf(ii02), Index(arg1, 34))
+
+ /* ORef to Named */
+
+ Store(RefOf(i000), Index(p000, 39))
+ Store(RefOf(i001), Index(p000, 40))
+ Store(RefOf(i002), Index(p000, 41))
+
+ Store(RefOf(i000), Index(p001, 39))
+ Store(RefOf(i001), Index(p001, 40))
+ Store(RefOf(i002), Index(p001, 41))
+
+ Store(RefOf(i000), Index(arg0, 42))
+ Store(RefOf(i001), Index(arg0, 43))
+ Store(RefOf(i002), Index(arg0, 44))
+
+ Store(RefOf(i000), Index(arg1, 42))
+ Store(RefOf(i001), Index(arg1, 43))
+ Store(RefOf(i002), Index(arg1, 44))
+ }
+
+ Method(m000, 3)
+ {
+ Store(DerefOf(Index(DerefOf(Index(DerefOf(Index(arg0, arg1)), 4)), 0)), Local0)
+ if (LNotEqual(Local0, arg2)) {
+ err("", zFFF, 0x31a, 0, 0, Local0, arg2)
+ }
+ }
+
+ Method(m001, 3)
+ {
+ Store(arg2, Index(DerefOf(Index(DerefOf(Index(arg0, arg1)), 4)), 0))
+ }
+
+ Method(m002, 3)
+ {
+ Store(DerefOf(DerefOf(Index(DerefOf(Index(DerefOf(Index(arg0, arg1)), 4)), 0))), Local0)
+ if (LNotEqual(Local0, arg2)) {
+ err("", zFFF, 0x31b, 0, 0, Local0, arg2)
+ }
+ }
+
+ Method(m003, 3)
+ {
+ Store(DerefOf(DerefOf(Index(arg0, arg1))), Local0)
+ if (LNotEqual(Local0, arg2)) {
+ err("", zFFF, 0x31c, 0, 0, Local0, arg2)
+ }
+ }
+
+ m000(p000, 0, 0x0004)
+ m000(p000, 9, 0x0014)
+ m000(p000, 18, 0x0024)
+ m000(p000, 27, 0x0034)
+ m000(p000, 36, 0x0044)
+ m000(p000, 45, 0x0054)
+ m000(p000, 54, 0x0064)
+ m000(p000, 63, 0x0074)
+ m000(p000, 72, 0x0084)
+ m000(p000, 81, 0x0094)
+ m000(p000, 90, 0x00a4)
+ m000(p000, 99, 0x00b4)
+ m000(p000, 108, 0x00c4)
+ m000(p000, 117, 0x00d4)
+ m000(p000, 126, 0x00e4)
+ m000(p000, 135, 0x00f4)
+
+ m000(p001, 0, 0x1004)
+ m000(p001, 9, 0x1014)
+ m000(p001, 18, 0x1024)
+ m000(p001, 27, 0x1034)
+ m000(p001, 36, 0x1044)
+ m000(p001, 45, 0x1054)
+ m000(p001, 54, 0x1064)
+ m000(p001, 63, 0x1074)
+ m000(p001, 72, 0x1084)
+ m000(p001, 81, 0x1094)
+ m000(p001, 90, 0x10a4)
+ m000(p001, 99, 0x10b4)
+ m000(p001, 108, 0x10c4)
+ m000(p001, 117, 0x10d4)
+ m000(p001, 126, 0x10e4)
+ m000(p001, 135, 0x10f4)
+
+
+ /* 3-th level access */
+
+ /* Store IRef to element of p000 into element of p001 */
+
+ Store(Index(DerefOf(Index(DerefOf(Index(p000, 0)), 4)), 0),
+ Index(DerefOf(Index(DerefOf(Index(p001, 72)), 4)), 0))
+ m002(p001, 72, 0x0004)
+
+ Store(Index(DerefOf(Index(DerefOf(Index(p000, 9)), 4)), 0),
+ Index(DerefOf(Index(DerefOf(Index(p001, 81)), 4)), 0))
+ m002(p001, 81, 0x0014)
+
+ Store(Index(DerefOf(Index(DerefOf(Index(p000, 18)), 4)), 0),
+ Index(DerefOf(Index(DerefOf(Index(p001, 90)), 4)), 0))
+ m002(p001, 90, 0x0024)
+
+ Store(Index(DerefOf(Index(DerefOf(Index(p000, 27)), 4)), 0),
+ Index(DerefOf(Index(DerefOf(Index(p001, 99)), 4)), 0))
+ m002(p001, 99, 0x0034)
+
+ Store(Index(DerefOf(Index(DerefOf(Index(p000, 36)), 4)), 0),
+ Index(DerefOf(Index(DerefOf(Index(p001, 108)), 4)), 0))
+ m002(p001, 108, 0x0044)
+
+ Store(Index(DerefOf(Index(DerefOf(Index(p000, 45)), 4)), 0),
+ Index(DerefOf(Index(DerefOf(Index(p001, 117)), 4)), 0))
+ m002(p001, 117, 0x0054)
+
+ Store(Index(DerefOf(Index(DerefOf(Index(p000, 54)), 4)), 0),
+ Index(DerefOf(Index(DerefOf(Index(p001, 126)), 4)), 0))
+ m002(p001, 126, 0x0064)
+
+ Store(Index(DerefOf(Index(DerefOf(Index(p000, 63)), 4)), 0),
+ Index(DerefOf(Index(DerefOf(Index(p001, 135)), 4)), 0))
+ m002(p001, 135, 0x0074)
+
+ /* Store IRef to element of p001 into element of p000 */
+
+ Store(Index(DerefOf(Index(DerefOf(Index(p001, 0)), 4)), 0),
+ Index(DerefOf(Index(DerefOf(Index(p000, 72)), 4)), 0))
+ m002(p000, 72, 0x1004)
+
+ Store(Index(DerefOf(Index(DerefOf(Index(p001, 9)), 4)), 0),
+ Index(DerefOf(Index(DerefOf(Index(p000, 81)), 4)), 0))
+ m002(p000, 81, 0x1014)
+
+ Store(Index(DerefOf(Index(DerefOf(Index(p001, 18)), 4)), 0),
+ Index(DerefOf(Index(DerefOf(Index(p000, 90)), 4)), 0))
+ m002(p000, 90, 0x1024)
+
+ Store(Index(DerefOf(Index(DerefOf(Index(p001, 27)), 4)), 0),
+ Index(DerefOf(Index(DerefOf(Index(p000, 99)), 4)), 0))
+ m002(p000, 99, 0x1034)
+
+ Store(Index(DerefOf(Index(DerefOf(Index(p001, 36)), 4)), 0),
+ Index(DerefOf(Index(DerefOf(Index(p000, 108)), 4)), 0))
+ m002(p000, 108, 0x1044)
+
+ Store(Index(DerefOf(Index(DerefOf(Index(p001, 45)), 4)), 0),
+ Index(DerefOf(Index(DerefOf(Index(p000, 117)), 4)), 0))
+ m002(p000, 117, 0x1054)
+
+ Store(Index(DerefOf(Index(DerefOf(Index(p001, 54)), 4)), 0),
+ Index(DerefOf(Index(DerefOf(Index(p000, 126)), 4)), 0))
+ m002(p000, 126, 0x1064)
+
+ Store(Index(DerefOf(Index(DerefOf(Index(p001, 63)), 4)), 0),
+ Index(DerefOf(Index(DerefOf(Index(p000, 135)), 4)), 0))
+ m002(p000, 135, 0x1074)
+
+
+ /* The same repeatedly */
+
+ /* Store IRef to element of p000 into element of p001 */
+
+ Store(Index(DerefOf(Index(DerefOf(Index(p000, 0)), 4)), 0),
+ Index(DerefOf(Index(DerefOf(Index(p001, 72)), 4)), 0))
+ m002(p001, 72, 0x0004)
+
+ Store(Index(DerefOf(Index(DerefOf(Index(p000, 9)), 4)), 0),
+ Index(DerefOf(Index(DerefOf(Index(p001, 81)), 4)), 0))
+ m002(p001, 81, 0x0014)
+
+ Store(Index(DerefOf(Index(DerefOf(Index(p000, 18)), 4)), 0),
+ Index(DerefOf(Index(DerefOf(Index(p001, 90)), 4)), 0))
+ m002(p001, 90, 0x0024)
+
+ Store(Index(DerefOf(Index(DerefOf(Index(p000, 27)), 4)), 0),
+ Index(DerefOf(Index(DerefOf(Index(p001, 99)), 4)), 0))
+ m002(p001, 99, 0x0034)
+
+ Store(Index(DerefOf(Index(DerefOf(Index(p000, 36)), 4)), 0),
+ Index(DerefOf(Index(DerefOf(Index(p001, 108)), 4)), 0))
+ m002(p001, 108, 0x0044)
+
+ Store(Index(DerefOf(Index(DerefOf(Index(p000, 45)), 4)), 0),
+ Index(DerefOf(Index(DerefOf(Index(p001, 117)), 4)), 0))
+ m002(p001, 117, 0x0054)
+
+ Store(Index(DerefOf(Index(DerefOf(Index(p000, 54)), 4)), 0),
+ Index(DerefOf(Index(DerefOf(Index(p001, 126)), 4)), 0))
+ m002(p001, 126, 0x0064)
+
+ Store(Index(DerefOf(Index(DerefOf(Index(p000, 63)), 4)), 0),
+ Index(DerefOf(Index(DerefOf(Index(p001, 135)), 4)), 0))
+ m002(p001, 135, 0x0074)
+
+ /* Store IRef to element of p001 into element of p000 */
+
+ Store(Index(DerefOf(Index(DerefOf(Index(p001, 0)), 4)), 0),
+ Index(DerefOf(Index(DerefOf(Index(p000, 72)), 4)), 0))
+ m002(p000, 72, 0x1004)
+
+ Store(Index(DerefOf(Index(DerefOf(Index(p001, 9)), 4)), 0),
+ Index(DerefOf(Index(DerefOf(Index(p000, 81)), 4)), 0))
+ m002(p000, 81, 0x1014)
+
+ Store(Index(DerefOf(Index(DerefOf(Index(p001, 18)), 4)), 0),
+ Index(DerefOf(Index(DerefOf(Index(p000, 90)), 4)), 0))
+ m002(p000, 90, 0x1024)
+
+ Store(Index(DerefOf(Index(DerefOf(Index(p001, 27)), 4)), 0),
+ Index(DerefOf(Index(DerefOf(Index(p000, 99)), 4)), 0))
+ m002(p000, 99, 0x1034)
+
+ Store(Index(DerefOf(Index(DerefOf(Index(p001, 36)), 4)), 0),
+ Index(DerefOf(Index(DerefOf(Index(p000, 108)), 4)), 0))
+ m002(p000, 108, 0x1044)
+
+ Store(Index(DerefOf(Index(DerefOf(Index(p001, 45)), 4)), 0),
+ Index(DerefOf(Index(DerefOf(Index(p000, 117)), 4)), 0))
+ m002(p000, 117, 0x1054)
+
+ Store(Index(DerefOf(Index(DerefOf(Index(p001, 54)), 4)), 0),
+ Index(DerefOf(Index(DerefOf(Index(p000, 126)), 4)), 0))
+ m002(p000, 126, 0x1064)
+
+ Store(Index(DerefOf(Index(DerefOf(Index(p001, 63)), 4)), 0),
+ Index(DerefOf(Index(DerefOf(Index(p000, 135)), 4)), 0))
+ m002(p000, 135, 0x1074)
+
+ /* Restore the intial state of Packages */
+
+ m001(p000, 72, 0x0084)
+ m001(p000, 81, 0x0094)
+ m001(p000, 90, 0x00a4)
+ m001(p000, 99, 0x00b4)
+ m001(p000, 108, 0x00c4)
+ m001(p000, 117, 0x00d4)
+ m001(p000, 126, 0x00e4)
+ m001(p000, 135, 0x00f4)
+
+ m001(p001, 72, 0x1084)
+ m001(p001, 81, 0x1094)
+ m001(p001, 90, 0x10a4)
+ m001(p001, 99, 0x10b4)
+ m001(p001, 108, 0x10c4)
+ m001(p001, 117, 0x10d4)
+ m001(p001, 126, 0x10e4)
+ m001(p001, 135, 0x10f4)
+
+ /* Check the intial state of Packages */
+
+ m000(p000, 0, 0x0004)
+ m000(p000, 9, 0x0014)
+ m000(p000, 18, 0x0024)
+ m000(p000, 27, 0x0034)
+ m000(p000, 36, 0x0044)
+ m000(p000, 45, 0x0054)
+ m000(p000, 54, 0x0064)
+ m000(p000, 63, 0x0074)
+ m000(p000, 72, 0x0084)
+ m000(p000, 81, 0x0094)
+ m000(p000, 90, 0x00a4)
+ m000(p000, 99, 0x00b4)
+ m000(p000, 108, 0x00c4)
+ m000(p000, 117, 0x00d4)
+ m000(p000, 126, 0x00e4)
+ m000(p000, 135, 0x00f4)
+
+ m000(p001, 0, 0x1004)
+ m000(p001, 9, 0x1014)
+ m000(p001, 18, 0x1024)
+ m000(p001, 27, 0x1034)
+ m000(p001, 36, 0x1044)
+ m000(p001, 45, 0x1054)
+ m000(p001, 54, 0x1064)
+ m000(p001, 63, 0x1074)
+ m000(p001, 72, 0x1084)
+ m000(p001, 81, 0x1094)
+ m000(p001, 90, 0x10a4)
+ m000(p001, 99, 0x10b4)
+ m000(p001, 108, 0x10c4)
+ m000(p001, 117, 0x10d4)
+ m000(p001, 126, 0x10e4)
+ m000(p001, 135, 0x10f4)
+
+
+ /* 1-th level access */
+
+ /* Store IRef to element of p000 into element of p001 */
+
+ Store(Index(p000, 1), Index(p001, 72))
+ m003(p001, 72, 0x0008)
+
+ Store(Index(p000, 19), Index(p001, 81))
+ m003(p001, 81, 0x0028)
+
+ Store(Index(p000, 28), Index(p001, 90))
+ m003(p001, 90, 0x0038)
+
+ Store(Index(p000, 37), Index(p001, 99))
+ m003(p001, 99, 0x0048)
+
+ Store(Index(p000, 46), Index(p001, 108))
+ m003(p001, 108, 0x0058)
+
+ Store(Index(p000, 55), Index(p001, 117))
+ m003(p001, 117, 0x0068)
+
+ Store(Index(p000, 64), Index(p001, 126))
+ m003(p001, 126, 0x0078)
+
+ Store(Index(p000, 71), Index(p001, 135))
+ m003(p001, 135, 0x007f)
+
+ /* Store IRef to element of p001 into element of p000 */
+
+ Store(Index(p001, 1), Index(p000, 72))
+ m003(p000, 72, 0x1008)
+
+ Store(Index(p001, 19), Index(p000, 81))
+ m003(p000, 81, 0x1028)
+
+ Store(Index(p001, 28), Index(p000, 90))
+ m003(p000, 90, 0x1038)
+
+ Store(Index(p001, 37), Index(p000, 99))
+ m003(p000, 99, 0x1048)
+
+ Store(Index(p001, 46), Index(p000, 108))
+ m003(p000, 108, 0x1058)
+
+ Store(Index(p001, 55), Index(p000, 117))
+ m003(p000, 117, 0x1068)
+
+ Store(Index(p001, 64), Index(p000, 126))
+ m003(p000, 126, 0x1078)
+
+ Store(Index(p001, 71), Index(p000, 135))
+ m003(p000, 135, 0x107f)
+
+ if (y127) {
+ m004()
+ }
+
+ m006()
+ m007(p000, p001, 0x12345678)
+}
+
+Method(mfca)
+{
+ SRMT("mfcb")
+ mfcb()
+
+ SRMT("mfcf")
+ mfcf()
+
+ SRMT("mfd0")
+ mfd0()
+
+ SRMT("mfd1")
+ mfd1()
+
+ SRMT("mfd2")
+ mfd2()
+
+ SRMT("mfd3")
+ mfd3()
+
+ SRMT("mfd4")
+ mfd4()
+
+ SRMT("mfd5")
+ mfd5()
+
+ SRMT("mfd6")
+ mfd6()
+
+ SRMT("mfd7")
+ mfd7(0,0,0,0,0,0,0)
+
+ SRMT("mfe9")
+ mfe9()
+
+ SRMT("mfea")
+ mfea()
+
+ SRMT("mfeb")
+ mfeb()
+
+ SRMT("mf01")
+ mf01()
+}
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0135/Misc2.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0135/Misc2.asl
new file mode 100644
index 000000000..2ed7d8669
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0135/Misc2.asl
@@ -0,0 +1,762 @@
+/*
+ * 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.
+ */
+
+/*
+ * Outstanding: 0x1 allocations after execution.
+ */
+
+Name(id27, 64)
+
+/* Create and write IRef */
+
+Method(mf02, 6)
+{
+ Name(i001, 0)
+ Name(i002, 0)
+ Name(i003, 0)
+ Name(i004, 0)
+ Name(ii01, 0)
+ Name(ii02, 0)
+ Name(ii03, 0)
+ Name(ii04, 0)
+
+ if (LEqual(arg1, 1)) {
+ Store(DerefOf(Index(arg2, 0)), i001)
+ Store(Index(arg0, i001), Local7)
+ } elseif (LEqual(arg1, 2)) {
+ Store(DerefOf(Index(arg2, 0)), i001)
+ Store(DerefOf(Index(arg2, 1)), i002)
+ Store(Index(DerefOf(Index(arg0, i001)), i002), Local7)
+ } elseif (LEqual(arg1, 3)) {
+ Store(DerefOf(Index(arg2, 0)), i001)
+ Store(DerefOf(Index(arg2, 1)), i002)
+ Store(DerefOf(Index(arg2, 2)), i003)
+ Store(Index(DerefOf(Index(DerefOf(Index(arg0, i001)), i002)), i003), Local7)
+ } elseif (LEqual(arg1, 4)) {
+ Store(DerefOf(Index(arg2, 0)), i001)
+ Store(DerefOf(Index(arg2, 1)), i002)
+ Store(DerefOf(Index(arg2, 2)), i003)
+ Store(DerefOf(Index(arg2, 3)), i004)
+ Store(Index(DerefOf(Index(DerefOf(Index(DerefOf(Index(arg0,
+ i001)), i002)), i003)), i004), Local7)
+ } else {
+ err("", zFFF, 0x400, 0, 0, 0, 0)
+ return
+ }
+
+ if (LEqual(arg4, 1)) {
+ Store(DerefOf(Index(arg5, 0)), ii01)
+ Store(Local7, Index(arg3, ii01))
+ } elseif (LEqual(arg4, 2)) {
+ Store(DerefOf(Index(arg5, 0)), ii01)
+ Store(DerefOf(Index(arg5, 1)), ii02)
+ Store(Local7, Index(DerefOf(Index(arg3, ii01)), ii02))
+ } elseif (LEqual(arg4, 3)) {
+ Store(DerefOf(Index(arg5, 0)), ii01)
+ Store(DerefOf(Index(arg5, 1)), ii02)
+ Store(DerefOf(Index(arg5, 2)), ii03)
+ Store(Local7, Index(DerefOf(Index(DerefOf(Index(arg3, ii01)), ii02)), ii03))
+ } elseif (LEqual(arg4, 4)) {
+ Store(DerefOf(Index(arg5, 0)), ii01)
+ Store(DerefOf(Index(arg5, 1)), ii02)
+ Store(DerefOf(Index(arg5, 2)), ii03)
+ Store(DerefOf(Index(arg5, 3)), ii04)
+ Store(Local7, Index(DerefOf(Index(DerefOf(Index(DerefOf(Index(arg3,
+ ii01)), ii02)), ii03)), ii04))
+ } else {
+ err("", zFFF, 0x401, 0, 0, 0, 0)
+ return
+ }
+}
+
+/* Read by means of IRef-to-Integer */
+
+Method(mfec, 4)
+{
+ Name(i001, 0)
+ Name(i002, 0)
+ Name(i003, 0)
+ Name(i004, 0)
+
+ if (LEqual(arg1, 1)) {
+ Store(DerefOf(Index(arg2, 0)), i001)
+ Store(DerefOf(DerefOf(Index(arg0, i001))), Local7)
+ } elseif (LEqual(arg1, 2)) {
+ Store(DerefOf(Index(arg2, 0)), i001)
+ Store(DerefOf(Index(arg2, 1)), i002)
+ Store(DerefOf(DerefOf(Index(DerefOf(Index(arg0, i001)), i002))), Local7)
+ } elseif (LEqual(arg1, 3)) {
+ Store(DerefOf(Index(arg2, 0)), i001)
+ Store(DerefOf(Index(arg2, 1)), i002)
+ Store(DerefOf(Index(arg2, 2)), i003)
+ Store(DerefOf(DerefOf(Index(DerefOf(Index(DerefOf(Index(arg0, i001)), i002)), i003))), Local7)
+ } elseif (LEqual(arg1, 4)) {
+ Store(DerefOf(Index(arg2, 0)), i001)
+ Store(DerefOf(Index(arg2, 1)), i002)
+ Store(DerefOf(Index(arg2, 2)), i003)
+ Store(DerefOf(Index(arg2, 3)), i004)
+ Store(DerefOf(DerefOf(Index(DerefOf(Index(DerefOf(Index(DerefOf(Index(arg0,
+ i001)), i002)), i003)), i004))), Local7)
+ } else {
+ err("", zFFF, 0x402, 0, 0, 0, 0)
+ return
+ }
+
+ if (LNotEqual(Local7, arg3)) {
+ err("", zFFF, 0x403, 0, 0, Local7, arg3)
+ }
+}
+
+/* Read by means of IRef-to-Package */
+
+Method(mfed, 5)
+{
+ Name(i001, 0)
+ Name(i002, 0)
+ Name(i003, 0)
+ Name(i004, 0)
+
+ if (LEqual(arg1, 1)) {
+ Store(DerefOf(Index(arg2, 0)), i001)
+ Store(DerefOf(DerefOf(Index(arg0, i001))), Local7)
+ } elseif (LEqual(arg1, 2)) {
+ Store(DerefOf(Index(arg2, 0)), i001)
+ Store(DerefOf(Index(arg2, 1)), i002)
+ Store(DerefOf(DerefOf(Index(DerefOf(Index(arg0, i001)), i002))), Local7)
+ } elseif (LEqual(arg1, 3)) {
+ Store(DerefOf(Index(arg2, 0)), i001)
+ Store(DerefOf(Index(arg2, 1)), i002)
+ Store(DerefOf(Index(arg2, 2)), i003)
+ Store(DerefOf(DerefOf(Index(DerefOf(Index(DerefOf(Index(arg0, i001)), i002)), i003))), Local7)
+ } elseif (LEqual(arg1, 4)) {
+ Store(DerefOf(Index(arg2, 0)), i001)
+ Store(DerefOf(Index(arg2, 1)), i002)
+ Store(DerefOf(Index(arg2, 2)), i003)
+ Store(DerefOf(Index(arg2, 3)), i004)
+ Store(DerefOf(DerefOf(Index(DerefOf(Index(DerefOf(Index(DerefOf(Index(arg0,
+ i001)), i002)), i003)), i004))), Local7)
+ } else {
+ err("", zFFF, 0x404, 0, 0, 0, 0)
+ return
+ }
+
+ Store(DerefOf(Index(Local7, arg3)), Local0)
+
+ if (LNotEqual(Local0, arg4)) {
+ err("", zFFF, 0x405, 0, 0, Local0, arg4)
+ }
+}
+
+Method(mfee)
+{
+ Name(p000, Package(id27) {
+ Package(id27) {
+ Package(id27) {
+ Package(id27) {0x40000000},
+ 0x30000000,
+ Package(id27) {0x40000001},
+ 0x30000001,
+ 0x30000002,
+ },
+ 0x20000000,
+ Package(id27) {
+ Package(id27) {0x40000002},
+ 0x30000003,
+ Package(id27) {0x40000003},
+ 0x30000004,
+ 0x30000005,
+ },
+ 0x20000001,
+ 0x20000002,
+ },
+ 0x10000000,
+ Package(id27) {
+ Package(id27) {
+ Package(id27) {0x40000004},
+ 0x30000006,
+ Package(id27) {0x40000005},
+ 0x30000007,
+ 0x30000008,
+ },
+ 0x20000003,
+ Package(id27) {
+ Package(id27) {0x40000006},
+ 0x30000009,
+ Package(id27) {0x40000007},
+ 0x3000000a,
+ 0x3000000b,
+ },
+ 0x20000004,
+ 0x20000005,
+ },
+ 0x10000001,
+ 0x10000002,
+ })
+
+ Name(p001, Package(id27) {
+ Package(id27) {
+ Package(id27) {
+ Package(id27) {0x40000000},
+ 0x30000000,
+ Package(id27) {0x40000001},
+ 0x30000001,
+ 0x30000002,
+ },
+ 0x20000000,
+ Package(id27) {
+ Package(id27) {0x40000002},
+ 0x30000003,
+ Package(id27) {0x40000003},
+ 0x30000004,
+ 0x30000005,
+ },
+ 0x20000001,
+ 0x20000002,
+ },
+ 0x10000000,
+ Package(id27) {
+ Package(id27) {
+ Package(id27) {0x40000004},
+ 0x30000006,
+ Package(id27) {0x40000005},
+ 0x30000007,
+ 0x30000008,
+ },
+ 0x20000003,
+ Package(id27) {
+ Package(id27) {0x40000006},
+ 0x30000009,
+ Package(id27) {0x40000007},
+ 0x3000000a,
+ 0x3000000b,
+ },
+ 0x20000004,
+ 0x20000005,
+ },
+ 0x10000001,
+ 0x10000002,
+ })
+
+ /* Write access */
+
+ Method(mm04, 6)
+ {
+ Store(arg5, Index(DerefOf(Index(DerefOf(Index(DerefOf(Index(arg0,
+ arg1)), arg2)), arg3)), arg4))
+ }
+
+ Method(mm03, 5)
+ {
+ Store(arg4, Index(DerefOf(Index(DerefOf(Index(arg0, arg1)), arg2)), arg3))
+ }
+
+ Method(mm02, 4)
+ {
+ Store(arg3, Index(DerefOf(Index(arg0, arg1)), arg2))
+ }
+
+ Method(mm01, 3)
+ {
+ Store(arg2, Index(arg0, arg1))
+ }
+
+ /* Read access */
+
+ Method(m004, 6)
+ {
+ Store(DerefOf(Index(DerefOf(Index(DerefOf(Index(DerefOf(Index(arg0,
+ arg1)), arg2)), arg3)), arg4)), Local0)
+ if (LNotEqual(Local0, arg5)) {
+ err("", zFFF, 0x406, 0, 0, Local0, arg5)
+ }
+ }
+
+ Method(m003, 5)
+ {
+ Store(DerefOf(Index(DerefOf(Index(DerefOf(Index(arg0,
+ arg1)), arg2)), arg3)), Local0)
+ if (LNotEqual(Local0, arg4)) {
+ err("", zFFF, 0x407, 0, 0, Local0, arg4)
+ }
+ }
+
+ Method(m002, 4)
+ {
+ Store(DerefOf(Index(DerefOf(Index(arg0, arg1)), arg2)), Local0)
+ if (LNotEqual(Local0, arg3)) {
+ err("", zFFF, 0x408, 0, 0, Local0, arg3)
+ }
+ }
+
+ Method(m001, 3)
+ {
+ Store(DerefOf(Index(arg0, arg1)), Local0)
+ if (LNotEqual(Local0, arg2)) {
+ err("", zFFF, 0x409, 0, 0, Local0, arg2)
+ }
+ }
+
+ /*
+ * On each level from 1 to 4 create the following structure of data -
+ * create IRefs to all levels and alternate them with Packages.
+ * Verify access through the created IRefs.
+ *
+ * Refer packages p000 and p001 directly by names.
+ *
+ * arg0 - the start index inside arg1 where to store created objects.
+ */
+ Method(mmm0, 1)
+ {
+ Name(i000, 0)
+
+ /*
+ * Create IRefs to all levels from 4-level Package.
+ * Alternate IRefs with Packages.
+ */
+
+ Store(arg0, i000)
+ mf02(p000, 4, Buffer(){0,0,0,0}, p000, 4, Package(){0,0,0,i000})
+ mfec(p000, 4, Package(){0,0,0,i000}, 0x40000000)
+ Increment(i000)
+ mm04(p000, 0, 0, 0, i000, Package(){0x51000000})
+ Increment(i000)
+
+ mf02(p000, 3, Buffer(){0,0,4}, p000, 4, Package(){0,0,0,i000})
+ mfec(p000, 4, Package(){0,0,0,i000}, 0x30000002)
+ Increment(i000)
+ mm04(p000, 0, 0, 0, i000, Package(){0x51000001})
+ Increment(i000)
+
+ mf02(p000, 2, Buffer(){0,4}, p000, 4, Package(){0,0,0,i000})
+ mfec(p000, 4, Package(){0,0,0,i000}, 0x20000002)
+ Increment(i000)
+ mm04(p000, 0, 0, 0, i000, Package(){0x51000002})
+ Increment(i000)
+
+ mf02(p000, 1, Buffer(){4}, p000, 4, Package(){0,0,0,i000})
+ mfec(p000, 4, Package(){0,0,0,i000}, 0x10000002)
+ Increment(i000)
+ mm04(p000, 0, 0, 0, i000, Package(){0x51000003})
+ Increment(i000)
+
+ /* Reference to Package */
+
+ mf02(p000, 3, Buffer(){0,0,0}, p000, 4, Package(){0,0,0,i000})
+ mfed(p000, 4, Package(){0,0,0,i000}, 0, 0x40000000)
+ Increment(i000)
+
+ /*
+ * Create IRefs to all levels from 3-level Package.
+ * Alternate IRefs with Packages.
+ */
+
+ Store(arg0, i000)
+ mf02(p000, 4, Buffer(){0,0,0,0}, p000, 3, Package(){0,0,i000})
+ mfec(p000, 3, Package(){0,0,i000}, 0x40000000)
+ Increment(i000)
+ mm03(p000, 0, 0, i000, Package(){0x41000000})
+ Increment(i000)
+
+ mf02(p000, 3, Buffer(){0,0,4}, p000, 3, Package(){0,0,i000})
+ mfec(p000, 3, Package(){0,0,i000}, 0x30000002)
+ Increment(i000)
+ mm03(p000, 0, 0, i000, Package(){0x41000001})
+ Increment(i000)
+
+ mf02(p000, 2, Buffer(){0,4}, p000, 3, Package(){0,0,i000})
+ mfec(p000, 3, Package(){0,0,i000}, 0x20000002)
+ Increment(i000)
+ mm03(p000, 0, 0, i000, Package(){0x41000002})
+ Increment(i000)
+
+ mf02(p000, 1, Buffer(){4}, p000, 3, Package(){0,0,i000})
+ mfec(p000, 3, Package(){0,0,i000}, 0x10000002)
+ Increment(i000)
+ mm03(p000, 0, 0, i000, Package(){0x41000003})
+ Increment(i000)
+
+ /*
+ * Create IRefs to all levels from 2-level Package.
+ * Alternate IRefs with Packages.
+ */
+
+ Store(arg0, i000)
+ mf02(p000, 4, Buffer(){0,0,0,0}, p000, 2, Package(){0,i000})
+ mfec(p000, 2, Package(){0,i000}, 0x40000000)
+ Increment(i000)
+ mm02(p000, 0, i000, Package(){0x31000000})
+ Increment(i000)
+
+ mf02(p000, 3, Buffer(){0,0,4}, p000, 2, Package(){0,i000})
+ mfec(p000, 2, Package(){0,i000}, 0x30000002)
+ Increment(i000)
+ mm02(p000, 0, i000, Package(){0x31000001})
+ Increment(i000)
+
+ mf02(p000, 2, Buffer(){0,4}, p000, 2, Package(){0,i000})
+ mfec(p000, 2, Package(){0,i000}, 0x20000002)
+ Increment(i000)
+ mm02(p000, 0, i000, Package(){0x31000002})
+ Increment(i000)
+
+ mf02(p000, 1, Buffer(){4}, p000, 2, Package(){0,i000})
+ mfec(p000, 2, Package(){0,i000}, 0x10000002)
+ Increment(i000)
+ mm02(p000, 0, i000, Package(){0x31000003})
+ Increment(i000)
+
+ /*
+ * Create IRefs to all levels from 1-level Package.
+ * Alternate IRefs with Packages.
+ */
+
+ Store(arg0, i000)
+ mf02(p000, 4, Buffer(){0,0,0,0}, p000, 1, Package(){i000})
+ mfec(p000, 1, Package(){i000}, 0x40000000)
+ Increment(i000)
+ mm01(p000, i000, Package(){0x21000000})
+ Increment(i000)
+
+ mf02(p000, 3, Buffer(){0,0,4}, p000, 1, Package(){i000})
+ mfec(p000, 1, Package(){i000}, 0x30000002)
+ Increment(i000)
+ mm01(p000, i000, Package(){0x21000001})
+ Increment(i000)
+
+ mf02(p000, 2, Buffer(){0,4}, p000, 1, Package(){i000})
+ mfec(p000, 1, Package(){i000}, 0x20000002)
+ Increment(i000)
+ mm01(p000, i000, Package(){0x21000002})
+ Increment(i000)
+
+ mf02(p000, 1, Buffer(){4}, p000, 1, Package(){i000})
+ mfec(p000, 1, Package(){i000}, 0x10000002)
+ Increment(i000)
+ mm01(p000, i000, Package(){0x21000003})
+ Increment(i000)
+ }
+
+ /*
+ * On each level from 1 to 4 create the following structure of data -
+ * create IRefs to all levels and alternate them with Packages.
+ * Verify access through the created IRefs.
+ *
+ * arg0 - Package, IRefs are pointing to elements of this Package,
+ * arg1 - Package, IRefs alternated with Packages are stored as
+ * elements of this Package,
+ * arg2 - the start index inside arg1 where to store created objects,
+ * arg3 - create structure,
+ * arg4 - read.
+ */
+ Method(mmm1, 5)
+ {
+ Name(i000, 0)
+
+ /*
+ * Create IRefs to all levels from 4-level Package.
+ * Alternate IRefs with Packages.
+ */
+
+ Store(arg2, i000)
+ if (arg3) {
+ mf02(arg0, 4, Buffer(){0,0,0,0}, arg1, 4, Package(){0,0,0,i000})
+ }
+ if (arg4) {
+ mfec(arg1, 4, Package(){0,0,0,i000}, 0x40000000)
+ }
+ Increment(i000)
+ if (arg3) {
+ mm04(arg1, 0, 0, 0, i000, Package(){0x51000000})
+ }
+ Increment(i000)
+
+ if (arg3) {
+ mf02(arg0, 3, Buffer(){0,0,4}, arg1, 4, Package(){0,0,0,i000})
+ }
+ if (arg4) {
+ mfec(arg1, 4, Package(){0,0,0,i000}, 0x30000002)
+ }
+ Increment(i000)
+ if (arg3) {
+ mm04(arg1, 0, 0, 0, i000, Package(){0x51000001})
+ }
+ Increment(i000)
+
+ if (arg3) {
+ mf02(arg0, 2, Buffer(){0,4}, arg1, 4, Package(){0,0,0,i000})
+ }
+ if (arg4) {
+ mfec(arg1, 4, Package(){0,0,0,i000}, 0x20000002)
+ }
+ Increment(i000)
+ if (arg3) {
+ mm04(arg1, 0, 0, 0, i000, Package(){0x51000002})
+ }
+ Increment(i000)
+
+ if (arg3) {
+ mf02(arg0, 1, Buffer(){4}, arg1, 4, Package(){0,0,0,i000})
+ }
+ if (arg4) {
+ mfec(arg1, 4, Package(){0,0,0,i000}, 0x10000002)
+ }
+ Increment(i000)
+ if (arg3) {
+ mm04(arg1, 0, 0, 0, i000, Package(){0x51000003})
+ }
+ Increment(i000)
+
+ /* Reference to Package */
+
+ if (arg3) {
+ mf02(arg0, 3, Buffer(){0,0,0}, arg1, 4, Package(){0,0,0,i000})
+ }
+ if (arg4) {
+ mfed(arg1, 4, Package(){0,0,0,i000}, 0, 0x40000000)
+ }
+ Increment(i000)
+
+ /*
+ * Create IRefs to all levels from 3-level Package.
+ * Alternate IRefs with Packages.
+ */
+
+ Store(arg2, i000)
+ if (arg3) {
+ mf02(arg0, 4, Buffer(){0,0,0,0}, arg1, 3, Package(){0,0,i000})
+ }
+ if (arg4) {
+ mfec(arg1, 3, Package(){0,0,i000}, 0x40000000)
+ }
+ Increment(i000)
+ if (arg3) {
+ mm03(arg1, 0, 0, i000, Package(){0x41000000})
+ }
+ Increment(i000)
+
+ if (arg3) {
+ mf02(arg0, 3, Buffer(){0,0,4}, arg1, 3, Package(){0,0,i000})
+ }
+ if (arg4) {
+ mfec(arg1, 3, Package(){0,0,i000}, 0x30000002)
+ }
+ Increment(i000)
+ if (arg3) {
+ mm03(arg1, 0, 0, i000, Package(){0x41000001})
+ }
+ Increment(i000)
+
+ if (arg3) {
+ mf02(arg0, 2, Buffer(){0,4}, arg1, 3, Package(){0,0,i000})
+ }
+ if (arg4) {
+ mfec(arg1, 3, Package(){0,0,i000}, 0x20000002)
+ }
+ Increment(i000)
+ if (arg3) {
+ mm03(arg1, 0, 0, i000, Package(){0x41000002})
+ }
+ Increment(i000)
+
+ if (arg3) {
+ mf02(arg0, 1, Buffer(){4}, arg1, 3, Package(){0,0,i000})
+ }
+ if (arg4) {
+ mfec(arg1, 3, Package(){0,0,i000}, 0x10000002)
+ }
+ Increment(i000)
+ if (arg3) {
+ mm03(arg1, 0, 0, i000, Package(){0x41000003})
+ }
+ Increment(i000)
+
+ /*
+ * Create IRefs to all levels from 2-level Package.
+ * Alternate IRefs with Packages.
+ */
+
+ Store(arg2, i000)
+ if (arg3) {
+ mf02(arg0, 4, Buffer(){0,0,0,0}, arg1, 2, Package(){0,i000})
+ }
+ if (arg4) {
+ mfec(arg1, 2, Package(){0,i000}, 0x40000000)
+ }
+ Increment(i000)
+ if (arg3) {
+ mm02(arg1, 0, i000, Package(){0x31000000})
+ }
+ Increment(i000)
+
+ if (arg3) {
+ mf02(arg0, 3, Buffer(){0,0,4}, arg1, 2, Package(){0,i000})
+ }
+ if (arg4) {
+ mfec(arg1, 2, Package(){0,i000}, 0x30000002)
+ }
+ Increment(i000)
+ if (arg3) {
+ mm02(arg1, 0, i000, Package(){0x31000001})
+ }
+ Increment(i000)
+
+ if (arg3) {
+ mf02(arg0, 2, Buffer(){0,4}, arg1, 2, Package(){0,i000})
+ }
+ if (arg4) {
+ mfec(arg1, 2, Package(){0,i000}, 0x20000002)
+ }
+ Increment(i000)
+ if (arg3) {
+ mm02(arg1, 0, i000, Package(){0x31000002})
+ }
+ Increment(i000)
+
+ if (arg3) {
+ mf02(arg0, 1, Buffer(){4}, arg1, 2, Package(){0,i000})
+ }
+ if (arg4) {
+ mfec(arg1, 2, Package(){0,i000}, 0x10000002)
+ }
+ Increment(i000)
+ if (arg3) {
+ mm02(arg1, 0, i000, Package(){0x31000003})
+ }
+ Increment(i000)
+
+ /*
+ * Create IRefs to all levels from 1-level Package.
+ * Alternate IRefs with Packages.
+ */
+
+ Store(arg2, i000)
+ if (arg3) {
+ mf02(arg0, 4, Buffer(){0,0,0,0}, arg1, 1, Package(){i000})
+ }
+ if (arg4) {
+ mfec(arg1, 1, Package(){i000}, 0x40000000)
+ }
+ Increment(i000)
+ if (arg3) {
+ mm01(arg1, i000, Package(){0x21000000})
+ }
+ Increment(i000)
+
+ if (arg3) {
+ mf02(arg0, 3, Buffer(){0,0,4}, arg1, 1, Package(){i000})
+ }
+ if (arg4) {
+ mfec(arg1, 1, Package(){i000}, 0x30000002)
+ }
+ Increment(i000)
+ if (arg3) {
+ mm01(arg1, i000, Package(){0x21000001})
+ }
+ Increment(i000)
+
+ if (arg3) {
+ mf02(arg0, 2, Buffer(){0,4}, arg1, 1, Package(){i000})
+ }
+ if (arg4) {
+ mfec(arg1, 1, Package(){i000}, 0x20000002)
+ }
+ Increment(i000)
+ if (arg3) {
+ mm01(arg1, i000, Package(){0x21000002})
+ }
+ Increment(i000)
+
+ if (arg3) {
+ mf02(arg0, 1, Buffer(){4}, arg1, 1, Package(){i000})
+ }
+ if (arg4) {
+ mfec(arg1, 1, Package(){i000}, 0x10000002)
+ }
+ Increment(i000)
+ if (arg3) {
+ mm01(arg1, i000, Package(){0x21000003})
+ }
+ Increment(i000)
+ }
+
+ /* Verification */
+ Method(mmm2)
+ {
+ m004(p000, 0, 0, 0, 0, 0x40000000)
+ m004(p000, 0, 0, 2, 0, 0x40000001)
+ m004(p000, 0, 2, 0, 0, 0x40000002)
+ m004(p000, 0, 2, 2, 0, 0x40000003)
+ m004(p000, 2, 0, 0, 0, 0x40000004)
+ m004(p000, 2, 0, 2, 0, 0x40000005)
+ m004(p000, 2, 2, 0, 0, 0x40000006)
+ m004(p000, 2, 2, 2, 0, 0x40000007)
+ m003(p000, 0, 0, 4, 0x30000002)
+ m003(p000, 0, 2, 4, 0x30000005)
+ m003(p000, 2, 0, 4, 0x30000008)
+ m003(p000, 2, 2, 4, 0x3000000b)
+ m002(p000, 0, 4, 0x20000002)
+ m002(p000, 2, 4, 0x20000005)
+ m001(p000, 4, 0x10000002)
+ }
+
+ SRMT("mfee")
+
+ mmm0(8)
+
+ mmm1(p000, p000, 18, 1, 1)
+ mmm1(p000, p001, 28, 1, 1)
+ mmm1(p001, p001, 38, 1, 1)
+ mmm1(p001, p000, 48, 1, 1)
+
+ mmm1(0, p000, 18, 0, 1)
+ mmm1(0, p001, 28, 0, 1)
+ mmm1(0, p001, 38, 0, 1)
+ mmm1(0, p000, 48, 0, 1)
+
+ mmm2()
+
+ /* Repeat the same */
+
+ mmm0(8)
+
+ mmm1(p000, p000, 18, 1, 1)
+ mmm1(p000, p001, 28, 1, 1)
+ mmm1(p001, p001, 38, 1, 1)
+ mmm1(p001, p000, 48, 1, 1)
+
+ mmm1(0, p000, 18, 0, 1)
+ mmm1(0, p001, 28, 0, 1)
+ mmm1(0, p001, 38, 0, 1)
+ mmm1(0, p000, 48, 0, 1)
+
+ mmm2()
+}
+
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0135/Mix.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0135/Mix.asl
new file mode 100644
index 000000000..e14aa7ebb
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0135/Mix.asl
@@ -0,0 +1,761 @@
+/*
+ * 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.
+ */
+
+/*
+ * Mix of IRefs which have different type parents -
+ * Packages, Buffers and Strings.
+ *
+ * Outstanding: 0x7 allocations after execution.
+ */
+
+Method(m80a, 4)
+{
+ Store(DerefOf(DerefOf(Index(arg0, arg1))), Local0)
+ if (LNotEqual(Local0, arg2)) {
+ err("", zFFF, arg3, 0, 0, Local0, arg2)
+ }
+}
+
+Method(m809, 1)
+{
+ Method(mm00, 1)
+ {
+ Name(FL00, 0)
+
+ Name(i000, 0)
+ Name(i001, 0)
+ Name(i002, 0)
+ Name(i003, 0)
+
+ Name(rd00, 0)
+ Name(wr00, 8)
+
+ Name(p000, Package(64){0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07})
+ Name(b000, Buffer(64) {0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17})
+ Name(b001, Buffer(64) {0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27})
+ Name(s000, "01234567")
+ Name(p001, Package(64){0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47})
+ Name(b002, Buffer(64) {0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57})
+ Name(s001, "`abcdefg")
+ Name(p002, Package(64){0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77})
+
+ Store(arg0, FL00)
+
+ Concatenate("Run with FL00 equal to ", FL00, Debug)
+
+ /* Writing IRefs to the same element of package */
+
+ Store(0, rd00)
+ Store(8, wr00)
+
+ Store(Index(p000, rd00), Index(p000, wr00))
+ m80a(p000, wr00, 0x00, 0x500)
+ Store(Index(b000, rd00), Index(p000, wr00))
+ m80a(p000, wr00, 0x10, 0x501)
+ Store(Index(b001, rd00), Index(p000, wr00))
+ m80a(p000, wr00, 0x20, 0x502)
+ Store(Index(s000, rd00), Index(p000, wr00))
+ m80a(p000, wr00, 0x30, 0x503)
+ Store(Index(p001, rd00), Index(p000, wr00))
+ m80a(p000, wr00, 0x40, 0x504)
+ Store(Index(b002, rd00), Index(p000, wr00))
+ m80a(p000, wr00, 0x50, 0x505)
+ Store(Index(s001, rd00), Index(p000, wr00))
+ m80a(p000, wr00, 0x60, 0x506)
+ Store(Index(p002, rd00), Index(p000, wr00))
+ m80a(p000, wr00, 0x70, 0x507)
+
+ Method(m001, 7)
+ {
+ Name(i104, 0)
+ Name(i105, 0)
+ Name(i106, 0)
+
+ if (LEqual(FL00, 1)) {
+
+ Store(arg0, Local0)
+ Store(arg1, Local1)
+ Store(arg2, Local2)
+ Store(arg3, Local3)
+ Store(arg4, Local4)
+ Store(arg5, Local5)
+ Store(arg6, Local6)
+
+ CopyObject(Local0, i000)
+ CopyObject(Local1, i001)
+ CopyObject(Local2, i002)
+ CopyObject(Local3, i003)
+ CopyObject(Local4, i104)
+ CopyObject(Local5, i105)
+ CopyObject(Local6, i106)
+
+ Store(i000, arg0)
+ Store(i001, arg1)
+ Store(i002, arg2)
+ Store(i003, arg3)
+ Store(i104, arg4)
+ Store(i105, arg5)
+ Store(i106, arg6)
+ }
+
+ /* IRefs(1): Write IRefs into 9,10.. */
+
+ Store(1, rd00)
+ Store(8, wr00)
+
+ Store(Index(arg0, rd00), Index(arg0, Increment(wr00)))
+ Store(Index(arg1, rd00), Index(arg0, Increment(wr00)))
+ Store(Index(arg2, rd00), Index(arg0, Increment(wr00)))
+ Store(Index(arg3, rd00), Index(arg0, Increment(wr00)))
+ Store(Index(arg4, rd00), Index(arg0, Increment(wr00)))
+ Store(Index(arg5, rd00), Index(arg0, Increment(wr00)))
+ Store(Index(arg6, rd00), Index(arg0, Increment(wr00)))
+
+ Store(2, rd00)
+ Store(8, wr00)
+
+ Store(Index(arg2, rd00), Index(arg4, Increment(wr00)))
+ Store(Index(arg3, rd00), Index(arg4, Increment(wr00)))
+ Store(Index(arg4, rd00), Index(arg4, Increment(wr00)))
+ Store(Index(arg5, rd00), Index(arg4, Increment(wr00)))
+ Store(Index(arg6, rd00), Index(arg4, Increment(wr00)))
+
+ Store(3, rd00)
+ Store(15, wr00)
+
+ Store(Index(arg1, rd00), Index(arg0, Increment(wr00)))
+ Store(Index(arg3, rd00), Index(arg0, Increment(wr00)))
+ Store(Index(arg4, rd00), Index(arg0, Increment(wr00)))
+
+ /* Writing IRefs to the same (8-th) element of package */
+
+ Store(0, rd00)
+ Store(8, wr00)
+
+ Store(Index(arg0, rd00), Index(arg0, wr00))
+ m80a(arg0, wr00, 0x00, 0x508)
+ Store(Index(arg1, rd00), Index(arg0, wr00))
+ m80a(arg0, wr00, 0x10, 0x509)
+ Store(Index(arg2, rd00), Index(arg0, wr00))
+ m80a(arg0, wr00, 0x20, 0x50a)
+ Store(Index(arg3, rd00), Index(arg0, wr00))
+ m80a(arg0, wr00, 0x30, 0x50b)
+ Store(Index(arg4, rd00), Index(arg0, wr00))
+ m80a(arg0, wr00, 0x40, 0x50c)
+ Store(Index(arg5, rd00), Index(arg0, wr00))
+ m80a(arg0, wr00, 0x50, 0x50d)
+ Store(Index(arg6, rd00), Index(arg0, wr00))
+ m80a(arg0, wr00, 0x60, 0x50e)
+
+ Store(4, rd00)
+ Store(20, wr00)
+
+ Store(Index(arg0, rd00), Index(arg0, wr00))
+ m80a(arg0, wr00, 0x04, 0x50f)
+ Store(Index(arg0, rd00), Index(arg4, wr00))
+ m80a(arg4, wr00, 0x04, 0x510)
+
+ Store(Index(arg1, rd00), Index(arg0, wr00))
+ m80a(arg0, wr00, 0x14, 0x511)
+ Store(Index(arg1, rd00), Index(arg4, wr00))
+ m80a(arg4, wr00, 0x14, 0x512)
+
+ Store(Index(arg2, rd00), Index(arg0, wr00))
+ m80a(arg0, wr00, 0x24, 0x513)
+ Store(Index(arg2, rd00), Index(arg4, wr00))
+ m80a(arg4, wr00, 0x24, 0x514)
+
+ Store(Index(arg3, rd00), Index(arg0, wr00))
+ m80a(arg0, wr00, 0x34, 0x515)
+ Store(Index(arg3, rd00), Index(arg4, wr00))
+ m80a(arg4, wr00, 0x34, 0x516)
+
+ Store(Index(arg4, rd00), Index(arg0, wr00))
+ m80a(arg0, wr00, 0x44, 0x517)
+ Store(Index(arg4, rd00), Index(arg4, wr00))
+ m80a(arg4, wr00, 0x44, 0x518)
+
+ Store(Index(arg5, rd00), Index(arg0, wr00))
+ m80a(arg0, wr00, 0x54, 0x519)
+ Store(Index(arg5, rd00), Index(arg4, wr00))
+ m80a(arg4, wr00, 0x54, 0x51a)
+
+ Store(Index(arg6, rd00), Index(arg0, wr00))
+ m80a(arg0, wr00, 0x64, 0x51b)
+ Store(Index(arg6, rd00), Index(arg4, wr00))
+ m80a(arg4, wr00, 0x64, 0x51c)
+
+ /* Read by IRefs (1) */
+
+ Store(8, wr00)
+ m80a(arg0, Increment(wr00), 0x01, 0x51d)
+ m80a(arg0, Increment(wr00), 0x11, 0x51e)
+ m80a(arg0, Increment(wr00), 0x21, 0x51f)
+ m80a(arg0, Increment(wr00), 0x31, 0x520)
+ m80a(arg0, Increment(wr00), 0x41, 0x521)
+ m80a(arg0, Increment(wr00), 0x51, 0x522)
+ m80a(arg0, Increment(wr00), 0x61, 0x523)
+
+ Store(8, wr00)
+ m80a(arg4, Increment(wr00), 0x22, 0x524)
+ m80a(arg4, Increment(wr00), 0x32, 0x525)
+ m80a(arg4, Increment(wr00), 0x42, 0x526)
+ m80a(arg4, Increment(wr00), 0x52, 0x527)
+ m80a(arg4, Increment(wr00), 0x62, 0x528)
+
+ Store(15, wr00)
+ m80a(arg0, Increment(wr00), 0x13, 0x529)
+ m80a(arg0, Increment(wr00), 0x33, 0x52a)
+ m80a(arg0, Increment(wr00), 0x43, 0x52b)
+ }
+
+ m001(p000,b000,b001,s000,p001,b002,s001)
+
+ Method(m002, 7)
+ {
+ Name(i104, 0)
+ Name(i105, 0)
+ Name(i106, 0)
+
+ Store(0, rd00)
+ Store(8, wr00)
+
+ Store(arg0, Local0)
+ Store(Index(Local0, rd00), Index(arg0, wr00))
+ m80a(arg0, wr00, 0x00, 0x52c)
+ Store(arg1, Local0)
+ Store(Index(Local0, rd00), Index(arg0, wr00))
+ m80a(arg0, wr00, 0x10, 0x52d)
+ Store(arg2, Local0)
+ Store(Index(Local0, rd00), Index(arg0, wr00))
+ m80a(arg0, wr00, 0x20, 0x52e)
+ Store(arg3, Local0)
+ Store(Index(Local0, rd00), Index(arg0, wr00))
+ m80a(arg0, wr00, 0x30, 0x52f)
+ Store(arg4, Local0)
+ Store(Index(Local0, rd00), Index(arg0, wr00))
+ m80a(arg0, wr00, 0x40, 0x530)
+ Store(arg5, Local0)
+ Store(Index(Local0, rd00), Index(arg0, wr00))
+ m80a(arg0, wr00, 0x50, 0x531)
+ Store(arg6, Local0)
+ Store(Index(Local0, rd00), Index(arg0, wr00))
+ m80a(arg0, wr00, 0x60, 0x532)
+
+ m001(arg0,arg1,arg2,arg3,arg4,arg5,arg6)
+
+ Store(arg0, Local0)
+ Store(arg1, Local1)
+ Store(arg2, Local2)
+ Store(arg3, Local3)
+ Store(arg4, Local4)
+ Store(arg5, Local5)
+ Store(arg6, Local6)
+ m001(Local0,Local1,Local2,Local3,Local4,Local5,Local6)
+
+ CopyObject(arg0, i000)
+ CopyObject(arg1, i001)
+ CopyObject(arg2, i002)
+ CopyObject(arg3, i003)
+ CopyObject(arg4, i104)
+ CopyObject(arg5, i105)
+ CopyObject(arg6, i106)
+ m001(i000,i001,i002,i003,i104,i105,i106)
+
+ Store(arg0, Local0)
+ Store(arg1, Local1)
+ Store(arg2, Local2)
+ Store(arg3, Local3)
+ Store(arg4, Local4)
+ Store(arg5, Local5)
+ Store(arg6, Local6)
+
+ Store(Local0, arg0)
+ Store(Local1, arg1)
+ Store(Local2, arg2)
+ Store(Local3, arg3)
+ Store(Local4, arg4)
+ Store(Local5, arg5)
+ Store(Local6, arg6)
+ m001(arg0,arg1,arg2,arg3,arg4,arg5,arg6)
+
+ CopyObject(arg0, i000)
+ CopyObject(arg1, i001)
+ CopyObject(arg2, i002)
+ CopyObject(arg3, i003)
+ CopyObject(arg4, i104)
+ CopyObject(arg5, i105)
+ CopyObject(arg6, i106)
+
+ Store(i000, arg0)
+ Store(i001, arg1)
+ Store(i002, arg2)
+ Store(i003, arg3)
+ Store(i104, arg4)
+ Store(i105, arg5)
+ Store(i106, arg6)
+ m001(arg0,arg1,arg2,arg3,arg4,arg5,arg6)
+ }
+
+ m002(p000,b000,b001,s000,p001,b002,s001)
+ } /* mm00 */
+
+ mm00(arg0)
+}
+
+Method(m80b)
+{
+ Name(rd00, 0)
+ Name(wr00, 8)
+ Name(wr01, 9)
+
+ Name(p000, Package(64){0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07})
+ Name(p001, Package(64){0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17})
+ Name(p002, Package(64){0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27})
+ Name(p003, Package(64){0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37})
+
+ /*
+ * 1 -
+ * write reference to p001[0] into p002[wr00]
+ * save reference to p002[wr00] into Local0
+ */
+
+ Store(0, rd00)
+ Store(8, wr00)
+
+ Store(Index(p001, rd00), Index(p002, wr00))
+ m80a(p002, wr00, 0x10, 0x533)
+
+ Store(Index(p002, wr00), Local0)
+
+ Store(DerefOf(DerefOf(Local0)), Local1)
+ if (LNotEqual(Local1, 0x10)) {
+ err("", zFFF, 0x534, 0, 0, Local1, 0x10)
+ }
+
+ /*
+ * 2 -
+ * re-write reference to p001[5] into p002[wr00]
+ * use the old reference to p002[wr00] saved into Local0
+ */
+
+ Store(DerefOf(DerefOf(Local0)), Local1)
+ if (LNotEqual(Local1, 0x10)) {
+ err("", zFFF, 0x534, 0, 0, Local1, 0x10)
+ }
+
+ Store(5, rd00)
+ Store(8, wr00)
+
+ Store(Index(p001, rd00), Index(p002, wr00))
+ m80a(p002, wr00, 0x15, 0x535)
+
+ Store(DerefOf(DerefOf(Local0)), Local1)
+ if (LNotEqual(Local1, 0x15)) {
+ err("", zFFF, 0x536, 0, 0, Local1, 0x15)
+ }
+
+ /*
+ * 1 -
+ * write reference to p001[0] into p001[wr00]
+ * save reference to p001[wr00] into Local0
+ */
+
+ Store(0, rd00)
+ Store(8, wr00)
+
+ Store(Index(p001, rd00), Index(p001, wr00))
+ m80a(p001, wr00, 0x10, 0x537)
+
+ Store(Index(p001, wr00), Local0)
+
+ Store(DerefOf(DerefOf(Local0)), Local1)
+ if (LNotEqual(Local1, 0x10)) {
+ err("", zFFF, 0x538, 0, 0, Local1, 0x10)
+ }
+
+ /*
+ * 2 -
+ * re-write reference to p001[5] into p001[wr00]
+ * use the old reference to p001[wr00] saved into Local0
+ */
+
+ Store(DerefOf(DerefOf(Local0)), Local1)
+ if (LNotEqual(Local1, 0x10)) {
+ err("", zFFF, 0x539, 0, 0, Local1, 0x10)
+ }
+
+ Store(5, rd00)
+ Store(8, wr00)
+
+ Store(Index(p001, rd00), Index(p001, wr00))
+ m80a(p001, wr00, 0x15, 0x53a)
+
+ Store(DerefOf(DerefOf(Local0)), Local1)
+ if (LNotEqual(Local1, 0x15)) {
+ err("", zFFF, 0x53b, 0, 0, Local1, 0x15)
+ }
+
+ /*
+ * 1 -
+ * write reference to p001[0] into p002[wr00]
+ * save reference to p002[wr00] into p003[wr00]
+ */
+
+ Store(7, rd00)
+ Store(8, wr00)
+
+ Store(Index(p001, rd00), Index(p002, wr00))
+ m80a(p002, wr00, 0x17, 0x53c)
+
+ Store(Index(p002, wr00), Index(p003, wr00))
+ Store(DerefOf(DerefOf(DerefOf(Index(p003, wr00)))), Local1)
+ if (LNotEqual(Local1, 0x17)) {
+ err("", zFFF, 0x53d, 0, 0, Local1, 0x17)
+ }
+
+ /*
+ * 2 -
+ * re-write reference to p001[5] into p002[wr00]
+ * use the old reference to p002[wr00] saved into p003[wr00]
+ */
+
+ Store(DerefOf(DerefOf(DerefOf(Index(p003, wr00)))), Local1)
+ if (LNotEqual(Local1, 0x17)) {
+ err("", zFFF, 0x53e, 0, 0, Local1, 0x17)
+ }
+
+ Store(6, rd00)
+ Store(8, wr00)
+
+ Store(Index(p001, rd00), Index(p002, wr00))
+ m80a(p002, wr00, 0x16, 0x53f)
+
+ Store(DerefOf(DerefOf(DerefOf(Index(p003, wr00)))), Local1)
+ if (LNotEqual(Local1, 0x16)) {
+ err("", zFFF, 0x540, 0, 0, Local1, 0x16)
+ }
+
+ /*
+ * 1 -
+ * write reference to p001[0] into p001[wr00]
+ * save reference to p001[wr00] into p003[wr00]
+ */
+
+ Store(7, rd00)
+ Store(8, wr00)
+
+ Store(Index(p001, rd00), Index(p001, wr00))
+ m80a(p001, wr00, 0x17, 0x541)
+
+ Store(Index(p001, wr00), Index(p003, wr00))
+ Store(DerefOf(DerefOf(DerefOf(Index(p003, wr00)))), Local1)
+ if (LNotEqual(Local1, 0x17)) {
+ err("", zFFF, 0x542, 0, 0, Local1, 0x17)
+ }
+
+ /*
+ * 2 -
+ * re-write reference to p001[5] into p001[wr00]
+ * use the old reference to p001[wr00] saved into p003[wr00]
+ */
+
+ Store(DerefOf(DerefOf(DerefOf(Index(p003, wr00)))), Local1)
+ if (LNotEqual(Local1, 0x17)) {
+ err("", zFFF, 0x543, 0, 0, Local1, 0x17)
+ }
+
+ Store(6, rd00)
+ Store(8, wr00)
+
+ Store(Index(p001, rd00), Index(p001, wr00))
+ m80a(p001, wr00, 0x16, 0x544)
+
+ Store(DerefOf(DerefOf(DerefOf(Index(p003, wr00)))), Local1)
+ if (LNotEqual(Local1, 0x16)) {
+ err("", zFFF, 0x545, 0, 0, Local1, 0x16)
+ }
+
+ /*
+ * 1 -
+ * write reference to p001[0] into p001[wr00]
+ * save reference to p001[wr00] into p001[wr00]
+ */
+
+ Store(7, rd00)
+ Store(8, wr00)
+ Store(9, wr01)
+
+ Store(Index(p001, rd00), Index(p001, wr00))
+ m80a(p001, wr00, 0x17, 0x546)
+
+ Store(Index(p001, wr00), Index(p001, wr01))
+ Store(DerefOf(DerefOf(DerefOf(Index(p001, wr01)))), Local1)
+ if (LNotEqual(Local1, 0x17)) {
+ err("", zFFF, 0x547, 0, 0, Local1, 0x17)
+ }
+
+ /*
+ * 2 -
+ * re-write reference to p001[5] into p001[wr00]
+ * use the old reference to p001[wr00] saved into p001[wr01]
+ */
+
+ Store(DerefOf(DerefOf(DerefOf(Index(p001, wr01)))), Local1)
+ if (LNotEqual(Local1, 0x17)) {
+ err("", zFFF, 0x548, 0, 0, Local1, 0x17)
+ }
+
+ Store(6, rd00)
+ Store(8, wr00)
+
+ Store(Index(p001, rd00), Index(p001, wr00))
+ m80a(p001, wr00, 0x16, 0x549)
+
+ Store(DerefOf(DerefOf(DerefOf(Index(p001, wr01)))), Local1)
+ if (LNotEqual(Local1, 0x16)) {
+ err("", zFFF, 0x54a, 0, 0, Local1, 0x16)
+ }
+}
+
+Method(m80c)
+{
+ Name(p000, Package(8) {0x78,1,2})
+ Name(p001, Package(8) {0,1,2,3,4,5,6,7})
+
+ Store(Index(p000, 0), Local0)
+ Store(Local0, Index(p001, 0))
+ Store(Local0, Index(p001, 1))
+ Store(Local0, Index(p001, 2))
+ Store(Local0, Index(p001, 3))
+ Store(Local0, Index(p001, 4))
+ Store(Local0, Index(p001, 5))
+ Store(Local0, Index(p001, 6))
+ Store(Local0, Index(p001, 7))
+
+ Store(Local0, Index(p000, 0))
+ Store(Local0, Index(p000, 1))
+ Store(Local0, Index(p000, 2))
+ Store(Local0, Index(p000, 3))
+ Store(Local0, Index(p000, 4))
+ Store(Local0, Index(p000, 5))
+ Store(Local0, Index(p000, 6))
+ Store(Local0, Index(p000, 7))
+
+ Store(Local0, Index(p001, 0))
+ Store(Local0, Index(p000, 0))
+ Store(Local0, Index(p001, 1))
+ Store(Local0, Index(p000, 1))
+ Store(Local0, Index(p001, 2))
+ Store(Local0, Index(p000, 2))
+ Store(Local0, Index(p001, 3))
+ Store(Local0, Index(p000, 3))
+ Store(Local0, Index(p001, 4))
+ Store(Local0, Index(p000, 4))
+ Store(Local0, Index(p001, 5))
+ Store(Local0, Index(p000, 5))
+ Store(Local0, Index(p001, 6))
+ Store(Local0, Index(p000, 6))
+ Store(Local0, Index(p001, 7))
+ Store(Local0, Index(p000, 7))
+
+ Store(p000, Index(p001, 7))
+ Store(p000, Index(p000, 7))
+
+ Store(p001, Index(p001, 6))
+ Store(p001, Index(p000, 6))
+}
+
+Method(m80d)
+{
+ Name(p000, Package(8) {0x78,1,2})
+ Name(p001, Package(8) {0,1,2,3,4,5,6,7})
+
+ Store(Index(p000, 0), Index(p001, 0))
+ Store(DerefOf(Index(p001, 0)), Index(p001, 1))
+ Store(DerefOf(Index(p001, 0)), Index(p001, 2))
+ Store(DerefOf(Index(p001, 0)), Index(p001, 3))
+ Store(DerefOf(Index(p001, 0)), Index(p001, 4))
+ Store(DerefOf(Index(p001, 0)), Index(p001, 5))
+ Store(DerefOf(Index(p001, 0)), Index(p001, 6))
+ Store(DerefOf(Index(p001, 0)), Index(p001, 7))
+
+ Store(Index(p001, 0), Index(p000, 0))
+ Store(DerefOf(Index(p000, 0)), Index(p000, 1))
+ Store(DerefOf(Index(p000, 0)), Index(p000, 2))
+ Store(DerefOf(Index(p000, 0)), Index(p000, 3))
+ Store(DerefOf(Index(p000, 0)), Index(p000, 4))
+ Store(DerefOf(Index(p000, 0)), Index(p000, 5))
+ Store(DerefOf(Index(p000, 0)), Index(p000, 6))
+ Store(DerefOf(Index(p000, 0)), Index(p000, 7))
+
+ Store(Index(p000, 0), Index(p001, 0))
+ Store(DerefOf(Index(p001, 0)), Index(p001, 1))
+ Store(DerefOf(Index(p001, 0)), Index(p001, 2))
+ Store(DerefOf(Index(p001, 0)), Index(p001, 3))
+ Store(DerefOf(Index(p001, 0)), Index(p001, 4))
+ Store(DerefOf(Index(p001, 0)), Index(p001, 5))
+ Store(DerefOf(Index(p001, 0)), Index(p001, 6))
+ Store(DerefOf(Index(p001, 0)), Index(p001, 7))
+
+ Store(Index(p001, 0), Index(p000, 0))
+ Store(DerefOf(Index(p000, 0)), Index(p000, 1))
+ Store(DerefOf(Index(p000, 0)), Index(p000, 2))
+ Store(DerefOf(Index(p000, 0)), Index(p000, 3))
+ Store(DerefOf(Index(p000, 0)), Index(p000, 4))
+ Store(DerefOf(Index(p000, 0)), Index(p000, 5))
+ Store(DerefOf(Index(p000, 0)), Index(p000, 6))
+ Store(DerefOf(Index(p000, 0)), Index(p000, 7))
+
+ Store(p000, Index(p001, 7))
+ Store(p000, Index(p000, 7))
+
+ Store(p001, Index(p001, 6))
+ Store(p001, Index(p000, 6))
+}
+
+Method(m80e)
+{
+ Name(p000, Package(64){0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07})
+ Name(b000, Buffer(64) {0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17})
+
+ Method(m000, 2)
+ {
+ Store(DerefOf(DerefOf(Index(p000, arg1))), Local0)
+ }
+
+ Method(m001)
+ {
+ Method(m002)
+ {
+ Store(Index(p000, 1), Index(p000, 9))
+ Store(Index(b000, 1), Index(p000, 10))
+
+ m000(p000,9)
+ m000(p000,10)
+ }
+
+ m002()
+ }
+
+ Method(m003, 2)
+ {
+ Store(DerefOf(DerefOf(Index(arg0, arg1))), Local0)
+ }
+
+ Method(m004)
+ {
+ Name(p000, Package(64){0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07})
+ Name(b000, Buffer(64) {0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17})
+
+ Method(m005)
+ {
+ Store(Index(p000, 1), Index(p000, 9))
+ Store(Index(b000, 1), Index(p000, 10))
+
+ m003(p000,9)
+ m003(p000,10)
+ }
+
+ m005()
+ }
+
+ Method(m006, 2)
+ {
+ Store(Index(p000, arg1), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(DerefOf(Local1), Local2)
+ }
+
+ Method(m007)
+ {
+ Method(m008)
+ {
+ Store(Index(p000, 1), Index(p000, 9))
+ Store(Index(b000, 1), Index(p000, 10))
+
+ m006(p000,9)
+ m006(p000,10)
+ }
+
+ m008()
+ }
+
+ m001()
+ m004()
+ m007()
+}
+
+Method(m812)
+{
+ Name(p000, Package(64){0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07})
+ Name(b000, Buffer(64) {0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17})
+
+ Method(m000, 2)
+ {
+ Store(Index(p000, arg1), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(DerefOf(Local1), Local2)
+ }
+
+ Method(m001)
+ {
+ Method(m002)
+ {
+ Store(Index(p000, 1), Index(p000, 9))
+ Store(Index(b000, 1), Index(p000, 10))
+
+ m000(p000,9)
+ m000(p000,10)
+ }
+
+ m002()
+ }
+
+ m001()
+}
+
+Method(m808)
+{
+ SRMT("m809-0")
+ m809(0)
+ SRMT("m809-1")
+ m809(1)
+ SRMT("m80b")
+ m80b()
+ SRMT("m80c")
+ m80c()
+ SRMT("m80d")
+ m80d()
+ SRMT("m80e")
+ m80e()
+ SRMT("m812")
+ m812()
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0135/PkgsHierarchy.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0135/PkgsHierarchy.asl
new file mode 100644
index 000000000..e178c4770
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0135/PkgsHierarchy.asl
@@ -0,0 +1,1844 @@
+/*
+ * 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.
+ */
+
+/*
+ * Hierarchy of Packages
+ *
+ * It is a 4-level (not including the root Package-node) hierarchy
+ * of Packages. Each package (pkg-node), including the root Package,
+ * has 4 Packages which (not including Package-nodes of the last
+ * 3-th level) in turn has 4 children.
+ * Generate and put into each pkg-node references to all other
+ * pkg-nodes. Then go round all the pkg-nodes and verify read-access
+ * through all the references packed into each of those nodes.
+ *
+ * 0x22 Outstanding allocations because of
+ * AcpiExec doesn't run the unload of the table have been processed.
+ * All they are caused by call to SRMT Method.
+ *
+ * Outstanding: 0x22 allocations after execution.
+ *
+ * chn0 - set it to either 1 or 2:
+ * Name(chn0, 1) // number of children of pkg-node to be actually processed (1,2,3,4)
+ */
+
+/*
+ * Bit-maps of operations
+ */
+Name(OP00, 0x01) // read and verify Integer-IDs
+Name(OP01, 0x02) // re-write Integer-IDs
+Name(OP02, 0x04) // re-write the whole pkg-nodes
+Name(OP03, 0x08) // re-write references
+Name(OPFF, 0x0F) // mask of opcode of operation
+Name(OP10, 0x0f0000) // type of current (read) Integer-IDs
+Name(OP11, 0x0f00000) // type of new (re-write) Integer-IDs
+
+/*
+ * Generate references to arg2-number elements of all pkg-nodes
+ * of arg0 and pack up them per-level into arg1.
+ *
+ * arg0 - reference to (Package,pHR0), IRefs to arg2 elements of Pkg-nodes of pHR0
+ * arg1 - (Package,pIRx), are to be stored into elements of pIRx (from 0).
+ * arg2 - number of children of pkg-node to be actually processed
+ * arg3 - index of elements of pkg-nodes of arg0 to be pointed to by ref
+ */
+Method(mfdd, 4)
+{
+ Name(ind0, 0) // cur index of element of arg1-Package where to store ref
+ Name(ind1, 0)
+ Name(ind2, 0)
+ Name(ind3, 0)
+
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+ Name(lpN1, 0)
+ Name(lpC1, 0)
+ Name(lpN2, 0)
+ Name(lpC2, 0)
+ Name(lpN3, 0)
+ Name(lpC3, 0)
+
+ Store(arg2, lpN0)
+ Store(0, lpC0)
+ While (lpN0) {
+
+ Store(Index(DerefOf(arg0), lpC0), Index(DerefOf(Index(arg1, 0)), ind0))
+
+ Store(arg2, lpN1)
+ Store(0, lpC1)
+ While (lpN1) {
+
+ Store(Index(DerefOf(Index(DerefOf(arg0), lpC0)), lpC1), Index(DerefOf(Index(arg1, 1)), ind1))
+
+ Store(arg2, lpN2)
+ Store(0, lpC2)
+ While (lpN2) {
+
+ Store(Index(DerefOf(Index(DerefOf(Index(DerefOf(arg0), lpC0)), lpC1)), lpC2), Index(DerefOf(Index(arg1, 2)), ind2))
+
+ Store(arg2, lpN3)
+ Store(0, lpC3)
+ While (lpN3) {
+
+ Store(Index(DerefOf(Index(DerefOf(Index(DerefOf(Index(DerefOf(arg0), lpC0)), lpC1)), lpC2)), lpC3), Index(DerefOf(Index(arg1, 3)), ind3))
+
+ Increment(ind3)
+ Decrement(lpN3)
+ Increment(lpC3)
+ }
+ Increment(ind2)
+ Decrement(lpN2)
+ Increment(lpC2)
+ }
+ Increment(ind1)
+ Decrement(lpN1)
+ Increment(lpC1)
+ }
+ Increment(ind0)
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+}
+
+/*
+ * Put reference arg3 into arg2-th elements of all Pkg-nodes of pHR0 Package
+ *
+ * arg0 - reference to Package,pHR0
+ * arg1 - number of children of pkg-node to be actually processed
+ * arg2 - index in arg0-pkg-nodes where to store reference
+ * arg3 - reference
+ */
+Method(mfde, 4)
+{
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+ Name(lpN1, 0)
+ Name(lpC1, 0)
+ Name(lpN2, 0)
+ Name(lpC2, 0)
+ Name(lpN3, 0)
+ Name(lpC3, 0)
+
+
+ Store(arg1, lpN0)
+ Store(0, lpC0)
+ While (lpN0) {
+
+ Index(DerefOf(arg0), lpC0, Local0)
+ Store(arg3, Index(DerefOf(Local0), arg2))
+
+ Store(arg1, lpN1)
+ Store(0, lpC1)
+ While (lpN1) {
+
+ Index(DerefOf(arg0), lpC0, Local0)
+ Store(arg3, Index(DerefOf(Index(DerefOf(Local0), lpC1)), arg2))
+
+ Store(arg1, lpN2)
+ Store(0, lpC2)
+ While (lpN2) {
+
+ Index(DerefOf(arg0), lpC0, Local0)
+ Store(arg3, Index(DerefOf(Index(DerefOf(Index(DerefOf(Local0), lpC1)), lpC2)), arg2))
+
+ Store(arg1, lpN3)
+ Store(0, lpC3)
+ While (lpN3) {
+
+ Index(DerefOf(arg0), lpC0, Local0)
+ Store(arg3, Index(DerefOf(Index(DerefOf(Index(DerefOf(Index(DerefOf(Local0), lpC1)), lpC2)), lpC3)), arg2))
+
+ Decrement(lpN3)
+ Increment(lpC3)
+ }
+ Decrement(lpN2)
+ Increment(lpC2)
+ }
+ Decrement(lpN1)
+ Increment(lpC1)
+ }
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+}
+
+/*
+ * Put elements of package arg0 (references) into elements of arg1
+ *
+ * arg0 - pIRx-Package (references)
+ * arg1 - reference to pHRx-Package (hierarchy) - where to put references
+ * arg2 - number of children of pkg-node to be actually processed
+ * arg3 - start index in arg1 where to store references
+ */
+Method(mfdf, 4)
+{
+ Name(ind0, 0)
+ Name(num, 0)
+
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+
+ Name(pp00, Package(1) {})
+ Name(pp01, Package(1) {})
+
+
+ Store(arg2, num)
+
+ /* Level 0 */
+
+ Store(Index(arg0, 0), Local0)
+ Store(DerefOf(Local0), pp00)
+
+ Store(arg3, ind0)
+
+ Store(num, lpN0)
+ Store(0, lpC0)
+ While (lpN0) {
+
+ Index(pp00, lpC0, Local0)
+ Store(DerefOf(Local0), Local1)
+
+ mfde(arg1, arg2, ind0, Local1)
+
+ Increment(ind0)
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+
+ /* Level 1 */
+
+ Store(Index(arg0, 1), Local0)
+ Store(DerefOf(Local0), pp00)
+
+ Multiply(num, arg2, num)
+
+ Store(num, lpN0)
+ Store(0, lpC0)
+ While (lpN0) {
+
+ Index(pp00, lpC0, Local0)
+ Store(DerefOf(Local0), Local1)
+
+ mfde(arg1, arg2, ind0, Local1)
+
+ Increment(ind0)
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+
+ /* Level 2 */
+
+ Store(Index(arg0, 2), Local0)
+ Store(DerefOf(Local0), pp00)
+
+ Multiply(num, arg2, num)
+
+ Store(num, lpN0)
+ Store(0, lpC0)
+ While (lpN0) {
+
+ Index(pp00, lpC0, Local0)
+ Store(DerefOf(Local0), Local1)
+
+ mfde(arg1, arg2, ind0, Local1)
+
+ Increment(ind0)
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+
+ /* Level 3 */
+
+ Store(Index(arg0, 3), Local0)
+ Store(DerefOf(Local0), pp00)
+
+ Multiply(num, arg2, num)
+
+ Store(num, lpN0)
+ Store(0, lpC0)
+ While (lpN0) {
+
+ Index(pp00, lpC0, Local0)
+ Store(DerefOf(Local0), Local1)
+
+ mfde(arg1, arg2, ind0, Local1)
+
+ Increment(ind0)
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+}
+
+/*
+ * Generate the benchmark value of Integer-ID and
+ * verify by it the actual value of Integer-ID.
+ *
+ * arg0 - coefficient of maximal hierarchy of Packages
+ * arg1 - number of children of pkg-node to be actually processed
+ * arg2 - level + index inside level of source pkg-node
+ * arg3 - level + index inside level of target pkg-node
+ * arg4 - the value of Integer-ID
+ * arg5 - bit-map of operations
+ */
+Method(mfe2, 6)
+{
+ /* Index */
+
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+
+ Name(lls0, 0) // level of source pkg-node
+ Name(ins0, 0) // index inside level of source pkg-node
+ Name(llt0, 0) // level of target pkg-node
+ Name(int0, 0) // index inside level of target pkg-node
+
+ Store(0, Local7)
+
+ And(arg2, 0x0ffff, ins0)
+ ShiftRight(arg2, 16, Local0)
+ And(Local0, 0x0ffff, lls0)
+
+ And(arg3, 0x0ffff, int0)
+ ShiftRight(arg3, 16, Local0)
+ And(Local0, 0x0ffff, llt0)
+
+ And(int0, 0x0ffff, Local2)
+
+ if (llt0) {
+
+ /*
+ * ASSUMPTION: 256 on 3-th level is maximum
+ * for this model of packages
+ */
+ Divide(Local2, 8, Local0, Local1)
+ Multiply(Local1, 64, Local5)
+
+ Divide(Local0, 4, Local0, Local1)
+ Multiply(Local1, 16, Local6)
+ Add(Local5, Local6, Local5)
+
+ Divide(Local0, 2, Local0, Local1)
+ Multiply(Local1, 4, Local6)
+ Add(Local5, Local6, Local5)
+
+ Add(Local5, Local0, Local5)
+ } else {
+ Store(Local2, Local5)
+ }
+
+ Or(0xab000000, Local5, Local3)
+
+ /* Level */
+
+ And(llt0, 0x0f, Local0)
+ ShiftLeft(Local0, 16, Local1)
+ Or(Local1, Local3, Local0)
+
+ Store(mfe3(Local0, arg5, 0), Local1)
+
+ if (LNotEqual(arg4, Local1)) {
+ Store(1, Local7)
+ err("", zFFF, 0x201, 0, 0, arg4, Local1)
+ Store("================= Params:", debug)
+ Store(arg0, Debug)
+ Store(arg1, Debug)
+ Store(arg2, Debug)
+ Store(arg3, Debug)
+ Store(arg4, Debug)
+ Store(arg5, Debug)
+ Store(lls0, Debug)
+ Store(ins0, Debug)
+ Store(llt0, Debug)
+ Store(int0, Debug)
+ Store("=================.", debug)
+ }
+
+ return (Local7)
+}
+
+/*
+ * Modify Integer-ID
+ *
+ * arg0 - the value of Integer-ID
+ * arg1 - bit-map of operations
+ * arg2 - 0 - for read, 1 - for re-write
+ */
+Method(mfe3, 3)
+{
+ And(arg0, 0xff0fffff, Local0)
+ if (arg2) {
+ And(arg1, OP11, Local1)
+ } else {
+ And(arg1, OP10, Local2)
+ ShiftLeft(Local2, 4, Local1)
+ }
+ Or(Local0, Local1, Local7)
+
+ return (Local7)
+}
+
+/*
+ * Verify the value of Integer-ID of pkg-node
+ *
+ * arg0 - pkg-node Package of pHRx-Package
+ * arg1 - coefficient of maximal hierarchy of Packages
+ * arg2 - number of children of pkg-node to be actually processed
+ * arg3 - start index of location of references in pkg-nodes
+ * arg4 - level of arg0 + index inside level of arg0
+ * arg5 - bit-map of operations
+ * arg6 - index of Integer-ID in pkg-nodes
+ */
+Method(mfe0, 7)
+{
+ Name(ind0, 0)
+ Name(num, 0)
+
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+
+ Store(arg2, num)
+
+ /* Level 0 */
+
+ Store(arg3, ind0)
+
+ Store(num, lpN0)
+ Store(0, lpC0)
+ While (lpN0) {
+
+ Index(arg0, ind0, Local0) // IRef to some ref of pkg-node
+ Store(DerefOf(Local0), Local1) // reference
+ Store(DerefOf(Local1), Local2) // another pkg-node referred to
+ Store(DerefOf(Index(Local2, arg6)), Local3) // Integer-ID
+
+ mfe2(arg1, arg2, arg4, lpC0, Local3, arg5)
+
+ Increment(ind0)
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+
+ /* Level 1 */
+
+ Multiply(num, arg2, num)
+
+ Store(num, lpN0)
+ Store(0, lpC0)
+ While (lpN0) {
+
+ Index(arg0, ind0, Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(DerefOf(Local1), Local2)
+ Store(DerefOf(Index(Local2, arg6)), Local3)
+
+ Or(0x10000, lpC0, Local7)
+
+ mfe2(arg1, arg2, arg4, Local7, Local3, arg5)
+
+ Increment(ind0)
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+
+ /* Level 2 */
+
+ Multiply(num, arg2, num)
+
+ Store(num, lpN0)
+ Store(0, lpC0)
+ While (lpN0) {
+
+ Index(arg0, ind0, Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(DerefOf(Local1), Local2)
+ Store(DerefOf(Index(Local2, arg6)), Local3)
+
+ Or(0x20000, lpC0, Local7)
+
+ mfe2(arg1, arg2, arg4, Local7, Local3, arg5)
+
+ Increment(ind0)
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+
+ /* Level 3 */
+
+ Multiply(num, arg2, num)
+
+ Store(num, lpN0)
+ Store(0, lpC0)
+ While (lpN0) {
+
+ Index(arg0, ind0, Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(DerefOf(Local1), Local2)
+ Store(DerefOf(Index(Local2, arg6)), Local3)
+
+ Or(0x30000, lpC0, Local7)
+
+ mfe2(arg1, arg2, arg4, Local7, Local3, arg5)
+
+ Increment(ind0)
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+}
+
+/*
+ * Verify the contents of pHRx-Package (Integer-IDs) by read access
+ * through References packed into all pkg-nodes.
+ *
+ * arg0 - pHRx-Package (hierarchy), fully initialized
+ * arg1 - number of children of pkg-node to be actually processed
+ * arg2 - start index of location of references in arg0-pkg-nodes
+ * arg3 - coefficient of maximal hierarchy of Packages
+ * arg4 - bit-map of operations
+ * arg5 - index of Integer-ID in pkg-nodes
+ */
+Method(mfe1, 6)
+{
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+ Name(lpN1, 0)
+ Name(lpC1, 0)
+ Name(lpN2, 0)
+ Name(lpC2, 0)
+ Name(lpN3, 0)
+ Name(lpC3, 0)
+
+ Name(pkg0, Package(1) {})
+ Name(pkg1, Package(1) {})
+ Name(pkg2, Package(1) {})
+ Name(pkg3, Package(1) {})
+
+ Store(arg1, lpN0)
+ Store(0, lpC0)
+ While (lpN0) {
+
+ Index(arg0, lpC0, Local0)
+ CopyObject(DerefOf(Local0), pkg0)
+
+ mfe0(pkg0, arg3, arg1, arg2, lpC0, arg4, arg5)
+ Store(arg1, lpN1)
+ Store(0, lpC1)
+ While (lpN1) {
+
+ Index(pkg0, lpC1, Local1)
+ CopyObject(DerefOf(Local1), pkg1)
+ Or(0x10000, lpC1, Local7)
+ mfe0(pkg1, arg3, arg1, arg2, Local7, arg4, arg5)
+
+ Store(arg1, lpN2)
+ Store(0, lpC2)
+ While (lpN2) {
+
+ Index(pkg1, lpC2, Local2)
+ CopyObject(DerefOf(Local2), pkg2)
+ Or(0x20000, lpC2, Local7)
+ mfe0(pkg2, arg3, arg1, arg2, Local7, arg4, arg5)
+ Store(arg1, lpN3)
+ Store(0, lpC3)
+ While (lpN3) {
+
+ Index(pkg2, lpC3, Local3)
+ CopyObject(DerefOf(Local3), pkg3)
+ Or(0x30000, lpC3, Local7)
+ mfe0(pkg3, arg3, arg1, arg2, Local7, arg4, arg5)
+
+ Decrement(lpN3)
+ Increment(lpC3)
+ }
+ Decrement(lpN2)
+ Increment(lpC2)
+ }
+ Decrement(lpN1)
+ Increment(lpC1)
+ }
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+}
+
+/*
+ * Rewrite Integer-IDs for all pkg-nodes of hierarchy -
+ * read previous value generate new and write back to pkg-node.
+ *
+ * arg0 - reference to Package,pHR0
+ * arg1 - number of children of pkg-node to be actually processed
+ * arg2 - index of Integer-ID in pkg-nodes
+ * arg3 - start index of location of references in pkg-nodes
+ * arg4 - bit-map of operations
+ */
+Method(mfe4, 5)
+{
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+ Name(lpN1, 0)
+ Name(lpC1, 0)
+ Name(lpN2, 0)
+ Name(lpC2, 0)
+ Name(lpN3, 0)
+ Name(lpC3, 0)
+
+ Name(lpN4, 0)
+ Name(lpC4, 0)
+
+ Name(nds0, 0) // number of pkg-nodes actually processed
+ Name(iRF0, 0) // current index of element with reference
+
+ Name(op00, 0)
+ Name(wrID, 0)
+ Name(wrPK, 0)
+ Name(wrRF, 0)
+
+ Name(pkg0, Package(1) {})
+ Name(pkg, Package(1) {})
+
+ And(arg4, OPFF, op00)
+
+ Switch (op00) {
+ Case (0x02) {
+ /* re-write Integer-IDs */
+ Store(1, wrID)
+ }
+ Case (0x04) {
+ /* re-write pkg-nodes */
+ Store(1, wrPK)
+ }
+ Case (0x08) {
+ /* re-write references */
+ Store(mfe5(arg1), nds0)
+ Store(1, wrRF)
+ }
+ Default {
+ return
+ }}
+
+ Store(arg1, lpN0)
+ Store(0, lpC0)
+ While (lpN0) {
+
+ Index(DerefOf(arg0), lpC0, pkg0) // lpC0-th pkg-node of 0 level
+
+ if (wrID) {
+ Store(DerefOf(Index(DerefOf(pkg0), arg2)), Local7) // Integer-ID
+ Store(mfe3(Local7, arg4, 1), Local6)
+ Store(Local6, Index(DerefOf(pkg0), arg2))
+ } elseif (wrRF) {
+ Store(nds0, lpN4)
+ Store(0, lpC4)
+ Store(arg3, iRF0)
+ While (lpN4) {
+ Store(DerefOf(Index(DerefOf(pkg0), iRF0)), Local7) // reference
+ Store(Local7, Index(DerefOf(pkg0), iRF0))
+ Increment(iRF0)
+ Decrement(lpN4)
+ Increment(lpC4)
+ }
+ }
+
+ Store(arg1, lpN1)
+ Store(0, lpC1)
+ While (lpN1) {
+
+ if (wrID) {
+ Store(DerefOf(Index(DerefOf(Index(DerefOf(pkg0), lpC1)), arg2)), Local7)
+ Store(mfe3(Local7, arg4, 1), Local6)
+ Store(Local6, Index(DerefOf(Index(DerefOf(pkg0), lpC1)), arg2))
+ } elseif (wrRF) {
+ Store(nds0, lpN4)
+ Store(0, lpC4)
+ Store(arg3, iRF0)
+ While (lpN4) {
+ Store(DerefOf(Index(DerefOf(Index(DerefOf(pkg0), lpC1)), iRF0)), Local7)
+ Store(Local7, Index(DerefOf(Index(DerefOf(pkg0), lpC1)), iRF0))
+ Store(Local7, Index(DerefOf(Index(DerefOf(pkg0), lpC1)), iRF0))
+ Increment(iRF0)
+ Decrement(lpN4)
+ Increment(lpC4)
+ }
+ }
+
+ Store(arg1, lpN2)
+ Store(0, lpC2)
+ While (lpN2) {
+
+ if (wrID) {
+ Store(DerefOf(Index(DerefOf(Index(DerefOf(Index(DerefOf(pkg0), lpC1)), lpC2)), arg2)), Local7)
+ Store(mfe3(Local7, arg4, 1), Local6)
+ Store(Local6, Index(DerefOf(Index(DerefOf(Index(DerefOf(pkg0), lpC1)), lpC2)), arg2))
+ } elseif (wrRF) {
+ Store(nds0, lpN4)
+ Store(0, lpC4)
+ Store(arg3, iRF0)
+ While (lpN4) {
+ Store(DerefOf(Index(DerefOf(Index(DerefOf(Index(DerefOf(pkg0), lpC1)), lpC2)), iRF0)), Local7)
+ Store(Local7, Index(DerefOf(Index(DerefOf(Index(DerefOf(pkg0), lpC1)), lpC2)), iRF0))
+ Store(Local7, Index(DerefOf(Index(DerefOf(Index(DerefOf(pkg0), lpC1)), lpC2)), iRF0))
+ Store(Local7, Index(DerefOf(Index(DerefOf(Index(DerefOf(pkg0), lpC1)), lpC2)), iRF0))
+ Increment(iRF0)
+ Decrement(lpN4)
+ Increment(lpC4)
+ }
+ }
+
+ Store(arg1, lpN3)
+ Store(0, lpC3)
+ While (lpN3) {
+
+ if (wrID) {
+ Store(DerefOf(Index(DerefOf(Index(DerefOf(Index(DerefOf(Index(DerefOf(pkg0), lpC1)), lpC2)), lpC3)), arg2)), Local7)
+ Store(mfe3(Local7, arg4, 1), Local6)
+ Store(Local6, Index(DerefOf(Index(DerefOf(Index(DerefOf(Index(DerefOf(pkg0), lpC1)), lpC2)), lpC3)), arg2))
+ } elseif (wrPK) {
+ Store(DerefOf(Index(DerefOf(Index(DerefOf(Index(DerefOf(pkg0), lpC1)), lpC2)), lpC3)), pkg)
+ if (LEqual(lpC3, 1)) {
+ Store(pkg, Index(DerefOf(Index(DerefOf(Index(DerefOf(pkg0), lpC1)), lpC2)), lpC3))
+ Store(pkg, Index(DerefOf(Index(DerefOf(Index(DerefOf(pkg0), lpC1)), lpC2)), lpC3))
+ Store(pkg, Index(DerefOf(Index(DerefOf(Index(DerefOf(pkg0), lpC1)), lpC2)), lpC3))
+ } else {
+ Store(pkg, Index(DerefOf(Index(DerefOf(Index(DerefOf(pkg0), lpC1)), lpC2)), lpC3))
+ }
+ } elseif (wrRF) {
+ Store(nds0, lpN4)
+ Store(0, lpC4)
+ Store(arg3, iRF0)
+ While (lpN4) {
+ Store(DerefOf(Index(DerefOf(Index(DerefOf(Index(DerefOf(Index(DerefOf(pkg0), lpC1)), lpC2)), lpC3)), iRF0)), Local7)
+ Store(Local7, Index(DerefOf(Index(DerefOf(Index(DerefOf(Index(DerefOf(pkg0), lpC1)), lpC2)), lpC3)), iRF0))
+ Store(Local7, Index(DerefOf(Index(DerefOf(Index(DerefOf(Index(DerefOf(pkg0), lpC1)), lpC2)), lpC3)), iRF0))
+ Store(Local7, Index(DerefOf(Index(DerefOf(Index(DerefOf(Index(DerefOf(pkg0), lpC1)), lpC2)), lpC3)), iRF0))
+ Store(Local7, Index(DerefOf(Index(DerefOf(Index(DerefOf(Index(DerefOf(pkg0), lpC1)), lpC2)), lpC3)), iRF0))
+ Increment(iRF0)
+ Decrement(lpN4)
+ Increment(lpC4)
+ }
+ }
+
+ Decrement(lpN3)
+ Increment(lpC3)
+ }
+ Decrement(lpN2)
+ Increment(lpC2)
+ }
+ Decrement(lpN1)
+ Increment(lpC1)
+ }
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+}
+
+/*
+ * Return number of pkg-nodes actually processed.
+ *
+ * arg0 - number of children of pkg-node to be actually processed
+ */
+Method(mfe5, 1)
+{
+ Store(arg0, Local0)
+ Multiply(Local0, arg0, Local1)
+ Multiply(Local1, arg0, Local2)
+ Multiply(Local2, arg0, Local3)
+
+ Add(Local0, Local1, Local4)
+ Add(Local2, Local3, Local5)
+
+ Add(Local4, Local5, Local7)
+
+ return (Local7)
+}
+
+/*
+ * Static hierarchy of Packages (maximal):
+ *
+ * 1. Levels: root + 4
+ * 2. Pkg-node: 4 children-Packages
+ * 3. Integer-ID: reflects level (0-3) and index inside level of pkg-node
+ * 4. References: (4+16+64+256) == 340 maximum
+ * 5 Total == 4 (Pkg-nodes)
+ * + 1 (Integer-ID)
+ * + 340 (References to inner nodes)
+ * + 340 (References to nodes of another hierarchy)
+ * ===
+ * 685
+ */
+Method(mfdc)
+{
+ Name(pr00, 0)
+
+ /*
+ * Coefficient of maximal hierarchy of Packages
+ * represented by this model.
+ */
+ Name(HR00, 4)
+
+ Name(iint, 4) // index of Integer-ID in pkg-nodes
+ Name(iirf, 0) // start index of location of INTERNAL-references in pkg-nodes
+ Name(icrf, 345) // start index of location of CROSS-references in pkg-nodes
+ Name(sz, 685) // full size of Package
+ Name(chn0, 1) // number of children of pkg-node to be actually processed (1,2,3,4)
+
+ /* Package of hierarchy */
+
+ Name(pHR0, Package(sz) {
+ Package(sz) {
+ Package(sz) {
+ Package(sz) {
+ Package(sz) {0,1,2,3, 0xab030000,
+ },
+ Package(sz) {0,1,2,3, 0xab030001,
+ },
+ Package(sz) {0,1,2,3, 0xab030002,
+ },
+ Package(sz) {0,1,2,3, 0xab030003,
+ },
+ 0xab020000
+ },
+ Package(sz) {
+ Package(sz) {0,1,2,3, 0xab030004,
+ },
+ Package(sz) {0,1,2,3, 0xab030005,
+ },
+ Package(sz) {0,1,2,3, 0xab030006,
+ },
+ Package(sz) {0,1,2,3, 0xab030007,
+ },
+ 0xab020001
+ },
+ Package(sz) {
+ Package(sz) {0,1,2,3, 0xab030008,
+ },
+ Package(sz) {0,1,2,3, 0xab030009,
+ },
+ Package(sz) {0,1,2,3, 0xab03000a,
+ },
+ Package(sz) {0,1,2,3, 0xab03000b,
+ },
+ 0xab020002
+ },
+ Package(sz) {
+ Package(sz) {0,1,2,3, 0xab03000c,
+ },
+ Package(sz) {0,1,2,3, 0xab03000d,
+ },
+ Package(sz) {0,1,2,3, 0xab03000e,
+ },
+ Package(sz) {0,1,2,3, 0xab03000f,
+ },
+ 0xab020003
+ },
+ 0xab010000
+ },
+ Package(sz) {
+ Package(sz) {
+ Package(sz) {0,1,2,3, 0xab030010,
+ },
+ Package(sz) {0,1,2,3, 0xab030011,
+ },
+ Package(sz) {0,1,2,3, 0xab030012,
+ },
+ Package(sz) {0,1,2,3, 0xab030013,
+ },
+ 0xab020004
+ },
+ Package(sz) {
+ Package(sz) {0,1,2,3, 0xab030014,
+ },
+ Package(sz) {0,1,2,3, 0xab030015,
+ },
+ Package(sz) {0,1,2,3, 0xab030016,
+ },
+ Package(sz) {0,1,2,3, 0xab030017,
+ },
+ 0xab020005
+ },
+ Package(sz) {
+ Package(sz) {0,1,2,3, 0xab030018,
+ },
+ Package(sz) {0,1,2,3, 0xab030019,
+ },
+ Package(sz) {0,1,2,3, 0xab03001a,
+ },
+ Package(sz) {0,1,2,3, 0xab03001b,
+ },
+ 0xab020006
+ },
+ Package(sz) {
+ Package(sz) {0,1,2,3, 0xab03001c,
+ },
+ Package(sz) {0,1,2,3, 0xab03001d,
+ },
+ Package(sz) {0,1,2,3, 0xab03001e,
+ },
+ Package(sz) {0,1,2,3, 0xab03001f,
+ },
+ 0xab020007
+ },
+ 0xab010001
+ },
+ Package(sz) {
+ Package(sz) {
+ Package(sz) {0,1,2,3, 0xab030020,
+ },
+ Package(sz) {0,1,2,3, 0xab030021,
+ },
+ Package(sz) {0,1,2,3, 0xab030022,
+ },
+ Package(sz) {0,1,2,3, 0xab030023,
+ },
+ 0xab020008
+ },
+ Package(sz) {
+ Package(sz) {0,1,2,3, 0xab030024,
+ },
+ Package(sz) {0,1,2,3, 0xab030025,
+ },
+ Package(sz) {0,1,2,3, 0xab030026,
+ },
+ Package(sz) {0,1,2,3, 0xab030027,
+ },
+ 0xab020009
+ },
+ Package(sz) {
+ Package(sz) {0,1,2,3, 0xab030028,
+ },
+ Package(sz) {0,1,2,3, 0xab030029,
+ },
+ Package(sz) {0,1,2,3, 0xab03002a,
+ },
+ Package(sz) {0,1,2,3, 0xab03002b,
+ },
+ 0xab02000a
+ },
+ Package(sz) {
+ Package(sz) {0,1,2,3, 0xab03002c,
+ },
+ Package(sz) {0,1,2,3, 0xab03002d,
+ },
+ Package(sz) {0,1,2,3, 0xab03002e,
+ },
+ Package(sz) {0,1,2,3, 0xab03002f,
+ },
+ 0xab02000b
+ },
+ 0xab010002
+ },
+ Package(sz) {
+ Package(sz) {
+ Package(sz) {0,1,2,3, 0xab030030,
+ },
+ Package(sz) {0,1,2,3, 0xab030031,
+ },
+ Package(sz) {0,1,2,3, 0xab030032,
+ },
+ Package(sz) {0,1,2,3, 0xab030033,
+ },
+ 0xab02000c
+ },
+ Package(sz) {
+ Package(sz) {0,1,2,3, 0xab030034,
+ },
+ Package(sz) {0,1,2,3, 0xab030035,
+ },
+ Package(sz) {0,1,2,3, 0xab030036,
+ },
+ Package(sz) {0,1,2,3, 0xab030037,
+ },
+ 0xab02000d
+ },
+ Package(sz) {
+ Package(sz) {0,1,2,3, 0xab030038,
+ },
+ Package(sz) {0,1,2,3, 0xab030039,
+ },
+ Package(sz) {0,1,2,3, 0xab03003a,
+ },
+ Package(sz) {0,1,2,3, 0xab03003b,
+ },
+ 0xab02000e
+ },
+ Package(sz) {
+ Package(sz) {0,1,2,3, 0xab03003c,
+ },
+ Package(sz) {0,1,2,3, 0xab03003d,
+ },
+ Package(sz) {0,1,2,3, 0xab03003e,
+ },
+ Package(sz) {0,1,2,3, 0xab03003f,
+ },
+ 0xab02000f
+ },
+ 0xab010003
+ },
+ 0xab000000
+ },
+ Package(sz) {
+ Package(sz) {
+ Package(sz) {
+ Package(sz) {0,1,2,3, 0xab030040,
+ },
+ Package(sz) {0,1,2,3, 0xab030041,
+ },
+ Package(sz) {0,1,2,3, 0xab030042,
+ },
+ Package(sz) {0,1,2,3, 0xab030043,
+ },
+ 0xab020010
+ },
+ Package(sz) {
+ Package(sz) {0,1,2,3, 0xab030044,
+ },
+ Package(sz) {0,1,2,3, 0xab030045,
+ },
+ Package(sz) {0,1,2,3, 0xab030046,
+ },
+ Package(sz) {0,1,2,3, 0xab030047,
+ },
+ 0xab020011
+ },
+ Package(sz) {
+ Package(sz) {0,1,2,3, 0xab030048,
+ },
+ Package(sz) {0,1,2,3, 0xab030049,
+ },
+ Package(sz) {0,1,2,3, 0xab03004a,
+ },
+ Package(sz) {0,1,2,3, 0xab03004b,
+ },
+ 0xab020012
+ },
+ Package(sz) {
+ Package(sz) {0,1,2,3, 0xab03004c,
+ },
+ Package(sz) {0,1,2,3, 0xab03004d,
+ },
+ Package(sz) {0,1,2,3, 0xab03004e,
+ },
+ Package(sz) {0,1,2,3, 0xab03004f,
+ },
+ 0xab020013
+ },
+ 0xab010004
+ },
+ Package(sz) {
+ Package(sz) {
+ Package(sz) {0,1,2,3, 0xab030050,
+ },
+ Package(sz) {0,1,2,3, 0xab030051,
+ },
+ Package(sz) {0,1,2,3, 0xab030052,
+ },
+ Package(sz) {0,1,2,3, 0xab030053,
+ },
+ 0xab020014
+ },
+ Package(sz) {
+ Package(sz) {0,1,2,3, 0xab030054,
+ },
+ Package(sz) {0,1,2,3, 0xab030055,
+ },
+ Package(sz) {0,1,2,3, 0xab030056,
+ },
+ Package(sz) {0,1,2,3, 0xab030057,
+ },
+ 0xab020015
+ },
+ Package(sz) {
+ Package(sz) {0,1,2,3, 0xab030058,
+ },
+ Package(sz) {0,1,2,3, 0xab030059,
+ },
+ Package(sz) {0,1,2,3, 0xab03005a,
+ },
+ Package(sz) {0,1,2,3, 0xab03005b,
+ },
+ 0xab020016
+ },
+ Package(sz) {
+ Package(sz) {0,1,2,3, 0xab03005c,
+ },
+ Package(sz) {0,1,2,3, 0xab03005d,
+ },
+ Package(sz) {0,1,2,3, 0xab03005e,
+ },
+ Package(sz) {0,1,2,3, 0xab03005f,
+ },
+ 0xab020017
+ },
+ 0xab010005
+ },
+ Package(sz) {
+ Package(sz) {
+ Package(sz) {0,1,2,3, 0xab030060,
+ },
+ Package(sz) {0,1,2,3, 0xab030061,
+ },
+ Package(sz) {0,1,2,3, 0xab030062,
+ },
+ Package(sz) {0,1,2,3, 0xab030063,
+ },
+ 0xab020018
+ },
+ Package(sz) {
+ Package(sz) {0,1,2,3, 0xab030064,
+ },
+ Package(sz) {0,1,2,3, 0xab030065,
+ },
+ Package(sz) {0,1,2,3, 0xab030066,
+ },
+ Package(sz) {0,1,2,3, 0xab030067,
+ },
+ 0xab020019
+ },
+ Package(sz) {
+ Package(sz) {0,1,2,3, 0xab030068,
+ },
+ Package(sz) {0,1,2,3, 0xab030069,
+ },
+ Package(sz) {0,1,2,3, 0xab03006a,
+ },
+ Package(sz) {0,1,2,3, 0xab03006b,
+ },
+ 0xab02001a
+ },
+ Package(sz) {
+ Package(sz) {0,1,2,3, 0xab03006c,
+ },
+ Package(sz) {0,1,2,3, 0xab03006d,
+ },
+ Package(sz) {0,1,2,3, 0xab03006e,
+ },
+ Package(sz) {0,1,2,3, 0xab03006f,
+ },
+ 0xab02001b
+ },
+ 0xab010006
+ },
+ Package(sz) {
+ Package(sz) {
+ Package(sz) {0,1,2,3, 0xab030070,
+ },
+ Package(sz) {0,1,2,3, 0xab030071,
+ },
+ Package(sz) {0,1,2,3, 0xab030072,
+ },
+ Package(sz) {0,1,2,3, 0xab030073,
+ },
+ 0xab02001c
+ },
+ Package(sz) {
+ Package(sz) {0,1,2,3, 0xab030074,
+ },
+ Package(sz) {0,1,2,3, 0xab030075,
+ },
+ Package(sz) {0,1,2,3, 0xab030076,
+ },
+ Package(sz) {0,1,2,3, 0xab030077,
+ },
+ 0xab02001d
+ },
+ Package(sz) {
+ Package(sz) {0,1,2,3, 0xab030078,
+ },
+ Package(sz) {0,1,2,3, 0xab030079,
+ },
+ Package(sz) {0,1,2,3, 0xab03007a,
+ },
+ Package(sz) {0,1,2,3, 0xab03007b,
+ },
+ 0xab02001e
+ },
+ Package(sz) {
+ Package(sz) {0,1,2,3, 0xab03007c,
+ },
+ Package(sz) {0,1,2,3, 0xab03007d,
+ },
+ Package(sz) {0,1,2,3, 0xab03007e,
+ },
+ Package(sz) {0,1,2,3, 0xab03007f,
+ },
+ 0xab02001f
+ },
+ 0xab010007
+ },
+ 0xab000001
+ },
+ Package(sz) {
+ Package(sz) {
+ Package(sz) {
+ Package(sz) {0,1,2,3, 0xab030080,
+ },
+ Package(sz) {0,1,2,3, 0xab030081,
+ },
+ Package(sz) {0,1,2,3, 0xab030082,
+ },
+ Package(sz) {0,1,2,3, 0xab030083,
+ },
+ 0xab020020
+ },
+ Package(sz) {
+ Package(sz) {0,1,2,3, 0xab030084,
+ },
+ Package(sz) {0,1,2,3, 0xab030085,
+ },
+ Package(sz) {0,1,2,3, 0xab030086,
+ },
+ Package(sz) {0,1,2,3, 0xab030087,
+ },
+ 0xab020021
+ },
+ Package(sz) {
+ Package(sz) {0,1,2,3, 0xab030088,
+ },
+ Package(sz) {0,1,2,3, 0xab030089,
+ },
+ Package(sz) {0,1,2,3, 0xab03008a,
+ },
+ Package(sz) {0,1,2,3, 0xab03008b,
+ },
+ 0xab020022
+ },
+ Package(sz) {
+ Package(sz) {0,1,2,3, 0xab03008c,
+ },
+ Package(sz) {0,1,2,3, 0xab03008d,
+ },
+ Package(sz) {0,1,2,3, 0xab03008e,
+ },
+ Package(sz) {0,1,2,3, 0xab03008f,
+ },
+ 0xab020023
+ },
+ 0xab010008
+ },
+ Package(sz) {
+ Package(sz) {
+ Package(sz) {0,1,2,3, 0xab030090,
+ },
+ Package(sz) {0,1,2,3, 0xab030091,
+ },
+ Package(sz) {0,1,2,3, 0xab030092,
+ },
+ Package(sz) {0,1,2,3, 0xab030093,
+ },
+ 0xab020024
+ },
+ Package(sz) {
+ Package(sz) {0,1,2,3, 0xab030094,
+ },
+ Package(sz) {0,1,2,3, 0xab030095,
+ },
+ Package(sz) {0,1,2,3, 0xab030096,
+ },
+ Package(sz) {0,1,2,3, 0xab030097,
+ },
+ 0xab020025
+ },
+ Package(sz) {
+ Package(sz) {0,1,2,3, 0xab030098,
+ },
+ Package(sz) {0,1,2,3, 0xab030099,
+ },
+ Package(sz) {0,1,2,3, 0xab03009a,
+ },
+ Package(sz) {0,1,2,3, 0xab03009b,
+ },
+ 0xab020026
+ },
+ Package(sz) {
+ Package(sz) {0,1,2,3, 0xab03009c,
+ },
+ Package(sz) {0,1,2,3, 0xab03009d,
+ },
+ Package(sz) {0,1,2,3, 0xab03009e,
+ },
+ Package(sz) {0,1,2,3, 0xab03009f,
+ },
+ 0xab020027
+ },
+ 0xab010009
+ },
+ Package(sz) {
+ Package(sz) {
+ Package(sz) {0,1,2,3, 0xab0300a0,
+ },
+ Package(sz) {0,1,2,3, 0xab0300a1,
+ },
+ Package(sz) {0,1,2,3, 0xab0300a2,
+ },
+ Package(sz) {0,1,2,3, 0xab0300a3,
+ },
+ 0xab020028
+ },
+ Package(sz) {
+ Package(sz) {0,1,2,3, 0xab0300a4,
+ },
+ Package(sz) {0,1,2,3, 0xab0300a5,
+ },
+ Package(sz) {0,1,2,3, 0xab0300a6,
+ },
+ Package(sz) {0,1,2,3, 0xab0300a7,
+ },
+ 0xab020029
+ },
+ Package(sz) {
+ Package(sz) {0,1,2,3, 0xab0300a8,
+ },
+ Package(sz) {0,1,2,3, 0xab0300a9,
+ },
+ Package(sz) {0,1,2,3, 0xab0300aa,
+ },
+ Package(sz) {0,1,2,3, 0xab0300ab,
+ },
+ 0xab02002a
+ },
+ Package(sz) {
+ Package(sz) {0,1,2,3, 0xab0300ac,
+ },
+ Package(sz) {0,1,2,3, 0xab0300ad,
+ },
+ Package(sz) {0,1,2,3, 0xab0300ae,
+ },
+ Package(sz) {0,1,2,3, 0xab0300af,
+ },
+ 0xab02002b
+ },
+ 0xab01000a
+ },
+ Package(sz) {
+ Package(sz) {
+ Package(sz) {0,1,2,3, 0xab0300b0,
+ },
+ Package(sz) {0,1,2,3, 0xab0300b1,
+ },
+ Package(sz) {0,1,2,3, 0xab0300b2,
+ },
+ Package(sz) {0,1,2,3, 0xab0300b3,
+ },
+ 0xab02002c
+ },
+ Package(sz) {
+ Package(sz) {0,1,2,3, 0xab0300b4,
+ },
+ Package(sz) {0,1,2,3, 0xab0300b5,
+ },
+ Package(sz) {0,1,2,3, 0xab0300b6,
+ },
+ Package(sz) {0,1,2,3, 0xab0300b7,
+ },
+ 0xab02002d
+ },
+ Package(sz) {
+ Package(sz) {0,1,2,3, 0xab0300b8,
+ },
+ Package(sz) {0,1,2,3, 0xab0300b9,
+ },
+ Package(sz) {0,1,2,3, 0xab0300ba0,
+ },
+ Package(sz) {0,1,2,3, 0xab0300bb,
+ },
+ 0xab02002e
+ },
+ Package(sz) {
+ Package(sz) {0,1,2,3, 0xab0300bc,
+ },
+ Package(sz) {0,1,2,3, 0xab0300bd,
+ },
+ Package(sz) {0,1,2,3, 0xab0300be,
+ },
+ Package(sz) {0,1,2,3, 0xab0300bf,
+ },
+ 0xab02002f
+ },
+ 0xab01000b
+ },
+ 0xab000002
+ },
+ Package(sz) {
+ Package(sz) {
+ Package(sz) {
+ Package(sz) {0,1,2,3, 0xab0300c0,
+ },
+ Package(sz) {0,1,2,3, 0xab0300c1,
+ },
+ Package(sz) {0,1,2,3, 0xab0300c2,
+ },
+ Package(sz) {0,1,2,3, 0xab0300c3,
+ },
+ 0xab020030
+ },
+ Package(sz) {
+ Package(sz) {0,1,2,3, 0xab0300c4,
+ },
+ Package(sz) {0,1,2,3, 0xab0300c5,
+ },
+ Package(sz) {0,1,2,3, 0xab0300c6,
+ },
+ Package(sz) {0,1,2,3, 0xab0300c7,
+ },
+ 0xab020031
+ },
+ Package(sz) {
+ Package(sz) {0,1,2,3, 0xab0300c8,
+ },
+ Package(sz) {0,1,2,3, 0xab0300c9,
+ },
+ Package(sz) {0,1,2,3, 0xab0300ca,
+ },
+ Package(sz) {0,1,2,3, 0xab0300cb,
+ },
+ 0xab020032
+ },
+ Package(sz) {
+ Package(sz) {0,1,2,3, 0xab0300cc,
+ },
+ Package(sz) {0,1,2,3, 0xab0300cd,
+ },
+ Package(sz) {0,1,2,3, 0xab0300ce,
+ },
+ Package(sz) {0,1,2,3, 0xab0300cf,
+ },
+ 0xab020033
+ },
+ 0xab01000c
+ },
+ Package(sz) {
+ Package(sz) {
+ Package(sz) {0,1,2,3, 0xab0300d0,
+ },
+ Package(sz) {0,1,2,3, 0xab0300d1,
+ },
+ Package(sz) {0,1,2,3, 0xab0300d2,
+ },
+ Package(sz) {0,1,2,3, 0xab0300d3,
+ },
+ 0xab020034
+ },
+ Package(sz) {
+ Package(sz) {0,1,2,3, 0xab0300d4,
+ },
+ Package(sz) {0,1,2,3, 0xab0300d5,
+ },
+ Package(sz) {0,1,2,3, 0xab0300d6,
+ },
+ Package(sz) {0,1,2,3, 0xab0300d7,
+ },
+ 0xab020035
+ },
+ Package(sz) {
+ Package(sz) {0,1,2,3, 0xab0300d8,
+ },
+ Package(sz) {0,1,2,3, 0xab0300d9,
+ },
+ Package(sz) {0,1,2,3, 0xab0300da,
+ },
+ Package(sz) {0,1,2,3, 0xab0300db,
+ },
+ 0xab020036
+ },
+ Package(sz) {
+ Package(sz) {0,1,2,3, 0xab0300dc,
+ },
+ Package(sz) {0,1,2,3, 0xab0300dd,
+ },
+ Package(sz) {0,1,2,3, 0xab0300de,
+ },
+ Package(sz) {0,1,2,3, 0xab0300df,
+ },
+ 0xab020037
+ },
+ 0xab01000d
+ },
+ Package(sz) {
+ Package(sz) {
+ Package(sz) {0,1,2,3, 0xab0300e0,
+ },
+ Package(sz) {0,1,2,3, 0xab0300e1,
+ },
+ Package(sz) {0,1,2,3, 0xab0300e2,
+ },
+ Package(sz) {0,1,2,3, 0xab0300e3,
+ },
+ 0xab020038
+ },
+ Package(sz) {
+ Package(sz) {0,1,2,3, 0xab0300e4,
+ },
+ Package(sz) {0,1,2,3, 0xab0300e5,
+ },
+ Package(sz) {0,1,2,3, 0xab0300e6,
+ },
+ Package(sz) {0,1,2,3, 0xab0300e7,
+ },
+ 0xab020039
+ },
+ Package(sz) {
+ Package(sz) {0,1,2,3, 0xab0300e8,
+ },
+ Package(sz) {0,1,2,3, 0xab0300e9,
+ },
+ Package(sz) {0,1,2,3, 0xab0300ea,
+ },
+ Package(sz) {0,1,2,3, 0xab0300eb,
+ },
+ 0xab02003a
+ },
+ Package(sz) {
+ Package(sz) {0,1,2,3, 0xab0300ec,
+ },
+ Package(sz) {0,1,2,3, 0xab0300ed,
+ },
+ Package(sz) {0,1,2,3, 0xab0300ee,
+ },
+ Package(sz) {0,1,2,3, 0xab0300ef,
+ },
+ 0xab02003b
+ },
+ 0xab01000e
+ },
+ Package(sz) {
+ Package(sz) {
+ Package(sz) {0,1,2,3, 0xab0300f0,
+ },
+ Package(sz) {0,1,2,3, 0xab0300f1,
+ },
+ Package(sz) {0,1,2,3, 0xab0300f2,
+ },
+ Package(sz) {0,1,2,3, 0xab0300f3,
+ },
+ 0xab02003c
+ },
+ Package(sz) {
+ Package(sz) {0,1,2,3, 0xab0300f4,
+ },
+ Package(sz) {0,1,2,3, 0xab0300f5,
+ },
+ Package(sz) {0,1,2,3, 0xab0300f6,
+ },
+ Package(sz) {0,1,2,3, 0xab0300f7,
+ },
+ 0xab02003d
+ },
+ Package(sz) {
+ Package(sz) {0,1,2,3, 0xab0300f8,
+ },
+ Package(sz) {0,1,2,3, 0xab0300f9,
+ },
+ Package(sz) {0,1,2,3, 0xab0300fa,
+ },
+ Package(sz) {0,1,2,3, 0xab0300fb,
+ },
+ 0xab02003e
+ },
+ Package(sz) {
+ Package(sz) {0,1,2,3, 0xab0300fc,
+ },
+ Package(sz) {0,1,2,3, 0xab0300fd,
+ },
+ Package(sz) {0,1,2,3, 0xab0300fe,
+ },
+ Package(sz) {0,1,2,3, 0xab0300ff,
+ },
+ 0xab02003f
+ },
+ 0xab01000f
+ },
+ 0xab000003
+ },
+ 0xabababab
+ })
+
+ Name(pIR0, Package(4) {
+ Package(4) {},
+ Package(16) {},
+ Package(64) {},
+ Package(256) {}
+ })
+ Name(pIR1, Package(4) {
+ Package(4) {},
+ Package(16) {},
+ Package(64) {},
+ Package(256) {}
+ })
+
+ Name(pHR1, Package(1) {})
+ Name(pHR2, Package(1) {})
+
+ Add(iint, 1, iirf)
+
+ Concatenate("chn0 of model is equal to ", chn0, Debug)
+
+ /*
+ * ########## References to pkg-nodes inside one hierarchy ##########
+ */
+
+SRMT("gen-inner-refs-to-pkg-nodes-of-pHR0")
+
+ /*
+ * Generate references to chn0-number elements of all pkg-nodes of pHR0
+ * and pack up them per-level into pIR0.
+ */
+ mfdd(RefOf(pHR0), pIR0, chn0, iint)
+
+ /*
+ * Put elements of package pIR0 (references) into relevant elements
+ * of pkg-nodes of pHR0.
+ */
+ mfdf(pIR0, RefOf(pHR0), chn0, iirf)
+
+SRMT("verify-0-of-pHR0-by-inner-refs")
+
+ /*
+ * Verify the contents of pHR0 (Integer-IDs of pkg-nodes)
+ * by read access through References packed into all its pkg-nodes.
+ *
+ * mfe1() does reading unconditionally:
+ * read: 0 - type of current (read) Integer-IDs
+ */
+ mfe1(pHR0, chn0, iirf, HR00, 0, iint)
+
+SRMT("rewrite-1-Integer-IDs-of-pHR0")
+
+ /*
+ * Rewrite Integer-IDs for all pkg-nodes of hierarchy (pHR0) -
+ * read previous value, generate new and write back to pkg-node.
+ *
+ * re-write I-ID: 1 - type of new (re-write) Integer-IDs
+ */
+ Or(OP01, 0x100000, Local0) // re-write I-ID + type of new (re-write) Integer-IDs
+ mfe4(RefOf(pHR0), chn0, iint, iirf, Local0)
+
+SRMT("verify-1-of-pHR0-by-inner-refs")
+
+ /*
+ * Verify the new Integer-IDs of hierarchy.
+ *
+ * mfe1() does reading unconditionally:
+ * read: 1 - type of current (read) Integer-IDs
+ */
+ Or(0, 0x10000, Local0) // type of current (read) Integer-IDs
+ mfe1(pHR0, chn0, iirf, HR00, Local0, iint)
+
+SRMT("rewrite-pkg-nodes-of-pHR0")
+
+ /*
+ * Rewrite the whole pkg-nodes of hierarchy -
+ * take each pkg-node and re-write it back to the same location.
+ *
+ * re-write pkg-nodes
+ */
+ mfe4(RefOf(pHR0), chn0, iint, iirf, OP02)
+
+SRMT("verify-1-of-pHR0-by-inner-refs")
+
+ /*
+ * Verify Integer-IDs of hierarchy: nothing should change.
+ *
+ * mfe1() does reading unconditionally:
+ * read: 1 - type of current (read) Integer-IDs
+ */
+ Or(0, 0x10000, Local0) // type of current (read) Integer-IDs
+ mfe1(pHR0, chn0, iirf, HR00, Local0, iint)
+
+ /*
+ * ############# Duplicate of hierarchy #############
+ */
+
+SRMT("Duplicate-pHR0-to-pHR1")
+
+ /*
+ * Copy hierarchy to another object
+ */
+ Store(pHR0, pHR1)
+
+ /*
+ * Verify Integer-IDs of both instances of hierarchy:
+ * nothing should change. References of both hierarchies
+ * point to the same pkg-nodes, so, Integer-IDs should
+ * be the same.
+ *
+ * mfe1() does reading unconditionally:
+ * read: 1 - type of current (read) Integer-IDs
+ */
+ Or(0, 0x10000, Local0) // type of current (read) Integer-IDs
+SRMT("verify-1-of-pHR0-by-inner-refs")
+ mfe1(pHR0, chn0, iirf, HR00, Local0, iint)
+SRMT("verify-1-of-pHR0-by-inner-refs-duplicated-to-pHR1")
+ mfe1(pHR1, chn0, iirf, HR00, Local0, iint)
+
+
+SRMT("rewrite-2-Integer-IDs-of-pHR0")
+
+ /*
+ * Rewrite Integer-IDs for all pkg-nodes of source hierarchy.
+ *
+ * re-write I-ID: 2 - type of new (re-write) Integer-IDs
+ */
+ Or(OP01, 0x200000, Local0) // re-write I-ID + type of new (re-write) Integer-IDs
+ mfe4(RefOf(pHR0), chn0, iint, iirf, Local0)
+
+ /*
+ * Verify new Integer-IDs through the References of both hierarchies
+ * (both point to the same pkg-nodes).
+ *
+ * mfe1() does reading unconditionally:
+ * read: 2 - type of current (read) Integer-IDs
+ */
+ Or(0, 0x20000, Local0) // type of current (read) Integer-IDs
+SRMT("verify-2-of-pHR0-by-inner-refs")
+ mfe1(pHR0, chn0, iirf, HR00, Local0, iint)
+SRMT("verify-2-of-pHR0-by-inner-refs-duplicated-to-pHR1")
+ mfe1(pHR1, chn0, iirf, HR00, Local0, iint)
+
+SRMT("rewrite-inner-references-of-pHR0")
+
+ /*
+ * Rewrite all references present in pkg-nodes of hierarchy pHR0 -
+ * take each reference and re-write it back to the same location.
+ *
+ * re-write references
+ */
+ mfe4(RefOf(pHR0), chn0, iint, iirf, OP03)
+
+ /*
+ * Verify Integer-IDs of both instances of hierarchy: nothing should change.
+ *
+ * mfe1() does reading unconditionally:
+ * read: 2 - type of current (read) Integer-IDs
+ */
+ Or(0, 0x20000, Local0) // type of current (read) Integer-IDs
+SRMT("verify-2-of-pHR0-by-inner-refs")
+ mfe1(pHR0, chn0, iirf, HR00, Local0, iint)
+SRMT("verify-2-of-pHR0-by-inner-refs-duplicated-to-pHR1")
+ mfe1(pHR1, chn0, iirf, HR00, Local0, iint)
+
+ /*
+ * ####### Cross references #######
+ * ####### #######
+ * ####### References to pkg-nodes inside each of two hierarchies #######
+ * ####### added with references between those two hierarchies. #######
+ */
+
+SRMT("Duplicate-pHR0-to-pHR2")
+
+ /*
+ * Copy hierarchy to another object
+ */
+ Store(pHR0, pHR2)
+
+SRMT("gen-inner-refs-to-pkg-nodes-of-pHR2")
+
+ /*
+ * Generate references to chn0-number elements of all pkg-nodes of pHR2
+ * and pack up them per-level into pIR1.
+ */
+ mfdd(RefOf(pHR2), pIR1, chn0, iint)
+
+ /*
+ * Put elements of package pIR1 (references) into relevant elements
+ * of pkg-nodes of pHR2.
+ */
+ mfdf(pIR1, RefOf(pHR2), chn0, iirf)
+
+ /* ===== Add cross references between two hierarchies, (pHR0 & pHR2) ===== */
+
+SRMT("add-inner-refs-to-pkg-nodes-of-pHR2-into-pHR0")
+
+ /*
+ * Put references to pkg-nodes of pHR2 into nodes of pHR0.
+ */
+ mfdf(pIR1, RefOf(pHR0), chn0, icrf)
+
+SRMT("add-inner-refs-to-pkg-nodes-of-pHR0-into-pHR2")
+
+ /*
+ * Put references to pkg-nodes of pHR0 into nodes of pHR2.
+ */
+ mfdf(pIR0, RefOf(pHR2), chn0, icrf)
+
+ /* Re-write + Verify Integer-IDs */
+
+SRMT("rewrite-3-Integer-IDs-of-pHR2")
+ Or(OP01, 0x300000, Local0)
+ mfe4(RefOf(pHR2), chn0, iint, iirf, Local0)
+SRMT("verify-3-of-pHR2-by-cross-refs-of-pHR0")
+ Or(0, 0x30000, Local0)
+ mfe1(pHR0, chn0, icrf, HR00, Local0, iint)
+SRMT("verify-2-of-pHR0-by-cross-refs-of-pHR2")
+ Or(0, 0x20000, Local0)
+ mfe1(pHR2, chn0, icrf, HR00, Local0, iint)
+SRMT("rewrite-4-Integer-IDs-of-pHR0")
+ Or(OP01, 0x400000, Local0)
+ mfe4(RefOf(pHR0), chn0, iint, iirf, Local0)
+SRMT("verify-4-of-pHR0-by-cross-refs-of-pHR2")
+ Or(0, 0x40000, Local0)
+ mfe1(pHR2, chn0, icrf, HR00, Local0, iint)
+
+ /* Re-write pkg-nodes + Verify */
+
+SRMT("rewrite-pkg-nodes-of-pHR0")
+ mfe4(RefOf(pHR0), chn0, iint, icrf, OP02)
+SRMT("rewrite-pkg-nodes-of-pHR2")
+ mfe4(RefOf(pHR2), chn0, iint, icrf, OP02)
+SRMT("verify-3-of-pHR2-by-cross-refs-of-pHR0")
+ Or(0, 0x30000, Local0)
+ mfe1(pHR0, chn0, icrf, HR00, Local0, iint)
+SRMT("verify-4-of-pHR0-by-cross-refs-of-pHR2")
+ Or(0, 0x40000, Local0)
+ mfe1(pHR2, chn0, icrf, HR00, Local0, iint)
+
+ /* Re-write inner references + Verify */
+ /* Re-write cross references + Verify */
+
+SRMT("rewrite-inner-references-of-pHR0")
+ mfe4(RefOf(pHR0), chn0, iint, iirf, OP03)
+SRMT("rewrite-inner-references-of-pHR2")
+ mfe4(RefOf(pHR2), chn0, iint, iirf, OP03)
+SRMT("rewrite-cross-references-of-pHR0")
+ mfe4(RefOf(pHR0), chn0, iint, icrf, OP03)
+SRMT("rewrite-cross-references-of-pHR2")
+ mfe4(RefOf(pHR2), chn0, iint, icrf, OP03)
+
+SRMT("verify-3-of-pHR2-by-cross-refs-of-pHR0")
+ Or(0, 0x30000, Local0)
+ mfe1(pHR0, chn0, icrf, HR00, Local0, iint)
+SRMT("verify-4-of-pHR0-by-cross-refs-of-pHR2")
+ Or(0, 0x40000, Local0)
+ mfe1(pHR2, chn0, icrf, HR00, Local0, iint)
+}
+
+Method(mfdb)
+{
+ CH03("", 0, 0x200, 0, 0)
+ mfdc()
+ CH03("", 0, 0x202, 0, 0)
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0135/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0135/RUN.asl
new file mode 100644
index 000000000..5f24e8d9d
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0135/RUN.asl
@@ -0,0 +1,53 @@
+/*
+ * 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.
+ */
+
+/*
+ * Total: 0x96 Outstanding allocations because of
+ * AcpiExec doesn't run the unload of the table have been processed.
+ *
+ * Outstanding: 0x96 allocations after execution.
+ */
+if (STTT("Demo of bug 135", TCLD, 135, W017)) {
+
+ if (y135) {
+ mfc5() // SimplePkgs
+ mfca() // Misc1
+ mfee() // Misc2
+ m808() // Mix
+ mfda() // Methods
+ mfdb() // PkgsHierarchy
+ mfe6() // GrInvest
+ } else {
+ SRMT("TESTS-OF-B135")
+ BLCK()
+ }
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0135/SimplePkgs.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0135/SimplePkgs.asl
new file mode 100644
index 000000000..98ea01ebf
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0135/SimplePkgs.asl
@@ -0,0 +1,115 @@
+/*
+ * 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.
+ */
+
+/*
+ * Checkings for simple one-level hierarchy of Packages.
+ *
+ * 0x5C Outstanding allocations because of
+ * AcpiExec doesn't run the unload of the table have been processed.
+ *
+ * Outstanding: 0x5C allocations after execution.
+ */
+
+Method(mfc5)
+{
+ Name(num0, 12) // different types of packages Pkg0 and Pkg1
+ Name(num1, 19) // opcodes of additional assignments of packages Pkg0 and Pkg1
+ Name(num2, 13) // max opcode of additional assignments of References (0-12)
+ Name(cur0, 0) // cur opcode of additional assignments of References (0-12)
+ Name(i000, 0)
+
+ Name(AR20, 0)
+
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+
+ Name(lpN1, 0)
+ Name(lpC1, 0)
+
+ Name(loc0, Package(Multiply(id26, 2)) {})
+ Name(loc1, Package(Multiply(id26, 2)) {})
+
+
+ Store(num1, lpN1)
+ Store(0, lpC1)
+
+ SRMT("Simple-Pkg")
+
+ While (lpN1) {
+
+ Store(num0, lpN0)
+ Store(0, lpC0)
+
+ While (lpN0) {
+
+ Divide(i000, num2, cur0)
+ Increment(i000)
+
+ Store(mfc9(lpC1, lpC0, 0, 0, cur0), Local0)
+ mfc6(loc0, loc1, Local0, 0, 0, 0, 0)
+
+ Divide(i000, num2, cur0)
+ Increment(i000)
+
+ Store(mfc9(lpC1, lpC0, 0, 1, cur0), Local0)
+ mfc6(loc0, loc1, Local0, 0, 0, 0, 0)
+
+ Divide(i000, num2, cur0)
+ Increment(i000)
+
+ Store(mfc9(lpC1, lpC0, 1, 0, cur0), Local0)
+ mfc6(loc0, loc1, Local0, 0, 0, 0, 0)
+
+ Divide(i000, num2, cur0)
+ Increment(i000)
+
+ Store(mfc9(lpC1, lpC0, 1, 1, cur0), Local0)
+ mfc6(loc0, loc1, Local0, 0, 0, 0, 0)
+
+
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+
+ Decrement(lpN1)
+ Increment(lpC1)
+ }
+
+ /*
+ * To eliminate the known outstanding allocations -
+ * releasing of global data are not forces by AcpiExec -
+ * no unload of the processed ACPI table is automatically
+ * initiated by AcpiExec after completion the ex command.
+ */
+ if (0) {
+ mfe8()
+ }
+}
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0136/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0136/DECL.asl
new file mode 100644
index 000000000..8eba6613a
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0136/DECL.asl
@@ -0,0 +1,49 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 136:
+ *
+ * SUMMARY: CopyObject of named Buffer to the longer named Buffer works incorrectly
+ *
+ * ROOT CAUSE
+ */
+
+ Method(mf27)
+ {
+ Name(b000, Buffer(1){0x3c})
+ Name(b001, Buffer(3){0x01, 0x02, 0x03})
+
+ CopyObject(b000, b001)
+
+ if (LNotEqual(b000, b001)) {
+ err("", zFFF, 0x000, 0, 0, b000, b001)
+ }
+ }
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0136/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0136/MAIN.asl
new file mode 100644
index 000000000..8a7f19af1
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0136/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B136.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0136/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0136/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0136/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0136/RUN.asl
new file mode 100644
index 000000000..77930a65e
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0136/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 136", TCLD, 136, W017)) {
+ SRMT("mf27")
+ mf27()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0137/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0137/DECL.asl
new file mode 100644
index 000000000..ec89c24e5
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0137/DECL.asl
@@ -0,0 +1,55 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 137:
+ *
+ * SUMMARY: The Implicit Result Object conversion is mistakenly applied to the optional storing of FromBCD
+ *
+ * ROOT CAUSE
+ */
+
+ Method(mf28)
+ {
+ Name(STR0, "STR0")
+ Name(STR1, "STR1")
+
+ ToBCD(12345678, STR0)
+ Store(ObjectType(STR0), Local0)
+ if (LNotEqual(Local0, c009)) {
+ err("", zFFF, 0x000, 0, 0, Local0, c009)
+ }
+
+ FromBCD(0x12345678, STR1)
+ Store(ObjectType(STR1), Local0)
+ if (LNotEqual(Local0, c009)) {
+ err("", zFFF, 0x001, 0, 0, Local0, c009)
+ }
+ }
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0137/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0137/MAIN.asl
new file mode 100644
index 000000000..465f4e4fc
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0137/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B137.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0137/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0137/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0137/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0137/RUN.asl
new file mode 100644
index 000000000..0e43a5aaa
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0137/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 137", TCLD, 137, W017)) {
+ SRMT("mf28")
+ mf28()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0138/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0138/DECL.asl
new file mode 100644
index 000000000..631080782
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0138/DECL.asl
@@ -0,0 +1,49 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 138:
+ *
+ * SUMMARY: 8 bytes but not 4 expected ones are written to BufferField in 32-bit mode
+ *
+ * ROOT CAUSE
+ */
+
+ Method(mf29)
+ {
+ Name(b000, Buffer(12){})
+ CreateField(b000, 0, 72, bf00)
+
+ Store(0xfedcba9876543210, bf00)
+
+ if (LNotEqual(bf00, Buffer(9){0x10, 0x32, 0x54, 0x76, 0x00, 0x00, 0x00, 0x00, 0x00})) {
+ err("", zFFF, 0x000, 0, 0, bf00, Buffer(9){0x10, 0x32, 0x54, 0x76, 0x00, 0x00, 0x00, 0x00, 0x00})
+ }
+ }
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0138/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0138/MAIN.asl
new file mode 100644
index 000000000..f33958667
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0138/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B138.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0138/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0138/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0138/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0138/RUN.asl
new file mode 100644
index 000000000..4c00ab6c6
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0138/RUN.asl
@@ -0,0 +1,40 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 138", TCLD, 138, W017)) {
+ SRMT("mf29")
+ if (F64) {
+ SKIP()
+ } else {
+ mf29()
+ }
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0139/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0139/DECL.asl
new file mode 100644
index 000000000..4ac4647ff
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0139/DECL.asl
@@ -0,0 +1,74 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 139:
+ *
+ * SUMMARY: DeRefof and Store operations on 64-bit Integers of 32-bit AML table has been loaded modify them
+ *
+ * ROOT CAUSE
+ */
+
+ Method(mf2a)
+ {
+ if (LNotEqual(id1b, 0xfedcba9876543210)) {
+ err("", zFFF, 0x000, 0, 0, id1b, 0xfedcba9876543210)
+ } else {
+ Store("Ok, initially id1b = 0xfedcba9876543210", Debug)
+
+ Store("Store(id1b, Local0)" , Debug)
+
+ Store(id1b, Local0)
+
+ if (LNotEqual(id1b, 0xfedcba9876543210)) {
+ err("", zFFF, 0x001, 0, 0, id1b, 0xfedcba9876543210)
+ }
+ }
+ }
+
+ Method(mf2b)
+ {
+ Store("Store(Refof(id1c), Local0)" , Debug)
+ Store(Refof(id1c), Local0)
+
+ if (LNotEqual(id1c, 0xfedcba9876543211)) {
+ err("", zFFF, 0x002, 0, 0, id1c, 0xfedcba9876543211)
+ } else {
+ Store("Ok, initially id1c = 0xfedcba9876543211", Debug)
+
+ Store("DeRefof(Local0)" , Debug)
+
+ DeRefof(Local0)
+
+ if (LNotEqual(id1c, 0xfedcba9876543211)) {
+ err("", zFFF, 0x003, 0, 0, id1c, 0xfedcba9876543211)
+ }
+ }
+ }
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0139/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0139/MAIN.asl
new file mode 100644
index 000000000..42fe77c0b
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0139/MAIN.asl
@@ -0,0 +1,58 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B139.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/common/DECL.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0139/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0139/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0139/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0139/RUN.asl
new file mode 100644
index 000000000..0e036f428
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0139/RUN.asl
@@ -0,0 +1,38 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 139", TCLD, 139, W017)) {
+ SRMT("mf2a")
+ mf2a()
+ SRMT("mf2b")
+ mf2b()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0140_ASL/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0140_ASL/DECL.asl
new file mode 100644
index 000000000..6f5fe885d
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0140_ASL/DECL.asl
@@ -0,0 +1,46 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 140:
+ *
+ * SUMMARY: The ASL Compiler doesn't report NumElements being less than the number of elements in the PackageList
+ *
+ * Compiler should return error...
+ */
+
+ Name(p000, Package(7) {1,2,3,4,5,6,7,8})
+
+ Method(mf2c)
+ {
+ Store("mf2c started", Debug)
+ Store(p000, Debug)
+ Store("mf2c finished", Debug)
+ }
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0140_ASL/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0140_ASL/MAIN.asl
new file mode 100644
index 000000000..4bf79ee6d
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0140_ASL/MAIN.asl
@@ -0,0 +1,56 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B140.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0140_ASL/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0141_SPEC/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0141_SPEC/DECL.asl
new file mode 100644
index 000000000..d87fa67a8
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0141_SPEC/DECL.asl
@@ -0,0 +1,35 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 141:
+ *
+ * SUMMARY: The term 'object reference' in DMA Resource Descriptor Macro specs sounds ambiguously
+ */ \ No newline at end of file
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0142_ASL/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0142_ASL/DECL.asl
new file mode 100644
index 000000000..adff8b447
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0142_ASL/DECL.asl
@@ -0,0 +1,54 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 142:
+ *
+ * SUMMARY: The ASL Compiler doesn't support non-empty list of parameters of Function Declaration
+ */
+
+ Function(mf2d, IntObj)
+ {
+ Return (0)
+ }
+
+ Function(mf2e, IntObj, IntObj)
+ {
+ Return (1)
+ }
+
+ Method(mf2f) {
+ Store(mf2d(), Debug)
+
+ Store(mf2e(), Debug)
+
+ Store(mf2e(1), Debug)
+ }
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0142_ASL/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0142_ASL/MAIN.asl
new file mode 100644
index 000000000..aed7fc665
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0142_ASL/MAIN.asl
@@ -0,0 +1,56 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B142.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0142_ASL/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0143/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0143/DECL.asl
new file mode 100644
index 000000000..dd1fd626f
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0143/DECL.asl
@@ -0,0 +1,68 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 143:
+ *
+ * SUMMARY: The ASL Compiler doesn't support more than two-element long list of ParameterTypes argument of Method
+ */
+
+ Method(mf30, 2, Serialized, 0, IntObj, {IntObj, IntObj})
+ {
+ Return (Add(Arg0, Arg1))
+ }
+
+ Method(mf31, 1, Serialized, 0, {IntObj, StrObj, BuffObj}, IntObj)
+ {
+ Return (Arg0)
+ }
+
+ Method(mf32, 3, Serialized, 0, IntObj, {IntObj, StrObj, BuffObj})
+ {
+ Return (Add(Add(Arg0, Arg1), Arg2))
+ }
+
+ Method(mf33) {
+
+ Store(mf30(1, 2), Local0)
+ if (LNotEqual(Local0, 3)) {
+ err("", zFFF, 0x000, 0, 0, Local0, 3)
+ }
+
+ Store(mf31("FFFF"), Local0)
+ if (LNotEqual(Local0, "FFFF")) {
+ err("", zFFF, 0x001, 0, 0, Local0, "FFFF")
+ }
+
+ Store(mf32(3, "F", Buffer(1){0xff}), Local0)
+ if (LNotEqual(Local0, 0x111)) {
+ err("", zFFF, 0x002, 0, 0, Local0, 0x111)
+ }
+ }
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0143/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0143/MAIN.asl
new file mode 100644
index 000000000..77d4e35f8
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0143/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B143.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0143/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0143/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0143/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0143/RUN.asl
new file mode 100644
index 000000000..31d45b4f5
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0143/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 143", TCLD, 143, W017)) {
+ SRMT("mf33")
+ mf33()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0144/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0144/DECL.asl
new file mode 100644
index 000000000..308c4bb7b
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0144/DECL.asl
@@ -0,0 +1,77 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 144:
+ *
+ * SUMMARY: The ASL Compiler doesn't support multiple type list for particular ParameterType of Method
+ */
+
+ Method(mf34, 1, Serialized, 0, IntObj, IntObj)
+ {
+ Return (Arg0)
+ }
+
+ Method(mf35, 1, Serialized, 0, IntObj, {IntObj})
+ {
+ Return (Arg0)
+ }
+
+ Method(mf36, 1, Serialized, 0, IntObj, {{IntObj}})
+ {
+ Return (Arg0)
+ }
+
+ Method(mf37, 1, Serialized, 0, IntObj, {{IntObj, StrObj, BuffObj}})
+ {
+ Return (Arg0)
+ }
+
+ Method(mf38) {
+ Store(mf34(0), Local0)
+ if (LNotEqual(Local0, 0)) {
+ err("", zFFF, 0x000, 0, 0, Local0, 0)
+ }
+
+ Store(mf35(1), Local0)
+ if (LNotEqual(Local0, 1)) {
+ err("", zFFF, 0x000, 0, 0, Local0, 1)
+ }
+
+ Store(mf36(2), Local0)
+ if (LNotEqual(Local0, 2)) {
+ err("", zFFF, 0x000, 0, 0, Local0, 2)
+ }
+
+ Store(mf37("3"), Local0)
+ if (LNotEqual(Local0, "3")) {
+ err("", zFFF, 0x000, 0, 0, Local0, "3")
+ }
+ }
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0144/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0144/MAIN.asl
new file mode 100644
index 000000000..54a5daf0c
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0144/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B144.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0144/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0144/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0144/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0144/RUN.asl
new file mode 100644
index 000000000..c9f5d21bb
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0144/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 144", TCLD, 144, W017)) {
+ SRMT("mf38")
+ mf38()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0145_ASL/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0145_ASL/DECL.asl
new file mode 100644
index 000000000..e74d87a9e
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0145_ASL/DECL.asl
@@ -0,0 +1,44 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 145:
+ *
+ * SUMMARY: The ASL Compiler should report an error for SyncLevel argument of Method outside of range
+ *
+ * Compiler should return error...
+ */
+
+ // SyncLevel is outside of valid range 0x0-0xf
+ Method(mf39, 0, Serialized, 16)
+ {
+ Return (0)
+ }
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0145_ASL/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0145_ASL/MAIN.asl
new file mode 100644
index 000000000..d0efffb66
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0145_ASL/MAIN.asl
@@ -0,0 +1,56 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B145.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0145_ASL/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0146/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0146/DECL.asl
new file mode 100644
index 000000000..bae91afc3
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0146/DECL.asl
@@ -0,0 +1,55 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 146:
+ *
+ * SUMMARY: The ASL compiler refuses Package in Case operator
+ */
+
+ Method(mf3a, 1)
+ {
+ Store(0, Local7)
+ Switch (arg0) {
+ Case (Package(1) {Buffer(1) {10}}) {
+ Store(0x12389, Local7)
+ }
+ }
+
+ Return(Local7)
+ }
+
+ Method(mf3b)
+ {
+ Store(mf3a(Buffer(1) {10}), Local0)
+ if (LNotEqual(Local0, 0x12389)) {
+ err("", zFFF, 0x000, 0, 0, Local0, 0x12389)
+ }
+ }
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0146/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0146/MAIN.asl
new file mode 100644
index 000000000..59704a583
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0146/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B146.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0146/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0146/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0146/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0146/RUN.asl
new file mode 100644
index 000000000..9008de2d1
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0146/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 146", TCLD, 146, W017)) {
+ SRMT("mf3b")
+ mf3b()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0147/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0147/DECL.asl
new file mode 100644
index 000000000..ce2e7e166
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0147/DECL.asl
@@ -0,0 +1,54 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 147:
+ *
+ * SUMMARY: ProcessorObj Object Type Keyword is not present in ObjectTypeKeyword
+ */
+
+// Check ProcessorObj
+Function(mf3c,
+ {IntObj, StrObj, BuffObj, PkgObj,
+ FieldUnitObj, DeviceObj, EventObj, MethodObj,
+ MutexObj, OpRegionObj, PowerResObj,
+ ProcessorObj,
+ ThermalZoneObj, BuffFieldObj, DDBHandleObj})
+{
+ Return ("mf3czxcvbnm")
+}
+
+Method(mf3d)
+{
+ Store(mf3c(), Local0)
+ if (LNotEqual(Local0, "mf3czxcvbnm")) {
+ err("", zFFF, 0x000, 0, 0, Local0, "mf3czxcvbnm")
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0147/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0147/MAIN.asl
new file mode 100644
index 000000000..107c563f7
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0147/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B147.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0147/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0147/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0147/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0147/RUN.asl
new file mode 100644
index 000000000..07aed88f6
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0147/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 147", TCLD, 147, W017)) {
+ SRMT("mf3d")
+ mf3d()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0148_ASL/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0148_ASL/DECL.asl
new file mode 100644
index 000000000..d513af6af
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0148_ASL/DECL.asl
@@ -0,0 +1,82 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 148:
+ *
+ * SUMMARY: Additional errors to be reported by iASL for Control Method Declaration
+ *
+ * Compiler should return error...
+ */
+
+Method(mf3e)
+{
+ // Some different from UnknownObj ObjectType Keyword specified in the
+ // ReturnType position but no any actual Object specified to be returned.
+ Method(mm1b, , , , IntObj) {Store(1, Debug)}
+
+ // The same specific keyword in the ReturnType list twice
+ Method(mm1c, , , , {IntObj, IntObj}) {Store(1, Debug)}
+ Method(mm1d, , , , {UnknownObj, UnknownObj}) {Store(1, Debug)}
+
+ // Simulteneously UnknownObj and a specific keyword in the ReturnType list
+ Method(mm1e, , , , {UnknownObj, IntObj}) {Store(1, Debug)}
+
+ // NumArgs 0 but non-empty list of parameters
+ Method(mm1f, 0, , , , IntObj) {Return ("mm1f")}
+ Method(mm20, 0, , , , {IntObj}) {Return ("mm20")}
+ Method(mm21, , , , , {IntObj}) {Return ("mm21")}
+
+ // NumArgs 1 but 2-element list of parameters
+ Method(mm22, 1, , , , {IntObj, IntObj}) {Return ("mm22")}
+
+ // NumArgs 2 but 1-element list of parameters
+ Method(mm23, 2, , , , {IntObj}) {Return ("mm23")}
+
+ // The same specific keyword in the ParameterType list twice
+ Method(mm24, 1, , , , {{IntObj, IntObj}}) {Store(1, Debug)}
+ Method(mm25, 1, , , , {{UnknownObj, UnknownObj}}) {Store(1, Debug)}
+
+ // Simulteneously UnknownObj and a specific keyword in the ParameterType list
+ Method(mm26, 1, , , , {{UnknownObj, IntObj}}) {Store(1, Debug)}
+
+ // NumArgs 6 but 5-element list of parameters
+ Method(mm27, 6, , , , {IntObj, IntObj, IntObj, IntObj,
+ IntObj}) {Return ("mm27")}
+
+ // NumArgs 6 but 7-element list of parameters
+ Method(mm28, 7, , , , {IntObj, IntObj, IntObj, IntObj,
+ IntObj, IntObj, IntObj}) {Return ("mm28")}
+
+ // NumArgs 7 but 8-element list of parameters
+ Method(mm29, 7, , , , {IntObj, IntObj, IntObj, IntObj,
+ IntObj, IntObj, IntObj, IntObj}) {Return ("mm29")}
+}
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0148_ASL/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0148_ASL/MAIN.asl
new file mode 100644
index 000000000..3bbe41217
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0148_ASL/MAIN.asl
@@ -0,0 +1,56 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B148.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0148_ASL/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0149_SPEC/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0149_SPEC/DECL.asl
new file mode 100644
index 000000000..20919d6ec
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0149_SPEC/DECL.asl
@@ -0,0 +1,35 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 149:
+ *
+ * SUMMARY: Spec of Function should be clarified
+ */ \ No newline at end of file
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0150/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0150/DECL.asl
new file mode 100644
index 000000000..24c13e0c3
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0150/DECL.asl
@@ -0,0 +1,178 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 150:
+ *
+ * SUMMARY: No exception when Serialized Method is run after the higher level mutex acquiring
+ *
+ * EXAMPLES
+ *
+ * ROOT CAUSE
+ *
+ * SEE ALSO:
+ */
+
+/*
+1. Acquire of the same mux several times without Releases
+2. Acquire+Releases sequence of the same mux several times
+3. Acquire mux level 7 then Release it and try Acquire mux level 6
+4. Acquire mux level 7 then try Acquire mux level 6
+5. Check all the specified features
+*/
+
+/*
+ * The proper sequence of several enclosed Acquire operations.
+ *
+ * Acquire N level mutex then acquire (N+k) level mutex.
+ */
+Method(md8a)
+{
+ Mutex(mx00, 0)
+ Mutex(mx01, 1)
+
+ Store(0, Local0)
+ Store(0, Local1)
+
+ if (Acquire(mx00, 1)) {
+ err("", zFFF, 0x000, 0, 0, 0, 0)
+ } else {
+ Store(1, Local0)
+ if (Acquire(mx01, 1)) {
+ err("", zFFF, 0x001, 0, 0, 0, 0)
+ } else {
+ Store(1, Local1)
+ }
+ }
+
+ if (Local1) {
+ Release(mx01)
+ }
+ if (Local0) {
+ Release(mx00)
+ }
+}
+
+/*
+ * Improper sequence of several enclosed Acquire operations.
+ *
+ * Acquire N level mutex then acquire (N-k) level mutex.
+ * Exception AE_AML_MUTEX_ORDER is expected in this case.
+ */
+Method(md8b)
+{
+ Mutex(mx00, 1)
+ Mutex(mx01, 0)
+
+ Store(0, Local0)
+ Store(0, Local1)
+
+ if (Acquire(mx00, 1)) {
+ err("", zFFF, 0x002, 0, 0, 0, 0)
+ } else {
+ Store(1, Local0)
+ CH03("", 0, 0x003, 0, 0)
+ Acquire(mx01, 1)
+ CH04("", 0, 64, 0, 0x004, 0, 0) // AE_AML_MUTEX_ORDER
+ }
+ if (Local0) {
+ Release(mx00)
+ }
+}
+
+/*
+ * The proper sequence of several enclosed operations.
+ *
+ * Acquire N level mutex then call to Serialized Method
+ * declared with (N+k) SyncLevel.
+ */
+Method(md8c)
+{
+ Mutex(mx00, 0)
+ Method(mx01, 0, Serialized, 1)
+ {
+ Store("Run Method mx01", Debug)
+ }
+
+ Store(0, Local0)
+ Store(0, Local1)
+
+ if (Acquire(mx00, 1)) {
+ err("", zFFF, 0x005, 0, 0, 0, 0)
+ } else {
+ Store(1, Local0)
+ CH03("", 0, 0x006, 0, 0)
+ mx01()
+ CH03("", 0, 0x007, 0, 0)
+ }
+
+ if (Local0) {
+ Release(mx00)
+ }
+}
+
+/*
+ * Improper sequence of several enclosed operations.
+ *
+ * Acquire N level mutex then call to Serialized Method declared with (N-k) SyncLevel.
+ * Exception AE_AML_MUTEX_ORDER is expected in this case.
+ */
+Method(md8d)
+{
+ Mutex(mx00, 1)
+ Method(mx01, 0, Serialized, 0)
+ {
+ Store("Run Method mx01", Debug)
+ }
+
+ Store(0, Local0)
+ Store(0, Local1)
+
+ if (Acquire(mx00, 1)) {
+ err("", zFFF, 0x008, 0, 0, 0, 0)
+ } else {
+ Store(1, Local0)
+ CH03("", 0, 0x009, 0, 0)
+ mx01()
+ CH04("", 0, 64, 0, 0x00a, 0, 0) // AE_AML_MUTEX_ORDER
+ }
+
+ if (Local0) {
+ Release(mx00)
+ }
+}
+
+Method(md8e)
+{
+ md8a()
+ md8b()
+ md8c()
+ md8d()
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0150/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0150/MAIN.asl
new file mode 100644
index 000000000..1594d220d
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0150/MAIN.asl
@@ -0,0 +1,58 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B150.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/common/DECL.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0150/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0150/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0150/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0150/RUN.asl
new file mode 100644
index 000000000..227a5a4d0
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0150/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 150", TCLD, 150, W017)) {
+ SRMT("md8e")
+ md8e()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0151/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0151/DECL.asl
new file mode 100644
index 000000000..8f66c8656
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0151/DECL.asl
@@ -0,0 +1,117 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 151:
+ *
+ * SUMMARY: The zero-length resulting String of Mid operator passed to Concatenate operator causes crash
+ *
+ * Check absence of crash..
+ */
+
+ Method(mf3f, 1)
+ {
+ Name(b000, Buffer(arg0){})
+ Name(b001, Buffer(7){1,2,3,4,5,6,7})
+ Name(b002, Buffer(7){8,9,10,11,12,13,14})
+
+ Store("Buffer case", Debug)
+
+ Store(b000, Debug)
+ Store(Sizeof(b000), Debug)
+
+ // 1.
+
+ Concatenate(b000, b001)
+ Store("Ok: Concatenate(<Default empty buffer>, ...)", Debug)
+
+ Concatenate(b000, b001, Local0)
+ if (LNotEqual(Local0, Buffer(7){1,2,3,4,5,6,7})) {
+ err("", zFFF, 0x000, 0, 0, Local0, Buffer(7){1,2,3,4,5,6,7})
+ }
+
+ // 2.
+
+ Store(Mid(b002, 7, 1), Local0)
+ Store(Local0, Debug)
+ Store(Sizeof(Local0), Debug)
+
+ Store("Try: Concatenate(<Mid empty buffer result object>, ...)", Debug)
+ Concatenate(Local0, b001)
+ Store("Ok: Concatenate(<Mid empty buffer result object>, ...)", Debug)
+
+ Concatenate(Local0, b001, Local0)
+ if (LNotEqual(Local0, Buffer(7){1,2,3,4,5,6,7})) {
+ err("", zFFF, 0x001, 0, 0, Local0, Buffer(7){1,2,3,4,5,6,7})
+ }
+ }
+
+ Method(mf40)
+ {
+ Name(s000, "")
+ Name(s001, "String1")
+ Name(s002, "String2")
+
+ Store("String case", Debug)
+
+ Store(s000, Debug)
+ Store(Sizeof(s000), Debug)
+
+ // 3.
+
+ Concatenate(s000, s001)
+ Store("Ok: Concatenate(<Default empty string>, ...)", Debug)
+
+ Concatenate(s000, s001, Local0)
+ if (LNotEqual(Local0, "String1")) {
+ err("", zFFF, 0x002, 0, 0, Local0, "String1")
+ }
+
+ // 4.
+
+ Store(Mid(s002, 7, 1), Local0)
+ Store(Local0, Debug)
+ Store(Sizeof(Local0), Debug)
+
+ Store("Try: Concatenate(<Mid empty string result object>, ...)", Debug)
+ Concatenate(Local0, s001)
+ Store("Ok: Concatenate(<Mid empty string result object>, ...)", Debug)
+
+ Concatenate(Local0, s001, Local0)
+ if (LNotEqual(Local0, "String1")) {
+ err("", zFFF, 0x003, 0, 0, Local0, "String1")
+ }
+ }
+
+ Method(mf41)
+ {
+ mf3f(0)
+ mf40()
+ }
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0151/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0151/MAIN.asl
new file mode 100644
index 000000000..5c7794e95
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0151/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B151.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0151/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0151/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0151/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0151/RUN.asl
new file mode 100644
index 000000000..ab9cc8fe6
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0151/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 151", TCLD, 151, W017)) {
+ SRMT("mf41")
+ mf41()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0152_ASL/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0152_ASL/DECL.asl
new file mode 100644
index 000000000..978d4b1cf
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0152_ASL/DECL.asl
@@ -0,0 +1,70 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 152:
+ *
+ * SUMMARY: Decrease severity of iASL error for non-Computational types in the Computational data positions
+ *
+ * Compiler should return error...
+ */
+
+ Method(mf42)
+ {
+ Name(INT0, 0xfedcba9876543210)
+ Name(STR0, "source string")
+ Name(BUF0, Buffer(9){9,8,7,6,5,4,3,2,1})
+ Name(PAC0, Package(3) {"test package"})
+ Device(DEV0) {Name(s000, "DEV0")}
+ Event(EVE0)
+ Method(MMM0) {Return ("ff0X")}
+ Mutex(MTX0, 0)
+ OperationRegion(OPR0, SystemMemory, 0, 48)
+ PowerResource(PWR0, 0, 0) {Name(s000, "PWR0")}
+ Processor(CPU0, 0x0, 0xFFFFFFFF, 0x0) {Name(s000, "CPU0")}
+ ThermalZone(TZN0) {Name(s000, "TZN0")}
+ Field(OPR0, ByteAcc, NoLock, Preserve) {FLU0, 69}
+ Createfield(BUF0, 0, 69, BFL0)
+
+ Add(INT0, 1)
+ Add(STR0, 2)
+ Add(BUF0, 3)
+ Add(PAC0, 4)
+ Add(FLU0, 4)
+ Add(DEV0, 6)
+ Add(EVE0, 7)
+ Add(MMM0, 8)
+ Add(MTX0, 9)
+ Add(OPR0, 10)
+ Add(PWR0, 11)
+ Add(CPU0, 12)
+ Add(TZN0, 13)
+ Add(BFL0, 14)
+ }
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0152_ASL/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0152_ASL/MAIN.asl
new file mode 100644
index 000000000..3a9472157
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0152_ASL/MAIN.asl
@@ -0,0 +1,56 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B152.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0152_ASL/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0153/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0153/DECL.asl
new file mode 100644
index 000000000..d64421ed8
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0153/DECL.asl
@@ -0,0 +1,73 @@
+/*
+ * 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.
+ */
+
+
+/*
+ * Bug 153:
+ *
+ * SUMMARY: Source and Target objects after ACPI AML StoreOp behave identically
+ *
+ * Perform any available Store(OOO1, OOO2) operation such that
+ * it changes the type of the target named object (OOO2). Then
+ * Store anything into OOO2 once again. In a result of these
+ * operations OOO1 is changed also identically to OOO2.
+ *
+ * That is the contents of bug, OOO1 must be unchanged.
+ *
+ * ROOT CAUSE
+ *
+ * Incorrectly implemented the case when the type of the target named
+ * object is changed in result of the Store operation - the source object
+ * itself but not a copy of it is attached to the namespace node of the
+ * target object (previous one detached). So, in a result, the same internal
+ * object is attached to two namespace nodes. Due to that, the following
+ * storing into OOO2 appears like changing of OOO1 as well.
+ *
+ * OOO2 should be a duplicate of OOO1, see spec below.
+ *
+ *
+ * Check storing of Computational and Package type data, Named and
+ * immediate images, to all the available types.
+ */
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0153/Exc.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0153/Mix.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0153/ToBuffer.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0153/ToDevice.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0153/ToDeviceGlob.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0153/ToEvent.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0153/ToInteger.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0153/ToMutex.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0153/ToPackage.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0153/ToPowerRes.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0153/ToProcessor.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0153/ToRegion.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0153/ToString.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0153/ToThermalZone.asl")
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0153/Exc.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0153/Exc.asl
new file mode 100644
index 000000000..898bf0c3a
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0153/Exc.asl
@@ -0,0 +1,80 @@
+/*
+ * 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.
+ */
+
+
+/*
+ * Spec: Store of Non-computational type objects
+ * to Computational type object causes exceptions.
+ */
+
+// Package --> Integer
+
+Method(md01)
+{
+ Name(pppp, Package(1){Buffer() {1,2,3,4}})
+ Name(i000, 0x5678)
+
+ CH03("", 0, 0x000, 0, 0)
+ Store(pppp, i000)
+ CH04("", 0, 47, 0, 0x001, 0, 0) // AE_AML_OPERAND_TYPE
+}
+
+// Package --> String
+
+Method(md02)
+{
+ Name(pppp, Package(1){Buffer() {1,2,3,4}})
+ Name(s000, "String")
+
+ CH03("", 0, 0x002, 0, 0)
+ Store(pppp, s000)
+ CH04("", 0, 47, 0, 0x003, 0, 0) // AE_AML_OPERAND_TYPE
+}
+
+// Package --> Buffer
+
+Method(md03)
+{
+ Name(pppp, Package(1){Buffer() {1,2,3,4}})
+ Name(b000, Buffer() {1,2,3,4})
+
+ CH03("", 0, 0x004, 0, 0)
+ Store(pppp, b000)
+ CH04("", 0, 47, 0, 0x005, 0, 0) // AE_AML_OPERAND_TYPE
+}
+
+Method(md04)
+{
+ CH03("", 0, 0xf00, 0, 0)
+ md01()
+ md02()
+ md03()
+ CH03("", 0, 0xf01, 0, 0)
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0153/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0153/MAIN.asl
new file mode 100644
index 000000000..664d288a1
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0153/MAIN.asl
@@ -0,0 +1,58 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B153.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/common/DECL.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0153/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0153/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0153/Mix.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0153/Mix.asl
new file mode 100644
index 000000000..f90ac538a
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0153/Mix.asl
@@ -0,0 +1,321 @@
+/*
+ * 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.
+ */
+
+
+Method(md05)
+{
+ Event(e000)
+ Mutex(mx00, 0)
+ ThermalZone(tz00) {}
+ Processor(pr00, 0, 0xFFFFFFFF, 0) {}
+ PowerResource(pw00, 1, 0) {Method(mmmm){return (0)}}
+ Method(m000) {return (0xabcd0006)}
+ Device(d000) { Name(i900, 0xabcd0017) }
+ OperationRegion(r000, SystemMemory, 0x100, 0x100)
+
+ Name(i000, 0xabcd0000)
+ Name(i001, 0xabcd0001)
+ Name(i002, 0xabcd0002)
+ Name(i003, 0xabcd0003)
+ Name(i004, 0xabcd0004)
+ Name(i005, 0xabcd0005)
+
+ Store(Store(Store(Store(Store(Store(Store(Store(0x1a2b3c4d, i000), i001), i002), i003), i004), i005), d000), r000)
+
+ if (LNotEqual(i000, 0x1a2b3c4d)) {
+ err("", zFFF, 0x100, 0, 0, i000, 0x1a2b3c4d)
+ }
+ if (LNotEqual(i001, 0x1a2b3c4d)) {
+ err("", zFFF, 0x101, 0, 0, i001, 0x1a2b3c4d)
+ }
+ if (LNotEqual(i002, 0x1a2b3c4d)) {
+ err("", zFFF, 0x102, 0, 0, i002, 0x1a2b3c4d)
+ }
+ if (LNotEqual(i003, 0x1a2b3c4d)) {
+ err("", zFFF, 0x103, 0, 0, i003, 0x1a2b3c4d)
+ }
+ if (LNotEqual(i004, 0x1a2b3c4d)) {
+ err("", zFFF, 0x104, 0, 0, i004, 0x1a2b3c4d)
+ }
+ if (LNotEqual(i005, 0x1a2b3c4d)) {
+ err("", zFFF, 0x105, 0, 0, i005, 0x1a2b3c4d)
+ }
+ Store(Refof(d000), Local0)
+ if (LNotEqual(DerefOf(Local0), 0x1a2b3c4d)) {
+ err("", zFFF, 0x106, 0, 0, d000, 0x1a2b3c4d)
+ }
+ Store(Refof(r000), Local0)
+ if (LNotEqual(DerefOf(Local0), 0x1a2b3c4d)) {
+ err("", zFFF, 0x107, 0, 0, r000, 0x1a2b3c4d)
+ }
+
+ Store(Store(Store(Store(Store(Store(Store(Store(Store(0x91827364, e000), mx00), tz00), pr00), pw00), m000), i000), d000), r000)
+
+ Store(Refof(e000), Local0)
+ if (LNotEqual(DerefOf(Local0), 0x91827364)) {
+ err("", zFFF, 0x108, 0, 0, e000, 0x91827364)
+ }
+ Store(Refof(mx00), Local0)
+ if (LNotEqual(DerefOf(Local0), 0x91827364)) {
+ err("", zFFF, 0x109, 0, 0, mx00, 0x91827364)
+ }
+ Store(Refof(tz00), Local0)
+ if (LNotEqual(DerefOf(Local0), 0x91827364)) {
+ err("", zFFF, 0x10a, 0, 0, tz00, 0x91827364)
+ }
+ Store(Refof(pr00), Local0)
+ if (LNotEqual(DerefOf(Local0), 0x91827364)) {
+ err("", zFFF, 0x10b, 0, 0, pr00, 0x91827364)
+ }
+ Store(Refof(pw00), Local0)
+ if (LNotEqual(DerefOf(Local0), 0x91827364)) {
+ err("", zFFF, 0x10c, 0, 0, pw00, 0x91827364)
+ }
+ Store(Refof(m000), Local0)
+ if (LNotEqual(DerefOf(Local0), 0x91827364)) {
+ err("", zFFF, 0x10d, 0, 0, m000, 0x91827364)
+ }
+ Store(Refof(i000), Local0)
+ if (LNotEqual(DerefOf(Local0), 0x91827364)) {
+ err("", zFFF, 0x10e, 0, 0, i000, 0x91827364)
+ }
+ Store(Refof(d000), Local0)
+ if (LNotEqual(DerefOf(Local0), 0x91827364)) {
+ err("", zFFF, 0x10f, 0, 0, d000, 0x91827364)
+ }
+ Store(Refof(r000), Local0)
+ if (LNotEqual(DerefOf(Local0), 0x91827364)) {
+ err("", zFFF, 0x110, 0, 0, r000, 0x91827364)
+ }
+}
+
+Method(md06)
+{
+ Event(e000)
+ Mutex(mx00, 0)
+ ThermalZone(tz00) {}
+ Processor(pr00, 0, 0xFFFFFFFF, 0) {}
+ PowerResource(pw00, 1, 0) {Method(mmmm){return (0)}}
+ Method(m000) {return (0xabcd0006)}
+ Device(d000) { Name(i900, 0xabcd0017) }
+ OperationRegion(r000, SystemMemory, 0x100, 0x100)
+
+ Name(i000, 0xabcd0006)
+ Name(i001, 0xabcd0007)
+ Name(i002, 0xabcd0008)
+ Name(i003, 0xabcd0009)
+ Name(i004, 0xabcd000a)
+ Name(i005, 0xabcd000b)
+ Name(i006, 0xabcd000c)
+
+ Store(Store(Store(Store(Store(Store(i006, i000), i001), i002), i003), i004), i005)
+
+ if (LNotEqual(i006, i000)) {
+ err("", zFFF, 0x111, 0, 0, i006, i000)
+ }
+ if (LNotEqual(i006, i001)) {
+ err("", zFFF, 0x112, 0, 0, i006, i001)
+ }
+ if (LNotEqual(i006, i002)) {
+ err("", zFFF, 0x113, 0, 0, i006, i002)
+ }
+ if (LNotEqual(i006, i003)) {
+ err("", zFFF, 0x114, 0, 0, i006, i003)
+ }
+ if (LNotEqual(i006, i004)) {
+ err("", zFFF, 0x115, 0, 0, i006, i004)
+ }
+ if (LNotEqual(i006, i005)) {
+ err("", zFFF, 0x116, 0, 0, i006, i005)
+ }
+ if (LNotEqual(i006, i006)) {
+ err("", zFFF, 0x117, 0, 0, i006, i006)
+ }
+ Store(Store(Store(Store(Store(Store(Store(i006, e000), mx00), tz00), pr00), pw00), m000), i000)
+
+ Store(Refof(e000), Local0)
+ if (LNotEqual(DerefOf(Local0), i006)) {
+ err("", zFFF, 0x118, 0, 0, e000, i006)
+ }
+ Store(Refof(mx00), Local0)
+ if (LNotEqual(DerefOf(Local0), i006)) {
+ err("", zFFF, 0x119, 0, 0, mx00, i006)
+ }
+ Store(Refof(tz00), Local0)
+ if (LNotEqual(DerefOf(Local0), i006)) {
+ err("", zFFF, 0x11a, 0, 0, tz00, i006)
+ }
+ Store(Refof(pr00), Local0)
+ if (LNotEqual(DerefOf(Local0), i006)) {
+ err("", zFFF, 0x11b, 0, 0, pr00, i006)
+ }
+ Store(Refof(pw00), Local0)
+ if (LNotEqual(DerefOf(Local0), i006)) {
+ err("", zFFF, 0x11c, 0, 0, pw00, i006)
+ }
+ Store(Refof(m000), Local0)
+ if (LNotEqual(DerefOf(Local0), i006)) {
+ err("", zFFF, 0x11d, 0, 0, m000, i006)
+ }
+ Store(Refof(i000), Local0)
+ if (LNotEqual(DerefOf(Local0), i006)) {
+ err("", zFFF, 0x11e, 0, 0, i000, i006)
+ }
+}
+
+Method(md68)
+{
+ Name(i000, 0xe0385bcd)
+ Event(OOO2)
+ Name(p000, Package(8){})
+ Name(p001, Package(8){OOO2})
+
+ Store(Refof(OOO2), Local7)
+ Store(Refof(OOO2), Index(p000, 0))
+
+ Store(ObjectType(DeRefof(Local7)), Local0)
+ if (LNotEqual(Local0, c00f)) {
+ err("", zFFF, 0x11f, 0, 0, Local0, c00f)
+ }
+ Store(Derefof(Index(p000, 0)), Local6)
+ Store(ObjectType(DeRefof(Local6)), Local0)
+ if (LNotEqual(Local0, c00f)) {
+ err("", zFFF, 0x120, 0, 0, Local0, c00f)
+ }
+
+ Store(i000, OOO2)
+ Store (0x61, OOO2)
+
+ Store(DeRefof(Refof(OOO2)), Local0)
+
+ if (LNotEqual(Local0, 0x61)) {
+ err("", zFFF, 0x121, 0, 0, Local0, 0x61)
+ }
+ if (LNotEqual(i000, 0xe0385bcd)) {
+ err("", zFFF, 0x122, 0, 0, i000, 0xe0385bcd)
+ }
+
+ Store(ObjectType(DeRefof(Local7)), Local0)
+ if (LNotEqual(Local0, c009)) {
+ err("", zFFF, 0x123, 0, 0, Local0, c009)
+ }
+
+ Store(Refof(OOO2), Local7)
+ Store(ObjectType(DeRefof(Local7)), Local0)
+ if (LNotEqual(Local0, c009)) {
+ err("", zFFF, 0x124, 0, 0, Local0, c009)
+ }
+
+ Store(ObjectType(OOO2), Local0)
+ if (LNotEqual(Local0, c009)) {
+ err("", zFFF, 0x125, 0, 0, Local0, c009)
+ }
+
+ Store(Derefof(Index(p000, 0)), Local7)
+ Store(ObjectType(DeRefof(Local7)), Local0)
+ if (LNotEqual(Local0, c009)) {
+ err("", zFFF, 0x126, 0, 0, Local0, c009)
+ }
+}
+
+Method(md69)
+{
+ Name(i000, 0xe0385bcd)
+ Device(OOO2) {
+ Name(i001, 0xabcd0011)
+ Name(i002, 0xabcd0012)
+ Name(i003, 0xabcd0013)
+ Name(i004, 0xabcd0014)
+ Name(i005, 0xabcd0015)
+ Name(i006, 0xabcd0016)
+ Name(i007, 0xabcd0017)
+ }
+
+ Store(RefOf(OOO2.i001), Local1)
+ Store(RefOf(OOO2.i002), Local2)
+ Store(RefOf(OOO2.i003), Local3)
+ Store(RefOf(OOO2.i004), Local4)
+ Store(RefOf(OOO2.i005), Local5)
+ Store(RefOf(OOO2.i006), Local6)
+ Store(RefOf(OOO2.i007), Local7)
+
+ Store(i000, OOO2)
+ Store (0x61, OOO2)
+
+ Store(DeRefof(Refof(OOO2)), Local0)
+
+ if (LNotEqual(Local0, 0x61)) {
+ err("", zFFF, 0x127, 0, 0, Local0, 0x61)
+ }
+ if (LNotEqual(i000, 0xe0385bcd)) {
+ err("", zFFF, 0x128, 0, 0, i000, 0xe0385bcd)
+ }
+
+ // Are the locals save?
+
+ Store(DerefOf(Local1), Local0)
+ if (LNotEqual(Local0, 0xabcd0011)) {
+ err("", zFFF, 0x129, 0, 0, Local0, 0xabcd0011)
+ }
+ Store(DerefOf(Local2), Local0)
+ if (LNotEqual(Local0, 0xabcd0012)) {
+ err("", zFFF, 0x12a, 0, 0, Local0, 0xabcd0012)
+ }
+ Store(DerefOf(Local3), Local0)
+ if (LNotEqual(Local0, 0xabcd0013)) {
+ err("", zFFF, 0x12b, 0, 0, Local0, 0xabcd0013)
+ }
+ Store(DerefOf(Local4), Local0)
+ if (LNotEqual(Local0, 0xabcd0014)) {
+ err("", zFFF, 0x12c, 0, 0, Local0, 0xabcd0014)
+ }
+ Store(DerefOf(Local5), Local0)
+ if (LNotEqual(Local0, 0xabcd0015)) {
+ err("", zFFF, 0x12d, 0, 0, Local0, 0xabcd0015)
+ }
+ Store(DerefOf(Local6), Local0)
+ if (LNotEqual(Local0, 0xabcd0016)) {
+ err("", zFFF, 0x12e, 0, 0, Local0, 0xabcd0016)
+ }
+ Store(DerefOf(Local7), Local0)
+ if (LNotEqual(Local0, 0xabcd0017)) {
+ err("", zFFF, 0x12f, 0, 0, Local0, 0xabcd0017)
+ }
+}
+
+Method(md07)
+{
+ CH03("", 0, 0xf02, 0, 0)
+ md05()
+ md06()
+ md68()
+ md69()
+ CH03("", 0, 0xf03, 0, 0)
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0153/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0153/RUN.asl
new file mode 100644
index 000000000..c912d1f0b
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0153/RUN.asl
@@ -0,0 +1,61 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 153", TCLD, 153, W017)) {
+ SRMT("Exc")
+ md04()
+ SRMT("Mix")
+ md07()
+ SRMT("ToBuffer")
+ m00e()
+ SRMT("ToDevice")
+ md17()
+ md67()
+ SRMT("ToEvent")
+ md20()
+ SRMT("ToInteger")
+ md23()
+ SRMT("ToMutex")
+ md2c()
+ SRMT("ToPackage")
+ md31()
+ SRMT("ToPowerRes")
+ md3a()
+ SRMT("ToProcessor")
+ md43()
+ SRMT("ToRegion")
+ md4c()
+ SRMT("ToString")
+ md50()
+ SRMT("ToThermalZone")
+ md58()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0153/ToBuffer.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0153/ToBuffer.asl
new file mode 100644
index 000000000..0b252fde8
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0153/ToBuffer.asl
@@ -0,0 +1,144 @@
+/*
+ * 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.
+ */
+
+
+/*
+ * Store Integer/String/Buffer to Buffer
+ */
+
+// Integer
+
+Method(md08)
+{
+ Name(i000, 0xabcd)
+ Name(b000, Buffer() {1,2,3,4})
+
+ Store(i000, b000)
+ Store (0x61, b000)
+
+ if (LNotEqual(b000, Buffer() {0x61,0,0,0})) {
+ err("", zFFF, 0x200, 0, 0, b000, Buffer() {0x61,0,0,0})
+ }
+ if (LNotEqual(i000, 0xabcd)) {
+ err("", zFFF, 0x201, 0, 0, i000, 0xabcd)
+ }
+}
+
+// String
+
+Method(md09)
+{
+ Name(s000, "zxcvbqwertynm")
+ Name(b000, Buffer() {1,2,3,4})
+
+ Store(s000, b000)
+ Store("ADb", b000)
+
+ if (LNotEqual(b000, Buffer() {0x41,0x44,0x62,0})) {
+ err("", zFFF, 0x202, 0, 0, b000, Buffer() {0x41,0x44,0x62,0})
+ }
+ if (LNotEqual(s000, "zxcvbqwertynm")) {
+ err("", zFFF, 0x203, 0, 0, s000, "zxcvbqwertynm")
+ }
+}
+
+// Buffer
+
+Method(md0a)
+{
+ Name(b000, Buffer() {1,2,3,4})
+ Name(b001, Buffer() {5,6,7,8})
+
+ Store(b000, b001)
+ Store (Buffer() {5,6}, b001)
+
+ if (LNotEqual(b001, Buffer() {5,6,0,0})) {
+ err("", zFFF, 0x204, 0, 0, b001, Buffer() {5,6,0,0})
+ }
+ if (LNotEqual(b000, Buffer() {1,2,3,4})) {
+ err("", zFFF, 0x205, 0, 0, b000, Buffer() {1,2,3,4})
+ }
+}
+
+/* Constants */
+
+// Integer
+
+Method(md0b)
+{
+ Name(b000, Buffer() {1,2,3,4})
+
+ Store(0xabcd, b000)
+ Store (0x61, b000)
+
+ if (LNotEqual(b000, Buffer() {0x61,0,0,0})) {
+ err("", zFFF, 0x206, 0, 0, b000, Buffer() {0x61,0,0,0})
+ }
+}
+
+// String
+
+Method(md0c)
+{
+ Name(b000, Buffer() {1,2,3,4})
+
+ Store("zxcvbqwertynm", b000)
+ Store("ADb", b000)
+
+ if (LNotEqual(b000, Buffer() {0x41,0x44,0x62,0})) {
+ err("", zFFF, 0x207, 0, 0, b000, Buffer() {0x41,0x44,0x62,0})
+ }
+}
+
+// Buffer
+
+Method(md0d)
+{
+ Name(b001, Buffer() {5,6,7,8})
+
+ Store(Buffer() {1,2,3,4}, b001)
+ Store (Buffer() {5,6}, b001)
+
+ if (LNotEqual(b001, Buffer() {5,6,0,0})) {
+ err("", zFFF, 0x208, 0, 0, b001, Buffer() {5,6,0,0})
+ }
+}
+
+Method(m00e)
+{
+ CH03("", 0, 0xf04, 0, 0)
+ md08()
+ md09()
+ md0a()
+ md0b()
+ md0c()
+ md0d()
+ CH03("", 0, 0xf05, 0, 0)
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0153/ToDevice.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0153/ToDevice.asl
new file mode 100644
index 000000000..1217e3a29
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0153/ToDevice.asl
@@ -0,0 +1,244 @@
+/*
+ * 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.
+ */
+
+
+/*
+ * Store Integer/String/Buffer/Package to Device
+ */
+
+// Integer
+
+Method(md0f)
+{
+ Name(i000, 0xe0385bcd)
+ Device(OOO2) { Name(i900, 0xabcd0017) }
+
+ Store(i000, OOO2)
+ Store (0x61, OOO2)
+
+ Store(DeRefof(Refof(OOO2)), Local1)
+
+ if (LNotEqual(Local1, 0x61)) {
+ err("", zFFF, 0x300, 0, 0, Local1, 0x61)
+ }
+ if (LNotEqual(i000, 0xe0385bcd)) {
+ err("", zFFF, 0x301, 0, 0, i000, 0xe0385bcd)
+ }
+}
+
+// String
+
+Method(md10)
+{
+ Name(s000, "String")
+ Device(OOO2) { Name(i900, 0xabcd0017) }
+
+ Store(s000, OOO2)
+ Store(Refof(OOO2), Local0)
+ Store (0x61, Index(DeRefof(Local0), 3))
+
+ Store(Refof(OOO2), Local0)
+ Store(DeRefof(Local0), Local1)
+
+ if (LNotEqual(Local1, "Strang")) {
+ err("", zFFF, 0x302, 0, 0, Local1, "Strang")
+ }
+ if (LNotEqual(s000, "String")) {
+ err("", zFFF, 0x303, 0, 0, s000, "String")
+ }
+}
+
+// Buffer
+
+Method(md11)
+{
+ Name(b000, Buffer() {1,2,3,4})
+ Device(OOO2) { Name(i900, 0xabcd0017) }
+
+ Store(b000, OOO2)
+
+ Store(Refof(OOO2), Local0)
+ Store (0x61, Index(DeRefof(Local0), 3))
+ Store(DeRefof(Local0), Local1)
+
+ if (LNotEqual(Local1, Buffer() {1,2,3,0x61})) {
+ err("", zFFF, 0x304, 0, 0, Local1, Buffer() {1,2,3,0x61})
+ }
+ if (LNotEqual(b000, Buffer() {1,2,3,4})) {
+ err("", zFFF, 0x305, 0, 0, b000, Buffer() {1,2,3,4})
+ }
+}
+
+// Package
+
+Method(md12)
+{
+ Name(pppp, Package(1){Buffer() {1,2,3,4}})
+ Device(OOO2) { Name(i900, 0xabcd0017) }
+
+ Store(pppp, OOO2)
+ Store(Refof(OOO2), Local0)
+ Store (0x61, Index(DerefOf(Index(DeRefof(Local0), 0)), 3))
+
+ // OOO2
+
+ Store(DeRefof(Index(DerefOf(Index(DeRefof(Local0), 0)), 0)), Local1)
+ if (LNotEqual(Local1, 1)) {
+ err("", zFFF, 0x306, 0, 0, Local1, 1)
+ }
+ Store(DeRefof(Index(DerefOf(Index(DeRefof(Local0), 0)), 1)), Local1)
+ if (LNotEqual(Local1, 2)) {
+ err("", zFFF, 0x307, 0, 0, Local1, 2)
+ }
+ Store(DeRefof(Index(DerefOf(Index(DeRefof(Local0), 0)), 2)), Local1)
+ if (LNotEqual(Local1, 3)) {
+ err("", zFFF, 0x308, 0, 0, Local1, 3)
+ }
+ Store(DeRefof(Index(DerefOf(Index(DeRefof(Local0), 0)), 3)), Local1)
+ if (LNotEqual(Local1, 0x61)) {
+ err("", zFFF, 0x309, 0, 0, Local1, 0x61)
+ }
+
+ // pppp
+
+ Store(DeRefof(Index(DerefOf(Index(pppp, 0)), 0)), Local0)
+ if (LNotEqual(Local0, 1)) {
+ err("", zFFF, 0x30a, 0, 0, Local0, 1)
+ }
+ Store(DeRefof(Index(DerefOf(Index(pppp, 0)), 1)), Local0)
+ if (LNotEqual(Local0, 2)) {
+ err("", zFFF, 0x30b, 0, 0, Local0, 2)
+ }
+ Store(DeRefof(Index(DerefOf(Index(pppp, 0)), 2)), Local0)
+ if (LNotEqual(Local0, 3)) {
+ err("", zFFF, 0x30c, 0, 0, Local0, 3)
+ }
+ Store(DeRefof(Index(DerefOf(Index(pppp, 0)), 3)), Local0)
+ if (LNotEqual(Local0, 4)) {
+ err("", zFFF, 0x30d, 0, 0, Local0, 4)
+ }
+}
+
+/* Constant */
+
+// Integer
+
+Method(md13)
+{
+ Device(OOO2) { Name(i900, 0xabcd0017) }
+
+ Store(0xe0385bcd, OOO2)
+ Store (0x61, OOO2)
+
+ Store(DeRefof(Refof(OOO2)), Local1)
+
+ if (LNotEqual(Local1, 0x61)) {
+ err("", zFFF, 0x30e, 0, 0, Local1, 0x61)
+ }
+}
+
+// String
+
+Method(md14)
+{
+ Device(OOO2) { Name(i900, 0xabcd0017) }
+
+ Store("String", OOO2)
+ Store(Refof(OOO2), Local0)
+ Store (0x61, Index(DeRefof(Local0), 3))
+
+ Store(Refof(OOO2), Local0)
+ Store(DeRefof(Local0), Local1)
+
+ if (LNotEqual(Local1, "Strang")) {
+ err("", zFFF, 0x30f, 0, 0, Local1, "Strang")
+ }
+}
+
+// Buffer
+
+Method(md15)
+{
+ Device(OOO2) { Name(i900, 0xabcd0017) }
+
+ Store(Buffer() {1,2,3,4}, OOO2)
+
+ Store(Refof(OOO2), Local0)
+ Store (0x61, Index(DeRefof(Local0), 3))
+ Store(DeRefof(Local0), Local1)
+
+ if (LNotEqual(Local1, Buffer() {1,2,3,0x61})) {
+ err("", zFFF, 0x310, 0, 0, Local1, Buffer() {1,2,3,0x61})
+ }
+}
+
+// Package
+
+Method(md16)
+{
+ Device(OOO2) { Name(i900, 0xabcd0017) }
+
+ Store(Package(1){Buffer() {1,2,3,4}}, OOO2)
+ Store(Refof(OOO2), Local0)
+ Store (0x61, Index(DerefOf(Index(DeRefof(Local0), 0)), 3))
+
+ // OOO2
+
+ Store(DeRefof(Index(DerefOf(Index(DeRefof(Local0), 0)), 0)), Local1)
+ if (LNotEqual(Local1, 1)) {
+ err("", zFFF, 0x311, 0, 0, Local1, 1)
+ }
+ Store(DeRefof(Index(DerefOf(Index(DeRefof(Local0), 0)), 1)), Local1)
+ if (LNotEqual(Local1, 2)) {
+ err("", zFFF, 0x312, 0, 0, Local1, 2)
+ }
+ Store(DeRefof(Index(DerefOf(Index(DeRefof(Local0), 0)), 2)), Local1)
+ if (LNotEqual(Local1, 3)) {
+ err("", zFFF, 0x313, 0, 0, Local1, 3)
+ }
+ Store(DeRefof(Index(DerefOf(Index(DeRefof(Local0), 0)), 3)), Local1)
+ if (LNotEqual(Local1, 0x61)) {
+ err("", zFFF, 0x314, 0, 0, Local1, 0x61)
+ }
+}
+
+Method(md17)
+{
+ CH03("", 0, 0xf06, 0, 0)
+ md0f()
+ md10()
+ md11()
+ md12()
+ md13()
+ md14()
+ md15()
+ md16()
+ CH03("", 0, 0xf07, 0, 0)
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0153/ToDeviceGlob.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0153/ToDeviceGlob.asl
new file mode 100644
index 000000000..77c25bf7b
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0153/ToDeviceGlob.asl
@@ -0,0 +1,383 @@
+/*
+ * 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.
+ */
+
+
+/*
+ * Store Integer/String/Buffer/Package to Device (global objects)
+ */
+
+// Glob to Loc
+
+// Integer
+
+Method(md5b)
+{
+ Device(OOO2) { Name(i900, 0xabcd0017) }
+
+ Store(id00, OOO2)
+ Store (0x61, OOO2)
+
+ Store(DeRefof(Refof(OOO2)), Local1)
+
+ if (LNotEqual(Local1, 0x61)) {
+ err("", zFFF, 0xd00, 0, 0, Local1, 0x61)
+ }
+ if (LNotEqual(id00, 0xe0385bcd)) {
+ err("", zFFF, 0xd01, 0, 0, id00, 0xe0385bcd)
+ }
+}
+
+// String
+
+Method(md5c)
+{
+ Device(OOO2) { Name(i900, 0xabcd0017) }
+
+ Store(sd00, OOO2)
+ Store(Refof(OOO2), Local0)
+ Store (0x61, Index(DeRefof(Local0), 3))
+
+ Store(Refof(OOO2), Local0)
+ Store(DeRefof(Local0), Local1)
+
+ if (LNotEqual(Local1, "Strang")) {
+ err("", zFFF, 0xd02, 0, 0, Local1, "Strang")
+ }
+ if (LNotEqual(sd00, "String")) {
+ err("", zFFF, 0xd03, 0, 0, sd00, "String")
+ }
+}
+
+// Buffer
+
+Method(md5d)
+{
+ Device(OOO2) { Name(i900, 0xabcd0017) }
+
+ Store(bd00, OOO2)
+
+ Store(Refof(OOO2), Local0)
+ Store (0x61, Index(DeRefof(Local0), 3))
+ Store(DeRefof(Local0), Local1)
+
+ if (LNotEqual(Local1, Buffer() {1,2,3,0x61})) {
+ err("", zFFF, 0xd04, 0, 0, Local1, Buffer() {1,2,3,0x61})
+ }
+ if (LNotEqual(bd00, Buffer() {1,2,3,4})) {
+ err("", zFFF, 0xd05, 0, 0, bd00, Buffer() {1,2,3,4})
+ }
+}
+
+// Package
+
+Method(md5e)
+{
+ Device(OOO2) { Name(i900, 0xabcd0017) }
+
+ Store(pd00, OOO2)
+ Store(Refof(OOO2), Local0)
+ Store (0x61, Index(DerefOf(Index(DeRefof(Local0), 0)), 3))
+
+ // OOO2
+
+ Store(DeRefof(Index(DerefOf(Index(DeRefof(Local0), 0)), 0)), Local1)
+ if (LNotEqual(Local1, 1)) {
+ err("", zFFF, 0xd06, 0, 0, Local1, 1)
+ }
+ Store(DeRefof(Index(DerefOf(Index(DeRefof(Local0), 0)), 1)), Local1)
+ if (LNotEqual(Local1, 2)) {
+ err("", zFFF, 0xd07, 0, 0, Local1, 2)
+ }
+ Store(DeRefof(Index(DerefOf(Index(DeRefof(Local0), 0)), 2)), Local1)
+ if (LNotEqual(Local1, 3)) {
+ err("", zFFF, 0xd08, 0, 0, Local1, 3)
+ }
+ Store(DeRefof(Index(DerefOf(Index(DeRefof(Local0), 0)), 3)), Local1)
+ if (LNotEqual(Local1, 0x61)) {
+ err("", zFFF, 0xd09, 0, 0, Local1, 0x61)
+ }
+
+ // pd00
+
+ Store(DeRefof(Index(DerefOf(Index(pd00, 0)), 0)), Local0)
+ if (LNotEqual(Local0, 1)) {
+ err("", zFFF, 0xd0a, 0, 0, Local0, 1)
+ }
+ Store(DeRefof(Index(DerefOf(Index(pd00, 0)), 1)), Local0)
+ if (LNotEqual(Local0, 2)) {
+ err("", zFFF, 0xd0b, 0, 0, Local0, 2)
+ }
+ Store(DeRefof(Index(DerefOf(Index(pd00, 0)), 2)), Local0)
+ if (LNotEqual(Local0, 3)) {
+ err("", zFFF, 0xd0c, 0, 0, Local0, 3)
+ }
+ Store(DeRefof(Index(DerefOf(Index(pd00, 0)), 3)), Local0)
+ if (LNotEqual(Local0, 4)) {
+ err("", zFFF, 0xd0d, 0, 0, Local0, 4)
+ }
+}
+
+// All objects are global
+
+// Integer
+
+Method(md5f)
+{
+ Store(id00, dd00)
+ Store (0x61, dd00)
+
+ Store(DeRefof(Refof(dd00)), Local1)
+
+ if (LNotEqual(Local1, 0x61)) {
+ err("", zFFF, 0xd0e, 0, 0, Local1, 0x61)
+ }
+ if (LNotEqual(id00, 0xe0385bcd)) {
+ err("", zFFF, 0xd0f, 0, 0, id00, 0xe0385bcd)
+ }
+}
+
+// String
+
+Method(md60)
+{
+ Device(dd01) { Name(i900, 0xabcd0017) }
+
+ Store(sd00, dd01)
+ Store(Refof(dd01), Local0)
+ Store (0x61, Index(DeRefof(Local0), 3))
+
+ Store(Refof(dd01), Local0)
+ Store(DeRefof(Local0), Local1)
+
+ if (LNotEqual(Local1, "Strang")) {
+ err("", zFFF, 0xd10, 0, 0, Local1, "Strang")
+ }
+ if (LNotEqual(sd00, "String")) {
+ err("", zFFF, 0xd11, 0, 0, sd00, "String")
+ }
+}
+
+// Buffer
+
+Method(md61)
+{
+ Device(dd02) { Name(i900, 0xabcd0017) }
+
+ Store(bd00, dd02)
+
+ Store(Refof(dd02), Local0)
+ Store (0x61, Index(DeRefof(Local0), 3))
+ Store(DeRefof(Local0), Local1)
+
+ if (LNotEqual(Local1, Buffer() {1,2,3,0x61})) {
+ err("", zFFF, 0xd12, 0, 0, Local1, Buffer() {1,2,3,0x61})
+ }
+ if (LNotEqual(bd00, Buffer() {1,2,3,4})) {
+ err("", zFFF, 0xd13, 0, 0, bd00, Buffer() {1,2,3,4})
+ }
+}
+
+// Package
+
+Method(md62)
+{
+ Device(dd03) { Name(i900, 0xabcd0017) }
+
+ Store(pd00, dd03)
+ Store(Refof(dd03), Local0)
+ Store (0x61, Index(DerefOf(Index(DeRefof(Local0), 0)), 3))
+
+ // dd03
+
+ Store(DeRefof(Index(DerefOf(Index(DeRefof(Local0), 0)), 0)), Local1)
+ if (LNotEqual(Local1, 1)) {
+ err("", zFFF, 0xd14, 0, 0, Local1, 1)
+ }
+ Store(DeRefof(Index(DerefOf(Index(DeRefof(Local0), 0)), 1)), Local1)
+ if (LNotEqual(Local1, 2)) {
+ err("", zFFF, 0xd15, 0, 0, Local1, 2)
+ }
+ Store(DeRefof(Index(DerefOf(Index(DeRefof(Local0), 0)), 2)), Local1)
+ if (LNotEqual(Local1, 3)) {
+ err("", zFFF, 0xd16, 0, 0, Local1, 3)
+ }
+ Store(DeRefof(Index(DerefOf(Index(DeRefof(Local0), 0)), 3)), Local1)
+ if (LNotEqual(Local1, 0x61)) {
+ err("", zFFF, 0xd17, 0, 0, Local1, 0x61)
+ }
+
+ // pd00
+
+ Store(DeRefof(Index(DerefOf(Index(pd00, 0)), 0)), Local0)
+ if (LNotEqual(Local0, 1)) {
+ err("", zFFF, 0xd18, 0, 0, Local0, 1)
+ }
+ Store(DeRefof(Index(DerefOf(Index(pd00, 0)), 1)), Local0)
+ if (LNotEqual(Local0, 2)) {
+ err("", zFFF, 0xd19, 0, 0, Local0, 2)
+ }
+ Store(DeRefof(Index(DerefOf(Index(pd00, 0)), 2)), Local0)
+ if (LNotEqual(Local0, 3)) {
+ err("", zFFF, 0xd1a, 0, 0, Local0, 3)
+ }
+ Store(DeRefof(Index(DerefOf(Index(pd00, 0)), 3)), Local0)
+ if (LNotEqual(Local0, 4)) {
+ err("", zFFF, 0xd1b, 0, 0, Local0, 4)
+ }
+}
+
+// Loc to Glob
+
+// Integer
+
+Method(md63)
+{
+ Name(i000, 0xe0385bcd)
+
+ Store(i000, dd04)
+ Store (0x61, dd04)
+
+ Store(DeRefof(Refof(dd04)), Local1)
+
+ if (LNotEqual(Local1, 0x61)) {
+ err("", zFFF, 0xd1c, 0, 0, Local1, 0x61)
+ }
+ if (LNotEqual(i000, 0xe0385bcd)) {
+ err("", zFFF, 0xd1d, 0, 0, i000, 0xe0385bcd)
+ }
+}
+
+// String
+
+Method(md64)
+{
+ Name(s000, "String")
+
+ Store(s000, dd05)
+ Store(Refof(dd05), Local0)
+ Store (0x61, Index(DeRefof(Local0), 3))
+
+ Store(Refof(dd05), Local0)
+ Store(DeRefof(Local0), Local1)
+
+ if (LNotEqual(Local1, "Strang")) {
+ err("", zFFF, 0xd1e, 0, 0, Local1, "Strang")
+ }
+ if (LNotEqual(s000, "String")) {
+ err("", zFFF, 0xd1f, 0, 0, s000, "String")
+ }
+}
+
+// Buffer
+
+Method(md65)
+{
+ Name(b000, Buffer() {1,2,3,4})
+
+ Store(b000, dd06)
+
+ Store(Refof(dd06), Local0)
+ Store (0x61, Index(DeRefof(Local0), 3))
+ Store(DeRefof(Local0), Local1)
+
+ if (LNotEqual(Local1, Buffer() {1,2,3,0x61})) {
+ err("", zFFF, 0xd20, 0, 0, Local1, Buffer() {1,2,3,0x61})
+ }
+ if (LNotEqual(b000, Buffer() {1,2,3,4})) {
+ err("", zFFF, 0xd21, 0, 0, b000, Buffer() {1,2,3,4})
+ }
+}
+
+// Package
+
+Method(md66)
+{
+ Name(pppp, Package(1){Buffer() {1,2,3,4}})
+
+ Store(pppp, dd07)
+ Store(Refof(dd07), Local0)
+ Store (0x61, Index(DerefOf(Index(DeRefof(Local0), 0)), 3))
+
+ // dd07
+
+ Store(DeRefof(Index(DerefOf(Index(DeRefof(Local0), 0)), 0)), Local1)
+ if (LNotEqual(Local1, 1)) {
+ err("", zFFF, 0xd22, 0, 0, Local1, 1)
+ }
+ Store(DeRefof(Index(DerefOf(Index(DeRefof(Local0), 0)), 1)), Local1)
+ if (LNotEqual(Local1, 2)) {
+ err("", zFFF, 0xd23, 0, 0, Local1, 2)
+ }
+ Store(DeRefof(Index(DerefOf(Index(DeRefof(Local0), 0)), 2)), Local1)
+ if (LNotEqual(Local1, 3)) {
+ err("", zFFF, 0xd24, 0, 0, Local1, 3)
+ }
+ Store(DeRefof(Index(DerefOf(Index(DeRefof(Local0), 0)), 3)), Local1)
+ if (LNotEqual(Local1, 0x61)) {
+ err("", zFFF, 0xd25, 0, 0, Local1, 0x61)
+ }
+
+ // pppp
+
+ Store(DeRefof(Index(DerefOf(Index(pppp, 0)), 0)), Local0)
+ if (LNotEqual(Local0, 1)) {
+ err("", zFFF, 0xd26, 0, 0, Local0, 1)
+ }
+ Store(DeRefof(Index(DerefOf(Index(pppp, 0)), 1)), Local0)
+ if (LNotEqual(Local0, 2)) {
+ err("", zFFF, 0xd27, 0, 0, Local0, 2)
+ }
+ Store(DeRefof(Index(DerefOf(Index(pppp, 0)), 2)), Local0)
+ if (LNotEqual(Local0, 3)) {
+ err("", zFFF, 0xd28, 0, 0, Local0, 3)
+ }
+ Store(DeRefof(Index(DerefOf(Index(pppp, 0)), 3)), Local0)
+ if (LNotEqual(Local0, 4)) {
+ err("", zFFF, 0xd29, 0, 0, Local0, 4)
+ }
+}
+
+Method(md67)
+{
+ CH03("", 0, 0xf08, 0, 0)
+ md5b()
+ md5c()
+ md5d()
+ md5e()
+ md5f()
+ md60()
+ md61()
+ md62()
+ md63()
+ md64()
+ md65()
+ md66()
+ CH03("", 0, 0xf09, 0, 0)
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0153/ToEvent.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0153/ToEvent.asl
new file mode 100644
index 000000000..a7f436fef
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0153/ToEvent.asl
@@ -0,0 +1,244 @@
+/*
+ * 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.
+ */
+
+
+/*
+ * Store Integer/String/Buffer/Package to Event
+ */
+
+// Integer
+
+Method(md18)
+{
+ Name(i000, 0xe0385bcd)
+ Event(OOO2)
+
+ Store(i000, OOO2)
+ Store (0x61, OOO2)
+
+ Store(DeRefof(Refof(OOO2)), Local1)
+
+ if (LNotEqual(Local1, 0x61)) {
+ err("", zFFF, 0x400, 0, 0, Local1, 0x61)
+ }
+ if (LNotEqual(i000, 0xe0385bcd)) {
+ err("", zFFF, 0x401, 0, 0, i000, 0xe0385bcd)
+ }
+}
+
+// String
+
+Method(md19)
+{
+ Name(s000, "String")
+ Event(OOO2)
+
+ Store(s000, OOO2)
+ Store(Refof(OOO2), Local0)
+ Store (0x61, Index(DeRefof(Local0), 3))
+
+ Store(Refof(OOO2), Local0)
+ Store(DeRefof(Local0), Local1)
+
+ if (LNotEqual(Local1, "Strang")) {
+ err("", zFFF, 0x402, 0, 0, Local1, "Strang")
+ }
+ if (LNotEqual(s000, "String")) {
+ err("", zFFF, 0x403, 0, 0, s000, "String")
+ }
+}
+
+// Buffer
+
+Method(md1a)
+{
+ Name(b000, Buffer() {1,2,3,4})
+ Event(OOO2)
+
+ Store(b000, OOO2)
+
+ Store(Refof(OOO2), Local0)
+ Store (0x61, Index(DeRefof(Local0), 3))
+ Store(DeRefof(Local0), Local1)
+
+ if (LNotEqual(Local1, Buffer() {1,2,3,0x61})) {
+ err("", zFFF, 0x404, 0, 0, Local1, Buffer() {1,2,3,0x61})
+ }
+ if (LNotEqual(b000, Buffer() {1,2,3,4})) {
+ err("", zFFF, 0x405, 0, 0, b000, Buffer() {1,2,3,4})
+ }
+}
+
+// Package
+
+Method(md1b)
+{
+ Name(pppp, Package(1){Buffer() {1,2,3,4}})
+ Event(OOO2)
+
+ Store(pppp, OOO2)
+ Store(Refof(OOO2), Local0)
+ Store (0x61, Index(DerefOf(Index(DeRefof(Local0), 0)), 3))
+
+ // OOO2
+
+ Store(DeRefof(Index(DerefOf(Index(DeRefof(Local0), 0)), 0)), Local1)
+ if (LNotEqual(Local1, 1)) {
+ err("", zFFF, 0x406, 0, 0, Local1, 1)
+ }
+ Store(DeRefof(Index(DerefOf(Index(DeRefof(Local0), 0)), 1)), Local1)
+ if (LNotEqual(Local1, 2)) {
+ err("", zFFF, 0x407, 0, 0, Local1, 2)
+ }
+ Store(DeRefof(Index(DerefOf(Index(DeRefof(Local0), 0)), 2)), Local1)
+ if (LNotEqual(Local1, 3)) {
+ err("", zFFF, 0x408, 0, 0, Local1, 3)
+ }
+ Store(DeRefof(Index(DerefOf(Index(DeRefof(Local0), 0)), 3)), Local1)
+ if (LNotEqual(Local1, 0x61)) {
+ err("", zFFF, 0x409, 0, 0, Local1, 0x61)
+ }
+
+ // pppp
+
+ Store(DeRefof(Index(DerefOf(Index(pppp, 0)), 0)), Local0)
+ if (LNotEqual(Local0, 1)) {
+ err("", zFFF, 0x40a, 0, 0, Local0, 1)
+ }
+ Store(DeRefof(Index(DerefOf(Index(pppp, 0)), 1)), Local0)
+ if (LNotEqual(Local0, 2)) {
+ err("", zFFF, 0x40b, 0, 0, Local0, 2)
+ }
+ Store(DeRefof(Index(DerefOf(Index(pppp, 0)), 2)), Local0)
+ if (LNotEqual(Local0, 3)) {
+ err("", zFFF, 0x40c, 0, 0, Local0, 3)
+ }
+ Store(DeRefof(Index(DerefOf(Index(pppp, 0)), 3)), Local0)
+ if (LNotEqual(Local0, 4)) {
+ err("", zFFF, 0x40d, 0, 0, Local0, 4)
+ }
+}
+
+/* Constant */
+
+// Integer
+
+Method(md1c)
+{
+ Event(OOO2)
+
+ Store(0xe0385bcd, OOO2)
+ Store (0x61, OOO2)
+
+ Store(DeRefof(Refof(OOO2)), Local1)
+
+ if (LNotEqual(Local1, 0x61)) {
+ err("", zFFF, 0x40e, 0, 0, Local1, 0x61)
+ }
+}
+
+// String
+
+Method(md1d)
+{
+ Event(OOO2)
+
+ Store("String", OOO2)
+ Store(Refof(OOO2), Local0)
+ Store (0x61, Index(DeRefof(Local0), 3))
+
+ Store(Refof(OOO2), Local0)
+ Store(DeRefof(Local0), Local1)
+
+ if (LNotEqual(Local1, "Strang")) {
+ err("", zFFF, 0x40f, 0, 0, Local1, "Strang")
+ }
+}
+
+// Buffer
+
+Method(md1e)
+{
+ Event(OOO2)
+
+ Store(Buffer() {1,2,3,4}, OOO2)
+
+ Store(Refof(OOO2), Local0)
+ Store (0x61, Index(DeRefof(Local0), 3))
+ Store(DeRefof(Local0), Local1)
+
+ if (LNotEqual(Local1, Buffer() {1,2,3,0x61})) {
+ err("", zFFF, 0x410, 0, 0, Local1, Buffer() {1,2,3,0x61})
+ }
+}
+
+// Package
+
+Method(md1f)
+{
+ Event(OOO2)
+
+ Store(Package(1){Buffer() {1,2,3,4}}, OOO2)
+ Store(Refof(OOO2), Local0)
+ Store (0x61, Index(DerefOf(Index(DeRefof(Local0), 0)), 3))
+
+ // OOO2
+
+ Store(DeRefof(Index(DerefOf(Index(DeRefof(Local0), 0)), 0)), Local1)
+ if (LNotEqual(Local1, 1)) {
+ err("", zFFF, 0x411, 0, 0, Local1, 1)
+ }
+ Store(DeRefof(Index(DerefOf(Index(DeRefof(Local0), 0)), 1)), Local1)
+ if (LNotEqual(Local1, 2)) {
+ err("", zFFF, 0x412, 0, 0, Local1, 2)
+ }
+ Store(DeRefof(Index(DerefOf(Index(DeRefof(Local0), 0)), 2)), Local1)
+ if (LNotEqual(Local1, 3)) {
+ err("", zFFF, 0x413, 0, 0, Local1, 3)
+ }
+ Store(DeRefof(Index(DerefOf(Index(DeRefof(Local0), 0)), 3)), Local1)
+ if (LNotEqual(Local1, 0x61)) {
+ err("", zFFF, 0x414, 0, 0, Local1, 0x61)
+ }
+}
+
+Method(md20)
+{
+ CH03("", 0, 0xf0a, 0, 0)
+ md18()
+ md19()
+ md1a()
+ md1b()
+ md1c()
+ md1d()
+ md1e()
+ md1f()
+ CH03("", 0, 0xf0b, 0, 0)
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0153/ToInteger.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0153/ToInteger.asl
new file mode 100644
index 000000000..0552af5a8
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0153/ToInteger.asl
@@ -0,0 +1,97 @@
+/*
+ * 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.
+ */
+
+
+/*
+ * Store Integer/String/Buffer to Integer
+ */
+
+// Integer
+
+Method(md59)
+{
+ Name(i000, 0)
+ Name(i001, 1)
+
+ Store(i000, i001)
+ Store (0x61, i001)
+
+ if (LNotEqual(i001, 0x61)) {
+ err("", zFFF, 0x500, 0, 0, i001, 0x61)
+ }
+ if (LNotEqual(i000, 0)) {
+ err("", zFFF, 0x501, 0, 0, i000, 0)
+ }
+}
+
+// String
+
+Method(md21)
+{
+ Name(s000, "String")
+ Name(i000, 0x1234)
+
+ Store(s000, i000)
+ Store(0x61, i000)
+
+ if (LNotEqual(i000, 0x61)) {
+ err("", zFFF, 0x502, 0, 0, i000, 0x61)
+ }
+ if (LNotEqual(s000, "String")) {
+ err("", zFFF, 0x503, 0, 0, s000, "String")
+ }
+}
+
+// Buffer
+
+Method(md22)
+{
+ Name(b000, Buffer() {1,2,3,4})
+ Name(i000, 0x5678)
+
+ Store(b000, i000)
+ Store (0x61, i000)
+
+ if (LNotEqual(i000, 0x61)) {
+ err("", zFFF, 0x504, 0, 0, i000, 0x61)
+ }
+ if (LNotEqual(b000, Buffer() {1,2,3,4})) {
+ err("", zFFF, 0x505, 0, 0, b000, Buffer() {1,2,3,4})
+ }
+}
+
+Method(md23)
+{
+ CH03("", 0, 0xf0c, 0, 0)
+ md59()
+ md21()
+ md22()
+ CH03("", 0, 0xf0d, 0, 0)
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0153/ToMutex.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0153/ToMutex.asl
new file mode 100644
index 000000000..bda9577a3
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0153/ToMutex.asl
@@ -0,0 +1,244 @@
+/*
+ * 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.
+ */
+
+
+/*
+ * Store Integer/String/Buffer/Package to Mutex
+ */
+
+// Integer
+
+Method(md24)
+{
+ Name(i000, 0xe0385bcd)
+ Mutex(OOO2, 0)
+
+ Store(i000, OOO2)
+ Store (0x61, OOO2)
+
+ Store(DeRefof(Refof(OOO2)), Local1)
+
+ if (LNotEqual(Local1, 0x61)) {
+ err("", zFFF, 0x600, 0, 0, Local1, 0x61)
+ }
+ if (LNotEqual(i000, 0xe0385bcd)) {
+ err("", zFFF, 0x601, 0, 0, i000, 0xe0385bcd)
+ }
+}
+
+// String
+
+Method(md25)
+{
+ Name(s000, "String")
+ Mutex(OOO2, 0)
+
+ Store(s000, OOO2)
+ Store(Refof(OOO2), Local0)
+ Store (0x61, Index(DeRefof(Local0), 3))
+
+ Store(Refof(OOO2), Local0)
+ Store(DeRefof(Local0), Local1)
+
+ if (LNotEqual(Local1, "Strang")) {
+ err("", zFFF, 0x602, 0, 0, Local1, "Strang")
+ }
+ if (LNotEqual(s000, "String")) {
+ err("", zFFF, 0x603, 0, 0, s000, "String")
+ }
+}
+
+// Buffer
+
+Method(md26)
+{
+ Name(b000, Buffer() {1,2,3,4})
+ Mutex(OOO2, 0)
+
+ Store(b000, OOO2)
+
+ Store(Refof(OOO2), Local0)
+ Store (0x61, Index(DeRefof(Local0), 3))
+ Store(DeRefof(Local0), Local1)
+
+ if (LNotEqual(Local1, Buffer() {1,2,3,0x61})) {
+ err("", zFFF, 0x604, 0, 0, Local1, Buffer() {1,2,3,0x61})
+ }
+ if (LNotEqual(b000, Buffer() {1,2,3,4})) {
+ err("", zFFF, 0x605, 0, 0, b000, Buffer() {1,2,3,4})
+ }
+}
+
+// Package
+
+Method(md27)
+{
+ Name(pppp, Package(1){Buffer() {1,2,3,4}})
+ Mutex(OOO2, 0)
+
+ Store(pppp, OOO2)
+ Store(Refof(OOO2), Local0)
+ Store (0x61, Index(DerefOf(Index(DeRefof(Local0), 0)), 3))
+
+ // OOO2
+
+ Store(DeRefof(Index(DerefOf(Index(DeRefof(Local0), 0)), 0)), Local1)
+ if (LNotEqual(Local1, 1)) {
+ err("", zFFF, 0x606, 0, 0, Local1, 1)
+ }
+ Store(DeRefof(Index(DerefOf(Index(DeRefof(Local0), 0)), 1)), Local1)
+ if (LNotEqual(Local1, 2)) {
+ err("", zFFF, 0x607, 0, 0, Local1, 2)
+ }
+ Store(DeRefof(Index(DerefOf(Index(DeRefof(Local0), 0)), 2)), Local1)
+ if (LNotEqual(Local1, 3)) {
+ err("", zFFF, 0x608, 0, 0, Local1, 3)
+ }
+ Store(DeRefof(Index(DerefOf(Index(DeRefof(Local0), 0)), 3)), Local1)
+ if (LNotEqual(Local1, 0x61)) {
+ err("", zFFF, 0x609, 0, 0, Local1, 0x61)
+ }
+
+ // pppp
+
+ Store(DeRefof(Index(DerefOf(Index(pppp, 0)), 0)), Local0)
+ if (LNotEqual(Local0, 1)) {
+ err("", zFFF, 0x60a, 0, 0, Local0, 1)
+ }
+ Store(DeRefof(Index(DerefOf(Index(pppp, 0)), 1)), Local0)
+ if (LNotEqual(Local0, 2)) {
+ err("", zFFF, 0x60b, 0, 0, Local0, 2)
+ }
+ Store(DeRefof(Index(DerefOf(Index(pppp, 0)), 2)), Local0)
+ if (LNotEqual(Local0, 3)) {
+ err("", zFFF, 0x60c, 0, 0, Local0, 3)
+ }
+ Store(DeRefof(Index(DerefOf(Index(pppp, 0)), 3)), Local0)
+ if (LNotEqual(Local0, 4)) {
+ err("", zFFF, 0x60d, 0, 0, Local0, 4)
+ }
+}
+
+/* Constant */
+
+// Integer
+
+Method(md28)
+{
+ Mutex(OOO2, 0)
+
+ Store(0xe0385bcd, OOO2)
+ Store (0x61, OOO2)
+
+ Store(DeRefof(Refof(OOO2)), Local1)
+
+ if (LNotEqual(Local1, 0x61)) {
+ err("", zFFF, 0x60e, 0, 0, Local1, 0x61)
+ }
+}
+
+// String
+
+Method(md29)
+{
+ Mutex(OOO2, 0)
+
+ Store("String", OOO2)
+ Store(Refof(OOO2), Local0)
+ Store (0x61, Index(DeRefof(Local0), 3))
+
+ Store(Refof(OOO2), Local0)
+ Store(DeRefof(Local0), Local1)
+
+ if (LNotEqual(Local1, "Strang")) {
+ err("", zFFF, 0x60f, 0, 0, Local1, "Strang")
+ }
+}
+
+// Buffer
+
+Method(md2a)
+{
+ Mutex(OOO2, 0)
+
+ Store(Buffer() {1,2,3,4}, OOO2)
+
+ Store(Refof(OOO2), Local0)
+ Store (0x61, Index(DeRefof(Local0), 3))
+ Store(DeRefof(Local0), Local1)
+
+ if (LNotEqual(Local1, Buffer() {1,2,3,0x61})) {
+ err("", zFFF, 0x610, 0, 0, Local1, Buffer() {1,2,3,0x61})
+ }
+}
+
+// Package
+
+Method(md2b)
+{
+ Mutex(OOO2, 0)
+
+ Store(Package(1){Buffer() {1,2,3,4}}, OOO2)
+ Store(Refof(OOO2), Local0)
+ Store (0x61, Index(DerefOf(Index(DeRefof(Local0), 0)), 3))
+
+ // OOO2
+
+ Store(DeRefof(Index(DerefOf(Index(DeRefof(Local0), 0)), 0)), Local1)
+ if (LNotEqual(Local1, 1)) {
+ err("", zFFF, 0x611, 0, 0, Local1, 1)
+ }
+ Store(DeRefof(Index(DerefOf(Index(DeRefof(Local0), 0)), 1)), Local1)
+ if (LNotEqual(Local1, 2)) {
+ err("", zFFF, 0x612, 0, 0, Local1, 2)
+ }
+ Store(DeRefof(Index(DerefOf(Index(DeRefof(Local0), 0)), 2)), Local1)
+ if (LNotEqual(Local1, 3)) {
+ err("", zFFF, 0x613, 0, 0, Local1, 3)
+ }
+ Store(DeRefof(Index(DerefOf(Index(DeRefof(Local0), 0)), 3)), Local1)
+ if (LNotEqual(Local1, 0x61)) {
+ err("", zFFF, 0x614, 0, 0, Local1, 0x61)
+ }
+}
+
+Method(md2c)
+{
+ CH03("", 0, 0xf0e, 0, 0)
+ md24()
+ md25()
+ md26()
+ md27()
+ md28()
+ md29()
+ md2a()
+ md2b()
+ CH03("", 0, 0xf0f, 0, 0)
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0153/ToPackage.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0153/ToPackage.asl
new file mode 100644
index 000000000..d0b57d423
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0153/ToPackage.asl
@@ -0,0 +1,155 @@
+/*
+ * 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.
+ */
+
+
+/*
+ * Store Integer/String/Buffer/Package to Package
+ */
+
+// Integer
+
+Method(md2d)
+{
+ Name(i000, 0xe0385bcd)
+ Name(OOO2, Package(1){"Package"})
+
+ Store(i000, OOO2)
+ Store (0x61, OOO2)
+
+ Store(DeRefof(Refof(OOO2)), Local1)
+
+ if (LNotEqual(Local1, 0x61)) {
+ err("", zFFF, 0x700, 0, 0, Local1, 0x61)
+ }
+ if (LNotEqual(i000, 0xe0385bcd)) {
+ err("", zFFF, 0x701, 0, 0, i000, 0xe0385bcd)
+ }
+}
+
+// String
+
+Method(md2e)
+{
+ Name(s000, "String")
+ Name(OOO2, Package(1){"Package"})
+
+ Store(s000, OOO2)
+ Store (0x61, Index(OOO2, 3))
+
+ Store(Refof(OOO2), Local0)
+ Store(DeRefof(Local0), Local1)
+
+ if (LNotEqual(Local1, "Strang")) {
+ err("", zFFF, 0x702, 0, 0, Local1, "Strang")
+ }
+ if (LNotEqual(s000, "String")) {
+ err("", zFFF, 0x703, 0, 0, s000, "String")
+ }
+}
+
+// Buffer
+
+Method(md2f)
+{
+ Name(b000, Buffer() {1,2,3,4})
+ Name(OOO2, Package(1){Buffer() {5,6,7,8}})
+
+ Store(b000, OOO2)
+ Store (0x61, Index(OOO2, 3))
+
+ Store(Refof(OOO2), Local0)
+ Store(DeRefof(Local0), Local1)
+
+ if (LNotEqual(Local1, Buffer() {1,2,3,0x61})) {
+ err("", zFFF, 0x704, 0, 0, Local1, Buffer() {1,2,3,0x61})
+ }
+ if (LNotEqual(b000, Buffer() {1,2,3,4})) {
+ err("", zFFF, 0x705, 0, 0, b000, Buffer() {1,2,3,4})
+ }
+}
+
+// Package
+
+Method(md30)
+{
+ Name(pppp, Package(1){Buffer() {1,2,3,4}})
+ Name(OOO2, Package(1){Buffer() {5,6,7,8}})
+
+ Store(pppp, OOO2)
+ Store (0x61, Index(DerefOf(Index(OOO2, 0)), 3))
+
+ // OOO2
+
+ Store(DeRefof(Index(DerefOf(Index(OOO2, 0)), 0)), Local0)
+ if (LNotEqual(Local0, 1)) {
+ err("", zFFF, 0x706, 0, 0, Local0, 1)
+ }
+ Store(DeRefof(Index(DerefOf(Index(OOO2, 0)), 1)), Local0)
+ if (LNotEqual(Local0, 2)) {
+ err("", zFFF, 0x707, 0, 0, Local0, 2)
+ }
+ Store(DeRefof(Index(DerefOf(Index(OOO2, 0)), 2)), Local0)
+ if (LNotEqual(Local0, 3)) {
+ err("", zFFF, 0x708, 0, 0, Local0, 3)
+ }
+ Store(DeRefof(Index(DerefOf(Index(OOO2, 0)), 3)), Local0)
+ if (LNotEqual(Local0, 0x61)) {
+ err("", zFFF, 0x709, 0, 0, Local0, 0x61)
+ }
+
+ // pppp
+
+ Store(DeRefof(Index(DerefOf(Index(pppp, 0)), 0)), Local0)
+ if (LNotEqual(Local0, 1)) {
+ err("", zFFF, 0x70a, 0, 0, Local0, 1)
+ }
+ Store(DeRefof(Index(DerefOf(Index(pppp, 0)), 1)), Local0)
+ if (LNotEqual(Local0, 2)) {
+ err("", zFFF, 0x70b, 0, 0, Local0, 2)
+ }
+ Store(DeRefof(Index(DerefOf(Index(pppp, 0)), 2)), Local0)
+ if (LNotEqual(Local0, 3)) {
+ err("", zFFF, 0x70c, 0, 0, Local0, 3)
+ }
+ Store(DeRefof(Index(DerefOf(Index(pppp, 0)), 3)), Local0)
+ if (LNotEqual(Local0, 4)) {
+ err("", zFFF, 0x70d, 0, 0, Local0, 4)
+ }
+}
+
+Method(md31)
+{
+ CH03("", 0, 0xf10, 0, 0)
+ md2d()
+ md2e()
+ md2f()
+ md30()
+ CH03("", 0, 0xf11, 0, 0)
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0153/ToPowerRes.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0153/ToPowerRes.asl
new file mode 100644
index 000000000..e3cb95426
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0153/ToPowerRes.asl
@@ -0,0 +1,244 @@
+/*
+ * 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.
+ */
+
+
+/*
+ * Store Integer/String/Buffer/Package to PowerResource
+ */
+
+// Integer
+
+Method(md32)
+{
+ Name(i000, 0xe0385bcd)
+ PowerResource(OOO2, 1, 0) {Method(mmmm){return (0)}}
+
+ Store(i000, OOO2)
+ Store (0x61, OOO2)
+
+ Store(DeRefof(Refof(OOO2)), Local1)
+
+ if (LNotEqual(Local1, 0x61)) {
+ err("", zFFF, 0x800, 0, 0, Local1, 0x61)
+ }
+ if (LNotEqual(i000, 0xe0385bcd)) {
+ err("", zFFF, 0x801, 0, 0, i000, 0xe0385bcd)
+ }
+}
+
+// String
+
+Method(md33)
+{
+ Name(s000, "String")
+ PowerResource(OOO2, 1, 0) {Method(mmmm){return (0)}}
+
+ Store(s000, OOO2)
+ Store(Refof(OOO2), Local0)
+ Store (0x61, Index(DeRefof(Local0), 3))
+
+ Store(Refof(OOO2), Local0)
+ Store(DeRefof(Local0), Local1)
+
+ if (LNotEqual(Local1, "Strang")) {
+ err("", zFFF, 0x802, 0, 0, Local1, "Strang")
+ }
+ if (LNotEqual(s000, "String")) {
+ err("", zFFF, 0x803, 0, 0, s000, "String")
+ }
+}
+
+// Buffer
+
+Method(md34)
+{
+ Name(b000, Buffer() {1,2,3,4})
+ PowerResource(OOO2, 1, 0) {Method(mmmm){return (0)}}
+
+ Store(b000, OOO2)
+
+ Store(Refof(OOO2), Local0)
+ Store (0x61, Index(DeRefof(Local0), 3))
+ Store(DeRefof(Local0), Local1)
+
+ if (LNotEqual(Local1, Buffer() {1,2,3,0x61})) {
+ err("", zFFF, 0x804, 0, 0, Local1, Buffer() {1,2,3,0x61})
+ }
+ if (LNotEqual(b000, Buffer() {1,2,3,4})) {
+ err("", zFFF, 0x805, 0, 0, b000, Buffer() {1,2,3,4})
+ }
+}
+
+// Package
+
+Method(md35)
+{
+ Name(pppp, Package(1){Buffer() {1,2,3,4}})
+ PowerResource(OOO2, 1, 0) {Method(mmmm){return (0)}}
+
+ Store(pppp, OOO2)
+ Store(Refof(OOO2), Local0)
+ Store (0x61, Index(DerefOf(Index(DeRefof(Local0), 0)), 3))
+
+ // OOO2
+
+ Store(DeRefof(Index(DerefOf(Index(DeRefof(Local0), 0)), 0)), Local1)
+ if (LNotEqual(Local1, 1)) {
+ err("", zFFF, 0x806, 0, 0, Local1, 1)
+ }
+ Store(DeRefof(Index(DerefOf(Index(DeRefof(Local0), 0)), 1)), Local1)
+ if (LNotEqual(Local1, 2)) {
+ err("", zFFF, 0x807, 0, 0, Local1, 2)
+ }
+ Store(DeRefof(Index(DerefOf(Index(DeRefof(Local0), 0)), 2)), Local1)
+ if (LNotEqual(Local1, 3)) {
+ err("", zFFF, 0x808, 0, 0, Local1, 3)
+ }
+ Store(DeRefof(Index(DerefOf(Index(DeRefof(Local0), 0)), 3)), Local1)
+ if (LNotEqual(Local1, 0x61)) {
+ err("", zFFF, 0x809, 0, 0, Local1, 0x61)
+ }
+
+ // pppp
+
+ Store(DeRefof(Index(DerefOf(Index(pppp, 0)), 0)), Local0)
+ if (LNotEqual(Local0, 1)) {
+ err("", zFFF, 0x80a, 0, 0, Local0, 1)
+ }
+ Store(DeRefof(Index(DerefOf(Index(pppp, 0)), 1)), Local0)
+ if (LNotEqual(Local0, 2)) {
+ err("", zFFF, 0x80b, 0, 0, Local0, 2)
+ }
+ Store(DeRefof(Index(DerefOf(Index(pppp, 0)), 2)), Local0)
+ if (LNotEqual(Local0, 3)) {
+ err("", zFFF, 0x80c, 0, 0, Local0, 3)
+ }
+ Store(DeRefof(Index(DerefOf(Index(pppp, 0)), 3)), Local0)
+ if (LNotEqual(Local0, 4)) {
+ err("", zFFF, 0x80d, 0, 0, Local0, 4)
+ }
+}
+
+/* Constant */
+
+// Integer
+
+Method(md36)
+{
+ PowerResource(OOO2, 1, 0) {Method(mmmm){return (0)}}
+
+ Store(0xe0385bcd, OOO2)
+ Store (0x61, OOO2)
+
+ Store(DeRefof(Refof(OOO2)), Local1)
+
+ if (LNotEqual(Local1, 0x61)) {
+ err("", zFFF, 0x80e, 0, 0, Local1, 0x61)
+ }
+}
+
+// String
+
+Method(md37)
+{
+ PowerResource(OOO2, 1, 0) {Method(mmmm){return (0)}}
+
+ Store("String", OOO2)
+ Store(Refof(OOO2), Local0)
+ Store (0x61, Index(DeRefof(Local0), 3))
+
+ Store(Refof(OOO2), Local0)
+ Store(DeRefof(Local0), Local1)
+
+ if (LNotEqual(Local1, "Strang")) {
+ err("", zFFF, 0x80f, 0, 0, Local1, "Strang")
+ }
+}
+
+// Buffer
+
+Method(md38)
+{
+ PowerResource(OOO2, 1, 0) {Method(mmmm){return (0)}}
+
+ Store(Buffer() {1,2,3,4}, OOO2)
+
+ Store(Refof(OOO2), Local0)
+ Store (0x61, Index(DeRefof(Local0), 3))
+ Store(DeRefof(Local0), Local1)
+
+ if (LNotEqual(Local1, Buffer() {1,2,3,0x61})) {
+ err("", zFFF, 0x810, 0, 0, Local1, Buffer() {1,2,3,0x61})
+ }
+}
+
+// Package
+
+Method(md39)
+{
+ PowerResource(OOO2, 1, 0) {Method(mmmm){return (0)}}
+
+ Store(Package(1){Buffer() {1,2,3,4}}, OOO2)
+ Store(Refof(OOO2), Local0)
+ Store (0x61, Index(DerefOf(Index(DeRefof(Local0), 0)), 3))
+
+ // OOO2
+
+ Store(DeRefof(Index(DerefOf(Index(DeRefof(Local0), 0)), 0)), Local1)
+ if (LNotEqual(Local1, 1)) {
+ err("", zFFF, 0x811, 0, 0, Local1, 1)
+ }
+ Store(DeRefof(Index(DerefOf(Index(DeRefof(Local0), 0)), 1)), Local1)
+ if (LNotEqual(Local1, 2)) {
+ err("", zFFF, 0x812, 0, 0, Local1, 2)
+ }
+ Store(DeRefof(Index(DerefOf(Index(DeRefof(Local0), 0)), 2)), Local1)
+ if (LNotEqual(Local1, 3)) {
+ err("", zFFF, 0x813, 0, 0, Local1, 3)
+ }
+ Store(DeRefof(Index(DerefOf(Index(DeRefof(Local0), 0)), 3)), Local1)
+ if (LNotEqual(Local1, 0x61)) {
+ err("", zFFF, 0x814, 0, 0, Local1, 0x61)
+ }
+}
+
+Method(md3a)
+{
+ CH03("", 0, 0xf12, 0, 0)
+ md32()
+ md33()
+ md34()
+ md35()
+ md36()
+ md37()
+ md38()
+ md39()
+ CH03("", 0, 0xf13, 0, 0)
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0153/ToProcessor.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0153/ToProcessor.asl
new file mode 100644
index 000000000..9b62d7058
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0153/ToProcessor.asl
@@ -0,0 +1,244 @@
+/*
+ * 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.
+ */
+
+
+/*
+ * Store Integer/String/Buffer/Package to Processor
+ */
+
+// Integer
+
+Method(md3b)
+{
+ Name(i000, 0xe0385bcd)
+ Processor(OOO2, 0, 0xFFFFFFFF, 0) {}
+
+ Store(i000, OOO2)
+ Store (0x61, OOO2)
+
+ Store(DeRefof(Refof(OOO2)), Local1)
+
+ if (LNotEqual(Local1, 0x61)) {
+ err("", zFFF, 0x900, 0, 0, Local1, 0x61)
+ }
+ if (LNotEqual(i000, 0xe0385bcd)) {
+ err("", zFFF, 0x901, 0, 0, i000, 0xe0385bcd)
+ }
+}
+
+// String
+
+Method(md3c)
+{
+ Name(s000, "String")
+ Processor(OOO2, 0, 0xFFFFFFFF, 0) {}
+
+ Store(s000, OOO2)
+ Store(Refof(OOO2), Local0)
+ Store (0x61, Index(DeRefof(Local0), 3))
+
+ Store(Refof(OOO2), Local0)
+ Store(DeRefof(Local0), Local1)
+
+ if (LNotEqual(Local1, "Strang")) {
+ err("", zFFF, 0x902, 0, 0, Local1, "Strang")
+ }
+ if (LNotEqual(s000, "String")) {
+ err("", zFFF, 0x903, 0, 0, s000, "String")
+ }
+}
+
+// Buffer
+
+Method(md3d)
+{
+ Name(b000, Buffer() {1,2,3,4})
+ Processor(OOO2, 0, 0xFFFFFFFF, 0) {}
+
+ Store(b000, OOO2)
+
+ Store(Refof(OOO2), Local0)
+ Store (0x61, Index(DeRefof(Local0), 3))
+ Store(DeRefof(Local0), Local1)
+
+ if (LNotEqual(Local1, Buffer() {1,2,3,0x61})) {
+ err("", zFFF, 0x904, 0, 0, Local1, Buffer() {1,2,3,0x61})
+ }
+ if (LNotEqual(b000, Buffer() {1,2,3,4})) {
+ err("", zFFF, 0x905, 0, 0, b000, Buffer() {1,2,3,4})
+ }
+}
+
+// Package
+
+Method(md3e)
+{
+ Name(pppp, Package(1){Buffer() {1,2,3,4}})
+ Processor(OOO2, 0, 0xFFFFFFFF, 0) {}
+
+ Store(pppp, OOO2)
+ Store(Refof(OOO2), Local0)
+ Store (0x61, Index(DerefOf(Index(DeRefof(Local0), 0)), 3))
+
+ // OOO2
+
+ Store(DeRefof(Index(DerefOf(Index(DeRefof(Local0), 0)), 0)), Local1)
+ if (LNotEqual(Local1, 1)) {
+ err("", zFFF, 0x906, 0, 0, Local1, 1)
+ }
+ Store(DeRefof(Index(DerefOf(Index(DeRefof(Local0), 0)), 1)), Local1)
+ if (LNotEqual(Local1, 2)) {
+ err("", zFFF, 0x907, 0, 0, Local1, 2)
+ }
+ Store(DeRefof(Index(DerefOf(Index(DeRefof(Local0), 0)), 2)), Local1)
+ if (LNotEqual(Local1, 3)) {
+ err("", zFFF, 0x908, 0, 0, Local1, 3)
+ }
+ Store(DeRefof(Index(DerefOf(Index(DeRefof(Local0), 0)), 3)), Local1)
+ if (LNotEqual(Local1, 0x61)) {
+ err("", zFFF, 0x909, 0, 0, Local1, 0x61)
+ }
+
+ // pppp
+
+ Store(DeRefof(Index(DerefOf(Index(pppp, 0)), 0)), Local0)
+ if (LNotEqual(Local0, 1)) {
+ err("", zFFF, 0x90a, 0, 0, Local0, 1)
+ }
+ Store(DeRefof(Index(DerefOf(Index(pppp, 0)), 1)), Local0)
+ if (LNotEqual(Local0, 2)) {
+ err("", zFFF, 0x90b, 0, 0, Local0, 2)
+ }
+ Store(DeRefof(Index(DerefOf(Index(pppp, 0)), 2)), Local0)
+ if (LNotEqual(Local0, 3)) {
+ err("", zFFF, 0x90c, 0, 0, Local0, 3)
+ }
+ Store(DeRefof(Index(DerefOf(Index(pppp, 0)), 3)), Local0)
+ if (LNotEqual(Local0, 4)) {
+ err("", zFFF, 0x90d, 0, 0, Local0, 4)
+ }
+}
+
+/* Constant */
+
+// Integer
+
+Method(md3f)
+{
+ Processor(OOO2, 0, 0xFFFFFFFF, 0) {}
+
+ Store(0xe0385bcd, OOO2)
+ Store (0x61, OOO2)
+
+ Store(DeRefof(Refof(OOO2)), Local1)
+
+ if (LNotEqual(Local1, 0x61)) {
+ err("", zFFF, 0x90e, 0, 0, Local1, 0x61)
+ }
+}
+
+// String
+
+Method(md40)
+{
+ Processor(OOO2, 0, 0xFFFFFFFF, 0) {}
+
+ Store("String", OOO2)
+ Store(Refof(OOO2), Local0)
+ Store (0x61, Index(DeRefof(Local0), 3))
+
+ Store(Refof(OOO2), Local0)
+ Store(DeRefof(Local0), Local1)
+
+ if (LNotEqual(Local1, "Strang")) {
+ err("", zFFF, 0x90f, 0, 0, Local1, "Strang")
+ }
+}
+
+// Buffer
+
+Method(md41)
+{
+ Processor(OOO2, 0, 0xFFFFFFFF, 0) {}
+
+ Store(Buffer() {1,2,3,4}, OOO2)
+
+ Store(Refof(OOO2), Local0)
+ Store (0x61, Index(DeRefof(Local0), 3))
+ Store(DeRefof(Local0), Local1)
+
+ if (LNotEqual(Local1, Buffer() {1,2,3,0x61})) {
+ err("", zFFF, 0x910, 0, 0, Local1, Buffer() {1,2,3,0x61})
+ }
+}
+
+// Package
+
+Method(md42)
+{
+ Processor(OOO2, 0, 0xFFFFFFFF, 0) {}
+
+ Store(Package(1){Buffer() {1,2,3,4}}, OOO2)
+ Store(Refof(OOO2), Local0)
+ Store (0x61, Index(DerefOf(Index(DeRefof(Local0), 0)), 3))
+
+ // OOO2
+
+ Store(DeRefof(Index(DerefOf(Index(DeRefof(Local0), 0)), 0)), Local1)
+ if (LNotEqual(Local1, 1)) {
+ err("", zFFF, 0x911, 0, 0, Local1, 1)
+ }
+ Store(DeRefof(Index(DerefOf(Index(DeRefof(Local0), 0)), 1)), Local1)
+ if (LNotEqual(Local1, 2)) {
+ err("", zFFF, 0x912, 0, 0, Local1, 2)
+ }
+ Store(DeRefof(Index(DerefOf(Index(DeRefof(Local0), 0)), 2)), Local1)
+ if (LNotEqual(Local1, 3)) {
+ err("", zFFF, 0x913, 0, 0, Local1, 3)
+ }
+ Store(DeRefof(Index(DerefOf(Index(DeRefof(Local0), 0)), 3)), Local1)
+ if (LNotEqual(Local1, 0x61)) {
+ err("", zFFF, 0x914, 0, 0, Local1, 0x61)
+ }
+}
+
+Method(md43)
+{
+ CH03("", 0, 0xf14, 0, 0)
+ md3b()
+ md3c()
+ md3d()
+ md3e()
+ md3f()
+ md40()
+ md41()
+ md42()
+ CH03("", 0, 0xf15, 0, 0)
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0153/ToRegion.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0153/ToRegion.asl
new file mode 100644
index 000000000..48075f73c
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0153/ToRegion.asl
@@ -0,0 +1,244 @@
+/*
+ * 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.
+ */
+
+
+/*
+ * Store Integer/String/Buffer/Package to OperationRegion
+ */
+
+// Integer
+
+Method(md44)
+{
+ Name(i000, 0xe0385bcd)
+ OperationRegion(OOO2, SystemMemory, 0x100, 0x100)
+
+ Store(i000, OOO2)
+ Store (0x61, OOO2)
+
+ Store(DeRefof(Refof(OOO2)), Local1)
+
+ if (LNotEqual(Local1, 0x61)) {
+ err("", zFFF, 0xa00, 0, 0, Local1, 0x61)
+ }
+ if (LNotEqual(i000, 0xe0385bcd)) {
+ err("", zFFF, 0xa01, 0, 0, i000, 0xe0385bcd)
+ }
+}
+
+// String
+
+Method(md45)
+{
+ Name(s000, "String")
+ OperationRegion(OOO2, SystemMemory, 0x100, 0x100)
+
+ Store(s000, OOO2)
+ Store(Refof(OOO2), Local0)
+ Store (0x61, Index(DeRefof(Local0), 3))
+
+ Store(Refof(OOO2), Local0)
+ Store(DeRefof(Local0), Local1)
+
+ if (LNotEqual(Local1, "Strang")) {
+ err("", zFFF, 0xa02, 0, 0, Local1, "Strang")
+ }
+ if (LNotEqual(s000, "String")) {
+ err("", zFFF, 0xa03, 0, 0, s000, "String")
+ }
+}
+
+// Buffer
+
+Method(md46)
+{
+ Name(b000, Buffer() {1,2,3,4})
+ OperationRegion(OOO2, SystemMemory, 0x100, 0x100)
+
+ Store(b000, OOO2)
+
+ Store(Refof(OOO2), Local0)
+ Store (0x61, Index(DeRefof(Local0), 3))
+ Store(DeRefof(Local0), Local1)
+
+ if (LNotEqual(Local1, Buffer() {1,2,3,0x61})) {
+ err("", zFFF, 0xa04, 0, 0, Local1, Buffer() {1,2,3,0x61})
+ }
+ if (LNotEqual(b000, Buffer() {1,2,3,4})) {
+ err("", zFFF, 0xa05, 0, 0, b000, Buffer() {1,2,3,4})
+ }
+}
+
+// Package
+
+Method(md47)
+{
+ Name(pppp, Package(1){Buffer() {1,2,3,4}})
+ OperationRegion(OOO2, SystemMemory, 0x100, 0x100)
+
+ Store(pppp, OOO2)
+ Store(Refof(OOO2), Local0)
+ Store (0x61, Index(DerefOf(Index(DeRefof(Local0), 0)), 3))
+
+ // OOO2
+
+ Store(DeRefof(Index(DerefOf(Index(DeRefof(Local0), 0)), 0)), Local1)
+ if (LNotEqual(Local1, 1)) {
+ err("", zFFF, 0xa06, 0, 0, Local1, 1)
+ }
+ Store(DeRefof(Index(DerefOf(Index(DeRefof(Local0), 0)), 1)), Local1)
+ if (LNotEqual(Local1, 2)) {
+ err("", zFFF, 0xa07, 0, 0, Local1, 2)
+ }
+ Store(DeRefof(Index(DerefOf(Index(DeRefof(Local0), 0)), 2)), Local1)
+ if (LNotEqual(Local1, 3)) {
+ err("", zFFF, 0xa08, 0, 0, Local1, 3)
+ }
+ Store(DeRefof(Index(DerefOf(Index(DeRefof(Local0), 0)), 3)), Local1)
+ if (LNotEqual(Local1, 0x61)) {
+ err("", zFFF, 0xa09, 0, 0, Local1, 0x61)
+ }
+
+ // pppp
+
+ Store(DeRefof(Index(DerefOf(Index(pppp, 0)), 0)), Local0)
+ if (LNotEqual(Local0, 1)) {
+ err("", zFFF, 0xa0a, 0, 0, Local0, 1)
+ }
+ Store(DeRefof(Index(DerefOf(Index(pppp, 0)), 1)), Local0)
+ if (LNotEqual(Local0, 2)) {
+ err("", zFFF, 0xa0b, 0, 0, Local0, 2)
+ }
+ Store(DeRefof(Index(DerefOf(Index(pppp, 0)), 2)), Local0)
+ if (LNotEqual(Local0, 3)) {
+ err("", zFFF, 0xa0c, 0, 0, Local0, 3)
+ }
+ Store(DeRefof(Index(DerefOf(Index(pppp, 0)), 3)), Local0)
+ if (LNotEqual(Local0, 4)) {
+ err("", zFFF, 0xa0d, 0, 0, Local0, 4)
+ }
+}
+
+/* Constant */
+
+// Integer
+
+Method(md48)
+{
+ OperationRegion(OOO2, SystemMemory, 0x100, 0x100)
+
+ Store(0xe0385bcd, OOO2)
+ Store (0x61, OOO2)
+
+ Store(DeRefof(Refof(OOO2)), Local1)
+
+ if (LNotEqual(Local1, 0x61)) {
+ err("", zFFF, 0xa0e, 0, 0, Local1, 0x61)
+ }
+}
+
+// String
+
+Method(md49)
+{
+ OperationRegion(OOO2, SystemMemory, 0x100, 0x100)
+
+ Store("String", OOO2)
+ Store(Refof(OOO2), Local0)
+ Store (0x61, Index(DeRefof(Local0), 3))
+
+ Store(Refof(OOO2), Local0)
+ Store(DeRefof(Local0), Local1)
+
+ if (LNotEqual(Local1, "Strang")) {
+ err("", zFFF, 0xa0f, 0, 0, Local1, "Strang")
+ }
+}
+
+// Buffer
+
+Method(md4a)
+{
+ OperationRegion(OOO2, SystemMemory, 0x100, 0x100)
+
+ Store(Buffer() {1,2,3,4}, OOO2)
+
+ Store(Refof(OOO2), Local0)
+ Store (0x61, Index(DeRefof(Local0), 3))
+ Store(DeRefof(Local0), Local1)
+
+ if (LNotEqual(Local1, Buffer() {1,2,3,0x61})) {
+ err("", zFFF, 0xa10, 0, 0, Local1, Buffer() {1,2,3,0x61})
+ }
+}
+
+// Package
+
+Method(md4b)
+{
+ OperationRegion(OOO2, SystemMemory, 0x100, 0x100)
+
+ Store(Package(1){Buffer() {1,2,3,4}}, OOO2)
+ Store(Refof(OOO2), Local0)
+ Store (0x61, Index(DerefOf(Index(DeRefof(Local0), 0)), 3))
+
+ // OOO2
+
+ Store(DeRefof(Index(DerefOf(Index(DeRefof(Local0), 0)), 0)), Local1)
+ if (LNotEqual(Local1, 1)) {
+ err("", zFFF, 0xa11, 0, 0, Local1, 1)
+ }
+ Store(DeRefof(Index(DerefOf(Index(DeRefof(Local0), 0)), 1)), Local1)
+ if (LNotEqual(Local1, 2)) {
+ err("", zFFF, 0xa12, 0, 0, Local1, 2)
+ }
+ Store(DeRefof(Index(DerefOf(Index(DeRefof(Local0), 0)), 2)), Local1)
+ if (LNotEqual(Local1, 3)) {
+ err("", zFFF, 0xa13, 0, 0, Local1, 3)
+ }
+ Store(DeRefof(Index(DerefOf(Index(DeRefof(Local0), 0)), 3)), Local1)
+ if (LNotEqual(Local1, 0x61)) {
+ err("", zFFF, 0xa14, 0, 0, Local1, 0x61)
+ }
+}
+
+Method(md4c)
+{
+ CH03("", 0, 0xf16, 0, 0)
+ md44()
+ md45()
+ md46()
+ md47()
+ md48()
+ md49()
+ md4a()
+ md4b()
+ CH03("", 0, 0xf17, 0, 0)
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0153/ToString.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0153/ToString.asl
new file mode 100644
index 000000000..d514e59e7
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0153/ToString.asl
@@ -0,0 +1,97 @@
+/*
+ * 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.
+ */
+
+
+/*
+ * Store Integer/String/Buffer to String
+ */
+
+// Integer
+
+Method(md4d)
+{
+ Name(i000, 0xabcd)
+ Name(s000, "String")
+
+ Store(i000, s000)
+ Store (0x61, s000)
+
+ if (LNotEqual(s000, 0x61)) {
+ err("", zFFF, 0xb00, 0, 0, s000, 0x61)
+ }
+ if (LNotEqual(i000, 0xabcd)) {
+ err("", zFFF, 0xb01, 0, 0, i000, 0xabcd)
+ }
+}
+
+// String
+
+Method(md4e)
+{
+ Name(s000, "zxcvbqwertynm")
+ Name(s001, "String")
+
+ Store(s000, s001)
+ Store("ADb", s001)
+
+ if (LNotEqual(s001, "ADb")) {
+ err("", zFFF, 0xb02, 0, 0, s001, "ADb")
+ }
+ if (LNotEqual(s000, "zxcvbqwertynm")) {
+ err("", zFFF, 0xb03, 0, 0, s000, "zxcvbqwertynm")
+ }
+}
+
+// Buffer
+
+Method(md4f)
+{
+ Name(b000, Buffer() {1,2,3,4})
+ Name(s000, "String")
+
+ Store(b000, s000)
+ Store (Buffer() {5,6}, s000)
+
+ if (LNotEqual(s000, Buffer() {5,6})) {
+ err("", zFFF, 0xb04, 0, 0, s000, Buffer() {5,6})
+ }
+ if (LNotEqual(b000, Buffer() {1,2,3,4})) {
+ err("", zFFF, 0xb05, 0, 0, b000, Buffer() {1,2,3,4})
+ }
+}
+
+Method(md50)
+{
+ CH03("", 0, 0xf18, 0, 0)
+ md4d()
+ md4e()
+ md4f()
+ CH03("", 0, 0xf19, 0, 0)
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0153/ToThermalZone.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0153/ToThermalZone.asl
new file mode 100644
index 000000000..bf5456052
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0153/ToThermalZone.asl
@@ -0,0 +1,244 @@
+/*
+ * 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.
+ */
+
+
+/*
+ * Store Integer/String/Buffer/Package to ThermalZone
+ */
+
+// Integer
+
+Method(md5a)
+{
+ Name(i000, 0xe0385bcd)
+ ThermalZone(OOO2) {}
+
+ Store(i000, OOO2)
+ Store (0x61, OOO2)
+
+ Store(DeRefof(Refof(OOO2)), Local1)
+
+ if (LNotEqual(Local1, 0x61)) {
+ err("", zFFF, 0xc00, 0, 0, Local1, 0x61)
+ }
+ if (LNotEqual(i000, 0xe0385bcd)) {
+ err("", zFFF, 0xc01, 0, 0, i000, 0xe0385bcd)
+ }
+}
+
+// String
+
+Method(md51)
+{
+ Name(s000, "String")
+ ThermalZone(OOO2) {}
+
+ Store(s000, OOO2)
+ Store(Refof(OOO2), Local0)
+ Store (0x61, Index(DeRefof(Local0), 3))
+
+ Store(Refof(OOO2), Local0)
+ Store(DeRefof(Local0), Local1)
+
+ if (LNotEqual(Local1, "Strang")) {
+ err("", zFFF, 0xc02, 0, 0, Local1, "Strang")
+ }
+ if (LNotEqual(s000, "String")) {
+ err("", zFFF, 0xc03, 0, 0, s000, "String")
+ }
+}
+
+// Buffer
+
+Method(md52)
+{
+ Name(b000, Buffer() {1,2,3,4})
+ ThermalZone(OOO2) {}
+
+ Store(b000, OOO2)
+
+ Store(Refof(OOO2), Local0)
+ Store (0x61, Index(DeRefof(Local0), 3))
+ Store(DeRefof(Local0), Local1)
+
+ if (LNotEqual(Local1, Buffer() {1,2,3,0x61})) {
+ err("", zFFF, 0xc04, 0, 0, Local1, Buffer() {1,2,3,0x61})
+ }
+ if (LNotEqual(b000, Buffer() {1,2,3,4})) {
+ err("", zFFF, 0xc05, 0, 0, b000, Buffer() {1,2,3,4})
+ }
+}
+
+// Package
+
+Method(md53)
+{
+ Name(pppp, Package(1){Buffer() {1,2,3,4}})
+ ThermalZone(OOO2) {}
+
+ Store(pppp, OOO2)
+ Store(Refof(OOO2), Local0)
+ Store (0x61, Index(DerefOf(Index(DeRefof(Local0), 0)), 3))
+
+ // OOO2
+
+ Store(DeRefof(Index(DerefOf(Index(DeRefof(Local0), 0)), 0)), Local1)
+ if (LNotEqual(Local1, 1)) {
+ err("", zFFF, 0xc06, 0, 0, Local1, 1)
+ }
+ Store(DeRefof(Index(DerefOf(Index(DeRefof(Local0), 0)), 1)), Local1)
+ if (LNotEqual(Local1, 2)) {
+ err("", zFFF, 0xc07, 0, 0, Local1, 2)
+ }
+ Store(DeRefof(Index(DerefOf(Index(DeRefof(Local0), 0)), 2)), Local1)
+ if (LNotEqual(Local1, 3)) {
+ err("", zFFF, 0xc08, 0, 0, Local1, 3)
+ }
+ Store(DeRefof(Index(DerefOf(Index(DeRefof(Local0), 0)), 3)), Local1)
+ if (LNotEqual(Local1, 0x61)) {
+ err("", zFFF, 0xc09, 0, 0, Local1, 0x61)
+ }
+
+ // pppp
+
+ Store(DeRefof(Index(DerefOf(Index(pppp, 0)), 0)), Local0)
+ if (LNotEqual(Local0, 1)) {
+ err("", zFFF, 0xc0a, 0, 0, Local0, 1)
+ }
+ Store(DeRefof(Index(DerefOf(Index(pppp, 0)), 1)), Local0)
+ if (LNotEqual(Local0, 2)) {
+ err("", zFFF, 0xc0b, 0, 0, Local0, 2)
+ }
+ Store(DeRefof(Index(DerefOf(Index(pppp, 0)), 2)), Local0)
+ if (LNotEqual(Local0, 3)) {
+ err("", zFFF, 0xc0c, 0, 0, Local0, 3)
+ }
+ Store(DeRefof(Index(DerefOf(Index(pppp, 0)), 3)), Local0)
+ if (LNotEqual(Local0, 4)) {
+ err("", zFFF, 0xc0d, 0, 0, Local0, 4)
+ }
+}
+
+/* Constant */
+
+// Integer
+
+Method(md54)
+{
+ ThermalZone(OOO2) {}
+
+ Store(0xe0385bcd, OOO2)
+ Store (0x61, OOO2)
+
+ Store(DeRefof(Refof(OOO2)), Local1)
+
+ if (LNotEqual(Local1, 0x61)) {
+ err("", zFFF, 0xc0e, 0, 0, Local1, 0x61)
+ }
+}
+
+// String
+
+Method(md55)
+{
+ ThermalZone(OOO2) {}
+
+ Store("String", OOO2)
+ Store(Refof(OOO2), Local0)
+ Store (0x61, Index(DeRefof(Local0), 3))
+
+ Store(Refof(OOO2), Local0)
+ Store(DeRefof(Local0), Local1)
+
+ if (LNotEqual(Local1, "Strang")) {
+ err("", zFFF, 0xc0f, 0, 0, Local1, "Strang")
+ }
+}
+
+// Buffer
+
+Method(md56)
+{
+ ThermalZone(OOO2) {}
+
+ Store(Buffer() {1,2,3,4}, OOO2)
+
+ Store(Refof(OOO2), Local0)
+ Store (0x61, Index(DeRefof(Local0), 3))
+ Store(DeRefof(Local0), Local1)
+
+ if (LNotEqual(Local1, Buffer() {1,2,3,0x61})) {
+ err("", zFFF, 0xc10, 0, 0, Local1, Buffer() {1,2,3,0x61})
+ }
+}
+
+// Package
+
+Method(md57)
+{
+ ThermalZone(OOO2) {}
+
+ Store(Package(1){Buffer() {1,2,3,4}}, OOO2)
+ Store(Refof(OOO2), Local0)
+ Store (0x61, Index(DerefOf(Index(DeRefof(Local0), 0)), 3))
+
+ // OOO2
+
+ Store(DeRefof(Index(DerefOf(Index(DeRefof(Local0), 0)), 0)), Local1)
+ if (LNotEqual(Local1, 1)) {
+ err("", zFFF, 0xc11, 0, 0, Local1, 1)
+ }
+ Store(DeRefof(Index(DerefOf(Index(DeRefof(Local0), 0)), 1)), Local1)
+ if (LNotEqual(Local1, 2)) {
+ err("", zFFF, 0xc12, 0, 0, Local1, 2)
+ }
+ Store(DeRefof(Index(DerefOf(Index(DeRefof(Local0), 0)), 2)), Local1)
+ if (LNotEqual(Local1, 3)) {
+ err("", zFFF, 0xc13, 0, 0, Local1, 3)
+ }
+ Store(DeRefof(Index(DerefOf(Index(DeRefof(Local0), 0)), 3)), Local1)
+ if (LNotEqual(Local1, 0x61)) {
+ err("", zFFF, 0xc14, 0, 0, Local1, 0x61)
+ }
+}
+
+Method(md58)
+{
+ CH03("", 0, 0xf1a, 0, 0)
+ md5a()
+ md51()
+ md52()
+ md53()
+ md54()
+ md55()
+ md56()
+ md57()
+ CH03("", 0, 0xf1b, 0, 0)
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0154/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0154/DECL.asl
new file mode 100644
index 000000000..64e81d4d5
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0154/DECL.asl
@@ -0,0 +1,69 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 154:
+ *
+ * SUMMARY: Exception occurs on attempt to rewrite Device type object passed by ArgX to Method
+ *
+ * Check that exception doesnt occur
+ */
+
+ Method(mf43, 1)
+ {
+ Store(Concatenate("ObjectType(Arg0): 0x",
+ Mid(ToHexString(ObjectType(Arg0)), 15, 1)), Debug)
+ Store(0, Arg0)
+ Store("Store(0, Arg0) done", Debug)
+ }
+
+ Method(mf44)
+ {
+ mf43(id1d)
+ Store(ObjectType(id1d), Local0)
+ if (LNotEqual(Local0, c009)) {
+ err("", zFFF, 0x000, 0, 0, Local0, c009)
+ }
+ if (LNotEqual(id1d, 0xfedcba9876543210)) {
+ err("", zFFF, 0x001, 0, 0, id1d, 0xfedcba9876543210)
+ }
+
+ mf43(ed02)
+ Store(ObjectType(ed02), Local0)
+ if (LNotEqual(Local0, c00f)) {
+ err("", zFFF, 0x002, 0, 0, Local0, c00f)
+ }
+
+ mf43(dd0b)
+ Store(ObjectType(dd0b), Local0)
+ if (LNotEqual(Local0, c00e)) {
+ err("", zFFF, 0x003, 0, 0, Local0, c00e)
+ }
+ }
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0154/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0154/MAIN.asl
new file mode 100644
index 000000000..3b7cf8edd
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0154/MAIN.asl
@@ -0,0 +1,58 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B154.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/common/DECL.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0154/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0154/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0154/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0154/RUN.asl
new file mode 100644
index 000000000..9f0ee3bc2
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0154/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 154", TCLD, 154, W017)) {
+ SRMT("mf44")
+ mf44()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0155/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0155/DECL.asl
new file mode 100644
index 000000000..334280eb0
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0155/DECL.asl
@@ -0,0 +1,58 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 155:
+ *
+ * SUMMARY: Global level AML code execution is performed twice
+ */
+
+/*
+Should be completed !!!!!!!!!!!!!!!!!!!!!!!!
+!!!!!!!!!!!!!!!!!!!!!!!!
+SEE: all the type declarations must be verified in this manner
+not only Operregion and Buffield
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+ */
+
+ Method(mf6b)
+ {
+ if (LNotEqual(id1f, 50)) {
+ err("", zFFF, 0x000, 0, 0, id1f, 50)
+ }
+
+ if (LNotEqual(id20, 8)) {
+ err("", zFFF, 0x001, 0, 0, id20, 8)
+ }
+
+ if (LNotEqual(bfd3, 0x99)) {
+ err("", zFFF, 0x002, 0, 0, bfd3, 0x99)
+ }
+ }
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0155/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0155/MAIN.asl
new file mode 100644
index 000000000..6ab2d235f
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0155/MAIN.asl
@@ -0,0 +1,58 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B155.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/common/DECL.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0155/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0155/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0155/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0155/RUN.asl
new file mode 100644
index 000000000..5b9eb25be
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0155/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 155", TCLD, 155, W017)) {
+ SRMT("mf6b")
+ mf6b()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0156_ML/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0156_ML/DECL.asl
new file mode 100644
index 000000000..887a53b33
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0156_ML/DECL.asl
@@ -0,0 +1,64 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 156:
+ *
+ * SUMMARY: Memory leak till the Method exit for each execution of If(TRUE)-Else/ElseIf
+ *
+ * Only, to demonstrate visually the rate of execution
+ * before and after the patch has been applied.
+ */
+
+ Method(mf45)
+ {
+ Store("mf45 started", Debug)
+
+ Name(i000, 1)
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+
+ Store(0, lpC0)
+ Store(0xa000, lpN0)
+
+ While (lpN0) {
+
+ if (i000) {
+ Store(lpC0, Debug)
+ } else {
+ Store(lpN0, Debug)
+ }
+
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+
+ Store("mf45 finished", Debug)
+ }
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0156_ML/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0156_ML/MAIN.asl
new file mode 100644
index 000000000..c98543dc0
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0156_ML/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B156.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0156_ML/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0156_ML/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0156_ML/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0156_ML/RUN.asl
new file mode 100644
index 000000000..badf9390d
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0156_ML/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 156", TCLD, 156, W017)) {
+ SRMT("mf45")
+ mf45()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0157/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0157/DECL.asl
new file mode 100644
index 000000000..d939c07a9
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0157/DECL.asl
@@ -0,0 +1,92 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 157:
+ * Exception occurs while executing method md00.
+ *
+ * SUMMARY: Exception while processing the empty ParameterTypes list of Method
+ *
+ * ROOT CAUSE
+ *
+ * 19.09.2005, the root cause of it is the raw state of
+ * implementation of "parametertypes list" feature of iASL.
+ * iASL generates a wrong AML code for md00 as if it has one
+ * parameter. Stopped fixing.
+ *
+ *
+ * NOTE: add here new failing examples from name/method.asl and
+ * name/function.asl tests when starts fixing the bug.
+ */
+
+Method(md00) {
+
+ Method(m000, , , , , ) {
+ Return ("md00.m000")
+ }
+
+ Function(mm00, , ) {Return ("md00.mm00")}
+
+ // Auxiliary names for to eliminate side-effects of the bug
+ Method(mmm0) {Return}
+ Method(mmm1) {Return}
+
+
+ // Method
+
+ Store("Local0", Local0)
+
+ Store(m000(), Local0)
+
+ mmm0()
+
+ CH03("", 0, 0x000, 0, 0)
+
+ if (LNotEqual("md00.m000", Local0)) {
+ err("", zFFF, 0x001, 0, 0, Local0, "md00.m000")
+ }
+
+
+ // Function
+
+ Store("Local0", Local0)
+
+ Store(mm00(), Local0)
+
+ mmm1()
+
+ CH03("", 0, 0x002, 0, 0)
+
+ if (LNotEqual("md00.mm00", Local0)) {
+ err("", zFFF, 0x003, 0, 0, Local0, "md00.mm00")
+ }
+
+ CH03("", 0, 0x004, 0, 0)
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0157/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0157/MAIN.asl
new file mode 100644
index 000000000..037109bee
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0157/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B157.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0157/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0157/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0157/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0157/RUN.asl
new file mode 100644
index 000000000..025353407
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0157/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 157", TCLD, 157, W017)) {
+ SRMT("md00")
+ md00()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0158_ML/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0158_ML/DECL.asl
new file mode 100644
index 000000000..dcbfcc1f1
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0158_ML/DECL.asl
@@ -0,0 +1,69 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 158:
+ *
+ * SUMMARY: Memory leak till the Method exit for each execution of Break
+ *
+ * Only, to demonstrate visually the rate of execution
+ * before and after the patch has been applied.
+ */
+
+ Method(mf46)
+ {
+ Store("mf46 started", Debug)
+
+ Name(i000, 0)
+ Name(num, 0)
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+
+ Store(0xA000, num)
+ // Store(0x14000, num)
+
+ Store(num, i000)
+ Store(num, lpN0)
+ Store(0, lpC0)
+
+ While (lpN0) {
+ if (i000) {
+ While (1) {
+ Store(lpC0, Debug)
+ Decrement(i000)
+ Break
+ }
+ }
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+
+ Store("mf46 finished", Debug)
+ }
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0158_ML/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0158_ML/MAIN.asl
new file mode 100644
index 000000000..3da0852c0
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0158_ML/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B158.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0158_ML/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0158_ML/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0158_ML/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0158_ML/RUN.asl
new file mode 100644
index 000000000..1248e18e7
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0158_ML/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 158", TCLD, 158, W017)) {
+ SRMT("mf46")
+ mf46()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0159_ML/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0159_ML/DECL.asl
new file mode 100644
index 000000000..ba6c0c691
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0159_ML/DECL.asl
@@ -0,0 +1,67 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 159:
+ *
+ * SUMMARY: Memory leak till the Method exit for each execution of Continue
+ *
+ * Only, to demonstrate visually the rate of execution
+ * before and after the patch has been applied.
+ */
+
+ Method(mf47)
+ {
+ Store("mf47 started", Debug)
+
+ Name(i000, 0)
+ Name(num, 0)
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+
+ Store(0xA000, num)
+ // Store(0x14000, num)
+
+ Store(num, i000)
+ Store(1, lpN0)
+ Store(0, lpC0)
+
+ While (lpN0) {
+ if (i000) {
+ Store(i000, Debug)
+ Decrement(i000)
+ Continue
+ }
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+
+ Store("mf47 finished", Debug)
+ }
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0159_ML/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0159_ML/MAIN.asl
new file mode 100644
index 000000000..7a99f57b2
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0159_ML/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B159.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0159_ML/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0159_ML/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0159_ML/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0159_ML/RUN.asl
new file mode 100644
index 000000000..3514f0b69
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0159_ML/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 159", TCLD, 159, W017)) {
+ SRMT("mf47")
+ mf47()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0160/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0160/DECL.asl
new file mode 100644
index 000000000..274357d62
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0160/DECL.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 160:
+ *
+ * SUMMARY: Attempt to declare Field inside the If scope causes exception
+ *
+ * Check that exception doesnt occur
+ */
+
+ Method(mf48)
+ {
+ CH03("", 0, 0x000, 0, 0)
+ Store("mf48 started", Debug)
+ Field(rd05, ByteAcc, NoLock, Preserve) { f000, 8 }
+ Store("mf48 finished", Debug)
+ CH03("", 0, 0x001, 0, 0)
+ }
+
+ Method(mf49)
+ {
+ CH03("", 0, 0x002, 0, 0)
+ Store("mf49 started", Debug)
+ if (1) {
+ Field(rd05, ByteAcc, NoLock, Preserve) { f000, 8 }
+ }
+ Store("mf49 finished", Debug)
+ CH03("", 0, 0x003, 0, 0)
+ }
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0160/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0160/MAIN.asl
new file mode 100644
index 000000000..42c450e22
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0160/MAIN.asl
@@ -0,0 +1,58 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B160.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/common/DECL.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0160/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0160/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0160/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0160/RUN.asl
new file mode 100644
index 000000000..168ca411c
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0160/RUN.asl
@@ -0,0 +1,38 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 160", TCLD, 160, W017)) {
+ SRMT("mf48")
+ mf48()
+ SRMT("mf49")
+ mf49()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0161/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0161/DECL.asl
new file mode 100644
index 000000000..59ceb93ee
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0161/DECL.asl
@@ -0,0 +1,284 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 161:
+ *
+ * SUMMARY: Named object passed as a BitIndex or NumBits to CreateField causes hang
+ *
+ * ROOT CAUSE
+ */
+
+// Global CreateField declarations
+
+Method(md8f)
+{
+ if (LNotEqual(bf32, 0x14)) {
+ err("", zFFF, 0x000, 0, 0, bf32, 0x14)
+ }
+ if (LNotEqual(bf33, 0x1615)) {
+ err("", zFFF, 0x001, 0, 0, bf33, 0x1615)
+ }
+}
+
+Method(md90)
+{
+ if (LNotEqual(bf34, 0x18)) {
+ err("", zFFF, 0x002, 0, 0, bf34, 0x18)
+ }
+ if (LNotEqual(bf35, 0x19)) {
+ err("", zFFF, 0x003, 0, 0, bf35, 0x19)
+ }
+}
+
+Method(md91)
+{
+ if (LNotEqual(bf36, 0x1a)) {
+ err("", zFFF, 0x004, 0, 0, bf36, 0x1a)
+ }
+ if (LNotEqual(bf37, 0x1c1b)) {
+ err("", zFFF, 0x005, 0, 0, bf37, 0x1c1b)
+ }
+}
+
+// Local CreateField declarations, another buffer than used in md8f-md91
+
+Method(md92)
+{
+ CreateField(bd02, 32, id03, bf32)
+ CreateField(bd02, 40, Add(id03, 8), bf33)
+
+ if (LNotEqual(bf32, 0x14)) {
+ err("", zFFF, 0x006, 0, 0, bf32, 0x14)
+ }
+ if (LNotEqual(bf33, 0x1615)) {
+ err("", zFFF, 0x007, 0, 0, bf33, 0x1615)
+ }
+}
+
+Method(md93)
+{
+ CreateField(bd02, id04, 8, bf34)
+ CreateField(bd02, Add(id04, 8), 8, bf35)
+
+ if (LNotEqual(bf34, 0x18)) {
+ err("", zFFF, 0x008, 0, 0, bf34, 0x18)
+ }
+ if (LNotEqual(bf35, 0x19)) {
+ err("", zFFF, 0x009, 0, 0, bf35, 0x19)
+ }
+}
+
+Method(md94)
+{
+ CreateField(bd02, id05, id06, bf36)
+ CreateField(bd02, Add(id07, 8), Add(id08, 8), bf37)
+
+ if (LNotEqual(bf36, 0x1a)) {
+ err("", zFFF, 0x00a, 0, 0, bf36, 0x1a)
+ }
+ if (LNotEqual(bf37, 0x1c1b)) {
+ err("", zFFF, 0x00b, 0, 0, bf37, 0x1c1b)
+ }
+}
+
+// Local CreateField declarations, the same buffer that used in md8f-md91
+
+Method(md95)
+{
+ CreateField(bd03, 32, id03, bf32)
+ CreateField(bd03, 40, Add(id03, 8), bf33)
+
+ if (LNotEqual(bf32, 0x14)) {
+ err("", zFFF, 0x00c, 0, 0, bf32, 0x14)
+ }
+ if (LNotEqual(bf33, 0x1615)) {
+ err("", zFFF, 0x00d, 0, 0, bf33, 0x1615)
+ }
+}
+
+Method(md96)
+{
+ CreateField(bd03, id04, 8, bf34)
+ CreateField(bd03, Add(id04, 8), 8, bf35)
+
+ if (LNotEqual(bf34, 0x18)) {
+ err("", zFFF, 0x00e, 0, 0, bf34, 0x18)
+ }
+ if (LNotEqual(bf35, 0x19)) {
+ err("", zFFF, 0x00f, 0, 0, bf35, 0x19)
+ }
+}
+
+Method(md97)
+{
+ CreateField(bd03, id05, id06, bf36)
+ CreateField(bd03, Add(id07, 8), Add(id08, 8), bf37)
+
+ if (LNotEqual(bf36, 0x1a)) {
+ err("", zFFF, 0x010, 0, 0, bf36, 0x1a)
+ }
+ if (LNotEqual(bf37, 0x1c1b)) {
+ err("", zFFF, 0x011, 0, 0, bf37, 0x1c1b)
+ }
+}
+
+Method(m075, 6)
+{
+ Name(b000, Buffer() {0x5D, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18})
+
+ if (LNotEqual(arg0, 1)) {
+ err("", zFFF, 0x012, 0, 0, arg0, 1)
+ }
+ if (LNotEqual(arg1, 0x5d)) {
+ err("", zFFF, 0x013, 0, 0, arg1, 0x5d)
+ }
+ if (LNotEqual(arg2, 0x125D)) {
+ err("", zFFF, 0x014, 0, 0, arg2, 0x125D)
+ }
+ if (LNotEqual(arg3, 0x1413125D)) {
+ err("", zFFF, 0x015, 0, 0, arg3, 0x1413125D)
+ }
+
+ if (F64) {
+ if (LNotEqual(arg4, 0x181716151413125D)) {
+ err("", zFFF, 0x016, 0, 0, arg4, 0x181716151413125D)
+ }
+ } else {
+ if (LNotEqual(arg4, b000)) {
+ err("", zFFF, 0x016, 0, 0, arg4, b000)
+ }
+ }
+
+ if (LNotEqual(arg5, 0x5d)) {
+ err("", zFFF, 0x017, 0, 0, arg5, 0x5d)
+ }
+}
+
+Method(m076, 2)
+{
+ if (LNotEqual(arg0, 0x5d)) {
+ err("", zFFF, 0x018, 0, 0, arg0, 0x5d)
+ }
+ if (LNotEqual(arg1, 0x5d)) {
+ err("", zFFF, 0x019, 0, 0, arg1, 0x5d)
+ }
+}
+
+Method(md98)
+{
+ md8f()
+ md90()
+ md91()
+ md92()
+ md93()
+ md94()
+ md95()
+ md96()
+ md97()
+}
+
+Method(mf7f)
+{
+ SRMT("mf7f-0")
+ m075(bf40, bf41, bf42, bf43, bf44, bf45)
+
+ SRMT("mf7f-1")
+ m075(bf46, bf47, bf48, bf49, bf4a, bf4b)
+ m076(bf4c, bf4d)
+}
+
+Method(m077)
+{
+ CreateBitField(bd03, 8, bf40)
+ CreateByteField(bd03, 1, bf41)
+ CreateWordField(bd03, 1, bf42)
+ CreateDWordField(bd03, 1, bf43)
+ CreateQWordField(bd03, 1, bf44)
+ CreateField(bd03, 8, 8, bf45)
+
+ Name(id21, 1)
+ Name(id22, 8)
+
+ CreateBitField(bd03, id22, bf46)
+ CreateByteField(bd03, id21, bf47)
+ CreateWordField(bd03, id21, bf48)
+ CreateDWordField(bd03, id21, bf49)
+ CreateQWordField(bd03, id21, bf4a)
+ CreateField(bd03, 8, id22, bf4b)
+ CreateField(bd03, id22, 8, bf4c)
+ CreateField(bd03, id22, id22, bf4d)
+
+ SRMT("m077-0")
+ m075(bf40, bf41, bf42, bf43, bf44, bf45)
+
+ SRMT("m077-1")
+ m075(bf46, bf47, bf48, bf49, bf4a, bf4b)
+ m076(bf4c, bf4d)
+}
+
+Method(mf83)
+{
+ Store(1, Local0)
+ Store(8, Local1)
+
+ CreateBitField(bd03, Local1, bf46)
+ CreateByteField(bd03, Local0, bf47)
+ CreateWordField(bd03, Local0, bf48)
+ CreateDWordField(bd03, Local0, bf49)
+ CreateQWordField(bd03, Local0, bf4a)
+ CreateField(bd03, 8, Local1, bf4b)
+ CreateField(bd03, Local1, 8, bf4c)
+ CreateField(bd03, Local1, Local1, bf4d)
+
+ SRMT("mf83")
+ m075(bf46, bf47, bf48, bf49, bf4a, bf4b)
+ m076(bf4c, bf4d)
+}
+
+Method(mf84, 2)
+{
+ CreateBitField(bd03, Arg1, bf46)
+ CreateByteField(bd03, Arg0, bf47)
+ CreateWordField(bd03, Arg0, bf48)
+ CreateDWordField(bd03, Arg0, bf49)
+ CreateQWordField(bd03, Arg0, bf4a)
+ CreateField(bd03, 8, Arg1, bf4b)
+ CreateField(bd03, Arg1, 8, bf4c)
+ CreateField(bd03, Arg1, Arg1, bf4d)
+
+ SRMT("mf84")
+ m075(bf46, bf47, bf48, bf49, bf4a, bf4b)
+ m076(bf4c, bf4d)
+}
+
+
+
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0161/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0161/MAIN.asl
new file mode 100644
index 000000000..6c9997b86
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0161/MAIN.asl
@@ -0,0 +1,58 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B161.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/common/DECL.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0161/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0161/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0161/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0161/RUN.asl
new file mode 100644
index 000000000..a0a9ae06f
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0161/RUN.asl
@@ -0,0 +1,43 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 161", TCLD, 161, W017)) {
+ SRMT("md98")
+
+ // Failed even to load without my bug-fix reported
+
+ md98()
+ mf7f()
+ m077()
+ mf83()
+ mf84(1, 8)
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0162/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0162/DECL.asl
new file mode 100644
index 000000000..ac11a7e65
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0162/DECL.asl
@@ -0,0 +1,75 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 162:
+ *
+ * SUMMARY: Crash while processing the global level execution exception
+ *
+ * ROOT CAUSE
+ *
+ * While executing the AML code on a global level (out
+ * of any Method, immediately on a DefinitionBlock level)
+ * and being forced to handle some exception, ACPICA attempts
+ * to retrieve elements of WalkState->MethodNode structure which
+ * is a NULL pointer in that case (global level AML code execution
+ * case).
+ *
+ * TO BE VERIFIED
+ *
+ * Run any Method to check that just after processing
+ * the global level execution exception all became stable.
+ */
+
+/* Set flag - demo-162 is there, allow compiling without it */
+Name(bd01, Buffer(Store(1, id02)){})
+
+/* This declarations forces exception during the load of DefinitionBlock */
+Name(i002, 10)
+Name(BUF0, Buffer(Divide(i002, 0)){1,2,3,4,5,6,7,8,0xff})
+
+/*
+ * md7d - check, register errors and reset the global level execution exception,
+ * set up id01 to non-zero in error case.
+ */
+Name(BUF1, Buffer(md7d()){})
+
+Method(md78)
+{
+ Store("Just after processing the global level execution exception all became stable!", Debug)
+
+ /*
+ * Since exception should be verified before STRT (see MAIN) we
+ * have to initiate err here, to log the error in a usual way.
+ */
+ if (id01) {
+ err("", zFFF, 0x123, 0, 0, 0, 0)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0162/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0162/MAIN.asl
new file mode 100644
index 000000000..87e541506
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0162/MAIN.asl
@@ -0,0 +1,64 @@
+/*
+ * 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.
+ */
+
+
+DefinitionBlock(
+ "B162.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/common/DECL.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0162/DECL.asl")
+
+ Method(MAIN) {
+
+ // Check, register errors and reset the global level execution exception
+ // md7d() - do it while BUF1 creation just after BUF0,
+ // otherwise, if doing that there, some other
+ // exception may distort picture.
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0162/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0162/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0162/RUN.asl
new file mode 100644
index 000000000..1684c7a35
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0162/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+
+if (STTT("Demo of bug 162", TCLD, 162, W017)) {
+ SRMT("md78")
+ md78()
+}
+FTTT()
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0163_ML/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0163_ML/DECL.asl
new file mode 100644
index 000000000..e5cbe6cf2
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0163_ML/DECL.asl
@@ -0,0 +1,79 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 163:
+ *
+ * SUMMARY: The copy of Device object to LocalX is not ever released
+ *
+ * Only, to demonstrate visually the rate of execution
+ * before and after the patch has been applied.
+ */
+
+ Method(mf4a)
+ {
+ Device(d900) {}
+
+ CopyObject(d900, Local0)
+ }
+
+ Method(mf4b)
+ {
+ Store("mf4b started", Debug)
+
+ Device(d900) {}
+
+ Name(num, 100)
+
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+
+
+ Store(num, lpN0)
+ Store(0, lpC0)
+
+ While (lpN0) {
+
+ CopyObject(d900, Local0)
+
+ Store(lpC0, Debug)
+
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+
+ Store("mf4b finished", Debug)
+ }
+
+ Method(mf4c)
+ {
+ mf4a()
+ mf4b()
+ }
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0163_ML/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0163_ML/MAIN.asl
new file mode 100644
index 000000000..fc0aaabe4
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0163_ML/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B163.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0163_ML/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0163_ML/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0163_ML/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0163_ML/RUN.asl
new file mode 100644
index 000000000..b8f1f0cbb
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0163_ML/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 163", TCLD, 163, W017)) {
+ SRMT("mf4c")
+ mf4c()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0164_ACTION_REQUIRED/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0164_ACTION_REQUIRED/DECL.asl
new file mode 100644
index 000000000..400e6e92e
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0164_ACTION_REQUIRED/DECL.asl
@@ -0,0 +1,46 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 164:
+ *
+ * SUMMARY: Subtest m22d of Reference test started causing exceptions since 20050526
+ */
+
+Check the result of sub-test m22d of test of references.
+
+Below, from bug report # 164:
+
+
+This is a regression.
+I don't investigate it.
+The subtest m22d() of Reference test passed on 20050513
+but started to cause exceptions since 20050526.
+Thanks
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0165_ML/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0165_ML/DECL.asl
new file mode 100644
index 000000000..79a581327
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0165_ML/DECL.asl
@@ -0,0 +1,73 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 165:
+ *
+ * SUMMARY: Unnecessary memory allocation for CreateField should be eliminated
+ *
+ * Only, to run some CreateField-s (it is
+ * checked completely by the bfield.asl test)
+ */
+
+ Method(mf4d)
+ {
+ CreateField(bd0a, 0, 8, bfd2)
+ }
+
+ Method(mf4e)
+ {
+ Name(b001, Buffer(9){0x20,0x21,0x22,0x23})
+
+ CreateField(bd0a, 8, 8, bf01)
+
+ CreateField(b001, 0, 8, bf02)
+
+ Store(bfd2, Debug)
+ if (LNotEqual(bfd2, 0x10)) {
+ Store("Error 0", Debug)
+ } else {
+ Store("Ok 0", Debug)
+ }
+
+ Store(bf01, Debug)
+ if (LNotEqual(bf01, 0x11)) {
+ Store("Error 1", Debug)
+ } else {
+ Store("Ok 1", Debug)
+ }
+
+ Store(bf02, Debug)
+ if (LNotEqual(bf02, 0x20)) {
+ Store("Error 2", Debug)
+ } else {
+ Store("Ok 2", Debug)
+ }
+ }
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0165_ML/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0165_ML/MAIN.asl
new file mode 100644
index 000000000..db13b9e5a
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0165_ML/MAIN.asl
@@ -0,0 +1,58 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B165.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/common/DECL.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0165_ML/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0165_ML/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0165_ML/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0165_ML/RUN.asl
new file mode 100644
index 000000000..5cc3a1e48
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0165_ML/RUN.asl
@@ -0,0 +1,38 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 165", TCLD, 165, W017)) {
+ SRMT("mf4d")
+ mf4d()
+ SRMT("mf4e")
+ mf4e()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0166_ML/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0166_ML/DECL.asl
new file mode 100644
index 000000000..541247db6
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0166_ML/DECL.asl
@@ -0,0 +1,119 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 166:
+ *
+ * SUMMARY: Releasing memory of the inside Method scopes surrounding Return operation is needed
+ *
+ * Only, to initiate Return operation from the inside
+ * Method scopes surrounding that Return operation (If,
+ * While, Switch, etc..)
+ */
+
+
+ Method(mf4f)
+ {
+ }
+
+ Method(mf50)
+ {
+ if (0xabcd0001) {
+ return (0xabcd0010)
+ }
+ }
+
+ Method(mf51)
+ {
+ if (0xabcd0000) {
+ if (0xabcd0001) {
+ return (0xabcd0010)
+ }}
+ }
+
+ Method(mf52)
+ {
+ while (0xabcd0000) {
+ return (0xabcd0020)
+ }
+ }
+
+ Method(mf53)
+ {
+ mf4f()
+ mf50()
+ mf51()
+ mf52()
+ while (0xabcd0000) {
+ mf4f()
+ mf50()
+ mf51()
+ mf52()
+ if (0xabcd0001) {
+ while (0xabcd0002) {
+ if (0xabcd0003) {
+ while (0xabcd0004) {
+ if (0xabcd0005) {
+ while (0xabcd0006) {
+ if (0xabcd0007) {
+ mf4f()
+ mf50()
+ mf51()
+ mf52()
+ while (0xabcd0008) {
+ if (0xabcd0009) {
+ while (0xabcd000a) {
+ if (0xabcd000b) {
+ while (0xabcd000c) {
+ if (0xabcd000d) {
+ while (0xabcd000e) {
+ if (0xabcd000f) {
+
+ if (0) {
+ Store("Impossible 0", Debug)
+ } else {
+ if (0xabcd0010) {
+ return (0xabcd0030)
+ }
+ }
+ }}}}
+ mf4f()
+ mf50()
+ mf51()
+ mf52()
+ }}}}
+ mf4f()
+ mf50()
+ mf51()
+ mf52()
+ }}}}
+ }}}}
+ }
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0166_ML/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0166_ML/MAIN.asl
new file mode 100644
index 000000000..9702ae450
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0166_ML/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B166.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0166_ML/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0166_ML/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0166_ML/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0166_ML/RUN.asl
new file mode 100644
index 000000000..cfb879e1b
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0166_ML/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 166", TCLD, 166, W017)) {
+ SRMT("mf53")
+ mf53()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0167/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0167/DECL.asl
new file mode 100644
index 000000000..1622c549e
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0167/DECL.asl
@@ -0,0 +1,145 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 167:
+ *
+ * SUMMARY: Manipulation test PASS but started reporting suspicious diagnostic
+ *
+ * Check that messages doesnt occur...
+ * but since it was due to the incorrect size of Package
+ * generated in that case we do this test as runtime test
+ * (but not ACTION_REQUIRED type).
+ *
+ * NOTE: checking of AE_AML_METHOD_LIMIT limits (32 and 256)
+ * should be performed in a separate tests (see plan/addition).
+ *
+ * This is regression.
+ * It did not take place earlier.
+ * Our test (manipulation) results in PASS, and no exceptions,
+ * but some diagnostic information is suspicious (see below).
+ * The anomalies are revealed by the test package.asl,
+ * methods m1f3 and m203. See attachment.
+ * .........
+ */
+
+ // gr1.asl
+
+ Method(mf54)
+ {
+ Name(p000, Package() {
+ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
+ 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
+ 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
+ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
+ 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
+ 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,112,
+ 113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,
+ 129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,
+ 145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,
+ 161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,
+ 177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,
+ 193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,
+ 209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,
+ 225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,
+ 241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,
+ })
+
+ Store(Sizeof (p000), Local0)
+
+ if (LNotEqual(Local0, 256)) {
+ err("", zFFF, 0x000, 0, 0, Local0, 256)
+ } else {
+ Store(1, Local1)
+ Store(0, Local2)
+ while (Local0) {
+ Store(DeRefOf(Index(p000, Local2)), Local3)
+ if (LNotEqual(Local3, Local1)) {
+ err("", zFFF, 0x001, 0, 0, Local3, Local1)
+ Break
+ }
+ Decrement(Local0)
+ Increment(Local1)
+ Increment(Local2)
+ }
+ if (LNot(Local0)) {Store("Ok", Debug)}
+ }
+ }
+
+ // gr2.asl
+
+ Method(mf55, 1)
+ {
+ if (Arg0) {
+ Return (Multiply(Arg0, mf55(Subtract(Arg0, 1))))
+ } else {
+ Return (1)
+ }
+ }
+
+ Method(mf56)
+ {
+ Store("mf55(4):", Debug)
+ mf55(4)
+
+ Store("mf55(25):", Debug)
+ mf55(25)
+ }
+
+ // gr3.asl
+
+ Method(mf57)
+ {
+ Name(i000, 0)
+
+ Method(mm00, 1)
+ {
+ Increment(i000)
+
+ if (arg0) {
+ mm01()
+ }
+ }
+
+ Method(mm01) {mm00(0)}
+
+ Store(0, i000)
+ mm00(0)
+ if (LNotEqual(i000, 1)) {
+ err("", zFFF, 0x002, 0, 0, i000, 1)
+ }
+
+ Store(0, i000)
+ mm00(1)
+ if (LNotEqual(i000, 2)) {
+ err("", zFFF, 0x003, 0, 0, i000, 2)
+ }
+ }
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0167/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0167/MAIN.asl
new file mode 100644
index 000000000..290c48928
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0167/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B167.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0167/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0167/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0167/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0167/RUN.asl
new file mode 100644
index 000000000..f46f6df10
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0167/RUN.asl
@@ -0,0 +1,40 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 167", TCLD, 167, W017)) {
+ SRMT("mf54")
+ mf54()
+ SRMT("mf56")
+ mf56()
+ SRMT("mf57")
+ mf57()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0168_ACT_REQ_NOPT/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0168_ACT_REQ_NOPT/DECL.asl
new file mode 100644
index 000000000..68959046f
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0168_ACT_REQ_NOPT/DECL.asl
@@ -0,0 +1,74 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 168:
+ *
+ * SUMMARY: Wrong specific Package obtained for not optimized AML code
+ *
+ * The demo shows different behavior of the AML codes
+ * obtained without and with -oa option:
+ *
+ * Method(mf59, 1) {Return(Index(Package(){2, 12}, arg0)}
+ * Both AML codes deal with 2-element Packages, but unexpectedly
+ * the elements of the Package in the not optimized case are:
+ *
+ * [ACPI Debug] (00) Integer: 0x000000000000000C
+ * [ACPI Debug] (01) <Null Object>
+ *
+ * against the properly built elements in the optimized case:
+ *
+ * [ACPI Debug] (00) Integer: 0x0000000000000002
+ * [ACPI Debug] (01) Integer: 0x000000000000000C
+ *
+ *
+ * NOTE: run it in both modes - opt & nopt
+ */
+
+ Method(mf59, 1) {Return (Index(Package(){2, 12}, arg0))}
+
+ Method(mf5a)
+ {
+ Store(mf59(0), Debug)
+
+ Store(mf59(0), Local0)
+ Store(DerefOf(Local0), Local1)
+ if (LNotEqual(Local1, 2)){
+ err("", zFFF, 0x000, 0, 0, Local1, 2)
+ }
+
+ Store(mf59(1), Debug)
+
+ Store(mf59(1), Local0)
+ Store(DerefOf(Local0), Local1)
+ if (LNotEqual(Local1, 12)){
+ err("", zFFF, 0x001, 0, 0, Local1, 12)
+ }
+ }
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0168_ACT_REQ_NOPT/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0168_ACT_REQ_NOPT/MAIN.asl
new file mode 100644
index 000000000..af92cdda2
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0168_ACT_REQ_NOPT/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B168.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0168_ACT_REQ_NOPT/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0168_ACT_REQ_NOPT/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0168_ACT_REQ_NOPT/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0168_ACT_REQ_NOPT/RUN.asl
new file mode 100644
index 000000000..4d8c44bcc
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0168_ACT_REQ_NOPT/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 168", TCLD, 168, W017)) {
+ SRMT("mf5a")
+ mf5a()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0169/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0169/DECL.asl
new file mode 100644
index 000000000..5fe85cf62
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0169/DECL.asl
@@ -0,0 +1,55 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 169:
+ *
+ * SUMMARY: Improper work of ShiftLeft and ShiftRight operators on Linux in a specific case
+ */
+
+ Method(mf5b)
+ {
+ ShiftLeft(0xffffffffffffffff, 64, Local0)
+ if (LNotEqual(Local0, 0)){
+ err("", zFFF, 0x000, 0, 0, Local0, 0)
+ }
+ ShiftLeft(0xffffffffffffffff, 65, Local0)
+ if (LNotEqual(Local0, 0)){
+ err("", zFFF, 0x001, 0, 0, Local0, 0)
+ }
+ ShiftRight(0xffffffffffffffff, 64, Local0)
+ if (LNotEqual(Local0, 0)){
+ err("", zFFF, 0x002, 0, 0, Local0, 0)
+ }
+ ShiftRight(0xffffffffffffffff, 65, Local0)
+ if (LNotEqual(Local0, 0)){
+ err("", zFFF, 0x003, 0, 0, Local0, 0)
+ }
+ }
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0169/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0169/MAIN.asl
new file mode 100644
index 000000000..9739e29ae
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0169/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B169.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0169/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0169/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0169/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0169/RUN.asl
new file mode 100644
index 000000000..528aa6927
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0169/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 169", TCLD, 169, W017)) {
+ SRMT("mf5b")
+ mf5b()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0170/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0170/DECL.asl
new file mode 100644
index 000000000..b37c980e0
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0170/DECL.asl
@@ -0,0 +1,60 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 170:
+ *
+ * SUMMARY: identical to bug 191
+ *
+ * see if to rewrite it for Fields but not for BufferFields
+ */
+
+ Method(mf5c)
+ {
+ Name(b010, Buffer(4) {1,0x77,3,4})
+ CreateField(b010, 8, 8, bf90)
+
+ Store(ObjectType(bf90), Local0)
+
+ if (LNotEqual(Local0, 14)) {
+ err("", zFFF, 0x000, 0, 0, Local0, 14)
+ } else {
+
+ CopyObject(0x9999992b, bf90)
+
+ Store(ObjectType(bf90), Local1)
+
+ if (LNotEqual(Local1, Local0)) {
+ err("", zFFF, 0x001, 0, 0, Local1, Local0)
+ } elseif (LNotEqual(bf90, 0x2b)) {
+ err("", zFFF, 0x002, 0, 0, bf90, 0x2b)
+ }
+ }
+ }
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0170/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0170/MAIN.asl
new file mode 100644
index 000000000..f651310f0
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0170/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B170.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0170/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0170/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0170/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0170/RUN.asl
new file mode 100644
index 000000000..6baa2d162
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0170/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 170", TCLD, 170, W017)) {
+ SRMT("mf5c")
+ mf5c()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0171_ACTION_REQUIRED/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0171_ACTION_REQUIRED/DECL.asl
new file mode 100644
index 000000000..f066b993b
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0171_ACTION_REQUIRED/DECL.asl
@@ -0,0 +1,59 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 171:
+ *
+ * SUMMARY: Improper Integer to String implicit conversion in a specific case
+ *
+ * COMMENT:
+ *
+ * The demo program shows that the result
+ * of Integer to String implicit conversion
+ * in 32-bit mode can look like 64-bit mode
+ * takes place.
+ * The ComplianceRevision field of the demo program
+ * should be 2, but run ASL compiler with "-r 1" option.
+ * The anomaly is not observed when AML code is obtained
+ * with "-r 1 -oa" options.
+ */
+
+ Method(mf5e)
+ {
+ Store(LEqual("C179B3FE", 0xc179b3fe), Local0)
+ if (LNotEqual(Local0, Ones)) {
+ err("", zFFF, 0x000, 0, 0, Local0, Ones)
+ }
+
+ Store(LEqual(0xc179b3fe, "C179B3FE"), Local0)
+ if (LNotEqual(Local0, Ones)) {
+ err("", zFFF, 0x001, 0, 0, Local0, Ones)
+ }
+ }
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0171_ACTION_REQUIRED/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0171_ACTION_REQUIRED/MAIN.asl
new file mode 100644
index 000000000..42b17f775
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0171_ACTION_REQUIRED/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B171.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0171_ACTION_REQUIRED/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0171_ACTION_REQUIRED/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0171_ACTION_REQUIRED/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0171_ACTION_REQUIRED/RUN.asl
new file mode 100644
index 000000000..d8c1df4c8
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0171_ACTION_REQUIRED/RUN.asl
@@ -0,0 +1,40 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 171", TCLD, 171, W017)) {
+ SRMT("mf5e")
+ if (F64) {
+ SKIP()
+ } else {
+ mf5e()
+ }
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0172_OUTSTAND_ALLOC/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0172_OUTSTAND_ALLOC/DECL.asl
new file mode 100644
index 000000000..73afb35d0
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0172_OUTSTAND_ALLOC/DECL.asl
@@ -0,0 +1,51 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 172:
+ *
+ * SUMMARY: Outstanding allocations to be investigated
+ *
+ * COMMENT:
+ *
+ * The message Outstanding: 0xFFFFFFFE allocations after execution
+ * is caused by the Store(id1e, ) operations (see demo).
+ * There is no any visible reason to get it.
+ * The cause should be investigated (and eliminated).
+ */
+
+ Method(mf5f)
+ {
+ Store(id1e, ed04)
+ Store(id1e, pd10)
+
+// Store("Outstanding allocations to be investigated!", Debug)
+// err("", zFFF, 0x000, 0, 0, 0, 0)
+ }
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0172_OUTSTAND_ALLOC/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0172_OUTSTAND_ALLOC/MAIN.asl
new file mode 100644
index 000000000..344db7366
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0172_OUTSTAND_ALLOC/MAIN.asl
@@ -0,0 +1,58 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B172.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/common/DECL.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0172_OUTSTAND_ALLOC/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0172_OUTSTAND_ALLOC/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0172_OUTSTAND_ALLOC/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0172_OUTSTAND_ALLOC/RUN.asl
new file mode 100644
index 000000000..0ae13c2fa
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0172_OUTSTAND_ALLOC/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 172", TCLD, 172, W017)) {
+ SRMT("mf5f")
+ mf5f()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0173_DEMO_IMPOSSIBLE/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0173_DEMO_IMPOSSIBLE/DECL.asl
new file mode 100644
index 000000000..9d8ca19ef
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0173_DEMO_IMPOSSIBLE/DECL.asl
@@ -0,0 +1,54 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 173:
+ *
+ * SUMMARY: Two the same fragments of code should be compacted to one
+ */
+
+COMMENT
+
+There are two the same fragments of code in the same routine
+(AcpiExResolveMultiple, file interpreter/executer/exresolv.c)
+which could be compacted to one. The patch attached provides
+that minor update.
+
+The only difference between the two fragments of code (34 lines each)
+is like this:
+
+ .............................
+ < case AML_REF_OF_OP:
+ ---
+ > case AML_INT_NAMEPATH_OP:
+ < Node = ObjDesc->Reference.Object;
+ ---
+ > Node = ObjDesc->Reference.Node;
+ .............................
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0174/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0174/DECL.asl
new file mode 100644
index 000000000..ba8292214
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0174/DECL.asl
@@ -0,0 +1,42 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 174:
+ *
+ * SUMMARY: Inappropriate constant in DescriptorType field of the Descriptor->Address64 structure
+ */
+
+ Method(mf60)
+ {
+ if (LNotEqual(rtd1, bd0c)) {
+ err("", zFFF, 0x000, 0, 0, rtd1, bd0c)
+ }
+ }
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0174/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0174/MAIN.asl
new file mode 100644
index 000000000..21f6aa18c
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0174/MAIN.asl
@@ -0,0 +1,58 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B174.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/common/DECL.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0174/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0174/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0174/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0174/RUN.asl
new file mode 100644
index 000000000..28716465c
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0174/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 174", TCLD, 174, W017)) {
+ SRMT("mf60")
+ mf60()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0175/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0175/DECL.asl
new file mode 100644
index 000000000..96fdf6b5f
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0175/DECL.asl
@@ -0,0 +1,55 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 175:
+ *
+ * SUMMARY: Unexpected exception on Store of ThermalZone to Debug operation
+ */
+
+Method(mf5d)
+{
+ CH03("", 0, 0x000, 0, 0)
+
+ Store(prd1, Debug)
+ Store(rd06, Debug)
+ Store(pwd1, Debug)
+ Store(ed03, Debug)
+ Store(mxd2, Debug)
+ Store(dd0c, Debug)
+
+ // Unexpected exception
+
+ Store("Printing ThermalZone:", Debug)
+
+ Store(tzd1, Debug)
+
+ CH03("", 0, 0x001, 0, 0)
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0175/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0175/MAIN.asl
new file mode 100644
index 000000000..169416523
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0175/MAIN.asl
@@ -0,0 +1,58 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B175.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/common/DECL.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0175/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0175/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0175/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0175/RUN.asl
new file mode 100644
index 000000000..69a9bfe26
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0175/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 175", TCLD, 175, W017)) {
+ SRMT("mf5d")
+ mf5d()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0176/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0176/DECL.asl
new file mode 100644
index 000000000..42c48ab4e
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0176/DECL.asl
@@ -0,0 +1,54 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 176:
+ *
+ * SUMMARY: Store-to-Debug an element of Package having reference to itself results in an infinite loop
+ */
+
+ Method(me59)
+ {
+ Name(p000, Package(32) { 0, p000 })
+
+ Store(Index(p000, 0), Local0)
+ Store(Local0, Local1)
+ Store(Local0, Debug)
+ }
+
+ Method(me5a)
+ {
+ Name(p000, Package(32) { 0, p000 })
+
+ Index(p000, 0, Local0)
+ Store(Local0, Local1)
+ Store(Local0, Debug)
+
+ }
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0176/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0176/MAIN.asl
new file mode 100644
index 000000000..55b84a8f0
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0176/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B176.aml", // Output filename
+ "DSDT", // Signature
+ 0x01, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0176/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0176/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0176/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0176/RUN.asl
new file mode 100644
index 000000000..6a17930cc
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0176/RUN.asl
@@ -0,0 +1,46 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 176", TCLD, 176, W017)) {
+ SRMT("me59")
+ if (y176) {
+ me59()
+ } else {
+ BLCK()
+ }
+ SRMT("me5a")
+ if (y176) {
+ me5a()
+ } else {
+ BLCK()
+ }
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0177/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0177/DECL.asl
new file mode 100644
index 000000000..4fc4def6a
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0177/DECL.asl
@@ -0,0 +1,125 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 177:
+ *
+ * SUMMARY: Exception BUFFER_LIMIT occurs instead of STRING_LIMIT one
+ */
+
+ Method(mf07)
+ {
+ Name(i000, 1)
+ OperationRegion(r000, SystemMemory, 0, i000)
+ Field(r000, ByteAcc, NoLock, Preserve) {f000, 8}
+ Field(r000, ByteAcc, NoLock, Preserve) {f001, 9}
+
+ Name(p000, Package(2){0, 1})
+ Name(b000, Buffer(3){2, 3, 4})
+ Name(s000, "5678")
+
+ Name(i001, 0)
+ OperationRegion(r001, SystemMemory, 0x100, 0x100)
+ Field(r001, ByteAcc, NoLock, Preserve) { bnk0, 2 }
+ BankField(r001, bnk0, 4, ByteAcc, NoLock, Preserve) { bkf0, 9 }
+
+ // Named
+
+ CH03("", 0, 0x000, 0, 0)
+ Index(p000, 2)
+ CH04("", 0, 55, 0, 0x001, 0, 0) // AE_AML_PACKAGE_LIMIT
+
+ CH03("", 0, 0x002, 0, 0)
+ Index(b000, 3)
+ CH04("", 0, 54, 0, 0x003, 0, 0) // AE_AML_BUFFER_LIMIT
+
+ CH03("", 0, 0x004, 0, 0)
+ Index(s000, 4)
+ CH04("", 0, 61, 0, 0x005, 0, 0) // AE_AML_STRING_LIMIT
+
+ // Immediate
+
+ CH03("", 0, 0x006, 0, 0)
+ Index(Package(2){0, 1}, 2)
+ if (y900) {
+ CH04("", 0, 55, 0, 0x007, 0, 0) // AE_AML_PACKAGE_LIMIT
+ } else {
+ CH04("", 0, 85, 0, 0x008, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+ }
+
+ CH03("", 0, 0x009, 0, 0)
+ Index(Buffer(3){2, 3, 4}, 3)
+ if (y900) {
+ CH04("", 0, 54, 0, 0x00a, 0, 0) // AE_AML_BUFFER_LIMIT
+ } else {
+ CH04("", 0, 85, 0, 0x00b, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+ }
+
+ CH03("", 0, 0x00c, 0, 0)
+ Index("5678", 4)
+ if (y900) {
+ CH04("", 0, 61, 0, 0x00d, 0, 0) // AE_AML_STRING_LIMIT
+ } else {
+ CH04("", 0, 85, 0, 0x00e, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+ }
+
+ // Fields
+
+ CH03("", 0, 0x00f, 0, 0)
+ Store(f000, Local0)
+ CH03("", 0, 0x010, 0, 0)
+
+ CH03("", 0, 0x011, 0, 0)
+ Store(f001, Local0)
+ if (y263) {
+ /*
+ * After the bug 263 fixed we started actually
+ * have there several exceptions:
+ * - on evaluation of f001 stage
+ * - and on Store-to-debug stage
+ * Check opcode of the last exception.
+ */
+ CH04("", 2, 53, 0, 0x013, 0, 0) // AE_AML_REGION_LIMIT
+ } else {
+ CH04("", 0, 53, 0, 0x013, 0, 0) // AE_AML_REGION_LIMIT
+ }
+
+ CH03("", 0, 0x014, 0, 0)
+ Store(bkf0, Local0)
+ if (y263) {
+ /* See comment to sub-test above */
+ CH04("", 2, 68, 0, 0x016, 0, 0) // AE_AML_REGISTER_LIMIT
+ } else {
+ CH04("", 0, 68, 0, 0x016, 0, 0) // AE_AML_REGISTER_LIMIT
+ }
+ }
+
+
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0177/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0177/MAIN.asl
new file mode 100644
index 000000000..9ce844c5e
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0177/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B177.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0177/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0177/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0177/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0177/RUN.asl
new file mode 100644
index 000000000..c3d6702e5
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0177/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 177", TCLD, 177, W017)) {
+ SRMT("mf07")
+ mf07()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0178/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0178/DECL.asl
new file mode 100644
index 000000000..24067b3d8
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0178/DECL.asl
@@ -0,0 +1,115 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 178:
+ *
+ * SUMMARY: Unexpected exception occurs on access to the Fields specified by BankField
+ */
+
+ Method(mf0a)
+ {
+ OperationRegion(r000, SystemMemory, 0x100, 0x100)
+ Field(r000, ByteAcc, NoLock, Preserve) { bnk0, 2 }
+ BankField(r000, bnk0, 4, ByteAcc, NoLock, Preserve) { bkf0, 9 }
+
+
+ CH03("", 0, 0x000, 0, 0)
+ Store(bkf0, Local0)
+
+ if (y263) {
+ /*
+ * After the bug 263 fixed we started actually
+ * have there several exceptions:
+ * - on evaluation of f001 stage
+ * - and on Store-to-debug stage
+ * Check opcode of the last exception.
+ */
+ CH04("", 2, 68, 0, 0x001, 0, 0) // AE_AML_REGISTER_LIMIT
+ } else {
+ CH04("", 0, 68, 0, 0x001, 0, 0) // AE_AML_REGISTER_LIMIT
+ }
+ }
+
+ Method(mf0b)
+ {
+ Name(i000, 4)
+ OperationRegion(r000, SystemMemory, 0x100, 0x100)
+ Field(r000, ByteAcc, NoLock, Preserve) { bnk0, 2 }
+ BankField(r000, bnk0, i000, ByteAcc, NoLock, Preserve) { bkf0, 9 }
+
+
+ CH03("", 0, 0x002, 0, 0)
+ Store(bkf0, Local0)
+ CH04("", 0, 68, 0, 0x003, 0, 0) // AE_AML_REGISTER_LIMIT
+ }
+
+ Method(mf0c)
+ {
+ OperationRegion(r000, SystemMemory, 0x100, 0x100)
+ Field(r000, ByteAcc, NoLock, Preserve) { bnk0, 2 }
+ BankField(r000, bnk0, 0, ByteAcc, NoLock, Preserve) { bkf0, 9 }
+
+
+ CH03("", 0, 0x004, 0, 0)
+ Store(bkf0, Local0)
+ CH03("", 0, 0x005, 0, 0)
+ }
+
+ Method(mf0d)
+ {
+ Name(i000, 0)
+ OperationRegion(r000, SystemMemory, 0x100, 0x100)
+ Field(r000, ByteAcc, NoLock, Preserve) { bnk0, 2 }
+ BankField(r000, bnk0, Add(i000, 0), ByteAcc, NoLock, Preserve) { bkf0, 9 }
+
+
+ CH03("", 0, 0x006, 0, 0)
+ Store(bkf0, Local0)
+ CH03("", 0, 0x007, 0, 0)
+ }
+
+ Method(mf0e)
+ {
+ Name(i000, 0)
+ OperationRegion(r000, SystemMemory, 0x100, 0x100)
+ Field(r000, ByteAcc, NoLock, Preserve) { bnk0, 2 }
+ BankField(r000, bnk0, i000, ByteAcc, NoLock, Preserve) { bkf0, 9 }
+
+
+ CH03("", 0, 0x008, 0, 0)
+ Store(bkf0, Local0)
+ CH03("", 0, 0x009, 0, 0)
+ }
+
+
+
+
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0178/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0178/MAIN.asl
new file mode 100644
index 000000000..5f75ecac0
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0178/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B178.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0178/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0178/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0178/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0178/RUN.asl
new file mode 100644
index 000000000..8447d8074
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0178/RUN.asl
@@ -0,0 +1,50 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 178", TCLD, 178, W017)) {
+ SRMT("mf0a")
+ mf0a()
+ SRMT("mf0b")
+ mf0b()
+ SRMT("mf0c")
+ mf0c()
+
+ SRMT("mf0d")
+ if (y178) {
+ mf0d()
+ } else {
+ BLCK()
+ }
+
+ SRMT("mf0e")
+ mf0e()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0179/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0179/DECL.asl
new file mode 100644
index 000000000..884562c5f
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0179/DECL.asl
@@ -0,0 +1,44 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 179:
+ *
+ * SUMMARY: ConcatenateResTemplate operation falls into an endless loop
+ */
+
+ Method(mf58)
+ {
+ Store(ConcatenateResTemplate(rtd0, rtd0), Local0)
+
+ if (LNotEqual(Local0, bd0b)) {
+ err("", zFFF, 0x000, 0, 0, Local0, 256)
+ }
+ }
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0179/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0179/MAIN.asl
new file mode 100644
index 000000000..7dd93dba2
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0179/MAIN.asl
@@ -0,0 +1,58 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B179.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/common/DECL.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0179/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0179/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0179/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0179/RUN.asl
new file mode 100644
index 000000000..72fd78506
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0179/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 179", TCLD, 179, W017)) {
+ SRMT("mf58")
+ mf58()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0180_ASL_RUNTIME/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0180_ASL_RUNTIME/DECL.asl
new file mode 100644
index 000000000..eb0792656
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0180_ASL_RUNTIME/DECL.asl
@@ -0,0 +1,75 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 0180:
+ *
+ * SUMMARY: Failed to compiler Switch/Case operators
+ */
+
+Method(me89, 1)
+{
+ Store(0xff, Local0)
+
+ Switch (arg0) {
+ Case (0) {
+ Store(0, Local0)
+ }
+ Case (1) {
+ Store(1, Local0)
+ }
+ Default {
+ Store(2, Local0)
+ }
+ }
+
+ if (LEqual(arg0, 0)) {
+ if (LNotEqual(Local0, 0)) {
+ err("", zFFF, 0x000, 0, 0, Local0, 0)
+ }
+ }
+ if (LEqual(arg0, 1)) {
+ if (LNotEqual(Local0, 1)) {
+ err("", zFFF, 0x000, 0, 0, Local0, 1)
+ }
+ }
+ if (LEqual(arg0, 2)) {
+ if (LNotEqual(Local0, 2)) {
+ err("", zFFF, 0x000, 0, 0, Local0, 2)
+ }
+ }
+}
+
+Method(me8a)
+{
+ me89(0)
+ me89(1)
+ me89(2)
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0180_ASL_RUNTIME/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0180_ASL_RUNTIME/MAIN.asl
new file mode 100644
index 000000000..8c6408cc7
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0180_ASL_RUNTIME/MAIN.asl
@@ -0,0 +1,58 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B180.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/common/DECL.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0180_ASL_RUNTIME/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0180_ASL_RUNTIME/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0180_ASL_RUNTIME/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0180_ASL_RUNTIME/RUN.asl
new file mode 100644
index 000000000..1e5c32ec1
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0180_ASL_RUNTIME/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 180", TCLD, 180, W017)) {
+ SRMT("me8a")
+ me8a()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0181_ASL_RUNTIME/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0181_ASL_RUNTIME/DECL.asl
new file mode 100644
index 000000000..387fc34bb
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0181_ASL_RUNTIME/DECL.asl
@@ -0,0 +1,46 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 0181:
+ *
+ * SUMMARY: Failed to compiler specific Method
+ */
+
+Method(me8b)
+{
+ Name(i000, 0)
+ Method(mm20, 1, , , , {{IntObj}}) {Store(32, i000)}
+ mm20(1)
+
+ if (LNotEqual(i000, 32)) {
+ err("", zFFF, 0x000, 0, 0, i000, 32)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0181_ASL_RUNTIME/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0181_ASL_RUNTIME/MAIN.asl
new file mode 100644
index 000000000..fbe36b271
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0181_ASL_RUNTIME/MAIN.asl
@@ -0,0 +1,58 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B181.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/common/DECL.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0181_ASL_RUNTIME/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0181_ASL_RUNTIME/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0181_ASL_RUNTIME/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0181_ASL_RUNTIME/RUN.asl
new file mode 100644
index 000000000..6b7f4002b
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0181_ASL_RUNTIME/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 181", TCLD, 181, W017)) {
+ SRMT("me8b")
+ me8b()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0182/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0182/DECL.asl
new file mode 100644
index 000000000..e94ced739
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0182/DECL.asl
@@ -0,0 +1,74 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 182:
+ *
+ * SUMMARY: Exception on a specific declarations of objects of the same name
+ *
+ * (no exception is expected here because id23 has already
+ * been defined at the first use of it).
+ */
+
+Name(id23, 0xabcd0000)
+
+Method (mf78)
+{
+ CH03("", 0, 0x000, 0, 0)
+
+ if (LNotEqual(id23, 0xabcd0000)) {
+ err("", zFFF, 0x001, 0, 0, id23, 0xabcd0000)
+ }
+
+ Name (id23, 0xabcd0001)
+
+ if (LNotEqual(id23, 0xabcd0001)) {
+ err("", zFFF, 0x002, 0, 0, id23, 0xabcd0001)
+ }
+
+ CH03("", 0, 0x003, 0, 0)
+}
+
+/*
+ * ATTENTION: i9z8 should be unique in the namespace,
+ * not declared somewhere else in the NS tree.
+ */
+Method (mf85)
+{
+ CH03("", 0, 0x004, 0, 0)
+
+ if (LNotEqual(i9z8, 0xabcd0001)) {
+ err("", zFFF, 0x005, 0, 0, i9z8, 0xabcd0001)
+ }
+
+ Name (i9z8, 0xabcd0001)
+
+ CH04("", 0, 0xff, 0, 0x006, 0, 0)
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0182/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0182/MAIN.asl
new file mode 100644
index 000000000..a45432894
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0182/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B182.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0182/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0182/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0182/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0182/RUN.asl
new file mode 100644
index 000000000..5a3f4d867
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0182/RUN.asl
@@ -0,0 +1,38 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 182", TCLD, 182, W017)) {
+ SRMT("mf78")
+ mf78()
+ SRMT("mf85")
+ mf85()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0183/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0183/DECL.asl
new file mode 100644
index 000000000..3437a9582
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0183/DECL.asl
@@ -0,0 +1,64 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 183:
+ *
+ * SUMMARY: Stack OverFlow of ASL compiler on processing the specific recursive method call
+ */
+
+Method(mf79, 1)
+{
+ if (Arg0) {
+ Return (mf79(Subtract(Arg0, 1)))
+ } else {
+ Return (0)
+ }
+}
+
+Method(mf7a)
+{
+ CH03("", 0, 0x000, 0, 0)
+
+ Store("mf79(250):", Debug)
+ Store(mf79(250), Debug)
+
+ CH03("", 0, 0x001, 0, 0)
+}
+
+Method(m27e)
+{
+ CH03("", 0, 0x002, 0, 0)
+
+ Store("mf79(248):", Debug)
+ Store(mf79(248), Debug)
+
+ CH03("", 0, 0x003, 0, 0)
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0183/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0183/MAIN.asl
new file mode 100644
index 000000000..08ae34ac7
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0183/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B183.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0183/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0183/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0183/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0183/RUN.asl
new file mode 100644
index 000000000..ebd4368a3
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0183/RUN.asl
@@ -0,0 +1,42 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 183", TCLD, 183, W017)) {
+ SRMT("mf7a")
+ if (y200) {
+ mf7a()
+ } else {
+ BLCK()
+ }
+ SRMT("m27e")
+ m27e()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0184/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0184/DECL.asl
new file mode 100644
index 000000000..87c57cdcf
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0184/DECL.asl
@@ -0,0 +1,50 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 184:
+ *
+ * SUMMARY: Nesting Methods cause exceptions
+ */
+
+Method(mf7b)
+{
+ Method(m000)
+ {
+ Store ("m000", Debug)
+ }
+
+ Store ("mf7b", Debug)
+
+ CH03("", 0, 0x000, 0, 0)
+ m000()
+ CH03("", 0, 0x001, 0, 0)
+}
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0184/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0184/MAIN.asl
new file mode 100644
index 000000000..0bb03723e
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0184/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B184.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0184/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0184/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0184/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0184/RUN.asl
new file mode 100644
index 000000000..647820877
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0184/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 184", TCLD, 184, W017)) {
+ SRMT("mf7b")
+ mf7b()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0185/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0185/DECL.asl
new file mode 100644
index 000000000..1a05f5925
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0185/DECL.asl
@@ -0,0 +1,98 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 185:
+ *
+ * SUMMARY: In a slack mode Method should implicitly return zero (0) as a default value
+ */
+
+
+Method(mfc2)
+{
+ Name(fl00, 0)
+ Name(i000, 0xabcd0000)
+ Name(i001, 0xabcd0001)
+
+ Method(m000)
+ {
+ if (fl00) {
+ Return (0)
+ }
+ }
+
+ Method(m009)
+ {
+ Method(m000)
+ {
+ }
+
+ if (fl00) {
+ Return (0)
+ }
+
+ m000()
+ }
+
+
+ // m000
+
+ Store(0xdddd9000, i000)
+
+ CH03("", 0, 0x000, 0, 0)
+
+ Store(m000, i000)
+
+ if (SLCK) {
+ CH03("", 0, 0x001, 0, 0)
+ if (LNotEqual(i000, 0)) {
+ err("", zFFF, 0x002, 0, 0, i000, 0)
+ }
+ } else {
+ CH07("", 0, 0xff, 0, 0x003, 0, 0)
+ }
+
+ // m009
+
+ Store(0xdddd9000, i000)
+
+ CH03("", 0, 0x004, 0, 0)
+
+ Store(m009, i000)
+
+ if (SLCK) {
+ CH03("", 0, 0x005, 0, 0)
+ if (LNotEqual(i000, 0)) {
+ err("", zFFF, 0x006, 0, 0, i000, 0)
+ }
+ } else {
+ CH07("", 0, 0xff, 0, 0x007, 0, 0)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0185/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0185/MAIN.asl
new file mode 100644
index 000000000..7bea60d81
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0185/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B185.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0185/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0185/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0185/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0185/RUN.asl
new file mode 100644
index 000000000..9646e550b
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0185/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 185", TCLD, 185, W017)) {
+ SRMT("mfc2")
+ mfc2()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0186/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0186/DECL.asl
new file mode 100644
index 000000000..21da4b7b3
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0186/DECL.asl
@@ -0,0 +1,125 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 186:
+ *
+ * SUMMARY: The predicate value of If/While operations is not implicitly returned in slack mode
+ */
+
+
+Method(mf6d)
+{
+ Name(fl00, 0)
+ Name(i000, 0xabcd0000)
+ Name(i001, 0xabcd0001)
+
+ Method(m000)
+ {
+ Switch (Store(0xabcd0000, i001)) {
+ Case (0) {
+ if (fl00) {
+ Return (0)
+ }
+ }
+ }
+ }
+
+ Method(m001)
+ {
+ if (Store(0xabcd0001, i001)) {
+ if (fl00) {
+ Return (0)
+ }
+ }
+ }
+
+ Method(m002)
+ {
+ While (Store(0xabcd0002, i001)) {
+ if (fl00) {
+ Return (0)
+ }
+ Break
+ }
+ }
+
+
+ // m000
+
+ Store(0xdddd0000, i000)
+
+ CH03("", 0, 0x000, 0, 0)
+
+ Store(m000, i000)
+
+ if (SLCK) {
+ CH03("", 0, 0x001, 0, 0)
+ if (LNotEqual(i000, 0xabcd0000)) {
+ err("", zFFF, 0x002, 0, 0, i000, 0xabcd0000)
+ }
+ } else {
+ CH07("", 0, 0xff, 0, 0x003, 0, 0)
+ }
+
+ // m001
+
+ Store(0xdddd0001, i000)
+
+ CH03("", 0, 0x004, 0, 0)
+
+ Store(m001, i000)
+
+ if (SLCK) {
+ CH03("", 0, 0x005, 0, 0)
+ if (LNotEqual(i000, 0xabcd0001)) {
+ err("", zFFF, 0x006, 0, 0, i000, 0xabcd0001)
+ }
+ } else {
+ CH07("", 0, 0xff, 0, 0x007, 0, 0)
+ }
+
+ // m002
+
+ Store(0xdddd0002, i000)
+
+ CH03("", 0, 0x008, 0, 0)
+
+ Store(m001, i000)
+
+ if (SLCK) {
+ CH03("", 0, 0x009, 0, 0)
+ if (LNotEqual(i000, 0xabcd0002)) {
+ err("", zFFF, 0x00a, 0, 0, i000, 0xabcd0002)
+ }
+ } else {
+ CH07("", 0, 0xff, 0, 0x00b, 0, 0)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0186/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0186/MAIN.asl
new file mode 100644
index 000000000..4fcc51636
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0186/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B186.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0186/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0186/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0186/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0186/RUN.asl
new file mode 100644
index 000000000..35995f8b7
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0186/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 186", TCLD, 186, W017)) {
+ SRMT("mf6d")
+ mf6d()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0187/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0187/DECL.asl
new file mode 100644
index 000000000..ded039cbf
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0187/DECL.asl
@@ -0,0 +1,62 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 187:
+ *
+ * SUMMARY: No exception in non-slack mode on attempt to obtain value from Method terminated by the standalone Return
+ */
+
+Method(mf70)
+{
+ Name(i000, 0xabcd0000)
+
+ Method(m000)
+ {
+ Return
+ }
+
+ // m000
+
+ Store(0xdddd9000, i000)
+
+ CH03("", 0, 0x000, 0, 0)
+
+ Store(m000(), i000)
+
+ if (SLCK) {
+ CH03("", 0, 0x001, 0, 0)
+ if (LNotEqual(i000, 0)) {
+ err("", zFFF, 0x002, 0, 0, i000, 0)
+ }
+ } else {
+ CH07("", 0, 0xff, 0, 0x003, 0, 0)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0187/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0187/MAIN.asl
new file mode 100644
index 000000000..2c09dcb45
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0187/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B187.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0187/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0187/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0187/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0187/RUN.asl
new file mode 100644
index 000000000..6301ff981
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0187/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 187", TCLD, 187, W017)) {
+ SRMT("mf70")
+ mf70()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0188/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0188/DECL.asl
new file mode 100644
index 000000000..148cdf979
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0188/DECL.asl
@@ -0,0 +1,60 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 188:
+ *
+ * SUMMARY: ConcatenateResTemplate doesn't consume an empty buffer
+ */
+
+Method(mf7c)
+{
+ Name(b000, Buffer() {0x22, 0x02, 0x00, 0x79, 0x00})
+ Name(RT00, ResourceTemplate () {IRQNoFlags () {1}})
+
+ // Empty buffer
+
+ CH03("", 0, 0x000, 0, 0)
+
+ Store(0, Local0)
+ Store(Buffer(Local0){}, Local1)
+
+ Store(ConcatenateResTemplate(RT00, Local1), Local2)
+
+ if (LNotEqual(Local2, b000)) {
+ err("", zFFF, 0x001, 0, 0, Local2, b000)
+ }
+
+ if (LNotEqual(RT00, b000)) {
+ err("", zFFF, 0x002, 0, 0, RT00, b000)
+ }
+
+ CH03("", 0, 0x003, 0, 0)
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0188/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0188/MAIN.asl
new file mode 100644
index 000000000..6a77c3a70
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0188/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B188.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0188/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0188/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0188/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0188/RUN.asl
new file mode 100644
index 000000000..6a2da7601
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0188/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 188", TCLD, 188, W017)) {
+ SRMT("mf7c")
+ mf7c()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0189/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0189/DECL.asl
new file mode 100644
index 000000000..80160d95d
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0189/DECL.asl
@@ -0,0 +1,55 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 189:
+ *
+ * SUMMARY: The 1-byte buffer passed to ConcatenateResTemplate doesn't cause a run-time error
+ */
+
+Method(mf7d)
+{
+ Name(RT00, ResourceTemplate () {IRQNoFlags () {1}})
+
+ Store(Buffer(){0x79}, Local0)
+
+ CH03("", 0, 0x000, 0, 0)
+
+ ConcatenateResTemplate(RT00, Local0)
+
+ CH04("", 0, 0xff, 0, 0x001, 0, 0)
+
+ Store(Buffer(){0x78}, Local0)
+
+ ConcatenateResTemplate(RT00, Local0)
+
+ CH04("", 0, 0xff, 0, 0x002, 0, 0)
+}
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0189/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0189/MAIN.asl
new file mode 100644
index 000000000..1becb34bb
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0189/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B189.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0189/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0189/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0189/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0189/RUN.asl
new file mode 100644
index 000000000..424ac5604
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0189/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 189", TCLD, 189, W017)) {
+ SRMT("mf7d")
+ mf7d()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0190/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0190/DECL.asl
new file mode 100644
index 000000000..73824f602
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0190/DECL.asl
@@ -0,0 +1,50 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 190:
+ *
+ * SUMMARY: In ConcatenateResTemplate an operand ending only with the first byte of the end tag doesn't cause a run-time error
+ */
+
+Method(mf7e)
+{
+ Name(RT00, ResourceTemplate () {IRQNoFlags () {1}})
+
+ // Nearly resource template buffer
+
+ Store(Buffer(){0x2a, 0x10, 0x05, 0x79}, Local0)
+
+ CH03("", 0, 0x000, 0, 0)
+
+ ConcatenateResTemplate(RT00, Local0)
+
+ CH04("", 0, 0xff, 0, 0x001, 0, 0)
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0190/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0190/MAIN.asl
new file mode 100644
index 000000000..d437531db
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0190/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B190.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0190/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0190/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0190/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0190/RUN.asl
new file mode 100644
index 000000000..e92a215ad
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0190/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 190", TCLD, 190, W017)) {
+ SRMT("mf7e")
+ mf7e()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0191/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0191/DECL.asl
new file mode 100644
index 000000000..29195b705
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0191/DECL.asl
@@ -0,0 +1,61 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 191:
+ *
+ * SUMMARY: CopyObject to Buffer Field specification/implementation should be clarified/fixed
+ */
+
+Method(mfa3)
+{
+ CreateField(bd0e, 8, 8, bf90)
+
+ Store(ObjectType(bf90), Local0)
+ if (LNotEqual(Local0, 14)) {
+ err("", zFFF, 0x000, 0, 0, Local0, 14)
+ }
+
+ if (LNotEqual(bf90, 0x77)) {
+ err("", zFFF, 0x001, 0, 0, bf90, 0x77)
+ }
+
+ CopyObject(0x9999992b, bf90)
+
+ Store(ObjectType(bf90), Local0)
+ if (LNotEqual(Local0, 14)) {
+ err("", zFFF, 0x002, 0, 0, Local0, 14)
+ }
+
+ if (LNotEqual(bf90, 0x2b)) {
+ err("", zFFF, 0x003, 0, 0, bf90, 0x2b)
+ Store(bf90, Debug)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0191/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0191/MAIN.asl
new file mode 100644
index 000000000..dbf16a046
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0191/MAIN.asl
@@ -0,0 +1,58 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B191.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/common/DECL.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0191/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0191/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0191/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0191/RUN.asl
new file mode 100644
index 000000000..5b882ba13
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0191/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 191", TCLD, 191, W017)) {
+ SRMT("mfa3")
+ mfa3()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0192/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0192/DECL.asl
new file mode 100644
index 000000000..5ce1168a0
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0192/DECL.asl
@@ -0,0 +1,1169 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 192:
+ *
+ * SUMMARY: Incorrect value of Bank register after storing to its banked field
+ */
+
+Method(mfa4)
+{
+ // CHK0 (CheckValue, BenchMarkValue, CheckNum)
+ Method(CHK0, 3)
+ {
+ if (LNotEqual(arg0, arg1)) {
+ err("", zFFF, arg2, 0, 0, arg0, arg1)
+ }
+ }
+
+ // 8-bit Bank field
+ Method(m010)
+ {
+ OperationRegion(r000, SystemMemory, 0x100, 0x100)
+ Field (r000, ByteAcc, NoLock, Preserve) {
+ bnk0, 8
+ }
+
+ BankField (r000, bnk0, 0, ByteAcc, NoLock, Preserve) {
+ Offset(16),
+ bf00, 8,
+ }
+
+ BankField (r000, bnk0, 1, ByteAcc, NoLock, Preserve) {
+ Offset(17),
+ bf01, 8,
+ }
+
+ BankField (r000, bnk0, 0xFF, ByteAcc, NoLock, Preserve) {
+ Offset(18),
+ bfff, 8,
+ }
+
+ // Deal with 0-th bank layout:
+
+ Store(0, bnk0)
+ CHK0(bnk0, 0, 0x000)
+
+ Store(0x87, bf00)
+ CHK0(bnk0, 0, 0x001)
+ CHK0(bf00, 0x87, 0x002)
+
+ // Deal with 1-th bank layout:
+
+ Store(1, bnk0)
+ CHK0(bnk0, 1, 0x003)
+
+ Store(0, bnk0)
+ CHK0(bnk0, 0, 0x004)
+
+ Store(0x96, bf01)
+ CHK0(bnk0, 1, 0x005)
+ CHK0(bf01, 0x96, 0x006)
+
+ // Deal with 0xFF-th bank layout:
+
+ Store(0xFF, bnk0)
+ CHK0(bnk0, 0xFF, 0x007)
+
+ Store(0, bnk0)
+ CHK0(bnk0, 0, 0x008)
+
+ Store(0xC3, bfff)
+ CHK0(bnk0, 0xFF, 0x009)
+ CHK0(bfff, 0xC3, 0x00a)
+ }
+
+ // 16-bit Bank field
+ Method(m011)
+ {
+ OperationRegion(r000, SystemMemory, 0x100, 0x100)
+ Field (r000, WordAcc, NoLock, Preserve) {
+ bnk0, 16
+ }
+
+ BankField (r000, bnk0, 0, ByteAcc, NoLock, Preserve) {
+ Offset(16),
+ bf00, 8,
+ }
+
+ BankField (r000, bnk0, 1, ByteAcc, NoLock, Preserve) {
+ Offset(17),
+ bf01, 8,
+ }
+
+ BankField (r000, bnk0, 0xFFFF, ByteAcc, NoLock, Preserve) {
+ Offset(18),
+ bfff, 8,
+ }
+
+ // Deal with 0-th bank layout:
+
+ Store(0, bnk0)
+ CHK0(bnk0, 0, 0x00b)
+
+ Store(0x87, bf00)
+ CHK0(bnk0, 0, 0x00c)
+ CHK0(bf00, 0x87, 0x00d)
+
+ // Deal with 1-th bank layout:
+
+ Store(1, bnk0)
+ CHK0(bnk0, 1, 0x00e)
+
+ Store(0, bnk0)
+ CHK0(bnk0, 0, 0x00f)
+
+ Store(0x96, bf01)
+ CHK0(bnk0, 1, 0x010)
+ CHK0(bf01, 0x96, 0x011)
+
+ // Deal with 0xFFFF-th bank layout:
+
+ Store(0xFFFF, bnk0)
+ CHK0(bnk0, 0xFFFF, 0x012)
+
+ Store(0, bnk0)
+ CHK0(bnk0, 0, 0x013)
+
+ Store(0xC3, bfff)
+ CHK0(bnk0, 0xFFFF, 0x014)
+ CHK0(bfff, 0xC3, 0x015)
+ }
+
+ // 32-bit Bank field
+ Method(m012)
+ {
+ OperationRegion(r000, SystemMemory, 0x100, 0x100)
+ Field (r000, DWordAcc, NoLock, Preserve) {
+ bnk0, 32
+ }
+
+ BankField (r000, bnk0, 0, ByteAcc, NoLock, Preserve) {
+ Offset(16),
+ bf00, 8,
+ }
+
+ BankField (r000, bnk0, 1, ByteAcc, NoLock, Preserve) {
+ Offset(17),
+ bf01, 8,
+ }
+
+ BankField (r000, bnk0, 0xFFFFFFFF, ByteAcc, NoLock, Preserve) {
+ Offset(18),
+ bfff, 8,
+ }
+
+ // Deal with 0-th bank layout:
+
+ Store(0, bnk0)
+ CHK0(bnk0, 0, 0x016)
+
+ Store(0x87, bf00)
+ CHK0(bnk0, 0, 0x017)
+ CHK0(bf00, 0x87, 0x018)
+
+ // Deal with 1-th bank layout:
+
+ Store(1, bnk0)
+ CHK0(bnk0, 1, 0x019)
+
+ Store(0, bnk0)
+ CHK0(bnk0, 0, 0x01a)
+
+ Store(0x96, bf01)
+ CHK0(bnk0, 1, 0x01b)
+ CHK0(bf01, 0x96, 0x01c)
+
+ // Deal with 0xFFFFFFFF-th bank layout:
+
+ Store(0xFFFFFFFF, bnk0)
+ CHK0(bnk0, 0xFFFFFFFF, 0x01d)
+
+ Store(0, bnk0)
+ CHK0(bnk0, 0, 0x01e)
+
+ Store(0xC3, bfff)
+ CHK0(bnk0, 0xFFFFFFFF, 0x01f)
+ CHK0(bfff, 0xC3, 0x020)
+ }
+
+ // 33-bit Bank field and QWordAcc
+ Method(m013)
+ {
+ OperationRegion(r000, SystemMemory, 0x100, 0x100)
+ Field (r000, QWordAcc, NoLock, Preserve) {
+ bnk0, 33
+ }
+ BankField (r000, bnk0, 0x1FFFFFFFF, ByteAcc, NoLock, Preserve) {
+ Offset(18),
+ bfff, 8,
+ }
+
+ // Deal with 0x1FFFFFFFF-th bank layout:
+
+ Store(0x1FFFFFFFF, bnk0)
+ CHK0(bnk0, 0x1FFFFFFFF, 0x021)
+
+ Store(0, bnk0)
+ CHK0(bnk0, 0, 0x022)
+
+ Store(0xC3, bfff)
+ CHK0(bnk0, 0x1FFFFFFFF, 0x023)
+ CHK0(bfff, 0xC3, 0x024)
+ }
+
+ // BankValues set up with Integer Constants
+ Method(m001)
+ {
+ // 8-bit Bank field
+ m010()
+
+ // 16-bit Bank field
+ m011()
+
+ // 32-bit Bank field
+ m012()
+
+ // 33-bit Bank field and QWordAcc
+ if (y215) {
+ m013()
+ }
+ }
+
+ // BankValues set up with Named Integers
+
+ Name(i000, 0)
+ Name(i001, 1)
+ Name(i002, 0xFF)
+ Name(i003, 0xFFFF)
+ Name(i004, 0xFFFFFFFF)
+ Name(i005, 0x1FFFFFFFF)
+
+ // 8-bit Bank field
+ Method(m020)
+ {
+ OperationRegion(r000, SystemMemory, 0x100, 0x100)
+ Field (r000, ByteAcc, NoLock, Preserve) {
+ bnk0, 8
+ }
+
+ BankField (r000, bnk0, i000, ByteAcc, NoLock, Preserve) {
+ Offset(16),
+ bf00, 8,
+ }
+
+ BankField (r000, bnk0, i001, ByteAcc, NoLock, Preserve) {
+ Offset(17),
+ bf01, 8,
+ }
+
+ BankField (r000, bnk0, i002, ByteAcc, NoLock, Preserve) {
+ Offset(18),
+ bfff, 8,
+ }
+
+ // Deal with 0-th bank layout:
+
+ Store(0, bnk0)
+ CHK0(bnk0, 0, 0x025)
+
+ Store(0x87, bf00)
+ CHK0(bnk0, 0, 1)
+ CHK0(bf00, 0x87, 0x026)
+
+ // Deal with 1-th bank layout:
+
+ Store(1, bnk0)
+ CHK0(bnk0, 1, 0x027)
+
+ Store(0, bnk0)
+ CHK0(bnk0, 0, 0x028)
+
+ Store(0x96, bf01)
+ CHK0(bnk0, 1, 0x029)
+ CHK0(bf01, 0x96, 0x02a)
+
+ // Deal with 0xFF-th bank layout:
+
+ Store(0xFF, bnk0)
+ CHK0(bnk0, 0xFF, 0x02b)
+
+ Store(0, bnk0)
+ CHK0(bnk0, 0, 0x02c)
+
+ Store(0xC3, bfff)
+ CHK0(bnk0, 0xFF, 0x02d)
+ CHK0(bfff, 0xC3, 0x02e)
+ }
+
+ // 16-bit Bank field
+ Method(m021)
+ {
+ OperationRegion(r000, SystemMemory, 0x100, 0x100)
+ Field (r000, WordAcc, NoLock, Preserve) {
+ bnk0, 16
+ }
+
+ BankField (r000, bnk0, i000, ByteAcc, NoLock, Preserve) {
+ Offset(16),
+ bf00, 8,
+ }
+
+ BankField (r000, bnk0, i001, ByteAcc, NoLock, Preserve) {
+ Offset(17),
+ bf01, 8,
+ }
+
+ BankField (r000, bnk0, i003, ByteAcc, NoLock, Preserve) {
+ Offset(18),
+ bfff, 8,
+ }
+
+ // Deal with 0-th bank layout:
+
+ Store(0, bnk0)
+ CHK0(bnk0, 0, 0x02f)
+
+ Store(0x87, bf00)
+ CHK0(bnk0, 0, 0x030)
+ CHK0(bf00, 0x87, 0x031)
+
+ // Deal with 1-th bank layout:
+
+ Store(1, bnk0)
+ CHK0(bnk0, 1, 0x032)
+
+ Store(0, bnk0)
+ CHK0(bnk0, 0, 0x033)
+
+ Store(0x96, bf01)
+ CHK0(bnk0, 1, 0x034)
+ CHK0(bf01, 0x96, 0x035)
+
+ // Deal with 0xFFFF-th bank layout:
+
+ Store(0xFFFF, bnk0)
+ CHK0(bnk0, 0xFFFF, 0x036)
+
+ Store(0, bnk0)
+ CHK0(bnk0, 0, 19)
+
+ Store(0xC3, bfff)
+ CHK0(bnk0, 0xFFFF, 0x037)
+ CHK0(bfff, 0xC3, 0x038)
+ }
+
+ // 32-bit Bank field
+ Method(m022)
+ {
+ OperationRegion(r000, SystemMemory, 0x100, 0x100)
+ Field (r000, DWordAcc, NoLock, Preserve) {
+ bnk0, 32
+ }
+
+ BankField (r000, bnk0, i000, ByteAcc, NoLock, Preserve) {
+ Offset(16),
+ bf00, 8,
+ }
+
+ BankField (r000, bnk0, i001, ByteAcc, NoLock, Preserve) {
+ Offset(17),
+ bf01, 8,
+ }
+
+ BankField (r000, bnk0, i004, ByteAcc, NoLock, Preserve) {
+ Offset(18),
+ bfff, 8,
+ }
+
+ // Deal with 0-th bank layout:
+
+ Store(0, bnk0)
+ CHK0(bnk0, 0, 0x039)
+
+ Store(0x87, bf00)
+ CHK0(bnk0, 0, 0x03a)
+ CHK0(bf00, 0x87, 0x03b)
+
+ // Deal with 1-th bank layout:
+
+ Store(1, bnk0)
+ CHK0(bnk0, 1, 0x03c)
+
+ Store(0, bnk0)
+ CHK0(bnk0, 0, 0x03e)
+
+ Store(0x96, bf01)
+ CHK0(bnk0, 1, 0x03f)
+ CHK0(bf01, 0x96, 0x040)
+
+ // Deal with 0xFFFFFFFF-th bank layout:
+
+ Store(0xFFFFFFFF, bnk0)
+ CHK0(bnk0, 0xFFFFFFFF, 0x041)
+
+ Store(0, bnk0)
+ CHK0(bnk0, 0, 0x042)
+
+ Store(0xC3, bfff)
+ CHK0(bnk0, 0xFFFFFFFF, 0x043)
+ CHK0(bfff, 0xC3, 0x044)
+ }
+
+ // 33-bit Bank field and QWordAcc
+ Method(m023)
+ {
+ OperationRegion(r000, SystemMemory, 0x100, 0x100)
+ Field (r000, QWordAcc, NoLock, Preserve) {
+ bnk0, 33
+ }
+ BankField (r000, bnk0, i005, ByteAcc, NoLock, Preserve) {
+ Offset(18),
+ bfff, 8,
+ }
+
+ // Deal with 0x1FFFFFFFF-th bank layout:
+
+ Store(0x1FFFFFFFF, bnk0)
+ CHK0(bnk0, 0x1FFFFFFFF, 0x045)
+
+ Store(0, bnk0)
+ CHK0(bnk0, 0, 0x04e)
+
+ Store(0xC3, bfff)
+ CHK0(bnk0, 0x1FFFFFFFF, 0x046)
+ CHK0(bfff, 0xC3, 0x047)
+ }
+
+ // BankValues set up with Named Integers
+ Method(m002)
+ {
+ // 8-bit Bank field
+ m020()
+
+ // 16-bit Bank field
+ m021()
+
+ // 32-bit Bank field
+ m022()
+
+ // 33-bit Bank field and QWordAcc
+ if (y215) {
+ m023()
+ }
+ }
+
+ // BankValues set up with LocalX
+
+ // 8-bit Bank field
+ Method(m030)
+ {
+ Store(0, Local0)
+ Store(1, Local1)
+ Store(0xFF, Local2)
+
+ OperationRegion(r000, SystemMemory, 0x100, 0x100)
+ Field (r000, ByteAcc, NoLock, Preserve) {
+ bnk0, 8
+ }
+
+ BankField (r000, bnk0, Local0, ByteAcc, NoLock, Preserve) {
+ Offset(16),
+ bf00, 8,
+ }
+
+ BankField (r000, bnk0, Local1, ByteAcc, NoLock, Preserve) {
+ Offset(17),
+ bf01, 8,
+ }
+
+ BankField (r000, bnk0, Local2, ByteAcc, NoLock, Preserve) {
+ Offset(18),
+ bfff, 8,
+ }
+
+ // Deal with 0-th bank layout:
+
+ Store(0, bnk0)
+ CHK0(bnk0, 0, 0x048)
+
+ Store(0x87, bf00)
+ CHK0(bnk0, 0, 0x049)
+ CHK0(bf00, 0x87, 0x04a)
+
+ // Deal with 1-th bank layout:
+
+ Store(1, bnk0)
+ CHK0(bnk0, 1, 0x04b)
+
+ Store(0, bnk0)
+ CHK0(bnk0, 0, 0x04c)
+
+ Store(0x96, bf01)
+ CHK0(bnk0, 1, 0x04e)
+ CHK0(bf01, 0x96, 0x04f)
+
+ // Deal with 0xFF-th bank layout:
+
+ Store(0xFF, bnk0)
+ CHK0(bnk0, 0xFF, 0x050)
+
+ Store(0, bnk0)
+ CHK0(bnk0, 0, 8)
+
+ Store(0xC3, bfff)
+ CHK0(bnk0, 0xFF, 0x051)
+ CHK0(bfff, 0xC3, 0x052)
+ }
+
+ // 16-bit Bank field
+ Method(m031)
+ {
+ Store(0, Local0)
+ Store(1, Local1)
+ Store(0xFFFF, Local3)
+
+ OperationRegion(r000, SystemMemory, 0x100, 0x100)
+ Field (r000, WordAcc, NoLock, Preserve) {
+ bnk0, 16
+ }
+
+ BankField (r000, bnk0, Local0, ByteAcc, NoLock, Preserve) {
+ Offset(16),
+ bf00, 8,
+ }
+
+ BankField (r000, bnk0, Local1, ByteAcc, NoLock, Preserve) {
+ Offset(17),
+ bf01, 8,
+ }
+
+ BankField (r000, bnk0, Local3, ByteAcc, NoLock, Preserve) {
+ Offset(18),
+ bfff, 8,
+ }
+
+ // Deal with 0-th bank layout:
+
+ Store(0, bnk0)
+ CHK0(bnk0, 0, 0x053)
+
+ Store(0x87, bf00)
+ CHK0(bnk0, 0, 0x054)
+ CHK0(bf00, 0x87, 0x055)
+
+ // Deal with 1-th bank layout:
+
+ Store(1, bnk0)
+ CHK0(bnk0, 1, 0x056)
+
+ Store(0, bnk0)
+ CHK0(bnk0, 0, 0x057)
+
+ Store(0x96, bf01)
+ CHK0(bnk0, 1, 0x058)
+ CHK0(bf01, 0x96, 0x059)
+
+ // Deal with 0xFFFF-th bank layout:
+
+ Store(0xFFFF, bnk0)
+ CHK0(bnk0, 0xFFFF, 0x05a)
+
+ Store(0, bnk0)
+ CHK0(bnk0, 0, 0x05b)
+
+ Store(0xC3, bfff)
+ CHK0(bnk0, 0xFFFF, 0x05c)
+ CHK0(bfff, 0xC3, 0x05d)
+ }
+
+ // 32-bit Bank field
+ Method(m032)
+ {
+ Store(0, Local0)
+ Store(1, Local1)
+ Store(0xFFFFFFFF, Local4)
+
+ OperationRegion(r000, SystemMemory, 0x100, 0x100)
+ Field (r000, DWordAcc, NoLock, Preserve) {
+ bnk0, 32
+ }
+
+ BankField (r000, bnk0, Local0, ByteAcc, NoLock, Preserve) {
+ Offset(16),
+ bf00, 8,
+ }
+
+ BankField (r000, bnk0, Local1, ByteAcc, NoLock, Preserve) {
+ Offset(17),
+ bf01, 8,
+ }
+
+ BankField (r000, bnk0, Local4, ByteAcc, NoLock, Preserve) {
+ Offset(18),
+ bfff, 8,
+ }
+
+ // Deal with 0-th bank layout:
+
+ Store(0, bnk0)
+ CHK0(bnk0, 0, 0x05e)
+
+ Store(0x87, bf00)
+ CHK0(bnk0, 0, 0x05f)
+ CHK0(bf00, 0x87, 0x060)
+
+ // Deal with 1-th bank layout:
+
+ Store(1, bnk0)
+ CHK0(bnk0, 1, 0x061)
+
+ Store(0, bnk0)
+ CHK0(bnk0, 0, 0x062)
+
+ Store(0x96, bf01)
+ CHK0(bnk0, 1, 0x063)
+ CHK0(bf01, 0x96, 0x064)
+
+ // Deal with 0xFFFFFFFF-th bank layout:
+
+ Store(0xFFFFFFFF, bnk0)
+ CHK0(bnk0, 0xFFFFFFFF, 0x065)
+
+ Store(0, bnk0)
+ CHK0(bnk0, 0, 0x066)
+
+ Store(0xC3, bfff)
+ CHK0(bnk0, 0xFFFFFFFF, 0x067)
+ CHK0(bfff, 0xC3, 0x068)
+ }
+
+ // 33-bit Bank field and QWordAcc
+ Method(m033)
+ {
+ Store(0x1FFFFFFFF, Local5)
+
+ OperationRegion(r000, SystemMemory, 0x100, 0x100)
+ Field (r000, QWordAcc, NoLock, Preserve) {
+ bnk0, 33
+ }
+ BankField (r000, bnk0, Local5, ByteAcc, NoLock, Preserve) {
+ Offset(18),
+ bfff, 8,
+ }
+
+ // Deal with 0x1FFFFFFFF-th bank layout:
+
+ Store(0x1FFFFFFFF, bnk0)
+ CHK0(bnk0, 0x1FFFFFFFF, 0x069)
+
+ Store(0, bnk0)
+ CHK0(bnk0, 0, 0x06a)
+
+ Store(0xC3, bfff)
+ CHK0(bnk0, 0x1FFFFFFFF, 0x06b)
+ CHK0(bfff, 0xC3, 0x06c)
+ }
+
+ // BankValues set up with LocalX
+ Method(m003)
+ {
+ // 8-bit Bank field
+ m030()
+
+ // 16-bit Bank field
+ m031()
+
+ // 32-bit Bank field
+ m032()
+
+ // 33-bit Bank field and QWordAcc
+ if (y215) {
+ m033()
+ }
+ }
+
+ // BankValues set up with ArgX
+
+ // 8-bit Bank field
+ Method(m040, 3)
+ {
+ OperationRegion(r000, SystemMemory, 0x100, 0x100)
+ Field (r000, ByteAcc, NoLock, Preserve) {
+ bnk0, 8
+ }
+
+ BankField (r000, bnk0, Arg0, ByteAcc, NoLock, Preserve) {
+ Offset(16),
+ bf00, 8,
+ }
+
+ BankField (r000, bnk0, Arg1, ByteAcc, NoLock, Preserve) {
+ Offset(17),
+ bf01, 8,
+ }
+
+ BankField (r000, bnk0, Arg2, ByteAcc, NoLock, Preserve) {
+ Offset(18),
+ bfff, 8,
+ }
+
+ // Deal with 0-th bank layout:
+
+ Store(0, bnk0)
+ CHK0(bnk0, 0, 0x06e)
+
+ Store(0x87, bf00)
+ CHK0(bnk0, 0, 0x06f)
+ CHK0(bf00, 0x87, 0x070)
+
+ // Deal with 1-th bank layout:
+
+ Store(1, bnk0)
+ CHK0(bnk0, 1, 0x071)
+
+ Store(0, bnk0)
+ CHK0(bnk0, 0, 0x072)
+
+ Store(0x96, bf01)
+ CHK0(bnk0, 1, 0x073)
+ CHK0(bf01, 0x96, 0x074)
+
+ // Deal with 0xFF-th bank layout:
+
+ Store(0xFF, bnk0)
+ CHK0(bnk0, 0xFF, 0x075)
+
+ Store(0, bnk0)
+ CHK0(bnk0, 0, 0x076)
+
+ Store(0xC3, bfff)
+ CHK0(bnk0, 0xFF, 0x077)
+ CHK0(bfff, 0xC3, 0x078)
+ }
+
+ // 16-bit Bank field
+ Method(m041, 3)
+ {
+ OperationRegion(r000, SystemMemory, 0x100, 0x100)
+ Field (r000, WordAcc, NoLock, Preserve) {
+ bnk0, 16
+ }
+
+ BankField (r000, bnk0, Arg0, ByteAcc, NoLock, Preserve) {
+ Offset(16),
+ bf00, 8,
+ }
+
+ BankField (r000, bnk0, Arg1, ByteAcc, NoLock, Preserve) {
+ Offset(17),
+ bf01, 8,
+ }
+
+ BankField (r000, bnk0, Arg2, ByteAcc, NoLock, Preserve) {
+ Offset(18),
+ bfff, 8,
+ }
+
+ // Deal with 0-th bank layout:
+
+ Store(0, bnk0)
+ CHK0(bnk0, 0, 0x079)
+
+ Store(0x87, bf00)
+ CHK0(bnk0, 0, 0x07a)
+ CHK0(bf00, 0x87, 0x07b)
+
+ // Deal with 1-th bank layout:
+
+ Store(1, bnk0)
+ CHK0(bnk0, 1, 0x07c)
+
+ Store(0, bnk0)
+ CHK0(bnk0, 0, 0x07e)
+
+ Store(0x96, bf01)
+ CHK0(bnk0, 1, 0x07f)
+ CHK0(bf01, 0x96, 0x080)
+
+ // Deal with 0xFFFF-th bank layout:
+
+ Store(0xFFFF, bnk0)
+ CHK0(bnk0, 0xFFFF, 0x081)
+
+ Store(0, bnk0)
+ CHK0(bnk0, 0, 0x082)
+
+ Store(0xC3, bfff)
+ CHK0(bnk0, 0xFFFF, 0x083)
+ CHK0(bfff, 0xC3, 0x084)
+ }
+
+ // 32-bit Bank field
+ Method(m042, 3)
+ {
+ OperationRegion(r000, SystemMemory, 0x100, 0x100)
+ Field (r000, DWordAcc, NoLock, Preserve) {
+ bnk0, 32
+ }
+
+ BankField (r000, bnk0, Arg0, ByteAcc, NoLock, Preserve) {
+ Offset(16),
+ bf00, 8,
+ }
+
+ BankField (r000, bnk0, Arg1, ByteAcc, NoLock, Preserve) {
+ Offset(17),
+ bf01, 8,
+ }
+
+ BankField (r000, bnk0, Arg2, ByteAcc, NoLock, Preserve) {
+ Offset(18),
+ bfff, 8,
+ }
+
+ // Deal with 0-th bank layout:
+
+ Store(0, bnk0)
+ CHK0(bnk0, 0, 0x085)
+
+ Store(0x87, bf00)
+ CHK0(bnk0, 0, 0x086)
+ CHK0(bf00, 0x87, 0x087)
+
+ // Deal with 1-th bank layout:
+
+ Store(1, bnk0)
+ CHK0(bnk0, 1, 0x088)
+
+ Store(0, bnk0)
+ CHK0(bnk0, 0, 0x089)
+
+ Store(0x96, bf01)
+ CHK0(bnk0, 1, 0x08a)
+ CHK0(bf01, 0x96, 0x08b)
+
+ // Deal with 0xFFFFFFFF-th bank layout:
+
+ Store(0xFFFFFFFF, bnk0)
+ CHK0(bnk0, 0xFFFFFFFF, 0x08c)
+
+ Store(0, bnk0)
+ CHK0(bnk0, 0, 0x08d)
+
+ Store(0xC3, bfff)
+ CHK0(bnk0, 0xFFFFFFFF, 0x08e)
+ CHK0(bfff, 0xC3, 0x08f)
+ }
+
+ // 33-bit Bank field and QWordAcc
+ Method(m043, 1)
+ {
+ OperationRegion(r000, SystemMemory, 0x100, 0x100)
+ Field (r000, QWordAcc, NoLock, Preserve) {
+ bnk0, 33
+ }
+ BankField (r000, bnk0, Arg0, ByteAcc, NoLock, Preserve) {
+ Offset(18),
+ bfff, 8,
+ }
+
+ // Deal with 0x1FFFFFFFF-th bank layout:
+
+ Store(0x1FFFFFFFF, bnk0)
+ CHK0(bnk0, 0x1FFFFFFFF, 0x090)
+
+ Store(0, bnk0)
+ CHK0(bnk0, 0, 0x091)
+
+ Store(0xC3, bfff)
+ CHK0(bnk0, 0x1FFFFFFFF, 0x092)
+ CHK0(bfff, 0xC3, 0x093)
+ }
+
+ // BankValues set up with ArgX
+ Method(m004)
+ {
+ // 8-bit Bank field
+ m040(0, 1, 0xFF)
+
+ // 16-bit Bank field
+ m041(0, 1, 0xFFFF)
+
+ // 32-bit Bank field
+ m042(0, 1, 0xFFFFFFFF)
+
+ // 33-bit Bank field and QWordAcc
+ if (y215) {
+ m043(0x1FFFFFFFF)
+ }
+ }
+
+ // BankValues set up with Expressions
+
+ // 8-bit Bank field
+ Method(m050, 3)
+ {
+ Store(0, Local0)
+ Store(1, Local1)
+
+ OperationRegion(r000, SystemMemory, 0x100, 0x100)
+ Field (r000, ByteAcc, NoLock, Preserve) {
+ bnk0, 8
+ }
+
+ BankField (r000, bnk0, Add(Arg0, Local0), ByteAcc, NoLock, Preserve) {
+ Offset(16),
+ bf00, 8,
+ }
+
+ BankField (r000, bnk0, Add(Arg1, 1), ByteAcc, NoLock, Preserve) {
+ Offset(17),
+ bf01, 8,
+ }
+
+ BankField (r000, bnk0, Add(Arg2, Local1), ByteAcc, NoLock, Preserve) {
+ Offset(18),
+ bfff, 8,
+ }
+
+ // Deal with 0-th bank layout:
+
+ Store(0, bnk0)
+ CHK0(bnk0, 0, 0x094)
+
+ Store(0x87, bf00)
+ CHK0(bnk0, 0, 0x095)
+ CHK0(bf00, 0x87, 0x096)
+
+ // Deal with 1-th bank layout:
+
+ Store(1, bnk0)
+ CHK0(bnk0, 1, 0x097)
+
+ Store(0, bnk0)
+ CHK0(bnk0, 0, 0x098)
+
+ Store(0x96, bf01)
+ CHK0(bnk0, 1, 0x099)
+ CHK0(bf01, 0x96, 0x09a)
+
+ // Deal with 0xFF-th bank layout:
+
+ Store(0xFF, bnk0)
+ CHK0(bnk0, 0xFF, 0x09b)
+
+ Store(0, bnk0)
+ CHK0(bnk0, 0, 0x09c)
+
+ Store(0xC3, bfff)
+ CHK0(bnk0, 0xFF, 0x09d)
+ CHK0(bfff, 0xC3, 0x09e)
+ }
+
+ // 16-bit Bank field
+ Method(m051, 3)
+ {
+ Store(0, Local0)
+ Store(1, Local1)
+
+ OperationRegion(r000, SystemMemory, 0x100, 0x100)
+ Field (r000, WordAcc, NoLock, Preserve) {
+ bnk0, 16
+ }
+
+ BankField (r000, bnk0, Add(Arg0, Local0), ByteAcc, NoLock, Preserve) {
+ Offset(16),
+ bf00, 8,
+ }
+
+ BankField (r000, bnk0, Add(Arg1, Local1), ByteAcc, NoLock, Preserve) {
+ Offset(17),
+ bf01, 8,
+ }
+
+ BankField (r000, bnk0, Add(Arg2, 1), ByteAcc, NoLock, Preserve) {
+ Offset(18),
+ bfff, 8,
+ }
+
+ // Deal with 0-th bank layout:
+
+ Store(0, bnk0)
+ CHK0(bnk0, 0, 0x09f)
+
+ Store(0x87, bf00)
+ CHK0(bnk0, 0, 0x0a0)
+ CHK0(bf00, 0x87, 0x0a1)
+
+ // Deal with 1-th bank layout:
+
+ Store(1, bnk0)
+ CHK0(bnk0, 1, 0x0a2)
+
+ Store(0, bnk0)
+ CHK0(bnk0, 0, 0x0a3)
+
+ Store(0x96, bf01)
+ CHK0(bnk0, 1, 0x0a4)
+ CHK0(bf01, 0x96, 0x0a5)
+
+ // Deal with 0xFFFF-th bank layout:
+
+ Store(0xFFFF, bnk0)
+ CHK0(bnk0, 0xFFFF, 0x0a6)
+
+ Store(0, bnk0)
+ CHK0(bnk0, 0, 0x0a7)
+
+ Store(0xC3, bfff)
+ CHK0(bnk0, 0xFFFF, 0x0a8)
+ CHK0(bfff, 0xC3, 0x0a9)
+ }
+
+ // 32-bit Bank field
+ Method(m052, 3)
+ {
+ Store(0, Local0)
+ Store(1, Local1)
+
+ OperationRegion(r000, SystemMemory, 0x100, 0x100)
+ Field (r000, DWordAcc, NoLock, Preserve) {
+ bnk0, 32
+ }
+
+ BankField (r000, bnk0, Add(Arg0, Local0), ByteAcc, NoLock, Preserve) {
+ Offset(16),
+ bf00, 8,
+ }
+
+ BankField (r000, bnk0, Add(Arg1, Local1), ByteAcc, NoLock, Preserve) {
+ Offset(17),
+ bf01, 8,
+ }
+
+ BankField (r000, bnk0, Add(Arg2, 1), ByteAcc, NoLock, Preserve) {
+ Offset(18),
+ bfff, 8,
+ }
+
+ // Deal with 0-th bank layout:
+
+ Store(0, bnk0)
+ CHK0(bnk0, 0, 0x0aa)
+
+ Store(0x87, bf00)
+ CHK0(bnk0, 0, 0x0ab)
+ CHK0(bf00, 0x87, 0x0ac)
+
+ // Deal with 1-th bank layout:
+
+ Store(1, bnk0)
+ CHK0(bnk0, 1, 0x0ad)
+
+ Store(0, bnk0)
+ CHK0(bnk0, 0, 0x0ae)
+
+ Store(0x96, bf01)
+ CHK0(bnk0, 1, 0x0af)
+ CHK0(bf01, 0x96, 0x0b0)
+
+ // Deal with 0xFFFFFFFF-th bank layout:
+
+ Store(0xFFFFFFFF, bnk0)
+ CHK0(bnk0, 0xFFFFFFFF, 0x0b1)
+
+ Store(0, bnk0)
+ CHK0(bnk0, 0, 0x0b2)
+
+ Store(0xC3, bfff)
+ CHK0(bnk0, 0xFFFFFFFF, 0x0b3)
+ CHK0(bfff, 0xC3, 0x0b4)
+ }
+
+ // 33-bit Bank field and QWordAcc
+ Method(m053, 1)
+ {
+ OperationRegion(r000, SystemMemory, 0x100, 0x100)
+ Field (r000, QWordAcc, NoLock, Preserve) {
+ bnk0, 33
+ }
+ BankField (r000, bnk0, Add(Arg0, 1), ByteAcc, NoLock, Preserve) {
+ Offset(18),
+ bfff, 8,
+ }
+
+ // Deal with 0x1FFFFFFFF-th bank layout:
+
+ Store(0x1FFFFFFFF, bnk0)
+ CHK0(bnk0, 0x1FFFFFFFF, 0x0b5)
+
+ Store(0, bnk0)
+ CHK0(bnk0, 0, 0x0b6)
+
+ Store(0xC3, bfff)
+ CHK0(bnk0, 0x1FFFFFFFF, 0x0b7)
+ CHK0(bfff, 0xC3, 0x0b8)
+ }
+
+ // BankValues set up with Expressions
+ Method(m005)
+ {
+ // 8-bit Bank field
+ m050(0, 0, 0xFE)
+
+ // 16-bit Bank field
+ m051(0, 0, 0xFFFE)
+
+ // 32-bit Bank field
+ m052(0, 0, 0xFFFFFFFE)
+
+ // 33-bit Bank field and QWordAcc
+ if (y215) {
+ m053(0x1FFFFFFFE)
+ }
+ }
+
+ Store("BankValues set up with Integer Constants", Debug)
+ m001()
+
+ Store("BankValues set up with Named Integers", Debug)
+ m002()
+
+ Store("BankValues set up with LocalX", Debug)
+ m003()
+
+ Store("BankValues set up with ArgX", Debug)
+ m004()
+
+ Store("BankValues set up with Expressions", Debug)
+ m005()
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0192/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0192/MAIN.asl
new file mode 100644
index 000000000..63b05bdb1
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0192/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B192.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0192/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0192/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0192/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0192/RUN.asl
new file mode 100644
index 000000000..e04dc079f
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0192/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 192", TCLD, 192, W017)) {
+ SRMT("mfa4")
+ mfa4()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0193/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0193/DECL.asl
new file mode 100644
index 000000000..dc337ad70
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0193/DECL.asl
@@ -0,0 +1,93 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 193 (local-bugzilla-354):
+ *
+ * SUMMARY: storing opt. results of Not/NAnd/NOr into Buffer Field in 32-bit mode can soil the higher bits of BF
+ *
+ * In 32-bit mode optional storing of the result of any of
+ * Not, NAnd, and NOr ASL operators to Buffer Field of more
+ * than 4 bytes in length can produce non-zero bits outside
+ * the first 32 bits (though zeros are expected):
+ */
+
+Method(mfa5, 1)
+{
+ // Source Named Object
+ Name(SRC0, 0xfedcba9876543210)
+
+ // Target Buffer Field Object
+ Createfield(bd0f, 0, 69, BFL1)
+
+ // Explicit storing
+ Store(0, BFL1)
+ if (LEqual(arg0, 0)) {
+ Store(Not(SRC0), BFL1)
+ } elseif (LEqual(arg0, 1)) {
+ Store(NAnd(SRC0, Ones), BFL1)
+ } elseif (LEqual(arg0, 2)) {
+ Store(NOr(SRC0, Zero), BFL1)
+ }
+ if (LEqual(BFL1, bd10)) {
+ Store("Ok 1", Debug)
+ } else {
+ err("", zFFF, 0x000, 0, 0, BFL1, bd10)
+ }
+
+ // Optional storing
+ Store(0, BFL1)
+ if (LEqual(arg0, 0)) {
+ Not(SRC0, BFL1)
+ } elseif (LEqual(arg0, 1)) {
+ NAnd(SRC0, Ones, BFL1)
+ } elseif (LEqual(arg0, 2)) {
+ NOr(SRC0, Zero, BFL1)
+ }
+ if (LEqual(BFL1, bd10)) {
+ Store("Ok 2", Debug)
+ } else {
+ err("", zFFF, 0x001, 0, 0, BFL1, bd10)
+ }
+}
+
+Method(mfa6)
+{
+ Store(Not(0xfedcba9876543210), bd10)
+
+ Store("Not operator", Debug)
+ mfa5(0)
+
+ Store("NAnd operator", Debug)
+ mfa5(1)
+
+ Store("NOr operator", Debug)
+ mfa5(1)
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0193/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0193/MAIN.asl
new file mode 100644
index 000000000..490953f0d
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0193/MAIN.asl
@@ -0,0 +1,58 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B193.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/common/DECL.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0193/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0193/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0193/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0193/RUN.asl
new file mode 100644
index 000000000..f0c87c7af
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0193/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 193", TCLD, 193, W017)) {
+ SRMT("mfa6")
+ mfa6()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0194/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0194/DECL.asl
new file mode 100644
index 000000000..c4eee2beb
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0194/DECL.asl
@@ -0,0 +1,64 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 194:
+ *
+ * SUMMARY: Incorrect length of result of ToBuffer in case it is stored into a Named Buffer
+ */
+
+Method(mfa7, 1)
+{
+ Name(b000, Buffer(1){0x3c})
+ Name(b001, Buffer(3){0x01, 0x02, 0x03})
+
+ Name(bb00, Buffer(1){0x3c})
+ Name(bb01, Buffer(3){0x01, 0x02, 0x03})
+
+ if (arg0) {
+ Store("ToBuffer(b001, b000)", Debug)
+ ToBuffer(b001, b000)
+ if (LNotEqual(b000, bb01)) {
+ err("", zFFF, 0x000, 0, 0, b000, bb01)
+ }
+ } else {
+ Store("ToBuffer(b000, b001)", Debug)
+ ToBuffer(b000, b001)
+ if (LNotEqual(b001, bb00)) {
+ err("", zFFF, 0x000, 0, 0, b001, bb00)
+ }
+ }
+}
+
+Method(mfa8)
+{
+ mfa7(0)
+ mfa7(1)
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0194/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0194/MAIN.asl
new file mode 100644
index 000000000..896f47f5a
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0194/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B194.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0194/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0194/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0194/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0194/RUN.asl
new file mode 100644
index 000000000..590b7de43
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0194/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 194", TCLD, 194, W017)) {
+ SRMT("mfa8")
+ mfa8()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0195/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0195/DECL.asl
new file mode 100644
index 000000000..08a75795e
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0195/DECL.asl
@@ -0,0 +1,102 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 195 (local-bugzilla-353):
+ *
+ * SUMMARY: Increment and Decrement of String or Buffer changes the type of operand
+ *
+ * Increment and Decrement of either String or Buffer Object
+ * unexpectedly change the type of operand (Addend and Minuend
+ * respectively) to Integer. Operands should preserve the initial
+ * types.
+ *
+ * By the way, the relevant "equivalent" operations
+ * Add(Addend, 1, Addend) and Subtract(Minuend, 1, Minuend)
+ * don't change the type of Addend and Minuend respectively.
+ */
+
+Method(mfaf)
+{
+ Name(s000, "0321")
+ Name(s001, "0321")
+ Name(b000, Buffer(3){0x21, 0x03, 0x00})
+ Name(b001, Buffer(3){0x21, 0x03, 0x00})
+
+ Decrement(s000)
+ Subtract(s001, 1, s001)
+
+ Store("======== :", Debug)
+ Store(s000, Debug)
+ Store(s001, Debug)
+ Store("========.", Debug)
+
+ Store(ObjectType(s000), Local0)
+ Store(ObjectType(s001), Local1)
+
+ if (LNotEqual(Local0, Local1)) {
+ err("", zFFF, 0x000, 0, 0, Local0, Local1)
+ } elseif (LNotEqual(s000, s001)) {
+ err("", zFFF, 0x001, 0, 0, s000, s001)
+ }
+
+ if (LNotEqual(Local0, 2)) {
+ err("", zFFF, 0x002, 0, 0, Local0, 2)
+ }
+
+ if (LNotEqual(Local1, 2)) {
+ err("", zFFF, 0x003, 0, 0, Local1, 2)
+ }
+
+ Increment(b000)
+ Add(b001, 1, b001)
+
+ Store("======== :", Debug)
+ Store(b000, Debug)
+ Store(b001, Debug)
+ Store("========.", Debug)
+
+ Store(ObjectType(b000), Local0)
+ Store(ObjectType(b001), Local1)
+
+ if (LNotEqual(Local0, Local1)) {
+ err("", zFFF, 0x004, 0, 0, Local0, Local1)
+ } elseif (LNotEqual(b000, b001)) {
+ err("", zFFF, 0x005, 0, 0, b000, b001)
+ }
+
+ if (LNotEqual(Local0, 3)) {
+ err("", zFFF, 0x006, 0, 0, Local0, 3)
+ }
+
+ if (LNotEqual(Local1, 3)) {
+ err("", zFFF, 0x007, 0, 0, Local1, 3)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0195/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0195/MAIN.asl
new file mode 100644
index 000000000..aeb565649
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0195/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B195.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0195/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0195/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0195/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0195/RUN.asl
new file mode 100644
index 000000000..2fd525d9a
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0195/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 195", TCLD, 195, W017)) {
+ SRMT("mfaf")
+ mfaf()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0196/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0196/DECL.asl
new file mode 100644
index 000000000..04622f698
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0196/DECL.asl
@@ -0,0 +1,42 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 196:
+ *
+ * SUMMARY: Incorrect conversion of String to Integer for ToInteger("0x0x12345678")
+ */
+
+Method(mfb0)
+{
+ CH03("", 0, 0x000, 0, 0)
+ ToInteger("0x0x12345678", Local0)
+ CH04("", 0, 34, 0, 0x001, 0, 0) // AE_BAD_HEX_CONSTANT
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0196/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0196/MAIN.asl
new file mode 100644
index 000000000..7853e5397
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0196/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B196.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0196/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0196/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0196/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0196/RUN.asl
new file mode 100644
index 000000000..e492e8c14
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0196/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 196", TCLD, 196, W017)) {
+ SRMT("mfb0")
+ mfb0()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0197/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0197/DECL.asl
new file mode 100644
index 000000000..6318c2d1f
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0197/DECL.asl
@@ -0,0 +1,42 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 197:
+ *
+ * SUMMARY: No exception occurs for incorrect String-image of Integer passed to ToInteger like "0x 1234"
+ */
+
+Method(mfb1)
+{
+ CH03("", 0, 0x000, 0, 0)
+ ToInteger("0x 12345678", Local0)
+ CH04("", 0, 34, 0, 0x001, 0, 0) // AE_BAD_HEX_CONSTANT
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0197/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0197/MAIN.asl
new file mode 100644
index 000000000..317925407
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0197/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B197.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0197/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0197/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0197/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0197/RUN.asl
new file mode 100644
index 000000000..981d8b530
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0197/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 197", TCLD, 197, W017)) {
+ SRMT("mfb1")
+ mfb1()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0198/DECL.0000.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0198/DECL.0000.asl
new file mode 100644
index 000000000..edbfc02a0
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0198/DECL.0000.asl
@@ -0,0 +1,170 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 198:
+ *
+ * COMPONENT:
+ *
+ * SUMMARY:
+ */
+
+Method(mfa9) {
+
+ Event(e900)
+ Event(e9Z0)
+ Mutex(mx90, 0)
+ Mutex(mx91, 0)
+ Device(d900) { Name(i900, 0xabcd0017) }
+ Device(d9Z0) { Name(i900, 0xabcd0017) }
+ ThermalZone(tz90) {}
+ ThermalZone(tz91) {}
+ Processor(pr90, 0, 0xFFFFFFFF, 0) {}
+ Processor(pr91, 0, 0xFFFFFFFF, 0) {}
+ OperationRegion(r900, SystemMemory, 0x100, 0x100)
+ OperationRegion(r9Z0, SystemMemory, 0x100, 0x100)
+ PowerResource(pw90, 1, 0) {Method(mmmm){return (0)}}
+ PowerResource(pw91, 1, 0) {Method(mmmm){return (0)}}
+
+ Name(RMRC, 0)
+ Name(NRMT, "QQQQ")
+ Name(CTST, "CTST")
+ Name(RR44, Package(8) {})
+ Name(RR55, Package(8) {})
+ Name(s000, "The expected contents of 0-th elements of both Packages - RR44 and RR55")
+
+ // Error checking
+ Method(m000, 1) {
+ Store("======================================== sit 1", Debug)
+ Store(arg0, Debug)
+ Store(RMRC, Debug)
+ Store(DerefOf(Index(RR44, 0)), Debug)
+ Store(DerefOf(Index(RR55, 0)), Debug)
+
+ Store(DerefOf(Index(RR44, 0)), Local0)
+ Store(DerefOf(Index(RR55, 0)), Local1)
+
+ if (LNotEqual(Local0, s000)) {
+ // Store("Error 0", Debug)
+ err("", zFFF, 0x000, 0, 0, Local0, s000)
+ }
+ if (LNotEqual(Local1, s000)) {
+ // Store("Error 1", Debug)
+ err("", zFFF, 0x001, 0, 0, Local0, s000)
+ }
+
+ Store("========================================.", Debug)
+ }
+
+ Method(m001) {
+
+ Name(b000, Buffer(4) {})
+
+ if (SizeOf(NRMT)) {
+ Store("vvvvvv", Local0)
+ Concatenate(Local0, "PASS:", Local1)
+ Concatenate(":", CTST, Local0)
+
+ // This - eliminates the effect
+ // Store(s000, Local0)
+
+ Store("The expected contents of 0-th elements of both Packages - RR44 and RR55", Local0)
+
+ // The order of RR55 and RR44 is essential, only the first is then corrupted:
+
+ Store(Local0, Index(RR44, RMRC))
+ Store(Local0, Index(RR55, RMRC))
+
+ m000(0x1000)
+// m000()
+
+ Increment(RMRC)
+ }
+
+ m000(0x1001)
+// m000()
+ }
+
+Method(m002)
+{
+ Store("ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ RR44", Index(RR44, 0))
+ Store("ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ RR55", Index(RR55, 0))
+
+ Store(10000000000, Local0)
+ // Store(1000000, Local0)
+ Store(0, Local1)
+
+ ToBCD(Local0, Local2)
+
+
+ // These dont cause the effect:
+ // Divide(1, Local1, Local2)
+ // Divide(1, Local1, Local7, Local2)
+ // Store(SizeOf(d9Z0), Local2)
+
+ if (LNotEqual(Local2, 0)) {
+ Store("Zizi 012345", Debug)
+ }
+
+ // If you uncomment this Store the effect will disappear
+
+ // Store(0, Local0)
+}
+
+ // If you uncomment this Store then another one of RR44 and RR55 will be corrupted
+ // (see comment to m001)
+
+ // Store("m002", NRMT)
+
+// Store("--------------!!!!!!!!!!!--------- RR44", Debug)
+// Store(Index(RR44, 0), Debug)
+// Store("--------------!!!!!!!!!!!--------- RR55", Debug)
+// Store(Index(RR55, 0), Debug)
+ Store("---------------------------------- SSSSSSSS 0", Debug)
+
+ CH03("", 0, 0x002, 0, 0)
+ m002()
+
+// Store("---------------------------------- SSSSSSSS 1", Debug)
+
+ m001()
+
+// Store("---------------------------------- SSSSSSSS 2", Debug)
+
+ m000(0x1009)
+
+// m000()
+
+ if (F64) {
+ CH03("", 0, 0x003, 0, 0)
+ } else {
+ CH04("", 0, 0xff, 0, 0x004, 0, 0) // AE_AML_NUMERIC_OVERFLOW
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0198/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0198/DECL.asl
new file mode 100644
index 000000000..89754fcdb
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0198/DECL.asl
@@ -0,0 +1,227 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 198:
+ *
+ * SUMMARY: AML interpretation in 32-bit slack mode becomes unstable after some exceptions
+ */
+
+/* SEE below: "Would be useful to continue for other ASL operators" */
+
+Name(id24, 0)
+
+Method(mfa9) {
+
+ Event(e900)
+ Event(e9Z0)
+ Mutex(mx90, 0)
+ Mutex(mx91, 0)
+ Device(d900) { Name(i900, 0xabcd0017) }
+ Device(d9Z0) { Name(i900, 0xabcd0017) }
+ ThermalZone(tz90) {}
+ ThermalZone(tz91) {}
+ Processor(pr90, 0, 0xFFFFFFFF, 0) {}
+ Processor(pr91, 0, 0xFFFFFFFF, 0) {}
+ OperationRegion(r900, SystemMemory, 0x100, 0x100)
+ OperationRegion(r9Z0, SystemMemory, 0x100, 0x100)
+ PowerResource(pw90, 1, 0) {Method(mmmm){return (0)}}
+ PowerResource(pw91, 1, 0) {Method(mmmm){return (0)}}
+
+ Name(RMRC, 0)
+ Name(NRMT, "QQQQ")
+ Name(CTST, "CTST")
+ Name(RR44, Package(8) {})
+ Name(RR55, Package(8) {})
+ Name(s000, "The expected contents of 0-th elements of both Packages - RR44 and RR55")
+
+ // Error checking
+ Method(m000, 1) {
+ Store("======================================== sit 1", Debug)
+ Store(arg0, Debug)
+ Store(RMRC, Debug)
+ Store(DerefOf(Index(RR44, 0)), Debug)
+ Store(DerefOf(Index(RR55, 0)), Debug)
+
+ Store(DerefOf(Index(RR44, 0)), Local0)
+ Store(DerefOf(Index(RR55, 0)), Local1)
+
+ if (LNotEqual(Local0, s000)) {
+ // Store("Error 0", Debug)
+ err("", zFFF, 0x000, 0, 0, Local0, s000)
+ }
+ if (LNotEqual(Local1, s000)) {
+ // Store("Error 1", Debug)
+ err("", zFFF, 0x001, 0, 0, Local0, s000)
+ }
+
+ Store("========================================.", Debug)
+ }
+
+ Method(m001) {
+
+ Name(b000, Buffer(4) {})
+
+ if (SizeOf(NRMT)) {
+ Store("vvvvvv", Local0)
+ Concatenate(Local0, "PASS:", Local1)
+ Concatenate(":", CTST, Local0)
+
+ // This - eliminates the effect
+ // Store(s000, Local0)
+
+ Store("The expected contents of 0-th elements of both Packages - RR44 and RR55", Local0)
+
+ // The order of RR55 and RR44 is essential, only the first is then corrupted:
+
+ Store(Local0, Index(RR44, RMRC))
+ Store(Local0, Index(RR55, RMRC))
+
+ m000(0x1000)
+// m000()
+
+ Increment(RMRC)
+ }
+
+ m000(0x1001)
+// m000()
+ }
+
+ Method(m002)
+ {
+ Store("ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ RR44", Index(RR44, 0))
+ Store("ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ RR55", Index(RR55, 0))
+
+ Store(10000000000, Local0)
+ Store(0, Local1)
+
+ if (LEqual(id24, 0)) {
+ // Only this causes the effect:
+ ToBCD(Local0, Local2)
+ } elseif (LEqual(id24, 1)) {
+ Divide(1, Local1, Local2)
+ } elseif (LEqual(id24, 2)) {
+ Divide(1, Local1, Local7, Local2)
+ } elseif (LEqual(id24, 3)) {
+ Store(SizeOf(d9Z0), Local2)
+ } elseif (LEqual(id24, 4)) {
+ Store(0, Local0)
+ Store(Acquire (Local0, 1), Local2)
+ } elseif (LEqual(id24, 5)) {
+ CopyObject(e900, Local0)
+ Add(0, Local0, Local2)
+ } elseif (LEqual(id24, 6)) {
+ CopyObject(e900, Local0)
+ And(0, Local0, Local2)
+ } elseif (LEqual(id24, 7)) {
+ Store("zzzzzxx", Local0)
+ CopyObject(e900, Local1)
+ Concatenate(Local0, Local1, Local2)
+ } elseif (LEqual(id24, 8)) {
+ CopyObject(e900, Local0)
+ CondRefOf(Local0, Local2)
+ }
+
+ if (LNotEqual(Local2, 0)) {
+ Store("Zizi 012345", Debug)
+ }
+
+ // If you uncomment this Store the effect will disappear
+
+ // Store(0, Local0)
+ }
+
+
+ // If you uncomment this Store then another one of RR44 and RR55 will be corrupted
+ // (see comment to m001)
+
+ // Store("m002", NRMT)
+
+// Store("--------------!!!!!!!!!!!--------- RR44", Debug)
+// Store(Index(RR44, 0), Debug)
+// Store("--------------!!!!!!!!!!!--------- RR55", Debug)
+// Store(Index(RR55, 0), Debug)
+ Store("---------------------------------- SSSSSSSS 0", Debug)
+
+ CH03("", 0, 0x002, 0, 0)
+ m002()
+
+// Store("---------------------------------- SSSSSSSS 1", Debug)
+
+ m001()
+
+// Store("---------------------------------- SSSSSSSS 2", Debug)
+
+ m000(0x1009)
+
+// m000()
+
+ if (LEqual(id24, 0)) {
+ if (F64) {
+ CH03("", 0, 0x003, 0, 0)
+ } else {
+ CH04("", 0, 0xff, 0, 0x004, 0, 0) // AE_AML_NUMERIC_OVERFLOW
+ }
+ } else {
+ CH04("", 0, 0xff, 0, 0x004, 0, 0) // AE_AML_NUMERIC_OVERFLOW
+ }
+}
+
+Method(mfaa) {
+
+ Store(0, id24)
+ mfa9()
+
+ Store(1, id24)
+ mfa9()
+
+ Store(2, id24)
+ mfa9()
+
+ Store(3, id24)
+ mfa9()
+
+ Store(4, id24)
+ mfa9()
+
+ Store(5, id24)
+ mfa9()
+
+ Store(6, id24)
+ mfa9()
+
+ Store(7, id24)
+ mfa9()
+
+ Store(8, id24)
+ mfa9()
+
+ /* Would be useful to continue for other ASL operators */
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0198/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0198/MAIN.asl
new file mode 100644
index 000000000..e93a2e7fd
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0198/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B198.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0198/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0198/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0198/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0198/RUN.asl
new file mode 100644
index 000000000..80bef8465
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0198/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 198", TCLD, 198, W017)) {
+ SRMT("mfaa")
+ mfaa()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0199/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0199/DECL.asl
new file mode 100644
index 000000000..7e5234217
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0199/DECL.asl
@@ -0,0 +1,93 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 199:
+ *
+ * SUMMARY: No exception on DerefOf for parameter which is none of ObjectReference/IndexReference/String
+ */
+
+Method(mfb2)
+ {
+ Name(b000, Buffer(){ 1, 2, 3, 4, 0x95, 6, 7, 8})
+ Name(i000, 0xabbc0000)
+ Name(p000, Package() {1,2,3,4})
+
+ CH03("", 0, 0x000, 0, 0)
+ DerefOf(b000)
+ CH04("", 0, 47, 0, 0x001, 0, 0) // AE_AML_OPERAND_TYPE
+
+ CH03("", 0, 0x002, 0, 0)
+ DerefOf(i000)
+ CH04("", 0, 47, 0, 0x003, 0, 0) // AE_AML_OPERAND_TYPE
+
+ CH03("", 0, 0x004, 0, 0)
+ DerefOf(p000)
+ CH04("", 0, 47, 0, 0x005, 0, 0) // AE_AML_OPERAND_TYPE
+}
+
+Method(mfb3)
+{
+ Event(e000)
+ Mutex(mx00, 0)
+ Device(d000) { Name(i900, 0xabcd0017) }
+ ThermalZone(tz00) {}
+ Processor(pr00, 0, 0xFFFFFFFF, 0) {}
+ OperationRegion(r000, SystemMemory, 0x100, 0x100)
+ PowerResource(pw00, 1, 0) {Method(mmmm){return (0)}}
+
+ CH03("", 0, 0x006, 0, 0)
+ DerefOf(e000)
+ CH04("", 0, 47, 0, 0x007, 0, 0) // AE_AML_OPERAND_TYPE
+
+ CH03("", 0, 0x008, 0, 0)
+ DerefOf(mx00)
+ CH04("", 0, 47, 0, 0x009, 0, 0) // AE_AML_OPERAND_TYPE
+
+ CH03("", 0, 0x00a, 0, 0)
+ DerefOf(d000)
+ CH04("", 0, 47, 0, 0x00b, 0, 0) // AE_AML_OPERAND_TYPE
+
+ CH03("", 0, 0x00c, 0, 0)
+ DerefOf(tz00)
+ CH04("", 0, 47, 0, 0x00d, 0, 0) // AE_AML_OPERAND_TYPE
+
+ CH03("", 0, 0x00e, 0, 0)
+ DerefOf(pr00)
+ CH04("", 0, 47, 0, 0x00f, 0, 0) // AE_AML_OPERAND_TYPE
+
+ CH03("", 0, 0x010, 0, 0)
+ DerefOf(r000)
+ CH04("", 0, 47, 0, 0x011, 0, 0) // AE_AML_OPERAND_TYPE
+
+ CH03("", 0, 0x012, 0, 0)
+ DerefOf(pw00)
+ CH04("", 0, 47, 0, 0x013, 0, 0) // AE_AML_OPERAND_TYPE
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0199/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0199/MAIN.asl
new file mode 100644
index 000000000..c275ca61b
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0199/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B199.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0199/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0199/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0199/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0199/RUN.asl
new file mode 100644
index 000000000..718f8061f
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0199/RUN.asl
@@ -0,0 +1,38 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 199", TCLD, 199, W017)) {
+ SRMT("mfb2")
+ mfb2()
+ SRMT("mfb3")
+ mfb3()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0200/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0200/DECL.asl
new file mode 100644
index 000000000..6dee5b469
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0200/DECL.asl
@@ -0,0 +1,224 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 200 (local-bugzilla-352):
+ *
+ * SUMMARY: the code path taken after exception is incorrect
+ *
+ * AcpiPsParseLoop --> AcpiDsGetPredicateValue --> FAILURE -->>
+ * doesn't fall into AcpiDsMethodError routine after FAILURE (exception)
+ * (the ASLTS-testing stops after these FAILUREs).
+ */
+
+
+Method(mfb4)
+{
+ Store("Message from mfb4 -------------------------------!!!", Debug)
+}
+
+Method(mfb5)
+{
+ Store(0, Local7)
+ Divide(1, Local7, Local2)
+ if (LNotEqual(Local2, 0)) {
+ mfb4()
+ }
+}
+
+Method(mfb6)
+{
+ Store(0, Local7)
+ Divide(1, Local7, Local2)
+ if (LNotEqual(Local2, 0)) {
+ Store("Message 0 !!!!!!!!!!!!!!!!!!!!!!", Debug)
+ mfb4()
+ }
+}
+
+Method(mfb7)
+{
+ Store(0, Local7)
+ Divide(1, Local7, Local2)
+}
+
+Method(mfb8)
+{
+ Store(0, Local7)
+ Divide(1, Local7, Local2)
+ while (LNotEqual(Local2, 0)) {
+ mfb4()
+ break
+ }
+}
+
+Method(mfb9)
+{
+ Store(0, Local7)
+ Divide(1, Local7, Local2)
+ while (LNotEqual(Local2, 0)) {
+ Store("Message 1 !!!!!!!!!!!!!!!!!!!!!!", Debug)
+ mfb4()
+ break
+ }
+}
+
+Method(mfba)
+{
+ Store(0, Local7)
+ Divide(1, Local7, Local2)
+ switch (LNotEqual(Local2, 0)) {
+ case (0)
+ {
+ mfb4()
+ }
+ }
+}
+
+Method(mfbb)
+{
+ Store(0, Local7)
+ Divide(1, Local7, Local2)
+ switch (LNotEqual(Local2, 0)) {
+ case (0)
+ {
+ Store("Message 2 !!!!!!!!!!!!!!!!!!!!!!", Debug)
+ mfb4()
+ }
+ }
+}
+
+Method(mfbc)
+{
+ Store(0, Local7)
+ Divide(1, Local7, Local2)
+ Return (Local2)
+}
+
+Method(mfbd)
+{
+ if (mfbc()) {
+ Store("Message 3 !!!!!!!!!!!!!!!!!!!!!!", Debug)
+ }
+}
+
+Method(mfbe)
+{
+ while (mfbc()) {
+ break
+ }
+}
+
+Method(mfbf)
+{
+ switch (mfbc()) {
+ case (0)
+ {
+ Store("Message 4 !!!!!!!!!!!!!!!!!!!!!!", Debug)
+ }
+ }
+}
+
+Method(mfc0)
+{
+ /*
+ * The code path taken after the exception here
+ * is not correct for each of these Method calls:
+ */
+
+ SRMT("mfb5")
+ if (y200) {
+ CH03("", 0, 0x000, 0, 0)
+ mfb5()
+ CH04("", 0, 0xff, 0, 0x001, 0, 0)
+ } else {
+ BLCK()
+ }
+
+ SRMT("mfbd")
+ if (y200) {
+ CH03("", 0, 0x002, 0, 0)
+ mfbd()
+ CH04("", 0, 0xff, 0, 0x003, 0, 0)
+ } else {
+ BLCK()
+ }
+
+ SRMT("mfbe")
+ if (y200) {
+ CH03("", 0, 0x004, 0, 0)
+ mfbe()
+ CH04("", 0, 0xff, 0, 0x005, 0, 0)
+ } else {
+ BLCK()
+ }
+
+ /*
+ * These work Ok:
+ */
+
+ SRMT("mfb6")
+ CH03("", 0, 0x006, 0, 0)
+ mfb6()
+ CH04("", 0, 0xff, 0, 0x007, 0, 0)
+
+ SRMT("mfb7")
+ CH03("", 0, 0x008, 0, 0)
+ mfb7()
+ CH04("", 0, 0xff, 0, 0x009, 0, 0)
+
+ SRMT("mfb8")
+ CH03("", 0, 0x00a, 0, 0)
+ mfb8()
+ CH04("", 0, 0xff, 0, 0x00b, 0, 0)
+
+ SRMT("mfb9")
+ CH03("", 0, 0x00c, 0, 0)
+ mfb9()
+ CH04("", 0, 0xff, 0, 0x00d, 0, 0)
+
+ SRMT("mfba")
+ CH03("", 0, 0x00e, 0, 0)
+ mfba()
+ CH04("", 0, 0xff, 0, 0x00f, 0, 0)
+
+ SRMT("mfbb")
+ CH03("", 0, 0x010, 0, 0)
+ mfbb()
+ CH04("", 0, 0xff, 0, 0x011, 0, 0)
+
+ SRMT("mfbf")
+ CH03("", 0, 0x012, 0, 0)
+ mfbf()
+ CH04("", 0, 0xff, 0, 0x013, 0, 0)
+
+ Store("mfc0 ==== successfully returned to mfc0; finished !!!!!", Debug)
+}
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0200/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0200/MAIN.asl
new file mode 100644
index 000000000..05a9afe57
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0200/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B200.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0200/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0200/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0200/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0200/RUN.asl
new file mode 100644
index 000000000..db55ea8c1
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0200/RUN.asl
@@ -0,0 +1,35 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 200", TCLD, 200, W017)) {
+ mfc0()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0201_OUTSTAND_ALLOC/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0201_OUTSTAND_ALLOC/DECL.asl
new file mode 100644
index 000000000..38b428c06
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0201_OUTSTAND_ALLOC/DECL.asl
@@ -0,0 +1,177 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 201:
+ *
+ * SUMMARY: Many Outstanding allocations on ASLTS tests run
+ *
+ * Note: automate in future counting the number of Outstanding allocations
+ * per-test and expect here zero which would mean success of test.
+ * Currently, always FAILURE.
+ */
+
+Method(mfc1)
+{
+ Store("To be investigated:", Debug)
+ Store("many Outstanding allocations on Reference ASLTS test run and other ASLTS tests.", Debug)
+
+ err("", zFFF, 0x000, 0, 0, 0, 0)
+}
+
+/*
+
+To be investigated.
+
+Many Outstanding allocations on Reference ASLTS test run:
+Outstanding: 0xDB allocations after execution
+ACPI Error (utalloc-1053): 100(64) Outstanding allocations [20060127]
+
+.............. Output of test:
+(.......)
+[ACPI Debug] String: [0x25] ":STST:functional:reference:m26a:PASS:"
+[ACPI Debug] String: [0x3A] ":STST:functional:reference:m26b:FAIL:Errors # 11 00 00 00:"
+[ACPI Debug] String: [0x25] ":STST:functional:reference:m26c:PASS:"
+[ACPI Debug] String: [0x25] ":STST:functional:reference:m26d:PASS:"
+[ACPI Debug] String: [0x3A] ":STST:functional:reference:m26e:FAIL:Errors # 01 00 00 00:"
+[ACPI Debug] String: [0x25] ":STST:functional:reference:m26f:PASS:"
+[ACPI Debug] String: [0x25] ":STST:functional:reference:m270:PASS:"
+[ACPI Debug] String: [0x25] ":STST:functional:reference:m276:PASS:"
+[ACPI Debug] String: [0x0E] "========= END."
+[ACPI Debug] String: [0x5B] "TEST ACPICA: 64-bit : FAIL : Errors # 0x0000000000000016, Failed tests # 0x0000000000000004"
+Outstanding: 0xDB allocations after execution
+Execution of \MAIN returned object 00326E38 Buflen 10
+[Integer] = 0000000000000001
+- q
+0049CCB8 Len 0028 utcache-407 [Operand] Integer R1
+00495CB8 Len 0005 dsobject-333 [UNDEFINED]
+0048C488 Len 0028 utcache-407 [Operand] Integer R1
+0047F068 Len 0028 utcache-407 [Operand] BankField R1
+0047C108 Len 0028 utcache-407 [Operand] RegionField R1
+0047D178 Len 0028 utcache-407 [Operand] IndexField R1
+0047EB88 Len 0028 utcache-407 [Operand] BufferField R1
+0047CF68 Len 0028 utcache-407 [Operand] RegionField R1
+0047E5B8 Len 0028 utcache-407 [Operand] Extra R1
+0047FFC8 Len 0028 utcache-407 [Operand] RegionField R1
+0047CE98 Len 0028 utcache-407 [Operand] RegionField R1
+0047CAB8 Len 0028 utcache-407 [Operand] IndexField R1
+0047FDD8 Len 0028 utcache-407 [Operand] BankField R1
+0047D748 Len 0028 utcache-407 [Operand] RegionField R1
+0046A2A8 Len 0028 utcache-407 [Operand] RegionField R1
+00459598 Len 0028 utcache-407 [Operand] RegionField R1
+00452F68 Len 0028 utcache-407 [Operand] RegionField R1
+00452FC8 Len 0028 utcache-407 [Operand] Extra R1
+004511B8 Len 0005 dsobject-333 [UNDEFINED]
+004532F8 Len 0028 utcache-407 [Operand] BufferField R1
+00451098 Len 0028 utcache-407 [Operand] Buffer R1
+00472138 Len 0028 utcache-407 [Operand] Buffer R1
+00495748 Len 0028 utcache-407 [Operand] Extra R1
+004934A8 Len 0028 utcache-407 [Node] ????
+00495058 Len 0028 utcache-407 [Node] ????
+004950B8 Len 0028 utcache-407 [Operand] Extra R1
+004951D8 Len 0028 utcache-407 [Operand] Region R5
+00495298 Len 0028 utcache-407 [Node] ????
+00495358 Len 0028 utcache-407 [Node] ????
+00490C88 Len 0028 utcache-407 [Node] ????
+00495C58 Len 0028 utcache-407 [Operand] Region R5
+0048F4D8 Len 0028 utcache-407 [Node] ????
+0048CB78 Len 0028 utcache-407 [Node] ????
+00497DE8 Len 0028 utcache-407 [Node] ????
+00497F08 Len 0028 utcache-407 [Node] ????
+00493B68 Len 0028 utcache-407 [Node] ????
+00493BC8 Len 0028 utcache-407 [Node] ????
+00493E68 Len 0028 utcache-407 [Node] ????
+00492278 Len 0028 utcache-407 [Node] ????
+00492528 Len 0028 utcache-407 [Node] ????
+00492AF8 Len 0028 utcache-407 [Node] ????
+00492CD8 Len 0028 utcache-407 [Node] ????
+00496F68 Len 0028 utcache-407 [Node] ????
+004972B8 Len 0028 utcache-407 [Node] ????
+004973D8 Len 0028 utcache-407 [Node] ????
+0048CAB8 Len 0028 utcache-407 [Node] ????
+0048F7F8 Len 0028 utcache-407 [Node] ????
+0048F398 Len 0028 utcache-407 [Node] ????
+0048B068 Len 0028 utcache-407 [Node] ????
+0047B198 Len 0028 utcache-407 [Node] ????
+004914E8 Len 0028 utcache-407 [Node] ????
+00491EA8 Len 0028 utcache-407 [Node] ????
+00491F08 Len 0028 utcache-407 [Node] ????
+00481F08 Len 0028 utcache-407 [Node] ????
+0047D358 Len 0005 dsobject-333 [UNDEFINED]
+00494468 Len 0028 utcache-407 [Node] ????
+0048F458 Len 0028 utcache-407 [Node] ????
+0048F858 Len 0028 utcache-407 [Operand] BankField R1
+0048F8F8 Len 0028 utcache-407 [Operand] RegionField R1
+0048F958 Len 0028 utcache-407 [Operand] IndexField R1
+0048FA08 Len 0028 utcache-407 [Operand] BufferField R1
+0048FAA8 Len 0028 utcache-407 [Operand] RegionField R1
+0048FB58 Len 0028 utcache-407 [Operand] Extra R1
+0048FBB8 Len 0028 utcache-407 [Operand] RegionField R1
+0048FC68 Len 0028 utcache-407 [Operand] RegionField R1
+0048FCC8 Len 0028 utcache-407 [Operand] IndexField R1
+0048FDC8 Len 0028 utcache-407 [Operand] BankField R1
+0048FE78 Len 0028 utcache-407 [Operand] RegionField R1
+0048FED8 Len 0028 utcache-407 [Operand] RegionField R1
+0048E0C8 Len 0028 utcache-407 [Operand] RegionField R1
+0048E128 Len 0028 utcache-407 [Operand] RegionField R1
+0048E188 Len 0028 utcache-407 [Operand] Extra R1
+0048E238 Len 0005 dsobject-333 [UNDEFINED]
+0048E278 Len 0028 utcache-407 [Operand] BufferField R1
+0048E368 Len 0028 utcache-407 [Operand] Buffer R1
+0048E528 Len 0028 utcache-407 [Operand] Buffer R1
+0048E898 Len 0028 utcache-407 [Node] ????
+0048ED08 Len 0028 utcache-407 [Node] ????
+0048EF18 Len 0028 utcache-407 [Operand] Extra R1
+0048EFC8 Len 0028 utcache-407 [Operand] Region R5
+0048D0E8 Len 0028 utcache-407 [Operand] Region R5
+0048C938 Len 0028 utcache-407 [Operand] Extra R1
+0048BB48 Len 0028 utcache-407 [Node] ????
+00489648 Len 0028 utcache-407 [Node] ????
+00489708 Len 0028 utcache-407 [Node] ????
+00489828 Len 0028 utcache-407 [Node] ????
+00489B88 Len 0028 utcache-407 [Node] ????
+0047E948 Len 0005 dsobject-333 [UNDEFINED]
+00471428 Len 0028 utcache-407 [Operand] AddrHandler R5
+0046E618 Len 0028 utcache-407 [Operand] IndexField R4
+0046E678 Len 0028 utcache-407 [Operand] BankField R4
+0046E6D8 Len 0028 utcache-407 [Operand] RegionField R4
+0046E738 Len 0028 utcache-407 [Operand] RegionField R4
+0046E798 Len 0028 utcache-407 [Operand] RegionField R4
+0046E7F8 Len 0028 utcache-407 [Operand] RegionField R4
+0046E858 Len 0028 utcache-407 [Operand] Extra R1
+0046E8B8 Len 0028 utcache-407 [Operand] BufferField R4
+0046E968 Len 0028 utcache-407 [Operand] Buffer R4
+00459C68 Len 0028 utcache-407 [Operand] Extra R1
+00459CC8 Len 0028 utcache-407 [Operand] Region R20
+ACPI Error (utalloc-1053): 100(64) Outstanding allocations [20060127]
+#
+..............................
+
+*/ \ No newline at end of file
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0201_OUTSTAND_ALLOC/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0201_OUTSTAND_ALLOC/MAIN.asl
new file mode 100644
index 000000000..a3328319a
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0201_OUTSTAND_ALLOC/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B201.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0201_OUTSTAND_ALLOC/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0201_OUTSTAND_ALLOC/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0201_OUTSTAND_ALLOC/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0201_OUTSTAND_ALLOC/RUN.asl
new file mode 100644
index 000000000..08c52ca3e
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0201_OUTSTAND_ALLOC/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 201", TCLD, 201, W017)) {
+ SRMT("mfc1")
+ mfc1()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0202_SEE_129/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0202_SEE_129/DECL.asl
new file mode 100644
index 000000000..9487dd059
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0202_SEE_129/DECL.asl
@@ -0,0 +1,40 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 202:
+ *
+ * SUMMARY: The ASLTS test b129 falls into an infinitive loop in a 32-bit slack mode
+ *
+ * It was regression revealed by some test of b129,
+ * so run the test b129.
+ *
+ * Doesn't need separate demo.
+ */
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0203/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0203/DECL.asl
new file mode 100644
index 000000000..7ecdad00a
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0203/DECL.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 203 (local-bugzilla-348):
+ *
+ * SUMMARY: ObjectType operation falls into infinite loop for ring of RefOf references
+ *
+ * Note: add verifications while sorting out and fixing the bug (CH03/CH04/..)
+ */
+
+Method(m813)
+{
+ Method(m000)
+ {
+ Store(RefOf(Local0), Local1)
+ Store(RefOf(Local1), Local2)
+ Store(RefOf(Local2), Local0)
+
+ Store(ObjectType(Local0), Local7)
+
+ /* ? */
+ if (LNotEqual(Local7, c008)) {
+ err("", zFFF, 0x100, 0, 0, Local7, c008)
+ }
+
+ /* or RING_OF_REFS_EXCEPTION? */
+ }
+ m000()
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0203/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0203/MAIN.asl
new file mode 100644
index 000000000..e45f182c4
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0203/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B203.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0203/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0203/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0203/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0203/RUN.asl
new file mode 100644
index 000000000..453148bb0
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0203/RUN.asl
@@ -0,0 +1,41 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 203", TCLD, 203, W017)) {
+
+ SRMT("m813")
+ if (y203) {
+ m813()
+ } else {
+ BLCK()
+ }
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0204/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0204/DECL.asl
new file mode 100644
index 000000000..2cbd90102
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0204/DECL.asl
@@ -0,0 +1,55 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 204 (local-bugzilla-347):
+ *
+ * SUMMARY: SizeOf operation falls into infinite loop for ring of RefOf references
+ *
+ * Note: add verifications while sorting out and fixing the bug (CH03/CH04/..)
+ */
+
+Method(m814)
+{
+ Method(m000)
+ {
+ Store(RefOf(Local0), Local1)
+ Store(RefOf(Local1), Local2)
+ Store(RefOf(Local2), Local0)
+
+ Store(SizeOf(Local0), Local7)
+
+ /*
+ * What # of exception?
+ * AE_AML_UNINITIALIZED_LOCAL or RING_OF_REFS_EXCEPTION?
+ */
+ }
+ m000()
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0204/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0204/MAIN.asl
new file mode 100644
index 000000000..aa6f54244
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0204/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B204.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0204/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0204/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0204/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0204/RUN.asl
new file mode 100644
index 000000000..abc692835
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0204/RUN.asl
@@ -0,0 +1,41 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 204", TCLD, 204, W017)) {
+
+ SRMT("m814")
+ if (y204) {
+ m814()
+ } else {
+ BLCK()
+ }
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0205/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0205/DECL.asl
new file mode 100644
index 000000000..f2f53abd5
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0205/DECL.asl
@@ -0,0 +1,52 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 205 (local-bugzilla-346):
+ *
+ * SUMMARY: Store-to-Debug operation falls into infinite loop for ring of RefOf references
+ *
+ * Note: add verifications while sorting out and fixing the bug (CH03/CH04/..)
+ */
+
+Method(m815)
+{
+ Method(m000)
+ {
+ Store(RefOf(Local0), Local1)
+ Store(RefOf(Local1), Local2)
+ Store(RefOf(Local2), Local0)
+
+ Store(Local0, Debug)
+
+ /* RING_OF_REFS_EXCEPTION? */
+ }
+ m000()
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0205/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0205/MAIN.asl
new file mode 100644
index 000000000..01aa18cc1
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0205/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B205.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0205/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0205/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0205/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0205/RUN.asl
new file mode 100644
index 000000000..95cacf085
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0205/RUN.asl
@@ -0,0 +1,41 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 205", TCLD, 205, W017)) {
+
+ SRMT("m815")
+ if (y205) {
+ m815()
+ } else {
+ BLCK()
+ }
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0206/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0206/DECL.asl
new file mode 100644
index 000000000..7f78f1b8c
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0206/DECL.asl
@@ -0,0 +1,60 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 206 (local-bugzilla-345):
+ *
+ * SUMMARY: ObjectType operation falls into infinite loop for ring of Index references
+ *
+ * Note: add verifications while sorting out and fixing the bug (CH03/CH04/..)
+ */
+
+Method(m816)
+{
+ Method(m000)
+ {
+ Name(p000, Package() {0x10,0x11,0x12,0x13})
+
+ Store(Index(p000, 0), Index(p000, 1))
+ Store(Index(p000, 1), Index(p000, 2))
+ Store(Index(p000, 2), Index(p000, 0))
+
+ Store(Index(p000, 0), Local0)
+
+ Store(ObjectType(Local0), Local7)
+
+ /* RING_OF_REFS_EXCEPTION? */
+
+ Store(ObjectType(Index(p000, 0)), Local7)
+
+ /* RING_OF_REFS_EXCEPTION? */
+ }
+ m000()
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0206/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0206/MAIN.asl
new file mode 100644
index 000000000..483905246
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0206/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B206.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0206/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0206/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0206/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0206/RUN.asl
new file mode 100644
index 000000000..1b14777a6
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0206/RUN.asl
@@ -0,0 +1,41 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 206", TCLD, 206, W017)) {
+
+ SRMT("m816")
+ if (y206) {
+ m816()
+ } else {
+ BLCK()
+ }
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0207/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0207/DECL.asl
new file mode 100644
index 000000000..c2a015cdf
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0207/DECL.asl
@@ -0,0 +1,60 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 207 (local-bugzilla-344):
+ *
+ * SUMMARY: SizeOf operation falls into infinite loop for ring of Index references
+ *
+ * Note: add verifications while sorting out and fixing the bug (CH03/CH04/..)
+ */
+
+Method(m817)
+{
+ Method(m000)
+ {
+ Name(p000, Package() {0x10,0x11,0x12,0x13})
+
+ Store(Index(p000, 0), Index(p000, 1))
+ Store(Index(p000, 1), Index(p000, 2))
+ Store(Index(p000, 2), Index(p000, 0))
+
+ Store(Index(p000, 0), Local0)
+
+ Store(SizeOf(Local0), Local7)
+
+ /* RING_OF_REFS_EXCEPTION? */
+
+ Store(SizeOf(Index(p000, 0)), Local7)
+
+ /* RING_OF_REFS_EXCEPTION? */
+ }
+ m000()
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0207/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0207/MAIN.asl
new file mode 100644
index 000000000..ad10db75a
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0207/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B207.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0207/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0207/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0207/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0207/RUN.asl
new file mode 100644
index 000000000..08078d32d
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0207/RUN.asl
@@ -0,0 +1,41 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 207", TCLD, 207, W017)) {
+
+ SRMT("m817")
+ if (y207) {
+ m817()
+ } else {
+ BLCK()
+ }
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0208/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0208/DECL.asl
new file mode 100644
index 000000000..bf2e1f95d
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0208/DECL.asl
@@ -0,0 +1,86 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 208 (local-bugzilla-343):
+ *
+ * SUMMARY: Store-to-Debug operation falls into infinite loop for ring of Index references
+ *
+ * Note: add verifications while sorting out and fixing the bug (CH03/CH04/..)
+ */
+
+Method(m818)
+{
+ Method(m000)
+ {
+ Name(p000, Package() {0x10,0x11,0x12,0x13})
+
+ Store(Index(p000, 0), Index(p000, 1))
+ Store(Index(p000, 1), Index(p000, 2))
+ Store(Index(p000, 2), Index(p000, 0))
+
+ Store(Index(p000, 0), Local0)
+
+ Store(Local0, Debug)
+
+ /* RING_OF_REFS_EXCEPTION? */
+ }
+
+ Method(m001)
+ {
+ Name(p000, Package() {0x10,0x11,0x12,0x13})
+ Name(p001, Package() {0x20,0x21,0x22,0x23})
+
+ Store(Index(p000, 0), Index(p001, 1))
+ Store(Index(p001, 0), Index(p000, 1))
+
+ Store(Index(p000, 0), Local0)
+
+ Store(Local0, Debug)
+
+ /* RING_OF_REFS_EXCEPTION? */
+ }
+
+ Method(m002)
+ {
+ Name(p000, Package() {0x10,0x11,0x12,0x13})
+
+ Store(Index(p000, 0), Index(p000, 1))
+
+ Store(Index(p000, 3), Local0)
+
+ Store(Local0, Debug)
+
+ /* RING_OF_REFS_EXCEPTION? */
+ }
+ m000()
+ m001()
+ m002()
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0208/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0208/MAIN.asl
new file mode 100644
index 000000000..b41f78375
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0208/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B208.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0208/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0208/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0208/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0208/RUN.asl
new file mode 100644
index 000000000..d52eb4458
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0208/RUN.asl
@@ -0,0 +1,41 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 208", TCLD, 208, W017)) {
+
+ SRMT("m818")
+ if (y208) {
+ m818()
+ } else {
+ BLCK()
+ }
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0209_ML_SEE_135/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0209_ML_SEE_135/DECL.asl
new file mode 100644
index 000000000..d745ca159
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0209_ML_SEE_135/DECL.asl
@@ -0,0 +1,41 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 209:
+ *
+ * SUMMARY: Ineffective memory consumption detected by b135 ASLTS tests
+ *
+ * Inefficient memory consumption during executing the mfdc sub-test
+ * of b135 tests has been revealed.
+ * So, refer to the test b129.
+ *
+ * Doesn't need separate demo.
+ */
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0210/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0210/DECL.asl
new file mode 100644
index 000000000..28f1c6b0d
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0210/DECL.asl
@@ -0,0 +1,68 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 210 (local-bugzilla-349):
+ *
+ * COMPONENT:
+ *
+ * SUMMARY: Implicit return objects are not released in Slack Mode
+ * (Now on Slack Mode when an exception occurs and all nested control
+ * methods are terminated, Implicit return objects are not released).
+ *
+ * Note: automate in future counting the number of Outstanding allocations
+ * per-test and expect here zero which would mean success of test.
+ * Currently, always FAILURE.
+ *
+ * Note: the mentioned Outstanding allocation is not visible when _ERR
+ * is defined.
+ */
+
+Method(m819)
+{
+ Method(m000, 1)
+ {
+ Store(2, Local0)
+ CH03("", 0, 0x000, 0, 0)
+ Divide(1, arg0, Local0)
+ CH04("", 0, 56, 0, 0x001, 0, 0) // AE_AML_DIVIDE_BY_ZERO
+ }
+
+ Method(m001)
+ {
+ Store(1, Local0)
+ m000(0)
+ }
+
+ m001()
+
+ Store("Fight Outstanding allocations here", Debug)
+ err("", zFFF, 0x000, 0, 0, 0, 0)
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0210/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0210/MAIN.asl
new file mode 100644
index 000000000..19ab8550f
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0210/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B210.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0210/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0210/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0210/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0210/RUN.asl
new file mode 100644
index 000000000..be859a503
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0210/RUN.asl
@@ -0,0 +1,37 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 210", TCLD, 210, W017)) {
+
+ SRMT("m819")
+ m819()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0211/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0211/DECL.asl
new file mode 100644
index 000000000..e8c0091e7
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0211/DECL.asl
@@ -0,0 +1,63 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 211:
+ *
+ * COMPONENT:
+ *
+ * SUMMARY: ACPI-CA memory leak due to optionally stored AML Object passed through "child" Method
+ * (On Slack mode outstanding allocations are detected)
+ *
+ * Note: automate in future counting the number of Outstanding allocations
+ * per-test and expect here zero which would mean success of test.
+ * Currently, always FAILURE.
+ */
+
+Method(m81a)
+{
+ Method(m000, 1)
+ {
+ Store(arg0, Debug)
+ }
+
+ Or(0xf0, 0x01, Local0)
+ m000(Local0)
+
+ Store("Fight Outstanding allocations here", Debug)
+ /*
+ * FIXED:
+ *
+ * ------- Additional Comment #8 From Len Brown 2006-06-25 21:49 -------
+ * ACPICA 20060608 shipped in 2.6.17-git9, closed.
+ *
+ * err("", zFFF, 0x000, 0, 0, 0, 0)
+ */
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0211/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0211/MAIN.asl
new file mode 100644
index 000000000..6592034a9
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0211/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B211.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0211/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0211/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0211/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0211/RUN.asl
new file mode 100644
index 000000000..67bdcc0f1
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0211/RUN.asl
@@ -0,0 +1,37 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 211", TCLD, 211, W017)) {
+
+ SRMT("m81a")
+ m81a()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0212/Common.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0212/Common.asl
new file mode 100644
index 000000000..1fa8aca94
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0212/Common.asl
@@ -0,0 +1,33 @@
+/*
+ * 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.
+ */
+
+/*
+ * Methods of common use.
+ */
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0212/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0212/DECL.asl
new file mode 100644
index 000000000..3f5754ea3
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0212/DECL.asl
@@ -0,0 +1,40 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 212:
+ *
+ * SUMMARY: AML interpreter doesn't prevent dead RefOf-references
+ *
+ * DESCRIPTION: RefOf operation doesn't increment the ref count
+ * of parent object which causes undefined results.
+ */
+Include("../../../../../runtime/collections/bdemo/ACPICA/0212/Common.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0212/Misc.asl")
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0212/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0212/MAIN.asl
new file mode 100644
index 000000000..8dd98b718
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0212/MAIN.asl
@@ -0,0 +1,58 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B212.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/common/DECL.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0212/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0212/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0212/Misc.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0212/Misc.asl
new file mode 100644
index 000000000..e6d821fec
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0212/Misc.asl
@@ -0,0 +1,426 @@
+/*
+ * 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.
+ */
+
+/*
+ * RefCounts of named objects are incremented
+ * and then decremented just after completions
+ * of operations applied to them - it is true
+ * for the following operations:
+ *
+ * - object used in AML operations except Index one
+ * - object passed as parameter to Method
+ *
+ * The following AML operations increment the RefCounts
+ * of objects which are decremented only while deleting
+ * the objects where the results of these operations are
+ * saved:
+ *
+ * - Index AML operation
+ * - RefOf AML operation
+ */
+
+Method(m806)
+{
+ Name(p000, Package(64) {})
+ Name(p001, Package(64) {})
+ Name(s000, "01234567890-qwertyuiop[]")
+ Name(b000, Buffer(){0x10,0x12,0x13,0x14,0x15,0x16,0x17})
+ Name(i000, 0xabcd0000)
+ Name(i001, 0xabcd0001)
+ Name(i002, 0xabcd0002)
+ Name(i003, 0xabcd0003)
+ Name(i004, 0xabcd0004)
+ Name(i005, 0xabcd0005)
+ Name(i006, 0xabcd0006)
+ Name(i007, 0xabcd0007)
+
+ Method(m000)
+ {
+ Store(Index(s000, 0), Index(p001, 4))
+ Store(Index(s000, 0), Index(p001, 4))
+ }
+
+ Method(m001)
+ {
+ Store(Index(b000, 0), Index(p001, 7))
+ Store(Index(b000, 0), Index(p001, 7))
+ }
+
+ m000()
+ m001()
+}
+
+Method(m807)
+{
+ Name(p000, Package(64) {})
+ Name(p001, Package(64) {})
+ Name(s000, "01234567890-qwertyuiop[]")
+ Name(b000, Buffer(){0x10,0x12,0x13,0x14,0x15,0x16,0x17})
+ Name(i000, 0xabcd0000)
+ Name(i001, 0xabcd0001)
+ Name(i002, 0xabcd0002)
+ Name(i003, 0xabcd0003)
+ Name(i004, 0xabcd0004)
+ Name(i005, 0xabcd0005)
+ Name(i006, 0xabcd0006)
+ Name(i007, 0xabcd0007)
+
+ Method(mm00, 2)
+ {
+ Method(m000)
+ {
+ Store(Index(p000, 0), Index(p001, 0))
+ Store(Index(p000, 1), Index(p001, 1))
+ Store(Index(p000, 2), Index(p001, 2))
+ Store(Index(p000, 3), Index(p001, 3))
+
+ Store(Index(s000, 0), Index(p001, 4))
+ Store(Index(s000, 1), Index(p001, 5))
+ Store(Index(s000, 2), Index(p001, 6))
+
+ Store(Index(b000, 0), Index(p001, 7))
+ Store(Index(b000, 1), Index(p001, 8))
+ Store(Index(b000, 2), Index(p001, 9))
+ }
+ Method(m001)
+ {
+ Store(Index(p000, 0), Index(p001, 0))
+ Store(Index(p000, 1), Index(p001, 1))
+ Store(Index(p000, 2), Index(p001, 2))
+ Store(Index(p000, 3), Index(p001, 3))
+
+ Store(Index(p001, 0), Index(p000, 0))
+ Store(Index(p001, 1), Index(p000, 1))
+ Store(Index(p001, 2), Index(p000, 2))
+ Store(Index(p001, 3), Index(p000, 3))
+
+ Store(Index(s000, 0), Index(p001, 4))
+ Store(Index(s000, 1), Index(p001, 5))
+ Store(Index(s000, 2), Index(p001, 6))
+
+ Store(Index(b000, 0), Index(p001, 7))
+ Store(Index(b000, 1), Index(p001, 8))
+ Store(Index(b000, 2), Index(p001, 9))
+ }
+ Method(m002)
+ {
+ Store(Index(p000, 0), Local0)
+ Store(Index(p000, 1), Local1)
+ Store(Index(p000, 2), Local2)
+ Store(Index(p000, 3), Local3)
+ }
+ Method(m003, 4)
+ {
+ Store(Index(p000, 0), arg0)
+ Store(Index(p000, 1), arg1)
+ Store(Index(p000, 2), arg2)
+ Store(Index(p000, 3), arg3)
+ }
+ Method(m004, 4)
+ {
+ Store(Index(p000, 0), Index(p001, 0))
+ Store(Index(p000, 1), Index(p001, 1))
+ Store(Index(p000, 2), Index(p001, 2))
+ Store(Index(p000, 3), Index(p001, 3))
+
+ Store(Index(p001, 0), Index(p000, 0))
+ Store(Index(p001, 1), Index(p000, 1))
+ Store(Index(p001, 2), Index(p000, 2))
+ Store(Index(p001, 3), Index(p000, 3))
+
+ Store(Index(s000, 0), Index(p001, 4))
+ Store(Index(s000, 1), Index(p001, 5))
+ Store(Index(s000, 2), Index(p001, 6))
+
+ Store(Index(b000, 0), Index(p001, 7))
+ Store(Index(b000, 1), Index(p001, 8))
+ Store(Index(b000, 2), Index(p001, 9))
+
+ Store(Index(p000, 0), Local0)
+ Store(Index(p000, 1), Local1)
+ Store(Index(p000, 2), Local2)
+ Store(Index(p000, 3), Local3)
+
+ Store(Index(p000, 0), arg0)
+ Store(Index(p000, 1), arg1)
+ Store(Index(p000, 2), arg2)
+ Store(Index(p000, 3), arg3)
+ }
+
+ Method(m005, 6)
+ {
+ Store(Index(arg0, 0), Index(arg1, 0))
+ Store(Index(arg0, 1), Index(arg1, 1))
+ Store(Index(arg0, 2), Index(arg1, 2))
+ Store(Index(arg0, 3), Index(arg1, 3))
+
+ Store(Index(arg1, 0), Index(arg0, 0))
+ Store(Index(arg1, 1), Index(arg0, 1))
+ Store(Index(arg1, 2), Index(arg0, 2))
+ Store(Index(arg1, 3), Index(arg0, 3))
+
+ Store(Index(s000, 0), Index(p001, 4))
+ Store(Index(s000, 1), Index(p001, 5))
+ Store(Index(s000, 2), Index(p001, 6))
+
+ Store(Index(b000, 0), Index(p001, 7))
+ Store(Index(b000, 1), Index(p001, 8))
+ Store(Index(b000, 2), Index(p001, 9))
+
+ Store(Index(arg0, 0), Local0)
+ Store(Index(arg0, 1), Local1)
+ Store(Index(arg0, 2), Local2)
+ Store(Index(arg0, 3), Local3)
+
+ Store(Index(arg0, 0), arg2)
+ Store(Index(arg0, 1), arg3)
+ Store(Index(arg0, 2), arg4)
+ Store(Index(arg0, 3), arg5)
+ }
+
+ m000()
+ m001()
+ m002()
+ m003(0,0,0,0)
+ m004(0,0,0,0)
+ m005(p000,p001,0,0,0,0)
+ m005(arg0,arg1,0,0,0,0)
+ }
+
+ Method(mm01, 2)
+ {
+ m000()
+ m001()
+ m002()
+ m003(0,0,0,0)
+ m004(0,0,0,0)
+ m005(p000,p001,0,0,0,0)
+ m005(arg0,arg1,0,0,0,0)
+ }
+
+ Method(m000)
+ {
+ Store(Index(p000, 0), Index(p001, 0))
+ Store(Index(p000, 1), Index(p001, 1))
+ Store(Index(p000, 2), Index(p001, 2))
+ Store(Index(p000, 3), Index(p001, 3))
+ }
+ Method(m001)
+ {
+ Store(Index(p000, 0), Index(p001, 0))
+ Store(Index(p000, 1), Index(p001, 1))
+ Store(Index(p000, 2), Index(p001, 2))
+ Store(Index(p000, 3), Index(p001, 3))
+
+ Store(Index(p001, 0), Index(p000, 0))
+ Store(Index(p001, 1), Index(p000, 1))
+ Store(Index(p001, 2), Index(p000, 2))
+ Store(Index(p001, 3), Index(p000, 3))
+ }
+ Method(m002)
+ {
+ Store(Index(p000, 0), Local0)
+ Store(Index(p000, 1), Local1)
+ Store(Index(p000, 2), Local2)
+ Store(Index(p000, 3), Local3)
+ }
+ Method(m003, 4)
+ {
+ Store(Index(p000, 0), arg0)
+ Store(Index(p000, 1), arg1)
+ Store(Index(p000, 2), arg2)
+ Store(Index(p000, 3), arg3)
+ }
+
+ Method(m004, 4)
+ {
+ Store(Index(p000, 0), Index(p001, 0))
+ Store(Index(p000, 1), Index(p001, 1))
+ Store(Index(p000, 2), Index(p001, 2))
+ Store(Index(p000, 3), Index(p001, 3))
+
+ Store(Index(p001, 0), Index(p000, 0))
+ Store(Index(p001, 1), Index(p000, 1))
+ Store(Index(p001, 2), Index(p000, 2))
+ Store(Index(p001, 3), Index(p000, 3))
+
+ Store(Index(s000, 0), Index(p001, 4))
+ Store(Index(s000, 1), Index(p001, 5))
+ Store(Index(s000, 2), Index(p001, 6))
+
+ Store(Index(b000, 0), Index(p001, 7))
+ Store(Index(b000, 1), Index(p001, 8))
+ Store(Index(b000, 2), Index(p001, 9))
+
+ Store(Index(p000, 0), Local0)
+ Store(Index(p000, 1), Local1)
+ Store(Index(p000, 2), Local2)
+ Store(Index(p000, 3), Local3)
+
+ Store(Index(p000, 0), arg0)
+ Store(Index(p000, 1), arg1)
+ Store(Index(p000, 2), arg2)
+ Store(Index(p000, 3), arg3)
+ }
+
+ Method(m005, 6)
+ {
+ Store(Index(arg0, 0), Index(arg1, 0))
+ Store(Index(arg0, 1), Index(arg1, 1))
+ Store(Index(arg0, 2), Index(arg1, 2))
+ Store(Index(arg0, 3), Index(arg1, 3))
+
+ Store(Index(arg1, 0), Index(arg0, 0))
+ Store(Index(arg1, 1), Index(arg0, 1))
+ Store(Index(arg1, 2), Index(arg0, 2))
+ Store(Index(arg1, 3), Index(arg0, 3))
+
+ Store(Index(s000, 0), Index(p001, 4))
+ Store(Index(s000, 1), Index(p001, 5))
+ Store(Index(s000, 2), Index(p001, 6))
+
+ Store(Index(b000, 0), Index(p001, 7))
+ Store(Index(b000, 1), Index(p001, 8))
+ Store(Index(b000, 2), Index(p001, 9))
+
+ Store(Index(arg0, 0), Local0)
+ Store(Index(arg0, 1), Local1)
+ Store(Index(arg0, 2), Local2)
+ Store(Index(arg0, 3), Local3)
+
+ Store(Index(arg0, 0), arg2)
+ Store(Index(arg0, 1), arg3)
+ Store(Index(arg0, 2), arg4)
+ Store(Index(arg0, 3), arg5)
+ }
+
+ Method(m006)
+ {
+ Name(p000, Package(8) {})
+ Name(p001, Package(8) {})
+
+ Store(RefOf(p000), Index(p001, 0))
+ Store(RefOf(p001), Index(p000, 0))
+
+ Store(RefOf(p000), Index(p000, 1))
+ Store(RefOf(p001), Index(p001, 1))
+
+ /* Repeat the same */
+
+ Store(RefOf(p000), Index(p001, 0))
+ Store(RefOf(p001), Index(p000, 0))
+
+ Store(RefOf(p000), Index(p000, 1))
+ Store(RefOf(p001), Index(p001, 1))
+ }
+
+ m000()
+ m001()
+ m002()
+ m003(0,0,0,0)
+ m004(0,0,0,0)
+ m005(p000,p001,0,0,0,0)
+ mm00(p000,p001)
+ mm01(p000,p001)
+ m006()
+}
+
+Method(m80f)
+{
+
+ Name(ig00, 0xabcd0001)
+ Name(ir00, 0xabcd0002)
+
+ Method(m000)
+ {
+ Name(i000, 0xabcd0003)
+ CopyObject(RefOf(i000), ir00)
+ }
+
+ Method(m001, 1)
+ {
+ Name(iii0, 0xabcd0004)
+ Name(iii1, 0xabcd0005)
+ Name(iii2, 0xabcd0006)
+ Name(iii3, 0xabcd0007)
+ Name(iii4, 0xabcd0008)
+ Name(iii5, 0xabcd0009)
+ Name(iii6, 0xabcd000a)
+ Name(iii7, 0xabcd000b)
+
+ CopyObject(DerefOf(ir00), Local0)
+ if (LNotEqual(Local0, arg0)) {
+ err("", zFFF, 0x534, 0, 0, Local0, arg0)
+ }
+ }
+ m000()
+ m001(0xabcd0003)
+}
+
+Method(m810)
+{
+ Name(p000, Package(4) {0,1,2,3})
+
+ Method(m000)
+ {
+ Store(0xabcd0009, Local0)
+ Store(RefOf(Local0), Index(p000, 2))
+ }
+ m000()
+}
+
+Method(m811)
+{
+ Name(p000, Package(4) {0,1,2,3})
+
+ Method(m000)
+ {
+ Store(RefOf(Local0), Index(p000, 2))
+ }
+ m000()
+}
+
+Method(m805)
+{
+ SRMT("m806")
+ m806()
+ SRMT("m807")
+ if (y135) {
+ m807()
+ } else {
+ BLCK()
+ }
+ SRMT("m80f")
+ m80f()
+ SRMT("m810")
+ m810()
+ SRMT("m811")
+ m811()
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0212/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0212/RUN.asl
new file mode 100644
index 000000000..26620698d
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0212/RUN.asl
@@ -0,0 +1,35 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 212", TCLD, 212, W017)) {
+ m805()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0213/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0213/DECL.asl
new file mode 100644
index 000000000..bd1372889
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0213/DECL.asl
@@ -0,0 +1,59 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 213 (local-bugzilla-342):
+ *
+ * SUMMARY: abort of AcpiExec on accessing internal object of terminated method by returned IRef
+ *
+ * Crash of AcpiExec occurs when an attempt is
+ * made to access an internal object of method
+ * by Index reference to that object returned
+ * by method (so, the object is dead at the
+ * time it is tried).
+ */
+
+Method(m81b)
+{
+ Method(m000)
+ {
+ Name(s000, "string")
+ Name(p000, Package(){s000})
+ Store(Index(p000, 0), Local0)
+ Store(Derefof(Local0), Debug)
+ Return(Local0)
+ }
+
+ CH03("", 0, 0x000, 0, 0)
+ Store(m000(), Local0)
+ CH04("", 0, 0xff, 0, 0x001, 0, 0)
+ Store(Derefof(Local0), Debug)
+ CH04("", 0, 0xff, 0, 0x002, 0, 0)
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0213/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0213/MAIN.asl
new file mode 100644
index 000000000..4ebbdb5ba
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0213/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B213.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0213/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0213/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0213/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0213/RUN.asl
new file mode 100644
index 000000000..ad5d5f1f8
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0213/RUN.asl
@@ -0,0 +1,40 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 213", TCLD, 213, W017)) {
+ SRMT("m81b")
+ if (y213) {
+ m81b()
+ } else {
+ BLCK()
+ }
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0214/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0214/DECL.asl
new file mode 100644
index 000000000..74b9ea0a3
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0214/DECL.asl
@@ -0,0 +1,86 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 214 (local-bugzilla-350):
+ *
+ *
+ * SUMMARY: crash of AcpiExec on repeated CopyObject of OpRegion
+ *
+ * Repeated duplication of an OpRegion to another
+ * dynamic OpRegion by CopyObject ASL operator causes
+ * crash of AcpiExec.
+ */
+
+Method(m81c)
+{
+ Method(m000, 1)
+ {
+ OperationRegion(OPR0, SystemMemory, 0, 0x10)
+
+ CopyObject(arg0, OPR0)
+ }
+
+ OperationRegion(OPR1, SystemMemory, 0, 0x10)
+
+ Method(m001)
+ {
+ Field(OPR1, ByteAcc, NoLock, WriteAsZeros) {
+ rfu0, 8,
+ }
+
+ Store(0x01, rfu0)
+ m000(OPR1)
+ if (LNotEqual(rfu0, 0x01)) {
+ err("", zFFF, 0x000, 0, 0, rfu0, 0x01)
+ }
+
+ Store(0x02, rfu0)
+ m000(OPR1)
+ if (LNotEqual(rfu0, 0x02)) {
+ err("", zFFF, 0x001, 0, 0, rfu0, 0x02)
+ }
+
+ Store(0x03, rfu0)
+ m000(OPR1)
+ if (LNotEqual(rfu0, 0x03)) {
+ err("", zFFF, 0x002, 0, 0, rfu0, 0x03)
+ }
+
+ Store(0x04, rfu0)
+ if (LNotEqual(rfu0, 0x04)) {
+ err("", zFFF, 0x003, 0, 0, rfu0, 0x04)
+ }
+ }
+
+ CH03("", 0, 0x000, 0, 0)
+ m001()
+ CH03("", 0, 0x001, 0, 0)
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0214/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0214/MAIN.asl
new file mode 100644
index 000000000..f7bf762b5
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0214/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B214.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0214/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0214/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0214/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0214/RUN.asl
new file mode 100644
index 000000000..7cf1a0b66
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0214/RUN.asl
@@ -0,0 +1,40 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 214", TCLD, 214, W017)) {
+ SRMT("m81c")
+ if (y214) {
+ m81c()
+ } else {
+ BLCK()
+ }
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0215/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0215/DECL.asl
new file mode 100644
index 000000000..0e8a93dc7
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0215/DECL.asl
@@ -0,0 +1,94 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 215 (local-bugzilla-351):
+ *
+ * SUMMARY: exception on accessing IndexField with IndexName Region Field exceeding 32 bits
+ *
+ * Exception AE_BUFFER_OVERFLOW unexpectedly
+ * occurs on access to an IndexField object if
+ * the length of the respective IndexName Region
+ * Field exceeds 32 bits.
+ */
+
+Method(m81d)
+{
+ Method(m000)
+ {
+ OperationRegion(OPR0, SystemMemory, 0, 0x30)
+
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ idx0, 32,
+ dta0, 32,
+ }
+
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ Offset(8), idx1, 32,
+ Offset(16), dta1, 33,
+ }
+
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ Offset(24), idx2, 33,
+ Offset(32), dta2, 32,
+ }
+
+ IndexField(idx0, dta0, ByteAcc, NoLock, Preserve) {
+ idf0, 1,
+ }
+
+ IndexField(idx1, dta1, ByteAcc, NoLock, Preserve) {
+ idf1, 1,
+ }
+
+ IndexField(idx2, dta2, ByteAcc, NoLock, Preserve) {
+ idf2, 1,
+ }
+
+ Store(1, idf0)
+ if (LNotEqual(idf0, 1)) {
+ err("", zFFF, 0x000, 0, 0, idf0, 1)
+ }
+
+ Store(1, idf1)
+ if (LNotEqual(idf1, 1)) {
+ err("", zFFF, 0x001, 0, 0, idf1, 1)
+ }
+
+ Store(1, idf2)
+ if (LNotEqual(idf2, 1)) {
+ err("", zFFF, 0x002, 0, 0, idf2, 1)
+ }
+ }
+
+ CH03("", 0, 0x000, 0, 0)
+ m000()
+ CH03("", 0, 0x001, 0, 0)
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0215/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0215/MAIN.asl
new file mode 100644
index 000000000..09e68201c
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0215/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B215.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0215/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0215/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0215/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0215/RUN.asl
new file mode 100644
index 000000000..f7a9a0942
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0215/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 215", TCLD, 215, W017)) {
+ SRMT("m81d")
+ m81d()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0216/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0216/DECL.asl
new file mode 100644
index 000000000..518b1913e
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0216/DECL.asl
@@ -0,0 +1,783 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 216(local-bugzilla-341):
+ *
+ * SUMMARY: exception AE_NOT_FOUND on CreateField under specific conditions
+ *
+ * Failed to find Buffer for CreateField both declared inside
+ * some of these types: Device/ThermalZone/Processor/PowerResource
+ * which in turn are declared inside some method thus created
+ * dynamically.
+ *
+ * APPEARANCE:
+ * Call method which declares object of any of these types:
+ * Device
+ * ThermalZone
+ * Processor
+ * PowerResource
+ * which contains internal declarations of Buffer of name which
+ * there are no in the higher levels and run CreateField for that
+ * Buffer. If run method then get mentioned exception.
+ *
+ * May suspect, at first glance, that if the name of that Buffer fit
+ * the name of some higher level Buffer (no exception in that case)
+ * then CreateField deals with that higher level Buffer. Though, the
+ * example with dd12 doesn't count in favour of that reason.
+ *
+ * Note: add verifications while fixing the bug (access to Buffer Fields..).
+ */
+
+/* ======== 0 ======= */
+
+Name(bd11, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})
+Name(bd12, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})
+Device(dd12) {}
+
+
+Device(dd0e) {
+ Name(bd13, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})
+ CreateField(bd13, 0, 8, bf00)
+ }
+
+ThermalZone(tzd3) {
+ Name(bd13, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})
+ CreateField(bd13, 0, 8, bf00)
+ }
+
+Processor(prd3, 0, 0xFFFFFFFF, 0) {
+ Name(bd13, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})
+ CreateField(bd13, 0, 8, bf00)
+ }
+
+PowerResource(pwd3, 1, 0) {
+ Name(bd13, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})
+ CreateField(bd13, 0, 8, bf00)
+ }
+
+Method(m81e) {
+ Name(bd13, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})
+ CreateField(bd13, 0, 8, bf00)
+ }
+
+/* ======== 1 ======= */
+
+Device(dd0f) {
+ Name(bd11, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})
+ CreateField(bd11, 0, 8, bf00)
+ }
+
+ThermalZone(tzd4) {
+ Name(bd11, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})
+ CreateField(bd11, 0, 8, bf00)
+ }
+
+Processor(prd4, 0, 0xFFFFFFFF, 0) {
+ Name(bd11, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})
+ CreateField(bd11, 0, 8, bf00)
+ }
+
+PowerResource(pwd4, 1, 0) {
+ Name(bd11, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})
+ CreateField(bd11, 0, 8, bf00)
+ }
+
+Method(m81f) {
+ Name(bd11, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})
+ CreateField(bd11, 0, 8, bf00)
+ }
+
+/* ======== 2 ======= */
+
+Device(dd10) {
+ CreateField(bd11, 0, 8, bf00)
+ }
+
+ThermalZone(tzd5) {
+ CreateField(bd11, 0, 8, bf00)
+ }
+
+Processor(prd5, 0, 0xFFFFFFFF, 0) {
+ CreateField(bd11, 0, 8, bf00)
+ }
+
+PowerResource(pwd5, 1, 0) {
+ CreateField(bd11, 0, 8, bf00)
+ }
+
+Method(m820) {
+ CreateField(bd11, 0, 8, bf00)
+ }
+
+/* ======== 3 ======= */
+
+Device(dd11) {
+
+ /* ======== 0 ======= */
+
+ Name(bd13, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})
+ CreateField(bd13, 0, 8, bf00)
+
+ Device(dd0e) {
+ Name(bd13, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})
+ CreateField(bd13, 0, 8, bf00)
+ }
+
+ ThermalZone(tzd3) {
+ Name(bd13, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})
+ CreateField(bd13, 0, 8, bf00)
+ }
+
+ Processor(prd3, 0, 0xFFFFFFFF, 0) {
+ Name(bd13, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})
+ CreateField(bd13, 0, 8, bf00)
+ }
+
+ PowerResource(pwd3, 1, 0) {
+ Name(bd13, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})
+ CreateField(bd13, 0, 8, bf00)
+ }
+
+ Method(m81e) {
+ Name(bd13, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})
+ CreateField(bd13, 0, 8, bf00)
+ }
+
+ /* ======== 1 ======= */
+
+ Device(dd0f) {
+ Name(bd11, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})
+ CreateField(bd11, 0, 8, bf00)
+ }
+
+ ThermalZone(tzd4) {
+ Name(bd11, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})
+ CreateField(bd11, 0, 8, bf00)
+ }
+
+ Processor(prd4, 0, 0xFFFFFFFF, 0) {
+ Name(bd11, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})
+ CreateField(bd11, 0, 8, bf00)
+ }
+
+ PowerResource(pwd4, 1, 0) {
+ Name(bd11, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})
+ CreateField(bd11, 0, 8, bf00)
+ }
+
+ Method(m81f) {
+ Name(bd11, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})
+ CreateField(bd11, 0, 8, bf00)
+ }
+
+ /* ======== 2 ======= */
+
+ Device(dd10) {
+ CreateField(bd11, 0, 8, bf00)
+ }
+
+ ThermalZone(tzd5) {
+ CreateField(bd11, 0, 8, bf00)
+ }
+
+ Processor(prd5, 0, 0xFFFFFFFF, 0) {
+ CreateField(bd11, 0, 8, bf00)
+ }
+
+ PowerResource(pwd5, 1, 0) {
+ CreateField(bd11, 0, 8, bf00)
+ }
+
+ Method(m820) {
+ CreateField(bd11, 0, 8, bf00)
+ }
+}
+
+ThermalZone(tzd6) {
+
+ /* ======== 0 ======= */
+
+ Name(bd13, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})
+ CreateField(bd13, 0, 8, bf00)
+
+ Device(dd0e) {
+ Name(bd13, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})
+ CreateField(bd13, 0, 8, bf00)
+ }
+
+ ThermalZone(tzd3) {
+ Name(bd13, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})
+ CreateField(bd13, 0, 8, bf00)
+ }
+
+ Processor(prd3, 0, 0xFFFFFFFF, 0) {
+ Name(bd13, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})
+ CreateField(bd13, 0, 8, bf00)
+ }
+
+ PowerResource(pwd3, 1, 0) {
+ Name(bd13, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})
+ CreateField(bd13, 0, 8, bf00)
+ }
+
+ Method(m81e) {
+ Name(bd13, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})
+ CreateField(bd13, 0, 8, bf00)
+ }
+
+ /* ======== 1 ======= */
+
+ Device(dd0f) {
+ Name(bd11, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})
+ CreateField(bd11, 0, 8, bf00)
+ }
+
+ ThermalZone(tzd4) {
+ Name(bd11, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})
+ CreateField(bd11, 0, 8, bf00)
+ }
+
+ Processor(prd4, 0, 0xFFFFFFFF, 0) {
+ Name(bd11, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})
+ CreateField(bd11, 0, 8, bf00)
+ }
+
+ PowerResource(pwd4, 1, 0) {
+ Name(bd11, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})
+ CreateField(bd11, 0, 8, bf00)
+ }
+
+ Method(m81f) {
+ Name(bd11, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})
+ CreateField(bd11, 0, 8, bf00)
+ }
+
+ /* ======== 2 ======= */
+
+ Device(dd10) {
+ CreateField(bd11, 0, 8, bf00)
+ }
+
+ ThermalZone(tzd5) {
+ CreateField(bd11, 0, 8, bf00)
+ }
+
+ Processor(prd5, 0, 0xFFFFFFFF, 0) {
+ CreateField(bd11, 0, 8, bf00)
+ }
+
+ PowerResource(pwd5, 1, 0) {
+ CreateField(bd11, 0, 8, bf00)
+ }
+
+ Method(m820) {
+ CreateField(bd11, 0, 8, bf00)
+ }
+}
+
+Processor(prd6, 0, 0xFFFFFFFF, 0) {
+
+ /* ======== 0 ======= */
+
+ Name(bd13, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})
+ CreateField(bd13, 0, 8, bf00)
+
+ Device(dd0e) {
+ Name(bd13, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})
+ CreateField(bd13, 0, 8, bf00)
+ }
+
+ ThermalZone(tzd3) {
+ Name(bd13, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})
+ CreateField(bd13, 0, 8, bf00)
+ }
+
+ Processor(prd3, 0, 0xFFFFFFFF, 0) {
+ Name(bd13, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})
+ CreateField(bd13, 0, 8, bf00)
+ }
+
+ PowerResource(pwd3, 1, 0) {
+ Name(bd13, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})
+ CreateField(bd13, 0, 8, bf00)
+ }
+
+ Method(m81e) {
+ Name(bd13, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})
+ CreateField(bd13, 0, 8, bf00)
+ }
+
+ /* ======== 1 ======= */
+
+ Device(dd0f) {
+ Name(bd11, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})
+ CreateField(bd11, 0, 8, bf00)
+ }
+
+ ThermalZone(tzd4) {
+ Name(bd11, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})
+ CreateField(bd11, 0, 8, bf00)
+ }
+
+ Processor(prd4, 0, 0xFFFFFFFF, 0) {
+ Name(bd11, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})
+ CreateField(bd11, 0, 8, bf00)
+ }
+
+ PowerResource(pwd4, 1, 0) {
+ Name(bd11, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})
+ CreateField(bd11, 0, 8, bf00)
+ }
+
+ Method(m81f) {
+ Name(bd11, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})
+ CreateField(bd11, 0, 8, bf00)
+ }
+
+ /* ======== 2 ======= */
+
+ Device(dd10) {
+ CreateField(bd11, 0, 8, bf00)
+ }
+
+ ThermalZone(tzd5) {
+ CreateField(bd11, 0, 8, bf00)
+ }
+
+ Processor(prd5, 0, 0xFFFFFFFF, 0) {
+ CreateField(bd11, 0, 8, bf00)
+ }
+
+ PowerResource(pwd5, 1, 0) {
+ CreateField(bd11, 0, 8, bf00)
+ }
+
+ Method(m820) {
+ CreateField(bd11, 0, 8, bf00)
+ }
+}
+
+PowerResource(pwd6, 1, 0) {
+
+ /* ======== 0 ======= */
+
+ Name(bd13, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})
+ CreateField(bd13, 0, 8, bf00)
+
+ Device(dd0e) {
+ Name(bd13, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})
+ CreateField(bd13, 0, 8, bf00)
+ }
+
+ ThermalZone(tzd3) {
+ Name(bd13, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})
+ CreateField(bd13, 0, 8, bf00)
+ }
+
+ Processor(prd3, 0, 0xFFFFFFFF, 0) {
+ Name(bd13, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})
+ CreateField(bd13, 0, 8, bf00)
+ }
+
+ PowerResource(pwd3, 1, 0) {
+ Name(bd13, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})
+ CreateField(bd13, 0, 8, bf00)
+ }
+
+ Method(m81e) {
+ Name(bd13, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})
+ CreateField(bd13, 0, 8, bf00)
+ }
+
+ /* ======== 1 ======= */
+
+ Device(dd0f) {
+ Name(bd11, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})
+ CreateField(bd11, 0, 8, bf00)
+ }
+
+ ThermalZone(tzd4) {
+ Name(bd11, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})
+ CreateField(bd11, 0, 8, bf00)
+ }
+
+ Processor(prd4, 0, 0xFFFFFFFF, 0) {
+ Name(bd11, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})
+ CreateField(bd11, 0, 8, bf00)
+ }
+
+ PowerResource(pwd4, 1, 0) {
+ Name(bd11, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})
+ CreateField(bd11, 0, 8, bf00)
+ }
+
+ Method(m81f) {
+ Name(bd11, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})
+ CreateField(bd11, 0, 8, bf00)
+ }
+
+ /* ======== 2 ======= */
+
+ Device(dd10) {
+ CreateField(bd11, 0, 8, bf00)
+ }
+
+ ThermalZone(tzd5) {
+ CreateField(bd11, 0, 8, bf00)
+ }
+
+ Processor(prd5, 0, 0xFFFFFFFF, 0) {
+ CreateField(bd11, 0, 8, bf00)
+ }
+
+ PowerResource(pwd5, 1, 0) {
+ CreateField(bd11, 0, 8, bf00)
+ }
+
+ Method(m820) {
+ CreateField(bd11, 0, 8, bf00)
+ }
+}
+
+Method(m821)
+{
+ /* ======== 0 ======= */
+
+ Name(bd13, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})
+ CreateField(bd13, 0, 8, bf00)
+
+ Device(dd0e) {
+ Name(bd13, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})
+ CreateField(bd13, 0, 8, bf00)
+ }
+
+ ThermalZone(tzd3) {
+ Name(bd13, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})
+ CreateField(bd13, 0, 8, bf00)
+ }
+
+ Processor(prd3, 0, 0xFFFFFFFF, 0) {
+ Name(bd13, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})
+ CreateField(bd13, 0, 8, bf00)
+ }
+
+ PowerResource(pwd3, 1, 0) {
+ Name(bd13, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})
+ CreateField(bd13, 0, 8, bf00)
+ }
+
+ Method(m81e) {
+ Name(bd13, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})
+ CreateField(bd13, 0, 8, bf00)
+ }
+
+ /* ======== 1 ======= */
+
+ Device(dd0f) {
+ Name(bd11, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})
+ CreateField(bd11, 0, 8, bf00)
+ }
+
+ ThermalZone(tzd4) {
+ Name(bd11, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})
+ CreateField(bd11, 0, 8, bf00)
+ }
+
+ Processor(prd4, 0, 0xFFFFFFFF, 0) {
+ Name(bd11, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})
+ CreateField(bd11, 0, 8, bf00)
+ }
+
+ PowerResource(pwd4, 1, 0) {
+ Name(bd11, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})
+ CreateField(bd11, 0, 8, bf00)
+ }
+
+ Method(m81f) {
+ Name(bd11, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})
+ CreateField(bd11, 0, 8, bf00)
+ }
+
+ /* ======== 2 ======= */
+
+ Device(dd10) {
+ CreateField(bd11, 0, 8, bf00)
+ }
+
+ ThermalZone(tzd5) {
+ CreateField(bd11, 0, 8, bf00)
+ }
+
+ Processor(prd5, 0, 0xFFFFFFFF, 0) {
+ CreateField(bd11, 0, 8, bf00)
+ }
+
+ PowerResource(pwd5, 1, 0) {
+ CreateField(bd11, 0, 8, bf00)
+ }
+
+ Method(m820) {
+ CreateField(bd11, 0, 8, bf00)
+ }
+ m81e()
+ m81f()
+ m820()
+}
+
+/* ======== 4 ======= */
+
+Method(m822)
+{
+ Device(dd0e) {
+ Name(bd13, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})
+ CreateField(bd13, 0, 8, bf00)
+ }
+}
+
+Method(m823)
+{
+ ThermalZone(tzd3) {
+ Name(bd13, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})
+ CreateField(bd13, 0, 8, bf00)
+ }
+}
+
+Method(m824)
+{
+ Processor(prd3, 0, 0xFFFFFFFF, 0) {
+ Name(bd13, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})
+ CreateField(bd13, 0, 8, bf00)
+ }
+}
+
+Method(m825)
+{
+ PowerResource(pwd3, 1, 0) {
+ Name(bd13, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})
+ CreateField(bd13, 0, 8, bf00)
+ }
+}
+
+Method(m826)
+{
+ Method(m000) {
+ Name(bd13, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})
+ CreateField(bd13, 0, 8, bf00)
+ }
+}
+
+/* ======== 5 ======= */
+
+Method(m827)
+{
+ Device(dd0e) {
+ Name(bd11, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})
+ CreateField(bd11, 0, 8, bf00)
+ }
+}
+
+Method(m828)
+{
+ ThermalZone(tzd3) {
+ Name(bd11, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})
+ CreateField(bd11, 0, 8, bf00)
+ }
+}
+
+Method(m829)
+{
+ Processor(prd3, 0, 0xFFFFFFFF, 0) {
+ Name(bd11, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})
+ CreateField(bd11, 0, 8, bf00)
+ }
+}
+
+Method(m82a)
+{
+ PowerResource(pwd3, 1, 0) {
+ Name(bd11, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})
+ CreateField(bd11, 0, 8, bf00)
+ }
+}
+
+Method(m82b)
+{
+ Method(m000) {
+ Name(bd11, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})
+ CreateField(bd11, 0, 8, bf00)
+ }
+}
+
+/* ======== 6 ======= */
+
+Method(m82c)
+{
+ Device(dd0e) {
+ CreateField(bd12, 0, 8, bf00)
+ }
+}
+
+Method(m82d)
+{
+ ThermalZone(tzd3) {
+ CreateField(bd12, 0, 8, bf00)
+ }
+}
+
+Method(m82e)
+{
+ Processor(prd3, 0, 0xFFFFFFFF, 0) {
+ CreateField(bd12, 0, 8, bf00)
+ }
+}
+
+Method(m82f)
+{
+ PowerResource(pwd3, 1, 0) {
+ CreateField(bd12, 0, 8, bf00)
+ }
+}
+
+Method(m830)
+{
+ Method(m000) {
+ CreateField(bd12, 0, 8, bf00)
+ }
+}
+
+/* ======== 7 ======= */
+
+Method(m832)
+{
+ Device(dd0e) {
+ Name(dd12, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})
+ CreateField(dd12, 0, 8, bf00)
+ }
+}
+
+Method(m833)
+{
+ ThermalZone(tzd3) {
+ Name(dd12, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})
+ CreateField(dd12, 0, 8, bf00)
+ }
+}
+
+Method(m834)
+{
+ Processor(prd3, 0, 0xFFFFFFFF, 0) {
+ Name(dd12, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})
+ CreateField(dd12, 0, 8, bf00)
+ }
+}
+
+Method(m835)
+{
+ PowerResource(pwd3, 1, 0) {
+ Name(dd12, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})
+ CreateField(dd12, 0, 8, bf00)
+ }
+}
+
+Method(m836)
+{
+ Method(m000) {
+ Name(dd12, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})
+ CreateField(dd12, 0, 8, bf00)
+ }
+}
+
+
+
+
+Method(m831)
+{
+ CH03("", 0, 0x000, 0, 0)
+
+ SRMT("m831-0")
+ if (1) {
+ m81e()
+ m81f()
+ m820()
+ m821()
+ }
+
+ CH03("", 0, 0x001, 0, 0)
+
+ SRMT("m831-1")
+ if (1) {
+ m822()
+ CH03("", 0, 0x002, 0, 0)
+ m823()
+ CH03("", 0, 0x003, 0, 0)
+ m824()
+ CH03("", 0, 0x004, 0, 0)
+ m825()
+ CH03("", 0, 0x005, 0, 0)
+ m826()
+ CH03("", 0, 0x006, 0, 0)
+ }
+
+ CH03("", 0, 0x007, 0, 0)
+
+ SRMT("m831-2")
+ if (1) {
+ m827()
+ m828()
+ m829()
+ m82a()
+ m82b()
+ }
+
+ CH03("", 0, 0x008, 0, 0)
+
+ SRMT("m831-3")
+ if (1) {
+ m82c()
+ m82d()
+ m82e()
+ m82f()
+ m830()
+ }
+
+ CH03("", 0, 0x009, 0, 0)
+
+ SRMT("m831-4")
+ if (1) {
+ m832()
+ m833()
+ m834()
+ m835()
+ m836()
+ }
+
+ CH03("", 0, 0x00a, 0, 0)
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0216/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0216/MAIN.asl
new file mode 100644
index 000000000..6ec43fc5d
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0216/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B216.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0216/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0216/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0216/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0216/RUN.asl
new file mode 100644
index 000000000..c58e1d34a
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0216/RUN.asl
@@ -0,0 +1,35 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 216", TCLD, 216, W017)) {
+ m831()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0217/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0217/DECL.asl
new file mode 100644
index 000000000..854a97eb4
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0217/DECL.asl
@@ -0,0 +1,60 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 217:
+ *
+ * SUMMARY: Dynamic OpRegion _REG method execution problem
+ */
+
+Method(m035)
+{
+ Method(_REG, 2)
+ {
+ Store("m035._REG", Debug)
+ Store(arg0, Debug)
+ Store(arg1, Debug)
+ Increment(id2a)
+ }
+
+ OperationRegion(OPR0, SystemMemory, 0x2000, 0x100)
+
+ if (LNotEqual(id2a, 1)) {
+ err("", zFFF, 0x000, 0, 0, id2a, 1)
+ }
+}
+
+Method(m036)
+{
+ if (LNotEqual(id2a, 0)) {
+ err("", zFFF, 0x001, 0, 0, id2a, 0)
+ }
+ m035()
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0217/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0217/MAIN.asl
new file mode 100644
index 000000000..c8f95dd04
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0217/MAIN.asl
@@ -0,0 +1,58 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B217.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/common/DECL.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0217/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0217/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0217/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0217/RUN.asl
new file mode 100644
index 000000000..9c27a43d5
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0217/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 217", TCLD, 217, W017)) {
+ SRMT("m036")
+ m036()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0218/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0218/DECL.asl
new file mode 100644
index 000000000..5f1a4ed1b
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0218/DECL.asl
@@ -0,0 +1,96 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 218:
+ *
+ * SUMMARY: Access to internal object of Method is lost after returning from the recursive call to that Method
+ *
+ * NOTE: Reaction on the situation generated by the test should be fixed according to this:
+ *
+ * >-----Original Message-----
+ * >From: Moore, Robert
+ * >Sent: Tuesday, September 12, 2006 10:56 PM
+ * >To: Moore, Robert
+ * >Subject: ACPICA version 20060912 released [Code Attached]
+ * >
+ * >12 September 2006. Summary of changes for version 20060912:
+ * >
+ * >1) ACPI CA Core Subsystem:
+ * >
+ * > .....................
+ * >
+ * >Fixed a regression where an error was no longer emitted if a control method
+ * >attempts to create 2 objects of the same name. This once again returns
+ * >AE_ALREADY_EXISTS. When this exception occurs, it invokes the mechanism
+ * >that will dynamically serialize the control method to possibly prevent
+ * >future errors. (BZ 440)
+ * > .....................
+ */
+
+Method(m037)
+{
+ Name(i000, 0)
+
+ Store(id29, i000)
+ Store(id29, Local0)
+
+ Store("===== Start of test", Debug)
+ Store(id29, Debug)
+ Store(i000, Debug)
+ Store(Local0, Debug)
+
+ Increment(id29)
+
+ if (LLess(id29, 10)) {
+ m037()
+ }
+
+ Decrement(id29)
+
+ Store("===== Finish of test", Debug)
+ Store(id29, Debug)
+ Store(i000, Debug)
+ Store(Local0, Debug)
+
+ if (LNotEqual(i000, id29)) {
+ err("", zFFF, 0x000, 0, 0, i000, id29)
+ }
+
+ if (LNotEqual(Local0, id29)) {
+ err("", zFFF, 0x001, 0, 0, Local0, id29)
+ }
+}
+
+Method(m038) {
+ CH03("", 0, 0x000, 0, 0)
+ m037()
+ CH03("", 0, 0x001, 0, 0)
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0218/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0218/MAIN.asl
new file mode 100644
index 000000000..566d0f16a
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0218/MAIN.asl
@@ -0,0 +1,58 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B218.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/common/DECL.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0218/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0218/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0218/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0218/RUN.asl
new file mode 100644
index 000000000..ec09de30b
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0218/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 218", TCLD, 218, W017)) {
+ SRMT("m038")
+ m038()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0219/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0219/DECL.asl
new file mode 100644
index 000000000..6b566a1f8
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0219/DECL.asl
@@ -0,0 +1,50 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 219:
+ *
+ * SUMMARY: The result of Interrupt Resource Template macro is incorrect when ResourceSource is omitted
+ */
+
+Method(m107)
+{
+ Name (RT00, ResourceTemplate () {
+ Interrupt (ResourceConsumer, Edge, ActiveLow, Shared,
+ 0x0f) {0xfcfdfeff}
+ })
+
+ Name (BUF0, Buffer () {0x89, 0x07, 0x00, 0x0f, 0x01, 0xff, 0xfe, 0xfd, 0xfc,
+ 0x0f, 0x79, 0x00})
+
+ if (LNotEqual(RT00, BUF0)) {
+ err("", zFFF, 0x000, 0, 0, RT00, BUF0)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0219/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0219/MAIN.asl
new file mode 100644
index 000000000..cc56a0602
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0219/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B219.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0219/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0219/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0219/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0219/RUN.asl
new file mode 100644
index 000000000..f3c48f2a5
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0219/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 219", TCLD, 219, W017)) {
+ SRMT("m107")
+ m107()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0220/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0220/DECL.asl
new file mode 100644
index 000000000..a5d8eb4e8
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0220/DECL.asl
@@ -0,0 +1,73 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 220:
+ *
+ * SUMMARY: Inconsistent "Access is available/unavailable" _REG method calls
+ */
+
+Device(D220) {
+ Name(ACTV, 0)
+ Name(DACT, 0)
+ Name(NERR, 0)
+
+ Method(_REG, 2)
+ {
+ Store("_REG:", Debug)
+ Store(arg0, Debug)
+ Store(arg1, Debug)
+
+ if (arg0) {
+ Increment(NERR)
+ } elseif (LGreater(arg1, 1)) {
+ Increment(NERR)
+ } elseif (arg1) {
+ Increment(ACTV)
+ } else {
+ Increment(DACT)
+ }
+ }
+
+ OperationRegion(OPR0, SystemMemory, 0x2000, 0x100)
+}
+
+Method(m108)
+{
+ if (\D220.NERR) {
+ err("", zFFF, 0x000, 0, 0, \D220.NERR, 0)
+ }
+
+ Subtract(\D220.ACTV, \D220.DACT, Local0)
+
+ if (LNotEqual(Local0, 1)) {
+ err("", zFFF, 0x001, 0, 0, Local0, 1)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0220/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0220/MAIN.asl
new file mode 100644
index 000000000..fd935f4fa
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0220/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B220.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0220/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0220/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0220/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0220/RUN.asl
new file mode 100644
index 000000000..ace32146f
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0220/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 220", TCLD, 220, W017)) {
+ SRMT("m108")
+ m108()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0221/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0221/DECL.asl
new file mode 100644
index 000000000..1e66a1cd0
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0221/DECL.asl
@@ -0,0 +1,73 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 221:
+ *
+ * SUMMARY: AcpiExec improper emulates alternating access to OpRegions
+ * covering different ranges
+ */
+
+Method(m109)
+{
+ Method(CHCK, 3)
+ {
+ if (LNotEqual(arg0, arg1)) {
+ err("", zFFF, arg2, 0, 0, arg0, arg1)
+ }
+ }
+
+ OperationRegion(OPR0, SystemMemory, 0x00, 0x02)
+ OperationRegion(OPR1, SystemMemory, 0x00, 0x01)
+ OperationRegion(OPR2, SystemMemory, 0x01, 0x01)
+
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ f000, 8, // Byte 0
+ f001, 8, // Byte 1
+ }
+ Field(OPR1, ByteAcc, NoLock, Preserve) {
+ f002, 8, // Byte 0
+ }
+ Field(OPR2, ByteAcc, NoLock, Preserve) {
+ f003, 8, // Byte 1
+ }
+
+ Store(0x5a, f001) // Byte 1
+ CHCK(f001, 0x5a, 0)
+
+ Store(0xc3, f002) // Byte 0
+ CHCK(f002, 0xc3, 1)
+
+ CHCK(f000, 0xc3, 2) // Byte 0
+
+ CHCK(f001, 0x5a, 3) // Byte 1
+
+ CHCK(f003, 0x5a, 4) // Byte 1
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0221/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0221/MAIN.asl
new file mode 100644
index 000000000..812018ad8
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0221/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B221.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0221/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0221/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0221/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0221/RUN.asl
new file mode 100644
index 000000000..8d0b91bc8
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0221/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 221", TCLD, 221, W017)) {
+ SRMT("m109")
+ m109()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0222/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0222/DECL.asl
new file mode 100644
index 000000000..f10e40248
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0222/DECL.asl
@@ -0,0 +1,65 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 222:
+ *
+ * SUMMARY: Alternating access to OpRegions of different Address Spaces issue
+ */
+
+Method(m10a)
+{
+ Method(CHCK, 3)
+ {
+ if (LNotEqual(arg0, arg1)) {
+ err("", zFFF, arg2, 0, 0, arg0, arg1)
+ }
+ }
+
+ OperationRegion(OPR0, SystemMemory, 0x00, 0x01)
+ OperationRegion(OPR1, SystemIO, 0x00, 0x01)
+
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ f000, 8,
+ }
+ Field(OPR1, ByteAcc, NoLock, Preserve) {
+ f001, 8,
+ }
+
+ Store(0x5a, f000)
+ CHCK(f000, 0x5a, 0)
+
+ Store(0xc3, f001)
+ CHCK(f001, 0xc3, 1)
+
+ CHCK(f000, 0x5a, 2)
+
+ CHCK(f001, 0xc3, 3)
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0222/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0222/MAIN.asl
new file mode 100644
index 000000000..133f177d9
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0222/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B222.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0222/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0222/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0222/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0222/RUN.asl
new file mode 100644
index 000000000..02a037347
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0222/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 222", TCLD, 222, W017)) {
+ SRMT("m10a")
+ m10a()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0223/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0223/DECL.asl
new file mode 100644
index 000000000..d3fcbe613
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0223/DECL.asl
@@ -0,0 +1,102 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 223:
+ *
+ * SUMMARY: DataTableRegion with the non-constant *String arguments
+ * unexpectedly causes an exception or crash
+ */
+
+Device(D223) {
+ DataTableRegion (DR00, "SSDT", "", "")
+ Field(DR00, AnyAcc, NoLock, Preserve) {
+ FU00, 0x180}
+}
+
+Method(m10b)
+{
+ Name(SSDT, Buffer(0x30){
+ 0x53,0x53,0x44,0x54,0x30,0x00,0x00,0x00,
+ 0x01,0xB8,0x49,0x6E,0x74,0x65,0x6C,0x00,
+ 0x4D,0x61,0x6E,0x79,0x00,0x00,0x00,0x00,
+ 0x01,0x00,0x00,0x00,0x49,0x4E,0x54,0x4C,
+ 0x24,0x04,0x03,0x20,0x14,0x0B,0x5F,0x54,
+ 0x39,0x38,0x00,0x70,0x0A,0x04,0x60,0xA4,
+ })
+
+ Method(CHCK, 3)
+ {
+ if (LNotEqual(arg0, arg1)) {
+ err("", zFFF, arg2, 0, 0, arg0, arg1)
+ }
+ }
+
+ Method(m000, 1) {
+ DataTableRegion (DR00, "SSDT", "", "")
+
+ Field(DR00, AnyAcc, NoLock, Preserve) {
+ FU00, 0x180}
+
+ CHCK(FU00, SSDT, arg0)
+ }
+
+ Method(m001, 4) {
+ DataTableRegion (DR00, arg0, arg1, arg2)
+
+ Field(DR00, AnyAcc, NoLock, Preserve) {
+ FU00, 0x180}
+
+ CHCK(FU00, SSDT, arg3)
+ }
+
+ Name(s000, "SSDT")
+ Name(s001, "")
+ Name(s002, "")
+
+ Method(m002, 1) {
+ DataTableRegion (DR00, s000, s001, s002)
+
+ Field(DR00, AnyAcc, NoLock, Preserve) {
+ FU00, 0x180}
+
+ CHCK(FU00, SSDT, arg0)
+ }
+
+ CHCK(\D223.FU00, SSDT, 0)
+
+ m000(1)
+
+ if (1) {
+ m001("SSDT", "", "", 2)
+ } else {
+ m002(3)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0223/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0223/MAIN.asl
new file mode 100644
index 000000000..6240f35a0
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0223/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B223.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0223/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0223/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0223/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0223/RUN.asl
new file mode 100644
index 000000000..041e83b3b
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0223/RUN.asl
@@ -0,0 +1,40 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 223", TCLD, 223, W017)) {
+ SRMT("m10b")
+ if (y223) {
+ m10b()
+ } else {
+ BLCK()
+ }
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0224/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0224/DECL.asl
new file mode 100644
index 000000000..42d85d965
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0224/DECL.asl
@@ -0,0 +1,80 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 224:
+ *
+ * SUMMARY: AcpiExec is unable to emulate access to IndexField Object
+ */
+
+Method(m10c)
+{
+ OperationRegion(OPR0, SystemMemory, 0, 256)
+
+ Method(CHCK, 3)
+ {
+ if (LNotEqual(arg0, arg1)) {
+ err("", zFFF, arg2, 0, 0, arg0, arg1)
+ }
+ }
+
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ idx0, 16,
+ dta0, 16,
+ }
+ IndexField(idx0, dta0, WordAcc, NoLock, WriteAsZeros) {
+ idf0, 8, , 4, idf1, 8,
+ idf2, 8, , 4, idf3, 8,
+ }
+
+ Method(m000, 3)
+ {
+ Store(Refof(arg1), Local0)
+
+ Store(arg2, Derefof(Local0))
+ Store(Derefof(arg1), Local1)
+ CHCK(Local1, arg2, arg0)
+ }
+
+ Method(m001, 3)
+ {
+ Store(Derefof(arg1), Local1)
+ CHCK(Local1, arg2, arg0)
+ }
+
+ m000(0, Refof(idf0), 0x12)
+ m000(1, Refof(idf1), 0x34)
+ m000(2, Refof(idf2), 0x56)
+ m000(3, Refof(idf3), 0x78)
+ m000(4, Refof(idf0), 0x12)
+ m000(5, Refof(idf1), 0x34)
+ m000(6, Refof(idf2), 0x56)
+ m000(7, Refof(idf3), 0x78)
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0224/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0224/MAIN.asl
new file mode 100644
index 000000000..0b86d6d5c
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0224/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B224.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0224/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0224/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0224/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0224/RUN.asl
new file mode 100644
index 000000000..e951621d2
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0224/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 224", TCLD, 224, W017)) {
+ SRMT("m10c")
+ m10c()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0225_ASL/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0225_ASL/DECL.asl
new file mode 100644
index 000000000..414cc4919
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0225_ASL/DECL.asl
@@ -0,0 +1,60 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 225:
+ *
+ * SUMMARY: Crash of the ASL compiler for large Offset or Length in Field Unit list
+ *
+ * Compiler should return error...
+ */
+
+ Method(m10c)
+ {
+ OperationRegion(OPR0, SystemMemory, 0, 0x2000001)
+
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ Offset(0x2000000), f000, 1,
+ }
+
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 0xffffffc, f001, 6,
+ }
+
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ f002, 0xffffffc,
+ }
+
+ Store(0x10, f001)
+
+ if (LNotEqual(f000, 1)) {
+ Store("Err 0", Debug)
+ }
+ }
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0225_ASL/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0225_ASL/MAIN.asl
new file mode 100644
index 000000000..c9a7687fd
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0225_ASL/MAIN.asl
@@ -0,0 +1,56 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B225.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0225_ASL/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0226/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0226/DECL.asl
new file mode 100644
index 000000000..52b80ef4a
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0226/DECL.asl
@@ -0,0 +1,82 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 226:
+ *
+ * SUMMARY: Excessive data is written to the Data field if
+ * it is wider than Access Width of the IndexField
+ */
+
+Method(m10e)
+{
+ OperationRegion(OPR0, SystemMemory, 0, 256)
+
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ idx0, 8,
+ dta0, 24,
+ }
+
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ tot0, 32,
+ }
+
+ IndexField(idx0, dta0, ByteAcc, NoLock, WriteAsZeros) {
+ , 15,
+ idf0, 1
+ }
+
+ Store(0x3ff, idf0)
+
+ Store(tot0, Local0)
+
+ if (LNotEqual(Local0, 0x8001)) {
+ err("", zFFF, 0x000, 0, 0, Local0, 0x8001)
+ }
+}
+
+Method(m17a)
+{
+ Name(b000, Buffer(64) {})
+ Name(b001, Buffer() {0xF0, 0xDE, 0xBC, 0x9A, 0, 0, 0, 0})
+
+ CreateQWordField(b000, 5, bf00)
+ Store(0x123456789abcdef0, bf00)
+
+ if (F64) {
+ if (LNotEqual(bf00, 0x123456789abcdef0)) {
+ err("", zFFF, 0x001, 0, 0, bf00, 0x123456789abcdef0)
+ }
+ } else {
+ if (LNotEqual(bf00, b001)) {
+ err("", zFFF, 0x002, 0, 0, bf00, b001)
+ }
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0226/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0226/MAIN.asl
new file mode 100644
index 000000000..2008d9a62
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0226/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B226.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0226/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0226/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0226/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0226/RUN.asl
new file mode 100644
index 000000000..4b43c8eea
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0226/RUN.asl
@@ -0,0 +1,38 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 226", TCLD, 226, W017)) {
+ SRMT("m10e")
+ m10e()
+ SRMT("m17a")
+ m17a()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0227_ASL/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0227_ASL/DECL.asl
new file mode 100644
index 000000000..a4d8e604c
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0227_ASL/DECL.asl
@@ -0,0 +1,35 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug -1:
+ *
+ * SUMMARY: The ASL Compiler fails on ASL file which ends up with the symbol of comment '/' without the following '\n'
+ */
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0227_ASL/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0227_ASL/MAIN.asl
new file mode 100644
index 000000000..1055b9ea9
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0227_ASL/MAIN.asl
@@ -0,0 +1,71 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 00
+ *
+ * SUMMARY:
+ *
+ * COMPONENT: iASL
+ *
+ * Demo of ASL-incorrectness, - "// comment in the last line".
+ *
+ * If the last line of ASL-file ends with the comment (in our case
+ * "} //") and there is no '\n' (new line) symbol after that comment
+ * (check that before exercising the demo) then the iASL, mistakenly,
+ * results in Error and reports the "Premature end-of-file reached"
+ * (produced by AslCompiler.l->comment2() routine) message like below.
+ *
+ * If we remove the mentioned comment or insert the '\n' symbol
+ * after it, or replace it by ** comment - all became Ok.
+ * See details below:
+ *
+ * iasl.exe "gr4.asl"
+ *
+ * Intel ACPI Component Architecture
+ * ASL Optimizing Compiler / AML Disassembler version 20040527 [May 27 2004]
+ * Copyright (C) 2000 - 2004 Intel Corporation
+ * Supports ACPI Specification Revision 2.0c
+ *
+ * gr4.asl 35: } //
+ * Error 1080 - Premature end-of-file reached ^
+ *
+ * ASL Input: gr4.asl - 36 lines, 1494 bytes, 0 keywords
+ * Compilation complete. 1 Errors, 0 Warnings, 0 Remarks, 0 Optimizations
+ */
+DefinitionBlock (
+ "grammar.aml", //Output filename
+ "DSDT", //Signature
+ 0x01, //DSDT Revision
+ "Intel", //OEMID
+ "Many", //TABLE ID
+ 0x00000001 //OEM Revision
+ ) {
+} // \ No newline at end of file
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0228/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0228/DECL.asl
new file mode 100644
index 000000000..c31dd1940
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0228/DECL.asl
@@ -0,0 +1,67 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 228:
+ *
+ * SUMMARY: Store to the RefOf reference immediately returned by Method doesn't work
+ */
+
+ Method(mf1c)
+ {
+ return (RefOf(id12))
+ }
+
+ Method(mf1d)
+ {
+ Store(RefOf(id12), Local0)
+ return (Local0)
+ }
+
+ Method(mf1e)
+ {
+ // Case mf1c
+
+ Store(5, mf1c())
+
+ if (LNotEqual(id12, 5)) {
+ err("", zFFF, 0x000, 0, 0, id12, 5)
+ }
+
+ // Case mf1d
+
+ Store(6, mf1d())
+
+ if (LNotEqual(id12, 6)) {
+ err("", zFFF, 0x001, 0, 0, id12, 6)
+ }
+ }
+
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0228/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0228/MAIN.asl
new file mode 100644
index 000000000..90c479d85
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0228/MAIN.asl
@@ -0,0 +1,58 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B228.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/common/DECL.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0228/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0228/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0228/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0228/RUN.asl
new file mode 100644
index 000000000..bf3b5195b
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0228/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 228", TCLD, 228, W017)) {
+ SRMT("mf1e")
+ mf1e()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0229/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0229/DECL.asl
new file mode 100644
index 000000000..f76e83060
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0229/DECL.asl
@@ -0,0 +1,48 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 229:
+ *
+ * SUMMARY: Clarify what is the proper behaviour in case of the zero length buffer
+ */
+
+Method(m10f, 1)
+{
+ Name(b000, Buffer(Arg0) {})
+
+ CH03("", 0, 0x000, 0, 0)
+ Add(b000, 0, Local0)
+ CH03("", 0, 0x001, 0, 0)
+
+ CH03("", 0, 0x002, 0, 0)
+ ToInteger(b000, Local0)
+ CH04("", 0, 54, 0, 0x003, 0, 0) // AE_AML_BUFFER_LIMIT
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0229/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0229/MAIN.asl
new file mode 100644
index 000000000..5f858f196
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0229/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B229.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0229/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0229/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0229/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0229/RUN.asl
new file mode 100644
index 000000000..4060418dc
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0229/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 229", TCLD, 229, W017)) {
+ SRMT("m10f")
+ m10f(0)
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0230/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0230/DECL.asl
new file mode 100644
index 000000000..2ecc487a2
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0230/DECL.asl
@@ -0,0 +1,120 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 230:
+ *
+ * SUMMARY: ReturnType argument of Method declaration is not supported
+ */
+
+Method(m127)
+{
+ /* Data to be passed to Method */
+
+ Name(i000, 0xfe7cb391d65a0000)
+ Name(s000, "12340002")
+ Name(b000, Buffer() {1,2,3,4})
+ Name(b001, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})
+ Name(p000, Package() {1,2,3,4})
+
+ Event(e000)
+ Mutex(mx00, 0)
+ Device(d000) { Name(i000, 0xabcd0017) }
+ ThermalZone(tz00) {}
+ Processor(pr00, 0, 0xFFFFFFFF, 0) {}
+ OperationRegion(r900, SystemMemory, 0x100, 0x100)
+ OperationRegion(r9Z0, SystemMemory, 0x100, 0x100)
+ PowerResource(pw90, 1, 0) {Method(mmmm){return (0)}}
+
+ CreateField(b001, 0, 8, bf90)
+ Field(r9Z0, ByteAcc, NoLock, Preserve) {f900,8,f901,8,f902,8,f903,8}
+ BankField(r9Z0, f901, 0, ByteAcc, NoLock, Preserve) {bn90,4}
+ IndexField(f902, f903, ByteAcc, NoLock, Preserve) {if90,8,if91,8}
+
+ Method(mmm0) {Return ("mmm0")}
+
+ /* Method */
+
+ Method(m000, , , , IntObj) { Return(i000) }
+ Method(m001, , , , IntObj) { Return(s000) }
+ Method(m002, , , , IntObj) { Return(b000) }
+ Method(m003, , , , IntObj) { Return(p000) }
+ Method(m004, , , , IntObj) { Return(e000) }
+ Method(m005, , , , IntObj) { Return(mx00) }
+ Method(m006, , , , IntObj) { Return(d000) }
+ Method(m007, , , , IntObj) { Return(tz00) }
+ Method(m008, , , , IntObj) { Return(pr00) }
+ Method(m009, , , , IntObj) { Return(r900) }
+ Method(m00a, , , , IntObj) { Return(pw90) }
+ Method(m00b, , , , IntObj) { Return(bf90) }
+ Method(m00c, , , , IntObj) { Return(f900) }
+ Method(m00d, , , , IntObj) { Return(bn90) }
+ Method(m00e, , , , IntObj) { Return(if90) }
+ Method(m00f, , , , IntObj) { Return(mmm0) }
+ Method(m010, , , , IntObj) { Return(0xfe7cb391d65a0000) }
+ Method(m011, , , , IntObj) { Return("12340002") }
+ Method(m012, , , , IntObj) { Return(Buffer() {1,2,3,4}) }
+ Method(m013, , , , IntObj) { Return(Package() {1,2,3,4}) }
+
+ Method(m100)
+ {
+ Store("Start of test", Debug)
+
+ m000()
+ m001()
+ m002()
+ m003()
+ m004()
+ m005()
+ m006()
+ m007()
+ m008()
+ m009()
+ m00a()
+ m00b()
+ m00c()
+ m00d()
+ m00e()
+ m00f()
+ m010()
+ m011()
+ m012()
+ m013()
+
+ Store("Finish of test", Debug)
+ }
+
+ CH03("", 0, 0x000, 0, 0)
+ m100()
+
+ /* Expect either ASL compiler error or any AML interpreter exception */
+
+ CH04("", 0, 0xff, 0, 0x001, 0, 0)
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0230/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0230/MAIN.asl
new file mode 100644
index 000000000..801fdf291
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0230/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B230.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0230/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0230/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0230/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0230/RUN.asl
new file mode 100644
index 000000000..ba2af4072
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0230/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 230", TCLD, 230, W017)) {
+ SRMT("m127")
+ m127()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0231/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0231/DECL.asl
new file mode 100644
index 000000000..8aa3bb201
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0231/DECL.asl
@@ -0,0 +1,103 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 231:
+ *
+ * SUMMARY: ParameterTypes argument of Method declaration is not supported
+ */
+
+Method(m128)
+{
+ /* Data to be passed to Method */
+
+ Name(i000, 0xfe7cb391d65a0000)
+ Name(s000, "12340002")
+ Name(b000, Buffer() {1,2,3,4})
+ Name(b001, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})
+ Name(p000, Package() {1,2,3,4})
+
+ Event(e000)
+ Mutex(mx00, 0)
+ Device(d000) { Name(i000, 0xabcd0017) }
+ ThermalZone(tz00) {}
+ Processor(pr00, 0, 0xFFFFFFFF, 0) {}
+ OperationRegion(r900, SystemMemory, 0x100, 0x100)
+ OperationRegion(r9Z0, SystemMemory, 0x100, 0x100)
+ PowerResource(pw90, 1, 0) {Method(mmmm){return (0)}}
+
+ CreateField(b001, 0, 8, bf90)
+ Field(r9Z0, ByteAcc, NoLock, Preserve) {f900,8,f901,8,f902,8,f903,8}
+ BankField(r9Z0, f901, 0, ByteAcc, NoLock, Preserve) {bn90,4}
+ IndexField(f902, f903, ByteAcc, NoLock, Preserve) {if90,8,if91,8}
+
+ Method(mmm0) {Return ("mmm0")}
+
+ /* Method */
+
+ Method(m000, 1, , , , IntObj) {
+ Store(arg0, Debug)
+ }
+
+ Method(m100)
+ {
+ Store("Start of test", Debug)
+
+ m000(i000)
+ m000(s000)
+ m000(b000)
+ m000(p000)
+ m000(e000)
+ m000(mx00)
+ m000(d000)
+ m000(tz00)
+ m000(pr00)
+ m000(r900)
+ m000(pw90)
+ m000(bf90)
+ m000(f900)
+ m000(bn90)
+ m000(if90)
+ m000(mmm0)
+ m000(0xfe7cb391d65a0000)
+ m000("12340002")
+ m000(Buffer() {1,2,3,4})
+ m000(Package() {1,2,3,4})
+
+ Store("Finish of test", Debug)
+ }
+
+ CH03("", 0, 0x000, 0, 0)
+ m100()
+
+ /* Expect either ASL compiler error or any AML interpreter exception */
+
+ CH04("", 0, 0xff, 0, 0x001, 0, 0)
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0231/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0231/MAIN.asl
new file mode 100644
index 000000000..8422b1f2d
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0231/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B231.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0231/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0231/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0231/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0231/RUN.asl
new file mode 100644
index 000000000..94f6578fa
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0231/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 231", TCLD, 231, W017)) {
+ SRMT("m128")
+ m128()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0232_F_OPTION/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0232_F_OPTION/DECL.asl
new file mode 100644
index 000000000..ad14ad22c
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0232_F_OPTION/DECL.asl
@@ -0,0 +1,82 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 232:
+ *
+ * SUMMARY: no exception on the repeated declaration
+ *
+ * The test requires utilyzing of
+ * the -f option on the ASL compilation
+ * stage.
+ *
+ * ASL Compiler:
+ *
+ * -f - Ignore errors, force creation of AML output file(s)
+ */
+
+/*
+ * Name(n000, 0)
+ * Error 1034 - ^ Name already exists in scope (N000)
+ */
+
+Method(m15c)
+{
+ Name (VV, 0x1234)
+ Store (32, Local0)
+
+ CH03("", 0, 0x000, 0, 0)
+
+ Name (VV, 0xBBBBAAAA)
+ Store (12, Local2)
+
+ CH04("", 0, 0xff, 0, 0x001, 0, 0)
+}
+
+Method(m15f)
+{
+ Method(m000) {}
+ Store (32, Local0)
+
+ CH03("", 0, 0x000, 0, 0)
+
+ Method(m000) {}
+ Store (12, Local2)
+
+ CH04("", 0, 0xff, 0, 0x001, 0, 0)
+}
+
+Method(m160)
+{
+ SRMT("m15c")
+ m15c()
+ SRMT("m15f")
+ m15f()
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0232_F_OPTION/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0232_F_OPTION/MAIN.asl
new file mode 100644
index 000000000..addd51b5a
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0232_F_OPTION/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B232.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0232/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0232/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0232_F_OPTION/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0232_F_OPTION/RUN.asl
new file mode 100644
index 000000000..71a199cff
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0232_F_OPTION/RUN.asl
@@ -0,0 +1,35 @@
+/*
+ * 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.
+ */
+
+if (STTT("Demo of bug 232", TCLD, 232, W017)) {
+ m160()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0233_ASL/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0233_ASL/DECL.asl
new file mode 100644
index 000000000..b43330f46
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0233_ASL/DECL.asl
@@ -0,0 +1,50 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug 233:
+ *
+ * SUMMARY: An invalid non-ASCII letter in declaration passed to ASL Compiler by Include operator causes hang of it
+ */
+
+/*
+ * The Method below contains an invalid non-ASCII letters
+ * and it causes hang of ASL Compiler in case this definition
+ * is passed to ASL Compiler by Include operator.
+ */
+Method(m161)
+{
+// Device(d00ñ) { Name(i900, 0xabcd0017) }
+// ThermalZone(tz0ñ) {}
+// Name(i00ñ, 0)
+// Name(i00ì, 0)
+// ì
+ Store(ì, Debug)
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0233_ASL/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0233_ASL/MAIN.asl
new file mode 100644
index 000000000..519cc93f9
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0233_ASL/MAIN.asl
@@ -0,0 +1,56 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "B233.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0233_ASL/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0234_ASL_RUNTIME/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0234_ASL_RUNTIME/DECL.asl
new file mode 100644
index 000000000..9a1e1f36c
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0234_ASL_RUNTIME/DECL.asl
@@ -0,0 +1,36 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+/*
+ * Bug 234:
+ *
+ * SUMMARY: The UNIX OSL synchronization interfaces should be developed to support testing
+ *
+ * Do the run_time demo when bug will be fixed.
+ */
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0235_ASL_RUNTIME/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0235_ASL_RUNTIME/DECL.asl
new file mode 100644
index 000000000..824d6d8be
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0235_ASL_RUNTIME/DECL.asl
@@ -0,0 +1,36 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+/*
+ * Bug 235:
+ *
+ * SUMMARY: Acpiexec hangs on absent global lock on Linux, but does not hang on Windows
+ *
+ * Do the run_time demo when bug will be fixed.
+ */
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0236_ASL/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0236_ASL/DECL.asl
new file mode 100644
index 000000000..abddcfa3b
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0236_ASL/DECL.asl
@@ -0,0 +1,71 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+/*
+ * Bug 236:
+ *
+ * SUMMARY: The ASL Compiler hangs on incorrect ElseIf
+ */
+
+Method(m03b)
+{
+ Method(m000)
+ {
+ Name(i000, 0)
+ Name(i001, 0)
+
+ if (i000) {
+ Store("Any operation 0", Debug)
+ } elseif (i001) {
+ Store("Any operation 1", Debug)
+ } elseif {
+ Store("Any operation 2", Debug)
+ }
+ }
+
+ Method(m001)
+ {
+ Name(i000, 0)
+ Name(i001, 0)
+
+ if (i000) {
+ Store("Any operation 0", Debug)
+ } elseif (i001) {
+ Store("Any operation 1", Debug)
+ } elseuuuuuuuuuu {
+ Store("Any operation 2", Debug)
+ }
+ }
+
+ Method(mm00)
+ {
+ m000()
+ m001()
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0236_ASL/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0236_ASL/MAIN.asl
new file mode 100644
index 000000000..796f5fa6f
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0236_ASL/MAIN.asl
@@ -0,0 +1,40 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+DefinitionBlock(
+ "B236.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0236_ASL/DECL.asl")
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0237_ASL/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0237_ASL/DECL.asl
new file mode 100644
index 000000000..8f1f981d3
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0237_ASL/DECL.asl
@@ -0,0 +1,79 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+/*
+ * Bug 237:
+ *
+ * SUMMARY: The ASL Compiler fails to recognize specific Uninitialized LocalX (for Switch)
+ */
+
+Method(m03a)
+{
+ Method(m000, 1)
+ {
+ Switch (arg0) {
+ Case (0) {
+ Store(0, Local0)
+ }
+ }
+ return (Local0)
+ }
+
+ Method(m001, 1)
+ {
+ Switch (arg0) {
+ Case (0) {
+ Store(0, Local1)
+ }
+ Default {
+ Store(100, Local1)
+ }
+ }
+ return (Local1)
+ }
+
+ /* Method without any initialization of Local2 */
+ Method(m002, 1)
+ {
+ Switch (arg0) {
+ Case (0) {
+ Store("Hello", Debug)
+ // Store(0, Local2)
+ }
+ }
+ return (Local2)
+ }
+
+ Method(mm00)
+ {
+ m000(1)
+ }
+
+ mm00()
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0237_ASL/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0237_ASL/MAIN.asl
new file mode 100644
index 000000000..35905c754
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0237_ASL/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+DefinitionBlock(
+ "B237.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0237_ASL/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+
+ // Error of ASL Compiler is expected
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0238/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0238/DECL.asl
new file mode 100644
index 000000000..bb665ee9c
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0238/DECL.asl
@@ -0,0 +1,73 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+/*
+ * Bug 238:
+ *
+ * SUMMARY: The jumping over levels in releasing mutexes is not prohibited
+ */
+
+Method(m039)
+{
+ Mutex(MX07, 7)
+ Mutex(MX08, 8)
+ Mutex(MX09, 9)
+
+ Method(m000)
+ {
+ Acquire(MX07, 0xffff)
+ Acquire(MX08, 0xffff)
+ Acquire(MX09, 0xffff)
+
+ CH03("", 0, 0x000, 0, 0)
+ Release(MX08)
+ /*
+ * Release(MX08) above doesn't cause exception
+ * but, seems, it should.
+ */
+ CH04("", 0, 64, 0, 0x001, 0, 0) // AE_AML_MUTEX_ORDER
+
+ /* Also this */
+ Release(MX07)
+ CH04("", 0, 64, 0, 0x002, 0, 0) // AE_AML_MUTEX_ORDER
+
+ /*
+ * Now, the Release(MX09) below causes exception,
+ * so we have no way to release MX09.
+ *
+ * Considered:
+ * 1. Both Releases above should cause AE_AML_MUTEX_ORDER
+ * 2. The failed Releases above should not change the current level
+ * 3. So, the Release below should succeed
+ */
+ Release(MX09)
+ CH03("", 0, 0x003, 0, 0)
+ }
+ m000()
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0238/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0238/MAIN.asl
new file mode 100644
index 000000000..13073cfc2
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0238/MAIN.asl
@@ -0,0 +1,56 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+DefinitionBlock(
+ "B238.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0238/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0238/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0238/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0238/RUN.asl
new file mode 100644
index 000000000..3706bdbb8
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0238/RUN.asl
@@ -0,0 +1,35 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+if (STTT("Demo of bug 238", TCLD, 238, W017)) {
+ SRMT("m039")
+ m039()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0239_ACTION_REQUIRED/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0239_ACTION_REQUIRED/DECL.asl
new file mode 100644
index 000000000..c2acbec11
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0239_ACTION_REQUIRED/DECL.asl
@@ -0,0 +1,98 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+/*
+ * Bug 239:
+ *
+ * SUMMARY: Crash in a slack-multi-threading mode when returning from the method experienced exception
+ *
+ * Note:
+ *
+ * Run this in a slack mode (use AcpiExec -s <this_demo>)
+ * by the Threads debug operation on more than one thread
+ * (use <Threads 2 1 main> command). In this case the example
+ * causes crash of AcpiExec for any exception occured during
+ * execution of methods (m000, m001).
+ */
+
+Mutex(MX08, 8)
+Mutex(MX09, 9)
+
+Method(m034)
+{
+
+ Method(mm00, 1)
+ {
+ Method(m000)
+ {
+ Acquire(MX09, 0xffff)
+ /*
+ * Operation below causes AE_AML_MUTEX_ORDER exception
+ * (it is correct).
+ */
+ Acquire(MX08, 0xffff)
+ }
+
+ Method(m001, 1)
+ {
+ /*
+ * Operation below causes AE_AML_DIVIDE_BY_ZERO exception
+ */
+ Divide(1, arg0)
+ }
+
+ /* Any of these calls causes crash of AcpiExec */
+
+ if (0) {
+ m000()
+ }
+ if (1) {
+ m001(0)
+ }
+ }
+
+ /* This example doesn't cause crash */
+ Method(mm01, 1)
+ {
+ Divide(1, arg0)
+ }
+
+ Method(mm02)
+ {
+ if (1) {
+ mm00(0)
+ }
+ if (0) {
+ /* This example doesn't cause crash */
+ mm01(0)
+ }
+ }
+
+ mm02()
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0239_ACTION_REQUIRED/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0239_ACTION_REQUIRED/MAIN.asl
new file mode 100644
index 000000000..f27a2748a
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0239_ACTION_REQUIRED/MAIN.asl
@@ -0,0 +1,83 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+DefinitionBlock(
+ "B239.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/common.asl")
+ Include("../../../../../runtime/cntl/mt_runpoint.asl")
+ Include("../../../../../runtime/cntl/runmode.asl")
+ Include("../../../../../runtime/cntl/ehandle.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0239_ACTION_REQUIRED/DECL.asl")
+
+ /*
+ * Arguments passed to MAIN method are these
+ * (MAIN there - the name of method passed to
+ * Threads command of AcpiExec):
+ *
+ * arg0 - number of threads.
+ * arg1 - ID of current thread.
+ * arg2 - Index of current thread inside all participating threads.
+ * The thread of Index 0 is considered as Control Thread.
+ */
+ Method(MAIN, 3)
+ {
+
+ /* Non-zero Local0 means the current thread is a Control Thread */
+
+ Store(1, Local0)
+ if (arg2) {
+ /* Slave threads */
+ Store(0, Local0)
+ } else {
+ /* Control thread */
+
+ // Initialization
+ STRT(0)
+ }
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0239_ACTION_REQUIRED/RUN.asl")
+
+ Store(0, Local7)
+ if (Local0) {
+ // Final actions
+ Store(FNSH(), Local7)
+ }
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0239_ACTION_REQUIRED/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0239_ACTION_REQUIRED/RUN.asl
new file mode 100644
index 000000000..673450a98
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0239_ACTION_REQUIRED/RUN.asl
@@ -0,0 +1,46 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+/*
+ * Run printing only on the Control Thread (non-zero Local0).
+ */
+
+if (Local0) {
+ STTT("Demo of bug 239", TCLD, 239, W017)
+}
+
+if (Local0) {
+ SRMT("m034")
+}
+m034()
+
+if (Local0) {
+ FTTT()
+}
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0240_ACTION_REQUIRED/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0240_ACTION_REQUIRED/DECL.asl
new file mode 100644
index 000000000..c301a362f
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0240_ACTION_REQUIRED/DECL.asl
@@ -0,0 +1,153 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+/*
+ * Bug 240:
+ *
+ * SUMMARY: No exception when not owner thread runs Release of Global lock
+ *
+ * Note:
+ *
+ * Run this demo by the Threads debug operation
+ * on two threads (use <Threads 2 1 MAIN> command).
+ */
+
+Mutex(MX00, 0)
+
+Name(i000, 0) // thread 0: succeeded to Acquire Mutex
+Name(i001, 0) // thread 1: after attempt to Release Mutex
+
+Name(cnt0, 0)
+Name(cnt1, 0)
+
+/*
+ * Demo 1:
+ * The expected exception AE_AML_NOT_OWNER doesn't occur when
+ * some thread (thread 1) attempt to Release the Global lock
+ * which is successfully Acquired by another thread (thread 0).
+ *
+ * Thread 0 Acquires the Global lock (\_GL),
+ * then thread 1 attempts to Release that Global lock.
+ * The mentioned exception should arisen there, but in fact - no exception -
+ * the Global lock is successfully Released by another thread (by thread 1).
+ * It is a bug.
+ *
+ * arg0 - Index of current thread
+ */
+Method(m032, 1)
+{
+ While (1) {
+ if (LEqual(arg0, 0)) {
+ Store("Thread 0: start of cycle", Debug)
+ if (LNot(cnt0)) {
+ Store(Acquire(\_GL, 0xffff), Local0)
+ if (Local0) {
+ Store("Thread 0: failed to Acquire GL", Debug)
+ err("", zFFF, 0x000, 0, 0, 0, 0)
+ } else {
+ Store("Thread 0: succeeded to Acquire GL", Debug)
+ Store(1, i000)
+ }
+ }
+ Increment(cnt0)
+ if (LEqual(cnt0, 20)) {
+ break
+ }
+ } elseif (LEqual(arg0, 1)) {
+ Store("Thread 1: start of cycle", Debug)
+ if (i000) {
+ if (LNot(i001)) {
+ Store("Thread 1: before attempt to Release GL", Debug)
+ Release(\_GL)
+ CH04("", 0, 63, 0, 0x001, 0, 0) // AE_AML_NOT_OWNER
+ Store("Thread 1: after attempt to Release GL", Debug)
+ Store(1, i001)
+ }
+ }
+ Increment(cnt1)
+ if (LEqual(cnt1, 20)) {
+ break
+ }
+ } else {
+ break
+ }
+ Sleep(100)
+ }
+}
+
+/*
+ * Demo 2:
+ * The expected exception AE_AML_NOT_OWNER occurs when some
+ * thread (thread 1) attempt to Release the usual mutex which
+ * is successfully Acquired by another thread (thread 0).
+ *
+ * Identical to m000 but the usual mutex MX00 is substituted instead of Global lock.
+ *
+ * arg0 - Index of current thread
+ */
+Method(m033, 1)
+{
+ While (1) {
+ if (LEqual(arg0, 0)) {
+ Store("Thread 0: start of cycle", Debug)
+ if (LNot(cnt0)) {
+ Store(Acquire(MX00, 0xffff), Local0)
+ if (Local0) {
+ Store("Thread 0: failed to Acquire MX00", Debug)
+ err("", zFFF, 0x002, 0, 0, 0, 0)
+ } else {
+ Store("Thread 0: succeeded to Acquire MX00", Debug)
+ Store(1, i000)
+ }
+ }
+ Increment(cnt0)
+ if (LEqual(cnt0, 20)) {
+ break
+ }
+ } elseif (LEqual(arg0, 1)) {
+ Store("Thread 1: start of cycle", Debug)
+ if (i000) {
+ if (LNot(i001)) {
+ Store("Thread 1: before attempt to Release MX00", Debug)
+ Release(MX00)
+ CH04("", 0, 63, 0, 0x003, 0, 0) // AE_AML_NOT_OWNER
+ Store("Thread 1: after attempt to Release MX00", Debug)
+ Store(1, i001)
+ }
+ }
+ Increment(cnt1)
+ if (LEqual(cnt1, 20)) {
+ break
+ }
+ } else {
+ break
+ }
+ Sleep(100)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0240_ACTION_REQUIRED/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0240_ACTION_REQUIRED/MAIN.asl
new file mode 100644
index 000000000..becd0b676
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0240_ACTION_REQUIRED/MAIN.asl
@@ -0,0 +1,83 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+DefinitionBlock(
+ "B240.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/common.asl")
+ Include("../../../../../runtime/cntl/mt_runpoint.asl")
+ Include("../../../../../runtime/cntl/runmode.asl")
+ Include("../../../../../runtime/cntl/ehandle.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0240_ACTION_REQUIRED/DECL.asl")
+
+ /*
+ * Arguments passed to MAIN method are these
+ * (MAIN there - the name of method passed to
+ * Threads command of AcpiExec):
+ *
+ * arg0 - number of threads.
+ * arg1 - ID of current thread.
+ * arg2 - Index of current thread inside all participating threads.
+ * The thread of Index 0 is considered as Control Thread.
+ */
+ Method(MAIN, 3)
+ {
+
+ /* Non-zero Local0 means the current thread is a Control Thread */
+
+ Store(1, Local0)
+ if (arg2) {
+ /* Slave threads */
+ Store(0, Local0)
+ } else {
+ /* Control thread */
+
+ // Initialization
+ STRT(0)
+ }
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0240_ACTION_REQUIRED/RUN.asl")
+
+ Store(0, Local7)
+ if (Local0) {
+ // Final actions
+ Store(FNSH(), Local7)
+ }
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0240_ACTION_REQUIRED/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0240_ACTION_REQUIRED/RUN.asl
new file mode 100644
index 000000000..59e1e3f84
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0240_ACTION_REQUIRED/RUN.asl
@@ -0,0 +1,54 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+/*
+ * Run printing only on the Control Thread (non-zero Local0).
+ */
+
+if (Local0) {
+ STTT("Demo of bug 240", TCLD, 240, W017)
+}
+
+// Run one of these sub-tests at a time:
+if (1) {
+ if (Local0) {
+ SRMT("m032")
+ }
+ m032(arg2)
+} else {
+ if (Local0) {
+ SRMT("m033")
+ }
+ m033(arg2)
+}
+
+if (Local0) {
+ FTTT()
+}
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0241/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0241/DECL.asl
new file mode 100644
index 000000000..88200c8d3
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0241/DECL.asl
@@ -0,0 +1,61 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+/*
+ * Bug 241:
+ *
+ * SUMMARY: Crash of AML interpreter after an exception in
+ * AcpiExReadDataFromField called from AcpiExResolveObjectToValue
+ *
+ * Note. The crash occurred when acpiexec is compiled in DEBUG mode.
+ */
+
+Method(m129)
+{
+ Method(m000, 1)
+ {
+ OperationRegion(RGN1, SystemMemory, 0x200, arg0)
+
+ Field(RGN1, ByteAcc, NoLock, Preserve) {
+ FU01, 0x801}
+
+ Store(Refof(FU01), Local2)
+
+ if (CH03("", 0, 0x000, 0, 0)) {
+ return
+ }
+
+ // Read, Access out of OpRegion
+ Store(DeRefof(Local2), Local0)
+
+ CH04("", 0, 53, 0, 0x001, 0, 0) // AE_AML_REGION_LIMIT
+ }
+
+ m000(0x100)
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0241/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0241/MAIN.asl
new file mode 100644
index 000000000..c23447fd8
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0241/MAIN.asl
@@ -0,0 +1,56 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+DefinitionBlock(
+ "B241.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0241/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0241/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0241/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0241/RUN.asl
new file mode 100644
index 000000000..3f02f70ea
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0241/RUN.asl
@@ -0,0 +1,35 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+if (STTT("Demo of bug 241", TCLD, 241, W017)) {
+ SRMT("m129")
+ m129()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0242/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0242/DECL.asl
new file mode 100644
index 000000000..c05bd7864
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0242/DECL.asl
@@ -0,0 +1,262 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+/*
+ * Bug 242:
+ *
+ * SUMMARY: Releasing the mutex the first Acquired on the non-zero level makes Releasing the residuary mutexes of that level impossible
+ */
+
+Method(m031)
+{
+ Mutex(T000, 0)
+ Mutex(T001, 0)
+ Mutex(T002, 0)
+ Mutex(T003, 0)
+
+ Mutex(T100, 1)
+ Mutex(T101, 1)
+ Mutex(T102, 1)
+ Mutex(T103, 1)
+
+
+ /*
+ * Direct order for mutexes of level 0
+ *
+ * STATUS: works correctly - no exceptions
+ */
+ Method(m000)
+ {
+ Store("******** Test 0, for mutexes of level 0", Debug)
+
+ Store("Acquiring mutexes of level 0:", Debug)
+
+ Store(Acquire(T000, 0xffff), Local0)
+ if (Local0) {
+ Store("ERROR: Acquire T000 (Level 0, index 0)", Debug)
+ err("", zFFF, 0x000, 0, 0, 0, 0)
+ } else {
+ Store("Ok: Acquire T000 (Level 0, index 0)", Debug)
+ }
+
+ Store(Acquire(T001, 0xffff), Local0)
+ if (Local0) {
+ Store("ERROR: Acquire T001 (Level 0, index 1)", Debug)
+ err("", zFFF, 0x001, 0, 0, 0, 0)
+ } else {
+ Store("Ok: Acquire T001 (Level 0, index 1)", Debug)
+ }
+
+ Store(Acquire(T002, 0xffff), Local0)
+ if (Local0) {
+ Store("ERROR: Acquire T002 (Level 0, index 2)", Debug)
+ err("", zFFF, 0x002, 0, 0, 0, 0)
+ } else {
+ Store("Ok: Acquire T002 (Level 0, index 2)", Debug)
+ }
+
+ Store(Acquire(T003, 0xffff), Local0)
+ if (Local0) {
+ Store("ERROR: Acquire T003 (Level 0, index 3)", Debug)
+ err("", zFFF, 0x003, 0, 0, 0, 0)
+ } else {
+ Store("Ok: Acquire T003 (Level 0, index 3)", Debug)
+ }
+
+
+ Store("Releasing mutexes of level 0:", Debug)
+
+ Store("Release T000 (Level 0, index 0)", Debug)
+ CH03("", 0, 0x004, 0, 0)
+ Release(T000)
+ CH03("", 0, 0x005, 0, 0)
+
+ Store("Release T001 (Level 0, index 1)", Debug)
+ CH03("", 0, 0x006, 0, 0)
+ Release(T001)
+ CH03("", 0, 0x007, 0, 0)
+
+ Store("Release T002 (Level 0, index 2)", Debug)
+ CH03("", 0, 0x008, 0, 0)
+ Release(T002)
+ CH03("", 0, 0x009, 0, 0)
+
+ Store("Release T003 (Level 0, index 3)", Debug)
+ CH03("", 0, 0x00a, 0, 0)
+ Release(T003)
+ CH03("", 0, 0x00b, 0, 0)
+ }
+
+ /*
+ * Direct order for mutexes of level 1
+ *
+ * STATUS: works incorrectly - has exceptions
+ */
+ Method(m001)
+ {
+ Store("******** Test 1, for mutexes of level 1", Debug)
+
+ Store("Acquiring mutexes of level 1:", Debug)
+
+ Store(Acquire(T100, 0xffff), Local0)
+ if (Local0) {
+ Store("ERROR: Acquire T100 (Level 1, index 0)", Debug)
+ err("", zFFF, 0x00c, 0, 0, 0, 0)
+ } else {
+ Store("Ok: Acquire T100 (Level 1, index 0)", Debug)
+ }
+
+ Store(Acquire(T101, 0xffff), Local0)
+ if (Local0) {
+ Store("ERROR: Acquire T101 (Level 1, index 1)", Debug)
+ err("", zFFF, 0x00d, 0, 0, 0, 0)
+ } else {
+ Store("Ok: Acquire T101 (Level 1, index 1)", Debug)
+ }
+
+ Store(Acquire(T102, 0xffff), Local0)
+ if (Local0) {
+ Store("ERROR: Acquire T102 (Level 1, index 2)", Debug)
+ err("", zFFF, 0x00e, 0, 0, 0, 0)
+ } else {
+ Store("Ok: Acquire T102 (Level 1, index 2)", Debug)
+ }
+
+ Store(Acquire(T103, 0xffff), Local0)
+ if (Local0) {
+ Store("ERROR: Acquire T103 (Level 1, index 3)", Debug)
+ err("", zFFF, 0x00f, 0, 0, 0, 0)
+ } else {
+ Store("Ok: Acquire T103 (Level 1, index 3)", Debug)
+ }
+
+
+ Store("Releasing mutexes of Level 1:", Debug)
+
+ Store("Release T100 (Level 1, index 0)", Debug)
+ CH03("", 0, 0x010, 0, 0)
+ Release(T100)
+ CH03("", 0, 0x011, 0, 0)
+
+ Store("Release T101 (Level 1, index 1)", Debug)
+ CH03("", 0, 0x012, 0, 0)
+ Release(T101)
+ CH03("", 0, 0x013, 0, 0)
+
+ Store("Release T102 (Level 1, index 2)", Debug)
+ CH03("", 0, 0x014, 0, 0)
+ Release(T102)
+ CH03("", 0, 0x015, 0, 0)
+
+ Store("Release T103 (Level 1, index 3)", Debug)
+ CH03("", 0, 0x016, 0, 0)
+ Release(T103)
+ CH03("", 0, 0x017, 0, 0)
+ }
+
+ /*
+ * The test shows that no exception when the first
+ * Acquired mutex is Released in the last turn.
+ *
+ * STATUS: works correctly - no exception
+ */
+ Method(m002)
+ {
+ Store("******** Test 2, for mutexes of level 1", Debug)
+
+ Store("Acquiring mutexes of level 1:", Debug)
+
+ Store(Acquire(T100, 0xffff), Local0)
+ if (Local0) {
+ Store("ERROR: Acquire T100 (Level 1, index 0)", Debug)
+ err("", zFFF, 0x018, 0, 0, 0, 0)
+ } else {
+ Store("Ok: Acquire T100 (Level 1, index 0)", Debug)
+ }
+
+ Store(Acquire(T101, 0xffff), Local0)
+ if (Local0) {
+ Store("ERROR: Acquire T101 (Level 1, index 1)", Debug)
+ err("", zFFF, 0x019, 0, 0, 0, 0)
+ } else {
+ Store("Ok: Acquire T101 (Level 1, index 1)", Debug)
+ }
+
+ Store(Acquire(T102, 0xffff), Local0)
+ if (Local0) {
+ Store("ERROR: Acquire T102 (Level 1, index 2)", Debug)
+ err("", zFFF, 0x01a, 0, 0, 0, 0)
+ } else {
+ Store("Ok: Acquire T102 (Level 1, index 2)", Debug)
+ }
+
+ Store(Acquire(T103, 0xffff), Local0)
+ if (Local0) {
+ Store("ERROR: Acquire T103 (Level 1, index 3)", Debug)
+ err("", zFFF, 0x01b, 0, 0, 0, 0)
+ } else {
+ Store("Ok: Acquire T103 (Level 1, index 3)", Debug)
+ }
+
+
+ Store("Releasing mutexes of Level 1:", Debug)
+
+ Store("Release T101 (Level 1, index 1)", Debug)
+ CH03("", 0, 0x01c, 0, 0)
+ Release(T101)
+ CH03("", 0, 0x01d, 0, 0)
+
+ Store("Release T102 (Level 1, index 2)", Debug)
+ CH03("", 0, 0x01e, 0, 0)
+ Release(T102)
+ CH03("", 0, 0x01f, 0, 0)
+
+ Store("Release T103 (Level 1, index 3)", Debug)
+ CH03("", 0, 0x020, 0, 0)
+ Release(T103)
+ CH03("", 0, 0x021, 0, 0)
+
+ Store("Release T100 (Level 1, index 0)", Debug)
+ CH03("", 0, 0x022, 0, 0)
+ Release(T100)
+ CH03("", 0, 0x023, 0, 0)
+ }
+
+ Method(mm00)
+ {
+ m000()
+ m001()
+ m002()
+ }
+
+ CH03("", 0, 0x024, 0, 0)
+ mm00()
+ CH03("", 0, 0x025, 0, 0)
+}
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0242/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0242/MAIN.asl
new file mode 100644
index 000000000..3e37161cd
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0242/MAIN.asl
@@ -0,0 +1,56 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+DefinitionBlock(
+ "B242.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0242/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0242/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0242/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0242/RUN.asl
new file mode 100644
index 000000000..08c4834e9
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0242/RUN.asl
@@ -0,0 +1,35 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+if (STTT("Demo of bug 242", TCLD, 242, W017)) {
+ SRMT("m031")
+ m031()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0243/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0243/DECL.asl
new file mode 100644
index 000000000..3a11b7d8d
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0243/DECL.asl
@@ -0,0 +1,116 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+/*
+ * Bug 243:
+ *
+ * SUMMARY: The normal work with mutexes is broken after the mutex Release order violation
+ */
+
+Method(m02f)
+{
+ Mutex(T500, 5)
+ Mutex(T600, 6)
+ Mutex(T700, 7)
+
+ Method(m000)
+ {
+ Store("******** Test started", Debug)
+
+ /* (1) */
+ Store("Acquiring mutex of level 5:", Debug)
+ Store(Acquire(T500, 0xffff), Local0)
+ if (Local0) {
+ Store("!!!!!!!! ERROR 0: Acquire T500 (Level 5, index 0)", Debug)
+ err("", zFFF, 0x000, 0, 0, 0, 0)
+ } else {
+ Store("Ok: Acquired T500 (Level 5, index 0)", Debug)
+ }
+
+ /* (2) */
+ Store("Acquiring mutex of level 6:", Debug)
+ Store(Acquire(T600, 0xffff), Local0)
+ if (Local0) {
+ Store("!!!!!!!! ERROR 1: Acquire T600 (Level 6, index 0)", Debug)
+ err("", zFFF, 0x001, 0, 0, 0, 0)
+ } else {
+ Store("Ok: Acquired T600 (Level 6, index 0)", Debug)
+ }
+
+ /* (3) */
+ Store("Run Release of mutex of level 5 - exception AE_AML_MUTEX_ORDER is expected on it!", Debug)
+ Store("Release T500 (Level 5, index 0)", Debug)
+ Release(T500)
+ /*
+ * If no exception there:
+ * ERROR: NO exception though expected! (it is the contents of bug 238)
+ */
+ CH04("", 0, 64, 0, 0x002, 0, 0) // AE_AML_MUTEX_ORDER
+
+ /* (4) */
+ Store("Acquiring mutex of level 7:", Debug)
+ Store(Acquire(T700, 0xffff), Local0)
+ if (Local0) {
+ Store("!!!!!!!! ERROR 3: Acquire T700 (Level 7, index 0)", Debug)
+ err("", zFFF, 0x003, 0, 0, 0, 0)
+ } else {
+ Store("Ok: Acquired T700 (Level 7, index 0)", Debug)
+ Store("Current level is equal to 7!", Debug)
+ }
+ CH03("", 0, 0x004, 0, 0)
+
+ /* (5) */
+ Store("Releasing the mutex of the current level: T700 (Level 7, index 0)", Debug)
+ Release(T700)
+ CH03("", 0, 0x005, 0, 0)
+
+ /*
+ * (6)
+ *
+ * AE_AML_MUTEX_ORDER exception here which takes place
+ * is an essence of this bug 243.
+ */
+ Store("Releasing mutex of level 6: T600 (Level 6, index 0)", Debug)
+ Release(T600)
+ CH03("", 0, 0x006, 0, 0)
+
+ /* (7) */
+ Store("Releasing mutex of level 5: T500 (Level 5, index 0)", Debug)
+ Release(T500)
+ CH04("", 0, 65, 0, 0x007, 0, 0) // AE_AML_MUTEX_NOT_ACQUIRED
+ }
+
+ Method(mm00)
+ {
+ m000()
+ }
+
+ mm00()
+}
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0243/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0243/MAIN.asl
new file mode 100644
index 000000000..d97ecbf01
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0243/MAIN.asl
@@ -0,0 +1,56 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+DefinitionBlock(
+ "B243.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0243/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0243/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0243/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0243/RUN.asl
new file mode 100644
index 000000000..4059cc5b7
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0243/RUN.asl
@@ -0,0 +1,35 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+if (STTT("Demo of bug 243", TCLD, 243, W017)) {
+ SRMT("m02f")
+ m02f()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0244/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0244/DECL.asl
new file mode 100644
index 000000000..88c173af5
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0244/DECL.asl
@@ -0,0 +1,368 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+/*
+ * Bug 244:
+ *
+ * SUMMARY: Acquire/Release in a global level AML code don't work
+ */
+
+ Mutex(T804, 8)
+ Mutex(T805, 8)
+ Mutex(T806, 8)
+ Mutex(T807, 8)
+
+ /*
+ * These declarations are used for to check the Acquire
+ * and Release operations in a global level AML code.
+ */
+ Name(i101, 0) // non-zero means that this test was run
+ Name(i104, 1)
+ Name(i105, 1)
+ Name(i106, 1)
+ Name(i107, 1)
+
+ Method(m137)
+ {
+ Store(1, i101)
+
+ Store("m137 started", Debug)
+
+ if (LNot(i104)) {
+ Release(T804)
+ }
+
+ Store("m137 completed", Debug)
+
+ return (1)
+ }
+
+ Method(m13e)
+ {
+ Store(1, i101)
+
+ Store("m13e started", Debug)
+
+ Store(Acquire(T805, 0xffff), i105)
+
+ Store("m13e completed", Debug)
+
+ return (1)
+ }
+
+ Method(m13f)
+ {
+ Store(1, i101)
+
+ Store("m13f started", Debug)
+
+ if (LNot(i105)) {
+ Release(T805)
+ }
+
+ Store("m13f completed", Debug)
+
+ return (1)
+ }
+
+ Method(m140)
+ {
+ Store(1, i101)
+
+ Store("m140 started", Debug)
+
+ Store(Acquire(T807, 0xffff), i107)
+
+ Store("m140 completed", Debug)
+
+ return (1)
+ }
+
+ /* Acquire/Release T804 */
+
+ Name(b11c, Buffer(Add(1, Store(Acquire(T804, 0xffff), i104))){0})
+ Name(b11d, Buffer(m137()){0})
+
+
+ /* Acquire/Release T805 */
+
+ Name(b11e, Buffer(m13e()){0})
+ Name(b11f, Buffer(m13f()){0})
+
+ /* Acquire T806 */
+
+ Name(b120, Buffer(Add(1, Store(Acquire(T806, 0xffff), i106))){0})
+
+ /* Acquire T807 */
+
+ Name(b121, Buffer(m140()){0})
+
+
+/*
+ * m03c - check, register errors and reset the global level execution exception,
+ * set up id01 to non-zero in error case.
+ */
+Name(i108, 0)
+Name(BUF2, Buffer(m03c()){})
+Method(m03c)
+{
+ if (CH03("", 0, 0x000, 0, 0))
+ {
+ Store(1, i108)
+ }
+}
+
+Method(m02e)
+{
+ Method(m0b9)
+ {
+ if (i108) {
+ err("", zFFF, 0x126, 0, 0, 0, 0)
+ }
+
+ if (LNot(i101)) {
+ Store("******** Test was not run !!!!!!!!!!!!!", Debug)
+ err("", zFFF, 0x002, 0, 0, 0, 0)
+ return
+ }
+
+ Store("******** Test started", Debug)
+
+ CH03("", 0, 0x003, 0, 0)
+
+
+ if (i104) {
+ Store("!!!!!!!! ERROR 1: Acquire(T804, 0xffff) failed", Debug)
+ err("", zFFF, 0x004, 0, 0, 0, 0)
+ } else {
+ Store("Ok: Acquire(T804, 0xffff)", Debug)
+ }
+
+ if (i105) {
+ Store("!!!!!!!! ERROR 2: Acquire(T805, 0xffff) failed", Debug)
+ err("", zFFF, 0x005, 0, 0, 0, 0)
+ } else {
+ Store("Ok: Acquire(T805, 0xffff)", Debug)
+ }
+
+ Release(T804)
+ CH04("", 0, 65, 0, 0x006, 0, 0) // AE_AML_MUTEX_NOT_ACQUIRED
+
+ Release(T805)
+ CH04("", 0, 65, 0, 0x007, 0, 0) // AE_AML_MUTEX_NOT_ACQUIRED
+
+ /* Release T807 */
+
+ if (LNot(i107)) {
+ Release(T807)
+ } else {
+ Store("!!!!!!!! ERROR 7: Acquire(T807, 0xffff) failed", Debug)
+ err("", zFFF, 0x008, 0, 0, 0, 0)
+ }
+ CH03("", 0, 0x009, 0, 0)
+
+ /* Release T806 */
+
+ if (LNot(i106)) {
+ Release(T806)
+ } else {
+ Store("!!!!!!!! ERROR 5: Acquire(T806, 0xffff) failed", Debug)
+ err("", zFFF, 0x00a, 0, 0, 0, 0)
+ }
+ CH03("", 0, 0x00b, 0, 0)
+
+ Store("******** Test finished", Debug)
+ }
+
+ Method(mm00)
+ {
+ m0b9()
+ }
+
+ mm00()
+}
+
+Method(m030)
+{
+
+ Mutex(T804, 8)
+ Mutex(T805, 8)
+ Mutex(T806, 8)
+ Mutex(T807, 8)
+
+ /*
+ * These declarations are used for to check the Acquire
+ * and Release operations in a global level AML code.
+ */
+ Name(i101, 0) // non-zero means that this test was run
+ Name(i104, 1)
+ Name(i105, 1)
+ Name(i106, 1)
+ Name(i107, 1)
+
+ Method(m137)
+ {
+ Store(1, i101)
+
+ Store("m137 started", Debug)
+
+ if (LNot(i104)) {
+ Release(T804)
+ }
+
+ Store("m137 completed", Debug)
+
+ return (1)
+ }
+
+ Method(m13e)
+ {
+ Store(1, i101)
+
+ Store("m13e started", Debug)
+
+ Store(Acquire(T805, 0xffff), i105)
+
+ Store("m13e completed", Debug)
+
+ return (1)
+ }
+
+ Method(m13f)
+ {
+ Store(1, i101)
+
+ Store("m13f started", Debug)
+
+ if (LNot(i105)) {
+ Release(T805)
+ }
+
+ Store("m13f completed", Debug)
+
+ return (1)
+ }
+
+ Method(m140)
+ {
+ Store(1, i101)
+
+ Store("m140 started", Debug)
+
+ Store(Acquire(T807, 0xffff), i107)
+
+ Store("m140 completed", Debug)
+
+ return (1)
+ }
+
+ /* Acquire/Release T804 */
+
+ Name(b11c, Buffer(Add(1, Store(Acquire(T804, 0xffff), i104))){0})
+ Name(b11d, Buffer(m137()){0})
+
+
+ /* Acquire/Release T805 */
+
+ Name(b11e, Buffer(m13e()){0})
+ Name(b11f, Buffer(m13f()){0})
+
+ /* Acquire T806 */
+
+ Name(b120, Buffer(Add(1, Store(Acquire(T806, 0xffff), i106))){0})
+
+ /* Acquire T807 */
+
+ Name(b121, Buffer(m140()){0})
+
+
+ Method(m0b9)
+ {
+ if (LNot(i101)) {
+ Store("******** Test was not run !!!!!!!!!!!!!", Debug)
+ err("", zFFF, 0x000, 0, 0, 0, 0)
+ return
+ }
+
+ Store("******** Test started", Debug)
+
+ CH03("", 0, 0x001, 0, 0)
+
+
+ if (i104) {
+ Store("!!!!!!!! ERROR 1: Acquire(T804, 0xffff) failed", Debug)
+ err("", zFFF, 0x002, 0, 0, 0, 0)
+ } else {
+ Store("Ok: Acquire(T804, 0xffff)", Debug)
+ }
+
+ if (i105) {
+ Store("!!!!!!!! ERROR 2: Acquire(T805, 0xffff) failed", Debug)
+ err("", zFFF, 0x003, 0, 0, 0, 0)
+ } else {
+ Store("Ok: Acquire(T805, 0xffff)", Debug)
+ }
+
+ Release(T804)
+ CH04("", 0, 65, 0, 0x004, 0, 0) // AE_AML_MUTEX_NOT_ACQUIRED
+
+ Release(T805)
+ CH04("", 0, 65, 0, 0x005, 0, 0) // AE_AML_MUTEX_NOT_ACQUIRED
+
+ /* Release T807 */
+
+ if (LNot(i107)) {
+ Release(T807)
+ } else {
+ Store("!!!!!!!! ERROR 7: Acquire(T807, 0xffff) failed", Debug)
+ err("", zFFF, 0x006, 0, 0, 0, 0)
+ }
+ CH03("", 0, 0x007, 0, 0)
+
+ /* Release T806 */
+
+ if (LNot(i106)) {
+ Release(T806)
+ } else {
+ Store("!!!!!!!! ERROR 5: Acquire(T806, 0xffff) failed", Debug)
+ err("", zFFF, 0x008, 0, 0, 0, 0)
+ }
+ CH03("", 0, 0x009, 0, 0)
+
+ Store("******** Test finished", Debug)
+ }
+
+ Method(mm00)
+ {
+ m0b9()
+ }
+
+ mm00()
+}
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0244/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0244/MAIN.asl
new file mode 100644
index 000000000..63766a17f
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0244/MAIN.asl
@@ -0,0 +1,56 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+DefinitionBlock(
+ "B244.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0244/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0244/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0244/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0244/RUN.asl
new file mode 100644
index 000000000..ba373e229
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0244/RUN.asl
@@ -0,0 +1,37 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+if (STTT("Demo of bug 244", TCLD, 244, W017)) {
+ SRMT("m02e")
+ m02e()
+ SRMT("m030")
+ m030()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0245_SPEC/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0245_SPEC/DECL.asl
new file mode 100644
index 000000000..0962eb8cf
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0245_SPEC/DECL.asl
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+/*
+ * Bug 245:
+ *
+ * SUMMARY: Switch statement translation example in ACPI Spec is contradictory
+ */
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0246/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0246/DECL.asl
new file mode 100644
index 000000000..4c86853f5
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0246/DECL.asl
@@ -0,0 +1,68 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+/*
+ * Bug 246:
+ *
+ * SUMMARY: Switch implementation can cause AE_ALREADY_EXISTS exception when Switch
+ * is within While
+ */
+
+Method(m17b)
+{
+ Store(2, Local0)
+ Store(0, Local1)
+ Store(0x000, Local2)
+
+ while (Local0) {
+ if (CH03("", 0, Local2, 0, 0)) {
+ return
+ }
+ Increment(Local2)
+ switch (Local0) {
+ case (1) {
+ Store("Case 1", Debug)
+ Add(Local1, 1, Local1)
+ }
+ case (2) {
+ Store("Case 2", Debug)
+ Add(Local1, 2, Local1)
+ }
+ }
+ if (CH03("", 0, Local2, 0, 0)) {
+ return
+ }
+ Increment(Local2)
+ Decrement(Local0)
+ }
+
+ if (LNotEqual(Local1, 3)) {
+ err("", zFFF, Local2, 0, 0, Local1, 3)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0246/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0246/MAIN.asl
new file mode 100644
index 000000000..7279930bc
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0246/MAIN.asl
@@ -0,0 +1,56 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+DefinitionBlock(
+ "b246.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0246/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0246/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0246/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0246/RUN.asl
new file mode 100644
index 000000000..639e7059a
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0246/RUN.asl
@@ -0,0 +1,35 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+if (STTT("Demo of bug 246", TCLD, 246, W017)) {
+ SRMT("m17b")
+ m17b()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0247/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0247/DECL.asl
new file mode 100644
index 000000000..8d104ad18
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0247/DECL.asl
@@ -0,0 +1,100 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+/*
+ * Bug 247:
+ *
+ * SUMMARY: ASL compiler incorrectly implements Break within Switch
+ */
+
+Method(m17c)
+{
+ Name(ERRN, 0x000)
+
+ Method(m000, 3)
+ {
+ Name(CH10, 0)
+ Name(CH11, 0)
+ Name(CH20, 0)
+ Name(CH21, 0)
+
+ Store(arg0, Debug)
+ Store(2, Local0)
+
+ while (Local0) {
+ if (CH03("", 0, ERRN, 0, 0)) {
+ return
+ }
+ Increment(ERRN)
+ switch (Local0) {
+ case (1) {
+ if (Arg1) {
+ Store(1, CH10)
+ Break
+ }
+ Store(1, CH11)
+ }
+ case (2) {
+ if (Arg2) {
+ Store(1, CH20)
+ Break
+ }
+ Store(1, CH21)
+ }
+ }
+ if (CH03("", 0, ERRN, 0, 0)) {
+ return
+ }
+ Increment(ERRN)
+ Decrement(Local0)
+ }
+
+ if (LNotEqual(CH10, Arg1)) {
+ err("", zFFF, ERRN, 0, 0, CH10, Arg1)
+ }
+ Increment(ERRN)
+ if (LEqual(CH11, Arg1)) {
+ err("", zFFF, ERRN, 0, 0, CH11, Arg1)
+ }
+ Increment(ERRN)
+ if (LNotEqual(CH20, Arg2)) {
+ err("", zFFF, ERRN, 0, 0, CH20, Arg2)
+ }
+ Increment(ERRN)
+ if (LEqual(CH21, Arg2)) {
+ err("", zFFF, ERRN, 0, 0, CH21, Arg2)
+ }
+ Increment(ERRN)
+ }
+
+ m000("No Breaks", 0, 0)
+ m000("Break 2", 0, 1)
+ m000("Break 1", 1, 0)
+ m000("2 Breaks", 1, 1)
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0247/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0247/MAIN.asl
new file mode 100644
index 000000000..964586ed4
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0247/MAIN.asl
@@ -0,0 +1,56 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+DefinitionBlock(
+ "B247.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0247/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0247/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0247/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0247/RUN.asl
new file mode 100644
index 000000000..782c79032
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0247/RUN.asl
@@ -0,0 +1,35 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+if (STTT("Demo of bug 247", TCLD, 247, W017)) {
+ SRMT("m17c")
+ m17c()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0248/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0248/DECL.asl
new file mode 100644
index 000000000..db0d75ef6
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0248/DECL.asl
@@ -0,0 +1,226 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+/*
+ * Bug 248:
+ *
+ * SUMMARY: Incorrect ReferenceCount on Switch operation
+ */
+
+Method(m02d)
+{
+ /*
+ * NoOp -
+ * all them are for tracking only - to simplify debugging
+ */
+
+ Method(m003, 1)
+ {
+ NoOp
+
+ Switch (arg0) {
+ Case (0) {
+ Store("m003", debug)
+ }
+ }
+
+ NoOp
+ }
+
+ Method(m004, 1)
+ {
+ NoOp
+
+ if (arg0) {
+ Store("m004", debug)
+ }
+
+ NoOp
+ }
+
+ Method(m1a8, 2)
+ {
+ if (arg1) {
+ m003(arg0)
+ } else {
+ m004(arg0)
+ }
+ }
+
+ Method(m1a9)
+ {
+ Name(sw00, 1)
+ Name(hg00, 0) // if non-zero - the test hangs
+
+ Name(p91e, Package() {0xabcd0000})
+
+ if (1) {
+ Store(Index(p91e, 0, Local1), Local0)
+ } else {
+ Store(0xabcd0000, Local0)
+ Store(0xabcd0001, Local1)
+ }
+
+ if (LNotEqual(DerefOf(Local0), 0xabcd0000)) {
+ err("", zFFF, 0x000, 0, 0, DerefOf(Local0), 0xabcd0000)
+ }
+
+ Store("============== sit 0 (Local0):", debug)
+ m1a8(Local0, sw00)
+
+ /*
+ * At this point, after returning from m1a8
+ * for the non-zero sw00, the object attached
+ * to Local0 has been deleted. It is the essence
+ * of the bug.
+ */
+
+ if (hg00) {
+
+ /*
+ * To show visually the consequences of the anomaly
+ * run this code. It causes hang.
+ */
+
+ Store("============== sit 1 (Local1):", debug)
+ m1a8(Local1, sw00)
+
+ Store("============== sit 2:", debug)
+
+ Store(ObjectType(Local0), Local7)
+ Store(Local7, debug)
+
+ Store(ObjectType(Local1), Local7)
+ Store(Local7, debug)
+
+ Store(Local0, debug)
+ Store(Local1, debug)
+ }
+
+ Store("============== before checking:", debug)
+
+ if (LNotEqual(DerefOf(Local0), 0xabcd0000)) {
+ err("", zFFF, 0x001, 0, 0, DerefOf(Local0), 0xabcd0000)
+ }
+
+ Store("============== end of test", debug)
+ }
+
+ Method(mm00) {
+ m1a9()
+ }
+
+ CH03("", 0, 0x002, 0, 0)
+ mm00()
+
+ /* Check opcode of the last exception */
+ CH04("", 2, 47, 0, 0x003, 0, 0) // AE_AML_OPERAND_TYPE
+}
+
+/*
+ * It is Functional:Reference:ref07.asl:Method(m1d5)
+ */
+Method(m03d)
+{
+ Name(i001, 0)
+ Name(p000, Package(2) {0x77, 0x88})
+
+ Name(sw00, 1)
+
+ Name(hg00, 1) // if non-zero - the test hangs
+ Name(hg01, 1) // if non-zero - the test hangs
+ Name(hg02, 1) // if non-zero - the test hangs
+
+ CH03("", 0, 184, 0, 0)
+
+ CopyObject(Index(p000, 1, Local0), i001)
+
+ CH03("", 0, 185, 0, 0)
+
+ // Type of i001 should be already IRef here,
+ // so, don't expect exception.
+
+ Store(Index(p000, 0, Local0), i001)
+
+ CH03("", 0, 186, 0, 0)
+
+ Add(Local0, 1, Local7)
+
+ if (y248) {
+ Store(1, hg00)
+ Store(1, hg01)
+ Store(1, hg02)
+ }
+
+ /*
+ * To show visually the consequences of the anomaly
+ * run one of code below. They cause hang.
+ */
+ if (hg00) {
+ // Infinite loop of printing
+ Store(0, Local1)
+ Store(Local0, debug)
+ }
+ if (hg01) {
+ // Infinite loop of printing
+ Store(Local0, debug)
+ Store(Local0, debug)
+ }
+ if (hg02) {
+ Store(0, Local1)
+
+ Store("============== sit 2:", debug)
+
+ Store(ObjectType(Local0), Local7)
+ Store(Local7, debug)
+ }
+
+ CH04("", 0, 0xff, 0, 187, 0, 0)
+
+ Add(i001, 1, Local7)
+
+ CH04("", 0, 0xff, 0, 188, 0, 0)
+
+ /*
+ * Looks identical to b248: "Incorrect ReferenceCount on Switch operation"
+ * (though there is no Switch operation)
+ *
+ * Reference count of Local0 is mistakenly zeroed there too.
+ *
+ * [ACPI Debug] String: [0x0F] "<-------- 0000>"
+ * [ACPI Debug] Reference: [Debug]
+ * [ACPI Debug] String: [0x0F] "<-------- 1111>"
+ *
+ * [ACPI Debug] String: [0x0F] "<-------- 0000>"
+ * [ACPI Debug] [ACPI Debug] String: [0x0F] "<-------- 1111>"
+ */
+ Store("<-------- 0000>", debug)
+ Store(Local0, debug)
+ Store("<-------- 1111>", debug)
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0248/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0248/MAIN.asl
new file mode 100644
index 000000000..0c3ffbad9
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0248/MAIN.asl
@@ -0,0 +1,56 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+DefinitionBlock(
+ "B248.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0248/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0248/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0248/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0248/RUN.asl
new file mode 100644
index 000000000..e6098ef34
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0248/RUN.asl
@@ -0,0 +1,46 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+if (STTT("Demo of bug 248", TCLD, 248, W017)) {
+ SRMT("m02d")
+ if (y200) {
+ m02d()
+ } else {
+ BLCK()
+ }
+
+ SRMT("m03d")
+ if (y248) {
+ m03d()
+ } else {
+ BLCK()
+ }
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0249_DEMO_IMPOSSIBLE/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0249_DEMO_IMPOSSIBLE/DECL.asl
new file mode 100644
index 000000000..e25460577
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0249_DEMO_IMPOSSIBLE/DECL.asl
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+/*
+ * Bug 249:
+ *
+ * SUMMARY: Strengthen the type control for AcpiExResolveOperands
+ */
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0250_DEMO_IMPOSSIBLE/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0250_DEMO_IMPOSSIBLE/DECL.asl
new file mode 100644
index 000000000..067f5f281
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0250_DEMO_IMPOSSIBLE/DECL.asl
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+/*
+ * Bug 250:
+ *
+ * SUMMARY: The ReferenceCount mechanism should be added with the internal control
+ */
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0251_ACTION_REQUIRED/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0251_ACTION_REQUIRED/DECL.asl
new file mode 100644
index 000000000..48b854596
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0251_ACTION_REQUIRED/DECL.asl
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+/*
+ * Bug 251:
+ *
+ * SUMMARY: AE_ALREADY_EXISTS on multi-threading on Switch operator
+ */
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0251_ACTION_REQUIRED/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0251_ACTION_REQUIRED/MAIN.asl
new file mode 100644
index 000000000..777a9c92a
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0251_ACTION_REQUIRED/MAIN.asl
@@ -0,0 +1,128 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+DefinitionBlock(
+ "B251.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/common.asl")
+ Include("../../../../../runtime/cntl/mt_runpoint.asl")
+ Include("../../../../../runtime/cntl/runmode.asl")
+ Include("../../../../../runtime/cntl/ehandle.asl")
+
+ Name(num, 10) // repetition of While number
+
+ Method(m02b)
+ {
+ Store("================ Test m02b started", Debug)
+ Store(num, Local0)
+ While (Local0) {
+ Concatenate("Iteration ", Local0, Debug)
+ Store(0, Local3)
+ Switch (Local3) {
+ Case (0) {
+ Store("Case (0)", Debug)
+ }
+ }
+ Sleep(100)
+ Decrement(Local0)
+ }
+ Store("================ Test m02b completed", Debug)
+ }
+
+ /* The same as m02b but without While */
+ Method(m02c)
+ {
+ Store("================ Test m02c started", Debug)
+ Store(num, Local0)
+ // While (Local0) {
+ Concatenate("Iteration ", Local0, Debug)
+ Store(0, Local3)
+ Switch (Local3) {
+ Case (0) {
+ Store("Case (0)", Debug)
+ }
+ }
+ Sleep(100)
+ Decrement(Local0)
+ // }
+ Store("================ Test m02c completed", Debug)
+ }
+
+ /*
+ * Note: advanced for mt-tests -
+ * in case of Threads command
+ * the arguments passed to method are:
+ *
+ * arg0 - total number of threads created by Threads commmand
+ * arg1 - ID of the current thread
+ * arg2 - index of the current thread (0, 1, 2 ... )
+ */
+ Method(MAIN, 3) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+
+ CH03("", 0, 0x000, 0, 0)
+
+ if (LEqual(arg1, "AML Debugger")) {
+ Store("========== args of Execute command of AcpiExec:", Debug)
+ Store(arg0, Debug)
+ Store(arg1, Debug)
+ Store("==========.", Debug)
+ } else {
+ Store("========== args of Threads command of AcpiExec:", Debug)
+ Store(arg0, Debug)
+ Store(arg1, Debug)
+ Store(arg2, Debug)
+ Store("==========.", Debug)
+
+ if (1) {
+ m02b()
+ } else {
+ m02c()
+ }
+ }
+
+ CH03("", 0, 0x001, 0, 0)
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0252_ASL/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0252_ASL/DECL.asl
new file mode 100644
index 000000000..9d144977a
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0252_ASL/DECL.asl
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+/*
+ * Bug 252:
+ *
+ * SUMMARY: ASL compiler crashes on incorrect expression with Switch
+ */
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0252_ASL/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0252_ASL/MAIN.asl
new file mode 100644
index 000000000..f91591ce4
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0252_ASL/MAIN.asl
@@ -0,0 +1,60 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+DefinitionBlock(
+ "gr.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ Method(m000)
+ {
+ Store(0, Local0)
+ While (1) {
+ if (LEqual(Local0, 0) {
+ Store("Case 0", Debug)
+ } elseif (LEqual(Local0, 1) {
+ Store("Case 1", Debug)
+ } elseif (LEqual(Local0, 2) {
+ Switch (Local0) {
+ Case (0) {
+ Store("Case 2", Debug)
+ }
+ }
+ }
+ }
+ }
+
+ Method(MAIN) {
+ m000()
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0253_DEMO_IMPOSSIBLE/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0253_DEMO_IMPOSSIBLE/DECL.asl
new file mode 100644
index 000000000..8f10ba792
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0253_DEMO_IMPOSSIBLE/DECL.asl
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+/*
+ * Bug 253:
+ *
+ * SUMMARY: Option -b of AcpiExec should be generalized to run any command of ACPICA debugger in a Batch mode
+ */
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0254_DEMO_IMPOSSIBLE/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0254_DEMO_IMPOSSIBLE/DECL.asl
new file mode 100644
index 000000000..bd0c8ca7a
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0254_DEMO_IMPOSSIBLE/DECL.asl
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+/*
+ * Bug 254:
+ *
+ * SUMMARY: Adjust the Threads command of AcpiExec to the actual need of mt-testing
+ */
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0255_DEMO_IMPOSSIBLE/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0255_DEMO_IMPOSSIBLE/DECL.asl
new file mode 100644
index 000000000..09a3f10e8
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0255_DEMO_IMPOSSIBLE/DECL.asl
@@ -0,0 +1,36 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+/*
+ * Bug 255:
+ *
+ * SUMMARY: The multi-threading test mt_mutex/mf07 fails/crashes/hangs on 20060828
+ *
+ * Note: it requires to run on 20060828.
+ */
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0256_DEMO_IMPOSSIBLE/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0256_DEMO_IMPOSSIBLE/DECL.asl
new file mode 100644
index 000000000..6aa8e6af5
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0256_DEMO_IMPOSSIBLE/DECL.asl
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+/*
+ * Bug 256:
+ *
+ * SUMMARY: Removing the useless code increases essentially the rate of interpretation
+ */
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0257/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0257/DECL.asl
new file mode 100644
index 000000000..3f16210d5
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0257/DECL.asl
@@ -0,0 +1,102 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+/*
+ * Bug 257:
+ *
+ * SUMMARY: Unexpected AE_AML_OPERAND_TYPE when the Object in Load is a Region Field
+ */
+
+Name(B257, Buffer() {
+
+ 0x53,0x53,0x44,0x54,0x42,0x00,0x00,0x00, /* 00000000 "SSDTB..." */
+ 0x02,0x81,0x49,0x6E,0x74,0x65,0x6C,0x00, /* 00000008 "..Intel." */
+ 0x4D,0x61,0x6E,0x79,0x00,0x00,0x00,0x00, /* 00000010 "Many...." */
+ 0x01,0x00,0x00,0x00,0x49,0x4E,0x54,0x4C, /* 00000018 "....INTL" */
+ 0x11,0x10,0x06,0x20,0x5B,0x82,0x1C,0x41, /* 00000020 "... [..A" */
+ 0x55,0x58,0x44,0x14,0x16,0x4D,0x30,0x30, /* 00000028 "UXD..M00" */
+ 0x30,0x00,0xA4,0x0D,0x5C,0x41,0x55,0x58, /* 00000030 "0...\AUX" */
+ 0x44,0x2E,0x4D,0x30,0x30,0x30,0x20,0x28, /* 00000038 "D.M000 (" */
+ 0x29,0x00,
+})
+
+Name (H257, 0)
+
+OperationRegion (R257, SystemMemory, 0, 0x42)
+
+Field(R257, ByteAcc, NoLock, Preserve) {
+ F257, 0x210,
+}
+
+Method(m17d)
+{
+ External(\AUXD.M000)
+
+ Store(B257, F257)
+
+ if (CondRefof(\AUXD, Local0)) {
+ err("", zFFF, 0x000, 0, 0, "\\AUXD", 1)
+ return
+ }
+
+ if (CH03("", 0, 0x001, 0, 0)) {
+ return
+ }
+
+ Load(F257, H257)
+
+ if (CH03("", 0, 0x002, 0, 0)) {
+ return
+ }
+
+ if (CondRefof(\AUXD, Local0)) {
+ } else {
+ err("", zFFF, 0x003, 0, 0, "\\AUXD", 0)
+ return
+ }
+
+ Store (ObjectType(Local0), Local1)
+
+ if (LNotEqual(Local1, 6)) {
+ err("", zFFF, 0x004, 0, 0, Local1, 6)
+ return
+ }
+
+ Store(ObjectType(\AUXD.M000), Local0)
+ if (LNotEqual(Local0, 8)) {
+ err("", zFFF, 0x005, 0, 0, Local0, 8)
+ return
+ }
+
+ UnLoad(H257)
+
+ if (CondRefof(\AUXD, Local0)) {
+ err("", zFFF, 0x006, 0, 0, "\\AUXD", 1)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0257/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0257/MAIN.asl
new file mode 100644
index 000000000..7a102aea1
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0257/MAIN.asl
@@ -0,0 +1,56 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+DefinitionBlock(
+ "B257.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0257/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0257/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0257/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0257/RUN.asl
new file mode 100644
index 000000000..11b0b1943
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0257/RUN.asl
@@ -0,0 +1,35 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+if (STTT("Demo of bug 257", TCLD, 257, W017)) {
+ SRMT("m17d")
+ m17d()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0257/ssdt.c b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0257/ssdt.c
new file mode 100644
index 000000000..57f02b5c0
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0257/ssdt.c
@@ -0,0 +1,51 @@
+/*
+ *
+ * Intel ACPI Component Architecture
+ * ASL Optimizing Compiler version 20061011 [Oct 12 2006]
+ * Copyright (C) 2000 - 2006 Intel Corporation
+ * Supports ACPI Specification Revision 3.0a
+ *
+ * Compilation of "ssdt.asl" - Mon Oct 16 10:59:20 2006
+ *
+ */
+ /*
+ * 1....
+ * 2....DefinitionBlock(
+ * 3.... "ssdt.aml", ** Output filename
+ * 4.... "SSDT", ** Signature
+ * 5.... 0x02, ** DSDT Revision
+ * 6.... "Intel", ** OEMID
+ * 7.... "Many", ** TABLE ID
+ * 8.... 0x00000001 ** OEM Revision
+ * 9.... ) {
+ */
+ unsigned char SSDT_Many_Header [] =
+ {
+ 0x53,0x53,0x44,0x54,0x42,0x00,0x00,0x00,0x02,0x81,0x49,0x6E,0x74,0x65,0x6C,0x00, /* 00000000 "SSDTB.....Intel." */
+ 0x4D,0x61,0x6E,0x79,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x49,0x4E,0x54,0x4C, /* 00000010 "Many........INTL" */
+ 0x11,0x10,0x06,0x20, /* 00000014 "... " */
+ };
+
+ /*
+ * 10....
+ * 11.... Device(AUXD) {
+ */
+ unsigned char SSDT_Many_AUXD [] =
+ {
+ 0x5B,0x82,0x1C,0x41,0x55,0x58,0x44, /* 0000001B "[..AUXD" */
+ };
+
+ /*
+ * 12.... Method(M000) {Return ("\\AUXD.M000 ()")}
+ */
+ unsigned char SSDT_Many_AUXD_M000 [] =
+ {
+ 0x14,0x16,0x4D,0x30,0x30,0x30,0x00, /* 00000022 "..M000." */
+ 0xA4,0x0D,0x5C,0x41,0x55,0x58,0x44,0x2E,0x4D,0x30,0x30,0x30,0x20,0x28,0x29,0x00, /* 00000032 "..\AUXD.M000 ()." */
+ /*
+ * 13.... }
+ * 14....}
+ * 15....
+ */
+ };
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0258/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0258/DECL.asl
new file mode 100644
index 000000000..391609f21
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0258/DECL.asl
@@ -0,0 +1,103 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+/*
+ * Bug 258:
+ *
+ * SUMMARY: Load operator should fail if its Object parameter being a Region
+ * is not in SystemMemory
+ */
+
+Name(B258, Buffer() {
+
+ 0x53,0x53,0x44,0x54,0x42,0x00,0x00,0x00, /* 00000000 "SSDTB..." */
+ 0x02,0x81,0x49,0x6E,0x74,0x65,0x6C,0x00, /* 00000008 "..Intel." */
+ 0x4D,0x61,0x6E,0x79,0x00,0x00,0x00,0x00, /* 00000010 "Many...." */
+ 0x01,0x00,0x00,0x00,0x49,0x4E,0x54,0x4C, /* 00000018 "....INTL" */
+ 0x11,0x10,0x06,0x20,0x5B,0x82,0x1C,0x41, /* 00000020 "... [..A" */
+ 0x55,0x58,0x44,0x14,0x16,0x4D,0x30,0x30, /* 00000028 "UXD..M00" */
+ 0x30,0x00,0xA4,0x0D,0x5C,0x41,0x55,0x58, /* 00000030 "0...\AUX" */
+ 0x44,0x2E,0x4D,0x30,0x30,0x30,0x20,0x28, /* 00000038 "D.M000 (" */
+ 0x29,0x00,
+})
+
+Name (H258, 0)
+
+OperationRegion (R258, 0x80, 0, 0x42)
+
+Field(R258, ByteAcc, NoLock, Preserve) {
+ F258, 0x210,
+}
+
+Method(m17e)
+{
+ External(\AUXD.M000)
+
+ Store(B258, F258)
+
+ if (CondRefof(\AUXD, Local0)) {
+ err("", zFFF, 0x000, 0, 0, "\\AUXD", 1)
+ return
+ }
+
+ if (CH03("", 0, 0x001, 0, 0)) {
+ return
+ }
+
+ Load(R258, H258)
+
+ if (CH04("", 0, 8, 0, 0x002, 0, 0)) { // AE_TYPE
+ return
+ }
+
+ if (CondRefof(\AUXD, Local0)) {
+ } else {
+ err("", zFFF, 0x003, 0, 0, "\\AUXD", 0)
+ return
+ }
+
+ Store (ObjectType(Local0), Local1)
+
+ if (LNotEqual(Local1, 6)) {
+ err("", zFFF, 0x004, 0, 0, Local1, 6)
+ return
+ }
+
+ Store(ObjectType(\AUXD.M000), Local0)
+ if (LNotEqual(Local0, 8)) {
+ err("", zFFF, 0x005, 0, 0, Local0, 8)
+ return
+ }
+
+ UnLoad(H258)
+
+ if (CondRefof(\AUXD, Local0)) {
+ err("", zFFF, 0x006, 0, 0, "\\AUXD", 1)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0258/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0258/MAIN.asl
new file mode 100644
index 000000000..92065607a
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0258/MAIN.asl
@@ -0,0 +1,56 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+DefinitionBlock(
+ "B258.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0258/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0258/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0258/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0258/RUN.asl
new file mode 100644
index 000000000..19d6e6085
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0258/RUN.asl
@@ -0,0 +1,35 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+if (STTT("Demo of bug 258", TCLD, 258, W017)) {
+ SRMT("m17e")
+ m17e()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0258/ssdt.c b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0258/ssdt.c
new file mode 100644
index 000000000..57f02b5c0
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0258/ssdt.c
@@ -0,0 +1,51 @@
+/*
+ *
+ * Intel ACPI Component Architecture
+ * ASL Optimizing Compiler version 20061011 [Oct 12 2006]
+ * Copyright (C) 2000 - 2006 Intel Corporation
+ * Supports ACPI Specification Revision 3.0a
+ *
+ * Compilation of "ssdt.asl" - Mon Oct 16 10:59:20 2006
+ *
+ */
+ /*
+ * 1....
+ * 2....DefinitionBlock(
+ * 3.... "ssdt.aml", ** Output filename
+ * 4.... "SSDT", ** Signature
+ * 5.... 0x02, ** DSDT Revision
+ * 6.... "Intel", ** OEMID
+ * 7.... "Many", ** TABLE ID
+ * 8.... 0x00000001 ** OEM Revision
+ * 9.... ) {
+ */
+ unsigned char SSDT_Many_Header [] =
+ {
+ 0x53,0x53,0x44,0x54,0x42,0x00,0x00,0x00,0x02,0x81,0x49,0x6E,0x74,0x65,0x6C,0x00, /* 00000000 "SSDTB.....Intel." */
+ 0x4D,0x61,0x6E,0x79,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x49,0x4E,0x54,0x4C, /* 00000010 "Many........INTL" */
+ 0x11,0x10,0x06,0x20, /* 00000014 "... " */
+ };
+
+ /*
+ * 10....
+ * 11.... Device(AUXD) {
+ */
+ unsigned char SSDT_Many_AUXD [] =
+ {
+ 0x5B,0x82,0x1C,0x41,0x55,0x58,0x44, /* 0000001B "[..AUXD" */
+ };
+
+ /*
+ * 12.... Method(M000) {Return ("\\AUXD.M000 ()")}
+ */
+ unsigned char SSDT_Many_AUXD_M000 [] =
+ {
+ 0x14,0x16,0x4D,0x30,0x30,0x30,0x00, /* 00000022 "..M000." */
+ 0xA4,0x0D,0x5C,0x41,0x55,0x58,0x44,0x2E,0x4D,0x30,0x30,0x30,0x20,0x28,0x29,0x00, /* 00000032 "..\AUXD.M000 ()." */
+ /*
+ * 13.... }
+ * 14....}
+ * 15....
+ */
+ };
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0259/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0259/DECL.asl
new file mode 100644
index 000000000..0bf72e03f
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0259/DECL.asl
@@ -0,0 +1,120 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+/*
+ * Bug 259:
+ *
+ * SUMMARY: _REG method execution during Load operator processing issue
+ */
+
+Name(B259, Buffer() {
+
+ 0x53,0x53,0x44,0x54,0xD1,0x00,0x00,0x00, /* 00000000 "SSDT...." */
+ 0x02,0xE1,0x49,0x6E,0x74,0x65,0x6C,0x00, /* 00000008 "..Intel." */
+ 0x4D,0x61,0x6E,0x79,0x00,0x00,0x00,0x00, /* 00000010 "Many...." */
+ 0x01,0x00,0x00,0x00,0x49,0x4E,0x54,0x4C, /* 00000018 "....INTL" */
+ 0x11,0x10,0x06,0x20,0x5B,0x82,0x4B,0x0A, /* 00000020 "... [.K." */
+ 0x41,0x55,0x58,0x44,0x5B,0x80,0x4F,0x50, /* 00000028 "AUXD[.OP" */
+ 0x52,0x30,0x80,0x0A,0x00,0x0A,0x04,0x5B, /* 00000030 "R0.....[" */
+ 0x81,0x0B,0x4F,0x50,0x52,0x30,0x03,0x52, /* 00000038 "..OPR0.R" */
+ 0x46,0x30,0x30,0x20,0x08,0x52,0x45,0x47, /* 00000040 "F00 .REG" */
+ 0x43,0xFF,0x08,0x52,0x45,0x47,0x50,0x0A, /* 00000048 "C..REGP." */
+ 0x00,0x14,0x33,0x5F,0x52,0x45,0x47,0x02, /* 00000050 "..3_REG." */
+ 0x70,0x0D,0x5C,0x41,0x55,0x58,0x44,0x2E, /* 00000058 "p.\AUXD." */
+ 0x5F,0x52,0x45,0x47,0x3A,0x00,0x5B,0x31, /* 00000060 "_REG:.[1" */
+ 0x70,0x68,0x5B,0x31,0x70,0x69,0x5B,0x31, /* 00000068 "ph[1pi[1" */
+ 0xA0,0x14,0x93,0x68,0x0A,0x80,0x70,0x52, /* 00000070 "...h..pR" */
+ 0x45,0x47,0x43,0x52,0x45,0x47,0x50,0x70, /* 00000078 "EGCREGPp" */
+ 0x69,0x52,0x45,0x47,0x43,0x14,0x4B,0x04, /* 00000080 "iREGC.K." */
+ 0x41,0x43,0x43,0x30,0x00,0x70,0x0D,0x5C, /* 00000088 "ACC0.p.\" */
+ 0x41,0x55,0x58,0x44,0x2E,0x41,0x43,0x43, /* 00000090 "AUXD.ACC" */
+ 0x30,0x3A,0x00,0x5B,0x31,0x70,0x52,0x46, /* 00000098 "0:.[1pRF" */
+ 0x30,0x30,0x5B,0x31,0x70,0x52,0x45,0x47, /* 000000A0 "00[1pREG" */
+ 0x50,0x5B,0x31,0xA0,0x25,0x92,0x93,0x52, /* 000000A8 "P[1.%..R" */
+ 0x45,0x47,0x43,0x0A,0x01,0x70,0x0D,0x45, /* 000000B0 "EGC..p.E" */
+ 0x72,0x72,0x6F,0x72,0x3A,0x20,0x52,0x45, /* 000000B8 "rror: RE" */
+ 0x47,0x43,0x20,0x21,0x3D,0x20,0x31,0x00, /* 000000C0 "GC != 1." */
+ 0x5B,0x31,0x70,0x52,0x45,0x47,0x43,0x5B, /* 000000C8 "[1pREGC[" */
+ 0x31,
+})
+
+Name (H259, 0)
+
+OperationRegion (R259, SystemMemory, 0, 0xD1)
+
+Field(R259, ByteAcc, NoLock, Preserve) {
+ F259, 0x688,
+}
+
+Method(m17f)
+{
+ External(\AUXD.REGC)
+
+ Store(B259, F259)
+
+ if (CondRefof(\AUXD, Local0)) {
+ err("", zFFF, 0x000, 0, 0, "\\AUXD", 1)
+ return
+ }
+
+ if (CH03("", 0, 0x001, 0, 0)) {
+ return
+ }
+
+ Load(R259, H259)
+
+ if (CH03("", 0, 0x002, 0, 0)) {
+ return
+ }
+
+ if (CondRefof(\AUXD, Local0)) {
+ } else {
+ err("", zFFF, 0x003, 0, 0, "\\AUXD", 0)
+ return
+ }
+
+ Store (ObjectType(Local0), Local1)
+
+ if (LNotEqual(Local1, 6)) {
+ err("", zFFF, 0x004, 0, 0, Local1, 6)
+ return
+ }
+
+ Store(\AUXD.REGC, Local0)
+ if (LNotEqual(Local0, 1)) {
+ err("", zFFF, 0x005, 0, 0, Local0, 1)
+ return
+ }
+
+ UnLoad(H259)
+
+ if (CondRefof(\AUXD, Local0)) {
+ err("", zFFF, 0x006, 0, 0, "\\AUXD", 1)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0259/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0259/MAIN.asl
new file mode 100644
index 000000000..1abe03fd0
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0259/MAIN.asl
@@ -0,0 +1,56 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+DefinitionBlock(
+ "B259.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0259/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0259/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0259/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0259/RUN.asl
new file mode 100644
index 000000000..e1eaf86a1
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0259/RUN.asl
@@ -0,0 +1,35 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+if (STTT("Demo of bug 259", TCLD, 259, W017)) {
+ SRMT("m17f")
+ m17f()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0259/ssdt.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0259/ssdt.asl
new file mode 100644
index 000000000..2adc5464a
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0259/ssdt.asl
@@ -0,0 +1,44 @@
+
+DefinitionBlock(
+ "ssdt.aml", // Output filename
+ "SSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ Device (AUXD) {
+
+ OperationRegion (OPR0, 0x80, 0x00, 0x4)
+
+ Field (OPR0, DWordAcc, NoLock, Preserve) {
+ RF00, 32}
+
+ Name (REGC, Ones)
+ Name (REGP, 0)
+
+ Method(_REG, 2)
+ {
+ Store("\\AUXD._REG:", Debug)
+ Store(arg0, Debug)
+ Store(arg1, Debug)
+
+ if (LEqual(arg0, 0x80)) {
+ Store(REGC, REGP)
+ Store(arg1, REGC)
+ }
+ }
+
+ Method(ACC0)
+ {
+ Store("\\AUXD.ACC0:", Debug)
+ Store(RF00, Debug)
+ Store(REGP, Debug)
+ if (LNotEqual(REGC, 1)) {
+ Store("Error: REGC != 1", Debug)
+ Store(REGC, Debug)
+ }
+ }
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0260/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0260/DECL.asl
new file mode 100644
index 000000000..dfcc6fbc9
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0260/DECL.asl
@@ -0,0 +1,104 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+/*
+ * Bug 260:
+ *
+ * SUMMARY: For a DDBHandle Object ObjectType unexpectedly results in AE_AML_INTERNAL
+ */
+
+Method(m029)
+{
+ Name(BUF0, Buffer() {
+
+ 0x53,0x53,0x44,0x54,0x42,0x00,0x00,0x00, /* 00000000 "SSDTB..." */
+ 0x02,0x81,0x49,0x6E,0x74,0x65,0x6C,0x00, /* 00000008 "..Intel." */
+ 0x4D,0x61,0x6E,0x79,0x00,0x00,0x00,0x00, /* 00000010 "Many...." */
+ 0x01,0x00,0x00,0x00,0x49,0x4E,0x54,0x4C, /* 00000018 "....INTL" */
+ 0x11,0x10,0x06,0x20,0x5B,0x82,0x1C,0x41, /* 00000020 "... [..A" */
+ 0x55,0x58,0x44,0x14,0x16,0x4D,0x30,0x30, /* 00000028 "UXD..M00" */
+ 0x30,0x00,0xA4,0x0D,0x5C,0x41,0x55,0x58, /* 00000030 "0...\AUX" */
+ 0x44,0x2E,0x4D,0x30,0x30,0x30,0x20,0x28, /* 00000038 "D.M000 (" */
+ 0x29,0x00,
+ })
+
+ OperationRegion (IST0, SystemMemory, 0, 0x42)
+
+ Field(IST0, ByteAcc, NoLock, Preserve) {
+ RFU0, 0x210,
+ }
+
+ External(\AUXD)
+
+
+
+ Method(m000)
+ {
+ CH03("", 0, 0x000, 0, 0)
+
+ Store(BUF0, RFU0)
+
+ if (CondRefof(\AUXD, Local0)) {
+ err("", zFFF, 0x001, 0, 0, 0, 0)
+ return
+ }
+
+ Load(IST0, Local2)
+
+ Store("SSDT loaded", Debug)
+
+ if (CondRefof(\AUXD, Local0)) {
+ } else {
+ err("", zFFF, 0x002, 0, 0, 0, 0)
+ return
+ }
+
+ Store(ObjectType(Local2), Local1)
+ if (LNotEqual(Local1, 15)) {
+ Store(Local1, Debug)
+ err("", zFFF, 0x003, 0, 0, Local1, 15)
+ return
+ }
+
+ UnLoad(Local2)
+
+ Store("SSDT unloaded", Debug)
+
+ if (CondRefof(\AUXD, Local0)) {
+ err("", zFFF, 0x004, 0, 0, 0, 0)
+ }
+
+ CH03("", 0, 0x005, 0, 0)
+
+ return
+ }
+
+ m000()
+}
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0260/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0260/MAIN.asl
new file mode 100644
index 000000000..c4c23d34f
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0260/MAIN.asl
@@ -0,0 +1,56 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+DefinitionBlock(
+ "B260.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0260/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0260/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0260/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0260/RUN.asl
new file mode 100644
index 000000000..b0cdbc235
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0260/RUN.asl
@@ -0,0 +1,35 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+if (STTT("Demo of bug 260", TCLD, 260, W017)) {
+ SRMT("m029")
+ m029()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0261/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0261/DECL.asl
new file mode 100644
index 000000000..2cc04c694
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0261/DECL.asl
@@ -0,0 +1,105 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+/*
+ * Bug 261:
+ *
+ * SUMMARY: Crash when DDBHandle parameter of Load is an Indexed Reference
+ */
+
+Method(m028)
+{
+ Name(BUF0, Buffer() {
+
+ 0x53,0x53,0x44,0x54,0x4D,0x00,0x00,0x00, /* 00000000 "SSDTM..." */
+ 0x02,0x95,0x49,0x6E,0x74,0x65,0x6C,0x00, /* 00000008 "..Intel." */
+ 0x4D,0x61,0x6E,0x79,0x00,0x00,0x00,0x00, /* 00000010 "Many...." */
+ 0x01,0x00,0x00,0x00,0x49,0x4E,0x54,0x4C, /* 00000018 "....INTL" */
+ 0x02,0x11,0x06,0x20,0x5B,0x82,0x1C,0x41, /* 00000020 "... [..A" */
+ 0x55,0x58,0x44,0x14,0x16,0x4D,0x30,0x30, /* 00000028 "UXD..M00" */
+ 0x30,0x00,0x70,0x0D,0x5C,0x41,0x55,0x58, /* 00000030 "0.p.\AUX" */
+ 0x44,0x2E,0x4D,0x30,0x30,0x30,0x3A,0x00, /* 00000038 "D.M000:." */
+ 0x5B,0x31,0x10,0x0A,0x5C,0x00,0x08,0x45, /* 00000040 "[1..\..E" */
+ 0x58,0x53,0x54,0x0A,0x02,
+ })
+
+ OperationRegion (IST0, SystemMemory, 0, 0x4D)
+
+ Field(IST0, ByteAcc, NoLock, Preserve) {
+ RFU0, 0x268,
+ }
+
+ External(\AUXZ)
+
+ Method(m000)
+ {
+ Name(PAC0, Package(1){})
+
+ CH03("", 0, 0x000, 0, 0)
+
+ Store(BUF0, RFU0)
+
+ if (CondRefof(\AUXZ, Local0)) {
+ err("", zFFF, 0x001, 0, 0, Local0, 0x1777777)
+ return
+ }
+
+ Load(RFU0, Index(PAC0, 0))
+
+ Store("SSDT loaded", Debug)
+
+ if (CondRefof(\AUXZ, Local0)) {
+ } else {
+ err("", zFFF, 0x002, 0, 0, Local0, 0x1777777)
+ return
+ }
+
+ Store(ObjectType(Index(PAC0, 0)), Local1)
+ if (LNotEqual(Local1, 15)) {
+ Store(Local1, Debug)
+ err("", zFFF, 0x003, 0, 0, Local0, 0x1777777)
+ return
+ }
+
+ UnLoad(Derefof(Index(PAC0, 0)))
+
+ Store("SSDT unloaded", Debug)
+
+ if (CondRefof(\AUXZ, Local0)) {
+ err("", zFFF, 0x004, 0, 0, Local0, 0x1777777)
+ }
+
+ CH03("", 0, 0x005, 0, 0)
+
+ return
+ }
+
+ m000()
+}
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0261/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0261/MAIN.asl
new file mode 100644
index 000000000..6e593d85b
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0261/MAIN.asl
@@ -0,0 +1,56 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+DefinitionBlock(
+ "B261.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0261/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0261/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0261/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0261/RUN.asl
new file mode 100644
index 000000000..f6498479c
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0261/RUN.asl
@@ -0,0 +1,39 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+if (STTT("Demo of bug 261", TCLD, 261, W017)) {
+ SRMT("m028")
+ if (y261) {
+ m028()
+ } else {
+ BLCK()
+ }
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0262/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0262/DECL.asl
new file mode 100644
index 000000000..5d6db6519
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0262/DECL.asl
@@ -0,0 +1,71 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+/*
+ * Bug 262:
+ *
+ * SUMMARY: Unexpected AE_STACK_OVERFLOW for a method call expression with nested calls
+ */
+
+Method(m027)
+{
+ Name(iad1, 0x1)
+ Name(iad2, 0x10)
+ Name(iad3, 0x100)
+ Name(iad4, 0x1000)
+ Name(iad5, 0x10000)
+ Name(iad6, 0x100000)
+ Name(iad7, 0x1000000)
+
+ Method(mad1, 1) {Return(Arg0)}
+ Method(mad7, 7) {Return(Add(Add(Add(Add(Add(Add(Arg0, Arg1), Arg2), Arg3), Arg4), Arg5), Arg6))}
+
+ Method(m000)
+ {
+ Store(mad7(mad1(iad1), mad1(iad2), mad1(iad3), mad1(iad4), mad1(iad5), mad1(iad6),
+ mad7(mad1(iad1), mad1(iad2), mad1(iad3), mad1(iad4), mad1(iad5), mad1(iad6),
+ mad7(mad1(iad1), mad1(iad2), mad1(iad3), mad1(iad4), mad1(iad5), mad1(iad6),
+ mad7(mad1(iad1), mad1(iad2), mad1(iad3), mad1(iad4), mad1(iad5), mad1(iad6),
+ mad7(mad1(iad1), mad1(iad2), mad1(iad3), mad1(iad4), mad1(iad5), mad1(iad6),
+ mad7(mad1(iad1), mad1(iad2), mad1(iad3), mad1(iad4), mad1(iad5), mad1(iad6),
+ mad7(mad1(iad1), mad1(iad2), mad1(iad3), mad1(iad4), mad1(iad5), mad1(iad6),
+ mad1(iad7)))))))), Local0)
+
+ Store (Local0, Debug)
+
+ if (LNotEqual(Local0, 0x1777777)) {
+ err("", zFFF, 0x000, 0, 0, Local0, 0x1777777)
+ }
+ }
+
+ CH03("", 0, 0x001, 0, 0)
+ m000()
+ CH03("", 0, 0x002, 0, 0)
+}
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0262/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0262/MAIN.asl
new file mode 100644
index 000000000..800aa3c54
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0262/MAIN.asl
@@ -0,0 +1,56 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+DefinitionBlock(
+ "B262.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0262/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0262/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0262/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0262/RUN.asl
new file mode 100644
index 000000000..bf1ce0ba4
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0262/RUN.asl
@@ -0,0 +1,39 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+if (STTT("Demo of bug 262", TCLD, 262, W017)) {
+ SRMT("m027")
+ if (y262) {
+ m027()
+ } else {
+ BLCK()
+ }
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0263/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0263/DECL.asl
new file mode 100644
index 000000000..266b770b8
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0263/DECL.asl
@@ -0,0 +1,125 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+/*
+ * Bug 263:
+ *
+ * SUMMARY: The sequence of evaluating operands of expression with the named objects is violated
+ */
+
+Method(m026)
+{
+ Method(mm00)
+ {
+ Name(i000, 0x00000001)
+
+ Method(m001)
+ {
+ Store(0x50000000, i000)
+ Return (i000)
+ }
+ Store(Add(i000, m001()), Local0)
+
+ Store(Local0, Debug)
+ Store(i000, Debug)
+
+ if (LNotEqual(Local0, 0x50000001)) {
+ err("", zFFF, 0x000, 0, 0, Local0, 0x50000001)
+ }
+
+ if (LNotEqual(i000, 0x50000000)) {
+ err("", zFFF, 0x001, 0, 0, i000, 0x50000000)
+ }
+ }
+
+ Method(mm01, 1)
+ {
+ Name(i000, 0x00000001)
+ Name(i001, 0)
+ Name(p000, Package() {1,2,3,4})
+
+ Store(arg0, i001)
+
+ Method(m001)
+ {
+ Method(m002)
+ {
+ Method(m003)
+ {
+ Method(m004)
+ {
+ Method(m005)
+ {
+ Method(m006)
+ {
+ Method(m007)
+ {
+ Method(m008)
+ {
+ if (i001)
+ {
+ CopyObject(p000, i000)
+ }
+ Return (0)
+ }
+ Store(0x80000000, i000)
+ Return (Add(i000, m008()))
+ }
+ Store(0x07000000, i000)
+ Return (Add(i000, m007()))
+ }
+ Store(0x00600000, i000)
+ Return (Add(i000, m006()))
+ }
+ Store(0x00050000, i000)
+ Return (Add(i000, m005()))
+ }
+ Store(0x00004000, i000)
+ Return (Add(i000, m004()))
+ }
+ Store(0x00000300, i000)
+ Return (Add(i000, m003()))
+ }
+ Store(0x00000020, i000)
+ Return (Add(i000, m002()))
+ }
+ Store(Add(i000, m001()), Local0)
+
+ if (LNotEqual(Local0, 0x87654321)) {
+ err("", zFFF, 0x002, 0, 0, Local0, 0x87654321)
+ }
+
+ if (LNotEqual(i000, 0x80000000)) {
+ err("", zFFF, 0x003, 0, 0, i000, 0x80000000)
+ }
+ }
+ mm00()
+ mm01(0)
+}
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0263/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0263/MAIN.asl
new file mode 100644
index 000000000..f4e27ff93
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0263/MAIN.asl
@@ -0,0 +1,56 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+DefinitionBlock(
+ "B263.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0263/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0263/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0263/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0263/RUN.asl
new file mode 100644
index 000000000..19c83bbed
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0263/RUN.asl
@@ -0,0 +1,35 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+if (STTT("Demo of bug 263", TCLD, 263, W017)) {
+ SRMT("m026")
+ m026()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0264/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0264/DECL.asl
new file mode 100644
index 000000000..ddddf876c
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0264/DECL.asl
@@ -0,0 +1,136 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+/*
+ * Bug 264:
+ *
+ * SUMMARY: Crash on re-writing named element of Package
+ */
+
+/*
+ * To be done:
+ *
+ * 1) Do then the bdemo-test for different type element of Package
+ * (not only Integer i000 as now).
+ *
+ * 2) See below: what should be there the result of Store operations?
+ *
+ * 3) After (2) do the relevant tests - writing/rewriting to such type elements of packages.
+ */
+
+Method(m025)
+{
+ Method(m000)
+ {
+ Name(i000, 0xabcd0000)
+ Name(p000, Package() { i000 })
+
+ CH03("", 0, 0x000, 0, 0)
+
+ Store(0xabcd0001, DerefOf(Index(p000, 0)))
+
+/*
+Specify then what should be there the result of Store operation above?
+
+ Store(DerefOf(Index(p000, 0)), Local0)
+ if (LNotEqual(Local0, 0xabcd0000)) {
+ err("", zFFF, 0x000, 0, 0, Local0, 0xabcd0000)
+ }
+*/
+
+ CH03("", 0, 0x001, 0, 0)
+ }
+
+ Method(m001)
+ {
+ Name(i000, 0xabcd0000)
+ Name(p000, Package() { i000 })
+
+ CH03("", 0, 0x002, 0, 0)
+ Store(0xabcd0001, DerefOf(Index(p000, 0, Local0)))
+ CH03("", 0, 0x003, 0, 0)
+ }
+
+ Method(m002)
+ {
+ Name(i000, 0xabcd0000)
+ Name(p000, Package() { i000 })
+
+ CH03("", 0, 0x004, 0, 0)
+ Index(p000, 0, Local0)
+ Store(0xabcd0001, DerefOf(Local0))
+ CH03("", 0, 0x005, 0, 0)
+ }
+
+ Method(m003)
+ {
+ Name(i000, 0xabcd0000)
+ Name(p000, Package() { i000 })
+
+ CH03("", 0, 0x006, 0, 0)
+ Store(Index(p000, 0), Local0)
+ Store(0xabcd0001, DerefOf(Local0))
+ CH03("", 0, 0x007, 0, 0)
+ }
+
+ Method(m004)
+ {
+ Name(i000, 0xabcd0000)
+ Name(p000, Package() { i000 })
+
+ CH03("", 0, 0x008, 0, 0)
+ Store(Index(p000, 0, Local0), Local1)
+ Store(0xabcd0001, DerefOf(Local0))
+ CH03("", 0, 0x009, 0, 0)
+ }
+
+ Method(m005)
+ {
+ Name(i000, 0xabcd0000)
+ Name(p000, Package() { i000 })
+
+ CH03("", 0, 0x00a, 0, 0)
+ Store(Index(p000, 0, Local0), Local1)
+ Store(0xabcd0001, DerefOf(Local1))
+ CH03("", 0, 0x00b, 0, 0)
+ }
+
+
+ Method(m006) {
+ m000()
+ m001()
+ m002()
+ m003()
+ m004()
+ m005()
+ }
+
+ m006()
+}
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0264/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0264/MAIN.asl
new file mode 100644
index 000000000..42173aa20
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0264/MAIN.asl
@@ -0,0 +1,56 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+DefinitionBlock(
+ "B264.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0264/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0264/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0264/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0264/RUN.asl
new file mode 100644
index 000000000..3a135063d
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0264/RUN.asl
@@ -0,0 +1,39 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+if (STTT("Demo of bug 264", TCLD, 264, W017)) {
+ SRMT("m025")
+ if (y264) {
+ m025()
+ } else {
+ BLCK()
+ }
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0265/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0265/DECL.asl
new file mode 100644
index 000000000..58622996a
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0265/DECL.asl
@@ -0,0 +1,113 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+/*
+ * Bug 265:
+ *
+ * SUMMARY: The second run to method calculating the IRef-to-String expression is evaluated incorrectly
+ */
+
+Method(m024)
+{
+ Method(mm00)
+ {
+ Name(i001, 0)
+ Name(s000, "q\001ertyuiop")
+
+ Method(m001)
+ {
+ Method(m002)
+ {
+ Method(m003)
+ {
+ Method(m004)
+ {
+ Method(m005)
+ {
+ Method(m006)
+ {
+ Method(m007)
+ {
+ Method(m008)
+ {
+ Return (0)
+ }
+ Store(0x08, Index(s000, 1))
+ Return (Add(DerefOf(Index(s000, 1)), m008()))
+ }
+ Store(0x07, Index(s000, 1))
+ Return (Add(DerefOf(Index(s000, 1)), m007()))
+ }
+ Store(0x06, Index(s000, 1))
+ Return (Add(DerefOf(Index(s000, 1)), m006()))
+ }
+ Store(0x05, Index(s000, 1))
+ Return (Add(DerefOf(Index(s000, 1)), m005()))
+ }
+ Store(0x04, Index(s000, 1))
+ Return (Add(DerefOf(Index(s000, 1)), m004()))
+ }
+ Store(0x03, Index(s000, 1))
+ Return (Add(DerefOf(Index(s000, 1)), m003()))
+ }
+ Store(0x02, Index(s000, 1))
+ Return (Add(DerefOf(Index(s000, 1)), m002()))
+ }
+ Store(Add(DerefOf(Index(s000, 1)), m001()), Local0)
+
+ if (LNotEqual(Local0, 0x24)) {
+ err("", zFFF, 0x000, 0, 0, Local0, 0x24)
+ }
+
+ Store(DerefOf(Index(s000, 1)), Local0)
+
+ Store(0x08, Local1)
+
+ if (LNotEqual(Local0, Local1)) {
+ err("", zFFF, 0x000, 0, 0, Local0, Local1)
+ }
+ }
+
+ Method(mm01)
+ {
+ Store("The first run to mm00:", Debug)
+ mm00()
+
+ Store("The second run to mm00:", Debug)
+ mm00()
+
+ Store("The third run to mm00:", Debug)
+ mm00()
+ }
+
+ mm01()
+}
+
+
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0265/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0265/MAIN.asl
new file mode 100644
index 000000000..81f49eeeb
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0265/MAIN.asl
@@ -0,0 +1,56 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+DefinitionBlock(
+ "B265.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0265/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0265/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0265/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0265/RUN.asl
new file mode 100644
index 000000000..571ce1752
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0265/RUN.asl
@@ -0,0 +1,35 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+if (STTT("Demo of bug 265", TCLD, 265, W017)) {
+ SRMT("m024")
+ m024()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0266_DEMO_IMPOSSIBLE/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0266_DEMO_IMPOSSIBLE/DECL.asl
new file mode 100644
index 000000000..a797f1cf0
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0266_DEMO_IMPOSSIBLE/DECL.asl
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+/*
+ * Bug 266:
+ *
+ * SUMMARY: Code of ACPICA which handles AML_NAME_OP as ObjDesc->Reference.Opcode is unused
+ */
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0267_DEMO_IMPOSSIBLE/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0267_DEMO_IMPOSSIBLE/DECL.asl
new file mode 100644
index 000000000..82606ba68
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0267_DEMO_IMPOSSIBLE/DECL.asl
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+/*
+ * Bug 267:
+ *
+ * SUMMARY: Add the BatchMode with the AcpiTerminate
+ */
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0268/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0268/DECL.asl
new file mode 100644
index 000000000..81f192993
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0268/DECL.asl
@@ -0,0 +1,70 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+/*
+ * Bug 268:
+ *
+ * SUMMARY: The manner parameters are passed to method in ACPICA contradicts to MS
+ */
+
+Method(m023)
+{
+ Name(i000, 0xabcd0000)
+ Method(mm00, 1)
+ {
+ Store("The view from inside method MM00:", Debug)
+ Store("--------- i000 before re-writing i000:", Debug)
+ Store(i000, Debug)
+ Store("--------- Arg0 before re-writing i000:", Debug)
+ Store(arg0, Debug)
+ Store(0x11223344, i000)
+ Store("--------- Arg0 after re-writing i000:", Debug)
+ Store(arg0, Debug)
+ Store("--------- i000 after re-writing i000:", Debug)
+ Store(i000, Debug)
+
+ if (LNotEqual(arg0, 0xabcd0000)) {
+ err("", zFFF, 0x000, 0, 0, arg0, 0xabcd0000)
+ }
+ }
+
+ Store("m000: test 0 (Integer passed to method)", Debug)
+
+ Store("========= i000 from m000 before re-writing i000:", Debug)
+ Store(i000, Debug)
+
+ mm00(i000)
+
+ Store("========= i000 from m000 after re-writing i000:", Debug)
+ Store(i000, Debug)
+
+ if (LNotEqual(i000, 0x11223344)) {
+ err("", zFFF, 0x001, 0, 0, i000, 0x11223344)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0268/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0268/MAIN.asl
new file mode 100644
index 000000000..1950d66d8
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0268/MAIN.asl
@@ -0,0 +1,56 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+DefinitionBlock(
+ "B268.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0268/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0268/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0268/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0268/RUN.asl
new file mode 100644
index 000000000..3ec127bda
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0268/RUN.asl
@@ -0,0 +1,35 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+if (STTT("Demo of bug 268", TCLD, 268, W017)) {
+ SRMT("m023")
+ m023()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0269/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0269/DECL.asl
new file mode 100644
index 000000000..faa607a2f
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0269/DECL.asl
@@ -0,0 +1,113 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+/*
+ * Bug 269:
+ *
+ * SUMMARY: The sequence of evaluating Named object operands passed to method is violated
+ */
+
+Method(m022)
+{
+ Name(i000, 0x00000001)
+ Name(i001, 0)
+ Name(p000, Package() {1,2,3,4})
+
+ Store(0, i001)
+
+ Method(MAdd, 2)
+ {
+ Add(arg0, arg1, Local0)
+ Return (Local0)
+ }
+
+ Method(m001)
+ {
+ Method(m002)
+ {
+ Method(m003)
+ {
+ Method(m004)
+ {
+ Method(m005)
+ {
+ Method(m006)
+ {
+ Method(m007)
+ {
+ Method(m008)
+ {
+ if (i001)
+ {
+ CopyObject(p000, i000)
+ }
+ Return (0)
+ }
+ Store(0x80000000, i000)
+ Return (MAdd(i000, m008()))
+ }
+ Store(0x07000000, i000)
+ Return (MAdd(i000, m007()))
+ }
+ Store(0x00600000, i000)
+ Return (MAdd(i000, m006()))
+ }
+ Store(0x00050000, i000)
+ Return (MAdd(i000, m005()))
+ }
+ Store(0x00004000, i000)
+ Return (MAdd(i000, m004()))
+ }
+ Store(0x00000300, i000)
+ Return (MAdd(i000, m003()))
+ }
+ Store(0x00000020, i000)
+ Return (MAdd(i000, m002()))
+ }
+
+ CH03("", 0, 0x000, 0, 0)
+
+ Store(MAdd(i000, m001()), Local0)
+
+ if (LNotEqual(Local0, 0x87654321)) {
+ err("", zFFF, 0x001, 0, 0, Local0, c00e)
+ }
+
+ if (LNotEqual(i000, 0x80000000)) {
+ err("", zFFF, 0x002, 0, 0, Local0, c00e)
+ }
+
+ Store("Result:", Debug)
+ Store(Local0, Debug)
+
+ Store("i000:", Debug)
+ Store(i000, Debug)
+
+ CH03("", 0, 0x000, 0, 0)
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0269/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0269/MAIN.asl
new file mode 100644
index 000000000..208511a1c
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0269/MAIN.asl
@@ -0,0 +1,56 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+DefinitionBlock(
+ "B269.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0269/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0269/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0269/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0269/RUN.asl
new file mode 100644
index 000000000..d34cba0cc
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0269/RUN.asl
@@ -0,0 +1,35 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+if (STTT("Demo of bug 269", TCLD, 269, W017)) {
+ SRMT("m022")
+ m022()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0270_SPEC/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0270_SPEC/DECL.asl
new file mode 100644
index 000000000..9bd998b51
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0270_SPEC/DECL.asl
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+/*
+ * Bug 270:
+ *
+ * SUMMARY: ACPI control method calling convention and MS interpreter don't fit each other
+ */
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0271/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0271/DECL.asl
new file mode 100644
index 000000000..0479b1622
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0271/DECL.asl
@@ -0,0 +1,91 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+/*
+ * Bug 271:
+ *
+ * SUMMARY: CopyObject of Device works incorrectly
+ */
+
+Method(m021)
+{
+ Name(i000, 0xabcd0000)
+ Name(i001, 0xabcd0001)
+ Name(i002, 0xabcd0002)
+ Device(d000) { Name(i002, 0xabcd0002) }
+
+ Method(m123, 1)
+ {
+ CopyObject(d000, arg0)
+ CopyObject(d000, Local0)
+ CopyObject(d000, i001)
+ Store("------------------------- Resulting devices:", Debug)
+ Store(arg0, Debug)
+ Store(Local0, Debug)
+ Store(i001, Debug)
+ Store("-------------------------.", Debug)
+ }
+
+ CH03("", 0, 0x000, 0, 0)
+
+ m123(i000)
+
+ Store(ObjectType(i001), Local0)
+ if (LNotEqual(Local0, c00e)) {
+ err("", zFFF, 0x001, 0, 0, Local0, c00e)
+ }
+ CH03("", 0, 0x002, 0, 0)
+
+ CopyObject(i002, i001)
+
+ Store(ObjectType(i001), Local0)
+ if (LNotEqual(Local0, c009)) {
+ err("", zFFF, 0x003, 0, 0, Local0, c009)
+ }
+ CH03("", 0, 0x004, 0, 0)
+
+ /*
+ * This bdemo shows only 'Outstanding allocations':
+ * - q
+ * 004790B8 Len 0028 utcache-414 [Node] D000
+ * 00479178 Len 0028 utcache-414 [Node] D000
+ * 004798E8 Len 0028 utcache-414 [Node] D000
+ * ACPI Error (uttrack-0719): 3(3) Outstanding allocations [20060040]
+ *
+ * Check error manually,
+ * and when the cause is fixed remove call to err() below.
+ */
+
+ Store("Have no method to detect presence of error, only 'Outstanding allocations',", Debug)
+ Store("so, force unconditional error message.", Debug)
+
+ // Report error message
+ m02a()
+}
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0271/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0271/MAIN.asl
new file mode 100644
index 000000000..706a9a31d
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0271/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+DefinitionBlock(
+ "B271.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/common/DECL.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0271/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0271/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0271/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0271/RUN.asl
new file mode 100644
index 000000000..84c59f34a
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0271/RUN.asl
@@ -0,0 +1,35 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+if (STTT("Demo of bug 271", TCLD, 271, W017)) {
+ SRMT("m021")
+ m021()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0272/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0272/DECL.asl
new file mode 100644
index 000000000..cf5d10d7e
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0272/DECL.asl
@@ -0,0 +1,91 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+/*
+ * Bug 272:
+ *
+ * SUMMARY: CopyObject of ThermalZone works incorrectly
+ */
+
+Method(m020)
+{
+ Name(i000, 0xabcd0000)
+ Name(i001, 0xabcd0001)
+ Name(i002, 0xabcd0002)
+ ThermalZone(tz00) { Name(i001, 0xabcd0001) }
+
+ Method(m123, 1)
+ {
+ CopyObject(tz00, arg0)
+ CopyObject(tz00, Local0)
+ CopyObject(tz00, i001)
+ Store("------------------------- Resulting devices:", Debug)
+ Store(arg0, Debug)
+ Store(Local0, Debug)
+ Store(i001, Debug)
+ Store("-------------------------.", Debug)
+ }
+
+ CH03("", 0, 0x000, 0, 0)
+
+ m123(i000)
+
+ Store(ObjectType(i001), Local0)
+ if (LNotEqual(Local0, c015)) {
+ err("", zFFF, 0x001, 0, 0, Local0, c015)
+ }
+ CH03("", 0, 0x002, 0, 0)
+
+ CopyObject(i002, i001)
+
+ Store(ObjectType(i001), Local0)
+ if (LNotEqual(Local0, c009)) {
+ err("", zFFF, 0x003, 0, 0, Local0, c009)
+ }
+ CH03("", 0, 0x004, 0, 0)
+
+ /*
+ * This bdemo shows only 'Outstanding allocations':
+ * - q
+ * 004790B8 Len 0028 utcache-414 [Node] TZ00
+ * 00479178 Len 0028 utcache-414 [Node] TZ00
+ * 004798E8 Len 0028 utcache-414 [Node] TZ00
+ * ACPI Error (uttrack-0719): 3(3) Outstanding allocations [20060040]
+ *
+ * Check error manually,
+ * and when the cause is fixed remove call to err() below.
+ */
+
+ Store("Have no method to detect presence of error, only 'Outstanding allocations',", Debug)
+ Store("so, force unconditional error message.", Debug)
+
+ // Report error message
+ m02a()
+}
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0272/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0272/MAIN.asl
new file mode 100644
index 000000000..856223749
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0272/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+DefinitionBlock(
+ "B272.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/common/DECL.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0272/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0272/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0272/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0272/RUN.asl
new file mode 100644
index 000000000..b6331b463
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0272/RUN.asl
@@ -0,0 +1,35 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+if (STTT("Demo of bug 272", TCLD, 272, W017)) {
+ SRMT("m020")
+ m020()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0273/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0273/DECL.asl
new file mode 100644
index 000000000..f638ed8eb
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0273/DECL.asl
@@ -0,0 +1,110 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+/*
+ * Bug 273:
+ *
+ * SUMMARY: Implementation of LoadTable operator should take into account its RootPathString parameter
+ */
+
+Name(SSDT, Buffer(0x30){
+ 0x4F,0x45,0x4D,0x31,0x38,0x00,0x00,0x00, /* 00000000 "OEM18..." */
+ 0x01,0x4B,0x49,0x6E,0x74,0x65,0x6C,0x00, /* 00000008 ".KIntel." */
+ 0x4D,0x61,0x6E,0x79,0x00,0x00,0x00,0x00, /* 00000010 "Many...." */
+ 0x01,0x00,0x00,0x00,0x49,0x4E,0x54,0x4C, /* 00000018 "....INTL" */
+ 0x18,0x09,0x03,0x20,0x08,0x5F,0x58,0x54, /* 00000020 "... ._XT" */
+ 0x32,0x0A,0x04,0x14,0x0C,0x5F,0x58,0x54, /* 00000028 "2...._XT" */
+ 0x31,0x00,0x70,0x01,0x5F,0x58,0x54,0x32, /* 00000030 "1.p._XT2" */
+})
+
+DataTableRegion (DR73, "OEM1", "", "")
+Field(DR73, AnyAcc, NoLock, Preserve) {
+ F273, 0x1C0}
+
+
+Device(D273) {
+ Name(s000, "D273")
+}
+
+Name(RPST, "\\D273")
+Name(PLDT, 0)
+Name(PPST, "\\PLDT")
+
+External(\_XT2)
+External(\D273._XT2)
+
+Method(mc73)
+{
+ Name(DDBH, 0)
+
+ Method(LD)
+ {
+ Store(LoadTable("OEM1", "", "", RPST, PPST, 1), DDBH)
+ Store("OEM1 loaded", Debug)
+ }
+
+ Method(UNLD)
+ {
+ UnLoad(DDBH)
+ Store("OEM1 unloaded", Debug)
+ }
+
+ if (LNotEqual(F273, SSDT)) {
+ err("", zFFF, 0x001, 0, 0, F273, SSDT)
+ }
+
+ if (CondRefof(\_XT2, Local0)) {
+ err("", zFFF, 0x002, 0, 0, "\\_XT2", 1)
+ }
+
+ if (CondRefof(\D273._XT2, Local0)) {
+ err("", zFFF, 0x003, 0, 0, "\\D273._XT2", 1)
+ }
+
+ LD()
+
+ if (CondRefof(\_XT2, Local0)) {
+ err("", zFFF, 0x004, 0, 0, "\\_XT2", 1)
+ }
+
+ if (CondRefof(\D273._XT2, Local0)) {
+ } else {
+ err("", zFFF, 0x005, 0, 0, "\\D273._XT2", 0)
+ }
+
+ UNLD()
+
+ if (CondRefof(\_XT2, Local0)) {
+ err("", zFFF, 0x006, 0, 0, "\\_XT2", 1)
+ }
+
+ if (CondRefof(\D273._XT2, Local0)) {
+ err("", zFFF, 0x007, 0, 0, "\\D273._XT2", 1)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0273/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0273/MAIN.asl
new file mode 100644
index 000000000..a5bfe968e
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0273/MAIN.asl
@@ -0,0 +1,56 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+DefinitionBlock(
+ "B273.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0273/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0273/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0273/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0273/RUN.asl
new file mode 100644
index 000000000..16a73df1d
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0273/RUN.asl
@@ -0,0 +1,45 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+if (STTT("Demo of bug 273", TCLD, 273, W017)) {
+ SRMT("mc73")
+ if (LOr(LNot(SLCK), y276)) {
+ mc73()
+ } else {
+ /*
+ * b276: 'Large Reference Count' on AML code with LoadTable/UnLoad in a slack mode
+ *
+ * Blocked because it is followed by mass of
+ * 'Large Reference Count'.
+ */
+ BLCK()
+ }
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0273/oem1.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0273/oem1.asl
new file mode 100644
index 000000000..bd4fb7324
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0273/oem1.asl
@@ -0,0 +1,26 @@
+/*
+ * Intel ACPI Component Architecture
+ * AML Disassembler version 20061109
+ *
+ * Disassembly of oem1.aml, Thu Nov 16 18:41:26 2006
+ *
+ *
+ * Original Table Header:
+ * Signature "OEM1"
+ * Length 0x00000038 (56)
+ * Revision 0x01
+ * OEM ID "Intel"
+ * OEM Table ID "Many"
+ * OEM Revision 0x00000001 (1)
+ * Creator ID "INTL"
+ * Creator Revision 0x20030918 (537069848)
+ */
+DefinitionBlock ("oem1.aml", "OEM1", 1, "Intel", "Many", 0x00000001)
+{
+ Name (_XT2, 0x04)
+ Method (_XT1, 0, NotSerialized)
+ {
+ Store (One, _XT2)
+ }
+}
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0274/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0274/DECL.asl
new file mode 100644
index 000000000..fa3d3bc2d
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0274/DECL.asl
@@ -0,0 +1,95 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+/*
+ * Bug 274:
+ *
+ * SUMMARY: Named object as element of Package is handled by ACPICA differently than by MS
+ */
+
+Method(mc74)
+{
+ Name(i000, 0xabcd0000)
+ Name(i001, 0xabcd0001)
+ Name(i002, 0xabcd0002)
+ Name(i003, 0xabcd0003)
+
+ Name(ii00, 0x11112222)
+
+ Name(p000, Package() {
+ i000,
+ i001,
+ i002,
+ "i000",
+ \mc74.i003,
+ 0xabcd0004
+ })
+
+ Method(CHCK, 4)
+ {
+ Store(DerefOf(Index(Arg1, Arg2)), Local0)
+ if (LNotEqual(Local0, Arg0)) {
+ err("", zFFF, Arg3, 0, 0, Arg0, Local0)
+ }
+ }
+
+ // Choose benchmark package
+ if (SLCK) {
+ Store(Package() {
+ "I000",
+ "I001",
+ "I002",
+ "i000",
+ "I003",
+ 0xabcd0004},
+ Local2)
+ } else {
+ Store(Package() {
+ 0xabcd0000,
+ 0xabcd0001,
+ 0xabcd0002,
+ "i000",
+ 0xabcd0003,
+ 0xabcd0004},
+ Local2)
+ }
+
+ Store(DerefOf(Index(p000, 0)), Local0)
+ CHCK(Local0, Local2, 0, 0x001)
+ Store(DerefOf(Index(p000, 1)), Local0)
+ CHCK(Local0, Local2, 1, 0x002)
+ Store(DerefOf(Index(p000, 2)), Local0)
+ CHCK(Local0, Local2, 2, 0x003)
+ Store(DerefOf(Index(p000, 3)), Local0)
+ CHCK(Local0, Local2, 3, 0x004)
+ Store(DerefOf(Index(p000, 4)), Local0)
+ CHCK(Local0, Local2, 4, 0x005)
+ Store(DerefOf(Index(p000, 5)), Local0)
+ CHCK(Local0, Local2, 5, 0x006)
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0274/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0274/MAIN.asl
new file mode 100644
index 000000000..6836c1485
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0274/MAIN.asl
@@ -0,0 +1,56 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+DefinitionBlock(
+ "B274.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0274/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0274/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0274/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0274/RUN.asl
new file mode 100644
index 000000000..379f98808
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0274/RUN.asl
@@ -0,0 +1,35 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+if (STTT("Demo of bug 274", TCLD, 274, W017)) {
+ SRMT("mc74")
+ mc74()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0275/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0275/DECL.asl
new file mode 100644
index 000000000..b18da3fcc
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0275/DECL.asl
@@ -0,0 +1,83 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+/*
+ * Bug 275:
+ *
+ * SUMMARY: pop result from bottom principle doesn't work
+ */
+
+Method(mc75)
+{
+ Name(i000, 0x11000000)
+ Name(i001, 0x00220000)
+ Name(p000, Package () {0xabcd0000, 0xabcd0001, 0xabcd0002})
+
+ Method(m000)
+ {
+ Return (p000)
+ }
+
+ Method(m001, 1)
+ {
+ Return (0xabcd0003)
+ }
+
+ Method(m002, 2)
+ {
+ Index(arg0, 1, Local0)
+ if (CH03("", 0, 0x001, arg0, 1)) {
+ return
+ }
+
+ Store(DerefOf(Local0), Local1)
+ if (CH03("", 0, 0x002, arg0, 1)) {
+ return
+ }
+
+ if (LNotEqual(Local1, 0xabcd0001)) {
+ err("", zFFF, 0x003, 0, 0, Local1, 0xabcd0001)
+ }
+ return
+ }
+
+ // ################################## How it should work
+
+ // ================================== Example 0:
+ m002(p000, 0xabcd0004)
+
+ // ================================== Example 1:
+ m002(m000(), 0xabcd0004)
+
+ // ================================== Example 2:
+ m002(p000, m001(Add(i000, i001)))
+
+ // ################################## How it actually works:
+ m002(m000(), m001(Add(i000, i001)))
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0275/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0275/MAIN.asl
new file mode 100644
index 000000000..85afb5210
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0275/MAIN.asl
@@ -0,0 +1,56 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+DefinitionBlock(
+ "B275.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0275/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0275/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0275/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0275/RUN.asl
new file mode 100644
index 000000000..1253953c6
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0275/RUN.asl
@@ -0,0 +1,35 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+if (STTT("Demo of bug 275", TCLD, 275, W017)) {
+ SRMT("mc75")
+ mc75()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0276_LARGE_REF_COUNT/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0276_LARGE_REF_COUNT/DECL.asl
new file mode 100644
index 000000000..956a9b233
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0276_LARGE_REF_COUNT/DECL.asl
@@ -0,0 +1,127 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+/*
+ * Bug 276:
+ *
+ * SUMMARY: 'Large Reference Count' on AML code with LoadTable/UnLoad in a slack mode
+ *
+ * Note: Check the result of this test manually that there are no
+ * 'Large Reference Count' reported.
+ *
+ * Note: these 'Large Reference Count' could be detected automatically by Do utility
+ */
+
+Method(mc76)
+{
+
+ Name(ERR5, 0)
+ Name(ERRS, 0)
+ Name(tmt0, 0)
+ Name(TCLL, 0)
+ Name(RMRC, 0)
+ Name(RP0P, Package(8) {})
+ Name(NRMT, "")
+ Name(STST, "STST")
+ Name(TCNP, Package() {
+ "compilation",
+ "functional",
+ "complex",
+ "exceptions",
+ "bug-demo",
+ "service",
+ "mt",
+ "Identity2MS",
+ "IMPL",
+ })
+
+ Method(TCN0, 1)
+ {
+ Store("?", Local7)
+ Store(DerefOf(Index(TCNP, arg0)), Local7)
+ Return(Local7)
+ }
+
+ Method(mmm0)
+ {
+ Increment(ERRS)
+ }
+
+ Method(mc73)
+ {
+ Name(DDBH, 0)
+ Method(m000) {}
+ Method(m001) {}
+
+ Store(LoadTable("OEM1", "", "", "", "", 1), DDBH)
+ mmm0()
+ UnLoad(DDBH)
+ Store("OEM1 unloaded", Debug)
+ }
+
+ Method(mmm2, 5) {}
+
+ Method(mmm3)
+ {
+ Name(b000, Buffer(4) {})
+
+ Concatenate(":", TCN0(TCLL), Local1)
+ Concatenate(Local1, ":", Local0)
+ Concatenate(Local0, "?", Local1)
+ Concatenate(Local1, ":", Local0)
+ Concatenate(Local0, NRMT, Local1)
+ Concatenate(Local1, ":", Local0)
+ Subtract(ERRS, ERR5, Local7)
+ Concatenate(Local0, "FAIL:Errors # ", Local2)
+ Concatenate(Local2, Local7, Local0)
+ Concatenate(Local0, Local1, Local2)
+ Store(Local2, Debug)
+ Concatenate(":", STST, Local2)
+ Concatenate(Local2, Local1, Local0)
+ Store(Local0, Index(RP0P, RMRC))
+ }
+
+ Method(mmm1)
+ {
+ mmm2(0, 0, 0, 0, 0)
+ mmm3()
+ }
+
+ Method(mmm4, 1)
+ {
+ Store(Timer, tmt0)
+ }
+
+ Method(mmm5) {
+ mmm4(0)
+ mc73()
+ mmm1()
+ }
+ mmm5()
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0276_LARGE_REF_COUNT/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0276_LARGE_REF_COUNT/MAIN.asl
new file mode 100644
index 000000000..b4d7ee7bc
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0276_LARGE_REF_COUNT/MAIN.asl
@@ -0,0 +1,56 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+DefinitionBlock(
+ "B276.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0276_LARGE_REF_COUNT/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0276_LARGE_REF_COUNT/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0276_LARGE_REF_COUNT/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0276_LARGE_REF_COUNT/RUN.asl
new file mode 100644
index 000000000..bedd045a3
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0276_LARGE_REF_COUNT/RUN.asl
@@ -0,0 +1,43 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+if (STTT("Demo of bug 276", TCLD, 276, W017)) {
+ SRMT("mc76")
+ if (LOr(LNot(SLCK), y276)) {
+ mc76()
+ } else {
+ /*
+ * Blocked because it is followed by mass of
+ * 'Large Reference Count'.
+ */
+ BLCK()
+ }
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0277_ACTION_REQUIRED/Info.txt b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0277_ACTION_REQUIRED/Info.txt
new file mode 100644
index 000000000..4ca8aa999
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0277_ACTION_REQUIRED/Info.txt
@@ -0,0 +1,62 @@
+SUMMARY: Crash of AML interpreter under the specific conditions (see 7466)
+
+See bug -- 7466 (weird battery charge level reported) and its DSDT.
+Evaluation of its \_SB.BAT0._BST method in multi-threading mode results in failure.
+
+
+>-----Original Message-----
+>From: Lebedev, Vladimir P
+>Sent: Monday, December 25, 2006 3:42 PM
+>To: Starikovskiy, Alexey Y
+>Subject: RE: [Bug 7466] weird battery charge level reported - ACPI Error method parse / execution failed
+
+CPU:    0
+EIP:    0060:[<c0207bfb>]    Not tainted VLI
+EFLAGS: 00010282   (2.6.19-gentoo-r2 #1)
+EIP is at acpi_ex_store+0x138/0x245
+eax: 00000000   ebx: dee12c7c   ecx: 00000000   edx: 00000000
+esi: 00000000   edi: 00000000   ebp: dc90a2a4   esp: dd139d74
+ds: 007b   es: 007b   ss: 0068
+Process cat (pid: 5916, ti=dd138000 task=de114070 task.ti=dd138000)
+Stack: c0212461 deba5c00 deba5c00 00000080 c0212cf6 dee12c7c 00000000 deba5d80
+       deba5d80 deba5c00 c020758b 00000014 00000000 00000003 00000002 deba5c00
+       00880000 00000088 deba5d80 00000004 00000000 dee12c7c deba5c00 00000000
+Call Trace:
+ [<c0212461>] acpi_ut_update_object_reference+0xbc/0x123
+ [<c0212cf6>] acpi_ut_create_internal_object_dbg+0x15/0x67
+ [<c020758b>] acpi_ex_opcode_2A_1T_1R+0x374/0x3a0
+ [<c01fdba9>] acpi_ds_exec_end_op+0xc2/0x3d1
+ [<c020c05e>] acpi_ps_get_next_simple_arg+0xe3/0xed
+ [<c020d1ed>] acpi_ps_append_arg+0x16/0x75
+ [<c020ce81>] acpi_ps_parse_loop+0x5bd/0x8d8
+ [<c020c4c6>] acpi_ps_parse_aml+0x60/0x205
+ [<c01ffc30>] acpi_ds_init_aml_walk+0xb4/0xfe
+ [<c020d5ce>] acpi_ps_execute_pass+0x7d/0x90
+ [<c020d6d9>] acpi_ps_execute_method+0xc8/0x157
+ [<c020aa95>] acpi_ns_evaluate+0x9d/0xfc
+ [<c020a6fe>] acpi_evaluate_object+0x120/0x1ca
+ [<c0154573>] seq_open+0x4d/0x63
+ [<c0214e18>] acpi_battery_get_info+0x6e/0x180
+ [<c0142a57>] cp_new_stat64+0xfc/0x10e
+ [<c0215473>] acpi_battery_read_info+0x3b/0x253
+ [<c0154783>] seq_read+0xe7/0x274
+ [<c0143078>] sys_fstat64+0x1e/0x23
+ [<c015469c>] seq_read+0x0/0x274
+ [<c0140c02>] vfs_read+0xa6/0x157
+ [<c0140f87>] sys_read+0x41/0x67
+ [<c0102ae1>] sysenter_past_esp+0x56/0x79
+ =======================
+
+
+
+From: Podrezov, Valery A
+Sent: Monday, December 25, 2006 7:14 PM
+To: Lebedev, Vladimir P; Starikovskiy, Alexey Y; Suietov, Fiodor F
+Subject: RE: [Bug 7466] weird battery charge level reported - ACPI Error method parse / execution failed
+
+It is ours.
+I submitted bug into our local Bugzilla (you are not registered in it):
+Bug 501, Crash of AML interpreter under the specific conditions (see 7466)
+
+Thanks
+ Valery
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0278/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0278/DECL.asl
new file mode 100644
index 000000000..edbef8084
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0278/DECL.asl
@@ -0,0 +1,122 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+/*
+ * Bug 278:
+ *
+ * SUMMARY: "Namespace location to be relative" functionality of Load operator issue
+ */
+
+Device (D278) {
+ Name(SSDT, Buffer(0x30){
+ 0x53,0x53,0x44,0x54,0x5F,0x00,0x00,0x00, /* 00000000 "SSDT_..." */
+ 0x02,0x2D,0x49,0x6E,0x74,0x65,0x6C,0x00, /* 00000008 "..Intel." */
+ 0x4D,0x61,0x6E,0x79,0x00,0x00,0x00,0x00, /* 00000010 "Many...." */
+ 0x01,0x00,0x00,0x00,0x49,0x4E,0x54,0x4C, /* 00000018 "....INTL" */
+ 0x15,0x12,0x06,0x20,0x10,0x1F,0x5C,0x00, /* 00000020 "... ..\." */
+ 0x08,0x4E,0x41,0x42,0x53,0x0D,0x61,0x62, /* 00000028 ".NABS.ab" */
+ 0x73,0x6F,0x6C,0x75,0x74,0x65,0x20,0x6C, /* 00000030 "solute l" */
+ 0x6F,0x63,0x61,0x74,0x69,0x6F,0x6E,0x20, /* 00000038 "ocation " */
+ 0x6F,0x62,0x6A,0x00,0x08,0x4E,0x43,0x52, /* 00000040 "obj..NCR" */
+ 0x52,0x0D,0x63,0x75,0x72,0x72,0x65,0x6E, /* 00000048 "R.curren" */
+ 0x74,0x20,0x6C,0x6F,0x63,0x61,0x74,0x69, /* 00000050 "t locati" */
+ 0x6F,0x6E,0x20,0x6F,0x62,0x6A,0x00,
+ })
+
+ OperationRegion (IST0, SystemMemory, 0, 0x5f)
+
+ Field(IST0, ByteAcc, NoLock, Preserve) {
+ RFU0, 0x2f8,
+ }
+
+ Name(DDBH, 0)
+
+ Method(TST0)
+ {
+ // Check absence
+ if (CondRefof(NABS, Local0)) {
+ err("", zFFF, 0x001, 0, 0, "NABS", 1)
+ }
+ if (CondRefof(NCRR, Local0)) {
+ err("", zFFF, 0x002, 0, 0, "NCRR", 1)
+ }
+
+ Store(SSDT, RFU0)
+ Load(RFU0, DDBH)
+ Store("SSDT loaded", Debug)
+
+ // Check existence
+ if (CondRefof(NABS, Local0)) {
+ if (LNotEqual("absolute location obj", Derefof(Local0))) {
+ err("", zFFF, 0x003, 0, 0, "absolute location NABS", 1)
+ }
+ } else {
+ err("", zFFF, 0x004, 0, 0, "NABS", 0)
+ }
+ if (CondRefof(NCRR, Local0)) {
+ if (LNotEqual("current location obj", Derefof(Local0))) {
+ err("", zFFF, 0x005, 0, 0, "current location NCRR", 1)
+ }
+ } else {
+ err("", zFFF, 0x006, 0, 0, "NCRR", 0)
+ }
+
+ // Check location
+ if (CondRefof(\NABS, Local0)) {
+ } else {
+ err("", zFFF, 0x007, 0, 0, "\\NABS", 0)
+ }
+ if (CondRefof(\NCRR, Local0)) {
+ err("", zFFF, 0x008, 0, 0, "\\NCRR", 1)
+ }
+ if (CondRefof(\D278.NCRR, Local0)) {
+ err("", zFFF, 0x009, 0, 0, "\\D278.NCRR", 1)
+ }
+ if (CondRefof(\D278.TST0.NCRR, Local0)) {
+ } else {
+ err("", zFFF, 0x00a, 0, 0, "\\D278.TST0.NCRR", 0)
+ }
+
+ UnLoad(DDBH)
+ Store("SSDT unloaded", Debug)
+
+ // Check absence
+ if (CondRefof(NABS, Local0)) {
+ err("", zFFF, 0x00b, 0, 0, "NABS", 1)
+ }
+ if (CondRefof(NCRR, Local0)) {
+ err("", zFFF, 0x00c, 0, 0, "NCRR", 1)
+ }
+ }
+}
+
+Method(m278)
+{
+ \D278.TST0()
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0278/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0278/MAIN.asl
new file mode 100644
index 000000000..5d0324e3f
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0278/MAIN.asl
@@ -0,0 +1,56 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+DefinitionBlock(
+ "B278.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0278/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0278/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0278/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0278/RUN.asl
new file mode 100644
index 000000000..dc0ac90ba
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0278/RUN.asl
@@ -0,0 +1,35 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+if (STTT("Demo of bug 278", TCLD, 278, W017)) {
+ SRMT("m278")
+ m278()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0278/ssdt.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0278/ssdt.asl
new file mode 100644
index 000000000..738aaf846
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0278/ssdt.asl
@@ -0,0 +1,44 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+DefinitionBlock(
+ "ssdt.aml", // Output filename
+ "SSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ Scope(\) {
+ Name(NABS, "absolute location obj")
+ }
+
+ Name(NCRR, "current location obj")
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0279_ASL_RUNTIME/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0279_ASL_RUNTIME/DECL.asl
new file mode 100644
index 000000000..a0e052638
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0279_ASL_RUNTIME/DECL.asl
@@ -0,0 +1,47 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+/*
+ * Bug 279:
+ *
+ * SUMMARY: iASL unexpected behavior for the same multiple External
+ */
+
+External(\SS00)
+
+External(\SS00)
+
+External(\SS00)
+
+Method(m279)
+{
+ if (CondRefof(\SS00, Local0)) {
+ err("", zFFF, 0x001, 0, 0, "\\SS00", 1)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0279_ASL_RUNTIME/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0279_ASL_RUNTIME/MAIN.asl
new file mode 100644
index 000000000..86320dea6
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0279_ASL_RUNTIME/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+DefinitionBlock(
+ "B279.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/common/DECL.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0279_ASL_RUNTIME/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0279_ASL_RUNTIME/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0279_ASL_RUNTIME/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0279_ASL_RUNTIME/RUN.asl
new file mode 100644
index 000000000..c4db7b1ce
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0279_ASL_RUNTIME/RUN.asl
@@ -0,0 +1,35 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+if (STTT("Demo of bug 279", TCLD, 279, W017)) {
+ SRMT("m279")
+ m279()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0280_ASL_RUNTIME/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0280_ASL_RUNTIME/DECL.asl
new file mode 100644
index 000000000..63c330f8c
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0280_ASL_RUNTIME/DECL.asl
@@ -0,0 +1,57 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+/*
+ * Bug 280:
+ *
+ * SUMMARY: iASL can unexpectedly emit the "not accessible" error for Source parameter of CondRefof
+ */
+
+Device (D280) {
+ Method(T280)
+ {
+ if (CondRefof(NABS, Local0)) {
+ err("", zFFF, 0x001, 0, 0, "NABS", 1)
+ }
+ }
+}
+
+Method(T280)
+{
+ Name(NABS, "\\T280.NABS")
+
+ Return (NABS)
+}
+
+Method(m280)
+{
+ Store (\T280(), Debug)
+
+ \D280.T280()
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0280_ASL_RUNTIME/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0280_ASL_RUNTIME/MAIN.asl
new file mode 100644
index 000000000..366a90797
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0280_ASL_RUNTIME/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+DefinitionBlock(
+ "B280.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/common/DECL.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0280_ASL_RUNTIME/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0280_ASL_RUNTIME/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0280_ASL_RUNTIME/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0280_ASL_RUNTIME/RUN.asl
new file mode 100644
index 000000000..ebf8f1f48
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0280_ASL_RUNTIME/RUN.asl
@@ -0,0 +1,35 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+if (STTT("Demo of bug 280", TCLD, 280, W017)) {
+ SRMT("m280")
+ m280()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0281/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0281/DECL.asl
new file mode 100644
index 000000000..2e6c7b859
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0281/DECL.asl
@@ -0,0 +1,129 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+/*
+ * Bug 281:
+ *
+ * SUMMARY: Normal strings as the LoadTable parameters can cause
+ * the matching table to be not found
+ */
+
+Device (D281) {
+
+ Name(SOID, "Intel ")
+ Name(STID, "Many ")
+
+ Name(PLDT, 0)
+
+ Method(TST0)
+ {
+ Name(DDB0, 0)
+ Name(DDB1, 0)
+
+ // Unhappy case: space-ended strings
+
+ Store(0, PLDT)
+
+ Store(LoadTable("OEM1", SOID, STID, "\\", "\\D281.PLDT", 1), DDB0)
+
+ if (LNotEqual(PLDT, 0)) {
+ Store(PLDT, Debug)
+ err("", zFFF, 0x000, 0, 0, PLDT, 0)
+ return (1)
+ }
+
+ if (CondRefof(\_XT2, Local0)) {
+ err("", zFFF, 0x001, 0, 0, "\\_XT2", 1)
+ }
+
+ // Successful case: spaces is replaced with zeroes
+
+ Store(0, PLDT)
+
+ Store(0, Index(SOID, 5))
+
+ Store(0, Index(STID, 4))
+ Store(0, Index(STID, 5))
+ Store(0, Index(STID, 6))
+ Store(0, Index(STID, 7))
+
+ Store(LoadTable("OEM1", SOID, STID, "\\", "\\D281.PLDT", 1), DDB0)
+
+ if (LNotEqual(PLDT, 1)) {
+ Store(PLDT, Debug)
+ err("", zFFF, 0x003, 0, 0, PLDT, 1)
+ return (1)
+ }
+ Store("OEM1 loaded", Debug)
+
+ if (CondRefof(\_XT2, Local0)) {
+ } else {
+ err("", zFFF, 0x004, 0, 0, "\\_XT2", 0)
+ }
+
+ UnLoad(DDB0)
+ Store("OEM1 unloaded", Debug)
+
+ if (CondRefof(\_XT2, Local0)) {
+ err("", zFFF, 0x005, 0, 0, "\\_XT2", 1)
+ }
+
+ // Unhappy case: normal strings
+
+ Store(0, PLDT)
+
+ Store(LoadTable("OEM1", "Intel", "Many", "\\", "\\D281.PLDT", 1), DDB1)
+
+ if (LNotEqual(PLDT, 1)) {
+ Store(PLDT, Debug)
+ err("", zFFF, 0x007, 0, 0, PLDT, 1)
+ return (1)
+ }
+ Store("OEM1 loaded", Debug)
+
+ if (CondRefof(\_XT2, Local0)) {
+ } else {
+ err("", zFFF, 0x008, 0, 0, "\\_XT2", 0)
+ }
+
+ UnLoad(DDB1)
+ Store("OEM1 unloaded", Debug)
+
+ if (CondRefof(\_XT2, Local0)) {
+ err("", zFFF, 0x009, 0, 0, "\\_XT2", 1)
+ }
+
+ return (0)
+ }
+}
+
+Method(m281)
+{
+ \D281.TST0()
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0281/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0281/MAIN.asl
new file mode 100644
index 000000000..fbf0842bf
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0281/MAIN.asl
@@ -0,0 +1,56 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+DefinitionBlock(
+ "B281.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0281/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0281/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0281/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0281/RUN.asl
new file mode 100644
index 000000000..41cd9fa48
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0281/RUN.asl
@@ -0,0 +1,35 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+if (STTT("Demo of bug 281", TCLD, 281, W017)) {
+ SRMT("m281")
+ m281()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0282/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0282/DECL.asl
new file mode 100644
index 000000000..3531253cf
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0282/DECL.asl
@@ -0,0 +1,55 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+/*
+ * Bug 282:
+ *
+ * SUMMARY: Crash when the Buffer Object parameter of Load is used after an exception in it
+ */
+
+Device (D282) {
+
+ Name(BUF0, Buffer(9){9,8,7,6,5,4,3,2,1})
+
+ Method(TST0)
+ {
+ Store(BUF0, Debug)
+
+ Load(BUF0, Local0)
+
+ Store(BUF0, Debug)
+
+ CH03("", 0, 0x001, 0, 0)
+ }
+}
+
+Method(m282)
+{
+ \D282.TST0()
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0282/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0282/MAIN.asl
new file mode 100644
index 000000000..dca34fde9
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0282/MAIN.asl
@@ -0,0 +1,56 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+DefinitionBlock(
+ "B282.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0282/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0282/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0282/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0282/RUN.asl
new file mode 100644
index 000000000..9c83236ae
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0282/RUN.asl
@@ -0,0 +1,39 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+if (STTT("Demo of bug 282", TCLD, 282, W017)) {
+ SRMT("m282")
+ if (y282) {
+ m282()
+ } else {
+ BLCK()
+ }
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0283/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0283/DECL.asl
new file mode 100644
index 000000000..4191f069d
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0283/DECL.asl
@@ -0,0 +1,85 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+/*
+ * Bug 283:
+ *
+ * SUMMARY: When the Object parameter of Load is a Field the checksum
+ * of the supplied SSDT should be verified
+ */
+
+Device (D283) {
+
+ Name(BUF0, Buffer() {
+ 0x53,0x53,0x44,0x54,0x34,0x00,0x00,0x00, /* 00000000 "SSDT4..." */
+ 0x02,0xEB,0x49,0x6E,0x74,0x65,0x6C,0x00, /* 00000008 "..Intel." */
+ 0x4D,0x61,0x6E,0x79,0x00,0x00,0x00,0x00, /* 00000010 "Many...." */
+ 0x01,0x00,0x00,0x00,0x49,0x4E,0x54,0x4C, /* 00000018 "....INTL" */
+ 0x08,0x12,0x06,0x20,0x14,0x0F,0x5C,0x53, /* 00000020 "... ..\S" */
+ 0x53,0x30,0x30,0x00,0xA4,0x0D,0x5C,0x53, /* 00000028 "S00...\S" */
+ 0x53,0x30,0x30,0x00,
+ })
+
+ OperationRegion (IST0, SystemMemory, 0, 0x34)
+
+ Field(IST0, ByteAcc, NoLock, Preserve) {
+ RFU0, 0x1a0,
+ }
+
+ Field(IST0, ByteAcc, NoLock, Preserve) {
+ SIG, 32,
+ LENG, 32,
+ REV, 8,
+ SUM, 8,
+ }
+
+ Method(TST0)
+ {
+ Name(HI0, 0)
+
+ Store(BUF0, RFU0)
+
+ // Spoil the CheckSum
+ Store(Add(SUM, 1), SUM)
+
+ // "Incorrect checksum" ACPI warning is expected
+ Load(RFU0, HI0)
+
+ CH03("", 0, 0x001, 0, 0)
+
+ UnLoad(HI0)
+
+ CH03("", 0, 0x002, 0, 0)
+ }
+}
+
+Method(m283)
+{
+ \D283.TST0()
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0283/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0283/MAIN.asl
new file mode 100644
index 000000000..2641980ef
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0283/MAIN.asl
@@ -0,0 +1,56 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+DefinitionBlock(
+ "B283.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0283/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0283/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0283/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0283/RUN.asl
new file mode 100644
index 000000000..2929aafe6
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0283/RUN.asl
@@ -0,0 +1,39 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+if (STTT("Demo of bug 283", TCLD, 283, W017)) {
+ SRMT("m283")
+ if (y283) {
+ m283()
+ } else {
+ BLCK()
+ }
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0284/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0284/DECL.asl
new file mode 100644
index 000000000..53bc27b35
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0284/DECL.asl
@@ -0,0 +1,84 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+/*
+ * Bug 284:
+ *
+ * SUMMARY: An exception should be emitted on Load if the Length field of SSDT
+ * exceeds length of its source
+ */
+
+Device (D284) {
+
+ Name(BUF0, Buffer() {
+ 0x53,0x53,0x44,0x54,0x34,0x00,0x00,0x00, /* 00000000 "SSDT4..." */
+ 0x02,0xEB,0x49,0x6E,0x74,0x65,0x6C,0x00, /* 00000008 "..Intel." */
+ 0x4D,0x61,0x6E,0x79,0x00,0x00,0x00,0x00, /* 00000010 "Many...." */
+ 0x01,0x00,0x00,0x00,0x49,0x4E,0x54,0x4C, /* 00000018 "....INTL" */
+ 0x08,0x12,0x06,0x20,0x14,0x0F,0x5C,0x53, /* 00000020 "... ..\S" */
+ 0x53,0x30,0x30,0x00,0xA4,0x0D,0x5C,0x53, /* 00000028 "S00...\S" */
+ 0x53,0x30,0x30,0x00,
+ })
+
+ OperationRegion (IST0, SystemMemory, 0, 0x34)
+
+ Field(IST0, ByteAcc, NoLock, Preserve) {
+ RFU0, 0x1a0,
+ }
+
+ Field(IST0, ByteAcc, NoLock, Preserve) {
+ SIG, 32,
+ LENG, 32,
+ REV, 8,
+ SUM, 8,
+ }
+
+ Method(TST0)
+ {
+ Name(HI0, 0)
+
+ Store(BUF0, RFU0)
+
+ // Set the Length field of SSDT to exceed the OpRegion length
+ Store(0x49, LENG)
+
+ // An exception is expected
+ Load(RFU0, HI0)
+
+ if (CH04("", 0, 0xff, 0, 0x001, 0, 0)) {
+ UnLoad(HI0)
+ CH03("", 0, 0x002, 0, 0)
+ }
+ }
+}
+
+Method(m284)
+{
+ \D284.TST0()
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0284/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0284/MAIN.asl
new file mode 100644
index 000000000..a006da4a2
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0284/MAIN.asl
@@ -0,0 +1,56 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+DefinitionBlock(
+ "B284.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0284/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0284/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0284/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0284/RUN.asl
new file mode 100644
index 000000000..2a3efa9db
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0284/RUN.asl
@@ -0,0 +1,39 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+if (STTT("Demo of bug 284", TCLD, 284, W017)) {
+ SRMT("m284")
+ if (y284) {
+ m284()
+ } else {
+ BLCK()
+ }
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0285/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0285/DECL.asl
new file mode 100644
index 000000000..65bcb03b1
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0285/DECL.asl
@@ -0,0 +1,77 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+/*
+ * Bug 285:
+ *
+ * SUMMARY: AE_AML_OPERAND_TYPE unexpectedly occurs when the Handle parameter
+ * of Unload is a Method call
+ */
+
+Device (D285) {
+
+ Name(BUF0, Buffer() {
+ 0x53,0x53,0x44,0x54,0x34,0x00,0x00,0x00, /* 00000000 "SSDT4..." */
+ 0x02,0xEB,0x49,0x6E,0x74,0x65,0x6C,0x00, /* 00000008 "..Intel." */
+ 0x4D,0x61,0x6E,0x79,0x00,0x00,0x00,0x00, /* 00000010 "Many...." */
+ 0x01,0x00,0x00,0x00,0x49,0x4E,0x54,0x4C, /* 00000018 "....INTL" */
+ 0x08,0x12,0x06,0x20,0x14,0x0F,0x5C,0x53, /* 00000020 "... ..\S" */
+ 0x53,0x30,0x30,0x00,0xA4,0x0D,0x5C,0x53, /* 00000028 "S00...\S" */
+ 0x53,0x30,0x30,0x00,
+ })
+
+ OperationRegion (IST0, SystemMemory, 0, 0x34)
+
+ Field(IST0, ByteAcc, NoLock, Preserve) {
+ RFU0, 0x1a0,
+ }
+
+ Method(TST0)
+ {
+ Name(HI0, 0)
+
+ Method(m000) {Return (HI0)}
+
+ Store(BUF0, RFU0)
+
+ Load(RFU0, HI0)
+
+ UnLoad(m000())
+
+ if (CH03("", 0, 0x001, 0, 0)) {
+ UnLoad(HI0)
+ CH03("", 0, 0x002, 0, 0)
+ }
+ }
+}
+
+Method(m285)
+{
+ \D285.TST0()
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0285/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0285/MAIN.asl
new file mode 100644
index 000000000..6ca95f700
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0285/MAIN.asl
@@ -0,0 +1,56 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+DefinitionBlock(
+ "B285.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0285/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0285/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0285/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0285/RUN.asl
new file mode 100644
index 000000000..339e30297
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0285/RUN.asl
@@ -0,0 +1,35 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+if (STTT("Demo of bug 285", TCLD, 285, W017)) {
+ SRMT("m285")
+ m285()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0286/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0286/DECL.asl
new file mode 100644
index 000000000..8905646e3
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0286/DECL.asl
@@ -0,0 +1,88 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+/*
+ * Bug 286:
+ *
+ * SUMMARY: After an exception the elements of the Package passed to Unload
+ * are unexpectedly deleted
+ */
+
+Device (D286) {
+
+ Name(BUF3, Buffer(){
+ 0x53,0x53,0x44,0x54,0x58,0x00,0x00,0x00, /* 00000000 "SSDTX..." */
+ 0x02,0xD4,0x49,0x6E,0x74,0x65,0x6C,0x00, /* 00000008 "..Intel." */
+ 0x4D,0x61,0x6E,0x79,0x00,0x00,0x00,0x00, /* 00000010 "Many...." */
+ 0x01,0x00,0x00,0x00,0x49,0x4E,0x54,0x4C, /* 00000018 "....INTL" */
+ 0x15,0x12,0x06,0x20,0x5B,0x82,0x32,0x41, /* 00000020 "... [.2A" */
+ 0x55,0x58,0x44,0x08,0x50,0x41,0x43,0x30, /* 00000028 "UXD.PAC0" */
+ 0x12,0x27,0x03,0x0E,0x1F,0x32,0x54,0x76, /* 00000030 ".'...2Tv" */
+ 0x98,0xBA,0xDC,0xFE,0x0D,0x74,0x65,0x73, /* 00000038 ".....tes" */
+ 0x74,0x20,0x70,0x61,0x63,0x6B,0x61,0x67, /* 00000040 "t packag" */
+ 0x65,0x30,0x00,0x11,0x0C,0x0A,0x09,0x13, /* 00000048 "e0......" */
+ 0x12,0x11,0x10,0x0F,0x0E,0x0D,0x0C,0x0B, /* 00000050 "........" */
+ })
+
+ OperationRegion (IST3, SystemMemory, 0x400, 0x58)
+
+ Field(IST3, ByteAcc, NoLock, Preserve) {
+ RFU3, 0x2c0,
+ }
+
+ Method(m000, 1)
+ {
+ Unload(Derefof(arg0))
+ }
+
+ Method(TST0)
+ {
+ Name(DDB0, 0)
+
+ External(\AUXD.PAC0)
+
+ Store(BUF3, RFU3)
+ Load(RFU3, DDB0)
+
+ m000(Refof(\AUXD.PAC0))
+
+ CH04("", 0, 0xff, 0, 0x001, 0, 0)
+
+ Store(Derefof(Index(\AUXD.PAC0, 0)), Debug)
+ CH03("", 0, 0x002, 0, 0)
+
+ Unload(DDB0)
+ CH03("", 0, 0x003, 0, 0)
+ }
+}
+
+Method(m286)
+{
+ \D286.TST0()
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0286/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0286/MAIN.asl
new file mode 100644
index 000000000..da4f4118e
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0286/MAIN.asl
@@ -0,0 +1,56 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+DefinitionBlock(
+ "B286.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0286/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0286/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0286/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0286/RUN.asl
new file mode 100644
index 000000000..c32e59bc8
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0286/RUN.asl
@@ -0,0 +1,39 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+if (STTT("Demo of bug 286", TCLD, 286, W017)) {
+ SRMT("m286")
+ if (y286) {
+ m286()
+ } else {
+ BLCK()
+ }
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0287/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0287/DECL.asl
new file mode 100644
index 000000000..8e2d2b8c4
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0287/DECL.asl
@@ -0,0 +1,77 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+/*
+ * Bug 287:
+ *
+ * SUMMARY: If any string to match a proper field on LoadTable exceeds field's length
+ * an exception should be emitted
+ */
+
+Device (D287) {
+
+ Name(PLDT, 0)
+
+ Method(TST0)
+ {
+ // SignatureString is greater than four characters
+ LoadTable("OEMXX", "", "", , "\\D287.PLDT", 1)
+
+ CH04("", 0, 0xff, 0, 0x001, 0, 0)
+ if (LNotEqual(PLDT, 0)) {
+ err("", zFFF, 0x002, 0, 0, PLDT, 0)
+ Return (1)
+ }
+
+ // OEMIDString is greater than six characters
+ LoadTable("OEM1", "IntelXX", "", , "\\D287.PLDT", 1)
+
+ CH04("", 0, 0xff, 0, 0x003, 0, 0)
+ if (LNotEqual(PLDT, 0)) {
+ err("", zFFF, 0x004, 0, 0, PLDT, 0)
+ Return (1)
+ }
+
+ // OEMTableID is greater than eight characters
+ LoadTable("OEM1", "", "ManyXXXXX", , "\\D287.PLDT", 1)
+
+ CH04("", 0, 0xff, 0, 0x005, 0, 0)
+ if (LNotEqual(PLDT, 0)) {
+ err("", zFFF, 0x006, 0, 0, PLDT, 0)
+ Return (1)
+ }
+
+ Return (0)
+ }
+}
+
+Method(m287)
+{
+ \D287.TST0()
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0287/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0287/MAIN.asl
new file mode 100644
index 000000000..8b47b68f8
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0287/MAIN.asl
@@ -0,0 +1,56 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+DefinitionBlock(
+ "B287.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0287/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0287/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0287/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0287/RUN.asl
new file mode 100644
index 000000000..25f5b32da
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0287/RUN.asl
@@ -0,0 +1,35 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+if (STTT("Demo of bug 287", TCLD, 287, W017)) {
+ SRMT("m287")
+ m287()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0288_ASL_RUNTIME/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0288_ASL_RUNTIME/DECL.asl
new file mode 100644
index 000000000..27a085850
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0288_ASL_RUNTIME/DECL.asl
@@ -0,0 +1,66 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+/*
+ * Bug 288:
+ *
+ * SUMMARY: iASL unexpectedly forbids ParameterData of Loadtable to be LocalX or UserTerm
+ */
+
+Device (D288) {
+ Name(PLDT, 0)
+
+ Method(m000, 1) {Return (Arg0)}
+
+ Method(T288)
+ {
+ Store(1, Local0)
+
+ Store(LoadTable("OEM1", "", "", , "\\D288.PLDT", Local0), Local1)
+
+ if (LNotEqual(PLDT, 1)) {
+ err("", zFFF, 0x001, 0, 0, PLDT, 1)
+ }
+
+ UnLoad(Local1)
+
+ Store(LoadTable("OEM1", "", "", , "\\PLDT", m000(2)), Local1)
+
+ if (LNotEqual(PLDT, 2)) {
+ err("", zFFF, 0x002, 0, 0, PLDT, 2)
+ }
+
+ UnLoad(Local1)
+ }
+}
+
+Method(m288)
+{
+ \D288.T288()
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0288_ASL_RUNTIME/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0288_ASL_RUNTIME/MAIN.asl
new file mode 100644
index 000000000..2018877a1
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0288_ASL_RUNTIME/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+DefinitionBlock(
+ "B288.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/common/DECL.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0288_ASL_RUNTIME/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0288_ASL_RUNTIME/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0288_ASL_RUNTIME/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0288_ASL_RUNTIME/RUN.asl
new file mode 100644
index 000000000..28475bcd6
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0288_ASL_RUNTIME/RUN.asl
@@ -0,0 +1,35 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+if (STTT("Demo of bug 288", TCLD, 288, W017)) {
+ SRMT("m288")
+ m288()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0289/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0289/DECL.asl
new file mode 100644
index 000000000..3180d8fcc
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0289/DECL.asl
@@ -0,0 +1,81 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+/*
+ * Bug 289:
+ *
+ * SUMMARY: Search of the table matched Loadtable parameters should be restricted to XSDT
+ */
+
+Device (D289) {
+
+ Name(BUF4, Buffer(){
+ 0x53,0x53,0x44,0x54,0x44,0x00,0x00,0x00, /* 00000000 "SSDTD..." */
+ 0x02,0x08,0x69,0x41,0x53,0x4C,0x54,0x53, /* 00000008 "..iASLTS" */
+ 0x4C,0x54,0x42,0x4C,0x30,0x30,0x30,0x31, /* 00000010 "LTBL0001" */
+ 0x01,0x00,0x00,0x00,0x49,0x4E,0x54,0x4C, /* 00000018 "....INTL" */
+ 0x15,0x12,0x06,0x20,0x10,0x1F,0x5C,0x00, /* 00000020 "... ..\." */
+ 0x08,0x5F,0x58,0x54,0x32,0x0D,0x61,0x62, /* 00000028 "._XT2.ab" */
+ 0x73,0x6F,0x6C,0x75,0x74,0x65,0x20,0x6C, /* 00000030 "solute l" */
+ 0x6F,0x63,0x61,0x74,0x69,0x6F,0x6E,0x20, /* 00000038 "ocation " */
+ 0x6F,0x62,0x6A,0x00,
+ })
+
+ OperationRegion (IST4, SystemMemory, 0x600, 0x44)
+
+ Field(IST4, ByteAcc, NoLock, Preserve) {
+ RFU4, 0x220,
+ }
+
+ Name(PLDT, 0)
+
+ Method(TST0)
+ {
+ Name(DDBH, 2)
+
+ // Load/Unload SSDT
+ Store(BUF4, RFU4)
+ Load(RFU4, Local0)
+ UnLoad(Local0)
+
+ // Try to load that SSDT through LoadTable
+ Store(LoadTable("SSDT", "iASLTS", "LTBL0001", "\\", "\\D289.PLDT", 1), DDBH)
+
+ if (LEqual(PLDT, 1)) {
+ err("", zFFF, 0x001, 0, 0, "PLDT", 1)
+
+ UnLoad(DDBH)
+ }
+ }
+}
+
+Method(m289)
+{
+ \D289.TST0()
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0289/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0289/MAIN.asl
new file mode 100644
index 000000000..21912599b
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0289/MAIN.asl
@@ -0,0 +1,56 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+DefinitionBlock(
+ "B289.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0289/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0289/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0289/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0289/RUN.asl
new file mode 100644
index 000000000..a3a8701e5
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0289/RUN.asl
@@ -0,0 +1,35 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+if (STTT("Demo of bug 289", TCLD, 289, W017)) {
+ SRMT("m289")
+ m289()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0290/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0290/DECL.asl
new file mode 100644
index 000000000..1d63d86c8
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0290/DECL.asl
@@ -0,0 +1,94 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+/*
+ * Bug 290:
+ *
+ * SUMMARY: AcpiExec is unable to emulate Load from OpRegion
+ */
+
+Device (D290) {
+
+ Name(BUF0, Buffer() {
+
+ 0x53,0x53,0x44,0x54,0x4D,0x00,0x00,0x00, /* 00000000 "SSDTM..." */
+ 0x02,0x95,0x49,0x6E,0x74,0x65,0x6C,0x00, /* 00000008 "..Intel." */
+ 0x4D,0x61,0x6E,0x79,0x00,0x00,0x00,0x00, /* 00000010 "Many...." */
+ 0x01,0x00,0x00,0x00,0x49,0x4E,0x54,0x4C, /* 00000018 "....INTL" */
+ 0x02,0x11,0x06,0x20,0x5B,0x82,0x1C,0x41, /* 00000020 "... [..A" */
+ 0x55,0x58,0x44,0x14,0x16,0x4D,0x30,0x30, /* 00000028 "UXD..M00" */
+ 0x30,0x00,0x70,0x0D,0x5C,0x41,0x55,0x58, /* 00000030 "0.p.\AUX" */
+ 0x44,0x2E,0x4D,0x30,0x30,0x30,0x3A,0x00, /* 00000038 "D.M000:." */
+ 0x5B,0x31,0x10,0x0A,0x5C,0x00,0x08,0x45, /* 00000040 "[1..\..E" */
+ 0x58,0x53,0x54,0x0A,0x02,
+ })
+
+ OperationRegion (IST0, SystemMemory, 0, 0x4D)
+
+ Field(IST0, ByteAcc, NoLock, Preserve) {
+ RFU0, 0x268,
+ }
+
+ Method(TST0)
+ {
+ Store(BUF0, RFU0)
+
+ if (CondRefof(\AUXD, Local0)) {
+ err("", zFFF, 0x000, 0, 0, "\\AUXD", 1)
+ return
+ }
+
+ Load(IST0, Local1)
+
+ if (CH03("", 0, 0x001, 0, 0)) {
+ return
+ } elseif (CondRefof(\AUXD, Local0)) {
+ } else {
+ err("", zFFF, 0x002, 0, 0, "\\AUXD", 0)
+ return
+ }
+
+ Store("SSDT loaded", Debug)
+
+ UnLoad(Local1)
+
+ Store("SSDT unloaded", Debug)
+
+ if (CondRefof(\AUXD, Local0)) {
+ err("", zFFF, 0x003, 0, 0, "\\AUXD", 1)
+ }
+
+ return
+ }
+}
+
+Method(m290)
+{
+ \D290.TST0()
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0290/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0290/MAIN.asl
new file mode 100644
index 000000000..b4549d931
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0290/MAIN.asl
@@ -0,0 +1,56 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+DefinitionBlock(
+ "B290.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0290/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0290/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0290/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0290/RUN.asl
new file mode 100644
index 000000000..29ab8a5e6
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0290/RUN.asl
@@ -0,0 +1,35 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+if (STTT("Demo of bug 290", TCLD, 290, W017)) {
+ SRMT("m290")
+ m290()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0291_ASL_RUNTIME/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0291_ASL_RUNTIME/DECL.asl
new file mode 100644
index 000000000..c775ce47e
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0291_ASL_RUNTIME/DECL.asl
@@ -0,0 +1,61 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+/*
+ * Bug 291:
+ *
+ * SUMMARY: iASL inconsistence on compilation of LoadTable with/without the -oa option
+ */
+
+Device (D291) {
+
+ Name(PLDT, 0)
+
+ Method(M000, 1) {Return (Arg0)}
+
+ Method(T291)
+ {
+ Name(DDBH, 0)
+
+ Store(LoadTable("OEM1", "", "", "\\", "\\D291.PLDT", Subtract(M000(3), 1)), DDBH)
+
+ if (LNotEqual(PLDT, 2)) {
+ err("", zFFF, 0x001, 0, 0, PLDT, 2)
+ return
+ }
+
+ UnLoad(DDBH)
+ Store("Table unloaded", Debug)
+ }
+}
+
+Method(m291)
+{
+ \D291.T291()
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0291_ASL_RUNTIME/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0291_ASL_RUNTIME/MAIN.asl
new file mode 100644
index 000000000..af79fa46e
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0291_ASL_RUNTIME/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+DefinitionBlock(
+ "B291.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/common/DECL.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0291_ASL_RUNTIME/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0291_ASL_RUNTIME/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0291_ASL_RUNTIME/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0291_ASL_RUNTIME/RUN.asl
new file mode 100644
index 000000000..0cce9ddd2
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0291_ASL_RUNTIME/RUN.asl
@@ -0,0 +1,35 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+if (STTT("Demo of bug 291", TCLD, 291, W017)) {
+ SRMT("m291")
+ m291()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0292/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0292/DECL.asl
new file mode 100644
index 000000000..eac9d912c
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0292/DECL.asl
@@ -0,0 +1,79 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+/*
+ * Bug 292:
+ *
+ * SUMMARY: Different second and third UnLoad execution with the same argument behavior
+ */
+
+Device (D292) {
+
+ Name(BUF4, Buffer(){
+ 0x53,0x53,0x44,0x54,0x44,0x00,0x00,0x00, /* 00000000 "SSDTD..." */
+ 0x02,0x08,0x69,0x41,0x53,0x4C,0x54,0x53, /* 00000008 "..iASLTS" */
+ 0x4C,0x54,0x42,0x4C,0x30,0x30,0x30,0x31, /* 00000010 "LTBL0001" */
+ 0x01,0x00,0x00,0x00,0x49,0x4E,0x54,0x4C, /* 00000018 "....INTL" */
+ 0x15,0x12,0x06,0x20,0x10,0x1F,0x5C,0x00, /* 00000020 "... ..\." */
+ 0x08,0x5F,0x58,0x54,0x32,0x0D,0x61,0x62, /* 00000028 "._XT2.ab" */
+ 0x73,0x6F,0x6C,0x75,0x74,0x65,0x20,0x6C, /* 00000030 "solute l" */
+ 0x6F,0x63,0x61,0x74,0x69,0x6F,0x6E,0x20, /* 00000038 "ocation " */
+ 0x6F,0x62,0x6A,0x00,
+ })
+
+ OperationRegion (IST4, SystemMemory, 0x600, 0x44)
+
+ Field(IST4, ByteAcc, NoLock, Preserve) {
+ RFU4, 0x220,
+ }
+
+ Method(TST0)
+ {
+ Name(DDB0, 0)
+
+ Store(BUF4, RFU4)
+ Load(RFU4, DDB0)
+ Store("SSDT loaded", Debug)
+
+ UnLoad(DDB0)
+ CH03("", 0, 0x001, 0, 0)
+ Store("SSDT unloaded", Debug)
+
+ UnLoad(DDB0)
+ CH04("", 0, 0xff, 0, 0x002, 0, 0)
+
+ UnLoad(DDB0)
+ CH04("", 0, 0xff, 0, 0x003, 0, 0)
+ }
+}
+
+Method(m292)
+{
+ \D292.TST0()
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0292/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0292/MAIN.asl
new file mode 100644
index 000000000..97ce37452
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0292/MAIN.asl
@@ -0,0 +1,56 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+DefinitionBlock(
+ "B292.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0292/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0292/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0292/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0292/RUN.asl
new file mode 100644
index 000000000..5033c05c1
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0292/RUN.asl
@@ -0,0 +1,35 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+if (STTT("Demo of bug 292", TCLD, 292, W017)) {
+ SRMT("m292")
+ m292()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0293/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0293/DECL.asl
new file mode 100644
index 000000000..02b882ec5
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0293/DECL.asl
@@ -0,0 +1,81 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+/*
+ * Bug 293:
+ *
+ * SUMMARY: Incorrect zero-length Buffer to String conversion
+ */
+
+Method(m293)
+{
+ // Prepare zero-length Buffer
+ Store(0, Local0)
+ Store(Buffer(Local0){}, Local1)
+
+ Store(ToHexString(Local1), Local2)
+ Store(Local2, Debug)
+ Store(Sizeof(Local2), Debug)
+
+ Store(ToDecimalString(Local1), Local3)
+ Store(Local3, Debug)
+ Store(Sizeof(Local3), Debug)
+
+ If (LNotEqual(Sizeof(Local2), 0)) {
+ err("", zFFF, 0x001, 0, 0, Sizeof(Local2), 0)
+ }
+
+ If (LNotEqual(Sizeof(Local3), 0)) {
+ err("", zFFF, 0x001, 0, 0, Sizeof(Local3), 0)
+ }
+
+ If (LNotEqual("", Local1)) {
+ err("", zFFF, 0x001, 0, 0, "", Local1)
+ }
+
+ If (LNotEqual("", Local2)) {
+ err("", zFFF, 0x001, 0, 0, "", Local2)
+ }
+
+ If (LNotEqual("", Local3)) {
+ err("", zFFF, 0x001, 0, 0, "", Local3)
+ }
+
+ If (LNotEqual(Local2, Local3)) {
+ err("", zFFF, 0x001, 0, 0, Local2, Local3)
+ }
+
+ If (LNotEqual(Local2, Local1)) {
+ err("", zFFF, 0x001, 0, 0, Local2, Local1)
+ }
+
+ If (LNotEqual(Local3, Local1)) {
+ err("", zFFF, 0x001, 0, 0, Local3, Local1)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0293/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0293/MAIN.asl
new file mode 100644
index 000000000..b1e13c06b
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0293/MAIN.asl
@@ -0,0 +1,56 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+DefinitionBlock(
+ "B293.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0293/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0293/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0293/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0293/RUN.asl
new file mode 100644
index 000000000..ee4c9cd49
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0293/RUN.asl
@@ -0,0 +1,35 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+if (STTT("Demo of bug 293", TCLD, 293, W017)) {
+ SRMT("m293")
+ m293()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0294/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0294/DECL.asl
new file mode 100644
index 000000000..78bd2fad9
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0294/DECL.asl
@@ -0,0 +1,276 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+/*
+ * Bug 294:
+ *
+ * SUMMARY: _ERR method can not be evaluated when AE_OWNER_ID_LIMIT is emitted
+ */
+
+Device (D294) {
+
+ Name(BUF0, Buffer() {
+ 0x53,0x53,0x44,0x54,0x34,0x00,0x00,0x00, /* 00000000 "SSDT4..." */
+ 0x02,0xEB,0x49,0x6E,0x74,0x65,0x6C,0x00, /* 00000008 "..Intel." */
+ 0x4D,0x61,0x6E,0x79,0x00,0x00,0x00,0x00, /* 00000010 "Many...." */
+ 0x01,0x00,0x00,0x00,0x49,0x4E,0x54,0x4C, /* 00000018 "....INTL" */
+ 0x08,0x12,0x06,0x20,0x14,0x0F,0x5C,0x53, /* 00000020 "... ..\S" */
+ 0x53,0x30,0x30,0x00,0xA4,0x0D,0x5C,0x53, /* 00000028 "S00...\S" */
+ 0x53,0x30,0x30,0x00,
+ })
+
+ Name(BUF1, Buffer(){
+ 0x53,0x53,0x44,0x54,0x5F,0x00,0x00,0x00, /* 00000000 "SSDT_..." */
+ 0x02,0x33,0x49,0x6E,0x74,0x65,0x6C,0x00, /* 00000008 ".3Intel." */
+ 0x4D,0x61,0x6E,0x79,0x00,0x00,0x00,0x00, /* 00000010 "Many...." */
+ 0x01,0x00,0x00,0x00,0x49,0x4E,0x54,0x4C, /* 00000018 "....INTL" */
+ 0x15,0x12,0x06,0x20,0x10,0x1F,0x5C,0x00, /* 00000020 "... ..\." */
+ 0x08,0x4E,0x41,0x42,0x53,0x0D,0x61,0x62, /* 00000028 ".NABS.ab" */
+ 0x73,0x6F,0x6C,0x75,0x74,0x65,0x20,0x6C, /* 00000030 "solute l" */
+ 0x6F,0x63,0x61,0x74,0x69,0x6F,0x6E,0x20, /* 00000038 "ocation " */
+ 0x6F,0x62,0x6A,0x00,0x08,0x4E,0x43,0x52, /* 00000040 "obj..NCR" */
+ 0x52,0x0D,0x63,0x75,0x72,0x72,0x65,0x6E, /* 00000048 "R.curren" */
+ 0x74,0x20,0x6C,0x6F,0x63,0x61,0x74,0x69, /* 00000050 "t locati" */
+ 0x6F,0x6E,0x20,0x6F,0x62,0x6A,0x00,
+ })
+
+ OperationRegion (IST1, SystemMemory, 0x100, 0x5f)
+
+ Field(IST1, ByteAcc, NoLock, Preserve) {
+ RFU1, 0x2f8,
+ }
+
+ Name(BUF3, Buffer(){
+ 0x53,0x53,0x44,0x54,0x1F,0x01,0x00,0x00, /* 00000000 "SSDT...." */
+ 0x02,0x58,0x49,0x6E,0x74,0x65,0x6C,0x00, /* 00000008 ".XIntel." */
+ 0x4D,0x61,0x6E,0x79,0x00,0x00,0x00,0x00, /* 00000010 "Many...." */
+ 0x01,0x00,0x00,0x00,0x49,0x4E,0x54,0x4C, /* 00000018 "....INTL" */
+ 0x15,0x12,0x06,0x20,0x5B,0x82,0x49,0x0F, /* 00000020 "... [.I." */
+ 0x41,0x55,0x58,0x44,0x08,0x49,0x4E,0x54, /* 00000028 "AUXD.INT" */
+ 0x30,0x0E,0x10,0x32,0x54,0x76,0x98,0xBA, /* 00000030 "0..2Tv.." */
+ 0xDC,0xFE,0x08,0x53,0x54,0x52,0x30,0x0D, /* 00000038 "...STR0." */
+ 0x73,0x6F,0x75,0x72,0x63,0x65,0x20,0x73, /* 00000040 "source s" */
+ 0x74,0x72,0x69,0x6E,0x67,0x30,0x00,0x08, /* 00000048 "tring0.." */
+ 0x42,0x55,0x46,0x30,0x11,0x0C,0x0A,0x09, /* 00000050 "BUF0...." */
+ 0x09,0x08,0x07,0x06,0x05,0x04,0x03,0x02, /* 00000058 "........" */
+ 0x01,0x08,0x50,0x41,0x43,0x30,0x12,0x27, /* 00000060 "..PAC0.'" */
+ 0x03,0x0E,0x1F,0x32,0x54,0x76,0x98,0xBA, /* 00000068 "...2Tv.." */
+ 0xDC,0xFE,0x0D,0x74,0x65,0x73,0x74,0x20, /* 00000070 "...test " */
+ 0x70,0x61,0x63,0x6B,0x61,0x67,0x65,0x30, /* 00000078 "package0" */
+ 0x00,0x11,0x0C,0x0A,0x09,0x13,0x12,0x11, /* 00000080 "........" */
+ 0x10,0x0F,0x0E,0x0D,0x0C,0x0B,0x5B,0x81, /* 00000088 "......[." */
+ 0x0B,0x4F,0x50,0x52,0x30,0x01,0x46,0x4C, /* 00000090 ".OPR0.FL" */
+ 0x55,0x30,0x20,0x5B,0x82,0x10,0x44,0x45, /* 00000098 "U0 [..DE" */
+ 0x56,0x30,0x08,0x53,0x30,0x30,0x30,0x0D, /* 000000A0 "V0.S000." */
+ 0x44,0x45,0x56,0x30,0x00,0x5B,0x02,0x45, /* 000000A8 "DEV0.[.E" */
+ 0x56,0x45,0x30,0x14,0x09,0x4D,0x4D,0x4D, /* 000000B0 "VE0..MMM" */
+ 0x30,0x00,0xA4,0x0A,0x00,0x5B,0x01,0x4D, /* 000000B8 "0....[.M" */
+ 0x54,0x58,0x30,0x00,0x5B,0x80,0x4F,0x50, /* 000000C0 "TX0.[.OP" */
+ 0x52,0x30,0x00,0x0C,0x21,0x43,0x65,0x07, /* 000000C8 "R0..!Ce." */
+ 0x0A,0x98,0x5B,0x84,0x13,0x50,0x57,0x52, /* 000000D0 "..[..PWR" */
+ 0x30,0x00,0x00,0x00,0x08,0x53,0x30,0x30, /* 000000D8 "0....S00" */
+ 0x30,0x0D,0x50,0x57,0x52,0x30,0x00,0x5B, /* 000000E0 "0.PWR0.[" */
+ 0x83,0x16,0x43,0x50,0x55,0x30,0x00,0xFF, /* 000000E8 "..CPU0.." */
+ 0xFF,0xFF,0xFF,0x00,0x08,0x53,0x30,0x30, /* 000000F0 ".....S00" */
+ 0x30,0x0D,0x43,0x50,0x55,0x30,0x00,0x5B, /* 000000F8 "0.CPU0.[" */
+ 0x85,0x10,0x54,0x5A,0x4E,0x30,0x08,0x53, /* 00000100 "..TZN0.S" */
+ 0x30,0x30,0x30,0x0D,0x54,0x5A,0x4E,0x30, /* 00000108 "000.TZN0" */
+ 0x00,0x5B,0x13,0x42,0x55,0x46,0x30,0x0A, /* 00000110 ".[.BUF0." */
+ 0x00,0x0A,0x45,0x42,0x46,0x4C,0x30,
+ })
+
+ OperationRegion (IST3, SystemMemory, 0x400, 0x11f)
+
+ Field(IST3, ByteAcc, NoLock, Preserve) {
+ RFU3, 0x8f8,
+ }
+
+ Name (SNML, "0123456789ABCDEF")
+ Name (NNML, 16) // <= sizeof (SNML)
+
+ // Take into account AE_OWNER_ID_LIMIT
+ Name (HI0M, 256) // <= (NNML * NNML)
+
+ Name (HI0N, 0)
+ Name (INIF, 0x00)
+
+ Method(_ERR, 3) {
+ Store("_ERR exception handler", Debug)
+ Return (0)
+ }
+
+ Method(CHSM, 2) // buf, len
+ {
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+
+ Store(0, Local0) // sum
+
+ Store(arg1, lpN0)
+ Store(0, lpC0)
+
+ While(lpN0) {
+ Store(DeRefOf(Index(arg0, lpC0)), Local1)
+ Add(Local0, Local1, Local0)
+ Mod(Local0, 0x100, Local0)
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+
+ Subtract(0, Local0, Local0)
+ Mod(Local0, 0x100, Local0)
+
+ Store("checksum", Debug)
+ Store(Local0, Debug)
+
+ return (Local0)
+ }
+
+ // Initializes multiple Tables Load test
+ Method(INIT)
+ {
+ Store(Sizeof(SNML), Local0)
+ if (LGreater(NNML, Local0)) {
+ Store(Concatenate("INIT: test error, check NNML <= Sizeof(SNML):",
+ ToDecimalString(Local0)), Debug)
+ Return (1)
+ }
+ Multiply(Local0, Local0, Local0)
+ if (LGreater(HI0M, Local0)) {
+ Store(Concatenate("INIT: test error, check HI0M <= 0x",
+ Local0), Debug)
+ Return (1)
+ }
+ Return (0)
+ }
+
+ // Prepares and Loads the next Table of multiple Tables Load test
+ Method(LD)
+ {
+ if (LNot(LLess(HI0N, HI0M))) {
+ Store("LD: too many tables loaded", Debug)
+ Return (1)
+ }
+
+ Multiply(HI0N, 0x30, Local2)
+
+ OperationRegion (IST0, SystemMemory, Local2, 0x34)
+
+ Field(IST0, ByteAcc, NoLock, Preserve) {
+ RFU0, 0x1a0,
+ }
+
+ Field(IST0, ByteAcc, NoLock, Preserve) {
+ SIG, 32,
+ LENG, 32,
+ REV, 8,
+ SUM, 8,
+ OID, 48,
+ OTID, 64,
+ OREV, 32,
+ CID, 32,
+ CREV, 32,
+ Offset(39),
+ SSNM, 32,
+ Offset(47),
+ SSRT, 32
+ }
+
+ Store(BUF0, RFU0)
+
+ // Modify Revision field of SSDT
+ Store(Add(CREV, 1), CREV)
+
+ // Modify SSNM Object Name
+ Divide(HI0N, NNML, Local0, Local1)
+ Store(Derefof(Index(SNML, Local1)), Local1)
+ ShiftLeft(Local1, 16, Local1)
+ Store(Derefof(Index(SNML, Local0)), Local0)
+ ShiftLeft(Local0, 24, Local0)
+ Add(Local0, Local1, Local0)
+ Add(Local0, 0x5353, Local0)
+ Store(Local0, SSNM)
+ Store(SSNM, Debug)
+
+ // Modify SSNM Method Return String
+ Store(Local0, SSRT)
+
+ // Recalculate and save CheckSum
+ Store(RFU0, Local0)
+ Store(Add(SUM, CHSM(Local0, SizeOf (Local0))), SUM)
+
+ Load(RFU0, Local3)
+ Increment(HI0N)
+ Store("LD: SSDT Loaded", Debug)
+
+ Return (0)
+ }
+
+ Method(TST0)
+ {
+ Name(MAXT, 0xfa)
+ Name(DDB1, 0)
+ Name(DDB3, 0)
+
+ if (INIT()) {
+ err("", zFFF, 0x001, 0, 0, 0, 0)
+ return (1)
+ }
+
+ Store(BUF1, RFU1)
+ Store(BUF3, RFU3)
+
+ Store(MAXT, Local0)
+ while (Local0) {
+// Store(HI0N, Debug)
+ if (LD()) {
+ err("", zFFF, 0x002, 0, 0, Local0, HI0N)
+ return (1)
+ }
+ Decrement(Local0)
+ }
+
+ // Methods can not be called after the following Load
+ // (OWNER_ID is exhausted)
+ Load(RFU1, DDB1)
+ Store("SSDT1 Loaded", Debug)
+
+ // The following Load should cause AE_OWNER_ID_LIMIT
+ Load(RFU3, DDB3)
+
+ CH04("", 0, 0xff, 0, 0x003, 0, 0)
+
+ return (0)
+ }
+}
+
+Method(m294)
+{
+ \D294.TST0()
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0294/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0294/MAIN.asl
new file mode 100644
index 000000000..471523e06
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0294/MAIN.asl
@@ -0,0 +1,56 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+DefinitionBlock(
+ "B294.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0294/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0294/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0294/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0294/RUN.asl
new file mode 100644
index 000000000..5cba9b4f7
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0294/RUN.asl
@@ -0,0 +1,39 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+if (STTT("Demo of bug 294", TCLD, 294, W017)) {
+ SRMT("m294")
+ if (y294) {
+ m294()
+ } else {
+ BLCK()
+ }
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0295_ASL/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0295_ASL/DECL.asl
new file mode 100644
index 000000000..dcf096c12
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0295_ASL/DECL.asl
@@ -0,0 +1,43 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+/*
+ * Bug 295:
+ *
+ * SUMMARY: iASL reports the improper "operator has no effect" warning for LoadTable
+ */
+
+Device (D295) {
+ Name(PLDT, 0)
+}
+
+Method(m295)
+{
+ LoadTable("OEM1", "", "", , "\\D294.PLDT", 1)
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0295_ASL/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0295_ASL/MAIN.asl
new file mode 100644
index 000000000..1ea1e2c88
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0295_ASL/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+DefinitionBlock(
+ "B295.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0295_ASL/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+
+ // Error of ASL Compiler is expected
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0296/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0296/DECL.asl
new file mode 100644
index 000000000..75116fe93
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0296/DECL.asl
@@ -0,0 +1,65 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+/*
+ * Bug 296:
+ *
+ * SUMMARY: AE_AML_INTERNAL unexpectedly occurs when the Loadtable ParameterData
+ * and its Target differ in the types
+ */
+
+Device (D296) {
+
+ Name(PLDT, 0)
+
+ Method(TST0)
+ {
+ Store(LoadTable("OEM1", "", "", , "\\PLDT", "1"), Local0)
+
+ if (CH03("", 0, 0x001, 0, 0)) {
+ return
+ }
+
+ Store(ObjectType(PLDT), Local1)
+
+ if (LNotEqual(Local1, 1)) {
+ err("", zFFF, 0x002, 0, 0, Local1, 1)
+ } elseif (LNotEqual(1, PLDT)) {
+ err("", zFFF, 0x003, 0, 0, 1, PLDT)
+ }
+
+ UnLoad(Local0)
+ CH03("", 0, 0x004, 0, 0)
+ }
+}
+
+Method(m296)
+{
+ \D296.TST0()
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0296/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0296/MAIN.asl
new file mode 100644
index 000000000..6f04779b6
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0296/MAIN.asl
@@ -0,0 +1,56 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+DefinitionBlock(
+ "B296.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0296/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0296/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0296/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0296/RUN.asl
new file mode 100644
index 000000000..26c89dc4d
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0296/RUN.asl
@@ -0,0 +1,35 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+if (STTT("Demo of bug 296", TCLD, 296, W017)) {
+ SRMT("m296")
+ m296()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0297_ACTIONS_REQUIRED/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0297_ACTIONS_REQUIRED/DECL.asl
new file mode 100644
index 000000000..211c7116d
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0297_ACTIONS_REQUIRED/DECL.asl
@@ -0,0 +1,456 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+/*
+ * Bug 297:
+ *
+ * SUMMARY: After AE_LIMIT the further work of ACPICA mutex framework looks unstable
+ */
+
+/*
+ * It is m369 od Synchronization test
+ */
+Method(m1e4, 1)
+{
+ CH03("", 0, 0x000, 0, 0)
+
+ Mutex(MT00, 0)
+ Mutex(MT10, 1)
+ Mutex(MT20, 2)
+ Mutex(MT30, 3)
+ Mutex(MT40, 4)
+ Mutex(MT50, 5)
+ Mutex(MT60, 6)
+ Mutex(MT70, 7)
+ Mutex(MT80, 8)
+ Mutex(MT90, 9)
+ Mutex(MTa0, 10)
+ Mutex(MTb0, 11)
+ Mutex(MTc0, 12)
+ Mutex(MTd0, 13)
+ Mutex(MTe0, 14)
+ Mutex(MTf0, 15)
+
+ Mutex(MT01, 0)
+ Mutex(MT11, 1)
+ Mutex(MT21, 2)
+ Mutex(MT31, 3)
+ Mutex(MT41, 4)
+ Mutex(MT51, 5)
+ Mutex(MT61, 6)
+ Mutex(MT71, 7)
+ Mutex(MT81, 8)
+ Mutex(MT91, 9)
+ Mutex(MTa1, 10)
+ Mutex(MTb1, 11)
+ Mutex(MTc1, 12)
+ Mutex(MTd1, 13)
+ Mutex(MTe1, 14)
+ if (arg0) {
+
+ // Should be enough to exceed the maximal available number of mutexes
+
+ Mutex(M000, 10)
+ Mutex(M001, 10)
+ Mutex(M002, 10)
+ Mutex(M003, 10)
+ Mutex(M004, 10)
+ Mutex(M005, 10)
+ Mutex(M006, 10)
+ Mutex(M007, 10)
+ Mutex(M008, 10)
+ Mutex(M009, 10)
+
+ Mutex(M010, 10)
+ Mutex(M011, 10)
+ Mutex(M012, 10)
+ Mutex(M013, 10)
+ Mutex(M014, 10)
+ Mutex(M015, 10)
+ Mutex(M016, 10)
+ Mutex(M017, 10)
+ Mutex(M018, 10)
+ Mutex(M019, 10)
+
+ Mutex(M020, 10)
+ Mutex(M021, 10)
+ Mutex(M022, 10)
+ Mutex(M023, 10)
+ Mutex(M024, 10)
+ Mutex(M025, 10)
+ Mutex(M026, 10)
+ Mutex(M027, 10)
+ Mutex(M028, 10)
+ Mutex(M029, 10)
+
+ Mutex(M030, 10)
+ Mutex(M031, 10)
+ Mutex(M032, 10)
+ Mutex(M033, 10)
+ Mutex(M034, 10)
+ Mutex(M035, 10)
+ Mutex(M036, 10)
+ Mutex(M037, 10)
+ Mutex(M038, 10)
+ Mutex(M039, 10)
+
+
+
+ Mutex(MTb2, 11)
+ Mutex(MTb3, 11)
+ Mutex(MTb4, 11)
+ Mutex(MTb5, 11)
+ Mutex(MTb6, 11)
+ Mutex(MTb7, 11)
+ Mutex(MTb8, 11)
+ Mutex(MTb9, 11)
+ Mutex(MTba, 11)
+ Mutex(MTbb, 11)
+ Mutex(MTbc, 11)
+ Mutex(MTbd, 11)
+ Mutex(MTbe, 11)
+ Mutex(MTbf, 11)
+
+ Mutex(MTc2, 12)
+ Mutex(MTc3, 12)
+ Mutex(MTc4, 12)
+ Mutex(MTc5, 12)
+ Mutex(MTc6, 12)
+ Mutex(MTc7, 12)
+ Mutex(MTc8, 12)
+ Mutex(MTc9, 12)
+ Mutex(MTca, 12)
+ Mutex(MTcb, 12)
+ Mutex(MTcc, 12)
+ Mutex(MTcd, 12)
+ Mutex(MTce, 12)
+ Mutex(MTcf, 12)
+
+ Mutex(MTd2, 13)
+ Mutex(MTd3, 13)
+ Mutex(MTd4, 13)
+ Mutex(MTd5, 13)
+ Mutex(MTd6, 13)
+ Mutex(MTd7, 13)
+ Mutex(MTd8, 13)
+ Mutex(MTd9, 13)
+ Mutex(MTda, 13)
+ Mutex(MTdb, 13)
+ Mutex(MTdc, 13)
+ Mutex(MTdd, 13)
+ Mutex(MTde, 13)
+ Mutex(MTdf, 13)
+
+ Mutex(MTe2, 14)
+ Mutex(MTe3, 14)
+ Mutex(MTe4, 14)
+ Mutex(MTe5, 14)
+ Mutex(MTe6, 14)
+ Mutex(MTe7, 14)
+ Mutex(MTe8, 14)
+ Mutex(MTe9, 14)
+ Mutex(MTea, 14)
+ Mutex(MTeb, 14)
+ Mutex(MTec, 14)
+ Mutex(MTed, 14)
+ Mutex(MTee, 14)
+ Mutex(MTef, 14)
+
+ Mutex(MTf1, 15)
+ Mutex(MTf2, 15)
+ Mutex(MTf3, 15)
+ Mutex(MTf4, 15)
+ Mutex(MTf5, 15)
+ Mutex(MTf6, 15)
+ Mutex(MTf7, 15)
+ Mutex(MTf8, 15)
+ Mutex(MTf9, 15)
+ Mutex(MTfa, 15)
+ Mutex(MTfb, 15)
+ Mutex(MTfc, 15)
+ Mutex(MTfd, 15)
+ Mutex(MTfe, 15)
+ Mutex(MTff, 15)
+ }
+
+ Store(Acquire(MT00, 0xffff), Local0)
+ if (Local0) {
+ err("", zFFF, 1, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MT01, 0xffff), Local0) /* the same level */
+ if (Local0) {
+ err("", zFFF, 2, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(\_GL, 0xffff), Local0) /* GL */
+ if (Local0) {
+ err("", zFFF, 3, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MT10, 0xffff), Local0)
+ if (Local0) {
+ err("", zFFF, 4, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MT11, 0xffff), Local0)
+ if (Local0) {
+ err("", zFFF, 5, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MT20, 0xffff), Local0)
+ if (Local0) {
+ err("", zFFF, 6, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MT21, 0xffff), Local0)
+ if (Local0) {
+ err("", zFFF, 7, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MT30, 0xffff), Local0)
+ if (Local0) {
+ err("", zFFF, 8, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MT31, 0xffff), Local0)
+ if (Local0) {
+ err("", zFFF, 9, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MT40, 0xffff), Local0)
+ if (Local0) {
+ err("", zFFF, 0x00a, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MT41, 0xffff), Local0)
+ if (Local0) {
+ err("", zFFF, 0x00b, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MT50, 0xffff), Local0)
+ if (Local0) {
+ err("", zFFF, 0x00c, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MT51, 0xffff), Local0)
+ if (Local0) {
+ err("", zFFF, 0x00d, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MT60, 0xffff), Local0)
+ if (Local0) {
+ err("", zFFF, 0x00e, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MT61, 0xffff), Local0)
+ if (Local0) {
+ err("", zFFF, 0x00f, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MT70, 0xffff), Local0)
+ if (Local0) {
+ err("", zFFF, 0x010, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MT71, 0xffff), Local0)
+ if (Local0) {
+ err("", zFFF, 0x011, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MT80, 0xffff), Local0)
+ if (Local0) {
+ err("", zFFF, 0x012, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MT81, 0xffff), Local0)
+ if (Local0) {
+ err("", zFFF, 0x013, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MT90, 0xffff), Local0)
+ if (Local0) {
+ err("", zFFF, 0x014, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MT91, 0xffff), Local0)
+ if (Local0) {
+ err("", zFFF, 0x015, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MTa0, 0xffff), Local0)
+ if (Local0) {
+ err("", zFFF, 0x016, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MTa1, 0xffff), Local0)
+ if (Local0) {
+ err("", zFFF, 0x017, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MTb0, 0xffff), Local0)
+ if (Local0) {
+ err("", zFFF, 0x018, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MTb1, 0xffff), Local0)
+ if (Local0) {
+ err("", zFFF, 0x019, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MTc0, 0xffff), Local0)
+ if (Local0) {
+ err("", zFFF, 0x01a, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MTc1, 0xffff), Local0)
+ if (Local0) {
+ err("", zFFF, 0x01b, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MTd0, 0xffff), Local0)
+ if (Local0) {
+ err("", zFFF, 0x01c, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MTd1, 0xffff), Local0)
+ if (Local0) {
+ err("", zFFF, 0x01d, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MTe0, 0xffff), Local0)
+ if (Local0) {
+ err("", zFFF, 0x01e, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MTe1, 0xffff), Local0)
+ if (Local0) {
+ err("", zFFF, 0x01f, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MTf0, 0xffff), Local0)
+ if (Local0) {
+ err("", zFFF, 0x020, 0, 0, 0, Local0)
+ } else {
+ if (arg0) {
+ Store(Acquire(MTf1, 0xffff), Local0)
+ } else {
+ Store(0, Local0)
+ }
+ if (Local0) {
+ err("", zFFF, 0x021, 0, 0, 0, Local0)
+ } else {
+ if (arg0) {
+ Release(MTF1)
+ }
+ Release(MTF0)
+ Release(MTE1)
+ Release(MTE0)
+ Release(MTD1)
+ Release(MTD0)
+ Release(MTC1)
+ Release(MTC0)
+ Release(MTB1)
+ Release(MTB0)
+ Release(MTA1)
+ Release(MTA0)
+ Release(MT91)
+ Release(MT90)
+ Release(MT81)
+ Release(MT80)
+ Release(MT71)
+ Release(MT70)
+ Release(MT61)
+ Release(MT60)
+ Release(MT51)
+ Release(MT50)
+ Release(MT41)
+ Release(MT40)
+ Release(MT31)
+ Release(MT30)
+ Release(MT21)
+ Release(MT20)
+ Release(MT11)
+ Release(MT10)
+ Release(\_GL)
+ Release(MT01)
+ Release(MT00)
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+
+ if (arg0) {
+ CH04("", 1, 18, 0, 0x022, 0, 0) // AE_LIMIT
+ } else {
+ CH03("", 0, 0x023, 0, 0)
+ }
+}
+
+Method(m1e5)
+{
+ /*
+ * This DECLARATION causes hang forever
+ *
+ * Event(E000)
+ */
+
+ CH03("", 0, 0x024, 0, 0)
+
+ /*
+ * This causes messages (but no exceptions):
+ *
+ * ACPI Error (utmutex-0421): Mutex [0] is not acquired, cannot release [20061215]
+ * ACPI Error (exutils-0250): Could not release AML Interpreter mutex [20061215]
+ * ACPI Exception (utmutex-0376): AE_BAD_PARAMETER, Thread B45 could not acquire Mutex [0] [20061215]
+ * ACPI Error (exutils-0180): Could not acquire AML Interpreter mutex [20061215]
+ */
+ Sleep(100)
+
+ CH03("", 0, 0x025, 0, 0)
+}
+
+Method(m1e6)
+{
+ SRMT("m1e4-1")
+ m1e4(1)
+ SRMT("m1e4-0")
+ m1e4(0)
+ SRMT("m1e5")
+ m1e5()
+ CH03("", 0, 0x026, 0, 0)
+
+ /*
+ * m1e5 shows appearance of bug but doesn't cause exceptions
+ * (so it is not detected automatically), so actions are required
+ * for to see result of this bug until it is actually fixed. Then
+ * (when fixed) uncomment Event(E000) in m1e5 and remove this error
+ * report below (or try to find how to detect this situation
+ * automatically now (for not fixed yet)):
+ */
+ err("", zFFF, 0x027, 0, 0, 0, 0)
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0297_ACTIONS_REQUIRED/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0297_ACTIONS_REQUIRED/MAIN.asl
new file mode 100644
index 000000000..63a8eff05
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0297_ACTIONS_REQUIRED/MAIN.asl
@@ -0,0 +1,56 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+DefinitionBlock(
+ "B297.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0297_ACTIONS_REQUIRED/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0297_ACTIONS_REQUIRED/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0297_ACTIONS_REQUIRED/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0297_ACTIONS_REQUIRED/RUN.asl
new file mode 100644
index 000000000..cc829b000
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0297_ACTIONS_REQUIRED/RUN.asl
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+if (STTT("Demo of bug 297", TCLD, 297, W017)) {
+ m1e6()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0298_ACTIONS_REQUIRED/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0298_ACTIONS_REQUIRED/DECL.asl
new file mode 100644
index 000000000..6c80f02cc
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0298_ACTIONS_REQUIRED/DECL.asl
@@ -0,0 +1,83 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+/*
+ * Bug 298:
+ *
+ * SUMMARY: AcpiExOpcode_XA_XT_XR routines assign addresses of released cache objects to WalkState->ResultObj causing further problems
+ *
+ * Note: appearance of bug greatly depends on the memory cache dynamics
+ *
+ * So, PASS of this test doesn't mean yet that the root cause of the problem
+ * has been resolved.
+ */
+
+Mutex(MX00, 0)
+Mutex(MX01, 1)
+Mutex(MX02, 2)
+Mutex(MX03, 3)
+
+Name(p000, Package() { 0x67890000 })
+
+Method(m1e7)
+{
+ Store(0x123, Local0)
+ Acquire(MX03, 0x100)
+
+ CH03("", 0, 0x000, 0, 0)
+
+ Acquire(MX02, 0x100)
+ CH04("", 0, 64, 0, 0x003, 0, 0) // AE_AML_MUTEX_ORDER
+
+ Store(RefOf(p000), Local2) // L0(0x004d5ec8, 0x123), L2 (0x004d5dc8, res of RefOf)
+ Store(DerefOf(Local2), Local3)
+ Store("Sit 1: Local2 contains bad object there!!!!!", Debug)
+ LAnd(0xabcd0000, 0xabcd0001)
+ Decrement(Local0) // L0(0x004d5ec8, 0x123), L2 (0x004d5dc8, 0xCACA)
+ Store("============================== 0", Debug)
+ Store(Local0, Debug)
+ Store("============================== 1", Debug)
+ Store(RefOf(p000), Local2)
+ Store("============================== 2", Debug)
+ Add(Local0, 0x11111111, Local4)
+ Store(Local4, Debug)
+ if (LNotEqual(Local4, 0x11111233)) {
+ err("", zFFF, 0x001, 0, 0, Local4, 0x11111233)
+ }
+ Store("============================== 3", Debug)
+
+ CH03("", 0, 0x002, 0, 0)
+
+ /*
+ * The problem is not automatically detected,
+ * so remove this error report after the problem has been resolved.
+ */
+ err("", zFFF, 0x123, 0, 0, 0, 0)
+}
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0298_ACTIONS_REQUIRED/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0298_ACTIONS_REQUIRED/MAIN.asl
new file mode 100644
index 000000000..38e476d2b
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0298_ACTIONS_REQUIRED/MAIN.asl
@@ -0,0 +1,56 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+DefinitionBlock(
+ "B298.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0298_ACTIONS_REQUIRED/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0298_ACTIONS_REQUIRED/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0298_ACTIONS_REQUIRED/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0298_ACTIONS_REQUIRED/RUN.asl
new file mode 100644
index 000000000..2296739a0
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0298_ACTIONS_REQUIRED/RUN.asl
@@ -0,0 +1,35 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+if (STTT("Demo of bug 298", TCLD, 298, W017)) {
+ SRMT("m1e7")
+ m1e7()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0299_ACTIONS_REQUIRED/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0299_ACTIONS_REQUIRED/DECL.asl
new file mode 100644
index 000000000..14e597a86
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0299_ACTIONS_REQUIRED/DECL.asl
@@ -0,0 +1,129 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+/*
+ * Bug 299:
+ *
+ * SUMMARY: Many outstanding allocations on abnormal termination of AcpiDsCallControlMethod
+ *
+ *
+ * [ACPI Debug] String: [0x29] "========= ROOT METHODS SUMMARY (max 600):"
+ * [ACPI Debug] String: [0x3E] ":STST:bug-demo:Demo of bug 299:m1e8:FAIL:Errors # 01 00 00 00:"
+ * [ACPI Debug] String: [0x0E] "========= END."
+ * [ACPI Debug] String: [0x5B] "TEST ACPICA: 64-bit : FAIL : Errors # 0x0000000000000001, Failed tests # 0x0000000000000001"
+ * Outstanding: 0x14 allocations after execution
+ * Execution of \MAIN returned object 00327E40 Buflen 10
+ * [Integer] = 0000000000000001
+ * - q
+ * 0047DDE8 Len 0028 utcache-414 [Operand] Integer R1
+ * 0047DE48 Len 0028 utcache-414 [Operand] Integer R1
+ * 0047DEA8 Len 0028 utcache-414 [Operand] Integer R1
+ * 0047DF08 Len 0028 utcache-414 [Operand] Integer R1
+ * 0047DF68 Len 0028 utcache-414 [Operand] Integer R1
+ * 0047DFC8 Len 0028 utcache-414 [Operand] Integer R1
+ * 0047C988 Len 0028 utcache-414 [Operand] Integer R1
+ * 0047C9E8 Len 0028 utcache-414 [Operand] Integer R1
+ * 0047CA48 Len 0028 utcache-414 [Operand] Integer R1
+ * 0047CAA8 Len 0028 utcache-414 [Operand] Integer R1
+ * 0047CB08 Len 0028 utcache-414 [Operand] Integer R1
+ * 0047CB68 Len 0028 utcache-414 [Operand] Integer R1
+ * 0047C328 Len 0028 utcache-414 [Operand] Integer R1
+ * 0047C848 Len 0028 utcache-414 [Operand] Integer R1
+ * 0047B398 Len 0028 utcache-414 [Operand] Integer R1
+ * 0047A128 Len 0028 utcache-414 [Operand] Integer R1
+ * ACPI Error (uttrack-0719): 16(10) Outstanding allocations [20061215]
+ */
+
+Method(m1e8)
+{
+ Method(m306, 2)
+ {
+ Name(i000, 0)
+ Name(i001, 0)
+ Name(i002, 0x34)
+ Name(i003, 0xabcd0003)
+ Name(i004, 0xabcd0004)
+ Method(m000,1,Serialized, 0) {if (arg0) {Store( 0,i004)} else {Store( 0,i003)} mm00(7,i000,i001)}
+ Method(m001,1,Serialized, 1) {if (arg0) {Store( 1,i004)} else {Store( 1,i003)} mm00(8,i000,i001)}
+
+ Method(mm00, 3)
+ {
+ Store(i002, Local0)
+ Increment(i002)
+
+ if (LGreater(i002, 0x36)) {
+ Return
+ }
+
+ if (arg0) {
+ Store(arg2, Local1)
+ } else {
+ Store(arg1, Local1)
+ }
+
+ if (LEqual(Local1, 0)) {
+ m000(Local0)
+ } else {
+ m001(Local0)
+ }
+ }
+
+ Store(arg0, i000)
+ Store(arg1, i001)
+
+ mm00(0, i000, i001)
+ }
+
+ CH03("", 0, 0x000, 0, 0)
+ m306(9, 0)
+ m306(9, 0)
+ m306(9, 0)
+ m306(9, 0)
+ m306(9, 0)
+ m306(9, 0)
+ m306(9, 0)
+ m306(9, 0)
+ m306(9, 0)
+ m306(9, 0)
+ m306(9, 0)
+ m306(9, 0)
+ m306(9, 0)
+ m306(9, 0)
+ m306(9, 0)
+ m306(9, 0)
+ CH04("", 1, 64, 0, 0x001, 0, 0) // AE_AML_MUTEX_ORDER
+
+ /*
+ * The problem is not automatically detected,
+ * so remove this error report after the problem has been resolved.
+ */
+ err("", zFFF, 0x123, 0, 0, 0, 0)
+}
+
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0299_ACTIONS_REQUIRED/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0299_ACTIONS_REQUIRED/MAIN.asl
new file mode 100644
index 000000000..716409da6
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0299_ACTIONS_REQUIRED/MAIN.asl
@@ -0,0 +1,56 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+DefinitionBlock(
+ "B299.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0299_ACTIONS_REQUIRED/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0299_ACTIONS_REQUIRED/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0299_ACTIONS_REQUIRED/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0299_ACTIONS_REQUIRED/RUN.asl
new file mode 100644
index 000000000..01696a3a4
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0299_ACTIONS_REQUIRED/RUN.asl
@@ -0,0 +1,35 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+if (STTT("Demo of bug 299", TCLD, 299, W017)) {
+ SRMT("m1e8")
+ m1e8()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0300/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0300/DECL.asl
new file mode 100644
index 000000000..7f86f4ca1
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0300/DECL.asl
@@ -0,0 +1,91 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+/*
+ * Bug 300:
+ *
+ * SUMMARY: Recursive calls to methods with the internal declarations (and Switches) should be provided
+ */
+
+Method(m1e9)
+{
+ Method(m000)
+ {
+ Name(i000, 0)
+ Name(max0, 10)
+
+ Store(max0, i000)
+
+ Method(m100, 1)
+ {
+ /*
+ * Method m100 contains internal declarations and Switch and
+ * is invoked recursively but no exceptions should be there,
+ * and the proper execution provided.
+ */
+ Name(ii00, 0)
+ Name(ii01, 0)
+ Name(ii02, 0)
+ Name(ii03, 0)
+
+ Store(arg0, ii00)
+ Store(0, ii01)
+ Store(0, ii02)
+ Store(0, ii03)
+ Store(arg0, Local5)
+
+ Concatenate("================== i000: ", i000, Debug)
+
+ Decrement(i000)
+
+ Switch (i000) {
+ Case (0) {
+ Store("No more recursive calls", Debug)
+ }
+ Default {
+ m100(i000)
+ }
+ }
+
+ if (LNotEqual(arg0, ii00)) {
+ err("", zFFF, 0x000, 0, 0, arg0, ii00)
+ }
+ if (LNotEqual(arg0, Local5)) {
+ err("", zFFF, 0x001, 0, 0, arg0, Local5)
+ }
+ }
+ m100(0)
+ }
+
+ CH03("", 0, 0x002, 0, 0)
+ m000()
+ CH03("", 0, 0x003, 0, 0)
+}
+
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0300/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0300/MAIN.asl
new file mode 100644
index 000000000..359441281
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0300/MAIN.asl
@@ -0,0 +1,56 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+DefinitionBlock(
+ "B300.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0300/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0300/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0300/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0300/RUN.asl
new file mode 100644
index 000000000..0985e50e2
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0300/RUN.asl
@@ -0,0 +1,35 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+if (STTT("Demo of bug 300", TCLD, 300, W017)) {
+ SRMT("m1e9")
+ m1e9()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0301/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0301/DECL.asl
new file mode 100644
index 000000000..2d81256cf
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0301/DECL.asl
@@ -0,0 +1,142 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+/*
+ * Bug 301:
+ *
+ * SUMMARY: Recursive calls to methods with the internal declarations (and Swithces) causes AE_AML_INTERNAL and crash
+ */
+
+Method(m1ea)
+{
+Method(m19c)
+{
+ Name(rpt0, 0)
+
+ /*
+ * Total number of calls of the same Recursively Called method (RCM),
+ * the first call is counted there too.
+ */
+ Name(n000, 3)
+
+ Name(cnt0, 0) // how many methods are in progress simultaneously
+ Name(max0, 0) // maximal number of methods being in progress simultaneously
+
+ /*
+ * Open method execution
+ *
+ * arg0 - ID of method (1,2,3...)
+ * arg1 - the message to be reported
+ */
+ Method(m800, 2)
+ {
+ if (rpt0) {
+ Store(arg1, Debug)
+ }
+ Increment(cnt0)
+
+ if (LGreater(cnt0, max0)) {
+ Store(cnt0, max0)
+ }
+ }
+
+ /*
+ * Close method execution
+ *
+ * arg0 - ID of method (1,2,3...)
+ */
+ Method(m801, 1)
+ {
+ Decrement(cnt0)
+ }
+
+ /*
+ * Arguments of methods:
+ * arg0 - 0 - the first call, otherwise - recursive calls
+ */
+
+ Name(c000, 3)
+
+ Method(m100)
+ {
+ Name(c100, 3)
+ Method(m200)
+ {
+ Name(c200, 3)
+ Method(m300)
+ {
+ Name(c300, 3)
+ Method(m400)
+ {
+ m800(4, "m400")
+ Decrement(c300)
+ if (LEqual(c300, 0)) {
+ m300()
+ } else {
+ m400()
+ }
+ m801(4)
+ }
+ m800(3, "m300")
+ Decrement(c200)
+ if (LEqual(c200, 0)) {
+ m200()
+ } else {
+ m400()
+ }
+ m801(3)
+ }
+ m800(2, "m200")
+ Decrement(c100)
+ if (LEqual(c100, 0)) {
+ m100()
+ } else {
+ m300()
+ }
+ m801(2)
+ }
+ m800(1, "m100")
+ Decrement(c000)
+ if (LEqual(c000, 0)) {
+ // m000()
+ } else {
+ m200()
+ }
+ m801(1)
+ }
+
+ m100()
+}
+
+ CH03("", 0, 0x000, 0, 0)
+ m19c()
+ CH03("", 0, 0x001, 0, 0)
+}
+
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0301/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0301/MAIN.asl
new file mode 100644
index 000000000..015e44e2f
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0301/MAIN.asl
@@ -0,0 +1,56 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+DefinitionBlock(
+ "B301.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0301/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0301/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0301/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0301/RUN.asl
new file mode 100644
index 000000000..b6fa016b6
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0301/RUN.asl
@@ -0,0 +1,39 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+if (STTT("Demo of bug 301", TCLD, 301, W017)) {
+ SRMT("m1ea")
+ if (y301) {
+ m1ea()
+ } else {
+ BLCK()
+ }
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0302/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0302/DECL.asl
new file mode 100644
index 000000000..c2351ce48
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0302/DECL.asl
@@ -0,0 +1,96 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+/*
+ * Bug 302:
+ *
+ * SUMMARY: Scope operation doesn't work for the root node Location
+ */
+
+Method(m1eb)
+{
+ Method(m100)
+ {
+ Method(m200)
+ {
+ Store("---------------- Before <Scope(\_SB)>",debug)
+ Scope(\_SB) { Name(i2z7, 0xabcd0007) }
+ Store("---------------- After Scope(\_SB)",debug)
+ m201()
+ Store("---------------- Completed.",debug)
+ }
+
+ Method(m201)
+ {
+ if (LNotEqual(\_SB.i2z7, 0xabcd0007)) {
+ err("", zFFF, 0x000, 0, 0, \_SB.i2z7, 0xabcd0007)
+ }
+ }
+
+ m200()
+ }
+
+ Method(m101)
+ {
+ Method(m202)
+ {
+ Store("---------------- Before <Scope(\)>",debug)
+ Scope(\) { Name(i2z4, 0xabcd0004) }
+ Store("---------------- After Scope(\)",debug)
+ m203()
+ Store("---------------- Completed.",debug)
+ }
+
+ Method(m203)
+ {
+ if (LNotEqual(\i2z4, 0xabcd0004)) {
+ err("", zFFF, 0x001, 0, 0, \i2z4, 0xabcd0004)
+ }
+ }
+
+ m202()
+ }
+
+
+ CH03("", 0, 0x002, 0, 0)
+
+ SRMT("m1eb-m100")
+ m100()
+
+ SRMT("m1eb-m101")
+ if (y302) {
+ m101()
+ } else {
+ BLCK()
+ }
+
+ CH03("", 0, 0x003, 0, 0)
+}
+
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0302/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0302/MAIN.asl
new file mode 100644
index 000000000..c679e6d49
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0302/MAIN.asl
@@ -0,0 +1,56 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+DefinitionBlock(
+ "B302.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0302/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0302/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0302/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0302/RUN.asl
new file mode 100644
index 000000000..d5e178606
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0302/RUN.asl
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+if (STTT("Demo of bug 302", TCLD, 302, W017)) {
+ m1eb()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0303/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0303/DECL.asl
new file mode 100644
index 000000000..a53a60fdb
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0303/DECL.asl
@@ -0,0 +1,111 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+/*
+ * Bug 303:
+ *
+ * SUMMARY: Name operation performed from inside the If operation doesn't work for the full-path ObjectName
+ */
+
+Method(m1ec)
+{
+ // The usual case, it works
+ Method(m000)
+ {
+ Method(m100, 1)
+ {
+ Name(\i4z0, 0xabcd0000)
+
+ if (LNotEqual(i4z0, 0xabcd0000)) {
+ err("", zFFF, 0x000, 0, 0, i4z0, 0xabcd0000)
+ }
+ if (LNotEqual(\i4z0, 0xabcd0000)) {
+ err("", zFFF, 0x001, 0, 0, \i4z0, 0xabcd0000)
+ }
+ m101()
+ }
+
+ Method(m101)
+ {
+ if (LNotEqual(i4z0, 0xabcd0000)) {
+ err("", zFFF, 0x002, 0, 0, i4z0, 0xabcd0000)
+ }
+ if (LNotEqual(\i4z0, 0xabcd0000)) {
+ err("", zFFF, 0x003, 0, 0, \i4z0, 0xabcd0000)
+ }
+ }
+
+ Store("---------------- The case 1 started:",debug)
+ m100(0)
+ Store("---------------- Completed.",debug)
+ }
+
+ // The case where Name(\i4z1, 0xabcd0000) is performed from If, it doesn't work.
+ Method(m001)
+ {
+ Method(m100, 1)
+ {
+ if (LNot(arg0)) {
+ Name(\i4z1, 0xabcd0000)
+ }
+
+ if (LNotEqual(i4z1, 0xabcd0000)) {
+ err("", zFFF, 0x004, 0, 0, i4z1, 0xabcd0000)
+ }
+ if (LNotEqual(\i4z1, 0xabcd0000)) {
+ err("", zFFF, 0x005, 0, 0, \i4z1, 0xabcd0000)
+ }
+ m101()
+ }
+
+ Method(m101)
+ {
+ if (LNotEqual(i4z1, 0xabcd0000)) {
+ err("", zFFF, 0x006, 0, 0, i4z1, 0xabcd0000)
+ }
+ if (LNotEqual(\i4z1, 0xabcd0000)) {
+ err("", zFFF, 0x007, 0, 0, \i4z1, 0xabcd0000)
+ }
+ }
+
+ Store("---------------- The case 2 started:",debug)
+ m100(0)
+ Store("---------------- Completed",debug)
+ }
+
+ CH03("", 0, 0x008, 0, 0)
+ SRMT("m1ec-m000")
+ m000()
+ CH03("", 0, 0x009, 0, 0)
+ SRMT("m1ec-m001")
+ m001()
+ CH03("", 0, 0x00a, 0, 0)
+}
+
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0303/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0303/MAIN.asl
new file mode 100644
index 000000000..be75852be
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0303/MAIN.asl
@@ -0,0 +1,56 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+DefinitionBlock(
+ "B303.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0303/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0303/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0303/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0303/RUN.asl
new file mode 100644
index 000000000..56586cfab
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0303/RUN.asl
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+if (STTT("Demo of bug 303", TCLD, 303, W017)) {
+ m1ec()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0304/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0304/DECL.asl
new file mode 100644
index 000000000..8b3bb31de
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0304/DECL.asl
@@ -0,0 +1,295 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+/*
+ * Bug 304:
+ *
+ * SUMMARY: No exception AE_AML_METHOD_LIMIT for the number of method invocations exceeding 255
+ */
+
+Method(m1ed)
+{
+Method(m18a, 1)
+{
+ Name(rpt0, 0)
+ Name(i000, 0)
+
+ /*
+ * Total number of calls of the same Recursively Called method (RCM),
+ * the first call is counted there too.
+ */
+ Name(n000, 3)
+
+ Name(cnt0, 0) // how many methods are in progress simultaneously
+ Name(max0, 0) // maximal number of methods being in progress simultaneously
+ Name(cnt1, 0) // summary of total indexes
+
+ Name(ix00, 0) // total index of current call
+ Name(ind1, 0) // index of call to m100
+ Name(ind2, 0) // index of call to m200
+ Name(ind3, 0) // index of call to m300
+ Name(ind4, 0) // index of call to m400
+
+ Name(n100, 3) // number of calls to m100
+ Name(n200, 6) // number of calls to m200
+ Name(n300, 12) // number of calls to m300
+ Name(n400, 24) // number of calls to m400
+
+ Name(p100, Package(n100) {}) // Package to keep total indexs of call to m100
+ Name(p200, Package(n200) {}) // Package to keep total indexs of call to m200
+ Name(p300, Package(n300) {}) // Package to keep total indexs of call to m300
+ Name(p400, Package(0x100) {}) // Package to keep total indexs of call to m400
+
+ // Benchmarks of indexes
+ Name(b1b0, Buffer(n100) {0,22,44})
+ Name(b2b0, Buffer(n200) {1,11,21, 23,33,43})
+ Name(b3b0, Buffer(n300) {2, 6,10, 12,16,20, 24,28,32, 34,38,42})
+ Name(b4b0, Buffer(0x100) {3, 4, 5, 7, 8, 9, 13,14,15, 17,18,19,
+ 25,26,27, 29,30,31, 35,36,37, 39,40,41})
+
+ /*
+ * Open method execution
+ *
+ * arg0 - ID of method (1,2,3...)
+ * arg1 - the message to be reported
+ */
+ Method(m800, 2)
+ {
+ if (rpt0) {
+ Store(arg1, Debug)
+ }
+ Increment(cnt0)
+
+ if (LGreater(cnt0, max0)) {
+ Store(cnt0, max0)
+ }
+
+ Switch (arg0) {
+ Case (1) {
+ Store(ix00, Index(p100, ind1))
+ Increment(ind1)
+ }
+ Case (2) {
+ Store(ix00, Index(p200, ind2))
+ Increment(ind2)
+ }
+ Case (3) {
+ Store(ix00, Index(p300, ind3))
+ Increment(ind3)
+ }
+ Case (4) {
+ Store(ix00, Index(p400, ind4))
+ Increment(ind4)
+ }
+ }
+
+ Increment(ix00) // total index
+ }
+
+ /*
+ * Close method execution
+ *
+ * arg0 - ID of method (1,2,3...)
+ */
+ Method(m801, 1)
+ {
+ Decrement(cnt0)
+ }
+
+ /*
+ * arg0 - ID of method (1,2,3...)
+ * arg1 - number of elements to be compared
+ * arg2 - Package
+ * arg3 - Package with the benchmark values
+ */
+ Method(m802, 4) {
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+
+ Store(arg1, lpN0)
+ Store(0, lpC0)
+
+ While (lpN0) {
+
+ Store(DeRefOf(Index(arg2, lpC0)), Local0)
+ Store(DeRefOf(Index(arg3, lpC0)), Local1)
+ if (LNotEqual(Local0, Local1)) {
+ err("", zFFF, 0x000, 0, 0, Local0, Local1)
+ Store(arg0, Debug)
+ Store(lpC0, Debug)
+ }
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+
+ Switch (arg0) {
+ Case (1) {
+ if (LNotEqual(ind1, n100)) {
+ err("", zFFF, 0x001, 0, 0, ind1, n100)
+ }
+ }
+ Case (2) {
+ if (LNotEqual(ind2, n200)) {
+ err("", zFFF, 0x002, 0, 0, ind2, n200)
+ }
+ }
+ Case (3) {
+ if (LNotEqual(ind3, n300)) {
+ err("", zFFF, 0x003, 0, 0, ind3, n300)
+ }
+ }
+ Case (4) {
+ if (LNotEqual(ind4, n400)) {
+ err("", zFFF, 0x004, 0, 0, ind4, n400)
+ }
+ }
+ }
+ }
+
+ /*
+ * Arguments of methods:
+ * arg0 - 0 - the first call, otherwise - recursive calls
+ */
+
+ Name(c000, 3)
+ Name(c100, 3)
+ Name(c200, 3)
+ Name(c300, 3)
+
+ /*
+ * None internal objects (including Methods) or Switches in Serialized methods below
+ *
+ * Note: if Serialized method has internal objects (including Methods and Switches)
+ * it could not be invoked recursively by the same thread.
+ */
+ Method(m100, 0, Serialized, 0)
+ {
+ Store(3, c100)
+ Store(ind1, Local1)
+ Store(ix00, Local0)
+ m800(1, "m100")
+ Decrement(c000)
+ if (LEqual(c000, 0)) {
+ // m000()
+ } else {
+ m200()
+ }
+ m801(1)
+ Add(cnt1, Local0, cnt1)
+ Store(DerefOf(Index(p100, Local1)), Local1)
+ if (LNotEqual(Local1, Local0)) {
+ err("", zFFF, 0x005, 0, 0, Local1, Local0)
+ }
+ }
+ Method(m200, 0, Serialized, 0)
+ {
+ Store(3, c200)
+ Store(ind2, Local1)
+ Store(ix00, Local0)
+ m800(2, "m200")
+ Decrement(c100)
+ if (LEqual(c100, 0)) {
+ m100()
+ } else {
+ m300()
+ }
+ m801(2)
+ Add(cnt1, Local0, cnt1)
+ Store(DerefOf(Index(p200, Local1)), Local1)
+ if (LNotEqual(Local1, Local0)) {
+ err("", zFFF, 0x006, 0, 0, Local1, Local0)
+ }
+ }
+ Method(m300, 0, Serialized, 0)
+ {
+ if (i000) {
+ Store(31, c300)
+ // Store(32, c300) // AE_AML_METHOD_LIMIT occurs for this number (0x111 == 273)
+ } else {
+ Store(3, c300)
+ }
+
+ Store(ind3, Local1)
+ Store(ix00, Local0)
+ m800(3, "m300")
+ Decrement(c200)
+ if (LEqual(c200, 0)) {
+ m200()
+ } else {
+ m400()
+ }
+ m801(3)
+ Add(cnt1, Local0, cnt1)
+ Store(DerefOf(Index(p300, Local1)), Local1)
+ if (LNotEqual(Local1, Local0)) {
+ err("", zFFF, 0x007, 0, 0, Local1, Local0)
+ }
+ }
+ Method(m400, 0, Serialized, 0)
+ {
+ Store(ind4, Local1)
+ Store(ix00, Local0)
+ m800(4, "m400")
+ Decrement(c300)
+ if (LEqual(c300, 0)) {
+ m300()
+ } else {
+ m400()
+ }
+ m801(4)
+ Add(cnt1, Local0, cnt1)
+ Store(DerefOf(Index(p400, Local1)), Local1)
+ if (LNotEqual(Local1, Local0)) {
+ err("", zFFF, 0x008, 0, 0, Local1, Local0)
+ }
+ }
+
+ Store(arg0, i000)
+
+ m100()
+
+ Concatenate("Maximal number of methods being in progress simultaneously ", max0, Debug)
+
+ // Check if exception takes place (AE_AML_METHOD_LIMIT)
+
+ if (arg0) {
+ CH04("", 0, 84, 0, 0x009, 0, 0) // AE_AML_METHOD_LIMIT
+ } else {
+ CH03("", 0, 0x00a, 0, 0)
+ }
+}
+
+ CH03("", 0, 0x00b, 0, 0)
+ SRMT("m18a-0")
+ m18a(0)
+ CH03("", 0, 0x00c, 0, 0)
+ SRMT("m18a-1")
+ m18a(1)
+ CH03("", 0, 0x00d, 0, 0)
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0304/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0304/MAIN.asl
new file mode 100644
index 000000000..f3e5c3054
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0304/MAIN.asl
@@ -0,0 +1,56 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+DefinitionBlock(
+ "B304.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0304/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0304/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0304/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0304/RUN.asl
new file mode 100644
index 000000000..58ca3e5bf
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0304/RUN.asl
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+if (STTT("Demo of bug 304", TCLD, 304, W017)) {
+ m1ed()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0305/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0305/DECL.asl
new file mode 100644
index 000000000..610b82ece
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0305/DECL.asl
@@ -0,0 +1,62 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+/*
+ * Bug 305:
+ *
+ * SUMMARY: Not owner recursive method call releases global object created by method
+ */
+
+Method(mff2)
+{
+ Method(m000, 1)
+ {
+ if (LNot(arg0)) {
+ Scope(\_SB) { Name(i2z6, 0xabcd0000) }
+ }
+
+ if (LNot(arg0)) {
+ m000(1)
+ }
+ Store("==================== 0", Debug)
+ Store(arg0, Debug)
+ Add(\_SB.i2z6, 3, Local0)
+
+
+ Store("==================== 1", Debug)
+ if (LNotEqual(Local0, 0xabcd0003)) {
+ err("", zFFF, 0x000, 0, 0, Local0, 0xabcd0003)
+ }
+ }
+
+ CH03("", 0, 0x000, 0, 0)
+ m000(0)
+ CH03("", 0, 0x001, 0, 0)
+}
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0305/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0305/MAIN.asl
new file mode 100644
index 000000000..7e5f728df
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0305/MAIN.asl
@@ -0,0 +1,56 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+DefinitionBlock(
+ "B305.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0305/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0305/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0305/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0305/RUN.asl
new file mode 100644
index 000000000..c46c1de2c
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0305/RUN.asl
@@ -0,0 +1,35 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+if (STTT("Demo of bug 305", TCLD, 305, W017)) {
+ SRMT("mff2")
+ mff2()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0306/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0306/DECL.asl
new file mode 100644
index 000000000..f169a185e
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0306/DECL.asl
@@ -0,0 +1,71 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+/*
+ * Bug 306:
+ *
+ * SUMMARY: Complex indirect storing to a LocalX violates the Writing to LocalX Rule
+ */
+
+
+Method(mff3)
+{
+ Method(m000, 1)
+ {
+ Store(0x12345678, arg0)
+ Store("87654321", arg0)
+ }
+
+ CH03("", 0, 0x000, 0, 0)
+
+ Store(0x12345678, Local0)
+ Store("87654321", Local0)
+
+ if (LNotEqual(ObjectType(Local0), 2)) {
+ err("", zFFF, 0x001, 0, 0, ObjectType(Local0), 2)
+ }
+
+ m000(Refof(Local1))
+
+ if (LNotEqual(ObjectType(Local1), 2)) {
+ err("", zFFF, 0x002, 0, 0, ObjectType(Local1), 2)
+ }
+
+ Store(Refof(Local2), Local3)
+ Store(Refof(Local3), Local4)
+
+ Store(0x12345678, DeRefof(Local4))
+ Store("87654321", DeRefof(Local4))
+
+ if (LNotEqual(ObjectType(Local2), 2)) {
+ err("", zFFF, 0x003, 0, 0, ObjectType(Local2), 2)
+ }
+
+ CH03("", 0, 0x004, 0, 0)
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0306/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0306/MAIN.asl
new file mode 100644
index 000000000..75f525aaf
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0306/MAIN.asl
@@ -0,0 +1,56 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+DefinitionBlock(
+ "B306.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0306/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/0306/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/0306/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0306/RUN.asl
new file mode 100644
index 000000000..b1e724ce9
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0306/RUN.asl
@@ -0,0 +1,35 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+if (STTT("Demo of bug 306", TCLD, 306, W017)) {
+ SRMT("mff3")
+ mff3()
+}
+FTTT()
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/Makefile b/tests/aslts/src/runtime/collections/bdemo/ACPICA/Makefile
new file mode 100644
index 000000000..edff1767f
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/Makefile
@@ -0,0 +1,6 @@
+# bdemo
+
+MDIRS= bdemo bdemof
+
+TOP= ../../../../..
+include $(TOP)/Makefile.switch
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/README b/tests/aslts/src/runtime/collections/bdemo/ACPICA/README
new file mode 100644
index 000000000..50f13aa64
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/README
@@ -0,0 +1,59 @@
+CONTENTS
+
+ The tests to demonstrate the encountered bugs of ACPICA and
+ prove their actual fixes. Pass of the test means the relevant
+ bug has been fixed. All the useful additional tests designed
+ during the work on bug fixes and related to those bug's nearest
+ conditions could be accumulated here as well.
+
+N - internal number of bug
+
+N_ASL - demo test for iASL type bug,
+ no .aml result code is expected or produced,
+ nothing to verify in run-mode.
+ Should be checked separately by running iASl
+ and checking the result of compilation.
+
+N_SPEC - bug of specification
+
+N_ML - demo test for Memory leak type bug,
+ usually contains the program allowing to compare
+ (to visually observe) the rate of execution before
+ and after fixing the bug
+
+N - independing on the actual component producing bug #N there
+ is an .aml result code of compilation of test which performs
+ some operations and verifies their results, so should be run.
+ PASS result of run means the bug #N has been fixed.
+
+ASL_RUNTIME
+
+ - when bug of iASL has been fixed add this test to bdemo/bdemo
+ to run it too
+
+ACTION_REQUIRED
+
+ - could not be run automatically,
+ to check this bug-fix some actions are required
+
+DEMO_IMPOSSIBLE
+
+ - impossible to verify bug-fix, so no demo test provided
+
+bdemo
+
+ to compile all the bdemo tests as one DefinitionBlock
+
+bdemof
+
+ to compile all the bdemof tests as one DefinitionBlock
+
+ The tests require utilyzing of the -f option on the ASL
+ compilation stage.
+
+ ASL Compiler:
+
+ -f - Ignore errors, force creation of AML output file(s)
+
+
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/bdemo/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/bdemo/DECL.asl
new file mode 100644
index 000000000..d11f00b0d
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/bdemo/DECL.asl
@@ -0,0 +1,443 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug-demo tests collection, to be compiled all together as one module
+ */
+
+/*
+ * 162, (causes exception during the table load)
+ */
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0000/DECL.asl")
+
+// 0001_ASL
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0002/DECL.asl")
+
+// 0003_ASL
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0004/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0005/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0006/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0007/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0008/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0009/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0010/DECL.asl")
+
+// 0011_ASL
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0012/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0013/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0014/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0015/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0016/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0017/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0018/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0019/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0020/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0021/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0022/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0023/DECL.asl")
+
+// 0024_ASL
+// 0025_SPEC
+// 0026_ASL_NOT_BUG_NOW
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0027/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0028/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0029/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0030/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0031_ASL_RUNTIME/DECL.asl")
+
+// 0032_ASL
+// 0033_ASL
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0034/DECL.asl")
+
+// 0035_ASL
+// 0036_ASL
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0037/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0038/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0039_ASL_RUNTIME/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0040/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0041/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0042/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0043/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0044/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0045/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0046/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0047/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0048/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0049/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0050/DECL.asl")
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0051_ASL_RUNTIME/DECL.asl")
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0052/DECL.asl")
+
+// 0053_ASL
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0054/DECL.asl")
+
+// 0055_ASL
+// 0056_ASL
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0057/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0058/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0059/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0060/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0061/DECL.asl")
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0062_ASL_RUNTIME/DECL.asl")
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0063/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0064/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0065/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0066/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0067/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0068/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0069/DECL.asl")
+
+// 0070_ASL
+// 0071_ASL
+// 0072_ASL
+// 0073_ASL
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0074/DECL.asl")
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0075/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0076/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0077/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0078/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0079/DECL.asl")
+
+// 0080_ASL
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0081/DECL.asl")
+
+// 0082_SPEC
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0083/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0084/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0085/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0086/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0087/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0088/DECL.asl")
+
+// 0089_SPEC
+// 0090_SPEC
+// 0091_SPEC
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0092/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0093/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0094/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0095/DECL.asl")
+
+// 0096_ASL
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0097/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0098/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0099/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0100/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0101/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0102/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0103/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0104/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0105/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0106/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0107/DECL.asl")
+
+// 0108_ASL
+// 0109_ASL
+// 0110_ML
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0111/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0112/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0113/DECL.asl")
+
+// 0114_ASL
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0115/DECL.asl")
+
+// 0116_ASL
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0117/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0118/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0119/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0120/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0121/DECL.asl")
+
+// 0122_ASL
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0123/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0124/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0125/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0126/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0127/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0128/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0129/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0130/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0131/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0132/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0133/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0134/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0135/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0136/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0137/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0138/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0139/DECL.asl")
+
+// 0140_ASL
+// 0141_SPEC
+// 0142_ASL
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0143/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0144/DECL.asl")
+
+// 0145_ASL
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0146/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0147/DECL.asl")
+
+// 0148_ASL
+// 0149_SPEC
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0150/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0151/DECL.asl")
+
+// 0152_ASL
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0153/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0154/DECL.asl")
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0155/DECL.asl")
+
+// 0156_ML
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0157/DECL.asl")
+
+// 0158_ML
+// 0159_ML
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0160/DECL.asl")
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0161/DECL.asl")
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0162/DECL.asl")
+
+// 0163_ML
+// 0164_ACTION_REQUIRED
+// 0165_ML
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0166_ML/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0167/DECL.asl")
+
+// 0168_ACT_REQ_NOPT
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0169/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0170/DECL.asl")
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0171_ACTION_REQUIRED/DECL.asl")
+
+// 0172_OUTSTAND_ALLOC
+// 0173_DEMO_IMPOSSIBLE
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0174/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0175/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0176/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0177/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0178/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0179/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0180_ASL_RUNTIME/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0181_ASL_RUNTIME/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0182/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0183/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0184/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0185/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0186/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0187/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0188/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0189/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0190/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0191/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0192/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0193/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0194/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0195/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0196/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0197/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0198/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0199/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0200/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0201_OUTSTAND_ALLOC/DECL.asl")
+
+// 0202_SEE_129
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0203/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0204/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0205/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0206/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0207/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0208/DECL.asl")
+
+// 0209_ML_SEE_135
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0210/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0211/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0212/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0213/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0214/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0215/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0216/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0217/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0218/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0219/DECL.asl")
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0220/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0221/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0222/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0223/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0224/DECL.asl")
+
+// 0225_ASL/DECL.asl")
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0226/DECL.asl")
+
+// 0227_ASL
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0228/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0229/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0230/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0231/DECL.asl")
+
+// 0232_F_OPTION
+// 0233_ASL
+
+// 0234_ASL_RUNTIME
+// 0235_ASL_RUNTIME
+
+// 0236_ASL
+// 0237_ASL
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0238/DECL.asl")
+
+// 0239_ACTION_REQUIRED
+// 0240_ACTION_REQUIRED
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0241/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0242/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0243/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0244/DECL.asl")
+
+// 0245_SPEC
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0246/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0247/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0248/DECL.asl")
+
+// 0249_DEMO_IMPOSSIBLE
+// 0250_DEMO_IMPOSSIBLE
+// 0251_ACTION_REQUIRED
+// 0252_ASL
+// 0253_DEMO_IMPOSSIBLE
+// 0254_DEMO_IMPOSSIBLE
+// 0255_DEMO_IMPOSSIBLE
+// 0256_DEMO_IMPOSSIBLE
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0257/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0258/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0259/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0260/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0261/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0262/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0263/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0264/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0265/DECL.asl")
+
+// 0266_DEMO_IMPOSSIBLE
+// 0267_DEMO_IMPOSSIBLE
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0268/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0269/DECL.asl")
+
+// 0270_SPEC
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0271/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0272/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0273/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0274/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0275/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0276_LARGE_REF_COUNT/DECL.asl")
+
+// 0277_ACTION_REQUIRED
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0278/DECL.asl")
+
+// 0279_ASL_RUNTIME
+// 0280_ASL_RUNTIME
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0281/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0282/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0283/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0284/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0285/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0286/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0287/DECL.asl")
+
+// 0288_ASL_RUNTIME
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0289/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0290/DECL.asl")
+
+// 0291_ASL_RUNTIME
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0292/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0293/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0294/DECL.asl")
+
+// 0295_ASL
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0296/DECL.asl")
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0297_ACTIONS_REQUIRED/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0298_ACTIONS_REQUIRED/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0299_ACTIONS_REQUIRED/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0300/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0301/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0302/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0303/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0304/DECL.asl")
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0305/DECL.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0306/DECL.asl")
+
+
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/bdemo/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/bdemo/MAIN.asl
new file mode 100644
index 000000000..3fb4356fc
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/bdemo/MAIN.asl
@@ -0,0 +1,74 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug-demo collection
+ */
+DefinitionBlock(
+ "bdemo.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/common/DECL.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/bdemo/DECL.asl")
+
+ Method(MAIN) {
+
+/*
+ // Flag of presence of demo-162 test.
+ if (id02) {
+ // Check, register errors and reset the global level execution exception.
+ md7d()
+ }
+
+ // Check, register errors and reset the global level execution exception
+ // md7d() - do it while BUF1 creation just after BUF0,
+ // otherwise, if doing that there, some other
+ // exception may distort picture.
+*/
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/bdemo/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/bdemo/Makefile b/tests/aslts/src/runtime/collections/bdemo/ACPICA/bdemo/Makefile
new file mode 100644
index 000000000..7ff45a841
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/bdemo/Makefile
@@ -0,0 +1,7 @@
+# bdemo
+
+AMLMOD= bdemo
+COLL= ../../..
+
+TOP= $(COLL)/../../..
+include $(COLL)/Makefile.install
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/bdemo/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/bdemo/RUN.asl
new file mode 100644
index 000000000..83c990611
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/bdemo/RUN.asl
@@ -0,0 +1,435 @@
+/*
+ * 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.
+ */
+
+Store("COLLECTION: all bug-demo tests", Debug)
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0000/RUN.asl")
+
+// 0001_ASL
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0002/RUN.asl")
+
+// 0003_ASL
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0004/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0005/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0006/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0007/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0008/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0009/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0010/RUN.asl")
+
+// 0011_ASL
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0012/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0013/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0014/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0015/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0016/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0017/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0018/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0019/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0020/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0021/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0022/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0023/RUN.asl")
+
+// 0024_ASL
+// 0025_SPEC
+// 0026_ASL_NOT_BUG_NOW
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0027/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0028/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0029/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0030/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0031_ASL_RUNTIME/RUN.asl")
+
+// 0032_ASL
+// 0033_ASL
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0034/RUN.asl")
+
+// 0035_ASL
+// 0036_ASL
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0037/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0038/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0039_ASL_RUNTIME/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0040/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0041/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0042/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0043/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0044/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0045/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0046/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0047/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0048/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0049/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0050/RUN.asl")
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0051_ASL_RUNTIME/RUN.asl")
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0052/RUN.asl")
+
+// 0053_ASL
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0054/RUN.asl")
+
+// 0055_ASL
+// 0056_ASL
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0057/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0058/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0059/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0060/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0061/RUN.asl")
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0062_ASL_RUNTIME/RUN.asl")
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0063/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0064/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0065/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0066/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0067/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0068/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0069/RUN.asl")
+
+// 0070_ASL
+// 0071_ASL
+// 0072_ASL
+// 0073_ASL
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0074/RUN.asl")
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0075/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0076/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0077/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0078/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0079/RUN.asl")
+
+// 0080_ASL
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0081/RUN.asl")
+
+// 0082_SPEC
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0083/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0084/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0085/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0086/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0087/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0088/RUN.asl")
+
+// 0089_SPEC
+// 0090_SPEC
+// 0091_SPEC
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0092/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0093/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0094/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0095/RUN.asl")
+
+// 0096_ASL
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0097/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0098/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0099/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0100/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0101/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0102/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0103/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0104/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0105/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0106/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0107/RUN.asl")
+
+// 0108_ASL
+// 0109_ASL
+// 0110_ML
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0111/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0112/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0113/RUN.asl")
+
+// 0114_ASL
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0115/RUN.asl")
+
+// 0116_ASL
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0117/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0118/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0119/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0120/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0121/RUN.asl")
+
+// 0122_ASL
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0123/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0124/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0125/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0126/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0127/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0128/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0129/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0130/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0131/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0132/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0133/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0134/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0135/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0136/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0137/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0138/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0139/RUN.asl")
+
+// 0140_ASL
+// 0141_SPEC
+// 0142_ASL
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0143/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0144/RUN.asl")
+
+// 0145_ASL
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0146/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0147/RUN.asl")
+
+// 0148_ASL
+// 0149_SPEC
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0150/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0151/RUN.asl")
+
+// 0152_ASL
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0153/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0154/RUN.asl")
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0155/RUN.asl")
+
+// 0156_ML
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0157/RUN.asl")
+
+// 0158_ML
+// 0159_ML
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0160/RUN.asl")
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0161/RUN.asl")
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0162/RUN.asl")
+
+// 0163_ML
+// 0164_ACTION_REQUIRED
+// 0165_ML
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0166_ML/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0167/RUN.asl")
+
+// 0168_ACT_REQ_NOPT
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0169/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0170/RUN.asl")
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0171_ACTION_REQUIRED/RUN.asl")
+
+// 0172_OUTSTAND_ALLOC
+// 0173_DEMO_IMPOSSIBLE
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0174/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0175/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0176/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0177/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0178/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0179/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0180_ASL_RUNTIME/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0181_ASL_RUNTIME/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0182/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0183/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0184/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0185/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0186/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0187/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0188/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0189/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0190/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0191/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0192/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0193/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0194/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0195/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0196/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0197/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0198/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0199/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0200/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0201_OUTSTAND_ALLOC/RUN.asl")
+
+// 0202_SEE_129
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0203/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0204/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0205/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0206/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0207/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0208/RUN.asl")
+
+// 0209_ML_SEE_135
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0210/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0211/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0212/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0213/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0214/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0215/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0216/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0217/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0218/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0219/RUN.asl")
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0220/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0221/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0222/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0223/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0224/RUN.asl")
+
+// 0225_ASL/RUN.asl")
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0226/RUN.asl")
+
+// 0227_ASL
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0228/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0229/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0230/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0231/RUN.asl")
+
+// 0232_F_OPTION
+// 0233_ASL
+
+// 0234_ASL_RUNTIME
+// 0235_ASL_RUNTIME
+
+// 0236_ASL
+// 0237_ASL
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0238/RUN.asl")
+
+// 0239_ACTION_REQUIRED
+// 0240_ACTION_REQUIRED
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0241/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0242/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0243/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0244/RUN.asl")
+
+// 0245_SPEC
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0246/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0247/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0248/RUN.asl")
+
+// 0249_DEMO_IMPOSSIBLE
+// 0250_DEMO_IMPOSSIBLE
+// 0251_ACTION_REQUIRED
+// 0252_ASL
+// 0253_DEMO_IMPOSSIBLE
+// 0254_DEMO_IMPOSSIBLE
+// 0255_DEMO_IMPOSSIBLE
+// 0256_DEMO_IMPOSSIBLE
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0257/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0258/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0259/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0260/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0261/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0262/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0263/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0264/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0265/RUN.asl")
+
+// 0266_DEMO_IMPOSSIBLE
+// 0267_DEMO_IMPOSSIBLE
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0268/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0269/RUN.asl")
+
+// 0270_SPEC
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0271/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0272/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0273/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0274/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0275/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0276_LARGE_REF_COUNT/RUN.asl")
+
+// 0277_ACTION_REQUIRED
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0278/RUN.asl")
+
+// 0279_ASL_RUNTIME
+// 0280_ASL_RUNTIME
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0281/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0282/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0283/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0284/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0285/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0286/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0287/RUN.asl")
+
+// 0288_ASL_RUNTIME
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0289/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0290/RUN.asl")
+
+// 0291_ASL_RUNTIME
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0292/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0293/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0294/RUN.asl")
+
+// 0295_ASL
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0296/RUN.asl")
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0297_ACTIONS_REQUIRED/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0298_ACTIONS_REQUIRED/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0299_ACTIONS_REQUIRED/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0300/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0301/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0302/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0303/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0304/RUN.asl")
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0305/RUN.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/0306/RUN.asl")
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/bdemof/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/bdemof/DECL.asl
new file mode 100644
index 000000000..10ca145f4
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/bdemof/DECL.asl
@@ -0,0 +1,43 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug-demo tests collection, to be compiled all together as one module
+ *
+ * The test requires utilyzing of
+ * the -f option on the ASL compilation
+ * stage.
+ *
+ * ASL Compiler:
+ *
+ * -f - Ignore errors, force creation of AML output file(s)
+ */
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0232_F_OPTION/DECL.asl")
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/bdemof/MAIN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/bdemof/MAIN.asl
new file mode 100644
index 000000000..672cb7789
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/bdemof/MAIN.asl
@@ -0,0 +1,75 @@
+/*
+ * 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.
+ */
+
+/*
+ * Bug-demo collection
+ *
+ * The test requires utilyzing of
+ * the -f option on the ASL compilation
+ * stage.
+ *
+ * ASL Compiler:
+ *
+ * -f - Ignore errors, force creation of AML output file(s)
+ */
+DefinitionBlock(
+ "bdemof.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/common/DECL.asl")
+ Include("../../../../../runtime/collections/bdemo/ACPICA/bdemof/DECL.asl")
+
+ Method(MAIN) {
+
+ // Flag of presence of demo-162 test.
+ if (id02) {
+ // Check, register errors and reset the global level execution exception.
+ md7d()
+ }
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/bdemo/ACPICA/bdemof/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/bdemof/Makefile b/tests/aslts/src/runtime/collections/bdemo/ACPICA/bdemof/Makefile
new file mode 100644
index 000000000..82fb1f63e
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/bdemof/Makefile
@@ -0,0 +1,8 @@
+# bdemof
+
+AMLMOD= bdemof
+COLL= ../../..
+
+ADD_ASLFLAGS=-f
+TOP= $(COLL)/../../..
+include $(COLL)/Makefile.install
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/bdemof/RUN.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/bdemof/RUN.asl
new file mode 100644
index 000000000..9f064a5ed
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/bdemof/RUN.asl
@@ -0,0 +1,33 @@
+/*
+ * 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.
+ */
+
+Store("COLLECTION: all bug-demo tests, which require -f option on the ASL compilation stage", Debug)
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/0232_F_OPTION/RUN.asl")
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/common/DECL.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/common/DECL.asl
new file mode 100644
index 000000000..11acd513b
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/common/DECL.asl
@@ -0,0 +1,33 @@
+/*
+ * 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.
+ */
+
+
+Include("../../../../../runtime/collections/bdemo/ACPICA/common/data.asl")
+Include("../../../../../runtime/collections/bdemo/ACPICA/common/proc.asl")
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/common/data.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/common/data.asl
new file mode 100644
index 000000000..974ffdbd2
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/common/data.asl
@@ -0,0 +1,287 @@
+/*
+ * 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.
+ */
+
+/*
+ * Common use Data
+ */
+
+Name(id00, 0xe0385bcd)
+Name(id01, 0) // Flag of error, used by demo-162
+Name(id02, 0) // Flag of presence of demo-162 test
+
+Name(id09, 0)
+Name(id0a, 0)
+Name(id0b, 0x89abcdef)
+
+Name(sd00, "String")
+
+Name(bd00, Buffer(32) {1,2,3,4})
+Name(bd02, Buffer() {0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,
+ 0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23})
+
+CreateField(bd00, 0, 8, bf30)
+CreateField(bd00, 8, 65, bf31)
+
+Name(pd00, Package(1){Buffer() {1,2,3,4}})
+
+Device(dd00) { Name(i900, 0xabcd0017) }
+Device(dd01) { Name(i900, 0xabcd0017) }
+Device(dd02) { Name(i900, 0xabcd0017) }
+Device(dd03) { Name(i900, 0xabcd0017) }
+
+Device(dd04) { Name(i900, 0xabcd0017) }
+Device(dd05) { Name(i900, 0xabcd0017) }
+Device(dd06) { Name(i900, 0xabcd0017) }
+Device(dd07) { Name(i900, 0xabcd0017) }
+
+OperationRegion(rd00, SystemMemory, 0x100, 0x100)
+Field(rd00, ByteAcc, NoLock, Preserve) {fd00,8,fd01,65}
+
+
+/*
+ * Global CreateField declarations for bug 161
+ */
+
+/* Comment/uncomment it */
+
+Name(id03, 8)
+Name(id04, 64)
+Name(id05, 80)
+Name(id06, 8)
+Name(id07, 80)
+Name(id08, 8)
+
+Name(bd03, Buffer() {0x10,0x5d,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,
+ 0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23})
+
+// Caused stack overflow
+CreateField(bd03, 32, id03, bf32)
+// CreateField(bd03, 32, 8, bf32)
+
+CreateField(bd03, 40, Add(id03, 8), bf33)
+
+// Caused stack overflow
+CreateField(bd03, id04, 8, bf34)
+// CreateField(bd03, 64, 8, bf34)
+
+CreateField(bd03, Add(id04, 8), 8, bf35)
+
+// Caused stack overflow
+CreateField(bd03, id05, id06, bf36)
+// CreateField(bd03, 80, 8, bf36)
+
+CreateField(bd03, Add(id07, 8), Add(id08, 8), bf37)
+
+// ==================== Additional:
+
+CreateBitField(bd03, 8, bf40)
+CreateByteField(bd03, 1, bf41)
+CreateWordField(bd03, 1, bf42)
+CreateDWordField(bd03, 1, bf43)
+CreateQWordField(bd03, 1, bf44)
+CreateField(bd03, 8, 8, bf45)
+
+Name(id21, 1)
+Name(id22, 8)
+
+CreateBitField(bd03, id22, bf46)
+CreateByteField(bd03, id21, bf47)
+CreateWordField(bd03, id21, bf48)
+CreateDWordField(bd03, id21, bf49)
+CreateQWordField(bd03, id21, bf4a)
+CreateField(bd03, 8, id22, bf4b)
+CreateField(bd03, id22, 8, bf4c)
+CreateField(bd03, id22, id22, bf4d)
+
+
+// ==================== bug 161.
+/* 161 */
+
+
+
+Mutex(mxd0, 0)
+Event(ed00)
+OperationRegion(rd01, SystemMemory, 0x100, 0x100)
+OperationRegion(rd02, SystemMemory, 0x100, 0x100)
+Name(pd01, Package(){0x89abcdef})
+
+Name(dd08, 0x12)
+Name(sd01, "123456789")
+Name(bd04, Buffer() {1,2,3,4,5,6,7,8,9})
+
+Name(id0c, 0x12)
+Name(sd02, "123456789")
+Name(bd05, Buffer() {1,2,3,4,5,6,7,8,9})
+Name(pd02, Package() {1,2,3,4,5,6,7,8,9})
+OperationRegion(rd03, SystemMemory, 0x100, 0x100)
+Field(rd03, ByteAcc, NoLock, Preserve) { fd02, 8 }
+Device(dd09) {}
+Event(ed01)
+Method(me53) { return (0x12) }
+Mutex(mxd1, 0)
+PowerResource(pwd0, 1, 0) {Method(m001){return (0)}}
+Processor(prd0, 0, 0xFFFFFFFF, 0) {}
+ThermalZone(tzd0) {}
+CreateField(bd05, 0, 8, bfd0)
+
+Name(id0d, 0)
+Name(id0e, 0)
+
+Method(me69) { return (0x12345678) }
+Name(pd03, Package() {me69})
+
+Name(id0f, 0)
+Name(id10, 0x1234)
+
+Name(pd04, Package(){0x10})
+Name(pd05, Package(){0x20})
+Name(pd06, Package(){0x30})
+Name(pd07, Package(){0x40})
+Name(pd08, Package(){0x50})
+Name(pd09, Package(){0x60})
+
+
+Name(id11, 0xfe7cb391d650a284)
+Name(bd06, Buffer() {1,2,3,4,0x59,6,7,8,9})
+CreateField(bd06, 40, 8, bfd1)
+OperationRegion(rd04, SystemMemory, 0x100, 0x100)
+Field(rd04, ByteAcc, NoLock, Preserve) {fd03,8}
+Name(pd0a, Package() {id11})
+Name(pd0b, Package() {bfd1})
+Name(pd0c, Package() {fd03})
+
+Name(sd03, "0123456789a")
+Name(bd07, Buffer(8193){})
+
+Name(sd04, "qwer0000")
+Name(bd08, Buffer(4) {1,0x77,3,4})
+Name(pd0d, Package(3) {5,0x77,7})
+
+Name(id12, 0x77)
+Name(pd0e, Package(1) {0x77})
+
+Name(id13, 0)
+Name(sd05, "q_er0000")
+Name(bd09, Buffer(4) {1,0,3,4})
+Name(pd0f, Package(3) {5,0,7})
+
+Name(id14, 0x11)
+Name(id15, 0x22)
+Name(id16, 0x33)
+Name(id17, 0x44)
+Name(id18, 0x55)
+Name(id19, 0x66)
+Name(id1a, 0x77)
+
+Name(id1b, 0xfedcba9876543210)
+Name(id1c, 0xfedcba9876543211)
+
+Name(id1d, 0xfedcba9876543210)
+Device(dd0b) {Name(s000, "DEV0")}
+Event(ed02)
+
+OperationRegion(rd05, SystemMemory, 0x100, 0x100)
+
+Name(bd0a, Buffer(9){0x10,0x11,0x12,0x13})
+CreateField(bd0a, 0, 8, bfd2)
+
+Name (rtd0, ResourceTemplate () {
+ IRQNoFlags () {1}
+ DMA (Compatibility, NotBusMaster, Transfer16) {2}
+ })
+
+Name (bd0b, Buffer () {
+ 0x22, 0x02, 0x00,
+ 0x2a, 0x04, 0x02,
+ 0x22, 0x02, 0x00,
+ 0x2a, 0x04, 0x02,
+ 0x79, 0x00,
+ })
+
+Device(dd0c){}
+Processor(prd1, 0, 0xFFFFFFFF, 0) {}
+OperationRegion(rd06, SystemMemory, 0x100, 0x100)
+PowerResource(pwd1, 1, 0) {Method(mmmm){return (0)}}
+ThermalZone(tzd1) {}
+Event(ed03)
+Mutex(mxd2, 0)
+
+Event(ed04)
+Name(id1e, 0x19283746)
+Name(pd10, Package(1){"Package"})
+
+Name (rtd1, ResourceTemplate () {
+ QWordSpace (0xc0, ResourceProducer, PosDecode, MinNotFixed, MaxNotFixed, 0x0a,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)})
+
+Name (bd0c, Buffer () {
+ 0x8a, 0x2b, 0x00, 0xc0, 0x00, 0x0a,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00})
+
+Device(dd0d){}
+Processor(prd2, 0, 0xFFFFFFFF, 0) {}
+OperationRegion(rd07, SystemMemory, 0x100, 0x100)
+PowerResource(pwd2, 1, 0) {Method(mmmm){return (0)}}
+ThermalZone(tzd2) {}
+Event(ed05)
+Mutex(mxd3, 0)
+
+
+Name(id1f, 49)
+Name(id20, 7)
+OperationRegion(rd08, SystemMemory, 0, Increment(id1f))
+Name(bd0d, Buffer(8) {0x80, 0x99, 0xff, 0x83, 0x84, 0x85, 0x86, 0x87})
+CreateField(bd0d, 8, Increment(id20), bfd3)
+
+Name(pd11, Package(2) {1})
+
+Name(bd0e, Buffer(4) {1,0x77,3,4})
+
+// Base of Buffer Field
+Name(bd0f, Buffer(9){})
+
+// Benchmark buffer
+Name(bd10, Buffer(9){})
+
+// It is used in b198 Name(id24, 0)
+// Name(id25, 0)
+
+// Dont use this name bd13!
+// Name(bd13, Buffer(9){})
+
+Name(id29, 0)
+Name(id2a, 0)
+
+Name(id2b, 0)
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/common/data.src.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/common/data.src.asl
new file mode 100644
index 000000000..d36da207b
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/common/data.src.asl
@@ -0,0 +1,280 @@
+/*
+ * 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.
+ */
+
+/*
+ * Common use Data
+ */
+
+Name(id00, 0xe0385bcd)
+Name(id01, 0) // Flag of error, used by demo-162
+Name(id02, 0) // Flag of presence of demo-162 test
+
+Name(id09, 0)
+Name(id0a, 0)
+Name(id0b, 0x89abcdef)
+
+Name(sd00, "String")
+
+Name(bd00, Buffer(32) {1,2,3,4})
+Name(bd02, Buffer() {0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,
+ 0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23})
+
+CreateField(bd00, 0, 8, bf30)
+CreateField(bd00, 8, 65, bf31)
+
+Name(pd00, Package(1){Buffer() {1,2,3,4}})
+
+Device(dd00) { Name(i900, 0xabcd0017) }
+Device(dd01) { Name(i900, 0xabcd0017) }
+Device(dd02) { Name(i900, 0xabcd0017) }
+Device(dd03) { Name(i900, 0xabcd0017) }
+
+Device(dd04) { Name(i900, 0xabcd0017) }
+Device(dd05) { Name(i900, 0xabcd0017) }
+Device(dd06) { Name(i900, 0xabcd0017) }
+Device(dd07) { Name(i900, 0xabcd0017) }
+
+OperationRegion(rd00, SystemMemory, 0x100, 0x100)
+Field(rd00, ByteAcc, NoLock, Preserve) {fd00,8,fd01,65}
+
+
+/*
+ * Global CreateField declarations for bug 161
+ */
+
+/*
+
+
+!!!!!!!!!!!!!! uncomment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+
+Name(id03, 8)
+Name(id04, 64)
+Name(id05, 80)
+Name(id06, 8)
+Name(id07, 80)
+Name(id08, 8)
+
+Name(bd03, Buffer() {0x10,0x5d,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,
+ 0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23})
+
+// Caused stack overflow
+// CreateField(bd03, 32, id03, bf32)
+CreateField(bd03, 32, 8, bf32)
+
+CreateField(bd03, 40, Add(id03, 8), bf33)
+
+// Caused stack overflow
+// CreateField(bd03, id04, 8, bf34)
+CreateField(bd03, 64, 8, bf34)
+
+CreateField(bd03, Add(id04, 8), 8, bf35)
+
+// Caused stack overflow
+// CreateField(bd03, id05, id06, bf36)
+CreateField(bd03, 80, 8, bf36)
+
+CreateField(bd03, Add(id07, 8), Add(id08, 8), bf37)
+
+// ==================== Additional:
+
+CreateBitField(bd03, 8, bf40)
+CreateByteField(bd03, 1, bf41)
+CreateWordField(bd03, 1, bf42)
+CreateDWordField(bd03, 1, bf43)
+CreateQWordField(bd03, 1, bf44)
+CreateField(bd03, 8, 8, bf45)
+
+Name(id21, 1)
+Name(id22, 8)
+
+CreateBitField(bd03, id22, bf46)
+CreateByteField(bd03, id21, bf47)
+CreateWordField(bd03, id21, bf48)
+CreateDWordField(bd03, id21, bf49)
+CreateQWordField(bd03, id21, bf4a)
+CreateField(bd03, 8, id22, bf4b)
+CreateField(bd03, id22, 8, bf4c)
+CreateField(bd03, id22, id22, bf4d)
+
+
+*/
+
+
+// ==================== bug 161.
+
+Mutex(mxd0, 0)
+Event(ed00)
+OperationRegion(rd01, SystemMemory, 0x100, 0x100)
+OperationRegion(rd02, SystemMemory, 0x100, 0x100)
+Name(pd01, Package(){0x89abcdef})
+
+Name(dd08, 0x12)
+Name(sd01, "123456789")
+Name(bd04, Buffer() {1,2,3,4,5,6,7,8,9})
+
+Name(id0c, 0x12)
+Name(sd02, "123456789")
+Name(bd05, Buffer() {1,2,3,4,5,6,7,8,9})
+Name(pd02, Package() {1,2,3,4,5,6,7,8,9})
+OperationRegion(rd03, SystemMemory, 0x100, 0x100)
+Field(rd03, ByteAcc, NoLock, Preserve) { fd02, 8 }
+Device(dd09) {}
+Event(ed01)
+Method(me53) { return (0x12) }
+Mutex(mxd1, 0)
+PowerResource(pwd0, 1, 0) {Method(m001){return (0)}}
+Processor(prd0, 0, 0xFFFFFFFF, 0) {}
+ThermalZone(tzd0) {}
+CreateField(bd05, 0, 8, bfd0)
+
+Name(id0d, 0)
+Name(id0e, 0)
+
+Method(me69) { return (0x12345678) }
+Name(pd03, Package() {me69})
+
+Name(id0f, 0)
+Name(id10, 0x1234)
+
+Name(pd04, Package(){0x10})
+Name(pd05, Package(){0x20})
+Name(pd06, Package(){0x30})
+Name(pd07, Package(){0x40})
+Name(pd08, Package(){0x50})
+Name(pd09, Package(){0x60})
+
+
+Name(id11, 0xfe7cb391d650a284)
+Name(bd06, Buffer() {1,2,3,4,0x59,6,7,8,9})
+CreateField(bd06, 40, 8, bfd1)
+OperationRegion(rd04, SystemMemory, 0x100, 0x100)
+Field(rd04, ByteAcc, NoLock, Preserve) {fd03,8}
+Name(pd0a, Package() {id11})
+Name(pd0b, Package() {bfd1})
+Name(pd0c, Package() {fd03})
+
+Name(sd03, "0123456789a")
+Name(bd07, Buffer(8193){})
+
+Name(sd04, "qwer0000")
+Name(bd08, Buffer(4) {1,0x77,3,4})
+Name(pd0d, Package(3) {5,0x77,7})
+
+Name(id12, 0x77)
+Name(pd0e, Package(1) {0x77})
+
+Name(id13, 0)
+Name(sd05, "q_er0000")
+Name(bd09, Buffer(4) {1,0,3,4})
+Name(pd0f, Package(3) {5,0,7})
+
+Name(id14, 0x11)
+Name(id15, 0x22)
+Name(id16, 0x33)
+Name(id17, 0x44)
+Name(id18, 0x55)
+Name(id19, 0x66)
+Name(id1a, 0x77)
+
+Name(id1b, 0xfedcba9876543210)
+Name(id1c, 0xfedcba9876543211)
+
+Name(id1d, 0xfedcba9876543210)
+Device(dd0b) {Name(s000, "DEV0")}
+Event(ed02)
+
+OperationRegion(rd05, SystemMemory, 0x100, 0x100)
+
+Name(bd0a, Buffer(9){0x10,0x11,0x12,0x13})
+CreateField(bd0a, 0, 8, bfd2)
+
+Name (rtd0, ResourceTemplate () {
+ IRQNoFlags () {1}
+ DMA (Compatibility, NotBusMaster, Transfer16) {2}
+ })
+
+Name (bd0b, Buffer () {
+ 0x22, 0x02, 0x00,
+ 0x2a, 0x04, 0x02,
+ 0x22, 0x02, 0x00,
+ 0x2a, 0x04, 0x02,
+ 0x79, 0xdf,
+ })
+
+Device(dd0c){}
+Processor(prd1, 0, 0xFFFFFFFF, 0) {}
+OperationRegion(rd06, SystemMemory, 0x100, 0x100)
+PowerResource(pwd1, 1, 0) {Method(mmmm){return (0)}}
+ThermalZone(tzd1) {}
+Event(ed03)
+Mutex(mxd2, 0)
+
+Event(ed04)
+Name(id1e, 0x19283746)
+Name(pd10, Package(1){"Package"})
+
+Name (rtd1, ResourceTemplate () {
+ QWordSpace (0xc0, ResourceProducer, PosDecode, MinNotFixed, MaxNotFixed, 0x0a,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)})
+
+Name (bd0c, Buffer () {
+ 0x8a, 0x2b, 0x00, 0xc0, 0x00, 0x0a,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00})
+
+Device(dd0d){}
+Processor(prd2, 0, 0xFFFFFFFF, 0) {}
+OperationRegion(rd07, SystemMemory, 0x100, 0x100)
+PowerResource(pwd2, 1, 0) {Method(mmmm){return (0)}}
+ThermalZone(tzd2) {}
+Event(ed05)
+Mutex(mxd3, 0)
+
+
+Name(id1f, 49)
+Name(id20, 7)
+OperationRegion(rd08, SystemMemory, 0, Increment(id1f))
+Name(bd0d, Buffer(8) {0x80, 0x99, 0xff, 0x83, 0x84, 0x85, 0x86, 0x87})
+CreateField(bd0d, 8, Increment(id20), bfd3)
+
+Name(pd11, Package(2) {1})
+
+Name(bd0e, Buffer(4) {1,0x77,3,4})
+
+// Base of Buffer Field
+Name(bd0f, Buffer(9){})
+
+// Benchmark buffer
+Name(bd10, Buffer(9){})
diff --git a/tests/aslts/src/runtime/collections/bdemo/ACPICA/common/proc.asl b/tests/aslts/src/runtime/collections/bdemo/ACPICA/common/proc.asl
new file mode 100644
index 000000000..153e8bf0e
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/common/proc.asl
@@ -0,0 +1,379 @@
+/*
+ * 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.
+ */
+
+/*
+ * Common use Methods
+ */
+
+/*
+ * Verification of Package
+ *
+ * arg0 - Package
+ * arg1 - size of Package
+ * arg2 - size of pre-initialized area
+ * arg3 - index of area to be written
+ * arg4 - size of area to be written
+ * arg5 - maximal number of pre-initialized elements to be verified
+ * arg6 - maximal number of written elements to be verified
+ */
+Method(md6a, 7)
+{
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+
+
+ // Writing
+
+ if (arg4) {
+ Store(arg4, lpN0)
+ Store(arg3, lpC0)
+
+ While (lpN0) {
+ TRC0(arg0, lpC0, lpC0)
+ Store(lpC0, Index(arg0, lpC0))
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+ }
+
+ // Verifying pre-initialized area
+
+ if (LAnd(arg2, arg5)) {
+ if (LLess(arg2, arg5)) {
+ Store(arg2, arg5)
+ }
+ Store(arg5, lpN0)
+ Store(0, lpC0)
+
+ While (lpN0) {
+ Store(DerefOf(Index(arg0, lpC0)), Local0)
+ TRC1(arg0, lpC0, Local0)
+ if (LNotEqual(Local0, lpC0)) {
+ err("", zFFF, 0x000, 0, 0, Local0, lpC0)
+ }
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+ }
+
+ if (arg2) {
+ // First pre-initialized element
+ Store(DerefOf(Index(arg0, 0)), Local0)
+ TRC1(arg0, 0, Local0)
+ if (LNotEqual(Local0, 0)) {
+ err("", zFFF, 0x001, 0, 0, Local0, 0)
+ }
+
+ // Last pre-initialized element
+ Subtract(arg2, 1, Local0)
+ Store(DerefOf(Index(arg0, Local0)), Local1)
+ TRC1(arg0, Local0, Local1)
+ if (LNotEqual(Local1, Local0)) {
+ err("", zFFF, 0x002, 0, 0, Local1, Local0)
+ }
+
+ // Middle pre-initialized element
+ Divide(arg2, 2, Local1, Local0)
+ Store(DerefOf(Index(arg0, Local0)), Local1)
+ TRC1(arg0, Local0, Local1)
+ if (LNotEqual(Local1, Local0)) {
+ err("", zFFF, 0x003, 0, 0, Local1, Local0)
+ }
+ }
+
+ // Verifying written area
+
+ if (LAnd(arg4, arg6)) {
+ if (LLess(arg4, arg6)) {
+ Store(arg4, arg6)
+ }
+ Store(arg6, lpN0)
+ Store(arg3, lpC0)
+
+ While (lpN0) {
+ Store(DerefOf(Index(arg0, lpC0)), Local0)
+ TRC1(arg0, lpC0, Local0)
+ if (LNotEqual(Local0, lpC0)) {
+ err("", zFFF, 0x004, 0, 0, Local0, lpC0)
+ }
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+ }
+
+ if (arg4) {
+ // First written element
+ Store(DerefOf(Index(arg0, arg3)), Local0)
+ TRC1(arg0, arg3, Local0)
+ if (LNotEqual(Local0, arg3)) {
+ err("", zFFF, 0x005, 0, 0, Local0, arg3)
+ }
+
+ // Last written element
+ Add(arg3, arg4, Local0)
+ Decrement(Local0)
+ Store(DerefOf(Index(arg0, Local0)), Local1)
+ TRC1(arg0, Local0, Local1)
+ if (LNotEqual(Local1, Local0)) {
+ err("", zFFF, 0x006, 0, 0, Local1, Local0)
+ }
+
+ // Middle written element
+ Divide(arg4, 2, Local0, Local1)
+ Add(arg3, Local1, Local0)
+ Store(DerefOf(Index(arg0, Local0)), Local1)
+ TRC1(arg0, Local0, Local1)
+ if (LNotEqual(Local1, Local0)) {
+ err("", zFFF, 0x007, 0, 0, Local1, Local0)
+ }
+ }
+
+ // Check exception on access to the uninitialized element
+
+ if (LLess(arg2, arg1)) {
+ if (arg4) {
+ if (LGreater(arg3, arg2)) {
+
+ // Just after pre-initialized area
+
+ TRC1(arg0, arg2, 0xf0f0f0f0)
+ Store(Index(arg0, arg2), Local0)
+ CH03("", 0, 0x100, 0, 0)
+ Store(DerefOf(Local0), Local1)
+ CH04("", 0, 62, 0, 0x101, 0, 0) // AE_AML_NO_RETURN_VALUE
+
+ // Just before written area
+
+ Subtract(arg3, 1, Local1)
+ TRC1(arg0, Local1, 0xf0f0f0f0)
+ Store(Index(arg0, Local1), Local0)
+ CH03("", 0, 0x102, 0, 0)
+ Store(DerefOf(Local0), Local1)
+ CH04("", 0, 62, 0, 0x103, 0, 0) // AE_AML_NO_RETURN_VALUE
+ }
+
+ // Just after pre-initialized and written areas
+
+ Add(arg3, arg4, Local7)
+ if (LGreater(arg2, Local7)) {
+ Store(arg2, Local7)
+ }
+
+ if (LLess(Local7, arg1)) {
+ TRC1(arg0, Local7, 0xf0f0f0f0)
+ Store(Index(arg0, Local7), Local0)
+ CH03("", 0, 0x104, 0, 0)
+ Store(DerefOf(Local0), Local1)
+ CH04("", 0, 62, 0, 0x105, 0, 0) // AE_AML_NO_RETURN_VALUE
+
+ // Last element of Package
+
+ Subtract(arg1, 1, Local1)
+ TRC1(arg0, Local1, 0xf0f0f0f0)
+ Store(Index(arg0, Local1), Local0)
+ CH03("", 0, 0x106, 0, 0)
+ Store(DerefOf(Local0), Local1)
+ CH04("", 0, 62, 0, 0x107, 0, 0) // AE_AML_NO_RETURN_VALUE
+ }
+ } else {
+ // Just after pre-initialized area
+
+ TRC1(arg0, arg2, 0xf0f0f0f0)
+ Store(Index(arg0, arg2), Local0)
+ CH03("", 0, 0x108, 0, 0)
+ Store(DerefOf(Local0), Local1)
+ CH04("", 0, 62, 0, 0x109, 0, 0) // AE_AML_NO_RETURN_VALUE
+
+ // Last element of Package
+
+ Subtract(arg1, 1, Local1)
+ TRC1(arg0, Local1, 0xf0f0f0f0)
+ Store(Index(arg0, Local1), Local0)
+ CH03("", 0, 0x10a, 0, 0)
+ Store(DerefOf(Local0), Local1)
+ CH04("", 0, 62, 0, 0x10b, 0, 0) // AE_AML_NO_RETURN_VALUE
+ }
+ }
+
+ // Check exception on out of Package access
+
+ TRC1(arg0, arg1, 0xf0f0f0f0)
+ CH03("", 0, 0x10c, 0, 0)
+ Index(arg0, arg1, Local0)
+ CH04("", 0, 55, 0, 0x10d, 0, 0) // AE_AML_PACKAGE_LIMIT
+
+ Add(arg1, 1, Local7)
+ if (LGreaterEqual(Local7, arg1)) {
+ TRC1(arg0, Local7, 0xf0f0f0f0)
+ CH03("", 0, 0x10e, 0, 0)
+ Index(arg0, Local7, Local0)
+ CH04("", 0, 55, 0, 0x10f, 0, 0) // AE_AML_PACKAGE_LIMIT
+ }
+
+ if (LGreaterEqual(0xffffffffffffffff, arg1)) {
+ TRC1(arg0, 0xffffffffffffffff, 0xf0f0f0f0)
+ CH03("", 0, 0x110, 0, 0)
+ Index(arg0, 0xffffffffffffffff, Local0)
+ CH04("", 0, 55, 0, 0x111, 0, 0) // AE_AML_PACKAGE_LIMIT
+ }
+
+ // Check near the maximal bound of a simple Package
+ // (not VarPackage) - 254, 255, 256, 257 elements:
+
+ md6b(arg0, arg1, arg2, arg3, arg4, 254)
+ md6b(arg0, arg1, arg2, arg3, arg4, 255)
+ md6b(arg0, arg1, arg2, arg3, arg4, 256)
+ md6b(arg0, arg1, arg2, arg3, arg4, 257)
+
+ TRC2("The test run up to the end")
+}
+
+/*
+ * Verification of Package
+ *
+ * arg0 - Package
+ * arg1 - size of Package
+ * arg2 - size of pre-initialized area
+ * arg3 - index of area to be written
+ * arg4 - size of area to be written
+ * arg5 - index of element of Package to be verified
+ */
+Method(md6b, 6)
+{
+ Store(0, Local7)
+
+ if (LLess(arg5, arg2)) {
+ Store(1, Local7)
+ } elseif (LGreaterEqual(arg5, arg3)) {
+ Add(arg3, arg4, Local0)
+ if (LLess(arg5, Local0)) {
+ Store(1, Local7)
+ }
+ }
+
+ if (Local7) {
+
+ // Was initialized
+
+ CH03("", 0, 0x112, 0, 0)
+ Store(DerefOf(Index(arg0, arg5)), Local0)
+ TRC1(arg0, arg5, Local0)
+ if (LNotEqual(Local0, arg5)) {
+ err("", zFFF, 0x008, 0, 0, Local0, arg5)
+ }
+ CH03("", 0, 0x113, 0, 0)
+
+ } elseif (LLess(arg5, arg1)) {
+
+ // Check exception on access to the uninitialized element
+
+ TRC1(arg0, arg5, 0xf0f0f0f0)
+ Store(Index(arg0, arg5), Local0)
+ CH03("", 0, 0x114, 0, 0)
+ Store(DerefOf(Local0), Local1)
+ CH04("", 0, 62, 0, 0x115, 0, 0) // AE_AML_NO_RETURN_VALUE
+
+ } else {
+
+ // Check exception on out of Package access
+
+ TRC1(arg0, arg5, 0xf0f0f0f0)
+ CH03("", 0, 0x116, 0, 0)
+ Index(arg0, arg5, Local0)
+ CH04("", 0, 55, 0, 0x117, 0, 0) // AE_AML_PACKAGE_LIMIT
+
+ }
+}
+
+/*
+ * Check, register errors and reset the global level
+ * execution exception AE_AML_DIVIDE_BY_ZERO caused in
+ * demo-test of bug 162.
+ */
+Method(md7d)
+{
+ Store(0, id01)
+ Store(ERRS, Local0)
+
+ /*
+ * Slacken expectations:
+ *
+ * - check opcode of the FIRST exception
+ * - number of exceptions NOT GREATER than two
+ */
+
+ /* Check opcode of the first exception */
+ CH04("", 1, 56, 0, 0x118, 0, 0) // AE_AML_DIVIDE_BY_ZERO
+
+ /* Number of exceptions not greater than two */
+ if (LGreater(EXC1, 2)) {
+ Store(1, id01)
+ }
+
+ /* Reset the number of exceptions */
+ Store(0, EXC1)
+
+ if (LNotEqual(ERRS, Local0)) {
+ Store(1, id01)
+ }
+
+ CH03("", 0, 0x119, 0, 0)
+ return (1)
+}
+
+/*
+ * Check result
+ * arg0 - result
+ * arg1 - expected type of result
+ * arg2 - expected result
+ * arg3 - index of checking
+ * arg4 - index of checking
+ * arg5 - tag, to check the value of object
+ */
+Method(mf88, 6)
+{
+ Store(ObjectType(arg0), Local0)
+
+ if (LNotEqual(Local0, arg1)) {
+ err("", zFFF, arg3, 0, 0, Local0, arg1)
+ }
+ if (arg5) {
+ if (LNotEqual(arg0, arg2)) {
+ err("", zFFF, arg4, 0, 0, arg0, arg2)
+ }
+ }
+}
+
+Method(m02a)
+{
+ Store("Check the error manually and remove call to m02a() when the bug is fixed.", Debug)
+
+ err("", zFFF, 0x800, 0, 0, 0, 0)
+}
diff --git a/tests/aslts/src/runtime/collections/bdemo/Makefile b/tests/aslts/src/runtime/collections/bdemo/Makefile
new file mode 100644
index 000000000..2804c8a22
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/Makefile
@@ -0,0 +1,6 @@
+# bdemo
+
+MDIRS= ACPICA
+
+TOP= ../../../..
+include $(TOP)/Makefile.switch
diff --git a/tests/aslts/src/runtime/collections/bdemo/README b/tests/aslts/src/runtime/collections/bdemo/README
new file mode 100644
index 000000000..29b5628c3
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/bdemo/README
@@ -0,0 +1,9 @@
+
+CONTENTS
+
+ bug demonstrating and proving bug fixes test collections
+
+ACPICA
+
+ bdemo tests for all bugs encountered and filed against ACPICA.
+ Nevertheless, these tests can be run on any ACPI implementation.
diff --git a/tests/aslts/src/runtime/collections/complex/FULL/DECL.asl b/tests/aslts/src/runtime/collections/complex/FULL/DECL.asl
new file mode 100644
index 000000000..39c6a2183
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/FULL/DECL.asl
@@ -0,0 +1,50 @@
+/*
+ * 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.
+ */
+
+// Complex tests collection
+
+Include("../../../../runtime/collections/complex/misc/misc.asl")
+Include("../../../../runtime/collections/complex/provoke/provoke.asl")
+
+Include("../../../../runtime/collections/complex/operand/tests/oconst/oconst.asl")
+Include("../../../../runtime/collections/complex/operand/tests/onamedglob/onamedglob1.asl")
+Include("../../../../runtime/collections/complex/operand/tests/onamedglob/onamedglob2.asl")
+Include("../../../../runtime/collections/complex/operand/tests/onamedloc/onamedloc1.asl")
+Include("../../../../runtime/collections/complex/operand/tests/onamedloc/onamedloc2.asl")
+Include("../../../../runtime/collections/complex/operand/tests/opackageel/opackageel.asl")
+Include("../../../../runtime/collections/complex/operand/tests/oreftonamed/oreftonamed1.asl")
+Include("../../../../runtime/collections/complex/operand/tests/oreftonamed/oreftonamed2.asl")
+Include("../../../../runtime/collections/complex/operand/tests/oarg/oarg.asl")
+Include("../../../../runtime/collections/complex/operand/tests/olocal/olocal.asl")
+Include("../../../../runtime/collections/complex/operand/tests/oreturn/oreturn.asl")
+Include("../../../../runtime/collections/complex/operand/tests/oreftopackageel/oreftopackageel.asl")
+
+Include("../../../../runtime/collections/complex/operand/tests/oconversion/oconversion.asl")
+Include("../../../../runtime/collections/complex/result/tests/rconversion/rconversion.asl")
diff --git a/tests/aslts/src/runtime/collections/complex/FULL/MAIN.asl b/tests/aslts/src/runtime/collections/complex/FULL/MAIN.asl
new file mode 100644
index 000000000..8bcca9ef1
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/FULL/MAIN.asl
@@ -0,0 +1,62 @@
+/*
+ * 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.
+ */
+
+// Run complex tests collection
+
+DefinitionBlock(
+ "complex.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../runtime/cntl/DECL.asl")
+ Include("../../../../runtime/common/conversion/oDECL.asl")
+ Include("../../../../runtime/common/conversion/rDECL.asl")
+ Include("../../../../runtime/collections/complex/operand/common/ocommon.asl")
+ Include("../../../../runtime/collections/complex/FULL/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(1)
+
+ // Run verification methods
+ Include("../../../../runtime/collections/complex/FULL/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/complex/FULL/RUN.asl b/tests/aslts/src/runtime/collections/complex/FULL/RUN.asl
new file mode 100644
index 000000000..5b1d88258
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/FULL/RUN.asl
@@ -0,0 +1,43 @@
+/*
+ * 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.
+ */
+
+Store("COLLECTION: all complex tests", Debug)
+
+Include("../../../../runtime/collections/complex/misc/RUN.asl")
+Include("../../../../runtime/collections/complex/provoke/RUN.asl")
+
+Include("../../../../runtime/collections/complex/operand/tests/oconst/RUN.asl")
+Include("../../../../runtime/collections/complex/operand/tests/onamedglob/RUN.asl")
+Include("../../../../runtime/collections/complex/operand/tests/onamedloc/RUN.asl")
+Include("../../../../runtime/collections/complex/operand/tests/opackageel/RUN.asl")
+Include("../../../../runtime/collections/complex/operand/tests/oreftonamed/RUN.asl")
+
+Include("../../../../runtime/collections/complex/operand/tests/oconversion/RUN.asl")
+Include("../../../../runtime/collections/complex/result/tests/rconversion/RUN.asl")
diff --git a/tests/aslts/src/runtime/collections/complex/Makefile b/tests/aslts/src/runtime/collections/complex/Makefile
new file mode 100644
index 000000000..7b00beb97
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/Makefile
@@ -0,0 +1,14 @@
+# complex
+
+MDIRS = \
+ misc \
+ provoke \
+ operand \
+ result \
+ badasl \
+ namespace
+
+# FULL
+
+TOP= ../../../..
+include $(TOP)/Makefile.switch
diff --git a/tests/aslts/src/runtime/collections/complex/README b/tests/aslts/src/runtime/collections/complex/README
new file mode 100644
index 000000000..4b3af8e3f
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/README
@@ -0,0 +1,40 @@
+
+CONTENTS
+
+ complex test collection
+
+
+badasl
+
+ ASL-incorrect tests compiled with -f option of ASL.
+ The tests which require utilyzing of the -f option
+ on the ASL compilation stage.
+
+ ASL Compiler:
+ -f - Ignore errors, force creation of AML output file(s)
+
+misc
+
+ miscellaneous not systematized tests
+
+operand
+
+ Source Operand complex test
+
+result
+
+ Result Object complex test
+
+provoke
+
+ check operators under the known critical conditions
+
+namespace
+
+ tests for the Name Space component
+
+FULL
+
+ full the complex test collection - all the tests
+ of the complex test collection are compiled together
+ as one DefinitionBlock
diff --git a/tests/aslts/src/runtime/collections/complex/badasl/MAIN.asl b/tests/aslts/src/runtime/collections/complex/badasl/MAIN.asl
new file mode 100644
index 000000000..fc6baf960
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/badasl/MAIN.asl
@@ -0,0 +1,58 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "badasl.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../runtime/cntl/DECL.asl")
+ Include("../../../../runtime/collections/complex/badasl/badasl.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+
+ Include("../../../../runtime/collections/complex/badasl/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/complex/badasl/Makefile b/tests/aslts/src/runtime/collections/complex/badasl/Makefile
new file mode 100644
index 000000000..58ebe22ea
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/badasl/Makefile
@@ -0,0 +1,8 @@
+# badasl
+
+AMLMOD= badasl
+COLL= ../..
+
+ADD_ASLFLAGS=-f
+TOP= $(COLL)/../../..
+include $(COLL)/Makefile.install
diff --git a/tests/aslts/src/runtime/collections/complex/badasl/RUN.asl b/tests/aslts/src/runtime/collections/complex/badasl/RUN.asl
new file mode 100644
index 000000000..382914e13
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/badasl/RUN.asl
@@ -0,0 +1,35 @@
+/*
+ * 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.
+ */
+
+
+if (STTT("ASL-incorrect tests compiled with -f option of ASL", TCLC, 18, W022)) {
+ m100()
+}
+FTTT()
diff --git a/tests/aslts/src/runtime/collections/complex/badasl/badasl.asl b/tests/aslts/src/runtime/collections/complex/badasl/badasl.asl
new file mode 100644
index 000000000..e4d56b699
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/badasl/badasl.asl
@@ -0,0 +1,248 @@
+/*
+ * 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.
+ */
+
+/*
+ * The tests which require utilyzing of
+ * the -f option on the ASL compilation
+ * stage.
+ *
+ * (ASL-incorrect tests compiled with -f option of ASL)
+ *
+ * ASL Compiler:
+ *
+ * -f - Ignore errors, force creation of AML output file(s)
+ */
+
+Name(z146, 146)
+
+/*
+ * Name(n000, 0)
+ * Error 1034 - ^ Name already exists in scope (N000)
+ */
+Method(m101)
+{
+ Name(ts, "m101")
+
+ Name (VV, 0x1234)
+ Store (32, Local0)
+
+ CH03(ts, z146, 0, 0, 0)
+
+ Name (VV, 0xBBBBAAAA)
+ Store (12, Local2)
+
+ CH04(ts, 0, 0xff, z146, 1, 0, 0)
+}
+
+/*
+ * The test is intended to check that interpreter issue an
+ * exception when detects that the actual number of elements
+ * in Package is greater than the value of NumElements. But,
+ * ACPICA ASL Compiler run with -f option replaces the specified
+ * value of NumElements by the actual number of elements in
+ * PackageList. So - no exceptions. We cant specify the ASL
+ * test - because we cant obtain AML code of Package with the
+ * actual number of elements in it greater than the value of
+ * NumElements.
+ *
+ * So, the test is inefficient.
+ *
+ * Name (p000, Package(3) {0xabcd0000, 0xabcd0001, 0xabcd0002, 0xabcd0003})
+ * Error 4046 - Initializer list too long ^
+ */
+Method(m102)
+{
+ Name(ts, "m102")
+
+ Name (p000, Package(3) {0xabcd0000, 0xabcd0001, 0xabcd0002, 0xabcd0003})
+
+ CH03(ts, z146, 2, 0, 0)
+ Store(DerefOf(Index(p000, 3)), Local0)
+ CH03(ts, z146, 2, 0, 0)
+}
+
+/*
+ * Exception on Acquire.
+ * Access to inappropriate type data.
+ */
+Method(m103)
+{
+ Name(ts, "m103")
+ Name(i900, 0xfe7cb391d65a0000)
+ Name(s900, "12340002")
+ Name(b900, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})
+ Name(b9Z0, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})
+ Name(p900, Package(1) {})
+
+ Event(e900)
+ Mutex(mx90, 0)
+ Device(d900) { Name(i900, 0xabcd0017) }
+ ThermalZone(tz90) {}
+ Processor(pr90, 0, 0xFFFFFFFF, 0) {}
+ PowerResource(pw90, 1, 0) {Method(mmmm){return (0)}}
+ OperationRegion(r900, SystemMemory, 0x100, 0x100)
+ OperationRegion(r9Z0, SystemMemory, 0x100, 0x100)
+
+ CreateField(b9Z0, 0, 8, bf90)
+ Field(r9Z0, ByteAcc, NoLock, Preserve) {f900,8,f901,8,f902,8,f903,8}
+ BankField(r9Z0, f901, 0, ByteAcc, NoLock, Preserve) {bn90,4}
+ IndexField(f902, f903, ByteAcc, NoLock, Preserve) {if90,8,if91,8}
+
+ /* Acquire */
+
+ CH03(ts, z146, 0, 0, 0)
+ Acquire(i900, 0xffff)
+ CH04(ts, 0, 0xff, z146, 0x025, 0, 0)
+
+ CH03(ts, z146, 0, 0, 0)
+ Acquire(s900, 0xffff)
+ CH04(ts, 0, 0xff, z146, 0x025, 0, 0)
+
+ CH03(ts, z146, 0, 0, 0)
+ Acquire(b900, 0xffff)
+ CH04(ts, 0, 0xff, z146, 0x025, 0, 0)
+
+ CH03(ts, z146, 0, 0, 0)
+ Acquire(p900, 0xffff)
+ CH04(ts, 0, 0xff, z146, 0x025, 0, 0)
+
+ CH03(ts, z146, 0, 0, 0)
+ Acquire(e900, 0xffff)
+ CH04(ts, 0, 0xff, z146, 0x025, 0, 0)
+
+ CH03(ts, z146, 0, 0, 0)
+ Acquire(d900, 0xffff)
+ CH04(ts, 0, 0xff, z146, 0x025, 0, 0)
+
+ CH03(ts, z146, 0, 0, 0)
+ Acquire(tz90, 0xffff)
+ CH04(ts, 0, 0xff, z146, 0x025, 0, 0)
+
+ CH03(ts, z146, 0, 0, 0)
+ Acquire(pr90, 0xffff)
+ CH04(ts, 0, 0xff, z146, 0x025, 0, 0)
+
+ CH03(ts, z146, 0, 0, 0)
+ Acquire(pw90, 0xffff)
+ CH04(ts, 0, 0xff, z146, 0x025, 0, 0)
+
+ CH03(ts, z146, 0, 0, 0)
+ Acquire(r900, 0xffff)
+ CH04(ts, 0, 0xff, z146, 0x025, 0, 0)
+
+ CH03(ts, z146, 0, 0, 0)
+ Acquire(bf90, 0xffff)
+ CH04(ts, 0, 0xff, z146, 0x025, 0, 0)
+
+ CH03(ts, z146, 0, 0, 0)
+ Acquire(f900, 0xffff)
+ CH04(ts, 0, 0xff, z146, 0x025, 0, 0)
+
+ CH03(ts, z146, 0, 0, 0)
+ Acquire(bn90, 0xffff)
+ CH04(ts, 0, 0xff, z146, 0x025, 0, 0)
+
+ CH03(ts, z146, 0, 0, 0)
+ Acquire(if90, 0xffff)
+ CH04(ts, 0, 0xff, z146, 0x025, 0, 0)
+
+
+ /* Release */
+
+ CH03(ts, z146, 0, 0, 0)
+ Release(i900)
+ CH04(ts, 0, 0xff, z146, 0x025, 0, 0)
+
+ CH03(ts, z146, 0, 0, 0)
+ Release(s900)
+ CH04(ts, 0, 0xff, z146, 0x025, 0, 0)
+
+ CH03(ts, z146, 0, 0, 0)
+ Release(b900)
+ CH04(ts, 0, 0xff, z146, 0x025, 0, 0)
+
+ CH03(ts, z146, 0, 0, 0)
+ Release(p900)
+ CH04(ts, 0, 0xff, z146, 0x025, 0, 0)
+
+ CH03(ts, z146, 0, 0, 0)
+ Release(e900)
+ CH04(ts, 0, 0xff, z146, 0x025, 0, 0)
+
+ CH03(ts, z146, 0, 0, 0)
+ Release(d900)
+ CH04(ts, 0, 0xff, z146, 0x025, 0, 0)
+
+ CH03(ts, z146, 0, 0, 0)
+ Release(tz90)
+ CH04(ts, 0, 0xff, z146, 0x025, 0, 0)
+
+ CH03(ts, z146, 0, 0, 0)
+ Release(pr90)
+ CH04(ts, 0, 0xff, z146, 0x025, 0, 0)
+
+ CH03(ts, z146, 0, 0, 0)
+ Release(pw90)
+ CH04(ts, 0, 0xff, z146, 0x025, 0, 0)
+
+ CH03(ts, z146, 0, 0, 0)
+ Release(r900)
+ CH04(ts, 0, 0xff, z146, 0x025, 0, 0)
+
+ CH03(ts, z146, 0, 0, 0)
+ Release(bf90)
+ CH04(ts, 0, 0xff, z146, 0x025, 0, 0)
+
+ CH03(ts, z146, 0, 0, 0)
+ Release(f900)
+ CH04(ts, 0, 0xff, z146, 0x025, 0, 0)
+
+ CH03(ts, z146, 0, 0, 0)
+ Release(bn90)
+ CH04(ts, 0, 0xff, z146, 0x025, 0, 0)
+
+ CH03(ts, z146, 0, 0, 0)
+ Release(if90)
+ CH04(ts, 0, 0xff, z146, 0x025, 0, 0)
+}
+
+// Run-method
+Method(m100)
+{
+ SRMT("m101")
+ m101()
+
+ SRMT("m102")
+ m102()
+
+ SRMT("m103")
+ m103()
+}
+
diff --git a/tests/aslts/src/runtime/collections/complex/misc/MAIN.asl b/tests/aslts/src/runtime/collections/complex/misc/MAIN.asl
new file mode 100644
index 000000000..385ddc853
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/misc/MAIN.asl
@@ -0,0 +1,58 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "misc.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../runtime/cntl/DECL.asl")
+ Include("../../../../runtime/collections/complex/misc/misc.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+
+ Include("../../../../runtime/collections/complex/misc/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/complex/misc/Makefile b/tests/aslts/src/runtime/collections/complex/misc/Makefile
new file mode 100644
index 000000000..cc9b93130
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/misc/Makefile
@@ -0,0 +1,7 @@
+# misc
+
+AMLMOD= misc
+COLL= ../..
+
+TOP= $(COLL)/../../..
+include $(COLL)/Makefile.install
diff --git a/tests/aslts/src/runtime/collections/complex/misc/RUN.asl b/tests/aslts/src/runtime/collections/complex/misc/RUN.asl
new file mode 100644
index 000000000..2abd6b667
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/misc/RUN.asl
@@ -0,0 +1,35 @@
+/*
+ * 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.
+ */
+
+
+if (STTT("Miscellaneous not systematized tests", TCLC, 0, W00e)) {
+ MSC0()
+}
+FTTT()
diff --git a/tests/aslts/src/runtime/collections/complex/misc/misc.asl b/tests/aslts/src/runtime/collections/complex/misc/misc.asl
new file mode 100644
index 000000000..3bd2857de
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/misc/misc.asl
@@ -0,0 +1,1324 @@
+/*
+ * 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.
+ */
+
+/*
+ * Miscellaneous not systematized tests
+ */
+
+Name(z054, 54)
+
+// Looks like Default is at all not implemented
+
+Method(m110, 1)
+{
+ Store(0, Local0)
+ Store(0, Local1)
+
+ // Bug XXX. This Switch code below causes ASL-compiler to fail
+ // for full.asl file with the diagnostics like this:
+ // nssearch-0397: *** Error: NsSearchAndEnter:
+ // Bad character in ACPI Name: 5B5F545F
+ // and fall into recursion:
+ // Remark 3040 - Recursive method call ^ (ERR_)
+ // Note: (0x5B5F545F is equal to "[_T_")
+ Switch (Local1) {
+ Case (5) {
+ Store(5, Local0)
+ }
+ Default {
+ Store(1, Local0)
+ }
+ }
+
+ if (LNotEqual(Local0, 1)) {
+ err(arg0, z054, 0, 0, 0, Local0, 0)
+ }
+}
+
+// Concatenate operator affects the object passed as Source2 parameter
+
+Method(m111, 1) {
+ Concatenate("qwertyuiop", arg0)
+}
+
+Method(m112, 1)
+{
+ Store(0, Local0)
+ m111(Local0)
+ if (LNotequal(Local0, 0)) {
+ err(arg0, z054, 1, 0, 0, Local0, 0)
+ }
+
+ Store(0, Local0)
+ Concatenate("qwertyuiop", Local0)
+ if (LNotequal(Local0, 0)) {
+ err(arg0, z054, 2, 0, 0, Local0, 0)
+ }
+}
+
+// Unexpected value returned by ObjectType for Field Unit objects
+
+// The field passed as explicit reference (RefOf)
+Method(m113, 1)
+{
+ OperationRegion(r000, SystemMemory, 0x100, 0x100)
+ Field (r000, ByteAcc, NoLock, Preserve) {
+ f000, 32
+ }
+
+ Store(ObjectType(RefOf(f000)), Local0)
+ if (LNotEqual(Local0, 5)) {
+ err(arg0, z054, 3, 0, 0, Local0, 0)
+ }
+}
+
+// The BankField corrupts the contents of OperationRegion
+
+Method(m114, 1)
+{
+ OperationRegion(r000, SystemMemory, 0x100, 0x100)
+ Field (r000, ByteAcc, NoLock, Preserve) {
+ bnk0, 8
+ }
+
+ BankField (r000, bnk0, 0, ByteAcc, NoLock, Preserve) {
+ Offset(16),
+ bf00, 8,
+ }
+
+ BankField (r000, bnk0, 1, ByteAcc, NoLock, Preserve) {
+ Offset(17),
+ bf01, 8,
+ }
+
+ // Deal with 0-th bank layout:
+
+ Store(0, bnk0)
+ if (LNotEqual(bnk0, 0)) {
+ err(arg0, z054, 4, 0, 0, bnk0, 0)
+ }
+
+ Store(0x87, bf00)
+ if (LNotEqual(bnk0, 0)) {
+ err(arg0, z054, 5, 0, 0, bnk0, 0)
+ }
+
+ if (LNotEqual(bf00, 0x87)) {
+ err(arg0, z054, 6, 0, 0, bf00, 0x87)
+ }
+
+ // Deal with 1-th bank layout:
+
+ Store(1, bnk0)
+ if (LNotEqual(bnk0, 1)) {
+ err(arg0, z054, 7, 0, 0, bnk0, 1)
+ }
+
+ Store(0x96, bf01)
+
+ if (X192) {
+ if (LNotEqual(bnk0, 1)) {
+ err(arg0, z054, 8, 0, 0, bnk0, 1)
+ }
+ }
+
+ if (LNotEqual(bf01, 0x96)) {
+ err(arg0, z054, 9, 0, 0, bf01, 0x96)
+ }
+}
+
+// ToBuffer caused destroying of source buffer passed by Data parameter
+Method(m115, 1)
+{
+ Store(Buffer(4){10, 11, 12, 13}, Local0)
+ Store(ObjectType(Local0), Local1)
+
+ if (LNotEqual(Local1, c00b)) {
+ err(arg0, z054, 9, 0, 0, Local1, 0)
+ }
+
+ ToBuffer(Local0, Local2)
+
+ Store(0xaa, Local3)
+
+ Store(ObjectType(Local0), Local3)
+
+ if (LNotEqual(Local3, c00b)) {
+ err(arg0, z054, 10, 0, 0, Local3, 0)
+ }
+}
+
+// ObjectType() operator should be allowed to deal with the
+// uninitialized objects.
+
+// Uncomment this when the problem will be fixed and compile
+// will not fail in this case like it do now: "Method local
+// variable is not initialized (Local0)".
+Method(m116, 1)
+{
+ Store(ObjectType(Local0), Local1)
+}
+
+// Now, this cause exception but should not
+Method(m117, 2)
+{
+ Name(ts, "m117")
+
+ if (arg1) {
+ Store(0, Local0)
+ }
+
+ CH03(ts, z054, 0x100, 0, 0)
+
+ Store(ObjectType(Local0), Local1)
+
+ if (LNotEqual(Local1, 0)) {
+ err(arg0, z054, 11, 0, 0, Local1, 0)
+ }
+
+ CH03(ts, z054, 0x101, 0, 0)
+}
+
+Method(m118, 1)
+{
+ m117(arg0, 0)
+}
+
+/*
+ * Bug 12, Bugzilla 5360.
+ * DerefOf. If the Source evaluates to a string, the string is evaluated
+ * as an ASL name (relative to the current scope) and the contents of that
+ * object are returned.
+ */
+Method(m119, 1)
+{
+ Name(b000, Buffer(){ 1, 2, 3, 4, 5, 6, 7, 8 })
+
+ Store("b000", Local0)
+
+ Store("================ 0:", Debug)
+
+ Store(DerefOf(Local0), Local1)
+
+ Store("================ 1:", Debug)
+
+ Store(ObjectType(Local1), Local2)
+
+ if (LNotEqual(Local2, 3)) {
+ err(arg0, z054, 12, 0, 0, Local2, 0)
+ }
+
+ Store("================ 2:", Debug)
+
+ Store(Local1, Debug)
+ Store(Local2, Debug)
+
+ CH03(arg0, z054, 0x102, 0, 0)
+
+ return (0)
+}
+
+/*
+// Currently, incorrect test
+// The size of Strings in Package is determined incorrectly
+Method(m11a, 1)
+{
+ Name(p000, Package() {
+ "012",
+ "0123456789abcdef",
+ Buffer() {17,28,69,11,22,34,35,56,67,11},
+ "012345",
+ })
+
+ Store(DeRefOf(Index(p000, 1)), Local0)
+ Store(0, Index(Local0, 5))
+
+ Store(0, Index(p000, 1))
+
+ Store(DeRefOf(Index(p000, 1)), Local0)
+// Store(0, Index(Local0, 5))
+
+ Store("=================:", Debug)
+ Store(Local0, Debug)
+
+ // 0
+ Store(DeRefOf(Index(p000, 0)), Local2)
+ Store(SizeOf(Local2), Local3)
+
+ Store(Local3, Debug)
+
+ if (LNotEqual(Local3, 3)) {
+ err(arg0, z054, 13, 0, 0, Local3, 3)
+ }
+
+ // 1
+ Store(DeRefOf(Index(p000, 1)), Local2)
+ Store(SizeOf(Local2), Local3)
+
+ Store(Local3, Debug)
+
+ if (LNotEqual(Local3, 9)) {
+ err(arg0, z054, 14, 0, 0, Local3, 9)
+ }
+
+ // 2
+ Store(DeRefOf(Index(p000, 2)), Local2)
+ Store(SizeOf(Local2), Local3)
+
+ Store(Local3, Debug)
+
+ if (LNotEqual(Local3, 6)) {
+ err(arg0, z054, 15, 0, 0, Local3, 6)
+ }
+
+ Store(SizeOf(p000), Local0)
+
+ Store(Local0, Debug)
+
+ if (LNotEqual(Local0, 3)) {
+ err(arg0, z054, 16, 0, 0, Local0, 3)
+ }
+}
+*/
+
+/*
+// ATTENTION: such type tests have to be added and extended
+Method(m11b, 1)
+{
+ Name(p000, Package() {
+ 0x12345678, 0x90abcdef,
+ })
+ Name(b000, Buffer() {0x78,0x56,0x34,0x12, 0xef,0xcd,0xab,0x90})
+
+ Store(DeRefOf(Index(p000, 0)), Local7)
+
+ if (LEqual(b000, Local7)) {
+ err(arg0, z054, 17, 0, 0, b000, Local7)
+ }
+
+ if (LEqual(Local7, b000)) {
+ err(arg0, z054, 18, 0, 0, Local7, b000)
+ }
+
+ return (0)
+}
+*/
+
+
+// Bug 54: All the ASL Operators which deal with at least two Buffer type
+// objects cause unexpected exceptions in cases when both Buffer type objects
+// are passed immediately
+Method(m11c, 1)
+{
+ Name(ts, "m11c")
+
+ CH03(ts, z054, 0x103, 0, 0)
+
+ Add( Buffer() {0x79}, Buffer() {0x79} )
+
+ CH03(ts, z054, 0x104, 0, 0)
+}
+
+// Bug 57: The empty Return operator (without specifying the returning value)
+// is processed incorrectly
+Method(m11d, 1) {
+
+ Method(m11e, 2) {
+
+ if (arg1) {
+ return (0x1234)
+
+ // ASL-compiler report Warning in this case
+ // Store("ERROR 0: m121, after Return !!!", Debug)
+ }
+ err(arg0, z054, 19, 0, 0, 0, 0)
+
+ return (0x5678)
+ }
+
+ Method(m11f, 2) {
+
+ if (arg1) {
+
+ return
+
+ // ASL-compiler DOESN'T report Warning in this case!!!
+ // And the Store operator below is actually processed!!!
+
+ err(arg0, z054, 20, 0, 0, 0, 0)
+ }
+
+ err(arg0, z054, 21, 0, 0, 0, 0)
+
+ return
+ }
+
+ Store(m11e(arg0, 1), Local7)
+
+ m11f(arg0, 1)
+
+ return (0)
+}
+
+/*
+ * Obsolete:
+ * Bug 59: The String to Buffer Rule from the Table 17-8 "Object Conversion
+ * Rules" says "If the string is shorter than the buffer, the buffer size is
+ * reduced".
+ * Updated specs 12.03.05:
+ * "If the string is shorter than the buffer,
+ * the remaining buffer bytes are set to zero".
+ */
+Method(m11e, 1) {
+ Name(str0, "\x01\x02")
+ Name(buf0, Buffer(){0x03, 0x04, 0x05, 0x06})
+
+ Store(str0, buf0)
+
+ /*
+ * Obsolete:
+ *
+ * if (LNotEqual(Sizeof(buf0), 3)) {
+ * // Error: length of the buffer not reduced to the stored string
+ * err(arg0, z054, 22, 0, 0, 0, 0)
+ * }
+ *
+ * New:
+ */
+ if (LNotEqual(buf0, Buffer(){0x01, 0x02, 0, 0})) {
+ err(arg0, z054, 22, 0, 0, buf0, Buffer(){0x01, 0x02, 0, 0})
+ }
+ return (0)
+}
+
+// Bug 65: The Buffer Field type objects should be passed
+// to Methods without any conversion, but instead
+// they are converted to Buffers or Integers depending
+// on the size of the Buffer Field object and the
+// run mode (32-bit or 64/bit mode).
+//
+// CANCELED: now it should perform opposite assertion because
+// this bug was canceled.
+Method(m11f, 1) {
+ Name(b000, Buffer(200) {})
+ CreateField(b000, 0, 31, bf00)
+ CreateField(b000, 31, 32, bf01)
+ CreateField(b000, 63, 33, bf02)
+
+ CreateField(b000, 96, 63, bf03)
+ CreateField(b000, 159, 64, bf04)
+ CreateField(b000, 223, 65, bf05)
+
+ Method(m000, 4)
+ {
+ Store(ObjectType(arg1), Local0)
+ if (LNotEqual(Local0, arg2)) {
+ err(arg0, z054, 23, 0, 0, Local0, arg2)
+ }
+
+ Store(SizeOf(arg1), Local0)
+ if (LNotEqual(Local0, arg3)) {
+ err(arg0, z054, 24, 0, 0, Local0, arg3)
+ }
+ }
+
+ Method(m001, 1)
+ {
+ Store(ObjectType(bf00), Local0)
+ if (LNotEqual(Local0, 14)) {
+ err(arg0, z054, 25, 0, 0, Local0, 14)
+ }
+ Store(ObjectType(bf01), Local0)
+ if (LNotEqual(Local0, 14)) {
+ err(arg0, z054, 26, 0, 0, Local0, 14)
+ }
+ Store(ObjectType(bf02), Local0)
+ if (LNotEqual(Local0, 14)) {
+ err(arg0, z054, 27, 0, 0, Local0, 14)
+ }
+ Store(ObjectType(bf03), Local0)
+ if (LNotEqual(Local0, 14)) {
+ err(arg0, z054, 28, 0, 0, Local0, 14)
+ }
+ Store(ObjectType(bf04), Local0)
+ if (LNotEqual(Local0, 14)) {
+ err(arg0, z054, 29, 0, 0, Local0, 14)
+ }
+ Store(ObjectType(bf05), Local0)
+ if (LNotEqual(Local0, 14)) {
+ err(arg0, z054, 30, 0, 0, Local0, 14)
+ }
+
+ if (F64) {
+ m000(arg0, bf00, 1, 8)
+ m000(arg0, bf01, 1, 8)
+ m000(arg0, bf02, 1, 8)
+ m000(arg0, bf03, 1, 8)
+ m000(arg0, bf04, 1, 8)
+ m000(arg0, bf05, 3, 9)
+ } else {
+ m000(arg0, bf00, 1, 4)
+ m000(arg0, bf01, 1, 4)
+ m000(arg0, bf02, 3, 5)
+ m000(arg0, bf03, 3, 8)
+ m000(arg0, bf04, 3, 8)
+ m000(arg0, bf05, 3, 9)
+ }
+ }
+
+ m001(arg0)
+}
+
+// Bug 66: The Field Unit type objects should be passed
+// to Methods without any conversion, but instead
+// they are converted to Buffers or Integers depending
+// on the size of the Buffer Field object and the
+// run mode (32-bit or 64/bit mode).
+//
+// CANCELED: now it should perform opposite assertion because
+// this bug was canceled.
+Method(m120, 1) {
+ OperationRegion(r000, SystemMemory, 0x100, 0x100)
+ Field(r000, ByteAcc, NoLock, Preserve) {
+ f000, 31,
+ f001, 32,
+ f002, 33,
+ f003, 63,
+ f004, 64,
+ f005, 65
+ }
+
+ Method(m000, 4)
+ {
+ Store(ObjectType(arg1), Local0)
+ if (LNotEqual(Local0, arg2)) {
+ err(arg0, z054, 31, 0, 0, Local0, arg2)
+ }
+
+ Store(SizeOf(arg1), Local0)
+ if (LNotEqual(Local0, arg3)) {
+ err(arg0, z054, 32, 0, 0, Local0, arg3)
+ }
+ }
+
+ Method(m001, 1)
+ {
+ Store(ObjectType(f000), Local0)
+ if (LNotEqual(Local0, 5)) {
+ err(arg0, z054, 33, 0, 0, Local0, 5)
+ }
+ Store(ObjectType(f001), Local0)
+ if (LNotEqual(Local0, 5)) {
+ err(arg0, z054, 34, 0, 0, Local0, 5)
+ }
+ Store(ObjectType(f002), Local0)
+ if (LNotEqual(Local0, 5)) {
+ err(arg0, z054, 35, 0, 0, Local0, 5)
+ }
+ Store(ObjectType(f003), Local0)
+ if (LNotEqual(Local0, 5)) {
+ err(arg0, z054, 36, 0, 0, Local0, 5)
+ }
+ Store(ObjectType(f004), Local0)
+ if (LNotEqual(Local0, 5)) {
+ err(arg0, z054, 37, 0, 0, Local0, 5)
+ }
+ Store(ObjectType(f005), Local0)
+ if (LNotEqual(Local0, 5)) {
+ err(arg0, z054, 38, 0, 0, Local0, 5)
+ }
+
+ if (F64) {
+ m000(arg0, f000, 1, 8)
+ m000(arg0, f001, 1, 8)
+ m000(arg0, f002, 1, 8)
+ m000(arg0, f003, 1, 8)
+ m000(arg0, f004, 1, 8)
+ m000(arg0, f005, 3, 9)
+ } else {
+ m000(arg0, f000, 1, 4)
+ m000(arg0, f001, 1, 4)
+ m000(arg0, f002, 3, 5)
+ m000(arg0, f003, 3, 8)
+ m000(arg0, f004, 3, 8)
+ m000(arg0, f005, 3, 9)
+ }
+ }
+
+ m001(arg0)
+}
+
+// Bug 67: The Buffer Field type objects should be RETURNED
+// by Methods without any conversion, but instead
+// they are converted to Buffers or Integers depending
+// on the size of the Buffer Field object and the
+// run mode (32-bit or 64/bit mode).
+//
+// CANCELED: now it should perform opposite assertion because
+// this bug was canceled.
+Method(m121, 1) {
+ Name(b000, Buffer(200) {})
+ CreateField(b000, 0, 31, bf00)
+ CreateField(b000, 31, 32, bf01)
+ CreateField(b000, 63, 33, bf02)
+
+ CreateField(b000, 96, 63, bf03)
+ CreateField(b000, 159, 64, bf04)
+ CreateField(b000, 223, 65, bf05)
+
+ Method(m000, 1)
+ {
+ if (LEqual(arg0, 0)) {
+ return (bf00)
+ } elseif (LEqual(arg0, 1)) {
+ return (bf01)
+ } elseif (LEqual(arg0, 2)) {
+ return (bf02)
+ } elseif (LEqual(arg0, 3)) {
+ return (bf03)
+ } elseif (LEqual(arg0, 4)) {
+ return (bf04)
+ } elseif (LEqual(arg0, 5)) {
+ return (bf05)
+ }
+ return ("qw")
+ }
+
+ Method(m001, 4)
+ {
+ Store(m000(arg1), Local1)
+ Store(ObjectType(Local1), Local0)
+ if (LNotEqual(Local0, arg2)) {
+ err(arg0, z054, 39, 0, 0, Local0, arg2)
+ }
+
+ Store(SizeOf(Local1), Local0)
+ if (LNotEqual(Local0, arg3)) {
+ err(arg0, z054, 40, 0, 0, Local0, arg3)
+ }
+ }
+
+ Method(m002, 1)
+ {
+ if (F64) {
+ m001(arg0, 0, 1, 8)
+ m001(arg0, 1, 1, 8)
+ m001(arg0, 2, 1, 8)
+ m001(arg0, 3, 1, 8)
+ m001(arg0, 4, 1, 8)
+ m001(arg0, 5, 3, 9)
+ } else {
+ m001(arg0, 0, 1, 4)
+ m001(arg0, 1, 1, 4)
+ m001(arg0, 2, 3, 5)
+ m001(arg0, 3, 3, 8)
+ m001(arg0, 4, 3, 8)
+ m001(arg0, 5, 3, 9)
+ }
+ }
+
+ m002(arg0)
+}
+
+// Bug 68: The Field Unit type objects should be RETURNED
+// by Methods without any conversion, but instead
+// they are converted to Buffers or Integers depending
+// on the size of the Buffer Field object and the
+// run mode (32-bit or 64/bit mode).
+//
+// CANCELED: now it should perform opposite assertion because
+// this bug was canceled.
+Method(m122, 1) {
+ OperationRegion(r000, SystemMemory, 0x100, 0x100)
+ Field(r000, ByteAcc, NoLock, Preserve) {
+ f000, 31,
+ f001, 32,
+ f002, 33,
+ f003, 63,
+ f004, 64,
+ f005, 65
+ }
+
+ Method(m000, 1)
+ {
+ if (LEqual(arg0, 0)) {
+ return (f000)
+ } elseif (LEqual(arg0, 1)) {
+ return (f001)
+ } elseif (LEqual(arg0, 2)) {
+ return (f002)
+ } elseif (LEqual(arg0, 3)) {
+ return (f003)
+ } elseif (LEqual(arg0, 4)) {
+ return (f004)
+ } elseif (LEqual(arg0, 5)) {
+ return (f005)
+ }
+ return ("qw")
+ }
+
+ Method(m001, 4)
+ {
+ Store(m000(arg1), Local1)
+ Store(ObjectType(Local1), Local0)
+ if (LNotEqual(Local0, arg2)) {
+ err(arg0, z054, 41, 0, 0, Local0, arg2)
+ }
+
+ Store(SizeOf(Local1), Local0)
+ if (LNotEqual(Local0, arg3)) {
+ err(arg0, z054, 42, 0, 0, Local0, arg3)
+ }
+ }
+
+ Method(m002, 1)
+ {
+ if (F64) {
+ m001(arg0, 0, 1, 8)
+ m001(arg0, 1, 1, 8)
+ m001(arg0, 2, 1, 8)
+ m001(arg0, 3, 1, 8)
+ m001(arg0, 4, 1, 8)
+ m001(arg0, 5, 3, 9)
+ } else {
+ m001(arg0, 0, 1, 4)
+ m001(arg0, 1, 1, 4)
+ m001(arg0, 2, 3, 5)
+ m001(arg0, 3, 3, 8)
+ m001(arg0, 4, 3, 8)
+ m001(arg0, 5, 3, 9)
+ }
+ }
+
+ m002(arg0)
+}
+
+// Bug 30. This test may be removed there after
+// the Field relative tests will be implemented.
+// Caused crash.
+Method(m123, 1)
+{
+ Method(m000)
+ {
+ // Field Unit
+ OperationRegion(r000, SystemMemory, 0x100, 0x100)
+ Field(r000, ByteAcc, NoLock, Preserve) {
+ f000, 8,
+ f001, 16,
+ f002, 32,
+ f003, 33,
+ f004, 1,
+ f005, 64,
+ }
+
+ Store("------------ Fields:", Debug)
+ Store(f000, Debug)
+ Store(f001, Debug)
+ Store(f002, Debug)
+ Store(f003, Debug)
+ Store(f004, Debug)
+ Store(f005, Debug)
+ Store("------------.", Debug)
+
+ return (0)
+ }
+
+ Method(m001)
+ {
+ // Field Unit
+ OperationRegion(r000, SystemMemory, 0x100, 0x100)
+ Field(r000, ByteAcc, NoLock, Preserve) {
+ f000, 8,
+ f001, 16,
+ f002, 32,
+ f003, 33,
+ f004, 7,
+ f005, 64,
+ }
+
+ Store("------------ Fields:", Debug)
+ Store(f000, Debug)
+ Store(f001, Debug)
+ Store(f002, Debug)
+ Store(f003, Debug)
+ Store(f004, Debug)
+ Store(f005, Debug)
+ Store("------------.", Debug)
+
+ return (0)
+ }
+
+ m000()
+ m001()
+ return (0)
+}
+
+// Bug 81.
+Method(m124, 1)
+{
+ Method(m000)
+ {
+ return (0x12345678)
+ }
+
+ Method(m001, 1)
+ {
+ return (0x12345678)
+ }
+
+ CH03(arg0, z054, 0x105, 0, 0)
+
+ Store(ObjectType(m000), Local0)
+ if (LNotEqual(Local0, c010)) {
+ err(arg0, z054, 43, 0, 0, Local0, c010)
+ }
+
+ // Bug 81.
+ Store(ObjectType(m000()), Local0)
+ if (LNotEqual(Local0, c009)) {
+ err(arg0, z054, 44, 0, 0, Local0, c009)
+ }
+
+ Store(ObjectType(m001(123)), Local1)
+ if (LNotEqual(Local1, c009)) {
+ err(arg0, z054, 45, 0, 0, Local1, c009)
+ }
+
+ CH03(arg0, z054, 0x106, 0, 0)
+}
+
+/*
+ * Bug 117. Modification of the duplicated String
+ * modifies the initial String Object also.
+ *
+ * This test should be a part of another complex test.
+ *
+ * New objects creation and safety of the source
+ * objects referred as parameters to operators.
+ */
+Method(m125, 1)
+{
+ Method(m001, 1)
+ {
+ Name(s000, "String")
+
+ Store(s000, Local0)
+
+ Store(0x61, Index(Local0, 3))
+
+ if (LNotEqual(Local0, "Strang")) {
+ err(arg0, z054, 46, 0, 0, Local0, "Strang")
+ }
+ if (LNotEqual(s000, "String")) {
+ err(arg0, z054, 47, 0, 0, s000, "String")
+ }
+ }
+
+ Method(m002, 1)
+ {
+ Name(b000, Buffer(){0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5})
+
+ Store(b000, Local0)
+
+ Store(0x61, Index(Local0, 3))
+
+ if (LNotEqual(Local0, Buffer(){0xa0, 0xa1, 0xa2, 0x61, 0xa4, 0xa5})) {
+ err(arg0, z054, 48, 0, 0, Local0, Buffer(){0xa0, 0xa1, 0xa2, 0x61, 0xa4, 0xa5})
+ }
+ if (LNotEqual(b000, Buffer(){0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5})) {
+ err(arg0, z054, 49, 0, 0, b000, Buffer(){0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5})
+ }
+ }
+
+ Method(m003, 1)
+ {
+ Name(p000, Package(){0xfff0, 0xfff1, 0xfff2, 0xfff3, 0xfff4, 0xfff5})
+
+ Store(p000, Local0)
+
+ Store(0x61, Index(Local0, 3))
+
+ if (LNotEqual(Derefof(Index(Local0, 0)), 0xfff0)) {
+ err(arg0, z054, 50, 0, 0, Derefof(Index(Local0, 0)), 0xfff0)
+ }
+ if (LNotEqual(Derefof(Index(Local0, 1)), 0xfff1)) {
+ err(arg0, z054, 51, 0, 0, Derefof(Index(Local0, 1)), 0xfff1)
+ }
+ if (LNotEqual(Derefof(Index(Local0, 2)), 0xfff2)) {
+ err(arg0, z054, 52, 0, 0, Derefof(Index(Local0, 2)), 0xfff2)
+ }
+ if (LNotEqual(Derefof(Index(Local0, 3)), 0x61)) {
+ err(arg0, z054, 53, 0, 0, Derefof(Index(Local0, 3)), 0x61)
+ }
+ if (LNotEqual(Derefof(Index(Local0, 4)), 0xfff4)) {
+ err(arg0, z054, 54, 0, 0, Derefof(Index(Local0, 4)), 0xfff4)
+ }
+ if (LNotEqual(Derefof(Index(Local0, 5)), 0xfff5)) {
+ err(arg0, z054, 55, 0, 0, Derefof(Index(Local0, 5)), 0xfff5)
+ }
+
+ if (LNotEqual(Derefof(Index(p000, 0)), 0xfff0)) {
+ err(arg0, z054, 56, 0, 0, Derefof(Index(p000, 0)), 0xfff0)
+ }
+ if (LNotEqual(Derefof(Index(p000, 1)), 0xfff1)) {
+ err(arg0, z054, 57, 0, 0, Derefof(Index(p000, 1)), 0xfff1)
+ }
+ if (LNotEqual(Derefof(Index(p000, 2)), 0xfff2)) {
+ err(arg0, z054, 58, 0, 0, Derefof(Index(p000, 2)), 0xfff2)
+ }
+ if (LNotEqual(Derefof(Index(p000, 3)), 0xfff3)) {
+ err(arg0, z054, 59, 0, 0, Derefof(Index(p000, 3)), 0xfff3)
+ }
+ if (LNotEqual(Derefof(Index(p000, 4)), 0xfff4)) {
+ err(arg0, z054, 60, 0, 0, Derefof(Index(p000, 4)), 0xfff4)
+ }
+ if (LNotEqual(Derefof(Index(p000, 5)), 0xfff5)) {
+ err(arg0, z054, 61, 0, 0, Derefof(Index(p000, 5)), 0xfff5)
+ }
+ }
+
+ m001(arg0)
+ m002(arg0)
+ m003(arg0)
+}
+
+// No exception should arisen.
+Method(mf74)
+{
+ Store(0, Local0)
+ switch (Local0) {
+ case (101) {
+ Device(d000) {}
+ Method(m002) {}
+ }
+ }
+}
+
+Method(mf75, 1)
+{
+ Method(mm00)
+ {
+ Store(0, Local0)
+ switch (Local0) {
+ case (101) {
+ Method(m000) {}
+ Method(m001) {}
+ }
+ }
+ }
+
+ Method(mm01)
+ {
+ Store(0, Local0)
+ switch (Local0) {
+ case (101) {
+ Method(m002) {}
+ Device(dv00) {}
+ }
+ }
+ }
+
+ Method(mm02)
+ {
+ Store(0, Local0)
+ switch (Local0) {
+ case (101) {
+ Device(dv01) {}
+ Method(m003) {}
+ }
+ }
+ }
+
+ Method(mm03)
+ {
+ Store(0, Local0)
+ switch (Local0) {
+ case (101) {
+ Device(dv02) {}
+ Device(dv03) {}
+ }
+ }
+ }
+
+ CH03(arg0, z054, 0x107, 0, 0)
+ mf74()
+ CH03(arg0, z054, 0x108, 0, 0)
+
+ CH03(arg0, z054, 0x109, 0, 0)
+ mm00()
+ CH03(arg0, z054, 0x10a, 0, 0)
+
+ CH03(arg0, z054, 0x10b, 0, 0)
+ mm01()
+ CH03(arg0, z054, 0x10c, 0, 0)
+
+ CH03(arg0, z054, 0x10d, 0, 0)
+ mm02()
+ CH03(arg0, z054, 0x10e, 0, 0)
+
+ CH03(arg0, z054, 0x10f, 0, 0)
+ mm03()
+ CH03(arg0, z054, 0x110, 0, 0)
+}
+
+
+Method(mf76, 1)
+{
+ if (LNotEqual(arg0, "Strang")) {
+ err(arg0, z054, 72, 0, 0, arg0, "Strang")
+ }
+}
+
+/*
+ * Bug 153, Bugzilla 5314.
+ */
+Method(mf77, 1)
+{
+ Name(s000, "String")
+ Name(p000, Package(){0})
+
+ Store(s000, p000)
+
+ Store(s000, Debug)
+ Store(p000, Debug)
+
+ Store (0x61, Index(p000, 3))
+
+ mf76(p000)
+ if (LNotEqual(s000, "String")) {
+ err(arg0, z054, 73, 0, 0, s000, "String")
+ }
+}
+
+/* Bug 196 */
+Method(mf86, 1)
+{
+ CH03("mf86", z054, 74, 0, 0)
+
+ ToInteger("0x0x12345678", Local0)
+ if (LNotEqual(Local0, 0)) {
+ err(arg0, z054, 75, 0, 0, Local0, 0)
+ }
+
+ CH04("mf86", 0, 0xff, z054, 2, 0, 0)
+}
+
+Method(mf87, 1)
+{
+ CH03("mf87", z054, 0, 0, 0)
+
+ Add("0x0xabcdef", 0x10234, Local0)
+ if (LNotEqual(Local0, 0x10234)) {
+ err(arg0, z054, 77, 0, 0, Local0, 0x10234)
+ }
+
+ CH03("mf87", z054, 1, 0, 0)
+
+ Add(0x10234, "0x0xabcdef", Local0)
+ if (LNotEqual(Local0, 0x10234)) {
+ err(arg0, z054, 78, 0, 0, Local0, 0x10234)
+ }
+
+ CH03("mf87", z054, 2, 0, 0)
+}
+
+Method(m15b)
+{
+ Name(ts, "m15b")
+
+ /* **************** Definitions **************** */
+
+ Method(mm00)
+ {
+ return (0xabcd0000)
+ }
+
+ Name(p000, Package() {0xabcd0001, mm00, 0xabcd0002})
+
+ /* **************** Run checkings **************** */
+
+ /* Store */
+
+ Method(m000)
+ {
+ Store(mm00, Local0)
+ if (LNotEqual(Local0, 0xabcd0000)) {
+ err(ts, z054, 0x000, 0, 0, Local0, 0xabcd0000)
+ }
+ }
+
+ Method(m001)
+ {
+ CH03(ts, z054, 0x001, 0, 0)
+ Store(DerefOf(RefOf(mm00)), Local0)
+ if (SLCK) {
+ CH03(ts, z054, 0x002, 0, 0)
+ Store(ObjectType(Local0), Local1)
+ if (LNotEqual(Local1, c010)) {
+ err(ts, z054, 0x003, 0, 0, Local1, c010)
+ }
+ } else {
+ CH04(ts, 0, 47, z054, 0x004, 0, 0) // AE_AML_OPERAND_TYPE
+ }
+ }
+
+ Method(m002)
+ {
+ CH03(ts, z054, 0x005, 0, 0)
+ Store(DerefOf(Index(p000, 1)), Local0)
+ if (SLCK) {
+ CH03(ts, z054, 0x006, 0, 0)
+ Store(ObjectType(Local0), Local1)
+ if (LNotEqual(Local1, c010)) {
+ err(ts, z054, 0x007, 0, 0, Local1, c010)
+ }
+ } else {
+ CH04(ts, 0, 47, z054, 0x008, 0, 0) // AE_AML_OPERAND_TYPE
+ }
+ }
+
+ Method(m003)
+ {
+ CH03(ts, z054, 0x009, 0, 0)
+ Store(DerefOf("mm00"), Local0)
+ if (SLCK) {
+ CH03(ts, z054, 0x00a, 0, 0)
+ Store(ObjectType(Local0), Local1)
+ if (LNotEqual(Local1, c010)) {
+ err(ts, z054, 0x00b, 0, 0, Local1, c010)
+ }
+ } else {
+ CH04(ts, 0, 47, z054, 0x00c, 0, 0) // AE_AML_OPERAND_TYPE
+ }
+ }
+
+ /* CopyObject */
+
+ Method(m004)
+ {
+ CopyObject(mm00, Local0)
+ if (LNotEqual(Local0, 0xabcd0000)) {
+ err(ts, z054, 0x00d, 0, 0, Local0, 0xabcd0000)
+ }
+ }
+
+ Method(m005)
+ {
+ CH03(ts, z054, 0x00e, 0, 0)
+ CopyObject(DerefOf(RefOf(mm00)), Local0)
+ CH03(ts, z054, 0x00f, 0, 0)
+
+ Store(ObjectType(Local0), Local1)
+ if (LNotEqual(Local1, c010)) {
+ err(ts, z054, 0x010, 0, 0, Local1, c010)
+ }
+ }
+
+ Method(m006)
+ {
+ CH03(ts, z054, 0x011, 0, 0)
+ CopyObject(DerefOf(Index(p000, 1)), Local0)
+ CH03(ts, z054, 0x012, 0, 0)
+
+ Store(ObjectType(Local0), Local1)
+ if (LNotEqual(Local1, c010)) {
+ err(ts, z054, 0x013, 0, 0, Local1, c010)
+ }
+ }
+
+ Method(m007)
+ {
+ CH03(ts, z054, 0x014, 0, 0)
+ CopyObject(DerefOf("mm00"), Local0)
+ CH03(ts, z054, 0x015, 0, 0)
+
+ Store(ObjectType(Local0), Local1)
+ if (LNotEqual(Local1, c010)) {
+ err(ts, z054, 0x016, 0, 0, Local1, c010)
+ }
+ }
+
+ /* Add */
+
+ Method(m008)
+ {
+ Add(mm00, 1, Local0)
+ if (LNotEqual(Local0, 0xabcd0001)) {
+ err(ts, z054, 0x017, 0, 0, Local0, 0xabcd0001)
+ }
+ }
+
+ Method(m009)
+ {
+ CH03(ts, z054, 0x018, 0, 0)
+ Add(DerefOf(RefOf(mm00)), 2, Local0)
+ CH04(ts, 0, 47, z054, 0x019, 0, 0) // AE_AML_OPERAND_TYPE
+ }
+
+ Method(m00a)
+ {
+ CH03(ts, z054, 0x01a, 0, 0)
+ Add(DerefOf(Index(p000, 1)), 3, Local0)
+ CH04(ts, 0, 47, z054, 0x01b, 0, 0) // AE_AML_OPERAND_TYPE
+ }
+
+ Method(m00b)
+ {
+ CH03(ts, z054, 0x01c, 0, 0)
+ Add(DerefOf("mm00"), 4, Local0)
+ CH04(ts, 0, 47, z054, 0x01d, 0, 0) // AE_AML_OPERAND_TYPE
+ }
+
+ /* ObjectType */
+
+ Method(m00c)
+ {
+ Store(ObjectType(mm00), Local0)
+ if (LNotEqual(Local0, c010)) {
+ err(ts, z054, 0x01e, 0, 0, Local0, c010)
+ }
+ }
+
+ Method(m00d)
+ {
+ Store(ObjectType(DerefOf(RefOf(mm00))), Local0)
+ if (LNotEqual(Local0, c010)) {
+ err(ts, z054, 0x01f, 0, 0, Local0, c010)
+ }
+ }
+
+ Method(m00e)
+ {
+ Store(ObjectType(DerefOf(Index(p000, 1))), Local0)
+ if (LNotEqual(Local0, c010)) {
+ err(ts, z054, 0x020, 0, 0, Local0, c010)
+ }
+ }
+
+ Method(m00f)
+ {
+ Store(ObjectType(DerefOf("mm00")), Local0)
+ if (LNotEqual(Local0, c010)) {
+ err(ts, z054, 0x021, 0, 0, Local0, c010)
+ }
+ }
+
+ Method(m100)
+ {
+ SRMT("m15b-0")
+ m000()
+ SRMT("m15b-1")
+ m001()
+ SRMT("m15b-2")
+ m002()
+ SRMT("m15b-3")
+ m003()
+ SRMT("m15b-4")
+ m004()
+ SRMT("m15b-5")
+ m005()
+ SRMT("m15b-6")
+ m006()
+ SRMT("m15b-7")
+ m007()
+ SRMT("m15b-8")
+ m008()
+ SRMT("m15b-9")
+ m009()
+ SRMT("m15b-a")
+ m00a()
+ SRMT("m15b-b")
+ m00b()
+ SRMT("m15b-c")
+ m00c()
+ SRMT("m15b-d")
+ m00d()
+ SRMT("m15b-e")
+ m00e()
+ SRMT("m15b-f")
+ m00f()
+ }
+
+ m100()
+}
+
+// Run-method
+Method(MSC0)
+{
+ Name(ts, "MSC0")
+
+ SRMT("m110")
+ m110(ts)
+ SRMT("m112")
+ m112(ts)
+ SRMT("m113")
+ m113(ts)
+ SRMT("m114")
+ m114(ts)
+ SRMT("m115")
+ m115(ts)
+ SRMT("m116")
+ m116(ts)
+ SRMT("m118")
+ m118(ts)
+ SRMT("m119")
+ m119(ts)
+ SRMT("m11c")
+ m11c(ts)
+ SRMT("m11d")
+ m11d(ts)
+ SRMT("m11e")
+ m11e(ts)
+ SRMT("m11f")
+ m11f(ts)
+ SRMT("m120")
+ m120(ts)
+ SRMT("m121")
+ m121(ts)
+ SRMT("m122")
+ m122(ts)
+ SRMT("m123")
+ m123(ts)
+ SRMT("m124")
+ m124(ts)
+ SRMT("m125")
+ m125(ts)
+ SRMT("mf75")
+ mf75(ts)
+ SRMT("mf77")
+ mf77(ts)
+ SRMT("mf86")
+ mf86(ts)
+ SRMT("mf87")
+ mf87(ts)
+
+ m15b()
+}
+
diff --git a/tests/aslts/src/runtime/collections/complex/namespace/DECL.asl b/tests/aslts/src/runtime/collections/complex/namespace/DECL.asl
new file mode 100644
index 000000000..ae01690e3
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/namespace/DECL.asl
@@ -0,0 +1,47 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+/*
+ * Note: many tests of Identity2MS test case verifies
+ * behaviour of the name space component of ACPICA too.
+ */
+
+Include("../../../../runtime/collections/complex/namespace/ns0.asl")
+Include("../../../../runtime/collections/complex/namespace/ns1.asl")
+Include("../../../../runtime/collections/complex/namespace/ns2.asl")
+Include("../../../../runtime/collections/complex/namespace/ns3.asl")
+Include("../../../../runtime/collections/complex/namespace/ns4.asl")
+// Include("../../../../runtime/collections/complex/namespace/ns5.asl")
+Include("../../../../runtime/collections/complex/namespace/ns6.asl")
+
+Include("../../../../runtime/collections/complex/namespace/ns0_root.asl")
+Include("../../../../runtime/collections/complex/namespace/ns2_root.asl")
+
+Include("../../../../runtime/collections/complex/namespace/scope.asl")
+Include("../../../../runtime/collections/complex/namespace/fullpath.asl")
diff --git a/tests/aslts/src/runtime/collections/complex/namespace/MAIN.asl b/tests/aslts/src/runtime/collections/complex/namespace/MAIN.asl
new file mode 100644
index 000000000..b27004180
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/namespace/MAIN.asl
@@ -0,0 +1,62 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+/*
+ * Note: many tests of Identity2MS test case verifies
+ * behaviour of the name space component of ACPICA too.
+ */
+
+DefinitionBlock(
+ "namespace.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../runtime/cntl/DECL.asl")
+ Include("../../../../runtime/collections/complex/namespace/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+
+ Include("../../../../runtime/collections/complex/namespace/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/complex/namespace/Makefile b/tests/aslts/src/runtime/collections/complex/namespace/Makefile
new file mode 100644
index 000000000..0eee15640
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/namespace/Makefile
@@ -0,0 +1,7 @@
+# namespace
+
+AMLMOD= namespace
+COLL= ../..
+
+TOP= $(COLL)/../../..
+include $(COLL)/Makefile.install
diff --git a/tests/aslts/src/runtime/collections/complex/namespace/RUN.asl b/tests/aslts/src/runtime/collections/complex/namespace/RUN.asl
new file mode 100644
index 000000000..1af3e4835
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/namespace/RUN.asl
@@ -0,0 +1,61 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+/*
+ * Note: many tests of Identity2MS test case verifies
+ * behaviour of the name space component of ACPICA too.
+ */
+
+/*
+ * The NameSpace tests
+ *
+ * Name of methods below:
+ * nxyy
+ * yy - name of test
+ * x - modification of yy test
+ * 0 - initial test
+ * 1 - the test contains root names
+ */
+if (STTT("The tests of Name Space component", TCLC, 19, W012)) {
+
+ n000()
+ n001()
+ n002()
+ n003()
+ n004()
+// n005()
+ n006()
+
+ n100()
+ n102()
+
+ scp0()
+ fpd0()
+}
+FTTT()
diff --git a/tests/aslts/src/runtime/collections/complex/namespace/fullpath.asl b/tests/aslts/src/runtime/collections/complex/namespace/fullpath.asl
new file mode 100644
index 000000000..41ebfc2f1
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/namespace/fullpath.asl
@@ -0,0 +1,115 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+Name(z179, 179)
+
+/*
+ !!!!!!!!!!!!!!!! It is in progress, just started !!!!!!!!!!!!!!!!
+ */
+
+/*
+ * Check full path Name declarations performed from inside Methods
+ */
+
+Method(fp00)
+{
+ Name(ts, "fp00")
+
+ Method(m000)
+ {
+ Name(\i4z0, 0xabcd0000)
+
+ if (LNotEqual(i4z0, 0xabcd0000)) {
+ err(ts, z179, 0x000, 0, 0, i4z0, 0xabcd0000)
+ }
+ if (LNotEqual(\i4z0, 0xabcd0000)) {
+ err(ts, z179, 0x001, 0, 0, \i4z0, 0xabcd0000)
+ }
+ m001()
+ }
+
+ Method(m001)
+ {
+ if (LNotEqual(i4z0, 0xabcd0000)) {
+ err(ts, z179, 0x002, 0, 0, i4z0, 0xabcd0000)
+ }
+ if (LNotEqual(\i4z0, 0xabcd0000)) {
+ err(ts, z179, 0x003, 0, 0, \i4z0, 0xabcd0000)
+ }
+ }
+
+ CH03(ts, z179, 0x044, 0, 0)
+ m000()
+ CH03(ts, z179, 0x045, 0, 0)
+}
+
+Method(fp01)
+{
+ Name(ts, "fp01")
+
+ Method(m000, 1)
+ {
+ if (LNot(arg0)) {
+ Name(\i4z1, 0xabcd0000)
+ }
+
+ if (LNotEqual(i4z1, 0xabcd0000)) {
+ err(ts, z179, 0x000, 0, 0, i4z1, 0xabcd0000)
+ }
+ if (LNotEqual(\i4z1, 0xabcd0000)) {
+ err(ts, z179, 0x001, 0, 0, \i4z1, 0xabcd0000)
+ }
+ m001()
+ }
+
+ Method(m001)
+ {
+ if (LNotEqual(i4z1, 0xabcd0000)) {
+ err(ts, z179, 0x002, 0, 0, i4z1, 0xabcd0000)
+ }
+ if (LNotEqual(\i4z1, 0xabcd0000)) {
+ err(ts, z179, 0x003, 0, 0, \i4z1, 0xabcd0000)
+ }
+ }
+
+ CH03(ts, z179, 0x044, 0, 0)
+ m000(0)
+ CH03(ts, z179, 0x045, 0, 0)
+}
+
+
+Method(fpd0)
+{
+ SRMT("fp00")
+ fp00()
+
+ SRMT("fp01")
+ fp01()
+}
+
diff --git a/tests/aslts/src/runtime/collections/complex/namespace/ns0.asl b/tests/aslts/src/runtime/collections/complex/namespace/ns0.asl
new file mode 100644
index 000000000..7705a65bc
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/namespace/ns0.asl
@@ -0,0 +1,379 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+/*
+ * Trying to get the chain of calls of methods such that
+ * sections of operative stack corresponding to different
+ * methods contain the internal object (itself, not a RefOf
+ * reference to it) of the same Name Space node.
+ *
+ * Then force (by Store/CopyObject):
+ * 1) changing the value of that internal object
+ * 2) replacing the internal object itself by some another one
+ *
+ * Check that the changing/replacing has no effect on the
+ * values evaluated on the lowest stages of calculation.
+ */
+Name(z154, 154)
+
+/*
+ * Named Integer i000
+ */
+
+Method(m000, 1)
+{
+ Name(ts, "m000")
+ Name(i000, 0x00000001)
+ Name(p000, Package() {1,2,3,4})
+
+ Name(i001, 0)
+
+ CH03(ts, z154, 0x000, 0, 0)
+
+ Store(arg0, i001)
+
+ Method(m001)
+ {
+ Method(m002)
+ {
+ Method(m003)
+ {
+ if (i001) {
+ CopyObject(p000, i000)
+ }
+ Return (0xabcd0000)
+ }
+ Return (Add(i000, m003()))
+ }
+ Return (Add(i000, m002()))
+ }
+ Store(Add(i000, m001()), Local0)
+ if (LNotEqual(Local0, 0xabcd0003)) {
+ err(ts, z154, 0x001, 0, 0, Local0, 0xabcd0003)
+ }
+ Store(Local0, Debug)
+
+ CH03(ts, z154, 0x002, 0, 0)
+}
+
+Method(m001, 1)
+{
+ Name(ts, "m001")
+ Name(i000, 0x00000001)
+ Name(i001, 0)
+ Name(p000, Package() {1,2,3,4})
+
+ Store(arg0, i001)
+
+ Method(m001)
+ {
+ Method(m002)
+ {
+ Method(m003)
+ {
+ Method(m004)
+ {
+ Method(m005)
+ {
+ Method(m006)
+ {
+ Method(m007)
+ {
+ Method(m008)
+ {
+ if (i001)
+ {
+ CopyObject(p000, i000)
+ }
+ Return (0)
+ }
+ Store(0x80000000, i000)
+ Return (Add(i000, m008()))
+ }
+ Store(0x07000000, i000)
+ Return (Add(i000, m007()))
+ }
+ Store(0x00600000, i000)
+ Return (Add(i000, m006()))
+ }
+ Store(0x00050000, i000)
+ Return (Add(i000, m005()))
+ }
+ Store(0x00004000, i000)
+ Return (Add(i000, m004()))
+ }
+ Store(0x00000300, i000)
+ Return (Add(i000, m003()))
+ }
+ Store(0x00000020, i000)
+ Return (Add(i000, m002()))
+ }
+ Store(Add(i000, m001()), Local0)
+
+ if (LNotEqual(Local0, 0x87654321)) {
+ err(ts, z154, 0x003, 0, 0, Local0, 0x87654321)
+ }
+
+ if (LNotEqual(i000, 0x80000000)) {
+ err(ts, z154, 0x004, 0, 0, i000, 0x80000000)
+ }
+
+ CH03(ts, z154, 0x005, 0, 0)
+}
+
+Method(m002)
+{
+ Name(ts, "m002")
+ Name(i000, 0x00100000)
+ Name(i001, 0)
+
+ Method(m001)
+ {
+ if (LLess(i001, 100)) {
+ Increment(i000)
+ Increment(i001)
+ Add(i000, m001(), Local0)
+ Return (Local0)
+ }
+ Return (0)
+ }
+ Store(Add(i000, m001()), Local0)
+
+ if (LNotEqual(Local0, 0x065013BA)) {
+ err(ts, z154, 0x006, 0, 0, Local0, 0x065013BA)
+ }
+
+ if (LNotEqual(i000, 0x00100064)) {
+ err(ts, z154, 0x007, 0, 0, i000, 0x00100064)
+ }
+
+ CH03(ts, z154, 0x008, 0, 0)
+}
+
+Method(m003)
+{
+ Name(ts, "m003")
+ Name(i000, 0x00100000)
+ Name(i001, 0)
+
+ Method(m001)
+ {
+ if (LLess(i001, 100)) {
+ Increment(i000)
+ Increment(i001)
+ Return (Add(i000, m001(), Local0))
+ }
+ Return (0)
+ }
+ Store(Add(i000, m001()), Local0)
+
+ if (LNotEqual(Local0, 0x065013BA)) {
+ err(ts, z154, 0x009, 0, 0, Local0, 0x065013BA)
+ }
+
+ if (LNotEqual(i000, 0x00100064)) {
+ err(ts, z154, 0x00a, 0, 0, i000, 0x00100064)
+ }
+
+ CH03(ts, z154, 0x00b, 0, 0)
+}
+
+/*
+ * Local instead of i000 (in m001)
+ */
+Method(m004, 1)
+{
+ Name(ts, "m004")
+ Name(i001, 0)
+ Name(p000, Package() {1,2,3,4})
+
+ Store(arg0, i001)
+
+ Store(0x00000001, Local7)
+
+ Method(m001)
+ {
+ Method(m002)
+ {
+ Method(m003)
+ {
+ Method(m004)
+ {
+ Method(m005)
+ {
+ Method(m006)
+ {
+ Method(m007)
+ {
+ Method(m008)
+ {
+ if (i001)
+ {
+ CopyObject(p000, Local7)
+ }
+ Return (0)
+ }
+ Store(0x80000000, Local7)
+ Return (Add(Local7, m008()))
+ }
+ Store(0x07000000, Local7)
+ Return (Add(Local7, m007()))
+ }
+ Store(0x00600000, Local7)
+ Return (Add(Local7, m006()))
+ }
+ Store(0x00050000, Local7)
+ Return (Add(Local7, m005()))
+ }
+ Store(0x00004000, Local7)
+ Return (Add(Local7, m004()))
+ }
+ Store(0x00000300, Local7)
+ Return (Add(Local7, m003()))
+ }
+ Store(0x00000020, Local7)
+ Return (Add(Local7, m002()))
+ }
+ Store(Add(Local7, m001()), Local0)
+
+ if (LNotEqual(Local0, 0x87654321)) {
+ err(ts, z154, 0x00c, 0, 0, Local0, 0x87654321)
+ }
+
+ if (LNotEqual(Local7, 1)) {
+ err(ts, z154, 0x00d, 0, 0, Local7, 1)
+ }
+
+ CH03(ts, z154, 0x00e, 0, 0)
+}
+
+/*
+ * Arg instead of i000 (in m001)
+ */
+Method(m005, 2)
+{
+ Name(ts, "m005")
+ Name(i001, 0)
+ Name(p000, Package() {1,2,3,4})
+
+ Store(arg0, i001)
+
+ Store(0x00000001, arg1)
+
+ Method(m001)
+ {
+ Method(m002)
+ {
+ Method(m003)
+ {
+ Method(m004)
+ {
+ Method(m005)
+ {
+ Method(m006)
+ {
+ Method(m007)
+ {
+ Method(m008)
+ {
+ if (i001)
+ {
+ CopyObject(p000, arg1)
+ }
+ Return (0)
+ }
+ Store(0x80000000, arg1)
+ Return (Add(arg1, m008()))
+ }
+ Store(0x07000000, arg1)
+ Return (Add(arg1, m007()))
+ }
+ Store(0x00600000, arg1)
+ Return (Add(arg1, m006()))
+ }
+ Store(0x00050000, arg1)
+ Return (Add(arg1, m005()))
+ }
+ Store(0x00004000, arg1)
+ Return (Add(arg1, m004()))
+ }
+ Store(0x00000300, arg1)
+ Return (Add(arg1, m003()))
+ }
+ Store(0x00000020, arg1)
+ Return (Add(arg1, m002()))
+ }
+ Store(Add(arg1, m001()), Local0)
+
+ if (LNotEqual(Local0, 0x87654321)) {
+ err(ts, z154, 0x00f, 0, 0, Local0, 0x87654321)
+ }
+
+ if (LNotEqual(arg1, 1)) {
+ err(ts, z154, 0x010, 0, 0, arg1, 1)
+ }
+
+ CH03(ts, z154, 0x011, 0, 0)
+}
+
+Method(n000)
+{
+if (1) {
+ SRMT("m000-0")
+ m000(0)
+ SRMT("m000-1")
+ m000(1)
+ SRMT("m001-0")
+ m001(0)
+ SRMT("m001-1")
+ if (y200) {
+ m001(1)
+ } else {
+ BLCK()
+ }
+ SRMT("m002")
+ m002()
+ SRMT("m003")
+ m003()
+ SRMT("m004-0")
+ m004(0)
+ SRMT("m004-1")
+ m004(1)
+ SRMT("m005-0")
+ m005(0, 0)
+ SRMT("m005-1")
+ m005(1, 0)
+} else {
+ SRMT("m000-0")
+ m000(0)
+ SRMT("m000-1")
+ m000(1)
+}
+}
+
diff --git a/tests/aslts/src/runtime/collections/complex/namespace/ns0_root.asl b/tests/aslts/src/runtime/collections/complex/namespace/ns0_root.asl
new file mode 100644
index 000000000..e73eef2f3
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/namespace/ns0_root.asl
@@ -0,0 +1,374 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+/*
+ * ns0 originated but has names from root
+ */
+
+/*
+ * Internal Integer of Device instead of i000 (in m001)
+ */
+Method(m006, 1)
+{
+ Name(ts, "m006")
+ Device(d000)
+ {
+ Name(i000, 0x00000001)
+ }
+ Name(i001, 0)
+ Name(p000, Package() {1,2,3,4})
+
+ Store(arg0, i001)
+
+ CH03(ts, z154, 0x014, 0, 0)
+
+ Method(m001)
+ {
+ Method(m002)
+ {
+ Method(m003)
+ {
+ Method(m004)
+ {
+ Method(m005)
+ {
+ Method(m006)
+ {
+ Method(m007)
+ {
+ Method(m008)
+ {
+ if (i001)
+ {
+ CopyObject(p000, \m006.d000.i000)
+ }
+ Return (0)
+ }
+ Store(0x80000000, \m006.d000.i000)
+ Return (Add(\m006.d000.i000, m008()))
+ }
+ Store(0x07000000, \m006.d000.i000)
+ Return (Add(\m006.d000.i000, m007()))
+ }
+ Store(0x00600000, \m006.d000.i000)
+ Return (Add(\m006.d000.i000, m006()))
+ }
+ Store(0x00050000, \m006.d000.i000)
+ Return (Add(\m006.d000.i000, m005()))
+ }
+ Store(0x00004000, \m006.d000.i000)
+ Return (Add(\m006.d000.i000, m004()))
+ }
+ Store(0x00000300, \m006.d000.i000)
+ Return (Add(\m006.d000.i000, m003()))
+ }
+ Store(0x00000020, ^d000.i000)
+ Return (Add(^d000.i000, m002()))
+ }
+
+ Store(Add(d000.i000, m001()), Local0)
+
+ if (FLG9) {
+ CH03(ts, z154, 0x014, 0, 0)
+ if (LNotEqual(Local0, 0x87654321)) {
+ err(ts, z154, 0x012, 0, 0, Local0, 0x87654321)
+ }
+ if (LNotEqual(d000.i000, 0x80000000)) {
+ err(ts, z154, 0x013, 0, 0, d000.i000, 0x80000000)
+ }
+ } else {
+ CH04(ts, 1, 5, z154, 0x014, 0, 0) // AE_NOT_FOUND
+ }
+}
+
+/*
+ * Internal Integer of ThermalZone instead of i000 (in m001)
+ */
+Method(m007, 1)
+{
+ Name(ts, "m007")
+ ThermalZone(tz00)
+ {
+ Name(i000, 0x00000001)
+ }
+ Name(i001, 0)
+ Name(p000, Package() {1,2,3,4})
+
+ Store(arg0, i001)
+
+ CH03(ts, z154, 0x014, 0, 0)
+
+ Method(m001)
+ {
+ Method(m002)
+ {
+ Method(m003)
+ {
+ Method(m004)
+ {
+ Method(m005)
+ {
+ Method(m006)
+ {
+ Method(m007)
+ {
+ Method(m008)
+ {
+ if (i001)
+ {
+ CopyObject(p000, \m007.tz00.i000)
+ }
+ Return (0)
+ }
+ Store(0x80000000, \m007.tz00.i000)
+ Return (Add(\m007.tz00.i000, m008()))
+ }
+ Store(0x07000000, \m007.tz00.i000)
+ Return (Add(\m007.tz00.i000, m007()))
+ }
+ Store(0x00600000, \m007.tz00.i000)
+ Return (Add(\m007.tz00.i000, m006()))
+ }
+ Store(0x00050000, \m007.tz00.i000)
+ Return (Add(\m007.tz00.i000, m005()))
+ }
+ Store(0x00004000, \m007.tz00.i000)
+ Return (Add(\m007.tz00.i000, m004()))
+ }
+ Store(0x00000300, \m007.tz00.i000)
+ Return (Add(\m007.tz00.i000, m003()))
+ }
+ Store(0x00000020, ^tz00.i000)
+ Return (Add(^tz00.i000, m002()))
+ }
+ Store(Add(tz00.i000, m001()), Local0)
+
+ if (FLG9) {
+ CH03(ts, z154, 0x014, 0, 0)
+ if (LNotEqual(Local0, 0x87654321)) {
+ err(ts, z154, 0x015, 0, 0, Local0, 0x87654321)
+ }
+ if (LNotEqual(tz00.i000, 0x80000000)) {
+ err(ts, z154, 0x016, 0, 0, tz00.i000, 0x80000000)
+ }
+ } else {
+ CH04(ts, 1, 5, z154, 0x014, 0, 0) // AE_NOT_FOUND
+ }
+}
+
+/*
+ * Internal Integer of Processor instead of i000 (in m001)
+ */
+Method(m008, 1)
+{
+ Name(ts, "m008")
+ Processor(pr00, 0, 0xFFFFFFFF, 0)
+ {
+ Name(i000, 0x00000001)
+ }
+ Name(i001, 0)
+ Name(p000, Package() {1,2,3,4})
+
+ Store(arg0, i001)
+
+ CH03(ts, z154, 0x014, 0, 0)
+
+ Method(m001)
+ {
+ Method(m002)
+ {
+ Method(m003)
+ {
+ Method(m004)
+ {
+ Method(m005)
+ {
+ Method(m006)
+ {
+ Method(m007)
+ {
+ Method(m008)
+ {
+ if (i001)
+ {
+ CopyObject(p000, \m008.pr00.i000)
+ }
+ Return (0)
+ }
+ Store(0x80000000, \m008.pr00.i000)
+ Return (Add(\m008.pr00.i000, m008()))
+ }
+ Store(0x07000000, \m008.pr00.i000)
+ Return (Add(\m008.pr00.i000, m007()))
+ }
+ Store(0x00600000, \m008.pr00.i000)
+ Return (Add(\m008.pr00.i000, m006()))
+ }
+ Store(0x00050000, \m008.pr00.i000)
+ Return (Add(\m008.pr00.i000, m005()))
+ }
+ Store(0x00004000, \m008.pr00.i000)
+ Return (Add(\m008.pr00.i000, m004()))
+ }
+ Store(0x00000300, \m008.pr00.i000)
+ Return (Add(\m008.pr00.i000, m003()))
+ }
+ Store(0x00000020, ^pr00.i000)
+ Return (Add(^pr00.i000, m002()))
+ }
+
+ Store(Add(pr00.i000, m001()), Local0)
+
+ if (FLG9) {
+ CH03(ts, z154, 0x014, 0, 0)
+ if (LNotEqual(Local0, 0x87654321)) {
+ err(ts, z154, 0x018, 0, 0, Local0, 0x87654321)
+ }
+ if (LNotEqual(pr00.i000, 0x80000000)) {
+ err(ts, z154, 0x019, 0, 0, pr00.i000, 0x80000000)
+ }
+ } else {
+ CH04(ts, 1, 5, z154, 0x014, 0, 0) // AE_NOT_FOUND
+ }
+}
+
+/*
+ * Internal Integer of PowerResource instead of i000 (in m001)
+ */
+Method(m009, 1)
+{
+ Name(ts, "m009")
+ PowerResource(pw00, 1, 0)
+ {
+ Name(i000, 0x00000001)
+ }
+ Name(i001, 0)
+ Name(p000, Package() {1,2,3,4})
+
+ Store(arg0, i001)
+
+ CH03(ts, z154, 0x01d, 0, 0)
+
+ Method(m001)
+ {
+ Method(m002)
+ {
+ Method(m003)
+ {
+ Method(m004)
+ {
+ Method(m005)
+ {
+ Method(m006)
+ {
+ Method(m007)
+ {
+ Method(m008)
+ {
+ if (i001)
+ {
+ CopyObject(p000, \m009.pw00.i000)
+ }
+ Return (0)
+ }
+ Store(0x80000000, \m009.pw00.i000)
+ Return (Add(\m009.pw00.i000, m008()))
+ }
+ Store(0x07000000, \m009.pw00.i000)
+ Return (Add(\m009.pw00.i000, m007()))
+ }
+ Store(0x00600000, \m009.pw00.i000)
+ Return (Add(\m009.pw00.i000, m006()))
+ }
+ Store(0x00050000, \m009.pw00.i000)
+ Return (Add(\m009.pw00.i000, m005()))
+ }
+ Store(0x00004000, \m009.pw00.i000)
+ Return (Add(\m009.pw00.i000, m004()))
+ }
+ Store(0x00000300, \m009.pw00.i000)
+ Return (Add(\m009.pw00.i000, m003()))
+ }
+ Store(0x00000020, ^pw00.i000)
+ Return (Add(^pw00.i000, m002()))
+ }
+
+ Store(Add(pw00.i000, m001()), Local0)
+
+ if (FLG9) {
+ CH03(ts, z154, 0x014, 0, 0)
+ if (LNotEqual(Local0, 0x87654321)) {
+ err(ts, z154, 0x01b, 0, 0, Local0, 0x87654321)
+ }
+ if (LNotEqual(pw00.i000, 0x80000000)) {
+ err(ts, z154, 0x01c, 0, 0, pw00.i000, 0x80000000)
+ }
+ } else {
+ CH04(ts, 1, 5, z154, 0x014, 0, 0) // AE_NOT_FOUND
+ }
+}
+
+Method(n100)
+{
+if (1) {
+ SRMT("m006-0")
+ m006(0)
+ SRMT("m006-1")
+ if (y200) {
+ m006(1)
+ } else {
+ BLCK()
+ }
+ SRMT("m007-0")
+ m007(0)
+ SRMT("m007-1")
+ if (y200) {
+ m007(1)
+ } else {
+ BLCK()
+ }
+ SRMT("m008-0")
+ m008(0)
+ SRMT("m008-1")
+ if (y200) {
+ m008(1)
+ } else {
+ BLCK()
+ }
+ SRMT("m009-0")
+ m009(0)
+ SRMT("m009-1")
+ if (y200) {
+ m009(1)
+ } else {
+ BLCK()
+ }
+} else {
+}
+} \ No newline at end of file
diff --git a/tests/aslts/src/runtime/collections/complex/namespace/ns1.asl b/tests/aslts/src/runtime/collections/complex/namespace/ns1.asl
new file mode 100644
index 000000000..0322c1292
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/namespace/ns1.asl
@@ -0,0 +1,737 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+Name(z155, 155)
+
+/*
+ * Three tests below are here
+ * as specific type arguments passing -
+ * arguments though passed directly to method, not as references,
+ * nevertheless allow access to the elements of original objects.
+ */
+
+Method(m100)
+{
+ Name(ts, "m100")
+ Name(p000, Package() {0xabcd0000, 0xabcd0001, 0xabcd0002})
+ Method(m001, 2)
+ {
+ Store(0x11112222, Index(arg0, 0))
+ }
+
+ m001(p000, RefOf(p000))
+
+ Store(DerefOf(Index(p000, 0)), Local0)
+
+ if (LNotEqual(Local0, 0x11112222)) {
+ err(ts, z155, 0x000, 0, 0, Local0, 0x11112222)
+ }
+
+ CH03(ts, z155, 0x001, 0, 0)
+}
+
+Method(m101)
+{
+ Name(ts, "m101")
+ Name(b000, Buffer() {0x10, 0x11, 0x12})
+ Method(m001, 2)
+ {
+ Store(0x67, Index(arg0, 0))
+ }
+
+ m001(b000, RefOf(b000))
+
+ Store(DerefOf(Index(b000, 0)), Local0)
+
+ if (LNotEqual(Local0, 0x67)) {
+ err(ts, z155, 0x002, 0, 0, Local0, 0x67)
+ }
+
+ CH03(ts, z155, 0x003, 0, 0)
+}
+
+Method(m102)
+{
+ Name(ts, "m102")
+ Name(s000, "qqqqqqqqqqqqqq")
+ Method(m001, 2)
+ {
+ Store(0x38, Index(arg0, 0))
+ }
+
+ m001(s000, RefOf(s000))
+
+ Store(DerefOf(Index(s000, 0)), Local0)
+
+ if (LNotEqual(Local0, 0x38)) {
+ err(ts, z155, 0x004, 0, 0, Local0, 0x38)
+ }
+
+ CH03(ts, z155, 0x005, 0, 0)
+}
+
+/*
+ * Element of Package instead of i000 (in m001)
+ */
+Method(m103, 1)
+{
+ Name(ts, "m103")
+ Name(i001, 0)
+ Name(p000, Package() {1,2,3,4})
+ Name(pp00, Package() {0x11111111, 0x00000001, 0x22223333})
+
+ CH03(ts, z155, 0x006, 0, 0)
+
+ Store(arg0, i001)
+
+ Method(m001)
+ {
+ Method(m002)
+ {
+ Method(m003)
+ {
+ Method(m004)
+ {
+ Method(m005)
+ {
+ Method(m006)
+ {
+ Method(m007)
+ {
+ Method(m008)
+ {
+ if (i001)
+ {
+ Store(p000, Index(pp00, 1))
+ }
+ Return (0)
+ }
+ Store(0x80000000, Index(pp00, 1))
+ Return (Add(DerefOf(Index(pp00, 1)), m008()))
+ }
+ Store(0x07000000, Index(pp00, 1))
+ Return (Add(DerefOf(Index(pp00, 1)), m007()))
+ }
+ Store(0x00600000, Index(pp00, 1))
+ Return (Add(DerefOf(Index(pp00, 1)), m006()))
+ }
+ Store(0x00050000, Index(pp00, 1))
+ Return (Add(DerefOf(Index(pp00, 1)), m005()))
+ }
+ Store(0x00004000, Index(pp00, 1))
+ Return (Add(DerefOf(Index(pp00, 1)), m004()))
+ }
+ Store(0x00000300, Index(pp00, 1))
+ Return (Add(DerefOf(Index(pp00, 1)), m003()))
+ }
+ Store(0x00000020, Index(pp00, 1))
+ Return (Add(DerefOf(Index(pp00, 1)), m002()))
+ }
+ Store(Add(DerefOf(Index(pp00, 1)), m001()), Local0)
+
+ if (LNotEqual(Local0, 0x87654321)) {
+ err(ts, z155, 0x007, 0, 0, Local0, 0x87654321)
+ }
+
+ Store(DerefOf(Index(pp00, 1)), Local0)
+
+ if (LNotEqual(Local0, 0x80000000)) {
+ err(ts, z155, 0x008, 0, 0, Local0, 0x80000000)
+ }
+
+ CH03(ts, z155, 0x009, 0, 0)
+}
+
+/*
+ * Element of Package instead of i000 (in m002)
+ */
+Method(m104)
+{
+ Name(ts, "m104")
+ Name(i001, 0)
+ Name(pp00, Package() {0x11111111, 0x00100000, 0x22223333})
+
+ Method(m001)
+ {
+ if (LLess(i001, 100)) {
+
+ Store(DerefOf(Index(pp00, 1)), Local0)
+ Increment(Local0)
+ Store(Local0, Index(pp00, 1))
+ Increment(i001)
+ Add(DerefOf(Index(pp00, 1)), m001(), Local0)
+ Return (Local0)
+ }
+ Return (0)
+ }
+ Store(Add(DerefOf(Index(pp00, 1)), m001()), Local0)
+
+ if (LNotEqual(Local0, 0x065013BA)) {
+ err(ts, z155, 0x00a, 0, 0, Local0, 0x065013BA)
+ }
+
+ Store(DerefOf(Index(pp00, 1)), Local0)
+
+ if (LNotEqual(Local0, 0x00100064)) {
+ err(ts, z155, 0x00b, 0, 0, Local0, 0x00100064)
+ }
+
+ CH03(ts, z155, 0x00c, 0, 0)
+}
+
+/*
+ * Buffer Field instead of i000 (in m001)
+ */
+Method(m105, 1)
+{
+ Name(ts, "m105")
+ Name(i001, 0)
+ Name(b000, Buffer(16) {})
+ CreateField(b000, 5, 32, bf00)
+
+ CH03(ts, z155, 0x00d, 0, 0)
+
+ Store(arg0, i001)
+
+ Method(m001)
+ {
+ Method(m002)
+ {
+ Method(m003)
+ {
+ Method(m004)
+ {
+ Method(m005)
+ {
+ Method(m006)
+ {
+ Method(m007)
+ {
+ Method(m008)
+ {
+ if (i001)
+ {
+ Store(0x11223344, bf00)
+ }
+ Return (0)
+ }
+ Store(0x80000000, bf00)
+ Return (Add(bf00, m008()))
+ }
+ Store(0x07000000, bf00)
+ Return (Add(bf00, m007()))
+ }
+ Store(0x00600000, bf00)
+ Return (Add(bf00, m006()))
+ }
+ Store(0x00050000, bf00)
+ Return (Add(bf00, m005()))
+ }
+ Store(0x00004000, bf00)
+ Return (Add(bf00, m004()))
+ }
+ Store(0x00000300, bf00)
+ Return (Add(bf00, m003()))
+ }
+ Store(0x00000020, bf00)
+ Return (Add(bf00, m002()))
+ }
+
+ Store(0x00000001, bf00)
+
+ Store(Add(bf00, m001()), Local0)
+
+ if (LNotEqual(Local0, 0x87654321)) {
+ err(ts, z155, 0x00e, 0, 0, Local0, 0x87654321)
+ }
+
+ if (arg0) {
+ Store(0x11223344, Local1)
+ } else {
+ Store(0x80000000, Local1)
+ }
+
+ if (LNotEqual(bf00, Local1)) {
+ err(ts, z155, 0x00f, 0, 0, bf00, Local1)
+ }
+
+ CH03(ts, z155, 0x010, 0, 0)
+}
+
+/*
+ * Field instead of i000 (in m001)
+ */
+Method(m106, 1)
+{
+ Name(ts, "m106")
+ Name(i001, 0)
+ OperationRegion(r000, SystemMemory, 0x100, 0x100)
+ Field(r000, ByteAcc, NoLock, Preserve) { f000,32, f001,32 }
+
+ CH03(ts, z155, 0x011, 0, 0)
+
+ Store(arg0, i001)
+
+ Method(m001)
+ {
+ Method(m002)
+ {
+ Method(m003)
+ {
+ Method(m004)
+ {
+ Method(m005)
+ {
+ Method(m006)
+ {
+ Method(m007)
+ {
+ Method(m008)
+ {
+ if (i001)
+ {
+ Store(0x11223344, f001)
+ }
+ Return (0)
+ }
+ Store(0x80000000, f001)
+ Return (Add(f001, m008()))
+ }
+ Store(0x07000000, f001)
+ Return (Add(f001, m007()))
+ }
+ Store(0x00600000, f001)
+ Return (Add(f001, m006()))
+ }
+ Store(0x00050000, f001)
+ Return (Add(f001, m005()))
+ }
+ Store(0x00004000, f001)
+ Return (Add(f001, m004()))
+ }
+ Store(0x00000300, f001)
+ Return (Add(f001, m003()))
+ }
+ Store(0x00000020, f001)
+ Return (Add(f001, m002()))
+ }
+
+ Store(0x00000001, f001)
+
+ Store(Add(f001, m001()), Local0)
+
+ if (LNotEqual(Local0, 0x87654321)) {
+ err(ts, z155, 0x012, 0, 0, Local0, 0x87654321)
+ }
+
+ if (arg0) {
+ Store(0x11223344, Local1)
+ } else {
+ Store(0x80000000, Local1)
+ }
+
+ if (LNotEqual(f001, Local1)) {
+ err(ts, z155, 0x013, 0, 0, f001, Local1)
+ }
+
+ CH03(ts, z155, 0x014, 0, 0)
+}
+
+/*
+ * Bank Field instead of i000 (in m001)
+ *
+ * (is this test correct?)
+ */
+Method(m107, 1)
+{
+ Name(ts, "m107")
+ Name(i001, 0)
+ OperationRegion(r000, SystemMemory, 0x100, 0x100)
+ Field(r000, ByteAcc, NoLock, Preserve) { f000,32, f001,32 }
+ BankField(r000, f001, 0, ByteAcc, NoLock, Preserve) { bnk0, 32 }
+
+ CH03(ts, z155, 0x015, 0, 0)
+
+ Store(arg0, i001)
+
+ Method(m001)
+ {
+ Method(m002)
+ {
+ Method(m003)
+ {
+ Method(m004)
+ {
+ Method(m005)
+ {
+ Method(m006)
+ {
+ Method(m007)
+ {
+ Method(m008)
+ {
+ if (i001)
+ {
+ Store(0x11223344, bnk0)
+ }
+ Return (0)
+ }
+ Store(0x80000000, bnk0)
+ Return (Add(bnk0, m008()))
+ }
+ Store(0x07000000, bnk0)
+ Return (Add(bnk0, m007()))
+ }
+ Store(0x00600000, bnk0)
+ Return (Add(bnk0, m006()))
+ }
+ Store(0x00050000, bnk0)
+ Return (Add(bnk0, m005()))
+ }
+ Store(0x00004000, bnk0)
+ Return (Add(bnk0, m004()))
+ }
+ Store(0x00000300, bnk0)
+ Return (Add(bnk0, m003()))
+ }
+ Store(0x00000020, bnk0)
+ Return (Add(bnk0, m002()))
+ }
+
+ Store(0x00000001, bnk0)
+
+ Store(Add(bnk0, m001()), Local0)
+
+ if (LNotEqual(Local0, 0x87654321)) {
+ err(ts, z155, 0x016, 0, 0, Local0, 0x87654321)
+ }
+
+ if (arg0) {
+ Store(0x11223344, Local1)
+ } else {
+ Store(0x80000000, Local1)
+ }
+
+ if (LNotEqual(bnk0, Local1)) {
+ err(ts, z155, 0x017, 0, 0, bnk0, Local1)
+ }
+
+ CH03(ts, z155, 0x018, 0, 0)
+}
+
+/*
+ * Index Field instead of i000 (in m001)
+ *
+ * (is this test correct?)
+ */
+Method(m108, 1)
+{
+ Name(ts, "m108")
+ Name(i001, 0)
+ OperationRegion(r000, SystemMemory, 0x100, 0x100)
+ Field(r000, ByteAcc, NoLock, Preserve) { f000,32, f001,32 }
+ IndexField(f000, f001, ByteAcc, NoLock, Preserve) { if00, 32 }
+
+ CH03(ts, z155, 0x019, 0, 0)
+
+ Store(arg0, i001)
+
+ Method(m001)
+ {
+ Method(m002)
+ {
+ Method(m003)
+ {
+ Method(m004)
+ {
+ Method(m005)
+ {
+ Method(m006)
+ {
+ Method(m007)
+ {
+ Method(m008)
+ {
+ if (i001)
+ {
+ Store(0x11223344, if00)
+ }
+ Return (0)
+ }
+ Store(0x80000000, if00)
+ Return (Add(if00, m008()))
+ }
+ Store(0x07000000, if00)
+ Return (Add(if00, m007()))
+ }
+ Store(0x00600000, if00)
+ Return (Add(if00, m006()))
+ }
+ Store(0x00050000, if00)
+ Return (Add(if00, m005()))
+ }
+ Store(0x00004000, if00)
+ Return (Add(if00, m004()))
+ }
+ Store(0x00000300, if00)
+ Return (Add(if00, m003()))
+ }
+ Store(0x00000020, if00)
+ Return (Add(if00, m002()))
+ }
+
+ Store(0x00000001, if00)
+
+ Store(Add(if00, m001()), Local0)
+
+ if (LNotEqual(Local0, 0x87654321)) {
+ err(ts, z155, 0x01a, 0, 0, Local0, 0x87654321)
+ }
+
+ if (arg0) {
+ Store(0x11223344, Local1)
+ } else {
+ Store(0x80000000, Local1)
+ }
+
+ if (LNotEqual(if00, Local1)) {
+ err(ts, z155, 0x01b, 0, 0, if00, Local1)
+ }
+
+ CH03(ts, z155, 0x01c, 0, 0)
+}
+
+/*
+ * Element of Buffer instead of i000 (in m001)
+ */
+Method(m109, 1)
+{
+ Name(ts, "m109")
+ Name(i001, 0)
+ Name(b000, Buffer() {0x11, 0x01, 0x22})
+
+ CH03(ts, z155, 0x01d, 0, 0)
+
+ Store(arg0, i001)
+
+ Method(m001)
+ {
+ Method(m002)
+ {
+ Method(m003)
+ {
+ Method(m004)
+ {
+ Method(m005)
+ {
+ Method(m006)
+ {
+ Method(m007)
+ {
+ Method(m008)
+ {
+ if (i001)
+ {
+ Store(0xff, Index(b000, 1))
+ }
+ Return (0)
+ }
+ Store(0x08, Index(b000, 1))
+ Return (Add(DerefOf(Index(b000, 1)), m008()))
+ }
+ Store(0x07, Index(b000, 1))
+ Return (Add(DerefOf(Index(b000, 1)), m007()))
+ }
+ Store(0x06, Index(b000, 1))
+ Return (Add(DerefOf(Index(b000, 1)), m006()))
+ }
+ Store(0x05, Index(b000, 1))
+ Return (Add(DerefOf(Index(b000, 1)), m005()))
+ }
+ Store(0x04, Index(b000, 1))
+ Return (Add(DerefOf(Index(b000, 1)), m004()))
+ }
+ Store(0x03, Index(b000, 1))
+ Return (Add(DerefOf(Index(b000, 1)), m003()))
+ }
+ Store(0x02, Index(b000, 1))
+ Return (Add(DerefOf(Index(b000, 1)), m002()))
+ }
+ Store(Add(DerefOf(Index(b000, 1)), m001()), Local0)
+
+ if (LNotEqual(Local0, 0x24)) {
+ err(ts, z155, 0x01e, 0, 0, Local0, 0x24)
+ }
+
+ Store(DerefOf(Index(b000, 1)), Local0)
+
+ if (arg0) {
+ Store(0xff, Local1)
+ } else {
+ Store(0x08, Local1)
+ }
+
+ if (LNotEqual(Local0, Local1)) {
+ err(ts, z155, 0x01f, 0, 0, Local0, Local1)
+ }
+
+ CH03(ts, z155, 0x020, 0, 0)
+}
+
+/*
+ * Element of String instead of i000 (in m001)
+ */
+Method(m10a, 1)
+{
+ Name(ts, "m10a")
+ Name(i001, 0)
+ Name(s000, "q\001ertyuiop")
+
+ CH03(ts, z155, 0x021, 0, 0)
+
+ Store(arg0, i001)
+
+ Method(m001)
+ {
+ Method(m002)
+ {
+ Method(m003)
+ {
+ Method(m004)
+ {
+ Method(m005)
+ {
+ Method(m006)
+ {
+ Method(m007)
+ {
+ Method(m008)
+ {
+ if (i001)
+ {
+ Store(0xff, Index(s000, 1))
+ }
+ Return (0)
+ }
+ Store(0x08, Index(s000, 1))
+ Return (Add(DerefOf(Index(s000, 1)), m008()))
+ }
+ Store(0x07, Index(s000, 1))
+ Return (Add(DerefOf(Index(s000, 1)), m007()))
+ }
+ Store(0x06, Index(s000, 1))
+ Return (Add(DerefOf(Index(s000, 1)), m006()))
+ }
+ Store(0x05, Index(s000, 1))
+ Return (Add(DerefOf(Index(s000, 1)), m005()))
+ }
+ Store(0x04, Index(s000, 1))
+ Return (Add(DerefOf(Index(s000, 1)), m004()))
+ }
+ Store(0x03, Index(s000, 1))
+ Return (Add(DerefOf(Index(s000, 1)), m003()))
+ }
+ Store(0x02, Index(s000, 1))
+ Return (Add(DerefOf(Index(s000, 1)), m002()))
+ }
+ Store(Add(DerefOf(Index(s000, 1)), m001()), Local0)
+
+ if (LNotEqual(Local0, 0x24)) {
+ err(ts, z155, 0x022, 0, 0, Local0, 0x24)
+ }
+
+ Store(DerefOf(Index(s000, 1)), Local0)
+
+ if (arg0) {
+ Store(0xff, Local1)
+ } else {
+ Store(0x08, Local1)
+ }
+
+ if (LNotEqual(Local0, Local1)) {
+ err(ts, z155, 0x023, 0, 0, Local0, Local1)
+ }
+
+ CH03(ts, z155, 0x024, 0, 0)
+}
+
+Method(n001)
+{
+if (1) {
+ SRMT("m100")
+ m100()
+ SRMT("m101")
+ m101()
+ SRMT("m102")
+ m102()
+ SRMT("m103-0")
+ m103(0)
+ SRMT("m103-1")
+ if (y200) {
+ m103(1)
+ } else {
+ BLCK()
+ }
+ SRMT("m104")
+ m104()
+ SRMT("m105-0")
+ m105(0)
+ SRMT("m105-1")
+ m105(1)
+ SRMT("m106-0")
+ m106(0)
+ SRMT("m106-1")
+ m106(1)
+ SRMT("m107-0")
+ m107(0)
+ SRMT("m107-1")
+ m107(1)
+ SRMT("m108-0")
+ m108(0)
+ SRMT("m108-1")
+ m108(1)
+ SRMT("m109-0")
+ m109(0)
+ SRMT("m109-1")
+ m109(1)
+ SRMT("m10a-0")
+ m10a(0)
+ SRMT("m10a-1")
+ m10a(1)
+ SRMT("m10a-0-2") // Run it twice: see bug 265
+ m10a(0)
+ m10a(0)
+} else {
+ SRMT("m10a-0")
+ m10a(0)
+ SRMT("m10a-1")
+ m10a(0)
+}
+}
+
diff --git a/tests/aslts/src/runtime/collections/complex/namespace/ns2.asl b/tests/aslts/src/runtime/collections/complex/namespace/ns2.asl
new file mode 100644
index 000000000..9f2f7ddd3
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/namespace/ns2.asl
@@ -0,0 +1,163 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+Name(z156, 156)
+
+/*
+ * Check access to elements Package/Buffer/String and Buffer Field
+ * where the parent is an element of some complex object (Device).
+ */
+
+Method(m200)
+{
+ Name(ts, "m200")
+ Device(d000)
+ {
+ Name(p000, Package() {0xabcd0000, 0xabcd0001, 0xabcd0002})
+ }
+
+ Method(m001, 2)
+ {
+ Store(0x11112222, Index(arg0, 0))
+ }
+
+ m001(d000.p000, RefOf(d000.p000))
+
+ Store(DerefOf(Index(d000.p000, 0)), Local0)
+
+ if (LNotEqual(Local0, 0x11112222)) {
+ err(ts, z156, 0x000, 0, 0, Local0, 0x11112222)
+ }
+
+ CH03(ts, z156, 0x001, 0, 0)
+}
+
+Method(m201)
+{
+ Name(ts, "m201")
+ Device(d000)
+ {
+ Name(b000, Buffer() {0x10, 0x11, 0x12})
+ }
+ Method(m001, 2)
+ {
+ Store(0x67, Index(arg0, 0))
+ }
+
+ m001(d000.b000, RefOf(d000.b000))
+
+ Store(DerefOf(Index(d000.b000, 0)), Local0)
+
+ if (LNotEqual(Local0, 0x67)) {
+ err(ts, z156, 0x002, 0, 0, Local0, 0x67)
+ }
+
+ CH03(ts, z156, 0x003, 0, 0)
+}
+
+Method(m202)
+{
+ Name(ts, "m202")
+ Device(d000)
+ {
+ Name(s000, "qqqqqqqqqqqqqq")
+ }
+ Method(m001, 2)
+ {
+ Store(0x38, Index(arg0, 0))
+ }
+
+ m001(d000.s000, RefOf(d000.s000))
+
+ Store(DerefOf(Index(d000.s000, 0)), Local0)
+
+ if (LNotEqual(Local0, 0x38)) {
+ err(ts, z156, 0x004, 0, 0, Local0, 0x38)
+ }
+
+ CH03(ts, z156, 0x005, 0, 0)
+}
+
+/*
+ * Element of Package instead of i000 (in m002)
+ */
+Method(m204)
+{
+ Name(ts, "m204")
+ Name(i001, 0)
+ Device(d000)
+ {
+ Name(pp00, Package() {0x11111111, 0x00100000, 0x22223333})
+ }
+
+ Method(m001)
+ {
+ if (LLess(i001, 100)) {
+
+ Store(DerefOf(Index(^d000.pp00, 1)), Local0)
+ Increment(Local0)
+ Store(Local0, Index(^d000.pp00, 1))
+ Increment(i001)
+ Add(DerefOf(Index(^d000.pp00, 1)), m001(), Local0)
+ Return (Local0)
+ }
+ Return (0)
+ }
+ Store(Add(DerefOf(Index(d000.pp00, 1)), m001()), Local0)
+
+ if (LNotEqual(Local0, 0x065013BA)) {
+ err(ts, z156, 0x00a, 0, 0, Local0, 0x065013BA)
+ }
+
+ Store(DerefOf(Index(d000.pp00, 1)), Local0)
+
+ if (LNotEqual(Local0, 0x00100064)) {
+ err(ts, z156, 0x00b, 0, 0, Local0, 0x00100064)
+ }
+
+ CH03(ts, z156, 0x00c, 0, 0)
+}
+
+Method(n002)
+{
+if (1) {
+ SRMT("m200")
+ m200()
+ SRMT("m201")
+ m201()
+ SRMT("m202")
+ m202()
+ SRMT("m204")
+ m204()
+} else {
+ SRMT("m200")
+ m200()
+}
+}
+
diff --git a/tests/aslts/src/runtime/collections/complex/namespace/ns2_root.asl b/tests/aslts/src/runtime/collections/complex/namespace/ns2_root.asl
new file mode 100644
index 000000000..2f76ccf2f
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/namespace/ns2_root.asl
@@ -0,0 +1,221 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+/*
+ * ns2 originated but has names from root
+ */
+
+/*
+ * Element of Package instead of i000 (in m001)
+ */
+Method(m203, 1)
+{
+ Name(ts, "m203")
+ Name(i001, 0)
+ Name(p000, Package() {1,2,3,4})
+ Device(d000)
+ {
+ Name(pp00, Package() {0x11111111, 0x00000001, 0x22223333})
+ }
+
+ CH03(ts, z156, 0x006, 0, 0)
+
+ Store(arg0, i001)
+
+ Method(m001)
+ {
+ Method(m002)
+ {
+ Method(m003)
+ {
+ Method(m004)
+ {
+ Method(m005)
+ {
+ Method(m006)
+ {
+ Method(m007)
+ {
+ Method(m008)
+ {
+ if (i001)
+ {
+ Store(p000, Index(\m203.d000.pp00, 1))
+ }
+ Return (0)
+ }
+ Store(0x80000000, Index(\m203.d000.pp00, 1))
+ Return (Add(DerefOf(Index(\m203.d000.pp00, 1)), m008()))
+ }
+ Store(0x07000000, Index(\m203.d000.pp00, 1))
+ Return (Add(DerefOf(Index(\m203.d000.pp00, 1)), m007()))
+ }
+ Store(0x00600000, Index(\m203.d000.pp00, 1))
+ Return (Add(DerefOf(Index(\m203.d000.pp00, 1)), m006()))
+ }
+ Store(0x00050000, Index(\m203.d000.pp00, 1))
+ Return (Add(DerefOf(Index(\m203.d000.pp00, 1)), m005()))
+ }
+ Store(0x00004000, Index(\m203.d000.pp00, 1))
+ Return (Add(DerefOf(Index(\m203.d000.pp00, 1)), m004()))
+ }
+ Store(0x00000300, Index(\m203.d000.pp00, 1))
+ Return (Add(DerefOf(Index(\m203.d000.pp00, 1)), m003()))
+ }
+ Store(0x00000020, Index(^d000.pp00, 1))
+ Return (Add(DerefOf(Index(^d000.pp00, 1)), m002()))
+ }
+ Store(Add(DerefOf(Index(d000.pp00, 1)), m001()), Local0)
+
+ if (LNotEqual(Local0, 0x87654321)) {
+ err(ts, z156, 0x007, 0, 0, Local0, 0x87654321)
+ }
+
+ Store(DerefOf(Index(d000.pp00, 1)), Local0)
+
+ if (LNotEqual(Local0, 0x80000000)) {
+ err(ts, z156, 0x008, 0, 0, Local0, 0x80000000)
+ }
+
+ CH03(ts, z156, 0x009, 0, 0)
+}
+
+/*
+ * Buffer Field instead of i000 (in m001)
+ */
+Method(m205, 1)
+{
+ Name(ts, "m205")
+ Name(i001, 0)
+ Name(p000, Package() {1,2,3,4})
+
+ CH03(ts, z156, 0x00d, 0, 0)
+
+ Device(d000)
+ {
+ Name(b000, Buffer(16) {})
+ CreateField(b000, 5, 32, bf00)
+ }
+
+ CH03(ts, z156, 0x00e, 0, 0)
+
+ if (0) {
+ CreateField(d000.b000, 5, 32, bf00)
+ }
+
+ Store(arg0, i001)
+
+ Method(m001)
+ {
+ Method(m002)
+ {
+ Method(m003)
+ {
+ Method(m004)
+ {
+ Method(m005)
+ {
+ Method(m006)
+ {
+ Method(m007)
+ {
+ Method(m008)
+ {
+ if (i001)
+ {
+ Store(p000, Index(\m205.d000.bf00, 1))
+ }
+ Return (0)
+ }
+ Store(0x80000000, Index(\m205.d000.bf00, 1))
+ Return (Add(DerefOf(Index(\m205.d000.bf00, 1)), m008()))
+ }
+ Store(0x07000000, Index(\m205.d000.bf00, 1))
+ Return (Add(DerefOf(Index(\m205.d000.bf00, 1)), m007()))
+ }
+ Store(0x00600000, Index(\m205.d000.bf00, 1))
+ Return (Add(DerefOf(Index(\m205.d000.bf00, 1)), m006()))
+ }
+ Store(0x00050000, Index(\m205.d000.bf00, 1))
+ Return (Add(DerefOf(Index(\m205.d000.bf00, 1)), m005()))
+ }
+ Store(0x00004000, Index(\m205.d000.bf00, 1))
+ Return (Add(DerefOf(Index(\m205.d000.bf00, 1)), m004()))
+ }
+ Store(0x00000300, Index(\m205.d000.bf00, 1))
+ Return (Add(DerefOf(Index(\m205.d000.bf00, 1)), m003()))
+ }
+ Store(0x00000020, Index(^d000.bf00, 1))
+ Return (Add(DerefOf(Index(^d000.bf00, 1)), m002()))
+ }
+ Store(Add(DerefOf(Index(d000.bf00, 1)), m001()), Local0)
+
+ if (LNotEqual(Local0, 0x87654321)) {
+ err(ts, z156, 0x00f, 0, 0, Local0, 0x87654321)
+ }
+
+ Store(DerefOf(Index(d000.bf00, 1)), Local0)
+
+ if (LNotEqual(Local0, 0x80000000)) {
+ err(ts, z156, 0x010, 0, 0, Local0, 0x80000000)
+ }
+
+ CH03(ts, z156, 0x011, 0, 0)
+}
+
+Method(n102)
+{
+if (1) {
+
+ SRMT("m203-0")
+ m203(0)
+ SRMT("m203-1")
+ if (y200) {
+ m203(1)
+ } else {
+ BLCK()
+ }
+ SRMT("m205-0")
+ if (y216) {
+ m205(0)
+ } else {
+ BLCK()
+ }
+ SRMT("m205-1")
+ if (LAnd(y200, y216)) {
+ m205(1)
+ } else {
+ BLCK()
+ }
+} else {
+ SRMT("m205-0")
+ m205(0)
+}
+}
+
diff --git a/tests/aslts/src/runtime/collections/complex/namespace/ns3.asl b/tests/aslts/src/runtime/collections/complex/namespace/ns3.asl
new file mode 100644
index 000000000..57a19343f
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/namespace/ns3.asl
@@ -0,0 +1,978 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+/*
+ * The tests differ those from ns1.asl by that the parent object is
+ * passed to methods as argument (Arg) but not directly by name.
+ */
+Name(z157, 157)
+
+Method(m300)
+{
+ Name(ts, "m300")
+ Name(p000, Package() {0xabcd0000, 0xabcd0001, 0xabcd0002})
+ Method(m000, 1)
+ {
+ Method(m001, 2)
+ {
+ Store(0x11112222, Index(arg0, 0))
+ }
+
+ m001(arg0, RefOf(arg0))
+
+ Store(DerefOf(Index(arg0, 0)), Local0)
+
+ if (LNotEqual(Local0, 0x11112222)) {
+ err(ts, z157, 0x000, 0, 0, Local0, 0x11112222)
+ }
+ }
+
+ m000(p000)
+
+ Store(DerefOf(Index(p000, 0)), Local0)
+
+ if (LNotEqual(Local0, 0x11112222)) {
+ err(ts, z157, 0x001, 0, 0, Local0, 0x11112222)
+ }
+
+ CH03(ts, z157, 0x002, 0, 0)
+}
+
+Method(m301)
+{
+ Name(ts, "m301")
+ Name(b000, Buffer() {0x10, 0x11, 0x12})
+
+ Method(m000, 1)
+ {
+ Method(m001, 2)
+ {
+ Store(0x67, Index(arg0, 0))
+ }
+
+ m001(arg0, RefOf(arg0))
+
+ Store(DerefOf(Index(arg0, 0)), Local0)
+
+ if (LNotEqual(Local0, 0x67)) {
+ err(ts, z157, 0x003, 0, 0, Local0, 0x67)
+ }
+ }
+
+ m000(b000)
+
+ Store(DerefOf(Index(b000, 0)), Local0)
+
+ if (LNotEqual(Local0, 0x67)) {
+ err(ts, z157, 0x004, 0, 0, Local0, 0x67)
+ }
+
+ CH03(ts, z157, 0x005, 0, 0)
+}
+
+Method(m302)
+{
+ Name(ts, "m302")
+ Name(s000, "qqqqqqqqqqqqqq")
+ Method(m000, 1)
+ {
+ Method(m001, 2)
+ {
+ Store(0x38, Index(arg0, 0))
+ }
+
+ m001(arg0, RefOf(arg0))
+
+ Store(DerefOf(Index(arg0, 0)), Local0)
+
+ if (LNotEqual(Local0, 0x38)) {
+ err(ts, z157, 0x006, 0, 0, Local0, 0x38)
+ }
+ }
+
+ m000(s000)
+
+ Store(DerefOf(Index(s000, 0)), Local0)
+
+ if (LNotEqual(Local0, 0x38)) {
+ err(ts, z157, 0x007, 0, 0, Local0, 0x38)
+ }
+
+ CH03(ts, z157, 0x008, 0, 0)
+}
+
+/*
+ * Element of Package instead of i000 (in m001)
+ */
+Method(m303, 1)
+{
+ Name(ts, "m303")
+ Name(pp00, Package() {0x11111111, 0x00000001, 0x22223333})
+
+ Method(m000, 2)
+ {
+ Name(i001, 0)
+ Name(p000, Package() {1,2,3,4})
+
+ CH03(ts, z157, 0x009, 0, 0)
+
+ Store(arg1, i001)
+
+ Method(m001, 1)
+ {
+ Method(m002, 1)
+ {
+ Method(m003, 1)
+ {
+ Method(m004, 1)
+ {
+ Method(m005, 1)
+ {
+ Method(m006, 1)
+ {
+ Method(m007, 1)
+ {
+ Method(m008, 1)
+ {
+ if (i001)
+ {
+ Store(p000, Index(arg0, 1))
+ }
+ Return (0)
+ }
+ Store(0x80000000, Index(arg0, 1))
+ Return (Add(DerefOf(Index(arg0, 1)), m008(arg0)))
+ }
+ Store(0x07000000, Index(arg0, 1))
+ Return (Add(DerefOf(Index(arg0, 1)), m007(arg0)))
+ }
+ Store(0x00600000, Index(arg0, 1))
+ Return (Add(DerefOf(Index(arg0, 1)), m006(arg0)))
+ }
+ Store(0x00050000, Index(arg0, 1))
+ Return (Add(DerefOf(Index(arg0, 1)), m005(arg0)))
+ }
+ Store(0x00004000, Index(arg0, 1))
+ Return (Add(DerefOf(Index(arg0, 1)), m004(arg0)))
+ }
+ Store(0x00000300, Index(arg0, 1))
+ Return (Add(DerefOf(Index(arg0, 1)), m003(arg0)))
+ }
+ Store(0x00000020, Index(arg0, 1))
+ Return (Add(DerefOf(Index(arg0, 1)), m002(arg0)))
+ }
+ Store(Add(DerefOf(Index(arg0, 1)), m001(arg0)), Local0)
+
+ if (LNotEqual(Local0, 0x87654321)) {
+ err(ts, z157, 0x00a, 0, 0, Local0, 0x87654321)
+ }
+
+ Store(DerefOf(Index(arg0, 1)), Local1)
+
+ if (LNotEqual(Local1, 0x80000000)) {
+ err(ts, z157, 0x00b, 0, 0, Local1, 0x80000000)
+ }
+
+ CH03(ts, z157, 0x00c, 0, 0)
+
+ Return (Local0)
+ }
+
+ Store(m000(pp00, arg0), Local0)
+
+ if (LNotEqual(Local0, 0x87654321)) {
+ err(ts, z157, 0x00d, 0, 0, Local0, 0x87654321)
+ }
+
+ Store(DerefOf(Index(pp00, 1)), Local0)
+
+ if (LNotEqual(Local0, 0x80000000)) {
+ err(ts, z157, 0x00e, 0, 0, Local0, 0x80000000)
+ }
+
+ CH03(ts, z157, 0x00f, 0, 0)
+}
+
+/*
+ * Element of Package instead of i000 (in m002)
+ */
+Method(m304)
+{
+ Name(ts, "m304")
+ Name(i001, 0)
+ Name(pp00, Package() {0x11111111, 0x00100000, 0x22223333})
+
+ Method(m000, 1)
+ {
+ Method(m001, 1)
+ {
+ if (LLess(i001, 100)) {
+ Store(DerefOf(Index(arg0, 1)), Local0)
+ Increment(Local0)
+ Store(Local0, Index(arg0, 1))
+ Increment(i001)
+ Add(DerefOf(Index(arg0, 1)), m001(arg0), Local0)
+ Return (Local0)
+ }
+ Return (0)
+ }
+ Store(Add(DerefOf(Index(arg0, 1)), m001(arg0)), Local0)
+
+ if (LNotEqual(Local0, 0x065013BA)) {
+ err(ts, z157, 0x010, 0, 0, Local0, 0x065013BA)
+ }
+
+ Store(DerefOf(Index(arg0, 1)), Local1)
+
+ if (LNotEqual(Local1, 0x00100064)) {
+ err(ts, z157, 0x011, 0, 0, Local1, 0x00100064)
+ }
+ Return (Local0)
+ }
+
+ Store(m000(pp00), Local0)
+
+ if (LNotEqual(Local0, 0x065013BA)) {
+ err(ts, z157, 0x012, 0, 0, Local0, 0x065013BA)
+ }
+
+ Store(DerefOf(Index(pp00, 1)), Local1)
+
+ if (LNotEqual(Local1, 0x00100064)) {
+ err(ts, z157, 0x013, 0, 0, Local1, 0x00100064)
+ }
+
+ CH03(ts, z157, 0x014, 0, 0)
+}
+
+/*
+ * Buffer Field instead of i000 (in m001)
+ */
+Method(m305)
+{
+ Name(ts, "m305")
+ Name(b000, Buffer(16) {})
+
+ CH03(ts, z157, 0x015, 0, 0)
+
+ CreateField(b000, 5, 32, bf00)
+ Store(0xabcdef70, bf00)
+
+ Method(m000, 1)
+ {
+ Method(m001)
+ {
+ Method(m002)
+ {
+ Method(m003)
+ {
+ Method(m004)
+ {
+ Method(m005)
+ {
+ Method(m006)
+ {
+ Method(m007)
+ {
+ Method(m008)
+ {
+ Return (0)
+ }
+ Store(0x80000000, arg0)
+ Return (Add(arg0, m008()))
+ }
+ Store(0x07000000, arg0)
+ Return (Add(arg0, m007()))
+ }
+ Store(0x00600000, arg0)
+ Return (Add(arg0, m006()))
+ }
+ Store(0x00050000, arg0)
+ Return (Add(arg0, m005()))
+ }
+ Store(0x00004000, arg0)
+ Return (Add(arg0, m004()))
+ }
+ Store(0x00000300, arg0)
+ Return (Add(arg0, m003()))
+ }
+ Store(0x00000020, arg0)
+ Return (Add(arg0, m002()))
+ }
+
+ Store(0x0000001, arg0)
+
+ Store(Add(arg0, m001()), Local0)
+
+ if (LNotEqual(Local0, 0x87654321)) {
+ err(ts, z157, 0x016, 0, 0, Local0, 0x87654321)
+ }
+
+ Store(0x0000001, Local1)
+
+ if (LNotEqual(arg0, Local1)) {
+ err(ts, z157, 0x017, 0, 0, arg0, Local1)
+ }
+
+ CH03(ts, z157, 0x018, 0, 0)
+
+ Return (Local0)
+ }
+
+ Store(m000(bf00), Local0)
+
+ if (LNotEqual(Local0, 0x87654321)) {
+ err(ts, z157, 0x019, 0, 0, Local0, 0x87654321)
+ }
+
+ Store(0xabcdef70, Local1)
+
+ if (LNotEqual(bf00, Local1)) {
+ err(ts, z157, 0x01a, 0, 0, bf00, Local1)
+ }
+
+ CH03(ts, z157, 0x01b, 0, 0)
+}
+
+/*
+ * Field instead of i000 (in m001)
+ */
+Method(m306)
+{
+ Name(ts, "m306")
+ Name(i001, 0)
+ OperationRegion(r000, SystemMemory, 0x100, 0x100)
+ Field(r000, ByteAcc, NoLock, Preserve) { f000,32, f001,32 }
+
+ CH03(ts, z157, 0x01c, 0, 0)
+
+ Store(0xabcdef70, f000)
+
+ Method(m000, 1)
+ {
+ Method(m001)
+ {
+ Method(m002)
+ {
+ Method(m003)
+ {
+ Method(m004)
+ {
+ Method(m005)
+ {
+ Method(m006)
+ {
+ Method(m007)
+ {
+ Method(m008)
+ {
+ Return (0)
+ }
+ Store(0x80000000, arg0)
+ Return (Add(arg0, m008()))
+ }
+ Store(0x07000000, arg0)
+ Return (Add(arg0, m007()))
+ }
+ Store(0x00600000, arg0)
+ Return (Add(arg0, m006()))
+ }
+ Store(0x00050000, arg0)
+ Return (Add(arg0, m005()))
+ }
+ Store(0x00004000, arg0)
+ Return (Add(arg0, m004()))
+ }
+ Store(0x00000300, arg0)
+ Return (Add(arg0, m003()))
+ }
+ Store(0x00000020, arg0)
+ Return (Add(arg0, m002()))
+ }
+
+ Store(0x0000001, arg0)
+
+ Store(Add(arg0, m001()), Local0)
+
+ if (LNotEqual(Local0, 0x87654321)) {
+ err(ts, z157, 0x01d, 0, 0, Local0, 0x87654321)
+ }
+
+ Store(0x0000001, Local1)
+
+ if (LNotEqual(arg0, Local1)) {
+ err(ts, z157, 0x01e, 0, 0, arg0, Local1)
+ }
+
+ CH03(ts, z157, 0x01f, 0, 0)
+
+ Return (Local0)
+ }
+
+ Store(m000(f000), Local0)
+
+ if (LNotEqual(Local0, 0x87654321)) {
+ err(ts, z157, 0x020, 0, 0, Local0, 0x87654321)
+ }
+
+ Store(0xabcdef70, Local1)
+
+ if (LNotEqual(f000, Local1)) {
+ err(ts, z157, 0x021, 0, 0, f000, Local1)
+ }
+
+ CH03(ts, z157, 0x022, 0, 0)
+}
+
+/*
+ * Bank Field instead of i000 (in m001)
+ */
+Method(m307)
+{
+ Name(ts, "m307")
+ Name(i001, 0)
+ OperationRegion(r000, SystemMemory, 0x100, 0x100)
+ Field(r000, ByteAcc, NoLock, Preserve) { f000,32, f001,32 }
+ BankField(r000, f001, 0, ByteAcc, NoLock, Preserve) { bnk0, 32 }
+
+ CH03(ts, z157, 0x023, 0, 0)
+
+ Store(0xabcdef70, bnk0)
+
+ Method(m000, 1)
+ {
+ Method(m001)
+ {
+ Method(m002)
+ {
+ Method(m003)
+ {
+ Method(m004)
+ {
+ Method(m005)
+ {
+ Method(m006)
+ {
+ Method(m007)
+ {
+ Method(m008)
+ {
+ Return (0)
+ }
+ Store(0x80000000, arg0)
+ Return (Add(arg0, m008()))
+ }
+ Store(0x07000000, arg0)
+ Return (Add(arg0, m007()))
+ }
+ Store(0x00600000, arg0)
+ Return (Add(arg0, m006()))
+ }
+ Store(0x00050000, arg0)
+ Return (Add(arg0, m005()))
+ }
+ Store(0x00004000, arg0)
+ Return (Add(arg0, m004()))
+ }
+ Store(0x00000300, arg0)
+ Return (Add(arg0, m003()))
+ }
+ Store(0x00000020, arg0)
+ Return (Add(arg0, m002()))
+ }
+
+ Store(0x0000001, arg0)
+
+ Store(Add(arg0, m001()), Local0)
+
+ if (LNotEqual(Local0, 0x87654321)) {
+ err(ts, z157, 0x024, 0, 0, Local0, 0x87654321)
+ }
+
+ Store(0x0000001, Local1)
+
+ if (LNotEqual(arg0, Local1)) {
+ err(ts, z157, 0x025, 0, 0, arg0, Local1)
+ }
+
+ CH03(ts, z157, 0x026, 0, 0)
+
+ Return (Local0)
+ }
+
+ Store(m000(bnk0), Local0)
+
+ if (LNotEqual(Local0, 0x87654321)) {
+ err(ts, z157, 0x027, 0, 0, Local0, 0x87654321)
+ }
+
+ Store(0xabcdef70, Local1)
+
+ if (LNotEqual(bnk0, Local1)) {
+ err(ts, z157, 0x028, 0, 0, bnk0, Local1)
+ }
+
+ CH03(ts, z157, 0x029, 0, 0)
+}
+
+/*
+ * Index Field instead of i000 (in m001)
+ */
+Method(m308)
+{
+ Name(ts, "m308")
+ Name(i001, 0)
+ OperationRegion(r000, SystemMemory, 0x100, 0x100)
+ Field(r000, ByteAcc, NoLock, Preserve) { f000,32, f001,32 }
+ IndexField(f000, f001, ByteAcc, NoLock, Preserve) { if00, 32 }
+
+ CH03(ts, z157, 0x02a, 0, 0)
+
+ Store(0xabcdef70, if00)
+
+ Method(m000, 1)
+ {
+ Method(m001)
+ {
+ Method(m002)
+ {
+ Method(m003)
+ {
+ Method(m004)
+ {
+ Method(m005)
+ {
+ Method(m006)
+ {
+ Method(m007)
+ {
+ Method(m008)
+ {
+ Return (0)
+ }
+ Store(0x80000000, arg0)
+ Return (Add(arg0, m008()))
+ }
+ Store(0x07000000, arg0)
+ Return (Add(arg0, m007()))
+ }
+ Store(0x00600000, arg0)
+ Return (Add(arg0, m006()))
+ }
+ Store(0x00050000, arg0)
+ Return (Add(arg0, m005()))
+ }
+ Store(0x00004000, arg0)
+ Return (Add(arg0, m004()))
+ }
+ Store(0x00000300, arg0)
+ Return (Add(arg0, m003()))
+ }
+ Store(0x00000020, arg0)
+ Return (Add(arg0, m002()))
+ }
+
+ Store(0x0000001, arg0)
+
+ Store(Add(arg0, m001()), Local0)
+
+ if (LNotEqual(Local0, 0x87654321)) {
+ err(ts, z157, 0x02b, 0, 0, Local0, 0x87654321)
+ }
+
+ Store(0x0000001, Local1)
+
+ if (LNotEqual(arg0, Local1)) {
+ err(ts, z157, 0x02c, 0, 0, arg0, Local1)
+ }
+
+ CH03(ts, z157, 0x02d, 0, 0)
+
+ Return (Local0)
+ }
+
+ Store(m000(if00), Local0)
+
+ if (LNotEqual(Local0, 0x87654321)) {
+ err(ts, z157, 0x02e, 0, 0, Local0, 0x87654321)
+ }
+
+ Store(0xabcdef70, Local1)
+
+ if (LNotEqual(if00, Local1)) {
+ err(ts, z157, 0x02f, 0, 0, if00, Local1)
+ }
+
+ CH03(ts, z157, 0x030, 0, 0)
+}
+
+/*
+ * Element of Buffer instead of i000 (in m001)
+ */
+Method(m309, 1)
+{
+ Name(ts, "m309")
+ Name(i001, 0)
+ Name(b000, Buffer() {0x11, 0x01, 0x22})
+
+ CH03(ts, z157, 0x031, 0, 0)
+
+ Store(arg0, i001)
+
+ Method(m000, 2)
+ {
+ Method(m001, 1)
+ {
+ Method(m002, 1)
+ {
+ Method(m003, 1)
+ {
+ Method(m004, 1)
+ {
+ Method(m005, 1)
+ {
+ Method(m006, 1)
+ {
+ Method(m007, 1)
+ {
+ Method(m008, 1)
+ {
+ if (i001)
+ {
+ Store(0xff, Index(arg0, 1))
+ }
+ Return (0)
+ }
+ Store(0x08, Index(arg0, 1))
+ Return (Add(DerefOf(Index(arg0, 1)), m008(arg0)))
+ }
+ Store(0x07, Index(arg0, 1))
+ Return (Add(DerefOf(Index(arg0, 1)), m007(arg0)))
+ }
+ Store(0x06, Index(arg0, 1))
+ Return (Add(DerefOf(Index(arg0, 1)), m006(arg0)))
+ }
+ Store(0x05, Index(arg0, 1))
+ Return (Add(DerefOf(Index(arg0, 1)), m005(arg0)))
+ }
+ Store(0x04, Index(arg0, 1))
+ Return (Add(DerefOf(Index(arg0, 1)), m004(arg0)))
+ }
+ Store(0x03, Index(arg0, 1))
+ Return (Add(DerefOf(Index(arg0, 1)), m003(arg0)))
+ }
+ Store(0x02, Index(arg0, 1))
+ Return (Add(DerefOf(Index(arg0, 1)), m002(arg0)))
+ }
+ Store(Add(DerefOf(Index(arg0, 1)), m001(arg0)), Local0)
+
+ if (LNotEqual(Local0, 0x24)) {
+ err(ts, z157, 0x032, 0, 0, Local0, 0x24)
+ }
+
+ Store(DerefOf(Index(arg0, 1)), Local1)
+
+ if (arg1) {
+ Store(0xff, Local2)
+ } else {
+ Store(0x08, Local2)
+ }
+
+ if (LNotEqual(Local1, Local2)) {
+ err(ts, z157, 0x033, 0, 0, Local1, Local2)
+ }
+
+ CH03(ts, z157, 0x034, 0, 0)
+
+ Return (Local0)
+ }
+
+ Store(m000(b000, arg0), Local0)
+
+ if (LNotEqual(Local0, 0x24)) {
+ err(ts, z157, 0x035, 0, 0, Local0, 0x24)
+ }
+
+ Store(DerefOf(Index(b000, 1)), Local1)
+
+ if (arg0) {
+ Store(0xff, Local2)
+ } else {
+ Store(0x08, Local2)
+ }
+
+ if (LNotEqual(Local1, Local2)) {
+ err(ts, z157, 0x036, 0, 0, Local1, Local2)
+ }
+
+ CH03(ts, z157, 0x037, 0, 0)
+}
+
+/*
+ * Element of String instead of i000 (in m001)
+ */
+Method(m30a, 1)
+{
+ Name(ts, "m30a")
+ Name(i001, 0)
+ Name(s000, "q\001ertyuiop")
+
+ CH03(ts, z157, 0x038, 0, 0)
+
+ Store(arg0, i001)
+
+ Method(m000, 2)
+ {
+ Method(m001, 1)
+ {
+ Method(m002, 1)
+ {
+ Method(m003, 1)
+ {
+ Method(m004, 1)
+ {
+ Method(m005, 1)
+ {
+ Method(m006, 1)
+ {
+ Method(m007, 1)
+ {
+ Method(m008, 1)
+ {
+ if (i001)
+ {
+ Store(0xff, Index(arg0, 1))
+ }
+ Return (0)
+ }
+ Store(0x08, Index(arg0, 1))
+ Return (Add(DerefOf(Index(arg0, 1)), m008(arg0)))
+ }
+ Store(0x07, Index(arg0, 1))
+ Return (Add(DerefOf(Index(arg0, 1)), m007(arg0)))
+ }
+ Store(0x06, Index(arg0, 1))
+ Return (Add(DerefOf(Index(arg0, 1)), m006(arg0)))
+ }
+ Store(0x05, Index(arg0, 1))
+ Return (Add(DerefOf(Index(arg0, 1)), m005(arg0)))
+ }
+ Store(0x04, Index(arg0, 1))
+ Return (Add(DerefOf(Index(arg0, 1)), m004(arg0)))
+ }
+ Store(0x03, Index(arg0, 1))
+ Return (Add(DerefOf(Index(arg0, 1)), m003(arg0)))
+ }
+ Store(0x02, Index(arg0, 1))
+ Return (Add(DerefOf(Index(arg0, 1)), m002(arg0)))
+ }
+ Store(Add(DerefOf(Index(arg0, 1)), m001(arg0)), Local0)
+
+ if (LNotEqual(Local0, 0x24)) {
+ err(ts, z157, 0x039, 0, 0, Local0, 0x24)
+ }
+
+ Store(DerefOf(Index(arg0, 1)), Local1)
+
+ if (arg1) {
+ Store(0xff, Local2)
+ } else {
+ Store(0x08, Local2)
+ }
+
+ if (LNotEqual(Local1, Local2)) {
+ err(ts, z157, 0x03a, 0, 0, Local1, Local2)
+ }
+
+ CH03(ts, z157, 0x03b, 0, 0)
+
+ Return (Local0)
+ }
+
+ Store(m000(s000, arg0), Local0)
+
+ if (LNotEqual(Local0, 0x24)) {
+ err(ts, z157, 0x03c, 0, 0, Local0, 0x24)
+ }
+
+ Store(DerefOf(Index(s000, 1)), Local1)
+
+ if (arg0) {
+ Store(0xff, Local2)
+ } else {
+ Store(0x08, Local2)
+ }
+
+ if (LNotEqual(Local1, Local2)) {
+ err(ts, z157, 0x03d, 0, 0, Local1, Local2)
+ }
+
+ CH03(ts, z157, 0x03e, 0, 0)
+}
+
+/*
+ * Buffer Field instead of i000 (in m001)
+ *
+ * CreateField deeper than parent
+ */
+Method(m30b, 1)
+{
+ Name(ts, "m30b")
+ Name(i001, 0)
+ Name(b000, Buffer(16) {})
+
+ Store(arg0, i001)
+
+ CH03(ts, z157, 0x03f, 0, 0)
+
+ Method(m000, 2)
+ {
+ CreateField(b000, 5, 32, bf00)
+
+ Method(m001)
+ {
+ Method(m002)
+ {
+ Method(m003)
+ {
+ Method(m004)
+ {
+ Method(m005)
+ {
+ Method(m006)
+ {
+ Method(m007)
+ {
+ Method(m008)
+ {
+ if (i001)
+ {
+ Store(0x11223344, bf00)
+ }
+ Return (0)
+ }
+ Store(0x80000000, bf00)
+ Return (Add(bf00, m008()))
+ }
+ Store(0x07000000, bf00)
+ Return (Add(bf00, m007()))
+ }
+ Store(0x00600000, bf00)
+ Return (Add(bf00, m006()))
+ }
+ Store(0x00050000, bf00)
+ Return (Add(bf00, m005()))
+ }
+ Store(0x00004000, bf00)
+ Return (Add(bf00, m004()))
+ }
+ Store(0x00000300, bf00)
+ Return (Add(bf00, m003()))
+ }
+ Store(0x00000020, bf00)
+ Return (Add(bf00, m002()))
+ }
+
+ Store(0x00000001, bf00)
+
+ Store(Add(bf00, m001()), Local0)
+
+ if (LNotEqual(Local0, 0x87654321)) {
+ err(ts, z157, 0x040, 0, 0, Local0, 0x87654321)
+ }
+
+ if (arg1) {
+ Store(0x11223344, Local1)
+ } else {
+ Store(0x80000000, Local1)
+ }
+
+ if (LNotEqual(bf00, Local1)) {
+ err(ts, z157, 0x041, 0, 0, bf00, Local1)
+ }
+
+ CH03(ts, z157, 0x042, 0, 0)
+
+ Return (Local0)
+ }
+
+ Store(m000(0, arg0), Local0)
+
+ if (LNotEqual(Local0, 0x87654321)) {
+ err(ts, z157, 0x043, 0, 0, Local0, 0x87654321)
+ }
+
+ CH03(ts, z157, 0x044, 0, 0)
+}
+
+Method(n003)
+{
+if (1) {
+ SRMT("m300")
+ m300()
+ SRMT("m301")
+ m301()
+ SRMT("m302")
+ m302()
+ SRMT("m303-0")
+ m303(0)
+ SRMT("m303-1")
+ if (y200) {
+ m303(1)
+ } else {
+ BLCK()
+ }
+ SRMT("m304")
+ m304()
+ SRMT("m305")
+ m305()
+ SRMT("m306")
+ m306()
+ SRMT("m307")
+ m307()
+ SRMT("m308")
+ m308()
+ SRMT("m309-0")
+ m309(0)
+ SRMT("m309-1")
+ m309(1)
+ SRMT("m30a-0")
+ m30a(0)
+ SRMT("m30a-1")
+ m30a(1)
+ SRMT("m30b-0")
+ m30b(0)
+ SRMT("m30b-1")
+ m30b(1)
+} else {
+ SRMT("m300")
+ m300()
+}
+}
+
diff --git a/tests/aslts/src/runtime/collections/complex/namespace/ns4.asl b/tests/aslts/src/runtime/collections/complex/namespace/ns4.asl
new file mode 100644
index 000000000..2f6cfa2de
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/namespace/ns4.asl
@@ -0,0 +1,129 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+/*
+ * Calls to methods instead of Add
+ */
+
+/*
+SEE:
+do here all the tests ns0-ns... with Add replaced by MAdd
+*/
+
+Name(z158, 158)
+
+Method(m401, 1)
+{
+ Name(ts, "m401")
+ Name(i000, 0x00000001)
+ Name(i001, 0)
+ Name(p000, Package() {1,2,3,4})
+
+ CH03(ts, z158, 0x000, 0, 0)
+
+ Store(arg0, i001)
+
+ Method(MAdd, 2)
+ {
+ Add(arg0, arg1, Local0)
+ Return (Local0)
+ }
+
+ Method(m001)
+ {
+ Method(m002)
+ {
+ Method(m003)
+ {
+ Method(m004)
+ {
+ Method(m005)
+ {
+ Method(m006)
+ {
+ Method(m007)
+ {
+ Method(m008)
+ {
+ if (i001)
+ {
+ CopyObject(p000, i000)
+ }
+ Return (0)
+ }
+ Store(0x80000000, i000)
+ Return (MAdd(i000, m008()))
+ }
+ Store(0x07000000, i000)
+ Return (MAdd(i000, m007()))
+ }
+ Store(0x00600000, i000)
+ Return (MAdd(i000, m006()))
+ }
+ Store(0x00050000, i000)
+ Return (MAdd(i000, m005()))
+ }
+ Store(0x00004000, i000)
+ Return (MAdd(i000, m004()))
+ }
+ Store(0x00000300, i000)
+ Return (MAdd(i000, m003()))
+ }
+ Store(0x00000020, i000)
+ Return (MAdd(i000, m002()))
+ }
+ Store(MAdd(i000, m001()), Local0)
+
+ if (LNotEqual(Local0, 0x87654321)) {
+ err(ts, z158, 0x001, 0, 0, Local0, 0x87654321)
+ }
+
+ if (LNotEqual(i000, 0x80000000)) {
+ err(ts, z158, 0x002, 0, 0, i000, 0x80000000)
+ }
+
+ CH03(ts, z158, 0x003, 0, 0)
+}
+
+Method(n004)
+{
+if (1) {
+ SRMT("m401-0")
+ m401(0)
+ SRMT("m401-1")
+ if (y200) {
+ m401(1)
+ } else {
+ BLCK()
+ }
+} else {
+ SRMT("m401-0")
+ m401(0)
+}
+}
diff --git a/tests/aslts/src/runtime/collections/complex/namespace/ns5.asl b/tests/aslts/src/runtime/collections/complex/namespace/ns5.asl
new file mode 100644
index 000000000..6704e14d3
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/namespace/ns5.asl
@@ -0,0 +1,327 @@
+in progress
+
+do these tests - enclose in method, pass device to method and check that
+really deal with objects of initial device Integer/package/buffer/string/...
+
+/*
+
+same as ns2 (and+ to cover all type Fields elements of Package /buffer/string)
+but pass that device/power/tz/... by argument. do for all types of combined
+objects: device/power/tz/...
+
+
+*/
+Name(z159, 159)
+
+
+/*
+ * Check access to elements Package/Buffer/String and Buffer Field
+ * where the parent is an element of some complex object (Device).
+ */
+
+Method(m500)
+{
+ Name(ts, "m500")
+ Device(d000)
+ {
+ Name(p000, Package() {0xabcd0000, 0xabcd0001, 0xabcd0002})
+ }
+
+ Method(m001, 2)
+ {
+ Store(0x11112222, Index(arg0, 0))
+ }
+
+ m001(d000.p000, RefOf(d000.p000))
+
+ Store(DerefOf(Index(d000.p000, 0)), Local0)
+
+ if (LNotEqual(Local0, 0x11112222)) {
+ err(ts, z159, 0x000, 0, 0, Local0, 0x11112222)
+ }
+
+ CH03(ts, z159, 0x100, 0, 0)
+}
+
+Method(m501)
+{
+ Name(ts, "m501")
+ Device(d000)
+ {
+ Name(b000, Buffer() {0x10, 0x11, 0x12})
+ }
+ Method(m001, 2)
+ {
+ Store(0x67, Index(arg0, 0))
+ }
+
+ m001(d000.b000, RefOf(d000.b000))
+
+ Store(DerefOf(Index(d000.b000, 0)), Local0)
+
+ if (LNotEqual(Local0, 0x67)) {
+ err(ts, z159, 0x001, 0, 0, Local0, 0x67)
+ }
+
+ CH03(ts, z159, 0x101, 0, 0)
+}
+
+Method(m502)
+{
+ Name(ts, "m502")
+ Device(d000)
+ {
+ Name(s000, "qqqqqqqqqqqqqq")
+ }
+ Method(m001, 2)
+ {
+ Store(0x38, Index(arg0, 0))
+ }
+
+ m001(d000.s000, RefOf(d000.s000))
+
+ Store(DerefOf(Index(d000.s000, 0)), Local0)
+
+ if (LNotEqual(Local0, 0x38)) {
+ err(ts, z159, 0x002, 0, 0, Local0, 0x38)
+ }
+
+ CH03(ts, z159, 0x102, 0, 0)
+}
+
+/*
+ * Element of Package instead of i000 (in m001)
+ */
+Method(m503, 1)
+{
+ Name(ts, "m503")
+ Name(i001, 0)
+ Name(p000, Package() {1,2,3,4})
+ Device(d000)
+ {
+ Name(pp00, Package() {0x11111111, 0x00000001, 0x22223333})
+ }
+
+ CH03(ts, z159, 0x103, 0, 0)
+
+ Store(arg0, i001)
+
+ Method(m001)
+ {
+ Method(m002)
+ {
+ Method(m003)
+ {
+ Method(m004)
+ {
+ Method(m005)
+ {
+ Method(m006)
+ {
+ Method(m007)
+ {
+ Method(m008)
+ {
+ if (i001)
+ {
+ Store(p000, Index(\m503.d000.pp00, 1))
+ }
+ Return (0)
+ }
+ Store(0x80000000, Index(\m503.d000.pp00, 1))
+ Return (Add(DerefOf(Index(\m503.d000.pp00, 1)), m008()))
+ }
+ Store(0x07000000, Index(\m503.d000.pp00, 1))
+ Return (Add(DerefOf(Index(\m503.d000.pp00, 1)), m007()))
+ }
+ Store(0x00600000, Index(\m503.d000.pp00, 1))
+ Return (Add(DerefOf(Index(\m503.d000.pp00, 1)), m006()))
+ }
+ Store(0x00050000, Index(\m503.d000.pp00, 1))
+ Return (Add(DerefOf(Index(\m503.d000.pp00, 1)), m005()))
+ }
+ Store(0x00004000, Index(\m503.d000.pp00, 1))
+ Return (Add(DerefOf(Index(\m503.d000.pp00, 1)), m004()))
+ }
+ Store(0x00000300, Index(\m503.d000.pp00, 1))
+ Return (Add(DerefOf(Index(\m503.d000.pp00, 1)), m003()))
+ }
+ Store(0x00000020, Index(^d000.pp00, 1))
+ Return (Add(DerefOf(Index(^d000.pp00, 1)), m002()))
+ }
+ Store(Add(DerefOf(Index(d000.pp00, 1)), m001()), Local0)
+
+ if (LNotEqual(Local0, 0x87654321)) {
+ err(ts, z159, 0x003, 0, 0, Local0, 0x87654321)
+ }
+
+ Store(DerefOf(Index(d000.pp00, 1)), Local0)
+
+ if (LNotEqual(Local0, 0x80000000)) {
+ err(ts, z159, 0x004, 0, 0, Local0, 0x80000000)
+ }
+
+ CH03(ts, z159, 0x104, 0, 0)
+}
+
+/*
+ * Element of Package instead of i000 (in m002)
+ */
+Method(m504)
+{
+ Name(ts, "m504")
+ Name(i001, 0)
+ Device(d000)
+ {
+ Name(pp00, Package() {0x11111111, 0x00100000, 0x22223333})
+ }
+
+ Method(m001)
+ {
+ if (LLess(i001, 100)) {
+
+ Store(DerefOf(Index(^d000.pp00, 1)), Local0)
+ Increment(Local0)
+ Store(Local0, Index(^d000.pp00, 1))
+ Increment(i001)
+ Add(DerefOf(Index(^d000.pp00, 1)), m001(), Local0)
+ Return (Local0)
+ }
+ Return (0)
+ }
+ Store(Add(DerefOf(Index(d000.pp00, 1)), m001()), Local0)
+
+ if (LNotEqual(Local0, 0x065013BA)) {
+ err(ts, z159, 0x005, 0, 0, Local0, 0x065013BA)
+ }
+
+ Store(DerefOf(Index(d000.pp00, 1)), Local0)
+
+ if (LNotEqual(Local0, 0x00100064)) {
+ err(ts, z159, 0x006, 0, 0, Local0, 0x00100064)
+ }
+
+ CH03(ts, z159, 0x105, 0, 0)
+}
+
+/*
+ * Buffer Field instead of i000 (in m001)
+ */
+Method(m505, 1)
+{
+ Name(ts, "m505")
+ Name(i001, 0)
+ Name(p000, Package() {1,2,3,4})
+
+ CH03(ts, z159, 0x200, 0, 0)
+
+ Device(d000)
+ {
+ Name(b000, Buffer(16) {})
+ CreateField(b000, 5, 32, bf00)
+ }
+
+ CH03(ts, z159, 0x106, 0, 0)
+
+ if (0) {
+ CreateField(d000.b000, 5, 32, bf00)
+ }
+
+ Store(arg0, i001)
+
+ Method(m001)
+ {
+ Method(m002)
+ {
+ Method(m003)
+ {
+ Method(m004)
+ {
+ Method(m005)
+ {
+ Method(m006)
+ {
+ Method(m007)
+ {
+ Method(m008)
+ {
+ if (i001)
+ {
+ Store(p000, Index(\m505.d000.bf00, 1))
+ }
+ Return (0)
+ }
+ Store(0x80000000, Index(\m505.d000.bf00, 1))
+ Return (Add(DerefOf(Index(\m505.d000.bf00, 1)), m008()))
+ }
+ Store(0x07000000, Index(\m505.d000.bf00, 1))
+ Return (Add(DerefOf(Index(\m505.d000.bf00, 1)), m007()))
+ }
+ Store(0x00600000, Index(\m505.d000.bf00, 1))
+ Return (Add(DerefOf(Index(\m505.d000.bf00, 1)), m006()))
+ }
+ Store(0x00050000, Index(\m505.d000.bf00, 1))
+ Return (Add(DerefOf(Index(\m505.d000.bf00, 1)), m005()))
+ }
+ Store(0x00004000, Index(\m505.d000.bf00, 1))
+ Return (Add(DerefOf(Index(\m505.d000.bf00, 1)), m004()))
+ }
+ Store(0x00000300, Index(\m505.d000.bf00, 1))
+ Return (Add(DerefOf(Index(\m505.d000.bf00, 1)), m003()))
+ }
+ Store(0x00000020, Index(^d000.bf00, 1))
+ Return (Add(DerefOf(Index(^d000.bf00, 1)), m002()))
+ }
+ Store(Add(DerefOf(Index(d000.bf00, 1)), m001()), Local0)
+
+ if (LNotEqual(Local0, 0x87654321)) {
+ err(ts, z159, 0x007, 0, 0, Local0, 0x87654321)
+ }
+
+ Store(DerefOf(Index(d000.bf00, 1)), Local0)
+
+ if (LNotEqual(Local0, 0x80000000)) {
+ err(ts, z159, 0x008, 0, 0, Local0, 0x80000000)
+ }
+
+ CH03(ts, z159, 0x107, 0, 0)
+}
+
+
+Method(n005)
+{
+if (1) {
+ SRMT("m500")
+ m500()
+ SRMT("m501")
+ m501()
+ SRMT("m502")
+ m502()
+ SRMT("m503-0")
+ m503(0)
+ SRMT("m503-1")
+ if (y200) {
+ m503(1)
+ } else {
+ BLCK()
+ }
+ SRMT("m504")
+ m504()
+ SRMT("m505-0")
+ if (y216) {
+ m505(0)
+ } else {
+ BLCK()
+ }
+ SRMT("m505-1")
+ if (LAnd(y200, y216)) {
+ m505(1)
+ } else {
+ BLCK()
+ }
+} else {
+ SRMT("m505-0")
+ m505(0)
+}
+}
+
diff --git a/tests/aslts/src/runtime/collections/complex/namespace/ns6.asl b/tests/aslts/src/runtime/collections/complex/namespace/ns6.asl
new file mode 100644
index 000000000..849dffa52
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/namespace/ns6.asl
@@ -0,0 +1,64 @@
+// in progress
+
+Name(z160, 160)
+
+Method(m600)
+{
+ Name(ts, "m600")
+ Name(i000, 0xabcd0000)
+ Method(m000, 1)
+ {
+ Store(0x11223344, i000)
+ if (LNotEqual(arg0, 0xabcd0000)) {
+ err(ts, z160, 0x000, 0, 0, arg0, 0xabcd0000)
+ }
+ }
+
+ m000(i000)
+
+ if (LNotEqual(i000, 0x11223344)) {
+ err(ts, z160, 0x001, 0, 0, i000, 0x11223344)
+ }
+}
+
+/*
+do these
+
+ Method(m003)
+ {
+ Name(i000, 0x00000001)
+
+ Method(m001, 1)
+ {
+ Store(0x00000020, i000)
+ Return (arg0)
+ }
+ Store(Add(i000, m001(i000)), Local0)
+
+ if (LNotEqual(Local0, 0x00000002)) {
+ Store("Error 2", Debug)
+ Store(Local0, Debug)
+ } else {
+ Store("Ok 2", Debug)
+ }
+
+ if (LNotEqual(i000, 0x00000020)) {
+ Store("Error 3", Debug)
+ } else {
+ Store("Ok 3", Debug)
+ }
+ }
+*/
+
+Method(n006)
+{
+if (1) {
+ SRMT("m600")
+ m600()
+} else {
+ SRMT("m600")
+ m600()
+}
+}
+
+
diff --git a/tests/aslts/src/runtime/collections/complex/namespace/ns7.asl b/tests/aslts/src/runtime/collections/complex/namespace/ns7.asl
new file mode 100644
index 000000000..4ca78de12
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/namespace/ns7.asl
@@ -0,0 +1,3 @@
+// in progress
+
+dont forget -- start the separate test for CopyObject \ No newline at end of file
diff --git a/tests/aslts/src/runtime/collections/complex/namespace/scope.asl b/tests/aslts/src/runtime/collections/complex/namespace/scope.asl
new file mode 100644
index 000000000..edba9164b
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/namespace/scope.asl
@@ -0,0 +1,60 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+Name(z178, 178)
+
+/*
+ !!!!!!!!!!!!!!!! It is in progress, just started !!!!!!!!!!!!!!!!
+ */
+
+Method(sc00)
+{
+ Name(ts, "sc00")
+
+ Method(m000, 1)
+ {
+ Scope(\) { Name(i2z4, 0xabcd0007) }
+ }
+
+ CH03(ts, z178, 0x044, 0, 0)
+ m000(0)
+ CH03(ts, z178, 0x045, 0, 0)
+}
+
+
+Method(scp0)
+{
+ SRMT("sc00")
+ if (y302) {
+ sc00()
+ } else {
+ BLCK()
+ }
+}
+
diff --git a/tests/aslts/src/runtime/collections/complex/operand/Makefile b/tests/aslts/src/runtime/collections/complex/operand/Makefile
new file mode 100644
index 000000000..92e95dcb0
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/operand/Makefile
@@ -0,0 +1,6 @@
+# operand
+
+MDIRS = tests
+
+TOP= ../../../../..
+include $(TOP)/Makefile.switch
diff --git a/tests/aslts/src/runtime/collections/complex/operand/common/ocommon.asl b/tests/aslts/src/runtime/collections/complex/operand/common/ocommon.asl
new file mode 100644
index 000000000..4c601de99
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/operand/common/ocommon.asl
@@ -0,0 +1,1998 @@
+/*
+ * 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.
+ */
+
+
+/*
+ * Implicit Source Operand Conversion, complex test
+ *
+ *
+ * Integer to String implicit conversion Cases.
+ * There are following cases when this type of conversion is applied:
+ * - to the Integer second operand of Logical operators when the first
+ * operand is evaluated as String (LEqual, LGreater, LGreaterEqual,
+ * LLess, LLessEqual, LNotEqual)
+ * - to the Integer second operand of Concatenate operator when the first
+ * operand is evaluated as String
+ * - to the Integer elements of a search package of Match operator
+ * when some MatchObject is evaluated as String
+ * - to the Integer value of Expression of Case statement when
+ * Expression in Switch is either static String data or explicitly
+ * converted to String by ToDecimalString, ToHexString or ToString
+ *
+ * Integer to Buffer implicit conversion Cases.
+ * There are following cases when this type of conversion is applied:
+ * - to the Integer second operand of Logical operators when the first
+ * operand is evaluated as Buffer (LEqual, LGreater, LGreaterEqual,
+ * LLess, LLessEqual, LNotEqual)
+ * - to both Integer operands of Concatenate operator
+ * - to the Integer second operand of Concatenate operator when the first
+ * operand is evaluated as Buffer
+ * - to the Integer Source operand of ToString operator
+ * - to the Integer Source operand of Mid operator
+ * - to the Integer elements of a search package of Match operator
+ * when some MatchObject is evaluated as Buffer
+ * - to the Integer value of Expression of Case statement when
+ * Expression in Switch is either static Buffer data or explicitly
+ * converted to Buffer by ToBuffer
+ *
+ * String to Integer implicit conversion Cases.
+ * There are following cases when this type of conversion is applied:
+ * - to the String sole operand of the 1-parameter Integer arithmetic
+ * operators (Decrement, Increment, FindSetLeftBit, FindSetRightBit, Not)
+ * - to the String sole operand of the LNot Logical Integer operator
+ * - to the String sole operand of the FromBCD and ToBCD conversion operators
+ * - to each String operand of the 2-parameter Integer arithmetic
+ * operators (Add, And, Divide, Mod, Multiply, NAnd, NOr, Or,
+ * ShiftLeft, ShiftRight, Subtract, Xor)
+ * - to each String operand of the 2-parameter Logical Integer
+ * operators LAnd and LOr
+ * - to the String second operand of Logical operators when the first
+ * operand is evaluated as Integer (LEqual, LGreater, LGreaterEqual,
+ * LLess, LLessEqual, LNotEqual)
+ * - intermediately to the String second operand of Concatenate operator
+ * in case the first one is Integer
+ * - to the String Length (second) operand of ToString operator
+ * - to the String Index (second) operand of Index operator
+ * - to the String Arg (third) operand of Fatal operator
+ * (it can only be checked an exception does not occur)
+ * - to the String Index and Length operands of Mid operator
+ * - to the String StartIndex operand of Match operator
+ * - to the String elements of a search package of Match operator
+ * when some MatchObject is evaluated as Integer
+ * - to the String sole operand of the Method execution control operators
+ * (Sleep, Stall)
+ * - to the String TimeoutValue (second) operand of the Acquire operator ???
+ * - to the String TimeoutValue (second) operand of the Wait operator
+ * - to the String value of Predicate of the Method execution control
+ * statements (If, ElseIf, While)
+ * - to the String value of Expression of Case statement when
+ * Expression in Switch is evaluated as Integer
+ *
+ * String to Buffer implicit conversion Cases.
+ * There are following cases when this type of conversion is applied:
+ * - to the String second operand of Logical operators when the first
+ * operand is evaluated as Buffer (LEqual, LGreater, LGreaterEqual,
+ * LLess, LLessEqual, LNotEqual)
+ * - to the String second operand of Concatenate operator when the first
+ * operand is evaluated as Buffer
+ * - to the String Source operand of ToString operator (has a visual
+ * effect in shortening of the String taken the null character.
+ * - to the String elements of a search package of Match operator
+ * when some MatchObject is evaluated as Buffer
+ * - to the String value of Expression of Case statement when
+ * Expression in Switch is either static Buffer data or explicitly
+ * converted to Buffer by ToBuffer
+ *
+ * Buffer to Integer implicit conversion Cases.
+ * There are following cases when this type of conversion is applied:
+ * - to the Buffer sole operand of the 1-parameter Integer arithmetic
+ * operators (Decrement, Increment, FindSetLeftBit, FindSetRightBit, Not)
+ * - to the Buffer sole operand of the LNot Logical Integer operator
+ * - to the Buffer sole operand of the FromBCD and ToBCD conversion operators
+ * - to each Buffer operand of the 2-parameter Integer arithmetic
+ * operators (Add, And, Divide, Mod, Multiply, NAnd, NOr, Or,
+ * ShiftLeft, ShiftRight, Subtract, Xor)
+ * - to each Buffer operand of the 2-parameter Logical Integer
+ * operators LAnd and LOr
+ * - to the Buffer second operand of Logical operators when the first
+ * operand is evaluated as Integer (LEqual, LGreater, LGreaterEqual,
+ * LLess, LLessEqual, LNotEqual)
+ * - intermediately to the Buffer second operand of Concatenate operator
+ * in case the first one is Integer
+ * - to the Buffer Length (second) operand of ToString operator
+ * - to the Buffer Index (second) operand of Index operator
+ * - to the Buffer Arg (third) operand of Fatal operator
+ * (it can only be checked an exception does not occur)
+ * - to the Buffer Index and Length operands of Mid operator
+ * - to the Buffer StartIndex operand of Match operator
+ * - to the Buffer elements of a search package of Match operator
+ * when some MatchObject is evaluated as Integer
+ * - to the Buffer sole operand of the Method execution control operators
+ * (Sleep, Stall)
+ * - to the Buffer TimeoutValue (second) operand of the Acquire operator ???
+ * - to the Buffer TimeoutValue (second) operand of the Wait operator
+ * - to the Buffer value of Predicate of the Method execution control
+ * statements (If, ElseIf, While)
+ * - to the Buffer value of Expression of Case statement when
+ * Expression in Switch is evaluated as Integer
+ *
+ * Buffer to String implicit conversion Cases.
+ * There are following cases when this type of conversion is applied:
+ * - to the Buffer second operand of Logical operators when the first
+ * operand is evaluated as String (LEqual, LGreater, LGreaterEqual,
+ * LLess, LLessEqual, LNotEqual)
+ * - to the Buffer second operand of Concatenate operator when the first
+ * operand is evaluated as String
+ * - to the Buffer elements of a search package of Match operator
+ * when some MatchObject is evaluated as String
+ * - to the Buffer value of Expression of Case statement when
+ * Expression in Switch is either static String data or explicitly
+ * converted to String by ToDecimalString, ToHexString or ToString
+ *
+ * Note 1: Only an expression that is evaluated to a constant
+ * can be used as the Expression of Case
+ *
+ * Note 2: So as initial elements of a package are either constant
+ * data or name strings then check of implicit conversion
+ * applied to the elements of the search package of Match
+ * operator is limited to a data images case.
+ *
+ * Buffer field to Integer implicit conversion Cases.
+ * First, Buffer field is evaluated either as Integer or as Buffer.
+ * Conversion only takes place for Buffer in which case
+ * Buffer to Integer test constructions should be used.
+ *
+ * Buffer field to Buffer implicit conversion Cases.
+ * First, Buffer field is evaluated either as Integer or as Buffer.
+ * Conversion only takes place for Integer in which case
+ * Integer to Buffer test constructions should be used.
+ *
+ * Buffer field to String implicit conversion Cases.
+ * First, Buffer field is evaluated either as Integer or as Buffer
+ * For Integer case Integer to String test constructions should be used.
+ * For Buffer case Buffer to String test constructions should be used.
+ *
+ * Field unit implicit conversion is considered similar to
+ * Buffer field one.
+ *
+ *
+ * Cases when there are more than one operand for implicit conversion
+ * - when the first operand of Concatenate operator is Integer,
+ * there are additional conversions besides this Integer to Buffer:
+ * = String to Integer conversion if second operand is String
+ * = Buffer to Integer conversion if second operand is Buffer
+ * = Integer to Buffer conversion of the converted second operand
+ *
+ *
+ * EXCEPTIONAL Conditions during implicit conversion
+ *
+ * String to Integer implicit conversion Cases.
+ *
+ * Buffer to String implicit conversion Cases.
+ *
+ * Buffer field to String implicit conversion Cases.
+ *
+ * Field unit to String implicit conversion Cases.
+ *
+ */
+
+Name(z084, 84)
+
+Name(terr, "Test error")
+
+// Test Data by types
+
+// Test Integers
+
+Name(i601, 0321)
+Name(i602, 9876543210)
+Name(i603, 0xc179b3fe)
+Name(i604, 0xfe7cb391d650a284)
+Name(i605, 0)
+Name(i606, 0xffffffff)
+Name(i607, 0xffffffffffffffff)
+Name(i608, 0xabcdef)
+Name(i609, 0xABCDEF)
+Name(i60a, 0xff)
+Name(i60b, 0xffffffffff)
+Name(i60c, 0x6179534e)
+Name(i60d, 0x6e7c534136502214)
+Name(i60e, 0x6e00534136002214)
+Name(i60f, 0x6e7c534136002214)
+
+Name(pi60, Package() {
+ 1,
+ 0321,
+ 9876543210,
+ 0xc179b3fe,
+ 0xfe7cb391d650a284,
+ 0,
+ 0xffffffff,
+ 0xffffffffffffffff,
+ 0xabcdef,
+ 0xABCDEF,
+ 0xff,
+ 0xffffffffff,
+ 0x6179534e,
+ 0x6e7c534136502214,
+ 0x6e00534136002214,
+ 0x6e7c534136002214,
+})
+
+// Test Strings
+
+Name(s600, "0")
+Name(s601, "0321")
+Name(s602, "321")
+Name(s603, "ba9876")
+Name(s604, "C179B3FE")
+Name(s605, "FE7CB391D650A284")
+Name(s606, "ffffffff")
+Name(s607, "ffffffffffffffff")
+Name(s608, "fe7cb391d650a2841")
+Name(s609, "9876543210")
+Name(s60a, "0xfe7cb3")
+Name(s60b, "1234q")
+Name(s60c, "")
+Name(s60d, " ")
+// of size 200 chars
+Name(s60e, "!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*")
+// all symbols 0x01-0x7f
+Name(s60f, "\x01\x02\x03\x04\x05\x06\a\b\t\n\v\f\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7f")
+Name(s610, "abcdef")
+Name(s611, "ABCDEF")
+Name(s612, "ff")
+Name(s613, "ffffffffff")
+Name(s614, "B")
+Name(s615, "3789012345678901")
+Name(s616, "D76162EE9EC35")
+Name(s617, "90123456")
+Name(s618, "55F2CC0")
+Name(s619, "c179B3FE")
+Name(s61a, "fE7CB391D650A284")
+Name(s61b, "63")
+
+Name(ps60, Package() {
+ "0",
+ "0321",
+ "321",
+ "ba9876",
+ "C179B3FE",
+ "FE7CB391D650A284",
+ "ffffffff",
+ "ffffffffffffffff",
+ "fe7cb391d650a2841",
+ "9876543210",
+ "0xfe7cb3",
+ "1234q",
+ "",
+ " ",
+ // of size 200 chars
+ "!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*",
+ // all symbols 0x01-0x7f
+ "\x01\x02\x03\x04\x05\x06\a\b\t\n\v\f\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7f",
+ "abcdef",
+ "ABCDEF",
+ "ff",
+ "ffffffffff",
+ "B",
+ "3789012345678901",
+ "D76162EE9EC35",
+ "90123456",
+ "55F2CC0",
+ "c179B3FE",
+ "fE7CB391D650A284",
+ "63",
+})
+
+// Test Buffers
+
+Name(b600, Buffer(1){0x00})
+Name(b601, Buffer(1){0xa5})
+Name(b602, Buffer(2){0x21, 0x03})
+Name(b603, Buffer() {0x21, 0x03, 0x5a})
+Name(b604, Buffer(2){0x21, 0x03, 0x5a})
+Name(b605, Buffer(3){0x21, 0x03})
+Name(b606, Buffer(3){0x21, 0x03, 0x00})
+Name(b607, Buffer(4){0xFE, 0xB3, 0x79, 0xC1})
+Name(b608, Buffer(5){0xFE, 0xB3, 0x79, 0xC1, 0xa5})
+Name(b609, Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+Name(b60a, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5})
+Name(b60b, Buffer(257){0x00})
+Name(b60c, Buffer(67){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,})
+Name(b60d, Buffer(68){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x00,})
+Name(b60e, Buffer(1){0xb})
+Name(b60f, Buffer() {0x01, 0x89, 0x67, 0x45, 0x23, 0x01, 0x89, 0x37})
+Name(b610, Buffer() {0x35, 0xec, 0xe9, 0x2e, 0x16, 0x76, 0x0d})
+Name(b611, Buffer() {0x56, 0x34, 0x12, 0x90})
+Name(b612, Buffer() {0xc0, 0x2c, 0x5f, 0x05})
+Name(b613, Buffer(1){0x3f})
+
+Name(pb60, Package() {
+ Buffer() {0x00},
+ Buffer(1){0xa5},
+ Buffer(2){0x21, 0x03},
+ Buffer() {0x21, 0x03, 0x5a},
+ Buffer(2){0x21, 0x03, 0x5a},
+ Buffer(3){0x21, 0x03},
+ Buffer(3){0x21, 0x03, 0x00},
+ Buffer(4){0xFE, 0xB3, 0x79, 0xC1},
+ Buffer(5){0xFE, 0xB3, 0x79, 0xC1, 0xa5},
+ Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE},
+ Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5},
+ Buffer(257){0x00},
+ Buffer(67){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,},
+ Buffer(68){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x00,},
+ Buffer(1){0xb},
+ Buffer() {0x01, 0x89, 0x67, 0x45, 0x23, 0x01, 0x89, 0x37},
+ Buffer() {0x35, 0xec, 0xe9, 0x2e, 0x16, 0x76, 0x0d},
+ Buffer() {0x56, 0x34, 0x12, 0x90},
+ Buffer() {0xc0, 0x2c, 0x5f, 0x05},
+ Buffer(1){0x3f},
+})
+
+// Test Buffer Fields
+
+//Name(b630, Buffer(428){})
+Name(b630, Buffer(452){})
+
+CreateField(b630, 0, 31, bf61)
+CreateField(b630, 31, 32, bf62)
+CreateField(b630, 63, 33, bf63)
+CreateField(b630, 96, 63, bf64)
+CreateField(b630, 159, 64, bf65)
+CreateField(b630, 223, 65, bf66)
+CreateField(b630, 288, 536, bf69)
+CreateField(b630, 824, 544, bf6a)
+CreateField(b630, 1368, 2056, bf6b)
+// 3424
+CreateField(b630, 3424, 31, bf91)
+CreateField(b630, 3455, 64, bf95)
+CreateField(b630, 3519, 31, bfa1)
+CreateField(b630, 3550, 64, bfa5)
+// 3614
+
+Name(b631, Buffer(69){})
+
+CreateField(b631, 0, 65, bf6c)
+CreateField(b631, 65, 65, bf6d)
+CreateField(b631, 130, 33, bf6e)
+CreateField(b631, 163, 33, bf6f)
+CreateField(b631, 196, 32, bf70)
+CreateField(b631, 228, 64, bf71)
+CreateField(b631, 292, 64, bf72)
+CreateField(b631, 356, 64, bf73)
+CreateField(b631, 420, 33, bf74)
+CreateField(b631, 453, 33, bf75)
+CreateField(b631, 486, 33, bf76)
+CreateField(b631, 519, 32, bf77)
+// 551
+
+// Test Packages
+
+Name(p601, Package(){0xc179b3fe})
+Name(p602, Package(){0xfe7cb391d650a284})
+
+
+
+// Auxiliary agents triggering implicit conversion
+
+// Auxiliary Integers
+
+Name(aui0, Ones)
+Name(aui1, 0x321)
+Name(aui2, 9876543210)
+Name(aui3, 0xc179b3fe)
+Name(aui4, 0xfe7cb391d650a284)
+Name(aui5, 0)
+Name(aui6, 1)
+Name(aui7, 3)
+Name(aui8, 4)
+Name(aui9, 5)
+Name(auia, 8)
+Name(auib, 9)
+Name(auic, 0xc179b3ff)
+Name(auid, 0xfe7cb391d650a285)
+Name(auie, 0xc179b3fd)
+Name(auif, 0xfe7cb391d650a283)
+Name(auig, 0x322)
+Name(auih, 0x320)
+Name(auii, 0xffffffff)
+Name(auij, 0xffffffffffffffff)
+Name(auik, 0xd650a284)
+Name(auil, 0xd650a285)
+Name(auim, 0xd650a283)
+
+Name(paui, Package() {
+ Ones,
+ 0x321,
+ 9876543210,
+ 0xc179b3fe,
+ 0xfe7cb391d650a284,
+ 0,
+ 1,
+ 3,
+ 4,
+ 5,
+ 8,
+ 9,
+ 0xc179b3ff,
+ 0xfe7cb391d650a285,
+ 0xc179b3fd,
+ 0xfe7cb391d650a283,
+ 0x322,
+ 0x320,
+ 0xffffffff,
+ 0xffffffffffffffff,
+ 0xd650a284,
+ 0xd650a285,
+ 0xd650a283,
+})
+
+// Auxiliary Strings
+
+Name(aus0, "")
+Name(aus1, "1234q")
+Name(aus2, "c179B3FE")
+Name(aus3, "C179B3FE")
+Name(aus4, "FE7CB391D650A284")
+Name(aus5, "fE7CB391D650A284")
+Name(aus6, "This is auxiliary String")
+Name(aus7, "0321")
+Name(aus8, "321")
+Name(aus9, "21 03 00")
+Name(ausa, "21 03 01")
+Name(ausb, "21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63")
+Name(ausc, "21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 64")
+
+Name(paus, Package() {
+ "",
+ "1234q",
+ "c179B3FE",
+ "C179B3FE",
+ "FE7CB391D650A284",
+ "fE7CB391D650A284",
+ "This is auxiliary String",
+ "0321",
+ "321",
+ "21 03 00",
+ "21 03 01",
+ "21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63",
+ "21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 64",
+})
+
+
+// Auxiliary Buffers
+
+Name(aub0, Buffer(){0x5a})
+Name(aub1, Buffer(){0x5a, 0x00})
+Name(aub2, Buffer() {0xFE, 0xB3, 0x79, 0xC2})
+Name(aub3, Buffer() {0xFE, 0xB3, 0x79, 0xC1})
+Name(aub4, Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+Name(aub5, Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFF})
+Name(aub6, Buffer() {"This is auxiliary Buffer"})
+Name(aub7, Buffer() {0x30, 0x33, 0x32, 0x31, 0x00})
+Name(aub8, Buffer() {0x30, 0x33, 0x32, 0x31, 0x01})
+Name(aub9, Buffer(){0x00})
+Name(auba, Buffer(){0x01})
+Name(aubb, Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x00,})
+Name(aubc, Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x01,})
+
+Name(paub, Package() {
+ Buffer(){0x5a},
+ Buffer(){0x5a, 0x00},
+ Buffer() {0xFE, 0xB3, 0x79, 0xC2},
+ Buffer() {0xFE, 0xB3, 0x79, 0xC1},
+ Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE},
+ Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFF},
+ Buffer() {"This is auxiliary Buffer"},
+ Buffer() {0x30, 0x33, 0x32, 0x31, 0x00},
+ Buffer() {0x30, 0x33, 0x32, 0x31, 0x01},
+ Buffer(){0x00},
+ Buffer(){0x01},
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x00,},
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x01,},
+})
+
+// Auxiliary Packages
+
+Name(aup0, Package(){
+ 0xa50, 0xa51, 0xa52, 0xa53, 0xa54, 0xa55, 0xa56, 0xa57,
+ 0xa58, 0xa59, 0xa5a, 0xa5b, 0xa5c, 0xa5d, 0xa5e,})
+Name(aup1, Package(){0xfe7cb391d650a284})
+Name(aup2, Package(){0xc179b3fe})
+
+Name(paup, Package() {
+ Package(){
+ 0xa50, 0xa51, 0xa52, 0xa53, 0xa54, 0xa55, 0xa56, 0xa57,
+ 0xa58, 0xa59, 0xa5a, 0xa5b, 0xa5c, 0xa5d, 0xa5e,},
+ Package(){0xfe7cb391d650a284},
+ Package(){0xc179b3fe},
+})
+
+
+// Benchmark Data
+
+// Benchmark Integer Values in case conversion
+// Derefof(Index(..., String->Integer))
+
+Name(bi10, 0x69)
+Name(bi11, 0xa5b)
+
+// Benchmark Integer Values in case conversion
+// Decrement/Increment(String/Buffer->Integer))
+
+Name(bi12, 0x320)
+Name(bi13, 0x321)
+Name(bi14, 0xc179b3fd)
+Name(bi15, 0xc179b3fe)
+Name(bi16, 0xfe7cb391d650a283)
+Name(bi17, 0xfe7cb391d650a284)
+Name(bi18, 0xd650a283)
+Name(bi19, 0xd650a284)
+Name(bi23, 0x322)
+Name(bi27, 0xfe7cb391d650a285)
+Name(bi29, 0xd650a285)
+
+// Benchmark Strings in case conversion
+// Concatenate(String, Integer->String)
+
+Name(bs10, "FE7CB391D650A284")
+Name(bs11, "1234qFE7CB391D650A284")
+Name(bs12, "C179B3FE")
+Name(bs13, "1234qC179B3FE")
+Name(bs14, "D650A284")
+Name(bs15, "1234qD650A284")
+
+// Benchmark Strings in case conversion
+// ToString(Integer->Buffer, ...)
+
+Name(bs16, "\x4e\x53\x79\x61")
+Name(bs17, "\x4e\x53\x79")
+Name(bs18, "\x14\x22\x50\x36\x41\x53\x7C\x6E")
+Name(bs19, "\x14\x22\x50")
+Name(bs1a, "\x14\x22")
+
+// Benchmark Strings in case conversion
+// ToString(..., String->Integer)
+
+Name(bs1b, "This is aux")
+Name(bs1c, "This is auxiliary Buffer")
+
+// Benchmark Strings in case conversion
+// Mid(String, String->Integer, Integer)
+
+Name(bs1d, "iliary Str")
+Name(bs1e, "This is auxiliary String")
+Name(bs1f, "iliary String")
+
+// Benchmark Strings in case conversion
+// ToString(String->Buffer, ...)
+
+Name(bs20, "0321")
+Name(bs21, "032")
+Name(bs22, "")
+Name(bs23, "!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*")
+Name(bs24, "!\"#")
+
+// Benchmark Strings in case conversion
+// Concatenate(String, Buffer->String)
+
+Name(bs25, "21 03 00")
+Name(bs26, "1234q21 03 00")
+Name(bs27, "21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63")
+
+
+// Benchmark Buffers in case conversion
+// Concatenate(Buffer, Integer->Buffer)
+
+Name(bb10, Buffer() {0x5A, 0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+Name(bb11, Buffer() {0x5A, 0x00, 0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+Name(bb12, Buffer() {0x5A, 0xFE, 0xB3, 0x79, 0xC1})
+Name(bb13, Buffer() {0x5A, 0x00, 0xFE, 0xB3, 0x79, 0xC1})
+Name(bb14, Buffer() {0x5A, 0x84, 0xA2, 0x50, 0xD6})
+Name(bb15, Buffer() {0x5A, 0x00, 0x84, 0xA2, 0x50, 0xD6})
+
+Name(bb16, Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0x5A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00})
+Name(bb17, Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0x5A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00})
+Name(bb18, Buffer() {0xFE, 0xB3, 0x79, 0xC1, 0x5A, 0x00, 0x00, 0x00})
+Name(bb19, Buffer() {0xFE, 0xB3, 0x79, 0xC1, 0x5A, 0x00, 0x00, 0x00})
+Name(bb1a, Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x5A, 0x00, 0x00, 0x00})
+Name(bb1b, Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x5A, 0x00, 0x00, 0x00})
+
+// Benchmark Integer->Buffer Buffers
+// If no buffer object exists, a new buffer
+// object is created based on the size of
+// the integer (4 bytes for 32-bit integers
+// and 8 bytes for 64-bit integers).
+
+Name(bb1c, Buffer() {0xFE, 0xB3, 0x79, 0xC1})
+Name(bb1d, Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+
+// Benchmark Buffers in case conversion
+// Mid(Buffer Field->Integer->Buffer, 0, n, ...)
+Name(bb1e, Buffer() {0xFE, 0xB3, 0x79, 0xC1, 0x01})
+Name(bb1f, Buffer() {0x21, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01})
+
+// Benchmark Buffers in case conversion
+// Concatenate(Integer->Buffer, Integer->Buffer)
+
+Name(bb20, Buffer() {
+ 0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE,
+ 0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+Name(bb21, Buffer() {
+ 0x21, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+Name(bb22, Buffer() {
+ 0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE,
+ 0x21, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00})
+Name(bb23, Buffer() {0xFE, 0xB3, 0x79, 0xC1, 0xFE, 0xB3, 0x79, 0xC1})
+Name(bb24, Buffer() {0x21, 0x03, 0x00, 0x00, 0xFE, 0xB3, 0x79, 0xC1})
+Name(bb25, Buffer() {0xFE, 0xB3, 0x79, 0xC1, 0x21, 0x03, 0x00, 0x00})
+
+// Benchmark Buffers in case conversion
+// Concatenate(Integer->Buffer, String->Integer->Buffer)
+// Concatenate(Integer->Buffer, Buffer->Integer->Buffer)
+
+Name(bb26, Buffer() {
+ 0x21, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x21, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00})
+Name(bb27, Buffer() {
+ 0x21, 0x03, 0x00, 0x00,
+ 0x21, 0x03, 0x00, 0x00})
+Name(bb28, Buffer() {0x21, 0x03, 0x00, 0x00, 0x84, 0xA2, 0x50, 0xD6})
+
+// Benchmark Buffers in case conversion
+// Concatenate(Buffer, String->Buffer)
+
+Name(bb29, Buffer() {0x5A, 0x30, 0x33, 0x32, 0x31, 0x00})
+Name(bb2a, Buffer() {0x5A, 0x00, 0x30, 0x33, 0x32, 0x31, 0x00})
+Name(bb2b, Buffer() {0x5A, 0x00})
+Name(bb2c, Buffer() {0x5A, 0x00, 0x00})
+Name(bb2d, Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x00,})
+
+// Benchmark Buffers in case conversion
+// Mid(Integer->Buffer, 1, n, ...)
+
+Name(bb30, Buffer() {0x22, 0x00, 0x36, 0x41, 0x53, 0x7C, 0x6E})
+Name(bb31, Buffer() {0x22, 0x00, 0x36})
+
+// Benchmark Buffers in case conversion
+// Mid(Buffer, String->Integer, Integer)
+
+Name(bb32, Buffer() {0x69, 0x6C, 0x69, 0x61, 0x72, 0x79, 0x20, 0x42, 0x75, 0x66})
+Name(bb33, Buffer() {0x54, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x20, 0x61, 0x75, 0x78})
+Name(bb34, Buffer() {"This is auxiliary Buffer"})
+Name(bb35, Buffer() {"iliary Buffer"})
+
+// Check Result of operation on equal to Benchmark value
+// m600(<method name>,
+// <internal type of error if it occurs>,
+// <Result>,
+// <Benchmark value>)
+Method(m600, 4)
+{
+ Store(ObjectType(arg2), Local0)
+ Store(ObjectType(arg3), Local1)
+ if (LNotEqual(Local0, Local1)) {
+ err(Concatenate(arg0, "-OType"), z084, arg1, 0, 0, Local0, Local1)
+ } elseif (LNotEqual(arg2, arg3)) {
+ err(arg0, z084, arg1, 0, 0, arg2, arg3)
+ }
+}
+
+// Obtain specified Constant Auxiliary Object
+// as result of a Method invocation (by Return)
+// m601(<type>,
+// <opcode>)
+Method(m601, 2)
+{
+ Switch(arg0) {
+ Case(1) { // Integer
+ Switch(arg1) {
+ Case(0) {
+ Store(0, Local0)
+ Return (Ones)
+ }
+ Case(1) {
+ Return (0x321)
+ }
+ Case(2) {
+ Return (9876543210)
+ }
+ Case(3) {
+ Return (0xc179b3fe)
+ }
+ Case(4) {
+ Return (0xfe7cb391d650a284)
+ }
+ Case(5) {
+ Return (0)
+ }
+ Case(6) {
+ Return (1)
+ }
+ Case(7) {
+ Return (3)
+ }
+ Case(8) {
+ Return (4)
+ }
+ Case(9) {
+ Return (5)
+ }
+ Case(10) {
+ Return (8)
+ }
+ Case(11) {
+ Return (9)
+ }
+ Case(12) {
+ Return (0xc179b3ff)
+ }
+ Case(13) {
+ Return (0xfe7cb391d650a285)
+ }
+ Case(14) {
+ Return (0xc179b3fd)
+ }
+ Case(15) {
+ Return (0xfe7cb391d650a283)
+ }
+ Case(16) {
+ Return (0x322)
+ }
+ Case(17) {
+ Return (0x320)
+ }
+ Case(18) {
+ Return (0xffffffff)
+ }
+ Case(19) {
+ Return (0xffffffffffffffff)
+ }
+ Case(20) {
+ Return (0xd650a284)
+ }
+ Case(21) {
+ Return (0xd650a285)
+ }
+ Case(22) {
+ Return (0xd650a283)
+ }
+ Default {
+ err(terr, z084, 11, 0, 0, arg0, arg1)
+ }
+ }
+ }
+ Case(2) { // String
+ Switch(arg1) {
+ Case(0) {
+ Return ("")
+ }
+ Case(1) {
+ Return ("1234q")
+ }
+ Case(2) {
+ Return ("c179B3FE")
+ }
+ Case(3) {
+ Return ("C179B3FE")
+ }
+ Case(4) {
+ Return ("FE7CB391D650A284")
+ }
+ Case(5) {
+ Return ("fE7CB391D650A284")
+ }
+ Case(6) {
+ Return ("This is auxiliary String")
+ }
+ Case(7) {
+ Return ("0321")
+ }
+ Case(8) {
+ Return ("321")
+ }
+ Case(9) {
+ Return ("21 03 00")
+ }
+ Case(10) {
+ Return ("21 03 01")
+ }
+ Default {
+ err(terr, z084, 12, 0, 0, arg0, arg1)
+ }
+ }
+ }
+ Case(3) { // Buffer
+ Switch(arg1) {
+ Case(0) {
+ Return (Buffer(){0x5a})
+ }
+ Case(1) {
+ Return (Buffer(){0x5a, 0x00})
+ }
+ Case(2) {
+ Return (Buffer() {0xFE, 0xB3, 0x79, 0xC2})
+ }
+ Case(3) {
+ Return (Buffer() {0xFE, 0xB3, 0x79, 0xC1})
+ }
+ Case(4) {
+ Return (Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ }
+ Case(5) {
+ Return (Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFF})
+ }
+ Case(6) {
+ Return (Buffer() {"This is auxiliary Buffer"})
+ }
+ Case(7) {
+ Return (Buffer() {0x30, 0x33, 0x32, 0x31, 0x00})
+ }
+ Case(8) {
+ Return (Buffer() {0x30, 0x33, 0x32, 0x31, 0x01})
+ }
+ Default {
+ err(terr, z084, 13, 0, 0, arg0, arg1)
+ }
+ }
+ }
+ Case(4) { // Package
+ Switch(arg1) {
+ Case(0) {
+ Return (Package(){
+ 0xa50, 0xa51, 0xa52, 0xa53, 0xa54, 0xa55, 0xa56, 0xa57,
+ 0xa58, 0xa59, 0xa5a, 0xa5b, 0xa5c, 0xa5d, 0xa5e,})
+ }
+ Default {
+ err(terr, z084, 14, 0, 0, arg0, arg1)
+ }
+ }
+ }
+ Default {
+ err(terr, z084, 15, 0, 0, arg0, arg1)
+ }
+ }
+ Return(Local0)
+}
+
+// Obtain specified Auxiliary Global Named Object
+// or reference to it as result of a Method invocation
+// (by Return)
+// m602(<type>,
+// <opcode>,
+// <ref_key>)
+Method(m602, 3)
+{
+ if (LLess(arg2, 3)) {
+ Switch(arg0) {
+ Case(1) { // Integer
+ Switch(arg1) {
+ Case(0) {
+ if (LEqual(arg2, 0)) {
+ Return (aui0)
+ } elseif (LEqual(arg2, 1)) {
+ Return (Refof(aui0))
+ } elseif (LEqual(arg2, 2)) {
+ CondRefof(aui0, Local0)
+ Return (Local0)
+ }
+ }
+ Case(1) {
+ if (LEqual(arg2, 0)) {
+ Return (aui1)
+ } elseif (LEqual(arg2, 1)) {
+ Return (Refof(aui1))
+ } elseif (LEqual(arg2, 2)) {
+ CondRefof(aui1, Local0)
+ Return (Local0)
+ }
+ }
+ Case(2) {
+ if (LEqual(arg2, 0)) {
+ Return (aui2)
+ } elseif (LEqual(arg2, 1)) {
+ Return (Refof(aui2))
+ } elseif (LEqual(arg2, 2)) {
+ CondRefof(aui2, Local0)
+ Return (Local0)
+ }
+ }
+ Case(3) {
+ if (LEqual(arg2, 0)) {
+ Return (aui3)
+ } elseif (LEqual(arg2, 1)) {
+ Return (Refof(aui3))
+ } elseif (LEqual(arg2, 2)) {
+ CondRefof(aui3, Local0)
+ Return (Local0)
+ }
+ }
+ Case(4) {
+ if (LEqual(arg2, 0)) {
+ Return (aui4)
+ } elseif (LEqual(arg2, 1)) {
+ Return (Refof(aui4))
+ } elseif (LEqual(arg2, 2)) {
+ CondRefof(aui4, Local0)
+ Return (Local0)
+ }
+ }
+ Case(5) {
+ if (LEqual(arg2, 0)) {
+ Return (aui5)
+ } elseif (LEqual(arg2, 1)) {
+ Return (Refof(aui5))
+ } elseif (LEqual(arg2, 2)) {
+ CondRefof(aui5, Local0)
+ Return (Local0)
+ }
+ }
+ Case(6) {
+ if (LEqual(arg2, 0)) {
+ Return (aui6)
+ } elseif (LEqual(arg2, 1)) {
+ Return (Refof(aui6))
+ } elseif (LEqual(arg2, 2)) {
+ CondRefof(aui6, Local0)
+ Return (Local0)
+ }
+ }
+ Case(7) {
+ if (LEqual(arg2, 0)) {
+ Return (aui7)
+ } elseif (LEqual(arg2, 1)) {
+ Return (Refof(aui7))
+ } elseif (LEqual(arg2, 2)) {
+ CondRefof(aui7, Local0)
+ Return (Local0)
+ }
+ }
+ Case(8) {
+ if (LEqual(arg2, 0)) {
+ Return (aui8)
+ } elseif (LEqual(arg2, 1)) {
+ Return (Refof(aui8))
+ } elseif (LEqual(arg2, 2)) {
+ CondRefof(aui8, Local0)
+ Return (Local0)
+ }
+ }
+ Case(9) {
+ if (LEqual(arg2, 0)) {
+ Return (aui9)
+ } elseif (LEqual(arg2, 1)) {
+ Return (Refof(aui9))
+ } elseif (LEqual(arg2, 2)) {
+ CondRefof(aui9, Local0)
+ Return (Local0)
+ }
+ }
+ Case(10) {
+ if (LEqual(arg2, 0)) {
+ Return (auia)
+ } elseif (LEqual(arg2, 1)) {
+ Return (Refof(auia))
+ } elseif (LEqual(arg2, 2)) {
+ CondRefof(auia, Local0)
+ Return (Local0)
+ }
+ }
+ Case(11) {
+ if (LEqual(arg2, 0)) {
+ Return (auib)
+ } elseif (LEqual(arg2, 1)) {
+ Return (Refof(auib))
+ } elseif (LEqual(arg2, 2)) {
+ CondRefof(auib, Local0)
+ Return (Local0)
+ }
+ }
+ Case(12) {
+ if (LEqual(arg2, 0)) {
+ Return (auic)
+ } elseif (LEqual(arg2, 1)) {
+ Return (Refof(auic))
+ } elseif (LEqual(arg2, 2)) {
+ CondRefof(auic, Local0)
+ Return (Local0)
+ }
+ }
+ Case(13) {
+ if (LEqual(arg2, 0)) {
+ Return (auid)
+ } elseif (LEqual(arg2, 1)) {
+ Return (Refof(auid))
+ } elseif (LEqual(arg2, 2)) {
+ CondRefof(auid, Local0)
+ Return (Local0)
+ }
+ }
+ Case(14) {
+ if (LEqual(arg2, 0)) {
+ Return (auie)
+ } elseif (LEqual(arg2, 1)) {
+ Return (Refof(auie))
+ } elseif (LEqual(arg2, 2)) {
+ CondRefof(auie, Local0)
+ Return (Local0)
+ }
+ }
+ Case(15) {
+ if (LEqual(arg2, 0)) {
+ Return (auif)
+ } elseif (LEqual(arg2, 1)) {
+ Return (Refof(auif))
+ } elseif (LEqual(arg2, 2)) {
+ CondRefof(auif, Local0)
+ Return (Local0)
+ }
+ }
+ Case(16) {
+ if (LEqual(arg2, 0)) {
+ Return (auig)
+ } elseif (LEqual(arg2, 1)) {
+ Return (Refof(auig))
+ } elseif (LEqual(arg2, 2)) {
+ CondRefof(auig, Local0)
+ Return (Local0)
+ }
+ }
+ Case(17) {
+ if (LEqual(arg2, 0)) {
+ Return (auih)
+ } elseif (LEqual(arg2, 1)) {
+ Return (Refof(auih))
+ } elseif (LEqual(arg2, 2)) {
+ CondRefof(auih, Local0)
+ Return (Local0)
+ }
+ }
+ Case(18) {
+ if (LEqual(arg2, 0)) {
+ Return (auii)
+ } elseif (LEqual(arg2, 1)) {
+ Return (Refof(auii))
+ } elseif (LEqual(arg2, 2)) {
+ CondRefof(auii, Local0)
+ Return (Local0)
+ }
+ }
+ Case(19) {
+ if (LEqual(arg2, 0)) {
+ Return (auij)
+ } elseif (LEqual(arg2, 1)) {
+ Return (Refof(auij))
+ } elseif (LEqual(arg2, 2)) {
+ CondRefof(auij, Local0)
+ Return (Local0)
+ }
+ }
+ Case(20) {
+ if (LEqual(arg2, 0)) {
+ Return (auik)
+ } elseif (LEqual(arg2, 1)) {
+ Return (Refof(auik))
+ } elseif (LEqual(arg2, 2)) {
+ CondRefof(auik, Local0)
+ Return (Local0)
+ }
+ }
+ Case(21) {
+ if (LEqual(arg2, 0)) {
+ Return (auil)
+ } elseif (LEqual(arg2, 1)) {
+ Return (Refof(auil))
+ } elseif (LEqual(arg2, 2)) {
+ CondRefof(auil, Local0)
+ Return (Local0)
+ }
+ }
+ Case(22) {
+ if (LEqual(arg2, 0)) {
+ Return (auim)
+ } elseif (LEqual(arg2, 1)) {
+ Return (Refof(auim))
+ } elseif (LEqual(arg2, 2)) {
+ CondRefof(auim, Local0)
+ Return (Local0)
+ }
+ }
+ Default {
+ err(terr, z084, 16, 0, 0, arg0, arg1)
+ }
+ }
+ }
+ Case(2) { // String
+ Switch(arg1) {
+ Case(0) {
+ if (LEqual(arg2, 0)) {
+ Return (aus0)
+ } elseif (LEqual(arg2, 1)) {
+ Return (Refof(aus0))
+ } elseif (LEqual(arg2, 2)) {
+ CondRefof(aus0, Local0)
+ Return (Local0)
+ }
+ }
+ Case(1) {
+ if (LEqual(arg2, 0)) {
+ Return (aus1)
+ } elseif (LEqual(arg2, 1)) {
+ Return (Refof(aus1))
+ } elseif (LEqual(arg2, 2)) {
+ CondRefof(aus1, Local0)
+ Return (Local0)
+ }
+ }
+ Case(2) {
+ if (LEqual(arg2, 0)) {
+ Return (aus2)
+ } elseif (LEqual(arg2, 1)) {
+ Return (Refof(aus2))
+ } elseif (LEqual(arg2, 2)) {
+ CondRefof(aus2, Local0)
+ Return (Local0)
+ }
+ }
+ Case(3) {
+ if (LEqual(arg2, 0)) {
+ Return (aus3)
+ } elseif (LEqual(arg2, 1)) {
+ Return (Refof(aus3))
+ } elseif (LEqual(arg2, 2)) {
+ CondRefof(aus3, Local0)
+ Return (Local0)
+ }
+ }
+ Case(4) {
+ if (LEqual(arg2, 0)) {
+ Return (aus4)
+ } elseif (LEqual(arg2, 1)) {
+ Return (Refof(aus4))
+ } elseif (LEqual(arg2, 2)) {
+ CondRefof(aus4, Local0)
+ Return (Local0)
+ }
+ }
+ Case(5) {
+ if (LEqual(arg2, 0)) {
+ Return (aus5)
+ } elseif (LEqual(arg2, 1)) {
+ Return (Refof(aus5))
+ } elseif (LEqual(arg2, 2)) {
+ CondRefof(aus5, Local0)
+ Return (Local0)
+ }
+ }
+ Case(6) {
+ if (LEqual(arg2, 0)) {
+ Return (aus6)
+ } elseif (LEqual(arg2, 1)) {
+ Return (Refof(aus6))
+ } elseif (LEqual(arg2, 2)) {
+ CondRefof(aus6, Local0)
+ Return (Local0)
+ }
+ }
+ Case(7) {
+ if (LEqual(arg2, 0)) {
+ Return (aus7)
+ } elseif (LEqual(arg2, 1)) {
+ Return (Refof(aus7))
+ } elseif (LEqual(arg2, 2)) {
+ CondRefof(aus7, Local0)
+ Return (Local0)
+ }
+ }
+ Case(8) {
+ if (LEqual(arg2, 0)) {
+ Return (aus8)
+ } elseif (LEqual(arg2, 1)) {
+ Return (Refof(aus8))
+ } elseif (LEqual(arg2, 2)) {
+ CondRefof(aus8, Local0)
+ Return (Local0)
+ }
+ }
+ Case(9) {
+ if (LEqual(arg2, 0)) {
+ Return (aus9)
+ } elseif (LEqual(arg2, 1)) {
+ Return (Refof(aus9))
+ } elseif (LEqual(arg2, 2)) {
+ CondRefof(aus9, Local0)
+ Return (Local0)
+ }
+ }
+ Case(10) {
+ if (LEqual(arg2, 0)) {
+ Return (ausa)
+ } elseif (LEqual(arg2, 1)) {
+ Return (Refof(ausa))
+ } elseif (LEqual(arg2, 2)) {
+ CondRefof(ausa, Local0)
+ Return (Local0)
+ }
+ }
+ Default {
+ err(terr, z084, 17, 0, 0, arg0, arg1)
+ }
+ }
+ }
+ Case(3) { // Buffer
+ Switch(arg1) {
+ Case(0) {
+ if (LEqual(arg2, 0)) {
+ Return (aub0)
+ } elseif (LEqual(arg2, 1)) {
+ Return (Refof(aub0))
+ } elseif (LEqual(arg2, 2)) {
+ CondRefof(aub0, Local0)
+ Return (Local0)
+ }
+ }
+ Case(1) {
+ if (LEqual(arg2, 0)) {
+ Return (aub1)
+ } elseif (LEqual(arg2, 1)) {
+ Return (Refof(aub1))
+ } elseif (LEqual(arg2, 2)) {
+ CondRefof(aub1, Local0)
+ Return (Local0)
+ }
+ }
+ Case(2) {
+ if (LEqual(arg2, 0)) {
+ Return (aub2)
+ } elseif (LEqual(arg2, 1)) {
+ Return (Refof(aub2))
+ } elseif (LEqual(arg2, 2)) {
+ CondRefof(aub2, Local0)
+ Return (Local0)
+ }
+ }
+ Case(3) {
+ if (LEqual(arg2, 0)) {
+ Return (aub3)
+ } elseif (LEqual(arg2, 1)) {
+ Return (Refof(aub3))
+ } elseif (LEqual(arg2, 2)) {
+ CondRefof(aub3, Local0)
+ Return (Local0)
+ }
+ }
+ Case(4) {
+ if (LEqual(arg2, 0)) {
+ Return (aub4)
+ } elseif (LEqual(arg2, 1)) {
+ Return (Refof(aub4))
+ } elseif (LEqual(arg2, 2)) {
+ CondRefof(aub4, Local0)
+ Return (Local0)
+ }
+ }
+ Case(5) {
+ if (LEqual(arg2, 0)) {
+ Return (aub5)
+ } elseif (LEqual(arg2, 1)) {
+ Return (Refof(aub5))
+ } elseif (LEqual(arg2, 2)) {
+ CondRefof(aub5, Local0)
+ Return (Local0)
+ }
+ }
+ Case(6) {
+ if (LEqual(arg2, 0)) {
+ Return (aub6)
+ } elseif (LEqual(arg2, 1)) {
+ Return (Refof(aub6))
+ } elseif (LEqual(arg2, 2)) {
+ CondRefof(aub6, Local0)
+ Return (Local0)
+ }
+ }
+ Case(7) {
+ if (LEqual(arg2, 0)) {
+ Return (aub7)
+ } elseif (LEqual(arg2, 1)) {
+ Return (Refof(aub7))
+ } elseif (LEqual(arg2, 2)) {
+ CondRefof(aub7, Local0)
+ Return (Local0)
+ }
+ }
+ Case(8) {
+ if (LEqual(arg2, 0)) {
+ Return (aub8)
+ } elseif (LEqual(arg2, 1)) {
+ Return (Refof(aub8))
+ } elseif (LEqual(arg2, 2)) {
+ CondRefof(aub8, Local0)
+ Return (Local0)
+ }
+ }
+ Default {
+ err(terr, z084, 18, 0, 0, arg0, arg1)
+ }
+ }
+ }
+ Case(4) { // Package
+ Switch(arg1) {
+ Case(0) {
+ if (LEqual(arg2, 0)) {
+ Return (aup0)
+ } elseif (LEqual(arg2, 1)) {
+ Return (Refof(aup0))
+ } elseif (LEqual(arg2, 2)) {
+ CondRefof(aup0, Local0)
+ Return (Local0)
+ }
+ }
+ Default {
+ err(terr, z084, 19, 0, 0, arg0, arg1)
+ }
+ }
+ }
+ Default {
+ err(terr, z084, 20, 0, 0, arg0, arg1)
+ }
+ }
+ } else {
+ err(terr, z084, 21, 0, 0, arg1, arg2)
+ }
+ Return(Local0)
+}
+
+// Obtain specified Auxiliary Element of Package
+// or reference to it as result of a Method invocation
+// (by Return)
+// m603(<type>,
+// <opcode>,
+// <ref_key>)
+Method(m603, 3)
+{
+ Switch(arg0) {
+ Case(1) { // Integer
+ if (LLess(arg1, 23)) {
+ Switch(arg2) {
+ Case(0) {
+ Return (Derefof(Index(paui, arg1)))
+ }
+ Case(1) {
+ Return (Index(paui, arg1))
+ }
+ Case(2) {
+ Index(paui, arg1, Local0)
+ Return (Local0)
+ }
+ Default {
+ err(terr, z084, 22, 0, 0, arg1, arg2)
+ }
+ }
+ } else {
+ err(terr, z084, 23, 0, 0, arg0, arg1)
+ }
+ }
+ Case(2) { // String
+ if (LLess(arg1, 11)) {
+ Switch(arg2) {
+ Case(0) {
+ Return (Derefof(Index(paus, arg1)))
+ }
+ Case(1) {
+ Return (Index(paus, arg1))
+ }
+ Case(2) {
+ Index(paus, arg1, Local0)
+ Return (Local0)
+ }
+ Default {
+ err(terr, z084, 24, 0, 0, arg1, arg2)
+ }
+ }
+ } else {
+ err(terr, z084, 25, 0, 0, arg0, arg1)
+ }
+ }
+ Case(3) { // Buffer
+ if (LLess(arg1, 9)) {
+ Switch(arg2) {
+ Case(0) {
+ Return (Derefof(Index(paub, arg1)))
+ }
+ Case(1) {
+ Return (Index(paub, arg1))
+ }
+ Case(2) {
+ Index(paub, arg1, Local0)
+ Return (Local0)
+ }
+ Default {
+ err(terr, z084, 26, 0, 0, arg1, arg2)
+ }
+ }
+ } else {
+ err(terr, z084, 27, 0, 0, arg0, arg1)
+ }
+ }
+ Case(4) { // Package
+ if (LLess(arg1, 6)) {
+ Switch(arg2) {
+ Case(0) {
+ Return (Derefof(Index(paup, arg1)))
+ }
+ Case(1) {
+ Return (Index(paup, arg1))
+ }
+ Case(2) {
+ Index(paup, arg1, Local0)
+ Return (Local0)
+ }
+ Default {
+ err(terr, z084, 28, 0, 0, arg1, arg2)
+ }
+ }
+ } else {
+ err(terr, z084, 29, 0, 0, arg0, arg1)
+ }
+ }
+ Default {
+ err(terr, z084, 30, 0, 0, arg0, arg1)
+ }
+ }
+ Return(Local0)
+}
+
+// Obtain specified Test Object or reference to it by Return
+// m604(<carrier>
+// <type>,
+// <opcode>,
+// <ref_key>)
+Method(m604, 4)
+{
+ Switch(arg0) {
+ Case(0) { // Constant
+ if (arg3) {
+ err(terr, z084, 0, 0, 0, arg1, arg2)
+ }
+ Switch(arg1) {
+ Case(1) { // Integer
+ Switch(arg2) {
+ Case(3) {
+ Return (0xc179b3fe)
+ }
+ Case(4) {
+ Return (0xfe7cb391d650a284)
+ }
+ Case(12) {
+ Return (0x6179534e)
+ }
+ Case(13) {
+ Return (0x6e7c534136502214)
+ }
+ Case(14) {
+ Return (0x6e00534136002214)
+ }
+ Case(15) {
+ Return (0x6e7c534136002214)
+ }
+ Default {
+ err(terr, z084, 1, 0, 0, arg1, arg2)
+ }
+ }
+ }
+ Case(2) { // String
+ Switch(arg2) {
+ Case(0) {
+ Return ("0")
+ }
+ Case(1) {
+ Return ("0321")
+ }
+ Case(4) {
+ Return ("C179B3FE")
+ }
+ Case(5) {
+ Return ("FE7CB391D650A284")
+ }
+ Case(12) {
+ Return ("")
+ }
+ Case(14) {
+ Return ("!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*")
+ }
+ Case(20) {
+ Return ("B")
+ }
+ Case(21) {
+ Return ("3789012345678901")
+ }
+ Case(22) {
+ Return ("D76162EE9EC35")
+ }
+ Case(23) {
+ Return ("90123456")
+ }
+ Case(24) {
+ Return ("55F2CC0")
+ }
+ Case(27) {
+ Return ("63")
+ }
+ Default {
+ err(terr, z084, 1, 0, 0, arg1, arg2)
+ }
+ }
+ }
+ Case(3) { // Buffer
+ Switch(arg2) {
+ Case(0) {
+ Return (Buffer(1){0x00})
+ }
+ Case(6) {
+ Return (Buffer(3){0x21, 0x03, 0x00})
+ }
+ Case(10) {
+ Return (Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5})
+ }
+ Case(12) {
+ Return (Buffer(67){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,})
+ }
+ Case(14) {
+ Return (Buffer(1){0xb})
+ }
+ Case(15) {
+ Return (Buffer() {0x01, 0x89, 0x67, 0x45, 0x23, 0x01, 0x89, 0x37})
+ }
+ Case(16) {
+ Return (Buffer() {0x35, 0xec, 0xe9, 0x2e, 0x16, 0x76, 0x0d})
+ }
+ Case(17) {
+ Return (Buffer() {0x56, 0x34, 0x12, 0x90})
+ }
+ Case(18) {
+ Return (Buffer() {0xc0, 0x2c, 0x5f, 0x05})
+ }
+ Case(19) {
+ Return (Buffer(1){0x3f})
+ }
+ Default {
+ err(terr, z084, 1, 0, 0, arg1, arg2)
+ }
+ }
+ }
+ Default {
+ err(terr, z084, 2, 0, 0, arg1, arg2)
+ }
+ }
+ }
+ Case(1) { // Global Named Object
+ Switch(arg1) {
+ Case(1) { // Integer
+ Switch(arg2) {
+ Case(3) {
+ Switch(arg3) {
+ Case(0) {
+ Return (i603)
+ }
+ Case(1) {
+ Return (Refof(i603))
+ }
+ Case(2) {
+ CondRefof(i603, Local0)
+ Return (Local0)
+ }
+ Default {
+ err(terr, z084, 3, 0, 0, arg2, arg3)
+ }
+ }
+ }
+ Case(4) {
+ Switch(arg3) {
+ Case(0) {
+ Return (i604)
+ }
+ Case(1) {
+ Return (Refof(i604))
+ }
+ Case(2) {
+ CondRefof(i604, Local0)
+ Return (Local0)
+ }
+ Default {
+ err(terr, z084, 4, 0, 0, arg2, arg3)
+ }
+ }
+ }
+ Default {
+ err(terr, z084, 5, 0, 0, arg1, arg2)
+ }
+ }
+ }
+ Default {
+ err(terr, z084, 6, 0, 0, arg1, arg2)
+ }
+ }
+ }
+ Case(2) { // Element of Package
+ Switch(arg1) {
+ Case(1) { // Integer
+ if (LLess(arg2, 16)) {
+ Switch(arg3) {
+ Case(0) {
+ Return (Derefof(Index(pi60, arg2)))
+ }
+ Case(1) {
+ Return (Index(pi60, arg2))
+ }
+ Case(2) {
+ Index(pi60, arg2, Local0)
+ Return (Local0)
+ }
+ Default {
+ err(terr, z084, 7, 0, 0, arg2, arg3)
+ }
+ }
+ } else {
+ err(terr, z084, 8, 0, 0, arg1, arg2)
+ }
+ }
+ Case(2) { // String
+ if (LLess(arg2, 28)) {
+ Switch(arg3) {
+ Case(0) {
+ Return (Derefof(Index(ps60, arg2)))
+ }
+ Case(1) {
+ Return (Index(ps60, arg2))
+ }
+ Case(2) {
+ Index(ps60, arg2, Local0)
+ Return (Local0)
+ }
+ Default {
+ err(terr, z084, 7, 0, 0, arg2, arg3)
+ }
+ }
+ } else {
+ err(terr, z084, 8, 0, 0, arg1, arg2)
+ }
+ }
+ Case(3) { // Buffer
+ if (LLess(arg2, 20)) {
+ Switch(arg3) {
+ Case(0) {
+ Return (Derefof(Index(pb60, arg2)))
+ }
+ Case(1) {
+ Return (Index(pb60, arg2))
+ }
+ Case(2) {
+ Index(pb60, arg2, Local0)
+ Return (Local0)
+ }
+ Default {
+ err(terr, z084, 7, 0, 0, arg2, arg3)
+ }
+ }
+ } else {
+ err(terr, z084, 8, 0, 0, arg1, arg2)
+ }
+ }
+ Default {
+ err(terr, z084, 9, 0, 0, arg1, arg2)
+ }
+ }
+ }
+ Default {
+ err(terr, z084, 10, 0, 0, arg0, arg1)
+ }
+ }
+ Return(Local0)
+}
+
+// Check consistency of the test Named Objects
+// in the root Scope of the Global ACPI namespace
+// m605(<msg>,
+// <type>,
+// <pack_flag>)
+Method(m605, 3)
+{
+ if (LEqual(arg1, 1)) {
+ if (arg2) {
+ // Test Integers Package
+ m600(arg0, 1, Derefof(Index(pi60, 1)), 0321)
+ m600(arg0, 2, Derefof(Index(pi60, 2)), 9876543210)
+ m600(arg0, 3, Derefof(Index(pi60, 3)), 0xc179b3fe)
+ m600(arg0, 4, Derefof(Index(pi60, 4)), 0xfe7cb391d650a284)
+ m600(arg0, 5, Derefof(Index(pi60, 5)), 0)
+ m600(arg0, 6, Derefof(Index(pi60, 6)), 0xffffffff)
+ m600(arg0, 7, Derefof(Index(pi60, 7)), 0xffffffffffffffff)
+ m600(arg0, 8, Derefof(Index(pi60, 8)), 0xabcdef)
+ m600(arg0, 9, Derefof(Index(pi60, 9)), 0xABCDEF)
+ m600(arg0, 10, Derefof(Index(pi60, 10)), 0xff)
+ m600(arg0, 11, Derefof(Index(pi60, 11)), 0xffffffffff)
+ m600(arg0, 12, Derefof(Index(pi60, 12)), 0x6179534e)
+ m600(arg0, 13, Derefof(Index(pi60, 13)), 0x6e7c534136502214)
+ m600(arg0, 14, Derefof(Index(pi60, 14)), 0x6e00534136002214)
+ m600(arg0, 15, Derefof(Index(pi60, 15)), 0x6e7c534136002214)
+ } else {
+ // Test Integers
+ m600(arg0, 16, i601, 0321)
+ m600(arg0, 17, i602, 9876543210)
+ m600(arg0, 18, i603, 0xc179b3fe)
+ m600(arg0, 19, i604, 0xfe7cb391d650a284)
+ m600(arg0, 20, i605, 0)
+ m600(arg0, 21, i606, 0xffffffff)
+ m600(arg0, 22, i607, 0xffffffffffffffff)
+ m600(arg0, 23, i608, 0xabcdef)
+ m600(arg0, 24, i609, 0xABCDEF)
+ m600(arg0, 25, i60a, 0xff)
+ m600(arg0, 26, i60b, 0xffffffffff)
+ m600(arg0, 27, i60c, 0x6179534e)
+ m600(arg0, 28, i60d, 0x6e7c534136502214)
+ m600(arg0, 29, i60e, 0x6e00534136002214)
+ m600(arg0, 30, i60f, 0x6e7c534136002214)
+ }
+ } elseif (LEqual(arg1, 2)) {
+ if (arg2) {
+ // Test Strings Package
+ m600(arg0, 31, Derefof(Index(ps60, 0)), "0")
+ m600(arg0, 32, Derefof(Index(ps60, 1)), "0321")
+ m600(arg0, 33, Derefof(Index(ps60, 2)), "321")
+ m600(arg0, 34, Derefof(Index(ps60, 3)), "ba9876")
+ m600(arg0, 35, Derefof(Index(ps60, 4)), "C179B3FE")
+ m600(arg0, 36, Derefof(Index(ps60, 5)), "FE7CB391D650A284")
+ m600(arg0, 37, Derefof(Index(ps60, 6)), "ffffffff")
+ m600(arg0, 38, Derefof(Index(ps60, 7)), "ffffffffffffffff")
+ m600(arg0, 39, Derefof(Index(ps60, 8)), "fe7cb391d650a2841")
+ m600(arg0, 40, Derefof(Index(ps60, 9)), "9876543210")
+ m600(arg0, 41, Derefof(Index(ps60, 10)), "0xfe7cb3")
+ m600(arg0, 42, Derefof(Index(ps60, 11)), "1234q")
+ m600(arg0, 43, Derefof(Index(ps60, 12)), "")
+ m600(arg0, 44, Derefof(Index(ps60, 13)), " ")
+ m600(arg0, 45, Derefof(Index(ps60, 14)), "!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*")
+ m600(arg0, 46, Derefof(Index(ps60, 15)), "\x01\x02\x03\x04\x05\x06\a\b\t\n\v\f\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7f")
+ m600(arg0, 47, Derefof(Index(ps60, 16)), "abcdef")
+ m600(arg0, 48, Derefof(Index(ps60, 17)), "ABCDEF")
+ m600(arg0, 49, Derefof(Index(ps60, 18)), "ff")
+ m600(arg0, 50, Derefof(Index(ps60, 19)), "ffffffffff")
+ m600(arg0, 51, Derefof(Index(ps60, 20)), "B")
+ m600(arg0, 52, Derefof(Index(ps60, 21)), "3789012345678901")
+ m600(arg0, 53, Derefof(Index(ps60, 22)), "D76162EE9EC35")
+ m600(arg0, 54, Derefof(Index(ps60, 23)), "90123456")
+ m600(arg0, 55, Derefof(Index(ps60, 24)), "55F2CC0")
+ m600(arg0, 56, Derefof(Index(ps60, 25)), "c179B3FE")
+ m600(arg0, 57, Derefof(Index(ps60, 26)), "fE7CB391D650A284")
+ m600(arg0, 58, Derefof(Index(ps60, 27)), "63")
+ } else {
+ // Test Strings
+ m600(arg0, 59, s600, "0")
+ m600(arg0, 60, s601, "0321")
+ m600(arg0, 61, s602, "321")
+ m600(arg0, 62, s603, "ba9876")
+ m600(arg0, 63, s604, "C179B3FE")
+ m600(arg0, 64, s605, "FE7CB391D650A284")
+ m600(arg0, 65, s606, "ffffffff")
+ m600(arg0, 66, s607, "ffffffffffffffff")
+ m600(arg0, 67, s608, "fe7cb391d650a2841")
+ m600(arg0, 68, s609, "9876543210")
+ m600(arg0, 69, s60a, "0xfe7cb3")
+ m600(arg0, 70, s60b, "1234q")
+ m600(arg0, 71, s60c, "")
+ m600(arg0, 72, s60d, " ")
+ m600(arg0, 73, s60e, "!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*")
+ m600(arg0, 74, s60f, "\x01\x02\x03\x04\x05\x06\a\b\t\n\v\f\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7f")
+ m600(arg0, 75, s610, "abcdef")
+ m600(arg0, 76, s611, "ABCDEF")
+ m600(arg0, 77, s612, "ff")
+ m600(arg0, 78, s613, "ffffffffff")
+ m600(arg0, 79, s614, "B")
+ m600(arg0, 80, s615, "3789012345678901")
+ m600(arg0, 81, s616, "D76162EE9EC35")
+ m600(arg0, 82, s617, "90123456")
+ m600(arg0, 83, s618, "55F2CC0")
+ m600(arg0, 84, s619, "c179B3FE")
+ m600(arg0, 85, s61a, "fE7CB391D650A284")
+ m600(arg0, 86, s61b, "63")
+ }
+ } elseif (LEqual(arg1, 3)) {
+ if (arg2) {
+ // Test Buffers Package
+ m600(arg0, 87, Derefof(Index(pb60, 0)), Buffer(1){0x00})
+ m600(arg0, 88, Derefof(Index(pb60, 1)), Buffer(1){0xa5})
+ m600(arg0, 89, Derefof(Index(pb60, 2)), Buffer(2){0x21, 0x03})
+ m600(arg0, 90, Derefof(Index(pb60, 3)), Buffer() {0x21, 0x03, 0x5a})
+ m600(arg0, 91, Derefof(Index(pb60, 4)), Buffer(2){0x21, 0x03, 0x5a})
+ m600(arg0, 92, Derefof(Index(pb60, 5)), Buffer(3){0x21, 0x03})
+ m600(arg0, 93, Derefof(Index(pb60, 6)), Buffer(3){0x21, 0x03, 0x00})
+ m600(arg0, 94, Derefof(Index(pb60, 7)), Buffer(4){0xFE, 0xB3, 0x79, 0xC1})
+ m600(arg0, 95, Derefof(Index(pb60, 8)), Buffer(5){0xFE, 0xB3, 0x79, 0xC1, 0xa5})
+ m600(arg0, 96, Derefof(Index(pb60, 9)), Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ m600(arg0, 97, Derefof(Index(pb60, 10)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5})
+ m600(arg0, 98, Derefof(Index(pb60, 11)), Buffer(257){0x00})
+ m600(arg0, 99, Derefof(Index(pb60, 12)), Buffer(67){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,})
+ m600(arg0, 100, Derefof(Index(pb60, 13)), Buffer(68){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x00,})
+ m600(arg0, 101, Derefof(Index(pb60, 14)), Buffer(1){0xb})
+ m600(arg0, 102, Derefof(Index(pb60, 15)), Buffer() {0x01, 0x89, 0x67, 0x45, 0x23, 0x01, 0x89, 0x37})
+ m600(arg0, 103, Derefof(Index(pb60, 16)), Buffer() {0x35, 0xec, 0xe9, 0x2e, 0x16, 0x76, 0x0d})
+ m600(arg0, 104, Derefof(Index(pb60, 17)), Buffer() {0x56, 0x34, 0x12, 0x90})
+ m600(arg0, 105, Derefof(Index(pb60, 18)), Buffer() {0xc0, 0x2c, 0x5f, 0x05})
+ m600(arg0, 106, Derefof(Index(pb60, 19)), Buffer(1){0x3f})
+ } else {
+ // Test Buffers
+ m600(arg0, 107, b600, Buffer(1){0x00})
+ m600(arg0, 108, b601, Buffer(1){0xa5})
+ m600(arg0, 109, b602, Buffer(2){0x21, 0x03})
+ m600(arg0, 110, b603, Buffer() {0x21, 0x03, 0x5a})
+ m600(arg0, 111, b604, Buffer(2){0x21, 0x03, 0x5a})
+ m600(arg0, 112, b605, Buffer(3){0x21, 0x03})
+ m600(arg0, 113, b606, Buffer(3){0x21, 0x03, 0x00})
+ m600(arg0, 114, b607, Buffer(4){0xFE, 0xB3, 0x79, 0xC1})
+ m600(arg0, 115, b608, Buffer(5){0xFE, 0xB3, 0x79, 0xC1, 0xa5})
+ m600(arg0, 116, b609, Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ m600(arg0, 117, b60a, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5})
+ m600(arg0, 118, b60b, Buffer(257){0x00})
+ m600(arg0, 119, b60c, Buffer(67){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,})
+ m600(arg0, 120, b60d, Buffer(68){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x00,})
+ m600(arg0, 121, b60e, Buffer(1){0xb})
+ m600(arg0, 122, b60f, Buffer() {0x01, 0x89, 0x67, 0x45, 0x23, 0x01, 0x89, 0x37})
+ m600(arg0, 123, b610, Buffer() {0x35, 0xec, 0xe9, 0x2e, 0x16, 0x76, 0x0d})
+ m600(arg0, 124, b611, Buffer() {0x56, 0x34, 0x12, 0x90})
+ m600(arg0, 125, b612, Buffer() {0xc0, 0x2c, 0x5f, 0x05})
+ m600(arg0, 126, b613, Buffer(1){0x3f})
+ }
+ }
+}
+
+// Check consistency of the test Named Objects
+// in the root Scope of the Global ACPI namespace
+Method(m606, 1)
+{
+ m605(arg0, 1, 0)
+ m605(arg0, 1, 1)
+ m605(arg0, 2, 0)
+ m605(arg0, 2, 1)
+ m605(arg0, 3, 0)
+ m605(arg0, 3, 1)
+}
diff --git a/tests/aslts/src/runtime/collections/complex/operand/tests/FULL/DECL.asl b/tests/aslts/src/runtime/collections/complex/operand/tests/FULL/DECL.asl
new file mode 100644
index 000000000..0226721df
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/operand/tests/FULL/DECL.asl
@@ -0,0 +1,44 @@
+/*
+ * 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.
+ */
+
+
+Include("../../../../../../runtime/collections/complex/operand/tests/oconst/oconst.asl")
+Include("../../../../../../runtime/collections/complex/operand/tests/onamedglob/onamedglob1.asl")
+Include("../../../../../../runtime/collections/complex/operand/tests/onamedglob/onamedglob2.asl")
+Include("../../../../../../runtime/collections/complex/operand/tests/onamedloc/onamedloc1.asl")
+Include("../../../../../../runtime/collections/complex/operand/tests/onamedloc/onamedloc2.asl")
+Include("../../../../../../runtime/collections/complex/operand/tests/opackageel/opackageel.asl")
+Include("../../../../../../runtime/collections/complex/operand/tests/oreftonamed/oreftonamed1.asl")
+Include("../../../../../../runtime/collections/complex/operand/tests/oreftonamed/oreftonamed2.asl")
+Include("../../../../../../runtime/collections/complex/operand/tests/oconversion/oconversion.asl")
+Include("../../../../../../runtime/collections/complex/operand/tests/oarg/oarg.asl")
+Include("../../../../../../runtime/collections/complex/operand/tests/olocal/olocal.asl")
+Include("../../../../../../runtime/collections/complex/operand/tests/oreturn/oreturn.asl")
+Include("../../../../../../runtime/collections/complex/operand/tests/oreftopackageel/oreftopackageel.asl")
diff --git a/tests/aslts/src/runtime/collections/complex/operand/tests/FULL/MAIN.asl b/tests/aslts/src/runtime/collections/complex/operand/tests/FULL/MAIN.asl
new file mode 100644
index 000000000..ebf818cd9
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/operand/tests/FULL/MAIN.asl
@@ -0,0 +1,61 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "operand.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../../runtime/cntl/DECL_6UP.asl")
+ Include("../../../../../../runtime/common/operations.asl")
+ Include("../../../../../../runtime/common/conversion/oproc.asl")
+ Include("../../../../../../runtime/common/conversion/otest.asl")
+ Include("../../../../../../runtime/collections/complex/operand/common/ocommon.asl")
+ Include("../../../../../../runtime/collections/complex/operand/tests/FULL/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../../runtime/collections/complex/operand/tests/FULL/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/complex/operand/tests/FULL/RUN.asl b/tests/aslts/src/runtime/collections/complex/operand/tests/FULL/RUN.asl
new file mode 100644
index 000000000..51acfb28b
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/operand/tests/FULL/RUN.asl
@@ -0,0 +1,42 @@
+/*
+ * 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.
+ */
+
+Store("COLLECTION: all tests of Source Operand", Debug)
+
+Include("../../../../../../runtime/collections/complex/operand/tests/oconst/RUN.asl")
+Include("../../../../../../runtime/collections/complex/operand/tests/onamedglob/RUN.asl")
+Include("../../../../../../runtime/collections/complex/operand/tests/onamedloc/RUN.asl")
+Include("../../../../../../runtime/collections/complex/operand/tests/opackageel/RUN.asl")
+Include("../../../../../../runtime/collections/complex/operand/tests/oreftonamed/RUN.asl")
+Include("../../../../../../runtime/collections/complex/operand/tests/oarg/RUN.asl")
+Include("../../../../../../runtime/collections/complex/operand/tests/olocal/RUN.asl")
+Include("../../../../../../runtime/collections/complex/operand/tests/oreturn/RUN.asl")
+Include("../../../../../../runtime/collections/complex/operand/tests/oreftopackageel/RUN.asl")
+Include("../../../../../../runtime/collections/complex/operand/tests/oconversion/RUN.asl")
diff --git a/tests/aslts/src/runtime/collections/complex/operand/tests/Makefile b/tests/aslts/src/runtime/collections/complex/operand/tests/Makefile
new file mode 100644
index 000000000..db4b0a36e
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/operand/tests/Makefile
@@ -0,0 +1,18 @@
+# tests
+
+MDIRS = \
+ oarg \
+ oconst \
+ oconversion \
+ olocal \
+ onamedglob \
+ onamedloc \
+ opackageel \
+ oreftonamed \
+ oreftopackageel \
+ oreturn
+
+# FULL
+
+TOP= ../../../../../..
+include $(TOP)/Makefile.switch
diff --git a/tests/aslts/src/runtime/collections/complex/operand/tests/SPEC b/tests/aslts/src/runtime/collections/complex/operand/tests/SPEC
new file mode 100644
index 000000000..da4279403
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/operand/tests/SPEC
@@ -0,0 +1,177 @@
+
+/*
+ * Implicit Source Operand Conversion, complex test
+ *
+ *
+ * Integer to String implicit conversion Cases.
+ * There are following cases when this type of conversion is applied:
+ * - to the Integer second operand of Logical operators when the first
+ * operand is evaluated as String (LEqual, LGreater, LGreaterEqual,
+ * LLess, LLessEqual, LNotEqual)
+ * - to the Integer second operand of Concatenate operator when the first
+ * operand is evaluated as String
+ * - to the Integer elements of an search package of Match operator
+ * when some MatchObject is evaluated as String
+ * - to the Integer value of Expression of Case statement when
+ * Expression in Switch is either static String data or explicitly
+ * converted to String by ToDecimalString, ToHexString or ToString
+ *
+ * Integer to Buffer implicit conversion Cases.
+ * There are following cases when this type of conversion is applied:
+ * - to the Integer second operand of Logical operators when the first
+ * operand is evaluated as Buffer (LEqual, LGreater, LGreaterEqual,
+ * LLess, LLessEqual, LNotEqual)
+ * - to both Integer operands of Concatenate operator
+ * - to the Integer second operand of Concatenate operator when the first
+ * operand is evaluated as Buffer
+ * - to the Integer Source operand of ToString operator
+ * - to the Integer Source operand of Mid operator
+ * - to the Integer elements of an search package of Match operator
+ * when some MatchObject is evaluated as Buffer
+ * - to the Integer value of Expression of Case statement when
+ * Expression in Switch is either static Buffer data or explicitly
+ * converted to Buffer by ToBuffer
+ *
+ * String to Integer implicit conversion Cases.
+ * There are following cases when this type of conversion is applied:
+ * - to the String sole operand of the 1-parameter Integer arithmetic
+ * operators (Decrement, Increment, FindSetLeftBit, FindSetRightBit, Not)
+ * - to the String sole operand of the LNot Logical Integer operator
+ * - to the String sole operand of the FromBCD and ToBCD conversion operators
+ * - to each String operand of the 2-parameter Integer arithmetic
+ * operators (Add, And, Divide, Mod, Multiply, NAnd, NOr, Or,
+ * ShiftLeft, ShiftRight, Subtract, Xor)
+ * - to each String operand of the 2-parameter Logical Integer
+ * operators LAnd and LOr
+ * - to the String second operand of Logical operators when the first
+ * operand is evaluated as Integer (LEqual, LGreater, LGreaterEqual,
+ * LLess, LLessEqual, LNotEqual)
+ * - intermediately to the String second operand of Concatenate operator
+ * in case the first one is Integer
+ * - to the String Length (second) operand of ToString operator
+ * - to the String Index (second) operand of Index operator
+ * - to the String Arg (third) operand of Fatal operator
+ * (it can only be checked an exception does not occur)
+ * - to the String Index and Length operands of Mid operator
+ * - to the String StartIndex operand of Match operator
+ * - to the String elements of an search package of Match operator
+ * when some MatchObject is evaluated as Integer
+ * - to the String sole operand of the Method execution control operators
+ * (Sleep, Stall)
+ * - to the String TimeoutValue (second) operand of the Acquire operator ???
+ * - to the String TimeoutValue (second) operand of the Wait operator
+ * - to the String value of Predicate of the Method execution control
+ * statements (If, ElseIf, While)
+ * - to the String value of Expression of Case statement when
+ * Expression in Switch is evaluated as Integer
+ *
+ * String to Buffer implicit conversion Cases.
+ * There are following cases when this type of conversion is applied:
+ * - to the String second operand of Logical operators when the first
+ * operand is evaluated as Buffer (LEqual, LGreater, LGreaterEqual,
+ * LLess, LLessEqual, LNotEqual)
+ * - to the String second operand of Concatenate operator when the first
+ * operand is evaluated as Buffer
+ * - to the String Source operand of ToString operator (has a visual
+ * effect in shortening of the String taken the null character.
+ * - to the String elements of an search package of Match operator
+ * when some MatchObject is evaluated as Buffer
+ * - to the String value of Expression of Case statement when
+ * Expression in Switch is either static Buffer data or explicitly
+ * converted to Buffer by ToBuffer
+ *
+ * Buffer to Integer implicit conversion Cases.
+ * There are following cases when this type of conversion is applied:
+ * - to the Buffer sole operand of the 1-parameter Integer arithmetic
+ * operators (Decrement, Increment, FindSetLeftBit, FindSetRightBit, Not)
+ * - to the Buffer sole operand of the LNot Logical Integer operator
+ * - to the Buffer sole operand of the FromBCD and ToBCD conversion operators
+ * - to each Buffer operand of the 2-parameter Integer arithmetic
+ * operators (Add, And, Divide, Mod, Multiply, NAnd, NOr, Or,
+ * ShiftLeft, ShiftRight, Subtract, Xor)
+ * - to each Buffer operand of the 2-parameter Logical Integer
+ * operators LAnd and LOr
+ * - to the Buffer second operand of Logical operators when the first
+ * operand is evaluated as Integer (LEqual, LGreater, LGreaterEqual,
+ * LLess, LLessEqual, LNotEqual)
+ * - intermediately to the Buffer second operand of Concatenate operator
+ * in case the first one is Integer
+ * - to the Buffer Length (second) operand of ToString operator
+ * - to the Buffer Index (second) operand of Index operator
+ * - to the Buffer Arg (third) operand of Fatal operator
+ * (it can only be checked an exception does not occur)
+ * - to the Buffer Index and Length operands of Mid operator
+ * - to the Buffer StartIndex operand of Match operator
+ * - to the Buffer elements of an search package of Match operator
+ * when some MatchObject is evaluated as Integer
+ * - to the Buffer sole operand of the Method execution control operators
+ * (Sleep, Stall)
+ * - to the Buffer TimeoutValue (second) operand of the Acquire operator ???
+ * - to the Buffer TimeoutValue (second) operand of the Wait operator
+ * - to the Buffer value of Predicate of the Method execution control
+ * statements (If, ElseIf, While)
+ * - to the Buffer value of Expression of Case statement when
+ * Expression in Switch is evaluated as Integer
+ *
+ * Buffer to String implicit conversion Cases.
+ * There are following cases when this type of conversion is applied:
+ * - to the Buffer second operand of Logical operators when the first
+ * operand is evaluated as String (LEqual, LGreater, LGreaterEqual,
+ * LLess, LLessEqual, LNotEqual)
+ * - to the Buffer second operand of Concatenate operator when the first
+ * operand is evaluated as String
+ * - to the Buffer elements of an search package of Match operator
+ * when some MatchObject is evaluated as String
+ * - to the Buffer value of Expression of Case statement when
+ * Expression in Switch is either static String data or explicitly
+ * converted to String by ToDecimalString, ToHexString or ToString
+ *
+ * Buffer field to Integer implicit conversion Cases.
+ * First, Buffer field is evaluated either as Integer or as Buffer.
+ * Conversion only takes place for Buffer in which case
+ * Buffer to Integer test constructions should be used.
+ *
+ * Buffer field to Buffer implicit conversion Cases.
+ * First, Buffer field is evaluated either as Integer or as Buffer.
+ * Conversion only takes place for Integer in which case
+ * Integer to Buffer test constructions should be used.
+ *
+ * Buffer field to String implicit conversion Cases.
+ * First, Buffer field is evaluated either as Integer or as Buffer
+ * For Integer case Integer to String test constructions should be used.
+ * For Buffer case Buffer to String test constructions should be used.
+ *
+ * Field unit implicit conversion is considered similar to
+ * Buffer field one.
+ *
+ * Note 1: Only an expression that is evaluated to a constant
+ * can be used as the Expression of Case
+ *
+ * Note 2: So as initial elements of a package are either constant
+ * data or name strings then check of implicit conversion
+ * applied to the elements of the search package of Match
+ * operator is limited to a data images case.
+ *
+ * Note 3: So as the Buffer field and Field unit data are Named Objects
+ * by definition then check of implicit conversion applied to these
+ * data types is limited to a case when Named Objects can be used.
+ *
+ * Cases when there are more than one operand for implicit conversion
+ * - when the first operand of Concatenate operator is Integer,
+ * there are additional conversions besides this Integer to Buffer:
+ * = String to Integer conversion if second operand is String
+ * = Buffer to Integer conversion if second operand is Buffer
+ * = Integer to Buffer conversion of the converted second operand
+ *
+ *
+ * EXCEPTIONAL Conditions during implicit conversion
+ *
+ * String to Integer implicit conversion Cases.
+ *
+ * Buffer to String implicit conversion Cases.
+ *
+ * Buffer field to String implicit conversion Cases.
+ *
+ * Field unit to String implicit conversion Cases.
+ *
+ */
diff --git a/tests/aslts/src/runtime/collections/complex/operand/tests/oarg/MAIN.asl b/tests/aslts/src/runtime/collections/complex/operand/tests/oarg/MAIN.asl
new file mode 100644
index 000000000..a9f88962b
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/operand/tests/oarg/MAIN.asl
@@ -0,0 +1,58 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "oarg.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../../runtime/cntl/DECL_6UP.asl")
+ Include("../../../../../../runtime/collections/complex/operand/common/ocommon.asl")
+ Include("../../../../../../runtime/collections/complex/operand/tests/oarg/oarg.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../../runtime/collections/complex/operand/tests/oarg/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/complex/operand/tests/oarg/Makefile b/tests/aslts/src/runtime/collections/complex/operand/tests/oarg/Makefile
new file mode 100644
index 000000000..43c293134
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/operand/tests/oarg/Makefile
@@ -0,0 +1,7 @@
+# oarg
+
+AMLMOD= oarg
+COLL= ../../../..
+
+TOP= $(COLL)/../../..
+include $(COLL)/Makefile.install
diff --git a/tests/aslts/src/runtime/collections/complex/operand/tests/oarg/RUN.asl b/tests/aslts/src/runtime/collections/complex/operand/tests/oarg/RUN.asl
new file mode 100644
index 000000000..02145feb2
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/operand/tests/oarg/RUN.asl
@@ -0,0 +1,35 @@
+/*
+ * 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.
+ */
+
+
+if (STTT("Source Operand, Method ArgX Objects", TCLC, 2, W010)) {
+ OPR5()
+}
+FTTT()
diff --git a/tests/aslts/src/runtime/collections/complex/operand/tests/oarg/oarg.asl b/tests/aslts/src/runtime/collections/complex/operand/tests/oarg/oarg.asl
new file mode 100644
index 000000000..57bca51c6
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/operand/tests/oarg/oarg.asl
@@ -0,0 +1,25242 @@
+/*
+ * 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.
+ */
+
+/*
+ * Check implicit conversion being applied to ArgX Object
+ */
+
+Name(z121, 121)
+
+Method(m617)
+{
+ Name(ts, "m617")
+
+ // Integer to String implicit conversion Cases.
+
+ // Integer to String conversion of the Integer second operand of
+ // Logical operators when the first operand is evaluated as String.
+ // LEqual LGreater LGreaterEqual LLess LLessEqual LNotEqual
+
+ Method(m640, 2)
+ {
+ // LEqual
+
+ Store(LEqual("FE7CB391D650A284", arg1), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual("fE7CB391D650A284", arg1), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(aus4, arg1), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(LEqual(aus5, arg1), Local0)
+ m600(arg0, 3, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aus4)), arg1), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(aus5)), arg1), Local0)
+ m600(arg0, 5, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paus, 4)), arg1), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paus, 5)), arg1), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ // Method returns String
+
+ Store(LEqual(m601(2, 4), arg1), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(LEqual(m601(2, 5), arg1), Local0)
+ m600(arg0, 9, Local0, Zero)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(2, 4, 1)), arg1), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(2, 5, 1)), arg1), Local0)
+ m600(arg0, 11, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater("FE7CB391D650A284", arg1), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LGreater("fE7CB391D650A284", arg1), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LGreater("FE7CB391D650A28 ", arg1), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LGreater("FE7CB391D650A284q", arg1), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LGreater(aus4, arg1), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LGreater(aus5, arg1), Local0)
+ m600(arg0, 17, Local0, Ones)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aus4)), arg1), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(aus5)), arg1), Local0)
+ m600(arg0, 19, Local0, Ones)
+ }
+
+ Store(LGreater(Derefof(Index(paus, 4)), arg1), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paus, 5)), arg1), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns String
+
+ Store(LGreater(m601(2, 4), arg1), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LGreater(m601(2, 5), arg1), Local0)
+ m600(arg0, 23, Local0, Ones)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(2, 4, 1)), arg1), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(2, 5, 1)), arg1), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual("FE7CB391D650A284", arg1), Local0)
+ m600(arg0, 26, Local0, Ones)
+
+ Store(LGreaterEqual("fE7CB391D650A284", arg1), Local0)
+ m600(arg0, 27, Local0, Ones)
+
+ Store(LGreaterEqual("FE7CB391D650A28 ", arg1), Local0)
+ m600(arg0, 28, Local0, Zero)
+
+ Store(LGreaterEqual("FE7CB391D650A284q", arg1), Local0)
+ m600(arg0, 29, Local0, Ones)
+
+ Store(LGreaterEqual(aus4, arg1), Local0)
+ m600(arg0, 30, Local0, Ones)
+
+ Store(LGreaterEqual(aus5, arg1), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aus4)), arg1), Local0)
+ m600(arg0, 32, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(aus5)), arg1), Local0)
+ m600(arg0, 33, Local0, Ones)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paus, 4)), arg1), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paus, 5)), arg1), Local0)
+ m600(arg0, 35, Local0, Ones)
+
+ // Method returns String
+
+ Store(LGreaterEqual(m601(2, 4), arg1), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(m601(2, 5), arg1), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(2, 4, 1)), arg1), Local0)
+ m600(arg0, 38, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(2, 5, 1)), arg1), Local0)
+ m600(arg0, 39, Local0, Ones)
+ }
+
+ // LLess
+
+ Store(LLess("FE7CB391D650A284", arg1), Local0)
+ m600(arg0, 40, Local0, Zero)
+
+ Store(LLess("fE7CB391D650A284", arg1), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ Store(LLess("FE7CB391D650A28 ", arg1), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LLess("FE7CB391D650A284q", arg1), Local0)
+ m600(arg0, 43, Local0, Zero)
+
+ Store(LLess(aus4, arg1), Local0)
+ m600(arg0, 44, Local0, Zero)
+
+ Store(LLess(aus5, arg1), Local0)
+ m600(arg0, 45, Local0, Zero)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aus4)), arg1), Local0)
+ m600(arg0, 46, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(aus5)), arg1), Local0)
+ m600(arg0, 47, Local0, Zero)
+ }
+
+ Store(LLess(Derefof(Index(paus, 4)), arg1), Local0)
+ m600(arg0, 48, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paus, 5)), arg1), Local0)
+ m600(arg0, 49, Local0, Zero)
+
+ // Method returns String
+
+ Store(LLess(m601(2, 4), arg1), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ Store(LLess(m601(2, 5), arg1), Local0)
+ m600(arg0, 51, Local0, Zero)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LLess(Derefof(m602(2, 4, 1)), arg1), Local0)
+ m600(arg0, 52, Local0, Zero)
+
+ Store(LLess(Derefof(m602(2, 5, 1)), arg1), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual("FE7CB391D650A284", arg1), Local0)
+ m600(arg0, 54, Local0, Ones)
+
+ Store(LLessEqual("fE7CB391D650A284", arg1), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLessEqual("FE7CB391D650A28 ", arg1), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLessEqual("FE7CB391D650A284q", arg1), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLessEqual(aus4, arg1), Local0)
+ m600(arg0, 58, Local0, Ones)
+
+ Store(LLessEqual(aus5, arg1), Local0)
+ m600(arg0, 59, Local0, Zero)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aus4)), arg1), Local0)
+ m600(arg0, 60, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(aus5)), arg1), Local0)
+ m600(arg0, 61, Local0, Zero)
+ }
+
+ Store(LLessEqual(Derefof(Index(paus, 4)), arg1), Local0)
+ m600(arg0, 62, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paus, 5)), arg1), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ // Method returns String
+
+ Store(LLessEqual(m601(2, 4), arg1), Local0)
+ m600(arg0, 64, Local0, Ones)
+
+ Store(LLessEqual(m601(2, 5), arg1), Local0)
+ m600(arg0, 65, Local0, Zero)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(2, 4, 1)), arg1), Local0)
+ m600(arg0, 66, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(2, 5, 1)), arg1), Local0)
+ m600(arg0, 67, Local0, Zero)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual("FE7CB391D650A284", arg1), Local0)
+ m600(arg0, 68, Local0, Zero)
+
+ Store(LNotEqual("fE7CB391D650A284", arg1), Local0)
+ m600(arg0, 69, Local0, Ones)
+
+ Store(LNotEqual("FE7CB391D650A28 ", arg1), Local0)
+ m600(arg0, 70, Local0, Ones)
+
+ Store(LNotEqual("FE7CB391D650A284q", arg1), Local0)
+ m600(arg0, 71, Local0, Ones)
+
+ Store(LNotEqual(aus4, arg1), Local0)
+ m600(arg0, 72, Local0, Zero)
+
+ Store(LNotEqual(aus5, arg1), Local0)
+ m600(arg0, 73, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aus4)), arg1), Local0)
+ m600(arg0, 74, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(aus5)), arg1), Local0)
+ m600(arg0, 75, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paus, 4)), arg1), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paus, 5)), arg1), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ // Method returns String
+
+ Store(LNotEqual(m601(2, 4), arg1), Local0)
+ m600(arg0, 78, Local0, Zero)
+
+ Store(LNotEqual(m601(2, 5), arg1), Local0)
+ m600(arg0, 79, Local0, Ones)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(2, 4, 1)), arg1), Local0)
+ m600(arg0, 80, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(2, 5, 1)), arg1), Local0)
+ m600(arg0, 81, Local0, Ones)
+ }
+ }
+
+ Method(m320, 2)
+ {
+ // LEqual
+
+ Store(LEqual("C179B3FE", arg1), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual("c179B3FE", arg1), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(aus3, arg1), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(LEqual(aus2, arg1), Local0)
+ m600(arg0, 3, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aus3)), arg1), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(aus2)), arg1), Local0)
+ m600(arg0, 5, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paus, 3)), arg1), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paus, 2)), arg1), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ // Method returns String
+
+ Store(LEqual(m601(2, 3), arg1), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(LEqual(m601(2, 2), arg1), Local0)
+ m600(arg0, 9, Local0, Zero)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(2, 3, 1)), arg1), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(2, 2, 1)), arg1), Local0)
+ m600(arg0, 11, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater("C179B3FE", arg1), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LGreater("c179B3FE", arg1), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LGreater("C179B3F ", arg1), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LGreater("C179B3FEq", arg1), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LGreater(aus3, arg1), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LGreater(aus2, arg1), Local0)
+ m600(arg0, 17, Local0, Ones)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aus3)), arg1), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(aus2)), arg1), Local0)
+ m600(arg0, 19, Local0, Ones)
+ }
+
+ Store(LGreater(Derefof(Index(paus, 3)), arg1), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paus, 2)), arg1), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns String
+
+ Store(LGreater(m601(2, 3), arg1), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LGreater(m601(2, 2), arg1), Local0)
+ m600(arg0, 23, Local0, Ones)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(2, 3, 1)), arg1), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(2, 2, 1)), arg1), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual("C179B3FE", arg1), Local0)
+ m600(arg0, 26, Local0, Ones)
+
+ Store(LGreaterEqual("c179B3FE", arg1), Local0)
+ m600(arg0, 27, Local0, Ones)
+
+ Store(LGreaterEqual("C179B3F ", arg1), Local0)
+ m600(arg0, 28, Local0, Zero)
+
+ Store(LGreaterEqual("C179B3FEq", arg1), Local0)
+ m600(arg0, 29, Local0, Ones)
+
+ Store(LGreaterEqual(aus3, arg1), Local0)
+ m600(arg0, 30, Local0, Ones)
+
+ Store(LGreaterEqual(aus2, arg1), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aus3)), arg1), Local0)
+ m600(arg0, 32, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(aus2)), arg1), Local0)
+ m600(arg0, 33, Local0, Ones)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paus, 3)), arg1), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paus, 2)), arg1), Local0)
+ m600(arg0, 35, Local0, Ones)
+
+ // Method returns String
+
+ Store(LGreaterEqual(m601(2, 3), arg1), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(m601(2, 2), arg1), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(2, 3, 1)), arg1), Local0)
+ m600(arg0, 38, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(2, 2, 1)), arg1), Local0)
+ m600(arg0, 39, Local0, Ones)
+ }
+
+ // LLess
+
+ Store(LLess("C179B3FE", arg1), Local0)
+ m600(arg0, 40, Local0, Zero)
+
+ Store(LLess("c179B3FE", arg1), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ Store(LLess("C179B3F ", arg1), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LLess("C179B3FEq", arg1), Local0)
+ m600(arg0, 43, Local0, Zero)
+
+ Store(LLess(aus3, arg1), Local0)
+ m600(arg0, 44, Local0, Zero)
+
+ Store(LLess(aus2, arg1), Local0)
+ m600(arg0, 45, Local0, Zero)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aus3)), arg1), Local0)
+ m600(arg0, 46, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(aus2)), arg1), Local0)
+ m600(arg0, 47, Local0, Zero)
+ }
+
+ Store(LLess(Derefof(Index(paus, 3)), arg1), Local0)
+ m600(arg0, 48, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paus, 2)), arg1), Local0)
+ m600(arg0, 49, Local0, Zero)
+
+ // Method returns String
+
+ Store(LLess(m601(2, 3), arg1), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ Store(LLess(m601(2, 2), arg1), Local0)
+ m600(arg0, 51, Local0, Zero)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LLess(Derefof(m602(2, 3, 1)), arg1), Local0)
+ m600(arg0, 52, Local0, Zero)
+
+ Store(LLess(Derefof(m602(2, 2, 1)), arg1), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual("C179B3FE", arg1), Local0)
+ m600(arg0, 54, Local0, Ones)
+
+ Store(LLessEqual("c179B3FE", arg1), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLessEqual("C179B3F ", arg1), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLessEqual("C179B3FEq", arg1), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLessEqual(aus3, arg1), Local0)
+ m600(arg0, 58, Local0, Ones)
+
+ Store(LLessEqual(aus2, arg1), Local0)
+ m600(arg0, 59, Local0, Zero)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aus3)), arg1), Local0)
+ m600(arg0, 60, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(aus2)), arg1), Local0)
+ m600(arg0, 61, Local0, Zero)
+ }
+
+ Store(LLessEqual(Derefof(Index(paus, 3)), arg1), Local0)
+ m600(arg0, 62, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paus, 2)), arg1), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ // Method returns String
+
+ Store(LLessEqual(m601(2, 3), arg1), Local0)
+ m600(arg0, 64, Local0, Ones)
+
+ Store(LLessEqual(m601(2, 2), arg1), Local0)
+ m600(arg0, 65, Local0, Zero)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(2, 3, 1)), arg1), Local0)
+ m600(arg0, 66, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(2, 2, 1)), arg1), Local0)
+ m600(arg0, 67, Local0, Zero)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual("C179B3FE", arg1), Local0)
+ m600(arg0, 68, Local0, Zero)
+
+ Store(LNotEqual("c179B3FE", arg1), Local0)
+ m600(arg0, 69, Local0, Ones)
+
+ Store(LNotEqual("C179B3F ", arg1), Local0)
+ m600(arg0, 70, Local0, Ones)
+
+ Store(LNotEqual("C179B3FEq", arg1), Local0)
+ m600(arg0, 71, Local0, Ones)
+
+ Store(LNotEqual(aus3, arg1), Local0)
+ m600(arg0, 72, Local0, Zero)
+
+ Store(LNotEqual(aus2, arg1), Local0)
+ m600(arg0, 73, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aus3)), arg1), Local0)
+ m600(arg0, 74, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(aus2)), arg1), Local0)
+ m600(arg0, 75, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paus, 3)), arg1), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paus, 2)), arg1), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ // Method returns String
+
+ Store(LNotEqual(m601(2, 3), arg1), Local0)
+ m600(arg0, 78, Local0, Zero)
+
+ Store(LNotEqual(m601(2, 2), arg1), Local0)
+ m600(arg0, 79, Local0, Ones)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(2, 3, 1)), arg1), Local0)
+ m600(arg0, 80, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(2, 2, 1)), arg1), Local0)
+ m600(arg0, 81, Local0, Ones)
+ }
+ }
+
+ // Integer to String conversion of the Integer second operand of
+ // Concatenate operator when the first operand is evaluated as String
+
+ Method(m641, 2)
+ {
+ Store(Concatenate("", arg1), Local0)
+ m600(arg0, 0, Local0, bs10)
+
+ Store(Concatenate("1234q", arg1), Local0)
+ m600(arg0, 1, Local0, bs11)
+
+ Store(Concatenate(aus0, arg1), Local0)
+ m600(arg0, 2, Local0, bs10)
+
+ Store(Concatenate(aus1, arg1), Local0)
+ m600(arg0, 3, Local0, bs11)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aus0)), arg1), Local0)
+ m600(arg0, 4, Local0, bs10)
+
+ Store(Concatenate(Derefof(Refof(aus1)), arg1), Local0)
+ m600(arg0, 5, Local0, bs11)
+ }
+
+ Store(Concatenate(Derefof(Index(paus, 0)), arg1), Local0)
+ m600(arg0, 6, Local0, bs10)
+
+ Store(Concatenate(Derefof(Index(paus, 1)), arg1), Local0)
+ m600(arg0, 7, Local0, bs11)
+
+ // Method returns String
+
+ Store(Concatenate(m601(2, 0), arg1), Local0)
+ m600(arg0, 8, Local0, bs10)
+
+ Store(Concatenate(m601(2, 1), arg1), Local0)
+ m600(arg0, 9, Local0, bs11)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(2, 0, 1)), arg1), Local0)
+ m600(arg0, 10, Local0, bs10)
+
+ Store(Concatenate(Derefof(m602(2, 1, 1)), arg1), Local0)
+ m600(arg0, 11, Local0, bs11)
+ }
+
+ Concatenate("", arg1, Local0)
+ m600(arg0, 12, Local0, bs10)
+
+ Concatenate("1234q", arg1, Local0)
+ m600(arg0, 13, Local0, bs11)
+
+ Concatenate(aus0, arg1, Local0)
+ m600(arg0, 14, Local0, bs10)
+
+ Concatenate(aus1, arg1, Local0)
+ m600(arg0, 15, Local0, bs11)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aus0)), arg1, Local0)
+ m600(arg0, 16, Local0, bs10)
+
+ Concatenate(Derefof(Refof(aus1)), arg1, Local0)
+ m600(arg0, 17, Local0, bs11)
+ }
+
+ Concatenate(Derefof(Index(paus, 0)), arg1, Local0)
+ m600(arg0, 18, Local0, bs10)
+
+ Concatenate(Derefof(Index(paus, 1)), arg1, Local0)
+ m600(arg0, 19, Local0, bs11)
+
+ // Method returns String
+
+ Concatenate(m601(2, 0), arg1, Local0)
+ m600(arg0, 20, Local0, bs10)
+
+ Concatenate(m601(2, 1), arg1, Local0)
+ m600(arg0, 21, Local0, bs11)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Concatenate(Derefof(m602(2, 0, 1)), arg1, Local0)
+ m600(arg0, 22, Local0, bs10)
+
+ Concatenate(Derefof(m602(2, 1, 1)), arg1, Local0)
+ m600(arg0, 23, Local0, bs11)
+ }
+ }
+
+ Method(m321, 3)
+ {
+ Store(Concatenate("", arg2), Local0)
+ m600(arg0, 0, Local0, bs12)
+
+ Store(Concatenate("1234q", arg2), Local0)
+ m600(arg0, 1, Local0, bs13)
+
+ Store(Concatenate(aus0, arg2), Local0)
+ m600(arg0, 2, Local0, bs12)
+
+ Store(Concatenate(aus1, arg2), Local0)
+ m600(arg0, 3, Local0, bs13)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aus0)), arg2), Local0)
+ m600(arg0, 4, Local0, bs12)
+
+ Store(Concatenate(Derefof(Refof(aus1)), arg2), Local0)
+ m600(arg0, 5, Local0, bs13)
+ }
+
+ Store(Concatenate(Derefof(Index(paus, 0)), arg2), Local0)
+ m600(arg0, 6, Local0, bs12)
+
+ Store(Concatenate(Derefof(Index(paus, 1)), arg2), Local0)
+ m600(arg0, 7, Local0, bs13)
+
+ // Method returns String
+
+ Store(Concatenate(m601(2, 0), arg2), Local0)
+ m600(arg0, 8, Local0, bs12)
+
+ Store(Concatenate(m601(2, 1), arg2), Local0)
+ m600(arg0, 9, Local0, bs13)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(2, 0, 1)), arg2), Local0)
+ m600(arg0, 10, Local0, bs12)
+
+ Store(Concatenate(Derefof(m602(2, 1, 1)), arg2), Local0)
+ m600(arg0, 11, Local0, bs13)
+ }
+
+ Store(Concatenate("", arg1), Local0)
+ m600(arg0, 12, Local0, bs14)
+
+ Store(Concatenate("1234q", arg1), Local0)
+ m600(arg0, 13, Local0, bs15)
+
+ Concatenate("", arg2, Local0)
+ m600(arg0, 14, Local0, bs12)
+
+ Concatenate("1234q", arg2, Local0)
+ m600(arg0, 15, Local0, bs13)
+
+ Concatenate(aus0, arg2, Local0)
+ m600(arg0, 16, Local0, bs12)
+
+ Concatenate(aus1, arg2, Local0)
+ m600(arg0, 17, Local0, bs13)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aus0)), arg2, Local0)
+ m600(arg0, 18, Local0, bs12)
+
+ Concatenate(Derefof(Refof(aus1)), arg2, Local0)
+ m600(arg0, 19, Local0, bs13)
+ }
+
+ Concatenate(Derefof(Index(paus, 0)), arg2, Local0)
+ m600(arg0, 20, Local0, bs12)
+
+ Concatenate(Derefof(Index(paus, 1)), arg2, Local0)
+ m600(arg0, 21, Local0, bs13)
+
+ // Method returns String
+
+ Concatenate(m601(2, 0), arg2, Local0)
+ m600(arg0, 22, Local0, bs12)
+
+ Concatenate(m601(2, 1), arg2, Local0)
+ m600(arg0, 23, Local0, bs13)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Concatenate(Derefof(m602(2, 0, 1)), arg2, Local0)
+ m600(arg0, 24, Local0, bs12)
+
+ Concatenate(Derefof(m602(2, 1, 1)), arg2, Local0)
+ m600(arg0, 25, Local0, bs13)
+ }
+
+ Concatenate("", arg1, Local0)
+ m600(arg0, 26, Local0, bs14)
+
+ Concatenate("1234q", arg1, Local0)
+ m600(arg0, 27, Local0, bs15)
+ }
+
+// Method(m642, 1)
+
+// Method(m322, 1)
+
+// Method(m643, 1)
+
+// Method(m323, 1)
+
+ // Integer to Buffer implicit conversion Cases.
+
+ // Integer to Buffer conversion of the Integer second operand of
+ // Logical operators when the first operand is evaluated as Buffer
+ // (LEqual, LGreater, LGreaterEqual, LLess, LLessEqual, LNotEqual)
+
+ Method(m644, 2)
+ {
+ // LEqual
+
+ Store(LEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, arg1), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFF}, arg1), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(aub4, arg1), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(LEqual(aub3, arg1), Local0)
+ m600(arg0, 3, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aub4)), arg1), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(aub3)), arg1), Local0)
+ m600(arg0, 5, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paub, 4)), arg1), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paub, 3)), arg1), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ // Method returns Buffer
+
+ Store(LEqual(m601(3, 4), arg1), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(LEqual(m601(3, 3), arg1), Local0)
+ m600(arg0, 9, Local0, Zero)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(3, 4, 1)), arg1), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(3, 3, 1)), arg1), Local0)
+ m600(arg0, 11, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, arg1), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LGreater(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFF}, arg1), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LGreater(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFD}, arg1), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LGreater(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0x01}, arg1), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LGreater(aub4, arg1), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LGreater(aub5, arg1), Local0)
+ m600(arg0, 17, Local0, Ones)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aub4)), arg1), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(aub5)), arg1), Local0)
+ m600(arg0, 19, Local0, Ones)
+ }
+
+ Store(LGreater(Derefof(Index(paub, 4)), arg1), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paub, 5)), arg1), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Buffer
+
+ Store(LGreater(m601(3, 4), arg1), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LGreater(m601(3, 5), arg1), Local0)
+ m600(arg0, 23, Local0, Ones)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(3, 4, 1)), arg1), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(3, 5, 1)), arg1), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, arg1), Local0)
+ m600(arg0, 26, Local0, Ones)
+
+ Store(LGreaterEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFF}, arg1), Local0)
+ m600(arg0, 27, Local0, Ones)
+
+ Store(LGreaterEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFD}, arg1), Local0)
+ m600(arg0, 28, Local0, Zero)
+
+ Store(LGreaterEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0x01}, arg1), Local0)
+ m600(arg0, 29, Local0, Ones)
+
+ Store(LGreaterEqual(aub4, arg1), Local0)
+ m600(arg0, 30, Local0, Ones)
+
+ Store(LGreaterEqual(aub5, arg1), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aub4)), arg1), Local0)
+ m600(arg0, 32, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(aub5)), arg1), Local0)
+ m600(arg0, 33, Local0, Ones)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paub, 4)), arg1), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paub, 5)), arg1), Local0)
+ m600(arg0, 35, Local0, Ones)
+
+ // Method returns Buffer
+
+ Store(LGreaterEqual(m601(3, 4), arg1), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(m601(3, 5), arg1), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(3, 4, 1)), arg1), Local0)
+ m600(arg0, 38, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(3, 5, 1)), arg1), Local0)
+ m600(arg0, 39, Local0, Ones)
+ }
+
+ // LLess
+
+ Store(LLess(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, arg1), Local0)
+ m600(arg0, 40, Local0, Zero)
+
+ Store(LLess(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFF}, arg1), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ Store(LLess(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFD}, arg1), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LLess(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0x01}, arg1), Local0)
+ m600(arg0, 43, Local0, Zero)
+
+ Store(LLess(aub4, arg1), Local0)
+ m600(arg0, 44, Local0, Zero)
+
+ Store(LLess(aub5, arg1), Local0)
+ m600(arg0, 45, Local0, Zero)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aub4)), arg1), Local0)
+ m600(arg0, 46, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(aub5)), arg1), Local0)
+ m600(arg0, 47, Local0, Zero)
+ }
+
+ Store(LLess(Derefof(Index(paub, 4)), arg1), Local0)
+ m600(arg0, 48, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paub, 5)), arg1), Local0)
+ m600(arg0, 49, Local0, Zero)
+
+ // Method returns Buffer
+
+ Store(LLess(m601(3, 4), arg1), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ Store(LLess(m601(3, 5), arg1), Local0)
+ m600(arg0, 51, Local0, Zero)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LLess(Derefof(m602(3, 4, 1)), arg1), Local0)
+ m600(arg0, 52, Local0, Zero)
+
+ Store(LLess(Derefof(m602(3, 5, 1)), arg1), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, arg1), Local0)
+ m600(arg0, 54, Local0, Ones)
+
+ Store(LLessEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFF}, arg1), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLessEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFD}, arg1), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLessEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0x01}, arg1), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLessEqual(aub4, arg1), Local0)
+ m600(arg0, 58, Local0, Ones)
+
+ Store(LLessEqual(aub5, arg1), Local0)
+ m600(arg0, 59, Local0, Zero)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aub4)), arg1), Local0)
+ m600(arg0, 60, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(aub5)), arg1), Local0)
+ m600(arg0, 61, Local0, Zero)
+ }
+
+ Store(LLessEqual(Derefof(Index(paub, 4)), arg1), Local0)
+ m600(arg0, 62, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paub, 5)), arg1), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ // Method returns Buffer
+
+ Store(LLessEqual(m601(3, 4), arg1), Local0)
+ m600(arg0, 64, Local0, Ones)
+
+ Store(LLessEqual(m601(3, 5), arg1), Local0)
+ m600(arg0, 65, Local0, Zero)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(3, 4, 1)), arg1), Local0)
+ m600(arg0, 66, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(3, 5, 1)), arg1), Local0)
+ m600(arg0, 67, Local0, Zero)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, arg1), Local0)
+ m600(arg0, 68, Local0, Zero)
+
+ Store(LNotEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFF}, arg1), Local0)
+ m600(arg0, 69, Local0, Ones)
+
+ Store(LNotEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFD}, arg1), Local0)
+ m600(arg0, 70, Local0, Ones)
+
+ Store(LNotEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0x01}, arg1), Local0)
+ m600(arg0, 71, Local0, Ones)
+
+ Store(LNotEqual(aub4, arg1), Local0)
+ m600(arg0, 72, Local0, Zero)
+
+ Store(LNotEqual(aub5, arg1), Local0)
+ m600(arg0, 73, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aub4)), arg1), Local0)
+ m600(arg0, 74, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(aub5)), arg1), Local0)
+ m600(arg0, 75, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paub, 4)), arg1), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paub, 5)), arg1), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ // Method returns Buffer
+
+ Store(LNotEqual(m601(3, 4), arg1), Local0)
+ m600(arg0, 78, Local0, Zero)
+
+ Store(LNotEqual(m601(3, 5), arg1), Local0)
+ m600(arg0, 79, Local0, Ones)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(3, 4, 1)), arg1), Local0)
+ m600(arg0, 80, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(3, 5, 1)), arg1), Local0)
+ m600(arg0, 81, Local0, Ones)
+ }
+ }
+
+ Method(m324, 2)
+ {
+ // LEqual
+
+ Store(LEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC1}, arg1), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC0}, arg1), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(aub3, arg1), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(LEqual(aub2, arg1), Local0)
+ m600(arg0, 3, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aub3)), arg1), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(aub2)), arg1), Local0)
+ m600(arg0, 5, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paub, 3)), arg1), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paub, 2)), arg1), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ // Method returns Buffer
+
+ Store(LEqual(m601(3, 3), arg1), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(LEqual(m601(3, 2), arg1), Local0)
+ m600(arg0, 9, Local0, Zero)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(3, 3, 1)), arg1), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(3, 2, 1)), arg1), Local0)
+ m600(arg0, 11, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater(Buffer() {0xFE, 0xB3, 0x79, 0xC1}, arg1), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LGreater(Buffer() {0xFE, 0xB3, 0x79, 0xC2}, arg1), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LGreater(Buffer() {0xFE, 0xB3, 0x79, 0xC0}, arg1), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LGreater(Buffer() {0xFE, 0xB3, 0x79, 0xC1, 0x01}, arg1), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LGreater(aub3, arg1), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LGreater(aub2, arg1), Local0)
+ m600(arg0, 17, Local0, Ones)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aub3)), arg1), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(aub2)), arg1), Local0)
+ m600(arg0, 19, Local0, Ones)
+ }
+
+ Store(LGreater(Derefof(Index(paub, 3)), arg1), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paub, 2)), arg1), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Buffer
+
+ Store(LGreater(m601(3, 3), arg1), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LGreater(m601(3, 2), arg1), Local0)
+ m600(arg0, 23, Local0, Ones)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(3, 3, 1)), arg1), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(3, 2, 1)), arg1), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC1}, arg1), Local0)
+ m600(arg0, 26, Local0, Ones)
+
+ Store(LGreaterEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC2}, arg1), Local0)
+ m600(arg0, 27, Local0, Ones)
+
+ Store(LGreaterEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC0}, arg1), Local0)
+ m600(arg0, 28, Local0, Zero)
+
+ Store(LGreaterEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC1, 0x01}, arg1), Local0)
+ m600(arg0, 29, Local0, Ones)
+
+ Store(LGreaterEqual(aub3, arg1), Local0)
+ m600(arg0, 30, Local0, Ones)
+
+ Store(LGreaterEqual(aub2, arg1), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aub3)), arg1), Local0)
+ m600(arg0, 32, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(aub2)), arg1), Local0)
+ m600(arg0, 33, Local0, Ones)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paub, 3)), arg1), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paub, 2)), arg1), Local0)
+ m600(arg0, 35, Local0, Ones)
+
+ // Method returns Buffer
+
+ Store(LGreaterEqual(m601(3, 3), arg1), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(m601(3, 2), arg1), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(3, 3, 1)), arg1), Local0)
+ m600(arg0, 38, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(3, 2, 1)), arg1), Local0)
+ m600(arg0, 39, Local0, Ones)
+ }
+
+ // LLess
+
+ Store(LLess(Buffer() {0xFE, 0xB3, 0x79, 0xC1}, arg1), Local0)
+ m600(arg0, 40, Local0, Zero)
+
+ Store(LLess(Buffer() {0xFE, 0xB3, 0x79, 0xC2}, arg1), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ Store(LLess(Buffer() {0xFE, 0xB3, 0x79, 0xC0}, arg1), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LLess(Buffer() {0xFE, 0xB3, 0x79, 0xC1, 0x01}, arg1), Local0)
+ m600(arg0, 43, Local0, Zero)
+
+ Store(LLess(aub3, arg1), Local0)
+ m600(arg0, 44, Local0, Zero)
+
+ Store(LLess(aub2, arg1), Local0)
+ m600(arg0, 45, Local0, Zero)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aub3)), arg1), Local0)
+ m600(arg0, 46, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(aub2)), arg1), Local0)
+ m600(arg0, 47, Local0, Zero)
+ }
+
+ Store(LLess(Derefof(Index(paub, 3)), arg1), Local0)
+ m600(arg0, 48, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paub, 2)), arg1), Local0)
+ m600(arg0, 49, Local0, Zero)
+
+ // Method returns Buffer
+
+ Store(LLess(m601(3, 3), arg1), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ Store(LLess(m601(3, 2), arg1), Local0)
+ m600(arg0, 51, Local0, Zero)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LLess(Derefof(m602(3, 3, 1)), arg1), Local0)
+ m600(arg0, 52, Local0, Zero)
+
+ Store(LLess(Derefof(m602(3, 2, 1)), arg1), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC1}, arg1), Local0)
+ m600(arg0, 54, Local0, Ones)
+
+ Store(LLessEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC2}, arg1), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLessEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC0}, arg1), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLessEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC1, 0x01}, arg1), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLessEqual(aub3, arg1), Local0)
+ m600(arg0, 58, Local0, Ones)
+
+ Store(LLessEqual(aub2, arg1), Local0)
+ m600(arg0, 59, Local0, Zero)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aub3)), arg1), Local0)
+ m600(arg0, 60, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(aub2)), arg1), Local0)
+ m600(arg0, 61, Local0, Zero)
+ }
+
+ Store(LLessEqual(Derefof(Index(paub, 3)), arg1), Local0)
+ m600(arg0, 62, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paub, 2)), arg1), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ // Method returns Buffer
+
+ Store(LLessEqual(m601(3, 3), arg1), Local0)
+ m600(arg0, 64, Local0, Ones)
+
+ Store(LLessEqual(m601(3, 2), arg1), Local0)
+ m600(arg0, 65, Local0, Zero)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(3, 3, 1)), arg1), Local0)
+ m600(arg0, 66, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(3, 2, 1)), arg1), Local0)
+ m600(arg0, 67, Local0, Zero)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC1}, arg1), Local0)
+ m600(arg0, 68, Local0, Zero)
+
+ Store(LNotEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC2}, arg1), Local0)
+ m600(arg0, 69, Local0, Ones)
+
+ Store(LNotEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC0}, arg1), Local0)
+ m600(arg0, 70, Local0, Ones)
+
+ Store(LNotEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC1, 0x01}, arg1), Local0)
+ m600(arg0, 71, Local0, Ones)
+
+ Store(LNotEqual(aub3, arg1), Local0)
+ m600(arg0, 72, Local0, Zero)
+
+ Store(LNotEqual(aub2, arg1), Local0)
+ m600(arg0, 73, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aub3)), arg1), Local0)
+ m600(arg0, 74, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(aub2)), arg1), Local0)
+ m600(arg0, 75, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paub, 3)), arg1), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paub, 2)), arg1), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ // Method returns Buffer
+
+ Store(LNotEqual(m601(3, 3), arg1), Local0)
+ m600(arg0, 78, Local0, Zero)
+
+ Store(LNotEqual(m601(3, 2), arg1), Local0)
+ m600(arg0, 79, Local0, Ones)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(3, 3, 1)), arg1), Local0)
+ m600(arg0, 80, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(3, 2, 1)), arg1), Local0)
+ m600(arg0, 81, Local0, Ones)
+ }
+ }
+
+
+ // Integer to Buffer conversion of the both Integer operands of
+ // Concatenate operator
+
+ Method(m645, 2)
+ {
+ Store(Concatenate(arg1, arg1), Local0)
+ m600(arg0, 0, Local0, bb20)
+
+ Store(Concatenate(0x321, arg1), Local0)
+ m600(arg0, 1, Local0, bb21)
+
+ Store(Concatenate(arg1, 0x321), Local0)
+ m600(arg0, 1, Local0, bb22)
+
+ Concatenate(arg1, arg1, Local0)
+ m600(arg0, 0, Local0, bb20)
+
+ Concatenate(0x321, arg1, Local0)
+ m600(arg0, 1, Local0, bb21)
+
+ Concatenate(arg1, 0x321, Local0)
+ m600(arg0, 1, Local0, bb22)
+ }
+
+ Method(m325, 2)
+ {
+ Store(Concatenate(arg1, arg1), Local0)
+ m600(arg0, 0, Local0, bb23)
+
+ Store(Concatenate(0x321, arg1), Local0)
+ m600(arg0, 1, Local0, bb24)
+
+ Store(Concatenate(arg1, 0x321), Local0)
+ m600(arg0, 1, Local0, bb25)
+
+ Concatenate(arg1, arg1, Local0)
+ m600(arg0, 0, Local0, bb23)
+
+ Concatenate(0x321, arg1, Local0)
+ m600(arg0, 1, Local0, bb24)
+
+ Concatenate(arg1, 0x321, Local0)
+ m600(arg0, 1, Local0, bb25)
+ }
+
+ // Integer to Buffer conversion of the Integer second operand of
+ // Concatenate operator when the first operand is evaluated as Buffer
+
+ Method(m646, 2)
+ {
+ Store(Concatenate(Buffer(){0x5a}, arg1), Local0)
+ m600(arg0, 0, Local0, bb10)
+
+ Store(Concatenate(Buffer(){0x5a, 0x00}, arg1), Local0)
+ m600(arg0, 1, Local0, bb11)
+
+ Store(Concatenate(aub0, arg1), Local0)
+ m600(arg0, 2, Local0, bb10)
+
+ Store(Concatenate(aub1, arg1), Local0)
+ m600(arg0, 3, Local0, bb11)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aub0)), arg1), Local0)
+ m600(arg0, 4, Local0, bb10)
+
+ Store(Concatenate(Derefof(Refof(aub1)), arg1), Local0)
+ m600(arg0, 5, Local0, bb11)
+ }
+
+ Store(Concatenate(Derefof(Index(paub, 0)), arg1), Local0)
+ m600(arg0, 6, Local0, bb10)
+
+ Store(Concatenate(Derefof(Index(paub, 1)), arg1), Local0)
+ m600(arg0, 7, Local0, bb11)
+
+ // Method returns Buffer
+
+ Store(Concatenate(m601(3, 0), arg1), Local0)
+ m600(arg0, 8, Local0, bb10)
+
+ Store(Concatenate(m601(3, 1), arg1), Local0)
+ m600(arg0, 9, Local0, bb11)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(3, 0, 1)), arg1), Local0)
+ m600(arg0, 10, Local0, bb10)
+
+ Store(Concatenate(Derefof(m602(3, 1, 1)), arg1), Local0)
+ m600(arg0, 11, Local0, bb11)
+ }
+
+ Concatenate(Buffer(){0x5a}, arg1, Local0)
+ m600(arg0, 12, Local0, bb10)
+
+ Concatenate(Buffer(){0x5a, 0x00}, arg1, Local0)
+ m600(arg0, 13, Local0, bb11)
+
+ Concatenate(aub0, arg1, Local0)
+ m600(arg0, 14, Local0, bb10)
+
+ Concatenate(aub1, arg1, Local0)
+ m600(arg0, 15, Local0, bb11)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aub0)), arg1, Local0)
+ m600(arg0, 16, Local0, bb10)
+
+ Concatenate(Derefof(Refof(aub1)), arg1, Local0)
+ m600(arg0, 17, Local0, bb11)
+ }
+
+ Concatenate(Derefof(Index(paub, 0)), arg1, Local0)
+ m600(arg0, 18, Local0, bb10)
+
+ Concatenate(Derefof(Index(paub, 1)), arg1, Local0)
+ m600(arg0, 19, Local0, bb11)
+
+ // Method returns Buffer
+
+ Concatenate(m601(3, 0), arg1, Local0)
+ m600(arg0, 20, Local0, bb10)
+
+ Concatenate(m601(3, 1), arg1, Local0)
+ m600(arg0, 21, Local0, bb11)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Concatenate(Derefof(m602(3, 0, 1)), arg1, Local0)
+ m600(arg0, 22, Local0, bb10)
+
+ Concatenate(Derefof(m602(3, 1, 1)), arg1, Local0)
+ m600(arg0, 23, Local0, bb11)
+ }
+ }
+
+ Method(m326, 3)
+ {
+ Store(Concatenate(Buffer(){0x5a}, arg2), Local0)
+ m600(arg0, 0, Local0, bb12)
+
+ Store(Concatenate(Buffer(){0x5a, 0x00}, arg2), Local0)
+ m600(arg0, 1, Local0, bb13)
+
+ Store(Concatenate(aub0, arg2), Local0)
+ m600(arg0, 2, Local0, bb12)
+
+ Store(Concatenate(aub1, arg2), Local0)
+ m600(arg0, 3, Local0, bb13)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aub0)), arg2), Local0)
+ m600(arg0, 4, Local0, bb12)
+
+ Store(Concatenate(Derefof(Refof(aub1)), arg2), Local0)
+ m600(arg0, 5, Local0, bb13)
+ }
+
+ Store(Concatenate(Derefof(Index(paub, 0)), arg2), Local0)
+ m600(arg0, 6, Local0, bb12)
+
+ Store(Concatenate(Derefof(Index(paub, 1)), arg2), Local0)
+ m600(arg0, 7, Local0, bb13)
+
+ // Method returns Buffer
+
+ Store(Concatenate(m601(3, 0), arg2), Local0)
+ m600(arg0, 8, Local0, bb12)
+
+ Store(Concatenate(m601(3, 1), arg2), Local0)
+ m600(arg0, 9, Local0, bb13)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(3, 0, 1)), arg2), Local0)
+ m600(arg0, 10, Local0, bb12)
+
+ Store(Concatenate(Derefof(m602(3, 1, 1)), arg2), Local0)
+ m600(arg0, 11, Local0, bb13)
+ }
+
+ Store(Concatenate(Buffer(){0x5a}, arg1), Local0)
+ m600(arg0, 12, Local0, bb14)
+
+ Store(Concatenate(Buffer(){0x5a, 0x00}, arg1), Local0)
+ m600(arg0, 13, Local0, bb15)
+
+ Concatenate(Buffer(){0x5a}, arg2, Local0)
+ m600(arg0, 14, Local0, bb12)
+
+ Concatenate(Buffer(){0x5a, 0x00}, arg2, Local0)
+ m600(arg0, 15, Local0, bb13)
+
+ Concatenate(aub0, arg2, Local0)
+ m600(arg0, 16, Local0, bb12)
+
+ Concatenate(aub1, arg2, Local0)
+ m600(arg0, 17, Local0, bb13)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aub0)), arg2, Local0)
+ m600(arg0, 18, Local0, bb12)
+
+ Concatenate(Derefof(Refof(aub1)), arg2, Local0)
+ m600(arg0, 19, Local0, bb13)
+ }
+
+ Concatenate(Derefof(Index(paub, 0)), arg2, Local0)
+ m600(arg0, 20, Local0, bb12)
+
+ Concatenate(Derefof(Index(paub, 1)), arg2, Local0)
+ m600(arg0, 21, Local0, bb13)
+
+ // Method returns Buffer
+
+ Concatenate(m601(3, 0), arg2, Local0)
+ m600(arg0, 22, Local0, bb12)
+
+ Concatenate(m601(3, 1), arg2, Local0)
+ m600(arg0, 23, Local0, bb13)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Concatenate(Derefof(m602(3, 0, 1)), arg2, Local0)
+ m600(arg0, 24, Local0, bb12)
+
+ Concatenate(Derefof(m602(3, 1, 1)), arg2, Local0)
+ m600(arg0, 25, Local0, bb13)
+ }
+
+ Concatenate(Buffer(){0x5a}, arg1, Local0)
+ m600(arg0, 26, Local0, bb14)
+
+ Concatenate(Buffer(){0x5a, 0x00}, arg1, Local0)
+ m600(arg0, 27, Local0, bb15)
+ }
+
+
+ // Integer to Buffer conversion of the Integer Source operand of
+ // ToString operator
+
+ Method(m647, 3)
+ {
+ Store(ToString(arg1, Ones), Local0)
+ m600(arg0, 0, Local0, bs18)
+
+ Store(ToString(arg1, 3), Local0)
+ m600(arg0, 1, Local0, bs19)
+
+ Store(ToString(arg2, Ones), Local0)
+ m600(arg0, 2, Local0, bs1a)
+
+ Store(ToString(arg1, aui0), Local0)
+ m600(arg0, 3, Local0, bs18)
+
+ Store(ToString(arg1, aui7), Local0)
+ m600(arg0, 4, Local0, bs19)
+
+ Store(ToString(arg2, aui0), Local0)
+ m600(arg0, 5, Local0, bs1a)
+
+ if (y078) {
+ Store(ToString(arg1, Derefof(Refof(aui0))), Local0)
+ m600(arg0, 6, Local0, bs18)
+
+ Store(ToString(arg1, Derefof(Refof(aui7))), Local0)
+ m600(arg0, 7, Local0, bs19)
+
+ Store(ToString(arg2, Derefof(Refof(aui0))), Local0)
+ m600(arg0, 8, Local0, bs1a)
+ }
+
+ Store(ToString(arg1, Derefof(Index(paui, 0))), Local0)
+ m600(arg0, 9, Local0, bs18)
+
+ Store(ToString(arg1, Derefof(Index(paui, 7))), Local0)
+ m600(arg0, 10, Local0, bs19)
+
+ Store(ToString(arg2, Derefof(Index(paui, 0))), Local0)
+ m600(arg0, 11, Local0, bs1a)
+
+ // Method returns Length parameter
+
+ Store(ToString(arg1, m601(1, 0)), Local0)
+ m600(arg0, 12, Local0, bs18)
+
+ Store(ToString(arg1, m601(1, 7)), Local0)
+ m600(arg0, 13, Local0, bs19)
+
+ Store(ToString(arg2, m601(1, 0)), Local0)
+ m600(arg0, 14, Local0, bs1a)
+
+ // Method returns Reference to Length parameter
+
+ if (y500) {
+ Store(ToString(arg1, Derefof(m601(1, 0))), Local0)
+ m600(arg0, 15, Local0, bs18)
+
+ Store(ToString(arg1, Derefof(m601(1, 7))), Local0)
+ m600(arg0, 16, Local0, bs19)
+
+ Store(ToString(arg2, Derefof(m601(1, 0))), Local0)
+ m600(arg0, 17, Local0, bs1a)
+ }
+
+ ToString(arg1, Ones, Local0)
+ m600(arg0, 18, Local0, bs18)
+
+ ToString(arg1, 3, Local0)
+ m600(arg0, 19, Local0, bs19)
+
+ ToString(arg2, Ones, Local0)
+ m600(arg0, 20, Local0, bs1a)
+
+ ToString(arg1, aui0, Local0)
+ m600(arg0, 21, Local0, bs18)
+
+ ToString(arg1, aui7, Local0)
+ m600(arg0, 22, Local0, bs19)
+
+ ToString(arg2, aui0, Local0)
+ m600(arg0, 23, Local0, bs1a)
+
+ if (y078) {
+ ToString(arg1, Derefof(Refof(aui0)), Local0)
+ m600(arg0, 24, Local0, bs18)
+
+ ToString(arg1, Derefof(Refof(aui7)), Local0)
+ m600(arg0, 25, Local0, bs19)
+
+ ToString(arg2, Derefof(Refof(aui0)), Local0)
+ m600(arg0, 26, Local0, bs1a)
+ }
+
+ ToString(arg1, Derefof(Index(paui, 0)), Local0)
+ m600(arg0, 27, Local0, bs18)
+
+ ToString(arg1, Derefof(Index(paui, 7)), Local0)
+ m600(arg0, 28, Local0, bs19)
+
+ ToString(arg2, Derefof(Index(paui, 0)), Local0)
+ m600(arg0, 29, Local0, bs1a)
+
+ // Method returns Length parameter
+
+ ToString(arg1, m601(1, 0), Local0)
+ m600(arg0, 30, Local0, bs18)
+
+ ToString(arg1, m601(1, 7), Local0)
+ m600(arg0, 31, Local0, bs19)
+
+ ToString(arg2, m601(1, 0), Local0)
+ m600(arg0, 32, Local0, bs1a)
+
+ // Method returns Reference to Length parameter
+
+ if (y500) {
+ ToString(arg1, Derefof(m601(1, 0)), Local0)
+ m600(arg0, 33, Local0, bs18)
+
+ ToString(arg1, Derefof(m601(1, 7)), Local0)
+ m600(arg0, 34, Local0, bs19)
+
+ ToString(arg2, Derefof(m601(1, 0)), Local0)
+ m600(arg0, 35, Local0, bs1a)
+ }
+ }
+
+ Method(m327, 3)
+ {
+ Store(ToString(arg1, Ones), Local0)
+ m600(arg0, 0, Local0, bs16)
+
+ Store(ToString(arg1, 3), Local0)
+ m600(arg0, 1, Local0, bs17)
+
+ Store(ToString(arg2, Ones), Local0)
+ m600(arg0, 2, Local0, bs1a)
+
+ Store(ToString(arg1, aui0), Local0)
+ m600(arg0, 3, Local0, bs16)
+
+ Store(ToString(arg1, aui7), Local0)
+ m600(arg0, 4, Local0, bs17)
+
+ Store(ToString(arg2, aui0), Local0)
+ m600(arg0, 5, Local0, bs1a)
+
+ if (y078) {
+ Store(ToString(arg1, Derefof(Refof(aui0))), Local0)
+ m600(arg0, 6, Local0, bs16)
+
+ Store(ToString(arg1, Derefof(Refof(aui7))), Local0)
+ m600(arg0, 7, Local0, bs17)
+
+ Store(ToString(arg2, Derefof(Refof(aui0))), Local0)
+ m600(arg0, 8, Local0, bs1a)
+ }
+
+ Store(ToString(arg1, Derefof(Index(paui, 0))), Local0)
+ m600(arg0, 9, Local0, bs16)
+
+ Store(ToString(arg1, Derefof(Index(paui, 7))), Local0)
+ m600(arg0, 10, Local0, bs17)
+
+ Store(ToString(arg2, Derefof(Index(paui, 0))), Local0)
+ m600(arg0, 11, Local0, bs1a)
+
+ // Method returns Length parameter
+
+ Store(ToString(arg1, m601(1, 0)), Local0)
+ m600(arg0, 12, Local0, bs16)
+
+ Store(ToString(arg1, m601(1, 7)), Local0)
+ m600(arg0, 13, Local0, bs17)
+
+ Store(ToString(arg2, m601(1, 0)), Local0)
+ m600(arg0, 14, Local0, bs1a)
+
+ // Method returns Reference to Length parameter
+
+ if (y500) {
+ Store(ToString(arg1, Derefof(m601(1, 0))), Local0)
+ m600(arg0, 15, Local0, bs16)
+
+ Store(ToString(arg1, Derefof(m601(1, 7))), Local0)
+ m600(arg0, 16, Local0, bs17)
+
+ Store(ToString(arg2, Derefof(m601(1, 0))), Local0)
+ m600(arg0, 17, Local0, bs1a)
+ }
+
+ ToString(arg1, Ones, Local0)
+ m600(arg0, 18, Local0, bs16)
+
+ ToString(arg1, 3, Local0)
+ m600(arg0, 19, Local0, bs17)
+
+ ToString(arg2, Ones, Local0)
+ m600(arg0, 20, Local0, bs1a)
+
+ ToString(arg1, aui0, Local0)
+ m600(arg0, 21, Local0, bs16)
+
+ ToString(arg1, aui7, Local0)
+ m600(arg0, 22, Local0, bs17)
+
+ ToString(arg2, aui0, Local0)
+ m600(arg0, 23, Local0, bs1a)
+
+ if (y078) {
+ ToString(arg1, Derefof(Refof(aui0)), Local0)
+ m600(arg0, 24, Local0, bs16)
+
+ ToString(arg1, Derefof(Refof(aui7)), Local0)
+ m600(arg0, 25, Local0, bs17)
+
+ ToString(arg2, Derefof(Refof(aui0)), Local0)
+ m600(arg0, 26, Local0, bs1a)
+ }
+
+ ToString(arg1, Derefof(Index(paui, 0)), Local0)
+ m600(arg0, 27, Local0, bs16)
+
+ ToString(arg1, Derefof(Index(paui, 7)), Local0)
+ m600(arg0, 28, Local0, bs17)
+
+ ToString(arg2, Derefof(Index(paui, 0)), Local0)
+ m600(arg0, 29, Local0, bs1a)
+
+ // Method returns Length parameter
+
+ ToString(arg1, m601(1, 0), Local0)
+ m600(arg0, 30, Local0, bs16)
+
+ ToString(arg1, m601(1, 7), Local0)
+ m600(arg0, 31, Local0, bs17)
+
+ ToString(arg2, m601(1, 0), Local0)
+ m600(arg0, 32, Local0, bs1a)
+
+ // Method returns Reference to Length parameter
+
+ if (y500) {
+ ToString(arg1, Derefof(m601(1, 0)), Local0)
+ m600(arg0, 33, Local0, bs16)
+
+ ToString(arg1, Derefof(m601(1, 7)), Local0)
+ m600(arg0, 34, Local0, bs17)
+
+ ToString(arg2, Derefof(m601(1, 0)), Local0)
+ m600(arg0, 35, Local0, bs1a)
+ }
+ }
+
+ // Integer to Buffer conversion of the Integer Source operand of
+ // Mid operator
+
+ Method(m648, 3)
+ {
+ Store(Mid(arg1, 0, 9), Local0)
+ m600(arg0, 0, Local0, bb1d)
+
+ Store(Mid(arg2, 1, 8), Local0)
+ m600(arg0, 1, Local0, bb30)
+
+ Store(Mid(arg1, aui5, auib), Local0)
+ m600(arg0, 2, Local0, bb1d)
+
+ Store(Mid(arg2, aui6, auia), Local0)
+ m600(arg0, 3, Local0, bb30)
+
+ if (y078) {
+ Store(Mid(arg1, Derefof(Refof(aui5)), Derefof(Refof(auib))), Local0)
+ m600(arg0, 4, Local0, bb1d)
+
+ Store(Mid(arg2, Derefof(Refof(aui6)), Derefof(Refof(auia))), Local0)
+ m600(arg0, 5, Local0, bb30)
+ }
+
+ Store(Mid(arg1, Derefof(Index(paui, 5)), Derefof(Index(paui, 11))), Local0)
+ m600(arg0, 6, Local0, bb1d)
+
+ Store(Mid(arg2, Derefof(Index(paui, 6)), Derefof(Index(paui, 10))), Local0)
+ m600(arg0, 7, Local0, bb30)
+
+ // Method returns Index and Length parameters
+
+ Store(Mid(arg1, m601(1, 5), m601(1, 11)), Local0)
+ m600(arg0, 8, Local0, bb1d)
+
+ Store(Mid(arg2, m601(1, 6), m601(1, 10)), Local0)
+ m600(arg0, 9, Local0, bb30)
+
+ // Method returns Reference to Index and Length parameters
+
+ if (y500) {
+ Store(Mid(arg1, Derefof(m601(1, 5)), Derefof(m601(1, 11))), Local0)
+ m600(arg0, 10, Local0, bb1d)
+
+ Store(Mid(arg2, Derefof(m601(1, 6)), Derefof(m601(1, 10))), Local0)
+ m600(arg0, 11, Local0, bb30)
+ }
+
+ Mid(arg1, 0, 9, Local0)
+ m600(arg0, 12, Local0, bb1d)
+
+ Mid(arg2, 1, 8, Local0)
+ m600(arg0, 13, Local0, bb30)
+
+ Mid(arg1, aui5, auib, Local0)
+ m600(arg0, 14, Local0, bb1d)
+
+ Mid(arg2, aui6, auia, Local0)
+ m600(arg0, 15, Local0, bb30)
+
+ if (y078) {
+ Mid(arg1, Derefof(Refof(aui5)), Derefof(Refof(auib)), Local0)
+ m600(arg0, 16, Local0, bb1d)
+
+ Mid(arg2, Derefof(Refof(aui6)), Derefof(Refof(auia)), Local0)
+ m600(arg0, 17, Local0, bb30)
+ }
+
+ Mid(arg1, Derefof(Index(paui, 5)), Derefof(Index(paui, 11)), Local0)
+ m600(arg0, 18, Local0, bb1d)
+
+ Mid(arg2, Derefof(Index(paui, 6)), Derefof(Index(paui, 10)), Local0)
+ m600(arg0, 19, Local0, bb30)
+
+ // Method returns Index and Length parameters
+
+ Mid(arg1, m601(1, 5), m601(1, 11), Local0)
+ m600(arg0, 20, Local0, bb1d)
+
+ Mid(arg2, m601(1, 6), m601(1, 10), Local0)
+ m600(arg0, 21, Local0, bb30)
+
+ // Method returns Reference to Index and Length parameters
+
+ if (y500) {
+ Mid(arg1, Derefof(m601(1, 5)), Derefof(m601(1, 11)), Local0)
+ m600(arg0, 22, Local0, bb1d)
+
+ Mid(arg2, Derefof(m601(1, 6)), Derefof(m601(1, 10)), Local0)
+ m600(arg0, 23, Local0, bb30)
+ }
+ }
+
+ Method(m328, 3)
+ {
+ Store(Mid(arg1, 0, 5), Local0)
+ m600(arg0, 0, Local0, bb1c)
+
+ Store(Mid(arg2, 1, 4), Local0)
+ m600(arg0, 1, Local0, bb31)
+
+ Store(Mid(arg1, aui5, aui9), Local0)
+ m600(arg0, 2, Local0, bb1c)
+
+ Store(Mid(arg2, aui6, aui8), Local0)
+ m600(arg0, 3, Local0, bb31)
+
+ if (y078) {
+ Store(Mid(arg1, Derefof(Refof(aui5)), Derefof(Refof(aui9))), Local0)
+ m600(arg0, 4, Local0, bb1c)
+
+ Store(Mid(arg2, Derefof(Refof(aui6)), Derefof(Refof(aui8))), Local0)
+ m600(arg0, 5, Local0, bb31)
+ }
+
+ Store(Mid(arg1, Derefof(Index(paui, 5)), Derefof(Index(paui, 9))), Local0)
+ m600(arg0, 6, Local0, bb1c)
+
+ Store(Mid(arg2, Derefof(Index(paui, 6)), Derefof(Index(paui, 8))), Local0)
+ m600(arg0, 7, Local0, bb31)
+
+ // Method returns Index and Length parameters
+
+ Store(Mid(arg1, m601(1, 5), m601(1, 9)), Local0)
+ m600(arg0, 8, Local0, bb1c)
+
+ Store(Mid(arg2, m601(1, 6), m601(1, 8)), Local0)
+ m600(arg0, 9, Local0, bb31)
+
+ // Method returns Reference to Index and Length parameters
+
+ if (y500) {
+ Store(Mid(arg1, Derefof(m601(1, 5)), Derefof(m601(1, 9))), Local0)
+ m600(arg0, 10, Local0, bb1c)
+
+ Store(Mid(arg2, Derefof(m601(1, 6)), Derefof(m601(1, 8))), Local0)
+ m600(arg0, 11, Local0, bb31)
+ }
+
+ Mid(arg1, 0, 5, Local0)
+ m600(arg0, 12, Local0, bb1c)
+
+ Mid(arg2, 1, 4, Local0)
+ m600(arg0, 13, Local0, bb31)
+
+ Mid(arg1, aui5, aui9, Local0)
+ m600(arg0, 14, Local0, bb1c)
+
+ Mid(arg2, aui6, aui8, Local0)
+ m600(arg0, 15, Local0, bb31)
+
+ if (y078) {
+ Mid(arg1, Derefof(Refof(aui5)), Derefof(Refof(aui9)), Local0)
+ m600(arg0, 16, Local0, bb1c)
+
+ Mid(arg2, Derefof(Refof(aui6)), Derefof(Refof(aui8)), Local0)
+ m600(arg0, 17, Local0, bb31)
+ }
+
+ Mid(arg1, Derefof(Index(paui, 5)), Derefof(Index(paui, 9)), Local0)
+ m600(arg0, 18, Local0, bb1c)
+
+ Mid(arg2, Derefof(Index(paui, 6)), Derefof(Index(paui, 8)), Local0)
+ m600(arg0, 19, Local0, bb31)
+
+ // Method returns Index and Length parameters
+
+ Mid(arg1, m601(1, 5), m601(1, 9), Local0)
+ m600(arg0, 20, Local0, bb1c)
+
+ Mid(arg2, m601(1, 6), m601(1, 8), Local0)
+ m600(arg0, 21, Local0, bb31)
+
+ // Method returns Reference to Index and Length parameters
+
+ if (y500) {
+ Mid(arg1, Derefof(m601(1, 5)), Derefof(m601(1, 9)), Local0)
+ m600(arg0, 22, Local0, bb1c)
+
+ Mid(arg2, Derefof(m601(1, 6)), Derefof(m601(1, 8)), Local0)
+ m600(arg0, 23, Local0, bb31)
+ }
+ }
+
+// Method(m649, 1)
+
+// Method(m329, 1)
+
+// Method(m64a, 1)
+
+// Method(m32a, 1)
+
+ // String to Integer implicit conversion Cases.
+
+ // String to Integer conversion of the String sole operand
+ // of the 1-parameter Integer arithmetic operators
+ // (Decrement, Increment, FindSetLeftBit, FindSetRightBit, Not)
+
+ Method(m64b, 3)
+ {
+ // Decrement
+ if (y501) {
+ Store(Decrement(arg1), Local0)
+ m600(arg0, 0, Local0, bi12)
+
+ Store(Decrement(arg2), Local0)
+ m600(arg0, 1, Local0, bi16)
+ }
+
+ // Increment
+ if (y501) {
+ Store(Increment(arg1), Local0)
+ m600(arg0, 2, Local0, bi13)
+
+ Store(Increment(arg2), Local0)
+ m600(arg0, 3, Local0, bi17)
+ }
+
+ // FindSetLeftBit
+ Store(FindSetLeftBit(arg1), Local0)
+ m600(arg0, 4, Local0, 10)
+
+ Store(FindSetLeftBit(arg2), Local0)
+ m600(arg0, 5, Local0, 64)
+
+ // FindSetRightBit
+
+ Store(FindSetRightBit(arg1), Local0)
+ m600(arg0, 6, Local0, 1)
+
+ Store(FindSetRightBit(arg2), Local0)
+ m600(arg0, 7, Local0, 3)
+
+ // Not
+
+ Store(Not(arg1), Local0)
+ m600(arg0, 8, Local0, 0xfffffffffffffcde)
+
+ Store(Not(arg2), Local0)
+ m600(arg0, 9, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Method(m32b, 3)
+ {
+ // Decrement
+ if (y501) {
+ Store(Decrement(arg1), Local0)
+ m600(arg0, 0, Local0, bi12)
+
+ Store(Decrement(arg2), Local0)
+ m600(arg0, 1, Local0, bi14)
+ }
+
+ // Increment
+ if (y501) {
+ Store(Increment(arg1), Local0)
+ m600(arg0, 2, Local0, bi13)
+
+ Store(Increment(arg2), Local0)
+ m600(arg0, 3, Local0, bi15)
+ }
+
+ // FindSetLeftBit
+
+ Store(FindSetLeftBit(arg1), Local0)
+ m600(arg0, 4, Local0, 10)
+
+ Store(FindSetLeftBit(arg2), Local0)
+ m600(arg0, 5, Local0, 32)
+
+ // FindSetRightBit
+
+ Store(FindSetRightBit(arg1), Local0)
+ m600(arg0, 6, Local0, 1)
+
+ Store(FindSetRightBit(arg2), Local0)
+ m600(arg0, 7, Local0, 2)
+
+ // Not
+
+ Store(Not(arg1), Local0)
+ m600(arg0, 8, Local0, 0xfffffcde)
+
+ Store(Not(arg2), Local0)
+ m600(arg0, 9, Local0, 0x3e864c01)
+ }
+
+ // String to Integer conversion of the String sole operand
+ // of the LNot Logical Integer operator
+ Method(m000, 5)
+ {
+ Store(LNot(arg4), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LNot(arg1), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ if (F64) {
+ Store(LNot(arg2), Local0)
+ m600(arg0, 2, Local0, Zero)
+ } else {
+ Store(LNot(arg3), Local0)
+ m600(arg0, 3, Local0, Zero)
+ }
+ }
+
+ // String to Integer conversion of the String sole operand
+ // of the FromBCD and ToBCD conversion operators
+
+ Method(m64c, 5)
+ {
+ // FromBCD
+
+ Store(FromBCD(arg1), Local0)
+ m600(arg0, 2, Local0, 0x141)
+
+ Store(FromBCD(arg3), Local0)
+ m600(arg0, 3, Local0, 0xd76162ee9ec35)
+
+ FromBCD(arg1, Local0)
+ m600(arg0, 2, Local0, 0x141)
+
+ FromBCD(arg3, Local0)
+ m600(arg0, 3, Local0, 0xd76162ee9ec35)
+
+ // ToBCD
+
+ Store(ToBCD(arg1), Local0)
+ m600(arg0, 4, Local0, 0x801)
+
+/* Error of iASL on constant folding
+ Store(ToBCD(arg4), Local0)
+ m600(arg0, 5, Local0, 0x3789012345678901)
+*/
+
+ ToBCD(arg1, Local0)
+ m600(arg0, 4, Local0, 0x801)
+
+ ToBCD(arg4, Local0)
+ m600(arg0, 5, Local0, 0x3789012345678901)
+ }
+
+ Method(m32c, 5)
+ {
+ // FromBCD
+
+ Store(FromBCD(arg1), Local0)
+ m600(arg0, 2, Local0, 0x141)
+
+ Store(FromBCD(arg3), Local0)
+ m600(arg0, 3, Local0, 0x55f2cc0)
+
+ FromBCD(arg1, Local0)
+ m600(arg0, 2, Local0, 0x141)
+
+ FromBCD(arg3, Local0)
+ m600(arg0, 3, Local0, 0x55f2cc0)
+
+ // ToBCD
+
+ Store(ToBCD(arg1), Local0)
+ m600(arg0, 4, Local0, 0x801)
+
+ Store(ToBCD(arg4), Local0)
+ m600(arg0, 5, Local0, 0x90123456)
+
+ ToBCD(arg1, Local0)
+ m600(arg0, 4, Local0, 0x801)
+
+ ToBCD(arg4, Local0)
+ m600(arg0, 5, Local0, 0x90123456)
+ }
+
+ // String to Integer conversion of each String operand
+ // of the 2-parameter Integer arithmetic operators
+ // Add, And, Divide, Mod, Multiply, NAnd, NOr, Or,
+ // ShiftLeft, ShiftRight, Subtract, Xor
+
+ // Add, common 32-bit/64-bit test
+ Method(m001, 2)
+ {
+ // Conversion of the first operand
+
+ Store(Add(arg1, 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Add(arg1, 1), Local0)
+ m600(arg0, 1, Local0, 0x322)
+
+ Store(Add(arg1, aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Add(arg1, aui6), Local0)
+ m600(arg0, 3, Local0, 0x322)
+
+ if (y078) {
+ Store(Add(arg1, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Add(arg1, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x322)
+ }
+
+ Store(Add(arg1, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Add(arg1, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x322)
+
+ // Method returns Integer
+
+ Store(Add(arg1, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Add(arg1, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x322)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(arg1, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Add(arg1, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x322)
+ }
+
+ Add(arg1, 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Add(arg1, 1, Local0)
+ m600(arg0, 13, Local0, 0x322)
+
+ Add(arg1, aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Add(arg1, aui6, Local0)
+ m600(arg0, 15, Local0, 0x322)
+
+ if (y078) {
+ Add(arg1, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Add(arg1, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x322)
+ }
+
+ Add(arg1, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Add(arg1, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x322)
+
+ // Method returns Integer
+
+ Add(arg1, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Add(arg1, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x322)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(arg1, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Add(arg1, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x322)
+ }
+
+ // Conversion of the second operand
+
+ Store(Add(0, arg1), Local0)
+ m600(arg0, 24, Local0, 0x321)
+
+ Store(Add(1, arg1), Local0)
+ m600(arg0, 25, Local0, 0x322)
+
+ Store(Add(aui5, arg1), Local0)
+ m600(arg0, 26, Local0, 0x321)
+
+ Store(Add(aui6, arg1), Local0)
+ m600(arg0, 27, Local0, 0x322)
+
+ if (y078) {
+ Store(Add(Derefof(Refof(aui5)), arg1), Local0)
+ m600(arg0, 28, Local0, 0x321)
+
+ Store(Add(Derefof(Refof(aui6)), arg1), Local0)
+ m600(arg0, 29, Local0, 0x322)
+ }
+
+ Store(Add(Derefof(Index(paui, 5)), arg1), Local0)
+ m600(arg0, 30, Local0, 0x321)
+
+ Store(Add(Derefof(Index(paui, 6)), arg1), Local0)
+ m600(arg0, 31, Local0, 0x322)
+
+ // Method returns Integer
+
+ Store(Add(m601(1, 5), arg1), Local0)
+ m600(arg0, 32, Local0, 0x321)
+
+ Store(Add(m601(1, 6), arg1), Local0)
+ m600(arg0, 33, Local0, 0x322)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(Derefof(m602(1, 5, 1)), arg1), Local0)
+ m600(arg0, 34, Local0, 0x321)
+
+ Store(Add(Derefof(m602(1, 6, 1)), arg1), Local0)
+ m600(arg0, 35, Local0, 0x322)
+ }
+
+ Add(0, arg1, Local0)
+ m600(arg0, 36, Local0, 0x321)
+
+ Add(1, arg1, Local0)
+ m600(arg0, 37, Local0, 0x322)
+
+ Add(aui5, arg1, Local0)
+ m600(arg0, 38, Local0, 0x321)
+
+ Add(aui6, arg1, Local0)
+ m600(arg0, 39, Local0, 0x322)
+
+ if (y078) {
+ Add(Derefof(Refof(aui5)), arg1, Local0)
+ m600(arg0, 40, Local0, 0x321)
+
+ Add(Derefof(Refof(aui6)), arg1, Local0)
+ m600(arg0, 41, Local0, 0x322)
+ }
+
+ Add(Derefof(Index(paui, 5)), arg1, Local0)
+ m600(arg0, 42, Local0, 0x321)
+
+ Add(Derefof(Index(paui, 6)), arg1, Local0)
+ m600(arg0, 43, Local0, 0x322)
+
+ // Method returns Integer
+
+ Add(m601(1, 5), arg1, Local0)
+ m600(arg0, 44, Local0, 0x321)
+
+ Add(m601(1, 6), arg1, Local0)
+ m600(arg0, 45, Local0, 0x322)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(Derefof(m602(1, 5, 1)), arg1, Local0)
+ m600(arg0, 46, Local0, 0x321)
+
+ Add(Derefof(m602(1, 6, 1)), arg1, Local0)
+ m600(arg0, 47, Local0, 0x322)
+ }
+ }
+
+ // Add, 64-bit
+ Method(m002, 3)
+ {
+ // Conversion of the first operand
+
+ Store(Add(arg2, 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(arg2, 1), Local0)
+ m600(arg0, 1, Local0, 0xfe7cb391d650a285)
+
+ Store(Add(arg2, aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(arg2, aui6), Local0)
+ m600(arg0, 3, Local0, 0xfe7cb391d650a285)
+
+ if (y078) {
+ Store(Add(arg2, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(arg2, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xfe7cb391d650a285)
+ }
+
+ Store(Add(arg2, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(arg2, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Integer
+
+ Store(Add(arg2, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(arg2, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(arg2, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(arg2, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfe7cb391d650a285)
+ }
+
+ Add(arg2, 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Add(arg2, 1, Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a285)
+
+ Add(arg2, aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Add(arg2, aui6, Local0)
+ m600(arg0, 15, Local0, 0xfe7cb391d650a285)
+
+ if (y078) {
+ Add(arg2, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Add(arg2, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xfe7cb391d650a285)
+ }
+
+ Add(arg2, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Add(arg2, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Integer
+
+ Add(arg2, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Add(arg2, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(arg2, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Add(arg2, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfe7cb391d650a285)
+ }
+
+ // Conversion of the second operand
+
+ Store(Add(0, arg2), Local0)
+ m600(arg0, 24, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(1, arg2), Local0)
+ m600(arg0, 25, Local0, 0xfe7cb391d650a285)
+
+ Store(Add(aui5, arg2), Local0)
+ m600(arg0, 26, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(aui6, arg2), Local0)
+ m600(arg0, 27, Local0, 0xfe7cb391d650a285)
+
+ if (y078) {
+ Store(Add(Derefof(Refof(aui5)), arg2), Local0)
+ m600(arg0, 28, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(Refof(aui6)), arg2), Local0)
+ m600(arg0, 29, Local0, 0xfe7cb391d650a285)
+ }
+
+ Store(Add(Derefof(Index(paui, 5)), arg2), Local0)
+ m600(arg0, 30, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(Index(paui, 6)), arg2), Local0)
+ m600(arg0, 31, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Integer
+
+ Store(Add(m601(1, 5), arg2), Local0)
+ m600(arg0, 32, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(m601(1, 6), arg2), Local0)
+ m600(arg0, 33, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(Derefof(m602(1, 5, 1)), arg2), Local0)
+ m600(arg0, 34, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(m602(1, 6, 1)), arg2), Local0)
+ m600(arg0, 35, Local0, 0xfe7cb391d650a285)
+ }
+
+ Add(0, arg2, Local0)
+ m600(arg0, 36, Local0, 0xfe7cb391d650a284)
+
+ Add(1, arg2, Local0)
+ m600(arg0, 37, Local0, 0xfe7cb391d650a285)
+
+ Add(aui5, arg2, Local0)
+ m600(arg0, 38, Local0, 0xfe7cb391d650a284)
+
+ Add(aui6, arg2, Local0)
+ m600(arg0, 39, Local0, 0xfe7cb391d650a285)
+
+ if (y078) {
+ Add(Derefof(Refof(aui5)), arg2, Local0)
+ m600(arg0, 40, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(Refof(aui6)), arg2, Local0)
+ m600(arg0, 41, Local0, 0xfe7cb391d650a285)
+ }
+
+ Add(Derefof(Index(paui, 5)), arg2, Local0)
+ m600(arg0, 42, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(Index(paui, 6)), arg2, Local0)
+ m600(arg0, 43, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Integer
+
+ Add(m601(1, 5), arg2, Local0)
+ m600(arg0, 44, Local0, 0xfe7cb391d650a284)
+
+ Add(m601(1, 6), arg2, Local0)
+ m600(arg0, 45, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(Derefof(m602(1, 5, 1)), arg2, Local0)
+ m600(arg0, 46, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(m602(1, 6, 1)), arg2, Local0)
+ m600(arg0, 47, Local0, 0xfe7cb391d650a285)
+ }
+
+ // Conversion of the both operands
+
+ Store(Add(arg1, arg2), Local0)
+ m600(arg0, 48, Local0, 0xfe7cb391d650a5a5)
+
+ Store(Add(arg2, arg1), Local0)
+ m600(arg0, 49, Local0, 0xfe7cb391d650a5a5)
+
+ Add(arg1, arg2, Local0)
+ m600(arg0, 50, Local0, 0xfe7cb391d650a5a5)
+
+ Add(arg2, arg1, Local0)
+ m600(arg0, 51, Local0, 0xfe7cb391d650a5a5)
+ }
+
+ // Add, 32-bit
+ Method(m003, 3)
+ {
+ // Conversion of the first operand
+
+ Store(Add(arg2, 0), Local0)
+ m600(arg0, 0, Local0, 0xc179b3fe)
+
+ Store(Add(arg2, 1), Local0)
+ m600(arg0, 1, Local0, 0xc179b3ff)
+
+ Store(Add(arg2, aui5), Local0)
+ m600(arg0, 2, Local0, 0xc179b3fe)
+
+ Store(Add(arg2, aui6), Local0)
+ m600(arg0, 3, Local0, 0xc179b3ff)
+
+ if (y078) {
+ Store(Add(arg2, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xc179b3fe)
+
+ Store(Add(arg2, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xc179b3ff)
+ }
+
+ Store(Add(arg2, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xc179b3fe)
+
+ Store(Add(arg2, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xc179b3ff)
+
+ // Method returns Integer
+
+ Store(Add(arg2, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xc179b3fe)
+
+ Store(Add(arg2, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xc179b3ff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(arg2, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xc179b3fe)
+
+ Store(Add(arg2, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xc179b3ff)
+ }
+
+ Add(arg2, 0, Local0)
+ m600(arg0, 12, Local0, 0xc179b3fe)
+
+ Add(arg2, 1, Local0)
+ m600(arg0, 13, Local0, 0xc179b3ff)
+
+ Add(arg2, aui5, Local0)
+ m600(arg0, 14, Local0, 0xc179b3fe)
+
+ Add(arg2, aui6, Local0)
+ m600(arg0, 15, Local0, 0xc179b3ff)
+
+ if (y078) {
+ Add(arg2, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xc179b3fe)
+
+ Add(arg2, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xc179b3ff)
+ }
+
+ Add(arg2, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xc179b3fe)
+
+ Add(arg2, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xc179b3ff)
+
+ // Method returns Integer
+
+ Add(arg2, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xc179b3fe)
+
+ Add(arg2, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xc179b3ff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(arg2, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xc179b3fe)
+
+ Add(arg2, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xc179b3ff)
+ }
+
+ // Conversion of the second operand
+
+ Store(Add(0, arg2), Local0)
+ m600(arg0, 24, Local0, 0xc179b3fe)
+
+ Store(Add(1, arg2), Local0)
+ m600(arg0, 25, Local0, 0xc179b3ff)
+
+ Store(Add(aui5, arg2), Local0)
+ m600(arg0, 26, Local0, 0xc179b3fe)
+
+ Store(Add(aui6, arg2), Local0)
+ m600(arg0, 27, Local0, 0xc179b3ff)
+
+ if (y078) {
+ Store(Add(Derefof(Refof(aui5)), arg2), Local0)
+ m600(arg0, 28, Local0, 0xc179b3fe)
+
+ Store(Add(Derefof(Refof(aui6)), arg2), Local0)
+ m600(arg0, 29, Local0, 0xc179b3ff)
+ }
+
+ Store(Add(Derefof(Index(paui, 5)), arg2), Local0)
+ m600(arg0, 30, Local0, 0xc179b3fe)
+
+ Store(Add(Derefof(Index(paui, 6)), arg2), Local0)
+ m600(arg0, 31, Local0, 0xc179b3ff)
+
+ // Method returns Integer
+
+ Store(Add(m601(1, 5), arg2), Local0)
+ m600(arg0, 32, Local0, 0xc179b3fe)
+
+ Store(Add(m601(1, 6), arg2), Local0)
+ m600(arg0, 33, Local0, 0xc179b3ff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(Derefof(m602(1, 5, 1)), arg2), Local0)
+ m600(arg0, 34, Local0, 0xc179b3fe)
+
+ Store(Add(Derefof(m602(1, 6, 1)), arg2), Local0)
+ m600(arg0, 35, Local0, 0xc179b3ff)
+ }
+
+ Add(0, arg2, Local0)
+ m600(arg0, 36, Local0, 0xc179b3fe)
+
+ Add(1, arg2, Local0)
+ m600(arg0, 37, Local0, 0xc179b3ff)
+
+ Add(aui5, arg2, Local0)
+ m600(arg0, 38, Local0, 0xc179b3fe)
+
+ Add(aui6, arg2, Local0)
+ m600(arg0, 39, Local0, 0xc179b3ff)
+
+ if (y078) {
+ Add(Derefof(Refof(aui5)), arg2, Local0)
+ m600(arg0, 40, Local0, 0xc179b3fe)
+
+ Add(Derefof(Refof(aui6)), arg2, Local0)
+ m600(arg0, 41, Local0, 0xc179b3ff)
+ }
+
+ Add(Derefof(Index(paui, 5)), arg2, Local0)
+ m600(arg0, 42, Local0, 0xc179b3fe)
+
+ Add(Derefof(Index(paui, 6)), arg2, Local0)
+ m600(arg0, 43, Local0, 0xc179b3ff)
+
+ // Method returns Integer
+
+ Add(m601(1, 5), arg2, Local0)
+ m600(arg0, 44, Local0, 0xc179b3fe)
+
+ Add(m601(1, 6), arg2, Local0)
+ m600(arg0, 45, Local0, 0xc179b3ff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(Derefof(m602(1, 5, 1)), arg2, Local0)
+ m600(arg0, 46, Local0, 0xc179b3fe)
+
+ Add(Derefof(m602(1, 6, 1)), arg2, Local0)
+ m600(arg0, 47, Local0, 0xc179b3ff)
+ }
+
+ // Conversion of the both operands
+
+ Store(Add(arg1, arg2), Local0)
+ m600(arg0, 48, Local0, 0xc179b71f)
+
+ Store(Add(arg2, arg1), Local0)
+ m600(arg0, 49, Local0, 0xc179b71f)
+
+ Add(arg1, arg2, Local0)
+ m600(arg0, 50, Local0, 0xc179b71f)
+
+ Add(arg2, arg1, Local0)
+ m600(arg0, 51, Local0, 0xc179b71f)
+ }
+
+ // And, common 32-bit/64-bit test
+ Method(m004, 2)
+ {
+ // Conversion of the first operand
+
+ Store(And(arg1, 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(And(arg1, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0x321)
+
+ Store(And(arg1, aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(And(arg1, auij), Local0)
+ m600(arg0, 3, Local0, 0x321)
+
+ if (y078) {
+ Store(And(arg1, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(And(arg1, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0x321)
+ }
+
+ Store(And(arg1, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(And(arg1, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0x321)
+
+ // Method returns Integer
+
+ Store(And(arg1, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(And(arg1, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(arg1, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(And(arg1, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0x321)
+ }
+
+ And(arg1, 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ And(arg1, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0x321)
+
+ And(arg1, aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ And(arg1, auij, Local0)
+ m600(arg0, 15, Local0, 0x321)
+
+ if (y078) {
+ And(arg1, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ And(arg1, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0x321)
+ }
+
+ And(arg1, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ And(arg1, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0x321)
+
+ // Method returns Integer
+
+ And(arg1, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ And(arg1, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(arg1, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ And(arg1, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0x321)
+ }
+
+ // Conversion of the second operand
+
+ Store(And(0, arg1), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(And(0xffffffffffffffff, arg1), Local0)
+ m600(arg0, 25, Local0, 0x321)
+
+ Store(And(aui5, arg1), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(And(auij, arg1), Local0)
+ m600(arg0, 27, Local0, 0x321)
+
+ if (y078) {
+ Store(And(Derefof(Refof(aui5)), arg1), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(And(Derefof(Refof(auij)), arg1), Local0)
+ m600(arg0, 29, Local0, 0x321)
+ }
+
+ Store(And(Derefof(Index(paui, 5)), arg1), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(And(Derefof(Index(paui, 19)), arg1), Local0)
+ m600(arg0, 31, Local0, 0x321)
+
+ // Method returns Integer
+
+ Store(And(m601(1, 5), arg1), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(And(m601(1, 19), arg1), Local0)
+ m600(arg0, 33, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(Derefof(m602(1, 5, 1)), arg1), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(And(Derefof(m602(1, 19, 1)), arg1), Local0)
+ m600(arg0, 35, Local0, 0x321)
+ }
+
+ And(0, arg1, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ And(0xffffffffffffffff, arg1, Local0)
+ m600(arg0, 37, Local0, 0x321)
+
+ And(aui5, arg1, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ And(auij, arg1, Local0)
+ m600(arg0, 39, Local0, 0x321)
+
+ if (y078) {
+ And(Derefof(Refof(aui5)), arg1, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ And(Derefof(Refof(auij)), arg1, Local0)
+ m600(arg0, 41, Local0, 0x321)
+ }
+
+ And(Derefof(Index(paui, 5)), arg1, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ And(Derefof(Index(paui, 19)), arg1, Local0)
+ m600(arg0, 43, Local0, 0x321)
+
+ // Method returns Integer
+
+ And(m601(1, 5), arg1, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ And(m601(1, 19), arg1, Local0)
+ m600(arg0, 45, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(Derefof(m602(1, 5, 1)), arg1, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ And(Derefof(m602(1, 19, 1)), arg1, Local0)
+ m600(arg0, 47, Local0, 0x321)
+ }
+ }
+
+ // And, 64-bit
+ Method(m005, 3)
+ {
+ // Conversion of the first operand
+
+ Store(And(arg2, 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(And(arg2, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xfe7cb391d650a284)
+
+ Store(And(arg2, aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(And(arg2, auij), Local0)
+ m600(arg0, 3, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Store(And(arg2, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(And(arg2, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xfe7cb391d650a284)
+ }
+
+ Store(And(arg2, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(And(arg2, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Store(And(arg2, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(And(arg2, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(arg2, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(And(arg2, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfe7cb391d650a284)
+ }
+
+ And(arg2, 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ And(arg2, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a284)
+
+ And(arg2, aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ And(arg2, auij, Local0)
+ m600(arg0, 15, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ And(arg2, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ And(arg2, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xfe7cb391d650a284)
+ }
+
+ And(arg2, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ And(arg2, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ And(arg2, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ And(arg2, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(arg2, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ And(arg2, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfe7cb391d650a284)
+ }
+
+ // Conversion of the second operand
+
+ Store(And(0, arg2), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(And(0xffffffffffffffff, arg2), Local0)
+ m600(arg0, 25, Local0, 0xfe7cb391d650a284)
+
+ Store(And(aui5, arg2), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(And(auij, arg2), Local0)
+ m600(arg0, 27, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Store(And(Derefof(Refof(aui5)), arg2), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(And(Derefof(Refof(auij)), arg2), Local0)
+ m600(arg0, 29, Local0, 0xfe7cb391d650a284)
+ }
+
+ Store(And(Derefof(Index(paui, 5)), arg2), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(And(Derefof(Index(paui, 19)), arg2), Local0)
+ m600(arg0, 31, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Store(And(m601(1, 5), arg2), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(And(m601(1, 19), arg2), Local0)
+ m600(arg0, 33, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(Derefof(m602(1, 5, 1)), arg2), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(And(Derefof(m602(1, 19, 1)), arg2), Local0)
+ m600(arg0, 35, Local0, 0xfe7cb391d650a284)
+ }
+
+ And(0, arg2, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ And(0xffffffffffffffff, arg2, Local0)
+ m600(arg0, 37, Local0, 0xfe7cb391d650a284)
+
+ And(aui5, arg2, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ And(auij, arg2, Local0)
+ m600(arg0, 39, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ And(Derefof(Refof(aui5)), arg2, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ And(Derefof(Refof(auij)), arg2, Local0)
+ m600(arg0, 41, Local0, 0xfe7cb391d650a284)
+ }
+
+ And(Derefof(Index(paui, 5)), arg2, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ And(Derefof(Index(paui, 19)), arg2, Local0)
+ m600(arg0, 43, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ And(m601(1, 5), arg2, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ And(m601(1, 19), arg2, Local0)
+ m600(arg0, 45, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(Derefof(m602(1, 5, 1)), arg2, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ And(Derefof(m602(1, 19, 1)), arg2, Local0)
+ m600(arg0, 47, Local0, 0xfe7cb391d650a284)
+ }
+
+ // Conversion of the both operands
+
+ Store(And(arg1, arg2), Local0)
+ m600(arg0, 48, Local0, 0x200)
+
+ Store(And(arg2, arg1), Local0)
+ m600(arg0, 49, Local0, 0x200)
+
+ And(arg1, arg2, Local0)
+ m600(arg0, 50, Local0, 0x200)
+
+ And(arg2, arg1, Local0)
+ m600(arg0, 51, Local0, 0x200)
+ }
+
+ // And, 32-bit
+ Method(m006, 3)
+ {
+ // Conversion of the first operand
+
+ Store(And(arg2, 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(And(arg2, 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0xc179b3fe)
+
+ Store(And(arg2, aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(And(arg2, auii), Local0)
+ m600(arg0, 3, Local0, 0xc179b3fe)
+
+ if (y078) {
+ Store(And(arg2, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(And(arg2, Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0xc179b3fe)
+ }
+
+ Store(And(arg2, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(And(arg2, Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0xc179b3fe)
+
+ // Method returns Integer
+
+ Store(And(arg2, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(And(arg2, m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0xc179b3fe)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(arg2, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(And(arg2, Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0xc179b3fe)
+ }
+
+ And(arg2, 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ And(arg2, 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0xc179b3fe)
+
+ And(arg2, aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ And(arg2, auii, Local0)
+ m600(arg0, 15, Local0, 0xc179b3fe)
+
+ if (y078) {
+ And(arg2, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ And(arg2, Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0xc179b3fe)
+ }
+
+ And(arg2, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ And(arg2, Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0xc179b3fe)
+
+ // Method returns Integer
+
+ And(arg2, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ And(arg2, m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0xc179b3fe)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(arg2, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ And(arg2, Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0xc179b3fe)
+ }
+
+ // Conversion of the second operand
+
+ Store(And(0, arg2), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(And(0xffffffff, arg2), Local0)
+ m600(arg0, 25, Local0, 0xc179b3fe)
+
+ Store(And(aui5, arg2), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(And(auii, arg2), Local0)
+ m600(arg0, 27, Local0, 0xc179b3fe)
+
+ if (y078) {
+ Store(And(Derefof(Refof(aui5)), arg2), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(And(Derefof(Refof(auii)), arg2), Local0)
+ m600(arg0, 29, Local0, 0xc179b3fe)
+ }
+
+ Store(And(Derefof(Index(paui, 5)), arg2), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(And(Derefof(Index(paui, 18)), arg2), Local0)
+ m600(arg0, 31, Local0, 0xc179b3fe)
+
+ // Method returns Integer
+
+ Store(And(m601(1, 5), arg2), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(And(m601(1, 18), arg2), Local0)
+ m600(arg0, 33, Local0, 0xc179b3fe)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(Derefof(m602(1, 5, 1)), arg2), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(And(Derefof(m602(1, 18, 1)), arg2), Local0)
+ m600(arg0, 35, Local0, 0xc179b3fe)
+ }
+
+ And(0, arg2, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ And(0xffffffff, arg2, Local0)
+ m600(arg0, 37, Local0, 0xc179b3fe)
+
+ And(aui5, arg2, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ And(auii, arg2, Local0)
+ m600(arg0, 39, Local0, 0xc179b3fe)
+
+ if (y078) {
+ And(Derefof(Refof(aui5)), arg2, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ And(Derefof(Refof(auii)), arg2, Local0)
+ m600(arg0, 41, Local0, 0xc179b3fe)
+ }
+
+ And(Derefof(Index(paui, 5)), arg2, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ And(Derefof(Index(paui, 18)), arg2, Local0)
+ m600(arg0, 43, Local0, 0xc179b3fe)
+
+ // Method returns Integer
+
+ And(m601(1, 5), arg2, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ And(m601(1, 18), arg2, Local0)
+ m600(arg0, 45, Local0, 0xc179b3fe)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(Derefof(m602(1, 5, 1)), arg2, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ And(Derefof(m602(1, 18, 1)), arg2, Local0)
+ m600(arg0, 47, Local0, 0xc179b3fe)
+ }
+
+ // Conversion of the both operands
+
+ Store(And(arg1, arg2), Local0)
+ m600(arg0, 48, Local0, 0x320)
+
+ Store(And(arg2, arg1), Local0)
+ m600(arg0, 49, Local0, 0x320)
+
+ And(arg1, arg2, Local0)
+ m600(arg0, 50, Local0, 0x320)
+
+ And(arg2, arg1, Local0)
+ m600(arg0, 51, Local0, 0x320)
+ }
+
+ // Divide, common 32-bit/64-bit test
+ Method(m007, 2)
+ {
+ // Conversion of the first operand
+
+ Store(Divide(arg1, 1), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Divide(arg1, 0x321), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Divide(arg1, aui6), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Divide(arg1, aui1), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Divide(arg1, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Divide(arg1, Derefof(Refof(aui1))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Divide(arg1, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Divide(arg1, Derefof(Index(paui, 1))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(arg1, m601(1, 6)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Divide(arg1, m601(1, 1)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(arg1, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Divide(arg1, Derefof(m602(1, 1, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Divide(arg1, 1, Local1, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Divide(arg1, 0x321, Local1, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Divide(arg1, aui6, Local1, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Divide(arg1, aui1, Local1, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Divide(arg1, Derefof(Refof(aui6)), Local1, Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Divide(arg1, Derefof(Refof(aui1)), Local1, Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Divide(arg1, Derefof(Index(paui, 6)), Local1, Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Divide(arg1, Derefof(Index(paui, 1)), Local1, Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(arg1, m601(1, 6), Local1, Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Divide(arg1, m601(1, 1), Local1, Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(arg1, Derefof(m602(1, 6, 1)), Local1, Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Divide(arg1, Derefof(m602(1, 1, 1)), Local1, Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Divide(1, arg1), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Divide(0x321, arg1), Local0)
+ m600(arg0, 25, Local0, 1)
+
+ Store(Divide(aui6, arg1), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Divide(aui1, arg1), Local0)
+ m600(arg0, 27, Local0, 1)
+
+ if (y078) {
+ Store(Divide(Derefof(Refof(aui6)), arg1), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Divide(Derefof(Refof(aui1)), arg1), Local0)
+ m600(arg0, 29, Local0, 1)
+ }
+
+ Store(Divide(Derefof(Index(paui, 6)), arg1), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Divide(Derefof(Index(paui, 1)), arg1), Local0)
+ m600(arg0, 31, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(m601(1, 6), arg1), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Divide(m601(1, 1), arg1), Local0)
+ m600(arg0, 33, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(Derefof(m602(1, 6, 1)), arg1), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Divide(Derefof(m602(1, 1, 1)), arg1), Local0)
+ m600(arg0, 35, Local0, 1)
+ }
+
+ Divide(1, arg1, Local1, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Divide(0x321, arg1, Local1, Local0)
+ m600(arg0, 37, Local0, 1)
+
+ Divide(aui6, arg1, Local1, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Divide(aui1, arg1, Local1, Local0)
+ m600(arg0, 39, Local0, 1)
+
+ if (y078) {
+ Divide(Derefof(Refof(aui6)), arg1, Local1, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Divide(Derefof(Refof(aui1)), arg1, Local1, Local0)
+ m600(arg0, 41, Local0, 1)
+ }
+
+ Divide(Derefof(Index(paui, 6)), arg1, Local1, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Divide(Derefof(Index(paui, 1)), arg1, Local1, Local0)
+ m600(arg0, 43, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(m601(1, 6), arg1, Local1, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Divide(m601(1, 1), arg1, Local1, Local0)
+ m600(arg0, 45, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(Derefof(m602(1, 6, 1)), arg1, Local1, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Divide(Derefof(m602(1, 1, 1)), arg1, Local1, Local0)
+ m600(arg0, 47, Local0, 1)
+ }
+ }
+
+ // Divide, 64-bit
+ Method(m008, 3)
+ {
+ // Conversion of the first operand
+
+ Store(Divide(arg2, 1), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(arg2, 0xfe7cb391d650a284), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Divide(arg2, aui6), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(arg2, aui4), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Divide(arg2, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(arg2, Derefof(Refof(aui4))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Divide(arg2, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(arg2, Derefof(Index(paui, 4))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(arg2, m601(1, 6)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(arg2, m601(1, 4)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(arg2, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(arg2, Derefof(m602(1, 4, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Divide(arg2, 1, Local1, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Divide(arg2, 0xfe7cb391d650a284, Local1, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Divide(arg2, aui6, Local1, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Divide(arg2, aui4, Local1, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Divide(arg2, Derefof(Refof(aui6)), Local1, Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Divide(arg2, Derefof(Refof(aui4)), Local1, Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Divide(arg2, Derefof(Index(paui, 6)), Local1, Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Divide(arg2, Derefof(Index(paui, 4)), Local1, Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(arg2, m601(1, 6), Local1, Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Divide(arg2, m601(1, 4), Local1, Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(arg2, Derefof(m602(1, 6, 1)), Local1, Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Divide(arg2, Derefof(m602(1, 4, 1)), Local1, Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Divide(1, arg2), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Divide(0xfe7cb391d650a284, arg2), Local0)
+ m600(arg0, 25, Local0, 1)
+
+ Store(Divide(aui6, arg2), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Divide(aui4, arg2), Local0)
+ m600(arg0, 27, Local0, 1)
+
+ if (y078) {
+ Store(Divide(Derefof(Refof(aui6)), arg2), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Divide(Derefof(Refof(aui4)), arg2), Local0)
+ m600(arg0, 29, Local0, 1)
+ }
+
+ Store(Divide(Derefof(Index(paui, 6)), arg2), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Divide(Derefof(Index(paui, 4)), arg2), Local0)
+ m600(arg0, 31, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(m601(1, 6), arg2), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Divide(m601(1, 4), arg2), Local0)
+ m600(arg0, 33, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(Derefof(m602(1, 6, 1)), arg2), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Divide(Derefof(m602(1, 4, 1)), arg2), Local0)
+ m600(arg0, 35, Local0, 1)
+ }
+
+ Divide(1, arg2, Local1, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Divide(0xfe7cb391d650a284, arg2, Local1, Local0)
+ m600(arg0, 37, Local0, 1)
+
+ Divide(aui6, arg2, Local1, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Divide(aui4, arg2, Local1, Local0)
+ m600(arg0, 39, Local0, 1)
+
+ if (y078) {
+ Divide(Derefof(Refof(aui6)), arg2, Local1, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Divide(Derefof(Refof(aui4)), arg2, Local1, Local0)
+ m600(arg0, 41, Local0, 1)
+ }
+
+ Divide(Derefof(Index(paui, 6)), arg2, Local1, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Divide(Derefof(Index(paui, 4)), arg2, Local1, Local0)
+ m600(arg0, 43, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(m601(1, 6), arg2, Local1, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Divide(m601(1, 4), arg2, Local1, Local0)
+ m600(arg0, 45, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(Derefof(m602(1, 6, 1)), arg2, Local1, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Divide(Derefof(m602(1, 4, 1)), arg2, Local1, Local0)
+ m600(arg0, 47, Local0, 1)
+ }
+
+ // Conversion of the both operands
+
+ Store(Divide(arg1, arg2), Local0)
+ m600(arg0, 48, Local0, 0)
+
+ Store(Divide(arg2, arg1), Local0)
+ m600(arg0, 49, Local0, 0x0051558eb950f5a7)
+
+ Divide(arg1, arg2, Local1, Local0)
+ m600(arg0, 50, Local0, 0)
+
+ Divide(arg2, arg1, Local1, Local0)
+ m600(arg0, 51, Local0, 0x0051558eb950f5a7)
+ }
+
+ // Divide, 32-bit
+ Method(m009, 3)
+ {
+ // Conversion of the first operand
+
+ Store(Divide(arg2, 1), Local0)
+ m600(arg0, 0, Local0, 0xc179b3fe)
+
+ Store(Divide(arg2, 0xc179b3fe), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Divide(arg2, aui6), Local0)
+ m600(arg0, 2, Local0, 0xc179b3fe)
+
+ Store(Divide(arg2, aui3), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Divide(arg2, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 4, Local0, 0xc179b3fe)
+
+ Store(Divide(arg2, Derefof(Refof(aui3))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Divide(arg2, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 6, Local0, 0xc179b3fe)
+
+ Store(Divide(arg2, Derefof(Index(paui, 3))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(arg2, m601(1, 6)), Local0)
+ m600(arg0, 8, Local0, 0xc179b3fe)
+
+ Store(Divide(arg2, m601(1, 3)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(arg2, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 10, Local0, 0xc179b3fe)
+
+ Store(Divide(arg2, Derefof(m602(1, 3, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Divide(arg2, 1, Local1, Local0)
+ m600(arg0, 12, Local0, 0xc179b3fe)
+
+ Divide(arg2, 0xc179b3fe, Local1, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Divide(arg2, aui6, Local1, Local0)
+ m600(arg0, 14, Local0, 0xc179b3fe)
+
+ Divide(arg2, aui3, Local1, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Divide(arg2, Derefof(Refof(aui6)), Local1, Local0)
+ m600(arg0, 16, Local0, 0xc179b3fe)
+
+ Divide(arg2, Derefof(Refof(aui3)), Local1, Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Divide(arg2, Derefof(Index(paui, 6)), Local1, Local0)
+ m600(arg0, 18, Local0, 0xc179b3fe)
+
+ Divide(arg2, Derefof(Index(paui, 3)), Local1, Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(arg2, m601(1, 6), Local1, Local0)
+ m600(arg0, 20, Local0, 0xc179b3fe)
+
+ Divide(arg2, m601(1, 3), Local1, Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(arg2, Derefof(m602(1, 6, 1)), Local1, Local0)
+ m600(arg0, 22, Local0, 0xc179b3fe)
+
+ Divide(arg2, Derefof(m602(1, 3, 1)), Local1, Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Divide(1, arg2), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Divide(0xc179b3fe, arg2), Local0)
+ m600(arg0, 25, Local0, 1)
+
+ Store(Divide(aui6, arg2), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Divide(aui3, arg2), Local0)
+ m600(arg0, 27, Local0, 1)
+
+ if (y078) {
+ Store(Divide(Derefof(Refof(aui6)), arg2), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Divide(Derefof(Refof(aui3)), arg2), Local0)
+ m600(arg0, 29, Local0, 1)
+ }
+
+ Store(Divide(Derefof(Index(paui, 6)), arg2), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Divide(Derefof(Index(paui, 3)), arg2), Local0)
+ m600(arg0, 31, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(m601(1, 6), arg2), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Divide(m601(1, 3), arg2), Local0)
+ m600(arg0, 33, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(Derefof(m602(1, 6, 1)), arg2), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Divide(Derefof(m602(1, 3, 1)), arg2), Local0)
+ m600(arg0, 35, Local0, 1)
+ }
+
+ Divide(1, arg2, Local1, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Divide(0xc179b3fe, arg2, Local1, Local0)
+ m600(arg0, 37, Local0, 1)
+
+ Divide(aui6, arg2, Local1, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Divide(aui3, arg2, Local1, Local0)
+ m600(arg0, 39, Local0, 1)
+
+ if (y078) {
+ Divide(Derefof(Refof(aui6)), arg2, Local1, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Divide(Derefof(Refof(aui3)), arg2, Local1, Local0)
+ m600(arg0, 41, Local0, 1)
+ }
+
+ Divide(Derefof(Index(paui, 6)), arg2, Local1, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Divide(Derefof(Index(paui, 3)), arg2, Local1, Local0)
+ m600(arg0, 43, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(m601(1, 6), arg2, Local1, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Divide(m601(1, 3), arg2, Local1, Local0)
+ m600(arg0, 45, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(Derefof(m602(1, 6, 1)), arg2, Local1, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Divide(Derefof(m602(1, 3, 1)), arg2, Local1, Local0)
+ m600(arg0, 47, Local0, 1)
+ }
+
+ // Conversion of the both operands
+
+ Store(Divide(arg1, arg2), Local0)
+ m600(arg0, 48, Local0, 0)
+
+ Store(Divide(arg2, arg1), Local0)
+ m600(arg0, 49, Local0, 0x003dd5b7)
+
+ Divide(arg1, arg2, Local1, Local0)
+ m600(arg0, 50, Local0, 0)
+
+ Divide(arg2, arg1, Local1, Local0)
+ m600(arg0, 51, Local0, 0x003dd5b7)
+ }
+
+ // Mod, common 32-bit/64-bit test
+ Method(m00a, 2)
+ {
+ // Conversion of the first operand
+
+ Store(Mod(arg1, 0x322), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Mod(arg1, 0x320), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Mod(arg1, auig), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Mod(arg1, auih), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Mod(arg1, Derefof(Refof(auig))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Mod(arg1, Derefof(Refof(auih))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Mod(arg1, Derefof(Index(paui, 16))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Mod(arg1, Derefof(Index(paui, 17))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Mod(arg1, m601(1, 16)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Mod(arg1, m601(1, 17)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(arg1, Derefof(m602(1, 16, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Mod(arg1, Derefof(m602(1, 17, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Mod(arg1, 0x322, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Mod(arg1, 0x320, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Mod(arg1, auig, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Mod(arg1, auih, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Mod(arg1, Derefof(Refof(auig)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Mod(arg1, Derefof(Refof(auih)), Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Mod(arg1, Derefof(Index(paui, 16)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Mod(arg1, Derefof(Index(paui, 17)), Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Mod(arg1, m601(1, 16), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Mod(arg1, m601(1, 17), Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(arg1, Derefof(m602(1, 16, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Mod(arg1, Derefof(m602(1, 17, 1)), Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Mod(0x322, arg1), Local0)
+ m600(arg0, 24, Local0, 1)
+
+ Store(Mod(0x320, arg1), Local0)
+ m600(arg0, 25, Local0, 0x320)
+
+ Store(Mod(auig, arg1), Local0)
+ m600(arg0, 26, Local0, 1)
+
+ Store(Mod(auih, arg1), Local0)
+ m600(arg0, 27, Local0, 0x320)
+
+ if (y078) {
+ Store(Mod(Derefof(Refof(auig)), arg1), Local0)
+ m600(arg0, 28, Local0, 1)
+
+ Store(Mod(Derefof(Refof(auih)), arg1), Local0)
+ m600(arg0, 29, Local0, 0x320)
+ }
+
+ Store(Mod(Derefof(Index(paui, 16)), arg1), Local0)
+ m600(arg0, 30, Local0, 1)
+
+ Store(Mod(Derefof(Index(paui, 17)), arg1), Local0)
+ m600(arg0, 31, Local0, 0x320)
+
+ // Method returns Integer
+
+ Store(Mod(m601(1, 16), arg1), Local0)
+ m600(arg0, 32, Local0, 1)
+
+ Store(Mod(m601(1, 17), arg1), Local0)
+ m600(arg0, 33, Local0, 0x320)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(Derefof(m602(1, 16, 1)), arg1), Local0)
+ m600(arg0, 34, Local0, 1)
+
+ Store(Mod(Derefof(m602(1, 17, 1)), arg1), Local0)
+ m600(arg0, 35, Local0, 0x320)
+ }
+
+ Mod(0x322, arg1, Local0)
+ m600(arg0, 36, Local0, 1)
+
+ Mod(0x320, arg1, Local0)
+ m600(arg0, 37, Local0, 0x320)
+
+ Mod(auig, arg1, Local0)
+ m600(arg0, 38, Local0, 1)
+
+ Mod(auih, arg1, Local0)
+ m600(arg0, 39, Local0, 0x320)
+
+ if (y078) {
+ Mod(Derefof(Refof(auig)), arg1, Local0)
+ m600(arg0, 40, Local0, 1)
+
+ Mod(Derefof(Refof(auih)), arg1, Local0)
+ m600(arg0, 41, Local0, 0x320)
+ }
+
+ Mod(Derefof(Index(paui, 16)), arg1, Local0)
+ m600(arg0, 42, Local0, 1)
+
+ Mod(Derefof(Index(paui, 17)), arg1, Local0)
+ m600(arg0, 43, Local0, 0x320)
+
+ // Method returns Integer
+
+ Mod(m601(1, 16), arg1, Local0)
+ m600(arg0, 44, Local0, 1)
+
+ Mod(m601(1, 17), arg1, Local0)
+ m600(arg0, 45, Local0, 0x320)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(Derefof(m602(1, 16, 1)), arg1, Local0)
+ m600(arg0, 46, Local0, 1)
+
+ Mod(Derefof(m602(1, 17, 1)), arg1, Local0)
+ m600(arg0, 47, Local0, 0x320)
+ }
+ }
+
+ // Mod, 64-bit
+ Method(m00b, 3)
+ {
+ // Conversion of the first operand
+
+ Store(Mod(arg2, 0xfe7cb391d650a285), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(arg2, 0xfe7cb391d650a283), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Mod(arg2, auid), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(arg2, auif), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Mod(arg2, Derefof(Refof(auid))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(arg2, Derefof(Refof(auif))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Mod(arg2, Derefof(Index(paui, 13))), Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(arg2, Derefof(Index(paui, 15))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Mod(arg2, m601(1, 13)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(arg2, m601(1, 15)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(arg2, Derefof(m602(1, 13, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(arg2, Derefof(m602(1, 15, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Mod(arg2, 0xfe7cb391d650a285, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Mod(arg2, 0xfe7cb391d650a283, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Mod(arg2, auid, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Mod(arg2, auif, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Mod(arg2, Derefof(Refof(auid)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Mod(arg2, Derefof(Refof(auif)), Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Mod(arg2, Derefof(Index(paui, 13)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Mod(arg2, Derefof(Index(paui, 15)), Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Mod(arg2, m601(1, 13), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Mod(arg2, m601(1, 15), Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(arg2, Derefof(m602(1, 13, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Mod(arg2, Derefof(m602(1, 15, 1)), Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Mod(0xfe7cb391d650a285, arg2), Local0)
+ m600(arg0, 24, Local0, 1)
+
+ Store(Mod(0xfe7cb391d650a283, arg2), Local0)
+ m600(arg0, 25, Local0, 0xfe7cb391d650a283)
+
+ Store(Mod(auid, arg2), Local0)
+ m600(arg0, 26, Local0, 1)
+
+ Store(Mod(auif, arg2), Local0)
+ m600(arg0, 27, Local0, 0xfe7cb391d650a283)
+
+ if (y078) {
+ Store(Mod(Derefof(Refof(auid)), arg2), Local0)
+ m600(arg0, 28, Local0, 1)
+
+ Store(Mod(Derefof(Refof(auif)), arg2), Local0)
+ m600(arg0, 29, Local0, 0xfe7cb391d650a283)
+ }
+
+ Store(Mod(Derefof(Index(paui, 13)), arg2), Local0)
+ m600(arg0, 30, Local0, 1)
+
+ Store(Mod(Derefof(Index(paui, 15)), arg2), Local0)
+ m600(arg0, 31, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Integer
+
+ Store(Mod(m601(1, 13), arg2), Local0)
+ m600(arg0, 32, Local0, 1)
+
+ Store(Mod(m601(1, 15), arg2), Local0)
+ m600(arg0, 33, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(Derefof(m602(1, 13, 1)), arg2), Local0)
+ m600(arg0, 34, Local0, 1)
+
+ Store(Mod(Derefof(m602(1, 15, 1)), arg2), Local0)
+ m600(arg0, 35, Local0, 0xfe7cb391d650a283)
+ }
+
+ Mod(0xfe7cb391d650a285, arg2, Local0)
+ m600(arg0, 36, Local0, 1)
+
+ Mod(0xfe7cb391d650a283, arg2, Local0)
+ m600(arg0, 37, Local0, 0xfe7cb391d650a283)
+
+ Mod(auid, arg2, Local0)
+ m600(arg0, 38, Local0, 1)
+
+ Mod(auif, arg2, Local0)
+ m600(arg0, 39, Local0, 0xfe7cb391d650a283)
+
+ if (y078) {
+ Mod(Derefof(Refof(auid)), arg2, Local0)
+ m600(arg0, 40, Local0, 1)
+
+ Mod(Derefof(Refof(auif)), arg2, Local0)
+ m600(arg0, 41, Local0, 0xfe7cb391d650a283)
+ }
+
+ Mod(Derefof(Index(paui, 13)), arg2, Local0)
+ m600(arg0, 42, Local0, 1)
+
+ Mod(Derefof(Index(paui, 15)), arg2, Local0)
+ m600(arg0, 43, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Integer
+
+ Mod(m601(1, 13), arg2, Local0)
+ m600(arg0, 44, Local0, 1)
+
+ Mod(m601(1, 15), arg2, Local0)
+ m600(arg0, 45, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(Derefof(m602(1, 13, 1)), arg2, Local0)
+ m600(arg0, 46, Local0, 1)
+
+ Mod(Derefof(m602(1, 15, 1)), arg2, Local0)
+ m600(arg0, 47, Local0, 0xfe7cb391d650a283)
+ }
+
+ // Conversion of the both operands
+
+ Store(Mod(arg1, arg2), Local0)
+ m600(arg0, 48, Local0, 0x321)
+
+ Store(Mod(arg2, arg1), Local0)
+ m600(arg0, 49, Local0, 0x2fd)
+
+ Mod(arg1, arg2, Local0)
+ m600(arg0, 50, Local0, 0x321)
+
+ Mod(arg2, arg1, Local0)
+ m600(arg0, 51, Local0, 0x2fd)
+ }
+
+ // Mod, 32-bit
+ Method(m00c, 3)
+ {
+ // Conversion of the first operand
+
+ Store(Mod(arg2, 0xc179b3ff), Local0)
+ m600(arg0, 0, Local0, 0xc179b3fe)
+
+ Store(Mod(arg2, 0xc179b3fd), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Mod(arg2, auic), Local0)
+ m600(arg0, 2, Local0, 0xc179b3fe)
+
+ Store(Mod(arg2, auie), Local0)
+ m600(arg0, 14, Local0, 1)
+
+ if (y078) {
+ Store(Mod(arg2, Derefof(Refof(auic))), Local0)
+ m600(arg0, 4, Local0, 0xc179b3fe)
+
+ Store(Mod(arg2, Derefof(Refof(auie))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Mod(arg2, Derefof(Index(paui, 12))), Local0)
+ m600(arg0, 12, Local0, 0xc179b3fe)
+
+ Store(Mod(arg2, Derefof(Index(paui, 14))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Mod(arg2, m601(1, 12)), Local0)
+ m600(arg0, 8, Local0, 0xc179b3fe)
+
+ Store(Mod(arg2, m601(1, 14)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(arg2, Derefof(m602(1, 12, 1))), Local0)
+ m600(arg0, 10, Local0, 0xc179b3fe)
+
+ Store(Mod(arg2, Derefof(m602(1, 14, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Mod(arg2, 0xc179b3ff, Local0)
+ m600(arg0, 12, Local0, 0xc179b3fe)
+
+ Mod(arg2, 0xc179b3fd, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Mod(arg2, auic, Local0)
+ m600(arg0, 14, Local0, 0xc179b3fe)
+
+ Mod(arg2, auie, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Mod(arg2, Derefof(Refof(auic)), Local0)
+ m600(arg0, 16, Local0, 0xc179b3fe)
+
+ Mod(arg2, Derefof(Refof(auie)), Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Mod(arg2, Derefof(Index(paui, 12)), Local0)
+ m600(arg0, 18, Local0, 0xc179b3fe)
+
+ Mod(arg2, Derefof(Index(paui, 14)), Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Mod(arg2, m601(1, 12), Local0)
+ m600(arg0, 20, Local0, 0xc179b3fe)
+
+ Mod(arg2, m601(1, 14), Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(arg2, Derefof(m602(1, 12, 1)), Local0)
+ m600(arg0, 22, Local0, 0xc179b3fe)
+
+ Mod(arg2, Derefof(m602(1, 14, 1)), Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Mod(0xc179b3ff, arg2), Local0)
+ m600(arg0, 24, Local0, 1)
+
+ Store(Mod(0xc179b3fd, arg2), Local0)
+ m600(arg0, 25, Local0, 0xc179b3fd)
+
+ Store(Mod(auic, arg2), Local0)
+ m600(arg0, 26, Local0, 1)
+
+ Store(Mod(auie, arg2), Local0)
+ m600(arg0, 27, Local0, 0xc179b3fd)
+
+ if (y078) {
+ Store(Mod(Derefof(Refof(auic)), arg2), Local0)
+ m600(arg0, 28, Local0, 1)
+
+ Store(Mod(Derefof(Refof(auie)), arg2), Local0)
+ m600(arg0, 29, Local0, 0xc179b3fd)
+ }
+
+ Store(Mod(Derefof(Index(paui, 12)), arg2), Local0)
+ m600(arg0, 30, Local0, 1)
+
+ Store(Mod(Derefof(Index(paui, 14)), arg2), Local0)
+ m600(arg0, 31, Local0, 0xc179b3fd)
+
+ // Method returns Integer
+
+ Store(Mod(m601(1, 12), arg2), Local0)
+ m600(arg0, 32, Local0, 1)
+
+ Store(Mod(m601(1, 14), arg2), Local0)
+ m600(arg0, 33, Local0, 0xc179b3fd)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(Derefof(m602(1, 12, 1)), arg2), Local0)
+ m600(arg0, 34, Local0, 1)
+
+ Store(Mod(Derefof(m602(1, 14, 1)), arg2), Local0)
+ m600(arg0, 35, Local0, 0xc179b3fd)
+ }
+
+ Mod(0xc179b3ff, arg2, Local0)
+ m600(arg0, 36, Local0, 1)
+
+ Mod(0xc179b3fd, arg2, Local0)
+ m600(arg0, 37, Local0, 0xc179b3fd)
+
+ Mod(auic, arg2, Local0)
+ m600(arg0, 38, Local0, 1)
+
+ Mod(auie, arg2, Local0)
+ m600(arg0, 39, Local0, 0xc179b3fd)
+
+ if (y078) {
+ Mod(Derefof(Refof(auic)), arg2, Local0)
+ m600(arg0, 40, Local0, 1)
+
+ Mod(Derefof(Refof(auie)), arg2, Local0)
+ m600(arg0, 41, Local0, 0xc179b3fd)
+ }
+
+ Mod(Derefof(Index(paui, 12)), arg2, Local0)
+ m600(arg0, 42, Local0, 1)
+
+ Mod(Derefof(Index(paui, 14)), arg2, Local0)
+ m600(arg0, 43, Local0, 0xc179b3fd)
+
+ // Method returns Integer
+
+ Mod(m601(1, 12), arg2, Local0)
+ m600(arg0, 44, Local0, 1)
+
+ Mod(m601(1, 14), arg2, Local0)
+ m600(arg0, 45, Local0, 0xc179b3fd)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(Derefof(m602(1, 12, 1)), arg2, Local0)
+ m600(arg0, 46, Local0, 1)
+
+ Mod(Derefof(m602(1, 14, 1)), arg2, Local0)
+ m600(arg0, 47, Local0, 0xc179b3fd)
+ }
+
+ // Conversion of the both operands
+
+ Store(Mod(arg1, arg2), Local0)
+ m600(arg0, 48, Local0, 0x321)
+
+ Store(Mod(arg2, arg1), Local0)
+ m600(arg0, 49, Local0, 0x267)
+
+ Mod(arg1, arg2, Local0)
+ m600(arg0, 50, Local0, 0x321)
+
+ Mod(arg2, arg1, Local0)
+ m600(arg0, 51, Local0, 0x267)
+ }
+
+ // Multiply, common 32-bit/64-bit test
+ Method(m00d, 2)
+ {
+ // Conversion of the first operand
+
+ Store(Multiply(arg1, 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(Multiply(arg1, 1), Local0)
+ m600(arg0, 1, Local0, 0x321)
+
+ Store(Multiply(arg1, aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(Multiply(arg1, aui6), Local0)
+ m600(arg0, 3, Local0, 0x321)
+
+ if (y078) {
+ Store(Multiply(arg1, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(Multiply(arg1, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x321)
+ }
+
+ Store(Multiply(arg1, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(Multiply(arg1, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x321)
+
+ // Method returns Integer
+
+ Store(Multiply(arg1, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(Multiply(arg1, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(arg1, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(Multiply(arg1, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x321)
+ }
+
+ Multiply(arg1, 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ Multiply(arg1, 1, Local0)
+ m600(arg0, 13, Local0, 0x321)
+
+ Multiply(arg1, aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ Multiply(arg1, aui6, Local0)
+ m600(arg0, 15, Local0, 0x321)
+
+ if (y078) {
+ Multiply(arg1, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ Multiply(arg1, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x321)
+ }
+
+ Multiply(arg1, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ Multiply(arg1, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x321)
+
+ // Method returns Integer
+
+ Multiply(arg1, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ Multiply(arg1, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(arg1, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ Multiply(arg1, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x321)
+ }
+
+ // Conversion of the second operand
+
+ Store(Multiply(0, arg1), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Multiply(1, arg1), Local0)
+ m600(arg0, 25, Local0, 0x321)
+
+ Store(Multiply(aui5, arg1), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Multiply(aui6, arg1), Local0)
+ m600(arg0, 27, Local0, 0x321)
+
+ if (y078) {
+ Store(Multiply(Derefof(Refof(aui5)), arg1), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(aui6)), arg1), Local0)
+ m600(arg0, 29, Local0, 0x321)
+ }
+
+ Store(Multiply(Derefof(Index(paui, 5)), arg1), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Multiply(Derefof(Index(paui, 6)), arg1), Local0)
+ m600(arg0, 31, Local0, 0x321)
+
+ // Method returns Integer
+
+ Store(Multiply(m601(1, 5), arg1), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Multiply(m601(1, 6), arg1), Local0)
+ m600(arg0, 33, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(Derefof(m602(1, 5, 1)), arg1), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Multiply(Derefof(m602(1, 6, 1)), arg1), Local0)
+ m600(arg0, 35, Local0, 0x321)
+ }
+
+ Multiply(0, arg1, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Multiply(1, arg1, Local0)
+ m600(arg0, 37, Local0, 0x321)
+
+ Multiply(aui5, arg1, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Multiply(aui6, arg1, Local0)
+ m600(arg0, 39, Local0, 0x321)
+
+ if (y078) {
+ Multiply(Derefof(Refof(aui5)), arg1, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Multiply(Derefof(Refof(aui6)), arg1, Local0)
+ m600(arg0, 41, Local0, 0x321)
+ }
+
+ Multiply(Derefof(Index(paui, 5)), arg1, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Multiply(Derefof(Index(paui, 6)), arg1, Local0)
+ m600(arg0, 43, Local0, 0x321)
+
+ // Method returns Integer
+
+ Multiply(m601(1, 5), arg1, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Multiply(m601(1, 6), arg1, Local0)
+ m600(arg0, 45, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(Derefof(m602(1, 5, 1)), arg1, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Multiply(Derefof(m602(1, 6, 1)), arg1, Local0)
+ m600(arg0, 47, Local0, 0x321)
+ }
+ }
+
+ // Multiply, 64-bit
+ Method(m00e, 3)
+ {
+ // Conversion of the first operand
+
+ Store(Multiply(arg2, 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(Multiply(arg2, 1), Local0)
+ m600(arg0, 1, Local0, 0xfe7cb391d650a284)
+
+ Store(Multiply(arg2, aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(Multiply(arg2, aui6), Local0)
+ m600(arg0, 3, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Store(Multiply(arg2, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(Multiply(arg2, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xfe7cb391d650a284)
+ }
+
+ Store(Multiply(arg2, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(Multiply(arg2, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Store(Multiply(arg2, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(Multiply(arg2, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(arg2, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(Multiply(arg2, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfe7cb391d650a284)
+ }
+
+ Multiply(arg2, 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ Multiply(arg2, 1, Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a284)
+
+ Multiply(arg2, aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ Multiply(arg2, aui6, Local0)
+ m600(arg0, 15, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Multiply(arg2, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ Multiply(arg2, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xfe7cb391d650a284)
+ }
+
+ Multiply(arg2, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ Multiply(arg2, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Multiply(arg2, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ Multiply(arg2, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(arg2, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ Multiply(arg2, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfe7cb391d650a284)
+ }
+
+ // Conversion of the second operand
+
+ Store(Multiply(0, arg2), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Multiply(1, arg2), Local0)
+ m600(arg0, 25, Local0, 0xfe7cb391d650a284)
+
+ Store(Multiply(aui5, arg2), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Multiply(aui6, arg2), Local0)
+ m600(arg0, 27, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Store(Multiply(Derefof(Refof(aui5)), arg2), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(aui6)), arg2), Local0)
+ m600(arg0, 29, Local0, 0xfe7cb391d650a284)
+ }
+
+ Store(Multiply(Derefof(Index(paui, 5)), arg2), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Multiply(Derefof(Index(paui, 6)), arg2), Local0)
+ m600(arg0, 31, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Store(Multiply(m601(1, 5), arg2), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Multiply(m601(1, 6), arg2), Local0)
+ m600(arg0, 33, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(Derefof(m602(1, 5, 1)), arg2), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Multiply(Derefof(m602(1, 6, 1)), arg2), Local0)
+ m600(arg0, 35, Local0, 0xfe7cb391d650a284)
+ }
+
+ Multiply(0, arg2, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Multiply(1, arg2, Local0)
+ m600(arg0, 37, Local0, 0xfe7cb391d650a284)
+
+ Multiply(aui5, arg2, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Multiply(aui6, arg2, Local0)
+ m600(arg0, 39, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Multiply(Derefof(Refof(aui5)), arg2, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Multiply(Derefof(Refof(aui6)), arg2, Local0)
+ m600(arg0, 41, Local0, 0xfe7cb391d650a284)
+ }
+
+ Multiply(Derefof(Index(paui, 5)), arg2, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Multiply(Derefof(Index(paui, 6)), arg2, Local0)
+ m600(arg0, 43, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Multiply(m601(1, 5), arg2, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Multiply(m601(1, 6), arg2, Local0)
+ m600(arg0, 45, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(Derefof(m602(1, 5, 1)), arg2, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Multiply(Derefof(m602(1, 6, 1)), arg2, Local0)
+ m600(arg0, 47, Local0, 0xfe7cb391d650a284)
+ }
+
+ // Conversion of the both operands
+
+ Store(Multiply(arg1, arg2), Local0)
+ m600(arg0, 48, Local0, 0x442ddb4f924c7f04)
+
+ Store(Multiply(arg2, arg1), Local0)
+ m600(arg0, 49, Local0, 0x442ddb4f924c7f04)
+
+ Multiply(arg1, arg2, Local0)
+ m600(arg0, 50, Local0, 0x442ddb4f924c7f04)
+
+ Multiply(arg2, arg1, Local0)
+ m600(arg0, 51, Local0, 0x442ddb4f924c7f04)
+ }
+
+ // Multiply, 32-bit
+ Method(m00f, 3)
+ {
+ // Conversion of the first operand
+
+ Store(Multiply(arg2, 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(Multiply(arg2, 1), Local0)
+ m600(arg0, 1, Local0, 0xc179b3fe)
+
+ Store(Multiply(arg2, aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(Multiply(arg2, aui6), Local0)
+ m600(arg0, 3, Local0, 0xc179b3fe)
+
+ if (y078) {
+ Store(Multiply(arg2, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(Multiply(arg2, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xc179b3fe)
+ }
+
+ Store(Multiply(arg2, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(Multiply(arg2, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xc179b3fe)
+
+ // Method returns Integer
+
+ Store(Multiply(arg2, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(Multiply(arg2, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xc179b3fe)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(arg2, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(Multiply(arg2, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xc179b3fe)
+ }
+
+ Multiply(arg2, 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ Multiply(arg2, 1, Local0)
+ m600(arg0, 13, Local0, 0xc179b3fe)
+
+ Multiply(arg2, aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ Multiply(arg2, aui6, Local0)
+ m600(arg0, 15, Local0, 0xc179b3fe)
+
+ if (y078) {
+ Multiply(arg2, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ Multiply(arg2, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xc179b3fe)
+ }
+
+ Multiply(arg2, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ Multiply(arg2, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xc179b3fe)
+
+ // Method returns Integer
+
+ Multiply(arg2, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ Multiply(arg2, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xc179b3fe)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(arg2, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ Multiply(arg2, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xc179b3fe)
+ }
+
+ // Conversion of the second operand
+
+ Store(Multiply(0, arg2), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Multiply(1, arg2), Local0)
+ m600(arg0, 25, Local0, 0xc179b3fe)
+
+ Store(Multiply(aui5, arg2), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Multiply(aui6, arg2), Local0)
+ m600(arg0, 27, Local0, 0xc179b3fe)
+
+ if (y078) {
+ Store(Multiply(Derefof(Refof(aui5)), arg2), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(aui6)), arg2), Local0)
+ m600(arg0, 29, Local0, 0xc179b3fe)
+ }
+
+ Store(Multiply(Derefof(Index(paui, 5)), arg2), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Multiply(Derefof(Index(paui, 6)), arg2), Local0)
+ m600(arg0, 31, Local0, 0xc179b3fe)
+
+ // Method returns Integer
+
+ Store(Multiply(m601(1, 5), arg2), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Multiply(m601(1, 6), arg2), Local0)
+ m600(arg0, 33, Local0, 0xc179b3fe)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(Derefof(m602(1, 5, 1)), arg2), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Multiply(Derefof(m602(1, 6, 1)), arg2), Local0)
+ m600(arg0, 35, Local0, 0xc179b3fe)
+ }
+
+ Multiply(0, arg2, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Multiply(1, arg2, Local0)
+ m600(arg0, 37, Local0, 0xc179b3fe)
+
+ Multiply(aui5, arg2, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Multiply(aui6, arg2, Local0)
+ m600(arg0, 39, Local0, 0xc179b3fe)
+
+ if (y078) {
+ Multiply(Derefof(Refof(aui5)), arg2, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Multiply(Derefof(Refof(aui6)), arg2, Local0)
+ m600(arg0, 41, Local0, 0xc179b3fe)
+ }
+
+ Multiply(Derefof(Index(paui, 5)), arg2, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Multiply(Derefof(Index(paui, 6)), arg2, Local0)
+ m600(arg0, 43, Local0, 0xc179b3fe)
+
+ // Method returns Integer
+
+ Multiply(m601(1, 5), arg2, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Multiply(m601(1, 6), arg2, Local0)
+ m600(arg0, 45, Local0, 0xc179b3fe)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(Derefof(m602(1, 5, 1)), arg2, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Multiply(Derefof(m602(1, 6, 1)), arg2, Local0)
+ m600(arg0, 47, Local0, 0xc179b3fe)
+ }
+
+ // Conversion of the both operands
+
+ Store(Multiply(arg1, arg2), Local0)
+ m600(arg0, 48, Local0, 0x5dcc2dbe)
+
+ Store(Multiply(arg2, arg1), Local0)
+ m600(arg0, 49, Local0, 0x5dcc2dbe)
+
+ Multiply(arg1, arg2, Local0)
+ m600(arg0, 50, Local0, 0x5dcc2dbe)
+
+ Multiply(arg2, arg1, Local0)
+ m600(arg0, 51, Local0, 0x5dcc2dbe)
+ }
+
+ // NAnd, common 32-bit/64-bit test
+ Method(m010, 2)
+ {
+ // Conversion of the first operand
+
+ Store(NAnd(arg1, 0), Local0)
+ m600(arg0, 0, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(arg1, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xfffffffffffffcde)
+
+ Store(NAnd(arg1, aui5), Local0)
+ m600(arg0, 2, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(arg1, auij), Local0)
+ m600(arg0, 3, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ Store(NAnd(arg1, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(arg1, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xfffffffffffffcde)
+ }
+
+ Store(NAnd(arg1, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(arg1, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ Store(NAnd(arg1, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(arg1, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(arg1, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(arg1, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfffffffffffffcde)
+ }
+
+ NAnd(arg1, 0, Local0)
+ m600(arg0, 12, Local0, 0xffffffffffffffff)
+
+ NAnd(arg1, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xfffffffffffffcde)
+
+ NAnd(arg1, aui5, Local0)
+ m600(arg0, 14, Local0, 0xffffffffffffffff)
+
+ NAnd(arg1, auij, Local0)
+ m600(arg0, 15, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ NAnd(arg1, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xffffffffffffffff)
+
+ NAnd(arg1, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xfffffffffffffcde)
+ }
+
+ NAnd(arg1, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xffffffffffffffff)
+
+ NAnd(arg1, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ NAnd(arg1, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xffffffffffffffff)
+
+ NAnd(arg1, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(arg1, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xffffffffffffffff)
+
+ NAnd(arg1, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfffffffffffffcde)
+ }
+
+ // Conversion of the second operand
+
+ Store(NAnd(0, arg1), Local0)
+ m600(arg0, 24, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(0xffffffffffffffff, arg1), Local0)
+ m600(arg0, 25, Local0, 0xfffffffffffffcde)
+
+ Store(NAnd(aui5, arg1), Local0)
+ m600(arg0, 26, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(auij, arg1), Local0)
+ m600(arg0, 27, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ Store(NAnd(Derefof(Refof(aui5)), arg1), Local0)
+ m600(arg0, 28, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Refof(auij)), arg1), Local0)
+ m600(arg0, 29, Local0, 0xfffffffffffffcde)
+ }
+
+ Store(NAnd(Derefof(Index(paui, 5)), arg1), Local0)
+ m600(arg0, 30, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Index(paui, 19)), arg1), Local0)
+ m600(arg0, 31, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ Store(NAnd(m601(1, 5), arg1), Local0)
+ m600(arg0, 32, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(m601(1, 19), arg1), Local0)
+ m600(arg0, 33, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(Derefof(m602(1, 5, 1)), arg1), Local0)
+ m600(arg0, 34, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(m602(1, 19, 1)), arg1), Local0)
+ m600(arg0, 35, Local0, 0xfffffffffffffcde)
+ }
+
+ NAnd(0, arg1, Local0)
+ m600(arg0, 36, Local0, 0xffffffffffffffff)
+
+ NAnd(0xffffffffffffffff, arg1, Local0)
+ m600(arg0, 37, Local0, 0xfffffffffffffcde)
+
+ NAnd(aui5, arg1, Local0)
+ m600(arg0, 38, Local0, 0xffffffffffffffff)
+
+ NAnd(auij, arg1, Local0)
+ m600(arg0, 39, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ NAnd(Derefof(Refof(aui5)), arg1, Local0)
+ m600(arg0, 40, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Refof(auij)), arg1, Local0)
+ m600(arg0, 41, Local0, 0xfffffffffffffcde)
+ }
+
+ NAnd(Derefof(Index(paui, 5)), arg1, Local0)
+ m600(arg0, 42, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Index(paui, 19)), arg1, Local0)
+ m600(arg0, 43, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ NAnd(m601(1, 5), arg1, Local0)
+ m600(arg0, 44, Local0, 0xffffffffffffffff)
+
+ NAnd(m601(1, 19), arg1, Local0)
+ m600(arg0, 45, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(Derefof(m602(1, 5, 1)), arg1, Local0)
+ m600(arg0, 46, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(m602(1, 19, 1)), arg1, Local0)
+ m600(arg0, 47, Local0, 0xfffffffffffffcde)
+ }
+ }
+
+ // NAnd, 64-bit
+ Method(m011, 3)
+ {
+ // Conversion of the first operand
+
+ Store(NAnd(arg2, 0), Local0)
+ m600(arg0, 0, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(arg2, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0x01834c6e29af5d7b)
+
+ Store(NAnd(arg2, aui5), Local0)
+ m600(arg0, 2, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(arg2, auij), Local0)
+ m600(arg0, 3, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ Store(NAnd(arg2, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(arg2, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Store(NAnd(arg2, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(arg2, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ Store(NAnd(arg2, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(arg2, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(arg2, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(arg2, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0x01834c6e29af5d7b)
+ }
+
+ NAnd(arg2, 0, Local0)
+ m600(arg0, 12, Local0, 0xffffffffffffffff)
+
+ NAnd(arg2, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0x01834c6e29af5d7b)
+
+ NAnd(arg2, aui5, Local0)
+ m600(arg0, 14, Local0, 0xffffffffffffffff)
+
+ NAnd(arg2, auij, Local0)
+ m600(arg0, 15, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ NAnd(arg2, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xffffffffffffffff)
+
+ NAnd(arg2, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0x01834c6e29af5d7b)
+ }
+
+ NAnd(arg2, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xffffffffffffffff)
+
+ NAnd(arg2, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ NAnd(arg2, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xffffffffffffffff)
+
+ NAnd(arg2, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(arg2, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xffffffffffffffff)
+
+ NAnd(arg2, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0x01834c6e29af5d7b)
+ }
+
+ // Conversion of the second operand
+
+ Store(NAnd(0, arg2), Local0)
+ m600(arg0, 24, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(0xffffffffffffffff, arg2), Local0)
+ m600(arg0, 25, Local0, 0x01834c6e29af5d7b)
+
+ Store(NAnd(aui5, arg2), Local0)
+ m600(arg0, 26, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(auij, arg2), Local0)
+ m600(arg0, 27, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ Store(NAnd(Derefof(Refof(aui5)), arg2), Local0)
+ m600(arg0, 28, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Refof(auij)), arg2), Local0)
+ m600(arg0, 29, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Store(NAnd(Derefof(Index(paui, 5)), arg2), Local0)
+ m600(arg0, 30, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Index(paui, 19)), arg2), Local0)
+ m600(arg0, 31, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ Store(NAnd(m601(1, 5), arg2), Local0)
+ m600(arg0, 32, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(m601(1, 19), arg2), Local0)
+ m600(arg0, 33, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(Derefof(m602(1, 5, 1)), arg2), Local0)
+ m600(arg0, 34, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(m602(1, 19, 1)), arg2), Local0)
+ m600(arg0, 35, Local0, 0x01834c6e29af5d7b)
+ }
+
+ NAnd(0, arg2, Local0)
+ m600(arg0, 36, Local0, 0xffffffffffffffff)
+
+ NAnd(0xffffffffffffffff, arg2, Local0)
+ m600(arg0, 37, Local0, 0x01834c6e29af5d7b)
+
+ NAnd(aui5, arg2, Local0)
+ m600(arg0, 38, Local0, 0xffffffffffffffff)
+
+ NAnd(auij, arg2, Local0)
+ m600(arg0, 39, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ NAnd(Derefof(Refof(aui5)), arg2, Local0)
+ m600(arg0, 40, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Refof(auij)), arg2, Local0)
+ m600(arg0, 41, Local0, 0x01834c6e29af5d7b)
+ }
+
+ NAnd(Derefof(Index(paui, 5)), arg2, Local0)
+ m600(arg0, 42, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Index(paui, 19)), arg2, Local0)
+ m600(arg0, 43, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ NAnd(m601(1, 5), arg2, Local0)
+ m600(arg0, 44, Local0, 0xffffffffffffffff)
+
+ NAnd(m601(1, 19), arg2, Local0)
+ m600(arg0, 45, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(Derefof(m602(1, 5, 1)), arg2, Local0)
+ m600(arg0, 46, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(m602(1, 19, 1)), arg2, Local0)
+ m600(arg0, 47, Local0, 0x01834c6e29af5d7b)
+ }
+
+ // Conversion of the both operands
+
+ Store(NAnd(arg1, arg2), Local0)
+ m600(arg0, 48, Local0, 0xfffffffffffffdff)
+
+ Store(NAnd(arg2, arg1), Local0)
+ m600(arg0, 49, Local0, 0xfffffffffffffdff)
+
+ NAnd(arg1, arg2, Local0)
+ m600(arg0, 50, Local0, 0xfffffffffffffdff)
+
+ NAnd(arg2, arg1, Local0)
+ m600(arg0, 51, Local0, 0xfffffffffffffdff)
+ }
+
+ // NAnd, 32-bit
+ Method(m012, 3)
+ {
+ // Conversion of the first operand
+
+ Store(NAnd(arg2, 0), Local0)
+ m600(arg0, 0, Local0, 0xffffffff)
+
+ Store(NAnd(arg2, 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0x3e864c01)
+
+ Store(NAnd(arg2, aui5), Local0)
+ m600(arg0, 2, Local0, 0xffffffff)
+
+ Store(NAnd(arg2, auii), Local0)
+ m600(arg0, 3, Local0, 0x3e864c01)
+
+ if (y078) {
+ Store(NAnd(arg2, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xffffffff)
+
+ Store(NAnd(arg2, Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0x3e864c01)
+ }
+
+ Store(NAnd(arg2, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xffffffff)
+
+ Store(NAnd(arg2, Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0x3e864c01)
+
+ // Method returns Integer
+
+ Store(NAnd(arg2, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xffffffff)
+
+ Store(NAnd(arg2, m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0x3e864c01)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(arg2, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xffffffff)
+
+ Store(NAnd(arg2, Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0x3e864c01)
+ }
+
+ NAnd(arg2, 0, Local0)
+ m600(arg0, 12, Local0, 0xffffffff)
+
+ NAnd(arg2, 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0x3e864c01)
+
+ NAnd(arg2, aui5, Local0)
+ m600(arg0, 14, Local0, 0xffffffff)
+
+ NAnd(arg2, auii, Local0)
+ m600(arg0, 15, Local0, 0x3e864c01)
+
+ if (y078) {
+ NAnd(arg2, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xffffffff)
+
+ NAnd(arg2, Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0x3e864c01)
+ }
+
+ NAnd(arg2, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xffffffff)
+
+ NAnd(arg2, Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0x3e864c01)
+
+ // Method returns Integer
+
+ NAnd(arg2, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xffffffff)
+
+ NAnd(arg2, m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0x3e864c01)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(arg2, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xffffffff)
+
+ NAnd(arg2, Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0x3e864c01)
+ }
+
+ // Conversion of the second operand
+
+ Store(NAnd(0, arg2), Local0)
+ m600(arg0, 24, Local0, 0xffffffff)
+
+ Store(NAnd(0xffffffff, arg2), Local0)
+ m600(arg0, 25, Local0, 0x3e864c01)
+
+ Store(NAnd(aui5, arg2), Local0)
+ m600(arg0, 26, Local0, 0xffffffff)
+
+ Store(NAnd(auii, arg2), Local0)
+ m600(arg0, 27, Local0, 0x3e864c01)
+
+ if (y078) {
+ Store(NAnd(Derefof(Refof(aui5)), arg2), Local0)
+ m600(arg0, 28, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(Refof(auii)), arg2), Local0)
+ m600(arg0, 29, Local0, 0x3e864c01)
+ }
+
+ Store(NAnd(Derefof(Index(paui, 5)), arg2), Local0)
+ m600(arg0, 30, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(Index(paui, 18)), arg2), Local0)
+ m600(arg0, 31, Local0, 0x3e864c01)
+
+ // Method returns Integer
+
+ Store(NAnd(m601(1, 5), arg2), Local0)
+ m600(arg0, 32, Local0, 0xffffffff)
+
+ Store(NAnd(m601(1, 18), arg2), Local0)
+ m600(arg0, 33, Local0, 0x3e864c01)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(Derefof(m602(1, 5, 1)), arg2), Local0)
+ m600(arg0, 34, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(m602(1, 18, 1)), arg2), Local0)
+ m600(arg0, 35, Local0, 0x3e864c01)
+ }
+
+ NAnd(0, arg2, Local0)
+ m600(arg0, 36, Local0, 0xffffffff)
+
+ NAnd(0xffffffff, arg2, Local0)
+ m600(arg0, 37, Local0, 0x3e864c01)
+
+ NAnd(aui5, arg2, Local0)
+ m600(arg0, 38, Local0, 0xffffffff)
+
+ NAnd(auii, arg2, Local0)
+ m600(arg0, 39, Local0, 0x3e864c01)
+
+ if (y078) {
+ NAnd(Derefof(Refof(aui5)), arg2, Local0)
+ m600(arg0, 40, Local0, 0xffffffff)
+
+ NAnd(Derefof(Refof(auii)), arg2, Local0)
+ m600(arg0, 41, Local0, 0x3e864c01)
+ }
+
+ NAnd(Derefof(Index(paui, 5)), arg2, Local0)
+ m600(arg0, 42, Local0, 0xffffffff)
+
+ NAnd(Derefof(Index(paui, 18)), arg2, Local0)
+ m600(arg0, 43, Local0, 0x3e864c01)
+
+ // Method returns Integer
+
+ NAnd(m601(1, 5), arg2, Local0)
+ m600(arg0, 44, Local0, 0xffffffff)
+
+ NAnd(m601(1, 18), arg2, Local0)
+ m600(arg0, 45, Local0, 0x3e864c01)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(Derefof(m602(1, 5, 1)), arg2, Local0)
+ m600(arg0, 46, Local0, 0xffffffff)
+
+ NAnd(Derefof(m602(1, 18, 1)), arg2, Local0)
+ m600(arg0, 47, Local0, 0x3e864c01)
+ }
+
+ // Conversion of the both operands
+
+ Store(NAnd(arg1, arg2), Local0)
+ m600(arg0, 48, Local0, 0xfffffcdf)
+
+ Store(NAnd(arg2, arg1), Local0)
+ m600(arg0, 49, Local0, 0xfffffcdf)
+
+ NAnd(arg1, arg2, Local0)
+ m600(arg0, 50, Local0, 0xfffffcdf)
+
+ NAnd(arg2, arg1, Local0)
+ m600(arg0, 51, Local0, 0xfffffcdf)
+ }
+
+ // NOr, common 32-bit/64-bit test
+ Method(m013, 2)
+ {
+ // Conversion of the first operand
+
+ Store(NOr(arg1, 0), Local0)
+ m600(arg0, 0, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(arg1, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0)
+
+ Store(NOr(arg1, aui5), Local0)
+ m600(arg0, 2, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(arg1, auij), Local0)
+ m600(arg0, 3, Local0, 0)
+
+ if (y078) {
+ Store(NOr(arg1, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(arg1, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0)
+ }
+
+ Store(NOr(arg1, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(arg1, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(arg1, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(arg1, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(arg1, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(arg1, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0)
+ }
+
+ NOr(arg1, 0, Local0)
+ m600(arg0, 12, Local0, 0xfffffffffffffcde)
+
+ NOr(arg1, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0)
+
+ NOr(arg1, aui5, Local0)
+ m600(arg0, 14, Local0, 0xfffffffffffffcde)
+
+ NOr(arg1, auij, Local0)
+ m600(arg0, 15, Local0, 0)
+
+ if (y078) {
+ NOr(arg1, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfffffffffffffcde)
+
+ NOr(arg1, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0)
+ }
+
+ NOr(arg1, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfffffffffffffcde)
+
+ NOr(arg1, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(arg1, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfffffffffffffcde)
+
+ NOr(arg1, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(arg1, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfffffffffffffcde)
+
+ NOr(arg1, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0)
+ }
+
+ // Conversion of the second operand
+
+ Store(NOr(0, arg1), Local0)
+ m600(arg0, 24, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(0xffffffffffffffff, arg1), Local0)
+ m600(arg0, 25, Local0, 0)
+
+ Store(NOr(aui5, arg1), Local0)
+ m600(arg0, 26, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(auij, arg1), Local0)
+ m600(arg0, 27, Local0, 0)
+
+ if (y078) {
+ Store(NOr(Derefof(Refof(aui5)), arg1), Local0)
+ m600(arg0, 28, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(Refof(auij)), arg1), Local0)
+ m600(arg0, 29, Local0, 0)
+ }
+
+ Store(NOr(Derefof(Index(paui, 5)), arg1), Local0)
+ m600(arg0, 30, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(Index(paui, 19)), arg1), Local0)
+ m600(arg0, 31, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(m601(1, 5), arg1), Local0)
+ m600(arg0, 32, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(m601(1, 19), arg1), Local0)
+ m600(arg0, 33, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(Derefof(m602(1, 5, 1)), arg1), Local0)
+ m600(arg0, 34, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(m602(1, 19, 1)), arg1), Local0)
+ m600(arg0, 35, Local0, 0)
+ }
+
+ NOr(0, arg1, Local0)
+ m600(arg0, 36, Local0, 0xfffffffffffffcde)
+
+ NOr(0xffffffffffffffff, arg1, Local0)
+ m600(arg0, 37, Local0, 0)
+
+ NOr(aui5, arg1, Local0)
+ m600(arg0, 38, Local0, 0xfffffffffffffcde)
+
+ NOr(auij, arg1, Local0)
+ m600(arg0, 39, Local0, 0)
+
+ if (y078) {
+ NOr(Derefof(Refof(aui5)), arg1, Local0)
+ m600(arg0, 40, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(Refof(auij)), arg1, Local0)
+ m600(arg0, 41, Local0, 0)
+ }
+
+ NOr(Derefof(Index(paui, 5)), arg1, Local0)
+ m600(arg0, 42, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(Index(paui, 19)), arg1, Local0)
+ m600(arg0, 43, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(m601(1, 5), arg1, Local0)
+ m600(arg0, 44, Local0, 0xfffffffffffffcde)
+
+ NOr(m601(1, 19), arg1, Local0)
+ m600(arg0, 45, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(Derefof(m602(1, 5, 1)), arg1, Local0)
+ m600(arg0, 46, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(m602(1, 19, 1)), arg1, Local0)
+ m600(arg0, 47, Local0, 0)
+ }
+ }
+
+ // NOr, 64-bit
+ Method(m014, 3)
+ {
+ // Conversion of the first operand
+
+ Store(NOr(arg2, 0), Local0)
+ m600(arg0, 0, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(arg2, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0)
+
+ Store(NOr(arg2, aui5), Local0)
+ m600(arg0, 2, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(arg2, auij), Local0)
+ m600(arg0, 3, Local0, 0)
+
+ if (y078) {
+ Store(NOr(arg2, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(arg2, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0)
+ }
+
+ Store(NOr(arg2, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(arg2, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(arg2, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(arg2, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(arg2, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(arg2, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0)
+ }
+
+ NOr(arg2, 0, Local0)
+ m600(arg0, 12, Local0, 0x01834c6e29af5d7b)
+
+ NOr(arg2, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0)
+
+ NOr(arg2, aui5, Local0)
+ m600(arg0, 14, Local0, 0x01834c6e29af5d7b)
+
+ NOr(arg2, auij, Local0)
+ m600(arg0, 15, Local0, 0)
+
+ if (y078) {
+ NOr(arg2, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x01834c6e29af5d7b)
+
+ NOr(arg2, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0)
+ }
+
+ NOr(arg2, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x01834c6e29af5d7b)
+
+ NOr(arg2, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(arg2, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x01834c6e29af5d7b)
+
+ NOr(arg2, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(arg2, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x01834c6e29af5d7b)
+
+ NOr(arg2, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0)
+ }
+
+ // Conversion of the second operand
+
+ Store(NOr(0, arg2), Local0)
+ m600(arg0, 24, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(0xffffffffffffffff, arg2), Local0)
+ m600(arg0, 25, Local0, 0)
+
+ Store(NOr(aui5, arg2), Local0)
+ m600(arg0, 26, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(auij, arg2), Local0)
+ m600(arg0, 27, Local0, 0)
+
+ if (y078) {
+ Store(NOr(Derefof(Refof(aui5)), arg2), Local0)
+ m600(arg0, 28, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(Refof(auij)), arg2), Local0)
+ m600(arg0, 29, Local0, 0)
+ }
+
+ Store(NOr(Derefof(Index(paui, 5)), arg2), Local0)
+ m600(arg0, 30, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(Index(paui, 19)), arg2), Local0)
+ m600(arg0, 31, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(m601(1, 5), arg2), Local0)
+ m600(arg0, 32, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(m601(1, 19), arg2), Local0)
+ m600(arg0, 33, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(Derefof(m602(1, 5, 1)), arg2), Local0)
+ m600(arg0, 34, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(m602(1, 19, 1)), arg2), Local0)
+ m600(arg0, 35, Local0, 0)
+ }
+
+ NOr(0, arg2, Local0)
+ m600(arg0, 36, Local0, 0x01834c6e29af5d7b)
+
+ NOr(0xffffffffffffffff, arg2, Local0)
+ m600(arg0, 37, Local0, 0)
+
+ NOr(aui5, arg2, Local0)
+ m600(arg0, 38, Local0, 0x01834c6e29af5d7b)
+
+ NOr(auij, arg2, Local0)
+ m600(arg0, 39, Local0, 0)
+
+ if (y078) {
+ NOr(Derefof(Refof(aui5)), arg2, Local0)
+ m600(arg0, 40, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(Refof(auij)), arg2, Local0)
+ m600(arg0, 41, Local0, 0)
+ }
+
+ NOr(Derefof(Index(paui, 5)), arg2, Local0)
+ m600(arg0, 42, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(Index(paui, 19)), arg2, Local0)
+ m600(arg0, 43, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(m601(1, 5), arg2, Local0)
+ m600(arg0, 44, Local0, 0x01834c6e29af5d7b)
+
+ NOr(m601(1, 19), arg2, Local0)
+ m600(arg0, 45, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(Derefof(m602(1, 5, 1)), arg2, Local0)
+ m600(arg0, 46, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(m602(1, 19, 1)), arg2, Local0)
+ m600(arg0, 47, Local0, 0)
+ }
+
+ // Conversion of the both operands
+
+ Store(NOr(arg1, arg2), Local0)
+ m600(arg0, 48, Local0, 0x01834c6e29af5c5a)
+
+ Store(NOr(arg2, arg1), Local0)
+ m600(arg0, 49, Local0, 0x01834c6e29af5c5a)
+
+ NOr(arg1, arg2, Local0)
+ m600(arg0, 50, Local0, 0x01834c6e29af5c5a)
+
+ NOr(arg2, arg1, Local0)
+ m600(arg0, 51, Local0, 0x01834c6e29af5c5a)
+ }
+
+ // NOr, 32-bit
+ Method(m015, 3)
+ {
+ // Conversion of the first operand
+
+ Store(NOr(arg2, 0), Local0)
+ m600(arg0, 0, Local0, 0x3e864c01)
+
+ Store(NOr(arg2, 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0)
+
+ Store(NOr(arg2, aui5), Local0)
+ m600(arg0, 2, Local0, 0x3e864c01)
+
+ Store(NOr(arg2, auii), Local0)
+ m600(arg0, 3, Local0, 0)
+
+ if (y078) {
+ Store(NOr(arg2, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x3e864c01)
+
+ Store(NOr(arg2, Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0)
+ }
+
+ Store(NOr(arg2, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x3e864c01)
+
+ Store(NOr(arg2, Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(arg2, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x3e864c01)
+
+ Store(NOr(arg2, m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(arg2, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x3e864c01)
+
+ Store(NOr(arg2, Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0)
+ }
+
+ NOr(arg2, 0, Local0)
+ m600(arg0, 12, Local0, 0x3e864c01)
+
+ NOr(arg2, 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0)
+
+ NOr(arg2, aui5, Local0)
+ m600(arg0, 14, Local0, 0x3e864c01)
+
+ NOr(arg2, auii, Local0)
+ m600(arg0, 15, Local0, 0)
+
+ if (y078) {
+ NOr(arg2, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x3e864c01)
+
+ NOr(arg2, Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0)
+ }
+
+ NOr(arg2, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x3e864c01)
+
+ NOr(arg2, Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(arg2, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x3e864c01)
+
+ NOr(arg2, m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(arg2, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x3e864c01)
+
+ NOr(arg2, Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0)
+ }
+
+ // Conversion of the second operand
+
+ Store(NOr(0, arg2), Local0)
+ m600(arg0, 24, Local0, 0x3e864c01)
+
+ Store(NOr(0xffffffff, arg2), Local0)
+ m600(arg0, 25, Local0, 0)
+
+ Store(NOr(aui5, arg2), Local0)
+ m600(arg0, 26, Local0, 0x3e864c01)
+
+ Store(NOr(auii, arg2), Local0)
+ m600(arg0, 27, Local0, 0)
+
+ if (y078) {
+ Store(NOr(Derefof(Refof(aui5)), arg2), Local0)
+ m600(arg0, 28, Local0, 0x3e864c01)
+
+ Store(NOr(Derefof(Refof(auii)), arg2), Local0)
+ m600(arg0, 29, Local0, 0)
+ }
+
+ Store(NOr(Derefof(Index(paui, 5)), arg2), Local0)
+ m600(arg0, 30, Local0, 0x3e864c01)
+
+ Store(NOr(Derefof(Index(paui, 18)), arg2), Local0)
+ m600(arg0, 31, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(m601(1, 5), arg2), Local0)
+ m600(arg0, 32, Local0, 0x3e864c01)
+
+ Store(NOr(m601(1, 18), arg2), Local0)
+ m600(arg0, 33, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(Derefof(m602(1, 5, 1)), arg2), Local0)
+ m600(arg0, 34, Local0, 0x3e864c01)
+
+ Store(NOr(Derefof(m602(1, 18, 1)), arg2), Local0)
+ m600(arg0, 35, Local0, 0)
+ }
+
+ NOr(0, arg2, Local0)
+ m600(arg0, 36, Local0, 0x3e864c01)
+
+ NOr(0xffffffff, arg2, Local0)
+ m600(arg0, 37, Local0, 0)
+
+ NOr(aui5, arg2, Local0)
+ m600(arg0, 38, Local0, 0x3e864c01)
+
+ NOr(auii, arg2, Local0)
+ m600(arg0, 39, Local0, 0)
+
+ if (y078) {
+ NOr(Derefof(Refof(aui5)), arg2, Local0)
+ m600(arg0, 40, Local0, 0x3e864c01)
+
+ NOr(Derefof(Refof(auii)), arg2, Local0)
+ m600(arg0, 41, Local0, 0)
+ }
+
+ NOr(Derefof(Index(paui, 5)), arg2, Local0)
+ m600(arg0, 42, Local0, 0x3e864c01)
+
+ NOr(Derefof(Index(paui, 18)), arg2, Local0)
+ m600(arg0, 43, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(m601(1, 5), arg2, Local0)
+ m600(arg0, 44, Local0, 0x3e864c01)
+
+ NOr(m601(1, 18), arg2, Local0)
+ m600(arg0, 45, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(Derefof(m602(1, 5, 1)), arg2, Local0)
+ m600(arg0, 46, Local0, 0x3e864c01)
+
+ NOr(Derefof(m602(1, 18, 1)), arg2, Local0)
+ m600(arg0, 47, Local0, 0)
+ }
+
+ // Conversion of the both operands
+
+ Store(NOr(arg1, arg2), Local0)
+ m600(arg0, 48, Local0, 0x3e864c00)
+
+ Store(NOr(arg2, arg1), Local0)
+ m600(arg0, 49, Local0, 0x3e864c00)
+
+ NOr(arg1, arg2, Local0)
+ m600(arg0, 50, Local0, 0x3e864c00)
+
+ NOr(arg2, arg1, Local0)
+ m600(arg0, 51, Local0, 0x3e864c00)
+ }
+
+ // Or, common 32-bit/64-bit test
+ Method(m016, 2)
+ {
+ // Conversion of the first operand
+
+ Store(Or(arg1, 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Or(arg1, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xffffffffffffffff)
+
+ Store(Or(arg1, aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Or(arg1, auij), Local0)
+ m600(arg0, 3, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Store(Or(arg1, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Or(arg1, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xffffffffffffffff)
+ }
+
+ Store(Or(arg1, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Or(arg1, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Store(Or(arg1, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Or(arg1, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(arg1, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Or(arg1, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xffffffffffffffff)
+ }
+
+ Or(arg1, 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Or(arg1, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xffffffffffffffff)
+
+ Or(arg1, aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Or(arg1, auij, Local0)
+ m600(arg0, 15, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Or(arg1, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Or(arg1, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xffffffffffffffff)
+ }
+
+ Or(arg1, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Or(arg1, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Or(arg1, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Or(arg1, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(arg1, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Or(arg1, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xffffffffffffffff)
+ }
+
+ // Conversion of the second operand
+
+ Store(Or(0, arg1), Local0)
+ m600(arg0, 24, Local0, 0x321)
+
+ Store(Or(0xffffffffffffffff, arg1), Local0)
+ m600(arg0, 25, Local0, 0xffffffffffffffff)
+
+ Store(Or(aui5, arg1), Local0)
+ m600(arg0, 26, Local0, 0x321)
+
+ Store(Or(auij, arg1), Local0)
+ m600(arg0, 27, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Store(Or(Derefof(Refof(aui5)), arg1), Local0)
+ m600(arg0, 28, Local0, 0x321)
+
+ Store(Or(Derefof(Refof(auij)), arg1), Local0)
+ m600(arg0, 29, Local0, 0xffffffffffffffff)
+ }
+
+ Store(Or(Derefof(Index(paui, 5)), arg1), Local0)
+ m600(arg0, 30, Local0, 0x321)
+
+ Store(Or(Derefof(Index(paui, 19)), arg1), Local0)
+ m600(arg0, 31, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Store(Or(m601(1, 5), arg1), Local0)
+ m600(arg0, 32, Local0, 0x321)
+
+ Store(Or(m601(1, 19), arg1), Local0)
+ m600(arg0, 33, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(Derefof(m602(1, 5, 1)), arg1), Local0)
+ m600(arg0, 34, Local0, 0x321)
+
+ Store(Or(Derefof(m602(1, 19, 1)), arg1), Local0)
+ m600(arg0, 35, Local0, 0xffffffffffffffff)
+ }
+
+ Or(0, arg1, Local0)
+ m600(arg0, 36, Local0, 0x321)
+
+ Or(0xffffffffffffffff, arg1, Local0)
+ m600(arg0, 37, Local0, 0xffffffffffffffff)
+
+ Or(aui5, arg1, Local0)
+ m600(arg0, 38, Local0, 0x321)
+
+ Or(auij, arg1, Local0)
+ m600(arg0, 39, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Or(Derefof(Refof(aui5)), arg1, Local0)
+ m600(arg0, 40, Local0, 0x321)
+
+ Or(Derefof(Refof(auij)), arg1, Local0)
+ m600(arg0, 41, Local0, 0xffffffffffffffff)
+ }
+
+ Or(Derefof(Index(paui, 5)), arg1, Local0)
+ m600(arg0, 42, Local0, 0x321)
+
+ Or(Derefof(Index(paui, 19)), arg1, Local0)
+ m600(arg0, 43, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Or(m601(1, 5), arg1, Local0)
+ m600(arg0, 44, Local0, 0x321)
+
+ Or(m601(1, 19), arg1, Local0)
+ m600(arg0, 45, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(Derefof(m602(1, 5, 1)), arg1, Local0)
+ m600(arg0, 46, Local0, 0x321)
+
+ Or(Derefof(m602(1, 19, 1)), arg1, Local0)
+ m600(arg0, 47, Local0, 0xffffffffffffffff)
+ }
+ }
+
+ // Or, 64-bit
+ Method(m017, 3)
+ {
+ // Conversion of the first operand
+
+ Store(Or(arg2, 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(arg2, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xffffffffffffffff)
+
+ Store(Or(arg2, aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(arg2, auij), Local0)
+ m600(arg0, 3, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Store(Or(arg2, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(arg2, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xffffffffffffffff)
+ }
+
+ Store(Or(arg2, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(arg2, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Store(Or(arg2, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(arg2, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(arg2, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(arg2, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xffffffffffffffff)
+ }
+
+ Or(arg2, 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Or(arg2, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xffffffffffffffff)
+
+ Or(arg2, aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Or(arg2, auij, Local0)
+ m600(arg0, 15, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Or(arg2, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Or(arg2, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xffffffffffffffff)
+ }
+
+ Or(arg2, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Or(arg2, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Or(arg2, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Or(arg2, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(arg2, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Or(arg2, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xffffffffffffffff)
+ }
+
+ // Conversion of the second operand
+
+ Store(Or(0, arg2), Local0)
+ m600(arg0, 24, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(0xffffffffffffffff, arg2), Local0)
+ m600(arg0, 25, Local0, 0xffffffffffffffff)
+
+ Store(Or(aui5, arg2), Local0)
+ m600(arg0, 26, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(auij, arg2), Local0)
+ m600(arg0, 27, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Store(Or(Derefof(Refof(aui5)), arg2), Local0)
+ m600(arg0, 28, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(Refof(auij)), arg2), Local0)
+ m600(arg0, 29, Local0, 0xffffffffffffffff)
+ }
+
+ Store(Or(Derefof(Index(paui, 5)), arg2), Local0)
+ m600(arg0, 30, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(Index(paui, 19)), arg2), Local0)
+ m600(arg0, 31, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Store(Or(m601(1, 5), arg2), Local0)
+ m600(arg0, 32, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(m601(1, 19), arg2), Local0)
+ m600(arg0, 33, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(Derefof(m602(1, 5, 1)), arg2), Local0)
+ m600(arg0, 34, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(m602(1, 19, 1)), arg2), Local0)
+ m600(arg0, 35, Local0, 0xffffffffffffffff)
+ }
+
+ Or(0, arg2, Local0)
+ m600(arg0, 36, Local0, 0xfe7cb391d650a284)
+
+ Or(0xffffffffffffffff, arg2, Local0)
+ m600(arg0, 37, Local0, 0xffffffffffffffff)
+
+ Or(aui5, arg2, Local0)
+ m600(arg0, 38, Local0, 0xfe7cb391d650a284)
+
+ Or(auij, arg2, Local0)
+ m600(arg0, 39, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Or(Derefof(Refof(aui5)), arg2, Local0)
+ m600(arg0, 40, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(Refof(auij)), arg2, Local0)
+ m600(arg0, 41, Local0, 0xffffffffffffffff)
+ }
+
+ Or(Derefof(Index(paui, 5)), arg2, Local0)
+ m600(arg0, 42, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(Index(paui, 19)), arg2, Local0)
+ m600(arg0, 43, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Or(m601(1, 5), arg2, Local0)
+ m600(arg0, 44, Local0, 0xfe7cb391d650a284)
+
+ Or(m601(1, 19), arg2, Local0)
+ m600(arg0, 45, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(Derefof(m602(1, 5, 1)), arg2, Local0)
+ m600(arg0, 46, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(m602(1, 19, 1)), arg2, Local0)
+ m600(arg0, 47, Local0, 0xffffffffffffffff)
+ }
+
+ // Conversion of the both operands
+
+ Store(Or(arg1, arg2), Local0)
+ m600(arg0, 48, Local0, 0xfe7cb391d650a3a5)
+
+ Store(Or(arg2, arg1), Local0)
+ m600(arg0, 49, Local0, 0xfe7cb391d650a3a5)
+
+ Or(arg1, arg2, Local0)
+ m600(arg0, 50, Local0, 0xfe7cb391d650a3a5)
+
+ Or(arg2, arg1, Local0)
+ m600(arg0, 51, Local0, 0xfe7cb391d650a3a5)
+ }
+
+ // Or, 32-bit
+ Method(m018, 3)
+ {
+ // Conversion of the first operand
+
+ Store(Or(arg2, 0), Local0)
+ m600(arg0, 0, Local0, 0xc179b3fe)
+
+ Store(Or(arg2, 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0xffffffff)
+
+ Store(Or(arg2, aui5), Local0)
+ m600(arg0, 2, Local0, 0xc179b3fe)
+
+ Store(Or(arg2, auii), Local0)
+ m600(arg0, 3, Local0, 0xffffffff)
+
+ if (y078) {
+ Store(Or(arg2, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xc179b3fe)
+
+ Store(Or(arg2, Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0xffffffff)
+ }
+
+ Store(Or(arg2, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xc179b3fe)
+
+ Store(Or(arg2, Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0xffffffff)
+
+ // Method returns Integer
+
+ Store(Or(arg2, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xc179b3fe)
+
+ Store(Or(arg2, m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0xffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(arg2, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xc179b3fe)
+
+ Store(Or(arg2, Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0xffffffff)
+ }
+
+ Or(arg2, 0, Local0)
+ m600(arg0, 12, Local0, 0xc179b3fe)
+
+ Or(arg2, 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0xffffffff)
+
+ Or(arg2, aui5, Local0)
+ m600(arg0, 14, Local0, 0xc179b3fe)
+
+ Or(arg2, auii, Local0)
+ m600(arg0, 15, Local0, 0xffffffff)
+
+ if (y078) {
+ Or(arg2, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xc179b3fe)
+
+ Or(arg2, Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0xffffffff)
+ }
+
+ Or(arg2, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xc179b3fe)
+
+ Or(arg2, Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0xffffffff)
+
+ // Method returns Integer
+
+ Or(arg2, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xc179b3fe)
+
+ Or(arg2, m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0xffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(arg2, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xc179b3fe)
+
+ Or(arg2, Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0xffffffff)
+ }
+
+ // Conversion of the second operand
+
+ Store(Or(0, arg2), Local0)
+ m600(arg0, 24, Local0, 0xc179b3fe)
+
+ Store(Or(0xffffffff, arg2), Local0)
+ m600(arg0, 25, Local0, 0xffffffff)
+
+ Store(Or(aui5, arg2), Local0)
+ m600(arg0, 26, Local0, 0xc179b3fe)
+
+ Store(Or(auii, arg2), Local0)
+ m600(arg0, 27, Local0, 0xffffffff)
+
+ if (y078) {
+ Store(Or(Derefof(Refof(aui5)), arg2), Local0)
+ m600(arg0, 28, Local0, 0xc179b3fe)
+
+ Store(Or(Derefof(Refof(auii)), arg2), Local0)
+ m600(arg0, 29, Local0, 0xffffffff)
+ }
+
+ Store(Or(Derefof(Index(paui, 5)), arg2), Local0)
+ m600(arg0, 30, Local0, 0xc179b3fe)
+
+ Store(Or(Derefof(Index(paui, 18)), arg2), Local0)
+ m600(arg0, 31, Local0, 0xffffffff)
+
+ // Method returns Integer
+
+ Store(Or(m601(1, 5), arg2), Local0)
+ m600(arg0, 32, Local0, 0xc179b3fe)
+
+ Store(Or(m601(1, 18), arg2), Local0)
+ m600(arg0, 33, Local0, 0xffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(Derefof(m602(1, 5, 1)), arg2), Local0)
+ m600(arg0, 34, Local0, 0xc179b3fe)
+
+ Store(Or(Derefof(m602(1, 18, 1)), arg2), Local0)
+ m600(arg0, 35, Local0, 0xffffffff)
+ }
+
+ Or(0, arg2, Local0)
+ m600(arg0, 36, Local0, 0xc179b3fe)
+
+ Or(0xffffffff, arg2, Local0)
+ m600(arg0, 37, Local0, 0xffffffff)
+
+ Or(aui5, arg2, Local0)
+ m600(arg0, 38, Local0, 0xc179b3fe)
+
+ Or(auii, arg2, Local0)
+ m600(arg0, 39, Local0, 0xffffffff)
+
+ if (y078) {
+ Or(Derefof(Refof(aui5)), arg2, Local0)
+ m600(arg0, 40, Local0, 0xc179b3fe)
+
+ Or(Derefof(Refof(auii)), arg2, Local0)
+ m600(arg0, 41, Local0, 0xffffffff)
+ }
+
+ Or(Derefof(Index(paui, 5)), arg2, Local0)
+ m600(arg0, 42, Local0, 0xc179b3fe)
+
+ Or(Derefof(Index(paui, 18)), arg2, Local0)
+ m600(arg0, 43, Local0, 0xffffffff)
+
+ // Method returns Integer
+
+ Or(m601(1, 5), arg2, Local0)
+ m600(arg0, 44, Local0, 0xc179b3fe)
+
+ Or(m601(1, 18), arg2, Local0)
+ m600(arg0, 45, Local0, 0xffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(Derefof(m602(1, 5, 1)), arg2, Local0)
+ m600(arg0, 46, Local0, 0xc179b3fe)
+
+ Or(Derefof(m602(1, 18, 1)), arg2, Local0)
+ m600(arg0, 47, Local0, 0xffffffff)
+ }
+
+ // Conversion of the both operands
+
+ Store(Or(arg1, arg2), Local0)
+ m600(arg0, 48, Local0, 0xc179b3ff)
+
+ Store(Or(arg2, arg1), Local0)
+ m600(arg0, 49, Local0, 0xc179b3ff)
+
+ Or(arg1, arg2, Local0)
+ m600(arg0, 50, Local0, 0xc179b3ff)
+
+ Or(arg2, arg1, Local0)
+ m600(arg0, 51, Local0, 0xc179b3ff)
+ }
+
+ // ShiftLeft, common 32-bit/64-bit test
+ Method(m019, 3)
+ {
+ // Conversion of the first operand
+
+ Store(ShiftLeft(arg1, 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(ShiftLeft(arg1, 1), Local0)
+ m600(arg0, 1, Local0, 0x642)
+
+ Store(ShiftLeft(arg1, aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(ShiftLeft(arg1, aui6), Local0)
+ m600(arg0, 3, Local0, 0x642)
+
+ if (y078) {
+ Store(ShiftLeft(arg1, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(ShiftLeft(arg1, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x642)
+ }
+
+ Store(ShiftLeft(arg1, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(ShiftLeft(arg1, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x642)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(arg1, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(ShiftLeft(arg1, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x642)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(arg1, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(ShiftLeft(arg1, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x642)
+ }
+
+ ShiftLeft(arg1, 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ ShiftLeft(arg1, 1, Local0)
+ m600(arg0, 13, Local0, 0x642)
+
+ ShiftLeft(arg1, aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ ShiftLeft(arg1, aui6, Local0)
+ m600(arg0, 15, Local0, 0x642)
+
+ if (y078) {
+ ShiftLeft(arg1, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ ShiftLeft(arg1, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x642)
+ }
+
+ ShiftLeft(arg1, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ ShiftLeft(arg1, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x642)
+
+ // Method returns Integer
+
+ ShiftLeft(arg1, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ ShiftLeft(arg1, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x642)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(arg1, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ ShiftLeft(arg1, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x642)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftLeft(0, arg2), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftLeft(1, arg2), Local0)
+ m600(arg0, 25, Local0, 0x800)
+
+ Store(ShiftLeft(aui5, arg2), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftLeft(aui6, arg2), Local0)
+ m600(arg0, 27, Local0, 0x800)
+
+ if (y078) {
+ Store(ShiftLeft(Derefof(Refof(aui5)), arg2), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Refof(aui6)), arg2), Local0)
+ m600(arg0, 29, Local0, 0x800)
+ }
+
+ Store(ShiftLeft(Derefof(Index(paui, 5)), arg2), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Index(paui, 6)), arg2), Local0)
+ m600(arg0, 31, Local0, 0x800)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(m601(1, 5), arg2), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftLeft(m601(1, 6), arg2), Local0)
+ m600(arg0, 33, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(Derefof(m602(1, 5, 1)), arg2), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftLeft(Derefof(m602(1, 6, 1)), arg2), Local0)
+ m600(arg0, 35, Local0, 0x800)
+ }
+
+ ShiftLeft(0, arg2, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftLeft(1, arg2, Local0)
+ m600(arg0, 37, Local0, 0x800)
+
+ ShiftLeft(aui5, arg2, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftLeft(aui6, arg2, Local0)
+ m600(arg0, 39, Local0, 0x800)
+
+ if (y078) {
+ ShiftLeft(Derefof(Refof(aui5)), arg2, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftLeft(Derefof(Refof(aui6)), arg2, Local0)
+ m600(arg0, 41, Local0, 0x800)
+ }
+
+ ShiftLeft(Derefof(Index(paui, 5)), arg2, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftLeft(Derefof(Index(paui, 6)), arg2, Local0)
+ m600(arg0, 43, Local0, 0x800)
+
+ // Method returns Integer
+
+ ShiftLeft(m601(1, 5), arg2, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftLeft(m601(1, 6), arg2, Local0)
+ m600(arg0, 45, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(Derefof(m602(1, 5, 1)), arg2, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftLeft(Derefof(m602(1, 6, 1)), arg2, Local0)
+ m600(arg0, 47, Local0, 0x800)
+ }
+ }
+
+ // ShiftLeft, 64-bit
+ Method(m01a, 4)
+ {
+ // Conversion of the first operand
+
+ Store(ShiftLeft(arg2, 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(arg2, 1), Local0)
+ m600(arg0, 1, Local0, 0xfcf96723aca14508)
+
+ Store(ShiftLeft(arg2, aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(arg2, aui6), Local0)
+ m600(arg0, 3, Local0, 0xfcf96723aca14508)
+
+ if (y078) {
+ Store(ShiftLeft(arg2, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(arg2, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xfcf96723aca14508)
+ }
+
+ Store(ShiftLeft(arg2, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(arg2, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xfcf96723aca14508)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(arg2, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(arg2, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xfcf96723aca14508)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(arg2, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(arg2, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfcf96723aca14508)
+ }
+
+ ShiftLeft(arg2, 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(arg2, 1, Local0)
+ m600(arg0, 13, Local0, 0xfcf96723aca14508)
+
+ ShiftLeft(arg2, aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(arg2, aui6, Local0)
+ m600(arg0, 15, Local0, 0xfcf96723aca14508)
+
+ if (y078) {
+ ShiftLeft(arg2, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(arg2, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xfcf96723aca14508)
+ }
+
+ ShiftLeft(arg2, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(arg2, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xfcf96723aca14508)
+
+ // Method returns Integer
+
+ ShiftLeft(arg2, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(arg2, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xfcf96723aca14508)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(arg2, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(arg2, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfcf96723aca14508)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftLeft(0, arg3), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftLeft(1, arg3), Local0)
+ m600(arg0, 25, Local0, 0x800)
+
+ Store(ShiftLeft(aui5, arg3), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftLeft(aui6, arg3), Local0)
+ m600(arg0, 27, Local0, 0x800)
+
+ if (y078) {
+ Store(ShiftLeft(Derefof(Refof(aui5)), arg3), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Refof(aui6)), arg3), Local0)
+ m600(arg0, 29, Local0, 0x800)
+ }
+
+ Store(ShiftLeft(Derefof(Index(paui, 5)), arg3), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Index(paui, 6)), arg3), Local0)
+ m600(arg0, 31, Local0, 0x800)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(m601(1, 5), arg3), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftLeft(m601(1, 6), arg3), Local0)
+ m600(arg0, 33, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(Derefof(m602(1, 5, 1)), arg3), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftLeft(Derefof(m602(1, 6, 1)), arg3), Local0)
+ m600(arg0, 35, Local0, 0x800)
+ }
+
+ ShiftLeft(0, arg3, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftLeft(1, arg3, Local0)
+ m600(arg0, 37, Local0, 0x800)
+
+ ShiftLeft(aui5, arg3, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftLeft(aui6, arg3, Local0)
+ m600(arg0, 39, Local0, 0x800)
+
+ if (y078) {
+ ShiftLeft(Derefof(Refof(aui5)), arg3, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftLeft(Derefof(Refof(aui6)), arg3, Local0)
+ m600(arg0, 41, Local0, 0x800)
+ }
+
+ ShiftLeft(Derefof(Index(paui, 5)), arg3, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftLeft(Derefof(Index(paui, 6)), arg3, Local0)
+ m600(arg0, 43, Local0, 0x800)
+
+ // Method returns Integer
+
+ ShiftLeft(m601(1, 5), arg3, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftLeft(m601(1, 6), arg3, Local0)
+ m600(arg0, 45, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(Derefof(m602(1, 5, 1)), arg3, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftLeft(Derefof(m602(1, 6, 1)), arg3, Local0)
+ m600(arg0, 47, Local0, 0x800)
+ }
+
+ // Conversion of the both operands
+
+ Store(ShiftLeft(arg1, arg3), Local0)
+ m600(arg0, 48, Local0, 0x190800)
+
+ Store(ShiftLeft(arg2, arg3), Local0)
+ m600(arg0, 49, Local0, 0xE59C8EB285142000)
+
+ ShiftLeft(arg1, arg3, Local0)
+ m600(arg0, 50, Local0, 0x190800)
+
+ ShiftLeft(arg2, arg3, Local0)
+ m600(arg0, 51, Local0, 0xE59C8EB285142000)
+ }
+
+ // ShiftLeft, 32-bit
+ Method(m01b, 4)
+ {
+ // Conversion of the first operand
+
+ Store(ShiftLeft(arg2, 0), Local0)
+ m600(arg0, 0, Local0, 0xc179b3fe)
+
+ Store(ShiftLeft(arg2, 1), Local0)
+ m600(arg0, 1, Local0, 0x82f367fc)
+
+ Store(ShiftLeft(arg2, aui5), Local0)
+ m600(arg0, 2, Local0, 0xc179b3fe)
+
+ Store(ShiftLeft(arg2, aui6), Local0)
+ m600(arg0, 3, Local0, 0x82f367fc)
+
+ if (y078) {
+ Store(ShiftLeft(arg2, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xc179b3fe)
+
+ Store(ShiftLeft(arg2, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x82f367fc)
+ }
+
+ Store(ShiftLeft(arg2, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xc179b3fe)
+
+ Store(ShiftLeft(arg2, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x82f367fc)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(arg2, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xc179b3fe)
+
+ Store(ShiftLeft(arg2, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x82f367fc)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(arg2, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xc179b3fe)
+
+ Store(ShiftLeft(arg2, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x82f367fc)
+ }
+
+ ShiftLeft(arg2, 0, Local0)
+ m600(arg0, 12, Local0, 0xc179b3fe)
+
+ ShiftLeft(arg2, 1, Local0)
+ m600(arg0, 13, Local0, 0x82f367fc)
+
+ ShiftLeft(arg2, aui5, Local0)
+ m600(arg0, 14, Local0, 0xc179b3fe)
+
+ ShiftLeft(arg2, aui6, Local0)
+ m600(arg0, 15, Local0, 0x82f367fc)
+
+ if (y078) {
+ ShiftLeft(arg2, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xc179b3fe)
+
+ ShiftLeft(arg2, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x82f367fc)
+ }
+
+ ShiftLeft(arg2, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xc179b3fe)
+
+ ShiftLeft(arg2, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x82f367fc)
+
+ // Method returns Integer
+
+ ShiftLeft(arg2, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xc179b3fe)
+
+ ShiftLeft(arg2, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x82f367fc)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(arg2, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xc179b3fe)
+
+ ShiftLeft(arg2, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x82f367fc)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftLeft(0, arg3), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftLeft(1, arg3), Local0)
+ m600(arg0, 25, Local0, 0x800)
+
+ Store(ShiftLeft(aui5, arg3), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftLeft(aui6, arg3), Local0)
+ m600(arg0, 27, Local0, 0x800)
+
+ if (y078) {
+ Store(ShiftLeft(Derefof(Refof(aui5)), arg3), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Refof(aui6)), arg3), Local0)
+ m600(arg0, 29, Local0, 0x800)
+ }
+
+ Store(ShiftLeft(Derefof(Index(paui, 5)), arg3), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Index(paui, 6)), arg3), Local0)
+ m600(arg0, 31, Local0, 0x800)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(m601(1, 5), arg3), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftLeft(m601(1, 6), arg3), Local0)
+ m600(arg0, 33, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(Derefof(m602(1, 5, 1)), arg3), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftLeft(Derefof(m602(1, 6, 1)), arg3), Local0)
+ m600(arg0, 35, Local0, 0x800)
+ }
+
+ ShiftLeft(0, arg3, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftLeft(1, arg3, Local0)
+ m600(arg0, 37, Local0, 0x800)
+
+ ShiftLeft(aui5, arg3, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftLeft(aui6, arg3, Local0)
+ m600(arg0, 39, Local0, 0x800)
+
+ if (y078) {
+ ShiftLeft(Derefof(Refof(aui5)), arg3, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftLeft(Derefof(Refof(aui6)), arg3, Local0)
+ m600(arg0, 41, Local0, 0x800)
+ }
+
+ ShiftLeft(Derefof(Index(paui, 5)), arg3, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftLeft(Derefof(Index(paui, 6)), arg3, Local0)
+ m600(arg0, 43, Local0, 0x800)
+
+ // Method returns Integer
+
+ ShiftLeft(m601(1, 5), arg3, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftLeft(m601(1, 6), arg3, Local0)
+ m600(arg0, 45, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(Derefof(m602(1, 5, 1)), arg3, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftLeft(Derefof(m602(1, 6, 1)), arg3, Local0)
+ m600(arg0, 47, Local0, 0x800)
+ }
+
+ // Conversion of the both operands
+
+ Store(ShiftLeft(arg1, arg3), Local0)
+ m600(arg0, 48, Local0, 0x190800)
+
+ Store(ShiftLeft(arg2, arg3), Local0)
+ m600(arg0, 49, Local0, 0xcd9ff000)
+
+ ShiftLeft(arg1, arg3, Local0)
+ m600(arg0, 50, Local0, 0x190800)
+
+ ShiftLeft(arg2, arg3, Local0)
+ m600(arg0, 51, Local0, 0xcd9ff000)
+ }
+
+ // ShiftRight, common 32-bit/64-bit test
+ Method(m01c, 3)
+ {
+ // Conversion of the first operand
+
+ Store(ShiftRight(arg1, 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(ShiftRight(arg1, 1), Local0)
+ m600(arg0, 1, Local0, 0x190)
+
+ Store(ShiftRight(arg1, aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(ShiftRight(arg1, aui6), Local0)
+ m600(arg0, 3, Local0, 0x190)
+
+ if (y078) {
+ Store(ShiftRight(arg1, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(ShiftRight(arg1, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x190)
+ }
+
+ Store(ShiftRight(arg1, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(ShiftRight(arg1, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x190)
+
+ // Method returns Integer
+
+ Store(ShiftRight(arg1, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(ShiftRight(arg1, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x190)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(arg1, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(ShiftRight(arg1, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x190)
+ }
+
+ ShiftRight(arg1, 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ ShiftRight(arg1, 1, Local0)
+ m600(arg0, 13, Local0, 0x190)
+
+ ShiftRight(arg1, aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ ShiftRight(arg1, aui6, Local0)
+ m600(arg0, 15, Local0, 0x190)
+
+ if (y078) {
+ ShiftRight(arg1, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ ShiftRight(arg1, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x190)
+ }
+
+ ShiftRight(arg1, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ ShiftRight(arg1, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x190)
+
+ // Method returns Integer
+
+ ShiftRight(arg1, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ ShiftRight(arg1, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x190)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(arg1, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ ShiftRight(arg1, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x190)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftRight(0x321, arg2), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftRight(0xc179b3fe, arg2), Local0)
+ m600(arg0, 25, Local0, 0x182f36)
+
+ Store(ShiftRight(aui1, arg2), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftRight(aui3, arg2), Local0)
+ m600(arg0, 27, Local0, 0x182f36)
+
+ if (y078) {
+ Store(ShiftRight(Derefof(Refof(aui1)), arg2), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftRight(Derefof(Refof(aui3)), arg2), Local0)
+ m600(arg0, 29, Local0, 0x182f36)
+ }
+
+ Store(ShiftRight(Derefof(Index(paui, 1)), arg2), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftRight(Derefof(Index(paui, 3)), arg2), Local0)
+ m600(arg0, 31, Local0, 0x182f36)
+
+ // Method returns Integer
+
+ Store(ShiftRight(m601(1, 1), arg2), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftRight(m601(1, 3), arg2), Local0)
+ m600(arg0, 33, Local0, 0x182f36)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(Derefof(m602(1, 1, 1)), arg2), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftRight(Derefof(m602(1, 3, 1)), arg2), Local0)
+ m600(arg0, 35, Local0, 0x182f36)
+ }
+
+ ShiftRight(0x321, arg2, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftRight(0xc179b3fe, arg2, Local0)
+ m600(arg0, 37, Local0, 0x182f36)
+
+ ShiftRight(aui1, arg2, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftRight(aui3, arg2, Local0)
+ m600(arg0, 39, Local0, 0x182f36)
+
+ if (y078) {
+ ShiftRight(Derefof(Refof(aui1)), arg2, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftRight(Derefof(Refof(aui3)), arg2, Local0)
+ m600(arg0, 41, Local0, 0x182f36)
+ }
+
+ ShiftRight(Derefof(Index(paui, 1)), arg2, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftRight(Derefof(Index(paui, 3)), arg2, Local0)
+ m600(arg0, 43, Local0, 0x182f36)
+
+ // Method returns Integer
+
+ ShiftRight(m601(1, 1), arg2, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftRight(m601(1, 3), arg2, Local0)
+ m600(arg0, 45, Local0, 0x182f36)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(Derefof(m602(1, 1, 1)), arg2, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftRight(Derefof(m602(1, 3, 1)), arg2, Local0)
+ m600(arg0, 47, Local0, 0x182f36)
+ }
+ }
+
+ // ShiftRight, 64-bit
+ Method(m01d, 4)
+ {
+ // Conversion of the first operand
+
+ Store(ShiftRight(arg2, 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(arg2, 1), Local0)
+ m600(arg0, 1, Local0, 0x7f3e59c8eb285142)
+
+ Store(ShiftRight(arg2, aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(arg2, aui6), Local0)
+ m600(arg0, 3, Local0, 0x7f3e59c8eb285142)
+
+ if (y078) {
+ Store(ShiftRight(arg2, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(arg2, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x7f3e59c8eb285142)
+ }
+
+ Store(ShiftRight(arg2, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(arg2, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x7f3e59c8eb285142)
+
+ // Method returns Integer
+
+ Store(ShiftRight(arg2, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(arg2, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x7f3e59c8eb285142)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(arg2, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(arg2, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x7f3e59c8eb285142)
+ }
+
+ ShiftRight(arg2, 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(arg2, 1, Local0)
+ m600(arg0, 13, Local0, 0x7f3e59c8eb285142)
+
+ ShiftRight(arg2, aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(arg2, aui6, Local0)
+ m600(arg0, 15, Local0, 0x7f3e59c8eb285142)
+
+ if (y078) {
+ ShiftRight(arg2, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(arg2, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x7f3e59c8eb285142)
+ }
+
+ ShiftRight(arg2, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(arg2, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x7f3e59c8eb285142)
+
+ // Method returns Integer
+
+ ShiftRight(arg2, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(arg2, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x7f3e59c8eb285142)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(arg2, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(arg2, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x7f3e59c8eb285142)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftRight(0x321, arg3), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftRight(0xfe7cb391d650a284, arg3), Local0)
+ m600(arg0, 25, Local0, 0x1fcf96723aca14)
+
+ Store(ShiftRight(aui1, arg3), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftRight(aui4, arg3), Local0)
+ m600(arg0, 27, Local0, 0x1fcf96723aca14)
+
+ if (y078) {
+ Store(ShiftRight(Derefof(Refof(aui1)), arg3), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftRight(Derefof(Refof(aui4)), arg3), Local0)
+ m600(arg0, 29, Local0, 0x1fcf96723aca14)
+ }
+
+ Store(ShiftRight(Derefof(Index(paui, 1)), arg3), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftRight(Derefof(Index(paui, 4)), arg3), Local0)
+ m600(arg0, 31, Local0, 0x1fcf96723aca14)
+
+ // Method returns Integer
+
+ Store(ShiftRight(m601(1, 1), arg3), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftRight(m601(1, 4), arg3), Local0)
+ m600(arg0, 33, Local0, 0x1fcf96723aca14)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(Derefof(m602(1, 1, 1)), arg3), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftRight(Derefof(m602(1, 4, 1)), arg3), Local0)
+ m600(arg0, 35, Local0, 0x1fcf96723aca14)
+ }
+
+ ShiftRight(0x321, arg3, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftRight(0xfe7cb391d650a284, arg3, Local0)
+ m600(arg0, 37, Local0, 0x1fcf96723aca14)
+
+ ShiftRight(aui1, arg3, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftRight(aui4, arg3, Local0)
+ m600(arg0, 39, Local0, 0x1fcf96723aca14)
+
+ if (y078) {
+ ShiftRight(Derefof(Refof(aui1)), arg3, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftRight(Derefof(Refof(aui4)), arg3, Local0)
+ m600(arg0, 41, Local0, 0x1fcf96723aca14)
+ }
+
+ ShiftRight(Derefof(Index(paui, 1)), arg3, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftRight(Derefof(Index(paui, 4)), arg3, Local0)
+ m600(arg0, 43, Local0, 0x1fcf96723aca14)
+
+ // Method returns Integer
+
+ ShiftRight(m601(1, 1), arg3, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftRight(m601(1, 4), arg3, Local0)
+ m600(arg0, 45, Local0, 0x1fcf96723aca14)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(Derefof(m602(1, 1, 1)), arg3, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftRight(Derefof(m602(1, 4, 1)), arg3, Local0)
+ m600(arg0, 47, Local0, 0x1fcf96723aca14)
+ }
+
+ // Conversion of the both operands
+
+ Store(ShiftRight(arg1, arg3), Local0)
+ m600(arg0, 48, Local0, 0)
+
+ Store(ShiftRight(arg2, arg3), Local0)
+ m600(arg0, 49, Local0, 0x1fcf96723aca14)
+
+ ShiftRight(arg1, arg3, Local0)
+ m600(arg0, 50, Local0, 0)
+
+ ShiftRight(arg2, arg3, Local0)
+ m600(arg0, 51, Local0, 0x1fcf96723aca14)
+ }
+
+ // ShiftRight, 32-bit
+ Method(m01e, 4)
+ {
+ // Conversion of the first operand
+
+ Store(ShiftRight(arg2, 0), Local0)
+ m600(arg0, 0, Local0, 0xc179b3fe)
+
+ Store(ShiftRight(arg2, 1), Local0)
+ m600(arg0, 1, Local0, 0x60bcd9ff)
+
+ Store(ShiftRight(arg2, aui5), Local0)
+ m600(arg0, 2, Local0, 0xc179b3fe)
+
+ Store(ShiftRight(arg2, aui6), Local0)
+ m600(arg0, 3, Local0, 0x60bcd9ff)
+
+ if (y078) {
+ Store(ShiftRight(arg2, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xc179b3fe)
+
+ Store(ShiftRight(arg2, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x60bcd9ff)
+ }
+
+ Store(ShiftRight(arg2, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xc179b3fe)
+
+ Store(ShiftRight(arg2, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x60bcd9ff)
+
+ // Method returns Integer
+
+ Store(ShiftRight(arg2, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xc179b3fe)
+
+ Store(ShiftRight(arg2, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x60bcd9ff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(arg2, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xc179b3fe)
+
+ Store(ShiftRight(arg2, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x60bcd9ff)
+ }
+
+ ShiftRight(arg2, 0, Local0)
+ m600(arg0, 12, Local0, 0xc179b3fe)
+
+ ShiftRight(arg2, 1, Local0)
+ m600(arg0, 13, Local0, 0x60bcd9ff)
+
+ ShiftRight(arg2, aui5, Local0)
+ m600(arg0, 14, Local0, 0xc179b3fe)
+
+ ShiftRight(arg2, aui6, Local0)
+ m600(arg0, 15, Local0, 0x60bcd9ff)
+
+ if (y078) {
+ ShiftRight(arg2, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xc179b3fe)
+
+ ShiftRight(arg2, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x60bcd9ff)
+ }
+
+ ShiftRight(arg2, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xc179b3fe)
+
+ ShiftRight(arg2, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x60bcd9ff)
+
+ // Method returns Integer
+
+ ShiftRight(arg2, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xc179b3fe)
+
+ ShiftRight(arg2, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x60bcd9ff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(arg2, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xc179b3fe)
+
+ ShiftRight(arg2, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x60bcd9ff)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftRight(0x321, arg3), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftRight(0xc179b3fe, arg3), Local0)
+ m600(arg0, 25, Local0, 0x182f36)
+
+ Store(ShiftRight(aui1, arg3), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftRight(aui3, arg3), Local0)
+ m600(arg0, 27, Local0, 0x182f36)
+
+ if (y078) {
+ Store(ShiftRight(Derefof(Refof(aui1)), arg3), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftRight(Derefof(Refof(aui3)), arg3), Local0)
+ m600(arg0, 29, Local0, 0x182f36)
+ }
+
+ Store(ShiftRight(Derefof(Index(paui, 1)), arg3), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftRight(Derefof(Index(paui, 3)), arg3), Local0)
+ m600(arg0, 31, Local0, 0x182f36)
+
+ // Method returns Integer
+
+ Store(ShiftRight(m601(1, 1), arg3), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftRight(m601(1, 3), arg3), Local0)
+ m600(arg0, 33, Local0, 0x182f36)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(Derefof(m602(1, 1, 1)), arg3), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftRight(Derefof(m602(1, 3, 1)), arg3), Local0)
+ m600(arg0, 35, Local0, 0x182f36)
+ }
+
+ ShiftRight(0x321, arg3, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftRight(0xc179b3fe, arg3, Local0)
+ m600(arg0, 37, Local0, 0x182f36)
+
+ ShiftRight(aui1, arg3, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftRight(aui3, arg3, Local0)
+ m600(arg0, 39, Local0, 0x182f36)
+
+ if (y078) {
+ ShiftRight(Derefof(Refof(aui1)), arg3, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftRight(Derefof(Refof(aui3)), arg3, Local0)
+ m600(arg0, 41, Local0, 0x182f36)
+ }
+
+ ShiftRight(Derefof(Index(paui, 1)), arg3, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftRight(Derefof(Index(paui, 3)), arg3, Local0)
+ m600(arg0, 43, Local0, 0x182f36)
+
+ // Method returns Integer
+
+ ShiftRight(m601(1, 1), arg3, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftRight(m601(1, 3), arg3, Local0)
+ m600(arg0, 45, Local0, 0x182f36)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(Derefof(m602(1, 1, 1)), arg3, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftRight(Derefof(m602(1, 3, 1)), arg3, Local0)
+ m600(arg0, 47, Local0, 0x182f36)
+ }
+
+ // Conversion of the both operands
+
+ Store(ShiftRight(arg1, arg3), Local0)
+ m600(arg0, 48, Local0, 0)
+
+ Store(ShiftRight(arg2, arg3), Local0)
+ m600(arg0, 49, Local0, 0x182f36)
+
+ ShiftRight(arg1, arg3, Local0)
+ m600(arg0, 50, Local0, 0)
+
+ ShiftRight(arg2, arg3, Local0)
+ m600(arg0, 51, Local0, 0x182f36)
+ }
+
+ // Subtract, common 32-bit/64-bit test
+ Method(m01f, 2)
+ {
+ // Conversion of the first operand
+
+ Store(Subtract(arg1, 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Subtract(arg1, 1), Local0)
+ m600(arg0, 1, Local0, 0x320)
+
+ Store(Subtract(arg1, aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Subtract(arg1, aui6), Local0)
+ m600(arg0, 3, Local0, 0x320)
+
+ if (y078) {
+ Store(Subtract(arg1, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Subtract(arg1, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x320)
+ }
+
+ Store(Subtract(arg1, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Subtract(arg1, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x320)
+
+ // Method returns Integer
+
+ Store(Subtract(arg1, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Subtract(arg1, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x320)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(arg1, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Subtract(arg1, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x320)
+ }
+
+ Subtract(arg1, 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Subtract(arg1, 1, Local0)
+ m600(arg0, 13, Local0, 0x320)
+
+ Subtract(arg1, aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Subtract(arg1, aui6, Local0)
+ m600(arg0, 15, Local0, 0x320)
+
+ if (y078) {
+ Subtract(arg1, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Subtract(arg1, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x320)
+ }
+
+ Subtract(arg1, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Subtract(arg1, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x320)
+
+ // Method returns Integer
+
+ Subtract(arg1, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Subtract(arg1, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x320)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(arg1, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Subtract(arg1, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x320)
+ }
+
+ // Conversion of the second operand
+
+ Store(Subtract(0, arg1), Local0)
+ m600(arg0, 24, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(1, arg1), Local0)
+ m600(arg0, 25, Local0, 0xfffffffffffffce0)
+
+ Store(Subtract(aui5, arg1), Local0)
+ m600(arg0, 26, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(aui6, arg1), Local0)
+ m600(arg0, 27, Local0, 0xfffffffffffffce0)
+
+ if (y078) {
+ Store(Subtract(Derefof(Refof(aui5)), arg1), Local0)
+ m600(arg0, 28, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(Derefof(Refof(aui6)), arg1), Local0)
+ m600(arg0, 29, Local0, 0xfffffffffffffce0)
+ }
+
+ Store(Subtract(Derefof(Index(paui, 5)), arg1), Local0)
+ m600(arg0, 30, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(Derefof(Index(paui, 6)), arg1), Local0)
+ m600(arg0, 31, Local0, 0xfffffffffffffce0)
+
+ // Method returns Integer
+
+ Store(Subtract(m601(1, 5), arg1), Local0)
+ m600(arg0, 32, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(m601(1, 6), arg1), Local0)
+ m600(arg0, 33, Local0, 0xfffffffffffffce0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(Derefof(m602(1, 5, 1)), arg1), Local0)
+ m600(arg0, 34, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(Derefof(m602(1, 6, 1)), arg1), Local0)
+ m600(arg0, 35, Local0, 0xfffffffffffffce0)
+ }
+
+ Subtract(0, arg1, Local0)
+ m600(arg0, 36, Local0, 0xfffffffffffffcdf)
+
+ Subtract(1, arg1, Local0)
+ m600(arg0, 37, Local0, 0xfffffffffffffce0)
+
+ Subtract(aui5, arg1, Local0)
+ m600(arg0, 38, Local0, 0xfffffffffffffcdf)
+
+ Subtract(aui6, arg1, Local0)
+ m600(arg0, 39, Local0, 0xfffffffffffffce0)
+
+ if (y078) {
+ Subtract(Derefof(Refof(aui5)), arg1, Local0)
+ m600(arg0, 40, Local0, 0xfffffffffffffcdf)
+
+ Subtract(Derefof(Refof(aui6)), arg1, Local0)
+ m600(arg0, 41, Local0, 0xfffffffffffffce0)
+ }
+
+ Subtract(Derefof(Index(paui, 5)), arg1, Local0)
+ m600(arg0, 42, Local0, 0xfffffffffffffcdf)
+
+ Subtract(Derefof(Index(paui, 6)), arg1, Local0)
+ m600(arg0, 43, Local0, 0xfffffffffffffce0)
+
+ // Method returns Integer
+
+ Subtract(m601(1, 5), arg1, Local0)
+ m600(arg0, 44, Local0, 0xfffffffffffffcdf)
+
+ Subtract(m601(1, 6), arg1, Local0)
+ m600(arg0, 45, Local0, 0xfffffffffffffce0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(Derefof(m602(1, 5, 1)), arg1, Local0)
+ m600(arg0, 46, Local0, 0xfffffffffffffcdf)
+
+ Subtract(Derefof(m602(1, 6, 1)), arg1, Local0)
+ m600(arg0, 47, Local0, 0xfffffffffffffce0)
+ }
+ }
+
+ // Subtract, 64-bit
+ Method(m020, 3)
+ {
+ // Conversion of the first operand
+
+ Store(Subtract(arg2, 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(arg2, 1), Local0)
+ m600(arg0, 1, Local0, 0xfe7cb391d650a283)
+
+ Store(Subtract(arg2, aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(arg2, aui6), Local0)
+ m600(arg0, 3, Local0, 0xfe7cb391d650a283)
+
+ if (y078) {
+ Store(Subtract(arg2, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(arg2, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xfe7cb391d650a283)
+ }
+
+ Store(Subtract(arg2, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(arg2, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Integer
+
+ Store(Subtract(arg2, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(arg2, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(arg2, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(arg2, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfe7cb391d650a283)
+ }
+
+ Subtract(arg2, 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Subtract(arg2, 1, Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a283)
+
+ Subtract(arg2, aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Subtract(arg2, aui6, Local0)
+ m600(arg0, 15, Local0, 0xfe7cb391d650a283)
+
+ if (y078) {
+ Subtract(arg2, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Subtract(arg2, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xfe7cb391d650a283)
+ }
+
+ Subtract(arg2, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Subtract(arg2, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Integer
+
+ Subtract(arg2, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Subtract(arg2, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(arg2, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Subtract(arg2, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfe7cb391d650a283)
+ }
+
+ // Conversion of the second operand
+
+ Store(Subtract(0, arg2), Local0)
+ m600(arg0, 24, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(1, arg2), Local0)
+ m600(arg0, 25, Local0, 0x01834c6e29af5d7d)
+
+ Store(Subtract(aui5, arg2), Local0)
+ m600(arg0, 26, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(aui6, arg2), Local0)
+ m600(arg0, 27, Local0, 0x01834c6e29af5d7d)
+
+ if (y078) {
+ Store(Subtract(Derefof(Refof(aui5)), arg2), Local0)
+ m600(arg0, 28, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(Derefof(Refof(aui6)), arg2), Local0)
+ m600(arg0, 29, Local0, 0x01834c6e29af5d7d)
+ }
+
+ Store(Subtract(Derefof(Index(paui, 5)), arg2), Local0)
+ m600(arg0, 30, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(Derefof(Index(paui, 6)), arg2), Local0)
+ m600(arg0, 31, Local0, 0x01834c6e29af5d7d)
+
+ // Method returns Integer
+
+ Store(Subtract(m601(1, 5), arg2), Local0)
+ m600(arg0, 32, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(m601(1, 6), arg2), Local0)
+ m600(arg0, 33, Local0, 0x01834c6e29af5d7d)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(Derefof(m602(1, 5, 1)), arg2), Local0)
+ m600(arg0, 34, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(Derefof(m602(1, 6, 1)), arg2), Local0)
+ m600(arg0, 35, Local0, 0x01834c6e29af5d7d)
+ }
+
+ Subtract(0, arg2, Local0)
+ m600(arg0, 36, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(1, arg2, Local0)
+ m600(arg0, 37, Local0, 0x01834c6e29af5d7d)
+
+ Subtract(aui5, arg2, Local0)
+ m600(arg0, 38, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(aui6, arg2, Local0)
+ m600(arg0, 39, Local0, 0x01834c6e29af5d7d)
+
+ if (y078) {
+ Subtract(Derefof(Refof(aui5)), arg2, Local0)
+ m600(arg0, 40, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(Derefof(Refof(aui6)), arg2, Local0)
+ m600(arg0, 41, Local0, 0x01834c6e29af5d7d)
+ }
+
+ Subtract(Derefof(Index(paui, 5)), arg2, Local0)
+ m600(arg0, 42, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(Derefof(Index(paui, 6)), arg2, Local0)
+ m600(arg0, 43, Local0, 0x01834c6e29af5d7d)
+
+ // Method returns Integer
+
+ Subtract(m601(1, 5), arg2, Local0)
+ m600(arg0, 44, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(m601(1, 6), arg2, Local0)
+ m600(arg0, 45, Local0, 0x01834c6e29af5d7d)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(Derefof(m602(1, 5, 1)), arg2, Local0)
+ m600(arg0, 46, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(Derefof(m602(1, 6, 1)), arg2, Local0)
+ m600(arg0, 47, Local0, 0x01834c6e29af5d7d)
+ }
+
+ // Conversion of the both operands
+
+ Store(Subtract(arg1, arg2), Local0)
+ m600(arg0, 48, Local0, 0x01834c6e29af609d)
+
+ Store(Subtract(arg2, arg1), Local0)
+ m600(arg0, 49, Local0, 0xfe7cb391d6509f63)
+
+ Subtract(arg1, arg2, Local0)
+ m600(arg0, 50, Local0, 0x01834c6e29af609d)
+
+ Subtract(arg2, arg1, Local0)
+ m600(arg0, 51, Local0, 0xfe7cb391d6509f63)
+ }
+
+ // Subtract, 32-bit
+ Method(m021, 3)
+ {
+ // Conversion of the first operand
+
+ Store(Subtract(arg2, 0), Local0)
+ m600(arg0, 0, Local0, 0xc179b3fe)
+
+ Store(Subtract(arg2, 1), Local0)
+ m600(arg0, 1, Local0, 0xc179b3fd)
+
+ Store(Subtract(arg2, aui5), Local0)
+ m600(arg0, 2, Local0, 0xc179b3fe)
+
+ Store(Subtract(arg2, aui6), Local0)
+ m600(arg0, 3, Local0, 0xc179b3fd)
+
+ if (y078) {
+ Store(Subtract(arg2, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xc179b3fe)
+
+ Store(Subtract(arg2, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xc179b3fd)
+ }
+
+ Store(Subtract(arg2, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xc179b3fe)
+
+ Store(Subtract(arg2, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xc179b3fd)
+
+ // Method returns Integer
+
+ Store(Subtract(arg2, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xc179b3fe)
+
+ Store(Subtract(arg2, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xc179b3fd)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(arg2, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xc179b3fe)
+
+ Store(Subtract(arg2, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xc179b3fd)
+ }
+
+ Subtract(arg2, 0, Local0)
+ m600(arg0, 12, Local0, 0xc179b3fe)
+
+ Subtract(arg2, 1, Local0)
+ m600(arg0, 13, Local0, 0xc179b3fd)
+
+ Subtract(arg2, aui5, Local0)
+ m600(arg0, 14, Local0, 0xc179b3fe)
+
+ Subtract(arg2, aui6, Local0)
+ m600(arg0, 15, Local0, 0xc179b3fd)
+
+ if (y078) {
+ Subtract(arg2, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xc179b3fe)
+
+ Subtract(arg2, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xc179b3fd)
+ }
+
+ Subtract(arg2, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xc179b3fe)
+
+ Subtract(arg2, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xc179b3fd)
+
+ // Method returns Integer
+
+ Subtract(arg2, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xc179b3fe)
+
+ Subtract(arg2, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xc179b3fd)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(arg2, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xc179b3fe)
+
+ Subtract(arg2, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xc179b3fd)
+ }
+
+ // Conversion of the second operand
+
+ Store(Subtract(0, arg2), Local0)
+ m600(arg0, 24, Local0, 0x3e864c02)
+
+ Store(Subtract(1, arg2), Local0)
+ m600(arg0, 25, Local0, 0x3e864c03)
+
+ Store(Subtract(aui5, arg2), Local0)
+ m600(arg0, 26, Local0, 0x3e864c02)
+
+ Store(Subtract(aui6, arg2), Local0)
+ m600(arg0, 27, Local0, 0x3e864c03)
+
+ if (y078) {
+ Store(Subtract(Derefof(Refof(aui5)), arg2), Local0)
+ m600(arg0, 28, Local0, 0x3e864c02)
+
+ Store(Subtract(Derefof(Refof(aui6)), arg2), Local0)
+ m600(arg0, 29, Local0, 0x3e864c03)
+ }
+
+ Store(Subtract(Derefof(Index(paui, 5)), arg2), Local0)
+ m600(arg0, 30, Local0, 0x3e864c02)
+
+ Store(Subtract(Derefof(Index(paui, 6)), arg2), Local0)
+ m600(arg0, 31, Local0, 0x3e864c03)
+
+ // Method returns Integer
+
+ Store(Subtract(m601(1, 5), arg2), Local0)
+ m600(arg0, 32, Local0, 0x3e864c02)
+
+ Store(Subtract(m601(1, 6), arg2), Local0)
+ m600(arg0, 33, Local0, 0x3e864c03)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(Derefof(m602(1, 5, 1)), arg2), Local0)
+ m600(arg0, 34, Local0, 0x3e864c02)
+
+ Store(Subtract(Derefof(m602(1, 6, 1)), arg2), Local0)
+ m600(arg0, 35, Local0, 0x3e864c03)
+ }
+
+ Subtract(0, arg2, Local0)
+ m600(arg0, 36, Local0, 0x3e864c02)
+
+ Subtract(1, arg2, Local0)
+ m600(arg0, 37, Local0, 0x3e864c03)
+
+ Subtract(aui5, arg2, Local0)
+ m600(arg0, 38, Local0, 0x3e864c02)
+
+ Subtract(aui6, arg2, Local0)
+ m600(arg0, 39, Local0, 0x3e864c03)
+
+ if (y078) {
+ Subtract(Derefof(Refof(aui5)), arg2, Local0)
+ m600(arg0, 40, Local0, 0x3e864c02)
+
+ Subtract(Derefof(Refof(aui6)), arg2, Local0)
+ m600(arg0, 41, Local0, 0x3e864c03)
+ }
+
+ Subtract(Derefof(Index(paui, 5)), arg2, Local0)
+ m600(arg0, 42, Local0, 0x3e864c02)
+
+ Subtract(Derefof(Index(paui, 6)), arg2, Local0)
+ m600(arg0, 43, Local0, 0x3e864c03)
+
+ // Method returns Integer
+
+ Subtract(m601(1, 5), arg2, Local0)
+ m600(arg0, 44, Local0, 0x3e864c02)
+
+ Subtract(m601(1, 6), arg2, Local0)
+ m600(arg0, 45, Local0, 0x3e864c03)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(Derefof(m602(1, 5, 1)), arg2, Local0)
+ m600(arg0, 46, Local0, 0x3e864c02)
+
+ Subtract(Derefof(m602(1, 6, 1)), arg2, Local0)
+ m600(arg0, 47, Local0, 0x3e864c03)
+ }
+
+ // Conversion of the both operands
+
+ Store(Subtract(arg1, arg2), Local0)
+ m600(arg0, 48, Local0, 0x3e864f23)
+
+ Store(Subtract(arg2, arg1), Local0)
+ m600(arg0, 49, Local0, 0xc179b0dd)
+
+ Subtract(arg1, arg2, Local0)
+ m600(arg0, 50, Local0, 0x3e864f23)
+
+ Subtract(arg2, arg1, Local0)
+ m600(arg0, 51, Local0, 0xc179b0dd)
+ }
+
+ // XOr, common 32-bit/64-bit test
+ Method(m022, 2)
+ {
+ // Conversion of the first operand
+
+ Store(XOr(arg1, 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(XOr(arg1, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xfffffffffffffcde)
+
+ Store(XOr(arg1, aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(XOr(arg1, auij), Local0)
+ m600(arg0, 3, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ Store(XOr(arg1, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(XOr(arg1, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xfffffffffffffcde)
+ }
+
+ Store(XOr(arg1, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(XOr(arg1, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ Store(XOr(arg1, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(XOr(arg1, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(arg1, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(XOr(arg1, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfffffffffffffcde)
+ }
+
+ XOr(arg1, 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ XOr(arg1, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xfffffffffffffcde)
+
+ XOr(arg1, aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ XOr(arg1, auij, Local0)
+ m600(arg0, 15, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ XOr(arg1, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ XOr(arg1, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xfffffffffffffcde)
+ }
+
+ XOr(arg1, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ XOr(arg1, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ XOr(arg1, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ XOr(arg1, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(arg1, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ XOr(arg1, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfffffffffffffcde)
+ }
+
+ // Conversion of the second operand
+
+ Store(XOr(0, arg1), Local0)
+ m600(arg0, 24, Local0, 0x321)
+
+ Store(XOr(0xffffffffffffffff, arg1), Local0)
+ m600(arg0, 25, Local0, 0xfffffffffffffcde)
+
+ Store(XOr(aui5, arg1), Local0)
+ m600(arg0, 26, Local0, 0x321)
+
+ Store(XOr(auij, arg1), Local0)
+ m600(arg0, 27, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ Store(XOr(Derefof(Refof(aui5)), arg1), Local0)
+ m600(arg0, 28, Local0, 0x321)
+
+ Store(XOr(Derefof(Refof(auij)), arg1), Local0)
+ m600(arg0, 29, Local0, 0xfffffffffffffcde)
+ }
+
+ Store(XOr(Derefof(Index(paui, 5)), arg1), Local0)
+ m600(arg0, 30, Local0, 0x321)
+
+ Store(XOr(Derefof(Index(paui, 19)), arg1), Local0)
+ m600(arg0, 31, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ Store(XOr(m601(1, 5), arg1), Local0)
+ m600(arg0, 32, Local0, 0x321)
+
+ Store(XOr(m601(1, 19), arg1), Local0)
+ m600(arg0, 33, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(Derefof(m602(1, 5, 1)), arg1), Local0)
+ m600(arg0, 34, Local0, 0x321)
+
+ Store(XOr(Derefof(m602(1, 19, 1)), arg1), Local0)
+ m600(arg0, 35, Local0, 0xfffffffffffffcde)
+ }
+
+ XOr(0, arg1, Local0)
+ m600(arg0, 36, Local0, 0x321)
+
+ XOr(0xffffffffffffffff, arg1, Local0)
+ m600(arg0, 37, Local0, 0xfffffffffffffcde)
+
+ XOr(aui5, arg1, Local0)
+ m600(arg0, 38, Local0, 0x321)
+
+ XOr(auij, arg1, Local0)
+ m600(arg0, 39, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ XOr(Derefof(Refof(aui5)), arg1, Local0)
+ m600(arg0, 40, Local0, 0x321)
+
+ XOr(Derefof(Refof(auij)), arg1, Local0)
+ m600(arg0, 41, Local0, 0xfffffffffffffcde)
+ }
+
+ XOr(Derefof(Index(paui, 5)), arg1, Local0)
+ m600(arg0, 42, Local0, 0x321)
+
+ XOr(Derefof(Index(paui, 19)), arg1, Local0)
+ m600(arg0, 43, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ XOr(m601(1, 5), arg1, Local0)
+ m600(arg0, 44, Local0, 0x321)
+
+ XOr(m601(1, 19), arg1, Local0)
+ m600(arg0, 45, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(Derefof(m602(1, 5, 1)), arg1, Local0)
+ m600(arg0, 46, Local0, 0x321)
+
+ XOr(Derefof(m602(1, 19, 1)), arg1, Local0)
+ m600(arg0, 47, Local0, 0xfffffffffffffcde)
+ }
+ }
+
+ // XOr, 64-bit
+ Method(m023, 3)
+ {
+ // Conversion of the first operand
+
+ Store(XOr(arg2, 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(arg2, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0x01834c6e29af5d7b)
+
+ Store(XOr(arg2, aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(arg2, auij), Local0)
+ m600(arg0, 3, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ Store(XOr(arg2, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(arg2, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Store(XOr(arg2, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(arg2, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ Store(XOr(arg2, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(arg2, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(arg2, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(arg2, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0x01834c6e29af5d7b)
+ }
+
+ XOr(arg2, 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ XOr(arg2, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0x01834c6e29af5d7b)
+
+ XOr(arg2, aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ XOr(arg2, auij, Local0)
+ m600(arg0, 15, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ XOr(arg2, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ XOr(arg2, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0x01834c6e29af5d7b)
+ }
+
+ XOr(arg2, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ XOr(arg2, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ XOr(arg2, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ XOr(arg2, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(arg2, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ XOr(arg2, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0x01834c6e29af5d7b)
+ }
+
+ // Conversion of the second operand
+
+ Store(XOr(0, arg2), Local0)
+ m600(arg0, 24, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(0xffffffffffffffff, arg2), Local0)
+ m600(arg0, 25, Local0, 0x01834c6e29af5d7b)
+
+ Store(XOr(aui5, arg2), Local0)
+ m600(arg0, 26, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(auij, arg2), Local0)
+ m600(arg0, 27, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ Store(XOr(Derefof(Refof(aui5)), arg2), Local0)
+ m600(arg0, 28, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(Refof(auij)), arg2), Local0)
+ m600(arg0, 29, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Store(XOr(Derefof(Index(paui, 5)), arg2), Local0)
+ m600(arg0, 30, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(Index(paui, 19)), arg2), Local0)
+ m600(arg0, 31, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ Store(XOr(m601(1, 5), arg2), Local0)
+ m600(arg0, 32, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(m601(1, 19), arg2), Local0)
+ m600(arg0, 33, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(Derefof(m602(1, 5, 1)), arg2), Local0)
+ m600(arg0, 34, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(m602(1, 19, 1)), arg2), Local0)
+ m600(arg0, 35, Local0, 0x01834c6e29af5d7b)
+ }
+
+ XOr(0, arg2, Local0)
+ m600(arg0, 36, Local0, 0xfe7cb391d650a284)
+
+ XOr(0xffffffffffffffff, arg2, Local0)
+ m600(arg0, 37, Local0, 0x01834c6e29af5d7b)
+
+ XOr(aui5, arg2, Local0)
+ m600(arg0, 38, Local0, 0xfe7cb391d650a284)
+
+ XOr(auij, arg2, Local0)
+ m600(arg0, 39, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ XOr(Derefof(Refof(aui5)), arg2, Local0)
+ m600(arg0, 40, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(Refof(auij)), arg2, Local0)
+ m600(arg0, 41, Local0, 0x01834c6e29af5d7b)
+ }
+
+ XOr(Derefof(Index(paui, 5)), arg2, Local0)
+ m600(arg0, 42, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(Index(paui, 19)), arg2, Local0)
+ m600(arg0, 43, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ XOr(m601(1, 5), arg2, Local0)
+ m600(arg0, 44, Local0, 0xfe7cb391d650a284)
+
+ XOr(m601(1, 19), arg2, Local0)
+ m600(arg0, 45, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(Derefof(m602(1, 5, 1)), arg2, Local0)
+ m600(arg0, 46, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(m602(1, 19, 1)), arg2, Local0)
+ m600(arg0, 47, Local0, 0x01834c6e29af5d7b)
+ }
+
+ // Conversion of the both operands
+
+ Store(XOr(arg1, arg2), Local0)
+ m600(arg0, 48, Local0, 0xfe7cb391d650a1a5)
+
+ Store(XOr(arg2, arg1), Local0)
+ m600(arg0, 49, Local0, 0xfe7cb391d650a1a5)
+
+ XOr(arg1, arg2, Local0)
+ m600(arg0, 50, Local0, 0xfe7cb391d650a1a5)
+
+ XOr(arg2, arg1, Local0)
+ m600(arg0, 51, Local0, 0xfe7cb391d650a1a5)
+ }
+
+ // XOr, 32-bit
+ Method(m024, 3)
+ {
+ // Conversion of the first operand
+
+ Store(XOr(arg2, 0), Local0)
+ m600(arg0, 0, Local0, 0xc179b3fe)
+
+ Store(XOr(arg2, 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0x3e864c01)
+
+ Store(XOr(arg2, aui5), Local0)
+ m600(arg0, 2, Local0, 0xc179b3fe)
+
+ Store(XOr(arg2, auii), Local0)
+ m600(arg0, 3, Local0, 0x3e864c01)
+
+ if (y078) {
+ Store(XOr(arg2, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xc179b3fe)
+
+ Store(XOr(arg2, Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0x3e864c01)
+ }
+
+ Store(XOr(arg2, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xc179b3fe)
+
+ Store(XOr(arg2, Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0x3e864c01)
+
+ // Method returns Integer
+
+ Store(XOr(arg2, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xc179b3fe)
+
+ Store(XOr(arg2, m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0x3e864c01)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(arg2, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xc179b3fe)
+
+ Store(XOr(arg2, Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0x3e864c01)
+ }
+
+ XOr(arg2, 0, Local0)
+ m600(arg0, 12, Local0, 0xc179b3fe)
+
+ XOr(arg2, 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0x3e864c01)
+
+ XOr(arg2, aui5, Local0)
+ m600(arg0, 14, Local0, 0xc179b3fe)
+
+ XOr(arg2, auii, Local0)
+ m600(arg0, 15, Local0, 0x3e864c01)
+
+ if (y078) {
+ XOr(arg2, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xc179b3fe)
+
+ XOr(arg2, Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0x3e864c01)
+ }
+
+ XOr(arg2, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xc179b3fe)
+
+ XOr(arg2, Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0x3e864c01)
+
+ // Method returns Integer
+
+ XOr(arg2, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xc179b3fe)
+
+ XOr(arg2, m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0x3e864c01)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(arg2, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xc179b3fe)
+
+ XOr(arg2, Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0x3e864c01)
+ }
+
+ // Conversion of the second operand
+
+ Store(XOr(0, arg2), Local0)
+ m600(arg0, 24, Local0, 0xc179b3fe)
+
+ Store(XOr(0xffffffff, arg2), Local0)
+ m600(arg0, 25, Local0, 0x3e864c01)
+
+ Store(XOr(aui5, arg2), Local0)
+ m600(arg0, 26, Local0, 0xc179b3fe)
+
+ Store(XOr(auii, arg2), Local0)
+ m600(arg0, 27, Local0, 0x3e864c01)
+
+ if (y078) {
+ Store(XOr(Derefof(Refof(aui5)), arg2), Local0)
+ m600(arg0, 28, Local0, 0xc179b3fe)
+
+ Store(XOr(Derefof(Refof(auii)), arg2), Local0)
+ m600(arg0, 29, Local0, 0x3e864c01)
+ }
+
+ Store(XOr(Derefof(Index(paui, 5)), arg2), Local0)
+ m600(arg0, 30, Local0, 0xc179b3fe)
+
+ Store(XOr(Derefof(Index(paui, 18)), arg2), Local0)
+ m600(arg0, 31, Local0, 0x3e864c01)
+
+ // Method returns Integer
+
+ Store(XOr(m601(1, 5), arg2), Local0)
+ m600(arg0, 32, Local0, 0xc179b3fe)
+
+ Store(XOr(m601(1, 18), arg2), Local0)
+ m600(arg0, 33, Local0, 0x3e864c01)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(Derefof(m602(1, 5, 1)), arg2), Local0)
+ m600(arg0, 34, Local0, 0xc179b3fe)
+
+ Store(XOr(Derefof(m602(1, 18, 1)), arg2), Local0)
+ m600(arg0, 35, Local0, 0x3e864c01)
+ }
+
+ XOr(0, arg2, Local0)
+ m600(arg0, 36, Local0, 0xc179b3fe)
+
+ XOr(0xffffffff, arg2, Local0)
+ m600(arg0, 37, Local0, 0x3e864c01)
+
+ XOr(aui5, arg2, Local0)
+ m600(arg0, 38, Local0, 0xc179b3fe)
+
+ XOr(auii, arg2, Local0)
+ m600(arg0, 39, Local0, 0x3e864c01)
+
+ if (y078) {
+ XOr(Derefof(Refof(aui5)), arg2, Local0)
+ m600(arg0, 40, Local0, 0xc179b3fe)
+
+ XOr(Derefof(Refof(auii)), arg2, Local0)
+ m600(arg0, 41, Local0, 0x3e864c01)
+ }
+
+ XOr(Derefof(Index(paui, 5)), arg2, Local0)
+ m600(arg0, 42, Local0, 0xc179b3fe)
+
+ XOr(Derefof(Index(paui, 18)), arg2, Local0)
+ m600(arg0, 43, Local0, 0x3e864c01)
+
+ // Method returns Integer
+
+ XOr(m601(1, 5), arg2, Local0)
+ m600(arg0, 44, Local0, 0xc179b3fe)
+
+ XOr(m601(1, 18), arg2, Local0)
+ m600(arg0, 45, Local0, 0x3e864c01)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(Derefof(m602(1, 5, 1)), arg2, Local0)
+ m600(arg0, 46, Local0, 0xc179b3fe)
+
+ XOr(Derefof(m602(1, 18, 1)), arg2, Local0)
+ m600(arg0, 47, Local0, 0x3e864c01)
+ }
+
+ // Conversion of the both operands
+
+ Store(XOr(arg1, arg2), Local0)
+ m600(arg0, 48, Local0, 0xc179b0df)
+
+ Store(XOr(arg2, arg1), Local0)
+ m600(arg0, 49, Local0, 0xc179b0df)
+
+ XOr(arg1, arg2, Local0)
+ m600(arg0, 50, Local0, 0xc179b0df)
+
+ XOr(arg2, arg1, Local0)
+ m600(arg0, 51, Local0, 0xc179b0df)
+ }
+
+ // Add, And, Divide, Mod, Multiply, NAnd, NOr, Or,
+ // ShiftLeft, ShiftRight, Subtract, Xor
+
+ Method(m64d, 1)
+ {
+ // Add
+ Concatenate(arg0, "-m001", Local0)
+ SRMT(Local0)
+ m001(Local0, "0321")
+ Concatenate(arg0, "-m002", Local0)
+ SRMT(Local0)
+ m002(Local0, "0321", "FE7CB391D650A284")
+
+ // And
+ Concatenate(arg0, "-m004", Local0)
+ SRMT(Local0)
+ m004(Local0, "0321")
+ Concatenate(arg0, "-m005", Local0)
+ SRMT(Local0)
+ m005(Local0, "0321", "FE7CB391D650A284")
+
+ // Divide
+ Concatenate(arg0, "-m007", Local0)
+ SRMT(Local0)
+ m007(Local0, "0321")
+ Concatenate(arg0, "-m008", Local0)
+ SRMT(Local0)
+ m008(Local0, "0321", "FE7CB391D650A284")
+
+ // Mod
+ Concatenate(arg0, "-m00a", Local0)
+ SRMT(Local0)
+ m00a(Local0, "0321")
+ Concatenate(arg0, "-m00b", Local0)
+ SRMT(Local0)
+ m00b(Local0, "0321", "FE7CB391D650A284")
+
+ // Multiply
+ Concatenate(arg0, "-m00d", Local0)
+ SRMT(Local0)
+ m00d(Local0, "0321")
+ Concatenate(arg0, "-m00e", Local0)
+ SRMT(Local0)
+ m00e(Local0, "0321", "FE7CB391D650A284")
+
+ // NAnd
+ Concatenate(arg0, "-m010", Local0)
+ SRMT(Local0)
+ m010(Local0, "0321")
+ Concatenate(arg0, "-m011", Local0)
+ SRMT(Local0)
+ m011(Local0, "0321", "FE7CB391D650A284")
+
+ // NOr
+ Concatenate(arg0, "-m013", Local0)
+ SRMT(Local0)
+ m013(Local0, "0321")
+ Concatenate(arg0, "-m014", Local0)
+ SRMT(Local0)
+ m014(Local0, "0321", "FE7CB391D650A284")
+
+ // Or
+ Concatenate(arg0, "-m016", Local0)
+ SRMT(Local0)
+ m016(Local0, "0321")
+ Concatenate(arg0, "-m017", Local0)
+ SRMT(Local0)
+ m017(Local0, "0321", "FE7CB391D650A284")
+
+ // ShiftLeft
+ Concatenate(arg0, "-m019", Local0)
+ SRMT(Local0)
+ m019(Local0, "0321", "B")
+ Concatenate(arg0, "-m01a", Local0)
+ SRMT(Local0)
+ m01a(Local0, "0321", "FE7CB391D650A284", "B")
+
+ // ShiftRight
+ Concatenate(arg0, "-m01c", Local0)
+ SRMT(Local0)
+ m01c(Local0, "0321", "B")
+ Concatenate(arg0, "-m01d", Local0)
+ SRMT(Local0)
+ m01d(Local0, "0321", "FE7CB391D650A284", "B")
+
+ // Subtract
+ Concatenate(arg0, "-m01f", Local0)
+ SRMT(Local0)
+ m01f(Local0, "0321")
+ Concatenate(arg0, "-m020", Local0)
+ SRMT(Local0)
+ m020(Local0, "0321", "FE7CB391D650A284")
+
+ // XOr
+ Concatenate(arg0, "-m022", Local0)
+ SRMT(Local0)
+ m022(Local0, "0321")
+ Concatenate(arg0, "-m023", Local0)
+ SRMT(Local0)
+ m023(Local0, "0321", "FE7CB391D650A284")
+ }
+
+ Method(m32d, 1)
+ {
+ // Add
+ Concatenate(arg0, "-m001", Local0)
+ SRMT(Local0)
+ m001(Local0, "0321")
+ Concatenate(arg0, "-m003", Local0)
+ SRMT(Local0)
+ m003(Local0, "0321", "C179B3FE")
+
+ // And
+ Concatenate(arg0, "-m004", Local0)
+ SRMT(Local0)
+ m004(Local0, "0321")
+ Concatenate(arg0, "-m006", Local0)
+ SRMT(Local0)
+ m006(Local0, "0321", "C179B3FE")
+
+ // Divide
+ Concatenate(arg0, "-m007", Local0)
+ SRMT(Local0)
+ m007(Local0, "0321")
+ Concatenate(arg0, "-m009", Local0)
+ SRMT(Local0)
+ m009(Local0, "0321", "C179B3FE")
+
+ // Mod
+ Concatenate(arg0, "-m00a", Local0)
+ SRMT(Local0)
+ m00a(Local0, "0321")
+ Concatenate(arg0, "-m00c", Local0)
+ SRMT(Local0)
+ m00c(Local0, "0321", "C179B3FE")
+
+ // Multiply
+ Concatenate(arg0, "-m00d", Local0)
+ SRMT(Local0)
+ m00d(Local0, "0321")
+ Concatenate(arg0, "-m00f", Local0)
+ SRMT(Local0)
+ m00f(Local0, "0321", "C179B3FE")
+
+ // NAnd
+ Concatenate(arg0, "-m010", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m010(Local0, "0321")
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m012", Local0)
+ SRMT(Local0)
+ m012(Local0, "0321", "C179B3FE")
+
+ // NOr
+ Concatenate(arg0, "-m013", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m013(Local0, "0321")
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m015", Local0)
+ SRMT(Local0)
+ m015(Local0, "0321", "C179B3FE")
+
+ // Or
+ Concatenate(arg0, "-m016", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m016(Local0, "0321")
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m018", Local0)
+ SRMT(Local0)
+ m018(Local0, "0321", "C179B3FE")
+
+ // ShiftLeft
+ Concatenate(arg0, "-m019", Local0)
+ SRMT(Local0)
+ m019(Local0, "0321", "B")
+ Concatenate(arg0, "-m01b", Local0)
+ SRMT(Local0)
+ m01b(Local0, "0321", "C179B3FE", "B")
+
+ // ShiftRight
+ Concatenate(arg0, "-m01c", Local0)
+ SRMT(Local0)
+ m01c(Local0, "0321", "B")
+ Concatenate(arg0, "-m01e", Local0)
+ SRMT(Local0)
+ m01e(Local0, "0321", "C179B3FE", "B")
+
+ // Subtract
+ Concatenate(arg0, "-m01f", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m01f(Local0, "0321")
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m021", Local0)
+ SRMT(Local0)
+ m021(Local0, "0321", "C179B3FE")
+
+ // XOr
+ Concatenate(arg0, "-m022", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m022(Local0, "0321")
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m024", Local0)
+ SRMT(Local0)
+ m024(Local0, "0321", "C179B3FE")
+ }
+
+
+ // String to Integer conversion of each String operand
+ // of the 2-parameter Logical Integer operators LAnd and LOr
+
+ // LAnd, common 32-bit/64-bit test
+ Method(m025, 2)
+ {
+ // Conversion of the first operand
+
+ Store(LAnd(arg1, 0), Local0)
+ m600(arg0, 0, Local0, Zero)
+
+ Store(LAnd(arg1, 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(LAnd(arg1, aui5), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LAnd(arg1, aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(arg1, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LAnd(arg1, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(LAnd(arg1, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Zero)
+
+ Store(LAnd(arg1, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(arg1, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Zero)
+
+ Store(LAnd(arg1, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(arg1, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LAnd(arg1, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(LAnd(0, arg1), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LAnd(1, arg1), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LAnd(aui5, arg1), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LAnd(aui6, arg1), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(Derefof(Refof(aui5)), arg1), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(aui6)), arg1), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(LAnd(Derefof(Index(paui, 5)), arg1), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LAnd(Derefof(Index(paui, 6)), arg1), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(m601(1, 5), arg1), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LAnd(m601(1, 6), arg1), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(Derefof(m602(1, 5, 1)), arg1), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LAnd(Derefof(m602(1, 6, 1)), arg1), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+ }
+
+ // LAnd, 64-bit
+ Method(m026, 3)
+ {
+ // Conversion of the first operand
+
+ Store(LAnd(arg2, 0), Local0)
+ m600(arg0, 0, Local0, Zero)
+
+ Store(LAnd(arg2, 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(LAnd(arg2, aui5), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LAnd(arg2, aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(arg2, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LAnd(arg2, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(LAnd(arg2, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Zero)
+
+ Store(LAnd(arg2, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(arg2, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Zero)
+
+ Store(LAnd(arg2, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(arg2, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LAnd(arg2, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(LAnd(0, arg2), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LAnd(1, arg2), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LAnd(aui5, arg2), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LAnd(aui6, arg2), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(Derefof(Refof(aui5)), arg2), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(aui6)), arg2), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(LAnd(Derefof(Index(paui, 5)), arg2), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LAnd(Derefof(Index(paui, 6)), arg2), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(m601(1, 5), arg2), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LAnd(m601(1, 6), arg2), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(Derefof(m602(1, 5, 1)), arg2), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LAnd(Derefof(m602(1, 6, 1)), arg2), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+
+ // Conversion of the both operands
+
+ Store(LAnd(arg1, arg2), Local0)
+ m600(arg0, 24, Local0, Ones)
+
+ Store(LAnd(arg2, arg1), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // LAnd, 32-bit
+ Method(m027, 3)
+ {
+ // Conversion of the first operand
+
+ Store(LAnd(arg2, 0), Local0)
+ m600(arg0, 0, Local0, Zero)
+
+ Store(LAnd(arg2, 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(LAnd(arg2, aui5), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LAnd(arg2, aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(arg2, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LAnd(arg2, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(LAnd(arg2, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Zero)
+
+ Store(LAnd(arg2, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(arg2, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Zero)
+
+ Store(LAnd(arg2, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(arg2, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LAnd(arg2, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(LAnd(0, arg2), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LAnd(1, arg2), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LAnd(aui5, arg2), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LAnd(aui6, arg2), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(Derefof(Refof(aui5)), arg2), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(aui6)), arg2), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(LAnd(Derefof(Index(paui, 5)), arg2), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LAnd(Derefof(Index(paui, 6)), arg2), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(m601(1, 5), arg2), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LAnd(m601(1, 6), arg2), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(Derefof(m602(1, 5, 1)), arg2), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LAnd(Derefof(m602(1, 6, 1)), arg2), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+
+ // Conversion of the both operands
+
+ Store(LAnd(arg1, arg2), Local0)
+ m600(arg0, 24, Local0, Ones)
+
+ Store(LAnd(arg2, arg1), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // Lor, common 32-bit/64-bit test
+ Method(m028, 2)
+ {
+ // Conversion of the first operand
+
+ Store(Lor(arg1, 0), Local0)
+ m600(arg0, 0, Local0, Zero)
+
+ Store(Lor(arg1, 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(Lor(arg1, aui5), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(Lor(arg1, aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(arg1, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(Lor(arg1, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(Lor(arg1, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Zero)
+
+ Store(Lor(arg1, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(arg1, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Zero)
+
+ Store(Lor(arg1, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(arg1, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(Lor(arg1, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(Lor(0, arg1), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(Lor(1, arg1), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(Lor(aui5, arg1), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(Lor(aui6, arg1), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(Derefof(Refof(aui5)), arg1), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(Lor(Derefof(Refof(aui6)), arg1), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(Lor(Derefof(Index(paui, 5)), arg1), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(Lor(Derefof(Index(paui, 6)), arg1), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(m601(1, 5), arg1), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(Lor(m601(1, 6), arg1), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(Derefof(m602(1, 5, 1)), arg1), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(Lor(Derefof(m602(1, 6, 1)), arg1), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+ }
+
+ // Lor, 64-bit
+ Method(m029, 3)
+ {
+ // Conversion of the first operand
+
+ Store(Lor(arg1, 0), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(Lor(arg1, 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(Lor(arg1, aui5), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(Lor(arg1, aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(arg1, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(Lor(arg1, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(Lor(arg1, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(Lor(arg1, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(arg1, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(Lor(arg1, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(arg1, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(Lor(arg1, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(Lor(0, arg1), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(Lor(1, arg1), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(Lor(aui5, arg1), Local0)
+ m600(arg0, 14, Local0, Ones)
+
+ Store(Lor(aui6, arg1), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(Derefof(Refof(aui5)), arg1), Local0)
+ m600(arg0, 16, Local0, Ones)
+
+ Store(Lor(Derefof(Refof(aui6)), arg1), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(Lor(Derefof(Index(paui, 5)), arg1), Local0)
+ m600(arg0, 18, Local0, Ones)
+
+ Store(Lor(Derefof(Index(paui, 6)), arg1), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(m601(1, 5), arg1), Local0)
+ m600(arg0, 20, Local0, Ones)
+
+ Store(Lor(m601(1, 6), arg1), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(Derefof(m602(1, 5, 1)), arg1), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(Lor(Derefof(m602(1, 6, 1)), arg1), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+
+ // Conversion of the both operands
+
+ Store(Lor(arg2, arg1), Local0)
+ m600(arg0, 24, Local0, Ones)
+
+ Store(Lor(arg1, arg2), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // Lor, 32-bit
+ Method(m02a, 3)
+ {
+ // Conversion of the first operand
+
+ Store(Lor(arg1, 0), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(Lor(arg1, 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(Lor(arg1, aui5), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(Lor(arg1, aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(arg1, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(Lor(arg1, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(Lor(arg1, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(Lor(arg1, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(arg1, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(Lor(arg1, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(arg1, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(Lor(arg1, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(Lor(0, arg1), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(Lor(1, arg1), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(Lor(aui5, arg1), Local0)
+ m600(arg0, 14, Local0, Ones)
+
+ Store(Lor(aui6, arg1), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(Derefof(Refof(aui5)), arg1), Local0)
+ m600(arg0, 16, Local0, Ones)
+
+ Store(Lor(Derefof(Refof(aui6)), arg1), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(Lor(Derefof(Index(paui, 5)), arg1), Local0)
+ m600(arg0, 18, Local0, Ones)
+
+ Store(Lor(Derefof(Index(paui, 6)), arg1), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(m601(1, 5), arg1), Local0)
+ m600(arg0, 20, Local0, Ones)
+
+ Store(Lor(m601(1, 6), arg1), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(Derefof(m602(1, 5, 1)), arg1), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(Lor(Derefof(m602(1, 6, 1)), arg1), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+
+ // Conversion of the both operands
+
+ Store(Lor(arg2, arg1), Local0)
+ m600(arg0, 24, Local0, Ones)
+
+ Store(Lor(arg1, arg2), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ Method(m64e, 1)
+ {
+ // LAnd
+ Concatenate(arg0, "-m025", Local0)
+ SRMT(Local0)
+ m025(Local0, "0321")
+ Concatenate(arg0, "-m026", Local0)
+ SRMT(Local0)
+ m026(Local0, "0321", "FE7CB391D650A284")
+
+ // LOr
+ Concatenate(arg0, "-m028", Local0)
+ SRMT(Local0)
+ m028(Local0, "0")
+ Concatenate(arg0, "-m029", Local0)
+ SRMT(Local0)
+ m029(Local0, "FE7CB391D650A284", "0")
+ }
+
+ Method(m32e, 1)
+ {
+ // LAnd
+ Concatenate(arg0, "-m025", Local0)
+ SRMT(Local0)
+ m025(Local0, "0321")
+ Concatenate(arg0, "-m027", Local0)
+ SRMT(Local0)
+ m027(Local0, "0321", "C179B3FE")
+
+ // LOr
+ Concatenate(arg0, "-m028", Local0)
+ SRMT(Local0)
+ m028(Local0, "0")
+ Concatenate(arg0, "-m02a", Local0)
+ SRMT(Local0)
+ m02a(Local0, "C179B3FE", "0")
+ }
+
+
+ // String to Integer conversion of the String second operand of
+ // Logical operators when the first operand is evaluated as Integer
+ // (LEqual, LGreater, LGreaterEqual, LLess, LLessEqual, LNotEqual)
+
+ Method(m64f, 2)
+ {
+ // LEqual
+
+ Store(LEqual(0xfe7cb391d650a284, arg1), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual(0xfe7cb391d650a285, arg1), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(0xfe7cb391d650a283, arg1), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LEqual(aui4, arg1), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ Store(LEqual(auid, arg1), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LEqual(auif, arg1), Local0)
+ m600(arg0, 5, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aui4)), arg1), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(auid)), arg1), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ Store(LEqual(Derefof(Refof(auif)), arg1), Local0)
+ m600(arg0, 8, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paui, 4)), arg1), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paui, 13)), arg1), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LEqual(Derefof(Index(paui, 15)), arg1), Local0)
+ m600(arg0, 11, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LEqual(m601(1, 4), arg1), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(LEqual(m601(1, 13), arg1), Local0)
+ m600(arg0, 13, Local0, Zero)
+
+ Store(LEqual(m601(1, 15), arg1), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(1, 4, 1)), arg1), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(1, 13, 1)), arg1), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LEqual(Derefof(m602(1, 15, 1)), arg1), Local0)
+ m600(arg0, 17, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater(0xfe7cb391d650a284, arg1), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(0xfe7cb391d650a285, arg1), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ Store(LGreater(0xfe7cb391d650a283, arg1), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(aui4, arg1), Local0)
+ m600(arg0, 21, Local0, Zero)
+
+ Store(LGreater(auid, arg1), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(LGreater(auif, arg1), Local0)
+ m600(arg0, 23, Local0, Zero)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aui4)), arg1), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(auid)), arg1), Local0)
+ m600(arg0, 25, Local0, Ones)
+
+ Store(LGreater(Derefof(Refof(auif)), arg1), Local0)
+ m600(arg0, 26, Local0, Zero)
+ }
+
+ Store(LGreater(Derefof(Index(paui, 4)), arg1), Local0)
+ m600(arg0, 27, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paui, 13)), arg1), Local0)
+ m600(arg0, 28, Local0, Ones)
+
+ Store(LGreater(Derefof(Index(paui, 15)), arg1), Local0)
+ m600(arg0, 29, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreater(m601(1, 4), arg1), Local0)
+ m600(arg0, 30, Local0, Zero)
+
+ Store(LGreater(m601(1, 13), arg1), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ Store(LGreater(m601(1, 15), arg1), Local0)
+ m600(arg0, 32, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(1, 4, 1)), arg1), Local0)
+ m600(arg0, 33, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(1, 13, 1)), arg1), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreater(Derefof(m602(1, 15, 1)), arg1), Local0)
+ m600(arg0, 35, Local0, Zero)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual(0xfe7cb391d650a284, arg1), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(0xfe7cb391d650a285, arg1), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ Store(LGreaterEqual(0xfe7cb391d650a283, arg1), Local0)
+ m600(arg0, 38, Local0, Zero)
+
+ Store(LGreaterEqual(aui4, arg1), Local0)
+ m600(arg0, 39, Local0, Ones)
+
+ Store(LGreaterEqual(auid, arg1), Local0)
+ m600(arg0, 40, Local0, Ones)
+
+ Store(LGreaterEqual(auif, arg1), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aui4)), arg1), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auid)), arg1), Local0)
+ m600(arg0, 43, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auif)), arg1), Local0)
+ m600(arg0, 44, Local0, Zero)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paui, 4)), arg1), Local0)
+ m600(arg0, 45, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 13)), arg1), Local0)
+ m600(arg0, 46, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 15)), arg1), Local0)
+ m600(arg0, 47, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreaterEqual(m601(1, 4), arg1), Local0)
+ m600(arg0, 48, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 13), arg1), Local0)
+ m600(arg0, 49, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 15), arg1), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(1, 4, 1)), arg1), Local0)
+ m600(arg0, 51, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 13, 1)), arg1), Local0)
+ m600(arg0, 52, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 15, 1)), arg1), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLess
+
+ Store(LLess(0xfe7cb391d650a284, arg1), Local0)
+ m600(arg0, 54, Local0, Zero)
+
+ Store(LLess(0xfe7cb391d650a285, arg1), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLess(0xfe7cb391d650a283, arg1), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLess(aui4, arg1), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLess(auid, arg1), Local0)
+ m600(arg0, 58, Local0, Zero)
+
+ Store(LLess(auif, arg1), Local0)
+ m600(arg0, 59, Local0, Ones)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aui4)), arg1), Local0)
+ m600(arg0, 60, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auid)), arg1), Local0)
+ m600(arg0, 61, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auif)), arg1), Local0)
+ m600(arg0, 62, Local0, Ones)
+ }
+
+ Store(LLess(Derefof(Index(paui, 4)), arg1), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 13)), arg1), Local0)
+ m600(arg0, 64, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 15)), arg1), Local0)
+ m600(arg0, 65, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLess(m601(1, 4), arg1), Local0)
+ m600(arg0, 66, Local0, Zero)
+
+ Store(LLess(m601(1, 13), arg1), Local0)
+ m600(arg0, 67, Local0, Zero)
+
+ Store(LLess(m601(1, 15), arg1), Local0)
+ m600(arg0, 68, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLess(Derefof(m602(1, 4, 1)), arg1), Local0)
+ m600(arg0, 69, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 13, 1)), arg1), Local0)
+ m600(arg0, 70, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 15, 1)), arg1), Local0)
+ m600(arg0, 71, Local0, Ones)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual(0xfe7cb391d650a284, arg1), Local0)
+ m600(arg0, 72, Local0, Ones)
+
+ Store(LLessEqual(0xfe7cb391d650a285, arg1), Local0)
+ m600(arg0, 73, Local0, Zero)
+
+ Store(LLessEqual(0xfe7cb391d650a283, arg1), Local0)
+ m600(arg0, 74, Local0, Ones)
+
+ Store(LLessEqual(aui4, arg1), Local0)
+ m600(arg0, 75, Local0, Ones)
+
+ Store(LLessEqual(auid, arg1), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LLessEqual(auif, arg1), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aui4)), arg1), Local0)
+ m600(arg0, 78, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(auid)), arg1), Local0)
+ m600(arg0, 79, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Refof(auif)), arg1), Local0)
+ m600(arg0, 80, Local0, Ones)
+ }
+
+ Store(LLessEqual(Derefof(Index(paui, 4)), arg1), Local0)
+ m600(arg0, 81, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paui, 13)), arg1), Local0)
+ m600(arg0, 82, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Index(paui, 15)), arg1), Local0)
+ m600(arg0, 83, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLessEqual(m601(1, 4), arg1), Local0)
+ m600(arg0, 84, Local0, Ones)
+
+ Store(LLessEqual(m601(1, 13), arg1), Local0)
+ m600(arg0, 85, Local0, Zero)
+
+ Store(LLessEqual(m601(1, 15), arg1), Local0)
+ m600(arg0, 86, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(1, 4, 1)), arg1), Local0)
+ m600(arg0, 87, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(1, 13, 1)), arg1), Local0)
+ m600(arg0, 88, Local0, Zero)
+
+ Store(LLessEqual(Derefof(m602(1, 15, 1)), arg1), Local0)
+ m600(arg0, 89, Local0, Ones)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual(0xfe7cb391d650a284, arg1), Local0)
+ m600(arg0, 90, Local0, Zero)
+
+ Store(LNotEqual(0xfe7cb391d650a285, arg1), Local0)
+ m600(arg0, 91, Local0, Ones)
+
+ Store(LNotEqual(0xfe7cb391d650a283, arg1), Local0)
+ m600(arg0, 92, Local0, Ones)
+
+ Store(LNotEqual(aui4, arg1), Local0)
+ m600(arg0, 93, Local0, Zero)
+
+ Store(LNotEqual(auid, arg1), Local0)
+ m600(arg0, 94, Local0, Ones)
+
+ Store(LNotEqual(auif, arg1), Local0)
+ m600(arg0, 95, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aui4)), arg1), Local0)
+ m600(arg0, 96, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(auid)), arg1), Local0)
+ m600(arg0, 97, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Refof(auif)), arg1), Local0)
+ m600(arg0, 98, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paui, 4)), arg1), Local0)
+ m600(arg0, 99, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paui, 13)), arg1), Local0)
+ m600(arg0, 100, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Index(paui, 15)), arg1), Local0)
+ m600(arg0, 101, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LNotEqual(m601(1, 4), arg1), Local0)
+ m600(arg0, 102, Local0, Zero)
+
+ Store(LNotEqual(m601(1, 13), arg1), Local0)
+ m600(arg0, 103, Local0, Ones)
+
+ Store(LNotEqual(m601(1, 15), arg1), Local0)
+ m600(arg0, 104, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(1, 4, 1)), arg1), Local0)
+ m600(arg0, 105, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(1, 13, 1)), arg1), Local0)
+ m600(arg0, 106, Local0, Ones)
+
+ Store(LNotEqual(Derefof(m602(1, 15, 1)), arg1), Local0)
+ m600(arg0, 107, Local0, Ones)
+ }
+ }
+
+ Method(m32f, 2)
+ {
+ // LEqual
+
+ Store(LEqual(0xc179b3fe, arg1), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual(0xc179b3ff, arg1), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(0xc179b3fd, arg1), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LEqual(aui3, arg1), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ Store(LEqual(auic, arg1), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LEqual(auie, arg1), Local0)
+ m600(arg0, 5, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aui3)), arg1), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(auic)), arg1), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ Store(LEqual(Derefof(Refof(auie)), arg1), Local0)
+ m600(arg0, 8, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paui, 3)), arg1), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paui, 12)), arg1), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LEqual(Derefof(Index(paui, 14)), arg1), Local0)
+ m600(arg0, 11, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LEqual(m601(1, 3), arg1), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(LEqual(m601(1, 12), arg1), Local0)
+ m600(arg0, 13, Local0, Zero)
+
+ Store(LEqual(m601(1, 14), arg1), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(1, 3, 1)), arg1), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(1, 12, 1)), arg1), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LEqual(Derefof(m602(1, 14, 1)), arg1), Local0)
+ m600(arg0, 17, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater(0xc179b3fe, arg1), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(0xc179b3ff, arg1), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ Store(LGreater(0xc179b3fd, arg1), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(aui3, arg1), Local0)
+ m600(arg0, 21, Local0, Zero)
+
+ Store(LGreater(auic, arg1), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(LGreater(auie, arg1), Local0)
+ m600(arg0, 23, Local0, Zero)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aui3)), arg1), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(auic)), arg1), Local0)
+ m600(arg0, 25, Local0, Ones)
+
+ Store(LGreater(Derefof(Refof(auie)), arg1), Local0)
+ m600(arg0, 26, Local0, Zero)
+ }
+
+ Store(LGreater(Derefof(Index(paui, 3)), arg1), Local0)
+ m600(arg0, 27, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paui, 12)), arg1), Local0)
+ m600(arg0, 28, Local0, Ones)
+
+ Store(LGreater(Derefof(Index(paui, 14)), arg1), Local0)
+ m600(arg0, 29, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreater(m601(1, 3), arg1), Local0)
+ m600(arg0, 30, Local0, Zero)
+
+ Store(LGreater(m601(1, 12), arg1), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ Store(LGreater(m601(1, 14), arg1), Local0)
+ m600(arg0, 32, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(1, 3, 1)), arg1), Local0)
+ m600(arg0, 33, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(1, 12, 1)), arg1), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreater(Derefof(m602(1, 14, 1)), arg1), Local0)
+ m600(arg0, 35, Local0, Zero)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual(0xc179b3fe, arg1), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(0xc179b3ff, arg1), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ Store(LGreaterEqual(0xc179b3fd, arg1), Local0)
+ m600(arg0, 38, Local0, Zero)
+
+ Store(LGreaterEqual(aui3, arg1), Local0)
+ m600(arg0, 39, Local0, Ones)
+
+ Store(LGreaterEqual(auic, arg1), Local0)
+ m600(arg0, 40, Local0, Ones)
+
+ Store(LGreaterEqual(auie, arg1), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aui3)), arg1), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auic)), arg1), Local0)
+ m600(arg0, 43, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auie)), arg1), Local0)
+ m600(arg0, 44, Local0, Zero)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paui, 3)), arg1), Local0)
+ m600(arg0, 45, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 12)), arg1), Local0)
+ m600(arg0, 46, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 14)), arg1), Local0)
+ m600(arg0, 47, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreaterEqual(m601(1, 3), arg1), Local0)
+ m600(arg0, 48, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 12), arg1), Local0)
+ m600(arg0, 49, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 14), arg1), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(1, 3, 1)), arg1), Local0)
+ m600(arg0, 51, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 12, 1)), arg1), Local0)
+ m600(arg0, 52, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 14, 1)), arg1), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLess
+
+ Store(LLess(0xc179b3fe, arg1), Local0)
+ m600(arg0, 54, Local0, Zero)
+
+ Store(LLess(0xc179b3ff, arg1), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLess(0xc179b3fd, arg1), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLess(aui3, arg1), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLess(auic, arg1), Local0)
+ m600(arg0, 58, Local0, Zero)
+
+ Store(LLess(auie, arg1), Local0)
+ m600(arg0, 59, Local0, Ones)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aui3)), arg1), Local0)
+ m600(arg0, 60, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auic)), arg1), Local0)
+ m600(arg0, 61, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auie)), arg1), Local0)
+ m600(arg0, 62, Local0, Ones)
+ }
+
+ Store(LLess(Derefof(Index(paui, 3)), arg1), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 12)), arg1), Local0)
+ m600(arg0, 64, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 14)), arg1), Local0)
+ m600(arg0, 65, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLess(m601(1, 3), arg1), Local0)
+ m600(arg0, 66, Local0, Zero)
+
+ Store(LLess(m601(1, 12), arg1), Local0)
+ m600(arg0, 67, Local0, Zero)
+
+ Store(LLess(m601(1, 14), arg1), Local0)
+ m600(arg0, 68, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLess(Derefof(m602(1, 3, 1)), arg1), Local0)
+ m600(arg0, 69, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 12, 1)), arg1), Local0)
+ m600(arg0, 70, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 14, 1)), arg1), Local0)
+ m600(arg0, 71, Local0, Ones)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual(0xc179b3fe, arg1), Local0)
+ m600(arg0, 72, Local0, Ones)
+
+ Store(LLessEqual(0xc179b3ff, arg1), Local0)
+ m600(arg0, 73, Local0, Zero)
+
+ Store(LLessEqual(0xc179b3fd, arg1), Local0)
+ m600(arg0, 74, Local0, Ones)
+
+ Store(LLessEqual(aui3, arg1), Local0)
+ m600(arg0, 75, Local0, Ones)
+
+ Store(LLessEqual(auic, arg1), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LLessEqual(auie, arg1), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aui3)), arg1), Local0)
+ m600(arg0, 78, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(auic)), arg1), Local0)
+ m600(arg0, 79, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Refof(auie)), arg1), Local0)
+ m600(arg0, 80, Local0, Ones)
+ }
+
+ Store(LLessEqual(Derefof(Index(paui, 3)), arg1), Local0)
+ m600(arg0, 81, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paui, 12)), arg1), Local0)
+ m600(arg0, 82, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Index(paui, 14)), arg1), Local0)
+ m600(arg0, 83, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLessEqual(m601(1, 3), arg1), Local0)
+ m600(arg0, 84, Local0, Ones)
+
+ Store(LLessEqual(m601(1, 12), arg1), Local0)
+ m600(arg0, 85, Local0, Zero)
+
+ Store(LLessEqual(m601(1, 14), arg1), Local0)
+ m600(arg0, 86, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(1, 3, 1)), arg1), Local0)
+ m600(arg0, 87, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(1, 12, 1)), arg1), Local0)
+ m600(arg0, 88, Local0, Zero)
+
+ Store(LLessEqual(Derefof(m602(1, 14, 1)), arg1), Local0)
+ m600(arg0, 89, Local0, Ones)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual(0xc179b3fe, arg1), Local0)
+ m600(arg0, 90, Local0, Zero)
+
+ Store(LNotEqual(0xc179b3ff, arg1), Local0)
+ m600(arg0, 91, Local0, Ones)
+
+ Store(LNotEqual(0xc179b3fd, arg1), Local0)
+ m600(arg0, 92, Local0, Ones)
+
+ Store(LNotEqual(aui3, arg1), Local0)
+ m600(arg0, 93, Local0, Zero)
+
+ Store(LNotEqual(auic, arg1), Local0)
+ m600(arg0, 94, Local0, Ones)
+
+ Store(LNotEqual(auie, arg1), Local0)
+ m600(arg0, 95, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aui3)), arg1), Local0)
+ m600(arg0, 96, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(auic)), arg1), Local0)
+ m600(arg0, 97, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Refof(auie)), arg1), Local0)
+ m600(arg0, 98, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paui, 3)), arg1), Local0)
+ m600(arg0, 99, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paui, 12)), arg1), Local0)
+ m600(arg0, 100, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Index(paui, 14)), arg1), Local0)
+ m600(arg0, 101, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LNotEqual(m601(1, 3), arg1), Local0)
+ m600(arg0, 102, Local0, Zero)
+
+ Store(LNotEqual(m601(1, 12), arg1), Local0)
+ m600(arg0, 103, Local0, Ones)
+
+ Store(LNotEqual(m601(1, 14), arg1), Local0)
+ m600(arg0, 104, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(1, 3, 1)), arg1), Local0)
+ m600(arg0, 105, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(1, 12, 1)), arg1), Local0)
+ m600(arg0, 106, Local0, Ones)
+
+ Store(LNotEqual(Derefof(m602(1, 14, 1)), arg1), Local0)
+ m600(arg0, 107, Local0, Ones)
+ }
+ }
+
+ Method(m02b, 2)
+ {
+ // LEqual
+
+ Store(LEqual(0x321, arg1), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual(0x322, arg1), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(0x320, arg1), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LEqual(aui1, arg1), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ Store(LEqual(auig, arg1), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LEqual(auih, arg1), Local0)
+ m600(arg0, 5, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aui1)), arg1), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(auig)), arg1), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ Store(LEqual(Derefof(Refof(auih)), arg1), Local0)
+ m600(arg0, 8, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paui, 1)), arg1), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paui, 16)), arg1), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LEqual(Derefof(Index(paui, 17)), arg1), Local0)
+ m600(arg0, 11, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LEqual(m601(1, 1), arg1), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(LEqual(m601(1, 16), arg1), Local0)
+ m600(arg0, 13, Local0, Zero)
+
+ Store(LEqual(m601(1, 17), arg1), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(1, 1, 1)), arg1), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(1, 16, 1)), arg1), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LEqual(Derefof(m602(1, 17, 1)), arg1), Local0)
+ m600(arg0, 17, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater(0x321, arg1), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(0x322, arg1), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ Store(LGreater(0x320, arg1), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(aui1, arg1), Local0)
+ m600(arg0, 21, Local0, Zero)
+
+ Store(LGreater(auig, arg1), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(LGreater(auih, arg1), Local0)
+ m600(arg0, 23, Local0, Zero)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aui1)), arg1), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(auig)), arg1), Local0)
+ m600(arg0, 25, Local0, Ones)
+
+ Store(LGreater(Derefof(Refof(auih)), arg1), Local0)
+ m600(arg0, 26, Local0, Zero)
+ }
+
+ Store(LGreater(Derefof(Index(paui, 1)), arg1), Local0)
+ m600(arg0, 27, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paui, 16)), arg1), Local0)
+ m600(arg0, 28, Local0, Ones)
+
+ Store(LGreater(Derefof(Index(paui, 17)), arg1), Local0)
+ m600(arg0, 29, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreater(m601(1, 1), arg1), Local0)
+ m600(arg0, 30, Local0, Zero)
+
+ Store(LGreater(m601(1, 16), arg1), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ Store(LGreater(m601(1, 17), arg1), Local0)
+ m600(arg0, 32, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(1, 1, 1)), arg1), Local0)
+ m600(arg0, 33, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(1, 16, 1)), arg1), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreater(Derefof(m602(1, 17, 1)), arg1), Local0)
+ m600(arg0, 35, Local0, Zero)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual(0x321, arg1), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(0x322, arg1), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ Store(LGreaterEqual(0x320, arg1), Local0)
+ m600(arg0, 38, Local0, Zero)
+
+ Store(LGreaterEqual(aui1, arg1), Local0)
+ m600(arg0, 39, Local0, Ones)
+
+ Store(LGreaterEqual(auig, arg1), Local0)
+ m600(arg0, 40, Local0, Ones)
+
+ Store(LGreaterEqual(auih, arg1), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aui1)), arg1), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auig)), arg1), Local0)
+ m600(arg0, 43, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auih)), arg1), Local0)
+ m600(arg0, 44, Local0, Zero)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paui, 1)), arg1), Local0)
+ m600(arg0, 45, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 16)), arg1), Local0)
+ m600(arg0, 46, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 17)), arg1), Local0)
+ m600(arg0, 47, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreaterEqual(m601(1, 1), arg1), Local0)
+ m600(arg0, 48, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 16), arg1), Local0)
+ m600(arg0, 49, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 17), arg1), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(1, 1, 1)), arg1), Local0)
+ m600(arg0, 51, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 16, 1)), arg1), Local0)
+ m600(arg0, 52, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 17, 1)), arg1), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLess
+
+ Store(LLess(0x321, arg1), Local0)
+ m600(arg0, 54, Local0, Zero)
+
+ Store(LLess(0x322, arg1), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLess(0x320, arg1), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLess(aui1, arg1), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLess(auig, arg1), Local0)
+ m600(arg0, 58, Local0, Zero)
+
+ Store(LLess(auih, arg1), Local0)
+ m600(arg0, 59, Local0, Ones)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aui1)), arg1), Local0)
+ m600(arg0, 60, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auig)), arg1), Local0)
+ m600(arg0, 61, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auih)), arg1), Local0)
+ m600(arg0, 62, Local0, Ones)
+ }
+
+ Store(LLess(Derefof(Index(paui, 1)), arg1), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 16)), arg1), Local0)
+ m600(arg0, 64, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 17)), arg1), Local0)
+ m600(arg0, 65, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLess(m601(1, 1), arg1), Local0)
+ m600(arg0, 66, Local0, Zero)
+
+ Store(LLess(m601(1, 16), arg1), Local0)
+ m600(arg0, 67, Local0, Zero)
+
+ Store(LLess(m601(1, 17), arg1), Local0)
+ m600(arg0, 68, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLess(Derefof(m602(1, 1, 1)), arg1), Local0)
+ m600(arg0, 69, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 16, 1)), arg1), Local0)
+ m600(arg0, 70, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 17, 1)), arg1), Local0)
+ m600(arg0, 71, Local0, Ones)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual(0x321, arg1), Local0)
+ m600(arg0, 72, Local0, Ones)
+
+ Store(LLessEqual(0x322, arg1), Local0)
+ m600(arg0, 73, Local0, Zero)
+
+ Store(LLessEqual(0x320, arg1), Local0)
+ m600(arg0, 74, Local0, Ones)
+
+ Store(LLessEqual(aui1, arg1), Local0)
+ m600(arg0, 75, Local0, Ones)
+
+ Store(LLessEqual(auig, arg1), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LLessEqual(auih, arg1), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aui1)), arg1), Local0)
+ m600(arg0, 78, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(auig)), arg1), Local0)
+ m600(arg0, 79, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Refof(auih)), arg1), Local0)
+ m600(arg0, 80, Local0, Ones)
+ }
+
+ Store(LLessEqual(Derefof(Index(paui, 1)), arg1), Local0)
+ m600(arg0, 81, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paui, 16)), arg1), Local0)
+ m600(arg0, 82, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Index(paui, 17)), arg1), Local0)
+ m600(arg0, 83, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLessEqual(m601(1, 1), arg1), Local0)
+ m600(arg0, 84, Local0, Ones)
+
+ Store(LLessEqual(m601(1, 16), arg1), Local0)
+ m600(arg0, 85, Local0, Zero)
+
+ Store(LLessEqual(m601(1, 17), arg1), Local0)
+ m600(arg0, 86, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(1, 1, 1)), arg1), Local0)
+ m600(arg0, 87, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(1, 16, 1)), arg1), Local0)
+ m600(arg0, 88, Local0, Zero)
+
+ Store(LLessEqual(Derefof(m602(1, 17, 1)), arg1), Local0)
+ m600(arg0, 89, Local0, Ones)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual(0x321, arg1), Local0)
+ m600(arg0, 90, Local0, Zero)
+
+ Store(LNotEqual(0x322, arg1), Local0)
+ m600(arg0, 91, Local0, Ones)
+
+ Store(LNotEqual(0x320, arg1), Local0)
+ m600(arg0, 92, Local0, Ones)
+
+ Store(LNotEqual(aui1, arg1), Local0)
+ m600(arg0, 93, Local0, Zero)
+
+ Store(LNotEqual(auig, arg1), Local0)
+ m600(arg0, 94, Local0, Ones)
+
+ Store(LNotEqual(auih, arg1), Local0)
+ m600(arg0, 95, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aui1)), arg1), Local0)
+ m600(arg0, 96, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(auig)), arg1), Local0)
+ m600(arg0, 97, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Refof(auih)), arg1), Local0)
+ m600(arg0, 98, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paui, 1)), arg1), Local0)
+ m600(arg0, 99, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paui, 16)), arg1), Local0)
+ m600(arg0, 100, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Index(paui, 17)), arg1), Local0)
+ m600(arg0, 101, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LNotEqual(m601(1, 1), arg1), Local0)
+ m600(arg0, 102, Local0, Zero)
+
+ Store(LNotEqual(m601(1, 16), arg1), Local0)
+ m600(arg0, 103, Local0, Ones)
+
+ Store(LNotEqual(m601(1, 17), arg1), Local0)
+ m600(arg0, 104, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(1, 1, 1)), arg1), Local0)
+ m600(arg0, 105, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(1, 16, 1)), arg1), Local0)
+ m600(arg0, 106, Local0, Ones)
+
+ Store(LNotEqual(Derefof(m602(1, 17, 1)), arg1), Local0)
+ m600(arg0, 107, Local0, Ones)
+ }
+ }
+
+ // String to Integer intermediate conversion of the String second
+ // operand of Concatenate operator in case the first one is Integer
+
+ Method(m64g, 3)
+ {
+ Store(Concatenate(0x321, arg1), Local0)
+ m600(arg0, 0, Local0, bb26)
+
+ Store(Concatenate(0x321, arg2), Local0)
+ m600(arg0, 1, Local0, bb21)
+
+
+ Store(Concatenate(aui1, arg1), Local0)
+ m600(arg0, 2, Local0, bb26)
+
+ Store(Concatenate(aui1, arg2), Local0)
+ m600(arg0, 3, Local0, bb21)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aui1)), arg1), Local0)
+ m600(arg0, 4, Local0, bb26)
+
+ Store(Concatenate(Derefof(Refof(aui1)), arg2), Local0)
+ m600(arg0, 5, Local0, bb21)
+ }
+
+ Store(Concatenate(Derefof(Index(paui, 1)), arg1), Local0)
+ m600(arg0, 6, Local0, bb26)
+
+ Store(Concatenate(Derefof(Index(paui, 1)), arg2), Local0)
+ m600(arg0, 7, Local0, bb21)
+
+ // Method returns Integer
+
+ Store(Concatenate(m601(1, 1), arg1), Local0)
+ m600(arg0, 8, Local0, bb26)
+
+ Store(Concatenate(m601(1, 1), arg2), Local0)
+ m600(arg0, 9, Local0, bb21)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(1, 1, 1)), arg1), Local0)
+ m600(arg0, 10, Local0, bb26)
+
+ Store(Concatenate(Derefof(m602(1, 1, 1)), arg2), Local0)
+ m600(arg0, 11, Local0, bb21)
+ }
+
+ Concatenate(0x321, arg1, Local0)
+ m600(arg0, 12, Local0, bb26)
+
+ Concatenate(0x321, arg2, Local0)
+ m600(arg0, 13, Local0, bb21)
+
+
+ Concatenate(aui1, arg1, Local0)
+ m600(arg0, 14, Local0, bb26)
+
+ Concatenate(aui1, arg2, Local0)
+ m600(arg0, 15, Local0, bb21)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aui1)), arg1, Local0)
+ m600(arg0, 16, Local0, bb26)
+
+ Concatenate(Derefof(Refof(aui1)), arg2, Local0)
+ m600(arg0, 17, Local0, bb21)
+ }
+
+ Concatenate(Derefof(Index(paui, 1)), arg1, Local0)
+ m600(arg0, 18, Local0, bb26)
+
+ Concatenate(Derefof(Index(paui, 1)), arg2, Local0)
+ m600(arg0, 19, Local0, bb21)
+
+ // Method returns Integer
+
+ Concatenate(m601(1, 1), arg1, Local0)
+ m600(arg0, 20, Local0, bb26)
+
+ Concatenate(m601(1, 1), arg2, Local0)
+ m600(arg0, 21, Local0, bb21)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Concatenate(Derefof(m602(1, 1, 1)), arg1, Local0)
+ m600(arg0, 22, Local0, bb26)
+
+ Concatenate(Derefof(m602(1, 1, 1)), arg2, Local0)
+ m600(arg0, 23, Local0, bb21)
+ }
+ }
+
+ Method(m32g, 3)
+ {
+ Store(Concatenate(0x321, arg1), Local0)
+ m600(arg0, 0, Local0, bb27)
+
+ Store(Concatenate(0x321, arg2), Local0)
+ m600(arg0, 1, Local0, bb24)
+
+
+ Store(Concatenate(aui1, arg1), Local0)
+ m600(arg0, 2, Local0, bb27)
+
+ Store(Concatenate(aui1, arg2), Local0)
+ m600(arg0, 3, Local0, bb24)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aui1)), arg1), Local0)
+ m600(arg0, 4, Local0, bb27)
+
+ Store(Concatenate(Derefof(Refof(aui1)), arg2), Local0)
+ m600(arg0, 5, Local0, bb24)
+ }
+
+ Store(Concatenate(Derefof(Index(paui, 1)), arg1), Local0)
+ m600(arg0, 6, Local0, bb27)
+
+ Store(Concatenate(Derefof(Index(paui, 1)), arg2), Local0)
+ m600(arg0, 7, Local0, bb24)
+
+ // Method returns Integer
+
+ Store(Concatenate(m601(1, 1), arg1), Local0)
+ m600(arg0, 8, Local0, bb27)
+
+ Store(Concatenate(m601(1, 1), arg2), Local0)
+ m600(arg0, 9, Local0, bb24)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(1, 1, 1)), arg1), Local0)
+ m600(arg0, 10, Local0, bb27)
+
+ Store(Concatenate(Derefof(m602(1, 1, 1)), arg2), Local0)
+ m600(arg0, 11, Local0, bb24)
+ }
+
+ Concatenate(0x321, arg1, Local0)
+ m600(arg0, 12, Local0, bb27)
+
+ Concatenate(0x321, arg2, Local0)
+ m600(arg0, 13, Local0, bb24)
+
+
+ Concatenate(aui1, arg1, Local0)
+ m600(arg0, 14, Local0, bb27)
+
+ Concatenate(aui1, arg2, Local0)
+ m600(arg0, 15, Local0, bb24)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aui1)), arg1, Local0)
+ m600(arg0, 16, Local0, bb27)
+
+ Concatenate(Derefof(Refof(aui1)), arg2, Local0)
+ m600(arg0, 17, Local0, bb24)
+ }
+
+ Concatenate(Derefof(Index(paui, 1)), arg1, Local0)
+ m600(arg0, 18, Local0, bb27)
+
+ Concatenate(Derefof(Index(paui, 1)), arg2, Local0)
+ m600(arg0, 20, Local0, bb24)
+
+ // Method returns Integer
+
+ Concatenate(m601(1, 1), arg1, Local0)
+ m600(arg0, 21, Local0, bb27)
+
+ Concatenate(m601(1, 1), arg2, Local0)
+ m600(arg0, 22, Local0, bb24)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Concatenate(Derefof(m602(1, 1, 1)), arg1, Local0)
+ m600(arg0, 23, Local0, bb27)
+
+ Concatenate(Derefof(m602(1, 1, 1)), arg2, Local0)
+ m600(arg0, 24, Local0, bb24)
+ }
+ }
+
+ // String to Integer conversion of the String Length (second)
+ // operand of the ToString operator
+
+ // Common 32-bit/64-bit test
+ Method(m02c, 3)
+ {
+ Store(ToString(Buffer() {"This is auxiliary Buffer"},
+ arg2), Local0)
+ m600(arg0, 0, Local0, bs1b)
+
+ Store(ToString(Buffer() {"This is auxiliary Buffer"},
+ arg1), Local0)
+ m600(arg0, 1, Local0, bs1c)
+
+ Store(ToString(aub6, arg2), Local0)
+ m600(arg0, 2, Local0, bs1b)
+
+ Store(ToString(aub6, arg1), Local0)
+ m600(arg0, 3, Local0, bs1c)
+
+ if (y078) {
+ Store(ToString(Derefof(Refof(aub6)), arg2), Local0)
+ m600(arg0, 4, Local0, bs1b)
+
+ Store(ToString(Derefof(Refof(aub6)), arg1), Local0)
+ m600(arg0, 5, Local0, bs1c)
+ }
+
+ Store(ToString(Derefof(Index(paub, 6)), arg2), Local0)
+ m600(arg0, 6, Local0, bs1b)
+
+ Store(ToString(Derefof(Index(paub, 6)), arg1), Local0)
+ m600(arg0, 7, Local0, bs1c)
+
+ // Method returns Buffer
+
+ Store(ToString(m601(3, 6), arg2), Local0)
+ m600(arg0, 8, Local0, bs1b)
+
+ Store(ToString(m601(3, 6), arg1), Local0)
+ m600(arg0, 9, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(ToString(Derefof(m602(3, 6, 1)), arg2), Local0)
+ m600(arg0, 10, Local0, bs1b)
+
+ Store(ToString(Derefof(m602(3, 6, 1)), arg1), Local0)
+ m600(arg0, 11, Local0, bs1c)
+ }
+
+ ToString(Buffer() {"This is auxiliary Buffer"},
+ arg2, Local0)
+ m600(arg0, 12, Local0, bs1b)
+
+ ToString(Buffer() {"This is auxiliary Buffer"},
+ arg1, Local0)
+ m600(arg0, 13, Local0, bs1c)
+
+ ToString(aub6, arg2, Local0)
+ m600(arg0, 14, Local0, bs1b)
+
+ ToString(aub6, arg1, Local0)
+ m600(arg0, 15, Local0, bs1c)
+
+ if (y078) {
+ ToString(Derefof(Refof(aub6)), arg2, Local0)
+ m600(arg0, 16, Local0, bs1b)
+
+ ToString(Derefof(Refof(aub6)), arg1, Local0)
+ m600(arg0, 17, Local0, bs1c)
+ }
+
+ ToString(Derefof(Index(paub, 6)), arg2, Local0)
+ m600(arg0, 18, Local0, bs1b)
+
+ ToString(Derefof(Index(paub, 6)), arg1, Local0)
+ m600(arg0, 19, Local0, bs1c)
+
+ // Method returns Buffer
+
+ ToString(m601(3, 6), arg2, Local0)
+ m600(arg0, 20, Local0, bs1b)
+
+ ToString(m601(3, 6), arg1, Local0)
+ m600(arg0, 21, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ ToString(Derefof(m602(3, 6, 1)), arg2, Local0)
+ m600(arg0, 22, Local0, bs1b)
+
+ ToString(Derefof(m602(3, 6, 1)), arg1, Local0)
+ m600(arg0, 23, Local0, bs1c)
+ }
+ }
+
+ Method(m64h, 2)
+ {
+ Store(ToString(Buffer() {"This is auxiliary Buffer"},
+ arg1), Local0)
+ m600(arg0, 0, Local0, bs1c)
+
+ Store(ToString(aub6, arg1), Local0)
+ m600(arg0, 1, Local0, bs1c)
+
+ if (y078) {
+ Store(ToString(Derefof(Refof(aub6)), arg1), Local0)
+ m600(arg0, 2, Local0, bs1c)
+ }
+
+ Store(ToString(Derefof(Index(paub, 6)), arg1), Local0)
+ m600(arg0, 3, Local0, bs1c)
+
+ // Method returns Buffer
+
+ Store(ToString(m601(3, 6), arg1), Local0)
+ m600(arg0, 4, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(ToString(Derefof(m602(3, 6, 1)), arg1), Local0)
+ m600(arg0, 5, Local0, bs1c)
+ }
+
+ ToString(Buffer() {"This is auxiliary Buffer"},
+ arg1, Local0)
+ m600(arg0, 6, Local0, bs1c)
+
+ ToString(aub6, arg1, Local0)
+ m600(arg0, 7, Local0, bs1c)
+
+ if (y078) {
+ ToString(Derefof(Refof(aub6)), arg1, Local0)
+ m600(arg0, 8, Local0, bs1c)
+ }
+
+ ToString(Derefof(Index(paub, 6)), arg1, Local0)
+ m600(arg0, 9, Local0, bs1c)
+
+ // Method returns Buffer
+
+ ToString(m601(3, 6), arg1, Local0)
+ m600(arg0, 10, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ ToString(Derefof(m602(3, 6, 1)), arg1, Local0)
+ m600(arg0, 11, Local0, bs1c)
+ }
+ }
+
+ Method(m32h, 2)
+ {
+ Store(ToString(Buffer() {"This is auxiliary Buffer"},
+ arg1), Local0)
+ m600(arg0, 0, Local0, bs1c)
+
+ Store(ToString(aub6, arg1), Local0)
+ m600(arg0, 1, Local0, bs1c)
+
+ if (y078) {
+ Store(ToString(Derefof(Refof(aub6)), arg1), Local0)
+ m600(arg0, 2, Local0, bs1c)
+ }
+
+ Store(ToString(Derefof(Index(paub, 6)), arg1), Local0)
+ m600(arg0, 3, Local0, bs1c)
+
+ // Method returns Buffer
+
+ Store(ToString(m601(3, 6), arg1), Local0)
+ m600(arg0, 4, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(ToString(Derefof(m602(3, 6, 1)), arg1), Local0)
+ m600(arg0, 5, Local0, bs1c)
+ }
+
+ ToString(Buffer() {"This is auxiliary Buffer"},
+ arg1, Local0)
+ m600(arg0, 6, Local0, bs1c)
+
+ ToString(aub6, arg1, Local0)
+ m600(arg0, 7, Local0, bs1c)
+
+ if (y078) {
+ ToString(Derefof(Refof(aub6)), arg1, Local0)
+ m600(arg0, 8, Local0, bs1c)
+ }
+
+ ToString(Derefof(Index(paub, 6)), arg1, Local0)
+ m600(arg0, 9, Local0, bs1c)
+
+ // Method returns Buffer
+
+ ToString(m601(3, 6), arg1, Local0)
+ m600(arg0, 10, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ ToString(Derefof(m602(3, 6, 1)), arg1, Local0)
+ m600(arg0, 11, Local0, bs1c)
+ }
+ }
+
+ // String to Integer conversion of the String Index (second)
+ // operand of the Index operator
+ Method(m02d, 2)
+ {
+ Store(Index(aus6, arg1), Local0)
+ m600(arg0, 0, Derefof(Local0), bi10)
+
+ Store(Index(aub6, arg1), Local0)
+ m600(arg0, 1, Derefof(Local0), bi10)
+
+ Store(Index(aup0, arg1), Local0)
+ m600(arg0, 2, Derefof(Local0), bi11)
+
+ if (y078) {
+ Store(Index(Derefof(Refof(aus6)), arg1), Local0)
+ m600(arg0, 3, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Refof(aub6)), arg1), Local0)
+ m600(arg0, 4, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Refof(aup0)), arg1), Local0)
+ m600(arg0, 5, Derefof(Local0), bi11)
+ }
+
+ Store(Index(Derefof(Index(paus, 6)), arg1), Local0)
+ m600(arg0, 6, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Index(paub, 6)), arg1), Local0)
+ m600(arg0, 7, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Index(paup, 0)), arg1), Local0)
+ m600(arg0, 8, Derefof(Local0), bi11)
+
+
+ // Method returns Object
+
+ if (y900) {
+ Store(Index(m601(2, 6), arg1), Local0)
+ m600(arg0, 9, Derefof(Local0), bi10)
+
+ Store(Index(m601(3, 6), arg1), Local0)
+ m600(arg0, 10, Derefof(Local0), bi10)
+
+ Store(Index(m601(4, 0), arg1), Local0)
+ m600(arg0, 11, Derefof(Local0), bi11)
+ } else {
+
+ CH03(arg0, z121, 0, 0, 0)
+
+ Index(m601(2, 6), arg1)
+ CH04(arg0, 0, 85, z121, 9, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+
+ Index(m601(3, 6), arg1)
+ CH04(arg0, 0, 85, z121, 10, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+
+ Index(m601(4, 0), arg1)
+ CH04(arg0, 0, 85, z121, 11, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+ }
+
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Index(Derefof(m602(2, 6, 1)), arg1), Local0)
+ m600(arg0, 12, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(m602(3, 6, 1)), arg1), Local0)
+ m600(arg0, 13, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(m602(4, 0, 1)), arg1), Local0)
+ m600(arg0, 14, Derefof(Local0), bi11)
+ }
+
+ Index(aus6, arg1, Local0)
+ m600(arg0, 15, Derefof(Local0), bi10)
+
+ Index(aub6, arg1, Local0)
+ m600(arg0, 16, Derefof(Local0), bi10)
+
+ Index(aup0, arg1, Local0)
+ m600(arg0, 17, Derefof(Local0), bi11)
+
+ if (y078) {
+ Index(Derefof(Refof(aus6)), arg1, Local0)
+ m600(arg0, 18, Derefof(Local0), bi10)
+
+ Index(Derefof(Refof(aub6)), arg1, Local0)
+ m600(arg0, 19, Derefof(Local0), bi10)
+
+ Index(Derefof(Refof(aup0)), arg1, Local0)
+ m600(arg0, 20, Derefof(Local0), bi11)
+ }
+
+ Index(Derefof(Index(paus, 6)), arg1, Local0)
+ m600(arg0, 21, Derefof(Local0), bi10)
+
+ Index(Derefof(Index(paub, 6)), arg1, Local0)
+ m600(arg0, 22, Derefof(Local0), bi10)
+
+ Index(Derefof(Index(paup, 0)), arg1, Local0)
+ m600(arg0, 23, Derefof(Local0), bi11)
+
+
+ // Method returns Object
+
+ if (y900) {
+ Index(m601(2, 6), arg1, Local0)
+ m600(arg0, 24, Derefof(Local0), bi10)
+
+ Index(m601(3, 6), arg1, Local0)
+ m600(arg0, 25, Derefof(Local0), bi10)
+
+ Index(m601(4, 0), arg1, Local0)
+ m600(arg0, 26, Derefof(Local0), bi11)
+ } else {
+ CH03(arg0, z121, 0, 0, 0)
+
+ Index(m601(2, 6), arg1, Local0)
+ CH04(arg0, 0, 85, z121, 24, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+
+ Index(m601(3, 6), arg1, Local0)
+ CH04(arg0, 0, 85, z121, 25, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+
+ Index(m601(4, 0), arg1, Local0)
+ CH04(arg0, 0, 85, z121, 26, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+ }
+
+ // Method returns Reference
+
+ if (y500) {
+ Index(Derefof(m602(2, 6, 1)), arg1, Local0)
+ m600(arg0, 27, Derefof(Local0), bi10)
+
+ Index(Derefof(m602(3, 6, 1)), arg1, Local0)
+ m600(arg0, 28, Derefof(Local0), bi10)
+
+ Index(Derefof(m602(4, 0, 1)), arg1, Local0)
+ m600(arg0, 29, Derefof(Local0), bi11)
+ }
+
+ if (y098) {
+ Store(Index(aus6, arg1, Local1), Local0)
+ m600(arg0, 30, Derefof(Local0), bi10)
+
+ Store(Index(aub6, arg1, Local1), Local0)
+ m600(arg0, 31, Derefof(Local0), bi10)
+
+ Store(Index(aup0, arg1, Local1), Local0)
+ m600(arg0, 32, Derefof(Local0), bi11)
+ }
+
+ if (y078) {
+ Store(Index(Derefof(Refof(aus6)), arg1, Local1), Local0)
+ m600(arg0, 33, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Refof(aub6)), arg1, Local1), Local0)
+ m600(arg0, 34, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Refof(aup0)), arg1, Local1), Local0)
+ m600(arg0, 35, Derefof(Local0), bi11)
+ }
+
+ if (y098) {
+ Store(Index(Derefof(Index(paus, 6)), arg1, Local1), Local0)
+ m600(arg0, 36, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Index(paub, 6)), arg1, Local1), Local0)
+ m600(arg0, 37, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Index(paup, 0)), arg1, Local1), Local0)
+ m600(arg0, 38, Derefof(Local0), bi11)
+ }
+
+ // Method returns Object
+
+ if (LAnd(y900, y098)) {
+ Store(Index(m601(2, 6), arg1, Local1), Local0)
+ m600(arg0, 39, Derefof(Local0), bi10)
+
+ Store(Index(m601(3, 6), arg1, Local1), Local0)
+ m600(arg0, 40, Derefof(Local0), bi10)
+
+ Store(Index(m601(4, 0), arg1, Local1), Local0)
+ m600(arg0, 41, Derefof(Local0), bi11)
+ }
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Index(Derefof(m602(2, 6, 1)), arg1, Local1), Local0)
+ m600(arg0, 42, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(m602(3, 6, 1)), arg1, Local1), Local0)
+ m600(arg0, 43, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(m602(4, 0, 1)), arg1, Local1), Local0)
+ m600(arg0, 44, Derefof(Local0), bi11)
+ }
+ }
+
+ // String to Integer conversion of the String Arg (third)
+ // operand of the Fatal operator
+ // (it can only be checked an exception does not occur)
+ Method(m02e, 4)
+ {
+ CH03(arg0, z121, 0, 0, 0)
+ Fatal(0xff, 0xffffffff, arg1)
+ if (F64) {
+ Fatal(0xff, 0xffffffff, arg2)
+ } else {
+ Fatal(0xff, 0xffffffff, arg3)
+ }
+ CH03(arg0, z121, 1, 0, 0)
+ }
+
+ // String to Integer conversion of the String Index and Length
+ // operands of the Mid operator
+
+ // Common 32-bit/64-bit test
+ Method(m02f, 2)
+ {
+ // String to Integer conversion of the String Index operand
+
+ Store(Mid("This is auxiliary String", arg1, 10), Local0)
+ m600(arg0, 0, Local0, bs1d)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, arg1, 10), Local0)
+ m600(arg0, 1, Local0, bb32)
+
+ Store(Mid(aus6, arg1, 10), Local0)
+ m600(arg0, 2, Local0, bs1d)
+
+ Store(Mid(aub6, arg1, 10), Local0)
+ m600(arg0, 3, Local0, bb32)
+
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), arg1, 10), Local0)
+ m600(arg0, 4, Local0, bs1d)
+
+ Store(Mid(Derefof(Refof(aub6)), arg1, 10), Local0)
+ m600(arg0, 5, Local0, bb32)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), arg1, 10), Local0)
+ m600(arg0, 6, Local0, bs1d)
+
+ Store(Mid(Derefof(Index(paub, 6)), arg1, 10), Local0)
+ m600(arg0, 7, Local0, bb32)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), arg1, 10), Local0)
+ m600(arg0, 8, Local0, bs1d)
+
+ Store(Mid(m601(3, 6), arg1, 10), Local0)
+ m600(arg0, 9, Local0, bb32)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), arg1, 10), Local0)
+ m600(arg0, 10, Local0, bs1d)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), arg1, 10), Local0)
+ m600(arg0, 11, Local0, bb32)
+ }
+
+ Mid("This is auxiliary String", arg1, 10, Local0)
+ m600(arg0, 12, Local0, bs1d)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, arg1, 10, Local0)
+ m600(arg0, 13, Local0, bb32)
+
+ Mid(aus6, arg1, 10, Local0)
+ m600(arg0, 14, Local0, bs1d)
+
+ Mid(aub6, arg1, 10, Local0)
+ m600(arg0, 15, Local0, bb32)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), arg1, 10, Local0)
+ m600(arg0, 16, Local0, bs1d)
+
+ Mid(Derefof(Refof(aub6)), arg1, 10, Local0)
+ m600(arg0, 17, Local0, bb32)
+ }
+
+ Mid(Derefof(Index(paus, 6)), arg1, 10, Local0)
+ m600(arg0, 18, Local0, bs1d)
+
+ Mid(Derefof(Index(paub, 6)), arg1, 10, Local0)
+ m600(arg0, 19, Local0, bb32)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), arg1, 10, Local0)
+ m600(arg0, 20, Local0, bs1d)
+
+ Mid(m601(3, 6), arg1, 10, Local0)
+ m600(arg0, 21, Local0, bb32)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), arg1, 10, Local0)
+ m600(arg0, 22, Local0, bs1d)
+
+ Mid(Derefof(m602(3, 6, 1)), arg1, 10, Local0)
+ m600(arg0, 23, Local0, bb32)
+ }
+
+ // String to Integer conversion of the String Length operand
+
+ Store(Mid("This is auxiliary String", 0, arg1), Local0)
+ m600(arg0, 24, Local0, bs1b)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, 0, arg1), Local0)
+ m600(arg0, 25, Local0, bb33)
+
+ Store(Mid(aus6, 0, arg1), Local0)
+ m600(arg0, 26, Local0, bs1b)
+
+ Store(Mid(aub6, 0, arg1), Local0)
+ m600(arg0, 27, Local0, bb33)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), 0, arg1), Local0)
+ m600(arg0, 28, Local0, bs1b)
+
+ Store(Mid(Derefof(Refof(aub6)), 0, arg1), Local0)
+ m600(arg0, 29, Local0, bb33)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), 0, arg1), Local0)
+ m600(arg0, 30, Local0, bs1b)
+
+ Store(Mid(Derefof(Index(paub, 6)), 0, arg1), Local0)
+ m600(arg0, 31, Local0, bb33)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), 0, arg1), Local0)
+ m600(arg0, 32, Local0, bs1b)
+
+ Store(Mid(m601(3, 6), 0, arg1), Local0)
+ m600(arg0, 33, Local0, bb33)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), 0, arg1), Local0)
+ m600(arg0, 34, Local0, bs1b)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), 0, arg1), Local0)
+ m600(arg0, 35, Local0, bb33)
+ }
+
+ Mid("This is auxiliary String", 0, arg1, Local0)
+ m600(arg0, 36, Local0, bs1b)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, 0, arg1, Local0)
+ m600(arg0, 37, Local0, bb33)
+
+ Mid(aus6, 0, arg1, Local0)
+ m600(arg0, 37, Local0, bs1b)
+
+ Mid(aub6, 0, arg1, Local0)
+ m600(arg0, 39, Local0, bb33)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), 0, arg1, Local0)
+ m600(arg0, 40, Local0, bs1b)
+
+ Mid(Derefof(Refof(aub6)), 0, arg1, Local0)
+ m600(arg0, 41, Local0, bb33)
+ }
+
+ Mid(Derefof(Index(paus, 6)), 0, arg1, Local0)
+ m600(arg0, 42, Local0, bs1b)
+
+ Mid(Derefof(Index(paub, 6)), 0, arg1, Local0)
+ m600(arg0, 43, Local0, bb33)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), 0, arg1, Local0)
+ m600(arg0, 44, Local0, bs1b)
+
+ Mid(m601(3, 6), 0, arg1, Local0)
+ m600(arg0, 45, Local0, bb33)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), 0, arg1, Local0)
+ m600(arg0, 46, Local0, bs1b)
+
+ Mid(Derefof(m602(3, 6, 1)), 0, arg1, Local0)
+ m600(arg0, 47, Local0, bb33)
+ }
+ }
+
+ Method(m64i, 3)
+ {
+ // String to Integer conversion of the String Length operand
+
+ Store(Mid("This is auxiliary String", 0, arg1), Local0)
+ m600(arg0, 0, Local0, bs1e)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, 0, arg1), Local0)
+ m600(arg0, 1, Local0, bb34)
+
+ Store(Mid(aus6, 0, arg1), Local0)
+ m600(arg0, 2, Local0, bs1e)
+
+ Store(Mid(aub6, 0, arg1), Local0)
+ m600(arg0, 3, Local0, bb34)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), 0, arg1), Local0)
+ m600(arg0, 4, Local0, bs1e)
+
+ Store(Mid(Derefof(Refof(aub6)), 0, arg1), Local0)
+ m600(arg0, 5, Local0, bb34)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), 0, arg1), Local0)
+ m600(arg0, 6, Local0, bs1e)
+
+ Store(Mid(Derefof(Index(paub, 6)), 0, arg1), Local0)
+ m600(arg0, 7, Local0, bb34)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), 0, arg1), Local0)
+ m600(arg0, 8, Local0, bs1e)
+
+ Store(Mid(m601(3, 6), 0, arg1), Local0)
+ m600(arg0, 9, Local0, bb34)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), 0, arg1), Local0)
+ m600(arg0, 10, Local0, bs1e)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), 0, arg1), Local0)
+ m600(arg0, 11, Local0, bb34)
+ }
+
+ Mid("This is auxiliary String", 0, arg1, Local0)
+ m600(arg0, 12, Local0, bs1e)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, 0, arg1, Local0)
+ m600(arg0, 13, Local0, bb34)
+
+ Mid(aus6, 0, arg1, Local0)
+ m600(arg0, 14, Local0, bs1e)
+
+ Mid(aub6, 0, arg1, Local0)
+ m600(arg0, 15, Local0, bb34)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), 0, arg1, Local0)
+ m600(arg0, 16, Local0, bs1e)
+
+ Mid(Derefof(Refof(aub6)), 0, arg1, Local0)
+ m600(arg0, 17, Local0, bb34)
+ }
+
+ Mid(Derefof(Index(paus, 6)), 0, arg1, Local0)
+ m600(arg0, 18, Local0, bs1e)
+
+ Mid(Derefof(Index(paub, 6)), 0, arg1, Local0)
+ m600(arg0, 19, Local0, bb34)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), 0, arg1, Local0)
+ m600(arg0, 20, Local0, bs1e)
+
+ Mid(m601(3, 6), 0, arg1, Local0)
+ m600(arg0, 21, Local0, bb34)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), 0, arg1, Local0)
+ m600(arg0, 22, Local0, bs1e)
+
+ Mid(Derefof(m602(3, 6, 1)), 0, arg1, Local0)
+ m600(arg0, 23, Local0, bb34)
+ }
+
+ // String to Integer conversion of the both String operands
+
+ Store(Mid("This is auxiliary String", arg2, arg1), Local0)
+ m600(arg0, 24, Local0, bs1f)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, arg2, arg1), Local0)
+ m600(arg0, 25, Local0, bb35)
+
+ Store(Mid(aus6, arg2, arg1), Local0)
+ m600(arg0, 26, Local0, bs1f)
+
+ Store(Mid(aub6, arg2, arg1), Local0)
+ m600(arg0, 27, Local0, bb35)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), arg2, arg1), Local0)
+ m600(arg0, 28, Local0, bs1f)
+
+ Store(Mid(Derefof(Refof(aub6)), arg2, arg1), Local0)
+ m600(arg0, 29, Local0, bb35)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), arg2, arg1), Local0)
+ m600(arg0, 30, Local0, bs1f)
+
+ Store(Mid(Derefof(Index(paub, 6)), arg2, arg1), Local0)
+ m600(arg0, 31, Local0, bb35)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), arg2, arg1), Local0)
+ m600(arg0, 32, Local0, bs1f)
+
+ Store(Mid(m601(3, 6), arg2, arg1), Local0)
+ m600(arg0, 33, Local0, bb35)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), arg2, arg1), Local0)
+ m600(arg0, 34, Local0, bs1f)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), arg2, arg1), Local0)
+ m600(arg0, 35, Local0, bb35)
+ }
+
+ Mid("This is auxiliary String", arg2, arg1, Local0)
+ m600(arg0, 36, Local0, bs1f)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, arg2, arg1, Local0)
+ m600(arg0, 37, Local0, bb35)
+
+ Mid(aus6, arg2, arg1, Local0)
+ m600(arg0, 38, Local0, bs1f)
+
+ Mid(aub6, arg2, arg1, Local0)
+ m600(arg0, 39, Local0, bb35)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), arg2, arg1, Local0)
+ m600(arg0, 40, Local0, bs1f)
+
+ Mid(Derefof(Refof(aub6)), arg2, arg1, Local0)
+ m600(arg0, 41, Local0, bb35)
+ }
+
+ Mid(Derefof(Index(paus, 6)), arg2, arg1, Local0)
+ m600(arg0, 42, Local0, bs1f)
+
+ Mid(Derefof(Index(paub, 6)), arg2, arg1, Local0)
+ m600(arg0, 43, Local0, bb35)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), arg2, arg1, Local0)
+ m600(arg0, 44, Local0, bs1f)
+
+ Mid(m601(3, 6), arg2, arg1, Local0)
+ m600(arg0, 45, Local0, bb35)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), arg2, arg1, Local0)
+ m600(arg0, 46, Local0, bs1f)
+
+ Mid(Derefof(m602(3, 6, 1)), arg2, arg1, Local0)
+ m600(arg0, 47, Local0, bb35)
+ }
+ }
+
+ Method(m32i, 3)
+ {
+ // String to Integer conversion of the String Length operand
+
+ Store(Mid("This is auxiliary String", 0, arg1), Local0)
+ m600(arg0, 0, Local0, bs1e)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, 0, arg1), Local0)
+ m600(arg0, 1, Local0, bb34)
+
+ Store(Mid(aus6, 0, arg1), Local0)
+ m600(arg0, 2, Local0, bs1e)
+
+ Store(Mid(aub6, 0, arg1), Local0)
+ m600(arg0, 3, Local0, bb34)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), 0, arg1), Local0)
+ m600(arg0, 4, Local0, bs1e)
+
+ Store(Mid(Derefof(Refof(aub6)), 0, arg1), Local0)
+ m600(arg0, 5, Local0, bb34)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), 0, arg1), Local0)
+ m600(arg0, 6, Local0, bs1e)
+
+ Store(Mid(Derefof(Index(paub, 6)), 0, arg1), Local0)
+ m600(arg0, 7, Local0, bb34)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), 0, arg1), Local0)
+ m600(arg0, 8, Local0, bs1e)
+
+ Store(Mid(m601(3, 6), 0, arg1), Local0)
+ m600(arg0, 9, Local0, bb34)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), 0, arg1), Local0)
+ m600(arg0, 10, Local0, bs1e)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), 0, arg1), Local0)
+ m600(arg0, 11, Local0, bb34)
+ }
+
+ Mid("This is auxiliary String", 0, arg1, Local0)
+ m600(arg0, 12, Local0, bs1e)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, 0, arg1, Local0)
+ m600(arg0, 13, Local0, bb34)
+
+ Mid(aus6, 0, arg1, Local0)
+ m600(arg0, 14, Local0, bs1e)
+
+ Mid(aub6, 0, arg1, Local0)
+ m600(arg0, 15, Local0, bb34)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), 0, arg1, Local0)
+ m600(arg0, 16, Local0, bs1e)
+
+ Mid(Derefof(Refof(aub6)), 0, arg1, Local0)
+ m600(arg0, 17, Local0, bb34)
+ }
+
+ Mid(Derefof(Index(paus, 6)), 0, arg1, Local0)
+ m600(arg0, 18, Local0, bs1e)
+
+ Mid(Derefof(Index(paub, 6)), 0, arg1, Local0)
+ m600(arg0, 19, Local0, bb34)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), 0, arg1, Local0)
+ m600(arg0, 20, Local0, bs1e)
+
+ Mid(m601(3, 6), 0, arg1, Local0)
+ m600(arg0, 21, Local0, bb34)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), 0, arg1, Local0)
+ m600(arg0, 22, Local0, bs1e)
+
+ Mid(Derefof(m602(3, 6, 1)), 0, arg1, Local0)
+ m600(arg0, 23, Local0, bb34)
+ }
+
+ // String to Integer conversion of the both String operands
+
+ Store(Mid("This is auxiliary String", arg2, arg1), Local0)
+ m600(arg0, 24, Local0, bs1f)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, arg2, arg1), Local0)
+ m600(arg0, 25, Local0, bb35)
+
+ Store(Mid(aus6, arg2, arg1), Local0)
+ m600(arg0, 26, Local0, bs1f)
+
+ Store(Mid(aub6, arg2, arg1), Local0)
+ m600(arg0, 27, Local0, bb35)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), arg2, arg1), Local0)
+ m600(arg0, 28, Local0, bs1f)
+
+ Store(Mid(Derefof(Refof(aub6)), arg2, arg1), Local0)
+ m600(arg0, 29, Local0, bb35)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), arg2, arg1), Local0)
+ m600(arg0, 30, Local0, bs1f)
+
+ Store(Mid(Derefof(Index(paub, 6)), arg2, arg1), Local0)
+ m600(arg0, 31, Local0, bb35)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), arg2, arg1), Local0)
+ m600(arg0, 32, Local0, bs1f)
+
+ Store(Mid(m601(3, 6), arg2, arg1), Local0)
+ m600(arg0, 33, Local0, bb35)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), arg2, arg1), Local0)
+ m600(arg0, 34, Local0, bs1f)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), arg2, arg1), Local0)
+ m600(arg0, 35, Local0, bb35)
+ }
+
+ Mid("This is auxiliary String", arg2, arg1, Local0)
+ m600(arg0, 36, Local0, bs1f)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, arg2, arg1, Local0)
+ m600(arg0, 37, Local0, bb35)
+
+ Mid(aus6, arg2, arg1, Local0)
+ m600(arg0, 38, Local0, bs1f)
+
+ Mid(aub6, arg2, arg1, Local0)
+ m600(arg0, 39, Local0, bb35)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), arg2, arg1, Local0)
+ m600(arg0, 40, Local0, bs1f)
+
+ Mid(Derefof(Refof(aub6)), arg2, arg1, Local0)
+ m600(arg0, 41, Local0, bb35)
+ }
+
+ Mid(Derefof(Index(paus, 6)), arg2, arg1, Local0)
+ m600(arg0, 42, Local0, bs1f)
+
+ Mid(Derefof(Index(paub, 6)), arg2, arg1, Local0)
+ m600(arg0, 43, Local0, bb35)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), arg2, arg1, Local0)
+ m600(arg0, 44, Local0, bs1f)
+
+ Mid(m601(3, 6), arg2, arg1, Local0)
+ m600(arg0, 45, Local0, bb35)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), arg2, arg1, Local0)
+ m600(arg0, 46, Local0, bs1f)
+
+ Mid(Derefof(m602(3, 6, 1)), arg2, arg1, Local0)
+ m600(arg0, 47, Local0, bb35)
+ }
+ }
+
+ // String to Integer conversion of the String StartIndex
+ // operand of the Match operator
+ Method(m030, 2)
+ {
+ Store(Match(
+ Package(){
+ 0xa50, 0xa51, 0xa52, 0xa53, 0xa54, 0xa55, 0xa56, 0xa57,
+ 0xa58, 0xa59, 0xa5a, 0xa5b, 0xa5c, 0xa5d, 0xa5e,},
+ MEQ, 0xa5d, MTR, 0, arg1), Local0)
+ m600(arg0, 0, Local0, 0xd)
+
+ Store(Match(
+ Package(){
+ 0xa50, 0xa51, 0xa52, 0xa53, 0xa54, 0xa55, 0xa56, 0xa57,
+ 0xa58, 0xa59, 0xa5a, 0xa5b, 0xa5c, 0xa5d, 0xa5e,},
+ MEQ, 0xa5a, MTR, 0, arg1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(Match(aup0, MEQ, 0xa5d, MTR, 0, arg1), Local0)
+ m600(arg0, 2, Local0, 0xd)
+
+ Store(Match(aup0, MEQ, 0xa5a, MTR, 0, arg1), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(Match(Derefof(Refof(aup0)), MEQ, 0xa5d, MTR, 0, arg1), Local0)
+ m600(arg0, 4, Local0, 0xd)
+
+ Store(Match(Derefof(Refof(aup0)), MEQ, 0xa5a, MTR, 0, arg1), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(Match(Derefof(Index(paup, 0)), MEQ, 0xa5d, MTR, 0, arg1), Local0)
+ m600(arg0, 6, Local0, 0xd)
+
+ Store(Match(Derefof(Index(paup, 0)), MEQ, 0xa5a, MTR, 0, arg1), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Object
+
+ Store(Match(m601(4, 0), MEQ, 0xa5d, MTR, 0, arg1), Local0)
+ m600(arg0, 8, Local0, 0xd)
+
+ Store(Match(m601(4, 0), MEQ, 0xa5a, MTR, 0, arg1), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Match(Derefof(m602(4, 0, 1)), MEQ, 0xa5d, MTR, 0, arg1), Local0)
+ m600(arg0, 10, Local0, 0xd)
+
+ Store(Match(Derefof(m602(4, 0, 1)), MEQ, 0xa5a, MTR, 0, arg1), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+ }
+
+// Method(m64j, 1)
+
+// Method(m32j, 1)
+
+ // String to Integer conversion of the String sole operand
+ // of the Method execution control operators (Sleep, Stall)
+ Method(m031, 3)
+ {
+ CH03(arg0, z121, 2, 0, 0)
+
+ // Sleep
+
+ Store(Timer, Local0)
+
+ Sleep(arg1)
+ CH03(arg0, z121, 3, 0, 0)
+
+ Store(Timer, Local1)
+ Subtract(Local1, Local0, Local2)
+ if (LLess(Local2, c08c)) {
+ err(arg0, z121, 0, 0, 0, Local2, c08c)
+ }
+
+ // Stall
+
+ Store(Timer, Local0)
+
+ Stall(arg2)
+ CH03(arg0, z121, 4, 0, 0)
+
+ Store(Timer, Local1)
+ Subtract(Local1, Local0, Local2)
+ if (LLess(Local2, 990)) {
+ err(arg0, z121, 1, 0, 0, Local2, 990)
+ }
+ }
+
+ // String to Integer conversion of the String TimeoutValue
+ // (second) operand of the Acquire operator ???
+ Method(m032, 2)
+ {
+ Mutex(MTX0, 0)
+
+ Acquire(MTX0, 0)
+ CH03(arg0, z121, 5, 0, 0)
+
+ Store(Timer, Local0)
+
+/* Compiler allows only Integer constant as TimeoutValue (Bug 1)
+ Acquire(MTX0, arg1)
+*/
+ CH03(arg0, z121, 6, 0, 0)
+
+ Store(Timer, Local1)
+ Subtract(Local1, Local0, Local2)
+ if (LLess(Local2, c08c)) {
+ err(arg0, z121, 0, 0, 0, Local2, c08c)
+ }
+ }
+
+ // String to Integer conversion of the String TimeoutValue
+ // (second) operand of the Wait operator
+ Method(m033, 2)
+ {
+ Event(EVT0)
+
+ CH03(arg0, z121, 7, 0, 0)
+
+ Store(Timer, Local0)
+
+ Wait(EVT0, arg1)
+ CH03(arg0, z121, 8, 0, 0)
+
+ Store(Timer, Local1)
+ Subtract(Local1, Local0, Local2)
+ if (LLess(Local2, c08c)) {
+ err(arg0, z121, 0, 0, 0, Local2, c08c)
+ }
+ }
+
+ // String to Integer conversion of the String value
+ // of Predicate of the Method execution control statements
+ // (If, ElseIf, While)
+ Method(m034, 5)
+ {
+ Name(ist0, 0)
+
+ Method(m001, 1)
+ {
+ if (arg0) {
+ Store(0, ist0)
+ }
+ }
+
+ Method(m002, 1)
+ {
+ if (arg0) {
+ Store(2, ist0)
+ }
+ }
+
+ Method(m003, 1)
+ {
+ if (arg0) {
+ Store(3, ist0)
+ }
+ }
+
+ Method(m004, 1)
+ {
+ if (arg0) {
+ Store(4, ist0)
+ }
+ }
+
+ Method(m005, 2)
+ {
+ if (arg0) {
+ Store(0xff, ist0)
+ } elseif (arg1) {
+ Store(0, ist0)
+ }
+ }
+
+ Method(m006, 2)
+ {
+ if (arg0) {
+ Store(0xff, ist0)
+ } elseif (arg1) {
+ Store(6, ist0)
+ }
+ }
+
+ Method(m007, 2)
+ {
+ if (arg0) {
+ Store(0xff, ist0)
+ } elseif (arg1) {
+ Store(7, ist0)
+ }
+ }
+
+ Method(m008, 2)
+ {
+ if (arg0) {
+ Store(0xff, ist0)
+ } elseif (arg1) {
+ Store(8, ist0)
+ }
+ }
+
+ Method(m009, 1)
+ {
+ while (arg0) {
+ Store(0, ist0)
+ Break
+ }
+ }
+
+ // If
+
+ Store(1, ist0)
+ m001(arg4)
+ m600(arg0, 0, ist0, 1)
+
+ m002(arg1)
+ m600(arg0, 1, ist0, 2)
+
+ m003(arg3)
+ m600(arg0, 2, ist0, 3)
+
+ m004(arg2)
+ m600(arg0, 3, ist0, 4)
+
+ // ElseIf
+
+ Store(5, ist0)
+ m005(0, arg4)
+ m600(arg0, 4, ist0, 5)
+
+ m006(0, arg1)
+ m600(arg0, 5, ist0, 6)
+
+ m007(0, arg3)
+ m600(arg0, 6, ist0, 7)
+
+ m008(0, arg2)
+ m600(arg0, 7, ist0, 8)
+
+ // While
+
+ Store(9, ist0)
+ m009(arg4)
+ m600(arg0, 8, ist0, 9)
+ }
+
+// Method(m64k, 1)
+
+// Method(m32k, 1)
+
+ // String to Buffer implicit conversion Cases.
+
+ // String to Buffer conversion of the String second operand of
+ // Logical operators when the first operand is evaluated as Buffer
+ // (LEqual, LGreater, LGreaterEqual, LLess, LLessEqual, LNotEqual)
+
+ Method(m035, 4)
+ {
+ // LEqual
+
+ Store(LEqual(Buffer() {0x30, 0x33, 0x32, 0x31, 0x00}, arg1), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual(Buffer() {0x30, 0x33, 0x32, 0x31, 0x01}, arg1), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(aub7, arg1), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(LEqual(aub3, arg1), Local0)
+ m600(arg0, 3, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aub7)), arg1), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(aub3)), arg1), Local0)
+ m600(arg0, 5, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paub, 7)), arg1), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paub, 3)), arg1), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ // Method returns Buffer
+
+ Store(LEqual(m601(3, 7), arg1), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(LEqual(m601(3, 3), arg1), Local0)
+ m600(arg0, 9, Local0, Zero)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(3, 7, 1)), arg1), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(3, 3, 1)), arg1), Local0)
+ m600(arg0, 11, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater(Buffer() {0x30, 0x33, 0x32, 0x31, 0x00}, arg1), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LGreater(Buffer() {0x30, 0x33, 0x32, 0x31, 0x01}, arg1), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LGreater(Buffer() {0x30, 0x33, 0x32, 0x31}, arg1), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LGreater(Buffer() {0x30, 0x33, 0x32, 0x31, 0x00, 0x01}, arg1), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LGreater(aub7, arg1), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LGreater(aub8, arg1), Local0)
+ m600(arg0, 17, Local0, Ones)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aub7)), arg1), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(aub8)), arg1), Local0)
+ m600(arg0, 19, Local0, Ones)
+ }
+
+ Store(LGreater(Derefof(Index(paub, 7)), arg1), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paub, 8)), arg1), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Buffer
+
+ Store(LGreater(m601(3, 7), arg1), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LGreater(m601(3, 8), arg1), Local0)
+ m600(arg0, 23, Local0, Ones)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(3, 7, 1)), arg1), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(3, 8, 1)), arg1), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual(Buffer() {0x30, 0x33, 0x32, 0x31, 0x00}, arg1), Local0)
+ m600(arg0, 26, Local0, Ones)
+
+ Store(LGreaterEqual(Buffer() {0x30, 0x33, 0x32, 0x31, 0x01}, arg1), Local0)
+ m600(arg0, 27, Local0, Ones)
+
+ Store(LGreaterEqual(Buffer() {0x30, 0x33, 0x32, 0x31}, arg1), Local0)
+ m600(arg0, 28, Local0, Zero)
+
+ Store(LGreaterEqual(Buffer() {0x30, 0x33, 0x32, 0x31, 0x00, 0x01}, arg1), Local0)
+ m600(arg0, 29, Local0, Ones)
+
+ Store(LGreaterEqual(aub7, arg1), Local0)
+ m600(arg0, 30, Local0, Ones)
+
+ Store(LGreaterEqual(aub8, arg1), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aub7)), arg1), Local0)
+ m600(arg0, 32, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(aub8)), arg1), Local0)
+ m600(arg0, 33, Local0, Ones)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paub, 7)), arg1), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paub, 8)), arg1), Local0)
+ m600(arg0, 35, Local0, Ones)
+
+ // Method returns Buffer
+
+ Store(LGreaterEqual(m601(3, 7), arg1), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(m601(3, 8), arg1), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(3, 7, 1)), arg1), Local0)
+ m600(arg0, 38, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(3, 8, 1)), arg1), Local0)
+ m600(arg0, 39, Local0, Ones)
+ }
+
+ // LLess
+
+ Store(LLess(Buffer() {0x30, 0x33, 0x32, 0x31, 0x00}, arg1), Local0)
+ m600(arg0, 40, Local0, Zero)
+
+ Store(LLess(Buffer() {0x30, 0x33, 0x32, 0x31, 0x01}, arg1), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ Store(LLess(Buffer() {0x30, 0x33, 0x32, 0x31}, arg1), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LLess(Buffer() {0x30, 0x33, 0x32, 0x31, 0x00, 0x01}, arg1), Local0)
+ m600(arg0, 43, Local0, Zero)
+
+ Store(LLess(aub7, arg1), Local0)
+ m600(arg0, 44, Local0, Zero)
+
+ Store(LLess(aub8, arg1), Local0)
+ m600(arg0, 45, Local0, Zero)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aub7)), arg1), Local0)
+ m600(arg0, 46, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(aub8)), arg1), Local0)
+ m600(arg0, 47, Local0, Zero)
+ }
+
+ Store(LLess(Derefof(Index(paub, 7)), arg1), Local0)
+ m600(arg0, 48, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paub, 8)), arg1), Local0)
+ m600(arg0, 49, Local0, Zero)
+
+ // Method returns Buffer
+
+ Store(LLess(m601(3, 7), arg1), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ Store(LLess(m601(3, 8), arg1), Local0)
+ m600(arg0, 51, Local0, Zero)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LLess(Derefof(m602(3, 7, 1)), arg1), Local0)
+ m600(arg0, 52, Local0, Zero)
+
+ Store(LLess(Derefof(m602(3, 8, 1)), arg1), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual(Buffer() {0x30, 0x33, 0x32, 0x31, 0x00}, arg1), Local0)
+ m600(arg0, 54, Local0, Ones)
+
+ Store(LLessEqual(Buffer() {0x30, 0x33, 0x32, 0x31, 0x01}, arg1), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLessEqual(Buffer() {0x30, 0x33, 0x32, 0x31}, arg1), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLessEqual(Buffer() {0x30, 0x33, 0x32, 0x31, 0x00, 0x01}, arg1), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLessEqual(aub7, arg1), Local0)
+ m600(arg0, 58, Local0, Ones)
+
+ Store(LLessEqual(aub8, arg1), Local0)
+ m600(arg0, 59, Local0, Zero)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aub7)), arg1), Local0)
+ m600(arg0, 60, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(aub8)), arg1), Local0)
+ m600(arg0, 61, Local0, Zero)
+ }
+
+ Store(LLessEqual(Derefof(Index(paub, 7)), arg1), Local0)
+ m600(arg0, 62, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paub, 8)), arg1), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ // Method returns Buffer
+
+ Store(LLessEqual(m601(3, 7), arg1), Local0)
+ m600(arg0, 64, Local0, Ones)
+
+ Store(LLessEqual(m601(3, 8), arg1), Local0)
+ m600(arg0, 65, Local0, Zero)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(3, 7, 1)), arg1), Local0)
+ m600(arg0, 66, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(3, 8, 1)), arg1), Local0)
+ m600(arg0, 67, Local0, Zero)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual(Buffer() {0x30, 0x33, 0x32, 0x31, 0x00}, arg1), Local0)
+ m600(arg0, 68, Local0, Zero)
+
+ Store(LNotEqual(Buffer() {0x30, 0x33, 0x32, 0x31, 0x01}, arg1), Local0)
+ m600(arg0, 69, Local0, Ones)
+
+ Store(LNotEqual(Buffer() {0x30, 0x33, 0x32, 0x31}, arg1), Local0)
+ m600(arg0, 70, Local0, Ones)
+
+ Store(LNotEqual(Buffer() {0x30, 0x33, 0x32, 0x31, 0x00, 0x01}, arg1), Local0)
+ m600(arg0, 71, Local0, Ones)
+
+ Store(LNotEqual(aub7, arg1), Local0)
+ m600(arg0, 72, Local0, Zero)
+
+ Store(LNotEqual(aub8, arg1), Local0)
+ m600(arg0, 73, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aub7)), arg1), Local0)
+ m600(arg0, 74, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(aub8)), arg1), Local0)
+ m600(arg0, 75, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paub, 7)), arg1), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paub, 8)), arg1), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ // Method returns Buffer
+
+ Store(LNotEqual(m601(3, 7), arg1), Local0)
+ m600(arg0, 78, Local0, Zero)
+
+ Store(LNotEqual(m601(3, 8), arg1), Local0)
+ m600(arg0, 79, Local0, Ones)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(3, 7, 1)), arg1), Local0)
+ m600(arg0, 80, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(3, 8, 1)), arg1), Local0)
+ m600(arg0, 81, Local0, Ones)
+ }
+
+ // Boundary Cases
+
+ Store(LEqual(Buffer() {0x00}, arg2), Local0)
+ m600(arg0, 82, Local0, Ones)
+
+ Store(LEqual(Buffer() {0x01}, arg2), Local0)
+ m600(arg0, 83, Local0, Zero)
+
+ Store(LGreater(Buffer() {0x00}, arg2), Local0)
+ m600(arg0, 84, Local0, Zero)
+
+ Store(LGreater(Buffer() {0x01}, arg2), Local0)
+ m600(arg0, 85, Local0, Ones)
+
+ Store(LGreaterEqual(Buffer() {0x00}, arg2), Local0)
+ m600(arg0, 86, Local0, Ones)
+
+ Store(LGreater(Buffer() {0x01}, arg2), Local0)
+ m600(arg0, 87, Local0, Ones)
+
+ Store(LLess(Buffer() {0x00}, arg2), Local0)
+ m600(arg0, 88, Local0, Zero)
+
+ Store(LLess(Buffer() {0x01}, arg2), Local0)
+ m600(arg0, 89, Local0, Zero)
+
+ Store(LLessEqual(Buffer() {0x00}, arg2), Local0)
+ m600(arg0, 90, Local0, Ones)
+
+ Store(LLessEqual(Buffer() {0x01}, arg2), Local0)
+ m600(arg0, 91, Local0, Zero)
+
+ Store(LNotEqual(Buffer() {0x00}, arg2), Local0)
+ m600(arg0, 92, Local0, Zero)
+
+ Store(LNotEqual(Buffer() {0x01}, arg2), Local0)
+ m600(arg0, 93, Local0, Ones)
+
+ Store(LEqual(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x00,},
+ arg3),
+ Local0)
+ m600(arg0, 94, Local0, Ones)
+
+ Store(LEqual(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x01,},
+ arg3),
+ Local0)
+ m600(arg0, 95, Local0, Zero)
+
+ Store(LGreater(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x00,},
+ arg3),
+ Local0)
+ m600(arg0, 96, Local0, Zero)
+
+ Store(LGreater(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x01,},
+ arg3),
+ Local0)
+ m600(arg0, 97, Local0, Ones)
+
+ Store(LGreaterEqual(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x00,},
+ arg3),
+ Local0)
+ m600(arg0, 98, Local0, Ones)
+
+ Store(LGreater(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x01,},
+ arg3),
+ Local0)
+ m600(arg0, 99, Local0, Ones)
+
+ Store(LLess(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x00,},
+ arg3),
+ Local0)
+ m600(arg0, 100, Local0, Zero)
+
+ Store(LLess(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x01,},
+ arg3),
+ Local0)
+ m600(arg0, 101, Local0, Zero)
+
+ Store(LLessEqual(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x00,},
+ arg3),
+ Local0)
+ m600(arg0, 102, Local0, Ones)
+
+ Store(LLessEqual(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x01,},
+ arg3),
+ Local0)
+ m600(arg0, 103, Local0, Zero)
+
+ Store(LNotEqual(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x00,},
+ arg3),
+ Local0)
+ m600(arg0, 104, Local0, Zero)
+
+ Store(LNotEqual(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x01,},
+ arg3),
+ Local0)
+ m600(arg0, 105, Local0, Ones)
+ }
+
+ // String to Buffer conversion of the String second operand of
+ // Concatenate operator when the first operand is evaluated as Buffer
+
+ Method(m036, 4)
+ {
+ Store(Concatenate(Buffer(){0x5a}, arg1), Local0)
+ m600(arg0, 0, Local0, bb29)
+
+ Store(Concatenate(Buffer(){0x5a, 0x00}, arg1), Local0)
+ m600(arg0, 1, Local0, bb2a)
+
+ Store(Concatenate(aub0, arg1), Local0)
+ m600(arg0, 2, Local0, bb29)
+
+ Store(Concatenate(aub1, arg1), Local0)
+ m600(arg0, 3, Local0, bb2a)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aub0)), arg1), Local0)
+ m600(arg0, 4, Local0, bb29)
+
+ Store(Concatenate(Derefof(Refof(aub1)), arg1), Local0)
+ m600(arg0, 5, Local0, bb2a)
+ }
+
+ Store(Concatenate(Derefof(Index(paub, 0)), arg1), Local0)
+ m600(arg0, 6, Local0, bb29)
+
+ Store(Concatenate(Derefof(Index(paub, 1)), arg1), Local0)
+ m600(arg0, 7, Local0, bb2a)
+
+ // Method returns Buffer
+
+ Store(Concatenate(m601(3, 0), arg1), Local0)
+ m600(arg0, 8, Local0, bb29)
+
+ Store(Concatenate(m601(3, 1), arg1), Local0)
+ m600(arg0, 9, Local0, bb2a)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(3, 0, 1)), arg1), Local0)
+ m600(arg0, 10, Local0, bb29)
+
+ Store(Concatenate(Derefof(m602(3, 1, 1)), arg1), Local0)
+ m600(arg0, 11, Local0, bb2a)
+ }
+
+ Concatenate(Buffer(){0x5a}, arg1, Local0)
+ m600(arg0, 12, Local0, bb29)
+
+ Concatenate(Buffer(){0x5a, 0x00}, arg1, Local0)
+ m600(arg0, 13, Local0, bb2a)
+
+ Concatenate(aub0, arg1, Local0)
+ m600(arg0, 14, Local0, bb29)
+
+ Concatenate(aub1, arg1, Local0)
+ m600(arg0, 15, Local0, bb2a)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aub0)), arg1, Local0)
+ m600(arg0, 16, Local0, bb29)
+
+ Concatenate(Derefof(Refof(aub1)), arg1, Local0)
+ m600(arg0, 17, Local0, bb2a)
+ }
+
+ Concatenate(Derefof(Index(paub, 0)), arg1, Local0)
+ m600(arg0, 18, Local0, bb29)
+
+ Concatenate(Derefof(Index(paub, 1)), arg1, Local0)
+ m600(arg0, 19, Local0, bb2a)
+
+ // Method returns Buffer
+
+ Concatenate(m601(3, 0), arg1, Local0)
+ m600(arg0, 20, Local0, bb29)
+
+ Concatenate(m601(3, 1), arg1, Local0)
+ m600(arg0, 21, Local0, bb2a)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Concatenate(Derefof(m602(3, 0, 1)), arg1, Local0)
+ m600(arg0, 22, Local0, bb29)
+
+ Concatenate(Derefof(m602(3, 1, 1)), arg1, Local0)
+ m600(arg0, 23, Local0, bb2a)
+ }
+
+ // Boundary Cases
+
+ Store(Concatenate(Buffer(){0x5a}, arg2), Local0)
+ m600(arg0, 24, Local0, bb2b)
+
+ Store(Concatenate(Buffer(){0x5a, 0x00}, arg2), Local0)
+ m600(arg0, 25, Local0, bb2c)
+
+ Store(0, Local1)
+ Store(Concatenate(Buffer(Local1){}, arg3), Local0)
+ m600(arg0, 26, Local0, bb2d)
+ }
+
+ // String to Buffer conversion of the String Source operand of
+ // ToString operator (has a visual effect in shortening of the
+ // String taken the null character, that is impossible to show
+ // with an immediate String constant).
+
+ Method(m037, 4)
+ {
+ Store(ToString(arg1, Ones), Local0)
+ m600(arg0, 0, Local0, bs20)
+
+ Store(ToString(arg1, 3), Local0)
+ m600(arg0, 1, Local0, bs21)
+
+ Store(ToString(arg1, aui0), Local0)
+ m600(arg0, 2, Local0, bs20)
+
+ Store(ToString(arg1, aui7), Local0)
+ m600(arg0, 3, Local0, bs21)
+
+ if (y078) {
+ Store(ToString(arg1, Derefof(Refof(aui0))), Local0)
+ m600(arg0, 4, Local0, bs20)
+
+ Store(ToString(arg1, Derefof(Refof(aui7))), Local0)
+ m600(arg0, 5, Local0, bs21)
+ }
+
+ Store(ToString(arg1, Derefof(Index(paui, 0))), Local0)
+ m600(arg0, 6, Local0, bs20)
+
+ Store(ToString(arg1, Derefof(Index(paui, 7))), Local0)
+ m600(arg0, 7, Local0, bs21)
+
+ // Method returns Length parameter
+
+ Store(ToString(arg1, m601(1, 0)), Local0)
+ m600(arg0, 8, Local0, bs20)
+
+ Store(ToString(arg1, m601(1, 7)), Local0)
+ m600(arg0, 9, Local0, bs21)
+
+ // Method returns Reference to Length parameter
+
+ if (y500) {
+ Store(ToString(arg1, Derefof(m601(1, 0))), Local0)
+ m600(arg0, 10, Local0, bs20)
+
+ Store(ToString(arg1, Derefof(m601(1, 7))), Local0)
+ m600(arg0, 11, Local0, bs21)
+ }
+
+ ToString(arg1, Ones, Local0)
+ m600(arg0, 12, Local0, bs20)
+
+ ToString(arg1, 3, Local0)
+ m600(arg0, 13, Local0, bs21)
+
+ ToString(arg1, aui0, Local0)
+ m600(arg0, 14, Local0, bs20)
+
+ ToString(arg1, aui7, Local0)
+ m600(arg0, 15, Local0, bs21)
+
+ if (y078) {
+ ToString(arg1, Derefof(Refof(aui0)), Local0)
+ m600(arg0, 16, Local0, bs20)
+
+ ToString(arg1, Derefof(Refof(aui7)), Local0)
+ m600(arg0, 17, Local0, bs21)
+ }
+
+ ToString(arg1, Derefof(Index(paui, 0)), Local0)
+ m600(arg0, 18, Local0, bs20)
+
+ ToString(arg1, Derefof(Index(paui, 7)), Local0)
+ m600(arg0, 19, Local0, bs21)
+
+ // Method returns Length parameter
+
+ ToString(arg1, m601(1, 0), Local0)
+ m600(arg0, 20, Local0, bs20)
+
+ ToString(arg1, m601(1, 7), Local0)
+ m600(arg0, 21, Local0, bs21)
+
+ // Method returns Reference to Length parameter
+
+ if (y500) {
+ ToString(arg1, Derefof(m601(1, 0)), Local0)
+ m600(arg0, 22, Local0, bs20)
+
+ ToString(arg1, Derefof(m601(1, 7)), Local0)
+ m600(arg0, 23, Local0, bs21)
+ }
+
+ // Boundary Cases
+
+ Store(ToString(arg2, Ones), Local0)
+ m600(arg0, 24, Local0, bs22)
+
+ Store(ToString(arg2, 3), Local0)
+ m600(arg0, 25, Local0, bs22)
+
+ Store(ToString(arg3, Ones), Local0)
+ m600(arg0, 26, Local0, bs23)
+
+ Store(ToString(arg3, 3), Local0)
+ m600(arg0, 27, Local0, bs24)
+ }
+
+// Method(m038, 1)
+
+// Method(m039, 1)
+
+ // Buffer to Integer implicit conversion Cases.
+
+ // Buffer to Integer conversion of the Buffer sole operand
+ // of the 1-parameter Integer arithmetic operators
+ // (Decrement, Increment, FindSetLeftBit, FindSetRightBit, Not)
+
+ Method(m64l, 3)
+ {
+ // Decrement
+ if (y501) {
+ Store(Decrement(arg1), Local0)
+ m600(arg0, 0, Local0, bi12)
+
+ Store(Decrement(arg2), Local0)
+ m600(arg0, 1, Local0, bi16)
+ }
+
+ // Increment
+ if (y501) {
+ Store(Increment(arg1), Local0)
+ m600(arg0, 2, Local0, bi13)
+
+ Store(Increment(arg2), Local0)
+ m600(arg0, 3, Local0, bi17)
+ }
+
+ // FindSetLeftBit
+
+ Store(FindSetLeftBit(arg1), Local0)
+ m600(arg0, 4, Local0, 10)
+
+ Store(FindSetLeftBit(arg2), Local0)
+ m600(arg0, 5, Local0, 64)
+
+ // FindSetRightBit
+
+ Store(FindSetRightBit(arg1), Local0)
+ m600(arg0, 6, Local0, 1)
+
+ Store(FindSetRightBit(arg2), Local0)
+ m600(arg0, 7, Local0, 3)
+
+ // Not
+
+ Store(Not(arg1), Local0)
+ m600(arg0, 8, Local0, 0xfffffffffffffcde)
+
+ Store(Not(arg2), Local0)
+ m600(arg0, 9, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Method(m32l, 3)
+ {
+ // Decrement
+ if (y501) {
+ Store(Decrement(arg1), Local0)
+ m600(arg0, 0, Local0, bi12)
+
+ Store(Decrement(arg2), Local0)
+ m600(arg0, 1, Local0, bi18)
+ }
+
+ // Increment
+ if (y501) {
+ Store(Increment(arg1), Local0)
+ m600(arg0, 2, Local0, bi13)
+
+ Store(Increment(arg2), Local0)
+ m600(arg0, 3, Local0, bi19)
+ }
+
+ // FindSetLeftBit
+
+ Store(FindSetLeftBit(arg1), Local0)
+ m600(arg0, 4, Local0, 10)
+
+ Store(FindSetLeftBit(arg2), Local0)
+ m600(arg0, 5, Local0, 32)
+
+ // FindSetRightBit
+
+ Store(FindSetRightBit(arg1), Local0)
+ m600(arg0, 6, Local0, 1)
+
+ Store(FindSetRightBit(arg2), Local0)
+ m600(arg0, 7, Local0, 3)
+
+ // Not
+
+ Store(Not(arg1), Local0)
+ m600(arg0, 8, Local0, 0xfffffcde)
+
+ Store(Not(arg2), Local0)
+ m600(arg0, 9, Local0, 0x29af5d7b)
+ }
+
+ // Buffer to Integer conversion of the Buffer sole operand
+ // of the LNot Logical Integer operator
+ Method(m03a, 4)
+ {
+ Store(LNot(arg3), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LNot(arg1), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ if (F64) {
+ Store(LNot(arg2), Local0)
+ m600(arg0, 2, Local0, Zero)
+ } else {
+ Store(LNot(arg2), Local0)
+ m600(arg0, 3, Local0, Zero)
+ }
+ }
+
+ // Buffer to Integer conversion of the Buffer sole operand
+ // of the FromBCD and ToBCD conversion operators
+
+ Method(m64m, 4)
+ {
+ // FromBCD
+
+ Store(FromBCD(arg1), Local0)
+ m600(arg0, 2, Local0, 0x141)
+
+ Store(FromBCD(arg2), Local0)
+ m600(arg0, 3, Local0, 0xd76162ee9ec35)
+
+ FromBCD(arg1, Local0)
+ m600(arg0, 2, Local0, 0x141)
+
+ FromBCD(arg2, Local0)
+ m600(arg0, 3, Local0, 0xd76162ee9ec35)
+
+ // ToBCD
+
+ Store(ToBCD(arg1), Local0)
+ m600(arg0, 4, Local0, 0x801)
+
+// ??? No error of iASL on constant folding
+ Store(ToBCD(arg3), Local0)
+ m600(arg0, 5, Local0, 0x3789012345678901)
+
+ ToBCD(arg1, Local0)
+ m600(arg0, 4, Local0, 0x801)
+
+ ToBCD(arg3, Local0)
+ m600(arg0, 5, Local0, 0x3789012345678901)
+ }
+
+ Method(m32m, 4)
+ {
+ // FromBCD
+
+ Store(FromBCD(arg1), Local0)
+ m600(arg0, 2, Local0, 0x141)
+
+ Store(FromBCD(arg2), Local0)
+ m600(arg0, 3, Local0, 0x55f2cc0)
+
+ FromBCD(arg1, Local0)
+ m600(arg0, 2, Local0, 0x141)
+
+ FromBCD(arg2, Local0)
+ m600(arg0, 3, Local0, 0x55f2cc0)
+
+ // ToBCD
+
+ Store(ToBCD(arg1), Local0)
+ m600(arg0, 4, Local0, 0x801)
+
+ Store(ToBCD(arg3), Local0)
+ m600(arg0, 5, Local0, 0x90123456)
+
+ ToBCD(arg1, Local0)
+ m600(arg0, 4, Local0, 0x801)
+
+ ToBCD(arg3, Local0)
+ m600(arg0, 5, Local0, 0x90123456)
+ }
+
+ // Buffer to Integer conversion of each Buffer operand
+ // of the 2-parameter Integer arithmetic operators
+ // Add, And, Divide, Mod, Multiply, NAnd, NOr, Or,
+ // ShiftLeft, ShiftRight, Subtract, Xor
+
+ // Add, common 32-bit/64-bit test
+ Method(m03b, 2)
+ {
+ // Conversion of the first operand
+
+ Store(Add(arg1, 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Add(arg1, 1), Local0)
+ m600(arg0, 1, Local0, 0x322)
+
+ Store(Add(arg1, aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Add(arg1, aui6), Local0)
+ m600(arg0, 3, Local0, 0x322)
+
+ if (y078) {
+ Store(Add(arg1, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Add(arg1, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x322)
+ }
+
+ Store(Add(arg1, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Add(arg1, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x322)
+
+ // Method returns Integer
+
+ Store(Add(arg1, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Add(arg1, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x322)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(arg1, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Add(arg1, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x322)
+ }
+
+ Add(arg1, 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Add(arg1, 1, Local0)
+ m600(arg0, 13, Local0, 0x322)
+
+ Add(arg1, aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Add(arg1, aui6, Local0)
+ m600(arg0, 15, Local0, 0x322)
+
+ if (y078) {
+ Add(arg1, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Add(arg1, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x322)
+ }
+
+ Add(arg1, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Add(arg1, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x322)
+
+ // Method returns Integer
+
+ Add(arg1, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Add(arg1, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x322)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(arg1, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Add(arg1, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x322)
+ }
+
+ // Conversion of the second operand
+
+ Store(Add(0, arg1), Local0)
+ m600(arg0, 24, Local0, 0x321)
+
+ Store(Add(1, arg1), Local0)
+ m600(arg0, 25, Local0, 0x322)
+
+ Store(Add(aui5, arg1), Local0)
+ m600(arg0, 26, Local0, 0x321)
+
+ Store(Add(aui6, arg1), Local0)
+ m600(arg0, 27, Local0, 0x322)
+
+ if (y078) {
+ Store(Add(Derefof(Refof(aui5)), arg1), Local0)
+ m600(arg0, 28, Local0, 0x321)
+
+ Store(Add(Derefof(Refof(aui6)), arg1), Local0)
+ m600(arg0, 29, Local0, 0x322)
+ }
+
+ Store(Add(Derefof(Index(paui, 5)), arg1), Local0)
+ m600(arg0, 30, Local0, 0x321)
+
+ Store(Add(Derefof(Index(paui, 6)), arg1), Local0)
+ m600(arg0, 31, Local0, 0x322)
+
+ // Method returns Integer
+
+ Store(Add(m601(1, 5), arg1), Local0)
+ m600(arg0, 32, Local0, 0x321)
+
+ Store(Add(m601(1, 6), arg1), Local0)
+ m600(arg0, 33, Local0, 0x322)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(Derefof(m602(1, 5, 1)), arg1), Local0)
+ m600(arg0, 34, Local0, 0x321)
+
+ Store(Add(Derefof(m602(1, 6, 1)), arg1), Local0)
+ m600(arg0, 35, Local0, 0x322)
+ }
+
+ Add(0, arg1, Local0)
+ m600(arg0, 36, Local0, 0x321)
+
+ Add(1, arg1, Local0)
+ m600(arg0, 37, Local0, 0x322)
+
+ Add(aui5, arg1, Local0)
+ m600(arg0, 38, Local0, 0x321)
+
+ Add(aui6, arg1, Local0)
+ m600(arg0, 39, Local0, 0x322)
+
+ if (y078) {
+ Add(Derefof(Refof(aui5)), arg1, Local0)
+ m600(arg0, 40, Local0, 0x321)
+
+ Add(Derefof(Refof(aui6)), arg1, Local0)
+ m600(arg0, 41, Local0, 0x322)
+ }
+
+ Add(Derefof(Index(paui, 5)), arg1, Local0)
+ m600(arg0, 42, Local0, 0x321)
+
+ Add(Derefof(Index(paui, 6)), arg1, Local0)
+ m600(arg0, 43, Local0, 0x322)
+
+ // Method returns Integer
+
+ Add(m601(1, 5), arg1, Local0)
+ m600(arg0, 44, Local0, 0x321)
+
+ Add(m601(1, 6), arg1, Local0)
+ m600(arg0, 45, Local0, 0x322)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(Derefof(m602(1, 5, 1)), arg1, Local0)
+ m600(arg0, 46, Local0, 0x321)
+
+ Add(Derefof(m602(1, 6, 1)), arg1, Local0)
+ m600(arg0, 47, Local0, 0x322)
+ }
+ }
+
+ // Add, 64-bit
+ Method(m03c, 3)
+ {
+ // Conversion of the first operand
+
+ Store(Add(arg2, 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(arg2, 1), Local0)
+ m600(arg0, 1, Local0, 0xfe7cb391d650a285)
+
+ Store(Add(arg2, aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(arg2, aui6), Local0)
+ m600(arg0, 3, Local0, 0xfe7cb391d650a285)
+
+ if (y078) {
+ Store(Add(arg2, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(arg2, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xfe7cb391d650a285)
+ }
+
+ Store(Add(arg2, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(arg2, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Integer
+
+ Store(Add(arg2, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(arg2, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(arg2, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(arg2, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfe7cb391d650a285)
+ }
+
+ Add(arg2, 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Add(arg2, 1, Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a285)
+
+ Add(arg2, aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Add(arg2, aui6, Local0)
+ m600(arg0, 15, Local0, 0xfe7cb391d650a285)
+
+ if (y078) {
+ Add(arg2, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Add(arg2, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xfe7cb391d650a285)
+ }
+
+ Add(arg2, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Add(arg2, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Integer
+
+ Add(arg2, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Add(arg2, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(arg2, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Add(arg2, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfe7cb391d650a285)
+ }
+
+ // Conversion of the second operand
+
+ Store(Add(0, arg2), Local0)
+ m600(arg0, 24, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(1, arg2), Local0)
+ m600(arg0, 25, Local0, 0xfe7cb391d650a285)
+
+ Store(Add(aui5, arg2), Local0)
+ m600(arg0, 26, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(aui6, arg2), Local0)
+ m600(arg0, 27, Local0, 0xfe7cb391d650a285)
+
+ if (y078) {
+ Store(Add(Derefof(Refof(aui5)), arg2), Local0)
+ m600(arg0, 28, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(Refof(aui6)), arg2), Local0)
+ m600(arg0, 29, Local0, 0xfe7cb391d650a285)
+ }
+
+ Store(Add(Derefof(Index(paui, 5)), arg2), Local0)
+ m600(arg0, 30, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(Index(paui, 6)), arg2), Local0)
+ m600(arg0, 31, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Integer
+
+ Store(Add(m601(1, 5), arg2), Local0)
+ m600(arg0, 32, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(m601(1, 6), arg2), Local0)
+ m600(arg0, 33, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(Derefof(m602(1, 5, 1)), arg2), Local0)
+ m600(arg0, 34, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(m602(1, 6, 1)), arg2), Local0)
+ m600(arg0, 35, Local0, 0xfe7cb391d650a285)
+ }
+
+ Add(0, arg2, Local0)
+ m600(arg0, 36, Local0, 0xfe7cb391d650a284)
+
+ Add(1, arg2, Local0)
+ m600(arg0, 37, Local0, 0xfe7cb391d650a285)
+
+ Add(aui5, arg2, Local0)
+ m600(arg0, 38, Local0, 0xfe7cb391d650a284)
+
+ Add(aui6, arg2, Local0)
+ m600(arg0, 39, Local0, 0xfe7cb391d650a285)
+
+ if (y078) {
+ Add(Derefof(Refof(aui5)), arg2, Local0)
+ m600(arg0, 40, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(Refof(aui6)), arg2, Local0)
+ m600(arg0, 41, Local0, 0xfe7cb391d650a285)
+ }
+
+ Add(Derefof(Index(paui, 5)), arg2, Local0)
+ m600(arg0, 42, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(Index(paui, 6)), arg2, Local0)
+ m600(arg0, 43, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Integer
+
+ Add(m601(1, 5), arg2, Local0)
+ m600(arg0, 44, Local0, 0xfe7cb391d650a284)
+
+ Add(m601(1, 6), arg2, Local0)
+ m600(arg0, 45, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(Derefof(m602(1, 5, 1)), arg2, Local0)
+ m600(arg0, 46, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(m602(1, 6, 1)), arg2, Local0)
+ m600(arg0, 47, Local0, 0xfe7cb391d650a285)
+ }
+
+ // Conversion of the both operands
+
+ Store(Add(arg1, arg2), Local0)
+ m600(arg0, 48, Local0, 0xfe7cb391d650a5a5)
+
+ Store(Add(arg2, arg1), Local0)
+ m600(arg0, 49, Local0, 0xfe7cb391d650a5a5)
+
+ Add(arg1, arg2, Local0)
+ m600(arg0, 50, Local0, 0xfe7cb391d650a5a5)
+
+ Add(arg2, arg1, Local0)
+ m600(arg0, 51, Local0, 0xfe7cb391d650a5a5)
+ }
+
+ // Add, 32-bit
+ Method(m03d, 3)
+ {
+ // Conversion of the first operand
+
+ Store(Add(arg2, 0), Local0)
+ m600(arg0, 0, Local0, 0xd650a284)
+
+ Store(Add(arg2, 1), Local0)
+ m600(arg0, 1, Local0, 0xd650a285)
+
+ Store(Add(arg2, aui5), Local0)
+ m600(arg0, 2, Local0, 0xd650a284)
+
+ Store(Add(arg2, aui6), Local0)
+ m600(arg0, 3, Local0, 0xd650a285)
+
+ if (y078) {
+ Store(Add(arg2, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xd650a284)
+
+ Store(Add(arg2, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xd650a285)
+ }
+
+ Store(Add(arg2, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xd650a284)
+
+ Store(Add(arg2, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xd650a285)
+
+ // Method returns Integer
+
+ Store(Add(arg2, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xd650a284)
+
+ Store(Add(arg2, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xd650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(arg2, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xd650a284)
+
+ Store(Add(arg2, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xd650a285)
+ }
+
+ Add(arg2, 0, Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ Add(arg2, 1, Local0)
+ m600(arg0, 13, Local0, 0xd650a285)
+
+ Add(arg2, aui5, Local0)
+ m600(arg0, 14, Local0, 0xd650a284)
+
+ Add(arg2, aui6, Local0)
+ m600(arg0, 15, Local0, 0xd650a285)
+
+ if (y078) {
+ Add(arg2, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xd650a284)
+
+ Add(arg2, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xd650a285)
+ }
+
+ Add(arg2, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xd650a284)
+
+ Add(arg2, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xd650a285)
+
+ // Method returns Integer
+
+ Add(arg2, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xd650a284)
+
+ Add(arg2, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xd650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(arg2, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xd650a284)
+
+ Add(arg2, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xd650a285)
+ }
+
+ // Conversion of the second operand
+
+ Store(Add(0, arg2), Local0)
+ m600(arg0, 24, Local0, 0xd650a284)
+
+ Store(Add(1, arg2), Local0)
+ m600(arg0, 25, Local0, 0xd650a285)
+
+ Store(Add(aui5, arg2), Local0)
+ m600(arg0, 26, Local0, 0xd650a284)
+
+ Store(Add(aui6, arg2), Local0)
+ m600(arg0, 27, Local0, 0xd650a285)
+
+ if (y078) {
+ Store(Add(Derefof(Refof(aui5)), arg2), Local0)
+ m600(arg0, 28, Local0, 0xd650a284)
+
+ Store(Add(Derefof(Refof(aui6)), arg2), Local0)
+ m600(arg0, 29, Local0, 0xd650a285)
+ }
+
+ Store(Add(Derefof(Index(paui, 5)), arg2), Local0)
+ m600(arg0, 30, Local0, 0xd650a284)
+
+ Store(Add(Derefof(Index(paui, 6)), arg2), Local0)
+ m600(arg0, 31, Local0, 0xd650a285)
+
+ // Method returns Integer
+
+ Store(Add(m601(1, 5), arg2), Local0)
+ m600(arg0, 32, Local0, 0xd650a284)
+
+ Store(Add(m601(1, 6), arg2), Local0)
+ m600(arg0, 33, Local0, 0xd650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(Derefof(m602(1, 5, 1)), arg2), Local0)
+ m600(arg0, 34, Local0, 0xd650a284)
+
+ Store(Add(Derefof(m602(1, 6, 1)), arg2), Local0)
+ m600(arg0, 35, Local0, 0xd650a285)
+ }
+
+ Add(0, arg2, Local0)
+ m600(arg0, 36, Local0, 0xd650a284)
+
+ Add(1, arg2, Local0)
+ m600(arg0, 37, Local0, 0xd650a285)
+
+ Add(aui5, arg2, Local0)
+ m600(arg0, 38, Local0, 0xd650a284)
+
+ Add(aui6, arg2, Local0)
+ m600(arg0, 39, Local0, 0xd650a285)
+
+ if (y078) {
+ Add(Derefof(Refof(aui5)), arg2, Local0)
+ m600(arg0, 40, Local0, 0xd650a284)
+
+ Add(Derefof(Refof(aui6)), arg2, Local0)
+ m600(arg0, 41, Local0, 0xd650a285)
+ }
+
+ Add(Derefof(Index(paui, 5)), arg2, Local0)
+ m600(arg0, 42, Local0, 0xd650a284)
+
+ Add(Derefof(Index(paui, 6)), arg2, Local0)
+ m600(arg0, 43, Local0, 0xd650a285)
+
+ // Method returns Integer
+
+ Add(m601(1, 5), arg2, Local0)
+ m600(arg0, 44, Local0, 0xd650a284)
+
+ Add(m601(1, 6), arg2, Local0)
+ m600(arg0, 45, Local0, 0xd650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(Derefof(m602(1, 5, 1)), arg2, Local0)
+ m600(arg0, 46, Local0, 0xd650a284)
+
+ Add(Derefof(m602(1, 6, 1)), arg2, Local0)
+ m600(arg0, 47, Local0, 0xd650a285)
+ }
+
+ // Conversion of the both operands
+
+ Store(Add(arg1, arg2), Local0)
+ m600(arg0, 48, Local0, 0xd650a5a5)
+
+ Store(Add(arg2, arg1), Local0)
+ m600(arg0, 49, Local0, 0xd650a5a5)
+
+ Add(arg1, arg2, Local0)
+ m600(arg0, 50, Local0, 0xd650a5a5)
+
+ Add(arg2, arg1, Local0)
+ m600(arg0, 51, Local0, 0xd650a5a5)
+ }
+
+ // And, common 32-bit/64-bit test
+ Method(m03e, 2)
+ {
+ // Conversion of the first operand
+
+ Store(And(arg1, 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(And(arg1, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0x321)
+
+ Store(And(arg1, aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(And(arg1, auij), Local0)
+ m600(arg0, 3, Local0, 0x321)
+
+ if (y078) {
+ Store(And(arg1, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(And(arg1, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0x321)
+ }
+
+ Store(And(arg1, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(And(arg1, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0x321)
+
+ // Method returns Integer
+
+ Store(And(arg1, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(And(arg1, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(arg1, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(And(arg1, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0x321)
+ }
+
+ And(arg1, 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ And(arg1, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0x321)
+
+ And(arg1, aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ And(arg1, auij, Local0)
+ m600(arg0, 15, Local0, 0x321)
+
+ if (y078) {
+ And(arg1, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ And(arg1, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0x321)
+ }
+
+ And(arg1, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ And(arg1, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0x321)
+
+ // Method returns Integer
+
+ And(arg1, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ And(arg1, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(arg1, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ And(arg1, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0x321)
+ }
+
+ // Conversion of the second operand
+
+ Store(And(0, arg1), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(And(0xffffffffffffffff, arg1), Local0)
+ m600(arg0, 25, Local0, 0x321)
+
+ Store(And(aui5, arg1), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(And(auij, arg1), Local0)
+ m600(arg0, 27, Local0, 0x321)
+
+ if (y078) {
+ Store(And(Derefof(Refof(aui5)), arg1), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(And(Derefof(Refof(auij)), arg1), Local0)
+ m600(arg0, 29, Local0, 0x321)
+ }
+
+ Store(And(Derefof(Index(paui, 5)), arg1), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(And(Derefof(Index(paui, 19)), arg1), Local0)
+ m600(arg0, 31, Local0, 0x321)
+
+ // Method returns Integer
+
+ Store(And(m601(1, 5), arg1), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(And(m601(1, 19), arg1), Local0)
+ m600(arg0, 33, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(Derefof(m602(1, 5, 1)), arg1), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(And(Derefof(m602(1, 19, 1)), arg1), Local0)
+ m600(arg0, 35, Local0, 0x321)
+ }
+
+ And(0, arg1, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ And(0xffffffffffffffff, arg1, Local0)
+ m600(arg0, 37, Local0, 0x321)
+
+ And(aui5, arg1, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ And(auij, arg1, Local0)
+ m600(arg0, 39, Local0, 0x321)
+
+ if (y078) {
+ And(Derefof(Refof(aui5)), arg1, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ And(Derefof(Refof(auij)), arg1, Local0)
+ m600(arg0, 41, Local0, 0x321)
+ }
+
+ And(Derefof(Index(paui, 5)), arg1, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ And(Derefof(Index(paui, 19)), arg1, Local0)
+ m600(arg0, 43, Local0, 0x321)
+
+ // Method returns Integer
+
+ And(m601(1, 5), arg1, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ And(m601(1, 19), arg1, Local0)
+ m600(arg0, 45, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(Derefof(m602(1, 5, 1)), arg1, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ And(Derefof(m602(1, 19, 1)), arg1, Local0)
+ m600(arg0, 47, Local0, 0x321)
+ }
+ }
+
+ // And, 64-bit
+ Method(m03f, 3)
+ {
+ // Conversion of the first operand
+
+ Store(And(arg2, 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(And(arg2, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xfe7cb391d650a284)
+
+ Store(And(arg2, aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(And(arg2, auij), Local0)
+ m600(arg0, 3, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Store(And(arg2, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(And(arg2, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xfe7cb391d650a284)
+ }
+
+ Store(And(arg2, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(And(arg2, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Store(And(arg2, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(And(arg2, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(arg2, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(And(arg2, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfe7cb391d650a284)
+ }
+
+ And(arg2, 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ And(arg2, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a284)
+
+ And(arg2, aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ And(arg2, auij, Local0)
+ m600(arg0, 15, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ And(arg2, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ And(arg2, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xfe7cb391d650a284)
+ }
+
+ And(arg2, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ And(arg2, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ And(arg2, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ And(arg2, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(arg2, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ And(arg2, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfe7cb391d650a284)
+ }
+
+ // Conversion of the second operand
+
+ Store(And(0, arg2), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(And(0xffffffffffffffff, arg2), Local0)
+ m600(arg0, 25, Local0, 0xfe7cb391d650a284)
+
+ Store(And(aui5, arg2), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(And(auij, arg2), Local0)
+ m600(arg0, 27, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Store(And(Derefof(Refof(aui5)), arg2), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(And(Derefof(Refof(auij)), arg2), Local0)
+ m600(arg0, 29, Local0, 0xfe7cb391d650a284)
+ }
+
+ Store(And(Derefof(Index(paui, 5)), arg2), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(And(Derefof(Index(paui, 19)), arg2), Local0)
+ m600(arg0, 31, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Store(And(m601(1, 5), arg2), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(And(m601(1, 19), arg2), Local0)
+ m600(arg0, 33, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(Derefof(m602(1, 5, 1)), arg2), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(And(Derefof(m602(1, 19, 1)), arg2), Local0)
+ m600(arg0, 35, Local0, 0xfe7cb391d650a284)
+ }
+
+ And(0, arg2, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ And(0xffffffffffffffff, arg2, Local0)
+ m600(arg0, 37, Local0, 0xfe7cb391d650a284)
+
+ And(aui5, arg2, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ And(auij, arg2, Local0)
+ m600(arg0, 39, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ And(Derefof(Refof(aui5)), arg2, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ And(Derefof(Refof(auij)), arg2, Local0)
+ m600(arg0, 41, Local0, 0xfe7cb391d650a284)
+ }
+
+ And(Derefof(Index(paui, 5)), arg2, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ And(Derefof(Index(paui, 19)), arg2, Local0)
+ m600(arg0, 43, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ And(m601(1, 5), arg2, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ And(m601(1, 19), arg2, Local0)
+ m600(arg0, 45, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(Derefof(m602(1, 5, 1)), arg2, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ And(Derefof(m602(1, 19, 1)), arg2, Local0)
+ m600(arg0, 47, Local0, 0xfe7cb391d650a284)
+ }
+
+ // Conversion of the both operands
+
+ Store(And(arg1, arg2), Local0)
+ m600(arg0, 48, Local0, 0x200)
+
+ Store(And(arg2, arg1), Local0)
+ m600(arg0, 49, Local0, 0x200)
+
+ And(arg1, arg2, Local0)
+ m600(arg0, 50, Local0, 0x200)
+
+ And(arg2, arg1, Local0)
+ m600(arg0, 51, Local0, 0x200)
+ }
+
+ // And, 32-bit
+ Method(m040, 3)
+ {
+ // Conversion of the first operand
+
+ Store(And(arg2, 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(And(arg2, 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0xd650a284)
+
+ Store(And(arg2, aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(And(arg2, auii), Local0)
+ m600(arg0, 3, Local0, 0xd650a284)
+
+ if (y078) {
+ Store(And(arg2, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(And(arg2, Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0xd650a284)
+ }
+
+ Store(And(arg2, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(And(arg2, Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0xd650a284)
+
+ // Method returns Integer
+
+ Store(And(arg2, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(And(arg2, m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0xd650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(arg2, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(And(arg2, Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0xd650a284)
+ }
+
+ And(arg2, 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ And(arg2, 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0xd650a284)
+
+ And(arg2, aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ And(arg2, auii, Local0)
+ m600(arg0, 15, Local0, 0xd650a284)
+
+ if (y078) {
+ And(arg2, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ And(arg2, Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0xd650a284)
+ }
+
+ And(arg2, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ And(arg2, Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0xd650a284)
+
+ // Method returns Integer
+
+ And(arg2, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ And(arg2, m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0xd650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(arg2, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ And(arg2, Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0xd650a284)
+ }
+
+ // Conversion of the second operand
+
+ Store(And(0, arg2), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(And(0xffffffff, arg2), Local0)
+ m600(arg0, 25, Local0, 0xd650a284)
+
+ Store(And(aui5, arg2), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(And(auii, arg2), Local0)
+ m600(arg0, 27, Local0, 0xd650a284)
+
+ if (y078) {
+ Store(And(Derefof(Refof(aui5)), arg2), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(And(Derefof(Refof(auii)), arg2), Local0)
+ m600(arg0, 29, Local0, 0xd650a284)
+ }
+
+ Store(And(Derefof(Index(paui, 5)), arg2), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(And(Derefof(Index(paui, 18)), arg2), Local0)
+ m600(arg0, 31, Local0, 0xd650a284)
+
+ // Method returns Integer
+
+ Store(And(m601(1, 5), arg2), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(And(m601(1, 18), arg2), Local0)
+ m600(arg0, 33, Local0, 0xd650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(Derefof(m602(1, 5, 1)), arg2), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(And(Derefof(m602(1, 18, 1)), arg2), Local0)
+ m600(arg0, 35, Local0, 0xd650a284)
+ }
+
+ And(0, arg2, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ And(0xffffffff, arg2, Local0)
+ m600(arg0, 37, Local0, 0xd650a284)
+
+ And(aui5, arg2, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ And(auii, arg2, Local0)
+ m600(arg0, 39, Local0, 0xd650a284)
+
+ if (y078) {
+ And(Derefof(Refof(aui5)), arg2, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ And(Derefof(Refof(auii)), arg2, Local0)
+ m600(arg0, 41, Local0, 0xd650a284)
+ }
+
+ And(Derefof(Index(paui, 5)), arg2, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ And(Derefof(Index(paui, 18)), arg2, Local0)
+ m600(arg0, 43, Local0, 0xd650a284)
+
+ // Method returns Integer
+
+ And(m601(1, 5), arg2, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ And(m601(1, 18), arg2, Local0)
+ m600(arg0, 45, Local0, 0xd650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(Derefof(m602(1, 5, 1)), arg2, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ And(Derefof(m602(1, 18, 1)), arg2, Local0)
+ m600(arg0, 47, Local0, 0xd650a284)
+ }
+
+ // Conversion of the both operands
+
+ Store(And(arg1, arg2), Local0)
+ m600(arg0, 48, Local0, 0x200)
+
+ Store(And(arg2, arg1), Local0)
+ m600(arg0, 49, Local0, 0x200)
+
+ And(arg1, arg2, Local0)
+ m600(arg0, 50, Local0, 0x200)
+
+ And(arg2, arg1, Local0)
+ m600(arg0, 51, Local0, 0x200)
+ }
+
+ // Divide, common 32-bit/64-bit test
+ Method(m041, 2)
+ {
+ // Conversion of the first operand
+
+ Store(Divide(arg1, 1), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Divide(arg1, 0x321), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Divide(arg1, aui6), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Divide(arg1, aui1), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Divide(arg1, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Divide(arg1, Derefof(Refof(aui1))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Divide(arg1, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Divide(arg1, Derefof(Index(paui, 1))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(arg1, m601(1, 6)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Divide(arg1, m601(1, 1)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(arg1, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Divide(arg1, Derefof(m602(1, 1, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Divide(arg1, 1, Local1, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Divide(arg1, 0x321, Local1, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Divide(arg1, aui6, Local1, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Divide(arg1, aui1, Local1, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Divide(arg1, Derefof(Refof(aui6)), Local1, Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Divide(arg1, Derefof(Refof(aui1)), Local1, Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Divide(arg1, Derefof(Index(paui, 6)), Local1, Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Divide(arg1, Derefof(Index(paui, 1)), Local1, Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(arg1, m601(1, 6), Local1, Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Divide(arg1, m601(1, 1), Local1, Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(arg1, Derefof(m602(1, 6, 1)), Local1, Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Divide(arg1, Derefof(m602(1, 1, 1)), Local1, Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Divide(1, arg1), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Divide(0x321, arg1), Local0)
+ m600(arg0, 25, Local0, 1)
+
+ Store(Divide(aui6, arg1), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Divide(aui1, arg1), Local0)
+ m600(arg0, 27, Local0, 1)
+
+ if (y078) {
+ Store(Divide(Derefof(Refof(aui6)), arg1), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Divide(Derefof(Refof(aui1)), arg1), Local0)
+ m600(arg0, 29, Local0, 1)
+ }
+
+ Store(Divide(Derefof(Index(paui, 6)), arg1), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Divide(Derefof(Index(paui, 1)), arg1), Local0)
+ m600(arg0, 31, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(m601(1, 6), arg1), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Divide(m601(1, 1), arg1), Local0)
+ m600(arg0, 33, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(Derefof(m602(1, 6, 1)), arg1), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Divide(Derefof(m602(1, 1, 1)), arg1), Local0)
+ m600(arg0, 35, Local0, 1)
+ }
+
+ Divide(1, arg1, Local1, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Divide(0x321, arg1, Local1, Local0)
+ m600(arg0, 37, Local0, 1)
+
+ Divide(aui6, arg1, Local1, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Divide(aui1, arg1, Local1, Local0)
+ m600(arg0, 39, Local0, 1)
+
+ if (y078) {
+ Divide(Derefof(Refof(aui6)), arg1, Local1, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Divide(Derefof(Refof(aui1)), arg1, Local1, Local0)
+ m600(arg0, 41, Local0, 1)
+ }
+
+ Divide(Derefof(Index(paui, 6)), arg1, Local1, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Divide(Derefof(Index(paui, 1)), arg1, Local1, Local0)
+ m600(arg0, 43, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(m601(1, 6), arg1, Local1, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Divide(m601(1, 1), arg1, Local1, Local0)
+ m600(arg0, 45, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(Derefof(m602(1, 6, 1)), arg1, Local1, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Divide(Derefof(m602(1, 1, 1)), arg1, Local1, Local0)
+ m600(arg0, 47, Local0, 1)
+ }
+ }
+
+ // Divide, 64-bit
+ Method(m042, 3)
+ {
+ // Conversion of the first operand
+
+ Store(Divide(arg2, 1), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(arg2, 0xfe7cb391d650a284), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Divide(arg2, aui6), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(arg2, aui4), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Divide(arg2, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(arg2, Derefof(Refof(aui4))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Divide(arg2, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(arg2, Derefof(Index(paui, 4))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(arg2, m601(1, 6)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(arg2, m601(1, 4)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(arg2, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(arg2, Derefof(m602(1, 4, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Divide(arg2, 1, Local1, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Divide(arg2, 0xfe7cb391d650a284, Local1, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Divide(arg2, aui6, Local1, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Divide(arg2, aui4, Local1, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Divide(arg2, Derefof(Refof(aui6)), Local1, Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Divide(arg2, Derefof(Refof(aui4)), Local1, Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Divide(arg2, Derefof(Index(paui, 6)), Local1, Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Divide(arg2, Derefof(Index(paui, 4)), Local1, Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(arg2, m601(1, 6), Local1, Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Divide(arg2, m601(1, 4), Local1, Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(arg2, Derefof(m602(1, 6, 1)), Local1, Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Divide(arg2, Derefof(m602(1, 4, 1)), Local1, Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Divide(1, arg2), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Divide(0xfe7cb391d650a284, arg2), Local0)
+ m600(arg0, 25, Local0, 1)
+
+ Store(Divide(aui6, arg2), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Divide(aui4, arg2), Local0)
+ m600(arg0, 27, Local0, 1)
+
+ if (y078) {
+ Store(Divide(Derefof(Refof(aui6)), arg2), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Divide(Derefof(Refof(aui4)), arg2), Local0)
+ m600(arg0, 29, Local0, 1)
+ }
+
+ Store(Divide(Derefof(Index(paui, 6)), arg2), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Divide(Derefof(Index(paui, 4)), arg2), Local0)
+ m600(arg0, 31, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(m601(1, 6), arg2), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Divide(m601(1, 4), arg2), Local0)
+ m600(arg0, 33, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(Derefof(m602(1, 6, 1)), arg2), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Divide(Derefof(m602(1, 4, 1)), arg2), Local0)
+ m600(arg0, 35, Local0, 1)
+ }
+
+ Divide(1, arg2, Local1, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Divide(0xfe7cb391d650a284, arg2, Local1, Local0)
+ m600(arg0, 37, Local0, 1)
+
+ Divide(aui6, arg2, Local1, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Divide(aui4, arg2, Local1, Local0)
+ m600(arg0, 39, Local0, 1)
+
+ if (y078) {
+ Divide(Derefof(Refof(aui6)), arg2, Local1, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Divide(Derefof(Refof(aui4)), arg2, Local1, Local0)
+ m600(arg0, 41, Local0, 1)
+ }
+
+ Divide(Derefof(Index(paui, 6)), arg2, Local1, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Divide(Derefof(Index(paui, 4)), arg2, Local1, Local0)
+ m600(arg0, 43, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(m601(1, 6), arg2, Local1, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Divide(m601(1, 4), arg2, Local1, Local0)
+ m600(arg0, 45, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(Derefof(m602(1, 6, 1)), arg2, Local1, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Divide(Derefof(m602(1, 4, 1)), arg2, Local1, Local0)
+ m600(arg0, 47, Local0, 1)
+ }
+
+ // Conversion of the both operands
+
+ Store(Divide(arg1, arg2), Local0)
+ m600(arg0, 48, Local0, 0)
+
+ Store(Divide(arg2, arg1), Local0)
+ m600(arg0, 49, Local0, 0x0051558eb950f5a7)
+
+ Divide(arg1, arg2, Local1, Local0)
+ m600(arg0, 50, Local0, 0)
+
+ Divide(arg2, arg1, Local1, Local0)
+ m600(arg0, 51, Local0, 0x0051558eb950f5a7)
+ }
+
+ // Divide, 32-bit
+ Method(m043, 3)
+ {
+ // Conversion of the first operand
+
+ Store(Divide(arg2, 1), Local0)
+ m600(arg0, 0, Local0, 0xd650a284)
+
+ Store(Divide(arg2, 0xd650a284), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Divide(arg2, aui6), Local0)
+ m600(arg0, 2, Local0, 0xd650a284)
+
+ Store(Divide(arg2, auik), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Divide(arg2, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 4, Local0, 0xd650a284)
+
+ Store(Divide(arg2, Derefof(Refof(auik))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Divide(arg2, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 6, Local0, 0xd650a284)
+
+ Store(Divide(arg2, Derefof(Index(paui, 20))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(arg2, m601(1, 6)), Local0)
+ m600(arg0, 8, Local0, 0xd650a284)
+
+ Store(Divide(arg2, m601(1, 20)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(arg2, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 10, Local0, 0xd650a284)
+
+ Store(Divide(arg2, Derefof(m602(1, 20, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Divide(arg2, 1, Local1, Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ Divide(arg2, 0xd650a284, Local1, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Divide(arg2, aui6, Local1, Local0)
+ m600(arg0, 14, Local0, 0xd650a284)
+
+ Divide(arg2, auik, Local1, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Divide(arg2, Derefof(Refof(aui6)), Local1, Local0)
+ m600(arg0, 16, Local0, 0xd650a284)
+
+ Divide(arg2, Derefof(Refof(auik)), Local1, Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Divide(arg2, Derefof(Index(paui, 6)), Local1, Local0)
+ m600(arg0, 18, Local0, 0xd650a284)
+
+ Divide(arg2, Derefof(Index(paui, 20)), Local1, Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(arg2, m601(1, 6), Local1, Local0)
+ m600(arg0, 20, Local0, 0xd650a284)
+
+ Divide(arg2, m601(1, 20), Local1, Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(arg2, Derefof(m602(1, 6, 1)), Local1, Local0)
+ m600(arg0, 22, Local0, 0xd650a284)
+
+ Divide(arg2, Derefof(m602(1, 20, 1)), Local1, Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Divide(1, arg2), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Divide(0xd650a284, arg2), Local0)
+ m600(arg0, 25, Local0, 1)
+
+ Store(Divide(aui6, arg2), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Divide(auik, arg2), Local0)
+ m600(arg0, 27, Local0, 1)
+
+ if (y078) {
+ Store(Divide(Derefof(Refof(aui6)), arg2), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Divide(Derefof(Refof(auik)), arg2), Local0)
+ m600(arg0, 29, Local0, 1)
+ }
+
+ Store(Divide(Derefof(Index(paui, 6)), arg2), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Divide(Derefof(Index(paui, 20)), arg2), Local0)
+ m600(arg0, 31, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(m601(1, 6), arg2), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Divide(m601(1, 20), arg2), Local0)
+ m600(arg0, 33, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(Derefof(m602(1, 6, 1)), arg2), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Divide(Derefof(m602(1, 20, 1)), arg2), Local0)
+ m600(arg0, 35, Local0, 1)
+ }
+
+ Divide(1, arg2, Local1, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Divide(0xd650a284, arg2, Local1, Local0)
+ m600(arg0, 37, Local0, 1)
+
+ Divide(aui6, arg2, Local1, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Divide(auik, arg2, Local1, Local0)
+ m600(arg0, 39, Local0, 1)
+
+ if (y078) {
+ Divide(Derefof(Refof(aui6)), arg2, Local1, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Divide(Derefof(Refof(auik)), arg2, Local1, Local0)
+ m600(arg0, 41, Local0, 1)
+ }
+
+ Divide(Derefof(Index(paui, 6)), arg2, Local1, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Divide(Derefof(Index(paui, 20)), arg2, Local1, Local0)
+ m600(arg0, 43, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(m601(1, 6), arg2, Local1, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Divide(m601(1, 20), arg2, Local1, Local0)
+ m600(arg0, 45, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(Derefof(m602(1, 6, 1)), arg2, Local1, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Divide(Derefof(m602(1, 20, 1)), arg2, Local1, Local0)
+ m600(arg0, 47, Local0, 1)
+ }
+
+ // Conversion of the both operands
+
+ Store(Divide(arg1, arg2), Local0)
+ m600(arg0, 48, Local0, 0)
+
+ Store(Divide(arg2, arg1), Local0)
+ m600(arg0, 49, Local0, 0x00447ec3)
+
+ Divide(arg1, arg2, Local1, Local0)
+ m600(arg0, 50, Local0, 0)
+
+ Divide(arg2, arg1, Local1, Local0)
+ m600(arg0, 51, Local0, 0x00447ec3)
+ }
+
+ // Mod, common 32-bit/64-bit test
+ Method(m044, 2)
+ {
+ // Conversion of the first operand
+
+ Store(Mod(arg1, 0x322), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Mod(arg1, 0x320), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Mod(arg1, auig), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Mod(arg1, auih), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Mod(arg1, Derefof(Refof(auig))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Mod(arg1, Derefof(Refof(auih))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Mod(arg1, Derefof(Index(paui, 16))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Mod(arg1, Derefof(Index(paui, 17))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Mod(arg1, m601(1, 16)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Mod(arg1, m601(1, 17)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(arg1, Derefof(m602(1, 16, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Mod(arg1, Derefof(m602(1, 17, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Mod(arg1, 0x322, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Mod(arg1, 0x320, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Mod(arg1, auig, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Mod(arg1, auih, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Mod(arg1, Derefof(Refof(auig)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Mod(arg1, Derefof(Refof(auih)), Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Mod(arg1, Derefof(Index(paui, 16)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Mod(arg1, Derefof(Index(paui, 17)), Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Mod(arg1, m601(1, 16), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Mod(arg1, m601(1, 17), Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(arg1, Derefof(m602(1, 16, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Mod(arg1, Derefof(m602(1, 17, 1)), Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Mod(0x322, arg1), Local0)
+ m600(arg0, 24, Local0, 1)
+
+ Store(Mod(0x320, arg1), Local0)
+ m600(arg0, 25, Local0, 0x320)
+
+ Store(Mod(auig, arg1), Local0)
+ m600(arg0, 26, Local0, 1)
+
+ Store(Mod(auih, arg1), Local0)
+ m600(arg0, 27, Local0, 0x320)
+
+ if (y078) {
+ Store(Mod(Derefof(Refof(auig)), arg1), Local0)
+ m600(arg0, 28, Local0, 1)
+
+ Store(Mod(Derefof(Refof(auih)), arg1), Local0)
+ m600(arg0, 29, Local0, 0x320)
+ }
+
+ Store(Mod(Derefof(Index(paui, 16)), arg1), Local0)
+ m600(arg0, 30, Local0, 1)
+
+ Store(Mod(Derefof(Index(paui, 17)), arg1), Local0)
+ m600(arg0, 31, Local0, 0x320)
+
+ // Method returns Integer
+
+ Store(Mod(m601(1, 16), arg1), Local0)
+ m600(arg0, 32, Local0, 1)
+
+ Store(Mod(m601(1, 17), arg1), Local0)
+ m600(arg0, 33, Local0, 0x320)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(Derefof(m602(1, 16, 1)), arg1), Local0)
+ m600(arg0, 34, Local0, 1)
+
+ Store(Mod(Derefof(m602(1, 17, 1)), arg1), Local0)
+ m600(arg0, 35, Local0, 0x320)
+ }
+
+ Mod(0x322, arg1, Local0)
+ m600(arg0, 36, Local0, 1)
+
+ Mod(0x320, arg1, Local0)
+ m600(arg0, 37, Local0, 0x320)
+
+ Mod(auig, arg1, Local0)
+ m600(arg0, 38, Local0, 1)
+
+ Mod(auih, arg1, Local0)
+ m600(arg0, 39, Local0, 0x320)
+
+ if (y078) {
+ Mod(Derefof(Refof(auig)), arg1, Local0)
+ m600(arg0, 40, Local0, 1)
+
+ Mod(Derefof(Refof(auih)), arg1, Local0)
+ m600(arg0, 41, Local0, 0x320)
+ }
+
+ Mod(Derefof(Index(paui, 16)), arg1, Local0)
+ m600(arg0, 42, Local0, 1)
+
+ Mod(Derefof(Index(paui, 17)), arg1, Local0)
+ m600(arg0, 43, Local0, 0x320)
+
+ // Method returns Integer
+
+ Mod(m601(1, 16), arg1, Local0)
+ m600(arg0, 44, Local0, 1)
+
+ Mod(m601(1, 17), arg1, Local0)
+ m600(arg0, 45, Local0, 0x320)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(Derefof(m602(1, 16, 1)), arg1, Local0)
+ m600(arg0, 46, Local0, 1)
+
+ Mod(Derefof(m602(1, 17, 1)), arg1, Local0)
+ m600(arg0, 47, Local0, 0x320)
+ }
+ }
+
+ // Mod, 64-bit
+ Method(m045, 3)
+ {
+ // Conversion of the first operand
+
+ Store(Mod(arg2, 0xfe7cb391d650a285), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(arg2, 0xfe7cb391d650a283), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Mod(arg2, auid), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(arg2, auif), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Mod(arg2, Derefof(Refof(auid))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(arg2, Derefof(Refof(auif))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Mod(arg2, Derefof(Index(paui, 13))), Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(arg2, Derefof(Index(paui, 15))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Mod(arg2, m601(1, 13)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(arg2, m601(1, 15)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(arg2, Derefof(m602(1, 13, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(arg2, Derefof(m602(1, 15, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Mod(arg2, 0xfe7cb391d650a285, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Mod(arg2, 0xfe7cb391d650a283, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Mod(arg2, auid, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Mod(arg2, auif, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Mod(arg2, Derefof(Refof(auid)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Mod(arg2, Derefof(Refof(auif)), Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Mod(arg2, Derefof(Index(paui, 13)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Mod(arg2, Derefof(Index(paui, 15)), Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Mod(arg2, m601(1, 13), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Mod(arg2, m601(1, 15), Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(arg2, Derefof(m602(1, 13, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Mod(arg2, Derefof(m602(1, 15, 1)), Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Mod(0xfe7cb391d650a285, arg2), Local0)
+ m600(arg0, 24, Local0, 1)
+
+ Store(Mod(0xfe7cb391d650a283, arg2), Local0)
+ m600(arg0, 25, Local0, 0xfe7cb391d650a283)
+
+ Store(Mod(auid, arg2), Local0)
+ m600(arg0, 26, Local0, 1)
+
+ Store(Mod(auif, arg2), Local0)
+ m600(arg0, 27, Local0, 0xfe7cb391d650a283)
+
+ if (y078) {
+ Store(Mod(Derefof(Refof(auid)), arg2), Local0)
+ m600(arg0, 28, Local0, 1)
+
+ Store(Mod(Derefof(Refof(auif)), arg2), Local0)
+ m600(arg0, 29, Local0, 0xfe7cb391d650a283)
+ }
+
+ Store(Mod(Derefof(Index(paui, 13)), arg2), Local0)
+ m600(arg0, 30, Local0, 1)
+
+ Store(Mod(Derefof(Index(paui, 15)), arg2), Local0)
+ m600(arg0, 31, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Integer
+
+ Store(Mod(m601(1, 13), arg2), Local0)
+ m600(arg0, 32, Local0, 1)
+
+ Store(Mod(m601(1, 15), arg2), Local0)
+ m600(arg0, 33, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(Derefof(m602(1, 13, 1)), arg2), Local0)
+ m600(arg0, 34, Local0, 1)
+
+ Store(Mod(Derefof(m602(1, 15, 1)), arg2), Local0)
+ m600(arg0, 35, Local0, 0xfe7cb391d650a283)
+ }
+
+ Mod(0xfe7cb391d650a285, arg2, Local0)
+ m600(arg0, 36, Local0, 1)
+
+ Mod(0xfe7cb391d650a283, arg2, Local0)
+ m600(arg0, 37, Local0, 0xfe7cb391d650a283)
+
+ Mod(auid, arg2, Local0)
+ m600(arg0, 38, Local0, 1)
+
+ Mod(auif, arg2, Local0)
+ m600(arg0, 39, Local0, 0xfe7cb391d650a283)
+
+ if (y078) {
+ Mod(Derefof(Refof(auid)), arg2, Local0)
+ m600(arg0, 40, Local0, 1)
+
+ Mod(Derefof(Refof(auif)), arg2, Local0)
+ m600(arg0, 41, Local0, 0xfe7cb391d650a283)
+ }
+
+ Mod(Derefof(Index(paui, 13)), arg2, Local0)
+ m600(arg0, 42, Local0, 1)
+
+ Mod(Derefof(Index(paui, 15)), arg2, Local0)
+ m600(arg0, 43, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Integer
+
+ Mod(m601(1, 13), arg2, Local0)
+ m600(arg0, 44, Local0, 1)
+
+ Mod(m601(1, 15), arg2, Local0)
+ m600(arg0, 45, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(Derefof(m602(1, 13, 1)), arg2, Local0)
+ m600(arg0, 46, Local0, 1)
+
+ Mod(Derefof(m602(1, 15, 1)), arg2, Local0)
+ m600(arg0, 47, Local0, 0xfe7cb391d650a283)
+ }
+
+ // Conversion of the both operands
+
+ Store(Mod(arg1, arg2), Local0)
+ m600(arg0, 48, Local0, 0x321)
+
+ Store(Mod(arg2, arg1), Local0)
+ m600(arg0, 49, Local0, 0x2fd)
+
+ Mod(arg1, arg2, Local0)
+ m600(arg0, 50, Local0, 0x321)
+
+ Mod(arg2, arg1, Local0)
+ m600(arg0, 51, Local0, 0x2fd)
+ }
+
+ // Mod, 32-bit
+ Method(m046, 3)
+ {
+ // Conversion of the first operand
+
+ Store(Mod(arg2, 0xd650a285), Local0)
+ m600(arg0, 0, Local0, 0xd650a284)
+
+ Store(Mod(arg2, 0xd650a283), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Mod(arg2, auil), Local0)
+ m600(arg0, 2, Local0, 0xd650a284)
+
+ Store(Mod(arg2, auim), Local0)
+ m600(arg0, 14, Local0, 1)
+
+ if (y078) {
+ Store(Mod(arg2, Derefof(Refof(auil))), Local0)
+ m600(arg0, 4, Local0, 0xd650a284)
+
+ Store(Mod(arg2, Derefof(Refof(auim))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Mod(arg2, Derefof(Index(paui, 21))), Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ Store(Mod(arg2, Derefof(Index(paui, 22))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Mod(arg2, m601(1, 21)), Local0)
+ m600(arg0, 8, Local0, 0xd650a284)
+
+ Store(Mod(arg2, m601(1, 22)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(arg2, Derefof(m601(1, 21, 1))), Local0)
+ m600(arg0, 10, Local0, 0xd650a284)
+
+ Store(Mod(arg2, Derefof(m601(1, 22, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Mod(arg2, 0xd650a285, Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ Mod(arg2, 0xd650a283, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Mod(arg2, auil, Local0)
+ m600(arg0, 14, Local0, 0xd650a284)
+
+ Mod(arg2, auim, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Mod(arg2, Derefof(Refof(auil)), Local0)
+ m600(arg0, 16, Local0, 0xd650a284)
+
+ Mod(arg2, Derefof(Refof(auim)), Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Mod(arg2, Derefof(Index(paui, 21)), Local0)
+ m600(arg0, 18, Local0, 0xd650a284)
+
+ Mod(arg2, Derefof(Index(paui, 22)), Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Mod(arg2, m601(1, 21), Local0)
+ m600(arg0, 20, Local0, 0xd650a284)
+
+ Mod(arg2, m601(1, 22), Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(arg2, Derefof(m601(1, 21, 1)), Local0)
+ m600(arg0, 22, Local0, 0xd650a284)
+
+ Mod(arg2, Derefof(m601(1, 22, 1)), Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Mod(0xd650a285, arg2), Local0)
+ m600(arg0, 24, Local0, 1)
+
+ Store(Mod(0xd650a283, arg2), Local0)
+ m600(arg0, 25, Local0, 0xd650a283)
+
+ Store(Mod(auil, arg2), Local0)
+ m600(arg0, 26, Local0, 1)
+
+ Store(Mod(auim, arg2), Local0)
+ m600(arg0, 27, Local0, 0xd650a283)
+
+ if (y078) {
+ Store(Mod(Derefof(Refof(auil)), arg2), Local0)
+ m600(arg0, 28, Local0, 1)
+
+ Store(Mod(Derefof(Refof(auim)), arg2), Local0)
+ m600(arg0, 29, Local0, 0xd650a283)
+ }
+
+ Store(Mod(Derefof(Index(paui, 21)), arg2), Local0)
+ m600(arg0, 30, Local0, 1)
+
+ Store(Mod(Derefof(Index(paui, 22)), arg2), Local0)
+ m600(arg0, 31, Local0, 0xd650a283)
+
+ // Method returns Integer
+
+ Store(Mod(m601(1, 21), arg2), Local0)
+ m600(arg0, 32, Local0, 1)
+
+ Store(Mod(m601(1, 22), arg2), Local0)
+ m600(arg0, 33, Local0, 0xd650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(Derefof(m601(1, 21, 1)), arg2), Local0)
+ m600(arg0, 34, Local0, 1)
+
+ Store(Mod(Derefof(m601(1, 22, 1)), arg2), Local0)
+ m600(arg0, 35, Local0, 0xd650a283)
+ }
+
+ Mod(0xd650a285, arg2, Local0)
+ m600(arg0, 36, Local0, 1)
+
+ Mod(0xd650a283, arg2, Local0)
+ m600(arg0, 37, Local0, 0xd650a283)
+
+ Mod(auil, arg2, Local0)
+ m600(arg0, 38, Local0, 1)
+
+ Mod(auim, arg2, Local0)
+ m600(arg0, 39, Local0, 0xd650a283)
+
+ if (y078) {
+ Mod(Derefof(Refof(auil)), arg2, Local0)
+ m600(arg0, 40, Local0, 1)
+
+ Mod(Derefof(Refof(auim)), arg2, Local0)
+ m600(arg0, 41, Local0, 0xd650a283)
+ }
+
+ Mod(Derefof(Index(paui, 21)), arg2, Local0)
+ m600(arg0, 42, Local0, 1)
+
+ Mod(Derefof(Index(paui, 22)), arg2, Local0)
+ m600(arg0, 43, Local0, 0xd650a283)
+
+ // Method returns Integer
+
+ Mod(m601(1, 21), arg2, Local0)
+ m600(arg0, 44, Local0, 1)
+
+ Mod(m601(1, 22), arg2, Local0)
+ m600(arg0, 45, Local0, 0xd650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(Derefof(m601(1, 21, 1)), arg2, Local0)
+ m600(arg0, 46, Local0, 1)
+
+ Mod(Derefof(m601(1, 22, 1)), arg2, Local0)
+ m600(arg0, 47, Local0, 0xd650a283)
+ }
+
+ // Conversion of the both operands
+
+ Store(Mod(arg1, arg2), Local0)
+ m600(arg0, 48, Local0, 0x321)
+
+ Store(Mod(arg2, arg1), Local0)
+ m600(arg0, 49, Local0, 0x261)
+
+ Mod(arg1, arg2, Local0)
+ m600(arg0, 50, Local0, 0x321)
+
+ Mod(arg2, arg1, Local0)
+ m600(arg0, 51, Local0, 0x261)
+ }
+
+ // Multiply, common 32-bit/64-bit test
+ Method(m047, 2)
+ {
+ // Conversion of the first operand
+
+ Store(Multiply(arg1, 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(Multiply(arg1, 1), Local0)
+ m600(arg0, 1, Local0, 0x321)
+
+ Store(Multiply(arg1, aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(Multiply(arg1, aui6), Local0)
+ m600(arg0, 3, Local0, 0x321)
+
+ if (y078) {
+ Store(Multiply(arg1, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(Multiply(arg1, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x321)
+ }
+
+ Store(Multiply(arg1, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(Multiply(arg1, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x321)
+
+ // Method returns Integer
+
+ Store(Multiply(arg1, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(Multiply(arg1, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(arg1, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(Multiply(arg1, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x321)
+ }
+
+ Multiply(arg1, 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ Multiply(arg1, 1, Local0)
+ m600(arg0, 13, Local0, 0x321)
+
+ Multiply(arg1, aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ Multiply(arg1, aui6, Local0)
+ m600(arg0, 15, Local0, 0x321)
+
+ if (y078) {
+ Multiply(arg1, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ Multiply(arg1, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x321)
+ }
+
+ Multiply(arg1, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ Multiply(arg1, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x321)
+
+ // Method returns Integer
+
+ Multiply(arg1, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ Multiply(arg1, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(arg1, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ Multiply(arg1, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x321)
+ }
+
+ // Conversion of the second operand
+
+ Store(Multiply(0, arg1), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Multiply(1, arg1), Local0)
+ m600(arg0, 25, Local0, 0x321)
+
+ Store(Multiply(aui5, arg1), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Multiply(aui6, arg1), Local0)
+ m600(arg0, 27, Local0, 0x321)
+
+ if (y078) {
+ Store(Multiply(Derefof(Refof(aui5)), arg1), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(aui6)), arg1), Local0)
+ m600(arg0, 29, Local0, 0x321)
+ }
+
+ Store(Multiply(Derefof(Index(paui, 5)), arg1), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Multiply(Derefof(Index(paui, 6)), arg1), Local0)
+ m600(arg0, 31, Local0, 0x321)
+
+ // Method returns Integer
+
+ Store(Multiply(m601(1, 5), arg1), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Multiply(m601(1, 6), arg1), Local0)
+ m600(arg0, 33, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(Derefof(m602(1, 5, 1)), arg1), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Multiply(Derefof(m602(1, 6, 1)), arg1), Local0)
+ m600(arg0, 35, Local0, 0x321)
+ }
+
+ Multiply(0, arg1, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Multiply(1, arg1, Local0)
+ m600(arg0, 37, Local0, 0x321)
+
+ Multiply(aui5, arg1, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Multiply(aui6, arg1, Local0)
+ m600(arg0, 39, Local0, 0x321)
+
+ if (y078) {
+ Multiply(Derefof(Refof(aui5)), arg1, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Multiply(Derefof(Refof(aui6)), arg1, Local0)
+ m600(arg0, 41, Local0, 0x321)
+ }
+
+ Multiply(Derefof(Index(paui, 5)), arg1, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Multiply(Derefof(Index(paui, 6)), arg1, Local0)
+ m600(arg0, 43, Local0, 0x321)
+
+ // Method returns Integer
+
+ Multiply(m601(1, 5), arg1, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Multiply(m601(1, 6), arg1, Local0)
+ m600(arg0, 45, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(Derefof(m602(1, 5, 1)), arg1, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Multiply(Derefof(m602(1, 6, 1)), arg1, Local0)
+ m600(arg0, 47, Local0, 0x321)
+ }
+ }
+
+ // Multiply, 64-bit
+ Method(m048, 3)
+ {
+ // Conversion of the first operand
+
+ Store(Multiply(arg2, 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(Multiply(arg2, 1), Local0)
+ m600(arg0, 1, Local0, 0xfe7cb391d650a284)
+
+ Store(Multiply(arg2, aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(Multiply(arg2, aui6), Local0)
+ m600(arg0, 3, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Store(Multiply(arg2, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(Multiply(arg2, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xfe7cb391d650a284)
+ }
+
+ Store(Multiply(arg2, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(Multiply(arg2, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Store(Multiply(arg2, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(Multiply(arg2, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(arg2, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(Multiply(arg2, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfe7cb391d650a284)
+ }
+
+ Multiply(arg2, 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ Multiply(arg2, 1, Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a284)
+
+ Multiply(arg2, aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ Multiply(arg2, aui6, Local0)
+ m600(arg0, 15, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Multiply(arg2, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ Multiply(arg2, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xfe7cb391d650a284)
+ }
+
+ Multiply(arg2, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ Multiply(arg2, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Multiply(arg2, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ Multiply(arg2, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(arg2, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ Multiply(arg2, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfe7cb391d650a284)
+ }
+
+ // Conversion of the second operand
+
+ Store(Multiply(0, arg2), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Multiply(1, arg2), Local0)
+ m600(arg0, 25, Local0, 0xfe7cb391d650a284)
+
+ Store(Multiply(aui5, arg2), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Multiply(aui6, arg2), Local0)
+ m600(arg0, 27, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Store(Multiply(Derefof(Refof(aui5)), arg2), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(aui6)), arg2), Local0)
+ m600(arg0, 29, Local0, 0xfe7cb391d650a284)
+ }
+
+ Store(Multiply(Derefof(Index(paui, 5)), arg2), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Multiply(Derefof(Index(paui, 6)), arg2), Local0)
+ m600(arg0, 31, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Store(Multiply(m601(1, 5), arg2), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Multiply(m601(1, 6), arg2), Local0)
+ m600(arg0, 33, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(Derefof(m602(1, 5, 1)), arg2), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Multiply(Derefof(m602(1, 6, 1)), arg2), Local0)
+ m600(arg0, 35, Local0, 0xfe7cb391d650a284)
+ }
+
+ Multiply(0, arg2, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Multiply(1, arg2, Local0)
+ m600(arg0, 37, Local0, 0xfe7cb391d650a284)
+
+ Multiply(aui5, arg2, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Multiply(aui6, arg2, Local0)
+ m600(arg0, 39, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Multiply(Derefof(Refof(aui5)), arg2, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Multiply(Derefof(Refof(aui6)), arg2, Local0)
+ m600(arg0, 41, Local0, 0xfe7cb391d650a284)
+ }
+
+ Multiply(Derefof(Index(paui, 5)), arg2, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Multiply(Derefof(Index(paui, 6)), arg2, Local0)
+ m600(arg0, 43, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Multiply(m601(1, 5), arg2, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Multiply(m601(1, 6), arg2, Local0)
+ m600(arg0, 45, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(Derefof(m602(1, 5, 1)), arg2, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Multiply(Derefof(m602(1, 6, 1)), arg2, Local0)
+ m600(arg0, 47, Local0, 0xfe7cb391d650a284)
+ }
+
+ // Conversion of the both operands
+
+ Store(Multiply(arg1, arg2), Local0)
+ m600(arg0, 48, Local0, 0x442ddb4f924c7f04)
+
+ Store(Multiply(arg2, arg1), Local0)
+ m600(arg0, 49, Local0, 0x442ddb4f924c7f04)
+
+ Multiply(arg1, arg2, Local0)
+ m600(arg0, 50, Local0, 0x442ddb4f924c7f04)
+
+ Multiply(arg2, arg1, Local0)
+ m600(arg0, 51, Local0, 0x442ddb4f924c7f04)
+ }
+
+ // Multiply, 32-bit
+ Method(m049, 3)
+ {
+ // Conversion of the first operand
+
+ Store(Multiply(arg2, 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(Multiply(arg2, 1), Local0)
+ m600(arg0, 1, Local0, 0xd650a284)
+
+ Store(Multiply(arg2, aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(Multiply(arg2, aui6), Local0)
+ m600(arg0, 3, Local0, 0xd650a284)
+
+ if (y078) {
+ Store(Multiply(arg2, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(Multiply(arg2, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xd650a284)
+ }
+
+ Store(Multiply(arg2, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(Multiply(arg2, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xd650a284)
+
+ // Method returns Integer
+
+ Store(Multiply(arg2, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(Multiply(arg2, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xd650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(arg2, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(Multiply(arg2, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xd650a284)
+ }
+
+ Multiply(arg2, 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ Multiply(arg2, 1, Local0)
+ m600(arg0, 13, Local0, 0xd650a284)
+
+ Multiply(arg2, aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ Multiply(arg2, aui6, Local0)
+ m600(arg0, 15, Local0, 0xd650a284)
+
+ if (y078) {
+ Multiply(arg2, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ Multiply(arg2, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xd650a284)
+ }
+
+ Multiply(arg2, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ Multiply(arg2, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xd650a284)
+
+ // Method returns Integer
+
+ Multiply(arg2, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ Multiply(arg2, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xd650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(arg2, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ Multiply(arg2, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xd650a284)
+ }
+
+ // Conversion of the second operand
+
+ Store(Multiply(0, arg2), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Multiply(1, arg2), Local0)
+ m600(arg0, 25, Local0, 0xd650a284)
+
+ Store(Multiply(aui5, arg2), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Multiply(aui6, arg2), Local0)
+ m600(arg0, 27, Local0, 0xd650a284)
+
+ if (y078) {
+ Store(Multiply(Derefof(Refof(aui5)), arg2), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(aui6)), arg2), Local0)
+ m600(arg0, 29, Local0, 0xd650a284)
+ }
+
+ Store(Multiply(Derefof(Index(paui, 5)), arg2), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Multiply(Derefof(Index(paui, 6)), arg2), Local0)
+ m600(arg0, 31, Local0, 0xd650a284)
+
+ // Method returns Integer
+
+ Store(Multiply(m601(1, 5), arg2), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Multiply(m601(1, 6), arg2), Local0)
+ m600(arg0, 33, Local0, 0xd650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(Derefof(m602(1, 5, 1)), arg2), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Multiply(Derefof(m602(1, 6, 1)), arg2), Local0)
+ m600(arg0, 35, Local0, 0xd650a284)
+ }
+
+ Multiply(0, arg2, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Multiply(1, arg2, Local0)
+ m600(arg0, 37, Local0, 0xd650a284)
+
+ Multiply(aui5, arg2, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Multiply(aui6, arg2, Local0)
+ m600(arg0, 39, Local0, 0xd650a284)
+
+ if (y078) {
+ Multiply(Derefof(Refof(aui5)), arg2, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Multiply(Derefof(Refof(aui6)), arg2, Local0)
+ m600(arg0, 41, Local0, 0xd650a284)
+ }
+
+ Multiply(Derefof(Index(paui, 5)), arg2, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Multiply(Derefof(Index(paui, 6)), arg2, Local0)
+ m600(arg0, 43, Local0, 0xd650a284)
+
+ // Method returns Integer
+
+ Multiply(m601(1, 5), arg2, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Multiply(m601(1, 6), arg2, Local0)
+ m600(arg0, 45, Local0, 0xd650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(Derefof(m602(1, 5, 1)), arg2, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Multiply(Derefof(m602(1, 6, 1)), arg2, Local0)
+ m600(arg0, 47, Local0, 0xd650a284)
+ }
+
+ // Conversion of the both operands
+
+ Store(Multiply(arg1, arg2), Local0)
+ m600(arg0, 48, Local0, 0x924c7f04)
+
+ Store(Multiply(arg2, arg1), Local0)
+ m600(arg0, 49, Local0, 0x924c7f04)
+
+ Multiply(arg1, arg2, Local0)
+ m600(arg0, 50, Local0, 0x924c7f04)
+
+ Multiply(arg2, arg1, Local0)
+ m600(arg0, 51, Local0, 0x924c7f04)
+ }
+
+ // NAnd, common 32-bit/64-bit test
+ Method(m04a, 2)
+ {
+ // Conversion of the first operand
+
+ Store(NAnd(arg1, 0), Local0)
+ m600(arg0, 0, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(arg1, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xfffffffffffffcde)
+
+ Store(NAnd(arg1, aui5), Local0)
+ m600(arg0, 2, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(arg1, auij), Local0)
+ m600(arg0, 3, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ Store(NAnd(arg1, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(arg1, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xfffffffffffffcde)
+ }
+
+ Store(NAnd(arg1, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(arg1, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ Store(NAnd(arg1, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(arg1, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(arg1, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(arg1, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfffffffffffffcde)
+ }
+
+ NAnd(arg1, 0, Local0)
+ m600(arg0, 12, Local0, 0xffffffffffffffff)
+
+ NAnd(arg1, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xfffffffffffffcde)
+
+ NAnd(arg1, aui5, Local0)
+ m600(arg0, 14, Local0, 0xffffffffffffffff)
+
+ NAnd(arg1, auij, Local0)
+ m600(arg0, 15, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ NAnd(arg1, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xffffffffffffffff)
+
+ NAnd(arg1, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xfffffffffffffcde)
+ }
+
+ NAnd(arg1, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xffffffffffffffff)
+
+ NAnd(arg1, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ NAnd(arg1, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xffffffffffffffff)
+
+ NAnd(arg1, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(arg1, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xffffffffffffffff)
+
+ NAnd(arg1, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfffffffffffffcde)
+ }
+
+ // Conversion of the second operand
+
+ Store(NAnd(0, arg1), Local0)
+ m600(arg0, 24, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(0xffffffffffffffff, arg1), Local0)
+ m600(arg0, 25, Local0, 0xfffffffffffffcde)
+
+ Store(NAnd(aui5, arg1), Local0)
+ m600(arg0, 26, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(auij, arg1), Local0)
+ m600(arg0, 27, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ Store(NAnd(Derefof(Refof(aui5)), arg1), Local0)
+ m600(arg0, 28, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Refof(auij)), arg1), Local0)
+ m600(arg0, 29, Local0, 0xfffffffffffffcde)
+ }
+
+ Store(NAnd(Derefof(Index(paui, 5)), arg1), Local0)
+ m600(arg0, 30, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Index(paui, 19)), arg1), Local0)
+ m600(arg0, 31, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ Store(NAnd(m601(1, 5), arg1), Local0)
+ m600(arg0, 32, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(m601(1, 19), arg1), Local0)
+ m600(arg0, 33, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(Derefof(m602(1, 5, 1)), arg1), Local0)
+ m600(arg0, 34, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(m602(1, 19, 1)), arg1), Local0)
+ m600(arg0, 35, Local0, 0xfffffffffffffcde)
+ }
+
+ NAnd(0, arg1, Local0)
+ m600(arg0, 36, Local0, 0xffffffffffffffff)
+
+ NAnd(0xffffffffffffffff, arg1, Local0)
+ m600(arg0, 37, Local0, 0xfffffffffffffcde)
+
+ NAnd(aui5, arg1, Local0)
+ m600(arg0, 38, Local0, 0xffffffffffffffff)
+
+ NAnd(auij, arg1, Local0)
+ m600(arg0, 39, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ NAnd(Derefof(Refof(aui5)), arg1, Local0)
+ m600(arg0, 40, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Refof(auij)), arg1, Local0)
+ m600(arg0, 41, Local0, 0xfffffffffffffcde)
+ }
+
+ NAnd(Derefof(Index(paui, 5)), arg1, Local0)
+ m600(arg0, 42, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Index(paui, 19)), arg1, Local0)
+ m600(arg0, 43, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ NAnd(m601(1, 5), arg1, Local0)
+ m600(arg0, 44, Local0, 0xffffffffffffffff)
+
+ NAnd(m601(1, 19), arg1, Local0)
+ m600(arg0, 45, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(Derefof(m602(1, 5, 1)), arg1, Local0)
+ m600(arg0, 46, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(m602(1, 19, 1)), arg1, Local0)
+ m600(arg0, 47, Local0, 0xfffffffffffffcde)
+ }
+ }
+
+ // NAnd, 64-bit
+ Method(m04b, 3)
+ {
+ // Conversion of the first operand
+
+ Store(NAnd(arg2, 0), Local0)
+ m600(arg0, 0, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(arg2, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0x01834c6e29af5d7b)
+
+ Store(NAnd(arg2, aui5), Local0)
+ m600(arg0, 2, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(arg2, auij), Local0)
+ m600(arg0, 3, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ Store(NAnd(arg2, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(arg2, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Store(NAnd(arg2, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(arg2, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ Store(NAnd(arg2, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(arg2, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(arg2, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(arg2, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0x01834c6e29af5d7b)
+ }
+
+ NAnd(arg2, 0, Local0)
+ m600(arg0, 12, Local0, 0xffffffffffffffff)
+
+ NAnd(arg2, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0x01834c6e29af5d7b)
+
+ NAnd(arg2, aui5, Local0)
+ m600(arg0, 14, Local0, 0xffffffffffffffff)
+
+ NAnd(arg2, auij, Local0)
+ m600(arg0, 15, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ NAnd(arg2, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xffffffffffffffff)
+
+ NAnd(arg2, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0x01834c6e29af5d7b)
+ }
+
+ NAnd(arg2, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xffffffffffffffff)
+
+ NAnd(arg2, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ NAnd(arg2, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xffffffffffffffff)
+
+ NAnd(arg2, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(arg2, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xffffffffffffffff)
+
+ NAnd(arg2, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0x01834c6e29af5d7b)
+ }
+
+ // Conversion of the second operand
+
+ Store(NAnd(0, arg2), Local0)
+ m600(arg0, 24, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(0xffffffffffffffff, arg2), Local0)
+ m600(arg0, 25, Local0, 0x01834c6e29af5d7b)
+
+ Store(NAnd(aui5, arg2), Local0)
+ m600(arg0, 26, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(auij, arg2), Local0)
+ m600(arg0, 27, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ Store(NAnd(Derefof(Refof(aui5)), arg2), Local0)
+ m600(arg0, 28, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Refof(auij)), arg2), Local0)
+ m600(arg0, 29, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Store(NAnd(Derefof(Index(paui, 5)), arg2), Local0)
+ m600(arg0, 30, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Index(paui, 19)), arg2), Local0)
+ m600(arg0, 31, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ Store(NAnd(m601(1, 5), arg2), Local0)
+ m600(arg0, 32, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(m601(1, 19), arg2), Local0)
+ m600(arg0, 33, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(Derefof(m602(1, 5, 1)), arg2), Local0)
+ m600(arg0, 34, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(m602(1, 19, 1)), arg2), Local0)
+ m600(arg0, 35, Local0, 0x01834c6e29af5d7b)
+ }
+
+ NAnd(0, arg2, Local0)
+ m600(arg0, 36, Local0, 0xffffffffffffffff)
+
+ NAnd(0xffffffffffffffff, arg2, Local0)
+ m600(arg0, 37, Local0, 0x01834c6e29af5d7b)
+
+ NAnd(aui5, arg2, Local0)
+ m600(arg0, 38, Local0, 0xffffffffffffffff)
+
+ NAnd(auij, arg2, Local0)
+ m600(arg0, 39, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ NAnd(Derefof(Refof(aui5)), arg2, Local0)
+ m600(arg0, 40, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Refof(auij)), arg2, Local0)
+ m600(arg0, 41, Local0, 0x01834c6e29af5d7b)
+ }
+
+ NAnd(Derefof(Index(paui, 5)), arg2, Local0)
+ m600(arg0, 42, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Index(paui, 19)), arg2, Local0)
+ m600(arg0, 43, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ NAnd(m601(1, 5), arg2, Local0)
+ m600(arg0, 44, Local0, 0xffffffffffffffff)
+
+ NAnd(m601(1, 19), arg2, Local0)
+ m600(arg0, 45, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(Derefof(m602(1, 5, 1)), arg2, Local0)
+ m600(arg0, 46, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(m602(1, 19, 1)), arg2, Local0)
+ m600(arg0, 47, Local0, 0x01834c6e29af5d7b)
+ }
+
+ // Conversion of the both operands
+
+ Store(NAnd(arg1, arg2), Local0)
+ m600(arg0, 48, Local0, 0xfffffffffffffdff)
+
+ Store(NAnd(arg2, arg1), Local0)
+ m600(arg0, 49, Local0, 0xfffffffffffffdff)
+
+ NAnd(arg1, arg2, Local0)
+ m600(arg0, 50, Local0, 0xfffffffffffffdff)
+
+ NAnd(arg2, arg1, Local0)
+ m600(arg0, 51, Local0, 0xfffffffffffffdff)
+ }
+
+ // NAnd, 32-bit
+ Method(m04c, 3)
+ {
+ // Conversion of the first operand
+
+ Store(NAnd(arg2, 0), Local0)
+ m600(arg0, 0, Local0, 0xffffffff)
+
+ Store(NAnd(arg2, 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0x29af5d7b)
+
+ Store(NAnd(arg2, aui5), Local0)
+ m600(arg0, 2, Local0, 0xffffffff)
+
+ Store(NAnd(arg2, auii), Local0)
+ m600(arg0, 3, Local0, 0x29af5d7b)
+
+ if (y078) {
+ Store(NAnd(arg2, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xffffffff)
+
+ Store(NAnd(arg2, Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0x29af5d7b)
+ }
+
+ Store(NAnd(arg2, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xffffffff)
+
+ Store(NAnd(arg2, Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0x29af5d7b)
+
+ // Method returns Integer
+
+ Store(NAnd(arg2, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xffffffff)
+
+ Store(NAnd(arg2, m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0x29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(arg2, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xffffffff)
+
+ Store(NAnd(arg2, Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0x29af5d7b)
+ }
+
+ NAnd(arg2, 0, Local0)
+ m600(arg0, 12, Local0, 0xffffffff)
+
+ NAnd(arg2, 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0x29af5d7b)
+
+ NAnd(arg2, aui5, Local0)
+ m600(arg0, 14, Local0, 0xffffffff)
+
+ NAnd(arg2, auii, Local0)
+ m600(arg0, 15, Local0, 0x29af5d7b)
+
+ if (y078) {
+ NAnd(arg2, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xffffffff)
+
+ NAnd(arg2, Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0x29af5d7b)
+ }
+
+ NAnd(arg2, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xffffffff)
+
+ NAnd(arg2, Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0x29af5d7b)
+
+ // Method returns Integer
+
+ NAnd(arg2, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xffffffff)
+
+ NAnd(arg2, m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0x29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(arg2, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xffffffff)
+
+ NAnd(arg2, Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0x29af5d7b)
+ }
+
+ // Conversion of the second operand
+
+ Store(NAnd(0, arg2), Local0)
+ m600(arg0, 24, Local0, 0xffffffff)
+
+ Store(NAnd(0xffffffff, arg2), Local0)
+ m600(arg0, 25, Local0, 0x29af5d7b)
+
+ Store(NAnd(aui5, arg2), Local0)
+ m600(arg0, 26, Local0, 0xffffffff)
+
+ Store(NAnd(auii, arg2), Local0)
+ m600(arg0, 27, Local0, 0x29af5d7b)
+
+ if (y078) {
+ Store(NAnd(Derefof(Refof(aui5)), arg2), Local0)
+ m600(arg0, 28, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(Refof(auii)), arg2), Local0)
+ m600(arg0, 29, Local0, 0x29af5d7b)
+ }
+
+ Store(NAnd(Derefof(Index(paui, 5)), arg2), Local0)
+ m600(arg0, 30, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(Index(paui, 18)), arg2), Local0)
+ m600(arg0, 31, Local0, 0x29af5d7b)
+
+ // Method returns Integer
+
+ Store(NAnd(m601(1, 5), arg2), Local0)
+ m600(arg0, 32, Local0, 0xffffffff)
+
+ Store(NAnd(m601(1, 18), arg2), Local0)
+ m600(arg0, 33, Local0, 0x29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(Derefof(m602(1, 5, 1)), arg2), Local0)
+ m600(arg0, 34, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(m602(1, 18, 1)), arg2), Local0)
+ m600(arg0, 35, Local0, 0x29af5d7b)
+ }
+
+ NAnd(0, arg2, Local0)
+ m600(arg0, 36, Local0, 0xffffffff)
+
+ NAnd(0xffffffff, arg2, Local0)
+ m600(arg0, 37, Local0, 0x29af5d7b)
+
+ NAnd(aui5, arg2, Local0)
+ m600(arg0, 38, Local0, 0xffffffff)
+
+ NAnd(auii, arg2, Local0)
+ m600(arg0, 39, Local0, 0x29af5d7b)
+
+ if (y078) {
+ NAnd(Derefof(Refof(aui5)), arg2, Local0)
+ m600(arg0, 40, Local0, 0xffffffff)
+
+ NAnd(Derefof(Refof(auii)), arg2, Local0)
+ m600(arg0, 41, Local0, 0x29af5d7b)
+ }
+
+ NAnd(Derefof(Index(paui, 5)), arg2, Local0)
+ m600(arg0, 42, Local0, 0xffffffff)
+
+ NAnd(Derefof(Index(paui, 18)), arg2, Local0)
+ m600(arg0, 43, Local0, 0x29af5d7b)
+
+ // Method returns Integer
+
+ NAnd(m601(1, 5), arg2, Local0)
+ m600(arg0, 44, Local0, 0xffffffff)
+
+ NAnd(m601(1, 18), arg2, Local0)
+ m600(arg0, 45, Local0, 0x29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(Derefof(m602(1, 5, 1)), arg2, Local0)
+ m600(arg0, 46, Local0, 0xffffffff)
+
+ NAnd(Derefof(m602(1, 18, 1)), arg2, Local0)
+ m600(arg0, 47, Local0, 0x29af5d7b)
+ }
+
+ // Conversion of the both operands
+
+ Store(NAnd(arg1, arg2), Local0)
+ m600(arg0, 48, Local0, 0xfffffdff)
+
+ Store(NAnd(arg2, arg1), Local0)
+ m600(arg0, 49, Local0, 0xfffffdff)
+
+ NAnd(arg1, arg2, Local0)
+ m600(arg0, 50, Local0, 0xfffffdff)
+
+ NAnd(arg2, arg1, Local0)
+ m600(arg0, 51, Local0, 0xfffffdff)
+ }
+
+ // NOr, common 32-bit/64-bit test
+ Method(m04d, 2)
+ {
+ // Conversion of the first operand
+
+ Store(NOr(arg1, 0), Local0)
+ m600(arg0, 0, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(arg1, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0)
+
+ Store(NOr(arg1, aui5), Local0)
+ m600(arg0, 2, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(arg1, auij), Local0)
+ m600(arg0, 3, Local0, 0)
+
+ if (y078) {
+ Store(NOr(arg1, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(arg1, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0)
+ }
+
+ Store(NOr(arg1, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(arg1, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(arg1, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(arg1, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(arg1, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(arg1, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0)
+ }
+
+ NOr(arg1, 0, Local0)
+ m600(arg0, 12, Local0, 0xfffffffffffffcde)
+
+ NOr(arg1, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0)
+
+ NOr(arg1, aui5, Local0)
+ m600(arg0, 14, Local0, 0xfffffffffffffcde)
+
+ NOr(arg1, auij, Local0)
+ m600(arg0, 15, Local0, 0)
+
+ if (y078) {
+ NOr(arg1, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfffffffffffffcde)
+
+ NOr(arg1, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0)
+ }
+
+ NOr(arg1, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfffffffffffffcde)
+
+ NOr(arg1, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(arg1, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfffffffffffffcde)
+
+ NOr(arg1, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(arg1, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfffffffffffffcde)
+
+ NOr(arg1, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0)
+ }
+
+ // Conversion of the second operand
+
+ Store(NOr(0, arg1), Local0)
+ m600(arg0, 24, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(0xffffffffffffffff, arg1), Local0)
+ m600(arg0, 25, Local0, 0)
+
+ Store(NOr(aui5, arg1), Local0)
+ m600(arg0, 26, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(auij, arg1), Local0)
+ m600(arg0, 27, Local0, 0)
+
+ if (y078) {
+ Store(NOr(Derefof(Refof(aui5)), arg1), Local0)
+ m600(arg0, 28, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(Refof(auij)), arg1), Local0)
+ m600(arg0, 29, Local0, 0)
+ }
+
+ Store(NOr(Derefof(Index(paui, 5)), arg1), Local0)
+ m600(arg0, 30, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(Index(paui, 19)), arg1), Local0)
+ m600(arg0, 31, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(m601(1, 5), arg1), Local0)
+ m600(arg0, 32, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(m601(1, 19), arg1), Local0)
+ m600(arg0, 33, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(Derefof(m602(1, 5, 1)), arg1), Local0)
+ m600(arg0, 34, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(m602(1, 19, 1)), arg1), Local0)
+ m600(arg0, 35, Local0, 0)
+ }
+
+ NOr(0, arg1, Local0)
+ m600(arg0, 36, Local0, 0xfffffffffffffcde)
+
+ NOr(0xffffffffffffffff, arg1, Local0)
+ m600(arg0, 37, Local0, 0)
+
+ NOr(aui5, arg1, Local0)
+ m600(arg0, 38, Local0, 0xfffffffffffffcde)
+
+ NOr(auij, arg1, Local0)
+ m600(arg0, 39, Local0, 0)
+
+ if (y078) {
+ NOr(Derefof(Refof(aui5)), arg1, Local0)
+ m600(arg0, 40, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(Refof(auij)), arg1, Local0)
+ m600(arg0, 41, Local0, 0)
+ }
+
+ NOr(Derefof(Index(paui, 5)), arg1, Local0)
+ m600(arg0, 42, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(Index(paui, 19)), arg1, Local0)
+ m600(arg0, 43, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(m601(1, 5), arg1, Local0)
+ m600(arg0, 44, Local0, 0xfffffffffffffcde)
+
+ NOr(m601(1, 19), arg1, Local0)
+ m600(arg0, 45, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(Derefof(m602(1, 5, 1)), arg1, Local0)
+ m600(arg0, 46, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(m602(1, 19, 1)), arg1, Local0)
+ m600(arg0, 47, Local0, 0)
+ }
+ }
+
+ // NOr, 64-bit
+ Method(m04e, 3)
+ {
+ // Conversion of the first operand
+
+ Store(NOr(arg2, 0), Local0)
+ m600(arg0, 0, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(arg2, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0)
+
+ Store(NOr(arg2, aui5), Local0)
+ m600(arg0, 2, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(arg2, auij), Local0)
+ m600(arg0, 3, Local0, 0)
+
+ if (y078) {
+ Store(NOr(arg2, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(arg2, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0)
+ }
+
+ Store(NOr(arg2, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(arg2, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(arg2, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(arg2, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(arg2, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(arg2, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0)
+ }
+
+ NOr(arg2, 0, Local0)
+ m600(arg0, 12, Local0, 0x01834c6e29af5d7b)
+
+ NOr(arg2, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0)
+
+ NOr(arg2, aui5, Local0)
+ m600(arg0, 14, Local0, 0x01834c6e29af5d7b)
+
+ NOr(arg2, auij, Local0)
+ m600(arg0, 15, Local0, 0)
+
+ if (y078) {
+ NOr(arg2, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x01834c6e29af5d7b)
+
+ NOr(arg2, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0)
+ }
+
+ NOr(arg2, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x01834c6e29af5d7b)
+
+ NOr(arg2, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(arg2, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x01834c6e29af5d7b)
+
+ NOr(arg2, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(arg2, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x01834c6e29af5d7b)
+
+ NOr(arg2, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0)
+ }
+
+ // Conversion of the second operand
+
+ Store(NOr(0, arg2), Local0)
+ m600(arg0, 24, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(0xffffffffffffffff, arg2), Local0)
+ m600(arg0, 25, Local0, 0)
+
+ Store(NOr(aui5, arg2), Local0)
+ m600(arg0, 26, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(auij, arg2), Local0)
+ m600(arg0, 27, Local0, 0)
+
+ if (y078) {
+ Store(NOr(Derefof(Refof(aui5)), arg2), Local0)
+ m600(arg0, 28, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(Refof(auij)), arg2), Local0)
+ m600(arg0, 29, Local0, 0)
+ }
+
+ Store(NOr(Derefof(Index(paui, 5)), arg2), Local0)
+ m600(arg0, 30, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(Index(paui, 19)), arg2), Local0)
+ m600(arg0, 31, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(m601(1, 5), arg2), Local0)
+ m600(arg0, 32, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(m601(1, 19), arg2), Local0)
+ m600(arg0, 33, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(Derefof(m602(1, 5, 1)), arg2), Local0)
+ m600(arg0, 34, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(m602(1, 19, 1)), arg2), Local0)
+ m600(arg0, 35, Local0, 0)
+ }
+
+ NOr(0, arg2, Local0)
+ m600(arg0, 36, Local0, 0x01834c6e29af5d7b)
+
+ NOr(0xffffffffffffffff, arg2, Local0)
+ m600(arg0, 37, Local0, 0)
+
+ NOr(aui5, arg2, Local0)
+ m600(arg0, 38, Local0, 0x01834c6e29af5d7b)
+
+ NOr(auij, arg2, Local0)
+ m600(arg0, 39, Local0, 0)
+
+ if (y078) {
+ NOr(Derefof(Refof(aui5)), arg2, Local0)
+ m600(arg0, 40, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(Refof(auij)), arg2, Local0)
+ m600(arg0, 41, Local0, 0)
+ }
+
+ NOr(Derefof(Index(paui, 5)), arg2, Local0)
+ m600(arg0, 42, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(Index(paui, 19)), arg2, Local0)
+ m600(arg0, 43, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(m601(1, 5), arg2, Local0)
+ m600(arg0, 44, Local0, 0x01834c6e29af5d7b)
+
+ NOr(m601(1, 19), arg2, Local0)
+ m600(arg0, 45, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(Derefof(m602(1, 5, 1)), arg2, Local0)
+ m600(arg0, 46, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(m602(1, 19, 1)), arg2, Local0)
+ m600(arg0, 47, Local0, 0)
+ }
+
+ // Conversion of the both operands
+
+ Store(NOr(arg1, arg2), Local0)
+ m600(arg0, 48, Local0, 0x01834c6e29af5c5a)
+
+ Store(NOr(arg2, arg1), Local0)
+ m600(arg0, 49, Local0, 0x01834c6e29af5c5a)
+
+ NOr(arg1, arg2, Local0)
+ m600(arg0, 50, Local0, 0x01834c6e29af5c5a)
+
+ NOr(arg2, arg1, Local0)
+ m600(arg0, 51, Local0, 0x01834c6e29af5c5a)
+ }
+
+ // NOr, 32-bit
+ Method(m04f, 3)
+ {
+ // Conversion of the first operand
+
+ Store(NOr(arg2, 0), Local0)
+ m600(arg0, 0, Local0, 0x29af5d7b)
+
+ Store(NOr(arg2, 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0)
+
+ Store(NOr(arg2, aui5), Local0)
+ m600(arg0, 2, Local0, 0x29af5d7b)
+
+ Store(NOr(arg2, auii), Local0)
+ m600(arg0, 3, Local0, 0)
+
+ if (y078) {
+ Store(NOr(arg2, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x29af5d7b)
+
+ Store(NOr(arg2, Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0)
+ }
+
+ Store(NOr(arg2, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x29af5d7b)
+
+ Store(NOr(arg2, Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(arg2, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x29af5d7b)
+
+ Store(NOr(arg2, m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(arg2, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x29af5d7b)
+
+ Store(NOr(arg2, Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0)
+ }
+
+ NOr(arg2, 0, Local0)
+ m600(arg0, 12, Local0, 0x29af5d7b)
+
+ NOr(arg2, 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0)
+
+ NOr(arg2, aui5, Local0)
+ m600(arg0, 14, Local0, 0x29af5d7b)
+
+ NOr(arg2, auii, Local0)
+ m600(arg0, 15, Local0, 0)
+
+ if (y078) {
+ NOr(arg2, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x29af5d7b)
+
+ NOr(arg2, Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0)
+ }
+
+ NOr(arg2, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x29af5d7b)
+
+ NOr(arg2, Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(arg2, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x29af5d7b)
+
+ NOr(arg2, m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(arg2, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x29af5d7b)
+
+ NOr(arg2, Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0)
+ }
+
+ // Conversion of the second operand
+
+ Store(NOr(0, arg2), Local0)
+ m600(arg0, 24, Local0, 0x29af5d7b)
+
+ Store(NOr(0xffffffff, arg2), Local0)
+ m600(arg0, 25, Local0, 0)
+
+ Store(NOr(aui5, arg2), Local0)
+ m600(arg0, 26, Local0, 0x29af5d7b)
+
+ Store(NOr(auii, arg2), Local0)
+ m600(arg0, 27, Local0, 0)
+
+ if (y078) {
+ Store(NOr(Derefof(Refof(aui5)), arg2), Local0)
+ m600(arg0, 28, Local0, 0x29af5d7b)
+
+ Store(NOr(Derefof(Refof(auii)), arg2), Local0)
+ m600(arg0, 29, Local0, 0)
+ }
+
+ Store(NOr(Derefof(Index(paui, 5)), arg2), Local0)
+ m600(arg0, 30, Local0, 0x29af5d7b)
+
+ Store(NOr(Derefof(Index(paui, 18)), arg2), Local0)
+ m600(arg0, 31, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(m601(1, 5), arg2), Local0)
+ m600(arg0, 32, Local0, 0x29af5d7b)
+
+ Store(NOr(m601(1, 18), arg2), Local0)
+ m600(arg0, 33, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(Derefof(m602(1, 5, 1)), arg2), Local0)
+ m600(arg0, 34, Local0, 0x29af5d7b)
+
+ Store(NOr(Derefof(m602(1, 18, 1)), arg2), Local0)
+ m600(arg0, 35, Local0, 0)
+ }
+
+ NOr(0, arg2, Local0)
+ m600(arg0, 36, Local0, 0x29af5d7b)
+
+ NOr(0xffffffff, arg2, Local0)
+ m600(arg0, 37, Local0, 0)
+
+ NOr(aui5, arg2, Local0)
+ m600(arg0, 38, Local0, 0x29af5d7b)
+
+ NOr(auii, arg2, Local0)
+ m600(arg0, 39, Local0, 0)
+
+ if (y078) {
+ NOr(Derefof(Refof(aui5)), arg2, Local0)
+ m600(arg0, 40, Local0, 0x29af5d7b)
+
+ NOr(Derefof(Refof(auii)), arg2, Local0)
+ m600(arg0, 41, Local0, 0)
+ }
+
+ NOr(Derefof(Index(paui, 5)), arg2, Local0)
+ m600(arg0, 42, Local0, 0x29af5d7b)
+
+ NOr(Derefof(Index(paui, 18)), arg2, Local0)
+ m600(arg0, 43, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(m601(1, 5), arg2, Local0)
+ m600(arg0, 44, Local0, 0x29af5d7b)
+
+ NOr(m601(1, 18), arg2, Local0)
+ m600(arg0, 45, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(Derefof(m602(1, 5, 1)), arg2, Local0)
+ m600(arg0, 46, Local0, 0x29af5d7b)
+
+ NOr(Derefof(m602(1, 18, 1)), arg2, Local0)
+ m600(arg0, 47, Local0, 0)
+ }
+
+ // Conversion of the both operands
+
+ Store(NOr(arg1, arg2), Local0)
+ m600(arg0, 48, Local0, 0x29af5c5a)
+
+ Store(NOr(arg2, arg1), Local0)
+ m600(arg0, 49, Local0, 0x29af5c5a)
+
+ NOr(arg1, arg2, Local0)
+ m600(arg0, 50, Local0, 0x29af5c5a)
+
+ NOr(arg2, arg1, Local0)
+ m600(arg0, 51, Local0, 0x29af5c5a)
+ }
+
+ // Or, common 32-bit/64-bit test
+ Method(m050, 2)
+ {
+ // Conversion of the first operand
+
+ Store(Or(arg1, 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Or(arg1, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xffffffffffffffff)
+
+ Store(Or(arg1, aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Or(arg1, auij), Local0)
+ m600(arg0, 3, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Store(Or(arg1, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Or(arg1, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xffffffffffffffff)
+ }
+
+ Store(Or(arg1, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Or(arg1, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Store(Or(arg1, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Or(arg1, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(arg1, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Or(arg1, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xffffffffffffffff)
+ }
+
+ Or(arg1, 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Or(arg1, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xffffffffffffffff)
+
+ Or(arg1, aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Or(arg1, auij, Local0)
+ m600(arg0, 15, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Or(arg1, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Or(arg1, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xffffffffffffffff)
+ }
+
+ Or(arg1, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Or(arg1, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Or(arg1, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Or(arg1, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(arg1, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Or(arg1, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xffffffffffffffff)
+ }
+
+ // Conversion of the second operand
+
+ Store(Or(0, arg1), Local0)
+ m600(arg0, 24, Local0, 0x321)
+
+ Store(Or(0xffffffffffffffff, arg1), Local0)
+ m600(arg0, 25, Local0, 0xffffffffffffffff)
+
+ Store(Or(aui5, arg1), Local0)
+ m600(arg0, 26, Local0, 0x321)
+
+ Store(Or(auij, arg1), Local0)
+ m600(arg0, 27, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Store(Or(Derefof(Refof(aui5)), arg1), Local0)
+ m600(arg0, 28, Local0, 0x321)
+
+ Store(Or(Derefof(Refof(auij)), arg1), Local0)
+ m600(arg0, 29, Local0, 0xffffffffffffffff)
+ }
+
+ Store(Or(Derefof(Index(paui, 5)), arg1), Local0)
+ m600(arg0, 30, Local0, 0x321)
+
+ Store(Or(Derefof(Index(paui, 19)), arg1), Local0)
+ m600(arg0, 31, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Store(Or(m601(1, 5), arg1), Local0)
+ m600(arg0, 32, Local0, 0x321)
+
+ Store(Or(m601(1, 19), arg1), Local0)
+ m600(arg0, 33, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(Derefof(m602(1, 5, 1)), arg1), Local0)
+ m600(arg0, 34, Local0, 0x321)
+
+ Store(Or(Derefof(m602(1, 19, 1)), arg1), Local0)
+ m600(arg0, 35, Local0, 0xffffffffffffffff)
+ }
+
+ Or(0, arg1, Local0)
+ m600(arg0, 36, Local0, 0x321)
+
+ Or(0xffffffffffffffff, arg1, Local0)
+ m600(arg0, 37, Local0, 0xffffffffffffffff)
+
+ Or(aui5, arg1, Local0)
+ m600(arg0, 38, Local0, 0x321)
+
+ Or(auij, arg1, Local0)
+ m600(arg0, 39, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Or(Derefof(Refof(aui5)), arg1, Local0)
+ m600(arg0, 40, Local0, 0x321)
+
+ Or(Derefof(Refof(auij)), arg1, Local0)
+ m600(arg0, 41, Local0, 0xffffffffffffffff)
+ }
+
+ Or(Derefof(Index(paui, 5)), arg1, Local0)
+ m600(arg0, 42, Local0, 0x321)
+
+ Or(Derefof(Index(paui, 19)), arg1, Local0)
+ m600(arg0, 43, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Or(m601(1, 5), arg1, Local0)
+ m600(arg0, 44, Local0, 0x321)
+
+ Or(m601(1, 19), arg1, Local0)
+ m600(arg0, 45, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(Derefof(m602(1, 5, 1)), arg1, Local0)
+ m600(arg0, 46, Local0, 0x321)
+
+ Or(Derefof(m602(1, 19, 1)), arg1, Local0)
+ m600(arg0, 47, Local0, 0xffffffffffffffff)
+ }
+ }
+
+ // Or, 64-bit
+ Method(m051, 3)
+ {
+ // Conversion of the first operand
+
+ Store(Or(arg2, 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(arg2, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xffffffffffffffff)
+
+ Store(Or(arg2, aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(arg2, auij), Local0)
+ m600(arg0, 3, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Store(Or(arg2, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(arg2, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xffffffffffffffff)
+ }
+
+ Store(Or(arg2, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(arg2, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Store(Or(arg2, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(arg2, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(arg2, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(arg2, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xffffffffffffffff)
+ }
+
+ Or(arg2, 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Or(arg2, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xffffffffffffffff)
+
+ Or(arg2, aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Or(arg2, auij, Local0)
+ m600(arg0, 15, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Or(arg2, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Or(arg2, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xffffffffffffffff)
+ }
+
+ Or(arg2, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Or(arg2, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Or(arg2, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Or(arg2, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(arg2, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Or(arg2, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xffffffffffffffff)
+ }
+
+ // Conversion of the second operand
+
+ Store(Or(0, arg2), Local0)
+ m600(arg0, 24, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(0xffffffffffffffff, arg2), Local0)
+ m600(arg0, 25, Local0, 0xffffffffffffffff)
+
+ Store(Or(aui5, arg2), Local0)
+ m600(arg0, 26, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(auij, arg2), Local0)
+ m600(arg0, 27, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Store(Or(Derefof(Refof(aui5)), arg2), Local0)
+ m600(arg0, 28, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(Refof(auij)), arg2), Local0)
+ m600(arg0, 29, Local0, 0xffffffffffffffff)
+ }
+
+ Store(Or(Derefof(Index(paui, 5)), arg2), Local0)
+ m600(arg0, 30, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(Index(paui, 19)), arg2), Local0)
+ m600(arg0, 31, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Store(Or(m601(1, 5), arg2), Local0)
+ m600(arg0, 32, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(m601(1, 19), arg2), Local0)
+ m600(arg0, 33, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(Derefof(m602(1, 5, 1)), arg2), Local0)
+ m600(arg0, 34, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(m602(1, 19, 1)), arg2), Local0)
+ m600(arg0, 35, Local0, 0xffffffffffffffff)
+ }
+
+ Or(0, arg2, Local0)
+ m600(arg0, 36, Local0, 0xfe7cb391d650a284)
+
+ Or(0xffffffffffffffff, arg2, Local0)
+ m600(arg0, 37, Local0, 0xffffffffffffffff)
+
+ Or(aui5, arg2, Local0)
+ m600(arg0, 38, Local0, 0xfe7cb391d650a284)
+
+ Or(auij, arg2, Local0)
+ m600(arg0, 39, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Or(Derefof(Refof(aui5)), arg2, Local0)
+ m600(arg0, 40, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(Refof(auij)), arg2, Local0)
+ m600(arg0, 41, Local0, 0xffffffffffffffff)
+ }
+
+ Or(Derefof(Index(paui, 5)), arg2, Local0)
+ m600(arg0, 42, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(Index(paui, 19)), arg2, Local0)
+ m600(arg0, 43, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Or(m601(1, 5), arg2, Local0)
+ m600(arg0, 44, Local0, 0xfe7cb391d650a284)
+
+ Or(m601(1, 19), arg2, Local0)
+ m600(arg0, 45, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(Derefof(m602(1, 5, 1)), arg2, Local0)
+ m600(arg0, 46, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(m602(1, 19, 1)), arg2, Local0)
+ m600(arg0, 47, Local0, 0xffffffffffffffff)
+ }
+
+ // Conversion of the both operands
+
+ Store(Or(arg1, arg2), Local0)
+ m600(arg0, 48, Local0, 0xfe7cb391d650a3a5)
+
+ Store(Or(arg2, arg1), Local0)
+ m600(arg0, 49, Local0, 0xfe7cb391d650a3a5)
+
+ Or(arg1, arg2, Local0)
+ m600(arg0, 50, Local0, 0xfe7cb391d650a3a5)
+
+ Or(arg2, arg1, Local0)
+ m600(arg0, 51, Local0, 0xfe7cb391d650a3a5)
+ }
+
+ // Or, 32-bit
+ Method(m052, 3)
+ {
+ // Conversion of the first operand
+
+ Store(Or(arg2, 0), Local0)
+ m600(arg0, 0, Local0, 0xd650a284)
+
+ Store(Or(arg2, 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0xffffffff)
+
+ Store(Or(arg2, aui5), Local0)
+ m600(arg0, 2, Local0, 0xd650a284)
+
+ Store(Or(arg2, auii), Local0)
+ m600(arg0, 3, Local0, 0xffffffff)
+
+ if (y078) {
+ Store(Or(arg2, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xd650a284)
+
+ Store(Or(arg2, Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0xffffffff)
+ }
+
+ Store(Or(arg2, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xd650a284)
+
+ Store(Or(arg2, Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0xffffffff)
+
+ // Method returns Integer
+
+ Store(Or(arg2, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xd650a284)
+
+ Store(Or(arg2, m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0xffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(arg2, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xd650a284)
+
+ Store(Or(arg2, Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0xffffffff)
+ }
+
+ Or(arg2, 0, Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ Or(arg2, 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0xffffffff)
+
+ Or(arg2, aui5, Local0)
+ m600(arg0, 14, Local0, 0xd650a284)
+
+ Or(arg2, auii, Local0)
+ m600(arg0, 15, Local0, 0xffffffff)
+
+ if (y078) {
+ Or(arg2, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xd650a284)
+
+ Or(arg2, Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0xffffffff)
+ }
+
+ Or(arg2, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xd650a284)
+
+ Or(arg2, Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0xffffffff)
+
+ // Method returns Integer
+
+ Or(arg2, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xd650a284)
+
+ Or(arg2, m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0xffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(arg2, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xd650a284)
+
+ Or(arg2, Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0xffffffff)
+ }
+
+ // Conversion of the second operand
+
+ Store(Or(0, arg2), Local0)
+ m600(arg0, 24, Local0, 0xd650a284)
+
+ Store(Or(0xffffffff, arg2), Local0)
+ m600(arg0, 25, Local0, 0xffffffff)
+
+ Store(Or(aui5, arg2), Local0)
+ m600(arg0, 26, Local0, 0xd650a284)
+
+ Store(Or(auii, arg2), Local0)
+ m600(arg0, 27, Local0, 0xffffffff)
+
+ if (y078) {
+ Store(Or(Derefof(Refof(aui5)), arg2), Local0)
+ m600(arg0, 28, Local0, 0xd650a284)
+
+ Store(Or(Derefof(Refof(auii)), arg2), Local0)
+ m600(arg0, 29, Local0, 0xffffffff)
+ }
+
+ Store(Or(Derefof(Index(paui, 5)), arg2), Local0)
+ m600(arg0, 30, Local0, 0xd650a284)
+
+ Store(Or(Derefof(Index(paui, 18)), arg2), Local0)
+ m600(arg0, 31, Local0, 0xffffffff)
+
+ // Method returns Integer
+
+ Store(Or(m601(1, 5), arg2), Local0)
+ m600(arg0, 32, Local0, 0xd650a284)
+
+ Store(Or(m601(1, 18), arg2), Local0)
+ m600(arg0, 33, Local0, 0xffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(Derefof(m602(1, 5, 1)), arg2), Local0)
+ m600(arg0, 34, Local0, 0xd650a284)
+
+ Store(Or(Derefof(m602(1, 18, 1)), arg2), Local0)
+ m600(arg0, 35, Local0, 0xffffffff)
+ }
+
+ Or(0, arg2, Local0)
+ m600(arg0, 36, Local0, 0xd650a284)
+
+ Or(0xffffffff, arg2, Local0)
+ m600(arg0, 37, Local0, 0xffffffff)
+
+ Or(aui5, arg2, Local0)
+ m600(arg0, 38, Local0, 0xd650a284)
+
+ Or(auii, arg2, Local0)
+ m600(arg0, 39, Local0, 0xffffffff)
+
+ if (y078) {
+ Or(Derefof(Refof(aui5)), arg2, Local0)
+ m600(arg0, 40, Local0, 0xd650a284)
+
+ Or(Derefof(Refof(auii)), arg2, Local0)
+ m600(arg0, 41, Local0, 0xffffffff)
+ }
+
+ Or(Derefof(Index(paui, 5)), arg2, Local0)
+ m600(arg0, 42, Local0, 0xd650a284)
+
+ Or(Derefof(Index(paui, 18)), arg2, Local0)
+ m600(arg0, 43, Local0, 0xffffffff)
+
+ // Method returns Integer
+
+ Or(m601(1, 5), arg2, Local0)
+ m600(arg0, 44, Local0, 0xd650a284)
+
+ Or(m601(1, 18), arg2, Local0)
+ m600(arg0, 45, Local0, 0xffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(Derefof(m602(1, 5, 1)), arg2, Local0)
+ m600(arg0, 46, Local0, 0xd650a284)
+
+ Or(Derefof(m602(1, 18, 1)), arg2, Local0)
+ m600(arg0, 47, Local0, 0xffffffff)
+ }
+
+ // Conversion of the both operands
+
+ Store(Or(arg1, arg2), Local0)
+ m600(arg0, 48, Local0, 0xd650a3a5)
+
+ Store(Or(arg2, arg1), Local0)
+ m600(arg0, 49, Local0, 0xd650a3a5)
+
+ Or(arg1, arg2, Local0)
+ m600(arg0, 50, Local0, 0xd650a3a5)
+
+ Or(arg2, arg1, Local0)
+ m600(arg0, 51, Local0, 0xd650a3a5)
+ }
+
+ // ShiftLeft, common 32-bit/64-bit test
+ Method(m053, 3)
+ {
+ // Conversion of the first operand
+
+ Store(ShiftLeft(arg1, 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(ShiftLeft(arg1, 1), Local0)
+ m600(arg0, 1, Local0, 0x642)
+
+ Store(ShiftLeft(arg1, aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(ShiftLeft(arg1, aui6), Local0)
+ m600(arg0, 3, Local0, 0x642)
+
+ if (y078) {
+ Store(ShiftLeft(arg1, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(ShiftLeft(arg1, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x642)
+ }
+
+ Store(ShiftLeft(arg1, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(ShiftLeft(arg1, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x642)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(arg1, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(ShiftLeft(arg1, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x642)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(arg1, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(ShiftLeft(arg1, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x642)
+ }
+
+ ShiftLeft(arg1, 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ ShiftLeft(arg1, 1, Local0)
+ m600(arg0, 13, Local0, 0x642)
+
+ ShiftLeft(arg1, aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ ShiftLeft(arg1, aui6, Local0)
+ m600(arg0, 15, Local0, 0x642)
+
+ if (y078) {
+ ShiftLeft(arg1, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ ShiftLeft(arg1, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x642)
+ }
+
+ ShiftLeft(arg1, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ ShiftLeft(arg1, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x642)
+
+ // Method returns Integer
+
+ ShiftLeft(arg1, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ ShiftLeft(arg1, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x642)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(arg1, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ ShiftLeft(arg1, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x642)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftLeft(0, arg2), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftLeft(1, arg2), Local0)
+ m600(arg0, 25, Local0, 0x800)
+
+ Store(ShiftLeft(aui5, arg2), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftLeft(aui6, arg2), Local0)
+ m600(arg0, 27, Local0, 0x800)
+
+ if (y078) {
+ Store(ShiftLeft(Derefof(Refof(aui5)), arg2), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Refof(aui6)), arg2), Local0)
+ m600(arg0, 29, Local0, 0x800)
+ }
+
+ Store(ShiftLeft(Derefof(Index(paui, 5)), arg2), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Index(paui, 6)), arg2), Local0)
+ m600(arg0, 31, Local0, 0x800)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(m601(1, 5), arg2), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftLeft(m601(1, 6), arg2), Local0)
+ m600(arg0, 33, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(Derefof(m602(1, 5, 1)), arg2), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftLeft(Derefof(m602(1, 6, 1)), arg2), Local0)
+ m600(arg0, 35, Local0, 0x800)
+ }
+
+ ShiftLeft(0, arg2, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftLeft(1, arg2, Local0)
+ m600(arg0, 37, Local0, 0x800)
+
+ ShiftLeft(aui5, arg2, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftLeft(aui6, arg2, Local0)
+ m600(arg0, 39, Local0, 0x800)
+
+ if (y078) {
+ ShiftLeft(Derefof(Refof(aui5)), arg2, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftLeft(Derefof(Refof(aui6)), arg2, Local0)
+ m600(arg0, 41, Local0, 0x800)
+ }
+
+ ShiftLeft(Derefof(Index(paui, 5)), arg2, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftLeft(Derefof(Index(paui, 6)), arg2, Local0)
+ m600(arg0, 43, Local0, 0x800)
+
+ // Method returns Integer
+
+ ShiftLeft(m601(1, 5), arg2, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftLeft(m601(1, 6), arg2, Local0)
+ m600(arg0, 45, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(Derefof(m602(1, 5, 1)), arg2, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftLeft(Derefof(m602(1, 6, 1)), arg2, Local0)
+ m600(arg0, 47, Local0, 0x800)
+ }
+ }
+
+ // ShiftLeft, 64-bit
+ Method(m054, 4)
+ {
+ // Conversion of the first operand
+
+ Store(ShiftLeft(arg2, 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(arg2, 1), Local0)
+ m600(arg0, 1, Local0, 0xfcf96723aca14508)
+
+ Store(ShiftLeft(arg2, aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(arg2, aui6), Local0)
+ m600(arg0, 3, Local0, 0xfcf96723aca14508)
+
+ if (y078) {
+ Store(ShiftLeft(arg2, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(arg2, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xfcf96723aca14508)
+ }
+
+ Store(ShiftLeft(arg2, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(arg2, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xfcf96723aca14508)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(arg2, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(arg2, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xfcf96723aca14508)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(arg2, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(arg2, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfcf96723aca14508)
+ }
+
+ ShiftLeft(arg2, 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(arg2, 1, Local0)
+ m600(arg0, 13, Local0, 0xfcf96723aca14508)
+
+ ShiftLeft(arg2, aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(arg2, aui6, Local0)
+ m600(arg0, 15, Local0, 0xfcf96723aca14508)
+
+ if (y078) {
+ ShiftLeft(arg2, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(arg2, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xfcf96723aca14508)
+ }
+
+ ShiftLeft(arg2, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(arg2, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xfcf96723aca14508)
+
+ // Method returns Integer
+
+ ShiftLeft(arg2, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(arg2, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xfcf96723aca14508)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(arg2, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(arg2, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfcf96723aca14508)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftLeft(0, arg3), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftLeft(1, arg3), Local0)
+ m600(arg0, 25, Local0, 0x800)
+
+ Store(ShiftLeft(aui5, arg3), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftLeft(aui6, arg3), Local0)
+ m600(arg0, 27, Local0, 0x800)
+
+ if (y078) {
+ Store(ShiftLeft(Derefof(Refof(aui5)), arg3), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Refof(aui6)), arg3), Local0)
+ m600(arg0, 29, Local0, 0x800)
+ }
+
+ Store(ShiftLeft(Derefof(Index(paui, 5)), arg3), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Index(paui, 6)), arg3), Local0)
+ m600(arg0, 31, Local0, 0x800)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(m601(1, 5), arg3), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftLeft(m601(1, 6), arg3), Local0)
+ m600(arg0, 33, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(Derefof(m602(1, 5, 1)), arg3), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftLeft(Derefof(m602(1, 6, 1)), arg3), Local0)
+ m600(arg0, 35, Local0, 0x800)
+ }
+
+ ShiftLeft(0, arg3, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftLeft(1, arg3, Local0)
+ m600(arg0, 37, Local0, 0x800)
+
+ ShiftLeft(aui5, arg3, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftLeft(aui6, arg3, Local0)
+ m600(arg0, 39, Local0, 0x800)
+
+ if (y078) {
+ ShiftLeft(Derefof(Refof(aui5)), arg3, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftLeft(Derefof(Refof(aui6)), arg3, Local0)
+ m600(arg0, 41, Local0, 0x800)
+ }
+
+ ShiftLeft(Derefof(Index(paui, 5)), arg3, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftLeft(Derefof(Index(paui, 6)), arg3, Local0)
+ m600(arg0, 43, Local0, 0x800)
+
+ // Method returns Integer
+
+ ShiftLeft(m601(1, 5), arg3, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftLeft(m601(1, 6), arg3, Local0)
+ m600(arg0, 45, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(Derefof(m602(1, 5, 1)), arg3, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftLeft(Derefof(m602(1, 6, 1)), arg3, Local0)
+ m600(arg0, 47, Local0, 0x800)
+ }
+
+ // Conversion of the both operands
+
+ Store(ShiftLeft(arg1, arg3), Local0)
+ m600(arg0, 48, Local0, 0x190800)
+
+ Store(ShiftLeft(arg2, arg3), Local0)
+ m600(arg0, 49, Local0, 0xE59C8EB285142000)
+
+ ShiftLeft(arg1, arg3, Local0)
+ m600(arg0, 50, Local0, 0x190800)
+
+ ShiftLeft(arg2, arg3, Local0)
+ m600(arg0, 51, Local0, 0xE59C8EB285142000)
+ }
+
+ // ShiftLeft, 32-bit
+ Method(m055, 4)
+ {
+ // Conversion of the first operand
+
+ Store(ShiftLeft(arg2, 0), Local0)
+ m600(arg0, 0, Local0, 0xd650a284)
+
+ Store(ShiftLeft(arg2, 1), Local0)
+ m600(arg0, 1, Local0, 0xaca14508)
+
+ Store(ShiftLeft(arg2, aui5), Local0)
+ m600(arg0, 2, Local0, 0xd650a284)
+
+ Store(ShiftLeft(arg2, aui6), Local0)
+ m600(arg0, 3, Local0, 0xaca14508)
+
+ if (y078) {
+ Store(ShiftLeft(arg2, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xd650a284)
+
+ Store(ShiftLeft(arg2, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xaca14508)
+ }
+
+ Store(ShiftLeft(arg2, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xd650a284)
+
+ Store(ShiftLeft(arg2, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xaca14508)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(arg2, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xd650a284)
+
+ Store(ShiftLeft(arg2, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xaca14508)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(arg2, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xd650a284)
+
+ Store(ShiftLeft(arg2, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xaca14508)
+ }
+
+ ShiftLeft(arg2, 0, Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ ShiftLeft(arg2, 1, Local0)
+ m600(arg0, 13, Local0, 0xaca14508)
+
+ ShiftLeft(arg2, aui5, Local0)
+ m600(arg0, 14, Local0, 0xd650a284)
+
+ ShiftLeft(arg2, aui6, Local0)
+ m600(arg0, 15, Local0, 0xaca14508)
+
+ if (y078) {
+ ShiftLeft(arg2, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xd650a284)
+
+ ShiftLeft(arg2, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xaca14508)
+ }
+
+ ShiftLeft(arg2, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xd650a284)
+
+ ShiftLeft(arg2, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xaca14508)
+
+ // Method returns Integer
+
+ ShiftLeft(arg2, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xd650a284)
+
+ ShiftLeft(arg2, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xaca14508)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(arg2, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xd650a284)
+
+ ShiftLeft(arg2, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xaca14508)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftLeft(0, arg3), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftLeft(1, arg3), Local0)
+ m600(arg0, 25, Local0, 0x800)
+
+ Store(ShiftLeft(aui5, arg3), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftLeft(aui6, arg3), Local0)
+ m600(arg0, 27, Local0, 0x800)
+
+ if (y078) {
+ Store(ShiftLeft(Derefof(Refof(aui5)), arg3), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Refof(aui6)), arg3), Local0)
+ m600(arg0, 29, Local0, 0x800)
+ }
+
+ Store(ShiftLeft(Derefof(Index(paui, 5)), arg3), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Index(paui, 6)), arg3), Local0)
+ m600(arg0, 31, Local0, 0x800)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(m601(1, 5), arg3), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftLeft(m601(1, 6), arg3), Local0)
+ m600(arg0, 33, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(Derefof(m602(1, 5, 1)), arg3), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftLeft(Derefof(m602(1, 6, 1)), arg3), Local0)
+ m600(arg0, 35, Local0, 0x800)
+ }
+
+ ShiftLeft(0, arg3, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftLeft(1, arg3, Local0)
+ m600(arg0, 37, Local0, 0x800)
+
+ ShiftLeft(aui5, arg3, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftLeft(aui6, arg3, Local0)
+ m600(arg0, 39, Local0, 0x800)
+
+ if (y078) {
+ ShiftLeft(Derefof(Refof(aui5)), arg3, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftLeft(Derefof(Refof(aui6)), arg3, Local0)
+ m600(arg0, 41, Local0, 0x800)
+ }
+
+ ShiftLeft(Derefof(Index(paui, 5)), arg3, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftLeft(Derefof(Index(paui, 6)), arg3, Local0)
+ m600(arg0, 43, Local0, 0x800)
+
+ // Method returns Integer
+
+ ShiftLeft(m601(1, 5), arg3, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftLeft(m601(1, 6), arg3, Local0)
+ m600(arg0, 45, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(Derefof(m602(1, 5, 1)), arg3, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftLeft(Derefof(m602(1, 6, 1)), arg3, Local0)
+ m600(arg0, 47, Local0, 0x800)
+ }
+
+ // Conversion of the both operands
+
+ Store(ShiftLeft(arg1, arg3), Local0)
+ m600(arg0, 48, Local0, 0x190800)
+
+ Store(ShiftLeft(arg2, arg3), Local0)
+ m600(arg0, 49, Local0, 0x85142000)
+
+ ShiftLeft(arg1, arg3, Local0)
+ m600(arg0, 50, Local0, 0x190800)
+
+ ShiftLeft(arg2, arg3, Local0)
+ m600(arg0, 51, Local0, 0x85142000)
+ }
+
+ // ShiftRight, common 32-bit/64-bit test
+ Method(m056, 3)
+ {
+ // Conversion of the first operand
+
+ Store(ShiftRight(arg1, 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(ShiftRight(arg1, 1), Local0)
+ m600(arg0, 1, Local0, 0x190)
+
+ Store(ShiftRight(arg1, aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(ShiftRight(arg1, aui6), Local0)
+ m600(arg0, 3, Local0, 0x190)
+
+ if (y078) {
+ Store(ShiftRight(arg1, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(ShiftRight(arg1, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x190)
+ }
+
+ Store(ShiftRight(arg1, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(ShiftRight(arg1, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x190)
+
+ // Method returns Integer
+
+ Store(ShiftRight(arg1, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(ShiftRight(arg1, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x190)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(arg1, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(ShiftRight(arg1, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x190)
+ }
+
+ ShiftRight(arg1, 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ ShiftRight(arg1, 1, Local0)
+ m600(arg0, 13, Local0, 0x190)
+
+ ShiftRight(arg1, aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ ShiftRight(arg1, aui6, Local0)
+ m600(arg0, 15, Local0, 0x190)
+
+ if (y078) {
+ ShiftRight(arg1, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ ShiftRight(arg1, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x190)
+ }
+
+ ShiftRight(arg1, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ ShiftRight(arg1, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x190)
+
+ // Method returns Integer
+
+ ShiftRight(arg1, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ ShiftRight(arg1, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x190)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(arg1, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ ShiftRight(arg1, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x190)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftRight(0x321, arg2), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftRight(0xd650a284, arg2), Local0)
+ m600(arg0, 25, Local0, 0x1aca14)
+
+ Store(ShiftRight(aui1, arg2), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftRight(auik, arg2), Local0)
+ m600(arg0, 27, Local0, 0x1aca14)
+
+ if (y078) {
+ Store(ShiftRight(Derefof(Refof(aui1)), arg2), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftRight(Derefof(Refof(auik)), arg2), Local0)
+ m600(arg0, 29, Local0, 0x1aca14)
+ }
+
+ Store(ShiftRight(Derefof(Index(paui, 1)), arg2), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftRight(Derefof(Index(paui, 20)), arg2), Local0)
+ m600(arg0, 31, Local0, 0x1aca14)
+
+ // Method returns Integer
+
+ Store(ShiftRight(m601(1, 1), arg2), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftRight(m601(1, 20), arg2), Local0)
+ m600(arg0, 33, Local0, 0x1aca14)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(Derefof(m602(1, 1, 1)), arg2), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftRight(Derefof(m602(1, 20, 1)), arg2), Local0)
+ m600(arg0, 35, Local0, 0x1aca14)
+ }
+
+ ShiftRight(0x321, arg2, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftRight(0xd650a284, arg2, Local0)
+ m600(arg0, 37, Local0, 0x1aca14)
+
+ ShiftRight(aui1, arg2, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftRight(auik, arg2, Local0)
+ m600(arg0, 39, Local0, 0x1aca14)
+
+ if (y078) {
+ ShiftRight(Derefof(Refof(aui1)), arg2, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftRight(Derefof(Refof(auik)), arg2, Local0)
+ m600(arg0, 41, Local0, 0x1aca14)
+ }
+
+ ShiftRight(Derefof(Index(paui, 1)), arg2, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftRight(Derefof(Index(paui, 20)), arg2, Local0)
+ m600(arg0, 43, Local0, 0x1aca14)
+
+ // Method returns Integer
+
+ ShiftRight(m601(1, 1), arg2, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftRight(m601(1, 20), arg2, Local0)
+ m600(arg0, 45, Local0, 0x1aca14)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(Derefof(m602(1, 1, 1)), arg2, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftRight(Derefof(m602(1, 20, 1)), arg2, Local0)
+ m600(arg0, 47, Local0, 0x1aca14)
+ }
+ }
+
+ // ShiftRight, 64-bit
+ Method(m057, 4)
+ {
+ // Conversion of the first operand
+
+ Store(ShiftRight(arg2, 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(arg2, 1), Local0)
+ m600(arg0, 1, Local0, 0x7f3e59c8eb285142)
+
+ Store(ShiftRight(arg2, aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(arg2, aui6), Local0)
+ m600(arg0, 3, Local0, 0x7f3e59c8eb285142)
+
+ if (y078) {
+ Store(ShiftRight(arg2, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(arg2, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x7f3e59c8eb285142)
+ }
+
+ Store(ShiftRight(arg2, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(arg2, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x7f3e59c8eb285142)
+
+ // Method returns Integer
+
+ Store(ShiftRight(arg2, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(arg2, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x7f3e59c8eb285142)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(arg2, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(arg2, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x7f3e59c8eb285142)
+ }
+
+ ShiftRight(arg2, 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(arg2, 1, Local0)
+ m600(arg0, 13, Local0, 0x7f3e59c8eb285142)
+
+ ShiftRight(arg2, aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(arg2, aui6, Local0)
+ m600(arg0, 15, Local0, 0x7f3e59c8eb285142)
+
+ if (y078) {
+ ShiftRight(arg2, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(arg2, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x7f3e59c8eb285142)
+ }
+
+ ShiftRight(arg2, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(arg2, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x7f3e59c8eb285142)
+
+ // Method returns Integer
+
+ ShiftRight(arg2, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(arg2, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x7f3e59c8eb285142)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(arg2, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(arg2, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x7f3e59c8eb285142)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftRight(0x321, arg3), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftRight(0xfe7cb391d650a284, arg3), Local0)
+ m600(arg0, 25, Local0, 0x1fcf96723aca14)
+
+ Store(ShiftRight(aui1, arg3), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftRight(aui4, arg3), Local0)
+ m600(arg0, 27, Local0, 0x1fcf96723aca14)
+
+ if (y078) {
+ Store(ShiftRight(Derefof(Refof(aui1)), arg3), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftRight(Derefof(Refof(aui4)), arg3), Local0)
+ m600(arg0, 29, Local0, 0x1fcf96723aca14)
+ }
+
+ Store(ShiftRight(Derefof(Index(paui, 1)), arg3), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftRight(Derefof(Index(paui, 4)), arg3), Local0)
+ m600(arg0, 31, Local0, 0x1fcf96723aca14)
+
+ // Method returns Integer
+
+ Store(ShiftRight(m601(1, 1), arg3), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftRight(m601(1, 4), arg3), Local0)
+ m600(arg0, 33, Local0, 0x1fcf96723aca14)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(Derefof(m602(1, 1, 1)), arg3), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftRight(Derefof(m602(1, 4, 1)), arg3), Local0)
+ m600(arg0, 35, Local0, 0x1fcf96723aca14)
+ }
+
+ ShiftRight(0x321, arg3, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftRight(0xfe7cb391d650a284, arg3, Local0)
+ m600(arg0, 37, Local0, 0x1fcf96723aca14)
+
+ ShiftRight(aui1, arg3, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftRight(aui4, arg3, Local0)
+ m600(arg0, 39, Local0, 0x1fcf96723aca14)
+
+ if (y078) {
+ ShiftRight(Derefof(Refof(aui1)), arg3, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftRight(Derefof(Refof(aui4)), arg3, Local0)
+ m600(arg0, 41, Local0, 0x1fcf96723aca14)
+ }
+
+ ShiftRight(Derefof(Index(paui, 1)), arg3, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftRight(Derefof(Index(paui, 4)), arg3, Local0)
+ m600(arg0, 43, Local0, 0x1fcf96723aca14)
+
+ // Method returns Integer
+
+ ShiftRight(m601(1, 1), arg3, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftRight(m601(1, 4), arg3, Local0)
+ m600(arg0, 45, Local0, 0x1fcf96723aca14)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(Derefof(m602(1, 1, 1)), arg3, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftRight(Derefof(m602(1, 4, 1)), arg3, Local0)
+ m600(arg0, 47, Local0, 0x1fcf96723aca14)
+ }
+
+ // Conversion of the both operands
+
+ Store(ShiftRight(arg1, arg3), Local0)
+ m600(arg0, 48, Local0, 0)
+
+ Store(ShiftRight(arg2, arg3), Local0)
+ m600(arg0, 49, Local0, 0x1fcf96723aca14)
+
+ ShiftRight(arg1, arg3, Local0)
+ m600(arg0, 50, Local0, 0)
+
+ ShiftRight(arg2, arg3, Local0)
+ m600(arg0, 51, Local0, 0x1fcf96723aca14)
+ }
+
+ // ShiftRight, 32-bit
+ Method(m058, 4)
+ {
+ // Conversion of the first operand
+
+ Store(ShiftRight(arg2, 0), Local0)
+ m600(arg0, 0, Local0, 0xd650a284)
+
+ Store(ShiftRight(arg2, 1), Local0)
+ m600(arg0, 1, Local0, 0x6b285142)
+
+ Store(ShiftRight(arg2, aui5), Local0)
+ m600(arg0, 2, Local0, 0xd650a284)
+
+ Store(ShiftRight(arg2, aui6), Local0)
+ m600(arg0, 3, Local0, 0x6b285142)
+
+ if (y078) {
+ Store(ShiftRight(arg2, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xd650a284)
+
+ Store(ShiftRight(arg2, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x6b285142)
+ }
+
+ Store(ShiftRight(arg2, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xd650a284)
+
+ Store(ShiftRight(arg2, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x6b285142)
+
+ // Method returns Integer
+
+ Store(ShiftRight(arg2, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xd650a284)
+
+ Store(ShiftRight(arg2, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x6b285142)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(arg2, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xd650a284)
+
+ Store(ShiftRight(arg2, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x6b285142)
+ }
+
+ ShiftRight(arg2, 0, Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ ShiftRight(arg2, 1, Local0)
+ m600(arg0, 13, Local0, 0x6b285142)
+
+ ShiftRight(arg2, aui5, Local0)
+ m600(arg0, 14, Local0, 0xd650a284)
+
+ ShiftRight(arg2, aui6, Local0)
+ m600(arg0, 15, Local0, 0x6b285142)
+
+ if (y078) {
+ ShiftRight(arg2, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xd650a284)
+
+ ShiftRight(arg2, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x6b285142)
+ }
+
+ ShiftRight(arg2, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xd650a284)
+
+ ShiftRight(arg2, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x6b285142)
+
+ // Method returns Integer
+
+ ShiftRight(arg2, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xd650a284)
+
+ ShiftRight(arg2, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x6b285142)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(arg2, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xd650a284)
+
+ ShiftRight(arg2, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x6b285142)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftRight(0x321, arg3), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftRight(0xd650a284, arg3), Local0)
+ m600(arg0, 25, Local0, 0x1aca14)
+
+ Store(ShiftRight(aui1, arg3), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftRight(auik, arg3), Local0)
+ m600(arg0, 27, Local0, 0x1aca14)
+
+ if (y078) {
+ Store(ShiftRight(Derefof(Refof(aui1)), arg3), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftRight(Derefof(Refof(auik)), arg3), Local0)
+ m600(arg0, 29, Local0, 0x1aca14)
+ }
+
+ Store(ShiftRight(Derefof(Index(paui, 1)), arg3), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftRight(Derefof(Index(paui, 20)), arg3), Local0)
+ m600(arg0, 31, Local0, 0x1aca14)
+
+ // Method returns Integer
+
+ Store(ShiftRight(m601(1, 1), arg3), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftRight(m601(1, 20), arg3), Local0)
+ m600(arg0, 33, Local0, 0x1aca14)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(Derefof(m602(1, 1, 1)), arg3), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftRight(Derefof(m602(1, 20, 1)), arg3), Local0)
+ m600(arg0, 35, Local0, 0x1aca14)
+ }
+
+ ShiftRight(0x321, arg3, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftRight(0xd650a284, arg3, Local0)
+ m600(arg0, 37, Local0, 0x1aca14)
+
+ ShiftRight(aui1, arg3, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftRight(auik, arg3, Local0)
+ m600(arg0, 39, Local0, 0x1aca14)
+
+ if (y078) {
+ ShiftRight(Derefof(Refof(aui1)), arg3, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftRight(Derefof(Refof(auik)), arg3, Local0)
+ m600(arg0, 41, Local0, 0x1aca14)
+ }
+
+ ShiftRight(Derefof(Index(paui, 1)), arg3, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftRight(Derefof(Index(paui, 20)), arg3, Local0)
+ m600(arg0, 43, Local0, 0x1aca14)
+
+ // Method returns Integer
+
+ ShiftRight(m601(1, 1), arg3, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftRight(m601(1, 20), arg3, Local0)
+ m600(arg0, 45, Local0, 0x1aca14)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(Derefof(m602(1, 1, 1)), arg3, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftRight(Derefof(m602(1, 20, 1)), arg3, Local0)
+ m600(arg0, 47, Local0, 0x1aca14)
+ }
+
+ // Conversion of the both operands
+
+ Store(ShiftRight(arg1, arg3), Local0)
+ m600(arg0, 48, Local0, 0)
+
+ Store(ShiftRight(arg2, arg3), Local0)
+ m600(arg0, 49, Local0, 0x1aca14)
+
+ ShiftRight(arg1, arg3, Local0)
+ m600(arg0, 50, Local0, 0)
+
+ ShiftRight(arg2, arg3, Local0)
+ m600(arg0, 51, Local0, 0x1aca14)
+ }
+
+ // Subtract, common 32-bit/64-bit test
+ Method(m059, 2)
+ {
+ // Conversion of the first operand
+
+ Store(Subtract(arg1, 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Subtract(arg1, 1), Local0)
+ m600(arg0, 1, Local0, 0x320)
+
+ Store(Subtract(arg1, aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Subtract(arg1, aui6), Local0)
+ m600(arg0, 3, Local0, 0x320)
+
+ if (y078) {
+ Store(Subtract(arg1, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Subtract(arg1, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x320)
+ }
+
+ Store(Subtract(arg1, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Subtract(arg1, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x320)
+
+ // Method returns Integer
+
+ Store(Subtract(arg1, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Subtract(arg1, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x320)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(arg1, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Subtract(arg1, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x320)
+ }
+
+ Subtract(arg1, 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Subtract(arg1, 1, Local0)
+ m600(arg0, 13, Local0, 0x320)
+
+ Subtract(arg1, aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Subtract(arg1, aui6, Local0)
+ m600(arg0, 15, Local0, 0x320)
+
+ if (y078) {
+ Subtract(arg1, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Subtract(arg1, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x320)
+ }
+
+ Subtract(arg1, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Subtract(arg1, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x320)
+
+ // Method returns Integer
+
+ Subtract(arg1, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Subtract(arg1, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x320)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(arg1, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Subtract(arg1, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x320)
+ }
+
+ // Conversion of the second operand
+
+ Store(Subtract(0, arg1), Local0)
+ m600(arg0, 24, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(1, arg1), Local0)
+ m600(arg0, 25, Local0, 0xfffffffffffffce0)
+
+ Store(Subtract(aui5, arg1), Local0)
+ m600(arg0, 26, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(aui6, arg1), Local0)
+ m600(arg0, 27, Local0, 0xfffffffffffffce0)
+
+ if (y078) {
+ Store(Subtract(Derefof(Refof(aui5)), arg1), Local0)
+ m600(arg0, 28, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(Derefof(Refof(aui6)), arg1), Local0)
+ m600(arg0, 29, Local0, 0xfffffffffffffce0)
+ }
+
+ Store(Subtract(Derefof(Index(paui, 5)), arg1), Local0)
+ m600(arg0, 30, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(Derefof(Index(paui, 6)), arg1), Local0)
+ m600(arg0, 31, Local0, 0xfffffffffffffce0)
+
+ // Method returns Integer
+
+ Store(Subtract(m601(1, 5), arg1), Local0)
+ m600(arg0, 32, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(m601(1, 6), arg1), Local0)
+ m600(arg0, 33, Local0, 0xfffffffffffffce0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(Derefof(m602(1, 5, 1)), arg1), Local0)
+ m600(arg0, 34, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(Derefof(m602(1, 6, 1)), arg1), Local0)
+ m600(arg0, 35, Local0, 0xfffffffffffffce0)
+ }
+
+ Subtract(0, arg1, Local0)
+ m600(arg0, 36, Local0, 0xfffffffffffffcdf)
+
+ Subtract(1, arg1, Local0)
+ m600(arg0, 37, Local0, 0xfffffffffffffce0)
+
+ Subtract(aui5, arg1, Local0)
+ m600(arg0, 38, Local0, 0xfffffffffffffcdf)
+
+ Subtract(aui6, arg1, Local0)
+ m600(arg0, 39, Local0, 0xfffffffffffffce0)
+
+ if (y078) {
+ Subtract(Derefof(Refof(aui5)), arg1, Local0)
+ m600(arg0, 40, Local0, 0xfffffffffffffcdf)
+
+ Subtract(Derefof(Refof(aui6)), arg1, Local0)
+ m600(arg0, 41, Local0, 0xfffffffffffffce0)
+ }
+
+ Subtract(Derefof(Index(paui, 5)), arg1, Local0)
+ m600(arg0, 42, Local0, 0xfffffffffffffcdf)
+
+ Subtract(Derefof(Index(paui, 6)), arg1, Local0)
+ m600(arg0, 43, Local0, 0xfffffffffffffce0)
+
+ // Method returns Integer
+
+ Subtract(m601(1, 5), arg1, Local0)
+ m600(arg0, 44, Local0, 0xfffffffffffffcdf)
+
+ Subtract(m601(1, 6), arg1, Local0)
+ m600(arg0, 45, Local0, 0xfffffffffffffce0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(Derefof(m602(1, 5, 1)), arg1, Local0)
+ m600(arg0, 46, Local0, 0xfffffffffffffcdf)
+
+ Subtract(Derefof(m602(1, 6, 1)), arg1, Local0)
+ m600(arg0, 47, Local0, 0xfffffffffffffce0)
+ }
+ }
+
+ // Subtract, 64-bit
+ Method(m05a, 3)
+ {
+ // Conversion of the first operand
+
+ Store(Subtract(arg2, 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(arg2, 1), Local0)
+ m600(arg0, 1, Local0, 0xfe7cb391d650a283)
+
+ Store(Subtract(arg2, aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(arg2, aui6), Local0)
+ m600(arg0, 3, Local0, 0xfe7cb391d650a283)
+
+ if (y078) {
+ Store(Subtract(arg2, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(arg2, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xfe7cb391d650a283)
+ }
+
+ Store(Subtract(arg2, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(arg2, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Integer
+
+ Store(Subtract(arg2, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(arg2, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(arg2, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(arg2, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfe7cb391d650a283)
+ }
+
+ Subtract(arg2, 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Subtract(arg2, 1, Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a283)
+
+ Subtract(arg2, aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Subtract(arg2, aui6, Local0)
+ m600(arg0, 15, Local0, 0xfe7cb391d650a283)
+
+ if (y078) {
+ Subtract(arg2, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Subtract(arg2, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xfe7cb391d650a283)
+ }
+
+ Subtract(arg2, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Subtract(arg2, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Integer
+
+ Subtract(arg2, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Subtract(arg2, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(arg2, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Subtract(arg2, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfe7cb391d650a283)
+ }
+
+ // Conversion of the second operand
+
+ Store(Subtract(0, arg2), Local0)
+ m600(arg0, 24, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(1, arg2), Local0)
+ m600(arg0, 25, Local0, 0x01834c6e29af5d7d)
+
+ Store(Subtract(aui5, arg2), Local0)
+ m600(arg0, 26, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(aui6, arg2), Local0)
+ m600(arg0, 27, Local0, 0x01834c6e29af5d7d)
+
+ if (y078) {
+ Store(Subtract(Derefof(Refof(aui5)), arg2), Local0)
+ m600(arg0, 28, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(Derefof(Refof(aui6)), arg2), Local0)
+ m600(arg0, 29, Local0, 0x01834c6e29af5d7d)
+ }
+
+ Store(Subtract(Derefof(Index(paui, 5)), arg2), Local0)
+ m600(arg0, 30, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(Derefof(Index(paui, 6)), arg2), Local0)
+ m600(arg0, 31, Local0, 0x01834c6e29af5d7d)
+
+ // Method returns Integer
+
+ Store(Subtract(m601(1, 5), arg2), Local0)
+ m600(arg0, 32, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(m601(1, 6), arg2), Local0)
+ m600(arg0, 33, Local0, 0x01834c6e29af5d7d)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(Derefof(m602(1, 5, 1)), arg2), Local0)
+ m600(arg0, 34, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(Derefof(m602(1, 6, 1)), arg2), Local0)
+ m600(arg0, 35, Local0, 0x01834c6e29af5d7d)
+ }
+
+ Subtract(0, arg2, Local0)
+ m600(arg0, 36, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(1, arg2, Local0)
+ m600(arg0, 37, Local0, 0x01834c6e29af5d7d)
+
+ Subtract(aui5, arg2, Local0)
+ m600(arg0, 38, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(aui6, arg2, Local0)
+ m600(arg0, 39, Local0, 0x01834c6e29af5d7d)
+
+ if (y078) {
+ Subtract(Derefof(Refof(aui5)), arg2, Local0)
+ m600(arg0, 40, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(Derefof(Refof(aui6)), arg2, Local0)
+ m600(arg0, 41, Local0, 0x01834c6e29af5d7d)
+ }
+
+ Subtract(Derefof(Index(paui, 5)), arg2, Local0)
+ m600(arg0, 42, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(Derefof(Index(paui, 6)), arg2, Local0)
+ m600(arg0, 43, Local0, 0x01834c6e29af5d7d)
+
+ // Method returns Integer
+
+ Subtract(m601(1, 5), arg2, Local0)
+ m600(arg0, 44, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(m601(1, 6), arg2, Local0)
+ m600(arg0, 45, Local0, 0x01834c6e29af5d7d)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(Derefof(m602(1, 5, 1)), arg2, Local0)
+ m600(arg0, 46, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(Derefof(m602(1, 6, 1)), arg2, Local0)
+ m600(arg0, 47, Local0, 0x01834c6e29af5d7d)
+ }
+
+ // Conversion of the both operands
+
+ Store(Subtract(arg1, arg2), Local0)
+ m600(arg0, 48, Local0, 0x01834c6e29af609d)
+
+ Store(Subtract(arg2, arg1), Local0)
+ m600(arg0, 49, Local0, 0xfe7cb391d6509f63)
+
+ Subtract(arg1, arg2, Local0)
+ m600(arg0, 50, Local0, 0x01834c6e29af609d)
+
+ Subtract(arg2, arg1, Local0)
+ m600(arg0, 51, Local0, 0xfe7cb391d6509f63)
+ }
+
+ // Subtract, 32-bit
+ Method(m05b, 3)
+ {
+ // Conversion of the first operand
+
+ Store(Subtract(arg2, 0), Local0)
+ m600(arg0, 0, Local0, 0xd650a284)
+
+ Store(Subtract(arg2, 1), Local0)
+ m600(arg0, 1, Local0, 0xd650a283)
+
+ Store(Subtract(arg2, aui5), Local0)
+ m600(arg0, 2, Local0, 0xd650a284)
+
+ Store(Subtract(arg2, aui6), Local0)
+ m600(arg0, 3, Local0, 0xd650a283)
+
+ if (y078) {
+ Store(Subtract(arg2, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xd650a284)
+
+ Store(Subtract(arg2, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xd650a283)
+ }
+
+ Store(Subtract(arg2, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xd650a284)
+
+ Store(Subtract(arg2, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xd650a283)
+
+ // Method returns Integer
+
+ Store(Subtract(arg2, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xd650a284)
+
+ Store(Subtract(arg2, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xd650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(arg2, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xd650a284)
+
+ Store(Subtract(arg2, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xd650a283)
+ }
+
+ Subtract(arg2, 0, Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ Subtract(arg2, 1, Local0)
+ m600(arg0, 13, Local0, 0xd650a283)
+
+ Subtract(arg2, aui5, Local0)
+ m600(arg0, 14, Local0, 0xd650a284)
+
+ Subtract(arg2, aui6, Local0)
+ m600(arg0, 15, Local0, 0xd650a283)
+
+ if (y078) {
+ Subtract(arg2, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xd650a284)
+
+ Subtract(arg2, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xd650a283)
+ }
+
+ Subtract(arg2, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xd650a284)
+
+ Subtract(arg2, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xd650a283)
+
+ // Method returns Integer
+
+ Subtract(arg2, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xd650a284)
+
+ Subtract(arg2, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xd650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(arg2, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xd650a284)
+
+ Subtract(arg2, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xd650a283)
+ }
+
+ // Conversion of the second operand
+
+ Store(Subtract(0, arg2), Local0)
+ m600(arg0, 24, Local0, 0x29af5d7c)
+
+ Store(Subtract(1, arg2), Local0)
+ m600(arg0, 25, Local0, 0x29af5d7d)
+
+ Store(Subtract(aui5, arg2), Local0)
+ m600(arg0, 26, Local0, 0x29af5d7c)
+
+ Store(Subtract(aui6, arg2), Local0)
+ m600(arg0, 27, Local0, 0x29af5d7d)
+
+ if (y078) {
+ Store(Subtract(Derefof(Refof(aui5)), arg2), Local0)
+ m600(arg0, 28, Local0, 0x29af5d7c)
+
+ Store(Subtract(Derefof(Refof(aui6)), arg2), Local0)
+ m600(arg0, 29, Local0, 0x29af5d7d)
+ }
+
+ Store(Subtract(Derefof(Index(paui, 5)), arg2), Local0)
+ m600(arg0, 30, Local0, 0x29af5d7c)
+
+ Store(Subtract(Derefof(Index(paui, 6)), arg2), Local0)
+ m600(arg0, 31, Local0, 0x29af5d7d)
+
+ // Method returns Integer
+
+ Store(Subtract(m601(1, 5), arg2), Local0)
+ m600(arg0, 32, Local0, 0x29af5d7c)
+
+ Store(Subtract(m601(1, 6), arg2), Local0)
+ m600(arg0, 33, Local0, 0x29af5d7d)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(Derefof(m602(1, 5, 1)), arg2), Local0)
+ m600(arg0, 34, Local0, 0x29af5d7c)
+
+ Store(Subtract(Derefof(m602(1, 6, 1)), arg2), Local0)
+ m600(arg0, 35, Local0, 0x29af5d7d)
+ }
+
+ Subtract(0, arg2, Local0)
+ m600(arg0, 36, Local0, 0x29af5d7c)
+
+ Subtract(1, arg2, Local0)
+ m600(arg0, 37, Local0, 0x29af5d7d)
+
+ Subtract(aui5, arg2, Local0)
+ m600(arg0, 38, Local0, 0x29af5d7c)
+
+ Subtract(aui6, arg2, Local0)
+ m600(arg0, 39, Local0, 0x29af5d7d)
+
+ if (y078) {
+ Subtract(Derefof(Refof(aui5)), arg2, Local0)
+ m600(arg0, 40, Local0, 0x29af5d7c)
+
+ Subtract(Derefof(Refof(aui6)), arg2, Local0)
+ m600(arg0, 41, Local0, 0x29af5d7d)
+ }
+
+ Subtract(Derefof(Index(paui, 5)), arg2, Local0)
+ m600(arg0, 42, Local0, 0x29af5d7c)
+
+ Subtract(Derefof(Index(paui, 6)), arg2, Local0)
+ m600(arg0, 43, Local0, 0x29af5d7d)
+
+ // Method returns Integer
+
+ Subtract(m601(1, 5), arg2, Local0)
+ m600(arg0, 44, Local0, 0x29af5d7c)
+
+ Subtract(m601(1, 6), arg2, Local0)
+ m600(arg0, 45, Local0, 0x29af5d7d)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(Derefof(m602(1, 5, 1)), arg2, Local0)
+ m600(arg0, 46, Local0, 0x29af5d7c)
+
+ Subtract(Derefof(m602(1, 6, 1)), arg2, Local0)
+ m600(arg0, 47, Local0, 0x29af5d7d)
+ }
+
+ // Conversion of the both operands
+
+ Store(Subtract(arg1, arg2), Local0)
+ m600(arg0, 48, Local0, 0x29af609d)
+
+ Store(Subtract(arg2, arg1), Local0)
+ m600(arg0, 49, Local0, 0xd6509f63)
+
+ Subtract(arg1, arg2, Local0)
+ m600(arg0, 50, Local0, 0x29af609d)
+
+ Subtract(arg2, arg1, Local0)
+ m600(arg0, 51, Local0, 0xd6509f63)
+ }
+
+ // XOr, common 32-bit/64-bit test
+ Method(m05c, 2)
+ {
+ // Conversion of the first operand
+
+ Store(XOr(arg1, 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(XOr(arg1, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xfffffffffffffcde)
+
+ Store(XOr(arg1, aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(XOr(arg1, auij), Local0)
+ m600(arg0, 3, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ Store(XOr(arg1, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(XOr(arg1, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xfffffffffffffcde)
+ }
+
+ Store(XOr(arg1, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(XOr(arg1, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ Store(XOr(arg1, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(XOr(arg1, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(arg1, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(XOr(arg1, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfffffffffffffcde)
+ }
+
+ XOr(arg1, 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ XOr(arg1, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xfffffffffffffcde)
+
+ XOr(arg1, aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ XOr(arg1, auij, Local0)
+ m600(arg0, 15, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ XOr(arg1, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ XOr(arg1, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xfffffffffffffcde)
+ }
+
+ XOr(arg1, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ XOr(arg1, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ XOr(arg1, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ XOr(arg1, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(arg1, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ XOr(arg1, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfffffffffffffcde)
+ }
+
+ // Conversion of the second operand
+
+ Store(XOr(0, arg1), Local0)
+ m600(arg0, 24, Local0, 0x321)
+
+ Store(XOr(0xffffffffffffffff, arg1), Local0)
+ m600(arg0, 25, Local0, 0xfffffffffffffcde)
+
+ Store(XOr(aui5, arg1), Local0)
+ m600(arg0, 26, Local0, 0x321)
+
+ Store(XOr(auij, arg1), Local0)
+ m600(arg0, 27, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ Store(XOr(Derefof(Refof(aui5)), arg1), Local0)
+ m600(arg0, 28, Local0, 0x321)
+
+ Store(XOr(Derefof(Refof(auij)), arg1), Local0)
+ m600(arg0, 29, Local0, 0xfffffffffffffcde)
+ }
+
+ Store(XOr(Derefof(Index(paui, 5)), arg1), Local0)
+ m600(arg0, 30, Local0, 0x321)
+
+ Store(XOr(Derefof(Index(paui, 19)), arg1), Local0)
+ m600(arg0, 31, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ Store(XOr(m601(1, 5), arg1), Local0)
+ m600(arg0, 32, Local0, 0x321)
+
+ Store(XOr(m601(1, 19), arg1), Local0)
+ m600(arg0, 33, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(Derefof(m602(1, 5, 1)), arg1), Local0)
+ m600(arg0, 34, Local0, 0x321)
+
+ Store(XOr(Derefof(m602(1, 19, 1)), arg1), Local0)
+ m600(arg0, 35, Local0, 0xfffffffffffffcde)
+ }
+
+ XOr(0, arg1, Local0)
+ m600(arg0, 36, Local0, 0x321)
+
+ XOr(0xffffffffffffffff, arg1, Local0)
+ m600(arg0, 37, Local0, 0xfffffffffffffcde)
+
+ XOr(aui5, arg1, Local0)
+ m600(arg0, 38, Local0, 0x321)
+
+ XOr(auij, arg1, Local0)
+ m600(arg0, 39, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ XOr(Derefof(Refof(aui5)), arg1, Local0)
+ m600(arg0, 40, Local0, 0x321)
+
+ XOr(Derefof(Refof(auij)), arg1, Local0)
+ m600(arg0, 41, Local0, 0xfffffffffffffcde)
+ }
+
+ XOr(Derefof(Index(paui, 5)), arg1, Local0)
+ m600(arg0, 42, Local0, 0x321)
+
+ XOr(Derefof(Index(paui, 19)), arg1, Local0)
+ m600(arg0, 43, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ XOr(m601(1, 5), arg1, Local0)
+ m600(arg0, 44, Local0, 0x321)
+
+ XOr(m601(1, 19), arg1, Local0)
+ m600(arg0, 45, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(Derefof(m602(1, 5, 1)), arg1, Local0)
+ m600(arg0, 46, Local0, 0x321)
+
+ XOr(Derefof(m602(1, 19, 1)), arg1, Local0)
+ m600(arg0, 47, Local0, 0xfffffffffffffcde)
+ }
+ }
+
+ // XOr, 64-bit
+ Method(m05d, 3)
+ {
+ // Conversion of the first operand
+
+ Store(XOr(arg2, 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(arg2, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0x01834c6e29af5d7b)
+
+ Store(XOr(arg2, aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(arg2, auij), Local0)
+ m600(arg0, 3, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ Store(XOr(arg2, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(arg2, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Store(XOr(arg2, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(arg2, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ Store(XOr(arg2, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(arg2, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(arg2, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(arg2, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0x01834c6e29af5d7b)
+ }
+
+ XOr(arg2, 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ XOr(arg2, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0x01834c6e29af5d7b)
+
+ XOr(arg2, aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ XOr(arg2, auij, Local0)
+ m600(arg0, 15, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ XOr(arg2, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ XOr(arg2, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0x01834c6e29af5d7b)
+ }
+
+ XOr(arg2, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ XOr(arg2, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ XOr(arg2, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ XOr(arg2, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(arg2, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ XOr(arg2, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0x01834c6e29af5d7b)
+ }
+
+ // Conversion of the second operand
+
+ Store(XOr(0, arg2), Local0)
+ m600(arg0, 24, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(0xffffffffffffffff, arg2), Local0)
+ m600(arg0, 25, Local0, 0x01834c6e29af5d7b)
+
+ Store(XOr(aui5, arg2), Local0)
+ m600(arg0, 26, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(auij, arg2), Local0)
+ m600(arg0, 27, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ Store(XOr(Derefof(Refof(aui5)), arg2), Local0)
+ m600(arg0, 28, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(Refof(auij)), arg2), Local0)
+ m600(arg0, 29, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Store(XOr(Derefof(Index(paui, 5)), arg2), Local0)
+ m600(arg0, 30, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(Index(paui, 19)), arg2), Local0)
+ m600(arg0, 31, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ Store(XOr(m601(1, 5), arg2), Local0)
+ m600(arg0, 32, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(m601(1, 19), arg2), Local0)
+ m600(arg0, 33, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(Derefof(m602(1, 5, 1)), arg2), Local0)
+ m600(arg0, 34, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(m602(1, 19, 1)), arg2), Local0)
+ m600(arg0, 35, Local0, 0x01834c6e29af5d7b)
+ }
+
+ XOr(0, arg2, Local0)
+ m600(arg0, 36, Local0, 0xfe7cb391d650a284)
+
+ XOr(0xffffffffffffffff, arg2, Local0)
+ m600(arg0, 37, Local0, 0x01834c6e29af5d7b)
+
+ XOr(aui5, arg2, Local0)
+ m600(arg0, 38, Local0, 0xfe7cb391d650a284)
+
+ XOr(auij, arg2, Local0)
+ m600(arg0, 39, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ XOr(Derefof(Refof(aui5)), arg2, Local0)
+ m600(arg0, 40, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(Refof(auij)), arg2, Local0)
+ m600(arg0, 41, Local0, 0x01834c6e29af5d7b)
+ }
+
+ XOr(Derefof(Index(paui, 5)), arg2, Local0)
+ m600(arg0, 42, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(Index(paui, 19)), arg2, Local0)
+ m600(arg0, 43, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ XOr(m601(1, 5), arg2, Local0)
+ m600(arg0, 44, Local0, 0xfe7cb391d650a284)
+
+ XOr(m601(1, 19), arg2, Local0)
+ m600(arg0, 45, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(Derefof(m602(1, 5, 1)), arg2, Local0)
+ m600(arg0, 46, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(m602(1, 19, 1)), arg2, Local0)
+ m600(arg0, 47, Local0, 0x01834c6e29af5d7b)
+ }
+
+ // Conversion of the both operands
+
+ Store(XOr(arg1, arg2), Local0)
+ m600(arg0, 48, Local0, 0xfe7cb391d650a1a5)
+
+ Store(XOr(arg2, arg1), Local0)
+ m600(arg0, 49, Local0, 0xfe7cb391d650a1a5)
+
+ XOr(arg1, arg2, Local0)
+ m600(arg0, 50, Local0, 0xfe7cb391d650a1a5)
+
+ XOr(arg2, arg1, Local0)
+ m600(arg0, 51, Local0, 0xfe7cb391d650a1a5)
+ }
+
+ // XOr, 32-bit
+ Method(m05e, 3)
+ {
+ // Conversion of the first operand
+
+ Store(XOr(arg2, 0), Local0)
+ m600(arg0, 0, Local0, 0xd650a284)
+
+ Store(XOr(arg2, 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0x29af5d7b)
+
+ Store(XOr(arg2, aui5), Local0)
+ m600(arg0, 2, Local0, 0xd650a284)
+
+ Store(XOr(arg2, auii), Local0)
+ m600(arg0, 3, Local0, 0x29af5d7b)
+
+ if (y078) {
+ Store(XOr(arg2, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xd650a284)
+
+ Store(XOr(arg2, Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0x29af5d7b)
+ }
+
+ Store(XOr(arg2, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xd650a284)
+
+ Store(XOr(arg2, Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0x29af5d7b)
+
+ // Method returns Integer
+
+ Store(XOr(arg2, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xd650a284)
+
+ Store(XOr(arg2, m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0x29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(arg2, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xd650a284)
+
+ Store(XOr(arg2, Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0x29af5d7b)
+ }
+
+ XOr(arg2, 0, Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ XOr(arg2, 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0x29af5d7b)
+
+ XOr(arg2, aui5, Local0)
+ m600(arg0, 14, Local0, 0xd650a284)
+
+ XOr(arg2, auii, Local0)
+ m600(arg0, 15, Local0, 0x29af5d7b)
+
+ if (y078) {
+ XOr(arg2, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xd650a284)
+
+ XOr(arg2, Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0x29af5d7b)
+ }
+
+ XOr(arg2, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xd650a284)
+
+ XOr(arg2, Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0x29af5d7b)
+
+ // Method returns Integer
+
+ XOr(arg2, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xd650a284)
+
+ XOr(arg2, m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0x29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(arg2, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xd650a284)
+
+ XOr(arg2, Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0x29af5d7b)
+ }
+
+ // Conversion of the second operand
+
+ Store(XOr(0, arg2), Local0)
+ m600(arg0, 24, Local0, 0xd650a284)
+
+ Store(XOr(0xffffffff, arg2), Local0)
+ m600(arg0, 25, Local0, 0x29af5d7b)
+
+ Store(XOr(aui5, arg2), Local0)
+ m600(arg0, 26, Local0, 0xd650a284)
+
+ Store(XOr(auii, arg2), Local0)
+ m600(arg0, 27, Local0, 0x29af5d7b)
+
+ if (y078) {
+ Store(XOr(Derefof(Refof(aui5)), arg2), Local0)
+ m600(arg0, 28, Local0, 0xd650a284)
+
+ Store(XOr(Derefof(Refof(auii)), arg2), Local0)
+ m600(arg0, 29, Local0, 0x29af5d7b)
+ }
+
+ Store(XOr(Derefof(Index(paui, 5)), arg2), Local0)
+ m600(arg0, 30, Local0, 0xd650a284)
+
+ Store(XOr(Derefof(Index(paui, 18)), arg2), Local0)
+ m600(arg0, 31, Local0, 0x29af5d7b)
+
+ // Method returns Integer
+
+ Store(XOr(m601(1, 5), arg2), Local0)
+ m600(arg0, 32, Local0, 0xd650a284)
+
+ Store(XOr(m601(1, 18), arg2), Local0)
+ m600(arg0, 33, Local0, 0x29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(Derefof(m602(1, 5, 1)), arg2), Local0)
+ m600(arg0, 34, Local0, 0xd650a284)
+
+ Store(XOr(Derefof(m602(1, 18, 1)), arg2), Local0)
+ m600(arg0, 35, Local0, 0x29af5d7b)
+ }
+
+ XOr(0, arg2, Local0)
+ m600(arg0, 36, Local0, 0xd650a284)
+
+ XOr(0xffffffff, arg2, Local0)
+ m600(arg0, 37, Local0, 0x29af5d7b)
+
+ XOr(aui5, arg2, Local0)
+ m600(arg0, 38, Local0, 0xd650a284)
+
+ XOr(auii, arg2, Local0)
+ m600(arg0, 39, Local0, 0x29af5d7b)
+
+ if (y078) {
+ XOr(Derefof(Refof(aui5)), arg2, Local0)
+ m600(arg0, 40, Local0, 0xd650a284)
+
+ XOr(Derefof(Refof(auii)), arg2, Local0)
+ m600(arg0, 41, Local0, 0x29af5d7b)
+ }
+
+ XOr(Derefof(Index(paui, 5)), arg2, Local0)
+ m600(arg0, 42, Local0, 0xd650a284)
+
+ XOr(Derefof(Index(paui, 18)), arg2, Local0)
+ m600(arg0, 43, Local0, 0x29af5d7b)
+
+ // Method returns Integer
+
+ XOr(m601(1, 5), arg2, Local0)
+ m600(arg0, 44, Local0, 0xd650a284)
+
+ XOr(m601(1, 18), arg2, Local0)
+ m600(arg0, 45, Local0, 0x29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(Derefof(m602(1, 5, 1)), arg2, Local0)
+ m600(arg0, 46, Local0, 0xd650a284)
+
+ XOr(Derefof(m602(1, 18, 1)), arg2, Local0)
+ m600(arg0, 47, Local0, 0x29af5d7b)
+ }
+
+ // Conversion of the both operands
+
+ Store(XOr(arg1, arg2), Local0)
+ m600(arg0, 48, Local0, 0xd650a1a5)
+
+ Store(XOr(arg2, arg1), Local0)
+ m600(arg0, 49, Local0, 0xd650a1a5)
+
+ XOr(arg1, arg2, Local0)
+ m600(arg0, 50, Local0, 0xd650a1a5)
+
+ XOr(arg2, arg1, Local0)
+ m600(arg0, 51, Local0, 0xd650a1a5)
+ }
+
+ // Add, And, Divide, Mod, Multiply, NAnd, NOr, Or,
+ // ShiftLeft, ShiftRight, Subtract, Xor
+
+ Method(m64n, 1)
+ {
+ // Add
+ Concatenate(arg0, "-m03b", Local0)
+ SRMT(Local0)
+ m03b(Local0, Buffer(3){0x21, 0x03, 0x00})
+ Concatenate(arg0, "-m03c", Local0)
+ SRMT(Local0)
+ m03c(Local0, Buffer(3){0x21, 0x03, 0x00},
+ Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5})
+
+ // And
+ Concatenate(arg0, "-m03e", Local0)
+ SRMT(Local0)
+ m03e(Local0, Buffer(3){0x21, 0x03, 0x00})
+ Concatenate(arg0, "-m03f", Local0)
+ SRMT(Local0)
+ m03f(Local0, Buffer(3){0x21, 0x03, 0x00},
+ Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5})
+
+ // Divide
+ Concatenate(arg0, "-m041", Local0)
+ SRMT(Local0)
+ m041(Local0, Buffer(3){0x21, 0x03, 0x00})
+ Concatenate(arg0, "-m042", Local0)
+ SRMT(Local0)
+ m042(Local0, Buffer(3){0x21, 0x03, 0x00},
+ Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5})
+
+ // Mod
+ Concatenate(arg0, "-m044", Local0)
+ SRMT(Local0)
+ m044(Local0, Buffer(3){0x21, 0x03, 0x00})
+ Concatenate(arg0, "-m045", Local0)
+ SRMT(Local0)
+ m045(Local0, Buffer(3){0x21, 0x03, 0x00},
+ Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5})
+
+ // Multiply
+ Concatenate(arg0, "-m047", Local0)
+ SRMT(Local0)
+ m047(Local0, Buffer(3){0x21, 0x03, 0x00})
+ Concatenate(arg0, "-m048", Local0)
+ SRMT(Local0)
+ m048(Local0, Buffer(3){0x21, 0x03, 0x00},
+ Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5})
+
+ // NAnd
+ Concatenate(arg0, "-m04a", Local0)
+ SRMT(Local0)
+ m04a(Local0, Buffer(3){0x21, 0x03, 0x00})
+ Concatenate(arg0, "-m04b", Local0)
+ SRMT(Local0)
+ m04b(Local0, Buffer(3){0x21, 0x03, 0x00},
+ Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5})
+
+ // NOr
+ Concatenate(arg0, "-m04d", Local0)
+ SRMT(Local0)
+ m04d(Local0, Buffer(3){0x21, 0x03, 0x00})
+ Concatenate(arg0, "-m04e", Local0)
+ SRMT(Local0)
+ m04e(Local0, Buffer(3){0x21, 0x03, 0x00},
+ Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5})
+
+ // Or
+ Concatenate(arg0, "-m050", Local0)
+ SRMT(Local0)
+ m050(Local0, Buffer(3){0x21, 0x03, 0x00})
+ Concatenate(arg0, "-m051", Local0)
+ SRMT(Local0)
+ m051(Local0, Buffer(3){0x21, 0x03, 0x00},
+ Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5})
+
+ // ShiftLeft
+ Concatenate(arg0, "-m053", Local0)
+ SRMT(Local0)
+ m053(Local0, Buffer(3){0x21, 0x03, 0x00},
+ Buffer(1){0xb})
+ Concatenate(arg0, "-m054", Local0)
+ SRMT(Local0)
+ m054(Local0, Buffer(3){0x21, 0x03, 0x00},
+ Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5},
+ Buffer(1){0xb})
+
+ // ShiftRight
+ Concatenate(arg0, "-m056", Local0)
+ SRMT(Local0)
+ m056(Local0, Buffer(3){0x21, 0x03, 0x00},
+ Buffer(1){0xb})
+ Concatenate(arg0, "-m057", Local0)
+ SRMT(Local0)
+ m057(Local0, Buffer(3){0x21, 0x03, 0x00},
+ Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5},
+ Buffer(1){0xb})
+
+ // Subtract
+ Concatenate(arg0, "-m059", Local0)
+ SRMT(Local0)
+ m059(Local0, Buffer(3){0x21, 0x03, 0x00})
+ Concatenate(arg0, "-m05a", Local0)
+ SRMT(Local0)
+ m05a(Local0, Buffer(3){0x21, 0x03, 0x00},
+ Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5})
+
+ // XOr
+ Concatenate(arg0, "-m05c", Local0)
+ SRMT(Local0)
+ m05c(Local0, Buffer(3){0x21, 0x03, 0x00})
+ Concatenate(arg0, "-m05d", Local0)
+ SRMT(Local0)
+ m05d(Local0, Buffer(3){0x21, 0x03, 0x00},
+ Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5})
+ }
+
+ Method(m32n, 1)
+ {
+ // Add
+ Concatenate(arg0, "-m03b", Local0)
+ SRMT(Local0)
+ m03b(Local0, Buffer(3){0x21, 0x03, 0x00})
+ Concatenate(arg0, "-m03d", Local0)
+ SRMT(Local0)
+ m03d(Local0, Buffer(3){0x21, 0x03, 0x00},
+ Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5})
+
+ // And
+ Concatenate(arg0, "-m03e", Local0)
+ SRMT(Local0)
+ m03e(Local0, Buffer(3){0x21, 0x03, 0x00})
+ Concatenate(arg0, "-m040", Local0)
+ SRMT(Local0)
+ m040(Local0, Buffer(3){0x21, 0x03, 0x00},
+ Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5})
+
+ // Divide
+ Concatenate(arg0, "-m041", Local0)
+ SRMT(Local0)
+ m041(Local0, Buffer(3){0x21, 0x03, 0x00})
+ Concatenate(arg0, "-m043", Local0)
+ SRMT(Local0)
+ m043(Local0, Buffer(3){0x21, 0x03, 0x00},
+ Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5})
+
+ // Mod
+ Concatenate(arg0, "-m044", Local0)
+ SRMT(Local0)
+ m044(Local0, Buffer(3){0x21, 0x03, 0x00})
+ Concatenate(arg0, "-m046", Local0)
+ SRMT(Local0)
+ m046(Local0, Buffer(3){0x21, 0x03, 0x00},
+ Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5})
+
+ // Multiply
+ Concatenate(arg0, "-m047", Local0)
+ SRMT(Local0)
+ m047(Local0, Buffer(3){0x21, 0x03, 0x00})
+ Concatenate(arg0, "-m049", Local0)
+ SRMT(Local0)
+ m049(Local0, Buffer(3){0x21, 0x03, 0x00},
+ Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5})
+
+ // NAnd
+ Concatenate(arg0, "-m04a", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m04a(Local0, Buffer(3){0x21, 0x03, 0x00})
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m04c", Local0)
+ SRMT(Local0)
+ m04c(Local0, Buffer(3){0x21, 0x03, 0x00},
+ Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5})
+
+ // NOr
+ Concatenate(arg0, "-m04d", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m04d(Local0, Buffer(3){0x21, 0x03, 0x00})
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m04f", Local0)
+ SRMT(Local0)
+ m04f(Local0, Buffer(3){0x21, 0x03, 0x00},
+ Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5})
+
+ // Or
+ Concatenate(arg0, "-m050", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m050(Local0, Buffer(3){0x21, 0x03, 0x00})
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m052", Local0)
+ SRMT(Local0)
+ m052(Local0, Buffer(3){0x21, 0x03, 0x00},
+ Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5})
+
+ // ShiftLeft
+ Concatenate(arg0, "-m053", Local0)
+ SRMT(Local0)
+ m053(Local0, Buffer(3){0x21, 0x03, 0x00},
+ Buffer(1){0xb})
+ Concatenate(arg0, "-m055", Local0)
+ SRMT(Local0)
+ m055(Local0, Buffer(3){0x21, 0x03, 0x00},
+ Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5},
+ Buffer(1){0xb})
+
+ // ShiftRight
+ Concatenate(arg0, "-m056", Local0)
+ SRMT(Local0)
+ m056(Local0, Buffer(3){0x21, 0x03, 0x00},
+ Buffer(1){0xb})
+ Concatenate(arg0, "-m058", Local0)
+ SRMT(Local0)
+ m058(Local0, Buffer(3){0x21, 0x03, 0x00},
+ Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5},
+ Buffer(1){0xb})
+
+ // Subtract
+ Concatenate(arg0, "-m059", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m059(Local0, Buffer(3){0x21, 0x03, 0x00})
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m05b", Local0)
+ SRMT(Local0)
+ m05b(Local0, Buffer(3){0x21, 0x03, 0x00},
+ Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5})
+
+ // XOr
+ Concatenate(arg0, "-m05c", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m05c(Local0, Buffer(3){0x21, 0x03, 0x00})
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m05e", Local0)
+ SRMT(Local0)
+ m05e(Local0, Buffer(3){0x21, 0x03, 0x00},
+ Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5})
+ }
+
+
+ // Buffer to Integer conversion of each Buffer operand
+ // of the 2-parameter Logical Integer operators LAnd and LOr
+
+ // LAnd, common 32-bit/64-bit test
+ Method(m05f, 2)
+ {
+ // Conversion of the first operand
+
+ Store(LAnd(arg1, 0), Local0)
+ m600(arg0, 0, Local0, Zero)
+
+ Store(LAnd(arg1, 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(LAnd(arg1, aui5), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LAnd(arg1, aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(arg1, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LAnd(arg1, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(LAnd(arg1, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Zero)
+
+ Store(LAnd(arg1, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(arg1, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Zero)
+
+ Store(LAnd(arg1, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(arg1, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LAnd(arg1, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(LAnd(0, arg1), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LAnd(1, arg1), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LAnd(aui5, arg1), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LAnd(aui6, arg1), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(Derefof(Refof(aui5)), arg1), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(aui6)), arg1), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(LAnd(Derefof(Index(paui, 5)), arg1), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LAnd(Derefof(Index(paui, 6)), arg1), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(m601(1, 5), arg1), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LAnd(m601(1, 6), arg1), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(Derefof(m602(1, 5, 1)), arg1), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LAnd(Derefof(m602(1, 6, 1)), arg1), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+ }
+
+ // LAnd, 64-bit
+ Method(m060, 3)
+ {
+ // Conversion of the first operand
+
+ Store(LAnd(arg2, 0), Local0)
+ m600(arg0, 0, Local0, Zero)
+
+ Store(LAnd(arg2, 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(LAnd(arg2, aui5), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LAnd(arg2, aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(arg2, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LAnd(arg2, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(LAnd(arg2, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Zero)
+
+ Store(LAnd(arg2, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(arg2, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Zero)
+
+ Store(LAnd(arg2, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(arg2, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LAnd(arg2, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(LAnd(0, arg2), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LAnd(1, arg2), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LAnd(aui5, arg2), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LAnd(aui6, arg2), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(Derefof(Refof(aui5)), arg2), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(aui6)), arg2), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(LAnd(Derefof(Index(paui, 5)), arg2), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LAnd(Derefof(Index(paui, 6)), arg2), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(m601(1, 5), arg2), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LAnd(m601(1, 6), arg2), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(Derefof(m602(1, 5, 1)), arg2), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LAnd(Derefof(m602(1, 6, 1)), arg2), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+
+ // Conversion of the both operands
+
+ Store(LAnd(arg1, arg2), Local0)
+ m600(arg0, 24, Local0, Ones)
+
+ Store(LAnd(arg2, arg1), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // LAnd, 32-bit
+ Method(m061, 3)
+ {
+ // Conversion of the first operand
+
+ Store(LAnd(arg2, 0), Local0)
+ m600(arg0, 0, Local0, Zero)
+
+ Store(LAnd(arg2, 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(LAnd(arg2, aui5), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LAnd(arg2, aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(arg2, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LAnd(arg2, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(LAnd(arg2, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Zero)
+
+ Store(LAnd(arg2, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(arg2, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Zero)
+
+ Store(LAnd(arg2, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(arg2, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LAnd(arg2, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(LAnd(0, arg2), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LAnd(1, arg2), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LAnd(aui5, arg2), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LAnd(aui6, arg2), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(Derefof(Refof(aui5)), arg2), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(aui6)), arg2), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(LAnd(Derefof(Index(paui, 5)), arg2), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LAnd(Derefof(Index(paui, 6)), arg2), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(m601(1, 5), arg2), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LAnd(m601(1, 6), arg2), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(Derefof(m602(1, 5, 1)), arg2), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LAnd(Derefof(m602(1, 6, 1)), arg2), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+
+ // Conversion of the both operands
+
+ Store(LAnd(arg1, arg2), Local0)
+ m600(arg0, 24, Local0, Ones)
+
+ Store(LAnd(arg2, arg1), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // Lor, common 32-bit/64-bit test
+ Method(m062, 2)
+ {
+ // Conversion of the first operand
+
+ Store(Lor(arg1, 0), Local0)
+ m600(arg0, 0, Local0, Zero)
+
+ Store(Lor(arg1, 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(Lor(arg1, aui5), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(Lor(arg1, aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(arg1, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(Lor(arg1, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(Lor(arg1, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Zero)
+
+ Store(Lor(arg1, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(arg1, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Zero)
+
+ Store(Lor(arg1, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(arg1, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(Lor(arg1, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(Lor(0, arg1), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(Lor(1, arg1), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(Lor(aui5, arg1), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(Lor(aui6, arg1), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(Derefof(Refof(aui5)), arg1), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(Lor(Derefof(Refof(aui6)), arg1), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(Lor(Derefof(Index(paui, 5)), arg1), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(Lor(Derefof(Index(paui, 6)), arg1), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(m601(1, 5), arg1), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(Lor(m601(1, 6), arg1), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(Derefof(m602(1, 5, 1)), arg1), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(Lor(Derefof(m602(1, 6, 1)), arg1), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+ }
+
+ // Lor, 64-bit
+ Method(m063, 3)
+ {
+ // Conversion of the first operand
+
+ Store(Lor(arg1, 0), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(Lor(arg1, 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(Lor(arg1, aui5), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(Lor(arg1, aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(arg1, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(Lor(arg1, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(Lor(arg1, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(Lor(arg1, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(arg1, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(Lor(arg1, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(arg1, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(Lor(arg1, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(Lor(0, arg1), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(Lor(1, arg1), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(Lor(aui5, arg1), Local0)
+ m600(arg0, 14, Local0, Ones)
+
+ Store(Lor(aui6, arg1), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(Derefof(Refof(aui5)), arg1), Local0)
+ m600(arg0, 16, Local0, Ones)
+
+ Store(Lor(Derefof(Refof(aui6)), arg1), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(Lor(Derefof(Index(paui, 5)), arg1), Local0)
+ m600(arg0, 18, Local0, Ones)
+
+ Store(Lor(Derefof(Index(paui, 6)), arg1), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(m601(1, 5), arg1), Local0)
+ m600(arg0, 20, Local0, Ones)
+
+ Store(Lor(m601(1, 6), arg1), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(Derefof(m602(1, 5, 1)), arg1), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(Lor(Derefof(m602(1, 6, 1)), arg1), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+
+ // Conversion of the both operands
+
+ Store(Lor(arg2, arg1), Local0)
+ m600(arg0, 24, Local0, Ones)
+
+ Store(Lor(arg1, arg2), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // Lor, 32-bit
+ Method(m064, 3)
+ {
+ // Conversion of the first operand
+
+ Store(Lor(arg1, 0), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(Lor(arg1, 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(Lor(arg1, aui5), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(Lor(arg1, aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(arg1, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(Lor(arg1, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(Lor(arg1, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(Lor(arg1, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(arg1, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(Lor(arg1, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(arg1, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(Lor(arg1, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(Lor(0, arg1), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(Lor(1, arg1), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(Lor(aui5, arg1), Local0)
+ m600(arg0, 14, Local0, Ones)
+
+ Store(Lor(aui6, arg1), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(Derefof(Refof(aui5)), arg1), Local0)
+ m600(arg0, 16, Local0, Ones)
+
+ Store(Lor(Derefof(Refof(aui6)), arg1), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(Lor(Derefof(Index(paui, 5)), arg1), Local0)
+ m600(arg0, 18, Local0, Ones)
+
+ Store(Lor(Derefof(Index(paui, 6)), arg1), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(m601(1, 5), arg1), Local0)
+ m600(arg0, 20, Local0, Ones)
+
+ Store(Lor(m601(1, 6), arg1), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(Derefof(m602(1, 5, 1)), arg1), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(Lor(Derefof(m602(1, 6, 1)), arg1), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+
+ // Conversion of the both operands
+
+ Store(Lor(arg2, arg1), Local0)
+ m600(arg0, 24, Local0, Ones)
+
+ Store(Lor(arg1, arg2), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ Method(m64o, 1)
+ {
+ // LAnd
+ Concatenate(arg0, "-m05f", Local0)
+ SRMT(Local0)
+ m05f(Local0, Buffer(3){0x21, 0x03, 0x00})
+ Concatenate(arg0, "-m060", Local0)
+ SRMT(Local0)
+ m060(Local0, Buffer(3){0x21, 0x03, 0x00},
+ Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5})
+
+ // LOr
+ Concatenate(arg0, "-m062", Local0)
+ SRMT(Local0)
+ m062(Local0, Buffer(1){0x00})
+ Concatenate(arg0, "-m063", Local0)
+ SRMT(Local0)
+ m063(Local0,
+ Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5},
+ Buffer(1){0x00})
+ }
+
+ Method(m32o, 1)
+ {
+ // LAnd
+ Concatenate(arg0, "-m05f", Local0)
+ SRMT(Local0)
+ m05f(Local0, Buffer(3){0x21, 0x03, 0x00})
+ Concatenate(arg0, "-m061", Local0)
+ SRMT(Local0)
+ m061(Local0, Buffer(3){0x21, 0x03, 0x00},
+ Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5})
+
+ // LOr
+ Concatenate(arg0, "-m062", Local0)
+ SRMT(Local0)
+ m062(Local0, Buffer(1){0x00})
+ Concatenate(arg0, "-m064", Local0)
+ SRMT(Local0)
+ m064(Local0,
+ Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5},
+ Buffer(1){0x00})
+ }
+
+
+ // Buffer to Integer conversion of the Buffer second operand of
+ // Logical operators when the first operand is evaluated as Integer
+ // (LEqual, LGreater, LGreaterEqual, LLess, LLessEqual, LNotEqual)
+
+ Method(m64p, 2)
+ {
+ // LEqual
+
+ Store(LEqual(0xfe7cb391d650a284, arg1), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual(0xfe7cb391d650a285, arg1), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(0xfe7cb391d650a283, arg1), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LEqual(aui4, arg1), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ Store(LEqual(auid, arg1), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LEqual(auif, arg1), Local0)
+ m600(arg0, 5, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aui4)), arg1), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(auid)), arg1), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ Store(LEqual(Derefof(Refof(auif)), arg1), Local0)
+ m600(arg0, 8, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paui, 4)), arg1), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paui, 13)), arg1), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LEqual(Derefof(Index(paui, 15)), arg1), Local0)
+ m600(arg0, 11, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LEqual(m601(1, 4), arg1), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(LEqual(m601(1, 13), arg1), Local0)
+ m600(arg0, 13, Local0, Zero)
+
+ Store(LEqual(m601(1, 15), arg1), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(1, 4, 1)), arg1), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(1, 13, 1)), arg1), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LEqual(Derefof(m602(1, 15, 1)), arg1), Local0)
+ m600(arg0, 17, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater(0xfe7cb391d650a284, arg1), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(0xfe7cb391d650a285, arg1), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ Store(LGreater(0xfe7cb391d650a283, arg1), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(aui4, arg1), Local0)
+ m600(arg0, 21, Local0, Zero)
+
+ Store(LGreater(auid, arg1), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(LGreater(auif, arg1), Local0)
+ m600(arg0, 23, Local0, Zero)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aui4)), arg1), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(auid)), arg1), Local0)
+ m600(arg0, 25, Local0, Ones)
+
+ Store(LGreater(Derefof(Refof(auif)), arg1), Local0)
+ m600(arg0, 26, Local0, Zero)
+ }
+
+ Store(LGreater(Derefof(Index(paui, 4)), arg1), Local0)
+ m600(arg0, 27, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paui, 13)), arg1), Local0)
+ m600(arg0, 28, Local0, Ones)
+
+ Store(LGreater(Derefof(Index(paui, 15)), arg1), Local0)
+ m600(arg0, 29, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreater(m601(1, 4), arg1), Local0)
+ m600(arg0, 30, Local0, Zero)
+
+ Store(LGreater(m601(1, 13), arg1), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ Store(LGreater(m601(1, 15), arg1), Local0)
+ m600(arg0, 32, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(1, 4, 1)), arg1), Local0)
+ m600(arg0, 33, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(1, 13, 1)), arg1), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreater(Derefof(m602(1, 15, 1)), arg1), Local0)
+ m600(arg0, 35, Local0, Zero)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual(0xfe7cb391d650a284, arg1), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(0xfe7cb391d650a285, arg1), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ Store(LGreaterEqual(0xfe7cb391d650a283, arg1), Local0)
+ m600(arg0, 38, Local0, Zero)
+
+ Store(LGreaterEqual(aui4, arg1), Local0)
+ m600(arg0, 39, Local0, Ones)
+
+ Store(LGreaterEqual(auid, arg1), Local0)
+ m600(arg0, 40, Local0, Ones)
+
+ Store(LGreaterEqual(auif, arg1), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aui4)), arg1), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auid)), arg1), Local0)
+ m600(arg0, 43, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auif)), arg1), Local0)
+ m600(arg0, 44, Local0, Zero)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paui, 4)), arg1), Local0)
+ m600(arg0, 45, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 13)), arg1), Local0)
+ m600(arg0, 46, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 15)), arg1), Local0)
+ m600(arg0, 47, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreaterEqual(m601(1, 4), arg1), Local0)
+ m600(arg0, 48, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 13), arg1), Local0)
+ m600(arg0, 49, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 15), arg1), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(1, 4, 1)), arg1), Local0)
+ m600(arg0, 51, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 13, 1)), arg1), Local0)
+ m600(arg0, 52, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 15, 1)), arg1), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLess
+
+ Store(LLess(0xfe7cb391d650a284, arg1), Local0)
+ m600(arg0, 54, Local0, Zero)
+
+ Store(LLess(0xfe7cb391d650a285, arg1), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLess(0xfe7cb391d650a283, arg1), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLess(aui4, arg1), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLess(auid, arg1), Local0)
+ m600(arg0, 58, Local0, Zero)
+
+ Store(LLess(auif, arg1), Local0)
+ m600(arg0, 59, Local0, Ones)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aui4)), arg1), Local0)
+ m600(arg0, 60, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auid)), arg1), Local0)
+ m600(arg0, 61, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auif)), arg1), Local0)
+ m600(arg0, 62, Local0, Ones)
+ }
+
+ Store(LLess(Derefof(Index(paui, 4)), arg1), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 13)), arg1), Local0)
+ m600(arg0, 64, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 15)), arg1), Local0)
+ m600(arg0, 65, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLess(m601(1, 4), arg1), Local0)
+ m600(arg0, 66, Local0, Zero)
+
+ Store(LLess(m601(1, 13), arg1), Local0)
+ m600(arg0, 67, Local0, Zero)
+
+ Store(LLess(m601(1, 15), arg1), Local0)
+ m600(arg0, 68, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLess(Derefof(m602(1, 4, 1)), arg1), Local0)
+ m600(arg0, 69, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 13, 1)), arg1), Local0)
+ m600(arg0, 70, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 15, 1)), arg1), Local0)
+ m600(arg0, 71, Local0, Ones)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual(0xfe7cb391d650a284, arg1), Local0)
+ m600(arg0, 72, Local0, Ones)
+
+ Store(LLessEqual(0xfe7cb391d650a285, arg1), Local0)
+ m600(arg0, 73, Local0, Zero)
+
+ Store(LLessEqual(0xfe7cb391d650a283, arg1), Local0)
+ m600(arg0, 74, Local0, Ones)
+
+ Store(LLessEqual(aui4, arg1), Local0)
+ m600(arg0, 75, Local0, Ones)
+
+ Store(LLessEqual(auid, arg1), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LLessEqual(auif, arg1), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aui4)), arg1), Local0)
+ m600(arg0, 78, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(auid)), arg1), Local0)
+ m600(arg0, 79, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Refof(auif)), arg1), Local0)
+ m600(arg0, 80, Local0, Ones)
+ }
+
+ Store(LLessEqual(Derefof(Index(paui, 4)), arg1), Local0)
+ m600(arg0, 81, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paui, 13)), arg1), Local0)
+ m600(arg0, 82, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Index(paui, 15)), arg1), Local0)
+ m600(arg0, 83, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLessEqual(m601(1, 4), arg1), Local0)
+ m600(arg0, 84, Local0, Ones)
+
+ Store(LLessEqual(m601(1, 13), arg1), Local0)
+ m600(arg0, 85, Local0, Zero)
+
+ Store(LLessEqual(m601(1, 15), arg1), Local0)
+ m600(arg0, 86, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(1, 4, 1)), arg1), Local0)
+ m600(arg0, 87, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(1, 13, 1)), arg1), Local0)
+ m600(arg0, 88, Local0, Zero)
+
+ Store(LLessEqual(Derefof(m602(1, 15, 1)), arg1), Local0)
+ m600(arg0, 89, Local0, Ones)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual(0xfe7cb391d650a284, arg1), Local0)
+ m600(arg0, 90, Local0, Zero)
+
+ Store(LNotEqual(0xfe7cb391d650a285, arg1), Local0)
+ m600(arg0, 91, Local0, Ones)
+
+ Store(LNotEqual(0xfe7cb391d650a283, arg1), Local0)
+ m600(arg0, 92, Local0, Ones)
+
+ Store(LNotEqual(aui4, arg1), Local0)
+ m600(arg0, 93, Local0, Zero)
+
+ Store(LNotEqual(auid, arg1), Local0)
+ m600(arg0, 94, Local0, Ones)
+
+ Store(LNotEqual(auif, arg1), Local0)
+ m600(arg0, 95, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aui4)), arg1), Local0)
+ m600(arg0, 96, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(auid)), arg1), Local0)
+ m600(arg0, 97, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Refof(auif)), arg1), Local0)
+ m600(arg0, 98, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paui, 4)), arg1), Local0)
+ m600(arg0, 99, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paui, 13)), arg1), Local0)
+ m600(arg0, 100, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Index(paui, 15)), arg1), Local0)
+ m600(arg0, 101, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LNotEqual(m601(1, 4), arg1), Local0)
+ m600(arg0, 102, Local0, Zero)
+
+ Store(LNotEqual(m601(1, 13), arg1), Local0)
+ m600(arg0, 103, Local0, Ones)
+
+ Store(LNotEqual(m601(1, 15), arg1), Local0)
+ m600(arg0, 104, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(1, 4, 1)), arg1), Local0)
+ m600(arg0, 105, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(1, 13, 1)), arg1), Local0)
+ m600(arg0, 106, Local0, Ones)
+
+ Store(LNotEqual(Derefof(m602(1, 15, 1)), arg1), Local0)
+ m600(arg0, 107, Local0, Ones)
+ }
+ }
+
+ Method(m32p, 2)
+ {
+ // LEqual
+
+ Store(LEqual(0xd650a284, arg1), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual(0xd650a285, arg1), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(0xd650a283, arg1), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LEqual(auik, arg1), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ Store(LEqual(auil, arg1), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LEqual(auim, arg1), Local0)
+ m600(arg0, 5, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(auik)), arg1), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(auil)), arg1), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ Store(LEqual(Derefof(Refof(auim)), arg1), Local0)
+ m600(arg0, 8, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paui, 20)), arg1), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paui, 21)), arg1), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LEqual(Derefof(Index(paui, 22)), arg1), Local0)
+ m600(arg0, 11, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LEqual(m601(1, 20), arg1), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(LEqual(m601(1, 21), arg1), Local0)
+ m600(arg0, 13, Local0, Zero)
+
+ Store(LEqual(m601(1, 22), arg1), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(1, 20, 1)), arg1), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LEqual(Derefof(m601(1, 21, 1)), arg1), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LEqual(Derefof(m601(1, 22, 1)), arg1), Local0)
+ m600(arg0, 17, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater(0xd650a284, arg1), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(0xd650a285, arg1), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ Store(LGreater(0xd650a283, arg1), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(auik, arg1), Local0)
+ m600(arg0, 21, Local0, Zero)
+
+ Store(LGreater(auil, arg1), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(LGreater(auim, arg1), Local0)
+ m600(arg0, 23, Local0, Zero)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(auik)), arg1), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(auil)), arg1), Local0)
+ m600(arg0, 25, Local0, Ones)
+
+ Store(LGreater(Derefof(Refof(auim)), arg1), Local0)
+ m600(arg0, 26, Local0, Zero)
+ }
+
+ Store(LGreater(Derefof(Index(paui, 20)), arg1), Local0)
+ m600(arg0, 27, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paui, 21)), arg1), Local0)
+ m600(arg0, 28, Local0, Ones)
+
+ Store(LGreater(Derefof(Index(paui, 22)), arg1), Local0)
+ m600(arg0, 29, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreater(m601(1, 20), arg1), Local0)
+ m600(arg0, 30, Local0, Zero)
+
+ Store(LGreater(m601(1, 21), arg1), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ Store(LGreater(m601(1, 22), arg1), Local0)
+ m600(arg0, 32, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(1, 20, 1)), arg1), Local0)
+ m600(arg0, 33, Local0, Zero)
+
+ Store(LGreater(Derefof(m601(1, 21, 1)), arg1), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreater(Derefof(m601(1, 22, 1)), arg1), Local0)
+ m600(arg0, 35, Local0, Zero)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual(0xd650a284, arg1), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(0xd650a285, arg1), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ Store(LGreaterEqual(0xd650a283, arg1), Local0)
+ m600(arg0, 38, Local0, Zero)
+
+ Store(LGreaterEqual(auik, arg1), Local0)
+ m600(arg0, 39, Local0, Ones)
+
+ Store(LGreaterEqual(auil, arg1), Local0)
+ m600(arg0, 40, Local0, Ones)
+
+ Store(LGreaterEqual(auim, arg1), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(auik)), arg1), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auil)), arg1), Local0)
+ m600(arg0, 43, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auim)), arg1), Local0)
+ m600(arg0, 44, Local0, Zero)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paui, 20)), arg1), Local0)
+ m600(arg0, 45, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 21)), arg1), Local0)
+ m600(arg0, 46, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 22)), arg1), Local0)
+ m600(arg0, 47, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreaterEqual(m601(1, 20), arg1), Local0)
+ m600(arg0, 48, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 21), arg1), Local0)
+ m600(arg0, 49, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 22), arg1), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(1, 20, 1)), arg1), Local0)
+ m600(arg0, 51, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m601(1, 21, 1)), arg1), Local0)
+ m600(arg0, 52, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m601(1, 22, 1)), arg1), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLess
+
+ Store(LLess(0xd650a284, arg1), Local0)
+ m600(arg0, 54, Local0, Zero)
+
+ Store(LLess(0xd650a285, arg1), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLess(0xd650a283, arg1), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLess(auik, arg1), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLess(auil, arg1), Local0)
+ m600(arg0, 58, Local0, Zero)
+
+ Store(LLess(auim, arg1), Local0)
+ m600(arg0, 59, Local0, Ones)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(auik)), arg1), Local0)
+ m600(arg0, 60, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auil)), arg1), Local0)
+ m600(arg0, 61, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auim)), arg1), Local0)
+ m600(arg0, 62, Local0, Ones)
+ }
+
+ Store(LLess(Derefof(Index(paui, 20)), arg1), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 21)), arg1), Local0)
+ m600(arg0, 64, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 22)), arg1), Local0)
+ m600(arg0, 65, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLess(m601(1, 20), arg1), Local0)
+ m600(arg0, 66, Local0, Zero)
+
+ Store(LLess(m601(1, 21), arg1), Local0)
+ m600(arg0, 67, Local0, Zero)
+
+ Store(LLess(m601(1, 22), arg1), Local0)
+ m600(arg0, 68, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLess(Derefof(m602(1, 20, 1)), arg1), Local0)
+ m600(arg0, 69, Local0, Zero)
+
+ Store(LLess(Derefof(m601(1, 21, 1)), arg1), Local0)
+ m600(arg0, 70, Local0, Zero)
+
+ Store(LLess(Derefof(m601(1, 22, 1)), arg1), Local0)
+ m600(arg0, 71, Local0, Ones)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual(0xd650a284, arg1), Local0)
+ m600(arg0, 72, Local0, Ones)
+
+ Store(LLessEqual(0xd650a285, arg1), Local0)
+ m600(arg0, 73, Local0, Zero)
+
+ Store(LLessEqual(0xd650a283, arg1), Local0)
+ m600(arg0, 74, Local0, Ones)
+
+ Store(LLessEqual(auik, arg1), Local0)
+ m600(arg0, 75, Local0, Ones)
+
+ Store(LLessEqual(auil, arg1), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LLessEqual(auim, arg1), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(auik)), arg1), Local0)
+ m600(arg0, 78, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(auil)), arg1), Local0)
+ m600(arg0, 79, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Refof(auim)), arg1), Local0)
+ m600(arg0, 80, Local0, Ones)
+ }
+
+ Store(LLessEqual(Derefof(Index(paui, 20)), arg1), Local0)
+ m600(arg0, 81, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paui, 21)), arg1), Local0)
+ m600(arg0, 82, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Index(paui, 22)), arg1), Local0)
+ m600(arg0, 83, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLessEqual(m601(1, 20), arg1), Local0)
+ m600(arg0, 84, Local0, Ones)
+
+ Store(LLessEqual(m601(1, 21), arg1), Local0)
+ m600(arg0, 85, Local0, Zero)
+
+ Store(LLessEqual(m601(1, 22), arg1), Local0)
+ m600(arg0, 86, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(1, 20, 1)), arg1), Local0)
+ m600(arg0, 87, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m601(1, 21, 1)), arg1), Local0)
+ m600(arg0, 88, Local0, Zero)
+
+ Store(LLessEqual(Derefof(m601(1, 22, 1)), arg1), Local0)
+ m600(arg0, 89, Local0, Ones)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual(0xd650a284, arg1), Local0)
+ m600(arg0, 90, Local0, Zero)
+
+ Store(LNotEqual(0xd650a285, arg1), Local0)
+ m600(arg0, 91, Local0, Ones)
+
+ Store(LNotEqual(0xd650a283, arg1), Local0)
+ m600(arg0, 92, Local0, Ones)
+
+ Store(LNotEqual(auik, arg1), Local0)
+ m600(arg0, 93, Local0, Zero)
+
+ Store(LNotEqual(auil, arg1), Local0)
+ m600(arg0, 94, Local0, Ones)
+
+ Store(LNotEqual(auim, arg1), Local0)
+ m600(arg0, 95, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(auik)), arg1), Local0)
+ m600(arg0, 96, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(auil)), arg1), Local0)
+ m600(arg0, 97, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Refof(auim)), arg1), Local0)
+ m600(arg0, 98, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paui, 20)), arg1), Local0)
+ m600(arg0, 99, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paui, 21)), arg1), Local0)
+ m600(arg0, 100, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Index(paui, 22)), arg1), Local0)
+ m600(arg0, 101, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LNotEqual(m601(1, 20), arg1), Local0)
+ m600(arg0, 102, Local0, Zero)
+
+ Store(LNotEqual(m601(1, 21), arg1), Local0)
+ m600(arg0, 103, Local0, Ones)
+
+ Store(LNotEqual(m601(1, 22), arg1), Local0)
+ m600(arg0, 104, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(1, 20, 1)), arg1), Local0)
+ m600(arg0, 105, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m601(1, 21, 1)), arg1), Local0)
+ m600(arg0, 106, Local0, Ones)
+
+ Store(LNotEqual(Derefof(m601(1, 22, 1)), arg1), Local0)
+ m600(arg0, 107, Local0, Ones)
+ }
+ }
+
+ Method(m065, 2)
+ {
+ // LEqual
+
+ Store(LEqual(0x321, arg1), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual(0x322, arg1), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(0x320, arg1), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LEqual(aui1, arg1), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ Store(LEqual(auig, arg1), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LEqual(auih, arg1), Local0)
+ m600(arg0, 5, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aui1)), arg1), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(auig)), arg1), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ Store(LEqual(Derefof(Refof(auih)), arg1), Local0)
+ m600(arg0, 8, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paui, 1)), arg1), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paui, 16)), arg1), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LEqual(Derefof(Index(paui, 17)), arg1), Local0)
+ m600(arg0, 11, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LEqual(m601(1, 1), arg1), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(LEqual(m601(1, 16), arg1), Local0)
+ m600(arg0, 13, Local0, Zero)
+
+ Store(LEqual(m601(1, 17), arg1), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(1, 1, 1)), arg1), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(1, 16, 1)), arg1), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LEqual(Derefof(m602(1, 17, 1)), arg1), Local0)
+ m600(arg0, 17, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater(0x321, arg1), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(0x322, arg1), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ Store(LGreater(0x320, arg1), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(aui1, arg1), Local0)
+ m600(arg0, 21, Local0, Zero)
+
+ Store(LGreater(auig, arg1), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(LGreater(auih, arg1), Local0)
+ m600(arg0, 23, Local0, Zero)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aui1)), arg1), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(auig)), arg1), Local0)
+ m600(arg0, 25, Local0, Ones)
+
+ Store(LGreater(Derefof(Refof(auih)), arg1), Local0)
+ m600(arg0, 26, Local0, Zero)
+ }
+
+ Store(LGreater(Derefof(Index(paui, 1)), arg1), Local0)
+ m600(arg0, 27, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paui, 16)), arg1), Local0)
+ m600(arg0, 28, Local0, Ones)
+
+ Store(LGreater(Derefof(Index(paui, 17)), arg1), Local0)
+ m600(arg0, 29, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreater(m601(1, 1), arg1), Local0)
+ m600(arg0, 30, Local0, Zero)
+
+ Store(LGreater(m601(1, 16), arg1), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ Store(LGreater(m601(1, 17), arg1), Local0)
+ m600(arg0, 32, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(1, 1, 1)), arg1), Local0)
+ m600(arg0, 33, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(1, 16, 1)), arg1), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreater(Derefof(m602(1, 17, 1)), arg1), Local0)
+ m600(arg0, 35, Local0, Zero)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual(0x321, arg1), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(0x322, arg1), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ Store(LGreaterEqual(0x320, arg1), Local0)
+ m600(arg0, 38, Local0, Zero)
+
+ Store(LGreaterEqual(aui1, arg1), Local0)
+ m600(arg0, 39, Local0, Ones)
+
+ Store(LGreaterEqual(auig, arg1), Local0)
+ m600(arg0, 40, Local0, Ones)
+
+ Store(LGreaterEqual(auih, arg1), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aui1)), arg1), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auig)), arg1), Local0)
+ m600(arg0, 43, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auih)), arg1), Local0)
+ m600(arg0, 44, Local0, Zero)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paui, 1)), arg1), Local0)
+ m600(arg0, 45, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 16)), arg1), Local0)
+ m600(arg0, 46, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 17)), arg1), Local0)
+ m600(arg0, 47, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreaterEqual(m601(1, 1), arg1), Local0)
+ m600(arg0, 48, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 16), arg1), Local0)
+ m600(arg0, 49, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 17), arg1), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(1, 1, 1)), arg1), Local0)
+ m600(arg0, 51, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 16, 1)), arg1), Local0)
+ m600(arg0, 52, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 17, 1)), arg1), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLess
+
+ Store(LLess(0x321, arg1), Local0)
+ m600(arg0, 54, Local0, Zero)
+
+ Store(LLess(0x322, arg1), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLess(0x320, arg1), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLess(aui1, arg1), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLess(auig, arg1), Local0)
+ m600(arg0, 58, Local0, Zero)
+
+ Store(LLess(auih, arg1), Local0)
+ m600(arg0, 59, Local0, Ones)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aui1)), arg1), Local0)
+ m600(arg0, 60, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auig)), arg1), Local0)
+ m600(arg0, 61, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auih)), arg1), Local0)
+ m600(arg0, 62, Local0, Ones)
+ }
+
+ Store(LLess(Derefof(Index(paui, 1)), arg1), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 16)), arg1), Local0)
+ m600(arg0, 64, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 17)), arg1), Local0)
+ m600(arg0, 65, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLess(m601(1, 1), arg1), Local0)
+ m600(arg0, 66, Local0, Zero)
+
+ Store(LLess(m601(1, 16), arg1), Local0)
+ m600(arg0, 67, Local0, Zero)
+
+ Store(LLess(m601(1, 17), arg1), Local0)
+ m600(arg0, 68, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLess(Derefof(m602(1, 1, 1)), arg1), Local0)
+ m600(arg0, 69, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 16, 1)), arg1), Local0)
+ m600(arg0, 70, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 17, 1)), arg1), Local0)
+ m600(arg0, 71, Local0, Ones)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual(0x321, arg1), Local0)
+ m600(arg0, 72, Local0, Ones)
+
+ Store(LLessEqual(0x322, arg1), Local0)
+ m600(arg0, 73, Local0, Zero)
+
+ Store(LLessEqual(0x320, arg1), Local0)
+ m600(arg0, 74, Local0, Ones)
+
+ Store(LLessEqual(aui1, arg1), Local0)
+ m600(arg0, 75, Local0, Ones)
+
+ Store(LLessEqual(auig, arg1), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LLessEqual(auih, arg1), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aui1)), arg1), Local0)
+ m600(arg0, 78, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(auig)), arg1), Local0)
+ m600(arg0, 79, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Refof(auih)), arg1), Local0)
+ m600(arg0, 80, Local0, Ones)
+ }
+
+ Store(LLessEqual(Derefof(Index(paui, 1)), arg1), Local0)
+ m600(arg0, 81, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paui, 16)), arg1), Local0)
+ m600(arg0, 82, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Index(paui, 17)), arg1), Local0)
+ m600(arg0, 83, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLessEqual(m601(1, 1), arg1), Local0)
+ m600(arg0, 84, Local0, Ones)
+
+ Store(LLessEqual(m601(1, 16), arg1), Local0)
+ m600(arg0, 85, Local0, Zero)
+
+ Store(LLessEqual(m601(1, 17), arg1), Local0)
+ m600(arg0, 86, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(1, 1, 1)), arg1), Local0)
+ m600(arg0, 87, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(1, 16, 1)), arg1), Local0)
+ m600(arg0, 88, Local0, Zero)
+
+ Store(LLessEqual(Derefof(m602(1, 17, 1)), arg1), Local0)
+ m600(arg0, 89, Local0, Ones)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual(0x321, arg1), Local0)
+ m600(arg0, 90, Local0, Zero)
+
+ Store(LNotEqual(0x322, arg1), Local0)
+ m600(arg0, 91, Local0, Ones)
+
+ Store(LNotEqual(0x320, arg1), Local0)
+ m600(arg0, 92, Local0, Ones)
+
+ Store(LNotEqual(aui1, arg1), Local0)
+ m600(arg0, 93, Local0, Zero)
+
+ Store(LNotEqual(auig, arg1), Local0)
+ m600(arg0, 94, Local0, Ones)
+
+ Store(LNotEqual(auih, arg1), Local0)
+ m600(arg0, 95, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aui1)), arg1), Local0)
+ m600(arg0, 96, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(auig)), arg1), Local0)
+ m600(arg0, 97, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Refof(auih)), arg1), Local0)
+ m600(arg0, 98, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paui, 1)), arg1), Local0)
+ m600(arg0, 99, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paui, 16)), arg1), Local0)
+ m600(arg0, 100, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Index(paui, 17)), arg1), Local0)
+ m600(arg0, 101, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LNotEqual(m601(1, 1), arg1), Local0)
+ m600(arg0, 102, Local0, Zero)
+
+ Store(LNotEqual(m601(1, 16), arg1), Local0)
+ m600(arg0, 103, Local0, Ones)
+
+ Store(LNotEqual(m601(1, 17), arg1), Local0)
+ m600(arg0, 104, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(1, 1, 1)), arg1), Local0)
+ m600(arg0, 105, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(1, 16, 1)), arg1), Local0)
+ m600(arg0, 106, Local0, Ones)
+
+ Store(LNotEqual(Derefof(m602(1, 17, 1)), arg1), Local0)
+ m600(arg0, 107, Local0, Ones)
+ }
+ }
+
+ // Buffer to Integer intermediate conversion of the Buffer second
+ // operand of Concatenate operator in case the first one is Integer
+
+ Method(m64q, 3)
+ {
+ Store(Concatenate(0x321, arg1), Local0)
+ m600(arg0, 0, Local0, bb26)
+
+ Store(Concatenate(0x321, arg2), Local0)
+ m600(arg0, 1, Local0, bb21)
+
+
+ Store(Concatenate(aui1, arg1), Local0)
+ m600(arg0, 2, Local0, bb26)
+
+ Store(Concatenate(aui1, arg2), Local0)
+ m600(arg0, 3, Local0, bb21)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aui1)), arg1), Local0)
+ m600(arg0, 4, Local0, bb26)
+
+ Store(Concatenate(Derefof(Refof(aui1)), arg2), Local0)
+ m600(arg0, 5, Local0, bb21)
+ }
+
+ Store(Concatenate(Derefof(Index(paui, 1)), arg1), Local0)
+ m600(arg0, 6, Local0, bb26)
+
+ Store(Concatenate(Derefof(Index(paui, 1)), arg2), Local0)
+ m600(arg0, 7, Local0, bb21)
+
+ // Method returns Integer
+
+ Store(Concatenate(m601(1, 1), arg1), Local0)
+ m600(arg0, 8, Local0, bb26)
+
+ Store(Concatenate(m601(1, 1), arg2), Local0)
+ m600(arg0, 9, Local0, bb21)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(1, 1, 1)), arg1), Local0)
+ m600(arg0, 10, Local0, bb26)
+
+ Store(Concatenate(Derefof(m602(1, 1, 1)), arg2), Local0)
+ m600(arg0, 11, Local0, bb21)
+ }
+
+ Concatenate(0x321, arg1, Local0)
+ m600(arg0, 12, Local0, bb26)
+
+ Concatenate(0x321, arg2, Local0)
+ m600(arg0, 13, Local0, bb21)
+
+
+ Concatenate(aui1, arg1, Local0)
+ m600(arg0, 14, Local0, bb26)
+
+ Concatenate(aui1, arg2, Local0)
+ m600(arg0, 15, Local0, bb21)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aui1)), arg1, Local0)
+ m600(arg0, 16, Local0, bb26)
+
+ Concatenate(Derefof(Refof(aui1)), arg2, Local0)
+ m600(arg0, 17, Local0, bb21)
+ }
+
+ Concatenate(Derefof(Index(paui, 1)), arg1, Local0)
+ m600(arg0, 18, Local0, bb26)
+
+ Concatenate(Derefof(Index(paui, 1)), arg2, Local0)
+ m600(arg0, 19, Local0, bb21)
+
+ // Method returns Integer
+
+ Concatenate(m601(1, 1), arg1, Local0)
+ m600(arg0, 20, Local0, bb26)
+
+ Concatenate(m601(1, 1), arg2, Local0)
+ m600(arg0, 21, Local0, bb21)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Concatenate(Derefof(m602(1, 1, 1)), arg1, Local0)
+ m600(arg0, 22, Local0, bb26)
+
+ Concatenate(Derefof(m602(1, 1, 1)), arg2, Local0)
+ m600(arg0, 23, Local0, bb21)
+ }
+ }
+
+ Method(m32q, 3)
+ {
+ Store(Concatenate(0x321, arg1), Local0)
+ m600(arg0, 0, Local0, bb27)
+
+ Store(Concatenate(0x321, arg2), Local0)
+ m600(arg0, 1, Local0, bb28)
+
+
+ Store(Concatenate(aui1, arg1), Local0)
+ m600(arg0, 2, Local0, bb27)
+
+ Store(Concatenate(aui1, arg2), Local0)
+ m600(arg0, 3, Local0, bb28)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aui1)), arg1), Local0)
+ m600(arg0, 4, Local0, bb27)
+
+ Store(Concatenate(Derefof(Refof(aui1)), arg2), Local0)
+ m600(arg0, 5, Local0, bb28)
+ }
+
+ Store(Concatenate(Derefof(Index(paui, 1)), arg1), Local0)
+ m600(arg0, 6, Local0, bb27)
+
+ Store(Concatenate(Derefof(Index(paui, 1)), arg2), Local0)
+ m600(arg0, 7, Local0, bb28)
+
+ // Method returns Integer
+
+ Store(Concatenate(m601(1, 1), arg1), Local0)
+ m600(arg0, 8, Local0, bb27)
+
+ Store(Concatenate(m601(1, 1), arg2), Local0)
+ m600(arg0, 9, Local0, bb28)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(1, 1, 1)), arg1), Local0)
+ m600(arg0, 10, Local0, bb27)
+
+ Store(Concatenate(Derefof(m602(1, 1, 1)), arg2), Local0)
+ m600(arg0, 11, Local0, bb28)
+ }
+
+ Concatenate(0x321, arg1, Local0)
+ m600(arg0, 12, Local0, bb27)
+
+ Concatenate(0x321, arg2, Local0)
+ m600(arg0, 13, Local0, bb28)
+
+
+ Concatenate(aui1, arg1, Local0)
+ m600(arg0, 14, Local0, bb27)
+
+ Concatenate(aui1, arg2, Local0)
+ m600(arg0, 15, Local0, bb28)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aui1)), arg1, Local0)
+ m600(arg0, 16, Local0, bb27)
+
+ Concatenate(Derefof(Refof(aui1)), arg2, Local0)
+ m600(arg0, 17, Local0, bb28)
+ }
+
+ Concatenate(Derefof(Index(paui, 1)), arg1, Local0)
+ m600(arg0, 18, Local0, bb27)
+
+ Concatenate(Derefof(Index(paui, 1)), arg2, Local0)
+ m600(arg0, 20, Local0, bb28)
+
+ // Method returns Integer
+
+ Concatenate(m601(1, 1), arg1, Local0)
+ m600(arg0, 21, Local0, bb27)
+
+ Concatenate(m601(1, 1), arg2, Local0)
+ m600(arg0, 22, Local0, bb28)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Concatenate(Derefof(m602(1, 1, 1)), arg1, Local0)
+ m600(arg0, 23, Local0, bb27)
+
+ Concatenate(Derefof(m602(1, 1, 1)), arg2, Local0)
+ m600(arg0, 24, Local0, bb28)
+ }
+ }
+
+ // Buffer to Integer conversion of the Buffer Length (second)
+ // operand of the ToString operator
+
+ // Common 32-bit/64-bit test
+ Method(m066, 3)
+ {
+ Store(ToString(Buffer() {"This is auxiliary Buffer"},
+ arg2), Local0)
+ m600(arg0, 0, Local0, bs1b)
+
+ Store(ToString(Buffer() {"This is auxiliary Buffer"},
+ arg1), Local0)
+ m600(arg0, 1, Local0, bs1c)
+
+ Store(ToString(aub6, arg2), Local0)
+ m600(arg0, 2, Local0, bs1b)
+
+ Store(ToString(aub6, arg1), Local0)
+ m600(arg0, 3, Local0, bs1c)
+
+ if (y078) {
+ Store(ToString(Derefof(Refof(aub6)), arg2), Local0)
+ m600(arg0, 4, Local0, bs1b)
+
+ Store(ToString(Derefof(Refof(aub6)), arg1), Local0)
+ m600(arg0, 5, Local0, bs1c)
+ }
+
+ Store(ToString(Derefof(Index(paub, 6)), arg2), Local0)
+ m600(arg0, 6, Local0, bs1b)
+
+ Store(ToString(Derefof(Index(paub, 6)), arg1), Local0)
+ m600(arg0, 7, Local0, bs1c)
+
+ // Method returns Buffer
+
+ Store(ToString(m601(3, 6), arg2), Local0)
+ m600(arg0, 8, Local0, bs1b)
+
+ Store(ToString(m601(3, 6), arg1), Local0)
+ m600(arg0, 9, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(ToString(Derefof(m602(3, 6, 1)), arg2), Local0)
+ m600(arg0, 10, Local0, bs1b)
+
+ Store(ToString(Derefof(m602(3, 6, 1)), arg1), Local0)
+ m600(arg0, 11, Local0, bs1c)
+ }
+
+ ToString(Buffer() {"This is auxiliary Buffer"},
+ arg2, Local0)
+ m600(arg0, 12, Local0, bs1b)
+
+ ToString(Buffer() {"This is auxiliary Buffer"},
+ arg1, Local0)
+ m600(arg0, 13, Local0, bs1c)
+
+ ToString(aub6, arg2, Local0)
+ m600(arg0, 14, Local0, bs1b)
+
+ ToString(aub6, arg1, Local0)
+ m600(arg0, 15, Local0, bs1c)
+
+ if (y078) {
+ ToString(Derefof(Refof(aub6)), arg2, Local0)
+ m600(arg0, 16, Local0, bs1b)
+
+ ToString(Derefof(Refof(aub6)), arg1, Local0)
+ m600(arg0, 17, Local0, bs1c)
+ }
+
+ ToString(Derefof(Index(paub, 6)), arg2, Local0)
+ m600(arg0, 18, Local0, bs1b)
+
+ ToString(Derefof(Index(paub, 6)), arg1, Local0)
+ m600(arg0, 19, Local0, bs1c)
+
+ // Method returns Buffer
+
+ ToString(m601(3, 6), arg2, Local0)
+ m600(arg0, 20, Local0, bs1b)
+
+ ToString(m601(3, 6), arg1, Local0)
+ m600(arg0, 21, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ ToString(Derefof(m602(3, 6, 1)), arg2, Local0)
+ m600(arg0, 22, Local0, bs1b)
+
+ ToString(Derefof(m602(3, 6, 1)), arg1, Local0)
+ m600(arg0, 23, Local0, bs1c)
+ }
+ }
+
+ Method(m64r, 2)
+ {
+ Store(ToString(Buffer() {"This is auxiliary Buffer"},
+ arg1), Local0)
+ m600(arg0, 0, Local0, bs1c)
+
+ Store(ToString(aub6, arg1), Local0)
+ m600(arg0, 1, Local0, bs1c)
+
+ if (y078) {
+ Store(ToString(Derefof(Refof(aub6)), arg1), Local0)
+ m600(arg0, 2, Local0, bs1c)
+ }
+
+ Store(ToString(Derefof(Index(paub, 6)), arg1), Local0)
+ m600(arg0, 3, Local0, bs1c)
+
+ // Method returns Buffer
+
+ Store(ToString(m601(3, 6), arg1), Local0)
+ m600(arg0, 4, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(ToString(Derefof(m602(3, 6, 1)), arg1), Local0)
+ m600(arg0, 5, Local0, bs1c)
+ }
+
+ ToString(Buffer() {"This is auxiliary Buffer"},
+ arg1, Local0)
+ m600(arg0, 6, Local0, bs1c)
+
+ ToString(aub6, arg1, Local0)
+ m600(arg0, 7, Local0, bs1c)
+
+ if (y078) {
+ ToString(Derefof(Refof(aub6)), arg1, Local0)
+ m600(arg0, 8, Local0, bs1c)
+ }
+
+ ToString(Derefof(Index(paub, 6)), arg1, Local0)
+ m600(arg0, 9, Local0, bs1c)
+
+ // Method returns Buffer
+
+ ToString(m601(3, 6), arg1, Local0)
+ m600(arg0, 10, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ ToString(Derefof(m602(3, 6, 1)), arg1, Local0)
+ m600(arg0, 11, Local0, bs1c)
+ }
+ }
+
+ Method(m32r, 2)
+ {
+ Store(ToString(Buffer() {"This is auxiliary Buffer"},
+ arg1), Local0)
+ m600(arg0, 0, Local0, bs1c)
+
+ Store(ToString(aub6, arg1), Local0)
+ m600(arg0, 1, Local0, bs1c)
+
+ if (y078) {
+ Store(ToString(Derefof(Refof(aub6)), arg1), Local0)
+ m600(arg0, 2, Local0, bs1c)
+ }
+
+ Store(ToString(Derefof(Index(paub, 6)), arg1), Local0)
+ m600(arg0, 3, Local0, bs1c)
+
+ // Method returns Buffer
+
+ Store(ToString(m601(3, 6), arg1), Local0)
+ m600(arg0, 4, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(ToString(Derefof(m602(3, 6, 1)), arg1), Local0)
+ m600(arg0, 5, Local0, bs1c)
+ }
+
+ ToString(Buffer() {"This is auxiliary Buffer"},
+ arg1, Local0)
+ m600(arg0, 6, Local0, bs1c)
+
+ ToString(aub6, arg1, Local0)
+ m600(arg0, 7, Local0, bs1c)
+
+ if (y078) {
+ ToString(Derefof(Refof(aub6)), arg1, Local0)
+ m600(arg0, 8, Local0, bs1c)
+ }
+
+ ToString(Derefof(Index(paub, 6)), arg1, Local0)
+ m600(arg0, 9, Local0, bs1c)
+
+ // Method returns Buffer
+
+ ToString(m601(3, 6), arg1, Local0)
+ m600(arg0, 10, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ ToString(Derefof(m602(3, 6, 1)), arg1, Local0)
+ m600(arg0, 11, Local0, bs1c)
+ }
+ }
+
+ // Buffer to Integer conversion of the Buffer Index (second)
+ // operand of the Index operator
+ Method(m067, 2)
+ {
+ Store(Index(aus6, arg1), Local0)
+ m600(arg0, 0, Derefof(Local0), bi10)
+
+ Store(Index(aub6, arg1), Local0)
+ m600(arg0, 1, Derefof(Local0), bi10)
+
+ Store(Index(aup0, arg1), Local0)
+ m600(arg0, 2, Derefof(Local0), bi11)
+
+ if (y078) {
+ Store(Index(Derefof(Refof(aus6)), arg1), Local0)
+ m600(arg0, 3, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Refof(aub6)), arg1), Local0)
+ m600(arg0, 4, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Refof(aup0)), arg1), Local0)
+ m600(arg0, 5, Derefof(Local0), bi11)
+ }
+
+ Store(Index(Derefof(Index(paus, 6)), arg1), Local0)
+ m600(arg0, 6, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Index(paub, 6)), arg1), Local0)
+ m600(arg0, 7, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Index(paup, 0)), arg1), Local0)
+ m600(arg0, 8, Derefof(Local0), bi11)
+
+
+ // Method returns Object
+
+ if (y900) {
+ Store(Index(m601(2, 6), arg1), Local0)
+ m600(arg0, 9, Derefof(Local0), bi10)
+
+ Store(Index(m601(3, 6), arg1), Local0)
+ m600(arg0, 10, Derefof(Local0), bi10)
+
+ Store(Index(m601(4, 0), arg1), Local0)
+ m600(arg0, 11, Derefof(Local0), bi11)
+ }
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Index(Derefof(m602(2, 6, 1)), arg1), Local0)
+ m600(arg0, 12, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(m602(3, 6, 1)), arg1), Local0)
+ m600(arg0, 13, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(m602(4, 0, 1)), arg1), Local0)
+ m600(arg0, 14, Derefof(Local0), bi11)
+ }
+
+ Index(aus6, arg1, Local0)
+ m600(arg0, 15, Derefof(Local0), bi10)
+
+ Index(aub6, arg1, Local0)
+ m600(arg0, 16, Derefof(Local0), bi10)
+
+ Index(aup0, arg1, Local0)
+ m600(arg0, 17, Derefof(Local0), bi11)
+
+ if (y078) {
+ Index(Derefof(Refof(aus6)), arg1, Local0)
+ m600(arg0, 18, Derefof(Local0), bi10)
+
+ Index(Derefof(Refof(aub6)), arg1, Local0)
+ m600(arg0, 19, Derefof(Local0), bi10)
+
+ Index(Derefof(Refof(aup0)), arg1, Local0)
+ m600(arg0, 20, Derefof(Local0), bi11)
+ }
+
+ Index(Derefof(Index(paus, 6)), arg1, Local0)
+ m600(arg0, 21, Derefof(Local0), bi10)
+
+ Index(Derefof(Index(paub, 6)), arg1, Local0)
+ m600(arg0, 22, Derefof(Local0), bi10)
+
+ Index(Derefof(Index(paup, 0)), arg1, Local0)
+ m600(arg0, 23, Derefof(Local0), bi11)
+
+
+ // Method returns Object
+
+ if (y900) {
+ Index(m601(2, 6), arg1, Local0)
+ m600(arg0, 24, Derefof(Local0), bi10)
+
+ Index(m601(3, 6), arg1, Local0)
+ m600(arg0, 25, Derefof(Local0), bi10)
+
+ Index(m601(4, 0), arg1, Local0)
+ m600(arg0, 26, Derefof(Local0), bi11)
+ }
+
+ // Method returns Reference
+
+ if (y500) {
+ Index(Derefof(m602(2, 6, 1)), arg1, Local0)
+ m600(arg0, 27, Derefof(Local0), bi10)
+
+ Index(Derefof(m602(3, 6, 1)), arg1, Local0)
+ m600(arg0, 28, Derefof(Local0), bi10)
+
+ Index(Derefof(m602(4, 0, 1)), arg1, Local0)
+ m600(arg0, 29, Derefof(Local0), bi11)
+ }
+
+ if (y098) {
+ Store(Index(aus6, arg1, Local1), Local0)
+ m600(arg0, 30, Derefof(Local0), bi10)
+
+ Store(Index(aub6, arg1, Local1), Local0)
+ m600(arg0, 31, Derefof(Local0), bi10)
+
+ Store(Index(aup0, arg1, Local1), Local0)
+ m600(arg0, 32, Derefof(Local0), bi11)
+ }
+
+ if (y078) {
+ Store(Index(Derefof(Refof(aus6)), arg1, Local1), Local0)
+ m600(arg0, 33, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Refof(aub6)), arg1, Local1), Local0)
+ m600(arg0, 34, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Refof(aup0)), arg1, Local1), Local0)
+ m600(arg0, 35, Derefof(Local0), bi11)
+ }
+
+ if (y098) {
+ Store(Index(Derefof(Index(paus, 6)), arg1, Local1), Local0)
+ m600(arg0, 36, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Index(paub, 6)), arg1, Local1), Local0)
+ m600(arg0, 37, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Index(paup, 0)), arg1, Local1), Local0)
+ m600(arg0, 38, Derefof(Local0), bi11)
+ }
+
+ // Method returns Object
+
+ if (LAnd(y900, y098)) {
+ Store(Index(m601(2, 6), arg1, Local1), Local0)
+ m600(arg0, 39, Derefof(Local0), bi10)
+
+ Store(Index(m601(3, 6), arg1, Local1), Local0)
+ m600(arg0, 40, Derefof(Local0), bi10)
+
+ Store(Index(m601(4, 0), arg1, Local1), Local0)
+ m600(arg0, 41, Derefof(Local0), bi11)
+ }
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Index(Derefof(m602(2, 6, 1)), arg1, Local1), Local0)
+ m600(arg0, 42, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(m602(3, 6, 1)), arg1, Local1), Local0)
+ m600(arg0, 43, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(m602(4, 0, 1)), arg1, Local1), Local0)
+ m600(arg0, 44, Derefof(Local0), bi11)
+ }
+ }
+
+ // Buffer to Integer conversion of the String Arg (third)
+ // operand of the Fatal operator
+ // (it can only be checked an exception does not occur)
+ Method(m068, 3)
+ {
+ CH03(arg0, z121, 9, 0, 0)
+ Fatal(0xff, 0xffffffff, arg1)
+ if (F64) {
+ Fatal(0xff, 0xffffffff, arg2)
+ } else {
+ Fatal(0xff, 0xffffffff, arg2)
+ }
+ CH03(arg0, z121, 10, 0, 0)
+ }
+
+ // Buffer to Integer conversion of the Buffer Index and Length
+ // operands of the Mid operator
+
+ // Common 32-bit/64-bit test
+ Method(m069, 2)
+ {
+ // String to Integer conversion of the String Index operand
+
+ Store(Mid("This is auxiliary String", arg1, 10), Local0)
+ m600(arg0, 0, Local0, bs1d)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, arg1, 10), Local0)
+ m600(arg0, 1, Local0, bb32)
+
+ Store(Mid(aus6, arg1, 10), Local0)
+ m600(arg0, 2, Local0, bs1d)
+
+ Store(Mid(aub6, arg1, 10), Local0)
+ m600(arg0, 3, Local0, bb32)
+
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), arg1, 10), Local0)
+ m600(arg0, 4, Local0, bs1d)
+
+ Store(Mid(Derefof(Refof(aub6)), arg1, 10), Local0)
+ m600(arg0, 5, Local0, bb32)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), arg1, 10), Local0)
+ m600(arg0, 6, Local0, bs1d)
+
+ Store(Mid(Derefof(Index(paub, 6)), arg1, 10), Local0)
+ m600(arg0, 7, Local0, bb32)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), arg1, 10), Local0)
+ m600(arg0, 8, Local0, bs1d)
+
+ Store(Mid(m601(3, 6), arg1, 10), Local0)
+ m600(arg0, 9, Local0, bb32)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), arg1, 10), Local0)
+ m600(arg0, 10, Local0, bs1d)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), arg1, 10), Local0)
+ m600(arg0, 11, Local0, bb32)
+ }
+
+ Mid("This is auxiliary String", arg1, 10, Local0)
+ m600(arg0, 12, Local0, bs1d)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, arg1, 10, Local0)
+ m600(arg0, 13, Local0, bb32)
+
+ Mid(aus6, arg1, 10, Local0)
+ m600(arg0, 14, Local0, bs1d)
+
+ Mid(aub6, arg1, 10, Local0)
+ m600(arg0, 15, Local0, bb32)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), arg1, 10, Local0)
+ m600(arg0, 16, Local0, bs1d)
+
+ Mid(Derefof(Refof(aub6)), arg1, 10, Local0)
+ m600(arg0, 17, Local0, bb32)
+ }
+
+ Mid(Derefof(Index(paus, 6)), arg1, 10, Local0)
+ m600(arg0, 18, Local0, bs1d)
+
+ Mid(Derefof(Index(paub, 6)), arg1, 10, Local0)
+ m600(arg0, 19, Local0, bb32)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), arg1, 10, Local0)
+ m600(arg0, 20, Local0, bs1d)
+
+ Mid(m601(3, 6), arg1, 10, Local0)
+ m600(arg0, 21, Local0, bb32)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), arg1, 10, Local0)
+ m600(arg0, 22, Local0, bs1d)
+
+ Mid(Derefof(m602(3, 6, 1)), arg1, 10, Local0)
+ m600(arg0, 23, Local0, bb32)
+ }
+
+ // String to Integer conversion of the String Length operand
+
+ Store(Mid("This is auxiliary String", 0, arg1), Local0)
+ m600(arg0, 24, Local0, bs1b)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, 0, arg1), Local0)
+ m600(arg0, 25, Local0, bb33)
+
+ Store(Mid(aus6, 0, arg1), Local0)
+ m600(arg0, 26, Local0, bs1b)
+
+ Store(Mid(aub6, 0, arg1), Local0)
+ m600(arg0, 27, Local0, bb33)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), 0, arg1), Local0)
+ m600(arg0, 28, Local0, bs1b)
+
+ Store(Mid(Derefof(Refof(aub6)), 0, arg1), Local0)
+ m600(arg0, 29, Local0, bb33)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), 0, arg1), Local0)
+ m600(arg0, 30, Local0, bs1b)
+
+ Store(Mid(Derefof(Index(paub, 6)), 0, arg1), Local0)
+ m600(arg0, 31, Local0, bb33)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), 0, arg1), Local0)
+ m600(arg0, 32, Local0, bs1b)
+
+ Store(Mid(m601(3, 6), 0, arg1), Local0)
+ m600(arg0, 33, Local0, bb33)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), 0, arg1), Local0)
+ m600(arg0, 34, Local0, bs1b)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), 0, arg1), Local0)
+ m600(arg0, 35, Local0, bb33)
+ }
+
+ Mid("This is auxiliary String", 0, arg1, Local0)
+ m600(arg0, 36, Local0, bs1b)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, 0, arg1, Local0)
+ m600(arg0, 37, Local0, bb33)
+
+ Mid(aus6, 0, arg1, Local0)
+ m600(arg0, 37, Local0, bs1b)
+
+ Mid(aub6, 0, arg1, Local0)
+ m600(arg0, 39, Local0, bb33)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), 0, arg1, Local0)
+ m600(arg0, 40, Local0, bs1b)
+
+ Mid(Derefof(Refof(aub6)), 0, arg1, Local0)
+ m600(arg0, 41, Local0, bb33)
+ }
+
+ Mid(Derefof(Index(paus, 6)), 0, arg1, Local0)
+ m600(arg0, 42, Local0, bs1b)
+
+ Mid(Derefof(Index(paub, 6)), 0, arg1, Local0)
+ m600(arg0, 43, Local0, bb33)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), 0, arg1, Local0)
+ m600(arg0, 44, Local0, bs1b)
+
+ Mid(m601(3, 6), 0, arg1, Local0)
+ m600(arg0, 45, Local0, bb33)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), 0, arg1, Local0)
+ m600(arg0, 46, Local0, bs1b)
+
+ Mid(Derefof(m602(3, 6, 1)), 0, arg1, Local0)
+ m600(arg0, 47, Local0, bb33)
+ }
+ }
+
+ Method(m64s, 3)
+ {
+ // String to Integer conversion of the String Length operand
+
+ Store(Mid("This is auxiliary String", 0, arg1), Local0)
+ m600(arg0, 0, Local0, bs1e)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, 0, arg1), Local0)
+ m600(arg0, 1, Local0, bb34)
+
+ Store(Mid(aus6, 0, arg1), Local0)
+ m600(arg0, 2, Local0, bs1e)
+
+ Store(Mid(aub6, 0, arg1), Local0)
+ m600(arg0, 3, Local0, bb34)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), 0, arg1), Local0)
+ m600(arg0, 4, Local0, bs1e)
+
+ Store(Mid(Derefof(Refof(aub6)), 0, arg1), Local0)
+ m600(arg0, 5, Local0, bb34)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), 0, arg1), Local0)
+ m600(arg0, 6, Local0, bs1e)
+
+ Store(Mid(Derefof(Index(paub, 6)), 0, arg1), Local0)
+ m600(arg0, 7, Local0, bb34)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), 0, arg1), Local0)
+ m600(arg0, 8, Local0, bs1e)
+
+ Store(Mid(m601(3, 6), 0, arg1), Local0)
+ m600(arg0, 9, Local0, bb34)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), 0, arg1), Local0)
+ m600(arg0, 10, Local0, bs1e)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), 0, arg1), Local0)
+ m600(arg0, 11, Local0, bb34)
+ }
+
+ Mid("This is auxiliary String", 0, arg1, Local0)
+ m600(arg0, 12, Local0, bs1e)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, 0, arg1, Local0)
+ m600(arg0, 13, Local0, bb34)
+
+ Mid(aus6, 0, arg1, Local0)
+ m600(arg0, 14, Local0, bs1e)
+
+ Mid(aub6, 0, arg1, Local0)
+ m600(arg0, 15, Local0, bb34)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), 0, arg1, Local0)
+ m600(arg0, 16, Local0, bs1e)
+
+ Mid(Derefof(Refof(aub6)), 0, arg1, Local0)
+ m600(arg0, 17, Local0, bb34)
+ }
+
+ Mid(Derefof(Index(paus, 6)), 0, arg1, Local0)
+ m600(arg0, 18, Local0, bs1e)
+
+ Mid(Derefof(Index(paub, 6)), 0, arg1, Local0)
+ m600(arg0, 19, Local0, bb34)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), 0, arg1, Local0)
+ m600(arg0, 20, Local0, bs1e)
+
+ Mid(m601(3, 6), 0, arg1, Local0)
+ m600(arg0, 21, Local0, bb34)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), 0, arg1, Local0)
+ m600(arg0, 22, Local0, bs1e)
+
+ Mid(Derefof(m602(3, 6, 1)), 0, arg1, Local0)
+ m600(arg0, 23, Local0, bb34)
+ }
+
+ // String to Integer conversion of the both String operands
+
+ Store(Mid("This is auxiliary String", arg2, arg1), Local0)
+ m600(arg0, 24, Local0, bs1f)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, arg2, arg1), Local0)
+ m600(arg0, 25, Local0, bb35)
+
+ Store(Mid(aus6, arg2, arg1), Local0)
+ m600(arg0, 26, Local0, bs1f)
+
+ Store(Mid(aub6, arg2, arg1), Local0)
+ m600(arg0, 27, Local0, bb35)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), arg2, arg1), Local0)
+ m600(arg0, 28, Local0, bs1f)
+
+ Store(Mid(Derefof(Refof(aub6)), arg2, arg1), Local0)
+ m600(arg0, 29, Local0, bb35)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), arg2, arg1), Local0)
+ m600(arg0, 30, Local0, bs1f)
+
+ Store(Mid(Derefof(Index(paub, 6)), arg2, arg1), Local0)
+ m600(arg0, 31, Local0, bb35)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), arg2, arg1), Local0)
+ m600(arg0, 32, Local0, bs1f)
+
+ Store(Mid(m601(3, 6), arg2, arg1), Local0)
+ m600(arg0, 33, Local0, bb35)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), arg2, arg1), Local0)
+ m600(arg0, 34, Local0, bs1f)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), arg2, arg1), Local0)
+ m600(arg0, 35, Local0, bb35)
+ }
+
+ Mid("This is auxiliary String", arg2, arg1, Local0)
+ m600(arg0, 36, Local0, bs1f)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, arg2, arg1, Local0)
+ m600(arg0, 37, Local0, bb35)
+
+ Mid(aus6, arg2, arg1, Local0)
+ m600(arg0, 38, Local0, bs1f)
+
+ Mid(aub6, arg2, arg1, Local0)
+ m600(arg0, 39, Local0, bb35)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), arg2, arg1, Local0)
+ m600(arg0, 40, Local0, bs1f)
+
+ Mid(Derefof(Refof(aub6)), arg2, arg1, Local0)
+ m600(arg0, 41, Local0, bb35)
+ }
+
+ Mid(Derefof(Index(paus, 6)), arg2, arg1, Local0)
+ m600(arg0, 42, Local0, bs1f)
+
+ Mid(Derefof(Index(paub, 6)), arg2, arg1, Local0)
+ m600(arg0, 43, Local0, bb35)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), arg2, arg1, Local0)
+ m600(arg0, 44, Local0, bs1f)
+
+ Mid(m601(3, 6), arg2, arg1, Local0)
+ m600(arg0, 45, Local0, bb35)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), arg2, arg1, Local0)
+ m600(arg0, 46, Local0, bs1f)
+
+ Mid(Derefof(m602(3, 6, 1)), arg2, arg1, Local0)
+ m600(arg0, 47, Local0, bb35)
+ }
+ }
+
+ Method(m32s, 3)
+ {
+ // String to Integer conversion of the String Length operand
+
+ Store(Mid("This is auxiliary String", 0, arg1), Local0)
+ m600(arg0, 0, Local0, bs1e)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, 0, arg1), Local0)
+ m600(arg0, 1, Local0, bb34)
+
+ Store(Mid(aus6, 0, arg1), Local0)
+ m600(arg0, 2, Local0, bs1e)
+
+ Store(Mid(aub6, 0, arg1), Local0)
+ m600(arg0, 3, Local0, bb34)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), 0, arg1), Local0)
+ m600(arg0, 4, Local0, bs1e)
+
+ Store(Mid(Derefof(Refof(aub6)), 0, arg1), Local0)
+ m600(arg0, 5, Local0, bb34)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), 0, arg1), Local0)
+ m600(arg0, 6, Local0, bs1e)
+
+ Store(Mid(Derefof(Index(paub, 6)), 0, arg1), Local0)
+ m600(arg0, 7, Local0, bb34)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), 0, arg1), Local0)
+ m600(arg0, 8, Local0, bs1e)
+
+ Store(Mid(m601(3, 6), 0, arg1), Local0)
+ m600(arg0, 9, Local0, bb34)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), 0, arg1), Local0)
+ m600(arg0, 10, Local0, bs1e)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), 0, arg1), Local0)
+ m600(arg0, 11, Local0, bb34)
+ }
+
+ Mid("This is auxiliary String", 0, arg1, Local0)
+ m600(arg0, 12, Local0, bs1e)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, 0, arg1, Local0)
+ m600(arg0, 13, Local0, bb34)
+
+ Mid(aus6, 0, arg1, Local0)
+ m600(arg0, 14, Local0, bs1e)
+
+ Mid(aub6, 0, arg1, Local0)
+ m600(arg0, 15, Local0, bb34)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), 0, arg1, Local0)
+ m600(arg0, 16, Local0, bs1e)
+
+ Mid(Derefof(Refof(aub6)), 0, arg1, Local0)
+ m600(arg0, 17, Local0, bb34)
+ }
+
+ Mid(Derefof(Index(paus, 6)), 0, arg1, Local0)
+ m600(arg0, 18, Local0, bs1e)
+
+ Mid(Derefof(Index(paub, 6)), 0, arg1, Local0)
+ m600(arg0, 19, Local0, bb34)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), 0, arg1, Local0)
+ m600(arg0, 20, Local0, bs1e)
+
+ Mid(m601(3, 6), 0, arg1, Local0)
+ m600(arg0, 21, Local0, bb34)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), 0, arg1, Local0)
+ m600(arg0, 22, Local0, bs1e)
+
+ Mid(Derefof(m602(3, 6, 1)), 0, arg1, Local0)
+ m600(arg0, 23, Local0, bb34)
+ }
+
+ // String to Integer conversion of the both String operands
+
+ Store(Mid("This is auxiliary String", arg2, arg1), Local0)
+ m600(arg0, 24, Local0, bs1f)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, arg2, arg1), Local0)
+ m600(arg0, 25, Local0, bb35)
+
+ Store(Mid(aus6, arg2, arg1), Local0)
+ m600(arg0, 26, Local0, bs1f)
+
+ Store(Mid(aub6, arg2, arg1), Local0)
+ m600(arg0, 27, Local0, bb35)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), arg2, arg1), Local0)
+ m600(arg0, 28, Local0, bs1f)
+
+ Store(Mid(Derefof(Refof(aub6)), arg2, arg1), Local0)
+ m600(arg0, 29, Local0, bb35)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), arg2, arg1), Local0)
+ m600(arg0, 30, Local0, bs1f)
+
+ Store(Mid(Derefof(Index(paub, 6)), arg2, arg1), Local0)
+ m600(arg0, 31, Local0, bb35)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), arg2, arg1), Local0)
+ m600(arg0, 32, Local0, bs1f)
+
+ Store(Mid(m601(3, 6), arg2, arg1), Local0)
+ m600(arg0, 33, Local0, bb35)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), arg2, arg1), Local0)
+ m600(arg0, 34, Local0, bs1f)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), arg2, arg1), Local0)
+ m600(arg0, 35, Local0, bb35)
+ }
+
+ Mid("This is auxiliary String", arg2, arg1, Local0)
+ m600(arg0, 36, Local0, bs1f)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, arg2, arg1, Local0)
+ m600(arg0, 37, Local0, bb35)
+
+ Mid(aus6, arg2, arg1, Local0)
+ m600(arg0, 38, Local0, bs1f)
+
+ Mid(aub6, arg2, arg1, Local0)
+ m600(arg0, 39, Local0, bb35)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), arg2, arg1, Local0)
+ m600(arg0, 40, Local0, bs1f)
+
+ Mid(Derefof(Refof(aub6)), arg2, arg1, Local0)
+ m600(arg0, 41, Local0, bb35)
+ }
+
+ Mid(Derefof(Index(paus, 6)), arg2, arg1, Local0)
+ m600(arg0, 42, Local0, bs1f)
+
+ Mid(Derefof(Index(paub, 6)), arg2, arg1, Local0)
+ m600(arg0, 43, Local0, bb35)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), arg2, arg1, Local0)
+ m600(arg0, 44, Local0, bs1f)
+
+ Mid(m601(3, 6), arg2, arg1, Local0)
+ m600(arg0, 45, Local0, bb35)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), arg2, arg1, Local0)
+ m600(arg0, 46, Local0, bs1f)
+
+ Mid(Derefof(m602(3, 6, 1)), arg2, arg1, Local0)
+ m600(arg0, 47, Local0, bb35)
+ }
+ }
+
+ // Buffer to Integer conversion of the Buffer StartIndex
+ // operand of the Match operator
+ Method(m06a, 2)
+ {
+ Store(Match(
+ Package(){
+ 0xa50, 0xa51, 0xa52, 0xa53, 0xa54, 0xa55, 0xa56, 0xa57,
+ 0xa58, 0xa59, 0xa5a, 0xa5b, 0xa5c, 0xa5d, 0xa5e,},
+ MEQ, 0xa5d, MTR, 0, arg1), Local0)
+ m600(arg0, 0, Local0, 0xd)
+
+ Store(Match(
+ Package(){
+ 0xa50, 0xa51, 0xa52, 0xa53, 0xa54, 0xa55, 0xa56, 0xa57,
+ 0xa58, 0xa59, 0xa5a, 0xa5b, 0xa5c, 0xa5d, 0xa5e,},
+ MEQ, 0xa5a, MTR, 0, arg1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(Match(aup0, MEQ, 0xa5d, MTR, 0, arg1), Local0)
+ m600(arg0, 2, Local0, 0xd)
+
+ Store(Match(aup0, MEQ, 0xa5a, MTR, 0, arg1), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(Match(Derefof(Refof(aup0)), MEQ, 0xa5d, MTR, 0, arg1), Local0)
+ m600(arg0, 4, Local0, 0xd)
+
+ Store(Match(Derefof(Refof(aup0)), MEQ, 0xa5a, MTR, 0, arg1), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(Match(Derefof(Index(paup, 0)), MEQ, 0xa5d, MTR, 0, arg1), Local0)
+ m600(arg0, 6, Local0, 0xd)
+
+ Store(Match(Derefof(Index(paup, 0)), MEQ, 0xa5a, MTR, 0, arg1), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Object
+
+ Store(Match(m601(4, 0), MEQ, 0xa5d, MTR, 0, arg1), Local0)
+ m600(arg0, 8, Local0, 0xd)
+
+ Store(Match(m601(4, 0), MEQ, 0xa5a, MTR, 0, arg1), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Match(Derefof(m602(4, 0, 1)), MEQ, 0xa5d, MTR, 0, arg1), Local0)
+ m600(arg0, 10, Local0, 0xd)
+
+ Store(Match(Derefof(m602(4, 0, 1)), MEQ, 0xa5a, MTR, 0, arg1), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+ }
+
+// Method(m64t, 1)
+
+// Method(m32t, 1)
+
+ // Buffer to Integer conversion of the Buffer sole operand
+ // of the Method execution control operators (Sleep, Stall)
+ Method(m06b, 3)
+ {
+ CH03(arg0, z121, 11, 0, 0)
+
+ // Sleep
+
+ Store(Timer, Local0)
+
+ Sleep(arg1)
+ CH03(arg0, z121, 12, 0, 0)
+
+ Store(Timer, Local1)
+ Subtract(Local1, Local0, Local2)
+ if (LLess(Local2, c08c)) {
+ err(arg0, z121, 0, 0, 0, Local2, c08c)
+ }
+
+ // Stall
+
+ Store(Timer, Local0)
+
+ Stall(arg2)
+ CH03(arg0, z121, 13, 0, 0)
+
+ Store(Timer, Local1)
+ Subtract(Local1, Local0, Local2)
+ if (LLess(Local2, 990)) {
+ err(arg0, z121, 1, 0, 0, Local2, 990)
+ }
+ }
+
+ // Buffer to Integer conversion of the Buffer TimeoutValue
+ // (second) operand of the Acquire operator
+
+ Method(m06c, 2)
+ {
+ Mutex(MTX0, 0)
+
+ Acquire(MTX0, 0)
+ CH03(arg0, z121, 14, 0, 0)
+
+ Store(Timer, Local0)
+
+/* Compiler allows only Integer constant as TimeoutValue (Bug 1)
+ Acquire(MTX0, arg1)
+*/
+ CH03(arg0, z121, 15, 0, 0)
+
+ Store(Timer, Local1)
+ Subtract(Local1, Local0, Local2)
+ if (LLess(Local2, c08c)) {
+ err(arg0, z121, 0, 0, 0, Local2, c08c)
+ }
+ }
+
+ // Buffer to Integer conversion of the Buffer TimeoutValue
+ // (second) operand of the Wait operator
+ Method(m06d, 2)
+ {
+ Event(EVT0)
+
+ CH03(arg0, z121, 16, 0, 0)
+
+ Store(Timer, Local0)
+
+ Wait(EVT0, arg1)
+ CH03(arg0, z121, 17, 0, 0)
+
+ Store(Timer, Local1)
+ Subtract(Local1, Local0, Local2)
+ if (LLess(Local2, c08c)) {
+ err(arg0, z121, 0, 0, 0, Local2, c08c)
+ }
+ }
+
+ // Buffer to Integer conversion of the Buffer value
+ // of Predicate of the Method execution control statements
+ // (If, ElseIf, While)
+ Method(m06e, 4)
+ {
+ Name(ist0, 0)
+
+ Method(m001, 1)
+ {
+ if (arg0) {
+ Store(0, ist0)
+ }
+ }
+
+ Method(m002, 1)
+ {
+ if (arg0) {
+ Store(2, ist0)
+ }
+ }
+
+ Method(m003, 1)
+ {
+ if (arg0) {
+ Store(3, ist0)
+ }
+ }
+
+ Method(m004, 1)
+ {
+ if (arg0) {
+ Store(4, ist0)
+ }
+ }
+
+ Method(m005, 2)
+ {
+ if (arg0) {
+ Store(0xff, ist0)
+ } elseif (arg1) {
+ Store(0, ist0)
+ }
+ }
+
+ Method(m006, 2)
+ {
+ if (arg0) {
+ Store(0xff, ist0)
+ } elseif (arg1) {
+ Store(6, ist0)
+ }
+ }
+
+ Method(m007, 2)
+ {
+ if (arg0) {
+ Store(0xff, ist0)
+ } elseif (arg1) {
+ Store(7, ist0)
+ }
+ }
+
+ Method(m008, 2)
+ {
+ if (arg0) {
+ Store(0xff, ist0)
+ } elseif (arg1) {
+ Store(8, ist0)
+ }
+ }
+
+ Method(m009, 1)
+ {
+ while (arg0) {
+ Store(0, ist0)
+ Break
+ }
+ }
+
+ // If
+
+ Store(1, ist0)
+ m001(arg3)
+ m600(arg0, 0, ist0, 1)
+
+ m002(arg1)
+ m600(arg0, 1, ist0, 2)
+
+ m003(arg2)
+ m600(arg0, 2, ist0, 3)
+
+ m004(arg2)
+ m600(arg0, 3, ist0, 4)
+
+ // ElseIf
+
+ Store(5, ist0)
+ m005(0, arg3)
+ m600(arg0, 4, ist0, 5)
+
+ m006(0, arg1)
+ m600(arg0, 5, ist0, 6)
+
+ m007(0, arg2)
+ m600(arg0, 6, ist0, 7)
+
+ m008(0, arg2)
+ m600(arg0, 7, ist0, 8)
+
+ // While
+
+ Store(9, ist0)
+ m009(arg3)
+ m600(arg0, 8, ist0, 9)
+ }
+
+// Method(m64u, 1)
+
+// Method(m32u, 1)
+
+ // Buffer to String implicit conversion Cases.
+
+ // Buffer to String conversion of the Buffer second operand of
+ // Logical operators when the first operand is evaluated as String.
+ // LEqual LGreater LGreaterEqual LLess LLessEqual LNotEqual
+ Method(m06f, 3)
+ {
+ // LEqual
+
+ Store(LEqual("21 03 00", arg1), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual("21 03 01", arg1), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(aus9, arg1), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(LEqual(ausa, arg1), Local0)
+ m600(arg0, 3, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aus9)), arg1), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(ausa)), arg1), Local0)
+ m600(arg0, 5, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paus, 9)), arg1), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paus, 10)), arg1), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ // Method returns String
+
+ Store(LEqual(m601(2, 9), arg1), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(LEqual(m601(2, 10), arg1), Local0)
+ m600(arg0, 9, Local0, Zero)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(2, 9, 1)), arg1), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(2, 10, 1)), arg1), Local0)
+ m600(arg0, 11, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater("21 03 00", arg1), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LGreater("21 03 01", arg1), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LGreater("21 03 0 ", arg1), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LGreater("21 03 00q", arg1), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LGreater(aus9, arg1), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LGreater(ausa, arg1), Local0)
+ m600(arg0, 17, Local0, Ones)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aus9)), arg1), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(ausa)), arg1), Local0)
+ m600(arg0, 19, Local0, Ones)
+ }
+
+ Store(LGreater(Derefof(Index(paus, 9)), arg1), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paus, 10)), arg1), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns String
+
+ Store(LGreater(m601(2, 9), arg1), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LGreater(m601(2, 10), arg1), Local0)
+ m600(arg0, 23, Local0, Ones)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(2, 9, 1)), arg1), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(2, 10, 1)), arg1), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual("21 03 00", arg1), Local0)
+ m600(arg0, 26, Local0, Ones)
+
+ Store(LGreaterEqual("21 03 01", arg1), Local0)
+ m600(arg0, 27, Local0, Ones)
+
+ Store(LGreaterEqual("21 03 0 ", arg1), Local0)
+ m600(arg0, 28, Local0, Zero)
+
+ Store(LGreaterEqual("21 03 00q", arg1), Local0)
+ m600(arg0, 29, Local0, Ones)
+
+ Store(LGreaterEqual(aus9, arg1), Local0)
+ m600(arg0, 30, Local0, Ones)
+
+ Store(LGreaterEqual(ausa, arg1), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aus9)), arg1), Local0)
+ m600(arg0, 32, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(ausa)), arg1), Local0)
+ m600(arg0, 33, Local0, Ones)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paus, 9)), arg1), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paus, 10)), arg1), Local0)
+ m600(arg0, 35, Local0, Ones)
+
+ // Method returns String
+
+ Store(LGreaterEqual(m601(2, 9),
+ arg1), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(m601(2, 10), arg1), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(2, 9, 1)), arg1), Local0)
+ m600(arg0, 38, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(2, 10, 1)), arg1), Local0)
+ m600(arg0, 39, Local0, Ones)
+ }
+
+ // LLess
+
+ Store(LLess("21 03 00", arg1), Local0)
+ m600(arg0, 40, Local0, Zero)
+
+ Store(LLess("21 03 01", arg1), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ Store(LLess("21 03 0 ", arg1), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LLess("21 03 00q", arg1), Local0)
+ m600(arg0, 43, Local0, Zero)
+
+ Store(LLess(aus9, arg1), Local0)
+ m600(arg0, 44, Local0, Zero)
+
+ Store(LLess(ausa, arg1), Local0)
+ m600(arg0, 45, Local0, Zero)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aus9)), arg1), Local0)
+ m600(arg0, 46, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(ausa)), arg1), Local0)
+ m600(arg0, 47, Local0, Zero)
+ }
+
+ Store(LLess(Derefof(Index(paus, 9)), arg1), Local0)
+ m600(arg0, 48, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paus, 10)), arg1), Local0)
+ m600(arg0, 49, Local0, Zero)
+
+ // Method returns String
+
+ Store(LLess(m601(2, 9), arg1), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ Store(LLess(m601(2, 10), arg1), Local0)
+ m600(arg0, 51, Local0, Zero)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LLess(Derefof(m602(2, 9, 1)), arg1), Local0)
+ m600(arg0, 52, Local0, Zero)
+
+ Store(LLess(Derefof(m602(2, 10, 1)), arg1), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual("21 03 00", arg1), Local0)
+ m600(arg0, 54, Local0, Ones)
+
+ Store(LLessEqual("21 03 01", arg1), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLessEqual("21 03 0 ", arg1), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLessEqual("21 03 00q", arg1), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLessEqual(aus9, arg1), Local0)
+ m600(arg0, 58, Local0, Ones)
+
+ Store(LLessEqual(ausa, arg1), Local0)
+ m600(arg0, 59, Local0, Zero)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aus9)), arg1), Local0)
+ m600(arg0, 60, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(ausa)), arg1), Local0)
+ m600(arg0, 61, Local0, Zero)
+ }
+
+ Store(LLessEqual(Derefof(Index(paus, 9)), arg1), Local0)
+ m600(arg0, 62, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paus, 10)), arg1), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ // Method returns String
+
+ Store(LLessEqual(m601(2, 9), arg1), Local0)
+ m600(arg0, 64, Local0, Ones)
+
+ Store(LLessEqual(m601(2, 10), arg1), Local0)
+ m600(arg0, 65, Local0, Zero)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(2, 9, 1)), arg1), Local0)
+ m600(arg0, 66, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(2, 10, 1)), arg1), Local0)
+ m600(arg0, 67, Local0, Zero)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual("21 03 00", arg1), Local0)
+ m600(arg0, 68, Local0, Zero)
+
+ Store(LNotEqual("21 03 01", arg1), Local0)
+ m600(arg0, 69, Local0, Ones)
+
+ Store(LNotEqual("21 03 0 ", arg1), Local0)
+ m600(arg0, 70, Local0, Ones)
+
+ Store(LNotEqual("21 03 00q", arg1), Local0)
+ m600(arg0, 71, Local0, Ones)
+
+ Store(LNotEqual(aus9, arg1), Local0)
+ m600(arg0, 72, Local0, Zero)
+
+ Store(LNotEqual(ausa, arg1), Local0)
+ m600(arg0, 73, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aus9)), arg1), Local0)
+ m600(arg0, 74, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(ausa)), arg1), Local0)
+ m600(arg0, 75, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paus, 9)), arg1), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paus, 10)), arg1), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ // Method returns String
+
+ Store(LNotEqual(m601(2, 9), arg1), Local0)
+ m600(arg0, 78, Local0, Zero)
+
+ Store(LNotEqual(m601(2, 10), arg1), Local0)
+ m600(arg0, 79, Local0, Ones)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(2, 9, 1)), arg1), Local0)
+ m600(arg0, 80, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(2, 10, 1)), arg1), Local0)
+ m600(arg0, 81, Local0, Ones)
+ }
+
+ // Boundary Cases
+
+ Store(LEqual("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63",
+ arg2),
+ Local0)
+ m600(arg0, 82, Local0, Ones)
+
+ Store(LEqual("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 64",
+ arg2),
+ Local0)
+ m600(arg0, 83, Local0, Zero)
+
+ Store(LGreater("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63",
+ arg2),
+ Local0)
+ m600(arg0, 84, Local0, Zero)
+
+ Store(LGreater("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 64",
+ arg2),
+ Local0)
+ m600(arg0, 85, Local0, Ones)
+
+ Store(LGreaterEqual("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63",
+ arg2),
+ Local0)
+ m600(arg0, 86, Local0, Ones)
+
+ Store(LGreaterEqual("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 64",
+ arg2),
+ Local0)
+ m600(arg0, 87, Local0, Ones)
+
+ Store(LLess("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63",
+ arg2),
+ Local0)
+ m600(arg0, 88, Local0, Zero)
+
+ Store(LLess("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 64",
+ arg2),
+ Local0)
+ m600(arg0, 89, Local0, Zero)
+
+ Store(LLessEqual("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63",
+ arg2),
+ Local0)
+ m600(arg0, 90, Local0, Ones)
+
+ Store(LLessEqual("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 64",
+ arg2),
+ Local0)
+ m600(arg0, 91, Local0, Zero)
+
+
+ Store(LNotEqual("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63",
+ arg2),
+ Local0)
+ m600(arg0, 92, Local0, Zero)
+
+ Store(LNotEqual("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 64",
+ arg2),
+ Local0)
+ m600(arg0, 93, Local0, Ones)
+ }
+
+ // Buffer to String conversion of the Buffer second operand of
+ // Concatenate operator when the first operand is evaluated as String
+ Method(m070, 3)
+ {
+ Store(Concatenate("", arg1), Local0)
+ m600(arg0, 0, Local0, bs25)
+
+ Store(Concatenate("1234q", arg1), Local0)
+ m600(arg0, 1, Local0, bs26)
+
+ Store(Concatenate(aus0, arg1), Local0)
+ m600(arg0, 2, Local0, bs25)
+
+ Store(Concatenate(aus1, arg1), Local0)
+ m600(arg0, 3, Local0, bs26)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aus0)), arg1), Local0)
+ m600(arg0, 4, Local0, bs25)
+
+ Store(Concatenate(Derefof(Refof(aus1)), arg1), Local0)
+ m600(arg0, 5, Local0, bs26)
+ }
+
+ Store(Concatenate(Derefof(Index(paus, 0)), arg1), Local0)
+ m600(arg0, 6, Local0, bs25)
+
+ Store(Concatenate(Derefof(Index(paus, 1)), arg1), Local0)
+ m600(arg0, 7, Local0, bs26)
+
+ // Method returns String
+
+ Store(Concatenate(m601(2, 0), arg1), Local0)
+ m600(arg0, 8, Local0, bs25)
+
+ Store(Concatenate(m601(2, 1), arg1), Local0)
+ m600(arg0, 9, Local0, bs26)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(2, 0, 1)), arg1), Local0)
+ m600(arg0, 10, Local0, bs25)
+
+ Store(Concatenate(Derefof(m602(2, 1, 1)), arg1), Local0)
+ m600(arg0, 11, Local0, bs26)
+ }
+
+ Concatenate("", arg1, Local0)
+ m600(arg0, 12, Local0, bs25)
+
+ Concatenate("1234q", arg1, Local0)
+ m600(arg0, 13, Local0, bs26)
+
+ Concatenate(aus0, arg1, Local0)
+ m600(arg0, 14, Local0, bs25)
+
+ Concatenate(aus1, arg1, Local0)
+ m600(arg0, 15, Local0, bs26)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aus0)), arg1, Local0)
+ m600(arg0, 16, Local0, bs25)
+
+ Concatenate(Derefof(Refof(aus1)), arg1, Local0)
+ m600(arg0, 17, Local0, bs26)
+ }
+
+ Concatenate(Derefof(Index(paus, 0)), arg1, Local0)
+ m600(arg0, 18, Local0, bs25)
+
+ Concatenate(Derefof(Index(paus, 1)), arg1, Local0)
+ m600(arg0, 19, Local0, bs26)
+
+ // Method returns String
+
+ Concatenate(m601(2, 0), arg1, Local0)
+ m600(arg0, 20, Local0, bs25)
+
+ Concatenate(m601(2, 1), arg1, Local0)
+ m600(arg0, 21, Local0, bs26)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Concatenate(Derefof(m602(2, 0, 1)), arg1, Local0)
+ m600(arg0, 22, Local0, bs25)
+
+ Concatenate(Derefof(m602(2, 1, 1)), arg1, Local0)
+ m600(arg0, 23, Local0, bs26)
+ }
+
+ // Boundary Cases
+
+ Store(Concatenate("",
+ arg2),
+ Local0)
+ m600(arg0, 24, Local0, bs27)
+ }
+
+// Method(m071, 1)
+
+// Method(m072, 1)
+
+ /*
+ * Begin of the test body
+ */
+
+ // Integer to String implicit conversion Cases.
+
+ // Integer to String conversion of the Integer second operand of
+ // Logical operators when the first operand is evaluated as String.
+ // LEqual LGreater LGreaterEqual LLess LLessEqual LNotEqual
+ if (F64) {
+ Concatenate(ts, "-m640", Local0)
+ SRMT(Local0)
+ m640(Local0, 0xfe7cb391d650a284)
+ } else {
+ Concatenate(ts, "-m320", Local0)
+ SRMT(Local0)
+ m320(Local0, 0xc179b3fe)
+ }
+
+ // Integer to String conversion of the Integer second operand of
+ // Concatenate operator when the first operand is evaluated as String
+ if (F64) {
+ Concatenate(ts, "-m641", Local0)
+ SRMT(Local0)
+ m641(Local0, 0xfe7cb391d650a284)
+ } else {
+ Concatenate(ts, "-m321", Local0)
+ SRMT(Local0)
+ m321(Local0, 0xfe7cb391d650a284, 0xc179b3fe)
+ }
+
+ // Integer to String conversion of the Integer value
+ // of Expression of Case statement when Expression in
+ // Switch is either static String data or explicitly
+ // converted to String by ToDecimalString, ToHexString
+ // or ToString
+ //
+ // Note: Expression of Case can be only static data
+
+ // Integer to Buffer implicit conversion Cases.
+
+ // Integer to Buffer conversion of the Integer second operand of
+ // Logical operators when the first operand is evaluated as Buffer
+ // (LEqual, LGreater, LGreaterEqual, LLess, LLessEqual, LNotEqual)
+ if (F64) {
+ Concatenate(ts, "-m644", Local0)
+ SRMT(Local0)
+ m644(Local0, 0xfe7cb391d650a284)
+ } else {
+ Concatenate(ts, "-m324", Local0)
+ SRMT(Local0)
+ m324(Local0, 0xc179b3fe)
+ }
+
+ // Integer to Buffer conversion of the both Integer operands of
+ // Concatenate operator
+ if (F64) {
+ Concatenate(ts, "-m645", Local0)
+ SRMT(Local0)
+ m645(Local0, 0xfe7cb391d650a284)
+ } else {
+ Concatenate(ts, "-m325", Local0)
+ SRMT(Local0)
+ m325(Local0, 0xc179b3fe)
+ }
+
+ // Integer to Buffer conversion of the Integer second operand of
+ // Concatenate operator when the first operand is evaluated as Buffer
+ if (F64) {
+ Concatenate(ts, "-m646", Local0)
+ SRMT(Local0)
+ m646(Local0, 0xfe7cb391d650a284)
+ } else {
+ Concatenate(ts, "-m326", Local0)
+ SRMT(Local0)
+ m326(Local0, 0xfe7cb391d650a284, 0xc179b3fe)
+ }
+
+ // Integer to Buffer conversion of the Integer Source operand of
+ // ToString operator
+ if (F64) {
+ Concatenate(ts, "-m647", Local0)
+ SRMT(Local0)
+ m647(Local0, 0x6e7c534136502214, 0x6e00534136002214)
+ } else {
+ Concatenate(ts, "-m327", Local0)
+ SRMT(Local0)
+ m327(Local0, 0x6179534e, 0x6e7c534136002214)
+ }
+
+ // Integer to Buffer conversion of the Integer Source operand of
+ // Mid operator
+ if (F64) {
+ Concatenate(ts, "-m648", Local0)
+ SRMT(Local0)
+ m648(Local0, 0xfe7cb391d650a284, 0x6e7c534136002214)
+ } else {
+ Concatenate(ts, "-m328", Local0)
+ SRMT(Local0)
+ m328(Local0, 0xc179b3fe, 0x6e7c534136002214)
+ }
+
+ // Integer to Buffer conversion of the Integer value of
+ // Expression of Case statement when Expression in Switch
+ // is either static Buffer data or explicitly converted to
+ // Buffer by ToBuffer
+ //
+ // Note: Expression of Case can be only static data
+
+
+ // String to Integer implicit conversion Cases.
+
+ // String to Integer conversion of the String sole operand
+ // of the 1-parameter Integer arithmetic operators
+ // (Decrement, Increment, FindSetLeftBit, FindSetRightBit, Not)
+ if (F64) {
+ Concatenate(ts, "-m64b", Local0)
+ SRMT(Local0)
+ m64b(Local0, "0321", "FE7CB391D650A284")
+ } else {
+ Concatenate(ts, "-m32b", Local0)
+ SRMT(Local0)
+ m32b(Local0, "0321", "C179B3FE")
+ }
+
+ // String to Integer conversion of the String sole operand
+ // of the LNot Logical Integer operator
+ Concatenate(ts, "-m000", Local0)
+ SRMT(Local0)
+ m000(Local0, "0321", "FE7CB391D650A284", "C179B3FE", "0")
+
+ // String to Integer conversion of the String sole operand
+ // of the FromBCD and ToBCD conversion operators
+ if (F64) {
+ Concatenate(ts, "-m64c", Local0)
+ SRMT(Local0)
+ m64c(Local0, "0321", "FE7CB391D650A284",
+ "3789012345678901", "D76162EE9EC35")
+ } else {
+ Concatenate(ts, "-m32c", Local0)
+ SRMT(Local0)
+ m32c(Local0, "0321", "FE7CB391D650A284",
+ "90123456", "55F2CC0")
+ }
+
+ // String to Integer conversion of each String operand
+ // of the 2-parameter Integer arithmetic operators
+ // Add, And, Divide, Mod, Multiply, NAnd, NOr, Or,
+ // ShiftLeft, ShiftRight, Subtract, Xor
+ if (F64) {
+ m64d(Concatenate(ts, "-m64d"))
+ } else {
+ m32d(Concatenate(ts, "-m32d"))
+ }
+
+ // String to Integer conversion of each String operand
+ // of the 2-parameter Logical Integer operators LAnd and LOr
+ if (F64) {
+ m64e(Concatenate(ts, "-m64e"))
+ } else {
+ m32e(Concatenate(ts, "-m32e"))
+ }
+
+ // String to Integer conversion of the String second operand of
+ // Logical operators when the first operand is evaluated as Integer
+ // (LEqual, LGreater, LGreaterEqual, LLess, LLessEqual, LNotEqual)
+
+ Concatenate(ts, "-m02b", Local0)
+ SRMT(Local0)
+ m02b(Local0, "0321")
+
+ if (F64) {
+ Concatenate(ts, "-m64f", Local0)
+ SRMT(Local0)
+ m64f(Local0, "FE7CB391D650A284")
+ } else {
+ Concatenate(ts, "-m32f", Local0)
+ SRMT(Local0)
+ m32f(Local0, "C179B3FE")
+ }
+
+ // String to Integer intermediate conversion of the String second
+ // operand of Concatenate operator in case the first one is Integer
+ if (F64) {
+ Concatenate(ts, "-m64g", Local0)
+ SRMT(Local0)
+ m64g(Local0, "0321", "FE7CB391D650A284")
+ } else {
+ Concatenate(ts, "-m32g", Local0)
+ SRMT(Local0)
+ m32g(Local0, "0321", "C179B3FE")
+ }
+
+ // String to Integer conversion of the String Length (second)
+ // operand of the ToString operator
+
+ Concatenate(ts, "-m02c", Local0)
+ SRMT(Local0)
+ m02c(Local0, "0321", "B")
+
+ if (F64) {
+ Concatenate(ts, "-m64h", Local0)
+ SRMT(Local0)
+ m64h(Local0, "FE7CB391D650A284")
+ } else {
+ Concatenate(ts, "-m32h", Local0)
+ SRMT(Local0)
+ m32h(Local0, "C179B3FE")
+ }
+
+ // String to Integer conversion of the String Index (second)
+ // operand of the Index operator
+ Concatenate(ts, "-m02d", Local0)
+ SRMT(Local0)
+ m02d(Local0, "B")
+
+ // String to Integer conversion of the String Arg (third)
+ // operand of the Fatal operator
+ // (it can only be checked an exception does not occur)
+ Concatenate(ts, "-m02e", Local0)
+ SRMT(Local0)
+ m02e(Local0, "0321", "FE7CB391D650A284", "C179B3FE")
+
+ // String to Integer conversion of the String Index and Length
+ // operands of the Mid operator
+
+ Concatenate(ts, "-m02f", Local0)
+ SRMT(Local0)
+ m02f(Local0, "B")
+
+ if (F64) {
+ Concatenate(ts, "-m64i", Local0)
+ SRMT(Local0)
+ m64i(Local0, "FE7CB391D650A284", "B")
+ } else {
+ Concatenate(ts, "-m32i", Local0)
+ SRMT(Local0)
+ m32i(Local0, "C179B3FE", "B")
+ }
+
+ // String to Integer conversion of the String StartIndex
+ // operand of the Match operator
+ Concatenate(ts, "-m030", Local0)
+ SRMT(Local0)
+ m030(Local0, "B")
+
+ // String to Integer conversion of the String sole operand
+ // of the Method execution control operators (Sleep, Stall)
+ Concatenate(ts, "-m031", Local0)
+ SRMT(Local0)
+ m031(Local0, "0321", "63")
+
+ // String to Integer conversion of the String TimeoutValue
+ // (second) operand of the Acquire operator
+/* Compiler allows only Integer constant as TimeoutValue (Bug 1)
+ Concatenate(ts, "-m032", Local0)
+ SRMT(Local0)
+ m032(Local0, "0321")
+*/
+
+ // String to Integer conversion of the String TimeoutValue
+ // (second) operand of the Wait operator
+ Concatenate(ts, "-m033", Local0)
+ SRMT(Local0)
+ m033(Local0, "0321")
+
+ // String to Integer conversion of the String value
+ // of Predicate of the Method execution control statements
+ // (If, ElseIf, While)
+ Concatenate(ts, "-m034", Local0)
+ SRMT(Local0)
+ m034(Local0, "0321", "FE7CB391D650A284", "C179B3FE", "0")
+
+ // String to Integer conversion of the String value
+ // of Expression of Case statement when Expression in
+ // Switch is evaluated as Integer
+ //
+ // Note: Expression of Case can be only static data
+
+
+ // String to Buffer implicit conversion Cases.
+
+ // String to Buffer conversion of the String second operand of
+ // Logical operators when the first operand is evaluated as Buffer
+ // (LEqual, LGreater, LGreaterEqual, LLess, LLessEqual, LNotEqual)
+ Concatenate(ts, "-m035", Local0)
+ SRMT(Local0)
+ m035(Local0, "0321", "",
+ "!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*")
+
+ // String to Buffer conversion of the String second operand of
+ // Concatenate operator when the first operand is evaluated as Buffer
+ Concatenate(ts, "-m036", Local0)
+ SRMT(Local0)
+ m036(Local0, "0321", "",
+ "!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*")
+
+ // String to Buffer conversion of the String Source operand of
+ // ToString operator (has a visual effect in shortening of the
+ // String taken the null character)
+ Concatenate(ts, "-m037", Local0)
+ SRMT(Local0)
+ m037(Local0, "0321", "",
+ "!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*")
+
+
+ // Buffer to Integer implicit conversion Cases.
+
+ // Buffer to Integer conversion of the Buffer sole operand
+ // of the 1-parameter Integer arithmetic operators
+ // (Decrement, Increment, FindSetLeftBit, FindSetRightBit, Not)
+ if (F64) {
+ Concatenate(ts, "-m64l", Local0)
+ SRMT(Local0)
+ m64l(Local0, Buffer(3){0x21, 0x03, 0x00},
+ Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5})
+ } else {
+ Concatenate(ts, "-m32l", Local0)
+ SRMT(Local0)
+ m32l(Local0, Buffer(3){0x21, 0x03, 0x00},
+ Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5})
+ }
+
+ // Buffer to Integer conversion of the Buffer sole operand
+ // of the LNot Logical Integer operator
+ Concatenate(ts, "-m03a", Local0)
+ SRMT(Local0)
+ m03a(Local0, Buffer(3){0x21, 0x03, 0x00},
+ Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5},
+ Buffer(1){0x00})
+
+ // Buffer to Integer conversion of the Buffer sole operand
+ // of the FromBCD and ToBCD conversion operators
+ if (F64) {
+ Concatenate(ts, "-m64m", Local0)
+ SRMT(Local0)
+ m64m(Local0, Buffer(3){0x21, 0x03, 0x00},
+ Buffer() {0x01, 0x89, 0x67, 0x45, 0x23, 0x01, 0x89, 0x37},
+ Buffer() {0x35, 0xec, 0xe9, 0x2e, 0x16, 0x76, 0x0d})
+ } else {
+ Concatenate(ts, "-m32m", Local0)
+ SRMT(Local0)
+ m32m(Local0, Buffer(3){0x21, 0x03, 0x00},
+ Buffer() {0x56, 0x34, 0x12, 0x90}, Buffer() {0xc0, 0x2c, 0x5f, 0x05})
+ }
+
+ // Buffer to Integer conversion of each Buffer operand
+ // of the 2-parameter Integer arithmetic operators
+ // Add, And, Divide, Mod, Multiply, NAnd, NOr, Or,
+ // ShiftLeft, ShiftRight, Subtract, Xor
+ if (F64) {
+ m64n(Concatenate(ts, "-m64n"))
+ } else {
+ m32n(Concatenate(ts, "-m32n"))
+ }
+
+ // Buffer to Integer conversion of each Buffer operand
+ // of the 2-parameter Logical Integer operators LAnd and LOr
+ if (F64) {
+ m64o(Concatenate(ts, "-m64o"))
+ } else {
+ m32o(Concatenate(ts, "-m32o"))
+ }
+
+ // Buffer to Integer conversion of the Buffer second operand of
+ // Logical operators when the first operand is evaluated as Integer
+ // (LEqual, LGreater, LGreaterEqual, LLess, LLessEqual, LNotEqual)
+
+ Concatenate(ts, "-m065", Local0)
+ SRMT(Local0)
+ m065(Local0, Buffer(3){0x21, 0x03, 0x00})
+
+ if (F64) {
+ Concatenate(ts, "-m64p", Local0)
+ SRMT(Local0)
+ m64p(Local0, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5})
+ } else {
+ Concatenate(ts, "-m32p", Local0)
+ SRMT(Local0)
+ m32p(Local0, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5})
+ }
+
+ // Buffer to Integer intermediate conversion of the Buffer second
+ // operand of Concatenate operator in case the first one is Integer
+ if (F64) {
+ Concatenate(ts, "-m64q", Local0)
+ SRMT(Local0)
+ m64q(Local0, Buffer(3){0x21, 0x03, 0x00},
+ Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5})
+ } else {
+ Concatenate(ts, "-m32q", Local0)
+ SRMT(Local0)
+ m32q(Local0, Buffer(3){0x21, 0x03, 0x00},
+ Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5})
+ }
+
+ // Buffer to Integer conversion of the Buffer Length (second)
+ // operand of the ToString operator
+
+ Concatenate(ts, "-m066", Local0)
+ SRMT(Local0)
+ m066(Local0, Buffer(3){0x21, 0x03, 0x00}, Buffer(1){0xb})
+
+ if (F64) {
+ Concatenate(ts, "-m64r", Local0)
+ SRMT(Local0)
+ m64r(Local0, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5})
+ } else {
+ Concatenate(ts, "-m32r", Local0)
+ SRMT(Local0)
+ m32r(Local0, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5})
+ }
+
+ // Buffer to Integer conversion of the Buffer Index (second)
+ // operand of the Index operator
+ Concatenate(ts, "-m067", Local0)
+ SRMT(Local0)
+ m067(Local0, Buffer(1){0xb})
+
+ // Buffer to Integer conversion of the String Arg (third)
+ // operand of the Fatal operator
+ // (it can only be checked an exception does not occur)
+ Concatenate(ts, "-m068", Local0)
+ SRMT(Local0)
+ m068(Local0, Buffer(3){0x21, 0x03, 0x00},
+ Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5})
+
+ // Buffer to Integer conversion of the Buffer Index and Length
+ // operands of the Mid operator
+
+ Concatenate(ts, "-m069", Local0)
+ SRMT(Local0)
+ m069(Local0, Buffer(1){0xb})
+ if (F64) {
+ Concatenate(ts, "-m64s", Local0)
+ SRMT(Local0)
+ m64s(Local0,
+ Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5},
+ Buffer(1){0xb})
+ } else {
+ Concatenate(ts, "-m32s", Local0)
+ SRMT(Local0)
+ m32s(Local0,
+ Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5},
+ Buffer(1){0xb})
+ }
+
+ // Buffer to Integer conversion of the Buffer StartIndex
+ // operand of the Match operator
+ Concatenate(ts, "-m06a", Local0)
+ SRMT(Local0)
+ m06a(Local0, Buffer(1){0xb})
+
+ // Buffer to Integer conversion of the Buffer sole operand
+ // of the Method execution control operators (Sleep, Stall)
+ Concatenate(ts, "-m06b", Local0)
+ SRMT(Local0)
+ m06b(Local0, Buffer(3){0x21, 0x03, 0x00}, Buffer(1){0x3f})
+
+ // Buffer to Integer conversion of the Buffer TimeoutValue
+ // (second) operand of the Acquire operator
+/* Compiler allows only Integer constant as TimeoutValue (Bug 1)
+ Concatenate(ts, "-m06c", Local0)
+ SRMT(Local0)
+ m06c(Local0, Buffer(3){0x21, 0x03, 0x00})
+*/
+
+ // Buffer to Integer conversion of the Buffer TimeoutValue
+ // (second) operand of the Wait operator
+ Concatenate(ts, "-m06d", Local0)
+ SRMT(Local0)
+ m06d(Local0, Buffer(3){0x21, 0x03, 0x00})
+
+ // Buffer to Integer conversion of the Buffer value
+ // of Predicate of the Method execution control statements
+ // (If, ElseIf, While)
+ Concatenate(ts, "-m06e", Local0)
+ SRMT(Local0)
+ m06e(Local0, Buffer(3){0x21, 0x03, 0x00},
+ Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5},
+ Buffer(1){0x00})
+
+ // Buffer to Integer conversion of the Buffer value
+ // of Expression of Case statement when Expression in
+ // Switch is evaluated as Integer
+ //
+ // Note: Expression of Case can be only static data
+
+ // Buffer to String implicit conversion Cases.
+
+ // Buffer to String conversion of the Buffer second operand of
+ // Logical operators when the first operand is evaluated as String.
+ // LEqual LGreater LGreaterEqual LLess LLessEqual LNotEqual
+ Concatenate(ts, "-m06f", Local0)
+ SRMT(Local0)
+ m06f(Local0, Buffer(3){0x21, 0x03, 0x00},
+ Buffer(67){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,})
+
+ // Buffer to String conversion of the Buffer second operand of
+ // Concatenate operator when the first operand is evaluated as String
+ Concatenate(ts, "-m070", Local0)
+ SRMT(Local0)
+ m070(Local0, Buffer(3){0x21, 0x03, 0x00},
+ Buffer(67){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,})
+}
+
+// Run-method
+Method(OPR5)
+{
+ Store("TEST: OPR5, Source Operand", Debug)
+
+ m617()
+}
diff --git a/tests/aslts/src/runtime/collections/complex/operand/tests/oconst/MAIN.asl b/tests/aslts/src/runtime/collections/complex/operand/tests/oconst/MAIN.asl
new file mode 100644
index 000000000..a218a8c9c
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/operand/tests/oconst/MAIN.asl
@@ -0,0 +1,58 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "oconst.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../../runtime/cntl/DECL_6UP.asl")
+ Include("../../../../../../runtime/collections/complex/operand/common/ocommon.asl")
+ Include("../../../../../../runtime/collections/complex/operand/tests/oconst/oconst.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../../runtime/collections/complex/operand/tests/oconst/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/complex/operand/tests/oconst/Makefile b/tests/aslts/src/runtime/collections/complex/operand/tests/oconst/Makefile
new file mode 100644
index 000000000..253450901
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/operand/tests/oconst/Makefile
@@ -0,0 +1,7 @@
+# oconst
+
+AMLMOD= oconst
+COLL= ../../../..
+
+TOP= $(COLL)/../../..
+include $(COLL)/Makefile.install
diff --git a/tests/aslts/src/runtime/collections/complex/operand/tests/oconst/RUN.asl b/tests/aslts/src/runtime/collections/complex/operand/tests/oconst/RUN.asl
new file mode 100644
index 000000000..00f5c6070
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/operand/tests/oconst/RUN.asl
@@ -0,0 +1,35 @@
+/*
+ * 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.
+ */
+
+
+if (STTT("Source Operand, immediate data immages", TCLC, 3, W010)) {
+ OPR0()
+}
+FTTT()
diff --git a/tests/aslts/src/runtime/collections/complex/operand/tests/oconst/oconst.asl b/tests/aslts/src/runtime/collections/complex/operand/tests/oconst/oconst.asl
new file mode 100644
index 000000000..947f029e0
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/operand/tests/oconst/oconst.asl
@@ -0,0 +1,27006 @@
+/*
+ * 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.
+ */
+
+/*
+ * Check implicit conversion being applied to data images
+ */
+
+Name(z085, 85)
+
+Method(m610)
+{
+ Name(ts, "m610")
+
+ // Integer to String implicit conversion Cases.
+
+ // Integer to String conversion of the Integer second operand of
+ // Logical operators when the first operand is evaluated as String.
+ // LEqual LGreater LGreaterEqual LLess LLessEqual LNotEqual
+
+ Method(m640, 1)
+ {
+ // LEqual
+
+ Store(LEqual("FE7CB391D650A284", 0xfe7cb391d650a284), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual("fE7CB391D650A284", 0xfe7cb391d650a284), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(aus4, 0xfe7cb391d650a284), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(LEqual(aus5, 0xfe7cb391d650a284), Local0)
+ m600(arg0, 3, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aus4)), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(aus5)), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 5, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paus, 4)), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paus, 5)), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ // Method returns String
+
+ Store(LEqual(m601(2, 4), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(LEqual(m601(2, 5), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 9, Local0, Zero)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(2, 4, 1)), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(2, 5, 1)), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 11, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater("FE7CB391D650A284", 0xfe7cb391d650a284), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LGreater("fE7CB391D650A284", 0xfe7cb391d650a284), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LGreater("FE7CB391D650A28 ", 0xfe7cb391d650a284), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LGreater("FE7CB391D650A284q", 0xfe7cb391d650a284), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LGreater(aus4, 0xfe7cb391d650a284), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LGreater(aus5, 0xfe7cb391d650a284), Local0)
+ m600(arg0, 17, Local0, Ones)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aus4)), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(aus5)), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 19, Local0, Ones)
+ }
+
+ Store(LGreater(Derefof(Index(paus, 4)), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paus, 5)), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns String
+
+ Store(LGreater(m601(2, 4), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LGreater(m601(2, 5), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 23, Local0, Ones)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(2, 4, 1)), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(2, 5, 1)), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual("FE7CB391D650A284", 0xfe7cb391d650a284), Local0)
+ m600(arg0, 26, Local0, Ones)
+
+ Store(LGreaterEqual("fE7CB391D650A284", 0xfe7cb391d650a284), Local0)
+ m600(arg0, 27, Local0, Ones)
+
+ Store(LGreaterEqual("FE7CB391D650A28 ", 0xfe7cb391d650a284), Local0)
+ m600(arg0, 28, Local0, Zero)
+
+ Store(LGreaterEqual("FE7CB391D650A284q", 0xfe7cb391d650a284), Local0)
+ m600(arg0, 29, Local0, Ones)
+
+ Store(LGreaterEqual(aus4, 0xfe7cb391d650a284), Local0)
+ m600(arg0, 30, Local0, Ones)
+
+ Store(LGreaterEqual(aus5, 0xfe7cb391d650a284), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aus4)), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 32, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(aus5)), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 33, Local0, Ones)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paus, 4)), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paus, 5)), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 35, Local0, Ones)
+
+ // Method returns String
+
+ Store(LGreaterEqual(m601(2, 4), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(m601(2, 5), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(2, 4, 1)), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 38, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(2, 5, 1)), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 39, Local0, Ones)
+ }
+
+ // LLess
+
+ Store(LLess("FE7CB391D650A284", 0xfe7cb391d650a284), Local0)
+ m600(arg0, 40, Local0, Zero)
+
+ Store(LLess("fE7CB391D650A284", 0xfe7cb391d650a284), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ Store(LLess("FE7CB391D650A28 ", 0xfe7cb391d650a284), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LLess("FE7CB391D650A284q", 0xfe7cb391d650a284), Local0)
+ m600(arg0, 43, Local0, Zero)
+
+ Store(LLess(aus4, 0xfe7cb391d650a284), Local0)
+ m600(arg0, 44, Local0, Zero)
+
+ Store(LLess(aus5, 0xfe7cb391d650a284), Local0)
+ m600(arg0, 45, Local0, Zero)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aus4)), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 46, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(aus5)), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 47, Local0, Zero)
+ }
+
+ Store(LLess(Derefof(Index(paus, 4)), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 48, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paus, 5)), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 49, Local0, Zero)
+
+ // Method returns String
+
+ Store(LLess(m601(2, 4), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ Store(LLess(m601(2, 5), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 51, Local0, Zero)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LLess(Derefof(m602(2, 4, 1)), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 52, Local0, Zero)
+
+ Store(LLess(Derefof(m602(2, 5, 1)), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual("FE7CB391D650A284", 0xfe7cb391d650a284), Local0)
+ m600(arg0, 54, Local0, Ones)
+
+ Store(LLessEqual("fE7CB391D650A284", 0xfe7cb391d650a284), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLessEqual("FE7CB391D650A28 ", 0xfe7cb391d650a284), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLessEqual("FE7CB391D650A284q", 0xfe7cb391d650a284), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLessEqual(aus4, 0xfe7cb391d650a284), Local0)
+ m600(arg0, 58, Local0, Ones)
+
+ Store(LLessEqual(aus5, 0xfe7cb391d650a284), Local0)
+ m600(arg0, 59, Local0, Zero)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aus4)), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 60, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(aus5)), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 61, Local0, Zero)
+ }
+
+ Store(LLessEqual(Derefof(Index(paus, 4)), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 62, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paus, 5)), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ // Method returns String
+
+ Store(LLessEqual(m601(2, 4), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 64, Local0, Ones)
+
+ Store(LLessEqual(m601(2, 5), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 65, Local0, Zero)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(2, 4, 1)), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 66, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(2, 5, 1)), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 67, Local0, Zero)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual("FE7CB391D650A284", 0xfe7cb391d650a284), Local0)
+ m600(arg0, 68, Local0, Zero)
+
+ Store(LNotEqual("fE7CB391D650A284", 0xfe7cb391d650a284), Local0)
+ m600(arg0, 69, Local0, Ones)
+
+ Store(LNotEqual("FE7CB391D650A28 ", 0xfe7cb391d650a284), Local0)
+ m600(arg0, 70, Local0, Ones)
+
+ Store(LNotEqual("FE7CB391D650A284q", 0xfe7cb391d650a284), Local0)
+ m600(arg0, 71, Local0, Ones)
+
+ Store(LNotEqual(aus4, 0xfe7cb391d650a284), Local0)
+ m600(arg0, 72, Local0, Zero)
+
+ Store(LNotEqual(aus5, 0xfe7cb391d650a284), Local0)
+ m600(arg0, 73, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aus4)), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 74, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(aus5)), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 75, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paus, 4)), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paus, 5)), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ // Method returns String
+
+ Store(LNotEqual(m601(2, 4), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 78, Local0, Zero)
+
+ Store(LNotEqual(m601(2, 5), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 79, Local0, Ones)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(2, 4, 1)), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 80, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(2, 5, 1)), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 81, Local0, Ones)
+ }
+ }
+
+ Method(m320, 1)
+ {
+ // LEqual
+
+ Store(LEqual("C179B3FE", 0xc179b3fe), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual("c179B3FE", 0xc179b3fe), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(aus3, 0xc179b3fe), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(LEqual(aus2, 0xc179b3fe), Local0)
+ m600(arg0, 3, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aus3)), 0xc179b3fe), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(aus2)), 0xc179b3fe), Local0)
+ m600(arg0, 5, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paus, 3)), 0xc179b3fe), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paus, 2)), 0xc179b3fe), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ // Method returns String
+
+ Store(LEqual(m601(2, 3), 0xc179b3fe), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(LEqual(m601(2, 2), 0xc179b3fe), Local0)
+ m600(arg0, 9, Local0, Zero)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(2, 3, 1)), 0xc179b3fe), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(2, 2, 1)), 0xc179b3fe), Local0)
+ m600(arg0, 11, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater("C179B3FE", 0xc179b3fe), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LGreater("c179B3FE", 0xc179b3fe), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LGreater("C179B3F ", 0xc179b3fe), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LGreater("C179B3FEq", 0xc179b3fe), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LGreater(aus3, 0xc179b3fe), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LGreater(aus2, 0xc179b3fe), Local0)
+ m600(arg0, 17, Local0, Ones)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aus3)), 0xc179b3fe), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(aus2)), 0xc179b3fe), Local0)
+ m600(arg0, 19, Local0, Ones)
+ }
+
+ Store(LGreater(Derefof(Index(paus, 3)), 0xc179b3fe), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paus, 2)), 0xc179b3fe), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns String
+
+ Store(LGreater(m601(2, 3), 0xc179b3fe), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LGreater(m601(2, 2), 0xc179b3fe), Local0)
+ m600(arg0, 23, Local0, Ones)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(2, 3, 1)), 0xc179b3fe), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(2, 2, 1)), 0xc179b3fe), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual("C179B3FE", 0xc179b3fe), Local0)
+ m600(arg0, 26, Local0, Ones)
+
+ Store(LGreaterEqual("c179B3FE", 0xc179b3fe), Local0)
+ m600(arg0, 27, Local0, Ones)
+
+ Store(LGreaterEqual("C179B3F ", 0xc179b3fe), Local0)
+ m600(arg0, 28, Local0, Zero)
+
+ Store(LGreaterEqual("C179B3FEq", 0xc179b3fe), Local0)
+ m600(arg0, 29, Local0, Ones)
+
+ Store(LGreaterEqual(aus3, 0xc179b3fe), Local0)
+ m600(arg0, 30, Local0, Ones)
+
+ Store(LGreaterEqual(aus2, 0xc179b3fe), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aus3)), 0xc179b3fe), Local0)
+ m600(arg0, 32, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(aus2)), 0xc179b3fe), Local0)
+ m600(arg0, 33, Local0, Ones)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paus, 3)), 0xc179b3fe), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paus, 2)), 0xc179b3fe), Local0)
+ m600(arg0, 35, Local0, Ones)
+
+ // Method returns String
+
+ Store(LGreaterEqual(m601(2, 3), 0xc179b3fe), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(m601(2, 2), 0xc179b3fe), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(2, 3, 1)), 0xc179b3fe), Local0)
+ m600(arg0, 38, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(2, 2, 1)), 0xc179b3fe), Local0)
+ m600(arg0, 39, Local0, Ones)
+ }
+
+ // LLess
+
+ Store(LLess("C179B3FE", 0xc179b3fe), Local0)
+ m600(arg0, 40, Local0, Zero)
+
+ Store(LLess("c179B3FE", 0xc179b3fe), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ Store(LLess("C179B3F ", 0xc179b3fe), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LLess("C179B3FEq", 0xc179b3fe), Local0)
+ m600(arg0, 43, Local0, Zero)
+
+ Store(LLess(aus3, 0xc179b3fe), Local0)
+ m600(arg0, 44, Local0, Zero)
+
+ Store(LLess(aus2, 0xc179b3fe), Local0)
+ m600(arg0, 45, Local0, Zero)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aus3)), 0xc179b3fe), Local0)
+ m600(arg0, 46, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(aus2)), 0xc179b3fe), Local0)
+ m600(arg0, 47, Local0, Zero)
+ }
+
+ Store(LLess(Derefof(Index(paus, 3)), 0xc179b3fe), Local0)
+ m600(arg0, 48, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paus, 2)), 0xc179b3fe), Local0)
+ m600(arg0, 49, Local0, Zero)
+
+ // Method returns String
+
+ Store(LLess(m601(2, 3), 0xc179b3fe), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ Store(LLess(m601(2, 2), 0xc179b3fe), Local0)
+ m600(arg0, 51, Local0, Zero)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LLess(Derefof(m602(2, 3, 1)), 0xc179b3fe), Local0)
+ m600(arg0, 52, Local0, Zero)
+
+ Store(LLess(Derefof(m602(2, 2, 1)), 0xc179b3fe), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual("C179B3FE", 0xc179b3fe), Local0)
+ m600(arg0, 54, Local0, Ones)
+
+ Store(LLessEqual("c179B3FE", 0xc179b3fe), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLessEqual("C179B3F ", 0xc179b3fe), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLessEqual("C179B3FEq", 0xc179b3fe), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLessEqual(aus3, 0xc179b3fe), Local0)
+ m600(arg0, 58, Local0, Ones)
+
+ Store(LLessEqual(aus2, 0xc179b3fe), Local0)
+ m600(arg0, 59, Local0, Zero)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aus3)), 0xc179b3fe), Local0)
+ m600(arg0, 60, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(aus2)), 0xc179b3fe), Local0)
+ m600(arg0, 61, Local0, Zero)
+ }
+
+ Store(LLessEqual(Derefof(Index(paus, 3)), 0xc179b3fe), Local0)
+ m600(arg0, 62, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paus, 2)), 0xc179b3fe), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ // Method returns String
+
+ Store(LLessEqual(m601(2, 3), 0xc179b3fe), Local0)
+ m600(arg0, 64, Local0, Ones)
+
+ Store(LLessEqual(m601(2, 2), 0xc179b3fe), Local0)
+ m600(arg0, 65, Local0, Zero)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(2, 3, 1)), 0xc179b3fe), Local0)
+ m600(arg0, 66, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(2, 2, 1)), 0xc179b3fe), Local0)
+ m600(arg0, 67, Local0, Zero)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual("C179B3FE", 0xc179b3fe), Local0)
+ m600(arg0, 68, Local0, Zero)
+
+ Store(LNotEqual("c179B3FE", 0xc179b3fe), Local0)
+ m600(arg0, 69, Local0, Ones)
+
+ Store(LNotEqual("C179B3F ", 0xc179b3fe), Local0)
+ m600(arg0, 70, Local0, Ones)
+
+ Store(LNotEqual("C179B3FEq", 0xc179b3fe), Local0)
+ m600(arg0, 71, Local0, Ones)
+
+ Store(LNotEqual(aus3, 0xc179b3fe), Local0)
+ m600(arg0, 72, Local0, Zero)
+
+ Store(LNotEqual(aus2, 0xc179b3fe), Local0)
+ m600(arg0, 73, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aus3)), 0xc179b3fe), Local0)
+ m600(arg0, 74, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(aus2)), 0xc179b3fe), Local0)
+ m600(arg0, 75, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paus, 3)), 0xc179b3fe), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paus, 2)), 0xc179b3fe), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ // Method returns String
+
+ Store(LNotEqual(m601(2, 3), 0xc179b3fe), Local0)
+ m600(arg0, 78, Local0, Zero)
+
+ Store(LNotEqual(m601(2, 2), 0xc179b3fe), Local0)
+ m600(arg0, 79, Local0, Ones)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(2, 3, 1)), 0xc179b3fe), Local0)
+ m600(arg0, 80, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(2, 2, 1)), 0xc179b3fe), Local0)
+ m600(arg0, 81, Local0, Ones)
+ }
+ }
+
+ // Integer to String conversion of the Integer second operand of
+ // Concatenate operator when the first operand is evaluated as String
+
+ Method(m641, 1)
+ {
+ Store(Concatenate("", 0xfe7cb391d650a284), Local0)
+ m600(arg0, 0, Local0, bs10)
+
+ Store(Concatenate("1234q", 0xfe7cb391d650a284), Local0)
+ m600(arg0, 1, Local0, bs11)
+
+ Store(Concatenate(aus0, 0xfe7cb391d650a284), Local0)
+ m600(arg0, 2, Local0, bs10)
+
+ Store(Concatenate(aus1, 0xfe7cb391d650a284), Local0)
+ m600(arg0, 3, Local0, bs11)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aus0)), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 4, Local0, bs10)
+
+ Store(Concatenate(Derefof(Refof(aus1)), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 5, Local0, bs11)
+ }
+
+ Store(Concatenate(Derefof(Index(paus, 0)), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 6, Local0, bs10)
+
+ Store(Concatenate(Derefof(Index(paus, 1)), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 7, Local0, bs11)
+
+ // Method returns String
+
+ Store(Concatenate(m601(2, 0), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 8, Local0, bs10)
+
+ Store(Concatenate(m601(2, 1), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 9, Local0, bs11)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(2, 0, 1)), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 10, Local0, bs10)
+
+ Store(Concatenate(Derefof(m602(2, 1, 1)), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 11, Local0, bs11)
+ }
+
+ Concatenate("", 0xfe7cb391d650a284, Local0)
+ m600(arg0, 12, Local0, bs10)
+
+ Concatenate("1234q", 0xfe7cb391d650a284, Local0)
+ m600(arg0, 13, Local0, bs11)
+
+ Concatenate(aus0, 0xfe7cb391d650a284, Local0)
+ m600(arg0, 14, Local0, bs10)
+
+ Concatenate(aus1, 0xfe7cb391d650a284, Local0)
+ m600(arg0, 15, Local0, bs11)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aus0)), 0xfe7cb391d650a284, Local0)
+ m600(arg0, 16, Local0, bs10)
+
+ Concatenate(Derefof(Refof(aus1)), 0xfe7cb391d650a284, Local0)
+ m600(arg0, 17, Local0, bs11)
+ }
+
+ Concatenate(Derefof(Index(paus, 0)), 0xfe7cb391d650a284, Local0)
+ m600(arg0, 18, Local0, bs10)
+
+ Concatenate(Derefof(Index(paus, 1)), 0xfe7cb391d650a284, Local0)
+ m600(arg0, 19, Local0, bs11)
+
+ // Method returns String
+
+ Concatenate(m601(2, 0), 0xfe7cb391d650a284, Local0)
+ m600(arg0, 20, Local0, bs10)
+
+ Concatenate(m601(2, 1), 0xfe7cb391d650a284, Local0)
+ m600(arg0, 21, Local0, bs11)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Concatenate(Derefof(m602(2, 0, 1)), 0xfe7cb391d650a284, Local0)
+ m600(arg0, 22, Local0, bs10)
+
+ Concatenate(Derefof(m602(2, 1, 1)), 0xfe7cb391d650a284, Local0)
+ m600(arg0, 23, Local0, bs11)
+ }
+ }
+
+ Method(m321, 1)
+ {
+ Store(Concatenate("", 0xc179b3fe), Local0)
+ m600(arg0, 0, Local0, bs12)
+
+ Store(Concatenate("1234q", 0xc179b3fe), Local0)
+ m600(arg0, 1, Local0, bs13)
+
+ Store(Concatenate(aus0, 0xc179b3fe), Local0)
+ m600(arg0, 2, Local0, bs12)
+
+ Store(Concatenate(aus1, 0xc179b3fe), Local0)
+ m600(arg0, 3, Local0, bs13)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aus0)), 0xc179b3fe), Local0)
+ m600(arg0, 4, Local0, bs12)
+
+ Store(Concatenate(Derefof(Refof(aus1)), 0xc179b3fe), Local0)
+ m600(arg0, 5, Local0, bs13)
+ }
+
+ Store(Concatenate(Derefof(Index(paus, 0)), 0xc179b3fe), Local0)
+ m600(arg0, 6, Local0, bs12)
+
+ Store(Concatenate(Derefof(Index(paus, 1)), 0xc179b3fe), Local0)
+ m600(arg0, 7, Local0, bs13)
+
+ // Method returns String
+
+ Store(Concatenate(m601(2, 0), 0xc179b3fe), Local0)
+ m600(arg0, 8, Local0, bs12)
+
+ Store(Concatenate(m601(2, 1), 0xc179b3fe), Local0)
+ m600(arg0, 9, Local0, bs13)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(2, 0, 1)), 0xc179b3fe), Local0)
+ m600(arg0, 10, Local0, bs12)
+
+ Store(Concatenate(Derefof(m602(2, 1, 1)), 0xc179b3fe), Local0)
+ m600(arg0, 11, Local0, bs13)
+ }
+
+ Store(Concatenate("", 0xfe7cb391d650a284), Local0)
+ m600(arg0, 12, Local0, bs14)
+
+ Store(Concatenate("1234q", 0xfe7cb391d650a284), Local0)
+ m600(arg0, 13, Local0, bs15)
+
+ Concatenate("", 0xc179b3fe, Local0)
+ m600(arg0, 14, Local0, bs12)
+
+ Concatenate("1234q", 0xc179b3fe, Local0)
+ m600(arg0, 15, Local0, bs13)
+
+ Concatenate(aus0, 0xc179b3fe, Local0)
+ m600(arg0, 16, Local0, bs12)
+
+ Concatenate(aus1, 0xc179b3fe, Local0)
+ m600(arg0, 17, Local0, bs13)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aus0)), 0xc179b3fe, Local0)
+ m600(arg0, 18, Local0, bs12)
+
+ Concatenate(Derefof(Refof(aus1)), 0xc179b3fe, Local0)
+ m600(arg0, 19, Local0, bs13)
+ }
+
+ Concatenate(Derefof(Index(paus, 0)), 0xc179b3fe, Local0)
+ m600(arg0, 20, Local0, bs12)
+
+ Concatenate(Derefof(Index(paus, 1)), 0xc179b3fe, Local0)
+ m600(arg0, 21, Local0, bs13)
+
+ // Method returns String
+
+ Concatenate(m601(2, 0), 0xc179b3fe, Local0)
+ m600(arg0, 22, Local0, bs12)
+
+ Concatenate(m601(2, 1), 0xc179b3fe, Local0)
+ m600(arg0, 23, Local0, bs13)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Concatenate(Derefof(m602(2, 0, 1)), 0xc179b3fe, Local0)
+ m600(arg0, 24, Local0, bs12)
+
+ Concatenate(Derefof(m602(2, 1, 1)), 0xc179b3fe, Local0)
+ m600(arg0, 25, Local0, bs13)
+ }
+
+ Concatenate("", 0xfe7cb391d650a284, Local0)
+ m600(arg0, 26, Local0, bs14)
+
+ Concatenate("1234q", 0xfe7cb391d650a284, Local0)
+ m600(arg0, 27, Local0, bs15)
+ }
+
+
+ // Integer to String conversion of the Integer elements
+ // of a search package of Match operator when some MatchObject
+ // is evaluated as String
+
+ Method(m642, 1)
+ {
+
+ Store(Match(Package(){0xfe7cb391d650a284},
+ MEQ, "FE7CB391D650A284", MTR, 0, 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(Match(Package(){0xfe7cb391d650a284},
+ MEQ, "fE7CB391D650A284", MTR, 0, 0), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(Match(Package(){0xfe7cb391d650a284},
+ MTR, 0, MEQ, "FE7CB391D650A284", 0), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(Match(Package(){0xfe7cb391d650a284},
+ MTR, 0, MEQ, "fE7CB391D650A284", 0), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ }
+
+ Method(m322, 1)
+ {
+ Store(Match(Package(){0xc179b3fe},
+ MEQ, "C179B3FE", MTR, 0, 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(Match(Package(){0xc179b3fe},
+ MEQ, "c179B3FE", MTR, 0, 0), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(Match(Package(){0xc179b3fe},
+ MTR, 0, MEQ, "C179B3FE", 0), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(Match(Package(){0xc179b3fe},
+ MTR, 0, MEQ, "c179B3FE", 0), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ }
+
+ // Integer to String conversion of the Integer value
+ // of Expression of Case statement when Expression in
+ // Switch is either static String data or explicitly
+ // converted to String by ToDecimalString, ToHexString
+ // or ToString
+
+ Method(m643, 1)
+ {
+ Name(i000, 0)
+
+ Store(0, i000)
+ Switch ("fE7CB391D650A284") {
+ Case (0xfe7cb391d650a284) {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 0, i000, 2)
+
+ Store(0, i000)
+ Switch ("FE7CB391D650A284") {
+ Case (0xfe7cb391d650a284) {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 1, i000, 1)
+
+ Store(0, i000)
+ Switch (ToHexString(aus5)) {
+ Case (0xfe7cb391d650a284) {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 2, i000, 2)
+
+ Store(0, i000)
+ Switch (ToHexString(aus4)) {
+ Case (0xfe7cb391d650a284) {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 3, i000, 1)
+
+ if (y078) {
+ Store(0, i000)
+ Switch (ToHexString(Derefof(Refof(aus5)))) {
+ Case (0xfe7cb391d650a284) {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 4, i000, 2)
+
+ Store(0, i000)
+ Switch (ToHexString(Derefof(Refof(aus4)))) {
+ Case (0xfe7cb391d650a284) {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 5, i000, 1)
+ }
+
+ Store(0, i000)
+ Switch (ToHexString(Derefof(Index(paus, 5)))) {
+ Case (0xfe7cb391d650a284) {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 6, i000, 2)
+
+ Store(0, i000)
+ Switch (ToHexString(Derefof(Index(paus, 4)))) {
+ Case (0xfe7cb391d650a284) {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 7, i000, 1)
+
+ // Method returns String
+
+ Store(0, i000)
+ Switch (ToHexString(m601(2, 5))) {
+ Case (0xfe7cb391d650a284) {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 8, i000, 2)
+
+ Store(0, i000)
+ Switch (ToHexString(m601(2, 4))) {
+ Case (0xfe7cb391d650a284) {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 9, i000, 1)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(0, i000)
+ Switch (ToHexString(Derefof(m602(2, 5, 1)))) {
+ Case (0xfe7cb391d650a284) {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 10, i000, 2)
+
+ Store(0, i000)
+ Switch (ToHexString(Derefof(m602(2, 4, 1)))) {
+ Case (0xfe7cb391d650a284) {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 11, i000, 1)
+ }
+ }
+
+ Method(m323, 1)
+ {
+ Name(i000, 0)
+
+ Store(0, i000)
+ Switch ("c179B3FE") {
+ Case (0xc179b3fe) {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 0, i000, 2)
+
+ Store(0, i000)
+ Switch ("C179B3FE") {
+ Case (0xc179b3fe) {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 1, i000, 1)
+
+ Store(0, i000)
+ Switch (ToHexString(aus2)) {
+ Case (0xc179b3fe) {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 2, i000, 2)
+
+ Store(0, i000)
+ Switch (ToHexString(aus3)) {
+ Case (0xc179b3fe) {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 3, i000, 1)
+
+ if (y078) {
+ Store(0, i000)
+ Switch (ToHexString(Derefof(Refof(aus2)))) {
+ Case (0xc179b3fe) {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 4, i000, 2)
+
+ Store(0, i000)
+ Switch (ToHexString(Derefof(Refof(aus3)))) {
+ Case (0xc179b3fe) {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 5, i000, 1)
+ }
+
+ Store(0, i000)
+ Switch (ToHexString(Derefof(Index(paus, 2)))) {
+ Case (0xc179b3fe) {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 6, i000, 2)
+
+ Store(0, i000)
+ Switch (ToHexString(Derefof(Index(paus, 3)))) {
+ Case (0xc179b3fe) {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 7, i000, 1)
+
+ // Method returns String
+
+ Store(0, i000)
+ Switch (ToHexString(m601(2, 2))) {
+ Case (0xc179b3fe) {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 8, i000, 2)
+
+ Store(0, i000)
+ Switch (ToHexString(m601(2, 3))) {
+ Case (0xc179b3fe) {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 9, i000, 1)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(0, i000)
+ Switch (ToHexString(Derefof(m602(2, 2, 1)))) {
+ Case (0xc179b3fe) {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 10, i000, 2)
+
+ Store(0, i000)
+ Switch (ToHexString(Derefof(m602(2, 3, 1)))) {
+ Case (0xc179b3fe) {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 11, i000, 1)
+ }
+ }
+
+ // Integer to Buffer implicit conversion Cases.
+
+ // Integer to Buffer conversion of the Integer second operand of
+ // Logical operators when the first operand is evaluated as Buffer
+ // (LEqual, LGreater, LGreaterEqual, LLess, LLessEqual, LNotEqual)
+
+ Method(m644, 1)
+ {
+ // LEqual
+
+ Store(LEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, 0xfe7cb391d650a284), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFF}, 0xfe7cb391d650a284), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(aub4, 0xfe7cb391d650a284), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(LEqual(aub3, 0xfe7cb391d650a284), Local0)
+ m600(arg0, 3, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aub4)), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(aub3)), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 5, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paub, 4)), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paub, 3)), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ // Method returns Buffer
+
+ Store(LEqual(m601(3, 4), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(LEqual(m601(3, 3), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 9, Local0, Zero)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(3, 4, 1)), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(3, 3, 1)), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 11, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, 0xfe7cb391d650a284), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LGreater(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFF}, 0xfe7cb391d650a284), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LGreater(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFD}, 0xfe7cb391d650a284), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LGreater(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0x01}, 0xfe7cb391d650a284), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LGreater(aub4, 0xfe7cb391d650a284), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LGreater(aub5, 0xfe7cb391d650a284), Local0)
+ m600(arg0, 17, Local0, Ones)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aub4)), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(aub5)), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 19, Local0, Ones)
+ }
+
+ Store(LGreater(Derefof(Index(paub, 4)), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paub, 5)), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Buffer
+
+ Store(LGreater(m601(3, 4), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LGreater(m601(3, 5), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 23, Local0, Ones)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(3, 4, 1)), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(3, 5, 1)), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, 0xfe7cb391d650a284), Local0)
+ m600(arg0, 26, Local0, Ones)
+
+ Store(LGreaterEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFF}, 0xfe7cb391d650a284), Local0)
+ m600(arg0, 27, Local0, Ones)
+
+ Store(LGreaterEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFD}, 0xfe7cb391d650a284), Local0)
+ m600(arg0, 28, Local0, Zero)
+
+ Store(LGreaterEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0x01}, 0xfe7cb391d650a284), Local0)
+ m600(arg0, 29, Local0, Ones)
+
+ Store(LGreaterEqual(aub4, 0xfe7cb391d650a284), Local0)
+ m600(arg0, 30, Local0, Ones)
+
+ Store(LGreaterEqual(aub5, 0xfe7cb391d650a284), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aub4)), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 32, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(aub5)), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 33, Local0, Ones)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paub, 4)), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paub, 5)), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 35, Local0, Ones)
+
+ // Method returns Buffer
+
+ Store(LGreaterEqual(m601(3, 4), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(m601(3, 5), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(3, 4, 1)), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 38, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(3, 5, 1)), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 39, Local0, Ones)
+ }
+
+ // LLess
+
+ Store(LLess(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, 0xfe7cb391d650a284), Local0)
+ m600(arg0, 40, Local0, Zero)
+
+ Store(LLess(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFF}, 0xfe7cb391d650a284), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ Store(LLess(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFD}, 0xfe7cb391d650a284), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LLess(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0x01}, 0xfe7cb391d650a284), Local0)
+ m600(arg0, 43, Local0, Zero)
+
+ Store(LLess(aub4, 0xfe7cb391d650a284), Local0)
+ m600(arg0, 44, Local0, Zero)
+
+ Store(LLess(aub5, 0xfe7cb391d650a284), Local0)
+ m600(arg0, 45, Local0, Zero)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aub4)), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 46, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(aub5)), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 47, Local0, Zero)
+ }
+
+ Store(LLess(Derefof(Index(paub, 4)), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 48, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paub, 5)), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 49, Local0, Zero)
+
+ // Method returns Buffer
+
+ Store(LLess(m601(3, 4), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ Store(LLess(m601(3, 5), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 51, Local0, Zero)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LLess(Derefof(m602(3, 4, 1)), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 52, Local0, Zero)
+
+ Store(LLess(Derefof(m602(3, 5, 1)), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, 0xfe7cb391d650a284), Local0)
+ m600(arg0, 54, Local0, Ones)
+
+ Store(LLessEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFF}, 0xfe7cb391d650a284), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLessEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFD}, 0xfe7cb391d650a284), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLessEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0x01}, 0xfe7cb391d650a284), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLessEqual(aub4, 0xfe7cb391d650a284), Local0)
+ m600(arg0, 58, Local0, Ones)
+
+ Store(LLessEqual(aub5, 0xfe7cb391d650a284), Local0)
+ m600(arg0, 59, Local0, Zero)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aub4)), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 60, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(aub5)), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 61, Local0, Zero)
+ }
+
+ Store(LLessEqual(Derefof(Index(paub, 4)), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 62, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paub, 5)), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ // Method returns Buffer
+
+ Store(LLessEqual(m601(3, 4), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 64, Local0, Ones)
+
+ Store(LLessEqual(m601(3, 5), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 65, Local0, Zero)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(3, 4, 1)), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 66, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(3, 5, 1)), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 67, Local0, Zero)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, 0xfe7cb391d650a284), Local0)
+ m600(arg0, 68, Local0, Zero)
+
+ Store(LNotEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFF}, 0xfe7cb391d650a284), Local0)
+ m600(arg0, 69, Local0, Ones)
+
+ Store(LNotEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFD}, 0xfe7cb391d650a284), Local0)
+ m600(arg0, 70, Local0, Ones)
+
+ Store(LNotEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0x01}, 0xfe7cb391d650a284), Local0)
+ m600(arg0, 71, Local0, Ones)
+
+ Store(LNotEqual(aub4, 0xfe7cb391d650a284), Local0)
+ m600(arg0, 72, Local0, Zero)
+
+ Store(LNotEqual(aub5, 0xfe7cb391d650a284), Local0)
+ m600(arg0, 73, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aub4)), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 74, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(aub5)), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 75, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paub, 4)), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paub, 5)), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ // Method returns Buffer
+
+ Store(LNotEqual(m601(3, 4), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 78, Local0, Zero)
+
+ Store(LNotEqual(m601(3, 5), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 79, Local0, Ones)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(3, 4, 1)), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 80, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(3, 5, 1)), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 81, Local0, Ones)
+ }
+ }
+
+ Method(m324, 1)
+ {
+ // LEqual
+
+ Store(LEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC1}, 0xc179b3fe), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC0}, 0xc179b3fe), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(aub3, 0xc179b3fe), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(LEqual(aub2, 0xc179b3fe), Local0)
+ m600(arg0, 3, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aub3)), 0xc179b3fe), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(aub2)), 0xc179b3fe), Local0)
+ m600(arg0, 5, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paub, 3)), 0xc179b3fe), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paub, 2)), 0xc179b3fe), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ // Method returns Buffer
+
+ Store(LEqual(m601(3, 3), 0xc179b3fe), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(LEqual(m601(3, 2), 0xc179b3fe), Local0)
+ m600(arg0, 9, Local0, Zero)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(3, 3, 1)), 0xc179b3fe), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(3, 2, 1)), 0xc179b3fe), Local0)
+ m600(arg0, 11, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater(Buffer() {0xFE, 0xB3, 0x79, 0xC1}, 0xc179b3fe), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LGreater(Buffer() {0xFE, 0xB3, 0x79, 0xC2}, 0xc179b3fe), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LGreater(Buffer() {0xFE, 0xB3, 0x79, 0xC0}, 0xc179b3fe), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LGreater(Buffer() {0xFE, 0xB3, 0x79, 0xC1, 0x01}, 0xc179b3fe), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LGreater(aub3, 0xc179b3fe), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LGreater(aub2, 0xc179b3fe), Local0)
+ m600(arg0, 17, Local0, Ones)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aub3)), 0xc179b3fe), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(aub2)), 0xc179b3fe), Local0)
+ m600(arg0, 19, Local0, Ones)
+ }
+
+ Store(LGreater(Derefof(Index(paub, 3)), 0xc179b3fe), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paub, 2)), 0xc179b3fe), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Buffer
+
+ Store(LGreater(m601(3, 3), 0xc179b3fe), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LGreater(m601(3, 2), 0xc179b3fe), Local0)
+ m600(arg0, 23, Local0, Ones)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(3, 3, 1)), 0xc179b3fe), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(3, 2, 1)), 0xc179b3fe), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC1}, 0xc179b3fe), Local0)
+ m600(arg0, 26, Local0, Ones)
+
+ Store(LGreaterEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC2}, 0xc179b3fe), Local0)
+ m600(arg0, 27, Local0, Ones)
+
+ Store(LGreaterEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC0}, 0xc179b3fe), Local0)
+ m600(arg0, 28, Local0, Zero)
+
+ Store(LGreaterEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC1, 0x01}, 0xc179b3fe), Local0)
+ m600(arg0, 29, Local0, Ones)
+
+ Store(LGreaterEqual(aub3, 0xc179b3fe), Local0)
+ m600(arg0, 30, Local0, Ones)
+
+ Store(LGreaterEqual(aub2, 0xc179b3fe), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aub3)), 0xc179b3fe), Local0)
+ m600(arg0, 32, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(aub2)), 0xc179b3fe), Local0)
+ m600(arg0, 33, Local0, Ones)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paub, 3)), 0xc179b3fe), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paub, 2)), 0xc179b3fe), Local0)
+ m600(arg0, 35, Local0, Ones)
+
+ // Method returns Buffer
+
+ Store(LGreaterEqual(m601(3, 3), 0xc179b3fe), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(m601(3, 2), 0xc179b3fe), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(3, 3, 1)), 0xc179b3fe), Local0)
+ m600(arg0, 38, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(3, 2, 1)), 0xc179b3fe), Local0)
+ m600(arg0, 39, Local0, Ones)
+ }
+
+ // LLess
+
+ Store(LLess(Buffer() {0xFE, 0xB3, 0x79, 0xC1}, 0xc179b3fe), Local0)
+ m600(arg0, 40, Local0, Zero)
+
+ Store(LLess(Buffer() {0xFE, 0xB3, 0x79, 0xC2}, 0xc179b3fe), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ Store(LLess(Buffer() {0xFE, 0xB3, 0x79, 0xC0}, 0xc179b3fe), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LLess(Buffer() {0xFE, 0xB3, 0x79, 0xC1, 0x01}, 0xc179b3fe), Local0)
+ m600(arg0, 43, Local0, Zero)
+
+ Store(LLess(aub3, 0xc179b3fe), Local0)
+ m600(arg0, 44, Local0, Zero)
+
+ Store(LLess(aub2, 0xc179b3fe), Local0)
+ m600(arg0, 45, Local0, Zero)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aub3)), 0xc179b3fe), Local0)
+ m600(arg0, 46, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(aub2)), 0xc179b3fe), Local0)
+ m600(arg0, 47, Local0, Zero)
+ }
+
+ Store(LLess(Derefof(Index(paub, 3)), 0xc179b3fe), Local0)
+ m600(arg0, 48, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paub, 2)), 0xc179b3fe), Local0)
+ m600(arg0, 49, Local0, Zero)
+
+ // Method returns Buffer
+
+ Store(LLess(m601(3, 3), 0xc179b3fe), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ Store(LLess(m601(3, 2), 0xc179b3fe), Local0)
+ m600(arg0, 51, Local0, Zero)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LLess(Derefof(m602(3, 3, 1)), 0xc179b3fe), Local0)
+ m600(arg0, 52, Local0, Zero)
+
+ Store(LLess(Derefof(m602(3, 2, 1)), 0xc179b3fe), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC1}, 0xc179b3fe), Local0)
+ m600(arg0, 54, Local0, Ones)
+
+ Store(LLessEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC2}, 0xc179b3fe), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLessEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC0}, 0xc179b3fe), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLessEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC1, 0x01}, 0xc179b3fe), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLessEqual(aub3, 0xc179b3fe), Local0)
+ m600(arg0, 58, Local0, Ones)
+
+ Store(LLessEqual(aub2, 0xc179b3fe), Local0)
+ m600(arg0, 59, Local0, Zero)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aub3)), 0xc179b3fe), Local0)
+ m600(arg0, 60, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(aub2)), 0xc179b3fe), Local0)
+ m600(arg0, 61, Local0, Zero)
+ }
+
+ Store(LLessEqual(Derefof(Index(paub, 3)), 0xc179b3fe), Local0)
+ m600(arg0, 62, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paub, 2)), 0xc179b3fe), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ // Method returns Buffer
+
+ Store(LLessEqual(m601(3, 3), 0xc179b3fe), Local0)
+ m600(arg0, 64, Local0, Ones)
+
+ Store(LLessEqual(m601(3, 2), 0xc179b3fe), Local0)
+ m600(arg0, 65, Local0, Zero)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(3, 3, 1)), 0xc179b3fe), Local0)
+ m600(arg0, 66, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(3, 2, 1)), 0xc179b3fe), Local0)
+ m600(arg0, 67, Local0, Zero)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC1}, 0xc179b3fe), Local0)
+ m600(arg0, 68, Local0, Zero)
+
+ Store(LNotEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC2}, 0xc179b3fe), Local0)
+ m600(arg0, 69, Local0, Ones)
+
+ Store(LNotEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC0}, 0xc179b3fe), Local0)
+ m600(arg0, 70, Local0, Ones)
+
+ Store(LNotEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC1, 0x01}, 0xc179b3fe), Local0)
+ m600(arg0, 71, Local0, Ones)
+
+ Store(LNotEqual(aub3, 0xc179b3fe), Local0)
+ m600(arg0, 72, Local0, Zero)
+
+ Store(LNotEqual(aub2, 0xc179b3fe), Local0)
+ m600(arg0, 73, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aub3)), 0xc179b3fe), Local0)
+ m600(arg0, 74, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(aub2)), 0xc179b3fe), Local0)
+ m600(arg0, 75, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paub, 3)), 0xc179b3fe), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paub, 2)), 0xc179b3fe), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ // Method returns Buffer
+
+ Store(LNotEqual(m601(3, 3), 0xc179b3fe), Local0)
+ m600(arg0, 78, Local0, Zero)
+
+ Store(LNotEqual(m601(3, 2), 0xc179b3fe), Local0)
+ m600(arg0, 79, Local0, Ones)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(3, 3, 1)), 0xc179b3fe), Local0)
+ m600(arg0, 80, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(3, 2, 1)), 0xc179b3fe), Local0)
+ m600(arg0, 81, Local0, Ones)
+ }
+ }
+
+
+ // Integer to Buffer conversion of the both Integer operands of
+ // Concatenate operator
+
+ Method(m645, 1)
+ {
+ Store(Concatenate(0xfe7cb391d650a284, 0xfe7cb391d650a284), Local0)
+ m600(arg0, 0, Local0, bb20)
+
+ Store(Concatenate(0x321, 0xfe7cb391d650a284), Local0)
+ m600(arg0, 1, Local0, bb21)
+
+ Store(Concatenate(0xfe7cb391d650a284, 0x321), Local0)
+ m600(arg0, 1, Local0, bb22)
+
+ Concatenate(0xfe7cb391d650a284, 0xfe7cb391d650a284, Local0)
+ m600(arg0, 0, Local0, bb20)
+
+ Concatenate(0x321, 0xfe7cb391d650a284, Local0)
+ m600(arg0, 1, Local0, bb21)
+
+ Concatenate(0xfe7cb391d650a284, 0x321, Local0)
+ m600(arg0, 1, Local0, bb22)
+ }
+
+ Method(m325, 1)
+ {
+ Store(Concatenate(0xc179b3fe, 0xc179b3fe), Local0)
+ m600(arg0, 0, Local0, bb23)
+
+ Store(Concatenate(0x321, 0xc179b3fe), Local0)
+ m600(arg0, 1, Local0, bb24)
+
+ Store(Concatenate(0xc179b3fe, 0x321), Local0)
+ m600(arg0, 1, Local0, bb25)
+
+ Concatenate(0xc179b3fe, 0xc179b3fe, Local0)
+ m600(arg0, 0, Local0, bb23)
+
+ Concatenate(0x321, 0xc179b3fe, Local0)
+ m600(arg0, 1, Local0, bb24)
+
+ Concatenate(0xc179b3fe, 0x321, Local0)
+ m600(arg0, 1, Local0, bb25)
+ }
+
+ // Integer to Buffer conversion of the Integer second operand of
+ // Concatenate operator when the first operand is evaluated as Buffer
+
+ Method(m646, 1)
+ {
+ Store(Concatenate(Buffer(){0x5a}, 0xfe7cb391d650a284), Local0)
+ m600(arg0, 0, Local0, bb10)
+
+ Store(Concatenate(Buffer(){0x5a, 0x00}, 0xfe7cb391d650a284), Local0)
+ m600(arg0, 1, Local0, bb11)
+
+ Store(Concatenate(aub0, 0xfe7cb391d650a284), Local0)
+ m600(arg0, 2, Local0, bb10)
+
+ Store(Concatenate(aub1, 0xfe7cb391d650a284), Local0)
+ m600(arg0, 3, Local0, bb11)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aub0)), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 4, Local0, bb10)
+
+ Store(Concatenate(Derefof(Refof(aub1)), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 5, Local0, bb11)
+ }
+
+ Store(Concatenate(Derefof(Index(paub, 0)), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 6, Local0, bb10)
+
+ Store(Concatenate(Derefof(Index(paub, 1)), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 7, Local0, bb11)
+
+ // Method returns Buffer
+
+ Store(Concatenate(m601(3, 0), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 8, Local0, bb10)
+
+ Store(Concatenate(m601(3, 1), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 9, Local0, bb11)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(3, 0, 1)), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 10, Local0, bb10)
+
+ Store(Concatenate(Derefof(m602(3, 1, 1)), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 11, Local0, bb11)
+ }
+
+ Concatenate(Buffer(){0x5a}, 0xfe7cb391d650a284, Local0)
+ m600(arg0, 12, Local0, bb10)
+
+ Concatenate(Buffer(){0x5a, 0x00}, 0xfe7cb391d650a284, Local0)
+ m600(arg0, 13, Local0, bb11)
+
+ Concatenate(aub0, 0xfe7cb391d650a284, Local0)
+ m600(arg0, 14, Local0, bb10)
+
+ Concatenate(aub1, 0xfe7cb391d650a284, Local0)
+ m600(arg0, 15, Local0, bb11)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aub0)), 0xfe7cb391d650a284, Local0)
+ m600(arg0, 16, Local0, bb10)
+
+ Concatenate(Derefof(Refof(aub1)), 0xfe7cb391d650a284, Local0)
+ m600(arg0, 17, Local0, bb11)
+ }
+
+ Concatenate(Derefof(Index(paub, 0)), 0xfe7cb391d650a284, Local0)
+ m600(arg0, 18, Local0, bb10)
+
+ Concatenate(Derefof(Index(paub, 1)), 0xfe7cb391d650a284, Local0)
+ m600(arg0, 19, Local0, bb11)
+
+ // Method returns Buffer
+
+ Concatenate(m601(3, 0), 0xfe7cb391d650a284, Local0)
+ m600(arg0, 20, Local0, bb10)
+
+ Concatenate(m601(3, 1), 0xfe7cb391d650a284, Local0)
+ m600(arg0, 21, Local0, bb11)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Concatenate(Derefof(m602(3, 0, 1)), 0xfe7cb391d650a284, Local0)
+ m600(arg0, 22, Local0, bb10)
+
+ Concatenate(Derefof(m602(3, 1, 1)), 0xfe7cb391d650a284, Local0)
+ m600(arg0, 23, Local0, bb11)
+ }
+ }
+
+ Method(m326, 1)
+ {
+
+ Store(Concatenate(Buffer(){0x5a}, 0xc179b3fe), Local0)
+ m600(arg0, 0, Local0, bb12)
+
+ Store(Concatenate(Buffer(){0x5a, 0x00}, 0xc179b3fe), Local0)
+ m600(arg0, 1, Local0, bb13)
+
+ Store(Concatenate(aub0, 0xc179b3fe), Local0)
+ m600(arg0, 2, Local0, bb12)
+
+ Store(Concatenate(aub1, 0xc179b3fe), Local0)
+ m600(arg0, 3, Local0, bb13)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aub0)), 0xc179b3fe), Local0)
+ m600(arg0, 4, Local0, bb12)
+
+ Store(Concatenate(Derefof(Refof(aub1)), 0xc179b3fe), Local0)
+ m600(arg0, 5, Local0, bb13)
+ }
+
+ Store(Concatenate(Derefof(Index(paub, 0)), 0xc179b3fe), Local0)
+ m600(arg0, 6, Local0, bb12)
+
+ Store(Concatenate(Derefof(Index(paub, 1)), 0xc179b3fe), Local0)
+ m600(arg0, 7, Local0, bb13)
+
+ // Method returns Buffer
+
+ Store(Concatenate(m601(3, 0), 0xc179b3fe), Local0)
+ m600(arg0, 8, Local0, bb12)
+
+ Store(Concatenate(m601(3, 1), 0xc179b3fe), Local0)
+ m600(arg0, 9, Local0, bb13)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(3, 0, 1)), 0xc179b3fe), Local0)
+ m600(arg0, 10, Local0, bb12)
+
+ Store(Concatenate(Derefof(m602(3, 1, 1)), 0xc179b3fe), Local0)
+ m600(arg0, 11, Local0, bb13)
+ }
+
+ Store(Concatenate(Buffer(){0x5a}, 0xfe7cb391d650a284), Local0)
+ m600(arg0, 12, Local0, bb14)
+
+ Store(Concatenate(Buffer(){0x5a, 0x00}, 0xfe7cb391d650a284), Local0)
+ m600(arg0, 13, Local0, bb15)
+
+ Concatenate(Buffer(){0x5a}, 0xc179b3fe, Local0)
+ m600(arg0, 14, Local0, bb12)
+
+ Concatenate(Buffer(){0x5a, 0x00}, 0xc179b3fe, Local0)
+ m600(arg0, 15, Local0, bb13)
+
+ Concatenate(aub0, 0xc179b3fe, Local0)
+ m600(arg0, 16, Local0, bb12)
+
+ Concatenate(aub1, 0xc179b3fe, Local0)
+ m600(arg0, 17, Local0, bb13)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aub0)), 0xc179b3fe, Local0)
+ m600(arg0, 18, Local0, bb12)
+
+ Concatenate(Derefof(Refof(aub1)), 0xc179b3fe, Local0)
+ m600(arg0, 19, Local0, bb13)
+ }
+
+ Concatenate(Derefof(Index(paub, 0)), 0xc179b3fe, Local0)
+ m600(arg0, 20, Local0, bb12)
+
+ Concatenate(Derefof(Index(paub, 1)), 0xc179b3fe, Local0)
+ m600(arg0, 21, Local0, bb13)
+
+ // Method returns Buffer
+
+ Concatenate(m601(3, 0), 0xc179b3fe, Local0)
+ m600(arg0, 22, Local0, bb12)
+
+ Concatenate(m601(3, 1), 0xc179b3fe, Local0)
+ m600(arg0, 23, Local0, bb13)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Concatenate(Derefof(m602(3, 0, 1)), 0xc179b3fe, Local0)
+ m600(arg0, 24, Local0, bb12)
+
+ Concatenate(Derefof(m602(3, 1, 1)), 0xc179b3fe, Local0)
+ m600(arg0, 25, Local0, bb13)
+ }
+
+ Concatenate(Buffer(){0x5a}, 0xfe7cb391d650a284, Local0)
+ m600(arg0, 26, Local0, bb14)
+
+ Concatenate(Buffer(){0x5a, 0x00}, 0xfe7cb391d650a284, Local0)
+ m600(arg0, 27, Local0, bb15)
+ }
+
+
+ // Integer to Buffer conversion of the Integer Source operand of
+ // ToString operator
+
+ Method(m647, 1)
+ {
+ Store(ToString(0x6e7c534136502214, Ones), Local0)
+ m600(arg0, 0, Local0, bs18)
+
+ Store(ToString(0x6e7c534136502214, 3), Local0)
+ m600(arg0, 1, Local0, bs19)
+
+ Store(ToString(0x6e00534136002214, Ones), Local0)
+ m600(arg0, 2, Local0, bs1a)
+
+ Store(ToString(0x6e7c534136502214, aui0), Local0)
+ m600(arg0, 3, Local0, bs18)
+
+ Store(ToString(0x6e7c534136502214, aui7), Local0)
+ m600(arg0, 4, Local0, bs19)
+
+ Store(ToString(0x6e00534136002214, aui0), Local0)
+ m600(arg0, 5, Local0, bs1a)
+
+ if (y078) {
+ Store(ToString(0x6e7c534136502214, Derefof(Refof(aui0))), Local0)
+ m600(arg0, 6, Local0, bs18)
+
+ Store(ToString(0x6e7c534136502214, Derefof(Refof(aui7))), Local0)
+ m600(arg0, 7, Local0, bs19)
+
+ Store(ToString(0x6e00534136002214, Derefof(Refof(aui0))), Local0)
+ m600(arg0, 8, Local0, bs1a)
+ }
+
+ Store(ToString(0x6e7c534136502214, Derefof(Index(paui, 0))), Local0)
+ m600(arg0, 9, Local0, bs18)
+
+ Store(ToString(0x6e7c534136502214, Derefof(Index(paui, 7))), Local0)
+ m600(arg0, 10, Local0, bs19)
+
+ Store(ToString(0x6e00534136002214, Derefof(Index(paui, 0))), Local0)
+ m600(arg0, 11, Local0, bs1a)
+
+ // Method returns Length parameter
+
+ Store(ToString(0x6e7c534136502214, m601(1, 0)), Local0)
+ m600(arg0, 12, Local0, bs18)
+
+ Store(ToString(0x6e7c534136502214, m601(1, 7)), Local0)
+ m600(arg0, 13, Local0, bs19)
+
+ Store(ToString(0x6e00534136002214, m601(1, 0)), Local0)
+ m600(arg0, 14, Local0, bs1a)
+
+ // Method returns Reference to Length parameter
+
+ if (y500) {
+ Store(ToString(0x6e7c534136502214, Derefof(m601(1, 0))), Local0)
+ m600(arg0, 15, Local0, bs18)
+
+ Store(ToString(0x6e7c534136502214, Derefof(m601(1, 7))), Local0)
+ m600(arg0, 16, Local0, bs19)
+
+ Store(ToString(0x6e00534136002214, Derefof(m601(1, 0))), Local0)
+ m600(arg0, 17, Local0, bs1a)
+ }
+
+ ToString(0x6e7c534136502214, Ones, Local0)
+ m600(arg0, 18, Local0, bs18)
+
+ ToString(0x6e7c534136502214, 3, Local0)
+ m600(arg0, 19, Local0, bs19)
+
+ ToString(0x6e00534136002214, Ones, Local0)
+ m600(arg0, 20, Local0, bs1a)
+
+ ToString(0x6e7c534136502214, aui0, Local0)
+ m600(arg0, 21, Local0, bs18)
+
+ ToString(0x6e7c534136502214, aui7, Local0)
+ m600(arg0, 22, Local0, bs19)
+
+ ToString(0x6e00534136002214, aui0, Local0)
+ m600(arg0, 23, Local0, bs1a)
+
+ if (y078) {
+ ToString(0x6e7c534136502214, Derefof(Refof(aui0)), Local0)
+ m600(arg0, 24, Local0, bs18)
+
+ ToString(0x6e7c534136502214, Derefof(Refof(aui7)), Local0)
+ m600(arg0, 25, Local0, bs19)
+
+ ToString(0x6e00534136002214, Derefof(Refof(aui0)), Local0)
+ m600(arg0, 26, Local0, bs1a)
+ }
+
+ ToString(0x6e7c534136502214, Derefof(Index(paui, 0)), Local0)
+ m600(arg0, 27, Local0, bs18)
+
+ ToString(0x6e7c534136502214, Derefof(Index(paui, 7)), Local0)
+ m600(arg0, 28, Local0, bs19)
+
+ ToString(0x6e00534136002214, Derefof(Index(paui, 0)), Local0)
+ m600(arg0, 29, Local0, bs1a)
+
+ // Method returns Length parameter
+
+ ToString(0x6e7c534136502214, m601(1, 0), Local0)
+ m600(arg0, 30, Local0, bs18)
+
+ ToString(0x6e7c534136502214, m601(1, 7), Local0)
+ m600(arg0, 31, Local0, bs19)
+
+ ToString(0x6e00534136002214, m601(1, 0), Local0)
+ m600(arg0, 32, Local0, bs1a)
+
+ // Method returns Reference to Length parameter
+
+ if (y500) {
+ ToString(0x6e7c534136502214, Derefof(m601(1, 0)), Local0)
+ m600(arg0, 33, Local0, bs18)
+
+ ToString(0x6e7c534136502214, Derefof(m601(1, 7)), Local0)
+ m600(arg0, 34, Local0, bs19)
+
+ ToString(0x6e00534136002214, Derefof(m601(1, 0)), Local0)
+ m600(arg0, 35, Local0, bs1a)
+ }
+ }
+
+ Method(m327, 1)
+ {
+ Store(ToString(0x6179534e, Ones), Local0)
+ m600(arg0, 0, Local0, bs16)
+
+ Store(ToString(0x6179534e, 3), Local0)
+ m600(arg0, 1, Local0, bs17)
+
+ Store(ToString(0x6e7c534136002214, Ones), Local0)
+ m600(arg0, 2, Local0, bs1a)
+
+ Store(ToString(0x6179534e, aui0), Local0)
+ m600(arg0, 3, Local0, bs16)
+
+ Store(ToString(0x6179534e, aui7), Local0)
+ m600(arg0, 4, Local0, bs17)
+
+ Store(ToString(0x6e7c534136002214, aui0), Local0)
+ m600(arg0, 5, Local0, bs1a)
+
+ if (y078) {
+ Store(ToString(0x6179534e, Derefof(Refof(aui0))), Local0)
+ m600(arg0, 6, Local0, bs16)
+
+ Store(ToString(0x6179534e, Derefof(Refof(aui7))), Local0)
+ m600(arg0, 7, Local0, bs17)
+
+ Store(ToString(0x6e7c534136002214, Derefof(Refof(aui0))), Local0)
+ m600(arg0, 8, Local0, bs1a)
+ }
+
+ Store(ToString(0x6179534e, Derefof(Index(paui, 0))), Local0)
+ m600(arg0, 9, Local0, bs16)
+
+ Store(ToString(0x6179534e, Derefof(Index(paui, 7))), Local0)
+ m600(arg0, 10, Local0, bs17)
+
+ Store(ToString(0x6e7c534136002214, Derefof(Index(paui, 0))), Local0)
+ m600(arg0, 11, Local0, bs1a)
+
+ // Method returns Length parameter
+
+ Store(ToString(0x6179534e, m601(1, 0)), Local0)
+ m600(arg0, 12, Local0, bs16)
+
+ Store(ToString(0x6179534e, m601(1, 7)), Local0)
+ m600(arg0, 13, Local0, bs17)
+
+ Store(ToString(0x6e7c534136002214, m601(1, 0)), Local0)
+ m600(arg0, 14, Local0, bs1a)
+
+ // Method returns Reference to Length parameter
+
+ if (y500) {
+ Store(ToString(0x6179534e, Derefof(m601(1, 0))), Local0)
+ m600(arg0, 15, Local0, bs16)
+
+ Store(ToString(0x6179534e, Derefof(m601(1, 7))), Local0)
+ m600(arg0, 16, Local0, bs17)
+
+ Store(ToString(0x6e7c534136002214, Derefof(m601(1, 0))), Local0)
+ m600(arg0, 17, Local0, bs1a)
+ }
+
+ ToString(0x6179534e, Ones, Local0)
+ m600(arg0, 18, Local0, bs16)
+
+ ToString(0x6179534e, 3, Local0)
+ m600(arg0, 19, Local0, bs17)
+
+ ToString(0x6e7c534136002214, Ones, Local0)
+ m600(arg0, 20, Local0, bs1a)
+
+ ToString(0x6179534e, aui0, Local0)
+ m600(arg0, 21, Local0, bs16)
+
+ ToString(0x6179534e, aui7, Local0)
+ m600(arg0, 22, Local0, bs17)
+
+ ToString(0x6e7c534136002214, aui0, Local0)
+ m600(arg0, 23, Local0, bs1a)
+
+ if (y078) {
+ ToString(0x6179534e, Derefof(Refof(aui0)), Local0)
+ m600(arg0, 24, Local0, bs16)
+
+ ToString(0x6179534e, Derefof(Refof(aui7)), Local0)
+ m600(arg0, 25, Local0, bs17)
+
+ ToString(0x6e7c534136002214, Derefof(Refof(aui0)), Local0)
+ m600(arg0, 26, Local0, bs1a)
+ }
+
+ ToString(0x6179534e, Derefof(Index(paui, 0)), Local0)
+ m600(arg0, 27, Local0, bs16)
+
+ ToString(0x6179534e, Derefof(Index(paui, 7)), Local0)
+ m600(arg0, 28, Local0, bs17)
+
+ ToString(0x6e7c534136002214, Derefof(Index(paui, 0)), Local0)
+ m600(arg0, 29, Local0, bs1a)
+
+ // Method returns Length parameter
+
+ ToString(0x6179534e, m601(1, 0), Local0)
+ m600(arg0, 30, Local0, bs16)
+
+ ToString(0x6179534e, m601(1, 7), Local0)
+ m600(arg0, 31, Local0, bs17)
+
+ ToString(0x6e7c534136002214, m601(1, 0), Local0)
+ m600(arg0, 32, Local0, bs1a)
+
+ // Method returns Reference to Length parameter
+
+ if (y500) {
+ ToString(0x6179534e, Derefof(m601(1, 0)), Local0)
+ m600(arg0, 33, Local0, bs16)
+
+ ToString(0x6179534e, Derefof(m601(1, 7)), Local0)
+ m600(arg0, 34, Local0, bs17)
+
+ ToString(0x6e7c534136002214, Derefof(m601(1, 0)), Local0)
+ m600(arg0, 35, Local0, bs1a)
+ }
+ }
+
+ // Integer to Buffer conversion of the Integer Source operand of
+ // Mid operator
+
+ Method(m648, 1)
+ {
+ Store(Mid(0xfe7cb391d650a284, 0, 9), Local0)
+ m600(arg0, 0, Local0, bb1d)
+
+ Store(Mid(0x6e7c534136002214, 1, 8), Local0)
+ m600(arg0, 1, Local0, bb30)
+
+ Store(Mid(0xfe7cb391d650a284, aui5, auib), Local0)
+ m600(arg0, 2, Local0, bb1d)
+
+ Store(Mid(0x6e7c534136002214, aui6, auia), Local0)
+ m600(arg0, 3, Local0, bb30)
+
+ if (y078) {
+ Store(Mid(0xfe7cb391d650a284, Derefof(Refof(aui5)), Derefof(Refof(auib))), Local0)
+ m600(arg0, 4, Local0, bb1d)
+
+ Store(Mid(0x6e7c534136002214, Derefof(Refof(aui6)), Derefof(Refof(auia))), Local0)
+ m600(arg0, 5, Local0, bb30)
+ }
+
+ Store(Mid(0xfe7cb391d650a284, Derefof(Index(paui, 5)), Derefof(Index(paui, 11))), Local0)
+ m600(arg0, 6, Local0, bb1d)
+
+ Store(Mid(0x6e7c534136002214, Derefof(Index(paui, 6)), Derefof(Index(paui, 10))), Local0)
+ m600(arg0, 7, Local0, bb30)
+
+ // Method returns Index and Length parameters
+
+ Store(Mid(0xfe7cb391d650a284, m601(1, 5), m601(1, 11)), Local0)
+ m600(arg0, 8, Local0, bb1d)
+
+ Store(Mid(0x6e7c534136002214, m601(1, 6), m601(1, 10)), Local0)
+ m600(arg0, 9, Local0, bb30)
+
+ // Method returns Reference to Index and Length parameters
+
+ if (y500) {
+ Store(Mid(0xfe7cb391d650a284, Derefof(m601(1, 5)), Derefof(m601(1, 11))), Local0)
+ m600(arg0, 10, Local0, bb1d)
+
+ Store(Mid(0x6e7c534136002214, Derefof(m601(1, 6)), Derefof(m601(1, 10))), Local0)
+ m600(arg0, 11, Local0, bb30)
+ }
+
+ Mid(0xfe7cb391d650a284, 0, 9, Local0)
+ m600(arg0, 12, Local0, bb1d)
+
+ Mid(0x6e7c534136002214, 1, 8, Local0)
+ m600(arg0, 13, Local0, bb30)
+
+ Mid(0xfe7cb391d650a284, aui5, auib, Local0)
+ m600(arg0, 14, Local0, bb1d)
+
+ Mid(0x6e7c534136002214, aui6, auia, Local0)
+ m600(arg0, 15, Local0, bb30)
+
+ if (y078) {
+ Mid(0xfe7cb391d650a284, Derefof(Refof(aui5)), Derefof(Refof(auib)), Local0)
+ m600(arg0, 16, Local0, bb1d)
+
+ Mid(0x6e7c534136002214, Derefof(Refof(aui6)), Derefof(Refof(auia)), Local0)
+ m600(arg0, 17, Local0, bb30)
+ }
+
+ Mid(0xfe7cb391d650a284, Derefof(Index(paui, 5)), Derefof(Index(paui, 11)), Local0)
+ m600(arg0, 18, Local0, bb1d)
+
+ Mid(0x6e7c534136002214, Derefof(Index(paui, 6)), Derefof(Index(paui, 10)), Local0)
+ m600(arg0, 19, Local0, bb30)
+
+ // Method returns Index and Length parameters
+
+ Mid(0xfe7cb391d650a284, m601(1, 5), m601(1, 11), Local0)
+ m600(arg0, 20, Local0, bb1d)
+
+ Mid(0x6e7c534136002214, m601(1, 6), m601(1, 10), Local0)
+ m600(arg0, 21, Local0, bb30)
+
+ // Method returns Reference to Index and Length parameters
+
+ if (y500) {
+ Mid(0xfe7cb391d650a284, Derefof(m601(1, 5)), Derefof(m601(1, 11)), Local0)
+ m600(arg0, 22, Local0, bb1d)
+
+ Mid(0x6e7c534136002214, Derefof(m601(1, 6)), Derefof(m601(1, 10)), Local0)
+ m600(arg0, 23, Local0, bb30)
+ }
+ }
+
+ Method(m328, 1)
+ {
+ Store(Mid(0xc179b3fe, 0, 5), Local0)
+ m600(arg0, 0, Local0, bb1c)
+
+ Store(Mid(0x6e7c534136002214, 1, 4), Local0)
+ m600(arg0, 1, Local0, bb31)
+
+ Store(Mid(0xc179b3fe, aui5, aui9), Local0)
+ m600(arg0, 2, Local0, bb1c)
+
+ Store(Mid(0x6e7c534136002214, aui6, aui8), Local0)
+ m600(arg0, 3, Local0, bb31)
+
+ if (y078) {
+ Store(Mid(0xc179b3fe, Derefof(Refof(aui5)), Derefof(Refof(aui9))), Local0)
+ m600(arg0, 4, Local0, bb1c)
+
+ Store(Mid(0x6e7c534136002214, Derefof(Refof(aui6)), Derefof(Refof(aui8))), Local0)
+ m600(arg0, 5, Local0, bb31)
+ }
+
+ Store(Mid(0xc179b3fe, Derefof(Index(paui, 5)), Derefof(Index(paui, 9))), Local0)
+ m600(arg0, 6, Local0, bb1c)
+
+ Store(Mid(0x6e7c534136002214, Derefof(Index(paui, 6)), Derefof(Index(paui, 8))), Local0)
+ m600(arg0, 7, Local0, bb31)
+
+ // Method returns Index and Length parameters
+
+ Store(Mid(0xc179b3fe, m601(1, 5), m601(1, 9)), Local0)
+ m600(arg0, 8, Local0, bb1c)
+
+ Store(Mid(0x6e7c534136002214, m601(1, 6), m601(1, 8)), Local0)
+ m600(arg0, 9, Local0, bb31)
+
+ // Method returns Reference to Index and Length parameters
+
+ if (y500) {
+ Store(Mid(0xc179b3fe, Derefof(m601(1, 5)), Derefof(m601(1, 9))), Local0)
+ m600(arg0, 10, Local0, bb1c)
+
+ Store(Mid(0x6e7c534136002214, Derefof(m601(1, 6)), Derefof(m601(1, 8))), Local0)
+ m600(arg0, 11, Local0, bb31)
+ }
+
+ Mid(0xc179b3fe, 0, 5, Local0)
+ m600(arg0, 12, Local0, bb1c)
+
+ Mid(0x6e7c534136002214, 1, 4, Local0)
+ m600(arg0, 13, Local0, bb31)
+
+ Mid(0xc179b3fe, aui5, aui9, Local0)
+ m600(arg0, 14, Local0, bb1c)
+
+ Mid(0x6e7c534136002214, aui6, aui8, Local0)
+ m600(arg0, 15, Local0, bb31)
+
+ if (y078) {
+ Mid(0xc179b3fe, Derefof(Refof(aui5)), Derefof(Refof(aui9)), Local0)
+ m600(arg0, 16, Local0, bb1c)
+
+ Mid(0x6e7c534136002214, Derefof(Refof(aui6)), Derefof(Refof(aui8)), Local0)
+ m600(arg0, 17, Local0, bb31)
+ }
+
+ Mid(0xc179b3fe, Derefof(Index(paui, 5)), Derefof(Index(paui, 9)), Local0)
+ m600(arg0, 18, Local0, bb1c)
+
+ Mid(0x6e7c534136002214, Derefof(Index(paui, 6)), Derefof(Index(paui, 8)), Local0)
+ m600(arg0, 19, Local0, bb31)
+
+ // Method returns Index and Length parameters
+
+ Mid(0xc179b3fe, m601(1, 5), m601(1, 9), Local0)
+ m600(arg0, 20, Local0, bb1c)
+
+ Mid(0x6e7c534136002214, m601(1, 6), m601(1, 8), Local0)
+ m600(arg0, 21, Local0, bb31)
+
+ // Method returns Reference to Index and Length parameters
+
+ if (y500) {
+ Mid(0xc179b3fe, Derefof(m601(1, 5)), Derefof(m601(1, 9)), Local0)
+ m600(arg0, 22, Local0, bb1c)
+
+ Mid(0x6e7c534136002214, Derefof(m601(1, 6)), Derefof(m601(1, 8)), Local0)
+ m600(arg0, 23, Local0, bb31)
+ }
+ }
+
+ // Integer to Buffer conversion of the Integer elements of
+ // a search package of Match operator when some MatchObject
+ // is evaluated as Buffer
+
+ Method(m649, 1)
+ {
+ Store(Match(Package(){0xfe7cb391d650a284},
+ MEQ, Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, MTR, 0, 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(Match(Package(){0xfe7cb391d650a284},
+ MEQ, Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFF}, MTR, 0, 0), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(Match(Package(){0xfe7cb391d650a284},
+ MTR, 0, MEQ, Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, 0), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(Match(Package(){0xfe7cb391d650a284},
+ MTR, 0, MEQ, Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFF}, 0), Local0)
+ m600(arg0, 3, Local0, Ones)
+ }
+
+ Method(m329, 1)
+ {
+ Store(Match(Package(){0xc179b3fe},
+ MEQ, Buffer() {0xFE, 0xB3, 0x79, 0xC1}, MTR, 0, 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(Match(Package(){0xc179b3fe},
+ MEQ, Buffer() {0xFE, 0xB3, 0x79, 0xC0}, MTR, 0, 0), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(Match(Package(){0xc179b3fe},
+ MTR, 0, MEQ, Buffer() {0xFE, 0xB3, 0x79, 0xC1}, 0), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(Match(Package(){0xc179b3fe},
+ MTR, 0, MEQ, Buffer() {0xFE, 0xB3, 0x79, 0xC0}, 0), Local0)
+ m600(arg0, 3, Local0, Ones)
+ }
+
+ // Integer to Buffer conversion of the Integer value of
+ // Expression of Case statement when Expression in Switch
+ // is either static Buffer data or explicitly converted to
+ // Buffer by ToBuffer
+
+ Method(m64a, 1)
+ {
+ Name(i000, 0)
+
+ Store(0, i000)
+ Switch (Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFF}) {
+ Case (0xfe7cb391d650a284) {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 0, i000, 2)
+
+ Store(0, i000)
+ Switch (Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}) {
+ Case (0xfe7cb391d650a284) {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 1, i000, 1)
+
+ Store(0, i000)
+ Switch (ToBuffer(aub5)) {
+ Case (0xfe7cb391d650a284) {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 2, i000, 2)
+
+ Store(0, i000)
+ Switch (ToBuffer(aub4)) {
+ Case (0xfe7cb391d650a284) {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 3, i000, 1)
+
+ if (y078) {
+ Store(0, i000)
+ Switch (ToBuffer(Derefof(Refof(aub5)))) {
+ Case (0xfe7cb391d650a284) {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 4, i000, 2)
+
+ Store(0, i000)
+ Switch (ToBuffer(Derefof(Refof(aub4)))) {
+ Case (0xfe7cb391d650a284) {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 5, i000, 1)
+ }
+
+ Store(0, i000)
+ Switch (ToBuffer(Derefof(Index(paub, 5)))) {
+ Case (0xfe7cb391d650a284) {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 6, i000, 2)
+
+ Store(0, i000)
+ Switch (ToBuffer(Derefof(Index(paub, 4)))) {
+ Case (0xfe7cb391d650a284) {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 7, i000, 1)
+
+ // Method returns String
+
+ Store(0, i000)
+ Switch (ToBuffer(m601(3, 5))) {
+ Case (0xfe7cb391d650a284) {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 8, i000, 2)
+
+ Store(0, i000)
+ Switch (ToBuffer(m601(3, 4))) {
+ Case (0xfe7cb391d650a284) {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 9, i000, 1)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(0, i000)
+ Switch (ToBuffer(Derefof(m602(3, 5, 1)))) {
+ Case (0xfe7cb391d650a284) {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 10, i000, 2)
+
+ Store(0, i000)
+ Switch (ToBuffer(Derefof(m602(3, 4, 1)))) {
+ Case (0xfe7cb391d650a284) {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 11, i000, 1)
+ }
+ }
+
+ Method(m32a, 1)
+ {
+ Name(i000, 0)
+
+ Store(0, i000)
+ Switch (Buffer() {0xFE, 0xB3, 0x79, 0xC2}) {
+ Case (0xc179b3fe) {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 0, i000, 2)
+
+ Store(0, i000)
+ Switch (Buffer() {0xFE, 0xB3, 0x79, 0xC1}) {
+ Case (0xc179b3fe) {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 1, i000, 1)
+
+ Store(0, i000)
+ Switch (ToBuffer(aub2)) {
+ Case (0xc179b3fe) {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 2, i000, 2)
+
+ Store(0, i000)
+ Switch (ToBuffer(aub3)) {
+ Case (0xc179b3fe) {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 3, i000, 1)
+
+ if (y078) {
+ Store(0, i000)
+ Switch (ToBuffer(Derefof(Refof(aub2)))) {
+ Case (0xc179b3fe) {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 4, i000, 2)
+
+ Store(0, i000)
+ Switch (ToBuffer(Derefof(Refof(aub3)))) {
+ Case (0xc179b3fe) {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 5, i000, 1)
+ }
+
+ Store(0, i000)
+ Switch (ToBuffer(Derefof(Index(paub, 2)))) {
+ Case (0xc179b3fe) {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 6, i000, 2)
+
+ Store(0, i000)
+ Switch (ToBuffer(Derefof(Index(paub, 3)))) {
+ Case (0xc179b3fe) {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 7, i000, 1)
+
+ // Method returns String
+
+ Store(0, i000)
+ Switch (ToBuffer(m601(3, 2))) {
+ Case (0xc179b3fe) {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 8, i000, 2)
+
+ Store(0, i000)
+ Switch (ToBuffer(m601(3, 3))) {
+ Case (0xc179b3fe) {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 9, i000, 1)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(0, i000)
+ Switch (ToBuffer(Derefof(m602(3, 2, 1)))) {
+ Case (0xc179b3fe) {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 10, i000, 2)
+
+ Store(0, i000)
+ Switch (ToBuffer(Derefof(m602(3, 3, 1)))) {
+ Case (0xc179b3fe) {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 11, i000, 1)
+ }
+ }
+
+ // String to Integer implicit conversion Cases.
+
+ // String to Integer conversion of the String sole operand
+ // of the 1-parameter Integer arithmetic operators
+ // (Decrement, Increment, FindSetLeftBit, FindSetRightBit, Not)
+
+ Method(m64b, 1)
+ {
+ // Decrement
+
+ // Increment
+
+ // FindSetLeftBit
+
+ Store(FindSetLeftBit("0321"), Local0)
+ m600(arg0, 0, Local0, 10)
+
+ Store(FindSetLeftBit("FE7CB391D650A284"), Local0)
+ m600(arg0, 1, Local0, 64)
+
+ // FindSetRightBit
+
+ Store(FindSetRightBit("0321"), Local0)
+ m600(arg0, 2, Local0, 1)
+
+ Store(FindSetRightBit("FE7CB391D650A284"), Local0)
+ m600(arg0, 3, Local0, 3)
+
+ // Not
+
+ Store(Not("0321"), Local0)
+ m600(arg0, 4, Local0, 0xfffffffffffffcde)
+
+ Store(Not("FE7CB391D650A284"), Local0)
+ m600(arg0, 5, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Method(m32b, 1)
+ {
+ // Decrement
+
+ // Increment
+
+ // FindSetLeftBit
+
+ Store(FindSetLeftBit("0321"), Local0)
+ m600(arg0, 0, Local0, 10)
+
+ Store(FindSetLeftBit("C179B3FE"), Local0)
+ m600(arg0, 1, Local0, 32)
+
+ // FindSetRightBit
+
+ Store(FindSetRightBit("0321"), Local0)
+ m600(arg0, 2, Local0, 1)
+
+ Store(FindSetRightBit("C179B3FE"), Local0)
+ m600(arg0, 3, Local0, 2)
+
+ // Not
+
+ Store(Not("0321"), Local0)
+ m600(arg0, 4, Local0, 0xfffffcde)
+
+ Store(Not("C179B3FE"), Local0)
+ m600(arg0, 5, Local0, 0x3e864c01)
+ }
+
+ // String to Integer conversion of the String sole operand
+ // of the LNot Logical Integer operator
+ Method(m000, 1)
+ {
+ Store(LNot("0"), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LNot("0321"), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ if (F64) {
+ Store(LNot("FE7CB391D650A284"), Local0)
+ m600(arg0, 2, Local0, Zero)
+ } else {
+ Store(LNot("C179B3FE"), Local0)
+ m600(arg0, 3, Local0, Zero)
+ }
+ }
+
+ // String to Integer conversion of the String sole operand
+ // of the FromBCD and ToBCD conversion operators
+
+ Method(m64c, 1)
+ {
+ // FromBCD
+
+ Store(FromBCD("0321"), Local0)
+ m600(arg0, 2, Local0, 0x141)
+
+ Store(FromBCD("3789012345678901"), Local0)
+ m600(arg0, 3, Local0, 0xd76162ee9ec35)
+
+ FromBCD("0321", Local0)
+ m600(arg0, 2, Local0, 0x141)
+
+ FromBCD("3789012345678901", Local0)
+ m600(arg0, 3, Local0, 0xd76162ee9ec35)
+
+ // ToBCD
+
+ Store(ToBCD("0321"), Local0)
+ m600(arg0, 4, Local0, 0x801)
+
+/* Error of iASL on constant folding
+ Store(ToBCD("D76162EE9EC35"), Local0)
+ m600(arg0, 5, Local0, 0x3789012345678901)
+*/
+
+ ToBCD("0321", Local0)
+ m600(arg0, 4, Local0, 0x801)
+
+ ToBCD("D76162EE9EC35", Local0)
+ m600(arg0, 5, Local0, 0x3789012345678901)
+ }
+
+ Method(m32c, 1)
+ {
+ // FromBCD
+
+ Store(FromBCD("0321"), Local0)
+ m600(arg0, 2, Local0, 0x141)
+
+ Store(FromBCD("90123456"), Local0)
+ m600(arg0, 3, Local0, 0x55f2cc0)
+
+ FromBCD("0321", Local0)
+ m600(arg0, 2, Local0, 0x141)
+
+ FromBCD("90123456", Local0)
+ m600(arg0, 3, Local0, 0x55f2cc0)
+
+ // ToBCD
+
+ Store(ToBCD("0321"), Local0)
+ m600(arg0, 4, Local0, 0x801)
+
+ Store(ToBCD("55F2CC0"), Local0)
+ m600(arg0, 5, Local0, 0x90123456)
+
+ ToBCD("0321", Local0)
+ m600(arg0, 4, Local0, 0x801)
+
+ ToBCD("55F2CC0", Local0)
+ m600(arg0, 5, Local0, 0x90123456)
+ }
+
+ // String to Integer conversion of each String operand
+ // of the 2-parameter Integer arithmetic operators
+ // Add, And, Divide, Mod, Multiply, NAnd, NOr, Or,
+ // ShiftLeft, ShiftRight, Subtract, Xor
+
+ // Add, common 32-bit/64-bit test
+ Method(m001, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Add("0321", 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Add("0321", 1), Local0)
+ m600(arg0, 1, Local0, 0x322)
+
+ Store(Add("0321", aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Add("0321", aui6), Local0)
+ m600(arg0, 3, Local0, 0x322)
+
+ if (y078) {
+ Store(Add("0321", Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Add("0321", Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x322)
+ }
+
+ Store(Add("0321", Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Add("0321", Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x322)
+
+ // Method returns Integer
+
+ Store(Add("0321", m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Add("0321", m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x322)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add("0321", Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Add("0321", Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x322)
+ }
+
+ Add("0321", 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Add("0321", 1, Local0)
+ m600(arg0, 13, Local0, 0x322)
+
+ Add("0321", aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Add("0321", aui6, Local0)
+ m600(arg0, 15, Local0, 0x322)
+
+ if (y078) {
+ Add("0321", Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Add("0321", Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x322)
+ }
+
+ Add("0321", Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Add("0321", Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x322)
+
+ // Method returns Integer
+
+ Add("0321", m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Add("0321", m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x322)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add("0321", Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Add("0321", Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x322)
+ }
+
+ // Conversion of the second operand
+
+ Store(Add(0, "0321"), Local0)
+ m600(arg0, 24, Local0, 0x321)
+
+ Store(Add(1, "0321"), Local0)
+ m600(arg0, 25, Local0, 0x322)
+
+ Store(Add(aui5, "0321"), Local0)
+ m600(arg0, 26, Local0, 0x321)
+
+ Store(Add(aui6, "0321"), Local0)
+ m600(arg0, 27, Local0, 0x322)
+
+ if (y078) {
+ Store(Add(Derefof(Refof(aui5)), "0321"), Local0)
+ m600(arg0, 28, Local0, 0x321)
+
+ Store(Add(Derefof(Refof(aui6)), "0321"), Local0)
+ m600(arg0, 29, Local0, 0x322)
+ }
+
+ Store(Add(Derefof(Index(paui, 5)), "0321"), Local0)
+ m600(arg0, 30, Local0, 0x321)
+
+ Store(Add(Derefof(Index(paui, 6)), "0321"), Local0)
+ m600(arg0, 31, Local0, 0x322)
+
+ // Method returns Integer
+
+ Store(Add(m601(1, 5), "0321"), Local0)
+ m600(arg0, 32, Local0, 0x321)
+
+ Store(Add(m601(1, 6), "0321"), Local0)
+ m600(arg0, 33, Local0, 0x322)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(Derefof(m602(1, 5, 1)), "0321"), Local0)
+ m600(arg0, 34, Local0, 0x321)
+
+ Store(Add(Derefof(m602(1, 6, 1)), "0321"), Local0)
+ m600(arg0, 35, Local0, 0x322)
+ }
+
+ Add(0, "0321", Local0)
+ m600(arg0, 36, Local0, 0x321)
+
+ Add(1, "0321", Local0)
+ m600(arg0, 37, Local0, 0x322)
+
+ Add(aui5, "0321", Local0)
+ m600(arg0, 38, Local0, 0x321)
+
+ Add(aui6, "0321", Local0)
+ m600(arg0, 39, Local0, 0x322)
+
+ if (y078) {
+ Add(Derefof(Refof(aui5)), "0321", Local0)
+ m600(arg0, 40, Local0, 0x321)
+
+ Add(Derefof(Refof(aui6)), "0321", Local0)
+ m600(arg0, 41, Local0, 0x322)
+ }
+
+ Add(Derefof(Index(paui, 5)), "0321", Local0)
+ m600(arg0, 42, Local0, 0x321)
+
+ Add(Derefof(Index(paui, 6)), "0321", Local0)
+ m600(arg0, 43, Local0, 0x322)
+
+ // Method returns Integer
+
+ Add(m601(1, 5), "0321", Local0)
+ m600(arg0, 44, Local0, 0x321)
+
+ Add(m601(1, 6), "0321", Local0)
+ m600(arg0, 45, Local0, 0x322)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(Derefof(m602(1, 5, 1)), "0321", Local0)
+ m600(arg0, 46, Local0, 0x321)
+
+ Add(Derefof(m602(1, 6, 1)), "0321", Local0)
+ m600(arg0, 47, Local0, 0x322)
+ }
+ }
+
+ // Add, 64-bit
+ Method(m002, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Add("FE7CB391D650A284", 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Add("FE7CB391D650A284", 1), Local0)
+ m600(arg0, 1, Local0, 0xfe7cb391d650a285)
+
+ Store(Add("FE7CB391D650A284", aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Add("FE7CB391D650A284", aui6), Local0)
+ m600(arg0, 3, Local0, 0xfe7cb391d650a285)
+
+ if (y078) {
+ Store(Add("FE7CB391D650A284", Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Add("FE7CB391D650A284", Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xfe7cb391d650a285)
+ }
+
+ Store(Add("FE7CB391D650A284", Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(Add("FE7CB391D650A284", Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Integer
+
+ Store(Add("FE7CB391D650A284", m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Add("FE7CB391D650A284", m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add("FE7CB391D650A284", Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Add("FE7CB391D650A284", Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfe7cb391d650a285)
+ }
+
+ Add("FE7CB391D650A284", 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Add("FE7CB391D650A284", 1, Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a285)
+
+ Add("FE7CB391D650A284", aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Add("FE7CB391D650A284", aui6, Local0)
+ m600(arg0, 15, Local0, 0xfe7cb391d650a285)
+
+ if (y078) {
+ Add("FE7CB391D650A284", Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Add("FE7CB391D650A284", Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xfe7cb391d650a285)
+ }
+
+ Add("FE7CB391D650A284", Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Add("FE7CB391D650A284", Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Integer
+
+ Add("FE7CB391D650A284", m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Add("FE7CB391D650A284", m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add("FE7CB391D650A284", Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Add("FE7CB391D650A284", Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfe7cb391d650a285)
+ }
+
+ // Conversion of the second operand
+
+ Store(Add(0, "FE7CB391D650A284"), Local0)
+ m600(arg0, 24, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(1, "FE7CB391D650A284"), Local0)
+ m600(arg0, 25, Local0, 0xfe7cb391d650a285)
+
+ Store(Add(aui5, "FE7CB391D650A284"), Local0)
+ m600(arg0, 26, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(aui6, "FE7CB391D650A284"), Local0)
+ m600(arg0, 27, Local0, 0xfe7cb391d650a285)
+
+ if (y078) {
+ Store(Add(Derefof(Refof(aui5)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 28, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(Refof(aui6)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 29, Local0, 0xfe7cb391d650a285)
+ }
+
+ Store(Add(Derefof(Index(paui, 5)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 30, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(Index(paui, 6)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 31, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Integer
+
+ Store(Add(m601(1, 5), "FE7CB391D650A284"), Local0)
+ m600(arg0, 32, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(m601(1, 6), "FE7CB391D650A284"), Local0)
+ m600(arg0, 33, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(Derefof(m602(1, 5, 1)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 34, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(m602(1, 6, 1)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 35, Local0, 0xfe7cb391d650a285)
+ }
+
+ Add(0, "FE7CB391D650A284", Local0)
+ m600(arg0, 36, Local0, 0xfe7cb391d650a284)
+
+ Add(1, "FE7CB391D650A284", Local0)
+ m600(arg0, 37, Local0, 0xfe7cb391d650a285)
+
+ Add(aui5, "FE7CB391D650A284", Local0)
+ m600(arg0, 38, Local0, 0xfe7cb391d650a284)
+
+ Add(aui6, "FE7CB391D650A284", Local0)
+ m600(arg0, 39, Local0, 0xfe7cb391d650a285)
+
+ if (y078) {
+ Add(Derefof(Refof(aui5)), "FE7CB391D650A284", Local0)
+ m600(arg0, 40, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(Refof(aui6)), "FE7CB391D650A284", Local0)
+ m600(arg0, 41, Local0, 0xfe7cb391d650a285)
+ }
+
+ Add(Derefof(Index(paui, 5)), "FE7CB391D650A284", Local0)
+ m600(arg0, 42, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(Index(paui, 6)), "FE7CB391D650A284", Local0)
+ m600(arg0, 43, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Integer
+
+ Add(m601(1, 5), "FE7CB391D650A284", Local0)
+ m600(arg0, 44, Local0, 0xfe7cb391d650a284)
+
+ Add(m601(1, 6), "FE7CB391D650A284", Local0)
+ m600(arg0, 45, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(Derefof(m602(1, 5, 1)), "FE7CB391D650A284", Local0)
+ m600(arg0, 46, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(m602(1, 6, 1)), "FE7CB391D650A284", Local0)
+ m600(arg0, 47, Local0, 0xfe7cb391d650a285)
+ }
+
+ // Conversion of the both operands
+
+ Store(Add("0321", "FE7CB391D650A284"), Local0)
+ m600(arg0, 48, Local0, 0xfe7cb391d650a5a5)
+
+ Store(Add("FE7CB391D650A284", "0321"), Local0)
+ m600(arg0, 49, Local0, 0xfe7cb391d650a5a5)
+
+ Add("0321", "FE7CB391D650A284", Local0)
+ m600(arg0, 50, Local0, 0xfe7cb391d650a5a5)
+
+ Add("FE7CB391D650A284", "0321", Local0)
+ m600(arg0, 51, Local0, 0xfe7cb391d650a5a5)
+ }
+
+ // Add, 32-bit
+ Method(m003, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Add("C179B3FE", 0), Local0)
+ m600(arg0, 0, Local0, 0xc179b3fe)
+
+ Store(Add("C179B3FE", 1), Local0)
+ m600(arg0, 1, Local0, 0xc179b3ff)
+
+ Store(Add("C179B3FE", aui5), Local0)
+ m600(arg0, 2, Local0, 0xc179b3fe)
+
+ Store(Add("C179B3FE", aui6), Local0)
+ m600(arg0, 3, Local0, 0xc179b3ff)
+
+ if (y078) {
+ Store(Add("C179B3FE", Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xc179b3fe)
+
+ Store(Add("C179B3FE", Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xc179b3ff)
+ }
+
+ Store(Add("C179B3FE", Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xc179b3fe)
+
+ Store(Add("C179B3FE", Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xc179b3ff)
+
+ // Method returns Integer
+
+ Store(Add("C179B3FE", m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xc179b3fe)
+
+ Store(Add("C179B3FE", m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xc179b3ff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add("C179B3FE", Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xc179b3fe)
+
+ Store(Add("C179B3FE", Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xc179b3ff)
+ }
+
+ Add("C179B3FE", 0, Local0)
+ m600(arg0, 12, Local0, 0xc179b3fe)
+
+ Add("C179B3FE", 1, Local0)
+ m600(arg0, 13, Local0, 0xc179b3ff)
+
+ Add("C179B3FE", aui5, Local0)
+ m600(arg0, 14, Local0, 0xc179b3fe)
+
+ Add("C179B3FE", aui6, Local0)
+ m600(arg0, 15, Local0, 0xc179b3ff)
+
+ if (y078) {
+ Add("C179B3FE", Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xc179b3fe)
+
+ Add("C179B3FE", Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xc179b3ff)
+ }
+
+ Add("C179B3FE", Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xc179b3fe)
+
+ Add("C179B3FE", Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xc179b3ff)
+
+ // Method returns Integer
+
+ Add("C179B3FE", m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xc179b3fe)
+
+ Add("C179B3FE", m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xc179b3ff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add("C179B3FE", Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xc179b3fe)
+
+ Add("C179B3FE", Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xc179b3ff)
+ }
+
+ // Conversion of the second operand
+
+ Store(Add(0, "C179B3FE"), Local0)
+ m600(arg0, 24, Local0, 0xc179b3fe)
+
+ Store(Add(1, "C179B3FE"), Local0)
+ m600(arg0, 25, Local0, 0xc179b3ff)
+
+ Store(Add(aui5, "C179B3FE"), Local0)
+ m600(arg0, 26, Local0, 0xc179b3fe)
+
+ Store(Add(aui6, "C179B3FE"), Local0)
+ m600(arg0, 27, Local0, 0xc179b3ff)
+
+ if (y078) {
+ Store(Add(Derefof(Refof(aui5)), "C179B3FE"), Local0)
+ m600(arg0, 28, Local0, 0xc179b3fe)
+
+ Store(Add(Derefof(Refof(aui6)), "C179B3FE"), Local0)
+ m600(arg0, 29, Local0, 0xc179b3ff)
+ }
+
+ Store(Add(Derefof(Index(paui, 5)), "C179B3FE"), Local0)
+ m600(arg0, 30, Local0, 0xc179b3fe)
+
+ Store(Add(Derefof(Index(paui, 6)), "C179B3FE"), Local0)
+ m600(arg0, 31, Local0, 0xc179b3ff)
+
+ // Method returns Integer
+
+ Store(Add(m601(1, 5), "C179B3FE"), Local0)
+ m600(arg0, 32, Local0, 0xc179b3fe)
+
+ Store(Add(m601(1, 6), "C179B3FE"), Local0)
+ m600(arg0, 33, Local0, 0xc179b3ff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(Derefof(m602(1, 5, 1)), "C179B3FE"), Local0)
+ m600(arg0, 34, Local0, 0xc179b3fe)
+
+ Store(Add(Derefof(m602(1, 6, 1)), "C179B3FE"), Local0)
+ m600(arg0, 35, Local0, 0xc179b3ff)
+ }
+
+ Add(0, "C179B3FE", Local0)
+ m600(arg0, 36, Local0, 0xc179b3fe)
+
+ Add(1, "C179B3FE", Local0)
+ m600(arg0, 37, Local0, 0xc179b3ff)
+
+ Add(aui5, "C179B3FE", Local0)
+ m600(arg0, 38, Local0, 0xc179b3fe)
+
+ Add(aui6, "C179B3FE", Local0)
+ m600(arg0, 39, Local0, 0xc179b3ff)
+
+ if (y078) {
+ Add(Derefof(Refof(aui5)), "C179B3FE", Local0)
+ m600(arg0, 40, Local0, 0xc179b3fe)
+
+ Add(Derefof(Refof(aui6)), "C179B3FE", Local0)
+ m600(arg0, 41, Local0, 0xc179b3ff)
+ }
+
+ Add(Derefof(Index(paui, 5)), "C179B3FE", Local0)
+ m600(arg0, 42, Local0, 0xc179b3fe)
+
+ Add(Derefof(Index(paui, 6)), "C179B3FE", Local0)
+ m600(arg0, 43, Local0, 0xc179b3ff)
+
+ // Method returns Integer
+
+ Add(m601(1, 5), "C179B3FE", Local0)
+ m600(arg0, 44, Local0, 0xc179b3fe)
+
+ Add(m601(1, 6), "C179B3FE", Local0)
+ m600(arg0, 45, Local0, 0xc179b3ff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(Derefof(m602(1, 5, 1)), "C179B3FE", Local0)
+ m600(arg0, 46, Local0, 0xc179b3fe)
+
+ Add(Derefof(m602(1, 6, 1)), "C179B3FE", Local0)
+ m600(arg0, 47, Local0, 0xc179b3ff)
+ }
+
+ // Conversion of the both operands
+
+ Store(Add("0321", "C179B3FE"), Local0)
+ m600(arg0, 48, Local0, 0xc179b71f)
+
+ Store(Add("C179B3FE", "0321"), Local0)
+ m600(arg0, 49, Local0, 0xc179b71f)
+
+ Add("0321", "C179B3FE", Local0)
+ m600(arg0, 50, Local0, 0xc179b71f)
+
+ Add("C179B3FE", "0321", Local0)
+ m600(arg0, 51, Local0, 0xc179b71f)
+ }
+
+ // And, common 32-bit/64-bit test
+ Method(m004, 1)
+ {
+ // Conversion of the first operand
+
+ Store(And("0321", 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(And("0321", 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0x321)
+
+ Store(And("0321", aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(And("0321", auij), Local0)
+ m600(arg0, 3, Local0, 0x321)
+
+ if (y078) {
+ Store(And("0321", Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(And("0321", Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0x321)
+ }
+
+ Store(And("0321", Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(And("0321", Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0x321)
+
+ // Method returns Integer
+
+ Store(And("0321", m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(And("0321", m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And("0321", Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(And("0321", Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0x321)
+ }
+
+ And("0321", 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ And("0321", 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0x321)
+
+ And("0321", aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ And("0321", auij, Local0)
+ m600(arg0, 15, Local0, 0x321)
+
+ if (y078) {
+ And("0321", Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ And("0321", Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0x321)
+ }
+
+ And("0321", Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ And("0321", Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0x321)
+
+ // Method returns Integer
+
+ And("0321", m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ And("0321", m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And("0321", Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ And("0321", Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0x321)
+ }
+
+ // Conversion of the second operand
+
+ Store(And(0, "0321"), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(And(0xffffffffffffffff, "0321"), Local0)
+ m600(arg0, 25, Local0, 0x321)
+
+ Store(And(aui5, "0321"), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(And(auij, "0321"), Local0)
+ m600(arg0, 27, Local0, 0x321)
+
+ if (y078) {
+ Store(And(Derefof(Refof(aui5)), "0321"), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(And(Derefof(Refof(auij)), "0321"), Local0)
+ m600(arg0, 29, Local0, 0x321)
+ }
+
+ Store(And(Derefof(Index(paui, 5)), "0321"), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(And(Derefof(Index(paui, 19)), "0321"), Local0)
+ m600(arg0, 31, Local0, 0x321)
+
+ // Method returns Integer
+
+ Store(And(m601(1, 5), "0321"), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(And(m601(1, 19), "0321"), Local0)
+ m600(arg0, 33, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(Derefof(m602(1, 5, 1)), "0321"), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(And(Derefof(m602(1, 19, 1)), "0321"), Local0)
+ m600(arg0, 35, Local0, 0x321)
+ }
+
+ And(0, "0321", Local0)
+ m600(arg0, 36, Local0, 0)
+
+ And(0xffffffffffffffff, "0321", Local0)
+ m600(arg0, 37, Local0, 0x321)
+
+ And(aui5, "0321", Local0)
+ m600(arg0, 38, Local0, 0)
+
+ And(auij, "0321", Local0)
+ m600(arg0, 39, Local0, 0x321)
+
+ if (y078) {
+ And(Derefof(Refof(aui5)), "0321", Local0)
+ m600(arg0, 40, Local0, 0)
+
+ And(Derefof(Refof(auij)), "0321", Local0)
+ m600(arg0, 41, Local0, 0x321)
+ }
+
+ And(Derefof(Index(paui, 5)), "0321", Local0)
+ m600(arg0, 42, Local0, 0)
+
+ And(Derefof(Index(paui, 19)), "0321", Local0)
+ m600(arg0, 43, Local0, 0x321)
+
+ // Method returns Integer
+
+ And(m601(1, 5), "0321", Local0)
+ m600(arg0, 44, Local0, 0)
+
+ And(m601(1, 19), "0321", Local0)
+ m600(arg0, 45, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(Derefof(m602(1, 5, 1)), "0321", Local0)
+ m600(arg0, 46, Local0, 0)
+
+ And(Derefof(m602(1, 19, 1)), "0321", Local0)
+ m600(arg0, 47, Local0, 0x321)
+ }
+ }
+
+ // And, 64-bit
+ Method(m005, 1)
+ {
+ // Conversion of the first operand
+
+ Store(And("FE7CB391D650A284", 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(And("FE7CB391D650A284", 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xfe7cb391d650a284)
+
+ Store(And("FE7CB391D650A284", aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(And("FE7CB391D650A284", auij), Local0)
+ m600(arg0, 3, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Store(And("FE7CB391D650A284", Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(And("FE7CB391D650A284", Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xfe7cb391d650a284)
+ }
+
+ Store(And("FE7CB391D650A284", Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(And("FE7CB391D650A284", Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Store(And("FE7CB391D650A284", m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(And("FE7CB391D650A284", m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And("FE7CB391D650A284", Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(And("FE7CB391D650A284", Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfe7cb391d650a284)
+ }
+
+ And("FE7CB391D650A284", 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ And("FE7CB391D650A284", 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a284)
+
+ And("FE7CB391D650A284", aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ And("FE7CB391D650A284", auij, Local0)
+ m600(arg0, 15, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ And("FE7CB391D650A284", Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ And("FE7CB391D650A284", Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xfe7cb391d650a284)
+ }
+
+ And("FE7CB391D650A284", Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ And("FE7CB391D650A284", Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ And("FE7CB391D650A284", m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ And("FE7CB391D650A284", m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And("FE7CB391D650A284", Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ And("FE7CB391D650A284", Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfe7cb391d650a284)
+ }
+
+ // Conversion of the second operand
+
+ Store(And(0, "FE7CB391D650A284"), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(And(0xffffffffffffffff, "FE7CB391D650A284"), Local0)
+ m600(arg0, 25, Local0, 0xfe7cb391d650a284)
+
+ Store(And(aui5, "FE7CB391D650A284"), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(And(auij, "FE7CB391D650A284"), Local0)
+ m600(arg0, 27, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Store(And(Derefof(Refof(aui5)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(And(Derefof(Refof(auij)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 29, Local0, 0xfe7cb391d650a284)
+ }
+
+ Store(And(Derefof(Index(paui, 5)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(And(Derefof(Index(paui, 19)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 31, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Store(And(m601(1, 5), "FE7CB391D650A284"), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(And(m601(1, 19), "FE7CB391D650A284"), Local0)
+ m600(arg0, 33, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(Derefof(m602(1, 5, 1)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(And(Derefof(m602(1, 19, 1)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 35, Local0, 0xfe7cb391d650a284)
+ }
+
+ And(0, "FE7CB391D650A284", Local0)
+ m600(arg0, 36, Local0, 0)
+
+ And(0xffffffffffffffff, "FE7CB391D650A284", Local0)
+ m600(arg0, 37, Local0, 0xfe7cb391d650a284)
+
+ And(aui5, "FE7CB391D650A284", Local0)
+ m600(arg0, 38, Local0, 0)
+
+ And(auij, "FE7CB391D650A284", Local0)
+ m600(arg0, 39, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ And(Derefof(Refof(aui5)), "FE7CB391D650A284", Local0)
+ m600(arg0, 40, Local0, 0)
+
+ And(Derefof(Refof(auij)), "FE7CB391D650A284", Local0)
+ m600(arg0, 41, Local0, 0xfe7cb391d650a284)
+ }
+
+ And(Derefof(Index(paui, 5)), "FE7CB391D650A284", Local0)
+ m600(arg0, 42, Local0, 0)
+
+ And(Derefof(Index(paui, 19)), "FE7CB391D650A284", Local0)
+ m600(arg0, 43, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ And(m601(1, 5), "FE7CB391D650A284", Local0)
+ m600(arg0, 44, Local0, 0)
+
+ And(m601(1, 19), "FE7CB391D650A284", Local0)
+ m600(arg0, 45, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(Derefof(m602(1, 5, 1)), "FE7CB391D650A284", Local0)
+ m600(arg0, 46, Local0, 0)
+
+ And(Derefof(m602(1, 19, 1)), "FE7CB391D650A284", Local0)
+ m600(arg0, 47, Local0, 0xfe7cb391d650a284)
+ }
+
+ // Conversion of the both operands
+
+ Store(And("0321", "FE7CB391D650A284"), Local0)
+ m600(arg0, 48, Local0, 0x200)
+
+ Store(And("FE7CB391D650A284", "0321"), Local0)
+ m600(arg0, 49, Local0, 0x200)
+
+ And("0321", "FE7CB391D650A284", Local0)
+ m600(arg0, 50, Local0, 0x200)
+
+ And("FE7CB391D650A284", "0321", Local0)
+ m600(arg0, 51, Local0, 0x200)
+ }
+
+ // And, 32-bit
+ Method(m006, 1)
+ {
+ // Conversion of the first operand
+
+ Store(And("C179B3FE", 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(And("C179B3FE", 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0xc179b3fe)
+
+ Store(And("C179B3FE", aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(And("C179B3FE", auii), Local0)
+ m600(arg0, 3, Local0, 0xc179b3fe)
+
+ if (y078) {
+ Store(And("C179B3FE", Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(And("C179B3FE", Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0xc179b3fe)
+ }
+
+ Store(And("C179B3FE", Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(And("C179B3FE", Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0xc179b3fe)
+
+ // Method returns Integer
+
+ Store(And("C179B3FE", m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(And("C179B3FE", m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0xc179b3fe)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And("C179B3FE", Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(And("C179B3FE", Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0xc179b3fe)
+ }
+
+ And("C179B3FE", 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ And("C179B3FE", 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0xc179b3fe)
+
+ And("C179B3FE", aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ And("C179B3FE", auii, Local0)
+ m600(arg0, 15, Local0, 0xc179b3fe)
+
+ if (y078) {
+ And("C179B3FE", Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ And("C179B3FE", Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0xc179b3fe)
+ }
+
+ And("C179B3FE", Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ And("C179B3FE", Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0xc179b3fe)
+
+ // Method returns Integer
+
+ And("C179B3FE", m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ And("C179B3FE", m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0xc179b3fe)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And("C179B3FE", Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ And("C179B3FE", Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0xc179b3fe)
+ }
+
+ // Conversion of the second operand
+
+ Store(And(0, "C179B3FE"), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(And(0xffffffff, "C179B3FE"), Local0)
+ m600(arg0, 25, Local0, 0xc179b3fe)
+
+ Store(And(aui5, "C179B3FE"), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(And(auii, "C179B3FE"), Local0)
+ m600(arg0, 27, Local0, 0xc179b3fe)
+
+ if (y078) {
+ Store(And(Derefof(Refof(aui5)), "C179B3FE"), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(And(Derefof(Refof(auii)), "C179B3FE"), Local0)
+ m600(arg0, 29, Local0, 0xc179b3fe)
+ }
+
+ Store(And(Derefof(Index(paui, 5)), "C179B3FE"), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(And(Derefof(Index(paui, 18)), "C179B3FE"), Local0)
+ m600(arg0, 31, Local0, 0xc179b3fe)
+
+ // Method returns Integer
+
+ Store(And(m601(1, 5), "C179B3FE"), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(And(m601(1, 18), "C179B3FE"), Local0)
+ m600(arg0, 33, Local0, 0xc179b3fe)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(Derefof(m602(1, 5, 1)), "C179B3FE"), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(And(Derefof(m602(1, 18, 1)), "C179B3FE"), Local0)
+ m600(arg0, 35, Local0, 0xc179b3fe)
+ }
+
+ And(0, "C179B3FE", Local0)
+ m600(arg0, 36, Local0, 0)
+
+ And(0xffffffff, "C179B3FE", Local0)
+ m600(arg0, 37, Local0, 0xc179b3fe)
+
+ And(aui5, "C179B3FE", Local0)
+ m600(arg0, 38, Local0, 0)
+
+ And(auii, "C179B3FE", Local0)
+ m600(arg0, 39, Local0, 0xc179b3fe)
+
+ if (y078) {
+ And(Derefof(Refof(aui5)), "C179B3FE", Local0)
+ m600(arg0, 40, Local0, 0)
+
+ And(Derefof(Refof(auii)), "C179B3FE", Local0)
+ m600(arg0, 41, Local0, 0xc179b3fe)
+ }
+
+ And(Derefof(Index(paui, 5)), "C179B3FE", Local0)
+ m600(arg0, 42, Local0, 0)
+
+ And(Derefof(Index(paui, 18)), "C179B3FE", Local0)
+ m600(arg0, 43, Local0, 0xc179b3fe)
+
+ // Method returns Integer
+
+ And(m601(1, 5), "C179B3FE", Local0)
+ m600(arg0, 44, Local0, 0)
+
+ And(m601(1, 18), "C179B3FE", Local0)
+ m600(arg0, 45, Local0, 0xc179b3fe)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(Derefof(m602(1, 5, 1)), "C179B3FE", Local0)
+ m600(arg0, 46, Local0, 0)
+
+ And(Derefof(m602(1, 18, 1)), "C179B3FE", Local0)
+ m600(arg0, 47, Local0, 0xc179b3fe)
+ }
+
+ // Conversion of the both operands
+
+ Store(And("0321", "C179B3FE"), Local0)
+ m600(arg0, 48, Local0, 0x320)
+
+ Store(And("C179B3FE", "0321"), Local0)
+ m600(arg0, 49, Local0, 0x320)
+
+ And("0321", "C179B3FE", Local0)
+ m600(arg0, 50, Local0, 0x320)
+
+ And("C179B3FE", "0321", Local0)
+ m600(arg0, 51, Local0, 0x320)
+ }
+
+ // Divide, common 32-bit/64-bit test
+ Method(m007, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Divide("0321", 1), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Divide("0321", 0x321), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Divide("0321", aui6), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Divide("0321", aui1), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Divide("0321", Derefof(Refof(aui6))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Divide("0321", Derefof(Refof(aui1))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Divide("0321", Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Divide("0321", Derefof(Index(paui, 1))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide("0321", m601(1, 6)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Divide("0321", m601(1, 1)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide("0321", Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Divide("0321", Derefof(m602(1, 1, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Divide("0321", 1, Local1, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Divide("0321", 0x321, Local1, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Divide("0321", aui6, Local1, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Divide("0321", aui1, Local1, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Divide("0321", Derefof(Refof(aui6)), Local1, Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Divide("0321", Derefof(Refof(aui1)), Local1, Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Divide("0321", Derefof(Index(paui, 6)), Local1, Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Divide("0321", Derefof(Index(paui, 1)), Local1, Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Divide("0321", m601(1, 6), Local1, Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Divide("0321", m601(1, 1), Local1, Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide("0321", Derefof(m602(1, 6, 1)), Local1, Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Divide("0321", Derefof(m602(1, 1, 1)), Local1, Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Divide(1, "0321"), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Divide(0x321, "0321"), Local0)
+ m600(arg0, 25, Local0, 1)
+
+ Store(Divide(aui6, "0321"), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Divide(aui1, "0321"), Local0)
+ m600(arg0, 27, Local0, 1)
+
+ if (y078) {
+ Store(Divide(Derefof(Refof(aui6)), "0321"), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Divide(Derefof(Refof(aui1)), "0321"), Local0)
+ m600(arg0, 29, Local0, 1)
+ }
+
+ Store(Divide(Derefof(Index(paui, 6)), "0321"), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Divide(Derefof(Index(paui, 1)), "0321"), Local0)
+ m600(arg0, 31, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(m601(1, 6), "0321"), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Divide(m601(1, 1), "0321"), Local0)
+ m600(arg0, 33, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(Derefof(m602(1, 6, 1)), "0321"), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Divide(Derefof(m602(1, 1, 1)), "0321"), Local0)
+ m600(arg0, 35, Local0, 1)
+ }
+
+ Divide(1, "0321", Local1, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Divide(0x321, "0321", Local1, Local0)
+ m600(arg0, 37, Local0, 1)
+
+ Divide(aui6, "0321", Local1, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Divide(aui1, "0321", Local1, Local0)
+ m600(arg0, 39, Local0, 1)
+
+ if (y078) {
+ Divide(Derefof(Refof(aui6)), "0321", Local1, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Divide(Derefof(Refof(aui1)), "0321", Local1, Local0)
+ m600(arg0, 41, Local0, 1)
+ }
+
+ Divide(Derefof(Index(paui, 6)), "0321", Local1, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Divide(Derefof(Index(paui, 1)), "0321", Local1, Local0)
+ m600(arg0, 43, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(m601(1, 6), "0321", Local1, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Divide(m601(1, 1), "0321", Local1, Local0)
+ m600(arg0, 45, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(Derefof(m602(1, 6, 1)), "0321", Local1, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Divide(Derefof(m602(1, 1, 1)), "0321", Local1, Local0)
+ m600(arg0, 47, Local0, 1)
+ }
+ }
+
+ // Divide, 64-bit
+ Method(m008, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Divide("FE7CB391D650A284", 1), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide("FE7CB391D650A284", 0xfe7cb391d650a284), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Divide("FE7CB391D650A284", aui6), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide("FE7CB391D650A284", aui4), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Divide("FE7CB391D650A284", Derefof(Refof(aui6))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide("FE7CB391D650A284", Derefof(Refof(aui4))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Divide("FE7CB391D650A284", Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide("FE7CB391D650A284", Derefof(Index(paui, 4))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide("FE7CB391D650A284", m601(1, 6)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide("FE7CB391D650A284", m601(1, 4)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide("FE7CB391D650A284", Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide("FE7CB391D650A284", Derefof(m602(1, 4, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Divide("FE7CB391D650A284", 1, Local1, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Divide("FE7CB391D650A284", 0xfe7cb391d650a284, Local1, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Divide("FE7CB391D650A284", aui6, Local1, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Divide("FE7CB391D650A284", aui4, Local1, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Divide("FE7CB391D650A284", Derefof(Refof(aui6)), Local1, Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Divide("FE7CB391D650A284", Derefof(Refof(aui4)), Local1, Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Divide("FE7CB391D650A284", Derefof(Index(paui, 6)), Local1, Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Divide("FE7CB391D650A284", Derefof(Index(paui, 4)), Local1, Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Divide("FE7CB391D650A284", m601(1, 6), Local1, Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Divide("FE7CB391D650A284", m601(1, 4), Local1, Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide("FE7CB391D650A284", Derefof(m602(1, 6, 1)), Local1, Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Divide("FE7CB391D650A284", Derefof(m602(1, 4, 1)), Local1, Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Divide(1, "FE7CB391D650A284"), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Divide(0xfe7cb391d650a284, "FE7CB391D650A284"), Local0)
+ m600(arg0, 25, Local0, 1)
+
+ Store(Divide(aui6, "FE7CB391D650A284"), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Divide(aui4, "FE7CB391D650A284"), Local0)
+ m600(arg0, 27, Local0, 1)
+
+ if (y078) {
+ Store(Divide(Derefof(Refof(aui6)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Divide(Derefof(Refof(aui4)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 29, Local0, 1)
+ }
+
+ Store(Divide(Derefof(Index(paui, 6)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Divide(Derefof(Index(paui, 4)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 31, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(m601(1, 6), "FE7CB391D650A284"), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Divide(m601(1, 4), "FE7CB391D650A284"), Local0)
+ m600(arg0, 33, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(Derefof(m602(1, 6, 1)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Divide(Derefof(m602(1, 4, 1)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 35, Local0, 1)
+ }
+
+ Divide(1, "FE7CB391D650A284", Local1, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Divide(0xfe7cb391d650a284, "FE7CB391D650A284", Local1, Local0)
+ m600(arg0, 37, Local0, 1)
+
+ Divide(aui6, "FE7CB391D650A284", Local1, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Divide(aui4, "FE7CB391D650A284", Local1, Local0)
+ m600(arg0, 39, Local0, 1)
+
+ if (y078) {
+ Divide(Derefof(Refof(aui6)), "FE7CB391D650A284", Local1, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Divide(Derefof(Refof(aui4)), "FE7CB391D650A284", Local1, Local0)
+ m600(arg0, 41, Local0, 1)
+ }
+
+ Divide(Derefof(Index(paui, 6)), "FE7CB391D650A284", Local1, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Divide(Derefof(Index(paui, 4)), "FE7CB391D650A284", Local1, Local0)
+ m600(arg0, 43, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(m601(1, 6), "FE7CB391D650A284", Local1, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Divide(m601(1, 4), "FE7CB391D650A284", Local1, Local0)
+ m600(arg0, 45, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(Derefof(m602(1, 6, 1)), "FE7CB391D650A284", Local1, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Divide(Derefof(m602(1, 4, 1)), "FE7CB391D650A284", Local1, Local0)
+ m600(arg0, 47, Local0, 1)
+ }
+
+ // Conversion of the both operands
+
+ Store(Divide("0321", "FE7CB391D650A284"), Local0)
+ m600(arg0, 48, Local0, 0)
+
+ Store(Divide("FE7CB391D650A284", "0321"), Local0)
+ m600(arg0, 49, Local0, 0x0051558eb950f5a7)
+
+ Divide("0321", "FE7CB391D650A284", Local1, Local0)
+ m600(arg0, 50, Local0, 0)
+
+ Divide("FE7CB391D650A284", "0321", Local1, Local0)
+ m600(arg0, 51, Local0, 0x0051558eb950f5a7)
+ }
+
+ // Divide, 32-bit
+ Method(m009, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Divide("C179B3FE", 1), Local0)
+ m600(arg0, 0, Local0, 0xc179b3fe)
+
+ Store(Divide("C179B3FE", 0xc179b3fe), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Divide("C179B3FE", aui6), Local0)
+ m600(arg0, 2, Local0, 0xc179b3fe)
+
+ Store(Divide("C179B3FE", aui3), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Divide("C179B3FE", Derefof(Refof(aui6))), Local0)
+ m600(arg0, 4, Local0, 0xc179b3fe)
+
+ Store(Divide("C179B3FE", Derefof(Refof(aui3))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Divide("C179B3FE", Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 6, Local0, 0xc179b3fe)
+
+ Store(Divide("C179B3FE", Derefof(Index(paui, 3))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide("C179B3FE", m601(1, 6)), Local0)
+ m600(arg0, 8, Local0, 0xc179b3fe)
+
+ Store(Divide("C179B3FE", m601(1, 3)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide("C179B3FE", Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 10, Local0, 0xc179b3fe)
+
+ Store(Divide("C179B3FE", Derefof(m602(1, 3, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Divide("C179B3FE", 1, Local1, Local0)
+ m600(arg0, 12, Local0, 0xc179b3fe)
+
+ Divide("C179B3FE", 0xc179b3fe, Local1, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Divide("C179B3FE", aui6, Local1, Local0)
+ m600(arg0, 14, Local0, 0xc179b3fe)
+
+ Divide("C179B3FE", aui3, Local1, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Divide("C179B3FE", Derefof(Refof(aui6)), Local1, Local0)
+ m600(arg0, 16, Local0, 0xc179b3fe)
+
+ Divide("C179B3FE", Derefof(Refof(aui3)), Local1, Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Divide("C179B3FE", Derefof(Index(paui, 6)), Local1, Local0)
+ m600(arg0, 18, Local0, 0xc179b3fe)
+
+ Divide("C179B3FE", Derefof(Index(paui, 3)), Local1, Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Divide("C179B3FE", m601(1, 6), Local1, Local0)
+ m600(arg0, 20, Local0, 0xc179b3fe)
+
+ Divide("C179B3FE", m601(1, 3), Local1, Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide("C179B3FE", Derefof(m602(1, 6, 1)), Local1, Local0)
+ m600(arg0, 22, Local0, 0xc179b3fe)
+
+ Divide("C179B3FE", Derefof(m602(1, 3, 1)), Local1, Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Divide(1, "C179B3FE"), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Divide(0xc179b3fe, "C179B3FE"), Local0)
+ m600(arg0, 25, Local0, 1)
+
+ Store(Divide(aui6, "C179B3FE"), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Divide(aui3, "C179B3FE"), Local0)
+ m600(arg0, 27, Local0, 1)
+
+ if (y078) {
+ Store(Divide(Derefof(Refof(aui6)), "C179B3FE"), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Divide(Derefof(Refof(aui3)), "C179B3FE"), Local0)
+ m600(arg0, 29, Local0, 1)
+ }
+
+ Store(Divide(Derefof(Index(paui, 6)), "C179B3FE"), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Divide(Derefof(Index(paui, 3)), "C179B3FE"), Local0)
+ m600(arg0, 31, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(m601(1, 6), "C179B3FE"), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Divide(m601(1, 3), "C179B3FE"), Local0)
+ m600(arg0, 33, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(Derefof(m602(1, 6, 1)), "C179B3FE"), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Divide(Derefof(m602(1, 3, 1)), "C179B3FE"), Local0)
+ m600(arg0, 35, Local0, 1)
+ }
+
+ Divide(1, "C179B3FE", Local1, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Divide(0xc179b3fe, "C179B3FE", Local1, Local0)
+ m600(arg0, 37, Local0, 1)
+
+ Divide(aui6, "C179B3FE", Local1, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Divide(aui3, "C179B3FE", Local1, Local0)
+ m600(arg0, 39, Local0, 1)
+
+ if (y078) {
+ Divide(Derefof(Refof(aui6)), "C179B3FE", Local1, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Divide(Derefof(Refof(aui3)), "C179B3FE", Local1, Local0)
+ m600(arg0, 41, Local0, 1)
+ }
+
+ Divide(Derefof(Index(paui, 6)), "C179B3FE", Local1, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Divide(Derefof(Index(paui, 3)), "C179B3FE", Local1, Local0)
+ m600(arg0, 43, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(m601(1, 6), "C179B3FE", Local1, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Divide(m601(1, 3), "C179B3FE", Local1, Local0)
+ m600(arg0, 45, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(Derefof(m602(1, 6, 1)), "C179B3FE", Local1, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Divide(Derefof(m602(1, 3, 1)), "C179B3FE", Local1, Local0)
+ m600(arg0, 47, Local0, 1)
+ }
+
+ // Conversion of the both operands
+
+ Store(Divide("0321", "C179B3FE"), Local0)
+ m600(arg0, 48, Local0, 0)
+
+ Store(Divide("C179B3FE", "0321"), Local0)
+ m600(arg0, 49, Local0, 0x003dd5b7)
+
+ Divide("0321", "C179B3FE", Local1, Local0)
+ m600(arg0, 50, Local0, 0)
+
+ Divide("C179B3FE", "0321", Local1, Local0)
+ m600(arg0, 51, Local0, 0x003dd5b7)
+ }
+
+ // Mod, common 32-bit/64-bit test
+ Method(m00a, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Mod("0321", 0x322), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Mod("0321", 0x320), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Mod("0321", auig), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Mod("0321", auih), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Mod("0321", Derefof(Refof(auig))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Mod("0321", Derefof(Refof(auih))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Mod("0321", Derefof(Index(paui, 16))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Mod("0321", Derefof(Index(paui, 17))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Mod("0321", m601(1, 16)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Mod("0321", m601(1, 17)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod("0321", Derefof(m602(1, 16, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Mod("0321", Derefof(m602(1, 17, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Mod("0321", 0x322, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Mod("0321", 0x320, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Mod("0321", auig, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Mod("0321", auih, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Mod("0321", Derefof(Refof(auig)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Mod("0321", Derefof(Refof(auih)), Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Mod("0321", Derefof(Index(paui, 16)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Mod("0321", Derefof(Index(paui, 17)), Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Mod("0321", m601(1, 16), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Mod("0321", m601(1, 17), Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod("0321", Derefof(m602(1, 16, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Mod("0321", Derefof(m602(1, 17, 1)), Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Mod(0x322, "0321"), Local0)
+ m600(arg0, 24, Local0, 1)
+
+ Store(Mod(0x320, "0321"), Local0)
+ m600(arg0, 25, Local0, 0x320)
+
+ Store(Mod(auig, "0321"), Local0)
+ m600(arg0, 26, Local0, 1)
+
+ Store(Mod(auih, "0321"), Local0)
+ m600(arg0, 27, Local0, 0x320)
+
+ if (y078) {
+ Store(Mod(Derefof(Refof(auig)), "0321"), Local0)
+ m600(arg0, 28, Local0, 1)
+
+ Store(Mod(Derefof(Refof(auih)), "0321"), Local0)
+ m600(arg0, 29, Local0, 0x320)
+ }
+
+ Store(Mod(Derefof(Index(paui, 16)), "0321"), Local0)
+ m600(arg0, 30, Local0, 1)
+
+ Store(Mod(Derefof(Index(paui, 17)), "0321"), Local0)
+ m600(arg0, 31, Local0, 0x320)
+
+ // Method returns Integer
+
+ Store(Mod(m601(1, 16), "0321"), Local0)
+ m600(arg0, 32, Local0, 1)
+
+ Store(Mod(m601(1, 17), "0321"), Local0)
+ m600(arg0, 33, Local0, 0x320)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(Derefof(m602(1, 16, 1)), "0321"), Local0)
+ m600(arg0, 34, Local0, 1)
+
+ Store(Mod(Derefof(m602(1, 17, 1)), "0321"), Local0)
+ m600(arg0, 35, Local0, 0x320)
+ }
+
+ Mod(0x322, "0321", Local0)
+ m600(arg0, 36, Local0, 1)
+
+ Mod(0x320, "0321", Local0)
+ m600(arg0, 37, Local0, 0x320)
+
+ Mod(auig, "0321", Local0)
+ m600(arg0, 38, Local0, 1)
+
+ Mod(auih, "0321", Local0)
+ m600(arg0, 39, Local0, 0x320)
+
+ if (y078) {
+ Mod(Derefof(Refof(auig)), "0321", Local0)
+ m600(arg0, 40, Local0, 1)
+
+ Mod(Derefof(Refof(auih)), "0321", Local0)
+ m600(arg0, 41, Local0, 0x320)
+ }
+
+ Mod(Derefof(Index(paui, 16)), "0321", Local0)
+ m600(arg0, 42, Local0, 1)
+
+ Mod(Derefof(Index(paui, 17)), "0321", Local0)
+ m600(arg0, 43, Local0, 0x320)
+
+ // Method returns Integer
+
+ Mod(m601(1, 16), "0321", Local0)
+ m600(arg0, 44, Local0, 1)
+
+ Mod(m601(1, 17), "0321", Local0)
+ m600(arg0, 45, Local0, 0x320)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(Derefof(m602(1, 16, 1)), "0321", Local0)
+ m600(arg0, 46, Local0, 1)
+
+ Mod(Derefof(m602(1, 17, 1)), "0321", Local0)
+ m600(arg0, 47, Local0, 0x320)
+ }
+ }
+
+ // Mod, 64-bit
+ Method(m00b, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Mod("FE7CB391D650A284", 0xfe7cb391d650a285), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod("FE7CB391D650A284", 0xfe7cb391d650a283), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Mod("FE7CB391D650A284", auid), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod("FE7CB391D650A284", auif), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Mod("FE7CB391D650A284", Derefof(Refof(auid))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod("FE7CB391D650A284", Derefof(Refof(auif))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Mod("FE7CB391D650A284", Derefof(Index(paui, 13))), Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod("FE7CB391D650A284", Derefof(Index(paui, 15))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Mod("FE7CB391D650A284", m601(1, 13)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod("FE7CB391D650A284", m601(1, 15)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod("FE7CB391D650A284", Derefof(m602(1, 13, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod("FE7CB391D650A284", Derefof(m602(1, 15, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Mod("FE7CB391D650A284", 0xfe7cb391d650a285, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Mod("FE7CB391D650A284", 0xfe7cb391d650a283, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Mod("FE7CB391D650A284", auid, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Mod("FE7CB391D650A284", auif, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Mod("FE7CB391D650A284", Derefof(Refof(auid)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Mod("FE7CB391D650A284", Derefof(Refof(auif)), Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Mod("FE7CB391D650A284", Derefof(Index(paui, 13)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Mod("FE7CB391D650A284", Derefof(Index(paui, 15)), Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Mod("FE7CB391D650A284", m601(1, 13), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Mod("FE7CB391D650A284", m601(1, 15), Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod("FE7CB391D650A284", Derefof(m602(1, 13, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Mod("FE7CB391D650A284", Derefof(m602(1, 15, 1)), Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Mod(0xfe7cb391d650a285, "FE7CB391D650A284"), Local0)
+ m600(arg0, 24, Local0, 1)
+
+ Store(Mod(0xfe7cb391d650a283, "FE7CB391D650A284"), Local0)
+ m600(arg0, 25, Local0, 0xfe7cb391d650a283)
+
+ Store(Mod(auid, "FE7CB391D650A284"), Local0)
+ m600(arg0, 26, Local0, 1)
+
+ Store(Mod(auif, "FE7CB391D650A284"), Local0)
+ m600(arg0, 27, Local0, 0xfe7cb391d650a283)
+
+ if (y078) {
+ Store(Mod(Derefof(Refof(auid)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 28, Local0, 1)
+
+ Store(Mod(Derefof(Refof(auif)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 29, Local0, 0xfe7cb391d650a283)
+ }
+
+ Store(Mod(Derefof(Index(paui, 13)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 30, Local0, 1)
+
+ Store(Mod(Derefof(Index(paui, 15)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 31, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Integer
+
+ Store(Mod(m601(1, 13), "FE7CB391D650A284"), Local0)
+ m600(arg0, 32, Local0, 1)
+
+ Store(Mod(m601(1, 15), "FE7CB391D650A284"), Local0)
+ m600(arg0, 33, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(Derefof(m602(1, 13, 1)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 34, Local0, 1)
+
+ Store(Mod(Derefof(m602(1, 15, 1)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 35, Local0, 0xfe7cb391d650a283)
+ }
+
+ Mod(0xfe7cb391d650a285, "FE7CB391D650A284", Local0)
+ m600(arg0, 36, Local0, 1)
+
+ Mod(0xfe7cb391d650a283, "FE7CB391D650A284", Local0)
+ m600(arg0, 37, Local0, 0xfe7cb391d650a283)
+
+ Mod(auid, "FE7CB391D650A284", Local0)
+ m600(arg0, 38, Local0, 1)
+
+ Mod(auif, "FE7CB391D650A284", Local0)
+ m600(arg0, 39, Local0, 0xfe7cb391d650a283)
+
+ if (y078) {
+ Mod(Derefof(Refof(auid)), "FE7CB391D650A284", Local0)
+ m600(arg0, 40, Local0, 1)
+
+ Mod(Derefof(Refof(auif)), "FE7CB391D650A284", Local0)
+ m600(arg0, 41, Local0, 0xfe7cb391d650a283)
+ }
+
+ Mod(Derefof(Index(paui, 13)), "FE7CB391D650A284", Local0)
+ m600(arg0, 42, Local0, 1)
+
+ Mod(Derefof(Index(paui, 15)), "FE7CB391D650A284", Local0)
+ m600(arg0, 43, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Integer
+
+ Mod(m601(1, 13), "FE7CB391D650A284", Local0)
+ m600(arg0, 44, Local0, 1)
+
+ Mod(m601(1, 15), "FE7CB391D650A284", Local0)
+ m600(arg0, 45, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(Derefof(m602(1, 13, 1)), "FE7CB391D650A284", Local0)
+ m600(arg0, 46, Local0, 1)
+
+ Mod(Derefof(m602(1, 15, 1)), "FE7CB391D650A284", Local0)
+ m600(arg0, 47, Local0, 0xfe7cb391d650a283)
+ }
+
+ // Conversion of the both operands
+
+ Store(Mod("0321", "FE7CB391D650A284"), Local0)
+ m600(arg0, 48, Local0, 0x321)
+
+ Store(Mod("FE7CB391D650A284", "0321"), Local0)
+ m600(arg0, 49, Local0, 0x2fd)
+
+ Mod("0321", "FE7CB391D650A284", Local0)
+ m600(arg0, 50, Local0, 0x321)
+
+ Mod("FE7CB391D650A284", "0321", Local0)
+ m600(arg0, 51, Local0, 0x2fd)
+ }
+
+ // Mod, 32-bit
+ Method(m00c, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Mod("C179B3FE", 0xc179b3ff), Local0)
+ m600(arg0, 0, Local0, 0xc179b3fe)
+
+ Store(Mod("C179B3FE", 0xc179b3fd), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Mod("C179B3FE", auic), Local0)
+ m600(arg0, 2, Local0, 0xc179b3fe)
+
+ Store(Mod("C179B3FE", auie), Local0)
+ m600(arg0, 14, Local0, 1)
+
+ if (y078) {
+ Store(Mod("C179B3FE", Derefof(Refof(auic))), Local0)
+ m600(arg0, 4, Local0, 0xc179b3fe)
+
+ Store(Mod("C179B3FE", Derefof(Refof(auie))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Mod("C179B3FE", Derefof(Index(paui, 12))), Local0)
+ m600(arg0, 12, Local0, 0xc179b3fe)
+
+ Store(Mod("C179B3FE", Derefof(Index(paui, 14))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Mod("C179B3FE", m601(1, 12)), Local0)
+ m600(arg0, 8, Local0, 0xc179b3fe)
+
+ Store(Mod("C179B3FE", m601(1, 14)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod("C179B3FE", Derefof(m602(1, 12, 1))), Local0)
+ m600(arg0, 10, Local0, 0xc179b3fe)
+
+ Store(Mod("C179B3FE", Derefof(m602(1, 14, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Mod("C179B3FE", 0xc179b3ff, Local0)
+ m600(arg0, 12, Local0, 0xc179b3fe)
+
+ Mod("C179B3FE", 0xc179b3fd, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Mod("C179B3FE", auic, Local0)
+ m600(arg0, 14, Local0, 0xc179b3fe)
+
+ Mod("C179B3FE", auie, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Mod("C179B3FE", Derefof(Refof(auic)), Local0)
+ m600(arg0, 16, Local0, 0xc179b3fe)
+
+ Mod("C179B3FE", Derefof(Refof(auie)), Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Mod("C179B3FE", Derefof(Index(paui, 12)), Local0)
+ m600(arg0, 18, Local0, 0xc179b3fe)
+
+ Mod("C179B3FE", Derefof(Index(paui, 14)), Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Mod("C179B3FE", m601(1, 12), Local0)
+ m600(arg0, 20, Local0, 0xc179b3fe)
+
+ Mod("C179B3FE", m601(1, 14), Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod("C179B3FE", Derefof(m602(1, 12, 1)), Local0)
+ m600(arg0, 22, Local0, 0xc179b3fe)
+
+ Mod("C179B3FE", Derefof(m602(1, 14, 1)), Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Mod(0xc179b3ff, "C179B3FE"), Local0)
+ m600(arg0, 24, Local0, 1)
+
+ Store(Mod(0xc179b3fd, "C179B3FE"), Local0)
+ m600(arg0, 25, Local0, 0xc179b3fd)
+
+ Store(Mod(auic, "C179B3FE"), Local0)
+ m600(arg0, 26, Local0, 1)
+
+ Store(Mod(auie, "C179B3FE"), Local0)
+ m600(arg0, 27, Local0, 0xc179b3fd)
+
+ if (y078) {
+ Store(Mod(Derefof(Refof(auic)), "C179B3FE"), Local0)
+ m600(arg0, 28, Local0, 1)
+
+ Store(Mod(Derefof(Refof(auie)), "C179B3FE"), Local0)
+ m600(arg0, 29, Local0, 0xc179b3fd)
+ }
+
+ Store(Mod(Derefof(Index(paui, 12)), "C179B3FE"), Local0)
+ m600(arg0, 30, Local0, 1)
+
+ Store(Mod(Derefof(Index(paui, 14)), "C179B3FE"), Local0)
+ m600(arg0, 31, Local0, 0xc179b3fd)
+
+ // Method returns Integer
+
+ Store(Mod(m601(1, 12), "C179B3FE"), Local0)
+ m600(arg0, 32, Local0, 1)
+
+ Store(Mod(m601(1, 14), "C179B3FE"), Local0)
+ m600(arg0, 33, Local0, 0xc179b3fd)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(Derefof(m602(1, 12, 1)), "C179B3FE"), Local0)
+ m600(arg0, 34, Local0, 1)
+
+ Store(Mod(Derefof(m602(1, 14, 1)), "C179B3FE"), Local0)
+ m600(arg0, 35, Local0, 0xc179b3fd)
+ }
+
+ Mod(0xc179b3ff, "C179B3FE", Local0)
+ m600(arg0, 36, Local0, 1)
+
+ Mod(0xc179b3fd, "C179B3FE", Local0)
+ m600(arg0, 37, Local0, 0xc179b3fd)
+
+ Mod(auic, "C179B3FE", Local0)
+ m600(arg0, 38, Local0, 1)
+
+ Mod(auie, "C179B3FE", Local0)
+ m600(arg0, 39, Local0, 0xc179b3fd)
+
+ if (y078) {
+ Mod(Derefof(Refof(auic)), "C179B3FE", Local0)
+ m600(arg0, 40, Local0, 1)
+
+ Mod(Derefof(Refof(auie)), "C179B3FE", Local0)
+ m600(arg0, 41, Local0, 0xc179b3fd)
+ }
+
+ Mod(Derefof(Index(paui, 12)), "C179B3FE", Local0)
+ m600(arg0, 42, Local0, 1)
+
+ Mod(Derefof(Index(paui, 14)), "C179B3FE", Local0)
+ m600(arg0, 43, Local0, 0xc179b3fd)
+
+ // Method returns Integer
+
+ Mod(m601(1, 12), "C179B3FE", Local0)
+ m600(arg0, 44, Local0, 1)
+
+ Mod(m601(1, 14), "C179B3FE", Local0)
+ m600(arg0, 45, Local0, 0xc179b3fd)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(Derefof(m602(1, 12, 1)), "C179B3FE", Local0)
+ m600(arg0, 46, Local0, 1)
+
+ Mod(Derefof(m602(1, 14, 1)), "C179B3FE", Local0)
+ m600(arg0, 47, Local0, 0xc179b3fd)
+ }
+
+ // Conversion of the both operands
+
+ Store(Mod("0321", "C179B3FE"), Local0)
+ m600(arg0, 48, Local0, 0x321)
+
+ Store(Mod("C179B3FE", "0321"), Local0)
+ m600(arg0, 49, Local0, 0x267)
+
+ Mod("0321", "C179B3FE", Local0)
+ m600(arg0, 50, Local0, 0x321)
+
+ Mod("C179B3FE", "0321", Local0)
+ m600(arg0, 51, Local0, 0x267)
+ }
+
+ // Multiply, common 32-bit/64-bit test
+ Method(m00d, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Multiply("0321", 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(Multiply("0321", 1), Local0)
+ m600(arg0, 1, Local0, 0x321)
+
+ Store(Multiply("0321", aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(Multiply("0321", aui6), Local0)
+ m600(arg0, 3, Local0, 0x321)
+
+ if (y078) {
+ Store(Multiply("0321", Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(Multiply("0321", Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x321)
+ }
+
+ Store(Multiply("0321", Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(Multiply("0321", Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x321)
+
+ // Method returns Integer
+
+ Store(Multiply("0321", m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(Multiply("0321", m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply("0321", Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(Multiply("0321", Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x321)
+ }
+
+ Multiply("0321", 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ Multiply("0321", 1, Local0)
+ m600(arg0, 13, Local0, 0x321)
+
+ Multiply("0321", aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ Multiply("0321", aui6, Local0)
+ m600(arg0, 15, Local0, 0x321)
+
+ if (y078) {
+ Multiply("0321", Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ Multiply("0321", Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x321)
+ }
+
+ Multiply("0321", Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ Multiply("0321", Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x321)
+
+ // Method returns Integer
+
+ Multiply("0321", m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ Multiply("0321", m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply("0321", Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ Multiply("0321", Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x321)
+ }
+
+ // Conversion of the second operand
+
+ Store(Multiply(0, "0321"), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Multiply(1, "0321"), Local0)
+ m600(arg0, 25, Local0, 0x321)
+
+ Store(Multiply(aui5, "0321"), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Multiply(aui6, "0321"), Local0)
+ m600(arg0, 27, Local0, 0x321)
+
+ if (y078) {
+ Store(Multiply(Derefof(Refof(aui5)), "0321"), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(aui6)), "0321"), Local0)
+ m600(arg0, 29, Local0, 0x321)
+ }
+
+ Store(Multiply(Derefof(Index(paui, 5)), "0321"), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Multiply(Derefof(Index(paui, 6)), "0321"), Local0)
+ m600(arg0, 31, Local0, 0x321)
+
+ // Method returns Integer
+
+ Store(Multiply(m601(1, 5), "0321"), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Multiply(m601(1, 6), "0321"), Local0)
+ m600(arg0, 33, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(Derefof(m602(1, 5, 1)), "0321"), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Multiply(Derefof(m602(1, 6, 1)), "0321"), Local0)
+ m600(arg0, 35, Local0, 0x321)
+ }
+
+ Multiply(0, "0321", Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Multiply(1, "0321", Local0)
+ m600(arg0, 37, Local0, 0x321)
+
+ Multiply(aui5, "0321", Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Multiply(aui6, "0321", Local0)
+ m600(arg0, 39, Local0, 0x321)
+
+ if (y078) {
+ Multiply(Derefof(Refof(aui5)), "0321", Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Multiply(Derefof(Refof(aui6)), "0321", Local0)
+ m600(arg0, 41, Local0, 0x321)
+ }
+
+ Multiply(Derefof(Index(paui, 5)), "0321", Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Multiply(Derefof(Index(paui, 6)), "0321", Local0)
+ m600(arg0, 43, Local0, 0x321)
+
+ // Method returns Integer
+
+ Multiply(m601(1, 5), "0321", Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Multiply(m601(1, 6), "0321", Local0)
+ m600(arg0, 45, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(Derefof(m602(1, 5, 1)), "0321", Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Multiply(Derefof(m602(1, 6, 1)), "0321", Local0)
+ m600(arg0, 47, Local0, 0x321)
+ }
+ }
+
+ // Multiply, 64-bit
+ Method(m00e, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Multiply("FE7CB391D650A284", 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(Multiply("FE7CB391D650A284", 1), Local0)
+ m600(arg0, 1, Local0, 0xfe7cb391d650a284)
+
+ Store(Multiply("FE7CB391D650A284", aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(Multiply("FE7CB391D650A284", aui6), Local0)
+ m600(arg0, 3, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Store(Multiply("FE7CB391D650A284", Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(Multiply("FE7CB391D650A284", Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xfe7cb391d650a284)
+ }
+
+ Store(Multiply("FE7CB391D650A284", Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(Multiply("FE7CB391D650A284", Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Store(Multiply("FE7CB391D650A284", m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(Multiply("FE7CB391D650A284", m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply("FE7CB391D650A284", Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(Multiply("FE7CB391D650A284", Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfe7cb391d650a284)
+ }
+
+ Multiply("FE7CB391D650A284", 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ Multiply("FE7CB391D650A284", 1, Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a284)
+
+ Multiply("FE7CB391D650A284", aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ Multiply("FE7CB391D650A284", aui6, Local0)
+ m600(arg0, 15, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Multiply("FE7CB391D650A284", Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ Multiply("FE7CB391D650A284", Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xfe7cb391d650a284)
+ }
+
+ Multiply("FE7CB391D650A284", Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ Multiply("FE7CB391D650A284", Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Multiply("FE7CB391D650A284", m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ Multiply("FE7CB391D650A284", m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply("FE7CB391D650A284", Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ Multiply("FE7CB391D650A284", Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfe7cb391d650a284)
+ }
+
+ // Conversion of the second operand
+
+ Store(Multiply(0, "FE7CB391D650A284"), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Multiply(1, "FE7CB391D650A284"), Local0)
+ m600(arg0, 25, Local0, 0xfe7cb391d650a284)
+
+ Store(Multiply(aui5, "FE7CB391D650A284"), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Multiply(aui6, "FE7CB391D650A284"), Local0)
+ m600(arg0, 27, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Store(Multiply(Derefof(Refof(aui5)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(aui6)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 29, Local0, 0xfe7cb391d650a284)
+ }
+
+ Store(Multiply(Derefof(Index(paui, 5)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Multiply(Derefof(Index(paui, 6)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 31, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Store(Multiply(m601(1, 5), "FE7CB391D650A284"), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Multiply(m601(1, 6), "FE7CB391D650A284"), Local0)
+ m600(arg0, 33, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(Derefof(m602(1, 5, 1)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Multiply(Derefof(m602(1, 6, 1)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 35, Local0, 0xfe7cb391d650a284)
+ }
+
+ Multiply(0, "FE7CB391D650A284", Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Multiply(1, "FE7CB391D650A284", Local0)
+ m600(arg0, 37, Local0, 0xfe7cb391d650a284)
+
+ Multiply(aui5, "FE7CB391D650A284", Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Multiply(aui6, "FE7CB391D650A284", Local0)
+ m600(arg0, 39, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Multiply(Derefof(Refof(aui5)), "FE7CB391D650A284", Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Multiply(Derefof(Refof(aui6)), "FE7CB391D650A284", Local0)
+ m600(arg0, 41, Local0, 0xfe7cb391d650a284)
+ }
+
+ Multiply(Derefof(Index(paui, 5)), "FE7CB391D650A284", Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Multiply(Derefof(Index(paui, 6)), "FE7CB391D650A284", Local0)
+ m600(arg0, 43, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Multiply(m601(1, 5), "FE7CB391D650A284", Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Multiply(m601(1, 6), "FE7CB391D650A284", Local0)
+ m600(arg0, 45, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(Derefof(m602(1, 5, 1)), "FE7CB391D650A284", Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Multiply(Derefof(m602(1, 6, 1)), "FE7CB391D650A284", Local0)
+ m600(arg0, 47, Local0, 0xfe7cb391d650a284)
+ }
+
+ // Conversion of the both operands
+
+ Store(Multiply("0321", "FE7CB391D650A284"), Local0)
+ m600(arg0, 48, Local0, 0x442ddb4f924c7f04)
+
+ Store(Multiply("FE7CB391D650A284", "0321"), Local0)
+ m600(arg0, 49, Local0, 0x442ddb4f924c7f04)
+
+ Multiply("0321", "FE7CB391D650A284", Local0)
+ m600(arg0, 50, Local0, 0x442ddb4f924c7f04)
+
+ Multiply("FE7CB391D650A284", "0321", Local0)
+ m600(arg0, 51, Local0, 0x442ddb4f924c7f04)
+ }
+
+ // Multiply, 32-bit
+ Method(m00f, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Multiply("C179B3FE", 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(Multiply("C179B3FE", 1), Local0)
+ m600(arg0, 1, Local0, 0xc179b3fe)
+
+ Store(Multiply("C179B3FE", aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(Multiply("C179B3FE", aui6), Local0)
+ m600(arg0, 3, Local0, 0xc179b3fe)
+
+ if (y078) {
+ Store(Multiply("C179B3FE", Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(Multiply("C179B3FE", Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xc179b3fe)
+ }
+
+ Store(Multiply("C179B3FE", Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(Multiply("C179B3FE", Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xc179b3fe)
+
+ // Method returns Integer
+
+ Store(Multiply("C179B3FE", m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(Multiply("C179B3FE", m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xc179b3fe)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply("C179B3FE", Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(Multiply("C179B3FE", Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xc179b3fe)
+ }
+
+ Multiply("C179B3FE", 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ Multiply("C179B3FE", 1, Local0)
+ m600(arg0, 13, Local0, 0xc179b3fe)
+
+ Multiply("C179B3FE", aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ Multiply("C179B3FE", aui6, Local0)
+ m600(arg0, 15, Local0, 0xc179b3fe)
+
+ if (y078) {
+ Multiply("C179B3FE", Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ Multiply("C179B3FE", Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xc179b3fe)
+ }
+
+ Multiply("C179B3FE", Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ Multiply("C179B3FE", Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xc179b3fe)
+
+ // Method returns Integer
+
+ Multiply("C179B3FE", m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ Multiply("C179B3FE", m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xc179b3fe)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply("C179B3FE", Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ Multiply("C179B3FE", Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xc179b3fe)
+ }
+
+ // Conversion of the second operand
+
+ Store(Multiply(0, "C179B3FE"), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Multiply(1, "C179B3FE"), Local0)
+ m600(arg0, 25, Local0, 0xc179b3fe)
+
+ Store(Multiply(aui5, "C179B3FE"), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Multiply(aui6, "C179B3FE"), Local0)
+ m600(arg0, 27, Local0, 0xc179b3fe)
+
+ if (y078) {
+ Store(Multiply(Derefof(Refof(aui5)), "C179B3FE"), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(aui6)), "C179B3FE"), Local0)
+ m600(arg0, 29, Local0, 0xc179b3fe)
+ }
+
+ Store(Multiply(Derefof(Index(paui, 5)), "C179B3FE"), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Multiply(Derefof(Index(paui, 6)), "C179B3FE"), Local0)
+ m600(arg0, 31, Local0, 0xc179b3fe)
+
+ // Method returns Integer
+
+ Store(Multiply(m601(1, 5), "C179B3FE"), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Multiply(m601(1, 6), "C179B3FE"), Local0)
+ m600(arg0, 33, Local0, 0xc179b3fe)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(Derefof(m602(1, 5, 1)), "C179B3FE"), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Multiply(Derefof(m602(1, 6, 1)), "C179B3FE"), Local0)
+ m600(arg0, 35, Local0, 0xc179b3fe)
+ }
+
+ Multiply(0, "C179B3FE", Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Multiply(1, "C179B3FE", Local0)
+ m600(arg0, 37, Local0, 0xc179b3fe)
+
+ Multiply(aui5, "C179B3FE", Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Multiply(aui6, "C179B3FE", Local0)
+ m600(arg0, 39, Local0, 0xc179b3fe)
+
+ if (y078) {
+ Multiply(Derefof(Refof(aui5)), "C179B3FE", Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Multiply(Derefof(Refof(aui6)), "C179B3FE", Local0)
+ m600(arg0, 41, Local0, 0xc179b3fe)
+ }
+
+ Multiply(Derefof(Index(paui, 5)), "C179B3FE", Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Multiply(Derefof(Index(paui, 6)), "C179B3FE", Local0)
+ m600(arg0, 43, Local0, 0xc179b3fe)
+
+ // Method returns Integer
+
+ Multiply(m601(1, 5), "C179B3FE", Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Multiply(m601(1, 6), "C179B3FE", Local0)
+ m600(arg0, 45, Local0, 0xc179b3fe)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(Derefof(m602(1, 5, 1)), "C179B3FE", Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Multiply(Derefof(m602(1, 6, 1)), "C179B3FE", Local0)
+ m600(arg0, 47, Local0, 0xc179b3fe)
+ }
+
+ // Conversion of the both operands
+
+ Store(Multiply("0321", "C179B3FE"), Local0)
+ m600(arg0, 48, Local0, 0x5dcc2dbe)
+
+ Store(Multiply("C179B3FE", "0321"), Local0)
+ m600(arg0, 49, Local0, 0x5dcc2dbe)
+
+ Multiply("0321", "C179B3FE", Local0)
+ m600(arg0, 50, Local0, 0x5dcc2dbe)
+
+ Multiply("C179B3FE", "0321", Local0)
+ m600(arg0, 51, Local0, 0x5dcc2dbe)
+ }
+
+ // NAnd, common 32-bit/64-bit test
+ Method(m010, 1)
+ {
+ // Conversion of the first operand
+
+ Store(NAnd("0321", 0), Local0)
+ m600(arg0, 0, Local0, 0xffffffffffffffff)
+
+ Store(NAnd("0321", 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xfffffffffffffcde)
+
+ Store(NAnd("0321", aui5), Local0)
+ m600(arg0, 2, Local0, 0xffffffffffffffff)
+
+ Store(NAnd("0321", auij), Local0)
+ m600(arg0, 3, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ Store(NAnd("0321", Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xffffffffffffffff)
+
+ Store(NAnd("0321", Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xfffffffffffffcde)
+ }
+
+ Store(NAnd("0321", Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xffffffffffffffff)
+
+ Store(NAnd("0321", Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ Store(NAnd("0321", m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xffffffffffffffff)
+
+ Store(NAnd("0321", m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd("0321", Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xffffffffffffffff)
+
+ Store(NAnd("0321", Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfffffffffffffcde)
+ }
+
+ NAnd("0321", 0, Local0)
+ m600(arg0, 12, Local0, 0xffffffffffffffff)
+
+ NAnd("0321", 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xfffffffffffffcde)
+
+ NAnd("0321", aui5, Local0)
+ m600(arg0, 14, Local0, 0xffffffffffffffff)
+
+ NAnd("0321", auij, Local0)
+ m600(arg0, 15, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ NAnd("0321", Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xffffffffffffffff)
+
+ NAnd("0321", Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xfffffffffffffcde)
+ }
+
+ NAnd("0321", Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xffffffffffffffff)
+
+ NAnd("0321", Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ NAnd("0321", m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xffffffffffffffff)
+
+ NAnd("0321", m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd("0321", Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xffffffffffffffff)
+
+ NAnd("0321", Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfffffffffffffcde)
+ }
+
+ // Conversion of the second operand
+
+ Store(NAnd(0, "0321"), Local0)
+ m600(arg0, 24, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(0xffffffffffffffff, "0321"), Local0)
+ m600(arg0, 25, Local0, 0xfffffffffffffcde)
+
+ Store(NAnd(aui5, "0321"), Local0)
+ m600(arg0, 26, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(auij, "0321"), Local0)
+ m600(arg0, 27, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ Store(NAnd(Derefof(Refof(aui5)), "0321"), Local0)
+ m600(arg0, 28, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Refof(auij)), "0321"), Local0)
+ m600(arg0, 29, Local0, 0xfffffffffffffcde)
+ }
+
+ Store(NAnd(Derefof(Index(paui, 5)), "0321"), Local0)
+ m600(arg0, 30, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Index(paui, 19)), "0321"), Local0)
+ m600(arg0, 31, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ Store(NAnd(m601(1, 5), "0321"), Local0)
+ m600(arg0, 32, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(m601(1, 19), "0321"), Local0)
+ m600(arg0, 33, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(Derefof(m602(1, 5, 1)), "0321"), Local0)
+ m600(arg0, 34, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(m602(1, 19, 1)), "0321"), Local0)
+ m600(arg0, 35, Local0, 0xfffffffffffffcde)
+ }
+
+ NAnd(0, "0321", Local0)
+ m600(arg0, 36, Local0, 0xffffffffffffffff)
+
+ NAnd(0xffffffffffffffff, "0321", Local0)
+ m600(arg0, 37, Local0, 0xfffffffffffffcde)
+
+ NAnd(aui5, "0321", Local0)
+ m600(arg0, 38, Local0, 0xffffffffffffffff)
+
+ NAnd(auij, "0321", Local0)
+ m600(arg0, 39, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ NAnd(Derefof(Refof(aui5)), "0321", Local0)
+ m600(arg0, 40, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Refof(auij)), "0321", Local0)
+ m600(arg0, 41, Local0, 0xfffffffffffffcde)
+ }
+
+ NAnd(Derefof(Index(paui, 5)), "0321", Local0)
+ m600(arg0, 42, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Index(paui, 19)), "0321", Local0)
+ m600(arg0, 43, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ NAnd(m601(1, 5), "0321", Local0)
+ m600(arg0, 44, Local0, 0xffffffffffffffff)
+
+ NAnd(m601(1, 19), "0321", Local0)
+ m600(arg0, 45, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(Derefof(m602(1, 5, 1)), "0321", Local0)
+ m600(arg0, 46, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(m602(1, 19, 1)), "0321", Local0)
+ m600(arg0, 47, Local0, 0xfffffffffffffcde)
+ }
+ }
+
+ // NAnd, 64-bit
+ Method(m011, 1)
+ {
+ // Conversion of the first operand
+
+ Store(NAnd("FE7CB391D650A284", 0), Local0)
+ m600(arg0, 0, Local0, 0xffffffffffffffff)
+
+ Store(NAnd("FE7CB391D650A284", 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0x01834c6e29af5d7b)
+
+ Store(NAnd("FE7CB391D650A284", aui5), Local0)
+ m600(arg0, 2, Local0, 0xffffffffffffffff)
+
+ Store(NAnd("FE7CB391D650A284", auij), Local0)
+ m600(arg0, 3, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ Store(NAnd("FE7CB391D650A284", Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xffffffffffffffff)
+
+ Store(NAnd("FE7CB391D650A284", Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Store(NAnd("FE7CB391D650A284", Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xffffffffffffffff)
+
+ Store(NAnd("FE7CB391D650A284", Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ Store(NAnd("FE7CB391D650A284", m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xffffffffffffffff)
+
+ Store(NAnd("FE7CB391D650A284", m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd("FE7CB391D650A284", Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xffffffffffffffff)
+
+ Store(NAnd("FE7CB391D650A284", Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0x01834c6e29af5d7b)
+ }
+
+ NAnd("FE7CB391D650A284", 0, Local0)
+ m600(arg0, 12, Local0, 0xffffffffffffffff)
+
+ NAnd("FE7CB391D650A284", 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0x01834c6e29af5d7b)
+
+ NAnd("FE7CB391D650A284", aui5, Local0)
+ m600(arg0, 14, Local0, 0xffffffffffffffff)
+
+ NAnd("FE7CB391D650A284", auij, Local0)
+ m600(arg0, 15, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ NAnd("FE7CB391D650A284", Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xffffffffffffffff)
+
+ NAnd("FE7CB391D650A284", Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0x01834c6e29af5d7b)
+ }
+
+ NAnd("FE7CB391D650A284", Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xffffffffffffffff)
+
+ NAnd("FE7CB391D650A284", Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ NAnd("FE7CB391D650A284", m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xffffffffffffffff)
+
+ NAnd("FE7CB391D650A284", m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd("FE7CB391D650A284", Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xffffffffffffffff)
+
+ NAnd("FE7CB391D650A284", Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0x01834c6e29af5d7b)
+ }
+
+ // Conversion of the second operand
+
+ Store(NAnd(0, "FE7CB391D650A284"), Local0)
+ m600(arg0, 24, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(0xffffffffffffffff, "FE7CB391D650A284"), Local0)
+ m600(arg0, 25, Local0, 0x01834c6e29af5d7b)
+
+ Store(NAnd(aui5, "FE7CB391D650A284"), Local0)
+ m600(arg0, 26, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(auij, "FE7CB391D650A284"), Local0)
+ m600(arg0, 27, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ Store(NAnd(Derefof(Refof(aui5)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 28, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Refof(auij)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 29, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Store(NAnd(Derefof(Index(paui, 5)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 30, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Index(paui, 19)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 31, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ Store(NAnd(m601(1, 5), "FE7CB391D650A284"), Local0)
+ m600(arg0, 32, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(m601(1, 19), "FE7CB391D650A284"), Local0)
+ m600(arg0, 33, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(Derefof(m602(1, 5, 1)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 34, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(m602(1, 19, 1)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 35, Local0, 0x01834c6e29af5d7b)
+ }
+
+ NAnd(0, "FE7CB391D650A284", Local0)
+ m600(arg0, 36, Local0, 0xffffffffffffffff)
+
+ NAnd(0xffffffffffffffff, "FE7CB391D650A284", Local0)
+ m600(arg0, 37, Local0, 0x01834c6e29af5d7b)
+
+ NAnd(aui5, "FE7CB391D650A284", Local0)
+ m600(arg0, 38, Local0, 0xffffffffffffffff)
+
+ NAnd(auij, "FE7CB391D650A284", Local0)
+ m600(arg0, 39, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ NAnd(Derefof(Refof(aui5)), "FE7CB391D650A284", Local0)
+ m600(arg0, 40, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Refof(auij)), "FE7CB391D650A284", Local0)
+ m600(arg0, 41, Local0, 0x01834c6e29af5d7b)
+ }
+
+ NAnd(Derefof(Index(paui, 5)), "FE7CB391D650A284", Local0)
+ m600(arg0, 42, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Index(paui, 19)), "FE7CB391D650A284", Local0)
+ m600(arg0, 43, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ NAnd(m601(1, 5), "FE7CB391D650A284", Local0)
+ m600(arg0, 44, Local0, 0xffffffffffffffff)
+
+ NAnd(m601(1, 19), "FE7CB391D650A284", Local0)
+ m600(arg0, 45, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(Derefof(m602(1, 5, 1)), "FE7CB391D650A284", Local0)
+ m600(arg0, 46, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(m602(1, 19, 1)), "FE7CB391D650A284", Local0)
+ m600(arg0, 47, Local0, 0x01834c6e29af5d7b)
+ }
+
+ // Conversion of the both operands
+
+ Store(NAnd("0321", "FE7CB391D650A284"), Local0)
+ m600(arg0, 48, Local0, 0xfffffffffffffdff)
+
+ Store(NAnd("FE7CB391D650A284", "0321"), Local0)
+ m600(arg0, 49, Local0, 0xfffffffffffffdff)
+
+ NAnd("0321", "FE7CB391D650A284", Local0)
+ m600(arg0, 50, Local0, 0xfffffffffffffdff)
+
+ NAnd("FE7CB391D650A284", "0321", Local0)
+ m600(arg0, 51, Local0, 0xfffffffffffffdff)
+ }
+
+ // NAnd, 32-bit
+ Method(m012, 1)
+ {
+ // Conversion of the first operand
+
+ Store(NAnd("C179B3FE", 0), Local0)
+ m600(arg0, 0, Local0, 0xffffffff)
+
+ Store(NAnd("C179B3FE", 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0x3e864c01)
+
+ Store(NAnd("C179B3FE", aui5), Local0)
+ m600(arg0, 2, Local0, 0xffffffff)
+
+ Store(NAnd("C179B3FE", auii), Local0)
+ m600(arg0, 3, Local0, 0x3e864c01)
+
+ if (y078) {
+ Store(NAnd("C179B3FE", Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xffffffff)
+
+ Store(NAnd("C179B3FE", Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0x3e864c01)
+ }
+
+ Store(NAnd("C179B3FE", Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xffffffff)
+
+ Store(NAnd("C179B3FE", Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0x3e864c01)
+
+ // Method returns Integer
+
+ Store(NAnd("C179B3FE", m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xffffffff)
+
+ Store(NAnd("C179B3FE", m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0x3e864c01)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd("C179B3FE", Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xffffffff)
+
+ Store(NAnd("C179B3FE", Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0x3e864c01)
+ }
+
+ NAnd("C179B3FE", 0, Local0)
+ m600(arg0, 12, Local0, 0xffffffff)
+
+ NAnd("C179B3FE", 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0x3e864c01)
+
+ NAnd("C179B3FE", aui5, Local0)
+ m600(arg0, 14, Local0, 0xffffffff)
+
+ NAnd("C179B3FE", auii, Local0)
+ m600(arg0, 15, Local0, 0x3e864c01)
+
+ if (y078) {
+ NAnd("C179B3FE", Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xffffffff)
+
+ NAnd("C179B3FE", Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0x3e864c01)
+ }
+
+ NAnd("C179B3FE", Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xffffffff)
+
+ NAnd("C179B3FE", Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0x3e864c01)
+
+ // Method returns Integer
+
+ NAnd("C179B3FE", m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xffffffff)
+
+ NAnd("C179B3FE", m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0x3e864c01)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd("C179B3FE", Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xffffffff)
+
+ NAnd("C179B3FE", Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0x3e864c01)
+ }
+
+ // Conversion of the second operand
+
+ Store(NAnd(0, "C179B3FE"), Local0)
+ m600(arg0, 24, Local0, 0xffffffff)
+
+ Store(NAnd(0xffffffff, "C179B3FE"), Local0)
+ m600(arg0, 25, Local0, 0x3e864c01)
+
+ Store(NAnd(aui5, "C179B3FE"), Local0)
+ m600(arg0, 26, Local0, 0xffffffff)
+
+ Store(NAnd(auii, "C179B3FE"), Local0)
+ m600(arg0, 27, Local0, 0x3e864c01)
+
+ if (y078) {
+ Store(NAnd(Derefof(Refof(aui5)), "C179B3FE"), Local0)
+ m600(arg0, 28, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(Refof(auii)), "C179B3FE"), Local0)
+ m600(arg0, 29, Local0, 0x3e864c01)
+ }
+
+ Store(NAnd(Derefof(Index(paui, 5)), "C179B3FE"), Local0)
+ m600(arg0, 30, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(Index(paui, 18)), "C179B3FE"), Local0)
+ m600(arg0, 31, Local0, 0x3e864c01)
+
+ // Method returns Integer
+
+ Store(NAnd(m601(1, 5), "C179B3FE"), Local0)
+ m600(arg0, 32, Local0, 0xffffffff)
+
+ Store(NAnd(m601(1, 18), "C179B3FE"), Local0)
+ m600(arg0, 33, Local0, 0x3e864c01)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(Derefof(m602(1, 5, 1)), "C179B3FE"), Local0)
+ m600(arg0, 34, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(m602(1, 18, 1)), "C179B3FE"), Local0)
+ m600(arg0, 35, Local0, 0x3e864c01)
+ }
+
+ NAnd(0, "C179B3FE", Local0)
+ m600(arg0, 36, Local0, 0xffffffff)
+
+ NAnd(0xffffffff, "C179B3FE", Local0)
+ m600(arg0, 37, Local0, 0x3e864c01)
+
+ NAnd(aui5, "C179B3FE", Local0)
+ m600(arg0, 38, Local0, 0xffffffff)
+
+ NAnd(auii, "C179B3FE", Local0)
+ m600(arg0, 39, Local0, 0x3e864c01)
+
+ if (y078) {
+ NAnd(Derefof(Refof(aui5)), "C179B3FE", Local0)
+ m600(arg0, 40, Local0, 0xffffffff)
+
+ NAnd(Derefof(Refof(auii)), "C179B3FE", Local0)
+ m600(arg0, 41, Local0, 0x3e864c01)
+ }
+
+ NAnd(Derefof(Index(paui, 5)), "C179B3FE", Local0)
+ m600(arg0, 42, Local0, 0xffffffff)
+
+ NAnd(Derefof(Index(paui, 18)), "C179B3FE", Local0)
+ m600(arg0, 43, Local0, 0x3e864c01)
+
+ // Method returns Integer
+
+ NAnd(m601(1, 5), "C179B3FE", Local0)
+ m600(arg0, 44, Local0, 0xffffffff)
+
+ NAnd(m601(1, 18), "C179B3FE", Local0)
+ m600(arg0, 45, Local0, 0x3e864c01)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(Derefof(m602(1, 5, 1)), "C179B3FE", Local0)
+ m600(arg0, 46, Local0, 0xffffffff)
+
+ NAnd(Derefof(m602(1, 18, 1)), "C179B3FE", Local0)
+ m600(arg0, 47, Local0, 0x3e864c01)
+ }
+
+ // Conversion of the both operands
+
+ Store(NAnd("0321", "C179B3FE"), Local0)
+ m600(arg0, 48, Local0, 0xfffffcdf)
+
+ Store(NAnd("C179B3FE", "0321"), Local0)
+ m600(arg0, 49, Local0, 0xfffffcdf)
+
+ NAnd("0321", "C179B3FE", Local0)
+ m600(arg0, 50, Local0, 0xfffffcdf)
+
+ NAnd("C179B3FE", "0321", Local0)
+ m600(arg0, 51, Local0, 0xfffffcdf)
+ }
+
+ // NOr, common 32-bit/64-bit test
+ Method(m013, 1)
+ {
+ // Conversion of the first operand
+
+ Store(NOr("0321", 0), Local0)
+ m600(arg0, 0, Local0, 0xfffffffffffffcde)
+
+ Store(NOr("0321", 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0)
+
+ Store(NOr("0321", aui5), Local0)
+ m600(arg0, 2, Local0, 0xfffffffffffffcde)
+
+ Store(NOr("0321", auij), Local0)
+ m600(arg0, 3, Local0, 0)
+
+ if (y078) {
+ Store(NOr("0321", Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfffffffffffffcde)
+
+ Store(NOr("0321", Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0)
+ }
+
+ Store(NOr("0321", Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfffffffffffffcde)
+
+ Store(NOr("0321", Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr("0321", m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfffffffffffffcde)
+
+ Store(NOr("0321", m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr("0321", Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfffffffffffffcde)
+
+ Store(NOr("0321", Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0)
+ }
+
+ NOr("0321", 0, Local0)
+ m600(arg0, 12, Local0, 0xfffffffffffffcde)
+
+ NOr("0321", 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0)
+
+ NOr("0321", aui5, Local0)
+ m600(arg0, 14, Local0, 0xfffffffffffffcde)
+
+ NOr("0321", auij, Local0)
+ m600(arg0, 15, Local0, 0)
+
+ if (y078) {
+ NOr("0321", Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfffffffffffffcde)
+
+ NOr("0321", Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0)
+ }
+
+ NOr("0321", Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfffffffffffffcde)
+
+ NOr("0321", Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0)
+
+ // Method returns Integer
+
+ NOr("0321", m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfffffffffffffcde)
+
+ NOr("0321", m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr("0321", Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfffffffffffffcde)
+
+ NOr("0321", Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0)
+ }
+
+ // Conversion of the second operand
+
+ Store(NOr(0, "0321"), Local0)
+ m600(arg0, 24, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(0xffffffffffffffff, "0321"), Local0)
+ m600(arg0, 25, Local0, 0)
+
+ Store(NOr(aui5, "0321"), Local0)
+ m600(arg0, 26, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(auij, "0321"), Local0)
+ m600(arg0, 27, Local0, 0)
+
+ if (y078) {
+ Store(NOr(Derefof(Refof(aui5)), "0321"), Local0)
+ m600(arg0, 28, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(Refof(auij)), "0321"), Local0)
+ m600(arg0, 29, Local0, 0)
+ }
+
+ Store(NOr(Derefof(Index(paui, 5)), "0321"), Local0)
+ m600(arg0, 30, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(Index(paui, 19)), "0321"), Local0)
+ m600(arg0, 31, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(m601(1, 5), "0321"), Local0)
+ m600(arg0, 32, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(m601(1, 19), "0321"), Local0)
+ m600(arg0, 33, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(Derefof(m602(1, 5, 1)), "0321"), Local0)
+ m600(arg0, 34, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(m602(1, 19, 1)), "0321"), Local0)
+ m600(arg0, 35, Local0, 0)
+ }
+
+ NOr(0, "0321", Local0)
+ m600(arg0, 36, Local0, 0xfffffffffffffcde)
+
+ NOr(0xffffffffffffffff, "0321", Local0)
+ m600(arg0, 37, Local0, 0)
+
+ NOr(aui5, "0321", Local0)
+ m600(arg0, 38, Local0, 0xfffffffffffffcde)
+
+ NOr(auij, "0321", Local0)
+ m600(arg0, 39, Local0, 0)
+
+ if (y078) {
+ NOr(Derefof(Refof(aui5)), "0321", Local0)
+ m600(arg0, 40, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(Refof(auij)), "0321", Local0)
+ m600(arg0, 41, Local0, 0)
+ }
+
+ NOr(Derefof(Index(paui, 5)), "0321", Local0)
+ m600(arg0, 42, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(Index(paui, 19)), "0321", Local0)
+ m600(arg0, 43, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(m601(1, 5), "0321", Local0)
+ m600(arg0, 44, Local0, 0xfffffffffffffcde)
+
+ NOr(m601(1, 19), "0321", Local0)
+ m600(arg0, 45, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(Derefof(m602(1, 5, 1)), "0321", Local0)
+ m600(arg0, 46, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(m602(1, 19, 1)), "0321", Local0)
+ m600(arg0, 47, Local0, 0)
+ }
+ }
+
+ // NOr, 64-bit
+ Method(m014, 1)
+ {
+ // Conversion of the first operand
+
+ Store(NOr("FE7CB391D650A284", 0), Local0)
+ m600(arg0, 0, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr("FE7CB391D650A284", 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0)
+
+ Store(NOr("FE7CB391D650A284", aui5), Local0)
+ m600(arg0, 2, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr("FE7CB391D650A284", auij), Local0)
+ m600(arg0, 3, Local0, 0)
+
+ if (y078) {
+ Store(NOr("FE7CB391D650A284", Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr("FE7CB391D650A284", Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0)
+ }
+
+ Store(NOr("FE7CB391D650A284", Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr("FE7CB391D650A284", Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr("FE7CB391D650A284", m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr("FE7CB391D650A284", m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr("FE7CB391D650A284", Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr("FE7CB391D650A284", Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0)
+ }
+
+ NOr("FE7CB391D650A284", 0, Local0)
+ m600(arg0, 12, Local0, 0x01834c6e29af5d7b)
+
+ NOr("FE7CB391D650A284", 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0)
+
+ NOr("FE7CB391D650A284", aui5, Local0)
+ m600(arg0, 14, Local0, 0x01834c6e29af5d7b)
+
+ NOr("FE7CB391D650A284", auij, Local0)
+ m600(arg0, 15, Local0, 0)
+
+ if (y078) {
+ NOr("FE7CB391D650A284", Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x01834c6e29af5d7b)
+
+ NOr("FE7CB391D650A284", Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0)
+ }
+
+ NOr("FE7CB391D650A284", Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x01834c6e29af5d7b)
+
+ NOr("FE7CB391D650A284", Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0)
+
+ // Method returns Integer
+
+ NOr("FE7CB391D650A284", m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x01834c6e29af5d7b)
+
+ NOr("FE7CB391D650A284", m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr("FE7CB391D650A284", Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x01834c6e29af5d7b)
+
+ NOr("FE7CB391D650A284", Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0)
+ }
+
+ // Conversion of the second operand
+
+ Store(NOr(0, "FE7CB391D650A284"), Local0)
+ m600(arg0, 24, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(0xffffffffffffffff, "FE7CB391D650A284"), Local0)
+ m600(arg0, 25, Local0, 0)
+
+ Store(NOr(aui5, "FE7CB391D650A284"), Local0)
+ m600(arg0, 26, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(auij, "FE7CB391D650A284"), Local0)
+ m600(arg0, 27, Local0, 0)
+
+ if (y078) {
+ Store(NOr(Derefof(Refof(aui5)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 28, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(Refof(auij)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 29, Local0, 0)
+ }
+
+ Store(NOr(Derefof(Index(paui, 5)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 30, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(Index(paui, 19)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 31, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(m601(1, 5), "FE7CB391D650A284"), Local0)
+ m600(arg0, 32, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(m601(1, 19), "FE7CB391D650A284"), Local0)
+ m600(arg0, 33, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(Derefof(m602(1, 5, 1)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 34, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(m602(1, 19, 1)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 35, Local0, 0)
+ }
+
+ NOr(0, "FE7CB391D650A284", Local0)
+ m600(arg0, 36, Local0, 0x01834c6e29af5d7b)
+
+ NOr(0xffffffffffffffff, "FE7CB391D650A284", Local0)
+ m600(arg0, 37, Local0, 0)
+
+ NOr(aui5, "FE7CB391D650A284", Local0)
+ m600(arg0, 38, Local0, 0x01834c6e29af5d7b)
+
+ NOr(auij, "FE7CB391D650A284", Local0)
+ m600(arg0, 39, Local0, 0)
+
+ if (y078) {
+ NOr(Derefof(Refof(aui5)), "FE7CB391D650A284", Local0)
+ m600(arg0, 40, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(Refof(auij)), "FE7CB391D650A284", Local0)
+ m600(arg0, 41, Local0, 0)
+ }
+
+ NOr(Derefof(Index(paui, 5)), "FE7CB391D650A284", Local0)
+ m600(arg0, 42, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(Index(paui, 19)), "FE7CB391D650A284", Local0)
+ m600(arg0, 43, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(m601(1, 5), "FE7CB391D650A284", Local0)
+ m600(arg0, 44, Local0, 0x01834c6e29af5d7b)
+
+ NOr(m601(1, 19), "FE7CB391D650A284", Local0)
+ m600(arg0, 45, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(Derefof(m602(1, 5, 1)), "FE7CB391D650A284", Local0)
+ m600(arg0, 46, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(m602(1, 19, 1)), "FE7CB391D650A284", Local0)
+ m600(arg0, 47, Local0, 0)
+ }
+
+ // Conversion of the both operands
+
+ Store(NOr("0321", "FE7CB391D650A284"), Local0)
+ m600(arg0, 48, Local0, 0x01834c6e29af5c5a)
+
+ Store(NOr("FE7CB391D650A284", "0321"), Local0)
+ m600(arg0, 49, Local0, 0x01834c6e29af5c5a)
+
+ NOr("0321", "FE7CB391D650A284", Local0)
+ m600(arg0, 50, Local0, 0x01834c6e29af5c5a)
+
+ NOr("FE7CB391D650A284", "0321", Local0)
+ m600(arg0, 51, Local0, 0x01834c6e29af5c5a)
+ }
+
+ // NOr, 32-bit
+ Method(m015, 1)
+ {
+ // Conversion of the first operand
+
+ Store(NOr("C179B3FE", 0), Local0)
+ m600(arg0, 0, Local0, 0x3e864c01)
+
+ Store(NOr("C179B3FE", 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0)
+
+ Store(NOr("C179B3FE", aui5), Local0)
+ m600(arg0, 2, Local0, 0x3e864c01)
+
+ Store(NOr("C179B3FE", auii), Local0)
+ m600(arg0, 3, Local0, 0)
+
+ if (y078) {
+ Store(NOr("C179B3FE", Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x3e864c01)
+
+ Store(NOr("C179B3FE", Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0)
+ }
+
+ Store(NOr("C179B3FE", Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x3e864c01)
+
+ Store(NOr("C179B3FE", Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr("C179B3FE", m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x3e864c01)
+
+ Store(NOr("C179B3FE", m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr("C179B3FE", Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x3e864c01)
+
+ Store(NOr("C179B3FE", Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0)
+ }
+
+ NOr("C179B3FE", 0, Local0)
+ m600(arg0, 12, Local0, 0x3e864c01)
+
+ NOr("C179B3FE", 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0)
+
+ NOr("C179B3FE", aui5, Local0)
+ m600(arg0, 14, Local0, 0x3e864c01)
+
+ NOr("C179B3FE", auii, Local0)
+ m600(arg0, 15, Local0, 0)
+
+ if (y078) {
+ NOr("C179B3FE", Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x3e864c01)
+
+ NOr("C179B3FE", Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0)
+ }
+
+ NOr("C179B3FE", Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x3e864c01)
+
+ NOr("C179B3FE", Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0)
+
+ // Method returns Integer
+
+ NOr("C179B3FE", m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x3e864c01)
+
+ NOr("C179B3FE", m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr("C179B3FE", Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x3e864c01)
+
+ NOr("C179B3FE", Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0)
+ }
+
+ // Conversion of the second operand
+
+ Store(NOr(0, "C179B3FE"), Local0)
+ m600(arg0, 24, Local0, 0x3e864c01)
+
+ Store(NOr(0xffffffff, "C179B3FE"), Local0)
+ m600(arg0, 25, Local0, 0)
+
+ Store(NOr(aui5, "C179B3FE"), Local0)
+ m600(arg0, 26, Local0, 0x3e864c01)
+
+ Store(NOr(auii, "C179B3FE"), Local0)
+ m600(arg0, 27, Local0, 0)
+
+ if (y078) {
+ Store(NOr(Derefof(Refof(aui5)), "C179B3FE"), Local0)
+ m600(arg0, 28, Local0, 0x3e864c01)
+
+ Store(NOr(Derefof(Refof(auii)), "C179B3FE"), Local0)
+ m600(arg0, 29, Local0, 0)
+ }
+
+ Store(NOr(Derefof(Index(paui, 5)), "C179B3FE"), Local0)
+ m600(arg0, 30, Local0, 0x3e864c01)
+
+ Store(NOr(Derefof(Index(paui, 18)), "C179B3FE"), Local0)
+ m600(arg0, 31, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(m601(1, 5), "C179B3FE"), Local0)
+ m600(arg0, 32, Local0, 0x3e864c01)
+
+ Store(NOr(m601(1, 18), "C179B3FE"), Local0)
+ m600(arg0, 33, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(Derefof(m602(1, 5, 1)), "C179B3FE"), Local0)
+ m600(arg0, 34, Local0, 0x3e864c01)
+
+ Store(NOr(Derefof(m602(1, 18, 1)), "C179B3FE"), Local0)
+ m600(arg0, 35, Local0, 0)
+ }
+
+ NOr(0, "C179B3FE", Local0)
+ m600(arg0, 36, Local0, 0x3e864c01)
+
+ NOr(0xffffffff, "C179B3FE", Local0)
+ m600(arg0, 37, Local0, 0)
+
+ NOr(aui5, "C179B3FE", Local0)
+ m600(arg0, 38, Local0, 0x3e864c01)
+
+ NOr(auii, "C179B3FE", Local0)
+ m600(arg0, 39, Local0, 0)
+
+ if (y078) {
+ NOr(Derefof(Refof(aui5)), "C179B3FE", Local0)
+ m600(arg0, 40, Local0, 0x3e864c01)
+
+ NOr(Derefof(Refof(auii)), "C179B3FE", Local0)
+ m600(arg0, 41, Local0, 0)
+ }
+
+ NOr(Derefof(Index(paui, 5)), "C179B3FE", Local0)
+ m600(arg0, 42, Local0, 0x3e864c01)
+
+ NOr(Derefof(Index(paui, 18)), "C179B3FE", Local0)
+ m600(arg0, 43, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(m601(1, 5), "C179B3FE", Local0)
+ m600(arg0, 44, Local0, 0x3e864c01)
+
+ NOr(m601(1, 18), "C179B3FE", Local0)
+ m600(arg0, 45, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(Derefof(m602(1, 5, 1)), "C179B3FE", Local0)
+ m600(arg0, 46, Local0, 0x3e864c01)
+
+ NOr(Derefof(m602(1, 18, 1)), "C179B3FE", Local0)
+ m600(arg0, 47, Local0, 0)
+ }
+
+ // Conversion of the both operands
+
+ Store(NOr("0321", "C179B3FE"), Local0)
+ m600(arg0, 48, Local0, 0x3e864c00)
+
+ Store(NOr("C179B3FE", "0321"), Local0)
+ m600(arg0, 49, Local0, 0x3e864c00)
+
+ NOr("0321", "C179B3FE", Local0)
+ m600(arg0, 50, Local0, 0x3e864c00)
+
+ NOr("C179B3FE", "0321", Local0)
+ m600(arg0, 51, Local0, 0x3e864c00)
+ }
+
+ // Or, common 32-bit/64-bit test
+ Method(m016, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Or("0321", 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Or("0321", 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xffffffffffffffff)
+
+ Store(Or("0321", aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Or("0321", auij), Local0)
+ m600(arg0, 3, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Store(Or("0321", Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Or("0321", Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xffffffffffffffff)
+ }
+
+ Store(Or("0321", Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Or("0321", Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Store(Or("0321", m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Or("0321", m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or("0321", Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Or("0321", Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xffffffffffffffff)
+ }
+
+ Or("0321", 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Or("0321", 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xffffffffffffffff)
+
+ Or("0321", aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Or("0321", auij, Local0)
+ m600(arg0, 15, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Or("0321", Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Or("0321", Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xffffffffffffffff)
+ }
+
+ Or("0321", Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Or("0321", Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Or("0321", m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Or("0321", m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or("0321", Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Or("0321", Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xffffffffffffffff)
+ }
+
+ // Conversion of the second operand
+
+ Store(Or(0, "0321"), Local0)
+ m600(arg0, 24, Local0, 0x321)
+
+ Store(Or(0xffffffffffffffff, "0321"), Local0)
+ m600(arg0, 25, Local0, 0xffffffffffffffff)
+
+ Store(Or(aui5, "0321"), Local0)
+ m600(arg0, 26, Local0, 0x321)
+
+ Store(Or(auij, "0321"), Local0)
+ m600(arg0, 27, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Store(Or(Derefof(Refof(aui5)), "0321"), Local0)
+ m600(arg0, 28, Local0, 0x321)
+
+ Store(Or(Derefof(Refof(auij)), "0321"), Local0)
+ m600(arg0, 29, Local0, 0xffffffffffffffff)
+ }
+
+ Store(Or(Derefof(Index(paui, 5)), "0321"), Local0)
+ m600(arg0, 30, Local0, 0x321)
+
+ Store(Or(Derefof(Index(paui, 19)), "0321"), Local0)
+ m600(arg0, 31, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Store(Or(m601(1, 5), "0321"), Local0)
+ m600(arg0, 32, Local0, 0x321)
+
+ Store(Or(m601(1, 19), "0321"), Local0)
+ m600(arg0, 33, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(Derefof(m602(1, 5, 1)), "0321"), Local0)
+ m600(arg0, 34, Local0, 0x321)
+
+ Store(Or(Derefof(m602(1, 19, 1)), "0321"), Local0)
+ m600(arg0, 35, Local0, 0xffffffffffffffff)
+ }
+
+ Or(0, "0321", Local0)
+ m600(arg0, 36, Local0, 0x321)
+
+ Or(0xffffffffffffffff, "0321", Local0)
+ m600(arg0, 37, Local0, 0xffffffffffffffff)
+
+ Or(aui5, "0321", Local0)
+ m600(arg0, 38, Local0, 0x321)
+
+ Or(auij, "0321", Local0)
+ m600(arg0, 39, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Or(Derefof(Refof(aui5)), "0321", Local0)
+ m600(arg0, 40, Local0, 0x321)
+
+ Or(Derefof(Refof(auij)), "0321", Local0)
+ m600(arg0, 41, Local0, 0xffffffffffffffff)
+ }
+
+ Or(Derefof(Index(paui, 5)), "0321", Local0)
+ m600(arg0, 42, Local0, 0x321)
+
+ Or(Derefof(Index(paui, 19)), "0321", Local0)
+ m600(arg0, 43, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Or(m601(1, 5), "0321", Local0)
+ m600(arg0, 44, Local0, 0x321)
+
+ Or(m601(1, 19), "0321", Local0)
+ m600(arg0, 45, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(Derefof(m602(1, 5, 1)), "0321", Local0)
+ m600(arg0, 46, Local0, 0x321)
+
+ Or(Derefof(m602(1, 19, 1)), "0321", Local0)
+ m600(arg0, 47, Local0, 0xffffffffffffffff)
+ }
+ }
+
+ // Or, 64-bit
+ Method(m017, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Or("FE7CB391D650A284", 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Or("FE7CB391D650A284", 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xffffffffffffffff)
+
+ Store(Or("FE7CB391D650A284", aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Or("FE7CB391D650A284", auij), Local0)
+ m600(arg0, 3, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Store(Or("FE7CB391D650A284", Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Or("FE7CB391D650A284", Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xffffffffffffffff)
+ }
+
+ Store(Or("FE7CB391D650A284", Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(Or("FE7CB391D650A284", Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Store(Or("FE7CB391D650A284", m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Or("FE7CB391D650A284", m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or("FE7CB391D650A284", Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Or("FE7CB391D650A284", Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xffffffffffffffff)
+ }
+
+ Or("FE7CB391D650A284", 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Or("FE7CB391D650A284", 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xffffffffffffffff)
+
+ Or("FE7CB391D650A284", aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Or("FE7CB391D650A284", auij, Local0)
+ m600(arg0, 15, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Or("FE7CB391D650A284", Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Or("FE7CB391D650A284", Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xffffffffffffffff)
+ }
+
+ Or("FE7CB391D650A284", Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Or("FE7CB391D650A284", Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Or("FE7CB391D650A284", m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Or("FE7CB391D650A284", m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or("FE7CB391D650A284", Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Or("FE7CB391D650A284", Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xffffffffffffffff)
+ }
+
+ // Conversion of the second operand
+
+ Store(Or(0, "FE7CB391D650A284"), Local0)
+ m600(arg0, 24, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(0xffffffffffffffff, "FE7CB391D650A284"), Local0)
+ m600(arg0, 25, Local0, 0xffffffffffffffff)
+
+ Store(Or(aui5, "FE7CB391D650A284"), Local0)
+ m600(arg0, 26, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(auij, "FE7CB391D650A284"), Local0)
+ m600(arg0, 27, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Store(Or(Derefof(Refof(aui5)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 28, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(Refof(auij)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 29, Local0, 0xffffffffffffffff)
+ }
+
+ Store(Or(Derefof(Index(paui, 5)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 30, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(Index(paui, 19)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 31, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Store(Or(m601(1, 5), "FE7CB391D650A284"), Local0)
+ m600(arg0, 32, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(m601(1, 19), "FE7CB391D650A284"), Local0)
+ m600(arg0, 33, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(Derefof(m602(1, 5, 1)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 34, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(m602(1, 19, 1)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 35, Local0, 0xffffffffffffffff)
+ }
+
+ Or(0, "FE7CB391D650A284", Local0)
+ m600(arg0, 36, Local0, 0xfe7cb391d650a284)
+
+ Or(0xffffffffffffffff, "FE7CB391D650A284", Local0)
+ m600(arg0, 37, Local0, 0xffffffffffffffff)
+
+ Or(aui5, "FE7CB391D650A284", Local0)
+ m600(arg0, 38, Local0, 0xfe7cb391d650a284)
+
+ Or(auij, "FE7CB391D650A284", Local0)
+ m600(arg0, 39, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Or(Derefof(Refof(aui5)), "FE7CB391D650A284", Local0)
+ m600(arg0, 40, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(Refof(auij)), "FE7CB391D650A284", Local0)
+ m600(arg0, 41, Local0, 0xffffffffffffffff)
+ }
+
+ Or(Derefof(Index(paui, 5)), "FE7CB391D650A284", Local0)
+ m600(arg0, 42, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(Index(paui, 19)), "FE7CB391D650A284", Local0)
+ m600(arg0, 43, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Or(m601(1, 5), "FE7CB391D650A284", Local0)
+ m600(arg0, 44, Local0, 0xfe7cb391d650a284)
+
+ Or(m601(1, 19), "FE7CB391D650A284", Local0)
+ m600(arg0, 45, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(Derefof(m602(1, 5, 1)), "FE7CB391D650A284", Local0)
+ m600(arg0, 46, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(m602(1, 19, 1)), "FE7CB391D650A284", Local0)
+ m600(arg0, 47, Local0, 0xffffffffffffffff)
+ }
+
+ // Conversion of the both operands
+
+ Store(Or("0321", "FE7CB391D650A284"), Local0)
+ m600(arg0, 48, Local0, 0xfe7cb391d650a3a5)
+
+ Store(Or("FE7CB391D650A284", "0321"), Local0)
+ m600(arg0, 49, Local0, 0xfe7cb391d650a3a5)
+
+ Or("0321", "FE7CB391D650A284", Local0)
+ m600(arg0, 50, Local0, 0xfe7cb391d650a3a5)
+
+ Or("FE7CB391D650A284", "0321", Local0)
+ m600(arg0, 51, Local0, 0xfe7cb391d650a3a5)
+ }
+
+ // Or, 32-bit
+ Method(m018, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Or("C179B3FE", 0), Local0)
+ m600(arg0, 0, Local0, 0xc179b3fe)
+
+ Store(Or("C179B3FE", 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0xffffffff)
+
+ Store(Or("C179B3FE", aui5), Local0)
+ m600(arg0, 2, Local0, 0xc179b3fe)
+
+ Store(Or("C179B3FE", auii), Local0)
+ m600(arg0, 3, Local0, 0xffffffff)
+
+ if (y078) {
+ Store(Or("C179B3FE", Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xc179b3fe)
+
+ Store(Or("C179B3FE", Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0xffffffff)
+ }
+
+ Store(Or("C179B3FE", Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xc179b3fe)
+
+ Store(Or("C179B3FE", Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0xffffffff)
+
+ // Method returns Integer
+
+ Store(Or("C179B3FE", m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xc179b3fe)
+
+ Store(Or("C179B3FE", m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0xffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or("C179B3FE", Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xc179b3fe)
+
+ Store(Or("C179B3FE", Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0xffffffff)
+ }
+
+ Or("C179B3FE", 0, Local0)
+ m600(arg0, 12, Local0, 0xc179b3fe)
+
+ Or("C179B3FE", 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0xffffffff)
+
+ Or("C179B3FE", aui5, Local0)
+ m600(arg0, 14, Local0, 0xc179b3fe)
+
+ Or("C179B3FE", auii, Local0)
+ m600(arg0, 15, Local0, 0xffffffff)
+
+ if (y078) {
+ Or("C179B3FE", Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xc179b3fe)
+
+ Or("C179B3FE", Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0xffffffff)
+ }
+
+ Or("C179B3FE", Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xc179b3fe)
+
+ Or("C179B3FE", Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0xffffffff)
+
+ // Method returns Integer
+
+ Or("C179B3FE", m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xc179b3fe)
+
+ Or("C179B3FE", m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0xffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or("C179B3FE", Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xc179b3fe)
+
+ Or("C179B3FE", Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0xffffffff)
+ }
+
+ // Conversion of the second operand
+
+ Store(Or(0, "C179B3FE"), Local0)
+ m600(arg0, 24, Local0, 0xc179b3fe)
+
+ Store(Or(0xffffffff, "C179B3FE"), Local0)
+ m600(arg0, 25, Local0, 0xffffffff)
+
+ Store(Or(aui5, "C179B3FE"), Local0)
+ m600(arg0, 26, Local0, 0xc179b3fe)
+
+ Store(Or(auii, "C179B3FE"), Local0)
+ m600(arg0, 27, Local0, 0xffffffff)
+
+ if (y078) {
+ Store(Or(Derefof(Refof(aui5)), "C179B3FE"), Local0)
+ m600(arg0, 28, Local0, 0xc179b3fe)
+
+ Store(Or(Derefof(Refof(auii)), "C179B3FE"), Local0)
+ m600(arg0, 29, Local0, 0xffffffff)
+ }
+
+ Store(Or(Derefof(Index(paui, 5)), "C179B3FE"), Local0)
+ m600(arg0, 30, Local0, 0xc179b3fe)
+
+ Store(Or(Derefof(Index(paui, 18)), "C179B3FE"), Local0)
+ m600(arg0, 31, Local0, 0xffffffff)
+
+ // Method returns Integer
+
+ Store(Or(m601(1, 5), "C179B3FE"), Local0)
+ m600(arg0, 32, Local0, 0xc179b3fe)
+
+ Store(Or(m601(1, 18), "C179B3FE"), Local0)
+ m600(arg0, 33, Local0, 0xffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(Derefof(m602(1, 5, 1)), "C179B3FE"), Local0)
+ m600(arg0, 34, Local0, 0xc179b3fe)
+
+ Store(Or(Derefof(m602(1, 18, 1)), "C179B3FE"), Local0)
+ m600(arg0, 35, Local0, 0xffffffff)
+ }
+
+ Or(0, "C179B3FE", Local0)
+ m600(arg0, 36, Local0, 0xc179b3fe)
+
+ Or(0xffffffff, "C179B3FE", Local0)
+ m600(arg0, 37, Local0, 0xffffffff)
+
+ Or(aui5, "C179B3FE", Local0)
+ m600(arg0, 38, Local0, 0xc179b3fe)
+
+ Or(auii, "C179B3FE", Local0)
+ m600(arg0, 39, Local0, 0xffffffff)
+
+ if (y078) {
+ Or(Derefof(Refof(aui5)), "C179B3FE", Local0)
+ m600(arg0, 40, Local0, 0xc179b3fe)
+
+ Or(Derefof(Refof(auii)), "C179B3FE", Local0)
+ m600(arg0, 41, Local0, 0xffffffff)
+ }
+
+ Or(Derefof(Index(paui, 5)), "C179B3FE", Local0)
+ m600(arg0, 42, Local0, 0xc179b3fe)
+
+ Or(Derefof(Index(paui, 18)), "C179B3FE", Local0)
+ m600(arg0, 43, Local0, 0xffffffff)
+
+ // Method returns Integer
+
+ Or(m601(1, 5), "C179B3FE", Local0)
+ m600(arg0, 44, Local0, 0xc179b3fe)
+
+ Or(m601(1, 18), "C179B3FE", Local0)
+ m600(arg0, 45, Local0, 0xffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(Derefof(m602(1, 5, 1)), "C179B3FE", Local0)
+ m600(arg0, 46, Local0, 0xc179b3fe)
+
+ Or(Derefof(m602(1, 18, 1)), "C179B3FE", Local0)
+ m600(arg0, 47, Local0, 0xffffffff)
+ }
+
+ // Conversion of the both operands
+
+ Store(Or("0321", "C179B3FE"), Local0)
+ m600(arg0, 48, Local0, 0xc179b3ff)
+
+ Store(Or("C179B3FE", "0321"), Local0)
+ m600(arg0, 49, Local0, 0xc179b3ff)
+
+ Or("0321", "C179B3FE", Local0)
+ m600(arg0, 50, Local0, 0xc179b3ff)
+
+ Or("C179B3FE", "0321", Local0)
+ m600(arg0, 51, Local0, 0xc179b3ff)
+ }
+
+ // ShiftLeft, common 32-bit/64-bit test
+ Method(m019, 1)
+ {
+ // Conversion of the first operand
+
+ Store(ShiftLeft("0321", 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(ShiftLeft("0321", 1), Local0)
+ m600(arg0, 1, Local0, 0x642)
+
+ Store(ShiftLeft("0321", aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(ShiftLeft("0321", aui6), Local0)
+ m600(arg0, 3, Local0, 0x642)
+
+ if (y078) {
+ Store(ShiftLeft("0321", Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(ShiftLeft("0321", Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x642)
+ }
+
+ Store(ShiftLeft("0321", Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(ShiftLeft("0321", Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x642)
+
+ // Method returns Integer
+
+ Store(ShiftLeft("0321", m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(ShiftLeft("0321", m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x642)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft("0321", Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(ShiftLeft("0321", Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x642)
+ }
+
+ ShiftLeft("0321", 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ ShiftLeft("0321", 1, Local0)
+ m600(arg0, 13, Local0, 0x642)
+
+ ShiftLeft("0321", aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ ShiftLeft("0321", aui6, Local0)
+ m600(arg0, 15, Local0, 0x642)
+
+ if (y078) {
+ ShiftLeft("0321", Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ ShiftLeft("0321", Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x642)
+ }
+
+ ShiftLeft("0321", Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ ShiftLeft("0321", Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x642)
+
+ // Method returns Integer
+
+ ShiftLeft("0321", m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ ShiftLeft("0321", m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x642)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft("0321", Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ ShiftLeft("0321", Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x642)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftLeft(0, "B"), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftLeft(1, "B"), Local0)
+ m600(arg0, 25, Local0, 0x800)
+
+ Store(ShiftLeft(aui5, "B"), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftLeft(aui6, "B"), Local0)
+ m600(arg0, 27, Local0, 0x800)
+
+ if (y078) {
+ Store(ShiftLeft(Derefof(Refof(aui5)), "B"), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Refof(aui6)), "B"), Local0)
+ m600(arg0, 29, Local0, 0x800)
+ }
+
+ Store(ShiftLeft(Derefof(Index(paui, 5)), "B"), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Index(paui, 6)), "B"), Local0)
+ m600(arg0, 31, Local0, 0x800)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(m601(1, 5), "B"), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftLeft(m601(1, 6), "B"), Local0)
+ m600(arg0, 33, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(Derefof(m602(1, 5, 1)), "B"), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftLeft(Derefof(m602(1, 6, 1)), "B"), Local0)
+ m600(arg0, 35, Local0, 0x800)
+ }
+
+ ShiftLeft(0, "B", Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftLeft(1, "B", Local0)
+ m600(arg0, 37, Local0, 0x800)
+
+ ShiftLeft(aui5, "B", Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftLeft(aui6, "B", Local0)
+ m600(arg0, 39, Local0, 0x800)
+
+ if (y078) {
+ ShiftLeft(Derefof(Refof(aui5)), "B", Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftLeft(Derefof(Refof(aui6)), "B", Local0)
+ m600(arg0, 41, Local0, 0x800)
+ }
+
+ ShiftLeft(Derefof(Index(paui, 5)), "B", Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftLeft(Derefof(Index(paui, 6)), "B", Local0)
+ m600(arg0, 43, Local0, 0x800)
+
+ // Method returns Integer
+
+ ShiftLeft(m601(1, 5), "B", Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftLeft(m601(1, 6), "B", Local0)
+ m600(arg0, 45, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(Derefof(m602(1, 5, 1)), "B", Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftLeft(Derefof(m602(1, 6, 1)), "B", Local0)
+ m600(arg0, 47, Local0, 0x800)
+ }
+ }
+
+ // ShiftLeft, 64-bit
+ Method(m01a, 1)
+ {
+ // Conversion of the first operand
+
+ Store(ShiftLeft("FE7CB391D650A284", 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft("FE7CB391D650A284", 1), Local0)
+ m600(arg0, 1, Local0, 0xfcf96723aca14508)
+
+ Store(ShiftLeft("FE7CB391D650A284", aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft("FE7CB391D650A284", aui6), Local0)
+ m600(arg0, 3, Local0, 0xfcf96723aca14508)
+
+ if (y078) {
+ Store(ShiftLeft("FE7CB391D650A284", Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft("FE7CB391D650A284", Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xfcf96723aca14508)
+ }
+
+ Store(ShiftLeft("FE7CB391D650A284", Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft("FE7CB391D650A284", Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xfcf96723aca14508)
+
+ // Method returns Integer
+
+ Store(ShiftLeft("FE7CB391D650A284", m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft("FE7CB391D650A284", m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xfcf96723aca14508)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft("FE7CB391D650A284", Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft("FE7CB391D650A284", Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfcf96723aca14508)
+ }
+
+ ShiftLeft("FE7CB391D650A284", 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft("FE7CB391D650A284", 1, Local0)
+ m600(arg0, 13, Local0, 0xfcf96723aca14508)
+
+ ShiftLeft("FE7CB391D650A284", aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft("FE7CB391D650A284", aui6, Local0)
+ m600(arg0, 15, Local0, 0xfcf96723aca14508)
+
+ if (y078) {
+ ShiftLeft("FE7CB391D650A284", Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft("FE7CB391D650A284", Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xfcf96723aca14508)
+ }
+
+ ShiftLeft("FE7CB391D650A284", Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft("FE7CB391D650A284", Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xfcf96723aca14508)
+
+ // Method returns Integer
+
+ ShiftLeft("FE7CB391D650A284", m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft("FE7CB391D650A284", m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xfcf96723aca14508)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft("FE7CB391D650A284", Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft("FE7CB391D650A284", Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfcf96723aca14508)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftLeft(0, "B"), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftLeft(1, "B"), Local0)
+ m600(arg0, 25, Local0, 0x800)
+
+ Store(ShiftLeft(aui5, "B"), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftLeft(aui6, "B"), Local0)
+ m600(arg0, 27, Local0, 0x800)
+
+ if (y078) {
+ Store(ShiftLeft(Derefof(Refof(aui5)), "B"), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Refof(aui6)), "B"), Local0)
+ m600(arg0, 29, Local0, 0x800)
+ }
+
+ Store(ShiftLeft(Derefof(Index(paui, 5)), "B"), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Index(paui, 6)), "B"), Local0)
+ m600(arg0, 31, Local0, 0x800)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(m601(1, 5), "B"), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftLeft(m601(1, 6), "B"), Local0)
+ m600(arg0, 33, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(Derefof(m602(1, 5, 1)), "B"), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftLeft(Derefof(m602(1, 6, 1)), "B"), Local0)
+ m600(arg0, 35, Local0, 0x800)
+ }
+
+ ShiftLeft(0, "B", Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftLeft(1, "B", Local0)
+ m600(arg0, 37, Local0, 0x800)
+
+ ShiftLeft(aui5, "B", Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftLeft(aui6, "B", Local0)
+ m600(arg0, 39, Local0, 0x800)
+
+ if (y078) {
+ ShiftLeft(Derefof(Refof(aui5)), "B", Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftLeft(Derefof(Refof(aui6)), "B", Local0)
+ m600(arg0, 41, Local0, 0x800)
+ }
+
+ ShiftLeft(Derefof(Index(paui, 5)), "B", Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftLeft(Derefof(Index(paui, 6)), "B", Local0)
+ m600(arg0, 43, Local0, 0x800)
+
+ // Method returns Integer
+
+ ShiftLeft(m601(1, 5), "B", Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftLeft(m601(1, 6), "B", Local0)
+ m600(arg0, 45, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(Derefof(m602(1, 5, 1)), "B", Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftLeft(Derefof(m602(1, 6, 1)), "B", Local0)
+ m600(arg0, 47, Local0, 0x800)
+ }
+
+ // Conversion of the both operands
+
+ Store(ShiftLeft("0321", "B"), Local0)
+ m600(arg0, 48, Local0, 0x190800)
+
+ Store(ShiftLeft("FE7CB391D650A284", "B"), Local0)
+ m600(arg0, 49, Local0, 0xE59C8EB285142000)
+
+ ShiftLeft("0321", "B", Local0)
+ m600(arg0, 50, Local0, 0x190800)
+
+ ShiftLeft("FE7CB391D650A284", "B", Local0)
+ m600(arg0, 51, Local0, 0xE59C8EB285142000)
+ }
+
+ // ShiftLeft, 32-bit
+ Method(m01b, 1)
+ {
+ // Conversion of the first operand
+
+ Store(ShiftLeft("C179B3FE", 0), Local0)
+ m600(arg0, 0, Local0, 0xc179b3fe)
+
+ Store(ShiftLeft("C179B3FE", 1), Local0)
+ m600(arg0, 1, Local0, 0x82f367fc)
+
+ Store(ShiftLeft("C179B3FE", aui5), Local0)
+ m600(arg0, 2, Local0, 0xc179b3fe)
+
+ Store(ShiftLeft("C179B3FE", aui6), Local0)
+ m600(arg0, 3, Local0, 0x82f367fc)
+
+ if (y078) {
+ Store(ShiftLeft("C179B3FE", Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xc179b3fe)
+
+ Store(ShiftLeft("C179B3FE", Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x82f367fc)
+ }
+
+ Store(ShiftLeft("C179B3FE", Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xc179b3fe)
+
+ Store(ShiftLeft("C179B3FE", Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x82f367fc)
+
+ // Method returns Integer
+
+ Store(ShiftLeft("C179B3FE", m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xc179b3fe)
+
+ Store(ShiftLeft("C179B3FE", m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x82f367fc)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft("C179B3FE", Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xc179b3fe)
+
+ Store(ShiftLeft("C179B3FE", Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x82f367fc)
+ }
+
+ ShiftLeft("C179B3FE", 0, Local0)
+ m600(arg0, 12, Local0, 0xc179b3fe)
+
+ ShiftLeft("C179B3FE", 1, Local0)
+ m600(arg0, 13, Local0, 0x82f367fc)
+
+ ShiftLeft("C179B3FE", aui5, Local0)
+ m600(arg0, 14, Local0, 0xc179b3fe)
+
+ ShiftLeft("C179B3FE", aui6, Local0)
+ m600(arg0, 15, Local0, 0x82f367fc)
+
+ if (y078) {
+ ShiftLeft("C179B3FE", Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xc179b3fe)
+
+ ShiftLeft("C179B3FE", Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x82f367fc)
+ }
+
+ ShiftLeft("C179B3FE", Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xc179b3fe)
+
+ ShiftLeft("C179B3FE", Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x82f367fc)
+
+ // Method returns Integer
+
+ ShiftLeft("C179B3FE", m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xc179b3fe)
+
+ ShiftLeft("C179B3FE", m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x82f367fc)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft("C179B3FE", Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xc179b3fe)
+
+ ShiftLeft("C179B3FE", Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x82f367fc)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftLeft(0, "B"), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftLeft(1, "B"), Local0)
+ m600(arg0, 25, Local0, 0x800)
+
+ Store(ShiftLeft(aui5, "B"), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftLeft(aui6, "B"), Local0)
+ m600(arg0, 27, Local0, 0x800)
+
+ if (y078) {
+ Store(ShiftLeft(Derefof(Refof(aui5)), "B"), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Refof(aui6)), "B"), Local0)
+ m600(arg0, 29, Local0, 0x800)
+ }
+
+ Store(ShiftLeft(Derefof(Index(paui, 5)), "B"), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Index(paui, 6)), "B"), Local0)
+ m600(arg0, 31, Local0, 0x800)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(m601(1, 5), "B"), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftLeft(m601(1, 6), "B"), Local0)
+ m600(arg0, 33, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(Derefof(m602(1, 5, 1)), "B"), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftLeft(Derefof(m602(1, 6, 1)), "B"), Local0)
+ m600(arg0, 35, Local0, 0x800)
+ }
+
+ ShiftLeft(0, "B", Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftLeft(1, "B", Local0)
+ m600(arg0, 37, Local0, 0x800)
+
+ ShiftLeft(aui5, "B", Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftLeft(aui6, "B", Local0)
+ m600(arg0, 39, Local0, 0x800)
+
+ if (y078) {
+ ShiftLeft(Derefof(Refof(aui5)), "B", Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftLeft(Derefof(Refof(aui6)), "B", Local0)
+ m600(arg0, 41, Local0, 0x800)
+ }
+
+ ShiftLeft(Derefof(Index(paui, 5)), "B", Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftLeft(Derefof(Index(paui, 6)), "B", Local0)
+ m600(arg0, 43, Local0, 0x800)
+
+ // Method returns Integer
+
+ ShiftLeft(m601(1, 5), "B", Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftLeft(m601(1, 6), "B", Local0)
+ m600(arg0, 45, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(Derefof(m602(1, 5, 1)), "B", Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftLeft(Derefof(m602(1, 6, 1)), "B", Local0)
+ m600(arg0, 47, Local0, 0x800)
+ }
+
+ // Conversion of the both operands
+
+ Store(ShiftLeft("0321", "B"), Local0)
+ m600(arg0, 48, Local0, 0x190800)
+
+ Store(ShiftLeft("C179B3FE", "B"), Local0)
+ m600(arg0, 49, Local0, 0xcd9ff000)
+
+ ShiftLeft("0321", "B", Local0)
+ m600(arg0, 50, Local0, 0x190800)
+
+ ShiftLeft("C179B3FE", "B", Local0)
+ m600(arg0, 51, Local0, 0xcd9ff000)
+ }
+
+ // ShiftRight, common 32-bit/64-bit test
+ Method(m01c, 1)
+ {
+ // Conversion of the first operand
+
+ Store(ShiftRight("0321", 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(ShiftRight("0321", 1), Local0)
+ m600(arg0, 1, Local0, 0x190)
+
+ Store(ShiftRight("0321", aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(ShiftRight("0321", aui6), Local0)
+ m600(arg0, 3, Local0, 0x190)
+
+ if (y078) {
+ Store(ShiftRight("0321", Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(ShiftRight("0321", Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x190)
+ }
+
+ Store(ShiftRight("0321", Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(ShiftRight("0321", Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x190)
+
+ // Method returns Integer
+
+ Store(ShiftRight("0321", m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(ShiftRight("0321", m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x190)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight("0321", Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(ShiftRight("0321", Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x190)
+ }
+
+ ShiftRight("0321", 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ ShiftRight("0321", 1, Local0)
+ m600(arg0, 13, Local0, 0x190)
+
+ ShiftRight("0321", aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ ShiftRight("0321", aui6, Local0)
+ m600(arg0, 15, Local0, 0x190)
+
+ if (y078) {
+ ShiftRight("0321", Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ ShiftRight("0321", Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x190)
+ }
+
+ ShiftRight("0321", Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ ShiftRight("0321", Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x190)
+
+ // Method returns Integer
+
+ ShiftRight("0321", m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ ShiftRight("0321", m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x190)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight("0321", Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ ShiftRight("0321", Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x190)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftRight(0x321, "B"), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftRight(0xc179b3fe, "B"), Local0)
+ m600(arg0, 25, Local0, 0x182f36)
+
+ Store(ShiftRight(aui1, "B"), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftRight(aui3, "B"), Local0)
+ m600(arg0, 27, Local0, 0x182f36)
+
+ if (y078) {
+ Store(ShiftRight(Derefof(Refof(aui1)), "B"), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftRight(Derefof(Refof(aui3)), "B"), Local0)
+ m600(arg0, 29, Local0, 0x182f36)
+ }
+
+ Store(ShiftRight(Derefof(Index(paui, 1)), "B"), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftRight(Derefof(Index(paui, 3)), "B"), Local0)
+ m600(arg0, 31, Local0, 0x182f36)
+
+ // Method returns Integer
+
+ Store(ShiftRight(m601(1, 1), "B"), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftRight(m601(1, 3), "B"), Local0)
+ m600(arg0, 33, Local0, 0x182f36)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(Derefof(m602(1, 1, 1)), "B"), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftRight(Derefof(m602(1, 3, 1)), "B"), Local0)
+ m600(arg0, 35, Local0, 0x182f36)
+ }
+
+ ShiftRight(0x321, "B", Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftRight(0xc179b3fe, "B", Local0)
+ m600(arg0, 37, Local0, 0x182f36)
+
+ ShiftRight(aui1, "B", Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftRight(aui3, "B", Local0)
+ m600(arg0, 39, Local0, 0x182f36)
+
+ if (y078) {
+ ShiftRight(Derefof(Refof(aui1)), "B", Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftRight(Derefof(Refof(aui3)), "B", Local0)
+ m600(arg0, 41, Local0, 0x182f36)
+ }
+
+ ShiftRight(Derefof(Index(paui, 1)), "B", Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftRight(Derefof(Index(paui, 3)), "B", Local0)
+ m600(arg0, 43, Local0, 0x182f36)
+
+ // Method returns Integer
+
+ ShiftRight(m601(1, 1), "B", Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftRight(m601(1, 3), "B", Local0)
+ m600(arg0, 45, Local0, 0x182f36)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(Derefof(m602(1, 1, 1)), "B", Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftRight(Derefof(m602(1, 3, 1)), "B", Local0)
+ m600(arg0, 47, Local0, 0x182f36)
+ }
+ }
+
+ // ShiftRight, 64-bit
+ Method(m01d, 1)
+ {
+ // Conversion of the first operand
+
+ Store(ShiftRight("FE7CB391D650A284", 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight("FE7CB391D650A284", 1), Local0)
+ m600(arg0, 1, Local0, 0x7f3e59c8eb285142)
+
+ Store(ShiftRight("FE7CB391D650A284", aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight("FE7CB391D650A284", aui6), Local0)
+ m600(arg0, 3, Local0, 0x7f3e59c8eb285142)
+
+ if (y078) {
+ Store(ShiftRight("FE7CB391D650A284", Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight("FE7CB391D650A284", Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x7f3e59c8eb285142)
+ }
+
+ Store(ShiftRight("FE7CB391D650A284", Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight("FE7CB391D650A284", Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x7f3e59c8eb285142)
+
+ // Method returns Integer
+
+ Store(ShiftRight("FE7CB391D650A284", m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight("FE7CB391D650A284", m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x7f3e59c8eb285142)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight("FE7CB391D650A284", Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight("FE7CB391D650A284", Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x7f3e59c8eb285142)
+ }
+
+ ShiftRight("FE7CB391D650A284", 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight("FE7CB391D650A284", 1, Local0)
+ m600(arg0, 13, Local0, 0x7f3e59c8eb285142)
+
+ ShiftRight("FE7CB391D650A284", aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight("FE7CB391D650A284", aui6, Local0)
+ m600(arg0, 15, Local0, 0x7f3e59c8eb285142)
+
+ if (y078) {
+ ShiftRight("FE7CB391D650A284", Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight("FE7CB391D650A284", Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x7f3e59c8eb285142)
+ }
+
+ ShiftRight("FE7CB391D650A284", Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight("FE7CB391D650A284", Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x7f3e59c8eb285142)
+
+ // Method returns Integer
+
+ ShiftRight("FE7CB391D650A284", m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight("FE7CB391D650A284", m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x7f3e59c8eb285142)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight("FE7CB391D650A284", Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight("FE7CB391D650A284", Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x7f3e59c8eb285142)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftRight(0x321, "B"), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftRight(0xfe7cb391d650a284, "B"), Local0)
+ m600(arg0, 25, Local0, 0x1fcf96723aca14)
+
+ Store(ShiftRight(aui1, "B"), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftRight(aui4, "B"), Local0)
+ m600(arg0, 27, Local0, 0x1fcf96723aca14)
+
+ if (y078) {
+ Store(ShiftRight(Derefof(Refof(aui1)), "B"), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftRight(Derefof(Refof(aui4)), "B"), Local0)
+ m600(arg0, 29, Local0, 0x1fcf96723aca14)
+ }
+
+ Store(ShiftRight(Derefof(Index(paui, 1)), "B"), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftRight(Derefof(Index(paui, 4)), "B"), Local0)
+ m600(arg0, 31, Local0, 0x1fcf96723aca14)
+
+ // Method returns Integer
+
+ Store(ShiftRight(m601(1, 1), "B"), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftRight(m601(1, 4), "B"), Local0)
+ m600(arg0, 33, Local0, 0x1fcf96723aca14)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(Derefof(m602(1, 1, 1)), "B"), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftRight(Derefof(m602(1, 4, 1)), "B"), Local0)
+ m600(arg0, 35, Local0, 0x1fcf96723aca14)
+ }
+
+ ShiftRight(0x321, "B", Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftRight(0xfe7cb391d650a284, "B", Local0)
+ m600(arg0, 37, Local0, 0x1fcf96723aca14)
+
+ ShiftRight(aui1, "B", Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftRight(aui4, "B", Local0)
+ m600(arg0, 39, Local0, 0x1fcf96723aca14)
+
+ if (y078) {
+ ShiftRight(Derefof(Refof(aui1)), "B", Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftRight(Derefof(Refof(aui4)), "B", Local0)
+ m600(arg0, 41, Local0, 0x1fcf96723aca14)
+ }
+
+ ShiftRight(Derefof(Index(paui, 1)), "B", Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftRight(Derefof(Index(paui, 4)), "B", Local0)
+ m600(arg0, 43, Local0, 0x1fcf96723aca14)
+
+ // Method returns Integer
+
+ ShiftRight(m601(1, 1), "B", Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftRight(m601(1, 4), "B", Local0)
+ m600(arg0, 45, Local0, 0x1fcf96723aca14)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(Derefof(m602(1, 1, 1)), "B", Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftRight(Derefof(m602(1, 4, 1)), "B", Local0)
+ m600(arg0, 47, Local0, 0x1fcf96723aca14)
+ }
+
+ // Conversion of the both operands
+
+ Store(ShiftRight("0321", "B"), Local0)
+ m600(arg0, 48, Local0, 0)
+
+ Store(ShiftRight("FE7CB391D650A284", "B"), Local0)
+ m600(arg0, 49, Local0, 0x1fcf96723aca14)
+
+ ShiftRight("0321", "B", Local0)
+ m600(arg0, 50, Local0, 0)
+
+ ShiftRight("FE7CB391D650A284", "B", Local0)
+ m600(arg0, 51, Local0, 0x1fcf96723aca14)
+ }
+
+ // ShiftRight, 32-bit
+ Method(m01e, 1)
+ {
+ // Conversion of the first operand
+
+ Store(ShiftRight("C179B3FE", 0), Local0)
+ m600(arg0, 0, Local0, 0xc179b3fe)
+
+ Store(ShiftRight("C179B3FE", 1), Local0)
+ m600(arg0, 1, Local0, 0x60bcd9ff)
+
+ Store(ShiftRight("C179B3FE", aui5), Local0)
+ m600(arg0, 2, Local0, 0xc179b3fe)
+
+ Store(ShiftRight("C179B3FE", aui6), Local0)
+ m600(arg0, 3, Local0, 0x60bcd9ff)
+
+ if (y078) {
+ Store(ShiftRight("C179B3FE", Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xc179b3fe)
+
+ Store(ShiftRight("C179B3FE", Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x60bcd9ff)
+ }
+
+ Store(ShiftRight("C179B3FE", Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xc179b3fe)
+
+ Store(ShiftRight("C179B3FE", Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x60bcd9ff)
+
+ // Method returns Integer
+
+ Store(ShiftRight("C179B3FE", m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xc179b3fe)
+
+ Store(ShiftRight("C179B3FE", m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x60bcd9ff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight("C179B3FE", Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xc179b3fe)
+
+ Store(ShiftRight("C179B3FE", Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x60bcd9ff)
+ }
+
+ ShiftRight("C179B3FE", 0, Local0)
+ m600(arg0, 12, Local0, 0xc179b3fe)
+
+ ShiftRight("C179B3FE", 1, Local0)
+ m600(arg0, 13, Local0, 0x60bcd9ff)
+
+ ShiftRight("C179B3FE", aui5, Local0)
+ m600(arg0, 14, Local0, 0xc179b3fe)
+
+ ShiftRight("C179B3FE", aui6, Local0)
+ m600(arg0, 15, Local0, 0x60bcd9ff)
+
+ if (y078) {
+ ShiftRight("C179B3FE", Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xc179b3fe)
+
+ ShiftRight("C179B3FE", Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x60bcd9ff)
+ }
+
+ ShiftRight("C179B3FE", Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xc179b3fe)
+
+ ShiftRight("C179B3FE", Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x60bcd9ff)
+
+ // Method returns Integer
+
+ ShiftRight("C179B3FE", m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xc179b3fe)
+
+ ShiftRight("C179B3FE", m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x60bcd9ff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight("C179B3FE", Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xc179b3fe)
+
+ ShiftRight("C179B3FE", Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x60bcd9ff)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftRight(0x321, "B"), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftRight(0xc179b3fe, "B"), Local0)
+ m600(arg0, 25, Local0, 0x182f36)
+
+ Store(ShiftRight(aui1, "B"), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftRight(aui3, "B"), Local0)
+ m600(arg0, 27, Local0, 0x182f36)
+
+ if (y078) {
+ Store(ShiftRight(Derefof(Refof(aui1)), "B"), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftRight(Derefof(Refof(aui3)), "B"), Local0)
+ m600(arg0, 29, Local0, 0x182f36)
+ }
+
+ Store(ShiftRight(Derefof(Index(paui, 1)), "B"), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftRight(Derefof(Index(paui, 3)), "B"), Local0)
+ m600(arg0, 31, Local0, 0x182f36)
+
+ // Method returns Integer
+
+ Store(ShiftRight(m601(1, 1), "B"), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftRight(m601(1, 3), "B"), Local0)
+ m600(arg0, 33, Local0, 0x182f36)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(Derefof(m602(1, 1, 1)), "B"), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftRight(Derefof(m602(1, 3, 1)), "B"), Local0)
+ m600(arg0, 35, Local0, 0x182f36)
+ }
+
+ ShiftRight(0x321, "B", Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftRight(0xc179b3fe, "B", Local0)
+ m600(arg0, 37, Local0, 0x182f36)
+
+ ShiftRight(aui1, "B", Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftRight(aui3, "B", Local0)
+ m600(arg0, 39, Local0, 0x182f36)
+
+ if (y078) {
+ ShiftRight(Derefof(Refof(aui1)), "B", Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftRight(Derefof(Refof(aui3)), "B", Local0)
+ m600(arg0, 41, Local0, 0x182f36)
+ }
+
+ ShiftRight(Derefof(Index(paui, 1)), "B", Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftRight(Derefof(Index(paui, 3)), "B", Local0)
+ m600(arg0, 43, Local0, 0x182f36)
+
+ // Method returns Integer
+
+ ShiftRight(m601(1, 1), "B", Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftRight(m601(1, 3), "B", Local0)
+ m600(arg0, 45, Local0, 0x182f36)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(Derefof(m602(1, 1, 1)), "B", Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftRight(Derefof(m602(1, 3, 1)), "B", Local0)
+ m600(arg0, 47, Local0, 0x182f36)
+ }
+
+ // Conversion of the both operands
+
+ Store(ShiftRight("0321", "B"), Local0)
+ m600(arg0, 48, Local0, 0)
+
+ Store(ShiftRight("C179B3FE", "B"), Local0)
+ m600(arg0, 49, Local0, 0x182f36)
+
+ ShiftRight("0321", "B", Local0)
+ m600(arg0, 50, Local0, 0)
+
+ ShiftRight("C179B3FE", "B", Local0)
+ m600(arg0, 51, Local0, 0x182f36)
+ }
+
+ // Subtract, common 32-bit/64-bit test
+ Method(m01f, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Subtract("0321", 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Subtract("0321", 1), Local0)
+ m600(arg0, 1, Local0, 0x320)
+
+ Store(Subtract("0321", aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Subtract("0321", aui6), Local0)
+ m600(arg0, 3, Local0, 0x320)
+
+ if (y078) {
+ Store(Subtract("0321", Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Subtract("0321", Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x320)
+ }
+
+ Store(Subtract("0321", Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Subtract("0321", Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x320)
+
+ // Method returns Integer
+
+ Store(Subtract("0321", m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Subtract("0321", m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x320)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract("0321", Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Subtract("0321", Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x320)
+ }
+
+ Subtract("0321", 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Subtract("0321", 1, Local0)
+ m600(arg0, 13, Local0, 0x320)
+
+ Subtract("0321", aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Subtract("0321", aui6, Local0)
+ m600(arg0, 15, Local0, 0x320)
+
+ if (y078) {
+ Subtract("0321", Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Subtract("0321", Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x320)
+ }
+
+ Subtract("0321", Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Subtract("0321", Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x320)
+
+ // Method returns Integer
+
+ Subtract("0321", m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Subtract("0321", m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x320)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract("0321", Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Subtract("0321", Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x320)
+ }
+
+ // Conversion of the second operand
+
+ Store(Subtract(0, "0321"), Local0)
+ m600(arg0, 24, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(1, "0321"), Local0)
+ m600(arg0, 25, Local0, 0xfffffffffffffce0)
+
+ Store(Subtract(aui5, "0321"), Local0)
+ m600(arg0, 26, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(aui6, "0321"), Local0)
+ m600(arg0, 27, Local0, 0xfffffffffffffce0)
+
+ if (y078) {
+ Store(Subtract(Derefof(Refof(aui5)), "0321"), Local0)
+ m600(arg0, 28, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(Derefof(Refof(aui6)), "0321"), Local0)
+ m600(arg0, 29, Local0, 0xfffffffffffffce0)
+ }
+
+ Store(Subtract(Derefof(Index(paui, 5)), "0321"), Local0)
+ m600(arg0, 30, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(Derefof(Index(paui, 6)), "0321"), Local0)
+ m600(arg0, 31, Local0, 0xfffffffffffffce0)
+
+ // Method returns Integer
+
+ Store(Subtract(m601(1, 5), "0321"), Local0)
+ m600(arg0, 32, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(m601(1, 6), "0321"), Local0)
+ m600(arg0, 33, Local0, 0xfffffffffffffce0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(Derefof(m602(1, 5, 1)), "0321"), Local0)
+ m600(arg0, 34, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(Derefof(m602(1, 6, 1)), "0321"), Local0)
+ m600(arg0, 35, Local0, 0xfffffffffffffce0)
+ }
+
+ Subtract(0, "0321", Local0)
+ m600(arg0, 36, Local0, 0xfffffffffffffcdf)
+
+ Subtract(1, "0321", Local0)
+ m600(arg0, 37, Local0, 0xfffffffffffffce0)
+
+ Subtract(aui5, "0321", Local0)
+ m600(arg0, 38, Local0, 0xfffffffffffffcdf)
+
+ Subtract(aui6, "0321", Local0)
+ m600(arg0, 39, Local0, 0xfffffffffffffce0)
+
+ if (y078) {
+ Subtract(Derefof(Refof(aui5)), "0321", Local0)
+ m600(arg0, 40, Local0, 0xfffffffffffffcdf)
+
+ Subtract(Derefof(Refof(aui6)), "0321", Local0)
+ m600(arg0, 41, Local0, 0xfffffffffffffce0)
+ }
+
+ Subtract(Derefof(Index(paui, 5)), "0321", Local0)
+ m600(arg0, 42, Local0, 0xfffffffffffffcdf)
+
+ Subtract(Derefof(Index(paui, 6)), "0321", Local0)
+ m600(arg0, 43, Local0, 0xfffffffffffffce0)
+
+ // Method returns Integer
+
+ Subtract(m601(1, 5), "0321", Local0)
+ m600(arg0, 44, Local0, 0xfffffffffffffcdf)
+
+ Subtract(m601(1, 6), "0321", Local0)
+ m600(arg0, 45, Local0, 0xfffffffffffffce0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(Derefof(m602(1, 5, 1)), "0321", Local0)
+ m600(arg0, 46, Local0, 0xfffffffffffffcdf)
+
+ Subtract(Derefof(m602(1, 6, 1)), "0321", Local0)
+ m600(arg0, 47, Local0, 0xfffffffffffffce0)
+ }
+ }
+
+ // Subtract, 64-bit
+ Method(m020, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Subtract("FE7CB391D650A284", 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract("FE7CB391D650A284", 1), Local0)
+ m600(arg0, 1, Local0, 0xfe7cb391d650a283)
+
+ Store(Subtract("FE7CB391D650A284", aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract("FE7CB391D650A284", aui6), Local0)
+ m600(arg0, 3, Local0, 0xfe7cb391d650a283)
+
+ if (y078) {
+ Store(Subtract("FE7CB391D650A284", Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract("FE7CB391D650A284", Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xfe7cb391d650a283)
+ }
+
+ Store(Subtract("FE7CB391D650A284", Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract("FE7CB391D650A284", Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Integer
+
+ Store(Subtract("FE7CB391D650A284", m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract("FE7CB391D650A284", m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract("FE7CB391D650A284", Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract("FE7CB391D650A284", Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfe7cb391d650a283)
+ }
+
+ Subtract("FE7CB391D650A284", 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Subtract("FE7CB391D650A284", 1, Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a283)
+
+ Subtract("FE7CB391D650A284", aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Subtract("FE7CB391D650A284", aui6, Local0)
+ m600(arg0, 15, Local0, 0xfe7cb391d650a283)
+
+ if (y078) {
+ Subtract("FE7CB391D650A284", Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Subtract("FE7CB391D650A284", Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xfe7cb391d650a283)
+ }
+
+ Subtract("FE7CB391D650A284", Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Subtract("FE7CB391D650A284", Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Integer
+
+ Subtract("FE7CB391D650A284", m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Subtract("FE7CB391D650A284", m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract("FE7CB391D650A284", Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Subtract("FE7CB391D650A284", Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfe7cb391d650a283)
+ }
+
+ // Conversion of the second operand
+
+ Store(Subtract(0, "FE7CB391D650A284"), Local0)
+ m600(arg0, 24, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(1, "FE7CB391D650A284"), Local0)
+ m600(arg0, 25, Local0, 0x01834c6e29af5d7d)
+
+ Store(Subtract(aui5, "FE7CB391D650A284"), Local0)
+ m600(arg0, 26, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(aui6, "FE7CB391D650A284"), Local0)
+ m600(arg0, 27, Local0, 0x01834c6e29af5d7d)
+
+ if (y078) {
+ Store(Subtract(Derefof(Refof(aui5)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 28, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(Derefof(Refof(aui6)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 29, Local0, 0x01834c6e29af5d7d)
+ }
+
+ Store(Subtract(Derefof(Index(paui, 5)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 30, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(Derefof(Index(paui, 6)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 31, Local0, 0x01834c6e29af5d7d)
+
+ // Method returns Integer
+
+ Store(Subtract(m601(1, 5), "FE7CB391D650A284"), Local0)
+ m600(arg0, 32, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(m601(1, 6), "FE7CB391D650A284"), Local0)
+ m600(arg0, 33, Local0, 0x01834c6e29af5d7d)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(Derefof(m602(1, 5, 1)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 34, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(Derefof(m602(1, 6, 1)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 35, Local0, 0x01834c6e29af5d7d)
+ }
+
+ Subtract(0, "FE7CB391D650A284", Local0)
+ m600(arg0, 36, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(1, "FE7CB391D650A284", Local0)
+ m600(arg0, 37, Local0, 0x01834c6e29af5d7d)
+
+ Subtract(aui5, "FE7CB391D650A284", Local0)
+ m600(arg0, 38, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(aui6, "FE7CB391D650A284", Local0)
+ m600(arg0, 39, Local0, 0x01834c6e29af5d7d)
+
+ if (y078) {
+ Subtract(Derefof(Refof(aui5)), "FE7CB391D650A284", Local0)
+ m600(arg0, 40, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(Derefof(Refof(aui6)), "FE7CB391D650A284", Local0)
+ m600(arg0, 41, Local0, 0x01834c6e29af5d7d)
+ }
+
+ Subtract(Derefof(Index(paui, 5)), "FE7CB391D650A284", Local0)
+ m600(arg0, 42, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(Derefof(Index(paui, 6)), "FE7CB391D650A284", Local0)
+ m600(arg0, 43, Local0, 0x01834c6e29af5d7d)
+
+ // Method returns Integer
+
+ Subtract(m601(1, 5), "FE7CB391D650A284", Local0)
+ m600(arg0, 44, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(m601(1, 6), "FE7CB391D650A284", Local0)
+ m600(arg0, 45, Local0, 0x01834c6e29af5d7d)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(Derefof(m602(1, 5, 1)), "FE7CB391D650A284", Local0)
+ m600(arg0, 46, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(Derefof(m602(1, 6, 1)), "FE7CB391D650A284", Local0)
+ m600(arg0, 47, Local0, 0x01834c6e29af5d7d)
+ }
+
+ // Conversion of the both operands
+
+ Store(Subtract("0321", "FE7CB391D650A284"), Local0)
+ m600(arg0, 48, Local0, 0x01834c6e29af609d)
+
+ Store(Subtract("FE7CB391D650A284", "0321"), Local0)
+ m600(arg0, 49, Local0, 0xfe7cb391d6509f63)
+
+ Subtract("0321", "FE7CB391D650A284", Local0)
+ m600(arg0, 50, Local0, 0x01834c6e29af609d)
+
+ Subtract("FE7CB391D650A284", "0321", Local0)
+ m600(arg0, 51, Local0, 0xfe7cb391d6509f63)
+ }
+
+ // Subtract, 32-bit
+ Method(m021, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Subtract("C179B3FE", 0), Local0)
+ m600(arg0, 0, Local0, 0xc179b3fe)
+
+ Store(Subtract("C179B3FE", 1), Local0)
+ m600(arg0, 1, Local0, 0xc179b3fd)
+
+ Store(Subtract("C179B3FE", aui5), Local0)
+ m600(arg0, 2, Local0, 0xc179b3fe)
+
+ Store(Subtract("C179B3FE", aui6), Local0)
+ m600(arg0, 3, Local0, 0xc179b3fd)
+
+ if (y078) {
+ Store(Subtract("C179B3FE", Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xc179b3fe)
+
+ Store(Subtract("C179B3FE", Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xc179b3fd)
+ }
+
+ Store(Subtract("C179B3FE", Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xc179b3fe)
+
+ Store(Subtract("C179B3FE", Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xc179b3fd)
+
+ // Method returns Integer
+
+ Store(Subtract("C179B3FE", m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xc179b3fe)
+
+ Store(Subtract("C179B3FE", m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xc179b3fd)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract("C179B3FE", Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xc179b3fe)
+
+ Store(Subtract("C179B3FE", Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xc179b3fd)
+ }
+
+ Subtract("C179B3FE", 0, Local0)
+ m600(arg0, 12, Local0, 0xc179b3fe)
+
+ Subtract("C179B3FE", 1, Local0)
+ m600(arg0, 13, Local0, 0xc179b3fd)
+
+ Subtract("C179B3FE", aui5, Local0)
+ m600(arg0, 14, Local0, 0xc179b3fe)
+
+ Subtract("C179B3FE", aui6, Local0)
+ m600(arg0, 15, Local0, 0xc179b3fd)
+
+ if (y078) {
+ Subtract("C179B3FE", Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xc179b3fe)
+
+ Subtract("C179B3FE", Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xc179b3fd)
+ }
+
+ Subtract("C179B3FE", Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xc179b3fe)
+
+ Subtract("C179B3FE", Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xc179b3fd)
+
+ // Method returns Integer
+
+ Subtract("C179B3FE", m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xc179b3fe)
+
+ Subtract("C179B3FE", m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xc179b3fd)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract("C179B3FE", Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xc179b3fe)
+
+ Subtract("C179B3FE", Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xc179b3fd)
+ }
+
+ // Conversion of the second operand
+
+ Store(Subtract(0, "C179B3FE"), Local0)
+ m600(arg0, 24, Local0, 0x3e864c02)
+
+ Store(Subtract(1, "C179B3FE"), Local0)
+ m600(arg0, 25, Local0, 0x3e864c03)
+
+ Store(Subtract(aui5, "C179B3FE"), Local0)
+ m600(arg0, 26, Local0, 0x3e864c02)
+
+ Store(Subtract(aui6, "C179B3FE"), Local0)
+ m600(arg0, 27, Local0, 0x3e864c03)
+
+ if (y078) {
+ Store(Subtract(Derefof(Refof(aui5)), "C179B3FE"), Local0)
+ m600(arg0, 28, Local0, 0x3e864c02)
+
+ Store(Subtract(Derefof(Refof(aui6)), "C179B3FE"), Local0)
+ m600(arg0, 29, Local0, 0x3e864c03)
+ }
+
+ Store(Subtract(Derefof(Index(paui, 5)), "C179B3FE"), Local0)
+ m600(arg0, 30, Local0, 0x3e864c02)
+
+ Store(Subtract(Derefof(Index(paui, 6)), "C179B3FE"), Local0)
+ m600(arg0, 31, Local0, 0x3e864c03)
+
+ // Method returns Integer
+
+ Store(Subtract(m601(1, 5), "C179B3FE"), Local0)
+ m600(arg0, 32, Local0, 0x3e864c02)
+
+ Store(Subtract(m601(1, 6), "C179B3FE"), Local0)
+ m600(arg0, 33, Local0, 0x3e864c03)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(Derefof(m602(1, 5, 1)), "C179B3FE"), Local0)
+ m600(arg0, 34, Local0, 0x3e864c02)
+
+ Store(Subtract(Derefof(m602(1, 6, 1)), "C179B3FE"), Local0)
+ m600(arg0, 35, Local0, 0x3e864c03)
+ }
+
+ Subtract(0, "C179B3FE", Local0)
+ m600(arg0, 36, Local0, 0x3e864c02)
+
+ Subtract(1, "C179B3FE", Local0)
+ m600(arg0, 37, Local0, 0x3e864c03)
+
+ Subtract(aui5, "C179B3FE", Local0)
+ m600(arg0, 38, Local0, 0x3e864c02)
+
+ Subtract(aui6, "C179B3FE", Local0)
+ m600(arg0, 39, Local0, 0x3e864c03)
+
+ if (y078) {
+ Subtract(Derefof(Refof(aui5)), "C179B3FE", Local0)
+ m600(arg0, 40, Local0, 0x3e864c02)
+
+ Subtract(Derefof(Refof(aui6)), "C179B3FE", Local0)
+ m600(arg0, 41, Local0, 0x3e864c03)
+ }
+
+ Subtract(Derefof(Index(paui, 5)), "C179B3FE", Local0)
+ m600(arg0, 42, Local0, 0x3e864c02)
+
+ Subtract(Derefof(Index(paui, 6)), "C179B3FE", Local0)
+ m600(arg0, 43, Local0, 0x3e864c03)
+
+ // Method returns Integer
+
+ Subtract(m601(1, 5), "C179B3FE", Local0)
+ m600(arg0, 44, Local0, 0x3e864c02)
+
+ Subtract(m601(1, 6), "C179B3FE", Local0)
+ m600(arg0, 45, Local0, 0x3e864c03)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(Derefof(m602(1, 5, 1)), "C179B3FE", Local0)
+ m600(arg0, 46, Local0, 0x3e864c02)
+
+ Subtract(Derefof(m602(1, 6, 1)), "C179B3FE", Local0)
+ m600(arg0, 47, Local0, 0x3e864c03)
+ }
+
+ // Conversion of the both operands
+
+ Store(Subtract("0321", "C179B3FE"), Local0)
+ m600(arg0, 48, Local0, 0x3e864f23)
+
+ Store(Subtract("C179B3FE", "0321"), Local0)
+ m600(arg0, 49, Local0, 0xc179b0dd)
+
+ Subtract("0321", "C179B3FE", Local0)
+ m600(arg0, 50, Local0, 0x3e864f23)
+
+ Subtract("C179B3FE", "0321", Local0)
+ m600(arg0, 51, Local0, 0xc179b0dd)
+ }
+
+ // XOr, common 32-bit/64-bit test
+ Method(m022, 1)
+ {
+ // Conversion of the first operand
+
+ Store(XOr("0321", 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(XOr("0321", 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xfffffffffffffcde)
+
+ Store(XOr("0321", aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(XOr("0321", auij), Local0)
+ m600(arg0, 3, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ Store(XOr("0321", Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(XOr("0321", Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xfffffffffffffcde)
+ }
+
+ Store(XOr("0321", Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(XOr("0321", Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ Store(XOr("0321", m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(XOr("0321", m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr("0321", Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(XOr("0321", Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfffffffffffffcde)
+ }
+
+ XOr("0321", 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ XOr("0321", 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xfffffffffffffcde)
+
+ XOr("0321", aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ XOr("0321", auij, Local0)
+ m600(arg0, 15, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ XOr("0321", Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ XOr("0321", Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xfffffffffffffcde)
+ }
+
+ XOr("0321", Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ XOr("0321", Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ XOr("0321", m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ XOr("0321", m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr("0321", Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ XOr("0321", Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfffffffffffffcde)
+ }
+
+ // Conversion of the second operand
+
+ Store(XOr(0, "0321"), Local0)
+ m600(arg0, 24, Local0, 0x321)
+
+ Store(XOr(0xffffffffffffffff, "0321"), Local0)
+ m600(arg0, 25, Local0, 0xfffffffffffffcde)
+
+ Store(XOr(aui5, "0321"), Local0)
+ m600(arg0, 26, Local0, 0x321)
+
+ Store(XOr(auij, "0321"), Local0)
+ m600(arg0, 27, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ Store(XOr(Derefof(Refof(aui5)), "0321"), Local0)
+ m600(arg0, 28, Local0, 0x321)
+
+ Store(XOr(Derefof(Refof(auij)), "0321"), Local0)
+ m600(arg0, 29, Local0, 0xfffffffffffffcde)
+ }
+
+ Store(XOr(Derefof(Index(paui, 5)), "0321"), Local0)
+ m600(arg0, 30, Local0, 0x321)
+
+ Store(XOr(Derefof(Index(paui, 19)), "0321"), Local0)
+ m600(arg0, 31, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ Store(XOr(m601(1, 5), "0321"), Local0)
+ m600(arg0, 32, Local0, 0x321)
+
+ Store(XOr(m601(1, 19), "0321"), Local0)
+ m600(arg0, 33, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(Derefof(m602(1, 5, 1)), "0321"), Local0)
+ m600(arg0, 34, Local0, 0x321)
+
+ Store(XOr(Derefof(m602(1, 19, 1)), "0321"), Local0)
+ m600(arg0, 35, Local0, 0xfffffffffffffcde)
+ }
+
+ XOr(0, "0321", Local0)
+ m600(arg0, 36, Local0, 0x321)
+
+ XOr(0xffffffffffffffff, "0321", Local0)
+ m600(arg0, 37, Local0, 0xfffffffffffffcde)
+
+ XOr(aui5, "0321", Local0)
+ m600(arg0, 38, Local0, 0x321)
+
+ XOr(auij, "0321", Local0)
+ m600(arg0, 39, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ XOr(Derefof(Refof(aui5)), "0321", Local0)
+ m600(arg0, 40, Local0, 0x321)
+
+ XOr(Derefof(Refof(auij)), "0321", Local0)
+ m600(arg0, 41, Local0, 0xfffffffffffffcde)
+ }
+
+ XOr(Derefof(Index(paui, 5)), "0321", Local0)
+ m600(arg0, 42, Local0, 0x321)
+
+ XOr(Derefof(Index(paui, 19)), "0321", Local0)
+ m600(arg0, 43, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ XOr(m601(1, 5), "0321", Local0)
+ m600(arg0, 44, Local0, 0x321)
+
+ XOr(m601(1, 19), "0321", Local0)
+ m600(arg0, 45, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(Derefof(m602(1, 5, 1)), "0321", Local0)
+ m600(arg0, 46, Local0, 0x321)
+
+ XOr(Derefof(m602(1, 19, 1)), "0321", Local0)
+ m600(arg0, 47, Local0, 0xfffffffffffffcde)
+ }
+ }
+
+ // XOr, 64-bit
+ Method(m023, 1)
+ {
+ // Conversion of the first operand
+
+ Store(XOr("FE7CB391D650A284", 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr("FE7CB391D650A284", 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0x01834c6e29af5d7b)
+
+ Store(XOr("FE7CB391D650A284", aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr("FE7CB391D650A284", auij), Local0)
+ m600(arg0, 3, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ Store(XOr("FE7CB391D650A284", Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr("FE7CB391D650A284", Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Store(XOr("FE7CB391D650A284", Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr("FE7CB391D650A284", Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ Store(XOr("FE7CB391D650A284", m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr("FE7CB391D650A284", m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr("FE7CB391D650A284", Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr("FE7CB391D650A284", Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0x01834c6e29af5d7b)
+ }
+
+ XOr("FE7CB391D650A284", 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ XOr("FE7CB391D650A284", 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0x01834c6e29af5d7b)
+
+ XOr("FE7CB391D650A284", aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ XOr("FE7CB391D650A284", auij, Local0)
+ m600(arg0, 15, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ XOr("FE7CB391D650A284", Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ XOr("FE7CB391D650A284", Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0x01834c6e29af5d7b)
+ }
+
+ XOr("FE7CB391D650A284", Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ XOr("FE7CB391D650A284", Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ XOr("FE7CB391D650A284", m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ XOr("FE7CB391D650A284", m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr("FE7CB391D650A284", Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ XOr("FE7CB391D650A284", Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0x01834c6e29af5d7b)
+ }
+
+ // Conversion of the second operand
+
+ Store(XOr(0, "FE7CB391D650A284"), Local0)
+ m600(arg0, 24, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(0xffffffffffffffff, "FE7CB391D650A284"), Local0)
+ m600(arg0, 25, Local0, 0x01834c6e29af5d7b)
+
+ Store(XOr(aui5, "FE7CB391D650A284"), Local0)
+ m600(arg0, 26, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(auij, "FE7CB391D650A284"), Local0)
+ m600(arg0, 27, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ Store(XOr(Derefof(Refof(aui5)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 28, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(Refof(auij)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 29, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Store(XOr(Derefof(Index(paui, 5)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 30, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(Index(paui, 19)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 31, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ Store(XOr(m601(1, 5), "FE7CB391D650A284"), Local0)
+ m600(arg0, 32, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(m601(1, 19), "FE7CB391D650A284"), Local0)
+ m600(arg0, 33, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(Derefof(m602(1, 5, 1)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 34, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(m602(1, 19, 1)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 35, Local0, 0x01834c6e29af5d7b)
+ }
+
+ XOr(0, "FE7CB391D650A284", Local0)
+ m600(arg0, 36, Local0, 0xfe7cb391d650a284)
+
+ XOr(0xffffffffffffffff, "FE7CB391D650A284", Local0)
+ m600(arg0, 37, Local0, 0x01834c6e29af5d7b)
+
+ XOr(aui5, "FE7CB391D650A284", Local0)
+ m600(arg0, 38, Local0, 0xfe7cb391d650a284)
+
+ XOr(auij, "FE7CB391D650A284", Local0)
+ m600(arg0, 39, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ XOr(Derefof(Refof(aui5)), "FE7CB391D650A284", Local0)
+ m600(arg0, 40, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(Refof(auij)), "FE7CB391D650A284", Local0)
+ m600(arg0, 41, Local0, 0x01834c6e29af5d7b)
+ }
+
+ XOr(Derefof(Index(paui, 5)), "FE7CB391D650A284", Local0)
+ m600(arg0, 42, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(Index(paui, 19)), "FE7CB391D650A284", Local0)
+ m600(arg0, 43, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ XOr(m601(1, 5), "FE7CB391D650A284", Local0)
+ m600(arg0, 44, Local0, 0xfe7cb391d650a284)
+
+ XOr(m601(1, 19), "FE7CB391D650A284", Local0)
+ m600(arg0, 45, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(Derefof(m602(1, 5, 1)), "FE7CB391D650A284", Local0)
+ m600(arg0, 46, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(m602(1, 19, 1)), "FE7CB391D650A284", Local0)
+ m600(arg0, 47, Local0, 0x01834c6e29af5d7b)
+ }
+
+ // Conversion of the both operands
+
+ Store(XOr("0321", "FE7CB391D650A284"), Local0)
+ m600(arg0, 48, Local0, 0xfe7cb391d650a1a5)
+
+ Store(XOr("FE7CB391D650A284", "0321"), Local0)
+ m600(arg0, 49, Local0, 0xfe7cb391d650a1a5)
+
+ XOr("0321", "FE7CB391D650A284", Local0)
+ m600(arg0, 50, Local0, 0xfe7cb391d650a1a5)
+
+ XOr("FE7CB391D650A284", "0321", Local0)
+ m600(arg0, 51, Local0, 0xfe7cb391d650a1a5)
+ }
+
+ // XOr, 32-bit
+ Method(m024, 1)
+ {
+ // Conversion of the first operand
+
+ Store(XOr("C179B3FE", 0), Local0)
+ m600(arg0, 0, Local0, 0xc179b3fe)
+
+ Store(XOr("C179B3FE", 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0x3e864c01)
+
+ Store(XOr("C179B3FE", aui5), Local0)
+ m600(arg0, 2, Local0, 0xc179b3fe)
+
+ Store(XOr("C179B3FE", auii), Local0)
+ m600(arg0, 3, Local0, 0x3e864c01)
+
+ if (y078) {
+ Store(XOr("C179B3FE", Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xc179b3fe)
+
+ Store(XOr("C179B3FE", Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0x3e864c01)
+ }
+
+ Store(XOr("C179B3FE", Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xc179b3fe)
+
+ Store(XOr("C179B3FE", Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0x3e864c01)
+
+ // Method returns Integer
+
+ Store(XOr("C179B3FE", m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xc179b3fe)
+
+ Store(XOr("C179B3FE", m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0x3e864c01)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr("C179B3FE", Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xc179b3fe)
+
+ Store(XOr("C179B3FE", Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0x3e864c01)
+ }
+
+ XOr("C179B3FE", 0, Local0)
+ m600(arg0, 12, Local0, 0xc179b3fe)
+
+ XOr("C179B3FE", 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0x3e864c01)
+
+ XOr("C179B3FE", aui5, Local0)
+ m600(arg0, 14, Local0, 0xc179b3fe)
+
+ XOr("C179B3FE", auii, Local0)
+ m600(arg0, 15, Local0, 0x3e864c01)
+
+ if (y078) {
+ XOr("C179B3FE", Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xc179b3fe)
+
+ XOr("C179B3FE", Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0x3e864c01)
+ }
+
+ XOr("C179B3FE", Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xc179b3fe)
+
+ XOr("C179B3FE", Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0x3e864c01)
+
+ // Method returns Integer
+
+ XOr("C179B3FE", m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xc179b3fe)
+
+ XOr("C179B3FE", m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0x3e864c01)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr("C179B3FE", Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xc179b3fe)
+
+ XOr("C179B3FE", Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0x3e864c01)
+ }
+
+ // Conversion of the second operand
+
+ Store(XOr(0, "C179B3FE"), Local0)
+ m600(arg0, 24, Local0, 0xc179b3fe)
+
+ Store(XOr(0xffffffff, "C179B3FE"), Local0)
+ m600(arg0, 25, Local0, 0x3e864c01)
+
+ Store(XOr(aui5, "C179B3FE"), Local0)
+ m600(arg0, 26, Local0, 0xc179b3fe)
+
+ Store(XOr(auii, "C179B3FE"), Local0)
+ m600(arg0, 27, Local0, 0x3e864c01)
+
+ if (y078) {
+ Store(XOr(Derefof(Refof(aui5)), "C179B3FE"), Local0)
+ m600(arg0, 28, Local0, 0xc179b3fe)
+
+ Store(XOr(Derefof(Refof(auii)), "C179B3FE"), Local0)
+ m600(arg0, 29, Local0, 0x3e864c01)
+ }
+
+ Store(XOr(Derefof(Index(paui, 5)), "C179B3FE"), Local0)
+ m600(arg0, 30, Local0, 0xc179b3fe)
+
+ Store(XOr(Derefof(Index(paui, 18)), "C179B3FE"), Local0)
+ m600(arg0, 31, Local0, 0x3e864c01)
+
+ // Method returns Integer
+
+ Store(XOr(m601(1, 5), "C179B3FE"), Local0)
+ m600(arg0, 32, Local0, 0xc179b3fe)
+
+ Store(XOr(m601(1, 18), "C179B3FE"), Local0)
+ m600(arg0, 33, Local0, 0x3e864c01)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(Derefof(m602(1, 5, 1)), "C179B3FE"), Local0)
+ m600(arg0, 34, Local0, 0xc179b3fe)
+
+ Store(XOr(Derefof(m602(1, 18, 1)), "C179B3FE"), Local0)
+ m600(arg0, 35, Local0, 0x3e864c01)
+ }
+
+ XOr(0, "C179B3FE", Local0)
+ m600(arg0, 36, Local0, 0xc179b3fe)
+
+ XOr(0xffffffff, "C179B3FE", Local0)
+ m600(arg0, 37, Local0, 0x3e864c01)
+
+ XOr(aui5, "C179B3FE", Local0)
+ m600(arg0, 38, Local0, 0xc179b3fe)
+
+ XOr(auii, "C179B3FE", Local0)
+ m600(arg0, 39, Local0, 0x3e864c01)
+
+ if (y078) {
+ XOr(Derefof(Refof(aui5)), "C179B3FE", Local0)
+ m600(arg0, 40, Local0, 0xc179b3fe)
+
+ XOr(Derefof(Refof(auii)), "C179B3FE", Local0)
+ m600(arg0, 41, Local0, 0x3e864c01)
+ }
+
+ XOr(Derefof(Index(paui, 5)), "C179B3FE", Local0)
+ m600(arg0, 42, Local0, 0xc179b3fe)
+
+ XOr(Derefof(Index(paui, 18)), "C179B3FE", Local0)
+ m600(arg0, 43, Local0, 0x3e864c01)
+
+ // Method returns Integer
+
+ XOr(m601(1, 5), "C179B3FE", Local0)
+ m600(arg0, 44, Local0, 0xc179b3fe)
+
+ XOr(m601(1, 18), "C179B3FE", Local0)
+ m600(arg0, 45, Local0, 0x3e864c01)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(Derefof(m602(1, 5, 1)), "C179B3FE", Local0)
+ m600(arg0, 46, Local0, 0xc179b3fe)
+
+ XOr(Derefof(m602(1, 18, 1)), "C179B3FE", Local0)
+ m600(arg0, 47, Local0, 0x3e864c01)
+ }
+
+ // Conversion of the both operands
+
+ Store(XOr("0321", "C179B3FE"), Local0)
+ m600(arg0, 48, Local0, 0xc179b0df)
+
+ Store(XOr("C179B3FE", "0321"), Local0)
+ m600(arg0, 49, Local0, 0xc179b0df)
+
+ XOr("0321", "C179B3FE", Local0)
+ m600(arg0, 50, Local0, 0xc179b0df)
+
+ XOr("C179B3FE", "0321", Local0)
+ m600(arg0, 51, Local0, 0xc179b0df)
+ }
+
+ // Add, And, Divide, Mod, Multiply, NAnd, NOr, Or,
+ // ShiftLeft, ShiftRight, Subtract, Xor
+
+ Method(m64d, 1)
+ {
+ // Add
+ Concatenate(arg0, "-m001", Local0)
+ SRMT(Local0)
+ m001(Local0)
+ Concatenate(arg0, "-m002", Local0)
+ SRMT(Local0)
+ m002(Local0)
+
+ // And
+ Concatenate(arg0, "-m004", Local0)
+ SRMT(Local0)
+ m004(Local0)
+ Concatenate(arg0, "-m005", Local0)
+ SRMT(Local0)
+ m005(Local0)
+
+ // Divide
+ Concatenate(arg0, "-m007", Local0)
+ SRMT(Local0)
+ m007(Local0)
+ Concatenate(arg0, "-m008", Local0)
+ SRMT(Local0)
+ m008(Local0)
+
+ // Mod
+ Concatenate(arg0, "-m00a", Local0)
+ SRMT(Local0)
+ m00a(Local0)
+ Concatenate(arg0, "-m00b", Local0)
+ SRMT(Local0)
+ m00b(Local0)
+
+ // Multiply
+ Concatenate(arg0, "-m00d", Local0)
+ SRMT(Local0)
+ m00d(Local0)
+ Concatenate(arg0, "-m00e", Local0)
+ SRMT(Local0)
+ m00e(Local0)
+
+ // NAnd
+ Concatenate(arg0, "-m010", Local0)
+ SRMT(Local0)
+ m010(Local0)
+ Concatenate(arg0, "-m011", Local0)
+ SRMT(Local0)
+ m011(Local0)
+
+ // NOr
+ Concatenate(arg0, "-m013", Local0)
+ SRMT(Local0)
+ m013(Local0)
+ Concatenate(arg0, "-m014", Local0)
+ SRMT(Local0)
+ m014(Local0)
+
+ // Or
+ Concatenate(arg0, "-m016", Local0)
+ SRMT(Local0)
+ m016(Local0)
+ Concatenate(arg0, "-m017", Local0)
+ SRMT(Local0)
+ m017(Local0)
+
+ // ShiftLeft
+ Concatenate(arg0, "-m019", Local0)
+ SRMT(Local0)
+ m019(Local0)
+ Concatenate(arg0, "-m01a", Local0)
+ SRMT(Local0)
+ m01a(Local0)
+
+ // ShiftRight
+ Concatenate(arg0, "-m01c", Local0)
+ SRMT(Local0)
+ m01c(Local0)
+ Concatenate(arg0, "-m01d", Local0)
+ SRMT(Local0)
+ m01d(Local0)
+
+ // Subtract
+ Concatenate(arg0, "-m01f", Local0)
+ SRMT(Local0)
+ m01f(Local0)
+ Concatenate(arg0, "-m020", Local0)
+ SRMT(Local0)
+ m020(Local0)
+
+ // XOr
+ Concatenate(arg0, "-m022", Local0)
+ SRMT(Local0)
+ m022(Local0)
+ Concatenate(arg0, "-m023", Local0)
+ SRMT(Local0)
+ m023(Local0)
+ }
+
+ Method(m32d, 1)
+ {
+ // Add
+ Concatenate(arg0, "-m001", Local0)
+ SRMT(Local0)
+ m001(Local0)
+ Concatenate(arg0, "-m003", Local0)
+ SRMT(Local0)
+ m003(Local0)
+
+ // And
+ Concatenate(arg0, "-m004", Local0)
+ SRMT(Local0)
+ m004(Local0)
+ Concatenate(arg0, "-m006", Local0)
+ SRMT(Local0)
+ m006(Local0)
+
+ // Divide
+ Concatenate(arg0, "-m007", Local0)
+ SRMT(Local0)
+ m007(Local0)
+ Concatenate(arg0, "-m009", Local0)
+ SRMT(Local0)
+ m009(Local0)
+
+ // Mod
+ Concatenate(arg0, "-m00a", Local0)
+ SRMT(Local0)
+ m00a(Local0)
+ Concatenate(arg0, "-m00c", Local0)
+ SRMT(Local0)
+ m00c(Local0)
+
+ // Multiply
+ Concatenate(arg0, "-m00d", Local0)
+ SRMT(Local0)
+ m00d(Local0)
+ Concatenate(arg0, "-m00f", Local0)
+ SRMT(Local0)
+ m00f(Local0)
+
+ // NAnd
+ Concatenate(arg0, "-m010", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m010(Local0)
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m012", Local0)
+ SRMT(Local0)
+ m012(Local0)
+
+ // NOr
+ Concatenate(arg0, "-m013", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m013(Local0)
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m015", Local0)
+ SRMT(Local0)
+ m015(Local0)
+
+ // Or
+ Concatenate(arg0, "-m016", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m016(Local0)
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m018", Local0)
+ SRMT(Local0)
+ m018(Local0)
+
+ // ShiftLeft
+ Concatenate(arg0, "-m019", Local0)
+ SRMT(Local0)
+ m019(Local0)
+ Concatenate(arg0, "-m01b", Local0)
+ SRMT(Local0)
+ m01b(Local0)
+
+ // ShiftRight
+ Concatenate(arg0, "-m01c", Local0)
+ SRMT(Local0)
+ m01c(Local0)
+ Concatenate(arg0, "-m01e", Local0)
+ SRMT(Local0)
+ m01e(Local0)
+
+ // Subtract
+ Concatenate(arg0, "-m01f", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m01f(Local0)
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m021", Local0)
+ SRMT(Local0)
+ m021(Local0)
+
+ // XOr
+ Concatenate(arg0, "-m022", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m022(Local0)
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m024", Local0)
+ SRMT(Local0)
+ m024(Local0)
+ }
+
+
+ // String to Integer conversion of each String operand
+ // of the 2-parameter Logical Integer operators LAnd and LOr
+
+ // LAnd, common 32-bit/64-bit test
+ Method(m025, 1)
+ {
+ // Conversion of the first operand
+
+ Store(LAnd("0321", 0), Local0)
+ m600(arg0, 0, Local0, Zero)
+
+ Store(LAnd("0321", 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(LAnd("0321", aui5), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LAnd("0321", aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd("0321", Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LAnd("0321", Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(LAnd("0321", Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Zero)
+
+ Store(LAnd("0321", Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd("0321", m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Zero)
+
+ Store(LAnd("0321", m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd("0321", Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LAnd("0321", Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(LAnd(0, "0321"), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LAnd(1, "0321"), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LAnd(aui5, "0321"), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LAnd(aui6, "0321"), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(Derefof(Refof(aui5)), "0321"), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(aui6)), "0321"), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(LAnd(Derefof(Index(paui, 5)), "0321"), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LAnd(Derefof(Index(paui, 6)), "0321"), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(m601(1, 5), "0321"), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LAnd(m601(1, 6), "0321"), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(Derefof(m602(1, 5, 1)), "0321"), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LAnd(Derefof(m602(1, 6, 1)), "0321"), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+ }
+
+ // LAnd, 64-bit
+ Method(m026, 1)
+ {
+ // Conversion of the first operand
+
+ Store(LAnd("FE7CB391D650A284", 0), Local0)
+ m600(arg0, 0, Local0, Zero)
+
+ Store(LAnd("FE7CB391D650A284", 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(LAnd("FE7CB391D650A284", aui5), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LAnd("FE7CB391D650A284", aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd("FE7CB391D650A284", Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LAnd("FE7CB391D650A284", Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(LAnd("FE7CB391D650A284", Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Zero)
+
+ Store(LAnd("FE7CB391D650A284", Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd("FE7CB391D650A284", m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Zero)
+
+ Store(LAnd("FE7CB391D650A284", m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd("FE7CB391D650A284", Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LAnd("FE7CB391D650A284", Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(LAnd(0, "FE7CB391D650A284"), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LAnd(1, "FE7CB391D650A284"), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LAnd(aui5, "FE7CB391D650A284"), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LAnd(aui6, "FE7CB391D650A284"), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(Derefof(Refof(aui5)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(aui6)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(LAnd(Derefof(Index(paui, 5)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LAnd(Derefof(Index(paui, 6)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(m601(1, 5), "FE7CB391D650A284"), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LAnd(m601(1, 6), "FE7CB391D650A284"), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(Derefof(m602(1, 5, 1)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LAnd(Derefof(m602(1, 6, 1)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+
+ // Conversion of the both operands
+
+ Store(LAnd("0321", "FE7CB391D650A284"), Local0)
+ m600(arg0, 24, Local0, Ones)
+
+ Store(LAnd("FE7CB391D650A284", "0321"), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // LAnd, 32-bit
+ Method(m027, 1)
+ {
+ // Conversion of the first operand
+
+ Store(LAnd("C179B3FE", 0), Local0)
+ m600(arg0, 0, Local0, Zero)
+
+ Store(LAnd("C179B3FE", 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(LAnd("C179B3FE", aui5), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LAnd("C179B3FE", aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd("C179B3FE", Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LAnd("C179B3FE", Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(LAnd("C179B3FE", Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Zero)
+
+ Store(LAnd("C179B3FE", Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd("C179B3FE", m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Zero)
+
+ Store(LAnd("C179B3FE", m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd("C179B3FE", Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LAnd("C179B3FE", Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(LAnd(0, "C179B3FE"), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LAnd(1, "C179B3FE"), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LAnd(aui5, "C179B3FE"), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LAnd(aui6, "C179B3FE"), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(Derefof(Refof(aui5)), "C179B3FE"), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(aui6)), "C179B3FE"), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(LAnd(Derefof(Index(paui, 5)), "C179B3FE"), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LAnd(Derefof(Index(paui, 6)), "C179B3FE"), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(m601(1, 5), "C179B3FE"), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LAnd(m601(1, 6), "C179B3FE"), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(Derefof(m602(1, 5, 1)), "C179B3FE"), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LAnd(Derefof(m602(1, 6, 1)), "C179B3FE"), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+
+ // Conversion of the both operands
+
+ Store(LAnd("0321", "C179B3FE"), Local0)
+ m600(arg0, 24, Local0, Ones)
+
+ Store(LAnd("C179B3FE", "0321"), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // Lor, common 32-bit/64-bit test
+ Method(m028, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Lor("0", 0), Local0)
+ m600(arg0, 0, Local0, Zero)
+
+ Store(Lor("0", 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(Lor("0", aui5), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(Lor("0", aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(Lor("0", Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(Lor("0", Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(Lor("0", Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Zero)
+
+ Store(Lor("0", Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor("0", m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Zero)
+
+ Store(Lor("0", m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor("0", Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(Lor("0", Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(Lor(0, "0"), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(Lor(1, "0"), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(Lor(aui5, "0"), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(Lor(aui6, "0"), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(Derefof(Refof(aui5)), "0"), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(Lor(Derefof(Refof(aui6)), "0"), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(Lor(Derefof(Index(paui, 5)), "0"), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(Lor(Derefof(Index(paui, 6)), "0"), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(m601(1, 5), "0"), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(Lor(m601(1, 6), "0"), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(Derefof(m602(1, 5, 1)), "0"), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(Lor(Derefof(m602(1, 6, 1)), "0"), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+ }
+
+ // Lor, 64-bit
+ Method(m029, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Lor("FE7CB391D650A284", 0), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(Lor("FE7CB391D650A284", 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(Lor("FE7CB391D650A284", aui5), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(Lor("FE7CB391D650A284", aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(Lor("FE7CB391D650A284", Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(Lor("FE7CB391D650A284", Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(Lor("FE7CB391D650A284", Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(Lor("FE7CB391D650A284", Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor("FE7CB391D650A284", m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(Lor("FE7CB391D650A284", m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor("FE7CB391D650A284", Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(Lor("FE7CB391D650A284", Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(Lor(0, "FE7CB391D650A284"), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(Lor(1, "FE7CB391D650A284"), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(Lor(aui5, "FE7CB391D650A284"), Local0)
+ m600(arg0, 14, Local0, Ones)
+
+ Store(Lor(aui6, "FE7CB391D650A284"), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(Derefof(Refof(aui5)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 16, Local0, Ones)
+
+ Store(Lor(Derefof(Refof(aui6)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(Lor(Derefof(Index(paui, 5)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 18, Local0, Ones)
+
+ Store(Lor(Derefof(Index(paui, 6)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(m601(1, 5), "FE7CB391D650A284"), Local0)
+ m600(arg0, 20, Local0, Ones)
+
+ Store(Lor(m601(1, 6), "FE7CB391D650A284"), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(Derefof(m602(1, 5, 1)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(Lor(Derefof(m602(1, 6, 1)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+
+ // Conversion of the both operands
+
+ Store(Lor("0", "FE7CB391D650A284"), Local0)
+ m600(arg0, 24, Local0, Ones)
+
+ Store(Lor("FE7CB391D650A284", "0"), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // Lor, 32-bit
+ Method(m02a, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Lor("C179B3FE", 0), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(Lor("C179B3FE", 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(Lor("C179B3FE", aui5), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(Lor("C179B3FE", aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(Lor("C179B3FE", Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(Lor("C179B3FE", Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(Lor("C179B3FE", Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(Lor("C179B3FE", Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor("C179B3FE", m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(Lor("C179B3FE", m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor("C179B3FE", Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(Lor("C179B3FE", Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(Lor(0, "C179B3FE"), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(Lor(1, "C179B3FE"), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(Lor(aui5, "C179B3FE"), Local0)
+ m600(arg0, 14, Local0, Ones)
+
+ Store(Lor(aui6, "C179B3FE"), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(Derefof(Refof(aui5)), "C179B3FE"), Local0)
+ m600(arg0, 16, Local0, Ones)
+
+ Store(Lor(Derefof(Refof(aui6)), "C179B3FE"), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(Lor(Derefof(Index(paui, 5)), "C179B3FE"), Local0)
+ m600(arg0, 18, Local0, Ones)
+
+ Store(Lor(Derefof(Index(paui, 6)), "C179B3FE"), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(m601(1, 5), "C179B3FE"), Local0)
+ m600(arg0, 20, Local0, Ones)
+
+ Store(Lor(m601(1, 6), "C179B3FE"), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(Derefof(m602(1, 5, 1)), "C179B3FE"), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(Lor(Derefof(m602(1, 6, 1)), "C179B3FE"), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+
+ // Conversion of the both operands
+
+ Store(Lor("0", "C179B3FE"), Local0)
+ m600(arg0, 24, Local0, Ones)
+
+ Store(Lor("C179B3FE", "0"), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ Method(m64e, 1)
+ {
+ // LAnd
+ Concatenate(arg0, "-m025", Local0)
+ SRMT(Local0)
+ m025(Local0)
+ Concatenate(arg0, "-m026", Local0)
+ SRMT(Local0)
+ m026(Local0)
+
+ // LOr
+ Concatenate(arg0, "-m028", Local0)
+ SRMT(Local0)
+ m028(Local0)
+ Concatenate(arg0, "-m029", Local0)
+ SRMT(Local0)
+ m029(Local0)
+ }
+
+ Method(m32e, 1)
+ {
+ // LAnd
+ Concatenate(arg0, "-m025", Local0)
+ SRMT(Local0)
+ m025(Local0)
+ Concatenate(arg0, "-m027", Local0)
+ SRMT(Local0)
+ m027(Local0)
+
+ // LOr
+ Concatenate(arg0, "-m028", Local0)
+ SRMT(Local0)
+ m028(Local0)
+ Concatenate(arg0, "-m02a", Local0)
+ SRMT(Local0)
+ m02a(Local0)
+ }
+
+
+ // String to Integer conversion of the String second operand of
+ // Logical operators when the first operand is evaluated as Integer
+ // (LEqual, LGreater, LGreaterEqual, LLess, LLessEqual, LNotEqual)
+
+ Method(m64f, 1)
+ {
+ // LEqual
+
+ Store(LEqual(0xfe7cb391d650a284, "FE7CB391D650A284"), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual(0xfe7cb391d650a285, "FE7CB391D650A284"), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(0xfe7cb391d650a283, "FE7CB391D650A284"), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LEqual(aui4, "FE7CB391D650A284"), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ Store(LEqual(auid, "FE7CB391D650A284"), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LEqual(auif, "FE7CB391D650A284"), Local0)
+ m600(arg0, 5, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aui4)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(auid)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ Store(LEqual(Derefof(Refof(auif)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 8, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paui, 4)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paui, 13)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LEqual(Derefof(Index(paui, 15)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 11, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LEqual(m601(1, 4), "FE7CB391D650A284"), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(LEqual(m601(1, 13), "FE7CB391D650A284"), Local0)
+ m600(arg0, 13, Local0, Zero)
+
+ Store(LEqual(m601(1, 15), "FE7CB391D650A284"), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(1, 4, 1)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(1, 13, 1)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LEqual(Derefof(m602(1, 15, 1)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 17, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater(0xfe7cb391d650a284, "FE7CB391D650A284"), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(0xfe7cb391d650a285, "FE7CB391D650A284"), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ Store(LGreater(0xfe7cb391d650a283, "FE7CB391D650A284"), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(aui4, "FE7CB391D650A284"), Local0)
+ m600(arg0, 21, Local0, Zero)
+
+ Store(LGreater(auid, "FE7CB391D650A284"), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(LGreater(auif, "FE7CB391D650A284"), Local0)
+ m600(arg0, 23, Local0, Zero)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aui4)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(auid)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 25, Local0, Ones)
+
+ Store(LGreater(Derefof(Refof(auif)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 26, Local0, Zero)
+ }
+
+ Store(LGreater(Derefof(Index(paui, 4)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 27, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paui, 13)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 28, Local0, Ones)
+
+ Store(LGreater(Derefof(Index(paui, 15)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 29, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreater(m601(1, 4), "FE7CB391D650A284"), Local0)
+ m600(arg0, 30, Local0, Zero)
+
+ Store(LGreater(m601(1, 13), "FE7CB391D650A284"), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ Store(LGreater(m601(1, 15), "FE7CB391D650A284"), Local0)
+ m600(arg0, 32, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(1, 4, 1)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 33, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(1, 13, 1)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreater(Derefof(m602(1, 15, 1)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 35, Local0, Zero)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual(0xfe7cb391d650a284, "FE7CB391D650A284"), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(0xfe7cb391d650a285, "FE7CB391D650A284"), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ Store(LGreaterEqual(0xfe7cb391d650a283, "FE7CB391D650A284"), Local0)
+ m600(arg0, 38, Local0, Zero)
+
+ Store(LGreaterEqual(aui4, "FE7CB391D650A284"), Local0)
+ m600(arg0, 39, Local0, Ones)
+
+ Store(LGreaterEqual(auid, "FE7CB391D650A284"), Local0)
+ m600(arg0, 40, Local0, Ones)
+
+ Store(LGreaterEqual(auif, "FE7CB391D650A284"), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aui4)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auid)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 43, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auif)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 44, Local0, Zero)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paui, 4)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 45, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 13)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 46, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 15)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 47, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreaterEqual(m601(1, 4), "FE7CB391D650A284"), Local0)
+ m600(arg0, 48, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 13), "FE7CB391D650A284"), Local0)
+ m600(arg0, 49, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 15), "FE7CB391D650A284"), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(1, 4, 1)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 51, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 13, 1)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 52, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 15, 1)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLess
+
+ Store(LLess(0xfe7cb391d650a284, "FE7CB391D650A284"), Local0)
+ m600(arg0, 54, Local0, Zero)
+
+ Store(LLess(0xfe7cb391d650a285, "FE7CB391D650A284"), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLess(0xfe7cb391d650a283, "FE7CB391D650A284"), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLess(aui4, "FE7CB391D650A284"), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLess(auid, "FE7CB391D650A284"), Local0)
+ m600(arg0, 58, Local0, Zero)
+
+ Store(LLess(auif, "FE7CB391D650A284"), Local0)
+ m600(arg0, 59, Local0, Ones)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aui4)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 60, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auid)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 61, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auif)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 62, Local0, Ones)
+ }
+
+ Store(LLess(Derefof(Index(paui, 4)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 13)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 64, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 15)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 65, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLess(m601(1, 4), "FE7CB391D650A284"), Local0)
+ m600(arg0, 66, Local0, Zero)
+
+ Store(LLess(m601(1, 13), "FE7CB391D650A284"), Local0)
+ m600(arg0, 67, Local0, Zero)
+
+ Store(LLess(m601(1, 15), "FE7CB391D650A284"), Local0)
+ m600(arg0, 68, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLess(Derefof(m602(1, 4, 1)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 69, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 13, 1)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 70, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 15, 1)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 71, Local0, Ones)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual(0xfe7cb391d650a284, "FE7CB391D650A284"), Local0)
+ m600(arg0, 72, Local0, Ones)
+
+ Store(LLessEqual(0xfe7cb391d650a285, "FE7CB391D650A284"), Local0)
+ m600(arg0, 73, Local0, Zero)
+
+ Store(LLessEqual(0xfe7cb391d650a283, "FE7CB391D650A284"), Local0)
+ m600(arg0, 74, Local0, Ones)
+
+ Store(LLessEqual(aui4, "FE7CB391D650A284"), Local0)
+ m600(arg0, 75, Local0, Ones)
+
+ Store(LLessEqual(auid, "FE7CB391D650A284"), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LLessEqual(auif, "FE7CB391D650A284"), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aui4)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 78, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(auid)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 79, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Refof(auif)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 80, Local0, Ones)
+ }
+
+ Store(LLessEqual(Derefof(Index(paui, 4)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 81, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paui, 13)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 82, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Index(paui, 15)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 83, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLessEqual(m601(1, 4), "FE7CB391D650A284"), Local0)
+ m600(arg0, 84, Local0, Ones)
+
+ Store(LLessEqual(m601(1, 13), "FE7CB391D650A284"), Local0)
+ m600(arg0, 85, Local0, Zero)
+
+ Store(LLessEqual(m601(1, 15), "FE7CB391D650A284"), Local0)
+ m600(arg0, 86, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(1, 4, 1)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 87, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(1, 13, 1)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 88, Local0, Zero)
+
+ Store(LLessEqual(Derefof(m602(1, 15, 1)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 89, Local0, Ones)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual(0xfe7cb391d650a284, "FE7CB391D650A284"), Local0)
+ m600(arg0, 90, Local0, Zero)
+
+ Store(LNotEqual(0xfe7cb391d650a285, "FE7CB391D650A284"), Local0)
+ m600(arg0, 91, Local0, Ones)
+
+ Store(LNotEqual(0xfe7cb391d650a283, "FE7CB391D650A284"), Local0)
+ m600(arg0, 92, Local0, Ones)
+
+ Store(LNotEqual(aui4, "FE7CB391D650A284"), Local0)
+ m600(arg0, 93, Local0, Zero)
+
+ Store(LNotEqual(auid, "FE7CB391D650A284"), Local0)
+ m600(arg0, 94, Local0, Ones)
+
+ Store(LNotEqual(auif, "FE7CB391D650A284"), Local0)
+ m600(arg0, 95, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aui4)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 96, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(auid)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 97, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Refof(auif)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 98, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paui, 4)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 99, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paui, 13)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 100, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Index(paui, 15)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 101, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LNotEqual(m601(1, 4), "FE7CB391D650A284"), Local0)
+ m600(arg0, 102, Local0, Zero)
+
+ Store(LNotEqual(m601(1, 13), "FE7CB391D650A284"), Local0)
+ m600(arg0, 103, Local0, Ones)
+
+ Store(LNotEqual(m601(1, 15), "FE7CB391D650A284"), Local0)
+ m600(arg0, 104, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(1, 4, 1)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 105, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(1, 13, 1)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 106, Local0, Ones)
+
+ Store(LNotEqual(Derefof(m602(1, 15, 1)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 107, Local0, Ones)
+ }
+ }
+
+ Method(m32f, 1)
+ {
+ // LEqual
+
+ Store(LEqual(0xc179b3fe, "C179B3FE"), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual(0xc179b3ff, "C179B3FE"), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(0xc179b3fd, "C179B3FE"), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LEqual(aui3, "C179B3FE"), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ Store(LEqual(auic, "C179B3FE"), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LEqual(auie, "C179B3FE"), Local0)
+ m600(arg0, 5, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aui3)), "C179B3FE"), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(auic)), "C179B3FE"), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ Store(LEqual(Derefof(Refof(auie)), "C179B3FE"), Local0)
+ m600(arg0, 8, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paui, 3)), "C179B3FE"), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paui, 12)), "C179B3FE"), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LEqual(Derefof(Index(paui, 14)), "C179B3FE"), Local0)
+ m600(arg0, 11, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LEqual(m601(1, 3), "C179B3FE"), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(LEqual(m601(1, 12), "C179B3FE"), Local0)
+ m600(arg0, 13, Local0, Zero)
+
+ Store(LEqual(m601(1, 14), "C179B3FE"), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(1, 3, 1)), "C179B3FE"), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(1, 12, 1)), "C179B3FE"), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LEqual(Derefof(m602(1, 14, 1)), "C179B3FE"), Local0)
+ m600(arg0, 17, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater(0xc179b3fe, "C179B3FE"), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(0xc179b3ff, "C179B3FE"), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ Store(LGreater(0xc179b3fd, "C179B3FE"), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(aui3, "C179B3FE"), Local0)
+ m600(arg0, 21, Local0, Zero)
+
+ Store(LGreater(auic, "C179B3FE"), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(LGreater(auie, "C179B3FE"), Local0)
+ m600(arg0, 23, Local0, Zero)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aui3)), "C179B3FE"), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(auic)), "C179B3FE"), Local0)
+ m600(arg0, 25, Local0, Ones)
+
+ Store(LGreater(Derefof(Refof(auie)), "C179B3FE"), Local0)
+ m600(arg0, 26, Local0, Zero)
+ }
+
+ Store(LGreater(Derefof(Index(paui, 3)), "C179B3FE"), Local0)
+ m600(arg0, 27, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paui, 12)), "C179B3FE"), Local0)
+ m600(arg0, 28, Local0, Ones)
+
+ Store(LGreater(Derefof(Index(paui, 14)), "C179B3FE"), Local0)
+ m600(arg0, 29, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreater(m601(1, 3), "C179B3FE"), Local0)
+ m600(arg0, 30, Local0, Zero)
+
+ Store(LGreater(m601(1, 12), "C179B3FE"), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ Store(LGreater(m601(1, 14), "C179B3FE"), Local0)
+ m600(arg0, 32, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(1, 3, 1)), "C179B3FE"), Local0)
+ m600(arg0, 33, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(1, 12, 1)), "C179B3FE"), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreater(Derefof(m602(1, 14, 1)), "C179B3FE"), Local0)
+ m600(arg0, 35, Local0, Zero)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual(0xc179b3fe, "C179B3FE"), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(0xc179b3ff, "C179B3FE"), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ Store(LGreaterEqual(0xc179b3fd, "C179B3FE"), Local0)
+ m600(arg0, 38, Local0, Zero)
+
+ Store(LGreaterEqual(aui3, "C179B3FE"), Local0)
+ m600(arg0, 39, Local0, Ones)
+
+ Store(LGreaterEqual(auic, "C179B3FE"), Local0)
+ m600(arg0, 40, Local0, Ones)
+
+ Store(LGreaterEqual(auie, "C179B3FE"), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aui3)), "C179B3FE"), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auic)), "C179B3FE"), Local0)
+ m600(arg0, 43, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auie)), "C179B3FE"), Local0)
+ m600(arg0, 44, Local0, Zero)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paui, 3)), "C179B3FE"), Local0)
+ m600(arg0, 45, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 12)), "C179B3FE"), Local0)
+ m600(arg0, 46, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 14)), "C179B3FE"), Local0)
+ m600(arg0, 47, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreaterEqual(m601(1, 3), "C179B3FE"), Local0)
+ m600(arg0, 48, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 12), "C179B3FE"), Local0)
+ m600(arg0, 49, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 14), "C179B3FE"), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(1, 3, 1)), "C179B3FE"), Local0)
+ m600(arg0, 51, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 12, 1)), "C179B3FE"), Local0)
+ m600(arg0, 52, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 14, 1)), "C179B3FE"), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLess
+
+ Store(LLess(0xc179b3fe, "C179B3FE"), Local0)
+ m600(arg0, 54, Local0, Zero)
+
+ Store(LLess(0xc179b3ff, "C179B3FE"), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLess(0xc179b3fd, "C179B3FE"), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLess(aui3, "C179B3FE"), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLess(auic, "C179B3FE"), Local0)
+ m600(arg0, 58, Local0, Zero)
+
+ Store(LLess(auie, "C179B3FE"), Local0)
+ m600(arg0, 59, Local0, Ones)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aui3)), "C179B3FE"), Local0)
+ m600(arg0, 60, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auic)), "C179B3FE"), Local0)
+ m600(arg0, 61, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auie)), "C179B3FE"), Local0)
+ m600(arg0, 62, Local0, Ones)
+ }
+
+ Store(LLess(Derefof(Index(paui, 3)), "C179B3FE"), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 12)), "C179B3FE"), Local0)
+ m600(arg0, 64, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 14)), "C179B3FE"), Local0)
+ m600(arg0, 65, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLess(m601(1, 3), "C179B3FE"), Local0)
+ m600(arg0, 66, Local0, Zero)
+
+ Store(LLess(m601(1, 12), "C179B3FE"), Local0)
+ m600(arg0, 67, Local0, Zero)
+
+ Store(LLess(m601(1, 14), "C179B3FE"), Local0)
+ m600(arg0, 68, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLess(Derefof(m602(1, 3, 1)), "C179B3FE"), Local0)
+ m600(arg0, 69, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 12, 1)), "C179B3FE"), Local0)
+ m600(arg0, 70, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 14, 1)), "C179B3FE"), Local0)
+ m600(arg0, 71, Local0, Ones)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual(0xc179b3fe, "C179B3FE"), Local0)
+ m600(arg0, 72, Local0, Ones)
+
+ Store(LLessEqual(0xc179b3ff, "C179B3FE"), Local0)
+ m600(arg0, 73, Local0, Zero)
+
+ Store(LLessEqual(0xc179b3fd, "C179B3FE"), Local0)
+ m600(arg0, 74, Local0, Ones)
+
+ Store(LLessEqual(aui3, "C179B3FE"), Local0)
+ m600(arg0, 75, Local0, Ones)
+
+ Store(LLessEqual(auic, "C179B3FE"), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LLessEqual(auie, "C179B3FE"), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aui3)), "C179B3FE"), Local0)
+ m600(arg0, 78, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(auic)), "C179B3FE"), Local0)
+ m600(arg0, 79, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Refof(auie)), "C179B3FE"), Local0)
+ m600(arg0, 80, Local0, Ones)
+ }
+
+ Store(LLessEqual(Derefof(Index(paui, 3)), "C179B3FE"), Local0)
+ m600(arg0, 81, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paui, 12)), "C179B3FE"), Local0)
+ m600(arg0, 82, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Index(paui, 14)), "C179B3FE"), Local0)
+ m600(arg0, 83, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLessEqual(m601(1, 3), "C179B3FE"), Local0)
+ m600(arg0, 84, Local0, Ones)
+
+ Store(LLessEqual(m601(1, 12), "C179B3FE"), Local0)
+ m600(arg0, 85, Local0, Zero)
+
+ Store(LLessEqual(m601(1, 14), "C179B3FE"), Local0)
+ m600(arg0, 86, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(1, 3, 1)), "C179B3FE"), Local0)
+ m600(arg0, 87, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(1, 12, 1)), "C179B3FE"), Local0)
+ m600(arg0, 88, Local0, Zero)
+
+ Store(LLessEqual(Derefof(m602(1, 14, 1)), "C179B3FE"), Local0)
+ m600(arg0, 89, Local0, Ones)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual(0xc179b3fe, "C179B3FE"), Local0)
+ m600(arg0, 90, Local0, Zero)
+
+ Store(LNotEqual(0xc179b3ff, "C179B3FE"), Local0)
+ m600(arg0, 91, Local0, Ones)
+
+ Store(LNotEqual(0xc179b3fd, "C179B3FE"), Local0)
+ m600(arg0, 92, Local0, Ones)
+
+ Store(LNotEqual(aui3, "C179B3FE"), Local0)
+ m600(arg0, 93, Local0, Zero)
+
+ Store(LNotEqual(auic, "C179B3FE"), Local0)
+ m600(arg0, 94, Local0, Ones)
+
+ Store(LNotEqual(auie, "C179B3FE"), Local0)
+ m600(arg0, 95, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aui3)), "C179B3FE"), Local0)
+ m600(arg0, 96, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(auic)), "C179B3FE"), Local0)
+ m600(arg0, 97, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Refof(auie)), "C179B3FE"), Local0)
+ m600(arg0, 98, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paui, 3)), "C179B3FE"), Local0)
+ m600(arg0, 99, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paui, 12)), "C179B3FE"), Local0)
+ m600(arg0, 100, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Index(paui, 14)), "C179B3FE"), Local0)
+ m600(arg0, 101, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LNotEqual(m601(1, 3), "C179B3FE"), Local0)
+ m600(arg0, 102, Local0, Zero)
+
+ Store(LNotEqual(m601(1, 12), "C179B3FE"), Local0)
+ m600(arg0, 103, Local0, Ones)
+
+ Store(LNotEqual(m601(1, 14), "C179B3FE"), Local0)
+ m600(arg0, 104, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(1, 3, 1)), "C179B3FE"), Local0)
+ m600(arg0, 105, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(1, 12, 1)), "C179B3FE"), Local0)
+ m600(arg0, 106, Local0, Ones)
+
+ Store(LNotEqual(Derefof(m602(1, 14, 1)), "C179B3FE"), Local0)
+ m600(arg0, 107, Local0, Ones)
+ }
+ }
+
+ Method(m02b, 1)
+ {
+ // LEqual
+
+ Store(LEqual(0x321, "0321"), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual(0x322, "0321"), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(0x320, "0321"), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LEqual(aui1, "0321"), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ Store(LEqual(auig, "0321"), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LEqual(auih, "0321"), Local0)
+ m600(arg0, 5, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aui1)), "0321"), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(auig)), "0321"), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ Store(LEqual(Derefof(Refof(auih)), "0321"), Local0)
+ m600(arg0, 8, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paui, 1)), "0321"), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paui, 16)), "0321"), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LEqual(Derefof(Index(paui, 17)), "0321"), Local0)
+ m600(arg0, 11, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LEqual(m601(1, 1), "0321"), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(LEqual(m601(1, 16), "0321"), Local0)
+ m600(arg0, 13, Local0, Zero)
+
+ Store(LEqual(m601(1, 17), "0321"), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(1, 1, 1)), "0321"), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(1, 16, 1)), "0321"), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LEqual(Derefof(m602(1, 17, 1)), "0321"), Local0)
+ m600(arg0, 17, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater(0x321, "0321"), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(0x322, "0321"), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ Store(LGreater(0x320, "0321"), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(aui1, "0321"), Local0)
+ m600(arg0, 21, Local0, Zero)
+
+ Store(LGreater(auig, "0321"), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(LGreater(auih, "0321"), Local0)
+ m600(arg0, 23, Local0, Zero)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aui1)), "0321"), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(auig)), "0321"), Local0)
+ m600(arg0, 25, Local0, Ones)
+
+ Store(LGreater(Derefof(Refof(auih)), "0321"), Local0)
+ m600(arg0, 26, Local0, Zero)
+ }
+
+ Store(LGreater(Derefof(Index(paui, 1)), "0321"), Local0)
+ m600(arg0, 27, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paui, 16)), "0321"), Local0)
+ m600(arg0, 28, Local0, Ones)
+
+ Store(LGreater(Derefof(Index(paui, 17)), "0321"), Local0)
+ m600(arg0, 29, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreater(m601(1, 1), "0321"), Local0)
+ m600(arg0, 30, Local0, Zero)
+
+ Store(LGreater(m601(1, 16), "0321"), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ Store(LGreater(m601(1, 17), "0321"), Local0)
+ m600(arg0, 32, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(1, 1, 1)), "0321"), Local0)
+ m600(arg0, 33, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(1, 16, 1)), "0321"), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreater(Derefof(m602(1, 17, 1)), "0321"), Local0)
+ m600(arg0, 35, Local0, Zero)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual(0x321, "0321"), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(0x322, "0321"), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ Store(LGreaterEqual(0x320, "0321"), Local0)
+ m600(arg0, 38, Local0, Zero)
+
+ Store(LGreaterEqual(aui1, "0321"), Local0)
+ m600(arg0, 39, Local0, Ones)
+
+ Store(LGreaterEqual(auig, "0321"), Local0)
+ m600(arg0, 40, Local0, Ones)
+
+ Store(LGreaterEqual(auih, "0321"), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aui1)), "0321"), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auig)), "0321"), Local0)
+ m600(arg0, 43, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auih)), "0321"), Local0)
+ m600(arg0, 44, Local0, Zero)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paui, 1)), "0321"), Local0)
+ m600(arg0, 45, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 16)), "0321"), Local0)
+ m600(arg0, 46, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 17)), "0321"), Local0)
+ m600(arg0, 47, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreaterEqual(m601(1, 1), "0321"), Local0)
+ m600(arg0, 48, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 16), "0321"), Local0)
+ m600(arg0, 49, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 17), "0321"), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(1, 1, 1)), "0321"), Local0)
+ m600(arg0, 51, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 16, 1)), "0321"), Local0)
+ m600(arg0, 52, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 17, 1)), "0321"), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLess
+
+ Store(LLess(0x321, "0321"), Local0)
+ m600(arg0, 54, Local0, Zero)
+
+ Store(LLess(0x322, "0321"), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLess(0x320, "0321"), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLess(aui1, "0321"), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLess(auig, "0321"), Local0)
+ m600(arg0, 58, Local0, Zero)
+
+ Store(LLess(auih, "0321"), Local0)
+ m600(arg0, 59, Local0, Ones)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aui1)), "0321"), Local0)
+ m600(arg0, 60, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auig)), "0321"), Local0)
+ m600(arg0, 61, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auih)), "0321"), Local0)
+ m600(arg0, 62, Local0, Ones)
+ }
+
+ Store(LLess(Derefof(Index(paui, 1)), "0321"), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 16)), "0321"), Local0)
+ m600(arg0, 64, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 17)), "0321"), Local0)
+ m600(arg0, 65, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLess(m601(1, 1), "0321"), Local0)
+ m600(arg0, 66, Local0, Zero)
+
+ Store(LLess(m601(1, 16), "0321"), Local0)
+ m600(arg0, 67, Local0, Zero)
+
+ Store(LLess(m601(1, 17), "0321"), Local0)
+ m600(arg0, 68, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLess(Derefof(m602(1, 1, 1)), "0321"), Local0)
+ m600(arg0, 69, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 16, 1)), "0321"), Local0)
+ m600(arg0, 70, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 17, 1)), "0321"), Local0)
+ m600(arg0, 71, Local0, Ones)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual(0x321, "0321"), Local0)
+ m600(arg0, 72, Local0, Ones)
+
+ Store(LLessEqual(0x322, "0321"), Local0)
+ m600(arg0, 73, Local0, Zero)
+
+ Store(LLessEqual(0x320, "0321"), Local0)
+ m600(arg0, 74, Local0, Ones)
+
+ Store(LLessEqual(aui1, "0321"), Local0)
+ m600(arg0, 75, Local0, Ones)
+
+ Store(LLessEqual(auig, "0321"), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LLessEqual(auih, "0321"), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aui1)), "0321"), Local0)
+ m600(arg0, 78, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(auig)), "0321"), Local0)
+ m600(arg0, 79, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Refof(auih)), "0321"), Local0)
+ m600(arg0, 80, Local0, Ones)
+ }
+
+ Store(LLessEqual(Derefof(Index(paui, 1)), "0321"), Local0)
+ m600(arg0, 81, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paui, 16)), "0321"), Local0)
+ m600(arg0, 82, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Index(paui, 17)), "0321"), Local0)
+ m600(arg0, 83, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLessEqual(m601(1, 1), "0321"), Local0)
+ m600(arg0, 84, Local0, Ones)
+
+ Store(LLessEqual(m601(1, 16), "0321"), Local0)
+ m600(arg0, 85, Local0, Zero)
+
+ Store(LLessEqual(m601(1, 17), "0321"), Local0)
+ m600(arg0, 86, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(1, 1, 1)), "0321"), Local0)
+ m600(arg0, 87, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(1, 16, 1)), "0321"), Local0)
+ m600(arg0, 88, Local0, Zero)
+
+ Store(LLessEqual(Derefof(m602(1, 17, 1)), "0321"), Local0)
+ m600(arg0, 89, Local0, Ones)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual(0x321, "0321"), Local0)
+ m600(arg0, 90, Local0, Zero)
+
+ Store(LNotEqual(0x322, "0321"), Local0)
+ m600(arg0, 91, Local0, Ones)
+
+ Store(LNotEqual(0x320, "0321"), Local0)
+ m600(arg0, 92, Local0, Ones)
+
+ Store(LNotEqual(aui1, "0321"), Local0)
+ m600(arg0, 93, Local0, Zero)
+
+ Store(LNotEqual(auig, "0321"), Local0)
+ m600(arg0, 94, Local0, Ones)
+
+ Store(LNotEqual(auih, "0321"), Local0)
+ m600(arg0, 95, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aui1)), "0321"), Local0)
+ m600(arg0, 96, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(auig)), "0321"), Local0)
+ m600(arg0, 97, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Refof(auih)), "0321"), Local0)
+ m600(arg0, 98, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paui, 1)), "0321"), Local0)
+ m600(arg0, 99, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paui, 16)), "0321"), Local0)
+ m600(arg0, 100, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Index(paui, 17)), "0321"), Local0)
+ m600(arg0, 101, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LNotEqual(m601(1, 1), "0321"), Local0)
+ m600(arg0, 102, Local0, Zero)
+
+ Store(LNotEqual(m601(1, 16), "0321"), Local0)
+ m600(arg0, 103, Local0, Ones)
+
+ Store(LNotEqual(m601(1, 17), "0321"), Local0)
+ m600(arg0, 104, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(1, 1, 1)), "0321"), Local0)
+ m600(arg0, 105, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(1, 16, 1)), "0321"), Local0)
+ m600(arg0, 106, Local0, Ones)
+
+ Store(LNotEqual(Derefof(m602(1, 17, 1)), "0321"), Local0)
+ m600(arg0, 107, Local0, Ones)
+ }
+ }
+
+ // String to Integer intermediate conversion of the String second
+ // operand of Concatenate operator in case the first one is Integer
+
+ Method(m64g, 1)
+ {
+ Store(Concatenate(0x321, "0321"), Local0)
+ m600(arg0, 0, Local0, bb26)
+
+ Store(Concatenate(0x321, "FE7CB391D650A284"), Local0)
+ m600(arg0, 1, Local0, bb21)
+
+
+ Store(Concatenate(aui1, "0321"), Local0)
+ m600(arg0, 2, Local0, bb26)
+
+ Store(Concatenate(aui1, "FE7CB391D650A284"), Local0)
+ m600(arg0, 3, Local0, bb21)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aui1)), "0321"), Local0)
+ m600(arg0, 4, Local0, bb26)
+
+ Store(Concatenate(Derefof(Refof(aui1)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 5, Local0, bb21)
+ }
+
+ Store(Concatenate(Derefof(Index(paui, 1)), "0321"), Local0)
+ m600(arg0, 6, Local0, bb26)
+
+ Store(Concatenate(Derefof(Index(paui, 1)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 7, Local0, bb21)
+
+ // Method returns Integer
+
+ Store(Concatenate(m601(1, 1), "0321"), Local0)
+ m600(arg0, 8, Local0, bb26)
+
+ Store(Concatenate(m601(1, 1), "FE7CB391D650A284"), Local0)
+ m600(arg0, 9, Local0, bb21)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(1, 1, 1)), "0321"), Local0)
+ m600(arg0, 10, Local0, bb26)
+
+ Store(Concatenate(Derefof(m602(1, 1, 1)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 11, Local0, bb21)
+ }
+
+ Concatenate(0x321, "0321", Local0)
+ m600(arg0, 12, Local0, bb26)
+
+ Concatenate(0x321, "FE7CB391D650A284", Local0)
+ m600(arg0, 13, Local0, bb21)
+
+
+ Concatenate(aui1, "0321", Local0)
+ m600(arg0, 14, Local0, bb26)
+
+ Concatenate(aui1, "FE7CB391D650A284", Local0)
+ m600(arg0, 15, Local0, bb21)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aui1)), "0321", Local0)
+ m600(arg0, 16, Local0, bb26)
+
+ Concatenate(Derefof(Refof(aui1)), "FE7CB391D650A284", Local0)
+ m600(arg0, 17, Local0, bb21)
+ }
+
+ Concatenate(Derefof(Index(paui, 1)), "0321", Local0)
+ m600(arg0, 18, Local0, bb26)
+
+ Concatenate(Derefof(Index(paui, 1)), "FE7CB391D650A284", Local0)
+ m600(arg0, 19, Local0, bb21)
+
+ // Method returns Integer
+
+ Concatenate(m601(1, 1), "0321", Local0)
+ m600(arg0, 20, Local0, bb26)
+
+ Concatenate(m601(1, 1), "FE7CB391D650A284", Local0)
+ m600(arg0, 21, Local0, bb21)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Concatenate(Derefof(m602(1, 1, 1)), "0321", Local0)
+ m600(arg0, 22, Local0, bb26)
+
+ Concatenate(Derefof(m602(1, 1, 1)), "FE7CB391D650A284", Local0)
+ m600(arg0, 23, Local0, bb21)
+ }
+ }
+
+ Method(m32g, 1)
+ {
+ Store(Concatenate(0x321, "0321"), Local0)
+ m600(arg0, 0, Local0, bb27)
+
+ Store(Concatenate(0x321, "C179B3FE"), Local0)
+ m600(arg0, 1, Local0, bb24)
+
+
+ Store(Concatenate(aui1, "0321"), Local0)
+ m600(arg0, 2, Local0, bb27)
+
+ Store(Concatenate(aui1, "C179B3FE"), Local0)
+ m600(arg0, 3, Local0, bb24)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aui1)), "0321"), Local0)
+ m600(arg0, 4, Local0, bb27)
+
+ Store(Concatenate(Derefof(Refof(aui1)), "C179B3FE"), Local0)
+ m600(arg0, 5, Local0, bb24)
+ }
+
+ Store(Concatenate(Derefof(Index(paui, 1)), "0321"), Local0)
+ m600(arg0, 6, Local0, bb27)
+
+ Store(Concatenate(Derefof(Index(paui, 1)), "C179B3FE"), Local0)
+ m600(arg0, 7, Local0, bb24)
+
+ // Method returns Integer
+
+ Store(Concatenate(m601(1, 1), "0321"), Local0)
+ m600(arg0, 8, Local0, bb27)
+
+ Store(Concatenate(m601(1, 1), "C179B3FE"), Local0)
+ m600(arg0, 9, Local0, bb24)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(1, 1, 1)), "0321"), Local0)
+ m600(arg0, 10, Local0, bb27)
+
+ Store(Concatenate(Derefof(m602(1, 1, 1)), "C179B3FE"), Local0)
+ m600(arg0, 11, Local0, bb24)
+ }
+
+ Concatenate(0x321, "0321", Local0)
+ m600(arg0, 12, Local0, bb27)
+
+ Concatenate(0x321, "C179B3FE", Local0)
+ m600(arg0, 13, Local0, bb24)
+
+
+ Concatenate(aui1, "0321", Local0)
+ m600(arg0, 14, Local0, bb27)
+
+ Concatenate(aui1, "C179B3FE", Local0)
+ m600(arg0, 15, Local0, bb24)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aui1)), "0321", Local0)
+ m600(arg0, 16, Local0, bb27)
+
+ Concatenate(Derefof(Refof(aui1)), "C179B3FE", Local0)
+ m600(arg0, 17, Local0, bb24)
+ }
+
+ Concatenate(Derefof(Index(paui, 1)), "0321", Local0)
+ m600(arg0, 18, Local0, bb27)
+
+ Concatenate(Derefof(Index(paui, 1)), "C179B3FE", Local0)
+ m600(arg0, 20, Local0, bb24)
+
+ // Method returns Integer
+
+ Concatenate(m601(1, 1), "0321", Local0)
+ m600(arg0, 21, Local0, bb27)
+
+ Concatenate(m601(1, 1), "C179B3FE", Local0)
+ m600(arg0, 22, Local0, bb24)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Concatenate(Derefof(m602(1, 1, 1)), "0321", Local0)
+ m600(arg0, 23, Local0, bb27)
+
+ Concatenate(Derefof(m602(1, 1, 1)), "C179B3FE", Local0)
+ m600(arg0, 24, Local0, bb24)
+ }
+ }
+
+ // String to Integer conversion of the String Length (second)
+ // operand of the ToString operator
+
+ // Common 32-bit/64-bit test
+ Method(m02c, 1)
+ {
+ Store(ToString(Buffer() {"This is auxiliary Buffer"},
+ "B"), Local0)
+ m600(arg0, 0, Local0, bs1b)
+
+ Store(ToString(Buffer() {"This is auxiliary Buffer"},
+ "0321"), Local0)
+ m600(arg0, 1, Local0, bs1c)
+
+ Store(ToString(aub6, "B"), Local0)
+ m600(arg0, 2, Local0, bs1b)
+
+ Store(ToString(aub6, "0321"), Local0)
+ m600(arg0, 3, Local0, bs1c)
+
+ if (y078) {
+ Store(ToString(Derefof(Refof(aub6)), "B"), Local0)
+ m600(arg0, 4, Local0, bs1b)
+
+ Store(ToString(Derefof(Refof(aub6)), "0321"), Local0)
+ m600(arg0, 5, Local0, bs1c)
+ }
+
+ Store(ToString(Derefof(Index(paub, 6)), "B"), Local0)
+ m600(arg0, 6, Local0, bs1b)
+
+ Store(ToString(Derefof(Index(paub, 6)), "0321"), Local0)
+ m600(arg0, 7, Local0, bs1c)
+
+ // Method returns Buffer
+
+ Store(ToString(m601(3, 6), "B"), Local0)
+ m600(arg0, 8, Local0, bs1b)
+
+ Store(ToString(m601(3, 6), "0321"), Local0)
+ m600(arg0, 9, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(ToString(Derefof(m602(3, 6, 1)), "B"), Local0)
+ m600(arg0, 10, Local0, bs1b)
+
+ Store(ToString(Derefof(m602(3, 6, 1)), "0321"), Local0)
+ m600(arg0, 11, Local0, bs1c)
+ }
+
+ ToString(Buffer() {"This is auxiliary Buffer"},
+ "B", Local0)
+ m600(arg0, 12, Local0, bs1b)
+
+ ToString(Buffer() {"This is auxiliary Buffer"},
+ "0321", Local0)
+ m600(arg0, 13, Local0, bs1c)
+
+ ToString(aub6, "B", Local0)
+ m600(arg0, 14, Local0, bs1b)
+
+ ToString(aub6, "0321", Local0)
+ m600(arg0, 15, Local0, bs1c)
+
+ if (y078) {
+ ToString(Derefof(Refof(aub6)), "B", Local0)
+ m600(arg0, 16, Local0, bs1b)
+
+ ToString(Derefof(Refof(aub6)), "0321", Local0)
+ m600(arg0, 17, Local0, bs1c)
+ }
+
+ ToString(Derefof(Index(paub, 6)), "B", Local0)
+ m600(arg0, 18, Local0, bs1b)
+
+ ToString(Derefof(Index(paub, 6)), "0321", Local0)
+ m600(arg0, 19, Local0, bs1c)
+
+ // Method returns Buffer
+
+ ToString(m601(3, 6), "B", Local0)
+ m600(arg0, 20, Local0, bs1b)
+
+ ToString(m601(3, 6), "0321", Local0)
+ m600(arg0, 21, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ ToString(Derefof(m602(3, 6, 1)), "B", Local0)
+ m600(arg0, 22, Local0, bs1b)
+
+ ToString(Derefof(m602(3, 6, 1)), "0321", Local0)
+ m600(arg0, 23, Local0, bs1c)
+ }
+ }
+
+ Method(m64h, 1)
+ {
+ Store(ToString(Buffer() {"This is auxiliary Buffer"},
+ "FE7CB391D650A284"), Local0)
+ m600(arg0, 0, Local0, bs1c)
+
+ Store(ToString(aub6, "FE7CB391D650A284"), Local0)
+ m600(arg0, 1, Local0, bs1c)
+
+ if (y078) {
+ Store(ToString(Derefof(Refof(aub6)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 2, Local0, bs1c)
+ }
+
+ Store(ToString(Derefof(Index(paub, 6)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 3, Local0, bs1c)
+
+ // Method returns Buffer
+
+ Store(ToString(m601(3, 6), "FE7CB391D650A284"), Local0)
+ m600(arg0, 4, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(ToString(Derefof(m602(3, 6, 1)), "FE7CB391D650A284"), Local0)
+ m600(arg0, 5, Local0, bs1c)
+ }
+
+ ToString(Buffer() {"This is auxiliary Buffer"},
+ "FE7CB391D650A284", Local0)
+ m600(arg0, 6, Local0, bs1c)
+
+ ToString(aub6, "FE7CB391D650A284", Local0)
+ m600(arg0, 7, Local0, bs1c)
+
+ if (y078) {
+ ToString(Derefof(Refof(aub6)), "FE7CB391D650A284", Local0)
+ m600(arg0, 8, Local0, bs1c)
+ }
+
+ ToString(Derefof(Index(paub, 6)), "FE7CB391D650A284", Local0)
+ m600(arg0, 9, Local0, bs1c)
+
+ // Method returns Buffer
+
+ ToString(m601(3, 6), "FE7CB391D650A284", Local0)
+ m600(arg0, 10, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ ToString(Derefof(m602(3, 6, 1)), "FE7CB391D650A284", Local0)
+ m600(arg0, 11, Local0, bs1c)
+ }
+ }
+
+ Method(m32h, 1)
+ {
+ Store(ToString(Buffer() {"This is auxiliary Buffer"},
+ "C179B3FE"), Local0)
+ m600(arg0, 0, Local0, bs1c)
+
+ Store(ToString(aub6, "C179B3FE"), Local0)
+ m600(arg0, 1, Local0, bs1c)
+
+ if (y078) {
+ Store(ToString(Derefof(Refof(aub6)), "C179B3FE"), Local0)
+ m600(arg0, 2, Local0, bs1c)
+ }
+
+ Store(ToString(Derefof(Index(paub, 6)), "C179B3FE"), Local0)
+ m600(arg0, 3, Local0, bs1c)
+
+ // Method returns Buffer
+
+ Store(ToString(m601(3, 6), "C179B3FE"), Local0)
+ m600(arg0, 4, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(ToString(Derefof(m602(3, 6, 1)), "C179B3FE"), Local0)
+ m600(arg0, 5, Local0, bs1c)
+ }
+
+ ToString(Buffer() {"This is auxiliary Buffer"},
+ "C179B3FE", Local0)
+ m600(arg0, 6, Local0, bs1c)
+
+ ToString(aub6, "C179B3FE", Local0)
+ m600(arg0, 7, Local0, bs1c)
+
+ if (y078) {
+ ToString(Derefof(Refof(aub6)), "C179B3FE", Local0)
+ m600(arg0, 8, Local0, bs1c)
+ }
+
+ ToString(Derefof(Index(paub, 6)), "C179B3FE", Local0)
+ m600(arg0, 9, Local0, bs1c)
+
+ // Method returns Buffer
+
+ ToString(m601(3, 6), "C179B3FE", Local0)
+ m600(arg0, 10, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ ToString(Derefof(m602(3, 6, 1)), "C179B3FE", Local0)
+ m600(arg0, 11, Local0, bs1c)
+ }
+ }
+
+ // String to Integer conversion of the String Index (second)
+ // operand of the Index operator
+ Method(m02d, 1)
+ {
+ Store(Index(aus6, "B"), Local0)
+ m600(arg0, 0, Derefof(Local0), bi10)
+
+ Store(Index(aub6, "B"), Local0)
+ m600(arg0, 1, Derefof(Local0), bi10)
+
+ Store(Index(aup0, "B"), Local0)
+ m600(arg0, 2, Derefof(Local0), bi11)
+
+ if (y078) {
+ Store(Index(Derefof(Refof(aus6)), "B"), Local0)
+ m600(arg0, 3, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Refof(aub6)), "B"), Local0)
+ m600(arg0, 4, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Refof(aup0)), "B"), Local0)
+ m600(arg0, 5, Derefof(Local0), bi11)
+ }
+
+ Store(Index(Derefof(Index(paus, 6)), "B"), Local0)
+ m600(arg0, 6, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Index(paub, 6)), "B"), Local0)
+ m600(arg0, 7, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Index(paup, 0)), "B"), Local0)
+ m600(arg0, 8, Derefof(Local0), bi11)
+
+
+ // Method returns Object
+
+ if (y900) {
+ Store(Index(m601(2, 6), "B"), Local0)
+ m600(arg0, 9, Derefof(Local0), bi10)
+
+ Store(Index(m601(3, 6), "B"), Local0)
+ m600(arg0, 10, Derefof(Local0), bi10)
+
+ Store(Index(m601(4, 0), "B"), Local0)
+ m600(arg0, 11, Derefof(Local0), bi11)
+ } else {
+
+ CH03(arg0, z085, 0, 0, 0)
+
+ Index(m601(2, 6), "B")
+ CH04(arg0, 0, 85, z085, 9, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+
+ Index(m601(3, 6), "B")
+ CH04(arg0, 0, 85, z085, 10, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+
+ Index(m601(4, 0), "B")
+ CH04(arg0, 0, 85, z085, 11, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+ }
+
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Index(Derefof(m602(2, 6, 1)), "B"), Local0)
+ m600(arg0, 12, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(m602(3, 6, 1)), "B"), Local0)
+ m600(arg0, 13, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(m602(4, 0, 1)), "B"), Local0)
+ m600(arg0, 14, Derefof(Local0), bi11)
+ }
+
+ Index(aus6, "B", Local0)
+ m600(arg0, 15, Derefof(Local0), bi10)
+
+ Index(aub6, "B", Local0)
+ m600(arg0, 16, Derefof(Local0), bi10)
+
+ Index(aup0, "B", Local0)
+ m600(arg0, 17, Derefof(Local0), bi11)
+
+ if (y078) {
+ Index(Derefof(Refof(aus6)), "B", Local0)
+ m600(arg0, 18, Derefof(Local0), bi10)
+
+ Index(Derefof(Refof(aub6)), "B", Local0)
+ m600(arg0, 19, Derefof(Local0), bi10)
+
+ Index(Derefof(Refof(aup0)), "B", Local0)
+ m600(arg0, 20, Derefof(Local0), bi11)
+ }
+
+ Index(Derefof(Index(paus, 6)), "B", Local0)
+ m600(arg0, 21, Derefof(Local0), bi10)
+
+ Index(Derefof(Index(paub, 6)), "B", Local0)
+ m600(arg0, 22, Derefof(Local0), bi10)
+
+ Index(Derefof(Index(paup, 0)), "B", Local0)
+ m600(arg0, 23, Derefof(Local0), bi11)
+
+
+ // Method returns Object
+
+ if (y900) {
+ Index(m601(2, 6), "B", Local0)
+ m600(arg0, 24, Derefof(Local0), bi10)
+
+ Index(m601(3, 6), "B", Local0)
+ m600(arg0, 25, Derefof(Local0), bi10)
+
+ Index(m601(4, 0), "B", Local0)
+ m600(arg0, 26, Derefof(Local0), bi11)
+ } else {
+
+ CH03(arg0, z085, 0, 0, 0)
+
+ Index(m601(2, 6), "B", Local0)
+ CH04(arg0, 0, 85, z085, 24, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+
+ Index(m601(3, 6), "B", Local0)
+ CH04(arg0, 0, 85, z085, 25, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+
+ Index(m601(4, 0), "B", Local0)
+ CH04(arg0, 0, 85, z085, 26, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+ }
+
+
+ // Method returns Reference
+
+ if (y500) {
+ Index(Derefof(m602(2, 6, 1)), "B", Local0)
+ m600(arg0, 27, Derefof(Local0), bi10)
+
+ Index(Derefof(m602(3, 6, 1)), "B", Local0)
+ m600(arg0, 28, Derefof(Local0), bi10)
+
+ Index(Derefof(m602(4, 0, 1)), "B", Local0)
+ m600(arg0, 29, Derefof(Local0), bi11)
+ }
+
+ if (y098) {
+ Store(Index(aus6, "B", Local1), Local0)
+ m600(arg0, 30, Derefof(Local0), bi10)
+
+ Store(Index(aub6, "B", Local1), Local0)
+ m600(arg0, 31, Derefof(Local0), bi10)
+
+ Store(Index(aup0, "B", Local1), Local0)
+ m600(arg0, 32, Derefof(Local0), bi11)
+ }
+
+ if (y078) {
+ Store(Index(Derefof(Refof(aus6)), "B", Local1), Local0)
+ m600(arg0, 33, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Refof(aub6)), "B", Local1), Local0)
+ m600(arg0, 34, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Refof(aup0)), "B", Local1), Local0)
+ m600(arg0, 35, Derefof(Local0), bi11)
+ }
+
+ if (y098) {
+ Store(Index(Derefof(Index(paus, 6)), "B", Local1), Local0)
+ m600(arg0, 36, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Index(paub, 6)), "B", Local1), Local0)
+ m600(arg0, 37, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Index(paup, 0)), "B", Local1), Local0)
+ m600(arg0, 38, Derefof(Local0), bi11)
+ }
+
+ // Method returns Object
+
+ if (LAnd(y900, y098)) {
+ Store(Index(m601(2, 6), "B", Local1), Local0)
+ m600(arg0, 39, Derefof(Local0), bi10)
+
+ Store(Index(m601(3, 6), "B", Local1), Local0)
+ m600(arg0, 40, Derefof(Local0), bi10)
+
+ Store(Index(m601(4, 0), "B", Local1), Local0)
+ m600(arg0, 41, Derefof(Local0), bi11)
+ }
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Index(Derefof(m602(2, 6, 1)), "B", Local1), Local0)
+ m600(arg0, 42, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(m602(3, 6, 1)), "B", Local1), Local0)
+ m600(arg0, 43, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(m602(4, 0, 1)), "B", Local1), Local0)
+ m600(arg0, 44, Derefof(Local0), bi11)
+ }
+ }
+
+ // String to Integer conversion of the String Arg (third)
+ // operand of the Fatal operator
+ // (it can only be checked an exception does not occur)
+ Method(m02e, 1)
+ {
+ CH03(arg0, z085, 0, 0, 0)
+ Fatal(0xff, 0xffffffff, "0321")
+ if (F64) {
+ Fatal(0xff, 0xffffffff, "FE7CB391D650A284")
+ } else {
+ Fatal(0xff, 0xffffffff, "C179B3FE")
+ }
+ CH03(arg0, z085, 1, 0, 0)
+ }
+
+ // String to Integer conversion of the String Index and Length
+ // operands of the Mid operator
+
+ // Common 32-bit/64-bit test
+ Method(m02f, 1)
+ {
+ // String to Integer conversion of the String Index operand
+
+ Store(Mid("This is auxiliary String", "B", 10), Local0)
+ m600(arg0, 0, Local0, bs1d)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, "B", 10), Local0)
+ m600(arg0, 1, Local0, bb32)
+
+ Store(Mid(aus6, "B", 10), Local0)
+ m600(arg0, 2, Local0, bs1d)
+
+ Store(Mid(aub6, "B", 10), Local0)
+ m600(arg0, 3, Local0, bb32)
+
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), "B", 10), Local0)
+ m600(arg0, 4, Local0, bs1d)
+
+ Store(Mid(Derefof(Refof(aub6)), "B", 10), Local0)
+ m600(arg0, 5, Local0, bb32)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), "B", 10), Local0)
+ m600(arg0, 6, Local0, bs1d)
+
+ Store(Mid(Derefof(Index(paub, 6)), "B", 10), Local0)
+ m600(arg0, 7, Local0, bb32)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), "B", 10), Local0)
+ m600(arg0, 8, Local0, bs1d)
+
+ Store(Mid(m601(3, 6), "B", 10), Local0)
+ m600(arg0, 9, Local0, bb32)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), "B", 10), Local0)
+ m600(arg0, 10, Local0, bs1d)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), "B", 10), Local0)
+ m600(arg0, 11, Local0, bb32)
+ }
+
+ Mid("This is auxiliary String", "B", 10, Local0)
+ m600(arg0, 12, Local0, bs1d)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, "B", 10, Local0)
+ m600(arg0, 13, Local0, bb32)
+
+ Mid(aus6, "B", 10, Local0)
+ m600(arg0, 14, Local0, bs1d)
+
+ Mid(aub6, "B", 10, Local0)
+ m600(arg0, 15, Local0, bb32)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), "B", 10, Local0)
+ m600(arg0, 16, Local0, bs1d)
+
+ Mid(Derefof(Refof(aub6)), "B", 10, Local0)
+ m600(arg0, 17, Local0, bb32)
+ }
+
+ Mid(Derefof(Index(paus, 6)), "B", 10, Local0)
+ m600(arg0, 18, Local0, bs1d)
+
+ Mid(Derefof(Index(paub, 6)), "B", 10, Local0)
+ m600(arg0, 19, Local0, bb32)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), "B", 10, Local0)
+ m600(arg0, 20, Local0, bs1d)
+
+ Mid(m601(3, 6), "B", 10, Local0)
+ m600(arg0, 21, Local0, bb32)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), "B", 10, Local0)
+ m600(arg0, 22, Local0, bs1d)
+
+ Mid(Derefof(m602(3, 6, 1)), "B", 10, Local0)
+ m600(arg0, 23, Local0, bb32)
+ }
+
+ // String to Integer conversion of the String Length operand
+
+ Store(Mid("This is auxiliary String", 0, "B"), Local0)
+ m600(arg0, 24, Local0, bs1b)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, 0, "B"), Local0)
+ m600(arg0, 25, Local0, bb33)
+
+ Store(Mid(aus6, 0, "B"), Local0)
+ m600(arg0, 26, Local0, bs1b)
+
+ Store(Mid(aub6, 0, "B"), Local0)
+ m600(arg0, 27, Local0, bb33)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), 0, "B"), Local0)
+ m600(arg0, 28, Local0, bs1b)
+
+ Store(Mid(Derefof(Refof(aub6)), 0, "B"), Local0)
+ m600(arg0, 29, Local0, bb33)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), 0, "B"), Local0)
+ m600(arg0, 30, Local0, bs1b)
+
+ Store(Mid(Derefof(Index(paub, 6)), 0, "B"), Local0)
+ m600(arg0, 31, Local0, bb33)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), 0, "B"), Local0)
+ m600(arg0, 32, Local0, bs1b)
+
+ Store(Mid(m601(3, 6), 0, "B"), Local0)
+ m600(arg0, 33, Local0, bb33)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), 0, "B"), Local0)
+ m600(arg0, 34, Local0, bs1b)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), 0, "B"), Local0)
+ m600(arg0, 35, Local0, bb33)
+ }
+
+ Mid("This is auxiliary String", 0, "B", Local0)
+ m600(arg0, 36, Local0, bs1b)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, 0, "B", Local0)
+ m600(arg0, 37, Local0, bb33)
+
+ Mid(aus6, 0, "B", Local0)
+ m600(arg0, 37, Local0, bs1b)
+
+ Mid(aub6, 0, "B", Local0)
+ m600(arg0, 39, Local0, bb33)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), 0, "B", Local0)
+ m600(arg0, 40, Local0, bs1b)
+
+ Mid(Derefof(Refof(aub6)), 0, "B", Local0)
+ m600(arg0, 41, Local0, bb33)
+ }
+
+ Mid(Derefof(Index(paus, 6)), 0, "B", Local0)
+ m600(arg0, 42, Local0, bs1b)
+
+ Mid(Derefof(Index(paub, 6)), 0, "B", Local0)
+ m600(arg0, 43, Local0, bb33)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), 0, "B", Local0)
+ m600(arg0, 44, Local0, bs1b)
+
+ Mid(m601(3, 6), 0, "B", Local0)
+ m600(arg0, 45, Local0, bb33)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), 0, "B", Local0)
+ m600(arg0, 46, Local0, bs1b)
+
+ Mid(Derefof(m602(3, 6, 1)), 0, "B", Local0)
+ m600(arg0, 47, Local0, bb33)
+ }
+ }
+
+ Method(m64i, 1)
+ {
+ // String to Integer conversion of the String Length operand
+
+ Store(Mid("This is auxiliary String", 0, "FE7CB391D650A284"), Local0)
+ m600(arg0, 0, Local0, bs1e)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, 0, "FE7CB391D650A284"), Local0)
+ m600(arg0, 1, Local0, bb34)
+
+ Store(Mid(aus6, 0, "FE7CB391D650A284"), Local0)
+ m600(arg0, 2, Local0, bs1e)
+
+ Store(Mid(aub6, 0, "FE7CB391D650A284"), Local0)
+ m600(arg0, 3, Local0, bb34)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), 0, "FE7CB391D650A284"), Local0)
+ m600(arg0, 4, Local0, bs1e)
+
+ Store(Mid(Derefof(Refof(aub6)), 0, "FE7CB391D650A284"), Local0)
+ m600(arg0, 5, Local0, bb34)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), 0, "FE7CB391D650A284"), Local0)
+ m600(arg0, 6, Local0, bs1e)
+
+ Store(Mid(Derefof(Index(paub, 6)), 0, "FE7CB391D650A284"), Local0)
+ m600(arg0, 7, Local0, bb34)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), 0, "FE7CB391D650A284"), Local0)
+ m600(arg0, 8, Local0, bs1e)
+
+ Store(Mid(m601(3, 6), 0, "FE7CB391D650A284"), Local0)
+ m600(arg0, 9, Local0, bb34)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), 0, "FE7CB391D650A284"), Local0)
+ m600(arg0, 10, Local0, bs1e)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), 0, "FE7CB391D650A284"), Local0)
+ m600(arg0, 11, Local0, bb34)
+ }
+
+ Mid("This is auxiliary String", 0, "FE7CB391D650A284", Local0)
+ m600(arg0, 12, Local0, bs1e)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, 0, "FE7CB391D650A284", Local0)
+ m600(arg0, 13, Local0, bb34)
+
+ Mid(aus6, 0, "FE7CB391D650A284", Local0)
+ m600(arg0, 14, Local0, bs1e)
+
+ Mid(aub6, 0, "FE7CB391D650A284", Local0)
+ m600(arg0, 15, Local0, bb34)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), 0, "FE7CB391D650A284", Local0)
+ m600(arg0, 16, Local0, bs1e)
+
+ Mid(Derefof(Refof(aub6)), 0, "FE7CB391D650A284", Local0)
+ m600(arg0, 17, Local0, bb34)
+ }
+
+ Mid(Derefof(Index(paus, 6)), 0, "FE7CB391D650A284", Local0)
+ m600(arg0, 18, Local0, bs1e)
+
+ Mid(Derefof(Index(paub, 6)), 0, "FE7CB391D650A284", Local0)
+ m600(arg0, 19, Local0, bb34)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), 0, "FE7CB391D650A284", Local0)
+ m600(arg0, 20, Local0, bs1e)
+
+ Mid(m601(3, 6), 0, "FE7CB391D650A284", Local0)
+ m600(arg0, 21, Local0, bb34)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), 0, "FE7CB391D650A284", Local0)
+ m600(arg0, 22, Local0, bs1e)
+
+ Mid(Derefof(m602(3, 6, 1)), 0, "FE7CB391D650A284", Local0)
+ m600(arg0, 23, Local0, bb34)
+ }
+
+ // String to Integer conversion of the both String operands
+
+ Store(Mid("This is auxiliary String", "B", "FE7CB391D650A284"), Local0)
+ m600(arg0, 24, Local0, bs1f)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, "B", "FE7CB391D650A284"), Local0)
+ m600(arg0, 25, Local0, bb35)
+
+ Store(Mid(aus6, "B", "FE7CB391D650A284"), Local0)
+ m600(arg0, 26, Local0, bs1f)
+
+ Store(Mid(aub6, "B", "FE7CB391D650A284"), Local0)
+ m600(arg0, 27, Local0, bb35)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), "B", "FE7CB391D650A284"), Local0)
+ m600(arg0, 28, Local0, bs1f)
+
+ Store(Mid(Derefof(Refof(aub6)), "B", "FE7CB391D650A284"), Local0)
+ m600(arg0, 29, Local0, bb35)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), "B", "FE7CB391D650A284"), Local0)
+ m600(arg0, 30, Local0, bs1f)
+
+ Store(Mid(Derefof(Index(paub, 6)), "B", "FE7CB391D650A284"), Local0)
+ m600(arg0, 31, Local0, bb35)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), "B", "FE7CB391D650A284"), Local0)
+ m600(arg0, 32, Local0, bs1f)
+
+ Store(Mid(m601(3, 6), "B", "FE7CB391D650A284"), Local0)
+ m600(arg0, 33, Local0, bb35)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), "B", "FE7CB391D650A284"), Local0)
+ m600(arg0, 34, Local0, bs1f)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), "B", "FE7CB391D650A284"), Local0)
+ m600(arg0, 35, Local0, bb35)
+ }
+
+ Mid("This is auxiliary String", "B", "FE7CB391D650A284", Local0)
+ m600(arg0, 36, Local0, bs1f)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, "B", "FE7CB391D650A284", Local0)
+ m600(arg0, 37, Local0, bb35)
+
+ Mid(aus6, "B", "FE7CB391D650A284", Local0)
+ m600(arg0, 38, Local0, bs1f)
+
+ Mid(aub6, "B", "FE7CB391D650A284", Local0)
+ m600(arg0, 39, Local0, bb35)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), "B", "FE7CB391D650A284", Local0)
+ m600(arg0, 40, Local0, bs1f)
+
+ Mid(Derefof(Refof(aub6)), "B", "FE7CB391D650A284", Local0)
+ m600(arg0, 41, Local0, bb35)
+ }
+
+ Mid(Derefof(Index(paus, 6)), "B", "FE7CB391D650A284", Local0)
+ m600(arg0, 42, Local0, bs1f)
+
+ Mid(Derefof(Index(paub, 6)), "B", "FE7CB391D650A284", Local0)
+ m600(arg0, 43, Local0, bb35)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), "B", "FE7CB391D650A284", Local0)
+ m600(arg0, 44, Local0, bs1f)
+
+ Mid(m601(3, 6), "B", "FE7CB391D650A284", Local0)
+ m600(arg0, 45, Local0, bb35)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), "B", "FE7CB391D650A284", Local0)
+ m600(arg0, 46, Local0, bs1f)
+
+ Mid(Derefof(m602(3, 6, 1)), "B", "FE7CB391D650A284", Local0)
+ m600(arg0, 47, Local0, bb35)
+ }
+ }
+
+ Method(m32i, 1)
+ {
+ // String to Integer conversion of the String Length operand
+
+ Store(Mid("This is auxiliary String", 0, "C179B3FE"), Local0)
+ m600(arg0, 0, Local0, bs1e)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, 0, "C179B3FE"), Local0)
+ m600(arg0, 1, Local0, bb34)
+
+ Store(Mid(aus6, 0, "C179B3FE"), Local0)
+ m600(arg0, 2, Local0, bs1e)
+
+ Store(Mid(aub6, 0, "C179B3FE"), Local0)
+ m600(arg0, 3, Local0, bb34)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), 0, "C179B3FE"), Local0)
+ m600(arg0, 4, Local0, bs1e)
+
+ Store(Mid(Derefof(Refof(aub6)), 0, "C179B3FE"), Local0)
+ m600(arg0, 5, Local0, bb34)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), 0, "C179B3FE"), Local0)
+ m600(arg0, 6, Local0, bs1e)
+
+ Store(Mid(Derefof(Index(paub, 6)), 0, "C179B3FE"), Local0)
+ m600(arg0, 7, Local0, bb34)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), 0, "C179B3FE"), Local0)
+ m600(arg0, 8, Local0, bs1e)
+
+ Store(Mid(m601(3, 6), 0, "C179B3FE"), Local0)
+ m600(arg0, 9, Local0, bb34)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), 0, "C179B3FE"), Local0)
+ m600(arg0, 10, Local0, bs1e)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), 0, "C179B3FE"), Local0)
+ m600(arg0, 11, Local0, bb34)
+ }
+
+ Mid("This is auxiliary String", 0, "C179B3FE", Local0)
+ m600(arg0, 12, Local0, bs1e)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, 0, "C179B3FE", Local0)
+ m600(arg0, 13, Local0, bb34)
+
+ Mid(aus6, 0, "C179B3FE", Local0)
+ m600(arg0, 14, Local0, bs1e)
+
+ Mid(aub6, 0, "C179B3FE", Local0)
+ m600(arg0, 15, Local0, bb34)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), 0, "C179B3FE", Local0)
+ m600(arg0, 16, Local0, bs1e)
+
+ Mid(Derefof(Refof(aub6)), 0, "C179B3FE", Local0)
+ m600(arg0, 17, Local0, bb34)
+ }
+
+ Mid(Derefof(Index(paus, 6)), 0, "C179B3FE", Local0)
+ m600(arg0, 18, Local0, bs1e)
+
+ Mid(Derefof(Index(paub, 6)), 0, "C179B3FE", Local0)
+ m600(arg0, 19, Local0, bb34)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), 0, "C179B3FE", Local0)
+ m600(arg0, 20, Local0, bs1e)
+
+ Mid(m601(3, 6), 0, "C179B3FE", Local0)
+ m600(arg0, 21, Local0, bb34)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), 0, "C179B3FE", Local0)
+ m600(arg0, 22, Local0, bs1e)
+
+ Mid(Derefof(m602(3, 6, 1)), 0, "C179B3FE", Local0)
+ m600(arg0, 23, Local0, bb34)
+ }
+
+ // String to Integer conversion of the both String operands
+
+ Store(Mid("This is auxiliary String", "B", "C179B3FE"), Local0)
+ m600(arg0, 24, Local0, bs1f)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, "B", "C179B3FE"), Local0)
+ m600(arg0, 25, Local0, bb35)
+
+ Store(Mid(aus6, "B", "C179B3FE"), Local0)
+ m600(arg0, 26, Local0, bs1f)
+
+ Store(Mid(aub6, "B", "C179B3FE"), Local0)
+ m600(arg0, 27, Local0, bb35)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), "B", "C179B3FE"), Local0)
+ m600(arg0, 28, Local0, bs1f)
+
+ Store(Mid(Derefof(Refof(aub6)), "B", "C179B3FE"), Local0)
+ m600(arg0, 29, Local0, bb35)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), "B", "C179B3FE"), Local0)
+ m600(arg0, 30, Local0, bs1f)
+
+ Store(Mid(Derefof(Index(paub, 6)), "B", "C179B3FE"), Local0)
+ m600(arg0, 31, Local0, bb35)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), "B", "C179B3FE"), Local0)
+ m600(arg0, 32, Local0, bs1f)
+
+ Store(Mid(m601(3, 6), "B", "C179B3FE"), Local0)
+ m600(arg0, 33, Local0, bb35)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), "B", "C179B3FE"), Local0)
+ m600(arg0, 34, Local0, bs1f)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), "B", "C179B3FE"), Local0)
+ m600(arg0, 35, Local0, bb35)
+ }
+
+ Mid("This is auxiliary String", "B", "C179B3FE", Local0)
+ m600(arg0, 36, Local0, bs1f)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, "B", "C179B3FE", Local0)
+ m600(arg0, 37, Local0, bb35)
+
+ Mid(aus6, "B", "C179B3FE", Local0)
+ m600(arg0, 38, Local0, bs1f)
+
+ Mid(aub6, "B", "C179B3FE", Local0)
+ m600(arg0, 39, Local0, bb35)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), "B", "C179B3FE", Local0)
+ m600(arg0, 40, Local0, bs1f)
+
+ Mid(Derefof(Refof(aub6)), "B", "C179B3FE", Local0)
+ m600(arg0, 41, Local0, bb35)
+ }
+
+ Mid(Derefof(Index(paus, 6)), "B", "C179B3FE", Local0)
+ m600(arg0, 42, Local0, bs1f)
+
+ Mid(Derefof(Index(paub, 6)), "B", "C179B3FE", Local0)
+ m600(arg0, 43, Local0, bb35)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), "B", "C179B3FE", Local0)
+ m600(arg0, 44, Local0, bs1f)
+
+ Mid(m601(3, 6), "B", "C179B3FE", Local0)
+ m600(arg0, 45, Local0, bb35)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), "B", "C179B3FE", Local0)
+ m600(arg0, 46, Local0, bs1f)
+
+ Mid(Derefof(m602(3, 6, 1)), "B", "C179B3FE", Local0)
+ m600(arg0, 47, Local0, bb35)
+ }
+ }
+
+ // String to Integer conversion of the String StartIndex
+ // operand of the Match operator
+ Method(m030, 1)
+ {
+ Store(Match(
+ Package(){
+ 0xa50, 0xa51, 0xa52, 0xa53, 0xa54, 0xa55, 0xa56, 0xa57,
+ 0xa58, 0xa59, 0xa5a, 0xa5b, 0xa5c, 0xa5d, 0xa5e,},
+ MEQ, 0xa5d, MTR, 0, "B"), Local0)
+ m600(arg0, 0, Local0, 0xd)
+
+ Store(Match(
+ Package(){
+ 0xa50, 0xa51, 0xa52, 0xa53, 0xa54, 0xa55, 0xa56, 0xa57,
+ 0xa58, 0xa59, 0xa5a, 0xa5b, 0xa5c, 0xa5d, 0xa5e,},
+ MEQ, 0xa5a, MTR, 0, "B"), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(Match(aup0, MEQ, 0xa5d, MTR, 0, "B"), Local0)
+ m600(arg0, 2, Local0, 0xd)
+
+ Store(Match(aup0, MEQ, 0xa5a, MTR, 0, "B"), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(Match(Derefof(Refof(aup0)), MEQ, 0xa5d, MTR, 0, "B"), Local0)
+ m600(arg0, 4, Local0, 0xd)
+
+ Store(Match(Derefof(Refof(aup0)), MEQ, 0xa5a, MTR, 0, "B"), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(Match(Derefof(Index(paup, 0)), MEQ, 0xa5d, MTR, 0, "B"), Local0)
+ m600(arg0, 6, Local0, 0xd)
+
+ Store(Match(Derefof(Index(paup, 0)), MEQ, 0xa5a, MTR, 0, "B"), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Object
+
+ Store(Match(m601(4, 0), MEQ, 0xa5d, MTR, 0, "B"), Local0)
+ m600(arg0, 8, Local0, 0xd)
+
+ Store(Match(m601(4, 0), MEQ, 0xa5a, MTR, 0, "B"), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Match(Derefof(m602(4, 0, 1)), MEQ, 0xa5d, MTR, 0, "B"), Local0)
+ m600(arg0, 10, Local0, 0xd)
+
+ Store(Match(Derefof(m602(4, 0, 1)), MEQ, 0xa5a, MTR, 0, "B"), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+ }
+
+ // String to Integer conversion of the String elements
+ // of a search package of Match operator when some
+ // MatchObject is evaluated as Integer
+
+ Method(m64j, 1)
+ {
+ Store(Match(Package(){"FE7CB391D650A284"},
+ MEQ, 0xfe7cb391d650a284, MTR, 0, 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(Match(Package(){"FE7CB391D650A284"},
+ MEQ, 0xfe7cb391d650a285, MTR, 0, 0), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(Match(Package(){"FE7CB391D650A284"},
+ MTR, 0, MEQ, 0xfe7cb391d650a284, 0), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(Match(Package(){"FE7CB391D650A284"},
+ MTR, 0, MEQ, 0xfe7cb391d650a285, 0), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ Store(Match(Package(){"fE7CB391D650A284"},
+ MEQ, 0xfe7cb391d650a284, MTR, 0, 0), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(Match(Package(){"fE7CB391D650A284"},
+ MEQ, 0xfe7cb391d650a285, MTR, 0, 0), Local0)
+ m600(arg0, 5, Local0, Ones)
+
+ Store(Match(Package(){"fE7CB391D650A284"},
+ MTR, 0, MEQ, 0xfe7cb391d650a284, 0), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(Match(Package(){"fE7CB391D650A284"},
+ MTR, 0, MEQ, 0xfe7cb391d650a285, 0), Local0)
+ m600(arg0, 7, Local0, Ones)
+ }
+
+ Method(m32j, 1)
+ {
+ Store(Match(Package(){"C179B3FE"},
+ MEQ, 0xc179b3fe, MTR, 0, 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(Match(Package(){"C179B3FE"},
+ MEQ, 0xc179b3ff, MTR, 0, 0), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(Match(Package(){"C179B3FE"},
+ MTR, 0, MEQ, 0xc179b3fe, 0), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(Match(Package(){"C179B3FE"},
+ MTR, 0, MEQ, 0xc179b3ff, 0), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ Store(Match(Package(){"c179B3FE"},
+ MEQ, 0xc179b3fe, MTR, 0, 0), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(Match(Package(){"c179B3FE"},
+ MEQ, 0xc179b3ff, MTR, 0, 0), Local0)
+ m600(arg0, 5, Local0, Ones)
+
+ Store(Match(Package(){"c179B3FE"},
+ MTR, 0, MEQ, 0xc179b3fe, 0), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(Match(Package(){"c179B3FE"},
+ MTR, 0, MEQ, 0xc179b3ff, 0), Local0)
+ m600(arg0, 7, Local0, Ones)
+ }
+
+ // String to Integer conversion of the String sole operand
+ // of the Method execution control operators (Sleep, Stall)
+ Method(m031, 1)
+ {
+ CH03(arg0, z085, 2, 0, 0)
+
+ // Sleep
+
+ Store(Timer, Local0)
+
+ Sleep("0321")
+ CH03(arg0, z085, 3, 0, 0)
+
+ Store(Timer, Local1)
+ Subtract(Local1, Local0, Local2)
+ if (LLess(Local2, c08c)) {
+ err(arg0, z085, 0, 0, 0, Local2, c08c)
+ }
+
+ // Stall
+
+ Store(Timer, Local0)
+
+ Stall("63")
+ CH03(arg0, z085, 4, 0, 0)
+
+ Store(Timer, Local1)
+ Subtract(Local1, Local0, Local2)
+ if (LLess(Local2, 990)) {
+ err(arg0, z085, 1, 0, 0, Local2, 990)
+ }
+ }
+
+ // String to Integer conversion of the String TimeoutValue
+ // (second) operand of the Acquire operator ???
+ Method(m032, 1)
+ {
+ Mutex(MTX0, 0)
+
+ Acquire(MTX0, 0)
+ CH03(arg0, z085, 5, 0, 0)
+
+ Store(Timer, Local0)
+
+/* Compiler allows only Integer constant as TimeoutValue (Bug 1)
+ Acquire(MTX0, "0321")
+*/
+ CH03(arg0, z085, 6, 0, 0)
+
+ Store(Timer, Local1)
+ Subtract(Local1, Local0, Local2)
+ if (LLess(Local2, c08c)) {
+ err(arg0, z085, 0, 0, 0, Local2, c08c)
+ }
+ }
+
+ // String to Integer conversion of the String TimeoutValue
+ // (second) operand of the Wait operator
+ Method(m033, 1)
+ {
+ Event(EVT0)
+
+ CH03(arg0, z085, 7, 0, 0)
+
+ Store(Timer, Local0)
+
+ Wait(EVT0, "0321")
+ CH03(arg0, z085, 8, 0, 0)
+
+ Store(Timer, Local1)
+ Subtract(Local1, Local0, Local2)
+ if (LLess(Local2, c08c)) {
+ err(arg0, z085, 0, 0, 0, Local2, c08c)
+ }
+ }
+
+ // String to Integer conversion of the String value
+ // of Predicate of the Method execution control statements
+ // (If, ElseIf, While)
+ Method(m034, 1)
+ {
+ Name(ist0, 0)
+
+ Method(m001)
+ {
+ if ("0") {
+ Store(0, ist0)
+ }
+ }
+
+ Method(m002)
+ {
+ if ("0321") {
+ Store(2, ist0)
+ }
+ }
+
+ Method(m003)
+ {
+ if ("C179B3FE") {
+ Store(3, ist0)
+ }
+ }
+
+ Method(m004)
+ {
+ if ("FE7CB391D650A284") {
+ Store(4, ist0)
+ }
+ }
+
+ Method(m005, 1)
+ {
+ if (arg0) {
+ Store(0xff, ist0)
+ } elseif ("0") {
+ Store(0, ist0)
+ }
+ }
+
+ Method(m006, 1)
+ {
+ if (arg0) {
+ Store(0xff, ist0)
+ } elseif ("0321") {
+ Store(6, ist0)
+ }
+ }
+
+ Method(m007, 1)
+ {
+ if (arg0) {
+ Store(0xff, ist0)
+ } elseif ("C179B3FE") {
+ Store(7, ist0)
+ }
+ }
+
+ Method(m008, 1)
+ {
+ if (arg0) {
+ Store(0xff, ist0)
+ } elseif ("FE7CB391D650A284") {
+ Store(8, ist0)
+ }
+ }
+
+ Method(m009)
+ {
+ while ("0") {
+ Store(0, ist0)
+ }
+ }
+
+ // If
+
+ Store(1, ist0)
+ m001()
+ m600(arg0, 0, ist0, 1)
+
+ m002()
+ m600(arg0, 1, ist0, 2)
+
+ m003()
+ m600(arg0, 2, ist0, 3)
+
+ m004()
+ m600(arg0, 3, ist0, 4)
+
+ // ElseIf
+
+ Store(5, ist0)
+ m005(0)
+ m600(arg0, 4, ist0, 5)
+
+ m006(0)
+ m600(arg0, 5, ist0, 6)
+
+ m007(0)
+ m600(arg0, 6, ist0, 7)
+
+ m008(0)
+ m600(arg0, 7, ist0, 8)
+
+ // While
+
+ Store(9, ist0)
+ m009()
+ m600(arg0, 8, ist0, 9)
+ }
+
+ // String to Integer conversion of the String value
+ // of Expression of Case statement when Expression in
+ // Switch is evaluated as Integer
+
+ Method(m64k, 1)
+ {
+ Name(i000, 0)
+
+ Store(0, i000)
+ Switch (0xfe7cb391d650a285) {
+ Case ("fE7CB391D650A284") {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 0, i000, 2)
+
+ Store(0, i000)
+ Switch (0xfe7cb391d650a284) {
+ Case ("fE7CB391D650A284") {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 1, i000, 1)
+
+ Store(0, i000)
+ Switch (auid) {
+ Case ("fE7CB391D650A284") {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 2, i000, 2)
+
+ Store(0, i000)
+ Switch (aui4) {
+ Case ("fE7CB391D650A284") {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 3, i000, 1)
+
+ if (y078) {
+ Store(0, i000)
+ Switch (Derefof(Refof(auid))) {
+ Case ("fE7CB391D650A284") {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 4, i000, 2)
+
+ Store(0, i000)
+ Switch (Derefof(Refof(aui4))) {
+ Case ("fE7CB391D650A284") {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 5, i000, 1)
+ }
+
+ Store(0, i000)
+ Switch (Derefof(Index(paui, 13))) {
+ Case ("fE7CB391D650A284") {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 6, i000, 2)
+
+ Store(0, i000)
+ Switch (Derefof(Index(paui, 4))) {
+ Case ("fE7CB391D650A284") {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 7, i000, 1)
+
+ // Method returns Integer
+
+ Store(0, i000)
+ Switch (m601(1, 13)) {
+ Case ("fE7CB391D650A284") {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 8, i000, 2)
+
+ Store(0, i000)
+ Switch (m601(1, 4)) {
+ Case ("fE7CB391D650A284") {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 9, i000, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(0, i000)
+ Switch (Derefof(m602(1, 13, 1))) {
+ Case ("fE7CB391D650A284") {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 10, i000, 2)
+
+ Store(0, i000)
+ Switch (Derefof(m602(1, 4, 1))) {
+ Case ("fE7CB391D650A284") {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 11, i000, 1)
+ }
+ }
+
+ Method(m32k, 1)
+ {
+ Name(i000, 0)
+
+ Store(0, i000)
+ Switch (0xc179b3ff) {
+ Case ("c179B3FE") {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 0, i000, 2)
+
+ Store(0, i000)
+ Switch (0xc179b3fe) {
+ Case ("c179B3FE") {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 1, i000, 1)
+
+ Store(0, i000)
+ Switch (auic) {
+ Case ("c179B3FE") {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 2, i000, 2)
+
+ Store(0, i000)
+ Switch (aui3) {
+ Case ("c179B3FE") {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 3, i000, 1)
+
+ if (y078) {
+ Store(0, i000)
+ Switch (Derefof(Refof(auic))) {
+ Case ("c179B3FE") {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 4, i000, 2)
+
+ Store(0, i000)
+ Switch (Derefof(Refof(aui3))) {
+ Case ("c179B3FE") {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 5, i000, 1)
+ }
+
+ Store(0, i000)
+ Switch (Derefof(Index(paui, 12))) {
+ Case ("c179B3FE") {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 6, i000, 2)
+
+ Store(0, i000)
+ Switch (Derefof(Index(paui, 3))) {
+ Case ("c179B3FE") {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 7, i000, 1)
+
+ // Method returns Integer
+
+ Store(0, i000)
+ Switch (m601(1, 12)) {
+ Case ("c179B3FE") {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 8, i000, 2)
+
+ Store(0, i000)
+ Switch (m601(1, 3)) {
+ Case ("c179B3FE") {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 9, i000, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(0, i000)
+ Switch (Derefof(m602(1, 12, 1))) {
+ Case ("c179B3FE") {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 10, i000, 2)
+
+ Store(0, i000)
+ Switch (Derefof(m602(1, 3, 1))) {
+ Case ("c179B3FE") {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 11, i000, 1)
+ }
+ }
+
+ // String to Buffer implicit conversion Cases.
+
+ // String to Buffer conversion of the String second operand of
+ // Logical operators when the first operand is evaluated as Buffer
+ // (LEqual, LGreater, LGreaterEqual, LLess, LLessEqual, LNotEqual)
+
+ Method(m035, 1)
+ {
+ // LEqual
+
+ Store(LEqual(Buffer() {0x30, 0x33, 0x32, 0x31, 0x00}, "0321"), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual(Buffer() {0x30, 0x33, 0x32, 0x31, 0x01}, "0321"), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(aub7, "0321"), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(LEqual(aub3, "0321"), Local0)
+ m600(arg0, 3, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aub7)), "0321"), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(aub3)), "0321"), Local0)
+ m600(arg0, 5, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paub, 7)), "0321"), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paub, 3)), "0321"), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ // Method returns Buffer
+
+ Store(LEqual(m601(3, 7), "0321"), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(LEqual(m601(3, 3), "0321"), Local0)
+ m600(arg0, 9, Local0, Zero)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(3, 7, 1)), "0321"), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(3, 3, 1)), "0321"), Local0)
+ m600(arg0, 11, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater(Buffer() {0x30, 0x33, 0x32, 0x31, 0x00}, "0321"), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LGreater(Buffer() {0x30, 0x33, 0x32, 0x31, 0x01}, "0321"), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LGreater(Buffer() {0x30, 0x33, 0x32, 0x31}, "0321"), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LGreater(Buffer() {0x30, 0x33, 0x32, 0x31, 0x00, 0x01}, "0321"), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LGreater(aub7, "0321"), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LGreater(aub8, "0321"), Local0)
+ m600(arg0, 17, Local0, Ones)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aub7)), "0321"), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(aub8)), "0321"), Local0)
+ m600(arg0, 19, Local0, Ones)
+ }
+
+ Store(LGreater(Derefof(Index(paub, 7)), "0321"), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paub, 8)), "0321"), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Buffer
+
+ Store(LGreater(m601(3, 7), "0321"), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LGreater(m601(3, 8), "0321"), Local0)
+ m600(arg0, 23, Local0, Ones)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(3, 7, 1)), "0321"), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(3, 8, 1)), "0321"), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual(Buffer() {0x30, 0x33, 0x32, 0x31, 0x00}, "0321"), Local0)
+ m600(arg0, 26, Local0, Ones)
+
+ Store(LGreaterEqual(Buffer() {0x30, 0x33, 0x32, 0x31, 0x01}, "0321"), Local0)
+ m600(arg0, 27, Local0, Ones)
+
+ Store(LGreaterEqual(Buffer() {0x30, 0x33, 0x32, 0x31}, "0321"), Local0)
+ m600(arg0, 28, Local0, Zero)
+
+ Store(LGreaterEqual(Buffer() {0x30, 0x33, 0x32, 0x31, 0x00, 0x01}, "0321"), Local0)
+ m600(arg0, 29, Local0, Ones)
+
+ Store(LGreaterEqual(aub7, "0321"), Local0)
+ m600(arg0, 30, Local0, Ones)
+
+ Store(LGreaterEqual(aub8, "0321"), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aub7)), "0321"), Local0)
+ m600(arg0, 32, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(aub8)), "0321"), Local0)
+ m600(arg0, 33, Local0, Ones)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paub, 7)), "0321"), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paub, 8)), "0321"), Local0)
+ m600(arg0, 35, Local0, Ones)
+
+ // Method returns Buffer
+
+ Store(LGreaterEqual(m601(3, 7), "0321"), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(m601(3, 8), "0321"), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(3, 7, 1)), "0321"), Local0)
+ m600(arg0, 38, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(3, 8, 1)), "0321"), Local0)
+ m600(arg0, 39, Local0, Ones)
+ }
+
+ // LLess
+
+ Store(LLess(Buffer() {0x30, 0x33, 0x32, 0x31, 0x00}, "0321"), Local0)
+ m600(arg0, 40, Local0, Zero)
+
+ Store(LLess(Buffer() {0x30, 0x33, 0x32, 0x31, 0x01}, "0321"), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ Store(LLess(Buffer() {0x30, 0x33, 0x32, 0x31}, "0321"), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LLess(Buffer() {0x30, 0x33, 0x32, 0x31, 0x00, 0x01}, "0321"), Local0)
+ m600(arg0, 43, Local0, Zero)
+
+ Store(LLess(aub7, "0321"), Local0)
+ m600(arg0, 44, Local0, Zero)
+
+ Store(LLess(aub8, "0321"), Local0)
+ m600(arg0, 45, Local0, Zero)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aub7)), "0321"), Local0)
+ m600(arg0, 46, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(aub8)), "0321"), Local0)
+ m600(arg0, 47, Local0, Zero)
+ }
+
+ Store(LLess(Derefof(Index(paub, 7)), "0321"), Local0)
+ m600(arg0, 48, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paub, 8)), "0321"), Local0)
+ m600(arg0, 49, Local0, Zero)
+
+ // Method returns Buffer
+
+ Store(LLess(m601(3, 7), "0321"), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ Store(LLess(m601(3, 8), "0321"), Local0)
+ m600(arg0, 51, Local0, Zero)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LLess(Derefof(m602(3, 7, 1)), "0321"), Local0)
+ m600(arg0, 52, Local0, Zero)
+
+ Store(LLess(Derefof(m602(3, 8, 1)), "0321"), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual(Buffer() {0x30, 0x33, 0x32, 0x31, 0x00}, "0321"), Local0)
+ m600(arg0, 54, Local0, Ones)
+
+ Store(LLessEqual(Buffer() {0x30, 0x33, 0x32, 0x31, 0x01}, "0321"), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLessEqual(Buffer() {0x30, 0x33, 0x32, 0x31}, "0321"), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLessEqual(Buffer() {0x30, 0x33, 0x32, 0x31, 0x00, 0x01}, "0321"), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLessEqual(aub7, "0321"), Local0)
+ m600(arg0, 58, Local0, Ones)
+
+ Store(LLessEqual(aub8, "0321"), Local0)
+ m600(arg0, 59, Local0, Zero)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aub7)), "0321"), Local0)
+ m600(arg0, 60, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(aub8)), "0321"), Local0)
+ m600(arg0, 61, Local0, Zero)
+ }
+
+ Store(LLessEqual(Derefof(Index(paub, 7)), "0321"), Local0)
+ m600(arg0, 62, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paub, 8)), "0321"), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ // Method returns Buffer
+
+ Store(LLessEqual(m601(3, 7), "0321"), Local0)
+ m600(arg0, 64, Local0, Ones)
+
+ Store(LLessEqual(m601(3, 8), "0321"), Local0)
+ m600(arg0, 65, Local0, Zero)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(3, 7, 1)), "0321"), Local0)
+ m600(arg0, 66, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(3, 8, 1)), "0321"), Local0)
+ m600(arg0, 67, Local0, Zero)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual(Buffer() {0x30, 0x33, 0x32, 0x31, 0x00}, "0321"), Local0)
+ m600(arg0, 68, Local0, Zero)
+
+ Store(LNotEqual(Buffer() {0x30, 0x33, 0x32, 0x31, 0x01}, "0321"), Local0)
+ m600(arg0, 69, Local0, Ones)
+
+ Store(LNotEqual(Buffer() {0x30, 0x33, 0x32, 0x31}, "0321"), Local0)
+ m600(arg0, 70, Local0, Ones)
+
+ Store(LNotEqual(Buffer() {0x30, 0x33, 0x32, 0x31, 0x00, 0x01}, "0321"), Local0)
+ m600(arg0, 71, Local0, Ones)
+
+ Store(LNotEqual(aub7, "0321"), Local0)
+ m600(arg0, 72, Local0, Zero)
+
+ Store(LNotEqual(aub8, "0321"), Local0)
+ m600(arg0, 73, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aub7)), "0321"), Local0)
+ m600(arg0, 74, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(aub8)), "0321"), Local0)
+ m600(arg0, 75, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paub, 7)), "0321"), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paub, 8)), "0321"), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ // Method returns Buffer
+
+ Store(LNotEqual(m601(3, 7), "0321"), Local0)
+ m600(arg0, 78, Local0, Zero)
+
+ Store(LNotEqual(m601(3, 8), "0321"), Local0)
+ m600(arg0, 79, Local0, Ones)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(3, 7, 1)), "0321"), Local0)
+ m600(arg0, 80, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(3, 8, 1)), "0321"), Local0)
+ m600(arg0, 81, Local0, Ones)
+ }
+
+ // Boundary Cases
+
+ Store(LEqual(Buffer() {0x00}, ""), Local0)
+ m600(arg0, 82, Local0, Ones)
+
+ Store(LEqual(Buffer() {0x01}, ""), Local0)
+ m600(arg0, 83, Local0, Zero)
+
+ Store(LGreater(Buffer() {0x00}, ""), Local0)
+ m600(arg0, 84, Local0, Zero)
+
+ Store(LGreater(Buffer() {0x01}, ""), Local0)
+ m600(arg0, 85, Local0, Ones)
+
+ Store(LGreaterEqual(Buffer() {0x00}, ""), Local0)
+ m600(arg0, 86, Local0, Ones)
+
+ Store(LGreater(Buffer() {0x01}, ""), Local0)
+ m600(arg0, 87, Local0, Ones)
+
+ Store(LLess(Buffer() {0x00}, ""), Local0)
+ m600(arg0, 88, Local0, Zero)
+
+ Store(LLess(Buffer() {0x01}, ""), Local0)
+ m600(arg0, 89, Local0, Zero)
+
+ Store(LLessEqual(Buffer() {0x00}, ""), Local0)
+ m600(arg0, 90, Local0, Ones)
+
+ Store(LLessEqual(Buffer() {0x01}, ""), Local0)
+ m600(arg0, 91, Local0, Zero)
+
+ Store(LNotEqual(Buffer() {0x00}, ""), Local0)
+ m600(arg0, 92, Local0, Zero)
+
+ Store(LNotEqual(Buffer() {0x01}, ""), Local0)
+ m600(arg0, 93, Local0, Ones)
+
+ Store(LEqual(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x00,},
+ "!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*"),
+ Local0)
+ m600(arg0, 94, Local0, Ones)
+
+ Store(LEqual(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x01,},
+ "!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*"),
+ Local0)
+ m600(arg0, 95, Local0, Zero)
+
+ Store(LGreater(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x00,},
+ "!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*"),
+ Local0)
+ m600(arg0, 96, Local0, Zero)
+
+ Store(LGreater(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x01,},
+ "!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*"),
+ Local0)
+ m600(arg0, 97, Local0, Ones)
+
+ Store(LGreaterEqual(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x00,},
+ "!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*"),
+ Local0)
+ m600(arg0, 98, Local0, Ones)
+
+ Store(LGreater(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x01,},
+ "!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*"),
+ Local0)
+ m600(arg0, 99, Local0, Ones)
+
+ Store(LLess(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x00,},
+ "!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*"),
+ Local0)
+ m600(arg0, 100, Local0, Zero)
+
+ Store(LLess(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x01,},
+ "!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*"),
+ Local0)
+ m600(arg0, 101, Local0, Zero)
+
+ Store(LLessEqual(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x00,},
+ "!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*"),
+ Local0)
+ m600(arg0, 102, Local0, Ones)
+
+ Store(LLessEqual(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x01,},
+ "!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*"),
+ Local0)
+ m600(arg0, 103, Local0, Zero)
+
+ Store(LNotEqual(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x00,},
+ "!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*"),
+ Local0)
+ m600(arg0, 104, Local0, Zero)
+
+ Store(LNotEqual(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x01,},
+ "!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*"),
+ Local0)
+ m600(arg0, 105, Local0, Ones)
+ }
+
+ // String to Buffer conversion of the String second operand of
+ // Concatenate operator when the first operand is evaluated as Buffer
+
+ Method(m036, 1)
+ {
+ Store(Concatenate(Buffer(){0x5a}, "0321"), Local0)
+ m600(arg0, 0, Local0, bb29)
+
+ Store(Concatenate(Buffer(){0x5a, 0x00}, "0321"), Local0)
+ m600(arg0, 1, Local0, bb2a)
+
+ Store(Concatenate(aub0, "0321"), Local0)
+ m600(arg0, 2, Local0, bb29)
+
+ Store(Concatenate(aub1, "0321"), Local0)
+ m600(arg0, 3, Local0, bb2a)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aub0)), "0321"), Local0)
+ m600(arg0, 4, Local0, bb29)
+
+ Store(Concatenate(Derefof(Refof(aub1)), "0321"), Local0)
+ m600(arg0, 5, Local0, bb2a)
+ }
+
+ Store(Concatenate(Derefof(Index(paub, 0)), "0321"), Local0)
+ m600(arg0, 6, Local0, bb29)
+
+ Store(Concatenate(Derefof(Index(paub, 1)), "0321"), Local0)
+ m600(arg0, 7, Local0, bb2a)
+
+ // Method returns Buffer
+
+ Store(Concatenate(m601(3, 0), "0321"), Local0)
+ m600(arg0, 8, Local0, bb29)
+
+ Store(Concatenate(m601(3, 1), "0321"), Local0)
+ m600(arg0, 9, Local0, bb2a)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(3, 0, 1)), "0321"), Local0)
+ m600(arg0, 10, Local0, bb29)
+
+ Store(Concatenate(Derefof(m602(3, 1, 1)), "0321"), Local0)
+ m600(arg0, 11, Local0, bb2a)
+ }
+
+ Concatenate(Buffer(){0x5a}, "0321", Local0)
+ m600(arg0, 12, Local0, bb29)
+
+ Concatenate(Buffer(){0x5a, 0x00}, "0321", Local0)
+ m600(arg0, 13, Local0, bb2a)
+
+ Concatenate(aub0, "0321", Local0)
+ m600(arg0, 14, Local0, bb29)
+
+ Concatenate(aub1, "0321", Local0)
+ m600(arg0, 15, Local0, bb2a)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aub0)), "0321", Local0)
+ m600(arg0, 16, Local0, bb29)
+
+ Concatenate(Derefof(Refof(aub1)), "0321", Local0)
+ m600(arg0, 17, Local0, bb2a)
+ }
+
+ Concatenate(Derefof(Index(paub, 0)), "0321", Local0)
+ m600(arg0, 18, Local0, bb29)
+
+ Concatenate(Derefof(Index(paub, 1)), "0321", Local0)
+ m600(arg0, 19, Local0, bb2a)
+
+ // Method returns Buffer
+
+ Concatenate(m601(3, 0), "0321", Local0)
+ m600(arg0, 20, Local0, bb29)
+
+ Concatenate(m601(3, 1), "0321", Local0)
+ m600(arg0, 21, Local0, bb2a)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Concatenate(Derefof(m602(3, 0, 1)), "0321", Local0)
+ m600(arg0, 22, Local0, bb29)
+
+ Concatenate(Derefof(m602(3, 1, 1)), "0321", Local0)
+ m600(arg0, 23, Local0, bb2a)
+ }
+
+ // Boundary Cases
+
+ Store(Concatenate(Buffer(){0x5a}, ""), Local0)
+ m600(arg0, 24, Local0, bb2b)
+
+ Store(Concatenate(Buffer(){0x5a, 0x00}, ""), Local0)
+ m600(arg0, 25, Local0, bb2c)
+
+ Store(Concatenate(Buffer(0){},
+ "!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*"),
+ Local0)
+ m600(arg0, 26, Local0, bb2d)
+ }
+
+ // String to Buffer conversion of the String Source operand of
+ // ToString operator (has a visual effect in shortening of the
+ // String taken the null character, that is impossible to show
+ // with an immediate String constant).
+
+ Method(m037, 1)
+ {
+ Store(ToString("0321", Ones), Local0)
+ m600(arg0, 0, Local0, bs20)
+
+ Store(ToString("0321", 3), Local0)
+ m600(arg0, 1, Local0, bs21)
+
+ Store(ToString("0321", aui0), Local0)
+ m600(arg0, 2, Local0, bs20)
+
+ Store(ToString("0321", aui7), Local0)
+ m600(arg0, 3, Local0, bs21)
+
+ if (y078) {
+ Store(ToString("0321", Derefof(Refof(aui0))), Local0)
+ m600(arg0, 4, Local0, bs20)
+
+ Store(ToString("0321", Derefof(Refof(aui7))), Local0)
+ m600(arg0, 5, Local0, bs21)
+ }
+
+ Store(ToString("0321", Derefof(Index(paui, 0))), Local0)
+ m600(arg0, 6, Local0, bs20)
+
+ Store(ToString("0321", Derefof(Index(paui, 7))), Local0)
+ m600(arg0, 7, Local0, bs21)
+
+ // Method returns Length parameter
+
+ Store(ToString("0321", m601(1, 0)), Local0)
+ m600(arg0, 8, Local0, bs20)
+
+ Store(ToString("0321", m601(1, 7)), Local0)
+ m600(arg0, 9, Local0, bs21)
+
+ // Method returns Reference to Length parameter
+
+ if (y500) {
+ Store(ToString("0321", Derefof(m601(1, 0))), Local0)
+ m600(arg0, 10, Local0, bs20)
+
+ Store(ToString("0321", Derefof(m601(1, 7))), Local0)
+ m600(arg0, 11, Local0, bs21)
+ }
+
+ ToString("0321", Ones, Local0)
+ m600(arg0, 12, Local0, bs20)
+
+ ToString("0321", 3, Local0)
+ m600(arg0, 13, Local0, bs21)
+
+ ToString("0321", aui0, Local0)
+ m600(arg0, 14, Local0, bs20)
+
+ ToString("0321", aui7, Local0)
+ m600(arg0, 15, Local0, bs21)
+
+ if (y078) {
+ ToString("0321", Derefof(Refof(aui0)), Local0)
+ m600(arg0, 16, Local0, bs20)
+
+ ToString("0321", Derefof(Refof(aui7)), Local0)
+ m600(arg0, 17, Local0, bs21)
+ }
+
+ ToString("0321", Derefof(Index(paui, 0)), Local0)
+ m600(arg0, 18, Local0, bs20)
+
+ ToString("0321", Derefof(Index(paui, 7)), Local0)
+ m600(arg0, 19, Local0, bs21)
+
+ // Method returns Length parameter
+
+ ToString("0321", m601(1, 0), Local0)
+ m600(arg0, 20, Local0, bs20)
+
+ ToString("0321", m601(1, 7), Local0)
+ m600(arg0, 21, Local0, bs21)
+
+ // Method returns Reference to Length parameter
+
+ if (y500) {
+ ToString("0321", Derefof(m601(1, 0)), Local0)
+ m600(arg0, 22, Local0, bs20)
+
+ ToString("0321", Derefof(m601(1, 7)), Local0)
+ m600(arg0, 23, Local0, bs21)
+ }
+
+ // Boundary Cases
+
+ Store(ToString("", Ones), Local0)
+ m600(arg0, 24, Local0, bs22)
+
+ Store(ToString("", 3), Local0)
+ m600(arg0, 25, Local0, bs22)
+
+ Store(ToString(
+ "!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*",
+ Ones), Local0)
+ m600(arg0, 26, Local0, bs23)
+
+ Store(ToString(
+ "!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*",
+ 3), Local0)
+ m600(arg0, 27, Local0, bs24)
+ }
+
+ // String to Buffer conversion of the String elements of
+ // a search package of Match operator when some MatchObject
+ // is evaluated as Buffer
+
+ Method(m038, 1)
+ {
+ Store(Match(Package(){"0321"},
+ MEQ, Buffer() {0x30, 0x33, 0x32, 0x31, 0x00}, MTR, 0, 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(Match(Package(){"0321"},
+ MEQ, Buffer() {0x30, 0x33, 0x32, 0x31, 0x01}, MTR, 0, 0), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(Match(Package(){"0321"},
+ MTR, 0, MEQ, Buffer() {0x30, 0x33, 0x32, 0x31, 0x00}, 0), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(Match(Package(){"0321"},
+ MTR, 0, MEQ, Buffer() {0x30, 0x33, 0x32, 0x31, 0x01}, 0), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ // Boundary Cases
+
+ Store(Match(Package(){""},
+ MEQ, Buffer() {0x00}, MTR, 0, 0), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(Match(Package(){""},
+ MEQ, Buffer() {0x01}, MTR, 0, 0), Local0)
+ m600(arg0, 5, Local0, Ones)
+
+ Store(Match(Package(){""},
+ MTR, 0, MEQ, Buffer() {0x00}, 0), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(Match(Package(){""},
+ MTR, 0, MEQ, Buffer() {0x01}, 0), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ Store(Match(Package(){"!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*"},
+ MEQ,
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x00,},
+ MTR, 0, 0), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(Match(Package(){"!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*"},
+ MEQ,
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x01,},
+ MTR, 0, 0), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ Store(Match(Package(){"!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*"},
+ MTR, 0, MEQ,
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x00,},
+ 0), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(Match(Package(){"!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*"},
+ MTR, 0, MEQ,
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x01,},
+ 0), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // String to Buffer conversion of the String value of
+ // Expression of Case statement when Expression in Switch
+ // is either static Buffer data or explicitly converted to
+ // Buffer by ToBuffer
+
+ Method(m039, 1)
+ {
+ Name(i000, 0)
+
+ Store(0, i000)
+ Switch (Buffer() {0x30, 0x33, 0x32, 0x31, 0x01}) {
+ Case ("0321") {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 0, i000, 2)
+
+ Store(0, i000)
+ Switch (Buffer() {0x30, 0x33, 0x32, 0x31, 0x00}) {
+ Case ("0321") {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 1, i000, 1)
+
+ Store(0, i000)
+ Switch (ToBuffer(aub8)) {
+ Case ("0321") {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 2, i000, 2)
+
+ Store(0, i000)
+ Switch (ToBuffer(aub7)) {
+ Case ("0321") {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 3, i000, 1)
+
+ if (y078) {
+ Store(0, i000)
+ Switch (ToBuffer(Derefof(Refof(aub8)))) {
+ Case ("0321") {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 4, i000, 2)
+
+ Store(0, i000)
+ Switch (ToBuffer(Derefof(Refof(aub7)))) {
+ Case ("0321") {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 5, i000, 1)
+ }
+
+ Store(0, i000)
+ Switch (ToBuffer(Derefof(Index(paub, 8)))) {
+ Case ("0321") {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 6, i000, 2)
+
+ Store(0, i000)
+ Switch (ToBuffer(Derefof(Index(paub, 7)))) {
+ Case ("0321") {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 7, i000, 1)
+
+ // Method returns String
+
+ Store(0, i000)
+ Switch (ToBuffer(m601(3, 8))) {
+ Case ("0321") {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 8, i000, 2)
+
+ Store(0, i000)
+ Switch (ToBuffer(m601(3, 7))) {
+ Case ("0321") {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 9, i000, 1)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(0, i000)
+ Switch (ToBuffer(Derefof(m602(3, 8, 1)))) {
+ Case ("0321") {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 10, i000, 2)
+
+ Store(0, i000)
+ Switch (ToBuffer(Derefof(m602(3, 7, 1)))) {
+ Case ("0321") {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 11, i000, 1)
+ }
+
+ // Boundary Cases
+
+ Store(0, i000)
+ Switch (Buffer() {0x01}) {
+ Case ("") {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 12, i000, 2)
+
+ Store(0, i000)
+ Switch (Buffer() {0x00}) {
+ Case ("") {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 13, i000, 1)
+
+ Store(0, i000)
+ Switch (
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x01,}
+ ) {
+ Case ("!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*") {
+ Store(1, i000)
+ }
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 14, i000, 2)
+
+ Store(0, i000)
+ Switch (
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x00,}
+ ) {
+ Case ("!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*") {
+ Store(1, i000)
+ }
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 15, i000, 1)
+ }
+
+ // Buffer to Integer implicit conversion Cases.
+
+ // Buffer to Integer conversion of the Buffer sole operand
+ // of the 1-parameter Integer arithmetic operators
+ // (Decrement, Increment, FindSetLeftBit, FindSetRightBit, Not)
+
+ Method(m64l, 1)
+ {
+ // Decrement
+
+ // Increment
+
+ // FindSetLeftBit
+
+ Store(FindSetLeftBit(Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 0, Local0, 10)
+
+ Store(FindSetLeftBit(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 1, Local0, 64)
+
+ // FindSetRightBit
+
+ Store(FindSetRightBit(Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 2, Local0, 1)
+
+ Store(FindSetRightBit(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 3, Local0, 3)
+
+ // Not
+
+ Store(Not(Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 4, Local0, 0xfffffffffffffcde)
+
+ Store(Not(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 5, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Method(m32l, 1)
+ {
+ // Decrement
+
+ // Increment
+
+ // FindSetLeftBit
+
+ Store(FindSetLeftBit(Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 0, Local0, 10)
+
+ Store(FindSetLeftBit(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 1, Local0, 32)
+
+ // FindSetRightBit
+
+ Store(FindSetRightBit(Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 2, Local0, 1)
+
+ Store(FindSetRightBit(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 3, Local0, 3)
+
+ // Not
+
+ Store(Not(Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 4, Local0, 0xfffffcde)
+
+ Store(Not(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 5, Local0, 0x29af5d7b)
+ }
+
+ // Buffer to Integer conversion of the Buffer sole operand
+ // of the LNot Logical Integer operator
+ Method(m03a, 1)
+ {
+ Store(LNot(Buffer(1){0x00}), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LNot(Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ if (F64) {
+ Store(LNot(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 2, Local0, Zero)
+ } else {
+ Store(LNot(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 3, Local0, Zero)
+ }
+ }
+
+ // Buffer to Integer conversion of the Buffer sole operand
+ // of the FromBCD and ToBCD conversion operators
+
+ Method(m64m, 1)
+ {
+ // FromBCD
+
+ Store(FromBCD(Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 2, Local0, 0x141)
+
+ Store(FromBCD(Buffer() {0x01, 0x89, 0x67, 0x45, 0x23, 0x01, 0x89, 0x37}), Local0)
+ m600(arg0, 3, Local0, 0xd76162ee9ec35)
+
+ FromBCD(Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 2, Local0, 0x141)
+
+ FromBCD(Buffer() {0x01, 0x89, 0x67, 0x45, 0x23, 0x01, 0x89, 0x37}, Local0)
+ m600(arg0, 3, Local0, 0xd76162ee9ec35)
+
+ // ToBCD
+
+ Store(ToBCD(Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 4, Local0, 0x801)
+
+// ??? No error of iASL on constant folding
+ Store(ToBCD(Buffer() {0x35, 0xec, 0xe9, 0x2e, 0x16, 0x76, 0x0d}), Local0)
+ m600(arg0, 5, Local0, 0x3789012345678901)
+
+ ToBCD(Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 4, Local0, 0x801)
+
+ ToBCD(Buffer() {0x35, 0xec, 0xe9, 0x2e, 0x16, 0x76, 0x0d}, Local0)
+ m600(arg0, 5, Local0, 0x3789012345678901)
+ }
+
+ Method(m32m, 1)
+ {
+ // FromBCD
+
+ Store(FromBCD(Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 2, Local0, 0x141)
+
+ Store(FromBCD(Buffer() {0x56, 0x34, 0x12, 0x90}), Local0)
+ m600(arg0, 3, Local0, 0x55f2cc0)
+
+ FromBCD(Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 2, Local0, 0x141)
+
+ FromBCD(Buffer() {0x56, 0x34, 0x12, 0x90}, Local0)
+ m600(arg0, 3, Local0, 0x55f2cc0)
+
+ // ToBCD
+
+ Store(ToBCD(Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 4, Local0, 0x801)
+
+ Store(ToBCD(Buffer() {0xc0, 0x2c, 0x5f, 0x05}), Local0)
+ m600(arg0, 5, Local0, 0x90123456)
+
+ ToBCD(Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 4, Local0, 0x801)
+
+ ToBCD(Buffer() {0xc0, 0x2c, 0x5f, 0x05}, Local0)
+ m600(arg0, 5, Local0, 0x90123456)
+ }
+
+ // Buffer to Integer conversion of each Buffer operand
+ // of the 2-parameter Integer arithmetic operators
+ // Add, And, Divide, Mod, Multiply, NAnd, NOr, Or,
+ // ShiftLeft, ShiftRight, Subtract, Xor
+
+ // Add, common 32-bit/64-bit test
+ Method(m03b, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Add(Buffer(3){0x21, 0x03, 0x00}, 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Add(Buffer(3){0x21, 0x03, 0x00}, 1), Local0)
+ m600(arg0, 1, Local0, 0x322)
+
+ Store(Add(Buffer(3){0x21, 0x03, 0x00}, aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Add(Buffer(3){0x21, 0x03, 0x00}, aui6), Local0)
+ m600(arg0, 3, Local0, 0x322)
+
+ if (y078) {
+ Store(Add(Buffer(3){0x21, 0x03, 0x00}, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Add(Buffer(3){0x21, 0x03, 0x00}, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x322)
+ }
+
+ Store(Add(Buffer(3){0x21, 0x03, 0x00}, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Add(Buffer(3){0x21, 0x03, 0x00}, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x322)
+
+ // Method returns Integer
+
+ Store(Add(Buffer(3){0x21, 0x03, 0x00}, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Add(Buffer(3){0x21, 0x03, 0x00}, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x322)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(Buffer(3){0x21, 0x03, 0x00}, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Add(Buffer(3){0x21, 0x03, 0x00}, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x322)
+ }
+
+ Add(Buffer(3){0x21, 0x03, 0x00}, 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Add(Buffer(3){0x21, 0x03, 0x00}, 1, Local0)
+ m600(arg0, 13, Local0, 0x322)
+
+ Add(Buffer(3){0x21, 0x03, 0x00}, aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Add(Buffer(3){0x21, 0x03, 0x00}, aui6, Local0)
+ m600(arg0, 15, Local0, 0x322)
+
+ if (y078) {
+ Add(Buffer(3){0x21, 0x03, 0x00}, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Add(Buffer(3){0x21, 0x03, 0x00}, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x322)
+ }
+
+ Add(Buffer(3){0x21, 0x03, 0x00}, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Add(Buffer(3){0x21, 0x03, 0x00}, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x322)
+
+ // Method returns Integer
+
+ Add(Buffer(3){0x21, 0x03, 0x00}, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Add(Buffer(3){0x21, 0x03, 0x00}, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x322)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(Buffer(3){0x21, 0x03, 0x00}, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Add(Buffer(3){0x21, 0x03, 0x00}, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x322)
+ }
+
+ // Conversion of the second operand
+
+ Store(Add(0, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 24, Local0, 0x321)
+
+ Store(Add(1, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 25, Local0, 0x322)
+
+ Store(Add(aui5, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 26, Local0, 0x321)
+
+ Store(Add(aui6, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 27, Local0, 0x322)
+
+ if (y078) {
+ Store(Add(Derefof(Refof(aui5)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 28, Local0, 0x321)
+
+ Store(Add(Derefof(Refof(aui6)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 29, Local0, 0x322)
+ }
+
+ Store(Add(Derefof(Index(paui, 5)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 30, Local0, 0x321)
+
+ Store(Add(Derefof(Index(paui, 6)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 31, Local0, 0x322)
+
+ // Method returns Integer
+
+ Store(Add(m601(1, 5), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 32, Local0, 0x321)
+
+ Store(Add(m601(1, 6), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 33, Local0, 0x322)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(Derefof(m602(1, 5, 1)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 34, Local0, 0x321)
+
+ Store(Add(Derefof(m602(1, 6, 1)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 35, Local0, 0x322)
+ }
+
+ Add(0, Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 36, Local0, 0x321)
+
+ Add(1, Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 37, Local0, 0x322)
+
+ Add(aui5, Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 38, Local0, 0x321)
+
+ Add(aui6, Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 39, Local0, 0x322)
+
+ if (y078) {
+ Add(Derefof(Refof(aui5)), Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 40, Local0, 0x321)
+
+ Add(Derefof(Refof(aui6)), Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 41, Local0, 0x322)
+ }
+
+ Add(Derefof(Index(paui, 5)), Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 42, Local0, 0x321)
+
+ Add(Derefof(Index(paui, 6)), Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 43, Local0, 0x322)
+
+ // Method returns Integer
+
+ Add(m601(1, 5), Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 44, Local0, 0x321)
+
+ Add(m601(1, 6), Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 45, Local0, 0x322)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(Derefof(m602(1, 5, 1)), Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 46, Local0, 0x321)
+
+ Add(Derefof(m602(1, 6, 1)), Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 47, Local0, 0x322)
+ }
+ }
+
+ // Add, 64-bit
+ Method(m03c, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Add(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 1), Local0)
+ m600(arg0, 1, Local0, 0xfe7cb391d650a285)
+
+ Store(Add(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, aui6), Local0)
+ m600(arg0, 3, Local0, 0xfe7cb391d650a285)
+
+ if (y078) {
+ Store(Add(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xfe7cb391d650a285)
+ }
+
+ Store(Add(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Integer
+
+ Store(Add(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfe7cb391d650a285)
+ }
+
+ Add(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Add(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 1, Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a285)
+
+ Add(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Add(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, aui6, Local0)
+ m600(arg0, 15, Local0, 0xfe7cb391d650a285)
+
+ if (y078) {
+ Add(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Add(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xfe7cb391d650a285)
+ }
+
+ Add(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Add(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Integer
+
+ Add(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Add(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Add(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfe7cb391d650a285)
+ }
+
+ // Conversion of the second operand
+
+ Store(Add(0, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 24, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(1, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 25, Local0, 0xfe7cb391d650a285)
+
+ Store(Add(aui5, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 26, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(aui6, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 27, Local0, 0xfe7cb391d650a285)
+
+ if (y078) {
+ Store(Add(Derefof(Refof(aui5)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 28, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(Refof(aui6)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 29, Local0, 0xfe7cb391d650a285)
+ }
+
+ Store(Add(Derefof(Index(paui, 5)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 30, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(Index(paui, 6)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 31, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Integer
+
+ Store(Add(m601(1, 5), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 32, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(m601(1, 6), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 33, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(Derefof(m602(1, 5, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 34, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(m602(1, 6, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 35, Local0, 0xfe7cb391d650a285)
+ }
+
+ Add(0, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 36, Local0, 0xfe7cb391d650a284)
+
+ Add(1, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 37, Local0, 0xfe7cb391d650a285)
+
+ Add(aui5, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 38, Local0, 0xfe7cb391d650a284)
+
+ Add(aui6, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 39, Local0, 0xfe7cb391d650a285)
+
+ if (y078) {
+ Add(Derefof(Refof(aui5)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 40, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(Refof(aui6)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 41, Local0, 0xfe7cb391d650a285)
+ }
+
+ Add(Derefof(Index(paui, 5)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 42, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(Index(paui, 6)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 43, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Integer
+
+ Add(m601(1, 5), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 44, Local0, 0xfe7cb391d650a284)
+
+ Add(m601(1, 6), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 45, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(Derefof(m602(1, 5, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 46, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(m602(1, 6, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 47, Local0, 0xfe7cb391d650a285)
+ }
+
+ // Conversion of the both operands
+
+ Store(Add(Buffer(3){0x21, 0x03, 0x00}, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 48, Local0, 0xfe7cb391d650a5a5)
+
+ Store(Add(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 49, Local0, 0xfe7cb391d650a5a5)
+
+ Add(Buffer(3){0x21, 0x03, 0x00}, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 50, Local0, 0xfe7cb391d650a5a5)
+
+ Add(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 51, Local0, 0xfe7cb391d650a5a5)
+ }
+
+ // Add, 32-bit
+ Method(m03d, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Add(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 0), Local0)
+ m600(arg0, 0, Local0, 0xd650a284)
+
+ Store(Add(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 1), Local0)
+ m600(arg0, 1, Local0, 0xd650a285)
+
+ Store(Add(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, aui5), Local0)
+ m600(arg0, 2, Local0, 0xd650a284)
+
+ Store(Add(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, aui6), Local0)
+ m600(arg0, 3, Local0, 0xd650a285)
+
+ if (y078) {
+ Store(Add(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xd650a284)
+
+ Store(Add(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xd650a285)
+ }
+
+ Store(Add(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xd650a284)
+
+ Store(Add(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xd650a285)
+
+ // Method returns Integer
+
+ Store(Add(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xd650a284)
+
+ Store(Add(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xd650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xd650a284)
+
+ Store(Add(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xd650a285)
+ }
+
+ Add(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 0, Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ Add(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 1, Local0)
+ m600(arg0, 13, Local0, 0xd650a285)
+
+ Add(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, aui5, Local0)
+ m600(arg0, 14, Local0, 0xd650a284)
+
+ Add(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, aui6, Local0)
+ m600(arg0, 15, Local0, 0xd650a285)
+
+ if (y078) {
+ Add(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xd650a284)
+
+ Add(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xd650a285)
+ }
+
+ Add(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xd650a284)
+
+ Add(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xd650a285)
+
+ // Method returns Integer
+
+ Add(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xd650a284)
+
+ Add(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xd650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xd650a284)
+
+ Add(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xd650a285)
+ }
+
+ // Conversion of the second operand
+
+ Store(Add(0, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 24, Local0, 0xd650a284)
+
+ Store(Add(1, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 25, Local0, 0xd650a285)
+
+ Store(Add(aui5, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 26, Local0, 0xd650a284)
+
+ Store(Add(aui6, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 27, Local0, 0xd650a285)
+
+ if (y078) {
+ Store(Add(Derefof(Refof(aui5)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 28, Local0, 0xd650a284)
+
+ Store(Add(Derefof(Refof(aui6)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 29, Local0, 0xd650a285)
+ }
+
+ Store(Add(Derefof(Index(paui, 5)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 30, Local0, 0xd650a284)
+
+ Store(Add(Derefof(Index(paui, 6)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 31, Local0, 0xd650a285)
+
+ // Method returns Integer
+
+ Store(Add(m601(1, 5), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 32, Local0, 0xd650a284)
+
+ Store(Add(m601(1, 6), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 33, Local0, 0xd650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(Derefof(m602(1, 5, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 34, Local0, 0xd650a284)
+
+ Store(Add(Derefof(m602(1, 6, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 35, Local0, 0xd650a285)
+ }
+
+ Add(0, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 36, Local0, 0xd650a284)
+
+ Add(1, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 37, Local0, 0xd650a285)
+
+ Add(aui5, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 38, Local0, 0xd650a284)
+
+ Add(aui6, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 39, Local0, 0xd650a285)
+
+ if (y078) {
+ Add(Derefof(Refof(aui5)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 40, Local0, 0xd650a284)
+
+ Add(Derefof(Refof(aui6)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 41, Local0, 0xd650a285)
+ }
+
+ Add(Derefof(Index(paui, 5)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 42, Local0, 0xd650a284)
+
+ Add(Derefof(Index(paui, 6)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 43, Local0, 0xd650a285)
+
+ // Method returns Integer
+
+ Add(m601(1, 5), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 44, Local0, 0xd650a284)
+
+ Add(m601(1, 6), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 45, Local0, 0xd650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(Derefof(m602(1, 5, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 46, Local0, 0xd650a284)
+
+ Add(Derefof(m602(1, 6, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 47, Local0, 0xd650a285)
+ }
+
+ // Conversion of the both operands
+
+ Store(Add(Buffer(3){0x21, 0x03, 0x00}, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 48, Local0, 0xd650a5a5)
+
+ Store(Add(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 49, Local0, 0xd650a5a5)
+
+ Add(Buffer(3){0x21, 0x03, 0x00}, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 50, Local0, 0xd650a5a5)
+
+ Add(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 51, Local0, 0xd650a5a5)
+ }
+
+ // And, common 32-bit/64-bit test
+ Method(m03e, 1)
+ {
+ // Conversion of the first operand
+
+ Store(And(Buffer(3){0x21, 0x03, 0x00}, 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(And(Buffer(3){0x21, 0x03, 0x00}, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0x321)
+
+ Store(And(Buffer(3){0x21, 0x03, 0x00}, aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(And(Buffer(3){0x21, 0x03, 0x00}, auij), Local0)
+ m600(arg0, 3, Local0, 0x321)
+
+ if (y078) {
+ Store(And(Buffer(3){0x21, 0x03, 0x00}, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(And(Buffer(3){0x21, 0x03, 0x00}, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0x321)
+ }
+
+ Store(And(Buffer(3){0x21, 0x03, 0x00}, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(And(Buffer(3){0x21, 0x03, 0x00}, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0x321)
+
+ // Method returns Integer
+
+ Store(And(Buffer(3){0x21, 0x03, 0x00}, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(And(Buffer(3){0x21, 0x03, 0x00}, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(Buffer(3){0x21, 0x03, 0x00}, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(And(Buffer(3){0x21, 0x03, 0x00}, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0x321)
+ }
+
+ And(Buffer(3){0x21, 0x03, 0x00}, 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ And(Buffer(3){0x21, 0x03, 0x00}, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0x321)
+
+ And(Buffer(3){0x21, 0x03, 0x00}, aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ And(Buffer(3){0x21, 0x03, 0x00}, auij, Local0)
+ m600(arg0, 15, Local0, 0x321)
+
+ if (y078) {
+ And(Buffer(3){0x21, 0x03, 0x00}, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ And(Buffer(3){0x21, 0x03, 0x00}, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0x321)
+ }
+
+ And(Buffer(3){0x21, 0x03, 0x00}, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ And(Buffer(3){0x21, 0x03, 0x00}, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0x321)
+
+ // Method returns Integer
+
+ And(Buffer(3){0x21, 0x03, 0x00}, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ And(Buffer(3){0x21, 0x03, 0x00}, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(Buffer(3){0x21, 0x03, 0x00}, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ And(Buffer(3){0x21, 0x03, 0x00}, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0x321)
+ }
+
+ // Conversion of the second operand
+
+ Store(And(0, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(And(0xffffffffffffffff, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 25, Local0, 0x321)
+
+ Store(And(aui5, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(And(auij, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 27, Local0, 0x321)
+
+ if (y078) {
+ Store(And(Derefof(Refof(aui5)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(And(Derefof(Refof(auij)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 29, Local0, 0x321)
+ }
+
+ Store(And(Derefof(Index(paui, 5)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(And(Derefof(Index(paui, 19)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 31, Local0, 0x321)
+
+ // Method returns Integer
+
+ Store(And(m601(1, 5), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(And(m601(1, 19), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 33, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(Derefof(m602(1, 5, 1)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(And(Derefof(m602(1, 19, 1)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 35, Local0, 0x321)
+ }
+
+ And(0, Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ And(0xffffffffffffffff, Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 37, Local0, 0x321)
+
+ And(aui5, Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ And(auij, Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 39, Local0, 0x321)
+
+ if (y078) {
+ And(Derefof(Refof(aui5)), Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ And(Derefof(Refof(auij)), Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 41, Local0, 0x321)
+ }
+
+ And(Derefof(Index(paui, 5)), Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ And(Derefof(Index(paui, 19)), Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 43, Local0, 0x321)
+
+ // Method returns Integer
+
+ And(m601(1, 5), Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ And(m601(1, 19), Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 45, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(Derefof(m602(1, 5, 1)), Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ And(Derefof(m602(1, 19, 1)), Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 47, Local0, 0x321)
+ }
+ }
+
+ // And, 64-bit
+ Method(m03f, 1)
+ {
+ // Conversion of the first operand
+
+ Store(And(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(And(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xfe7cb391d650a284)
+
+ Store(And(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(And(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, auij), Local0)
+ m600(arg0, 3, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Store(And(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(And(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xfe7cb391d650a284)
+ }
+
+ Store(And(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(And(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Store(And(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(And(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(And(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfe7cb391d650a284)
+ }
+
+ And(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ And(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a284)
+
+ And(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ And(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, auij, Local0)
+ m600(arg0, 15, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ And(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ And(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xfe7cb391d650a284)
+ }
+
+ And(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ And(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ And(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ And(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ And(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfe7cb391d650a284)
+ }
+
+ // Conversion of the second operand
+
+ Store(And(0, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(And(0xffffffffffffffff, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 25, Local0, 0xfe7cb391d650a284)
+
+ Store(And(aui5, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(And(auij, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 27, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Store(And(Derefof(Refof(aui5)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(And(Derefof(Refof(auij)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 29, Local0, 0xfe7cb391d650a284)
+ }
+
+ Store(And(Derefof(Index(paui, 5)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(And(Derefof(Index(paui, 19)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 31, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Store(And(m601(1, 5), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(And(m601(1, 19), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 33, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(Derefof(m602(1, 5, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(And(Derefof(m602(1, 19, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 35, Local0, 0xfe7cb391d650a284)
+ }
+
+ And(0, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ And(0xffffffffffffffff, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 37, Local0, 0xfe7cb391d650a284)
+
+ And(aui5, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ And(auij, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 39, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ And(Derefof(Refof(aui5)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ And(Derefof(Refof(auij)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 41, Local0, 0xfe7cb391d650a284)
+ }
+
+ And(Derefof(Index(paui, 5)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ And(Derefof(Index(paui, 19)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 43, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ And(m601(1, 5), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ And(m601(1, 19), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 45, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(Derefof(m602(1, 5, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ And(Derefof(m602(1, 19, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 47, Local0, 0xfe7cb391d650a284)
+ }
+
+ // Conversion of the both operands
+
+ Store(And(Buffer(3){0x21, 0x03, 0x00}, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 48, Local0, 0x200)
+
+ Store(And(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 49, Local0, 0x200)
+
+ And(Buffer(3){0x21, 0x03, 0x00}, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 50, Local0, 0x200)
+
+ And(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 51, Local0, 0x200)
+ }
+
+ // And, 32-bit
+ Method(m040, 1)
+ {
+ // Conversion of the first operand
+
+ Store(And(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(And(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0xd650a284)
+
+ Store(And(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(And(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, auii), Local0)
+ m600(arg0, 3, Local0, 0xd650a284)
+
+ if (y078) {
+ Store(And(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(And(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0xd650a284)
+ }
+
+ Store(And(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(And(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0xd650a284)
+
+ // Method returns Integer
+
+ Store(And(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(And(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0xd650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(And(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0xd650a284)
+ }
+
+ And(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ And(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0xd650a284)
+
+ And(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ And(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, auii, Local0)
+ m600(arg0, 15, Local0, 0xd650a284)
+
+ if (y078) {
+ And(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ And(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0xd650a284)
+ }
+
+ And(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ And(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0xd650a284)
+
+ // Method returns Integer
+
+ And(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ And(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0xd650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ And(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0xd650a284)
+ }
+
+ // Conversion of the second operand
+
+ Store(And(0, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(And(0xffffffff, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 25, Local0, 0xd650a284)
+
+ Store(And(aui5, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(And(auii, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 27, Local0, 0xd650a284)
+
+ if (y078) {
+ Store(And(Derefof(Refof(aui5)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(And(Derefof(Refof(auii)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 29, Local0, 0xd650a284)
+ }
+
+ Store(And(Derefof(Index(paui, 5)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(And(Derefof(Index(paui, 18)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 31, Local0, 0xd650a284)
+
+ // Method returns Integer
+
+ Store(And(m601(1, 5), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(And(m601(1, 18), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 33, Local0, 0xd650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(Derefof(m602(1, 5, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(And(Derefof(m602(1, 18, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 35, Local0, 0xd650a284)
+ }
+
+ And(0, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ And(0xffffffff, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 37, Local0, 0xd650a284)
+
+ And(aui5, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ And(auii, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 39, Local0, 0xd650a284)
+
+ if (y078) {
+ And(Derefof(Refof(aui5)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ And(Derefof(Refof(auii)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 41, Local0, 0xd650a284)
+ }
+
+ And(Derefof(Index(paui, 5)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ And(Derefof(Index(paui, 18)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 43, Local0, 0xd650a284)
+
+ // Method returns Integer
+
+ And(m601(1, 5), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ And(m601(1, 18), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 45, Local0, 0xd650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(Derefof(m602(1, 5, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ And(Derefof(m602(1, 18, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 47, Local0, 0xd650a284)
+ }
+
+ // Conversion of the both operands
+
+ Store(And(Buffer(3){0x21, 0x03, 0x00}, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 48, Local0, 0x200)
+
+ Store(And(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 49, Local0, 0x200)
+
+ And(Buffer(3){0x21, 0x03, 0x00}, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 50, Local0, 0x200)
+
+ And(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 51, Local0, 0x200)
+ }
+
+ // Divide, common 32-bit/64-bit test
+ Method(m041, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Divide(Buffer(3){0x21, 0x03, 0x00}, 1), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Divide(Buffer(3){0x21, 0x03, 0x00}, 0x321), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Divide(Buffer(3){0x21, 0x03, 0x00}, aui6), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Divide(Buffer(3){0x21, 0x03, 0x00}, aui1), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Divide(Buffer(3){0x21, 0x03, 0x00}, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Divide(Buffer(3){0x21, 0x03, 0x00}, Derefof(Refof(aui1))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Divide(Buffer(3){0x21, 0x03, 0x00}, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Divide(Buffer(3){0x21, 0x03, 0x00}, Derefof(Index(paui, 1))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(Buffer(3){0x21, 0x03, 0x00}, m601(1, 6)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Divide(Buffer(3){0x21, 0x03, 0x00}, m601(1, 1)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(Buffer(3){0x21, 0x03, 0x00}, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Divide(Buffer(3){0x21, 0x03, 0x00}, Derefof(m602(1, 1, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Divide(Buffer(3){0x21, 0x03, 0x00}, 1, Local1, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Divide(Buffer(3){0x21, 0x03, 0x00}, 0x321, Local1, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Divide(Buffer(3){0x21, 0x03, 0x00}, aui6, Local1, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Divide(Buffer(3){0x21, 0x03, 0x00}, aui1, Local1, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Divide(Buffer(3){0x21, 0x03, 0x00}, Derefof(Refof(aui6)), Local1, Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Divide(Buffer(3){0x21, 0x03, 0x00}, Derefof(Refof(aui1)), Local1, Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Divide(Buffer(3){0x21, 0x03, 0x00}, Derefof(Index(paui, 6)), Local1, Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Divide(Buffer(3){0x21, 0x03, 0x00}, Derefof(Index(paui, 1)), Local1, Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(Buffer(3){0x21, 0x03, 0x00}, m601(1, 6), Local1, Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Divide(Buffer(3){0x21, 0x03, 0x00}, m601(1, 1), Local1, Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(Buffer(3){0x21, 0x03, 0x00}, Derefof(m602(1, 6, 1)), Local1, Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Divide(Buffer(3){0x21, 0x03, 0x00}, Derefof(m602(1, 1, 1)), Local1, Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Divide(1, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Divide(0x321, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 25, Local0, 1)
+
+ Store(Divide(aui6, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Divide(aui1, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 27, Local0, 1)
+
+ if (y078) {
+ Store(Divide(Derefof(Refof(aui6)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Divide(Derefof(Refof(aui1)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 29, Local0, 1)
+ }
+
+ Store(Divide(Derefof(Index(paui, 6)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Divide(Derefof(Index(paui, 1)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 31, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(m601(1, 6), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Divide(m601(1, 1), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 33, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(Derefof(m602(1, 6, 1)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Divide(Derefof(m602(1, 1, 1)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 35, Local0, 1)
+ }
+
+ Divide(1, Buffer(3){0x21, 0x03, 0x00}, Local1, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Divide(0x321, Buffer(3){0x21, 0x03, 0x00}, Local1, Local0)
+ m600(arg0, 37, Local0, 1)
+
+ Divide(aui6, Buffer(3){0x21, 0x03, 0x00}, Local1, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Divide(aui1, Buffer(3){0x21, 0x03, 0x00}, Local1, Local0)
+ m600(arg0, 39, Local0, 1)
+
+ if (y078) {
+ Divide(Derefof(Refof(aui6)), Buffer(3){0x21, 0x03, 0x00}, Local1, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Divide(Derefof(Refof(aui1)), Buffer(3){0x21, 0x03, 0x00}, Local1, Local0)
+ m600(arg0, 41, Local0, 1)
+ }
+
+ Divide(Derefof(Index(paui, 6)), Buffer(3){0x21, 0x03, 0x00}, Local1, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Divide(Derefof(Index(paui, 1)), Buffer(3){0x21, 0x03, 0x00}, Local1, Local0)
+ m600(arg0, 43, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(m601(1, 6), Buffer(3){0x21, 0x03, 0x00}, Local1, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Divide(m601(1, 1), Buffer(3){0x21, 0x03, 0x00}, Local1, Local0)
+ m600(arg0, 45, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(Derefof(m602(1, 6, 1)), Buffer(3){0x21, 0x03, 0x00}, Local1, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Divide(Derefof(m602(1, 1, 1)), Buffer(3){0x21, 0x03, 0x00}, Local1, Local0)
+ m600(arg0, 47, Local0, 1)
+ }
+ }
+
+ // Divide, 64-bit
+ Method(m042, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Divide(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 1), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 0xfe7cb391d650a284), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Divide(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, aui6), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, aui4), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Divide(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(aui4))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Divide(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 4))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 6)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 4)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m602(1, 4, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Divide(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 1, Local1, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Divide(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 0xfe7cb391d650a284, Local1, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Divide(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, aui6, Local1, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Divide(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, aui4, Local1, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Divide(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(aui6)), Local1, Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Divide(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(aui4)), Local1, Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Divide(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 6)), Local1, Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Divide(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 4)), Local1, Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 6), Local1, Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Divide(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 4), Local1, Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m602(1, 6, 1)), Local1, Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Divide(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m602(1, 4, 1)), Local1, Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Divide(1, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Divide(0xfe7cb391d650a284, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 25, Local0, 1)
+
+ Store(Divide(aui6, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Divide(aui4, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 27, Local0, 1)
+
+ if (y078) {
+ Store(Divide(Derefof(Refof(aui6)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Divide(Derefof(Refof(aui4)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 29, Local0, 1)
+ }
+
+ Store(Divide(Derefof(Index(paui, 6)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Divide(Derefof(Index(paui, 4)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 31, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(m601(1, 6), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Divide(m601(1, 4), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 33, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(Derefof(m602(1, 6, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Divide(Derefof(m602(1, 4, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 35, Local0, 1)
+ }
+
+ Divide(1, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local1, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Divide(0xfe7cb391d650a284, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local1, Local0)
+ m600(arg0, 37, Local0, 1)
+
+ Divide(aui6, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local1, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Divide(aui4, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local1, Local0)
+ m600(arg0, 39, Local0, 1)
+
+ if (y078) {
+ Divide(Derefof(Refof(aui6)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local1, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Divide(Derefof(Refof(aui4)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local1, Local0)
+ m600(arg0, 41, Local0, 1)
+ }
+
+ Divide(Derefof(Index(paui, 6)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local1, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Divide(Derefof(Index(paui, 4)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local1, Local0)
+ m600(arg0, 43, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(m601(1, 6), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local1, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Divide(m601(1, 4), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local1, Local0)
+ m600(arg0, 45, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(Derefof(m602(1, 6, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local1, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Divide(Derefof(m602(1, 4, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local1, Local0)
+ m600(arg0, 47, Local0, 1)
+ }
+
+ // Conversion of the both operands
+
+ Store(Divide(Buffer(3){0x21, 0x03, 0x00}, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 48, Local0, 0)
+
+ Store(Divide(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 49, Local0, 0x0051558eb950f5a7)
+
+ Divide(Buffer(3){0x21, 0x03, 0x00}, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local1, Local0)
+ m600(arg0, 50, Local0, 0)
+
+ Divide(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Buffer(3){0x21, 0x03, 0x00}, Local1, Local0)
+ m600(arg0, 51, Local0, 0x0051558eb950f5a7)
+ }
+
+ // Divide, 32-bit
+ Method(m043, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Divide(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 1), Local0)
+ m600(arg0, 0, Local0, 0xd650a284)
+
+ Store(Divide(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 0xd650a284), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Divide(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, aui6), Local0)
+ m600(arg0, 2, Local0, 0xd650a284)
+
+ Store(Divide(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, auik), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Divide(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 4, Local0, 0xd650a284)
+
+ Store(Divide(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(auik))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Divide(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 6, Local0, 0xd650a284)
+
+ Store(Divide(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 20))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 6)), Local0)
+ m600(arg0, 8, Local0, 0xd650a284)
+
+ Store(Divide(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 20)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 10, Local0, 0xd650a284)
+
+ Store(Divide(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m602(1, 20, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Divide(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 1, Local1, Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ Divide(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 0xd650a284, Local1, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Divide(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, aui6, Local1, Local0)
+ m600(arg0, 14, Local0, 0xd650a284)
+
+ Divide(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, auik, Local1, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Divide(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(aui6)), Local1, Local0)
+ m600(arg0, 16, Local0, 0xd650a284)
+
+ Divide(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(auik)), Local1, Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Divide(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 6)), Local1, Local0)
+ m600(arg0, 18, Local0, 0xd650a284)
+
+ Divide(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 20)), Local1, Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 6), Local1, Local0)
+ m600(arg0, 20, Local0, 0xd650a284)
+
+ Divide(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 20), Local1, Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m602(1, 6, 1)), Local1, Local0)
+ m600(arg0, 22, Local0, 0xd650a284)
+
+ Divide(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m602(1, 20, 1)), Local1, Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Divide(1, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Divide(0xd650a284, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 25, Local0, 1)
+
+ Store(Divide(aui6, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Divide(auik, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 27, Local0, 1)
+
+ if (y078) {
+ Store(Divide(Derefof(Refof(aui6)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Divide(Derefof(Refof(auik)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 29, Local0, 1)
+ }
+
+ Store(Divide(Derefof(Index(paui, 6)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Divide(Derefof(Index(paui, 20)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 31, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(m601(1, 6), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Divide(m601(1, 20), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 33, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(Derefof(m602(1, 6, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Divide(Derefof(m602(1, 20, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 35, Local0, 1)
+ }
+
+ Divide(1, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local1, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Divide(0xd650a284, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local1, Local0)
+ m600(arg0, 37, Local0, 1)
+
+ Divide(aui6, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local1, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Divide(auik, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local1, Local0)
+ m600(arg0, 39, Local0, 1)
+
+ if (y078) {
+ Divide(Derefof(Refof(aui6)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local1, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Divide(Derefof(Refof(auik)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local1, Local0)
+ m600(arg0, 41, Local0, 1)
+ }
+
+ Divide(Derefof(Index(paui, 6)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local1, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Divide(Derefof(Index(paui, 20)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local1, Local0)
+ m600(arg0, 43, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(m601(1, 6), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local1, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Divide(m601(1, 20), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local1, Local0)
+ m600(arg0, 45, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(Derefof(m602(1, 6, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local1, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Divide(Derefof(m602(1, 20, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local1, Local0)
+ m600(arg0, 47, Local0, 1)
+ }
+
+ // Conversion of the both operands
+
+ Store(Divide(Buffer(3){0x21, 0x03, 0x00}, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 48, Local0, 0)
+
+ Store(Divide(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 49, Local0, 0x00447ec3)
+
+ Divide(Buffer(3){0x21, 0x03, 0x00}, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local1, Local0)
+ m600(arg0, 50, Local0, 0)
+
+ Divide(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Buffer(3){0x21, 0x03, 0x00}, Local1, Local0)
+ m600(arg0, 51, Local0, 0x00447ec3)
+ }
+
+ // Mod, common 32-bit/64-bit test
+ Method(m044, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Mod(Buffer(3){0x21, 0x03, 0x00}, 0x322), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Mod(Buffer(3){0x21, 0x03, 0x00}, 0x320), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Mod(Buffer(3){0x21, 0x03, 0x00}, auig), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Mod(Buffer(3){0x21, 0x03, 0x00}, auih), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Mod(Buffer(3){0x21, 0x03, 0x00}, Derefof(Refof(auig))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Mod(Buffer(3){0x21, 0x03, 0x00}, Derefof(Refof(auih))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Mod(Buffer(3){0x21, 0x03, 0x00}, Derefof(Index(paui, 16))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Mod(Buffer(3){0x21, 0x03, 0x00}, Derefof(Index(paui, 17))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Mod(Buffer(3){0x21, 0x03, 0x00}, m601(1, 16)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Mod(Buffer(3){0x21, 0x03, 0x00}, m601(1, 17)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(Buffer(3){0x21, 0x03, 0x00}, Derefof(m602(1, 16, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Mod(Buffer(3){0x21, 0x03, 0x00}, Derefof(m602(1, 17, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Mod(Buffer(3){0x21, 0x03, 0x00}, 0x322, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Mod(Buffer(3){0x21, 0x03, 0x00}, 0x320, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Mod(Buffer(3){0x21, 0x03, 0x00}, auig, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Mod(Buffer(3){0x21, 0x03, 0x00}, auih, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Mod(Buffer(3){0x21, 0x03, 0x00}, Derefof(Refof(auig)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Mod(Buffer(3){0x21, 0x03, 0x00}, Derefof(Refof(auih)), Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Mod(Buffer(3){0x21, 0x03, 0x00}, Derefof(Index(paui, 16)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Mod(Buffer(3){0x21, 0x03, 0x00}, Derefof(Index(paui, 17)), Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Mod(Buffer(3){0x21, 0x03, 0x00}, m601(1, 16), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Mod(Buffer(3){0x21, 0x03, 0x00}, m601(1, 17), Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(Buffer(3){0x21, 0x03, 0x00}, Derefof(m602(1, 16, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Mod(Buffer(3){0x21, 0x03, 0x00}, Derefof(m602(1, 17, 1)), Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Mod(0x322, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 24, Local0, 1)
+
+ Store(Mod(0x320, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 25, Local0, 0x320)
+
+ Store(Mod(auig, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 26, Local0, 1)
+
+ Store(Mod(auih, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 27, Local0, 0x320)
+
+ if (y078) {
+ Store(Mod(Derefof(Refof(auig)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 28, Local0, 1)
+
+ Store(Mod(Derefof(Refof(auih)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 29, Local0, 0x320)
+ }
+
+ Store(Mod(Derefof(Index(paui, 16)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 30, Local0, 1)
+
+ Store(Mod(Derefof(Index(paui, 17)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 31, Local0, 0x320)
+
+ // Method returns Integer
+
+ Store(Mod(m601(1, 16), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 32, Local0, 1)
+
+ Store(Mod(m601(1, 17), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 33, Local0, 0x320)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(Derefof(m602(1, 16, 1)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 34, Local0, 1)
+
+ Store(Mod(Derefof(m602(1, 17, 1)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 35, Local0, 0x320)
+ }
+
+ Mod(0x322, Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 36, Local0, 1)
+
+ Mod(0x320, Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 37, Local0, 0x320)
+
+ Mod(auig, Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 38, Local0, 1)
+
+ Mod(auih, Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 39, Local0, 0x320)
+
+ if (y078) {
+ Mod(Derefof(Refof(auig)), Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 40, Local0, 1)
+
+ Mod(Derefof(Refof(auih)), Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 41, Local0, 0x320)
+ }
+
+ Mod(Derefof(Index(paui, 16)), Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 42, Local0, 1)
+
+ Mod(Derefof(Index(paui, 17)), Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 43, Local0, 0x320)
+
+ // Method returns Integer
+
+ Mod(m601(1, 16), Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 44, Local0, 1)
+
+ Mod(m601(1, 17), Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 45, Local0, 0x320)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(Derefof(m602(1, 16, 1)), Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 46, Local0, 1)
+
+ Mod(Derefof(m602(1, 17, 1)), Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 47, Local0, 0x320)
+ }
+ }
+
+ // Mod, 64-bit
+ Method(m045, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Mod(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 0xfe7cb391d650a285), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 0xfe7cb391d650a283), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Mod(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, auid), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, auif), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Mod(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(auid))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(auif))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Mod(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 13))), Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 15))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Mod(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 13)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 15)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m602(1, 13, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m602(1, 15, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Mod(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 0xfe7cb391d650a285, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Mod(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 0xfe7cb391d650a283, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Mod(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, auid, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Mod(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, auif, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Mod(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(auid)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Mod(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(auif)), Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Mod(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 13)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Mod(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 15)), Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Mod(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 13), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Mod(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 15), Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m602(1, 13, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Mod(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m602(1, 15, 1)), Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Mod(0xfe7cb391d650a285, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 24, Local0, 1)
+
+ Store(Mod(0xfe7cb391d650a283, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 25, Local0, 0xfe7cb391d650a283)
+
+ Store(Mod(auid, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 26, Local0, 1)
+
+ Store(Mod(auif, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 27, Local0, 0xfe7cb391d650a283)
+
+ if (y078) {
+ Store(Mod(Derefof(Refof(auid)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 28, Local0, 1)
+
+ Store(Mod(Derefof(Refof(auif)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 29, Local0, 0xfe7cb391d650a283)
+ }
+
+ Store(Mod(Derefof(Index(paui, 13)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 30, Local0, 1)
+
+ Store(Mod(Derefof(Index(paui, 15)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 31, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Integer
+
+ Store(Mod(m601(1, 13), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 32, Local0, 1)
+
+ Store(Mod(m601(1, 15), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 33, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(Derefof(m602(1, 13, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 34, Local0, 1)
+
+ Store(Mod(Derefof(m602(1, 15, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 35, Local0, 0xfe7cb391d650a283)
+ }
+
+ Mod(0xfe7cb391d650a285, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 36, Local0, 1)
+
+ Mod(0xfe7cb391d650a283, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 37, Local0, 0xfe7cb391d650a283)
+
+ Mod(auid, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 38, Local0, 1)
+
+ Mod(auif, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 39, Local0, 0xfe7cb391d650a283)
+
+ if (y078) {
+ Mod(Derefof(Refof(auid)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 40, Local0, 1)
+
+ Mod(Derefof(Refof(auif)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 41, Local0, 0xfe7cb391d650a283)
+ }
+
+ Mod(Derefof(Index(paui, 13)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 42, Local0, 1)
+
+ Mod(Derefof(Index(paui, 15)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 43, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Integer
+
+ Mod(m601(1, 13), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 44, Local0, 1)
+
+ Mod(m601(1, 15), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 45, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(Derefof(m602(1, 13, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 46, Local0, 1)
+
+ Mod(Derefof(m602(1, 15, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 47, Local0, 0xfe7cb391d650a283)
+ }
+
+ // Conversion of the both operands
+
+ Store(Mod(Buffer(3){0x21, 0x03, 0x00}, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 48, Local0, 0x321)
+
+ Store(Mod(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 49, Local0, 0x2fd)
+
+ Mod(Buffer(3){0x21, 0x03, 0x00}, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 50, Local0, 0x321)
+
+ Mod(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 51, Local0, 0x2fd)
+ }
+
+ // Mod, 32-bit
+ Method(m046, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Mod(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 0xd650a285), Local0)
+ m600(arg0, 0, Local0, 0xd650a284)
+
+ Store(Mod(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 0xd650a283), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Mod(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, auil), Local0)
+ m600(arg0, 2, Local0, 0xd650a284)
+
+ Store(Mod(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, auim), Local0)
+ m600(arg0, 14, Local0, 1)
+
+ if (y078) {
+ Store(Mod(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(auil))), Local0)
+ m600(arg0, 4, Local0, 0xd650a284)
+
+ Store(Mod(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(auim))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Mod(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 21))), Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ Store(Mod(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 22))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Mod(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 21)), Local0)
+ m600(arg0, 8, Local0, 0xd650a284)
+
+ Store(Mod(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 22)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m601(1, 21, 1))), Local0)
+ m600(arg0, 10, Local0, 0xd650a284)
+
+ Store(Mod(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m601(1, 22, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Mod(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 0xd650a285, Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ Mod(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 0xd650a283, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Mod(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, auil, Local0)
+ m600(arg0, 14, Local0, 0xd650a284)
+
+ Mod(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, auim, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Mod(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(auil)), Local0)
+ m600(arg0, 16, Local0, 0xd650a284)
+
+ Mod(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(auim)), Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Mod(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 21)), Local0)
+ m600(arg0, 18, Local0, 0xd650a284)
+
+ Mod(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 22)), Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Mod(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 21), Local0)
+ m600(arg0, 20, Local0, 0xd650a284)
+
+ Mod(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 22), Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m601(1, 21, 1)), Local0)
+ m600(arg0, 22, Local0, 0xd650a284)
+
+ Mod(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m601(1, 22, 1)), Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Mod(0xd650a285, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 24, Local0, 1)
+
+ Store(Mod(0xd650a283, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 25, Local0, 0xd650a283)
+
+ Store(Mod(auil, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 26, Local0, 1)
+
+ Store(Mod(auim, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 27, Local0, 0xd650a283)
+
+ if (y078) {
+ Store(Mod(Derefof(Refof(auil)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 28, Local0, 1)
+
+ Store(Mod(Derefof(Refof(auim)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 29, Local0, 0xd650a283)
+ }
+
+ Store(Mod(Derefof(Index(paui, 21)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 30, Local0, 1)
+
+ Store(Mod(Derefof(Index(paui, 22)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 31, Local0, 0xd650a283)
+
+ // Method returns Integer
+
+ Store(Mod(m601(1, 21), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 32, Local0, 1)
+
+ Store(Mod(m601(1, 22), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 33, Local0, 0xd650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(Derefof(m601(1, 21, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 34, Local0, 1)
+
+ Store(Mod(Derefof(m601(1, 22, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 35, Local0, 0xd650a283)
+ }
+
+ Mod(0xd650a285, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 36, Local0, 1)
+
+ Mod(0xd650a283, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 37, Local0, 0xd650a283)
+
+ Mod(auil, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 38, Local0, 1)
+
+ Mod(auim, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 39, Local0, 0xd650a283)
+
+ if (y078) {
+ Mod(Derefof(Refof(auil)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 40, Local0, 1)
+
+ Mod(Derefof(Refof(auim)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 41, Local0, 0xd650a283)
+ }
+
+ Mod(Derefof(Index(paui, 21)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 42, Local0, 1)
+
+ Mod(Derefof(Index(paui, 22)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 43, Local0, 0xd650a283)
+
+ // Method returns Integer
+
+ Mod(m601(1, 21), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 44, Local0, 1)
+
+ Mod(m601(1, 22), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 45, Local0, 0xd650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(Derefof(m601(1, 21, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 46, Local0, 1)
+
+ Mod(Derefof(m601(1, 22, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 47, Local0, 0xd650a283)
+ }
+
+ // Conversion of the both operands
+
+ Store(Mod(Buffer(3){0x21, 0x03, 0x00}, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 48, Local0, 0x321)
+
+ Store(Mod(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 49, Local0, 0x261)
+
+ Mod(Buffer(3){0x21, 0x03, 0x00}, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 50, Local0, 0x321)
+
+ Mod(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 51, Local0, 0x261)
+ }
+
+ // Multiply, common 32-bit/64-bit test
+ Method(m047, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Multiply(Buffer(3){0x21, 0x03, 0x00}, 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(Multiply(Buffer(3){0x21, 0x03, 0x00}, 1), Local0)
+ m600(arg0, 1, Local0, 0x321)
+
+ Store(Multiply(Buffer(3){0x21, 0x03, 0x00}, aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(Multiply(Buffer(3){0x21, 0x03, 0x00}, aui6), Local0)
+ m600(arg0, 3, Local0, 0x321)
+
+ if (y078) {
+ Store(Multiply(Buffer(3){0x21, 0x03, 0x00}, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(Multiply(Buffer(3){0x21, 0x03, 0x00}, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x321)
+ }
+
+ Store(Multiply(Buffer(3){0x21, 0x03, 0x00}, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(Multiply(Buffer(3){0x21, 0x03, 0x00}, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x321)
+
+ // Method returns Integer
+
+ Store(Multiply(Buffer(3){0x21, 0x03, 0x00}, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(Multiply(Buffer(3){0x21, 0x03, 0x00}, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(Buffer(3){0x21, 0x03, 0x00}, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(Multiply(Buffer(3){0x21, 0x03, 0x00}, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x321)
+ }
+
+ Multiply(Buffer(3){0x21, 0x03, 0x00}, 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ Multiply(Buffer(3){0x21, 0x03, 0x00}, 1, Local0)
+ m600(arg0, 13, Local0, 0x321)
+
+ Multiply(Buffer(3){0x21, 0x03, 0x00}, aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ Multiply(Buffer(3){0x21, 0x03, 0x00}, aui6, Local0)
+ m600(arg0, 15, Local0, 0x321)
+
+ if (y078) {
+ Multiply(Buffer(3){0x21, 0x03, 0x00}, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ Multiply(Buffer(3){0x21, 0x03, 0x00}, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x321)
+ }
+
+ Multiply(Buffer(3){0x21, 0x03, 0x00}, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ Multiply(Buffer(3){0x21, 0x03, 0x00}, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x321)
+
+ // Method returns Integer
+
+ Multiply(Buffer(3){0x21, 0x03, 0x00}, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ Multiply(Buffer(3){0x21, 0x03, 0x00}, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(Buffer(3){0x21, 0x03, 0x00}, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ Multiply(Buffer(3){0x21, 0x03, 0x00}, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x321)
+ }
+
+ // Conversion of the second operand
+
+ Store(Multiply(0, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Multiply(1, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 25, Local0, 0x321)
+
+ Store(Multiply(aui5, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Multiply(aui6, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 27, Local0, 0x321)
+
+ if (y078) {
+ Store(Multiply(Derefof(Refof(aui5)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(aui6)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 29, Local0, 0x321)
+ }
+
+ Store(Multiply(Derefof(Index(paui, 5)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Multiply(Derefof(Index(paui, 6)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 31, Local0, 0x321)
+
+ // Method returns Integer
+
+ Store(Multiply(m601(1, 5), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Multiply(m601(1, 6), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 33, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(Derefof(m602(1, 5, 1)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Multiply(Derefof(m602(1, 6, 1)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 35, Local0, 0x321)
+ }
+
+ Multiply(0, Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Multiply(1, Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 37, Local0, 0x321)
+
+ Multiply(aui5, Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Multiply(aui6, Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 39, Local0, 0x321)
+
+ if (y078) {
+ Multiply(Derefof(Refof(aui5)), Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Multiply(Derefof(Refof(aui6)), Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 41, Local0, 0x321)
+ }
+
+ Multiply(Derefof(Index(paui, 5)), Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Multiply(Derefof(Index(paui, 6)), Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 43, Local0, 0x321)
+
+ // Method returns Integer
+
+ Multiply(m601(1, 5), Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Multiply(m601(1, 6), Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 45, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(Derefof(m602(1, 5, 1)), Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Multiply(Derefof(m602(1, 6, 1)), Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 47, Local0, 0x321)
+ }
+ }
+
+ // Multiply, 64-bit
+ Method(m048, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Multiply(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(Multiply(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 1), Local0)
+ m600(arg0, 1, Local0, 0xfe7cb391d650a284)
+
+ Store(Multiply(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(Multiply(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, aui6), Local0)
+ m600(arg0, 3, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Store(Multiply(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(Multiply(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xfe7cb391d650a284)
+ }
+
+ Store(Multiply(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(Multiply(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Store(Multiply(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(Multiply(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(Multiply(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfe7cb391d650a284)
+ }
+
+ Multiply(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ Multiply(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 1, Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a284)
+
+ Multiply(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ Multiply(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, aui6, Local0)
+ m600(arg0, 15, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Multiply(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ Multiply(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xfe7cb391d650a284)
+ }
+
+ Multiply(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ Multiply(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Multiply(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ Multiply(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ Multiply(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfe7cb391d650a284)
+ }
+
+ // Conversion of the second operand
+
+ Store(Multiply(0, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Multiply(1, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 25, Local0, 0xfe7cb391d650a284)
+
+ Store(Multiply(aui5, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Multiply(aui6, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 27, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Store(Multiply(Derefof(Refof(aui5)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(aui6)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 29, Local0, 0xfe7cb391d650a284)
+ }
+
+ Store(Multiply(Derefof(Index(paui, 5)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Multiply(Derefof(Index(paui, 6)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 31, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Store(Multiply(m601(1, 5), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Multiply(m601(1, 6), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 33, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(Derefof(m602(1, 5, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Multiply(Derefof(m602(1, 6, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 35, Local0, 0xfe7cb391d650a284)
+ }
+
+ Multiply(0, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Multiply(1, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 37, Local0, 0xfe7cb391d650a284)
+
+ Multiply(aui5, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Multiply(aui6, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 39, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Multiply(Derefof(Refof(aui5)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Multiply(Derefof(Refof(aui6)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 41, Local0, 0xfe7cb391d650a284)
+ }
+
+ Multiply(Derefof(Index(paui, 5)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Multiply(Derefof(Index(paui, 6)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 43, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Multiply(m601(1, 5), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Multiply(m601(1, 6), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 45, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(Derefof(m602(1, 5, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Multiply(Derefof(m602(1, 6, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 47, Local0, 0xfe7cb391d650a284)
+ }
+
+ // Conversion of the both operands
+
+ Store(Multiply(Buffer(3){0x21, 0x03, 0x00}, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 48, Local0, 0x442ddb4f924c7f04)
+
+ Store(Multiply(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 49, Local0, 0x442ddb4f924c7f04)
+
+ Multiply(Buffer(3){0x21, 0x03, 0x00}, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 50, Local0, 0x442ddb4f924c7f04)
+
+ Multiply(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 51, Local0, 0x442ddb4f924c7f04)
+ }
+
+ // Multiply, 32-bit
+ Method(m049, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Multiply(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(Multiply(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 1), Local0)
+ m600(arg0, 1, Local0, 0xd650a284)
+
+ Store(Multiply(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(Multiply(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, aui6), Local0)
+ m600(arg0, 3, Local0, 0xd650a284)
+
+ if (y078) {
+ Store(Multiply(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(Multiply(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xd650a284)
+ }
+
+ Store(Multiply(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(Multiply(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xd650a284)
+
+ // Method returns Integer
+
+ Store(Multiply(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(Multiply(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xd650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(Multiply(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xd650a284)
+ }
+
+ Multiply(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ Multiply(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 1, Local0)
+ m600(arg0, 13, Local0, 0xd650a284)
+
+ Multiply(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ Multiply(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, aui6, Local0)
+ m600(arg0, 15, Local0, 0xd650a284)
+
+ if (y078) {
+ Multiply(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ Multiply(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xd650a284)
+ }
+
+ Multiply(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ Multiply(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xd650a284)
+
+ // Method returns Integer
+
+ Multiply(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ Multiply(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xd650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ Multiply(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xd650a284)
+ }
+
+ // Conversion of the second operand
+
+ Store(Multiply(0, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Multiply(1, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 25, Local0, 0xd650a284)
+
+ Store(Multiply(aui5, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Multiply(aui6, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 27, Local0, 0xd650a284)
+
+ if (y078) {
+ Store(Multiply(Derefof(Refof(aui5)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(aui6)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 29, Local0, 0xd650a284)
+ }
+
+ Store(Multiply(Derefof(Index(paui, 5)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Multiply(Derefof(Index(paui, 6)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 31, Local0, 0xd650a284)
+
+ // Method returns Integer
+
+ Store(Multiply(m601(1, 5), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Multiply(m601(1, 6), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 33, Local0, 0xd650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(Derefof(m602(1, 5, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Multiply(Derefof(m602(1, 6, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 35, Local0, 0xd650a284)
+ }
+
+ Multiply(0, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Multiply(1, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 37, Local0, 0xd650a284)
+
+ Multiply(aui5, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Multiply(aui6, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 39, Local0, 0xd650a284)
+
+ if (y078) {
+ Multiply(Derefof(Refof(aui5)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Multiply(Derefof(Refof(aui6)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 41, Local0, 0xd650a284)
+ }
+
+ Multiply(Derefof(Index(paui, 5)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Multiply(Derefof(Index(paui, 6)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 43, Local0, 0xd650a284)
+
+ // Method returns Integer
+
+ Multiply(m601(1, 5), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Multiply(m601(1, 6), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 45, Local0, 0xd650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(Derefof(m602(1, 5, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Multiply(Derefof(m602(1, 6, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 47, Local0, 0xd650a284)
+ }
+
+ // Conversion of the both operands
+
+ Store(Multiply(Buffer(3){0x21, 0x03, 0x00}, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 48, Local0, 0x924c7f04)
+
+ Store(Multiply(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 49, Local0, 0x924c7f04)
+
+ Multiply(Buffer(3){0x21, 0x03, 0x00}, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 50, Local0, 0x924c7f04)
+
+ Multiply(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 51, Local0, 0x924c7f04)
+ }
+
+ // NAnd, common 32-bit/64-bit test
+ Method(m04a, 1)
+ {
+ // Conversion of the first operand
+
+ Store(NAnd(Buffer(3){0x21, 0x03, 0x00}, 0), Local0)
+ m600(arg0, 0, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Buffer(3){0x21, 0x03, 0x00}, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xfffffffffffffcde)
+
+ Store(NAnd(Buffer(3){0x21, 0x03, 0x00}, aui5), Local0)
+ m600(arg0, 2, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Buffer(3){0x21, 0x03, 0x00}, auij), Local0)
+ m600(arg0, 3, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ Store(NAnd(Buffer(3){0x21, 0x03, 0x00}, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Buffer(3){0x21, 0x03, 0x00}, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xfffffffffffffcde)
+ }
+
+ Store(NAnd(Buffer(3){0x21, 0x03, 0x00}, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Buffer(3){0x21, 0x03, 0x00}, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ Store(NAnd(Buffer(3){0x21, 0x03, 0x00}, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Buffer(3){0x21, 0x03, 0x00}, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(Buffer(3){0x21, 0x03, 0x00}, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Buffer(3){0x21, 0x03, 0x00}, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfffffffffffffcde)
+ }
+
+ NAnd(Buffer(3){0x21, 0x03, 0x00}, 0, Local0)
+ m600(arg0, 12, Local0, 0xffffffffffffffff)
+
+ NAnd(Buffer(3){0x21, 0x03, 0x00}, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xfffffffffffffcde)
+
+ NAnd(Buffer(3){0x21, 0x03, 0x00}, aui5, Local0)
+ m600(arg0, 14, Local0, 0xffffffffffffffff)
+
+ NAnd(Buffer(3){0x21, 0x03, 0x00}, auij, Local0)
+ m600(arg0, 15, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ NAnd(Buffer(3){0x21, 0x03, 0x00}, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xffffffffffffffff)
+
+ NAnd(Buffer(3){0x21, 0x03, 0x00}, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xfffffffffffffcde)
+ }
+
+ NAnd(Buffer(3){0x21, 0x03, 0x00}, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xffffffffffffffff)
+
+ NAnd(Buffer(3){0x21, 0x03, 0x00}, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ NAnd(Buffer(3){0x21, 0x03, 0x00}, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xffffffffffffffff)
+
+ NAnd(Buffer(3){0x21, 0x03, 0x00}, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(Buffer(3){0x21, 0x03, 0x00}, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xffffffffffffffff)
+
+ NAnd(Buffer(3){0x21, 0x03, 0x00}, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfffffffffffffcde)
+ }
+
+ // Conversion of the second operand
+
+ Store(NAnd(0, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 24, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(0xffffffffffffffff, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 25, Local0, 0xfffffffffffffcde)
+
+ Store(NAnd(aui5, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 26, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(auij, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 27, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ Store(NAnd(Derefof(Refof(aui5)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 28, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Refof(auij)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 29, Local0, 0xfffffffffffffcde)
+ }
+
+ Store(NAnd(Derefof(Index(paui, 5)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 30, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Index(paui, 19)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 31, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ Store(NAnd(m601(1, 5), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 32, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(m601(1, 19), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 33, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(Derefof(m602(1, 5, 1)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 34, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(m602(1, 19, 1)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 35, Local0, 0xfffffffffffffcde)
+ }
+
+ NAnd(0, Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 36, Local0, 0xffffffffffffffff)
+
+ NAnd(0xffffffffffffffff, Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 37, Local0, 0xfffffffffffffcde)
+
+ NAnd(aui5, Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 38, Local0, 0xffffffffffffffff)
+
+ NAnd(auij, Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 39, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ NAnd(Derefof(Refof(aui5)), Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 40, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Refof(auij)), Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 41, Local0, 0xfffffffffffffcde)
+ }
+
+ NAnd(Derefof(Index(paui, 5)), Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 42, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Index(paui, 19)), Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 43, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ NAnd(m601(1, 5), Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 44, Local0, 0xffffffffffffffff)
+
+ NAnd(m601(1, 19), Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 45, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(Derefof(m602(1, 5, 1)), Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 46, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(m602(1, 19, 1)), Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 47, Local0, 0xfffffffffffffcde)
+ }
+ }
+
+ // NAnd, 64-bit
+ Method(m04b, 1)
+ {
+ // Conversion of the first operand
+
+ Store(NAnd(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 0), Local0)
+ m600(arg0, 0, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0x01834c6e29af5d7b)
+
+ Store(NAnd(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, aui5), Local0)
+ m600(arg0, 2, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, auij), Local0)
+ m600(arg0, 3, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ Store(NAnd(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Store(NAnd(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ Store(NAnd(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0x01834c6e29af5d7b)
+ }
+
+ NAnd(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 0, Local0)
+ m600(arg0, 12, Local0, 0xffffffffffffffff)
+
+ NAnd(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0x01834c6e29af5d7b)
+
+ NAnd(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, aui5, Local0)
+ m600(arg0, 14, Local0, 0xffffffffffffffff)
+
+ NAnd(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, auij, Local0)
+ m600(arg0, 15, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ NAnd(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xffffffffffffffff)
+
+ NAnd(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0x01834c6e29af5d7b)
+ }
+
+ NAnd(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xffffffffffffffff)
+
+ NAnd(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ NAnd(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xffffffffffffffff)
+
+ NAnd(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xffffffffffffffff)
+
+ NAnd(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0x01834c6e29af5d7b)
+ }
+
+ // Conversion of the second operand
+
+ Store(NAnd(0, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 24, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(0xffffffffffffffff, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 25, Local0, 0x01834c6e29af5d7b)
+
+ Store(NAnd(aui5, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 26, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(auij, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 27, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ Store(NAnd(Derefof(Refof(aui5)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 28, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Refof(auij)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 29, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Store(NAnd(Derefof(Index(paui, 5)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 30, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Index(paui, 19)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 31, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ Store(NAnd(m601(1, 5), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 32, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(m601(1, 19), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 33, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(Derefof(m602(1, 5, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 34, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(m602(1, 19, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 35, Local0, 0x01834c6e29af5d7b)
+ }
+
+ NAnd(0, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 36, Local0, 0xffffffffffffffff)
+
+ NAnd(0xffffffffffffffff, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 37, Local0, 0x01834c6e29af5d7b)
+
+ NAnd(aui5, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 38, Local0, 0xffffffffffffffff)
+
+ NAnd(auij, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 39, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ NAnd(Derefof(Refof(aui5)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 40, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Refof(auij)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 41, Local0, 0x01834c6e29af5d7b)
+ }
+
+ NAnd(Derefof(Index(paui, 5)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 42, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Index(paui, 19)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 43, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ NAnd(m601(1, 5), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 44, Local0, 0xffffffffffffffff)
+
+ NAnd(m601(1, 19), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 45, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(Derefof(m602(1, 5, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 46, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(m602(1, 19, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 47, Local0, 0x01834c6e29af5d7b)
+ }
+
+ // Conversion of the both operands
+
+ Store(NAnd(Buffer(3){0x21, 0x03, 0x00}, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 48, Local0, 0xfffffffffffffdff)
+
+ Store(NAnd(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 49, Local0, 0xfffffffffffffdff)
+
+ NAnd(Buffer(3){0x21, 0x03, 0x00}, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 50, Local0, 0xfffffffffffffdff)
+
+ NAnd(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 51, Local0, 0xfffffffffffffdff)
+ }
+
+ // NAnd, 32-bit
+ Method(m04c, 1)
+ {
+ // Conversion of the first operand
+
+ Store(NAnd(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 0), Local0)
+ m600(arg0, 0, Local0, 0xffffffff)
+
+ Store(NAnd(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0x29af5d7b)
+
+ Store(NAnd(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, aui5), Local0)
+ m600(arg0, 2, Local0, 0xffffffff)
+
+ Store(NAnd(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, auii), Local0)
+ m600(arg0, 3, Local0, 0x29af5d7b)
+
+ if (y078) {
+ Store(NAnd(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xffffffff)
+
+ Store(NAnd(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0x29af5d7b)
+ }
+
+ Store(NAnd(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xffffffff)
+
+ Store(NAnd(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0x29af5d7b)
+
+ // Method returns Integer
+
+ Store(NAnd(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xffffffff)
+
+ Store(NAnd(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0x29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xffffffff)
+
+ Store(NAnd(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0x29af5d7b)
+ }
+
+ NAnd(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 0, Local0)
+ m600(arg0, 12, Local0, 0xffffffff)
+
+ NAnd(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0x29af5d7b)
+
+ NAnd(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, aui5, Local0)
+ m600(arg0, 14, Local0, 0xffffffff)
+
+ NAnd(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, auii, Local0)
+ m600(arg0, 15, Local0, 0x29af5d7b)
+
+ if (y078) {
+ NAnd(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xffffffff)
+
+ NAnd(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0x29af5d7b)
+ }
+
+ NAnd(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xffffffff)
+
+ NAnd(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0x29af5d7b)
+
+ // Method returns Integer
+
+ NAnd(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xffffffff)
+
+ NAnd(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0x29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xffffffff)
+
+ NAnd(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0x29af5d7b)
+ }
+
+ // Conversion of the second operand
+
+ Store(NAnd(0, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 24, Local0, 0xffffffff)
+
+ Store(NAnd(0xffffffff, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 25, Local0, 0x29af5d7b)
+
+ Store(NAnd(aui5, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 26, Local0, 0xffffffff)
+
+ Store(NAnd(auii, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 27, Local0, 0x29af5d7b)
+
+ if (y078) {
+ Store(NAnd(Derefof(Refof(aui5)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 28, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(Refof(auii)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 29, Local0, 0x29af5d7b)
+ }
+
+ Store(NAnd(Derefof(Index(paui, 5)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 30, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(Index(paui, 18)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 31, Local0, 0x29af5d7b)
+
+ // Method returns Integer
+
+ Store(NAnd(m601(1, 5), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 32, Local0, 0xffffffff)
+
+ Store(NAnd(m601(1, 18), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 33, Local0, 0x29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(Derefof(m602(1, 5, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 34, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(m602(1, 18, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 35, Local0, 0x29af5d7b)
+ }
+
+ NAnd(0, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 36, Local0, 0xffffffff)
+
+ NAnd(0xffffffff, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 37, Local0, 0x29af5d7b)
+
+ NAnd(aui5, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 38, Local0, 0xffffffff)
+
+ NAnd(auii, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 39, Local0, 0x29af5d7b)
+
+ if (y078) {
+ NAnd(Derefof(Refof(aui5)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 40, Local0, 0xffffffff)
+
+ NAnd(Derefof(Refof(auii)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 41, Local0, 0x29af5d7b)
+ }
+
+ NAnd(Derefof(Index(paui, 5)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 42, Local0, 0xffffffff)
+
+ NAnd(Derefof(Index(paui, 18)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 43, Local0, 0x29af5d7b)
+
+ // Method returns Integer
+
+ NAnd(m601(1, 5), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 44, Local0, 0xffffffff)
+
+ NAnd(m601(1, 18), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 45, Local0, 0x29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(Derefof(m602(1, 5, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 46, Local0, 0xffffffff)
+
+ NAnd(Derefof(m602(1, 18, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 47, Local0, 0x29af5d7b)
+ }
+
+ // Conversion of the both operands
+
+ Store(NAnd(Buffer(3){0x21, 0x03, 0x00}, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 48, Local0, 0xfffffdff)
+
+ Store(NAnd(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 49, Local0, 0xfffffdff)
+
+ NAnd(Buffer(3){0x21, 0x03, 0x00}, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 50, Local0, 0xfffffdff)
+
+ NAnd(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 51, Local0, 0xfffffdff)
+ }
+
+ // NOr, common 32-bit/64-bit test
+ Method(m04d, 1)
+ {
+ // Conversion of the first operand
+
+ Store(NOr(Buffer(3){0x21, 0x03, 0x00}, 0), Local0)
+ m600(arg0, 0, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Buffer(3){0x21, 0x03, 0x00}, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0)
+
+ Store(NOr(Buffer(3){0x21, 0x03, 0x00}, aui5), Local0)
+ m600(arg0, 2, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Buffer(3){0x21, 0x03, 0x00}, auij), Local0)
+ m600(arg0, 3, Local0, 0)
+
+ if (y078) {
+ Store(NOr(Buffer(3){0x21, 0x03, 0x00}, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Buffer(3){0x21, 0x03, 0x00}, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0)
+ }
+
+ Store(NOr(Buffer(3){0x21, 0x03, 0x00}, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Buffer(3){0x21, 0x03, 0x00}, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(Buffer(3){0x21, 0x03, 0x00}, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Buffer(3){0x21, 0x03, 0x00}, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(Buffer(3){0x21, 0x03, 0x00}, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Buffer(3){0x21, 0x03, 0x00}, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0)
+ }
+
+ NOr(Buffer(3){0x21, 0x03, 0x00}, 0, Local0)
+ m600(arg0, 12, Local0, 0xfffffffffffffcde)
+
+ NOr(Buffer(3){0x21, 0x03, 0x00}, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0)
+
+ NOr(Buffer(3){0x21, 0x03, 0x00}, aui5, Local0)
+ m600(arg0, 14, Local0, 0xfffffffffffffcde)
+
+ NOr(Buffer(3){0x21, 0x03, 0x00}, auij, Local0)
+ m600(arg0, 15, Local0, 0)
+
+ if (y078) {
+ NOr(Buffer(3){0x21, 0x03, 0x00}, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfffffffffffffcde)
+
+ NOr(Buffer(3){0x21, 0x03, 0x00}, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0)
+ }
+
+ NOr(Buffer(3){0x21, 0x03, 0x00}, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfffffffffffffcde)
+
+ NOr(Buffer(3){0x21, 0x03, 0x00}, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(Buffer(3){0x21, 0x03, 0x00}, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfffffffffffffcde)
+
+ NOr(Buffer(3){0x21, 0x03, 0x00}, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(Buffer(3){0x21, 0x03, 0x00}, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfffffffffffffcde)
+
+ NOr(Buffer(3){0x21, 0x03, 0x00}, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0)
+ }
+
+ // Conversion of the second operand
+
+ Store(NOr(0, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 24, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(0xffffffffffffffff, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 25, Local0, 0)
+
+ Store(NOr(aui5, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 26, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(auij, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 27, Local0, 0)
+
+ if (y078) {
+ Store(NOr(Derefof(Refof(aui5)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 28, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(Refof(auij)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 29, Local0, 0)
+ }
+
+ Store(NOr(Derefof(Index(paui, 5)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 30, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(Index(paui, 19)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 31, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(m601(1, 5), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 32, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(m601(1, 19), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 33, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(Derefof(m602(1, 5, 1)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 34, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(m602(1, 19, 1)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 35, Local0, 0)
+ }
+
+ NOr(0, Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 36, Local0, 0xfffffffffffffcde)
+
+ NOr(0xffffffffffffffff, Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 37, Local0, 0)
+
+ NOr(aui5, Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 38, Local0, 0xfffffffffffffcde)
+
+ NOr(auij, Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 39, Local0, 0)
+
+ if (y078) {
+ NOr(Derefof(Refof(aui5)), Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 40, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(Refof(auij)), Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 41, Local0, 0)
+ }
+
+ NOr(Derefof(Index(paui, 5)), Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 42, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(Index(paui, 19)), Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 43, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(m601(1, 5), Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 44, Local0, 0xfffffffffffffcde)
+
+ NOr(m601(1, 19), Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 45, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(Derefof(m602(1, 5, 1)), Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 46, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(m602(1, 19, 1)), Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 47, Local0, 0)
+ }
+ }
+
+ // NOr, 64-bit
+ Method(m04e, 1)
+ {
+ // Conversion of the first operand
+
+ Store(NOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 0), Local0)
+ m600(arg0, 0, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0)
+
+ Store(NOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, aui5), Local0)
+ m600(arg0, 2, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, auij), Local0)
+ m600(arg0, 3, Local0, 0)
+
+ if (y078) {
+ Store(NOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0)
+ }
+
+ Store(NOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0)
+ }
+
+ NOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 0, Local0)
+ m600(arg0, 12, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0)
+
+ NOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, aui5, Local0)
+ m600(arg0, 14, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, auij, Local0)
+ m600(arg0, 15, Local0, 0)
+
+ if (y078) {
+ NOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0)
+ }
+
+ NOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0)
+ }
+
+ // Conversion of the second operand
+
+ Store(NOr(0, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 24, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(0xffffffffffffffff, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 25, Local0, 0)
+
+ Store(NOr(aui5, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 26, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(auij, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 27, Local0, 0)
+
+ if (y078) {
+ Store(NOr(Derefof(Refof(aui5)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 28, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(Refof(auij)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 29, Local0, 0)
+ }
+
+ Store(NOr(Derefof(Index(paui, 5)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 30, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(Index(paui, 19)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 31, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(m601(1, 5), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 32, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(m601(1, 19), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 33, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(Derefof(m602(1, 5, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 34, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(m602(1, 19, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 35, Local0, 0)
+ }
+
+ NOr(0, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 36, Local0, 0x01834c6e29af5d7b)
+
+ NOr(0xffffffffffffffff, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 37, Local0, 0)
+
+ NOr(aui5, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 38, Local0, 0x01834c6e29af5d7b)
+
+ NOr(auij, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 39, Local0, 0)
+
+ if (y078) {
+ NOr(Derefof(Refof(aui5)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 40, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(Refof(auij)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 41, Local0, 0)
+ }
+
+ NOr(Derefof(Index(paui, 5)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 42, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(Index(paui, 19)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 43, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(m601(1, 5), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 44, Local0, 0x01834c6e29af5d7b)
+
+ NOr(m601(1, 19), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 45, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(Derefof(m602(1, 5, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 46, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(m602(1, 19, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 47, Local0, 0)
+ }
+
+ // Conversion of the both operands
+
+ Store(NOr(Buffer(3){0x21, 0x03, 0x00}, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 48, Local0, 0x01834c6e29af5c5a)
+
+ Store(NOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 49, Local0, 0x01834c6e29af5c5a)
+
+ NOr(Buffer(3){0x21, 0x03, 0x00}, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 50, Local0, 0x01834c6e29af5c5a)
+
+ NOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 51, Local0, 0x01834c6e29af5c5a)
+ }
+
+ // NOr, 32-bit
+ Method(m04f, 1)
+ {
+ // Conversion of the first operand
+
+ Store(NOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 0), Local0)
+ m600(arg0, 0, Local0, 0x29af5d7b)
+
+ Store(NOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0)
+
+ Store(NOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, aui5), Local0)
+ m600(arg0, 2, Local0, 0x29af5d7b)
+
+ Store(NOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, auii), Local0)
+ m600(arg0, 3, Local0, 0)
+
+ if (y078) {
+ Store(NOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x29af5d7b)
+
+ Store(NOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0)
+ }
+
+ Store(NOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x29af5d7b)
+
+ Store(NOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x29af5d7b)
+
+ Store(NOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x29af5d7b)
+
+ Store(NOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0)
+ }
+
+ NOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 0, Local0)
+ m600(arg0, 12, Local0, 0x29af5d7b)
+
+ NOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0)
+
+ NOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, aui5, Local0)
+ m600(arg0, 14, Local0, 0x29af5d7b)
+
+ NOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, auii, Local0)
+ m600(arg0, 15, Local0, 0)
+
+ if (y078) {
+ NOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x29af5d7b)
+
+ NOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0)
+ }
+
+ NOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x29af5d7b)
+
+ NOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x29af5d7b)
+
+ NOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x29af5d7b)
+
+ NOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0)
+ }
+
+ // Conversion of the second operand
+
+ Store(NOr(0, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 24, Local0, 0x29af5d7b)
+
+ Store(NOr(0xffffffff, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 25, Local0, 0)
+
+ Store(NOr(aui5, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 26, Local0, 0x29af5d7b)
+
+ Store(NOr(auii, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 27, Local0, 0)
+
+ if (y078) {
+ Store(NOr(Derefof(Refof(aui5)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 28, Local0, 0x29af5d7b)
+
+ Store(NOr(Derefof(Refof(auii)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 29, Local0, 0)
+ }
+
+ Store(NOr(Derefof(Index(paui, 5)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 30, Local0, 0x29af5d7b)
+
+ Store(NOr(Derefof(Index(paui, 18)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 31, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(m601(1, 5), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 32, Local0, 0x29af5d7b)
+
+ Store(NOr(m601(1, 18), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 33, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(Derefof(m602(1, 5, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 34, Local0, 0x29af5d7b)
+
+ Store(NOr(Derefof(m602(1, 18, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 35, Local0, 0)
+ }
+
+ NOr(0, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 36, Local0, 0x29af5d7b)
+
+ NOr(0xffffffff, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 37, Local0, 0)
+
+ NOr(aui5, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 38, Local0, 0x29af5d7b)
+
+ NOr(auii, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 39, Local0, 0)
+
+ if (y078) {
+ NOr(Derefof(Refof(aui5)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 40, Local0, 0x29af5d7b)
+
+ NOr(Derefof(Refof(auii)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 41, Local0, 0)
+ }
+
+ NOr(Derefof(Index(paui, 5)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 42, Local0, 0x29af5d7b)
+
+ NOr(Derefof(Index(paui, 18)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 43, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(m601(1, 5), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 44, Local0, 0x29af5d7b)
+
+ NOr(m601(1, 18), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 45, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(Derefof(m602(1, 5, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 46, Local0, 0x29af5d7b)
+
+ NOr(Derefof(m602(1, 18, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 47, Local0, 0)
+ }
+
+ // Conversion of the both operands
+
+ Store(NOr(Buffer(3){0x21, 0x03, 0x00}, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 48, Local0, 0x29af5c5a)
+
+ Store(NOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 49, Local0, 0x29af5c5a)
+
+ NOr(Buffer(3){0x21, 0x03, 0x00}, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 50, Local0, 0x29af5c5a)
+
+ NOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 51, Local0, 0x29af5c5a)
+ }
+
+ // Or, common 32-bit/64-bit test
+ Method(m050, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Or(Buffer(3){0x21, 0x03, 0x00}, 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Or(Buffer(3){0x21, 0x03, 0x00}, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xffffffffffffffff)
+
+ Store(Or(Buffer(3){0x21, 0x03, 0x00}, aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Or(Buffer(3){0x21, 0x03, 0x00}, auij), Local0)
+ m600(arg0, 3, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Store(Or(Buffer(3){0x21, 0x03, 0x00}, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Or(Buffer(3){0x21, 0x03, 0x00}, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xffffffffffffffff)
+ }
+
+ Store(Or(Buffer(3){0x21, 0x03, 0x00}, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Or(Buffer(3){0x21, 0x03, 0x00}, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Store(Or(Buffer(3){0x21, 0x03, 0x00}, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Or(Buffer(3){0x21, 0x03, 0x00}, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(Buffer(3){0x21, 0x03, 0x00}, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Or(Buffer(3){0x21, 0x03, 0x00}, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xffffffffffffffff)
+ }
+
+ Or(Buffer(3){0x21, 0x03, 0x00}, 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Or(Buffer(3){0x21, 0x03, 0x00}, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xffffffffffffffff)
+
+ Or(Buffer(3){0x21, 0x03, 0x00}, aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Or(Buffer(3){0x21, 0x03, 0x00}, auij, Local0)
+ m600(arg0, 15, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Or(Buffer(3){0x21, 0x03, 0x00}, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Or(Buffer(3){0x21, 0x03, 0x00}, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xffffffffffffffff)
+ }
+
+ Or(Buffer(3){0x21, 0x03, 0x00}, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Or(Buffer(3){0x21, 0x03, 0x00}, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Or(Buffer(3){0x21, 0x03, 0x00}, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Or(Buffer(3){0x21, 0x03, 0x00}, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(Buffer(3){0x21, 0x03, 0x00}, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Or(Buffer(3){0x21, 0x03, 0x00}, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xffffffffffffffff)
+ }
+
+ // Conversion of the second operand
+
+ Store(Or(0, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 24, Local0, 0x321)
+
+ Store(Or(0xffffffffffffffff, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 25, Local0, 0xffffffffffffffff)
+
+ Store(Or(aui5, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 26, Local0, 0x321)
+
+ Store(Or(auij, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 27, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Store(Or(Derefof(Refof(aui5)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 28, Local0, 0x321)
+
+ Store(Or(Derefof(Refof(auij)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 29, Local0, 0xffffffffffffffff)
+ }
+
+ Store(Or(Derefof(Index(paui, 5)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 30, Local0, 0x321)
+
+ Store(Or(Derefof(Index(paui, 19)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 31, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Store(Or(m601(1, 5), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 32, Local0, 0x321)
+
+ Store(Or(m601(1, 19), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 33, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(Derefof(m602(1, 5, 1)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 34, Local0, 0x321)
+
+ Store(Or(Derefof(m602(1, 19, 1)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 35, Local0, 0xffffffffffffffff)
+ }
+
+ Or(0, Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 36, Local0, 0x321)
+
+ Or(0xffffffffffffffff, Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 37, Local0, 0xffffffffffffffff)
+
+ Or(aui5, Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 38, Local0, 0x321)
+
+ Or(auij, Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 39, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Or(Derefof(Refof(aui5)), Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 40, Local0, 0x321)
+
+ Or(Derefof(Refof(auij)), Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 41, Local0, 0xffffffffffffffff)
+ }
+
+ Or(Derefof(Index(paui, 5)), Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 42, Local0, 0x321)
+
+ Or(Derefof(Index(paui, 19)), Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 43, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Or(m601(1, 5), Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 44, Local0, 0x321)
+
+ Or(m601(1, 19), Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 45, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(Derefof(m602(1, 5, 1)), Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 46, Local0, 0x321)
+
+ Or(Derefof(m602(1, 19, 1)), Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 47, Local0, 0xffffffffffffffff)
+ }
+ }
+
+ // Or, 64-bit
+ Method(m051, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Or(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xffffffffffffffff)
+
+ Store(Or(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, auij), Local0)
+ m600(arg0, 3, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Store(Or(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xffffffffffffffff)
+ }
+
+ Store(Or(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Store(Or(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xffffffffffffffff)
+ }
+
+ Or(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Or(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xffffffffffffffff)
+
+ Or(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Or(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, auij, Local0)
+ m600(arg0, 15, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Or(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Or(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xffffffffffffffff)
+ }
+
+ Or(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Or(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Or(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Or(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Or(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xffffffffffffffff)
+ }
+
+ // Conversion of the second operand
+
+ Store(Or(0, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 24, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(0xffffffffffffffff, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 25, Local0, 0xffffffffffffffff)
+
+ Store(Or(aui5, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 26, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(auij, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 27, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Store(Or(Derefof(Refof(aui5)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 28, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(Refof(auij)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 29, Local0, 0xffffffffffffffff)
+ }
+
+ Store(Or(Derefof(Index(paui, 5)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 30, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(Index(paui, 19)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 31, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Store(Or(m601(1, 5), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 32, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(m601(1, 19), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 33, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(Derefof(m602(1, 5, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 34, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(m602(1, 19, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 35, Local0, 0xffffffffffffffff)
+ }
+
+ Or(0, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 36, Local0, 0xfe7cb391d650a284)
+
+ Or(0xffffffffffffffff, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 37, Local0, 0xffffffffffffffff)
+
+ Or(aui5, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 38, Local0, 0xfe7cb391d650a284)
+
+ Or(auij, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 39, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Or(Derefof(Refof(aui5)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 40, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(Refof(auij)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 41, Local0, 0xffffffffffffffff)
+ }
+
+ Or(Derefof(Index(paui, 5)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 42, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(Index(paui, 19)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 43, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Or(m601(1, 5), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 44, Local0, 0xfe7cb391d650a284)
+
+ Or(m601(1, 19), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 45, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(Derefof(m602(1, 5, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 46, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(m602(1, 19, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 47, Local0, 0xffffffffffffffff)
+ }
+
+ // Conversion of the both operands
+
+ Store(Or(Buffer(3){0x21, 0x03, 0x00}, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 48, Local0, 0xfe7cb391d650a3a5)
+
+ Store(Or(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 49, Local0, 0xfe7cb391d650a3a5)
+
+ Or(Buffer(3){0x21, 0x03, 0x00}, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 50, Local0, 0xfe7cb391d650a3a5)
+
+ Or(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 51, Local0, 0xfe7cb391d650a3a5)
+ }
+
+ // Or, 32-bit
+ Method(m052, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Or(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 0), Local0)
+ m600(arg0, 0, Local0, 0xd650a284)
+
+ Store(Or(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0xffffffff)
+
+ Store(Or(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, aui5), Local0)
+ m600(arg0, 2, Local0, 0xd650a284)
+
+ Store(Or(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, auii), Local0)
+ m600(arg0, 3, Local0, 0xffffffff)
+
+ if (y078) {
+ Store(Or(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xd650a284)
+
+ Store(Or(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0xffffffff)
+ }
+
+ Store(Or(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xd650a284)
+
+ Store(Or(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0xffffffff)
+
+ // Method returns Integer
+
+ Store(Or(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xd650a284)
+
+ Store(Or(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0xffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xd650a284)
+
+ Store(Or(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0xffffffff)
+ }
+
+ Or(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 0, Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ Or(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0xffffffff)
+
+ Or(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, aui5, Local0)
+ m600(arg0, 14, Local0, 0xd650a284)
+
+ Or(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, auii, Local0)
+ m600(arg0, 15, Local0, 0xffffffff)
+
+ if (y078) {
+ Or(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xd650a284)
+
+ Or(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0xffffffff)
+ }
+
+ Or(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xd650a284)
+
+ Or(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0xffffffff)
+
+ // Method returns Integer
+
+ Or(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xd650a284)
+
+ Or(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0xffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xd650a284)
+
+ Or(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0xffffffff)
+ }
+
+ // Conversion of the second operand
+
+ Store(Or(0, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 24, Local0, 0xd650a284)
+
+ Store(Or(0xffffffff, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 25, Local0, 0xffffffff)
+
+ Store(Or(aui5, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 26, Local0, 0xd650a284)
+
+ Store(Or(auii, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 27, Local0, 0xffffffff)
+
+ if (y078) {
+ Store(Or(Derefof(Refof(aui5)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 28, Local0, 0xd650a284)
+
+ Store(Or(Derefof(Refof(auii)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 29, Local0, 0xffffffff)
+ }
+
+ Store(Or(Derefof(Index(paui, 5)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 30, Local0, 0xd650a284)
+
+ Store(Or(Derefof(Index(paui, 18)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 31, Local0, 0xffffffff)
+
+ // Method returns Integer
+
+ Store(Or(m601(1, 5), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 32, Local0, 0xd650a284)
+
+ Store(Or(m601(1, 18), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 33, Local0, 0xffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(Derefof(m602(1, 5, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 34, Local0, 0xd650a284)
+
+ Store(Or(Derefof(m602(1, 18, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 35, Local0, 0xffffffff)
+ }
+
+ Or(0, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 36, Local0, 0xd650a284)
+
+ Or(0xffffffff, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 37, Local0, 0xffffffff)
+
+ Or(aui5, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 38, Local0, 0xd650a284)
+
+ Or(auii, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 39, Local0, 0xffffffff)
+
+ if (y078) {
+ Or(Derefof(Refof(aui5)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 40, Local0, 0xd650a284)
+
+ Or(Derefof(Refof(auii)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 41, Local0, 0xffffffff)
+ }
+
+ Or(Derefof(Index(paui, 5)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 42, Local0, 0xd650a284)
+
+ Or(Derefof(Index(paui, 18)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 43, Local0, 0xffffffff)
+
+ // Method returns Integer
+
+ Or(m601(1, 5), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 44, Local0, 0xd650a284)
+
+ Or(m601(1, 18), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 45, Local0, 0xffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(Derefof(m602(1, 5, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 46, Local0, 0xd650a284)
+
+ Or(Derefof(m602(1, 18, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 47, Local0, 0xffffffff)
+ }
+
+ // Conversion of the both operands
+
+ Store(Or(Buffer(3){0x21, 0x03, 0x00}, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 48, Local0, 0xd650a3a5)
+
+ Store(Or(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 49, Local0, 0xd650a3a5)
+
+ Or(Buffer(3){0x21, 0x03, 0x00}, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 50, Local0, 0xd650a3a5)
+
+ Or(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 51, Local0, 0xd650a3a5)
+ }
+
+ // ShiftLeft, common 32-bit/64-bit test
+ Method(m053, 1)
+ {
+ // Conversion of the first operand
+
+ Store(ShiftLeft(Buffer(3){0x21, 0x03, 0x00}, 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(ShiftLeft(Buffer(3){0x21, 0x03, 0x00}, 1), Local0)
+ m600(arg0, 1, Local0, 0x642)
+
+ Store(ShiftLeft(Buffer(3){0x21, 0x03, 0x00}, aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(ShiftLeft(Buffer(3){0x21, 0x03, 0x00}, aui6), Local0)
+ m600(arg0, 3, Local0, 0x642)
+
+ if (y078) {
+ Store(ShiftLeft(Buffer(3){0x21, 0x03, 0x00}, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(ShiftLeft(Buffer(3){0x21, 0x03, 0x00}, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x642)
+ }
+
+ Store(ShiftLeft(Buffer(3){0x21, 0x03, 0x00}, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(ShiftLeft(Buffer(3){0x21, 0x03, 0x00}, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x642)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(Buffer(3){0x21, 0x03, 0x00}, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(ShiftLeft(Buffer(3){0x21, 0x03, 0x00}, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x642)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(Buffer(3){0x21, 0x03, 0x00}, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(ShiftLeft(Buffer(3){0x21, 0x03, 0x00}, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x642)
+ }
+
+ ShiftLeft(Buffer(3){0x21, 0x03, 0x00}, 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ ShiftLeft(Buffer(3){0x21, 0x03, 0x00}, 1, Local0)
+ m600(arg0, 13, Local0, 0x642)
+
+ ShiftLeft(Buffer(3){0x21, 0x03, 0x00}, aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ ShiftLeft(Buffer(3){0x21, 0x03, 0x00}, aui6, Local0)
+ m600(arg0, 15, Local0, 0x642)
+
+ if (y078) {
+ ShiftLeft(Buffer(3){0x21, 0x03, 0x00}, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ ShiftLeft(Buffer(3){0x21, 0x03, 0x00}, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x642)
+ }
+
+ ShiftLeft(Buffer(3){0x21, 0x03, 0x00}, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ ShiftLeft(Buffer(3){0x21, 0x03, 0x00}, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x642)
+
+ // Method returns Integer
+
+ ShiftLeft(Buffer(3){0x21, 0x03, 0x00}, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ ShiftLeft(Buffer(3){0x21, 0x03, 0x00}, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x642)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(Buffer(3){0x21, 0x03, 0x00}, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ ShiftLeft(Buffer(3){0x21, 0x03, 0x00}, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x642)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftLeft(0, Buffer(1){0xb}), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftLeft(1, Buffer(1){0xb}), Local0)
+ m600(arg0, 25, Local0, 0x800)
+
+ Store(ShiftLeft(aui5, Buffer(1){0xb}), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftLeft(aui6, Buffer(1){0xb}), Local0)
+ m600(arg0, 27, Local0, 0x800)
+
+ if (y078) {
+ Store(ShiftLeft(Derefof(Refof(aui5)), Buffer(1){0xb}), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Refof(aui6)), Buffer(1){0xb}), Local0)
+ m600(arg0, 29, Local0, 0x800)
+ }
+
+ Store(ShiftLeft(Derefof(Index(paui, 5)), Buffer(1){0xb}), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Index(paui, 6)), Buffer(1){0xb}), Local0)
+ m600(arg0, 31, Local0, 0x800)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(m601(1, 5), Buffer(1){0xb}), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftLeft(m601(1, 6), Buffer(1){0xb}), Local0)
+ m600(arg0, 33, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(Derefof(m602(1, 5, 1)), Buffer(1){0xb}), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftLeft(Derefof(m602(1, 6, 1)), Buffer(1){0xb}), Local0)
+ m600(arg0, 35, Local0, 0x800)
+ }
+
+ ShiftLeft(0, Buffer(1){0xb}, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftLeft(1, Buffer(1){0xb}, Local0)
+ m600(arg0, 37, Local0, 0x800)
+
+ ShiftLeft(aui5, Buffer(1){0xb}, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftLeft(aui6, Buffer(1){0xb}, Local0)
+ m600(arg0, 39, Local0, 0x800)
+
+ if (y078) {
+ ShiftLeft(Derefof(Refof(aui5)), Buffer(1){0xb}, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftLeft(Derefof(Refof(aui6)), Buffer(1){0xb}, Local0)
+ m600(arg0, 41, Local0, 0x800)
+ }
+
+ ShiftLeft(Derefof(Index(paui, 5)), Buffer(1){0xb}, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftLeft(Derefof(Index(paui, 6)), Buffer(1){0xb}, Local0)
+ m600(arg0, 43, Local0, 0x800)
+
+ // Method returns Integer
+
+ ShiftLeft(m601(1, 5), Buffer(1){0xb}, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftLeft(m601(1, 6), Buffer(1){0xb}, Local0)
+ m600(arg0, 45, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(Derefof(m602(1, 5, 1)), Buffer(1){0xb}, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftLeft(Derefof(m602(1, 6, 1)), Buffer(1){0xb}, Local0)
+ m600(arg0, 47, Local0, 0x800)
+ }
+ }
+
+ // ShiftLeft, 64-bit
+ Method(m054, 1)
+ {
+ // Conversion of the first operand
+
+ Store(ShiftLeft(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 1), Local0)
+ m600(arg0, 1, Local0, 0xfcf96723aca14508)
+
+ Store(ShiftLeft(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, aui6), Local0)
+ m600(arg0, 3, Local0, 0xfcf96723aca14508)
+
+ if (y078) {
+ Store(ShiftLeft(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xfcf96723aca14508)
+ }
+
+ Store(ShiftLeft(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xfcf96723aca14508)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xfcf96723aca14508)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfcf96723aca14508)
+ }
+
+ ShiftLeft(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 1, Local0)
+ m600(arg0, 13, Local0, 0xfcf96723aca14508)
+
+ ShiftLeft(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, aui6, Local0)
+ m600(arg0, 15, Local0, 0xfcf96723aca14508)
+
+ if (y078) {
+ ShiftLeft(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xfcf96723aca14508)
+ }
+
+ ShiftLeft(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xfcf96723aca14508)
+
+ // Method returns Integer
+
+ ShiftLeft(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xfcf96723aca14508)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfcf96723aca14508)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftLeft(0, Buffer(1){0xb}), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftLeft(1, Buffer(1){0xb}), Local0)
+ m600(arg0, 25, Local0, 0x800)
+
+ Store(ShiftLeft(aui5, Buffer(1){0xb}), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftLeft(aui6, Buffer(1){0xb}), Local0)
+ m600(arg0, 27, Local0, 0x800)
+
+ if (y078) {
+ Store(ShiftLeft(Derefof(Refof(aui5)), Buffer(1){0xb}), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Refof(aui6)), Buffer(1){0xb}), Local0)
+ m600(arg0, 29, Local0, 0x800)
+ }
+
+ Store(ShiftLeft(Derefof(Index(paui, 5)), Buffer(1){0xb}), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Index(paui, 6)), Buffer(1){0xb}), Local0)
+ m600(arg0, 31, Local0, 0x800)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(m601(1, 5), Buffer(1){0xb}), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftLeft(m601(1, 6), Buffer(1){0xb}), Local0)
+ m600(arg0, 33, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(Derefof(m602(1, 5, 1)), Buffer(1){0xb}), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftLeft(Derefof(m602(1, 6, 1)), Buffer(1){0xb}), Local0)
+ m600(arg0, 35, Local0, 0x800)
+ }
+
+ ShiftLeft(0, Buffer(1){0xb}, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftLeft(1, Buffer(1){0xb}, Local0)
+ m600(arg0, 37, Local0, 0x800)
+
+ ShiftLeft(aui5, Buffer(1){0xb}, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftLeft(aui6, Buffer(1){0xb}, Local0)
+ m600(arg0, 39, Local0, 0x800)
+
+ if (y078) {
+ ShiftLeft(Derefof(Refof(aui5)), Buffer(1){0xb}, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftLeft(Derefof(Refof(aui6)), Buffer(1){0xb}, Local0)
+ m600(arg0, 41, Local0, 0x800)
+ }
+
+ ShiftLeft(Derefof(Index(paui, 5)), Buffer(1){0xb}, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftLeft(Derefof(Index(paui, 6)), Buffer(1){0xb}, Local0)
+ m600(arg0, 43, Local0, 0x800)
+
+ // Method returns Integer
+
+ ShiftLeft(m601(1, 5), Buffer(1){0xb}, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftLeft(m601(1, 6), Buffer(1){0xb}, Local0)
+ m600(arg0, 45, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(Derefof(m602(1, 5, 1)), Buffer(1){0xb}, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftLeft(Derefof(m602(1, 6, 1)), Buffer(1){0xb}, Local0)
+ m600(arg0, 47, Local0, 0x800)
+ }
+
+ // Conversion of the both operands
+
+ Store(ShiftLeft(Buffer(3){0x21, 0x03, 0x00}, Buffer(1){0xb}), Local0)
+ m600(arg0, 48, Local0, 0x190800)
+
+ Store(ShiftLeft(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Buffer(1){0xb}), Local0)
+ m600(arg0, 49, Local0, 0xE59C8EB285142000)
+
+ ShiftLeft(Buffer(3){0x21, 0x03, 0x00}, Buffer(1){0xb}, Local0)
+ m600(arg0, 50, Local0, 0x190800)
+
+ ShiftLeft(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Buffer(1){0xb}, Local0)
+ m600(arg0, 51, Local0, 0xE59C8EB285142000)
+ }
+
+ // ShiftLeft, 32-bit
+ Method(m055, 1)
+ {
+ // Conversion of the first operand
+
+ Store(ShiftLeft(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 0), Local0)
+ m600(arg0, 0, Local0, 0xd650a284)
+
+ Store(ShiftLeft(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 1), Local0)
+ m600(arg0, 1, Local0, 0xaca14508)
+
+ Store(ShiftLeft(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, aui5), Local0)
+ m600(arg0, 2, Local0, 0xd650a284)
+
+ Store(ShiftLeft(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, aui6), Local0)
+ m600(arg0, 3, Local0, 0xaca14508)
+
+ if (y078) {
+ Store(ShiftLeft(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xd650a284)
+
+ Store(ShiftLeft(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xaca14508)
+ }
+
+ Store(ShiftLeft(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xd650a284)
+
+ Store(ShiftLeft(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xaca14508)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xd650a284)
+
+ Store(ShiftLeft(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xaca14508)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xd650a284)
+
+ Store(ShiftLeft(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xaca14508)
+ }
+
+ ShiftLeft(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 0, Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ ShiftLeft(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 1, Local0)
+ m600(arg0, 13, Local0, 0xaca14508)
+
+ ShiftLeft(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, aui5, Local0)
+ m600(arg0, 14, Local0, 0xd650a284)
+
+ ShiftLeft(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, aui6, Local0)
+ m600(arg0, 15, Local0, 0xaca14508)
+
+ if (y078) {
+ ShiftLeft(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xd650a284)
+
+ ShiftLeft(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xaca14508)
+ }
+
+ ShiftLeft(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xd650a284)
+
+ ShiftLeft(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xaca14508)
+
+ // Method returns Integer
+
+ ShiftLeft(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xd650a284)
+
+ ShiftLeft(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xaca14508)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xd650a284)
+
+ ShiftLeft(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xaca14508)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftLeft(0, Buffer(1){0xb}), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftLeft(1, Buffer(1){0xb}), Local0)
+ m600(arg0, 25, Local0, 0x800)
+
+ Store(ShiftLeft(aui5, Buffer(1){0xb}), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftLeft(aui6, Buffer(1){0xb}), Local0)
+ m600(arg0, 27, Local0, 0x800)
+
+ if (y078) {
+ Store(ShiftLeft(Derefof(Refof(aui5)), Buffer(1){0xb}), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Refof(aui6)), Buffer(1){0xb}), Local0)
+ m600(arg0, 29, Local0, 0x800)
+ }
+
+ Store(ShiftLeft(Derefof(Index(paui, 5)), Buffer(1){0xb}), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Index(paui, 6)), Buffer(1){0xb}), Local0)
+ m600(arg0, 31, Local0, 0x800)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(m601(1, 5), Buffer(1){0xb}), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftLeft(m601(1, 6), Buffer(1){0xb}), Local0)
+ m600(arg0, 33, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(Derefof(m602(1, 5, 1)), Buffer(1){0xb}), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftLeft(Derefof(m602(1, 6, 1)), Buffer(1){0xb}), Local0)
+ m600(arg0, 35, Local0, 0x800)
+ }
+
+ ShiftLeft(0, Buffer(1){0xb}, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftLeft(1, Buffer(1){0xb}, Local0)
+ m600(arg0, 37, Local0, 0x800)
+
+ ShiftLeft(aui5, Buffer(1){0xb}, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftLeft(aui6, Buffer(1){0xb}, Local0)
+ m600(arg0, 39, Local0, 0x800)
+
+ if (y078) {
+ ShiftLeft(Derefof(Refof(aui5)), Buffer(1){0xb}, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftLeft(Derefof(Refof(aui6)), Buffer(1){0xb}, Local0)
+ m600(arg0, 41, Local0, 0x800)
+ }
+
+ ShiftLeft(Derefof(Index(paui, 5)), Buffer(1){0xb}, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftLeft(Derefof(Index(paui, 6)), Buffer(1){0xb}, Local0)
+ m600(arg0, 43, Local0, 0x800)
+
+ // Method returns Integer
+
+ ShiftLeft(m601(1, 5), Buffer(1){0xb}, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftLeft(m601(1, 6), Buffer(1){0xb}, Local0)
+ m600(arg0, 45, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(Derefof(m602(1, 5, 1)), Buffer(1){0xb}, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftLeft(Derefof(m602(1, 6, 1)), Buffer(1){0xb}, Local0)
+ m600(arg0, 47, Local0, 0x800)
+ }
+
+ // Conversion of the both operands
+
+ Store(ShiftLeft(Buffer(3){0x21, 0x03, 0x00}, Buffer(1){0xb}), Local0)
+ m600(arg0, 48, Local0, 0x190800)
+
+ Store(ShiftLeft(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Buffer(1){0xb}), Local0)
+ m600(arg0, 49, Local0, 0x85142000)
+
+ ShiftLeft(Buffer(3){0x21, 0x03, 0x00}, Buffer(1){0xb}, Local0)
+ m600(arg0, 50, Local0, 0x190800)
+
+ ShiftLeft(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Buffer(1){0xb}, Local0)
+ m600(arg0, 51, Local0, 0x85142000)
+ }
+
+ // ShiftRight, common 32-bit/64-bit test
+ Method(m056, 1)
+ {
+ // Conversion of the first operand
+
+ Store(ShiftRight(Buffer(3){0x21, 0x03, 0x00}, 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(ShiftRight(Buffer(3){0x21, 0x03, 0x00}, 1), Local0)
+ m600(arg0, 1, Local0, 0x190)
+
+ Store(ShiftRight(Buffer(3){0x21, 0x03, 0x00}, aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(ShiftRight(Buffer(3){0x21, 0x03, 0x00}, aui6), Local0)
+ m600(arg0, 3, Local0, 0x190)
+
+ if (y078) {
+ Store(ShiftRight(Buffer(3){0x21, 0x03, 0x00}, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(ShiftRight(Buffer(3){0x21, 0x03, 0x00}, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x190)
+ }
+
+ Store(ShiftRight(Buffer(3){0x21, 0x03, 0x00}, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(ShiftRight(Buffer(3){0x21, 0x03, 0x00}, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x190)
+
+ // Method returns Integer
+
+ Store(ShiftRight(Buffer(3){0x21, 0x03, 0x00}, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(ShiftRight(Buffer(3){0x21, 0x03, 0x00}, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x190)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(Buffer(3){0x21, 0x03, 0x00}, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(ShiftRight(Buffer(3){0x21, 0x03, 0x00}, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x190)
+ }
+
+ ShiftRight(Buffer(3){0x21, 0x03, 0x00}, 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ ShiftRight(Buffer(3){0x21, 0x03, 0x00}, 1, Local0)
+ m600(arg0, 13, Local0, 0x190)
+
+ ShiftRight(Buffer(3){0x21, 0x03, 0x00}, aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ ShiftRight(Buffer(3){0x21, 0x03, 0x00}, aui6, Local0)
+ m600(arg0, 15, Local0, 0x190)
+
+ if (y078) {
+ ShiftRight(Buffer(3){0x21, 0x03, 0x00}, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ ShiftRight(Buffer(3){0x21, 0x03, 0x00}, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x190)
+ }
+
+ ShiftRight(Buffer(3){0x21, 0x03, 0x00}, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ ShiftRight(Buffer(3){0x21, 0x03, 0x00}, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x190)
+
+ // Method returns Integer
+
+ ShiftRight(Buffer(3){0x21, 0x03, 0x00}, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ ShiftRight(Buffer(3){0x21, 0x03, 0x00}, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x190)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(Buffer(3){0x21, 0x03, 0x00}, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ ShiftRight(Buffer(3){0x21, 0x03, 0x00}, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x190)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftRight(0x321, Buffer(1){0xb}), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftRight(0xd650a284, Buffer(1){0xb}), Local0)
+ m600(arg0, 25, Local0, 0x1aca14)
+
+ Store(ShiftRight(aui1, Buffer(1){0xb}), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftRight(auik, Buffer(1){0xb}), Local0)
+ m600(arg0, 27, Local0, 0x1aca14)
+
+ if (y078) {
+ Store(ShiftRight(Derefof(Refof(aui1)), Buffer(1){0xb}), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftRight(Derefof(Refof(auik)), Buffer(1){0xb}), Local0)
+ m600(arg0, 29, Local0, 0x1aca14)
+ }
+
+ Store(ShiftRight(Derefof(Index(paui, 1)), Buffer(1){0xb}), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftRight(Derefof(Index(paui, 20)), Buffer(1){0xb}), Local0)
+ m600(arg0, 31, Local0, 0x1aca14)
+
+ // Method returns Integer
+
+ Store(ShiftRight(m601(1, 1), Buffer(1){0xb}), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftRight(m601(1, 20), Buffer(1){0xb}), Local0)
+ m600(arg0, 33, Local0, 0x1aca14)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(Derefof(m602(1, 1, 1)), Buffer(1){0xb}), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftRight(Derefof(m602(1, 20, 1)), Buffer(1){0xb}), Local0)
+ m600(arg0, 35, Local0, 0x1aca14)
+ }
+
+ ShiftRight(0x321, Buffer(1){0xb}, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftRight(0xd650a284, Buffer(1){0xb}, Local0)
+ m600(arg0, 37, Local0, 0x1aca14)
+
+ ShiftRight(aui1, Buffer(1){0xb}, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftRight(auik, Buffer(1){0xb}, Local0)
+ m600(arg0, 39, Local0, 0x1aca14)
+
+ if (y078) {
+ ShiftRight(Derefof(Refof(aui1)), Buffer(1){0xb}, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftRight(Derefof(Refof(auik)), Buffer(1){0xb}, Local0)
+ m600(arg0, 41, Local0, 0x1aca14)
+ }
+
+ ShiftRight(Derefof(Index(paui, 1)), Buffer(1){0xb}, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftRight(Derefof(Index(paui, 20)), Buffer(1){0xb}, Local0)
+ m600(arg0, 43, Local0, 0x1aca14)
+
+ // Method returns Integer
+
+ ShiftRight(m601(1, 1), Buffer(1){0xb}, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftRight(m601(1, 20), Buffer(1){0xb}, Local0)
+ m600(arg0, 45, Local0, 0x1aca14)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(Derefof(m602(1, 1, 1)), Buffer(1){0xb}, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftRight(Derefof(m602(1, 20, 1)), Buffer(1){0xb}, Local0)
+ m600(arg0, 47, Local0, 0x1aca14)
+ }
+ }
+
+ // ShiftRight, 64-bit
+ Method(m057, 1)
+ {
+ // Conversion of the first operand
+
+ Store(ShiftRight(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 1), Local0)
+ m600(arg0, 1, Local0, 0x7f3e59c8eb285142)
+
+ Store(ShiftRight(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, aui6), Local0)
+ m600(arg0, 3, Local0, 0x7f3e59c8eb285142)
+
+ if (y078) {
+ Store(ShiftRight(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x7f3e59c8eb285142)
+ }
+
+ Store(ShiftRight(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x7f3e59c8eb285142)
+
+ // Method returns Integer
+
+ Store(ShiftRight(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x7f3e59c8eb285142)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x7f3e59c8eb285142)
+ }
+
+ ShiftRight(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 1, Local0)
+ m600(arg0, 13, Local0, 0x7f3e59c8eb285142)
+
+ ShiftRight(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, aui6, Local0)
+ m600(arg0, 15, Local0, 0x7f3e59c8eb285142)
+
+ if (y078) {
+ ShiftRight(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x7f3e59c8eb285142)
+ }
+
+ ShiftRight(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x7f3e59c8eb285142)
+
+ // Method returns Integer
+
+ ShiftRight(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x7f3e59c8eb285142)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x7f3e59c8eb285142)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftRight(0x321, Buffer(1){0xb}), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftRight(0xfe7cb391d650a284, Buffer(1){0xb}), Local0)
+ m600(arg0, 25, Local0, 0x1fcf96723aca14)
+
+ Store(ShiftRight(aui1, Buffer(1){0xb}), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftRight(aui4, Buffer(1){0xb}), Local0)
+ m600(arg0, 27, Local0, 0x1fcf96723aca14)
+
+ if (y078) {
+ Store(ShiftRight(Derefof(Refof(aui1)), Buffer(1){0xb}), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftRight(Derefof(Refof(aui4)), Buffer(1){0xb}), Local0)
+ m600(arg0, 29, Local0, 0x1fcf96723aca14)
+ }
+
+ Store(ShiftRight(Derefof(Index(paui, 1)), Buffer(1){0xb}), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftRight(Derefof(Index(paui, 4)), Buffer(1){0xb}), Local0)
+ m600(arg0, 31, Local0, 0x1fcf96723aca14)
+
+ // Method returns Integer
+
+ Store(ShiftRight(m601(1, 1), Buffer(1){0xb}), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftRight(m601(1, 4), Buffer(1){0xb}), Local0)
+ m600(arg0, 33, Local0, 0x1fcf96723aca14)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(Derefof(m602(1, 1, 1)), Buffer(1){0xb}), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftRight(Derefof(m602(1, 4, 1)), Buffer(1){0xb}), Local0)
+ m600(arg0, 35, Local0, 0x1fcf96723aca14)
+ }
+
+ ShiftRight(0x321, Buffer(1){0xb}, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftRight(0xfe7cb391d650a284, Buffer(1){0xb}, Local0)
+ m600(arg0, 37, Local0, 0x1fcf96723aca14)
+
+ ShiftRight(aui1, Buffer(1){0xb}, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftRight(aui4, Buffer(1){0xb}, Local0)
+ m600(arg0, 39, Local0, 0x1fcf96723aca14)
+
+ if (y078) {
+ ShiftRight(Derefof(Refof(aui1)), Buffer(1){0xb}, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftRight(Derefof(Refof(aui4)), Buffer(1){0xb}, Local0)
+ m600(arg0, 41, Local0, 0x1fcf96723aca14)
+ }
+
+ ShiftRight(Derefof(Index(paui, 1)), Buffer(1){0xb}, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftRight(Derefof(Index(paui, 4)), Buffer(1){0xb}, Local0)
+ m600(arg0, 43, Local0, 0x1fcf96723aca14)
+
+ // Method returns Integer
+
+ ShiftRight(m601(1, 1), Buffer(1){0xb}, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftRight(m601(1, 4), Buffer(1){0xb}, Local0)
+ m600(arg0, 45, Local0, 0x1fcf96723aca14)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(Derefof(m602(1, 1, 1)), Buffer(1){0xb}, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftRight(Derefof(m602(1, 4, 1)), Buffer(1){0xb}, Local0)
+ m600(arg0, 47, Local0, 0x1fcf96723aca14)
+ }
+
+ // Conversion of the both operands
+
+ Store(ShiftRight(Buffer(3){0x21, 0x03, 0x00}, Buffer(1){0xb}), Local0)
+ m600(arg0, 48, Local0, 0)
+
+ Store(ShiftRight(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Buffer(1){0xb}), Local0)
+ m600(arg0, 49, Local0, 0x1fcf96723aca14)
+
+ ShiftRight(Buffer(3){0x21, 0x03, 0x00}, Buffer(1){0xb}, Local0)
+ m600(arg0, 50, Local0, 0)
+
+ ShiftRight(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Buffer(1){0xb}, Local0)
+ m600(arg0, 51, Local0, 0x1fcf96723aca14)
+ }
+
+ // ShiftRight, 32-bit
+ Method(m058, 1)
+ {
+ // Conversion of the first operand
+
+ Store(ShiftRight(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 0), Local0)
+ m600(arg0, 0, Local0, 0xd650a284)
+
+ Store(ShiftRight(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 1), Local0)
+ m600(arg0, 1, Local0, 0x6b285142)
+
+ Store(ShiftRight(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, aui5), Local0)
+ m600(arg0, 2, Local0, 0xd650a284)
+
+ Store(ShiftRight(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, aui6), Local0)
+ m600(arg0, 3, Local0, 0x6b285142)
+
+ if (y078) {
+ Store(ShiftRight(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xd650a284)
+
+ Store(ShiftRight(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x6b285142)
+ }
+
+ Store(ShiftRight(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xd650a284)
+
+ Store(ShiftRight(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x6b285142)
+
+ // Method returns Integer
+
+ Store(ShiftRight(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xd650a284)
+
+ Store(ShiftRight(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x6b285142)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xd650a284)
+
+ Store(ShiftRight(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x6b285142)
+ }
+
+ ShiftRight(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 0, Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ ShiftRight(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 1, Local0)
+ m600(arg0, 13, Local0, 0x6b285142)
+
+ ShiftRight(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, aui5, Local0)
+ m600(arg0, 14, Local0, 0xd650a284)
+
+ ShiftRight(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, aui6, Local0)
+ m600(arg0, 15, Local0, 0x6b285142)
+
+ if (y078) {
+ ShiftRight(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xd650a284)
+
+ ShiftRight(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x6b285142)
+ }
+
+ ShiftRight(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xd650a284)
+
+ ShiftRight(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x6b285142)
+
+ // Method returns Integer
+
+ ShiftRight(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xd650a284)
+
+ ShiftRight(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x6b285142)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xd650a284)
+
+ ShiftRight(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x6b285142)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftRight(0x321, Buffer(1){0xb}), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftRight(0xd650a284, Buffer(1){0xb}), Local0)
+ m600(arg0, 25, Local0, 0x1aca14)
+
+ Store(ShiftRight(aui1, Buffer(1){0xb}), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftRight(auik, Buffer(1){0xb}), Local0)
+ m600(arg0, 27, Local0, 0x1aca14)
+
+ if (y078) {
+ Store(ShiftRight(Derefof(Refof(aui1)), Buffer(1){0xb}), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftRight(Derefof(Refof(auik)), Buffer(1){0xb}), Local0)
+ m600(arg0, 29, Local0, 0x1aca14)
+ }
+
+ Store(ShiftRight(Derefof(Index(paui, 1)), Buffer(1){0xb}), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftRight(Derefof(Index(paui, 20)), Buffer(1){0xb}), Local0)
+ m600(arg0, 31, Local0, 0x1aca14)
+
+ // Method returns Integer
+
+ Store(ShiftRight(m601(1, 1), Buffer(1){0xb}), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftRight(m601(1, 20), Buffer(1){0xb}), Local0)
+ m600(arg0, 33, Local0, 0x1aca14)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(Derefof(m602(1, 1, 1)), Buffer(1){0xb}), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftRight(Derefof(m602(1, 20, 1)), Buffer(1){0xb}), Local0)
+ m600(arg0, 35, Local0, 0x1aca14)
+ }
+
+ ShiftRight(0x321, Buffer(1){0xb}, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftRight(0xd650a284, Buffer(1){0xb}, Local0)
+ m600(arg0, 37, Local0, 0x1aca14)
+
+ ShiftRight(aui1, Buffer(1){0xb}, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftRight(auik, Buffer(1){0xb}, Local0)
+ m600(arg0, 39, Local0, 0x1aca14)
+
+ if (y078) {
+ ShiftRight(Derefof(Refof(aui1)), Buffer(1){0xb}, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftRight(Derefof(Refof(auik)), Buffer(1){0xb}, Local0)
+ m600(arg0, 41, Local0, 0x1aca14)
+ }
+
+ ShiftRight(Derefof(Index(paui, 1)), Buffer(1){0xb}, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftRight(Derefof(Index(paui, 20)), Buffer(1){0xb}, Local0)
+ m600(arg0, 43, Local0, 0x1aca14)
+
+ // Method returns Integer
+
+ ShiftRight(m601(1, 1), Buffer(1){0xb}, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftRight(m601(1, 20), Buffer(1){0xb}, Local0)
+ m600(arg0, 45, Local0, 0x1aca14)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(Derefof(m602(1, 1, 1)), Buffer(1){0xb}, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftRight(Derefof(m602(1, 20, 1)), Buffer(1){0xb}, Local0)
+ m600(arg0, 47, Local0, 0x1aca14)
+ }
+
+ // Conversion of the both operands
+
+ Store(ShiftRight(Buffer(3){0x21, 0x03, 0x00}, Buffer(1){0xb}), Local0)
+ m600(arg0, 48, Local0, 0)
+
+ Store(ShiftRight(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Buffer(1){0xb}), Local0)
+ m600(arg0, 49, Local0, 0x1aca14)
+
+ ShiftRight(Buffer(3){0x21, 0x03, 0x00}, Buffer(1){0xb}, Local0)
+ m600(arg0, 50, Local0, 0)
+
+ ShiftRight(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Buffer(1){0xb}, Local0)
+ m600(arg0, 51, Local0, 0x1aca14)
+ }
+
+ // Subtract, common 32-bit/64-bit test
+ Method(m059, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Subtract(Buffer(3){0x21, 0x03, 0x00}, 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Subtract(Buffer(3){0x21, 0x03, 0x00}, 1), Local0)
+ m600(arg0, 1, Local0, 0x320)
+
+ Store(Subtract(Buffer(3){0x21, 0x03, 0x00}, aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Subtract(Buffer(3){0x21, 0x03, 0x00}, aui6), Local0)
+ m600(arg0, 3, Local0, 0x320)
+
+ if (y078) {
+ Store(Subtract(Buffer(3){0x21, 0x03, 0x00}, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Subtract(Buffer(3){0x21, 0x03, 0x00}, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x320)
+ }
+
+ Store(Subtract(Buffer(3){0x21, 0x03, 0x00}, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Subtract(Buffer(3){0x21, 0x03, 0x00}, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x320)
+
+ // Method returns Integer
+
+ Store(Subtract(Buffer(3){0x21, 0x03, 0x00}, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Subtract(Buffer(3){0x21, 0x03, 0x00}, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x320)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(Buffer(3){0x21, 0x03, 0x00}, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Subtract(Buffer(3){0x21, 0x03, 0x00}, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x320)
+ }
+
+ Subtract(Buffer(3){0x21, 0x03, 0x00}, 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Subtract(Buffer(3){0x21, 0x03, 0x00}, 1, Local0)
+ m600(arg0, 13, Local0, 0x320)
+
+ Subtract(Buffer(3){0x21, 0x03, 0x00}, aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Subtract(Buffer(3){0x21, 0x03, 0x00}, aui6, Local0)
+ m600(arg0, 15, Local0, 0x320)
+
+ if (y078) {
+ Subtract(Buffer(3){0x21, 0x03, 0x00}, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Subtract(Buffer(3){0x21, 0x03, 0x00}, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x320)
+ }
+
+ Subtract(Buffer(3){0x21, 0x03, 0x00}, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Subtract(Buffer(3){0x21, 0x03, 0x00}, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x320)
+
+ // Method returns Integer
+
+ Subtract(Buffer(3){0x21, 0x03, 0x00}, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Subtract(Buffer(3){0x21, 0x03, 0x00}, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x320)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(Buffer(3){0x21, 0x03, 0x00}, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Subtract(Buffer(3){0x21, 0x03, 0x00}, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x320)
+ }
+
+ // Conversion of the second operand
+
+ Store(Subtract(0, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 24, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(1, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 25, Local0, 0xfffffffffffffce0)
+
+ Store(Subtract(aui5, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 26, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(aui6, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 27, Local0, 0xfffffffffffffce0)
+
+ if (y078) {
+ Store(Subtract(Derefof(Refof(aui5)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 28, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(Derefof(Refof(aui6)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 29, Local0, 0xfffffffffffffce0)
+ }
+
+ Store(Subtract(Derefof(Index(paui, 5)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 30, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(Derefof(Index(paui, 6)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 31, Local0, 0xfffffffffffffce0)
+
+ // Method returns Integer
+
+ Store(Subtract(m601(1, 5), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 32, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(m601(1, 6), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 33, Local0, 0xfffffffffffffce0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(Derefof(m602(1, 5, 1)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 34, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(Derefof(m602(1, 6, 1)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 35, Local0, 0xfffffffffffffce0)
+ }
+
+ Subtract(0, Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 36, Local0, 0xfffffffffffffcdf)
+
+ Subtract(1, Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 37, Local0, 0xfffffffffffffce0)
+
+ Subtract(aui5, Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 38, Local0, 0xfffffffffffffcdf)
+
+ Subtract(aui6, Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 39, Local0, 0xfffffffffffffce0)
+
+ if (y078) {
+ Subtract(Derefof(Refof(aui5)), Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 40, Local0, 0xfffffffffffffcdf)
+
+ Subtract(Derefof(Refof(aui6)), Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 41, Local0, 0xfffffffffffffce0)
+ }
+
+ Subtract(Derefof(Index(paui, 5)), Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 42, Local0, 0xfffffffffffffcdf)
+
+ Subtract(Derefof(Index(paui, 6)), Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 43, Local0, 0xfffffffffffffce0)
+
+ // Method returns Integer
+
+ Subtract(m601(1, 5), Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 44, Local0, 0xfffffffffffffcdf)
+
+ Subtract(m601(1, 6), Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 45, Local0, 0xfffffffffffffce0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(Derefof(m602(1, 5, 1)), Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 46, Local0, 0xfffffffffffffcdf)
+
+ Subtract(Derefof(m602(1, 6, 1)), Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 47, Local0, 0xfffffffffffffce0)
+ }
+ }
+
+ // Subtract, 64-bit
+ Method(m05a, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Subtract(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 1), Local0)
+ m600(arg0, 1, Local0, 0xfe7cb391d650a283)
+
+ Store(Subtract(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, aui6), Local0)
+ m600(arg0, 3, Local0, 0xfe7cb391d650a283)
+
+ if (y078) {
+ Store(Subtract(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xfe7cb391d650a283)
+ }
+
+ Store(Subtract(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Integer
+
+ Store(Subtract(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfe7cb391d650a283)
+ }
+
+ Subtract(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Subtract(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 1, Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a283)
+
+ Subtract(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Subtract(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, aui6, Local0)
+ m600(arg0, 15, Local0, 0xfe7cb391d650a283)
+
+ if (y078) {
+ Subtract(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Subtract(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xfe7cb391d650a283)
+ }
+
+ Subtract(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Subtract(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Integer
+
+ Subtract(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Subtract(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Subtract(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfe7cb391d650a283)
+ }
+
+ // Conversion of the second operand
+
+ Store(Subtract(0, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 24, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(1, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 25, Local0, 0x01834c6e29af5d7d)
+
+ Store(Subtract(aui5, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 26, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(aui6, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 27, Local0, 0x01834c6e29af5d7d)
+
+ if (y078) {
+ Store(Subtract(Derefof(Refof(aui5)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 28, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(Derefof(Refof(aui6)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 29, Local0, 0x01834c6e29af5d7d)
+ }
+
+ Store(Subtract(Derefof(Index(paui, 5)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 30, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(Derefof(Index(paui, 6)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 31, Local0, 0x01834c6e29af5d7d)
+
+ // Method returns Integer
+
+ Store(Subtract(m601(1, 5), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 32, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(m601(1, 6), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 33, Local0, 0x01834c6e29af5d7d)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(Derefof(m602(1, 5, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 34, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(Derefof(m602(1, 6, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 35, Local0, 0x01834c6e29af5d7d)
+ }
+
+ Subtract(0, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 36, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(1, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 37, Local0, 0x01834c6e29af5d7d)
+
+ Subtract(aui5, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 38, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(aui6, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 39, Local0, 0x01834c6e29af5d7d)
+
+ if (y078) {
+ Subtract(Derefof(Refof(aui5)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 40, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(Derefof(Refof(aui6)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 41, Local0, 0x01834c6e29af5d7d)
+ }
+
+ Subtract(Derefof(Index(paui, 5)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 42, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(Derefof(Index(paui, 6)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 43, Local0, 0x01834c6e29af5d7d)
+
+ // Method returns Integer
+
+ Subtract(m601(1, 5), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 44, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(m601(1, 6), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 45, Local0, 0x01834c6e29af5d7d)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(Derefof(m602(1, 5, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 46, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(Derefof(m602(1, 6, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 47, Local0, 0x01834c6e29af5d7d)
+ }
+
+ // Conversion of the both operands
+
+ Store(Subtract(Buffer(3){0x21, 0x03, 0x00}, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 48, Local0, 0x01834c6e29af609d)
+
+ Store(Subtract(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 49, Local0, 0xfe7cb391d6509f63)
+
+ Subtract(Buffer(3){0x21, 0x03, 0x00}, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 50, Local0, 0x01834c6e29af609d)
+
+ Subtract(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 51, Local0, 0xfe7cb391d6509f63)
+ }
+
+ // Subtract, 32-bit
+ Method(m05b, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Subtract(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 0), Local0)
+ m600(arg0, 0, Local0, 0xd650a284)
+
+ Store(Subtract(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 1), Local0)
+ m600(arg0, 1, Local0, 0xd650a283)
+
+ Store(Subtract(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, aui5), Local0)
+ m600(arg0, 2, Local0, 0xd650a284)
+
+ Store(Subtract(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, aui6), Local0)
+ m600(arg0, 3, Local0, 0xd650a283)
+
+ if (y078) {
+ Store(Subtract(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xd650a284)
+
+ Store(Subtract(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xd650a283)
+ }
+
+ Store(Subtract(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xd650a284)
+
+ Store(Subtract(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xd650a283)
+
+ // Method returns Integer
+
+ Store(Subtract(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xd650a284)
+
+ Store(Subtract(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xd650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xd650a284)
+
+ Store(Subtract(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xd650a283)
+ }
+
+ Subtract(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 0, Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ Subtract(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 1, Local0)
+ m600(arg0, 13, Local0, 0xd650a283)
+
+ Subtract(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, aui5, Local0)
+ m600(arg0, 14, Local0, 0xd650a284)
+
+ Subtract(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, aui6, Local0)
+ m600(arg0, 15, Local0, 0xd650a283)
+
+ if (y078) {
+ Subtract(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xd650a284)
+
+ Subtract(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xd650a283)
+ }
+
+ Subtract(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xd650a284)
+
+ Subtract(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xd650a283)
+
+ // Method returns Integer
+
+ Subtract(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xd650a284)
+
+ Subtract(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xd650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xd650a284)
+
+ Subtract(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xd650a283)
+ }
+
+ // Conversion of the second operand
+
+ Store(Subtract(0, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 24, Local0, 0x29af5d7c)
+
+ Store(Subtract(1, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 25, Local0, 0x29af5d7d)
+
+ Store(Subtract(aui5, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 26, Local0, 0x29af5d7c)
+
+ Store(Subtract(aui6, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 27, Local0, 0x29af5d7d)
+
+ if (y078) {
+ Store(Subtract(Derefof(Refof(aui5)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 28, Local0, 0x29af5d7c)
+
+ Store(Subtract(Derefof(Refof(aui6)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 29, Local0, 0x29af5d7d)
+ }
+
+ Store(Subtract(Derefof(Index(paui, 5)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 30, Local0, 0x29af5d7c)
+
+ Store(Subtract(Derefof(Index(paui, 6)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 31, Local0, 0x29af5d7d)
+
+ // Method returns Integer
+
+ Store(Subtract(m601(1, 5), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 32, Local0, 0x29af5d7c)
+
+ Store(Subtract(m601(1, 6), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 33, Local0, 0x29af5d7d)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(Derefof(m602(1, 5, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 34, Local0, 0x29af5d7c)
+
+ Store(Subtract(Derefof(m602(1, 6, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 35, Local0, 0x29af5d7d)
+ }
+
+ Subtract(0, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 36, Local0, 0x29af5d7c)
+
+ Subtract(1, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 37, Local0, 0x29af5d7d)
+
+ Subtract(aui5, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 38, Local0, 0x29af5d7c)
+
+ Subtract(aui6, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 39, Local0, 0x29af5d7d)
+
+ if (y078) {
+ Subtract(Derefof(Refof(aui5)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 40, Local0, 0x29af5d7c)
+
+ Subtract(Derefof(Refof(aui6)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 41, Local0, 0x29af5d7d)
+ }
+
+ Subtract(Derefof(Index(paui, 5)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 42, Local0, 0x29af5d7c)
+
+ Subtract(Derefof(Index(paui, 6)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 43, Local0, 0x29af5d7d)
+
+ // Method returns Integer
+
+ Subtract(m601(1, 5), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 44, Local0, 0x29af5d7c)
+
+ Subtract(m601(1, 6), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 45, Local0, 0x29af5d7d)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(Derefof(m602(1, 5, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 46, Local0, 0x29af5d7c)
+
+ Subtract(Derefof(m602(1, 6, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 47, Local0, 0x29af5d7d)
+ }
+
+ // Conversion of the both operands
+
+ Store(Subtract(Buffer(3){0x21, 0x03, 0x00}, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 48, Local0, 0x29af609d)
+
+ Store(Subtract(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 49, Local0, 0xd6509f63)
+
+ Subtract(Buffer(3){0x21, 0x03, 0x00}, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 50, Local0, 0x29af609d)
+
+ Subtract(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 51, Local0, 0xd6509f63)
+ }
+
+ // XOr, common 32-bit/64-bit test
+ Method(m05c, 1)
+ {
+ // Conversion of the first operand
+
+ Store(XOr(Buffer(3){0x21, 0x03, 0x00}, 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(XOr(Buffer(3){0x21, 0x03, 0x00}, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xfffffffffffffcde)
+
+ Store(XOr(Buffer(3){0x21, 0x03, 0x00}, aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(XOr(Buffer(3){0x21, 0x03, 0x00}, auij), Local0)
+ m600(arg0, 3, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ Store(XOr(Buffer(3){0x21, 0x03, 0x00}, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(XOr(Buffer(3){0x21, 0x03, 0x00}, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xfffffffffffffcde)
+ }
+
+ Store(XOr(Buffer(3){0x21, 0x03, 0x00}, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(XOr(Buffer(3){0x21, 0x03, 0x00}, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ Store(XOr(Buffer(3){0x21, 0x03, 0x00}, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(XOr(Buffer(3){0x21, 0x03, 0x00}, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(Buffer(3){0x21, 0x03, 0x00}, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(XOr(Buffer(3){0x21, 0x03, 0x00}, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfffffffffffffcde)
+ }
+
+ XOr(Buffer(3){0x21, 0x03, 0x00}, 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ XOr(Buffer(3){0x21, 0x03, 0x00}, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xfffffffffffffcde)
+
+ XOr(Buffer(3){0x21, 0x03, 0x00}, aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ XOr(Buffer(3){0x21, 0x03, 0x00}, auij, Local0)
+ m600(arg0, 15, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ XOr(Buffer(3){0x21, 0x03, 0x00}, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ XOr(Buffer(3){0x21, 0x03, 0x00}, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xfffffffffffffcde)
+ }
+
+ XOr(Buffer(3){0x21, 0x03, 0x00}, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ XOr(Buffer(3){0x21, 0x03, 0x00}, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ XOr(Buffer(3){0x21, 0x03, 0x00}, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ XOr(Buffer(3){0x21, 0x03, 0x00}, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(Buffer(3){0x21, 0x03, 0x00}, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ XOr(Buffer(3){0x21, 0x03, 0x00}, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfffffffffffffcde)
+ }
+
+ // Conversion of the second operand
+
+ Store(XOr(0, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 24, Local0, 0x321)
+
+ Store(XOr(0xffffffffffffffff, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 25, Local0, 0xfffffffffffffcde)
+
+ Store(XOr(aui5, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 26, Local0, 0x321)
+
+ Store(XOr(auij, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 27, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ Store(XOr(Derefof(Refof(aui5)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 28, Local0, 0x321)
+
+ Store(XOr(Derefof(Refof(auij)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 29, Local0, 0xfffffffffffffcde)
+ }
+
+ Store(XOr(Derefof(Index(paui, 5)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 30, Local0, 0x321)
+
+ Store(XOr(Derefof(Index(paui, 19)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 31, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ Store(XOr(m601(1, 5), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 32, Local0, 0x321)
+
+ Store(XOr(m601(1, 19), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 33, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(Derefof(m602(1, 5, 1)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 34, Local0, 0x321)
+
+ Store(XOr(Derefof(m602(1, 19, 1)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 35, Local0, 0xfffffffffffffcde)
+ }
+
+ XOr(0, Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 36, Local0, 0x321)
+
+ XOr(0xffffffffffffffff, Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 37, Local0, 0xfffffffffffffcde)
+
+ XOr(aui5, Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 38, Local0, 0x321)
+
+ XOr(auij, Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 39, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ XOr(Derefof(Refof(aui5)), Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 40, Local0, 0x321)
+
+ XOr(Derefof(Refof(auij)), Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 41, Local0, 0xfffffffffffffcde)
+ }
+
+ XOr(Derefof(Index(paui, 5)), Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 42, Local0, 0x321)
+
+ XOr(Derefof(Index(paui, 19)), Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 43, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ XOr(m601(1, 5), Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 44, Local0, 0x321)
+
+ XOr(m601(1, 19), Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 45, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(Derefof(m602(1, 5, 1)), Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 46, Local0, 0x321)
+
+ XOr(Derefof(m602(1, 19, 1)), Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 47, Local0, 0xfffffffffffffcde)
+ }
+ }
+
+ // XOr, 64-bit
+ Method(m05d, 1)
+ {
+ // Conversion of the first operand
+
+ Store(XOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0x01834c6e29af5d7b)
+
+ Store(XOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, auij), Local0)
+ m600(arg0, 3, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ Store(XOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Store(XOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ Store(XOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0x01834c6e29af5d7b)
+ }
+
+ XOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ XOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0x01834c6e29af5d7b)
+
+ XOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ XOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, auij, Local0)
+ m600(arg0, 15, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ XOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ XOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0x01834c6e29af5d7b)
+ }
+
+ XOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ XOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ XOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ XOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ XOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0x01834c6e29af5d7b)
+ }
+
+ // Conversion of the second operand
+
+ Store(XOr(0, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 24, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(0xffffffffffffffff, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 25, Local0, 0x01834c6e29af5d7b)
+
+ Store(XOr(aui5, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 26, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(auij, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 27, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ Store(XOr(Derefof(Refof(aui5)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 28, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(Refof(auij)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 29, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Store(XOr(Derefof(Index(paui, 5)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 30, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(Index(paui, 19)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 31, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ Store(XOr(m601(1, 5), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 32, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(m601(1, 19), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 33, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(Derefof(m602(1, 5, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 34, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(m602(1, 19, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 35, Local0, 0x01834c6e29af5d7b)
+ }
+
+ XOr(0, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 36, Local0, 0xfe7cb391d650a284)
+
+ XOr(0xffffffffffffffff, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 37, Local0, 0x01834c6e29af5d7b)
+
+ XOr(aui5, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 38, Local0, 0xfe7cb391d650a284)
+
+ XOr(auij, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 39, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ XOr(Derefof(Refof(aui5)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 40, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(Refof(auij)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 41, Local0, 0x01834c6e29af5d7b)
+ }
+
+ XOr(Derefof(Index(paui, 5)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 42, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(Index(paui, 19)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 43, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ XOr(m601(1, 5), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 44, Local0, 0xfe7cb391d650a284)
+
+ XOr(m601(1, 19), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 45, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(Derefof(m602(1, 5, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 46, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(m602(1, 19, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 47, Local0, 0x01834c6e29af5d7b)
+ }
+
+ // Conversion of the both operands
+
+ Store(XOr(Buffer(3){0x21, 0x03, 0x00}, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 48, Local0, 0xfe7cb391d650a1a5)
+
+ Store(XOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 49, Local0, 0xfe7cb391d650a1a5)
+
+ XOr(Buffer(3){0x21, 0x03, 0x00}, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 50, Local0, 0xfe7cb391d650a1a5)
+
+ XOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 51, Local0, 0xfe7cb391d650a1a5)
+ }
+
+ // XOr, 32-bit
+ Method(m05e, 1)
+ {
+ // Conversion of the first operand
+
+ Store(XOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 0), Local0)
+ m600(arg0, 0, Local0, 0xd650a284)
+
+ Store(XOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0x29af5d7b)
+
+ Store(XOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, aui5), Local0)
+ m600(arg0, 2, Local0, 0xd650a284)
+
+ Store(XOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, auii), Local0)
+ m600(arg0, 3, Local0, 0x29af5d7b)
+
+ if (y078) {
+ Store(XOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xd650a284)
+
+ Store(XOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0x29af5d7b)
+ }
+
+ Store(XOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xd650a284)
+
+ Store(XOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0x29af5d7b)
+
+ // Method returns Integer
+
+ Store(XOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xd650a284)
+
+ Store(XOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0x29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xd650a284)
+
+ Store(XOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0x29af5d7b)
+ }
+
+ XOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 0, Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ XOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0x29af5d7b)
+
+ XOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, aui5, Local0)
+ m600(arg0, 14, Local0, 0xd650a284)
+
+ XOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, auii, Local0)
+ m600(arg0, 15, Local0, 0x29af5d7b)
+
+ if (y078) {
+ XOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xd650a284)
+
+ XOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0x29af5d7b)
+ }
+
+ XOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xd650a284)
+
+ XOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0x29af5d7b)
+
+ // Method returns Integer
+
+ XOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xd650a284)
+
+ XOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0x29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xd650a284)
+
+ XOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0x29af5d7b)
+ }
+
+ // Conversion of the second operand
+
+ Store(XOr(0, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 24, Local0, 0xd650a284)
+
+ Store(XOr(0xffffffff, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 25, Local0, 0x29af5d7b)
+
+ Store(XOr(aui5, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 26, Local0, 0xd650a284)
+
+ Store(XOr(auii, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 27, Local0, 0x29af5d7b)
+
+ if (y078) {
+ Store(XOr(Derefof(Refof(aui5)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 28, Local0, 0xd650a284)
+
+ Store(XOr(Derefof(Refof(auii)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 29, Local0, 0x29af5d7b)
+ }
+
+ Store(XOr(Derefof(Index(paui, 5)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 30, Local0, 0xd650a284)
+
+ Store(XOr(Derefof(Index(paui, 18)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 31, Local0, 0x29af5d7b)
+
+ // Method returns Integer
+
+ Store(XOr(m601(1, 5), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 32, Local0, 0xd650a284)
+
+ Store(XOr(m601(1, 18), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 33, Local0, 0x29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(Derefof(m602(1, 5, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 34, Local0, 0xd650a284)
+
+ Store(XOr(Derefof(m602(1, 18, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 35, Local0, 0x29af5d7b)
+ }
+
+ XOr(0, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 36, Local0, 0xd650a284)
+
+ XOr(0xffffffff, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 37, Local0, 0x29af5d7b)
+
+ XOr(aui5, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 38, Local0, 0xd650a284)
+
+ XOr(auii, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 39, Local0, 0x29af5d7b)
+
+ if (y078) {
+ XOr(Derefof(Refof(aui5)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 40, Local0, 0xd650a284)
+
+ XOr(Derefof(Refof(auii)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 41, Local0, 0x29af5d7b)
+ }
+
+ XOr(Derefof(Index(paui, 5)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 42, Local0, 0xd650a284)
+
+ XOr(Derefof(Index(paui, 18)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 43, Local0, 0x29af5d7b)
+
+ // Method returns Integer
+
+ XOr(m601(1, 5), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 44, Local0, 0xd650a284)
+
+ XOr(m601(1, 18), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 45, Local0, 0x29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(Derefof(m602(1, 5, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 46, Local0, 0xd650a284)
+
+ XOr(Derefof(m602(1, 18, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 47, Local0, 0x29af5d7b)
+ }
+
+ // Conversion of the both operands
+
+ Store(XOr(Buffer(3){0x21, 0x03, 0x00}, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 48, Local0, 0xd650a1a5)
+
+ Store(XOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 49, Local0, 0xd650a1a5)
+
+ XOr(Buffer(3){0x21, 0x03, 0x00}, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 50, Local0, 0xd650a1a5)
+
+ XOr(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 51, Local0, 0xd650a1a5)
+ }
+
+ // Add, And, Divide, Mod, Multiply, NAnd, NOr, Or,
+ // ShiftLeft, ShiftRight, Subtract, Xor
+
+ Method(m64n, 1)
+ {
+ // Add
+ Concatenate(arg0, "-m03b", Local0)
+ SRMT(Local0)
+ m03b(Local0)
+ Concatenate(arg0, "-m03c", Local0)
+ SRMT(Local0)
+ m03c(Local0)
+
+ // And
+ Concatenate(arg0, "-m03e", Local0)
+ SRMT(Local0)
+ m03e(Local0)
+ Concatenate(arg0, "-m03f", Local0)
+ SRMT(Local0)
+ m03f(Local0)
+
+ // Divide
+ Concatenate(arg0, "-m041", Local0)
+ SRMT(Local0)
+ m041(Local0)
+ Concatenate(arg0, "-m042", Local0)
+ SRMT(Local0)
+ m042(Local0)
+
+ // Mod
+ Concatenate(arg0, "-m044", Local0)
+ SRMT(Local0)
+ m044(Local0)
+ Concatenate(arg0, "-m045", Local0)
+ SRMT(Local0)
+ m045(Local0)
+
+ // Multiply
+ Concatenate(arg0, "-m047", Local0)
+ SRMT(Local0)
+ m047(Local0)
+ Concatenate(arg0, "-m048", Local0)
+ SRMT(Local0)
+ m048(Local0)
+
+ // NAnd
+ Concatenate(arg0, "-m04a", Local0)
+ SRMT(Local0)
+ m04a(Local0)
+ Concatenate(arg0, "-m04b", Local0)
+ SRMT(Local0)
+ m04b(Local0)
+
+ // NOr
+ Concatenate(arg0, "-m04d", Local0)
+ SRMT(Local0)
+ m04d(Local0)
+ Concatenate(arg0, "-m04e", Local0)
+ SRMT(Local0)
+ m04e(Local0)
+
+ // Or
+ Concatenate(arg0, "-m050", Local0)
+ SRMT(Local0)
+ m050(Local0)
+ Concatenate(arg0, "-m051", Local0)
+ SRMT(Local0)
+ m051(Local0)
+
+ // ShiftLeft
+ Concatenate(arg0, "-m053", Local0)
+ SRMT(Local0)
+ m053(Local0)
+ Concatenate(arg0, "-m054", Local0)
+ SRMT(Local0)
+ m054(Local0)
+
+ // ShiftRight
+ Concatenate(arg0, "-m056", Local0)
+ SRMT(Local0)
+ m056(Local0)
+ Concatenate(arg0, "-m057", Local0)
+ SRMT(Local0)
+ m057(Local0)
+
+ // Subtract
+ Concatenate(arg0, "-m059", Local0)
+ SRMT(Local0)
+ m059(Local0)
+ Concatenate(arg0, "-m05a", Local0)
+ SRMT(Local0)
+ m05a(Local0)
+
+ // XOr
+ Concatenate(arg0, "-m05c", Local0)
+ SRMT(Local0)
+ m05c(Local0)
+ Concatenate(arg0, "-m05d", Local0)
+ SRMT(Local0)
+ m05d(Local0)
+ }
+
+ Method(m32n, 1)
+ {
+ // Add
+ Concatenate(arg0, "-m03b", Local0)
+ SRMT(Local0)
+ m03b(Local0)
+ Concatenate(arg0, "-m03d", Local0)
+ SRMT(Local0)
+ m03d(Local0)
+
+ // And
+ Concatenate(arg0, "-m03e", Local0)
+ SRMT(Local0)
+ m03e(Local0)
+ Concatenate(arg0, "-m040", Local0)
+ SRMT(Local0)
+ m040(Local0)
+
+ // Divide
+ Concatenate(arg0, "-m041", Local0)
+ SRMT(Local0)
+ m041(Local0)
+ Concatenate(arg0, "-m043", Local0)
+ SRMT(Local0)
+ m043(Local0)
+
+ // Mod
+ Concatenate(arg0, "-m044", Local0)
+ SRMT(Local0)
+ m044(Local0)
+ Concatenate(arg0, "-m046", Local0)
+ SRMT(Local0)
+ m046(Local0)
+
+ // Multiply
+ Concatenate(arg0, "-m047", Local0)
+ SRMT(Local0)
+ m047(Local0)
+ Concatenate(arg0, "-m049", Local0)
+ SRMT(Local0)
+ m049(Local0)
+
+ // NAnd
+ Concatenate(arg0, "-m04a", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m04a(Local0)
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m04c", Local0)
+ SRMT(Local0)
+ m04c(Local0)
+
+ // NOr
+ Concatenate(arg0, "-m04d", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m04d(Local0)
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m04f", Local0)
+ SRMT(Local0)
+ m04f(Local0)
+
+ // Or
+ Concatenate(arg0, "-m050", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m050(Local0)
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m052", Local0)
+ SRMT(Local0)
+ m052(Local0)
+
+ // ShiftLeft
+ Concatenate(arg0, "-m053", Local0)
+ SRMT(Local0)
+ m053(Local0)
+ Concatenate(arg0, "-m055", Local0)
+ SRMT(Local0)
+ m055(Local0)
+
+ // ShiftRight
+ Concatenate(arg0, "-m056", Local0)
+ SRMT(Local0)
+ m056(Local0)
+ Concatenate(arg0, "-m058", Local0)
+ SRMT(Local0)
+ m058(Local0)
+
+ // Subtract
+ Concatenate(arg0, "-m059", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m059(Local0)
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m05b", Local0)
+ SRMT(Local0)
+ m05b(Local0)
+
+ // XOr
+ Concatenate(arg0, "-m05c", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m05c(Local0)
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m05e", Local0)
+ SRMT(Local0)
+ m05e(Local0)
+ }
+
+ // Buffer to Integer conversion of each Buffer operand
+ // of the 2-parameter Logical Integer operators LAnd and LOr
+
+ // LAnd, common 32-bit/64-bit test
+ Method(m05f, 1)
+ {
+ // Conversion of the first operand
+
+ Store(LAnd(Buffer(3){0x21, 0x03, 0x00}, 0), Local0)
+ m600(arg0, 0, Local0, Zero)
+
+ Store(LAnd(Buffer(3){0x21, 0x03, 0x00}, 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(LAnd(Buffer(3){0x21, 0x03, 0x00}, aui5), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LAnd(Buffer(3){0x21, 0x03, 0x00}, aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(Buffer(3){0x21, 0x03, 0x00}, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LAnd(Buffer(3){0x21, 0x03, 0x00}, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(LAnd(Buffer(3){0x21, 0x03, 0x00}, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Zero)
+
+ Store(LAnd(Buffer(3){0x21, 0x03, 0x00}, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(Buffer(3){0x21, 0x03, 0x00}, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Zero)
+
+ Store(LAnd(Buffer(3){0x21, 0x03, 0x00}, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(Buffer(3){0x21, 0x03, 0x00}, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LAnd(Buffer(3){0x21, 0x03, 0x00}, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(LAnd(0, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LAnd(1, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LAnd(aui5, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LAnd(aui6, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(Derefof(Refof(aui5)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(aui6)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(LAnd(Derefof(Index(paui, 5)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LAnd(Derefof(Index(paui, 6)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(m601(1, 5), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LAnd(m601(1, 6), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(Derefof(m602(1, 5, 1)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LAnd(Derefof(m602(1, 6, 1)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+ }
+
+ // LAnd, 64-bit
+ Method(m060, 1)
+ {
+ // Conversion of the first operand
+
+ Store(LAnd(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 0), Local0)
+ m600(arg0, 0, Local0, Zero)
+
+ Store(LAnd(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(LAnd(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, aui5), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LAnd(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LAnd(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(LAnd(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Zero)
+
+ Store(LAnd(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Zero)
+
+ Store(LAnd(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LAnd(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(LAnd(0, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LAnd(1, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LAnd(aui5, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LAnd(aui6, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(Derefof(Refof(aui5)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(aui6)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(LAnd(Derefof(Index(paui, 5)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LAnd(Derefof(Index(paui, 6)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(m601(1, 5), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LAnd(m601(1, 6), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(Derefof(m602(1, 5, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LAnd(Derefof(m602(1, 6, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+
+ // Conversion of the both operands
+
+ Store(LAnd(Buffer(3){0x21, 0x03, 0x00}, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 24, Local0, Ones)
+
+ Store(LAnd(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // LAnd, 32-bit
+ Method(m061, 1)
+ {
+ // Conversion of the first operand
+
+ Store(LAnd(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 0), Local0)
+ m600(arg0, 0, Local0, Zero)
+
+ Store(LAnd(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(LAnd(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, aui5), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LAnd(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LAnd(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(LAnd(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Zero)
+
+ Store(LAnd(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Zero)
+
+ Store(LAnd(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LAnd(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(LAnd(0, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LAnd(1, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LAnd(aui5, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LAnd(aui6, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(Derefof(Refof(aui5)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(aui6)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(LAnd(Derefof(Index(paui, 5)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LAnd(Derefof(Index(paui, 6)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(m601(1, 5), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LAnd(m601(1, 6), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(Derefof(m602(1, 5, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LAnd(Derefof(m602(1, 6, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+
+ // Conversion of the both operands
+
+ Store(LAnd(Buffer(3){0x21, 0x03, 0x00}, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 24, Local0, Ones)
+
+ Store(LAnd(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // Lor, common 32-bit/64-bit test
+ Method(m062, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Lor(Buffer(1){0x00}, 0), Local0)
+ m600(arg0, 0, Local0, Zero)
+
+ Store(Lor(Buffer(1){0x00}, 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(Lor(Buffer(1){0x00}, aui5), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(Lor(Buffer(1){0x00}, aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(Buffer(1){0x00}, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(Lor(Buffer(1){0x00}, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(Lor(Buffer(1){0x00}, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Zero)
+
+ Store(Lor(Buffer(1){0x00}, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(Buffer(1){0x00}, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Zero)
+
+ Store(Lor(Buffer(1){0x00}, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(Buffer(1){0x00}, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(Lor(Buffer(1){0x00}, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(Lor(0, Buffer(1){0x00}), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(Lor(1, Buffer(1){0x00}), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(Lor(aui5, Buffer(1){0x00}), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(Lor(aui6, Buffer(1){0x00}), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(Derefof(Refof(aui5)), Buffer(1){0x00}), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(Lor(Derefof(Refof(aui6)), Buffer(1){0x00}), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(Lor(Derefof(Index(paui, 5)), Buffer(1){0x00}), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(Lor(Derefof(Index(paui, 6)), Buffer(1){0x00}), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(m601(1, 5), Buffer(1){0x00}), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(Lor(m601(1, 6), Buffer(1){0x00}), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(Derefof(m602(1, 5, 1)), Buffer(1){0x00}), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(Lor(Derefof(m602(1, 6, 1)), Buffer(1){0x00}), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+ }
+
+ // Lor, 64-bit
+ Method(m063, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Lor(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 0), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(Lor(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(Lor(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, aui5), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(Lor(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(Lor(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(Lor(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(Lor(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(Lor(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(Lor(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(Lor(0, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(Lor(1, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(Lor(aui5, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 14, Local0, Ones)
+
+ Store(Lor(aui6, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(Derefof(Refof(aui5)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 16, Local0, Ones)
+
+ Store(Lor(Derefof(Refof(aui6)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(Lor(Derefof(Index(paui, 5)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 18, Local0, Ones)
+
+ Store(Lor(Derefof(Index(paui, 6)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(m601(1, 5), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 20, Local0, Ones)
+
+ Store(Lor(m601(1, 6), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(Derefof(m602(1, 5, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(Lor(Derefof(m602(1, 6, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+
+ // Conversion of the both operands
+
+ Store(Lor(Buffer(1){0x00}, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 24, Local0, Ones)
+
+ Store(Lor(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Buffer(1){0x00}), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // Lor, 32-bit
+ Method(m064, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Lor(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 0), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(Lor(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(Lor(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, aui5), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(Lor(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(Lor(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(Lor(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(Lor(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(Lor(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(Lor(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(Lor(0, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(Lor(1, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(Lor(aui5, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 14, Local0, Ones)
+
+ Store(Lor(aui6, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(Derefof(Refof(aui5)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 16, Local0, Ones)
+
+ Store(Lor(Derefof(Refof(aui6)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(Lor(Derefof(Index(paui, 5)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 18, Local0, Ones)
+
+ Store(Lor(Derefof(Index(paui, 6)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(m601(1, 5), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 20, Local0, Ones)
+
+ Store(Lor(m601(1, 6), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(Derefof(m602(1, 5, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(Lor(Derefof(m602(1, 6, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+
+ // Conversion of the both operands
+
+ Store(Lor(Buffer(1){0x00}, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 24, Local0, Ones)
+
+ Store(Lor(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Buffer(1){0x00}), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ Method(m64o, 1)
+ {
+ // LAnd
+ Concatenate(arg0, "-m05f", Local0)
+ SRMT(Local0)
+ m05f(Local0)
+ Concatenate(arg0, "-m060", Local0)
+ SRMT(Local0)
+ m060(Local0)
+
+ // LOr
+ Concatenate(arg0, "-m062", Local0)
+ SRMT(Local0)
+ m062(Local0)
+ Concatenate(arg0, "-m063", Local0)
+ SRMT(Local0)
+ m063(Local0)
+ }
+
+ Method(m32o, 1)
+ {
+ // LAnd
+ Concatenate(arg0, "-m05f", Local0)
+ SRMT(Local0)
+ m05f(Local0)
+ Concatenate(arg0, "-m061", Local0)
+ SRMT(Local0)
+ m061(Local0)
+
+ // LOr
+ Concatenate(arg0, "-m062", Local0)
+ SRMT(Local0)
+ m062(Local0)
+ Concatenate(arg0, "-m064", Local0)
+ SRMT(Local0)
+ m064(Local0)
+ }
+
+
+ // Buffer to Integer conversion of the Buffer second operand of
+ // Logical operators when the first operand is evaluated as Integer
+ // (LEqual, LGreater, LGreaterEqual, LLess, LLessEqual, LNotEqual)
+
+ Method(m64p, 1)
+ {
+ // LEqual
+
+ Store(LEqual(0xfe7cb391d650a284, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual(0xfe7cb391d650a285, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(0xfe7cb391d650a283, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LEqual(aui4, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ Store(LEqual(auid, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LEqual(auif, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 5, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aui4)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(auid)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ Store(LEqual(Derefof(Refof(auif)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 8, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paui, 4)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paui, 13)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LEqual(Derefof(Index(paui, 15)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 11, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LEqual(m601(1, 4), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(LEqual(m601(1, 13), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 13, Local0, Zero)
+
+ Store(LEqual(m601(1, 15), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(1, 4, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(1, 13, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LEqual(Derefof(m602(1, 15, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 17, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater(0xfe7cb391d650a284, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(0xfe7cb391d650a285, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ Store(LGreater(0xfe7cb391d650a283, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(aui4, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 21, Local0, Zero)
+
+ Store(LGreater(auid, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(LGreater(auif, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 23, Local0, Zero)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aui4)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(auid)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 25, Local0, Ones)
+
+ Store(LGreater(Derefof(Refof(auif)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 26, Local0, Zero)
+ }
+
+ Store(LGreater(Derefof(Index(paui, 4)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 27, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paui, 13)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 28, Local0, Ones)
+
+ Store(LGreater(Derefof(Index(paui, 15)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 29, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreater(m601(1, 4), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 30, Local0, Zero)
+
+ Store(LGreater(m601(1, 13), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ Store(LGreater(m601(1, 15), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 32, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(1, 4, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 33, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(1, 13, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreater(Derefof(m602(1, 15, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 35, Local0, Zero)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual(0xfe7cb391d650a284, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(0xfe7cb391d650a285, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ Store(LGreaterEqual(0xfe7cb391d650a283, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 38, Local0, Zero)
+
+ Store(LGreaterEqual(aui4, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 39, Local0, Ones)
+
+ Store(LGreaterEqual(auid, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 40, Local0, Ones)
+
+ Store(LGreaterEqual(auif, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aui4)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auid)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 43, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auif)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 44, Local0, Zero)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paui, 4)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 45, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 13)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 46, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 15)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 47, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreaterEqual(m601(1, 4), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 48, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 13), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 49, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 15), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(1, 4, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 51, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 13, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 52, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 15, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLess
+
+ Store(LLess(0xfe7cb391d650a284, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 54, Local0, Zero)
+
+ Store(LLess(0xfe7cb391d650a285, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLess(0xfe7cb391d650a283, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLess(aui4, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLess(auid, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 58, Local0, Zero)
+
+ Store(LLess(auif, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 59, Local0, Ones)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aui4)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 60, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auid)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 61, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auif)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 62, Local0, Ones)
+ }
+
+ Store(LLess(Derefof(Index(paui, 4)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 13)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 64, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 15)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 65, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLess(m601(1, 4), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 66, Local0, Zero)
+
+ Store(LLess(m601(1, 13), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 67, Local0, Zero)
+
+ Store(LLess(m601(1, 15), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 68, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLess(Derefof(m602(1, 4, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 69, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 13, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 70, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 15, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 71, Local0, Ones)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual(0xfe7cb391d650a284, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 72, Local0, Ones)
+
+ Store(LLessEqual(0xfe7cb391d650a285, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 73, Local0, Zero)
+
+ Store(LLessEqual(0xfe7cb391d650a283, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 74, Local0, Ones)
+
+ Store(LLessEqual(aui4, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 75, Local0, Ones)
+
+ Store(LLessEqual(auid, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LLessEqual(auif, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aui4)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 78, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(auid)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 79, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Refof(auif)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 80, Local0, Ones)
+ }
+
+ Store(LLessEqual(Derefof(Index(paui, 4)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 81, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paui, 13)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 82, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Index(paui, 15)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 83, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLessEqual(m601(1, 4), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 84, Local0, Ones)
+
+ Store(LLessEqual(m601(1, 13), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 85, Local0, Zero)
+
+ Store(LLessEqual(m601(1, 15), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 86, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(1, 4, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 87, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(1, 13, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 88, Local0, Zero)
+
+ Store(LLessEqual(Derefof(m602(1, 15, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 89, Local0, Ones)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual(0xfe7cb391d650a284, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 90, Local0, Zero)
+
+ Store(LNotEqual(0xfe7cb391d650a285, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 91, Local0, Ones)
+
+ Store(LNotEqual(0xfe7cb391d650a283, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 92, Local0, Ones)
+
+ Store(LNotEqual(aui4, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 93, Local0, Zero)
+
+ Store(LNotEqual(auid, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 94, Local0, Ones)
+
+ Store(LNotEqual(auif, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 95, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aui4)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 96, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(auid)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 97, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Refof(auif)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 98, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paui, 4)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 99, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paui, 13)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 100, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Index(paui, 15)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 101, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LNotEqual(m601(1, 4), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 102, Local0, Zero)
+
+ Store(LNotEqual(m601(1, 13), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 103, Local0, Ones)
+
+ Store(LNotEqual(m601(1, 15), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 104, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(1, 4, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 105, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(1, 13, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 106, Local0, Ones)
+
+ Store(LNotEqual(Derefof(m602(1, 15, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 107, Local0, Ones)
+ }
+ }
+
+ Method(m32p, 1)
+ {
+ // LEqual
+
+ Store(LEqual(0xd650a284, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual(0xd650a285, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(0xd650a283, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LEqual(auik, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ Store(LEqual(auil, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LEqual(auim, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 5, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(auik)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(auil)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ Store(LEqual(Derefof(Refof(auim)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 8, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paui, 20)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paui, 21)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LEqual(Derefof(Index(paui, 22)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 11, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LEqual(m601(1, 20), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(LEqual(m601(1, 21), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 13, Local0, Zero)
+
+ Store(LEqual(m601(1, 22), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(1, 20, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LEqual(Derefof(m601(1, 21, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LEqual(Derefof(m601(1, 22, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 17, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater(0xd650a284, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(0xd650a285, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ Store(LGreater(0xd650a283, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(auik, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 21, Local0, Zero)
+
+ Store(LGreater(auil, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(LGreater(auim, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 23, Local0, Zero)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(auik)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(auil)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 25, Local0, Ones)
+
+ Store(LGreater(Derefof(Refof(auim)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 26, Local0, Zero)
+ }
+
+ Store(LGreater(Derefof(Index(paui, 20)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 27, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paui, 21)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 28, Local0, Ones)
+
+ Store(LGreater(Derefof(Index(paui, 22)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 29, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreater(m601(1, 20), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 30, Local0, Zero)
+
+ Store(LGreater(m601(1, 21), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ Store(LGreater(m601(1, 22), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 32, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(1, 20, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 33, Local0, Zero)
+
+ Store(LGreater(Derefof(m601(1, 21, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreater(Derefof(m601(1, 22, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 35, Local0, Zero)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual(0xd650a284, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(0xd650a285, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ Store(LGreaterEqual(0xd650a283, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 38, Local0, Zero)
+
+ Store(LGreaterEqual(auik, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 39, Local0, Ones)
+
+ Store(LGreaterEqual(auil, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 40, Local0, Ones)
+
+ Store(LGreaterEqual(auim, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(auik)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auil)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 43, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auim)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 44, Local0, Zero)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paui, 20)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 45, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 21)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 46, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 22)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 47, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreaterEqual(m601(1, 20), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 48, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 21), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 49, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 22), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(1, 20, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 51, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m601(1, 21, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 52, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m601(1, 22, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLess
+
+ Store(LLess(0xd650a284, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 54, Local0, Zero)
+
+ Store(LLess(0xd650a285, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLess(0xd650a283, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLess(auik, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLess(auil, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 58, Local0, Zero)
+
+ Store(LLess(auim, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 59, Local0, Ones)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(auik)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 60, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auil)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 61, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auim)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 62, Local0, Ones)
+ }
+
+ Store(LLess(Derefof(Index(paui, 20)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 21)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 64, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 22)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 65, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLess(m601(1, 20), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 66, Local0, Zero)
+
+ Store(LLess(m601(1, 21), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 67, Local0, Zero)
+
+ Store(LLess(m601(1, 22), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 68, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLess(Derefof(m602(1, 20, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 69, Local0, Zero)
+
+ Store(LLess(Derefof(m601(1, 21, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 70, Local0, Zero)
+
+ Store(LLess(Derefof(m601(1, 22, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 71, Local0, Ones)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual(0xd650a284, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 72, Local0, Ones)
+
+ Store(LLessEqual(0xd650a285, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 73, Local0, Zero)
+
+ Store(LLessEqual(0xd650a283, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 74, Local0, Ones)
+
+ Store(LLessEqual(auik, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 75, Local0, Ones)
+
+ Store(LLessEqual(auil, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LLessEqual(auim, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(auik)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 78, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(auil)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 79, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Refof(auim)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 80, Local0, Ones)
+ }
+
+ Store(LLessEqual(Derefof(Index(paui, 20)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 81, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paui, 21)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 82, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Index(paui, 22)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 83, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLessEqual(m601(1, 20), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 84, Local0, Ones)
+
+ Store(LLessEqual(m601(1, 21), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 85, Local0, Zero)
+
+ Store(LLessEqual(m601(1, 22), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 86, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(1, 20, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 87, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m601(1, 21, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 88, Local0, Zero)
+
+ Store(LLessEqual(Derefof(m601(1, 22, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 89, Local0, Ones)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual(0xd650a284, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 90, Local0, Zero)
+
+ Store(LNotEqual(0xd650a285, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 91, Local0, Ones)
+
+ Store(LNotEqual(0xd650a283, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 92, Local0, Ones)
+
+ Store(LNotEqual(auik, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 93, Local0, Zero)
+
+ Store(LNotEqual(auil, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 94, Local0, Ones)
+
+ Store(LNotEqual(auim, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 95, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(auik)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 96, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(auil)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 97, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Refof(auim)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 98, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paui, 20)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 99, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paui, 21)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 100, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Index(paui, 22)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 101, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LNotEqual(m601(1, 20), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 102, Local0, Zero)
+
+ Store(LNotEqual(m601(1, 21), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 103, Local0, Ones)
+
+ Store(LNotEqual(m601(1, 22), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 104, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(1, 20, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 105, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m601(1, 21, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 106, Local0, Ones)
+
+ Store(LNotEqual(Derefof(m601(1, 22, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 107, Local0, Ones)
+ }
+ }
+
+ Method(m065, 1)
+ {
+ // LEqual
+
+ Store(LEqual(0x321, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual(0x322, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(0x320, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LEqual(aui1, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ Store(LEqual(auig, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LEqual(auih, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 5, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aui1)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(auig)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ Store(LEqual(Derefof(Refof(auih)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 8, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paui, 1)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paui, 16)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LEqual(Derefof(Index(paui, 17)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 11, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LEqual(m601(1, 1), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(LEqual(m601(1, 16), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 13, Local0, Zero)
+
+ Store(LEqual(m601(1, 17), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(1, 1, 1)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(1, 16, 1)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LEqual(Derefof(m602(1, 17, 1)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 17, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater(0x321, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(0x322, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ Store(LGreater(0x320, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(aui1, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 21, Local0, Zero)
+
+ Store(LGreater(auig, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(LGreater(auih, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 23, Local0, Zero)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aui1)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(auig)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 25, Local0, Ones)
+
+ Store(LGreater(Derefof(Refof(auih)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 26, Local0, Zero)
+ }
+
+ Store(LGreater(Derefof(Index(paui, 1)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 27, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paui, 16)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 28, Local0, Ones)
+
+ Store(LGreater(Derefof(Index(paui, 17)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 29, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreater(m601(1, 1), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 30, Local0, Zero)
+
+ Store(LGreater(m601(1, 16), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ Store(LGreater(m601(1, 17), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 32, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(1, 1, 1)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 33, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(1, 16, 1)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreater(Derefof(m602(1, 17, 1)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 35, Local0, Zero)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual(0x321, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(0x322, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ Store(LGreaterEqual(0x320, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 38, Local0, Zero)
+
+ Store(LGreaterEqual(aui1, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 39, Local0, Ones)
+
+ Store(LGreaterEqual(auig, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 40, Local0, Ones)
+
+ Store(LGreaterEqual(auih, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aui1)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auig)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 43, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auih)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 44, Local0, Zero)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paui, 1)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 45, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 16)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 46, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 17)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 47, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreaterEqual(m601(1, 1), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 48, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 16), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 49, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 17), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(1, 1, 1)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 51, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 16, 1)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 52, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 17, 1)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLess
+
+ Store(LLess(0x321, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 54, Local0, Zero)
+
+ Store(LLess(0x322, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLess(0x320, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLess(aui1, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLess(auig, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 58, Local0, Zero)
+
+ Store(LLess(auih, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 59, Local0, Ones)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aui1)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 60, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auig)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 61, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auih)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 62, Local0, Ones)
+ }
+
+ Store(LLess(Derefof(Index(paui, 1)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 16)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 64, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 17)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 65, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLess(m601(1, 1), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 66, Local0, Zero)
+
+ Store(LLess(m601(1, 16), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 67, Local0, Zero)
+
+ Store(LLess(m601(1, 17), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 68, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLess(Derefof(m602(1, 1, 1)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 69, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 16, 1)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 70, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 17, 1)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 71, Local0, Ones)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual(0x321, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 72, Local0, Ones)
+
+ Store(LLessEqual(0x322, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 73, Local0, Zero)
+
+ Store(LLessEqual(0x320, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 74, Local0, Ones)
+
+ Store(LLessEqual(aui1, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 75, Local0, Ones)
+
+ Store(LLessEqual(auig, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LLessEqual(auih, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aui1)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 78, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(auig)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 79, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Refof(auih)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 80, Local0, Ones)
+ }
+
+ Store(LLessEqual(Derefof(Index(paui, 1)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 81, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paui, 16)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 82, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Index(paui, 17)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 83, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLessEqual(m601(1, 1), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 84, Local0, Ones)
+
+ Store(LLessEqual(m601(1, 16), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 85, Local0, Zero)
+
+ Store(LLessEqual(m601(1, 17), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 86, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(1, 1, 1)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 87, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(1, 16, 1)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 88, Local0, Zero)
+
+ Store(LLessEqual(Derefof(m602(1, 17, 1)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 89, Local0, Ones)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual(0x321, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 90, Local0, Zero)
+
+ Store(LNotEqual(0x322, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 91, Local0, Ones)
+
+ Store(LNotEqual(0x320, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 92, Local0, Ones)
+
+ Store(LNotEqual(aui1, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 93, Local0, Zero)
+
+ Store(LNotEqual(auig, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 94, Local0, Ones)
+
+ Store(LNotEqual(auih, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 95, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aui1)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 96, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(auig)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 97, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Refof(auih)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 98, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paui, 1)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 99, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paui, 16)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 100, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Index(paui, 17)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 101, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LNotEqual(m601(1, 1), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 102, Local0, Zero)
+
+ Store(LNotEqual(m601(1, 16), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 103, Local0, Ones)
+
+ Store(LNotEqual(m601(1, 17), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 104, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(1, 1, 1)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 105, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(1, 16, 1)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 106, Local0, Ones)
+
+ Store(LNotEqual(Derefof(m602(1, 17, 1)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 107, Local0, Ones)
+ }
+ }
+
+ // Buffer to Integer intermediate conversion of the Buffer second
+ // operand of Concatenate operator in case the first one is Integer
+
+ Method(m64q, 1)
+ {
+ Store(Concatenate(0x321, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 0, Local0, bb26)
+
+ Store(Concatenate(0x321, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 1, Local0, bb21)
+
+
+ Store(Concatenate(aui1, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 2, Local0, bb26)
+
+ Store(Concatenate(aui1, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 3, Local0, bb21)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aui1)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 4, Local0, bb26)
+
+ Store(Concatenate(Derefof(Refof(aui1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 5, Local0, bb21)
+ }
+
+ Store(Concatenate(Derefof(Index(paui, 1)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 6, Local0, bb26)
+
+ Store(Concatenate(Derefof(Index(paui, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 7, Local0, bb21)
+
+ // Method returns Integer
+
+ Store(Concatenate(m601(1, 1), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 8, Local0, bb26)
+
+ Store(Concatenate(m601(1, 1), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 9, Local0, bb21)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(1, 1, 1)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 10, Local0, bb26)
+
+ Store(Concatenate(Derefof(m602(1, 1, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 11, Local0, bb21)
+ }
+
+ Concatenate(0x321, Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 12, Local0, bb26)
+
+ Concatenate(0x321, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 13, Local0, bb21)
+
+
+ Concatenate(aui1, Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 14, Local0, bb26)
+
+ Concatenate(aui1, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 15, Local0, bb21)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aui1)), Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 16, Local0, bb26)
+
+ Concatenate(Derefof(Refof(aui1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 17, Local0, bb21)
+ }
+
+ Concatenate(Derefof(Index(paui, 1)), Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 18, Local0, bb26)
+
+ Concatenate(Derefof(Index(paui, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 19, Local0, bb21)
+
+ // Method returns Integer
+
+ Concatenate(m601(1, 1), Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 20, Local0, bb26)
+
+ Concatenate(m601(1, 1), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 21, Local0, bb21)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Concatenate(Derefof(m602(1, 1, 1)), Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 22, Local0, bb26)
+
+ Concatenate(Derefof(m602(1, 1, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 23, Local0, bb21)
+ }
+ }
+
+ Method(m32q, 1)
+ {
+ Store(Concatenate(0x321, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 0, Local0, bb27)
+
+ Store(Concatenate(0x321, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 1, Local0, bb28)
+
+
+ Store(Concatenate(aui1, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 2, Local0, bb27)
+
+ Store(Concatenate(aui1, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 3, Local0, bb28)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aui1)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 4, Local0, bb27)
+
+ Store(Concatenate(Derefof(Refof(aui1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 5, Local0, bb28)
+ }
+
+ Store(Concatenate(Derefof(Index(paui, 1)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 6, Local0, bb27)
+
+ Store(Concatenate(Derefof(Index(paui, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 7, Local0, bb28)
+
+ // Method returns Integer
+
+ Store(Concatenate(m601(1, 1), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 8, Local0, bb27)
+
+ Store(Concatenate(m601(1, 1), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 9, Local0, bb28)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(1, 1, 1)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 10, Local0, bb27)
+
+ Store(Concatenate(Derefof(m602(1, 1, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 11, Local0, bb28)
+ }
+
+ Concatenate(0x321, Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 12, Local0, bb27)
+
+ Concatenate(0x321, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 13, Local0, bb28)
+
+
+ Concatenate(aui1, Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 14, Local0, bb27)
+
+ Concatenate(aui1, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 15, Local0, bb28)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aui1)), Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 16, Local0, bb27)
+
+ Concatenate(Derefof(Refof(aui1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 17, Local0, bb28)
+ }
+
+ Concatenate(Derefof(Index(paui, 1)), Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 18, Local0, bb27)
+
+ Concatenate(Derefof(Index(paui, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 20, Local0, bb28)
+
+ // Method returns Integer
+
+ Concatenate(m601(1, 1), Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 21, Local0, bb27)
+
+ Concatenate(m601(1, 1), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 22, Local0, bb28)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Concatenate(Derefof(m602(1, 1, 1)), Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 23, Local0, bb27)
+
+ Concatenate(Derefof(m602(1, 1, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 24, Local0, bb28)
+ }
+ }
+
+ // Buffer to Integer conversion of the Buffer Length (second)
+ // operand of the ToString operator
+
+ // Common 32-bit/64-bit test
+ Method(m066, 1)
+ {
+ Store(ToString(Buffer() {"This is auxiliary Buffer"},
+ Buffer(1){0xb}), Local0)
+ m600(arg0, 0, Local0, bs1b)
+
+ Store(ToString(Buffer() {"This is auxiliary Buffer"},
+ Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 1, Local0, bs1c)
+
+ Store(ToString(aub6, Buffer(1){0xb}), Local0)
+ m600(arg0, 2, Local0, bs1b)
+
+ Store(ToString(aub6, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 3, Local0, bs1c)
+
+ if (y078) {
+ Store(ToString(Derefof(Refof(aub6)), Buffer(1){0xb}), Local0)
+ m600(arg0, 4, Local0, bs1b)
+
+ Store(ToString(Derefof(Refof(aub6)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 5, Local0, bs1c)
+ }
+
+ Store(ToString(Derefof(Index(paub, 6)), Buffer(1){0xb}), Local0)
+ m600(arg0, 6, Local0, bs1b)
+
+ Store(ToString(Derefof(Index(paub, 6)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 7, Local0, bs1c)
+
+ // Method returns Buffer
+
+ Store(ToString(m601(3, 6), Buffer(1){0xb}), Local0)
+ m600(arg0, 8, Local0, bs1b)
+
+ Store(ToString(m601(3, 6), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 9, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(ToString(Derefof(m602(3, 6, 1)), Buffer(1){0xb}), Local0)
+ m600(arg0, 10, Local0, bs1b)
+
+ Store(ToString(Derefof(m602(3, 6, 1)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 11, Local0, bs1c)
+ }
+
+ ToString(Buffer() {"This is auxiliary Buffer"},
+ Buffer(1){0xb}, Local0)
+ m600(arg0, 12, Local0, bs1b)
+
+ ToString(Buffer() {"This is auxiliary Buffer"},
+ Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 13, Local0, bs1c)
+
+ ToString(aub6, Buffer(1){0xb}, Local0)
+ m600(arg0, 14, Local0, bs1b)
+
+ ToString(aub6, Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 15, Local0, bs1c)
+
+ if (y078) {
+ ToString(Derefof(Refof(aub6)), Buffer(1){0xb}, Local0)
+ m600(arg0, 16, Local0, bs1b)
+
+ ToString(Derefof(Refof(aub6)), Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 17, Local0, bs1c)
+ }
+
+ ToString(Derefof(Index(paub, 6)), Buffer(1){0xb}, Local0)
+ m600(arg0, 18, Local0, bs1b)
+
+ ToString(Derefof(Index(paub, 6)), Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 19, Local0, bs1c)
+
+ // Method returns Buffer
+
+ ToString(m601(3, 6), Buffer(1){0xb}, Local0)
+ m600(arg0, 20, Local0, bs1b)
+
+ ToString(m601(3, 6), Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 21, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ ToString(Derefof(m602(3, 6, 1)), Buffer(1){0xb}, Local0)
+ m600(arg0, 22, Local0, bs1b)
+
+ ToString(Derefof(m602(3, 6, 1)), Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 23, Local0, bs1c)
+ }
+ }
+
+ Method(m64r, 1)
+ {
+ Store(ToString(Buffer() {"This is auxiliary Buffer"},
+ Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 0, Local0, bs1c)
+
+ Store(ToString(aub6, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 1, Local0, bs1c)
+
+ if (y078) {
+ Store(ToString(Derefof(Refof(aub6)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 2, Local0, bs1c)
+ }
+
+ Store(ToString(Derefof(Index(paub, 6)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 3, Local0, bs1c)
+
+ // Method returns Buffer
+
+ Store(ToString(m601(3, 6), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 4, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(ToString(Derefof(m602(3, 6, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 5, Local0, bs1c)
+ }
+
+ ToString(Buffer() {"This is auxiliary Buffer"},
+ Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 6, Local0, bs1c)
+
+ ToString(aub6, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 7, Local0, bs1c)
+
+ if (y078) {
+ ToString(Derefof(Refof(aub6)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 8, Local0, bs1c)
+ }
+
+ ToString(Derefof(Index(paub, 6)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 9, Local0, bs1c)
+
+ // Method returns Buffer
+
+ ToString(m601(3, 6), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 10, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ ToString(Derefof(m602(3, 6, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 11, Local0, bs1c)
+ }
+ }
+
+ Method(m32r, 1)
+ {
+ Store(ToString(Buffer() {"This is auxiliary Buffer"},
+ Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 0, Local0, bs1c)
+
+ Store(ToString(aub6, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 1, Local0, bs1c)
+
+ if (y078) {
+ Store(ToString(Derefof(Refof(aub6)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 2, Local0, bs1c)
+ }
+
+ Store(ToString(Derefof(Index(paub, 6)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 3, Local0, bs1c)
+
+ // Method returns Buffer
+
+ Store(ToString(m601(3, 6), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 4, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(ToString(Derefof(m602(3, 6, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 5, Local0, bs1c)
+ }
+
+ ToString(Buffer() {"This is auxiliary Buffer"},
+ Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 6, Local0, bs1c)
+
+ ToString(aub6, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 7, Local0, bs1c)
+
+ if (y078) {
+ ToString(Derefof(Refof(aub6)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 8, Local0, bs1c)
+ }
+
+ ToString(Derefof(Index(paub, 6)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 9, Local0, bs1c)
+
+ // Method returns Buffer
+
+ ToString(m601(3, 6), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 10, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ ToString(Derefof(m602(3, 6, 1)), Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 11, Local0, bs1c)
+ }
+ }
+
+ // Buffer to Integer conversion of the Buffer Index (second)
+ // operand of the Index operator
+ Method(m067, 1)
+ {
+ Store(Index(aus6, Buffer(1){0xb}), Local0)
+ m600(arg0, 0, Derefof(Local0), bi10)
+
+ Store(Index(aub6, Buffer(1){0xb}), Local0)
+ m600(arg0, 1, Derefof(Local0), bi10)
+
+ Store(Index(aup0, Buffer(1){0xb}), Local0)
+ m600(arg0, 2, Derefof(Local0), bi11)
+
+ if (y078) {
+ Store(Index(Derefof(Refof(aus6)), Buffer(1){0xb}), Local0)
+ m600(arg0, 3, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Refof(aub6)), Buffer(1){0xb}), Local0)
+ m600(arg0, 4, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Refof(aup0)), Buffer(1){0xb}), Local0)
+ m600(arg0, 5, Derefof(Local0), bi11)
+ }
+
+ Store(Index(Derefof(Index(paus, 6)), Buffer(1){0xb}), Local0)
+ m600(arg0, 6, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Index(paub, 6)), Buffer(1){0xb}), Local0)
+ m600(arg0, 7, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Index(paup, 0)), Buffer(1){0xb}), Local0)
+ m600(arg0, 8, Derefof(Local0), bi11)
+
+
+ // Method returns Object
+
+ if (y900) {
+ Store(Index(m601(2, 6), Buffer(1){0xb}), Local0)
+ m600(arg0, 9, Derefof(Local0), bi10)
+
+ Store(Index(m601(3, 6), Buffer(1){0xb}), Local0)
+ m600(arg0, 10, Derefof(Local0), bi10)
+
+ Store(Index(m601(4, 0), Buffer(1){0xb}), Local0)
+ m600(arg0, 11, Derefof(Local0), bi11)
+ } else {
+
+ CH03(arg0, z085, 0, 0, 0)
+
+ Index(m601(2, 6), Buffer(1){0xb})
+ CH04(arg0, 0, 85, z085, 9, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+
+ Index(m601(3, 6), Buffer(1){0xb})
+ CH04(arg0, 0, 85, z085, 10, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+
+ Index(m601(4, 0), Buffer(1){0xb})
+ CH04(arg0, 0, 85, z085, 11, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+ }
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Index(Derefof(m602(2, 6, 1)), Buffer(1){0xb}), Local0)
+ m600(arg0, 12, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(m602(3, 6, 1)), Buffer(1){0xb}), Local0)
+ m600(arg0, 13, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(m602(4, 0, 1)), Buffer(1){0xb}), Local0)
+ m600(arg0, 14, Derefof(Local0), bi11)
+ }
+
+ Index(aus6, Buffer(1){0xb}, Local0)
+ m600(arg0, 15, Derefof(Local0), bi10)
+
+ Index(aub6, Buffer(1){0xb}, Local0)
+ m600(arg0, 16, Derefof(Local0), bi10)
+
+ Index(aup0, Buffer(1){0xb}, Local0)
+ m600(arg0, 17, Derefof(Local0), bi11)
+
+ if (y078) {
+ Index(Derefof(Refof(aus6)), Buffer(1){0xb}, Local0)
+ m600(arg0, 18, Derefof(Local0), bi10)
+
+ Index(Derefof(Refof(aub6)), Buffer(1){0xb}, Local0)
+ m600(arg0, 19, Derefof(Local0), bi10)
+
+ Index(Derefof(Refof(aup0)), Buffer(1){0xb}, Local0)
+ m600(arg0, 20, Derefof(Local0), bi11)
+ }
+
+ Index(Derefof(Index(paus, 6)), Buffer(1){0xb}, Local0)
+ m600(arg0, 21, Derefof(Local0), bi10)
+
+ Index(Derefof(Index(paub, 6)), Buffer(1){0xb}, Local0)
+ m600(arg0, 22, Derefof(Local0), bi10)
+
+ Index(Derefof(Index(paup, 0)), Buffer(1){0xb}, Local0)
+ m600(arg0, 23, Derefof(Local0), bi11)
+
+
+ // Method returns Object
+
+ if (y900) {
+ Index(m601(2, 6), Buffer(1){0xb}, Local0)
+ m600(arg0, 24, Derefof(Local0), bi10)
+
+ Index(m601(3, 6), Buffer(1){0xb}, Local0)
+ m600(arg0, 25, Derefof(Local0), bi10)
+
+ Index(m601(4, 0), Buffer(1){0xb}, Local0)
+ m600(arg0, 26, Derefof(Local0), bi11)
+ } else {
+
+ CH03(arg0, z085, 0, 0, 0)
+
+ Index(m601(2, 6), Buffer(1){0xb}, Local0)
+ CH04(arg0, 0, 85, z085, 24, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+
+ Index(m601(3, 6), Buffer(1){0xb}, Local0)
+ CH04(arg0, 0, 85, z085, 25, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+
+ Index(m601(4, 0), Buffer(1){0xb}, Local0)
+ CH04(arg0, 0, 85, z085, 26, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+ }
+
+ // Method returns Reference
+
+ if (y500) {
+ Index(Derefof(m602(2, 6, 1)), Buffer(1){0xb}, Local0)
+ m600(arg0, 27, Derefof(Local0), bi10)
+
+ Index(Derefof(m602(3, 6, 1)), Buffer(1){0xb}, Local0)
+ m600(arg0, 28, Derefof(Local0), bi10)
+
+ Index(Derefof(m602(4, 0, 1)), Buffer(1){0xb}, Local0)
+ m600(arg0, 29, Derefof(Local0), bi11)
+ }
+
+ if (y098) {
+ Store(Index(aus6, Buffer(1){0xb}, Local1), Local0)
+ m600(arg0, 30, Derefof(Local0), bi10)
+
+ Store(Index(aub6, Buffer(1){0xb}, Local1), Local0)
+ m600(arg0, 31, Derefof(Local0), bi10)
+
+ Store(Index(aup0, Buffer(1){0xb}, Local1), Local0)
+ m600(arg0, 32, Derefof(Local0), bi11)
+ }
+
+ if (y078) {
+ Store(Index(Derefof(Refof(aus6)), Buffer(1){0xb}, Local1), Local0)
+ m600(arg0, 33, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Refof(aub6)), Buffer(1){0xb}, Local1), Local0)
+ m600(arg0, 34, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Refof(aup0)), Buffer(1){0xb}, Local1), Local0)
+ m600(arg0, 35, Derefof(Local0), bi11)
+ }
+
+ if (y098) {
+ Store(Index(Derefof(Index(paus, 6)), Buffer(1){0xb}, Local1), Local0)
+ m600(arg0, 36, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Index(paub, 6)), Buffer(1){0xb}, Local1), Local0)
+ m600(arg0, 37, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Index(paup, 0)), Buffer(1){0xb}, Local1), Local0)
+ m600(arg0, 38, Derefof(Local0), bi11)
+ }
+
+ // Method returns Object
+
+ if (LAnd(y900, y098)) {
+ Store(Index(m601(2, 6), Buffer(1){0xb}, Local1), Local0)
+ m600(arg0, 39, Derefof(Local0), bi10)
+
+ Store(Index(m601(3, 6), Buffer(1){0xb}, Local1), Local0)
+ m600(arg0, 40, Derefof(Local0), bi10)
+
+ Store(Index(m601(4, 0), Buffer(1){0xb}, Local1), Local0)
+ m600(arg0, 41, Derefof(Local0), bi11)
+ }
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Index(Derefof(m602(2, 6, 1)), Buffer(1){0xb}, Local1), Local0)
+ m600(arg0, 42, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(m602(3, 6, 1)), Buffer(1){0xb}, Local1), Local0)
+ m600(arg0, 43, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(m602(4, 0, 1)), Buffer(1){0xb}, Local1), Local0)
+ m600(arg0, 44, Derefof(Local0), bi11)
+ }
+ }
+
+ // Buffer to Integer conversion of the String Arg (third)
+ // operand of the Fatal operator
+ // (it can only be checked an exception does not occur)
+ Method(m068, 1)
+ {
+ CH03(arg0, z085, 9, 0, 0)
+ Fatal(0xff, 0xffffffff, Buffer(3){0x21, 0x03, 0x00})
+ if (F64) {
+ Fatal(0xff, 0xffffffff, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5})
+ } else {
+ Fatal(0xff, 0xffffffff, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5})
+ }
+ CH03(arg0, z085, 10, 0, 0)
+ }
+
+ // Buffer to Integer conversion of the Buffer Index and Length
+ // operands of the Mid operator
+
+ // Common 32-bit/64-bit test
+ Method(m069, 1)
+ {
+ // String to Integer conversion of the String Index operand
+
+ Store(Mid("This is auxiliary String", Buffer(1){0xb}, 10), Local0)
+ m600(arg0, 0, Local0, bs1d)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, Buffer(1){0xb}, 10), Local0)
+ m600(arg0, 1, Local0, bb32)
+
+ Store(Mid(aus6, Buffer(1){0xb}, 10), Local0)
+ m600(arg0, 2, Local0, bs1d)
+
+ Store(Mid(aub6, Buffer(1){0xb}, 10), Local0)
+ m600(arg0, 3, Local0, bb32)
+
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), Buffer(1){0xb}, 10), Local0)
+ m600(arg0, 4, Local0, bs1d)
+
+ Store(Mid(Derefof(Refof(aub6)), Buffer(1){0xb}, 10), Local0)
+ m600(arg0, 5, Local0, bb32)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), Buffer(1){0xb}, 10), Local0)
+ m600(arg0, 6, Local0, bs1d)
+
+ Store(Mid(Derefof(Index(paub, 6)), Buffer(1){0xb}, 10), Local0)
+ m600(arg0, 7, Local0, bb32)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), Buffer(1){0xb}, 10), Local0)
+ m600(arg0, 8, Local0, bs1d)
+
+ Store(Mid(m601(3, 6), Buffer(1){0xb}, 10), Local0)
+ m600(arg0, 9, Local0, bb32)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), Buffer(1){0xb}, 10), Local0)
+ m600(arg0, 10, Local0, bs1d)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), Buffer(1){0xb}, 10), Local0)
+ m600(arg0, 11, Local0, bb32)
+ }
+
+ Mid("This is auxiliary String", Buffer(1){0xb}, 10, Local0)
+ m600(arg0, 12, Local0, bs1d)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, Buffer(1){0xb}, 10, Local0)
+ m600(arg0, 13, Local0, bb32)
+
+ Mid(aus6, Buffer(1){0xb}, 10, Local0)
+ m600(arg0, 14, Local0, bs1d)
+
+ Mid(aub6, Buffer(1){0xb}, 10, Local0)
+ m600(arg0, 15, Local0, bb32)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), Buffer(1){0xb}, 10, Local0)
+ m600(arg0, 16, Local0, bs1d)
+
+ Mid(Derefof(Refof(aub6)), Buffer(1){0xb}, 10, Local0)
+ m600(arg0, 17, Local0, bb32)
+ }
+
+ Mid(Derefof(Index(paus, 6)), Buffer(1){0xb}, 10, Local0)
+ m600(arg0, 18, Local0, bs1d)
+
+ Mid(Derefof(Index(paub, 6)), Buffer(1){0xb}, 10, Local0)
+ m600(arg0, 19, Local0, bb32)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), Buffer(1){0xb}, 10, Local0)
+ m600(arg0, 20, Local0, bs1d)
+
+ Mid(m601(3, 6), Buffer(1){0xb}, 10, Local0)
+ m600(arg0, 21, Local0, bb32)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), Buffer(1){0xb}, 10, Local0)
+ m600(arg0, 22, Local0, bs1d)
+
+ Mid(Derefof(m602(3, 6, 1)), Buffer(1){0xb}, 10, Local0)
+ m600(arg0, 23, Local0, bb32)
+ }
+
+ // String to Integer conversion of the String Length operand
+
+ Store(Mid("This is auxiliary String", 0, Buffer(1){0xb}), Local0)
+ m600(arg0, 24, Local0, bs1b)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, 0, Buffer(1){0xb}), Local0)
+ m600(arg0, 25, Local0, bb33)
+
+ Store(Mid(aus6, 0, Buffer(1){0xb}), Local0)
+ m600(arg0, 26, Local0, bs1b)
+
+ Store(Mid(aub6, 0, Buffer(1){0xb}), Local0)
+ m600(arg0, 27, Local0, bb33)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), 0, Buffer(1){0xb}), Local0)
+ m600(arg0, 28, Local0, bs1b)
+
+ Store(Mid(Derefof(Refof(aub6)), 0, Buffer(1){0xb}), Local0)
+ m600(arg0, 29, Local0, bb33)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), 0, Buffer(1){0xb}), Local0)
+ m600(arg0, 30, Local0, bs1b)
+
+ Store(Mid(Derefof(Index(paub, 6)), 0, Buffer(1){0xb}), Local0)
+ m600(arg0, 31, Local0, bb33)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), 0, Buffer(1){0xb}), Local0)
+ m600(arg0, 32, Local0, bs1b)
+
+ Store(Mid(m601(3, 6), 0, Buffer(1){0xb}), Local0)
+ m600(arg0, 33, Local0, bb33)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), 0, Buffer(1){0xb}), Local0)
+ m600(arg0, 34, Local0, bs1b)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), 0, Buffer(1){0xb}), Local0)
+ m600(arg0, 35, Local0, bb33)
+ }
+
+ Mid("This is auxiliary String", 0, Buffer(1){0xb}, Local0)
+ m600(arg0, 36, Local0, bs1b)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, 0, Buffer(1){0xb}, Local0)
+ m600(arg0, 37, Local0, bb33)
+
+ Mid(aus6, 0, Buffer(1){0xb}, Local0)
+ m600(arg0, 37, Local0, bs1b)
+
+ Mid(aub6, 0, Buffer(1){0xb}, Local0)
+ m600(arg0, 39, Local0, bb33)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), 0, Buffer(1){0xb}, Local0)
+ m600(arg0, 40, Local0, bs1b)
+
+ Mid(Derefof(Refof(aub6)), 0, Buffer(1){0xb}, Local0)
+ m600(arg0, 41, Local0, bb33)
+ }
+
+ Mid(Derefof(Index(paus, 6)), 0, Buffer(1){0xb}, Local0)
+ m600(arg0, 42, Local0, bs1b)
+
+ Mid(Derefof(Index(paub, 6)), 0, Buffer(1){0xb}, Local0)
+ m600(arg0, 43, Local0, bb33)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), 0, Buffer(1){0xb}, Local0)
+ m600(arg0, 44, Local0, bs1b)
+
+ Mid(m601(3, 6), 0, Buffer(1){0xb}, Local0)
+ m600(arg0, 45, Local0, bb33)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), 0, Buffer(1){0xb}, Local0)
+ m600(arg0, 46, Local0, bs1b)
+
+ Mid(Derefof(m602(3, 6, 1)), 0, Buffer(1){0xb}, Local0)
+ m600(arg0, 47, Local0, bb33)
+ }
+ }
+
+ Method(m64s, 1)
+ {
+ // String to Integer conversion of the String Length operand
+
+ Store(Mid("This is auxiliary String", 0, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 0, Local0, bs1e)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, 0, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 1, Local0, bb34)
+
+ Store(Mid(aus6, 0, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 2, Local0, bs1e)
+
+ Store(Mid(aub6, 0, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 3, Local0, bb34)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), 0, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 4, Local0, bs1e)
+
+ Store(Mid(Derefof(Refof(aub6)), 0, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 5, Local0, bb34)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), 0, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 6, Local0, bs1e)
+
+ Store(Mid(Derefof(Index(paub, 6)), 0, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 7, Local0, bb34)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), 0, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 8, Local0, bs1e)
+
+ Store(Mid(m601(3, 6), 0, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 9, Local0, bb34)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), 0, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 10, Local0, bs1e)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), 0, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 11, Local0, bb34)
+ }
+
+ Mid("This is auxiliary String", 0, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 12, Local0, bs1e)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, 0, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 13, Local0, bb34)
+
+ Mid(aus6, 0, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 14, Local0, bs1e)
+
+ Mid(aub6, 0, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 15, Local0, bb34)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), 0, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 16, Local0, bs1e)
+
+ Mid(Derefof(Refof(aub6)), 0, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 17, Local0, bb34)
+ }
+
+ Mid(Derefof(Index(paus, 6)), 0, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 18, Local0, bs1e)
+
+ Mid(Derefof(Index(paub, 6)), 0, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 19, Local0, bb34)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), 0, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 20, Local0, bs1e)
+
+ Mid(m601(3, 6), 0, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 21, Local0, bb34)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), 0, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 22, Local0, bs1e)
+
+ Mid(Derefof(m602(3, 6, 1)), 0, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 23, Local0, bb34)
+ }
+
+ // String to Integer conversion of the both String operands
+
+ Store(Mid("This is auxiliary String", Buffer(1){0xb}, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 24, Local0, bs1f)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, Buffer(1){0xb}, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 25, Local0, bb35)
+
+ Store(Mid(aus6, Buffer(1){0xb}, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 26, Local0, bs1f)
+
+ Store(Mid(aub6, Buffer(1){0xb}, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 27, Local0, bb35)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), Buffer(1){0xb}, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 28, Local0, bs1f)
+
+ Store(Mid(Derefof(Refof(aub6)), Buffer(1){0xb}, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 29, Local0, bb35)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), Buffer(1){0xb}, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 30, Local0, bs1f)
+
+ Store(Mid(Derefof(Index(paub, 6)), Buffer(1){0xb}, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 31, Local0, bb35)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), Buffer(1){0xb}, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 32, Local0, bs1f)
+
+ Store(Mid(m601(3, 6), Buffer(1){0xb}, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 33, Local0, bb35)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), Buffer(1){0xb}, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 34, Local0, bs1f)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), Buffer(1){0xb}, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 35, Local0, bb35)
+ }
+
+ Mid("This is auxiliary String", Buffer(1){0xb}, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 36, Local0, bs1f)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, Buffer(1){0xb}, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 37, Local0, bb35)
+
+ Mid(aus6, Buffer(1){0xb}, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 38, Local0, bs1f)
+
+ Mid(aub6, Buffer(1){0xb}, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 39, Local0, bb35)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), Buffer(1){0xb}, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 40, Local0, bs1f)
+
+ Mid(Derefof(Refof(aub6)), Buffer(1){0xb}, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 41, Local0, bb35)
+ }
+
+ Mid(Derefof(Index(paus, 6)), Buffer(1){0xb}, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 42, Local0, bs1f)
+
+ Mid(Derefof(Index(paub, 6)), Buffer(1){0xb}, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 43, Local0, bb35)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), Buffer(1){0xb}, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 44, Local0, bs1f)
+
+ Mid(m601(3, 6), Buffer(1){0xb}, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 45, Local0, bb35)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), Buffer(1){0xb}, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 46, Local0, bs1f)
+
+ Mid(Derefof(m602(3, 6, 1)), Buffer(1){0xb}, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 47, Local0, bb35)
+ }
+ }
+
+ Method(m32s, 1)
+ {
+ // String to Integer conversion of the String Length operand
+
+ Store(Mid("This is auxiliary String", 0, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 0, Local0, bs1e)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, 0, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 1, Local0, bb34)
+
+ Store(Mid(aus6, 0, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 2, Local0, bs1e)
+
+ Store(Mid(aub6, 0, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 3, Local0, bb34)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), 0, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 4, Local0, bs1e)
+
+ Store(Mid(Derefof(Refof(aub6)), 0, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 5, Local0, bb34)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), 0, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 6, Local0, bs1e)
+
+ Store(Mid(Derefof(Index(paub, 6)), 0, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 7, Local0, bb34)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), 0, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 8, Local0, bs1e)
+
+ Store(Mid(m601(3, 6), 0, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 9, Local0, bb34)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), 0, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 10, Local0, bs1e)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), 0, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 11, Local0, bb34)
+ }
+
+ Mid("This is auxiliary String", 0, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 12, Local0, bs1e)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, 0, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 13, Local0, bb34)
+
+ Mid(aus6, 0, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 14, Local0, bs1e)
+
+ Mid(aub6, 0, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 15, Local0, bb34)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), 0, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 16, Local0, bs1e)
+
+ Mid(Derefof(Refof(aub6)), 0, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 17, Local0, bb34)
+ }
+
+ Mid(Derefof(Index(paus, 6)), 0, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 18, Local0, bs1e)
+
+ Mid(Derefof(Index(paub, 6)), 0, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 19, Local0, bb34)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), 0, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 20, Local0, bs1e)
+
+ Mid(m601(3, 6), 0, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 21, Local0, bb34)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), 0, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 22, Local0, bs1e)
+
+ Mid(Derefof(m602(3, 6, 1)), 0, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 23, Local0, bb34)
+ }
+
+ // String to Integer conversion of the both String operands
+
+ Store(Mid("This is auxiliary String", Buffer(1){0xb}, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 24, Local0, bs1f)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, Buffer(1){0xb}, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 25, Local0, bb35)
+
+ Store(Mid(aus6, Buffer(1){0xb}, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 26, Local0, bs1f)
+
+ Store(Mid(aub6, Buffer(1){0xb}, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 27, Local0, bb35)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), Buffer(1){0xb}, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 28, Local0, bs1f)
+
+ Store(Mid(Derefof(Refof(aub6)), Buffer(1){0xb}, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 29, Local0, bb35)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), Buffer(1){0xb}, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 30, Local0, bs1f)
+
+ Store(Mid(Derefof(Index(paub, 6)), Buffer(1){0xb}, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 31, Local0, bb35)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), Buffer(1){0xb}, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 32, Local0, bs1f)
+
+ Store(Mid(m601(3, 6), Buffer(1){0xb}, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 33, Local0, bb35)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), Buffer(1){0xb}, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 34, Local0, bs1f)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), Buffer(1){0xb}, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}), Local0)
+ m600(arg0, 35, Local0, bb35)
+ }
+
+ Mid("This is auxiliary String", Buffer(1){0xb}, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 36, Local0, bs1f)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, Buffer(1){0xb}, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 37, Local0, bb35)
+
+ Mid(aus6, Buffer(1){0xb}, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 38, Local0, bs1f)
+
+ Mid(aub6, Buffer(1){0xb}, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 39, Local0, bb35)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), Buffer(1){0xb}, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 40, Local0, bs1f)
+
+ Mid(Derefof(Refof(aub6)), Buffer(1){0xb}, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 41, Local0, bb35)
+ }
+
+ Mid(Derefof(Index(paus, 6)), Buffer(1){0xb}, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 42, Local0, bs1f)
+
+ Mid(Derefof(Index(paub, 6)), Buffer(1){0xb}, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 43, Local0, bb35)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), Buffer(1){0xb}, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 44, Local0, bs1f)
+
+ Mid(m601(3, 6), Buffer(1){0xb}, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 45, Local0, bb35)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), Buffer(1){0xb}, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 46, Local0, bs1f)
+
+ Mid(Derefof(m602(3, 6, 1)), Buffer(1){0xb}, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local0)
+ m600(arg0, 47, Local0, bb35)
+ }
+ }
+
+ // Buffer to Integer conversion of the Buffer StartIndex
+ // operand of the Match operator
+ Method(m06a, 1)
+ {
+ Store(Match(
+ Package(){
+ 0xa50, 0xa51, 0xa52, 0xa53, 0xa54, 0xa55, 0xa56, 0xa57,
+ 0xa58, 0xa59, 0xa5a, 0xa5b, 0xa5c, 0xa5d, 0xa5e,},
+ MEQ, 0xa5d, MTR, 0, Buffer(1){0xb}), Local0)
+ m600(arg0, 0, Local0, 0xd)
+
+ Store(Match(
+ Package(){
+ 0xa50, 0xa51, 0xa52, 0xa53, 0xa54, 0xa55, 0xa56, 0xa57,
+ 0xa58, 0xa59, 0xa5a, 0xa5b, 0xa5c, 0xa5d, 0xa5e,},
+ MEQ, 0xa5a, MTR, 0, Buffer(1){0xb}), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(Match(aup0, MEQ, 0xa5d, MTR, 0, Buffer(1){0xb}), Local0)
+ m600(arg0, 2, Local0, 0xd)
+
+ Store(Match(aup0, MEQ, 0xa5a, MTR, 0, Buffer(1){0xb}), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(Match(Derefof(Refof(aup0)), MEQ, 0xa5d, MTR, 0, Buffer(1){0xb}), Local0)
+ m600(arg0, 4, Local0, 0xd)
+
+ Store(Match(Derefof(Refof(aup0)), MEQ, 0xa5a, MTR, 0, Buffer(1){0xb}), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(Match(Derefof(Index(paup, 0)), MEQ, 0xa5d, MTR, 0, Buffer(1){0xb}), Local0)
+ m600(arg0, 6, Local0, 0xd)
+
+ Store(Match(Derefof(Index(paup, 0)), MEQ, 0xa5a, MTR, 0, Buffer(1){0xb}), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Object
+
+ Store(Match(m601(4, 0), MEQ, 0xa5d, MTR, 0, Buffer(1){0xb}), Local0)
+ m600(arg0, 8, Local0, 0xd)
+
+ Store(Match(m601(4, 0), MEQ, 0xa5a, MTR, 0, Buffer(1){0xb}), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Match(Derefof(m602(4, 0, 1)), MEQ, 0xa5d, MTR, 0, Buffer(1){0xb}), Local0)
+ m600(arg0, 10, Local0, 0xd)
+
+ Store(Match(Derefof(m602(4, 0, 1)), MEQ, 0xa5a, MTR, 0, Buffer(1){0xb}), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+ }
+
+ // Buffer to Integer conversion of the Buffer elements
+ // of a search package of Match operator when some
+ // MatchObject is evaluated as Integer
+
+ Method(m64t, 1)
+ {
+ Store(Match(Package(){Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}},
+ MEQ, 0xfe7cb391d650a284, MTR, 0, 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(Match(Package(){Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}},
+ MEQ, 0xfe7cb391d650a285, MTR, 0, 0), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(Match(Package(){Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}},
+ MTR, 0, MEQ, 0xfe7cb391d650a284, 0), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(Match(Package(){Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}},
+ MTR, 0, MEQ, 0xfe7cb391d650a285, 0), Local0)
+ m600(arg0, 3, Local0, Ones)
+ }
+
+ Method(m32t, 1)
+ {
+ Store(Match(Package(){Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}},
+ MEQ, 0xd650a284, MTR, 0, 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(Match(Package(){Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}},
+ MEQ, 0xd650a285, MTR, 0, 0), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(Match(Package(){Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}},
+ MTR, 0, MEQ, 0xd650a284, 0), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(Match(Package(){Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}},
+ MTR, 0, MEQ, 0xd650a285, 0), Local0)
+ m600(arg0, 3, Local0, Ones)
+ }
+
+ // Buffer to Integer conversion of the Buffer sole operand
+ // of the Method execution control operators (Sleep, Stall)
+ Method(m06b, 1)
+ {
+ CH03(arg0, z085, 11, 0, 0)
+
+ // Sleep
+
+ Store(Timer, Local0)
+
+ Sleep(Buffer(3){0x21, 0x03, 0x00})
+ CH03(arg0, z085, 12, 0, 0)
+
+ Store(Timer, Local1)
+ Subtract(Local1, Local0, Local2)
+ if (LLess(Local2, c08c)) {
+ err(arg0, z085, 0, 0, 0, Local2, c08c)
+ }
+
+ // Stall
+
+ Store(Timer, Local0)
+
+ Stall(Buffer(1){0x3f})
+ CH03(arg0, z085, 13, 0, 0)
+
+ Store(Timer, Local1)
+ Subtract(Local1, Local0, Local2)
+ if (LLess(Local2, 990)) {
+ err(arg0, z085, 1, 0, 0, Local2, 990)
+ }
+ }
+
+ // Buffer to Integer conversion of the Buffer TimeoutValue
+ // (second) operand of the Acquire operator
+
+ Method(m06c, 1)
+ {
+ Mutex(MTX0, 0)
+
+ Acquire(MTX0, 0)
+ CH03(arg0, z085, 14, 0, 0)
+
+ Store(Timer, Local0)
+
+/* Compiler allows only Integer constant as TimeoutValue (Bug 1)
+ Acquire(MTX0, Buffer(3){0x21, 0x03, 0x00})
+*/
+ CH03(arg0, z085, 15, 0, 0)
+
+ Store(Timer, Local1)
+ Subtract(Local1, Local0, Local2)
+ if (LLess(Local2, c08c)) {
+ err(arg0, z085, 0, 0, 0, Local2, c08c)
+ }
+ }
+
+ // Buffer to Integer conversion of the Buffer TimeoutValue
+ // (second) operand of the Wait operator
+ Method(m06d, 1)
+ {
+ Event(EVT0)
+
+ CH03(arg0, z085, 16, 0, 0)
+
+ Store(Timer, Local0)
+
+ Wait(EVT0, Buffer(3){0x21, 0x03, 0x00})
+ CH03(arg0, z085, 17, 0, 0)
+
+ Store(Timer, Local1)
+ Subtract(Local1, Local0, Local2)
+ if (LLess(Local2, c08c)) {
+ err(arg0, z085, 0, 0, 0, Local2, c08c)
+ }
+ }
+
+ // Buffer to Integer conversion of the Buffer value
+ // of Predicate of the Method execution control statements
+ // (If, ElseIf, While)
+ Method(m06e, 1)
+ {
+ Name(ist0, 0)
+
+ Method(m001)
+ {
+ if (Buffer(1){0x00}) {
+ Store(0, ist0)
+ }
+ }
+
+ Method(m002)
+ {
+ if (Buffer(3){0x21, 0x03, 0x00}) {
+ Store(2, ist0)
+ }
+ }
+
+ Method(m003)
+ {
+ if (Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}) {
+ Store(3, ist0)
+ }
+ }
+
+ Method(m004)
+ {
+ if (Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}) {
+ Store(4, ist0)
+ }
+ }
+
+ Method(m005, 1)
+ {
+ if (arg0) {
+ Store(0xff, ist0)
+ } elseif (Buffer(1){0x00}) {
+ Store(0, ist0)
+ }
+ }
+
+ Method(m006, 1)
+ {
+ if (arg0) {
+ Store(0xff, ist0)
+ } elseif (Buffer(3){0x21, 0x03, 0x00}) {
+ Store(6, ist0)
+ }
+ }
+
+ Method(m007, 1)
+ {
+ if (arg0) {
+ Store(0xff, ist0)
+ } elseif (Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}) {
+ Store(7, ist0)
+ }
+ }
+
+ Method(m008, 1)
+ {
+ if (arg0) {
+ Store(0xff, ist0)
+ } elseif (Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}) {
+ Store(8, ist0)
+ }
+ }
+
+ Method(m009)
+ {
+ while (Buffer(1){0x00}) {
+ Store(0, ist0)
+ }
+ }
+
+ // If
+
+ Store(1, ist0)
+ m001()
+ m600(arg0, 0, ist0, 1)
+
+ m002()
+ m600(arg0, 1, ist0, 2)
+
+ m003()
+ m600(arg0, 2, ist0, 3)
+
+ m004()
+ m600(arg0, 3, ist0, 4)
+
+ // ElseIf
+
+ Store(5, ist0)
+ m005(0)
+ m600(arg0, 4, ist0, 5)
+
+ m006(0)
+ m600(arg0, 5, ist0, 6)
+
+ m007(0)
+ m600(arg0, 6, ist0, 7)
+
+ m008(0)
+ m600(arg0, 7, ist0, 8)
+
+ // While
+
+ Store(9, ist0)
+ m009()
+ m600(arg0, 8, ist0, 9)
+ }
+
+ // Buffer to Integer conversion of the Buffer value
+ // of Expression of Case statement when Expression in
+ // Switch is evaluated as Integer
+
+ Method(m64u, 1)
+ {
+ Name(i000, 0)
+
+ Store(0, i000)
+ Switch (0xfe7cb391d650a285) {
+ Case (Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}) {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 0, i000, 2)
+
+ Store(0, i000)
+ Switch (0xfe7cb391d650a284) {
+ Case (Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}) {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 1, i000, 1)
+
+ Store(0, i000)
+ Switch (auid) {
+ Case (Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}) {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 2, i000, 2)
+
+ Store(0, i000)
+ Switch (aui4) {
+ Case (Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}) {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 3, i000, 1)
+
+ if (y078) {
+ Store(0, i000)
+ Switch (Derefof(Refof(auid))) {
+ Case (Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}) {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 4, i000, 2)
+
+ Store(0, i000)
+ Switch (Derefof(Refof(aui4))) {
+ Case (Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}) {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 5, i000, 1)
+ }
+
+ Store(0, i000)
+ Switch (Derefof(Index(paui, 13))) {
+ Case (Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}) {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 6, i000, 2)
+
+ Store(0, i000)
+ Switch (Derefof(Index(paui, 4))) {
+ Case (Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}) {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 7, i000, 1)
+
+ // Method returns Integer
+
+ Store(0, i000)
+ Switch (m601(1, 13)) {
+ Case (Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}) {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 8, i000, 2)
+
+ Store(0, i000)
+ Switch (m601(1, 4)) {
+ Case (Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}) {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 9, i000, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(0, i000)
+ Switch (Derefof(m602(1, 13, 1))) {
+ Case (Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}) {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 10, i000, 2)
+
+ Store(0, i000)
+ Switch (Derefof(m602(1, 4, 1))) {
+ Case (Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}) {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 11, i000, 1)
+ }
+ }
+
+ Method(m32u, 1)
+ {
+ Name(i000, 0)
+
+ Store(0, i000)
+ Switch (0xd650a285) {
+ Case (Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}) {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 0, i000, 2)
+
+ Store(0, i000)
+ Switch (0xd650a284) {
+ Case (Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}) {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 1, i000, 1)
+
+ Store(0, i000)
+ Switch (auil) {
+ Case (Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}) {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 2, i000, 2)
+
+ Store(0, i000)
+ Switch (auik) {
+ Case (Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}) {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 3, i000, 1)
+
+ if (y078) {
+ Store(0, i000)
+ Switch (Derefof(Refof(auil))) {
+ Case (Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}) {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 4, i000, 2)
+
+ Store(0, i000)
+ Switch (Derefof(Refof(auik))) {
+ Case (Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}) {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 5, i000, 1)
+ }
+
+ Store(0, i000)
+ Switch (Derefof(Index(paui, 21))) {
+ Case (Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}) {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 6, i000, 2)
+
+ Store(0, i000)
+ Switch (Derefof(Index(paui, 20))) {
+ Case (Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}) {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 7, i000, 1)
+
+ // Method returns Integer
+
+ Store(0, i000)
+ Switch (m601(1, 21)) {
+ Case (Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}) {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 8, i000, 2)
+
+ Store(0, i000)
+ Switch (m601(1, 20)) {
+ Case (Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}) {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 9, i000, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(0, i000)
+ Switch (Derefof(m601(1, 21, 1))) {
+ Case (Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}) {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 10, i000, 2)
+
+ Store(0, i000)
+ Switch (Derefof(m602(1, 20, 1))) {
+ Case (Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}) {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 11, i000, 1)
+ }
+ }
+
+ // Buffer to String implicit conversion Cases.
+
+ // Buffer to String conversion of the Buffer second operand of
+ // Logical operators when the first operand is evaluated as String.
+ // LEqual LGreater LGreaterEqual LLess LLessEqual LNotEqual
+ Method(m06f, 1)
+ {
+ // LEqual
+
+ Store(LEqual("21 03 00", Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual("21 03 01", Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(aus9, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(LEqual(ausa, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 3, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aus9)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(ausa)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 5, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paus, 9)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paus, 10)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ // Method returns String
+
+ Store(LEqual(m601(2, 9), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(LEqual(m601(2, 10), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 9, Local0, Zero)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(2, 9, 1)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(2, 10, 1)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 11, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater("21 03 00", Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LGreater("21 03 01", Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LGreater("21 03 0 ", Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LGreater("21 03 00q", Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LGreater(aus9, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LGreater(ausa, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 17, Local0, Ones)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aus9)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(ausa)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 19, Local0, Ones)
+ }
+
+ Store(LGreater(Derefof(Index(paus, 9)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paus, 10)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns String
+
+ Store(LGreater(m601(2, 9), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LGreater(m601(2, 10), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 23, Local0, Ones)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(2, 9, 1)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(2, 10, 1)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual("21 03 00", Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 26, Local0, Ones)
+
+ Store(LGreaterEqual("21 03 01", Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 27, Local0, Ones)
+
+ Store(LGreaterEqual("21 03 0 ", Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 28, Local0, Zero)
+
+ Store(LGreaterEqual("21 03 00q", Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 29, Local0, Ones)
+
+ Store(LGreaterEqual(aus9, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 30, Local0, Ones)
+
+ Store(LGreaterEqual(ausa, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aus9)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 32, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(ausa)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 33, Local0, Ones)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paus, 9)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paus, 10)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 35, Local0, Ones)
+
+ // Method returns String
+
+ Store(LGreaterEqual(m601(2, 9),
+ Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(m601(2, 10), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(2, 9, 1)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 38, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(2, 10, 1)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 39, Local0, Ones)
+ }
+
+ // LLess
+
+ Store(LLess("21 03 00", Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 40, Local0, Zero)
+
+ Store(LLess("21 03 01", Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ Store(LLess("21 03 0 ", Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LLess("21 03 00q", Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 43, Local0, Zero)
+
+ Store(LLess(aus9, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 44, Local0, Zero)
+
+ Store(LLess(ausa, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 45, Local0, Zero)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aus9)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 46, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(ausa)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 47, Local0, Zero)
+ }
+
+ Store(LLess(Derefof(Index(paus, 9)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 48, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paus, 10)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 49, Local0, Zero)
+
+ // Method returns String
+
+ Store(LLess(m601(2, 9), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ Store(LLess(m601(2, 10), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 51, Local0, Zero)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LLess(Derefof(m602(2, 9, 1)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 52, Local0, Zero)
+
+ Store(LLess(Derefof(m602(2, 10, 1)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual("21 03 00", Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 54, Local0, Ones)
+
+ Store(LLessEqual("21 03 01", Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLessEqual("21 03 0 ", Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLessEqual("21 03 00q", Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLessEqual(aus9, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 58, Local0, Ones)
+
+ Store(LLessEqual(ausa, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 59, Local0, Zero)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aus9)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 60, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(ausa)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 61, Local0, Zero)
+ }
+
+ Store(LLessEqual(Derefof(Index(paus, 9)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 62, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paus, 10)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ // Method returns String
+
+ Store(LLessEqual(m601(2, 9), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 64, Local0, Ones)
+
+ Store(LLessEqual(m601(2, 10), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 65, Local0, Zero)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(2, 9, 1)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 66, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(2, 10, 1)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 67, Local0, Zero)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual("21 03 00", Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 68, Local0, Zero)
+
+ Store(LNotEqual("21 03 01", Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 69, Local0, Ones)
+
+ Store(LNotEqual("21 03 0 ", Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 70, Local0, Ones)
+
+ Store(LNotEqual("21 03 00q", Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 71, Local0, Ones)
+
+ Store(LNotEqual(aus9, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 72, Local0, Zero)
+
+ Store(LNotEqual(ausa, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 73, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aus9)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 74, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(ausa)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 75, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paus, 9)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paus, 10)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ // Method returns String
+
+ Store(LNotEqual(m601(2, 9), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 78, Local0, Zero)
+
+ Store(LNotEqual(m601(2, 10), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 79, Local0, Ones)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(2, 9, 1)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 80, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(2, 10, 1)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 81, Local0, Ones)
+ }
+
+ // Boundary Cases
+
+ Store(LEqual("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63",
+ Buffer(67){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,}),
+ Local0)
+ m600(arg0, 82, Local0, Ones)
+
+ Store(LEqual("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 64",
+ Buffer(67){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,}),
+ Local0)
+ m600(arg0, 83, Local0, Zero)
+
+ Store(LGreater("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63",
+ Buffer(67){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,}),
+ Local0)
+ m600(arg0, 84, Local0, Zero)
+
+ Store(LGreater("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 64",
+ Buffer(67){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,}),
+ Local0)
+ m600(arg0, 85, Local0, Ones)
+
+ Store(LGreaterEqual("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63",
+ Buffer(67){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,}),
+ Local0)
+ m600(arg0, 86, Local0, Ones)
+
+ Store(LGreaterEqual("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 64",
+ Buffer(67){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,}),
+ Local0)
+ m600(arg0, 87, Local0, Ones)
+
+ Store(LLess("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63",
+ Buffer(67){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,}),
+ Local0)
+ m600(arg0, 88, Local0, Zero)
+
+ Store(LLess("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 64",
+ Buffer(67){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,}),
+ Local0)
+ m600(arg0, 89, Local0, Zero)
+
+ Store(LLessEqual("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63",
+ Buffer(67){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,}),
+ Local0)
+ m600(arg0, 90, Local0, Ones)
+
+ Store(LLessEqual("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 64",
+ Buffer(67){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,}),
+ Local0)
+ m600(arg0, 91, Local0, Zero)
+
+
+ Store(LNotEqual("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63",
+ Buffer(67){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,}),
+ Local0)
+ m600(arg0, 92, Local0, Zero)
+
+ Store(LNotEqual("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 64",
+ Buffer(67){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,}),
+ Local0)
+ m600(arg0, 93, Local0, Ones)
+ }
+
+ // Buffer to String conversion of the Buffer second operand of
+ // Concatenate operator when the first operand is evaluated as String
+ Method(m070, 1)
+ {
+ Store(Concatenate("", Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 0, Local0, bs25)
+
+ Store(Concatenate("1234q", Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 1, Local0, bs26)
+
+ Store(Concatenate(aus0, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 2, Local0, bs25)
+
+ Store(Concatenate(aus1, Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 3, Local0, bs26)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aus0)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 4, Local0, bs25)
+
+ Store(Concatenate(Derefof(Refof(aus1)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 5, Local0, bs26)
+ }
+
+ Store(Concatenate(Derefof(Index(paus, 0)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 6, Local0, bs25)
+
+ Store(Concatenate(Derefof(Index(paus, 1)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 7, Local0, bs26)
+
+ // Method returns String
+
+ Store(Concatenate(m601(2, 0), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 8, Local0, bs25)
+
+ Store(Concatenate(m601(2, 1), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 9, Local0, bs26)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(2, 0, 1)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 10, Local0, bs25)
+
+ Store(Concatenate(Derefof(m602(2, 1, 1)), Buffer(3){0x21, 0x03, 0x00}), Local0)
+ m600(arg0, 11, Local0, bs26)
+ }
+
+ Concatenate("", Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 12, Local0, bs25)
+
+ Concatenate("1234q", Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 13, Local0, bs26)
+
+ Concatenate(aus0, Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 14, Local0, bs25)
+
+ Concatenate(aus1, Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 15, Local0, bs26)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aus0)), Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 16, Local0, bs25)
+
+ Concatenate(Derefof(Refof(aus1)), Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 17, Local0, bs26)
+ }
+
+ Concatenate(Derefof(Index(paus, 0)), Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 18, Local0, bs25)
+
+ Concatenate(Derefof(Index(paus, 1)), Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 19, Local0, bs26)
+
+ // Method returns String
+
+ Concatenate(m601(2, 0), Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 20, Local0, bs25)
+
+ Concatenate(m601(2, 1), Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 21, Local0, bs26)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Concatenate(Derefof(m602(2, 0, 1)), Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 22, Local0, bs25)
+
+ Concatenate(Derefof(m602(2, 1, 1)), Buffer(3){0x21, 0x03, 0x00}, Local0)
+ m600(arg0, 23, Local0, bs26)
+ }
+
+ // Boundary Cases
+
+ Store(Concatenate("",
+ Buffer(67){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,}),
+ Local0)
+ m600(arg0, 24, Local0, bs27)
+ }
+
+ // Buffer to String conversion of the Buffer elements
+ // of a search package of Match operator when some MatchObject
+ // is evaluated as String
+ Method(m071, 1)
+ {
+
+ Store(Match(Package(){Buffer(3){0x21, 0x03, 0x00}},
+ MEQ, "21 03 00", MTR, 0, 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(Match(Package(){Buffer(3){0x21, 0x03, 0x00}},
+ MEQ, "21 03 01", MTR, 0, 0), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(Match(Package(){Buffer(3){0x21, 0x03, 0x00}},
+ MTR, 0, MEQ, "21 03 00", 0), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(Match(Package(){Buffer(3){0x21, 0x03, 0x00}},
+ MTR, 0, MEQ, "21 03 01", 0), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ // Boundary Cases
+
+ Store(Match(Package(){
+ Buffer(67){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,}},
+ MEQ,
+ "21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63",
+ MTR, 0, 0), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(Match(Package(){
+ Buffer(67){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,}},
+ MEQ,
+ "21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 64",
+ MTR, 0, 0), Local0)
+ m600(arg0, 5, Local0, Ones)
+
+ Store(Match(Package(){
+ Buffer(67){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,}},
+ MTR, 0, MEQ,
+ "21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63",
+ 0), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(Match(Package(){
+ Buffer(67){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,}},
+ MTR, 0, MEQ,
+ "21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 64",
+ 0), Local0)
+ m600(arg0, 7, Local0, Ones)
+ }
+
+ // Buffer to String conversion of the Buffer value
+ // of Expression of Case statement when Expression in
+ // Switch is either static String data or explicitly
+ // converted to String by ToDecimalString, ToHexString
+ // or ToString
+ Method(m072, 1)
+ {
+ Name(i000, 0)
+
+ Store(0, i000)
+ Switch ("21 03 01") {
+ Case (Buffer(3){0x21, 0x03, 0x00}) {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 0, i000, 2)
+
+ Store(0, i000)
+ Switch ("21 03 00") {
+ Case (Buffer(3){0x21, 0x03, 0x00}) {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 1, i000, 1)
+
+ Store(0, i000)
+ Switch (ToHexString(ausa)) {
+ Case (Buffer(3){0x21, 0x03, 0x00}) {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 2, i000, 2)
+
+ Store(0, i000)
+ Switch (ToHexString(aus9)) {
+ Case (Buffer(3){0x21, 0x03, 0x00}) {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 3, i000, 1)
+
+ if (y078) {
+ Store(0, i000)
+ Switch (ToHexString(Derefof(Refof(ausa)))) {
+ Case (Buffer(3){0x21, 0x03, 0x00}) {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 4, i000, 2)
+
+ Store(0, i000)
+ Switch (ToHexString(Derefof(Refof(aus9)))) {
+ Case (Buffer(3){0x21, 0x03, 0x00}) {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 5, i000, 1)
+ }
+
+ Store(0, i000)
+ Switch (ToHexString(Derefof(Index(paus, 10)))) {
+ Case (Buffer(3){0x21, 0x03, 0x00}) {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 6, i000, 2)
+
+ Store(0, i000)
+ Switch (ToHexString(Derefof(Index(paus, 9)))) {
+ Case (Buffer(3){0x21, 0x03, 0x00}) {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 7, i000, 1)
+
+ // Method returns String
+
+ Store(0, i000)
+ Switch (ToHexString(m601(2, 10))) {
+ Case (Buffer(3){0x21, 0x03, 0x00}) {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 8, i000, 2)
+
+ Store(0, i000)
+ Switch (ToHexString(m601(2, 9))) {
+ Case (Buffer(3){0x21, 0x03, 0x00}) {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 9, i000, 1)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(0, i000)
+ Switch (ToHexString(Derefof(m602(2, 10, 1)))) {
+ Case (Buffer(3){0x21, 0x03, 0x00}) {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 10, i000, 2)
+
+ Store(0, i000)
+ Switch (ToHexString(Derefof(m602(2, 9, 1)))) {
+ Case (Buffer(3){0x21, 0x03, 0x00}) {Store(1, i000)}
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 11, i000, 1)
+ }
+
+ // Boundary Cases
+
+ Store(0, i000)
+ Switch ("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 64") {
+ Case (
+ Buffer(67){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,}
+ ) {
+ Store(1, i000)
+ }
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 0, i000, 2)
+
+ Store(0, i000)
+ Switch ("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63") {
+ Case (
+ Buffer(67){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,}
+ ) {
+ Store(1, i000)
+ }
+ Default {Store(2, i000)}
+ }
+ m600(arg0, 1, i000, 1)
+ }
+
+ /*
+ * Begin of the test body
+ */
+
+ // Integer to String implicit conversion Cases.
+
+ // Integer to String conversion of the Integer second operand of
+ // Logical operators when the first operand is evaluated as String.
+ // LEqual LGreater LGreaterEqual LLess LLessEqual LNotEqual
+ if (F64) {
+ Concatenate(ts, "-m640", Local0)
+ SRMT(Local0)
+ m640(Local0)
+ } else {
+ Concatenate(ts, "-m320", Local0)
+ SRMT(Local0)
+ m320(Local0)
+ }
+
+ // Integer to String conversion of the Integer second operand of
+ // Concatenate operator when the first operand is evaluated as String
+ if (F64) {
+ Concatenate(ts, "-m641", Local0)
+ SRMT(Local0)
+ m641(Local0)
+ } else {
+ Concatenate(ts, "-m321", Local0)
+ SRMT(Local0)
+ m321(Local0)
+ }
+
+ // Integer to String conversion of the Integer elements
+ // of a search package of Match operator when some MatchObject
+ // is evaluated as String
+ if (F64) {
+ Concatenate(ts, "-m642", Local0)
+ SRMT(Local0)
+ m642(Local0)
+ } else {
+ Concatenate(ts, "-m322", Local0)
+ SRMT(Local0)
+ m322(Local0)
+ }
+
+ // Integer to String conversion of the Integer value
+ // of Expression of Case statement when Expression in
+ // Switch is either static String data or explicitly
+ // converted to String by ToDecimalString, ToHexString
+ // or ToString
+ if (F64) {
+ Concatenate(ts, "-m643", Local0)
+ SRMT(Local0)
+ m643(Local0)
+ } else {
+ Concatenate(ts, "-m323", Local0)
+ SRMT(Local0)
+ m323(Local0)
+ }
+
+ // Integer to Buffer implicit conversion Cases.
+
+ // Integer to Buffer conversion of the Integer second operand of
+ // Logical operators when the first operand is evaluated as Buffer
+ // (LEqual, LGreater, LGreaterEqual, LLess, LLessEqual, LNotEqual)
+ if (F64) {
+ Concatenate(ts, "-m644", Local0)
+ SRMT(Local0)
+ m644(Local0)
+ } else {
+ Concatenate(ts, "-m324", Local0)
+ SRMT(Local0)
+ m324(Local0)
+ }
+
+ // Integer to Buffer conversion of the both Integer operands of
+ // Concatenate operator
+ if (F64) {
+ Concatenate(ts, "-m645", Local0)
+ SRMT(Local0)
+ m645(Local0)
+ } else {
+ Concatenate(ts, "-m325", Local0)
+ SRMT(Local0)
+ m325(Local0)
+ }
+
+ // Integer to Buffer conversion of the Integer second operand of
+ // Concatenate operator when the first operand is evaluated as Buffer
+ if (F64) {
+ Concatenate(ts, "-m646", Local0)
+ SRMT(Local0)
+ m646(Local0)
+ } else {
+ Concatenate(ts, "-m326", Local0)
+ SRMT(Local0)
+ m326(Local0)
+ }
+
+ // Integer to Buffer conversion of the Integer Source operand of
+ // ToString operator
+ if (F64) {
+ Concatenate(ts, "-m647", Local0)
+ SRMT(Local0)
+ m647(Local0)
+ } else {
+ Concatenate(ts, "-m327", Local0)
+ SRMT(Local0)
+ m327(Local0)
+ }
+
+ // Integer to Buffer conversion of the Integer Source operand of
+ // Mid operator
+ if (F64) {
+ Concatenate(ts, "-m648", Local0)
+ SRMT(Local0)
+ m648(Local0)
+ } else {
+ Concatenate(ts, "-m328", Local0)
+ SRMT(Local0)
+ m328(Local0)
+ }
+
+ // Integer to Buffer conversion of the Integer elements of
+ // a search package of Match operator when some MatchObject
+ // is evaluated as Buffer
+ if (F64) {
+ Concatenate(ts, "-m649", Local0)
+ SRMT(Local0)
+ m649(Local0)
+ } else {
+ Concatenate(ts, "-m329", Local0)
+ SRMT(Local0)
+ m329(Local0)
+ }
+
+ // Integer to Buffer conversion of the Integer value of
+ // Expression of Case statement when Expression in Switch
+ // is either static Buffer data or explicitly converted to
+ // Buffer by ToBuffer
+ if (F64) {
+ Concatenate(ts, "-m64a", Local0)
+ SRMT(Local0)
+ m64a(Local0)
+ } else {
+ Concatenate(ts, "-m32a", Local0)
+ SRMT(Local0)
+ m32a(Local0)
+ }
+
+
+ // String to Integer implicit conversion Cases.
+
+ // String to Integer conversion of the String sole operand
+ // of the 1-parameter Integer arithmetic operators
+ // (Decrement, Increment, FindSetLeftBit, FindSetRightBit, Not)
+ if (F64) {
+ Concatenate(ts, "-m64b", Local0)
+ SRMT(Local0)
+ m64b(Local0)
+ } else {
+ Concatenate(ts, "-m32b", Local0)
+ SRMT(Local0)
+ m32b(Local0)
+ }
+
+ // String to Integer conversion of the String sole operand
+ // of the LNot Logical Integer operator
+ Concatenate(ts, "-m000", Local0)
+ SRMT(Local0)
+ m000(Local0)
+
+ // String to Integer conversion of the String sole operand
+ // of the FromBCD and ToBCD conversion operators
+ if (F64) {
+ Concatenate(ts, "-m64c", Local0)
+ SRMT(Local0)
+ m64c(Local0)
+ } else {
+ Concatenate(ts, "-m32c", Local0)
+ SRMT(Local0)
+ m32c(Local0)
+ }
+
+ // String to Integer conversion of each String operand
+ // of the 2-parameter Integer arithmetic operators
+ // Add, And, Divide, Mod, Multiply, NAnd, NOr, Or,
+ // ShiftLeft, ShiftRight, Subtract, Xor
+ if (F64) {
+ m64d(Concatenate(ts, "-m64d"))
+ } else {
+ m32d(Concatenate(ts, "-m32d"))
+ }
+
+ // String to Integer conversion of each String operand
+ // of the 2-parameter Logical Integer operators LAnd and LOr
+ if (F64) {
+ m64e(Concatenate(ts, "-m64e"))
+ } else {
+ m32e(Concatenate(ts, "-m32e"))
+ }
+
+ // String to Integer conversion of the String second operand of
+ // Logical operators when the first operand is evaluated as Integer
+ // (LEqual, LGreater, LGreaterEqual, LLess, LLessEqual, LNotEqual)
+
+ Concatenate(ts, "-m02b", Local0)
+ SRMT(Local0)
+ m02b(Local0)
+
+ if (F64) {
+ Concatenate(ts, "-m64f", Local0)
+ SRMT(Local0)
+ m64f(Local0)
+ } else {
+ Concatenate(ts, "-m32f", Local0)
+ SRMT(Local0)
+ m32f(Local0)
+ }
+
+ // String to Integer intermediate conversion of the String second
+ // operand of Concatenate operator in case the first one is Integer
+ if (F64) {
+ Concatenate(ts, "-m64g", Local0)
+ SRMT(Local0)
+ m64g(Local0)
+ } else {
+ Concatenate(ts, "-m32g", Local0)
+ SRMT(Local0)
+ m32g(Local0)
+ }
+
+ // String to Integer conversion of the String Length (second)
+ // operand of the ToString operator
+
+ Concatenate(ts, "-m02c", Local0)
+ SRMT(Local0)
+ m02c(Local0)
+
+ if (F64) {
+ Concatenate(ts, "-m64h", Local0)
+ SRMT(Local0)
+ m64h(Local0)
+ } else {
+ Concatenate(ts, "-m32h", Local0)
+ SRMT(Local0)
+ m32h(Local0)
+ }
+
+ // String to Integer conversion of the String Index (second)
+ // operand of the Index operator
+ Concatenate(ts, "-m02d", Local0)
+ SRMT(Local0)
+ m02d(Local0)
+
+ // String to Integer conversion of the String Arg (third)
+ // operand of the Fatal operator
+ // (it can only be checked an exception does not occur)
+ Concatenate(ts, "-m02e", Local0)
+ SRMT(Local0)
+ m02e(Local0)
+
+ // String to Integer conversion of the String Index and Length
+ // operands of the Mid operator
+
+ Concatenate(ts, "-m02f", Local0)
+ SRMT(Local0)
+ m02f(Local0)
+
+ if (F64) {
+ Concatenate(ts, "-m64i", Local0)
+ SRMT(Local0)
+ m64i(Local0)
+ } else {
+ Concatenate(ts, "-m32i", Local0)
+ SRMT(Local0)
+ m32i(Local0)
+ }
+
+ // String to Integer conversion of the String StartIndex
+ // operand of the Match operator
+ Concatenate(ts, "-m030", Local0)
+ SRMT(Local0)
+ m030(Local0)
+
+ // String to Integer conversion of the String elements
+ // of a search package of Match operator when some
+ // MatchObject is evaluated as Integer
+ if (F64) {
+ Concatenate(ts, "-m64j", Local0)
+ SRMT(Local0)
+ m64j(Local0)
+ } else {
+ Concatenate(ts, "-m32j", Local0)
+ SRMT(Local0)
+ m32j(Local0)
+ }
+
+ // String to Integer conversion of the String sole operand
+ // of the Method execution control operators (Sleep, Stall)
+ Concatenate(ts, "-m031", Local0)
+ SRMT(Local0)
+ m031(Local0)
+
+ // String to Integer conversion of the String TimeoutValue
+ // (second) operand of the Acquire operator
+/* Compiler allows only Integer constant as TimeoutValue (Bug 1)
+ Concatenate(ts, "-m032", Local0)
+ SRMT(Local0)
+ m032(Local0)
+*/
+
+ // String to Integer conversion of the String TimeoutValue
+ // (second) operand of the Wait operator
+ Concatenate(ts, "-m033", Local0)
+ SRMT(Local0)
+ m033(Local0)
+
+ // String to Integer conversion of the String value
+ // of Predicate of the Method execution control statements
+ // (If, ElseIf, While)
+ Concatenate(ts, "-m034", Local0)
+ SRMT(Local0)
+ if (y111) {
+ m034(Local0)
+ } else {
+ BLCK()
+ }
+
+ // String to Integer conversion of the String value
+ // of Expression of Case statement when Expression in
+ // Switch is evaluated as Integer
+ if (F64) {
+ Concatenate(ts, "-m64k", Local0)
+ SRMT(Local0)
+ m64k(Local0)
+ } else {
+ Concatenate(ts, "-m32k", Local0)
+ SRMT(Local0)
+ m32k(Local0)
+ }
+
+
+ // String to Buffer implicit conversion Cases.
+
+ // String to Buffer conversion of the String second operand of
+ // Logical operators when the first operand is evaluated as Buffer
+ // (LEqual, LGreater, LGreaterEqual, LLess, LLessEqual, LNotEqual)
+ Concatenate(ts, "-m035", Local0)
+ SRMT(Local0)
+ m035(Local0)
+
+ // String to Buffer conversion of the String second operand of
+ // Concatenate operator when the first operand is evaluated as Buffer
+ Concatenate(ts, "-m036", Local0)
+ SRMT(Local0)
+ m036(Local0)
+
+ // String to Buffer conversion of the String Source operand of
+ // ToString operator (has a visual effect in shortening of the
+ // String taken the null character)
+ Concatenate(ts, "-m037", Local0)
+ SRMT(Local0)
+ m037(Local0)
+
+ // String to Buffer conversion of the String elements of
+ // a search package of Match operator when some MatchObject
+ // is evaluated as Buffer
+ Concatenate(ts, "-m038", Local0)
+ SRMT(Local0)
+ m038(Local0)
+
+ // String to Buffer conversion of the String value of
+ // Expression of Case statement when Expression in Switch
+ // is either static Buffer data or explicitly converted to
+ // Buffer by ToBuffer
+ Concatenate(ts, "-m039", Local0)
+ SRMT(Local0)
+ m039(Local0)
+
+
+ // Buffer to Integer implicit conversion Cases.
+
+ // Buffer to Integer conversion of the Buffer sole operand
+ // of the 1-parameter Integer arithmetic operators
+ // (Decrement, Increment, FindSetLeftBit, FindSetRightBit, Not)
+ if (F64) {
+ Concatenate(ts, "-m64l", Local0)
+ SRMT(Local0)
+ m64l(Local0)
+ } else {
+ Concatenate(ts, "-m32l", Local0)
+ SRMT(Local0)
+ m32l(Local0)
+ }
+
+ // Buffer to Integer conversion of the Buffer sole operand
+ // of the LNot Logical Integer operator
+ Concatenate(ts, "-m03a", Local0)
+ SRMT(Local0)
+ m03a(Local0)
+
+ // Buffer to Integer conversion of the Buffer sole operand
+ // of the FromBCD and ToBCD conversion operators
+ if (F64) {
+ Concatenate(ts, "-m64m", Local0)
+ SRMT(Local0)
+ m64m(Local0)
+ } else {
+ Concatenate(ts, "-m32m", Local0)
+ SRMT(Local0)
+ m32m(Local0)
+ }
+
+ // Buffer to Integer conversion of each Buffer operand
+ // of the 2-parameter Integer arithmetic operators
+ // Add, And, Divide, Mod, Multiply, NAnd, NOr, Or,
+ // ShiftLeft, ShiftRight, Subtract, Xor
+ if (F64) {
+ m64n(Concatenate(ts, "-m64n"))
+ } else {
+ m32n(Concatenate(ts, "-m32n"))
+ }
+
+ // Buffer to Integer conversion of each Buffer operand
+ // of the 2-parameter Logical Integer operators LAnd and LOr
+ if (F64) {
+ m64o(Concatenate(ts, "-m64o"))
+ } else {
+ m32o(Concatenate(ts, "-m32o"))
+ }
+
+ // Buffer to Integer conversion of the Buffer second operand of
+ // Logical operators when the first operand is evaluated as Integer
+ // (LEqual, LGreater, LGreaterEqual, LLess, LLessEqual, LNotEqual)
+
+ Concatenate(ts, "-m065", Local0)
+ SRMT(Local0)
+ m065(Local0)
+
+ if (F64) {
+ Concatenate(ts, "-m64p", Local0)
+ SRMT(Local0)
+ m64p(Local0)
+ } else {
+ Concatenate(ts, "-m32p", Local0)
+ SRMT(Local0)
+ m32p(Local0)
+ }
+
+ // Buffer to Integer intermediate conversion of the Buffer second
+ // operand of Concatenate operator in case the first one is Integer
+ if (F64) {
+ Concatenate(ts, "-m64q", Local0)
+ SRMT(Local0)
+ m64q(Local0)
+ } else {
+ Concatenate(ts, "-m32q", Local0)
+ SRMT(Local0)
+ m32q(Local0)
+ }
+
+ // Buffer to Integer conversion of the Buffer Length (second)
+ // operand of the ToString operator
+
+ Concatenate(ts, "-m066", Local0)
+ SRMT(Local0)
+ m066(Local0)
+
+ if (F64) {
+ Concatenate(ts, "-m64r", Local0)
+ SRMT(Local0)
+ m64r(Local0)
+ } else {
+ Concatenate(ts, "-m32r", Local0)
+ SRMT(Local0)
+ m32r(Local0)
+ }
+
+ // Buffer to Integer conversion of the Buffer Index (second)
+ // operand of the Index operator
+ Concatenate(ts, "-m067", Local0)
+ SRMT(Local0)
+ m067(Local0)
+
+ // Buffer to Integer conversion of the String Arg (third)
+ // operand of the Fatal operator
+ // (it can only be checked an exception does not occur)
+ Concatenate(ts, "-m068", Local0)
+ SRMT(Local0)
+ m068(Local0)
+
+ // Buffer to Integer conversion of the Buffer Index and Length
+ // operands of the Mid operator
+
+ Concatenate(ts, "-m069", Local0)
+ SRMT(Local0)
+ m069(Local0)
+
+ if (F64) {
+ Concatenate(ts, "-m64s", Local0)
+ SRMT(Local0)
+ m64s(Local0)
+ } else {
+ Concatenate(ts, "-m32s", Local0)
+ SRMT(Local0)
+ m32s(Local0)
+ }
+
+ // Buffer to Integer conversion of the Buffer StartIndex
+ // operand of the Match operator
+ Concatenate(ts, "-m06a", Local0)
+ SRMT(Local0)
+ m06a(Local0)
+
+ // Buffer to Integer conversion of the Buffer elements
+ // of a search package of Match operator when some
+ // MatchObject is evaluated as Integer
+ if (F64) {
+ Concatenate(ts, "-m64t", Local0)
+ SRMT(Local0)
+ m64t(Local0)
+ } else {
+ Concatenate(ts, "-m32t", Local0)
+ SRMT(Local0)
+ m32t(Local0)
+ }
+
+ // Buffer to Integer conversion of the Buffer sole operand
+ // of the Method execution control operators (Sleep, Stall)
+ Concatenate(ts, "-m06b", Local0)
+ SRMT(Local0)
+ m06b(Local0)
+
+ // Buffer to Integer conversion of the Buffer TimeoutValue
+ // (second) operand of the Acquire operator
+/* Compiler allows only Integer constant as TimeoutValue (Bug 1)
+ Concatenate(ts, "-m06c", Local0)
+ SRMT(Local0)
+ m06c(Local0)
+*/
+
+ // Buffer to Integer conversion of the Buffer TimeoutValue
+ // (second) operand of the Wait operator
+ Concatenate(ts, "-m06d", Local0)
+ SRMT(Local0)
+ m06d(Local0)
+
+ // Buffer to Integer conversion of the Buffer value
+ // of Predicate of the Method execution control statements
+ // (If, ElseIf, While)
+ Concatenate(ts, "-m06e", Local0)
+ SRMT(Local0)
+ if (y111) {
+ m06e(Local0)
+ } else {
+ BLCK()
+ }
+
+ // Buffer to Integer conversion of the Buffer value
+ // of Expression of Case statement when Expression in
+ // Switch is evaluated as Integer
+ if (F64) {
+ Concatenate(ts, "-m64u", Local0)
+ SRMT(Local0)
+ m64u(Local0)
+ } else {
+ Concatenate(ts, "-m32u", Local0)
+ SRMT(Local0)
+ m32u(Local0)
+ }
+
+ // Buffer to String implicit conversion Cases.
+
+ // Buffer to String conversion of the Buffer second operand of
+ // Logical operators when the first operand is evaluated as String.
+ // LEqual LGreater LGreaterEqual LLess LLessEqual LNotEqual
+ Concatenate(ts, "-m06f", Local0)
+ SRMT(Local0)
+ m06f(Local0)
+
+ // Buffer to String conversion of the Buffer second operand of
+ // Concatenate operator when the first operand is evaluated as String
+ Concatenate(ts, "-m070", Local0)
+ SRMT(Local0)
+ m070(Local0)
+
+ // Buffer to String conversion of the Buffer elements
+ // of a search package of Match operator when some MatchObject
+ // is evaluated as String
+ Concatenate(ts, "-m071", Local0)
+ SRMT(Local0)
+ m071(Local0)
+
+ // Buffer to String conversion of the Buffer value
+ // of Expression of Case statement when Expression in
+ // Switch is either static String data or explicitly
+ // converted to String by ToDecimalString, ToHexString
+ // or ToString
+ Concatenate(ts, "-m072", Local0)
+ SRMT(Local0)
+ m072(Local0)
+
+ // There are no Buffer field and Field unit constant
+ // images therefore there are no test objects to test
+ // Data of these types in this test.
+}
+
+/*
+ * Cases when there are more than one operand for implicit conversion
+ * - when the first operand of Concatenate operator is Integer,
+ * there are additional conversions besides this Integer to Buffer:
+ * = String to Integer conversion if second operand is String
+ * = Buffer to Integer conversion if second operand is Buffer
+ * = Integer to Buffer conversion of the converted second operand
+ */
+Method(m620)
+{
+ Name(ts, "m620")
+
+ // Buffer to Integer conversion if second operand is Buffer
+ Method(m645, 1)
+ {
+ Store(Concatenate(0xfe7cb391d650a284, Buffer(){0x5a}), Local0)
+ m600(arg0, 0, Local0, bb16)
+
+ Store(Concatenate(0xfe7cb391d650a284, Buffer(){0x5a, 0x00}), Local0)
+ m600(arg0, 1, Local0, bb17)
+
+ Store(Concatenate(0xfe7cb391d650a284, aub0), Local0)
+ m600(arg0, 2, Local0, bb16)
+
+ Store(Concatenate(0xfe7cb391d650a284, aub1), Local0)
+ m600(arg0, 3, Local0, bb17)
+
+ if (y078) {
+ Store(Concatenate(0xfe7cb391d650a284, Derefof(Refof(aub0))), Local0)
+ m600(arg0, 4, Local0, bb16)
+
+ Store(Concatenate(0xfe7cb391d650a284, Derefof(Refof(aub1))), Local0)
+ m600(arg0, 5, Local0, bb17)
+ }
+
+ Store(Concatenate(0xfe7cb391d650a284, Derefof(Index(paub, 0))), Local0)
+ m600(arg0, 6, Local0, bb16)
+
+ Store(Concatenate(0xfe7cb391d650a284, Derefof(Index(paub, 1))), Local0)
+ m600(arg0, 7, Local0, bb17)
+
+ // Method returns Buffer
+
+ Store(Concatenate(0xfe7cb391d650a284, m601(3, 0)), Local0)
+ m600(arg0, 8, Local0, bb16)
+
+ Store(Concatenate(0xfe7cb391d650a284, m601(3, 1)), Local0)
+ m600(arg0, 9, Local0, bb17)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(Concatenate(0xfe7cb391d650a284, Derefof(m602(3, 0, 1))), Local0)
+ m600(arg0, 10, Local0, bb16)
+
+ Store(Concatenate(0xfe7cb391d650a284, Derefof(m602(3, 1, 1))), Local0)
+ m600(arg0, 11, Local0, bb17)
+ }
+
+ Concatenate(0xfe7cb391d650a284, Buffer(){0x5a}, Local0)
+ m600(arg0, 12, Local0, bb16)
+
+ Concatenate(0xfe7cb391d650a284, Buffer(){0x5a, 0x00}, Local0)
+ m600(arg0, 13, Local0, bb17)
+
+ Concatenate(0xfe7cb391d650a284, aub0, Local0)
+ m600(arg0, 14, Local0, bb16)
+
+ Concatenate(0xfe7cb391d650a284, aub1, Local0)
+ m600(arg0, 15, Local0, bb17)
+
+ if (y078) {
+ Concatenate(0xfe7cb391d650a284, Derefof(Refof(aub0)), Local0)
+ m600(arg0, 16, Local0, bb16)
+
+ Concatenate(0xfe7cb391d650a284, Derefof(Refof(aub1)), Local0)
+ m600(arg0, 17, Local0, bb17)
+ }
+
+ Concatenate(0xfe7cb391d650a284, Derefof(Index(paub, 0)), Local0)
+ m600(arg0, 18, Local0, bb16)
+
+ Concatenate(0xfe7cb391d650a284, Derefof(Index(paub, 1)), Local0)
+ m600(arg0, 19, Local0, bb17)
+
+ // Method returns Buffer
+
+ Concatenate(0xfe7cb391d650a284, m601(3, 0), Local0)
+ m600(arg0, 20, Local0, bb16)
+
+ Concatenate(0xfe7cb391d650a284, m601(3, 1), Local0)
+ m600(arg0, 21, Local0, bb17)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Concatenate(0xfe7cb391d650a284, Derefof(m602(3, 0, 1)), Local0)
+ m600(arg0, 22, Local0, bb16)
+
+ Concatenate(0xfe7cb391d650a284, Derefof(m602(3, 1, 1)), Local0)
+ m600(arg0, 23, Local0, bb17)
+ }
+ }
+
+ Method(m325, 1)
+ {
+ Store(Concatenate(0xc179b3fe, Buffer(){0x5a}), Local0)
+ m600(arg0, 0, Local0, bb18)
+
+ Store(Concatenate(0xc179b3fe, Buffer(){0x5a, 0x00}), Local0)
+ m600(arg0, 1, Local0, bb19)
+
+ Store(Concatenate(0xc179b3fe, aub0), Local0)
+ m600(arg0, 2, Local0, bb18)
+
+ Store(Concatenate(0xc179b3fe,aub1 ), Local0)
+ m600(arg0, 3, Local0, bb19)
+
+ if (y078) {
+ Store(Concatenate(0xc179b3fe, Derefof(Refof(aub0))), Local0)
+ m600(arg0, 4, Local0, bb18)
+
+ Store(Concatenate(0xc179b3fe, Derefof(Refof(aub1))), Local0)
+ m600(arg0, 5, Local0, bb19)
+ }
+
+ Store(Concatenate(0xc179b3fe, Derefof(Index(paub, 0))), Local0)
+ m600(arg0, 6, Local0, bb18)
+
+ Store(Concatenate(0xc179b3fe, Derefof(Index(paub, 1))), Local0)
+ m600(arg0, 7, Local0, bb19)
+
+ // Method returns Buffer
+
+ Store(Concatenate(0xc179b3fe, m601(3, 0)), Local0)
+ m600(arg0, 8, Local0, bb18)
+
+ Store(Concatenate(0xc179b3fe, m601(3, 1)), Local0)
+ m600(arg0, 9, Local0, bb19)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(Concatenate(0xc179b3fe, Derefof(m602(3, 0, 1))), Local0)
+ m600(arg0, 10, Local0, bb18)
+
+ Store(Concatenate(0xc179b3fe, Derefof(m602(3, 1, 1))), Local0)
+ m600(arg0, 11, Local0, bb19)
+ }
+
+ Store(Concatenate(0xfe7cb391d650a284, Buffer(){0x5a}), Local0)
+ m600(arg0, 12, Local0, bb1a)
+
+ Store(Concatenate(0xfe7cb391d650a284, Buffer(){0x5a, 0x00}), Local0)
+ m600(arg0, 13, Local0, bb1b)
+
+ Concatenate(0xc179b3fe, Buffer(){0x5a}, Local0)
+ m600(arg0, 14, Local0, bb18)
+
+ Concatenate(0xc179b3fe, Buffer(){0x5a, 0x00}, Local0)
+ m600(arg0, 15, Local0, bb19)
+
+ Concatenate(0xc179b3fe, aub0, Local0)
+ m600(arg0, 16, Local0, bb18)
+
+ Concatenate(0xc179b3fe, aub1, Local0)
+ m600(arg0, 17, Local0, bb19)
+
+ if (y078) {
+ Concatenate(0xc179b3fe, Derefof(Refof(aub0)), Local0)
+ m600(arg0, 18, Local0, bb18)
+
+ Concatenate(0xc179b3fe, Derefof(Refof(aub1)), Local0)
+ m600(arg0, 19, Local0, bb19)
+ }
+
+ Concatenate(0xc179b3fe, Derefof(Index(paub, 0)), Local0)
+ m600(arg0, 20, Local0, bb18)
+
+ Concatenate(0xc179b3fe, Derefof(Index(paub, 1)), Local0)
+ m600(arg0, 21, Local0, bb19)
+
+ // Method returns Buffer
+
+ Concatenate(0xc179b3fe, m601(3, 0), Local0)
+ m600(arg0, 22, Local0, bb18)
+
+ Concatenate(0xc179b3fe, m601(3, 1), Local0)
+ m600(arg0, 23, Local0, bb19)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Concatenate(0xc179b3fe, Derefof(m602(3, 0, 1)), Local0)
+ m600(arg0, 24, Local0, bb18)
+
+ Concatenate(0xc179b3fe, Derefof(m602(3, 1, 1)), Local0)
+ m600(arg0, 25, Local0, bb19)
+ }
+
+ Concatenate(0xfe7cb391d650a284, Buffer(){0x5a}, Local0)
+ m600(arg0, 26, Local0, bb1a)
+
+ Concatenate(0xfe7cb391d650a284, Buffer(){0x5a, 0x00}, Local0)
+ m600(arg0, 27, Local0, bb1b)
+ }
+
+ if (F64) {
+ Concatenate(ts, "-m645", Local0)
+ SRMT(Local0)
+ m645(Local0)
+ } else {
+ Concatenate(ts, "-m325", Local0)
+ SRMT(Local0)
+ m325(Local0)
+ }
+}
+
+// Run-method
+Method(OPR0)
+{
+ Store("TEST: OPR0, Source Operand", Debug)
+
+ m610()
+
+ m620()
+}
+
diff --git a/tests/aslts/src/runtime/collections/complex/operand/tests/oconversion/MAIN.asl b/tests/aslts/src/runtime/collections/complex/operand/tests/oconversion/MAIN.asl
new file mode 100644
index 000000000..283e552a0
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/operand/tests/oconversion/MAIN.asl
@@ -0,0 +1,60 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "oconversion.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../../runtime/cntl/DECL_6UP.asl")
+ Include("../../../../../../runtime/common/operations.asl")
+ Include("../../../../../../runtime/common/conversion/oproc.asl")
+ Include("../../../../../../runtime/common/conversion/otest.asl")
+ Include("../../../../../../runtime/collections/complex/operand/tests/oconversion/oconversion.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../../runtime/collections/complex/operand/tests/oconversion/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/complex/operand/tests/oconversion/Makefile b/tests/aslts/src/runtime/collections/complex/operand/tests/oconversion/Makefile
new file mode 100644
index 000000000..de5ccd30b
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/operand/tests/oconversion/Makefile
@@ -0,0 +1,7 @@
+# oconversion
+
+AMLMOD= oconversion
+COLL= ../../../..
+
+TOP= $(COLL)/../../..
+include $(COLL)/Makefile.install
diff --git a/tests/aslts/src/runtime/collections/complex/operand/tests/oconversion/RUN.asl b/tests/aslts/src/runtime/collections/complex/operand/tests/oconversion/RUN.asl
new file mode 100644
index 000000000..a018f5aa8
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/operand/tests/oconversion/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+
+if (STTT("Implicit Source Operand Conversion", TCLC, 10, W010)) {
+ SRMT("OCV0")
+ OCV0()
+}
+FTTT()
diff --git a/tests/aslts/src/runtime/collections/complex/operand/tests/oconversion/oconversion.asl b/tests/aslts/src/runtime/collections/complex/operand/tests/oconversion/oconversion.asl
new file mode 100644
index 000000000..d0f3732b6
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/operand/tests/oconversion/oconversion.asl
@@ -0,0 +1,44 @@
+/*
+ * 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.
+ */
+
+/*
+ * This test should be investigated and probably fixed because
+ * it most likely not conforms with the changed functionality of
+ * the Store operator - storing of non-computational data and
+ * BufferFields and Fields was once diasbled.
+ *
+ * Such are exc_operand1, exc_result, oconversion and rconversion tests.
+ */
+
+// Run-method
+Method(OCV0)
+{
+ m460(0)
+}
diff --git a/tests/aslts/src/runtime/collections/complex/operand/tests/olocal/MAIN.asl b/tests/aslts/src/runtime/collections/complex/operand/tests/olocal/MAIN.asl
new file mode 100644
index 000000000..8ba00a3d4
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/operand/tests/olocal/MAIN.asl
@@ -0,0 +1,58 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "olocal.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../../runtime/cntl/DECL_6UP.asl")
+ Include("../../../../../../runtime/collections/complex/operand/common/ocommon.asl")
+ Include("../../../../../../runtime/collections/complex/operand/tests/olocal/olocal.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../../runtime/collections/complex/operand/tests/olocal/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/complex/operand/tests/olocal/Makefile b/tests/aslts/src/runtime/collections/complex/operand/tests/olocal/Makefile
new file mode 100644
index 000000000..5bc990337
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/operand/tests/olocal/Makefile
@@ -0,0 +1,7 @@
+# olocal
+
+AMLMOD= olocal
+COLL= ../../../..
+
+TOP= $(COLL)/../../..
+include $(COLL)/Makefile.install
diff --git a/tests/aslts/src/runtime/collections/complex/operand/tests/olocal/RUN.asl b/tests/aslts/src/runtime/collections/complex/operand/tests/olocal/RUN.asl
new file mode 100644
index 000000000..2bf5b0592
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/operand/tests/olocal/RUN.asl
@@ -0,0 +1,35 @@
+/*
+ * 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.
+ */
+
+
+if (STTT("Source Operand, local named object data", TCLC, 4, W010)) {
+ OPR6()
+}
+FTTT()
diff --git a/tests/aslts/src/runtime/collections/complex/operand/tests/olocal/olocal.asl b/tests/aslts/src/runtime/collections/complex/operand/tests/olocal/olocal.asl
new file mode 100644
index 000000000..b2634cb29
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/operand/tests/olocal/olocal.asl
@@ -0,0 +1,25622 @@
+/*
+ * 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.
+ */
+
+/*
+ * Check implicit conversion being applied to Named Objects
+ * in the current Scope of the Global ACPI namespace.
+ */
+
+Name(z117, 117)
+
+Method(m618)
+{
+ Name(ts, "m618")
+
+ // Integer to String implicit conversion Cases.
+
+ // Integer to String conversion of the Integer second operand of
+ // Logical operators when the first operand is evaluated as String.
+ // LEqual LGreater LGreaterEqual LLess LLessEqual LNotEqual
+
+ Method(m640, 1)
+ {
+ Store(0xfe7cb391d650a284, Local1)
+
+ // LEqual
+
+ Store(LEqual("FE7CB391D650A284", Local1), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual("fE7CB391D650A284", Local1), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(aus4, Local1), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(LEqual(aus5, Local1), Local0)
+ m600(arg0, 3, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aus4)), Local1), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(aus5)), Local1), Local0)
+ m600(arg0, 5, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paus, 4)), Local1), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paus, 5)), Local1), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ // Method returns String
+
+ Store(LEqual(m601(2, 4), Local1), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(LEqual(m601(2, 5), Local1), Local0)
+ m600(arg0, 9, Local0, Zero)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(2, 4, 1)), Local1), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(2, 5, 1)), Local1), Local0)
+ m600(arg0, 11, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater("FE7CB391D650A284", Local1), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LGreater("fE7CB391D650A284", Local1), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LGreater("FE7CB391D650A28 ", Local1), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LGreater("FE7CB391D650A284q", Local1), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LGreater(aus4, Local1), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LGreater(aus5, Local1), Local0)
+ m600(arg0, 17, Local0, Ones)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aus4)), Local1), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(aus5)), Local1), Local0)
+ m600(arg0, 19, Local0, Ones)
+ }
+
+ Store(LGreater(Derefof(Index(paus, 4)), Local1), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paus, 5)), Local1), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns String
+
+ Store(LGreater(m601(2, 4), Local1), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LGreater(m601(2, 5), Local1), Local0)
+ m600(arg0, 23, Local0, Ones)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(2, 4, 1)), Local1), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(2, 5, 1)), Local1), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual("FE7CB391D650A284", Local1), Local0)
+ m600(arg0, 26, Local0, Ones)
+
+ Store(LGreaterEqual("fE7CB391D650A284", Local1), Local0)
+ m600(arg0, 27, Local0, Ones)
+
+ Store(LGreaterEqual("FE7CB391D650A28 ", Local1), Local0)
+ m600(arg0, 28, Local0, Zero)
+
+ Store(LGreaterEqual("FE7CB391D650A284q", Local1), Local0)
+ m600(arg0, 29, Local0, Ones)
+
+ Store(LGreaterEqual(aus4, Local1), Local0)
+ m600(arg0, 30, Local0, Ones)
+
+ Store(LGreaterEqual(aus5, Local1), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aus4)), Local1), Local0)
+ m600(arg0, 32, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(aus5)), Local1), Local0)
+ m600(arg0, 33, Local0, Ones)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paus, 4)), Local1), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paus, 5)), Local1), Local0)
+ m600(arg0, 35, Local0, Ones)
+
+ // Method returns String
+
+ Store(LGreaterEqual(m601(2, 4), Local1), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(m601(2, 5), Local1), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(2, 4, 1)), Local1), Local0)
+ m600(arg0, 38, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(2, 5, 1)), Local1), Local0)
+ m600(arg0, 39, Local0, Ones)
+ }
+
+ // LLess
+
+ Store(LLess("FE7CB391D650A284", Local1), Local0)
+ m600(arg0, 40, Local0, Zero)
+
+ Store(LLess("fE7CB391D650A284", Local1), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ Store(LLess("FE7CB391D650A28 ", Local1), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LLess("FE7CB391D650A284q", Local1), Local0)
+ m600(arg0, 43, Local0, Zero)
+
+ Store(LLess(aus4, Local1), Local0)
+ m600(arg0, 44, Local0, Zero)
+
+ Store(LLess(aus5, Local1), Local0)
+ m600(arg0, 45, Local0, Zero)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aus4)), Local1), Local0)
+ m600(arg0, 46, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(aus5)), Local1), Local0)
+ m600(arg0, 47, Local0, Zero)
+ }
+
+ Store(LLess(Derefof(Index(paus, 4)), Local1), Local0)
+ m600(arg0, 48, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paus, 5)), Local1), Local0)
+ m600(arg0, 49, Local0, Zero)
+
+ // Method returns String
+
+ Store(LLess(m601(2, 4), Local1), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ Store(LLess(m601(2, 5), Local1), Local0)
+ m600(arg0, 51, Local0, Zero)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LLess(Derefof(m602(2, 4, 1)), Local1), Local0)
+ m600(arg0, 52, Local0, Zero)
+
+ Store(LLess(Derefof(m602(2, 5, 1)), Local1), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual("FE7CB391D650A284", Local1), Local0)
+ m600(arg0, 54, Local0, Ones)
+
+ Store(LLessEqual("fE7CB391D650A284", Local1), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLessEqual("FE7CB391D650A28 ", Local1), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLessEqual("FE7CB391D650A284q", Local1), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLessEqual(aus4, Local1), Local0)
+ m600(arg0, 58, Local0, Ones)
+
+ Store(LLessEqual(aus5, Local1), Local0)
+ m600(arg0, 59, Local0, Zero)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aus4)), Local1), Local0)
+ m600(arg0, 60, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(aus5)), Local1), Local0)
+ m600(arg0, 61, Local0, Zero)
+ }
+
+ Store(LLessEqual(Derefof(Index(paus, 4)), Local1), Local0)
+ m600(arg0, 62, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paus, 5)), Local1), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ // Method returns String
+
+ Store(LLessEqual(m601(2, 4), Local1), Local0)
+ m600(arg0, 64, Local0, Ones)
+
+ Store(LLessEqual(m601(2, 5), Local1), Local0)
+ m600(arg0, 65, Local0, Zero)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(2, 4, 1)), Local1), Local0)
+ m600(arg0, 66, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(2, 5, 1)), Local1), Local0)
+ m600(arg0, 67, Local0, Zero)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual("FE7CB391D650A284", Local1), Local0)
+ m600(arg0, 68, Local0, Zero)
+
+ Store(LNotEqual("fE7CB391D650A284", Local1), Local0)
+ m600(arg0, 69, Local0, Ones)
+
+ Store(LNotEqual("FE7CB391D650A28 ", Local1), Local0)
+ m600(arg0, 70, Local0, Ones)
+
+ Store(LNotEqual("FE7CB391D650A284q", Local1), Local0)
+ m600(arg0, 71, Local0, Ones)
+
+ Store(LNotEqual(aus4, Local1), Local0)
+ m600(arg0, 72, Local0, Zero)
+
+ Store(LNotEqual(aus5, Local1), Local0)
+ m600(arg0, 73, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aus4)), Local1), Local0)
+ m600(arg0, 74, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(aus5)), Local1), Local0)
+ m600(arg0, 75, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paus, 4)), Local1), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paus, 5)), Local1), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ // Method returns String
+
+ Store(LNotEqual(m601(2, 4), Local1), Local0)
+ m600(arg0, 78, Local0, Zero)
+
+ Store(LNotEqual(m601(2, 5), Local1), Local0)
+ m600(arg0, 79, Local0, Ones)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(2, 4, 1)), Local1), Local0)
+ m600(arg0, 80, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(2, 5, 1)), Local1), Local0)
+ m600(arg0, 81, Local0, Ones)
+ }
+ }
+
+ Method(m320, 1)
+ {
+ Store(0xc179b3fe, Local1)
+
+ // LEqual
+
+ Store(LEqual("C179B3FE", Local1), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual("c179B3FE", Local1), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(aus3, Local1), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(LEqual(aus2, Local1), Local0)
+ m600(arg0, 3, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aus3)), Local1), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(aus2)), Local1), Local0)
+ m600(arg0, 5, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paus, 3)), Local1), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paus, 2)), Local1), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ // Method returns String
+
+ Store(LEqual(m601(2, 3), Local1), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(LEqual(m601(2, 2), Local1), Local0)
+ m600(arg0, 9, Local0, Zero)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(2, 3, 1)), Local1), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(2, 2, 1)), Local1), Local0)
+ m600(arg0, 11, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater("C179B3FE", Local1), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LGreater("c179B3FE", Local1), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LGreater("C179B3F ", Local1), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LGreater("C179B3FEq", Local1), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LGreater(aus3, Local1), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LGreater(aus2, Local1), Local0)
+ m600(arg0, 17, Local0, Ones)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aus3)), Local1), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(aus2)), Local1), Local0)
+ m600(arg0, 19, Local0, Ones)
+ }
+
+ Store(LGreater(Derefof(Index(paus, 3)), Local1), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paus, 2)), Local1), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns String
+
+ Store(LGreater(m601(2, 3), Local1), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LGreater(m601(2, 2), Local1), Local0)
+ m600(arg0, 23, Local0, Ones)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(2, 3, 1)), Local1), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(2, 2, 1)), Local1), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual("C179B3FE", Local1), Local0)
+ m600(arg0, 26, Local0, Ones)
+
+ Store(LGreaterEqual("c179B3FE", Local1), Local0)
+ m600(arg0, 27, Local0, Ones)
+
+ Store(LGreaterEqual("C179B3F ", Local1), Local0)
+ m600(arg0, 28, Local0, Zero)
+
+ Store(LGreaterEqual("C179B3FEq", Local1), Local0)
+ m600(arg0, 29, Local0, Ones)
+
+ Store(LGreaterEqual(aus3, Local1), Local0)
+ m600(arg0, 30, Local0, Ones)
+
+ Store(LGreaterEqual(aus2, Local1), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aus3)), Local1), Local0)
+ m600(arg0, 32, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(aus2)), Local1), Local0)
+ m600(arg0, 33, Local0, Ones)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paus, 3)), Local1), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paus, 2)), Local1), Local0)
+ m600(arg0, 35, Local0, Ones)
+
+ // Method returns String
+
+ Store(LGreaterEqual(m601(2, 3), Local1), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(m601(2, 2), Local1), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(2, 3, 1)), Local1), Local0)
+ m600(arg0, 38, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(2, 2, 1)), Local1), Local0)
+ m600(arg0, 39, Local0, Ones)
+ }
+
+ // LLess
+
+ Store(LLess("C179B3FE", Local1), Local0)
+ m600(arg0, 40, Local0, Zero)
+
+ Store(LLess("c179B3FE", Local1), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ Store(LLess("C179B3F ", Local1), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LLess("C179B3FEq", Local1), Local0)
+ m600(arg0, 43, Local0, Zero)
+
+ Store(LLess(aus3, Local1), Local0)
+ m600(arg0, 44, Local0, Zero)
+
+ Store(LLess(aus2, Local1), Local0)
+ m600(arg0, 45, Local0, Zero)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aus3)), Local1), Local0)
+ m600(arg0, 46, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(aus2)), Local1), Local0)
+ m600(arg0, 47, Local0, Zero)
+ }
+
+ Store(LLess(Derefof(Index(paus, 3)), Local1), Local0)
+ m600(arg0, 48, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paus, 2)), Local1), Local0)
+ m600(arg0, 49, Local0, Zero)
+
+ // Method returns String
+
+ Store(LLess(m601(2, 3), Local1), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ Store(LLess(m601(2, 2), Local1), Local0)
+ m600(arg0, 51, Local0, Zero)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LLess(Derefof(m602(2, 3, 1)), Local1), Local0)
+ m600(arg0, 52, Local0, Zero)
+
+ Store(LLess(Derefof(m602(2, 2, 1)), Local1), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual("C179B3FE", Local1), Local0)
+ m600(arg0, 54, Local0, Ones)
+
+ Store(LLessEqual("c179B3FE", Local1), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLessEqual("C179B3F ", Local1), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLessEqual("C179B3FEq", Local1), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLessEqual(aus3, Local1), Local0)
+ m600(arg0, 58, Local0, Ones)
+
+ Store(LLessEqual(aus2, Local1), Local0)
+ m600(arg0, 59, Local0, Zero)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aus3)), Local1), Local0)
+ m600(arg0, 60, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(aus2)), Local1), Local0)
+ m600(arg0, 61, Local0, Zero)
+ }
+
+ Store(LLessEqual(Derefof(Index(paus, 3)), Local1), Local0)
+ m600(arg0, 62, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paus, 2)), Local1), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ // Method returns String
+
+ Store(LLessEqual(m601(2, 3), Local1), Local0)
+ m600(arg0, 64, Local0, Ones)
+
+ Store(LLessEqual(m601(2, 2), Local1), Local0)
+ m600(arg0, 65, Local0, Zero)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(2, 3, 1)), Local1), Local0)
+ m600(arg0, 66, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(2, 2, 1)), Local1), Local0)
+ m600(arg0, 67, Local0, Zero)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual("C179B3FE", Local1), Local0)
+ m600(arg0, 68, Local0, Zero)
+
+ Store(LNotEqual("c179B3FE", Local1), Local0)
+ m600(arg0, 69, Local0, Ones)
+
+ Store(LNotEqual("C179B3F ", Local1), Local0)
+ m600(arg0, 70, Local0, Ones)
+
+ Store(LNotEqual("C179B3FEq", Local1), Local0)
+ m600(arg0, 71, Local0, Ones)
+
+ Store(LNotEqual(aus3, Local1), Local0)
+ m600(arg0, 72, Local0, Zero)
+
+ Store(LNotEqual(aus2, Local1), Local0)
+ m600(arg0, 73, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aus3)), Local1), Local0)
+ m600(arg0, 74, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(aus2)), Local1), Local0)
+ m600(arg0, 75, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paus, 3)), Local1), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paus, 2)), Local1), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ // Method returns String
+
+ Store(LNotEqual(m601(2, 3), Local1), Local0)
+ m600(arg0, 78, Local0, Zero)
+
+ Store(LNotEqual(m601(2, 2), Local1), Local0)
+ m600(arg0, 79, Local0, Ones)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(2, 3, 1)), Local1), Local0)
+ m600(arg0, 80, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(2, 2, 1)), Local1), Local0)
+ m600(arg0, 81, Local0, Ones)
+ }
+ }
+
+ // Integer to String conversion of the Integer second operand of
+ // Concatenate operator when the first operand is evaluated as String
+
+ Method(m641, 1)
+ {
+ Store(0xfe7cb391d650a284, Local1)
+
+ Store(Concatenate("", Local1), Local0)
+ m600(arg0, 0, Local0, bs10)
+
+ Store(Concatenate("1234q", Local1), Local0)
+ m600(arg0, 1, Local0, bs11)
+
+ Store(Concatenate(aus0, Local1), Local0)
+ m600(arg0, 2, Local0, bs10)
+
+ Store(Concatenate(aus1, Local1), Local0)
+ m600(arg0, 3, Local0, bs11)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aus0)), Local1), Local0)
+ m600(arg0, 4, Local0, bs10)
+
+ Store(Concatenate(Derefof(Refof(aus1)), Local1), Local0)
+ m600(arg0, 5, Local0, bs11)
+ }
+
+ Store(Concatenate(Derefof(Index(paus, 0)), Local1), Local0)
+ m600(arg0, 6, Local0, bs10)
+
+ Store(Concatenate(Derefof(Index(paus, 1)), Local1), Local0)
+ m600(arg0, 7, Local0, bs11)
+
+ // Method returns String
+
+ Store(Concatenate(m601(2, 0), Local1), Local0)
+ m600(arg0, 8, Local0, bs10)
+
+ Store(Concatenate(m601(2, 1), Local1), Local0)
+ m600(arg0, 9, Local0, bs11)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(2, 0, 1)), Local1), Local0)
+ m600(arg0, 10, Local0, bs10)
+
+ Store(Concatenate(Derefof(m602(2, 1, 1)), Local1), Local0)
+ m600(arg0, 11, Local0, bs11)
+ }
+
+ Concatenate("", Local1, Local0)
+ m600(arg0, 12, Local0, bs10)
+
+ Concatenate("1234q", Local1, Local0)
+ m600(arg0, 13, Local0, bs11)
+
+ Concatenate(aus0, Local1, Local0)
+ m600(arg0, 14, Local0, bs10)
+
+ Concatenate(aus1, Local1, Local0)
+ m600(arg0, 15, Local0, bs11)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aus0)), Local1, Local0)
+ m600(arg0, 16, Local0, bs10)
+
+ Concatenate(Derefof(Refof(aus1)), Local1, Local0)
+ m600(arg0, 17, Local0, bs11)
+ }
+
+ Concatenate(Derefof(Index(paus, 0)), Local1, Local0)
+ m600(arg0, 18, Local0, bs10)
+
+ Concatenate(Derefof(Index(paus, 1)), Local1, Local0)
+ m600(arg0, 19, Local0, bs11)
+
+ // Method returns String
+
+ Concatenate(m601(2, 0), Local1, Local0)
+ m600(arg0, 20, Local0, bs10)
+
+ Concatenate(m601(2, 1), Local1, Local0)
+ m600(arg0, 21, Local0, bs11)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Concatenate(Derefof(m602(2, 0, 1)), Local1, Local0)
+ m600(arg0, 22, Local0, bs10)
+
+ Concatenate(Derefof(m602(2, 1, 1)), Local1, Local0)
+ m600(arg0, 23, Local0, bs11)
+ }
+ }
+
+ Method(m321, 1)
+ {
+ Store(0xc179b3fe, Local2)
+ Store(0xfe7cb391d650a284, Local1)
+
+ Store(Concatenate("", Local2), Local0)
+ m600(arg0, 0, Local0, bs12)
+
+ Store(Concatenate("1234q", Local2), Local0)
+ m600(arg0, 1, Local0, bs13)
+
+ Store(Concatenate(aus0, Local2), Local0)
+ m600(arg0, 2, Local0, bs12)
+
+ Store(Concatenate(aus1, Local2), Local0)
+ m600(arg0, 3, Local0, bs13)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aus0)), Local2), Local0)
+ m600(arg0, 4, Local0, bs12)
+
+ Store(Concatenate(Derefof(Refof(aus1)), Local2), Local0)
+ m600(arg0, 5, Local0, bs13)
+ }
+
+ Store(Concatenate(Derefof(Index(paus, 0)), Local2), Local0)
+ m600(arg0, 6, Local0, bs12)
+
+ Store(Concatenate(Derefof(Index(paus, 1)), Local2), Local0)
+ m600(arg0, 7, Local0, bs13)
+
+ // Method returns String
+
+ Store(Concatenate(m601(2, 0), Local2), Local0)
+ m600(arg0, 8, Local0, bs12)
+
+ Store(Concatenate(m601(2, 1), Local2), Local0)
+ m600(arg0, 9, Local0, bs13)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(2, 0, 1)), Local2), Local0)
+ m600(arg0, 10, Local0, bs12)
+
+ Store(Concatenate(Derefof(m602(2, 1, 1)), Local2), Local0)
+ m600(arg0, 11, Local0, bs13)
+ }
+
+ Store(Concatenate("", Local1), Local0)
+ m600(arg0, 12, Local0, bs14)
+
+ Store(Concatenate("1234q", Local1), Local0)
+ m600(arg0, 13, Local0, bs15)
+
+ Concatenate("", Local2, Local0)
+ m600(arg0, 14, Local0, bs12)
+
+ Concatenate("1234q", Local2, Local0)
+ m600(arg0, 15, Local0, bs13)
+
+ Concatenate(aus0, Local2, Local0)
+ m600(arg0, 16, Local0, bs12)
+
+ Concatenate(aus1, Local2, Local0)
+ m600(arg0, 17, Local0, bs13)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aus0)), Local2, Local0)
+ m600(arg0, 18, Local0, bs12)
+
+ Concatenate(Derefof(Refof(aus1)), Local2, Local0)
+ m600(arg0, 19, Local0, bs13)
+ }
+
+ Concatenate(Derefof(Index(paus, 0)), Local2, Local0)
+ m600(arg0, 20, Local0, bs12)
+
+ Concatenate(Derefof(Index(paus, 1)), Local2, Local0)
+ m600(arg0, 21, Local0, bs13)
+
+ // Method returns String
+
+ Concatenate(m601(2, 0), Local2, Local0)
+ m600(arg0, 22, Local0, bs12)
+
+ Concatenate(m601(2, 1), Local2, Local0)
+ m600(arg0, 23, Local0, bs13)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Concatenate(Derefof(m602(2, 0, 1)), Local2, Local0)
+ m600(arg0, 24, Local0, bs12)
+
+ Concatenate(Derefof(m602(2, 1, 1)), Local2, Local0)
+ m600(arg0, 25, Local0, bs13)
+ }
+
+ Concatenate("", Local1, Local0)
+ m600(arg0, 26, Local0, bs14)
+
+ Concatenate("1234q", Local1, Local0)
+ m600(arg0, 27, Local0, bs15)
+ }
+
+// Method(m642, 1)
+
+// Method(m322, 1)
+
+// Method(m643, 1)
+
+// Method(m323, 1)
+
+ // Integer to Buffer implicit conversion Cases.
+
+ // Integer to Buffer conversion of the Integer second operand of
+ // Logical operators when the first operand is evaluated as Buffer
+ // (LEqual, LGreater, LGreaterEqual, LLess, LLessEqual, LNotEqual)
+
+ Method(m644, 1)
+ {
+ Store(0xfe7cb391d650a284, Local1)
+
+ // LEqual
+
+ Store(LEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, Local1), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFF}, Local1), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(aub4, Local1), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(LEqual(aub3, Local1), Local0)
+ m600(arg0, 3, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aub4)), Local1), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(aub3)), Local1), Local0)
+ m600(arg0, 5, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paub, 4)), Local1), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paub, 3)), Local1), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ // Method returns Buffer
+
+ Store(LEqual(m601(3, 4), Local1), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(LEqual(m601(3, 3), Local1), Local0)
+ m600(arg0, 9, Local0, Zero)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(3, 4, 1)), Local1), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(3, 3, 1)), Local1), Local0)
+ m600(arg0, 11, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, Local1), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LGreater(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFF}, Local1), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LGreater(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFD}, Local1), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LGreater(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0x01}, Local1), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LGreater(aub4, Local1), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LGreater(aub5, Local1), Local0)
+ m600(arg0, 17, Local0, Ones)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aub4)), Local1), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(aub5)), Local1), Local0)
+ m600(arg0, 19, Local0, Ones)
+ }
+
+ Store(LGreater(Derefof(Index(paub, 4)), Local1), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paub, 5)), Local1), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Buffer
+
+ Store(LGreater(m601(3, 4), Local1), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LGreater(m601(3, 5), Local1), Local0)
+ m600(arg0, 23, Local0, Ones)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(3, 4, 1)), Local1), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(3, 5, 1)), Local1), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, Local1), Local0)
+ m600(arg0, 26, Local0, Ones)
+
+ Store(LGreaterEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFF}, Local1), Local0)
+ m600(arg0, 27, Local0, Ones)
+
+ Store(LGreaterEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFD}, Local1), Local0)
+ m600(arg0, 28, Local0, Zero)
+
+ Store(LGreaterEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0x01}, Local1), Local0)
+ m600(arg0, 29, Local0, Ones)
+
+ Store(LGreaterEqual(aub4, Local1), Local0)
+ m600(arg0, 30, Local0, Ones)
+
+ Store(LGreaterEqual(aub5, Local1), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aub4)), Local1), Local0)
+ m600(arg0, 32, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(aub5)), Local1), Local0)
+ m600(arg0, 33, Local0, Ones)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paub, 4)), Local1), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paub, 5)), Local1), Local0)
+ m600(arg0, 35, Local0, Ones)
+
+ // Method returns Buffer
+
+ Store(LGreaterEqual(m601(3, 4), Local1), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(m601(3, 5), Local1), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(3, 4, 1)), Local1), Local0)
+ m600(arg0, 38, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(3, 5, 1)), Local1), Local0)
+ m600(arg0, 39, Local0, Ones)
+ }
+
+ // LLess
+
+ Store(LLess(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, Local1), Local0)
+ m600(arg0, 40, Local0, Zero)
+
+ Store(LLess(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFF}, Local1), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ Store(LLess(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFD}, Local1), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LLess(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0x01}, Local1), Local0)
+ m600(arg0, 43, Local0, Zero)
+
+ Store(LLess(aub4, Local1), Local0)
+ m600(arg0, 44, Local0, Zero)
+
+ Store(LLess(aub5, Local1), Local0)
+ m600(arg0, 45, Local0, Zero)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aub4)), Local1), Local0)
+ m600(arg0, 46, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(aub5)), Local1), Local0)
+ m600(arg0, 47, Local0, Zero)
+ }
+
+ Store(LLess(Derefof(Index(paub, 4)), Local1), Local0)
+ m600(arg0, 48, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paub, 5)), Local1), Local0)
+ m600(arg0, 49, Local0, Zero)
+
+ // Method returns Buffer
+
+ Store(LLess(m601(3, 4), Local1), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ Store(LLess(m601(3, 5), Local1), Local0)
+ m600(arg0, 51, Local0, Zero)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LLess(Derefof(m602(3, 4, 1)), Local1), Local0)
+ m600(arg0, 52, Local0, Zero)
+
+ Store(LLess(Derefof(m602(3, 5, 1)), Local1), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, Local1), Local0)
+ m600(arg0, 54, Local0, Ones)
+
+ Store(LLessEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFF}, Local1), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLessEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFD}, Local1), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLessEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0x01}, Local1), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLessEqual(aub4, Local1), Local0)
+ m600(arg0, 58, Local0, Ones)
+
+ Store(LLessEqual(aub5, Local1), Local0)
+ m600(arg0, 59, Local0, Zero)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aub4)), Local1), Local0)
+ m600(arg0, 60, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(aub5)), Local1), Local0)
+ m600(arg0, 61, Local0, Zero)
+ }
+
+ Store(LLessEqual(Derefof(Index(paub, 4)), Local1), Local0)
+ m600(arg0, 62, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paub, 5)), Local1), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ // Method returns Buffer
+
+ Store(LLessEqual(m601(3, 4), Local1), Local0)
+ m600(arg0, 64, Local0, Ones)
+
+ Store(LLessEqual(m601(3, 5), Local1), Local0)
+ m600(arg0, 65, Local0, Zero)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(3, 4, 1)), Local1), Local0)
+ m600(arg0, 66, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(3, 5, 1)), Local1), Local0)
+ m600(arg0, 67, Local0, Zero)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, Local1), Local0)
+ m600(arg0, 68, Local0, Zero)
+
+ Store(LNotEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFF}, Local1), Local0)
+ m600(arg0, 69, Local0, Ones)
+
+ Store(LNotEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFD}, Local1), Local0)
+ m600(arg0, 70, Local0, Ones)
+
+ Store(LNotEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0x01}, Local1), Local0)
+ m600(arg0, 71, Local0, Ones)
+
+ Store(LNotEqual(aub4, Local1), Local0)
+ m600(arg0, 72, Local0, Zero)
+
+ Store(LNotEqual(aub5, Local1), Local0)
+ m600(arg0, 73, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aub4)), Local1), Local0)
+ m600(arg0, 74, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(aub5)), Local1), Local0)
+ m600(arg0, 75, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paub, 4)), Local1), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paub, 5)), Local1), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ // Method returns Buffer
+
+ Store(LNotEqual(m601(3, 4), Local1), Local0)
+ m600(arg0, 78, Local0, Zero)
+
+ Store(LNotEqual(m601(3, 5), Local1), Local0)
+ m600(arg0, 79, Local0, Ones)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(3, 4, 1)), Local1), Local0)
+ m600(arg0, 80, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(3, 5, 1)), Local1), Local0)
+ m600(arg0, 81, Local0, Ones)
+ }
+ }
+
+ Method(m324, 1)
+ {
+ Store(0xc179b3fe, Local1)
+
+ // LEqual
+
+ Store(LEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC1}, Local1), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC0}, Local1), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(aub3, Local1), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(LEqual(aub2, Local1), Local0)
+ m600(arg0, 3, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aub3)), Local1), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(aub2)), Local1), Local0)
+ m600(arg0, 5, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paub, 3)), Local1), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paub, 2)), Local1), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ // Method returns Buffer
+
+ Store(LEqual(m601(3, 3), Local1), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(LEqual(m601(3, 2), Local1), Local0)
+ m600(arg0, 9, Local0, Zero)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(3, 3, 1)), Local1), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(3, 2, 1)), Local1), Local0)
+ m600(arg0, 11, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater(Buffer() {0xFE, 0xB3, 0x79, 0xC1}, Local1), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LGreater(Buffer() {0xFE, 0xB3, 0x79, 0xC2}, Local1), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LGreater(Buffer() {0xFE, 0xB3, 0x79, 0xC0}, Local1), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LGreater(Buffer() {0xFE, 0xB3, 0x79, 0xC1, 0x01}, Local1), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LGreater(aub3, Local1), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LGreater(aub2, Local1), Local0)
+ m600(arg0, 17, Local0, Ones)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aub3)), Local1), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(aub2)), Local1), Local0)
+ m600(arg0, 19, Local0, Ones)
+ }
+
+ Store(LGreater(Derefof(Index(paub, 3)), Local1), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paub, 2)), Local1), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Buffer
+
+ Store(LGreater(m601(3, 3), Local1), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LGreater(m601(3, 2), Local1), Local0)
+ m600(arg0, 23, Local0, Ones)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(3, 3, 1)), Local1), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(3, 2, 1)), Local1), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC1}, Local1), Local0)
+ m600(arg0, 26, Local0, Ones)
+
+ Store(LGreaterEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC2}, Local1), Local0)
+ m600(arg0, 27, Local0, Ones)
+
+ Store(LGreaterEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC0}, Local1), Local0)
+ m600(arg0, 28, Local0, Zero)
+
+ Store(LGreaterEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC1, 0x01}, Local1), Local0)
+ m600(arg0, 29, Local0, Ones)
+
+ Store(LGreaterEqual(aub3, Local1), Local0)
+ m600(arg0, 30, Local0, Ones)
+
+ Store(LGreaterEqual(aub2, Local1), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aub3)), Local1), Local0)
+ m600(arg0, 32, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(aub2)), Local1), Local0)
+ m600(arg0, 33, Local0, Ones)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paub, 3)), Local1), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paub, 2)), Local1), Local0)
+ m600(arg0, 35, Local0, Ones)
+
+ // Method returns Buffer
+
+ Store(LGreaterEqual(m601(3, 3), Local1), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(m601(3, 2), Local1), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(3, 3, 1)), Local1), Local0)
+ m600(arg0, 38, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(3, 2, 1)), Local1), Local0)
+ m600(arg0, 39, Local0, Ones)
+ }
+
+ // LLess
+
+ Store(LLess(Buffer() {0xFE, 0xB3, 0x79, 0xC1}, Local1), Local0)
+ m600(arg0, 40, Local0, Zero)
+
+ Store(LLess(Buffer() {0xFE, 0xB3, 0x79, 0xC2}, Local1), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ Store(LLess(Buffer() {0xFE, 0xB3, 0x79, 0xC0}, Local1), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LLess(Buffer() {0xFE, 0xB3, 0x79, 0xC1, 0x01}, Local1), Local0)
+ m600(arg0, 43, Local0, Zero)
+
+ Store(LLess(aub3, Local1), Local0)
+ m600(arg0, 44, Local0, Zero)
+
+ Store(LLess(aub2, Local1), Local0)
+ m600(arg0, 45, Local0, Zero)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aub3)), Local1), Local0)
+ m600(arg0, 46, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(aub2)), Local1), Local0)
+ m600(arg0, 47, Local0, Zero)
+ }
+
+ Store(LLess(Derefof(Index(paub, 3)), Local1), Local0)
+ m600(arg0, 48, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paub, 2)), Local1), Local0)
+ m600(arg0, 49, Local0, Zero)
+
+ // Method returns Buffer
+
+ Store(LLess(m601(3, 3), Local1), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ Store(LLess(m601(3, 2), Local1), Local0)
+ m600(arg0, 51, Local0, Zero)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LLess(Derefof(m602(3, 3, 1)), Local1), Local0)
+ m600(arg0, 52, Local0, Zero)
+
+ Store(LLess(Derefof(m602(3, 2, 1)), Local1), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC1}, Local1), Local0)
+ m600(arg0, 54, Local0, Ones)
+
+ Store(LLessEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC2}, Local1), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLessEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC0}, Local1), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLessEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC1, 0x01}, Local1), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLessEqual(aub3, Local1), Local0)
+ m600(arg0, 58, Local0, Ones)
+
+ Store(LLessEqual(aub2, Local1), Local0)
+ m600(arg0, 59, Local0, Zero)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aub3)), Local1), Local0)
+ m600(arg0, 60, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(aub2)), Local1), Local0)
+ m600(arg0, 61, Local0, Zero)
+ }
+
+ Store(LLessEqual(Derefof(Index(paub, 3)), Local1), Local0)
+ m600(arg0, 62, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paub, 2)), Local1), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ // Method returns Buffer
+
+ Store(LLessEqual(m601(3, 3), Local1), Local0)
+ m600(arg0, 64, Local0, Ones)
+
+ Store(LLessEqual(m601(3, 2), Local1), Local0)
+ m600(arg0, 65, Local0, Zero)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(3, 3, 1)), Local1), Local0)
+ m600(arg0, 66, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(3, 2, 1)), Local1), Local0)
+ m600(arg0, 67, Local0, Zero)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC1}, Local1), Local0)
+ m600(arg0, 68, Local0, Zero)
+
+ Store(LNotEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC2}, Local1), Local0)
+ m600(arg0, 69, Local0, Ones)
+
+ Store(LNotEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC0}, Local1), Local0)
+ m600(arg0, 70, Local0, Ones)
+
+ Store(LNotEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC1, 0x01}, Local1), Local0)
+ m600(arg0, 71, Local0, Ones)
+
+ Store(LNotEqual(aub3, Local1), Local0)
+ m600(arg0, 72, Local0, Zero)
+
+ Store(LNotEqual(aub2, Local1), Local0)
+ m600(arg0, 73, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aub3)), Local1), Local0)
+ m600(arg0, 74, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(aub2)), Local1), Local0)
+ m600(arg0, 75, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paub, 3)), Local1), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paub, 2)), Local1), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ // Method returns Buffer
+
+ Store(LNotEqual(m601(3, 3), Local1), Local0)
+ m600(arg0, 78, Local0, Zero)
+
+ Store(LNotEqual(m601(3, 2), Local1), Local0)
+ m600(arg0, 79, Local0, Ones)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(3, 3, 1)), Local1), Local0)
+ m600(arg0, 80, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(3, 2, 1)), Local1), Local0)
+ m600(arg0, 81, Local0, Ones)
+ }
+ }
+
+
+ // Integer to Buffer conversion of the both Integer operands of
+ // Concatenate operator
+
+ Method(m645, 1)
+ {
+ Store(0xfe7cb391d650a284, Local1)
+
+ Store(Concatenate(Local1, Local1), Local0)
+ m600(arg0, 0, Local0, bb20)
+
+ Store(Concatenate(0x321, Local1), Local0)
+ m600(arg0, 1, Local0, bb21)
+
+ Store(Concatenate(Local1, 0x321), Local0)
+ m600(arg0, 1, Local0, bb22)
+
+ Concatenate(Local1, Local1, Local0)
+ m600(arg0, 0, Local0, bb20)
+
+ Concatenate(0x321, Local1, Local0)
+ m600(arg0, 1, Local0, bb21)
+
+ Concatenate(Local1, 0x321, Local0)
+ m600(arg0, 1, Local0, bb22)
+ }
+
+ Method(m325, 1)
+ {
+ Store(0xc179b3fe, Local1)
+
+ Store(Concatenate(Local1, Local1), Local0)
+ m600(arg0, 0, Local0, bb23)
+
+ Store(Concatenate(0x321, Local1), Local0)
+ m600(arg0, 1, Local0, bb24)
+
+ Store(Concatenate(Local1, 0x321), Local0)
+ m600(arg0, 1, Local0, bb25)
+
+ Concatenate(Local1, Local1, Local0)
+ m600(arg0, 0, Local0, bb23)
+
+ Concatenate(0x321, Local1, Local0)
+ m600(arg0, 1, Local0, bb24)
+
+ Concatenate(Local1, 0x321, Local0)
+ m600(arg0, 1, Local0, bb25)
+ }
+
+ // Integer to Buffer conversion of the Integer second operand of
+ // Concatenate operator when the first operand is evaluated as Buffer
+
+ Method(m646, 1)
+ {
+ Store(0xfe7cb391d650a284, Local1)
+
+ Store(Concatenate(Buffer(){0x5a}, Local1), Local0)
+ m600(arg0, 0, Local0, bb10)
+
+ Store(Concatenate(Buffer(){0x5a, 0x00}, Local1), Local0)
+ m600(arg0, 1, Local0, bb11)
+
+ Store(Concatenate(aub0, Local1), Local0)
+ m600(arg0, 2, Local0, bb10)
+
+ Store(Concatenate(aub1, Local1), Local0)
+ m600(arg0, 3, Local0, bb11)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aub0)), Local1), Local0)
+ m600(arg0, 4, Local0, bb10)
+
+ Store(Concatenate(Derefof(Refof(aub1)), Local1), Local0)
+ m600(arg0, 5, Local0, bb11)
+ }
+
+ Store(Concatenate(Derefof(Index(paub, 0)), Local1), Local0)
+ m600(arg0, 6, Local0, bb10)
+
+ Store(Concatenate(Derefof(Index(paub, 1)), Local1), Local0)
+ m600(arg0, 7, Local0, bb11)
+
+ // Method returns Buffer
+
+ Store(Concatenate(m601(3, 0), Local1), Local0)
+ m600(arg0, 8, Local0, bb10)
+
+ Store(Concatenate(m601(3, 1), Local1), Local0)
+ m600(arg0, 9, Local0, bb11)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(3, 0, 1)), Local1), Local0)
+ m600(arg0, 10, Local0, bb10)
+
+ Store(Concatenate(Derefof(m602(3, 1, 1)), Local1), Local0)
+ m600(arg0, 11, Local0, bb11)
+ }
+
+ Concatenate(Buffer(){0x5a}, Local1, Local0)
+ m600(arg0, 12, Local0, bb10)
+
+ Concatenate(Buffer(){0x5a, 0x00}, Local1, Local0)
+ m600(arg0, 13, Local0, bb11)
+
+ Concatenate(aub0, Local1, Local0)
+ m600(arg0, 14, Local0, bb10)
+
+ Concatenate(aub1, Local1, Local0)
+ m600(arg0, 15, Local0, bb11)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aub0)), Local1, Local0)
+ m600(arg0, 16, Local0, bb10)
+
+ Concatenate(Derefof(Refof(aub1)), Local1, Local0)
+ m600(arg0, 17, Local0, bb11)
+ }
+
+ Concatenate(Derefof(Index(paub, 0)), Local1, Local0)
+ m600(arg0, 18, Local0, bb10)
+
+ Concatenate(Derefof(Index(paub, 1)), Local1, Local0)
+ m600(arg0, 19, Local0, bb11)
+
+ // Method returns Buffer
+
+ Concatenate(m601(3, 0), Local1, Local0)
+ m600(arg0, 20, Local0, bb10)
+
+ Concatenate(m601(3, 1), Local1, Local0)
+ m600(arg0, 21, Local0, bb11)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Concatenate(Derefof(m602(3, 0, 1)), Local1, Local0)
+ m600(arg0, 22, Local0, bb10)
+
+ Concatenate(Derefof(m602(3, 1, 1)), Local1, Local0)
+ m600(arg0, 23, Local0, bb11)
+ }
+ }
+
+ Method(m326, 1)
+ {
+ Store(0xc179b3fe, Local2)
+ Store(0xfe7cb391d650a284, Local1)
+
+ Store(Concatenate(Buffer(){0x5a}, Local2), Local0)
+ m600(arg0, 0, Local0, bb12)
+
+ Store(Concatenate(Buffer(){0x5a, 0x00}, Local2), Local0)
+ m600(arg0, 1, Local0, bb13)
+
+ Store(Concatenate(aub0, Local2), Local0)
+ m600(arg0, 2, Local0, bb12)
+
+ Store(Concatenate(aub1, Local2), Local0)
+ m600(arg0, 3, Local0, bb13)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aub0)), Local2), Local0)
+ m600(arg0, 4, Local0, bb12)
+
+ Store(Concatenate(Derefof(Refof(aub1)), Local2), Local0)
+ m600(arg0, 5, Local0, bb13)
+ }
+
+ Store(Concatenate(Derefof(Index(paub, 0)), Local2), Local0)
+ m600(arg0, 6, Local0, bb12)
+
+ Store(Concatenate(Derefof(Index(paub, 1)), Local2), Local0)
+ m600(arg0, 7, Local0, bb13)
+
+ // Method returns Buffer
+
+ Store(Concatenate(m601(3, 0), Local2), Local0)
+ m600(arg0, 8, Local0, bb12)
+
+ Store(Concatenate(m601(3, 1), Local2), Local0)
+ m600(arg0, 9, Local0, bb13)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(3, 0, 1)), Local2), Local0)
+ m600(arg0, 10, Local0, bb12)
+
+ Store(Concatenate(Derefof(m602(3, 1, 1)), Local2), Local0)
+ m600(arg0, 11, Local0, bb13)
+ }
+
+ Store(Concatenate(Buffer(){0x5a}, Local1), Local0)
+ m600(arg0, 12, Local0, bb14)
+
+ Store(Concatenate(Buffer(){0x5a, 0x00}, Local1), Local0)
+ m600(arg0, 13, Local0, bb15)
+
+ Concatenate(Buffer(){0x5a}, Local2, Local0)
+ m600(arg0, 14, Local0, bb12)
+
+ Concatenate(Buffer(){0x5a, 0x00}, Local2, Local0)
+ m600(arg0, 15, Local0, bb13)
+
+ Concatenate(aub0, Local2, Local0)
+ m600(arg0, 16, Local0, bb12)
+
+ Concatenate(aub1, Local2, Local0)
+ m600(arg0, 17, Local0, bb13)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aub0)), Local2, Local0)
+ m600(arg0, 18, Local0, bb12)
+
+ Concatenate(Derefof(Refof(aub1)), Local2, Local0)
+ m600(arg0, 19, Local0, bb13)
+ }
+
+ Concatenate(Derefof(Index(paub, 0)), Local2, Local0)
+ m600(arg0, 20, Local0, bb12)
+
+ Concatenate(Derefof(Index(paub, 1)), Local2, Local0)
+ m600(arg0, 21, Local0, bb13)
+
+ // Method returns Buffer
+
+ Concatenate(m601(3, 0), Local2, Local0)
+ m600(arg0, 22, Local0, bb12)
+
+ Concatenate(m601(3, 1), Local2, Local0)
+ m600(arg0, 23, Local0, bb13)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Concatenate(Derefof(m602(3, 0, 1)), Local2, Local0)
+ m600(arg0, 24, Local0, bb12)
+
+ Concatenate(Derefof(m602(3, 1, 1)), Local2, Local0)
+ m600(arg0, 25, Local0, bb13)
+ }
+
+ Concatenate(Buffer(){0x5a}, Local1, Local0)
+ m600(arg0, 26, Local0, bb14)
+
+ Concatenate(Buffer(){0x5a, 0x00}, Local1, Local0)
+ m600(arg0, 27, Local0, bb15)
+ }
+
+
+ // Integer to Buffer conversion of the Integer Source operand of
+ // ToString operator
+
+ Method(m647, 1)
+ {
+ Store(0x6e7c534136502214, Local1)
+ Store(0x6e00534136002214, Local2)
+
+ Store(ToString(Local1, Ones), Local0)
+ m600(arg0, 0, Local0, bs18)
+
+ Store(ToString(Local1, 3), Local0)
+ m600(arg0, 1, Local0, bs19)
+
+ Store(ToString(Local2, Ones), Local0)
+ m600(arg0, 2, Local0, bs1a)
+
+ Store(ToString(Local1, aui0), Local0)
+ m600(arg0, 3, Local0, bs18)
+
+ Store(ToString(Local1, aui7), Local0)
+ m600(arg0, 4, Local0, bs19)
+
+ Store(ToString(Local2, aui0), Local0)
+ m600(arg0, 5, Local0, bs1a)
+
+ if (y078) {
+ Store(ToString(Local1, Derefof(Refof(aui0))), Local0)
+ m600(arg0, 6, Local0, bs18)
+
+ Store(ToString(Local1, Derefof(Refof(aui7))), Local0)
+ m600(arg0, 7, Local0, bs19)
+
+ Store(ToString(Local2, Derefof(Refof(aui0))), Local0)
+ m600(arg0, 8, Local0, bs1a)
+ }
+
+ Store(ToString(Local1, Derefof(Index(paui, 0))), Local0)
+ m600(arg0, 9, Local0, bs18)
+
+ Store(ToString(Local1, Derefof(Index(paui, 7))), Local0)
+ m600(arg0, 10, Local0, bs19)
+
+ Store(ToString(Local2, Derefof(Index(paui, 0))), Local0)
+ m600(arg0, 11, Local0, bs1a)
+
+ // Method returns Length parameter
+
+ Store(ToString(Local1, m601(1, 0)), Local0)
+ m600(arg0, 12, Local0, bs18)
+
+ Store(ToString(Local1, m601(1, 7)), Local0)
+ m600(arg0, 13, Local0, bs19)
+
+ Store(ToString(Local2, m601(1, 0)), Local0)
+ m600(arg0, 14, Local0, bs1a)
+
+ // Method returns Reference to Length parameter
+
+ if (y500) {
+ Store(ToString(Local1, Derefof(m601(1, 0))), Local0)
+ m600(arg0, 15, Local0, bs18)
+
+ Store(ToString(Local1, Derefof(m601(1, 7))), Local0)
+ m600(arg0, 16, Local0, bs19)
+
+ Store(ToString(Local2, Derefof(m601(1, 0))), Local0)
+ m600(arg0, 17, Local0, bs1a)
+ }
+
+ ToString(Local1, Ones, Local0)
+ m600(arg0, 18, Local0, bs18)
+
+ ToString(Local1, 3, Local0)
+ m600(arg0, 19, Local0, bs19)
+
+ ToString(Local2, Ones, Local0)
+ m600(arg0, 20, Local0, bs1a)
+
+ ToString(Local1, aui0, Local0)
+ m600(arg0, 21, Local0, bs18)
+
+ ToString(Local1, aui7, Local0)
+ m600(arg0, 22, Local0, bs19)
+
+ ToString(Local2, aui0, Local0)
+ m600(arg0, 23, Local0, bs1a)
+
+ if (y078) {
+ ToString(Local1, Derefof(Refof(aui0)), Local0)
+ m600(arg0, 24, Local0, bs18)
+
+ ToString(Local1, Derefof(Refof(aui7)), Local0)
+ m600(arg0, 25, Local0, bs19)
+
+ ToString(Local2, Derefof(Refof(aui0)), Local0)
+ m600(arg0, 26, Local0, bs1a)
+ }
+
+ ToString(Local1, Derefof(Index(paui, 0)), Local0)
+ m600(arg0, 27, Local0, bs18)
+
+ ToString(Local1, Derefof(Index(paui, 7)), Local0)
+ m600(arg0, 28, Local0, bs19)
+
+ ToString(Local2, Derefof(Index(paui, 0)), Local0)
+ m600(arg0, 29, Local0, bs1a)
+
+ // Method returns Length parameter
+
+ ToString(Local1, m601(1, 0), Local0)
+ m600(arg0, 30, Local0, bs18)
+
+ ToString(Local1, m601(1, 7), Local0)
+ m600(arg0, 31, Local0, bs19)
+
+ ToString(Local2, m601(1, 0), Local0)
+ m600(arg0, 32, Local0, bs1a)
+
+ // Method returns Reference to Length parameter
+
+ if (y500) {
+ ToString(Local1, Derefof(m601(1, 0)), Local0)
+ m600(arg0, 33, Local0, bs18)
+
+ ToString(Local1, Derefof(m601(1, 7)), Local0)
+ m600(arg0, 34, Local0, bs19)
+
+ ToString(Local2, Derefof(m601(1, 0)), Local0)
+ m600(arg0, 35, Local0, bs1a)
+ }
+ }
+
+ Method(m327, 1)
+ {
+ Store(0x6179534e, Local1)
+ Store(0x6e7c534136002214, Local2)
+
+ Store(ToString(Local1, Ones), Local0)
+ m600(arg0, 0, Local0, bs16)
+
+ Store(ToString(Local1, 3), Local0)
+ m600(arg0, 1, Local0, bs17)
+
+ Store(ToString(Local2, Ones), Local0)
+ m600(arg0, 2, Local0, bs1a)
+
+ Store(ToString(Local1, aui0), Local0)
+ m600(arg0, 3, Local0, bs16)
+
+ Store(ToString(Local1, aui7), Local0)
+ m600(arg0, 4, Local0, bs17)
+
+ Store(ToString(Local2, aui0), Local0)
+ m600(arg0, 5, Local0, bs1a)
+
+ if (y078) {
+ Store(ToString(Local1, Derefof(Refof(aui0))), Local0)
+ m600(arg0, 6, Local0, bs16)
+
+ Store(ToString(Local1, Derefof(Refof(aui7))), Local0)
+ m600(arg0, 7, Local0, bs17)
+
+ Store(ToString(Local2, Derefof(Refof(aui0))), Local0)
+ m600(arg0, 8, Local0, bs1a)
+ }
+
+ Store(ToString(Local1, Derefof(Index(paui, 0))), Local0)
+ m600(arg0, 9, Local0, bs16)
+
+ Store(ToString(Local1, Derefof(Index(paui, 7))), Local0)
+ m600(arg0, 10, Local0, bs17)
+
+ Store(ToString(Local2, Derefof(Index(paui, 0))), Local0)
+ m600(arg0, 11, Local0, bs1a)
+
+ // Method returns Length parameter
+
+ Store(ToString(Local1, m601(1, 0)), Local0)
+ m600(arg0, 12, Local0, bs16)
+
+ Store(ToString(Local1, m601(1, 7)), Local0)
+ m600(arg0, 13, Local0, bs17)
+
+ Store(ToString(Local2, m601(1, 0)), Local0)
+ m600(arg0, 14, Local0, bs1a)
+
+ // Method returns Reference to Length parameter
+
+ if (y500) {
+ Store(ToString(Local1, Derefof(m601(1, 0))), Local0)
+ m600(arg0, 15, Local0, bs16)
+
+ Store(ToString(Local1, Derefof(m601(1, 7))), Local0)
+ m600(arg0, 16, Local0, bs17)
+
+ Store(ToString(Local2, Derefof(m601(1, 0))), Local0)
+ m600(arg0, 17, Local0, bs1a)
+ }
+
+ ToString(Local1, Ones, Local0)
+ m600(arg0, 18, Local0, bs16)
+
+ ToString(Local1, 3, Local0)
+ m600(arg0, 19, Local0, bs17)
+
+ ToString(Local2, Ones, Local0)
+ m600(arg0, 20, Local0, bs1a)
+
+ ToString(Local1, aui0, Local0)
+ m600(arg0, 21, Local0, bs16)
+
+ ToString(Local1, aui7, Local0)
+ m600(arg0, 22, Local0, bs17)
+
+ ToString(Local2, aui0, Local0)
+ m600(arg0, 23, Local0, bs1a)
+
+ if (y078) {
+ ToString(Local1, Derefof(Refof(aui0)), Local0)
+ m600(arg0, 24, Local0, bs16)
+
+ ToString(Local1, Derefof(Refof(aui7)), Local0)
+ m600(arg0, 25, Local0, bs17)
+
+ ToString(Local2, Derefof(Refof(aui0)), Local0)
+ m600(arg0, 26, Local0, bs1a)
+ }
+
+ ToString(Local1, Derefof(Index(paui, 0)), Local0)
+ m600(arg0, 27, Local0, bs16)
+
+ ToString(Local1, Derefof(Index(paui, 7)), Local0)
+ m600(arg0, 28, Local0, bs17)
+
+ ToString(Local2, Derefof(Index(paui, 0)), Local0)
+ m600(arg0, 29, Local0, bs1a)
+
+ // Method returns Length parameter
+
+ ToString(Local1, m601(1, 0), Local0)
+ m600(arg0, 30, Local0, bs16)
+
+ ToString(Local1, m601(1, 7), Local0)
+ m600(arg0, 31, Local0, bs17)
+
+ ToString(Local2, m601(1, 0), Local0)
+ m600(arg0, 32, Local0, bs1a)
+
+ // Method returns Reference to Length parameter
+
+ if (y500) {
+ ToString(Local1, Derefof(m601(1, 0)), Local0)
+ m600(arg0, 33, Local0, bs16)
+
+ ToString(Local1, Derefof(m601(1, 7)), Local0)
+ m600(arg0, 34, Local0, bs17)
+
+ ToString(Local2, Derefof(m601(1, 0)), Local0)
+ m600(arg0, 35, Local0, bs1a)
+ }
+ }
+
+ // Integer to Buffer conversion of the Integer Source operand of
+ // Mid operator
+
+ Method(m648, 1)
+ {
+ Store(0xfe7cb391d650a284, Local1)
+ Store(0x6e7c534136002214, Local2)
+
+ Store(Mid(Local1, 0, 9), Local0)
+ m600(arg0, 0, Local0, bb1d)
+
+ Store(Mid(Local2, 1, 8), Local0)
+ m600(arg0, 1, Local0, bb30)
+
+ Store(Mid(Local1, aui5, auib), Local0)
+ m600(arg0, 2, Local0, bb1d)
+
+ Store(Mid(Local2, aui6, auia), Local0)
+ m600(arg0, 3, Local0, bb30)
+
+ if (y078) {
+ Store(Mid(Local1, Derefof(Refof(aui5)), Derefof(Refof(auib))), Local0)
+ m600(arg0, 4, Local0, bb1d)
+
+ Store(Mid(Local2, Derefof(Refof(aui6)), Derefof(Refof(auia))), Local0)
+ m600(arg0, 5, Local0, bb30)
+ }
+
+ Store(Mid(Local1, Derefof(Index(paui, 5)), Derefof(Index(paui, 11))), Local0)
+ m600(arg0, 6, Local0, bb1d)
+
+ Store(Mid(Local2, Derefof(Index(paui, 6)), Derefof(Index(paui, 10))), Local0)
+ m600(arg0, 7, Local0, bb30)
+
+ // Method returns Index and Length parameters
+
+ Store(Mid(Local1, m601(1, 5), m601(1, 11)), Local0)
+ m600(arg0, 8, Local0, bb1d)
+
+ Store(Mid(Local2, m601(1, 6), m601(1, 10)), Local0)
+ m600(arg0, 9, Local0, bb30)
+
+ // Method returns Reference to Index and Length parameters
+
+ if (y500) {
+ Store(Mid(Local1, Derefof(m601(1, 5)), Derefof(m601(1, 11))), Local0)
+ m600(arg0, 10, Local0, bb1d)
+
+ Store(Mid(Local2, Derefof(m601(1, 6)), Derefof(m601(1, 10))), Local0)
+ m600(arg0, 11, Local0, bb30)
+ }
+
+ Mid(Local1, 0, 9, Local0)
+ m600(arg0, 12, Local0, bb1d)
+
+ Mid(Local2, 1, 8, Local0)
+ m600(arg0, 13, Local0, bb30)
+
+ Mid(Local1, aui5, auib, Local0)
+ m600(arg0, 14, Local0, bb1d)
+
+ Mid(Local2, aui6, auia, Local0)
+ m600(arg0, 15, Local0, bb30)
+
+ if (y078) {
+ Mid(Local1, Derefof(Refof(aui5)), Derefof(Refof(auib)), Local0)
+ m600(arg0, 16, Local0, bb1d)
+
+ Mid(Local2, Derefof(Refof(aui6)), Derefof(Refof(auia)), Local0)
+ m600(arg0, 17, Local0, bb30)
+ }
+
+ Mid(Local1, Derefof(Index(paui, 5)), Derefof(Index(paui, 11)), Local0)
+ m600(arg0, 18, Local0, bb1d)
+
+ Mid(Local2, Derefof(Index(paui, 6)), Derefof(Index(paui, 10)), Local0)
+ m600(arg0, 19, Local0, bb30)
+
+ // Method returns Index and Length parameters
+
+ Mid(Local1, m601(1, 5), m601(1, 11), Local0)
+ m600(arg0, 20, Local0, bb1d)
+
+ Mid(Local2, m601(1, 6), m601(1, 10), Local0)
+ m600(arg0, 21, Local0, bb30)
+
+ // Method returns Reference to Index and Length parameters
+
+ if (y500) {
+ Mid(Local1, Derefof(m601(1, 5)), Derefof(m601(1, 11)), Local0)
+ m600(arg0, 22, Local0, bb1d)
+
+ Mid(Local2, Derefof(m601(1, 6)), Derefof(m601(1, 10)), Local0)
+ m600(arg0, 23, Local0, bb30)
+ }
+ }
+
+ Method(m328, 1)
+ {
+ Store(0xc179b3fe, Local1)
+ Store(0x6e7c534136002214, Local2)
+
+ Store(Mid(Local1, 0, 5), Local0)
+ m600(arg0, 0, Local0, bb1c)
+
+ Store(Mid(Local2, 1, 4), Local0)
+ m600(arg0, 1, Local0, bb31)
+
+ Store(Mid(Local1, aui5, aui9), Local0)
+ m600(arg0, 2, Local0, bb1c)
+
+ Store(Mid(Local2, aui6, aui8), Local0)
+ m600(arg0, 3, Local0, bb31)
+
+ if (y078) {
+ Store(Mid(Local1, Derefof(Refof(aui5)), Derefof(Refof(aui9))), Local0)
+ m600(arg0, 4, Local0, bb1c)
+
+ Store(Mid(Local2, Derefof(Refof(aui6)), Derefof(Refof(aui8))), Local0)
+ m600(arg0, 5, Local0, bb31)
+ }
+
+ Store(Mid(Local1, Derefof(Index(paui, 5)), Derefof(Index(paui, 9))), Local0)
+ m600(arg0, 6, Local0, bb1c)
+
+ Store(Mid(Local2, Derefof(Index(paui, 6)), Derefof(Index(paui, 8))), Local0)
+ m600(arg0, 7, Local0, bb31)
+
+ // Method returns Index and Length parameters
+
+ Store(Mid(Local1, m601(1, 5), m601(1, 9)), Local0)
+ m600(arg0, 8, Local0, bb1c)
+
+ Store(Mid(Local2, m601(1, 6), m601(1, 8)), Local0)
+ m600(arg0, 9, Local0, bb31)
+
+ // Method returns Reference to Index and Length parameters
+
+ if (y500) {
+ Store(Mid(Local1, Derefof(m601(1, 5)), Derefof(m601(1, 9))), Local0)
+ m600(arg0, 10, Local0, bb1c)
+
+ Store(Mid(Local2, Derefof(m601(1, 6)), Derefof(m601(1, 8))), Local0)
+ m600(arg0, 11, Local0, bb31)
+ }
+
+ Mid(Local1, 0, 5, Local0)
+ m600(arg0, 12, Local0, bb1c)
+
+ Mid(Local2, 1, 4, Local0)
+ m600(arg0, 13, Local0, bb31)
+
+ Mid(Local1, aui5, aui9, Local0)
+ m600(arg0, 14, Local0, bb1c)
+
+ Mid(Local2, aui6, aui8, Local0)
+ m600(arg0, 15, Local0, bb31)
+
+ if (y078) {
+ Mid(Local1, Derefof(Refof(aui5)), Derefof(Refof(aui9)), Local0)
+ m600(arg0, 16, Local0, bb1c)
+
+ Mid(Local2, Derefof(Refof(aui6)), Derefof(Refof(aui8)), Local0)
+ m600(arg0, 17, Local0, bb31)
+ }
+
+ Mid(Local1, Derefof(Index(paui, 5)), Derefof(Index(paui, 9)), Local0)
+ m600(arg0, 18, Local0, bb1c)
+
+ Mid(Local2, Derefof(Index(paui, 6)), Derefof(Index(paui, 8)), Local0)
+ m600(arg0, 19, Local0, bb31)
+
+ // Method returns Index and Length parameters
+
+ Mid(Local1, m601(1, 5), m601(1, 9), Local0)
+ m600(arg0, 20, Local0, bb1c)
+
+ Mid(Local2, m601(1, 6), m601(1, 8), Local0)
+ m600(arg0, 21, Local0, bb31)
+
+ // Method returns Reference to Index and Length parameters
+
+ if (y500) {
+ Mid(Local1, Derefof(m601(1, 5)), Derefof(m601(1, 9)), Local0)
+ m600(arg0, 22, Local0, bb1c)
+
+ Mid(Local2, Derefof(m601(1, 6)), Derefof(m601(1, 8)), Local0)
+ m600(arg0, 23, Local0, bb31)
+ }
+ }
+
+// Method(m649, 1)
+
+// Method(m329, 1)
+
+// Method(m64a, 1)
+
+// Method(m32a, 1)
+
+ // String to Integer implicit conversion Cases.
+
+ // String to Integer conversion of the String sole operand
+ // of the 1-parameter Integer arithmetic operators
+ // (Decrement, Increment, FindSetLeftBit, FindSetRightBit, Not)
+
+ Method(m64b, 1)
+ {
+ Store("0321", Local1)
+ Store("FE7CB391D650A284", Local2)
+
+ // Decrement
+ if (y501) {
+ Store(Decrement(Local1), Local0)
+ m600(arg0, 0, Local0, bi12)
+
+ Store(Decrement(Local2), Local0)
+ m600(arg0, 1, Local0, bi16)
+ }
+
+ // Increment
+ if (y501) {
+ Store(Increment(Local1), Local0)
+ m600(arg0, 2, Local0, bi13)
+
+ Store(Increment(Local2), Local0)
+ m600(arg0, 3, Local0, bi17)
+ }
+
+ // FindSetLeftBit
+ Store(FindSetLeftBit(Local1), Local0)
+ m600(arg0, 4, Local0, 10)
+
+ Store(FindSetLeftBit(Local2), Local0)
+ m600(arg0, 5, Local0, 64)
+
+ // FindSetRightBit
+
+ Store(FindSetRightBit(Local1), Local0)
+ m600(arg0, 6, Local0, 1)
+
+ Store(FindSetRightBit(Local2), Local0)
+ m600(arg0, 7, Local0, 3)
+
+ // Not
+
+ Store(Not(Local1), Local0)
+ m600(arg0, 8, Local0, 0xfffffffffffffcde)
+
+ Store(Not(Local2), Local0)
+ m600(arg0, 9, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Method(m32b, 1)
+ {
+ Store("0321", Local1)
+ Store("C179B3FE", Local2)
+
+ // Decrement
+ if (y501) {
+ Store(Decrement(Local1), Local0)
+ m600(arg0, 0, Local0, bi12)
+
+ Store(Decrement(Local2), Local0)
+ m600(arg0, 1, Local0, bi14)
+ }
+
+ // Increment
+ if (y501) {
+ Store(Increment(Local1), Local0)
+ m600(arg0, 2, Local0, bi13)
+
+ Store(Increment(Local2), Local0)
+ m600(arg0, 3, Local0, bi15)
+ }
+
+ // FindSetLeftBit
+
+ Store(FindSetLeftBit(Local1), Local0)
+ m600(arg0, 4, Local0, 10)
+
+ Store(FindSetLeftBit(Local2), Local0)
+ m600(arg0, 5, Local0, 32)
+
+ // FindSetRightBit
+
+ Store(FindSetRightBit(Local1), Local0)
+ m600(arg0, 6, Local0, 1)
+
+ Store(FindSetRightBit(Local2), Local0)
+ m600(arg0, 7, Local0, 2)
+
+ // Not
+
+ Store(Not(Local1), Local0)
+ m600(arg0, 8, Local0, 0xfffffcde)
+
+ Store(Not(Local2), Local0)
+ m600(arg0, 9, Local0, 0x3e864c01)
+ }
+
+ // String to Integer conversion of the String sole operand
+ // of the LNot Logical Integer operator
+ Method(m000, 1)
+ {
+ Store("0321", Local1)
+ Store("FE7CB391D650A284", Local2)
+ Store("C179B3FE", Local3)
+ Store("0", Local4)
+
+ Store(LNot(Local4), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LNot(Local1), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ if (F64) {
+ Store(LNot(Local2), Local0)
+ m600(arg0, 2, Local0, Zero)
+ } else {
+ Store(LNot(Local3), Local0)
+ m600(arg0, 3, Local0, Zero)
+ }
+ }
+
+ // String to Integer conversion of the String sole operand
+ // of the FromBCD and ToBCD conversion operators
+
+ Method(m64c, 1)
+ {
+ Store("0321", Local1)
+ Store("FE7CB391D650A284", Local2)
+ Store("3789012345678901", Local3)
+ Store("D76162EE9EC35", Local4)
+
+ // FromBCD
+
+ Store(FromBCD(Local1), Local0)
+ m600(arg0, 2, Local0, 0x141)
+
+ Store(FromBCD(Local3), Local0)
+ m600(arg0, 3, Local0, 0xd76162ee9ec35)
+
+ FromBCD(Local1, Local0)
+ m600(arg0, 2, Local0, 0x141)
+
+ FromBCD(Local3, Local0)
+ m600(arg0, 3, Local0, 0xd76162ee9ec35)
+
+ // ToBCD
+
+ Store(ToBCD(Local1), Local0)
+ m600(arg0, 4, Local0, 0x801)
+
+/* Error of iASL on constant folding
+ Store(ToBCD(Local4), Local0)
+ m600(arg0, 5, Local0, 0x3789012345678901)
+*/
+
+ ToBCD(Local1, Local0)
+ m600(arg0, 4, Local0, 0x801)
+
+ ToBCD(Local4, Local0)
+ m600(arg0, 5, Local0, 0x3789012345678901)
+ }
+
+ Method(m32c, 1)
+ {
+ Store("0321", Local1)
+ Store("FE7CB391D650A284", Local2)
+ Store("90123456", Local3)
+ Store("55F2CC0", Local4)
+
+ // FromBCD
+
+ Store(FromBCD(Local1), Local0)
+ m600(arg0, 2, Local0, 0x141)
+
+ Store(FromBCD(Local3), Local0)
+ m600(arg0, 3, Local0, 0x55f2cc0)
+
+ FromBCD(Local1, Local0)
+ m600(arg0, 2, Local0, 0x141)
+
+ FromBCD(Local3, Local0)
+ m600(arg0, 3, Local0, 0x55f2cc0)
+
+ // ToBCD
+
+ Store(ToBCD(Local1), Local0)
+ m600(arg0, 4, Local0, 0x801)
+
+ Store(ToBCD(Local4), Local0)
+ m600(arg0, 5, Local0, 0x90123456)
+
+ ToBCD(Local1, Local0)
+ m600(arg0, 4, Local0, 0x801)
+
+ ToBCD(Local4, Local0)
+ m600(arg0, 5, Local0, 0x90123456)
+ }
+
+ // String to Integer conversion of each String operand
+ // of the 2-parameter Integer arithmetic operators
+ // Add, And, Divide, Mod, Multiply, NAnd, NOr, Or,
+ // ShiftLeft, ShiftRight, Subtract, Xor
+
+ // Add, common 32-bit/64-bit test
+ Method(m001, 1)
+ {
+ Store("0321", Local1)
+
+ // Conversion of the first operand
+
+ Store(Add(Local1, 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Add(Local1, 1), Local0)
+ m600(arg0, 1, Local0, 0x322)
+
+ Store(Add(Local1, aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Add(Local1, aui6), Local0)
+ m600(arg0, 3, Local0, 0x322)
+
+ if (y078) {
+ Store(Add(Local1, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Add(Local1, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x322)
+ }
+
+ Store(Add(Local1, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Add(Local1, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x322)
+
+ // Method returns Integer
+
+ Store(Add(Local1, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Add(Local1, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x322)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(Local1, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Add(Local1, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x322)
+ }
+
+ Add(Local1, 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Add(Local1, 1, Local0)
+ m600(arg0, 13, Local0, 0x322)
+
+ Add(Local1, aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Add(Local1, aui6, Local0)
+ m600(arg0, 15, Local0, 0x322)
+
+ if (y078) {
+ Add(Local1, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Add(Local1, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x322)
+ }
+
+ Add(Local1, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Add(Local1, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x322)
+
+ // Method returns Integer
+
+ Add(Local1, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Add(Local1, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x322)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(Local1, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Add(Local1, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x322)
+ }
+
+ // Conversion of the second operand
+
+ Store(Add(0, Local1), Local0)
+ m600(arg0, 24, Local0, 0x321)
+
+ Store(Add(1, Local1), Local0)
+ m600(arg0, 25, Local0, 0x322)
+
+ Store(Add(aui5, Local1), Local0)
+ m600(arg0, 26, Local0, 0x321)
+
+ Store(Add(aui6, Local1), Local0)
+ m600(arg0, 27, Local0, 0x322)
+
+ if (y078) {
+ Store(Add(Derefof(Refof(aui5)), Local1), Local0)
+ m600(arg0, 28, Local0, 0x321)
+
+ Store(Add(Derefof(Refof(aui6)), Local1), Local0)
+ m600(arg0, 29, Local0, 0x322)
+ }
+
+ Store(Add(Derefof(Index(paui, 5)), Local1), Local0)
+ m600(arg0, 30, Local0, 0x321)
+
+ Store(Add(Derefof(Index(paui, 6)), Local1), Local0)
+ m600(arg0, 31, Local0, 0x322)
+
+ // Method returns Integer
+
+ Store(Add(m601(1, 5), Local1), Local0)
+ m600(arg0, 32, Local0, 0x321)
+
+ Store(Add(m601(1, 6), Local1), Local0)
+ m600(arg0, 33, Local0, 0x322)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(Derefof(m602(1, 5, 1)), Local1), Local0)
+ m600(arg0, 34, Local0, 0x321)
+
+ Store(Add(Derefof(m602(1, 6, 1)), Local1), Local0)
+ m600(arg0, 35, Local0, 0x322)
+ }
+
+ Add(0, Local1, Local0)
+ m600(arg0, 36, Local0, 0x321)
+
+ Add(1, Local1, Local0)
+ m600(arg0, 37, Local0, 0x322)
+
+ Add(aui5, Local1, Local0)
+ m600(arg0, 38, Local0, 0x321)
+
+ Add(aui6, Local1, Local0)
+ m600(arg0, 39, Local0, 0x322)
+
+ if (y078) {
+ Add(Derefof(Refof(aui5)), Local1, Local0)
+ m600(arg0, 40, Local0, 0x321)
+
+ Add(Derefof(Refof(aui6)), Local1, Local0)
+ m600(arg0, 41, Local0, 0x322)
+ }
+
+ Add(Derefof(Index(paui, 5)), Local1, Local0)
+ m600(arg0, 42, Local0, 0x321)
+
+ Add(Derefof(Index(paui, 6)), Local1, Local0)
+ m600(arg0, 43, Local0, 0x322)
+
+ // Method returns Integer
+
+ Add(m601(1, 5), Local1, Local0)
+ m600(arg0, 44, Local0, 0x321)
+
+ Add(m601(1, 6), Local1, Local0)
+ m600(arg0, 45, Local0, 0x322)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(Derefof(m602(1, 5, 1)), Local1, Local0)
+ m600(arg0, 46, Local0, 0x321)
+
+ Add(Derefof(m602(1, 6, 1)), Local1, Local0)
+ m600(arg0, 47, Local0, 0x322)
+ }
+ }
+
+ // Add, 64-bit
+ Method(m002, 1)
+ {
+ Store("0321", Local1)
+ Store("FE7CB391D650A284", Local2)
+
+ // Conversion of the first operand
+
+ Store(Add(Local2, 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Local2, 1), Local0)
+ m600(arg0, 1, Local0, 0xfe7cb391d650a285)
+
+ Store(Add(Local2, aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Local2, aui6), Local0)
+ m600(arg0, 3, Local0, 0xfe7cb391d650a285)
+
+ if (y078) {
+ Store(Add(Local2, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Local2, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xfe7cb391d650a285)
+ }
+
+ Store(Add(Local2, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Local2, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Integer
+
+ Store(Add(Local2, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Local2, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(Local2, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Local2, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfe7cb391d650a285)
+ }
+
+ Add(Local2, 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Add(Local2, 1, Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a285)
+
+ Add(Local2, aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Add(Local2, aui6, Local0)
+ m600(arg0, 15, Local0, 0xfe7cb391d650a285)
+
+ if (y078) {
+ Add(Local2, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Add(Local2, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xfe7cb391d650a285)
+ }
+
+ Add(Local2, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Add(Local2, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Integer
+
+ Add(Local2, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Add(Local2, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(Local2, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Add(Local2, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfe7cb391d650a285)
+ }
+
+ // Conversion of the second operand
+
+ Store(Add(0, Local2), Local0)
+ m600(arg0, 24, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(1, Local2), Local0)
+ m600(arg0, 25, Local0, 0xfe7cb391d650a285)
+
+ Store(Add(aui5, Local2), Local0)
+ m600(arg0, 26, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(aui6, Local2), Local0)
+ m600(arg0, 27, Local0, 0xfe7cb391d650a285)
+
+ if (y078) {
+ Store(Add(Derefof(Refof(aui5)), Local2), Local0)
+ m600(arg0, 28, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(Refof(aui6)), Local2), Local0)
+ m600(arg0, 29, Local0, 0xfe7cb391d650a285)
+ }
+
+ Store(Add(Derefof(Index(paui, 5)), Local2), Local0)
+ m600(arg0, 30, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(Index(paui, 6)), Local2), Local0)
+ m600(arg0, 31, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Integer
+
+ Store(Add(m601(1, 5), Local2), Local0)
+ m600(arg0, 32, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(m601(1, 6), Local2), Local0)
+ m600(arg0, 33, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(Derefof(m602(1, 5, 1)), Local2), Local0)
+ m600(arg0, 34, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(m602(1, 6, 1)), Local2), Local0)
+ m600(arg0, 35, Local0, 0xfe7cb391d650a285)
+ }
+
+ Add(0, Local2, Local0)
+ m600(arg0, 36, Local0, 0xfe7cb391d650a284)
+
+ Add(1, Local2, Local0)
+ m600(arg0, 37, Local0, 0xfe7cb391d650a285)
+
+ Add(aui5, Local2, Local0)
+ m600(arg0, 38, Local0, 0xfe7cb391d650a284)
+
+ Add(aui6, Local2, Local0)
+ m600(arg0, 39, Local0, 0xfe7cb391d650a285)
+
+ if (y078) {
+ Add(Derefof(Refof(aui5)), Local2, Local0)
+ m600(arg0, 40, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(Refof(aui6)), Local2, Local0)
+ m600(arg0, 41, Local0, 0xfe7cb391d650a285)
+ }
+
+ Add(Derefof(Index(paui, 5)), Local2, Local0)
+ m600(arg0, 42, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(Index(paui, 6)), Local2, Local0)
+ m600(arg0, 43, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Integer
+
+ Add(m601(1, 5), Local2, Local0)
+ m600(arg0, 44, Local0, 0xfe7cb391d650a284)
+
+ Add(m601(1, 6), Local2, Local0)
+ m600(arg0, 45, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(Derefof(m602(1, 5, 1)), Local2, Local0)
+ m600(arg0, 46, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(m602(1, 6, 1)), Local2, Local0)
+ m600(arg0, 47, Local0, 0xfe7cb391d650a285)
+ }
+
+ // Conversion of the both operands
+
+ Store(Add(Local1, Local2), Local0)
+ m600(arg0, 48, Local0, 0xfe7cb391d650a5a5)
+
+ Store(Add(Local2, Local1), Local0)
+ m600(arg0, 49, Local0, 0xfe7cb391d650a5a5)
+
+ Add(Local1, Local2, Local0)
+ m600(arg0, 50, Local0, 0xfe7cb391d650a5a5)
+
+ Add(Local2, Local1, Local0)
+ m600(arg0, 51, Local0, 0xfe7cb391d650a5a5)
+ }
+
+ // Add, 32-bit
+ Method(m003, 1)
+ {
+ Store("0321", Local1)
+ Store("C179B3FE", Local2)
+
+ // Conversion of the first operand
+
+ Store(Add(Local2, 0), Local0)
+ m600(arg0, 0, Local0, 0xc179b3fe)
+
+ Store(Add(Local2, 1), Local0)
+ m600(arg0, 1, Local0, 0xc179b3ff)
+
+ Store(Add(Local2, aui5), Local0)
+ m600(arg0, 2, Local0, 0xc179b3fe)
+
+ Store(Add(Local2, aui6), Local0)
+ m600(arg0, 3, Local0, 0xc179b3ff)
+
+ if (y078) {
+ Store(Add(Local2, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xc179b3fe)
+
+ Store(Add(Local2, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xc179b3ff)
+ }
+
+ Store(Add(Local2, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xc179b3fe)
+
+ Store(Add(Local2, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xc179b3ff)
+
+ // Method returns Integer
+
+ Store(Add(Local2, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xc179b3fe)
+
+ Store(Add(Local2, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xc179b3ff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(Local2, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xc179b3fe)
+
+ Store(Add(Local2, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xc179b3ff)
+ }
+
+ Add(Local2, 0, Local0)
+ m600(arg0, 12, Local0, 0xc179b3fe)
+
+ Add(Local2, 1, Local0)
+ m600(arg0, 13, Local0, 0xc179b3ff)
+
+ Add(Local2, aui5, Local0)
+ m600(arg0, 14, Local0, 0xc179b3fe)
+
+ Add(Local2, aui6, Local0)
+ m600(arg0, 15, Local0, 0xc179b3ff)
+
+ if (y078) {
+ Add(Local2, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xc179b3fe)
+
+ Add(Local2, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xc179b3ff)
+ }
+
+ Add(Local2, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xc179b3fe)
+
+ Add(Local2, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xc179b3ff)
+
+ // Method returns Integer
+
+ Add(Local2, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xc179b3fe)
+
+ Add(Local2, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xc179b3ff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(Local2, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xc179b3fe)
+
+ Add(Local2, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xc179b3ff)
+ }
+
+ // Conversion of the second operand
+
+ Store(Add(0, Local2), Local0)
+ m600(arg0, 24, Local0, 0xc179b3fe)
+
+ Store(Add(1, Local2), Local0)
+ m600(arg0, 25, Local0, 0xc179b3ff)
+
+ Store(Add(aui5, Local2), Local0)
+ m600(arg0, 26, Local0, 0xc179b3fe)
+
+ Store(Add(aui6, Local2), Local0)
+ m600(arg0, 27, Local0, 0xc179b3ff)
+
+ if (y078) {
+ Store(Add(Derefof(Refof(aui5)), Local2), Local0)
+ m600(arg0, 28, Local0, 0xc179b3fe)
+
+ Store(Add(Derefof(Refof(aui6)), Local2), Local0)
+ m600(arg0, 29, Local0, 0xc179b3ff)
+ }
+
+ Store(Add(Derefof(Index(paui, 5)), Local2), Local0)
+ m600(arg0, 30, Local0, 0xc179b3fe)
+
+ Store(Add(Derefof(Index(paui, 6)), Local2), Local0)
+ m600(arg0, 31, Local0, 0xc179b3ff)
+
+ // Method returns Integer
+
+ Store(Add(m601(1, 5), Local2), Local0)
+ m600(arg0, 32, Local0, 0xc179b3fe)
+
+ Store(Add(m601(1, 6), Local2), Local0)
+ m600(arg0, 33, Local0, 0xc179b3ff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(Derefof(m602(1, 5, 1)), Local2), Local0)
+ m600(arg0, 34, Local0, 0xc179b3fe)
+
+ Store(Add(Derefof(m602(1, 6, 1)), Local2), Local0)
+ m600(arg0, 35, Local0, 0xc179b3ff)
+ }
+
+ Add(0, Local2, Local0)
+ m600(arg0, 36, Local0, 0xc179b3fe)
+
+ Add(1, Local2, Local0)
+ m600(arg0, 37, Local0, 0xc179b3ff)
+
+ Add(aui5, Local2, Local0)
+ m600(arg0, 38, Local0, 0xc179b3fe)
+
+ Add(aui6, Local2, Local0)
+ m600(arg0, 39, Local0, 0xc179b3ff)
+
+ if (y078) {
+ Add(Derefof(Refof(aui5)), Local2, Local0)
+ m600(arg0, 40, Local0, 0xc179b3fe)
+
+ Add(Derefof(Refof(aui6)), Local2, Local0)
+ m600(arg0, 41, Local0, 0xc179b3ff)
+ }
+
+ Add(Derefof(Index(paui, 5)), Local2, Local0)
+ m600(arg0, 42, Local0, 0xc179b3fe)
+
+ Add(Derefof(Index(paui, 6)), Local2, Local0)
+ m600(arg0, 43, Local0, 0xc179b3ff)
+
+ // Method returns Integer
+
+ Add(m601(1, 5), Local2, Local0)
+ m600(arg0, 44, Local0, 0xc179b3fe)
+
+ Add(m601(1, 6), Local2, Local0)
+ m600(arg0, 45, Local0, 0xc179b3ff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(Derefof(m602(1, 5, 1)), Local2, Local0)
+ m600(arg0, 46, Local0, 0xc179b3fe)
+
+ Add(Derefof(m602(1, 6, 1)), Local2, Local0)
+ m600(arg0, 47, Local0, 0xc179b3ff)
+ }
+
+ // Conversion of the both operands
+
+ Store(Add(Local1, Local2), Local0)
+ m600(arg0, 48, Local0, 0xc179b71f)
+
+ Store(Add(Local2, Local1), Local0)
+ m600(arg0, 49, Local0, 0xc179b71f)
+
+ Add(Local1, Local2, Local0)
+ m600(arg0, 50, Local0, 0xc179b71f)
+
+ Add(Local2, Local1, Local0)
+ m600(arg0, 51, Local0, 0xc179b71f)
+ }
+
+ // And, common 32-bit/64-bit test
+ Method(m004, 1)
+ {
+ Store("0321", Local1)
+
+ // Conversion of the first operand
+
+ Store(And(Local1, 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(And(Local1, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0x321)
+
+ Store(And(Local1, aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(And(Local1, auij), Local0)
+ m600(arg0, 3, Local0, 0x321)
+
+ if (y078) {
+ Store(And(Local1, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(And(Local1, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0x321)
+ }
+
+ Store(And(Local1, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(And(Local1, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0x321)
+
+ // Method returns Integer
+
+ Store(And(Local1, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(And(Local1, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(Local1, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(And(Local1, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0x321)
+ }
+
+ And(Local1, 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ And(Local1, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0x321)
+
+ And(Local1, aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ And(Local1, auij, Local0)
+ m600(arg0, 15, Local0, 0x321)
+
+ if (y078) {
+ And(Local1, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ And(Local1, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0x321)
+ }
+
+ And(Local1, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ And(Local1, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0x321)
+
+ // Method returns Integer
+
+ And(Local1, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ And(Local1, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(Local1, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ And(Local1, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0x321)
+ }
+
+ // Conversion of the second operand
+
+ Store(And(0, Local1), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(And(0xffffffffffffffff, Local1), Local0)
+ m600(arg0, 25, Local0, 0x321)
+
+ Store(And(aui5, Local1), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(And(auij, Local1), Local0)
+ m600(arg0, 27, Local0, 0x321)
+
+ if (y078) {
+ Store(And(Derefof(Refof(aui5)), Local1), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(And(Derefof(Refof(auij)), Local1), Local0)
+ m600(arg0, 29, Local0, 0x321)
+ }
+
+ Store(And(Derefof(Index(paui, 5)), Local1), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(And(Derefof(Index(paui, 19)), Local1), Local0)
+ m600(arg0, 31, Local0, 0x321)
+
+ // Method returns Integer
+
+ Store(And(m601(1, 5), Local1), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(And(m601(1, 19), Local1), Local0)
+ m600(arg0, 33, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(Derefof(m602(1, 5, 1)), Local1), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(And(Derefof(m602(1, 19, 1)), Local1), Local0)
+ m600(arg0, 35, Local0, 0x321)
+ }
+
+ And(0, Local1, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ And(0xffffffffffffffff, Local1, Local0)
+ m600(arg0, 37, Local0, 0x321)
+
+ And(aui5, Local1, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ And(auij, Local1, Local0)
+ m600(arg0, 39, Local0, 0x321)
+
+ if (y078) {
+ And(Derefof(Refof(aui5)), Local1, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ And(Derefof(Refof(auij)), Local1, Local0)
+ m600(arg0, 41, Local0, 0x321)
+ }
+
+ And(Derefof(Index(paui, 5)), Local1, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ And(Derefof(Index(paui, 19)), Local1, Local0)
+ m600(arg0, 43, Local0, 0x321)
+
+ // Method returns Integer
+
+ And(m601(1, 5), Local1, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ And(m601(1, 19), Local1, Local0)
+ m600(arg0, 45, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(Derefof(m602(1, 5, 1)), Local1, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ And(Derefof(m602(1, 19, 1)), Local1, Local0)
+ m600(arg0, 47, Local0, 0x321)
+ }
+ }
+
+ // And, 64-bit
+ Method(m005, 1)
+ {
+ Store("0321", Local1)
+ Store("FE7CB391D650A284", Local2)
+
+ // Conversion of the first operand
+
+ Store(And(Local2, 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(And(Local2, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xfe7cb391d650a284)
+
+ Store(And(Local2, aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(And(Local2, auij), Local0)
+ m600(arg0, 3, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Store(And(Local2, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(And(Local2, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xfe7cb391d650a284)
+ }
+
+ Store(And(Local2, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(And(Local2, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Store(And(Local2, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(And(Local2, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(Local2, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(And(Local2, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfe7cb391d650a284)
+ }
+
+ And(Local2, 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ And(Local2, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a284)
+
+ And(Local2, aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ And(Local2, auij, Local0)
+ m600(arg0, 15, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ And(Local2, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ And(Local2, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xfe7cb391d650a284)
+ }
+
+ And(Local2, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ And(Local2, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ And(Local2, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ And(Local2, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(Local2, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ And(Local2, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfe7cb391d650a284)
+ }
+
+ // Conversion of the second operand
+
+ Store(And(0, Local2), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(And(0xffffffffffffffff, Local2), Local0)
+ m600(arg0, 25, Local0, 0xfe7cb391d650a284)
+
+ Store(And(aui5, Local2), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(And(auij, Local2), Local0)
+ m600(arg0, 27, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Store(And(Derefof(Refof(aui5)), Local2), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(And(Derefof(Refof(auij)), Local2), Local0)
+ m600(arg0, 29, Local0, 0xfe7cb391d650a284)
+ }
+
+ Store(And(Derefof(Index(paui, 5)), Local2), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(And(Derefof(Index(paui, 19)), Local2), Local0)
+ m600(arg0, 31, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Store(And(m601(1, 5), Local2), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(And(m601(1, 19), Local2), Local0)
+ m600(arg0, 33, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(Derefof(m602(1, 5, 1)), Local2), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(And(Derefof(m602(1, 19, 1)), Local2), Local0)
+ m600(arg0, 35, Local0, 0xfe7cb391d650a284)
+ }
+
+ And(0, Local2, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ And(0xffffffffffffffff, Local2, Local0)
+ m600(arg0, 37, Local0, 0xfe7cb391d650a284)
+
+ And(aui5, Local2, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ And(auij, Local2, Local0)
+ m600(arg0, 39, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ And(Derefof(Refof(aui5)), Local2, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ And(Derefof(Refof(auij)), Local2, Local0)
+ m600(arg0, 41, Local0, 0xfe7cb391d650a284)
+ }
+
+ And(Derefof(Index(paui, 5)), Local2, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ And(Derefof(Index(paui, 19)), Local2, Local0)
+ m600(arg0, 43, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ And(m601(1, 5), Local2, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ And(m601(1, 19), Local2, Local0)
+ m600(arg0, 45, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(Derefof(m602(1, 5, 1)), Local2, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ And(Derefof(m602(1, 19, 1)), Local2, Local0)
+ m600(arg0, 47, Local0, 0xfe7cb391d650a284)
+ }
+
+ // Conversion of the both operands
+
+ Store(And(Local1, Local2), Local0)
+ m600(arg0, 48, Local0, 0x200)
+
+ Store(And(Local2, Local1), Local0)
+ m600(arg0, 49, Local0, 0x200)
+
+ And(Local1, Local2, Local0)
+ m600(arg0, 50, Local0, 0x200)
+
+ And(Local2, Local1, Local0)
+ m600(arg0, 51, Local0, 0x200)
+ }
+
+ // And, 32-bit
+ Method(m006, 1)
+ {
+ Store("0321", Local1)
+ Store("C179B3FE", Local2)
+
+ // Conversion of the first operand
+
+ Store(And(Local2, 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(And(Local2, 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0xc179b3fe)
+
+ Store(And(Local2, aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(And(Local2, auii), Local0)
+ m600(arg0, 3, Local0, 0xc179b3fe)
+
+ if (y078) {
+ Store(And(Local2, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(And(Local2, Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0xc179b3fe)
+ }
+
+ Store(And(Local2, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(And(Local2, Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0xc179b3fe)
+
+ // Method returns Integer
+
+ Store(And(Local2, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(And(Local2, m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0xc179b3fe)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(Local2, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(And(Local2, Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0xc179b3fe)
+ }
+
+ And(Local2, 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ And(Local2, 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0xc179b3fe)
+
+ And(Local2, aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ And(Local2, auii, Local0)
+ m600(arg0, 15, Local0, 0xc179b3fe)
+
+ if (y078) {
+ And(Local2, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ And(Local2, Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0xc179b3fe)
+ }
+
+ And(Local2, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ And(Local2, Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0xc179b3fe)
+
+ // Method returns Integer
+
+ And(Local2, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ And(Local2, m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0xc179b3fe)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(Local2, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ And(Local2, Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0xc179b3fe)
+ }
+
+ // Conversion of the second operand
+
+ Store(And(0, Local2), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(And(0xffffffff, Local2), Local0)
+ m600(arg0, 25, Local0, 0xc179b3fe)
+
+ Store(And(aui5, Local2), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(And(auii, Local2), Local0)
+ m600(arg0, 27, Local0, 0xc179b3fe)
+
+ if (y078) {
+ Store(And(Derefof(Refof(aui5)), Local2), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(And(Derefof(Refof(auii)), Local2), Local0)
+ m600(arg0, 29, Local0, 0xc179b3fe)
+ }
+
+ Store(And(Derefof(Index(paui, 5)), Local2), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(And(Derefof(Index(paui, 18)), Local2), Local0)
+ m600(arg0, 31, Local0, 0xc179b3fe)
+
+ // Method returns Integer
+
+ Store(And(m601(1, 5), Local2), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(And(m601(1, 18), Local2), Local0)
+ m600(arg0, 33, Local0, 0xc179b3fe)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(Derefof(m602(1, 5, 1)), Local2), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(And(Derefof(m602(1, 18, 1)), Local2), Local0)
+ m600(arg0, 35, Local0, 0xc179b3fe)
+ }
+
+ And(0, Local2, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ And(0xffffffff, Local2, Local0)
+ m600(arg0, 37, Local0, 0xc179b3fe)
+
+ And(aui5, Local2, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ And(auii, Local2, Local0)
+ m600(arg0, 39, Local0, 0xc179b3fe)
+
+ if (y078) {
+ And(Derefof(Refof(aui5)), Local2, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ And(Derefof(Refof(auii)), Local2, Local0)
+ m600(arg0, 41, Local0, 0xc179b3fe)
+ }
+
+ And(Derefof(Index(paui, 5)), Local2, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ And(Derefof(Index(paui, 18)), Local2, Local0)
+ m600(arg0, 43, Local0, 0xc179b3fe)
+
+ // Method returns Integer
+
+ And(m601(1, 5), Local2, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ And(m601(1, 18), Local2, Local0)
+ m600(arg0, 45, Local0, 0xc179b3fe)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(Derefof(m602(1, 5, 1)), Local2, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ And(Derefof(m602(1, 18, 1)), Local2, Local0)
+ m600(arg0, 47, Local0, 0xc179b3fe)
+ }
+
+ // Conversion of the both operands
+
+ Store(And(Local1, Local2), Local0)
+ m600(arg0, 48, Local0, 0x320)
+
+ Store(And(Local2, Local1), Local0)
+ m600(arg0, 49, Local0, 0x320)
+
+ And(Local1, Local2, Local0)
+ m600(arg0, 50, Local0, 0x320)
+
+ And(Local2, Local1, Local0)
+ m600(arg0, 51, Local0, 0x320)
+ }
+
+ // Divide, common 32-bit/64-bit test
+ Method(m007, 1)
+ {
+ Store("0321", Local1)
+
+ // Conversion of the first operand
+
+ Store(Divide(Local1, 1), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Divide(Local1, 0x321), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Divide(Local1, aui6), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Divide(Local1, aui1), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Divide(Local1, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Divide(Local1, Derefof(Refof(aui1))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Divide(Local1, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Divide(Local1, Derefof(Index(paui, 1))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(Local1, m601(1, 6)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Divide(Local1, m601(1, 1)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(Local1, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Divide(Local1, Derefof(m602(1, 1, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Divide(Local1, 1, Local2, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Divide(Local1, 0x321, Local2, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Divide(Local1, aui6, Local2, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Divide(Local1, aui1, Local2, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Divide(Local1, Derefof(Refof(aui6)), Local2, Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Divide(Local1, Derefof(Refof(aui1)), Local2, Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Divide(Local1, Derefof(Index(paui, 6)), Local2, Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Divide(Local1, Derefof(Index(paui, 1)), Local2, Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(Local1, m601(1, 6), Local2, Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Divide(Local1, m601(1, 1), Local2, Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(Local1, Derefof(m602(1, 6, 1)), Local2, Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Divide(Local1, Derefof(m602(1, 1, 1)), Local2, Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Divide(1, Local1), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Divide(0x321, Local1), Local0)
+ m600(arg0, 25, Local0, 1)
+
+ Store(Divide(aui6, Local1), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Divide(aui1, Local1), Local0)
+ m600(arg0, 27, Local0, 1)
+
+ if (y078) {
+ Store(Divide(Derefof(Refof(aui6)), Local1), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Divide(Derefof(Refof(aui1)), Local1), Local0)
+ m600(arg0, 29, Local0, 1)
+ }
+
+ Store(Divide(Derefof(Index(paui, 6)), Local1), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Divide(Derefof(Index(paui, 1)), Local1), Local0)
+ m600(arg0, 31, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(m601(1, 6), Local1), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Divide(m601(1, 1), Local1), Local0)
+ m600(arg0, 33, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(Derefof(m602(1, 6, 1)), Local1), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Divide(Derefof(m602(1, 1, 1)), Local1), Local0)
+ m600(arg0, 35, Local0, 1)
+ }
+
+ Divide(1, Local1, Local2, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Divide(0x321, Local1, Local2, Local0)
+ m600(arg0, 37, Local0, 1)
+
+ Divide(aui6, Local1, Local2, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Divide(aui1, Local1, Local2, Local0)
+ m600(arg0, 39, Local0, 1)
+
+ if (y078) {
+ Divide(Derefof(Refof(aui6)), Local1, Local2, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Divide(Derefof(Refof(aui1)), Local1, Local2, Local0)
+ m600(arg0, 41, Local0, 1)
+ }
+
+ Divide(Derefof(Index(paui, 6)), Local1, Local2, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Divide(Derefof(Index(paui, 1)), Local1, Local2, Local0)
+ m600(arg0, 43, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(m601(1, 6), Local1, Local2, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Divide(m601(1, 1), Local1, Local2, Local0)
+ m600(arg0, 45, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(Derefof(m602(1, 6, 1)), Local1, Local2, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Divide(Derefof(m602(1, 1, 1)), Local1, Local2, Local0)
+ m600(arg0, 47, Local0, 1)
+ }
+ }
+
+ // Divide, 64-bit
+ Method(m008, 1)
+ {
+ Store("0321", Local1)
+ Store("FE7CB391D650A284", Local2)
+
+ // Conversion of the first operand
+
+ Store(Divide(Local2, 1), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(Local2, 0xfe7cb391d650a284), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Divide(Local2, aui6), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(Local2, aui4), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Divide(Local2, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(Local2, Derefof(Refof(aui4))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Divide(Local2, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(Local2, Derefof(Index(paui, 4))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(Local2, m601(1, 6)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(Local2, m601(1, 4)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(Local2, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(Local2, Derefof(m602(1, 4, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Divide(Local2, 1, Local3, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Divide(Local2, 0xfe7cb391d650a284, Local3, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Divide(Local2, aui6, Local3, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Divide(Local2, aui4, Local3, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Divide(Local2, Derefof(Refof(aui6)), Local3, Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Divide(Local2, Derefof(Refof(aui4)), Local3, Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Divide(Local2, Derefof(Index(paui, 6)), Local3, Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Divide(Local2, Derefof(Index(paui, 4)), Local3, Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(Local2, m601(1, 6), Local3, Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Divide(Local2, m601(1, 4), Local3, Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(Local2, Derefof(m602(1, 6, 1)), Local3, Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Divide(Local2, Derefof(m602(1, 4, 1)), Local3, Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Divide(1, Local2), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Divide(0xfe7cb391d650a284, Local2), Local0)
+ m600(arg0, 25, Local0, 1)
+
+ Store(Divide(aui6, Local2), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Divide(aui4, Local2), Local0)
+ m600(arg0, 27, Local0, 1)
+
+ if (y078) {
+ Store(Divide(Derefof(Refof(aui6)), Local2), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Divide(Derefof(Refof(aui4)), Local2), Local0)
+ m600(arg0, 29, Local0, 1)
+ }
+
+ Store(Divide(Derefof(Index(paui, 6)), Local2), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Divide(Derefof(Index(paui, 4)), Local2), Local0)
+ m600(arg0, 31, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(m601(1, 6), Local2), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Divide(m601(1, 4), Local2), Local0)
+ m600(arg0, 33, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(Derefof(m602(1, 6, 1)), Local2), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Divide(Derefof(m602(1, 4, 1)), Local2), Local0)
+ m600(arg0, 35, Local0, 1)
+ }
+
+ Divide(1, Local2, Local3, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Divide(0xfe7cb391d650a284, Local2, Local3, Local0)
+ m600(arg0, 37, Local0, 1)
+
+ Divide(aui6, Local2, Local3, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Divide(aui4, Local2, Local3, Local0)
+ m600(arg0, 39, Local0, 1)
+
+ if (y078) {
+ Divide(Derefof(Refof(aui6)), Local2, Local3, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Divide(Derefof(Refof(aui4)), Local2, Local3, Local0)
+ m600(arg0, 41, Local0, 1)
+ }
+
+ Divide(Derefof(Index(paui, 6)), Local2, Local3, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Divide(Derefof(Index(paui, 4)), Local2, Local3, Local0)
+ m600(arg0, 43, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(m601(1, 6), Local2, Local3, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Divide(m601(1, 4), Local2, Local3, Local0)
+ m600(arg0, 45, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(Derefof(m602(1, 6, 1)), Local2, Local3, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Divide(Derefof(m602(1, 4, 1)), Local2, Local3, Local0)
+ m600(arg0, 47, Local0, 1)
+ }
+
+ // Conversion of the both operands
+
+ Store(Divide(Local1, Local2), Local0)
+ m600(arg0, 48, Local0, 0)
+
+ Store(Divide(Local2, Local1), Local0)
+ m600(arg0, 49, Local0, 0x0051558eb950f5a7)
+
+ Divide(Local1, Local2, Local3, Local0)
+ m600(arg0, 50, Local0, 0)
+
+ Divide(Local2, Local1, Local3, Local0)
+ m600(arg0, 51, Local0, 0x0051558eb950f5a7)
+ }
+
+ // Divide, 32-bit
+ Method(m009, 1)
+ {
+ Store("0321", Local1)
+ Store("C179B3FE", Local2)
+
+ // Conversion of the first operand
+
+ Store(Divide(Local2, 1), Local0)
+ m600(arg0, 0, Local0, 0xc179b3fe)
+
+ Store(Divide(Local2, 0xc179b3fe), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Divide(Local2, aui6), Local0)
+ m600(arg0, 2, Local0, 0xc179b3fe)
+
+ Store(Divide(Local2, aui3), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Divide(Local2, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 4, Local0, 0xc179b3fe)
+
+ Store(Divide(Local2, Derefof(Refof(aui3))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Divide(Local2, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 6, Local0, 0xc179b3fe)
+
+ Store(Divide(Local2, Derefof(Index(paui, 3))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(Local2, m601(1, 6)), Local0)
+ m600(arg0, 8, Local0, 0xc179b3fe)
+
+ Store(Divide(Local2, m601(1, 3)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(Local2, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 10, Local0, 0xc179b3fe)
+
+ Store(Divide(Local2, Derefof(m602(1, 3, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Divide(Local2, 1, Local3, Local0)
+ m600(arg0, 12, Local0, 0xc179b3fe)
+
+ Divide(Local2, 0xc179b3fe, Local3, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Divide(Local2, aui6, Local3, Local0)
+ m600(arg0, 14, Local0, 0xc179b3fe)
+
+ Divide(Local2, aui3, Local3, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Divide(Local2, Derefof(Refof(aui6)), Local3, Local0)
+ m600(arg0, 16, Local0, 0xc179b3fe)
+
+ Divide(Local2, Derefof(Refof(aui3)), Local3, Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Divide(Local2, Derefof(Index(paui, 6)), Local3, Local0)
+ m600(arg0, 18, Local0, 0xc179b3fe)
+
+ Divide(Local2, Derefof(Index(paui, 3)), Local3, Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(Local2, m601(1, 6), Local3, Local0)
+ m600(arg0, 20, Local0, 0xc179b3fe)
+
+ Divide(Local2, m601(1, 3), Local3, Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(Local2, Derefof(m602(1, 6, 1)), Local3, Local0)
+ m600(arg0, 22, Local0, 0xc179b3fe)
+
+ Divide(Local2, Derefof(m602(1, 3, 1)), Local3, Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Divide(1, Local2), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Divide(0xc179b3fe, Local2), Local0)
+ m600(arg0, 25, Local0, 1)
+
+ Store(Divide(aui6, Local2), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Divide(aui3, Local2), Local0)
+ m600(arg0, 27, Local0, 1)
+
+ if (y078) {
+ Store(Divide(Derefof(Refof(aui6)), Local2), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Divide(Derefof(Refof(aui3)), Local2), Local0)
+ m600(arg0, 29, Local0, 1)
+ }
+
+ Store(Divide(Derefof(Index(paui, 6)), Local2), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Divide(Derefof(Index(paui, 3)), Local2), Local0)
+ m600(arg0, 31, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(m601(1, 6), Local2), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Divide(m601(1, 3), Local2), Local0)
+ m600(arg0, 33, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(Derefof(m602(1, 6, 1)), Local2), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Divide(Derefof(m602(1, 3, 1)), Local2), Local0)
+ m600(arg0, 35, Local0, 1)
+ }
+
+ Divide(1, Local2, Local3, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Divide(0xc179b3fe, Local2, Local3, Local0)
+ m600(arg0, 37, Local0, 1)
+
+ Divide(aui6, Local2, Local3, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Divide(aui3, Local2, Local3, Local0)
+ m600(arg0, 39, Local0, 1)
+
+ if (y078) {
+ Divide(Derefof(Refof(aui6)), Local2, Local3, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Divide(Derefof(Refof(aui3)), Local2, Local3, Local0)
+ m600(arg0, 41, Local0, 1)
+ }
+
+ Divide(Derefof(Index(paui, 6)), Local2, Local3, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Divide(Derefof(Index(paui, 3)), Local2, Local3, Local0)
+ m600(arg0, 43, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(m601(1, 6), Local2, Local3, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Divide(m601(1, 3), Local2, Local3, Local0)
+ m600(arg0, 45, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(Derefof(m602(1, 6, 1)), Local2, Local3, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Divide(Derefof(m602(1, 3, 1)), Local2, Local3, Local0)
+ m600(arg0, 47, Local0, 1)
+ }
+
+ // Conversion of the both operands
+
+ Store(Divide(Local1, Local2), Local0)
+ m600(arg0, 48, Local0, 0)
+
+ Store(Divide(Local2, Local1), Local0)
+ m600(arg0, 49, Local0, 0x003dd5b7)
+
+ Divide(Local1, Local2, Local3, Local0)
+ m600(arg0, 50, Local0, 0)
+
+ Divide(Local2, Local1, Local3, Local0)
+ m600(arg0, 51, Local0, 0x003dd5b7)
+ }
+
+ // Mod, common 32-bit/64-bit test
+ Method(m00a, 1)
+ {
+ Store("0321", Local1)
+
+ // Conversion of the first operand
+
+ Store(Mod(Local1, 0x322), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Mod(Local1, 0x320), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Mod(Local1, auig), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Mod(Local1, auih), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Mod(Local1, Derefof(Refof(auig))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Mod(Local1, Derefof(Refof(auih))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Mod(Local1, Derefof(Index(paui, 16))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Mod(Local1, Derefof(Index(paui, 17))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Mod(Local1, m601(1, 16)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Mod(Local1, m601(1, 17)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(Local1, Derefof(m602(1, 16, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Mod(Local1, Derefof(m602(1, 17, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Mod(Local1, 0x322, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Mod(Local1, 0x320, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Mod(Local1, auig, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Mod(Local1, auih, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Mod(Local1, Derefof(Refof(auig)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Mod(Local1, Derefof(Refof(auih)), Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Mod(Local1, Derefof(Index(paui, 16)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Mod(Local1, Derefof(Index(paui, 17)), Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Mod(Local1, m601(1, 16), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Mod(Local1, m601(1, 17), Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(Local1, Derefof(m602(1, 16, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Mod(Local1, Derefof(m602(1, 17, 1)), Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Mod(0x322, Local1), Local0)
+ m600(arg0, 24, Local0, 1)
+
+ Store(Mod(0x320, Local1), Local0)
+ m600(arg0, 25, Local0, 0x320)
+
+ Store(Mod(auig, Local1), Local0)
+ m600(arg0, 26, Local0, 1)
+
+ Store(Mod(auih, Local1), Local0)
+ m600(arg0, 27, Local0, 0x320)
+
+ if (y078) {
+ Store(Mod(Derefof(Refof(auig)), Local1), Local0)
+ m600(arg0, 28, Local0, 1)
+
+ Store(Mod(Derefof(Refof(auih)), Local1), Local0)
+ m600(arg0, 29, Local0, 0x320)
+ }
+
+ Store(Mod(Derefof(Index(paui, 16)), Local1), Local0)
+ m600(arg0, 30, Local0, 1)
+
+ Store(Mod(Derefof(Index(paui, 17)), Local1), Local0)
+ m600(arg0, 31, Local0, 0x320)
+
+ // Method returns Integer
+
+ Store(Mod(m601(1, 16), Local1), Local0)
+ m600(arg0, 32, Local0, 1)
+
+ Store(Mod(m601(1, 17), Local1), Local0)
+ m600(arg0, 33, Local0, 0x320)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(Derefof(m602(1, 16, 1)), Local1), Local0)
+ m600(arg0, 34, Local0, 1)
+
+ Store(Mod(Derefof(m602(1, 17, 1)), Local1), Local0)
+ m600(arg0, 35, Local0, 0x320)
+ }
+
+ Mod(0x322, Local1, Local0)
+ m600(arg0, 36, Local0, 1)
+
+ Mod(0x320, Local1, Local0)
+ m600(arg0, 37, Local0, 0x320)
+
+ Mod(auig, Local1, Local0)
+ m600(arg0, 38, Local0, 1)
+
+ Mod(auih, Local1, Local0)
+ m600(arg0, 39, Local0, 0x320)
+
+ if (y078) {
+ Mod(Derefof(Refof(auig)), Local1, Local0)
+ m600(arg0, 40, Local0, 1)
+
+ Mod(Derefof(Refof(auih)), Local1, Local0)
+ m600(arg0, 41, Local0, 0x320)
+ }
+
+ Mod(Derefof(Index(paui, 16)), Local1, Local0)
+ m600(arg0, 42, Local0, 1)
+
+ Mod(Derefof(Index(paui, 17)), Local1, Local0)
+ m600(arg0, 43, Local0, 0x320)
+
+ // Method returns Integer
+
+ Mod(m601(1, 16), Local1, Local0)
+ m600(arg0, 44, Local0, 1)
+
+ Mod(m601(1, 17), Local1, Local0)
+ m600(arg0, 45, Local0, 0x320)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(Derefof(m602(1, 16, 1)), Local1, Local0)
+ m600(arg0, 46, Local0, 1)
+
+ Mod(Derefof(m602(1, 17, 1)), Local1, Local0)
+ m600(arg0, 47, Local0, 0x320)
+ }
+ }
+
+ // Mod, 64-bit
+ Method(m00b, 1)
+ {
+ Store("0321", Local1)
+ Store("FE7CB391D650A284", Local2)
+
+ // Conversion of the first operand
+
+ Store(Mod(Local2, 0xfe7cb391d650a285), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(Local2, 0xfe7cb391d650a283), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Mod(Local2, auid), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(Local2, auif), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Mod(Local2, Derefof(Refof(auid))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(Local2, Derefof(Refof(auif))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Mod(Local2, Derefof(Index(paui, 13))), Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(Local2, Derefof(Index(paui, 15))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Mod(Local2, m601(1, 13)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(Local2, m601(1, 15)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(Local2, Derefof(m602(1, 13, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(Local2, Derefof(m602(1, 15, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Mod(Local2, 0xfe7cb391d650a285, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Mod(Local2, 0xfe7cb391d650a283, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Mod(Local2, auid, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Mod(Local2, auif, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Mod(Local2, Derefof(Refof(auid)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Mod(Local2, Derefof(Refof(auif)), Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Mod(Local2, Derefof(Index(paui, 13)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Mod(Local2, Derefof(Index(paui, 15)), Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Mod(Local2, m601(1, 13), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Mod(Local2, m601(1, 15), Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(Local2, Derefof(m602(1, 13, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Mod(Local2, Derefof(m602(1, 15, 1)), Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Mod(0xfe7cb391d650a285, Local2), Local0)
+ m600(arg0, 24, Local0, 1)
+
+ Store(Mod(0xfe7cb391d650a283, Local2), Local0)
+ m600(arg0, 25, Local0, 0xfe7cb391d650a283)
+
+ Store(Mod(auid, Local2), Local0)
+ m600(arg0, 26, Local0, 1)
+
+ Store(Mod(auif, Local2), Local0)
+ m600(arg0, 27, Local0, 0xfe7cb391d650a283)
+
+ if (y078) {
+ Store(Mod(Derefof(Refof(auid)), Local2), Local0)
+ m600(arg0, 28, Local0, 1)
+
+ Store(Mod(Derefof(Refof(auif)), Local2), Local0)
+ m600(arg0, 29, Local0, 0xfe7cb391d650a283)
+ }
+
+ Store(Mod(Derefof(Index(paui, 13)), Local2), Local0)
+ m600(arg0, 30, Local0, 1)
+
+ Store(Mod(Derefof(Index(paui, 15)), Local2), Local0)
+ m600(arg0, 31, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Integer
+
+ Store(Mod(m601(1, 13), Local2), Local0)
+ m600(arg0, 32, Local0, 1)
+
+ Store(Mod(m601(1, 15), Local2), Local0)
+ m600(arg0, 33, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(Derefof(m602(1, 13, 1)), Local2), Local0)
+ m600(arg0, 34, Local0, 1)
+
+ Store(Mod(Derefof(m602(1, 15, 1)), Local2), Local0)
+ m600(arg0, 35, Local0, 0xfe7cb391d650a283)
+ }
+
+ Mod(0xfe7cb391d650a285, Local2, Local0)
+ m600(arg0, 36, Local0, 1)
+
+ Mod(0xfe7cb391d650a283, Local2, Local0)
+ m600(arg0, 37, Local0, 0xfe7cb391d650a283)
+
+ Mod(auid, Local2, Local0)
+ m600(arg0, 38, Local0, 1)
+
+ Mod(auif, Local2, Local0)
+ m600(arg0, 39, Local0, 0xfe7cb391d650a283)
+
+ if (y078) {
+ Mod(Derefof(Refof(auid)), Local2, Local0)
+ m600(arg0, 40, Local0, 1)
+
+ Mod(Derefof(Refof(auif)), Local2, Local0)
+ m600(arg0, 41, Local0, 0xfe7cb391d650a283)
+ }
+
+ Mod(Derefof(Index(paui, 13)), Local2, Local0)
+ m600(arg0, 42, Local0, 1)
+
+ Mod(Derefof(Index(paui, 15)), Local2, Local0)
+ m600(arg0, 43, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Integer
+
+ Mod(m601(1, 13), Local2, Local0)
+ m600(arg0, 44, Local0, 1)
+
+ Mod(m601(1, 15), Local2, Local0)
+ m600(arg0, 45, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(Derefof(m602(1, 13, 1)), Local2, Local0)
+ m600(arg0, 46, Local0, 1)
+
+ Mod(Derefof(m602(1, 15, 1)), Local2, Local0)
+ m600(arg0, 47, Local0, 0xfe7cb391d650a283)
+ }
+
+ // Conversion of the both operands
+
+ Store(Mod(Local1, Local2), Local0)
+ m600(arg0, 48, Local0, 0x321)
+
+ Store(Mod(Local2, Local1), Local0)
+ m600(arg0, 49, Local0, 0x2fd)
+
+ Mod(Local1, Local2, Local0)
+ m600(arg0, 50, Local0, 0x321)
+
+ Mod(Local2, Local1, Local0)
+ m600(arg0, 51, Local0, 0x2fd)
+ }
+
+ // Mod, 32-bit
+ Method(m00c, 1)
+ {
+ Store("0321", Local1)
+ Store("C179B3FE", Local2)
+
+ // Conversion of the first operand
+
+ Store(Mod(Local2, 0xc179b3ff), Local0)
+ m600(arg0, 0, Local0, 0xc179b3fe)
+
+ Store(Mod(Local2, 0xc179b3fd), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Mod(Local2, auic), Local0)
+ m600(arg0, 2, Local0, 0xc179b3fe)
+
+ Store(Mod(Local2, auie), Local0)
+ m600(arg0, 14, Local0, 1)
+
+ if (y078) {
+ Store(Mod(Local2, Derefof(Refof(auic))), Local0)
+ m600(arg0, 4, Local0, 0xc179b3fe)
+
+ Store(Mod(Local2, Derefof(Refof(auie))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Mod(Local2, Derefof(Index(paui, 12))), Local0)
+ m600(arg0, 12, Local0, 0xc179b3fe)
+
+ Store(Mod(Local2, Derefof(Index(paui, 14))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Mod(Local2, m601(1, 12)), Local0)
+ m600(arg0, 8, Local0, 0xc179b3fe)
+
+ Store(Mod(Local2, m601(1, 14)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(Local2, Derefof(m602(1, 12, 1))), Local0)
+ m600(arg0, 10, Local0, 0xc179b3fe)
+
+ Store(Mod(Local2, Derefof(m602(1, 14, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Mod(Local2, 0xc179b3ff, Local0)
+ m600(arg0, 12, Local0, 0xc179b3fe)
+
+ Mod(Local2, 0xc179b3fd, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Mod(Local2, auic, Local0)
+ m600(arg0, 14, Local0, 0xc179b3fe)
+
+ Mod(Local2, auie, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Mod(Local2, Derefof(Refof(auic)), Local0)
+ m600(arg0, 16, Local0, 0xc179b3fe)
+
+ Mod(Local2, Derefof(Refof(auie)), Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Mod(Local2, Derefof(Index(paui, 12)), Local0)
+ m600(arg0, 18, Local0, 0xc179b3fe)
+
+ Mod(Local2, Derefof(Index(paui, 14)), Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Mod(Local2, m601(1, 12), Local0)
+ m600(arg0, 20, Local0, 0xc179b3fe)
+
+ Mod(Local2, m601(1, 14), Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(Local2, Derefof(m602(1, 12, 1)), Local0)
+ m600(arg0, 22, Local0, 0xc179b3fe)
+
+ Mod(Local2, Derefof(m602(1, 14, 1)), Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Mod(0xc179b3ff, Local2), Local0)
+ m600(arg0, 24, Local0, 1)
+
+ Store(Mod(0xc179b3fd, Local2), Local0)
+ m600(arg0, 25, Local0, 0xc179b3fd)
+
+ Store(Mod(auic, Local2), Local0)
+ m600(arg0, 26, Local0, 1)
+
+ Store(Mod(auie, Local2), Local0)
+ m600(arg0, 27, Local0, 0xc179b3fd)
+
+ if (y078) {
+ Store(Mod(Derefof(Refof(auic)), Local2), Local0)
+ m600(arg0, 28, Local0, 1)
+
+ Store(Mod(Derefof(Refof(auie)), Local2), Local0)
+ m600(arg0, 29, Local0, 0xc179b3fd)
+ }
+
+ Store(Mod(Derefof(Index(paui, 12)), Local2), Local0)
+ m600(arg0, 30, Local0, 1)
+
+ Store(Mod(Derefof(Index(paui, 14)), Local2), Local0)
+ m600(arg0, 31, Local0, 0xc179b3fd)
+
+ // Method returns Integer
+
+ Store(Mod(m601(1, 12), Local2), Local0)
+ m600(arg0, 32, Local0, 1)
+
+ Store(Mod(m601(1, 14), Local2), Local0)
+ m600(arg0, 33, Local0, 0xc179b3fd)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(Derefof(m602(1, 12, 1)), Local2), Local0)
+ m600(arg0, 34, Local0, 1)
+
+ Store(Mod(Derefof(m602(1, 14, 1)), Local2), Local0)
+ m600(arg0, 35, Local0, 0xc179b3fd)
+ }
+
+ Mod(0xc179b3ff, Local2, Local0)
+ m600(arg0, 36, Local0, 1)
+
+ Mod(0xc179b3fd, Local2, Local0)
+ m600(arg0, 37, Local0, 0xc179b3fd)
+
+ Mod(auic, Local2, Local0)
+ m600(arg0, 38, Local0, 1)
+
+ Mod(auie, Local2, Local0)
+ m600(arg0, 39, Local0, 0xc179b3fd)
+
+ if (y078) {
+ Mod(Derefof(Refof(auic)), Local2, Local0)
+ m600(arg0, 40, Local0, 1)
+
+ Mod(Derefof(Refof(auie)), Local2, Local0)
+ m600(arg0, 41, Local0, 0xc179b3fd)
+ }
+
+ Mod(Derefof(Index(paui, 12)), Local2, Local0)
+ m600(arg0, 42, Local0, 1)
+
+ Mod(Derefof(Index(paui, 14)), Local2, Local0)
+ m600(arg0, 43, Local0, 0xc179b3fd)
+
+ // Method returns Integer
+
+ Mod(m601(1, 12), Local2, Local0)
+ m600(arg0, 44, Local0, 1)
+
+ Mod(m601(1, 14), Local2, Local0)
+ m600(arg0, 45, Local0, 0xc179b3fd)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(Derefof(m602(1, 12, 1)), Local2, Local0)
+ m600(arg0, 46, Local0, 1)
+
+ Mod(Derefof(m602(1, 14, 1)), Local2, Local0)
+ m600(arg0, 47, Local0, 0xc179b3fd)
+ }
+
+ // Conversion of the both operands
+
+ Store(Mod(Local1, Local2), Local0)
+ m600(arg0, 48, Local0, 0x321)
+
+ Store(Mod(Local2, Local1), Local0)
+ m600(arg0, 49, Local0, 0x267)
+
+ Mod(Local1, Local2, Local0)
+ m600(arg0, 50, Local0, 0x321)
+
+ Mod(Local2, Local1, Local0)
+ m600(arg0, 51, Local0, 0x267)
+ }
+
+ // Multiply, common 32-bit/64-bit test
+ Method(m00d, 1)
+ {
+ Store("0321", Local1)
+
+ // Conversion of the first operand
+
+ Store(Multiply(Local1, 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(Multiply(Local1, 1), Local0)
+ m600(arg0, 1, Local0, 0x321)
+
+ Store(Multiply(Local1, aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(Multiply(Local1, aui6), Local0)
+ m600(arg0, 3, Local0, 0x321)
+
+ if (y078) {
+ Store(Multiply(Local1, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(Multiply(Local1, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x321)
+ }
+
+ Store(Multiply(Local1, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(Multiply(Local1, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x321)
+
+ // Method returns Integer
+
+ Store(Multiply(Local1, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(Multiply(Local1, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(Local1, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(Multiply(Local1, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x321)
+ }
+
+ Multiply(Local1, 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ Multiply(Local1, 1, Local0)
+ m600(arg0, 13, Local0, 0x321)
+
+ Multiply(Local1, aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ Multiply(Local1, aui6, Local0)
+ m600(arg0, 15, Local0, 0x321)
+
+ if (y078) {
+ Multiply(Local1, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ Multiply(Local1, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x321)
+ }
+
+ Multiply(Local1, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ Multiply(Local1, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x321)
+
+ // Method returns Integer
+
+ Multiply(Local1, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ Multiply(Local1, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(Local1, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ Multiply(Local1, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x321)
+ }
+
+ // Conversion of the second operand
+
+ Store(Multiply(0, Local1), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Multiply(1, Local1), Local0)
+ m600(arg0, 25, Local0, 0x321)
+
+ Store(Multiply(aui5, Local1), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Multiply(aui6, Local1), Local0)
+ m600(arg0, 27, Local0, 0x321)
+
+ if (y078) {
+ Store(Multiply(Derefof(Refof(aui5)), Local1), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(aui6)), Local1), Local0)
+ m600(arg0, 29, Local0, 0x321)
+ }
+
+ Store(Multiply(Derefof(Index(paui, 5)), Local1), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Multiply(Derefof(Index(paui, 6)), Local1), Local0)
+ m600(arg0, 31, Local0, 0x321)
+
+ // Method returns Integer
+
+ Store(Multiply(m601(1, 5), Local1), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Multiply(m601(1, 6), Local1), Local0)
+ m600(arg0, 33, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(Derefof(m602(1, 5, 1)), Local1), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Multiply(Derefof(m602(1, 6, 1)), Local1), Local0)
+ m600(arg0, 35, Local0, 0x321)
+ }
+
+ Multiply(0, Local1, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Multiply(1, Local1, Local0)
+ m600(arg0, 37, Local0, 0x321)
+
+ Multiply(aui5, Local1, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Multiply(aui6, Local1, Local0)
+ m600(arg0, 39, Local0, 0x321)
+
+ if (y078) {
+ Multiply(Derefof(Refof(aui5)), Local1, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Multiply(Derefof(Refof(aui6)), Local1, Local0)
+ m600(arg0, 41, Local0, 0x321)
+ }
+
+ Multiply(Derefof(Index(paui, 5)), Local1, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Multiply(Derefof(Index(paui, 6)), Local1, Local0)
+ m600(arg0, 43, Local0, 0x321)
+
+ // Method returns Integer
+
+ Multiply(m601(1, 5), Local1, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Multiply(m601(1, 6), Local1, Local0)
+ m600(arg0, 45, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(Derefof(m602(1, 5, 1)), Local1, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Multiply(Derefof(m602(1, 6, 1)), Local1, Local0)
+ m600(arg0, 47, Local0, 0x321)
+ }
+ }
+
+ // Multiply, 64-bit
+ Method(m00e, 1)
+ {
+ Store("0321", Local1)
+ Store("FE7CB391D650A284", Local2)
+
+ // Conversion of the first operand
+
+ Store(Multiply(Local2, 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(Multiply(Local2, 1), Local0)
+ m600(arg0, 1, Local0, 0xfe7cb391d650a284)
+
+ Store(Multiply(Local2, aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(Multiply(Local2, aui6), Local0)
+ m600(arg0, 3, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Store(Multiply(Local2, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(Multiply(Local2, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xfe7cb391d650a284)
+ }
+
+ Store(Multiply(Local2, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(Multiply(Local2, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Store(Multiply(Local2, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(Multiply(Local2, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(Local2, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(Multiply(Local2, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfe7cb391d650a284)
+ }
+
+ Multiply(Local2, 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ Multiply(Local2, 1, Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a284)
+
+ Multiply(Local2, aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ Multiply(Local2, aui6, Local0)
+ m600(arg0, 15, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Multiply(Local2, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ Multiply(Local2, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xfe7cb391d650a284)
+ }
+
+ Multiply(Local2, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ Multiply(Local2, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Multiply(Local2, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ Multiply(Local2, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(Local2, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ Multiply(Local2, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfe7cb391d650a284)
+ }
+
+ // Conversion of the second operand
+
+ Store(Multiply(0, Local2), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Multiply(1, Local2), Local0)
+ m600(arg0, 25, Local0, 0xfe7cb391d650a284)
+
+ Store(Multiply(aui5, Local2), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Multiply(aui6, Local2), Local0)
+ m600(arg0, 27, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Store(Multiply(Derefof(Refof(aui5)), Local2), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(aui6)), Local2), Local0)
+ m600(arg0, 29, Local0, 0xfe7cb391d650a284)
+ }
+
+ Store(Multiply(Derefof(Index(paui, 5)), Local2), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Multiply(Derefof(Index(paui, 6)), Local2), Local0)
+ m600(arg0, 31, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Store(Multiply(m601(1, 5), Local2), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Multiply(m601(1, 6), Local2), Local0)
+ m600(arg0, 33, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(Derefof(m602(1, 5, 1)), Local2), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Multiply(Derefof(m602(1, 6, 1)), Local2), Local0)
+ m600(arg0, 35, Local0, 0xfe7cb391d650a284)
+ }
+
+ Multiply(0, Local2, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Multiply(1, Local2, Local0)
+ m600(arg0, 37, Local0, 0xfe7cb391d650a284)
+
+ Multiply(aui5, Local2, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Multiply(aui6, Local2, Local0)
+ m600(arg0, 39, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Multiply(Derefof(Refof(aui5)), Local2, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Multiply(Derefof(Refof(aui6)), Local2, Local0)
+ m600(arg0, 41, Local0, 0xfe7cb391d650a284)
+ }
+
+ Multiply(Derefof(Index(paui, 5)), Local2, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Multiply(Derefof(Index(paui, 6)), Local2, Local0)
+ m600(arg0, 43, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Multiply(m601(1, 5), Local2, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Multiply(m601(1, 6), Local2, Local0)
+ m600(arg0, 45, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(Derefof(m602(1, 5, 1)), Local2, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Multiply(Derefof(m602(1, 6, 1)), Local2, Local0)
+ m600(arg0, 47, Local0, 0xfe7cb391d650a284)
+ }
+
+ // Conversion of the both operands
+
+ Store(Multiply(Local1, Local2), Local0)
+ m600(arg0, 48, Local0, 0x442ddb4f924c7f04)
+
+ Store(Multiply(Local2, Local1), Local0)
+ m600(arg0, 49, Local0, 0x442ddb4f924c7f04)
+
+ Multiply(Local1, Local2, Local0)
+ m600(arg0, 50, Local0, 0x442ddb4f924c7f04)
+
+ Multiply(Local2, Local1, Local0)
+ m600(arg0, 51, Local0, 0x442ddb4f924c7f04)
+ }
+
+ // Multiply, 32-bit
+ Method(m00f, 1)
+ {
+ Store("0321", Local1)
+ Store("C179B3FE", Local2)
+
+ // Conversion of the first operand
+
+ Store(Multiply(Local2, 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(Multiply(Local2, 1), Local0)
+ m600(arg0, 1, Local0, 0xc179b3fe)
+
+ Store(Multiply(Local2, aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(Multiply(Local2, aui6), Local0)
+ m600(arg0, 3, Local0, 0xc179b3fe)
+
+ if (y078) {
+ Store(Multiply(Local2, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(Multiply(Local2, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xc179b3fe)
+ }
+
+ Store(Multiply(Local2, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(Multiply(Local2, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xc179b3fe)
+
+ // Method returns Integer
+
+ Store(Multiply(Local2, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(Multiply(Local2, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xc179b3fe)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(Local2, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(Multiply(Local2, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xc179b3fe)
+ }
+
+ Multiply(Local2, 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ Multiply(Local2, 1, Local0)
+ m600(arg0, 13, Local0, 0xc179b3fe)
+
+ Multiply(Local2, aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ Multiply(Local2, aui6, Local0)
+ m600(arg0, 15, Local0, 0xc179b3fe)
+
+ if (y078) {
+ Multiply(Local2, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ Multiply(Local2, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xc179b3fe)
+ }
+
+ Multiply(Local2, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ Multiply(Local2, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xc179b3fe)
+
+ // Method returns Integer
+
+ Multiply(Local2, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ Multiply(Local2, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xc179b3fe)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(Local2, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ Multiply(Local2, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xc179b3fe)
+ }
+
+ // Conversion of the second operand
+
+ Store(Multiply(0, Local2), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Multiply(1, Local2), Local0)
+ m600(arg0, 25, Local0, 0xc179b3fe)
+
+ Store(Multiply(aui5, Local2), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Multiply(aui6, Local2), Local0)
+ m600(arg0, 27, Local0, 0xc179b3fe)
+
+ if (y078) {
+ Store(Multiply(Derefof(Refof(aui5)), Local2), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(aui6)), Local2), Local0)
+ m600(arg0, 29, Local0, 0xc179b3fe)
+ }
+
+ Store(Multiply(Derefof(Index(paui, 5)), Local2), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Multiply(Derefof(Index(paui, 6)), Local2), Local0)
+ m600(arg0, 31, Local0, 0xc179b3fe)
+
+ // Method returns Integer
+
+ Store(Multiply(m601(1, 5), Local2), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Multiply(m601(1, 6), Local2), Local0)
+ m600(arg0, 33, Local0, 0xc179b3fe)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(Derefof(m602(1, 5, 1)), Local2), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Multiply(Derefof(m602(1, 6, 1)), Local2), Local0)
+ m600(arg0, 35, Local0, 0xc179b3fe)
+ }
+
+ Multiply(0, Local2, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Multiply(1, Local2, Local0)
+ m600(arg0, 37, Local0, 0xc179b3fe)
+
+ Multiply(aui5, Local2, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Multiply(aui6, Local2, Local0)
+ m600(arg0, 39, Local0, 0xc179b3fe)
+
+ if (y078) {
+ Multiply(Derefof(Refof(aui5)), Local2, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Multiply(Derefof(Refof(aui6)), Local2, Local0)
+ m600(arg0, 41, Local0, 0xc179b3fe)
+ }
+
+ Multiply(Derefof(Index(paui, 5)), Local2, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Multiply(Derefof(Index(paui, 6)), Local2, Local0)
+ m600(arg0, 43, Local0, 0xc179b3fe)
+
+ // Method returns Integer
+
+ Multiply(m601(1, 5), Local2, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Multiply(m601(1, 6), Local2, Local0)
+ m600(arg0, 45, Local0, 0xc179b3fe)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(Derefof(m602(1, 5, 1)), Local2, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Multiply(Derefof(m602(1, 6, 1)), Local2, Local0)
+ m600(arg0, 47, Local0, 0xc179b3fe)
+ }
+
+ // Conversion of the both operands
+
+ Store(Multiply(Local1, Local2), Local0)
+ m600(arg0, 48, Local0, 0x5dcc2dbe)
+
+ Store(Multiply(Local2, Local1), Local0)
+ m600(arg0, 49, Local0, 0x5dcc2dbe)
+
+ Multiply(Local1, Local2, Local0)
+ m600(arg0, 50, Local0, 0x5dcc2dbe)
+
+ Multiply(Local2, Local1, Local0)
+ m600(arg0, 51, Local0, 0x5dcc2dbe)
+ }
+
+ // NAnd, common 32-bit/64-bit test
+ Method(m010, 1)
+ {
+ Store("0321", Local1)
+
+ // Conversion of the first operand
+
+ Store(NAnd(Local1, 0), Local0)
+ m600(arg0, 0, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Local1, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xfffffffffffffcde)
+
+ Store(NAnd(Local1, aui5), Local0)
+ m600(arg0, 2, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Local1, auij), Local0)
+ m600(arg0, 3, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ Store(NAnd(Local1, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Local1, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xfffffffffffffcde)
+ }
+
+ Store(NAnd(Local1, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Local1, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ Store(NAnd(Local1, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Local1, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(Local1, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Local1, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfffffffffffffcde)
+ }
+
+ NAnd(Local1, 0, Local0)
+ m600(arg0, 12, Local0, 0xffffffffffffffff)
+
+ NAnd(Local1, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xfffffffffffffcde)
+
+ NAnd(Local1, aui5, Local0)
+ m600(arg0, 14, Local0, 0xffffffffffffffff)
+
+ NAnd(Local1, auij, Local0)
+ m600(arg0, 15, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ NAnd(Local1, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xffffffffffffffff)
+
+ NAnd(Local1, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xfffffffffffffcde)
+ }
+
+ NAnd(Local1, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xffffffffffffffff)
+
+ NAnd(Local1, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ NAnd(Local1, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xffffffffffffffff)
+
+ NAnd(Local1, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(Local1, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xffffffffffffffff)
+
+ NAnd(Local1, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfffffffffffffcde)
+ }
+
+ // Conversion of the second operand
+
+ Store(NAnd(0, Local1), Local0)
+ m600(arg0, 24, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(0xffffffffffffffff, Local1), Local0)
+ m600(arg0, 25, Local0, 0xfffffffffffffcde)
+
+ Store(NAnd(aui5, Local1), Local0)
+ m600(arg0, 26, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(auij, Local1), Local0)
+ m600(arg0, 27, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ Store(NAnd(Derefof(Refof(aui5)), Local1), Local0)
+ m600(arg0, 28, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Refof(auij)), Local1), Local0)
+ m600(arg0, 29, Local0, 0xfffffffffffffcde)
+ }
+
+ Store(NAnd(Derefof(Index(paui, 5)), Local1), Local0)
+ m600(arg0, 30, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Index(paui, 19)), Local1), Local0)
+ m600(arg0, 31, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ Store(NAnd(m601(1, 5), Local1), Local0)
+ m600(arg0, 32, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(m601(1, 19), Local1), Local0)
+ m600(arg0, 33, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(Derefof(m602(1, 5, 1)), Local1), Local0)
+ m600(arg0, 34, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(m602(1, 19, 1)), Local1), Local0)
+ m600(arg0, 35, Local0, 0xfffffffffffffcde)
+ }
+
+ NAnd(0, Local1, Local0)
+ m600(arg0, 36, Local0, 0xffffffffffffffff)
+
+ NAnd(0xffffffffffffffff, Local1, Local0)
+ m600(arg0, 37, Local0, 0xfffffffffffffcde)
+
+ NAnd(aui5, Local1, Local0)
+ m600(arg0, 38, Local0, 0xffffffffffffffff)
+
+ NAnd(auij, Local1, Local0)
+ m600(arg0, 39, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ NAnd(Derefof(Refof(aui5)), Local1, Local0)
+ m600(arg0, 40, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Refof(auij)), Local1, Local0)
+ m600(arg0, 41, Local0, 0xfffffffffffffcde)
+ }
+
+ NAnd(Derefof(Index(paui, 5)), Local1, Local0)
+ m600(arg0, 42, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Index(paui, 19)), Local1, Local0)
+ m600(arg0, 43, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ NAnd(m601(1, 5), Local1, Local0)
+ m600(arg0, 44, Local0, 0xffffffffffffffff)
+
+ NAnd(m601(1, 19), Local1, Local0)
+ m600(arg0, 45, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(Derefof(m602(1, 5, 1)), Local1, Local0)
+ m600(arg0, 46, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(m602(1, 19, 1)), Local1, Local0)
+ m600(arg0, 47, Local0, 0xfffffffffffffcde)
+ }
+ }
+
+ // NAnd, 64-bit
+ Method(m011, 1)
+ {
+ Store("0321", Local1)
+ Store("FE7CB391D650A284", Local2)
+
+ // Conversion of the first operand
+
+ Store(NAnd(Local2, 0), Local0)
+ m600(arg0, 0, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Local2, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0x01834c6e29af5d7b)
+
+ Store(NAnd(Local2, aui5), Local0)
+ m600(arg0, 2, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Local2, auij), Local0)
+ m600(arg0, 3, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ Store(NAnd(Local2, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Local2, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Store(NAnd(Local2, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Local2, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ Store(NAnd(Local2, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Local2, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(Local2, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Local2, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0x01834c6e29af5d7b)
+ }
+
+ NAnd(Local2, 0, Local0)
+ m600(arg0, 12, Local0, 0xffffffffffffffff)
+
+ NAnd(Local2, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0x01834c6e29af5d7b)
+
+ NAnd(Local2, aui5, Local0)
+ m600(arg0, 14, Local0, 0xffffffffffffffff)
+
+ NAnd(Local2, auij, Local0)
+ m600(arg0, 15, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ NAnd(Local2, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xffffffffffffffff)
+
+ NAnd(Local2, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0x01834c6e29af5d7b)
+ }
+
+ NAnd(Local2, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xffffffffffffffff)
+
+ NAnd(Local2, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ NAnd(Local2, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xffffffffffffffff)
+
+ NAnd(Local2, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(Local2, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xffffffffffffffff)
+
+ NAnd(Local2, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0x01834c6e29af5d7b)
+ }
+
+ // Conversion of the second operand
+
+ Store(NAnd(0, Local2), Local0)
+ m600(arg0, 24, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(0xffffffffffffffff, Local2), Local0)
+ m600(arg0, 25, Local0, 0x01834c6e29af5d7b)
+
+ Store(NAnd(aui5, Local2), Local0)
+ m600(arg0, 26, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(auij, Local2), Local0)
+ m600(arg0, 27, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ Store(NAnd(Derefof(Refof(aui5)), Local2), Local0)
+ m600(arg0, 28, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Refof(auij)), Local2), Local0)
+ m600(arg0, 29, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Store(NAnd(Derefof(Index(paui, 5)), Local2), Local0)
+ m600(arg0, 30, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Index(paui, 19)), Local2), Local0)
+ m600(arg0, 31, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ Store(NAnd(m601(1, 5), Local2), Local0)
+ m600(arg0, 32, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(m601(1, 19), Local2), Local0)
+ m600(arg0, 33, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(Derefof(m602(1, 5, 1)), Local2), Local0)
+ m600(arg0, 34, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(m602(1, 19, 1)), Local2), Local0)
+ m600(arg0, 35, Local0, 0x01834c6e29af5d7b)
+ }
+
+ NAnd(0, Local2, Local0)
+ m600(arg0, 36, Local0, 0xffffffffffffffff)
+
+ NAnd(0xffffffffffffffff, Local2, Local0)
+ m600(arg0, 37, Local0, 0x01834c6e29af5d7b)
+
+ NAnd(aui5, Local2, Local0)
+ m600(arg0, 38, Local0, 0xffffffffffffffff)
+
+ NAnd(auij, Local2, Local0)
+ m600(arg0, 39, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ NAnd(Derefof(Refof(aui5)), Local2, Local0)
+ m600(arg0, 40, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Refof(auij)), Local2, Local0)
+ m600(arg0, 41, Local0, 0x01834c6e29af5d7b)
+ }
+
+ NAnd(Derefof(Index(paui, 5)), Local2, Local0)
+ m600(arg0, 42, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Index(paui, 19)), Local2, Local0)
+ m600(arg0, 43, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ NAnd(m601(1, 5), Local2, Local0)
+ m600(arg0, 44, Local0, 0xffffffffffffffff)
+
+ NAnd(m601(1, 19), Local2, Local0)
+ m600(arg0, 45, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(Derefof(m602(1, 5, 1)), Local2, Local0)
+ m600(arg0, 46, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(m602(1, 19, 1)), Local2, Local0)
+ m600(arg0, 47, Local0, 0x01834c6e29af5d7b)
+ }
+
+ // Conversion of the both operands
+
+ Store(NAnd(Local1, Local2), Local0)
+ m600(arg0, 48, Local0, 0xfffffffffffffdff)
+
+ Store(NAnd(Local2, Local1), Local0)
+ m600(arg0, 49, Local0, 0xfffffffffffffdff)
+
+ NAnd(Local1, Local2, Local0)
+ m600(arg0, 50, Local0, 0xfffffffffffffdff)
+
+ NAnd(Local2, Local1, Local0)
+ m600(arg0, 51, Local0, 0xfffffffffffffdff)
+ }
+
+ // NAnd, 32-bit
+ Method(m012, 1)
+ {
+ Store("0321", Local1)
+ Store("C179B3FE", Local2)
+
+ // Conversion of the first operand
+
+ Store(NAnd(Local2, 0), Local0)
+ m600(arg0, 0, Local0, 0xffffffff)
+
+ Store(NAnd(Local2, 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0x3e864c01)
+
+ Store(NAnd(Local2, aui5), Local0)
+ m600(arg0, 2, Local0, 0xffffffff)
+
+ Store(NAnd(Local2, auii), Local0)
+ m600(arg0, 3, Local0, 0x3e864c01)
+
+ if (y078) {
+ Store(NAnd(Local2, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xffffffff)
+
+ Store(NAnd(Local2, Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0x3e864c01)
+ }
+
+ Store(NAnd(Local2, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xffffffff)
+
+ Store(NAnd(Local2, Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0x3e864c01)
+
+ // Method returns Integer
+
+ Store(NAnd(Local2, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xffffffff)
+
+ Store(NAnd(Local2, m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0x3e864c01)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(Local2, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xffffffff)
+
+ Store(NAnd(Local2, Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0x3e864c01)
+ }
+
+ NAnd(Local2, 0, Local0)
+ m600(arg0, 12, Local0, 0xffffffff)
+
+ NAnd(Local2, 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0x3e864c01)
+
+ NAnd(Local2, aui5, Local0)
+ m600(arg0, 14, Local0, 0xffffffff)
+
+ NAnd(Local2, auii, Local0)
+ m600(arg0, 15, Local0, 0x3e864c01)
+
+ if (y078) {
+ NAnd(Local2, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xffffffff)
+
+ NAnd(Local2, Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0x3e864c01)
+ }
+
+ NAnd(Local2, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xffffffff)
+
+ NAnd(Local2, Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0x3e864c01)
+
+ // Method returns Integer
+
+ NAnd(Local2, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xffffffff)
+
+ NAnd(Local2, m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0x3e864c01)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(Local2, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xffffffff)
+
+ NAnd(Local2, Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0x3e864c01)
+ }
+
+ // Conversion of the second operand
+
+ Store(NAnd(0, Local2), Local0)
+ m600(arg0, 24, Local0, 0xffffffff)
+
+ Store(NAnd(0xffffffff, Local2), Local0)
+ m600(arg0, 25, Local0, 0x3e864c01)
+
+ Store(NAnd(aui5, Local2), Local0)
+ m600(arg0, 26, Local0, 0xffffffff)
+
+ Store(NAnd(auii, Local2), Local0)
+ m600(arg0, 27, Local0, 0x3e864c01)
+
+ if (y078) {
+ Store(NAnd(Derefof(Refof(aui5)), Local2), Local0)
+ m600(arg0, 28, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(Refof(auii)), Local2), Local0)
+ m600(arg0, 29, Local0, 0x3e864c01)
+ }
+
+ Store(NAnd(Derefof(Index(paui, 5)), Local2), Local0)
+ m600(arg0, 30, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(Index(paui, 18)), Local2), Local0)
+ m600(arg0, 31, Local0, 0x3e864c01)
+
+ // Method returns Integer
+
+ Store(NAnd(m601(1, 5), Local2), Local0)
+ m600(arg0, 32, Local0, 0xffffffff)
+
+ Store(NAnd(m601(1, 18), Local2), Local0)
+ m600(arg0, 33, Local0, 0x3e864c01)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(Derefof(m602(1, 5, 1)), Local2), Local0)
+ m600(arg0, 34, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(m602(1, 18, 1)), Local2), Local0)
+ m600(arg0, 35, Local0, 0x3e864c01)
+ }
+
+ NAnd(0, Local2, Local0)
+ m600(arg0, 36, Local0, 0xffffffff)
+
+ NAnd(0xffffffff, Local2, Local0)
+ m600(arg0, 37, Local0, 0x3e864c01)
+
+ NAnd(aui5, Local2, Local0)
+ m600(arg0, 38, Local0, 0xffffffff)
+
+ NAnd(auii, Local2, Local0)
+ m600(arg0, 39, Local0, 0x3e864c01)
+
+ if (y078) {
+ NAnd(Derefof(Refof(aui5)), Local2, Local0)
+ m600(arg0, 40, Local0, 0xffffffff)
+
+ NAnd(Derefof(Refof(auii)), Local2, Local0)
+ m600(arg0, 41, Local0, 0x3e864c01)
+ }
+
+ NAnd(Derefof(Index(paui, 5)), Local2, Local0)
+ m600(arg0, 42, Local0, 0xffffffff)
+
+ NAnd(Derefof(Index(paui, 18)), Local2, Local0)
+ m600(arg0, 43, Local0, 0x3e864c01)
+
+ // Method returns Integer
+
+ NAnd(m601(1, 5), Local2, Local0)
+ m600(arg0, 44, Local0, 0xffffffff)
+
+ NAnd(m601(1, 18), Local2, Local0)
+ m600(arg0, 45, Local0, 0x3e864c01)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(Derefof(m602(1, 5, 1)), Local2, Local0)
+ m600(arg0, 46, Local0, 0xffffffff)
+
+ NAnd(Derefof(m602(1, 18, 1)), Local2, Local0)
+ m600(arg0, 47, Local0, 0x3e864c01)
+ }
+
+ // Conversion of the both operands
+
+ Store(NAnd(Local1, Local2), Local0)
+ m600(arg0, 48, Local0, 0xfffffcdf)
+
+ Store(NAnd(Local2, Local1), Local0)
+ m600(arg0, 49, Local0, 0xfffffcdf)
+
+ NAnd(Local1, Local2, Local0)
+ m600(arg0, 50, Local0, 0xfffffcdf)
+
+ NAnd(Local2, Local1, Local0)
+ m600(arg0, 51, Local0, 0xfffffcdf)
+ }
+
+ // NOr, common 32-bit/64-bit test
+ Method(m013, 1)
+ {
+ Store("0321", Local1)
+
+ // Conversion of the first operand
+
+ Store(NOr(Local1, 0), Local0)
+ m600(arg0, 0, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Local1, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0)
+
+ Store(NOr(Local1, aui5), Local0)
+ m600(arg0, 2, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Local1, auij), Local0)
+ m600(arg0, 3, Local0, 0)
+
+ if (y078) {
+ Store(NOr(Local1, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Local1, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0)
+ }
+
+ Store(NOr(Local1, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Local1, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(Local1, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Local1, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(Local1, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Local1, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0)
+ }
+
+ NOr(Local1, 0, Local0)
+ m600(arg0, 12, Local0, 0xfffffffffffffcde)
+
+ NOr(Local1, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0)
+
+ NOr(Local1, aui5, Local0)
+ m600(arg0, 14, Local0, 0xfffffffffffffcde)
+
+ NOr(Local1, auij, Local0)
+ m600(arg0, 15, Local0, 0)
+
+ if (y078) {
+ NOr(Local1, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfffffffffffffcde)
+
+ NOr(Local1, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0)
+ }
+
+ NOr(Local1, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfffffffffffffcde)
+
+ NOr(Local1, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(Local1, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfffffffffffffcde)
+
+ NOr(Local1, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(Local1, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfffffffffffffcde)
+
+ NOr(Local1, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0)
+ }
+
+ // Conversion of the second operand
+
+ Store(NOr(0, Local1), Local0)
+ m600(arg0, 24, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(0xffffffffffffffff, Local1), Local0)
+ m600(arg0, 25, Local0, 0)
+
+ Store(NOr(aui5, Local1), Local0)
+ m600(arg0, 26, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(auij, Local1), Local0)
+ m600(arg0, 27, Local0, 0)
+
+ if (y078) {
+ Store(NOr(Derefof(Refof(aui5)), Local1), Local0)
+ m600(arg0, 28, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(Refof(auij)), Local1), Local0)
+ m600(arg0, 29, Local0, 0)
+ }
+
+ Store(NOr(Derefof(Index(paui, 5)), Local1), Local0)
+ m600(arg0, 30, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(Index(paui, 19)), Local1), Local0)
+ m600(arg0, 31, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(m601(1, 5), Local1), Local0)
+ m600(arg0, 32, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(m601(1, 19), Local1), Local0)
+ m600(arg0, 33, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(Derefof(m602(1, 5, 1)), Local1), Local0)
+ m600(arg0, 34, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(m602(1, 19, 1)), Local1), Local0)
+ m600(arg0, 35, Local0, 0)
+ }
+
+ NOr(0, Local1, Local0)
+ m600(arg0, 36, Local0, 0xfffffffffffffcde)
+
+ NOr(0xffffffffffffffff, Local1, Local0)
+ m600(arg0, 37, Local0, 0)
+
+ NOr(aui5, Local1, Local0)
+ m600(arg0, 38, Local0, 0xfffffffffffffcde)
+
+ NOr(auij, Local1, Local0)
+ m600(arg0, 39, Local0, 0)
+
+ if (y078) {
+ NOr(Derefof(Refof(aui5)), Local1, Local0)
+ m600(arg0, 40, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(Refof(auij)), Local1, Local0)
+ m600(arg0, 41, Local0, 0)
+ }
+
+ NOr(Derefof(Index(paui, 5)), Local1, Local0)
+ m600(arg0, 42, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(Index(paui, 19)), Local1, Local0)
+ m600(arg0, 43, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(m601(1, 5), Local1, Local0)
+ m600(arg0, 44, Local0, 0xfffffffffffffcde)
+
+ NOr(m601(1, 19), Local1, Local0)
+ m600(arg0, 45, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(Derefof(m602(1, 5, 1)), Local1, Local0)
+ m600(arg0, 46, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(m602(1, 19, 1)), Local1, Local0)
+ m600(arg0, 47, Local0, 0)
+ }
+ }
+
+ // NOr, 64-bit
+ Method(m014, 1)
+ {
+ Store("0321", Local1)
+ Store("FE7CB391D650A284", Local2)
+
+ // Conversion of the first operand
+
+ Store(NOr(Local2, 0), Local0)
+ m600(arg0, 0, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Local2, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0)
+
+ Store(NOr(Local2, aui5), Local0)
+ m600(arg0, 2, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Local2, auij), Local0)
+ m600(arg0, 3, Local0, 0)
+
+ if (y078) {
+ Store(NOr(Local2, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Local2, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0)
+ }
+
+ Store(NOr(Local2, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Local2, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(Local2, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Local2, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(Local2, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Local2, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0)
+ }
+
+ NOr(Local2, 0, Local0)
+ m600(arg0, 12, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Local2, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0)
+
+ NOr(Local2, aui5, Local0)
+ m600(arg0, 14, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Local2, auij, Local0)
+ m600(arg0, 15, Local0, 0)
+
+ if (y078) {
+ NOr(Local2, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Local2, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0)
+ }
+
+ NOr(Local2, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Local2, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(Local2, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Local2, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(Local2, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Local2, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0)
+ }
+
+ // Conversion of the second operand
+
+ Store(NOr(0, Local2), Local0)
+ m600(arg0, 24, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(0xffffffffffffffff, Local2), Local0)
+ m600(arg0, 25, Local0, 0)
+
+ Store(NOr(aui5, Local2), Local0)
+ m600(arg0, 26, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(auij, Local2), Local0)
+ m600(arg0, 27, Local0, 0)
+
+ if (y078) {
+ Store(NOr(Derefof(Refof(aui5)), Local2), Local0)
+ m600(arg0, 28, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(Refof(auij)), Local2), Local0)
+ m600(arg0, 29, Local0, 0)
+ }
+
+ Store(NOr(Derefof(Index(paui, 5)), Local2), Local0)
+ m600(arg0, 30, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(Index(paui, 19)), Local2), Local0)
+ m600(arg0, 31, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(m601(1, 5), Local2), Local0)
+ m600(arg0, 32, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(m601(1, 19), Local2), Local0)
+ m600(arg0, 33, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(Derefof(m602(1, 5, 1)), Local2), Local0)
+ m600(arg0, 34, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(m602(1, 19, 1)), Local2), Local0)
+ m600(arg0, 35, Local0, 0)
+ }
+
+ NOr(0, Local2, Local0)
+ m600(arg0, 36, Local0, 0x01834c6e29af5d7b)
+
+ NOr(0xffffffffffffffff, Local2, Local0)
+ m600(arg0, 37, Local0, 0)
+
+ NOr(aui5, Local2, Local0)
+ m600(arg0, 38, Local0, 0x01834c6e29af5d7b)
+
+ NOr(auij, Local2, Local0)
+ m600(arg0, 39, Local0, 0)
+
+ if (y078) {
+ NOr(Derefof(Refof(aui5)), Local2, Local0)
+ m600(arg0, 40, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(Refof(auij)), Local2, Local0)
+ m600(arg0, 41, Local0, 0)
+ }
+
+ NOr(Derefof(Index(paui, 5)), Local2, Local0)
+ m600(arg0, 42, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(Index(paui, 19)), Local2, Local0)
+ m600(arg0, 43, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(m601(1, 5), Local2, Local0)
+ m600(arg0, 44, Local0, 0x01834c6e29af5d7b)
+
+ NOr(m601(1, 19), Local2, Local0)
+ m600(arg0, 45, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(Derefof(m602(1, 5, 1)), Local2, Local0)
+ m600(arg0, 46, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(m602(1, 19, 1)), Local2, Local0)
+ m600(arg0, 47, Local0, 0)
+ }
+
+ // Conversion of the both operands
+
+ Store(NOr(Local1, Local2), Local0)
+ m600(arg0, 48, Local0, 0x01834c6e29af5c5a)
+
+ Store(NOr(Local2, Local1), Local0)
+ m600(arg0, 49, Local0, 0x01834c6e29af5c5a)
+
+ NOr(Local1, Local2, Local0)
+ m600(arg0, 50, Local0, 0x01834c6e29af5c5a)
+
+ NOr(Local2, Local1, Local0)
+ m600(arg0, 51, Local0, 0x01834c6e29af5c5a)
+ }
+
+ // NOr, 32-bit
+ Method(m015, 1)
+ {
+ Store("0321", Local1)
+ Store("C179B3FE", Local2)
+
+ // Conversion of the first operand
+
+ Store(NOr(Local2, 0), Local0)
+ m600(arg0, 0, Local0, 0x3e864c01)
+
+ Store(NOr(Local2, 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0)
+
+ Store(NOr(Local2, aui5), Local0)
+ m600(arg0, 2, Local0, 0x3e864c01)
+
+ Store(NOr(Local2, auii), Local0)
+ m600(arg0, 3, Local0, 0)
+
+ if (y078) {
+ Store(NOr(Local2, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x3e864c01)
+
+ Store(NOr(Local2, Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0)
+ }
+
+ Store(NOr(Local2, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x3e864c01)
+
+ Store(NOr(Local2, Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(Local2, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x3e864c01)
+
+ Store(NOr(Local2, m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(Local2, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x3e864c01)
+
+ Store(NOr(Local2, Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0)
+ }
+
+ NOr(Local2, 0, Local0)
+ m600(arg0, 12, Local0, 0x3e864c01)
+
+ NOr(Local2, 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0)
+
+ NOr(Local2, aui5, Local0)
+ m600(arg0, 14, Local0, 0x3e864c01)
+
+ NOr(Local2, auii, Local0)
+ m600(arg0, 15, Local0, 0)
+
+ if (y078) {
+ NOr(Local2, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x3e864c01)
+
+ NOr(Local2, Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0)
+ }
+
+ NOr(Local2, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x3e864c01)
+
+ NOr(Local2, Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(Local2, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x3e864c01)
+
+ NOr(Local2, m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(Local2, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x3e864c01)
+
+ NOr(Local2, Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0)
+ }
+
+ // Conversion of the second operand
+
+ Store(NOr(0, Local2), Local0)
+ m600(arg0, 24, Local0, 0x3e864c01)
+
+ Store(NOr(0xffffffff, Local2), Local0)
+ m600(arg0, 25, Local0, 0)
+
+ Store(NOr(aui5, Local2), Local0)
+ m600(arg0, 26, Local0, 0x3e864c01)
+
+ Store(NOr(auii, Local2), Local0)
+ m600(arg0, 27, Local0, 0)
+
+ if (y078) {
+ Store(NOr(Derefof(Refof(aui5)), Local2), Local0)
+ m600(arg0, 28, Local0, 0x3e864c01)
+
+ Store(NOr(Derefof(Refof(auii)), Local2), Local0)
+ m600(arg0, 29, Local0, 0)
+ }
+
+ Store(NOr(Derefof(Index(paui, 5)), Local2), Local0)
+ m600(arg0, 30, Local0, 0x3e864c01)
+
+ Store(NOr(Derefof(Index(paui, 18)), Local2), Local0)
+ m600(arg0, 31, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(m601(1, 5), Local2), Local0)
+ m600(arg0, 32, Local0, 0x3e864c01)
+
+ Store(NOr(m601(1, 18), Local2), Local0)
+ m600(arg0, 33, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(Derefof(m602(1, 5, 1)), Local2), Local0)
+ m600(arg0, 34, Local0, 0x3e864c01)
+
+ Store(NOr(Derefof(m602(1, 18, 1)), Local2), Local0)
+ m600(arg0, 35, Local0, 0)
+ }
+
+ NOr(0, Local2, Local0)
+ m600(arg0, 36, Local0, 0x3e864c01)
+
+ NOr(0xffffffff, Local2, Local0)
+ m600(arg0, 37, Local0, 0)
+
+ NOr(aui5, Local2, Local0)
+ m600(arg0, 38, Local0, 0x3e864c01)
+
+ NOr(auii, Local2, Local0)
+ m600(arg0, 39, Local0, 0)
+
+ if (y078) {
+ NOr(Derefof(Refof(aui5)), Local2, Local0)
+ m600(arg0, 40, Local0, 0x3e864c01)
+
+ NOr(Derefof(Refof(auii)), Local2, Local0)
+ m600(arg0, 41, Local0, 0)
+ }
+
+ NOr(Derefof(Index(paui, 5)), Local2, Local0)
+ m600(arg0, 42, Local0, 0x3e864c01)
+
+ NOr(Derefof(Index(paui, 18)), Local2, Local0)
+ m600(arg0, 43, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(m601(1, 5), Local2, Local0)
+ m600(arg0, 44, Local0, 0x3e864c01)
+
+ NOr(m601(1, 18), Local2, Local0)
+ m600(arg0, 45, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(Derefof(m602(1, 5, 1)), Local2, Local0)
+ m600(arg0, 46, Local0, 0x3e864c01)
+
+ NOr(Derefof(m602(1, 18, 1)), Local2, Local0)
+ m600(arg0, 47, Local0, 0)
+ }
+
+ // Conversion of the both operands
+
+ Store(NOr(Local1, Local2), Local0)
+ m600(arg0, 48, Local0, 0x3e864c00)
+
+ Store(NOr(Local2, Local1), Local0)
+ m600(arg0, 49, Local0, 0x3e864c00)
+
+ NOr(Local1, Local2, Local0)
+ m600(arg0, 50, Local0, 0x3e864c00)
+
+ NOr(Local2, Local1, Local0)
+ m600(arg0, 51, Local0, 0x3e864c00)
+ }
+
+ // Or, common 32-bit/64-bit test
+ Method(m016, 1)
+ {
+ Store("0321", Local1)
+
+ // Conversion of the first operand
+
+ Store(Or(Local1, 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Or(Local1, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xffffffffffffffff)
+
+ Store(Or(Local1, aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Or(Local1, auij), Local0)
+ m600(arg0, 3, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Store(Or(Local1, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Or(Local1, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xffffffffffffffff)
+ }
+
+ Store(Or(Local1, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Or(Local1, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Store(Or(Local1, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Or(Local1, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(Local1, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Or(Local1, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xffffffffffffffff)
+ }
+
+ Or(Local1, 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Or(Local1, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xffffffffffffffff)
+
+ Or(Local1, aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Or(Local1, auij, Local0)
+ m600(arg0, 15, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Or(Local1, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Or(Local1, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xffffffffffffffff)
+ }
+
+ Or(Local1, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Or(Local1, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Or(Local1, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Or(Local1, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(Local1, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Or(Local1, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xffffffffffffffff)
+ }
+
+ // Conversion of the second operand
+
+ Store(Or(0, Local1), Local0)
+ m600(arg0, 24, Local0, 0x321)
+
+ Store(Or(0xffffffffffffffff, Local1), Local0)
+ m600(arg0, 25, Local0, 0xffffffffffffffff)
+
+ Store(Or(aui5, Local1), Local0)
+ m600(arg0, 26, Local0, 0x321)
+
+ Store(Or(auij, Local1), Local0)
+ m600(arg0, 27, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Store(Or(Derefof(Refof(aui5)), Local1), Local0)
+ m600(arg0, 28, Local0, 0x321)
+
+ Store(Or(Derefof(Refof(auij)), Local1), Local0)
+ m600(arg0, 29, Local0, 0xffffffffffffffff)
+ }
+
+ Store(Or(Derefof(Index(paui, 5)), Local1), Local0)
+ m600(arg0, 30, Local0, 0x321)
+
+ Store(Or(Derefof(Index(paui, 19)), Local1), Local0)
+ m600(arg0, 31, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Store(Or(m601(1, 5), Local1), Local0)
+ m600(arg0, 32, Local0, 0x321)
+
+ Store(Or(m601(1, 19), Local1), Local0)
+ m600(arg0, 33, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(Derefof(m602(1, 5, 1)), Local1), Local0)
+ m600(arg0, 34, Local0, 0x321)
+
+ Store(Or(Derefof(m602(1, 19, 1)), Local1), Local0)
+ m600(arg0, 35, Local0, 0xffffffffffffffff)
+ }
+
+ Or(0, Local1, Local0)
+ m600(arg0, 36, Local0, 0x321)
+
+ Or(0xffffffffffffffff, Local1, Local0)
+ m600(arg0, 37, Local0, 0xffffffffffffffff)
+
+ Or(aui5, Local1, Local0)
+ m600(arg0, 38, Local0, 0x321)
+
+ Or(auij, Local1, Local0)
+ m600(arg0, 39, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Or(Derefof(Refof(aui5)), Local1, Local0)
+ m600(arg0, 40, Local0, 0x321)
+
+ Or(Derefof(Refof(auij)), Local1, Local0)
+ m600(arg0, 41, Local0, 0xffffffffffffffff)
+ }
+
+ Or(Derefof(Index(paui, 5)), Local1, Local0)
+ m600(arg0, 42, Local0, 0x321)
+
+ Or(Derefof(Index(paui, 19)), Local1, Local0)
+ m600(arg0, 43, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Or(m601(1, 5), Local1, Local0)
+ m600(arg0, 44, Local0, 0x321)
+
+ Or(m601(1, 19), Local1, Local0)
+ m600(arg0, 45, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(Derefof(m602(1, 5, 1)), Local1, Local0)
+ m600(arg0, 46, Local0, 0x321)
+
+ Or(Derefof(m602(1, 19, 1)), Local1, Local0)
+ m600(arg0, 47, Local0, 0xffffffffffffffff)
+ }
+ }
+
+ // Or, 64-bit
+ Method(m017, 1)
+ {
+ Store("0321", Local1)
+ Store("FE7CB391D650A284", Local2)
+
+ // Conversion of the first operand
+
+ Store(Or(Local2, 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Local2, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xffffffffffffffff)
+
+ Store(Or(Local2, aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Local2, auij), Local0)
+ m600(arg0, 3, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Store(Or(Local2, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Local2, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xffffffffffffffff)
+ }
+
+ Store(Or(Local2, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Local2, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Store(Or(Local2, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Local2, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(Local2, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Local2, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xffffffffffffffff)
+ }
+
+ Or(Local2, 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Or(Local2, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xffffffffffffffff)
+
+ Or(Local2, aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Or(Local2, auij, Local0)
+ m600(arg0, 15, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Or(Local2, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Or(Local2, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xffffffffffffffff)
+ }
+
+ Or(Local2, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Or(Local2, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Or(Local2, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Or(Local2, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(Local2, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Or(Local2, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xffffffffffffffff)
+ }
+
+ // Conversion of the second operand
+
+ Store(Or(0, Local2), Local0)
+ m600(arg0, 24, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(0xffffffffffffffff, Local2), Local0)
+ m600(arg0, 25, Local0, 0xffffffffffffffff)
+
+ Store(Or(aui5, Local2), Local0)
+ m600(arg0, 26, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(auij, Local2), Local0)
+ m600(arg0, 27, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Store(Or(Derefof(Refof(aui5)), Local2), Local0)
+ m600(arg0, 28, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(Refof(auij)), Local2), Local0)
+ m600(arg0, 29, Local0, 0xffffffffffffffff)
+ }
+
+ Store(Or(Derefof(Index(paui, 5)), Local2), Local0)
+ m600(arg0, 30, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(Index(paui, 19)), Local2), Local0)
+ m600(arg0, 31, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Store(Or(m601(1, 5), Local2), Local0)
+ m600(arg0, 32, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(m601(1, 19), Local2), Local0)
+ m600(arg0, 33, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(Derefof(m602(1, 5, 1)), Local2), Local0)
+ m600(arg0, 34, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(m602(1, 19, 1)), Local2), Local0)
+ m600(arg0, 35, Local0, 0xffffffffffffffff)
+ }
+
+ Or(0, Local2, Local0)
+ m600(arg0, 36, Local0, 0xfe7cb391d650a284)
+
+ Or(0xffffffffffffffff, Local2, Local0)
+ m600(arg0, 37, Local0, 0xffffffffffffffff)
+
+ Or(aui5, Local2, Local0)
+ m600(arg0, 38, Local0, 0xfe7cb391d650a284)
+
+ Or(auij, Local2, Local0)
+ m600(arg0, 39, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Or(Derefof(Refof(aui5)), Local2, Local0)
+ m600(arg0, 40, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(Refof(auij)), Local2, Local0)
+ m600(arg0, 41, Local0, 0xffffffffffffffff)
+ }
+
+ Or(Derefof(Index(paui, 5)), Local2, Local0)
+ m600(arg0, 42, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(Index(paui, 19)), Local2, Local0)
+ m600(arg0, 43, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Or(m601(1, 5), Local2, Local0)
+ m600(arg0, 44, Local0, 0xfe7cb391d650a284)
+
+ Or(m601(1, 19), Local2, Local0)
+ m600(arg0, 45, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(Derefof(m602(1, 5, 1)), Local2, Local0)
+ m600(arg0, 46, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(m602(1, 19, 1)), Local2, Local0)
+ m600(arg0, 47, Local0, 0xffffffffffffffff)
+ }
+
+ // Conversion of the both operands
+
+ Store(Or(Local1, Local2), Local0)
+ m600(arg0, 48, Local0, 0xfe7cb391d650a3a5)
+
+ Store(Or(Local2, Local1), Local0)
+ m600(arg0, 49, Local0, 0xfe7cb391d650a3a5)
+
+ Or(Local1, Local2, Local0)
+ m600(arg0, 50, Local0, 0xfe7cb391d650a3a5)
+
+ Or(Local2, Local1, Local0)
+ m600(arg0, 51, Local0, 0xfe7cb391d650a3a5)
+ }
+
+ // Or, 32-bit
+ Method(m018, 1)
+ {
+ Store("0321", Local1)
+ Store("C179B3FE", Local2)
+
+ // Conversion of the first operand
+
+ Store(Or(Local2, 0), Local0)
+ m600(arg0, 0, Local0, 0xc179b3fe)
+
+ Store(Or(Local2, 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0xffffffff)
+
+ Store(Or(Local2, aui5), Local0)
+ m600(arg0, 2, Local0, 0xc179b3fe)
+
+ Store(Or(Local2, auii), Local0)
+ m600(arg0, 3, Local0, 0xffffffff)
+
+ if (y078) {
+ Store(Or(Local2, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xc179b3fe)
+
+ Store(Or(Local2, Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0xffffffff)
+ }
+
+ Store(Or(Local2, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xc179b3fe)
+
+ Store(Or(Local2, Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0xffffffff)
+
+ // Method returns Integer
+
+ Store(Or(Local2, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xc179b3fe)
+
+ Store(Or(Local2, m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0xffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(Local2, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xc179b3fe)
+
+ Store(Or(Local2, Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0xffffffff)
+ }
+
+ Or(Local2, 0, Local0)
+ m600(arg0, 12, Local0, 0xc179b3fe)
+
+ Or(Local2, 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0xffffffff)
+
+ Or(Local2, aui5, Local0)
+ m600(arg0, 14, Local0, 0xc179b3fe)
+
+ Or(Local2, auii, Local0)
+ m600(arg0, 15, Local0, 0xffffffff)
+
+ if (y078) {
+ Or(Local2, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xc179b3fe)
+
+ Or(Local2, Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0xffffffff)
+ }
+
+ Or(Local2, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xc179b3fe)
+
+ Or(Local2, Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0xffffffff)
+
+ // Method returns Integer
+
+ Or(Local2, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xc179b3fe)
+
+ Or(Local2, m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0xffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(Local2, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xc179b3fe)
+
+ Or(Local2, Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0xffffffff)
+ }
+
+ // Conversion of the second operand
+
+ Store(Or(0, Local2), Local0)
+ m600(arg0, 24, Local0, 0xc179b3fe)
+
+ Store(Or(0xffffffff, Local2), Local0)
+ m600(arg0, 25, Local0, 0xffffffff)
+
+ Store(Or(aui5, Local2), Local0)
+ m600(arg0, 26, Local0, 0xc179b3fe)
+
+ Store(Or(auii, Local2), Local0)
+ m600(arg0, 27, Local0, 0xffffffff)
+
+ if (y078) {
+ Store(Or(Derefof(Refof(aui5)), Local2), Local0)
+ m600(arg0, 28, Local0, 0xc179b3fe)
+
+ Store(Or(Derefof(Refof(auii)), Local2), Local0)
+ m600(arg0, 29, Local0, 0xffffffff)
+ }
+
+ Store(Or(Derefof(Index(paui, 5)), Local2), Local0)
+ m600(arg0, 30, Local0, 0xc179b3fe)
+
+ Store(Or(Derefof(Index(paui, 18)), Local2), Local0)
+ m600(arg0, 31, Local0, 0xffffffff)
+
+ // Method returns Integer
+
+ Store(Or(m601(1, 5), Local2), Local0)
+ m600(arg0, 32, Local0, 0xc179b3fe)
+
+ Store(Or(m601(1, 18), Local2), Local0)
+ m600(arg0, 33, Local0, 0xffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(Derefof(m602(1, 5, 1)), Local2), Local0)
+ m600(arg0, 34, Local0, 0xc179b3fe)
+
+ Store(Or(Derefof(m602(1, 18, 1)), Local2), Local0)
+ m600(arg0, 35, Local0, 0xffffffff)
+ }
+
+ Or(0, Local2, Local0)
+ m600(arg0, 36, Local0, 0xc179b3fe)
+
+ Or(0xffffffff, Local2, Local0)
+ m600(arg0, 37, Local0, 0xffffffff)
+
+ Or(aui5, Local2, Local0)
+ m600(arg0, 38, Local0, 0xc179b3fe)
+
+ Or(auii, Local2, Local0)
+ m600(arg0, 39, Local0, 0xffffffff)
+
+ if (y078) {
+ Or(Derefof(Refof(aui5)), Local2, Local0)
+ m600(arg0, 40, Local0, 0xc179b3fe)
+
+ Or(Derefof(Refof(auii)), Local2, Local0)
+ m600(arg0, 41, Local0, 0xffffffff)
+ }
+
+ Or(Derefof(Index(paui, 5)), Local2, Local0)
+ m600(arg0, 42, Local0, 0xc179b3fe)
+
+ Or(Derefof(Index(paui, 18)), Local2, Local0)
+ m600(arg0, 43, Local0, 0xffffffff)
+
+ // Method returns Integer
+
+ Or(m601(1, 5), Local2, Local0)
+ m600(arg0, 44, Local0, 0xc179b3fe)
+
+ Or(m601(1, 18), Local2, Local0)
+ m600(arg0, 45, Local0, 0xffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(Derefof(m602(1, 5, 1)), Local2, Local0)
+ m600(arg0, 46, Local0, 0xc179b3fe)
+
+ Or(Derefof(m602(1, 18, 1)), Local2, Local0)
+ m600(arg0, 47, Local0, 0xffffffff)
+ }
+
+ // Conversion of the both operands
+
+ Store(Or(Local1, Local2), Local0)
+ m600(arg0, 48, Local0, 0xc179b3ff)
+
+ Store(Or(Local2, Local1), Local0)
+ m600(arg0, 49, Local0, 0xc179b3ff)
+
+ Or(Local1, Local2, Local0)
+ m600(arg0, 50, Local0, 0xc179b3ff)
+
+ Or(Local2, Local1, Local0)
+ m600(arg0, 51, Local0, 0xc179b3ff)
+ }
+
+ // ShiftLeft, common 32-bit/64-bit test
+ Method(m019, 1)
+ {
+ Store("0321", Local1)
+ Store("B", Local2)
+
+ // Conversion of the first operand
+
+ Store(ShiftLeft(Local1, 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(ShiftLeft(Local1, 1), Local0)
+ m600(arg0, 1, Local0, 0x642)
+
+ Store(ShiftLeft(Local1, aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(ShiftLeft(Local1, aui6), Local0)
+ m600(arg0, 3, Local0, 0x642)
+
+ if (y078) {
+ Store(ShiftLeft(Local1, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(ShiftLeft(Local1, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x642)
+ }
+
+ Store(ShiftLeft(Local1, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(ShiftLeft(Local1, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x642)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(Local1, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(ShiftLeft(Local1, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x642)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(Local1, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(ShiftLeft(Local1, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x642)
+ }
+
+ ShiftLeft(Local1, 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ ShiftLeft(Local1, 1, Local0)
+ m600(arg0, 13, Local0, 0x642)
+
+ ShiftLeft(Local1, aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ ShiftLeft(Local1, aui6, Local0)
+ m600(arg0, 15, Local0, 0x642)
+
+ if (y078) {
+ ShiftLeft(Local1, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ ShiftLeft(Local1, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x642)
+ }
+
+ ShiftLeft(Local1, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ ShiftLeft(Local1, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x642)
+
+ // Method returns Integer
+
+ ShiftLeft(Local1, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ ShiftLeft(Local1, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x642)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(Local1, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ ShiftLeft(Local1, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x642)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftLeft(0, Local2), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftLeft(1, Local2), Local0)
+ m600(arg0, 25, Local0, 0x800)
+
+ Store(ShiftLeft(aui5, Local2), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftLeft(aui6, Local2), Local0)
+ m600(arg0, 27, Local0, 0x800)
+
+ if (y078) {
+ Store(ShiftLeft(Derefof(Refof(aui5)), Local2), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Refof(aui6)), Local2), Local0)
+ m600(arg0, 29, Local0, 0x800)
+ }
+
+ Store(ShiftLeft(Derefof(Index(paui, 5)), Local2), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Index(paui, 6)), Local2), Local0)
+ m600(arg0, 31, Local0, 0x800)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(m601(1, 5), Local2), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftLeft(m601(1, 6), Local2), Local0)
+ m600(arg0, 33, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(Derefof(m602(1, 5, 1)), Local2), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftLeft(Derefof(m602(1, 6, 1)), Local2), Local0)
+ m600(arg0, 35, Local0, 0x800)
+ }
+
+ ShiftLeft(0, Local2, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftLeft(1, Local2, Local0)
+ m600(arg0, 37, Local0, 0x800)
+
+ ShiftLeft(aui5, Local2, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftLeft(aui6, Local2, Local0)
+ m600(arg0, 39, Local0, 0x800)
+
+ if (y078) {
+ ShiftLeft(Derefof(Refof(aui5)), Local2, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftLeft(Derefof(Refof(aui6)), Local2, Local0)
+ m600(arg0, 41, Local0, 0x800)
+ }
+
+ ShiftLeft(Derefof(Index(paui, 5)), Local2, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftLeft(Derefof(Index(paui, 6)), Local2, Local0)
+ m600(arg0, 43, Local0, 0x800)
+
+ // Method returns Integer
+
+ ShiftLeft(m601(1, 5), Local2, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftLeft(m601(1, 6), Local2, Local0)
+ m600(arg0, 45, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(Derefof(m602(1, 5, 1)), Local2, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftLeft(Derefof(m602(1, 6, 1)), Local2, Local0)
+ m600(arg0, 47, Local0, 0x800)
+ }
+ }
+
+ // ShiftLeft, 64-bit
+ Method(m01a, 1)
+ {
+ Store("0321", Local1)
+ Store("FE7CB391D650A284", Local2)
+ Store("B", Local3)
+
+ // Conversion of the first operand
+
+ Store(ShiftLeft(Local2, 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(Local2, 1), Local0)
+ m600(arg0, 1, Local0, 0xfcf96723aca14508)
+
+ Store(ShiftLeft(Local2, aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(Local2, aui6), Local0)
+ m600(arg0, 3, Local0, 0xfcf96723aca14508)
+
+ if (y078) {
+ Store(ShiftLeft(Local2, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(Local2, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xfcf96723aca14508)
+ }
+
+ Store(ShiftLeft(Local2, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(Local2, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xfcf96723aca14508)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(Local2, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(Local2, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xfcf96723aca14508)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(Local2, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(Local2, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfcf96723aca14508)
+ }
+
+ ShiftLeft(Local2, 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(Local2, 1, Local0)
+ m600(arg0, 13, Local0, 0xfcf96723aca14508)
+
+ ShiftLeft(Local2, aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(Local2, aui6, Local0)
+ m600(arg0, 15, Local0, 0xfcf96723aca14508)
+
+ if (y078) {
+ ShiftLeft(Local2, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(Local2, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xfcf96723aca14508)
+ }
+
+ ShiftLeft(Local2, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(Local2, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xfcf96723aca14508)
+
+ // Method returns Integer
+
+ ShiftLeft(Local2, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(Local2, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xfcf96723aca14508)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(Local2, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(Local2, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfcf96723aca14508)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftLeft(0, Local3), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftLeft(1, Local3), Local0)
+ m600(arg0, 25, Local0, 0x800)
+
+ Store(ShiftLeft(aui5, Local3), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftLeft(aui6, Local3), Local0)
+ m600(arg0, 27, Local0, 0x800)
+
+ if (y078) {
+ Store(ShiftLeft(Derefof(Refof(aui5)), Local3), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Refof(aui6)), Local3), Local0)
+ m600(arg0, 29, Local0, 0x800)
+ }
+
+ Store(ShiftLeft(Derefof(Index(paui, 5)), Local3), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Index(paui, 6)), Local3), Local0)
+ m600(arg0, 31, Local0, 0x800)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(m601(1, 5), Local3), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftLeft(m601(1, 6), Local3), Local0)
+ m600(arg0, 33, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(Derefof(m602(1, 5, 1)), Local3), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftLeft(Derefof(m602(1, 6, 1)), Local3), Local0)
+ m600(arg0, 35, Local0, 0x800)
+ }
+
+ ShiftLeft(0, Local3, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftLeft(1, Local3, Local0)
+ m600(arg0, 37, Local0, 0x800)
+
+ ShiftLeft(aui5, Local3, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftLeft(aui6, Local3, Local0)
+ m600(arg0, 39, Local0, 0x800)
+
+ if (y078) {
+ ShiftLeft(Derefof(Refof(aui5)), Local3, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftLeft(Derefof(Refof(aui6)), Local3, Local0)
+ m600(arg0, 41, Local0, 0x800)
+ }
+
+ ShiftLeft(Derefof(Index(paui, 5)), Local3, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftLeft(Derefof(Index(paui, 6)), Local3, Local0)
+ m600(arg0, 43, Local0, 0x800)
+
+ // Method returns Integer
+
+ ShiftLeft(m601(1, 5), Local3, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftLeft(m601(1, 6), Local3, Local0)
+ m600(arg0, 45, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(Derefof(m602(1, 5, 1)), Local3, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftLeft(Derefof(m602(1, 6, 1)), Local3, Local0)
+ m600(arg0, 47, Local0, 0x800)
+ }
+
+ // Conversion of the both operands
+
+ Store(ShiftLeft(Local1, Local3), Local0)
+ m600(arg0, 48, Local0, 0x190800)
+
+ Store(ShiftLeft(Local2, Local3), Local0)
+ m600(arg0, 49, Local0, 0xE59C8EB285142000)
+
+ ShiftLeft(Local1, Local3, Local0)
+ m600(arg0, 50, Local0, 0x190800)
+
+ ShiftLeft(Local2, Local3, Local0)
+ m600(arg0, 51, Local0, 0xE59C8EB285142000)
+ }
+
+ // ShiftLeft, 32-bit
+ Method(m01b, 1)
+ {
+ Store("0321", Local1)
+ Store("C179B3FE", Local2)
+ Store("B", Local3)
+
+ // Conversion of the first operand
+
+ Store(ShiftLeft(Local2, 0), Local0)
+ m600(arg0, 0, Local0, 0xc179b3fe)
+
+ Store(ShiftLeft(Local2, 1), Local0)
+ m600(arg0, 1, Local0, 0x82f367fc)
+
+ Store(ShiftLeft(Local2, aui5), Local0)
+ m600(arg0, 2, Local0, 0xc179b3fe)
+
+ Store(ShiftLeft(Local2, aui6), Local0)
+ m600(arg0, 3, Local0, 0x82f367fc)
+
+ if (y078) {
+ Store(ShiftLeft(Local2, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xc179b3fe)
+
+ Store(ShiftLeft(Local2, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x82f367fc)
+ }
+
+ Store(ShiftLeft(Local2, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xc179b3fe)
+
+ Store(ShiftLeft(Local2, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x82f367fc)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(Local2, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xc179b3fe)
+
+ Store(ShiftLeft(Local2, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x82f367fc)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(Local2, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xc179b3fe)
+
+ Store(ShiftLeft(Local2, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x82f367fc)
+ }
+
+ ShiftLeft(Local2, 0, Local0)
+ m600(arg0, 12, Local0, 0xc179b3fe)
+
+ ShiftLeft(Local2, 1, Local0)
+ m600(arg0, 13, Local0, 0x82f367fc)
+
+ ShiftLeft(Local2, aui5, Local0)
+ m600(arg0, 14, Local0, 0xc179b3fe)
+
+ ShiftLeft(Local2, aui6, Local0)
+ m600(arg0, 15, Local0, 0x82f367fc)
+
+ if (y078) {
+ ShiftLeft(Local2, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xc179b3fe)
+
+ ShiftLeft(Local2, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x82f367fc)
+ }
+
+ ShiftLeft(Local2, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xc179b3fe)
+
+ ShiftLeft(Local2, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x82f367fc)
+
+ // Method returns Integer
+
+ ShiftLeft(Local2, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xc179b3fe)
+
+ ShiftLeft(Local2, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x82f367fc)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(Local2, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xc179b3fe)
+
+ ShiftLeft(Local2, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x82f367fc)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftLeft(0, Local3), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftLeft(1, Local3), Local0)
+ m600(arg0, 25, Local0, 0x800)
+
+ Store(ShiftLeft(aui5, Local3), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftLeft(aui6, Local3), Local0)
+ m600(arg0, 27, Local0, 0x800)
+
+ if (y078) {
+ Store(ShiftLeft(Derefof(Refof(aui5)), Local3), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Refof(aui6)), Local3), Local0)
+ m600(arg0, 29, Local0, 0x800)
+ }
+
+ Store(ShiftLeft(Derefof(Index(paui, 5)), Local3), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Index(paui, 6)), Local3), Local0)
+ m600(arg0, 31, Local0, 0x800)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(m601(1, 5), Local3), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftLeft(m601(1, 6), Local3), Local0)
+ m600(arg0, 33, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(Derefof(m602(1, 5, 1)), Local3), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftLeft(Derefof(m602(1, 6, 1)), Local3), Local0)
+ m600(arg0, 35, Local0, 0x800)
+ }
+
+ ShiftLeft(0, Local3, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftLeft(1, Local3, Local0)
+ m600(arg0, 37, Local0, 0x800)
+
+ ShiftLeft(aui5, Local3, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftLeft(aui6, Local3, Local0)
+ m600(arg0, 39, Local0, 0x800)
+
+ if (y078) {
+ ShiftLeft(Derefof(Refof(aui5)), Local3, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftLeft(Derefof(Refof(aui6)), Local3, Local0)
+ m600(arg0, 41, Local0, 0x800)
+ }
+
+ ShiftLeft(Derefof(Index(paui, 5)), Local3, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftLeft(Derefof(Index(paui, 6)), Local3, Local0)
+ m600(arg0, 43, Local0, 0x800)
+
+ // Method returns Integer
+
+ ShiftLeft(m601(1, 5), Local3, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftLeft(m601(1, 6), Local3, Local0)
+ m600(arg0, 45, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(Derefof(m602(1, 5, 1)), Local3, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftLeft(Derefof(m602(1, 6, 1)), Local3, Local0)
+ m600(arg0, 47, Local0, 0x800)
+ }
+
+ // Conversion of the both operands
+
+ Store(ShiftLeft(Local1, Local3), Local0)
+ m600(arg0, 48, Local0, 0x190800)
+
+ Store(ShiftLeft(Local2, Local3), Local0)
+ m600(arg0, 49, Local0, 0xcd9ff000)
+
+ ShiftLeft(Local1, Local3, Local0)
+ m600(arg0, 50, Local0, 0x190800)
+
+ ShiftLeft(Local2, Local3, Local0)
+ m600(arg0, 51, Local0, 0xcd9ff000)
+ }
+
+ // ShiftRight, common 32-bit/64-bit test
+ Method(m01c, 1)
+ {
+ Store("0321", Local1)
+ Store("B", Local2)
+
+ // Conversion of the first operand
+
+ Store(ShiftRight(Local1, 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(ShiftRight(Local1, 1), Local0)
+ m600(arg0, 1, Local0, 0x190)
+
+ Store(ShiftRight(Local1, aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(ShiftRight(Local1, aui6), Local0)
+ m600(arg0, 3, Local0, 0x190)
+
+ if (y078) {
+ Store(ShiftRight(Local1, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(ShiftRight(Local1, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x190)
+ }
+
+ Store(ShiftRight(Local1, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(ShiftRight(Local1, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x190)
+
+ // Method returns Integer
+
+ Store(ShiftRight(Local1, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(ShiftRight(Local1, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x190)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(Local1, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(ShiftRight(Local1, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x190)
+ }
+
+ ShiftRight(Local1, 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ ShiftRight(Local1, 1, Local0)
+ m600(arg0, 13, Local0, 0x190)
+
+ ShiftRight(Local1, aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ ShiftRight(Local1, aui6, Local0)
+ m600(arg0, 15, Local0, 0x190)
+
+ if (y078) {
+ ShiftRight(Local1, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ ShiftRight(Local1, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x190)
+ }
+
+ ShiftRight(Local1, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ ShiftRight(Local1, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x190)
+
+ // Method returns Integer
+
+ ShiftRight(Local1, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ ShiftRight(Local1, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x190)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(Local1, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ ShiftRight(Local1, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x190)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftRight(0x321, Local2), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftRight(0xc179b3fe, Local2), Local0)
+ m600(arg0, 25, Local0, 0x182f36)
+
+ Store(ShiftRight(aui1, Local2), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftRight(aui3, Local2), Local0)
+ m600(arg0, 27, Local0, 0x182f36)
+
+ if (y078) {
+ Store(ShiftRight(Derefof(Refof(aui1)), Local2), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftRight(Derefof(Refof(aui3)), Local2), Local0)
+ m600(arg0, 29, Local0, 0x182f36)
+ }
+
+ Store(ShiftRight(Derefof(Index(paui, 1)), Local2), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftRight(Derefof(Index(paui, 3)), Local2), Local0)
+ m600(arg0, 31, Local0, 0x182f36)
+
+ // Method returns Integer
+
+ Store(ShiftRight(m601(1, 1), Local2), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftRight(m601(1, 3), Local2), Local0)
+ m600(arg0, 33, Local0, 0x182f36)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(Derefof(m602(1, 1, 1)), Local2), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftRight(Derefof(m602(1, 3, 1)), Local2), Local0)
+ m600(arg0, 35, Local0, 0x182f36)
+ }
+
+ ShiftRight(0x321, Local2, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftRight(0xc179b3fe, Local2, Local0)
+ m600(arg0, 37, Local0, 0x182f36)
+
+ ShiftRight(aui1, Local2, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftRight(aui3, Local2, Local0)
+ m600(arg0, 39, Local0, 0x182f36)
+
+ if (y078) {
+ ShiftRight(Derefof(Refof(aui1)), Local2, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftRight(Derefof(Refof(aui3)), Local2, Local0)
+ m600(arg0, 41, Local0, 0x182f36)
+ }
+
+ ShiftRight(Derefof(Index(paui, 1)), Local2, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftRight(Derefof(Index(paui, 3)), Local2, Local0)
+ m600(arg0, 43, Local0, 0x182f36)
+
+ // Method returns Integer
+
+ ShiftRight(m601(1, 1), Local2, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftRight(m601(1, 3), Local2, Local0)
+ m600(arg0, 45, Local0, 0x182f36)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(Derefof(m602(1, 1, 1)), Local2, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftRight(Derefof(m602(1, 3, 1)), Local2, Local0)
+ m600(arg0, 47, Local0, 0x182f36)
+ }
+ }
+
+ // ShiftRight, 64-bit
+ Method(m01d, 1)
+ {
+ Store("0321", Local1)
+ Store("FE7CB391D650A284", Local2)
+ Store("B", Local3)
+
+ // Conversion of the first operand
+
+ Store(ShiftRight(Local2, 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(Local2, 1), Local0)
+ m600(arg0, 1, Local0, 0x7f3e59c8eb285142)
+
+ Store(ShiftRight(Local2, aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(Local2, aui6), Local0)
+ m600(arg0, 3, Local0, 0x7f3e59c8eb285142)
+
+ if (y078) {
+ Store(ShiftRight(Local2, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(Local2, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x7f3e59c8eb285142)
+ }
+
+ Store(ShiftRight(Local2, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(Local2, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x7f3e59c8eb285142)
+
+ // Method returns Integer
+
+ Store(ShiftRight(Local2, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(Local2, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x7f3e59c8eb285142)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(Local2, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(Local2, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x7f3e59c8eb285142)
+ }
+
+ ShiftRight(Local2, 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(Local2, 1, Local0)
+ m600(arg0, 13, Local0, 0x7f3e59c8eb285142)
+
+ ShiftRight(Local2, aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(Local2, aui6, Local0)
+ m600(arg0, 15, Local0, 0x7f3e59c8eb285142)
+
+ if (y078) {
+ ShiftRight(Local2, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(Local2, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x7f3e59c8eb285142)
+ }
+
+ ShiftRight(Local2, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(Local2, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x7f3e59c8eb285142)
+
+ // Method returns Integer
+
+ ShiftRight(Local2, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(Local2, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x7f3e59c8eb285142)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(Local2, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(Local2, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x7f3e59c8eb285142)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftRight(0x321, Local3), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftRight(0xfe7cb391d650a284, Local3), Local0)
+ m600(arg0, 25, Local0, 0x1fcf96723aca14)
+
+ Store(ShiftRight(aui1, Local3), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftRight(aui4, Local3), Local0)
+ m600(arg0, 27, Local0, 0x1fcf96723aca14)
+
+ if (y078) {
+ Store(ShiftRight(Derefof(Refof(aui1)), Local3), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftRight(Derefof(Refof(aui4)), Local3), Local0)
+ m600(arg0, 29, Local0, 0x1fcf96723aca14)
+ }
+
+ Store(ShiftRight(Derefof(Index(paui, 1)), Local3), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftRight(Derefof(Index(paui, 4)), Local3), Local0)
+ m600(arg0, 31, Local0, 0x1fcf96723aca14)
+
+ // Method returns Integer
+
+ Store(ShiftRight(m601(1, 1), Local3), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftRight(m601(1, 4), Local3), Local0)
+ m600(arg0, 33, Local0, 0x1fcf96723aca14)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(Derefof(m602(1, 1, 1)), Local3), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftRight(Derefof(m602(1, 4, 1)), Local3), Local0)
+ m600(arg0, 35, Local0, 0x1fcf96723aca14)
+ }
+
+ ShiftRight(0x321, Local3, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftRight(0xfe7cb391d650a284, Local3, Local0)
+ m600(arg0, 37, Local0, 0x1fcf96723aca14)
+
+ ShiftRight(aui1, Local3, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftRight(aui4, Local3, Local0)
+ m600(arg0, 39, Local0, 0x1fcf96723aca14)
+
+ if (y078) {
+ ShiftRight(Derefof(Refof(aui1)), Local3, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftRight(Derefof(Refof(aui4)), Local3, Local0)
+ m600(arg0, 41, Local0, 0x1fcf96723aca14)
+ }
+
+ ShiftRight(Derefof(Index(paui, 1)), Local3, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftRight(Derefof(Index(paui, 4)), Local3, Local0)
+ m600(arg0, 43, Local0, 0x1fcf96723aca14)
+
+ // Method returns Integer
+
+ ShiftRight(m601(1, 1), Local3, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftRight(m601(1, 4), Local3, Local0)
+ m600(arg0, 45, Local0, 0x1fcf96723aca14)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(Derefof(m602(1, 1, 1)), Local3, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftRight(Derefof(m602(1, 4, 1)), Local3, Local0)
+ m600(arg0, 47, Local0, 0x1fcf96723aca14)
+ }
+
+ // Conversion of the both operands
+
+ Store(ShiftRight(Local1, Local3), Local0)
+ m600(arg0, 48, Local0, 0)
+
+ Store(ShiftRight(Local2, Local3), Local0)
+ m600(arg0, 49, Local0, 0x1fcf96723aca14)
+
+ ShiftRight(Local1, Local3, Local0)
+ m600(arg0, 50, Local0, 0)
+
+ ShiftRight(Local2, Local3, Local0)
+ m600(arg0, 51, Local0, 0x1fcf96723aca14)
+ }
+
+ // ShiftRight, 32-bit
+ Method(m01e, 1)
+ {
+ Store("0321", Local1)
+ Store("C179B3FE", Local2)
+ Store("B", Local3)
+
+ // Conversion of the first operand
+
+ Store(ShiftRight(Local2, 0), Local0)
+ m600(arg0, 0, Local0, 0xc179b3fe)
+
+ Store(ShiftRight(Local2, 1), Local0)
+ m600(arg0, 1, Local0, 0x60bcd9ff)
+
+ Store(ShiftRight(Local2, aui5), Local0)
+ m600(arg0, 2, Local0, 0xc179b3fe)
+
+ Store(ShiftRight(Local2, aui6), Local0)
+ m600(arg0, 3, Local0, 0x60bcd9ff)
+
+ if (y078) {
+ Store(ShiftRight(Local2, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xc179b3fe)
+
+ Store(ShiftRight(Local2, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x60bcd9ff)
+ }
+
+ Store(ShiftRight(Local2, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xc179b3fe)
+
+ Store(ShiftRight(Local2, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x60bcd9ff)
+
+ // Method returns Integer
+
+ Store(ShiftRight(Local2, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xc179b3fe)
+
+ Store(ShiftRight(Local2, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x60bcd9ff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(Local2, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xc179b3fe)
+
+ Store(ShiftRight(Local2, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x60bcd9ff)
+ }
+
+ ShiftRight(Local2, 0, Local0)
+ m600(arg0, 12, Local0, 0xc179b3fe)
+
+ ShiftRight(Local2, 1, Local0)
+ m600(arg0, 13, Local0, 0x60bcd9ff)
+
+ ShiftRight(Local2, aui5, Local0)
+ m600(arg0, 14, Local0, 0xc179b3fe)
+
+ ShiftRight(Local2, aui6, Local0)
+ m600(arg0, 15, Local0, 0x60bcd9ff)
+
+ if (y078) {
+ ShiftRight(Local2, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xc179b3fe)
+
+ ShiftRight(Local2, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x60bcd9ff)
+ }
+
+ ShiftRight(Local2, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xc179b3fe)
+
+ ShiftRight(Local2, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x60bcd9ff)
+
+ // Method returns Integer
+
+ ShiftRight(Local2, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xc179b3fe)
+
+ ShiftRight(Local2, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x60bcd9ff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(Local2, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xc179b3fe)
+
+ ShiftRight(Local2, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x60bcd9ff)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftRight(0x321, Local3), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftRight(0xc179b3fe, Local3), Local0)
+ m600(arg0, 25, Local0, 0x182f36)
+
+ Store(ShiftRight(aui1, Local3), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftRight(aui3, Local3), Local0)
+ m600(arg0, 27, Local0, 0x182f36)
+
+ if (y078) {
+ Store(ShiftRight(Derefof(Refof(aui1)), Local3), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftRight(Derefof(Refof(aui3)), Local3), Local0)
+ m600(arg0, 29, Local0, 0x182f36)
+ }
+
+ Store(ShiftRight(Derefof(Index(paui, 1)), Local3), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftRight(Derefof(Index(paui, 3)), Local3), Local0)
+ m600(arg0, 31, Local0, 0x182f36)
+
+ // Method returns Integer
+
+ Store(ShiftRight(m601(1, 1), Local3), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftRight(m601(1, 3), Local3), Local0)
+ m600(arg0, 33, Local0, 0x182f36)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(Derefof(m602(1, 1, 1)), Local3), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftRight(Derefof(m602(1, 3, 1)), Local3), Local0)
+ m600(arg0, 35, Local0, 0x182f36)
+ }
+
+ ShiftRight(0x321, Local3, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftRight(0xc179b3fe, Local3, Local0)
+ m600(arg0, 37, Local0, 0x182f36)
+
+ ShiftRight(aui1, Local3, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftRight(aui3, Local3, Local0)
+ m600(arg0, 39, Local0, 0x182f36)
+
+ if (y078) {
+ ShiftRight(Derefof(Refof(aui1)), Local3, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftRight(Derefof(Refof(aui3)), Local3, Local0)
+ m600(arg0, 41, Local0, 0x182f36)
+ }
+
+ ShiftRight(Derefof(Index(paui, 1)), Local3, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftRight(Derefof(Index(paui, 3)), Local3, Local0)
+ m600(arg0, 43, Local0, 0x182f36)
+
+ // Method returns Integer
+
+ ShiftRight(m601(1, 1), Local3, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftRight(m601(1, 3), Local3, Local0)
+ m600(arg0, 45, Local0, 0x182f36)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(Derefof(m602(1, 1, 1)), Local3, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftRight(Derefof(m602(1, 3, 1)), Local3, Local0)
+ m600(arg0, 47, Local0, 0x182f36)
+ }
+
+ // Conversion of the both operands
+
+ Store(ShiftRight(Local1, Local3), Local0)
+ m600(arg0, 48, Local0, 0)
+
+ Store(ShiftRight(Local2, Local3), Local0)
+ m600(arg0, 49, Local0, 0x182f36)
+
+ ShiftRight(Local1, Local3, Local0)
+ m600(arg0, 50, Local0, 0)
+
+ ShiftRight(Local2, Local3, Local0)
+ m600(arg0, 51, Local0, 0x182f36)
+ }
+
+ // Subtract, common 32-bit/64-bit test
+ Method(m01f, 1)
+ {
+ Store("0321", Local1)
+
+ // Conversion of the first operand
+
+ Store(Subtract(Local1, 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Subtract(Local1, 1), Local0)
+ m600(arg0, 1, Local0, 0x320)
+
+ Store(Subtract(Local1, aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Subtract(Local1, aui6), Local0)
+ m600(arg0, 3, Local0, 0x320)
+
+ if (y078) {
+ Store(Subtract(Local1, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Subtract(Local1, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x320)
+ }
+
+ Store(Subtract(Local1, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Subtract(Local1, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x320)
+
+ // Method returns Integer
+
+ Store(Subtract(Local1, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Subtract(Local1, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x320)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(Local1, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Subtract(Local1, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x320)
+ }
+
+ Subtract(Local1, 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Subtract(Local1, 1, Local0)
+ m600(arg0, 13, Local0, 0x320)
+
+ Subtract(Local1, aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Subtract(Local1, aui6, Local0)
+ m600(arg0, 15, Local0, 0x320)
+
+ if (y078) {
+ Subtract(Local1, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Subtract(Local1, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x320)
+ }
+
+ Subtract(Local1, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Subtract(Local1, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x320)
+
+ // Method returns Integer
+
+ Subtract(Local1, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Subtract(Local1, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x320)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(Local1, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Subtract(Local1, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x320)
+ }
+
+ // Conversion of the second operand
+
+ Store(Subtract(0, Local1), Local0)
+ m600(arg0, 24, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(1, Local1), Local0)
+ m600(arg0, 25, Local0, 0xfffffffffffffce0)
+
+ Store(Subtract(aui5, Local1), Local0)
+ m600(arg0, 26, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(aui6, Local1), Local0)
+ m600(arg0, 27, Local0, 0xfffffffffffffce0)
+
+ if (y078) {
+ Store(Subtract(Derefof(Refof(aui5)), Local1), Local0)
+ m600(arg0, 28, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(Derefof(Refof(aui6)), Local1), Local0)
+ m600(arg0, 29, Local0, 0xfffffffffffffce0)
+ }
+
+ Store(Subtract(Derefof(Index(paui, 5)), Local1), Local0)
+ m600(arg0, 30, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(Derefof(Index(paui, 6)), Local1), Local0)
+ m600(arg0, 31, Local0, 0xfffffffffffffce0)
+
+ // Method returns Integer
+
+ Store(Subtract(m601(1, 5), Local1), Local0)
+ m600(arg0, 32, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(m601(1, 6), Local1), Local0)
+ m600(arg0, 33, Local0, 0xfffffffffffffce0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(Derefof(m602(1, 5, 1)), Local1), Local0)
+ m600(arg0, 34, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(Derefof(m602(1, 6, 1)), Local1), Local0)
+ m600(arg0, 35, Local0, 0xfffffffffffffce0)
+ }
+
+ Subtract(0, Local1, Local0)
+ m600(arg0, 36, Local0, 0xfffffffffffffcdf)
+
+ Subtract(1, Local1, Local0)
+ m600(arg0, 37, Local0, 0xfffffffffffffce0)
+
+ Subtract(aui5, Local1, Local0)
+ m600(arg0, 38, Local0, 0xfffffffffffffcdf)
+
+ Subtract(aui6, Local1, Local0)
+ m600(arg0, 39, Local0, 0xfffffffffffffce0)
+
+ if (y078) {
+ Subtract(Derefof(Refof(aui5)), Local1, Local0)
+ m600(arg0, 40, Local0, 0xfffffffffffffcdf)
+
+ Subtract(Derefof(Refof(aui6)), Local1, Local0)
+ m600(arg0, 41, Local0, 0xfffffffffffffce0)
+ }
+
+ Subtract(Derefof(Index(paui, 5)), Local1, Local0)
+ m600(arg0, 42, Local0, 0xfffffffffffffcdf)
+
+ Subtract(Derefof(Index(paui, 6)), Local1, Local0)
+ m600(arg0, 43, Local0, 0xfffffffffffffce0)
+
+ // Method returns Integer
+
+ Subtract(m601(1, 5), Local1, Local0)
+ m600(arg0, 44, Local0, 0xfffffffffffffcdf)
+
+ Subtract(m601(1, 6), Local1, Local0)
+ m600(arg0, 45, Local0, 0xfffffffffffffce0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(Derefof(m602(1, 5, 1)), Local1, Local0)
+ m600(arg0, 46, Local0, 0xfffffffffffffcdf)
+
+ Subtract(Derefof(m602(1, 6, 1)), Local1, Local0)
+ m600(arg0, 47, Local0, 0xfffffffffffffce0)
+ }
+ }
+
+ // Subtract, 64-bit
+ Method(m020, 1)
+ {
+ Store("0321", Local1)
+ Store("FE7CB391D650A284", Local2)
+
+ // Conversion of the first operand
+
+ Store(Subtract(Local2, 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(Local2, 1), Local0)
+ m600(arg0, 1, Local0, 0xfe7cb391d650a283)
+
+ Store(Subtract(Local2, aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(Local2, aui6), Local0)
+ m600(arg0, 3, Local0, 0xfe7cb391d650a283)
+
+ if (y078) {
+ Store(Subtract(Local2, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(Local2, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xfe7cb391d650a283)
+ }
+
+ Store(Subtract(Local2, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(Local2, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Integer
+
+ Store(Subtract(Local2, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(Local2, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(Local2, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(Local2, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfe7cb391d650a283)
+ }
+
+ Subtract(Local2, 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Subtract(Local2, 1, Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a283)
+
+ Subtract(Local2, aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Subtract(Local2, aui6, Local0)
+ m600(arg0, 15, Local0, 0xfe7cb391d650a283)
+
+ if (y078) {
+ Subtract(Local2, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Subtract(Local2, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xfe7cb391d650a283)
+ }
+
+ Subtract(Local2, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Subtract(Local2, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Integer
+
+ Subtract(Local2, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Subtract(Local2, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(Local2, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Subtract(Local2, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfe7cb391d650a283)
+ }
+
+ // Conversion of the second operand
+
+ Store(Subtract(0, Local2), Local0)
+ m600(arg0, 24, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(1, Local2), Local0)
+ m600(arg0, 25, Local0, 0x01834c6e29af5d7d)
+
+ Store(Subtract(aui5, Local2), Local0)
+ m600(arg0, 26, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(aui6, Local2), Local0)
+ m600(arg0, 27, Local0, 0x01834c6e29af5d7d)
+
+ if (y078) {
+ Store(Subtract(Derefof(Refof(aui5)), Local2), Local0)
+ m600(arg0, 28, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(Derefof(Refof(aui6)), Local2), Local0)
+ m600(arg0, 29, Local0, 0x01834c6e29af5d7d)
+ }
+
+ Store(Subtract(Derefof(Index(paui, 5)), Local2), Local0)
+ m600(arg0, 30, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(Derefof(Index(paui, 6)), Local2), Local0)
+ m600(arg0, 31, Local0, 0x01834c6e29af5d7d)
+
+ // Method returns Integer
+
+ Store(Subtract(m601(1, 5), Local2), Local0)
+ m600(arg0, 32, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(m601(1, 6), Local2), Local0)
+ m600(arg0, 33, Local0, 0x01834c6e29af5d7d)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(Derefof(m602(1, 5, 1)), Local2), Local0)
+ m600(arg0, 34, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(Derefof(m602(1, 6, 1)), Local2), Local0)
+ m600(arg0, 35, Local0, 0x01834c6e29af5d7d)
+ }
+
+ Subtract(0, Local2, Local0)
+ m600(arg0, 36, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(1, Local2, Local0)
+ m600(arg0, 37, Local0, 0x01834c6e29af5d7d)
+
+ Subtract(aui5, Local2, Local0)
+ m600(arg0, 38, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(aui6, Local2, Local0)
+ m600(arg0, 39, Local0, 0x01834c6e29af5d7d)
+
+ if (y078) {
+ Subtract(Derefof(Refof(aui5)), Local2, Local0)
+ m600(arg0, 40, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(Derefof(Refof(aui6)), Local2, Local0)
+ m600(arg0, 41, Local0, 0x01834c6e29af5d7d)
+ }
+
+ Subtract(Derefof(Index(paui, 5)), Local2, Local0)
+ m600(arg0, 42, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(Derefof(Index(paui, 6)), Local2, Local0)
+ m600(arg0, 43, Local0, 0x01834c6e29af5d7d)
+
+ // Method returns Integer
+
+ Subtract(m601(1, 5), Local2, Local0)
+ m600(arg0, 44, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(m601(1, 6), Local2, Local0)
+ m600(arg0, 45, Local0, 0x01834c6e29af5d7d)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(Derefof(m602(1, 5, 1)), Local2, Local0)
+ m600(arg0, 46, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(Derefof(m602(1, 6, 1)), Local2, Local0)
+ m600(arg0, 47, Local0, 0x01834c6e29af5d7d)
+ }
+
+ // Conversion of the both operands
+
+ Store(Subtract(Local1, Local2), Local0)
+ m600(arg0, 48, Local0, 0x01834c6e29af609d)
+
+ Store(Subtract(Local2, Local1), Local0)
+ m600(arg0, 49, Local0, 0xfe7cb391d6509f63)
+
+ Subtract(Local1, Local2, Local0)
+ m600(arg0, 50, Local0, 0x01834c6e29af609d)
+
+ Subtract(Local2, Local1, Local0)
+ m600(arg0, 51, Local0, 0xfe7cb391d6509f63)
+ }
+
+ // Subtract, 32-bit
+ Method(m021, 1)
+ {
+ Store("0321", Local1)
+ Store("C179B3FE", Local2)
+
+ // Conversion of the first operand
+
+ Store(Subtract(Local2, 0), Local0)
+ m600(arg0, 0, Local0, 0xc179b3fe)
+
+ Store(Subtract(Local2, 1), Local0)
+ m600(arg0, 1, Local0, 0xc179b3fd)
+
+ Store(Subtract(Local2, aui5), Local0)
+ m600(arg0, 2, Local0, 0xc179b3fe)
+
+ Store(Subtract(Local2, aui6), Local0)
+ m600(arg0, 3, Local0, 0xc179b3fd)
+
+ if (y078) {
+ Store(Subtract(Local2, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xc179b3fe)
+
+ Store(Subtract(Local2, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xc179b3fd)
+ }
+
+ Store(Subtract(Local2, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xc179b3fe)
+
+ Store(Subtract(Local2, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xc179b3fd)
+
+ // Method returns Integer
+
+ Store(Subtract(Local2, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xc179b3fe)
+
+ Store(Subtract(Local2, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xc179b3fd)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(Local2, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xc179b3fe)
+
+ Store(Subtract(Local2, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xc179b3fd)
+ }
+
+ Subtract(Local2, 0, Local0)
+ m600(arg0, 12, Local0, 0xc179b3fe)
+
+ Subtract(Local2, 1, Local0)
+ m600(arg0, 13, Local0, 0xc179b3fd)
+
+ Subtract(Local2, aui5, Local0)
+ m600(arg0, 14, Local0, 0xc179b3fe)
+
+ Subtract(Local2, aui6, Local0)
+ m600(arg0, 15, Local0, 0xc179b3fd)
+
+ if (y078) {
+ Subtract(Local2, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xc179b3fe)
+
+ Subtract(Local2, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xc179b3fd)
+ }
+
+ Subtract(Local2, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xc179b3fe)
+
+ Subtract(Local2, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xc179b3fd)
+
+ // Method returns Integer
+
+ Subtract(Local2, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xc179b3fe)
+
+ Subtract(Local2, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xc179b3fd)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(Local2, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xc179b3fe)
+
+ Subtract(Local2, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xc179b3fd)
+ }
+
+ // Conversion of the second operand
+
+ Store(Subtract(0, Local2), Local0)
+ m600(arg0, 24, Local0, 0x3e864c02)
+
+ Store(Subtract(1, Local2), Local0)
+ m600(arg0, 25, Local0, 0x3e864c03)
+
+ Store(Subtract(aui5, Local2), Local0)
+ m600(arg0, 26, Local0, 0x3e864c02)
+
+ Store(Subtract(aui6, Local2), Local0)
+ m600(arg0, 27, Local0, 0x3e864c03)
+
+ if (y078) {
+ Store(Subtract(Derefof(Refof(aui5)), Local2), Local0)
+ m600(arg0, 28, Local0, 0x3e864c02)
+
+ Store(Subtract(Derefof(Refof(aui6)), Local2), Local0)
+ m600(arg0, 29, Local0, 0x3e864c03)
+ }
+
+ Store(Subtract(Derefof(Index(paui, 5)), Local2), Local0)
+ m600(arg0, 30, Local0, 0x3e864c02)
+
+ Store(Subtract(Derefof(Index(paui, 6)), Local2), Local0)
+ m600(arg0, 31, Local0, 0x3e864c03)
+
+ // Method returns Integer
+
+ Store(Subtract(m601(1, 5), Local2), Local0)
+ m600(arg0, 32, Local0, 0x3e864c02)
+
+ Store(Subtract(m601(1, 6), Local2), Local0)
+ m600(arg0, 33, Local0, 0x3e864c03)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(Derefof(m602(1, 5, 1)), Local2), Local0)
+ m600(arg0, 34, Local0, 0x3e864c02)
+
+ Store(Subtract(Derefof(m602(1, 6, 1)), Local2), Local0)
+ m600(arg0, 35, Local0, 0x3e864c03)
+ }
+
+ Subtract(0, Local2, Local0)
+ m600(arg0, 36, Local0, 0x3e864c02)
+
+ Subtract(1, Local2, Local0)
+ m600(arg0, 37, Local0, 0x3e864c03)
+
+ Subtract(aui5, Local2, Local0)
+ m600(arg0, 38, Local0, 0x3e864c02)
+
+ Subtract(aui6, Local2, Local0)
+ m600(arg0, 39, Local0, 0x3e864c03)
+
+ if (y078) {
+ Subtract(Derefof(Refof(aui5)), Local2, Local0)
+ m600(arg0, 40, Local0, 0x3e864c02)
+
+ Subtract(Derefof(Refof(aui6)), Local2, Local0)
+ m600(arg0, 41, Local0, 0x3e864c03)
+ }
+
+ Subtract(Derefof(Index(paui, 5)), Local2, Local0)
+ m600(arg0, 42, Local0, 0x3e864c02)
+
+ Subtract(Derefof(Index(paui, 6)), Local2, Local0)
+ m600(arg0, 43, Local0, 0x3e864c03)
+
+ // Method returns Integer
+
+ Subtract(m601(1, 5), Local2, Local0)
+ m600(arg0, 44, Local0, 0x3e864c02)
+
+ Subtract(m601(1, 6), Local2, Local0)
+ m600(arg0, 45, Local0, 0x3e864c03)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(Derefof(m602(1, 5, 1)), Local2, Local0)
+ m600(arg0, 46, Local0, 0x3e864c02)
+
+ Subtract(Derefof(m602(1, 6, 1)), Local2, Local0)
+ m600(arg0, 47, Local0, 0x3e864c03)
+ }
+
+ // Conversion of the both operands
+
+ Store(Subtract(Local1, Local2), Local0)
+ m600(arg0, 48, Local0, 0x3e864f23)
+
+ Store(Subtract(Local2, Local1), Local0)
+ m600(arg0, 49, Local0, 0xc179b0dd)
+
+ Subtract(Local1, Local2, Local0)
+ m600(arg0, 50, Local0, 0x3e864f23)
+
+ Subtract(Local2, Local1, Local0)
+ m600(arg0, 51, Local0, 0xc179b0dd)
+ }
+
+ // XOr, common 32-bit/64-bit test
+ Method(m022, 1)
+ {
+ Store("0321", Local1)
+
+ // Conversion of the first operand
+
+ Store(XOr(Local1, 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(XOr(Local1, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xfffffffffffffcde)
+
+ Store(XOr(Local1, aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(XOr(Local1, auij), Local0)
+ m600(arg0, 3, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ Store(XOr(Local1, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(XOr(Local1, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xfffffffffffffcde)
+ }
+
+ Store(XOr(Local1, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(XOr(Local1, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ Store(XOr(Local1, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(XOr(Local1, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(Local1, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(XOr(Local1, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfffffffffffffcde)
+ }
+
+ XOr(Local1, 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ XOr(Local1, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xfffffffffffffcde)
+
+ XOr(Local1, aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ XOr(Local1, auij, Local0)
+ m600(arg0, 15, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ XOr(Local1, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ XOr(Local1, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xfffffffffffffcde)
+ }
+
+ XOr(Local1, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ XOr(Local1, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ XOr(Local1, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ XOr(Local1, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(Local1, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ XOr(Local1, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfffffffffffffcde)
+ }
+
+ // Conversion of the second operand
+
+ Store(XOr(0, Local1), Local0)
+ m600(arg0, 24, Local0, 0x321)
+
+ Store(XOr(0xffffffffffffffff, Local1), Local0)
+ m600(arg0, 25, Local0, 0xfffffffffffffcde)
+
+ Store(XOr(aui5, Local1), Local0)
+ m600(arg0, 26, Local0, 0x321)
+
+ Store(XOr(auij, Local1), Local0)
+ m600(arg0, 27, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ Store(XOr(Derefof(Refof(aui5)), Local1), Local0)
+ m600(arg0, 28, Local0, 0x321)
+
+ Store(XOr(Derefof(Refof(auij)), Local1), Local0)
+ m600(arg0, 29, Local0, 0xfffffffffffffcde)
+ }
+
+ Store(XOr(Derefof(Index(paui, 5)), Local1), Local0)
+ m600(arg0, 30, Local0, 0x321)
+
+ Store(XOr(Derefof(Index(paui, 19)), Local1), Local0)
+ m600(arg0, 31, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ Store(XOr(m601(1, 5), Local1), Local0)
+ m600(arg0, 32, Local0, 0x321)
+
+ Store(XOr(m601(1, 19), Local1), Local0)
+ m600(arg0, 33, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(Derefof(m602(1, 5, 1)), Local1), Local0)
+ m600(arg0, 34, Local0, 0x321)
+
+ Store(XOr(Derefof(m602(1, 19, 1)), Local1), Local0)
+ m600(arg0, 35, Local0, 0xfffffffffffffcde)
+ }
+
+ XOr(0, Local1, Local0)
+ m600(arg0, 36, Local0, 0x321)
+
+ XOr(0xffffffffffffffff, Local1, Local0)
+ m600(arg0, 37, Local0, 0xfffffffffffffcde)
+
+ XOr(aui5, Local1, Local0)
+ m600(arg0, 38, Local0, 0x321)
+
+ XOr(auij, Local1, Local0)
+ m600(arg0, 39, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ XOr(Derefof(Refof(aui5)), Local1, Local0)
+ m600(arg0, 40, Local0, 0x321)
+
+ XOr(Derefof(Refof(auij)), Local1, Local0)
+ m600(arg0, 41, Local0, 0xfffffffffffffcde)
+ }
+
+ XOr(Derefof(Index(paui, 5)), Local1, Local0)
+ m600(arg0, 42, Local0, 0x321)
+
+ XOr(Derefof(Index(paui, 19)), Local1, Local0)
+ m600(arg0, 43, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ XOr(m601(1, 5), Local1, Local0)
+ m600(arg0, 44, Local0, 0x321)
+
+ XOr(m601(1, 19), Local1, Local0)
+ m600(arg0, 45, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(Derefof(m602(1, 5, 1)), Local1, Local0)
+ m600(arg0, 46, Local0, 0x321)
+
+ XOr(Derefof(m602(1, 19, 1)), Local1, Local0)
+ m600(arg0, 47, Local0, 0xfffffffffffffcde)
+ }
+ }
+
+ // XOr, 64-bit
+ Method(m023, 1)
+ {
+ Store("0321", Local1)
+ Store("FE7CB391D650A284", Local2)
+
+ // Conversion of the first operand
+
+ Store(XOr(Local2, 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Local2, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0x01834c6e29af5d7b)
+
+ Store(XOr(Local2, aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Local2, auij), Local0)
+ m600(arg0, 3, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ Store(XOr(Local2, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Local2, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Store(XOr(Local2, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Local2, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ Store(XOr(Local2, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Local2, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(Local2, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Local2, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0x01834c6e29af5d7b)
+ }
+
+ XOr(Local2, 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ XOr(Local2, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0x01834c6e29af5d7b)
+
+ XOr(Local2, aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ XOr(Local2, auij, Local0)
+ m600(arg0, 15, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ XOr(Local2, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ XOr(Local2, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0x01834c6e29af5d7b)
+ }
+
+ XOr(Local2, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ XOr(Local2, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ XOr(Local2, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ XOr(Local2, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(Local2, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ XOr(Local2, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0x01834c6e29af5d7b)
+ }
+
+ // Conversion of the second operand
+
+ Store(XOr(0, Local2), Local0)
+ m600(arg0, 24, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(0xffffffffffffffff, Local2), Local0)
+ m600(arg0, 25, Local0, 0x01834c6e29af5d7b)
+
+ Store(XOr(aui5, Local2), Local0)
+ m600(arg0, 26, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(auij, Local2), Local0)
+ m600(arg0, 27, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ Store(XOr(Derefof(Refof(aui5)), Local2), Local0)
+ m600(arg0, 28, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(Refof(auij)), Local2), Local0)
+ m600(arg0, 29, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Store(XOr(Derefof(Index(paui, 5)), Local2), Local0)
+ m600(arg0, 30, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(Index(paui, 19)), Local2), Local0)
+ m600(arg0, 31, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ Store(XOr(m601(1, 5), Local2), Local0)
+ m600(arg0, 32, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(m601(1, 19), Local2), Local0)
+ m600(arg0, 33, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(Derefof(m602(1, 5, 1)), Local2), Local0)
+ m600(arg0, 34, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(m602(1, 19, 1)), Local2), Local0)
+ m600(arg0, 35, Local0, 0x01834c6e29af5d7b)
+ }
+
+ XOr(0, Local2, Local0)
+ m600(arg0, 36, Local0, 0xfe7cb391d650a284)
+
+ XOr(0xffffffffffffffff, Local2, Local0)
+ m600(arg0, 37, Local0, 0x01834c6e29af5d7b)
+
+ XOr(aui5, Local2, Local0)
+ m600(arg0, 38, Local0, 0xfe7cb391d650a284)
+
+ XOr(auij, Local2, Local0)
+ m600(arg0, 39, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ XOr(Derefof(Refof(aui5)), Local2, Local0)
+ m600(arg0, 40, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(Refof(auij)), Local2, Local0)
+ m600(arg0, 41, Local0, 0x01834c6e29af5d7b)
+ }
+
+ XOr(Derefof(Index(paui, 5)), Local2, Local0)
+ m600(arg0, 42, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(Index(paui, 19)), Local2, Local0)
+ m600(arg0, 43, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ XOr(m601(1, 5), Local2, Local0)
+ m600(arg0, 44, Local0, 0xfe7cb391d650a284)
+
+ XOr(m601(1, 19), Local2, Local0)
+ m600(arg0, 45, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(Derefof(m602(1, 5, 1)), Local2, Local0)
+ m600(arg0, 46, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(m602(1, 19, 1)), Local2, Local0)
+ m600(arg0, 47, Local0, 0x01834c6e29af5d7b)
+ }
+
+ // Conversion of the both operands
+
+ Store(XOr(Local1, Local2), Local0)
+ m600(arg0, 48, Local0, 0xfe7cb391d650a1a5)
+
+ Store(XOr(Local2, Local1), Local0)
+ m600(arg0, 49, Local0, 0xfe7cb391d650a1a5)
+
+ XOr(Local1, Local2, Local0)
+ m600(arg0, 50, Local0, 0xfe7cb391d650a1a5)
+
+ XOr(Local2, Local1, Local0)
+ m600(arg0, 51, Local0, 0xfe7cb391d650a1a5)
+ }
+
+ // XOr, 32-bit
+ Method(m024, 1)
+ {
+ Store("0321", Local1)
+ Store("C179B3FE", Local2)
+
+ // Conversion of the first operand
+
+ Store(XOr(Local2, 0), Local0)
+ m600(arg0, 0, Local0, 0xc179b3fe)
+
+ Store(XOr(Local2, 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0x3e864c01)
+
+ Store(XOr(Local2, aui5), Local0)
+ m600(arg0, 2, Local0, 0xc179b3fe)
+
+ Store(XOr(Local2, auii), Local0)
+ m600(arg0, 3, Local0, 0x3e864c01)
+
+ if (y078) {
+ Store(XOr(Local2, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xc179b3fe)
+
+ Store(XOr(Local2, Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0x3e864c01)
+ }
+
+ Store(XOr(Local2, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xc179b3fe)
+
+ Store(XOr(Local2, Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0x3e864c01)
+
+ // Method returns Integer
+
+ Store(XOr(Local2, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xc179b3fe)
+
+ Store(XOr(Local2, m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0x3e864c01)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(Local2, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xc179b3fe)
+
+ Store(XOr(Local2, Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0x3e864c01)
+ }
+
+ XOr(Local2, 0, Local0)
+ m600(arg0, 12, Local0, 0xc179b3fe)
+
+ XOr(Local2, 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0x3e864c01)
+
+ XOr(Local2, aui5, Local0)
+ m600(arg0, 14, Local0, 0xc179b3fe)
+
+ XOr(Local2, auii, Local0)
+ m600(arg0, 15, Local0, 0x3e864c01)
+
+ if (y078) {
+ XOr(Local2, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xc179b3fe)
+
+ XOr(Local2, Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0x3e864c01)
+ }
+
+ XOr(Local2, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xc179b3fe)
+
+ XOr(Local2, Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0x3e864c01)
+
+ // Method returns Integer
+
+ XOr(Local2, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xc179b3fe)
+
+ XOr(Local2, m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0x3e864c01)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(Local2, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xc179b3fe)
+
+ XOr(Local2, Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0x3e864c01)
+ }
+
+ // Conversion of the second operand
+
+ Store(XOr(0, Local2), Local0)
+ m600(arg0, 24, Local0, 0xc179b3fe)
+
+ Store(XOr(0xffffffff, Local2), Local0)
+ m600(arg0, 25, Local0, 0x3e864c01)
+
+ Store(XOr(aui5, Local2), Local0)
+ m600(arg0, 26, Local0, 0xc179b3fe)
+
+ Store(XOr(auii, Local2), Local0)
+ m600(arg0, 27, Local0, 0x3e864c01)
+
+ if (y078) {
+ Store(XOr(Derefof(Refof(aui5)), Local2), Local0)
+ m600(arg0, 28, Local0, 0xc179b3fe)
+
+ Store(XOr(Derefof(Refof(auii)), Local2), Local0)
+ m600(arg0, 29, Local0, 0x3e864c01)
+ }
+
+ Store(XOr(Derefof(Index(paui, 5)), Local2), Local0)
+ m600(arg0, 30, Local0, 0xc179b3fe)
+
+ Store(XOr(Derefof(Index(paui, 18)), Local2), Local0)
+ m600(arg0, 31, Local0, 0x3e864c01)
+
+ // Method returns Integer
+
+ Store(XOr(m601(1, 5), Local2), Local0)
+ m600(arg0, 32, Local0, 0xc179b3fe)
+
+ Store(XOr(m601(1, 18), Local2), Local0)
+ m600(arg0, 33, Local0, 0x3e864c01)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(Derefof(m602(1, 5, 1)), Local2), Local0)
+ m600(arg0, 34, Local0, 0xc179b3fe)
+
+ Store(XOr(Derefof(m602(1, 18, 1)), Local2), Local0)
+ m600(arg0, 35, Local0, 0x3e864c01)
+ }
+
+ XOr(0, Local2, Local0)
+ m600(arg0, 36, Local0, 0xc179b3fe)
+
+ XOr(0xffffffff, Local2, Local0)
+ m600(arg0, 37, Local0, 0x3e864c01)
+
+ XOr(aui5, Local2, Local0)
+ m600(arg0, 38, Local0, 0xc179b3fe)
+
+ XOr(auii, Local2, Local0)
+ m600(arg0, 39, Local0, 0x3e864c01)
+
+ if (y078) {
+ XOr(Derefof(Refof(aui5)), Local2, Local0)
+ m600(arg0, 40, Local0, 0xc179b3fe)
+
+ XOr(Derefof(Refof(auii)), Local2, Local0)
+ m600(arg0, 41, Local0, 0x3e864c01)
+ }
+
+ XOr(Derefof(Index(paui, 5)), Local2, Local0)
+ m600(arg0, 42, Local0, 0xc179b3fe)
+
+ XOr(Derefof(Index(paui, 18)), Local2, Local0)
+ m600(arg0, 43, Local0, 0x3e864c01)
+
+ // Method returns Integer
+
+ XOr(m601(1, 5), Local2, Local0)
+ m600(arg0, 44, Local0, 0xc179b3fe)
+
+ XOr(m601(1, 18), Local2, Local0)
+ m600(arg0, 45, Local0, 0x3e864c01)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(Derefof(m602(1, 5, 1)), Local2, Local0)
+ m600(arg0, 46, Local0, 0xc179b3fe)
+
+ XOr(Derefof(m602(1, 18, 1)), Local2, Local0)
+ m600(arg0, 47, Local0, 0x3e864c01)
+ }
+
+ // Conversion of the both operands
+
+ Store(XOr(Local1, Local2), Local0)
+ m600(arg0, 48, Local0, 0xc179b0df)
+
+ Store(XOr(Local2, Local1), Local0)
+ m600(arg0, 49, Local0, 0xc179b0df)
+
+ XOr(Local1, Local2, Local0)
+ m600(arg0, 50, Local0, 0xc179b0df)
+
+ XOr(Local2, Local1, Local0)
+ m600(arg0, 51, Local0, 0xc179b0df)
+ }
+
+ // Add, And, Divide, Mod, Multiply, NAnd, NOr, Or,
+ // ShiftLeft, ShiftRight, Subtract, Xor
+
+ Method(m64d, 1)
+ {
+ // Add
+ Concatenate(arg0, "-m001", Local0)
+ SRMT(Local0)
+ m001(Local0)
+ Concatenate(arg0, "-m002", Local0)
+ SRMT(Local0)
+ m002(Local0)
+
+ // And
+ Concatenate(arg0, "-m004", Local0)
+ SRMT(Local0)
+ m004(Local0)
+ Concatenate(arg0, "-m005", Local0)
+ SRMT(Local0)
+ m005(Local0)
+
+ // Divide
+ Concatenate(arg0, "-m007", Local0)
+ SRMT(Local0)
+ m007(Local0)
+ Concatenate(arg0, "-m008", Local0)
+ SRMT(Local0)
+ m008(Local0)
+
+ // Mod
+ Concatenate(arg0, "-m00a", Local0)
+ SRMT(Local0)
+ m00a(Local0)
+ Concatenate(arg0, "-m00b", Local0)
+ SRMT(Local0)
+ m00b(Local0)
+
+ // Multiply
+ Concatenate(arg0, "-m00d", Local0)
+ SRMT(Local0)
+ m00d(Local0)
+ Concatenate(arg0, "-m00e", Local0)
+ SRMT(Local0)
+ m00e(Local0)
+
+ // NAnd
+ Concatenate(arg0, "-m010", Local0)
+ SRMT(Local0)
+ m010(Local0)
+ Concatenate(arg0, "-m011", Local0)
+ SRMT(Local0)
+ m011(Local0)
+
+ // NOr
+ Concatenate(arg0, "-m013", Local0)
+ SRMT(Local0)
+ m013(Local0)
+ Concatenate(arg0, "-m014", Local0)
+ SRMT(Local0)
+ m014(Local0)
+
+ // Or
+ Concatenate(arg0, "-m016", Local0)
+ SRMT(Local0)
+ m016(Local0)
+ Concatenate(arg0, "-m017", Local0)
+ SRMT(Local0)
+ m017(Local0)
+
+ // ShiftLeft
+ Concatenate(arg0, "-m019", Local0)
+ SRMT(Local0)
+ m019(Local0)
+ Concatenate(arg0, "-m01a", Local0)
+ SRMT(Local0)
+ m01a(Local0)
+
+ // ShiftRight
+ Concatenate(arg0, "-m01c", Local0)
+ SRMT(Local0)
+ m01c(Local0)
+ Concatenate(arg0, "-m01d", Local0)
+ SRMT(Local0)
+ m01d(Local0)
+
+ // Subtract
+ Concatenate(arg0, "-m01f", Local0)
+ SRMT(Local0)
+ m01f(Local0)
+ Concatenate(arg0, "-m020", Local0)
+ SRMT(Local0)
+ m020(Local0)
+
+ // XOr
+ Concatenate(arg0, "-m022", Local0)
+ SRMT(Local0)
+ m022(Local0)
+ Concatenate(arg0, "-m023", Local0)
+ SRMT(Local0)
+ m023(Local0)
+ }
+
+ Method(m32d, 1)
+ {
+ // Add
+ Concatenate(arg0, "-m001", Local0)
+ SRMT(Local0)
+ m001(Local0)
+ Concatenate(arg0, "-m003", Local0)
+ SRMT(Local0)
+ m003(Local0)
+
+ // And
+ Concatenate(arg0, "-m004", Local0)
+ SRMT(Local0)
+ m004(Local0)
+ Concatenate(arg0, "-m006", Local0)
+ SRMT(Local0)
+ m006(Local0)
+
+ // Divide
+ Concatenate(arg0, "-m007", Local0)
+ SRMT(Local0)
+ m007(Local0)
+ Concatenate(arg0, "-m009", Local0)
+ SRMT(Local0)
+ m009(Local0)
+
+ // Mod
+ Concatenate(arg0, "-m00a", Local0)
+ SRMT(Local0)
+ m00a(Local0)
+ Concatenate(arg0, "-m00c", Local0)
+ SRMT(Local0)
+ m00c(Local0)
+
+ // Multiply
+ Concatenate(arg0, "-m00d", Local0)
+ SRMT(Local0)
+ m00d(Local0)
+ Concatenate(arg0, "-m00f", Local0)
+ SRMT(Local0)
+ m00f(Local0)
+
+ // NAnd
+ Concatenate(arg0, "-m010", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m010(Local0)
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m012", Local0)
+ SRMT(Local0)
+ m012(Local0)
+
+ // NOr
+ Concatenate(arg0, "-m013", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m013(Local0)
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m015", Local0)
+ SRMT(Local0)
+ m015(Local0)
+
+ // Or
+ Concatenate(arg0, "-m016", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m016(Local0)
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m018", Local0)
+ SRMT(Local0)
+ m018(Local0)
+
+ // ShiftLeft
+ Concatenate(arg0, "-m019", Local0)
+ SRMT(Local0)
+ m019(Local0)
+ Concatenate(arg0, "-m01b", Local0)
+ SRMT(Local0)
+ m01b(Local0)
+
+ // ShiftRight
+ Concatenate(arg0, "-m01c", Local0)
+ SRMT(Local0)
+ m01c(Local0)
+ Concatenate(arg0, "-m01e", Local0)
+ SRMT(Local0)
+ m01e(Local0)
+
+ // Subtract
+ Concatenate(arg0, "-m01f", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m01f(Local0)
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m021", Local0)
+ SRMT(Local0)
+ m021(Local0)
+
+ // XOr
+ Concatenate(arg0, "-m022", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m022(Local0)
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m024", Local0)
+ SRMT(Local0)
+ m024(Local0)
+ }
+
+
+ // String to Integer conversion of each String operand
+ // of the 2-parameter Logical Integer operators LAnd and LOr
+
+ // LAnd, common 32-bit/64-bit test
+ Method(m025, 1)
+ {
+ Store("0321", Local1)
+
+ // Conversion of the first operand
+
+ Store(LAnd(Local1, 0), Local0)
+ m600(arg0, 0, Local0, Zero)
+
+ Store(LAnd(Local1, 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(LAnd(Local1, aui5), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LAnd(Local1, aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(Local1, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LAnd(Local1, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(LAnd(Local1, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Zero)
+
+ Store(LAnd(Local1, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(Local1, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Zero)
+
+ Store(LAnd(Local1, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(Local1, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LAnd(Local1, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(LAnd(0, Local1), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LAnd(1, Local1), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LAnd(aui5, Local1), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LAnd(aui6, Local1), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(Derefof(Refof(aui5)), Local1), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(aui6)), Local1), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(LAnd(Derefof(Index(paui, 5)), Local1), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LAnd(Derefof(Index(paui, 6)), Local1), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(m601(1, 5), Local1), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LAnd(m601(1, 6), Local1), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(Derefof(m602(1, 5, 1)), Local1), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LAnd(Derefof(m602(1, 6, 1)), Local1), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+ }
+
+ // LAnd, 64-bit
+ Method(m026, 1)
+ {
+ Store("0321", Local1)
+ Store("FE7CB391D650A284", Local2)
+
+ // Conversion of the first operand
+
+ Store(LAnd(Local2, 0), Local0)
+ m600(arg0, 0, Local0, Zero)
+
+ Store(LAnd(Local2, 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(LAnd(Local2, aui5), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LAnd(Local2, aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(Local2, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LAnd(Local2, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(LAnd(Local2, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Zero)
+
+ Store(LAnd(Local2, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(Local2, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Zero)
+
+ Store(LAnd(Local2, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(Local2, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LAnd(Local2, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(LAnd(0, Local2), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LAnd(1, Local2), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LAnd(aui5, Local2), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LAnd(aui6, Local2), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(Derefof(Refof(aui5)), Local2), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(aui6)), Local2), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(LAnd(Derefof(Index(paui, 5)), Local2), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LAnd(Derefof(Index(paui, 6)), Local2), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(m601(1, 5), Local2), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LAnd(m601(1, 6), Local2), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(Derefof(m602(1, 5, 1)), Local2), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LAnd(Derefof(m602(1, 6, 1)), Local2), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+
+ // Conversion of the both operands
+
+ Store(LAnd(Local1, Local2), Local0)
+ m600(arg0, 24, Local0, Ones)
+
+ Store(LAnd(Local2, Local1), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // LAnd, 32-bit
+ Method(m027, 1)
+ {
+ Store("0321", Local1)
+ Store("C179B3FE", Local2)
+
+ // Conversion of the first operand
+
+ Store(LAnd(Local2, 0), Local0)
+ m600(arg0, 0, Local0, Zero)
+
+ Store(LAnd(Local2, 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(LAnd(Local2, aui5), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LAnd(Local2, aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(Local2, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LAnd(Local2, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(LAnd(Local2, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Zero)
+
+ Store(LAnd(Local2, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(Local2, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Zero)
+
+ Store(LAnd(Local2, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(Local2, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LAnd(Local2, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(LAnd(0, Local2), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LAnd(1, Local2), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LAnd(aui5, Local2), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LAnd(aui6, Local2), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(Derefof(Refof(aui5)), Local2), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(aui6)), Local2), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(LAnd(Derefof(Index(paui, 5)), Local2), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LAnd(Derefof(Index(paui, 6)), Local2), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(m601(1, 5), Local2), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LAnd(m601(1, 6), Local2), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(Derefof(m602(1, 5, 1)), Local2), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LAnd(Derefof(m602(1, 6, 1)), Local2), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+
+ // Conversion of the both operands
+
+ Store(LAnd(Local1, Local2), Local0)
+ m600(arg0, 24, Local0, Ones)
+
+ Store(LAnd(Local2, Local1), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // Lor, common 32-bit/64-bit test
+ Method(m028, 1)
+ {
+ Store("0", Local1)
+
+ // Conversion of the first operand
+
+ Store(Lor(Local1, 0), Local0)
+ m600(arg0, 0, Local0, Zero)
+
+ Store(Lor(Local1, 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(Lor(Local1, aui5), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(Lor(Local1, aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(Local1, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(Lor(Local1, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(Lor(Local1, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Zero)
+
+ Store(Lor(Local1, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(Local1, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Zero)
+
+ Store(Lor(Local1, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(Local1, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(Lor(Local1, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(Lor(0, Local1), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(Lor(1, Local1), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(Lor(aui5, Local1), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(Lor(aui6, Local1), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(Derefof(Refof(aui5)), Local1), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(Lor(Derefof(Refof(aui6)), Local1), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(Lor(Derefof(Index(paui, 5)), Local1), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(Lor(Derefof(Index(paui, 6)), Local1), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(m601(1, 5), Local1), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(Lor(m601(1, 6), Local1), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(Derefof(m602(1, 5, 1)), Local1), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(Lor(Derefof(m602(1, 6, 1)), Local1), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+ }
+
+ // Lor, 64-bit
+ Method(m029, 1)
+ {
+ Store("FE7CB391D650A284", Local1)
+ Store("0", Local2)
+
+ // Conversion of the first operand
+
+ Store(Lor(Local1, 0), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(Lor(Local1, 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(Lor(Local1, aui5), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(Lor(Local1, aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(Local1, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(Lor(Local1, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(Lor(Local1, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(Lor(Local1, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(Local1, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(Lor(Local1, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(Local1, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(Lor(Local1, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(Lor(0, Local1), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(Lor(1, Local1), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(Lor(aui5, Local1), Local0)
+ m600(arg0, 14, Local0, Ones)
+
+ Store(Lor(aui6, Local1), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(Derefof(Refof(aui5)), Local1), Local0)
+ m600(arg0, 16, Local0, Ones)
+
+ Store(Lor(Derefof(Refof(aui6)), Local1), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(Lor(Derefof(Index(paui, 5)), Local1), Local0)
+ m600(arg0, 18, Local0, Ones)
+
+ Store(Lor(Derefof(Index(paui, 6)), Local1), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(m601(1, 5), Local1), Local0)
+ m600(arg0, 20, Local0, Ones)
+
+ Store(Lor(m601(1, 6), Local1), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(Derefof(m602(1, 5, 1)), Local1), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(Lor(Derefof(m602(1, 6, 1)), Local1), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+
+ // Conversion of the both operands
+
+ Store(Lor(Local2, Local1), Local0)
+ m600(arg0, 24, Local0, Ones)
+
+ Store(Lor(Local1, Local2), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // Lor, 32-bit
+ Method(m02a, 1)
+ {
+ Store("C179B3FE", Local1)
+ Store("0", Local2)
+
+ // Conversion of the first operand
+
+ Store(Lor(Local1, 0), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(Lor(Local1, 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(Lor(Local1, aui5), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(Lor(Local1, aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(Local1, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(Lor(Local1, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(Lor(Local1, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(Lor(Local1, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(Local1, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(Lor(Local1, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(Local1, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(Lor(Local1, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(Lor(0, Local1), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(Lor(1, Local1), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(Lor(aui5, Local1), Local0)
+ m600(arg0, 14, Local0, Ones)
+
+ Store(Lor(aui6, Local1), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(Derefof(Refof(aui5)), Local1), Local0)
+ m600(arg0, 16, Local0, Ones)
+
+ Store(Lor(Derefof(Refof(aui6)), Local1), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(Lor(Derefof(Index(paui, 5)), Local1), Local0)
+ m600(arg0, 18, Local0, Ones)
+
+ Store(Lor(Derefof(Index(paui, 6)), Local1), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(m601(1, 5), Local1), Local0)
+ m600(arg0, 20, Local0, Ones)
+
+ Store(Lor(m601(1, 6), Local1), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(Derefof(m602(1, 5, 1)), Local1), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(Lor(Derefof(m602(1, 6, 1)), Local1), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+
+ // Conversion of the both operands
+
+ Store(Lor(Local2, Local1), Local0)
+ m600(arg0, 24, Local0, Ones)
+
+ Store(Lor(Local1, Local2), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ Method(m64e, 1)
+ {
+ // LAnd
+ Concatenate(arg0, "-m025", Local0)
+ SRMT(Local0)
+ m025(Local0)
+ Concatenate(arg0, "-m026", Local0)
+ SRMT(Local0)
+ m026(Local0)
+
+ // LOr
+ Concatenate(arg0, "-m028", Local0)
+ SRMT(Local0)
+ m028(Local0)
+ Concatenate(arg0, "-m029", Local0)
+ SRMT(Local0)
+ m029(Local0)
+ }
+
+ Method(m32e, 1)
+ {
+ // LAnd
+ Concatenate(arg0, "-m025", Local0)
+ SRMT(Local0)
+ m025(Local0)
+ Concatenate(arg0, "-m027", Local0)
+ SRMT(Local0)
+ m027(Local0)
+
+ // LOr
+ Concatenate(arg0, "-m028", Local0)
+ SRMT(Local0)
+ m028(Local0)
+ Concatenate(arg0, "-m02a", Local0)
+ SRMT(Local0)
+ m02a(Local0)
+ }
+
+
+ // String to Integer conversion of the String second operand of
+ // Logical operators when the first operand is evaluated as Integer
+ // (LEqual, LGreater, LGreaterEqual, LLess, LLessEqual, LNotEqual)
+
+ Method(m64f, 1)
+ {
+ Store("FE7CB391D650A284", Local1)
+
+ // LEqual
+
+ Store(LEqual(0xfe7cb391d650a284, Local1), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual(0xfe7cb391d650a285, Local1), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(0xfe7cb391d650a283, Local1), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LEqual(aui4, Local1), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ Store(LEqual(auid, Local1), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LEqual(auif, Local1), Local0)
+ m600(arg0, 5, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aui4)), Local1), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(auid)), Local1), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ Store(LEqual(Derefof(Refof(auif)), Local1), Local0)
+ m600(arg0, 8, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paui, 4)), Local1), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paui, 13)), Local1), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LEqual(Derefof(Index(paui, 15)), Local1), Local0)
+ m600(arg0, 11, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LEqual(m601(1, 4), Local1), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(LEqual(m601(1, 13), Local1), Local0)
+ m600(arg0, 13, Local0, Zero)
+
+ Store(LEqual(m601(1, 15), Local1), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(1, 4, 1)), Local1), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(1, 13, 1)), Local1), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LEqual(Derefof(m602(1, 15, 1)), Local1), Local0)
+ m600(arg0, 17, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater(0xfe7cb391d650a284, Local1), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(0xfe7cb391d650a285, Local1), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ Store(LGreater(0xfe7cb391d650a283, Local1), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(aui4, Local1), Local0)
+ m600(arg0, 21, Local0, Zero)
+
+ Store(LGreater(auid, Local1), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(LGreater(auif, Local1), Local0)
+ m600(arg0, 23, Local0, Zero)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aui4)), Local1), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(auid)), Local1), Local0)
+ m600(arg0, 25, Local0, Ones)
+
+ Store(LGreater(Derefof(Refof(auif)), Local1), Local0)
+ m600(arg0, 26, Local0, Zero)
+ }
+
+ Store(LGreater(Derefof(Index(paui, 4)), Local1), Local0)
+ m600(arg0, 27, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paui, 13)), Local1), Local0)
+ m600(arg0, 28, Local0, Ones)
+
+ Store(LGreater(Derefof(Index(paui, 15)), Local1), Local0)
+ m600(arg0, 29, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreater(m601(1, 4), Local1), Local0)
+ m600(arg0, 30, Local0, Zero)
+
+ Store(LGreater(m601(1, 13), Local1), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ Store(LGreater(m601(1, 15), Local1), Local0)
+ m600(arg0, 32, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(1, 4, 1)), Local1), Local0)
+ m600(arg0, 33, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(1, 13, 1)), Local1), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreater(Derefof(m602(1, 15, 1)), Local1), Local0)
+ m600(arg0, 35, Local0, Zero)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual(0xfe7cb391d650a284, Local1), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(0xfe7cb391d650a285, Local1), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ Store(LGreaterEqual(0xfe7cb391d650a283, Local1), Local0)
+ m600(arg0, 38, Local0, Zero)
+
+ Store(LGreaterEqual(aui4, Local1), Local0)
+ m600(arg0, 39, Local0, Ones)
+
+ Store(LGreaterEqual(auid, Local1), Local0)
+ m600(arg0, 40, Local0, Ones)
+
+ Store(LGreaterEqual(auif, Local1), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aui4)), Local1), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auid)), Local1), Local0)
+ m600(arg0, 43, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auif)), Local1), Local0)
+ m600(arg0, 44, Local0, Zero)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paui, 4)), Local1), Local0)
+ m600(arg0, 45, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 13)), Local1), Local0)
+ m600(arg0, 46, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 15)), Local1), Local0)
+ m600(arg0, 47, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreaterEqual(m601(1, 4), Local1), Local0)
+ m600(arg0, 48, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 13), Local1), Local0)
+ m600(arg0, 49, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 15), Local1), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(1, 4, 1)), Local1), Local0)
+ m600(arg0, 51, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 13, 1)), Local1), Local0)
+ m600(arg0, 52, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 15, 1)), Local1), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLess
+
+ Store(LLess(0xfe7cb391d650a284, Local1), Local0)
+ m600(arg0, 54, Local0, Zero)
+
+ Store(LLess(0xfe7cb391d650a285, Local1), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLess(0xfe7cb391d650a283, Local1), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLess(aui4, Local1), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLess(auid, Local1), Local0)
+ m600(arg0, 58, Local0, Zero)
+
+ Store(LLess(auif, Local1), Local0)
+ m600(arg0, 59, Local0, Ones)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aui4)), Local1), Local0)
+ m600(arg0, 60, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auid)), Local1), Local0)
+ m600(arg0, 61, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auif)), Local1), Local0)
+ m600(arg0, 62, Local0, Ones)
+ }
+
+ Store(LLess(Derefof(Index(paui, 4)), Local1), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 13)), Local1), Local0)
+ m600(arg0, 64, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 15)), Local1), Local0)
+ m600(arg0, 65, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLess(m601(1, 4), Local1), Local0)
+ m600(arg0, 66, Local0, Zero)
+
+ Store(LLess(m601(1, 13), Local1), Local0)
+ m600(arg0, 67, Local0, Zero)
+
+ Store(LLess(m601(1, 15), Local1), Local0)
+ m600(arg0, 68, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLess(Derefof(m602(1, 4, 1)), Local1), Local0)
+ m600(arg0, 69, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 13, 1)), Local1), Local0)
+ m600(arg0, 70, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 15, 1)), Local1), Local0)
+ m600(arg0, 71, Local0, Ones)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual(0xfe7cb391d650a284, Local1), Local0)
+ m600(arg0, 72, Local0, Ones)
+
+ Store(LLessEqual(0xfe7cb391d650a285, Local1), Local0)
+ m600(arg0, 73, Local0, Zero)
+
+ Store(LLessEqual(0xfe7cb391d650a283, Local1), Local0)
+ m600(arg0, 74, Local0, Ones)
+
+ Store(LLessEqual(aui4, Local1), Local0)
+ m600(arg0, 75, Local0, Ones)
+
+ Store(LLessEqual(auid, Local1), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LLessEqual(auif, Local1), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aui4)), Local1), Local0)
+ m600(arg0, 78, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(auid)), Local1), Local0)
+ m600(arg0, 79, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Refof(auif)), Local1), Local0)
+ m600(arg0, 80, Local0, Ones)
+ }
+
+ Store(LLessEqual(Derefof(Index(paui, 4)), Local1), Local0)
+ m600(arg0, 81, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paui, 13)), Local1), Local0)
+ m600(arg0, 82, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Index(paui, 15)), Local1), Local0)
+ m600(arg0, 83, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLessEqual(m601(1, 4), Local1), Local0)
+ m600(arg0, 84, Local0, Ones)
+
+ Store(LLessEqual(m601(1, 13), Local1), Local0)
+ m600(arg0, 85, Local0, Zero)
+
+ Store(LLessEqual(m601(1, 15), Local1), Local0)
+ m600(arg0, 86, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(1, 4, 1)), Local1), Local0)
+ m600(arg0, 87, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(1, 13, 1)), Local1), Local0)
+ m600(arg0, 88, Local0, Zero)
+
+ Store(LLessEqual(Derefof(m602(1, 15, 1)), Local1), Local0)
+ m600(arg0, 89, Local0, Ones)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual(0xfe7cb391d650a284, Local1), Local0)
+ m600(arg0, 90, Local0, Zero)
+
+ Store(LNotEqual(0xfe7cb391d650a285, Local1), Local0)
+ m600(arg0, 91, Local0, Ones)
+
+ Store(LNotEqual(0xfe7cb391d650a283, Local1), Local0)
+ m600(arg0, 92, Local0, Ones)
+
+ Store(LNotEqual(aui4, Local1), Local0)
+ m600(arg0, 93, Local0, Zero)
+
+ Store(LNotEqual(auid, Local1), Local0)
+ m600(arg0, 94, Local0, Ones)
+
+ Store(LNotEqual(auif, Local1), Local0)
+ m600(arg0, 95, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aui4)), Local1), Local0)
+ m600(arg0, 96, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(auid)), Local1), Local0)
+ m600(arg0, 97, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Refof(auif)), Local1), Local0)
+ m600(arg0, 98, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paui, 4)), Local1), Local0)
+ m600(arg0, 99, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paui, 13)), Local1), Local0)
+ m600(arg0, 100, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Index(paui, 15)), Local1), Local0)
+ m600(arg0, 101, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LNotEqual(m601(1, 4), Local1), Local0)
+ m600(arg0, 102, Local0, Zero)
+
+ Store(LNotEqual(m601(1, 13), Local1), Local0)
+ m600(arg0, 103, Local0, Ones)
+
+ Store(LNotEqual(m601(1, 15), Local1), Local0)
+ m600(arg0, 104, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(1, 4, 1)), Local1), Local0)
+ m600(arg0, 105, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(1, 13, 1)), Local1), Local0)
+ m600(arg0, 106, Local0, Ones)
+
+ Store(LNotEqual(Derefof(m602(1, 15, 1)), Local1), Local0)
+ m600(arg0, 107, Local0, Ones)
+ }
+ }
+
+ Method(m32f, 1)
+ {
+ Store("C179B3FE", Local1)
+
+ // LEqual
+
+ Store(LEqual(0xc179b3fe, Local1), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual(0xc179b3ff, Local1), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(0xc179b3fd, Local1), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LEqual(aui3, Local1), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ Store(LEqual(auic, Local1), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LEqual(auie, Local1), Local0)
+ m600(arg0, 5, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aui3)), Local1), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(auic)), Local1), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ Store(LEqual(Derefof(Refof(auie)), Local1), Local0)
+ m600(arg0, 8, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paui, 3)), Local1), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paui, 12)), Local1), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LEqual(Derefof(Index(paui, 14)), Local1), Local0)
+ m600(arg0, 11, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LEqual(m601(1, 3), Local1), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(LEqual(m601(1, 12), Local1), Local0)
+ m600(arg0, 13, Local0, Zero)
+
+ Store(LEqual(m601(1, 14), Local1), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(1, 3, 1)), Local1), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(1, 12, 1)), Local1), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LEqual(Derefof(m602(1, 14, 1)), Local1), Local0)
+ m600(arg0, 17, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater(0xc179b3fe, Local1), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(0xc179b3ff, Local1), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ Store(LGreater(0xc179b3fd, Local1), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(aui3, Local1), Local0)
+ m600(arg0, 21, Local0, Zero)
+
+ Store(LGreater(auic, Local1), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(LGreater(auie, Local1), Local0)
+ m600(arg0, 23, Local0, Zero)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aui3)), Local1), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(auic)), Local1), Local0)
+ m600(arg0, 25, Local0, Ones)
+
+ Store(LGreater(Derefof(Refof(auie)), Local1), Local0)
+ m600(arg0, 26, Local0, Zero)
+ }
+
+ Store(LGreater(Derefof(Index(paui, 3)), Local1), Local0)
+ m600(arg0, 27, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paui, 12)), Local1), Local0)
+ m600(arg0, 28, Local0, Ones)
+
+ Store(LGreater(Derefof(Index(paui, 14)), Local1), Local0)
+ m600(arg0, 29, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreater(m601(1, 3), Local1), Local0)
+ m600(arg0, 30, Local0, Zero)
+
+ Store(LGreater(m601(1, 12), Local1), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ Store(LGreater(m601(1, 14), Local1), Local0)
+ m600(arg0, 32, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(1, 3, 1)), Local1), Local0)
+ m600(arg0, 33, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(1, 12, 1)), Local1), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreater(Derefof(m602(1, 14, 1)), Local1), Local0)
+ m600(arg0, 35, Local0, Zero)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual(0xc179b3fe, Local1), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(0xc179b3ff, Local1), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ Store(LGreaterEqual(0xc179b3fd, Local1), Local0)
+ m600(arg0, 38, Local0, Zero)
+
+ Store(LGreaterEqual(aui3, Local1), Local0)
+ m600(arg0, 39, Local0, Ones)
+
+ Store(LGreaterEqual(auic, Local1), Local0)
+ m600(arg0, 40, Local0, Ones)
+
+ Store(LGreaterEqual(auie, Local1), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aui3)), Local1), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auic)), Local1), Local0)
+ m600(arg0, 43, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auie)), Local1), Local0)
+ m600(arg0, 44, Local0, Zero)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paui, 3)), Local1), Local0)
+ m600(arg0, 45, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 12)), Local1), Local0)
+ m600(arg0, 46, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 14)), Local1), Local0)
+ m600(arg0, 47, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreaterEqual(m601(1, 3), Local1), Local0)
+ m600(arg0, 48, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 12), Local1), Local0)
+ m600(arg0, 49, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 14), Local1), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(1, 3, 1)), Local1), Local0)
+ m600(arg0, 51, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 12, 1)), Local1), Local0)
+ m600(arg0, 52, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 14, 1)), Local1), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLess
+
+ Store(LLess(0xc179b3fe, Local1), Local0)
+ m600(arg0, 54, Local0, Zero)
+
+ Store(LLess(0xc179b3ff, Local1), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLess(0xc179b3fd, Local1), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLess(aui3, Local1), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLess(auic, Local1), Local0)
+ m600(arg0, 58, Local0, Zero)
+
+ Store(LLess(auie, Local1), Local0)
+ m600(arg0, 59, Local0, Ones)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aui3)), Local1), Local0)
+ m600(arg0, 60, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auic)), Local1), Local0)
+ m600(arg0, 61, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auie)), Local1), Local0)
+ m600(arg0, 62, Local0, Ones)
+ }
+
+ Store(LLess(Derefof(Index(paui, 3)), Local1), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 12)), Local1), Local0)
+ m600(arg0, 64, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 14)), Local1), Local0)
+ m600(arg0, 65, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLess(m601(1, 3), Local1), Local0)
+ m600(arg0, 66, Local0, Zero)
+
+ Store(LLess(m601(1, 12), Local1), Local0)
+ m600(arg0, 67, Local0, Zero)
+
+ Store(LLess(m601(1, 14), Local1), Local0)
+ m600(arg0, 68, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLess(Derefof(m602(1, 3, 1)), Local1), Local0)
+ m600(arg0, 69, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 12, 1)), Local1), Local0)
+ m600(arg0, 70, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 14, 1)), Local1), Local0)
+ m600(arg0, 71, Local0, Ones)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual(0xc179b3fe, Local1), Local0)
+ m600(arg0, 72, Local0, Ones)
+
+ Store(LLessEqual(0xc179b3ff, Local1), Local0)
+ m600(arg0, 73, Local0, Zero)
+
+ Store(LLessEqual(0xc179b3fd, Local1), Local0)
+ m600(arg0, 74, Local0, Ones)
+
+ Store(LLessEqual(aui3, Local1), Local0)
+ m600(arg0, 75, Local0, Ones)
+
+ Store(LLessEqual(auic, Local1), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LLessEqual(auie, Local1), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aui3)), Local1), Local0)
+ m600(arg0, 78, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(auic)), Local1), Local0)
+ m600(arg0, 79, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Refof(auie)), Local1), Local0)
+ m600(arg0, 80, Local0, Ones)
+ }
+
+ Store(LLessEqual(Derefof(Index(paui, 3)), Local1), Local0)
+ m600(arg0, 81, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paui, 12)), Local1), Local0)
+ m600(arg0, 82, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Index(paui, 14)), Local1), Local0)
+ m600(arg0, 83, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLessEqual(m601(1, 3), Local1), Local0)
+ m600(arg0, 84, Local0, Ones)
+
+ Store(LLessEqual(m601(1, 12), Local1), Local0)
+ m600(arg0, 85, Local0, Zero)
+
+ Store(LLessEqual(m601(1, 14), Local1), Local0)
+ m600(arg0, 86, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(1, 3, 1)), Local1), Local0)
+ m600(arg0, 87, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(1, 12, 1)), Local1), Local0)
+ m600(arg0, 88, Local0, Zero)
+
+ Store(LLessEqual(Derefof(m602(1, 14, 1)), Local1), Local0)
+ m600(arg0, 89, Local0, Ones)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual(0xc179b3fe, Local1), Local0)
+ m600(arg0, 90, Local0, Zero)
+
+ Store(LNotEqual(0xc179b3ff, Local1), Local0)
+ m600(arg0, 91, Local0, Ones)
+
+ Store(LNotEqual(0xc179b3fd, Local1), Local0)
+ m600(arg0, 92, Local0, Ones)
+
+ Store(LNotEqual(aui3, Local1), Local0)
+ m600(arg0, 93, Local0, Zero)
+
+ Store(LNotEqual(auic, Local1), Local0)
+ m600(arg0, 94, Local0, Ones)
+
+ Store(LNotEqual(auie, Local1), Local0)
+ m600(arg0, 95, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aui3)), Local1), Local0)
+ m600(arg0, 96, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(auic)), Local1), Local0)
+ m600(arg0, 97, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Refof(auie)), Local1), Local0)
+ m600(arg0, 98, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paui, 3)), Local1), Local0)
+ m600(arg0, 99, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paui, 12)), Local1), Local0)
+ m600(arg0, 100, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Index(paui, 14)), Local1), Local0)
+ m600(arg0, 101, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LNotEqual(m601(1, 3), Local1), Local0)
+ m600(arg0, 102, Local0, Zero)
+
+ Store(LNotEqual(m601(1, 12), Local1), Local0)
+ m600(arg0, 103, Local0, Ones)
+
+ Store(LNotEqual(m601(1, 14), Local1), Local0)
+ m600(arg0, 104, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(1, 3, 1)), Local1), Local0)
+ m600(arg0, 105, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(1, 12, 1)), Local1), Local0)
+ m600(arg0, 106, Local0, Ones)
+
+ Store(LNotEqual(Derefof(m602(1, 14, 1)), Local1), Local0)
+ m600(arg0, 107, Local0, Ones)
+ }
+ }
+
+ Method(m02b, 1)
+ {
+ Store("0321", Local1)
+
+ // LEqual
+
+ Store(LEqual(0x321, Local1), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual(0x322, Local1), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(0x320, Local1), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LEqual(aui1, Local1), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ Store(LEqual(auig, Local1), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LEqual(auih, Local1), Local0)
+ m600(arg0, 5, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aui1)), Local1), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(auig)), Local1), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ Store(LEqual(Derefof(Refof(auih)), Local1), Local0)
+ m600(arg0, 8, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paui, 1)), Local1), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paui, 16)), Local1), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LEqual(Derefof(Index(paui, 17)), Local1), Local0)
+ m600(arg0, 11, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LEqual(m601(1, 1), Local1), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(LEqual(m601(1, 16), Local1), Local0)
+ m600(arg0, 13, Local0, Zero)
+
+ Store(LEqual(m601(1, 17), Local1), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(1, 1, 1)), Local1), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(1, 16, 1)), Local1), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LEqual(Derefof(m602(1, 17, 1)), Local1), Local0)
+ m600(arg0, 17, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater(0x321, Local1), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(0x322, Local1), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ Store(LGreater(0x320, Local1), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(aui1, Local1), Local0)
+ m600(arg0, 21, Local0, Zero)
+
+ Store(LGreater(auig, Local1), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(LGreater(auih, Local1), Local0)
+ m600(arg0, 23, Local0, Zero)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aui1)), Local1), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(auig)), Local1), Local0)
+ m600(arg0, 25, Local0, Ones)
+
+ Store(LGreater(Derefof(Refof(auih)), Local1), Local0)
+ m600(arg0, 26, Local0, Zero)
+ }
+
+ Store(LGreater(Derefof(Index(paui, 1)), Local1), Local0)
+ m600(arg0, 27, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paui, 16)), Local1), Local0)
+ m600(arg0, 28, Local0, Ones)
+
+ Store(LGreater(Derefof(Index(paui, 17)), Local1), Local0)
+ m600(arg0, 29, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreater(m601(1, 1), Local1), Local0)
+ m600(arg0, 30, Local0, Zero)
+
+ Store(LGreater(m601(1, 16), Local1), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ Store(LGreater(m601(1, 17), Local1), Local0)
+ m600(arg0, 32, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(1, 1, 1)), Local1), Local0)
+ m600(arg0, 33, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(1, 16, 1)), Local1), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreater(Derefof(m602(1, 17, 1)), Local1), Local0)
+ m600(arg0, 35, Local0, Zero)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual(0x321, Local1), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(0x322, Local1), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ Store(LGreaterEqual(0x320, Local1), Local0)
+ m600(arg0, 38, Local0, Zero)
+
+ Store(LGreaterEqual(aui1, Local1), Local0)
+ m600(arg0, 39, Local0, Ones)
+
+ Store(LGreaterEqual(auig, Local1), Local0)
+ m600(arg0, 40, Local0, Ones)
+
+ Store(LGreaterEqual(auih, Local1), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aui1)), Local1), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auig)), Local1), Local0)
+ m600(arg0, 43, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auih)), Local1), Local0)
+ m600(arg0, 44, Local0, Zero)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paui, 1)), Local1), Local0)
+ m600(arg0, 45, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 16)), Local1), Local0)
+ m600(arg0, 46, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 17)), Local1), Local0)
+ m600(arg0, 47, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreaterEqual(m601(1, 1), Local1), Local0)
+ m600(arg0, 48, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 16), Local1), Local0)
+ m600(arg0, 49, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 17), Local1), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(1, 1, 1)), Local1), Local0)
+ m600(arg0, 51, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 16, 1)), Local1), Local0)
+ m600(arg0, 52, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 17, 1)), Local1), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLess
+
+ Store(LLess(0x321, Local1), Local0)
+ m600(arg0, 54, Local0, Zero)
+
+ Store(LLess(0x322, Local1), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLess(0x320, Local1), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLess(aui1, Local1), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLess(auig, Local1), Local0)
+ m600(arg0, 58, Local0, Zero)
+
+ Store(LLess(auih, Local1), Local0)
+ m600(arg0, 59, Local0, Ones)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aui1)), Local1), Local0)
+ m600(arg0, 60, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auig)), Local1), Local0)
+ m600(arg0, 61, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auih)), Local1), Local0)
+ m600(arg0, 62, Local0, Ones)
+ }
+
+ Store(LLess(Derefof(Index(paui, 1)), Local1), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 16)), Local1), Local0)
+ m600(arg0, 64, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 17)), Local1), Local0)
+ m600(arg0, 65, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLess(m601(1, 1), Local1), Local0)
+ m600(arg0, 66, Local0, Zero)
+
+ Store(LLess(m601(1, 16), Local1), Local0)
+ m600(arg0, 67, Local0, Zero)
+
+ Store(LLess(m601(1, 17), Local1), Local0)
+ m600(arg0, 68, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLess(Derefof(m602(1, 1, 1)), Local1), Local0)
+ m600(arg0, 69, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 16, 1)), Local1), Local0)
+ m600(arg0, 70, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 17, 1)), Local1), Local0)
+ m600(arg0, 71, Local0, Ones)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual(0x321, Local1), Local0)
+ m600(arg0, 72, Local0, Ones)
+
+ Store(LLessEqual(0x322, Local1), Local0)
+ m600(arg0, 73, Local0, Zero)
+
+ Store(LLessEqual(0x320, Local1), Local0)
+ m600(arg0, 74, Local0, Ones)
+
+ Store(LLessEqual(aui1, Local1), Local0)
+ m600(arg0, 75, Local0, Ones)
+
+ Store(LLessEqual(auig, Local1), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LLessEqual(auih, Local1), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aui1)), Local1), Local0)
+ m600(arg0, 78, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(auig)), Local1), Local0)
+ m600(arg0, 79, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Refof(auih)), Local1), Local0)
+ m600(arg0, 80, Local0, Ones)
+ }
+
+ Store(LLessEqual(Derefof(Index(paui, 1)), Local1), Local0)
+ m600(arg0, 81, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paui, 16)), Local1), Local0)
+ m600(arg0, 82, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Index(paui, 17)), Local1), Local0)
+ m600(arg0, 83, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLessEqual(m601(1, 1), Local1), Local0)
+ m600(arg0, 84, Local0, Ones)
+
+ Store(LLessEqual(m601(1, 16), Local1), Local0)
+ m600(arg0, 85, Local0, Zero)
+
+ Store(LLessEqual(m601(1, 17), Local1), Local0)
+ m600(arg0, 86, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(1, 1, 1)), Local1), Local0)
+ m600(arg0, 87, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(1, 16, 1)), Local1), Local0)
+ m600(arg0, 88, Local0, Zero)
+
+ Store(LLessEqual(Derefof(m602(1, 17, 1)), Local1), Local0)
+ m600(arg0, 89, Local0, Ones)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual(0x321, Local1), Local0)
+ m600(arg0, 90, Local0, Zero)
+
+ Store(LNotEqual(0x322, Local1), Local0)
+ m600(arg0, 91, Local0, Ones)
+
+ Store(LNotEqual(0x320, Local1), Local0)
+ m600(arg0, 92, Local0, Ones)
+
+ Store(LNotEqual(aui1, Local1), Local0)
+ m600(arg0, 93, Local0, Zero)
+
+ Store(LNotEqual(auig, Local1), Local0)
+ m600(arg0, 94, Local0, Ones)
+
+ Store(LNotEqual(auih, Local1), Local0)
+ m600(arg0, 95, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aui1)), Local1), Local0)
+ m600(arg0, 96, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(auig)), Local1), Local0)
+ m600(arg0, 97, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Refof(auih)), Local1), Local0)
+ m600(arg0, 98, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paui, 1)), Local1), Local0)
+ m600(arg0, 99, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paui, 16)), Local1), Local0)
+ m600(arg0, 100, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Index(paui, 17)), Local1), Local0)
+ m600(arg0, 101, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LNotEqual(m601(1, 1), Local1), Local0)
+ m600(arg0, 102, Local0, Zero)
+
+ Store(LNotEqual(m601(1, 16), Local1), Local0)
+ m600(arg0, 103, Local0, Ones)
+
+ Store(LNotEqual(m601(1, 17), Local1), Local0)
+ m600(arg0, 104, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(1, 1, 1)), Local1), Local0)
+ m600(arg0, 105, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(1, 16, 1)), Local1), Local0)
+ m600(arg0, 106, Local0, Ones)
+
+ Store(LNotEqual(Derefof(m602(1, 17, 1)), Local1), Local0)
+ m600(arg0, 107, Local0, Ones)
+ }
+ }
+
+ // String to Integer intermediate conversion of the String second
+ // operand of Concatenate operator in case the first one is Integer
+
+ Method(m64g, 1)
+ {
+ Store("0321", Local1)
+ Store("FE7CB391D650A284", Local2)
+
+ Store(Concatenate(0x321, Local1), Local0)
+ m600(arg0, 0, Local0, bb26)
+
+ Store(Concatenate(0x321, Local2), Local0)
+ m600(arg0, 1, Local0, bb21)
+
+
+ Store(Concatenate(aui1, Local1), Local0)
+ m600(arg0, 2, Local0, bb26)
+
+ Store(Concatenate(aui1, Local2), Local0)
+ m600(arg0, 3, Local0, bb21)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aui1)), Local1), Local0)
+ m600(arg0, 4, Local0, bb26)
+
+ Store(Concatenate(Derefof(Refof(aui1)), Local2), Local0)
+ m600(arg0, 5, Local0, bb21)
+ }
+
+ Store(Concatenate(Derefof(Index(paui, 1)), Local1), Local0)
+ m600(arg0, 6, Local0, bb26)
+
+ Store(Concatenate(Derefof(Index(paui, 1)), Local2), Local0)
+ m600(arg0, 7, Local0, bb21)
+
+ // Method returns Integer
+
+ Store(Concatenate(m601(1, 1), Local1), Local0)
+ m600(arg0, 8, Local0, bb26)
+
+ Store(Concatenate(m601(1, 1), Local2), Local0)
+ m600(arg0, 9, Local0, bb21)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(1, 1, 1)), Local1), Local0)
+ m600(arg0, 10, Local0, bb26)
+
+ Store(Concatenate(Derefof(m602(1, 1, 1)), Local2), Local0)
+ m600(arg0, 11, Local0, bb21)
+ }
+
+ Concatenate(0x321, Local1, Local0)
+ m600(arg0, 12, Local0, bb26)
+
+ Concatenate(0x321, Local2, Local0)
+ m600(arg0, 13, Local0, bb21)
+
+
+ Concatenate(aui1, Local1, Local0)
+ m600(arg0, 14, Local0, bb26)
+
+ Concatenate(aui1, Local2, Local0)
+ m600(arg0, 15, Local0, bb21)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aui1)), Local1, Local0)
+ m600(arg0, 16, Local0, bb26)
+
+ Concatenate(Derefof(Refof(aui1)), Local2, Local0)
+ m600(arg0, 17, Local0, bb21)
+ }
+
+ Concatenate(Derefof(Index(paui, 1)), Local1, Local0)
+ m600(arg0, 18, Local0, bb26)
+
+ Concatenate(Derefof(Index(paui, 1)), Local2, Local0)
+ m600(arg0, 19, Local0, bb21)
+
+ // Method returns Integer
+
+ Concatenate(m601(1, 1), Local1, Local0)
+ m600(arg0, 20, Local0, bb26)
+
+ Concatenate(m601(1, 1), Local2, Local0)
+ m600(arg0, 21, Local0, bb21)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Concatenate(Derefof(m602(1, 1, 1)), Local1, Local0)
+ m600(arg0, 22, Local0, bb26)
+
+ Concatenate(Derefof(m602(1, 1, 1)), Local2, Local0)
+ m600(arg0, 23, Local0, bb21)
+ }
+ }
+
+ Method(m32g, 1)
+ {
+ Store("0321", Local1)
+ Store("C179B3FE", Local2)
+
+ Store(Concatenate(0x321, Local1), Local0)
+ m600(arg0, 0, Local0, bb27)
+
+ Store(Concatenate(0x321, Local2), Local0)
+ m600(arg0, 1, Local0, bb24)
+
+
+ Store(Concatenate(aui1, Local1), Local0)
+ m600(arg0, 2, Local0, bb27)
+
+ Store(Concatenate(aui1, Local2), Local0)
+ m600(arg0, 3, Local0, bb24)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aui1)), Local1), Local0)
+ m600(arg0, 4, Local0, bb27)
+
+ Store(Concatenate(Derefof(Refof(aui1)), Local2), Local0)
+ m600(arg0, 5, Local0, bb24)
+ }
+
+ Store(Concatenate(Derefof(Index(paui, 1)), Local1), Local0)
+ m600(arg0, 6, Local0, bb27)
+
+ Store(Concatenate(Derefof(Index(paui, 1)), Local2), Local0)
+ m600(arg0, 7, Local0, bb24)
+
+ // Method returns Integer
+
+ Store(Concatenate(m601(1, 1), Local1), Local0)
+ m600(arg0, 8, Local0, bb27)
+
+ Store(Concatenate(m601(1, 1), Local2), Local0)
+ m600(arg0, 9, Local0, bb24)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(1, 1, 1)), Local1), Local0)
+ m600(arg0, 10, Local0, bb27)
+
+ Store(Concatenate(Derefof(m602(1, 1, 1)), Local2), Local0)
+ m600(arg0, 11, Local0, bb24)
+ }
+
+ Concatenate(0x321, Local1, Local0)
+ m600(arg0, 12, Local0, bb27)
+
+ Concatenate(0x321, Local2, Local0)
+ m600(arg0, 13, Local0, bb24)
+
+
+ Concatenate(aui1, Local1, Local0)
+ m600(arg0, 14, Local0, bb27)
+
+ Concatenate(aui1, Local2, Local0)
+ m600(arg0, 15, Local0, bb24)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aui1)), Local1, Local0)
+ m600(arg0, 16, Local0, bb27)
+
+ Concatenate(Derefof(Refof(aui1)), Local2, Local0)
+ m600(arg0, 17, Local0, bb24)
+ }
+
+ Concatenate(Derefof(Index(paui, 1)), Local1, Local0)
+ m600(arg0, 18, Local0, bb27)
+
+ Concatenate(Derefof(Index(paui, 1)), Local2, Local0)
+ m600(arg0, 20, Local0, bb24)
+
+ // Method returns Integer
+
+ Concatenate(m601(1, 1), Local1, Local0)
+ m600(arg0, 21, Local0, bb27)
+
+ Concatenate(m601(1, 1), Local2, Local0)
+ m600(arg0, 22, Local0, bb24)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Concatenate(Derefof(m602(1, 1, 1)), Local1, Local0)
+ m600(arg0, 23, Local0, bb27)
+
+ Concatenate(Derefof(m602(1, 1, 1)), Local2, Local0)
+ m600(arg0, 24, Local0, bb24)
+ }
+ }
+
+ // String to Integer conversion of the String Length (second)
+ // operand of the ToString operator
+
+ // Common 32-bit/64-bit test
+ Method(m02c, 1)
+ {
+ Store("0321", Local1)
+ Store("B", Local2)
+
+ Store(ToString(Buffer() {"This is auxiliary Buffer"},
+ Local2), Local0)
+ m600(arg0, 0, Local0, bs1b)
+
+ Store(ToString(Buffer() {"This is auxiliary Buffer"},
+ Local1), Local0)
+ m600(arg0, 1, Local0, bs1c)
+
+ Store(ToString(aub6, Local2), Local0)
+ m600(arg0, 2, Local0, bs1b)
+
+ Store(ToString(aub6, Local1), Local0)
+ m600(arg0, 3, Local0, bs1c)
+
+ if (y078) {
+ Store(ToString(Derefof(Refof(aub6)), Local2), Local0)
+ m600(arg0, 4, Local0, bs1b)
+
+ Store(ToString(Derefof(Refof(aub6)), Local1), Local0)
+ m600(arg0, 5, Local0, bs1c)
+ }
+
+ Store(ToString(Derefof(Index(paub, 6)), Local2), Local0)
+ m600(arg0, 6, Local0, bs1b)
+
+ Store(ToString(Derefof(Index(paub, 6)), Local1), Local0)
+ m600(arg0, 7, Local0, bs1c)
+
+ // Method returns Buffer
+
+ Store(ToString(m601(3, 6), Local2), Local0)
+ m600(arg0, 8, Local0, bs1b)
+
+ Store(ToString(m601(3, 6), Local1), Local0)
+ m600(arg0, 9, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(ToString(Derefof(m602(3, 6, 1)), Local2), Local0)
+ m600(arg0, 10, Local0, bs1b)
+
+ Store(ToString(Derefof(m602(3, 6, 1)), Local1), Local0)
+ m600(arg0, 11, Local0, bs1c)
+ }
+
+ ToString(Buffer() {"This is auxiliary Buffer"},
+ Local2, Local0)
+ m600(arg0, 12, Local0, bs1b)
+
+ ToString(Buffer() {"This is auxiliary Buffer"},
+ Local1, Local0)
+ m600(arg0, 13, Local0, bs1c)
+
+ ToString(aub6, Local2, Local0)
+ m600(arg0, 14, Local0, bs1b)
+
+ ToString(aub6, Local1, Local0)
+ m600(arg0, 15, Local0, bs1c)
+
+ if (y078) {
+ ToString(Derefof(Refof(aub6)), Local2, Local0)
+ m600(arg0, 16, Local0, bs1b)
+
+ ToString(Derefof(Refof(aub6)), Local1, Local0)
+ m600(arg0, 17, Local0, bs1c)
+ }
+
+ ToString(Derefof(Index(paub, 6)), Local2, Local0)
+ m600(arg0, 18, Local0, bs1b)
+
+ ToString(Derefof(Index(paub, 6)), Local1, Local0)
+ m600(arg0, 19, Local0, bs1c)
+
+ // Method returns Buffer
+
+ ToString(m601(3, 6), Local2, Local0)
+ m600(arg0, 20, Local0, bs1b)
+
+ ToString(m601(3, 6), Local1, Local0)
+ m600(arg0, 21, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ ToString(Derefof(m602(3, 6, 1)), Local2, Local0)
+ m600(arg0, 22, Local0, bs1b)
+
+ ToString(Derefof(m602(3, 6, 1)), Local1, Local0)
+ m600(arg0, 23, Local0, bs1c)
+ }
+ }
+
+ Method(m64h, 1)
+ {
+ Store("FE7CB391D650A284", Local1)
+
+ Store(ToString(Buffer() {"This is auxiliary Buffer"},
+ Local1), Local0)
+ m600(arg0, 0, Local0, bs1c)
+
+ Store(ToString(aub6, Local1), Local0)
+ m600(arg0, 1, Local0, bs1c)
+
+ if (y078) {
+ Store(ToString(Derefof(Refof(aub6)), Local1), Local0)
+ m600(arg0, 2, Local0, bs1c)
+ }
+
+ Store(ToString(Derefof(Index(paub, 6)), Local1), Local0)
+ m600(arg0, 3, Local0, bs1c)
+
+ // Method returns Buffer
+
+ Store(ToString(m601(3, 6), Local1), Local0)
+ m600(arg0, 4, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(ToString(Derefof(m602(3, 6, 1)), Local1), Local0)
+ m600(arg0, 5, Local0, bs1c)
+ }
+
+ ToString(Buffer() {"This is auxiliary Buffer"},
+ Local1, Local0)
+ m600(arg0, 6, Local0, bs1c)
+
+ ToString(aub6, Local1, Local0)
+ m600(arg0, 7, Local0, bs1c)
+
+ if (y078) {
+ ToString(Derefof(Refof(aub6)), Local1, Local0)
+ m600(arg0, 8, Local0, bs1c)
+ }
+
+ ToString(Derefof(Index(paub, 6)), Local1, Local0)
+ m600(arg0, 9, Local0, bs1c)
+
+ // Method returns Buffer
+
+ ToString(m601(3, 6), Local1, Local0)
+ m600(arg0, 10, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ ToString(Derefof(m602(3, 6, 1)), Local1, Local0)
+ m600(arg0, 11, Local0, bs1c)
+ }
+ }
+
+ Method(m32h, 1)
+ {
+ Store("C179B3FE", Local1)
+
+ Store(ToString(Buffer() {"This is auxiliary Buffer"},
+ Local1), Local0)
+ m600(arg0, 0, Local0, bs1c)
+
+ Store(ToString(aub6, Local1), Local0)
+ m600(arg0, 1, Local0, bs1c)
+
+ if (y078) {
+ Store(ToString(Derefof(Refof(aub6)), Local1), Local0)
+ m600(arg0, 2, Local0, bs1c)
+ }
+
+ Store(ToString(Derefof(Index(paub, 6)), Local1), Local0)
+ m600(arg0, 3, Local0, bs1c)
+
+ // Method returns Buffer
+
+ Store(ToString(m601(3, 6), Local1), Local0)
+ m600(arg0, 4, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(ToString(Derefof(m602(3, 6, 1)), Local1), Local0)
+ m600(arg0, 5, Local0, bs1c)
+ }
+
+ ToString(Buffer() {"This is auxiliary Buffer"},
+ Local1, Local0)
+ m600(arg0, 6, Local0, bs1c)
+
+ ToString(aub6, Local1, Local0)
+ m600(arg0, 7, Local0, bs1c)
+
+ if (y078) {
+ ToString(Derefof(Refof(aub6)), Local1, Local0)
+ m600(arg0, 8, Local0, bs1c)
+ }
+
+ ToString(Derefof(Index(paub, 6)), Local1, Local0)
+ m600(arg0, 9, Local0, bs1c)
+
+ // Method returns Buffer
+
+ ToString(m601(3, 6), Local1, Local0)
+ m600(arg0, 10, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ ToString(Derefof(m602(3, 6, 1)), Local1, Local0)
+ m600(arg0, 11, Local0, bs1c)
+ }
+ }
+
+ // String to Integer conversion of the String Index (second)
+ // operand of the Index operator
+ Method(m02d, 1)
+ {
+ Store("B", Local1)
+
+ Store(Index(aus6, Local1), Local0)
+ m600(arg0, 0, Derefof(Local0), bi10)
+
+ Store(Index(aub6, Local1), Local0)
+ m600(arg0, 1, Derefof(Local0), bi10)
+
+ Store(Index(aup0, Local1), Local0)
+ m600(arg0, 2, Derefof(Local0), bi11)
+
+ if (y078) {
+ Store(Index(Derefof(Refof(aus6)), Local1), Local0)
+ m600(arg0, 3, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Refof(aub6)), Local1), Local0)
+ m600(arg0, 4, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Refof(aup0)), Local1), Local0)
+ m600(arg0, 5, Derefof(Local0), bi11)
+ }
+
+ Store(Index(Derefof(Index(paus, 6)), Local1), Local0)
+ m600(arg0, 6, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Index(paub, 6)), Local1), Local0)
+ m600(arg0, 7, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Index(paup, 0)), Local1), Local0)
+ m600(arg0, 8, Derefof(Local0), bi11)
+
+
+ // Method returns Object
+
+ if (y900) {
+ Store(Index(m601(2, 6), Local1), Local0)
+ m600(arg0, 9, Derefof(Local0), bi10)
+
+ Store(Index(m601(3, 6), Local1), Local0)
+ m600(arg0, 10, Derefof(Local0), bi10)
+
+ Store(Index(m601(4, 0), Local1), Local0)
+ m600(arg0, 11, Derefof(Local0), bi11)
+ } else {
+
+ CH03(arg0, z117, 0, 0, 0)
+
+ Index(m601(2, 6), Local1)
+ CH04(arg0, 0, 85, z117, 9, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+
+ Index(m601(3, 6), Local1)
+ CH04(arg0, 0, 85, z117, 10, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+
+ Index(m601(4, 0), Local1)
+ CH04(arg0, 0, 85, z117, 11, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+ }
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Index(Derefof(m602(2, 6, 1)), Local1), Local0)
+ m600(arg0, 12, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(m602(3, 6, 1)), Local1), Local0)
+ m600(arg0, 13, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(m602(4, 0, 1)), Local1), Local0)
+ m600(arg0, 14, Derefof(Local0), bi11)
+ }
+
+ Index(aus6, Local1, Local0)
+ m600(arg0, 15, Derefof(Local0), bi10)
+
+ Index(aub6, Local1, Local0)
+ m600(arg0, 16, Derefof(Local0), bi10)
+
+ Index(aup0, Local1, Local0)
+ m600(arg0, 17, Derefof(Local0), bi11)
+
+ if (y078) {
+ Index(Derefof(Refof(aus6)), Local1, Local0)
+ m600(arg0, 18, Derefof(Local0), bi10)
+
+ Index(Derefof(Refof(aub6)), Local1, Local0)
+ m600(arg0, 19, Derefof(Local0), bi10)
+
+ Index(Derefof(Refof(aup0)), Local1, Local0)
+ m600(arg0, 20, Derefof(Local0), bi11)
+ }
+
+ Index(Derefof(Index(paus, 6)), Local1, Local0)
+ m600(arg0, 21, Derefof(Local0), bi10)
+
+ Index(Derefof(Index(paub, 6)), Local1, Local0)
+ m600(arg0, 22, Derefof(Local0), bi10)
+
+ Index(Derefof(Index(paup, 0)), Local1, Local0)
+ m600(arg0, 23, Derefof(Local0), bi11)
+
+
+ // Method returns Object
+
+ if (y900) {
+ Index(m601(2, 6), Local1, Local0)
+ m600(arg0, 24, Derefof(Local0), bi10)
+
+ Index(m601(3, 6), Local1, Local0)
+ m600(arg0, 25, Derefof(Local0), bi10)
+
+ Index(m601(4, 0), Local1, Local0)
+ m600(arg0, 26, Derefof(Local0), bi11)
+ } else {
+
+ CH03(arg0, z117, 0, 0, 0)
+
+ Index(m601(2, 6), Local1, Local0)
+ CH04(arg0, 0, 85, z117, 24, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+
+ Index(m601(3, 6), Local1, Local0)
+ CH04(arg0, 0, 85, z117, 25, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+
+ Index(m601(4, 0), Local1, Local0)
+ CH04(arg0, 0, 85, z117, 26, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+ }
+
+ // Method returns Reference
+
+ if (y500) {
+ Index(Derefof(m602(2, 6, 1)), Local1, Local0)
+ m600(arg0, 27, Derefof(Local0), bi10)
+
+ Index(Derefof(m602(3, 6, 1)), Local1, Local0)
+ m600(arg0, 28, Derefof(Local0), bi10)
+
+ Index(Derefof(m602(4, 0, 1)), Local1, Local0)
+ m600(arg0, 29, Derefof(Local0), bi11)
+ }
+
+ if (y098) {
+ Store(Index(aus6, Local1, Local2), Local0)
+ m600(arg0, 30, Derefof(Local0), bi10)
+
+ Store(Index(aub6, Local1, Local2), Local0)
+ m600(arg0, 31, Derefof(Local0), bi10)
+
+ Store(Index(aup0, Local1, Local2), Local0)
+ m600(arg0, 32, Derefof(Local0), bi11)
+ }
+
+ if (y078) {
+ Store(Index(Derefof(Refof(aus6)), Local1, Local2), Local0)
+ m600(arg0, 33, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Refof(aub6)), Local1, Local2), Local0)
+ m600(arg0, 34, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Refof(aup0)), Local1, Local2), Local0)
+ m600(arg0, 35, Derefof(Local0), bi11)
+ }
+
+ if (y098) {
+ Store(Index(Derefof(Index(paus, 6)), Local1, Local2), Local0)
+ m600(arg0, 36, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Index(paub, 6)), Local1, Local2), Local0)
+ m600(arg0, 37, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Index(paup, 0)), Local1, Local2), Local0)
+ m600(arg0, 38, Derefof(Local0), bi11)
+ }
+
+ // Method returns Object
+
+ if (LAnd(y900, y098)) {
+ Store(Index(m601(2, 6), Local1, Local2), Local0)
+ m600(arg0, 39, Derefof(Local0), bi10)
+
+ Store(Index(m601(3, 6), Local1, Local2), Local0)
+ m600(arg0, 40, Derefof(Local0), bi10)
+
+ Store(Index(m601(4, 0), Local1, Local2), Local0)
+ m600(arg0, 41, Derefof(Local0), bi11)
+ }
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Index(Derefof(m602(2, 6, 1)), Local1, Local2), Local0)
+ m600(arg0, 42, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(m602(3, 6, 1)), Local1, Local2), Local0)
+ m600(arg0, 43, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(m602(4, 0, 1)), Local1, Local2), Local0)
+ m600(arg0, 44, Derefof(Local0), bi11)
+ }
+ }
+
+ // String to Integer conversion of the String Arg (third)
+ // operand of the Fatal operator
+ // (it can only be checked an exception does not occur)
+ Method(m02e, 1)
+ {
+ Store("0321", Local1)
+ Store("FE7CB391D650A284", Local2)
+ Store("C179B3FE", Local3)
+
+ CH03(arg0, z117, 0, 0, 0)
+ Fatal(0xff, 0xffffffff, Local1)
+ if (F64) {
+ Fatal(0xff, 0xffffffff, Local2)
+ } else {
+ Fatal(0xff, 0xffffffff, Local3)
+ }
+ CH03(arg0, z117, 1, 0, 0)
+ }
+
+ // String to Integer conversion of the String Index and Length
+ // operands of the Mid operator
+
+ // Common 32-bit/64-bit test
+ Method(m02f, 1)
+ {
+ Store("B", Local1)
+
+ // String to Integer conversion of the String Index operand
+
+ Store(Mid("This is auxiliary String", Local1, 10), Local0)
+ m600(arg0, 0, Local0, bs1d)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, Local1, 10), Local0)
+ m600(arg0, 1, Local0, bb32)
+
+ Store(Mid(aus6, Local1, 10), Local0)
+ m600(arg0, 2, Local0, bs1d)
+
+ Store(Mid(aub6, Local1, 10), Local0)
+ m600(arg0, 3, Local0, bb32)
+
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), Local1, 10), Local0)
+ m600(arg0, 4, Local0, bs1d)
+
+ Store(Mid(Derefof(Refof(aub6)), Local1, 10), Local0)
+ m600(arg0, 5, Local0, bb32)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), Local1, 10), Local0)
+ m600(arg0, 6, Local0, bs1d)
+
+ Store(Mid(Derefof(Index(paub, 6)), Local1, 10), Local0)
+ m600(arg0, 7, Local0, bb32)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), Local1, 10), Local0)
+ m600(arg0, 8, Local0, bs1d)
+
+ Store(Mid(m601(3, 6), Local1, 10), Local0)
+ m600(arg0, 9, Local0, bb32)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), Local1, 10), Local0)
+ m600(arg0, 10, Local0, bs1d)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), Local1, 10), Local0)
+ m600(arg0, 11, Local0, bb32)
+ }
+
+ Mid("This is auxiliary String", Local1, 10, Local0)
+ m600(arg0, 12, Local0, bs1d)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, Local1, 10, Local0)
+ m600(arg0, 13, Local0, bb32)
+
+ Mid(aus6, Local1, 10, Local0)
+ m600(arg0, 14, Local0, bs1d)
+
+ Mid(aub6, Local1, 10, Local0)
+ m600(arg0, 15, Local0, bb32)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), Local1, 10, Local0)
+ m600(arg0, 16, Local0, bs1d)
+
+ Mid(Derefof(Refof(aub6)), Local1, 10, Local0)
+ m600(arg0, 17, Local0, bb32)
+ }
+
+ Mid(Derefof(Index(paus, 6)), Local1, 10, Local0)
+ m600(arg0, 18, Local0, bs1d)
+
+ Mid(Derefof(Index(paub, 6)), Local1, 10, Local0)
+ m600(arg0, 19, Local0, bb32)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), Local1, 10, Local0)
+ m600(arg0, 20, Local0, bs1d)
+
+ Mid(m601(3, 6), Local1, 10, Local0)
+ m600(arg0, 21, Local0, bb32)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), Local1, 10, Local0)
+ m600(arg0, 22, Local0, bs1d)
+
+ Mid(Derefof(m602(3, 6, 1)), Local1, 10, Local0)
+ m600(arg0, 23, Local0, bb32)
+ }
+
+ // String to Integer conversion of the String Length operand
+
+ Store(Mid("This is auxiliary String", 0, Local1), Local0)
+ m600(arg0, 24, Local0, bs1b)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, 0, Local1), Local0)
+ m600(arg0, 25, Local0, bb33)
+
+ Store(Mid(aus6, 0, Local1), Local0)
+ m600(arg0, 26, Local0, bs1b)
+
+ Store(Mid(aub6, 0, Local1), Local0)
+ m600(arg0, 27, Local0, bb33)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), 0, Local1), Local0)
+ m600(arg0, 28, Local0, bs1b)
+
+ Store(Mid(Derefof(Refof(aub6)), 0, Local1), Local0)
+ m600(arg0, 29, Local0, bb33)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), 0, Local1), Local0)
+ m600(arg0, 30, Local0, bs1b)
+
+ Store(Mid(Derefof(Index(paub, 6)), 0, Local1), Local0)
+ m600(arg0, 31, Local0, bb33)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), 0, Local1), Local0)
+ m600(arg0, 32, Local0, bs1b)
+
+ Store(Mid(m601(3, 6), 0, Local1), Local0)
+ m600(arg0, 33, Local0, bb33)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), 0, Local1), Local0)
+ m600(arg0, 34, Local0, bs1b)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), 0, Local1), Local0)
+ m600(arg0, 35, Local0, bb33)
+ }
+
+ Mid("This is auxiliary String", 0, Local1, Local0)
+ m600(arg0, 36, Local0, bs1b)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, 0, Local1, Local0)
+ m600(arg0, 37, Local0, bb33)
+
+ Mid(aus6, 0, Local1, Local0)
+ m600(arg0, 37, Local0, bs1b)
+
+ Mid(aub6, 0, Local1, Local0)
+ m600(arg0, 39, Local0, bb33)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), 0, Local1, Local0)
+ m600(arg0, 40, Local0, bs1b)
+
+ Mid(Derefof(Refof(aub6)), 0, Local1, Local0)
+ m600(arg0, 41, Local0, bb33)
+ }
+
+ Mid(Derefof(Index(paus, 6)), 0, Local1, Local0)
+ m600(arg0, 42, Local0, bs1b)
+
+ Mid(Derefof(Index(paub, 6)), 0, Local1, Local0)
+ m600(arg0, 43, Local0, bb33)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), 0, Local1, Local0)
+ m600(arg0, 44, Local0, bs1b)
+
+ Mid(m601(3, 6), 0, Local1, Local0)
+ m600(arg0, 45, Local0, bb33)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), 0, Local1, Local0)
+ m600(arg0, 46, Local0, bs1b)
+
+ Mid(Derefof(m602(3, 6, 1)), 0, Local1, Local0)
+ m600(arg0, 47, Local0, bb33)
+ }
+ }
+
+ Method(m64i, 1)
+ {
+ Store("FE7CB391D650A284", Local1)
+ Store("B", Local2)
+
+ // String to Integer conversion of the String Length operand
+
+ Store(Mid("This is auxiliary String", 0, Local1), Local0)
+ m600(arg0, 0, Local0, bs1e)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, 0, Local1), Local0)
+ m600(arg0, 1, Local0, bb34)
+
+ Store(Mid(aus6, 0, Local1), Local0)
+ m600(arg0, 2, Local0, bs1e)
+
+ Store(Mid(aub6, 0, Local1), Local0)
+ m600(arg0, 3, Local0, bb34)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), 0, Local1), Local0)
+ m600(arg0, 4, Local0, bs1e)
+
+ Store(Mid(Derefof(Refof(aub6)), 0, Local1), Local0)
+ m600(arg0, 5, Local0, bb34)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), 0, Local1), Local0)
+ m600(arg0, 6, Local0, bs1e)
+
+ Store(Mid(Derefof(Index(paub, 6)), 0, Local1), Local0)
+ m600(arg0, 7, Local0, bb34)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), 0, Local1), Local0)
+ m600(arg0, 8, Local0, bs1e)
+
+ Store(Mid(m601(3, 6), 0, Local1), Local0)
+ m600(arg0, 9, Local0, bb34)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), 0, Local1), Local0)
+ m600(arg0, 10, Local0, bs1e)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), 0, Local1), Local0)
+ m600(arg0, 11, Local0, bb34)
+ }
+
+ Mid("This is auxiliary String", 0, Local1, Local0)
+ m600(arg0, 12, Local0, bs1e)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, 0, Local1, Local0)
+ m600(arg0, 13, Local0, bb34)
+
+ Mid(aus6, 0, Local1, Local0)
+ m600(arg0, 14, Local0, bs1e)
+
+ Mid(aub6, 0, Local1, Local0)
+ m600(arg0, 15, Local0, bb34)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), 0, Local1, Local0)
+ m600(arg0, 16, Local0, bs1e)
+
+ Mid(Derefof(Refof(aub6)), 0, Local1, Local0)
+ m600(arg0, 17, Local0, bb34)
+ }
+
+ Mid(Derefof(Index(paus, 6)), 0, Local1, Local0)
+ m600(arg0, 18, Local0, bs1e)
+
+ Mid(Derefof(Index(paub, 6)), 0, Local1, Local0)
+ m600(arg0, 19, Local0, bb34)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), 0, Local1, Local0)
+ m600(arg0, 20, Local0, bs1e)
+
+ Mid(m601(3, 6), 0, Local1, Local0)
+ m600(arg0, 21, Local0, bb34)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), 0, Local1, Local0)
+ m600(arg0, 22, Local0, bs1e)
+
+ Mid(Derefof(m602(3, 6, 1)), 0, Local1, Local0)
+ m600(arg0, 23, Local0, bb34)
+ }
+
+ // String to Integer conversion of the both String operands
+
+ Store(Mid("This is auxiliary String", Local2, Local1), Local0)
+ m600(arg0, 24, Local0, bs1f)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, Local2, Local1), Local0)
+ m600(arg0, 25, Local0, bb35)
+
+ Store(Mid(aus6, Local2, Local1), Local0)
+ m600(arg0, 26, Local0, bs1f)
+
+ Store(Mid(aub6, Local2, Local1), Local0)
+ m600(arg0, 27, Local0, bb35)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), Local2, Local1), Local0)
+ m600(arg0, 28, Local0, bs1f)
+
+ Store(Mid(Derefof(Refof(aub6)), Local2, Local1), Local0)
+ m600(arg0, 29, Local0, bb35)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), Local2, Local1), Local0)
+ m600(arg0, 30, Local0, bs1f)
+
+ Store(Mid(Derefof(Index(paub, 6)), Local2, Local1), Local0)
+ m600(arg0, 31, Local0, bb35)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), Local2, Local1), Local0)
+ m600(arg0, 32, Local0, bs1f)
+
+ Store(Mid(m601(3, 6), Local2, Local1), Local0)
+ m600(arg0, 33, Local0, bb35)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), Local2, Local1), Local0)
+ m600(arg0, 34, Local0, bs1f)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), Local2, Local1), Local0)
+ m600(arg0, 35, Local0, bb35)
+ }
+
+ Mid("This is auxiliary String", Local2, Local1, Local0)
+ m600(arg0, 36, Local0, bs1f)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, Local2, Local1, Local0)
+ m600(arg0, 37, Local0, bb35)
+
+ Mid(aus6, Local2, Local1, Local0)
+ m600(arg0, 38, Local0, bs1f)
+
+ Mid(aub6, Local2, Local1, Local0)
+ m600(arg0, 39, Local0, bb35)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), Local2, Local1, Local0)
+ m600(arg0, 40, Local0, bs1f)
+
+ Mid(Derefof(Refof(aub6)), Local2, Local1, Local0)
+ m600(arg0, 41, Local0, bb35)
+ }
+
+ Mid(Derefof(Index(paus, 6)), Local2, Local1, Local0)
+ m600(arg0, 42, Local0, bs1f)
+
+ Mid(Derefof(Index(paub, 6)), Local2, Local1, Local0)
+ m600(arg0, 43, Local0, bb35)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), Local2, Local1, Local0)
+ m600(arg0, 44, Local0, bs1f)
+
+ Mid(m601(3, 6), Local2, Local1, Local0)
+ m600(arg0, 45, Local0, bb35)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), Local2, Local1, Local0)
+ m600(arg0, 46, Local0, bs1f)
+
+ Mid(Derefof(m602(3, 6, 1)), Local2, Local1, Local0)
+ m600(arg0, 47, Local0, bb35)
+ }
+ }
+
+ Method(m32i, 1)
+ {
+ Store("C179B3FE", Local1)
+ Store("B", Local2)
+
+ // String to Integer conversion of the String Length operand
+
+ Store(Mid("This is auxiliary String", 0, Local1), Local0)
+ m600(arg0, 0, Local0, bs1e)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, 0, Local1), Local0)
+ m600(arg0, 1, Local0, bb34)
+
+ Store(Mid(aus6, 0, Local1), Local0)
+ m600(arg0, 2, Local0, bs1e)
+
+ Store(Mid(aub6, 0, Local1), Local0)
+ m600(arg0, 3, Local0, bb34)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), 0, Local1), Local0)
+ m600(arg0, 4, Local0, bs1e)
+
+ Store(Mid(Derefof(Refof(aub6)), 0, Local1), Local0)
+ m600(arg0, 5, Local0, bb34)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), 0, Local1), Local0)
+ m600(arg0, 6, Local0, bs1e)
+
+ Store(Mid(Derefof(Index(paub, 6)), 0, Local1), Local0)
+ m600(arg0, 7, Local0, bb34)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), 0, Local1), Local0)
+ m600(arg0, 8, Local0, bs1e)
+
+ Store(Mid(m601(3, 6), 0, Local1), Local0)
+ m600(arg0, 9, Local0, bb34)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), 0, Local1), Local0)
+ m600(arg0, 10, Local0, bs1e)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), 0, Local1), Local0)
+ m600(arg0, 11, Local0, bb34)
+ }
+
+ Mid("This is auxiliary String", 0, Local1, Local0)
+ m600(arg0, 12, Local0, bs1e)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, 0, Local1, Local0)
+ m600(arg0, 13, Local0, bb34)
+
+ Mid(aus6, 0, Local1, Local0)
+ m600(arg0, 14, Local0, bs1e)
+
+ Mid(aub6, 0, Local1, Local0)
+ m600(arg0, 15, Local0, bb34)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), 0, Local1, Local0)
+ m600(arg0, 16, Local0, bs1e)
+
+ Mid(Derefof(Refof(aub6)), 0, Local1, Local0)
+ m600(arg0, 17, Local0, bb34)
+ }
+
+ Mid(Derefof(Index(paus, 6)), 0, Local1, Local0)
+ m600(arg0, 18, Local0, bs1e)
+
+ Mid(Derefof(Index(paub, 6)), 0, Local1, Local0)
+ m600(arg0, 19, Local0, bb34)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), 0, Local1, Local0)
+ m600(arg0, 20, Local0, bs1e)
+
+ Mid(m601(3, 6), 0, Local1, Local0)
+ m600(arg0, 21, Local0, bb34)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), 0, Local1, Local0)
+ m600(arg0, 22, Local0, bs1e)
+
+ Mid(Derefof(m602(3, 6, 1)), 0, Local1, Local0)
+ m600(arg0, 23, Local0, bb34)
+ }
+
+ // String to Integer conversion of the both String operands
+
+ Store(Mid("This is auxiliary String", Local2, Local1), Local0)
+ m600(arg0, 24, Local0, bs1f)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, Local2, Local1), Local0)
+ m600(arg0, 25, Local0, bb35)
+
+ Store(Mid(aus6, Local2, Local1), Local0)
+ m600(arg0, 26, Local0, bs1f)
+
+ Store(Mid(aub6, Local2, Local1), Local0)
+ m600(arg0, 27, Local0, bb35)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), Local2, Local1), Local0)
+ m600(arg0, 28, Local0, bs1f)
+
+ Store(Mid(Derefof(Refof(aub6)), Local2, Local1), Local0)
+ m600(arg0, 29, Local0, bb35)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), Local2, Local1), Local0)
+ m600(arg0, 30, Local0, bs1f)
+
+ Store(Mid(Derefof(Index(paub, 6)), Local2, Local1), Local0)
+ m600(arg0, 31, Local0, bb35)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), Local2, Local1), Local0)
+ m600(arg0, 32, Local0, bs1f)
+
+ Store(Mid(m601(3, 6), Local2, Local1), Local0)
+ m600(arg0, 33, Local0, bb35)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), Local2, Local1), Local0)
+ m600(arg0, 34, Local0, bs1f)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), Local2, Local1), Local0)
+ m600(arg0, 35, Local0, bb35)
+ }
+
+ Mid("This is auxiliary String", Local2, Local1, Local0)
+ m600(arg0, 36, Local0, bs1f)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, Local2, Local1, Local0)
+ m600(arg0, 37, Local0, bb35)
+
+ Mid(aus6, Local2, Local1, Local0)
+ m600(arg0, 38, Local0, bs1f)
+
+ Mid(aub6, Local2, Local1, Local0)
+ m600(arg0, 39, Local0, bb35)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), Local2, Local1, Local0)
+ m600(arg0, 40, Local0, bs1f)
+
+ Mid(Derefof(Refof(aub6)), Local2, Local1, Local0)
+ m600(arg0, 41, Local0, bb35)
+ }
+
+ Mid(Derefof(Index(paus, 6)), Local2, Local1, Local0)
+ m600(arg0, 42, Local0, bs1f)
+
+ Mid(Derefof(Index(paub, 6)), Local2, Local1, Local0)
+ m600(arg0, 43, Local0, bb35)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), Local2, Local1, Local0)
+ m600(arg0, 44, Local0, bs1f)
+
+ Mid(m601(3, 6), Local2, Local1, Local0)
+ m600(arg0, 45, Local0, bb35)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), Local2, Local1, Local0)
+ m600(arg0, 46, Local0, bs1f)
+
+ Mid(Derefof(m602(3, 6, 1)), Local2, Local1, Local0)
+ m600(arg0, 47, Local0, bb35)
+ }
+ }
+
+ // String to Integer conversion of the String StartIndex
+ // operand of the Match operator
+ Method(m030, 1)
+ {
+ Store("B", Local1)
+
+ Store(Match(
+ Package(){
+ 0xa50, 0xa51, 0xa52, 0xa53, 0xa54, 0xa55, 0xa56, 0xa57,
+ 0xa58, 0xa59, 0xa5a, 0xa5b, 0xa5c, 0xa5d, 0xa5e,},
+ MEQ, 0xa5d, MTR, 0, Local1), Local0)
+ m600(arg0, 0, Local0, 0xd)
+
+ Store(Match(
+ Package(){
+ 0xa50, 0xa51, 0xa52, 0xa53, 0xa54, 0xa55, 0xa56, 0xa57,
+ 0xa58, 0xa59, 0xa5a, 0xa5b, 0xa5c, 0xa5d, 0xa5e,},
+ MEQ, 0xa5a, MTR, 0, Local1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(Match(aup0, MEQ, 0xa5d, MTR, 0, Local1), Local0)
+ m600(arg0, 2, Local0, 0xd)
+
+ Store(Match(aup0, MEQ, 0xa5a, MTR, 0, Local1), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(Match(Derefof(Refof(aup0)), MEQ, 0xa5d, MTR, 0, Local1), Local0)
+ m600(arg0, 4, Local0, 0xd)
+
+ Store(Match(Derefof(Refof(aup0)), MEQ, 0xa5a, MTR, 0, Local1), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(Match(Derefof(Index(paup, 0)), MEQ, 0xa5d, MTR, 0, Local1), Local0)
+ m600(arg0, 6, Local0, 0xd)
+
+ Store(Match(Derefof(Index(paup, 0)), MEQ, 0xa5a, MTR, 0, Local1), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Object
+
+ Store(Match(m601(4, 0), MEQ, 0xa5d, MTR, 0, Local1), Local0)
+ m600(arg0, 8, Local0, 0xd)
+
+ Store(Match(m601(4, 0), MEQ, 0xa5a, MTR, 0, Local1), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Match(Derefof(m602(4, 0, 1)), MEQ, 0xa5d, MTR, 0, Local1), Local0)
+ m600(arg0, 10, Local0, 0xd)
+
+ Store(Match(Derefof(m602(4, 0, 1)), MEQ, 0xa5a, MTR, 0, Local1), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+ }
+
+// Method(m64j, 1)
+
+// Method(m32j, 1)
+
+ // String to Integer conversion of the String sole operand
+ // of the Method execution control operators (Sleep, Stall)
+ Method(m031, 1)
+ {
+ Store("0321", Local3)
+ Store("63", Local4)
+
+ CH03(arg0, z117, 2, 0, 0)
+
+ // Sleep
+
+ Store(Timer, Local0)
+
+ Sleep(Local3)
+ CH03(arg0, z117, 3, 0, 0)
+
+ Store(Timer, Local1)
+ Subtract(Local1, Local0, Local2)
+ if (LLess(Local2, c08c)) {
+ err(arg0, z117, 0, 0, 0, Local2, c08c)
+ }
+
+ // Stall
+
+ Store(Timer, Local0)
+
+ Stall(Local4)
+ CH03(arg0, z117, 4, 0, 0)
+
+ Store(Timer, Local1)
+ Subtract(Local1, Local0, Local2)
+ if (LLess(Local2, 990)) {
+ err(arg0, z117, 1, 0, 0, Local2, 990)
+ }
+ }
+
+ // String to Integer conversion of the String TimeoutValue
+ // (second) operand of the Acquire operator ???
+ Method(m032, 1)
+ {
+ Store("0321", Local3)
+
+ Mutex(MTX0, 0)
+
+ Acquire(MTX0, 0)
+ CH03(arg0, z117, 5, 0, 0)
+
+ Store(Timer, Local0)
+
+/* Compiler allows only Integer constant as TimeoutValue (Bug 1)
+ Acquire(MTX0, Local3)
+*/
+ CH03(arg0, z117, 6, 0, 0)
+
+ Store(Timer, Local1)
+ Subtract(Local1, Local0, Local2)
+ if (LLess(Local2, c08c)) {
+ err(arg0, z117, 0, 0, 0, Local2, c08c)
+ }
+ }
+
+ // String to Integer conversion of the String TimeoutValue
+ // (second) operand of the Wait operator
+ Method(m033, 1)
+ {
+ Store("0321", Local1)
+
+ Event(EVT0)
+
+ CH03(arg0, z117, 7, 0, 0)
+
+ Store(Timer, Local0)
+
+ Wait(EVT0, Local1)
+ CH03(arg0, z117, 8, 0, 0)
+
+ Store(Timer, Local1)
+ Subtract(Local1, Local0, Local2)
+ if (LLess(Local2, c08c)) {
+ err(arg0, z117, 0, 0, 0, Local2, c08c)
+ }
+ }
+
+ // String to Integer conversion of the String value
+ // of Predicate of the Method execution control statements
+ // (If, ElseIf, While)
+ Method(m034, 1)
+ {
+ Name(ist0, 0)
+
+ Method(m001)
+ {
+ Store("0", Local0)
+ if (Local0) {
+ Store(0, ist0)
+ }
+ }
+
+ Method(m002)
+ {
+ Store("0321", Local1)
+ if (Local1) {
+ Store(2, ist0)
+ }
+ }
+
+ Method(m003)
+ {
+ Store("C179B3FE", Local3)
+ if (Local3) {
+ Store(3, ist0)
+ }
+ }
+
+ Method(m004)
+ {
+ Store("FE7CB391D650A284", Local2)
+ if (Local2) {
+ Store(4, ist0)
+ }
+ }
+
+ Method(m005, 1)
+ {
+ Store("0", Local0)
+ if (arg0) {
+ Store(0xff, ist0)
+ } elseif (Local0) {
+ Store(0, ist0)
+ }
+ }
+
+ Method(m006, 1)
+ {
+ Store("0321", Local1)
+ if (arg0) {
+ Store(0xff, ist0)
+ } elseif (Local1) {
+ Store(6, ist0)
+ }
+ }
+
+ Method(m007, 1)
+ {
+ Store("C179B3FE", Local3)
+ if (arg0) {
+ Store(0xff, ist0)
+ } elseif (Local3) {
+ Store(7, ist0)
+ }
+ }
+
+ Method(m008, 1)
+ {
+ Store("FE7CB391D650A284", Local2)
+ if (arg0) {
+ Store(0xff, ist0)
+ } elseif (Local2) {
+ Store(8, ist0)
+ }
+ }
+
+ Method(m009)
+ {
+ Store("0", Local0)
+ while (Local0) {
+ Store(0, ist0)
+ Break
+ }
+ }
+
+ // If
+
+ Store(1, ist0)
+ m001()
+ m600(arg0, 0, ist0, 1)
+
+ m002()
+ m600(arg0, 1, ist0, 2)
+
+ m003()
+ m600(arg0, 2, ist0, 3)
+
+ m004()
+ m600(arg0, 3, ist0, 4)
+
+ // ElseIf
+
+ Store(5, ist0)
+ m005(0)
+ m600(arg0, 4, ist0, 5)
+
+ m006(0)
+ m600(arg0, 5, ist0, 6)
+
+ m007(0)
+ m600(arg0, 6, ist0, 7)
+
+ m008(0)
+ m600(arg0, 7, ist0, 8)
+
+ // While
+
+ Store(9, ist0)
+ m009()
+ m600(arg0, 8, ist0, 9)
+ }
+
+// Method(m64k, 1)
+
+// Method(m32k, 1)
+
+ // String to Buffer implicit conversion Cases.
+
+ // String to Buffer conversion of the String second operand of
+ // Logical operators when the first operand is evaluated as Buffer
+ // (LEqual, LGreater, LGreaterEqual, LLess, LLessEqual, LNotEqual)
+
+ Method(m035, 1)
+ {
+ Store("0321", Local1)
+ Store("", Local2)
+ Store("!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*",
+ Local3)
+
+ // LEqual
+
+ Store(LEqual(Buffer() {0x30, 0x33, 0x32, 0x31, 0x00}, Local1), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual(Buffer() {0x30, 0x33, 0x32, 0x31, 0x01}, Local1), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(aub7, Local1), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(LEqual(aub3, Local1), Local0)
+ m600(arg0, 3, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aub7)), Local1), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(aub3)), Local1), Local0)
+ m600(arg0, 5, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paub, 7)), Local1), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paub, 3)), Local1), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ // Method returns Buffer
+
+ Store(LEqual(m601(3, 7), Local1), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(LEqual(m601(3, 3), Local1), Local0)
+ m600(arg0, 9, Local0, Zero)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(3, 7, 1)), Local1), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(3, 3, 1)), Local1), Local0)
+ m600(arg0, 11, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater(Buffer() {0x30, 0x33, 0x32, 0x31, 0x00}, Local1), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LGreater(Buffer() {0x30, 0x33, 0x32, 0x31, 0x01}, Local1), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LGreater(Buffer() {0x30, 0x33, 0x32, 0x31}, Local1), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LGreater(Buffer() {0x30, 0x33, 0x32, 0x31, 0x00, 0x01}, Local1), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LGreater(aub7, Local1), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LGreater(aub8, Local1), Local0)
+ m600(arg0, 17, Local0, Ones)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aub7)), Local1), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(aub8)), Local1), Local0)
+ m600(arg0, 19, Local0, Ones)
+ }
+
+ Store(LGreater(Derefof(Index(paub, 7)), Local1), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paub, 8)), Local1), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Buffer
+
+ Store(LGreater(m601(3, 7), Local1), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LGreater(m601(3, 8), Local1), Local0)
+ m600(arg0, 23, Local0, Ones)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(3, 7, 1)), Local1), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(3, 8, 1)), Local1), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual(Buffer() {0x30, 0x33, 0x32, 0x31, 0x00}, Local1), Local0)
+ m600(arg0, 26, Local0, Ones)
+
+ Store(LGreaterEqual(Buffer() {0x30, 0x33, 0x32, 0x31, 0x01}, Local1), Local0)
+ m600(arg0, 27, Local0, Ones)
+
+ Store(LGreaterEqual(Buffer() {0x30, 0x33, 0x32, 0x31}, Local1), Local0)
+ m600(arg0, 28, Local0, Zero)
+
+ Store(LGreaterEqual(Buffer() {0x30, 0x33, 0x32, 0x31, 0x00, 0x01}, Local1), Local0)
+ m600(arg0, 29, Local0, Ones)
+
+ Store(LGreaterEqual(aub7, Local1), Local0)
+ m600(arg0, 30, Local0, Ones)
+
+ Store(LGreaterEqual(aub8, Local1), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aub7)), Local1), Local0)
+ m600(arg0, 32, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(aub8)), Local1), Local0)
+ m600(arg0, 33, Local0, Ones)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paub, 7)), Local1), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paub, 8)), Local1), Local0)
+ m600(arg0, 35, Local0, Ones)
+
+ // Method returns Buffer
+
+ Store(LGreaterEqual(m601(3, 7), Local1), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(m601(3, 8), Local1), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(3, 7, 1)), Local1), Local0)
+ m600(arg0, 38, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(3, 8, 1)), Local1), Local0)
+ m600(arg0, 39, Local0, Ones)
+ }
+
+ // LLess
+
+ Store(LLess(Buffer() {0x30, 0x33, 0x32, 0x31, 0x00}, Local1), Local0)
+ m600(arg0, 40, Local0, Zero)
+
+ Store(LLess(Buffer() {0x30, 0x33, 0x32, 0x31, 0x01}, Local1), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ Store(LLess(Buffer() {0x30, 0x33, 0x32, 0x31}, Local1), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LLess(Buffer() {0x30, 0x33, 0x32, 0x31, 0x00, 0x01}, Local1), Local0)
+ m600(arg0, 43, Local0, Zero)
+
+ Store(LLess(aub7, Local1), Local0)
+ m600(arg0, 44, Local0, Zero)
+
+ Store(LLess(aub8, Local1), Local0)
+ m600(arg0, 45, Local0, Zero)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aub7)), Local1), Local0)
+ m600(arg0, 46, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(aub8)), Local1), Local0)
+ m600(arg0, 47, Local0, Zero)
+ }
+
+ Store(LLess(Derefof(Index(paub, 7)), Local1), Local0)
+ m600(arg0, 48, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paub, 8)), Local1), Local0)
+ m600(arg0, 49, Local0, Zero)
+
+ // Method returns Buffer
+
+ Store(LLess(m601(3, 7), Local1), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ Store(LLess(m601(3, 8), Local1), Local0)
+ m600(arg0, 51, Local0, Zero)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LLess(Derefof(m602(3, 7, 1)), Local1), Local0)
+ m600(arg0, 52, Local0, Zero)
+
+ Store(LLess(Derefof(m602(3, 8, 1)), Local1), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual(Buffer() {0x30, 0x33, 0x32, 0x31, 0x00}, Local1), Local0)
+ m600(arg0, 54, Local0, Ones)
+
+ Store(LLessEqual(Buffer() {0x30, 0x33, 0x32, 0x31, 0x01}, Local1), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLessEqual(Buffer() {0x30, 0x33, 0x32, 0x31}, Local1), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLessEqual(Buffer() {0x30, 0x33, 0x32, 0x31, 0x00, 0x01}, Local1), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLessEqual(aub7, Local1), Local0)
+ m600(arg0, 58, Local0, Ones)
+
+ Store(LLessEqual(aub8, Local1), Local0)
+ m600(arg0, 59, Local0, Zero)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aub7)), Local1), Local0)
+ m600(arg0, 60, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(aub8)), Local1), Local0)
+ m600(arg0, 61, Local0, Zero)
+ }
+
+ Store(LLessEqual(Derefof(Index(paub, 7)), Local1), Local0)
+ m600(arg0, 62, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paub, 8)), Local1), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ // Method returns Buffer
+
+ Store(LLessEqual(m601(3, 7), Local1), Local0)
+ m600(arg0, 64, Local0, Ones)
+
+ Store(LLessEqual(m601(3, 8), Local1), Local0)
+ m600(arg0, 65, Local0, Zero)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(3, 7, 1)), Local1), Local0)
+ m600(arg0, 66, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(3, 8, 1)), Local1), Local0)
+ m600(arg0, 67, Local0, Zero)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual(Buffer() {0x30, 0x33, 0x32, 0x31, 0x00}, Local1), Local0)
+ m600(arg0, 68, Local0, Zero)
+
+ Store(LNotEqual(Buffer() {0x30, 0x33, 0x32, 0x31, 0x01}, Local1), Local0)
+ m600(arg0, 69, Local0, Ones)
+
+ Store(LNotEqual(Buffer() {0x30, 0x33, 0x32, 0x31}, Local1), Local0)
+ m600(arg0, 70, Local0, Ones)
+
+ Store(LNotEqual(Buffer() {0x30, 0x33, 0x32, 0x31, 0x00, 0x01}, Local1), Local0)
+ m600(arg0, 71, Local0, Ones)
+
+ Store(LNotEqual(aub7, Local1), Local0)
+ m600(arg0, 72, Local0, Zero)
+
+ Store(LNotEqual(aub8, Local1), Local0)
+ m600(arg0, 73, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aub7)), Local1), Local0)
+ m600(arg0, 74, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(aub8)), Local1), Local0)
+ m600(arg0, 75, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paub, 7)), Local1), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paub, 8)), Local1), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ // Method returns Buffer
+
+ Store(LNotEqual(m601(3, 7), Local1), Local0)
+ m600(arg0, 78, Local0, Zero)
+
+ Store(LNotEqual(m601(3, 8), Local1), Local0)
+ m600(arg0, 79, Local0, Ones)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(3, 7, 1)), Local1), Local0)
+ m600(arg0, 80, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(3, 8, 1)), Local1), Local0)
+ m600(arg0, 81, Local0, Ones)
+ }
+
+ // Boundary Cases
+
+ Store(LEqual(Buffer() {0x00}, Local2), Local0)
+ m600(arg0, 82, Local0, Ones)
+
+ Store(LEqual(Buffer() {0x01}, Local2), Local0)
+ m600(arg0, 83, Local0, Zero)
+
+ Store(LGreater(Buffer() {0x00}, Local2), Local0)
+ m600(arg0, 84, Local0, Zero)
+
+ Store(LGreater(Buffer() {0x01}, Local2), Local0)
+ m600(arg0, 85, Local0, Ones)
+
+ Store(LGreaterEqual(Buffer() {0x00}, Local2), Local0)
+ m600(arg0, 86, Local0, Ones)
+
+ Store(LGreater(Buffer() {0x01}, Local2), Local0)
+ m600(arg0, 87, Local0, Ones)
+
+ Store(LLess(Buffer() {0x00}, Local2), Local0)
+ m600(arg0, 88, Local0, Zero)
+
+ Store(LLess(Buffer() {0x01}, Local2), Local0)
+ m600(arg0, 89, Local0, Zero)
+
+ Store(LLessEqual(Buffer() {0x00}, Local2), Local0)
+ m600(arg0, 90, Local0, Ones)
+
+ Store(LLessEqual(Buffer() {0x01}, Local2), Local0)
+ m600(arg0, 91, Local0, Zero)
+
+ Store(LNotEqual(Buffer() {0x00}, Local2), Local0)
+ m600(arg0, 92, Local0, Zero)
+
+ Store(LNotEqual(Buffer() {0x01}, Local2), Local0)
+ m600(arg0, 93, Local0, Ones)
+
+ Store(LEqual(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x00,},
+ Local3),
+ Local0)
+ m600(arg0, 94, Local0, Ones)
+
+ Store(LEqual(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x01,},
+ Local3),
+ Local0)
+ m600(arg0, 95, Local0, Zero)
+
+ Store(LGreater(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x00,},
+ Local3),
+ Local0)
+ m600(arg0, 96, Local0, Zero)
+
+ Store(LGreater(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x01,},
+ Local3),
+ Local0)
+ m600(arg0, 97, Local0, Ones)
+
+ Store(LGreaterEqual(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x00,},
+ Local3),
+ Local0)
+ m600(arg0, 98, Local0, Ones)
+
+ Store(LGreater(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x01,},
+ Local3),
+ Local0)
+ m600(arg0, 99, Local0, Ones)
+
+ Store(LLess(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x00,},
+ Local3),
+ Local0)
+ m600(arg0, 100, Local0, Zero)
+
+ Store(LLess(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x01,},
+ Local3),
+ Local0)
+ m600(arg0, 101, Local0, Zero)
+
+ Store(LLessEqual(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x00,},
+ Local3),
+ Local0)
+ m600(arg0, 102, Local0, Ones)
+
+ Store(LLessEqual(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x01,},
+ Local3),
+ Local0)
+ m600(arg0, 103, Local0, Zero)
+
+ Store(LNotEqual(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x00,},
+ Local3),
+ Local0)
+ m600(arg0, 104, Local0, Zero)
+
+ Store(LNotEqual(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x01,},
+ Local3),
+ Local0)
+ m600(arg0, 105, Local0, Ones)
+ }
+
+ // String to Buffer conversion of the String second operand of
+ // Concatenate operator when the first operand is evaluated as Buffer
+
+ Method(m036, 1)
+ {
+ Store("0321", Local1)
+ Store("", Local2)
+ Store("!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*",
+ Local3)
+
+ Store(Concatenate(Buffer(){0x5a}, Local1), Local0)
+ m600(arg0, 0, Local0, bb29)
+
+ Store(Concatenate(Buffer(){0x5a, 0x00}, Local1), Local0)
+ m600(arg0, 1, Local0, bb2a)
+
+ Store(Concatenate(aub0, Local1), Local0)
+ m600(arg0, 2, Local0, bb29)
+
+ Store(Concatenate(aub1, Local1), Local0)
+ m600(arg0, 3, Local0, bb2a)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aub0)), Local1), Local0)
+ m600(arg0, 4, Local0, bb29)
+
+ Store(Concatenate(Derefof(Refof(aub1)), Local1), Local0)
+ m600(arg0, 5, Local0, bb2a)
+ }
+
+ Store(Concatenate(Derefof(Index(paub, 0)), Local1), Local0)
+ m600(arg0, 6, Local0, bb29)
+
+ Store(Concatenate(Derefof(Index(paub, 1)), Local1), Local0)
+ m600(arg0, 7, Local0, bb2a)
+
+ // Method returns Buffer
+
+ Store(Concatenate(m601(3, 0), Local1), Local0)
+ m600(arg0, 8, Local0, bb29)
+
+ Store(Concatenate(m601(3, 1), Local1), Local0)
+ m600(arg0, 9, Local0, bb2a)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(3, 0, 1)), Local1), Local0)
+ m600(arg0, 10, Local0, bb29)
+
+ Store(Concatenate(Derefof(m602(3, 1, 1)), Local1), Local0)
+ m600(arg0, 11, Local0, bb2a)
+ }
+
+ Concatenate(Buffer(){0x5a}, Local1, Local0)
+ m600(arg0, 12, Local0, bb29)
+
+ Concatenate(Buffer(){0x5a, 0x00}, Local1, Local0)
+ m600(arg0, 13, Local0, bb2a)
+
+ Concatenate(aub0, Local1, Local0)
+ m600(arg0, 14, Local0, bb29)
+
+ Concatenate(aub1, Local1, Local0)
+ m600(arg0, 15, Local0, bb2a)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aub0)), Local1, Local0)
+ m600(arg0, 16, Local0, bb29)
+
+ Concatenate(Derefof(Refof(aub1)), Local1, Local0)
+ m600(arg0, 17, Local0, bb2a)
+ }
+
+ Concatenate(Derefof(Index(paub, 0)), Local1, Local0)
+ m600(arg0, 18, Local0, bb29)
+
+ Concatenate(Derefof(Index(paub, 1)), Local1, Local0)
+ m600(arg0, 19, Local0, bb2a)
+
+ // Method returns Buffer
+
+ Concatenate(m601(3, 0), Local1, Local0)
+ m600(arg0, 20, Local0, bb29)
+
+ Concatenate(m601(3, 1), Local1, Local0)
+ m600(arg0, 21, Local0, bb2a)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Concatenate(Derefof(m602(3, 0, 1)), Local1, Local0)
+ m600(arg0, 22, Local0, bb29)
+
+ Concatenate(Derefof(m602(3, 1, 1)), Local1, Local0)
+ m600(arg0, 23, Local0, bb2a)
+ }
+
+ // Boundary Cases
+
+ Store(Concatenate(Buffer(){0x5a}, Local2), Local0)
+ m600(arg0, 24, Local0, bb2b)
+
+ Store(Concatenate(Buffer(){0x5a, 0x00}, Local2), Local0)
+ m600(arg0, 25, Local0, bb2c)
+
+ Store(0, Local1)
+ Store(Concatenate(Buffer(Local1){}, Local3), Local0)
+ m600(arg0, 26, Local0, bb2d)
+ }
+
+ // String to Buffer conversion of the String Source operand of
+ // ToString operator (has a visual effect in shortening of the
+ // String taken the null character, that is impossible to show
+ // with an immediate String constant).
+
+ Method(m037, 1)
+ {
+ Store("0321", Local1)
+ Store("", Local2)
+ Store("!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*",
+ Local3)
+
+ Store(ToString(Local1, Ones), Local0)
+ m600(arg0, 0, Local0, bs20)
+
+ Store(ToString(Local1, 3), Local0)
+ m600(arg0, 1, Local0, bs21)
+
+ Store(ToString(Local1, aui0), Local0)
+ m600(arg0, 2, Local0, bs20)
+
+ Store(ToString(Local1, aui7), Local0)
+ m600(arg0, 3, Local0, bs21)
+
+ if (y078) {
+ Store(ToString(Local1, Derefof(Refof(aui0))), Local0)
+ m600(arg0, 4, Local0, bs20)
+
+ Store(ToString(Local1, Derefof(Refof(aui7))), Local0)
+ m600(arg0, 5, Local0, bs21)
+ }
+
+ Store(ToString(Local1, Derefof(Index(paui, 0))), Local0)
+ m600(arg0, 6, Local0, bs20)
+
+ Store(ToString(Local1, Derefof(Index(paui, 7))), Local0)
+ m600(arg0, 7, Local0, bs21)
+
+ // Method returns Length parameter
+
+ Store(ToString(Local1, m601(1, 0)), Local0)
+ m600(arg0, 8, Local0, bs20)
+
+ Store(ToString(Local1, m601(1, 7)), Local0)
+ m600(arg0, 9, Local0, bs21)
+
+ // Method returns Reference to Length parameter
+
+ if (y500) {
+ Store(ToString(Local1, Derefof(m601(1, 0))), Local0)
+ m600(arg0, 10, Local0, bs20)
+
+ Store(ToString(Local1, Derefof(m601(1, 7))), Local0)
+ m600(arg0, 11, Local0, bs21)
+ }
+
+ ToString(Local1, Ones, Local0)
+ m600(arg0, 12, Local0, bs20)
+
+ ToString(Local1, 3, Local0)
+ m600(arg0, 13, Local0, bs21)
+
+ ToString(Local1, aui0, Local0)
+ m600(arg0, 14, Local0, bs20)
+
+ ToString(Local1, aui7, Local0)
+ m600(arg0, 15, Local0, bs21)
+
+ if (y078) {
+ ToString(Local1, Derefof(Refof(aui0)), Local0)
+ m600(arg0, 16, Local0, bs20)
+
+ ToString(Local1, Derefof(Refof(aui7)), Local0)
+ m600(arg0, 17, Local0, bs21)
+ }
+
+ ToString(Local1, Derefof(Index(paui, 0)), Local0)
+ m600(arg0, 18, Local0, bs20)
+
+ ToString(Local1, Derefof(Index(paui, 7)), Local0)
+ m600(arg0, 19, Local0, bs21)
+
+ // Method returns Length parameter
+
+ ToString(Local1, m601(1, 0), Local0)
+ m600(arg0, 20, Local0, bs20)
+
+ ToString(Local1, m601(1, 7), Local0)
+ m600(arg0, 21, Local0, bs21)
+
+ // Method returns Reference to Length parameter
+
+ if (y500) {
+ ToString(Local1, Derefof(m601(1, 0)), Local0)
+ m600(arg0, 22, Local0, bs20)
+
+ ToString(Local1, Derefof(m601(1, 7)), Local0)
+ m600(arg0, 23, Local0, bs21)
+ }
+
+ // Boundary Cases
+
+ Store(ToString(Local2, Ones), Local0)
+ m600(arg0, 24, Local0, bs22)
+
+ Store(ToString(Local2, 3), Local0)
+ m600(arg0, 25, Local0, bs22)
+
+ Store(ToString(Local3, Ones), Local0)
+ m600(arg0, 26, Local0, bs23)
+
+ Store(ToString(Local3, 3), Local0)
+ m600(arg0, 27, Local0, bs24)
+ }
+
+// Method(m038, 1)
+
+// Method(m039, 1)
+
+ // Buffer to Integer implicit conversion Cases.
+
+ // Buffer to Integer conversion of the Buffer sole operand
+ // of the 1-parameter Integer arithmetic operators
+ // (Decrement, Increment, FindSetLeftBit, FindSetRightBit, Not)
+
+ Method(m64l, 1)
+ {
+ Store(Buffer(3){0x21, 0x03, 0x00}, Local1)
+ Store(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local2)
+
+ // Decrement
+ if (y501) {
+ Store(Decrement(Local1), Local0)
+ m600(arg0, 0, Local0, bi12)
+
+ Store(Decrement(Local2), Local0)
+ m600(arg0, 1, Local0, bi16)
+ }
+
+ // Increment
+ if (y501) {
+ Store(Increment(Local1), Local0)
+ m600(arg0, 2, Local0, bi13)
+
+ Store(Increment(Local2), Local0)
+ m600(arg0, 3, Local0, bi17)
+ }
+
+ // FindSetLeftBit
+
+ Store(FindSetLeftBit(Local1), Local0)
+ m600(arg0, 4, Local0, 10)
+
+ Store(FindSetLeftBit(Local2), Local0)
+ m600(arg0, 5, Local0, 64)
+
+ // FindSetRightBit
+
+ Store(FindSetRightBit(Local1), Local0)
+ m600(arg0, 6, Local0, 1)
+
+ Store(FindSetRightBit(Local2), Local0)
+ m600(arg0, 7, Local0, 3)
+
+ // Not
+
+ Store(Not(Local1), Local0)
+ m600(arg0, 8, Local0, 0xfffffffffffffcde)
+
+ Store(Not(Local2), Local0)
+ m600(arg0, 9, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Method(m32l, 1)
+ {
+ Store(Buffer(3){0x21, 0x03, 0x00}, Local1)
+ Store(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local2)
+
+ // Decrement
+ if (y501) {
+ Store(Decrement(Local1), Local0)
+ m600(arg0, 0, Local0, bi12)
+
+ Store(Decrement(Local2), Local0)
+ m600(arg0, 1, Local0, bi18)
+ }
+
+ // Increment
+ if (y501) {
+ Store(Increment(Local1), Local0)
+ m600(arg0, 2, Local0, bi13)
+
+ Store(Increment(Local2), Local0)
+ m600(arg0, 3, Local0, bi19)
+ }
+
+ // FindSetLeftBit
+
+ Store(FindSetLeftBit(Local1), Local0)
+ m600(arg0, 4, Local0, 10)
+
+ Store(FindSetLeftBit(Local2), Local0)
+ m600(arg0, 5, Local0, 32)
+
+ // FindSetRightBit
+
+ Store(FindSetRightBit(Local1), Local0)
+ m600(arg0, 6, Local0, 1)
+
+ Store(FindSetRightBit(Local2), Local0)
+ m600(arg0, 7, Local0, 3)
+
+ // Not
+
+ Store(Not(Local1), Local0)
+ m600(arg0, 8, Local0, 0xfffffcde)
+
+ Store(Not(Local2), Local0)
+ m600(arg0, 9, Local0, 0x29af5d7b)
+ }
+
+ // Buffer to Integer conversion of the Buffer sole operand
+ // of the LNot Logical Integer operator
+ Method(m03a, 1)
+ {
+ Store(Buffer(3){0x21, 0x03, 0x00}, Local1)
+ Store(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local2)
+ Store(Buffer(1){0x00}, Local3)
+
+ Store(LNot(Local3), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LNot(Local1), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ if (F64) {
+ Store(LNot(Local2), Local0)
+ m600(arg0, 2, Local0, Zero)
+ } else {
+ Store(LNot(Local2), Local0)
+ m600(arg0, 3, Local0, Zero)
+ }
+ }
+
+ // Buffer to Integer conversion of the Buffer sole operand
+ // of the FromBCD and ToBCD conversion operators
+
+ Method(m64m, 1)
+ {
+ Store(Buffer(3){0x21, 0x03, 0x00}, Local1)
+ Store(Buffer() {0x01, 0x89, 0x67, 0x45, 0x23, 0x01, 0x89, 0x37}, Local2)
+ Store(Buffer() {0x35, 0xec, 0xe9, 0x2e, 0x16, 0x76, 0x0d}, Local3)
+
+ // FromBCD
+
+ Store(FromBCD(Local1), Local0)
+ m600(arg0, 2, Local0, 0x141)
+
+ Store(FromBCD(Local2), Local0)
+ m600(arg0, 3, Local0, 0xd76162ee9ec35)
+
+ FromBCD(Local1, Local0)
+ m600(arg0, 2, Local0, 0x141)
+
+ FromBCD(Local2, Local0)
+ m600(arg0, 3, Local0, 0xd76162ee9ec35)
+
+ // ToBCD
+
+ Store(ToBCD(Local1), Local0)
+ m600(arg0, 4, Local0, 0x801)
+
+// ??? No error of iASL on constant folding
+ Store(ToBCD(Local3), Local0)
+ m600(arg0, 5, Local0, 0x3789012345678901)
+
+ ToBCD(Local1, Local0)
+ m600(arg0, 4, Local0, 0x801)
+
+ ToBCD(Local3, Local0)
+ m600(arg0, 5, Local0, 0x3789012345678901)
+ }
+
+ Method(m32m, 1)
+ {
+ Store(Buffer(3){0x21, 0x03, 0x00}, Local1)
+ Store(Buffer() {0x56, 0x34, 0x12, 0x90}, Local2)
+ Store(Buffer() {0xc0, 0x2c, 0x5f, 0x05}, Local3)
+
+ // FromBCD
+
+ Store(FromBCD(Local1), Local0)
+ m600(arg0, 2, Local0, 0x141)
+
+ Store(FromBCD(Local2), Local0)
+ m600(arg0, 3, Local0, 0x55f2cc0)
+
+ FromBCD(Local1, Local0)
+ m600(arg0, 2, Local0, 0x141)
+
+ FromBCD(Local2, Local0)
+ m600(arg0, 3, Local0, 0x55f2cc0)
+
+ // ToBCD
+
+ Store(ToBCD(Local1), Local0)
+ m600(arg0, 4, Local0, 0x801)
+
+ Store(ToBCD(Local3), Local0)
+ m600(arg0, 5, Local0, 0x90123456)
+
+ ToBCD(Local1, Local0)
+ m600(arg0, 4, Local0, 0x801)
+
+ ToBCD(Local3, Local0)
+ m600(arg0, 5, Local0, 0x90123456)
+ }
+
+ // Buffer to Integer conversion of each Buffer operand
+ // of the 2-parameter Integer arithmetic operators
+ // Add, And, Divide, Mod, Multiply, NAnd, NOr, Or,
+ // ShiftLeft, ShiftRight, Subtract, Xor
+
+ // Add, common 32-bit/64-bit test
+ Method(m03b, 1)
+ {
+ Store(Buffer(3){0x21, 0x03, 0x00}, Local1)
+
+ // Conversion of the first operand
+
+ Store(Add(Local1, 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Add(Local1, 1), Local0)
+ m600(arg0, 1, Local0, 0x322)
+
+ Store(Add(Local1, aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Add(Local1, aui6), Local0)
+ m600(arg0, 3, Local0, 0x322)
+
+ if (y078) {
+ Store(Add(Local1, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Add(Local1, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x322)
+ }
+
+ Store(Add(Local1, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Add(Local1, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x322)
+
+ // Method returns Integer
+
+ Store(Add(Local1, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Add(Local1, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x322)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(Local1, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Add(Local1, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x322)
+ }
+
+ Add(Local1, 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Add(Local1, 1, Local0)
+ m600(arg0, 13, Local0, 0x322)
+
+ Add(Local1, aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Add(Local1, aui6, Local0)
+ m600(arg0, 15, Local0, 0x322)
+
+ if (y078) {
+ Add(Local1, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Add(Local1, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x322)
+ }
+
+ Add(Local1, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Add(Local1, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x322)
+
+ // Method returns Integer
+
+ Add(Local1, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Add(Local1, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x322)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(Local1, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Add(Local1, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x322)
+ }
+
+ // Conversion of the second operand
+
+ Store(Add(0, Local1), Local0)
+ m600(arg0, 24, Local0, 0x321)
+
+ Store(Add(1, Local1), Local0)
+ m600(arg0, 25, Local0, 0x322)
+
+ Store(Add(aui5, Local1), Local0)
+ m600(arg0, 26, Local0, 0x321)
+
+ Store(Add(aui6, Local1), Local0)
+ m600(arg0, 27, Local0, 0x322)
+
+ if (y078) {
+ Store(Add(Derefof(Refof(aui5)), Local1), Local0)
+ m600(arg0, 28, Local0, 0x321)
+
+ Store(Add(Derefof(Refof(aui6)), Local1), Local0)
+ m600(arg0, 29, Local0, 0x322)
+ }
+
+ Store(Add(Derefof(Index(paui, 5)), Local1), Local0)
+ m600(arg0, 30, Local0, 0x321)
+
+ Store(Add(Derefof(Index(paui, 6)), Local1), Local0)
+ m600(arg0, 31, Local0, 0x322)
+
+ // Method returns Integer
+
+ Store(Add(m601(1, 5), Local1), Local0)
+ m600(arg0, 32, Local0, 0x321)
+
+ Store(Add(m601(1, 6), Local1), Local0)
+ m600(arg0, 33, Local0, 0x322)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(Derefof(m602(1, 5, 1)), Local1), Local0)
+ m600(arg0, 34, Local0, 0x321)
+
+ Store(Add(Derefof(m602(1, 6, 1)), Local1), Local0)
+ m600(arg0, 35, Local0, 0x322)
+ }
+
+ Add(0, Local1, Local0)
+ m600(arg0, 36, Local0, 0x321)
+
+ Add(1, Local1, Local0)
+ m600(arg0, 37, Local0, 0x322)
+
+ Add(aui5, Local1, Local0)
+ m600(arg0, 38, Local0, 0x321)
+
+ Add(aui6, Local1, Local0)
+ m600(arg0, 39, Local0, 0x322)
+
+ if (y078) {
+ Add(Derefof(Refof(aui5)), Local1, Local0)
+ m600(arg0, 40, Local0, 0x321)
+
+ Add(Derefof(Refof(aui6)), Local1, Local0)
+ m600(arg0, 41, Local0, 0x322)
+ }
+
+ Add(Derefof(Index(paui, 5)), Local1, Local0)
+ m600(arg0, 42, Local0, 0x321)
+
+ Add(Derefof(Index(paui, 6)), Local1, Local0)
+ m600(arg0, 43, Local0, 0x322)
+
+ // Method returns Integer
+
+ Add(m601(1, 5), Local1, Local0)
+ m600(arg0, 44, Local0, 0x321)
+
+ Add(m601(1, 6), Local1, Local0)
+ m600(arg0, 45, Local0, 0x322)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(Derefof(m602(1, 5, 1)), Local1, Local0)
+ m600(arg0, 46, Local0, 0x321)
+
+ Add(Derefof(m602(1, 6, 1)), Local1, Local0)
+ m600(arg0, 47, Local0, 0x322)
+ }
+ }
+
+ // Add, 64-bit
+ Method(m03c, 1)
+ {
+ Store(Buffer(3){0x21, 0x03, 0x00}, Local1)
+ Store(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local2)
+
+ // Conversion of the first operand
+
+ Store(Add(Local2, 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Local2, 1), Local0)
+ m600(arg0, 1, Local0, 0xfe7cb391d650a285)
+
+ Store(Add(Local2, aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Local2, aui6), Local0)
+ m600(arg0, 3, Local0, 0xfe7cb391d650a285)
+
+ if (y078) {
+ Store(Add(Local2, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Local2, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xfe7cb391d650a285)
+ }
+
+ Store(Add(Local2, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Local2, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Integer
+
+ Store(Add(Local2, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Local2, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(Local2, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Local2, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfe7cb391d650a285)
+ }
+
+ Add(Local2, 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Add(Local2, 1, Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a285)
+
+ Add(Local2, aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Add(Local2, aui6, Local0)
+ m600(arg0, 15, Local0, 0xfe7cb391d650a285)
+
+ if (y078) {
+ Add(Local2, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Add(Local2, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xfe7cb391d650a285)
+ }
+
+ Add(Local2, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Add(Local2, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Integer
+
+ Add(Local2, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Add(Local2, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(Local2, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Add(Local2, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfe7cb391d650a285)
+ }
+
+ // Conversion of the second operand
+
+ Store(Add(0, Local2), Local0)
+ m600(arg0, 24, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(1, Local2), Local0)
+ m600(arg0, 25, Local0, 0xfe7cb391d650a285)
+
+ Store(Add(aui5, Local2), Local0)
+ m600(arg0, 26, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(aui6, Local2), Local0)
+ m600(arg0, 27, Local0, 0xfe7cb391d650a285)
+
+ if (y078) {
+ Store(Add(Derefof(Refof(aui5)), Local2), Local0)
+ m600(arg0, 28, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(Refof(aui6)), Local2), Local0)
+ m600(arg0, 29, Local0, 0xfe7cb391d650a285)
+ }
+
+ Store(Add(Derefof(Index(paui, 5)), Local2), Local0)
+ m600(arg0, 30, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(Index(paui, 6)), Local2), Local0)
+ m600(arg0, 31, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Integer
+
+ Store(Add(m601(1, 5), Local2), Local0)
+ m600(arg0, 32, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(m601(1, 6), Local2), Local0)
+ m600(arg0, 33, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(Derefof(m602(1, 5, 1)), Local2), Local0)
+ m600(arg0, 34, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(m602(1, 6, 1)), Local2), Local0)
+ m600(arg0, 35, Local0, 0xfe7cb391d650a285)
+ }
+
+ Add(0, Local2, Local0)
+ m600(arg0, 36, Local0, 0xfe7cb391d650a284)
+
+ Add(1, Local2, Local0)
+ m600(arg0, 37, Local0, 0xfe7cb391d650a285)
+
+ Add(aui5, Local2, Local0)
+ m600(arg0, 38, Local0, 0xfe7cb391d650a284)
+
+ Add(aui6, Local2, Local0)
+ m600(arg0, 39, Local0, 0xfe7cb391d650a285)
+
+ if (y078) {
+ Add(Derefof(Refof(aui5)), Local2, Local0)
+ m600(arg0, 40, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(Refof(aui6)), Local2, Local0)
+ m600(arg0, 41, Local0, 0xfe7cb391d650a285)
+ }
+
+ Add(Derefof(Index(paui, 5)), Local2, Local0)
+ m600(arg0, 42, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(Index(paui, 6)), Local2, Local0)
+ m600(arg0, 43, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Integer
+
+ Add(m601(1, 5), Local2, Local0)
+ m600(arg0, 44, Local0, 0xfe7cb391d650a284)
+
+ Add(m601(1, 6), Local2, Local0)
+ m600(arg0, 45, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(Derefof(m602(1, 5, 1)), Local2, Local0)
+ m600(arg0, 46, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(m602(1, 6, 1)), Local2, Local0)
+ m600(arg0, 47, Local0, 0xfe7cb391d650a285)
+ }
+
+ // Conversion of the both operands
+
+ Store(Add(Local1, Local2), Local0)
+ m600(arg0, 48, Local0, 0xfe7cb391d650a5a5)
+
+ Store(Add(Local2, Local1), Local0)
+ m600(arg0, 49, Local0, 0xfe7cb391d650a5a5)
+
+ Add(Local1, Local2, Local0)
+ m600(arg0, 50, Local0, 0xfe7cb391d650a5a5)
+
+ Add(Local2, Local1, Local0)
+ m600(arg0, 51, Local0, 0xfe7cb391d650a5a5)
+ }
+
+ // Add, 32-bit
+ Method(m03d, 1)
+ {
+ Store(Buffer(3){0x21, 0x03, 0x00}, Local1)
+ Store(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local2)
+
+ // Conversion of the first operand
+
+ Store(Add(Local2, 0), Local0)
+ m600(arg0, 0, Local0, 0xd650a284)
+
+ Store(Add(Local2, 1), Local0)
+ m600(arg0, 1, Local0, 0xd650a285)
+
+ Store(Add(Local2, aui5), Local0)
+ m600(arg0, 2, Local0, 0xd650a284)
+
+ Store(Add(Local2, aui6), Local0)
+ m600(arg0, 3, Local0, 0xd650a285)
+
+ if (y078) {
+ Store(Add(Local2, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xd650a284)
+
+ Store(Add(Local2, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xd650a285)
+ }
+
+ Store(Add(Local2, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xd650a284)
+
+ Store(Add(Local2, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xd650a285)
+
+ // Method returns Integer
+
+ Store(Add(Local2, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xd650a284)
+
+ Store(Add(Local2, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xd650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(Local2, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xd650a284)
+
+ Store(Add(Local2, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xd650a285)
+ }
+
+ Add(Local2, 0, Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ Add(Local2, 1, Local0)
+ m600(arg0, 13, Local0, 0xd650a285)
+
+ Add(Local2, aui5, Local0)
+ m600(arg0, 14, Local0, 0xd650a284)
+
+ Add(Local2, aui6, Local0)
+ m600(arg0, 15, Local0, 0xd650a285)
+
+ if (y078) {
+ Add(Local2, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xd650a284)
+
+ Add(Local2, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xd650a285)
+ }
+
+ Add(Local2, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xd650a284)
+
+ Add(Local2, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xd650a285)
+
+ // Method returns Integer
+
+ Add(Local2, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xd650a284)
+
+ Add(Local2, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xd650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(Local2, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xd650a284)
+
+ Add(Local2, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xd650a285)
+ }
+
+ // Conversion of the second operand
+
+ Store(Add(0, Local2), Local0)
+ m600(arg0, 24, Local0, 0xd650a284)
+
+ Store(Add(1, Local2), Local0)
+ m600(arg0, 25, Local0, 0xd650a285)
+
+ Store(Add(aui5, Local2), Local0)
+ m600(arg0, 26, Local0, 0xd650a284)
+
+ Store(Add(aui6, Local2), Local0)
+ m600(arg0, 27, Local0, 0xd650a285)
+
+ if (y078) {
+ Store(Add(Derefof(Refof(aui5)), Local2), Local0)
+ m600(arg0, 28, Local0, 0xd650a284)
+
+ Store(Add(Derefof(Refof(aui6)), Local2), Local0)
+ m600(arg0, 29, Local0, 0xd650a285)
+ }
+
+ Store(Add(Derefof(Index(paui, 5)), Local2), Local0)
+ m600(arg0, 30, Local0, 0xd650a284)
+
+ Store(Add(Derefof(Index(paui, 6)), Local2), Local0)
+ m600(arg0, 31, Local0, 0xd650a285)
+
+ // Method returns Integer
+
+ Store(Add(m601(1, 5), Local2), Local0)
+ m600(arg0, 32, Local0, 0xd650a284)
+
+ Store(Add(m601(1, 6), Local2), Local0)
+ m600(arg0, 33, Local0, 0xd650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(Derefof(m602(1, 5, 1)), Local2), Local0)
+ m600(arg0, 34, Local0, 0xd650a284)
+
+ Store(Add(Derefof(m602(1, 6, 1)), Local2), Local0)
+ m600(arg0, 35, Local0, 0xd650a285)
+ }
+
+ Add(0, Local2, Local0)
+ m600(arg0, 36, Local0, 0xd650a284)
+
+ Add(1, Local2, Local0)
+ m600(arg0, 37, Local0, 0xd650a285)
+
+ Add(aui5, Local2, Local0)
+ m600(arg0, 38, Local0, 0xd650a284)
+
+ Add(aui6, Local2, Local0)
+ m600(arg0, 39, Local0, 0xd650a285)
+
+ if (y078) {
+ Add(Derefof(Refof(aui5)), Local2, Local0)
+ m600(arg0, 40, Local0, 0xd650a284)
+
+ Add(Derefof(Refof(aui6)), Local2, Local0)
+ m600(arg0, 41, Local0, 0xd650a285)
+ }
+
+ Add(Derefof(Index(paui, 5)), Local2, Local0)
+ m600(arg0, 42, Local0, 0xd650a284)
+
+ Add(Derefof(Index(paui, 6)), Local2, Local0)
+ m600(arg0, 43, Local0, 0xd650a285)
+
+ // Method returns Integer
+
+ Add(m601(1, 5), Local2, Local0)
+ m600(arg0, 44, Local0, 0xd650a284)
+
+ Add(m601(1, 6), Local2, Local0)
+ m600(arg0, 45, Local0, 0xd650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(Derefof(m602(1, 5, 1)), Local2, Local0)
+ m600(arg0, 46, Local0, 0xd650a284)
+
+ Add(Derefof(m602(1, 6, 1)), Local2, Local0)
+ m600(arg0, 47, Local0, 0xd650a285)
+ }
+
+ // Conversion of the both operands
+
+ Store(Add(Local1, Local2), Local0)
+ m600(arg0, 48, Local0, 0xd650a5a5)
+
+ Store(Add(Local2, Local1), Local0)
+ m600(arg0, 49, Local0, 0xd650a5a5)
+
+ Add(Local1, Local2, Local0)
+ m600(arg0, 50, Local0, 0xd650a5a5)
+
+ Add(Local2, Local1, Local0)
+ m600(arg0, 51, Local0, 0xd650a5a5)
+ }
+
+ // And, common 32-bit/64-bit test
+ Method(m03e, 1)
+ {
+ Store(Buffer(3){0x21, 0x03, 0x00}, Local1)
+
+ // Conversion of the first operand
+
+ Store(And(Local1, 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(And(Local1, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0x321)
+
+ Store(And(Local1, aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(And(Local1, auij), Local0)
+ m600(arg0, 3, Local0, 0x321)
+
+ if (y078) {
+ Store(And(Local1, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(And(Local1, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0x321)
+ }
+
+ Store(And(Local1, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(And(Local1, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0x321)
+
+ // Method returns Integer
+
+ Store(And(Local1, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(And(Local1, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(Local1, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(And(Local1, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0x321)
+ }
+
+ And(Local1, 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ And(Local1, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0x321)
+
+ And(Local1, aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ And(Local1, auij, Local0)
+ m600(arg0, 15, Local0, 0x321)
+
+ if (y078) {
+ And(Local1, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ And(Local1, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0x321)
+ }
+
+ And(Local1, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ And(Local1, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0x321)
+
+ // Method returns Integer
+
+ And(Local1, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ And(Local1, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(Local1, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ And(Local1, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0x321)
+ }
+
+ // Conversion of the second operand
+
+ Store(And(0, Local1), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(And(0xffffffffffffffff, Local1), Local0)
+ m600(arg0, 25, Local0, 0x321)
+
+ Store(And(aui5, Local1), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(And(auij, Local1), Local0)
+ m600(arg0, 27, Local0, 0x321)
+
+ if (y078) {
+ Store(And(Derefof(Refof(aui5)), Local1), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(And(Derefof(Refof(auij)), Local1), Local0)
+ m600(arg0, 29, Local0, 0x321)
+ }
+
+ Store(And(Derefof(Index(paui, 5)), Local1), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(And(Derefof(Index(paui, 19)), Local1), Local0)
+ m600(arg0, 31, Local0, 0x321)
+
+ // Method returns Integer
+
+ Store(And(m601(1, 5), Local1), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(And(m601(1, 19), Local1), Local0)
+ m600(arg0, 33, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(Derefof(m602(1, 5, 1)), Local1), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(And(Derefof(m602(1, 19, 1)), Local1), Local0)
+ m600(arg0, 35, Local0, 0x321)
+ }
+
+ And(0, Local1, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ And(0xffffffffffffffff, Local1, Local0)
+ m600(arg0, 37, Local0, 0x321)
+
+ And(aui5, Local1, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ And(auij, Local1, Local0)
+ m600(arg0, 39, Local0, 0x321)
+
+ if (y078) {
+ And(Derefof(Refof(aui5)), Local1, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ And(Derefof(Refof(auij)), Local1, Local0)
+ m600(arg0, 41, Local0, 0x321)
+ }
+
+ And(Derefof(Index(paui, 5)), Local1, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ And(Derefof(Index(paui, 19)), Local1, Local0)
+ m600(arg0, 43, Local0, 0x321)
+
+ // Method returns Integer
+
+ And(m601(1, 5), Local1, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ And(m601(1, 19), Local1, Local0)
+ m600(arg0, 45, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(Derefof(m602(1, 5, 1)), Local1, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ And(Derefof(m602(1, 19, 1)), Local1, Local0)
+ m600(arg0, 47, Local0, 0x321)
+ }
+ }
+
+ // And, 64-bit
+ Method(m03f, 1)
+ {
+ Store(Buffer(3){0x21, 0x03, 0x00}, Local1)
+ Store(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local2)
+
+ // Conversion of the first operand
+
+ Store(And(Local2, 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(And(Local2, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xfe7cb391d650a284)
+
+ Store(And(Local2, aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(And(Local2, auij), Local0)
+ m600(arg0, 3, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Store(And(Local2, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(And(Local2, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xfe7cb391d650a284)
+ }
+
+ Store(And(Local2, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(And(Local2, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Store(And(Local2, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(And(Local2, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(Local2, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(And(Local2, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfe7cb391d650a284)
+ }
+
+ And(Local2, 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ And(Local2, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a284)
+
+ And(Local2, aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ And(Local2, auij, Local0)
+ m600(arg0, 15, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ And(Local2, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ And(Local2, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xfe7cb391d650a284)
+ }
+
+ And(Local2, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ And(Local2, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ And(Local2, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ And(Local2, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(Local2, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ And(Local2, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfe7cb391d650a284)
+ }
+
+ // Conversion of the second operand
+
+ Store(And(0, Local2), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(And(0xffffffffffffffff, Local2), Local0)
+ m600(arg0, 25, Local0, 0xfe7cb391d650a284)
+
+ Store(And(aui5, Local2), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(And(auij, Local2), Local0)
+ m600(arg0, 27, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Store(And(Derefof(Refof(aui5)), Local2), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(And(Derefof(Refof(auij)), Local2), Local0)
+ m600(arg0, 29, Local0, 0xfe7cb391d650a284)
+ }
+
+ Store(And(Derefof(Index(paui, 5)), Local2), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(And(Derefof(Index(paui, 19)), Local2), Local0)
+ m600(arg0, 31, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Store(And(m601(1, 5), Local2), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(And(m601(1, 19), Local2), Local0)
+ m600(arg0, 33, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(Derefof(m602(1, 5, 1)), Local2), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(And(Derefof(m602(1, 19, 1)), Local2), Local0)
+ m600(arg0, 35, Local0, 0xfe7cb391d650a284)
+ }
+
+ And(0, Local2, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ And(0xffffffffffffffff, Local2, Local0)
+ m600(arg0, 37, Local0, 0xfe7cb391d650a284)
+
+ And(aui5, Local2, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ And(auij, Local2, Local0)
+ m600(arg0, 39, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ And(Derefof(Refof(aui5)), Local2, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ And(Derefof(Refof(auij)), Local2, Local0)
+ m600(arg0, 41, Local0, 0xfe7cb391d650a284)
+ }
+
+ And(Derefof(Index(paui, 5)), Local2, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ And(Derefof(Index(paui, 19)), Local2, Local0)
+ m600(arg0, 43, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ And(m601(1, 5), Local2, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ And(m601(1, 19), Local2, Local0)
+ m600(arg0, 45, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(Derefof(m602(1, 5, 1)), Local2, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ And(Derefof(m602(1, 19, 1)), Local2, Local0)
+ m600(arg0, 47, Local0, 0xfe7cb391d650a284)
+ }
+
+ // Conversion of the both operands
+
+ Store(And(Local1, Local2), Local0)
+ m600(arg0, 48, Local0, 0x200)
+
+ Store(And(Local2, Local1), Local0)
+ m600(arg0, 49, Local0, 0x200)
+
+ And(Local1, Local2, Local0)
+ m600(arg0, 50, Local0, 0x200)
+
+ And(Local2, Local1, Local0)
+ m600(arg0, 51, Local0, 0x200)
+ }
+
+ // And, 32-bit
+ Method(m040, 1)
+ {
+ Store(Buffer(3){0x21, 0x03, 0x00}, Local1)
+ Store(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local2)
+
+ // Conversion of the first operand
+
+ Store(And(Local2, 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(And(Local2, 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0xd650a284)
+
+ Store(And(Local2, aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(And(Local2, auii), Local0)
+ m600(arg0, 3, Local0, 0xd650a284)
+
+ if (y078) {
+ Store(And(Local2, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(And(Local2, Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0xd650a284)
+ }
+
+ Store(And(Local2, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(And(Local2, Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0xd650a284)
+
+ // Method returns Integer
+
+ Store(And(Local2, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(And(Local2, m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0xd650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(Local2, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(And(Local2, Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0xd650a284)
+ }
+
+ And(Local2, 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ And(Local2, 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0xd650a284)
+
+ And(Local2, aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ And(Local2, auii, Local0)
+ m600(arg0, 15, Local0, 0xd650a284)
+
+ if (y078) {
+ And(Local2, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ And(Local2, Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0xd650a284)
+ }
+
+ And(Local2, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ And(Local2, Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0xd650a284)
+
+ // Method returns Integer
+
+ And(Local2, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ And(Local2, m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0xd650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(Local2, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ And(Local2, Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0xd650a284)
+ }
+
+ // Conversion of the second operand
+
+ Store(And(0, Local2), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(And(0xffffffff, Local2), Local0)
+ m600(arg0, 25, Local0, 0xd650a284)
+
+ Store(And(aui5, Local2), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(And(auii, Local2), Local0)
+ m600(arg0, 27, Local0, 0xd650a284)
+
+ if (y078) {
+ Store(And(Derefof(Refof(aui5)), Local2), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(And(Derefof(Refof(auii)), Local2), Local0)
+ m600(arg0, 29, Local0, 0xd650a284)
+ }
+
+ Store(And(Derefof(Index(paui, 5)), Local2), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(And(Derefof(Index(paui, 18)), Local2), Local0)
+ m600(arg0, 31, Local0, 0xd650a284)
+
+ // Method returns Integer
+
+ Store(And(m601(1, 5), Local2), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(And(m601(1, 18), Local2), Local0)
+ m600(arg0, 33, Local0, 0xd650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(Derefof(m602(1, 5, 1)), Local2), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(And(Derefof(m602(1, 18, 1)), Local2), Local0)
+ m600(arg0, 35, Local0, 0xd650a284)
+ }
+
+ And(0, Local2, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ And(0xffffffff, Local2, Local0)
+ m600(arg0, 37, Local0, 0xd650a284)
+
+ And(aui5, Local2, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ And(auii, Local2, Local0)
+ m600(arg0, 39, Local0, 0xd650a284)
+
+ if (y078) {
+ And(Derefof(Refof(aui5)), Local2, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ And(Derefof(Refof(auii)), Local2, Local0)
+ m600(arg0, 41, Local0, 0xd650a284)
+ }
+
+ And(Derefof(Index(paui, 5)), Local2, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ And(Derefof(Index(paui, 18)), Local2, Local0)
+ m600(arg0, 43, Local0, 0xd650a284)
+
+ // Method returns Integer
+
+ And(m601(1, 5), Local2, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ And(m601(1, 18), Local2, Local0)
+ m600(arg0, 45, Local0, 0xd650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(Derefof(m602(1, 5, 1)), Local2, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ And(Derefof(m602(1, 18, 1)), Local2, Local0)
+ m600(arg0, 47, Local0, 0xd650a284)
+ }
+
+ // Conversion of the both operands
+
+ Store(And(Local1, Local2), Local0)
+ m600(arg0, 48, Local0, 0x200)
+
+ Store(And(Local2, Local1), Local0)
+ m600(arg0, 49, Local0, 0x200)
+
+ And(Local1, Local2, Local0)
+ m600(arg0, 50, Local0, 0x200)
+
+ And(Local2, Local1, Local0)
+ m600(arg0, 51, Local0, 0x200)
+ }
+
+ // Divide, common 32-bit/64-bit test
+ Method(m041, 1)
+ {
+ Store(Buffer(3){0x21, 0x03, 0x00}, Local1)
+
+ // Conversion of the first operand
+
+ Store(Divide(Local1, 1), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Divide(Local1, 0x321), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Divide(Local1, aui6), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Divide(Local1, aui1), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Divide(Local1, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Divide(Local1, Derefof(Refof(aui1))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Divide(Local1, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Divide(Local1, Derefof(Index(paui, 1))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(Local1, m601(1, 6)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Divide(Local1, m601(1, 1)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(Local1, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Divide(Local1, Derefof(m602(1, 1, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Divide(Local1, 1, Local2, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Divide(Local1, 0x321, Local2, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Divide(Local1, aui6, Local2, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Divide(Local1, aui1, Local2, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Divide(Local1, Derefof(Refof(aui6)), Local2, Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Divide(Local1, Derefof(Refof(aui1)), Local2, Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Divide(Local1, Derefof(Index(paui, 6)), Local2, Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Divide(Local1, Derefof(Index(paui, 1)), Local2, Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(Local1, m601(1, 6), Local2, Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Divide(Local1, m601(1, 1), Local2, Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(Local1, Derefof(m602(1, 6, 1)), Local2, Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Divide(Local1, Derefof(m602(1, 1, 1)), Local2, Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Divide(1, Local1), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Divide(0x321, Local1), Local0)
+ m600(arg0, 25, Local0, 1)
+
+ Store(Divide(aui6, Local1), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Divide(aui1, Local1), Local0)
+ m600(arg0, 27, Local0, 1)
+
+ if (y078) {
+ Store(Divide(Derefof(Refof(aui6)), Local1), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Divide(Derefof(Refof(aui1)), Local1), Local0)
+ m600(arg0, 29, Local0, 1)
+ }
+
+ Store(Divide(Derefof(Index(paui, 6)), Local1), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Divide(Derefof(Index(paui, 1)), Local1), Local0)
+ m600(arg0, 31, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(m601(1, 6), Local1), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Divide(m601(1, 1), Local1), Local0)
+ m600(arg0, 33, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(Derefof(m602(1, 6, 1)), Local1), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Divide(Derefof(m602(1, 1, 1)), Local1), Local0)
+ m600(arg0, 35, Local0, 1)
+ }
+
+ Divide(1, Local1, Local2, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Divide(0x321, Local1, Local2, Local0)
+ m600(arg0, 37, Local0, 1)
+
+ Divide(aui6, Local1, Local2, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Divide(aui1, Local1, Local2, Local0)
+ m600(arg0, 39, Local0, 1)
+
+ if (y078) {
+ Divide(Derefof(Refof(aui6)), Local1, Local2, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Divide(Derefof(Refof(aui1)), Local1, Local2, Local0)
+ m600(arg0, 41, Local0, 1)
+ }
+
+ Divide(Derefof(Index(paui, 6)), Local1, Local2, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Divide(Derefof(Index(paui, 1)), Local1, Local2, Local0)
+ m600(arg0, 43, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(m601(1, 6), Local1, Local2, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Divide(m601(1, 1), Local1, Local2, Local0)
+ m600(arg0, 45, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(Derefof(m602(1, 6, 1)), Local1, Local2, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Divide(Derefof(m602(1, 1, 1)), Local1, Local2, Local0)
+ m600(arg0, 47, Local0, 1)
+ }
+ }
+
+ // Divide, 64-bit
+ Method(m042, 1)
+ {
+ Store(Buffer(3){0x21, 0x03, 0x00}, Local1)
+ Store(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local2)
+
+ // Conversion of the first operand
+
+ Store(Divide(Local2, 1), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(Local2, 0xfe7cb391d650a284), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Divide(Local2, aui6), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(Local2, aui4), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Divide(Local2, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(Local2, Derefof(Refof(aui4))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Divide(Local2, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(Local2, Derefof(Index(paui, 4))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(Local2, m601(1, 6)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(Local2, m601(1, 4)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(Local2, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(Local2, Derefof(m602(1, 4, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Divide(Local2, 1, Local3, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Divide(Local2, 0xfe7cb391d650a284, Local3, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Divide(Local2, aui6, Local3, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Divide(Local2, aui4, Local3, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Divide(Local2, Derefof(Refof(aui6)), Local3, Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Divide(Local2, Derefof(Refof(aui4)), Local3, Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Divide(Local2, Derefof(Index(paui, 6)), Local3, Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Divide(Local2, Derefof(Index(paui, 4)), Local3, Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(Local2, m601(1, 6), Local3, Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Divide(Local2, m601(1, 4), Local3, Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(Local2, Derefof(m602(1, 6, 1)), Local3, Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Divide(Local2, Derefof(m602(1, 4, 1)), Local3, Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Divide(1, Local2), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Divide(0xfe7cb391d650a284, Local2), Local0)
+ m600(arg0, 25, Local0, 1)
+
+ Store(Divide(aui6, Local2), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Divide(aui4, Local2), Local0)
+ m600(arg0, 27, Local0, 1)
+
+ if (y078) {
+ Store(Divide(Derefof(Refof(aui6)), Local2), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Divide(Derefof(Refof(aui4)), Local2), Local0)
+ m600(arg0, 29, Local0, 1)
+ }
+
+ Store(Divide(Derefof(Index(paui, 6)), Local2), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Divide(Derefof(Index(paui, 4)), Local2), Local0)
+ m600(arg0, 31, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(m601(1, 6), Local2), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Divide(m601(1, 4), Local2), Local0)
+ m600(arg0, 33, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(Derefof(m602(1, 6, 1)), Local2), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Divide(Derefof(m602(1, 4, 1)), Local2), Local0)
+ m600(arg0, 35, Local0, 1)
+ }
+
+ Divide(1, Local2, Local3, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Divide(0xfe7cb391d650a284, Local2, Local3, Local0)
+ m600(arg0, 37, Local0, 1)
+
+ Divide(aui6, Local2, Local3, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Divide(aui4, Local2, Local3, Local0)
+ m600(arg0, 39, Local0, 1)
+
+ if (y078) {
+ Divide(Derefof(Refof(aui6)), Local2, Local3, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Divide(Derefof(Refof(aui4)), Local2, Local3, Local0)
+ m600(arg0, 41, Local0, 1)
+ }
+
+ Divide(Derefof(Index(paui, 6)), Local2, Local3, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Divide(Derefof(Index(paui, 4)), Local2, Local3, Local0)
+ m600(arg0, 43, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(m601(1, 6), Local2, Local3, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Divide(m601(1, 4), Local2, Local3, Local0)
+ m600(arg0, 45, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(Derefof(m602(1, 6, 1)), Local2, Local3, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Divide(Derefof(m602(1, 4, 1)), Local2, Local3, Local0)
+ m600(arg0, 47, Local0, 1)
+ }
+
+ // Conversion of the both operands
+
+ Store(Divide(Local1, Local2), Local0)
+ m600(arg0, 48, Local0, 0)
+
+ Store(Divide(Local2, Local1), Local0)
+ m600(arg0, 49, Local0, 0x0051558eb950f5a7)
+
+ Divide(Local1, Local2, Local3, Local0)
+ m600(arg0, 50, Local0, 0)
+
+ Divide(Local2, Local1, Local3, Local0)
+ m600(arg0, 51, Local0, 0x0051558eb950f5a7)
+ }
+
+ // Divide, 32-bit
+ Method(m043, 1)
+ {
+ Store(Buffer(3){0x21, 0x03, 0x00}, Local1)
+ Store(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local2)
+
+ // Conversion of the first operand
+
+ Store(Divide(Local2, 1), Local0)
+ m600(arg0, 0, Local0, 0xd650a284)
+
+ Store(Divide(Local2, 0xd650a284), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Divide(Local2, aui6), Local0)
+ m600(arg0, 2, Local0, 0xd650a284)
+
+ Store(Divide(Local2, auik), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Divide(Local2, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 4, Local0, 0xd650a284)
+
+ Store(Divide(Local2, Derefof(Refof(auik))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Divide(Local2, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 6, Local0, 0xd650a284)
+
+ Store(Divide(Local2, Derefof(Index(paui, 20))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(Local2, m601(1, 6)), Local0)
+ m600(arg0, 8, Local0, 0xd650a284)
+
+ Store(Divide(Local2, m601(1, 20)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(Local2, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 10, Local0, 0xd650a284)
+
+ Store(Divide(Local2, Derefof(m602(1, 20, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Divide(Local2, 1, Local3, Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ Divide(Local2, 0xd650a284, Local3, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Divide(Local2, aui6, Local3, Local0)
+ m600(arg0, 14, Local0, 0xd650a284)
+
+ Divide(Local2, auik, Local3, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Divide(Local2, Derefof(Refof(aui6)), Local3, Local0)
+ m600(arg0, 16, Local0, 0xd650a284)
+
+ Divide(Local2, Derefof(Refof(auik)), Local3, Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Divide(Local2, Derefof(Index(paui, 6)), Local3, Local0)
+ m600(arg0, 18, Local0, 0xd650a284)
+
+ Divide(Local2, Derefof(Index(paui, 20)), Local3, Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(Local2, m601(1, 6), Local3, Local0)
+ m600(arg0, 20, Local0, 0xd650a284)
+
+ Divide(Local2, m601(1, 20), Local3, Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(Local2, Derefof(m602(1, 6, 1)), Local3, Local0)
+ m600(arg0, 22, Local0, 0xd650a284)
+
+ Divide(Local2, Derefof(m602(1, 20, 1)), Local3, Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Divide(1, Local2), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Divide(0xd650a284, Local2), Local0)
+ m600(arg0, 25, Local0, 1)
+
+ Store(Divide(aui6, Local2), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Divide(auik, Local2), Local0)
+ m600(arg0, 27, Local0, 1)
+
+ if (y078) {
+ Store(Divide(Derefof(Refof(aui6)), Local2), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Divide(Derefof(Refof(auik)), Local2), Local0)
+ m600(arg0, 29, Local0, 1)
+ }
+
+ Store(Divide(Derefof(Index(paui, 6)), Local2), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Divide(Derefof(Index(paui, 20)), Local2), Local0)
+ m600(arg0, 31, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(m601(1, 6), Local2), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Divide(m601(1, 20), Local2), Local0)
+ m600(arg0, 33, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(Derefof(m602(1, 6, 1)), Local2), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Divide(Derefof(m602(1, 20, 1)), Local2), Local0)
+ m600(arg0, 35, Local0, 1)
+ }
+
+ Divide(1, Local2, Local3, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Divide(0xd650a284, Local2, Local3, Local0)
+ m600(arg0, 37, Local0, 1)
+
+ Divide(aui6, Local2, Local3, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Divide(auik, Local2, Local3, Local0)
+ m600(arg0, 39, Local0, 1)
+
+ if (y078) {
+ Divide(Derefof(Refof(aui6)), Local2, Local3, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Divide(Derefof(Refof(auik)), Local2, Local3, Local0)
+ m600(arg0, 41, Local0, 1)
+ }
+
+ Divide(Derefof(Index(paui, 6)), Local2, Local3, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Divide(Derefof(Index(paui, 20)), Local2, Local3, Local0)
+ m600(arg0, 43, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(m601(1, 6), Local2, Local3, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Divide(m601(1, 20), Local2, Local3, Local0)
+ m600(arg0, 45, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(Derefof(m602(1, 6, 1)), Local2, Local3, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Divide(Derefof(m602(1, 20, 1)), Local2, Local3, Local0)
+ m600(arg0, 47, Local0, 1)
+ }
+
+ // Conversion of the both operands
+
+ Store(Divide(Local1, Local2), Local0)
+ m600(arg0, 48, Local0, 0)
+
+ Store(Divide(Local2, Local1), Local0)
+ m600(arg0, 49, Local0, 0x00447ec3)
+
+ Divide(Local1, Local2, Local3, Local0)
+ m600(arg0, 50, Local0, 0)
+
+ Divide(Local2, Local1, Local3, Local0)
+ m600(arg0, 51, Local0, 0x00447ec3)
+ }
+
+ // Mod, common 32-bit/64-bit test
+ Method(m044, 1)
+ {
+ Store(Buffer(3){0x21, 0x03, 0x00}, Local1)
+
+ // Conversion of the first operand
+
+ Store(Mod(Local1, 0x322), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Mod(Local1, 0x320), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Mod(Local1, auig), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Mod(Local1, auih), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Mod(Local1, Derefof(Refof(auig))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Mod(Local1, Derefof(Refof(auih))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Mod(Local1, Derefof(Index(paui, 16))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Mod(Local1, Derefof(Index(paui, 17))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Mod(Local1, m601(1, 16)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Mod(Local1, m601(1, 17)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(Local1, Derefof(m602(1, 16, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Mod(Local1, Derefof(m602(1, 17, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Mod(Local1, 0x322, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Mod(Local1, 0x320, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Mod(Local1, auig, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Mod(Local1, auih, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Mod(Local1, Derefof(Refof(auig)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Mod(Local1, Derefof(Refof(auih)), Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Mod(Local1, Derefof(Index(paui, 16)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Mod(Local1, Derefof(Index(paui, 17)), Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Mod(Local1, m601(1, 16), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Mod(Local1, m601(1, 17), Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(Local1, Derefof(m602(1, 16, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Mod(Local1, Derefof(m602(1, 17, 1)), Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Mod(0x322, Local1), Local0)
+ m600(arg0, 24, Local0, 1)
+
+ Store(Mod(0x320, Local1), Local0)
+ m600(arg0, 25, Local0, 0x320)
+
+ Store(Mod(auig, Local1), Local0)
+ m600(arg0, 26, Local0, 1)
+
+ Store(Mod(auih, Local1), Local0)
+ m600(arg0, 27, Local0, 0x320)
+
+ if (y078) {
+ Store(Mod(Derefof(Refof(auig)), Local1), Local0)
+ m600(arg0, 28, Local0, 1)
+
+ Store(Mod(Derefof(Refof(auih)), Local1), Local0)
+ m600(arg0, 29, Local0, 0x320)
+ }
+
+ Store(Mod(Derefof(Index(paui, 16)), Local1), Local0)
+ m600(arg0, 30, Local0, 1)
+
+ Store(Mod(Derefof(Index(paui, 17)), Local1), Local0)
+ m600(arg0, 31, Local0, 0x320)
+
+ // Method returns Integer
+
+ Store(Mod(m601(1, 16), Local1), Local0)
+ m600(arg0, 32, Local0, 1)
+
+ Store(Mod(m601(1, 17), Local1), Local0)
+ m600(arg0, 33, Local0, 0x320)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(Derefof(m602(1, 16, 1)), Local1), Local0)
+ m600(arg0, 34, Local0, 1)
+
+ Store(Mod(Derefof(m602(1, 17, 1)), Local1), Local0)
+ m600(arg0, 35, Local0, 0x320)
+ }
+
+ Mod(0x322, Local1, Local0)
+ m600(arg0, 36, Local0, 1)
+
+ Mod(0x320, Local1, Local0)
+ m600(arg0, 37, Local0, 0x320)
+
+ Mod(auig, Local1, Local0)
+ m600(arg0, 38, Local0, 1)
+
+ Mod(auih, Local1, Local0)
+ m600(arg0, 39, Local0, 0x320)
+
+ if (y078) {
+ Mod(Derefof(Refof(auig)), Local1, Local0)
+ m600(arg0, 40, Local0, 1)
+
+ Mod(Derefof(Refof(auih)), Local1, Local0)
+ m600(arg0, 41, Local0, 0x320)
+ }
+
+ Mod(Derefof(Index(paui, 16)), Local1, Local0)
+ m600(arg0, 42, Local0, 1)
+
+ Mod(Derefof(Index(paui, 17)), Local1, Local0)
+ m600(arg0, 43, Local0, 0x320)
+
+ // Method returns Integer
+
+ Mod(m601(1, 16), Local1, Local0)
+ m600(arg0, 44, Local0, 1)
+
+ Mod(m601(1, 17), Local1, Local0)
+ m600(arg0, 45, Local0, 0x320)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(Derefof(m602(1, 16, 1)), Local1, Local0)
+ m600(arg0, 46, Local0, 1)
+
+ Mod(Derefof(m602(1, 17, 1)), Local1, Local0)
+ m600(arg0, 47, Local0, 0x320)
+ }
+ }
+
+ // Mod, 64-bit
+ Method(m045, 1)
+ {
+ Store(Buffer(3){0x21, 0x03, 0x00}, Local1)
+ Store(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local2)
+
+ // Conversion of the first operand
+
+ Store(Mod(Local2, 0xfe7cb391d650a285), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(Local2, 0xfe7cb391d650a283), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Mod(Local2, auid), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(Local2, auif), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Mod(Local2, Derefof(Refof(auid))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(Local2, Derefof(Refof(auif))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Mod(Local2, Derefof(Index(paui, 13))), Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(Local2, Derefof(Index(paui, 15))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Mod(Local2, m601(1, 13)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(Local2, m601(1, 15)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(Local2, Derefof(m602(1, 13, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(Local2, Derefof(m602(1, 15, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Mod(Local2, 0xfe7cb391d650a285, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Mod(Local2, 0xfe7cb391d650a283, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Mod(Local2, auid, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Mod(Local2, auif, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Mod(Local2, Derefof(Refof(auid)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Mod(Local2, Derefof(Refof(auif)), Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Mod(Local2, Derefof(Index(paui, 13)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Mod(Local2, Derefof(Index(paui, 15)), Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Mod(Local2, m601(1, 13), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Mod(Local2, m601(1, 15), Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(Local2, Derefof(m602(1, 13, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Mod(Local2, Derefof(m602(1, 15, 1)), Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Mod(0xfe7cb391d650a285, Local2), Local0)
+ m600(arg0, 24, Local0, 1)
+
+ Store(Mod(0xfe7cb391d650a283, Local2), Local0)
+ m600(arg0, 25, Local0, 0xfe7cb391d650a283)
+
+ Store(Mod(auid, Local2), Local0)
+ m600(arg0, 26, Local0, 1)
+
+ Store(Mod(auif, Local2), Local0)
+ m600(arg0, 27, Local0, 0xfe7cb391d650a283)
+
+ if (y078) {
+ Store(Mod(Derefof(Refof(auid)), Local2), Local0)
+ m600(arg0, 28, Local0, 1)
+
+ Store(Mod(Derefof(Refof(auif)), Local2), Local0)
+ m600(arg0, 29, Local0, 0xfe7cb391d650a283)
+ }
+
+ Store(Mod(Derefof(Index(paui, 13)), Local2), Local0)
+ m600(arg0, 30, Local0, 1)
+
+ Store(Mod(Derefof(Index(paui, 15)), Local2), Local0)
+ m600(arg0, 31, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Integer
+
+ Store(Mod(m601(1, 13), Local2), Local0)
+ m600(arg0, 32, Local0, 1)
+
+ Store(Mod(m601(1, 15), Local2), Local0)
+ m600(arg0, 33, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(Derefof(m602(1, 13, 1)), Local2), Local0)
+ m600(arg0, 34, Local0, 1)
+
+ Store(Mod(Derefof(m602(1, 15, 1)), Local2), Local0)
+ m600(arg0, 35, Local0, 0xfe7cb391d650a283)
+ }
+
+ Mod(0xfe7cb391d650a285, Local2, Local0)
+ m600(arg0, 36, Local0, 1)
+
+ Mod(0xfe7cb391d650a283, Local2, Local0)
+ m600(arg0, 37, Local0, 0xfe7cb391d650a283)
+
+ Mod(auid, Local2, Local0)
+ m600(arg0, 38, Local0, 1)
+
+ Mod(auif, Local2, Local0)
+ m600(arg0, 39, Local0, 0xfe7cb391d650a283)
+
+ if (y078) {
+ Mod(Derefof(Refof(auid)), Local2, Local0)
+ m600(arg0, 40, Local0, 1)
+
+ Mod(Derefof(Refof(auif)), Local2, Local0)
+ m600(arg0, 41, Local0, 0xfe7cb391d650a283)
+ }
+
+ Mod(Derefof(Index(paui, 13)), Local2, Local0)
+ m600(arg0, 42, Local0, 1)
+
+ Mod(Derefof(Index(paui, 15)), Local2, Local0)
+ m600(arg0, 43, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Integer
+
+ Mod(m601(1, 13), Local2, Local0)
+ m600(arg0, 44, Local0, 1)
+
+ Mod(m601(1, 15), Local2, Local0)
+ m600(arg0, 45, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(Derefof(m602(1, 13, 1)), Local2, Local0)
+ m600(arg0, 46, Local0, 1)
+
+ Mod(Derefof(m602(1, 15, 1)), Local2, Local0)
+ m600(arg0, 47, Local0, 0xfe7cb391d650a283)
+ }
+
+ // Conversion of the both operands
+
+ Store(Mod(Local1, Local2), Local0)
+ m600(arg0, 48, Local0, 0x321)
+
+ Store(Mod(Local2, Local1), Local0)
+ m600(arg0, 49, Local0, 0x2fd)
+
+ Mod(Local1, Local2, Local0)
+ m600(arg0, 50, Local0, 0x321)
+
+ Mod(Local2, Local1, Local0)
+ m600(arg0, 51, Local0, 0x2fd)
+ }
+
+ // Mod, 32-bit
+ Method(m046, 1)
+ {
+ Store(Buffer(3){0x21, 0x03, 0x00}, Local1)
+ Store(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local2)
+
+ // Conversion of the first operand
+
+ Store(Mod(Local2, 0xd650a285), Local0)
+ m600(arg0, 0, Local0, 0xd650a284)
+
+ Store(Mod(Local2, 0xd650a283), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Mod(Local2, auil), Local0)
+ m600(arg0, 2, Local0, 0xd650a284)
+
+ Store(Mod(Local2, auim), Local0)
+ m600(arg0, 14, Local0, 1)
+
+ if (y078) {
+ Store(Mod(Local2, Derefof(Refof(auil))), Local0)
+ m600(arg0, 4, Local0, 0xd650a284)
+
+ Store(Mod(Local2, Derefof(Refof(auim))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Mod(Local2, Derefof(Index(paui, 21))), Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ Store(Mod(Local2, Derefof(Index(paui, 22))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Mod(Local2, m601(1, 21)), Local0)
+ m600(arg0, 8, Local0, 0xd650a284)
+
+ Store(Mod(Local2, m601(1, 22)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(Local2, Derefof(m601(1, 21, 1))), Local0)
+ m600(arg0, 10, Local0, 0xd650a284)
+
+ Store(Mod(Local2, Derefof(m601(1, 22, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Mod(Local2, 0xd650a285, Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ Mod(Local2, 0xd650a283, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Mod(Local2, auil, Local0)
+ m600(arg0, 14, Local0, 0xd650a284)
+
+ Mod(Local2, auim, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Mod(Local2, Derefof(Refof(auil)), Local0)
+ m600(arg0, 16, Local0, 0xd650a284)
+
+ Mod(Local2, Derefof(Refof(auim)), Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Mod(Local2, Derefof(Index(paui, 21)), Local0)
+ m600(arg0, 18, Local0, 0xd650a284)
+
+ Mod(Local2, Derefof(Index(paui, 22)), Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Mod(Local2, m601(1, 21), Local0)
+ m600(arg0, 20, Local0, 0xd650a284)
+
+ Mod(Local2, m601(1, 22), Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(Local2, Derefof(m601(1, 21, 1)), Local0)
+ m600(arg0, 22, Local0, 0xd650a284)
+
+ Mod(Local2, Derefof(m601(1, 22, 1)), Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Mod(0xd650a285, Local2), Local0)
+ m600(arg0, 24, Local0, 1)
+
+ Store(Mod(0xd650a283, Local2), Local0)
+ m600(arg0, 25, Local0, 0xd650a283)
+
+ Store(Mod(auil, Local2), Local0)
+ m600(arg0, 26, Local0, 1)
+
+ Store(Mod(auim, Local2), Local0)
+ m600(arg0, 27, Local0, 0xd650a283)
+
+ if (y078) {
+ Store(Mod(Derefof(Refof(auil)), Local2), Local0)
+ m600(arg0, 28, Local0, 1)
+
+ Store(Mod(Derefof(Refof(auim)), Local2), Local0)
+ m600(arg0, 29, Local0, 0xd650a283)
+ }
+
+ Store(Mod(Derefof(Index(paui, 21)), Local2), Local0)
+ m600(arg0, 30, Local0, 1)
+
+ Store(Mod(Derefof(Index(paui, 22)), Local2), Local0)
+ m600(arg0, 31, Local0, 0xd650a283)
+
+ // Method returns Integer
+
+ Store(Mod(m601(1, 21), Local2), Local0)
+ m600(arg0, 32, Local0, 1)
+
+ Store(Mod(m601(1, 22), Local2), Local0)
+ m600(arg0, 33, Local0, 0xd650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(Derefof(m601(1, 21, 1)), Local2), Local0)
+ m600(arg0, 34, Local0, 1)
+
+ Store(Mod(Derefof(m601(1, 22, 1)), Local2), Local0)
+ m600(arg0, 35, Local0, 0xd650a283)
+ }
+
+ Mod(0xd650a285, Local2, Local0)
+ m600(arg0, 36, Local0, 1)
+
+ Mod(0xd650a283, Local2, Local0)
+ m600(arg0, 37, Local0, 0xd650a283)
+
+ Mod(auil, Local2, Local0)
+ m600(arg0, 38, Local0, 1)
+
+ Mod(auim, Local2, Local0)
+ m600(arg0, 39, Local0, 0xd650a283)
+
+ if (y078) {
+ Mod(Derefof(Refof(auil)), Local2, Local0)
+ m600(arg0, 40, Local0, 1)
+
+ Mod(Derefof(Refof(auim)), Local2, Local0)
+ m600(arg0, 41, Local0, 0xd650a283)
+ }
+
+ Mod(Derefof(Index(paui, 21)), Local2, Local0)
+ m600(arg0, 42, Local0, 1)
+
+ Mod(Derefof(Index(paui, 22)), Local2, Local0)
+ m600(arg0, 43, Local0, 0xd650a283)
+
+ // Method returns Integer
+
+ Mod(m601(1, 21), Local2, Local0)
+ m600(arg0, 44, Local0, 1)
+
+ Mod(m601(1, 22), Local2, Local0)
+ m600(arg0, 45, Local0, 0xd650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(Derefof(m601(1, 21, 1)), Local2, Local0)
+ m600(arg0, 46, Local0, 1)
+
+ Mod(Derefof(m601(1, 22, 1)), Local2, Local0)
+ m600(arg0, 47, Local0, 0xd650a283)
+ }
+
+ // Conversion of the both operands
+
+ Store(Mod(Local1, Local2), Local0)
+ m600(arg0, 48, Local0, 0x321)
+
+ Store(Mod(Local2, Local1), Local0)
+ m600(arg0, 49, Local0, 0x261)
+
+ Mod(Local1, Local2, Local0)
+ m600(arg0, 50, Local0, 0x321)
+
+ Mod(Local2, Local1, Local0)
+ m600(arg0, 51, Local0, 0x261)
+ }
+
+ // Multiply, common 32-bit/64-bit test
+ Method(m047, 1)
+ {
+ Store(Buffer(3){0x21, 0x03, 0x00}, Local1)
+
+ // Conversion of the first operand
+
+ Store(Multiply(Local1, 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(Multiply(Local1, 1), Local0)
+ m600(arg0, 1, Local0, 0x321)
+
+ Store(Multiply(Local1, aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(Multiply(Local1, aui6), Local0)
+ m600(arg0, 3, Local0, 0x321)
+
+ if (y078) {
+ Store(Multiply(Local1, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(Multiply(Local1, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x321)
+ }
+
+ Store(Multiply(Local1, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(Multiply(Local1, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x321)
+
+ // Method returns Integer
+
+ Store(Multiply(Local1, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(Multiply(Local1, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(Local1, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(Multiply(Local1, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x321)
+ }
+
+ Multiply(Local1, 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ Multiply(Local1, 1, Local0)
+ m600(arg0, 13, Local0, 0x321)
+
+ Multiply(Local1, aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ Multiply(Local1, aui6, Local0)
+ m600(arg0, 15, Local0, 0x321)
+
+ if (y078) {
+ Multiply(Local1, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ Multiply(Local1, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x321)
+ }
+
+ Multiply(Local1, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ Multiply(Local1, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x321)
+
+ // Method returns Integer
+
+ Multiply(Local1, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ Multiply(Local1, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(Local1, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ Multiply(Local1, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x321)
+ }
+
+ // Conversion of the second operand
+
+ Store(Multiply(0, Local1), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Multiply(1, Local1), Local0)
+ m600(arg0, 25, Local0, 0x321)
+
+ Store(Multiply(aui5, Local1), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Multiply(aui6, Local1), Local0)
+ m600(arg0, 27, Local0, 0x321)
+
+ if (y078) {
+ Store(Multiply(Derefof(Refof(aui5)), Local1), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(aui6)), Local1), Local0)
+ m600(arg0, 29, Local0, 0x321)
+ }
+
+ Store(Multiply(Derefof(Index(paui, 5)), Local1), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Multiply(Derefof(Index(paui, 6)), Local1), Local0)
+ m600(arg0, 31, Local0, 0x321)
+
+ // Method returns Integer
+
+ Store(Multiply(m601(1, 5), Local1), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Multiply(m601(1, 6), Local1), Local0)
+ m600(arg0, 33, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(Derefof(m602(1, 5, 1)), Local1), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Multiply(Derefof(m602(1, 6, 1)), Local1), Local0)
+ m600(arg0, 35, Local0, 0x321)
+ }
+
+ Multiply(0, Local1, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Multiply(1, Local1, Local0)
+ m600(arg0, 37, Local0, 0x321)
+
+ Multiply(aui5, Local1, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Multiply(aui6, Local1, Local0)
+ m600(arg0, 39, Local0, 0x321)
+
+ if (y078) {
+ Multiply(Derefof(Refof(aui5)), Local1, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Multiply(Derefof(Refof(aui6)), Local1, Local0)
+ m600(arg0, 41, Local0, 0x321)
+ }
+
+ Multiply(Derefof(Index(paui, 5)), Local1, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Multiply(Derefof(Index(paui, 6)), Local1, Local0)
+ m600(arg0, 43, Local0, 0x321)
+
+ // Method returns Integer
+
+ Multiply(m601(1, 5), Local1, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Multiply(m601(1, 6), Local1, Local0)
+ m600(arg0, 45, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(Derefof(m602(1, 5, 1)), Local1, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Multiply(Derefof(m602(1, 6, 1)), Local1, Local0)
+ m600(arg0, 47, Local0, 0x321)
+ }
+ }
+
+ // Multiply, 64-bit
+ Method(m048, 1)
+ {
+ Store(Buffer(3){0x21, 0x03, 0x00}, Local1)
+ Store(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local2)
+
+ // Conversion of the first operand
+
+ Store(Multiply(Local2, 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(Multiply(Local2, 1), Local0)
+ m600(arg0, 1, Local0, 0xfe7cb391d650a284)
+
+ Store(Multiply(Local2, aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(Multiply(Local2, aui6), Local0)
+ m600(arg0, 3, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Store(Multiply(Local2, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(Multiply(Local2, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xfe7cb391d650a284)
+ }
+
+ Store(Multiply(Local2, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(Multiply(Local2, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Store(Multiply(Local2, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(Multiply(Local2, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(Local2, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(Multiply(Local2, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfe7cb391d650a284)
+ }
+
+ Multiply(Local2, 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ Multiply(Local2, 1, Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a284)
+
+ Multiply(Local2, aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ Multiply(Local2, aui6, Local0)
+ m600(arg0, 15, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Multiply(Local2, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ Multiply(Local2, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xfe7cb391d650a284)
+ }
+
+ Multiply(Local2, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ Multiply(Local2, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Multiply(Local2, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ Multiply(Local2, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(Local2, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ Multiply(Local2, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfe7cb391d650a284)
+ }
+
+ // Conversion of the second operand
+
+ Store(Multiply(0, Local2), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Multiply(1, Local2), Local0)
+ m600(arg0, 25, Local0, 0xfe7cb391d650a284)
+
+ Store(Multiply(aui5, Local2), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Multiply(aui6, Local2), Local0)
+ m600(arg0, 27, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Store(Multiply(Derefof(Refof(aui5)), Local2), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(aui6)), Local2), Local0)
+ m600(arg0, 29, Local0, 0xfe7cb391d650a284)
+ }
+
+ Store(Multiply(Derefof(Index(paui, 5)), Local2), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Multiply(Derefof(Index(paui, 6)), Local2), Local0)
+ m600(arg0, 31, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Store(Multiply(m601(1, 5), Local2), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Multiply(m601(1, 6), Local2), Local0)
+ m600(arg0, 33, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(Derefof(m602(1, 5, 1)), Local2), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Multiply(Derefof(m602(1, 6, 1)), Local2), Local0)
+ m600(arg0, 35, Local0, 0xfe7cb391d650a284)
+ }
+
+ Multiply(0, Local2, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Multiply(1, Local2, Local0)
+ m600(arg0, 37, Local0, 0xfe7cb391d650a284)
+
+ Multiply(aui5, Local2, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Multiply(aui6, Local2, Local0)
+ m600(arg0, 39, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Multiply(Derefof(Refof(aui5)), Local2, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Multiply(Derefof(Refof(aui6)), Local2, Local0)
+ m600(arg0, 41, Local0, 0xfe7cb391d650a284)
+ }
+
+ Multiply(Derefof(Index(paui, 5)), Local2, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Multiply(Derefof(Index(paui, 6)), Local2, Local0)
+ m600(arg0, 43, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Multiply(m601(1, 5), Local2, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Multiply(m601(1, 6), Local2, Local0)
+ m600(arg0, 45, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(Derefof(m602(1, 5, 1)), Local2, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Multiply(Derefof(m602(1, 6, 1)), Local2, Local0)
+ m600(arg0, 47, Local0, 0xfe7cb391d650a284)
+ }
+
+ // Conversion of the both operands
+
+ Store(Multiply(Local1, Local2), Local0)
+ m600(arg0, 48, Local0, 0x442ddb4f924c7f04)
+
+ Store(Multiply(Local2, Local1), Local0)
+ m600(arg0, 49, Local0, 0x442ddb4f924c7f04)
+
+ Multiply(Local1, Local2, Local0)
+ m600(arg0, 50, Local0, 0x442ddb4f924c7f04)
+
+ Multiply(Local2, Local1, Local0)
+ m600(arg0, 51, Local0, 0x442ddb4f924c7f04)
+ }
+
+ // Multiply, 32-bit
+ Method(m049, 1)
+ {
+ Store(Buffer(3){0x21, 0x03, 0x00}, Local1)
+ Store(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local2)
+
+ // Conversion of the first operand
+
+ Store(Multiply(Local2, 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(Multiply(Local2, 1), Local0)
+ m600(arg0, 1, Local0, 0xd650a284)
+
+ Store(Multiply(Local2, aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(Multiply(Local2, aui6), Local0)
+ m600(arg0, 3, Local0, 0xd650a284)
+
+ if (y078) {
+ Store(Multiply(Local2, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(Multiply(Local2, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xd650a284)
+ }
+
+ Store(Multiply(Local2, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(Multiply(Local2, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xd650a284)
+
+ // Method returns Integer
+
+ Store(Multiply(Local2, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(Multiply(Local2, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xd650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(Local2, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(Multiply(Local2, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xd650a284)
+ }
+
+ Multiply(Local2, 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ Multiply(Local2, 1, Local0)
+ m600(arg0, 13, Local0, 0xd650a284)
+
+ Multiply(Local2, aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ Multiply(Local2, aui6, Local0)
+ m600(arg0, 15, Local0, 0xd650a284)
+
+ if (y078) {
+ Multiply(Local2, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ Multiply(Local2, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xd650a284)
+ }
+
+ Multiply(Local2, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ Multiply(Local2, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xd650a284)
+
+ // Method returns Integer
+
+ Multiply(Local2, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ Multiply(Local2, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xd650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(Local2, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ Multiply(Local2, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xd650a284)
+ }
+
+ // Conversion of the second operand
+
+ Store(Multiply(0, Local2), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Multiply(1, Local2), Local0)
+ m600(arg0, 25, Local0, 0xd650a284)
+
+ Store(Multiply(aui5, Local2), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Multiply(aui6, Local2), Local0)
+ m600(arg0, 27, Local0, 0xd650a284)
+
+ if (y078) {
+ Store(Multiply(Derefof(Refof(aui5)), Local2), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(aui6)), Local2), Local0)
+ m600(arg0, 29, Local0, 0xd650a284)
+ }
+
+ Store(Multiply(Derefof(Index(paui, 5)), Local2), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Multiply(Derefof(Index(paui, 6)), Local2), Local0)
+ m600(arg0, 31, Local0, 0xd650a284)
+
+ // Method returns Integer
+
+ Store(Multiply(m601(1, 5), Local2), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Multiply(m601(1, 6), Local2), Local0)
+ m600(arg0, 33, Local0, 0xd650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(Derefof(m602(1, 5, 1)), Local2), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Multiply(Derefof(m602(1, 6, 1)), Local2), Local0)
+ m600(arg0, 35, Local0, 0xd650a284)
+ }
+
+ Multiply(0, Local2, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Multiply(1, Local2, Local0)
+ m600(arg0, 37, Local0, 0xd650a284)
+
+ Multiply(aui5, Local2, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Multiply(aui6, Local2, Local0)
+ m600(arg0, 39, Local0, 0xd650a284)
+
+ if (y078) {
+ Multiply(Derefof(Refof(aui5)), Local2, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Multiply(Derefof(Refof(aui6)), Local2, Local0)
+ m600(arg0, 41, Local0, 0xd650a284)
+ }
+
+ Multiply(Derefof(Index(paui, 5)), Local2, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Multiply(Derefof(Index(paui, 6)), Local2, Local0)
+ m600(arg0, 43, Local0, 0xd650a284)
+
+ // Method returns Integer
+
+ Multiply(m601(1, 5), Local2, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Multiply(m601(1, 6), Local2, Local0)
+ m600(arg0, 45, Local0, 0xd650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(Derefof(m602(1, 5, 1)), Local2, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Multiply(Derefof(m602(1, 6, 1)), Local2, Local0)
+ m600(arg0, 47, Local0, 0xd650a284)
+ }
+
+ // Conversion of the both operands
+
+ Store(Multiply(Local1, Local2), Local0)
+ m600(arg0, 48, Local0, 0x924c7f04)
+
+ Store(Multiply(Local2, Local1), Local0)
+ m600(arg0, 49, Local0, 0x924c7f04)
+
+ Multiply(Local1, Local2, Local0)
+ m600(arg0, 50, Local0, 0x924c7f04)
+
+ Multiply(Local2, Local1, Local0)
+ m600(arg0, 51, Local0, 0x924c7f04)
+ }
+
+ // NAnd, common 32-bit/64-bit test
+ Method(m04a, 1)
+ {
+ Store(Buffer(3){0x21, 0x03, 0x00}, Local1)
+
+ // Conversion of the first operand
+
+ Store(NAnd(Local1, 0), Local0)
+ m600(arg0, 0, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Local1, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xfffffffffffffcde)
+
+ Store(NAnd(Local1, aui5), Local0)
+ m600(arg0, 2, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Local1, auij), Local0)
+ m600(arg0, 3, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ Store(NAnd(Local1, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Local1, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xfffffffffffffcde)
+ }
+
+ Store(NAnd(Local1, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Local1, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ Store(NAnd(Local1, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Local1, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(Local1, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Local1, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfffffffffffffcde)
+ }
+
+ NAnd(Local1, 0, Local0)
+ m600(arg0, 12, Local0, 0xffffffffffffffff)
+
+ NAnd(Local1, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xfffffffffffffcde)
+
+ NAnd(Local1, aui5, Local0)
+ m600(arg0, 14, Local0, 0xffffffffffffffff)
+
+ NAnd(Local1, auij, Local0)
+ m600(arg0, 15, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ NAnd(Local1, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xffffffffffffffff)
+
+ NAnd(Local1, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xfffffffffffffcde)
+ }
+
+ NAnd(Local1, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xffffffffffffffff)
+
+ NAnd(Local1, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ NAnd(Local1, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xffffffffffffffff)
+
+ NAnd(Local1, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(Local1, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xffffffffffffffff)
+
+ NAnd(Local1, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfffffffffffffcde)
+ }
+
+ // Conversion of the second operand
+
+ Store(NAnd(0, Local1), Local0)
+ m600(arg0, 24, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(0xffffffffffffffff, Local1), Local0)
+ m600(arg0, 25, Local0, 0xfffffffffffffcde)
+
+ Store(NAnd(aui5, Local1), Local0)
+ m600(arg0, 26, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(auij, Local1), Local0)
+ m600(arg0, 27, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ Store(NAnd(Derefof(Refof(aui5)), Local1), Local0)
+ m600(arg0, 28, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Refof(auij)), Local1), Local0)
+ m600(arg0, 29, Local0, 0xfffffffffffffcde)
+ }
+
+ Store(NAnd(Derefof(Index(paui, 5)), Local1), Local0)
+ m600(arg0, 30, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Index(paui, 19)), Local1), Local0)
+ m600(arg0, 31, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ Store(NAnd(m601(1, 5), Local1), Local0)
+ m600(arg0, 32, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(m601(1, 19), Local1), Local0)
+ m600(arg0, 33, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(Derefof(m602(1, 5, 1)), Local1), Local0)
+ m600(arg0, 34, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(m602(1, 19, 1)), Local1), Local0)
+ m600(arg0, 35, Local0, 0xfffffffffffffcde)
+ }
+
+ NAnd(0, Local1, Local0)
+ m600(arg0, 36, Local0, 0xffffffffffffffff)
+
+ NAnd(0xffffffffffffffff, Local1, Local0)
+ m600(arg0, 37, Local0, 0xfffffffffffffcde)
+
+ NAnd(aui5, Local1, Local0)
+ m600(arg0, 38, Local0, 0xffffffffffffffff)
+
+ NAnd(auij, Local1, Local0)
+ m600(arg0, 39, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ NAnd(Derefof(Refof(aui5)), Local1, Local0)
+ m600(arg0, 40, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Refof(auij)), Local1, Local0)
+ m600(arg0, 41, Local0, 0xfffffffffffffcde)
+ }
+
+ NAnd(Derefof(Index(paui, 5)), Local1, Local0)
+ m600(arg0, 42, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Index(paui, 19)), Local1, Local0)
+ m600(arg0, 43, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ NAnd(m601(1, 5), Local1, Local0)
+ m600(arg0, 44, Local0, 0xffffffffffffffff)
+
+ NAnd(m601(1, 19), Local1, Local0)
+ m600(arg0, 45, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(Derefof(m602(1, 5, 1)), Local1, Local0)
+ m600(arg0, 46, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(m602(1, 19, 1)), Local1, Local0)
+ m600(arg0, 47, Local0, 0xfffffffffffffcde)
+ }
+ }
+
+ // NAnd, 64-bit
+ Method(m04b, 1)
+ {
+ Store(Buffer(3){0x21, 0x03, 0x00}, Local1)
+ Store(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local2)
+
+ // Conversion of the first operand
+
+ Store(NAnd(Local2, 0), Local0)
+ m600(arg0, 0, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Local2, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0x01834c6e29af5d7b)
+
+ Store(NAnd(Local2, aui5), Local0)
+ m600(arg0, 2, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Local2, auij), Local0)
+ m600(arg0, 3, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ Store(NAnd(Local2, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Local2, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Store(NAnd(Local2, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Local2, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ Store(NAnd(Local2, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Local2, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(Local2, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Local2, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0x01834c6e29af5d7b)
+ }
+
+ NAnd(Local2, 0, Local0)
+ m600(arg0, 12, Local0, 0xffffffffffffffff)
+
+ NAnd(Local2, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0x01834c6e29af5d7b)
+
+ NAnd(Local2, aui5, Local0)
+ m600(arg0, 14, Local0, 0xffffffffffffffff)
+
+ NAnd(Local2, auij, Local0)
+ m600(arg0, 15, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ NAnd(Local2, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xffffffffffffffff)
+
+ NAnd(Local2, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0x01834c6e29af5d7b)
+ }
+
+ NAnd(Local2, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xffffffffffffffff)
+
+ NAnd(Local2, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ NAnd(Local2, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xffffffffffffffff)
+
+ NAnd(Local2, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(Local2, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xffffffffffffffff)
+
+ NAnd(Local2, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0x01834c6e29af5d7b)
+ }
+
+ // Conversion of the second operand
+
+ Store(NAnd(0, Local2), Local0)
+ m600(arg0, 24, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(0xffffffffffffffff, Local2), Local0)
+ m600(arg0, 25, Local0, 0x01834c6e29af5d7b)
+
+ Store(NAnd(aui5, Local2), Local0)
+ m600(arg0, 26, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(auij, Local2), Local0)
+ m600(arg0, 27, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ Store(NAnd(Derefof(Refof(aui5)), Local2), Local0)
+ m600(arg0, 28, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Refof(auij)), Local2), Local0)
+ m600(arg0, 29, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Store(NAnd(Derefof(Index(paui, 5)), Local2), Local0)
+ m600(arg0, 30, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Index(paui, 19)), Local2), Local0)
+ m600(arg0, 31, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ Store(NAnd(m601(1, 5), Local2), Local0)
+ m600(arg0, 32, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(m601(1, 19), Local2), Local0)
+ m600(arg0, 33, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(Derefof(m602(1, 5, 1)), Local2), Local0)
+ m600(arg0, 34, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(m602(1, 19, 1)), Local2), Local0)
+ m600(arg0, 35, Local0, 0x01834c6e29af5d7b)
+ }
+
+ NAnd(0, Local2, Local0)
+ m600(arg0, 36, Local0, 0xffffffffffffffff)
+
+ NAnd(0xffffffffffffffff, Local2, Local0)
+ m600(arg0, 37, Local0, 0x01834c6e29af5d7b)
+
+ NAnd(aui5, Local2, Local0)
+ m600(arg0, 38, Local0, 0xffffffffffffffff)
+
+ NAnd(auij, Local2, Local0)
+ m600(arg0, 39, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ NAnd(Derefof(Refof(aui5)), Local2, Local0)
+ m600(arg0, 40, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Refof(auij)), Local2, Local0)
+ m600(arg0, 41, Local0, 0x01834c6e29af5d7b)
+ }
+
+ NAnd(Derefof(Index(paui, 5)), Local2, Local0)
+ m600(arg0, 42, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Index(paui, 19)), Local2, Local0)
+ m600(arg0, 43, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ NAnd(m601(1, 5), Local2, Local0)
+ m600(arg0, 44, Local0, 0xffffffffffffffff)
+
+ NAnd(m601(1, 19), Local2, Local0)
+ m600(arg0, 45, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(Derefof(m602(1, 5, 1)), Local2, Local0)
+ m600(arg0, 46, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(m602(1, 19, 1)), Local2, Local0)
+ m600(arg0, 47, Local0, 0x01834c6e29af5d7b)
+ }
+
+ // Conversion of the both operands
+
+ Store(NAnd(Local1, Local2), Local0)
+ m600(arg0, 48, Local0, 0xfffffffffffffdff)
+
+ Store(NAnd(Local2, Local1), Local0)
+ m600(arg0, 49, Local0, 0xfffffffffffffdff)
+
+ NAnd(Local1, Local2, Local0)
+ m600(arg0, 50, Local0, 0xfffffffffffffdff)
+
+ NAnd(Local2, Local1, Local0)
+ m600(arg0, 51, Local0, 0xfffffffffffffdff)
+ }
+
+ // NAnd, 32-bit
+ Method(m04c, 1)
+ {
+ Store(Buffer(3){0x21, 0x03, 0x00}, Local1)
+ Store(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local2)
+
+ // Conversion of the first operand
+
+ Store(NAnd(Local2, 0), Local0)
+ m600(arg0, 0, Local0, 0xffffffff)
+
+ Store(NAnd(Local2, 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0x29af5d7b)
+
+ Store(NAnd(Local2, aui5), Local0)
+ m600(arg0, 2, Local0, 0xffffffff)
+
+ Store(NAnd(Local2, auii), Local0)
+ m600(arg0, 3, Local0, 0x29af5d7b)
+
+ if (y078) {
+ Store(NAnd(Local2, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xffffffff)
+
+ Store(NAnd(Local2, Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0x29af5d7b)
+ }
+
+ Store(NAnd(Local2, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xffffffff)
+
+ Store(NAnd(Local2, Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0x29af5d7b)
+
+ // Method returns Integer
+
+ Store(NAnd(Local2, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xffffffff)
+
+ Store(NAnd(Local2, m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0x29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(Local2, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xffffffff)
+
+ Store(NAnd(Local2, Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0x29af5d7b)
+ }
+
+ NAnd(Local2, 0, Local0)
+ m600(arg0, 12, Local0, 0xffffffff)
+
+ NAnd(Local2, 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0x29af5d7b)
+
+ NAnd(Local2, aui5, Local0)
+ m600(arg0, 14, Local0, 0xffffffff)
+
+ NAnd(Local2, auii, Local0)
+ m600(arg0, 15, Local0, 0x29af5d7b)
+
+ if (y078) {
+ NAnd(Local2, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xffffffff)
+
+ NAnd(Local2, Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0x29af5d7b)
+ }
+
+ NAnd(Local2, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xffffffff)
+
+ NAnd(Local2, Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0x29af5d7b)
+
+ // Method returns Integer
+
+ NAnd(Local2, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xffffffff)
+
+ NAnd(Local2, m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0x29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(Local2, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xffffffff)
+
+ NAnd(Local2, Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0x29af5d7b)
+ }
+
+ // Conversion of the second operand
+
+ Store(NAnd(0, Local2), Local0)
+ m600(arg0, 24, Local0, 0xffffffff)
+
+ Store(NAnd(0xffffffff, Local2), Local0)
+ m600(arg0, 25, Local0, 0x29af5d7b)
+
+ Store(NAnd(aui5, Local2), Local0)
+ m600(arg0, 26, Local0, 0xffffffff)
+
+ Store(NAnd(auii, Local2), Local0)
+ m600(arg0, 27, Local0, 0x29af5d7b)
+
+ if (y078) {
+ Store(NAnd(Derefof(Refof(aui5)), Local2), Local0)
+ m600(arg0, 28, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(Refof(auii)), Local2), Local0)
+ m600(arg0, 29, Local0, 0x29af5d7b)
+ }
+
+ Store(NAnd(Derefof(Index(paui, 5)), Local2), Local0)
+ m600(arg0, 30, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(Index(paui, 18)), Local2), Local0)
+ m600(arg0, 31, Local0, 0x29af5d7b)
+
+ // Method returns Integer
+
+ Store(NAnd(m601(1, 5), Local2), Local0)
+ m600(arg0, 32, Local0, 0xffffffff)
+
+ Store(NAnd(m601(1, 18), Local2), Local0)
+ m600(arg0, 33, Local0, 0x29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(Derefof(m602(1, 5, 1)), Local2), Local0)
+ m600(arg0, 34, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(m602(1, 18, 1)), Local2), Local0)
+ m600(arg0, 35, Local0, 0x29af5d7b)
+ }
+
+ NAnd(0, Local2, Local0)
+ m600(arg0, 36, Local0, 0xffffffff)
+
+ NAnd(0xffffffff, Local2, Local0)
+ m600(arg0, 37, Local0, 0x29af5d7b)
+
+ NAnd(aui5, Local2, Local0)
+ m600(arg0, 38, Local0, 0xffffffff)
+
+ NAnd(auii, Local2, Local0)
+ m600(arg0, 39, Local0, 0x29af5d7b)
+
+ if (y078) {
+ NAnd(Derefof(Refof(aui5)), Local2, Local0)
+ m600(arg0, 40, Local0, 0xffffffff)
+
+ NAnd(Derefof(Refof(auii)), Local2, Local0)
+ m600(arg0, 41, Local0, 0x29af5d7b)
+ }
+
+ NAnd(Derefof(Index(paui, 5)), Local2, Local0)
+ m600(arg0, 42, Local0, 0xffffffff)
+
+ NAnd(Derefof(Index(paui, 18)), Local2, Local0)
+ m600(arg0, 43, Local0, 0x29af5d7b)
+
+ // Method returns Integer
+
+ NAnd(m601(1, 5), Local2, Local0)
+ m600(arg0, 44, Local0, 0xffffffff)
+
+ NAnd(m601(1, 18), Local2, Local0)
+ m600(arg0, 45, Local0, 0x29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(Derefof(m602(1, 5, 1)), Local2, Local0)
+ m600(arg0, 46, Local0, 0xffffffff)
+
+ NAnd(Derefof(m602(1, 18, 1)), Local2, Local0)
+ m600(arg0, 47, Local0, 0x29af5d7b)
+ }
+
+ // Conversion of the both operands
+
+ Store(NAnd(Local1, Local2), Local0)
+ m600(arg0, 48, Local0, 0xfffffdff)
+
+ Store(NAnd(Local2, Local1), Local0)
+ m600(arg0, 49, Local0, 0xfffffdff)
+
+ NAnd(Local1, Local2, Local0)
+ m600(arg0, 50, Local0, 0xfffffdff)
+
+ NAnd(Local2, Local1, Local0)
+ m600(arg0, 51, Local0, 0xfffffdff)
+ }
+
+ // NOr, common 32-bit/64-bit test
+ Method(m04d, 1)
+ {
+ Store(Buffer(3){0x21, 0x03, 0x00}, Local1)
+
+ // Conversion of the first operand
+
+ Store(NOr(Local1, 0), Local0)
+ m600(arg0, 0, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Local1, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0)
+
+ Store(NOr(Local1, aui5), Local0)
+ m600(arg0, 2, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Local1, auij), Local0)
+ m600(arg0, 3, Local0, 0)
+
+ if (y078) {
+ Store(NOr(Local1, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Local1, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0)
+ }
+
+ Store(NOr(Local1, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Local1, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(Local1, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Local1, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(Local1, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Local1, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0)
+ }
+
+ NOr(Local1, 0, Local0)
+ m600(arg0, 12, Local0, 0xfffffffffffffcde)
+
+ NOr(Local1, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0)
+
+ NOr(Local1, aui5, Local0)
+ m600(arg0, 14, Local0, 0xfffffffffffffcde)
+
+ NOr(Local1, auij, Local0)
+ m600(arg0, 15, Local0, 0)
+
+ if (y078) {
+ NOr(Local1, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfffffffffffffcde)
+
+ NOr(Local1, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0)
+ }
+
+ NOr(Local1, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfffffffffffffcde)
+
+ NOr(Local1, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(Local1, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfffffffffffffcde)
+
+ NOr(Local1, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(Local1, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfffffffffffffcde)
+
+ NOr(Local1, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0)
+ }
+
+ // Conversion of the second operand
+
+ Store(NOr(0, Local1), Local0)
+ m600(arg0, 24, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(0xffffffffffffffff, Local1), Local0)
+ m600(arg0, 25, Local0, 0)
+
+ Store(NOr(aui5, Local1), Local0)
+ m600(arg0, 26, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(auij, Local1), Local0)
+ m600(arg0, 27, Local0, 0)
+
+ if (y078) {
+ Store(NOr(Derefof(Refof(aui5)), Local1), Local0)
+ m600(arg0, 28, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(Refof(auij)), Local1), Local0)
+ m600(arg0, 29, Local0, 0)
+ }
+
+ Store(NOr(Derefof(Index(paui, 5)), Local1), Local0)
+ m600(arg0, 30, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(Index(paui, 19)), Local1), Local0)
+ m600(arg0, 31, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(m601(1, 5), Local1), Local0)
+ m600(arg0, 32, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(m601(1, 19), Local1), Local0)
+ m600(arg0, 33, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(Derefof(m602(1, 5, 1)), Local1), Local0)
+ m600(arg0, 34, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(m602(1, 19, 1)), Local1), Local0)
+ m600(arg0, 35, Local0, 0)
+ }
+
+ NOr(0, Local1, Local0)
+ m600(arg0, 36, Local0, 0xfffffffffffffcde)
+
+ NOr(0xffffffffffffffff, Local1, Local0)
+ m600(arg0, 37, Local0, 0)
+
+ NOr(aui5, Local1, Local0)
+ m600(arg0, 38, Local0, 0xfffffffffffffcde)
+
+ NOr(auij, Local1, Local0)
+ m600(arg0, 39, Local0, 0)
+
+ if (y078) {
+ NOr(Derefof(Refof(aui5)), Local1, Local0)
+ m600(arg0, 40, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(Refof(auij)), Local1, Local0)
+ m600(arg0, 41, Local0, 0)
+ }
+
+ NOr(Derefof(Index(paui, 5)), Local1, Local0)
+ m600(arg0, 42, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(Index(paui, 19)), Local1, Local0)
+ m600(arg0, 43, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(m601(1, 5), Local1, Local0)
+ m600(arg0, 44, Local0, 0xfffffffffffffcde)
+
+ NOr(m601(1, 19), Local1, Local0)
+ m600(arg0, 45, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(Derefof(m602(1, 5, 1)), Local1, Local0)
+ m600(arg0, 46, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(m602(1, 19, 1)), Local1, Local0)
+ m600(arg0, 47, Local0, 0)
+ }
+ }
+
+ // NOr, 64-bit
+ Method(m04e, 1)
+ {
+ Store(Buffer(3){0x21, 0x03, 0x00}, Local1)
+ Store(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local2)
+
+ // Conversion of the first operand
+
+ Store(NOr(Local2, 0), Local0)
+ m600(arg0, 0, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Local2, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0)
+
+ Store(NOr(Local2, aui5), Local0)
+ m600(arg0, 2, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Local2, auij), Local0)
+ m600(arg0, 3, Local0, 0)
+
+ if (y078) {
+ Store(NOr(Local2, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Local2, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0)
+ }
+
+ Store(NOr(Local2, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Local2, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(Local2, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Local2, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(Local2, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Local2, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0)
+ }
+
+ NOr(Local2, 0, Local0)
+ m600(arg0, 12, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Local2, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0)
+
+ NOr(Local2, aui5, Local0)
+ m600(arg0, 14, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Local2, auij, Local0)
+ m600(arg0, 15, Local0, 0)
+
+ if (y078) {
+ NOr(Local2, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Local2, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0)
+ }
+
+ NOr(Local2, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Local2, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(Local2, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Local2, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(Local2, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Local2, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0)
+ }
+
+ // Conversion of the second operand
+
+ Store(NOr(0, Local2), Local0)
+ m600(arg0, 24, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(0xffffffffffffffff, Local2), Local0)
+ m600(arg0, 25, Local0, 0)
+
+ Store(NOr(aui5, Local2), Local0)
+ m600(arg0, 26, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(auij, Local2), Local0)
+ m600(arg0, 27, Local0, 0)
+
+ if (y078) {
+ Store(NOr(Derefof(Refof(aui5)), Local2), Local0)
+ m600(arg0, 28, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(Refof(auij)), Local2), Local0)
+ m600(arg0, 29, Local0, 0)
+ }
+
+ Store(NOr(Derefof(Index(paui, 5)), Local2), Local0)
+ m600(arg0, 30, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(Index(paui, 19)), Local2), Local0)
+ m600(arg0, 31, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(m601(1, 5), Local2), Local0)
+ m600(arg0, 32, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(m601(1, 19), Local2), Local0)
+ m600(arg0, 33, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(Derefof(m602(1, 5, 1)), Local2), Local0)
+ m600(arg0, 34, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(m602(1, 19, 1)), Local2), Local0)
+ m600(arg0, 35, Local0, 0)
+ }
+
+ NOr(0, Local2, Local0)
+ m600(arg0, 36, Local0, 0x01834c6e29af5d7b)
+
+ NOr(0xffffffffffffffff, Local2, Local0)
+ m600(arg0, 37, Local0, 0)
+
+ NOr(aui5, Local2, Local0)
+ m600(arg0, 38, Local0, 0x01834c6e29af5d7b)
+
+ NOr(auij, Local2, Local0)
+ m600(arg0, 39, Local0, 0)
+
+ if (y078) {
+ NOr(Derefof(Refof(aui5)), Local2, Local0)
+ m600(arg0, 40, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(Refof(auij)), Local2, Local0)
+ m600(arg0, 41, Local0, 0)
+ }
+
+ NOr(Derefof(Index(paui, 5)), Local2, Local0)
+ m600(arg0, 42, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(Index(paui, 19)), Local2, Local0)
+ m600(arg0, 43, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(m601(1, 5), Local2, Local0)
+ m600(arg0, 44, Local0, 0x01834c6e29af5d7b)
+
+ NOr(m601(1, 19), Local2, Local0)
+ m600(arg0, 45, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(Derefof(m602(1, 5, 1)), Local2, Local0)
+ m600(arg0, 46, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(m602(1, 19, 1)), Local2, Local0)
+ m600(arg0, 47, Local0, 0)
+ }
+
+ // Conversion of the both operands
+
+ Store(NOr(Local1, Local2), Local0)
+ m600(arg0, 48, Local0, 0x01834c6e29af5c5a)
+
+ Store(NOr(Local2, Local1), Local0)
+ m600(arg0, 49, Local0, 0x01834c6e29af5c5a)
+
+ NOr(Local1, Local2, Local0)
+ m600(arg0, 50, Local0, 0x01834c6e29af5c5a)
+
+ NOr(Local2, Local1, Local0)
+ m600(arg0, 51, Local0, 0x01834c6e29af5c5a)
+ }
+
+ // NOr, 32-bit
+ Method(m04f, 1)
+ {
+ Store(Buffer(3){0x21, 0x03, 0x00}, Local1)
+ Store(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local2)
+
+ // Conversion of the first operand
+
+ Store(NOr(Local2, 0), Local0)
+ m600(arg0, 0, Local0, 0x29af5d7b)
+
+ Store(NOr(Local2, 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0)
+
+ Store(NOr(Local2, aui5), Local0)
+ m600(arg0, 2, Local0, 0x29af5d7b)
+
+ Store(NOr(Local2, auii), Local0)
+ m600(arg0, 3, Local0, 0)
+
+ if (y078) {
+ Store(NOr(Local2, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x29af5d7b)
+
+ Store(NOr(Local2, Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0)
+ }
+
+ Store(NOr(Local2, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x29af5d7b)
+
+ Store(NOr(Local2, Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(Local2, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x29af5d7b)
+
+ Store(NOr(Local2, m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(Local2, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x29af5d7b)
+
+ Store(NOr(Local2, Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0)
+ }
+
+ NOr(Local2, 0, Local0)
+ m600(arg0, 12, Local0, 0x29af5d7b)
+
+ NOr(Local2, 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0)
+
+ NOr(Local2, aui5, Local0)
+ m600(arg0, 14, Local0, 0x29af5d7b)
+
+ NOr(Local2, auii, Local0)
+ m600(arg0, 15, Local0, 0)
+
+ if (y078) {
+ NOr(Local2, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x29af5d7b)
+
+ NOr(Local2, Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0)
+ }
+
+ NOr(Local2, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x29af5d7b)
+
+ NOr(Local2, Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(Local2, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x29af5d7b)
+
+ NOr(Local2, m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(Local2, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x29af5d7b)
+
+ NOr(Local2, Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0)
+ }
+
+ // Conversion of the second operand
+
+ Store(NOr(0, Local2), Local0)
+ m600(arg0, 24, Local0, 0x29af5d7b)
+
+ Store(NOr(0xffffffff, Local2), Local0)
+ m600(arg0, 25, Local0, 0)
+
+ Store(NOr(aui5, Local2), Local0)
+ m600(arg0, 26, Local0, 0x29af5d7b)
+
+ Store(NOr(auii, Local2), Local0)
+ m600(arg0, 27, Local0, 0)
+
+ if (y078) {
+ Store(NOr(Derefof(Refof(aui5)), Local2), Local0)
+ m600(arg0, 28, Local0, 0x29af5d7b)
+
+ Store(NOr(Derefof(Refof(auii)), Local2), Local0)
+ m600(arg0, 29, Local0, 0)
+ }
+
+ Store(NOr(Derefof(Index(paui, 5)), Local2), Local0)
+ m600(arg0, 30, Local0, 0x29af5d7b)
+
+ Store(NOr(Derefof(Index(paui, 18)), Local2), Local0)
+ m600(arg0, 31, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(m601(1, 5), Local2), Local0)
+ m600(arg0, 32, Local0, 0x29af5d7b)
+
+ Store(NOr(m601(1, 18), Local2), Local0)
+ m600(arg0, 33, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(Derefof(m602(1, 5, 1)), Local2), Local0)
+ m600(arg0, 34, Local0, 0x29af5d7b)
+
+ Store(NOr(Derefof(m602(1, 18, 1)), Local2), Local0)
+ m600(arg0, 35, Local0, 0)
+ }
+
+ NOr(0, Local2, Local0)
+ m600(arg0, 36, Local0, 0x29af5d7b)
+
+ NOr(0xffffffff, Local2, Local0)
+ m600(arg0, 37, Local0, 0)
+
+ NOr(aui5, Local2, Local0)
+ m600(arg0, 38, Local0, 0x29af5d7b)
+
+ NOr(auii, Local2, Local0)
+ m600(arg0, 39, Local0, 0)
+
+ if (y078) {
+ NOr(Derefof(Refof(aui5)), Local2, Local0)
+ m600(arg0, 40, Local0, 0x29af5d7b)
+
+ NOr(Derefof(Refof(auii)), Local2, Local0)
+ m600(arg0, 41, Local0, 0)
+ }
+
+ NOr(Derefof(Index(paui, 5)), Local2, Local0)
+ m600(arg0, 42, Local0, 0x29af5d7b)
+
+ NOr(Derefof(Index(paui, 18)), Local2, Local0)
+ m600(arg0, 43, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(m601(1, 5), Local2, Local0)
+ m600(arg0, 44, Local0, 0x29af5d7b)
+
+ NOr(m601(1, 18), Local2, Local0)
+ m600(arg0, 45, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(Derefof(m602(1, 5, 1)), Local2, Local0)
+ m600(arg0, 46, Local0, 0x29af5d7b)
+
+ NOr(Derefof(m602(1, 18, 1)), Local2, Local0)
+ m600(arg0, 47, Local0, 0)
+ }
+
+ // Conversion of the both operands
+
+ Store(NOr(Local1, Local2), Local0)
+ m600(arg0, 48, Local0, 0x29af5c5a)
+
+ Store(NOr(Local2, Local1), Local0)
+ m600(arg0, 49, Local0, 0x29af5c5a)
+
+ NOr(Local1, Local2, Local0)
+ m600(arg0, 50, Local0, 0x29af5c5a)
+
+ NOr(Local2, Local1, Local0)
+ m600(arg0, 51, Local0, 0x29af5c5a)
+ }
+
+ // Or, common 32-bit/64-bit test
+ Method(m050, 1)
+ {
+ Store(Buffer(3){0x21, 0x03, 0x00}, Local1)
+
+ // Conversion of the first operand
+
+ Store(Or(Local1, 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Or(Local1, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xffffffffffffffff)
+
+ Store(Or(Local1, aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Or(Local1, auij), Local0)
+ m600(arg0, 3, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Store(Or(Local1, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Or(Local1, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xffffffffffffffff)
+ }
+
+ Store(Or(Local1, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Or(Local1, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Store(Or(Local1, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Or(Local1, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(Local1, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Or(Local1, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xffffffffffffffff)
+ }
+
+ Or(Local1, 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Or(Local1, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xffffffffffffffff)
+
+ Or(Local1, aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Or(Local1, auij, Local0)
+ m600(arg0, 15, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Or(Local1, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Or(Local1, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xffffffffffffffff)
+ }
+
+ Or(Local1, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Or(Local1, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Or(Local1, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Or(Local1, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(Local1, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Or(Local1, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xffffffffffffffff)
+ }
+
+ // Conversion of the second operand
+
+ Store(Or(0, Local1), Local0)
+ m600(arg0, 24, Local0, 0x321)
+
+ Store(Or(0xffffffffffffffff, Local1), Local0)
+ m600(arg0, 25, Local0, 0xffffffffffffffff)
+
+ Store(Or(aui5, Local1), Local0)
+ m600(arg0, 26, Local0, 0x321)
+
+ Store(Or(auij, Local1), Local0)
+ m600(arg0, 27, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Store(Or(Derefof(Refof(aui5)), Local1), Local0)
+ m600(arg0, 28, Local0, 0x321)
+
+ Store(Or(Derefof(Refof(auij)), Local1), Local0)
+ m600(arg0, 29, Local0, 0xffffffffffffffff)
+ }
+
+ Store(Or(Derefof(Index(paui, 5)), Local1), Local0)
+ m600(arg0, 30, Local0, 0x321)
+
+ Store(Or(Derefof(Index(paui, 19)), Local1), Local0)
+ m600(arg0, 31, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Store(Or(m601(1, 5), Local1), Local0)
+ m600(arg0, 32, Local0, 0x321)
+
+ Store(Or(m601(1, 19), Local1), Local0)
+ m600(arg0, 33, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(Derefof(m602(1, 5, 1)), Local1), Local0)
+ m600(arg0, 34, Local0, 0x321)
+
+ Store(Or(Derefof(m602(1, 19, 1)), Local1), Local0)
+ m600(arg0, 35, Local0, 0xffffffffffffffff)
+ }
+
+ Or(0, Local1, Local0)
+ m600(arg0, 36, Local0, 0x321)
+
+ Or(0xffffffffffffffff, Local1, Local0)
+ m600(arg0, 37, Local0, 0xffffffffffffffff)
+
+ Or(aui5, Local1, Local0)
+ m600(arg0, 38, Local0, 0x321)
+
+ Or(auij, Local1, Local0)
+ m600(arg0, 39, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Or(Derefof(Refof(aui5)), Local1, Local0)
+ m600(arg0, 40, Local0, 0x321)
+
+ Or(Derefof(Refof(auij)), Local1, Local0)
+ m600(arg0, 41, Local0, 0xffffffffffffffff)
+ }
+
+ Or(Derefof(Index(paui, 5)), Local1, Local0)
+ m600(arg0, 42, Local0, 0x321)
+
+ Or(Derefof(Index(paui, 19)), Local1, Local0)
+ m600(arg0, 43, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Or(m601(1, 5), Local1, Local0)
+ m600(arg0, 44, Local0, 0x321)
+
+ Or(m601(1, 19), Local1, Local0)
+ m600(arg0, 45, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(Derefof(m602(1, 5, 1)), Local1, Local0)
+ m600(arg0, 46, Local0, 0x321)
+
+ Or(Derefof(m602(1, 19, 1)), Local1, Local0)
+ m600(arg0, 47, Local0, 0xffffffffffffffff)
+ }
+ }
+
+ // Or, 64-bit
+ Method(m051, 1)
+ {
+ Store(Buffer(3){0x21, 0x03, 0x00}, Local1)
+ Store(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local2)
+
+ // Conversion of the first operand
+
+ Store(Or(Local2, 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Local2, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xffffffffffffffff)
+
+ Store(Or(Local2, aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Local2, auij), Local0)
+ m600(arg0, 3, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Store(Or(Local2, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Local2, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xffffffffffffffff)
+ }
+
+ Store(Or(Local2, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Local2, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Store(Or(Local2, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Local2, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(Local2, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Local2, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xffffffffffffffff)
+ }
+
+ Or(Local2, 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Or(Local2, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xffffffffffffffff)
+
+ Or(Local2, aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Or(Local2, auij, Local0)
+ m600(arg0, 15, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Or(Local2, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Or(Local2, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xffffffffffffffff)
+ }
+
+ Or(Local2, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Or(Local2, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Or(Local2, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Or(Local2, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(Local2, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Or(Local2, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xffffffffffffffff)
+ }
+
+ // Conversion of the second operand
+
+ Store(Or(0, Local2), Local0)
+ m600(arg0, 24, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(0xffffffffffffffff, Local2), Local0)
+ m600(arg0, 25, Local0, 0xffffffffffffffff)
+
+ Store(Or(aui5, Local2), Local0)
+ m600(arg0, 26, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(auij, Local2), Local0)
+ m600(arg0, 27, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Store(Or(Derefof(Refof(aui5)), Local2), Local0)
+ m600(arg0, 28, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(Refof(auij)), Local2), Local0)
+ m600(arg0, 29, Local0, 0xffffffffffffffff)
+ }
+
+ Store(Or(Derefof(Index(paui, 5)), Local2), Local0)
+ m600(arg0, 30, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(Index(paui, 19)), Local2), Local0)
+ m600(arg0, 31, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Store(Or(m601(1, 5), Local2), Local0)
+ m600(arg0, 32, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(m601(1, 19), Local2), Local0)
+ m600(arg0, 33, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(Derefof(m602(1, 5, 1)), Local2), Local0)
+ m600(arg0, 34, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(m602(1, 19, 1)), Local2), Local0)
+ m600(arg0, 35, Local0, 0xffffffffffffffff)
+ }
+
+ Or(0, Local2, Local0)
+ m600(arg0, 36, Local0, 0xfe7cb391d650a284)
+
+ Or(0xffffffffffffffff, Local2, Local0)
+ m600(arg0, 37, Local0, 0xffffffffffffffff)
+
+ Or(aui5, Local2, Local0)
+ m600(arg0, 38, Local0, 0xfe7cb391d650a284)
+
+ Or(auij, Local2, Local0)
+ m600(arg0, 39, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Or(Derefof(Refof(aui5)), Local2, Local0)
+ m600(arg0, 40, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(Refof(auij)), Local2, Local0)
+ m600(arg0, 41, Local0, 0xffffffffffffffff)
+ }
+
+ Or(Derefof(Index(paui, 5)), Local2, Local0)
+ m600(arg0, 42, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(Index(paui, 19)), Local2, Local0)
+ m600(arg0, 43, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Or(m601(1, 5), Local2, Local0)
+ m600(arg0, 44, Local0, 0xfe7cb391d650a284)
+
+ Or(m601(1, 19), Local2, Local0)
+ m600(arg0, 45, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(Derefof(m602(1, 5, 1)), Local2, Local0)
+ m600(arg0, 46, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(m602(1, 19, 1)), Local2, Local0)
+ m600(arg0, 47, Local0, 0xffffffffffffffff)
+ }
+
+ // Conversion of the both operands
+
+ Store(Or(Local1, Local2), Local0)
+ m600(arg0, 48, Local0, 0xfe7cb391d650a3a5)
+
+ Store(Or(Local2, Local1), Local0)
+ m600(arg0, 49, Local0, 0xfe7cb391d650a3a5)
+
+ Or(Local1, Local2, Local0)
+ m600(arg0, 50, Local0, 0xfe7cb391d650a3a5)
+
+ Or(Local2, Local1, Local0)
+ m600(arg0, 51, Local0, 0xfe7cb391d650a3a5)
+ }
+
+ // Or, 32-bit
+ Method(m052, 1)
+ {
+ Store(Buffer(3){0x21, 0x03, 0x00}, Local1)
+ Store(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local2)
+
+ // Conversion of the first operand
+
+ Store(Or(Local2, 0), Local0)
+ m600(arg0, 0, Local0, 0xd650a284)
+
+ Store(Or(Local2, 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0xffffffff)
+
+ Store(Or(Local2, aui5), Local0)
+ m600(arg0, 2, Local0, 0xd650a284)
+
+ Store(Or(Local2, auii), Local0)
+ m600(arg0, 3, Local0, 0xffffffff)
+
+ if (y078) {
+ Store(Or(Local2, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xd650a284)
+
+ Store(Or(Local2, Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0xffffffff)
+ }
+
+ Store(Or(Local2, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xd650a284)
+
+ Store(Or(Local2, Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0xffffffff)
+
+ // Method returns Integer
+
+ Store(Or(Local2, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xd650a284)
+
+ Store(Or(Local2, m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0xffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(Local2, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xd650a284)
+
+ Store(Or(Local2, Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0xffffffff)
+ }
+
+ Or(Local2, 0, Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ Or(Local2, 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0xffffffff)
+
+ Or(Local2, aui5, Local0)
+ m600(arg0, 14, Local0, 0xd650a284)
+
+ Or(Local2, auii, Local0)
+ m600(arg0, 15, Local0, 0xffffffff)
+
+ if (y078) {
+ Or(Local2, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xd650a284)
+
+ Or(Local2, Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0xffffffff)
+ }
+
+ Or(Local2, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xd650a284)
+
+ Or(Local2, Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0xffffffff)
+
+ // Method returns Integer
+
+ Or(Local2, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xd650a284)
+
+ Or(Local2, m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0xffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(Local2, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xd650a284)
+
+ Or(Local2, Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0xffffffff)
+ }
+
+ // Conversion of the second operand
+
+ Store(Or(0, Local2), Local0)
+ m600(arg0, 24, Local0, 0xd650a284)
+
+ Store(Or(0xffffffff, Local2), Local0)
+ m600(arg0, 25, Local0, 0xffffffff)
+
+ Store(Or(aui5, Local2), Local0)
+ m600(arg0, 26, Local0, 0xd650a284)
+
+ Store(Or(auii, Local2), Local0)
+ m600(arg0, 27, Local0, 0xffffffff)
+
+ if (y078) {
+ Store(Or(Derefof(Refof(aui5)), Local2), Local0)
+ m600(arg0, 28, Local0, 0xd650a284)
+
+ Store(Or(Derefof(Refof(auii)), Local2), Local0)
+ m600(arg0, 29, Local0, 0xffffffff)
+ }
+
+ Store(Or(Derefof(Index(paui, 5)), Local2), Local0)
+ m600(arg0, 30, Local0, 0xd650a284)
+
+ Store(Or(Derefof(Index(paui, 18)), Local2), Local0)
+ m600(arg0, 31, Local0, 0xffffffff)
+
+ // Method returns Integer
+
+ Store(Or(m601(1, 5), Local2), Local0)
+ m600(arg0, 32, Local0, 0xd650a284)
+
+ Store(Or(m601(1, 18), Local2), Local0)
+ m600(arg0, 33, Local0, 0xffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(Derefof(m602(1, 5, 1)), Local2), Local0)
+ m600(arg0, 34, Local0, 0xd650a284)
+
+ Store(Or(Derefof(m602(1, 18, 1)), Local2), Local0)
+ m600(arg0, 35, Local0, 0xffffffff)
+ }
+
+ Or(0, Local2, Local0)
+ m600(arg0, 36, Local0, 0xd650a284)
+
+ Or(0xffffffff, Local2, Local0)
+ m600(arg0, 37, Local0, 0xffffffff)
+
+ Or(aui5, Local2, Local0)
+ m600(arg0, 38, Local0, 0xd650a284)
+
+ Or(auii, Local2, Local0)
+ m600(arg0, 39, Local0, 0xffffffff)
+
+ if (y078) {
+ Or(Derefof(Refof(aui5)), Local2, Local0)
+ m600(arg0, 40, Local0, 0xd650a284)
+
+ Or(Derefof(Refof(auii)), Local2, Local0)
+ m600(arg0, 41, Local0, 0xffffffff)
+ }
+
+ Or(Derefof(Index(paui, 5)), Local2, Local0)
+ m600(arg0, 42, Local0, 0xd650a284)
+
+ Or(Derefof(Index(paui, 18)), Local2, Local0)
+ m600(arg0, 43, Local0, 0xffffffff)
+
+ // Method returns Integer
+
+ Or(m601(1, 5), Local2, Local0)
+ m600(arg0, 44, Local0, 0xd650a284)
+
+ Or(m601(1, 18), Local2, Local0)
+ m600(arg0, 45, Local0, 0xffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(Derefof(m602(1, 5, 1)), Local2, Local0)
+ m600(arg0, 46, Local0, 0xd650a284)
+
+ Or(Derefof(m602(1, 18, 1)), Local2, Local0)
+ m600(arg0, 47, Local0, 0xffffffff)
+ }
+
+ // Conversion of the both operands
+
+ Store(Or(Local1, Local2), Local0)
+ m600(arg0, 48, Local0, 0xd650a3a5)
+
+ Store(Or(Local2, Local1), Local0)
+ m600(arg0, 49, Local0, 0xd650a3a5)
+
+ Or(Local1, Local2, Local0)
+ m600(arg0, 50, Local0, 0xd650a3a5)
+
+ Or(Local2, Local1, Local0)
+ m600(arg0, 51, Local0, 0xd650a3a5)
+ }
+
+ // ShiftLeft, common 32-bit/64-bit test
+ Method(m053, 1)
+ {
+ Store(Buffer(3){0x21, 0x03, 0x00}, Local1)
+ Store(Buffer(1){0xb}, Local2)
+
+ // Conversion of the first operand
+
+ Store(ShiftLeft(Local1, 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(ShiftLeft(Local1, 1), Local0)
+ m600(arg0, 1, Local0, 0x642)
+
+ Store(ShiftLeft(Local1, aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(ShiftLeft(Local1, aui6), Local0)
+ m600(arg0, 3, Local0, 0x642)
+
+ if (y078) {
+ Store(ShiftLeft(Local1, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(ShiftLeft(Local1, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x642)
+ }
+
+ Store(ShiftLeft(Local1, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(ShiftLeft(Local1, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x642)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(Local1, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(ShiftLeft(Local1, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x642)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(Local1, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(ShiftLeft(Local1, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x642)
+ }
+
+ ShiftLeft(Local1, 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ ShiftLeft(Local1, 1, Local0)
+ m600(arg0, 13, Local0, 0x642)
+
+ ShiftLeft(Local1, aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ ShiftLeft(Local1, aui6, Local0)
+ m600(arg0, 15, Local0, 0x642)
+
+ if (y078) {
+ ShiftLeft(Local1, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ ShiftLeft(Local1, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x642)
+ }
+
+ ShiftLeft(Local1, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ ShiftLeft(Local1, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x642)
+
+ // Method returns Integer
+
+ ShiftLeft(Local1, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ ShiftLeft(Local1, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x642)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(Local1, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ ShiftLeft(Local1, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x642)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftLeft(0, Local2), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftLeft(1, Local2), Local0)
+ m600(arg0, 25, Local0, 0x800)
+
+ Store(ShiftLeft(aui5, Local2), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftLeft(aui6, Local2), Local0)
+ m600(arg0, 27, Local0, 0x800)
+
+ if (y078) {
+ Store(ShiftLeft(Derefof(Refof(aui5)), Local2), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Refof(aui6)), Local2), Local0)
+ m600(arg0, 29, Local0, 0x800)
+ }
+
+ Store(ShiftLeft(Derefof(Index(paui, 5)), Local2), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Index(paui, 6)), Local2), Local0)
+ m600(arg0, 31, Local0, 0x800)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(m601(1, 5), Local2), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftLeft(m601(1, 6), Local2), Local0)
+ m600(arg0, 33, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(Derefof(m602(1, 5, 1)), Local2), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftLeft(Derefof(m602(1, 6, 1)), Local2), Local0)
+ m600(arg0, 35, Local0, 0x800)
+ }
+
+ ShiftLeft(0, Local2, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftLeft(1, Local2, Local0)
+ m600(arg0, 37, Local0, 0x800)
+
+ ShiftLeft(aui5, Local2, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftLeft(aui6, Local2, Local0)
+ m600(arg0, 39, Local0, 0x800)
+
+ if (y078) {
+ ShiftLeft(Derefof(Refof(aui5)), Local2, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftLeft(Derefof(Refof(aui6)), Local2, Local0)
+ m600(arg0, 41, Local0, 0x800)
+ }
+
+ ShiftLeft(Derefof(Index(paui, 5)), Local2, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftLeft(Derefof(Index(paui, 6)), Local2, Local0)
+ m600(arg0, 43, Local0, 0x800)
+
+ // Method returns Integer
+
+ ShiftLeft(m601(1, 5), Local2, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftLeft(m601(1, 6), Local2, Local0)
+ m600(arg0, 45, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(Derefof(m602(1, 5, 1)), Local2, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftLeft(Derefof(m602(1, 6, 1)), Local2, Local0)
+ m600(arg0, 47, Local0, 0x800)
+ }
+ }
+
+ // ShiftLeft, 64-bit
+ Method(m054, 1)
+ {
+ Store(Buffer(3){0x21, 0x03, 0x00}, Local1)
+ Store(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local2)
+ Store(Buffer(1){0xb}, Local3)
+
+ // Conversion of the first operand
+
+ Store(ShiftLeft(Local2, 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(Local2, 1), Local0)
+ m600(arg0, 1, Local0, 0xfcf96723aca14508)
+
+ Store(ShiftLeft(Local2, aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(Local2, aui6), Local0)
+ m600(arg0, 3, Local0, 0xfcf96723aca14508)
+
+ if (y078) {
+ Store(ShiftLeft(Local2, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(Local2, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xfcf96723aca14508)
+ }
+
+ Store(ShiftLeft(Local2, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(Local2, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xfcf96723aca14508)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(Local2, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(Local2, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xfcf96723aca14508)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(Local2, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(Local2, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfcf96723aca14508)
+ }
+
+ ShiftLeft(Local2, 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(Local2, 1, Local0)
+ m600(arg0, 13, Local0, 0xfcf96723aca14508)
+
+ ShiftLeft(Local2, aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(Local2, aui6, Local0)
+ m600(arg0, 15, Local0, 0xfcf96723aca14508)
+
+ if (y078) {
+ ShiftLeft(Local2, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(Local2, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xfcf96723aca14508)
+ }
+
+ ShiftLeft(Local2, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(Local2, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xfcf96723aca14508)
+
+ // Method returns Integer
+
+ ShiftLeft(Local2, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(Local2, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xfcf96723aca14508)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(Local2, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(Local2, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfcf96723aca14508)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftLeft(0, Local3), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftLeft(1, Local3), Local0)
+ m600(arg0, 25, Local0, 0x800)
+
+ Store(ShiftLeft(aui5, Local3), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftLeft(aui6, Local3), Local0)
+ m600(arg0, 27, Local0, 0x800)
+
+ if (y078) {
+ Store(ShiftLeft(Derefof(Refof(aui5)), Local3), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Refof(aui6)), Local3), Local0)
+ m600(arg0, 29, Local0, 0x800)
+ }
+
+ Store(ShiftLeft(Derefof(Index(paui, 5)), Local3), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Index(paui, 6)), Local3), Local0)
+ m600(arg0, 31, Local0, 0x800)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(m601(1, 5), Local3), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftLeft(m601(1, 6), Local3), Local0)
+ m600(arg0, 33, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(Derefof(m602(1, 5, 1)), Local3), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftLeft(Derefof(m602(1, 6, 1)), Local3), Local0)
+ m600(arg0, 35, Local0, 0x800)
+ }
+
+ ShiftLeft(0, Local3, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftLeft(1, Local3, Local0)
+ m600(arg0, 37, Local0, 0x800)
+
+ ShiftLeft(aui5, Local3, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftLeft(aui6, Local3, Local0)
+ m600(arg0, 39, Local0, 0x800)
+
+ if (y078) {
+ ShiftLeft(Derefof(Refof(aui5)), Local3, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftLeft(Derefof(Refof(aui6)), Local3, Local0)
+ m600(arg0, 41, Local0, 0x800)
+ }
+
+ ShiftLeft(Derefof(Index(paui, 5)), Local3, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftLeft(Derefof(Index(paui, 6)), Local3, Local0)
+ m600(arg0, 43, Local0, 0x800)
+
+ // Method returns Integer
+
+ ShiftLeft(m601(1, 5), Local3, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftLeft(m601(1, 6), Local3, Local0)
+ m600(arg0, 45, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(Derefof(m602(1, 5, 1)), Local3, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftLeft(Derefof(m602(1, 6, 1)), Local3, Local0)
+ m600(arg0, 47, Local0, 0x800)
+ }
+
+ // Conversion of the both operands
+
+ Store(ShiftLeft(Local1, Local3), Local0)
+ m600(arg0, 48, Local0, 0x190800)
+
+ Store(ShiftLeft(Local2, Local3), Local0)
+ m600(arg0, 49, Local0, 0xE59C8EB285142000)
+
+ ShiftLeft(Local1, Local3, Local0)
+ m600(arg0, 50, Local0, 0x190800)
+
+ ShiftLeft(Local2, Local3, Local0)
+ m600(arg0, 51, Local0, 0xE59C8EB285142000)
+ }
+
+ // ShiftLeft, 32-bit
+ Method(m055, 1)
+ {
+ Store(Buffer(3){0x21, 0x03, 0x00}, Local1)
+ Store(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local2)
+ Store(Buffer(1){0xb}, Local3)
+
+ // Conversion of the first operand
+
+ Store(ShiftLeft(Local2, 0), Local0)
+ m600(arg0, 0, Local0, 0xd650a284)
+
+ Store(ShiftLeft(Local2, 1), Local0)
+ m600(arg0, 1, Local0, 0xaca14508)
+
+ Store(ShiftLeft(Local2, aui5), Local0)
+ m600(arg0, 2, Local0, 0xd650a284)
+
+ Store(ShiftLeft(Local2, aui6), Local0)
+ m600(arg0, 3, Local0, 0xaca14508)
+
+ if (y078) {
+ Store(ShiftLeft(Local2, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xd650a284)
+
+ Store(ShiftLeft(Local2, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xaca14508)
+ }
+
+ Store(ShiftLeft(Local2, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xd650a284)
+
+ Store(ShiftLeft(Local2, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xaca14508)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(Local2, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xd650a284)
+
+ Store(ShiftLeft(Local2, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xaca14508)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(Local2, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xd650a284)
+
+ Store(ShiftLeft(Local2, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xaca14508)
+ }
+
+ ShiftLeft(Local2, 0, Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ ShiftLeft(Local2, 1, Local0)
+ m600(arg0, 13, Local0, 0xaca14508)
+
+ ShiftLeft(Local2, aui5, Local0)
+ m600(arg0, 14, Local0, 0xd650a284)
+
+ ShiftLeft(Local2, aui6, Local0)
+ m600(arg0, 15, Local0, 0xaca14508)
+
+ if (y078) {
+ ShiftLeft(Local2, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xd650a284)
+
+ ShiftLeft(Local2, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xaca14508)
+ }
+
+ ShiftLeft(Local2, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xd650a284)
+
+ ShiftLeft(Local2, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xaca14508)
+
+ // Method returns Integer
+
+ ShiftLeft(Local2, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xd650a284)
+
+ ShiftLeft(Local2, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xaca14508)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(Local2, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xd650a284)
+
+ ShiftLeft(Local2, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xaca14508)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftLeft(0, Local3), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftLeft(1, Local3), Local0)
+ m600(arg0, 25, Local0, 0x800)
+
+ Store(ShiftLeft(aui5, Local3), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftLeft(aui6, Local3), Local0)
+ m600(arg0, 27, Local0, 0x800)
+
+ if (y078) {
+ Store(ShiftLeft(Derefof(Refof(aui5)), Local3), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Refof(aui6)), Local3), Local0)
+ m600(arg0, 29, Local0, 0x800)
+ }
+
+ Store(ShiftLeft(Derefof(Index(paui, 5)), Local3), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Index(paui, 6)), Local3), Local0)
+ m600(arg0, 31, Local0, 0x800)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(m601(1, 5), Local3), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftLeft(m601(1, 6), Local3), Local0)
+ m600(arg0, 33, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(Derefof(m602(1, 5, 1)), Local3), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftLeft(Derefof(m602(1, 6, 1)), Local3), Local0)
+ m600(arg0, 35, Local0, 0x800)
+ }
+
+ ShiftLeft(0, Local3, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftLeft(1, Local3, Local0)
+ m600(arg0, 37, Local0, 0x800)
+
+ ShiftLeft(aui5, Local3, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftLeft(aui6, Local3, Local0)
+ m600(arg0, 39, Local0, 0x800)
+
+ if (y078) {
+ ShiftLeft(Derefof(Refof(aui5)), Local3, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftLeft(Derefof(Refof(aui6)), Local3, Local0)
+ m600(arg0, 41, Local0, 0x800)
+ }
+
+ ShiftLeft(Derefof(Index(paui, 5)), Local3, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftLeft(Derefof(Index(paui, 6)), Local3, Local0)
+ m600(arg0, 43, Local0, 0x800)
+
+ // Method returns Integer
+
+ ShiftLeft(m601(1, 5), Local3, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftLeft(m601(1, 6), Local3, Local0)
+ m600(arg0, 45, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(Derefof(m602(1, 5, 1)), Local3, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftLeft(Derefof(m602(1, 6, 1)), Local3, Local0)
+ m600(arg0, 47, Local0, 0x800)
+ }
+
+ // Conversion of the both operands
+
+ Store(ShiftLeft(Local1, Local3), Local0)
+ m600(arg0, 48, Local0, 0x190800)
+
+ Store(ShiftLeft(Local2, Local3), Local0)
+ m600(arg0, 49, Local0, 0x85142000)
+
+ ShiftLeft(Local1, Local3, Local0)
+ m600(arg0, 50, Local0, 0x190800)
+
+ ShiftLeft(Local2, Local3, Local0)
+ m600(arg0, 51, Local0, 0x85142000)
+ }
+
+ // ShiftRight, common 32-bit/64-bit test
+ Method(m056, 1)
+ {
+ Store(Buffer(3){0x21, 0x03, 0x00}, Local1)
+ Store(Buffer(1){0xb}, Local2)
+
+ // Conversion of the first operand
+
+ Store(ShiftRight(Local1, 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(ShiftRight(Local1, 1), Local0)
+ m600(arg0, 1, Local0, 0x190)
+
+ Store(ShiftRight(Local1, aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(ShiftRight(Local1, aui6), Local0)
+ m600(arg0, 3, Local0, 0x190)
+
+ if (y078) {
+ Store(ShiftRight(Local1, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(ShiftRight(Local1, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x190)
+ }
+
+ Store(ShiftRight(Local1, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(ShiftRight(Local1, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x190)
+
+ // Method returns Integer
+
+ Store(ShiftRight(Local1, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(ShiftRight(Local1, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x190)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(Local1, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(ShiftRight(Local1, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x190)
+ }
+
+ ShiftRight(Local1, 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ ShiftRight(Local1, 1, Local0)
+ m600(arg0, 13, Local0, 0x190)
+
+ ShiftRight(Local1, aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ ShiftRight(Local1, aui6, Local0)
+ m600(arg0, 15, Local0, 0x190)
+
+ if (y078) {
+ ShiftRight(Local1, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ ShiftRight(Local1, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x190)
+ }
+
+ ShiftRight(Local1, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ ShiftRight(Local1, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x190)
+
+ // Method returns Integer
+
+ ShiftRight(Local1, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ ShiftRight(Local1, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x190)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(Local1, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ ShiftRight(Local1, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x190)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftRight(0x321, Local2), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftRight(0xd650a284, Local2), Local0)
+ m600(arg0, 25, Local0, 0x1aca14)
+
+ Store(ShiftRight(aui1, Local2), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftRight(auik, Local2), Local0)
+ m600(arg0, 27, Local0, 0x1aca14)
+
+ if (y078) {
+ Store(ShiftRight(Derefof(Refof(aui1)), Local2), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftRight(Derefof(Refof(auik)), Local2), Local0)
+ m600(arg0, 29, Local0, 0x1aca14)
+ }
+
+ Store(ShiftRight(Derefof(Index(paui, 1)), Local2), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftRight(Derefof(Index(paui, 20)), Local2), Local0)
+ m600(arg0, 31, Local0, 0x1aca14)
+
+ // Method returns Integer
+
+ Store(ShiftRight(m601(1, 1), Local2), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftRight(m601(1, 20), Local2), Local0)
+ m600(arg0, 33, Local0, 0x1aca14)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(Derefof(m602(1, 1, 1)), Local2), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftRight(Derefof(m602(1, 20, 1)), Local2), Local0)
+ m600(arg0, 35, Local0, 0x1aca14)
+ }
+
+ ShiftRight(0x321, Local2, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftRight(0xd650a284, Local2, Local0)
+ m600(arg0, 37, Local0, 0x1aca14)
+
+ ShiftRight(aui1, Local2, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftRight(auik, Local2, Local0)
+ m600(arg0, 39, Local0, 0x1aca14)
+
+ if (y078) {
+ ShiftRight(Derefof(Refof(aui1)), Local2, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftRight(Derefof(Refof(auik)), Local2, Local0)
+ m600(arg0, 41, Local0, 0x1aca14)
+ }
+
+ ShiftRight(Derefof(Index(paui, 1)), Local2, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftRight(Derefof(Index(paui, 20)), Local2, Local0)
+ m600(arg0, 43, Local0, 0x1aca14)
+
+ // Method returns Integer
+
+ ShiftRight(m601(1, 1), Local2, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftRight(m601(1, 20), Local2, Local0)
+ m600(arg0, 45, Local0, 0x1aca14)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(Derefof(m602(1, 1, 1)), Local2, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftRight(Derefof(m602(1, 20, 1)), Local2, Local0)
+ m600(arg0, 47, Local0, 0x1aca14)
+ }
+ }
+
+ // ShiftRight, 64-bit
+ Method(m057, 1)
+ {
+ Store(Buffer(3){0x21, 0x03, 0x00}, Local1)
+ Store(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local2)
+ Store(Buffer(1){0xb}, Local3)
+
+ // Conversion of the first operand
+
+ Store(ShiftRight(Local2, 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(Local2, 1), Local0)
+ m600(arg0, 1, Local0, 0x7f3e59c8eb285142)
+
+ Store(ShiftRight(Local2, aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(Local2, aui6), Local0)
+ m600(arg0, 3, Local0, 0x7f3e59c8eb285142)
+
+ if (y078) {
+ Store(ShiftRight(Local2, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(Local2, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x7f3e59c8eb285142)
+ }
+
+ Store(ShiftRight(Local2, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(Local2, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x7f3e59c8eb285142)
+
+ // Method returns Integer
+
+ Store(ShiftRight(Local2, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(Local2, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x7f3e59c8eb285142)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(Local2, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(Local2, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x7f3e59c8eb285142)
+ }
+
+ ShiftRight(Local2, 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(Local2, 1, Local0)
+ m600(arg0, 13, Local0, 0x7f3e59c8eb285142)
+
+ ShiftRight(Local2, aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(Local2, aui6, Local0)
+ m600(arg0, 15, Local0, 0x7f3e59c8eb285142)
+
+ if (y078) {
+ ShiftRight(Local2, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(Local2, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x7f3e59c8eb285142)
+ }
+
+ ShiftRight(Local2, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(Local2, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x7f3e59c8eb285142)
+
+ // Method returns Integer
+
+ ShiftRight(Local2, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(Local2, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x7f3e59c8eb285142)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(Local2, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(Local2, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x7f3e59c8eb285142)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftRight(0x321, Local3), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftRight(0xfe7cb391d650a284, Local3), Local0)
+ m600(arg0, 25, Local0, 0x1fcf96723aca14)
+
+ Store(ShiftRight(aui1, Local3), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftRight(aui4, Local3), Local0)
+ m600(arg0, 27, Local0, 0x1fcf96723aca14)
+
+ if (y078) {
+ Store(ShiftRight(Derefof(Refof(aui1)), Local3), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftRight(Derefof(Refof(aui4)), Local3), Local0)
+ m600(arg0, 29, Local0, 0x1fcf96723aca14)
+ }
+
+ Store(ShiftRight(Derefof(Index(paui, 1)), Local3), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftRight(Derefof(Index(paui, 4)), Local3), Local0)
+ m600(arg0, 31, Local0, 0x1fcf96723aca14)
+
+ // Method returns Integer
+
+ Store(ShiftRight(m601(1, 1), Local3), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftRight(m601(1, 4), Local3), Local0)
+ m600(arg0, 33, Local0, 0x1fcf96723aca14)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(Derefof(m602(1, 1, 1)), Local3), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftRight(Derefof(m602(1, 4, 1)), Local3), Local0)
+ m600(arg0, 35, Local0, 0x1fcf96723aca14)
+ }
+
+ ShiftRight(0x321, Local3, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftRight(0xfe7cb391d650a284, Local3, Local0)
+ m600(arg0, 37, Local0, 0x1fcf96723aca14)
+
+ ShiftRight(aui1, Local3, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftRight(aui4, Local3, Local0)
+ m600(arg0, 39, Local0, 0x1fcf96723aca14)
+
+ if (y078) {
+ ShiftRight(Derefof(Refof(aui1)), Local3, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftRight(Derefof(Refof(aui4)), Local3, Local0)
+ m600(arg0, 41, Local0, 0x1fcf96723aca14)
+ }
+
+ ShiftRight(Derefof(Index(paui, 1)), Local3, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftRight(Derefof(Index(paui, 4)), Local3, Local0)
+ m600(arg0, 43, Local0, 0x1fcf96723aca14)
+
+ // Method returns Integer
+
+ ShiftRight(m601(1, 1), Local3, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftRight(m601(1, 4), Local3, Local0)
+ m600(arg0, 45, Local0, 0x1fcf96723aca14)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(Derefof(m602(1, 1, 1)), Local3, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftRight(Derefof(m602(1, 4, 1)), Local3, Local0)
+ m600(arg0, 47, Local0, 0x1fcf96723aca14)
+ }
+
+ // Conversion of the both operands
+
+ Store(ShiftRight(Local1, Local3), Local0)
+ m600(arg0, 48, Local0, 0)
+
+ Store(ShiftRight(Local2, Local3), Local0)
+ m600(arg0, 49, Local0, 0x1fcf96723aca14)
+
+ ShiftRight(Local1, Local3, Local0)
+ m600(arg0, 50, Local0, 0)
+
+ ShiftRight(Local2, Local3, Local0)
+ m600(arg0, 51, Local0, 0x1fcf96723aca14)
+ }
+
+ // ShiftRight, 32-bit
+ Method(m058, 1)
+ {
+ Store(Buffer(3){0x21, 0x03, 0x00}, Local1)
+ Store(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local2)
+ Store(Buffer(1){0xb}, Local3)
+
+ // Conversion of the first operand
+
+ Store(ShiftRight(Local2, 0), Local0)
+ m600(arg0, 0, Local0, 0xd650a284)
+
+ Store(ShiftRight(Local2, 1), Local0)
+ m600(arg0, 1, Local0, 0x6b285142)
+
+ Store(ShiftRight(Local2, aui5), Local0)
+ m600(arg0, 2, Local0, 0xd650a284)
+
+ Store(ShiftRight(Local2, aui6), Local0)
+ m600(arg0, 3, Local0, 0x6b285142)
+
+ if (y078) {
+ Store(ShiftRight(Local2, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xd650a284)
+
+ Store(ShiftRight(Local2, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x6b285142)
+ }
+
+ Store(ShiftRight(Local2, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xd650a284)
+
+ Store(ShiftRight(Local2, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x6b285142)
+
+ // Method returns Integer
+
+ Store(ShiftRight(Local2, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xd650a284)
+
+ Store(ShiftRight(Local2, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x6b285142)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(Local2, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xd650a284)
+
+ Store(ShiftRight(Local2, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x6b285142)
+ }
+
+ ShiftRight(Local2, 0, Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ ShiftRight(Local2, 1, Local0)
+ m600(arg0, 13, Local0, 0x6b285142)
+
+ ShiftRight(Local2, aui5, Local0)
+ m600(arg0, 14, Local0, 0xd650a284)
+
+ ShiftRight(Local2, aui6, Local0)
+ m600(arg0, 15, Local0, 0x6b285142)
+
+ if (y078) {
+ ShiftRight(Local2, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xd650a284)
+
+ ShiftRight(Local2, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x6b285142)
+ }
+
+ ShiftRight(Local2, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xd650a284)
+
+ ShiftRight(Local2, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x6b285142)
+
+ // Method returns Integer
+
+ ShiftRight(Local2, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xd650a284)
+
+ ShiftRight(Local2, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x6b285142)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(Local2, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xd650a284)
+
+ ShiftRight(Local2, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x6b285142)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftRight(0x321, Local3), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftRight(0xd650a284, Local3), Local0)
+ m600(arg0, 25, Local0, 0x1aca14)
+
+ Store(ShiftRight(aui1, Local3), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftRight(auik, Local3), Local0)
+ m600(arg0, 27, Local0, 0x1aca14)
+
+ if (y078) {
+ Store(ShiftRight(Derefof(Refof(aui1)), Local3), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftRight(Derefof(Refof(auik)), Local3), Local0)
+ m600(arg0, 29, Local0, 0x1aca14)
+ }
+
+ Store(ShiftRight(Derefof(Index(paui, 1)), Local3), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftRight(Derefof(Index(paui, 20)), Local3), Local0)
+ m600(arg0, 31, Local0, 0x1aca14)
+
+ // Method returns Integer
+
+ Store(ShiftRight(m601(1, 1), Local3), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftRight(m601(1, 20), Local3), Local0)
+ m600(arg0, 33, Local0, 0x1aca14)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(Derefof(m602(1, 1, 1)), Local3), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftRight(Derefof(m602(1, 20, 1)), Local3), Local0)
+ m600(arg0, 35, Local0, 0x1aca14)
+ }
+
+ ShiftRight(0x321, Local3, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftRight(0xd650a284, Local3, Local0)
+ m600(arg0, 37, Local0, 0x1aca14)
+
+ ShiftRight(aui1, Local3, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftRight(auik, Local3, Local0)
+ m600(arg0, 39, Local0, 0x1aca14)
+
+ if (y078) {
+ ShiftRight(Derefof(Refof(aui1)), Local3, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftRight(Derefof(Refof(auik)), Local3, Local0)
+ m600(arg0, 41, Local0, 0x1aca14)
+ }
+
+ ShiftRight(Derefof(Index(paui, 1)), Local3, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftRight(Derefof(Index(paui, 20)), Local3, Local0)
+ m600(arg0, 43, Local0, 0x1aca14)
+
+ // Method returns Integer
+
+ ShiftRight(m601(1, 1), Local3, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftRight(m601(1, 20), Local3, Local0)
+ m600(arg0, 45, Local0, 0x1aca14)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(Derefof(m602(1, 1, 1)), Local3, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftRight(Derefof(m602(1, 20, 1)), Local3, Local0)
+ m600(arg0, 47, Local0, 0x1aca14)
+ }
+
+ // Conversion of the both operands
+
+ Store(ShiftRight(Local1, Local3), Local0)
+ m600(arg0, 48, Local0, 0)
+
+ Store(ShiftRight(Local2, Local3), Local0)
+ m600(arg0, 49, Local0, 0x1aca14)
+
+ ShiftRight(Local1, Local3, Local0)
+ m600(arg0, 50, Local0, 0)
+
+ ShiftRight(Local2, Local3, Local0)
+ m600(arg0, 51, Local0, 0x1aca14)
+ }
+
+ // Subtract, common 32-bit/64-bit test
+ Method(m059, 1)
+ {
+ Store(Buffer(3){0x21, 0x03, 0x00}, Local1)
+
+ // Conversion of the first operand
+
+ Store(Subtract(Local1, 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Subtract(Local1, 1), Local0)
+ m600(arg0, 1, Local0, 0x320)
+
+ Store(Subtract(Local1, aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Subtract(Local1, aui6), Local0)
+ m600(arg0, 3, Local0, 0x320)
+
+ if (y078) {
+ Store(Subtract(Local1, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Subtract(Local1, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x320)
+ }
+
+ Store(Subtract(Local1, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Subtract(Local1, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x320)
+
+ // Method returns Integer
+
+ Store(Subtract(Local1, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Subtract(Local1, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x320)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(Local1, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Subtract(Local1, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x320)
+ }
+
+ Subtract(Local1, 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Subtract(Local1, 1, Local0)
+ m600(arg0, 13, Local0, 0x320)
+
+ Subtract(Local1, aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Subtract(Local1, aui6, Local0)
+ m600(arg0, 15, Local0, 0x320)
+
+ if (y078) {
+ Subtract(Local1, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Subtract(Local1, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x320)
+ }
+
+ Subtract(Local1, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Subtract(Local1, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x320)
+
+ // Method returns Integer
+
+ Subtract(Local1, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Subtract(Local1, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x320)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(Local1, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Subtract(Local1, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x320)
+ }
+
+ // Conversion of the second operand
+
+ Store(Subtract(0, Local1), Local0)
+ m600(arg0, 24, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(1, Local1), Local0)
+ m600(arg0, 25, Local0, 0xfffffffffffffce0)
+
+ Store(Subtract(aui5, Local1), Local0)
+ m600(arg0, 26, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(aui6, Local1), Local0)
+ m600(arg0, 27, Local0, 0xfffffffffffffce0)
+
+ if (y078) {
+ Store(Subtract(Derefof(Refof(aui5)), Local1), Local0)
+ m600(arg0, 28, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(Derefof(Refof(aui6)), Local1), Local0)
+ m600(arg0, 29, Local0, 0xfffffffffffffce0)
+ }
+
+ Store(Subtract(Derefof(Index(paui, 5)), Local1), Local0)
+ m600(arg0, 30, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(Derefof(Index(paui, 6)), Local1), Local0)
+ m600(arg0, 31, Local0, 0xfffffffffffffce0)
+
+ // Method returns Integer
+
+ Store(Subtract(m601(1, 5), Local1), Local0)
+ m600(arg0, 32, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(m601(1, 6), Local1), Local0)
+ m600(arg0, 33, Local0, 0xfffffffffffffce0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(Derefof(m602(1, 5, 1)), Local1), Local0)
+ m600(arg0, 34, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(Derefof(m602(1, 6, 1)), Local1), Local0)
+ m600(arg0, 35, Local0, 0xfffffffffffffce0)
+ }
+
+ Subtract(0, Local1, Local0)
+ m600(arg0, 36, Local0, 0xfffffffffffffcdf)
+
+ Subtract(1, Local1, Local0)
+ m600(arg0, 37, Local0, 0xfffffffffffffce0)
+
+ Subtract(aui5, Local1, Local0)
+ m600(arg0, 38, Local0, 0xfffffffffffffcdf)
+
+ Subtract(aui6, Local1, Local0)
+ m600(arg0, 39, Local0, 0xfffffffffffffce0)
+
+ if (y078) {
+ Subtract(Derefof(Refof(aui5)), Local1, Local0)
+ m600(arg0, 40, Local0, 0xfffffffffffffcdf)
+
+ Subtract(Derefof(Refof(aui6)), Local1, Local0)
+ m600(arg0, 41, Local0, 0xfffffffffffffce0)
+ }
+
+ Subtract(Derefof(Index(paui, 5)), Local1, Local0)
+ m600(arg0, 42, Local0, 0xfffffffffffffcdf)
+
+ Subtract(Derefof(Index(paui, 6)), Local1, Local0)
+ m600(arg0, 43, Local0, 0xfffffffffffffce0)
+
+ // Method returns Integer
+
+ Subtract(m601(1, 5), Local1, Local0)
+ m600(arg0, 44, Local0, 0xfffffffffffffcdf)
+
+ Subtract(m601(1, 6), Local1, Local0)
+ m600(arg0, 45, Local0, 0xfffffffffffffce0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(Derefof(m602(1, 5, 1)), Local1, Local0)
+ m600(arg0, 46, Local0, 0xfffffffffffffcdf)
+
+ Subtract(Derefof(m602(1, 6, 1)), Local1, Local0)
+ m600(arg0, 47, Local0, 0xfffffffffffffce0)
+ }
+ }
+
+ // Subtract, 64-bit
+ Method(m05a, 1)
+ {
+ Store(Buffer(3){0x21, 0x03, 0x00}, Local1)
+ Store(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local2)
+
+ // Conversion of the first operand
+
+ Store(Subtract(Local2, 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(Local2, 1), Local0)
+ m600(arg0, 1, Local0, 0xfe7cb391d650a283)
+
+ Store(Subtract(Local2, aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(Local2, aui6), Local0)
+ m600(arg0, 3, Local0, 0xfe7cb391d650a283)
+
+ if (y078) {
+ Store(Subtract(Local2, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(Local2, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xfe7cb391d650a283)
+ }
+
+ Store(Subtract(Local2, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(Local2, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Integer
+
+ Store(Subtract(Local2, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(Local2, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(Local2, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(Local2, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfe7cb391d650a283)
+ }
+
+ Subtract(Local2, 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Subtract(Local2, 1, Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a283)
+
+ Subtract(Local2, aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Subtract(Local2, aui6, Local0)
+ m600(arg0, 15, Local0, 0xfe7cb391d650a283)
+
+ if (y078) {
+ Subtract(Local2, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Subtract(Local2, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xfe7cb391d650a283)
+ }
+
+ Subtract(Local2, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Subtract(Local2, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Integer
+
+ Subtract(Local2, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Subtract(Local2, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(Local2, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Subtract(Local2, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfe7cb391d650a283)
+ }
+
+ // Conversion of the second operand
+
+ Store(Subtract(0, Local2), Local0)
+ m600(arg0, 24, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(1, Local2), Local0)
+ m600(arg0, 25, Local0, 0x01834c6e29af5d7d)
+
+ Store(Subtract(aui5, Local2), Local0)
+ m600(arg0, 26, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(aui6, Local2), Local0)
+ m600(arg0, 27, Local0, 0x01834c6e29af5d7d)
+
+ if (y078) {
+ Store(Subtract(Derefof(Refof(aui5)), Local2), Local0)
+ m600(arg0, 28, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(Derefof(Refof(aui6)), Local2), Local0)
+ m600(arg0, 29, Local0, 0x01834c6e29af5d7d)
+ }
+
+ Store(Subtract(Derefof(Index(paui, 5)), Local2), Local0)
+ m600(arg0, 30, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(Derefof(Index(paui, 6)), Local2), Local0)
+ m600(arg0, 31, Local0, 0x01834c6e29af5d7d)
+
+ // Method returns Integer
+
+ Store(Subtract(m601(1, 5), Local2), Local0)
+ m600(arg0, 32, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(m601(1, 6), Local2), Local0)
+ m600(arg0, 33, Local0, 0x01834c6e29af5d7d)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(Derefof(m602(1, 5, 1)), Local2), Local0)
+ m600(arg0, 34, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(Derefof(m602(1, 6, 1)), Local2), Local0)
+ m600(arg0, 35, Local0, 0x01834c6e29af5d7d)
+ }
+
+ Subtract(0, Local2, Local0)
+ m600(arg0, 36, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(1, Local2, Local0)
+ m600(arg0, 37, Local0, 0x01834c6e29af5d7d)
+
+ Subtract(aui5, Local2, Local0)
+ m600(arg0, 38, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(aui6, Local2, Local0)
+ m600(arg0, 39, Local0, 0x01834c6e29af5d7d)
+
+ if (y078) {
+ Subtract(Derefof(Refof(aui5)), Local2, Local0)
+ m600(arg0, 40, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(Derefof(Refof(aui6)), Local2, Local0)
+ m600(arg0, 41, Local0, 0x01834c6e29af5d7d)
+ }
+
+ Subtract(Derefof(Index(paui, 5)), Local2, Local0)
+ m600(arg0, 42, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(Derefof(Index(paui, 6)), Local2, Local0)
+ m600(arg0, 43, Local0, 0x01834c6e29af5d7d)
+
+ // Method returns Integer
+
+ Subtract(m601(1, 5), Local2, Local0)
+ m600(arg0, 44, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(m601(1, 6), Local2, Local0)
+ m600(arg0, 45, Local0, 0x01834c6e29af5d7d)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(Derefof(m602(1, 5, 1)), Local2, Local0)
+ m600(arg0, 46, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(Derefof(m602(1, 6, 1)), Local2, Local0)
+ m600(arg0, 47, Local0, 0x01834c6e29af5d7d)
+ }
+
+ // Conversion of the both operands
+
+ Store(Subtract(Local1, Local2), Local0)
+ m600(arg0, 48, Local0, 0x01834c6e29af609d)
+
+ Store(Subtract(Local2, Local1), Local0)
+ m600(arg0, 49, Local0, 0xfe7cb391d6509f63)
+
+ Subtract(Local1, Local2, Local0)
+ m600(arg0, 50, Local0, 0x01834c6e29af609d)
+
+ Subtract(Local2, Local1, Local0)
+ m600(arg0, 51, Local0, 0xfe7cb391d6509f63)
+ }
+
+ // Subtract, 32-bit
+ Method(m05b, 1)
+ {
+ Store(Buffer(3){0x21, 0x03, 0x00}, Local1)
+ Store(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local2)
+
+ // Conversion of the first operand
+
+ Store(Subtract(Local2, 0), Local0)
+ m600(arg0, 0, Local0, 0xd650a284)
+
+ Store(Subtract(Local2, 1), Local0)
+ m600(arg0, 1, Local0, 0xd650a283)
+
+ Store(Subtract(Local2, aui5), Local0)
+ m600(arg0, 2, Local0, 0xd650a284)
+
+ Store(Subtract(Local2, aui6), Local0)
+ m600(arg0, 3, Local0, 0xd650a283)
+
+ if (y078) {
+ Store(Subtract(Local2, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xd650a284)
+
+ Store(Subtract(Local2, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xd650a283)
+ }
+
+ Store(Subtract(Local2, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xd650a284)
+
+ Store(Subtract(Local2, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xd650a283)
+
+ // Method returns Integer
+
+ Store(Subtract(Local2, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xd650a284)
+
+ Store(Subtract(Local2, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xd650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(Local2, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xd650a284)
+
+ Store(Subtract(Local2, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xd650a283)
+ }
+
+ Subtract(Local2, 0, Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ Subtract(Local2, 1, Local0)
+ m600(arg0, 13, Local0, 0xd650a283)
+
+ Subtract(Local2, aui5, Local0)
+ m600(arg0, 14, Local0, 0xd650a284)
+
+ Subtract(Local2, aui6, Local0)
+ m600(arg0, 15, Local0, 0xd650a283)
+
+ if (y078) {
+ Subtract(Local2, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xd650a284)
+
+ Subtract(Local2, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xd650a283)
+ }
+
+ Subtract(Local2, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xd650a284)
+
+ Subtract(Local2, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xd650a283)
+
+ // Method returns Integer
+
+ Subtract(Local2, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xd650a284)
+
+ Subtract(Local2, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xd650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(Local2, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xd650a284)
+
+ Subtract(Local2, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xd650a283)
+ }
+
+ // Conversion of the second operand
+
+ Store(Subtract(0, Local2), Local0)
+ m600(arg0, 24, Local0, 0x29af5d7c)
+
+ Store(Subtract(1, Local2), Local0)
+ m600(arg0, 25, Local0, 0x29af5d7d)
+
+ Store(Subtract(aui5, Local2), Local0)
+ m600(arg0, 26, Local0, 0x29af5d7c)
+
+ Store(Subtract(aui6, Local2), Local0)
+ m600(arg0, 27, Local0, 0x29af5d7d)
+
+ if (y078) {
+ Store(Subtract(Derefof(Refof(aui5)), Local2), Local0)
+ m600(arg0, 28, Local0, 0x29af5d7c)
+
+ Store(Subtract(Derefof(Refof(aui6)), Local2), Local0)
+ m600(arg0, 29, Local0, 0x29af5d7d)
+ }
+
+ Store(Subtract(Derefof(Index(paui, 5)), Local2), Local0)
+ m600(arg0, 30, Local0, 0x29af5d7c)
+
+ Store(Subtract(Derefof(Index(paui, 6)), Local2), Local0)
+ m600(arg0, 31, Local0, 0x29af5d7d)
+
+ // Method returns Integer
+
+ Store(Subtract(m601(1, 5), Local2), Local0)
+ m600(arg0, 32, Local0, 0x29af5d7c)
+
+ Store(Subtract(m601(1, 6), Local2), Local0)
+ m600(arg0, 33, Local0, 0x29af5d7d)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(Derefof(m602(1, 5, 1)), Local2), Local0)
+ m600(arg0, 34, Local0, 0x29af5d7c)
+
+ Store(Subtract(Derefof(m602(1, 6, 1)), Local2), Local0)
+ m600(arg0, 35, Local0, 0x29af5d7d)
+ }
+
+ Subtract(0, Local2, Local0)
+ m600(arg0, 36, Local0, 0x29af5d7c)
+
+ Subtract(1, Local2, Local0)
+ m600(arg0, 37, Local0, 0x29af5d7d)
+
+ Subtract(aui5, Local2, Local0)
+ m600(arg0, 38, Local0, 0x29af5d7c)
+
+ Subtract(aui6, Local2, Local0)
+ m600(arg0, 39, Local0, 0x29af5d7d)
+
+ if (y078) {
+ Subtract(Derefof(Refof(aui5)), Local2, Local0)
+ m600(arg0, 40, Local0, 0x29af5d7c)
+
+ Subtract(Derefof(Refof(aui6)), Local2, Local0)
+ m600(arg0, 41, Local0, 0x29af5d7d)
+ }
+
+ Subtract(Derefof(Index(paui, 5)), Local2, Local0)
+ m600(arg0, 42, Local0, 0x29af5d7c)
+
+ Subtract(Derefof(Index(paui, 6)), Local2, Local0)
+ m600(arg0, 43, Local0, 0x29af5d7d)
+
+ // Method returns Integer
+
+ Subtract(m601(1, 5), Local2, Local0)
+ m600(arg0, 44, Local0, 0x29af5d7c)
+
+ Subtract(m601(1, 6), Local2, Local0)
+ m600(arg0, 45, Local0, 0x29af5d7d)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(Derefof(m602(1, 5, 1)), Local2, Local0)
+ m600(arg0, 46, Local0, 0x29af5d7c)
+
+ Subtract(Derefof(m602(1, 6, 1)), Local2, Local0)
+ m600(arg0, 47, Local0, 0x29af5d7d)
+ }
+
+ // Conversion of the both operands
+
+ Store(Subtract(Local1, Local2), Local0)
+ m600(arg0, 48, Local0, 0x29af609d)
+
+ Store(Subtract(Local2, Local1), Local0)
+ m600(arg0, 49, Local0, 0xd6509f63)
+
+ Subtract(Local1, Local2, Local0)
+ m600(arg0, 50, Local0, 0x29af609d)
+
+ Subtract(Local2, Local1, Local0)
+ m600(arg0, 51, Local0, 0xd6509f63)
+ }
+
+ // XOr, common 32-bit/64-bit test
+ Method(m05c, 1)
+ {
+ Store(Buffer(3){0x21, 0x03, 0x00}, Local1)
+
+ // Conversion of the first operand
+
+ Store(XOr(Local1, 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(XOr(Local1, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xfffffffffffffcde)
+
+ Store(XOr(Local1, aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(XOr(Local1, auij), Local0)
+ m600(arg0, 3, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ Store(XOr(Local1, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(XOr(Local1, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xfffffffffffffcde)
+ }
+
+ Store(XOr(Local1, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(XOr(Local1, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ Store(XOr(Local1, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(XOr(Local1, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(Local1, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(XOr(Local1, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfffffffffffffcde)
+ }
+
+ XOr(Local1, 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ XOr(Local1, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xfffffffffffffcde)
+
+ XOr(Local1, aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ XOr(Local1, auij, Local0)
+ m600(arg0, 15, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ XOr(Local1, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ XOr(Local1, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xfffffffffffffcde)
+ }
+
+ XOr(Local1, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ XOr(Local1, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ XOr(Local1, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ XOr(Local1, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(Local1, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ XOr(Local1, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfffffffffffffcde)
+ }
+
+ // Conversion of the second operand
+
+ Store(XOr(0, Local1), Local0)
+ m600(arg0, 24, Local0, 0x321)
+
+ Store(XOr(0xffffffffffffffff, Local1), Local0)
+ m600(arg0, 25, Local0, 0xfffffffffffffcde)
+
+ Store(XOr(aui5, Local1), Local0)
+ m600(arg0, 26, Local0, 0x321)
+
+ Store(XOr(auij, Local1), Local0)
+ m600(arg0, 27, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ Store(XOr(Derefof(Refof(aui5)), Local1), Local0)
+ m600(arg0, 28, Local0, 0x321)
+
+ Store(XOr(Derefof(Refof(auij)), Local1), Local0)
+ m600(arg0, 29, Local0, 0xfffffffffffffcde)
+ }
+
+ Store(XOr(Derefof(Index(paui, 5)), Local1), Local0)
+ m600(arg0, 30, Local0, 0x321)
+
+ Store(XOr(Derefof(Index(paui, 19)), Local1), Local0)
+ m600(arg0, 31, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ Store(XOr(m601(1, 5), Local1), Local0)
+ m600(arg0, 32, Local0, 0x321)
+
+ Store(XOr(m601(1, 19), Local1), Local0)
+ m600(arg0, 33, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(Derefof(m602(1, 5, 1)), Local1), Local0)
+ m600(arg0, 34, Local0, 0x321)
+
+ Store(XOr(Derefof(m602(1, 19, 1)), Local1), Local0)
+ m600(arg0, 35, Local0, 0xfffffffffffffcde)
+ }
+
+ XOr(0, Local1, Local0)
+ m600(arg0, 36, Local0, 0x321)
+
+ XOr(0xffffffffffffffff, Local1, Local0)
+ m600(arg0, 37, Local0, 0xfffffffffffffcde)
+
+ XOr(aui5, Local1, Local0)
+ m600(arg0, 38, Local0, 0x321)
+
+ XOr(auij, Local1, Local0)
+ m600(arg0, 39, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ XOr(Derefof(Refof(aui5)), Local1, Local0)
+ m600(arg0, 40, Local0, 0x321)
+
+ XOr(Derefof(Refof(auij)), Local1, Local0)
+ m600(arg0, 41, Local0, 0xfffffffffffffcde)
+ }
+
+ XOr(Derefof(Index(paui, 5)), Local1, Local0)
+ m600(arg0, 42, Local0, 0x321)
+
+ XOr(Derefof(Index(paui, 19)), Local1, Local0)
+ m600(arg0, 43, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ XOr(m601(1, 5), Local1, Local0)
+ m600(arg0, 44, Local0, 0x321)
+
+ XOr(m601(1, 19), Local1, Local0)
+ m600(arg0, 45, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(Derefof(m602(1, 5, 1)), Local1, Local0)
+ m600(arg0, 46, Local0, 0x321)
+
+ XOr(Derefof(m602(1, 19, 1)), Local1, Local0)
+ m600(arg0, 47, Local0, 0xfffffffffffffcde)
+ }
+ }
+
+ // XOr, 64-bit
+ Method(m05d, 1)
+ {
+ Store(Buffer(3){0x21, 0x03, 0x00}, Local1)
+ Store(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local2)
+
+ // Conversion of the first operand
+
+ Store(XOr(Local2, 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Local2, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0x01834c6e29af5d7b)
+
+ Store(XOr(Local2, aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Local2, auij), Local0)
+ m600(arg0, 3, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ Store(XOr(Local2, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Local2, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Store(XOr(Local2, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Local2, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ Store(XOr(Local2, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Local2, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(Local2, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Local2, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0x01834c6e29af5d7b)
+ }
+
+ XOr(Local2, 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ XOr(Local2, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0x01834c6e29af5d7b)
+
+ XOr(Local2, aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ XOr(Local2, auij, Local0)
+ m600(arg0, 15, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ XOr(Local2, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ XOr(Local2, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0x01834c6e29af5d7b)
+ }
+
+ XOr(Local2, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ XOr(Local2, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ XOr(Local2, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ XOr(Local2, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(Local2, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ XOr(Local2, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0x01834c6e29af5d7b)
+ }
+
+ // Conversion of the second operand
+
+ Store(XOr(0, Local2), Local0)
+ m600(arg0, 24, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(0xffffffffffffffff, Local2), Local0)
+ m600(arg0, 25, Local0, 0x01834c6e29af5d7b)
+
+ Store(XOr(aui5, Local2), Local0)
+ m600(arg0, 26, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(auij, Local2), Local0)
+ m600(arg0, 27, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ Store(XOr(Derefof(Refof(aui5)), Local2), Local0)
+ m600(arg0, 28, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(Refof(auij)), Local2), Local0)
+ m600(arg0, 29, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Store(XOr(Derefof(Index(paui, 5)), Local2), Local0)
+ m600(arg0, 30, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(Index(paui, 19)), Local2), Local0)
+ m600(arg0, 31, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ Store(XOr(m601(1, 5), Local2), Local0)
+ m600(arg0, 32, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(m601(1, 19), Local2), Local0)
+ m600(arg0, 33, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(Derefof(m602(1, 5, 1)), Local2), Local0)
+ m600(arg0, 34, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(m602(1, 19, 1)), Local2), Local0)
+ m600(arg0, 35, Local0, 0x01834c6e29af5d7b)
+ }
+
+ XOr(0, Local2, Local0)
+ m600(arg0, 36, Local0, 0xfe7cb391d650a284)
+
+ XOr(0xffffffffffffffff, Local2, Local0)
+ m600(arg0, 37, Local0, 0x01834c6e29af5d7b)
+
+ XOr(aui5, Local2, Local0)
+ m600(arg0, 38, Local0, 0xfe7cb391d650a284)
+
+ XOr(auij, Local2, Local0)
+ m600(arg0, 39, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ XOr(Derefof(Refof(aui5)), Local2, Local0)
+ m600(arg0, 40, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(Refof(auij)), Local2, Local0)
+ m600(arg0, 41, Local0, 0x01834c6e29af5d7b)
+ }
+
+ XOr(Derefof(Index(paui, 5)), Local2, Local0)
+ m600(arg0, 42, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(Index(paui, 19)), Local2, Local0)
+ m600(arg0, 43, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ XOr(m601(1, 5), Local2, Local0)
+ m600(arg0, 44, Local0, 0xfe7cb391d650a284)
+
+ XOr(m601(1, 19), Local2, Local0)
+ m600(arg0, 45, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(Derefof(m602(1, 5, 1)), Local2, Local0)
+ m600(arg0, 46, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(m602(1, 19, 1)), Local2, Local0)
+ m600(arg0, 47, Local0, 0x01834c6e29af5d7b)
+ }
+
+ // Conversion of the both operands
+
+ Store(XOr(Local1, Local2), Local0)
+ m600(arg0, 48, Local0, 0xfe7cb391d650a1a5)
+
+ Store(XOr(Local2, Local1), Local0)
+ m600(arg0, 49, Local0, 0xfe7cb391d650a1a5)
+
+ XOr(Local1, Local2, Local0)
+ m600(arg0, 50, Local0, 0xfe7cb391d650a1a5)
+
+ XOr(Local2, Local1, Local0)
+ m600(arg0, 51, Local0, 0xfe7cb391d650a1a5)
+ }
+
+ // XOr, 32-bit
+ Method(m05e, 1)
+ {
+ Store(Buffer(3){0x21, 0x03, 0x00}, Local1)
+ Store(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local2)
+
+ // Conversion of the first operand
+
+ Store(XOr(Local2, 0), Local0)
+ m600(arg0, 0, Local0, 0xd650a284)
+
+ Store(XOr(Local2, 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0x29af5d7b)
+
+ Store(XOr(Local2, aui5), Local0)
+ m600(arg0, 2, Local0, 0xd650a284)
+
+ Store(XOr(Local2, auii), Local0)
+ m600(arg0, 3, Local0, 0x29af5d7b)
+
+ if (y078) {
+ Store(XOr(Local2, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xd650a284)
+
+ Store(XOr(Local2, Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0x29af5d7b)
+ }
+
+ Store(XOr(Local2, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xd650a284)
+
+ Store(XOr(Local2, Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0x29af5d7b)
+
+ // Method returns Integer
+
+ Store(XOr(Local2, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xd650a284)
+
+ Store(XOr(Local2, m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0x29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(Local2, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xd650a284)
+
+ Store(XOr(Local2, Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0x29af5d7b)
+ }
+
+ XOr(Local2, 0, Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ XOr(Local2, 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0x29af5d7b)
+
+ XOr(Local2, aui5, Local0)
+ m600(arg0, 14, Local0, 0xd650a284)
+
+ XOr(Local2, auii, Local0)
+ m600(arg0, 15, Local0, 0x29af5d7b)
+
+ if (y078) {
+ XOr(Local2, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xd650a284)
+
+ XOr(Local2, Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0x29af5d7b)
+ }
+
+ XOr(Local2, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xd650a284)
+
+ XOr(Local2, Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0x29af5d7b)
+
+ // Method returns Integer
+
+ XOr(Local2, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xd650a284)
+
+ XOr(Local2, m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0x29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(Local2, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xd650a284)
+
+ XOr(Local2, Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0x29af5d7b)
+ }
+
+ // Conversion of the second operand
+
+ Store(XOr(0, Local2), Local0)
+ m600(arg0, 24, Local0, 0xd650a284)
+
+ Store(XOr(0xffffffff, Local2), Local0)
+ m600(arg0, 25, Local0, 0x29af5d7b)
+
+ Store(XOr(aui5, Local2), Local0)
+ m600(arg0, 26, Local0, 0xd650a284)
+
+ Store(XOr(auii, Local2), Local0)
+ m600(arg0, 27, Local0, 0x29af5d7b)
+
+ if (y078) {
+ Store(XOr(Derefof(Refof(aui5)), Local2), Local0)
+ m600(arg0, 28, Local0, 0xd650a284)
+
+ Store(XOr(Derefof(Refof(auii)), Local2), Local0)
+ m600(arg0, 29, Local0, 0x29af5d7b)
+ }
+
+ Store(XOr(Derefof(Index(paui, 5)), Local2), Local0)
+ m600(arg0, 30, Local0, 0xd650a284)
+
+ Store(XOr(Derefof(Index(paui, 18)), Local2), Local0)
+ m600(arg0, 31, Local0, 0x29af5d7b)
+
+ // Method returns Integer
+
+ Store(XOr(m601(1, 5), Local2), Local0)
+ m600(arg0, 32, Local0, 0xd650a284)
+
+ Store(XOr(m601(1, 18), Local2), Local0)
+ m600(arg0, 33, Local0, 0x29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(Derefof(m602(1, 5, 1)), Local2), Local0)
+ m600(arg0, 34, Local0, 0xd650a284)
+
+ Store(XOr(Derefof(m602(1, 18, 1)), Local2), Local0)
+ m600(arg0, 35, Local0, 0x29af5d7b)
+ }
+
+ XOr(0, Local2, Local0)
+ m600(arg0, 36, Local0, 0xd650a284)
+
+ XOr(0xffffffff, Local2, Local0)
+ m600(arg0, 37, Local0, 0x29af5d7b)
+
+ XOr(aui5, Local2, Local0)
+ m600(arg0, 38, Local0, 0xd650a284)
+
+ XOr(auii, Local2, Local0)
+ m600(arg0, 39, Local0, 0x29af5d7b)
+
+ if (y078) {
+ XOr(Derefof(Refof(aui5)), Local2, Local0)
+ m600(arg0, 40, Local0, 0xd650a284)
+
+ XOr(Derefof(Refof(auii)), Local2, Local0)
+ m600(arg0, 41, Local0, 0x29af5d7b)
+ }
+
+ XOr(Derefof(Index(paui, 5)), Local2, Local0)
+ m600(arg0, 42, Local0, 0xd650a284)
+
+ XOr(Derefof(Index(paui, 18)), Local2, Local0)
+ m600(arg0, 43, Local0, 0x29af5d7b)
+
+ // Method returns Integer
+
+ XOr(m601(1, 5), Local2, Local0)
+ m600(arg0, 44, Local0, 0xd650a284)
+
+ XOr(m601(1, 18), Local2, Local0)
+ m600(arg0, 45, Local0, 0x29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(Derefof(m602(1, 5, 1)), Local2, Local0)
+ m600(arg0, 46, Local0, 0xd650a284)
+
+ XOr(Derefof(m602(1, 18, 1)), Local2, Local0)
+ m600(arg0, 47, Local0, 0x29af5d7b)
+ }
+
+ // Conversion of the both operands
+
+ Store(XOr(Local1, Local2), Local0)
+ m600(arg0, 48, Local0, 0xd650a1a5)
+
+ Store(XOr(Local2, Local1), Local0)
+ m600(arg0, 49, Local0, 0xd650a1a5)
+
+ XOr(Local1, Local2, Local0)
+ m600(arg0, 50, Local0, 0xd650a1a5)
+
+ XOr(Local2, Local1, Local0)
+ m600(arg0, 51, Local0, 0xd650a1a5)
+ }
+
+ // Add, And, Divide, Mod, Multiply, NAnd, NOr, Or,
+ // ShiftLeft, ShiftRight, Subtract, Xor
+
+ Method(m64n, 1)
+ {
+ // Add
+ Concatenate(arg0, "-m03b", Local0)
+ SRMT(Local0)
+ m03b(Local0)
+ Concatenate(arg0, "-m03c", Local0)
+ SRMT(Local0)
+ m03c(Local0)
+
+ // And
+ Concatenate(arg0, "-m03e", Local0)
+ SRMT(Local0)
+ m03e(Local0)
+ Concatenate(arg0, "-m03f", Local0)
+ SRMT(Local0)
+ m03f(Local0)
+
+ // Divide
+ Concatenate(arg0, "-m041", Local0)
+ SRMT(Local0)
+ m041(Local0)
+ Concatenate(arg0, "-m042", Local0)
+ SRMT(Local0)
+ m042(Local0)
+
+ // Mod
+ Concatenate(arg0, "-m044", Local0)
+ SRMT(Local0)
+ m044(Local0)
+ Concatenate(arg0, "-m045", Local0)
+ SRMT(Local0)
+ m045(Local0)
+
+ // Multiply
+ Concatenate(arg0, "-m047", Local0)
+ SRMT(Local0)
+ m047(Local0)
+ Concatenate(arg0, "-m048", Local0)
+ SRMT(Local0)
+ m048(Local0)
+
+ // NAnd
+ Concatenate(arg0, "-m04a", Local0)
+ SRMT(Local0)
+ m04a(Local0)
+ Concatenate(arg0, "-m04b", Local0)
+ SRMT(Local0)
+ m04b(Local0)
+
+ // NOr
+ Concatenate(arg0, "-m04d", Local0)
+ SRMT(Local0)
+ m04d(Local0)
+ Concatenate(arg0, "-m04e", Local0)
+ SRMT(Local0)
+ m04e(Local0)
+
+ // Or
+ Concatenate(arg0, "-m050", Local0)
+ SRMT(Local0)
+ m050(Local0)
+ Concatenate(arg0, "-m051", Local0)
+ SRMT(Local0)
+ m051(Local0)
+
+ // ShiftLeft
+ Concatenate(arg0, "-m053", Local0)
+ SRMT(Local0)
+ m053(Local0)
+ Concatenate(arg0, "-m054", Local0)
+ SRMT(Local0)
+ m054(Local0)
+
+ // ShiftRight
+ Concatenate(arg0, "-m056", Local0)
+ SRMT(Local0)
+ m056(Local0)
+ Concatenate(arg0, "-m057", Local0)
+ SRMT(Local0)
+ m057(Local0)
+
+ // Subtract
+ Concatenate(arg0, "-m059", Local0)
+ SRMT(Local0)
+ m059(Local0)
+ Concatenate(arg0, "-m05a", Local0)
+ SRMT(Local0)
+ m05a(Local0)
+
+ // XOr
+ Concatenate(arg0, "-m05c", Local0)
+ SRMT(Local0)
+ m05c(Local0)
+ Concatenate(arg0, "-m05d", Local0)
+ SRMT(Local0)
+ m05d(Local0)
+ }
+
+ Method(m32n, 1)
+ {
+ // Add
+ Concatenate(arg0, "-m03b", Local0)
+ SRMT(Local0)
+ m03b(Local0)
+ Concatenate(arg0, "-m03d", Local0)
+ SRMT(Local0)
+ m03d(Local0)
+
+ // And
+ Concatenate(arg0, "-m03e", Local0)
+ SRMT(Local0)
+ m03e(Local0)
+ Concatenate(arg0, "-m040", Local0)
+ SRMT(Local0)
+ m040(Local0)
+
+ // Divide
+ Concatenate(arg0, "-m041", Local0)
+ SRMT(Local0)
+ m041(Local0)
+ Concatenate(arg0, "-m043", Local0)
+ SRMT(Local0)
+ m043(Local0)
+
+ // Mod
+ Concatenate(arg0, "-m044", Local0)
+ SRMT(Local0)
+ m044(Local0)
+ Concatenate(arg0, "-m046", Local0)
+ SRMT(Local0)
+ m046(Local0)
+
+ // Multiply
+ Concatenate(arg0, "-m047", Local0)
+ SRMT(Local0)
+ m047(Local0)
+ Concatenate(arg0, "-m049", Local0)
+ SRMT(Local0)
+ m049(Local0)
+
+ // NAnd
+ Concatenate(arg0, "-m04a", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m04a(Local0)
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m04c", Local0)
+ SRMT(Local0)
+ m04c(Local0)
+
+ // NOr
+ Concatenate(arg0, "-m04d", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m04d(Local0)
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m04f", Local0)
+ SRMT(Local0)
+ m04f(Local0)
+
+ // Or
+ Concatenate(arg0, "-m050", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m050(Local0)
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m052", Local0)
+ SRMT(Local0)
+ m052(Local0)
+
+ // ShiftLeft
+ Concatenate(arg0, "-m053", Local0)
+ SRMT(Local0)
+ m053(Local0)
+ Concatenate(arg0, "-m055", Local0)
+ SRMT(Local0)
+ m055(Local0)
+
+ // ShiftRight
+ Concatenate(arg0, "-m056", Local0)
+ SRMT(Local0)
+ m056(Local0)
+ Concatenate(arg0, "-m058", Local0)
+ SRMT(Local0)
+ m058(Local0)
+
+ // Subtract
+ Concatenate(arg0, "-m059", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m059(Local0)
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m05b", Local0)
+ SRMT(Local0)
+ m05b(Local0)
+
+ // XOr
+ Concatenate(arg0, "-m05c", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m05c(Local0)
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m05e", Local0)
+ SRMT(Local0)
+ m05e(Local0)
+ }
+
+ // Buffer to Integer conversion of each Buffer operand
+ // of the 2-parameter Logical Integer operators LAnd and LOr
+
+ // LAnd, common 32-bit/64-bit test
+ Method(m05f, 1)
+ {
+ Store(Buffer(3){0x21, 0x03, 0x00}, Local1)
+
+ // Conversion of the first operand
+
+ Store(LAnd(Local1, 0), Local0)
+ m600(arg0, 0, Local0, Zero)
+
+ Store(LAnd(Local1, 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(LAnd(Local1, aui5), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LAnd(Local1, aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(Local1, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LAnd(Local1, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(LAnd(Local1, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Zero)
+
+ Store(LAnd(Local1, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(Local1, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Zero)
+
+ Store(LAnd(Local1, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(Local1, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LAnd(Local1, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(LAnd(0, Local1), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LAnd(1, Local1), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LAnd(aui5, Local1), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LAnd(aui6, Local1), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(Derefof(Refof(aui5)), Local1), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(aui6)), Local1), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(LAnd(Derefof(Index(paui, 5)), Local1), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LAnd(Derefof(Index(paui, 6)), Local1), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(m601(1, 5), Local1), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LAnd(m601(1, 6), Local1), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(Derefof(m602(1, 5, 1)), Local1), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LAnd(Derefof(m602(1, 6, 1)), Local1), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+ }
+
+ // LAnd, 64-bit
+ Method(m060, 1)
+ {
+ Store(Buffer(3){0x21, 0x03, 0x00}, Local1)
+ Store(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local2)
+
+ // Conversion of the first operand
+
+ Store(LAnd(Local2, 0), Local0)
+ m600(arg0, 0, Local0, Zero)
+
+ Store(LAnd(Local2, 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(LAnd(Local2, aui5), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LAnd(Local2, aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(Local2, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LAnd(Local2, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(LAnd(Local2, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Zero)
+
+ Store(LAnd(Local2, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(Local2, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Zero)
+
+ Store(LAnd(Local2, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(Local2, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LAnd(Local2, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(LAnd(0, Local2), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LAnd(1, Local2), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LAnd(aui5, Local2), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LAnd(aui6, Local2), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(Derefof(Refof(aui5)), Local2), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(aui6)), Local2), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(LAnd(Derefof(Index(paui, 5)), Local2), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LAnd(Derefof(Index(paui, 6)), Local2), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(m601(1, 5), Local2), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LAnd(m601(1, 6), Local2), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(Derefof(m602(1, 5, 1)), Local2), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LAnd(Derefof(m602(1, 6, 1)), Local2), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+
+ // Conversion of the both operands
+
+ Store(LAnd(Local1, Local2), Local0)
+ m600(arg0, 24, Local0, Ones)
+
+ Store(LAnd(Local2, Local1), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // LAnd, 32-bit
+ Method(m061, 1)
+ {
+ Store(Buffer(3){0x21, 0x03, 0x00}, Local1)
+ Store(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local2)
+
+ // Conversion of the first operand
+
+ Store(LAnd(Local2, 0), Local0)
+ m600(arg0, 0, Local0, Zero)
+
+ Store(LAnd(Local2, 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(LAnd(Local2, aui5), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LAnd(Local2, aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(Local2, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LAnd(Local2, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(LAnd(Local2, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Zero)
+
+ Store(LAnd(Local2, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(Local2, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Zero)
+
+ Store(LAnd(Local2, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(Local2, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LAnd(Local2, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(LAnd(0, Local2), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LAnd(1, Local2), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LAnd(aui5, Local2), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LAnd(aui6, Local2), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(Derefof(Refof(aui5)), Local2), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(aui6)), Local2), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(LAnd(Derefof(Index(paui, 5)), Local2), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LAnd(Derefof(Index(paui, 6)), Local2), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(m601(1, 5), Local2), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LAnd(m601(1, 6), Local2), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(Derefof(m602(1, 5, 1)), Local2), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LAnd(Derefof(m602(1, 6, 1)), Local2), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+
+ // Conversion of the both operands
+
+ Store(LAnd(Local1, Local2), Local0)
+ m600(arg0, 24, Local0, Ones)
+
+ Store(LAnd(Local2, Local1), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // Lor, common 32-bit/64-bit test
+ Method(m062, 1)
+ {
+ Store(Buffer(1){0x00}, Local1)
+
+ // Conversion of the first operand
+
+ Store(Lor(Local1, 0), Local0)
+ m600(arg0, 0, Local0, Zero)
+
+ Store(Lor(Local1, 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(Lor(Local1, aui5), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(Lor(Local1, aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(Local1, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(Lor(Local1, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(Lor(Local1, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Zero)
+
+ Store(Lor(Local1, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(Local1, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Zero)
+
+ Store(Lor(Local1, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(Local1, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(Lor(Local1, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(Lor(0, Local1), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(Lor(1, Local1), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(Lor(aui5, Local1), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(Lor(aui6, Local1), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(Derefof(Refof(aui5)), Local1), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(Lor(Derefof(Refof(aui6)), Local1), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(Lor(Derefof(Index(paui, 5)), Local1), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(Lor(Derefof(Index(paui, 6)), Local1), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(m601(1, 5), Local1), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(Lor(m601(1, 6), Local1), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(Derefof(m602(1, 5, 1)), Local1), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(Lor(Derefof(m602(1, 6, 1)), Local1), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+ }
+
+ // Lor, 64-bit
+ Method(m063, 1)
+ {
+ Store(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local1)
+ Store(Buffer(1){0x00}, Local2)
+
+ // Conversion of the first operand
+
+ Store(Lor(Local1, 0), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(Lor(Local1, 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(Lor(Local1, aui5), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(Lor(Local1, aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(Local1, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(Lor(Local1, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(Lor(Local1, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(Lor(Local1, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(Local1, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(Lor(Local1, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(Local1, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(Lor(Local1, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(Lor(0, Local1), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(Lor(1, Local1), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(Lor(aui5, Local1), Local0)
+ m600(arg0, 14, Local0, Ones)
+
+ Store(Lor(aui6, Local1), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(Derefof(Refof(aui5)), Local1), Local0)
+ m600(arg0, 16, Local0, Ones)
+
+ Store(Lor(Derefof(Refof(aui6)), Local1), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(Lor(Derefof(Index(paui, 5)), Local1), Local0)
+ m600(arg0, 18, Local0, Ones)
+
+ Store(Lor(Derefof(Index(paui, 6)), Local1), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(m601(1, 5), Local1), Local0)
+ m600(arg0, 20, Local0, Ones)
+
+ Store(Lor(m601(1, 6), Local1), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(Derefof(m602(1, 5, 1)), Local1), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(Lor(Derefof(m602(1, 6, 1)), Local1), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+
+ // Conversion of the both operands
+
+ Store(Lor(Local2, Local1), Local0)
+ m600(arg0, 24, Local0, Ones)
+
+ Store(Lor(Local1, Local2), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // Lor, 32-bit
+ Method(m064, 1)
+ {
+ Store(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local1)
+ Store(Buffer(1){0x00}, Local2)
+
+ // Conversion of the first operand
+
+ Store(Lor(Local1, 0), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(Lor(Local1, 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(Lor(Local1, aui5), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(Lor(Local1, aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(Local1, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(Lor(Local1, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(Lor(Local1, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(Lor(Local1, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(Local1, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(Lor(Local1, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(Local1, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(Lor(Local1, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(Lor(0, Local1), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(Lor(1, Local1), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(Lor(aui5, Local1), Local0)
+ m600(arg0, 14, Local0, Ones)
+
+ Store(Lor(aui6, Local1), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(Derefof(Refof(aui5)), Local1), Local0)
+ m600(arg0, 16, Local0, Ones)
+
+ Store(Lor(Derefof(Refof(aui6)), Local1), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(Lor(Derefof(Index(paui, 5)), Local1), Local0)
+ m600(arg0, 18, Local0, Ones)
+
+ Store(Lor(Derefof(Index(paui, 6)), Local1), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(m601(1, 5), Local1), Local0)
+ m600(arg0, 20, Local0, Ones)
+
+ Store(Lor(m601(1, 6), Local1), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(Derefof(m602(1, 5, 1)), Local1), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(Lor(Derefof(m602(1, 6, 1)), Local1), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+
+ // Conversion of the both operands
+
+ Store(Lor(Local2, Local1), Local0)
+ m600(arg0, 24, Local0, Ones)
+
+ Store(Lor(Local1, Local2), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ Method(m64o, 1)
+ {
+ // LAnd
+ Concatenate(arg0, "-m05f", Local0)
+ SRMT(Local0)
+ m05f(Local0)
+ Concatenate(arg0, "-m060", Local0)
+ SRMT(Local0)
+ m060(Local0)
+
+ // LOr
+ Concatenate(arg0, "-m062", Local0)
+ SRMT(Local0)
+ m062(Local0)
+ Concatenate(arg0, "-m063", Local0)
+ SRMT(Local0)
+ m063(Local0)
+ }
+
+ Method(m32o, 1)
+ {
+ // LAnd
+ Concatenate(arg0, "-m05f", Local0)
+ SRMT(Local0)
+ m05f(Local0)
+ Concatenate(arg0, "-m061", Local0)
+ SRMT(Local0)
+ m061(Local0)
+
+ // LOr
+ Concatenate(arg0, "-m062", Local0)
+ SRMT(Local0)
+ m062(Local0)
+ Concatenate(arg0, "-m064", Local0)
+ SRMT(Local0)
+ m064(Local0)
+ }
+
+
+ // Buffer to Integer conversion of the Buffer second operand of
+ // Logical operators when the first operand is evaluated as Integer
+ // (LEqual, LGreater, LGreaterEqual, LLess, LLessEqual, LNotEqual)
+
+ Method(m64p, 1)
+ {
+ Store(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local1)
+
+ // LEqual
+
+ Store(LEqual(0xfe7cb391d650a284, Local1), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual(0xfe7cb391d650a285, Local1), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(0xfe7cb391d650a283, Local1), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LEqual(aui4, Local1), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ Store(LEqual(auid, Local1), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LEqual(auif, Local1), Local0)
+ m600(arg0, 5, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aui4)), Local1), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(auid)), Local1), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ Store(LEqual(Derefof(Refof(auif)), Local1), Local0)
+ m600(arg0, 8, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paui, 4)), Local1), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paui, 13)), Local1), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LEqual(Derefof(Index(paui, 15)), Local1), Local0)
+ m600(arg0, 11, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LEqual(m601(1, 4), Local1), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(LEqual(m601(1, 13), Local1), Local0)
+ m600(arg0, 13, Local0, Zero)
+
+ Store(LEqual(m601(1, 15), Local1), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(1, 4, 1)), Local1), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(1, 13, 1)), Local1), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LEqual(Derefof(m602(1, 15, 1)), Local1), Local0)
+ m600(arg0, 17, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater(0xfe7cb391d650a284, Local1), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(0xfe7cb391d650a285, Local1), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ Store(LGreater(0xfe7cb391d650a283, Local1), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(aui4, Local1), Local0)
+ m600(arg0, 21, Local0, Zero)
+
+ Store(LGreater(auid, Local1), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(LGreater(auif, Local1), Local0)
+ m600(arg0, 23, Local0, Zero)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aui4)), Local1), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(auid)), Local1), Local0)
+ m600(arg0, 25, Local0, Ones)
+
+ Store(LGreater(Derefof(Refof(auif)), Local1), Local0)
+ m600(arg0, 26, Local0, Zero)
+ }
+
+ Store(LGreater(Derefof(Index(paui, 4)), Local1), Local0)
+ m600(arg0, 27, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paui, 13)), Local1), Local0)
+ m600(arg0, 28, Local0, Ones)
+
+ Store(LGreater(Derefof(Index(paui, 15)), Local1), Local0)
+ m600(arg0, 29, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreater(m601(1, 4), Local1), Local0)
+ m600(arg0, 30, Local0, Zero)
+
+ Store(LGreater(m601(1, 13), Local1), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ Store(LGreater(m601(1, 15), Local1), Local0)
+ m600(arg0, 32, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(1, 4, 1)), Local1), Local0)
+ m600(arg0, 33, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(1, 13, 1)), Local1), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreater(Derefof(m602(1, 15, 1)), Local1), Local0)
+ m600(arg0, 35, Local0, Zero)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual(0xfe7cb391d650a284, Local1), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(0xfe7cb391d650a285, Local1), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ Store(LGreaterEqual(0xfe7cb391d650a283, Local1), Local0)
+ m600(arg0, 38, Local0, Zero)
+
+ Store(LGreaterEqual(aui4, Local1), Local0)
+ m600(arg0, 39, Local0, Ones)
+
+ Store(LGreaterEqual(auid, Local1), Local0)
+ m600(arg0, 40, Local0, Ones)
+
+ Store(LGreaterEqual(auif, Local1), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aui4)), Local1), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auid)), Local1), Local0)
+ m600(arg0, 43, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auif)), Local1), Local0)
+ m600(arg0, 44, Local0, Zero)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paui, 4)), Local1), Local0)
+ m600(arg0, 45, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 13)), Local1), Local0)
+ m600(arg0, 46, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 15)), Local1), Local0)
+ m600(arg0, 47, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreaterEqual(m601(1, 4), Local1), Local0)
+ m600(arg0, 48, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 13), Local1), Local0)
+ m600(arg0, 49, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 15), Local1), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(1, 4, 1)), Local1), Local0)
+ m600(arg0, 51, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 13, 1)), Local1), Local0)
+ m600(arg0, 52, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 15, 1)), Local1), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLess
+
+ Store(LLess(0xfe7cb391d650a284, Local1), Local0)
+ m600(arg0, 54, Local0, Zero)
+
+ Store(LLess(0xfe7cb391d650a285, Local1), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLess(0xfe7cb391d650a283, Local1), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLess(aui4, Local1), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLess(auid, Local1), Local0)
+ m600(arg0, 58, Local0, Zero)
+
+ Store(LLess(auif, Local1), Local0)
+ m600(arg0, 59, Local0, Ones)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aui4)), Local1), Local0)
+ m600(arg0, 60, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auid)), Local1), Local0)
+ m600(arg0, 61, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auif)), Local1), Local0)
+ m600(arg0, 62, Local0, Ones)
+ }
+
+ Store(LLess(Derefof(Index(paui, 4)), Local1), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 13)), Local1), Local0)
+ m600(arg0, 64, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 15)), Local1), Local0)
+ m600(arg0, 65, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLess(m601(1, 4), Local1), Local0)
+ m600(arg0, 66, Local0, Zero)
+
+ Store(LLess(m601(1, 13), Local1), Local0)
+ m600(arg0, 67, Local0, Zero)
+
+ Store(LLess(m601(1, 15), Local1), Local0)
+ m600(arg0, 68, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLess(Derefof(m602(1, 4, 1)), Local1), Local0)
+ m600(arg0, 69, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 13, 1)), Local1), Local0)
+ m600(arg0, 70, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 15, 1)), Local1), Local0)
+ m600(arg0, 71, Local0, Ones)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual(0xfe7cb391d650a284, Local1), Local0)
+ m600(arg0, 72, Local0, Ones)
+
+ Store(LLessEqual(0xfe7cb391d650a285, Local1), Local0)
+ m600(arg0, 73, Local0, Zero)
+
+ Store(LLessEqual(0xfe7cb391d650a283, Local1), Local0)
+ m600(arg0, 74, Local0, Ones)
+
+ Store(LLessEqual(aui4, Local1), Local0)
+ m600(arg0, 75, Local0, Ones)
+
+ Store(LLessEqual(auid, Local1), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LLessEqual(auif, Local1), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aui4)), Local1), Local0)
+ m600(arg0, 78, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(auid)), Local1), Local0)
+ m600(arg0, 79, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Refof(auif)), Local1), Local0)
+ m600(arg0, 80, Local0, Ones)
+ }
+
+ Store(LLessEqual(Derefof(Index(paui, 4)), Local1), Local0)
+ m600(arg0, 81, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paui, 13)), Local1), Local0)
+ m600(arg0, 82, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Index(paui, 15)), Local1), Local0)
+ m600(arg0, 83, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLessEqual(m601(1, 4), Local1), Local0)
+ m600(arg0, 84, Local0, Ones)
+
+ Store(LLessEqual(m601(1, 13), Local1), Local0)
+ m600(arg0, 85, Local0, Zero)
+
+ Store(LLessEqual(m601(1, 15), Local1), Local0)
+ m600(arg0, 86, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(1, 4, 1)), Local1), Local0)
+ m600(arg0, 87, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(1, 13, 1)), Local1), Local0)
+ m600(arg0, 88, Local0, Zero)
+
+ Store(LLessEqual(Derefof(m602(1, 15, 1)), Local1), Local0)
+ m600(arg0, 89, Local0, Ones)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual(0xfe7cb391d650a284, Local1), Local0)
+ m600(arg0, 90, Local0, Zero)
+
+ Store(LNotEqual(0xfe7cb391d650a285, Local1), Local0)
+ m600(arg0, 91, Local0, Ones)
+
+ Store(LNotEqual(0xfe7cb391d650a283, Local1), Local0)
+ m600(arg0, 92, Local0, Ones)
+
+ Store(LNotEqual(aui4, Local1), Local0)
+ m600(arg0, 93, Local0, Zero)
+
+ Store(LNotEqual(auid, Local1), Local0)
+ m600(arg0, 94, Local0, Ones)
+
+ Store(LNotEqual(auif, Local1), Local0)
+ m600(arg0, 95, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aui4)), Local1), Local0)
+ m600(arg0, 96, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(auid)), Local1), Local0)
+ m600(arg0, 97, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Refof(auif)), Local1), Local0)
+ m600(arg0, 98, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paui, 4)), Local1), Local0)
+ m600(arg0, 99, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paui, 13)), Local1), Local0)
+ m600(arg0, 100, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Index(paui, 15)), Local1), Local0)
+ m600(arg0, 101, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LNotEqual(m601(1, 4), Local1), Local0)
+ m600(arg0, 102, Local0, Zero)
+
+ Store(LNotEqual(m601(1, 13), Local1), Local0)
+ m600(arg0, 103, Local0, Ones)
+
+ Store(LNotEqual(m601(1, 15), Local1), Local0)
+ m600(arg0, 104, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(1, 4, 1)), Local1), Local0)
+ m600(arg0, 105, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(1, 13, 1)), Local1), Local0)
+ m600(arg0, 106, Local0, Ones)
+
+ Store(LNotEqual(Derefof(m602(1, 15, 1)), Local1), Local0)
+ m600(arg0, 107, Local0, Ones)
+ }
+ }
+
+ Method(m32p, 1)
+ {
+ Store(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local1)
+
+ // LEqual
+
+ Store(LEqual(0xd650a284, Local1), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual(0xd650a285, Local1), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(0xd650a283, Local1), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LEqual(auik, Local1), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ Store(LEqual(auil, Local1), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LEqual(auim, Local1), Local0)
+ m600(arg0, 5, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(auik)), Local1), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(auil)), Local1), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ Store(LEqual(Derefof(Refof(auim)), Local1), Local0)
+ m600(arg0, 8, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paui, 20)), Local1), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paui, 21)), Local1), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LEqual(Derefof(Index(paui, 22)), Local1), Local0)
+ m600(arg0, 11, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LEqual(m601(1, 20), Local1), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(LEqual(m601(1, 21), Local1), Local0)
+ m600(arg0, 13, Local0, Zero)
+
+ Store(LEqual(m601(1, 22), Local1), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(1, 20, 1)), Local1), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LEqual(Derefof(m601(1, 21, 1)), Local1), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LEqual(Derefof(m601(1, 22, 1)), Local1), Local0)
+ m600(arg0, 17, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater(0xd650a284, Local1), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(0xd650a285, Local1), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ Store(LGreater(0xd650a283, Local1), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(auik, Local1), Local0)
+ m600(arg0, 21, Local0, Zero)
+
+ Store(LGreater(auil, Local1), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(LGreater(auim, Local1), Local0)
+ m600(arg0, 23, Local0, Zero)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(auik)), Local1), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(auil)), Local1), Local0)
+ m600(arg0, 25, Local0, Ones)
+
+ Store(LGreater(Derefof(Refof(auim)), Local1), Local0)
+ m600(arg0, 26, Local0, Zero)
+ }
+
+ Store(LGreater(Derefof(Index(paui, 20)), Local1), Local0)
+ m600(arg0, 27, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paui, 21)), Local1), Local0)
+ m600(arg0, 28, Local0, Ones)
+
+ Store(LGreater(Derefof(Index(paui, 22)), Local1), Local0)
+ m600(arg0, 29, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreater(m601(1, 20), Local1), Local0)
+ m600(arg0, 30, Local0, Zero)
+
+ Store(LGreater(m601(1, 21), Local1), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ Store(LGreater(m601(1, 22), Local1), Local0)
+ m600(arg0, 32, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(1, 20, 1)), Local1), Local0)
+ m600(arg0, 33, Local0, Zero)
+
+ Store(LGreater(Derefof(m601(1, 21, 1)), Local1), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreater(Derefof(m601(1, 22, 1)), Local1), Local0)
+ m600(arg0, 35, Local0, Zero)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual(0xd650a284, Local1), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(0xd650a285, Local1), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ Store(LGreaterEqual(0xd650a283, Local1), Local0)
+ m600(arg0, 38, Local0, Zero)
+
+ Store(LGreaterEqual(auik, Local1), Local0)
+ m600(arg0, 39, Local0, Ones)
+
+ Store(LGreaterEqual(auil, Local1), Local0)
+ m600(arg0, 40, Local0, Ones)
+
+ Store(LGreaterEqual(auim, Local1), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(auik)), Local1), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auil)), Local1), Local0)
+ m600(arg0, 43, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auim)), Local1), Local0)
+ m600(arg0, 44, Local0, Zero)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paui, 20)), Local1), Local0)
+ m600(arg0, 45, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 21)), Local1), Local0)
+ m600(arg0, 46, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 22)), Local1), Local0)
+ m600(arg0, 47, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreaterEqual(m601(1, 20), Local1), Local0)
+ m600(arg0, 48, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 21), Local1), Local0)
+ m600(arg0, 49, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 22), Local1), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(1, 20, 1)), Local1), Local0)
+ m600(arg0, 51, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m601(1, 21, 1)), Local1), Local0)
+ m600(arg0, 52, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m601(1, 22, 1)), Local1), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLess
+
+ Store(LLess(0xd650a284, Local1), Local0)
+ m600(arg0, 54, Local0, Zero)
+
+ Store(LLess(0xd650a285, Local1), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLess(0xd650a283, Local1), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLess(auik, Local1), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLess(auil, Local1), Local0)
+ m600(arg0, 58, Local0, Zero)
+
+ Store(LLess(auim, Local1), Local0)
+ m600(arg0, 59, Local0, Ones)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(auik)), Local1), Local0)
+ m600(arg0, 60, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auil)), Local1), Local0)
+ m600(arg0, 61, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auim)), Local1), Local0)
+ m600(arg0, 62, Local0, Ones)
+ }
+
+ Store(LLess(Derefof(Index(paui, 20)), Local1), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 21)), Local1), Local0)
+ m600(arg0, 64, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 22)), Local1), Local0)
+ m600(arg0, 65, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLess(m601(1, 20), Local1), Local0)
+ m600(arg0, 66, Local0, Zero)
+
+ Store(LLess(m601(1, 21), Local1), Local0)
+ m600(arg0, 67, Local0, Zero)
+
+ Store(LLess(m601(1, 22), Local1), Local0)
+ m600(arg0, 68, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLess(Derefof(m602(1, 20, 1)), Local1), Local0)
+ m600(arg0, 69, Local0, Zero)
+
+ Store(LLess(Derefof(m601(1, 21, 1)), Local1), Local0)
+ m600(arg0, 70, Local0, Zero)
+
+ Store(LLess(Derefof(m601(1, 22, 1)), Local1), Local0)
+ m600(arg0, 71, Local0, Ones)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual(0xd650a284, Local1), Local0)
+ m600(arg0, 72, Local0, Ones)
+
+ Store(LLessEqual(0xd650a285, Local1), Local0)
+ m600(arg0, 73, Local0, Zero)
+
+ Store(LLessEqual(0xd650a283, Local1), Local0)
+ m600(arg0, 74, Local0, Ones)
+
+ Store(LLessEqual(auik, Local1), Local0)
+ m600(arg0, 75, Local0, Ones)
+
+ Store(LLessEqual(auil, Local1), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LLessEqual(auim, Local1), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(auik)), Local1), Local0)
+ m600(arg0, 78, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(auil)), Local1), Local0)
+ m600(arg0, 79, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Refof(auim)), Local1), Local0)
+ m600(arg0, 80, Local0, Ones)
+ }
+
+ Store(LLessEqual(Derefof(Index(paui, 20)), Local1), Local0)
+ m600(arg0, 81, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paui, 21)), Local1), Local0)
+ m600(arg0, 82, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Index(paui, 22)), Local1), Local0)
+ m600(arg0, 83, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLessEqual(m601(1, 20), Local1), Local0)
+ m600(arg0, 84, Local0, Ones)
+
+ Store(LLessEqual(m601(1, 21), Local1), Local0)
+ m600(arg0, 85, Local0, Zero)
+
+ Store(LLessEqual(m601(1, 22), Local1), Local0)
+ m600(arg0, 86, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(1, 20, 1)), Local1), Local0)
+ m600(arg0, 87, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m601(1, 21, 1)), Local1), Local0)
+ m600(arg0, 88, Local0, Zero)
+
+ Store(LLessEqual(Derefof(m601(1, 22, 1)), Local1), Local0)
+ m600(arg0, 89, Local0, Ones)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual(0xd650a284, Local1), Local0)
+ m600(arg0, 90, Local0, Zero)
+
+ Store(LNotEqual(0xd650a285, Local1), Local0)
+ m600(arg0, 91, Local0, Ones)
+
+ Store(LNotEqual(0xd650a283, Local1), Local0)
+ m600(arg0, 92, Local0, Ones)
+
+ Store(LNotEqual(auik, Local1), Local0)
+ m600(arg0, 93, Local0, Zero)
+
+ Store(LNotEqual(auil, Local1), Local0)
+ m600(arg0, 94, Local0, Ones)
+
+ Store(LNotEqual(auim, Local1), Local0)
+ m600(arg0, 95, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(auik)), Local1), Local0)
+ m600(arg0, 96, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(auil)), Local1), Local0)
+ m600(arg0, 97, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Refof(auim)), Local1), Local0)
+ m600(arg0, 98, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paui, 20)), Local1), Local0)
+ m600(arg0, 99, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paui, 21)), Local1), Local0)
+ m600(arg0, 100, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Index(paui, 22)), Local1), Local0)
+ m600(arg0, 101, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LNotEqual(m601(1, 20), Local1), Local0)
+ m600(arg0, 102, Local0, Zero)
+
+ Store(LNotEqual(m601(1, 21), Local1), Local0)
+ m600(arg0, 103, Local0, Ones)
+
+ Store(LNotEqual(m601(1, 22), Local1), Local0)
+ m600(arg0, 104, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(1, 20, 1)), Local1), Local0)
+ m600(arg0, 105, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m601(1, 21, 1)), Local1), Local0)
+ m600(arg0, 106, Local0, Ones)
+
+ Store(LNotEqual(Derefof(m601(1, 22, 1)), Local1), Local0)
+ m600(arg0, 107, Local0, Ones)
+ }
+ }
+
+ Method(m065, 1)
+ {
+ Store(Buffer(3){0x21, 0x03, 0x00}, Local1)
+
+ // LEqual
+
+ Store(LEqual(0x321, Local1), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual(0x322, Local1), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(0x320, Local1), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LEqual(aui1, Local1), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ Store(LEqual(auig, Local1), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LEqual(auih, Local1), Local0)
+ m600(arg0, 5, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aui1)), Local1), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(auig)), Local1), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ Store(LEqual(Derefof(Refof(auih)), Local1), Local0)
+ m600(arg0, 8, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paui, 1)), Local1), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paui, 16)), Local1), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LEqual(Derefof(Index(paui, 17)), Local1), Local0)
+ m600(arg0, 11, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LEqual(m601(1, 1), Local1), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(LEqual(m601(1, 16), Local1), Local0)
+ m600(arg0, 13, Local0, Zero)
+
+ Store(LEqual(m601(1, 17), Local1), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(1, 1, 1)), Local1), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(1, 16, 1)), Local1), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LEqual(Derefof(m602(1, 17, 1)), Local1), Local0)
+ m600(arg0, 17, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater(0x321, Local1), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(0x322, Local1), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ Store(LGreater(0x320, Local1), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(aui1, Local1), Local0)
+ m600(arg0, 21, Local0, Zero)
+
+ Store(LGreater(auig, Local1), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(LGreater(auih, Local1), Local0)
+ m600(arg0, 23, Local0, Zero)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aui1)), Local1), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(auig)), Local1), Local0)
+ m600(arg0, 25, Local0, Ones)
+
+ Store(LGreater(Derefof(Refof(auih)), Local1), Local0)
+ m600(arg0, 26, Local0, Zero)
+ }
+
+ Store(LGreater(Derefof(Index(paui, 1)), Local1), Local0)
+ m600(arg0, 27, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paui, 16)), Local1), Local0)
+ m600(arg0, 28, Local0, Ones)
+
+ Store(LGreater(Derefof(Index(paui, 17)), Local1), Local0)
+ m600(arg0, 29, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreater(m601(1, 1), Local1), Local0)
+ m600(arg0, 30, Local0, Zero)
+
+ Store(LGreater(m601(1, 16), Local1), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ Store(LGreater(m601(1, 17), Local1), Local0)
+ m600(arg0, 32, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(1, 1, 1)), Local1), Local0)
+ m600(arg0, 33, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(1, 16, 1)), Local1), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreater(Derefof(m602(1, 17, 1)), Local1), Local0)
+ m600(arg0, 35, Local0, Zero)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual(0x321, Local1), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(0x322, Local1), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ Store(LGreaterEqual(0x320, Local1), Local0)
+ m600(arg0, 38, Local0, Zero)
+
+ Store(LGreaterEqual(aui1, Local1), Local0)
+ m600(arg0, 39, Local0, Ones)
+
+ Store(LGreaterEqual(auig, Local1), Local0)
+ m600(arg0, 40, Local0, Ones)
+
+ Store(LGreaterEqual(auih, Local1), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aui1)), Local1), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auig)), Local1), Local0)
+ m600(arg0, 43, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auih)), Local1), Local0)
+ m600(arg0, 44, Local0, Zero)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paui, 1)), Local1), Local0)
+ m600(arg0, 45, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 16)), Local1), Local0)
+ m600(arg0, 46, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 17)), Local1), Local0)
+ m600(arg0, 47, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreaterEqual(m601(1, 1), Local1), Local0)
+ m600(arg0, 48, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 16), Local1), Local0)
+ m600(arg0, 49, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 17), Local1), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(1, 1, 1)), Local1), Local0)
+ m600(arg0, 51, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 16, 1)), Local1), Local0)
+ m600(arg0, 52, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 17, 1)), Local1), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLess
+
+ Store(LLess(0x321, Local1), Local0)
+ m600(arg0, 54, Local0, Zero)
+
+ Store(LLess(0x322, Local1), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLess(0x320, Local1), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLess(aui1, Local1), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLess(auig, Local1), Local0)
+ m600(arg0, 58, Local0, Zero)
+
+ Store(LLess(auih, Local1), Local0)
+ m600(arg0, 59, Local0, Ones)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aui1)), Local1), Local0)
+ m600(arg0, 60, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auig)), Local1), Local0)
+ m600(arg0, 61, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auih)), Local1), Local0)
+ m600(arg0, 62, Local0, Ones)
+ }
+
+ Store(LLess(Derefof(Index(paui, 1)), Local1), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 16)), Local1), Local0)
+ m600(arg0, 64, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 17)), Local1), Local0)
+ m600(arg0, 65, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLess(m601(1, 1), Local1), Local0)
+ m600(arg0, 66, Local0, Zero)
+
+ Store(LLess(m601(1, 16), Local1), Local0)
+ m600(arg0, 67, Local0, Zero)
+
+ Store(LLess(m601(1, 17), Local1), Local0)
+ m600(arg0, 68, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLess(Derefof(m602(1, 1, 1)), Local1), Local0)
+ m600(arg0, 69, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 16, 1)), Local1), Local0)
+ m600(arg0, 70, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 17, 1)), Local1), Local0)
+ m600(arg0, 71, Local0, Ones)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual(0x321, Local1), Local0)
+ m600(arg0, 72, Local0, Ones)
+
+ Store(LLessEqual(0x322, Local1), Local0)
+ m600(arg0, 73, Local0, Zero)
+
+ Store(LLessEqual(0x320, Local1), Local0)
+ m600(arg0, 74, Local0, Ones)
+
+ Store(LLessEqual(aui1, Local1), Local0)
+ m600(arg0, 75, Local0, Ones)
+
+ Store(LLessEqual(auig, Local1), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LLessEqual(auih, Local1), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aui1)), Local1), Local0)
+ m600(arg0, 78, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(auig)), Local1), Local0)
+ m600(arg0, 79, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Refof(auih)), Local1), Local0)
+ m600(arg0, 80, Local0, Ones)
+ }
+
+ Store(LLessEqual(Derefof(Index(paui, 1)), Local1), Local0)
+ m600(arg0, 81, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paui, 16)), Local1), Local0)
+ m600(arg0, 82, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Index(paui, 17)), Local1), Local0)
+ m600(arg0, 83, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLessEqual(m601(1, 1), Local1), Local0)
+ m600(arg0, 84, Local0, Ones)
+
+ Store(LLessEqual(m601(1, 16), Local1), Local0)
+ m600(arg0, 85, Local0, Zero)
+
+ Store(LLessEqual(m601(1, 17), Local1), Local0)
+ m600(arg0, 86, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(1, 1, 1)), Local1), Local0)
+ m600(arg0, 87, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(1, 16, 1)), Local1), Local0)
+ m600(arg0, 88, Local0, Zero)
+
+ Store(LLessEqual(Derefof(m602(1, 17, 1)), Local1), Local0)
+ m600(arg0, 89, Local0, Ones)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual(0x321, Local1), Local0)
+ m600(arg0, 90, Local0, Zero)
+
+ Store(LNotEqual(0x322, Local1), Local0)
+ m600(arg0, 91, Local0, Ones)
+
+ Store(LNotEqual(0x320, Local1), Local0)
+ m600(arg0, 92, Local0, Ones)
+
+ Store(LNotEqual(aui1, Local1), Local0)
+ m600(arg0, 93, Local0, Zero)
+
+ Store(LNotEqual(auig, Local1), Local0)
+ m600(arg0, 94, Local0, Ones)
+
+ Store(LNotEqual(auih, Local1), Local0)
+ m600(arg0, 95, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aui1)), Local1), Local0)
+ m600(arg0, 96, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(auig)), Local1), Local0)
+ m600(arg0, 97, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Refof(auih)), Local1), Local0)
+ m600(arg0, 98, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paui, 1)), Local1), Local0)
+ m600(arg0, 99, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paui, 16)), Local1), Local0)
+ m600(arg0, 100, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Index(paui, 17)), Local1), Local0)
+ m600(arg0, 101, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LNotEqual(m601(1, 1), Local1), Local0)
+ m600(arg0, 102, Local0, Zero)
+
+ Store(LNotEqual(m601(1, 16), Local1), Local0)
+ m600(arg0, 103, Local0, Ones)
+
+ Store(LNotEqual(m601(1, 17), Local1), Local0)
+ m600(arg0, 104, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(1, 1, 1)), Local1), Local0)
+ m600(arg0, 105, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(1, 16, 1)), Local1), Local0)
+ m600(arg0, 106, Local0, Ones)
+
+ Store(LNotEqual(Derefof(m602(1, 17, 1)), Local1), Local0)
+ m600(arg0, 107, Local0, Ones)
+ }
+ }
+
+ // Buffer to Integer intermediate conversion of the Buffer second
+ // operand of Concatenate operator in case the first one is Integer
+
+ Method(m64q, 1)
+ {
+ Store(Buffer(3){0x21, 0x03, 0x00}, Local1)
+ Store(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local2)
+
+ Store(Concatenate(0x321, Local1), Local0)
+ m600(arg0, 0, Local0, bb26)
+
+ Store(Concatenate(0x321, Local2), Local0)
+ m600(arg0, 1, Local0, bb21)
+
+
+ Store(Concatenate(aui1, Local1), Local0)
+ m600(arg0, 2, Local0, bb26)
+
+ Store(Concatenate(aui1, Local2), Local0)
+ m600(arg0, 3, Local0, bb21)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aui1)), Local1), Local0)
+ m600(arg0, 4, Local0, bb26)
+
+ Store(Concatenate(Derefof(Refof(aui1)), Local2), Local0)
+ m600(arg0, 5, Local0, bb21)
+ }
+
+ Store(Concatenate(Derefof(Index(paui, 1)), Local1), Local0)
+ m600(arg0, 6, Local0, bb26)
+
+ Store(Concatenate(Derefof(Index(paui, 1)), Local2), Local0)
+ m600(arg0, 7, Local0, bb21)
+
+ // Method returns Integer
+
+ Store(Concatenate(m601(1, 1), Local1), Local0)
+ m600(arg0, 8, Local0, bb26)
+
+ Store(Concatenate(m601(1, 1), Local2), Local0)
+ m600(arg0, 9, Local0, bb21)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(1, 1, 1)), Local1), Local0)
+ m600(arg0, 10, Local0, bb26)
+
+ Store(Concatenate(Derefof(m602(1, 1, 1)), Local2), Local0)
+ m600(arg0, 11, Local0, bb21)
+ }
+
+ Concatenate(0x321, Local1, Local0)
+ m600(arg0, 12, Local0, bb26)
+
+ Concatenate(0x321, Local2, Local0)
+ m600(arg0, 13, Local0, bb21)
+
+
+ Concatenate(aui1, Local1, Local0)
+ m600(arg0, 14, Local0, bb26)
+
+ Concatenate(aui1, Local2, Local0)
+ m600(arg0, 15, Local0, bb21)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aui1)), Local1, Local0)
+ m600(arg0, 16, Local0, bb26)
+
+ Concatenate(Derefof(Refof(aui1)), Local2, Local0)
+ m600(arg0, 17, Local0, bb21)
+ }
+
+ Concatenate(Derefof(Index(paui, 1)), Local1, Local0)
+ m600(arg0, 18, Local0, bb26)
+
+ Concatenate(Derefof(Index(paui, 1)), Local2, Local0)
+ m600(arg0, 19, Local0, bb21)
+
+ // Method returns Integer
+
+ Concatenate(m601(1, 1), Local1, Local0)
+ m600(arg0, 20, Local0, bb26)
+
+ Concatenate(m601(1, 1), Local2, Local0)
+ m600(arg0, 21, Local0, bb21)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Concatenate(Derefof(m602(1, 1, 1)), Local1, Local0)
+ m600(arg0, 22, Local0, bb26)
+
+ Concatenate(Derefof(m602(1, 1, 1)), Local2, Local0)
+ m600(arg0, 23, Local0, bb21)
+ }
+ }
+
+ Method(m32q, 1)
+ {
+ Store(Buffer(3){0x21, 0x03, 0x00}, Local1)
+ Store(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local2)
+
+ Store(Concatenate(0x321, Local1), Local0)
+ m600(arg0, 0, Local0, bb27)
+
+ Store(Concatenate(0x321, Local2), Local0)
+ m600(arg0, 1, Local0, bb28)
+
+
+ Store(Concatenate(aui1, Local1), Local0)
+ m600(arg0, 2, Local0, bb27)
+
+ Store(Concatenate(aui1, Local2), Local0)
+ m600(arg0, 3, Local0, bb28)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aui1)), Local1), Local0)
+ m600(arg0, 4, Local0, bb27)
+
+ Store(Concatenate(Derefof(Refof(aui1)), Local2), Local0)
+ m600(arg0, 5, Local0, bb28)
+ }
+
+ Store(Concatenate(Derefof(Index(paui, 1)), Local1), Local0)
+ m600(arg0, 6, Local0, bb27)
+
+ Store(Concatenate(Derefof(Index(paui, 1)), Local2), Local0)
+ m600(arg0, 7, Local0, bb28)
+
+ // Method returns Integer
+
+ Store(Concatenate(m601(1, 1), Local1), Local0)
+ m600(arg0, 8, Local0, bb27)
+
+ Store(Concatenate(m601(1, 1), Local2), Local0)
+ m600(arg0, 9, Local0, bb28)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(1, 1, 1)), Local1), Local0)
+ m600(arg0, 10, Local0, bb27)
+
+ Store(Concatenate(Derefof(m602(1, 1, 1)), Local2), Local0)
+ m600(arg0, 11, Local0, bb28)
+ }
+
+ Concatenate(0x321, Local1, Local0)
+ m600(arg0, 12, Local0, bb27)
+
+ Concatenate(0x321, Local2, Local0)
+ m600(arg0, 13, Local0, bb28)
+
+
+ Concatenate(aui1, Local1, Local0)
+ m600(arg0, 14, Local0, bb27)
+
+ Concatenate(aui1, Local2, Local0)
+ m600(arg0, 15, Local0, bb28)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aui1)), Local1, Local0)
+ m600(arg0, 16, Local0, bb27)
+
+ Concatenate(Derefof(Refof(aui1)), Local2, Local0)
+ m600(arg0, 17, Local0, bb28)
+ }
+
+ Concatenate(Derefof(Index(paui, 1)), Local1, Local0)
+ m600(arg0, 18, Local0, bb27)
+
+ Concatenate(Derefof(Index(paui, 1)), Local2, Local0)
+ m600(arg0, 20, Local0, bb28)
+
+ // Method returns Integer
+
+ Concatenate(m601(1, 1), Local1, Local0)
+ m600(arg0, 21, Local0, bb27)
+
+ Concatenate(m601(1, 1), Local2, Local0)
+ m600(arg0, 22, Local0, bb28)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Concatenate(Derefof(m602(1, 1, 1)), Local1, Local0)
+ m600(arg0, 23, Local0, bb27)
+
+ Concatenate(Derefof(m602(1, 1, 1)), Local2, Local0)
+ m600(arg0, 24, Local0, bb28)
+ }
+ }
+
+ // Buffer to Integer conversion of the Buffer Length (second)
+ // operand of the ToString operator
+
+ // Common 32-bit/64-bit test
+ Method(m066, 1)
+ {
+ Store(Buffer(3){0x21, 0x03, 0x00}, Local1)
+ Store(Buffer(1){0xb}, Local2)
+
+ Store(ToString(Buffer() {"This is auxiliary Buffer"},
+ Local2), Local0)
+ m600(arg0, 0, Local0, bs1b)
+
+ Store(ToString(Buffer() {"This is auxiliary Buffer"},
+ Local1), Local0)
+ m600(arg0, 1, Local0, bs1c)
+
+ Store(ToString(aub6, Local2), Local0)
+ m600(arg0, 2, Local0, bs1b)
+
+ Store(ToString(aub6, Local1), Local0)
+ m600(arg0, 3, Local0, bs1c)
+
+ if (y078) {
+ Store(ToString(Derefof(Refof(aub6)), Local2), Local0)
+ m600(arg0, 4, Local0, bs1b)
+
+ Store(ToString(Derefof(Refof(aub6)), Local1), Local0)
+ m600(arg0, 5, Local0, bs1c)
+ }
+
+ Store(ToString(Derefof(Index(paub, 6)), Local2), Local0)
+ m600(arg0, 6, Local0, bs1b)
+
+ Store(ToString(Derefof(Index(paub, 6)), Local1), Local0)
+ m600(arg0, 7, Local0, bs1c)
+
+ // Method returns Buffer
+
+ Store(ToString(m601(3, 6), Local2), Local0)
+ m600(arg0, 8, Local0, bs1b)
+
+ Store(ToString(m601(3, 6), Local1), Local0)
+ m600(arg0, 9, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(ToString(Derefof(m602(3, 6, 1)), Local2), Local0)
+ m600(arg0, 10, Local0, bs1b)
+
+ Store(ToString(Derefof(m602(3, 6, 1)), Local1), Local0)
+ m600(arg0, 11, Local0, bs1c)
+ }
+
+ ToString(Buffer() {"This is auxiliary Buffer"},
+ Local2, Local0)
+ m600(arg0, 12, Local0, bs1b)
+
+ ToString(Buffer() {"This is auxiliary Buffer"},
+ Local1, Local0)
+ m600(arg0, 13, Local0, bs1c)
+
+ ToString(aub6, Local2, Local0)
+ m600(arg0, 14, Local0, bs1b)
+
+ ToString(aub6, Local1, Local0)
+ m600(arg0, 15, Local0, bs1c)
+
+ if (y078) {
+ ToString(Derefof(Refof(aub6)), Local2, Local0)
+ m600(arg0, 16, Local0, bs1b)
+
+ ToString(Derefof(Refof(aub6)), Local1, Local0)
+ m600(arg0, 17, Local0, bs1c)
+ }
+
+ ToString(Derefof(Index(paub, 6)), Local2, Local0)
+ m600(arg0, 18, Local0, bs1b)
+
+ ToString(Derefof(Index(paub, 6)), Local1, Local0)
+ m600(arg0, 19, Local0, bs1c)
+
+ // Method returns Buffer
+
+ ToString(m601(3, 6), Local2, Local0)
+ m600(arg0, 20, Local0, bs1b)
+
+ ToString(m601(3, 6), Local1, Local0)
+ m600(arg0, 21, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ ToString(Derefof(m602(3, 6, 1)), Local2, Local0)
+ m600(arg0, 22, Local0, bs1b)
+
+ ToString(Derefof(m602(3, 6, 1)), Local1, Local0)
+ m600(arg0, 23, Local0, bs1c)
+ }
+ }
+
+ Method(m64r, 1)
+ {
+ Store(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local1)
+
+ Store(ToString(Buffer() {"This is auxiliary Buffer"},
+ Local1), Local0)
+ m600(arg0, 0, Local0, bs1c)
+
+ Store(ToString(aub6, Local1), Local0)
+ m600(arg0, 1, Local0, bs1c)
+
+ if (y078) {
+ Store(ToString(Derefof(Refof(aub6)), Local1), Local0)
+ m600(arg0, 2, Local0, bs1c)
+ }
+
+ Store(ToString(Derefof(Index(paub, 6)), Local1), Local0)
+ m600(arg0, 3, Local0, bs1c)
+
+ // Method returns Buffer
+
+ Store(ToString(m601(3, 6), Local1), Local0)
+ m600(arg0, 4, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(ToString(Derefof(m602(3, 6, 1)), Local1), Local0)
+ m600(arg0, 5, Local0, bs1c)
+ }
+
+ ToString(Buffer() {"This is auxiliary Buffer"},
+ Local1, Local0)
+ m600(arg0, 6, Local0, bs1c)
+
+ ToString(aub6, Local1, Local0)
+ m600(arg0, 7, Local0, bs1c)
+
+ if (y078) {
+ ToString(Derefof(Refof(aub6)), Local1, Local0)
+ m600(arg0, 8, Local0, bs1c)
+ }
+
+ ToString(Derefof(Index(paub, 6)), Local1, Local0)
+ m600(arg0, 9, Local0, bs1c)
+
+ // Method returns Buffer
+
+ ToString(m601(3, 6), Local1, Local0)
+ m600(arg0, 10, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ ToString(Derefof(m602(3, 6, 1)), Local1, Local0)
+ m600(arg0, 11, Local0, bs1c)
+ }
+ }
+
+ Method(m32r, 1)
+ {
+ Store(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local1)
+
+ Store(ToString(Buffer() {"This is auxiliary Buffer"},
+ Local1), Local0)
+ m600(arg0, 0, Local0, bs1c)
+
+ Store(ToString(aub6, Local1), Local0)
+ m600(arg0, 1, Local0, bs1c)
+
+ if (y078) {
+ Store(ToString(Derefof(Refof(aub6)), Local1), Local0)
+ m600(arg0, 2, Local0, bs1c)
+ }
+
+ Store(ToString(Derefof(Index(paub, 6)), Local1), Local0)
+ m600(arg0, 3, Local0, bs1c)
+
+ // Method returns Buffer
+
+ Store(ToString(m601(3, 6), Local1), Local0)
+ m600(arg0, 4, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(ToString(Derefof(m602(3, 6, 1)), Local1), Local0)
+ m600(arg0, 5, Local0, bs1c)
+ }
+
+ ToString(Buffer() {"This is auxiliary Buffer"},
+ Local1, Local0)
+ m600(arg0, 6, Local0, bs1c)
+
+ ToString(aub6, Local1, Local0)
+ m600(arg0, 7, Local0, bs1c)
+
+ if (y078) {
+ ToString(Derefof(Refof(aub6)), Local1, Local0)
+ m600(arg0, 8, Local0, bs1c)
+ }
+
+ ToString(Derefof(Index(paub, 6)), Local1, Local0)
+ m600(arg0, 9, Local0, bs1c)
+
+ // Method returns Buffer
+
+ ToString(m601(3, 6), Local1, Local0)
+ m600(arg0, 10, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ ToString(Derefof(m602(3, 6, 1)), Local1, Local0)
+ m600(arg0, 11, Local0, bs1c)
+ }
+ }
+
+ // Buffer to Integer conversion of the Buffer Index (second)
+ // operand of the Index operator
+ Method(m067, 1)
+ {
+ Store(Buffer(1){0xb}, Local1)
+
+ Store(Index(aus6, Local1), Local0)
+ m600(arg0, 0, Derefof(Local0), bi10)
+
+ Store(Index(aub6, Local1), Local0)
+ m600(arg0, 1, Derefof(Local0), bi10)
+
+ Store(Index(aup0, Local1), Local0)
+ m600(arg0, 2, Derefof(Local0), bi11)
+
+ if (y078) {
+ Store(Index(Derefof(Refof(aus6)), Local1), Local0)
+ m600(arg0, 3, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Refof(aub6)), Local1), Local0)
+ m600(arg0, 4, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Refof(aup0)), Local1), Local0)
+ m600(arg0, 5, Derefof(Local0), bi11)
+ }
+
+ Store(Index(Derefof(Index(paus, 6)), Local1), Local0)
+ m600(arg0, 6, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Index(paub, 6)), Local1), Local0)
+ m600(arg0, 7, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Index(paup, 0)), Local1), Local0)
+ m600(arg0, 8, Derefof(Local0), bi11)
+
+
+ // Method returns Object
+
+ if (y900) {
+ Store(Index(m601(2, 6), Local1), Local0)
+ m600(arg0, 9, Derefof(Local0), bi10)
+
+ Store(Index(m601(3, 6), Local1), Local0)
+ m600(arg0, 10, Derefof(Local0), bi10)
+
+ Store(Index(m601(4, 0), Local1), Local0)
+ m600(arg0, 11, Derefof(Local0), bi11)
+ }
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Index(Derefof(m602(2, 6, 1)), Local1), Local0)
+ m600(arg0, 12, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(m602(3, 6, 1)), Local1), Local0)
+ m600(arg0, 13, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(m602(4, 0, 1)), Local1), Local0)
+ m600(arg0, 14, Derefof(Local0), bi11)
+ }
+
+ Index(aus6, Local1, Local0)
+ m600(arg0, 15, Derefof(Local0), bi10)
+
+ Index(aub6, Local1, Local0)
+ m600(arg0, 16, Derefof(Local0), bi10)
+
+ Index(aup0, Local1, Local0)
+ m600(arg0, 17, Derefof(Local0), bi11)
+
+ if (y078) {
+ Index(Derefof(Refof(aus6)), Local1, Local0)
+ m600(arg0, 18, Derefof(Local0), bi10)
+
+ Index(Derefof(Refof(aub6)), Local1, Local0)
+ m600(arg0, 19, Derefof(Local0), bi10)
+
+ Index(Derefof(Refof(aup0)), Local1, Local0)
+ m600(arg0, 20, Derefof(Local0), bi11)
+ }
+
+ Index(Derefof(Index(paus, 6)), Local1, Local0)
+ m600(arg0, 21, Derefof(Local0), bi10)
+
+ Index(Derefof(Index(paub, 6)), Local1, Local0)
+ m600(arg0, 22, Derefof(Local0), bi10)
+
+ Index(Derefof(Index(paup, 0)), Local1, Local0)
+ m600(arg0, 23, Derefof(Local0), bi11)
+
+
+ // Method returns Object
+
+ if (y900) {
+ Index(m601(2, 6), Local1, Local0)
+ m600(arg0, 24, Derefof(Local0), bi10)
+
+ Index(m601(3, 6), Local1, Local0)
+ m600(arg0, 25, Derefof(Local0), bi10)
+
+ Index(m601(4, 0), Local1, Local0)
+ m600(arg0, 26, Derefof(Local0), bi11)
+ }
+
+ // Method returns Reference
+
+ if (y500) {
+ Index(Derefof(m602(2, 6, 1)), Local1, Local0)
+ m600(arg0, 27, Derefof(Local0), bi10)
+
+ Index(Derefof(m602(3, 6, 1)), Local1, Local0)
+ m600(arg0, 28, Derefof(Local0), bi10)
+
+ Index(Derefof(m602(4, 0, 1)), Local1, Local0)
+ m600(arg0, 29, Derefof(Local0), bi11)
+ }
+
+ if (y098) {
+ Store(Index(aus6, Local1, Local2), Local0)
+ m600(arg0, 30, Derefof(Local0), bi10)
+
+ Store(Index(aub6, Local1, Local2), Local0)
+ m600(arg0, 31, Derefof(Local0), bi10)
+
+ Store(Index(aup0, Local1, Local2), Local0)
+ m600(arg0, 32, Derefof(Local0), bi11)
+ }
+
+ if (y078) {
+ Store(Index(Derefof(Refof(aus6)), Local1, Local2), Local0)
+ m600(arg0, 33, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Refof(aub6)), Local1, Local2), Local0)
+ m600(arg0, 34, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Refof(aup0)), Local1, Local2), Local0)
+ m600(arg0, 35, Derefof(Local0), bi11)
+ }
+
+ if (y098) {
+ Store(Index(Derefof(Index(paus, 6)), Local1, Local2), Local0)
+ m600(arg0, 36, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Index(paub, 6)), Local1, Local2), Local0)
+ m600(arg0, 37, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Index(paup, 0)), Local1, Local2), Local0)
+ m600(arg0, 38, Derefof(Local0), bi11)
+ }
+
+ // Method returns Object
+
+ if (LAnd(y900, y098)) {
+ Store(Index(m601(2, 6), Local1, Local2), Local0)
+ m600(arg0, 39, Derefof(Local0), bi10)
+
+ Store(Index(m601(3, 6), Local1, Local2), Local0)
+ m600(arg0, 40, Derefof(Local0), bi10)
+
+ Store(Index(m601(4, 0), Local1, Local2), Local0)
+ m600(arg0, 41, Derefof(Local0), bi11)
+ }
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Index(Derefof(m602(2, 6, 1)), Local1, Local2), Local0)
+ m600(arg0, 42, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(m602(3, 6, 1)), Local1, Local2), Local0)
+ m600(arg0, 43, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(m602(4, 0, 1)), Local1, Local2), Local0)
+ m600(arg0, 44, Derefof(Local0), bi11)
+ }
+ }
+
+ // Buffer to Integer conversion of the String Arg (third)
+ // operand of the Fatal operator
+ // (it can only be checked an exception does not occur)
+ Method(m068, 1)
+ {
+ Store(Buffer(3){0x21, 0x03, 0x00}, Local1)
+ Store(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local2)
+
+ CH03(arg0, z117, 9, 0, 0)
+ Fatal(0xff, 0xffffffff, Local1)
+ if (F64) {
+ Fatal(0xff, 0xffffffff, Local2)
+ } else {
+ Fatal(0xff, 0xffffffff, Local2)
+ }
+ CH03(arg0, z117, 10, 0, 0)
+ }
+
+ // Buffer to Integer conversion of the Buffer Index and Length
+ // operands of the Mid operator
+
+ // Common 32-bit/64-bit test
+ Method(m069, 1)
+ {
+ Store(Buffer(1){0xb}, Local1)
+
+ // String to Integer conversion of the String Index operand
+
+ Store(Mid("This is auxiliary String", Local1, 10), Local0)
+ m600(arg0, 0, Local0, bs1d)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, Local1, 10), Local0)
+ m600(arg0, 1, Local0, bb32)
+
+ Store(Mid(aus6, Local1, 10), Local0)
+ m600(arg0, 2, Local0, bs1d)
+
+ Store(Mid(aub6, Local1, 10), Local0)
+ m600(arg0, 3, Local0, bb32)
+
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), Local1, 10), Local0)
+ m600(arg0, 4, Local0, bs1d)
+
+ Store(Mid(Derefof(Refof(aub6)), Local1, 10), Local0)
+ m600(arg0, 5, Local0, bb32)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), Local1, 10), Local0)
+ m600(arg0, 6, Local0, bs1d)
+
+ Store(Mid(Derefof(Index(paub, 6)), Local1, 10), Local0)
+ m600(arg0, 7, Local0, bb32)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), Local1, 10), Local0)
+ m600(arg0, 8, Local0, bs1d)
+
+ Store(Mid(m601(3, 6), Local1, 10), Local0)
+ m600(arg0, 9, Local0, bb32)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), Local1, 10), Local0)
+ m600(arg0, 10, Local0, bs1d)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), Local1, 10), Local0)
+ m600(arg0, 11, Local0, bb32)
+ }
+
+ Mid("This is auxiliary String", Local1, 10, Local0)
+ m600(arg0, 12, Local0, bs1d)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, Local1, 10, Local0)
+ m600(arg0, 13, Local0, bb32)
+
+ Mid(aus6, Local1, 10, Local0)
+ m600(arg0, 14, Local0, bs1d)
+
+ Mid(aub6, Local1, 10, Local0)
+ m600(arg0, 15, Local0, bb32)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), Local1, 10, Local0)
+ m600(arg0, 16, Local0, bs1d)
+
+ Mid(Derefof(Refof(aub6)), Local1, 10, Local0)
+ m600(arg0, 17, Local0, bb32)
+ }
+
+ Mid(Derefof(Index(paus, 6)), Local1, 10, Local0)
+ m600(arg0, 18, Local0, bs1d)
+
+ Mid(Derefof(Index(paub, 6)), Local1, 10, Local0)
+ m600(arg0, 19, Local0, bb32)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), Local1, 10, Local0)
+ m600(arg0, 20, Local0, bs1d)
+
+ Mid(m601(3, 6), Local1, 10, Local0)
+ m600(arg0, 21, Local0, bb32)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), Local1, 10, Local0)
+ m600(arg0, 22, Local0, bs1d)
+
+ Mid(Derefof(m602(3, 6, 1)), Local1, 10, Local0)
+ m600(arg0, 23, Local0, bb32)
+ }
+
+ // String to Integer conversion of the String Length operand
+
+ Store(Mid("This is auxiliary String", 0, Local1), Local0)
+ m600(arg0, 24, Local0, bs1b)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, 0, Local1), Local0)
+ m600(arg0, 25, Local0, bb33)
+
+ Store(Mid(aus6, 0, Local1), Local0)
+ m600(arg0, 26, Local0, bs1b)
+
+ Store(Mid(aub6, 0, Local1), Local0)
+ m600(arg0, 27, Local0, bb33)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), 0, Local1), Local0)
+ m600(arg0, 28, Local0, bs1b)
+
+ Store(Mid(Derefof(Refof(aub6)), 0, Local1), Local0)
+ m600(arg0, 29, Local0, bb33)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), 0, Local1), Local0)
+ m600(arg0, 30, Local0, bs1b)
+
+ Store(Mid(Derefof(Index(paub, 6)), 0, Local1), Local0)
+ m600(arg0, 31, Local0, bb33)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), 0, Local1), Local0)
+ m600(arg0, 32, Local0, bs1b)
+
+ Store(Mid(m601(3, 6), 0, Local1), Local0)
+ m600(arg0, 33, Local0, bb33)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), 0, Local1), Local0)
+ m600(arg0, 34, Local0, bs1b)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), 0, Local1), Local0)
+ m600(arg0, 35, Local0, bb33)
+ }
+
+ Mid("This is auxiliary String", 0, Local1, Local0)
+ m600(arg0, 36, Local0, bs1b)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, 0, Local1, Local0)
+ m600(arg0, 37, Local0, bb33)
+
+ Mid(aus6, 0, Local1, Local0)
+ m600(arg0, 37, Local0, bs1b)
+
+ Mid(aub6, 0, Local1, Local0)
+ m600(arg0, 39, Local0, bb33)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), 0, Local1, Local0)
+ m600(arg0, 40, Local0, bs1b)
+
+ Mid(Derefof(Refof(aub6)), 0, Local1, Local0)
+ m600(arg0, 41, Local0, bb33)
+ }
+
+ Mid(Derefof(Index(paus, 6)), 0, Local1, Local0)
+ m600(arg0, 42, Local0, bs1b)
+
+ Mid(Derefof(Index(paub, 6)), 0, Local1, Local0)
+ m600(arg0, 43, Local0, bb33)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), 0, Local1, Local0)
+ m600(arg0, 44, Local0, bs1b)
+
+ Mid(m601(3, 6), 0, Local1, Local0)
+ m600(arg0, 45, Local0, bb33)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), 0, Local1, Local0)
+ m600(arg0, 46, Local0, bs1b)
+
+ Mid(Derefof(m602(3, 6, 1)), 0, Local1, Local0)
+ m600(arg0, 47, Local0, bb33)
+ }
+ }
+
+ Method(m64s, 1)
+ {
+ Store(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local1)
+ Store(Buffer(1){0xb}, Local2)
+
+ // String to Integer conversion of the String Length operand
+
+ Store(Mid("This is auxiliary String", 0, Local1), Local0)
+ m600(arg0, 0, Local0, bs1e)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, 0, Local1), Local0)
+ m600(arg0, 1, Local0, bb34)
+
+ Store(Mid(aus6, 0, Local1), Local0)
+ m600(arg0, 2, Local0, bs1e)
+
+ Store(Mid(aub6, 0, Local1), Local0)
+ m600(arg0, 3, Local0, bb34)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), 0, Local1), Local0)
+ m600(arg0, 4, Local0, bs1e)
+
+ Store(Mid(Derefof(Refof(aub6)), 0, Local1), Local0)
+ m600(arg0, 5, Local0, bb34)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), 0, Local1), Local0)
+ m600(arg0, 6, Local0, bs1e)
+
+ Store(Mid(Derefof(Index(paub, 6)), 0, Local1), Local0)
+ m600(arg0, 7, Local0, bb34)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), 0, Local1), Local0)
+ m600(arg0, 8, Local0, bs1e)
+
+ Store(Mid(m601(3, 6), 0, Local1), Local0)
+ m600(arg0, 9, Local0, bb34)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), 0, Local1), Local0)
+ m600(arg0, 10, Local0, bs1e)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), 0, Local1), Local0)
+ m600(arg0, 11, Local0, bb34)
+ }
+
+ Mid("This is auxiliary String", 0, Local1, Local0)
+ m600(arg0, 12, Local0, bs1e)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, 0, Local1, Local0)
+ m600(arg0, 13, Local0, bb34)
+
+ Mid(aus6, 0, Local1, Local0)
+ m600(arg0, 14, Local0, bs1e)
+
+ Mid(aub6, 0, Local1, Local0)
+ m600(arg0, 15, Local0, bb34)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), 0, Local1, Local0)
+ m600(arg0, 16, Local0, bs1e)
+
+ Mid(Derefof(Refof(aub6)), 0, Local1, Local0)
+ m600(arg0, 17, Local0, bb34)
+ }
+
+ Mid(Derefof(Index(paus, 6)), 0, Local1, Local0)
+ m600(arg0, 18, Local0, bs1e)
+
+ Mid(Derefof(Index(paub, 6)), 0, Local1, Local0)
+ m600(arg0, 19, Local0, bb34)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), 0, Local1, Local0)
+ m600(arg0, 20, Local0, bs1e)
+
+ Mid(m601(3, 6), 0, Local1, Local0)
+ m600(arg0, 21, Local0, bb34)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), 0, Local1, Local0)
+ m600(arg0, 22, Local0, bs1e)
+
+ Mid(Derefof(m602(3, 6, 1)), 0, Local1, Local0)
+ m600(arg0, 23, Local0, bb34)
+ }
+
+ // String to Integer conversion of the both String operands
+
+ Store(Mid("This is auxiliary String", Local2, Local1), Local0)
+ m600(arg0, 24, Local0, bs1f)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, Local2, Local1), Local0)
+ m600(arg0, 25, Local0, bb35)
+
+ Store(Mid(aus6, Local2, Local1), Local0)
+ m600(arg0, 26, Local0, bs1f)
+
+ Store(Mid(aub6, Local2, Local1), Local0)
+ m600(arg0, 27, Local0, bb35)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), Local2, Local1), Local0)
+ m600(arg0, 28, Local0, bs1f)
+
+ Store(Mid(Derefof(Refof(aub6)), Local2, Local1), Local0)
+ m600(arg0, 29, Local0, bb35)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), Local2, Local1), Local0)
+ m600(arg0, 30, Local0, bs1f)
+
+ Store(Mid(Derefof(Index(paub, 6)), Local2, Local1), Local0)
+ m600(arg0, 31, Local0, bb35)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), Local2, Local1), Local0)
+ m600(arg0, 32, Local0, bs1f)
+
+ Store(Mid(m601(3, 6), Local2, Local1), Local0)
+ m600(arg0, 33, Local0, bb35)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), Local2, Local1), Local0)
+ m600(arg0, 34, Local0, bs1f)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), Local2, Local1), Local0)
+ m600(arg0, 35, Local0, bb35)
+ }
+
+ Mid("This is auxiliary String", Local2, Local1, Local0)
+ m600(arg0, 36, Local0, bs1f)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, Local2, Local1, Local0)
+ m600(arg0, 37, Local0, bb35)
+
+ Mid(aus6, Local2, Local1, Local0)
+ m600(arg0, 38, Local0, bs1f)
+
+ Mid(aub6, Local2, Local1, Local0)
+ m600(arg0, 39, Local0, bb35)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), Local2, Local1, Local0)
+ m600(arg0, 40, Local0, bs1f)
+
+ Mid(Derefof(Refof(aub6)), Local2, Local1, Local0)
+ m600(arg0, 41, Local0, bb35)
+ }
+
+ Mid(Derefof(Index(paus, 6)), Local2, Local1, Local0)
+ m600(arg0, 42, Local0, bs1f)
+
+ Mid(Derefof(Index(paub, 6)), Local2, Local1, Local0)
+ m600(arg0, 43, Local0, bb35)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), Local2, Local1, Local0)
+ m600(arg0, 44, Local0, bs1f)
+
+ Mid(m601(3, 6), Local2, Local1, Local0)
+ m600(arg0, 45, Local0, bb35)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), Local2, Local1, Local0)
+ m600(arg0, 46, Local0, bs1f)
+
+ Mid(Derefof(m602(3, 6, 1)), Local2, Local1, Local0)
+ m600(arg0, 47, Local0, bb35)
+ }
+ }
+
+ Method(m32s, 1)
+ {
+ Store(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local1)
+ Store(Buffer(1){0xb}, Local2)
+
+ // String to Integer conversion of the String Length operand
+
+ Store(Mid("This is auxiliary String", 0, Local1), Local0)
+ m600(arg0, 0, Local0, bs1e)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, 0, Local1), Local0)
+ m600(arg0, 1, Local0, bb34)
+
+ Store(Mid(aus6, 0, Local1), Local0)
+ m600(arg0, 2, Local0, bs1e)
+
+ Store(Mid(aub6, 0, Local1), Local0)
+ m600(arg0, 3, Local0, bb34)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), 0, Local1), Local0)
+ m600(arg0, 4, Local0, bs1e)
+
+ Store(Mid(Derefof(Refof(aub6)), 0, Local1), Local0)
+ m600(arg0, 5, Local0, bb34)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), 0, Local1), Local0)
+ m600(arg0, 6, Local0, bs1e)
+
+ Store(Mid(Derefof(Index(paub, 6)), 0, Local1), Local0)
+ m600(arg0, 7, Local0, bb34)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), 0, Local1), Local0)
+ m600(arg0, 8, Local0, bs1e)
+
+ Store(Mid(m601(3, 6), 0, Local1), Local0)
+ m600(arg0, 9, Local0, bb34)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), 0, Local1), Local0)
+ m600(arg0, 10, Local0, bs1e)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), 0, Local1), Local0)
+ m600(arg0, 11, Local0, bb34)
+ }
+
+ Mid("This is auxiliary String", 0, Local1, Local0)
+ m600(arg0, 12, Local0, bs1e)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, 0, Local1, Local0)
+ m600(arg0, 13, Local0, bb34)
+
+ Mid(aus6, 0, Local1, Local0)
+ m600(arg0, 14, Local0, bs1e)
+
+ Mid(aub6, 0, Local1, Local0)
+ m600(arg0, 15, Local0, bb34)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), 0, Local1, Local0)
+ m600(arg0, 16, Local0, bs1e)
+
+ Mid(Derefof(Refof(aub6)), 0, Local1, Local0)
+ m600(arg0, 17, Local0, bb34)
+ }
+
+ Mid(Derefof(Index(paus, 6)), 0, Local1, Local0)
+ m600(arg0, 18, Local0, bs1e)
+
+ Mid(Derefof(Index(paub, 6)), 0, Local1, Local0)
+ m600(arg0, 19, Local0, bb34)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), 0, Local1, Local0)
+ m600(arg0, 20, Local0, bs1e)
+
+ Mid(m601(3, 6), 0, Local1, Local0)
+ m600(arg0, 21, Local0, bb34)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), 0, Local1, Local0)
+ m600(arg0, 22, Local0, bs1e)
+
+ Mid(Derefof(m602(3, 6, 1)), 0, Local1, Local0)
+ m600(arg0, 23, Local0, bb34)
+ }
+
+ // String to Integer conversion of the both String operands
+
+ Store(Mid("This is auxiliary String", Local2, Local1), Local0)
+ m600(arg0, 24, Local0, bs1f)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, Local2, Local1), Local0)
+ m600(arg0, 25, Local0, bb35)
+
+ Store(Mid(aus6, Local2, Local1), Local0)
+ m600(arg0, 26, Local0, bs1f)
+
+ Store(Mid(aub6, Local2, Local1), Local0)
+ m600(arg0, 27, Local0, bb35)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), Local2, Local1), Local0)
+ m600(arg0, 28, Local0, bs1f)
+
+ Store(Mid(Derefof(Refof(aub6)), Local2, Local1), Local0)
+ m600(arg0, 29, Local0, bb35)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), Local2, Local1), Local0)
+ m600(arg0, 30, Local0, bs1f)
+
+ Store(Mid(Derefof(Index(paub, 6)), Local2, Local1), Local0)
+ m600(arg0, 31, Local0, bb35)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), Local2, Local1), Local0)
+ m600(arg0, 32, Local0, bs1f)
+
+ Store(Mid(m601(3, 6), Local2, Local1), Local0)
+ m600(arg0, 33, Local0, bb35)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), Local2, Local1), Local0)
+ m600(arg0, 34, Local0, bs1f)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), Local2, Local1), Local0)
+ m600(arg0, 35, Local0, bb35)
+ }
+
+ Mid("This is auxiliary String", Local2, Local1, Local0)
+ m600(arg0, 36, Local0, bs1f)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, Local2, Local1, Local0)
+ m600(arg0, 37, Local0, bb35)
+
+ Mid(aus6, Local2, Local1, Local0)
+ m600(arg0, 38, Local0, bs1f)
+
+ Mid(aub6, Local2, Local1, Local0)
+ m600(arg0, 39, Local0, bb35)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), Local2, Local1, Local0)
+ m600(arg0, 40, Local0, bs1f)
+
+ Mid(Derefof(Refof(aub6)), Local2, Local1, Local0)
+ m600(arg0, 41, Local0, bb35)
+ }
+
+ Mid(Derefof(Index(paus, 6)), Local2, Local1, Local0)
+ m600(arg0, 42, Local0, bs1f)
+
+ Mid(Derefof(Index(paub, 6)), Local2, Local1, Local0)
+ m600(arg0, 43, Local0, bb35)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), Local2, Local1, Local0)
+ m600(arg0, 44, Local0, bs1f)
+
+ Mid(m601(3, 6), Local2, Local1, Local0)
+ m600(arg0, 45, Local0, bb35)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), Local2, Local1, Local0)
+ m600(arg0, 46, Local0, bs1f)
+
+ Mid(Derefof(m602(3, 6, 1)), Local2, Local1, Local0)
+ m600(arg0, 47, Local0, bb35)
+ }
+ }
+
+ // Buffer to Integer conversion of the Buffer StartIndex
+ // operand of the Match operator
+ Method(m06a, 1)
+ {
+ Store(Buffer(1){0xb}, Local1)
+
+ Store(Match(
+ Package(){
+ 0xa50, 0xa51, 0xa52, 0xa53, 0xa54, 0xa55, 0xa56, 0xa57,
+ 0xa58, 0xa59, 0xa5a, 0xa5b, 0xa5c, 0xa5d, 0xa5e,},
+ MEQ, 0xa5d, MTR, 0, Local1), Local0)
+ m600(arg0, 0, Local0, 0xd)
+
+ Store(Match(
+ Package(){
+ 0xa50, 0xa51, 0xa52, 0xa53, 0xa54, 0xa55, 0xa56, 0xa57,
+ 0xa58, 0xa59, 0xa5a, 0xa5b, 0xa5c, 0xa5d, 0xa5e,},
+ MEQ, 0xa5a, MTR, 0, Local1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(Match(aup0, MEQ, 0xa5d, MTR, 0, Local1), Local0)
+ m600(arg0, 2, Local0, 0xd)
+
+ Store(Match(aup0, MEQ, 0xa5a, MTR, 0, Local1), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(Match(Derefof(Refof(aup0)), MEQ, 0xa5d, MTR, 0, Local1), Local0)
+ m600(arg0, 4, Local0, 0xd)
+
+ Store(Match(Derefof(Refof(aup0)), MEQ, 0xa5a, MTR, 0, Local1), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(Match(Derefof(Index(paup, 0)), MEQ, 0xa5d, MTR, 0, Local1), Local0)
+ m600(arg0, 6, Local0, 0xd)
+
+ Store(Match(Derefof(Index(paup, 0)), MEQ, 0xa5a, MTR, 0, Local1), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Object
+
+ Store(Match(m601(4, 0), MEQ, 0xa5d, MTR, 0, Local1), Local0)
+ m600(arg0, 8, Local0, 0xd)
+
+ Store(Match(m601(4, 0), MEQ, 0xa5a, MTR, 0, Local1), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Match(Derefof(m602(4, 0, 1)), MEQ, 0xa5d, MTR, 0, Local1), Local0)
+ m600(arg0, 10, Local0, 0xd)
+
+ Store(Match(Derefof(m602(4, 0, 1)), MEQ, 0xa5a, MTR, 0, Local1), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+ }
+
+// Method(m64t, 1)
+
+// Method(m32t, 1)
+
+ // Buffer to Integer conversion of the Buffer sole operand
+ // of the Method execution control operators (Sleep, Stall)
+ Method(m06b, 1)
+ {
+ Store(Buffer(3){0x21, 0x03, 0x00}, Local3)
+ Store(Buffer(1){0x3f}, Local4)
+
+ CH03(arg0, z117, 11, 0, 0)
+
+ // Sleep
+
+ Store(Timer, Local0)
+
+ Sleep(Local3)
+ CH03(arg0, z117, 12, 0, 0)
+
+ Store(Timer, Local1)
+ Subtract(Local1, Local0, Local2)
+ if (LLess(Local2, c08c)) {
+ err(arg0, z117, 0, 0, 0, Local2, c08c)
+ }
+
+ // Stall
+
+ Store(Timer, Local0)
+
+ Stall(Local4)
+ CH03(arg0, z117, 13, 0, 0)
+
+ Store(Timer, Local1)
+ Subtract(Local1, Local0, Local2)
+ if (LLess(Local2, 990)) {
+ err(arg0, z117, 1, 0, 0, Local2, 990)
+ }
+ }
+
+ // Buffer to Integer conversion of the Buffer TimeoutValue
+ // (second) operand of the Acquire operator
+
+ Method(m06c, 1)
+ {
+ Store(Buffer(3){0x21, 0x03, 0x00}, Local3)
+
+ Mutex(MTX0, 0)
+
+ Acquire(MTX0, 0)
+ CH03(arg0, z117, 14, 0, 0)
+
+ Store(Timer, Local0)
+
+/* Compiler allows only Integer constant as TimeoutValue (Bug 1)
+ Acquire(MTX0, Local3)
+*/
+ CH03(arg0, z117, 15, 0, 0)
+
+ Store(Timer, Local1)
+ Subtract(Local1, Local0, Local2)
+ if (LLess(Local2, c08c)) {
+ err(arg0, z117, 0, 0, 0, Local2, c08c)
+ }
+ }
+
+ // Buffer to Integer conversion of the Buffer TimeoutValue
+ // (second) operand of the Wait operator
+ Method(m06d, 1)
+ {
+ Store(Buffer(3){0x21, 0x03, 0x00}, Local1)
+
+ Event(EVT0)
+
+ CH03(arg0, z117, 16, 0, 0)
+
+ Store(Timer, Local0)
+
+ Wait(EVT0, Local1)
+ CH03(arg0, z117, 17, 0, 0)
+
+ Store(Timer, Local1)
+ Subtract(Local1, Local0, Local2)
+ if (LLess(Local2, c08c)) {
+ err(arg0, z117, 0, 0, 0, Local2, c08c)
+ }
+ }
+
+ // Buffer to Integer conversion of the Buffer value
+ // of Predicate of the Method execution control statements
+ // (If, ElseIf, While)
+ Method(m06e, 1)
+ {
+ Name(ist0, 0)
+
+ Method(m001)
+ {
+ Store(Buffer(1){0x00}, Local0)
+ if (Local0) {
+ Store(0, ist0)
+ }
+ }
+
+ Method(m002)
+ {
+ Store(Buffer(3){0x21, 0x03, 0x00}, Local1)
+ if (Local1) {
+ Store(2, ist0)
+ }
+ }
+
+ Method(m003)
+ {
+ Store(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local2)
+ if (Local2) {
+ Store(3, ist0)
+ }
+ }
+
+ Method(m004)
+ {
+ Store(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local2)
+ if (Local2) {
+ Store(4, ist0)
+ }
+ }
+
+ Method(m005, 1)
+ {
+ Store(Buffer(1){0x00}, Local0)
+ if (arg0) {
+ Store(0xff, ist0)
+ } elseif (Local0) {
+ Store(0, ist0)
+ }
+ }
+
+ Method(m006, 1)
+ {
+ Store(Buffer(3){0x21, 0x03, 0x00}, Local1)
+ if (arg0) {
+ Store(0xff, ist0)
+ } elseif (Local1) {
+ Store(6, ist0)
+ }
+ }
+
+ Method(m007, 1)
+ {
+ Store(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local2)
+ if (arg0) {
+ Store(0xff, ist0)
+ } elseif (Local2) {
+ Store(7, ist0)
+ }
+ }
+
+ Method(m008, 1)
+ {
+ Store(Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5}, Local2)
+ if (arg0) {
+ Store(0xff, ist0)
+ } elseif (Local2) {
+ Store(8, ist0)
+ }
+ }
+
+ Method(m009)
+ {
+ Store(Buffer(1){0x00}, Local0)
+ while (Local0) {
+ Store(0, ist0)
+ Break
+ }
+ }
+
+ // If
+
+ Store(1, ist0)
+ m001()
+ m600(arg0, 0, ist0, 1)
+
+ m002()
+ m600(arg0, 1, ist0, 2)
+
+ m003()
+ m600(arg0, 2, ist0, 3)
+
+ m004()
+ m600(arg0, 3, ist0, 4)
+
+ // ElseIf
+
+ Store(5, ist0)
+ m005(0)
+ m600(arg0, 4, ist0, 5)
+
+ m006(0)
+ m600(arg0, 5, ist0, 6)
+
+ m007(0)
+ m600(arg0, 6, ist0, 7)
+
+ m008(0)
+ m600(arg0, 7, ist0, 8)
+
+ // While
+
+ Store(9, ist0)
+ m009()
+ m600(arg0, 8, ist0, 9)
+ }
+
+// Method(m64u, 1)
+
+// Method(m32u, 1)
+
+ // Buffer to String implicit conversion Cases.
+
+ // Buffer to String conversion of the Buffer second operand of
+ // Logical operators when the first operand is evaluated as String.
+ // LEqual LGreater LGreaterEqual LLess LLessEqual LNotEqual
+ Method(m06f, 1)
+ {
+ Store(Buffer(3){0x21, 0x03, 0x00}, Local1)
+ Store(Buffer(67){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,}, Local2)
+
+ // LEqual
+
+ Store(LEqual("21 03 00", Local1), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual("21 03 01", Local1), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(aus9, Local1), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(LEqual(ausa, Local1), Local0)
+ m600(arg0, 3, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aus9)), Local1), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(ausa)), Local1), Local0)
+ m600(arg0, 5, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paus, 9)), Local1), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paus, 10)), Local1), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ // Method returns String
+
+ Store(LEqual(m601(2, 9), Local1), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(LEqual(m601(2, 10), Local1), Local0)
+ m600(arg0, 9, Local0, Zero)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(2, 9, 1)), Local1), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(2, 10, 1)), Local1), Local0)
+ m600(arg0, 11, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater("21 03 00", Local1), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LGreater("21 03 01", Local1), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LGreater("21 03 0 ", Local1), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LGreater("21 03 00q", Local1), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LGreater(aus9, Local1), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LGreater(ausa, Local1), Local0)
+ m600(arg0, 17, Local0, Ones)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aus9)), Local1), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(ausa)), Local1), Local0)
+ m600(arg0, 19, Local0, Ones)
+ }
+
+ Store(LGreater(Derefof(Index(paus, 9)), Local1), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paus, 10)), Local1), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns String
+
+ Store(LGreater(m601(2, 9), Local1), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LGreater(m601(2, 10), Local1), Local0)
+ m600(arg0, 23, Local0, Ones)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(2, 9, 1)), Local1), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(2, 10, 1)), Local1), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual("21 03 00", Local1), Local0)
+ m600(arg0, 26, Local0, Ones)
+
+ Store(LGreaterEqual("21 03 01", Local1), Local0)
+ m600(arg0, 27, Local0, Ones)
+
+ Store(LGreaterEqual("21 03 0 ", Local1), Local0)
+ m600(arg0, 28, Local0, Zero)
+
+ Store(LGreaterEqual("21 03 00q", Local1), Local0)
+ m600(arg0, 29, Local0, Ones)
+
+ Store(LGreaterEqual(aus9, Local1), Local0)
+ m600(arg0, 30, Local0, Ones)
+
+ Store(LGreaterEqual(ausa, Local1), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aus9)), Local1), Local0)
+ m600(arg0, 32, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(ausa)), Local1), Local0)
+ m600(arg0, 33, Local0, Ones)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paus, 9)), Local1), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paus, 10)), Local1), Local0)
+ m600(arg0, 35, Local0, Ones)
+
+ // Method returns String
+
+ Store(LGreaterEqual(m601(2, 9),
+ Local1), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(m601(2, 10), Local1), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(2, 9, 1)), Local1), Local0)
+ m600(arg0, 38, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(2, 10, 1)), Local1), Local0)
+ m600(arg0, 39, Local0, Ones)
+ }
+
+ // LLess
+
+ Store(LLess("21 03 00", Local1), Local0)
+ m600(arg0, 40, Local0, Zero)
+
+ Store(LLess("21 03 01", Local1), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ Store(LLess("21 03 0 ", Local1), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LLess("21 03 00q", Local1), Local0)
+ m600(arg0, 43, Local0, Zero)
+
+ Store(LLess(aus9, Local1), Local0)
+ m600(arg0, 44, Local0, Zero)
+
+ Store(LLess(ausa, Local1), Local0)
+ m600(arg0, 45, Local0, Zero)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aus9)), Local1), Local0)
+ m600(arg0, 46, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(ausa)), Local1), Local0)
+ m600(arg0, 47, Local0, Zero)
+ }
+
+ Store(LLess(Derefof(Index(paus, 9)), Local1), Local0)
+ m600(arg0, 48, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paus, 10)), Local1), Local0)
+ m600(arg0, 49, Local0, Zero)
+
+ // Method returns String
+
+ Store(LLess(m601(2, 9), Local1), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ Store(LLess(m601(2, 10), Local1), Local0)
+ m600(arg0, 51, Local0, Zero)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LLess(Derefof(m602(2, 9, 1)), Local1), Local0)
+ m600(arg0, 52, Local0, Zero)
+
+ Store(LLess(Derefof(m602(2, 10, 1)), Local1), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual("21 03 00", Local1), Local0)
+ m600(arg0, 54, Local0, Ones)
+
+ Store(LLessEqual("21 03 01", Local1), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLessEqual("21 03 0 ", Local1), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLessEqual("21 03 00q", Local1), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLessEqual(aus9, Local1), Local0)
+ m600(arg0, 58, Local0, Ones)
+
+ Store(LLessEqual(ausa, Local1), Local0)
+ m600(arg0, 59, Local0, Zero)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aus9)), Local1), Local0)
+ m600(arg0, 60, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(ausa)), Local1), Local0)
+ m600(arg0, 61, Local0, Zero)
+ }
+
+ Store(LLessEqual(Derefof(Index(paus, 9)), Local1), Local0)
+ m600(arg0, 62, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paus, 10)), Local1), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ // Method returns String
+
+ Store(LLessEqual(m601(2, 9), Local1), Local0)
+ m600(arg0, 64, Local0, Ones)
+
+ Store(LLessEqual(m601(2, 10), Local1), Local0)
+ m600(arg0, 65, Local0, Zero)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(2, 9, 1)), Local1), Local0)
+ m600(arg0, 66, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(2, 10, 1)), Local1), Local0)
+ m600(arg0, 67, Local0, Zero)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual("21 03 00", Local1), Local0)
+ m600(arg0, 68, Local0, Zero)
+
+ Store(LNotEqual("21 03 01", Local1), Local0)
+ m600(arg0, 69, Local0, Ones)
+
+ Store(LNotEqual("21 03 0 ", Local1), Local0)
+ m600(arg0, 70, Local0, Ones)
+
+ Store(LNotEqual("21 03 00q", Local1), Local0)
+ m600(arg0, 71, Local0, Ones)
+
+ Store(LNotEqual(aus9, Local1), Local0)
+ m600(arg0, 72, Local0, Zero)
+
+ Store(LNotEqual(ausa, Local1), Local0)
+ m600(arg0, 73, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aus9)), Local1), Local0)
+ m600(arg0, 74, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(ausa)), Local1), Local0)
+ m600(arg0, 75, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paus, 9)), Local1), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paus, 10)), Local1), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ // Method returns String
+
+ Store(LNotEqual(m601(2, 9), Local1), Local0)
+ m600(arg0, 78, Local0, Zero)
+
+ Store(LNotEqual(m601(2, 10), Local1), Local0)
+ m600(arg0, 79, Local0, Ones)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(2, 9, 1)), Local1), Local0)
+ m600(arg0, 80, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(2, 10, 1)), Local1), Local0)
+ m600(arg0, 81, Local0, Ones)
+ }
+
+ // Boundary Cases
+
+ Store(LEqual("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63",
+ Local2),
+ Local0)
+ m600(arg0, 82, Local0, Ones)
+
+ Store(LEqual("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 64",
+ Local2),
+ Local0)
+ m600(arg0, 83, Local0, Zero)
+
+ Store(LGreater("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63",
+ Local2),
+ Local0)
+ m600(arg0, 84, Local0, Zero)
+
+ Store(LGreater("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 64",
+ Local2),
+ Local0)
+ m600(arg0, 85, Local0, Ones)
+
+ Store(LGreaterEqual("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63",
+ Local2),
+ Local0)
+ m600(arg0, 86, Local0, Ones)
+
+ Store(LGreaterEqual("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 64",
+ Local2),
+ Local0)
+ m600(arg0, 87, Local0, Ones)
+
+ Store(LLess("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63",
+ Local2),
+ Local0)
+ m600(arg0, 88, Local0, Zero)
+
+ Store(LLess("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 64",
+ Local2),
+ Local0)
+ m600(arg0, 89, Local0, Zero)
+
+ Store(LLessEqual("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63",
+ Local2),
+ Local0)
+ m600(arg0, 90, Local0, Ones)
+
+ Store(LLessEqual("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 64",
+ Local2),
+ Local0)
+ m600(arg0, 91, Local0, Zero)
+
+
+ Store(LNotEqual("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63",
+ Local2),
+ Local0)
+ m600(arg0, 92, Local0, Zero)
+
+ Store(LNotEqual("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 64",
+ Local2),
+ Local0)
+ m600(arg0, 93, Local0, Ones)
+ }
+
+ // Buffer to String conversion of the Buffer second operand of
+ // Concatenate operator when the first operand is evaluated as String
+ Method(m070, 1)
+ {
+ Store(Buffer(3){0x21, 0x03, 0x00}, Local1)
+ Store(Buffer(67){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,}, Local2)
+
+ Store(Concatenate("", Local1), Local0)
+ m600(arg0, 0, Local0, bs25)
+
+ Store(Concatenate("1234q", Local1), Local0)
+ m600(arg0, 1, Local0, bs26)
+
+ Store(Concatenate(aus0, Local1), Local0)
+ m600(arg0, 2, Local0, bs25)
+
+ Store(Concatenate(aus1, Local1), Local0)
+ m600(arg0, 3, Local0, bs26)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aus0)), Local1), Local0)
+ m600(arg0, 4, Local0, bs25)
+
+ Store(Concatenate(Derefof(Refof(aus1)), Local1), Local0)
+ m600(arg0, 5, Local0, bs26)
+ }
+
+ Store(Concatenate(Derefof(Index(paus, 0)), Local1), Local0)
+ m600(arg0, 6, Local0, bs25)
+
+ Store(Concatenate(Derefof(Index(paus, 1)), Local1), Local0)
+ m600(arg0, 7, Local0, bs26)
+
+ // Method returns String
+
+ Store(Concatenate(m601(2, 0), Local1), Local0)
+ m600(arg0, 8, Local0, bs25)
+
+ Store(Concatenate(m601(2, 1), Local1), Local0)
+ m600(arg0, 9, Local0, bs26)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(2, 0, 1)), Local1), Local0)
+ m600(arg0, 10, Local0, bs25)
+
+ Store(Concatenate(Derefof(m602(2, 1, 1)), Local1), Local0)
+ m600(arg0, 11, Local0, bs26)
+ }
+
+ Concatenate("", Local1, Local0)
+ m600(arg0, 12, Local0, bs25)
+
+ Concatenate("1234q", Local1, Local0)
+ m600(arg0, 13, Local0, bs26)
+
+ Concatenate(aus0, Local1, Local0)
+ m600(arg0, 14, Local0, bs25)
+
+ Concatenate(aus1, Local1, Local0)
+ m600(arg0, 15, Local0, bs26)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aus0)), Local1, Local0)
+ m600(arg0, 16, Local0, bs25)
+
+ Concatenate(Derefof(Refof(aus1)), Local1, Local0)
+ m600(arg0, 17, Local0, bs26)
+ }
+
+ Concatenate(Derefof(Index(paus, 0)), Local1, Local0)
+ m600(arg0, 18, Local0, bs25)
+
+ Concatenate(Derefof(Index(paus, 1)), Local1, Local0)
+ m600(arg0, 19, Local0, bs26)
+
+ // Method returns String
+
+ Concatenate(m601(2, 0), Local1, Local0)
+ m600(arg0, 20, Local0, bs25)
+
+ Concatenate(m601(2, 1), Local1, Local0)
+ m600(arg0, 21, Local0, bs26)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Concatenate(Derefof(m602(2, 0, 1)), Local1, Local0)
+ m600(arg0, 22, Local0, bs25)
+
+ Concatenate(Derefof(m602(2, 1, 1)), Local1, Local0)
+ m600(arg0, 23, Local0, bs26)
+ }
+
+ // Boundary Cases
+
+ Store(Concatenate("",
+ Local2),
+ Local0)
+ m600(arg0, 24, Local0, bs27)
+ }
+
+// Method(m071, 1)
+
+// Method(m072, 1)
+
+ /*
+ * Begin of the test body
+ */
+
+ // Integer to String implicit conversion Cases.
+
+ // Integer to String conversion of the Integer second operand of
+ // Logical operators when the first operand is evaluated as String.
+ // LEqual LGreater LGreaterEqual LLess LLessEqual LNotEqual
+ if (F64) {
+ Concatenate(ts, "-m640", Local0)
+ SRMT(Local0)
+ m640(Local0)
+ } else {
+ Concatenate(ts, "-m320", Local0)
+ SRMT(Local0)
+ m320(Local0)
+ }
+
+ // Integer to String conversion of the Integer second operand of
+ // Concatenate operator when the first operand is evaluated as String
+ if (F64) {
+ Concatenate(ts, "-m641", Local0)
+ SRMT(Local0)
+ m641(Local0)
+ } else {
+ Concatenate(ts, "-m321", Local0)
+ SRMT(Local0)
+ m321(Local0)
+ }
+
+ // Integer to String conversion of the Integer value
+ // of Expression of Case statement when Expression in
+ // Switch is either static String data or explicitly
+ // converted to String by ToDecimalString, ToHexString
+ // or ToString
+ //
+ // Note: Expression of Case can be only static data
+
+
+ // Integer to Buffer implicit conversion Cases.
+
+ // Integer to Buffer conversion of the Integer second operand of
+ // Logical operators when the first operand is evaluated as Buffer
+ // (LEqual, LGreater, LGreaterEqual, LLess, LLessEqual, LNotEqual)
+ if (F64) {
+ Concatenate(ts, "-m644", Local0)
+ SRMT(Local0)
+ m644(Local0)
+ } else {
+ Concatenate(ts, "-m324", Local0)
+ SRMT(Local0)
+ m324(Local0)
+ }
+
+ // Integer to Buffer conversion of the both Integer operands of
+ // Concatenate operator
+ if (F64) {
+ Concatenate(ts, "-m645", Local0)
+ SRMT(Local0)
+ m645(Local0)
+ } else {
+ Concatenate(ts, "-m325", Local0)
+ SRMT(Local0)
+ m325(Local0)
+ }
+
+ // Integer to Buffer conversion of the Integer second operand of
+ // Concatenate operator when the first operand is evaluated as Buffer
+ if (F64) {
+ Concatenate(ts, "-m646", Local0)
+ SRMT(Local0)
+ m646(Local0)
+ } else {
+ Concatenate(ts, "-m326", Local0)
+ SRMT(Local0)
+ m326(Local0)
+ }
+
+ // Integer to Buffer conversion of the Integer Source operand of
+ // ToString operator
+ if (F64) {
+ Concatenate(ts, "-m647", Local0)
+ SRMT(Local0)
+ m647(Local0)
+ } else {
+ Concatenate(ts, "-m327", Local0)
+ SRMT(Local0)
+ m327(Local0)
+ }
+
+ // Integer to Buffer conversion of the Integer Source operand of
+ // Mid operator
+ if (F64) {
+ Concatenate(ts, "-m648", Local0)
+ SRMT(Local0)
+ m648(Local0)
+ } else {
+ Concatenate(ts, "-m328", Local0)
+ SRMT(Local0)
+ m328(Local0)
+ }
+
+ // Integer to Buffer conversion of the Integer value of
+ // Expression of Case statement when Expression in Switch
+ // is either static Buffer data or explicitly converted to
+ // Buffer by ToBuffer
+ //
+ // Note: Expression of Case can be only static data
+
+
+ // String to Integer implicit conversion Cases.
+
+ // String to Integer conversion of the String sole operand
+ // of the 1-parameter Integer arithmetic operators
+ // (Decrement, Increment, FindSetLeftBit, FindSetRightBit, Not)
+ if (F64) {
+ Concatenate(ts, "-m64b", Local0)
+ SRMT(Local0)
+ m64b(Local0)
+ } else {
+ Concatenate(ts, "-m32b", Local0)
+ SRMT(Local0)
+ m32b(Local0)
+ }
+
+ // String to Integer conversion of the String sole operand
+ // of the LNot Logical Integer operator
+ Concatenate(ts, "-m000", Local0)
+ SRMT(Local0)
+ m000(Local0)
+
+ // String to Integer conversion of the String sole operand
+ // of the FromBCD and ToBCD conversion operators
+ if (F64) {
+ Concatenate(ts, "-m64c", Local0)
+ SRMT(Local0)
+ m64c(Local0)
+ } else {
+ Concatenate(ts, "-m32c", Local0)
+ SRMT(Local0)
+ m32c(Local0)
+ }
+
+ // String to Integer conversion of each String operand
+ // of the 2-parameter Integer arithmetic operators
+ // Add, And, Divide, Mod, Multiply, NAnd, NOr, Or,
+ // ShiftLeft, ShiftRight, Subtract, Xor
+ if (F64) {
+ m64d(Concatenate(ts, "-m64d"))
+ } else {
+ m32d(Concatenate(ts, "-m32d"))
+ }
+
+ // String to Integer conversion of each String operand
+ // of the 2-parameter Logical Integer operators LAnd and LOr
+ if (F64) {
+ m64e(Concatenate(ts, "-m64e"))
+ } else {
+ m32e(Concatenate(ts, "-m32e"))
+ }
+
+ // String to Integer conversion of the String second operand of
+ // Logical operators when the first operand is evaluated as Integer
+ // (LEqual, LGreater, LGreaterEqual, LLess, LLessEqual, LNotEqual)
+
+ Concatenate(ts, "-m02b", Local0)
+ SRMT(Local0)
+ m02b(Local0)
+
+ if (F64) {
+ Concatenate(ts, "-m64f", Local0)
+ SRMT(Local0)
+ m64f(Local0)
+ } else {
+ Concatenate(ts, "-m32f", Local0)
+ SRMT(Local0)
+ m32f(Local0)
+ }
+
+ // String to Integer intermediate conversion of the String second
+ // operand of Concatenate operator in case the first one is Integer
+ if (F64) {
+ Concatenate(ts, "-m64g", Local0)
+ SRMT(Local0)
+ m64g(Local0)
+ } else {
+ Concatenate(ts, "-m32g", Local0)
+ SRMT(Local0)
+ m32g(Local0)
+ }
+
+ // String to Integer conversion of the String Length (second)
+ // operand of the ToString operator
+
+ Concatenate(ts, "-m02c", Local0)
+ SRMT(Local0)
+ m02c(Local0)
+
+ if (F64) {
+ Concatenate(ts, "-m64h", Local0)
+ SRMT(Local0)
+ m64h(Local0)
+ } else {
+ Concatenate(ts, "-m32h", Local0)
+ SRMT(Local0)
+ m32h(Local0)
+ }
+
+ // String to Integer conversion of the String Index (second)
+ // operand of the Index operator
+ Concatenate(ts, "-m02d", Local0)
+ SRMT(Local0)
+ m02d(Local0)
+
+ // String to Integer conversion of the String Arg (third)
+ // operand of the Fatal operator
+ // (it can only be checked an exception does not occur)
+ Concatenate(ts, "-m02e", Local0)
+ SRMT(Local0)
+ m02e(Local0)
+
+ // String to Integer conversion of the String Index and Length
+ // operands of the Mid operator
+
+ Concatenate(ts, "-m02f", Local0)
+ SRMT(Local0)
+ m02f(Local0)
+
+ if (F64) {
+ Concatenate(ts, "-m64i", Local0)
+ SRMT(Local0)
+ m64i(Local0)
+ } else {
+ Concatenate(ts, "-m32i", Local0)
+ SRMT(Local0)
+ m32i(Local0)
+ }
+
+ // String to Integer conversion of the String StartIndex
+ // operand of the Match operator
+ Concatenate(ts, "-m030", Local0)
+ SRMT(Local0)
+ m030(Local0)
+
+ // String to Integer conversion of the String sole operand
+ // of the Method execution control operators (Sleep, Stall)
+ Concatenate(ts, "-m031", Local0)
+ SRMT(Local0)
+ m031(Local0)
+
+ // String to Integer conversion of the String TimeoutValue
+ // (second) operand of the Acquire operator
+/* Compiler allows only Integer constant as TimeoutValue (Bug 1)
+ Concatenate(ts, "-m032", Local0)
+ SRMT(Local0)
+ m032(Local0)
+*/
+
+ // String to Integer conversion of the String TimeoutValue
+ // (second) operand of the Wait operator
+ Concatenate(ts, "-m033", Local0)
+ SRMT(Local0)
+ m033(Local0)
+
+ // String to Integer conversion of the String value
+ // of Predicate of the Method execution control statements
+ // (If, ElseIf, While)
+ Concatenate(ts, "-m034", Local0)
+ SRMT(Local0)
+ if (y111) {
+ m034(Local0)
+ } else {
+ BLCK()
+ }
+
+ // String to Integer conversion of the String value
+ // of Expression of Case statement when Expression in
+ // Switch is evaluated as Integer
+ //
+ // Note: Expression of Case can be only static data
+
+ // String to Buffer implicit conversion Cases.
+
+ // String to Buffer conversion of the String second operand of
+ // Logical operators when the first operand is evaluated as Buffer
+ // (LEqual, LGreater, LGreaterEqual, LLess, LLessEqual, LNotEqual)
+ Concatenate(ts, "-m035", Local0)
+ SRMT(Local0)
+ m035(Local0)
+
+ // String to Buffer conversion of the String second operand of
+ // Concatenate operator when the first operand is evaluated as Buffer
+ Concatenate(ts, "-m036", Local0)
+ SRMT(Local0)
+ m036(Local0)
+
+ // String to Buffer conversion of the String Source operand of
+ // ToString operator (has a visual effect in shortening of the
+ // String taken the null character)
+ Concatenate(ts, "-m037", Local0)
+ SRMT(Local0)
+ m037(Local0)
+
+
+ // Buffer to Integer implicit conversion Cases.
+
+ // Buffer to Integer conversion of the Buffer sole operand
+ // of the 1-parameter Integer arithmetic operators
+ // (Decrement, Increment, FindSetLeftBit, FindSetRightBit, Not)
+ if (F64) {
+ Concatenate(ts, "-m64l", Local0)
+ SRMT(Local0)
+ m64l(Local0)
+ } else {
+ Concatenate(ts, "-m32l", Local0)
+ SRMT(Local0)
+ m32l(Local0)
+ }
+
+ // Buffer to Integer conversion of the Buffer sole operand
+ // of the LNot Logical Integer operator
+ Concatenate(ts, "-m03a", Local0)
+ SRMT(Local0)
+ m03a(Local0)
+
+ // Buffer to Integer conversion of the Buffer sole operand
+ // of the FromBCD and ToBCD conversion operators
+ if (F64) {
+ Concatenate(ts, "-m64m", Local0)
+ SRMT(Local0)
+ m64m(Local0)
+ } else {
+ Concatenate(ts, "-m32m", Local0)
+ SRMT(Local0)
+ m32m(Local0)
+ }
+
+ // Buffer to Integer conversion of each Buffer operand
+ // of the 2-parameter Integer arithmetic operators
+ // Add, And, Divide, Mod, Multiply, NAnd, NOr, Or,
+ // ShiftLeft, ShiftRight, Subtract, Xor
+ if (F64) {
+ m64n(Concatenate(ts, "-m64n"))
+ } else {
+ m32n(Concatenate(ts, "-m32n"))
+ }
+
+ // Buffer to Integer conversion of each Buffer operand
+ // of the 2-parameter Logical Integer operators LAnd and LOr
+ if (F64) {
+ m64o(Concatenate(ts, "-m64o"))
+ } else {
+ m32o(Concatenate(ts, "-m32o"))
+ }
+
+ // Buffer to Integer conversion of the Buffer second operand of
+ // Logical operators when the first operand is evaluated as Integer
+ // (LEqual, LGreater, LGreaterEqual, LLess, LLessEqual, LNotEqual)
+
+ Concatenate(ts, "-m065", Local0)
+ SRMT(Local0)
+ m065(Local0)
+
+ if (F64) {
+ Concatenate(ts, "-m64p", Local0)
+ SRMT(Local0)
+ m64p(Local0)
+ } else {
+ Concatenate(ts, "-m32p", Local0)
+ SRMT(Local0)
+ m32p(Local0)
+ }
+
+ // Buffer to Integer intermediate conversion of the Buffer second
+ // operand of Concatenate operator in case the first one is Integer
+ if (F64) {
+ Concatenate(ts, "-m64q", Local0)
+ SRMT(Local0)
+ m64q(Local0)
+ } else {
+ Concatenate(ts, "-m32q", Local0)
+ SRMT(Local0)
+ m32q(Local0)
+ }
+
+ // Buffer to Integer conversion of the Buffer Length (second)
+ // operand of the ToString operator
+
+ Concatenate(ts, "-m066", Local0)
+ SRMT(Local0)
+ m066(Local0)
+
+ if (F64) {
+ Concatenate(ts, "-m64r", Local0)
+ SRMT(Local0)
+ m64r(Local0)
+ } else {
+ Concatenate(ts, "-m32r", Local0)
+ SRMT(Local0)
+ m32r(Local0)
+ }
+
+ // Buffer to Integer conversion of the Buffer Index (second)
+ // operand of the Index operator
+ Concatenate(ts, "-m067", Local0)
+ SRMT(Local0)
+ m067(Local0)
+
+ // Buffer to Integer conversion of the String Arg (third)
+ // operand of the Fatal operator
+ // (it can only be checked an exception does not occur)
+ Concatenate(ts, "-m068", Local0)
+ SRMT(Local0)
+ m068(Local0)
+
+ // Buffer to Integer conversion of the Buffer Index and Length
+ // operands of the Mid operator
+
+ Concatenate(ts, "-m069", Local0)
+ SRMT(Local0)
+ m069(Local0)
+
+ if (F64) {
+ Concatenate(ts, "-m64s", Local0)
+ SRMT(Local0)
+ m64s(Local0)
+ } else {
+ Concatenate(ts, "-m32s", Local0)
+ SRMT(Local0)
+ m32s(Local0)
+ }
+
+ // Buffer to Integer conversion of the Buffer StartIndex
+ // operand of the Match operator
+ Concatenate(ts, "-m06a", Local0)
+ SRMT(Local0)
+ m06a(Local0)
+
+ // Buffer to Integer conversion of the Buffer sole operand
+ // of the Method execution control operators (Sleep, Stall)
+ Concatenate(ts, "-m06b", Local0)
+ SRMT(Local0)
+ m06b(Local0)
+
+ // Buffer to Integer conversion of the Buffer TimeoutValue
+ // (second) operand of the Acquire operator
+/* Compiler allows only Integer constant as TimeoutValue (Bug 1)
+ Concatenate(ts, "-m06c", Local0)
+ SRMT(Local0)
+ m06c(Local0)
+*/
+
+ // Buffer to Integer conversion of the Buffer TimeoutValue
+ // (second) operand of the Wait operator
+ Concatenate(ts, "-m06d", Local0)
+ SRMT(Local0)
+ m06d(Local0)
+
+ // Buffer to Integer conversion of the Buffer value
+ // of Predicate of the Method execution control statements
+ // (If, ElseIf, While)
+ Concatenate(ts, "-m06e", Local0)
+ SRMT(Local0)
+ if (y111) {
+ m06e(Local0)
+ } else {
+ BLCK()
+ }
+
+ // Buffer to Integer conversion of the Buffer value
+ // of Expression of Case statement when Expression in
+ // Switch is evaluated as Integer
+ //
+ // Note: Expression of Case can be only static data
+
+ // Buffer to String implicit conversion Cases.
+
+ // Buffer to String conversion of the Buffer second operand of
+ // Logical operators when the first operand is evaluated as String.
+ // LEqual LGreater LGreaterEqual LLess LLessEqual LNotEqual
+ Concatenate(ts, "-m06f", Local0)
+ SRMT(Local0)
+ m06f(Local0)
+
+ // Buffer to String conversion of the Buffer second operand of
+ // Concatenate operator when the first operand is evaluated as String
+ Concatenate(ts, "-m070", Local0)
+ SRMT(Local0)
+ m070(Local0)
+}
+
+
+// Run-method
+Method(OPR6)
+{
+ Store("TEST: OPR6, Source Operand", Debug)
+
+ m618()
+}
diff --git a/tests/aslts/src/runtime/collections/complex/operand/tests/onamedglob/MAIN.asl b/tests/aslts/src/runtime/collections/complex/operand/tests/onamedglob/MAIN.asl
new file mode 100644
index 000000000..d1cd044b5
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/operand/tests/onamedglob/MAIN.asl
@@ -0,0 +1,59 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "onamedglob.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../../runtime/cntl/DECL_6UP.asl")
+ Include("../../../../../../runtime/collections/complex/operand/common/ocommon.asl")
+ Include("../../../../../../runtime/collections/complex/operand/tests/onamedglob/onamedglob1.asl")
+ Include("../../../../../../runtime/collections/complex/operand/tests/onamedglob/onamedglob2.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../../runtime/collections/complex/operand/tests/onamedglob/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/complex/operand/tests/onamedglob/Makefile b/tests/aslts/src/runtime/collections/complex/operand/tests/onamedglob/Makefile
new file mode 100644
index 000000000..b99513d29
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/operand/tests/onamedglob/Makefile
@@ -0,0 +1,7 @@
+# onamedglob
+
+AMLMOD= onamedglob
+COLL= ../../../..
+
+TOP= $(COLL)/../../..
+include $(COLL)/Makefile.install
diff --git a/tests/aslts/src/runtime/collections/complex/operand/tests/onamedglob/RUN.asl b/tests/aslts/src/runtime/collections/complex/operand/tests/onamedglob/RUN.asl
new file mode 100644
index 000000000..d632c83b9
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/operand/tests/onamedglob/RUN.asl
@@ -0,0 +1,35 @@
+/*
+ * 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.
+ */
+
+
+if (STTT("Source Operand, global named object data", TCLC, 7, W010)) {
+ OPR1()
+}
+FTTT()
diff --git a/tests/aslts/src/runtime/collections/complex/operand/tests/onamedglob/onamedglob1.asl b/tests/aslts/src/runtime/collections/complex/operand/tests/onamedglob/onamedglob1.asl
new file mode 100644
index 000000000..7d7e43e8d
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/operand/tests/onamedglob/onamedglob1.asl
@@ -0,0 +1,25190 @@
+/*
+ * 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.
+ */
+
+/*
+ * Check implicit conversion being applied to Named Objects
+ * in the root Scope of the Global ACPI namespace
+ */
+
+Name(z086, 86)
+
+Method(m611)
+{
+ Name(ts, "m611")
+
+ // Integer to String implicit conversion Cases.
+
+ // Integer to String conversion of the Integer second operand of
+ // Logical operators when the first operand is evaluated as String.
+ // LEqual LGreater LGreaterEqual LLess LLessEqual LNotEqual
+
+ Method(m640, 1)
+ {
+ // LEqual
+
+ Store(LEqual("FE7CB391D650A284", i604), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual("fE7CB391D650A284", i604), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(aus4, i604), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(LEqual(aus5, i604), Local0)
+ m600(arg0, 3, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aus4)), i604), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(aus5)), i604), Local0)
+ m600(arg0, 5, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paus, 4)), i604), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paus, 5)), i604), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ // Method returns String
+
+ Store(LEqual(m601(2, 4), i604), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(LEqual(m601(2, 5), i604), Local0)
+ m600(arg0, 9, Local0, Zero)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(2, 4, 1)), i604), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(2, 5, 1)), i604), Local0)
+ m600(arg0, 11, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater("FE7CB391D650A284", i604), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LGreater("fE7CB391D650A284", i604), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LGreater("FE7CB391D650A28 ", i604), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LGreater("FE7CB391D650A284q", i604), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LGreater(aus4, i604), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LGreater(aus5, i604), Local0)
+ m600(arg0, 17, Local0, Ones)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aus4)), i604), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(aus5)), i604), Local0)
+ m600(arg0, 19, Local0, Ones)
+ }
+
+ Store(LGreater(Derefof(Index(paus, 4)), i604), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paus, 5)), i604), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns String
+
+ Store(LGreater(m601(2, 4), i604), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LGreater(m601(2, 5), i604), Local0)
+ m600(arg0, 23, Local0, Ones)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(2, 4, 1)), i604), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(2, 5, 1)), i604), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual("FE7CB391D650A284", i604), Local0)
+ m600(arg0, 26, Local0, Ones)
+
+ Store(LGreaterEqual("fE7CB391D650A284", i604), Local0)
+ m600(arg0, 27, Local0, Ones)
+
+ Store(LGreaterEqual("FE7CB391D650A28 ", i604), Local0)
+ m600(arg0, 28, Local0, Zero)
+
+ Store(LGreaterEqual("FE7CB391D650A284q", i604), Local0)
+ m600(arg0, 29, Local0, Ones)
+
+ Store(LGreaterEqual(aus4, i604), Local0)
+ m600(arg0, 30, Local0, Ones)
+
+ Store(LGreaterEqual(aus5, i604), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aus4)), i604), Local0)
+ m600(arg0, 32, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(aus5)), i604), Local0)
+ m600(arg0, 33, Local0, Ones)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paus, 4)), i604), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paus, 5)), i604), Local0)
+ m600(arg0, 35, Local0, Ones)
+
+ // Method returns String
+
+ Store(LGreaterEqual(m601(2, 4), i604), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(m601(2, 5), i604), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(2, 4, 1)), i604), Local0)
+ m600(arg0, 38, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(2, 5, 1)), i604), Local0)
+ m600(arg0, 39, Local0, Ones)
+ }
+
+ // LLess
+
+ Store(LLess("FE7CB391D650A284", i604), Local0)
+ m600(arg0, 40, Local0, Zero)
+
+ Store(LLess("fE7CB391D650A284", i604), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ Store(LLess("FE7CB391D650A28 ", i604), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LLess("FE7CB391D650A284q", i604), Local0)
+ m600(arg0, 43, Local0, Zero)
+
+ Store(LLess(aus4, i604), Local0)
+ m600(arg0, 44, Local0, Zero)
+
+ Store(LLess(aus5, i604), Local0)
+ m600(arg0, 45, Local0, Zero)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aus4)), i604), Local0)
+ m600(arg0, 46, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(aus5)), i604), Local0)
+ m600(arg0, 47, Local0, Zero)
+ }
+
+ Store(LLess(Derefof(Index(paus, 4)), i604), Local0)
+ m600(arg0, 48, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paus, 5)), i604), Local0)
+ m600(arg0, 49, Local0, Zero)
+
+ // Method returns String
+
+ Store(LLess(m601(2, 4), i604), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ Store(LLess(m601(2, 5), i604), Local0)
+ m600(arg0, 51, Local0, Zero)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LLess(Derefof(m602(2, 4, 1)), i604), Local0)
+ m600(arg0, 52, Local0, Zero)
+
+ Store(LLess(Derefof(m602(2, 5, 1)), i604), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual("FE7CB391D650A284", i604), Local0)
+ m600(arg0, 54, Local0, Ones)
+
+ Store(LLessEqual("fE7CB391D650A284", i604), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLessEqual("FE7CB391D650A28 ", i604), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLessEqual("FE7CB391D650A284q", i604), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLessEqual(aus4, i604), Local0)
+ m600(arg0, 58, Local0, Ones)
+
+ Store(LLessEqual(aus5, i604), Local0)
+ m600(arg0, 59, Local0, Zero)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aus4)), i604), Local0)
+ m600(arg0, 60, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(aus5)), i604), Local0)
+ m600(arg0, 61, Local0, Zero)
+ }
+
+ Store(LLessEqual(Derefof(Index(paus, 4)), i604), Local0)
+ m600(arg0, 62, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paus, 5)), i604), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ // Method returns String
+
+ Store(LLessEqual(m601(2, 4), i604), Local0)
+ m600(arg0, 64, Local0, Ones)
+
+ Store(LLessEqual(m601(2, 5), i604), Local0)
+ m600(arg0, 65, Local0, Zero)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(2, 4, 1)), i604), Local0)
+ m600(arg0, 66, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(2, 5, 1)), i604), Local0)
+ m600(arg0, 67, Local0, Zero)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual("FE7CB391D650A284", i604), Local0)
+ m600(arg0, 68, Local0, Zero)
+
+ Store(LNotEqual("fE7CB391D650A284", i604), Local0)
+ m600(arg0, 69, Local0, Ones)
+
+ Store(LNotEqual("FE7CB391D650A28 ", i604), Local0)
+ m600(arg0, 70, Local0, Ones)
+
+ Store(LNotEqual("FE7CB391D650A284q", i604), Local0)
+ m600(arg0, 71, Local0, Ones)
+
+ Store(LNotEqual(aus4, i604), Local0)
+ m600(arg0, 72, Local0, Zero)
+
+ Store(LNotEqual(aus5, i604), Local0)
+ m600(arg0, 73, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aus4)), i604), Local0)
+ m600(arg0, 74, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(aus5)), i604), Local0)
+ m600(arg0, 75, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paus, 4)), i604), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paus, 5)), i604), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ // Method returns String
+
+ Store(LNotEqual(m601(2, 4), i604), Local0)
+ m600(arg0, 78, Local0, Zero)
+
+ Store(LNotEqual(m601(2, 5), i604), Local0)
+ m600(arg0, 79, Local0, Ones)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(2, 4, 1)), i604), Local0)
+ m600(arg0, 80, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(2, 5, 1)), i604), Local0)
+ m600(arg0, 81, Local0, Ones)
+ }
+ }
+
+ Method(m320, 1)
+ {
+ // LEqual
+
+ Store(LEqual("C179B3FE", i603), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual("c179B3FE", i603), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(aus3, i603), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(LEqual(aus2, i603), Local0)
+ m600(arg0, 3, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aus3)), i603), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(aus2)), i603), Local0)
+ m600(arg0, 5, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paus, 3)), i603), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paus, 2)), i603), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ // Method returns String
+
+ Store(LEqual(m601(2, 3), i603), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(LEqual(m601(2, 2), i603), Local0)
+ m600(arg0, 9, Local0, Zero)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(2, 3, 1)), i603), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(2, 2, 1)), i603), Local0)
+ m600(arg0, 11, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater("C179B3FE", i603), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LGreater("c179B3FE", i603), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LGreater("C179B3F ", i603), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LGreater("C179B3FEq", i603), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LGreater(aus3, i603), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LGreater(aus2, i603), Local0)
+ m600(arg0, 17, Local0, Ones)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aus3)), i603), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(aus2)), i603), Local0)
+ m600(arg0, 19, Local0, Ones)
+ }
+
+ Store(LGreater(Derefof(Index(paus, 3)), i603), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paus, 2)), i603), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns String
+
+ Store(LGreater(m601(2, 3), i603), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LGreater(m601(2, 2), i603), Local0)
+ m600(arg0, 23, Local0, Ones)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(2, 3, 1)), i603), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(2, 2, 1)), i603), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual("C179B3FE", i603), Local0)
+ m600(arg0, 26, Local0, Ones)
+
+ Store(LGreaterEqual("c179B3FE", i603), Local0)
+ m600(arg0, 27, Local0, Ones)
+
+ Store(LGreaterEqual("C179B3F ", i603), Local0)
+ m600(arg0, 28, Local0, Zero)
+
+ Store(LGreaterEqual("C179B3FEq", i603), Local0)
+ m600(arg0, 29, Local0, Ones)
+
+ Store(LGreaterEqual(aus3, i603), Local0)
+ m600(arg0, 30, Local0, Ones)
+
+ Store(LGreaterEqual(aus2, i603), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aus3)), i603), Local0)
+ m600(arg0, 32, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(aus2)), i603), Local0)
+ m600(arg0, 33, Local0, Ones)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paus, 3)), i603), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paus, 2)), i603), Local0)
+ m600(arg0, 35, Local0, Ones)
+
+ // Method returns String
+
+ Store(LGreaterEqual(m601(2, 3), i603), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(m601(2, 2), i603), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(2, 3, 1)), i603), Local0)
+ m600(arg0, 38, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(2, 2, 1)), i603), Local0)
+ m600(arg0, 39, Local0, Ones)
+ }
+
+ // LLess
+
+ Store(LLess("C179B3FE", i603), Local0)
+ m600(arg0, 40, Local0, Zero)
+
+ Store(LLess("c179B3FE", i603), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ Store(LLess("C179B3F ", i603), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LLess("C179B3FEq", i603), Local0)
+ m600(arg0, 43, Local0, Zero)
+
+ Store(LLess(aus3, i603), Local0)
+ m600(arg0, 44, Local0, Zero)
+
+ Store(LLess(aus2, i603), Local0)
+ m600(arg0, 45, Local0, Zero)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aus3)), i603), Local0)
+ m600(arg0, 46, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(aus2)), i603), Local0)
+ m600(arg0, 47, Local0, Zero)
+ }
+
+ Store(LLess(Derefof(Index(paus, 3)), i603), Local0)
+ m600(arg0, 48, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paus, 2)), i603), Local0)
+ m600(arg0, 49, Local0, Zero)
+
+ // Method returns String
+
+ Store(LLess(m601(2, 3), i603), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ Store(LLess(m601(2, 2), i603), Local0)
+ m600(arg0, 51, Local0, Zero)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LLess(Derefof(m602(2, 3, 1)), i603), Local0)
+ m600(arg0, 52, Local0, Zero)
+
+ Store(LLess(Derefof(m602(2, 2, 1)), i603), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual("C179B3FE", i603), Local0)
+ m600(arg0, 54, Local0, Ones)
+
+ Store(LLessEqual("c179B3FE", i603), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLessEqual("C179B3F ", i603), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLessEqual("C179B3FEq", i603), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLessEqual(aus3, i603), Local0)
+ m600(arg0, 58, Local0, Ones)
+
+ Store(LLessEqual(aus2, i603), Local0)
+ m600(arg0, 59, Local0, Zero)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aus3)), i603), Local0)
+ m600(arg0, 60, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(aus2)), i603), Local0)
+ m600(arg0, 61, Local0, Zero)
+ }
+
+ Store(LLessEqual(Derefof(Index(paus, 3)), i603), Local0)
+ m600(arg0, 62, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paus, 2)), i603), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ // Method returns String
+
+ Store(LLessEqual(m601(2, 3), i603), Local0)
+ m600(arg0, 64, Local0, Ones)
+
+ Store(LLessEqual(m601(2, 2), i603), Local0)
+ m600(arg0, 65, Local0, Zero)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(2, 3, 1)), i603), Local0)
+ m600(arg0, 66, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(2, 2, 1)), i603), Local0)
+ m600(arg0, 67, Local0, Zero)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual("C179B3FE", i603), Local0)
+ m600(arg0, 68, Local0, Zero)
+
+ Store(LNotEqual("c179B3FE", i603), Local0)
+ m600(arg0, 69, Local0, Ones)
+
+ Store(LNotEqual("C179B3F ", i603), Local0)
+ m600(arg0, 70, Local0, Ones)
+
+ Store(LNotEqual("C179B3FEq", i603), Local0)
+ m600(arg0, 71, Local0, Ones)
+
+ Store(LNotEqual(aus3, i603), Local0)
+ m600(arg0, 72, Local0, Zero)
+
+ Store(LNotEqual(aus2, i603), Local0)
+ m600(arg0, 73, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aus3)), i603), Local0)
+ m600(arg0, 74, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(aus2)), i603), Local0)
+ m600(arg0, 75, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paus, 3)), i603), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paus, 2)), i603), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ // Method returns String
+
+ Store(LNotEqual(m601(2, 3), i603), Local0)
+ m600(arg0, 78, Local0, Zero)
+
+ Store(LNotEqual(m601(2, 2), i603), Local0)
+ m600(arg0, 79, Local0, Ones)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(2, 3, 1)), i603), Local0)
+ m600(arg0, 80, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(2, 2, 1)), i603), Local0)
+ m600(arg0, 81, Local0, Ones)
+ }
+ }
+
+ // Integer to String conversion of the Integer second operand of
+ // Concatenate operator when the first operand is evaluated as String
+
+ Method(m641, 1)
+ {
+ Store(Concatenate("", i604), Local0)
+ m600(arg0, 0, Local0, bs10)
+
+ Store(Concatenate("1234q", i604), Local0)
+ m600(arg0, 1, Local0, bs11)
+
+ Store(Concatenate(aus0, i604), Local0)
+ m600(arg0, 2, Local0, bs10)
+
+ Store(Concatenate(aus1, i604), Local0)
+ m600(arg0, 3, Local0, bs11)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aus0)), i604), Local0)
+ m600(arg0, 4, Local0, bs10)
+
+ Store(Concatenate(Derefof(Refof(aus1)), i604), Local0)
+ m600(arg0, 5, Local0, bs11)
+ }
+
+ Store(Concatenate(Derefof(Index(paus, 0)), i604), Local0)
+ m600(arg0, 6, Local0, bs10)
+
+ Store(Concatenate(Derefof(Index(paus, 1)), i604), Local0)
+ m600(arg0, 7, Local0, bs11)
+
+ // Method returns String
+
+ Store(Concatenate(m601(2, 0), i604), Local0)
+ m600(arg0, 8, Local0, bs10)
+
+ Store(Concatenate(m601(2, 1), i604), Local0)
+ m600(arg0, 9, Local0, bs11)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(2, 0, 1)), i604), Local0)
+ m600(arg0, 10, Local0, bs10)
+
+ Store(Concatenate(Derefof(m602(2, 1, 1)), i604), Local0)
+ m600(arg0, 11, Local0, bs11)
+ }
+
+ Concatenate("", i604, Local0)
+ m600(arg0, 12, Local0, bs10)
+
+ Concatenate("1234q", i604, Local0)
+ m600(arg0, 13, Local0, bs11)
+
+ Concatenate(aus0, i604, Local0)
+ m600(arg0, 14, Local0, bs10)
+
+ Concatenate(aus1, i604, Local0)
+ m600(arg0, 15, Local0, bs11)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aus0)), i604, Local0)
+ m600(arg0, 16, Local0, bs10)
+
+ Concatenate(Derefof(Refof(aus1)), i604, Local0)
+ m600(arg0, 17, Local0, bs11)
+ }
+
+ Concatenate(Derefof(Index(paus, 0)), i604, Local0)
+ m600(arg0, 18, Local0, bs10)
+
+ Concatenate(Derefof(Index(paus, 1)), i604, Local0)
+ m600(arg0, 19, Local0, bs11)
+
+ // Method returns String
+
+ Concatenate(m601(2, 0), i604, Local0)
+ m600(arg0, 20, Local0, bs10)
+
+ Concatenate(m601(2, 1), i604, Local0)
+ m600(arg0, 21, Local0, bs11)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Concatenate(Derefof(m602(2, 0, 1)), i604, Local0)
+ m600(arg0, 22, Local0, bs10)
+
+ Concatenate(Derefof(m602(2, 1, 1)), i604, Local0)
+ m600(arg0, 23, Local0, bs11)
+ }
+ }
+
+ Method(m321, 1)
+ {
+ Store(Concatenate("", i603), Local0)
+ m600(arg0, 0, Local0, bs12)
+
+ Store(Concatenate("1234q", i603), Local0)
+ m600(arg0, 1, Local0, bs13)
+
+ Store(Concatenate(aus0, i603), Local0)
+ m600(arg0, 2, Local0, bs12)
+
+ Store(Concatenate(aus1, i603), Local0)
+ m600(arg0, 3, Local0, bs13)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aus0)), i603), Local0)
+ m600(arg0, 4, Local0, bs12)
+
+ Store(Concatenate(Derefof(Refof(aus1)), i603), Local0)
+ m600(arg0, 5, Local0, bs13)
+ }
+
+ Store(Concatenate(Derefof(Index(paus, 0)), i603), Local0)
+ m600(arg0, 6, Local0, bs12)
+
+ Store(Concatenate(Derefof(Index(paus, 1)), i603), Local0)
+ m600(arg0, 7, Local0, bs13)
+
+ // Method returns String
+
+ Store(Concatenate(m601(2, 0), i603), Local0)
+ m600(arg0, 8, Local0, bs12)
+
+ Store(Concatenate(m601(2, 1), i603), Local0)
+ m600(arg0, 9, Local0, bs13)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(2, 0, 1)), i603), Local0)
+ m600(arg0, 10, Local0, bs12)
+
+ Store(Concatenate(Derefof(m602(2, 1, 1)), i603), Local0)
+ m600(arg0, 11, Local0, bs13)
+ }
+
+ Store(Concatenate("", i604), Local0)
+ m600(arg0, 12, Local0, bs14)
+
+ Store(Concatenate("1234q", i604), Local0)
+ m600(arg0, 13, Local0, bs15)
+
+ Concatenate("", i603, Local0)
+ m600(arg0, 14, Local0, bs12)
+
+ Concatenate("1234q", i603, Local0)
+ m600(arg0, 15, Local0, bs13)
+
+ Concatenate(aus0, i603, Local0)
+ m600(arg0, 16, Local0, bs12)
+
+ Concatenate(aus1, i603, Local0)
+ m600(arg0, 17, Local0, bs13)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aus0)), i603, Local0)
+ m600(arg0, 18, Local0, bs12)
+
+ Concatenate(Derefof(Refof(aus1)), i603, Local0)
+ m600(arg0, 19, Local0, bs13)
+ }
+
+ Concatenate(Derefof(Index(paus, 0)), i603, Local0)
+ m600(arg0, 20, Local0, bs12)
+
+ Concatenate(Derefof(Index(paus, 1)), i603, Local0)
+ m600(arg0, 21, Local0, bs13)
+
+ // Method returns String
+
+ Concatenate(m601(2, 0), i603, Local0)
+ m600(arg0, 22, Local0, bs12)
+
+ Concatenate(m601(2, 1), i603, Local0)
+ m600(arg0, 23, Local0, bs13)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Concatenate(Derefof(m602(2, 0, 1)), i603, Local0)
+ m600(arg0, 24, Local0, bs12)
+
+ Concatenate(Derefof(m602(2, 1, 1)), i603, Local0)
+ m600(arg0, 25, Local0, bs13)
+ }
+
+ Concatenate("", i604, Local0)
+ m600(arg0, 26, Local0, bs14)
+
+ Concatenate("1234q", i604, Local0)
+ m600(arg0, 27, Local0, bs15)
+ }
+
+// Method(m642, 1)
+
+// Method(m322, 1)
+
+// Method(m643, 1)
+
+// Method(m323, 1)
+
+ // Integer to Buffer implicit conversion Cases.
+
+ // Integer to Buffer conversion of the Integer second operand of
+ // Logical operators when the first operand is evaluated as Buffer
+ // (LEqual, LGreater, LGreaterEqual, LLess, LLessEqual, LNotEqual)
+
+ Method(m644, 1)
+ {
+ // LEqual
+
+ Store(LEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, i604), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFF}, i604), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(aub4, i604), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(LEqual(aub3, i604), Local0)
+ m600(arg0, 3, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aub4)), i604), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(aub3)), i604), Local0)
+ m600(arg0, 5, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paub, 4)), i604), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paub, 3)), i604), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ // Method returns Buffer
+
+ Store(LEqual(m601(3, 4), i604), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(LEqual(m601(3, 3), i604), Local0)
+ m600(arg0, 9, Local0, Zero)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(3, 4, 1)), i604), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(3, 3, 1)), i604), Local0)
+ m600(arg0, 11, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, i604), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LGreater(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFF}, i604), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LGreater(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFD}, i604), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LGreater(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0x01}, i604), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LGreater(aub4, i604), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LGreater(aub5, i604), Local0)
+ m600(arg0, 17, Local0, Ones)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aub4)), i604), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(aub5)), i604), Local0)
+ m600(arg0, 19, Local0, Ones)
+ }
+
+ Store(LGreater(Derefof(Index(paub, 4)), i604), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paub, 5)), i604), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Buffer
+
+ Store(LGreater(m601(3, 4), i604), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LGreater(m601(3, 5), i604), Local0)
+ m600(arg0, 23, Local0, Ones)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(3, 4, 1)), i604), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(3, 5, 1)), i604), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, i604), Local0)
+ m600(arg0, 26, Local0, Ones)
+
+ Store(LGreaterEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFF}, i604), Local0)
+ m600(arg0, 27, Local0, Ones)
+
+ Store(LGreaterEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFD}, i604), Local0)
+ m600(arg0, 28, Local0, Zero)
+
+ Store(LGreaterEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0x01}, i604), Local0)
+ m600(arg0, 29, Local0, Ones)
+
+ Store(LGreaterEqual(aub4, i604), Local0)
+ m600(arg0, 30, Local0, Ones)
+
+ Store(LGreaterEqual(aub5, i604), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aub4)), i604), Local0)
+ m600(arg0, 32, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(aub5)), i604), Local0)
+ m600(arg0, 33, Local0, Ones)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paub, 4)), i604), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paub, 5)), i604), Local0)
+ m600(arg0, 35, Local0, Ones)
+
+ // Method returns Buffer
+
+ Store(LGreaterEqual(m601(3, 4), i604), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(m601(3, 5), i604), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(3, 4, 1)), i604), Local0)
+ m600(arg0, 38, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(3, 5, 1)), i604), Local0)
+ m600(arg0, 39, Local0, Ones)
+ }
+
+ // LLess
+
+ Store(LLess(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, i604), Local0)
+ m600(arg0, 40, Local0, Zero)
+
+ Store(LLess(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFF}, i604), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ Store(LLess(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFD}, i604), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LLess(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0x01}, i604), Local0)
+ m600(arg0, 43, Local0, Zero)
+
+ Store(LLess(aub4, i604), Local0)
+ m600(arg0, 44, Local0, Zero)
+
+ Store(LLess(aub5, i604), Local0)
+ m600(arg0, 45, Local0, Zero)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aub4)), i604), Local0)
+ m600(arg0, 46, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(aub5)), i604), Local0)
+ m600(arg0, 47, Local0, Zero)
+ }
+
+ Store(LLess(Derefof(Index(paub, 4)), i604), Local0)
+ m600(arg0, 48, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paub, 5)), i604), Local0)
+ m600(arg0, 49, Local0, Zero)
+
+ // Method returns Buffer
+
+ Store(LLess(m601(3, 4), i604), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ Store(LLess(m601(3, 5), i604), Local0)
+ m600(arg0, 51, Local0, Zero)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LLess(Derefof(m602(3, 4, 1)), i604), Local0)
+ m600(arg0, 52, Local0, Zero)
+
+ Store(LLess(Derefof(m602(3, 5, 1)), i604), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, i604), Local0)
+ m600(arg0, 54, Local0, Ones)
+
+ Store(LLessEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFF}, i604), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLessEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFD}, i604), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLessEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0x01}, i604), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLessEqual(aub4, i604), Local0)
+ m600(arg0, 58, Local0, Ones)
+
+ Store(LLessEqual(aub5, i604), Local0)
+ m600(arg0, 59, Local0, Zero)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aub4)), i604), Local0)
+ m600(arg0, 60, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(aub5)), i604), Local0)
+ m600(arg0, 61, Local0, Zero)
+ }
+
+ Store(LLessEqual(Derefof(Index(paub, 4)), i604), Local0)
+ m600(arg0, 62, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paub, 5)), i604), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ // Method returns Buffer
+
+ Store(LLessEqual(m601(3, 4), i604), Local0)
+ m600(arg0, 64, Local0, Ones)
+
+ Store(LLessEqual(m601(3, 5), i604), Local0)
+ m600(arg0, 65, Local0, Zero)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(3, 4, 1)), i604), Local0)
+ m600(arg0, 66, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(3, 5, 1)), i604), Local0)
+ m600(arg0, 67, Local0, Zero)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, i604), Local0)
+ m600(arg0, 68, Local0, Zero)
+
+ Store(LNotEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFF}, i604), Local0)
+ m600(arg0, 69, Local0, Ones)
+
+ Store(LNotEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFD}, i604), Local0)
+ m600(arg0, 70, Local0, Ones)
+
+ Store(LNotEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0x01}, i604), Local0)
+ m600(arg0, 71, Local0, Ones)
+
+ Store(LNotEqual(aub4, i604), Local0)
+ m600(arg0, 72, Local0, Zero)
+
+ Store(LNotEqual(aub5, i604), Local0)
+ m600(arg0, 73, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aub4)), i604), Local0)
+ m600(arg0, 74, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(aub5)), i604), Local0)
+ m600(arg0, 75, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paub, 4)), i604), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paub, 5)), i604), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ // Method returns Buffer
+
+ Store(LNotEqual(m601(3, 4), i604), Local0)
+ m600(arg0, 78, Local0, Zero)
+
+ Store(LNotEqual(m601(3, 5), i604), Local0)
+ m600(arg0, 79, Local0, Ones)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(3, 4, 1)), i604), Local0)
+ m600(arg0, 80, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(3, 5, 1)), i604), Local0)
+ m600(arg0, 81, Local0, Ones)
+ }
+ }
+
+ Method(m324, 1)
+ {
+ // LEqual
+
+ Store(LEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC1}, i603), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC0}, i603), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(aub3, i603), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(LEqual(aub2, i603), Local0)
+ m600(arg0, 3, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aub3)), i603), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(aub2)), i603), Local0)
+ m600(arg0, 5, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paub, 3)), i603), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paub, 2)), i603), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ // Method returns Buffer
+
+ Store(LEqual(m601(3, 3), i603), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(LEqual(m601(3, 2), i603), Local0)
+ m600(arg0, 9, Local0, Zero)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(3, 3, 1)), i603), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(3, 2, 1)), i603), Local0)
+ m600(arg0, 11, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater(Buffer() {0xFE, 0xB3, 0x79, 0xC1}, i603), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LGreater(Buffer() {0xFE, 0xB3, 0x79, 0xC2}, i603), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LGreater(Buffer() {0xFE, 0xB3, 0x79, 0xC0}, i603), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LGreater(Buffer() {0xFE, 0xB3, 0x79, 0xC1, 0x01}, i603), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LGreater(aub3, i603), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LGreater(aub2, i603), Local0)
+ m600(arg0, 17, Local0, Ones)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aub3)), i603), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(aub2)), i603), Local0)
+ m600(arg0, 19, Local0, Ones)
+ }
+
+ Store(LGreater(Derefof(Index(paub, 3)), i603), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paub, 2)), i603), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Buffer
+
+ Store(LGreater(m601(3, 3), i603), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LGreater(m601(3, 2), i603), Local0)
+ m600(arg0, 23, Local0, Ones)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(3, 3, 1)), i603), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(3, 2, 1)), i603), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC1}, i603), Local0)
+ m600(arg0, 26, Local0, Ones)
+
+ Store(LGreaterEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC2}, i603), Local0)
+ m600(arg0, 27, Local0, Ones)
+
+ Store(LGreaterEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC0}, i603), Local0)
+ m600(arg0, 28, Local0, Zero)
+
+ Store(LGreaterEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC1, 0x01}, i603), Local0)
+ m600(arg0, 29, Local0, Ones)
+
+ Store(LGreaterEqual(aub3, i603), Local0)
+ m600(arg0, 30, Local0, Ones)
+
+ Store(LGreaterEqual(aub2, i603), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aub3)), i603), Local0)
+ m600(arg0, 32, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(aub2)), i603), Local0)
+ m600(arg0, 33, Local0, Ones)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paub, 3)), i603), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paub, 2)), i603), Local0)
+ m600(arg0, 35, Local0, Ones)
+
+ // Method returns Buffer
+
+ Store(LGreaterEqual(m601(3, 3), i603), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(m601(3, 2), i603), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(3, 3, 1)), i603), Local0)
+ m600(arg0, 38, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(3, 2, 1)), i603), Local0)
+ m600(arg0, 39, Local0, Ones)
+ }
+
+ // LLess
+
+ Store(LLess(Buffer() {0xFE, 0xB3, 0x79, 0xC1}, i603), Local0)
+ m600(arg0, 40, Local0, Zero)
+
+ Store(LLess(Buffer() {0xFE, 0xB3, 0x79, 0xC2}, i603), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ Store(LLess(Buffer() {0xFE, 0xB3, 0x79, 0xC0}, i603), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LLess(Buffer() {0xFE, 0xB3, 0x79, 0xC1, 0x01}, i603), Local0)
+ m600(arg0, 43, Local0, Zero)
+
+ Store(LLess(aub3, i603), Local0)
+ m600(arg0, 44, Local0, Zero)
+
+ Store(LLess(aub2, i603), Local0)
+ m600(arg0, 45, Local0, Zero)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aub3)), i603), Local0)
+ m600(arg0, 46, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(aub2)), i603), Local0)
+ m600(arg0, 47, Local0, Zero)
+ }
+
+ Store(LLess(Derefof(Index(paub, 3)), i603), Local0)
+ m600(arg0, 48, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paub, 2)), i603), Local0)
+ m600(arg0, 49, Local0, Zero)
+
+ // Method returns Buffer
+
+ Store(LLess(m601(3, 3), i603), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ Store(LLess(m601(3, 2), i603), Local0)
+ m600(arg0, 51, Local0, Zero)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LLess(Derefof(m602(3, 3, 1)), i603), Local0)
+ m600(arg0, 52, Local0, Zero)
+
+ Store(LLess(Derefof(m602(3, 2, 1)), i603), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC1}, i603), Local0)
+ m600(arg0, 54, Local0, Ones)
+
+ Store(LLessEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC2}, i603), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLessEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC0}, i603), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLessEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC1, 0x01}, i603), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLessEqual(aub3, i603), Local0)
+ m600(arg0, 58, Local0, Ones)
+
+ Store(LLessEqual(aub2, i603), Local0)
+ m600(arg0, 59, Local0, Zero)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aub3)), i603), Local0)
+ m600(arg0, 60, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(aub2)), i603), Local0)
+ m600(arg0, 61, Local0, Zero)
+ }
+
+ Store(LLessEqual(Derefof(Index(paub, 3)), i603), Local0)
+ m600(arg0, 62, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paub, 2)), i603), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ // Method returns Buffer
+
+ Store(LLessEqual(m601(3, 3), i603), Local0)
+ m600(arg0, 64, Local0, Ones)
+
+ Store(LLessEqual(m601(3, 2), i603), Local0)
+ m600(arg0, 65, Local0, Zero)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(3, 3, 1)), i603), Local0)
+ m600(arg0, 66, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(3, 2, 1)), i603), Local0)
+ m600(arg0, 67, Local0, Zero)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC1}, i603), Local0)
+ m600(arg0, 68, Local0, Zero)
+
+ Store(LNotEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC2}, i603), Local0)
+ m600(arg0, 69, Local0, Ones)
+
+ Store(LNotEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC0}, i603), Local0)
+ m600(arg0, 70, Local0, Ones)
+
+ Store(LNotEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC1, 0x01}, i603), Local0)
+ m600(arg0, 71, Local0, Ones)
+
+ Store(LNotEqual(aub3, i603), Local0)
+ m600(arg0, 72, Local0, Zero)
+
+ Store(LNotEqual(aub2, i603), Local0)
+ m600(arg0, 73, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aub3)), i603), Local0)
+ m600(arg0, 74, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(aub2)), i603), Local0)
+ m600(arg0, 75, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paub, 3)), i603), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paub, 2)), i603), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ // Method returns Buffer
+
+ Store(LNotEqual(m601(3, 3), i603), Local0)
+ m600(arg0, 78, Local0, Zero)
+
+ Store(LNotEqual(m601(3, 2), i603), Local0)
+ m600(arg0, 79, Local0, Ones)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(3, 3, 1)), i603), Local0)
+ m600(arg0, 80, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(3, 2, 1)), i603), Local0)
+ m600(arg0, 81, Local0, Ones)
+ }
+ }
+
+
+ // Integer to Buffer conversion of the both Integer operands of
+ // Concatenate operator
+
+ Method(m645, 1)
+ {
+ Store(Concatenate(i604, i604), Local0)
+ m600(arg0, 0, Local0, bb20)
+
+ Store(Concatenate(0x321, i604), Local0)
+ m600(arg0, 1, Local0, bb21)
+
+ Store(Concatenate(i604, 0x321), Local0)
+ m600(arg0, 1, Local0, bb22)
+
+ Concatenate(i604, i604, Local0)
+ m600(arg0, 0, Local0, bb20)
+
+ Concatenate(0x321, i604, Local0)
+ m600(arg0, 1, Local0, bb21)
+
+ Concatenate(i604, 0x321, Local0)
+ m600(arg0, 1, Local0, bb22)
+ }
+
+ Method(m325, 1)
+ {
+ Store(Concatenate(i603, i603), Local0)
+ m600(arg0, 0, Local0, bb23)
+
+ Store(Concatenate(0x321, i603), Local0)
+ m600(arg0, 1, Local0, bb24)
+
+ Store(Concatenate(i603, 0x321), Local0)
+ m600(arg0, 1, Local0, bb25)
+
+ Concatenate(i603, i603, Local0)
+ m600(arg0, 0, Local0, bb23)
+
+ Concatenate(0x321, i603, Local0)
+ m600(arg0, 1, Local0, bb24)
+
+ Concatenate(i603, 0x321, Local0)
+ m600(arg0, 1, Local0, bb25)
+ }
+
+ // Integer to Buffer conversion of the Integer second operand of
+ // Concatenate operator when the first operand is evaluated as Buffer
+
+ Method(m646, 1)
+ {
+ Store(Concatenate(Buffer(){0x5a}, i604), Local0)
+ m600(arg0, 0, Local0, bb10)
+
+ Store(Concatenate(Buffer(){0x5a, 0x00}, i604), Local0)
+ m600(arg0, 1, Local0, bb11)
+
+ Store(Concatenate(aub0, i604), Local0)
+ m600(arg0, 2, Local0, bb10)
+
+ Store(Concatenate(aub1, i604), Local0)
+ m600(arg0, 3, Local0, bb11)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aub0)), i604), Local0)
+ m600(arg0, 4, Local0, bb10)
+
+ Store(Concatenate(Derefof(Refof(aub1)), i604), Local0)
+ m600(arg0, 5, Local0, bb11)
+ }
+
+ Store(Concatenate(Derefof(Index(paub, 0)), i604), Local0)
+ m600(arg0, 6, Local0, bb10)
+
+ Store(Concatenate(Derefof(Index(paub, 1)), i604), Local0)
+ m600(arg0, 7, Local0, bb11)
+
+ // Method returns Buffer
+
+ Store(Concatenate(m601(3, 0), i604), Local0)
+ m600(arg0, 8, Local0, bb10)
+
+ Store(Concatenate(m601(3, 1), i604), Local0)
+ m600(arg0, 9, Local0, bb11)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(3, 0, 1)), i604), Local0)
+ m600(arg0, 10, Local0, bb10)
+
+ Store(Concatenate(Derefof(m602(3, 1, 1)), i604), Local0)
+ m600(arg0, 11, Local0, bb11)
+ }
+
+ Concatenate(Buffer(){0x5a}, i604, Local0)
+ m600(arg0, 12, Local0, bb10)
+
+ Concatenate(Buffer(){0x5a, 0x00}, i604, Local0)
+ m600(arg0, 13, Local0, bb11)
+
+ Concatenate(aub0, i604, Local0)
+ m600(arg0, 14, Local0, bb10)
+
+ Concatenate(aub1, i604, Local0)
+ m600(arg0, 15, Local0, bb11)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aub0)), i604, Local0)
+ m600(arg0, 16, Local0, bb10)
+
+ Concatenate(Derefof(Refof(aub1)), i604, Local0)
+ m600(arg0, 17, Local0, bb11)
+ }
+
+ Concatenate(Derefof(Index(paub, 0)), i604, Local0)
+ m600(arg0, 18, Local0, bb10)
+
+ Concatenate(Derefof(Index(paub, 1)), i604, Local0)
+ m600(arg0, 19, Local0, bb11)
+
+ // Method returns Buffer
+
+ Concatenate(m601(3, 0), i604, Local0)
+ m600(arg0, 20, Local0, bb10)
+
+ Concatenate(m601(3, 1), i604, Local0)
+ m600(arg0, 21, Local0, bb11)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Concatenate(Derefof(m602(3, 0, 1)), i604, Local0)
+ m600(arg0, 22, Local0, bb10)
+
+ Concatenate(Derefof(m602(3, 1, 1)), i604, Local0)
+ m600(arg0, 23, Local0, bb11)
+ }
+ }
+
+ Method(m326, 1)
+ {
+
+ Store(Concatenate(Buffer(){0x5a}, i603), Local0)
+ m600(arg0, 0, Local0, bb12)
+
+ Store(Concatenate(Buffer(){0x5a, 0x00}, i603), Local0)
+ m600(arg0, 1, Local0, bb13)
+
+ Store(Concatenate(aub0, i603), Local0)
+ m600(arg0, 2, Local0, bb12)
+
+ Store(Concatenate(aub1, i603), Local0)
+ m600(arg0, 3, Local0, bb13)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aub0)), i603), Local0)
+ m600(arg0, 4, Local0, bb12)
+
+ Store(Concatenate(Derefof(Refof(aub1)), i603), Local0)
+ m600(arg0, 5, Local0, bb13)
+ }
+
+ Store(Concatenate(Derefof(Index(paub, 0)), i603), Local0)
+ m600(arg0, 6, Local0, bb12)
+
+ Store(Concatenate(Derefof(Index(paub, 1)), i603), Local0)
+ m600(arg0, 7, Local0, bb13)
+
+ // Method returns Buffer
+
+ Store(Concatenate(m601(3, 0), i603), Local0)
+ m600(arg0, 8, Local0, bb12)
+
+ Store(Concatenate(m601(3, 1), i603), Local0)
+ m600(arg0, 9, Local0, bb13)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(3, 0, 1)), i603), Local0)
+ m600(arg0, 10, Local0, bb12)
+
+ Store(Concatenate(Derefof(m602(3, 1, 1)), i603), Local0)
+ m600(arg0, 11, Local0, bb13)
+ }
+
+ Store(Concatenate(Buffer(){0x5a}, i604), Local0)
+ m600(arg0, 12, Local0, bb14)
+
+ Store(Concatenate(Buffer(){0x5a, 0x00}, i604), Local0)
+ m600(arg0, 13, Local0, bb15)
+
+ Concatenate(Buffer(){0x5a}, i603, Local0)
+ m600(arg0, 14, Local0, bb12)
+
+ Concatenate(Buffer(){0x5a, 0x00}, i603, Local0)
+ m600(arg0, 15, Local0, bb13)
+
+ Concatenate(aub0, i603, Local0)
+ m600(arg0, 16, Local0, bb12)
+
+ Concatenate(aub1, i603, Local0)
+ m600(arg0, 17, Local0, bb13)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aub0)), i603, Local0)
+ m600(arg0, 18, Local0, bb12)
+
+ Concatenate(Derefof(Refof(aub1)), i603, Local0)
+ m600(arg0, 19, Local0, bb13)
+ }
+
+ Concatenate(Derefof(Index(paub, 0)), i603, Local0)
+ m600(arg0, 20, Local0, bb12)
+
+ Concatenate(Derefof(Index(paub, 1)), i603, Local0)
+ m600(arg0, 21, Local0, bb13)
+
+ // Method returns Buffer
+
+ Concatenate(m601(3, 0), i603, Local0)
+ m600(arg0, 22, Local0, bb12)
+
+ Concatenate(m601(3, 1), i603, Local0)
+ m600(arg0, 23, Local0, bb13)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Concatenate(Derefof(m602(3, 0, 1)), i603, Local0)
+ m600(arg0, 24, Local0, bb12)
+
+ Concatenate(Derefof(m602(3, 1, 1)), i603, Local0)
+ m600(arg0, 25, Local0, bb13)
+ }
+
+ Concatenate(Buffer(){0x5a}, i604, Local0)
+ m600(arg0, 26, Local0, bb14)
+
+ Concatenate(Buffer(){0x5a, 0x00}, i604, Local0)
+ m600(arg0, 27, Local0, bb15)
+ }
+
+
+ // Integer to Buffer conversion of the Integer Source operand of
+ // ToString operator
+
+ Method(m647, 1)
+ {
+ Store(ToString(i60d, Ones), Local0)
+ m600(arg0, 0, Local0, bs18)
+
+ Store(ToString(i60d, 3), Local0)
+ m600(arg0, 1, Local0, bs19)
+
+ Store(ToString(i60e, Ones), Local0)
+ m600(arg0, 2, Local0, bs1a)
+
+ Store(ToString(i60d, aui0), Local0)
+ m600(arg0, 3, Local0, bs18)
+
+ Store(ToString(i60d, aui7), Local0)
+ m600(arg0, 4, Local0, bs19)
+
+ Store(ToString(i60e, aui0), Local0)
+ m600(arg0, 5, Local0, bs1a)
+
+ if (y078) {
+ Store(ToString(i60d, Derefof(Refof(aui0))), Local0)
+ m600(arg0, 6, Local0, bs18)
+
+ Store(ToString(i60d, Derefof(Refof(aui7))), Local0)
+ m600(arg0, 7, Local0, bs19)
+
+ Store(ToString(i60e, Derefof(Refof(aui0))), Local0)
+ m600(arg0, 8, Local0, bs1a)
+ }
+
+ Store(ToString(i60d, Derefof(Index(paui, 0))), Local0)
+ m600(arg0, 9, Local0, bs18)
+
+ Store(ToString(i60d, Derefof(Index(paui, 7))), Local0)
+ m600(arg0, 10, Local0, bs19)
+
+ Store(ToString(i60e, Derefof(Index(paui, 0))), Local0)
+ m600(arg0, 11, Local0, bs1a)
+
+ // Method returns Length parameter
+
+ Store(ToString(i60d, m601(1, 0)), Local0)
+ m600(arg0, 12, Local0, bs18)
+
+ Store(ToString(i60d, m601(1, 7)), Local0)
+ m600(arg0, 13, Local0, bs19)
+
+ Store(ToString(i60e, m601(1, 0)), Local0)
+ m600(arg0, 14, Local0, bs1a)
+
+ // Method returns Reference to Length parameter
+
+ if (y500) {
+ Store(ToString(i60d, Derefof(m601(1, 0))), Local0)
+ m600(arg0, 15, Local0, bs18)
+
+ Store(ToString(i60d, Derefof(m601(1, 7))), Local0)
+ m600(arg0, 16, Local0, bs19)
+
+ Store(ToString(i60e, Derefof(m601(1, 0))), Local0)
+ m600(arg0, 17, Local0, bs1a)
+ }
+
+ ToString(i60d, Ones, Local0)
+ m600(arg0, 18, Local0, bs18)
+
+ ToString(i60d, 3, Local0)
+ m600(arg0, 19, Local0, bs19)
+
+ ToString(i60e, Ones, Local0)
+ m600(arg0, 20, Local0, bs1a)
+
+ ToString(i60d, aui0, Local0)
+ m600(arg0, 21, Local0, bs18)
+
+ ToString(i60d, aui7, Local0)
+ m600(arg0, 22, Local0, bs19)
+
+ ToString(i60e, aui0, Local0)
+ m600(arg0, 23, Local0, bs1a)
+
+ if (y078) {
+ ToString(i60d, Derefof(Refof(aui0)), Local0)
+ m600(arg0, 24, Local0, bs18)
+
+ ToString(i60d, Derefof(Refof(aui7)), Local0)
+ m600(arg0, 25, Local0, bs19)
+
+ ToString(i60e, Derefof(Refof(aui0)), Local0)
+ m600(arg0, 26, Local0, bs1a)
+ }
+
+ ToString(i60d, Derefof(Index(paui, 0)), Local0)
+ m600(arg0, 27, Local0, bs18)
+
+ ToString(i60d, Derefof(Index(paui, 7)), Local0)
+ m600(arg0, 28, Local0, bs19)
+
+ ToString(i60e, Derefof(Index(paui, 0)), Local0)
+ m600(arg0, 29, Local0, bs1a)
+
+ // Method returns Length parameter
+
+ ToString(i60d, m601(1, 0), Local0)
+ m600(arg0, 30, Local0, bs18)
+
+ ToString(i60d, m601(1, 7), Local0)
+ m600(arg0, 31, Local0, bs19)
+
+ ToString(i60e, m601(1, 0), Local0)
+ m600(arg0, 32, Local0, bs1a)
+
+ // Method returns Reference to Length parameter
+
+ if (y500) {
+ ToString(i60d, Derefof(m601(1, 0)), Local0)
+ m600(arg0, 33, Local0, bs18)
+
+ ToString(i60d, Derefof(m601(1, 7)), Local0)
+ m600(arg0, 34, Local0, bs19)
+
+ ToString(i60e, Derefof(m601(1, 0)), Local0)
+ m600(arg0, 35, Local0, bs1a)
+ }
+ }
+
+ Method(m327, 1)
+ {
+ Store(ToString(i60c, Ones), Local0)
+ m600(arg0, 0, Local0, bs16)
+
+ Store(ToString(i60c, 3), Local0)
+ m600(arg0, 1, Local0, bs17)
+
+ Store(ToString(i60f, Ones), Local0)
+ m600(arg0, 2, Local0, bs1a)
+
+ Store(ToString(i60c, aui0), Local0)
+ m600(arg0, 3, Local0, bs16)
+
+ Store(ToString(i60c, aui7), Local0)
+ m600(arg0, 4, Local0, bs17)
+
+ Store(ToString(i60f, aui0), Local0)
+ m600(arg0, 5, Local0, bs1a)
+
+ if (y078) {
+ Store(ToString(i60c, Derefof(Refof(aui0))), Local0)
+ m600(arg0, 6, Local0, bs16)
+
+ Store(ToString(i60c, Derefof(Refof(aui7))), Local0)
+ m600(arg0, 7, Local0, bs17)
+
+ Store(ToString(i60f, Derefof(Refof(aui0))), Local0)
+ m600(arg0, 8, Local0, bs1a)
+ }
+
+ Store(ToString(i60c, Derefof(Index(paui, 0))), Local0)
+ m600(arg0, 9, Local0, bs16)
+
+ Store(ToString(i60c, Derefof(Index(paui, 7))), Local0)
+ m600(arg0, 10, Local0, bs17)
+
+ Store(ToString(i60f, Derefof(Index(paui, 0))), Local0)
+ m600(arg0, 11, Local0, bs1a)
+
+ // Method returns Length parameter
+
+ Store(ToString(i60c, m601(1, 0)), Local0)
+ m600(arg0, 12, Local0, bs16)
+
+ Store(ToString(i60c, m601(1, 7)), Local0)
+ m600(arg0, 13, Local0, bs17)
+
+ Store(ToString(i60f, m601(1, 0)), Local0)
+ m600(arg0, 14, Local0, bs1a)
+
+ // Method returns Reference to Length parameter
+
+ if (y500) {
+ Store(ToString(i60c, Derefof(m601(1, 0))), Local0)
+ m600(arg0, 15, Local0, bs16)
+
+ Store(ToString(i60c, Derefof(m601(1, 7))), Local0)
+ m600(arg0, 16, Local0, bs17)
+
+ Store(ToString(i60f, Derefof(m601(1, 0))), Local0)
+ m600(arg0, 17, Local0, bs1a)
+ }
+
+ ToString(i60c, Ones, Local0)
+ m600(arg0, 18, Local0, bs16)
+
+ ToString(i60c, 3, Local0)
+ m600(arg0, 19, Local0, bs17)
+
+ ToString(i60f, Ones, Local0)
+ m600(arg0, 20, Local0, bs1a)
+
+ ToString(i60c, aui0, Local0)
+ m600(arg0, 21, Local0, bs16)
+
+ ToString(i60c, aui7, Local0)
+ m600(arg0, 22, Local0, bs17)
+
+ ToString(i60f, aui0, Local0)
+ m600(arg0, 23, Local0, bs1a)
+
+ if (y078) {
+ ToString(i60c, Derefof(Refof(aui0)), Local0)
+ m600(arg0, 24, Local0, bs16)
+
+ ToString(i60c, Derefof(Refof(aui7)), Local0)
+ m600(arg0, 25, Local0, bs17)
+
+ ToString(i60f, Derefof(Refof(aui0)), Local0)
+ m600(arg0, 26, Local0, bs1a)
+ }
+
+ ToString(i60c, Derefof(Index(paui, 0)), Local0)
+ m600(arg0, 27, Local0, bs16)
+
+ ToString(i60c, Derefof(Index(paui, 7)), Local0)
+ m600(arg0, 28, Local0, bs17)
+
+ ToString(i60f, Derefof(Index(paui, 0)), Local0)
+ m600(arg0, 29, Local0, bs1a)
+
+ // Method returns Length parameter
+
+ ToString(i60c, m601(1, 0), Local0)
+ m600(arg0, 30, Local0, bs16)
+
+ ToString(i60c, m601(1, 7), Local0)
+ m600(arg0, 31, Local0, bs17)
+
+ ToString(i60f, m601(1, 0), Local0)
+ m600(arg0, 32, Local0, bs1a)
+
+ // Method returns Reference to Length parameter
+
+ if (y500) {
+ ToString(i60c, Derefof(m601(1, 0)), Local0)
+ m600(arg0, 33, Local0, bs16)
+
+ ToString(i60c, Derefof(m601(1, 7)), Local0)
+ m600(arg0, 34, Local0, bs17)
+
+ ToString(i60f, Derefof(m601(1, 0)), Local0)
+ m600(arg0, 35, Local0, bs1a)
+ }
+ }
+
+ // Integer to Buffer conversion of the Integer Source operand of
+ // Mid operator
+
+ Method(m648, 1)
+ {
+ Store(Mid(i604, 0, 9), Local0)
+ m600(arg0, 0, Local0, bb1d)
+
+ Store(Mid(i60f, 1, 8), Local0)
+ m600(arg0, 1, Local0, bb30)
+
+ Store(Mid(i604, aui5, auib), Local0)
+ m600(arg0, 2, Local0, bb1d)
+
+ Store(Mid(i60f, aui6, auia), Local0)
+ m600(arg0, 3, Local0, bb30)
+
+ if (y078) {
+ Store(Mid(i604, Derefof(Refof(aui5)), Derefof(Refof(auib))), Local0)
+ m600(arg0, 4, Local0, bb1d)
+
+ Store(Mid(i60f, Derefof(Refof(aui6)), Derefof(Refof(auia))), Local0)
+ m600(arg0, 5, Local0, bb30)
+ }
+
+ Store(Mid(i604, Derefof(Index(paui, 5)), Derefof(Index(paui, 11))), Local0)
+ m600(arg0, 6, Local0, bb1d)
+
+ Store(Mid(i60f, Derefof(Index(paui, 6)), Derefof(Index(paui, 10))), Local0)
+ m600(arg0, 7, Local0, bb30)
+
+ // Method returns Index and Length parameters
+
+ Store(Mid(i604, m601(1, 5), m601(1, 11)), Local0)
+ m600(arg0, 8, Local0, bb1d)
+
+ Store(Mid(i60f, m601(1, 6), m601(1, 10)), Local0)
+ m600(arg0, 9, Local0, bb30)
+
+ // Method returns Reference to Index and Length parameters
+
+ if (y500) {
+ Store(Mid(i604, Derefof(m601(1, 5)), Derefof(m601(1, 11))), Local0)
+ m600(arg0, 10, Local0, bb1d)
+
+ Store(Mid(i60f, Derefof(m601(1, 6)), Derefof(m601(1, 10))), Local0)
+ m600(arg0, 11, Local0, bb30)
+ }
+
+ Mid(i604, 0, 9, Local0)
+ m600(arg0, 12, Local0, bb1d)
+
+ Mid(i60f, 1, 8, Local0)
+ m600(arg0, 13, Local0, bb30)
+
+ Mid(i604, aui5, auib, Local0)
+ m600(arg0, 14, Local0, bb1d)
+
+ Mid(i60f, aui6, auia, Local0)
+ m600(arg0, 15, Local0, bb30)
+
+ if (y078) {
+ Mid(i604, Derefof(Refof(aui5)), Derefof(Refof(auib)), Local0)
+ m600(arg0, 16, Local0, bb1d)
+
+ Mid(i60f, Derefof(Refof(aui6)), Derefof(Refof(auia)), Local0)
+ m600(arg0, 17, Local0, bb30)
+ }
+
+ Mid(i604, Derefof(Index(paui, 5)), Derefof(Index(paui, 11)), Local0)
+ m600(arg0, 18, Local0, bb1d)
+
+ Mid(i60f, Derefof(Index(paui, 6)), Derefof(Index(paui, 10)), Local0)
+ m600(arg0, 19, Local0, bb30)
+
+ // Method returns Index and Length parameters
+
+ Mid(i604, m601(1, 5), m601(1, 11), Local0)
+ m600(arg0, 20, Local0, bb1d)
+
+ Mid(i60f, m601(1, 6), m601(1, 10), Local0)
+ m600(arg0, 21, Local0, bb30)
+
+ // Method returns Reference to Index and Length parameters
+
+ if (y500) {
+ Mid(i604, Derefof(m601(1, 5)), Derefof(m601(1, 11)), Local0)
+ m600(arg0, 22, Local0, bb1d)
+
+ Mid(i60f, Derefof(m601(1, 6)), Derefof(m601(1, 10)), Local0)
+ m600(arg0, 23, Local0, bb30)
+ }
+ }
+
+ Method(m328, 1)
+ {
+ Store(Mid(i603, 0, 5), Local0)
+ m600(arg0, 0, Local0, bb1c)
+
+ Store(Mid(i60f, 1, 4), Local0)
+ m600(arg0, 1, Local0, bb31)
+
+ Store(Mid(i603, aui5, aui9), Local0)
+ m600(arg0, 2, Local0, bb1c)
+
+ Store(Mid(i60f, aui6, aui8), Local0)
+ m600(arg0, 3, Local0, bb31)
+
+ if (y078) {
+ Store(Mid(i603, Derefof(Refof(aui5)), Derefof(Refof(aui9))), Local0)
+ m600(arg0, 4, Local0, bb1c)
+
+ Store(Mid(i60f, Derefof(Refof(aui6)), Derefof(Refof(aui8))), Local0)
+ m600(arg0, 5, Local0, bb31)
+ }
+
+ Store(Mid(i603, Derefof(Index(paui, 5)), Derefof(Index(paui, 9))), Local0)
+ m600(arg0, 6, Local0, bb1c)
+
+ Store(Mid(i60f, Derefof(Index(paui, 6)), Derefof(Index(paui, 8))), Local0)
+ m600(arg0, 7, Local0, bb31)
+
+ // Method returns Index and Length parameters
+
+ Store(Mid(i603, m601(1, 5), m601(1, 9)), Local0)
+ m600(arg0, 8, Local0, bb1c)
+
+ Store(Mid(i60f, m601(1, 6), m601(1, 8)), Local0)
+ m600(arg0, 9, Local0, bb31)
+
+ // Method returns Reference to Index and Length parameters
+
+ if (y500) {
+ Store(Mid(i603, Derefof(m601(1, 5)), Derefof(m601(1, 9))), Local0)
+ m600(arg0, 10, Local0, bb1c)
+
+ Store(Mid(i60f, Derefof(m601(1, 6)), Derefof(m601(1, 8))), Local0)
+ m600(arg0, 11, Local0, bb31)
+ }
+
+ Mid(i603, 0, 5, Local0)
+ m600(arg0, 12, Local0, bb1c)
+
+ Mid(i60f, 1, 4, Local0)
+ m600(arg0, 13, Local0, bb31)
+
+ Mid(i603, aui5, aui9, Local0)
+ m600(arg0, 14, Local0, bb1c)
+
+ Mid(i60f, aui6, aui8, Local0)
+ m600(arg0, 15, Local0, bb31)
+
+ if (y078) {
+ Mid(i603, Derefof(Refof(aui5)), Derefof(Refof(aui9)), Local0)
+ m600(arg0, 16, Local0, bb1c)
+
+ Mid(i60f, Derefof(Refof(aui6)), Derefof(Refof(aui8)), Local0)
+ m600(arg0, 17, Local0, bb31)
+ }
+
+ Mid(i603, Derefof(Index(paui, 5)), Derefof(Index(paui, 9)), Local0)
+ m600(arg0, 18, Local0, bb1c)
+
+ Mid(i60f, Derefof(Index(paui, 6)), Derefof(Index(paui, 8)), Local0)
+ m600(arg0, 19, Local0, bb31)
+
+ // Method returns Index and Length parameters
+
+ Mid(i603, m601(1, 5), m601(1, 9), Local0)
+ m600(arg0, 20, Local0, bb1c)
+
+ Mid(i60f, m601(1, 6), m601(1, 8), Local0)
+ m600(arg0, 21, Local0, bb31)
+
+ // Method returns Reference to Index and Length parameters
+
+ if (y500) {
+ Mid(i603, Derefof(m601(1, 5)), Derefof(m601(1, 9)), Local0)
+ m600(arg0, 22, Local0, bb1c)
+
+ Mid(i60f, Derefof(m601(1, 6)), Derefof(m601(1, 8)), Local0)
+ m600(arg0, 23, Local0, bb31)
+ }
+ }
+
+// Method(m649, 1)
+
+// Method(m329, 1)
+
+// Method(m64a, 1)
+
+// Method(m32a, 1)
+
+ // String to Integer implicit conversion Cases.
+
+ // String to Integer conversion of the String sole operand
+ // of the 1-parameter Integer arithmetic operators
+ // (Decrement, Increment, FindSetLeftBit, FindSetRightBit, Not)
+
+ Method(m64b, 1)
+ {
+ // Decrement
+ if (y501) {
+ Store(Decrement(s601), Local0)
+ m600(arg0, 0, Local0, bi12)
+
+ Store(Decrement(s605), Local0)
+ m600(arg0, 1, Local0, bi16)
+ }
+
+ // Increment
+ if (y501) {
+ Store(Increment(s601), Local0)
+ m600(arg0, 2, Local0, bi13)
+
+ Store(Increment(s605), Local0)
+ m600(arg0, 3, Local0, bi17)
+ }
+
+ // FindSetLeftBit
+ Store(FindSetLeftBit(s601), Local0)
+ m600(arg0, 4, Local0, 10)
+
+ Store(FindSetLeftBit(s605), Local0)
+ m600(arg0, 5, Local0, 64)
+
+ // FindSetRightBit
+
+ Store(FindSetRightBit(s601), Local0)
+ m600(arg0, 6, Local0, 1)
+
+ Store(FindSetRightBit(s605), Local0)
+ m600(arg0, 7, Local0, 3)
+
+ // Not
+
+ Store(Not(s601), Local0)
+ m600(arg0, 8, Local0, 0xfffffffffffffcde)
+
+ Store(Not(s605), Local0)
+ m600(arg0, 9, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Method(m32b, 1)
+ {
+ // Decrement
+ if (y501) {
+ Store(Decrement(s601), Local0)
+ m600(arg0, 0, Local0, bi12)
+
+ Store(Decrement(s604), Local0)
+ m600(arg0, 1, Local0, bi14)
+ }
+
+ // Increment
+ if (y501) {
+ Store(Increment(s601), Local0)
+ m600(arg0, 2, Local0, bi13)
+
+ Store(Increment(s604), Local0)
+ m600(arg0, 3, Local0, bi15)
+ }
+
+ // FindSetLeftBit
+
+ Store(FindSetLeftBit(s601), Local0)
+ m600(arg0, 4, Local0, 10)
+
+ Store(FindSetLeftBit(s604), Local0)
+ m600(arg0, 5, Local0, 32)
+
+ // FindSetRightBit
+
+ Store(FindSetRightBit(s601), Local0)
+ m600(arg0, 6, Local0, 1)
+
+ Store(FindSetRightBit(s604), Local0)
+ m600(arg0, 7, Local0, 2)
+
+ // Not
+
+ Store(Not(s601), Local0)
+ m600(arg0, 8, Local0, 0xfffffcde)
+
+ Store(Not(s604), Local0)
+ m600(arg0, 9, Local0, 0x3e864c01)
+ }
+
+ // String to Integer conversion of the String sole operand
+ // of the LNot Logical Integer operator
+ Method(m000, 1)
+ {
+ Store(LNot(s600), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LNot(s601), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ if (F64) {
+ Store(LNot(s605), Local0)
+ m600(arg0, 2, Local0, Zero)
+ } else {
+ Store(LNot(s604), Local0)
+ m600(arg0, 3, Local0, Zero)
+ }
+ }
+
+ // String to Integer conversion of the String sole operand
+ // of the FromBCD and ToBCD conversion operators
+
+ Method(m64c, 1)
+ {
+ // FromBCD
+
+ Store(FromBCD(s601), Local0)
+ m600(arg0, 2, Local0, 0x141)
+
+ Store(FromBCD(s615), Local0)
+ m600(arg0, 3, Local0, 0xd76162ee9ec35)
+
+ FromBCD(s601, Local0)
+ m600(arg0, 2, Local0, 0x141)
+
+ FromBCD(s615, Local0)
+ m600(arg0, 3, Local0, 0xd76162ee9ec35)
+
+ // ToBCD
+
+ Store(ToBCD(s601), Local0)
+ m600(arg0, 4, Local0, 0x801)
+
+/* Error of iASL on constant folding
+ Store(ToBCD(s616), Local0)
+ m600(arg0, 5, Local0, 0x3789012345678901)
+*/
+
+ ToBCD(s601, Local0)
+ m600(arg0, 4, Local0, 0x801)
+
+ ToBCD(s616, Local0)
+ m600(arg0, 5, Local0, 0x3789012345678901)
+ }
+
+ Method(m32c, 1)
+ {
+ // FromBCD
+
+ Store(FromBCD(s601), Local0)
+ m600(arg0, 2, Local0, 0x141)
+
+ Store(FromBCD(s617), Local0)
+ m600(arg0, 3, Local0, 0x55f2cc0)
+
+ FromBCD(s601, Local0)
+ m600(arg0, 2, Local0, 0x141)
+
+ FromBCD(s617, Local0)
+ m600(arg0, 3, Local0, 0x55f2cc0)
+
+ // ToBCD
+
+ Store(ToBCD(s601), Local0)
+ m600(arg0, 4, Local0, 0x801)
+
+ Store(ToBCD(s618), Local0)
+ m600(arg0, 5, Local0, 0x90123456)
+
+ ToBCD(s601, Local0)
+ m600(arg0, 4, Local0, 0x801)
+
+ ToBCD(s618, Local0)
+ m600(arg0, 5, Local0, 0x90123456)
+ }
+
+ // String to Integer conversion of each String operand
+ // of the 2-parameter Integer arithmetic operators
+ // Add, And, Divide, Mod, Multiply, NAnd, NOr, Or,
+ // ShiftLeft, ShiftRight, Subtract, Xor
+
+ // Add, common 32-bit/64-bit test
+ Method(m001, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Add(s601, 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Add(s601, 1), Local0)
+ m600(arg0, 1, Local0, 0x322)
+
+ Store(Add(s601, aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Add(s601, aui6), Local0)
+ m600(arg0, 3, Local0, 0x322)
+
+ if (y078) {
+ Store(Add(s601, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Add(s601, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x322)
+ }
+
+ Store(Add(s601, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Add(s601, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x322)
+
+ // Method returns Integer
+
+ Store(Add(s601, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Add(s601, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x322)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(s601, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Add(s601, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x322)
+ }
+
+ Add(s601, 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Add(s601, 1, Local0)
+ m600(arg0, 13, Local0, 0x322)
+
+ Add(s601, aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Add(s601, aui6, Local0)
+ m600(arg0, 15, Local0, 0x322)
+
+ if (y078) {
+ Add(s601, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Add(s601, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x322)
+ }
+
+ Add(s601, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Add(s601, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x322)
+
+ // Method returns Integer
+
+ Add(s601, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Add(s601, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x322)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(s601, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Add(s601, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x322)
+ }
+
+ // Conversion of the second operand
+
+ Store(Add(0, s601), Local0)
+ m600(arg0, 24, Local0, 0x321)
+
+ Store(Add(1, s601), Local0)
+ m600(arg0, 25, Local0, 0x322)
+
+ Store(Add(aui5, s601), Local0)
+ m600(arg0, 26, Local0, 0x321)
+
+ Store(Add(aui6, s601), Local0)
+ m600(arg0, 27, Local0, 0x322)
+
+ if (y078) {
+ Store(Add(Derefof(Refof(aui5)), s601), Local0)
+ m600(arg0, 28, Local0, 0x321)
+
+ Store(Add(Derefof(Refof(aui6)), s601), Local0)
+ m600(arg0, 29, Local0, 0x322)
+ }
+
+ Store(Add(Derefof(Index(paui, 5)), s601), Local0)
+ m600(arg0, 30, Local0, 0x321)
+
+ Store(Add(Derefof(Index(paui, 6)), s601), Local0)
+ m600(arg0, 31, Local0, 0x322)
+
+ // Method returns Integer
+
+ Store(Add(m601(1, 5), s601), Local0)
+ m600(arg0, 32, Local0, 0x321)
+
+ Store(Add(m601(1, 6), s601), Local0)
+ m600(arg0, 33, Local0, 0x322)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(Derefof(m602(1, 5, 1)), s601), Local0)
+ m600(arg0, 34, Local0, 0x321)
+
+ Store(Add(Derefof(m602(1, 6, 1)), s601), Local0)
+ m600(arg0, 35, Local0, 0x322)
+ }
+
+ Add(0, s601, Local0)
+ m600(arg0, 36, Local0, 0x321)
+
+ Add(1, s601, Local0)
+ m600(arg0, 37, Local0, 0x322)
+
+ Add(aui5, s601, Local0)
+ m600(arg0, 38, Local0, 0x321)
+
+ Add(aui6, s601, Local0)
+ m600(arg0, 39, Local0, 0x322)
+
+ if (y078) {
+ Add(Derefof(Refof(aui5)), s601, Local0)
+ m600(arg0, 40, Local0, 0x321)
+
+ Add(Derefof(Refof(aui6)), s601, Local0)
+ m600(arg0, 41, Local0, 0x322)
+ }
+
+ Add(Derefof(Index(paui, 5)), s601, Local0)
+ m600(arg0, 42, Local0, 0x321)
+
+ Add(Derefof(Index(paui, 6)), s601, Local0)
+ m600(arg0, 43, Local0, 0x322)
+
+ // Method returns Integer
+
+ Add(m601(1, 5), s601, Local0)
+ m600(arg0, 44, Local0, 0x321)
+
+ Add(m601(1, 6), s601, Local0)
+ m600(arg0, 45, Local0, 0x322)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(Derefof(m602(1, 5, 1)), s601, Local0)
+ m600(arg0, 46, Local0, 0x321)
+
+ Add(Derefof(m602(1, 6, 1)), s601, Local0)
+ m600(arg0, 47, Local0, 0x322)
+ }
+ }
+
+ // Add, 64-bit
+ Method(m002, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Add(s605, 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(s605, 1), Local0)
+ m600(arg0, 1, Local0, 0xfe7cb391d650a285)
+
+ Store(Add(s605, aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(s605, aui6), Local0)
+ m600(arg0, 3, Local0, 0xfe7cb391d650a285)
+
+ if (y078) {
+ Store(Add(s605, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(s605, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xfe7cb391d650a285)
+ }
+
+ Store(Add(s605, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(s605, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Integer
+
+ Store(Add(s605, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(s605, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(s605, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(s605, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfe7cb391d650a285)
+ }
+
+ Add(s605, 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Add(s605, 1, Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a285)
+
+ Add(s605, aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Add(s605, aui6, Local0)
+ m600(arg0, 15, Local0, 0xfe7cb391d650a285)
+
+ if (y078) {
+ Add(s605, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Add(s605, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xfe7cb391d650a285)
+ }
+
+ Add(s605, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Add(s605, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Integer
+
+ Add(s605, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Add(s605, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(s605, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Add(s605, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfe7cb391d650a285)
+ }
+
+ // Conversion of the second operand
+
+ Store(Add(0, s605), Local0)
+ m600(arg0, 24, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(1, s605), Local0)
+ m600(arg0, 25, Local0, 0xfe7cb391d650a285)
+
+ Store(Add(aui5, s605), Local0)
+ m600(arg0, 26, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(aui6, s605), Local0)
+ m600(arg0, 27, Local0, 0xfe7cb391d650a285)
+
+ if (y078) {
+ Store(Add(Derefof(Refof(aui5)), s605), Local0)
+ m600(arg0, 28, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(Refof(aui6)), s605), Local0)
+ m600(arg0, 29, Local0, 0xfe7cb391d650a285)
+ }
+
+ Store(Add(Derefof(Index(paui, 5)), s605), Local0)
+ m600(arg0, 30, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(Index(paui, 6)), s605), Local0)
+ m600(arg0, 31, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Integer
+
+ Store(Add(m601(1, 5), s605), Local0)
+ m600(arg0, 32, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(m601(1, 6), s605), Local0)
+ m600(arg0, 33, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(Derefof(m602(1, 5, 1)), s605), Local0)
+ m600(arg0, 34, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(m602(1, 6, 1)), s605), Local0)
+ m600(arg0, 35, Local0, 0xfe7cb391d650a285)
+ }
+
+ Add(0, s605, Local0)
+ m600(arg0, 36, Local0, 0xfe7cb391d650a284)
+
+ Add(1, s605, Local0)
+ m600(arg0, 37, Local0, 0xfe7cb391d650a285)
+
+ Add(aui5, s605, Local0)
+ m600(arg0, 38, Local0, 0xfe7cb391d650a284)
+
+ Add(aui6, s605, Local0)
+ m600(arg0, 39, Local0, 0xfe7cb391d650a285)
+
+ if (y078) {
+ Add(Derefof(Refof(aui5)), s605, Local0)
+ m600(arg0, 40, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(Refof(aui6)), s605, Local0)
+ m600(arg0, 41, Local0, 0xfe7cb391d650a285)
+ }
+
+ Add(Derefof(Index(paui, 5)), s605, Local0)
+ m600(arg0, 42, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(Index(paui, 6)), s605, Local0)
+ m600(arg0, 43, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Integer
+
+ Add(m601(1, 5), s605, Local0)
+ m600(arg0, 44, Local0, 0xfe7cb391d650a284)
+
+ Add(m601(1, 6), s605, Local0)
+ m600(arg0, 45, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(Derefof(m602(1, 5, 1)), s605, Local0)
+ m600(arg0, 46, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(m602(1, 6, 1)), s605, Local0)
+ m600(arg0, 47, Local0, 0xfe7cb391d650a285)
+ }
+
+ // Conversion of the both operands
+
+ Store(Add(s601, s605), Local0)
+ m600(arg0, 48, Local0, 0xfe7cb391d650a5a5)
+
+ Store(Add(s605, s601), Local0)
+ m600(arg0, 49, Local0, 0xfe7cb391d650a5a5)
+
+ Add(s601, s605, Local0)
+ m600(arg0, 50, Local0, 0xfe7cb391d650a5a5)
+
+ Add(s605, s601, Local0)
+ m600(arg0, 51, Local0, 0xfe7cb391d650a5a5)
+ }
+
+ // Add, 32-bit
+ Method(m003, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Add(s604, 0), Local0)
+ m600(arg0, 0, Local0, 0xc179b3fe)
+
+ Store(Add(s604, 1), Local0)
+ m600(arg0, 1, Local0, 0xc179b3ff)
+
+ Store(Add(s604, aui5), Local0)
+ m600(arg0, 2, Local0, 0xc179b3fe)
+
+ Store(Add(s604, aui6), Local0)
+ m600(arg0, 3, Local0, 0xc179b3ff)
+
+ if (y078) {
+ Store(Add(s604, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xc179b3fe)
+
+ Store(Add(s604, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xc179b3ff)
+ }
+
+ Store(Add(s604, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xc179b3fe)
+
+ Store(Add(s604, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xc179b3ff)
+
+ // Method returns Integer
+
+ Store(Add(s604, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xc179b3fe)
+
+ Store(Add(s604, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xc179b3ff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(s604, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xc179b3fe)
+
+ Store(Add(s604, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xc179b3ff)
+ }
+
+ Add(s604, 0, Local0)
+ m600(arg0, 12, Local0, 0xc179b3fe)
+
+ Add(s604, 1, Local0)
+ m600(arg0, 13, Local0, 0xc179b3ff)
+
+ Add(s604, aui5, Local0)
+ m600(arg0, 14, Local0, 0xc179b3fe)
+
+ Add(s604, aui6, Local0)
+ m600(arg0, 15, Local0, 0xc179b3ff)
+
+ if (y078) {
+ Add(s604, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xc179b3fe)
+
+ Add(s604, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xc179b3ff)
+ }
+
+ Add(s604, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xc179b3fe)
+
+ Add(s604, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xc179b3ff)
+
+ // Method returns Integer
+
+ Add(s604, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xc179b3fe)
+
+ Add(s604, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xc179b3ff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(s604, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xc179b3fe)
+
+ Add(s604, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xc179b3ff)
+ }
+
+ // Conversion of the second operand
+
+ Store(Add(0, s604), Local0)
+ m600(arg0, 24, Local0, 0xc179b3fe)
+
+ Store(Add(1, s604), Local0)
+ m600(arg0, 25, Local0, 0xc179b3ff)
+
+ Store(Add(aui5, s604), Local0)
+ m600(arg0, 26, Local0, 0xc179b3fe)
+
+ Store(Add(aui6, s604), Local0)
+ m600(arg0, 27, Local0, 0xc179b3ff)
+
+ if (y078) {
+ Store(Add(Derefof(Refof(aui5)), s604), Local0)
+ m600(arg0, 28, Local0, 0xc179b3fe)
+
+ Store(Add(Derefof(Refof(aui6)), s604), Local0)
+ m600(arg0, 29, Local0, 0xc179b3ff)
+ }
+
+ Store(Add(Derefof(Index(paui, 5)), s604), Local0)
+ m600(arg0, 30, Local0, 0xc179b3fe)
+
+ Store(Add(Derefof(Index(paui, 6)), s604), Local0)
+ m600(arg0, 31, Local0, 0xc179b3ff)
+
+ // Method returns Integer
+
+ Store(Add(m601(1, 5), s604), Local0)
+ m600(arg0, 32, Local0, 0xc179b3fe)
+
+ Store(Add(m601(1, 6), s604), Local0)
+ m600(arg0, 33, Local0, 0xc179b3ff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(Derefof(m602(1, 5, 1)), s604), Local0)
+ m600(arg0, 34, Local0, 0xc179b3fe)
+
+ Store(Add(Derefof(m602(1, 6, 1)), s604), Local0)
+ m600(arg0, 35, Local0, 0xc179b3ff)
+ }
+
+ Add(0, s604, Local0)
+ m600(arg0, 36, Local0, 0xc179b3fe)
+
+ Add(1, s604, Local0)
+ m600(arg0, 37, Local0, 0xc179b3ff)
+
+ Add(aui5, s604, Local0)
+ m600(arg0, 38, Local0, 0xc179b3fe)
+
+ Add(aui6, s604, Local0)
+ m600(arg0, 39, Local0, 0xc179b3ff)
+
+ if (y078) {
+ Add(Derefof(Refof(aui5)), s604, Local0)
+ m600(arg0, 40, Local0, 0xc179b3fe)
+
+ Add(Derefof(Refof(aui6)), s604, Local0)
+ m600(arg0, 41, Local0, 0xc179b3ff)
+ }
+
+ Add(Derefof(Index(paui, 5)), s604, Local0)
+ m600(arg0, 42, Local0, 0xc179b3fe)
+
+ Add(Derefof(Index(paui, 6)), s604, Local0)
+ m600(arg0, 43, Local0, 0xc179b3ff)
+
+ // Method returns Integer
+
+ Add(m601(1, 5), s604, Local0)
+ m600(arg0, 44, Local0, 0xc179b3fe)
+
+ Add(m601(1, 6), s604, Local0)
+ m600(arg0, 45, Local0, 0xc179b3ff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(Derefof(m602(1, 5, 1)), s604, Local0)
+ m600(arg0, 46, Local0, 0xc179b3fe)
+
+ Add(Derefof(m602(1, 6, 1)), s604, Local0)
+ m600(arg0, 47, Local0, 0xc179b3ff)
+ }
+
+ // Conversion of the both operands
+
+ Store(Add(s601, s604), Local0)
+ m600(arg0, 48, Local0, 0xc179b71f)
+
+ Store(Add(s604, s601), Local0)
+ m600(arg0, 49, Local0, 0xc179b71f)
+
+ Add(s601, s604, Local0)
+ m600(arg0, 50, Local0, 0xc179b71f)
+
+ Add(s604, s601, Local0)
+ m600(arg0, 51, Local0, 0xc179b71f)
+ }
+
+ // And, common 32-bit/64-bit test
+ Method(m004, 1)
+ {
+ // Conversion of the first operand
+
+ Store(And(s601, 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(And(s601, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0x321)
+
+ Store(And(s601, aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(And(s601, auij), Local0)
+ m600(arg0, 3, Local0, 0x321)
+
+ if (y078) {
+ Store(And(s601, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(And(s601, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0x321)
+ }
+
+ Store(And(s601, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(And(s601, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0x321)
+
+ // Method returns Integer
+
+ Store(And(s601, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(And(s601, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(s601, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(And(s601, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0x321)
+ }
+
+ And(s601, 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ And(s601, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0x321)
+
+ And(s601, aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ And(s601, auij, Local0)
+ m600(arg0, 15, Local0, 0x321)
+
+ if (y078) {
+ And(s601, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ And(s601, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0x321)
+ }
+
+ And(s601, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ And(s601, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0x321)
+
+ // Method returns Integer
+
+ And(s601, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ And(s601, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(s601, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ And(s601, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0x321)
+ }
+
+ // Conversion of the second operand
+
+ Store(And(0, s601), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(And(0xffffffffffffffff, s601), Local0)
+ m600(arg0, 25, Local0, 0x321)
+
+ Store(And(aui5, s601), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(And(auij, s601), Local0)
+ m600(arg0, 27, Local0, 0x321)
+
+ if (y078) {
+ Store(And(Derefof(Refof(aui5)), s601), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(And(Derefof(Refof(auij)), s601), Local0)
+ m600(arg0, 29, Local0, 0x321)
+ }
+
+ Store(And(Derefof(Index(paui, 5)), s601), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(And(Derefof(Index(paui, 19)), s601), Local0)
+ m600(arg0, 31, Local0, 0x321)
+
+ // Method returns Integer
+
+ Store(And(m601(1, 5), s601), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(And(m601(1, 19), s601), Local0)
+ m600(arg0, 33, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(Derefof(m602(1, 5, 1)), s601), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(And(Derefof(m602(1, 19, 1)), s601), Local0)
+ m600(arg0, 35, Local0, 0x321)
+ }
+
+ And(0, s601, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ And(0xffffffffffffffff, s601, Local0)
+ m600(arg0, 37, Local0, 0x321)
+
+ And(aui5, s601, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ And(auij, s601, Local0)
+ m600(arg0, 39, Local0, 0x321)
+
+ if (y078) {
+ And(Derefof(Refof(aui5)), s601, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ And(Derefof(Refof(auij)), s601, Local0)
+ m600(arg0, 41, Local0, 0x321)
+ }
+
+ And(Derefof(Index(paui, 5)), s601, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ And(Derefof(Index(paui, 19)), s601, Local0)
+ m600(arg0, 43, Local0, 0x321)
+
+ // Method returns Integer
+
+ And(m601(1, 5), s601, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ And(m601(1, 19), s601, Local0)
+ m600(arg0, 45, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(Derefof(m602(1, 5, 1)), s601, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ And(Derefof(m602(1, 19, 1)), s601, Local0)
+ m600(arg0, 47, Local0, 0x321)
+ }
+ }
+
+ // And, 64-bit
+ Method(m005, 1)
+ {
+ // Conversion of the first operand
+
+ Store(And(s605, 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(And(s605, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xfe7cb391d650a284)
+
+ Store(And(s605, aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(And(s605, auij), Local0)
+ m600(arg0, 3, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Store(And(s605, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(And(s605, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xfe7cb391d650a284)
+ }
+
+ Store(And(s605, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(And(s605, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Store(And(s605, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(And(s605, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(s605, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(And(s605, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfe7cb391d650a284)
+ }
+
+ And(s605, 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ And(s605, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a284)
+
+ And(s605, aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ And(s605, auij, Local0)
+ m600(arg0, 15, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ And(s605, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ And(s605, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xfe7cb391d650a284)
+ }
+
+ And(s605, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ And(s605, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ And(s605, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ And(s605, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(s605, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ And(s605, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfe7cb391d650a284)
+ }
+
+ // Conversion of the second operand
+
+ Store(And(0, s605), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(And(0xffffffffffffffff, s605), Local0)
+ m600(arg0, 25, Local0, 0xfe7cb391d650a284)
+
+ Store(And(aui5, s605), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(And(auij, s605), Local0)
+ m600(arg0, 27, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Store(And(Derefof(Refof(aui5)), s605), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(And(Derefof(Refof(auij)), s605), Local0)
+ m600(arg0, 29, Local0, 0xfe7cb391d650a284)
+ }
+
+ Store(And(Derefof(Index(paui, 5)), s605), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(And(Derefof(Index(paui, 19)), s605), Local0)
+ m600(arg0, 31, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Store(And(m601(1, 5), s605), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(And(m601(1, 19), s605), Local0)
+ m600(arg0, 33, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(Derefof(m602(1, 5, 1)), s605), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(And(Derefof(m602(1, 19, 1)), s605), Local0)
+ m600(arg0, 35, Local0, 0xfe7cb391d650a284)
+ }
+
+ And(0, s605, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ And(0xffffffffffffffff, s605, Local0)
+ m600(arg0, 37, Local0, 0xfe7cb391d650a284)
+
+ And(aui5, s605, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ And(auij, s605, Local0)
+ m600(arg0, 39, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ And(Derefof(Refof(aui5)), s605, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ And(Derefof(Refof(auij)), s605, Local0)
+ m600(arg0, 41, Local0, 0xfe7cb391d650a284)
+ }
+
+ And(Derefof(Index(paui, 5)), s605, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ And(Derefof(Index(paui, 19)), s605, Local0)
+ m600(arg0, 43, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ And(m601(1, 5), s605, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ And(m601(1, 19), s605, Local0)
+ m600(arg0, 45, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(Derefof(m602(1, 5, 1)), s605, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ And(Derefof(m602(1, 19, 1)), s605, Local0)
+ m600(arg0, 47, Local0, 0xfe7cb391d650a284)
+ }
+
+ // Conversion of the both operands
+
+ Store(And(s601, s605), Local0)
+ m600(arg0, 48, Local0, 0x200)
+
+ Store(And(s605, s601), Local0)
+ m600(arg0, 49, Local0, 0x200)
+
+ And(s601, s605, Local0)
+ m600(arg0, 50, Local0, 0x200)
+
+ And(s605, s601, Local0)
+ m600(arg0, 51, Local0, 0x200)
+ }
+
+ // And, 32-bit
+ Method(m006, 1)
+ {
+ // Conversion of the first operand
+
+ Store(And(s604, 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(And(s604, 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0xc179b3fe)
+
+ Store(And(s604, aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(And(s604, auii), Local0)
+ m600(arg0, 3, Local0, 0xc179b3fe)
+
+ if (y078) {
+ Store(And(s604, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(And(s604, Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0xc179b3fe)
+ }
+
+ Store(And(s604, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(And(s604, Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0xc179b3fe)
+
+ // Method returns Integer
+
+ Store(And(s604, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(And(s604, m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0xc179b3fe)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(s604, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(And(s604, Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0xc179b3fe)
+ }
+
+ And(s604, 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ And(s604, 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0xc179b3fe)
+
+ And(s604, aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ And(s604, auii, Local0)
+ m600(arg0, 15, Local0, 0xc179b3fe)
+
+ if (y078) {
+ And(s604, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ And(s604, Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0xc179b3fe)
+ }
+
+ And(s604, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ And(s604, Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0xc179b3fe)
+
+ // Method returns Integer
+
+ And(s604, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ And(s604, m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0xc179b3fe)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(s604, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ And(s604, Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0xc179b3fe)
+ }
+
+ // Conversion of the second operand
+
+ Store(And(0, s604), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(And(0xffffffff, s604), Local0)
+ m600(arg0, 25, Local0, 0xc179b3fe)
+
+ Store(And(aui5, s604), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(And(auii, s604), Local0)
+ m600(arg0, 27, Local0, 0xc179b3fe)
+
+ if (y078) {
+ Store(And(Derefof(Refof(aui5)), s604), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(And(Derefof(Refof(auii)), s604), Local0)
+ m600(arg0, 29, Local0, 0xc179b3fe)
+ }
+
+ Store(And(Derefof(Index(paui, 5)), s604), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(And(Derefof(Index(paui, 18)), s604), Local0)
+ m600(arg0, 31, Local0, 0xc179b3fe)
+
+ // Method returns Integer
+
+ Store(And(m601(1, 5), s604), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(And(m601(1, 18), s604), Local0)
+ m600(arg0, 33, Local0, 0xc179b3fe)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(Derefof(m602(1, 5, 1)), s604), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(And(Derefof(m602(1, 18, 1)), s604), Local0)
+ m600(arg0, 35, Local0, 0xc179b3fe)
+ }
+
+ And(0, s604, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ And(0xffffffff, s604, Local0)
+ m600(arg0, 37, Local0, 0xc179b3fe)
+
+ And(aui5, s604, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ And(auii, s604, Local0)
+ m600(arg0, 39, Local0, 0xc179b3fe)
+
+ if (y078) {
+ And(Derefof(Refof(aui5)), s604, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ And(Derefof(Refof(auii)), s604, Local0)
+ m600(arg0, 41, Local0, 0xc179b3fe)
+ }
+
+ And(Derefof(Index(paui, 5)), s604, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ And(Derefof(Index(paui, 18)), s604, Local0)
+ m600(arg0, 43, Local0, 0xc179b3fe)
+
+ // Method returns Integer
+
+ And(m601(1, 5), s604, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ And(m601(1, 18), s604, Local0)
+ m600(arg0, 45, Local0, 0xc179b3fe)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(Derefof(m602(1, 5, 1)), s604, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ And(Derefof(m602(1, 18, 1)), s604, Local0)
+ m600(arg0, 47, Local0, 0xc179b3fe)
+ }
+
+ // Conversion of the both operands
+
+ Store(And(s601, s604), Local0)
+ m600(arg0, 48, Local0, 0x320)
+
+ Store(And(s604, s601), Local0)
+ m600(arg0, 49, Local0, 0x320)
+
+ And(s601, s604, Local0)
+ m600(arg0, 50, Local0, 0x320)
+
+ And(s604, s601, Local0)
+ m600(arg0, 51, Local0, 0x320)
+ }
+
+ // Divide, common 32-bit/64-bit test
+ Method(m007, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Divide(s601, 1), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Divide(s601, 0x321), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Divide(s601, aui6), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Divide(s601, aui1), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Divide(s601, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Divide(s601, Derefof(Refof(aui1))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Divide(s601, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Divide(s601, Derefof(Index(paui, 1))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(s601, m601(1, 6)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Divide(s601, m601(1, 1)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(s601, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Divide(s601, Derefof(m602(1, 1, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Divide(s601, 1, Local1, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Divide(s601, 0x321, Local1, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Divide(s601, aui6, Local1, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Divide(s601, aui1, Local1, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Divide(s601, Derefof(Refof(aui6)), Local1, Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Divide(s601, Derefof(Refof(aui1)), Local1, Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Divide(s601, Derefof(Index(paui, 6)), Local1, Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Divide(s601, Derefof(Index(paui, 1)), Local1, Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(s601, m601(1, 6), Local1, Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Divide(s601, m601(1, 1), Local1, Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(s601, Derefof(m602(1, 6, 1)), Local1, Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Divide(s601, Derefof(m602(1, 1, 1)), Local1, Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Divide(1, s601), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Divide(0x321, s601), Local0)
+ m600(arg0, 25, Local0, 1)
+
+ Store(Divide(aui6, s601), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Divide(aui1, s601), Local0)
+ m600(arg0, 27, Local0, 1)
+
+ if (y078) {
+ Store(Divide(Derefof(Refof(aui6)), s601), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Divide(Derefof(Refof(aui1)), s601), Local0)
+ m600(arg0, 29, Local0, 1)
+ }
+
+ Store(Divide(Derefof(Index(paui, 6)), s601), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Divide(Derefof(Index(paui, 1)), s601), Local0)
+ m600(arg0, 31, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(m601(1, 6), s601), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Divide(m601(1, 1), s601), Local0)
+ m600(arg0, 33, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(Derefof(m602(1, 6, 1)), s601), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Divide(Derefof(m602(1, 1, 1)), s601), Local0)
+ m600(arg0, 35, Local0, 1)
+ }
+
+ Divide(1, s601, Local1, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Divide(0x321, s601, Local1, Local0)
+ m600(arg0, 37, Local0, 1)
+
+ Divide(aui6, s601, Local1, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Divide(aui1, s601, Local1, Local0)
+ m600(arg0, 39, Local0, 1)
+
+ if (y078) {
+ Divide(Derefof(Refof(aui6)), s601, Local1, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Divide(Derefof(Refof(aui1)), s601, Local1, Local0)
+ m600(arg0, 41, Local0, 1)
+ }
+
+ Divide(Derefof(Index(paui, 6)), s601, Local1, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Divide(Derefof(Index(paui, 1)), s601, Local1, Local0)
+ m600(arg0, 43, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(m601(1, 6), s601, Local1, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Divide(m601(1, 1), s601, Local1, Local0)
+ m600(arg0, 45, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(Derefof(m602(1, 6, 1)), s601, Local1, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Divide(Derefof(m602(1, 1, 1)), s601, Local1, Local0)
+ m600(arg0, 47, Local0, 1)
+ }
+ }
+
+ // Divide, 64-bit
+ Method(m008, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Divide(s605, 1), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(s605, 0xfe7cb391d650a284), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Divide(s605, aui6), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(s605, aui4), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Divide(s605, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(s605, Derefof(Refof(aui4))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Divide(s605, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(s605, Derefof(Index(paui, 4))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(s605, m601(1, 6)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(s605, m601(1, 4)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(s605, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(s605, Derefof(m602(1, 4, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Divide(s605, 1, Local1, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Divide(s605, 0xfe7cb391d650a284, Local1, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Divide(s605, aui6, Local1, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Divide(s605, aui4, Local1, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Divide(s605, Derefof(Refof(aui6)), Local1, Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Divide(s605, Derefof(Refof(aui4)), Local1, Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Divide(s605, Derefof(Index(paui, 6)), Local1, Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Divide(s605, Derefof(Index(paui, 4)), Local1, Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(s605, m601(1, 6), Local1, Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Divide(s605, m601(1, 4), Local1, Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(s605, Derefof(m602(1, 6, 1)), Local1, Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Divide(s605, Derefof(m602(1, 4, 1)), Local1, Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Divide(1, s605), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Divide(0xfe7cb391d650a284, s605), Local0)
+ m600(arg0, 25, Local0, 1)
+
+ Store(Divide(aui6, s605), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Divide(aui4, s605), Local0)
+ m600(arg0, 27, Local0, 1)
+
+ if (y078) {
+ Store(Divide(Derefof(Refof(aui6)), s605), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Divide(Derefof(Refof(aui4)), s605), Local0)
+ m600(arg0, 29, Local0, 1)
+ }
+
+ Store(Divide(Derefof(Index(paui, 6)), s605), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Divide(Derefof(Index(paui, 4)), s605), Local0)
+ m600(arg0, 31, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(m601(1, 6), s605), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Divide(m601(1, 4), s605), Local0)
+ m600(arg0, 33, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(Derefof(m602(1, 6, 1)), s605), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Divide(Derefof(m602(1, 4, 1)), s605), Local0)
+ m600(arg0, 35, Local0, 1)
+ }
+
+ Divide(1, s605, Local1, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Divide(0xfe7cb391d650a284, s605, Local1, Local0)
+ m600(arg0, 37, Local0, 1)
+
+ Divide(aui6, s605, Local1, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Divide(aui4, s605, Local1, Local0)
+ m600(arg0, 39, Local0, 1)
+
+ if (y078) {
+ Divide(Derefof(Refof(aui6)), s605, Local1, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Divide(Derefof(Refof(aui4)), s605, Local1, Local0)
+ m600(arg0, 41, Local0, 1)
+ }
+
+ Divide(Derefof(Index(paui, 6)), s605, Local1, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Divide(Derefof(Index(paui, 4)), s605, Local1, Local0)
+ m600(arg0, 43, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(m601(1, 6), s605, Local1, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Divide(m601(1, 4), s605, Local1, Local0)
+ m600(arg0, 45, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(Derefof(m602(1, 6, 1)), s605, Local1, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Divide(Derefof(m602(1, 4, 1)), s605, Local1, Local0)
+ m600(arg0, 47, Local0, 1)
+ }
+
+ // Conversion of the both operands
+
+ Store(Divide(s601, s605), Local0)
+ m600(arg0, 48, Local0, 0)
+
+ Store(Divide(s605, s601), Local0)
+ m600(arg0, 49, Local0, 0x0051558eb950f5a7)
+
+ Divide(s601, s605, Local1, Local0)
+ m600(arg0, 50, Local0, 0)
+
+ Divide(s605, s601, Local1, Local0)
+ m600(arg0, 51, Local0, 0x0051558eb950f5a7)
+ }
+
+ // Divide, 32-bit
+ Method(m009, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Divide(s604, 1), Local0)
+ m600(arg0, 0, Local0, 0xc179b3fe)
+
+ Store(Divide(s604, 0xc179b3fe), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Divide(s604, aui6), Local0)
+ m600(arg0, 2, Local0, 0xc179b3fe)
+
+ Store(Divide(s604, aui3), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Divide(s604, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 4, Local0, 0xc179b3fe)
+
+ Store(Divide(s604, Derefof(Refof(aui3))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Divide(s604, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 6, Local0, 0xc179b3fe)
+
+ Store(Divide(s604, Derefof(Index(paui, 3))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(s604, m601(1, 6)), Local0)
+ m600(arg0, 8, Local0, 0xc179b3fe)
+
+ Store(Divide(s604, m601(1, 3)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(s604, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 10, Local0, 0xc179b3fe)
+
+ Store(Divide(s604, Derefof(m602(1, 3, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Divide(s604, 1, Local1, Local0)
+ m600(arg0, 12, Local0, 0xc179b3fe)
+
+ Divide(s604, 0xc179b3fe, Local1, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Divide(s604, aui6, Local1, Local0)
+ m600(arg0, 14, Local0, 0xc179b3fe)
+
+ Divide(s604, aui3, Local1, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Divide(s604, Derefof(Refof(aui6)), Local1, Local0)
+ m600(arg0, 16, Local0, 0xc179b3fe)
+
+ Divide(s604, Derefof(Refof(aui3)), Local1, Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Divide(s604, Derefof(Index(paui, 6)), Local1, Local0)
+ m600(arg0, 18, Local0, 0xc179b3fe)
+
+ Divide(s604, Derefof(Index(paui, 3)), Local1, Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(s604, m601(1, 6), Local1, Local0)
+ m600(arg0, 20, Local0, 0xc179b3fe)
+
+ Divide(s604, m601(1, 3), Local1, Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(s604, Derefof(m602(1, 6, 1)), Local1, Local0)
+ m600(arg0, 22, Local0, 0xc179b3fe)
+
+ Divide(s604, Derefof(m602(1, 3, 1)), Local1, Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Divide(1, s604), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Divide(0xc179b3fe, s604), Local0)
+ m600(arg0, 25, Local0, 1)
+
+ Store(Divide(aui6, s604), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Divide(aui3, s604), Local0)
+ m600(arg0, 27, Local0, 1)
+
+ if (y078) {
+ Store(Divide(Derefof(Refof(aui6)), s604), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Divide(Derefof(Refof(aui3)), s604), Local0)
+ m600(arg0, 29, Local0, 1)
+ }
+
+ Store(Divide(Derefof(Index(paui, 6)), s604), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Divide(Derefof(Index(paui, 3)), s604), Local0)
+ m600(arg0, 31, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(m601(1, 6), s604), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Divide(m601(1, 3), s604), Local0)
+ m600(arg0, 33, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(Derefof(m602(1, 6, 1)), s604), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Divide(Derefof(m602(1, 3, 1)), s604), Local0)
+ m600(arg0, 35, Local0, 1)
+ }
+
+ Divide(1, s604, Local1, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Divide(0xc179b3fe, s604, Local1, Local0)
+ m600(arg0, 37, Local0, 1)
+
+ Divide(aui6, s604, Local1, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Divide(aui3, s604, Local1, Local0)
+ m600(arg0, 39, Local0, 1)
+
+ if (y078) {
+ Divide(Derefof(Refof(aui6)), s604, Local1, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Divide(Derefof(Refof(aui3)), s604, Local1, Local0)
+ m600(arg0, 41, Local0, 1)
+ }
+
+ Divide(Derefof(Index(paui, 6)), s604, Local1, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Divide(Derefof(Index(paui, 3)), s604, Local1, Local0)
+ m600(arg0, 43, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(m601(1, 6), s604, Local1, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Divide(m601(1, 3), s604, Local1, Local0)
+ m600(arg0, 45, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(Derefof(m602(1, 6, 1)), s604, Local1, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Divide(Derefof(m602(1, 3, 1)), s604, Local1, Local0)
+ m600(arg0, 47, Local0, 1)
+ }
+
+ // Conversion of the both operands
+
+ Store(Divide(s601, s604), Local0)
+ m600(arg0, 48, Local0, 0)
+
+ Store(Divide(s604, s601), Local0)
+ m600(arg0, 49, Local0, 0x003dd5b7)
+
+ Divide(s601, s604, Local1, Local0)
+ m600(arg0, 50, Local0, 0)
+
+ Divide(s604, s601, Local1, Local0)
+ m600(arg0, 51, Local0, 0x003dd5b7)
+ }
+
+ // Mod, common 32-bit/64-bit test
+ Method(m00a, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Mod(s601, 0x322), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Mod(s601, 0x320), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Mod(s601, auig), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Mod(s601, auih), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Mod(s601, Derefof(Refof(auig))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Mod(s601, Derefof(Refof(auih))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Mod(s601, Derefof(Index(paui, 16))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Mod(s601, Derefof(Index(paui, 17))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Mod(s601, m601(1, 16)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Mod(s601, m601(1, 17)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(s601, Derefof(m602(1, 16, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Mod(s601, Derefof(m602(1, 17, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Mod(s601, 0x322, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Mod(s601, 0x320, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Mod(s601, auig, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Mod(s601, auih, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Mod(s601, Derefof(Refof(auig)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Mod(s601, Derefof(Refof(auih)), Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Mod(s601, Derefof(Index(paui, 16)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Mod(s601, Derefof(Index(paui, 17)), Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Mod(s601, m601(1, 16), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Mod(s601, m601(1, 17), Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(s601, Derefof(m602(1, 16, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Mod(s601, Derefof(m602(1, 17, 1)), Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Mod(0x322, s601), Local0)
+ m600(arg0, 24, Local0, 1)
+
+ Store(Mod(0x320, s601), Local0)
+ m600(arg0, 25, Local0, 0x320)
+
+ Store(Mod(auig, s601), Local0)
+ m600(arg0, 26, Local0, 1)
+
+ Store(Mod(auih, s601), Local0)
+ m600(arg0, 27, Local0, 0x320)
+
+ if (y078) {
+ Store(Mod(Derefof(Refof(auig)), s601), Local0)
+ m600(arg0, 28, Local0, 1)
+
+ Store(Mod(Derefof(Refof(auih)), s601), Local0)
+ m600(arg0, 29, Local0, 0x320)
+ }
+
+ Store(Mod(Derefof(Index(paui, 16)), s601), Local0)
+ m600(arg0, 30, Local0, 1)
+
+ Store(Mod(Derefof(Index(paui, 17)), s601), Local0)
+ m600(arg0, 31, Local0, 0x320)
+
+ // Method returns Integer
+
+ Store(Mod(m601(1, 16), s601), Local0)
+ m600(arg0, 32, Local0, 1)
+
+ Store(Mod(m601(1, 17), s601), Local0)
+ m600(arg0, 33, Local0, 0x320)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(Derefof(m602(1, 16, 1)), s601), Local0)
+ m600(arg0, 34, Local0, 1)
+
+ Store(Mod(Derefof(m602(1, 17, 1)), s601), Local0)
+ m600(arg0, 35, Local0, 0x320)
+ }
+
+ Mod(0x322, s601, Local0)
+ m600(arg0, 36, Local0, 1)
+
+ Mod(0x320, s601, Local0)
+ m600(arg0, 37, Local0, 0x320)
+
+ Mod(auig, s601, Local0)
+ m600(arg0, 38, Local0, 1)
+
+ Mod(auih, s601, Local0)
+ m600(arg0, 39, Local0, 0x320)
+
+ if (y078) {
+ Mod(Derefof(Refof(auig)), s601, Local0)
+ m600(arg0, 40, Local0, 1)
+
+ Mod(Derefof(Refof(auih)), s601, Local0)
+ m600(arg0, 41, Local0, 0x320)
+ }
+
+ Mod(Derefof(Index(paui, 16)), s601, Local0)
+ m600(arg0, 42, Local0, 1)
+
+ Mod(Derefof(Index(paui, 17)), s601, Local0)
+ m600(arg0, 43, Local0, 0x320)
+
+ // Method returns Integer
+
+ Mod(m601(1, 16), s601, Local0)
+ m600(arg0, 44, Local0, 1)
+
+ Mod(m601(1, 17), s601, Local0)
+ m600(arg0, 45, Local0, 0x320)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(Derefof(m602(1, 16, 1)), s601, Local0)
+ m600(arg0, 46, Local0, 1)
+
+ Mod(Derefof(m602(1, 17, 1)), s601, Local0)
+ m600(arg0, 47, Local0, 0x320)
+ }
+ }
+
+ // Mod, 64-bit
+ Method(m00b, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Mod(s605, 0xfe7cb391d650a285), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(s605, 0xfe7cb391d650a283), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Mod(s605, auid), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(s605, auif), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Mod(s605, Derefof(Refof(auid))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(s605, Derefof(Refof(auif))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Mod(s605, Derefof(Index(paui, 13))), Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(s605, Derefof(Index(paui, 15))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Mod(s605, m601(1, 13)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(s605, m601(1, 15)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(s605, Derefof(m602(1, 13, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(s605, Derefof(m602(1, 15, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Mod(s605, 0xfe7cb391d650a285, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Mod(s605, 0xfe7cb391d650a283, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Mod(s605, auid, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Mod(s605, auif, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Mod(s605, Derefof(Refof(auid)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Mod(s605, Derefof(Refof(auif)), Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Mod(s605, Derefof(Index(paui, 13)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Mod(s605, Derefof(Index(paui, 15)), Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Mod(s605, m601(1, 13), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Mod(s605, m601(1, 15), Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(s605, Derefof(m602(1, 13, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Mod(s605, Derefof(m602(1, 15, 1)), Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Mod(0xfe7cb391d650a285, s605), Local0)
+ m600(arg0, 24, Local0, 1)
+
+ Store(Mod(0xfe7cb391d650a283, s605), Local0)
+ m600(arg0, 25, Local0, 0xfe7cb391d650a283)
+
+ Store(Mod(auid, s605), Local0)
+ m600(arg0, 26, Local0, 1)
+
+ Store(Mod(auif, s605), Local0)
+ m600(arg0, 27, Local0, 0xfe7cb391d650a283)
+
+ if (y078) {
+ Store(Mod(Derefof(Refof(auid)), s605), Local0)
+ m600(arg0, 28, Local0, 1)
+
+ Store(Mod(Derefof(Refof(auif)), s605), Local0)
+ m600(arg0, 29, Local0, 0xfe7cb391d650a283)
+ }
+
+ Store(Mod(Derefof(Index(paui, 13)), s605), Local0)
+ m600(arg0, 30, Local0, 1)
+
+ Store(Mod(Derefof(Index(paui, 15)), s605), Local0)
+ m600(arg0, 31, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Integer
+
+ Store(Mod(m601(1, 13), s605), Local0)
+ m600(arg0, 32, Local0, 1)
+
+ Store(Mod(m601(1, 15), s605), Local0)
+ m600(arg0, 33, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(Derefof(m602(1, 13, 1)), s605), Local0)
+ m600(arg0, 34, Local0, 1)
+
+ Store(Mod(Derefof(m602(1, 15, 1)), s605), Local0)
+ m600(arg0, 35, Local0, 0xfe7cb391d650a283)
+ }
+
+ Mod(0xfe7cb391d650a285, s605, Local0)
+ m600(arg0, 36, Local0, 1)
+
+ Mod(0xfe7cb391d650a283, s605, Local0)
+ m600(arg0, 37, Local0, 0xfe7cb391d650a283)
+
+ Mod(auid, s605, Local0)
+ m600(arg0, 38, Local0, 1)
+
+ Mod(auif, s605, Local0)
+ m600(arg0, 39, Local0, 0xfe7cb391d650a283)
+
+ if (y078) {
+ Mod(Derefof(Refof(auid)), s605, Local0)
+ m600(arg0, 40, Local0, 1)
+
+ Mod(Derefof(Refof(auif)), s605, Local0)
+ m600(arg0, 41, Local0, 0xfe7cb391d650a283)
+ }
+
+ Mod(Derefof(Index(paui, 13)), s605, Local0)
+ m600(arg0, 42, Local0, 1)
+
+ Mod(Derefof(Index(paui, 15)), s605, Local0)
+ m600(arg0, 43, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Integer
+
+ Mod(m601(1, 13), s605, Local0)
+ m600(arg0, 44, Local0, 1)
+
+ Mod(m601(1, 15), s605, Local0)
+ m600(arg0, 45, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(Derefof(m602(1, 13, 1)), s605, Local0)
+ m600(arg0, 46, Local0, 1)
+
+ Mod(Derefof(m602(1, 15, 1)), s605, Local0)
+ m600(arg0, 47, Local0, 0xfe7cb391d650a283)
+ }
+
+ // Conversion of the both operands
+
+ Store(Mod(s601, s605), Local0)
+ m600(arg0, 48, Local0, 0x321)
+
+ Store(Mod(s605, s601), Local0)
+ m600(arg0, 49, Local0, 0x2fd)
+
+ Mod(s601, s605, Local0)
+ m600(arg0, 50, Local0, 0x321)
+
+ Mod(s605, s601, Local0)
+ m600(arg0, 51, Local0, 0x2fd)
+ }
+
+ // Mod, 32-bit
+ Method(m00c, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Mod(s604, 0xc179b3ff), Local0)
+ m600(arg0, 0, Local0, 0xc179b3fe)
+
+ Store(Mod(s604, 0xc179b3fd), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Mod(s604, auic), Local0)
+ m600(arg0, 2, Local0, 0xc179b3fe)
+
+ Store(Mod(s604, auie), Local0)
+ m600(arg0, 14, Local0, 1)
+
+ if (y078) {
+ Store(Mod(s604, Derefof(Refof(auic))), Local0)
+ m600(arg0, 4, Local0, 0xc179b3fe)
+
+ Store(Mod(s604, Derefof(Refof(auie))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Mod(s604, Derefof(Index(paui, 12))), Local0)
+ m600(arg0, 12, Local0, 0xc179b3fe)
+
+ Store(Mod(s604, Derefof(Index(paui, 14))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Mod(s604, m601(1, 12)), Local0)
+ m600(arg0, 8, Local0, 0xc179b3fe)
+
+ Store(Mod(s604, m601(1, 14)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(s604, Derefof(m602(1, 12, 1))), Local0)
+ m600(arg0, 10, Local0, 0xc179b3fe)
+
+ Store(Mod(s604, Derefof(m602(1, 14, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Mod(s604, 0xc179b3ff, Local0)
+ m600(arg0, 12, Local0, 0xc179b3fe)
+
+ Mod(s604, 0xc179b3fd, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Mod(s604, auic, Local0)
+ m600(arg0, 14, Local0, 0xc179b3fe)
+
+ Mod(s604, auie, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Mod(s604, Derefof(Refof(auic)), Local0)
+ m600(arg0, 16, Local0, 0xc179b3fe)
+
+ Mod(s604, Derefof(Refof(auie)), Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Mod(s604, Derefof(Index(paui, 12)), Local0)
+ m600(arg0, 18, Local0, 0xc179b3fe)
+
+ Mod(s604, Derefof(Index(paui, 14)), Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Mod(s604, m601(1, 12), Local0)
+ m600(arg0, 20, Local0, 0xc179b3fe)
+
+ Mod(s604, m601(1, 14), Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(s604, Derefof(m602(1, 12, 1)), Local0)
+ m600(arg0, 22, Local0, 0xc179b3fe)
+
+ Mod(s604, Derefof(m602(1, 14, 1)), Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Mod(0xc179b3ff, s604), Local0)
+ m600(arg0, 24, Local0, 1)
+
+ Store(Mod(0xc179b3fd, s604), Local0)
+ m600(arg0, 25, Local0, 0xc179b3fd)
+
+ Store(Mod(auic, s604), Local0)
+ m600(arg0, 26, Local0, 1)
+
+ Store(Mod(auie, s604), Local0)
+ m600(arg0, 27, Local0, 0xc179b3fd)
+
+ if (y078) {
+ Store(Mod(Derefof(Refof(auic)), s604), Local0)
+ m600(arg0, 28, Local0, 1)
+
+ Store(Mod(Derefof(Refof(auie)), s604), Local0)
+ m600(arg0, 29, Local0, 0xc179b3fd)
+ }
+
+ Store(Mod(Derefof(Index(paui, 12)), s604), Local0)
+ m600(arg0, 30, Local0, 1)
+
+ Store(Mod(Derefof(Index(paui, 14)), s604), Local0)
+ m600(arg0, 31, Local0, 0xc179b3fd)
+
+ // Method returns Integer
+
+ Store(Mod(m601(1, 12), s604), Local0)
+ m600(arg0, 32, Local0, 1)
+
+ Store(Mod(m601(1, 14), s604), Local0)
+ m600(arg0, 33, Local0, 0xc179b3fd)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(Derefof(m602(1, 12, 1)), s604), Local0)
+ m600(arg0, 34, Local0, 1)
+
+ Store(Mod(Derefof(m602(1, 14, 1)), s604), Local0)
+ m600(arg0, 35, Local0, 0xc179b3fd)
+ }
+
+ Mod(0xc179b3ff, s604, Local0)
+ m600(arg0, 36, Local0, 1)
+
+ Mod(0xc179b3fd, s604, Local0)
+ m600(arg0, 37, Local0, 0xc179b3fd)
+
+ Mod(auic, s604, Local0)
+ m600(arg0, 38, Local0, 1)
+
+ Mod(auie, s604, Local0)
+ m600(arg0, 39, Local0, 0xc179b3fd)
+
+ if (y078) {
+ Mod(Derefof(Refof(auic)), s604, Local0)
+ m600(arg0, 40, Local0, 1)
+
+ Mod(Derefof(Refof(auie)), s604, Local0)
+ m600(arg0, 41, Local0, 0xc179b3fd)
+ }
+
+ Mod(Derefof(Index(paui, 12)), s604, Local0)
+ m600(arg0, 42, Local0, 1)
+
+ Mod(Derefof(Index(paui, 14)), s604, Local0)
+ m600(arg0, 43, Local0, 0xc179b3fd)
+
+ // Method returns Integer
+
+ Mod(m601(1, 12), s604, Local0)
+ m600(arg0, 44, Local0, 1)
+
+ Mod(m601(1, 14), s604, Local0)
+ m600(arg0, 45, Local0, 0xc179b3fd)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(Derefof(m602(1, 12, 1)), s604, Local0)
+ m600(arg0, 46, Local0, 1)
+
+ Mod(Derefof(m602(1, 14, 1)), s604, Local0)
+ m600(arg0, 47, Local0, 0xc179b3fd)
+ }
+
+ // Conversion of the both operands
+
+ Store(Mod(s601, s604), Local0)
+ m600(arg0, 48, Local0, 0x321)
+
+ Store(Mod(s604, s601), Local0)
+ m600(arg0, 49, Local0, 0x267)
+
+ Mod(s601, s604, Local0)
+ m600(arg0, 50, Local0, 0x321)
+
+ Mod(s604, s601, Local0)
+ m600(arg0, 51, Local0, 0x267)
+ }
+
+ // Multiply, common 32-bit/64-bit test
+ Method(m00d, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Multiply(s601, 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(Multiply(s601, 1), Local0)
+ m600(arg0, 1, Local0, 0x321)
+
+ Store(Multiply(s601, aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(Multiply(s601, aui6), Local0)
+ m600(arg0, 3, Local0, 0x321)
+
+ if (y078) {
+ Store(Multiply(s601, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(Multiply(s601, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x321)
+ }
+
+ Store(Multiply(s601, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(Multiply(s601, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x321)
+
+ // Method returns Integer
+
+ Store(Multiply(s601, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(Multiply(s601, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(s601, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(Multiply(s601, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x321)
+ }
+
+ Multiply(s601, 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ Multiply(s601, 1, Local0)
+ m600(arg0, 13, Local0, 0x321)
+
+ Multiply(s601, aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ Multiply(s601, aui6, Local0)
+ m600(arg0, 15, Local0, 0x321)
+
+ if (y078) {
+ Multiply(s601, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ Multiply(s601, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x321)
+ }
+
+ Multiply(s601, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ Multiply(s601, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x321)
+
+ // Method returns Integer
+
+ Multiply(s601, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ Multiply(s601, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(s601, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ Multiply(s601, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x321)
+ }
+
+ // Conversion of the second operand
+
+ Store(Multiply(0, s601), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Multiply(1, s601), Local0)
+ m600(arg0, 25, Local0, 0x321)
+
+ Store(Multiply(aui5, s601), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Multiply(aui6, s601), Local0)
+ m600(arg0, 27, Local0, 0x321)
+
+ if (y078) {
+ Store(Multiply(Derefof(Refof(aui5)), s601), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(aui6)), s601), Local0)
+ m600(arg0, 29, Local0, 0x321)
+ }
+
+ Store(Multiply(Derefof(Index(paui, 5)), s601), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Multiply(Derefof(Index(paui, 6)), s601), Local0)
+ m600(arg0, 31, Local0, 0x321)
+
+ // Method returns Integer
+
+ Store(Multiply(m601(1, 5), s601), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Multiply(m601(1, 6), s601), Local0)
+ m600(arg0, 33, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(Derefof(m602(1, 5, 1)), s601), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Multiply(Derefof(m602(1, 6, 1)), s601), Local0)
+ m600(arg0, 35, Local0, 0x321)
+ }
+
+ Multiply(0, s601, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Multiply(1, s601, Local0)
+ m600(arg0, 37, Local0, 0x321)
+
+ Multiply(aui5, s601, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Multiply(aui6, s601, Local0)
+ m600(arg0, 39, Local0, 0x321)
+
+ if (y078) {
+ Multiply(Derefof(Refof(aui5)), s601, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Multiply(Derefof(Refof(aui6)), s601, Local0)
+ m600(arg0, 41, Local0, 0x321)
+ }
+
+ Multiply(Derefof(Index(paui, 5)), s601, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Multiply(Derefof(Index(paui, 6)), s601, Local0)
+ m600(arg0, 43, Local0, 0x321)
+
+ // Method returns Integer
+
+ Multiply(m601(1, 5), s601, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Multiply(m601(1, 6), s601, Local0)
+ m600(arg0, 45, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(Derefof(m602(1, 5, 1)), s601, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Multiply(Derefof(m602(1, 6, 1)), s601, Local0)
+ m600(arg0, 47, Local0, 0x321)
+ }
+ }
+
+ // Multiply, 64-bit
+ Method(m00e, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Multiply(s605, 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(Multiply(s605, 1), Local0)
+ m600(arg0, 1, Local0, 0xfe7cb391d650a284)
+
+ Store(Multiply(s605, aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(Multiply(s605, aui6), Local0)
+ m600(arg0, 3, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Store(Multiply(s605, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(Multiply(s605, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xfe7cb391d650a284)
+ }
+
+ Store(Multiply(s605, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(Multiply(s605, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Store(Multiply(s605, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(Multiply(s605, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(s605, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(Multiply(s605, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfe7cb391d650a284)
+ }
+
+ Multiply(s605, 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ Multiply(s605, 1, Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a284)
+
+ Multiply(s605, aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ Multiply(s605, aui6, Local0)
+ m600(arg0, 15, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Multiply(s605, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ Multiply(s605, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xfe7cb391d650a284)
+ }
+
+ Multiply(s605, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ Multiply(s605, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Multiply(s605, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ Multiply(s605, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(s605, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ Multiply(s605, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfe7cb391d650a284)
+ }
+
+ // Conversion of the second operand
+
+ Store(Multiply(0, s605), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Multiply(1, s605), Local0)
+ m600(arg0, 25, Local0, 0xfe7cb391d650a284)
+
+ Store(Multiply(aui5, s605), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Multiply(aui6, s605), Local0)
+ m600(arg0, 27, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Store(Multiply(Derefof(Refof(aui5)), s605), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(aui6)), s605), Local0)
+ m600(arg0, 29, Local0, 0xfe7cb391d650a284)
+ }
+
+ Store(Multiply(Derefof(Index(paui, 5)), s605), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Multiply(Derefof(Index(paui, 6)), s605), Local0)
+ m600(arg0, 31, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Store(Multiply(m601(1, 5), s605), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Multiply(m601(1, 6), s605), Local0)
+ m600(arg0, 33, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(Derefof(m602(1, 5, 1)), s605), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Multiply(Derefof(m602(1, 6, 1)), s605), Local0)
+ m600(arg0, 35, Local0, 0xfe7cb391d650a284)
+ }
+
+ Multiply(0, s605, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Multiply(1, s605, Local0)
+ m600(arg0, 37, Local0, 0xfe7cb391d650a284)
+
+ Multiply(aui5, s605, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Multiply(aui6, s605, Local0)
+ m600(arg0, 39, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Multiply(Derefof(Refof(aui5)), s605, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Multiply(Derefof(Refof(aui6)), s605, Local0)
+ m600(arg0, 41, Local0, 0xfe7cb391d650a284)
+ }
+
+ Multiply(Derefof(Index(paui, 5)), s605, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Multiply(Derefof(Index(paui, 6)), s605, Local0)
+ m600(arg0, 43, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Multiply(m601(1, 5), s605, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Multiply(m601(1, 6), s605, Local0)
+ m600(arg0, 45, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(Derefof(m602(1, 5, 1)), s605, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Multiply(Derefof(m602(1, 6, 1)), s605, Local0)
+ m600(arg0, 47, Local0, 0xfe7cb391d650a284)
+ }
+
+ // Conversion of the both operands
+
+ Store(Multiply(s601, s605), Local0)
+ m600(arg0, 48, Local0, 0x442ddb4f924c7f04)
+
+ Store(Multiply(s605, s601), Local0)
+ m600(arg0, 49, Local0, 0x442ddb4f924c7f04)
+
+ Multiply(s601, s605, Local0)
+ m600(arg0, 50, Local0, 0x442ddb4f924c7f04)
+
+ Multiply(s605, s601, Local0)
+ m600(arg0, 51, Local0, 0x442ddb4f924c7f04)
+ }
+
+ // Multiply, 32-bit
+ Method(m00f, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Multiply(s604, 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(Multiply(s604, 1), Local0)
+ m600(arg0, 1, Local0, 0xc179b3fe)
+
+ Store(Multiply(s604, aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(Multiply(s604, aui6), Local0)
+ m600(arg0, 3, Local0, 0xc179b3fe)
+
+ if (y078) {
+ Store(Multiply(s604, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(Multiply(s604, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xc179b3fe)
+ }
+
+ Store(Multiply(s604, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(Multiply(s604, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xc179b3fe)
+
+ // Method returns Integer
+
+ Store(Multiply(s604, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(Multiply(s604, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xc179b3fe)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(s604, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(Multiply(s604, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xc179b3fe)
+ }
+
+ Multiply(s604, 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ Multiply(s604, 1, Local0)
+ m600(arg0, 13, Local0, 0xc179b3fe)
+
+ Multiply(s604, aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ Multiply(s604, aui6, Local0)
+ m600(arg0, 15, Local0, 0xc179b3fe)
+
+ if (y078) {
+ Multiply(s604, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ Multiply(s604, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xc179b3fe)
+ }
+
+ Multiply(s604, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ Multiply(s604, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xc179b3fe)
+
+ // Method returns Integer
+
+ Multiply(s604, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ Multiply(s604, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xc179b3fe)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(s604, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ Multiply(s604, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xc179b3fe)
+ }
+
+ // Conversion of the second operand
+
+ Store(Multiply(0, s604), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Multiply(1, s604), Local0)
+ m600(arg0, 25, Local0, 0xc179b3fe)
+
+ Store(Multiply(aui5, s604), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Multiply(aui6, s604), Local0)
+ m600(arg0, 27, Local0, 0xc179b3fe)
+
+ if (y078) {
+ Store(Multiply(Derefof(Refof(aui5)), s604), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(aui6)), s604), Local0)
+ m600(arg0, 29, Local0, 0xc179b3fe)
+ }
+
+ Store(Multiply(Derefof(Index(paui, 5)), s604), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Multiply(Derefof(Index(paui, 6)), s604), Local0)
+ m600(arg0, 31, Local0, 0xc179b3fe)
+
+ // Method returns Integer
+
+ Store(Multiply(m601(1, 5), s604), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Multiply(m601(1, 6), s604), Local0)
+ m600(arg0, 33, Local0, 0xc179b3fe)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(Derefof(m602(1, 5, 1)), s604), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Multiply(Derefof(m602(1, 6, 1)), s604), Local0)
+ m600(arg0, 35, Local0, 0xc179b3fe)
+ }
+
+ Multiply(0, s604, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Multiply(1, s604, Local0)
+ m600(arg0, 37, Local0, 0xc179b3fe)
+
+ Multiply(aui5, s604, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Multiply(aui6, s604, Local0)
+ m600(arg0, 39, Local0, 0xc179b3fe)
+
+ if (y078) {
+ Multiply(Derefof(Refof(aui5)), s604, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Multiply(Derefof(Refof(aui6)), s604, Local0)
+ m600(arg0, 41, Local0, 0xc179b3fe)
+ }
+
+ Multiply(Derefof(Index(paui, 5)), s604, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Multiply(Derefof(Index(paui, 6)), s604, Local0)
+ m600(arg0, 43, Local0, 0xc179b3fe)
+
+ // Method returns Integer
+
+ Multiply(m601(1, 5), s604, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Multiply(m601(1, 6), s604, Local0)
+ m600(arg0, 45, Local0, 0xc179b3fe)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(Derefof(m602(1, 5, 1)), s604, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Multiply(Derefof(m602(1, 6, 1)), s604, Local0)
+ m600(arg0, 47, Local0, 0xc179b3fe)
+ }
+
+ // Conversion of the both operands
+
+ Store(Multiply(s601, s604), Local0)
+ m600(arg0, 48, Local0, 0x5dcc2dbe)
+
+ Store(Multiply(s604, s601), Local0)
+ m600(arg0, 49, Local0, 0x5dcc2dbe)
+
+ Multiply(s601, s604, Local0)
+ m600(arg0, 50, Local0, 0x5dcc2dbe)
+
+ Multiply(s604, s601, Local0)
+ m600(arg0, 51, Local0, 0x5dcc2dbe)
+ }
+
+ // NAnd, common 32-bit/64-bit test
+ Method(m010, 1)
+ {
+ // Conversion of the first operand
+
+ Store(NAnd(s601, 0), Local0)
+ m600(arg0, 0, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(s601, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xfffffffffffffcde)
+
+ Store(NAnd(s601, aui5), Local0)
+ m600(arg0, 2, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(s601, auij), Local0)
+ m600(arg0, 3, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ Store(NAnd(s601, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(s601, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xfffffffffffffcde)
+ }
+
+ Store(NAnd(s601, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(s601, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ Store(NAnd(s601, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(s601, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(s601, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(s601, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfffffffffffffcde)
+ }
+
+ NAnd(s601, 0, Local0)
+ m600(arg0, 12, Local0, 0xffffffffffffffff)
+
+ NAnd(s601, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xfffffffffffffcde)
+
+ NAnd(s601, aui5, Local0)
+ m600(arg0, 14, Local0, 0xffffffffffffffff)
+
+ NAnd(s601, auij, Local0)
+ m600(arg0, 15, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ NAnd(s601, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xffffffffffffffff)
+
+ NAnd(s601, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xfffffffffffffcde)
+ }
+
+ NAnd(s601, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xffffffffffffffff)
+
+ NAnd(s601, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ NAnd(s601, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xffffffffffffffff)
+
+ NAnd(s601, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(s601, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xffffffffffffffff)
+
+ NAnd(s601, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfffffffffffffcde)
+ }
+
+ // Conversion of the second operand
+
+ Store(NAnd(0, s601), Local0)
+ m600(arg0, 24, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(0xffffffffffffffff, s601), Local0)
+ m600(arg0, 25, Local0, 0xfffffffffffffcde)
+
+ Store(NAnd(aui5, s601), Local0)
+ m600(arg0, 26, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(auij, s601), Local0)
+ m600(arg0, 27, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ Store(NAnd(Derefof(Refof(aui5)), s601), Local0)
+ m600(arg0, 28, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Refof(auij)), s601), Local0)
+ m600(arg0, 29, Local0, 0xfffffffffffffcde)
+ }
+
+ Store(NAnd(Derefof(Index(paui, 5)), s601), Local0)
+ m600(arg0, 30, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Index(paui, 19)), s601), Local0)
+ m600(arg0, 31, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ Store(NAnd(m601(1, 5), s601), Local0)
+ m600(arg0, 32, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(m601(1, 19), s601), Local0)
+ m600(arg0, 33, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(Derefof(m602(1, 5, 1)), s601), Local0)
+ m600(arg0, 34, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(m602(1, 19, 1)), s601), Local0)
+ m600(arg0, 35, Local0, 0xfffffffffffffcde)
+ }
+
+ NAnd(0, s601, Local0)
+ m600(arg0, 36, Local0, 0xffffffffffffffff)
+
+ NAnd(0xffffffffffffffff, s601, Local0)
+ m600(arg0, 37, Local0, 0xfffffffffffffcde)
+
+ NAnd(aui5, s601, Local0)
+ m600(arg0, 38, Local0, 0xffffffffffffffff)
+
+ NAnd(auij, s601, Local0)
+ m600(arg0, 39, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ NAnd(Derefof(Refof(aui5)), s601, Local0)
+ m600(arg0, 40, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Refof(auij)), s601, Local0)
+ m600(arg0, 41, Local0, 0xfffffffffffffcde)
+ }
+
+ NAnd(Derefof(Index(paui, 5)), s601, Local0)
+ m600(arg0, 42, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Index(paui, 19)), s601, Local0)
+ m600(arg0, 43, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ NAnd(m601(1, 5), s601, Local0)
+ m600(arg0, 44, Local0, 0xffffffffffffffff)
+
+ NAnd(m601(1, 19), s601, Local0)
+ m600(arg0, 45, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(Derefof(m602(1, 5, 1)), s601, Local0)
+ m600(arg0, 46, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(m602(1, 19, 1)), s601, Local0)
+ m600(arg0, 47, Local0, 0xfffffffffffffcde)
+ }
+ }
+
+ // NAnd, 64-bit
+ Method(m011, 1)
+ {
+ // Conversion of the first operand
+
+ Store(NAnd(s605, 0), Local0)
+ m600(arg0, 0, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(s605, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0x01834c6e29af5d7b)
+
+ Store(NAnd(s605, aui5), Local0)
+ m600(arg0, 2, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(s605, auij), Local0)
+ m600(arg0, 3, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ Store(NAnd(s605, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(s605, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Store(NAnd(s605, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(s605, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ Store(NAnd(s605, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(s605, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(s605, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(s605, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0x01834c6e29af5d7b)
+ }
+
+ NAnd(s605, 0, Local0)
+ m600(arg0, 12, Local0, 0xffffffffffffffff)
+
+ NAnd(s605, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0x01834c6e29af5d7b)
+
+ NAnd(s605, aui5, Local0)
+ m600(arg0, 14, Local0, 0xffffffffffffffff)
+
+ NAnd(s605, auij, Local0)
+ m600(arg0, 15, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ NAnd(s605, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xffffffffffffffff)
+
+ NAnd(s605, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0x01834c6e29af5d7b)
+ }
+
+ NAnd(s605, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xffffffffffffffff)
+
+ NAnd(s605, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ NAnd(s605, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xffffffffffffffff)
+
+ NAnd(s605, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(s605, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xffffffffffffffff)
+
+ NAnd(s605, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0x01834c6e29af5d7b)
+ }
+
+ // Conversion of the second operand
+
+ Store(NAnd(0, s605), Local0)
+ m600(arg0, 24, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(0xffffffffffffffff, s605), Local0)
+ m600(arg0, 25, Local0, 0x01834c6e29af5d7b)
+
+ Store(NAnd(aui5, s605), Local0)
+ m600(arg0, 26, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(auij, s605), Local0)
+ m600(arg0, 27, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ Store(NAnd(Derefof(Refof(aui5)), s605), Local0)
+ m600(arg0, 28, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Refof(auij)), s605), Local0)
+ m600(arg0, 29, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Store(NAnd(Derefof(Index(paui, 5)), s605), Local0)
+ m600(arg0, 30, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Index(paui, 19)), s605), Local0)
+ m600(arg0, 31, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ Store(NAnd(m601(1, 5), s605), Local0)
+ m600(arg0, 32, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(m601(1, 19), s605), Local0)
+ m600(arg0, 33, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(Derefof(m602(1, 5, 1)), s605), Local0)
+ m600(arg0, 34, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(m602(1, 19, 1)), s605), Local0)
+ m600(arg0, 35, Local0, 0x01834c6e29af5d7b)
+ }
+
+ NAnd(0, s605, Local0)
+ m600(arg0, 36, Local0, 0xffffffffffffffff)
+
+ NAnd(0xffffffffffffffff, s605, Local0)
+ m600(arg0, 37, Local0, 0x01834c6e29af5d7b)
+
+ NAnd(aui5, s605, Local0)
+ m600(arg0, 38, Local0, 0xffffffffffffffff)
+
+ NAnd(auij, s605, Local0)
+ m600(arg0, 39, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ NAnd(Derefof(Refof(aui5)), s605, Local0)
+ m600(arg0, 40, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Refof(auij)), s605, Local0)
+ m600(arg0, 41, Local0, 0x01834c6e29af5d7b)
+ }
+
+ NAnd(Derefof(Index(paui, 5)), s605, Local0)
+ m600(arg0, 42, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Index(paui, 19)), s605, Local0)
+ m600(arg0, 43, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ NAnd(m601(1, 5), s605, Local0)
+ m600(arg0, 44, Local0, 0xffffffffffffffff)
+
+ NAnd(m601(1, 19), s605, Local0)
+ m600(arg0, 45, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(Derefof(m602(1, 5, 1)), s605, Local0)
+ m600(arg0, 46, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(m602(1, 19, 1)), s605, Local0)
+ m600(arg0, 47, Local0, 0x01834c6e29af5d7b)
+ }
+
+ // Conversion of the both operands
+
+ Store(NAnd(s601, s605), Local0)
+ m600(arg0, 48, Local0, 0xfffffffffffffdff)
+
+ Store(NAnd(s605, s601), Local0)
+ m600(arg0, 49, Local0, 0xfffffffffffffdff)
+
+ NAnd(s601, s605, Local0)
+ m600(arg0, 50, Local0, 0xfffffffffffffdff)
+
+ NAnd(s605, s601, Local0)
+ m600(arg0, 51, Local0, 0xfffffffffffffdff)
+ }
+
+ // NAnd, 32-bit
+ Method(m012, 1)
+ {
+ // Conversion of the first operand
+
+ Store(NAnd(s604, 0), Local0)
+ m600(arg0, 0, Local0, 0xffffffff)
+
+ Store(NAnd(s604, 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0x3e864c01)
+
+ Store(NAnd(s604, aui5), Local0)
+ m600(arg0, 2, Local0, 0xffffffff)
+
+ Store(NAnd(s604, auii), Local0)
+ m600(arg0, 3, Local0, 0x3e864c01)
+
+ if (y078) {
+ Store(NAnd(s604, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xffffffff)
+
+ Store(NAnd(s604, Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0x3e864c01)
+ }
+
+ Store(NAnd(s604, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xffffffff)
+
+ Store(NAnd(s604, Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0x3e864c01)
+
+ // Method returns Integer
+
+ Store(NAnd(s604, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xffffffff)
+
+ Store(NAnd(s604, m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0x3e864c01)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(s604, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xffffffff)
+
+ Store(NAnd(s604, Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0x3e864c01)
+ }
+
+ NAnd(s604, 0, Local0)
+ m600(arg0, 12, Local0, 0xffffffff)
+
+ NAnd(s604, 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0x3e864c01)
+
+ NAnd(s604, aui5, Local0)
+ m600(arg0, 14, Local0, 0xffffffff)
+
+ NAnd(s604, auii, Local0)
+ m600(arg0, 15, Local0, 0x3e864c01)
+
+ if (y078) {
+ NAnd(s604, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xffffffff)
+
+ NAnd(s604, Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0x3e864c01)
+ }
+
+ NAnd(s604, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xffffffff)
+
+ NAnd(s604, Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0x3e864c01)
+
+ // Method returns Integer
+
+ NAnd(s604, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xffffffff)
+
+ NAnd(s604, m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0x3e864c01)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(s604, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xffffffff)
+
+ NAnd(s604, Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0x3e864c01)
+ }
+
+ // Conversion of the second operand
+
+ Store(NAnd(0, s604), Local0)
+ m600(arg0, 24, Local0, 0xffffffff)
+
+ Store(NAnd(0xffffffff, s604), Local0)
+ m600(arg0, 25, Local0, 0x3e864c01)
+
+ Store(NAnd(aui5, s604), Local0)
+ m600(arg0, 26, Local0, 0xffffffff)
+
+ Store(NAnd(auii, s604), Local0)
+ m600(arg0, 27, Local0, 0x3e864c01)
+
+ if (y078) {
+ Store(NAnd(Derefof(Refof(aui5)), s604), Local0)
+ m600(arg0, 28, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(Refof(auii)), s604), Local0)
+ m600(arg0, 29, Local0, 0x3e864c01)
+ }
+
+ Store(NAnd(Derefof(Index(paui, 5)), s604), Local0)
+ m600(arg0, 30, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(Index(paui, 18)), s604), Local0)
+ m600(arg0, 31, Local0, 0x3e864c01)
+
+ // Method returns Integer
+
+ Store(NAnd(m601(1, 5), s604), Local0)
+ m600(arg0, 32, Local0, 0xffffffff)
+
+ Store(NAnd(m601(1, 18), s604), Local0)
+ m600(arg0, 33, Local0, 0x3e864c01)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(Derefof(m602(1, 5, 1)), s604), Local0)
+ m600(arg0, 34, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(m602(1, 18, 1)), s604), Local0)
+ m600(arg0, 35, Local0, 0x3e864c01)
+ }
+
+ NAnd(0, s604, Local0)
+ m600(arg0, 36, Local0, 0xffffffff)
+
+ NAnd(0xffffffff, s604, Local0)
+ m600(arg0, 37, Local0, 0x3e864c01)
+
+ NAnd(aui5, s604, Local0)
+ m600(arg0, 38, Local0, 0xffffffff)
+
+ NAnd(auii, s604, Local0)
+ m600(arg0, 39, Local0, 0x3e864c01)
+
+ if (y078) {
+ NAnd(Derefof(Refof(aui5)), s604, Local0)
+ m600(arg0, 40, Local0, 0xffffffff)
+
+ NAnd(Derefof(Refof(auii)), s604, Local0)
+ m600(arg0, 41, Local0, 0x3e864c01)
+ }
+
+ NAnd(Derefof(Index(paui, 5)), s604, Local0)
+ m600(arg0, 42, Local0, 0xffffffff)
+
+ NAnd(Derefof(Index(paui, 18)), s604, Local0)
+ m600(arg0, 43, Local0, 0x3e864c01)
+
+ // Method returns Integer
+
+ NAnd(m601(1, 5), s604, Local0)
+ m600(arg0, 44, Local0, 0xffffffff)
+
+ NAnd(m601(1, 18), s604, Local0)
+ m600(arg0, 45, Local0, 0x3e864c01)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(Derefof(m602(1, 5, 1)), s604, Local0)
+ m600(arg0, 46, Local0, 0xffffffff)
+
+ NAnd(Derefof(m602(1, 18, 1)), s604, Local0)
+ m600(arg0, 47, Local0, 0x3e864c01)
+ }
+
+ // Conversion of the both operands
+
+ Store(NAnd(s601, s604), Local0)
+ m600(arg0, 48, Local0, 0xfffffcdf)
+
+ Store(NAnd(s604, s601), Local0)
+ m600(arg0, 49, Local0, 0xfffffcdf)
+
+ NAnd(s601, s604, Local0)
+ m600(arg0, 50, Local0, 0xfffffcdf)
+
+ NAnd(s604, s601, Local0)
+ m600(arg0, 51, Local0, 0xfffffcdf)
+ }
+
+ // NOr, common 32-bit/64-bit test
+ Method(m013, 1)
+ {
+ // Conversion of the first operand
+
+ Store(NOr(s601, 0), Local0)
+ m600(arg0, 0, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(s601, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0)
+
+ Store(NOr(s601, aui5), Local0)
+ m600(arg0, 2, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(s601, auij), Local0)
+ m600(arg0, 3, Local0, 0)
+
+ if (y078) {
+ Store(NOr(s601, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(s601, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0)
+ }
+
+ Store(NOr(s601, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(s601, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(s601, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(s601, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(s601, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(s601, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0)
+ }
+
+ NOr(s601, 0, Local0)
+ m600(arg0, 12, Local0, 0xfffffffffffffcde)
+
+ NOr(s601, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0)
+
+ NOr(s601, aui5, Local0)
+ m600(arg0, 14, Local0, 0xfffffffffffffcde)
+
+ NOr(s601, auij, Local0)
+ m600(arg0, 15, Local0, 0)
+
+ if (y078) {
+ NOr(s601, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfffffffffffffcde)
+
+ NOr(s601, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0)
+ }
+
+ NOr(s601, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfffffffffffffcde)
+
+ NOr(s601, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(s601, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfffffffffffffcde)
+
+ NOr(s601, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(s601, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfffffffffffffcde)
+
+ NOr(s601, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0)
+ }
+
+ // Conversion of the second operand
+
+ Store(NOr(0, s601), Local0)
+ m600(arg0, 24, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(0xffffffffffffffff, s601), Local0)
+ m600(arg0, 25, Local0, 0)
+
+ Store(NOr(aui5, s601), Local0)
+ m600(arg0, 26, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(auij, s601), Local0)
+ m600(arg0, 27, Local0, 0)
+
+ if (y078) {
+ Store(NOr(Derefof(Refof(aui5)), s601), Local0)
+ m600(arg0, 28, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(Refof(auij)), s601), Local0)
+ m600(arg0, 29, Local0, 0)
+ }
+
+ Store(NOr(Derefof(Index(paui, 5)), s601), Local0)
+ m600(arg0, 30, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(Index(paui, 19)), s601), Local0)
+ m600(arg0, 31, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(m601(1, 5), s601), Local0)
+ m600(arg0, 32, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(m601(1, 19), s601), Local0)
+ m600(arg0, 33, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(Derefof(m602(1, 5, 1)), s601), Local0)
+ m600(arg0, 34, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(m602(1, 19, 1)), s601), Local0)
+ m600(arg0, 35, Local0, 0)
+ }
+
+ NOr(0, s601, Local0)
+ m600(arg0, 36, Local0, 0xfffffffffffffcde)
+
+ NOr(0xffffffffffffffff, s601, Local0)
+ m600(arg0, 37, Local0, 0)
+
+ NOr(aui5, s601, Local0)
+ m600(arg0, 38, Local0, 0xfffffffffffffcde)
+
+ NOr(auij, s601, Local0)
+ m600(arg0, 39, Local0, 0)
+
+ if (y078) {
+ NOr(Derefof(Refof(aui5)), s601, Local0)
+ m600(arg0, 40, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(Refof(auij)), s601, Local0)
+ m600(arg0, 41, Local0, 0)
+ }
+
+ NOr(Derefof(Index(paui, 5)), s601, Local0)
+ m600(arg0, 42, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(Index(paui, 19)), s601, Local0)
+ m600(arg0, 43, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(m601(1, 5), s601, Local0)
+ m600(arg0, 44, Local0, 0xfffffffffffffcde)
+
+ NOr(m601(1, 19), s601, Local0)
+ m600(arg0, 45, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(Derefof(m602(1, 5, 1)), s601, Local0)
+ m600(arg0, 46, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(m602(1, 19, 1)), s601, Local0)
+ m600(arg0, 47, Local0, 0)
+ }
+ }
+
+ // NOr, 64-bit
+ Method(m014, 1)
+ {
+ // Conversion of the first operand
+
+ Store(NOr(s605, 0), Local0)
+ m600(arg0, 0, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(s605, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0)
+
+ Store(NOr(s605, aui5), Local0)
+ m600(arg0, 2, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(s605, auij), Local0)
+ m600(arg0, 3, Local0, 0)
+
+ if (y078) {
+ Store(NOr(s605, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(s605, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0)
+ }
+
+ Store(NOr(s605, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(s605, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(s605, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(s605, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(s605, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(s605, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0)
+ }
+
+ NOr(s605, 0, Local0)
+ m600(arg0, 12, Local0, 0x01834c6e29af5d7b)
+
+ NOr(s605, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0)
+
+ NOr(s605, aui5, Local0)
+ m600(arg0, 14, Local0, 0x01834c6e29af5d7b)
+
+ NOr(s605, auij, Local0)
+ m600(arg0, 15, Local0, 0)
+
+ if (y078) {
+ NOr(s605, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x01834c6e29af5d7b)
+
+ NOr(s605, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0)
+ }
+
+ NOr(s605, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x01834c6e29af5d7b)
+
+ NOr(s605, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(s605, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x01834c6e29af5d7b)
+
+ NOr(s605, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(s605, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x01834c6e29af5d7b)
+
+ NOr(s605, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0)
+ }
+
+ // Conversion of the second operand
+
+ Store(NOr(0, s605), Local0)
+ m600(arg0, 24, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(0xffffffffffffffff, s605), Local0)
+ m600(arg0, 25, Local0, 0)
+
+ Store(NOr(aui5, s605), Local0)
+ m600(arg0, 26, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(auij, s605), Local0)
+ m600(arg0, 27, Local0, 0)
+
+ if (y078) {
+ Store(NOr(Derefof(Refof(aui5)), s605), Local0)
+ m600(arg0, 28, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(Refof(auij)), s605), Local0)
+ m600(arg0, 29, Local0, 0)
+ }
+
+ Store(NOr(Derefof(Index(paui, 5)), s605), Local0)
+ m600(arg0, 30, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(Index(paui, 19)), s605), Local0)
+ m600(arg0, 31, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(m601(1, 5), s605), Local0)
+ m600(arg0, 32, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(m601(1, 19), s605), Local0)
+ m600(arg0, 33, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(Derefof(m602(1, 5, 1)), s605), Local0)
+ m600(arg0, 34, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(m602(1, 19, 1)), s605), Local0)
+ m600(arg0, 35, Local0, 0)
+ }
+
+ NOr(0, s605, Local0)
+ m600(arg0, 36, Local0, 0x01834c6e29af5d7b)
+
+ NOr(0xffffffffffffffff, s605, Local0)
+ m600(arg0, 37, Local0, 0)
+
+ NOr(aui5, s605, Local0)
+ m600(arg0, 38, Local0, 0x01834c6e29af5d7b)
+
+ NOr(auij, s605, Local0)
+ m600(arg0, 39, Local0, 0)
+
+ if (y078) {
+ NOr(Derefof(Refof(aui5)), s605, Local0)
+ m600(arg0, 40, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(Refof(auij)), s605, Local0)
+ m600(arg0, 41, Local0, 0)
+ }
+
+ NOr(Derefof(Index(paui, 5)), s605, Local0)
+ m600(arg0, 42, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(Index(paui, 19)), s605, Local0)
+ m600(arg0, 43, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(m601(1, 5), s605, Local0)
+ m600(arg0, 44, Local0, 0x01834c6e29af5d7b)
+
+ NOr(m601(1, 19), s605, Local0)
+ m600(arg0, 45, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(Derefof(m602(1, 5, 1)), s605, Local0)
+ m600(arg0, 46, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(m602(1, 19, 1)), s605, Local0)
+ m600(arg0, 47, Local0, 0)
+ }
+
+ // Conversion of the both operands
+
+ Store(NOr(s601, s605), Local0)
+ m600(arg0, 48, Local0, 0x01834c6e29af5c5a)
+
+ Store(NOr(s605, s601), Local0)
+ m600(arg0, 49, Local0, 0x01834c6e29af5c5a)
+
+ NOr(s601, s605, Local0)
+ m600(arg0, 50, Local0, 0x01834c6e29af5c5a)
+
+ NOr(s605, s601, Local0)
+ m600(arg0, 51, Local0, 0x01834c6e29af5c5a)
+ }
+
+ // NOr, 32-bit
+ Method(m015, 1)
+ {
+ // Conversion of the first operand
+
+ Store(NOr(s604, 0), Local0)
+ m600(arg0, 0, Local0, 0x3e864c01)
+
+ Store(NOr(s604, 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0)
+
+ Store(NOr(s604, aui5), Local0)
+ m600(arg0, 2, Local0, 0x3e864c01)
+
+ Store(NOr(s604, auii), Local0)
+ m600(arg0, 3, Local0, 0)
+
+ if (y078) {
+ Store(NOr(s604, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x3e864c01)
+
+ Store(NOr(s604, Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0)
+ }
+
+ Store(NOr(s604, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x3e864c01)
+
+ Store(NOr(s604, Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(s604, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x3e864c01)
+
+ Store(NOr(s604, m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(s604, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x3e864c01)
+
+ Store(NOr(s604, Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0)
+ }
+
+ NOr(s604, 0, Local0)
+ m600(arg0, 12, Local0, 0x3e864c01)
+
+ NOr(s604, 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0)
+
+ NOr(s604, aui5, Local0)
+ m600(arg0, 14, Local0, 0x3e864c01)
+
+ NOr(s604, auii, Local0)
+ m600(arg0, 15, Local0, 0)
+
+ if (y078) {
+ NOr(s604, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x3e864c01)
+
+ NOr(s604, Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0)
+ }
+
+ NOr(s604, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x3e864c01)
+
+ NOr(s604, Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(s604, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x3e864c01)
+
+ NOr(s604, m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(s604, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x3e864c01)
+
+ NOr(s604, Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0)
+ }
+
+ // Conversion of the second operand
+
+ Store(NOr(0, s604), Local0)
+ m600(arg0, 24, Local0, 0x3e864c01)
+
+ Store(NOr(0xffffffff, s604), Local0)
+ m600(arg0, 25, Local0, 0)
+
+ Store(NOr(aui5, s604), Local0)
+ m600(arg0, 26, Local0, 0x3e864c01)
+
+ Store(NOr(auii, s604), Local0)
+ m600(arg0, 27, Local0, 0)
+
+ if (y078) {
+ Store(NOr(Derefof(Refof(aui5)), s604), Local0)
+ m600(arg0, 28, Local0, 0x3e864c01)
+
+ Store(NOr(Derefof(Refof(auii)), s604), Local0)
+ m600(arg0, 29, Local0, 0)
+ }
+
+ Store(NOr(Derefof(Index(paui, 5)), s604), Local0)
+ m600(arg0, 30, Local0, 0x3e864c01)
+
+ Store(NOr(Derefof(Index(paui, 18)), s604), Local0)
+ m600(arg0, 31, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(m601(1, 5), s604), Local0)
+ m600(arg0, 32, Local0, 0x3e864c01)
+
+ Store(NOr(m601(1, 18), s604), Local0)
+ m600(arg0, 33, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(Derefof(m602(1, 5, 1)), s604), Local0)
+ m600(arg0, 34, Local0, 0x3e864c01)
+
+ Store(NOr(Derefof(m602(1, 18, 1)), s604), Local0)
+ m600(arg0, 35, Local0, 0)
+ }
+
+ NOr(0, s604, Local0)
+ m600(arg0, 36, Local0, 0x3e864c01)
+
+ NOr(0xffffffff, s604, Local0)
+ m600(arg0, 37, Local0, 0)
+
+ NOr(aui5, s604, Local0)
+ m600(arg0, 38, Local0, 0x3e864c01)
+
+ NOr(auii, s604, Local0)
+ m600(arg0, 39, Local0, 0)
+
+ if (y078) {
+ NOr(Derefof(Refof(aui5)), s604, Local0)
+ m600(arg0, 40, Local0, 0x3e864c01)
+
+ NOr(Derefof(Refof(auii)), s604, Local0)
+ m600(arg0, 41, Local0, 0)
+ }
+
+ NOr(Derefof(Index(paui, 5)), s604, Local0)
+ m600(arg0, 42, Local0, 0x3e864c01)
+
+ NOr(Derefof(Index(paui, 18)), s604, Local0)
+ m600(arg0, 43, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(m601(1, 5), s604, Local0)
+ m600(arg0, 44, Local0, 0x3e864c01)
+
+ NOr(m601(1, 18), s604, Local0)
+ m600(arg0, 45, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(Derefof(m602(1, 5, 1)), s604, Local0)
+ m600(arg0, 46, Local0, 0x3e864c01)
+
+ NOr(Derefof(m602(1, 18, 1)), s604, Local0)
+ m600(arg0, 47, Local0, 0)
+ }
+
+ // Conversion of the both operands
+
+ Store(NOr(s601, s604), Local0)
+ m600(arg0, 48, Local0, 0x3e864c00)
+
+ Store(NOr(s604, s601), Local0)
+ m600(arg0, 49, Local0, 0x3e864c00)
+
+ NOr(s601, s604, Local0)
+ m600(arg0, 50, Local0, 0x3e864c00)
+
+ NOr(s604, s601, Local0)
+ m600(arg0, 51, Local0, 0x3e864c00)
+ }
+
+ // Or, common 32-bit/64-bit test
+ Method(m016, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Or(s601, 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Or(s601, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xffffffffffffffff)
+
+ Store(Or(s601, aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Or(s601, auij), Local0)
+ m600(arg0, 3, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Store(Or(s601, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Or(s601, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xffffffffffffffff)
+ }
+
+ Store(Or(s601, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Or(s601, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Store(Or(s601, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Or(s601, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(s601, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Or(s601, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xffffffffffffffff)
+ }
+
+ Or(s601, 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Or(s601, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xffffffffffffffff)
+
+ Or(s601, aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Or(s601, auij, Local0)
+ m600(arg0, 15, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Or(s601, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Or(s601, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xffffffffffffffff)
+ }
+
+ Or(s601, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Or(s601, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Or(s601, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Or(s601, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(s601, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Or(s601, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xffffffffffffffff)
+ }
+
+ // Conversion of the second operand
+
+ Store(Or(0, s601), Local0)
+ m600(arg0, 24, Local0, 0x321)
+
+ Store(Or(0xffffffffffffffff, s601), Local0)
+ m600(arg0, 25, Local0, 0xffffffffffffffff)
+
+ Store(Or(aui5, s601), Local0)
+ m600(arg0, 26, Local0, 0x321)
+
+ Store(Or(auij, s601), Local0)
+ m600(arg0, 27, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Store(Or(Derefof(Refof(aui5)), s601), Local0)
+ m600(arg0, 28, Local0, 0x321)
+
+ Store(Or(Derefof(Refof(auij)), s601), Local0)
+ m600(arg0, 29, Local0, 0xffffffffffffffff)
+ }
+
+ Store(Or(Derefof(Index(paui, 5)), s601), Local0)
+ m600(arg0, 30, Local0, 0x321)
+
+ Store(Or(Derefof(Index(paui, 19)), s601), Local0)
+ m600(arg0, 31, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Store(Or(m601(1, 5), s601), Local0)
+ m600(arg0, 32, Local0, 0x321)
+
+ Store(Or(m601(1, 19), s601), Local0)
+ m600(arg0, 33, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(Derefof(m602(1, 5, 1)), s601), Local0)
+ m600(arg0, 34, Local0, 0x321)
+
+ Store(Or(Derefof(m602(1, 19, 1)), s601), Local0)
+ m600(arg0, 35, Local0, 0xffffffffffffffff)
+ }
+
+ Or(0, s601, Local0)
+ m600(arg0, 36, Local0, 0x321)
+
+ Or(0xffffffffffffffff, s601, Local0)
+ m600(arg0, 37, Local0, 0xffffffffffffffff)
+
+ Or(aui5, s601, Local0)
+ m600(arg0, 38, Local0, 0x321)
+
+ Or(auij, s601, Local0)
+ m600(arg0, 39, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Or(Derefof(Refof(aui5)), s601, Local0)
+ m600(arg0, 40, Local0, 0x321)
+
+ Or(Derefof(Refof(auij)), s601, Local0)
+ m600(arg0, 41, Local0, 0xffffffffffffffff)
+ }
+
+ Or(Derefof(Index(paui, 5)), s601, Local0)
+ m600(arg0, 42, Local0, 0x321)
+
+ Or(Derefof(Index(paui, 19)), s601, Local0)
+ m600(arg0, 43, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Or(m601(1, 5), s601, Local0)
+ m600(arg0, 44, Local0, 0x321)
+
+ Or(m601(1, 19), s601, Local0)
+ m600(arg0, 45, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(Derefof(m602(1, 5, 1)), s601, Local0)
+ m600(arg0, 46, Local0, 0x321)
+
+ Or(Derefof(m602(1, 19, 1)), s601, Local0)
+ m600(arg0, 47, Local0, 0xffffffffffffffff)
+ }
+ }
+
+ // Or, 64-bit
+ Method(m017, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Or(s605, 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(s605, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xffffffffffffffff)
+
+ Store(Or(s605, aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(s605, auij), Local0)
+ m600(arg0, 3, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Store(Or(s605, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(s605, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xffffffffffffffff)
+ }
+
+ Store(Or(s605, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(s605, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Store(Or(s605, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(s605, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(s605, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(s605, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xffffffffffffffff)
+ }
+
+ Or(s605, 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Or(s605, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xffffffffffffffff)
+
+ Or(s605, aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Or(s605, auij, Local0)
+ m600(arg0, 15, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Or(s605, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Or(s605, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xffffffffffffffff)
+ }
+
+ Or(s605, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Or(s605, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Or(s605, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Or(s605, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(s605, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Or(s605, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xffffffffffffffff)
+ }
+
+ // Conversion of the second operand
+
+ Store(Or(0, s605), Local0)
+ m600(arg0, 24, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(0xffffffffffffffff, s605), Local0)
+ m600(arg0, 25, Local0, 0xffffffffffffffff)
+
+ Store(Or(aui5, s605), Local0)
+ m600(arg0, 26, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(auij, s605), Local0)
+ m600(arg0, 27, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Store(Or(Derefof(Refof(aui5)), s605), Local0)
+ m600(arg0, 28, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(Refof(auij)), s605), Local0)
+ m600(arg0, 29, Local0, 0xffffffffffffffff)
+ }
+
+ Store(Or(Derefof(Index(paui, 5)), s605), Local0)
+ m600(arg0, 30, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(Index(paui, 19)), s605), Local0)
+ m600(arg0, 31, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Store(Or(m601(1, 5), s605), Local0)
+ m600(arg0, 32, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(m601(1, 19), s605), Local0)
+ m600(arg0, 33, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(Derefof(m602(1, 5, 1)), s605), Local0)
+ m600(arg0, 34, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(m602(1, 19, 1)), s605), Local0)
+ m600(arg0, 35, Local0, 0xffffffffffffffff)
+ }
+
+ Or(0, s605, Local0)
+ m600(arg0, 36, Local0, 0xfe7cb391d650a284)
+
+ Or(0xffffffffffffffff, s605, Local0)
+ m600(arg0, 37, Local0, 0xffffffffffffffff)
+
+ Or(aui5, s605, Local0)
+ m600(arg0, 38, Local0, 0xfe7cb391d650a284)
+
+ Or(auij, s605, Local0)
+ m600(arg0, 39, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Or(Derefof(Refof(aui5)), s605, Local0)
+ m600(arg0, 40, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(Refof(auij)), s605, Local0)
+ m600(arg0, 41, Local0, 0xffffffffffffffff)
+ }
+
+ Or(Derefof(Index(paui, 5)), s605, Local0)
+ m600(arg0, 42, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(Index(paui, 19)), s605, Local0)
+ m600(arg0, 43, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Or(m601(1, 5), s605, Local0)
+ m600(arg0, 44, Local0, 0xfe7cb391d650a284)
+
+ Or(m601(1, 19), s605, Local0)
+ m600(arg0, 45, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(Derefof(m602(1, 5, 1)), s605, Local0)
+ m600(arg0, 46, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(m602(1, 19, 1)), s605, Local0)
+ m600(arg0, 47, Local0, 0xffffffffffffffff)
+ }
+
+ // Conversion of the both operands
+
+ Store(Or(s601, s605), Local0)
+ m600(arg0, 48, Local0, 0xfe7cb391d650a3a5)
+
+ Store(Or(s605, s601), Local0)
+ m600(arg0, 49, Local0, 0xfe7cb391d650a3a5)
+
+ Or(s601, s605, Local0)
+ m600(arg0, 50, Local0, 0xfe7cb391d650a3a5)
+
+ Or(s605, s601, Local0)
+ m600(arg0, 51, Local0, 0xfe7cb391d650a3a5)
+ }
+
+ // Or, 32-bit
+ Method(m018, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Or(s604, 0), Local0)
+ m600(arg0, 0, Local0, 0xc179b3fe)
+
+ Store(Or(s604, 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0xffffffff)
+
+ Store(Or(s604, aui5), Local0)
+ m600(arg0, 2, Local0, 0xc179b3fe)
+
+ Store(Or(s604, auii), Local0)
+ m600(arg0, 3, Local0, 0xffffffff)
+
+ if (y078) {
+ Store(Or(s604, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xc179b3fe)
+
+ Store(Or(s604, Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0xffffffff)
+ }
+
+ Store(Or(s604, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xc179b3fe)
+
+ Store(Or(s604, Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0xffffffff)
+
+ // Method returns Integer
+
+ Store(Or(s604, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xc179b3fe)
+
+ Store(Or(s604, m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0xffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(s604, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xc179b3fe)
+
+ Store(Or(s604, Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0xffffffff)
+ }
+
+ Or(s604, 0, Local0)
+ m600(arg0, 12, Local0, 0xc179b3fe)
+
+ Or(s604, 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0xffffffff)
+
+ Or(s604, aui5, Local0)
+ m600(arg0, 14, Local0, 0xc179b3fe)
+
+ Or(s604, auii, Local0)
+ m600(arg0, 15, Local0, 0xffffffff)
+
+ if (y078) {
+ Or(s604, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xc179b3fe)
+
+ Or(s604, Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0xffffffff)
+ }
+
+ Or(s604, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xc179b3fe)
+
+ Or(s604, Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0xffffffff)
+
+ // Method returns Integer
+
+ Or(s604, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xc179b3fe)
+
+ Or(s604, m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0xffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(s604, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xc179b3fe)
+
+ Or(s604, Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0xffffffff)
+ }
+
+ // Conversion of the second operand
+
+ Store(Or(0, s604), Local0)
+ m600(arg0, 24, Local0, 0xc179b3fe)
+
+ Store(Or(0xffffffff, s604), Local0)
+ m600(arg0, 25, Local0, 0xffffffff)
+
+ Store(Or(aui5, s604), Local0)
+ m600(arg0, 26, Local0, 0xc179b3fe)
+
+ Store(Or(auii, s604), Local0)
+ m600(arg0, 27, Local0, 0xffffffff)
+
+ if (y078) {
+ Store(Or(Derefof(Refof(aui5)), s604), Local0)
+ m600(arg0, 28, Local0, 0xc179b3fe)
+
+ Store(Or(Derefof(Refof(auii)), s604), Local0)
+ m600(arg0, 29, Local0, 0xffffffff)
+ }
+
+ Store(Or(Derefof(Index(paui, 5)), s604), Local0)
+ m600(arg0, 30, Local0, 0xc179b3fe)
+
+ Store(Or(Derefof(Index(paui, 18)), s604), Local0)
+ m600(arg0, 31, Local0, 0xffffffff)
+
+ // Method returns Integer
+
+ Store(Or(m601(1, 5), s604), Local0)
+ m600(arg0, 32, Local0, 0xc179b3fe)
+
+ Store(Or(m601(1, 18), s604), Local0)
+ m600(arg0, 33, Local0, 0xffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(Derefof(m602(1, 5, 1)), s604), Local0)
+ m600(arg0, 34, Local0, 0xc179b3fe)
+
+ Store(Or(Derefof(m602(1, 18, 1)), s604), Local0)
+ m600(arg0, 35, Local0, 0xffffffff)
+ }
+
+ Or(0, s604, Local0)
+ m600(arg0, 36, Local0, 0xc179b3fe)
+
+ Or(0xffffffff, s604, Local0)
+ m600(arg0, 37, Local0, 0xffffffff)
+
+ Or(aui5, s604, Local0)
+ m600(arg0, 38, Local0, 0xc179b3fe)
+
+ Or(auii, s604, Local0)
+ m600(arg0, 39, Local0, 0xffffffff)
+
+ if (y078) {
+ Or(Derefof(Refof(aui5)), s604, Local0)
+ m600(arg0, 40, Local0, 0xc179b3fe)
+
+ Or(Derefof(Refof(auii)), s604, Local0)
+ m600(arg0, 41, Local0, 0xffffffff)
+ }
+
+ Or(Derefof(Index(paui, 5)), s604, Local0)
+ m600(arg0, 42, Local0, 0xc179b3fe)
+
+ Or(Derefof(Index(paui, 18)), s604, Local0)
+ m600(arg0, 43, Local0, 0xffffffff)
+
+ // Method returns Integer
+
+ Or(m601(1, 5), s604, Local0)
+ m600(arg0, 44, Local0, 0xc179b3fe)
+
+ Or(m601(1, 18), s604, Local0)
+ m600(arg0, 45, Local0, 0xffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(Derefof(m602(1, 5, 1)), s604, Local0)
+ m600(arg0, 46, Local0, 0xc179b3fe)
+
+ Or(Derefof(m602(1, 18, 1)), s604, Local0)
+ m600(arg0, 47, Local0, 0xffffffff)
+ }
+
+ // Conversion of the both operands
+
+ Store(Or(s601, s604), Local0)
+ m600(arg0, 48, Local0, 0xc179b3ff)
+
+ Store(Or(s604, s601), Local0)
+ m600(arg0, 49, Local0, 0xc179b3ff)
+
+ Or(s601, s604, Local0)
+ m600(arg0, 50, Local0, 0xc179b3ff)
+
+ Or(s604, s601, Local0)
+ m600(arg0, 51, Local0, 0xc179b3ff)
+ }
+
+ // ShiftLeft, common 32-bit/64-bit test
+ Method(m019, 1)
+ {
+ // Conversion of the first operand
+
+ Store(ShiftLeft(s601, 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(ShiftLeft(s601, 1), Local0)
+ m600(arg0, 1, Local0, 0x642)
+
+ Store(ShiftLeft(s601, aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(ShiftLeft(s601, aui6), Local0)
+ m600(arg0, 3, Local0, 0x642)
+
+ if (y078) {
+ Store(ShiftLeft(s601, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(ShiftLeft(s601, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x642)
+ }
+
+ Store(ShiftLeft(s601, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(ShiftLeft(s601, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x642)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(s601, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(ShiftLeft(s601, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x642)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(s601, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(ShiftLeft(s601, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x642)
+ }
+
+ ShiftLeft(s601, 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ ShiftLeft(s601, 1, Local0)
+ m600(arg0, 13, Local0, 0x642)
+
+ ShiftLeft(s601, aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ ShiftLeft(s601, aui6, Local0)
+ m600(arg0, 15, Local0, 0x642)
+
+ if (y078) {
+ ShiftLeft(s601, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ ShiftLeft(s601, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x642)
+ }
+
+ ShiftLeft(s601, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ ShiftLeft(s601, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x642)
+
+ // Method returns Integer
+
+ ShiftLeft(s601, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ ShiftLeft(s601, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x642)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(s601, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ ShiftLeft(s601, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x642)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftLeft(0, s614), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftLeft(1, s614), Local0)
+ m600(arg0, 25, Local0, 0x800)
+
+ Store(ShiftLeft(aui5, s614), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftLeft(aui6, s614), Local0)
+ m600(arg0, 27, Local0, 0x800)
+
+ if (y078) {
+ Store(ShiftLeft(Derefof(Refof(aui5)), s614), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Refof(aui6)), s614), Local0)
+ m600(arg0, 29, Local0, 0x800)
+ }
+
+ Store(ShiftLeft(Derefof(Index(paui, 5)), s614), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Index(paui, 6)), s614), Local0)
+ m600(arg0, 31, Local0, 0x800)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(m601(1, 5), s614), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftLeft(m601(1, 6), s614), Local0)
+ m600(arg0, 33, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(Derefof(m602(1, 5, 1)), s614), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftLeft(Derefof(m602(1, 6, 1)), s614), Local0)
+ m600(arg0, 35, Local0, 0x800)
+ }
+
+ ShiftLeft(0, s614, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftLeft(1, s614, Local0)
+ m600(arg0, 37, Local0, 0x800)
+
+ ShiftLeft(aui5, s614, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftLeft(aui6, s614, Local0)
+ m600(arg0, 39, Local0, 0x800)
+
+ if (y078) {
+ ShiftLeft(Derefof(Refof(aui5)), s614, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftLeft(Derefof(Refof(aui6)), s614, Local0)
+ m600(arg0, 41, Local0, 0x800)
+ }
+
+ ShiftLeft(Derefof(Index(paui, 5)), s614, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftLeft(Derefof(Index(paui, 6)), s614, Local0)
+ m600(arg0, 43, Local0, 0x800)
+
+ // Method returns Integer
+
+ ShiftLeft(m601(1, 5), s614, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftLeft(m601(1, 6), s614, Local0)
+ m600(arg0, 45, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(Derefof(m602(1, 5, 1)), s614, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftLeft(Derefof(m602(1, 6, 1)), s614, Local0)
+ m600(arg0, 47, Local0, 0x800)
+ }
+ }
+
+ // ShiftLeft, 64-bit
+ Method(m01a, 1)
+ {
+ // Conversion of the first operand
+
+ Store(ShiftLeft(s605, 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(s605, 1), Local0)
+ m600(arg0, 1, Local0, 0xfcf96723aca14508)
+
+ Store(ShiftLeft(s605, aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(s605, aui6), Local0)
+ m600(arg0, 3, Local0, 0xfcf96723aca14508)
+
+ if (y078) {
+ Store(ShiftLeft(s605, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(s605, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xfcf96723aca14508)
+ }
+
+ Store(ShiftLeft(s605, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(s605, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xfcf96723aca14508)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(s605, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(s605, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xfcf96723aca14508)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(s605, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(s605, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfcf96723aca14508)
+ }
+
+ ShiftLeft(s605, 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(s605, 1, Local0)
+ m600(arg0, 13, Local0, 0xfcf96723aca14508)
+
+ ShiftLeft(s605, aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(s605, aui6, Local0)
+ m600(arg0, 15, Local0, 0xfcf96723aca14508)
+
+ if (y078) {
+ ShiftLeft(s605, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(s605, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xfcf96723aca14508)
+ }
+
+ ShiftLeft(s605, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(s605, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xfcf96723aca14508)
+
+ // Method returns Integer
+
+ ShiftLeft(s605, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(s605, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xfcf96723aca14508)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(s605, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(s605, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfcf96723aca14508)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftLeft(0, s614), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftLeft(1, s614), Local0)
+ m600(arg0, 25, Local0, 0x800)
+
+ Store(ShiftLeft(aui5, s614), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftLeft(aui6, s614), Local0)
+ m600(arg0, 27, Local0, 0x800)
+
+ if (y078) {
+ Store(ShiftLeft(Derefof(Refof(aui5)), s614), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Refof(aui6)), s614), Local0)
+ m600(arg0, 29, Local0, 0x800)
+ }
+
+ Store(ShiftLeft(Derefof(Index(paui, 5)), s614), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Index(paui, 6)), s614), Local0)
+ m600(arg0, 31, Local0, 0x800)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(m601(1, 5), s614), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftLeft(m601(1, 6), s614), Local0)
+ m600(arg0, 33, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(Derefof(m602(1, 5, 1)), s614), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftLeft(Derefof(m602(1, 6, 1)), s614), Local0)
+ m600(arg0, 35, Local0, 0x800)
+ }
+
+ ShiftLeft(0, s614, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftLeft(1, s614, Local0)
+ m600(arg0, 37, Local0, 0x800)
+
+ ShiftLeft(aui5, s614, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftLeft(aui6, s614, Local0)
+ m600(arg0, 39, Local0, 0x800)
+
+ if (y078) {
+ ShiftLeft(Derefof(Refof(aui5)), s614, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftLeft(Derefof(Refof(aui6)), s614, Local0)
+ m600(arg0, 41, Local0, 0x800)
+ }
+
+ ShiftLeft(Derefof(Index(paui, 5)), s614, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftLeft(Derefof(Index(paui, 6)), s614, Local0)
+ m600(arg0, 43, Local0, 0x800)
+
+ // Method returns Integer
+
+ ShiftLeft(m601(1, 5), s614, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftLeft(m601(1, 6), s614, Local0)
+ m600(arg0, 45, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(Derefof(m602(1, 5, 1)), s614, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftLeft(Derefof(m602(1, 6, 1)), s614, Local0)
+ m600(arg0, 47, Local0, 0x800)
+ }
+
+ // Conversion of the both operands
+
+ Store(ShiftLeft(s601, s614), Local0)
+ m600(arg0, 48, Local0, 0x190800)
+
+ Store(ShiftLeft(s605, s614), Local0)
+ m600(arg0, 49, Local0, 0xE59C8EB285142000)
+
+ ShiftLeft(s601, s614, Local0)
+ m600(arg0, 50, Local0, 0x190800)
+
+ ShiftLeft(s605, s614, Local0)
+ m600(arg0, 51, Local0, 0xE59C8EB285142000)
+ }
+
+ // ShiftLeft, 32-bit
+ Method(m01b, 1)
+ {
+ // Conversion of the first operand
+
+ Store(ShiftLeft(s604, 0), Local0)
+ m600(arg0, 0, Local0, 0xc179b3fe)
+
+ Store(ShiftLeft(s604, 1), Local0)
+ m600(arg0, 1, Local0, 0x82f367fc)
+
+ Store(ShiftLeft(s604, aui5), Local0)
+ m600(arg0, 2, Local0, 0xc179b3fe)
+
+ Store(ShiftLeft(s604, aui6), Local0)
+ m600(arg0, 3, Local0, 0x82f367fc)
+
+ if (y078) {
+ Store(ShiftLeft(s604, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xc179b3fe)
+
+ Store(ShiftLeft(s604, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x82f367fc)
+ }
+
+ Store(ShiftLeft(s604, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xc179b3fe)
+
+ Store(ShiftLeft(s604, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x82f367fc)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(s604, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xc179b3fe)
+
+ Store(ShiftLeft(s604, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x82f367fc)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(s604, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xc179b3fe)
+
+ Store(ShiftLeft(s604, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x82f367fc)
+ }
+
+ ShiftLeft(s604, 0, Local0)
+ m600(arg0, 12, Local0, 0xc179b3fe)
+
+ ShiftLeft(s604, 1, Local0)
+ m600(arg0, 13, Local0, 0x82f367fc)
+
+ ShiftLeft(s604, aui5, Local0)
+ m600(arg0, 14, Local0, 0xc179b3fe)
+
+ ShiftLeft(s604, aui6, Local0)
+ m600(arg0, 15, Local0, 0x82f367fc)
+
+ if (y078) {
+ ShiftLeft(s604, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xc179b3fe)
+
+ ShiftLeft(s604, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x82f367fc)
+ }
+
+ ShiftLeft(s604, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xc179b3fe)
+
+ ShiftLeft(s604, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x82f367fc)
+
+ // Method returns Integer
+
+ ShiftLeft(s604, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xc179b3fe)
+
+ ShiftLeft(s604, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x82f367fc)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(s604, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xc179b3fe)
+
+ ShiftLeft(s604, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x82f367fc)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftLeft(0, s614), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftLeft(1, s614), Local0)
+ m600(arg0, 25, Local0, 0x800)
+
+ Store(ShiftLeft(aui5, s614), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftLeft(aui6, s614), Local0)
+ m600(arg0, 27, Local0, 0x800)
+
+ if (y078) {
+ Store(ShiftLeft(Derefof(Refof(aui5)), s614), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Refof(aui6)), s614), Local0)
+ m600(arg0, 29, Local0, 0x800)
+ }
+
+ Store(ShiftLeft(Derefof(Index(paui, 5)), s614), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Index(paui, 6)), s614), Local0)
+ m600(arg0, 31, Local0, 0x800)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(m601(1, 5), s614), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftLeft(m601(1, 6), s614), Local0)
+ m600(arg0, 33, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(Derefof(m602(1, 5, 1)), s614), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftLeft(Derefof(m602(1, 6, 1)), s614), Local0)
+ m600(arg0, 35, Local0, 0x800)
+ }
+
+ ShiftLeft(0, s614, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftLeft(1, s614, Local0)
+ m600(arg0, 37, Local0, 0x800)
+
+ ShiftLeft(aui5, s614, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftLeft(aui6, s614, Local0)
+ m600(arg0, 39, Local0, 0x800)
+
+ if (y078) {
+ ShiftLeft(Derefof(Refof(aui5)), s614, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftLeft(Derefof(Refof(aui6)), s614, Local0)
+ m600(arg0, 41, Local0, 0x800)
+ }
+
+ ShiftLeft(Derefof(Index(paui, 5)), s614, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftLeft(Derefof(Index(paui, 6)), s614, Local0)
+ m600(arg0, 43, Local0, 0x800)
+
+ // Method returns Integer
+
+ ShiftLeft(m601(1, 5), s614, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftLeft(m601(1, 6), s614, Local0)
+ m600(arg0, 45, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(Derefof(m602(1, 5, 1)), s614, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftLeft(Derefof(m602(1, 6, 1)), s614, Local0)
+ m600(arg0, 47, Local0, 0x800)
+ }
+
+ // Conversion of the both operands
+
+ Store(ShiftLeft(s601, s614), Local0)
+ m600(arg0, 48, Local0, 0x190800)
+
+ Store(ShiftLeft(s604, s614), Local0)
+ m600(arg0, 49, Local0, 0xcd9ff000)
+
+ ShiftLeft(s601, s614, Local0)
+ m600(arg0, 50, Local0, 0x190800)
+
+ ShiftLeft(s604, s614, Local0)
+ m600(arg0, 51, Local0, 0xcd9ff000)
+ }
+
+ // ShiftRight, common 32-bit/64-bit test
+ Method(m01c, 1)
+ {
+ // Conversion of the first operand
+
+ Store(ShiftRight(s601, 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(ShiftRight(s601, 1), Local0)
+ m600(arg0, 1, Local0, 0x190)
+
+ Store(ShiftRight(s601, aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(ShiftRight(s601, aui6), Local0)
+ m600(arg0, 3, Local0, 0x190)
+
+ if (y078) {
+ Store(ShiftRight(s601, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(ShiftRight(s601, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x190)
+ }
+
+ Store(ShiftRight(s601, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(ShiftRight(s601, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x190)
+
+ // Method returns Integer
+
+ Store(ShiftRight(s601, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(ShiftRight(s601, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x190)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(s601, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(ShiftRight(s601, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x190)
+ }
+
+ ShiftRight(s601, 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ ShiftRight(s601, 1, Local0)
+ m600(arg0, 13, Local0, 0x190)
+
+ ShiftRight(s601, aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ ShiftRight(s601, aui6, Local0)
+ m600(arg0, 15, Local0, 0x190)
+
+ if (y078) {
+ ShiftRight(s601, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ ShiftRight(s601, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x190)
+ }
+
+ ShiftRight(s601, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ ShiftRight(s601, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x190)
+
+ // Method returns Integer
+
+ ShiftRight(s601, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ ShiftRight(s601, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x190)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(s601, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ ShiftRight(s601, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x190)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftRight(0x321, s614), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftRight(0xc179b3fe, s614), Local0)
+ m600(arg0, 25, Local0, 0x182f36)
+
+ Store(ShiftRight(aui1, s614), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftRight(aui3, s614), Local0)
+ m600(arg0, 27, Local0, 0x182f36)
+
+ if (y078) {
+ Store(ShiftRight(Derefof(Refof(aui1)), s614), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftRight(Derefof(Refof(aui3)), s614), Local0)
+ m600(arg0, 29, Local0, 0x182f36)
+ }
+
+ Store(ShiftRight(Derefof(Index(paui, 1)), s614), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftRight(Derefof(Index(paui, 3)), s614), Local0)
+ m600(arg0, 31, Local0, 0x182f36)
+
+ // Method returns Integer
+
+ Store(ShiftRight(m601(1, 1), s614), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftRight(m601(1, 3), s614), Local0)
+ m600(arg0, 33, Local0, 0x182f36)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(Derefof(m602(1, 1, 1)), s614), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftRight(Derefof(m602(1, 3, 1)), s614), Local0)
+ m600(arg0, 35, Local0, 0x182f36)
+ }
+
+ ShiftRight(0x321, s614, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftRight(0xc179b3fe, s614, Local0)
+ m600(arg0, 37, Local0, 0x182f36)
+
+ ShiftRight(aui1, s614, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftRight(aui3, s614, Local0)
+ m600(arg0, 39, Local0, 0x182f36)
+
+ if (y078) {
+ ShiftRight(Derefof(Refof(aui1)), s614, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftRight(Derefof(Refof(aui3)), s614, Local0)
+ m600(arg0, 41, Local0, 0x182f36)
+ }
+
+ ShiftRight(Derefof(Index(paui, 1)), s614, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftRight(Derefof(Index(paui, 3)), s614, Local0)
+ m600(arg0, 43, Local0, 0x182f36)
+
+ // Method returns Integer
+
+ ShiftRight(m601(1, 1), s614, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftRight(m601(1, 3), s614, Local0)
+ m600(arg0, 45, Local0, 0x182f36)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(Derefof(m602(1, 1, 1)), s614, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftRight(Derefof(m602(1, 3, 1)), s614, Local0)
+ m600(arg0, 47, Local0, 0x182f36)
+ }
+ }
+
+ // ShiftRight, 64-bit
+ Method(m01d, 1)
+ {
+ // Conversion of the first operand
+
+ Store(ShiftRight(s605, 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(s605, 1), Local0)
+ m600(arg0, 1, Local0, 0x7f3e59c8eb285142)
+
+ Store(ShiftRight(s605, aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(s605, aui6), Local0)
+ m600(arg0, 3, Local0, 0x7f3e59c8eb285142)
+
+ if (y078) {
+ Store(ShiftRight(s605, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(s605, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x7f3e59c8eb285142)
+ }
+
+ Store(ShiftRight(s605, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(s605, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x7f3e59c8eb285142)
+
+ // Method returns Integer
+
+ Store(ShiftRight(s605, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(s605, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x7f3e59c8eb285142)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(s605, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(s605, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x7f3e59c8eb285142)
+ }
+
+ ShiftRight(s605, 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(s605, 1, Local0)
+ m600(arg0, 13, Local0, 0x7f3e59c8eb285142)
+
+ ShiftRight(s605, aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(s605, aui6, Local0)
+ m600(arg0, 15, Local0, 0x7f3e59c8eb285142)
+
+ if (y078) {
+ ShiftRight(s605, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(s605, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x7f3e59c8eb285142)
+ }
+
+ ShiftRight(s605, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(s605, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x7f3e59c8eb285142)
+
+ // Method returns Integer
+
+ ShiftRight(s605, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(s605, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x7f3e59c8eb285142)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(s605, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(s605, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x7f3e59c8eb285142)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftRight(0x321, s614), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftRight(0xfe7cb391d650a284, s614), Local0)
+ m600(arg0, 25, Local0, 0x1fcf96723aca14)
+
+ Store(ShiftRight(aui1, s614), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftRight(aui4, s614), Local0)
+ m600(arg0, 27, Local0, 0x1fcf96723aca14)
+
+ if (y078) {
+ Store(ShiftRight(Derefof(Refof(aui1)), s614), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftRight(Derefof(Refof(aui4)), s614), Local0)
+ m600(arg0, 29, Local0, 0x1fcf96723aca14)
+ }
+
+ Store(ShiftRight(Derefof(Index(paui, 1)), s614), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftRight(Derefof(Index(paui, 4)), s614), Local0)
+ m600(arg0, 31, Local0, 0x1fcf96723aca14)
+
+ // Method returns Integer
+
+ Store(ShiftRight(m601(1, 1), s614), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftRight(m601(1, 4), s614), Local0)
+ m600(arg0, 33, Local0, 0x1fcf96723aca14)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(Derefof(m602(1, 1, 1)), s614), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftRight(Derefof(m602(1, 4, 1)), s614), Local0)
+ m600(arg0, 35, Local0, 0x1fcf96723aca14)
+ }
+
+ ShiftRight(0x321, s614, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftRight(0xfe7cb391d650a284, s614, Local0)
+ m600(arg0, 37, Local0, 0x1fcf96723aca14)
+
+ ShiftRight(aui1, s614, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftRight(aui4, s614, Local0)
+ m600(arg0, 39, Local0, 0x1fcf96723aca14)
+
+ if (y078) {
+ ShiftRight(Derefof(Refof(aui1)), s614, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftRight(Derefof(Refof(aui4)), s614, Local0)
+ m600(arg0, 41, Local0, 0x1fcf96723aca14)
+ }
+
+ ShiftRight(Derefof(Index(paui, 1)), s614, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftRight(Derefof(Index(paui, 4)), s614, Local0)
+ m600(arg0, 43, Local0, 0x1fcf96723aca14)
+
+ // Method returns Integer
+
+ ShiftRight(m601(1, 1), s614, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftRight(m601(1, 4), s614, Local0)
+ m600(arg0, 45, Local0, 0x1fcf96723aca14)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(Derefof(m602(1, 1, 1)), s614, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftRight(Derefof(m602(1, 4, 1)), s614, Local0)
+ m600(arg0, 47, Local0, 0x1fcf96723aca14)
+ }
+
+ // Conversion of the both operands
+
+ Store(ShiftRight(s601, s614), Local0)
+ m600(arg0, 48, Local0, 0)
+
+ Store(ShiftRight(s605, s614), Local0)
+ m600(arg0, 49, Local0, 0x1fcf96723aca14)
+
+ ShiftRight(s601, s614, Local0)
+ m600(arg0, 50, Local0, 0)
+
+ ShiftRight(s605, s614, Local0)
+ m600(arg0, 51, Local0, 0x1fcf96723aca14)
+ }
+
+ // ShiftRight, 32-bit
+ Method(m01e, 1)
+ {
+ // Conversion of the first operand
+
+ Store(ShiftRight(s604, 0), Local0)
+ m600(arg0, 0, Local0, 0xc179b3fe)
+
+ Store(ShiftRight(s604, 1), Local0)
+ m600(arg0, 1, Local0, 0x60bcd9ff)
+
+ Store(ShiftRight(s604, aui5), Local0)
+ m600(arg0, 2, Local0, 0xc179b3fe)
+
+ Store(ShiftRight(s604, aui6), Local0)
+ m600(arg0, 3, Local0, 0x60bcd9ff)
+
+ if (y078) {
+ Store(ShiftRight(s604, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xc179b3fe)
+
+ Store(ShiftRight(s604, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x60bcd9ff)
+ }
+
+ Store(ShiftRight(s604, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xc179b3fe)
+
+ Store(ShiftRight(s604, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x60bcd9ff)
+
+ // Method returns Integer
+
+ Store(ShiftRight(s604, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xc179b3fe)
+
+ Store(ShiftRight(s604, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x60bcd9ff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(s604, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xc179b3fe)
+
+ Store(ShiftRight(s604, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x60bcd9ff)
+ }
+
+ ShiftRight(s604, 0, Local0)
+ m600(arg0, 12, Local0, 0xc179b3fe)
+
+ ShiftRight(s604, 1, Local0)
+ m600(arg0, 13, Local0, 0x60bcd9ff)
+
+ ShiftRight(s604, aui5, Local0)
+ m600(arg0, 14, Local0, 0xc179b3fe)
+
+ ShiftRight(s604, aui6, Local0)
+ m600(arg0, 15, Local0, 0x60bcd9ff)
+
+ if (y078) {
+ ShiftRight(s604, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xc179b3fe)
+
+ ShiftRight(s604, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x60bcd9ff)
+ }
+
+ ShiftRight(s604, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xc179b3fe)
+
+ ShiftRight(s604, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x60bcd9ff)
+
+ // Method returns Integer
+
+ ShiftRight(s604, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xc179b3fe)
+
+ ShiftRight(s604, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x60bcd9ff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(s604, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xc179b3fe)
+
+ ShiftRight(s604, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x60bcd9ff)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftRight(0x321, s614), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftRight(0xc179b3fe, s614), Local0)
+ m600(arg0, 25, Local0, 0x182f36)
+
+ Store(ShiftRight(aui1, s614), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftRight(aui3, s614), Local0)
+ m600(arg0, 27, Local0, 0x182f36)
+
+ if (y078) {
+ Store(ShiftRight(Derefof(Refof(aui1)), s614), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftRight(Derefof(Refof(aui3)), s614), Local0)
+ m600(arg0, 29, Local0, 0x182f36)
+ }
+
+ Store(ShiftRight(Derefof(Index(paui, 1)), s614), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftRight(Derefof(Index(paui, 3)), s614), Local0)
+ m600(arg0, 31, Local0, 0x182f36)
+
+ // Method returns Integer
+
+ Store(ShiftRight(m601(1, 1), s614), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftRight(m601(1, 3), s614), Local0)
+ m600(arg0, 33, Local0, 0x182f36)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(Derefof(m602(1, 1, 1)), s614), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftRight(Derefof(m602(1, 3, 1)), s614), Local0)
+ m600(arg0, 35, Local0, 0x182f36)
+ }
+
+ ShiftRight(0x321, s614, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftRight(0xc179b3fe, s614, Local0)
+ m600(arg0, 37, Local0, 0x182f36)
+
+ ShiftRight(aui1, s614, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftRight(aui3, s614, Local0)
+ m600(arg0, 39, Local0, 0x182f36)
+
+ if (y078) {
+ ShiftRight(Derefof(Refof(aui1)), s614, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftRight(Derefof(Refof(aui3)), s614, Local0)
+ m600(arg0, 41, Local0, 0x182f36)
+ }
+
+ ShiftRight(Derefof(Index(paui, 1)), s614, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftRight(Derefof(Index(paui, 3)), s614, Local0)
+ m600(arg0, 43, Local0, 0x182f36)
+
+ // Method returns Integer
+
+ ShiftRight(m601(1, 1), s614, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftRight(m601(1, 3), s614, Local0)
+ m600(arg0, 45, Local0, 0x182f36)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(Derefof(m602(1, 1, 1)), s614, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftRight(Derefof(m602(1, 3, 1)), s614, Local0)
+ m600(arg0, 47, Local0, 0x182f36)
+ }
+
+ // Conversion of the both operands
+
+ Store(ShiftRight(s601, s614), Local0)
+ m600(arg0, 48, Local0, 0)
+
+ Store(ShiftRight(s604, s614), Local0)
+ m600(arg0, 49, Local0, 0x182f36)
+
+ ShiftRight(s601, s614, Local0)
+ m600(arg0, 50, Local0, 0)
+
+ ShiftRight(s604, s614, Local0)
+ m600(arg0, 51, Local0, 0x182f36)
+ }
+
+ // Subtract, common 32-bit/64-bit test
+ Method(m01f, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Subtract(s601, 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Subtract(s601, 1), Local0)
+ m600(arg0, 1, Local0, 0x320)
+
+ Store(Subtract(s601, aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Subtract(s601, aui6), Local0)
+ m600(arg0, 3, Local0, 0x320)
+
+ if (y078) {
+ Store(Subtract(s601, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Subtract(s601, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x320)
+ }
+
+ Store(Subtract(s601, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Subtract(s601, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x320)
+
+ // Method returns Integer
+
+ Store(Subtract(s601, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Subtract(s601, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x320)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(s601, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Subtract(s601, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x320)
+ }
+
+ Subtract(s601, 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Subtract(s601, 1, Local0)
+ m600(arg0, 13, Local0, 0x320)
+
+ Subtract(s601, aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Subtract(s601, aui6, Local0)
+ m600(arg0, 15, Local0, 0x320)
+
+ if (y078) {
+ Subtract(s601, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Subtract(s601, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x320)
+ }
+
+ Subtract(s601, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Subtract(s601, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x320)
+
+ // Method returns Integer
+
+ Subtract(s601, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Subtract(s601, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x320)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(s601, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Subtract(s601, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x320)
+ }
+
+ // Conversion of the second operand
+
+ Store(Subtract(0, s601), Local0)
+ m600(arg0, 24, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(1, s601), Local0)
+ m600(arg0, 25, Local0, 0xfffffffffffffce0)
+
+ Store(Subtract(aui5, s601), Local0)
+ m600(arg0, 26, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(aui6, s601), Local0)
+ m600(arg0, 27, Local0, 0xfffffffffffffce0)
+
+ if (y078) {
+ Store(Subtract(Derefof(Refof(aui5)), s601), Local0)
+ m600(arg0, 28, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(Derefof(Refof(aui6)), s601), Local0)
+ m600(arg0, 29, Local0, 0xfffffffffffffce0)
+ }
+
+ Store(Subtract(Derefof(Index(paui, 5)), s601), Local0)
+ m600(arg0, 30, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(Derefof(Index(paui, 6)), s601), Local0)
+ m600(arg0, 31, Local0, 0xfffffffffffffce0)
+
+ // Method returns Integer
+
+ Store(Subtract(m601(1, 5), s601), Local0)
+ m600(arg0, 32, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(m601(1, 6), s601), Local0)
+ m600(arg0, 33, Local0, 0xfffffffffffffce0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(Derefof(m602(1, 5, 1)), s601), Local0)
+ m600(arg0, 34, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(Derefof(m602(1, 6, 1)), s601), Local0)
+ m600(arg0, 35, Local0, 0xfffffffffffffce0)
+ }
+
+ Subtract(0, s601, Local0)
+ m600(arg0, 36, Local0, 0xfffffffffffffcdf)
+
+ Subtract(1, s601, Local0)
+ m600(arg0, 37, Local0, 0xfffffffffffffce0)
+
+ Subtract(aui5, s601, Local0)
+ m600(arg0, 38, Local0, 0xfffffffffffffcdf)
+
+ Subtract(aui6, s601, Local0)
+ m600(arg0, 39, Local0, 0xfffffffffffffce0)
+
+ if (y078) {
+ Subtract(Derefof(Refof(aui5)), s601, Local0)
+ m600(arg0, 40, Local0, 0xfffffffffffffcdf)
+
+ Subtract(Derefof(Refof(aui6)), s601, Local0)
+ m600(arg0, 41, Local0, 0xfffffffffffffce0)
+ }
+
+ Subtract(Derefof(Index(paui, 5)), s601, Local0)
+ m600(arg0, 42, Local0, 0xfffffffffffffcdf)
+
+ Subtract(Derefof(Index(paui, 6)), s601, Local0)
+ m600(arg0, 43, Local0, 0xfffffffffffffce0)
+
+ // Method returns Integer
+
+ Subtract(m601(1, 5), s601, Local0)
+ m600(arg0, 44, Local0, 0xfffffffffffffcdf)
+
+ Subtract(m601(1, 6), s601, Local0)
+ m600(arg0, 45, Local0, 0xfffffffffffffce0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(Derefof(m602(1, 5, 1)), s601, Local0)
+ m600(arg0, 46, Local0, 0xfffffffffffffcdf)
+
+ Subtract(Derefof(m602(1, 6, 1)), s601, Local0)
+ m600(arg0, 47, Local0, 0xfffffffffffffce0)
+ }
+ }
+
+ // Subtract, 64-bit
+ Method(m020, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Subtract(s605, 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(s605, 1), Local0)
+ m600(arg0, 1, Local0, 0xfe7cb391d650a283)
+
+ Store(Subtract(s605, aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(s605, aui6), Local0)
+ m600(arg0, 3, Local0, 0xfe7cb391d650a283)
+
+ if (y078) {
+ Store(Subtract(s605, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(s605, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xfe7cb391d650a283)
+ }
+
+ Store(Subtract(s605, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(s605, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Integer
+
+ Store(Subtract(s605, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(s605, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(s605, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(s605, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfe7cb391d650a283)
+ }
+
+ Subtract(s605, 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Subtract(s605, 1, Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a283)
+
+ Subtract(s605, aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Subtract(s605, aui6, Local0)
+ m600(arg0, 15, Local0, 0xfe7cb391d650a283)
+
+ if (y078) {
+ Subtract(s605, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Subtract(s605, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xfe7cb391d650a283)
+ }
+
+ Subtract(s605, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Subtract(s605, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Integer
+
+ Subtract(s605, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Subtract(s605, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(s605, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Subtract(s605, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfe7cb391d650a283)
+ }
+
+ // Conversion of the second operand
+
+ Store(Subtract(0, s605), Local0)
+ m600(arg0, 24, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(1, s605), Local0)
+ m600(arg0, 25, Local0, 0x01834c6e29af5d7d)
+
+ Store(Subtract(aui5, s605), Local0)
+ m600(arg0, 26, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(aui6, s605), Local0)
+ m600(arg0, 27, Local0, 0x01834c6e29af5d7d)
+
+ if (y078) {
+ Store(Subtract(Derefof(Refof(aui5)), s605), Local0)
+ m600(arg0, 28, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(Derefof(Refof(aui6)), s605), Local0)
+ m600(arg0, 29, Local0, 0x01834c6e29af5d7d)
+ }
+
+ Store(Subtract(Derefof(Index(paui, 5)), s605), Local0)
+ m600(arg0, 30, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(Derefof(Index(paui, 6)), s605), Local0)
+ m600(arg0, 31, Local0, 0x01834c6e29af5d7d)
+
+ // Method returns Integer
+
+ Store(Subtract(m601(1, 5), s605), Local0)
+ m600(arg0, 32, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(m601(1, 6), s605), Local0)
+ m600(arg0, 33, Local0, 0x01834c6e29af5d7d)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(Derefof(m602(1, 5, 1)), s605), Local0)
+ m600(arg0, 34, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(Derefof(m602(1, 6, 1)), s605), Local0)
+ m600(arg0, 35, Local0, 0x01834c6e29af5d7d)
+ }
+
+ Subtract(0, s605, Local0)
+ m600(arg0, 36, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(1, s605, Local0)
+ m600(arg0, 37, Local0, 0x01834c6e29af5d7d)
+
+ Subtract(aui5, s605, Local0)
+ m600(arg0, 38, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(aui6, s605, Local0)
+ m600(arg0, 39, Local0, 0x01834c6e29af5d7d)
+
+ if (y078) {
+ Subtract(Derefof(Refof(aui5)), s605, Local0)
+ m600(arg0, 40, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(Derefof(Refof(aui6)), s605, Local0)
+ m600(arg0, 41, Local0, 0x01834c6e29af5d7d)
+ }
+
+ Subtract(Derefof(Index(paui, 5)), s605, Local0)
+ m600(arg0, 42, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(Derefof(Index(paui, 6)), s605, Local0)
+ m600(arg0, 43, Local0, 0x01834c6e29af5d7d)
+
+ // Method returns Integer
+
+ Subtract(m601(1, 5), s605, Local0)
+ m600(arg0, 44, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(m601(1, 6), s605, Local0)
+ m600(arg0, 45, Local0, 0x01834c6e29af5d7d)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(Derefof(m602(1, 5, 1)), s605, Local0)
+ m600(arg0, 46, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(Derefof(m602(1, 6, 1)), s605, Local0)
+ m600(arg0, 47, Local0, 0x01834c6e29af5d7d)
+ }
+
+ // Conversion of the both operands
+
+ Store(Subtract(s601, s605), Local0)
+ m600(arg0, 48, Local0, 0x01834c6e29af609d)
+
+ Store(Subtract(s605, s601), Local0)
+ m600(arg0, 49, Local0, 0xfe7cb391d6509f63)
+
+ Subtract(s601, s605, Local0)
+ m600(arg0, 50, Local0, 0x01834c6e29af609d)
+
+ Subtract(s605, s601, Local0)
+ m600(arg0, 51, Local0, 0xfe7cb391d6509f63)
+ }
+
+ // Subtract, 32-bit
+ Method(m021, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Subtract(s604, 0), Local0)
+ m600(arg0, 0, Local0, 0xc179b3fe)
+
+ Store(Subtract(s604, 1), Local0)
+ m600(arg0, 1, Local0, 0xc179b3fd)
+
+ Store(Subtract(s604, aui5), Local0)
+ m600(arg0, 2, Local0, 0xc179b3fe)
+
+ Store(Subtract(s604, aui6), Local0)
+ m600(arg0, 3, Local0, 0xc179b3fd)
+
+ if (y078) {
+ Store(Subtract(s604, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xc179b3fe)
+
+ Store(Subtract(s604, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xc179b3fd)
+ }
+
+ Store(Subtract(s604, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xc179b3fe)
+
+ Store(Subtract(s604, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xc179b3fd)
+
+ // Method returns Integer
+
+ Store(Subtract(s604, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xc179b3fe)
+
+ Store(Subtract(s604, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xc179b3fd)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(s604, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xc179b3fe)
+
+ Store(Subtract(s604, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xc179b3fd)
+ }
+
+ Subtract(s604, 0, Local0)
+ m600(arg0, 12, Local0, 0xc179b3fe)
+
+ Subtract(s604, 1, Local0)
+ m600(arg0, 13, Local0, 0xc179b3fd)
+
+ Subtract(s604, aui5, Local0)
+ m600(arg0, 14, Local0, 0xc179b3fe)
+
+ Subtract(s604, aui6, Local0)
+ m600(arg0, 15, Local0, 0xc179b3fd)
+
+ if (y078) {
+ Subtract(s604, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xc179b3fe)
+
+ Subtract(s604, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xc179b3fd)
+ }
+
+ Subtract(s604, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xc179b3fe)
+
+ Subtract(s604, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xc179b3fd)
+
+ // Method returns Integer
+
+ Subtract(s604, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xc179b3fe)
+
+ Subtract(s604, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xc179b3fd)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(s604, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xc179b3fe)
+
+ Subtract(s604, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xc179b3fd)
+ }
+
+ // Conversion of the second operand
+
+ Store(Subtract(0, s604), Local0)
+ m600(arg0, 24, Local0, 0x3e864c02)
+
+ Store(Subtract(1, s604), Local0)
+ m600(arg0, 25, Local0, 0x3e864c03)
+
+ Store(Subtract(aui5, s604), Local0)
+ m600(arg0, 26, Local0, 0x3e864c02)
+
+ Store(Subtract(aui6, s604), Local0)
+ m600(arg0, 27, Local0, 0x3e864c03)
+
+ if (y078) {
+ Store(Subtract(Derefof(Refof(aui5)), s604), Local0)
+ m600(arg0, 28, Local0, 0x3e864c02)
+
+ Store(Subtract(Derefof(Refof(aui6)), s604), Local0)
+ m600(arg0, 29, Local0, 0x3e864c03)
+ }
+
+ Store(Subtract(Derefof(Index(paui, 5)), s604), Local0)
+ m600(arg0, 30, Local0, 0x3e864c02)
+
+ Store(Subtract(Derefof(Index(paui, 6)), s604), Local0)
+ m600(arg0, 31, Local0, 0x3e864c03)
+
+ // Method returns Integer
+
+ Store(Subtract(m601(1, 5), s604), Local0)
+ m600(arg0, 32, Local0, 0x3e864c02)
+
+ Store(Subtract(m601(1, 6), s604), Local0)
+ m600(arg0, 33, Local0, 0x3e864c03)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(Derefof(m602(1, 5, 1)), s604), Local0)
+ m600(arg0, 34, Local0, 0x3e864c02)
+
+ Store(Subtract(Derefof(m602(1, 6, 1)), s604), Local0)
+ m600(arg0, 35, Local0, 0x3e864c03)
+ }
+
+ Subtract(0, s604, Local0)
+ m600(arg0, 36, Local0, 0x3e864c02)
+
+ Subtract(1, s604, Local0)
+ m600(arg0, 37, Local0, 0x3e864c03)
+
+ Subtract(aui5, s604, Local0)
+ m600(arg0, 38, Local0, 0x3e864c02)
+
+ Subtract(aui6, s604, Local0)
+ m600(arg0, 39, Local0, 0x3e864c03)
+
+ if (y078) {
+ Subtract(Derefof(Refof(aui5)), s604, Local0)
+ m600(arg0, 40, Local0, 0x3e864c02)
+
+ Subtract(Derefof(Refof(aui6)), s604, Local0)
+ m600(arg0, 41, Local0, 0x3e864c03)
+ }
+
+ Subtract(Derefof(Index(paui, 5)), s604, Local0)
+ m600(arg0, 42, Local0, 0x3e864c02)
+
+ Subtract(Derefof(Index(paui, 6)), s604, Local0)
+ m600(arg0, 43, Local0, 0x3e864c03)
+
+ // Method returns Integer
+
+ Subtract(m601(1, 5), s604, Local0)
+ m600(arg0, 44, Local0, 0x3e864c02)
+
+ Subtract(m601(1, 6), s604, Local0)
+ m600(arg0, 45, Local0, 0x3e864c03)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(Derefof(m602(1, 5, 1)), s604, Local0)
+ m600(arg0, 46, Local0, 0x3e864c02)
+
+ Subtract(Derefof(m602(1, 6, 1)), s604, Local0)
+ m600(arg0, 47, Local0, 0x3e864c03)
+ }
+
+ // Conversion of the both operands
+
+ Store(Subtract(s601, s604), Local0)
+ m600(arg0, 48, Local0, 0x3e864f23)
+
+ Store(Subtract(s604, s601), Local0)
+ m600(arg0, 49, Local0, 0xc179b0dd)
+
+ Subtract(s601, s604, Local0)
+ m600(arg0, 50, Local0, 0x3e864f23)
+
+ Subtract(s604, s601, Local0)
+ m600(arg0, 51, Local0, 0xc179b0dd)
+ }
+
+ // XOr, common 32-bit/64-bit test
+ Method(m022, 1)
+ {
+ // Conversion of the first operand
+
+ Store(XOr(s601, 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(XOr(s601, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xfffffffffffffcde)
+
+ Store(XOr(s601, aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(XOr(s601, auij), Local0)
+ m600(arg0, 3, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ Store(XOr(s601, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(XOr(s601, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xfffffffffffffcde)
+ }
+
+ Store(XOr(s601, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(XOr(s601, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ Store(XOr(s601, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(XOr(s601, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(s601, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(XOr(s601, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfffffffffffffcde)
+ }
+
+ XOr(s601, 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ XOr(s601, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xfffffffffffffcde)
+
+ XOr(s601, aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ XOr(s601, auij, Local0)
+ m600(arg0, 15, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ XOr(s601, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ XOr(s601, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xfffffffffffffcde)
+ }
+
+ XOr(s601, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ XOr(s601, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ XOr(s601, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ XOr(s601, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(s601, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ XOr(s601, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfffffffffffffcde)
+ }
+
+ // Conversion of the second operand
+
+ Store(XOr(0, s601), Local0)
+ m600(arg0, 24, Local0, 0x321)
+
+ Store(XOr(0xffffffffffffffff, s601), Local0)
+ m600(arg0, 25, Local0, 0xfffffffffffffcde)
+
+ Store(XOr(aui5, s601), Local0)
+ m600(arg0, 26, Local0, 0x321)
+
+ Store(XOr(auij, s601), Local0)
+ m600(arg0, 27, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ Store(XOr(Derefof(Refof(aui5)), s601), Local0)
+ m600(arg0, 28, Local0, 0x321)
+
+ Store(XOr(Derefof(Refof(auij)), s601), Local0)
+ m600(arg0, 29, Local0, 0xfffffffffffffcde)
+ }
+
+ Store(XOr(Derefof(Index(paui, 5)), s601), Local0)
+ m600(arg0, 30, Local0, 0x321)
+
+ Store(XOr(Derefof(Index(paui, 19)), s601), Local0)
+ m600(arg0, 31, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ Store(XOr(m601(1, 5), s601), Local0)
+ m600(arg0, 32, Local0, 0x321)
+
+ Store(XOr(m601(1, 19), s601), Local0)
+ m600(arg0, 33, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(Derefof(m602(1, 5, 1)), s601), Local0)
+ m600(arg0, 34, Local0, 0x321)
+
+ Store(XOr(Derefof(m602(1, 19, 1)), s601), Local0)
+ m600(arg0, 35, Local0, 0xfffffffffffffcde)
+ }
+
+ XOr(0, s601, Local0)
+ m600(arg0, 36, Local0, 0x321)
+
+ XOr(0xffffffffffffffff, s601, Local0)
+ m600(arg0, 37, Local0, 0xfffffffffffffcde)
+
+ XOr(aui5, s601, Local0)
+ m600(arg0, 38, Local0, 0x321)
+
+ XOr(auij, s601, Local0)
+ m600(arg0, 39, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ XOr(Derefof(Refof(aui5)), s601, Local0)
+ m600(arg0, 40, Local0, 0x321)
+
+ XOr(Derefof(Refof(auij)), s601, Local0)
+ m600(arg0, 41, Local0, 0xfffffffffffffcde)
+ }
+
+ XOr(Derefof(Index(paui, 5)), s601, Local0)
+ m600(arg0, 42, Local0, 0x321)
+
+ XOr(Derefof(Index(paui, 19)), s601, Local0)
+ m600(arg0, 43, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ XOr(m601(1, 5), s601, Local0)
+ m600(arg0, 44, Local0, 0x321)
+
+ XOr(m601(1, 19), s601, Local0)
+ m600(arg0, 45, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(Derefof(m602(1, 5, 1)), s601, Local0)
+ m600(arg0, 46, Local0, 0x321)
+
+ XOr(Derefof(m602(1, 19, 1)), s601, Local0)
+ m600(arg0, 47, Local0, 0xfffffffffffffcde)
+ }
+ }
+
+ // XOr, 64-bit
+ Method(m023, 1)
+ {
+ // Conversion of the first operand
+
+ Store(XOr(s605, 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(s605, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0x01834c6e29af5d7b)
+
+ Store(XOr(s605, aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(s605, auij), Local0)
+ m600(arg0, 3, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ Store(XOr(s605, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(s605, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Store(XOr(s605, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(s605, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ Store(XOr(s605, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(s605, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(s605, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(s605, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0x01834c6e29af5d7b)
+ }
+
+ XOr(s605, 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ XOr(s605, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0x01834c6e29af5d7b)
+
+ XOr(s605, aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ XOr(s605, auij, Local0)
+ m600(arg0, 15, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ XOr(s605, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ XOr(s605, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0x01834c6e29af5d7b)
+ }
+
+ XOr(s605, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ XOr(s605, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ XOr(s605, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ XOr(s605, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(s605, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ XOr(s605, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0x01834c6e29af5d7b)
+ }
+
+ // Conversion of the second operand
+
+ Store(XOr(0, s605), Local0)
+ m600(arg0, 24, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(0xffffffffffffffff, s605), Local0)
+ m600(arg0, 25, Local0, 0x01834c6e29af5d7b)
+
+ Store(XOr(aui5, s605), Local0)
+ m600(arg0, 26, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(auij, s605), Local0)
+ m600(arg0, 27, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ Store(XOr(Derefof(Refof(aui5)), s605), Local0)
+ m600(arg0, 28, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(Refof(auij)), s605), Local0)
+ m600(arg0, 29, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Store(XOr(Derefof(Index(paui, 5)), s605), Local0)
+ m600(arg0, 30, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(Index(paui, 19)), s605), Local0)
+ m600(arg0, 31, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ Store(XOr(m601(1, 5), s605), Local0)
+ m600(arg0, 32, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(m601(1, 19), s605), Local0)
+ m600(arg0, 33, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(Derefof(m602(1, 5, 1)), s605), Local0)
+ m600(arg0, 34, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(m602(1, 19, 1)), s605), Local0)
+ m600(arg0, 35, Local0, 0x01834c6e29af5d7b)
+ }
+
+ XOr(0, s605, Local0)
+ m600(arg0, 36, Local0, 0xfe7cb391d650a284)
+
+ XOr(0xffffffffffffffff, s605, Local0)
+ m600(arg0, 37, Local0, 0x01834c6e29af5d7b)
+
+ XOr(aui5, s605, Local0)
+ m600(arg0, 38, Local0, 0xfe7cb391d650a284)
+
+ XOr(auij, s605, Local0)
+ m600(arg0, 39, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ XOr(Derefof(Refof(aui5)), s605, Local0)
+ m600(arg0, 40, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(Refof(auij)), s605, Local0)
+ m600(arg0, 41, Local0, 0x01834c6e29af5d7b)
+ }
+
+ XOr(Derefof(Index(paui, 5)), s605, Local0)
+ m600(arg0, 42, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(Index(paui, 19)), s605, Local0)
+ m600(arg0, 43, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ XOr(m601(1, 5), s605, Local0)
+ m600(arg0, 44, Local0, 0xfe7cb391d650a284)
+
+ XOr(m601(1, 19), s605, Local0)
+ m600(arg0, 45, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(Derefof(m602(1, 5, 1)), s605, Local0)
+ m600(arg0, 46, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(m602(1, 19, 1)), s605, Local0)
+ m600(arg0, 47, Local0, 0x01834c6e29af5d7b)
+ }
+
+ // Conversion of the both operands
+
+ Store(XOr(s601, s605), Local0)
+ m600(arg0, 48, Local0, 0xfe7cb391d650a1a5)
+
+ Store(XOr(s605, s601), Local0)
+ m600(arg0, 49, Local0, 0xfe7cb391d650a1a5)
+
+ XOr(s601, s605, Local0)
+ m600(arg0, 50, Local0, 0xfe7cb391d650a1a5)
+
+ XOr(s605, s601, Local0)
+ m600(arg0, 51, Local0, 0xfe7cb391d650a1a5)
+ }
+
+ // XOr, 32-bit
+ Method(m024, 1)
+ {
+ // Conversion of the first operand
+
+ Store(XOr(s604, 0), Local0)
+ m600(arg0, 0, Local0, 0xc179b3fe)
+
+ Store(XOr(s604, 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0x3e864c01)
+
+ Store(XOr(s604, aui5), Local0)
+ m600(arg0, 2, Local0, 0xc179b3fe)
+
+ Store(XOr(s604, auii), Local0)
+ m600(arg0, 3, Local0, 0x3e864c01)
+
+ if (y078) {
+ Store(XOr(s604, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xc179b3fe)
+
+ Store(XOr(s604, Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0x3e864c01)
+ }
+
+ Store(XOr(s604, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xc179b3fe)
+
+ Store(XOr(s604, Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0x3e864c01)
+
+ // Method returns Integer
+
+ Store(XOr(s604, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xc179b3fe)
+
+ Store(XOr(s604, m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0x3e864c01)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(s604, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xc179b3fe)
+
+ Store(XOr(s604, Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0x3e864c01)
+ }
+
+ XOr(s604, 0, Local0)
+ m600(arg0, 12, Local0, 0xc179b3fe)
+
+ XOr(s604, 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0x3e864c01)
+
+ XOr(s604, aui5, Local0)
+ m600(arg0, 14, Local0, 0xc179b3fe)
+
+ XOr(s604, auii, Local0)
+ m600(arg0, 15, Local0, 0x3e864c01)
+
+ if (y078) {
+ XOr(s604, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xc179b3fe)
+
+ XOr(s604, Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0x3e864c01)
+ }
+
+ XOr(s604, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xc179b3fe)
+
+ XOr(s604, Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0x3e864c01)
+
+ // Method returns Integer
+
+ XOr(s604, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xc179b3fe)
+
+ XOr(s604, m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0x3e864c01)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(s604, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xc179b3fe)
+
+ XOr(s604, Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0x3e864c01)
+ }
+
+ // Conversion of the second operand
+
+ Store(XOr(0, s604), Local0)
+ m600(arg0, 24, Local0, 0xc179b3fe)
+
+ Store(XOr(0xffffffff, s604), Local0)
+ m600(arg0, 25, Local0, 0x3e864c01)
+
+ Store(XOr(aui5, s604), Local0)
+ m600(arg0, 26, Local0, 0xc179b3fe)
+
+ Store(XOr(auii, s604), Local0)
+ m600(arg0, 27, Local0, 0x3e864c01)
+
+ if (y078) {
+ Store(XOr(Derefof(Refof(aui5)), s604), Local0)
+ m600(arg0, 28, Local0, 0xc179b3fe)
+
+ Store(XOr(Derefof(Refof(auii)), s604), Local0)
+ m600(arg0, 29, Local0, 0x3e864c01)
+ }
+
+ Store(XOr(Derefof(Index(paui, 5)), s604), Local0)
+ m600(arg0, 30, Local0, 0xc179b3fe)
+
+ Store(XOr(Derefof(Index(paui, 18)), s604), Local0)
+ m600(arg0, 31, Local0, 0x3e864c01)
+
+ // Method returns Integer
+
+ Store(XOr(m601(1, 5), s604), Local0)
+ m600(arg0, 32, Local0, 0xc179b3fe)
+
+ Store(XOr(m601(1, 18), s604), Local0)
+ m600(arg0, 33, Local0, 0x3e864c01)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(Derefof(m602(1, 5, 1)), s604), Local0)
+ m600(arg0, 34, Local0, 0xc179b3fe)
+
+ Store(XOr(Derefof(m602(1, 18, 1)), s604), Local0)
+ m600(arg0, 35, Local0, 0x3e864c01)
+ }
+
+ XOr(0, s604, Local0)
+ m600(arg0, 36, Local0, 0xc179b3fe)
+
+ XOr(0xffffffff, s604, Local0)
+ m600(arg0, 37, Local0, 0x3e864c01)
+
+ XOr(aui5, s604, Local0)
+ m600(arg0, 38, Local0, 0xc179b3fe)
+
+ XOr(auii, s604, Local0)
+ m600(arg0, 39, Local0, 0x3e864c01)
+
+ if (y078) {
+ XOr(Derefof(Refof(aui5)), s604, Local0)
+ m600(arg0, 40, Local0, 0xc179b3fe)
+
+ XOr(Derefof(Refof(auii)), s604, Local0)
+ m600(arg0, 41, Local0, 0x3e864c01)
+ }
+
+ XOr(Derefof(Index(paui, 5)), s604, Local0)
+ m600(arg0, 42, Local0, 0xc179b3fe)
+
+ XOr(Derefof(Index(paui, 18)), s604, Local0)
+ m600(arg0, 43, Local0, 0x3e864c01)
+
+ // Method returns Integer
+
+ XOr(m601(1, 5), s604, Local0)
+ m600(arg0, 44, Local0, 0xc179b3fe)
+
+ XOr(m601(1, 18), s604, Local0)
+ m600(arg0, 45, Local0, 0x3e864c01)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(Derefof(m602(1, 5, 1)), s604, Local0)
+ m600(arg0, 46, Local0, 0xc179b3fe)
+
+ XOr(Derefof(m602(1, 18, 1)), s604, Local0)
+ m600(arg0, 47, Local0, 0x3e864c01)
+ }
+
+ // Conversion of the both operands
+
+ Store(XOr(s601, s604), Local0)
+ m600(arg0, 48, Local0, 0xc179b0df)
+
+ Store(XOr(s604, s601), Local0)
+ m600(arg0, 49, Local0, 0xc179b0df)
+
+ XOr(s601, s604, Local0)
+ m600(arg0, 50, Local0, 0xc179b0df)
+
+ XOr(s604, s601, Local0)
+ m600(arg0, 51, Local0, 0xc179b0df)
+ }
+
+ // Add, And, Divide, Mod, Multiply, NAnd, NOr, Or,
+ // ShiftLeft, ShiftRight, Subtract, Xor
+
+ Method(m64d, 1)
+ {
+ // Add
+ Concatenate(arg0, "-m001", Local0)
+ SRMT(Local0)
+ m001(Local0)
+ Concatenate(arg0, "-m002", Local0)
+ SRMT(Local0)
+ m002(Local0)
+
+ // And
+ Concatenate(arg0, "-m004", Local0)
+ SRMT(Local0)
+ m004(Local0)
+ Concatenate(arg0, "-m005", Local0)
+ SRMT(Local0)
+ m005(Local0)
+
+ // Divide
+ Concatenate(arg0, "-m007", Local0)
+ SRMT(Local0)
+ m007(Local0)
+ Concatenate(arg0, "-m008", Local0)
+ SRMT(Local0)
+ m008(Local0)
+
+ // Mod
+ Concatenate(arg0, "-m00a", Local0)
+ SRMT(Local0)
+ m00a(Local0)
+ Concatenate(arg0, "-m00b", Local0)
+ SRMT(Local0)
+ m00b(Local0)
+
+ // Multiply
+ Concatenate(arg0, "-m00d", Local0)
+ SRMT(Local0)
+ m00d(Local0)
+ Concatenate(arg0, "-m00e", Local0)
+ SRMT(Local0)
+ m00e(Local0)
+
+ // NAnd
+ Concatenate(arg0, "-m010", Local0)
+ SRMT(Local0)
+ m010(Local0)
+ Concatenate(arg0, "-m011", Local0)
+ SRMT(Local0)
+ m011(Local0)
+
+ // NOr
+ Concatenate(arg0, "-m013", Local0)
+ SRMT(Local0)
+ m013(Local0)
+ Concatenate(arg0, "-m014", Local0)
+ SRMT(Local0)
+ m014(Local0)
+
+ // Or
+ Concatenate(arg0, "-m016", Local0)
+ SRMT(Local0)
+ m016(Local0)
+ Concatenate(arg0, "-m017", Local0)
+ SRMT(Local0)
+ m017(Local0)
+
+ // ShiftLeft
+ Concatenate(arg0, "-m019", Local0)
+ SRMT(Local0)
+ m019(Local0)
+ Concatenate(arg0, "-m01a", Local0)
+ SRMT(Local0)
+ m01a(Local0)
+
+ // ShiftRight
+ Concatenate(arg0, "-m01c", Local0)
+ SRMT(Local0)
+ m01c(Local0)
+ Concatenate(arg0, "-m01d", Local0)
+ SRMT(Local0)
+ m01d(Local0)
+
+ // Subtract
+ Concatenate(arg0, "-m01f", Local0)
+ SRMT(Local0)
+ m01f(Local0)
+ Concatenate(arg0, "-m020", Local0)
+ SRMT(Local0)
+ m020(Local0)
+
+ // XOr
+ Concatenate(arg0, "-m022", Local0)
+ SRMT(Local0)
+ m022(Local0)
+ Concatenate(arg0, "-m023", Local0)
+ SRMT(Local0)
+ m023(Local0)
+ }
+
+ Method(m32d, 1)
+ {
+ // Add
+ Concatenate(arg0, "-m001", Local0)
+ SRMT(Local0)
+ m001(Local0)
+ Concatenate(arg0, "-m003", Local0)
+ SRMT(Local0)
+ m003(Local0)
+
+ // And
+ Concatenate(arg0, "-m004", Local0)
+ SRMT(Local0)
+ m004(Local0)
+ Concatenate(arg0, "-m006", Local0)
+ SRMT(Local0)
+ m006(Local0)
+
+ // Divide
+ Concatenate(arg0, "-m007", Local0)
+ SRMT(Local0)
+ m007(Local0)
+ Concatenate(arg0, "-m009", Local0)
+ SRMT(Local0)
+ m009(Local0)
+
+ // Mod
+ Concatenate(arg0, "-m00a", Local0)
+ SRMT(Local0)
+ m00a(Local0)
+ Concatenate(arg0, "-m00c", Local0)
+ SRMT(Local0)
+ m00c(Local0)
+
+ // Multiply
+ Concatenate(arg0, "-m00d", Local0)
+ SRMT(Local0)
+ m00d(Local0)
+ Concatenate(arg0, "-m00f", Local0)
+ SRMT(Local0)
+ m00f(Local0)
+
+ // NAnd
+ Concatenate(arg0, "-m010", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m010(Local0)
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m012", Local0)
+ SRMT(Local0)
+ m012(Local0)
+
+ // NOr
+ Concatenate(arg0, "-m013", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m013(Local0)
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m015", Local0)
+ SRMT(Local0)
+ m015(Local0)
+
+ // Or
+ Concatenate(arg0, "-m016", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m016(Local0)
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m018", Local0)
+ SRMT(Local0)
+ m018(Local0)
+
+ // ShiftLeft
+ Concatenate(arg0, "-m019", Local0)
+ SRMT(Local0)
+ m019(Local0)
+ Concatenate(arg0, "-m01b", Local0)
+ SRMT(Local0)
+ m01b(Local0)
+
+ // ShiftRight
+ Concatenate(arg0, "-m01c", Local0)
+ SRMT(Local0)
+ m01c(Local0)
+ Concatenate(arg0, "-m01e", Local0)
+ SRMT(Local0)
+ m01e(Local0)
+
+ // Subtract
+ Concatenate(arg0, "-m01f", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m01f(Local0)
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m021", Local0)
+ SRMT(Local0)
+ m021(Local0)
+
+ // XOr
+ Concatenate(arg0, "-m022", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m022(Local0)
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m024", Local0)
+ SRMT(Local0)
+ m024(Local0)
+ }
+
+
+ // String to Integer conversion of each String operand
+ // of the 2-parameter Logical Integer operators LAnd and LOr
+
+ // LAnd, common 32-bit/64-bit test
+ Method(m025, 1)
+ {
+ // Conversion of the first operand
+
+ Store(LAnd(s601, 0), Local0)
+ m600(arg0, 0, Local0, Zero)
+
+ Store(LAnd(s601, 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(LAnd(s601, aui5), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LAnd(s601, aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(s601, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LAnd(s601, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(LAnd(s601, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Zero)
+
+ Store(LAnd(s601, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(s601, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Zero)
+
+ Store(LAnd(s601, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(s601, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LAnd(s601, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(LAnd(0, s601), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LAnd(1, s601), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LAnd(aui5, s601), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LAnd(aui6, s601), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(Derefof(Refof(aui5)), s601), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(aui6)), s601), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(LAnd(Derefof(Index(paui, 5)), s601), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LAnd(Derefof(Index(paui, 6)), s601), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(m601(1, 5), s601), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LAnd(m601(1, 6), s601), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(Derefof(m602(1, 5, 1)), s601), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LAnd(Derefof(m602(1, 6, 1)), s601), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+ }
+
+ // LAnd, 64-bit
+ Method(m026, 1)
+ {
+ // Conversion of the first operand
+
+ Store(LAnd(s605, 0), Local0)
+ m600(arg0, 0, Local0, Zero)
+
+ Store(LAnd(s605, 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(LAnd(s605, aui5), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LAnd(s605, aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(s605, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LAnd(s605, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(LAnd(s605, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Zero)
+
+ Store(LAnd(s605, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(s605, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Zero)
+
+ Store(LAnd(s605, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(s605, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LAnd(s605, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(LAnd(0, s605), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LAnd(1, s605), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LAnd(aui5, s605), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LAnd(aui6, s605), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(Derefof(Refof(aui5)), s605), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(aui6)), s605), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(LAnd(Derefof(Index(paui, 5)), s605), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LAnd(Derefof(Index(paui, 6)), s605), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(m601(1, 5), s605), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LAnd(m601(1, 6), s605), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(Derefof(m602(1, 5, 1)), s605), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LAnd(Derefof(m602(1, 6, 1)), s605), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+
+ // Conversion of the both operands
+
+ Store(LAnd(s601, s605), Local0)
+ m600(arg0, 24, Local0, Ones)
+
+ Store(LAnd(s605, s601), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // LAnd, 32-bit
+ Method(m027, 1)
+ {
+ // Conversion of the first operand
+
+ Store(LAnd(s604, 0), Local0)
+ m600(arg0, 0, Local0, Zero)
+
+ Store(LAnd(s604, 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(LAnd(s604, aui5), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LAnd(s604, aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(s604, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LAnd(s604, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(LAnd(s604, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Zero)
+
+ Store(LAnd(s604, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(s604, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Zero)
+
+ Store(LAnd(s604, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(s604, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LAnd(s604, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(LAnd(0, s604), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LAnd(1, s604), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LAnd(aui5, s604), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LAnd(aui6, s604), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(Derefof(Refof(aui5)), s604), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(aui6)), s604), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(LAnd(Derefof(Index(paui, 5)), s604), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LAnd(Derefof(Index(paui, 6)), s604), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(m601(1, 5), s604), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LAnd(m601(1, 6), s604), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(Derefof(m602(1, 5, 1)), s604), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LAnd(Derefof(m602(1, 6, 1)), s604), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+
+ // Conversion of the both operands
+
+ Store(LAnd(s601, s604), Local0)
+ m600(arg0, 24, Local0, Ones)
+
+ Store(LAnd(s604, s601), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // Lor, common 32-bit/64-bit test
+ Method(m028, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Lor(s600, 0), Local0)
+ m600(arg0, 0, Local0, Zero)
+
+ Store(Lor(s600, 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(Lor(s600, aui5), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(Lor(s600, aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(s600, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(Lor(s600, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(Lor(s600, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Zero)
+
+ Store(Lor(s600, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(s600, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Zero)
+
+ Store(Lor(s600, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(s600, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(Lor(s600, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(Lor(0, s600), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(Lor(1, s600), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(Lor(aui5, s600), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(Lor(aui6, s600), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(Derefof(Refof(aui5)), s600), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(Lor(Derefof(Refof(aui6)), s600), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(Lor(Derefof(Index(paui, 5)), s600), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(Lor(Derefof(Index(paui, 6)), s600), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(m601(1, 5), s600), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(Lor(m601(1, 6), s600), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(Derefof(m602(1, 5, 1)), s600), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(Lor(Derefof(m602(1, 6, 1)), s600), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+ }
+
+ // Lor, 64-bit
+ Method(m029, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Lor(s605, 0), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(Lor(s605, 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(Lor(s605, aui5), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(Lor(s605, aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(s605, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(Lor(s605, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(Lor(s605, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(Lor(s605, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(s605, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(Lor(s605, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(s605, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(Lor(s605, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(Lor(0, s605), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(Lor(1, s605), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(Lor(aui5, s605), Local0)
+ m600(arg0, 14, Local0, Ones)
+
+ Store(Lor(aui6, s605), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(Derefof(Refof(aui5)), s605), Local0)
+ m600(arg0, 16, Local0, Ones)
+
+ Store(Lor(Derefof(Refof(aui6)), s605), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(Lor(Derefof(Index(paui, 5)), s605), Local0)
+ m600(arg0, 18, Local0, Ones)
+
+ Store(Lor(Derefof(Index(paui, 6)), s605), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(m601(1, 5), s605), Local0)
+ m600(arg0, 20, Local0, Ones)
+
+ Store(Lor(m601(1, 6), s605), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(Derefof(m602(1, 5, 1)), s605), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(Lor(Derefof(m602(1, 6, 1)), s605), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+
+ // Conversion of the both operands
+
+ Store(Lor(s600, s605), Local0)
+ m600(arg0, 24, Local0, Ones)
+
+ Store(Lor(s605, s600), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // Lor, 32-bit
+ Method(m02a, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Lor(s604, 0), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(Lor(s604, 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(Lor(s604, aui5), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(Lor(s604, aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(s604, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(Lor(s604, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(Lor(s604, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(Lor(s604, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(s604, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(Lor(s604, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(s604, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(Lor(s604, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(Lor(0, s604), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(Lor(1, s604), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(Lor(aui5, s604), Local0)
+ m600(arg0, 14, Local0, Ones)
+
+ Store(Lor(aui6, s604), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(Derefof(Refof(aui5)), s604), Local0)
+ m600(arg0, 16, Local0, Ones)
+
+ Store(Lor(Derefof(Refof(aui6)), s604), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(Lor(Derefof(Index(paui, 5)), s604), Local0)
+ m600(arg0, 18, Local0, Ones)
+
+ Store(Lor(Derefof(Index(paui, 6)), s604), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(m601(1, 5), s604), Local0)
+ m600(arg0, 20, Local0, Ones)
+
+ Store(Lor(m601(1, 6), s604), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(Derefof(m602(1, 5, 1)), s604), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(Lor(Derefof(m602(1, 6, 1)), s604), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+
+ // Conversion of the both operands
+
+ Store(Lor(s600, s604), Local0)
+ m600(arg0, 24, Local0, Ones)
+
+ Store(Lor(s604, s600), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ Method(m64e, 1)
+ {
+ // LAnd
+ Concatenate(arg0, "-m025", Local0)
+ SRMT(Local0)
+ m025(Local0)
+ Concatenate(arg0, "-m026", Local0)
+ SRMT(Local0)
+ m026(Local0)
+
+ // LOr
+ Concatenate(arg0, "-m028", Local0)
+ SRMT(Local0)
+ m028(Local0)
+ Concatenate(arg0, "-m029", Local0)
+ SRMT(Local0)
+ m029(Local0)
+ }
+
+ Method(m32e, 1)
+ {
+ // LAnd
+ Concatenate(arg0, "-m025", Local0)
+ SRMT(Local0)
+ m025(Local0)
+ Concatenate(arg0, "-m027", Local0)
+ SRMT(Local0)
+ m027(Local0)
+
+ // LOr
+ Concatenate(arg0, "-m028", Local0)
+ SRMT(Local0)
+ m028(Local0)
+ Concatenate(arg0, "-m02a", Local0)
+ SRMT(Local0)
+ m02a(Local0)
+ }
+
+
+ // String to Integer conversion of the String second operand of
+ // Logical operators when the first operand is evaluated as Integer
+ // (LEqual, LGreater, LGreaterEqual, LLess, LLessEqual, LNotEqual)
+
+ Method(m64f, 1)
+ {
+ // LEqual
+
+ Store(LEqual(0xfe7cb391d650a284, s605), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual(0xfe7cb391d650a285, s605), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(0xfe7cb391d650a283, s605), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LEqual(aui4, s605), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ Store(LEqual(auid, s605), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LEqual(auif, s605), Local0)
+ m600(arg0, 5, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aui4)), s605), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(auid)), s605), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ Store(LEqual(Derefof(Refof(auif)), s605), Local0)
+ m600(arg0, 8, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paui, 4)), s605), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paui, 13)), s605), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LEqual(Derefof(Index(paui, 15)), s605), Local0)
+ m600(arg0, 11, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LEqual(m601(1, 4), s605), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(LEqual(m601(1, 13), s605), Local0)
+ m600(arg0, 13, Local0, Zero)
+
+ Store(LEqual(m601(1, 15), s605), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(1, 4, 1)), s605), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(1, 13, 1)), s605), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LEqual(Derefof(m602(1, 15, 1)), s605), Local0)
+ m600(arg0, 17, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater(0xfe7cb391d650a284, s605), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(0xfe7cb391d650a285, s605), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ Store(LGreater(0xfe7cb391d650a283, s605), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(aui4, s605), Local0)
+ m600(arg0, 21, Local0, Zero)
+
+ Store(LGreater(auid, s605), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(LGreater(auif, s605), Local0)
+ m600(arg0, 23, Local0, Zero)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aui4)), s605), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(auid)), s605), Local0)
+ m600(arg0, 25, Local0, Ones)
+
+ Store(LGreater(Derefof(Refof(auif)), s605), Local0)
+ m600(arg0, 26, Local0, Zero)
+ }
+
+ Store(LGreater(Derefof(Index(paui, 4)), s605), Local0)
+ m600(arg0, 27, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paui, 13)), s605), Local0)
+ m600(arg0, 28, Local0, Ones)
+
+ Store(LGreater(Derefof(Index(paui, 15)), s605), Local0)
+ m600(arg0, 29, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreater(m601(1, 4), s605), Local0)
+ m600(arg0, 30, Local0, Zero)
+
+ Store(LGreater(m601(1, 13), s605), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ Store(LGreater(m601(1, 15), s605), Local0)
+ m600(arg0, 32, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(1, 4, 1)), s605), Local0)
+ m600(arg0, 33, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(1, 13, 1)), s605), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreater(Derefof(m602(1, 15, 1)), s605), Local0)
+ m600(arg0, 35, Local0, Zero)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual(0xfe7cb391d650a284, s605), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(0xfe7cb391d650a285, s605), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ Store(LGreaterEqual(0xfe7cb391d650a283, s605), Local0)
+ m600(arg0, 38, Local0, Zero)
+
+ Store(LGreaterEqual(aui4, s605), Local0)
+ m600(arg0, 39, Local0, Ones)
+
+ Store(LGreaterEqual(auid, s605), Local0)
+ m600(arg0, 40, Local0, Ones)
+
+ Store(LGreaterEqual(auif, s605), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aui4)), s605), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auid)), s605), Local0)
+ m600(arg0, 43, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auif)), s605), Local0)
+ m600(arg0, 44, Local0, Zero)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paui, 4)), s605), Local0)
+ m600(arg0, 45, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 13)), s605), Local0)
+ m600(arg0, 46, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 15)), s605), Local0)
+ m600(arg0, 47, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreaterEqual(m601(1, 4), s605), Local0)
+ m600(arg0, 48, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 13), s605), Local0)
+ m600(arg0, 49, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 15), s605), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(1, 4, 1)), s605), Local0)
+ m600(arg0, 51, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 13, 1)), s605), Local0)
+ m600(arg0, 52, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 15, 1)), s605), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLess
+
+ Store(LLess(0xfe7cb391d650a284, s605), Local0)
+ m600(arg0, 54, Local0, Zero)
+
+ Store(LLess(0xfe7cb391d650a285, s605), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLess(0xfe7cb391d650a283, s605), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLess(aui4, s605), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLess(auid, s605), Local0)
+ m600(arg0, 58, Local0, Zero)
+
+ Store(LLess(auif, s605), Local0)
+ m600(arg0, 59, Local0, Ones)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aui4)), s605), Local0)
+ m600(arg0, 60, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auid)), s605), Local0)
+ m600(arg0, 61, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auif)), s605), Local0)
+ m600(arg0, 62, Local0, Ones)
+ }
+
+ Store(LLess(Derefof(Index(paui, 4)), s605), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 13)), s605), Local0)
+ m600(arg0, 64, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 15)), s605), Local0)
+ m600(arg0, 65, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLess(m601(1, 4), s605), Local0)
+ m600(arg0, 66, Local0, Zero)
+
+ Store(LLess(m601(1, 13), s605), Local0)
+ m600(arg0, 67, Local0, Zero)
+
+ Store(LLess(m601(1, 15), s605), Local0)
+ m600(arg0, 68, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLess(Derefof(m602(1, 4, 1)), s605), Local0)
+ m600(arg0, 69, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 13, 1)), s605), Local0)
+ m600(arg0, 70, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 15, 1)), s605), Local0)
+ m600(arg0, 71, Local0, Ones)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual(0xfe7cb391d650a284, s605), Local0)
+ m600(arg0, 72, Local0, Ones)
+
+ Store(LLessEqual(0xfe7cb391d650a285, s605), Local0)
+ m600(arg0, 73, Local0, Zero)
+
+ Store(LLessEqual(0xfe7cb391d650a283, s605), Local0)
+ m600(arg0, 74, Local0, Ones)
+
+ Store(LLessEqual(aui4, s605), Local0)
+ m600(arg0, 75, Local0, Ones)
+
+ Store(LLessEqual(auid, s605), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LLessEqual(auif, s605), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aui4)), s605), Local0)
+ m600(arg0, 78, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(auid)), s605), Local0)
+ m600(arg0, 79, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Refof(auif)), s605), Local0)
+ m600(arg0, 80, Local0, Ones)
+ }
+
+ Store(LLessEqual(Derefof(Index(paui, 4)), s605), Local0)
+ m600(arg0, 81, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paui, 13)), s605), Local0)
+ m600(arg0, 82, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Index(paui, 15)), s605), Local0)
+ m600(arg0, 83, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLessEqual(m601(1, 4), s605), Local0)
+ m600(arg0, 84, Local0, Ones)
+
+ Store(LLessEqual(m601(1, 13), s605), Local0)
+ m600(arg0, 85, Local0, Zero)
+
+ Store(LLessEqual(m601(1, 15), s605), Local0)
+ m600(arg0, 86, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(1, 4, 1)), s605), Local0)
+ m600(arg0, 87, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(1, 13, 1)), s605), Local0)
+ m600(arg0, 88, Local0, Zero)
+
+ Store(LLessEqual(Derefof(m602(1, 15, 1)), s605), Local0)
+ m600(arg0, 89, Local0, Ones)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual(0xfe7cb391d650a284, s605), Local0)
+ m600(arg0, 90, Local0, Zero)
+
+ Store(LNotEqual(0xfe7cb391d650a285, s605), Local0)
+ m600(arg0, 91, Local0, Ones)
+
+ Store(LNotEqual(0xfe7cb391d650a283, s605), Local0)
+ m600(arg0, 92, Local0, Ones)
+
+ Store(LNotEqual(aui4, s605), Local0)
+ m600(arg0, 93, Local0, Zero)
+
+ Store(LNotEqual(auid, s605), Local0)
+ m600(arg0, 94, Local0, Ones)
+
+ Store(LNotEqual(auif, s605), Local0)
+ m600(arg0, 95, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aui4)), s605), Local0)
+ m600(arg0, 96, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(auid)), s605), Local0)
+ m600(arg0, 97, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Refof(auif)), s605), Local0)
+ m600(arg0, 98, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paui, 4)), s605), Local0)
+ m600(arg0, 99, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paui, 13)), s605), Local0)
+ m600(arg0, 100, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Index(paui, 15)), s605), Local0)
+ m600(arg0, 101, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LNotEqual(m601(1, 4), s605), Local0)
+ m600(arg0, 102, Local0, Zero)
+
+ Store(LNotEqual(m601(1, 13), s605), Local0)
+ m600(arg0, 103, Local0, Ones)
+
+ Store(LNotEqual(m601(1, 15), s605), Local0)
+ m600(arg0, 104, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(1, 4, 1)), s605), Local0)
+ m600(arg0, 105, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(1, 13, 1)), s605), Local0)
+ m600(arg0, 106, Local0, Ones)
+
+ Store(LNotEqual(Derefof(m602(1, 15, 1)), s605), Local0)
+ m600(arg0, 107, Local0, Ones)
+ }
+ }
+
+ Method(m32f, 1)
+ {
+ // LEqual
+
+ Store(LEqual(0xc179b3fe, s604), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual(0xc179b3ff, s604), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(0xc179b3fd, s604), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LEqual(aui3, s604), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ Store(LEqual(auic, s604), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LEqual(auie, s604), Local0)
+ m600(arg0, 5, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aui3)), s604), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(auic)), s604), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ Store(LEqual(Derefof(Refof(auie)), s604), Local0)
+ m600(arg0, 8, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paui, 3)), s604), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paui, 12)), s604), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LEqual(Derefof(Index(paui, 14)), s604), Local0)
+ m600(arg0, 11, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LEqual(m601(1, 3), s604), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(LEqual(m601(1, 12), s604), Local0)
+ m600(arg0, 13, Local0, Zero)
+
+ Store(LEqual(m601(1, 14), s604), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(1, 3, 1)), s604), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(1, 12, 1)), s604), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LEqual(Derefof(m602(1, 14, 1)), s604), Local0)
+ m600(arg0, 17, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater(0xc179b3fe, s604), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(0xc179b3ff, s604), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ Store(LGreater(0xc179b3fd, s604), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(aui3, s604), Local0)
+ m600(arg0, 21, Local0, Zero)
+
+ Store(LGreater(auic, s604), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(LGreater(auie, s604), Local0)
+ m600(arg0, 23, Local0, Zero)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aui3)), s604), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(auic)), s604), Local0)
+ m600(arg0, 25, Local0, Ones)
+
+ Store(LGreater(Derefof(Refof(auie)), s604), Local0)
+ m600(arg0, 26, Local0, Zero)
+ }
+
+ Store(LGreater(Derefof(Index(paui, 3)), s604), Local0)
+ m600(arg0, 27, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paui, 12)), s604), Local0)
+ m600(arg0, 28, Local0, Ones)
+
+ Store(LGreater(Derefof(Index(paui, 14)), s604), Local0)
+ m600(arg0, 29, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreater(m601(1, 3), s604), Local0)
+ m600(arg0, 30, Local0, Zero)
+
+ Store(LGreater(m601(1, 12), s604), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ Store(LGreater(m601(1, 14), s604), Local0)
+ m600(arg0, 32, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(1, 3, 1)), s604), Local0)
+ m600(arg0, 33, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(1, 12, 1)), s604), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreater(Derefof(m602(1, 14, 1)), s604), Local0)
+ m600(arg0, 35, Local0, Zero)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual(0xc179b3fe, s604), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(0xc179b3ff, s604), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ Store(LGreaterEqual(0xc179b3fd, s604), Local0)
+ m600(arg0, 38, Local0, Zero)
+
+ Store(LGreaterEqual(aui3, s604), Local0)
+ m600(arg0, 39, Local0, Ones)
+
+ Store(LGreaterEqual(auic, s604), Local0)
+ m600(arg0, 40, Local0, Ones)
+
+ Store(LGreaterEqual(auie, s604), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aui3)), s604), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auic)), s604), Local0)
+ m600(arg0, 43, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auie)), s604), Local0)
+ m600(arg0, 44, Local0, Zero)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paui, 3)), s604), Local0)
+ m600(arg0, 45, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 12)), s604), Local0)
+ m600(arg0, 46, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 14)), s604), Local0)
+ m600(arg0, 47, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreaterEqual(m601(1, 3), s604), Local0)
+ m600(arg0, 48, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 12), s604), Local0)
+ m600(arg0, 49, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 14), s604), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(1, 3, 1)), s604), Local0)
+ m600(arg0, 51, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 12, 1)), s604), Local0)
+ m600(arg0, 52, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 14, 1)), s604), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLess
+
+ Store(LLess(0xc179b3fe, s604), Local0)
+ m600(arg0, 54, Local0, Zero)
+
+ Store(LLess(0xc179b3ff, s604), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLess(0xc179b3fd, s604), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLess(aui3, s604), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLess(auic, s604), Local0)
+ m600(arg0, 58, Local0, Zero)
+
+ Store(LLess(auie, s604), Local0)
+ m600(arg0, 59, Local0, Ones)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aui3)), s604), Local0)
+ m600(arg0, 60, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auic)), s604), Local0)
+ m600(arg0, 61, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auie)), s604), Local0)
+ m600(arg0, 62, Local0, Ones)
+ }
+
+ Store(LLess(Derefof(Index(paui, 3)), s604), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 12)), s604), Local0)
+ m600(arg0, 64, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 14)), s604), Local0)
+ m600(arg0, 65, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLess(m601(1, 3), s604), Local0)
+ m600(arg0, 66, Local0, Zero)
+
+ Store(LLess(m601(1, 12), s604), Local0)
+ m600(arg0, 67, Local0, Zero)
+
+ Store(LLess(m601(1, 14), s604), Local0)
+ m600(arg0, 68, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLess(Derefof(m602(1, 3, 1)), s604), Local0)
+ m600(arg0, 69, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 12, 1)), s604), Local0)
+ m600(arg0, 70, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 14, 1)), s604), Local0)
+ m600(arg0, 71, Local0, Ones)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual(0xc179b3fe, s604), Local0)
+ m600(arg0, 72, Local0, Ones)
+
+ Store(LLessEqual(0xc179b3ff, s604), Local0)
+ m600(arg0, 73, Local0, Zero)
+
+ Store(LLessEqual(0xc179b3fd, s604), Local0)
+ m600(arg0, 74, Local0, Ones)
+
+ Store(LLessEqual(aui3, s604), Local0)
+ m600(arg0, 75, Local0, Ones)
+
+ Store(LLessEqual(auic, s604), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LLessEqual(auie, s604), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aui3)), s604), Local0)
+ m600(arg0, 78, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(auic)), s604), Local0)
+ m600(arg0, 79, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Refof(auie)), s604), Local0)
+ m600(arg0, 80, Local0, Ones)
+ }
+
+ Store(LLessEqual(Derefof(Index(paui, 3)), s604), Local0)
+ m600(arg0, 81, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paui, 12)), s604), Local0)
+ m600(arg0, 82, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Index(paui, 14)), s604), Local0)
+ m600(arg0, 83, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLessEqual(m601(1, 3), s604), Local0)
+ m600(arg0, 84, Local0, Ones)
+
+ Store(LLessEqual(m601(1, 12), s604), Local0)
+ m600(arg0, 85, Local0, Zero)
+
+ Store(LLessEqual(m601(1, 14), s604), Local0)
+ m600(arg0, 86, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(1, 3, 1)), s604), Local0)
+ m600(arg0, 87, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(1, 12, 1)), s604), Local0)
+ m600(arg0, 88, Local0, Zero)
+
+ Store(LLessEqual(Derefof(m602(1, 14, 1)), s604), Local0)
+ m600(arg0, 89, Local0, Ones)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual(0xc179b3fe, s604), Local0)
+ m600(arg0, 90, Local0, Zero)
+
+ Store(LNotEqual(0xc179b3ff, s604), Local0)
+ m600(arg0, 91, Local0, Ones)
+
+ Store(LNotEqual(0xc179b3fd, s604), Local0)
+ m600(arg0, 92, Local0, Ones)
+
+ Store(LNotEqual(aui3, s604), Local0)
+ m600(arg0, 93, Local0, Zero)
+
+ Store(LNotEqual(auic, s604), Local0)
+ m600(arg0, 94, Local0, Ones)
+
+ Store(LNotEqual(auie, s604), Local0)
+ m600(arg0, 95, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aui3)), s604), Local0)
+ m600(arg0, 96, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(auic)), s604), Local0)
+ m600(arg0, 97, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Refof(auie)), s604), Local0)
+ m600(arg0, 98, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paui, 3)), s604), Local0)
+ m600(arg0, 99, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paui, 12)), s604), Local0)
+ m600(arg0, 100, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Index(paui, 14)), s604), Local0)
+ m600(arg0, 101, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LNotEqual(m601(1, 3), s604), Local0)
+ m600(arg0, 102, Local0, Zero)
+
+ Store(LNotEqual(m601(1, 12), s604), Local0)
+ m600(arg0, 103, Local0, Ones)
+
+ Store(LNotEqual(m601(1, 14), s604), Local0)
+ m600(arg0, 104, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(1, 3, 1)), s604), Local0)
+ m600(arg0, 105, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(1, 12, 1)), s604), Local0)
+ m600(arg0, 106, Local0, Ones)
+
+ Store(LNotEqual(Derefof(m602(1, 14, 1)), s604), Local0)
+ m600(arg0, 107, Local0, Ones)
+ }
+ }
+
+ Method(m02b, 1)
+ {
+ // LEqual
+
+ Store(LEqual(0x321, s601), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual(0x322, s601), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(0x320, s601), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LEqual(aui1, s601), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ Store(LEqual(auig, s601), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LEqual(auih, s601), Local0)
+ m600(arg0, 5, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aui1)), s601), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(auig)), s601), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ Store(LEqual(Derefof(Refof(auih)), s601), Local0)
+ m600(arg0, 8, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paui, 1)), s601), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paui, 16)), s601), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LEqual(Derefof(Index(paui, 17)), s601), Local0)
+ m600(arg0, 11, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LEqual(m601(1, 1), s601), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(LEqual(m601(1, 16), s601), Local0)
+ m600(arg0, 13, Local0, Zero)
+
+ Store(LEqual(m601(1, 17), s601), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(1, 1, 1)), s601), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(1, 16, 1)), s601), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LEqual(Derefof(m602(1, 17, 1)), s601), Local0)
+ m600(arg0, 17, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater(0x321, s601), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(0x322, s601), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ Store(LGreater(0x320, s601), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(aui1, s601), Local0)
+ m600(arg0, 21, Local0, Zero)
+
+ Store(LGreater(auig, s601), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(LGreater(auih, s601), Local0)
+ m600(arg0, 23, Local0, Zero)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aui1)), s601), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(auig)), s601), Local0)
+ m600(arg0, 25, Local0, Ones)
+
+ Store(LGreater(Derefof(Refof(auih)), s601), Local0)
+ m600(arg0, 26, Local0, Zero)
+ }
+
+ Store(LGreater(Derefof(Index(paui, 1)), s601), Local0)
+ m600(arg0, 27, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paui, 16)), s601), Local0)
+ m600(arg0, 28, Local0, Ones)
+
+ Store(LGreater(Derefof(Index(paui, 17)), s601), Local0)
+ m600(arg0, 29, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreater(m601(1, 1), s601), Local0)
+ m600(arg0, 30, Local0, Zero)
+
+ Store(LGreater(m601(1, 16), s601), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ Store(LGreater(m601(1, 17), s601), Local0)
+ m600(arg0, 32, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(1, 1, 1)), s601), Local0)
+ m600(arg0, 33, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(1, 16, 1)), s601), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreater(Derefof(m602(1, 17, 1)), s601), Local0)
+ m600(arg0, 35, Local0, Zero)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual(0x321, s601), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(0x322, s601), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ Store(LGreaterEqual(0x320, s601), Local0)
+ m600(arg0, 38, Local0, Zero)
+
+ Store(LGreaterEqual(aui1, s601), Local0)
+ m600(arg0, 39, Local0, Ones)
+
+ Store(LGreaterEqual(auig, s601), Local0)
+ m600(arg0, 40, Local0, Ones)
+
+ Store(LGreaterEqual(auih, s601), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aui1)), s601), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auig)), s601), Local0)
+ m600(arg0, 43, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auih)), s601), Local0)
+ m600(arg0, 44, Local0, Zero)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paui, 1)), s601), Local0)
+ m600(arg0, 45, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 16)), s601), Local0)
+ m600(arg0, 46, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 17)), s601), Local0)
+ m600(arg0, 47, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreaterEqual(m601(1, 1), s601), Local0)
+ m600(arg0, 48, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 16), s601), Local0)
+ m600(arg0, 49, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 17), s601), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(1, 1, 1)), s601), Local0)
+ m600(arg0, 51, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 16, 1)), s601), Local0)
+ m600(arg0, 52, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 17, 1)), s601), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLess
+
+ Store(LLess(0x321, s601), Local0)
+ m600(arg0, 54, Local0, Zero)
+
+ Store(LLess(0x322, s601), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLess(0x320, s601), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLess(aui1, s601), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLess(auig, s601), Local0)
+ m600(arg0, 58, Local0, Zero)
+
+ Store(LLess(auih, s601), Local0)
+ m600(arg0, 59, Local0, Ones)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aui1)), s601), Local0)
+ m600(arg0, 60, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auig)), s601), Local0)
+ m600(arg0, 61, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auih)), s601), Local0)
+ m600(arg0, 62, Local0, Ones)
+ }
+
+ Store(LLess(Derefof(Index(paui, 1)), s601), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 16)), s601), Local0)
+ m600(arg0, 64, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 17)), s601), Local0)
+ m600(arg0, 65, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLess(m601(1, 1), s601), Local0)
+ m600(arg0, 66, Local0, Zero)
+
+ Store(LLess(m601(1, 16), s601), Local0)
+ m600(arg0, 67, Local0, Zero)
+
+ Store(LLess(m601(1, 17), s601), Local0)
+ m600(arg0, 68, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLess(Derefof(m602(1, 1, 1)), s601), Local0)
+ m600(arg0, 69, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 16, 1)), s601), Local0)
+ m600(arg0, 70, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 17, 1)), s601), Local0)
+ m600(arg0, 71, Local0, Ones)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual(0x321, s601), Local0)
+ m600(arg0, 72, Local0, Ones)
+
+ Store(LLessEqual(0x322, s601), Local0)
+ m600(arg0, 73, Local0, Zero)
+
+ Store(LLessEqual(0x320, s601), Local0)
+ m600(arg0, 74, Local0, Ones)
+
+ Store(LLessEqual(aui1, s601), Local0)
+ m600(arg0, 75, Local0, Ones)
+
+ Store(LLessEqual(auig, s601), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LLessEqual(auih, s601), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aui1)), s601), Local0)
+ m600(arg0, 78, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(auig)), s601), Local0)
+ m600(arg0, 79, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Refof(auih)), s601), Local0)
+ m600(arg0, 80, Local0, Ones)
+ }
+
+ Store(LLessEqual(Derefof(Index(paui, 1)), s601), Local0)
+ m600(arg0, 81, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paui, 16)), s601), Local0)
+ m600(arg0, 82, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Index(paui, 17)), s601), Local0)
+ m600(arg0, 83, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLessEqual(m601(1, 1), s601), Local0)
+ m600(arg0, 84, Local0, Ones)
+
+ Store(LLessEqual(m601(1, 16), s601), Local0)
+ m600(arg0, 85, Local0, Zero)
+
+ Store(LLessEqual(m601(1, 17), s601), Local0)
+ m600(arg0, 86, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(1, 1, 1)), s601), Local0)
+ m600(arg0, 87, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(1, 16, 1)), s601), Local0)
+ m600(arg0, 88, Local0, Zero)
+
+ Store(LLessEqual(Derefof(m602(1, 17, 1)), s601), Local0)
+ m600(arg0, 89, Local0, Ones)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual(0x321, s601), Local0)
+ m600(arg0, 90, Local0, Zero)
+
+ Store(LNotEqual(0x322, s601), Local0)
+ m600(arg0, 91, Local0, Ones)
+
+ Store(LNotEqual(0x320, s601), Local0)
+ m600(arg0, 92, Local0, Ones)
+
+ Store(LNotEqual(aui1, s601), Local0)
+ m600(arg0, 93, Local0, Zero)
+
+ Store(LNotEqual(auig, s601), Local0)
+ m600(arg0, 94, Local0, Ones)
+
+ Store(LNotEqual(auih, s601), Local0)
+ m600(arg0, 95, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aui1)), s601), Local0)
+ m600(arg0, 96, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(auig)), s601), Local0)
+ m600(arg0, 97, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Refof(auih)), s601), Local0)
+ m600(arg0, 98, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paui, 1)), s601), Local0)
+ m600(arg0, 99, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paui, 16)), s601), Local0)
+ m600(arg0, 100, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Index(paui, 17)), s601), Local0)
+ m600(arg0, 101, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LNotEqual(m601(1, 1), s601), Local0)
+ m600(arg0, 102, Local0, Zero)
+
+ Store(LNotEqual(m601(1, 16), s601), Local0)
+ m600(arg0, 103, Local0, Ones)
+
+ Store(LNotEqual(m601(1, 17), s601), Local0)
+ m600(arg0, 104, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(1, 1, 1)), s601), Local0)
+ m600(arg0, 105, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(1, 16, 1)), s601), Local0)
+ m600(arg0, 106, Local0, Ones)
+
+ Store(LNotEqual(Derefof(m602(1, 17, 1)), s601), Local0)
+ m600(arg0, 107, Local0, Ones)
+ }
+ }
+
+ // String to Integer intermediate conversion of the String second
+ // operand of Concatenate operator in case the first one is Integer
+
+ Method(m64g, 1)
+ {
+ Store(Concatenate(0x321, s601), Local0)
+ m600(arg0, 0, Local0, bb26)
+
+ Store(Concatenate(0x321, s605), Local0)
+ m600(arg0, 1, Local0, bb21)
+
+
+ Store(Concatenate(aui1, s601), Local0)
+ m600(arg0, 2, Local0, bb26)
+
+ Store(Concatenate(aui1, s605), Local0)
+ m600(arg0, 3, Local0, bb21)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aui1)), s601), Local0)
+ m600(arg0, 4, Local0, bb26)
+
+ Store(Concatenate(Derefof(Refof(aui1)), s605), Local0)
+ m600(arg0, 5, Local0, bb21)
+ }
+
+ Store(Concatenate(Derefof(Index(paui, 1)), s601), Local0)
+ m600(arg0, 6, Local0, bb26)
+
+ Store(Concatenate(Derefof(Index(paui, 1)), s605), Local0)
+ m600(arg0, 7, Local0, bb21)
+
+ // Method returns Integer
+
+ Store(Concatenate(m601(1, 1), s601), Local0)
+ m600(arg0, 8, Local0, bb26)
+
+ Store(Concatenate(m601(1, 1), s605), Local0)
+ m600(arg0, 9, Local0, bb21)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(1, 1, 1)), s601), Local0)
+ m600(arg0, 10, Local0, bb26)
+
+ Store(Concatenate(Derefof(m602(1, 1, 1)), s605), Local0)
+ m600(arg0, 11, Local0, bb21)
+ }
+
+ Concatenate(0x321, s601, Local0)
+ m600(arg0, 12, Local0, bb26)
+
+ Concatenate(0x321, s605, Local0)
+ m600(arg0, 13, Local0, bb21)
+
+
+ Concatenate(aui1, s601, Local0)
+ m600(arg0, 14, Local0, bb26)
+
+ Concatenate(aui1, s605, Local0)
+ m600(arg0, 15, Local0, bb21)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aui1)), s601, Local0)
+ m600(arg0, 16, Local0, bb26)
+
+ Concatenate(Derefof(Refof(aui1)), s605, Local0)
+ m600(arg0, 17, Local0, bb21)
+ }
+
+ Concatenate(Derefof(Index(paui, 1)), s601, Local0)
+ m600(arg0, 18, Local0, bb26)
+
+ Concatenate(Derefof(Index(paui, 1)), s605, Local0)
+ m600(arg0, 19, Local0, bb21)
+
+ // Method returns Integer
+
+ Concatenate(m601(1, 1), s601, Local0)
+ m600(arg0, 20, Local0, bb26)
+
+ Concatenate(m601(1, 1), s605, Local0)
+ m600(arg0, 21, Local0, bb21)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Concatenate(Derefof(m602(1, 1, 1)), s601, Local0)
+ m600(arg0, 22, Local0, bb26)
+
+ Concatenate(Derefof(m602(1, 1, 1)), s605, Local0)
+ m600(arg0, 23, Local0, bb21)
+ }
+ }
+
+ Method(m32g, 1)
+ {
+ Store(Concatenate(0x321, s601), Local0)
+ m600(arg0, 0, Local0, bb27)
+
+ Store(Concatenate(0x321, s604), Local0)
+ m600(arg0, 1, Local0, bb24)
+
+
+ Store(Concatenate(aui1, s601), Local0)
+ m600(arg0, 2, Local0, bb27)
+
+ Store(Concatenate(aui1, s604), Local0)
+ m600(arg0, 3, Local0, bb24)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aui1)), s601), Local0)
+ m600(arg0, 4, Local0, bb27)
+
+ Store(Concatenate(Derefof(Refof(aui1)), s604), Local0)
+ m600(arg0, 5, Local0, bb24)
+ }
+
+ Store(Concatenate(Derefof(Index(paui, 1)), s601), Local0)
+ m600(arg0, 6, Local0, bb27)
+
+ Store(Concatenate(Derefof(Index(paui, 1)), s604), Local0)
+ m600(arg0, 7, Local0, bb24)
+
+ // Method returns Integer
+
+ Store(Concatenate(m601(1, 1), s601), Local0)
+ m600(arg0, 8, Local0, bb27)
+
+ Store(Concatenate(m601(1, 1), s604), Local0)
+ m600(arg0, 9, Local0, bb24)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(1, 1, 1)), s601), Local0)
+ m600(arg0, 10, Local0, bb27)
+
+ Store(Concatenate(Derefof(m602(1, 1, 1)), s604), Local0)
+ m600(arg0, 11, Local0, bb24)
+ }
+
+ Concatenate(0x321, s601, Local0)
+ m600(arg0, 12, Local0, bb27)
+
+ Concatenate(0x321, s604, Local0)
+ m600(arg0, 13, Local0, bb24)
+
+
+ Concatenate(aui1, s601, Local0)
+ m600(arg0, 14, Local0, bb27)
+
+ Concatenate(aui1, s604, Local0)
+ m600(arg0, 15, Local0, bb24)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aui1)), s601, Local0)
+ m600(arg0, 16, Local0, bb27)
+
+ Concatenate(Derefof(Refof(aui1)), s604, Local0)
+ m600(arg0, 17, Local0, bb24)
+ }
+
+ Concatenate(Derefof(Index(paui, 1)), s601, Local0)
+ m600(arg0, 18, Local0, bb27)
+
+ Concatenate(Derefof(Index(paui, 1)), s604, Local0)
+ m600(arg0, 20, Local0, bb24)
+
+ // Method returns Integer
+
+ Concatenate(m601(1, 1), s601, Local0)
+ m600(arg0, 21, Local0, bb27)
+
+ Concatenate(m601(1, 1), s604, Local0)
+ m600(arg0, 22, Local0, bb24)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Concatenate(Derefof(m602(1, 1, 1)), s601, Local0)
+ m600(arg0, 23, Local0, bb27)
+
+ Concatenate(Derefof(m602(1, 1, 1)), s604, Local0)
+ m600(arg0, 24, Local0, bb24)
+ }
+ }
+
+ // String to Integer conversion of the String Length (second)
+ // operand of the ToString operator
+
+ // Common 32-bit/64-bit test
+ Method(m02c, 1)
+ {
+ Store(ToString(Buffer() {"This is auxiliary Buffer"},
+ s614), Local0)
+ m600(arg0, 0, Local0, bs1b)
+
+ Store(ToString(Buffer() {"This is auxiliary Buffer"},
+ s601), Local0)
+ m600(arg0, 1, Local0, bs1c)
+
+ Store(ToString(aub6, s614), Local0)
+ m600(arg0, 2, Local0, bs1b)
+
+ Store(ToString(aub6, s601), Local0)
+ m600(arg0, 3, Local0, bs1c)
+
+ if (y078) {
+ Store(ToString(Derefof(Refof(aub6)), s614), Local0)
+ m600(arg0, 4, Local0, bs1b)
+
+ Store(ToString(Derefof(Refof(aub6)), s601), Local0)
+ m600(arg0, 5, Local0, bs1c)
+ }
+
+ Store(ToString(Derefof(Index(paub, 6)), s614), Local0)
+ m600(arg0, 6, Local0, bs1b)
+
+ Store(ToString(Derefof(Index(paub, 6)), s601), Local0)
+ m600(arg0, 7, Local0, bs1c)
+
+ // Method returns Buffer
+
+ Store(ToString(m601(3, 6), s614), Local0)
+ m600(arg0, 8, Local0, bs1b)
+
+ Store(ToString(m601(3, 6), s601), Local0)
+ m600(arg0, 9, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(ToString(Derefof(m602(3, 6, 1)), s614), Local0)
+ m600(arg0, 10, Local0, bs1b)
+
+ Store(ToString(Derefof(m602(3, 6, 1)), s601), Local0)
+ m600(arg0, 11, Local0, bs1c)
+ }
+
+ ToString(Buffer() {"This is auxiliary Buffer"},
+ s614, Local0)
+ m600(arg0, 12, Local0, bs1b)
+
+ ToString(Buffer() {"This is auxiliary Buffer"},
+ s601, Local0)
+ m600(arg0, 13, Local0, bs1c)
+
+ ToString(aub6, s614, Local0)
+ m600(arg0, 14, Local0, bs1b)
+
+ ToString(aub6, s601, Local0)
+ m600(arg0, 15, Local0, bs1c)
+
+ if (y078) {
+ ToString(Derefof(Refof(aub6)), s614, Local0)
+ m600(arg0, 16, Local0, bs1b)
+
+ ToString(Derefof(Refof(aub6)), s601, Local0)
+ m600(arg0, 17, Local0, bs1c)
+ }
+
+ ToString(Derefof(Index(paub, 6)), s614, Local0)
+ m600(arg0, 18, Local0, bs1b)
+
+ ToString(Derefof(Index(paub, 6)), s601, Local0)
+ m600(arg0, 19, Local0, bs1c)
+
+ // Method returns Buffer
+
+ ToString(m601(3, 6), s614, Local0)
+ m600(arg0, 20, Local0, bs1b)
+
+ ToString(m601(3, 6), s601, Local0)
+ m600(arg0, 21, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ ToString(Derefof(m602(3, 6, 1)), s614, Local0)
+ m600(arg0, 22, Local0, bs1b)
+
+ ToString(Derefof(m602(3, 6, 1)), s601, Local0)
+ m600(arg0, 23, Local0, bs1c)
+ }
+ }
+
+ Method(m64h, 1)
+ {
+ Store(ToString(Buffer() {"This is auxiliary Buffer"},
+ s605), Local0)
+ m600(arg0, 0, Local0, bs1c)
+
+ Store(ToString(aub6, s605), Local0)
+ m600(arg0, 1, Local0, bs1c)
+
+ if (y078) {
+ Store(ToString(Derefof(Refof(aub6)), s605), Local0)
+ m600(arg0, 2, Local0, bs1c)
+ }
+
+ Store(ToString(Derefof(Index(paub, 6)), s605), Local0)
+ m600(arg0, 3, Local0, bs1c)
+
+ // Method returns Buffer
+
+ Store(ToString(m601(3, 6), s605), Local0)
+ m600(arg0, 4, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(ToString(Derefof(m602(3, 6, 1)), s605), Local0)
+ m600(arg0, 5, Local0, bs1c)
+ }
+
+ ToString(Buffer() {"This is auxiliary Buffer"},
+ s605, Local0)
+ m600(arg0, 6, Local0, bs1c)
+
+ ToString(aub6, s605, Local0)
+ m600(arg0, 7, Local0, bs1c)
+
+ if (y078) {
+ ToString(Derefof(Refof(aub6)), s605, Local0)
+ m600(arg0, 8, Local0, bs1c)
+ }
+
+ ToString(Derefof(Index(paub, 6)), s605, Local0)
+ m600(arg0, 9, Local0, bs1c)
+
+ // Method returns Buffer
+
+ ToString(m601(3, 6), s605, Local0)
+ m600(arg0, 10, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ ToString(Derefof(m602(3, 6, 1)), s605, Local0)
+ m600(arg0, 11, Local0, bs1c)
+ }
+ }
+
+ Method(m32h, 1)
+ {
+ Store(ToString(Buffer() {"This is auxiliary Buffer"},
+ s604), Local0)
+ m600(arg0, 0, Local0, bs1c)
+
+ Store(ToString(aub6, s604), Local0)
+ m600(arg0, 1, Local0, bs1c)
+
+ if (y078) {
+ Store(ToString(Derefof(Refof(aub6)), s604), Local0)
+ m600(arg0, 2, Local0, bs1c)
+ }
+
+ Store(ToString(Derefof(Index(paub, 6)), s604), Local0)
+ m600(arg0, 3, Local0, bs1c)
+
+ // Method returns Buffer
+
+ Store(ToString(m601(3, 6), s604), Local0)
+ m600(arg0, 4, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(ToString(Derefof(m602(3, 6, 1)), s604), Local0)
+ m600(arg0, 5, Local0, bs1c)
+ }
+
+ ToString(Buffer() {"This is auxiliary Buffer"},
+ s604, Local0)
+ m600(arg0, 6, Local0, bs1c)
+
+ ToString(aub6, s604, Local0)
+ m600(arg0, 7, Local0, bs1c)
+
+ if (y078) {
+ ToString(Derefof(Refof(aub6)), s604, Local0)
+ m600(arg0, 8, Local0, bs1c)
+ }
+
+ ToString(Derefof(Index(paub, 6)), s604, Local0)
+ m600(arg0, 9, Local0, bs1c)
+
+ // Method returns Buffer
+
+ ToString(m601(3, 6), s604, Local0)
+ m600(arg0, 10, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ ToString(Derefof(m602(3, 6, 1)), s604, Local0)
+ m600(arg0, 11, Local0, bs1c)
+ }
+ }
+
+ // String to Integer conversion of the String Index (second)
+ // operand of the Index operator
+ Method(m02d, 1)
+ {
+ Store(Index(aus6, s614), Local0)
+ m600(arg0, 0, Derefof(Local0), bi10)
+
+ Store(Index(aub6, s614), Local0)
+ m600(arg0, 1, Derefof(Local0), bi10)
+
+ Store(Index(aup0, s614), Local0)
+ m600(arg0, 2, Derefof(Local0), bi11)
+
+ if (y078) {
+ Store(Index(Derefof(Refof(aus6)), s614), Local0)
+ m600(arg0, 3, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Refof(aub6)), s614), Local0)
+ m600(arg0, 4, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Refof(aup0)), s614), Local0)
+ m600(arg0, 5, Derefof(Local0), bi11)
+ }
+
+ Store(Index(Derefof(Index(paus, 6)), s614), Local0)
+ m600(arg0, 6, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Index(paub, 6)), s614), Local0)
+ m600(arg0, 7, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Index(paup, 0)), s614), Local0)
+ m600(arg0, 8, Derefof(Local0), bi11)
+
+
+ // Method returns Object
+
+ if (y900) {
+ Store(Index(m601(2, 6), s614), Local0)
+ m600(arg0, 9, Derefof(Local0), bi10)
+
+ Store(Index(m601(3, 6), s614), Local0)
+ m600(arg0, 10, Derefof(Local0), bi10)
+
+ Store(Index(m601(4, 0), s614), Local0)
+ m600(arg0, 11, Derefof(Local0), bi11)
+ } else {
+
+ CH03(arg0, z086, 0, 0, 0)
+
+ Index(m601(2, 6), s614)
+ CH04(arg0, 0, 85, z086, 9, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+
+ Index(m601(3, 6), s614)
+ CH04(arg0, 0, 85, z086, 10, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+
+ Index(m601(4, 0), s614)
+ CH04(arg0, 0, 85, z086, 11, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+ }
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Index(Derefof(m602(2, 6, 1)), s614), Local0)
+ m600(arg0, 12, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(m602(3, 6, 1)), s614), Local0)
+ m600(arg0, 13, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(m602(4, 0, 1)), s614), Local0)
+ m600(arg0, 14, Derefof(Local0), bi11)
+ }
+
+ Index(aus6, s614, Local0)
+ m600(arg0, 15, Derefof(Local0), bi10)
+
+ Index(aub6, s614, Local0)
+ m600(arg0, 16, Derefof(Local0), bi10)
+
+ Index(aup0, s614, Local0)
+ m600(arg0, 17, Derefof(Local0), bi11)
+
+ if (y078) {
+ Index(Derefof(Refof(aus6)), s614, Local0)
+ m600(arg0, 18, Derefof(Local0), bi10)
+
+ Index(Derefof(Refof(aub6)), s614, Local0)
+ m600(arg0, 19, Derefof(Local0), bi10)
+
+ Index(Derefof(Refof(aup0)), s614, Local0)
+ m600(arg0, 20, Derefof(Local0), bi11)
+ }
+
+ Index(Derefof(Index(paus, 6)), s614, Local0)
+ m600(arg0, 21, Derefof(Local0), bi10)
+
+ Index(Derefof(Index(paub, 6)), s614, Local0)
+ m600(arg0, 22, Derefof(Local0), bi10)
+
+ Index(Derefof(Index(paup, 0)), s614, Local0)
+ m600(arg0, 23, Derefof(Local0), bi11)
+
+
+ // Method returns Object
+
+ if (y900) {
+ Index(m601(2, 6), s614, Local0)
+ m600(arg0, 24, Derefof(Local0), bi10)
+
+ Index(m601(3, 6), s614, Local0)
+ m600(arg0, 25, Derefof(Local0), bi10)
+
+ Index(m601(4, 0), s614, Local0)
+ m600(arg0, 26, Derefof(Local0), bi11)
+ } else {
+
+ CH03(arg0, z086, 0, 0, 0)
+
+ Index(m601(2, 6), s614, Local0)
+ CH04(arg0, 0, 85, z086, 24, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+
+ Index(m601(3, 6), s614, Local0)
+ CH04(arg0, 0, 85, z086, 25, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+
+ Index(m601(4, 0), s614, Local0)
+ CH04(arg0, 0, 85, z086, 26, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+ }
+
+ // Method returns Reference
+
+ if (y500) {
+ Index(Derefof(m602(2, 6, 1)), s614, Local0)
+ m600(arg0, 27, Derefof(Local0), bi10)
+
+ Index(Derefof(m602(3, 6, 1)), s614, Local0)
+ m600(arg0, 28, Derefof(Local0), bi10)
+
+ Index(Derefof(m602(4, 0, 1)), s614, Local0)
+ m600(arg0, 29, Derefof(Local0), bi11)
+ }
+
+ if (y098) {
+ Store(Index(aus6, s614, Local1), Local0)
+ m600(arg0, 30, Derefof(Local0), bi10)
+
+ Store(Index(aub6, s614, Local1), Local0)
+ m600(arg0, 31, Derefof(Local0), bi10)
+
+ Store(Index(aup0, s614, Local1), Local0)
+ m600(arg0, 32, Derefof(Local0), bi11)
+ }
+
+ if (y078) {
+ Store(Index(Derefof(Refof(aus6)), s614, Local1), Local0)
+ m600(arg0, 33, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Refof(aub6)), s614, Local1), Local0)
+ m600(arg0, 34, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Refof(aup0)), s614, Local1), Local0)
+ m600(arg0, 35, Derefof(Local0), bi11)
+ }
+
+ if (y098) {
+ Store(Index(Derefof(Index(paus, 6)), s614, Local1), Local0)
+ m600(arg0, 36, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Index(paub, 6)), s614, Local1), Local0)
+ m600(arg0, 37, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Index(paup, 0)), s614, Local1), Local0)
+ m600(arg0, 38, Derefof(Local0), bi11)
+ }
+
+ // Method returns Object
+
+ if (LAnd(y900, y098)) {
+ Store(Index(m601(2, 6), s614, Local1), Local0)
+ m600(arg0, 39, Derefof(Local0), bi10)
+
+ Store(Index(m601(3, 6), s614, Local1), Local0)
+ m600(arg0, 40, Derefof(Local0), bi10)
+
+ Store(Index(m601(4, 0), s614, Local1), Local0)
+ m600(arg0, 41, Derefof(Local0), bi11)
+ }
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Index(Derefof(m602(2, 6, 1)), s614, Local1), Local0)
+ m600(arg0, 42, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(m602(3, 6, 1)), s614, Local1), Local0)
+ m600(arg0, 43, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(m602(4, 0, 1)), s614, Local1), Local0)
+ m600(arg0, 44, Derefof(Local0), bi11)
+ }
+ }
+
+ // String to Integer conversion of the String Arg (third)
+ // operand of the Fatal operator
+ // (it can only be checked an exception does not occur)
+ Method(m02e, 1)
+ {
+ CH03(arg0, z086, 0, 0, 0)
+ Fatal(0xff, 0xffffffff, s601)
+ if (F64) {
+ Fatal(0xff, 0xffffffff, s605)
+ } else {
+ Fatal(0xff, 0xffffffff, s604)
+ }
+ CH03(arg0, z086, 1, 0, 0)
+ }
+
+ // String to Integer conversion of the String Index and Length
+ // operands of the Mid operator
+
+ // Common 32-bit/64-bit test
+ Method(m02f, 1)
+ {
+ // String to Integer conversion of the String Index operand
+
+ Store(Mid("This is auxiliary String", s614, 10), Local0)
+ m600(arg0, 0, Local0, bs1d)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, s614, 10), Local0)
+ m600(arg0, 1, Local0, bb32)
+
+ Store(Mid(aus6, s614, 10), Local0)
+ m600(arg0, 2, Local0, bs1d)
+
+ Store(Mid(aub6, s614, 10), Local0)
+ m600(arg0, 3, Local0, bb32)
+
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), s614, 10), Local0)
+ m600(arg0, 4, Local0, bs1d)
+
+ Store(Mid(Derefof(Refof(aub6)), s614, 10), Local0)
+ m600(arg0, 5, Local0, bb32)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), s614, 10), Local0)
+ m600(arg0, 6, Local0, bs1d)
+
+ Store(Mid(Derefof(Index(paub, 6)), s614, 10), Local0)
+ m600(arg0, 7, Local0, bb32)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), s614, 10), Local0)
+ m600(arg0, 8, Local0, bs1d)
+
+ Store(Mid(m601(3, 6), s614, 10), Local0)
+ m600(arg0, 9, Local0, bb32)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), s614, 10), Local0)
+ m600(arg0, 10, Local0, bs1d)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), s614, 10), Local0)
+ m600(arg0, 11, Local0, bb32)
+ }
+
+ Mid("This is auxiliary String", s614, 10, Local0)
+ m600(arg0, 12, Local0, bs1d)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, s614, 10, Local0)
+ m600(arg0, 13, Local0, bb32)
+
+ Mid(aus6, s614, 10, Local0)
+ m600(arg0, 14, Local0, bs1d)
+
+ Mid(aub6, s614, 10, Local0)
+ m600(arg0, 15, Local0, bb32)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), s614, 10, Local0)
+ m600(arg0, 16, Local0, bs1d)
+
+ Mid(Derefof(Refof(aub6)), s614, 10, Local0)
+ m600(arg0, 17, Local0, bb32)
+ }
+
+ Mid(Derefof(Index(paus, 6)), s614, 10, Local0)
+ m600(arg0, 18, Local0, bs1d)
+
+ Mid(Derefof(Index(paub, 6)), s614, 10, Local0)
+ m600(arg0, 19, Local0, bb32)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), s614, 10, Local0)
+ m600(arg0, 20, Local0, bs1d)
+
+ Mid(m601(3, 6), s614, 10, Local0)
+ m600(arg0, 21, Local0, bb32)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), s614, 10, Local0)
+ m600(arg0, 22, Local0, bs1d)
+
+ Mid(Derefof(m602(3, 6, 1)), s614, 10, Local0)
+ m600(arg0, 23, Local0, bb32)
+ }
+
+ // String to Integer conversion of the String Length operand
+
+ Store(Mid("This is auxiliary String", 0, s614), Local0)
+ m600(arg0, 24, Local0, bs1b)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, 0, s614), Local0)
+ m600(arg0, 25, Local0, bb33)
+
+ Store(Mid(aus6, 0, s614), Local0)
+ m600(arg0, 26, Local0, bs1b)
+
+ Store(Mid(aub6, 0, s614), Local0)
+ m600(arg0, 27, Local0, bb33)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), 0, s614), Local0)
+ m600(arg0, 28, Local0, bs1b)
+
+ Store(Mid(Derefof(Refof(aub6)), 0, s614), Local0)
+ m600(arg0, 29, Local0, bb33)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), 0, s614), Local0)
+ m600(arg0, 30, Local0, bs1b)
+
+ Store(Mid(Derefof(Index(paub, 6)), 0, s614), Local0)
+ m600(arg0, 31, Local0, bb33)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), 0, s614), Local0)
+ m600(arg0, 32, Local0, bs1b)
+
+ Store(Mid(m601(3, 6), 0, s614), Local0)
+ m600(arg0, 33, Local0, bb33)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), 0, s614), Local0)
+ m600(arg0, 34, Local0, bs1b)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), 0, s614), Local0)
+ m600(arg0, 35, Local0, bb33)
+ }
+
+ Mid("This is auxiliary String", 0, s614, Local0)
+ m600(arg0, 36, Local0, bs1b)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, 0, s614, Local0)
+ m600(arg0, 37, Local0, bb33)
+
+ Mid(aus6, 0, s614, Local0)
+ m600(arg0, 37, Local0, bs1b)
+
+ Mid(aub6, 0, s614, Local0)
+ m600(arg0, 39, Local0, bb33)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), 0, s614, Local0)
+ m600(arg0, 40, Local0, bs1b)
+
+ Mid(Derefof(Refof(aub6)), 0, s614, Local0)
+ m600(arg0, 41, Local0, bb33)
+ }
+
+ Mid(Derefof(Index(paus, 6)), 0, s614, Local0)
+ m600(arg0, 42, Local0, bs1b)
+
+ Mid(Derefof(Index(paub, 6)), 0, s614, Local0)
+ m600(arg0, 43, Local0, bb33)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), 0, s614, Local0)
+ m600(arg0, 44, Local0, bs1b)
+
+ Mid(m601(3, 6), 0, s614, Local0)
+ m600(arg0, 45, Local0, bb33)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), 0, s614, Local0)
+ m600(arg0, 46, Local0, bs1b)
+
+ Mid(Derefof(m602(3, 6, 1)), 0, s614, Local0)
+ m600(arg0, 47, Local0, bb33)
+ }
+ }
+
+ Method(m64i, 1)
+ {
+ // String to Integer conversion of the String Length operand
+
+ Store(Mid("This is auxiliary String", 0, s605), Local0)
+ m600(arg0, 0, Local0, bs1e)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, 0, s605), Local0)
+ m600(arg0, 1, Local0, bb34)
+
+ Store(Mid(aus6, 0, s605), Local0)
+ m600(arg0, 2, Local0, bs1e)
+
+ Store(Mid(aub6, 0, s605), Local0)
+ m600(arg0, 3, Local0, bb34)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), 0, s605), Local0)
+ m600(arg0, 4, Local0, bs1e)
+
+ Store(Mid(Derefof(Refof(aub6)), 0, s605), Local0)
+ m600(arg0, 5, Local0, bb34)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), 0, s605), Local0)
+ m600(arg0, 6, Local0, bs1e)
+
+ Store(Mid(Derefof(Index(paub, 6)), 0, s605), Local0)
+ m600(arg0, 7, Local0, bb34)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), 0, s605), Local0)
+ m600(arg0, 8, Local0, bs1e)
+
+ Store(Mid(m601(3, 6), 0, s605), Local0)
+ m600(arg0, 9, Local0, bb34)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), 0, s605), Local0)
+ m600(arg0, 10, Local0, bs1e)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), 0, s605), Local0)
+ m600(arg0, 11, Local0, bb34)
+ }
+
+ Mid("This is auxiliary String", 0, s605, Local0)
+ m600(arg0, 12, Local0, bs1e)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, 0, s605, Local0)
+ m600(arg0, 13, Local0, bb34)
+
+ Mid(aus6, 0, s605, Local0)
+ m600(arg0, 14, Local0, bs1e)
+
+ Mid(aub6, 0, s605, Local0)
+ m600(arg0, 15, Local0, bb34)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), 0, s605, Local0)
+ m600(arg0, 16, Local0, bs1e)
+
+ Mid(Derefof(Refof(aub6)), 0, s605, Local0)
+ m600(arg0, 17, Local0, bb34)
+ }
+
+ Mid(Derefof(Index(paus, 6)), 0, s605, Local0)
+ m600(arg0, 18, Local0, bs1e)
+
+ Mid(Derefof(Index(paub, 6)), 0, s605, Local0)
+ m600(arg0, 19, Local0, bb34)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), 0, s605, Local0)
+ m600(arg0, 20, Local0, bs1e)
+
+ Mid(m601(3, 6), 0, s605, Local0)
+ m600(arg0, 21, Local0, bb34)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), 0, s605, Local0)
+ m600(arg0, 22, Local0, bs1e)
+
+ Mid(Derefof(m602(3, 6, 1)), 0, s605, Local0)
+ m600(arg0, 23, Local0, bb34)
+ }
+
+ // String to Integer conversion of the both String operands
+
+ Store(Mid("This is auxiliary String", s614, s605), Local0)
+ m600(arg0, 24, Local0, bs1f)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, s614, s605), Local0)
+ m600(arg0, 25, Local0, bb35)
+
+ Store(Mid(aus6, s614, s605), Local0)
+ m600(arg0, 26, Local0, bs1f)
+
+ Store(Mid(aub6, s614, s605), Local0)
+ m600(arg0, 27, Local0, bb35)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), s614, s605), Local0)
+ m600(arg0, 28, Local0, bs1f)
+
+ Store(Mid(Derefof(Refof(aub6)), s614, s605), Local0)
+ m600(arg0, 29, Local0, bb35)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), s614, s605), Local0)
+ m600(arg0, 30, Local0, bs1f)
+
+ Store(Mid(Derefof(Index(paub, 6)), s614, s605), Local0)
+ m600(arg0, 31, Local0, bb35)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), s614, s605), Local0)
+ m600(arg0, 32, Local0, bs1f)
+
+ Store(Mid(m601(3, 6), s614, s605), Local0)
+ m600(arg0, 33, Local0, bb35)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), s614, s605), Local0)
+ m600(arg0, 34, Local0, bs1f)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), s614, s605), Local0)
+ m600(arg0, 35, Local0, bb35)
+ }
+
+ Mid("This is auxiliary String", s614, s605, Local0)
+ m600(arg0, 36, Local0, bs1f)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, s614, s605, Local0)
+ m600(arg0, 37, Local0, bb35)
+
+ Mid(aus6, s614, s605, Local0)
+ m600(arg0, 38, Local0, bs1f)
+
+ Mid(aub6, s614, s605, Local0)
+ m600(arg0, 39, Local0, bb35)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), s614, s605, Local0)
+ m600(arg0, 40, Local0, bs1f)
+
+ Mid(Derefof(Refof(aub6)), s614, s605, Local0)
+ m600(arg0, 41, Local0, bb35)
+ }
+
+ Mid(Derefof(Index(paus, 6)), s614, s605, Local0)
+ m600(arg0, 42, Local0, bs1f)
+
+ Mid(Derefof(Index(paub, 6)), s614, s605, Local0)
+ m600(arg0, 43, Local0, bb35)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), s614, s605, Local0)
+ m600(arg0, 44, Local0, bs1f)
+
+ Mid(m601(3, 6), s614, s605, Local0)
+ m600(arg0, 45, Local0, bb35)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), s614, s605, Local0)
+ m600(arg0, 46, Local0, bs1f)
+
+ Mid(Derefof(m602(3, 6, 1)), s614, s605, Local0)
+ m600(arg0, 47, Local0, bb35)
+ }
+ }
+
+ Method(m32i, 1)
+ {
+ // String to Integer conversion of the String Length operand
+
+ Store(Mid("This is auxiliary String", 0, s604), Local0)
+ m600(arg0, 0, Local0, bs1e)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, 0, s604), Local0)
+ m600(arg0, 1, Local0, bb34)
+
+ Store(Mid(aus6, 0, s604), Local0)
+ m600(arg0, 2, Local0, bs1e)
+
+ Store(Mid(aub6, 0, s604), Local0)
+ m600(arg0, 3, Local0, bb34)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), 0, s604), Local0)
+ m600(arg0, 4, Local0, bs1e)
+
+ Store(Mid(Derefof(Refof(aub6)), 0, s604), Local0)
+ m600(arg0, 5, Local0, bb34)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), 0, s604), Local0)
+ m600(arg0, 6, Local0, bs1e)
+
+ Store(Mid(Derefof(Index(paub, 6)), 0, s604), Local0)
+ m600(arg0, 7, Local0, bb34)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), 0, s604), Local0)
+ m600(arg0, 8, Local0, bs1e)
+
+ Store(Mid(m601(3, 6), 0, s604), Local0)
+ m600(arg0, 9, Local0, bb34)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), 0, s604), Local0)
+ m600(arg0, 10, Local0, bs1e)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), 0, s604), Local0)
+ m600(arg0, 11, Local0, bb34)
+ }
+
+ Mid("This is auxiliary String", 0, s604, Local0)
+ m600(arg0, 12, Local0, bs1e)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, 0, s604, Local0)
+ m600(arg0, 13, Local0, bb34)
+
+ Mid(aus6, 0, s604, Local0)
+ m600(arg0, 14, Local0, bs1e)
+
+ Mid(aub6, 0, s604, Local0)
+ m600(arg0, 15, Local0, bb34)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), 0, s604, Local0)
+ m600(arg0, 16, Local0, bs1e)
+
+ Mid(Derefof(Refof(aub6)), 0, s604, Local0)
+ m600(arg0, 17, Local0, bb34)
+ }
+
+ Mid(Derefof(Index(paus, 6)), 0, s604, Local0)
+ m600(arg0, 18, Local0, bs1e)
+
+ Mid(Derefof(Index(paub, 6)), 0, s604, Local0)
+ m600(arg0, 19, Local0, bb34)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), 0, s604, Local0)
+ m600(arg0, 20, Local0, bs1e)
+
+ Mid(m601(3, 6), 0, s604, Local0)
+ m600(arg0, 21, Local0, bb34)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), 0, s604, Local0)
+ m600(arg0, 22, Local0, bs1e)
+
+ Mid(Derefof(m602(3, 6, 1)), 0, s604, Local0)
+ m600(arg0, 23, Local0, bb34)
+ }
+
+ // String to Integer conversion of the both String operands
+
+ Store(Mid("This is auxiliary String", s614, s604), Local0)
+ m600(arg0, 24, Local0, bs1f)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, s614, s604), Local0)
+ m600(arg0, 25, Local0, bb35)
+
+ Store(Mid(aus6, s614, s604), Local0)
+ m600(arg0, 26, Local0, bs1f)
+
+ Store(Mid(aub6, s614, s604), Local0)
+ m600(arg0, 27, Local0, bb35)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), s614, s604), Local0)
+ m600(arg0, 28, Local0, bs1f)
+
+ Store(Mid(Derefof(Refof(aub6)), s614, s604), Local0)
+ m600(arg0, 29, Local0, bb35)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), s614, s604), Local0)
+ m600(arg0, 30, Local0, bs1f)
+
+ Store(Mid(Derefof(Index(paub, 6)), s614, s604), Local0)
+ m600(arg0, 31, Local0, bb35)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), s614, s604), Local0)
+ m600(arg0, 32, Local0, bs1f)
+
+ Store(Mid(m601(3, 6), s614, s604), Local0)
+ m600(arg0, 33, Local0, bb35)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), s614, s604), Local0)
+ m600(arg0, 34, Local0, bs1f)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), s614, s604), Local0)
+ m600(arg0, 35, Local0, bb35)
+ }
+
+ Mid("This is auxiliary String", s614, s604, Local0)
+ m600(arg0, 36, Local0, bs1f)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, s614, s604, Local0)
+ m600(arg0, 37, Local0, bb35)
+
+ Mid(aus6, s614, s604, Local0)
+ m600(arg0, 38, Local0, bs1f)
+
+ Mid(aub6, s614, s604, Local0)
+ m600(arg0, 39, Local0, bb35)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), s614, s604, Local0)
+ m600(arg0, 40, Local0, bs1f)
+
+ Mid(Derefof(Refof(aub6)), s614, s604, Local0)
+ m600(arg0, 41, Local0, bb35)
+ }
+
+ Mid(Derefof(Index(paus, 6)), s614, s604, Local0)
+ m600(arg0, 42, Local0, bs1f)
+
+ Mid(Derefof(Index(paub, 6)), s614, s604, Local0)
+ m600(arg0, 43, Local0, bb35)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), s614, s604, Local0)
+ m600(arg0, 44, Local0, bs1f)
+
+ Mid(m601(3, 6), s614, s604, Local0)
+ m600(arg0, 45, Local0, bb35)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), s614, s604, Local0)
+ m600(arg0, 46, Local0, bs1f)
+
+ Mid(Derefof(m602(3, 6, 1)), s614, s604, Local0)
+ m600(arg0, 47, Local0, bb35)
+ }
+ }
+
+ // String to Integer conversion of the String StartIndex
+ // operand of the Match operator
+ Method(m030, 1)
+ {
+ Store(Match(
+ Package(){
+ 0xa50, 0xa51, 0xa52, 0xa53, 0xa54, 0xa55, 0xa56, 0xa57,
+ 0xa58, 0xa59, 0xa5a, 0xa5b, 0xa5c, 0xa5d, 0xa5e,},
+ MEQ, 0xa5d, MTR, 0, s614), Local0)
+ m600(arg0, 0, Local0, 0xd)
+
+ Store(Match(
+ Package(){
+ 0xa50, 0xa51, 0xa52, 0xa53, 0xa54, 0xa55, 0xa56, 0xa57,
+ 0xa58, 0xa59, 0xa5a, 0xa5b, 0xa5c, 0xa5d, 0xa5e,},
+ MEQ, 0xa5a, MTR, 0, s614), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(Match(aup0, MEQ, 0xa5d, MTR, 0, s614), Local0)
+ m600(arg0, 2, Local0, 0xd)
+
+ Store(Match(aup0, MEQ, 0xa5a, MTR, 0, s614), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(Match(Derefof(Refof(aup0)), MEQ, 0xa5d, MTR, 0, s614), Local0)
+ m600(arg0, 4, Local0, 0xd)
+
+ Store(Match(Derefof(Refof(aup0)), MEQ, 0xa5a, MTR, 0, s614), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(Match(Derefof(Index(paup, 0)), MEQ, 0xa5d, MTR, 0, s614), Local0)
+ m600(arg0, 6, Local0, 0xd)
+
+ Store(Match(Derefof(Index(paup, 0)), MEQ, 0xa5a, MTR, 0, s614), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Object
+
+ Store(Match(m601(4, 0), MEQ, 0xa5d, MTR, 0, s614), Local0)
+ m600(arg0, 8, Local0, 0xd)
+
+ Store(Match(m601(4, 0), MEQ, 0xa5a, MTR, 0, s614), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Match(Derefof(m602(4, 0, 1)), MEQ, 0xa5d, MTR, 0, s614), Local0)
+ m600(arg0, 10, Local0, 0xd)
+
+ Store(Match(Derefof(m602(4, 0, 1)), MEQ, 0xa5a, MTR, 0, s614), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+ }
+
+// Method(m64j, 1)
+
+// Method(m32j, 1)
+
+ // String to Integer conversion of the String sole operand
+ // of the Method execution control operators (Sleep, Stall)
+ Method(m031, 1)
+ {
+ CH03(arg0, z086, 2, 0, 0)
+
+ // Sleep
+
+ Store(Timer, Local0)
+
+ Sleep(s601)
+ CH03(arg0, z086, 3, 0, 0)
+
+ Store(Timer, Local1)
+ Subtract(Local1, Local0, Local2)
+ if (LLess(Local2, c08c)) {
+ err(arg0, z086, 0, 0, 0, Local2, c08c)
+ }
+
+ // Stall
+
+ Store(Timer, Local0)
+
+ Stall(s61b)
+ CH03(arg0, z086, 4, 0, 0)
+
+ Store(Timer, Local1)
+ Subtract(Local1, Local0, Local2)
+ if (LLess(Local2, 990)) {
+ err(arg0, z086, 1, 0, 0, Local2, 990)
+ }
+ }
+
+ // String to Integer conversion of the String TimeoutValue
+ // (second) operand of the Acquire operator ???
+ Method(m032, 1)
+ {
+ Mutex(MTX0, 0)
+
+ Acquire(MTX0, 0)
+ CH03(arg0, z086, 5, 0, 0)
+
+ Store(Timer, Local0)
+
+/* Compiler allows only Integer constant as TimeoutValue (Bug 1)
+ Acquire(MTX0, s601)
+*/
+ CH03(arg0, z086, 6, 0, 0)
+
+ Store(Timer, Local1)
+ Subtract(Local1, Local0, Local2)
+ if (LLess(Local2, c08c)) {
+ err(arg0, z086, 0, 0, 0, Local2, c08c)
+ }
+ }
+
+ // String to Integer conversion of the String TimeoutValue
+ // (second) operand of the Wait operator
+ Method(m033, 1)
+ {
+ Event(EVT0)
+
+ CH03(arg0, z086, 7, 0, 0)
+
+ Store(Timer, Local0)
+
+ Wait(EVT0, s601)
+ CH03(arg0, z086, 8, 0, 0)
+
+ Store(Timer, Local1)
+ Subtract(Local1, Local0, Local2)
+ if (LLess(Local2, c08c)) {
+ err(arg0, z086, 0, 0, 0, Local2, c08c)
+ }
+ }
+
+ // String to Integer conversion of the String value
+ // of Predicate of the Method execution control statements
+ // (If, ElseIf, While)
+ Method(m034, 1)
+ {
+ Name(ist0, 0)
+
+ Method(m001)
+ {
+ if (s600) {
+ Store(0, ist0)
+ }
+ }
+
+ Method(m002)
+ {
+ if (s601) {
+ Store(2, ist0)
+ }
+ }
+
+ Method(m003)
+ {
+ if (s604) {
+ Store(3, ist0)
+ }
+ }
+
+ Method(m004)
+ {
+ if (s605) {
+ Store(4, ist0)
+ }
+ }
+
+ Method(m005, 1)
+ {
+ if (arg0) {
+ Store(0xff, ist0)
+ } elseif (s600) {
+ Store(0, ist0)
+ }
+ }
+
+ Method(m006, 1)
+ {
+ if (arg0) {
+ Store(0xff, ist0)
+ } elseif (s601) {
+ Store(6, ist0)
+ }
+ }
+
+ Method(m007, 1)
+ {
+ if (arg0) {
+ Store(0xff, ist0)
+ } elseif (s604) {
+ Store(7, ist0)
+ }
+ }
+
+ Method(m008, 1)
+ {
+ if (arg0) {
+ Store(0xff, ist0)
+ } elseif (s605) {
+ Store(8, ist0)
+ }
+ }
+
+ Method(m009)
+ {
+ while (s600) {
+ Store(0, ist0)
+ }
+ }
+
+ // If
+
+ Store(1, ist0)
+ m001()
+ m600(arg0, 0, ist0, 1)
+
+ m002()
+ m600(arg0, 1, ist0, 2)
+
+ m003()
+ m600(arg0, 2, ist0, 3)
+
+ m004()
+ m600(arg0, 3, ist0, 4)
+
+ // ElseIf
+
+ Store(5, ist0)
+ m005(0)
+ m600(arg0, 4, ist0, 5)
+
+ m006(0)
+ m600(arg0, 5, ist0, 6)
+
+ m007(0)
+ m600(arg0, 6, ist0, 7)
+
+ m008(0)
+ m600(arg0, 7, ist0, 8)
+
+ // While
+
+ Store(9, ist0)
+ m009()
+ m600(arg0, 8, ist0, 9)
+ }
+
+// Method(m64k, 1)
+
+// Method(m32k, 1)
+
+ // String to Buffer implicit conversion Cases.
+
+ // String to Buffer conversion of the String second operand of
+ // Logical operators when the first operand is evaluated as Buffer
+ // (LEqual, LGreater, LGreaterEqual, LLess, LLessEqual, LNotEqual)
+
+ Method(m035, 1)
+ {
+ // LEqual
+
+ Store(LEqual(Buffer() {0x30, 0x33, 0x32, 0x31, 0x00}, s601), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual(Buffer() {0x30, 0x33, 0x32, 0x31, 0x01}, s601), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(aub7, s601), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(LEqual(aub3, s601), Local0)
+ m600(arg0, 3, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aub7)), s601), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(aub3)), s601), Local0)
+ m600(arg0, 5, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paub, 7)), s601), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paub, 3)), s601), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ // Method returns Buffer
+
+ Store(LEqual(m601(3, 7), s601), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(LEqual(m601(3, 3), s601), Local0)
+ m600(arg0, 9, Local0, Zero)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(3, 7, 1)), s601), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(3, 3, 1)), s601), Local0)
+ m600(arg0, 11, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater(Buffer() {0x30, 0x33, 0x32, 0x31, 0x00}, s601), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LGreater(Buffer() {0x30, 0x33, 0x32, 0x31, 0x01}, s601), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LGreater(Buffer() {0x30, 0x33, 0x32, 0x31}, s601), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LGreater(Buffer() {0x30, 0x33, 0x32, 0x31, 0x00, 0x01}, s601), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LGreater(aub7, s601), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LGreater(aub8, s601), Local0)
+ m600(arg0, 17, Local0, Ones)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aub7)), s601), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(aub8)), s601), Local0)
+ m600(arg0, 19, Local0, Ones)
+ }
+
+ Store(LGreater(Derefof(Index(paub, 7)), s601), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paub, 8)), s601), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Buffer
+
+ Store(LGreater(m601(3, 7), s601), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LGreater(m601(3, 8), s601), Local0)
+ m600(arg0, 23, Local0, Ones)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(3, 7, 1)), s601), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(3, 8, 1)), s601), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual(Buffer() {0x30, 0x33, 0x32, 0x31, 0x00}, s601), Local0)
+ m600(arg0, 26, Local0, Ones)
+
+ Store(LGreaterEqual(Buffer() {0x30, 0x33, 0x32, 0x31, 0x01}, s601), Local0)
+ m600(arg0, 27, Local0, Ones)
+
+ Store(LGreaterEqual(Buffer() {0x30, 0x33, 0x32, 0x31}, s601), Local0)
+ m600(arg0, 28, Local0, Zero)
+
+ Store(LGreaterEqual(Buffer() {0x30, 0x33, 0x32, 0x31, 0x00, 0x01}, s601), Local0)
+ m600(arg0, 29, Local0, Ones)
+
+ Store(LGreaterEqual(aub7, s601), Local0)
+ m600(arg0, 30, Local0, Ones)
+
+ Store(LGreaterEqual(aub8, s601), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aub7)), s601), Local0)
+ m600(arg0, 32, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(aub8)), s601), Local0)
+ m600(arg0, 33, Local0, Ones)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paub, 7)), s601), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paub, 8)), s601), Local0)
+ m600(arg0, 35, Local0, Ones)
+
+ // Method returns Buffer
+
+ Store(LGreaterEqual(m601(3, 7), s601), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(m601(3, 8), s601), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(3, 7, 1)), s601), Local0)
+ m600(arg0, 38, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(3, 8, 1)), s601), Local0)
+ m600(arg0, 39, Local0, Ones)
+ }
+
+ // LLess
+
+ Store(LLess(Buffer() {0x30, 0x33, 0x32, 0x31, 0x00}, s601), Local0)
+ m600(arg0, 40, Local0, Zero)
+
+ Store(LLess(Buffer() {0x30, 0x33, 0x32, 0x31, 0x01}, s601), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ Store(LLess(Buffer() {0x30, 0x33, 0x32, 0x31}, s601), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LLess(Buffer() {0x30, 0x33, 0x32, 0x31, 0x00, 0x01}, s601), Local0)
+ m600(arg0, 43, Local0, Zero)
+
+ Store(LLess(aub7, s601), Local0)
+ m600(arg0, 44, Local0, Zero)
+
+ Store(LLess(aub8, s601), Local0)
+ m600(arg0, 45, Local0, Zero)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aub7)), s601), Local0)
+ m600(arg0, 46, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(aub8)), s601), Local0)
+ m600(arg0, 47, Local0, Zero)
+ }
+
+ Store(LLess(Derefof(Index(paub, 7)), s601), Local0)
+ m600(arg0, 48, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paub, 8)), s601), Local0)
+ m600(arg0, 49, Local0, Zero)
+
+ // Method returns Buffer
+
+ Store(LLess(m601(3, 7), s601), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ Store(LLess(m601(3, 8), s601), Local0)
+ m600(arg0, 51, Local0, Zero)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LLess(Derefof(m602(3, 7, 1)), s601), Local0)
+ m600(arg0, 52, Local0, Zero)
+
+ Store(LLess(Derefof(m602(3, 8, 1)), s601), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual(Buffer() {0x30, 0x33, 0x32, 0x31, 0x00}, s601), Local0)
+ m600(arg0, 54, Local0, Ones)
+
+ Store(LLessEqual(Buffer() {0x30, 0x33, 0x32, 0x31, 0x01}, s601), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLessEqual(Buffer() {0x30, 0x33, 0x32, 0x31}, s601), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLessEqual(Buffer() {0x30, 0x33, 0x32, 0x31, 0x00, 0x01}, s601), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLessEqual(aub7, s601), Local0)
+ m600(arg0, 58, Local0, Ones)
+
+ Store(LLessEqual(aub8, s601), Local0)
+ m600(arg0, 59, Local0, Zero)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aub7)), s601), Local0)
+ m600(arg0, 60, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(aub8)), s601), Local0)
+ m600(arg0, 61, Local0, Zero)
+ }
+
+ Store(LLessEqual(Derefof(Index(paub, 7)), s601), Local0)
+ m600(arg0, 62, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paub, 8)), s601), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ // Method returns Buffer
+
+ Store(LLessEqual(m601(3, 7), s601), Local0)
+ m600(arg0, 64, Local0, Ones)
+
+ Store(LLessEqual(m601(3, 8), s601), Local0)
+ m600(arg0, 65, Local0, Zero)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(3, 7, 1)), s601), Local0)
+ m600(arg0, 66, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(3, 8, 1)), s601), Local0)
+ m600(arg0, 67, Local0, Zero)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual(Buffer() {0x30, 0x33, 0x32, 0x31, 0x00}, s601), Local0)
+ m600(arg0, 68, Local0, Zero)
+
+ Store(LNotEqual(Buffer() {0x30, 0x33, 0x32, 0x31, 0x01}, s601), Local0)
+ m600(arg0, 69, Local0, Ones)
+
+ Store(LNotEqual(Buffer() {0x30, 0x33, 0x32, 0x31}, s601), Local0)
+ m600(arg0, 70, Local0, Ones)
+
+ Store(LNotEqual(Buffer() {0x30, 0x33, 0x32, 0x31, 0x00, 0x01}, s601), Local0)
+ m600(arg0, 71, Local0, Ones)
+
+ Store(LNotEqual(aub7, s601), Local0)
+ m600(arg0, 72, Local0, Zero)
+
+ Store(LNotEqual(aub8, s601), Local0)
+ m600(arg0, 73, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aub7)), s601), Local0)
+ m600(arg0, 74, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(aub8)), s601), Local0)
+ m600(arg0, 75, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paub, 7)), s601), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paub, 8)), s601), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ // Method returns Buffer
+
+ Store(LNotEqual(m601(3, 7), s601), Local0)
+ m600(arg0, 78, Local0, Zero)
+
+ Store(LNotEqual(m601(3, 8), s601), Local0)
+ m600(arg0, 79, Local0, Ones)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(3, 7, 1)), s601), Local0)
+ m600(arg0, 80, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(3, 8, 1)), s601), Local0)
+ m600(arg0, 81, Local0, Ones)
+ }
+
+ // Boundary Cases
+
+ Store(LEqual(Buffer() {0x00}, s60c), Local0)
+ m600(arg0, 82, Local0, Ones)
+
+ Store(LEqual(Buffer() {0x01}, s60c), Local0)
+ m600(arg0, 83, Local0, Zero)
+
+ Store(LGreater(Buffer() {0x00}, s60c), Local0)
+ m600(arg0, 84, Local0, Zero)
+
+ Store(LGreater(Buffer() {0x01}, s60c), Local0)
+ m600(arg0, 85, Local0, Ones)
+
+ Store(LGreaterEqual(Buffer() {0x00}, s60c), Local0)
+ m600(arg0, 86, Local0, Ones)
+
+ Store(LGreater(Buffer() {0x01}, s60c), Local0)
+ m600(arg0, 87, Local0, Ones)
+
+ Store(LLess(Buffer() {0x00}, s60c), Local0)
+ m600(arg0, 88, Local0, Zero)
+
+ Store(LLess(Buffer() {0x01}, s60c), Local0)
+ m600(arg0, 89, Local0, Zero)
+
+ Store(LLessEqual(Buffer() {0x00}, s60c), Local0)
+ m600(arg0, 90, Local0, Ones)
+
+ Store(LLessEqual(Buffer() {0x01}, s60c), Local0)
+ m600(arg0, 91, Local0, Zero)
+
+ Store(LNotEqual(Buffer() {0x00}, s60c), Local0)
+ m600(arg0, 92, Local0, Zero)
+
+ Store(LNotEqual(Buffer() {0x01}, s60c), Local0)
+ m600(arg0, 93, Local0, Ones)
+
+ Store(LEqual(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x00,},
+ s60e),
+ Local0)
+ m600(arg0, 94, Local0, Ones)
+
+ Store(LEqual(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x01,},
+ s60e),
+ Local0)
+ m600(arg0, 95, Local0, Zero)
+
+ Store(LGreater(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x00,},
+ s60e),
+ Local0)
+ m600(arg0, 96, Local0, Zero)
+
+ Store(LGreater(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x01,},
+ s60e),
+ Local0)
+ m600(arg0, 97, Local0, Ones)
+
+ Store(LGreaterEqual(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x00,},
+ s60e),
+ Local0)
+ m600(arg0, 98, Local0, Ones)
+
+ Store(LGreater(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x01,},
+ s60e),
+ Local0)
+ m600(arg0, 99, Local0, Ones)
+
+ Store(LLess(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x00,},
+ s60e),
+ Local0)
+ m600(arg0, 100, Local0, Zero)
+
+ Store(LLess(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x01,},
+ s60e),
+ Local0)
+ m600(arg0, 101, Local0, Zero)
+
+ Store(LLessEqual(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x00,},
+ s60e),
+ Local0)
+ m600(arg0, 102, Local0, Ones)
+
+ Store(LLessEqual(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x01,},
+ s60e),
+ Local0)
+ m600(arg0, 103, Local0, Zero)
+
+ Store(LNotEqual(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x00,},
+ s60e),
+ Local0)
+ m600(arg0, 104, Local0, Zero)
+
+ Store(LNotEqual(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x01,},
+ s60e),
+ Local0)
+ m600(arg0, 105, Local0, Ones)
+ }
+
+ // String to Buffer conversion of the String second operand of
+ // Concatenate operator when the first operand is evaluated as Buffer
+
+ Method(m036, 1)
+ {
+ Store(Concatenate(Buffer(){0x5a}, s601), Local0)
+ m600(arg0, 0, Local0, bb29)
+
+ Store(Concatenate(Buffer(){0x5a, 0x00}, s601), Local0)
+ m600(arg0, 1, Local0, bb2a)
+
+ Store(Concatenate(aub0, s601), Local0)
+ m600(arg0, 2, Local0, bb29)
+
+ Store(Concatenate(aub1, s601), Local0)
+ m600(arg0, 3, Local0, bb2a)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aub0)), s601), Local0)
+ m600(arg0, 4, Local0, bb29)
+
+ Store(Concatenate(Derefof(Refof(aub1)), s601), Local0)
+ m600(arg0, 5, Local0, bb2a)
+ }
+
+ Store(Concatenate(Derefof(Index(paub, 0)), s601), Local0)
+ m600(arg0, 6, Local0, bb29)
+
+ Store(Concatenate(Derefof(Index(paub, 1)), s601), Local0)
+ m600(arg0, 7, Local0, bb2a)
+
+ // Method returns Buffer
+
+ Store(Concatenate(m601(3, 0), s601), Local0)
+ m600(arg0, 8, Local0, bb29)
+
+ Store(Concatenate(m601(3, 1), s601), Local0)
+ m600(arg0, 9, Local0, bb2a)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(3, 0, 1)), s601), Local0)
+ m600(arg0, 10, Local0, bb29)
+
+ Store(Concatenate(Derefof(m602(3, 1, 1)), s601), Local0)
+ m600(arg0, 11, Local0, bb2a)
+ }
+
+ Concatenate(Buffer(){0x5a}, s601, Local0)
+ m600(arg0, 12, Local0, bb29)
+
+ Concatenate(Buffer(){0x5a, 0x00}, s601, Local0)
+ m600(arg0, 13, Local0, bb2a)
+
+ Concatenate(aub0, s601, Local0)
+ m600(arg0, 14, Local0, bb29)
+
+ Concatenate(aub1, s601, Local0)
+ m600(arg0, 15, Local0, bb2a)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aub0)), s601, Local0)
+ m600(arg0, 16, Local0, bb29)
+
+ Concatenate(Derefof(Refof(aub1)), s601, Local0)
+ m600(arg0, 17, Local0, bb2a)
+ }
+
+ Concatenate(Derefof(Index(paub, 0)), s601, Local0)
+ m600(arg0, 18, Local0, bb29)
+
+ Concatenate(Derefof(Index(paub, 1)), s601, Local0)
+ m600(arg0, 19, Local0, bb2a)
+
+ // Method returns Buffer
+
+ Concatenate(m601(3, 0), s601, Local0)
+ m600(arg0, 20, Local0, bb29)
+
+ Concatenate(m601(3, 1), s601, Local0)
+ m600(arg0, 21, Local0, bb2a)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Concatenate(Derefof(m602(3, 0, 1)), s601, Local0)
+ m600(arg0, 22, Local0, bb29)
+
+ Concatenate(Derefof(m602(3, 1, 1)), s601, Local0)
+ m600(arg0, 23, Local0, bb2a)
+ }
+
+ // Boundary Cases
+
+ Store(Concatenate(Buffer(){0x5a}, s60c), Local0)
+ m600(arg0, 24, Local0, bb2b)
+
+ Store(Concatenate(Buffer(){0x5a, 0x00}, s60c), Local0)
+ m600(arg0, 25, Local0, bb2c)
+
+ Store(0, Local1)
+ Store(Concatenate(Buffer(Local1){}, s60e), Local0)
+ m600(arg0, 26, Local0, bb2d)
+ }
+
+ // String to Buffer conversion of the String Source operand of
+ // ToString operator (has a visual effect in shortening of the
+ // String taken the null character, that is impossible to show
+ // with an immediate String constant).
+
+ Method(m037, 1)
+ {
+ Store(ToString(s601, Ones), Local0)
+ m600(arg0, 0, Local0, bs20)
+
+ Store(ToString(s601, 3), Local0)
+ m600(arg0, 1, Local0, bs21)
+
+ Store(ToString(s601, aui0), Local0)
+ m600(arg0, 2, Local0, bs20)
+
+ Store(ToString(s601, aui7), Local0)
+ m600(arg0, 3, Local0, bs21)
+
+ if (y078) {
+ Store(ToString(s601, Derefof(Refof(aui0))), Local0)
+ m600(arg0, 4, Local0, bs20)
+
+ Store(ToString(s601, Derefof(Refof(aui7))), Local0)
+ m600(arg0, 5, Local0, bs21)
+ }
+
+ Store(ToString(s601, Derefof(Index(paui, 0))), Local0)
+ m600(arg0, 6, Local0, bs20)
+
+ Store(ToString(s601, Derefof(Index(paui, 7))), Local0)
+ m600(arg0, 7, Local0, bs21)
+
+ // Method returns Length parameter
+
+ Store(ToString(s601, m601(1, 0)), Local0)
+ m600(arg0, 8, Local0, bs20)
+
+ Store(ToString(s601, m601(1, 7)), Local0)
+ m600(arg0, 9, Local0, bs21)
+
+ // Method returns Reference to Length parameter
+
+ if (y500) {
+ Store(ToString(s601, Derefof(m601(1, 0))), Local0)
+ m600(arg0, 10, Local0, bs20)
+
+ Store(ToString(s601, Derefof(m601(1, 7))), Local0)
+ m600(arg0, 11, Local0, bs21)
+ }
+
+ ToString(s601, Ones, Local0)
+ m600(arg0, 12, Local0, bs20)
+
+ ToString(s601, 3, Local0)
+ m600(arg0, 13, Local0, bs21)
+
+ ToString(s601, aui0, Local0)
+ m600(arg0, 14, Local0, bs20)
+
+ ToString(s601, aui7, Local0)
+ m600(arg0, 15, Local0, bs21)
+
+ if (y078) {
+ ToString(s601, Derefof(Refof(aui0)), Local0)
+ m600(arg0, 16, Local0, bs20)
+
+ ToString(s601, Derefof(Refof(aui7)), Local0)
+ m600(arg0, 17, Local0, bs21)
+ }
+
+ ToString(s601, Derefof(Index(paui, 0)), Local0)
+ m600(arg0, 18, Local0, bs20)
+
+ ToString(s601, Derefof(Index(paui, 7)), Local0)
+ m600(arg0, 19, Local0, bs21)
+
+ // Method returns Length parameter
+
+ ToString(s601, m601(1, 0), Local0)
+ m600(arg0, 20, Local0, bs20)
+
+ ToString(s601, m601(1, 7), Local0)
+ m600(arg0, 21, Local0, bs21)
+
+ // Method returns Reference to Length parameter
+
+ if (y500) {
+ ToString(s601, Derefof(m601(1, 0)), Local0)
+ m600(arg0, 22, Local0, bs20)
+
+ ToString(s601, Derefof(m601(1, 7)), Local0)
+ m600(arg0, 23, Local0, bs21)
+ }
+
+ // Boundary Cases
+
+ Store(ToString(s60c, Ones), Local0)
+ m600(arg0, 24, Local0, bs22)
+
+ Store(ToString(s60c, 3), Local0)
+ m600(arg0, 25, Local0, bs22)
+
+ Store(ToString(
+ s60e,
+ Ones), Local0)
+ m600(arg0, 26, Local0, bs23)
+
+ Store(ToString(
+ s60e,
+ 3), Local0)
+ m600(arg0, 27, Local0, bs24)
+ }
+
+// Method(m038, 1)
+
+// Method(m039, 1)
+
+ // Buffer to Integer implicit conversion Cases.
+
+ // Buffer to Integer conversion of the Buffer sole operand
+ // of the 1-parameter Integer arithmetic operators
+ // (Decrement, Increment, FindSetLeftBit, FindSetRightBit, Not)
+
+ Method(m64l, 1)
+ {
+ // Decrement
+ if (y501) {
+ Store(Decrement(b606), Local0)
+ m600(arg0, 0, Local0, bi12)
+
+ Store(Decrement(b60a), Local0)
+ m600(arg0, 1, Local0, bi16)
+ }
+
+ // Increment
+ if (y501) {
+ Store(Increment(b606), Local0)
+ m600(arg0, 2, Local0, bi13)
+
+ Store(Increment(b60a), Local0)
+ m600(arg0, 3, Local0, bi17)
+ }
+
+ // FindSetLeftBit
+
+ Store(FindSetLeftBit(b606), Local0)
+ m600(arg0, 4, Local0, 10)
+
+ Store(FindSetLeftBit(b60a), Local0)
+ m600(arg0, 5, Local0, 64)
+
+ // FindSetRightBit
+
+ Store(FindSetRightBit(b606), Local0)
+ m600(arg0, 6, Local0, 1)
+
+ Store(FindSetRightBit(b60a), Local0)
+ m600(arg0, 7, Local0, 3)
+
+ // Not
+
+ Store(Not(b606), Local0)
+ m600(arg0, 8, Local0, 0xfffffffffffffcde)
+
+ Store(Not(b60a), Local0)
+ m600(arg0, 9, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Method(m32l, 1)
+ {
+ // Decrement
+ if (y501) {
+ Store(Decrement(b606), Local0)
+ m600(arg0, 0, Local0, bi12)
+
+ Store(Decrement(b60a), Local0)
+ m600(arg0, 1, Local0, bi18)
+ }
+
+ // Increment
+ if (y501) {
+ Store(Increment(b606), Local0)
+ m600(arg0, 2, Local0, bi13)
+
+ Store(Increment(b60a), Local0)
+ m600(arg0, 3, Local0, bi19)
+ }
+
+ // FindSetLeftBit
+
+ Store(FindSetLeftBit(b606), Local0)
+ m600(arg0, 4, Local0, 10)
+
+ Store(FindSetLeftBit(b60a), Local0)
+ m600(arg0, 5, Local0, 32)
+
+ // FindSetRightBit
+
+ Store(FindSetRightBit(b606), Local0)
+ m600(arg0, 6, Local0, 1)
+
+ Store(FindSetRightBit(b60a), Local0)
+ m600(arg0, 7, Local0, 3)
+
+ // Not
+
+ Store(Not(b606), Local0)
+ m600(arg0, 8, Local0, 0xfffffcde)
+
+ Store(Not(b60a), Local0)
+ m600(arg0, 9, Local0, 0x29af5d7b)
+ }
+
+ // Buffer to Integer conversion of the Buffer sole operand
+ // of the LNot Logical Integer operator
+ Method(m03a, 1)
+ {
+ Store(LNot(b600), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LNot(b606), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ if (F64) {
+ Store(LNot(b60a), Local0)
+ m600(arg0, 2, Local0, Zero)
+ } else {
+ Store(LNot(b60a), Local0)
+ m600(arg0, 3, Local0, Zero)
+ }
+ }
+
+ // Buffer to Integer conversion of the Buffer sole operand
+ // of the FromBCD and ToBCD conversion operators
+
+ Method(m64m, 1)
+ {
+ // FromBCD
+
+ Store(FromBCD(b606), Local0)
+ m600(arg0, 2, Local0, 0x141)
+
+ Store(FromBCD(b60f), Local0)
+ m600(arg0, 3, Local0, 0xd76162ee9ec35)
+
+ FromBCD(b606, Local0)
+ m600(arg0, 2, Local0, 0x141)
+
+ FromBCD(b60f, Local0)
+ m600(arg0, 3, Local0, 0xd76162ee9ec35)
+
+ // ToBCD
+
+ Store(ToBCD(b606), Local0)
+ m600(arg0, 4, Local0, 0x801)
+
+// ??? No error of iASL on constant folding
+ Store(ToBCD(b610), Local0)
+ m600(arg0, 5, Local0, 0x3789012345678901)
+
+ ToBCD(b606, Local0)
+ m600(arg0, 4, Local0, 0x801)
+
+ ToBCD(b610, Local0)
+ m600(arg0, 5, Local0, 0x3789012345678901)
+ }
+
+ Method(m32m, 1)
+ {
+ // FromBCD
+
+ Store(FromBCD(b606), Local0)
+ m600(arg0, 2, Local0, 0x141)
+
+ Store(FromBCD(b611), Local0)
+ m600(arg0, 3, Local0, 0x55f2cc0)
+
+ FromBCD(b606, Local0)
+ m600(arg0, 2, Local0, 0x141)
+
+ FromBCD(b611, Local0)
+ m600(arg0, 3, Local0, 0x55f2cc0)
+
+ // ToBCD
+
+ Store(ToBCD(b606), Local0)
+ m600(arg0, 4, Local0, 0x801)
+
+ Store(ToBCD(b612), Local0)
+ m600(arg0, 5, Local0, 0x90123456)
+
+ ToBCD(b606, Local0)
+ m600(arg0, 4, Local0, 0x801)
+
+ ToBCD(b612, Local0)
+ m600(arg0, 5, Local0, 0x90123456)
+ }
+
+ // Buffer to Integer conversion of each Buffer operand
+ // of the 2-parameter Integer arithmetic operators
+ // Add, And, Divide, Mod, Multiply, NAnd, NOr, Or,
+ // ShiftLeft, ShiftRight, Subtract, Xor
+
+ // Add, common 32-bit/64-bit test
+ Method(m03b, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Add(b606, 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Add(b606, 1), Local0)
+ m600(arg0, 1, Local0, 0x322)
+
+ Store(Add(b606, aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Add(b606, aui6), Local0)
+ m600(arg0, 3, Local0, 0x322)
+
+ if (y078) {
+ Store(Add(b606, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Add(b606, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x322)
+ }
+
+ Store(Add(b606, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Add(b606, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x322)
+
+ // Method returns Integer
+
+ Store(Add(b606, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Add(b606, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x322)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(b606, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Add(b606, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x322)
+ }
+
+ Add(b606, 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Add(b606, 1, Local0)
+ m600(arg0, 13, Local0, 0x322)
+
+ Add(b606, aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Add(b606, aui6, Local0)
+ m600(arg0, 15, Local0, 0x322)
+
+ if (y078) {
+ Add(b606, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Add(b606, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x322)
+ }
+
+ Add(b606, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Add(b606, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x322)
+
+ // Method returns Integer
+
+ Add(b606, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Add(b606, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x322)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(b606, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Add(b606, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x322)
+ }
+
+ // Conversion of the second operand
+
+ Store(Add(0, b606), Local0)
+ m600(arg0, 24, Local0, 0x321)
+
+ Store(Add(1, b606), Local0)
+ m600(arg0, 25, Local0, 0x322)
+
+ Store(Add(aui5, b606), Local0)
+ m600(arg0, 26, Local0, 0x321)
+
+ Store(Add(aui6, b606), Local0)
+ m600(arg0, 27, Local0, 0x322)
+
+ if (y078) {
+ Store(Add(Derefof(Refof(aui5)), b606), Local0)
+ m600(arg0, 28, Local0, 0x321)
+
+ Store(Add(Derefof(Refof(aui6)), b606), Local0)
+ m600(arg0, 29, Local0, 0x322)
+ }
+
+ Store(Add(Derefof(Index(paui, 5)), b606), Local0)
+ m600(arg0, 30, Local0, 0x321)
+
+ Store(Add(Derefof(Index(paui, 6)), b606), Local0)
+ m600(arg0, 31, Local0, 0x322)
+
+ // Method returns Integer
+
+ Store(Add(m601(1, 5), b606), Local0)
+ m600(arg0, 32, Local0, 0x321)
+
+ Store(Add(m601(1, 6), b606), Local0)
+ m600(arg0, 33, Local0, 0x322)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(Derefof(m602(1, 5, 1)), b606), Local0)
+ m600(arg0, 34, Local0, 0x321)
+
+ Store(Add(Derefof(m602(1, 6, 1)), b606), Local0)
+ m600(arg0, 35, Local0, 0x322)
+ }
+
+ Add(0, b606, Local0)
+ m600(arg0, 36, Local0, 0x321)
+
+ Add(1, b606, Local0)
+ m600(arg0, 37, Local0, 0x322)
+
+ Add(aui5, b606, Local0)
+ m600(arg0, 38, Local0, 0x321)
+
+ Add(aui6, b606, Local0)
+ m600(arg0, 39, Local0, 0x322)
+
+ if (y078) {
+ Add(Derefof(Refof(aui5)), b606, Local0)
+ m600(arg0, 40, Local0, 0x321)
+
+ Add(Derefof(Refof(aui6)), b606, Local0)
+ m600(arg0, 41, Local0, 0x322)
+ }
+
+ Add(Derefof(Index(paui, 5)), b606, Local0)
+ m600(arg0, 42, Local0, 0x321)
+
+ Add(Derefof(Index(paui, 6)), b606, Local0)
+ m600(arg0, 43, Local0, 0x322)
+
+ // Method returns Integer
+
+ Add(m601(1, 5), b606, Local0)
+ m600(arg0, 44, Local0, 0x321)
+
+ Add(m601(1, 6), b606, Local0)
+ m600(arg0, 45, Local0, 0x322)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(Derefof(m602(1, 5, 1)), b606, Local0)
+ m600(arg0, 46, Local0, 0x321)
+
+ Add(Derefof(m602(1, 6, 1)), b606, Local0)
+ m600(arg0, 47, Local0, 0x322)
+ }
+ }
+
+ // Add, 64-bit
+ Method(m03c, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Add(b60a, 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(b60a, 1), Local0)
+ m600(arg0, 1, Local0, 0xfe7cb391d650a285)
+
+ Store(Add(b60a, aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(b60a, aui6), Local0)
+ m600(arg0, 3, Local0, 0xfe7cb391d650a285)
+
+ if (y078) {
+ Store(Add(b60a, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(b60a, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xfe7cb391d650a285)
+ }
+
+ Store(Add(b60a, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(b60a, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Integer
+
+ Store(Add(b60a, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(b60a, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(b60a, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(b60a, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfe7cb391d650a285)
+ }
+
+ Add(b60a, 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Add(b60a, 1, Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a285)
+
+ Add(b60a, aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Add(b60a, aui6, Local0)
+ m600(arg0, 15, Local0, 0xfe7cb391d650a285)
+
+ if (y078) {
+ Add(b60a, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Add(b60a, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xfe7cb391d650a285)
+ }
+
+ Add(b60a, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Add(b60a, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Integer
+
+ Add(b60a, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Add(b60a, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(b60a, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Add(b60a, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfe7cb391d650a285)
+ }
+
+ // Conversion of the second operand
+
+ Store(Add(0, b60a), Local0)
+ m600(arg0, 24, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(1, b60a), Local0)
+ m600(arg0, 25, Local0, 0xfe7cb391d650a285)
+
+ Store(Add(aui5, b60a), Local0)
+ m600(arg0, 26, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(aui6, b60a), Local0)
+ m600(arg0, 27, Local0, 0xfe7cb391d650a285)
+
+ if (y078) {
+ Store(Add(Derefof(Refof(aui5)), b60a), Local0)
+ m600(arg0, 28, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(Refof(aui6)), b60a), Local0)
+ m600(arg0, 29, Local0, 0xfe7cb391d650a285)
+ }
+
+ Store(Add(Derefof(Index(paui, 5)), b60a), Local0)
+ m600(arg0, 30, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(Index(paui, 6)), b60a), Local0)
+ m600(arg0, 31, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Integer
+
+ Store(Add(m601(1, 5), b60a), Local0)
+ m600(arg0, 32, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(m601(1, 6), b60a), Local0)
+ m600(arg0, 33, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(Derefof(m602(1, 5, 1)), b60a), Local0)
+ m600(arg0, 34, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(m602(1, 6, 1)), b60a), Local0)
+ m600(arg0, 35, Local0, 0xfe7cb391d650a285)
+ }
+
+ Add(0, b60a, Local0)
+ m600(arg0, 36, Local0, 0xfe7cb391d650a284)
+
+ Add(1, b60a, Local0)
+ m600(arg0, 37, Local0, 0xfe7cb391d650a285)
+
+ Add(aui5, b60a, Local0)
+ m600(arg0, 38, Local0, 0xfe7cb391d650a284)
+
+ Add(aui6, b60a, Local0)
+ m600(arg0, 39, Local0, 0xfe7cb391d650a285)
+
+ if (y078) {
+ Add(Derefof(Refof(aui5)), b60a, Local0)
+ m600(arg0, 40, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(Refof(aui6)), b60a, Local0)
+ m600(arg0, 41, Local0, 0xfe7cb391d650a285)
+ }
+
+ Add(Derefof(Index(paui, 5)), b60a, Local0)
+ m600(arg0, 42, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(Index(paui, 6)), b60a, Local0)
+ m600(arg0, 43, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Integer
+
+ Add(m601(1, 5), b60a, Local0)
+ m600(arg0, 44, Local0, 0xfe7cb391d650a284)
+
+ Add(m601(1, 6), b60a, Local0)
+ m600(arg0, 45, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(Derefof(m602(1, 5, 1)), b60a, Local0)
+ m600(arg0, 46, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(m602(1, 6, 1)), b60a, Local0)
+ m600(arg0, 47, Local0, 0xfe7cb391d650a285)
+ }
+
+ // Conversion of the both operands
+
+ Store(Add(b606, b60a), Local0)
+ m600(arg0, 48, Local0, 0xfe7cb391d650a5a5)
+
+ Store(Add(b60a, b606), Local0)
+ m600(arg0, 49, Local0, 0xfe7cb391d650a5a5)
+
+ Add(b606, b60a, Local0)
+ m600(arg0, 50, Local0, 0xfe7cb391d650a5a5)
+
+ Add(b60a, b606, Local0)
+ m600(arg0, 51, Local0, 0xfe7cb391d650a5a5)
+ }
+
+ // Add, 32-bit
+ Method(m03d, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Add(b60a, 0), Local0)
+ m600(arg0, 0, Local0, 0xd650a284)
+
+ Store(Add(b60a, 1), Local0)
+ m600(arg0, 1, Local0, 0xd650a285)
+
+ Store(Add(b60a, aui5), Local0)
+ m600(arg0, 2, Local0, 0xd650a284)
+
+ Store(Add(b60a, aui6), Local0)
+ m600(arg0, 3, Local0, 0xd650a285)
+
+ if (y078) {
+ Store(Add(b60a, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xd650a284)
+
+ Store(Add(b60a, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xd650a285)
+ }
+
+ Store(Add(b60a, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xd650a284)
+
+ Store(Add(b60a, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xd650a285)
+
+ // Method returns Integer
+
+ Store(Add(b60a, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xd650a284)
+
+ Store(Add(b60a, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xd650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(b60a, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xd650a284)
+
+ Store(Add(b60a, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xd650a285)
+ }
+
+ Add(b60a, 0, Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ Add(b60a, 1, Local0)
+ m600(arg0, 13, Local0, 0xd650a285)
+
+ Add(b60a, aui5, Local0)
+ m600(arg0, 14, Local0, 0xd650a284)
+
+ Add(b60a, aui6, Local0)
+ m600(arg0, 15, Local0, 0xd650a285)
+
+ if (y078) {
+ Add(b60a, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xd650a284)
+
+ Add(b60a, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xd650a285)
+ }
+
+ Add(b60a, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xd650a284)
+
+ Add(b60a, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xd650a285)
+
+ // Method returns Integer
+
+ Add(b60a, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xd650a284)
+
+ Add(b60a, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xd650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(b60a, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xd650a284)
+
+ Add(b60a, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xd650a285)
+ }
+
+ // Conversion of the second operand
+
+ Store(Add(0, b60a), Local0)
+ m600(arg0, 24, Local0, 0xd650a284)
+
+ Store(Add(1, b60a), Local0)
+ m600(arg0, 25, Local0, 0xd650a285)
+
+ Store(Add(aui5, b60a), Local0)
+ m600(arg0, 26, Local0, 0xd650a284)
+
+ Store(Add(aui6, b60a), Local0)
+ m600(arg0, 27, Local0, 0xd650a285)
+
+ if (y078) {
+ Store(Add(Derefof(Refof(aui5)), b60a), Local0)
+ m600(arg0, 28, Local0, 0xd650a284)
+
+ Store(Add(Derefof(Refof(aui6)), b60a), Local0)
+ m600(arg0, 29, Local0, 0xd650a285)
+ }
+
+ Store(Add(Derefof(Index(paui, 5)), b60a), Local0)
+ m600(arg0, 30, Local0, 0xd650a284)
+
+ Store(Add(Derefof(Index(paui, 6)), b60a), Local0)
+ m600(arg0, 31, Local0, 0xd650a285)
+
+ // Method returns Integer
+
+ Store(Add(m601(1, 5), b60a), Local0)
+ m600(arg0, 32, Local0, 0xd650a284)
+
+ Store(Add(m601(1, 6), b60a), Local0)
+ m600(arg0, 33, Local0, 0xd650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(Derefof(m602(1, 5, 1)), b60a), Local0)
+ m600(arg0, 34, Local0, 0xd650a284)
+
+ Store(Add(Derefof(m602(1, 6, 1)), b60a), Local0)
+ m600(arg0, 35, Local0, 0xd650a285)
+ }
+
+ Add(0, b60a, Local0)
+ m600(arg0, 36, Local0, 0xd650a284)
+
+ Add(1, b60a, Local0)
+ m600(arg0, 37, Local0, 0xd650a285)
+
+ Add(aui5, b60a, Local0)
+ m600(arg0, 38, Local0, 0xd650a284)
+
+ Add(aui6, b60a, Local0)
+ m600(arg0, 39, Local0, 0xd650a285)
+
+ if (y078) {
+ Add(Derefof(Refof(aui5)), b60a, Local0)
+ m600(arg0, 40, Local0, 0xd650a284)
+
+ Add(Derefof(Refof(aui6)), b60a, Local0)
+ m600(arg0, 41, Local0, 0xd650a285)
+ }
+
+ Add(Derefof(Index(paui, 5)), b60a, Local0)
+ m600(arg0, 42, Local0, 0xd650a284)
+
+ Add(Derefof(Index(paui, 6)), b60a, Local0)
+ m600(arg0, 43, Local0, 0xd650a285)
+
+ // Method returns Integer
+
+ Add(m601(1, 5), b60a, Local0)
+ m600(arg0, 44, Local0, 0xd650a284)
+
+ Add(m601(1, 6), b60a, Local0)
+ m600(arg0, 45, Local0, 0xd650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(Derefof(m602(1, 5, 1)), b60a, Local0)
+ m600(arg0, 46, Local0, 0xd650a284)
+
+ Add(Derefof(m602(1, 6, 1)), b60a, Local0)
+ m600(arg0, 47, Local0, 0xd650a285)
+ }
+
+ // Conversion of the both operands
+
+ Store(Add(b606, b60a), Local0)
+ m600(arg0, 48, Local0, 0xd650a5a5)
+
+ Store(Add(b60a, b606), Local0)
+ m600(arg0, 49, Local0, 0xd650a5a5)
+
+ Add(b606, b60a, Local0)
+ m600(arg0, 50, Local0, 0xd650a5a5)
+
+ Add(b60a, b606, Local0)
+ m600(arg0, 51, Local0, 0xd650a5a5)
+ }
+
+ // And, common 32-bit/64-bit test
+ Method(m03e, 1)
+ {
+ // Conversion of the first operand
+
+ Store(And(b606, 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(And(b606, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0x321)
+
+ Store(And(b606, aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(And(b606, auij), Local0)
+ m600(arg0, 3, Local0, 0x321)
+
+ if (y078) {
+ Store(And(b606, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(And(b606, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0x321)
+ }
+
+ Store(And(b606, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(And(b606, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0x321)
+
+ // Method returns Integer
+
+ Store(And(b606, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(And(b606, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(b606, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(And(b606, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0x321)
+ }
+
+ And(b606, 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ And(b606, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0x321)
+
+ And(b606, aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ And(b606, auij, Local0)
+ m600(arg0, 15, Local0, 0x321)
+
+ if (y078) {
+ And(b606, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ And(b606, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0x321)
+ }
+
+ And(b606, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ And(b606, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0x321)
+
+ // Method returns Integer
+
+ And(b606, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ And(b606, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(b606, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ And(b606, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0x321)
+ }
+
+ // Conversion of the second operand
+
+ Store(And(0, b606), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(And(0xffffffffffffffff, b606), Local0)
+ m600(arg0, 25, Local0, 0x321)
+
+ Store(And(aui5, b606), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(And(auij, b606), Local0)
+ m600(arg0, 27, Local0, 0x321)
+
+ if (y078) {
+ Store(And(Derefof(Refof(aui5)), b606), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(And(Derefof(Refof(auij)), b606), Local0)
+ m600(arg0, 29, Local0, 0x321)
+ }
+
+ Store(And(Derefof(Index(paui, 5)), b606), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(And(Derefof(Index(paui, 19)), b606), Local0)
+ m600(arg0, 31, Local0, 0x321)
+
+ // Method returns Integer
+
+ Store(And(m601(1, 5), b606), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(And(m601(1, 19), b606), Local0)
+ m600(arg0, 33, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(Derefof(m602(1, 5, 1)), b606), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(And(Derefof(m602(1, 19, 1)), b606), Local0)
+ m600(arg0, 35, Local0, 0x321)
+ }
+
+ And(0, b606, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ And(0xffffffffffffffff, b606, Local0)
+ m600(arg0, 37, Local0, 0x321)
+
+ And(aui5, b606, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ And(auij, b606, Local0)
+ m600(arg0, 39, Local0, 0x321)
+
+ if (y078) {
+ And(Derefof(Refof(aui5)), b606, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ And(Derefof(Refof(auij)), b606, Local0)
+ m600(arg0, 41, Local0, 0x321)
+ }
+
+ And(Derefof(Index(paui, 5)), b606, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ And(Derefof(Index(paui, 19)), b606, Local0)
+ m600(arg0, 43, Local0, 0x321)
+
+ // Method returns Integer
+
+ And(m601(1, 5), b606, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ And(m601(1, 19), b606, Local0)
+ m600(arg0, 45, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(Derefof(m602(1, 5, 1)), b606, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ And(Derefof(m602(1, 19, 1)), b606, Local0)
+ m600(arg0, 47, Local0, 0x321)
+ }
+ }
+
+ // And, 64-bit
+ Method(m03f, 1)
+ {
+ // Conversion of the first operand
+
+ Store(And(b60a, 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(And(b60a, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xfe7cb391d650a284)
+
+ Store(And(b60a, aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(And(b60a, auij), Local0)
+ m600(arg0, 3, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Store(And(b60a, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(And(b60a, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xfe7cb391d650a284)
+ }
+
+ Store(And(b60a, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(And(b60a, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Store(And(b60a, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(And(b60a, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(b60a, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(And(b60a, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfe7cb391d650a284)
+ }
+
+ And(b60a, 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ And(b60a, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a284)
+
+ And(b60a, aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ And(b60a, auij, Local0)
+ m600(arg0, 15, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ And(b60a, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ And(b60a, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xfe7cb391d650a284)
+ }
+
+ And(b60a, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ And(b60a, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ And(b60a, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ And(b60a, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(b60a, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ And(b60a, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfe7cb391d650a284)
+ }
+
+ // Conversion of the second operand
+
+ Store(And(0, b60a), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(And(0xffffffffffffffff, b60a), Local0)
+ m600(arg0, 25, Local0, 0xfe7cb391d650a284)
+
+ Store(And(aui5, b60a), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(And(auij, b60a), Local0)
+ m600(arg0, 27, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Store(And(Derefof(Refof(aui5)), b60a), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(And(Derefof(Refof(auij)), b60a), Local0)
+ m600(arg0, 29, Local0, 0xfe7cb391d650a284)
+ }
+
+ Store(And(Derefof(Index(paui, 5)), b60a), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(And(Derefof(Index(paui, 19)), b60a), Local0)
+ m600(arg0, 31, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Store(And(m601(1, 5), b60a), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(And(m601(1, 19), b60a), Local0)
+ m600(arg0, 33, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(Derefof(m602(1, 5, 1)), b60a), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(And(Derefof(m602(1, 19, 1)), b60a), Local0)
+ m600(arg0, 35, Local0, 0xfe7cb391d650a284)
+ }
+
+ And(0, b60a, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ And(0xffffffffffffffff, b60a, Local0)
+ m600(arg0, 37, Local0, 0xfe7cb391d650a284)
+
+ And(aui5, b60a, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ And(auij, b60a, Local0)
+ m600(arg0, 39, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ And(Derefof(Refof(aui5)), b60a, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ And(Derefof(Refof(auij)), b60a, Local0)
+ m600(arg0, 41, Local0, 0xfe7cb391d650a284)
+ }
+
+ And(Derefof(Index(paui, 5)), b60a, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ And(Derefof(Index(paui, 19)), b60a, Local0)
+ m600(arg0, 43, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ And(m601(1, 5), b60a, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ And(m601(1, 19), b60a, Local0)
+ m600(arg0, 45, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(Derefof(m602(1, 5, 1)), b60a, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ And(Derefof(m602(1, 19, 1)), b60a, Local0)
+ m600(arg0, 47, Local0, 0xfe7cb391d650a284)
+ }
+
+ // Conversion of the both operands
+
+ Store(And(b606, b60a), Local0)
+ m600(arg0, 48, Local0, 0x200)
+
+ Store(And(b60a, b606), Local0)
+ m600(arg0, 49, Local0, 0x200)
+
+ And(b606, b60a, Local0)
+ m600(arg0, 50, Local0, 0x200)
+
+ And(b60a, b606, Local0)
+ m600(arg0, 51, Local0, 0x200)
+ }
+
+ // And, 32-bit
+ Method(m040, 1)
+ {
+ // Conversion of the first operand
+
+ Store(And(b60a, 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(And(b60a, 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0xd650a284)
+
+ Store(And(b60a, aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(And(b60a, auii), Local0)
+ m600(arg0, 3, Local0, 0xd650a284)
+
+ if (y078) {
+ Store(And(b60a, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(And(b60a, Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0xd650a284)
+ }
+
+ Store(And(b60a, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(And(b60a, Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0xd650a284)
+
+ // Method returns Integer
+
+ Store(And(b60a, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(And(b60a, m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0xd650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(b60a, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(And(b60a, Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0xd650a284)
+ }
+
+ And(b60a, 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ And(b60a, 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0xd650a284)
+
+ And(b60a, aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ And(b60a, auii, Local0)
+ m600(arg0, 15, Local0, 0xd650a284)
+
+ if (y078) {
+ And(b60a, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ And(b60a, Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0xd650a284)
+ }
+
+ And(b60a, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ And(b60a, Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0xd650a284)
+
+ // Method returns Integer
+
+ And(b60a, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ And(b60a, m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0xd650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(b60a, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ And(b60a, Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0xd650a284)
+ }
+
+ // Conversion of the second operand
+
+ Store(And(0, b60a), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(And(0xffffffff, b60a), Local0)
+ m600(arg0, 25, Local0, 0xd650a284)
+
+ Store(And(aui5, b60a), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(And(auii, b60a), Local0)
+ m600(arg0, 27, Local0, 0xd650a284)
+
+ if (y078) {
+ Store(And(Derefof(Refof(aui5)), b60a), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(And(Derefof(Refof(auii)), b60a), Local0)
+ m600(arg0, 29, Local0, 0xd650a284)
+ }
+
+ Store(And(Derefof(Index(paui, 5)), b60a), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(And(Derefof(Index(paui, 18)), b60a), Local0)
+ m600(arg0, 31, Local0, 0xd650a284)
+
+ // Method returns Integer
+
+ Store(And(m601(1, 5), b60a), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(And(m601(1, 18), b60a), Local0)
+ m600(arg0, 33, Local0, 0xd650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(Derefof(m602(1, 5, 1)), b60a), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(And(Derefof(m602(1, 18, 1)), b60a), Local0)
+ m600(arg0, 35, Local0, 0xd650a284)
+ }
+
+ And(0, b60a, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ And(0xffffffff, b60a, Local0)
+ m600(arg0, 37, Local0, 0xd650a284)
+
+ And(aui5, b60a, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ And(auii, b60a, Local0)
+ m600(arg0, 39, Local0, 0xd650a284)
+
+ if (y078) {
+ And(Derefof(Refof(aui5)), b60a, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ And(Derefof(Refof(auii)), b60a, Local0)
+ m600(arg0, 41, Local0, 0xd650a284)
+ }
+
+ And(Derefof(Index(paui, 5)), b60a, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ And(Derefof(Index(paui, 18)), b60a, Local0)
+ m600(arg0, 43, Local0, 0xd650a284)
+
+ // Method returns Integer
+
+ And(m601(1, 5), b60a, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ And(m601(1, 18), b60a, Local0)
+ m600(arg0, 45, Local0, 0xd650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(Derefof(m602(1, 5, 1)), b60a, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ And(Derefof(m602(1, 18, 1)), b60a, Local0)
+ m600(arg0, 47, Local0, 0xd650a284)
+ }
+
+ // Conversion of the both operands
+
+ Store(And(b606, b60a), Local0)
+ m600(arg0, 48, Local0, 0x200)
+
+ Store(And(b60a, b606), Local0)
+ m600(arg0, 49, Local0, 0x200)
+
+ And(b606, b60a, Local0)
+ m600(arg0, 50, Local0, 0x200)
+
+ And(b60a, b606, Local0)
+ m600(arg0, 51, Local0, 0x200)
+ }
+
+ // Divide, common 32-bit/64-bit test
+ Method(m041, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Divide(b606, 1), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Divide(b606, 0x321), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Divide(b606, aui6), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Divide(b606, aui1), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Divide(b606, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Divide(b606, Derefof(Refof(aui1))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Divide(b606, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Divide(b606, Derefof(Index(paui, 1))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(b606, m601(1, 6)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Divide(b606, m601(1, 1)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(b606, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Divide(b606, Derefof(m602(1, 1, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Divide(b606, 1, Local1, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Divide(b606, 0x321, Local1, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Divide(b606, aui6, Local1, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Divide(b606, aui1, Local1, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Divide(b606, Derefof(Refof(aui6)), Local1, Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Divide(b606, Derefof(Refof(aui1)), Local1, Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Divide(b606, Derefof(Index(paui, 6)), Local1, Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Divide(b606, Derefof(Index(paui, 1)), Local1, Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(b606, m601(1, 6), Local1, Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Divide(b606, m601(1, 1), Local1, Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(b606, Derefof(m602(1, 6, 1)), Local1, Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Divide(b606, Derefof(m602(1, 1, 1)), Local1, Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Divide(1, b606), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Divide(0x321, b606), Local0)
+ m600(arg0, 25, Local0, 1)
+
+ Store(Divide(aui6, b606), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Divide(aui1, b606), Local0)
+ m600(arg0, 27, Local0, 1)
+
+ if (y078) {
+ Store(Divide(Derefof(Refof(aui6)), b606), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Divide(Derefof(Refof(aui1)), b606), Local0)
+ m600(arg0, 29, Local0, 1)
+ }
+
+ Store(Divide(Derefof(Index(paui, 6)), b606), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Divide(Derefof(Index(paui, 1)), b606), Local0)
+ m600(arg0, 31, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(m601(1, 6), b606), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Divide(m601(1, 1), b606), Local0)
+ m600(arg0, 33, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(Derefof(m602(1, 6, 1)), b606), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Divide(Derefof(m602(1, 1, 1)), b606), Local0)
+ m600(arg0, 35, Local0, 1)
+ }
+
+ Divide(1, b606, Local1, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Divide(0x321, b606, Local1, Local0)
+ m600(arg0, 37, Local0, 1)
+
+ Divide(aui6, b606, Local1, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Divide(aui1, b606, Local1, Local0)
+ m600(arg0, 39, Local0, 1)
+
+ if (y078) {
+ Divide(Derefof(Refof(aui6)), b606, Local1, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Divide(Derefof(Refof(aui1)), b606, Local1, Local0)
+ m600(arg0, 41, Local0, 1)
+ }
+
+ Divide(Derefof(Index(paui, 6)), b606, Local1, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Divide(Derefof(Index(paui, 1)), b606, Local1, Local0)
+ m600(arg0, 43, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(m601(1, 6), b606, Local1, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Divide(m601(1, 1), b606, Local1, Local0)
+ m600(arg0, 45, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(Derefof(m602(1, 6, 1)), b606, Local1, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Divide(Derefof(m602(1, 1, 1)), b606, Local1, Local0)
+ m600(arg0, 47, Local0, 1)
+ }
+ }
+
+ // Divide, 64-bit
+ Method(m042, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Divide(b60a, 1), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(b60a, 0xfe7cb391d650a284), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Divide(b60a, aui6), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(b60a, aui4), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Divide(b60a, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(b60a, Derefof(Refof(aui4))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Divide(b60a, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(b60a, Derefof(Index(paui, 4))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(b60a, m601(1, 6)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(b60a, m601(1, 4)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(b60a, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(b60a, Derefof(m602(1, 4, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Divide(b60a, 1, Local1, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Divide(b60a, 0xfe7cb391d650a284, Local1, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Divide(b60a, aui6, Local1, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Divide(b60a, aui4, Local1, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Divide(b60a, Derefof(Refof(aui6)), Local1, Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Divide(b60a, Derefof(Refof(aui4)), Local1, Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Divide(b60a, Derefof(Index(paui, 6)), Local1, Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Divide(b60a, Derefof(Index(paui, 4)), Local1, Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(b60a, m601(1, 6), Local1, Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Divide(b60a, m601(1, 4), Local1, Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(b60a, Derefof(m602(1, 6, 1)), Local1, Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Divide(b60a, Derefof(m602(1, 4, 1)), Local1, Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Divide(1, b60a), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Divide(0xfe7cb391d650a284, b60a), Local0)
+ m600(arg0, 25, Local0, 1)
+
+ Store(Divide(aui6, b60a), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Divide(aui4, b60a), Local0)
+ m600(arg0, 27, Local0, 1)
+
+ if (y078) {
+ Store(Divide(Derefof(Refof(aui6)), b60a), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Divide(Derefof(Refof(aui4)), b60a), Local0)
+ m600(arg0, 29, Local0, 1)
+ }
+
+ Store(Divide(Derefof(Index(paui, 6)), b60a), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Divide(Derefof(Index(paui, 4)), b60a), Local0)
+ m600(arg0, 31, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(m601(1, 6), b60a), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Divide(m601(1, 4), b60a), Local0)
+ m600(arg0, 33, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(Derefof(m602(1, 6, 1)), b60a), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Divide(Derefof(m602(1, 4, 1)), b60a), Local0)
+ m600(arg0, 35, Local0, 1)
+ }
+
+ Divide(1, b60a, Local1, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Divide(0xfe7cb391d650a284, b60a, Local1, Local0)
+ m600(arg0, 37, Local0, 1)
+
+ Divide(aui6, b60a, Local1, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Divide(aui4, b60a, Local1, Local0)
+ m600(arg0, 39, Local0, 1)
+
+ if (y078) {
+ Divide(Derefof(Refof(aui6)), b60a, Local1, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Divide(Derefof(Refof(aui4)), b60a, Local1, Local0)
+ m600(arg0, 41, Local0, 1)
+ }
+
+ Divide(Derefof(Index(paui, 6)), b60a, Local1, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Divide(Derefof(Index(paui, 4)), b60a, Local1, Local0)
+ m600(arg0, 43, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(m601(1, 6), b60a, Local1, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Divide(m601(1, 4), b60a, Local1, Local0)
+ m600(arg0, 45, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(Derefof(m602(1, 6, 1)), b60a, Local1, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Divide(Derefof(m602(1, 4, 1)), b60a, Local1, Local0)
+ m600(arg0, 47, Local0, 1)
+ }
+
+ // Conversion of the both operands
+
+ Store(Divide(b606, b60a), Local0)
+ m600(arg0, 48, Local0, 0)
+
+ Store(Divide(b60a, b606), Local0)
+ m600(arg0, 49, Local0, 0x0051558eb950f5a7)
+
+ Divide(b606, b60a, Local1, Local0)
+ m600(arg0, 50, Local0, 0)
+
+ Divide(b60a, b606, Local1, Local0)
+ m600(arg0, 51, Local0, 0x0051558eb950f5a7)
+ }
+
+ // Divide, 32-bit
+ Method(m043, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Divide(b60a, 1), Local0)
+ m600(arg0, 0, Local0, 0xd650a284)
+
+ Store(Divide(b60a, 0xd650a284), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Divide(b60a, aui6), Local0)
+ m600(arg0, 2, Local0, 0xd650a284)
+
+ Store(Divide(b60a, auik), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Divide(b60a, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 4, Local0, 0xd650a284)
+
+ Store(Divide(b60a, Derefof(Refof(auik))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Divide(b60a, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 6, Local0, 0xd650a284)
+
+ Store(Divide(b60a, Derefof(Index(paui, 20))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(b60a, m601(1, 6)), Local0)
+ m600(arg0, 8, Local0, 0xd650a284)
+
+ Store(Divide(b60a, m601(1, 20)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(b60a, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 10, Local0, 0xd650a284)
+
+ Store(Divide(b60a, Derefof(m602(1, 20, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Divide(b60a, 1, Local1, Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ Divide(b60a, 0xd650a284, Local1, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Divide(b60a, aui6, Local1, Local0)
+ m600(arg0, 14, Local0, 0xd650a284)
+
+ Divide(b60a, auik, Local1, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Divide(b60a, Derefof(Refof(aui6)), Local1, Local0)
+ m600(arg0, 16, Local0, 0xd650a284)
+
+ Divide(b60a, Derefof(Refof(auik)), Local1, Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Divide(b60a, Derefof(Index(paui, 6)), Local1, Local0)
+ m600(arg0, 18, Local0, 0xd650a284)
+
+ Divide(b60a, Derefof(Index(paui, 20)), Local1, Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(b60a, m601(1, 6), Local1, Local0)
+ m600(arg0, 20, Local0, 0xd650a284)
+
+ Divide(b60a, m601(1, 20), Local1, Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(b60a, Derefof(m602(1, 6, 1)), Local1, Local0)
+ m600(arg0, 22, Local0, 0xd650a284)
+
+ Divide(b60a, Derefof(m602(1, 20, 1)), Local1, Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Divide(1, b60a), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Divide(0xd650a284, b60a), Local0)
+ m600(arg0, 25, Local0, 1)
+
+ Store(Divide(aui6, b60a), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Divide(auik, b60a), Local0)
+ m600(arg0, 27, Local0, 1)
+
+ if (y078) {
+ Store(Divide(Derefof(Refof(aui6)), b60a), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Divide(Derefof(Refof(auik)), b60a), Local0)
+ m600(arg0, 29, Local0, 1)
+ }
+
+ Store(Divide(Derefof(Index(paui, 6)), b60a), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Divide(Derefof(Index(paui, 20)), b60a), Local0)
+ m600(arg0, 31, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(m601(1, 6), b60a), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Divide(m601(1, 20), b60a), Local0)
+ m600(arg0, 33, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(Derefof(m602(1, 6, 1)), b60a), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Divide(Derefof(m602(1, 20, 1)), b60a), Local0)
+ m600(arg0, 35, Local0, 1)
+ }
+
+ Divide(1, b60a, Local1, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Divide(0xd650a284, b60a, Local1, Local0)
+ m600(arg0, 37, Local0, 1)
+
+ Divide(aui6, b60a, Local1, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Divide(auik, b60a, Local1, Local0)
+ m600(arg0, 39, Local0, 1)
+
+ if (y078) {
+ Divide(Derefof(Refof(aui6)), b60a, Local1, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Divide(Derefof(Refof(auik)), b60a, Local1, Local0)
+ m600(arg0, 41, Local0, 1)
+ }
+
+ Divide(Derefof(Index(paui, 6)), b60a, Local1, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Divide(Derefof(Index(paui, 20)), b60a, Local1, Local0)
+ m600(arg0, 43, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(m601(1, 6), b60a, Local1, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Divide(m601(1, 20), b60a, Local1, Local0)
+ m600(arg0, 45, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(Derefof(m602(1, 6, 1)), b60a, Local1, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Divide(Derefof(m602(1, 20, 1)), b60a, Local1, Local0)
+ m600(arg0, 47, Local0, 1)
+ }
+
+ // Conversion of the both operands
+
+ Store(Divide(b606, b60a), Local0)
+ m600(arg0, 48, Local0, 0)
+
+ Store(Divide(b60a, b606), Local0)
+ m600(arg0, 49, Local0, 0x00447ec3)
+
+ Divide(b606, b60a, Local1, Local0)
+ m600(arg0, 50, Local0, 0)
+
+ Divide(b60a, b606, Local1, Local0)
+ m600(arg0, 51, Local0, 0x00447ec3)
+ }
+
+ // Mod, common 32-bit/64-bit test
+ Method(m044, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Mod(b606, 0x322), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Mod(b606, 0x320), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Mod(b606, auig), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Mod(b606, auih), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Mod(b606, Derefof(Refof(auig))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Mod(b606, Derefof(Refof(auih))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Mod(b606, Derefof(Index(paui, 16))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Mod(b606, Derefof(Index(paui, 17))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Mod(b606, m601(1, 16)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Mod(b606, m601(1, 17)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(b606, Derefof(m602(1, 16, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Mod(b606, Derefof(m602(1, 17, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Mod(b606, 0x322, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Mod(b606, 0x320, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Mod(b606, auig, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Mod(b606, auih, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Mod(b606, Derefof(Refof(auig)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Mod(b606, Derefof(Refof(auih)), Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Mod(b606, Derefof(Index(paui, 16)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Mod(b606, Derefof(Index(paui, 17)), Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Mod(b606, m601(1, 16), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Mod(b606, m601(1, 17), Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(b606, Derefof(m602(1, 16, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Mod(b606, Derefof(m602(1, 17, 1)), Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Mod(0x322, b606), Local0)
+ m600(arg0, 24, Local0, 1)
+
+ Store(Mod(0x320, b606), Local0)
+ m600(arg0, 25, Local0, 0x320)
+
+ Store(Mod(auig, b606), Local0)
+ m600(arg0, 26, Local0, 1)
+
+ Store(Mod(auih, b606), Local0)
+ m600(arg0, 27, Local0, 0x320)
+
+ if (y078) {
+ Store(Mod(Derefof(Refof(auig)), b606), Local0)
+ m600(arg0, 28, Local0, 1)
+
+ Store(Mod(Derefof(Refof(auih)), b606), Local0)
+ m600(arg0, 29, Local0, 0x320)
+ }
+
+ Store(Mod(Derefof(Index(paui, 16)), b606), Local0)
+ m600(arg0, 30, Local0, 1)
+
+ Store(Mod(Derefof(Index(paui, 17)), b606), Local0)
+ m600(arg0, 31, Local0, 0x320)
+
+ // Method returns Integer
+
+ Store(Mod(m601(1, 16), b606), Local0)
+ m600(arg0, 32, Local0, 1)
+
+ Store(Mod(m601(1, 17), b606), Local0)
+ m600(arg0, 33, Local0, 0x320)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(Derefof(m602(1, 16, 1)), b606), Local0)
+ m600(arg0, 34, Local0, 1)
+
+ Store(Mod(Derefof(m602(1, 17, 1)), b606), Local0)
+ m600(arg0, 35, Local0, 0x320)
+ }
+
+ Mod(0x322, b606, Local0)
+ m600(arg0, 36, Local0, 1)
+
+ Mod(0x320, b606, Local0)
+ m600(arg0, 37, Local0, 0x320)
+
+ Mod(auig, b606, Local0)
+ m600(arg0, 38, Local0, 1)
+
+ Mod(auih, b606, Local0)
+ m600(arg0, 39, Local0, 0x320)
+
+ if (y078) {
+ Mod(Derefof(Refof(auig)), b606, Local0)
+ m600(arg0, 40, Local0, 1)
+
+ Mod(Derefof(Refof(auih)), b606, Local0)
+ m600(arg0, 41, Local0, 0x320)
+ }
+
+ Mod(Derefof(Index(paui, 16)), b606, Local0)
+ m600(arg0, 42, Local0, 1)
+
+ Mod(Derefof(Index(paui, 17)), b606, Local0)
+ m600(arg0, 43, Local0, 0x320)
+
+ // Method returns Integer
+
+ Mod(m601(1, 16), b606, Local0)
+ m600(arg0, 44, Local0, 1)
+
+ Mod(m601(1, 17), b606, Local0)
+ m600(arg0, 45, Local0, 0x320)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(Derefof(m602(1, 16, 1)), b606, Local0)
+ m600(arg0, 46, Local0, 1)
+
+ Mod(Derefof(m602(1, 17, 1)), b606, Local0)
+ m600(arg0, 47, Local0, 0x320)
+ }
+ }
+
+ // Mod, 64-bit
+ Method(m045, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Mod(b60a, 0xfe7cb391d650a285), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(b60a, 0xfe7cb391d650a283), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Mod(b60a, auid), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(b60a, auif), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Mod(b60a, Derefof(Refof(auid))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(b60a, Derefof(Refof(auif))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Mod(b60a, Derefof(Index(paui, 13))), Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(b60a, Derefof(Index(paui, 15))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Mod(b60a, m601(1, 13)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(b60a, m601(1, 15)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(b60a, Derefof(m602(1, 13, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(b60a, Derefof(m602(1, 15, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Mod(b60a, 0xfe7cb391d650a285, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Mod(b60a, 0xfe7cb391d650a283, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Mod(b60a, auid, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Mod(b60a, auif, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Mod(b60a, Derefof(Refof(auid)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Mod(b60a, Derefof(Refof(auif)), Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Mod(b60a, Derefof(Index(paui, 13)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Mod(b60a, Derefof(Index(paui, 15)), Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Mod(b60a, m601(1, 13), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Mod(b60a, m601(1, 15), Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(b60a, Derefof(m602(1, 13, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Mod(b60a, Derefof(m602(1, 15, 1)), Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Mod(0xfe7cb391d650a285, b60a), Local0)
+ m600(arg0, 24, Local0, 1)
+
+ Store(Mod(0xfe7cb391d650a283, b60a), Local0)
+ m600(arg0, 25, Local0, 0xfe7cb391d650a283)
+
+ Store(Mod(auid, b60a), Local0)
+ m600(arg0, 26, Local0, 1)
+
+ Store(Mod(auif, b60a), Local0)
+ m600(arg0, 27, Local0, 0xfe7cb391d650a283)
+
+ if (y078) {
+ Store(Mod(Derefof(Refof(auid)), b60a), Local0)
+ m600(arg0, 28, Local0, 1)
+
+ Store(Mod(Derefof(Refof(auif)), b60a), Local0)
+ m600(arg0, 29, Local0, 0xfe7cb391d650a283)
+ }
+
+ Store(Mod(Derefof(Index(paui, 13)), b60a), Local0)
+ m600(arg0, 30, Local0, 1)
+
+ Store(Mod(Derefof(Index(paui, 15)), b60a), Local0)
+ m600(arg0, 31, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Integer
+
+ Store(Mod(m601(1, 13), b60a), Local0)
+ m600(arg0, 32, Local0, 1)
+
+ Store(Mod(m601(1, 15), b60a), Local0)
+ m600(arg0, 33, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(Derefof(m602(1, 13, 1)), b60a), Local0)
+ m600(arg0, 34, Local0, 1)
+
+ Store(Mod(Derefof(m602(1, 15, 1)), b60a), Local0)
+ m600(arg0, 35, Local0, 0xfe7cb391d650a283)
+ }
+
+ Mod(0xfe7cb391d650a285, b60a, Local0)
+ m600(arg0, 36, Local0, 1)
+
+ Mod(0xfe7cb391d650a283, b60a, Local0)
+ m600(arg0, 37, Local0, 0xfe7cb391d650a283)
+
+ Mod(auid, b60a, Local0)
+ m600(arg0, 38, Local0, 1)
+
+ Mod(auif, b60a, Local0)
+ m600(arg0, 39, Local0, 0xfe7cb391d650a283)
+
+ if (y078) {
+ Mod(Derefof(Refof(auid)), b60a, Local0)
+ m600(arg0, 40, Local0, 1)
+
+ Mod(Derefof(Refof(auif)), b60a, Local0)
+ m600(arg0, 41, Local0, 0xfe7cb391d650a283)
+ }
+
+ Mod(Derefof(Index(paui, 13)), b60a, Local0)
+ m600(arg0, 42, Local0, 1)
+
+ Mod(Derefof(Index(paui, 15)), b60a, Local0)
+ m600(arg0, 43, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Integer
+
+ Mod(m601(1, 13), b60a, Local0)
+ m600(arg0, 44, Local0, 1)
+
+ Mod(m601(1, 15), b60a, Local0)
+ m600(arg0, 45, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(Derefof(m602(1, 13, 1)), b60a, Local0)
+ m600(arg0, 46, Local0, 1)
+
+ Mod(Derefof(m602(1, 15, 1)), b60a, Local0)
+ m600(arg0, 47, Local0, 0xfe7cb391d650a283)
+ }
+
+ // Conversion of the both operands
+
+ Store(Mod(b606, b60a), Local0)
+ m600(arg0, 48, Local0, 0x321)
+
+ Store(Mod(b60a, b606), Local0)
+ m600(arg0, 49, Local0, 0x2fd)
+
+ Mod(b606, b60a, Local0)
+ m600(arg0, 50, Local0, 0x321)
+
+ Mod(b60a, b606, Local0)
+ m600(arg0, 51, Local0, 0x2fd)
+ }
+
+ // Mod, 32-bit
+ Method(m046, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Mod(b60a, 0xd650a285), Local0)
+ m600(arg0, 0, Local0, 0xd650a284)
+
+ Store(Mod(b60a, 0xd650a283), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Mod(b60a, auil), Local0)
+ m600(arg0, 2, Local0, 0xd650a284)
+
+ Store(Mod(b60a, auim), Local0)
+ m600(arg0, 14, Local0, 1)
+
+ if (y078) {
+ Store(Mod(b60a, Derefof(Refof(auil))), Local0)
+ m600(arg0, 4, Local0, 0xd650a284)
+
+ Store(Mod(b60a, Derefof(Refof(auim))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Mod(b60a, Derefof(Index(paui, 21))), Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ Store(Mod(b60a, Derefof(Index(paui, 22))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Mod(b60a, m601(1, 21)), Local0)
+ m600(arg0, 8, Local0, 0xd650a284)
+
+ Store(Mod(b60a, m601(1, 22)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(b60a, Derefof(m601(1, 21, 1))), Local0)
+ m600(arg0, 10, Local0, 0xd650a284)
+
+ Store(Mod(b60a, Derefof(m601(1, 22, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Mod(b60a, 0xd650a285, Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ Mod(b60a, 0xd650a283, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Mod(b60a, auil, Local0)
+ m600(arg0, 14, Local0, 0xd650a284)
+
+ Mod(b60a, auim, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Mod(b60a, Derefof(Refof(auil)), Local0)
+ m600(arg0, 16, Local0, 0xd650a284)
+
+ Mod(b60a, Derefof(Refof(auim)), Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Mod(b60a, Derefof(Index(paui, 21)), Local0)
+ m600(arg0, 18, Local0, 0xd650a284)
+
+ Mod(b60a, Derefof(Index(paui, 22)), Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Mod(b60a, m601(1, 21), Local0)
+ m600(arg0, 20, Local0, 0xd650a284)
+
+ Mod(b60a, m601(1, 22), Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(b60a, Derefof(m601(1, 21, 1)), Local0)
+ m600(arg0, 22, Local0, 0xd650a284)
+
+ Mod(b60a, Derefof(m601(1, 22, 1)), Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Mod(0xd650a285, b60a), Local0)
+ m600(arg0, 24, Local0, 1)
+
+ Store(Mod(0xd650a283, b60a), Local0)
+ m600(arg0, 25, Local0, 0xd650a283)
+
+ Store(Mod(auil, b60a), Local0)
+ m600(arg0, 26, Local0, 1)
+
+ Store(Mod(auim, b60a), Local0)
+ m600(arg0, 27, Local0, 0xd650a283)
+
+ if (y078) {
+ Store(Mod(Derefof(Refof(auil)), b60a), Local0)
+ m600(arg0, 28, Local0, 1)
+
+ Store(Mod(Derefof(Refof(auim)), b60a), Local0)
+ m600(arg0, 29, Local0, 0xd650a283)
+ }
+
+ Store(Mod(Derefof(Index(paui, 21)), b60a), Local0)
+ m600(arg0, 30, Local0, 1)
+
+ Store(Mod(Derefof(Index(paui, 22)), b60a), Local0)
+ m600(arg0, 31, Local0, 0xd650a283)
+
+ // Method returns Integer
+
+ Store(Mod(m601(1, 21), b60a), Local0)
+ m600(arg0, 32, Local0, 1)
+
+ Store(Mod(m601(1, 22), b60a), Local0)
+ m600(arg0, 33, Local0, 0xd650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(Derefof(m601(1, 21, 1)), b60a), Local0)
+ m600(arg0, 34, Local0, 1)
+
+ Store(Mod(Derefof(m601(1, 22, 1)), b60a), Local0)
+ m600(arg0, 35, Local0, 0xd650a283)
+ }
+
+ Mod(0xd650a285, b60a, Local0)
+ m600(arg0, 36, Local0, 1)
+
+ Mod(0xd650a283, b60a, Local0)
+ m600(arg0, 37, Local0, 0xd650a283)
+
+ Mod(auil, b60a, Local0)
+ m600(arg0, 38, Local0, 1)
+
+ Mod(auim, b60a, Local0)
+ m600(arg0, 39, Local0, 0xd650a283)
+
+ if (y078) {
+ Mod(Derefof(Refof(auil)), b60a, Local0)
+ m600(arg0, 40, Local0, 1)
+
+ Mod(Derefof(Refof(auim)), b60a, Local0)
+ m600(arg0, 41, Local0, 0xd650a283)
+ }
+
+ Mod(Derefof(Index(paui, 21)), b60a, Local0)
+ m600(arg0, 42, Local0, 1)
+
+ Mod(Derefof(Index(paui, 22)), b60a, Local0)
+ m600(arg0, 43, Local0, 0xd650a283)
+
+ // Method returns Integer
+
+ Mod(m601(1, 21), b60a, Local0)
+ m600(arg0, 44, Local0, 1)
+
+ Mod(m601(1, 22), b60a, Local0)
+ m600(arg0, 45, Local0, 0xd650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(Derefof(m601(1, 21, 1)), b60a, Local0)
+ m600(arg0, 46, Local0, 1)
+
+ Mod(Derefof(m601(1, 22, 1)), b60a, Local0)
+ m600(arg0, 47, Local0, 0xd650a283)
+ }
+
+ // Conversion of the both operands
+
+ Store(Mod(b606, b60a), Local0)
+ m600(arg0, 48, Local0, 0x321)
+
+ Store(Mod(b60a, b606), Local0)
+ m600(arg0, 49, Local0, 0x261)
+
+ Mod(b606, b60a, Local0)
+ m600(arg0, 50, Local0, 0x321)
+
+ Mod(b60a, b606, Local0)
+ m600(arg0, 51, Local0, 0x261)
+ }
+
+ // Multiply, common 32-bit/64-bit test
+ Method(m047, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Multiply(b606, 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(Multiply(b606, 1), Local0)
+ m600(arg0, 1, Local0, 0x321)
+
+ Store(Multiply(b606, aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(Multiply(b606, aui6), Local0)
+ m600(arg0, 3, Local0, 0x321)
+
+ if (y078) {
+ Store(Multiply(b606, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(Multiply(b606, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x321)
+ }
+
+ Store(Multiply(b606, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(Multiply(b606, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x321)
+
+ // Method returns Integer
+
+ Store(Multiply(b606, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(Multiply(b606, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(b606, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(Multiply(b606, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x321)
+ }
+
+ Multiply(b606, 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ Multiply(b606, 1, Local0)
+ m600(arg0, 13, Local0, 0x321)
+
+ Multiply(b606, aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ Multiply(b606, aui6, Local0)
+ m600(arg0, 15, Local0, 0x321)
+
+ if (y078) {
+ Multiply(b606, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ Multiply(b606, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x321)
+ }
+
+ Multiply(b606, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ Multiply(b606, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x321)
+
+ // Method returns Integer
+
+ Multiply(b606, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ Multiply(b606, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(b606, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ Multiply(b606, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x321)
+ }
+
+ // Conversion of the second operand
+
+ Store(Multiply(0, b606), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Multiply(1, b606), Local0)
+ m600(arg0, 25, Local0, 0x321)
+
+ Store(Multiply(aui5, b606), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Multiply(aui6, b606), Local0)
+ m600(arg0, 27, Local0, 0x321)
+
+ if (y078) {
+ Store(Multiply(Derefof(Refof(aui5)), b606), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(aui6)), b606), Local0)
+ m600(arg0, 29, Local0, 0x321)
+ }
+
+ Store(Multiply(Derefof(Index(paui, 5)), b606), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Multiply(Derefof(Index(paui, 6)), b606), Local0)
+ m600(arg0, 31, Local0, 0x321)
+
+ // Method returns Integer
+
+ Store(Multiply(m601(1, 5), b606), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Multiply(m601(1, 6), b606), Local0)
+ m600(arg0, 33, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(Derefof(m602(1, 5, 1)), b606), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Multiply(Derefof(m602(1, 6, 1)), b606), Local0)
+ m600(arg0, 35, Local0, 0x321)
+ }
+
+ Multiply(0, b606, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Multiply(1, b606, Local0)
+ m600(arg0, 37, Local0, 0x321)
+
+ Multiply(aui5, b606, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Multiply(aui6, b606, Local0)
+ m600(arg0, 39, Local0, 0x321)
+
+ if (y078) {
+ Multiply(Derefof(Refof(aui5)), b606, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Multiply(Derefof(Refof(aui6)), b606, Local0)
+ m600(arg0, 41, Local0, 0x321)
+ }
+
+ Multiply(Derefof(Index(paui, 5)), b606, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Multiply(Derefof(Index(paui, 6)), b606, Local0)
+ m600(arg0, 43, Local0, 0x321)
+
+ // Method returns Integer
+
+ Multiply(m601(1, 5), b606, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Multiply(m601(1, 6), b606, Local0)
+ m600(arg0, 45, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(Derefof(m602(1, 5, 1)), b606, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Multiply(Derefof(m602(1, 6, 1)), b606, Local0)
+ m600(arg0, 47, Local0, 0x321)
+ }
+ }
+
+ // Multiply, 64-bit
+ Method(m048, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Multiply(b60a, 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(Multiply(b60a, 1), Local0)
+ m600(arg0, 1, Local0, 0xfe7cb391d650a284)
+
+ Store(Multiply(b60a, aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(Multiply(b60a, aui6), Local0)
+ m600(arg0, 3, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Store(Multiply(b60a, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(Multiply(b60a, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xfe7cb391d650a284)
+ }
+
+ Store(Multiply(b60a, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(Multiply(b60a, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Store(Multiply(b60a, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(Multiply(b60a, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(b60a, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(Multiply(b60a, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfe7cb391d650a284)
+ }
+
+ Multiply(b60a, 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ Multiply(b60a, 1, Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a284)
+
+ Multiply(b60a, aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ Multiply(b60a, aui6, Local0)
+ m600(arg0, 15, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Multiply(b60a, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ Multiply(b60a, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xfe7cb391d650a284)
+ }
+
+ Multiply(b60a, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ Multiply(b60a, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Multiply(b60a, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ Multiply(b60a, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(b60a, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ Multiply(b60a, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfe7cb391d650a284)
+ }
+
+ // Conversion of the second operand
+
+ Store(Multiply(0, b60a), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Multiply(1, b60a), Local0)
+ m600(arg0, 25, Local0, 0xfe7cb391d650a284)
+
+ Store(Multiply(aui5, b60a), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Multiply(aui6, b60a), Local0)
+ m600(arg0, 27, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Store(Multiply(Derefof(Refof(aui5)), b60a), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(aui6)), b60a), Local0)
+ m600(arg0, 29, Local0, 0xfe7cb391d650a284)
+ }
+
+ Store(Multiply(Derefof(Index(paui, 5)), b60a), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Multiply(Derefof(Index(paui, 6)), b60a), Local0)
+ m600(arg0, 31, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Store(Multiply(m601(1, 5), b60a), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Multiply(m601(1, 6), b60a), Local0)
+ m600(arg0, 33, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(Derefof(m602(1, 5, 1)), b60a), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Multiply(Derefof(m602(1, 6, 1)), b60a), Local0)
+ m600(arg0, 35, Local0, 0xfe7cb391d650a284)
+ }
+
+ Multiply(0, b60a, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Multiply(1, b60a, Local0)
+ m600(arg0, 37, Local0, 0xfe7cb391d650a284)
+
+ Multiply(aui5, b60a, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Multiply(aui6, b60a, Local0)
+ m600(arg0, 39, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Multiply(Derefof(Refof(aui5)), b60a, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Multiply(Derefof(Refof(aui6)), b60a, Local0)
+ m600(arg0, 41, Local0, 0xfe7cb391d650a284)
+ }
+
+ Multiply(Derefof(Index(paui, 5)), b60a, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Multiply(Derefof(Index(paui, 6)), b60a, Local0)
+ m600(arg0, 43, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Multiply(m601(1, 5), b60a, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Multiply(m601(1, 6), b60a, Local0)
+ m600(arg0, 45, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(Derefof(m602(1, 5, 1)), b60a, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Multiply(Derefof(m602(1, 6, 1)), b60a, Local0)
+ m600(arg0, 47, Local0, 0xfe7cb391d650a284)
+ }
+
+ // Conversion of the both operands
+
+ Store(Multiply(b606, b60a), Local0)
+ m600(arg0, 48, Local0, 0x442ddb4f924c7f04)
+
+ Store(Multiply(b60a, b606), Local0)
+ m600(arg0, 49, Local0, 0x442ddb4f924c7f04)
+
+ Multiply(b606, b60a, Local0)
+ m600(arg0, 50, Local0, 0x442ddb4f924c7f04)
+
+ Multiply(b60a, b606, Local0)
+ m600(arg0, 51, Local0, 0x442ddb4f924c7f04)
+ }
+
+ // Multiply, 32-bit
+ Method(m049, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Multiply(b60a, 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(Multiply(b60a, 1), Local0)
+ m600(arg0, 1, Local0, 0xd650a284)
+
+ Store(Multiply(b60a, aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(Multiply(b60a, aui6), Local0)
+ m600(arg0, 3, Local0, 0xd650a284)
+
+ if (y078) {
+ Store(Multiply(b60a, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(Multiply(b60a, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xd650a284)
+ }
+
+ Store(Multiply(b60a, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(Multiply(b60a, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xd650a284)
+
+ // Method returns Integer
+
+ Store(Multiply(b60a, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(Multiply(b60a, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xd650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(b60a, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(Multiply(b60a, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xd650a284)
+ }
+
+ Multiply(b60a, 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ Multiply(b60a, 1, Local0)
+ m600(arg0, 13, Local0, 0xd650a284)
+
+ Multiply(b60a, aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ Multiply(b60a, aui6, Local0)
+ m600(arg0, 15, Local0, 0xd650a284)
+
+ if (y078) {
+ Multiply(b60a, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ Multiply(b60a, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xd650a284)
+ }
+
+ Multiply(b60a, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ Multiply(b60a, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xd650a284)
+
+ // Method returns Integer
+
+ Multiply(b60a, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ Multiply(b60a, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xd650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(b60a, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ Multiply(b60a, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xd650a284)
+ }
+
+ // Conversion of the second operand
+
+ Store(Multiply(0, b60a), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Multiply(1, b60a), Local0)
+ m600(arg0, 25, Local0, 0xd650a284)
+
+ Store(Multiply(aui5, b60a), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Multiply(aui6, b60a), Local0)
+ m600(arg0, 27, Local0, 0xd650a284)
+
+ if (y078) {
+ Store(Multiply(Derefof(Refof(aui5)), b60a), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(aui6)), b60a), Local0)
+ m600(arg0, 29, Local0, 0xd650a284)
+ }
+
+ Store(Multiply(Derefof(Index(paui, 5)), b60a), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Multiply(Derefof(Index(paui, 6)), b60a), Local0)
+ m600(arg0, 31, Local0, 0xd650a284)
+
+ // Method returns Integer
+
+ Store(Multiply(m601(1, 5), b60a), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Multiply(m601(1, 6), b60a), Local0)
+ m600(arg0, 33, Local0, 0xd650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(Derefof(m602(1, 5, 1)), b60a), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Multiply(Derefof(m602(1, 6, 1)), b60a), Local0)
+ m600(arg0, 35, Local0, 0xd650a284)
+ }
+
+ Multiply(0, b60a, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Multiply(1, b60a, Local0)
+ m600(arg0, 37, Local0, 0xd650a284)
+
+ Multiply(aui5, b60a, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Multiply(aui6, b60a, Local0)
+ m600(arg0, 39, Local0, 0xd650a284)
+
+ if (y078) {
+ Multiply(Derefof(Refof(aui5)), b60a, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Multiply(Derefof(Refof(aui6)), b60a, Local0)
+ m600(arg0, 41, Local0, 0xd650a284)
+ }
+
+ Multiply(Derefof(Index(paui, 5)), b60a, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Multiply(Derefof(Index(paui, 6)), b60a, Local0)
+ m600(arg0, 43, Local0, 0xd650a284)
+
+ // Method returns Integer
+
+ Multiply(m601(1, 5), b60a, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Multiply(m601(1, 6), b60a, Local0)
+ m600(arg0, 45, Local0, 0xd650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(Derefof(m602(1, 5, 1)), b60a, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Multiply(Derefof(m602(1, 6, 1)), b60a, Local0)
+ m600(arg0, 47, Local0, 0xd650a284)
+ }
+
+ // Conversion of the both operands
+
+ Store(Multiply(b606, b60a), Local0)
+ m600(arg0, 48, Local0, 0x924c7f04)
+
+ Store(Multiply(b60a, b606), Local0)
+ m600(arg0, 49, Local0, 0x924c7f04)
+
+ Multiply(b606, b60a, Local0)
+ m600(arg0, 50, Local0, 0x924c7f04)
+
+ Multiply(b60a, b606, Local0)
+ m600(arg0, 51, Local0, 0x924c7f04)
+ }
+
+ // NAnd, common 32-bit/64-bit test
+ Method(m04a, 1)
+ {
+ // Conversion of the first operand
+
+ Store(NAnd(b606, 0), Local0)
+ m600(arg0, 0, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(b606, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xfffffffffffffcde)
+
+ Store(NAnd(b606, aui5), Local0)
+ m600(arg0, 2, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(b606, auij), Local0)
+ m600(arg0, 3, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ Store(NAnd(b606, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(b606, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xfffffffffffffcde)
+ }
+
+ Store(NAnd(b606, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(b606, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ Store(NAnd(b606, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(b606, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(b606, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(b606, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfffffffffffffcde)
+ }
+
+ NAnd(b606, 0, Local0)
+ m600(arg0, 12, Local0, 0xffffffffffffffff)
+
+ NAnd(b606, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xfffffffffffffcde)
+
+ NAnd(b606, aui5, Local0)
+ m600(arg0, 14, Local0, 0xffffffffffffffff)
+
+ NAnd(b606, auij, Local0)
+ m600(arg0, 15, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ NAnd(b606, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xffffffffffffffff)
+
+ NAnd(b606, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xfffffffffffffcde)
+ }
+
+ NAnd(b606, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xffffffffffffffff)
+
+ NAnd(b606, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ NAnd(b606, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xffffffffffffffff)
+
+ NAnd(b606, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(b606, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xffffffffffffffff)
+
+ NAnd(b606, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfffffffffffffcde)
+ }
+
+ // Conversion of the second operand
+
+ Store(NAnd(0, b606), Local0)
+ m600(arg0, 24, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(0xffffffffffffffff, b606), Local0)
+ m600(arg0, 25, Local0, 0xfffffffffffffcde)
+
+ Store(NAnd(aui5, b606), Local0)
+ m600(arg0, 26, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(auij, b606), Local0)
+ m600(arg0, 27, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ Store(NAnd(Derefof(Refof(aui5)), b606), Local0)
+ m600(arg0, 28, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Refof(auij)), b606), Local0)
+ m600(arg0, 29, Local0, 0xfffffffffffffcde)
+ }
+
+ Store(NAnd(Derefof(Index(paui, 5)), b606), Local0)
+ m600(arg0, 30, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Index(paui, 19)), b606), Local0)
+ m600(arg0, 31, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ Store(NAnd(m601(1, 5), b606), Local0)
+ m600(arg0, 32, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(m601(1, 19), b606), Local0)
+ m600(arg0, 33, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(Derefof(m602(1, 5, 1)), b606), Local0)
+ m600(arg0, 34, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(m602(1, 19, 1)), b606), Local0)
+ m600(arg0, 35, Local0, 0xfffffffffffffcde)
+ }
+
+ NAnd(0, b606, Local0)
+ m600(arg0, 36, Local0, 0xffffffffffffffff)
+
+ NAnd(0xffffffffffffffff, b606, Local0)
+ m600(arg0, 37, Local0, 0xfffffffffffffcde)
+
+ NAnd(aui5, b606, Local0)
+ m600(arg0, 38, Local0, 0xffffffffffffffff)
+
+ NAnd(auij, b606, Local0)
+ m600(arg0, 39, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ NAnd(Derefof(Refof(aui5)), b606, Local0)
+ m600(arg0, 40, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Refof(auij)), b606, Local0)
+ m600(arg0, 41, Local0, 0xfffffffffffffcde)
+ }
+
+ NAnd(Derefof(Index(paui, 5)), b606, Local0)
+ m600(arg0, 42, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Index(paui, 19)), b606, Local0)
+ m600(arg0, 43, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ NAnd(m601(1, 5), b606, Local0)
+ m600(arg0, 44, Local0, 0xffffffffffffffff)
+
+ NAnd(m601(1, 19), b606, Local0)
+ m600(arg0, 45, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(Derefof(m602(1, 5, 1)), b606, Local0)
+ m600(arg0, 46, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(m602(1, 19, 1)), b606, Local0)
+ m600(arg0, 47, Local0, 0xfffffffffffffcde)
+ }
+ }
+
+ // NAnd, 64-bit
+ Method(m04b, 1)
+ {
+ // Conversion of the first operand
+
+ Store(NAnd(b60a, 0), Local0)
+ m600(arg0, 0, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(b60a, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0x01834c6e29af5d7b)
+
+ Store(NAnd(b60a, aui5), Local0)
+ m600(arg0, 2, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(b60a, auij), Local0)
+ m600(arg0, 3, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ Store(NAnd(b60a, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(b60a, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Store(NAnd(b60a, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(b60a, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ Store(NAnd(b60a, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(b60a, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(b60a, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(b60a, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0x01834c6e29af5d7b)
+ }
+
+ NAnd(b60a, 0, Local0)
+ m600(arg0, 12, Local0, 0xffffffffffffffff)
+
+ NAnd(b60a, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0x01834c6e29af5d7b)
+
+ NAnd(b60a, aui5, Local0)
+ m600(arg0, 14, Local0, 0xffffffffffffffff)
+
+ NAnd(b60a, auij, Local0)
+ m600(arg0, 15, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ NAnd(b60a, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xffffffffffffffff)
+
+ NAnd(b60a, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0x01834c6e29af5d7b)
+ }
+
+ NAnd(b60a, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xffffffffffffffff)
+
+ NAnd(b60a, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ NAnd(b60a, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xffffffffffffffff)
+
+ NAnd(b60a, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(b60a, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xffffffffffffffff)
+
+ NAnd(b60a, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0x01834c6e29af5d7b)
+ }
+
+ // Conversion of the second operand
+
+ Store(NAnd(0, b60a), Local0)
+ m600(arg0, 24, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(0xffffffffffffffff, b60a), Local0)
+ m600(arg0, 25, Local0, 0x01834c6e29af5d7b)
+
+ Store(NAnd(aui5, b60a), Local0)
+ m600(arg0, 26, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(auij, b60a), Local0)
+ m600(arg0, 27, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ Store(NAnd(Derefof(Refof(aui5)), b60a), Local0)
+ m600(arg0, 28, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Refof(auij)), b60a), Local0)
+ m600(arg0, 29, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Store(NAnd(Derefof(Index(paui, 5)), b60a), Local0)
+ m600(arg0, 30, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Index(paui, 19)), b60a), Local0)
+ m600(arg0, 31, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ Store(NAnd(m601(1, 5), b60a), Local0)
+ m600(arg0, 32, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(m601(1, 19), b60a), Local0)
+ m600(arg0, 33, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(Derefof(m602(1, 5, 1)), b60a), Local0)
+ m600(arg0, 34, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(m602(1, 19, 1)), b60a), Local0)
+ m600(arg0, 35, Local0, 0x01834c6e29af5d7b)
+ }
+
+ NAnd(0, b60a, Local0)
+ m600(arg0, 36, Local0, 0xffffffffffffffff)
+
+ NAnd(0xffffffffffffffff, b60a, Local0)
+ m600(arg0, 37, Local0, 0x01834c6e29af5d7b)
+
+ NAnd(aui5, b60a, Local0)
+ m600(arg0, 38, Local0, 0xffffffffffffffff)
+
+ NAnd(auij, b60a, Local0)
+ m600(arg0, 39, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ NAnd(Derefof(Refof(aui5)), b60a, Local0)
+ m600(arg0, 40, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Refof(auij)), b60a, Local0)
+ m600(arg0, 41, Local0, 0x01834c6e29af5d7b)
+ }
+
+ NAnd(Derefof(Index(paui, 5)), b60a, Local0)
+ m600(arg0, 42, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Index(paui, 19)), b60a, Local0)
+ m600(arg0, 43, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ NAnd(m601(1, 5), b60a, Local0)
+ m600(arg0, 44, Local0, 0xffffffffffffffff)
+
+ NAnd(m601(1, 19), b60a, Local0)
+ m600(arg0, 45, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(Derefof(m602(1, 5, 1)), b60a, Local0)
+ m600(arg0, 46, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(m602(1, 19, 1)), b60a, Local0)
+ m600(arg0, 47, Local0, 0x01834c6e29af5d7b)
+ }
+
+ // Conversion of the both operands
+
+ Store(NAnd(b606, b60a), Local0)
+ m600(arg0, 48, Local0, 0xfffffffffffffdff)
+
+ Store(NAnd(b60a, b606), Local0)
+ m600(arg0, 49, Local0, 0xfffffffffffffdff)
+
+ NAnd(b606, b60a, Local0)
+ m600(arg0, 50, Local0, 0xfffffffffffffdff)
+
+ NAnd(b60a, b606, Local0)
+ m600(arg0, 51, Local0, 0xfffffffffffffdff)
+ }
+
+ // NAnd, 32-bit
+ Method(m04c, 1)
+ {
+ // Conversion of the first operand
+
+ Store(NAnd(b60a, 0), Local0)
+ m600(arg0, 0, Local0, 0xffffffff)
+
+ Store(NAnd(b60a, 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0x29af5d7b)
+
+ Store(NAnd(b60a, aui5), Local0)
+ m600(arg0, 2, Local0, 0xffffffff)
+
+ Store(NAnd(b60a, auii), Local0)
+ m600(arg0, 3, Local0, 0x29af5d7b)
+
+ if (y078) {
+ Store(NAnd(b60a, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xffffffff)
+
+ Store(NAnd(b60a, Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0x29af5d7b)
+ }
+
+ Store(NAnd(b60a, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xffffffff)
+
+ Store(NAnd(b60a, Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0x29af5d7b)
+
+ // Method returns Integer
+
+ Store(NAnd(b60a, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xffffffff)
+
+ Store(NAnd(b60a, m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0x29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(b60a, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xffffffff)
+
+ Store(NAnd(b60a, Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0x29af5d7b)
+ }
+
+ NAnd(b60a, 0, Local0)
+ m600(arg0, 12, Local0, 0xffffffff)
+
+ NAnd(b60a, 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0x29af5d7b)
+
+ NAnd(b60a, aui5, Local0)
+ m600(arg0, 14, Local0, 0xffffffff)
+
+ NAnd(b60a, auii, Local0)
+ m600(arg0, 15, Local0, 0x29af5d7b)
+
+ if (y078) {
+ NAnd(b60a, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xffffffff)
+
+ NAnd(b60a, Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0x29af5d7b)
+ }
+
+ NAnd(b60a, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xffffffff)
+
+ NAnd(b60a, Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0x29af5d7b)
+
+ // Method returns Integer
+
+ NAnd(b60a, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xffffffff)
+
+ NAnd(b60a, m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0x29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(b60a, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xffffffff)
+
+ NAnd(b60a, Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0x29af5d7b)
+ }
+
+ // Conversion of the second operand
+
+ Store(NAnd(0, b60a), Local0)
+ m600(arg0, 24, Local0, 0xffffffff)
+
+ Store(NAnd(0xffffffff, b60a), Local0)
+ m600(arg0, 25, Local0, 0x29af5d7b)
+
+ Store(NAnd(aui5, b60a), Local0)
+ m600(arg0, 26, Local0, 0xffffffff)
+
+ Store(NAnd(auii, b60a), Local0)
+ m600(arg0, 27, Local0, 0x29af5d7b)
+
+ if (y078) {
+ Store(NAnd(Derefof(Refof(aui5)), b60a), Local0)
+ m600(arg0, 28, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(Refof(auii)), b60a), Local0)
+ m600(arg0, 29, Local0, 0x29af5d7b)
+ }
+
+ Store(NAnd(Derefof(Index(paui, 5)), b60a), Local0)
+ m600(arg0, 30, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(Index(paui, 18)), b60a), Local0)
+ m600(arg0, 31, Local0, 0x29af5d7b)
+
+ // Method returns Integer
+
+ Store(NAnd(m601(1, 5), b60a), Local0)
+ m600(arg0, 32, Local0, 0xffffffff)
+
+ Store(NAnd(m601(1, 18), b60a), Local0)
+ m600(arg0, 33, Local0, 0x29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(Derefof(m602(1, 5, 1)), b60a), Local0)
+ m600(arg0, 34, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(m602(1, 18, 1)), b60a), Local0)
+ m600(arg0, 35, Local0, 0x29af5d7b)
+ }
+
+ NAnd(0, b60a, Local0)
+ m600(arg0, 36, Local0, 0xffffffff)
+
+ NAnd(0xffffffff, b60a, Local0)
+ m600(arg0, 37, Local0, 0x29af5d7b)
+
+ NAnd(aui5, b60a, Local0)
+ m600(arg0, 38, Local0, 0xffffffff)
+
+ NAnd(auii, b60a, Local0)
+ m600(arg0, 39, Local0, 0x29af5d7b)
+
+ if (y078) {
+ NAnd(Derefof(Refof(aui5)), b60a, Local0)
+ m600(arg0, 40, Local0, 0xffffffff)
+
+ NAnd(Derefof(Refof(auii)), b60a, Local0)
+ m600(arg0, 41, Local0, 0x29af5d7b)
+ }
+
+ NAnd(Derefof(Index(paui, 5)), b60a, Local0)
+ m600(arg0, 42, Local0, 0xffffffff)
+
+ NAnd(Derefof(Index(paui, 18)), b60a, Local0)
+ m600(arg0, 43, Local0, 0x29af5d7b)
+
+ // Method returns Integer
+
+ NAnd(m601(1, 5), b60a, Local0)
+ m600(arg0, 44, Local0, 0xffffffff)
+
+ NAnd(m601(1, 18), b60a, Local0)
+ m600(arg0, 45, Local0, 0x29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(Derefof(m602(1, 5, 1)), b60a, Local0)
+ m600(arg0, 46, Local0, 0xffffffff)
+
+ NAnd(Derefof(m602(1, 18, 1)), b60a, Local0)
+ m600(arg0, 47, Local0, 0x29af5d7b)
+ }
+
+ // Conversion of the both operands
+
+ Store(NAnd(b606, b60a), Local0)
+ m600(arg0, 48, Local0, 0xfffffdff)
+
+ Store(NAnd(b60a, b606), Local0)
+ m600(arg0, 49, Local0, 0xfffffdff)
+
+ NAnd(b606, b60a, Local0)
+ m600(arg0, 50, Local0, 0xfffffdff)
+
+ NAnd(b60a, b606, Local0)
+ m600(arg0, 51, Local0, 0xfffffdff)
+ }
+
+ // NOr, common 32-bit/64-bit test
+ Method(m04d, 1)
+ {
+ // Conversion of the first operand
+
+ Store(NOr(b606, 0), Local0)
+ m600(arg0, 0, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(b606, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0)
+
+ Store(NOr(b606, aui5), Local0)
+ m600(arg0, 2, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(b606, auij), Local0)
+ m600(arg0, 3, Local0, 0)
+
+ if (y078) {
+ Store(NOr(b606, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(b606, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0)
+ }
+
+ Store(NOr(b606, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(b606, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(b606, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(b606, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(b606, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(b606, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0)
+ }
+
+ NOr(b606, 0, Local0)
+ m600(arg0, 12, Local0, 0xfffffffffffffcde)
+
+ NOr(b606, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0)
+
+ NOr(b606, aui5, Local0)
+ m600(arg0, 14, Local0, 0xfffffffffffffcde)
+
+ NOr(b606, auij, Local0)
+ m600(arg0, 15, Local0, 0)
+
+ if (y078) {
+ NOr(b606, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfffffffffffffcde)
+
+ NOr(b606, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0)
+ }
+
+ NOr(b606, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfffffffffffffcde)
+
+ NOr(b606, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(b606, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfffffffffffffcde)
+
+ NOr(b606, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(b606, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfffffffffffffcde)
+
+ NOr(b606, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0)
+ }
+
+ // Conversion of the second operand
+
+ Store(NOr(0, b606), Local0)
+ m600(arg0, 24, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(0xffffffffffffffff, b606), Local0)
+ m600(arg0, 25, Local0, 0)
+
+ Store(NOr(aui5, b606), Local0)
+ m600(arg0, 26, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(auij, b606), Local0)
+ m600(arg0, 27, Local0, 0)
+
+ if (y078) {
+ Store(NOr(Derefof(Refof(aui5)), b606), Local0)
+ m600(arg0, 28, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(Refof(auij)), b606), Local0)
+ m600(arg0, 29, Local0, 0)
+ }
+
+ Store(NOr(Derefof(Index(paui, 5)), b606), Local0)
+ m600(arg0, 30, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(Index(paui, 19)), b606), Local0)
+ m600(arg0, 31, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(m601(1, 5), b606), Local0)
+ m600(arg0, 32, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(m601(1, 19), b606), Local0)
+ m600(arg0, 33, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(Derefof(m602(1, 5, 1)), b606), Local0)
+ m600(arg0, 34, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(m602(1, 19, 1)), b606), Local0)
+ m600(arg0, 35, Local0, 0)
+ }
+
+ NOr(0, b606, Local0)
+ m600(arg0, 36, Local0, 0xfffffffffffffcde)
+
+ NOr(0xffffffffffffffff, b606, Local0)
+ m600(arg0, 37, Local0, 0)
+
+ NOr(aui5, b606, Local0)
+ m600(arg0, 38, Local0, 0xfffffffffffffcde)
+
+ NOr(auij, b606, Local0)
+ m600(arg0, 39, Local0, 0)
+
+ if (y078) {
+ NOr(Derefof(Refof(aui5)), b606, Local0)
+ m600(arg0, 40, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(Refof(auij)), b606, Local0)
+ m600(arg0, 41, Local0, 0)
+ }
+
+ NOr(Derefof(Index(paui, 5)), b606, Local0)
+ m600(arg0, 42, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(Index(paui, 19)), b606, Local0)
+ m600(arg0, 43, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(m601(1, 5), b606, Local0)
+ m600(arg0, 44, Local0, 0xfffffffffffffcde)
+
+ NOr(m601(1, 19), b606, Local0)
+ m600(arg0, 45, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(Derefof(m602(1, 5, 1)), b606, Local0)
+ m600(arg0, 46, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(m602(1, 19, 1)), b606, Local0)
+ m600(arg0, 47, Local0, 0)
+ }
+ }
+
+ // NOr, 64-bit
+ Method(m04e, 1)
+ {
+ // Conversion of the first operand
+
+ Store(NOr(b60a, 0), Local0)
+ m600(arg0, 0, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(b60a, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0)
+
+ Store(NOr(b60a, aui5), Local0)
+ m600(arg0, 2, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(b60a, auij), Local0)
+ m600(arg0, 3, Local0, 0)
+
+ if (y078) {
+ Store(NOr(b60a, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(b60a, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0)
+ }
+
+ Store(NOr(b60a, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(b60a, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(b60a, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(b60a, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(b60a, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(b60a, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0)
+ }
+
+ NOr(b60a, 0, Local0)
+ m600(arg0, 12, Local0, 0x01834c6e29af5d7b)
+
+ NOr(b60a, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0)
+
+ NOr(b60a, aui5, Local0)
+ m600(arg0, 14, Local0, 0x01834c6e29af5d7b)
+
+ NOr(b60a, auij, Local0)
+ m600(arg0, 15, Local0, 0)
+
+ if (y078) {
+ NOr(b60a, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x01834c6e29af5d7b)
+
+ NOr(b60a, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0)
+ }
+
+ NOr(b60a, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x01834c6e29af5d7b)
+
+ NOr(b60a, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(b60a, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x01834c6e29af5d7b)
+
+ NOr(b60a, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(b60a, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x01834c6e29af5d7b)
+
+ NOr(b60a, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0)
+ }
+
+ // Conversion of the second operand
+
+ Store(NOr(0, b60a), Local0)
+ m600(arg0, 24, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(0xffffffffffffffff, b60a), Local0)
+ m600(arg0, 25, Local0, 0)
+
+ Store(NOr(aui5, b60a), Local0)
+ m600(arg0, 26, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(auij, b60a), Local0)
+ m600(arg0, 27, Local0, 0)
+
+ if (y078) {
+ Store(NOr(Derefof(Refof(aui5)), b60a), Local0)
+ m600(arg0, 28, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(Refof(auij)), b60a), Local0)
+ m600(arg0, 29, Local0, 0)
+ }
+
+ Store(NOr(Derefof(Index(paui, 5)), b60a), Local0)
+ m600(arg0, 30, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(Index(paui, 19)), b60a), Local0)
+ m600(arg0, 31, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(m601(1, 5), b60a), Local0)
+ m600(arg0, 32, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(m601(1, 19), b60a), Local0)
+ m600(arg0, 33, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(Derefof(m602(1, 5, 1)), b60a), Local0)
+ m600(arg0, 34, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(m602(1, 19, 1)), b60a), Local0)
+ m600(arg0, 35, Local0, 0)
+ }
+
+ NOr(0, b60a, Local0)
+ m600(arg0, 36, Local0, 0x01834c6e29af5d7b)
+
+ NOr(0xffffffffffffffff, b60a, Local0)
+ m600(arg0, 37, Local0, 0)
+
+ NOr(aui5, b60a, Local0)
+ m600(arg0, 38, Local0, 0x01834c6e29af5d7b)
+
+ NOr(auij, b60a, Local0)
+ m600(arg0, 39, Local0, 0)
+
+ if (y078) {
+ NOr(Derefof(Refof(aui5)), b60a, Local0)
+ m600(arg0, 40, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(Refof(auij)), b60a, Local0)
+ m600(arg0, 41, Local0, 0)
+ }
+
+ NOr(Derefof(Index(paui, 5)), b60a, Local0)
+ m600(arg0, 42, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(Index(paui, 19)), b60a, Local0)
+ m600(arg0, 43, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(m601(1, 5), b60a, Local0)
+ m600(arg0, 44, Local0, 0x01834c6e29af5d7b)
+
+ NOr(m601(1, 19), b60a, Local0)
+ m600(arg0, 45, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(Derefof(m602(1, 5, 1)), b60a, Local0)
+ m600(arg0, 46, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(m602(1, 19, 1)), b60a, Local0)
+ m600(arg0, 47, Local0, 0)
+ }
+
+ // Conversion of the both operands
+
+ Store(NOr(b606, b60a), Local0)
+ m600(arg0, 48, Local0, 0x01834c6e29af5c5a)
+
+ Store(NOr(b60a, b606), Local0)
+ m600(arg0, 49, Local0, 0x01834c6e29af5c5a)
+
+ NOr(b606, b60a, Local0)
+ m600(arg0, 50, Local0, 0x01834c6e29af5c5a)
+
+ NOr(b60a, b606, Local0)
+ m600(arg0, 51, Local0, 0x01834c6e29af5c5a)
+ }
+
+ // NOr, 32-bit
+ Method(m04f, 1)
+ {
+ // Conversion of the first operand
+
+ Store(NOr(b60a, 0), Local0)
+ m600(arg0, 0, Local0, 0x29af5d7b)
+
+ Store(NOr(b60a, 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0)
+
+ Store(NOr(b60a, aui5), Local0)
+ m600(arg0, 2, Local0, 0x29af5d7b)
+
+ Store(NOr(b60a, auii), Local0)
+ m600(arg0, 3, Local0, 0)
+
+ if (y078) {
+ Store(NOr(b60a, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x29af5d7b)
+
+ Store(NOr(b60a, Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0)
+ }
+
+ Store(NOr(b60a, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x29af5d7b)
+
+ Store(NOr(b60a, Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(b60a, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x29af5d7b)
+
+ Store(NOr(b60a, m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(b60a, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x29af5d7b)
+
+ Store(NOr(b60a, Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0)
+ }
+
+ NOr(b60a, 0, Local0)
+ m600(arg0, 12, Local0, 0x29af5d7b)
+
+ NOr(b60a, 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0)
+
+ NOr(b60a, aui5, Local0)
+ m600(arg0, 14, Local0, 0x29af5d7b)
+
+ NOr(b60a, auii, Local0)
+ m600(arg0, 15, Local0, 0)
+
+ if (y078) {
+ NOr(b60a, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x29af5d7b)
+
+ NOr(b60a, Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0)
+ }
+
+ NOr(b60a, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x29af5d7b)
+
+ NOr(b60a, Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(b60a, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x29af5d7b)
+
+ NOr(b60a, m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(b60a, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x29af5d7b)
+
+ NOr(b60a, Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0)
+ }
+
+ // Conversion of the second operand
+
+ Store(NOr(0, b60a), Local0)
+ m600(arg0, 24, Local0, 0x29af5d7b)
+
+ Store(NOr(0xffffffff, b60a), Local0)
+ m600(arg0, 25, Local0, 0)
+
+ Store(NOr(aui5, b60a), Local0)
+ m600(arg0, 26, Local0, 0x29af5d7b)
+
+ Store(NOr(auii, b60a), Local0)
+ m600(arg0, 27, Local0, 0)
+
+ if (y078) {
+ Store(NOr(Derefof(Refof(aui5)), b60a), Local0)
+ m600(arg0, 28, Local0, 0x29af5d7b)
+
+ Store(NOr(Derefof(Refof(auii)), b60a), Local0)
+ m600(arg0, 29, Local0, 0)
+ }
+
+ Store(NOr(Derefof(Index(paui, 5)), b60a), Local0)
+ m600(arg0, 30, Local0, 0x29af5d7b)
+
+ Store(NOr(Derefof(Index(paui, 18)), b60a), Local0)
+ m600(arg0, 31, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(m601(1, 5), b60a), Local0)
+ m600(arg0, 32, Local0, 0x29af5d7b)
+
+ Store(NOr(m601(1, 18), b60a), Local0)
+ m600(arg0, 33, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(Derefof(m602(1, 5, 1)), b60a), Local0)
+ m600(arg0, 34, Local0, 0x29af5d7b)
+
+ Store(NOr(Derefof(m602(1, 18, 1)), b60a), Local0)
+ m600(arg0, 35, Local0, 0)
+ }
+
+ NOr(0, b60a, Local0)
+ m600(arg0, 36, Local0, 0x29af5d7b)
+
+ NOr(0xffffffff, b60a, Local0)
+ m600(arg0, 37, Local0, 0)
+
+ NOr(aui5, b60a, Local0)
+ m600(arg0, 38, Local0, 0x29af5d7b)
+
+ NOr(auii, b60a, Local0)
+ m600(arg0, 39, Local0, 0)
+
+ if (y078) {
+ NOr(Derefof(Refof(aui5)), b60a, Local0)
+ m600(arg0, 40, Local0, 0x29af5d7b)
+
+ NOr(Derefof(Refof(auii)), b60a, Local0)
+ m600(arg0, 41, Local0, 0)
+ }
+
+ NOr(Derefof(Index(paui, 5)), b60a, Local0)
+ m600(arg0, 42, Local0, 0x29af5d7b)
+
+ NOr(Derefof(Index(paui, 18)), b60a, Local0)
+ m600(arg0, 43, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(m601(1, 5), b60a, Local0)
+ m600(arg0, 44, Local0, 0x29af5d7b)
+
+ NOr(m601(1, 18), b60a, Local0)
+ m600(arg0, 45, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(Derefof(m602(1, 5, 1)), b60a, Local0)
+ m600(arg0, 46, Local0, 0x29af5d7b)
+
+ NOr(Derefof(m602(1, 18, 1)), b60a, Local0)
+ m600(arg0, 47, Local0, 0)
+ }
+
+ // Conversion of the both operands
+
+ Store(NOr(b606, b60a), Local0)
+ m600(arg0, 48, Local0, 0x29af5c5a)
+
+ Store(NOr(b60a, b606), Local0)
+ m600(arg0, 49, Local0, 0x29af5c5a)
+
+ NOr(b606, b60a, Local0)
+ m600(arg0, 50, Local0, 0x29af5c5a)
+
+ NOr(b60a, b606, Local0)
+ m600(arg0, 51, Local0, 0x29af5c5a)
+ }
+
+ // Or, common 32-bit/64-bit test
+ Method(m050, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Or(b606, 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Or(b606, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xffffffffffffffff)
+
+ Store(Or(b606, aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Or(b606, auij), Local0)
+ m600(arg0, 3, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Store(Or(b606, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Or(b606, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xffffffffffffffff)
+ }
+
+ Store(Or(b606, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Or(b606, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Store(Or(b606, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Or(b606, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(b606, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Or(b606, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xffffffffffffffff)
+ }
+
+ Or(b606, 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Or(b606, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xffffffffffffffff)
+
+ Or(b606, aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Or(b606, auij, Local0)
+ m600(arg0, 15, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Or(b606, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Or(b606, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xffffffffffffffff)
+ }
+
+ Or(b606, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Or(b606, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Or(b606, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Or(b606, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(b606, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Or(b606, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xffffffffffffffff)
+ }
+
+ // Conversion of the second operand
+
+ Store(Or(0, b606), Local0)
+ m600(arg0, 24, Local0, 0x321)
+
+ Store(Or(0xffffffffffffffff, b606), Local0)
+ m600(arg0, 25, Local0, 0xffffffffffffffff)
+
+ Store(Or(aui5, b606), Local0)
+ m600(arg0, 26, Local0, 0x321)
+
+ Store(Or(auij, b606), Local0)
+ m600(arg0, 27, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Store(Or(Derefof(Refof(aui5)), b606), Local0)
+ m600(arg0, 28, Local0, 0x321)
+
+ Store(Or(Derefof(Refof(auij)), b606), Local0)
+ m600(arg0, 29, Local0, 0xffffffffffffffff)
+ }
+
+ Store(Or(Derefof(Index(paui, 5)), b606), Local0)
+ m600(arg0, 30, Local0, 0x321)
+
+ Store(Or(Derefof(Index(paui, 19)), b606), Local0)
+ m600(arg0, 31, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Store(Or(m601(1, 5), b606), Local0)
+ m600(arg0, 32, Local0, 0x321)
+
+ Store(Or(m601(1, 19), b606), Local0)
+ m600(arg0, 33, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(Derefof(m602(1, 5, 1)), b606), Local0)
+ m600(arg0, 34, Local0, 0x321)
+
+ Store(Or(Derefof(m602(1, 19, 1)), b606), Local0)
+ m600(arg0, 35, Local0, 0xffffffffffffffff)
+ }
+
+ Or(0, b606, Local0)
+ m600(arg0, 36, Local0, 0x321)
+
+ Or(0xffffffffffffffff, b606, Local0)
+ m600(arg0, 37, Local0, 0xffffffffffffffff)
+
+ Or(aui5, b606, Local0)
+ m600(arg0, 38, Local0, 0x321)
+
+ Or(auij, b606, Local0)
+ m600(arg0, 39, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Or(Derefof(Refof(aui5)), b606, Local0)
+ m600(arg0, 40, Local0, 0x321)
+
+ Or(Derefof(Refof(auij)), b606, Local0)
+ m600(arg0, 41, Local0, 0xffffffffffffffff)
+ }
+
+ Or(Derefof(Index(paui, 5)), b606, Local0)
+ m600(arg0, 42, Local0, 0x321)
+
+ Or(Derefof(Index(paui, 19)), b606, Local0)
+ m600(arg0, 43, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Or(m601(1, 5), b606, Local0)
+ m600(arg0, 44, Local0, 0x321)
+
+ Or(m601(1, 19), b606, Local0)
+ m600(arg0, 45, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(Derefof(m602(1, 5, 1)), b606, Local0)
+ m600(arg0, 46, Local0, 0x321)
+
+ Or(Derefof(m602(1, 19, 1)), b606, Local0)
+ m600(arg0, 47, Local0, 0xffffffffffffffff)
+ }
+ }
+
+ // Or, 64-bit
+ Method(m051, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Or(b60a, 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(b60a, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xffffffffffffffff)
+
+ Store(Or(b60a, aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(b60a, auij), Local0)
+ m600(arg0, 3, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Store(Or(b60a, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(b60a, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xffffffffffffffff)
+ }
+
+ Store(Or(b60a, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(b60a, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Store(Or(b60a, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(b60a, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(b60a, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(b60a, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xffffffffffffffff)
+ }
+
+ Or(b60a, 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Or(b60a, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xffffffffffffffff)
+
+ Or(b60a, aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Or(b60a, auij, Local0)
+ m600(arg0, 15, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Or(b60a, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Or(b60a, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xffffffffffffffff)
+ }
+
+ Or(b60a, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Or(b60a, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Or(b60a, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Or(b60a, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(b60a, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Or(b60a, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xffffffffffffffff)
+ }
+
+ // Conversion of the second operand
+
+ Store(Or(0, b60a), Local0)
+ m600(arg0, 24, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(0xffffffffffffffff, b60a), Local0)
+ m600(arg0, 25, Local0, 0xffffffffffffffff)
+
+ Store(Or(aui5, b60a), Local0)
+ m600(arg0, 26, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(auij, b60a), Local0)
+ m600(arg0, 27, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Store(Or(Derefof(Refof(aui5)), b60a), Local0)
+ m600(arg0, 28, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(Refof(auij)), b60a), Local0)
+ m600(arg0, 29, Local0, 0xffffffffffffffff)
+ }
+
+ Store(Or(Derefof(Index(paui, 5)), b60a), Local0)
+ m600(arg0, 30, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(Index(paui, 19)), b60a), Local0)
+ m600(arg0, 31, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Store(Or(m601(1, 5), b60a), Local0)
+ m600(arg0, 32, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(m601(1, 19), b60a), Local0)
+ m600(arg0, 33, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(Derefof(m602(1, 5, 1)), b60a), Local0)
+ m600(arg0, 34, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(m602(1, 19, 1)), b60a), Local0)
+ m600(arg0, 35, Local0, 0xffffffffffffffff)
+ }
+
+ Or(0, b60a, Local0)
+ m600(arg0, 36, Local0, 0xfe7cb391d650a284)
+
+ Or(0xffffffffffffffff, b60a, Local0)
+ m600(arg0, 37, Local0, 0xffffffffffffffff)
+
+ Or(aui5, b60a, Local0)
+ m600(arg0, 38, Local0, 0xfe7cb391d650a284)
+
+ Or(auij, b60a, Local0)
+ m600(arg0, 39, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Or(Derefof(Refof(aui5)), b60a, Local0)
+ m600(arg0, 40, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(Refof(auij)), b60a, Local0)
+ m600(arg0, 41, Local0, 0xffffffffffffffff)
+ }
+
+ Or(Derefof(Index(paui, 5)), b60a, Local0)
+ m600(arg0, 42, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(Index(paui, 19)), b60a, Local0)
+ m600(arg0, 43, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Or(m601(1, 5), b60a, Local0)
+ m600(arg0, 44, Local0, 0xfe7cb391d650a284)
+
+ Or(m601(1, 19), b60a, Local0)
+ m600(arg0, 45, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(Derefof(m602(1, 5, 1)), b60a, Local0)
+ m600(arg0, 46, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(m602(1, 19, 1)), b60a, Local0)
+ m600(arg0, 47, Local0, 0xffffffffffffffff)
+ }
+
+ // Conversion of the both operands
+
+ Store(Or(b606, b60a), Local0)
+ m600(arg0, 48, Local0, 0xfe7cb391d650a3a5)
+
+ Store(Or(b60a, b606), Local0)
+ m600(arg0, 49, Local0, 0xfe7cb391d650a3a5)
+
+ Or(b606, b60a, Local0)
+ m600(arg0, 50, Local0, 0xfe7cb391d650a3a5)
+
+ Or(b60a, b606, Local0)
+ m600(arg0, 51, Local0, 0xfe7cb391d650a3a5)
+ }
+
+ // Or, 32-bit
+ Method(m052, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Or(b60a, 0), Local0)
+ m600(arg0, 0, Local0, 0xd650a284)
+
+ Store(Or(b60a, 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0xffffffff)
+
+ Store(Or(b60a, aui5), Local0)
+ m600(arg0, 2, Local0, 0xd650a284)
+
+ Store(Or(b60a, auii), Local0)
+ m600(arg0, 3, Local0, 0xffffffff)
+
+ if (y078) {
+ Store(Or(b60a, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xd650a284)
+
+ Store(Or(b60a, Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0xffffffff)
+ }
+
+ Store(Or(b60a, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xd650a284)
+
+ Store(Or(b60a, Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0xffffffff)
+
+ // Method returns Integer
+
+ Store(Or(b60a, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xd650a284)
+
+ Store(Or(b60a, m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0xffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(b60a, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xd650a284)
+
+ Store(Or(b60a, Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0xffffffff)
+ }
+
+ Or(b60a, 0, Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ Or(b60a, 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0xffffffff)
+
+ Or(b60a, aui5, Local0)
+ m600(arg0, 14, Local0, 0xd650a284)
+
+ Or(b60a, auii, Local0)
+ m600(arg0, 15, Local0, 0xffffffff)
+
+ if (y078) {
+ Or(b60a, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xd650a284)
+
+ Or(b60a, Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0xffffffff)
+ }
+
+ Or(b60a, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xd650a284)
+
+ Or(b60a, Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0xffffffff)
+
+ // Method returns Integer
+
+ Or(b60a, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xd650a284)
+
+ Or(b60a, m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0xffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(b60a, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xd650a284)
+
+ Or(b60a, Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0xffffffff)
+ }
+
+ // Conversion of the second operand
+
+ Store(Or(0, b60a), Local0)
+ m600(arg0, 24, Local0, 0xd650a284)
+
+ Store(Or(0xffffffff, b60a), Local0)
+ m600(arg0, 25, Local0, 0xffffffff)
+
+ Store(Or(aui5, b60a), Local0)
+ m600(arg0, 26, Local0, 0xd650a284)
+
+ Store(Or(auii, b60a), Local0)
+ m600(arg0, 27, Local0, 0xffffffff)
+
+ if (y078) {
+ Store(Or(Derefof(Refof(aui5)), b60a), Local0)
+ m600(arg0, 28, Local0, 0xd650a284)
+
+ Store(Or(Derefof(Refof(auii)), b60a), Local0)
+ m600(arg0, 29, Local0, 0xffffffff)
+ }
+
+ Store(Or(Derefof(Index(paui, 5)), b60a), Local0)
+ m600(arg0, 30, Local0, 0xd650a284)
+
+ Store(Or(Derefof(Index(paui, 18)), b60a), Local0)
+ m600(arg0, 31, Local0, 0xffffffff)
+
+ // Method returns Integer
+
+ Store(Or(m601(1, 5), b60a), Local0)
+ m600(arg0, 32, Local0, 0xd650a284)
+
+ Store(Or(m601(1, 18), b60a), Local0)
+ m600(arg0, 33, Local0, 0xffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(Derefof(m602(1, 5, 1)), b60a), Local0)
+ m600(arg0, 34, Local0, 0xd650a284)
+
+ Store(Or(Derefof(m602(1, 18, 1)), b60a), Local0)
+ m600(arg0, 35, Local0, 0xffffffff)
+ }
+
+ Or(0, b60a, Local0)
+ m600(arg0, 36, Local0, 0xd650a284)
+
+ Or(0xffffffff, b60a, Local0)
+ m600(arg0, 37, Local0, 0xffffffff)
+
+ Or(aui5, b60a, Local0)
+ m600(arg0, 38, Local0, 0xd650a284)
+
+ Or(auii, b60a, Local0)
+ m600(arg0, 39, Local0, 0xffffffff)
+
+ if (y078) {
+ Or(Derefof(Refof(aui5)), b60a, Local0)
+ m600(arg0, 40, Local0, 0xd650a284)
+
+ Or(Derefof(Refof(auii)), b60a, Local0)
+ m600(arg0, 41, Local0, 0xffffffff)
+ }
+
+ Or(Derefof(Index(paui, 5)), b60a, Local0)
+ m600(arg0, 42, Local0, 0xd650a284)
+
+ Or(Derefof(Index(paui, 18)), b60a, Local0)
+ m600(arg0, 43, Local0, 0xffffffff)
+
+ // Method returns Integer
+
+ Or(m601(1, 5), b60a, Local0)
+ m600(arg0, 44, Local0, 0xd650a284)
+
+ Or(m601(1, 18), b60a, Local0)
+ m600(arg0, 45, Local0, 0xffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(Derefof(m602(1, 5, 1)), b60a, Local0)
+ m600(arg0, 46, Local0, 0xd650a284)
+
+ Or(Derefof(m602(1, 18, 1)), b60a, Local0)
+ m600(arg0, 47, Local0, 0xffffffff)
+ }
+
+ // Conversion of the both operands
+
+ Store(Or(b606, b60a), Local0)
+ m600(arg0, 48, Local0, 0xd650a3a5)
+
+ Store(Or(b60a, b606), Local0)
+ m600(arg0, 49, Local0, 0xd650a3a5)
+
+ Or(b606, b60a, Local0)
+ m600(arg0, 50, Local0, 0xd650a3a5)
+
+ Or(b60a, b606, Local0)
+ m600(arg0, 51, Local0, 0xd650a3a5)
+ }
+
+ // ShiftLeft, common 32-bit/64-bit test
+ Method(m053, 1)
+ {
+ // Conversion of the first operand
+
+ Store(ShiftLeft(b606, 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(ShiftLeft(b606, 1), Local0)
+ m600(arg0, 1, Local0, 0x642)
+
+ Store(ShiftLeft(b606, aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(ShiftLeft(b606, aui6), Local0)
+ m600(arg0, 3, Local0, 0x642)
+
+ if (y078) {
+ Store(ShiftLeft(b606, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(ShiftLeft(b606, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x642)
+ }
+
+ Store(ShiftLeft(b606, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(ShiftLeft(b606, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x642)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(b606, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(ShiftLeft(b606, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x642)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(b606, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(ShiftLeft(b606, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x642)
+ }
+
+ ShiftLeft(b606, 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ ShiftLeft(b606, 1, Local0)
+ m600(arg0, 13, Local0, 0x642)
+
+ ShiftLeft(b606, aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ ShiftLeft(b606, aui6, Local0)
+ m600(arg0, 15, Local0, 0x642)
+
+ if (y078) {
+ ShiftLeft(b606, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ ShiftLeft(b606, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x642)
+ }
+
+ ShiftLeft(b606, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ ShiftLeft(b606, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x642)
+
+ // Method returns Integer
+
+ ShiftLeft(b606, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ ShiftLeft(b606, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x642)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(b606, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ ShiftLeft(b606, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x642)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftLeft(0, b60e), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftLeft(1, b60e), Local0)
+ m600(arg0, 25, Local0, 0x800)
+
+ Store(ShiftLeft(aui5, b60e), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftLeft(aui6, b60e), Local0)
+ m600(arg0, 27, Local0, 0x800)
+
+ if (y078) {
+ Store(ShiftLeft(Derefof(Refof(aui5)), b60e), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Refof(aui6)), b60e), Local0)
+ m600(arg0, 29, Local0, 0x800)
+ }
+
+ Store(ShiftLeft(Derefof(Index(paui, 5)), b60e), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Index(paui, 6)), b60e), Local0)
+ m600(arg0, 31, Local0, 0x800)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(m601(1, 5), b60e), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftLeft(m601(1, 6), b60e), Local0)
+ m600(arg0, 33, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(Derefof(m602(1, 5, 1)), b60e), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftLeft(Derefof(m602(1, 6, 1)), b60e), Local0)
+ m600(arg0, 35, Local0, 0x800)
+ }
+
+ ShiftLeft(0, b60e, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftLeft(1, b60e, Local0)
+ m600(arg0, 37, Local0, 0x800)
+
+ ShiftLeft(aui5, b60e, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftLeft(aui6, b60e, Local0)
+ m600(arg0, 39, Local0, 0x800)
+
+ if (y078) {
+ ShiftLeft(Derefof(Refof(aui5)), b60e, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftLeft(Derefof(Refof(aui6)), b60e, Local0)
+ m600(arg0, 41, Local0, 0x800)
+ }
+
+ ShiftLeft(Derefof(Index(paui, 5)), b60e, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftLeft(Derefof(Index(paui, 6)), b60e, Local0)
+ m600(arg0, 43, Local0, 0x800)
+
+ // Method returns Integer
+
+ ShiftLeft(m601(1, 5), b60e, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftLeft(m601(1, 6), b60e, Local0)
+ m600(arg0, 45, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(Derefof(m602(1, 5, 1)), b60e, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftLeft(Derefof(m602(1, 6, 1)), b60e, Local0)
+ m600(arg0, 47, Local0, 0x800)
+ }
+ }
+
+ // ShiftLeft, 64-bit
+ Method(m054, 1)
+ {
+ // Conversion of the first operand
+
+ Store(ShiftLeft(b60a, 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(b60a, 1), Local0)
+ m600(arg0, 1, Local0, 0xfcf96723aca14508)
+
+ Store(ShiftLeft(b60a, aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(b60a, aui6), Local0)
+ m600(arg0, 3, Local0, 0xfcf96723aca14508)
+
+ if (y078) {
+ Store(ShiftLeft(b60a, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(b60a, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xfcf96723aca14508)
+ }
+
+ Store(ShiftLeft(b60a, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(b60a, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xfcf96723aca14508)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(b60a, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(b60a, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xfcf96723aca14508)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(b60a, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(b60a, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfcf96723aca14508)
+ }
+
+ ShiftLeft(b60a, 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(b60a, 1, Local0)
+ m600(arg0, 13, Local0, 0xfcf96723aca14508)
+
+ ShiftLeft(b60a, aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(b60a, aui6, Local0)
+ m600(arg0, 15, Local0, 0xfcf96723aca14508)
+
+ if (y078) {
+ ShiftLeft(b60a, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(b60a, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xfcf96723aca14508)
+ }
+
+ ShiftLeft(b60a, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(b60a, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xfcf96723aca14508)
+
+ // Method returns Integer
+
+ ShiftLeft(b60a, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(b60a, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xfcf96723aca14508)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(b60a, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(b60a, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfcf96723aca14508)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftLeft(0, b60e), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftLeft(1, b60e), Local0)
+ m600(arg0, 25, Local0, 0x800)
+
+ Store(ShiftLeft(aui5, b60e), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftLeft(aui6, b60e), Local0)
+ m600(arg0, 27, Local0, 0x800)
+
+ if (y078) {
+ Store(ShiftLeft(Derefof(Refof(aui5)), b60e), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Refof(aui6)), b60e), Local0)
+ m600(arg0, 29, Local0, 0x800)
+ }
+
+ Store(ShiftLeft(Derefof(Index(paui, 5)), b60e), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Index(paui, 6)), b60e), Local0)
+ m600(arg0, 31, Local0, 0x800)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(m601(1, 5), b60e), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftLeft(m601(1, 6), b60e), Local0)
+ m600(arg0, 33, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(Derefof(m602(1, 5, 1)), b60e), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftLeft(Derefof(m602(1, 6, 1)), b60e), Local0)
+ m600(arg0, 35, Local0, 0x800)
+ }
+
+ ShiftLeft(0, b60e, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftLeft(1, b60e, Local0)
+ m600(arg0, 37, Local0, 0x800)
+
+ ShiftLeft(aui5, b60e, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftLeft(aui6, b60e, Local0)
+ m600(arg0, 39, Local0, 0x800)
+
+ if (y078) {
+ ShiftLeft(Derefof(Refof(aui5)), b60e, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftLeft(Derefof(Refof(aui6)), b60e, Local0)
+ m600(arg0, 41, Local0, 0x800)
+ }
+
+ ShiftLeft(Derefof(Index(paui, 5)), b60e, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftLeft(Derefof(Index(paui, 6)), b60e, Local0)
+ m600(arg0, 43, Local0, 0x800)
+
+ // Method returns Integer
+
+ ShiftLeft(m601(1, 5), b60e, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftLeft(m601(1, 6), b60e, Local0)
+ m600(arg0, 45, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(Derefof(m602(1, 5, 1)), b60e, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftLeft(Derefof(m602(1, 6, 1)), b60e, Local0)
+ m600(arg0, 47, Local0, 0x800)
+ }
+
+ // Conversion of the both operands
+
+ Store(ShiftLeft(b606, b60e), Local0)
+ m600(arg0, 48, Local0, 0x190800)
+
+ Store(ShiftLeft(b60a, b60e), Local0)
+ m600(arg0, 49, Local0, 0xE59C8EB285142000)
+
+ ShiftLeft(b606, b60e, Local0)
+ m600(arg0, 50, Local0, 0x190800)
+
+ ShiftLeft(b60a, b60e, Local0)
+ m600(arg0, 51, Local0, 0xE59C8EB285142000)
+ }
+
+ // ShiftLeft, 32-bit
+ Method(m055, 1)
+ {
+ // Conversion of the first operand
+
+ Store(ShiftLeft(b60a, 0), Local0)
+ m600(arg0, 0, Local0, 0xd650a284)
+
+ Store(ShiftLeft(b60a, 1), Local0)
+ m600(arg0, 1, Local0, 0xaca14508)
+
+ Store(ShiftLeft(b60a, aui5), Local0)
+ m600(arg0, 2, Local0, 0xd650a284)
+
+ Store(ShiftLeft(b60a, aui6), Local0)
+ m600(arg0, 3, Local0, 0xaca14508)
+
+ if (y078) {
+ Store(ShiftLeft(b60a, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xd650a284)
+
+ Store(ShiftLeft(b60a, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xaca14508)
+ }
+
+ Store(ShiftLeft(b60a, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xd650a284)
+
+ Store(ShiftLeft(b60a, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xaca14508)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(b60a, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xd650a284)
+
+ Store(ShiftLeft(b60a, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xaca14508)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(b60a, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xd650a284)
+
+ Store(ShiftLeft(b60a, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xaca14508)
+ }
+
+ ShiftLeft(b60a, 0, Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ ShiftLeft(b60a, 1, Local0)
+ m600(arg0, 13, Local0, 0xaca14508)
+
+ ShiftLeft(b60a, aui5, Local0)
+ m600(arg0, 14, Local0, 0xd650a284)
+
+ ShiftLeft(b60a, aui6, Local0)
+ m600(arg0, 15, Local0, 0xaca14508)
+
+ if (y078) {
+ ShiftLeft(b60a, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xd650a284)
+
+ ShiftLeft(b60a, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xaca14508)
+ }
+
+ ShiftLeft(b60a, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xd650a284)
+
+ ShiftLeft(b60a, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xaca14508)
+
+ // Method returns Integer
+
+ ShiftLeft(b60a, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xd650a284)
+
+ ShiftLeft(b60a, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xaca14508)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(b60a, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xd650a284)
+
+ ShiftLeft(b60a, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xaca14508)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftLeft(0, b60e), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftLeft(1, b60e), Local0)
+ m600(arg0, 25, Local0, 0x800)
+
+ Store(ShiftLeft(aui5, b60e), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftLeft(aui6, b60e), Local0)
+ m600(arg0, 27, Local0, 0x800)
+
+ if (y078) {
+ Store(ShiftLeft(Derefof(Refof(aui5)), b60e), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Refof(aui6)), b60e), Local0)
+ m600(arg0, 29, Local0, 0x800)
+ }
+
+ Store(ShiftLeft(Derefof(Index(paui, 5)), b60e), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Index(paui, 6)), b60e), Local0)
+ m600(arg0, 31, Local0, 0x800)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(m601(1, 5), b60e), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftLeft(m601(1, 6), b60e), Local0)
+ m600(arg0, 33, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(Derefof(m602(1, 5, 1)), b60e), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftLeft(Derefof(m602(1, 6, 1)), b60e), Local0)
+ m600(arg0, 35, Local0, 0x800)
+ }
+
+ ShiftLeft(0, b60e, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftLeft(1, b60e, Local0)
+ m600(arg0, 37, Local0, 0x800)
+
+ ShiftLeft(aui5, b60e, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftLeft(aui6, b60e, Local0)
+ m600(arg0, 39, Local0, 0x800)
+
+ if (y078) {
+ ShiftLeft(Derefof(Refof(aui5)), b60e, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftLeft(Derefof(Refof(aui6)), b60e, Local0)
+ m600(arg0, 41, Local0, 0x800)
+ }
+
+ ShiftLeft(Derefof(Index(paui, 5)), b60e, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftLeft(Derefof(Index(paui, 6)), b60e, Local0)
+ m600(arg0, 43, Local0, 0x800)
+
+ // Method returns Integer
+
+ ShiftLeft(m601(1, 5), b60e, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftLeft(m601(1, 6), b60e, Local0)
+ m600(arg0, 45, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(Derefof(m602(1, 5, 1)), b60e, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftLeft(Derefof(m602(1, 6, 1)), b60e, Local0)
+ m600(arg0, 47, Local0, 0x800)
+ }
+
+ // Conversion of the both operands
+
+ Store(ShiftLeft(b606, b60e), Local0)
+ m600(arg0, 48, Local0, 0x190800)
+
+ Store(ShiftLeft(b60a, b60e), Local0)
+ m600(arg0, 49, Local0, 0x85142000)
+
+ ShiftLeft(b606, b60e, Local0)
+ m600(arg0, 50, Local0, 0x190800)
+
+ ShiftLeft(b60a, b60e, Local0)
+ m600(arg0, 51, Local0, 0x85142000)
+ }
+
+ // ShiftRight, common 32-bit/64-bit test
+ Method(m056, 1)
+ {
+ // Conversion of the first operand
+
+ Store(ShiftRight(b606, 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(ShiftRight(b606, 1), Local0)
+ m600(arg0, 1, Local0, 0x190)
+
+ Store(ShiftRight(b606, aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(ShiftRight(b606, aui6), Local0)
+ m600(arg0, 3, Local0, 0x190)
+
+ if (y078) {
+ Store(ShiftRight(b606, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(ShiftRight(b606, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x190)
+ }
+
+ Store(ShiftRight(b606, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(ShiftRight(b606, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x190)
+
+ // Method returns Integer
+
+ Store(ShiftRight(b606, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(ShiftRight(b606, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x190)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(b606, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(ShiftRight(b606, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x190)
+ }
+
+ ShiftRight(b606, 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ ShiftRight(b606, 1, Local0)
+ m600(arg0, 13, Local0, 0x190)
+
+ ShiftRight(b606, aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ ShiftRight(b606, aui6, Local0)
+ m600(arg0, 15, Local0, 0x190)
+
+ if (y078) {
+ ShiftRight(b606, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ ShiftRight(b606, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x190)
+ }
+
+ ShiftRight(b606, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ ShiftRight(b606, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x190)
+
+ // Method returns Integer
+
+ ShiftRight(b606, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ ShiftRight(b606, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x190)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(b606, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ ShiftRight(b606, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x190)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftRight(0x321, b60e), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftRight(0xd650a284, b60e), Local0)
+ m600(arg0, 25, Local0, 0x1aca14)
+
+ Store(ShiftRight(aui1, b60e), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftRight(auik, b60e), Local0)
+ m600(arg0, 27, Local0, 0x1aca14)
+
+ if (y078) {
+ Store(ShiftRight(Derefof(Refof(aui1)), b60e), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftRight(Derefof(Refof(auik)), b60e), Local0)
+ m600(arg0, 29, Local0, 0x1aca14)
+ }
+
+ Store(ShiftRight(Derefof(Index(paui, 1)), b60e), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftRight(Derefof(Index(paui, 20)), b60e), Local0)
+ m600(arg0, 31, Local0, 0x1aca14)
+
+ // Method returns Integer
+
+ Store(ShiftRight(m601(1, 1), b60e), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftRight(m601(1, 20), b60e), Local0)
+ m600(arg0, 33, Local0, 0x1aca14)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(Derefof(m602(1, 1, 1)), b60e), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftRight(Derefof(m602(1, 20, 1)), b60e), Local0)
+ m600(arg0, 35, Local0, 0x1aca14)
+ }
+
+ ShiftRight(0x321, b60e, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftRight(0xd650a284, b60e, Local0)
+ m600(arg0, 37, Local0, 0x1aca14)
+
+ ShiftRight(aui1, b60e, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftRight(auik, b60e, Local0)
+ m600(arg0, 39, Local0, 0x1aca14)
+
+ if (y078) {
+ ShiftRight(Derefof(Refof(aui1)), b60e, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftRight(Derefof(Refof(auik)), b60e, Local0)
+ m600(arg0, 41, Local0, 0x1aca14)
+ }
+
+ ShiftRight(Derefof(Index(paui, 1)), b60e, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftRight(Derefof(Index(paui, 20)), b60e, Local0)
+ m600(arg0, 43, Local0, 0x1aca14)
+
+ // Method returns Integer
+
+ ShiftRight(m601(1, 1), b60e, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftRight(m601(1, 20), b60e, Local0)
+ m600(arg0, 45, Local0, 0x1aca14)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(Derefof(m602(1, 1, 1)), b60e, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftRight(Derefof(m602(1, 20, 1)), b60e, Local0)
+ m600(arg0, 47, Local0, 0x1aca14)
+ }
+ }
+
+ // ShiftRight, 64-bit
+ Method(m057, 1)
+ {
+ // Conversion of the first operand
+
+ Store(ShiftRight(b60a, 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(b60a, 1), Local0)
+ m600(arg0, 1, Local0, 0x7f3e59c8eb285142)
+
+ Store(ShiftRight(b60a, aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(b60a, aui6), Local0)
+ m600(arg0, 3, Local0, 0x7f3e59c8eb285142)
+
+ if (y078) {
+ Store(ShiftRight(b60a, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(b60a, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x7f3e59c8eb285142)
+ }
+
+ Store(ShiftRight(b60a, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(b60a, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x7f3e59c8eb285142)
+
+ // Method returns Integer
+
+ Store(ShiftRight(b60a, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(b60a, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x7f3e59c8eb285142)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(b60a, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(b60a, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x7f3e59c8eb285142)
+ }
+
+ ShiftRight(b60a, 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(b60a, 1, Local0)
+ m600(arg0, 13, Local0, 0x7f3e59c8eb285142)
+
+ ShiftRight(b60a, aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(b60a, aui6, Local0)
+ m600(arg0, 15, Local0, 0x7f3e59c8eb285142)
+
+ if (y078) {
+ ShiftRight(b60a, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(b60a, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x7f3e59c8eb285142)
+ }
+
+ ShiftRight(b60a, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(b60a, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x7f3e59c8eb285142)
+
+ // Method returns Integer
+
+ ShiftRight(b60a, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(b60a, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x7f3e59c8eb285142)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(b60a, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(b60a, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x7f3e59c8eb285142)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftRight(0x321, b60e), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftRight(0xfe7cb391d650a284, b60e), Local0)
+ m600(arg0, 25, Local0, 0x1fcf96723aca14)
+
+ Store(ShiftRight(aui1, b60e), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftRight(aui4, b60e), Local0)
+ m600(arg0, 27, Local0, 0x1fcf96723aca14)
+
+ if (y078) {
+ Store(ShiftRight(Derefof(Refof(aui1)), b60e), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftRight(Derefof(Refof(aui4)), b60e), Local0)
+ m600(arg0, 29, Local0, 0x1fcf96723aca14)
+ }
+
+ Store(ShiftRight(Derefof(Index(paui, 1)), b60e), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftRight(Derefof(Index(paui, 4)), b60e), Local0)
+ m600(arg0, 31, Local0, 0x1fcf96723aca14)
+
+ // Method returns Integer
+
+ Store(ShiftRight(m601(1, 1), b60e), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftRight(m601(1, 4), b60e), Local0)
+ m600(arg0, 33, Local0, 0x1fcf96723aca14)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(Derefof(m602(1, 1, 1)), b60e), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftRight(Derefof(m602(1, 4, 1)), b60e), Local0)
+ m600(arg0, 35, Local0, 0x1fcf96723aca14)
+ }
+
+ ShiftRight(0x321, b60e, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftRight(0xfe7cb391d650a284, b60e, Local0)
+ m600(arg0, 37, Local0, 0x1fcf96723aca14)
+
+ ShiftRight(aui1, b60e, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftRight(aui4, b60e, Local0)
+ m600(arg0, 39, Local0, 0x1fcf96723aca14)
+
+ if (y078) {
+ ShiftRight(Derefof(Refof(aui1)), b60e, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftRight(Derefof(Refof(aui4)), b60e, Local0)
+ m600(arg0, 41, Local0, 0x1fcf96723aca14)
+ }
+
+ ShiftRight(Derefof(Index(paui, 1)), b60e, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftRight(Derefof(Index(paui, 4)), b60e, Local0)
+ m600(arg0, 43, Local0, 0x1fcf96723aca14)
+
+ // Method returns Integer
+
+ ShiftRight(m601(1, 1), b60e, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftRight(m601(1, 4), b60e, Local0)
+ m600(arg0, 45, Local0, 0x1fcf96723aca14)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(Derefof(m602(1, 1, 1)), b60e, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftRight(Derefof(m602(1, 4, 1)), b60e, Local0)
+ m600(arg0, 47, Local0, 0x1fcf96723aca14)
+ }
+
+ // Conversion of the both operands
+
+ Store(ShiftRight(b606, b60e), Local0)
+ m600(arg0, 48, Local0, 0)
+
+ Store(ShiftRight(b60a, b60e), Local0)
+ m600(arg0, 49, Local0, 0x1fcf96723aca14)
+
+ ShiftRight(b606, b60e, Local0)
+ m600(arg0, 50, Local0, 0)
+
+ ShiftRight(b60a, b60e, Local0)
+ m600(arg0, 51, Local0, 0x1fcf96723aca14)
+ }
+
+ // ShiftRight, 32-bit
+ Method(m058, 1)
+ {
+ // Conversion of the first operand
+
+ Store(ShiftRight(b60a, 0), Local0)
+ m600(arg0, 0, Local0, 0xd650a284)
+
+ Store(ShiftRight(b60a, 1), Local0)
+ m600(arg0, 1, Local0, 0x6b285142)
+
+ Store(ShiftRight(b60a, aui5), Local0)
+ m600(arg0, 2, Local0, 0xd650a284)
+
+ Store(ShiftRight(b60a, aui6), Local0)
+ m600(arg0, 3, Local0, 0x6b285142)
+
+ if (y078) {
+ Store(ShiftRight(b60a, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xd650a284)
+
+ Store(ShiftRight(b60a, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x6b285142)
+ }
+
+ Store(ShiftRight(b60a, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xd650a284)
+
+ Store(ShiftRight(b60a, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x6b285142)
+
+ // Method returns Integer
+
+ Store(ShiftRight(b60a, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xd650a284)
+
+ Store(ShiftRight(b60a, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x6b285142)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(b60a, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xd650a284)
+
+ Store(ShiftRight(b60a, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x6b285142)
+ }
+
+ ShiftRight(b60a, 0, Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ ShiftRight(b60a, 1, Local0)
+ m600(arg0, 13, Local0, 0x6b285142)
+
+ ShiftRight(b60a, aui5, Local0)
+ m600(arg0, 14, Local0, 0xd650a284)
+
+ ShiftRight(b60a, aui6, Local0)
+ m600(arg0, 15, Local0, 0x6b285142)
+
+ if (y078) {
+ ShiftRight(b60a, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xd650a284)
+
+ ShiftRight(b60a, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x6b285142)
+ }
+
+ ShiftRight(b60a, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xd650a284)
+
+ ShiftRight(b60a, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x6b285142)
+
+ // Method returns Integer
+
+ ShiftRight(b60a, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xd650a284)
+
+ ShiftRight(b60a, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x6b285142)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(b60a, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xd650a284)
+
+ ShiftRight(b60a, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x6b285142)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftRight(0x321, b60e), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftRight(0xd650a284, b60e), Local0)
+ m600(arg0, 25, Local0, 0x1aca14)
+
+ Store(ShiftRight(aui1, b60e), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftRight(auik, b60e), Local0)
+ m600(arg0, 27, Local0, 0x1aca14)
+
+ if (y078) {
+ Store(ShiftRight(Derefof(Refof(aui1)), b60e), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftRight(Derefof(Refof(auik)), b60e), Local0)
+ m600(arg0, 29, Local0, 0x1aca14)
+ }
+
+ Store(ShiftRight(Derefof(Index(paui, 1)), b60e), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftRight(Derefof(Index(paui, 20)), b60e), Local0)
+ m600(arg0, 31, Local0, 0x1aca14)
+
+ // Method returns Integer
+
+ Store(ShiftRight(m601(1, 1), b60e), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftRight(m601(1, 20), b60e), Local0)
+ m600(arg0, 33, Local0, 0x1aca14)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(Derefof(m602(1, 1, 1)), b60e), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftRight(Derefof(m602(1, 20, 1)), b60e), Local0)
+ m600(arg0, 35, Local0, 0x1aca14)
+ }
+
+ ShiftRight(0x321, b60e, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftRight(0xd650a284, b60e, Local0)
+ m600(arg0, 37, Local0, 0x1aca14)
+
+ ShiftRight(aui1, b60e, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftRight(auik, b60e, Local0)
+ m600(arg0, 39, Local0, 0x1aca14)
+
+ if (y078) {
+ ShiftRight(Derefof(Refof(aui1)), b60e, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftRight(Derefof(Refof(auik)), b60e, Local0)
+ m600(arg0, 41, Local0, 0x1aca14)
+ }
+
+ ShiftRight(Derefof(Index(paui, 1)), b60e, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftRight(Derefof(Index(paui, 20)), b60e, Local0)
+ m600(arg0, 43, Local0, 0x1aca14)
+
+ // Method returns Integer
+
+ ShiftRight(m601(1, 1), b60e, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftRight(m601(1, 20), b60e, Local0)
+ m600(arg0, 45, Local0, 0x1aca14)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(Derefof(m602(1, 1, 1)), b60e, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftRight(Derefof(m602(1, 20, 1)), b60e, Local0)
+ m600(arg0, 47, Local0, 0x1aca14)
+ }
+
+ // Conversion of the both operands
+
+ Store(ShiftRight(b606, b60e), Local0)
+ m600(arg0, 48, Local0, 0)
+
+ Store(ShiftRight(b60a, b60e), Local0)
+ m600(arg0, 49, Local0, 0x1aca14)
+
+ ShiftRight(b606, b60e, Local0)
+ m600(arg0, 50, Local0, 0)
+
+ ShiftRight(b60a, b60e, Local0)
+ m600(arg0, 51, Local0, 0x1aca14)
+ }
+
+ // Subtract, common 32-bit/64-bit test
+ Method(m059, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Subtract(b606, 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Subtract(b606, 1), Local0)
+ m600(arg0, 1, Local0, 0x320)
+
+ Store(Subtract(b606, aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Subtract(b606, aui6), Local0)
+ m600(arg0, 3, Local0, 0x320)
+
+ if (y078) {
+ Store(Subtract(b606, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Subtract(b606, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x320)
+ }
+
+ Store(Subtract(b606, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Subtract(b606, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x320)
+
+ // Method returns Integer
+
+ Store(Subtract(b606, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Subtract(b606, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x320)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(b606, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Subtract(b606, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x320)
+ }
+
+ Subtract(b606, 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Subtract(b606, 1, Local0)
+ m600(arg0, 13, Local0, 0x320)
+
+ Subtract(b606, aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Subtract(b606, aui6, Local0)
+ m600(arg0, 15, Local0, 0x320)
+
+ if (y078) {
+ Subtract(b606, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Subtract(b606, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x320)
+ }
+
+ Subtract(b606, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Subtract(b606, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x320)
+
+ // Method returns Integer
+
+ Subtract(b606, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Subtract(b606, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x320)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(b606, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Subtract(b606, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x320)
+ }
+
+ // Conversion of the second operand
+
+ Store(Subtract(0, b606), Local0)
+ m600(arg0, 24, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(1, b606), Local0)
+ m600(arg0, 25, Local0, 0xfffffffffffffce0)
+
+ Store(Subtract(aui5, b606), Local0)
+ m600(arg0, 26, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(aui6, b606), Local0)
+ m600(arg0, 27, Local0, 0xfffffffffffffce0)
+
+ if (y078) {
+ Store(Subtract(Derefof(Refof(aui5)), b606), Local0)
+ m600(arg0, 28, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(Derefof(Refof(aui6)), b606), Local0)
+ m600(arg0, 29, Local0, 0xfffffffffffffce0)
+ }
+
+ Store(Subtract(Derefof(Index(paui, 5)), b606), Local0)
+ m600(arg0, 30, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(Derefof(Index(paui, 6)), b606), Local0)
+ m600(arg0, 31, Local0, 0xfffffffffffffce0)
+
+ // Method returns Integer
+
+ Store(Subtract(m601(1, 5), b606), Local0)
+ m600(arg0, 32, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(m601(1, 6), b606), Local0)
+ m600(arg0, 33, Local0, 0xfffffffffffffce0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(Derefof(m602(1, 5, 1)), b606), Local0)
+ m600(arg0, 34, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(Derefof(m602(1, 6, 1)), b606), Local0)
+ m600(arg0, 35, Local0, 0xfffffffffffffce0)
+ }
+
+ Subtract(0, b606, Local0)
+ m600(arg0, 36, Local0, 0xfffffffffffffcdf)
+
+ Subtract(1, b606, Local0)
+ m600(arg0, 37, Local0, 0xfffffffffffffce0)
+
+ Subtract(aui5, b606, Local0)
+ m600(arg0, 38, Local0, 0xfffffffffffffcdf)
+
+ Subtract(aui6, b606, Local0)
+ m600(arg0, 39, Local0, 0xfffffffffffffce0)
+
+ if (y078) {
+ Subtract(Derefof(Refof(aui5)), b606, Local0)
+ m600(arg0, 40, Local0, 0xfffffffffffffcdf)
+
+ Subtract(Derefof(Refof(aui6)), b606, Local0)
+ m600(arg0, 41, Local0, 0xfffffffffffffce0)
+ }
+
+ Subtract(Derefof(Index(paui, 5)), b606, Local0)
+ m600(arg0, 42, Local0, 0xfffffffffffffcdf)
+
+ Subtract(Derefof(Index(paui, 6)), b606, Local0)
+ m600(arg0, 43, Local0, 0xfffffffffffffce0)
+
+ // Method returns Integer
+
+ Subtract(m601(1, 5), b606, Local0)
+ m600(arg0, 44, Local0, 0xfffffffffffffcdf)
+
+ Subtract(m601(1, 6), b606, Local0)
+ m600(arg0, 45, Local0, 0xfffffffffffffce0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(Derefof(m602(1, 5, 1)), b606, Local0)
+ m600(arg0, 46, Local0, 0xfffffffffffffcdf)
+
+ Subtract(Derefof(m602(1, 6, 1)), b606, Local0)
+ m600(arg0, 47, Local0, 0xfffffffffffffce0)
+ }
+ }
+
+ // Subtract, 64-bit
+ Method(m05a, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Subtract(b60a, 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(b60a, 1), Local0)
+ m600(arg0, 1, Local0, 0xfe7cb391d650a283)
+
+ Store(Subtract(b60a, aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(b60a, aui6), Local0)
+ m600(arg0, 3, Local0, 0xfe7cb391d650a283)
+
+ if (y078) {
+ Store(Subtract(b60a, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(b60a, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xfe7cb391d650a283)
+ }
+
+ Store(Subtract(b60a, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(b60a, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Integer
+
+ Store(Subtract(b60a, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(b60a, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(b60a, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(b60a, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfe7cb391d650a283)
+ }
+
+ Subtract(b60a, 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Subtract(b60a, 1, Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a283)
+
+ Subtract(b60a, aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Subtract(b60a, aui6, Local0)
+ m600(arg0, 15, Local0, 0xfe7cb391d650a283)
+
+ if (y078) {
+ Subtract(b60a, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Subtract(b60a, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xfe7cb391d650a283)
+ }
+
+ Subtract(b60a, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Subtract(b60a, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Integer
+
+ Subtract(b60a, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Subtract(b60a, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(b60a, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Subtract(b60a, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfe7cb391d650a283)
+ }
+
+ // Conversion of the second operand
+
+ Store(Subtract(0, b60a), Local0)
+ m600(arg0, 24, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(1, b60a), Local0)
+ m600(arg0, 25, Local0, 0x01834c6e29af5d7d)
+
+ Store(Subtract(aui5, b60a), Local0)
+ m600(arg0, 26, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(aui6, b60a), Local0)
+ m600(arg0, 27, Local0, 0x01834c6e29af5d7d)
+
+ if (y078) {
+ Store(Subtract(Derefof(Refof(aui5)), b60a), Local0)
+ m600(arg0, 28, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(Derefof(Refof(aui6)), b60a), Local0)
+ m600(arg0, 29, Local0, 0x01834c6e29af5d7d)
+ }
+
+ Store(Subtract(Derefof(Index(paui, 5)), b60a), Local0)
+ m600(arg0, 30, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(Derefof(Index(paui, 6)), b60a), Local0)
+ m600(arg0, 31, Local0, 0x01834c6e29af5d7d)
+
+ // Method returns Integer
+
+ Store(Subtract(m601(1, 5), b60a), Local0)
+ m600(arg0, 32, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(m601(1, 6), b60a), Local0)
+ m600(arg0, 33, Local0, 0x01834c6e29af5d7d)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(Derefof(m602(1, 5, 1)), b60a), Local0)
+ m600(arg0, 34, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(Derefof(m602(1, 6, 1)), b60a), Local0)
+ m600(arg0, 35, Local0, 0x01834c6e29af5d7d)
+ }
+
+ Subtract(0, b60a, Local0)
+ m600(arg0, 36, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(1, b60a, Local0)
+ m600(arg0, 37, Local0, 0x01834c6e29af5d7d)
+
+ Subtract(aui5, b60a, Local0)
+ m600(arg0, 38, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(aui6, b60a, Local0)
+ m600(arg0, 39, Local0, 0x01834c6e29af5d7d)
+
+ if (y078) {
+ Subtract(Derefof(Refof(aui5)), b60a, Local0)
+ m600(arg0, 40, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(Derefof(Refof(aui6)), b60a, Local0)
+ m600(arg0, 41, Local0, 0x01834c6e29af5d7d)
+ }
+
+ Subtract(Derefof(Index(paui, 5)), b60a, Local0)
+ m600(arg0, 42, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(Derefof(Index(paui, 6)), b60a, Local0)
+ m600(arg0, 43, Local0, 0x01834c6e29af5d7d)
+
+ // Method returns Integer
+
+ Subtract(m601(1, 5), b60a, Local0)
+ m600(arg0, 44, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(m601(1, 6), b60a, Local0)
+ m600(arg0, 45, Local0, 0x01834c6e29af5d7d)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(Derefof(m602(1, 5, 1)), b60a, Local0)
+ m600(arg0, 46, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(Derefof(m602(1, 6, 1)), b60a, Local0)
+ m600(arg0, 47, Local0, 0x01834c6e29af5d7d)
+ }
+
+ // Conversion of the both operands
+
+ Store(Subtract(b606, b60a), Local0)
+ m600(arg0, 48, Local0, 0x01834c6e29af609d)
+
+ Store(Subtract(b60a, b606), Local0)
+ m600(arg0, 49, Local0, 0xfe7cb391d6509f63)
+
+ Subtract(b606, b60a, Local0)
+ m600(arg0, 50, Local0, 0x01834c6e29af609d)
+
+ Subtract(b60a, b606, Local0)
+ m600(arg0, 51, Local0, 0xfe7cb391d6509f63)
+ }
+
+ // Subtract, 32-bit
+ Method(m05b, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Subtract(b60a, 0), Local0)
+ m600(arg0, 0, Local0, 0xd650a284)
+
+ Store(Subtract(b60a, 1), Local0)
+ m600(arg0, 1, Local0, 0xd650a283)
+
+ Store(Subtract(b60a, aui5), Local0)
+ m600(arg0, 2, Local0, 0xd650a284)
+
+ Store(Subtract(b60a, aui6), Local0)
+ m600(arg0, 3, Local0, 0xd650a283)
+
+ if (y078) {
+ Store(Subtract(b60a, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xd650a284)
+
+ Store(Subtract(b60a, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xd650a283)
+ }
+
+ Store(Subtract(b60a, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xd650a284)
+
+ Store(Subtract(b60a, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xd650a283)
+
+ // Method returns Integer
+
+ Store(Subtract(b60a, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xd650a284)
+
+ Store(Subtract(b60a, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xd650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(b60a, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xd650a284)
+
+ Store(Subtract(b60a, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xd650a283)
+ }
+
+ Subtract(b60a, 0, Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ Subtract(b60a, 1, Local0)
+ m600(arg0, 13, Local0, 0xd650a283)
+
+ Subtract(b60a, aui5, Local0)
+ m600(arg0, 14, Local0, 0xd650a284)
+
+ Subtract(b60a, aui6, Local0)
+ m600(arg0, 15, Local0, 0xd650a283)
+
+ if (y078) {
+ Subtract(b60a, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xd650a284)
+
+ Subtract(b60a, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xd650a283)
+ }
+
+ Subtract(b60a, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xd650a284)
+
+ Subtract(b60a, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xd650a283)
+
+ // Method returns Integer
+
+ Subtract(b60a, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xd650a284)
+
+ Subtract(b60a, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xd650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(b60a, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xd650a284)
+
+ Subtract(b60a, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xd650a283)
+ }
+
+ // Conversion of the second operand
+
+ Store(Subtract(0, b60a), Local0)
+ m600(arg0, 24, Local0, 0x29af5d7c)
+
+ Store(Subtract(1, b60a), Local0)
+ m600(arg0, 25, Local0, 0x29af5d7d)
+
+ Store(Subtract(aui5, b60a), Local0)
+ m600(arg0, 26, Local0, 0x29af5d7c)
+
+ Store(Subtract(aui6, b60a), Local0)
+ m600(arg0, 27, Local0, 0x29af5d7d)
+
+ if (y078) {
+ Store(Subtract(Derefof(Refof(aui5)), b60a), Local0)
+ m600(arg0, 28, Local0, 0x29af5d7c)
+
+ Store(Subtract(Derefof(Refof(aui6)), b60a), Local0)
+ m600(arg0, 29, Local0, 0x29af5d7d)
+ }
+
+ Store(Subtract(Derefof(Index(paui, 5)), b60a), Local0)
+ m600(arg0, 30, Local0, 0x29af5d7c)
+
+ Store(Subtract(Derefof(Index(paui, 6)), b60a), Local0)
+ m600(arg0, 31, Local0, 0x29af5d7d)
+
+ // Method returns Integer
+
+ Store(Subtract(m601(1, 5), b60a), Local0)
+ m600(arg0, 32, Local0, 0x29af5d7c)
+
+ Store(Subtract(m601(1, 6), b60a), Local0)
+ m600(arg0, 33, Local0, 0x29af5d7d)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(Derefof(m602(1, 5, 1)), b60a), Local0)
+ m600(arg0, 34, Local0, 0x29af5d7c)
+
+ Store(Subtract(Derefof(m602(1, 6, 1)), b60a), Local0)
+ m600(arg0, 35, Local0, 0x29af5d7d)
+ }
+
+ Subtract(0, b60a, Local0)
+ m600(arg0, 36, Local0, 0x29af5d7c)
+
+ Subtract(1, b60a, Local0)
+ m600(arg0, 37, Local0, 0x29af5d7d)
+
+ Subtract(aui5, b60a, Local0)
+ m600(arg0, 38, Local0, 0x29af5d7c)
+
+ Subtract(aui6, b60a, Local0)
+ m600(arg0, 39, Local0, 0x29af5d7d)
+
+ if (y078) {
+ Subtract(Derefof(Refof(aui5)), b60a, Local0)
+ m600(arg0, 40, Local0, 0x29af5d7c)
+
+ Subtract(Derefof(Refof(aui6)), b60a, Local0)
+ m600(arg0, 41, Local0, 0x29af5d7d)
+ }
+
+ Subtract(Derefof(Index(paui, 5)), b60a, Local0)
+ m600(arg0, 42, Local0, 0x29af5d7c)
+
+ Subtract(Derefof(Index(paui, 6)), b60a, Local0)
+ m600(arg0, 43, Local0, 0x29af5d7d)
+
+ // Method returns Integer
+
+ Subtract(m601(1, 5), b60a, Local0)
+ m600(arg0, 44, Local0, 0x29af5d7c)
+
+ Subtract(m601(1, 6), b60a, Local0)
+ m600(arg0, 45, Local0, 0x29af5d7d)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(Derefof(m602(1, 5, 1)), b60a, Local0)
+ m600(arg0, 46, Local0, 0x29af5d7c)
+
+ Subtract(Derefof(m602(1, 6, 1)), b60a, Local0)
+ m600(arg0, 47, Local0, 0x29af5d7d)
+ }
+
+ // Conversion of the both operands
+
+ Store(Subtract(b606, b60a), Local0)
+ m600(arg0, 48, Local0, 0x29af609d)
+
+ Store(Subtract(b60a, b606), Local0)
+ m600(arg0, 49, Local0, 0xd6509f63)
+
+ Subtract(b606, b60a, Local0)
+ m600(arg0, 50, Local0, 0x29af609d)
+
+ Subtract(b60a, b606, Local0)
+ m600(arg0, 51, Local0, 0xd6509f63)
+ }
+
+ // XOr, common 32-bit/64-bit test
+ Method(m05c, 1)
+ {
+ // Conversion of the first operand
+
+ Store(XOr(b606, 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(XOr(b606, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xfffffffffffffcde)
+
+ Store(XOr(b606, aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(XOr(b606, auij), Local0)
+ m600(arg0, 3, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ Store(XOr(b606, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(XOr(b606, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xfffffffffffffcde)
+ }
+
+ Store(XOr(b606, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(XOr(b606, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ Store(XOr(b606, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(XOr(b606, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(b606, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(XOr(b606, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfffffffffffffcde)
+ }
+
+ XOr(b606, 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ XOr(b606, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xfffffffffffffcde)
+
+ XOr(b606, aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ XOr(b606, auij, Local0)
+ m600(arg0, 15, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ XOr(b606, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ XOr(b606, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xfffffffffffffcde)
+ }
+
+ XOr(b606, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ XOr(b606, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ XOr(b606, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ XOr(b606, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(b606, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ XOr(b606, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfffffffffffffcde)
+ }
+
+ // Conversion of the second operand
+
+ Store(XOr(0, b606), Local0)
+ m600(arg0, 24, Local0, 0x321)
+
+ Store(XOr(0xffffffffffffffff, b606), Local0)
+ m600(arg0, 25, Local0, 0xfffffffffffffcde)
+
+ Store(XOr(aui5, b606), Local0)
+ m600(arg0, 26, Local0, 0x321)
+
+ Store(XOr(auij, b606), Local0)
+ m600(arg0, 27, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ Store(XOr(Derefof(Refof(aui5)), b606), Local0)
+ m600(arg0, 28, Local0, 0x321)
+
+ Store(XOr(Derefof(Refof(auij)), b606), Local0)
+ m600(arg0, 29, Local0, 0xfffffffffffffcde)
+ }
+
+ Store(XOr(Derefof(Index(paui, 5)), b606), Local0)
+ m600(arg0, 30, Local0, 0x321)
+
+ Store(XOr(Derefof(Index(paui, 19)), b606), Local0)
+ m600(arg0, 31, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ Store(XOr(m601(1, 5), b606), Local0)
+ m600(arg0, 32, Local0, 0x321)
+
+ Store(XOr(m601(1, 19), b606), Local0)
+ m600(arg0, 33, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(Derefof(m602(1, 5, 1)), b606), Local0)
+ m600(arg0, 34, Local0, 0x321)
+
+ Store(XOr(Derefof(m602(1, 19, 1)), b606), Local0)
+ m600(arg0, 35, Local0, 0xfffffffffffffcde)
+ }
+
+ XOr(0, b606, Local0)
+ m600(arg0, 36, Local0, 0x321)
+
+ XOr(0xffffffffffffffff, b606, Local0)
+ m600(arg0, 37, Local0, 0xfffffffffffffcde)
+
+ XOr(aui5, b606, Local0)
+ m600(arg0, 38, Local0, 0x321)
+
+ XOr(auij, b606, Local0)
+ m600(arg0, 39, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ XOr(Derefof(Refof(aui5)), b606, Local0)
+ m600(arg0, 40, Local0, 0x321)
+
+ XOr(Derefof(Refof(auij)), b606, Local0)
+ m600(arg0, 41, Local0, 0xfffffffffffffcde)
+ }
+
+ XOr(Derefof(Index(paui, 5)), b606, Local0)
+ m600(arg0, 42, Local0, 0x321)
+
+ XOr(Derefof(Index(paui, 19)), b606, Local0)
+ m600(arg0, 43, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ XOr(m601(1, 5), b606, Local0)
+ m600(arg0, 44, Local0, 0x321)
+
+ XOr(m601(1, 19), b606, Local0)
+ m600(arg0, 45, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(Derefof(m602(1, 5, 1)), b606, Local0)
+ m600(arg0, 46, Local0, 0x321)
+
+ XOr(Derefof(m602(1, 19, 1)), b606, Local0)
+ m600(arg0, 47, Local0, 0xfffffffffffffcde)
+ }
+ }
+
+ // XOr, 64-bit
+ Method(m05d, 1)
+ {
+ // Conversion of the first operand
+
+ Store(XOr(b60a, 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(b60a, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0x01834c6e29af5d7b)
+
+ Store(XOr(b60a, aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(b60a, auij), Local0)
+ m600(arg0, 3, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ Store(XOr(b60a, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(b60a, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Store(XOr(b60a, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(b60a, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ Store(XOr(b60a, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(b60a, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(b60a, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(b60a, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0x01834c6e29af5d7b)
+ }
+
+ XOr(b60a, 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ XOr(b60a, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0x01834c6e29af5d7b)
+
+ XOr(b60a, aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ XOr(b60a, auij, Local0)
+ m600(arg0, 15, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ XOr(b60a, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ XOr(b60a, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0x01834c6e29af5d7b)
+ }
+
+ XOr(b60a, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ XOr(b60a, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ XOr(b60a, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ XOr(b60a, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(b60a, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ XOr(b60a, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0x01834c6e29af5d7b)
+ }
+
+ // Conversion of the second operand
+
+ Store(XOr(0, b60a), Local0)
+ m600(arg0, 24, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(0xffffffffffffffff, b60a), Local0)
+ m600(arg0, 25, Local0, 0x01834c6e29af5d7b)
+
+ Store(XOr(aui5, b60a), Local0)
+ m600(arg0, 26, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(auij, b60a), Local0)
+ m600(arg0, 27, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ Store(XOr(Derefof(Refof(aui5)), b60a), Local0)
+ m600(arg0, 28, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(Refof(auij)), b60a), Local0)
+ m600(arg0, 29, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Store(XOr(Derefof(Index(paui, 5)), b60a), Local0)
+ m600(arg0, 30, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(Index(paui, 19)), b60a), Local0)
+ m600(arg0, 31, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ Store(XOr(m601(1, 5), b60a), Local0)
+ m600(arg0, 32, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(m601(1, 19), b60a), Local0)
+ m600(arg0, 33, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(Derefof(m602(1, 5, 1)), b60a), Local0)
+ m600(arg0, 34, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(m602(1, 19, 1)), b60a), Local0)
+ m600(arg0, 35, Local0, 0x01834c6e29af5d7b)
+ }
+
+ XOr(0, b60a, Local0)
+ m600(arg0, 36, Local0, 0xfe7cb391d650a284)
+
+ XOr(0xffffffffffffffff, b60a, Local0)
+ m600(arg0, 37, Local0, 0x01834c6e29af5d7b)
+
+ XOr(aui5, b60a, Local0)
+ m600(arg0, 38, Local0, 0xfe7cb391d650a284)
+
+ XOr(auij, b60a, Local0)
+ m600(arg0, 39, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ XOr(Derefof(Refof(aui5)), b60a, Local0)
+ m600(arg0, 40, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(Refof(auij)), b60a, Local0)
+ m600(arg0, 41, Local0, 0x01834c6e29af5d7b)
+ }
+
+ XOr(Derefof(Index(paui, 5)), b60a, Local0)
+ m600(arg0, 42, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(Index(paui, 19)), b60a, Local0)
+ m600(arg0, 43, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ XOr(m601(1, 5), b60a, Local0)
+ m600(arg0, 44, Local0, 0xfe7cb391d650a284)
+
+ XOr(m601(1, 19), b60a, Local0)
+ m600(arg0, 45, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(Derefof(m602(1, 5, 1)), b60a, Local0)
+ m600(arg0, 46, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(m602(1, 19, 1)), b60a, Local0)
+ m600(arg0, 47, Local0, 0x01834c6e29af5d7b)
+ }
+
+ // Conversion of the both operands
+
+ Store(XOr(b606, b60a), Local0)
+ m600(arg0, 48, Local0, 0xfe7cb391d650a1a5)
+
+ Store(XOr(b60a, b606), Local0)
+ m600(arg0, 49, Local0, 0xfe7cb391d650a1a5)
+
+ XOr(b606, b60a, Local0)
+ m600(arg0, 50, Local0, 0xfe7cb391d650a1a5)
+
+ XOr(b60a, b606, Local0)
+ m600(arg0, 51, Local0, 0xfe7cb391d650a1a5)
+ }
+
+ // XOr, 32-bit
+ Method(m05e, 1)
+ {
+ // Conversion of the first operand
+
+ Store(XOr(b60a, 0), Local0)
+ m600(arg0, 0, Local0, 0xd650a284)
+
+ Store(XOr(b60a, 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0x29af5d7b)
+
+ Store(XOr(b60a, aui5), Local0)
+ m600(arg0, 2, Local0, 0xd650a284)
+
+ Store(XOr(b60a, auii), Local0)
+ m600(arg0, 3, Local0, 0x29af5d7b)
+
+ if (y078) {
+ Store(XOr(b60a, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xd650a284)
+
+ Store(XOr(b60a, Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0x29af5d7b)
+ }
+
+ Store(XOr(b60a, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xd650a284)
+
+ Store(XOr(b60a, Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0x29af5d7b)
+
+ // Method returns Integer
+
+ Store(XOr(b60a, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xd650a284)
+
+ Store(XOr(b60a, m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0x29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(b60a, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xd650a284)
+
+ Store(XOr(b60a, Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0x29af5d7b)
+ }
+
+ XOr(b60a, 0, Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ XOr(b60a, 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0x29af5d7b)
+
+ XOr(b60a, aui5, Local0)
+ m600(arg0, 14, Local0, 0xd650a284)
+
+ XOr(b60a, auii, Local0)
+ m600(arg0, 15, Local0, 0x29af5d7b)
+
+ if (y078) {
+ XOr(b60a, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xd650a284)
+
+ XOr(b60a, Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0x29af5d7b)
+ }
+
+ XOr(b60a, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xd650a284)
+
+ XOr(b60a, Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0x29af5d7b)
+
+ // Method returns Integer
+
+ XOr(b60a, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xd650a284)
+
+ XOr(b60a, m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0x29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(b60a, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xd650a284)
+
+ XOr(b60a, Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0x29af5d7b)
+ }
+
+ // Conversion of the second operand
+
+ Store(XOr(0, b60a), Local0)
+ m600(arg0, 24, Local0, 0xd650a284)
+
+ Store(XOr(0xffffffff, b60a), Local0)
+ m600(arg0, 25, Local0, 0x29af5d7b)
+
+ Store(XOr(aui5, b60a), Local0)
+ m600(arg0, 26, Local0, 0xd650a284)
+
+ Store(XOr(auii, b60a), Local0)
+ m600(arg0, 27, Local0, 0x29af5d7b)
+
+ if (y078) {
+ Store(XOr(Derefof(Refof(aui5)), b60a), Local0)
+ m600(arg0, 28, Local0, 0xd650a284)
+
+ Store(XOr(Derefof(Refof(auii)), b60a), Local0)
+ m600(arg0, 29, Local0, 0x29af5d7b)
+ }
+
+ Store(XOr(Derefof(Index(paui, 5)), b60a), Local0)
+ m600(arg0, 30, Local0, 0xd650a284)
+
+ Store(XOr(Derefof(Index(paui, 18)), b60a), Local0)
+ m600(arg0, 31, Local0, 0x29af5d7b)
+
+ // Method returns Integer
+
+ Store(XOr(m601(1, 5), b60a), Local0)
+ m600(arg0, 32, Local0, 0xd650a284)
+
+ Store(XOr(m601(1, 18), b60a), Local0)
+ m600(arg0, 33, Local0, 0x29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(Derefof(m602(1, 5, 1)), b60a), Local0)
+ m600(arg0, 34, Local0, 0xd650a284)
+
+ Store(XOr(Derefof(m602(1, 18, 1)), b60a), Local0)
+ m600(arg0, 35, Local0, 0x29af5d7b)
+ }
+
+ XOr(0, b60a, Local0)
+ m600(arg0, 36, Local0, 0xd650a284)
+
+ XOr(0xffffffff, b60a, Local0)
+ m600(arg0, 37, Local0, 0x29af5d7b)
+
+ XOr(aui5, b60a, Local0)
+ m600(arg0, 38, Local0, 0xd650a284)
+
+ XOr(auii, b60a, Local0)
+ m600(arg0, 39, Local0, 0x29af5d7b)
+
+ if (y078) {
+ XOr(Derefof(Refof(aui5)), b60a, Local0)
+ m600(arg0, 40, Local0, 0xd650a284)
+
+ XOr(Derefof(Refof(auii)), b60a, Local0)
+ m600(arg0, 41, Local0, 0x29af5d7b)
+ }
+
+ XOr(Derefof(Index(paui, 5)), b60a, Local0)
+ m600(arg0, 42, Local0, 0xd650a284)
+
+ XOr(Derefof(Index(paui, 18)), b60a, Local0)
+ m600(arg0, 43, Local0, 0x29af5d7b)
+
+ // Method returns Integer
+
+ XOr(m601(1, 5), b60a, Local0)
+ m600(arg0, 44, Local0, 0xd650a284)
+
+ XOr(m601(1, 18), b60a, Local0)
+ m600(arg0, 45, Local0, 0x29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(Derefof(m602(1, 5, 1)), b60a, Local0)
+ m600(arg0, 46, Local0, 0xd650a284)
+
+ XOr(Derefof(m602(1, 18, 1)), b60a, Local0)
+ m600(arg0, 47, Local0, 0x29af5d7b)
+ }
+
+ // Conversion of the both operands
+
+ Store(XOr(b606, b60a), Local0)
+ m600(arg0, 48, Local0, 0xd650a1a5)
+
+ Store(XOr(b60a, b606), Local0)
+ m600(arg0, 49, Local0, 0xd650a1a5)
+
+ XOr(b606, b60a, Local0)
+ m600(arg0, 50, Local0, 0xd650a1a5)
+
+ XOr(b60a, b606, Local0)
+ m600(arg0, 51, Local0, 0xd650a1a5)
+ }
+
+ // Add, And, Divide, Mod, Multiply, NAnd, NOr, Or,
+ // ShiftLeft, ShiftRight, Subtract, Xor
+
+ Method(m64n, 1)
+ {
+ // Add
+ Concatenate(arg0, "-m03b", Local0)
+ SRMT(Local0)
+ m03b(Local0)
+ Concatenate(arg0, "-m03c", Local0)
+ SRMT(Local0)
+ m03c(Local0)
+
+ // And
+ Concatenate(arg0, "-m03e", Local0)
+ SRMT(Local0)
+ m03e(Local0)
+ Concatenate(arg0, "-m03f", Local0)
+ SRMT(Local0)
+ m03f(Local0)
+
+ // Divide
+ Concatenate(arg0, "-m041", Local0)
+ SRMT(Local0)
+ m041(Local0)
+ Concatenate(arg0, "-m042", Local0)
+ SRMT(Local0)
+ m042(Local0)
+
+ // Mod
+ Concatenate(arg0, "-m044", Local0)
+ SRMT(Local0)
+ m044(Local0)
+ Concatenate(arg0, "-m045", Local0)
+ SRMT(Local0)
+ m045(Local0)
+
+ // Multiply
+ Concatenate(arg0, "-m047", Local0)
+ SRMT(Local0)
+ m047(Local0)
+ Concatenate(arg0, "-m048", Local0)
+ SRMT(Local0)
+ m048(Local0)
+
+ // NAnd
+ Concatenate(arg0, "-m04a", Local0)
+ SRMT(Local0)
+ m04a(Local0)
+ Concatenate(arg0, "-m04b", Local0)
+ SRMT(Local0)
+ m04b(Local0)
+
+ // NOr
+ Concatenate(arg0, "-m04d", Local0)
+ SRMT(Local0)
+ m04d(Local0)
+ Concatenate(arg0, "-m04e", Local0)
+ SRMT(Local0)
+ m04e(Local0)
+
+ // Or
+ Concatenate(arg0, "-m050", Local0)
+ SRMT(Local0)
+ m050(Local0)
+ Concatenate(arg0, "-m051", Local0)
+ SRMT(Local0)
+ m051(Local0)
+
+ // ShiftLeft
+ Concatenate(arg0, "-m053", Local0)
+ SRMT(Local0)
+ m053(Local0)
+ Concatenate(arg0, "-m054", Local0)
+ SRMT(Local0)
+ m054(Local0)
+
+ // ShiftRight
+ Concatenate(arg0, "-m056", Local0)
+ SRMT(Local0)
+ m056(Local0)
+ Concatenate(arg0, "-m057", Local0)
+ SRMT(Local0)
+ m057(Local0)
+
+ // Subtract
+ Concatenate(arg0, "-m059", Local0)
+ SRMT(Local0)
+ m059(Local0)
+ Concatenate(arg0, "-m05a", Local0)
+ SRMT(Local0)
+ m05a(Local0)
+
+ // XOr
+ Concatenate(arg0, "-m05c", Local0)
+ SRMT(Local0)
+ m05c(Local0)
+ Concatenate(arg0, "-m05d", Local0)
+ SRMT(Local0)
+ m05d(Local0)
+ }
+
+ Method(m32n, 1)
+ {
+ // Add
+ Concatenate(arg0, "-m03b", Local0)
+ SRMT(Local0)
+ m03b(Local0)
+ Concatenate(arg0, "-m03d", Local0)
+ SRMT(Local0)
+ m03d(Local0)
+
+ // And
+ Concatenate(arg0, "-m03e", Local0)
+ SRMT(Local0)
+ m03e(Local0)
+ Concatenate(arg0, "-m040", Local0)
+ SRMT(Local0)
+ m040(Local0)
+
+ // Divide
+ Concatenate(arg0, "-m041", Local0)
+ SRMT(Local0)
+ m041(Local0)
+ Concatenate(arg0, "-m043", Local0)
+ SRMT(Local0)
+ m043(Local0)
+
+ // Mod
+ Concatenate(arg0, "-m044", Local0)
+ SRMT(Local0)
+ m044(Local0)
+ Concatenate(arg0, "-m046", Local0)
+ SRMT(Local0)
+ m046(Local0)
+
+ // Multiply
+ Concatenate(arg0, "-m047", Local0)
+ SRMT(Local0)
+ m047(Local0)
+ Concatenate(arg0, "-m049", Local0)
+ SRMT(Local0)
+ m049(Local0)
+
+ // NAnd
+ Concatenate(arg0, "-m04a", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m04a(Local0)
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m04c", Local0)
+ SRMT(Local0)
+ m04c(Local0)
+
+ // NOr
+ Concatenate(arg0, "-m04d", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m04d(Local0)
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m04f", Local0)
+ SRMT(Local0)
+ m04f(Local0)
+
+ // Or
+ Concatenate(arg0, "-m050", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m050(Local0)
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m052", Local0)
+ SRMT(Local0)
+ m052(Local0)
+
+ // ShiftLeft
+ Concatenate(arg0, "-m053", Local0)
+ SRMT(Local0)
+ m053(Local0)
+ Concatenate(arg0, "-m055", Local0)
+ SRMT(Local0)
+ m055(Local0)
+
+ // ShiftRight
+ Concatenate(arg0, "-m056", Local0)
+ SRMT(Local0)
+ m056(Local0)
+ Concatenate(arg0, "-m058", Local0)
+ SRMT(Local0)
+ m058(Local0)
+
+ // Subtract
+ Concatenate(arg0, "-m059", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m059(Local0)
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m05b", Local0)
+ SRMT(Local0)
+ m05b(Local0)
+
+ // XOr
+ Concatenate(arg0, "-m05c", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m05c(Local0)
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m05e", Local0)
+ SRMT(Local0)
+ m05e(Local0)
+ }
+
+
+ // Buffer to Integer conversion of each Buffer operand
+ // of the 2-parameter Logical Integer operators LAnd and LOr
+
+ // LAnd, common 32-bit/64-bit test
+ Method(m05f, 1)
+ {
+ // Conversion of the first operand
+
+ Store(LAnd(b606, 0), Local0)
+ m600(arg0, 0, Local0, Zero)
+
+ Store(LAnd(b606, 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(LAnd(b606, aui5), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LAnd(b606, aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(b606, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LAnd(b606, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(LAnd(b606, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Zero)
+
+ Store(LAnd(b606, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(b606, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Zero)
+
+ Store(LAnd(b606, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(b606, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LAnd(b606, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(LAnd(0, b606), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LAnd(1, b606), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LAnd(aui5, b606), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LAnd(aui6, b606), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(Derefof(Refof(aui5)), b606), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(aui6)), b606), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(LAnd(Derefof(Index(paui, 5)), b606), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LAnd(Derefof(Index(paui, 6)), b606), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(m601(1, 5), b606), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LAnd(m601(1, 6), b606), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(Derefof(m602(1, 5, 1)), b606), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LAnd(Derefof(m602(1, 6, 1)), b606), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+ }
+
+ // LAnd, 64-bit
+ Method(m060, 1)
+ {
+ // Conversion of the first operand
+
+ Store(LAnd(b60a, 0), Local0)
+ m600(arg0, 0, Local0, Zero)
+
+ Store(LAnd(b60a, 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(LAnd(b60a, aui5), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LAnd(b60a, aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(b60a, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LAnd(b60a, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(LAnd(b60a, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Zero)
+
+ Store(LAnd(b60a, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(b60a, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Zero)
+
+ Store(LAnd(b60a, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(b60a, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LAnd(b60a, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(LAnd(0, b60a), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LAnd(1, b60a), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LAnd(aui5, b60a), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LAnd(aui6, b60a), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(Derefof(Refof(aui5)), b60a), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(aui6)), b60a), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(LAnd(Derefof(Index(paui, 5)), b60a), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LAnd(Derefof(Index(paui, 6)), b60a), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(m601(1, 5), b60a), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LAnd(m601(1, 6), b60a), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(Derefof(m602(1, 5, 1)), b60a), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LAnd(Derefof(m602(1, 6, 1)), b60a), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+
+ // Conversion of the both operands
+
+ Store(LAnd(b606, b60a), Local0)
+ m600(arg0, 24, Local0, Ones)
+
+ Store(LAnd(b60a, b606), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // LAnd, 32-bit
+ Method(m061, 1)
+ {
+ // Conversion of the first operand
+
+ Store(LAnd(b60a, 0), Local0)
+ m600(arg0, 0, Local0, Zero)
+
+ Store(LAnd(b60a, 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(LAnd(b60a, aui5), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LAnd(b60a, aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(b60a, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LAnd(b60a, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(LAnd(b60a, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Zero)
+
+ Store(LAnd(b60a, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(b60a, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Zero)
+
+ Store(LAnd(b60a, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(b60a, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LAnd(b60a, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(LAnd(0, b60a), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LAnd(1, b60a), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LAnd(aui5, b60a), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LAnd(aui6, b60a), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(Derefof(Refof(aui5)), b60a), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(aui6)), b60a), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(LAnd(Derefof(Index(paui, 5)), b60a), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LAnd(Derefof(Index(paui, 6)), b60a), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(m601(1, 5), b60a), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LAnd(m601(1, 6), b60a), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(Derefof(m602(1, 5, 1)), b60a), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LAnd(Derefof(m602(1, 6, 1)), b60a), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+
+ // Conversion of the both operands
+
+ Store(LAnd(b606, b60a), Local0)
+ m600(arg0, 24, Local0, Ones)
+
+ Store(LAnd(b60a, b606), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // Lor, common 32-bit/64-bit test
+ Method(m062, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Lor(b600, 0), Local0)
+ m600(arg0, 0, Local0, Zero)
+
+ Store(Lor(b600, 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(Lor(b600, aui5), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(Lor(b600, aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(b600, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(Lor(b600, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(Lor(b600, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Zero)
+
+ Store(Lor(b600, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(b600, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Zero)
+
+ Store(Lor(b600, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(b600, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(Lor(b600, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(Lor(0, b600), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(Lor(1, b600), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(Lor(aui5, b600), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(Lor(aui6, b600), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(Derefof(Refof(aui5)), b600), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(Lor(Derefof(Refof(aui6)), b600), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(Lor(Derefof(Index(paui, 5)), b600), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(Lor(Derefof(Index(paui, 6)), b600), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(m601(1, 5), b600), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(Lor(m601(1, 6), b600), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(Derefof(m602(1, 5, 1)), b600), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(Lor(Derefof(m602(1, 6, 1)), b600), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+ }
+
+ // Lor, 64-bit
+ Method(m063, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Lor(b60a, 0), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(Lor(b60a, 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(Lor(b60a, aui5), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(Lor(b60a, aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(b60a, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(Lor(b60a, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(Lor(b60a, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(Lor(b60a, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(b60a, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(Lor(b60a, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(b60a, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(Lor(b60a, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(Lor(0, b60a), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(Lor(1, b60a), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(Lor(aui5, b60a), Local0)
+ m600(arg0, 14, Local0, Ones)
+
+ Store(Lor(aui6, b60a), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(Derefof(Refof(aui5)), b60a), Local0)
+ m600(arg0, 16, Local0, Ones)
+
+ Store(Lor(Derefof(Refof(aui6)), b60a), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(Lor(Derefof(Index(paui, 5)), b60a), Local0)
+ m600(arg0, 18, Local0, Ones)
+
+ Store(Lor(Derefof(Index(paui, 6)), b60a), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(m601(1, 5), b60a), Local0)
+ m600(arg0, 20, Local0, Ones)
+
+ Store(Lor(m601(1, 6), b60a), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(Derefof(m602(1, 5, 1)), b60a), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(Lor(Derefof(m602(1, 6, 1)), b60a), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+
+ // Conversion of the both operands
+
+ Store(Lor(b600, b60a), Local0)
+ m600(arg0, 24, Local0, Ones)
+
+ Store(Lor(b60a, b600), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // Lor, 32-bit
+ Method(m064, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Lor(b60a, 0), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(Lor(b60a, 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(Lor(b60a, aui5), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(Lor(b60a, aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(b60a, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(Lor(b60a, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(Lor(b60a, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(Lor(b60a, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(b60a, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(Lor(b60a, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(b60a, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(Lor(b60a, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(Lor(0, b60a), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(Lor(1, b60a), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(Lor(aui5, b60a), Local0)
+ m600(arg0, 14, Local0, Ones)
+
+ Store(Lor(aui6, b60a), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(Derefof(Refof(aui5)), b60a), Local0)
+ m600(arg0, 16, Local0, Ones)
+
+ Store(Lor(Derefof(Refof(aui6)), b60a), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(Lor(Derefof(Index(paui, 5)), b60a), Local0)
+ m600(arg0, 18, Local0, Ones)
+
+ Store(Lor(Derefof(Index(paui, 6)), b60a), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(m601(1, 5), b60a), Local0)
+ m600(arg0, 20, Local0, Ones)
+
+ Store(Lor(m601(1, 6), b60a), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(Derefof(m602(1, 5, 1)), b60a), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(Lor(Derefof(m602(1, 6, 1)), b60a), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+
+ // Conversion of the both operands
+
+ Store(Lor(b600, b60a), Local0)
+ m600(arg0, 24, Local0, Ones)
+
+ Store(Lor(b60a, b600), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ Method(m64o, 1)
+ {
+ // LAnd
+ Concatenate(arg0, "-m05f", Local0)
+ SRMT(Local0)
+ m05f(Local0)
+ Concatenate(arg0, "-m060", Local0)
+ SRMT(Local0)
+ m060(Local0)
+
+ // LOr
+ Concatenate(arg0, "-m062", Local0)
+ SRMT(Local0)
+ m062(Local0)
+ Concatenate(arg0, "-m063", Local0)
+ SRMT(Local0)
+ m063(Local0)
+ }
+
+ Method(m32o, 1)
+ {
+ // LAnd
+ Concatenate(arg0, "-m05f", Local0)
+ SRMT(Local0)
+ m05f(Local0)
+ Concatenate(arg0, "-m061", Local0)
+ SRMT(Local0)
+ m061(Local0)
+
+ // LOr
+ Concatenate(arg0, "-m062", Local0)
+ SRMT(Local0)
+ m062(Local0)
+ Concatenate(arg0, "-m064", Local0)
+ SRMT(Local0)
+ m064(Local0)
+ }
+
+
+ // Buffer to Integer conversion of the Buffer second operand of
+ // Logical operators when the first operand is evaluated as Integer
+ // (LEqual, LGreater, LGreaterEqual, LLess, LLessEqual, LNotEqual)
+
+ Method(m64p, 1)
+ {
+ // LEqual
+
+ Store(LEqual(0xfe7cb391d650a284, b60a), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual(0xfe7cb391d650a285, b60a), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(0xfe7cb391d650a283, b60a), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LEqual(aui4, b60a), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ Store(LEqual(auid, b60a), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LEqual(auif, b60a), Local0)
+ m600(arg0, 5, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aui4)), b60a), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(auid)), b60a), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ Store(LEqual(Derefof(Refof(auif)), b60a), Local0)
+ m600(arg0, 8, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paui, 4)), b60a), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paui, 13)), b60a), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LEqual(Derefof(Index(paui, 15)), b60a), Local0)
+ m600(arg0, 11, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LEqual(m601(1, 4), b60a), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(LEqual(m601(1, 13), b60a), Local0)
+ m600(arg0, 13, Local0, Zero)
+
+ Store(LEqual(m601(1, 15), b60a), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(1, 4, 1)), b60a), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(1, 13, 1)), b60a), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LEqual(Derefof(m602(1, 15, 1)), b60a), Local0)
+ m600(arg0, 17, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater(0xfe7cb391d650a284, b60a), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(0xfe7cb391d650a285, b60a), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ Store(LGreater(0xfe7cb391d650a283, b60a), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(aui4, b60a), Local0)
+ m600(arg0, 21, Local0, Zero)
+
+ Store(LGreater(auid, b60a), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(LGreater(auif, b60a), Local0)
+ m600(arg0, 23, Local0, Zero)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aui4)), b60a), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(auid)), b60a), Local0)
+ m600(arg0, 25, Local0, Ones)
+
+ Store(LGreater(Derefof(Refof(auif)), b60a), Local0)
+ m600(arg0, 26, Local0, Zero)
+ }
+
+ Store(LGreater(Derefof(Index(paui, 4)), b60a), Local0)
+ m600(arg0, 27, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paui, 13)), b60a), Local0)
+ m600(arg0, 28, Local0, Ones)
+
+ Store(LGreater(Derefof(Index(paui, 15)), b60a), Local0)
+ m600(arg0, 29, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreater(m601(1, 4), b60a), Local0)
+ m600(arg0, 30, Local0, Zero)
+
+ Store(LGreater(m601(1, 13), b60a), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ Store(LGreater(m601(1, 15), b60a), Local0)
+ m600(arg0, 32, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(1, 4, 1)), b60a), Local0)
+ m600(arg0, 33, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(1, 13, 1)), b60a), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreater(Derefof(m602(1, 15, 1)), b60a), Local0)
+ m600(arg0, 35, Local0, Zero)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual(0xfe7cb391d650a284, b60a), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(0xfe7cb391d650a285, b60a), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ Store(LGreaterEqual(0xfe7cb391d650a283, b60a), Local0)
+ m600(arg0, 38, Local0, Zero)
+
+ Store(LGreaterEqual(aui4, b60a), Local0)
+ m600(arg0, 39, Local0, Ones)
+
+ Store(LGreaterEqual(auid, b60a), Local0)
+ m600(arg0, 40, Local0, Ones)
+
+ Store(LGreaterEqual(auif, b60a), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aui4)), b60a), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auid)), b60a), Local0)
+ m600(arg0, 43, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auif)), b60a), Local0)
+ m600(arg0, 44, Local0, Zero)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paui, 4)), b60a), Local0)
+ m600(arg0, 45, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 13)), b60a), Local0)
+ m600(arg0, 46, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 15)), b60a), Local0)
+ m600(arg0, 47, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreaterEqual(m601(1, 4), b60a), Local0)
+ m600(arg0, 48, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 13), b60a), Local0)
+ m600(arg0, 49, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 15), b60a), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(1, 4, 1)), b60a), Local0)
+ m600(arg0, 51, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 13, 1)), b60a), Local0)
+ m600(arg0, 52, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 15, 1)), b60a), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLess
+
+ Store(LLess(0xfe7cb391d650a284, b60a), Local0)
+ m600(arg0, 54, Local0, Zero)
+
+ Store(LLess(0xfe7cb391d650a285, b60a), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLess(0xfe7cb391d650a283, b60a), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLess(aui4, b60a), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLess(auid, b60a), Local0)
+ m600(arg0, 58, Local0, Zero)
+
+ Store(LLess(auif, b60a), Local0)
+ m600(arg0, 59, Local0, Ones)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aui4)), b60a), Local0)
+ m600(arg0, 60, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auid)), b60a), Local0)
+ m600(arg0, 61, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auif)), b60a), Local0)
+ m600(arg0, 62, Local0, Ones)
+ }
+
+ Store(LLess(Derefof(Index(paui, 4)), b60a), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 13)), b60a), Local0)
+ m600(arg0, 64, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 15)), b60a), Local0)
+ m600(arg0, 65, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLess(m601(1, 4), b60a), Local0)
+ m600(arg0, 66, Local0, Zero)
+
+ Store(LLess(m601(1, 13), b60a), Local0)
+ m600(arg0, 67, Local0, Zero)
+
+ Store(LLess(m601(1, 15), b60a), Local0)
+ m600(arg0, 68, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLess(Derefof(m602(1, 4, 1)), b60a), Local0)
+ m600(arg0, 69, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 13, 1)), b60a), Local0)
+ m600(arg0, 70, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 15, 1)), b60a), Local0)
+ m600(arg0, 71, Local0, Ones)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual(0xfe7cb391d650a284, b60a), Local0)
+ m600(arg0, 72, Local0, Ones)
+
+ Store(LLessEqual(0xfe7cb391d650a285, b60a), Local0)
+ m600(arg0, 73, Local0, Zero)
+
+ Store(LLessEqual(0xfe7cb391d650a283, b60a), Local0)
+ m600(arg0, 74, Local0, Ones)
+
+ Store(LLessEqual(aui4, b60a), Local0)
+ m600(arg0, 75, Local0, Ones)
+
+ Store(LLessEqual(auid, b60a), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LLessEqual(auif, b60a), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aui4)), b60a), Local0)
+ m600(arg0, 78, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(auid)), b60a), Local0)
+ m600(arg0, 79, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Refof(auif)), b60a), Local0)
+ m600(arg0, 80, Local0, Ones)
+ }
+
+ Store(LLessEqual(Derefof(Index(paui, 4)), b60a), Local0)
+ m600(arg0, 81, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paui, 13)), b60a), Local0)
+ m600(arg0, 82, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Index(paui, 15)), b60a), Local0)
+ m600(arg0, 83, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLessEqual(m601(1, 4), b60a), Local0)
+ m600(arg0, 84, Local0, Ones)
+
+ Store(LLessEqual(m601(1, 13), b60a), Local0)
+ m600(arg0, 85, Local0, Zero)
+
+ Store(LLessEqual(m601(1, 15), b60a), Local0)
+ m600(arg0, 86, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(1, 4, 1)), b60a), Local0)
+ m600(arg0, 87, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(1, 13, 1)), b60a), Local0)
+ m600(arg0, 88, Local0, Zero)
+
+ Store(LLessEqual(Derefof(m602(1, 15, 1)), b60a), Local0)
+ m600(arg0, 89, Local0, Ones)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual(0xfe7cb391d650a284, b60a), Local0)
+ m600(arg0, 90, Local0, Zero)
+
+ Store(LNotEqual(0xfe7cb391d650a285, b60a), Local0)
+ m600(arg0, 91, Local0, Ones)
+
+ Store(LNotEqual(0xfe7cb391d650a283, b60a), Local0)
+ m600(arg0, 92, Local0, Ones)
+
+ Store(LNotEqual(aui4, b60a), Local0)
+ m600(arg0, 93, Local0, Zero)
+
+ Store(LNotEqual(auid, b60a), Local0)
+ m600(arg0, 94, Local0, Ones)
+
+ Store(LNotEqual(auif, b60a), Local0)
+ m600(arg0, 95, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aui4)), b60a), Local0)
+ m600(arg0, 96, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(auid)), b60a), Local0)
+ m600(arg0, 97, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Refof(auif)), b60a), Local0)
+ m600(arg0, 98, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paui, 4)), b60a), Local0)
+ m600(arg0, 99, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paui, 13)), b60a), Local0)
+ m600(arg0, 100, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Index(paui, 15)), b60a), Local0)
+ m600(arg0, 101, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LNotEqual(m601(1, 4), b60a), Local0)
+ m600(arg0, 102, Local0, Zero)
+
+ Store(LNotEqual(m601(1, 13), b60a), Local0)
+ m600(arg0, 103, Local0, Ones)
+
+ Store(LNotEqual(m601(1, 15), b60a), Local0)
+ m600(arg0, 104, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(1, 4, 1)), b60a), Local0)
+ m600(arg0, 105, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(1, 13, 1)), b60a), Local0)
+ m600(arg0, 106, Local0, Ones)
+
+ Store(LNotEqual(Derefof(m602(1, 15, 1)), b60a), Local0)
+ m600(arg0, 107, Local0, Ones)
+ }
+ }
+
+ Method(m32p, 1)
+ {
+ // LEqual
+
+ Store(LEqual(0xd650a284, b60a), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual(0xd650a285, b60a), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(0xd650a283, b60a), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LEqual(auik, b60a), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ Store(LEqual(auil, b60a), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LEqual(auim, b60a), Local0)
+ m600(arg0, 5, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(auik)), b60a), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(auil)), b60a), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ Store(LEqual(Derefof(Refof(auim)), b60a), Local0)
+ m600(arg0, 8, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paui, 20)), b60a), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paui, 21)), b60a), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LEqual(Derefof(Index(paui, 22)), b60a), Local0)
+ m600(arg0, 11, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LEqual(m601(1, 20), b60a), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(LEqual(m601(1, 21), b60a), Local0)
+ m600(arg0, 13, Local0, Zero)
+
+ Store(LEqual(m601(1, 22), b60a), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(1, 20, 1)), b60a), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LEqual(Derefof(m601(1, 21, 1)), b60a), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LEqual(Derefof(m601(1, 22, 1)), b60a), Local0)
+ m600(arg0, 17, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater(0xd650a284, b60a), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(0xd650a285, b60a), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ Store(LGreater(0xd650a283, b60a), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(auik, b60a), Local0)
+ m600(arg0, 21, Local0, Zero)
+
+ Store(LGreater(auil, b60a), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(LGreater(auim, b60a), Local0)
+ m600(arg0, 23, Local0, Zero)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(auik)), b60a), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(auil)), b60a), Local0)
+ m600(arg0, 25, Local0, Ones)
+
+ Store(LGreater(Derefof(Refof(auim)), b60a), Local0)
+ m600(arg0, 26, Local0, Zero)
+ }
+
+ Store(LGreater(Derefof(Index(paui, 20)), b60a), Local0)
+ m600(arg0, 27, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paui, 21)), b60a), Local0)
+ m600(arg0, 28, Local0, Ones)
+
+ Store(LGreater(Derefof(Index(paui, 22)), b60a), Local0)
+ m600(arg0, 29, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreater(m601(1, 20), b60a), Local0)
+ m600(arg0, 30, Local0, Zero)
+
+ Store(LGreater(m601(1, 21), b60a), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ Store(LGreater(m601(1, 22), b60a), Local0)
+ m600(arg0, 32, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(1, 20, 1)), b60a), Local0)
+ m600(arg0, 33, Local0, Zero)
+
+ Store(LGreater(Derefof(m601(1, 21, 1)), b60a), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreater(Derefof(m601(1, 22, 1)), b60a), Local0)
+ m600(arg0, 35, Local0, Zero)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual(0xd650a284, b60a), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(0xd650a285, b60a), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ Store(LGreaterEqual(0xd650a283, b60a), Local0)
+ m600(arg0, 38, Local0, Zero)
+
+ Store(LGreaterEqual(auik, b60a), Local0)
+ m600(arg0, 39, Local0, Ones)
+
+ Store(LGreaterEqual(auil, b60a), Local0)
+ m600(arg0, 40, Local0, Ones)
+
+ Store(LGreaterEqual(auim, b60a), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(auik)), b60a), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auil)), b60a), Local0)
+ m600(arg0, 43, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auim)), b60a), Local0)
+ m600(arg0, 44, Local0, Zero)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paui, 20)), b60a), Local0)
+ m600(arg0, 45, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 21)), b60a), Local0)
+ m600(arg0, 46, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 22)), b60a), Local0)
+ m600(arg0, 47, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreaterEqual(m601(1, 20), b60a), Local0)
+ m600(arg0, 48, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 21), b60a), Local0)
+ m600(arg0, 49, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 22), b60a), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(1, 20, 1)), b60a), Local0)
+ m600(arg0, 51, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m601(1, 21, 1)), b60a), Local0)
+ m600(arg0, 52, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m601(1, 22, 1)), b60a), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLess
+
+ Store(LLess(0xd650a284, b60a), Local0)
+ m600(arg0, 54, Local0, Zero)
+
+ Store(LLess(0xd650a285, b60a), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLess(0xd650a283, b60a), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLess(auik, b60a), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLess(auil, b60a), Local0)
+ m600(arg0, 58, Local0, Zero)
+
+ Store(LLess(auim, b60a), Local0)
+ m600(arg0, 59, Local0, Ones)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(auik)), b60a), Local0)
+ m600(arg0, 60, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auil)), b60a), Local0)
+ m600(arg0, 61, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auim)), b60a), Local0)
+ m600(arg0, 62, Local0, Ones)
+ }
+
+ Store(LLess(Derefof(Index(paui, 20)), b60a), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 21)), b60a), Local0)
+ m600(arg0, 64, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 22)), b60a), Local0)
+ m600(arg0, 65, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLess(m601(1, 20), b60a), Local0)
+ m600(arg0, 66, Local0, Zero)
+
+ Store(LLess(m601(1, 21), b60a), Local0)
+ m600(arg0, 67, Local0, Zero)
+
+ Store(LLess(m601(1, 22), b60a), Local0)
+ m600(arg0, 68, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLess(Derefof(m602(1, 20, 1)), b60a), Local0)
+ m600(arg0, 69, Local0, Zero)
+
+ Store(LLess(Derefof(m601(1, 21, 1)), b60a), Local0)
+ m600(arg0, 70, Local0, Zero)
+
+ Store(LLess(Derefof(m601(1, 22, 1)), b60a), Local0)
+ m600(arg0, 71, Local0, Ones)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual(0xd650a284, b60a), Local0)
+ m600(arg0, 72, Local0, Ones)
+
+ Store(LLessEqual(0xd650a285, b60a), Local0)
+ m600(arg0, 73, Local0, Zero)
+
+ Store(LLessEqual(0xd650a283, b60a), Local0)
+ m600(arg0, 74, Local0, Ones)
+
+ Store(LLessEqual(auik, b60a), Local0)
+ m600(arg0, 75, Local0, Ones)
+
+ Store(LLessEqual(auil, b60a), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LLessEqual(auim, b60a), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(auik)), b60a), Local0)
+ m600(arg0, 78, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(auil)), b60a), Local0)
+ m600(arg0, 79, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Refof(auim)), b60a), Local0)
+ m600(arg0, 80, Local0, Ones)
+ }
+
+ Store(LLessEqual(Derefof(Index(paui, 20)), b60a), Local0)
+ m600(arg0, 81, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paui, 21)), b60a), Local0)
+ m600(arg0, 82, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Index(paui, 22)), b60a), Local0)
+ m600(arg0, 83, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLessEqual(m601(1, 20), b60a), Local0)
+ m600(arg0, 84, Local0, Ones)
+
+ Store(LLessEqual(m601(1, 21), b60a), Local0)
+ m600(arg0, 85, Local0, Zero)
+
+ Store(LLessEqual(m601(1, 22), b60a), Local0)
+ m600(arg0, 86, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(1, 20, 1)), b60a), Local0)
+ m600(arg0, 87, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m601(1, 21, 1)), b60a), Local0)
+ m600(arg0, 88, Local0, Zero)
+
+ Store(LLessEqual(Derefof(m601(1, 22, 1)), b60a), Local0)
+ m600(arg0, 89, Local0, Ones)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual(0xd650a284, b60a), Local0)
+ m600(arg0, 90, Local0, Zero)
+
+ Store(LNotEqual(0xd650a285, b60a), Local0)
+ m600(arg0, 91, Local0, Ones)
+
+ Store(LNotEqual(0xd650a283, b60a), Local0)
+ m600(arg0, 92, Local0, Ones)
+
+ Store(LNotEqual(auik, b60a), Local0)
+ m600(arg0, 93, Local0, Zero)
+
+ Store(LNotEqual(auil, b60a), Local0)
+ m600(arg0, 94, Local0, Ones)
+
+ Store(LNotEqual(auim, b60a), Local0)
+ m600(arg0, 95, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(auik)), b60a), Local0)
+ m600(arg0, 96, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(auil)), b60a), Local0)
+ m600(arg0, 97, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Refof(auim)), b60a), Local0)
+ m600(arg0, 98, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paui, 20)), b60a), Local0)
+ m600(arg0, 99, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paui, 21)), b60a), Local0)
+ m600(arg0, 100, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Index(paui, 22)), b60a), Local0)
+ m600(arg0, 101, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LNotEqual(m601(1, 20), b60a), Local0)
+ m600(arg0, 102, Local0, Zero)
+
+ Store(LNotEqual(m601(1, 21), b60a), Local0)
+ m600(arg0, 103, Local0, Ones)
+
+ Store(LNotEqual(m601(1, 22), b60a), Local0)
+ m600(arg0, 104, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(1, 20, 1)), b60a), Local0)
+ m600(arg0, 105, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m601(1, 21, 1)), b60a), Local0)
+ m600(arg0, 106, Local0, Ones)
+
+ Store(LNotEqual(Derefof(m601(1, 22, 1)), b60a), Local0)
+ m600(arg0, 107, Local0, Ones)
+ }
+ }
+
+ Method(m065, 1)
+ {
+ // LEqual
+
+ Store(LEqual(0x321, b606), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual(0x322, b606), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(0x320, b606), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LEqual(aui1, b606), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ Store(LEqual(auig, b606), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LEqual(auih, b606), Local0)
+ m600(arg0, 5, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aui1)), b606), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(auig)), b606), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ Store(LEqual(Derefof(Refof(auih)), b606), Local0)
+ m600(arg0, 8, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paui, 1)), b606), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paui, 16)), b606), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LEqual(Derefof(Index(paui, 17)), b606), Local0)
+ m600(arg0, 11, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LEqual(m601(1, 1), b606), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(LEqual(m601(1, 16), b606), Local0)
+ m600(arg0, 13, Local0, Zero)
+
+ Store(LEqual(m601(1, 17), b606), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(1, 1, 1)), b606), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(1, 16, 1)), b606), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LEqual(Derefof(m602(1, 17, 1)), b606), Local0)
+ m600(arg0, 17, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater(0x321, b606), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(0x322, b606), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ Store(LGreater(0x320, b606), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(aui1, b606), Local0)
+ m600(arg0, 21, Local0, Zero)
+
+ Store(LGreater(auig, b606), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(LGreater(auih, b606), Local0)
+ m600(arg0, 23, Local0, Zero)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aui1)), b606), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(auig)), b606), Local0)
+ m600(arg0, 25, Local0, Ones)
+
+ Store(LGreater(Derefof(Refof(auih)), b606), Local0)
+ m600(arg0, 26, Local0, Zero)
+ }
+
+ Store(LGreater(Derefof(Index(paui, 1)), b606), Local0)
+ m600(arg0, 27, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paui, 16)), b606), Local0)
+ m600(arg0, 28, Local0, Ones)
+
+ Store(LGreater(Derefof(Index(paui, 17)), b606), Local0)
+ m600(arg0, 29, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreater(m601(1, 1), b606), Local0)
+ m600(arg0, 30, Local0, Zero)
+
+ Store(LGreater(m601(1, 16), b606), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ Store(LGreater(m601(1, 17), b606), Local0)
+ m600(arg0, 32, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(1, 1, 1)), b606), Local0)
+ m600(arg0, 33, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(1, 16, 1)), b606), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreater(Derefof(m602(1, 17, 1)), b606), Local0)
+ m600(arg0, 35, Local0, Zero)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual(0x321, b606), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(0x322, b606), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ Store(LGreaterEqual(0x320, b606), Local0)
+ m600(arg0, 38, Local0, Zero)
+
+ Store(LGreaterEqual(aui1, b606), Local0)
+ m600(arg0, 39, Local0, Ones)
+
+ Store(LGreaterEqual(auig, b606), Local0)
+ m600(arg0, 40, Local0, Ones)
+
+ Store(LGreaterEqual(auih, b606), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aui1)), b606), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auig)), b606), Local0)
+ m600(arg0, 43, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auih)), b606), Local0)
+ m600(arg0, 44, Local0, Zero)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paui, 1)), b606), Local0)
+ m600(arg0, 45, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 16)), b606), Local0)
+ m600(arg0, 46, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 17)), b606), Local0)
+ m600(arg0, 47, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreaterEqual(m601(1, 1), b606), Local0)
+ m600(arg0, 48, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 16), b606), Local0)
+ m600(arg0, 49, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 17), b606), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(1, 1, 1)), b606), Local0)
+ m600(arg0, 51, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 16, 1)), b606), Local0)
+ m600(arg0, 52, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 17, 1)), b606), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLess
+
+ Store(LLess(0x321, b606), Local0)
+ m600(arg0, 54, Local0, Zero)
+
+ Store(LLess(0x322, b606), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLess(0x320, b606), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLess(aui1, b606), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLess(auig, b606), Local0)
+ m600(arg0, 58, Local0, Zero)
+
+ Store(LLess(auih, b606), Local0)
+ m600(arg0, 59, Local0, Ones)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aui1)), b606), Local0)
+ m600(arg0, 60, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auig)), b606), Local0)
+ m600(arg0, 61, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auih)), b606), Local0)
+ m600(arg0, 62, Local0, Ones)
+ }
+
+ Store(LLess(Derefof(Index(paui, 1)), b606), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 16)), b606), Local0)
+ m600(arg0, 64, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 17)), b606), Local0)
+ m600(arg0, 65, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLess(m601(1, 1), b606), Local0)
+ m600(arg0, 66, Local0, Zero)
+
+ Store(LLess(m601(1, 16), b606), Local0)
+ m600(arg0, 67, Local0, Zero)
+
+ Store(LLess(m601(1, 17), b606), Local0)
+ m600(arg0, 68, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLess(Derefof(m602(1, 1, 1)), b606), Local0)
+ m600(arg0, 69, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 16, 1)), b606), Local0)
+ m600(arg0, 70, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 17, 1)), b606), Local0)
+ m600(arg0, 71, Local0, Ones)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual(0x321, b606), Local0)
+ m600(arg0, 72, Local0, Ones)
+
+ Store(LLessEqual(0x322, b606), Local0)
+ m600(arg0, 73, Local0, Zero)
+
+ Store(LLessEqual(0x320, b606), Local0)
+ m600(arg0, 74, Local0, Ones)
+
+ Store(LLessEqual(aui1, b606), Local0)
+ m600(arg0, 75, Local0, Ones)
+
+ Store(LLessEqual(auig, b606), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LLessEqual(auih, b606), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aui1)), b606), Local0)
+ m600(arg0, 78, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(auig)), b606), Local0)
+ m600(arg0, 79, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Refof(auih)), b606), Local0)
+ m600(arg0, 80, Local0, Ones)
+ }
+
+ Store(LLessEqual(Derefof(Index(paui, 1)), b606), Local0)
+ m600(arg0, 81, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paui, 16)), b606), Local0)
+ m600(arg0, 82, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Index(paui, 17)), b606), Local0)
+ m600(arg0, 83, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLessEqual(m601(1, 1), b606), Local0)
+ m600(arg0, 84, Local0, Ones)
+
+ Store(LLessEqual(m601(1, 16), b606), Local0)
+ m600(arg0, 85, Local0, Zero)
+
+ Store(LLessEqual(m601(1, 17), b606), Local0)
+ m600(arg0, 86, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(1, 1, 1)), b606), Local0)
+ m600(arg0, 87, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(1, 16, 1)), b606), Local0)
+ m600(arg0, 88, Local0, Zero)
+
+ Store(LLessEqual(Derefof(m602(1, 17, 1)), b606), Local0)
+ m600(arg0, 89, Local0, Ones)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual(0x321, b606), Local0)
+ m600(arg0, 90, Local0, Zero)
+
+ Store(LNotEqual(0x322, b606), Local0)
+ m600(arg0, 91, Local0, Ones)
+
+ Store(LNotEqual(0x320, b606), Local0)
+ m600(arg0, 92, Local0, Ones)
+
+ Store(LNotEqual(aui1, b606), Local0)
+ m600(arg0, 93, Local0, Zero)
+
+ Store(LNotEqual(auig, b606), Local0)
+ m600(arg0, 94, Local0, Ones)
+
+ Store(LNotEqual(auih, b606), Local0)
+ m600(arg0, 95, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aui1)), b606), Local0)
+ m600(arg0, 96, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(auig)), b606), Local0)
+ m600(arg0, 97, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Refof(auih)), b606), Local0)
+ m600(arg0, 98, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paui, 1)), b606), Local0)
+ m600(arg0, 99, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paui, 16)), b606), Local0)
+ m600(arg0, 100, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Index(paui, 17)), b606), Local0)
+ m600(arg0, 101, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LNotEqual(m601(1, 1), b606), Local0)
+ m600(arg0, 102, Local0, Zero)
+
+ Store(LNotEqual(m601(1, 16), b606), Local0)
+ m600(arg0, 103, Local0, Ones)
+
+ Store(LNotEqual(m601(1, 17), b606), Local0)
+ m600(arg0, 104, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(1, 1, 1)), b606), Local0)
+ m600(arg0, 105, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(1, 16, 1)), b606), Local0)
+ m600(arg0, 106, Local0, Ones)
+
+ Store(LNotEqual(Derefof(m602(1, 17, 1)), b606), Local0)
+ m600(arg0, 107, Local0, Ones)
+ }
+ }
+
+ // Buffer to Integer intermediate conversion of the Buffer second
+ // operand of Concatenate operator in case the first one is Integer
+
+ Method(m64q, 1)
+ {
+ Store(Concatenate(0x321, b606), Local0)
+ m600(arg0, 0, Local0, bb26)
+
+ Store(Concatenate(0x321, b60a), Local0)
+ m600(arg0, 1, Local0, bb21)
+
+
+ Store(Concatenate(aui1, b606), Local0)
+ m600(arg0, 2, Local0, bb26)
+
+ Store(Concatenate(aui1, b60a), Local0)
+ m600(arg0, 3, Local0, bb21)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aui1)), b606), Local0)
+ m600(arg0, 4, Local0, bb26)
+
+ Store(Concatenate(Derefof(Refof(aui1)), b60a), Local0)
+ m600(arg0, 5, Local0, bb21)
+ }
+
+ Store(Concatenate(Derefof(Index(paui, 1)), b606), Local0)
+ m600(arg0, 6, Local0, bb26)
+
+ Store(Concatenate(Derefof(Index(paui, 1)), b60a), Local0)
+ m600(arg0, 7, Local0, bb21)
+
+ // Method returns Integer
+
+ Store(Concatenate(m601(1, 1), b606), Local0)
+ m600(arg0, 8, Local0, bb26)
+
+ Store(Concatenate(m601(1, 1), b60a), Local0)
+ m600(arg0, 9, Local0, bb21)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(1, 1, 1)), b606), Local0)
+ m600(arg0, 10, Local0, bb26)
+
+ Store(Concatenate(Derefof(m602(1, 1, 1)), b60a), Local0)
+ m600(arg0, 11, Local0, bb21)
+ }
+
+ Concatenate(0x321, b606, Local0)
+ m600(arg0, 12, Local0, bb26)
+
+ Concatenate(0x321, b60a, Local0)
+ m600(arg0, 13, Local0, bb21)
+
+
+ Concatenate(aui1, b606, Local0)
+ m600(arg0, 14, Local0, bb26)
+
+ Concatenate(aui1, b60a, Local0)
+ m600(arg0, 15, Local0, bb21)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aui1)), b606, Local0)
+ m600(arg0, 16, Local0, bb26)
+
+ Concatenate(Derefof(Refof(aui1)), b60a, Local0)
+ m600(arg0, 17, Local0, bb21)
+ }
+
+ Concatenate(Derefof(Index(paui, 1)), b606, Local0)
+ m600(arg0, 18, Local0, bb26)
+
+ Concatenate(Derefof(Index(paui, 1)), b60a, Local0)
+ m600(arg0, 19, Local0, bb21)
+
+ // Method returns Integer
+
+ Concatenate(m601(1, 1), b606, Local0)
+ m600(arg0, 20, Local0, bb26)
+
+ Concatenate(m601(1, 1), b60a, Local0)
+ m600(arg0, 21, Local0, bb21)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Concatenate(Derefof(m602(1, 1, 1)), b606, Local0)
+ m600(arg0, 22, Local0, bb26)
+
+ Concatenate(Derefof(m602(1, 1, 1)), b60a, Local0)
+ m600(arg0, 23, Local0, bb21)
+ }
+ }
+
+ Method(m32q, 1)
+ {
+ Store(Concatenate(0x321, b606), Local0)
+ m600(arg0, 0, Local0, bb27)
+
+ Store(Concatenate(0x321, b60a), Local0)
+ m600(arg0, 1, Local0, bb28)
+
+
+ Store(Concatenate(aui1, b606), Local0)
+ m600(arg0, 2, Local0, bb27)
+
+ Store(Concatenate(aui1, b60a), Local0)
+ m600(arg0, 3, Local0, bb28)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aui1)), b606), Local0)
+ m600(arg0, 4, Local0, bb27)
+
+ Store(Concatenate(Derefof(Refof(aui1)), b60a), Local0)
+ m600(arg0, 5, Local0, bb28)
+ }
+
+ Store(Concatenate(Derefof(Index(paui, 1)), b606), Local0)
+ m600(arg0, 6, Local0, bb27)
+
+ Store(Concatenate(Derefof(Index(paui, 1)), b60a), Local0)
+ m600(arg0, 7, Local0, bb28)
+
+ // Method returns Integer
+
+ Store(Concatenate(m601(1, 1), b606), Local0)
+ m600(arg0, 8, Local0, bb27)
+
+ Store(Concatenate(m601(1, 1), b60a), Local0)
+ m600(arg0, 9, Local0, bb28)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(1, 1, 1)), b606), Local0)
+ m600(arg0, 10, Local0, bb27)
+
+ Store(Concatenate(Derefof(m602(1, 1, 1)), b60a), Local0)
+ m600(arg0, 11, Local0, bb28)
+ }
+
+ Concatenate(0x321, b606, Local0)
+ m600(arg0, 12, Local0, bb27)
+
+ Concatenate(0x321, b60a, Local0)
+ m600(arg0, 13, Local0, bb28)
+
+
+ Concatenate(aui1, b606, Local0)
+ m600(arg0, 14, Local0, bb27)
+
+ Concatenate(aui1, b60a, Local0)
+ m600(arg0, 15, Local0, bb28)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aui1)), b606, Local0)
+ m600(arg0, 16, Local0, bb27)
+
+ Concatenate(Derefof(Refof(aui1)), b60a, Local0)
+ m600(arg0, 17, Local0, bb28)
+ }
+
+ Concatenate(Derefof(Index(paui, 1)), b606, Local0)
+ m600(arg0, 18, Local0, bb27)
+
+ Concatenate(Derefof(Index(paui, 1)), b60a, Local0)
+ m600(arg0, 20, Local0, bb28)
+
+ // Method returns Integer
+
+ Concatenate(m601(1, 1), b606, Local0)
+ m600(arg0, 21, Local0, bb27)
+
+ Concatenate(m601(1, 1), b60a, Local0)
+ m600(arg0, 22, Local0, bb28)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Concatenate(Derefof(m602(1, 1, 1)), b606, Local0)
+ m600(arg0, 23, Local0, bb27)
+
+ Concatenate(Derefof(m602(1, 1, 1)), b60a, Local0)
+ m600(arg0, 24, Local0, bb28)
+ }
+ }
+
+ // Buffer to Integer conversion of the Buffer Length (second)
+ // operand of the ToString operator
+
+ // Common 32-bit/64-bit test
+ Method(m066, 1)
+ {
+ Store(ToString(Buffer() {"This is auxiliary Buffer"},
+ b60e), Local0)
+ m600(arg0, 0, Local0, bs1b)
+
+ Store(ToString(Buffer() {"This is auxiliary Buffer"},
+ b606), Local0)
+ m600(arg0, 1, Local0, bs1c)
+
+ Store(ToString(aub6, b60e), Local0)
+ m600(arg0, 2, Local0, bs1b)
+
+ Store(ToString(aub6, b606), Local0)
+ m600(arg0, 3, Local0, bs1c)
+
+ if (y078) {
+ Store(ToString(Derefof(Refof(aub6)), b60e), Local0)
+ m600(arg0, 4, Local0, bs1b)
+
+ Store(ToString(Derefof(Refof(aub6)), b606), Local0)
+ m600(arg0, 5, Local0, bs1c)
+ }
+
+ Store(ToString(Derefof(Index(paub, 6)), b60e), Local0)
+ m600(arg0, 6, Local0, bs1b)
+
+ Store(ToString(Derefof(Index(paub, 6)), b606), Local0)
+ m600(arg0, 7, Local0, bs1c)
+
+ // Method returns Buffer
+
+ Store(ToString(m601(3, 6), b60e), Local0)
+ m600(arg0, 8, Local0, bs1b)
+
+ Store(ToString(m601(3, 6), b606), Local0)
+ m600(arg0, 9, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(ToString(Derefof(m602(3, 6, 1)), b60e), Local0)
+ m600(arg0, 10, Local0, bs1b)
+
+ Store(ToString(Derefof(m602(3, 6, 1)), b606), Local0)
+ m600(arg0, 11, Local0, bs1c)
+ }
+
+ ToString(Buffer() {"This is auxiliary Buffer"},
+ b60e, Local0)
+ m600(arg0, 12, Local0, bs1b)
+
+ ToString(Buffer() {"This is auxiliary Buffer"},
+ b606, Local0)
+ m600(arg0, 13, Local0, bs1c)
+
+ ToString(aub6, b60e, Local0)
+ m600(arg0, 14, Local0, bs1b)
+
+ ToString(aub6, b606, Local0)
+ m600(arg0, 15, Local0, bs1c)
+
+ if (y078) {
+ ToString(Derefof(Refof(aub6)), b60e, Local0)
+ m600(arg0, 16, Local0, bs1b)
+
+ ToString(Derefof(Refof(aub6)), b606, Local0)
+ m600(arg0, 17, Local0, bs1c)
+ }
+
+ ToString(Derefof(Index(paub, 6)), b60e, Local0)
+ m600(arg0, 18, Local0, bs1b)
+
+ ToString(Derefof(Index(paub, 6)), b606, Local0)
+ m600(arg0, 19, Local0, bs1c)
+
+ // Method returns Buffer
+
+ ToString(m601(3, 6), b60e, Local0)
+ m600(arg0, 20, Local0, bs1b)
+
+ ToString(m601(3, 6), b606, Local0)
+ m600(arg0, 21, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ ToString(Derefof(m602(3, 6, 1)), b60e, Local0)
+ m600(arg0, 22, Local0, bs1b)
+
+ ToString(Derefof(m602(3, 6, 1)), b606, Local0)
+ m600(arg0, 23, Local0, bs1c)
+ }
+ }
+
+ Method(m64r, 1)
+ {
+ Store(ToString(Buffer() {"This is auxiliary Buffer"},
+ b60a), Local0)
+ m600(arg0, 0, Local0, bs1c)
+
+ Store(ToString(aub6, b60a), Local0)
+ m600(arg0, 1, Local0, bs1c)
+
+ if (y078) {
+ Store(ToString(Derefof(Refof(aub6)), b60a), Local0)
+ m600(arg0, 2, Local0, bs1c)
+ }
+
+ Store(ToString(Derefof(Index(paub, 6)), b60a), Local0)
+ m600(arg0, 3, Local0, bs1c)
+
+ // Method returns Buffer
+
+ Store(ToString(m601(3, 6), b60a), Local0)
+ m600(arg0, 4, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(ToString(Derefof(m602(3, 6, 1)), b60a), Local0)
+ m600(arg0, 5, Local0, bs1c)
+ }
+
+ ToString(Buffer() {"This is auxiliary Buffer"},
+ b60a, Local0)
+ m600(arg0, 6, Local0, bs1c)
+
+ ToString(aub6, b60a, Local0)
+ m600(arg0, 7, Local0, bs1c)
+
+ if (y078) {
+ ToString(Derefof(Refof(aub6)), b60a, Local0)
+ m600(arg0, 8, Local0, bs1c)
+ }
+
+ ToString(Derefof(Index(paub, 6)), b60a, Local0)
+ m600(arg0, 9, Local0, bs1c)
+
+ // Method returns Buffer
+
+ ToString(m601(3, 6), b60a, Local0)
+ m600(arg0, 10, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ ToString(Derefof(m602(3, 6, 1)), b60a, Local0)
+ m600(arg0, 11, Local0, bs1c)
+ }
+ }
+
+ Method(m32r, 1)
+ {
+ Store(ToString(Buffer() {"This is auxiliary Buffer"},
+ b60a), Local0)
+ m600(arg0, 0, Local0, bs1c)
+
+ Store(ToString(aub6, b60a), Local0)
+ m600(arg0, 1, Local0, bs1c)
+
+ if (y078) {
+ Store(ToString(Derefof(Refof(aub6)), b60a), Local0)
+ m600(arg0, 2, Local0, bs1c)
+ }
+
+ Store(ToString(Derefof(Index(paub, 6)), b60a), Local0)
+ m600(arg0, 3, Local0, bs1c)
+
+ // Method returns Buffer
+
+ Store(ToString(m601(3, 6), b60a), Local0)
+ m600(arg0, 4, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(ToString(Derefof(m602(3, 6, 1)), b60a), Local0)
+ m600(arg0, 5, Local0, bs1c)
+ }
+
+ ToString(Buffer() {"This is auxiliary Buffer"},
+ b60a, Local0)
+ m600(arg0, 6, Local0, bs1c)
+
+ ToString(aub6, b60a, Local0)
+ m600(arg0, 7, Local0, bs1c)
+
+ if (y078) {
+ ToString(Derefof(Refof(aub6)), b60a, Local0)
+ m600(arg0, 8, Local0, bs1c)
+ }
+
+ ToString(Derefof(Index(paub, 6)), b60a, Local0)
+ m600(arg0, 9, Local0, bs1c)
+
+ // Method returns Buffer
+
+ ToString(m601(3, 6), b60a, Local0)
+ m600(arg0, 10, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ ToString(Derefof(m602(3, 6, 1)), b60a, Local0)
+ m600(arg0, 11, Local0, bs1c)
+ }
+ }
+
+ // Buffer to Integer conversion of the Buffer Index (second)
+ // operand of the Index operator
+ Method(m067, 1)
+ {
+ Store(Index(aus6, b60e), Local0)
+ m600(arg0, 0, Derefof(Local0), bi10)
+
+ Store(Index(aub6, b60e), Local0)
+ m600(arg0, 1, Derefof(Local0), bi10)
+
+ Store(Index(aup0, b60e), Local0)
+ m600(arg0, 2, Derefof(Local0), bi11)
+
+ if (y078) {
+ Store(Index(Derefof(Refof(aus6)), b60e), Local0)
+ m600(arg0, 3, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Refof(aub6)), b60e), Local0)
+ m600(arg0, 4, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Refof(aup0)), b60e), Local0)
+ m600(arg0, 5, Derefof(Local0), bi11)
+ }
+
+ Store(Index(Derefof(Index(paus, 6)), b60e), Local0)
+ m600(arg0, 6, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Index(paub, 6)), b60e), Local0)
+ m600(arg0, 7, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Index(paup, 0)), b60e), Local0)
+ m600(arg0, 8, Derefof(Local0), bi11)
+
+
+ // Method returns Object
+
+ if (y900) {
+ Store(Index(m601(2, 6), b60e), Local0)
+ m600(arg0, 9, Derefof(Local0), bi10)
+
+ Store(Index(m601(3, 6), b60e), Local0)
+ m600(arg0, 10, Derefof(Local0), bi10)
+
+ Store(Index(m601(4, 0), b60e), Local0)
+ m600(arg0, 11, Derefof(Local0), bi11)
+ } else {
+
+ CH03(arg0, z086, 0, 0, 0)
+
+ Index(m601(2, 6), b60e)
+ CH04(arg0, 0, 85, z086, 9, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+
+ Index(m601(3, 6), b60e)
+ CH04(arg0, 0, 85, z086, 10, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+
+ Index(m601(4, 0), b60e)
+ CH04(arg0, 0, 85, z086, 11, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+ }
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Index(Derefof(m602(2, 6, 1)), b60e), Local0)
+ m600(arg0, 12, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(m602(3, 6, 1)), b60e), Local0)
+ m600(arg0, 13, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(m602(4, 0, 1)), b60e), Local0)
+ m600(arg0, 14, Derefof(Local0), bi11)
+ }
+
+ Index(aus6, b60e, Local0)
+ m600(arg0, 15, Derefof(Local0), bi10)
+
+ Index(aub6, b60e, Local0)
+ m600(arg0, 16, Derefof(Local0), bi10)
+
+ Index(aup0, b60e, Local0)
+ m600(arg0, 17, Derefof(Local0), bi11)
+
+ if (y078) {
+ Index(Derefof(Refof(aus6)), b60e, Local0)
+ m600(arg0, 18, Derefof(Local0), bi10)
+
+ Index(Derefof(Refof(aub6)), b60e, Local0)
+ m600(arg0, 19, Derefof(Local0), bi10)
+
+ Index(Derefof(Refof(aup0)), b60e, Local0)
+ m600(arg0, 20, Derefof(Local0), bi11)
+ }
+
+ Index(Derefof(Index(paus, 6)), b60e, Local0)
+ m600(arg0, 21, Derefof(Local0), bi10)
+
+ Index(Derefof(Index(paub, 6)), b60e, Local0)
+ m600(arg0, 22, Derefof(Local0), bi10)
+
+ Index(Derefof(Index(paup, 0)), b60e, Local0)
+ m600(arg0, 23, Derefof(Local0), bi11)
+
+
+ // Method returns Object
+
+ if (y900) {
+ Index(m601(2, 6), b60e, Local0)
+ m600(arg0, 24, Derefof(Local0), bi10)
+
+ Index(m601(3, 6), b60e, Local0)
+ m600(arg0, 25, Derefof(Local0), bi10)
+
+ Index(m601(4, 0), b60e, Local0)
+ m600(arg0, 26, Derefof(Local0), bi11)
+ } else {
+
+ CH03(arg0, z086, 0, 0, 0)
+
+ Index(m601(2, 6), b60e, Local0)
+ CH04(arg0, 0, 85, z086, 24, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+
+ Index(m601(3, 6), b60e, Local0)
+ CH04(arg0, 0, 85, z086, 25, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+
+ Index(m601(4, 0), b60e, Local0)
+ CH04(arg0, 0, 85, z086, 26, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+ }
+
+ // Method returns Reference
+
+ if (y500) {
+ Index(Derefof(m602(2, 6, 1)), b60e, Local0)
+ m600(arg0, 27, Derefof(Local0), bi10)
+
+ Index(Derefof(m602(3, 6, 1)), b60e, Local0)
+ m600(arg0, 28, Derefof(Local0), bi10)
+
+ Index(Derefof(m602(4, 0, 1)), b60e, Local0)
+ m600(arg0, 29, Derefof(Local0), bi11)
+ }
+
+ if (y098) {
+ Store(Index(aus6, b60e, Local1), Local0)
+ m600(arg0, 30, Derefof(Local0), bi10)
+
+ Store(Index(aub6, b60e, Local1), Local0)
+ m600(arg0, 31, Derefof(Local0), bi10)
+
+ Store(Index(aup0, b60e, Local1), Local0)
+ m600(arg0, 32, Derefof(Local0), bi11)
+ }
+
+ if (y078) {
+ Store(Index(Derefof(Refof(aus6)), b60e, Local1), Local0)
+ m600(arg0, 33, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Refof(aub6)), b60e, Local1), Local0)
+ m600(arg0, 34, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Refof(aup0)), b60e, Local1), Local0)
+ m600(arg0, 35, Derefof(Local0), bi11)
+ }
+
+ if (y098) {
+ Store(Index(Derefof(Index(paus, 6)), b60e, Local1), Local0)
+ m600(arg0, 36, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Index(paub, 6)), b60e, Local1), Local0)
+ m600(arg0, 37, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Index(paup, 0)), b60e, Local1), Local0)
+ m600(arg0, 38, Derefof(Local0), bi11)
+ }
+
+ // Method returns Object
+
+ if (LAnd(y900, y098)) {
+ Store(Index(m601(2, 6), b60e, Local1), Local0)
+ m600(arg0, 39, Derefof(Local0), bi10)
+
+ Store(Index(m601(3, 6), b60e, Local1), Local0)
+ m600(arg0, 40, Derefof(Local0), bi10)
+
+ Store(Index(m601(4, 0), b60e, Local1), Local0)
+ m600(arg0, 41, Derefof(Local0), bi11)
+ }
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Index(Derefof(m602(2, 6, 1)), b60e, Local1), Local0)
+ m600(arg0, 42, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(m602(3, 6, 1)), b60e, Local1), Local0)
+ m600(arg0, 43, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(m602(4, 0, 1)), b60e, Local1), Local0)
+ m600(arg0, 44, Derefof(Local0), bi11)
+ }
+ }
+
+ // Buffer to Integer conversion of the String Arg (third)
+ // operand of the Fatal operator
+ // (it can only be checked an exception does not occur)
+ Method(m068, 1)
+ {
+ CH03(arg0, z086, 9, 0, 0)
+ Fatal(0xff, 0xffffffff, b606)
+ if (F64) {
+ Fatal(0xff, 0xffffffff, b60a)
+ } else {
+ Fatal(0xff, 0xffffffff, b60a)
+ }
+ CH03(arg0, z086, 10, 0, 0)
+ }
+
+ // Buffer to Integer conversion of the Buffer Index and Length
+ // operands of the Mid operator
+
+ // Common 32-bit/64-bit test
+ Method(m069, 1)
+ {
+ // String to Integer conversion of the String Index operand
+
+ Store(Mid("This is auxiliary String", b60e, 10), Local0)
+ m600(arg0, 0, Local0, bs1d)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, b60e, 10), Local0)
+ m600(arg0, 1, Local0, bb32)
+
+ Store(Mid(aus6, b60e, 10), Local0)
+ m600(arg0, 2, Local0, bs1d)
+
+ Store(Mid(aub6, b60e, 10), Local0)
+ m600(arg0, 3, Local0, bb32)
+
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), b60e, 10), Local0)
+ m600(arg0, 4, Local0, bs1d)
+
+ Store(Mid(Derefof(Refof(aub6)), b60e, 10), Local0)
+ m600(arg0, 5, Local0, bb32)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), b60e, 10), Local0)
+ m600(arg0, 6, Local0, bs1d)
+
+ Store(Mid(Derefof(Index(paub, 6)), b60e, 10), Local0)
+ m600(arg0, 7, Local0, bb32)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), b60e, 10), Local0)
+ m600(arg0, 8, Local0, bs1d)
+
+ Store(Mid(m601(3, 6), b60e, 10), Local0)
+ m600(arg0, 9, Local0, bb32)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), b60e, 10), Local0)
+ m600(arg0, 10, Local0, bs1d)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), b60e, 10), Local0)
+ m600(arg0, 11, Local0, bb32)
+ }
+
+ Mid("This is auxiliary String", b60e, 10, Local0)
+ m600(arg0, 12, Local0, bs1d)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, b60e, 10, Local0)
+ m600(arg0, 13, Local0, bb32)
+
+ Mid(aus6, b60e, 10, Local0)
+ m600(arg0, 14, Local0, bs1d)
+
+ Mid(aub6, b60e, 10, Local0)
+ m600(arg0, 15, Local0, bb32)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), b60e, 10, Local0)
+ m600(arg0, 16, Local0, bs1d)
+
+ Mid(Derefof(Refof(aub6)), b60e, 10, Local0)
+ m600(arg0, 17, Local0, bb32)
+ }
+
+ Mid(Derefof(Index(paus, 6)), b60e, 10, Local0)
+ m600(arg0, 18, Local0, bs1d)
+
+ Mid(Derefof(Index(paub, 6)), b60e, 10, Local0)
+ m600(arg0, 19, Local0, bb32)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), b60e, 10, Local0)
+ m600(arg0, 20, Local0, bs1d)
+
+ Mid(m601(3, 6), b60e, 10, Local0)
+ m600(arg0, 21, Local0, bb32)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), b60e, 10, Local0)
+ m600(arg0, 22, Local0, bs1d)
+
+ Mid(Derefof(m602(3, 6, 1)), b60e, 10, Local0)
+ m600(arg0, 23, Local0, bb32)
+ }
+
+ // String to Integer conversion of the String Length operand
+
+ Store(Mid("This is auxiliary String", 0, b60e), Local0)
+ m600(arg0, 24, Local0, bs1b)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, 0, b60e), Local0)
+ m600(arg0, 25, Local0, bb33)
+
+ Store(Mid(aus6, 0, b60e), Local0)
+ m600(arg0, 26, Local0, bs1b)
+
+ Store(Mid(aub6, 0, b60e), Local0)
+ m600(arg0, 27, Local0, bb33)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), 0, b60e), Local0)
+ m600(arg0, 28, Local0, bs1b)
+
+ Store(Mid(Derefof(Refof(aub6)), 0, b60e), Local0)
+ m600(arg0, 29, Local0, bb33)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), 0, b60e), Local0)
+ m600(arg0, 30, Local0, bs1b)
+
+ Store(Mid(Derefof(Index(paub, 6)), 0, b60e), Local0)
+ m600(arg0, 31, Local0, bb33)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), 0, b60e), Local0)
+ m600(arg0, 32, Local0, bs1b)
+
+ Store(Mid(m601(3, 6), 0, b60e), Local0)
+ m600(arg0, 33, Local0, bb33)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), 0, b60e), Local0)
+ m600(arg0, 34, Local0, bs1b)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), 0, b60e), Local0)
+ m600(arg0, 35, Local0, bb33)
+ }
+
+ Mid("This is auxiliary String", 0, b60e, Local0)
+ m600(arg0, 36, Local0, bs1b)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, 0, b60e, Local0)
+ m600(arg0, 37, Local0, bb33)
+
+ Mid(aus6, 0, b60e, Local0)
+ m600(arg0, 37, Local0, bs1b)
+
+ Mid(aub6, 0, b60e, Local0)
+ m600(arg0, 39, Local0, bb33)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), 0, b60e, Local0)
+ m600(arg0, 40, Local0, bs1b)
+
+ Mid(Derefof(Refof(aub6)), 0, b60e, Local0)
+ m600(arg0, 41, Local0, bb33)
+ }
+
+ Mid(Derefof(Index(paus, 6)), 0, b60e, Local0)
+ m600(arg0, 42, Local0, bs1b)
+
+ Mid(Derefof(Index(paub, 6)), 0, b60e, Local0)
+ m600(arg0, 43, Local0, bb33)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), 0, b60e, Local0)
+ m600(arg0, 44, Local0, bs1b)
+
+ Mid(m601(3, 6), 0, b60e, Local0)
+ m600(arg0, 45, Local0, bb33)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), 0, b60e, Local0)
+ m600(arg0, 46, Local0, bs1b)
+
+ Mid(Derefof(m602(3, 6, 1)), 0, b60e, Local0)
+ m600(arg0, 47, Local0, bb33)
+ }
+ }
+
+ Method(m64s, 1)
+ {
+ // String to Integer conversion of the String Length operand
+
+ Store(Mid("This is auxiliary String", 0, b60a), Local0)
+ m600(arg0, 0, Local0, bs1e)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, 0, b60a), Local0)
+ m600(arg0, 1, Local0, bb34)
+
+ Store(Mid(aus6, 0, b60a), Local0)
+ m600(arg0, 2, Local0, bs1e)
+
+ Store(Mid(aub6, 0, b60a), Local0)
+ m600(arg0, 3, Local0, bb34)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), 0, b60a), Local0)
+ m600(arg0, 4, Local0, bs1e)
+
+ Store(Mid(Derefof(Refof(aub6)), 0, b60a), Local0)
+ m600(arg0, 5, Local0, bb34)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), 0, b60a), Local0)
+ m600(arg0, 6, Local0, bs1e)
+
+ Store(Mid(Derefof(Index(paub, 6)), 0, b60a), Local0)
+ m600(arg0, 7, Local0, bb34)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), 0, b60a), Local0)
+ m600(arg0, 8, Local0, bs1e)
+
+ Store(Mid(m601(3, 6), 0, b60a), Local0)
+ m600(arg0, 9, Local0, bb34)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), 0, b60a), Local0)
+ m600(arg0, 10, Local0, bs1e)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), 0, b60a), Local0)
+ m600(arg0, 11, Local0, bb34)
+ }
+
+ Mid("This is auxiliary String", 0, b60a, Local0)
+ m600(arg0, 12, Local0, bs1e)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, 0, b60a, Local0)
+ m600(arg0, 13, Local0, bb34)
+
+ Mid(aus6, 0, b60a, Local0)
+ m600(arg0, 14, Local0, bs1e)
+
+ Mid(aub6, 0, b60a, Local0)
+ m600(arg0, 15, Local0, bb34)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), 0, b60a, Local0)
+ m600(arg0, 16, Local0, bs1e)
+
+ Mid(Derefof(Refof(aub6)), 0, b60a, Local0)
+ m600(arg0, 17, Local0, bb34)
+ }
+
+ Mid(Derefof(Index(paus, 6)), 0, b60a, Local0)
+ m600(arg0, 18, Local0, bs1e)
+
+ Mid(Derefof(Index(paub, 6)), 0, b60a, Local0)
+ m600(arg0, 19, Local0, bb34)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), 0, b60a, Local0)
+ m600(arg0, 20, Local0, bs1e)
+
+ Mid(m601(3, 6), 0, b60a, Local0)
+ m600(arg0, 21, Local0, bb34)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), 0, b60a, Local0)
+ m600(arg0, 22, Local0, bs1e)
+
+ Mid(Derefof(m602(3, 6, 1)), 0, b60a, Local0)
+ m600(arg0, 23, Local0, bb34)
+ }
+
+ // String to Integer conversion of the both String operands
+
+ Store(Mid("This is auxiliary String", b60e, b60a), Local0)
+ m600(arg0, 24, Local0, bs1f)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, b60e, b60a), Local0)
+ m600(arg0, 25, Local0, bb35)
+
+ Store(Mid(aus6, b60e, b60a), Local0)
+ m600(arg0, 26, Local0, bs1f)
+
+ Store(Mid(aub6, b60e, b60a), Local0)
+ m600(arg0, 27, Local0, bb35)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), b60e, b60a), Local0)
+ m600(arg0, 28, Local0, bs1f)
+
+ Store(Mid(Derefof(Refof(aub6)), b60e, b60a), Local0)
+ m600(arg0, 29, Local0, bb35)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), b60e, b60a), Local0)
+ m600(arg0, 30, Local0, bs1f)
+
+ Store(Mid(Derefof(Index(paub, 6)), b60e, b60a), Local0)
+ m600(arg0, 31, Local0, bb35)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), b60e, b60a), Local0)
+ m600(arg0, 32, Local0, bs1f)
+
+ Store(Mid(m601(3, 6), b60e, b60a), Local0)
+ m600(arg0, 33, Local0, bb35)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), b60e, b60a), Local0)
+ m600(arg0, 34, Local0, bs1f)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), b60e, b60a), Local0)
+ m600(arg0, 35, Local0, bb35)
+ }
+
+ Mid("This is auxiliary String", b60e, b60a, Local0)
+ m600(arg0, 36, Local0, bs1f)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, b60e, b60a, Local0)
+ m600(arg0, 37, Local0, bb35)
+
+ Mid(aus6, b60e, b60a, Local0)
+ m600(arg0, 38, Local0, bs1f)
+
+ Mid(aub6, b60e, b60a, Local0)
+ m600(arg0, 39, Local0, bb35)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), b60e, b60a, Local0)
+ m600(arg0, 40, Local0, bs1f)
+
+ Mid(Derefof(Refof(aub6)), b60e, b60a, Local0)
+ m600(arg0, 41, Local0, bb35)
+ }
+
+ Mid(Derefof(Index(paus, 6)), b60e, b60a, Local0)
+ m600(arg0, 42, Local0, bs1f)
+
+ Mid(Derefof(Index(paub, 6)), b60e, b60a, Local0)
+ m600(arg0, 43, Local0, bb35)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), b60e, b60a, Local0)
+ m600(arg0, 44, Local0, bs1f)
+
+ Mid(m601(3, 6), b60e, b60a, Local0)
+ m600(arg0, 45, Local0, bb35)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), b60e, b60a, Local0)
+ m600(arg0, 46, Local0, bs1f)
+
+ Mid(Derefof(m602(3, 6, 1)), b60e, b60a, Local0)
+ m600(arg0, 47, Local0, bb35)
+ }
+ }
+
+ Method(m32s, 1)
+ {
+ // String to Integer conversion of the String Length operand
+
+ Store(Mid("This is auxiliary String", 0, b60a), Local0)
+ m600(arg0, 0, Local0, bs1e)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, 0, b60a), Local0)
+ m600(arg0, 1, Local0, bb34)
+
+ Store(Mid(aus6, 0, b60a), Local0)
+ m600(arg0, 2, Local0, bs1e)
+
+ Store(Mid(aub6, 0, b60a), Local0)
+ m600(arg0, 3, Local0, bb34)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), 0, b60a), Local0)
+ m600(arg0, 4, Local0, bs1e)
+
+ Store(Mid(Derefof(Refof(aub6)), 0, b60a), Local0)
+ m600(arg0, 5, Local0, bb34)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), 0, b60a), Local0)
+ m600(arg0, 6, Local0, bs1e)
+
+ Store(Mid(Derefof(Index(paub, 6)), 0, b60a), Local0)
+ m600(arg0, 7, Local0, bb34)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), 0, b60a), Local0)
+ m600(arg0, 8, Local0, bs1e)
+
+ Store(Mid(m601(3, 6), 0, b60a), Local0)
+ m600(arg0, 9, Local0, bb34)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), 0, b60a), Local0)
+ m600(arg0, 10, Local0, bs1e)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), 0, b60a), Local0)
+ m600(arg0, 11, Local0, bb34)
+ }
+
+ Mid("This is auxiliary String", 0, b60a, Local0)
+ m600(arg0, 12, Local0, bs1e)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, 0, b60a, Local0)
+ m600(arg0, 13, Local0, bb34)
+
+ Mid(aus6, 0, b60a, Local0)
+ m600(arg0, 14, Local0, bs1e)
+
+ Mid(aub6, 0, b60a, Local0)
+ m600(arg0, 15, Local0, bb34)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), 0, b60a, Local0)
+ m600(arg0, 16, Local0, bs1e)
+
+ Mid(Derefof(Refof(aub6)), 0, b60a, Local0)
+ m600(arg0, 17, Local0, bb34)
+ }
+
+ Mid(Derefof(Index(paus, 6)), 0, b60a, Local0)
+ m600(arg0, 18, Local0, bs1e)
+
+ Mid(Derefof(Index(paub, 6)), 0, b60a, Local0)
+ m600(arg0, 19, Local0, bb34)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), 0, b60a, Local0)
+ m600(arg0, 20, Local0, bs1e)
+
+ Mid(m601(3, 6), 0, b60a, Local0)
+ m600(arg0, 21, Local0, bb34)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), 0, b60a, Local0)
+ m600(arg0, 22, Local0, bs1e)
+
+ Mid(Derefof(m602(3, 6, 1)), 0, b60a, Local0)
+ m600(arg0, 23, Local0, bb34)
+ }
+
+ // String to Integer conversion of the both String operands
+
+ Store(Mid("This is auxiliary String", b60e, b60a), Local0)
+ m600(arg0, 24, Local0, bs1f)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, b60e, b60a), Local0)
+ m600(arg0, 25, Local0, bb35)
+
+ Store(Mid(aus6, b60e, b60a), Local0)
+ m600(arg0, 26, Local0, bs1f)
+
+ Store(Mid(aub6, b60e, b60a), Local0)
+ m600(arg0, 27, Local0, bb35)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), b60e, b60a), Local0)
+ m600(arg0, 28, Local0, bs1f)
+
+ Store(Mid(Derefof(Refof(aub6)), b60e, b60a), Local0)
+ m600(arg0, 29, Local0, bb35)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), b60e, b60a), Local0)
+ m600(arg0, 30, Local0, bs1f)
+
+ Store(Mid(Derefof(Index(paub, 6)), b60e, b60a), Local0)
+ m600(arg0, 31, Local0, bb35)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), b60e, b60a), Local0)
+ m600(arg0, 32, Local0, bs1f)
+
+ Store(Mid(m601(3, 6), b60e, b60a), Local0)
+ m600(arg0, 33, Local0, bb35)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), b60e, b60a), Local0)
+ m600(arg0, 34, Local0, bs1f)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), b60e, b60a), Local0)
+ m600(arg0, 35, Local0, bb35)
+ }
+
+ Mid("This is auxiliary String", b60e, b60a, Local0)
+ m600(arg0, 36, Local0, bs1f)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, b60e, b60a, Local0)
+ m600(arg0, 37, Local0, bb35)
+
+ Mid(aus6, b60e, b60a, Local0)
+ m600(arg0, 38, Local0, bs1f)
+
+ Mid(aub6, b60e, b60a, Local0)
+ m600(arg0, 39, Local0, bb35)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), b60e, b60a, Local0)
+ m600(arg0, 40, Local0, bs1f)
+
+ Mid(Derefof(Refof(aub6)), b60e, b60a, Local0)
+ m600(arg0, 41, Local0, bb35)
+ }
+
+ Mid(Derefof(Index(paus, 6)), b60e, b60a, Local0)
+ m600(arg0, 42, Local0, bs1f)
+
+ Mid(Derefof(Index(paub, 6)), b60e, b60a, Local0)
+ m600(arg0, 43, Local0, bb35)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), b60e, b60a, Local0)
+ m600(arg0, 44, Local0, bs1f)
+
+ Mid(m601(3, 6), b60e, b60a, Local0)
+ m600(arg0, 45, Local0, bb35)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), b60e, b60a, Local0)
+ m600(arg0, 46, Local0, bs1f)
+
+ Mid(Derefof(m602(3, 6, 1)), b60e, b60a, Local0)
+ m600(arg0, 47, Local0, bb35)
+ }
+ }
+
+ // Buffer to Integer conversion of the Buffer StartIndex
+ // operand of the Match operator
+ Method(m06a, 1)
+ {
+ Store(Match(
+ Package(){
+ 0xa50, 0xa51, 0xa52, 0xa53, 0xa54, 0xa55, 0xa56, 0xa57,
+ 0xa58, 0xa59, 0xa5a, 0xa5b, 0xa5c, 0xa5d, 0xa5e,},
+ MEQ, 0xa5d, MTR, 0, b60e), Local0)
+ m600(arg0, 0, Local0, 0xd)
+
+ Store(Match(
+ Package(){
+ 0xa50, 0xa51, 0xa52, 0xa53, 0xa54, 0xa55, 0xa56, 0xa57,
+ 0xa58, 0xa59, 0xa5a, 0xa5b, 0xa5c, 0xa5d, 0xa5e,},
+ MEQ, 0xa5a, MTR, 0, b60e), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(Match(aup0, MEQ, 0xa5d, MTR, 0, b60e), Local0)
+ m600(arg0, 2, Local0, 0xd)
+
+ Store(Match(aup0, MEQ, 0xa5a, MTR, 0, b60e), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(Match(Derefof(Refof(aup0)), MEQ, 0xa5d, MTR, 0, b60e), Local0)
+ m600(arg0, 4, Local0, 0xd)
+
+ Store(Match(Derefof(Refof(aup0)), MEQ, 0xa5a, MTR, 0, b60e), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(Match(Derefof(Index(paup, 0)), MEQ, 0xa5d, MTR, 0, b60e), Local0)
+ m600(arg0, 6, Local0, 0xd)
+
+ Store(Match(Derefof(Index(paup, 0)), MEQ, 0xa5a, MTR, 0, b60e), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Object
+
+ Store(Match(m601(4, 0), MEQ, 0xa5d, MTR, 0, b60e), Local0)
+ m600(arg0, 8, Local0, 0xd)
+
+ Store(Match(m601(4, 0), MEQ, 0xa5a, MTR, 0, b60e), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Match(Derefof(m602(4, 0, 1)), MEQ, 0xa5d, MTR, 0, b60e), Local0)
+ m600(arg0, 10, Local0, 0xd)
+
+ Store(Match(Derefof(m602(4, 0, 1)), MEQ, 0xa5a, MTR, 0, b60e), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+ }
+
+// Method(m64t, 1)
+
+// Method(m32t, 1)
+
+ // Buffer to Integer conversion of the Buffer sole operand
+ // of the Method execution control operators (Sleep, Stall)
+ Method(m06b, 1)
+ {
+ CH03(arg0, z086, 11, 0, 0)
+
+ // Sleep
+
+ Store(Timer, Local0)
+
+ Sleep(b606)
+ CH03(arg0, z086, 12, 0, 0)
+
+ Store(Timer, Local1)
+ Subtract(Local1, Local0, Local2)
+ if (LLess(Local2, c08c)) {
+ err(arg0, z086, 0, 0, 0, Local2, c08c)
+ }
+
+ // Stall
+
+ Store(Timer, Local0)
+
+ Stall(b613)
+ CH03(arg0, z086, 13, 0, 0)
+
+ Store(Timer, Local1)
+ Subtract(Local1, Local0, Local2)
+ if (LLess(Local2, 990)) {
+ err(arg0, z086, 1, 0, 0, Local2, 990)
+ }
+ }
+
+ // Buffer to Integer conversion of the Buffer TimeoutValue
+ // (second) operand of the Acquire operator
+
+ Method(m06c, 1)
+ {
+ Mutex(MTX0, 0)
+
+ Acquire(MTX0, 0)
+ CH03(arg0, z086, 14, 0, 0)
+
+ Store(Timer, Local0)
+
+/* Compiler allows only Integer constant as TimeoutValue (Bug 1)
+ Acquire(MTX0, b606)
+*/
+ CH03(arg0, z086, 15, 0, 0)
+
+ Store(Timer, Local1)
+ Subtract(Local1, Local0, Local2)
+ if (LLess(Local2, c08c)) {
+ err(arg0, z086, 0, 0, 0, Local2, c08c)
+ }
+ }
+
+ // Buffer to Integer conversion of the Buffer TimeoutValue
+ // (second) operand of the Wait operator
+ Method(m06d, 1)
+ {
+ Event(EVT0)
+
+ CH03(arg0, z086, 16, 0, 0)
+
+ Store(Timer, Local0)
+
+ Wait(EVT0, b606)
+ CH03(arg0, z086, 17, 0, 0)
+
+ Store(Timer, Local1)
+ Subtract(Local1, Local0, Local2)
+ if (LLess(Local2, c08c)) {
+ err(arg0, z086, 0, 0, 0, Local2, c08c)
+ }
+ }
+
+ // Buffer to Integer conversion of the Buffer value
+ // of Predicate of the Method execution control statements
+ // (If, ElseIf, While)
+ Method(m06e, 1)
+ {
+ Name(ist0, 0)
+
+ Method(m001)
+ {
+ if (b600) {
+ Store(0, ist0)
+ }
+ }
+
+ Method(m002)
+ {
+ if (b606) {
+ Store(2, ist0)
+ }
+ }
+
+ Method(m003)
+ {
+ if (b60a) {
+ Store(3, ist0)
+ }
+ }
+
+ Method(m004)
+ {
+ if (b60a) {
+ Store(4, ist0)
+ }
+ }
+
+ Method(m005, 1)
+ {
+ if (arg0) {
+ Store(0xff, ist0)
+ } elseif (b600) {
+ Store(0, ist0)
+ }
+ }
+
+ Method(m006, 1)
+ {
+ if (arg0) {
+ Store(0xff, ist0)
+ } elseif (b606) {
+ Store(6, ist0)
+ }
+ }
+
+ Method(m007, 1)
+ {
+ if (arg0) {
+ Store(0xff, ist0)
+ } elseif (b60a) {
+ Store(7, ist0)
+ }
+ }
+
+ Method(m008, 1)
+ {
+ if (arg0) {
+ Store(0xff, ist0)
+ } elseif (b60a) {
+ Store(8, ist0)
+ }
+ }
+
+ Method(m009)
+ {
+ while (b600) {
+ Store(0, ist0)
+ }
+ }
+
+ // If
+
+ Store(1, ist0)
+ m001()
+ m600(arg0, 0, ist0, 1)
+
+ m002()
+ m600(arg0, 1, ist0, 2)
+
+ m003()
+ m600(arg0, 2, ist0, 3)
+
+ m004()
+ m600(arg0, 3, ist0, 4)
+
+ // ElseIf
+
+ Store(5, ist0)
+ m005(0)
+ m600(arg0, 4, ist0, 5)
+
+ m006(0)
+ m600(arg0, 5, ist0, 6)
+
+ m007(0)
+ m600(arg0, 6, ist0, 7)
+
+ m008(0)
+ m600(arg0, 7, ist0, 8)
+
+ // While
+
+ Store(9, ist0)
+ m009()
+ m600(arg0, 8, ist0, 9)
+ }
+
+// Method(m64u, 1)
+
+// Method(m32u, 1)
+
+ // Buffer to String implicit conversion Cases.
+
+ // Buffer to String conversion of the Buffer second operand of
+ // Logical operators when the first operand is evaluated as String.
+ // LEqual LGreater LGreaterEqual LLess LLessEqual LNotEqual
+ Method(m06f, 1)
+ {
+ // LEqual
+
+ Store(LEqual("21 03 00", b606), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual("21 03 01", b606), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(aus9, b606), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(LEqual(ausa, b606), Local0)
+ m600(arg0, 3, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aus9)), b606), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(ausa)), b606), Local0)
+ m600(arg0, 5, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paus, 9)), b606), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paus, 10)), b606), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ // Method returns String
+
+ Store(LEqual(m601(2, 9), b606), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(LEqual(m601(2, 10), b606), Local0)
+ m600(arg0, 9, Local0, Zero)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(2, 9, 1)), b606), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(2, 10, 1)), b606), Local0)
+ m600(arg0, 11, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater("21 03 00", b606), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LGreater("21 03 01", b606), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LGreater("21 03 0 ", b606), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LGreater("21 03 00q", b606), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LGreater(aus9, b606), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LGreater(ausa, b606), Local0)
+ m600(arg0, 17, Local0, Ones)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aus9)), b606), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(ausa)), b606), Local0)
+ m600(arg0, 19, Local0, Ones)
+ }
+
+ Store(LGreater(Derefof(Index(paus, 9)), b606), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paus, 10)), b606), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns String
+
+ Store(LGreater(m601(2, 9), b606), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LGreater(m601(2, 10), b606), Local0)
+ m600(arg0, 23, Local0, Ones)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(2, 9, 1)), b606), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(2, 10, 1)), b606), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual("21 03 00", b606), Local0)
+ m600(arg0, 26, Local0, Ones)
+
+ Store(LGreaterEqual("21 03 01", b606), Local0)
+ m600(arg0, 27, Local0, Ones)
+
+ Store(LGreaterEqual("21 03 0 ", b606), Local0)
+ m600(arg0, 28, Local0, Zero)
+
+ Store(LGreaterEqual("21 03 00q", b606), Local0)
+ m600(arg0, 29, Local0, Ones)
+
+ Store(LGreaterEqual(aus9, b606), Local0)
+ m600(arg0, 30, Local0, Ones)
+
+ Store(LGreaterEqual(ausa, b606), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aus9)), b606), Local0)
+ m600(arg0, 32, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(ausa)), b606), Local0)
+ m600(arg0, 33, Local0, Ones)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paus, 9)), b606), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paus, 10)), b606), Local0)
+ m600(arg0, 35, Local0, Ones)
+
+ // Method returns String
+
+ Store(LGreaterEqual(m601(2, 9),
+ b606), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(m601(2, 10), b606), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(2, 9, 1)), b606), Local0)
+ m600(arg0, 38, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(2, 10, 1)), b606), Local0)
+ m600(arg0, 39, Local0, Ones)
+ }
+
+ // LLess
+
+ Store(LLess("21 03 00", b606), Local0)
+ m600(arg0, 40, Local0, Zero)
+
+ Store(LLess("21 03 01", b606), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ Store(LLess("21 03 0 ", b606), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LLess("21 03 00q", b606), Local0)
+ m600(arg0, 43, Local0, Zero)
+
+ Store(LLess(aus9, b606), Local0)
+ m600(arg0, 44, Local0, Zero)
+
+ Store(LLess(ausa, b606), Local0)
+ m600(arg0, 45, Local0, Zero)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aus9)), b606), Local0)
+ m600(arg0, 46, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(ausa)), b606), Local0)
+ m600(arg0, 47, Local0, Zero)
+ }
+
+ Store(LLess(Derefof(Index(paus, 9)), b606), Local0)
+ m600(arg0, 48, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paus, 10)), b606), Local0)
+ m600(arg0, 49, Local0, Zero)
+
+ // Method returns String
+
+ Store(LLess(m601(2, 9), b606), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ Store(LLess(m601(2, 10), b606), Local0)
+ m600(arg0, 51, Local0, Zero)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LLess(Derefof(m602(2, 9, 1)), b606), Local0)
+ m600(arg0, 52, Local0, Zero)
+
+ Store(LLess(Derefof(m602(2, 10, 1)), b606), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual("21 03 00", b606), Local0)
+ m600(arg0, 54, Local0, Ones)
+
+ Store(LLessEqual("21 03 01", b606), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLessEqual("21 03 0 ", b606), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLessEqual("21 03 00q", b606), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLessEqual(aus9, b606), Local0)
+ m600(arg0, 58, Local0, Ones)
+
+ Store(LLessEqual(ausa, b606), Local0)
+ m600(arg0, 59, Local0, Zero)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aus9)), b606), Local0)
+ m600(arg0, 60, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(ausa)), b606), Local0)
+ m600(arg0, 61, Local0, Zero)
+ }
+
+ Store(LLessEqual(Derefof(Index(paus, 9)), b606), Local0)
+ m600(arg0, 62, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paus, 10)), b606), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ // Method returns String
+
+ Store(LLessEqual(m601(2, 9), b606), Local0)
+ m600(arg0, 64, Local0, Ones)
+
+ Store(LLessEqual(m601(2, 10), b606), Local0)
+ m600(arg0, 65, Local0, Zero)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(2, 9, 1)), b606), Local0)
+ m600(arg0, 66, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(2, 10, 1)), b606), Local0)
+ m600(arg0, 67, Local0, Zero)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual("21 03 00", b606), Local0)
+ m600(arg0, 68, Local0, Zero)
+
+ Store(LNotEqual("21 03 01", b606), Local0)
+ m600(arg0, 69, Local0, Ones)
+
+ Store(LNotEqual("21 03 0 ", b606), Local0)
+ m600(arg0, 70, Local0, Ones)
+
+ Store(LNotEqual("21 03 00q", b606), Local0)
+ m600(arg0, 71, Local0, Ones)
+
+ Store(LNotEqual(aus9, b606), Local0)
+ m600(arg0, 72, Local0, Zero)
+
+ Store(LNotEqual(ausa, b606), Local0)
+ m600(arg0, 73, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aus9)), b606), Local0)
+ m600(arg0, 74, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(ausa)), b606), Local0)
+ m600(arg0, 75, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paus, 9)), b606), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paus, 10)), b606), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ // Method returns String
+
+ Store(LNotEqual(m601(2, 9), b606), Local0)
+ m600(arg0, 78, Local0, Zero)
+
+ Store(LNotEqual(m601(2, 10), b606), Local0)
+ m600(arg0, 79, Local0, Ones)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(2, 9, 1)), b606), Local0)
+ m600(arg0, 80, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(2, 10, 1)), b606), Local0)
+ m600(arg0, 81, Local0, Ones)
+ }
+
+ // Boundary Cases
+
+ Store(LEqual("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63",
+ b60c),
+ Local0)
+ m600(arg0, 82, Local0, Ones)
+
+ Store(LEqual("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 64",
+ b60c),
+ Local0)
+ m600(arg0, 83, Local0, Zero)
+
+ Store(LGreater("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63",
+ b60c),
+ Local0)
+ m600(arg0, 84, Local0, Zero)
+
+ Store(LGreater("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 64",
+ b60c),
+ Local0)
+ m600(arg0, 85, Local0, Ones)
+
+ Store(LGreaterEqual("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63",
+ b60c),
+ Local0)
+ m600(arg0, 86, Local0, Ones)
+
+ Store(LGreaterEqual("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 64",
+ b60c),
+ Local0)
+ m600(arg0, 87, Local0, Ones)
+
+ Store(LLess("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63",
+ b60c),
+ Local0)
+ m600(arg0, 88, Local0, Zero)
+
+ Store(LLess("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 64",
+ b60c),
+ Local0)
+ m600(arg0, 89, Local0, Zero)
+
+ Store(LLessEqual("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63",
+ b60c),
+ Local0)
+ m600(arg0, 90, Local0, Ones)
+
+ Store(LLessEqual("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 64",
+ b60c),
+ Local0)
+ m600(arg0, 91, Local0, Zero)
+
+
+ Store(LNotEqual("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63",
+ b60c),
+ Local0)
+ m600(arg0, 92, Local0, Zero)
+
+ Store(LNotEqual("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 64",
+ b60c),
+ Local0)
+ m600(arg0, 93, Local0, Ones)
+ }
+
+ // Buffer to String conversion of the Buffer second operand of
+ // Concatenate operator when the first operand is evaluated as String
+ Method(m070, 1)
+ {
+ Store(Concatenate("", b606), Local0)
+ m600(arg0, 0, Local0, bs25)
+
+ Store(Concatenate("1234q", b606), Local0)
+ m600(arg0, 1, Local0, bs26)
+
+ Store(Concatenate(aus0, b606), Local0)
+ m600(arg0, 2, Local0, bs25)
+
+ Store(Concatenate(aus1, b606), Local0)
+ m600(arg0, 3, Local0, bs26)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aus0)), b606), Local0)
+ m600(arg0, 4, Local0, bs25)
+
+ Store(Concatenate(Derefof(Refof(aus1)), b606), Local0)
+ m600(arg0, 5, Local0, bs26)
+ }
+
+ Store(Concatenate(Derefof(Index(paus, 0)), b606), Local0)
+ m600(arg0, 6, Local0, bs25)
+
+ Store(Concatenate(Derefof(Index(paus, 1)), b606), Local0)
+ m600(arg0, 7, Local0, bs26)
+
+ // Method returns String
+
+ Store(Concatenate(m601(2, 0), b606), Local0)
+ m600(arg0, 8, Local0, bs25)
+
+ Store(Concatenate(m601(2, 1), b606), Local0)
+ m600(arg0, 9, Local0, bs26)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(2, 0, 1)), b606), Local0)
+ m600(arg0, 10, Local0, bs25)
+
+ Store(Concatenate(Derefof(m602(2, 1, 1)), b606), Local0)
+ m600(arg0, 11, Local0, bs26)
+ }
+
+ Concatenate("", b606, Local0)
+ m600(arg0, 12, Local0, bs25)
+
+ Concatenate("1234q", b606, Local0)
+ m600(arg0, 13, Local0, bs26)
+
+ Concatenate(aus0, b606, Local0)
+ m600(arg0, 14, Local0, bs25)
+
+ Concatenate(aus1, b606, Local0)
+ m600(arg0, 15, Local0, bs26)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aus0)), b606, Local0)
+ m600(arg0, 16, Local0, bs25)
+
+ Concatenate(Derefof(Refof(aus1)), b606, Local0)
+ m600(arg0, 17, Local0, bs26)
+ }
+
+ Concatenate(Derefof(Index(paus, 0)), b606, Local0)
+ m600(arg0, 18, Local0, bs25)
+
+ Concatenate(Derefof(Index(paus, 1)), b606, Local0)
+ m600(arg0, 19, Local0, bs26)
+
+ // Method returns String
+
+ Concatenate(m601(2, 0), b606, Local0)
+ m600(arg0, 20, Local0, bs25)
+
+ Concatenate(m601(2, 1), b606, Local0)
+ m600(arg0, 21, Local0, bs26)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Concatenate(Derefof(m602(2, 0, 1)), b606, Local0)
+ m600(arg0, 22, Local0, bs25)
+
+ Concatenate(Derefof(m602(2, 1, 1)), b606, Local0)
+ m600(arg0, 23, Local0, bs26)
+ }
+
+ // Boundary Cases
+
+ Store(Concatenate("",
+ b60c),
+ Local0)
+ m600(arg0, 24, Local0, bs27)
+ }
+
+// Method(m071, 1)
+
+// Method(m072, 1)
+
+ /*
+ * Begin of the test body
+ */
+
+ // Integer to String implicit conversion Cases.
+
+ // Integer to String conversion of the Integer second operand of
+ // Logical operators when the first operand is evaluated as String.
+ // LEqual LGreater LGreaterEqual LLess LLessEqual LNotEqual
+ if (F64) {
+ Concatenate(ts, "-m640", Local0)
+ SRMT(Local0)
+ m640(Local0)
+ } else {
+ Concatenate(ts, "-m320", Local0)
+ SRMT(Local0)
+ m320(Local0)
+ }
+
+ // Integer to String conversion of the Integer second operand of
+ // Concatenate operator when the first operand is evaluated as String
+ if (F64) {
+ Concatenate(ts, "-m641", Local0)
+ SRMT(Local0)
+ m641(Local0)
+ } else {
+ Concatenate(ts, "-m321", Local0)
+ SRMT(Local0)
+ m321(Local0)
+ }
+
+ // Integer to Buffer implicit conversion Cases.
+
+ // Integer to Buffer conversion of the Integer second operand of
+ // Logical operators when the first operand is evaluated as Buffer
+ // (LEqual, LGreater, LGreaterEqual, LLess, LLessEqual, LNotEqual)
+ if (F64) {
+ Concatenate(ts, "-m644", Local0)
+ SRMT(Local0)
+ m644(Local0)
+ } else {
+ Concatenate(ts, "-m324", Local0)
+ SRMT(Local0)
+ m324(Local0)
+ }
+
+ // Integer to Buffer conversion of the both Integer operands of
+ // Concatenate operator
+ if (F64) {
+ Concatenate(ts, "-m645", Local0)
+ SRMT(Local0)
+ m645(Local0)
+ } else {
+ Concatenate(ts, "-m325", Local0)
+ SRMT(Local0)
+ m325(Local0)
+ }
+
+ // Integer to Buffer conversion of the Integer second operand of
+ // Concatenate operator when the first operand is evaluated as Buffer
+ if (F64) {
+ Concatenate(ts, "-m646", Local0)
+ SRMT(Local0)
+ m646(Local0)
+ } else {
+ Concatenate(ts, "-m326", Local0)
+ SRMT(Local0)
+ m326(Local0)
+ }
+
+ // Integer to Buffer conversion of the Integer Source operand of
+ // ToString operator
+ if (F64) {
+ Concatenate(ts, "-m647", Local0)
+ SRMT(Local0)
+ m647(Local0)
+ } else {
+ Concatenate(ts, "-m327", Local0)
+ SRMT(Local0)
+ m327(Local0)
+ }
+
+ // Integer to Buffer conversion of the Integer Source operand of
+ // Mid operator
+ if (F64) {
+ Concatenate(ts, "-m648", Local0)
+ SRMT(Local0)
+ m648(Local0)
+ } else {
+ Concatenate(ts, "-m328", Local0)
+ SRMT(Local0)
+ m328(Local0)
+ }
+
+
+ // String to Integer implicit conversion Cases.
+
+ // String to Integer conversion of the String sole operand
+ // of the 1-parameter Integer arithmetic operators
+ // (Decrement, Increment, FindSetLeftBit, FindSetRightBit, Not)
+ if (F64) {
+ Concatenate(ts, "-m64b", Local0)
+ SRMT(Local0)
+ m64b(Local0)
+ } else {
+ Concatenate(ts, "-m32b", Local0)
+ SRMT(Local0)
+ m32b(Local0)
+ }
+
+ // String to Integer conversion of the String sole operand
+ // of the LNot Logical Integer operator
+ Concatenate(ts, "-m000", Local0)
+ SRMT(Local0)
+ m000(Local0)
+
+ // String to Integer conversion of the String sole operand
+ // of the FromBCD and ToBCD conversion operators
+ if (F64) {
+ Concatenate(ts, "-m64c", Local0)
+ SRMT(Local0)
+ m64c(Local0)
+ } else {
+ Concatenate(ts, "-m32c", Local0)
+ SRMT(Local0)
+ m32c(Local0)
+ }
+
+ // String to Integer conversion of each String operand
+ // of the 2-parameter Integer arithmetic operators
+ // Add, And, Divide, Mod, Multiply, NAnd, NOr, Or,
+ // ShiftLeft, ShiftRight, Subtract, Xor
+ if (F64) {
+ m64d(Concatenate(ts, "-m64d"))
+ } else {
+ m32d(Concatenate(ts, "-m32d"))
+ }
+
+ // String to Integer conversion of each String operand
+ // of the 2-parameter Logical Integer operators LAnd and LOr
+ if (F64) {
+ m64e(Concatenate(ts, "-m64e"))
+ } else {
+ m32e(Concatenate(ts, "-m32e"))
+ }
+
+ // String to Integer conversion of the String second operand of
+ // Logical operators when the first operand is evaluated as Integer
+ // (LEqual, LGreater, LGreaterEqual, LLess, LLessEqual, LNotEqual)
+
+ Concatenate(ts, "-m02b", Local0)
+ SRMT(Local0)
+ m02b(Local0)
+
+ if (F64) {
+ Concatenate(ts, "-m64f", Local0)
+ SRMT(Local0)
+ m64f(Local0)
+ } else {
+ Concatenate(ts, "-m32f", Local0)
+ SRMT(Local0)
+ m32f(Local0)
+ }
+
+ // String to Integer intermediate conversion of the String second
+ // operand of Concatenate operator in case the first one is Integer
+ if (F64) {
+ Concatenate(ts, "-m64g", Local0)
+ SRMT(Local0)
+ m64g(Local0)
+ } else {
+ Concatenate(ts, "-m32g", Local0)
+ SRMT(Local0)
+ m32g(Local0)
+ }
+
+ // String to Integer conversion of the String Length (second)
+ // operand of the ToString operator
+
+ Concatenate(ts, "-m02c", Local0)
+ SRMT(Local0)
+ m02c(Local0)
+
+ if (F64) {
+ Concatenate(ts, "-m64h", Local0)
+ SRMT(Local0)
+ m64h(Local0)
+ } else {
+ Concatenate(ts, "-m32h", Local0)
+ SRMT(Local0)
+ m32h(Local0)
+ }
+
+ // String to Integer conversion of the String Index (second)
+ // operand of the Index operator
+ Concatenate(ts, "-m02d", Local0)
+ SRMT(Local0)
+ m02d(Local0)
+
+ // String to Integer conversion of the String Arg (third)
+ // operand of the Fatal operator
+ // (it can only be checked an exception does not occur)
+ Concatenate(ts, "-m02e", Local0)
+ SRMT(Local0)
+ m02e(Local0)
+
+ // String to Integer conversion of the String Index and Length
+ // operands of the Mid operator
+
+ Concatenate(ts, "-m02f", Local0)
+ SRMT(Local0)
+ m02f(Local0)
+
+ if (F64) {
+ Concatenate(ts, "-m64i", Local0)
+ SRMT(Local0)
+ m64i(Local0)
+ } else {
+ Concatenate(ts, "-m32i", Local0)
+ SRMT(Local0)
+ m32i(Local0)
+ }
+
+ // String to Integer conversion of the String StartIndex
+ // operand of the Match operator
+ Concatenate(ts, "-m030", Local0)
+ SRMT(Local0)
+ m030(Local0)
+
+ // String to Integer conversion of the String sole operand
+ // of the Method execution control operators (Sleep, Stall)
+ Concatenate(ts, "-m031", Local0)
+ SRMT(Local0)
+ m031(Local0)
+
+ // String to Integer conversion of the String TimeoutValue
+ // (second) operand of the Acquire operator
+/* Compiler allows only Integer constant as TimeoutValue (Bug 1)
+ Concatenate(ts, "-m032", Local0)
+ SRMT(Local0)
+ m032(Local0)
+*/
+
+ // String to Integer conversion of the String TimeoutValue
+ // (second) operand of the Wait operator
+ Concatenate(ts, "-m033", Local0)
+ SRMT(Local0)
+ m033(Local0)
+
+ // String to Integer conversion of the String value
+ // of Predicate of the Method execution control statements
+ // (If, ElseIf, While)
+ Concatenate(ts, "-m034", Local0)
+ SRMT(Local0)
+ if (y111) {
+ m034(Local0)
+ } else {
+ BLCK()
+ }
+
+ // String to Integer conversion of the String value
+ // of Expression of Case statement when Expression in
+ // Switch is evaluated as Integer
+ //
+ // Note: Expression of Case can be only static data
+
+ // String to Buffer implicit conversion Cases.
+
+ // String to Buffer conversion of the String second operand of
+ // Logical operators when the first operand is evaluated as Buffer
+ // (LEqual, LGreater, LGreaterEqual, LLess, LLessEqual, LNotEqual)
+ Concatenate(ts, "-m035", Local0)
+ SRMT(Local0)
+ m035(Local0)
+
+ // String to Buffer conversion of the String second operand of
+ // Concatenate operator when the first operand is evaluated as Buffer
+ Concatenate(ts, "-m036", Local0)
+ SRMT(Local0)
+ m036(Local0)
+
+ // String to Buffer conversion of the String Source operand of
+ // ToString operator (has a visual effect in shortening of the
+ // String taken the null character)
+ Concatenate(ts, "-m037", Local0)
+ SRMT(Local0)
+ m037(Local0)
+
+
+ // Buffer to Integer implicit conversion Cases.
+
+ // Buffer to Integer conversion of the Buffer sole operand
+ // of the 1-parameter Integer arithmetic operators
+ // (Decrement, Increment, FindSetLeftBit, FindSetRightBit, Not)
+ if (F64) {
+ Concatenate(ts, "-m64l", Local0)
+ SRMT(Local0)
+ m64l(Local0)
+ } else {
+ Concatenate(ts, "-m32l", Local0)
+ SRMT(Local0)
+ m32l(Local0)
+ }
+
+ // Buffer to Integer conversion of the Buffer sole operand
+ // of the LNot Logical Integer operator
+ Concatenate(ts, "-m03a", Local0)
+ SRMT(Local0)
+ m03a(Local0)
+
+ // Buffer to Integer conversion of the Buffer sole operand
+ // of the FromBCD and ToBCD conversion operators
+ if (F64) {
+ Concatenate(ts, "-m64m", Local0)
+ SRMT(Local0)
+ m64m(Local0)
+ } else {
+ Concatenate(ts, "-m32m", Local0)
+ SRMT(Local0)
+ m32m(Local0)
+ }
+
+ // Buffer to Integer conversion of each Buffer operand
+ // of the 2-parameter Integer arithmetic operators
+ // Add, And, Divide, Mod, Multiply, NAnd, NOr, Or,
+ // ShiftLeft, ShiftRight, Subtract, Xor
+ if (F64) {
+ m64n(Concatenate(ts, "-m64n"))
+ } else {
+ m32n(Concatenate(ts, "-m32n"))
+ }
+
+ // Buffer to Integer conversion of each Buffer operand
+ // of the 2-parameter Logical Integer operators LAnd and LOr
+ if (F64) {
+ m64o(Concatenate(ts, "-m64o"))
+ } else {
+ m32o(Concatenate(ts, "-m32o"))
+ }
+
+ // Buffer to Integer conversion of the Buffer second operand of
+ // Logical operators when the first operand is evaluated as Integer
+ // (LEqual, LGreater, LGreaterEqual, LLess, LLessEqual, LNotEqual)
+
+ Concatenate(ts, "-m065", Local0)
+ SRMT(Local0)
+ m065(Local0)
+
+ if (F64) {
+ Concatenate(ts, "-m64p", Local0)
+ SRMT(Local0)
+ m64p(Local0)
+ } else {
+ Concatenate(ts, "-m32p", Local0)
+ SRMT(Local0)
+ m32p(Local0)
+ }
+
+ // Buffer to Integer intermediate conversion of the Buffer second
+ // operand of Concatenate operator in case the first one is Integer
+ if (F64) {
+ Concatenate(ts, "-m64q", Local0)
+ SRMT(Local0)
+ m64q(Local0)
+ } else {
+ Concatenate(ts, "-m32q", Local0)
+ SRMT(Local0)
+ m32q(Local0)
+ }
+
+ // Buffer to Integer conversion of the Buffer Length (second)
+ // operand of the ToString operator
+
+ Concatenate(ts, "-m066", Local0)
+ SRMT(Local0)
+ m066(Local0)
+
+ if (F64) {
+ Concatenate(ts, "-m64r", Local0)
+ SRMT(Local0)
+ m64r(Local0)
+ } else {
+ Concatenate(ts, "-m32r", Local0)
+ SRMT(Local0)
+ m32r(Local0)
+ }
+
+ // Buffer to Integer conversion of the Buffer Index (second)
+ // operand of the Index operator
+ Concatenate(ts, "-m067", Local0)
+ SRMT(Local0)
+ m067(Local0)
+
+ // Buffer to Integer conversion of the String Arg (third)
+ // operand of the Fatal operator
+ // (it can only be checked an exception does not occur)
+ Concatenate(ts, "-m068", Local0)
+ SRMT(Local0)
+ m068(Local0)
+
+ // Buffer to Integer conversion of the Buffer Index and Length
+ // operands of the Mid operator
+
+ Concatenate(ts, "-m069", Local0)
+ SRMT(Local0)
+ m069(Local0)
+
+ if (F64) {
+ Concatenate(ts, "-m64s", Local0)
+ SRMT(Local0)
+ m64s(Local0)
+ } else {
+ Concatenate(ts, "-m32s", Local0)
+ SRMT(Local0)
+ m32s(Local0)
+ }
+
+ // Buffer to Integer conversion of the Buffer StartIndex
+ // operand of the Match operator
+ Concatenate(ts, "-m06a", Local0)
+ SRMT(Local0)
+ m06a(Local0)
+
+ // Buffer to Integer conversion of the Buffer sole operand
+ // of the Method execution control operators (Sleep, Stall)
+ Concatenate(ts, "-m06b", Local0)
+ SRMT(Local0)
+ m06b(Local0)
+
+ // Buffer to Integer conversion of the Buffer TimeoutValue
+ // (second) operand of the Acquire operator
+/* Compiler allows only Integer constant as TimeoutValue (Bug 1)
+ Concatenate(ts, "-m06c", Local0)
+ SRMT(Local0)
+ m06c(Local0)
+*/
+
+ // Buffer to Integer conversion of the Buffer TimeoutValue
+ // (second) operand of the Wait operator
+ Concatenate(ts, "-m06d", Local0)
+ SRMT(Local0)
+ m06d(Local0)
+
+ // Buffer to Integer conversion of the Buffer value
+ // of Predicate of the Method execution control statements
+ // (If, ElseIf, While)
+ Concatenate(ts, "-m06e", Local0)
+ SRMT(Local0)
+ if (y111) {
+ m06e(Local0)
+ } else {
+ BLCK()
+ }
+
+ // Buffer to Integer conversion of the Buffer value
+ // of Expression of Case statement when Expression in
+ // Switch is evaluated as Integer
+ //
+ // Note: Expression of Case can be only static data
+
+ // Buffer to String implicit conversion Cases.
+
+ // Buffer to String conversion of the Buffer second operand of
+ // Logical operators when the first operand is evaluated as String.
+ // LEqual LGreater LGreaterEqual LLess LLessEqual LNotEqual
+ Concatenate(ts, "-m06f", Local0)
+ SRMT(Local0)
+ m06f(Local0)
+
+ // Buffer to String conversion of the Buffer second operand of
+ // Concatenate operator when the first operand is evaluated as String
+ Concatenate(ts, "-m070", Local0)
+ SRMT(Local0)
+ m070(Local0)
+
+ // Check consistency of the test Named Objects
+ // in the root Scope of the Global ACPI namespace
+ Concatenate(ts, "-m606", Local0)
+ SRMT(Local0)
+ m606(Local0)
+}
diff --git a/tests/aslts/src/runtime/collections/complex/operand/tests/onamedglob/onamedglob2.asl b/tests/aslts/src/runtime/collections/complex/operand/tests/onamedglob/onamedglob2.asl
new file mode 100644
index 000000000..c1118aaa3
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/operand/tests/onamedglob/onamedglob2.asl
@@ -0,0 +1,12432 @@
+/*
+ * 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.
+ */
+
+/*
+ * Check implicit conversion being applied to Buffer Field Objects
+ * in the root Scope of the Global ACPI namespace.
+ *
+ * Buffer field to Buffer implicit conversion Cases.
+ * First, Buffer field is evaluated either as Integer or as Buffer.
+ * Conversion only takes place for Integer in which case
+ * Integer to Buffer test constructions should be used.
+ *
+ * Buffer field to Integer implicit conversion Cases.
+ * First, Buffer field is evaluated either as Integer or as Buffer.
+ * Conversion only takes place for Buffer in which case
+ * Buffer to Integer test constructions should be used.
+ *
+ * Buffer field to String implicit conversion Cases.
+ * First, Buffer field is evaluated either as Integer or as Buffer
+ * For Integer case Integer to String test constructions should be used.
+ * For Buffer case Buffer to String test constructions should be used.
+ *
+ * Field unit implicit conversion is considered similar to
+ * Buffer field one.
+ */
+
+Name(z087, 87)
+
+Method(m612)
+{
+ Name(ts, "m612")
+
+ // Buffer Field to Buffer implicit conversion Cases.
+
+ // Buffer Field to Buffer conversion of the Buffer Field second operand
+ // of Logical operators when the first operand is evaluated as Buffer
+ // (LEqual, LGreater, LGreaterEqual, LLess, LLessEqual, LNotEqual)
+
+ Method(m644, 1)
+ {
+ // LEqual
+
+ Store(LEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, bf65), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFF}, bf65), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(aub4, bf65), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(LEqual(aub3, bf65), Local0)
+ m600(arg0, 3, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aub4)), bf65), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(aub3)), bf65), Local0)
+ m600(arg0, 5, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paub, 4)), bf65), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paub, 3)), bf65), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ // Method returns Buffer
+
+ Store(LEqual(m601(3, 4), bf65), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(LEqual(m601(3, 3), bf65), Local0)
+ m600(arg0, 9, Local0, Zero)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(3, 4, 1)), bf65), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(3, 3, 1)), bf65), Local0)
+ m600(arg0, 11, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, bf65), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LGreater(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFF}, bf65), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LGreater(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFD}, bf65), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LGreater(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0x01}, bf65), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LGreater(aub4, bf65), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LGreater(aub5, bf65), Local0)
+ m600(arg0, 17, Local0, Ones)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aub4)), bf65), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(aub5)), bf65), Local0)
+ m600(arg0, 19, Local0, Ones)
+ }
+
+ Store(LGreater(Derefof(Index(paub, 4)), bf65), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paub, 5)), bf65), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Buffer
+
+ Store(LGreater(m601(3, 4), bf65), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LGreater(m601(3, 5), bf65), Local0)
+ m600(arg0, 23, Local0, Ones)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(3, 4, 1)), bf65), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(3, 5, 1)), bf65), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, bf65), Local0)
+ m600(arg0, 26, Local0, Ones)
+
+ Store(LGreaterEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFF}, bf65), Local0)
+ m600(arg0, 27, Local0, Ones)
+
+ Store(LGreaterEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFD}, bf65), Local0)
+ m600(arg0, 28, Local0, Zero)
+
+ Store(LGreaterEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0x01}, bf65), Local0)
+ m600(arg0, 29, Local0, Ones)
+
+ Store(LGreaterEqual(aub4, bf65), Local0)
+ m600(arg0, 30, Local0, Ones)
+
+ Store(LGreaterEqual(aub5, bf65), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aub4)), bf65), Local0)
+ m600(arg0, 32, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(aub5)), bf65), Local0)
+ m600(arg0, 33, Local0, Ones)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paub, 4)), bf65), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paub, 5)), bf65), Local0)
+ m600(arg0, 35, Local0, Ones)
+
+ // Method returns Buffer
+
+ Store(LGreaterEqual(m601(3, 4), bf65), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(m601(3, 5), bf65), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(3, 4, 1)), bf65), Local0)
+ m600(arg0, 38, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(3, 5, 1)), bf65), Local0)
+ m600(arg0, 39, Local0, Ones)
+ }
+
+ // LLess
+
+ Store(LLess(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, bf65), Local0)
+ m600(arg0, 40, Local0, Zero)
+
+ Store(LLess(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFF}, bf65), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ Store(LLess(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFD}, bf65), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LLess(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0x01}, bf65), Local0)
+ m600(arg0, 43, Local0, Zero)
+
+ Store(LLess(aub4, bf65), Local0)
+ m600(arg0, 44, Local0, Zero)
+
+ Store(LLess(aub5, bf65), Local0)
+ m600(arg0, 45, Local0, Zero)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aub4)), bf65), Local0)
+ m600(arg0, 46, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(aub5)), bf65), Local0)
+ m600(arg0, 47, Local0, Zero)
+ }
+
+ Store(LLess(Derefof(Index(paub, 4)), bf65), Local0)
+ m600(arg0, 48, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paub, 5)), bf65), Local0)
+ m600(arg0, 49, Local0, Zero)
+
+ // Method returns Buffer
+
+ Store(LLess(m601(3, 4), bf65), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ Store(LLess(m601(3, 5), bf65), Local0)
+ m600(arg0, 51, Local0, Zero)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LLess(Derefof(m602(3, 4, 1)), bf65), Local0)
+ m600(arg0, 52, Local0, Zero)
+
+ Store(LLess(Derefof(m602(3, 5, 1)), bf65), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, bf65), Local0)
+ m600(arg0, 54, Local0, Ones)
+
+ Store(LLessEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFF}, bf65), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLessEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFD}, bf65), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLessEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0x01}, bf65), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLessEqual(aub4, bf65), Local0)
+ m600(arg0, 58, Local0, Ones)
+
+ Store(LLessEqual(aub5, bf65), Local0)
+ m600(arg0, 59, Local0, Zero)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aub4)), bf65), Local0)
+ m600(arg0, 60, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(aub5)), bf65), Local0)
+ m600(arg0, 61, Local0, Zero)
+ }
+
+ Store(LLessEqual(Derefof(Index(paub, 4)), bf65), Local0)
+ m600(arg0, 62, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paub, 5)), bf65), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ // Method returns Buffer
+
+ Store(LLessEqual(m601(3, 4), bf65), Local0)
+ m600(arg0, 64, Local0, Ones)
+
+ Store(LLessEqual(m601(3, 5), bf65), Local0)
+ m600(arg0, 65, Local0, Zero)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(3, 4, 1)), bf65), Local0)
+ m600(arg0, 66, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(3, 5, 1)), bf65), Local0)
+ m600(arg0, 67, Local0, Zero)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, bf65), Local0)
+ m600(arg0, 68, Local0, Zero)
+
+ Store(LNotEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFF}, bf65), Local0)
+ m600(arg0, 69, Local0, Ones)
+
+ Store(LNotEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFD}, bf65), Local0)
+ m600(arg0, 70, Local0, Ones)
+
+ Store(LNotEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0x01}, bf65), Local0)
+ m600(arg0, 71, Local0, Ones)
+
+ Store(LNotEqual(aub4, bf65), Local0)
+ m600(arg0, 72, Local0, Zero)
+
+ Store(LNotEqual(aub5, bf65), Local0)
+ m600(arg0, 73, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aub4)), bf65), Local0)
+ m600(arg0, 74, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(aub5)), bf65), Local0)
+ m600(arg0, 75, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paub, 4)), bf65), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paub, 5)), bf65), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ // Method returns Buffer
+
+ Store(LNotEqual(m601(3, 4), bf65), Local0)
+ m600(arg0, 78, Local0, Zero)
+
+ Store(LNotEqual(m601(3, 5), bf65), Local0)
+ m600(arg0, 79, Local0, Ones)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(3, 4, 1)), bf65), Local0)
+ m600(arg0, 80, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(3, 5, 1)), bf65), Local0)
+ m600(arg0, 81, Local0, Ones)
+ }
+ }
+
+ Method(m324, 1)
+ {
+ // LEqual
+
+ Store(LEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC1}, bf62), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC0}, bf62), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(aub3, bf62), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(LEqual(aub2, bf62), Local0)
+ m600(arg0, 3, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aub3)), bf62), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(aub2)), bf62), Local0)
+ m600(arg0, 5, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paub, 3)), bf62), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paub, 2)), bf62), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ // Method returns Buffer
+
+ Store(LEqual(m601(3, 3), bf62), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(LEqual(m601(3, 2), bf62), Local0)
+ m600(arg0, 9, Local0, Zero)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(3, 3, 1)), bf62), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(3, 2, 1)), bf62), Local0)
+ m600(arg0, 11, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater(Buffer() {0xFE, 0xB3, 0x79, 0xC1}, bf62), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LGreater(Buffer() {0xFE, 0xB3, 0x79, 0xC2}, bf62), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LGreater(Buffer() {0xFE, 0xB3, 0x79, 0xC0}, bf62), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LGreater(Buffer() {0xFE, 0xB3, 0x79, 0xC1, 0x01}, bf62), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LGreater(aub3, bf62), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LGreater(aub2, bf62), Local0)
+ m600(arg0, 17, Local0, Ones)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aub3)), bf62), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(aub2)), bf62), Local0)
+ m600(arg0, 19, Local0, Ones)
+ }
+
+ Store(LGreater(Derefof(Index(paub, 3)), bf62), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paub, 2)), bf62), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Buffer
+
+ Store(LGreater(m601(3, 3), bf62), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LGreater(m601(3, 2), bf62), Local0)
+ m600(arg0, 23, Local0, Ones)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(3, 3, 1)), bf62), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(3, 2, 1)), bf62), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC1}, bf62), Local0)
+ m600(arg0, 26, Local0, Ones)
+
+ Store(LGreaterEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC2}, bf62), Local0)
+ m600(arg0, 27, Local0, Ones)
+
+ Store(LGreaterEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC0}, bf62), Local0)
+ m600(arg0, 28, Local0, Zero)
+
+ Store(LGreaterEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC1, 0x01}, bf62), Local0)
+ m600(arg0, 29, Local0, Ones)
+
+ Store(LGreaterEqual(aub3, bf62), Local0)
+ m600(arg0, 30, Local0, Ones)
+
+ Store(LGreaterEqual(aub2, bf62), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aub3)), bf62), Local0)
+ m600(arg0, 32, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(aub2)), bf62), Local0)
+ m600(arg0, 33, Local0, Ones)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paub, 3)), bf62), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paub, 2)), bf62), Local0)
+ m600(arg0, 35, Local0, Ones)
+
+ // Method returns Buffer
+
+ Store(LGreaterEqual(m601(3, 3), bf62), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(m601(3, 2), bf62), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(3, 3, 1)), bf62), Local0)
+ m600(arg0, 38, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(3, 2, 1)), bf62), Local0)
+ m600(arg0, 39, Local0, Ones)
+ }
+
+ // LLess
+
+ Store(LLess(Buffer() {0xFE, 0xB3, 0x79, 0xC1}, bf62), Local0)
+ m600(arg0, 40, Local0, Zero)
+
+ Store(LLess(Buffer() {0xFE, 0xB3, 0x79, 0xC2}, bf62), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ Store(LLess(Buffer() {0xFE, 0xB3, 0x79, 0xC0}, bf62), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LLess(Buffer() {0xFE, 0xB3, 0x79, 0xC1, 0x01}, bf62), Local0)
+ m600(arg0, 43, Local0, Zero)
+
+ Store(LLess(aub3, bf62), Local0)
+ m600(arg0, 44, Local0, Zero)
+
+ Store(LLess(aub2, bf62), Local0)
+ m600(arg0, 45, Local0, Zero)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aub3)), bf62), Local0)
+ m600(arg0, 46, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(aub2)), bf62), Local0)
+ m600(arg0, 47, Local0, Zero)
+ }
+
+ Store(LLess(Derefof(Index(paub, 3)), bf62), Local0)
+ m600(arg0, 48, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paub, 2)), bf62), Local0)
+ m600(arg0, 49, Local0, Zero)
+
+ // Method returns Buffer
+
+ Store(LLess(m601(3, 3), bf62), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ Store(LLess(m601(3, 2), bf62), Local0)
+ m600(arg0, 51, Local0, Zero)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LLess(Derefof(m602(3, 3, 1)), bf62), Local0)
+ m600(arg0, 52, Local0, Zero)
+
+ Store(LLess(Derefof(m602(3, 2, 1)), bf62), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC1}, bf62), Local0)
+ m600(arg0, 54, Local0, Ones)
+
+ Store(LLessEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC2}, bf62), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLessEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC0}, bf62), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLessEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC1, 0x01}, bf62), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLessEqual(aub3, bf62), Local0)
+ m600(arg0, 58, Local0, Ones)
+
+ Store(LLessEqual(aub2, bf62), Local0)
+ m600(arg0, 59, Local0, Zero)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aub3)), bf62), Local0)
+ m600(arg0, 60, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(aub2)), bf62), Local0)
+ m600(arg0, 61, Local0, Zero)
+ }
+
+ Store(LLessEqual(Derefof(Index(paub, 3)), bf62), Local0)
+ m600(arg0, 62, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paub, 2)), bf62), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ // Method returns Buffer
+
+ Store(LLessEqual(m601(3, 3), bf62), Local0)
+ m600(arg0, 64, Local0, Ones)
+
+ Store(LLessEqual(m601(3, 2), bf62), Local0)
+ m600(arg0, 65, Local0, Zero)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(3, 3, 1)), bf62), Local0)
+ m600(arg0, 66, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(3, 2, 1)), bf62), Local0)
+ m600(arg0, 67, Local0, Zero)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC1}, bf62), Local0)
+ m600(arg0, 68, Local0, Zero)
+
+ Store(LNotEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC2}, bf62), Local0)
+ m600(arg0, 69, Local0, Ones)
+
+ Store(LNotEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC0}, bf62), Local0)
+ m600(arg0, 70, Local0, Ones)
+
+ Store(LNotEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC1, 0x01}, bf62), Local0)
+ m600(arg0, 71, Local0, Ones)
+
+ Store(LNotEqual(aub3, bf62), Local0)
+ m600(arg0, 72, Local0, Zero)
+
+ Store(LNotEqual(aub2, bf62), Local0)
+ m600(arg0, 73, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aub3)), bf62), Local0)
+ m600(arg0, 74, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(aub2)), bf62), Local0)
+ m600(arg0, 75, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paub, 3)), bf62), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paub, 2)), bf62), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ // Method returns Buffer
+
+ Store(LNotEqual(m601(3, 3), bf62), Local0)
+ m600(arg0, 78, Local0, Zero)
+
+ Store(LNotEqual(m601(3, 2), bf62), Local0)
+ m600(arg0, 79, Local0, Ones)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(3, 3, 1)), bf62), Local0)
+ m600(arg0, 80, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(3, 2, 1)), bf62), Local0)
+ m600(arg0, 81, Local0, Ones)
+ }
+ }
+
+
+ // Buffer Field to Buffer conversion of the both Integer operands
+ // of Concatenate operator
+
+ Method(m645, 1)
+ {
+ Store(Concatenate(bf65, bf65), Local0)
+ m600(arg0, 0, Local0, bb20)
+
+ Store(Concatenate(0x321, bf65), Local0)
+ m600(arg0, 1, Local0, bb21)
+
+ Store(Concatenate(bf65, 0x321), Local0)
+ m600(arg0, 1, Local0, bb22)
+
+ Concatenate(bf65, bf65, Local0)
+ m600(arg0, 0, Local0, bb20)
+
+ Concatenate(0x321, bf65, Local0)
+ m600(arg0, 1, Local0, bb21)
+
+ Concatenate(bf65, 0x321, Local0)
+ m600(arg0, 1, Local0, bb22)
+ }
+
+ Method(m325, 1)
+ {
+ Store(Concatenate(bf62, bf62), Local0)
+ m600(arg0, 0, Local0, bb23)
+
+ Store(Concatenate(0x321, bf62), Local0)
+ m600(arg0, 1, Local0, bb24)
+
+ Store(Concatenate(bf62, 0x321), Local0)
+ m600(arg0, 1, Local0, bb25)
+
+ Concatenate(bf62, bf62, Local0)
+ m600(arg0, 0, Local0, bb23)
+
+ Concatenate(0x321, bf62, Local0)
+ m600(arg0, 1, Local0, bb24)
+
+ Concatenate(bf62, 0x321, Local0)
+ m600(arg0, 1, Local0, bb25)
+ }
+
+ // Buffer Field to Buffer conversion of the Buffer Field second operand
+ // of Concatenate operator when the first operand is evaluated as Buffer
+
+ Method(m646, 1)
+ {
+ Store(Concatenate(Buffer(){0x5a}, bf65), Local0)
+ m600(arg0, 0, Local0, bb10)
+
+ Store(Concatenate(Buffer(){0x5a, 0x00}, bf65), Local0)
+ m600(arg0, 1, Local0, bb11)
+
+ Store(Concatenate(aub0, bf65), Local0)
+ m600(arg0, 2, Local0, bb10)
+
+ Store(Concatenate(aub1, bf65), Local0)
+ m600(arg0, 3, Local0, bb11)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aub0)), bf65), Local0)
+ m600(arg0, 4, Local0, bb10)
+
+ Store(Concatenate(Derefof(Refof(aub1)), bf65), Local0)
+ m600(arg0, 5, Local0, bb11)
+ }
+
+ Store(Concatenate(Derefof(Index(paub, 0)), bf65), Local0)
+ m600(arg0, 6, Local0, bb10)
+
+ Store(Concatenate(Derefof(Index(paub, 1)), bf65), Local0)
+ m600(arg0, 7, Local0, bb11)
+
+ // Method returns Buffer
+
+ Store(Concatenate(m601(3, 0), bf65), Local0)
+ m600(arg0, 8, Local0, bb10)
+
+ Store(Concatenate(m601(3, 1), bf65), Local0)
+ m600(arg0, 9, Local0, bb11)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(3, 0, 1)), bf65), Local0)
+ m600(arg0, 10, Local0, bb10)
+
+ Store(Concatenate(Derefof(m602(3, 1, 1)), bf65), Local0)
+ m600(arg0, 11, Local0, bb11)
+ }
+
+ Concatenate(Buffer(){0x5a}, bf65, Local0)
+ m600(arg0, 12, Local0, bb10)
+
+ Concatenate(Buffer(){0x5a, 0x00}, bf65, Local0)
+ m600(arg0, 13, Local0, bb11)
+
+ Concatenate(aub0, bf65, Local0)
+ m600(arg0, 14, Local0, bb10)
+
+ Concatenate(aub1, bf65, Local0)
+ m600(arg0, 15, Local0, bb11)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aub0)), bf65, Local0)
+ m600(arg0, 16, Local0, bb10)
+
+ Concatenate(Derefof(Refof(aub1)), bf65, Local0)
+ m600(arg0, 17, Local0, bb11)
+ }
+
+ Concatenate(Derefof(Index(paub, 0)), bf65, Local0)
+ m600(arg0, 18, Local0, bb10)
+
+ Concatenate(Derefof(Index(paub, 1)), bf65, Local0)
+ m600(arg0, 19, Local0, bb11)
+
+ // Method returns Buffer
+
+ Concatenate(m601(3, 0), bf65, Local0)
+ m600(arg0, 20, Local0, bb10)
+
+ Concatenate(m601(3, 1), bf65, Local0)
+ m600(arg0, 21, Local0, bb11)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Concatenate(Derefof(m602(3, 0, 1)), bf65, Local0)
+ m600(arg0, 22, Local0, bb10)
+
+ Concatenate(Derefof(m602(3, 1, 1)), bf65, Local0)
+ m600(arg0, 23, Local0, bb11)
+ }
+ }
+
+ Method(m326, 1)
+ {
+
+ Store(Concatenate(Buffer(){0x5a}, bf62), Local0)
+ m600(arg0, 0, Local0, bb12)
+
+ Store(Concatenate(Buffer(){0x5a, 0x00}, bf62), Local0)
+ m600(arg0, 1, Local0, bb13)
+
+ Store(Concatenate(aub0, bf62), Local0)
+ m600(arg0, 2, Local0, bb12)
+
+ Store(Concatenate(aub1, bf62), Local0)
+ m600(arg0, 3, Local0, bb13)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aub0)), bf62), Local0)
+ m600(arg0, 4, Local0, bb12)
+
+ Store(Concatenate(Derefof(Refof(aub1)), bf62), Local0)
+ m600(arg0, 5, Local0, bb13)
+ }
+
+ Store(Concatenate(Derefof(Index(paub, 0)), bf62), Local0)
+ m600(arg0, 6, Local0, bb12)
+
+ Store(Concatenate(Derefof(Index(paub, 1)), bf62), Local0)
+ m600(arg0, 7, Local0, bb13)
+
+ // Method returns Buffer
+
+ Store(Concatenate(m601(3, 0), bf62), Local0)
+ m600(arg0, 8, Local0, bb12)
+
+ Store(Concatenate(m601(3, 1), bf62), Local0)
+ m600(arg0, 9, Local0, bb13)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(3, 0, 1)), bf62), Local0)
+ m600(arg0, 10, Local0, bb12)
+
+ Store(Concatenate(Derefof(m602(3, 1, 1)), bf62), Local0)
+ m600(arg0, 11, Local0, bb13)
+ }
+
+
+ Store(Concatenate(Buffer(){0x5a}, bf65), Local0)
+ m600(arg0, 12, Local0, bb10)
+
+ Store(Concatenate(Buffer(){0x5a, 0x00}, bf65), Local0)
+ m600(arg0, 13, Local0, bb11)
+
+
+ Concatenate(Buffer(){0x5a}, bf62, Local0)
+ m600(arg0, 14, Local0, bb12)
+
+ Concatenate(Buffer(){0x5a, 0x00}, bf62, Local0)
+ m600(arg0, 15, Local0, bb13)
+
+ Concatenate(aub0, bf62, Local0)
+ m600(arg0, 16, Local0, bb12)
+
+ Concatenate(aub1, bf62, Local0)
+ m600(arg0, 17, Local0, bb13)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aub0)), bf62, Local0)
+ m600(arg0, 18, Local0, bb12)
+
+ Concatenate(Derefof(Refof(aub1)), bf62, Local0)
+ m600(arg0, 19, Local0, bb13)
+ }
+
+ Concatenate(Derefof(Index(paub, 0)), bf62, Local0)
+ m600(arg0, 20, Local0, bb12)
+
+ Concatenate(Derefof(Index(paub, 1)), bf62, Local0)
+ m600(arg0, 21, Local0, bb13)
+
+ // Method returns Buffer
+
+ Concatenate(m601(3, 0), bf62, Local0)
+ m600(arg0, 22, Local0, bb12)
+
+ Concatenate(m601(3, 1), bf62, Local0)
+ m600(arg0, 23, Local0, bb13)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Concatenate(Derefof(m602(3, 0, 1)), bf62, Local0)
+ m600(arg0, 24, Local0, bb12)
+
+ Concatenate(Derefof(m602(3, 1, 1)), bf62, Local0)
+ m600(arg0, 25, Local0, bb13)
+ }
+
+ Concatenate(Buffer(){0x5a}, bf65, Local0)
+ m600(arg0, 26, Local0, bb10)
+
+ Concatenate(Buffer(){0x5a, 0x00}, bf65, Local0)
+ m600(arg0, 27, Local0, bb11)
+
+ }
+
+
+ // Buffer Field to Buffer conversion of the Buffer Field Source operand
+ // of ToString operator
+
+ Method(m647, 1)
+ {
+ Store(ToString(bf71, Ones), Local0)
+ m600(arg0, 0, Local0, bs18)
+
+ Store(ToString(bf71, 3), Local0)
+ m600(arg0, 1, Local0, bs19)
+
+ Store(ToString(bf72, Ones), Local0)
+ m600(arg0, 2, Local0, bs1a)
+
+ Store(ToString(bf71, aui0), Local0)
+ m600(arg0, 3, Local0, bs18)
+
+ Store(ToString(bf71, aui7), Local0)
+ m600(arg0, 4, Local0, bs19)
+
+ Store(ToString(bf72, aui0), Local0)
+ m600(arg0, 5, Local0, bs1a)
+
+ if (y078) {
+ Store(ToString(bf71, Derefof(Refof(aui0))), Local0)
+ m600(arg0, 6, Local0, bs18)
+
+ Store(ToString(bf71, Derefof(Refof(aui7))), Local0)
+ m600(arg0, 7, Local0, bs19)
+
+ Store(ToString(bf72, Derefof(Refof(aui0))), Local0)
+ m600(arg0, 8, Local0, bs1a)
+ }
+
+ Store(ToString(bf71, Derefof(Index(paui, 0))), Local0)
+ m600(arg0, 9, Local0, bs18)
+
+ Store(ToString(bf71, Derefof(Index(paui, 7))), Local0)
+ m600(arg0, 10, Local0, bs19)
+
+ Store(ToString(bf72, Derefof(Index(paui, 0))), Local0)
+ m600(arg0, 11, Local0, bs1a)
+
+ // Method returns Length parameter
+
+ Store(ToString(bf71, m601(1, 0)), Local0)
+ m600(arg0, 12, Local0, bs18)
+
+ Store(ToString(bf71, m601(1, 7)), Local0)
+ m600(arg0, 13, Local0, bs19)
+
+ Store(ToString(bf72, m601(1, 0)), Local0)
+ m600(arg0, 14, Local0, bs1a)
+
+ // Method returns Reference to Length parameter
+
+ if (y500) {
+ Store(ToString(bf71, Derefof(m601(1, 0))), Local0)
+ m600(arg0, 15, Local0, bs18)
+
+ Store(ToString(bf71, Derefof(m601(1, 7))), Local0)
+ m600(arg0, 16, Local0, bs19)
+
+ Store(ToString(bf72, Derefof(m601(1, 0))), Local0)
+ m600(arg0, 17, Local0, bs1a)
+ }
+
+ ToString(bf71, Ones, Local0)
+ m600(arg0, 18, Local0, bs18)
+
+ ToString(bf71, 3, Local0)
+ m600(arg0, 19, Local0, bs19)
+
+ ToString(bf72, Ones, Local0)
+ m600(arg0, 20, Local0, bs1a)
+
+ ToString(bf71, aui0, Local0)
+ m600(arg0, 21, Local0, bs18)
+
+ ToString(bf71, aui7, Local0)
+ m600(arg0, 22, Local0, bs19)
+
+ ToString(bf72, aui0, Local0)
+ m600(arg0, 23, Local0, bs1a)
+
+ if (y078) {
+ ToString(bf71, Derefof(Refof(aui0)), Local0)
+ m600(arg0, 24, Local0, bs18)
+
+ ToString(bf71, Derefof(Refof(aui7)), Local0)
+ m600(arg0, 25, Local0, bs19)
+
+ ToString(bf72, Derefof(Refof(aui0)), Local0)
+ m600(arg0, 26, Local0, bs1a)
+ }
+
+ ToString(bf71, Derefof(Index(paui, 0)), Local0)
+ m600(arg0, 27, Local0, bs18)
+
+ ToString(bf71, Derefof(Index(paui, 7)), Local0)
+ m600(arg0, 28, Local0, bs19)
+
+ ToString(bf72, Derefof(Index(paui, 0)), Local0)
+ m600(arg0, 29, Local0, bs1a)
+
+ // Method returns Length parameter
+
+ ToString(bf71, m601(1, 0), Local0)
+ m600(arg0, 30, Local0, bs18)
+
+ ToString(bf71, m601(1, 7), Local0)
+ m600(arg0, 31, Local0, bs19)
+
+ ToString(bf72, m601(1, 0), Local0)
+ m600(arg0, 32, Local0, bs1a)
+
+ // Method returns Reference to Length parameter
+
+ if (y500) {
+ ToString(bf71, Derefof(m601(1, 0)), Local0)
+ m600(arg0, 33, Local0, bs18)
+
+ ToString(bf71, Derefof(m601(1, 7)), Local0)
+ m600(arg0, 34, Local0, bs19)
+
+ ToString(bf72, Derefof(m601(1, 0)), Local0)
+ m600(arg0, 35, Local0, bs1a)
+ }
+ }
+
+ Method(m327, 1)
+ {
+ Store(ToString(bf70, Ones), Local0)
+ m600(arg0, 0, Local0, bs16)
+
+ Store(ToString(bf70, 3), Local0)
+ m600(arg0, 1, Local0, bs17)
+
+ Store(ToString(bf73, Ones), Local0)
+ m600(arg0, 2, Local0, bs1a)
+
+ Store(ToString(bf70, aui0), Local0)
+ m600(arg0, 3, Local0, bs16)
+
+ Store(ToString(bf70, aui7), Local0)
+ m600(arg0, 4, Local0, bs17)
+
+ Store(ToString(bf73, aui0), Local0)
+ m600(arg0, 5, Local0, bs1a)
+
+ if (y078) {
+ Store(ToString(bf70, Derefof(Refof(aui0))), Local0)
+ m600(arg0, 6, Local0, bs16)
+
+ Store(ToString(bf70, Derefof(Refof(aui7))), Local0)
+ m600(arg0, 7, Local0, bs17)
+
+ Store(ToString(bf73, Derefof(Refof(aui0))), Local0)
+ m600(arg0, 8, Local0, bs1a)
+ }
+
+ Store(ToString(bf70, Derefof(Index(paui, 0))), Local0)
+ m600(arg0, 9, Local0, bs16)
+
+ Store(ToString(bf70, Derefof(Index(paui, 7))), Local0)
+ m600(arg0, 10, Local0, bs17)
+
+ Store(ToString(bf73, Derefof(Index(paui, 0))), Local0)
+ m600(arg0, 11, Local0, bs1a)
+
+ // Method returns Length parameter
+
+ Store(ToString(bf70, m601(1, 0)), Local0)
+ m600(arg0, 12, Local0, bs16)
+
+ Store(ToString(bf70, m601(1, 7)), Local0)
+ m600(arg0, 13, Local0, bs17)
+
+ Store(ToString(bf73, m601(1, 0)), Local0)
+ m600(arg0, 14, Local0, bs1a)
+
+ // Method returns Reference to Length parameter
+
+ if (y500) {
+ Store(ToString(bf70, Derefof(m601(1, 0))), Local0)
+ m600(arg0, 15, Local0, bs16)
+
+ Store(ToString(bf70, Derefof(m601(1, 7))), Local0)
+ m600(arg0, 16, Local0, bs17)
+
+ Store(ToString(bf73, Derefof(m601(1, 0))), Local0)
+ m600(arg0, 17, Local0, bs1a)
+ }
+
+ ToString(bf70, Ones, Local0)
+ m600(arg0, 18, Local0, bs16)
+
+ ToString(bf70, 3, Local0)
+ m600(arg0, 19, Local0, bs17)
+
+ ToString(bf73, Ones, Local0)
+ m600(arg0, 20, Local0, bs1a)
+
+ ToString(bf70, aui0, Local0)
+ m600(arg0, 21, Local0, bs16)
+
+ ToString(bf70, aui7, Local0)
+ m600(arg0, 22, Local0, bs17)
+
+ ToString(bf73, aui0, Local0)
+ m600(arg0, 23, Local0, bs1a)
+
+ if (y078) {
+ ToString(bf70, Derefof(Refof(aui0)), Local0)
+ m600(arg0, 24, Local0, bs16)
+
+ ToString(bf70, Derefof(Refof(aui7)), Local0)
+ m600(arg0, 25, Local0, bs17)
+
+ ToString(bf73, Derefof(Refof(aui0)), Local0)
+ m600(arg0, 26, Local0, bs1a)
+ }
+
+ ToString(bf70, Derefof(Index(paui, 0)), Local0)
+ m600(arg0, 27, Local0, bs16)
+
+ ToString(bf70, Derefof(Index(paui, 7)), Local0)
+ m600(arg0, 28, Local0, bs17)
+
+ ToString(bf73, Derefof(Index(paui, 0)), Local0)
+ m600(arg0, 29, Local0, bs1a)
+
+ // Method returns Length parameter
+
+ ToString(bf70, m601(1, 0), Local0)
+ m600(arg0, 30, Local0, bs16)
+
+ ToString(bf70, m601(1, 7), Local0)
+ m600(arg0, 31, Local0, bs17)
+
+ ToString(bf73, m601(1, 0), Local0)
+ m600(arg0, 32, Local0, bs1a)
+
+ // Method returns Reference to Length parameter
+
+ if (y500) {
+ ToString(bf70, Derefof(m601(1, 0)), Local0)
+ m600(arg0, 33, Local0, bs16)
+
+ ToString(bf70, Derefof(m601(1, 7)), Local0)
+ m600(arg0, 34, Local0, bs17)
+
+ ToString(bf73, Derefof(m601(1, 0)), Local0)
+ m600(arg0, 35, Local0, bs1a)
+ }
+ }
+
+ // Buffer Field to Buffer conversion of the Buffer Field Source operand
+ // of Mid operator
+
+ Method(m648, 1)
+ {
+ Store(Mid(bf65, 0, 9), Local0)
+ m600(arg0, 0, Local0, bb1d)
+
+ Store(Mid(bf66, 0, 9), Local0)
+ m600(arg0, 1, Local0, bb1f)
+
+ Store(Mid(bf73, 1, 8), Local0)
+ m600(arg0, 2, Local0, bb30)
+
+ Store(Mid(bf65, aui5, auib), Local0)
+ m600(arg0, 3, Local0, bb1d)
+
+ Store(Mid(bf66, aui5, auib), Local0)
+ m600(arg0, 4, Local0, bb1f)
+
+ Store(Mid(bf73, aui6, auia), Local0)
+ m600(arg0, 5, Local0, bb30)
+
+ if (y078) {
+ Store(Mid(bf65, Derefof(Refof(aui5)), Derefof(Refof(auib))), Local0)
+ m600(arg0, 6, Local0, bb1d)
+
+ Store(Mid(bf66, Derefof(Refof(aui5)), Derefof(Refof(auib))), Local0)
+ m600(arg0, 7, Local0, bb1f)
+
+ Store(Mid(bf73, Derefof(Refof(aui6)), Derefof(Refof(auia))), Local0)
+ m600(arg0, 8, Local0, bb30)
+ }
+
+ Store(Mid(bf65, Derefof(Index(paui, 5)), Derefof(Index(paui, 11))), Local0)
+ m600(arg0, 9, Local0, bb1d)
+
+ Store(Mid(bf66, Derefof(Index(paui, 5)), Derefof(Index(paui, 11))), Local0)
+ m600(arg0, 10, Local0, bb1f)
+
+ Store(Mid(bf73, Derefof(Index(paui, 6)), Derefof(Index(paui, 10))), Local0)
+ m600(arg0, 11, Local0, bb30)
+
+ // Method returns Index and Length parameters
+
+ Store(Mid(bf65, m601(1, 5), m601(1, 11)), Local0)
+ m600(arg0, 12, Local0, bb1d)
+
+ Store(Mid(bf66, m601(1, 5), m601(1, 11)), Local0)
+ m600(arg0, 13, Local0, bb1f)
+
+ Store(Mid(bf73, m601(1, 6), m601(1, 10)), Local0)
+ m600(arg0, 14, Local0, bb30)
+
+ // Method returns Reference to Index and Length parameters
+
+ if (y500) {
+ Store(Mid(bf65, Derefof(m601(1, 5)), Derefof(m601(1, 11))), Local0)
+ m600(arg0, 15, Local0, bb1d)
+
+ Store(Mid(bf66, Derefof(m601(1, 5)), Derefof(m601(1, 11))), Local0)
+ m600(arg0, 16, Local0, bb1f)
+
+ Store(Mid(bf73, Derefof(m601(1, 6)), Derefof(m601(1, 10))), Local0)
+ m600(arg0, 17, Local0, bb30)
+ }
+
+ Mid(bf65, 0, 9, Local0)
+ m600(arg0, 18, Local0, bb1d)
+
+ Mid(bf66, 0, 9, Local0)
+ m600(arg0, 19, Local0, bb1f)
+
+ Mid(bf73, 1, 8, Local0)
+ m600(arg0, 20, Local0, bb30)
+
+ Mid(bf65, aui5, auib, Local0)
+ m600(arg0, 21, Local0, bb1d)
+
+ Mid(bf66, aui5, auib, Local0)
+ m600(arg0, 22, Local0, bb1f)
+
+ Mid(bf73, aui6, auia, Local0)
+ m600(arg0, 23, Local0, bb30)
+
+ if (y078) {
+ Mid(bf65, Derefof(Refof(aui5)), Derefof(Refof(auib)), Local0)
+ m600(arg0, 24, Local0, bb1d)
+
+ Mid(bf66, Derefof(Refof(aui5)), Derefof(Refof(auib)), Local0)
+ m600(arg0, 25, Local0, bb1f)
+
+ Mid(bf73, Derefof(Refof(aui6)), Derefof(Refof(auia)), Local0)
+ m600(arg0, 26, Local0, bb30)
+ }
+
+ Mid(bf65, Derefof(Index(paui, 5)), Derefof(Index(paui, 11)), Local0)
+ m600(arg0, 27, Local0, bb1d)
+
+ Mid(bf66, Derefof(Index(paui, 5)), Derefof(Index(paui, 11)), Local0)
+ m600(arg0, 28, Local0, bb1f)
+
+ Mid(bf73, Derefof(Index(paui, 6)), Derefof(Index(paui, 10)), Local0)
+ m600(arg0, 29, Local0, bb30)
+
+ // Method returns Index and Length parameters
+
+ Mid(bf65, m601(1, 5), m601(1, 11), Local0)
+ m600(arg0, 30, Local0, bb1d)
+
+ Mid(bf66, m601(1, 5), m601(1, 11), Local0)
+ m600(arg0, 31, Local0, bb1f)
+
+ Mid(bf73, m601(1, 6), m601(1, 10), Local0)
+ m600(arg0, 32, Local0, bb30)
+
+ // Method returns Reference to Index and Length parameters
+
+ if (y500) {
+ Mid(bf65, Derefof(m601(1, 5)), Derefof(m601(1, 11)), Local0)
+ m600(arg0, 33, Local0, bb1d)
+
+ Mid(bf66, Derefof(m601(1, 5)), Derefof(m601(1, 11)), Local0)
+ m600(arg0, 34, Local0, bb1f)
+
+ Mid(bf73, Derefof(m601(1, 6)), Derefof(m601(1, 10)), Local0)
+ m600(arg0, 35, Local0, bb30)
+ }
+ }
+
+ Method(m328, 1)
+ {
+ Store(Mid(bf62, 0, 5), Local0)
+ m600(arg0, 0, Local0, bb1c)
+
+ Store(Mid(bf63, 0, 5), Local0)
+ m600(arg0, 1, Local0, bb1e)
+
+ Store(Mid(bf77, 1, 4), Local0)
+ m600(arg0, 2, Local0, bb31)
+
+ Store(Mid(bf62, aui5, aui9), Local0)
+ m600(arg0, 3, Local0, bb1c)
+
+ Store(Mid(bf63, aui5, aui9), Local0)
+ m600(arg0, 4, Local0, bb1e)
+
+ Store(Mid(bf77, aui6, aui8), Local0)
+ m600(arg0, 5, Local0, bb31)
+
+ if (y078) {
+ Store(Mid(bf62, Derefof(Refof(aui5)), Derefof(Refof(aui9))), Local0)
+ m600(arg0, 6, Local0, bb1c)
+
+ Store(Mid(bf63, Derefof(Refof(aui5)), Derefof(Refof(aui9))), Local0)
+ m600(arg0, 7, Local0, bb1e)
+
+ Store(Mid(bf77, Derefof(Refof(aui6)), Derefof(Refof(aui8))), Local0)
+ m600(arg0, 8, Local0, bb31)
+ }
+
+ Store(Mid(bf62, Derefof(Index(paui, 5)), Derefof(Index(paui, 9))), Local0)
+ m600(arg0, 9, Local0, bb1c)
+
+ Store(Mid(bf63, Derefof(Index(paui, 5)), Derefof(Index(paui, 9))), Local0)
+ m600(arg0, 10, Local0, bb1e)
+
+ Store(Mid(bf77, Derefof(Index(paui, 6)), Derefof(Index(paui, 8))), Local0)
+ m600(arg0, 11, Local0, bb31)
+
+ // Method returns Index and Length parameters
+
+ Store(Mid(bf62, m601(1, 5), m601(1, 9)), Local0)
+ m600(arg0, 12, Local0, bb1c)
+
+ Store(Mid(bf63, m601(1, 5), m601(1, 9)), Local0)
+ m600(arg0, 13, Local0, bb1e)
+
+ Store(Mid(bf77, m601(1, 6), m601(1, 8)), Local0)
+ m600(arg0, 14, Local0, bb31)
+
+ // Method returns Reference to Index and Length parameters
+
+ if (y500) {
+ Store(Mid(bf62, Derefof(m601(1, 5)), Derefof(m601(1, 9))), Local0)
+ m600(arg0, 15, Local0, bb1c)
+
+ Store(Mid(bf63, Derefof(m601(1, 5)), Derefof(m601(1, 9))), Local0)
+ m600(arg0, 16, Local0, bb1e)
+
+ Store(Mid(bf77, Derefof(m601(1, 6)), Derefof(m601(1, 8))), Local0)
+ m600(arg0, 17, Local0, bb31)
+ }
+
+ Mid(bf62, 0, 5, Local0)
+ m600(arg0, 18, Local0, bb1c)
+
+ Mid(bf63, 0, 5, Local0)
+ m600(arg0, 19, Local0, bb1e)
+
+ Mid(bf77, 1, 4, Local0)
+ m600(arg0, 20, Local0, bb31)
+
+ Mid(bf62, aui5, aui9, Local0)
+ m600(arg0, 21, Local0, bb1c)
+
+ Mid(bf63, aui5, aui9, Local0)
+ m600(arg0, 22, Local0, bb1e)
+
+ Mid(bf77, aui6, aui8, Local0)
+ m600(arg0, 23, Local0, bb31)
+
+ if (y078) {
+ Mid(bf62, Derefof(Refof(aui5)), Derefof(Refof(aui9)), Local0)
+ m600(arg0, 24, Local0, bb1c)
+
+ Mid(bf63, Derefof(Refof(aui5)), Derefof(Refof(aui9)), Local0)
+ m600(arg0, 25, Local0, bb1e)
+
+ Mid(bf77, Derefof(Refof(aui6)), Derefof(Refof(aui8)), Local0)
+ m600(arg0, 26, Local0, bb31)
+ }
+
+ Mid(bf62, Derefof(Index(paui, 5)), Derefof(Index(paui, 9)), Local0)
+ m600(arg0, 27, Local0, bb1c)
+
+ Mid(bf63, Derefof(Index(paui, 5)), Derefof(Index(paui, 9)), Local0)
+ m600(arg0, 28, Local0, bb1e)
+
+ Mid(bf77, Derefof(Index(paui, 6)), Derefof(Index(paui, 8)), Local0)
+ m600(arg0, 29, Local0, bb31)
+
+ // Method returns Index and Length parameters
+
+ Mid(bf62, m601(1, 5), m601(1, 9), Local0)
+ m600(arg0, 30, Local0, bb1c)
+
+ Mid(bf63, m601(1, 5), m601(1, 9), Local0)
+ m600(arg0, 31, Local0, bb1e)
+
+ Mid(bf77, m601(1, 6), m601(1, 8), Local0)
+ m600(arg0, 32, Local0, bb31)
+
+ // Method returns Reference to Index and Length parameters
+
+ if (y500) {
+ Mid(bf62, Derefof(m601(1, 5)), Derefof(m601(1, 9)), Local0)
+ m600(arg0, 33, Local0, bb1c)
+
+ Mid(bf63, Derefof(m601(1, 5)), Derefof(m601(1, 9)), Local0)
+ m600(arg0, 34, Local0, bb1e)
+
+ Mid(bf77, Derefof(m601(1, 6)), Derefof(m601(1, 8)), Local0)
+ m600(arg0, 35, Local0, bb31)
+ }
+ }
+
+
+ // Buffer Field to Integer implicit conversion Cases.
+
+ // Buffer Field to Integer conversion of the Buffer Field sole operand
+ // of the 1-parameter Integer arithmetic operators
+ // (Decrement, Increment, FindSetLeftBit, FindSetRightBit, Not)
+
+ Method(m64l, 1)
+ {
+ // Decrement
+
+ Store(Decrement(bf91), Local0)
+ m600(arg0, 0, Local0, bi12)
+
+ Store(Decrement(bf95), Local0)
+ m600(arg0, 1, Local0, bi16)
+
+ // Increment
+
+ Store(Increment(bfa1), Local0)
+ m600(arg0, 2, Local0, bi23)
+
+ Store(Increment(bfa5), Local0)
+ m600(arg0, 3, Local0, bi27)
+
+ // FindSetLeftBit
+
+ Store(FindSetLeftBit(bf61), Local0)
+ m600(arg0, 0, Local0, 10)
+
+ Store(FindSetLeftBit(bf65), Local0)
+ m600(arg0, 1, Local0, 64)
+
+ // FindSetRightBit
+
+ Store(FindSetRightBit(bf61), Local0)
+ m600(arg0, 2, Local0, 1)
+
+ Store(FindSetRightBit(bf65), Local0)
+ m600(arg0, 3, Local0, 3)
+
+ // Not
+
+ Store(Not(bf61), Local0)
+ m600(arg0, 4, Local0, 0xfffffffffffffcde)
+
+ Store(Not(bf65), Local0)
+ m600(arg0, 5, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Method(m32l, 1)
+ {
+ // Decrement
+
+ Store(Decrement(bf91), Local0)
+ m600(arg0, 0, Local0, bi12)
+
+ Store(Decrement(bf95), Local0)
+ m600(arg0, 1, Local0, bi18)
+
+ // Increment
+
+ Store(Increment(bfa1), Local0)
+ m600(arg0, 2, Local0, bi23)
+
+ Store(Increment(bfa5), Local0)
+ m600(arg0, 3, Local0, bi29)
+
+ // FindSetLeftBit
+
+ Store(FindSetLeftBit(bf61), Local0)
+ m600(arg0, 0, Local0, 10)
+
+ Store(FindSetLeftBit(bf65), Local0)
+ m600(arg0, 1, Local0, 32)
+
+ // FindSetRightBit
+
+ Store(FindSetRightBit(bf61), Local0)
+ m600(arg0, 2, Local0, 1)
+
+ Store(FindSetRightBit(bf65), Local0)
+ m600(arg0, 3, Local0, 3)
+
+ // Not
+
+ Store(Not(bf61), Local0)
+ m600(arg0, 4, Local0, 0xfffffcde)
+
+ Store(Not(bf65), Local0)
+ m600(arg0, 5, Local0, 0x29af5d7b)
+ }
+
+ // Buffer Field to Integer conversion of the Buffer Field sole operand
+ // of the LNot Logical Integer operator
+ Method(m03a, 1)
+ {
+ Store(LNot(bf76), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LNot(bf61), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ if (F64) {
+ Store(LNot(bf65), Local0)
+ m600(arg0, 2, Local0, Zero)
+ } else {
+ Store(LNot(bf65), Local0)
+ m600(arg0, 3, Local0, Zero)
+ }
+ }
+
+ // Buffer Field to Integer conversion of the Buffer Field sole operand
+ // of the FromBCD and ToBCD conversion operators
+
+ Method(m64m, 1)
+ {
+ // FromBCD
+
+ Store(FromBCD(bf61), Local0)
+ m600(arg0, 2, Local0, 0x141)
+
+ Store(FromBCD(bf6c), Local0)
+ m600(arg0, 3, Local0, 0xd76162ee9ec35)
+
+ FromBCD(bf61, Local0)
+ m600(arg0, 2, Local0, 0x141)
+
+ FromBCD(bf6c, Local0)
+ m600(arg0, 3, Local0, 0xd76162ee9ec35)
+
+ // ToBCD
+
+ Store(ToBCD(bf61), Local0)
+ m600(arg0, 4, Local0, 0x801)
+
+// ??? No error of iASL on constant folding
+ Store(ToBCD(bf6d), Local0)
+ m600(arg0, 5, Local0, 0x3789012345678901)
+
+ ToBCD(bf61, Local0)
+ m600(arg0, 4, Local0, 0x801)
+
+ ToBCD(bf6d, Local0)
+ m600(arg0, 5, Local0, 0x3789012345678901)
+ }
+
+ Method(m32m, 1)
+ {
+ // FromBCD
+
+ Store(FromBCD(bf61), Local0)
+ m600(arg0, 2, Local0, 0x141)
+
+ Store(FromBCD(bf6e), Local0)
+ m600(arg0, 3, Local0, 0x55f2cc0)
+
+ FromBCD(bf61, Local0)
+ m600(arg0, 2, Local0, 0x141)
+
+ FromBCD(bf6e, Local0)
+ m600(arg0, 3, Local0, 0x55f2cc0)
+
+ // ToBCD
+
+ Store(ToBCD(bf61), Local0)
+ m600(arg0, 4, Local0, 0x801)
+
+ Store(ToBCD(bf6f), Local0)
+ m600(arg0, 5, Local0, 0x90123456)
+
+ ToBCD(bf61, Local0)
+ m600(arg0, 4, Local0, 0x801)
+
+ ToBCD(bf6f, Local0)
+ m600(arg0, 5, Local0, 0x90123456)
+ }
+
+ // Buffer Field to Integer conversion of each Buffer operand
+ // of the 2-parameter Integer arithmetic operators
+ // Add, And, Divide, Mod, Multiply, NAnd, NOr, Or,
+ // ShiftLeft, ShiftRight, Subtract, Xor
+
+ // Add, common 32-bit/64-bit test
+ Method(m03b, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Add(bf61, 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Add(bf61, 1), Local0)
+ m600(arg0, 1, Local0, 0x322)
+
+ Store(Add(bf61, aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Add(bf61, aui6), Local0)
+ m600(arg0, 3, Local0, 0x322)
+
+ if (y078) {
+ Store(Add(bf61, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Add(bf61, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x322)
+ }
+
+ Store(Add(bf61, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Add(bf61, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x322)
+
+ // Method returns Integer
+
+ Store(Add(bf61, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Add(bf61, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x322)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(bf61, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Add(bf61, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x322)
+ }
+
+ Add(bf61, 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Add(bf61, 1, Local0)
+ m600(arg0, 13, Local0, 0x322)
+
+ Add(bf61, aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Add(bf61, aui6, Local0)
+ m600(arg0, 15, Local0, 0x322)
+
+ if (y078) {
+ Add(bf61, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Add(bf61, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x322)
+ }
+
+ Add(bf61, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Add(bf61, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x322)
+
+ // Method returns Integer
+
+ Add(bf61, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Add(bf61, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x322)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(bf61, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Add(bf61, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x322)
+ }
+
+ // Conversion of the second operand
+
+ Store(Add(0, bf61), Local0)
+ m600(arg0, 24, Local0, 0x321)
+
+ Store(Add(1, bf61), Local0)
+ m600(arg0, 25, Local0, 0x322)
+
+ Store(Add(aui5, bf61), Local0)
+ m600(arg0, 26, Local0, 0x321)
+
+ Store(Add(aui6, bf61), Local0)
+ m600(arg0, 27, Local0, 0x322)
+
+ if (y078) {
+ Store(Add(Derefof(Refof(aui5)), bf61), Local0)
+ m600(arg0, 28, Local0, 0x321)
+
+ Store(Add(Derefof(Refof(aui6)), bf61), Local0)
+ m600(arg0, 29, Local0, 0x322)
+ }
+
+ Store(Add(Derefof(Index(paui, 5)), bf61), Local0)
+ m600(arg0, 30, Local0, 0x321)
+
+ Store(Add(Derefof(Index(paui, 6)), bf61), Local0)
+ m600(arg0, 31, Local0, 0x322)
+
+ // Method returns Integer
+
+ Store(Add(m601(1, 5), bf61), Local0)
+ m600(arg0, 32, Local0, 0x321)
+
+ Store(Add(m601(1, 6), bf61), Local0)
+ m600(arg0, 33, Local0, 0x322)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(Derefof(m602(1, 5, 1)), bf61), Local0)
+ m600(arg0, 34, Local0, 0x321)
+
+ Store(Add(Derefof(m602(1, 6, 1)), bf61), Local0)
+ m600(arg0, 35, Local0, 0x322)
+ }
+
+ Add(0, bf61, Local0)
+ m600(arg0, 36, Local0, 0x321)
+
+ Add(1, bf61, Local0)
+ m600(arg0, 37, Local0, 0x322)
+
+ Add(aui5, bf61, Local0)
+ m600(arg0, 38, Local0, 0x321)
+
+ Add(aui6, bf61, Local0)
+ m600(arg0, 39, Local0, 0x322)
+
+ if (y078) {
+ Add(Derefof(Refof(aui5)), bf61, Local0)
+ m600(arg0, 40, Local0, 0x321)
+
+ Add(Derefof(Refof(aui6)), bf61, Local0)
+ m600(arg0, 41, Local0, 0x322)
+ }
+
+ Add(Derefof(Index(paui, 5)), bf61, Local0)
+ m600(arg0, 42, Local0, 0x321)
+
+ Add(Derefof(Index(paui, 6)), bf61, Local0)
+ m600(arg0, 43, Local0, 0x322)
+
+ // Method returns Integer
+
+ Add(m601(1, 5), bf61, Local0)
+ m600(arg0, 44, Local0, 0x321)
+
+ Add(m601(1, 6), bf61, Local0)
+ m600(arg0, 45, Local0, 0x322)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(Derefof(m602(1, 5, 1)), bf61, Local0)
+ m600(arg0, 46, Local0, 0x321)
+
+ Add(Derefof(m602(1, 6, 1)), bf61, Local0)
+ m600(arg0, 47, Local0, 0x322)
+ }
+ }
+
+ // Add, 64-bit
+ Method(m03c, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Add(bf65, 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(bf65, 1), Local0)
+ m600(arg0, 1, Local0, 0xfe7cb391d650a285)
+
+ Store(Add(bf65, aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(bf65, aui6), Local0)
+ m600(arg0, 3, Local0, 0xfe7cb391d650a285)
+
+ if (y078) {
+ Store(Add(bf65, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(bf65, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xfe7cb391d650a285)
+ }
+
+ Store(Add(bf65, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(bf65, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Integer
+
+ Store(Add(bf65, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(bf65, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(bf65, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(bf65, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfe7cb391d650a285)
+ }
+
+ Add(bf65, 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Add(bf65, 1, Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a285)
+
+ Add(bf65, aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Add(bf65, aui6, Local0)
+ m600(arg0, 15, Local0, 0xfe7cb391d650a285)
+
+ if (y078) {
+ Add(bf65, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Add(bf65, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xfe7cb391d650a285)
+ }
+
+ Add(bf65, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Add(bf65, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Integer
+
+ Add(bf65, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Add(bf65, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(bf65, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Add(bf65, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfe7cb391d650a285)
+ }
+
+ // Conversion of the second operand
+
+ Store(Add(0, bf65), Local0)
+ m600(arg0, 24, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(1, bf65), Local0)
+ m600(arg0, 25, Local0, 0xfe7cb391d650a285)
+
+ Store(Add(aui5, bf65), Local0)
+ m600(arg0, 26, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(aui6, bf65), Local0)
+ m600(arg0, 27, Local0, 0xfe7cb391d650a285)
+
+ if (y078) {
+ Store(Add(Derefof(Refof(aui5)), bf65), Local0)
+ m600(arg0, 28, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(Refof(aui6)), bf65), Local0)
+ m600(arg0, 29, Local0, 0xfe7cb391d650a285)
+ }
+
+ Store(Add(Derefof(Index(paui, 5)), bf65), Local0)
+ m600(arg0, 30, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(Index(paui, 6)), bf65), Local0)
+ m600(arg0, 31, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Integer
+
+ Store(Add(m601(1, 5), bf65), Local0)
+ m600(arg0, 32, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(m601(1, 6), bf65), Local0)
+ m600(arg0, 33, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(Derefof(m602(1, 5, 1)), bf65), Local0)
+ m600(arg0, 34, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(m602(1, 6, 1)), bf65), Local0)
+ m600(arg0, 35, Local0, 0xfe7cb391d650a285)
+ }
+
+ Add(0, bf65, Local0)
+ m600(arg0, 36, Local0, 0xfe7cb391d650a284)
+
+ Add(1, bf65, Local0)
+ m600(arg0, 37, Local0, 0xfe7cb391d650a285)
+
+ Add(aui5, bf65, Local0)
+ m600(arg0, 38, Local0, 0xfe7cb391d650a284)
+
+ Add(aui6, bf65, Local0)
+ m600(arg0, 39, Local0, 0xfe7cb391d650a285)
+
+ if (y078) {
+ Add(Derefof(Refof(aui5)), bf65, Local0)
+ m600(arg0, 40, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(Refof(aui6)), bf65, Local0)
+ m600(arg0, 41, Local0, 0xfe7cb391d650a285)
+ }
+
+ Add(Derefof(Index(paui, 5)), bf65, Local0)
+ m600(arg0, 42, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(Index(paui, 6)), bf65, Local0)
+ m600(arg0, 43, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Integer
+
+ Add(m601(1, 5), bf65, Local0)
+ m600(arg0, 44, Local0, 0xfe7cb391d650a284)
+
+ Add(m601(1, 6), bf65, Local0)
+ m600(arg0, 45, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(Derefof(m602(1, 5, 1)), bf65, Local0)
+ m600(arg0, 46, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(m602(1, 6, 1)), bf65, Local0)
+ m600(arg0, 47, Local0, 0xfe7cb391d650a285)
+ }
+
+ // Conversion of the both operands
+
+ Store(Add(bf61, bf65), Local0)
+ m600(arg0, 48, Local0, 0xfe7cb391d650a5a5)
+
+ Store(Add(bf65, bf61), Local0)
+ m600(arg0, 49, Local0, 0xfe7cb391d650a5a5)
+
+ Add(bf61, bf65, Local0)
+ m600(arg0, 50, Local0, 0xfe7cb391d650a5a5)
+
+ Add(bf65, bf61, Local0)
+ m600(arg0, 51, Local0, 0xfe7cb391d650a5a5)
+ }
+
+ // Add, 32-bit
+ Method(m03d, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Add(bf65, 0), Local0)
+ m600(arg0, 0, Local0, 0xd650a284)
+
+ Store(Add(bf65, 1), Local0)
+ m600(arg0, 1, Local0, 0xd650a285)
+
+ Store(Add(bf65, aui5), Local0)
+ m600(arg0, 2, Local0, 0xd650a284)
+
+ Store(Add(bf65, aui6), Local0)
+ m600(arg0, 3, Local0, 0xd650a285)
+
+ if (y078) {
+ Store(Add(bf65, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xd650a284)
+
+ Store(Add(bf65, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xd650a285)
+ }
+
+ Store(Add(bf65, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xd650a284)
+
+ Store(Add(bf65, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xd650a285)
+
+ // Method returns Integer
+
+ Store(Add(bf65, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xd650a284)
+
+ Store(Add(bf65, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xd650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(bf65, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xd650a284)
+
+ Store(Add(bf65, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xd650a285)
+ }
+
+ Add(bf65, 0, Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ Add(bf65, 1, Local0)
+ m600(arg0, 13, Local0, 0xd650a285)
+
+ Add(bf65, aui5, Local0)
+ m600(arg0, 14, Local0, 0xd650a284)
+
+ Add(bf65, aui6, Local0)
+ m600(arg0, 15, Local0, 0xd650a285)
+
+ if (y078) {
+ Add(bf65, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xd650a284)
+
+ Add(bf65, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xd650a285)
+ }
+
+ Add(bf65, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xd650a284)
+
+ Add(bf65, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xd650a285)
+
+ // Method returns Integer
+
+ Add(bf65, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xd650a284)
+
+ Add(bf65, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xd650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(bf65, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xd650a284)
+
+ Add(bf65, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xd650a285)
+ }
+
+ // Conversion of the second operand
+
+ Store(Add(0, bf65), Local0)
+ m600(arg0, 24, Local0, 0xd650a284)
+
+ Store(Add(1, bf65), Local0)
+ m600(arg0, 25, Local0, 0xd650a285)
+
+ Store(Add(aui5, bf65), Local0)
+ m600(arg0, 26, Local0, 0xd650a284)
+
+ Store(Add(aui6, bf65), Local0)
+ m600(arg0, 27, Local0, 0xd650a285)
+
+ if (y078) {
+ Store(Add(Derefof(Refof(aui5)), bf65), Local0)
+ m600(arg0, 28, Local0, 0xd650a284)
+
+ Store(Add(Derefof(Refof(aui6)), bf65), Local0)
+ m600(arg0, 29, Local0, 0xd650a285)
+ }
+
+ Store(Add(Derefof(Index(paui, 5)), bf65), Local0)
+ m600(arg0, 30, Local0, 0xd650a284)
+
+ Store(Add(Derefof(Index(paui, 6)), bf65), Local0)
+ m600(arg0, 31, Local0, 0xd650a285)
+
+ // Method returns Integer
+
+ Store(Add(m601(1, 5), bf65), Local0)
+ m600(arg0, 32, Local0, 0xd650a284)
+
+ Store(Add(m601(1, 6), bf65), Local0)
+ m600(arg0, 33, Local0, 0xd650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(Derefof(m602(1, 5, 1)), bf65), Local0)
+ m600(arg0, 34, Local0, 0xd650a284)
+
+ Store(Add(Derefof(m602(1, 6, 1)), bf65), Local0)
+ m600(arg0, 35, Local0, 0xd650a285)
+ }
+
+ Add(0, bf65, Local0)
+ m600(arg0, 36, Local0, 0xd650a284)
+
+ Add(1, bf65, Local0)
+ m600(arg0, 37, Local0, 0xd650a285)
+
+ Add(aui5, bf65, Local0)
+ m600(arg0, 38, Local0, 0xd650a284)
+
+ Add(aui6, bf65, Local0)
+ m600(arg0, 39, Local0, 0xd650a285)
+
+ if (y078) {
+ Add(Derefof(Refof(aui5)), bf65, Local0)
+ m600(arg0, 40, Local0, 0xd650a284)
+
+ Add(Derefof(Refof(aui6)), bf65, Local0)
+ m600(arg0, 41, Local0, 0xd650a285)
+ }
+
+ Add(Derefof(Index(paui, 5)), bf65, Local0)
+ m600(arg0, 42, Local0, 0xd650a284)
+
+ Add(Derefof(Index(paui, 6)), bf65, Local0)
+ m600(arg0, 43, Local0, 0xd650a285)
+
+ // Method returns Integer
+
+ Add(m601(1, 5), bf65, Local0)
+ m600(arg0, 44, Local0, 0xd650a284)
+
+ Add(m601(1, 6), bf65, Local0)
+ m600(arg0, 45, Local0, 0xd650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(Derefof(m602(1, 5, 1)), bf65, Local0)
+ m600(arg0, 46, Local0, 0xd650a284)
+
+ Add(Derefof(m602(1, 6, 1)), bf65, Local0)
+ m600(arg0, 47, Local0, 0xd650a285)
+ }
+
+ // Conversion of the both operands
+
+ Store(Add(bf61, bf65), Local0)
+ m600(arg0, 48, Local0, 0xd650a5a5)
+
+ Store(Add(bf65, bf61), Local0)
+ m600(arg0, 49, Local0, 0xd650a5a5)
+
+ Add(bf61, bf65, Local0)
+ m600(arg0, 50, Local0, 0xd650a5a5)
+
+ Add(bf65, bf61, Local0)
+ m600(arg0, 51, Local0, 0xd650a5a5)
+ }
+
+ // And, common 32-bit/64-bit test
+ Method(m03e, 1)
+ {
+ // Conversion of the first operand
+
+ Store(And(bf61, 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(And(bf61, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0x321)
+
+ Store(And(bf61, aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(And(bf61, auij), Local0)
+ m600(arg0, 3, Local0, 0x321)
+
+ if (y078) {
+ Store(And(bf61, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(And(bf61, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0x321)
+ }
+
+ Store(And(bf61, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(And(bf61, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0x321)
+
+ // Method returns Integer
+
+ Store(And(bf61, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(And(bf61, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(bf61, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(And(bf61, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0x321)
+ }
+
+ And(bf61, 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ And(bf61, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0x321)
+
+ And(bf61, aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ And(bf61, auij, Local0)
+ m600(arg0, 15, Local0, 0x321)
+
+ if (y078) {
+ And(bf61, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ And(bf61, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0x321)
+ }
+
+ And(bf61, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ And(bf61, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0x321)
+
+ // Method returns Integer
+
+ And(bf61, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ And(bf61, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(bf61, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ And(bf61, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0x321)
+ }
+
+ // Conversion of the second operand
+
+ Store(And(0, bf61), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(And(0xffffffffffffffff, bf61), Local0)
+ m600(arg0, 25, Local0, 0x321)
+
+ Store(And(aui5, bf61), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(And(auij, bf61), Local0)
+ m600(arg0, 27, Local0, 0x321)
+
+ if (y078) {
+ Store(And(Derefof(Refof(aui5)), bf61), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(And(Derefof(Refof(auij)), bf61), Local0)
+ m600(arg0, 29, Local0, 0x321)
+ }
+
+ Store(And(Derefof(Index(paui, 5)), bf61), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(And(Derefof(Index(paui, 19)), bf61), Local0)
+ m600(arg0, 31, Local0, 0x321)
+
+ // Method returns Integer
+
+ Store(And(m601(1, 5), bf61), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(And(m601(1, 19), bf61), Local0)
+ m600(arg0, 33, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(Derefof(m602(1, 5, 1)), bf61), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(And(Derefof(m602(1, 19, 1)), bf61), Local0)
+ m600(arg0, 35, Local0, 0x321)
+ }
+
+ And(0, bf61, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ And(0xffffffffffffffff, bf61, Local0)
+ m600(arg0, 37, Local0, 0x321)
+
+ And(aui5, bf61, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ And(auij, bf61, Local0)
+ m600(arg0, 39, Local0, 0x321)
+
+ if (y078) {
+ And(Derefof(Refof(aui5)), bf61, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ And(Derefof(Refof(auij)), bf61, Local0)
+ m600(arg0, 41, Local0, 0x321)
+ }
+
+ And(Derefof(Index(paui, 5)), bf61, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ And(Derefof(Index(paui, 19)), bf61, Local0)
+ m600(arg0, 43, Local0, 0x321)
+
+ // Method returns Integer
+
+ And(m601(1, 5), bf61, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ And(m601(1, 19), bf61, Local0)
+ m600(arg0, 45, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(Derefof(m602(1, 5, 1)), bf61, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ And(Derefof(m602(1, 19, 1)), bf61, Local0)
+ m600(arg0, 47, Local0, 0x321)
+ }
+ }
+
+ // And, 64-bit
+ Method(m03f, 1)
+ {
+ // Conversion of the first operand
+
+ Store(And(bf65, 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(And(bf65, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xfe7cb391d650a284)
+
+ Store(And(bf65, aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(And(bf65, auij), Local0)
+ m600(arg0, 3, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Store(And(bf65, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(And(bf65, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xfe7cb391d650a284)
+ }
+
+ Store(And(bf65, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(And(bf65, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Store(And(bf65, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(And(bf65, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(bf65, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(And(bf65, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfe7cb391d650a284)
+ }
+
+ And(bf65, 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ And(bf65, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a284)
+
+ And(bf65, aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ And(bf65, auij, Local0)
+ m600(arg0, 15, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ And(bf65, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ And(bf65, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xfe7cb391d650a284)
+ }
+
+ And(bf65, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ And(bf65, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ And(bf65, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ And(bf65, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(bf65, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ And(bf65, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfe7cb391d650a284)
+ }
+
+ // Conversion of the second operand
+
+ Store(And(0, bf65), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(And(0xffffffffffffffff, bf65), Local0)
+ m600(arg0, 25, Local0, 0xfe7cb391d650a284)
+
+ Store(And(aui5, bf65), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(And(auij, bf65), Local0)
+ m600(arg0, 27, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Store(And(Derefof(Refof(aui5)), bf65), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(And(Derefof(Refof(auij)), bf65), Local0)
+ m600(arg0, 29, Local0, 0xfe7cb391d650a284)
+ }
+
+ Store(And(Derefof(Index(paui, 5)), bf65), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(And(Derefof(Index(paui, 19)), bf65), Local0)
+ m600(arg0, 31, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Store(And(m601(1, 5), bf65), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(And(m601(1, 19), bf65), Local0)
+ m600(arg0, 33, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(Derefof(m602(1, 5, 1)), bf65), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(And(Derefof(m602(1, 19, 1)), bf65), Local0)
+ m600(arg0, 35, Local0, 0xfe7cb391d650a284)
+ }
+
+ And(0, bf65, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ And(0xffffffffffffffff, bf65, Local0)
+ m600(arg0, 37, Local0, 0xfe7cb391d650a284)
+
+ And(aui5, bf65, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ And(auij, bf65, Local0)
+ m600(arg0, 39, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ And(Derefof(Refof(aui5)), bf65, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ And(Derefof(Refof(auij)), bf65, Local0)
+ m600(arg0, 41, Local0, 0xfe7cb391d650a284)
+ }
+
+ And(Derefof(Index(paui, 5)), bf65, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ And(Derefof(Index(paui, 19)), bf65, Local0)
+ m600(arg0, 43, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ And(m601(1, 5), bf65, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ And(m601(1, 19), bf65, Local0)
+ m600(arg0, 45, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(Derefof(m602(1, 5, 1)), bf65, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ And(Derefof(m602(1, 19, 1)), bf65, Local0)
+ m600(arg0, 47, Local0, 0xfe7cb391d650a284)
+ }
+
+ // Conversion of the both operands
+
+ Store(And(bf61, bf65), Local0)
+ m600(arg0, 48, Local0, 0x200)
+
+ Store(And(bf65, bf61), Local0)
+ m600(arg0, 49, Local0, 0x200)
+
+ And(bf61, bf65, Local0)
+ m600(arg0, 50, Local0, 0x200)
+
+ And(bf65, bf61, Local0)
+ m600(arg0, 51, Local0, 0x200)
+ }
+
+ // And, 32-bit
+ Method(m040, 1)
+ {
+ // Conversion of the first operand
+
+ Store(And(bf65, 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(And(bf65, 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0xd650a284)
+
+ Store(And(bf65, aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(And(bf65, auii), Local0)
+ m600(arg0, 3, Local0, 0xd650a284)
+
+ if (y078) {
+ Store(And(bf65, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(And(bf65, Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0xd650a284)
+ }
+
+ Store(And(bf65, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(And(bf65, Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0xd650a284)
+
+ // Method returns Integer
+
+ Store(And(bf65, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(And(bf65, m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0xd650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(bf65, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(And(bf65, Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0xd650a284)
+ }
+
+ And(bf65, 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ And(bf65, 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0xd650a284)
+
+ And(bf65, aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ And(bf65, auii, Local0)
+ m600(arg0, 15, Local0, 0xd650a284)
+
+ if (y078) {
+ And(bf65, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ And(bf65, Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0xd650a284)
+ }
+
+ And(bf65, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ And(bf65, Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0xd650a284)
+
+ // Method returns Integer
+
+ And(bf65, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ And(bf65, m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0xd650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(bf65, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ And(bf65, Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0xd650a284)
+ }
+
+ // Conversion of the second operand
+
+ Store(And(0, bf65), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(And(0xffffffff, bf65), Local0)
+ m600(arg0, 25, Local0, 0xd650a284)
+
+ Store(And(aui5, bf65), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(And(auii, bf65), Local0)
+ m600(arg0, 27, Local0, 0xd650a284)
+
+ if (y078) {
+ Store(And(Derefof(Refof(aui5)), bf65), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(And(Derefof(Refof(auii)), bf65), Local0)
+ m600(arg0, 29, Local0, 0xd650a284)
+ }
+
+ Store(And(Derefof(Index(paui, 5)), bf65), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(And(Derefof(Index(paui, 18)), bf65), Local0)
+ m600(arg0, 31, Local0, 0xd650a284)
+
+ // Method returns Integer
+
+ Store(And(m601(1, 5), bf65), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(And(m601(1, 18), bf65), Local0)
+ m600(arg0, 33, Local0, 0xd650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(Derefof(m602(1, 5, 1)), bf65), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(And(Derefof(m602(1, 18, 1)), bf65), Local0)
+ m600(arg0, 35, Local0, 0xd650a284)
+ }
+
+ And(0, bf65, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ And(0xffffffff, bf65, Local0)
+ m600(arg0, 37, Local0, 0xd650a284)
+
+ And(aui5, bf65, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ And(auii, bf65, Local0)
+ m600(arg0, 39, Local0, 0xd650a284)
+
+ if (y078) {
+ And(Derefof(Refof(aui5)), bf65, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ And(Derefof(Refof(auii)), bf65, Local0)
+ m600(arg0, 41, Local0, 0xd650a284)
+ }
+
+ And(Derefof(Index(paui, 5)), bf65, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ And(Derefof(Index(paui, 18)), bf65, Local0)
+ m600(arg0, 43, Local0, 0xd650a284)
+
+ // Method returns Integer
+
+ And(m601(1, 5), bf65, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ And(m601(1, 18), bf65, Local0)
+ m600(arg0, 45, Local0, 0xd650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(Derefof(m602(1, 5, 1)), bf65, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ And(Derefof(m602(1, 18, 1)), bf65, Local0)
+ m600(arg0, 47, Local0, 0xd650a284)
+ }
+
+ // Conversion of the both operands
+
+ Store(And(bf61, bf65), Local0)
+ m600(arg0, 48, Local0, 0x200)
+
+ Store(And(bf65, bf61), Local0)
+ m600(arg0, 49, Local0, 0x200)
+
+ And(bf61, bf65, Local0)
+ m600(arg0, 50, Local0, 0x200)
+
+ And(bf65, bf61, Local0)
+ m600(arg0, 51, Local0, 0x200)
+ }
+
+ // Divide, common 32-bit/64-bit test
+ Method(m041, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Divide(bf61, 1), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Divide(bf61, 0x321), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Divide(bf61, aui6), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Divide(bf61, aui1), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Divide(bf61, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Divide(bf61, Derefof(Refof(aui1))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Divide(bf61, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Divide(bf61, Derefof(Index(paui, 1))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(bf61, m601(1, 6)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Divide(bf61, m601(1, 1)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(bf61, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Divide(bf61, Derefof(m602(1, 1, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Divide(bf61, 1, Local1, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Divide(bf61, 0x321, Local1, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Divide(bf61, aui6, Local1, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Divide(bf61, aui1, Local1, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Divide(bf61, Derefof(Refof(aui6)), Local1, Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Divide(bf61, Derefof(Refof(aui1)), Local1, Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Divide(bf61, Derefof(Index(paui, 6)), Local1, Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Divide(bf61, Derefof(Index(paui, 1)), Local1, Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(bf61, m601(1, 6), Local1, Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Divide(bf61, m601(1, 1), Local1, Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(bf61, Derefof(m602(1, 6, 1)), Local1, Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Divide(bf61, Derefof(m602(1, 1, 1)), Local1, Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Divide(1, bf61), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Divide(0x321, bf61), Local0)
+ m600(arg0, 25, Local0, 1)
+
+ Store(Divide(aui6, bf61), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Divide(aui1, bf61), Local0)
+ m600(arg0, 27, Local0, 1)
+
+ if (y078) {
+ Store(Divide(Derefof(Refof(aui6)), bf61), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Divide(Derefof(Refof(aui1)), bf61), Local0)
+ m600(arg0, 29, Local0, 1)
+ }
+
+ Store(Divide(Derefof(Index(paui, 6)), bf61), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Divide(Derefof(Index(paui, 1)), bf61), Local0)
+ m600(arg0, 31, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(m601(1, 6), bf61), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Divide(m601(1, 1), bf61), Local0)
+ m600(arg0, 33, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(Derefof(m602(1, 6, 1)), bf61), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Divide(Derefof(m602(1, 1, 1)), bf61), Local0)
+ m600(arg0, 35, Local0, 1)
+ }
+
+ Divide(1, bf61, Local1, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Divide(0x321, bf61, Local1, Local0)
+ m600(arg0, 37, Local0, 1)
+
+ Divide(aui6, bf61, Local1, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Divide(aui1, bf61, Local1, Local0)
+ m600(arg0, 39, Local0, 1)
+
+ if (y078) {
+ Divide(Derefof(Refof(aui6)), bf61, Local1, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Divide(Derefof(Refof(aui1)), bf61, Local1, Local0)
+ m600(arg0, 41, Local0, 1)
+ }
+
+ Divide(Derefof(Index(paui, 6)), bf61, Local1, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Divide(Derefof(Index(paui, 1)), bf61, Local1, Local0)
+ m600(arg0, 43, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(m601(1, 6), bf61, Local1, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Divide(m601(1, 1), bf61, Local1, Local0)
+ m600(arg0, 45, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(Derefof(m602(1, 6, 1)), bf61, Local1, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Divide(Derefof(m602(1, 1, 1)), bf61, Local1, Local0)
+ m600(arg0, 47, Local0, 1)
+ }
+ }
+
+ // Divide, 64-bit
+ Method(m042, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Divide(bf65, 1), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(bf65, 0xfe7cb391d650a284), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Divide(bf65, aui6), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(bf65, aui4), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Divide(bf65, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(bf65, Derefof(Refof(aui4))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Divide(bf65, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(bf65, Derefof(Index(paui, 4))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(bf65, m601(1, 6)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(bf65, m601(1, 4)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(bf65, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(bf65, Derefof(m602(1, 4, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Divide(bf65, 1, Local1, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Divide(bf65, 0xfe7cb391d650a284, Local1, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Divide(bf65, aui6, Local1, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Divide(bf65, aui4, Local1, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Divide(bf65, Derefof(Refof(aui6)), Local1, Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Divide(bf65, Derefof(Refof(aui4)), Local1, Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Divide(bf65, Derefof(Index(paui, 6)), Local1, Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Divide(bf65, Derefof(Index(paui, 4)), Local1, Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(bf65, m601(1, 6), Local1, Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Divide(bf65, m601(1, 4), Local1, Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(bf65, Derefof(m602(1, 6, 1)), Local1, Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Divide(bf65, Derefof(m602(1, 4, 1)), Local1, Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Divide(1, bf65), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Divide(0xfe7cb391d650a284, bf65), Local0)
+ m600(arg0, 25, Local0, 1)
+
+ Store(Divide(aui6, bf65), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Divide(aui4, bf65), Local0)
+ m600(arg0, 27, Local0, 1)
+
+ if (y078) {
+ Store(Divide(Derefof(Refof(aui6)), bf65), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Divide(Derefof(Refof(aui4)), bf65), Local0)
+ m600(arg0, 29, Local0, 1)
+ }
+
+ Store(Divide(Derefof(Index(paui, 6)), bf65), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Divide(Derefof(Index(paui, 4)), bf65), Local0)
+ m600(arg0, 31, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(m601(1, 6), bf65), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Divide(m601(1, 4), bf65), Local0)
+ m600(arg0, 33, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(Derefof(m602(1, 6, 1)), bf65), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Divide(Derefof(m602(1, 4, 1)), bf65), Local0)
+ m600(arg0, 35, Local0, 1)
+ }
+
+ Divide(1, bf65, Local1, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Divide(0xfe7cb391d650a284, bf65, Local1, Local0)
+ m600(arg0, 37, Local0, 1)
+
+ Divide(aui6, bf65, Local1, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Divide(aui4, bf65, Local1, Local0)
+ m600(arg0, 39, Local0, 1)
+
+ if (y078) {
+ Divide(Derefof(Refof(aui6)), bf65, Local1, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Divide(Derefof(Refof(aui4)), bf65, Local1, Local0)
+ m600(arg0, 41, Local0, 1)
+ }
+
+ Divide(Derefof(Index(paui, 6)), bf65, Local1, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Divide(Derefof(Index(paui, 4)), bf65, Local1, Local0)
+ m600(arg0, 43, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(m601(1, 6), bf65, Local1, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Divide(m601(1, 4), bf65, Local1, Local0)
+ m600(arg0, 45, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(Derefof(m602(1, 6, 1)), bf65, Local1, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Divide(Derefof(m602(1, 4, 1)), bf65, Local1, Local0)
+ m600(arg0, 47, Local0, 1)
+ }
+
+ // Conversion of the both operands
+
+ Store(Divide(bf61, bf65), Local0)
+ m600(arg0, 48, Local0, 0)
+
+ Store(Divide(bf65, bf61), Local0)
+ m600(arg0, 49, Local0, 0x0051558eb950f5a7)
+
+ Divide(bf61, bf65, Local1, Local0)
+ m600(arg0, 50, Local0, 0)
+
+ Divide(bf65, bf61, Local1, Local0)
+ m600(arg0, 51, Local0, 0x0051558eb950f5a7)
+ }
+
+ // Divide, 32-bit
+ Method(m043, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Divide(bf65, 1), Local0)
+ m600(arg0, 0, Local0, 0xd650a284)
+
+ Store(Divide(bf65, 0xd650a284), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Divide(bf65, aui6), Local0)
+ m600(arg0, 2, Local0, 0xd650a284)
+
+ Store(Divide(bf65, auik), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Divide(bf65, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 4, Local0, 0xd650a284)
+
+ Store(Divide(bf65, Derefof(Refof(auik))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Divide(bf65, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 6, Local0, 0xd650a284)
+
+ Store(Divide(bf65, Derefof(Index(paui, 20))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(bf65, m601(1, 6)), Local0)
+ m600(arg0, 8, Local0, 0xd650a284)
+
+ Store(Divide(bf65, m601(1, 20)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(bf65, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 10, Local0, 0xd650a284)
+
+ Store(Divide(bf65, Derefof(m602(1, 20, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Divide(bf65, 1, Local1, Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ Divide(bf65, 0xd650a284, Local1, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Divide(bf65, aui6, Local1, Local0)
+ m600(arg0, 14, Local0, 0xd650a284)
+
+ Divide(bf65, auik, Local1, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Divide(bf65, Derefof(Refof(aui6)), Local1, Local0)
+ m600(arg0, 16, Local0, 0xd650a284)
+
+ Divide(bf65, Derefof(Refof(auik)), Local1, Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Divide(bf65, Derefof(Index(paui, 6)), Local1, Local0)
+ m600(arg0, 18, Local0, 0xd650a284)
+
+ Divide(bf65, Derefof(Index(paui, 20)), Local1, Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(bf65, m601(1, 6), Local1, Local0)
+ m600(arg0, 20, Local0, 0xd650a284)
+
+ Divide(bf65, m601(1, 20), Local1, Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(bf65, Derefof(m602(1, 6, 1)), Local1, Local0)
+ m600(arg0, 22, Local0, 0xd650a284)
+
+ Divide(bf65, Derefof(m602(1, 20, 1)), Local1, Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Divide(1, bf65), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Divide(0xd650a284, bf65), Local0)
+ m600(arg0, 25, Local0, 1)
+
+ Store(Divide(aui6, bf65), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Divide(auik, bf65), Local0)
+ m600(arg0, 27, Local0, 1)
+
+ if (y078) {
+ Store(Divide(Derefof(Refof(aui6)), bf65), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Divide(Derefof(Refof(auik)), bf65), Local0)
+ m600(arg0, 29, Local0, 1)
+ }
+
+ Store(Divide(Derefof(Index(paui, 6)), bf65), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Divide(Derefof(Index(paui, 20)), bf65), Local0)
+ m600(arg0, 31, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(m601(1, 6), bf65), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Divide(m601(1, 20), bf65), Local0)
+ m600(arg0, 33, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(Derefof(m602(1, 6, 1)), bf65), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Divide(Derefof(m602(1, 20, 1)), bf65), Local0)
+ m600(arg0, 35, Local0, 1)
+ }
+
+ Divide(1, bf65, Local1, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Divide(0xd650a284, bf65, Local1, Local0)
+ m600(arg0, 37, Local0, 1)
+
+ Divide(aui6, bf65, Local1, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Divide(auik, bf65, Local1, Local0)
+ m600(arg0, 39, Local0, 1)
+
+ if (y078) {
+ Divide(Derefof(Refof(aui6)), bf65, Local1, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Divide(Derefof(Refof(auik)), bf65, Local1, Local0)
+ m600(arg0, 41, Local0, 1)
+ }
+
+ Divide(Derefof(Index(paui, 6)), bf65, Local1, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Divide(Derefof(Index(paui, 20)), bf65, Local1, Local0)
+ m600(arg0, 43, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(m601(1, 6), bf65, Local1, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Divide(m601(1, 20), bf65, Local1, Local0)
+ m600(arg0, 45, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(Derefof(m602(1, 6, 1)), bf65, Local1, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Divide(Derefof(m602(1, 20, 1)), bf65, Local1, Local0)
+ m600(arg0, 47, Local0, 1)
+ }
+
+ // Conversion of the both operands
+
+ Store(Divide(bf61, bf65), Local0)
+ m600(arg0, 48, Local0, 0)
+
+ Store(Divide(bf65, bf61), Local0)
+ m600(arg0, 49, Local0, 0x00447ec3)
+
+ Divide(bf61, bf65, Local1, Local0)
+ m600(arg0, 50, Local0, 0)
+
+ Divide(bf65, bf61, Local1, Local0)
+ m600(arg0, 51, Local0, 0x00447ec3)
+ }
+
+ // Mod, common 32-bit/64-bit test
+ Method(m044, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Mod(bf61, 0x322), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Mod(bf61, 0x320), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Mod(bf61, auig), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Mod(bf61, auih), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Mod(bf61, Derefof(Refof(auig))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Mod(bf61, Derefof(Refof(auih))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Mod(bf61, Derefof(Index(paui, 16))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Mod(bf61, Derefof(Index(paui, 17))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Mod(bf61, m601(1, 16)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Mod(bf61, m601(1, 17)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(bf61, Derefof(m602(1, 16, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Mod(bf61, Derefof(m602(1, 17, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Mod(bf61, 0x322, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Mod(bf61, 0x320, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Mod(bf61, auig, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Mod(bf61, auih, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Mod(bf61, Derefof(Refof(auig)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Mod(bf61, Derefof(Refof(auih)), Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Mod(bf61, Derefof(Index(paui, 16)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Mod(bf61, Derefof(Index(paui, 17)), Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Mod(bf61, m601(1, 16), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Mod(bf61, m601(1, 17), Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(bf61, Derefof(m602(1, 16, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Mod(bf61, Derefof(m602(1, 17, 1)), Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Mod(0x322, bf61), Local0)
+ m600(arg0, 24, Local0, 1)
+
+ Store(Mod(0x320, bf61), Local0)
+ m600(arg0, 25, Local0, 0x320)
+
+ Store(Mod(auig, bf61), Local0)
+ m600(arg0, 26, Local0, 1)
+
+ Store(Mod(auih, bf61), Local0)
+ m600(arg0, 27, Local0, 0x320)
+
+ if (y078) {
+ Store(Mod(Derefof(Refof(auig)), bf61), Local0)
+ m600(arg0, 28, Local0, 1)
+
+ Store(Mod(Derefof(Refof(auih)), bf61), Local0)
+ m600(arg0, 29, Local0, 0x320)
+ }
+
+ Store(Mod(Derefof(Index(paui, 16)), bf61), Local0)
+ m600(arg0, 30, Local0, 1)
+
+ Store(Mod(Derefof(Index(paui, 17)), bf61), Local0)
+ m600(arg0, 31, Local0, 0x320)
+
+ // Method returns Integer
+
+ Store(Mod(m601(1, 16), bf61), Local0)
+ m600(arg0, 32, Local0, 1)
+
+ Store(Mod(m601(1, 17), bf61), Local0)
+ m600(arg0, 33, Local0, 0x320)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(Derefof(m602(1, 16, 1)), bf61), Local0)
+ m600(arg0, 34, Local0, 1)
+
+ Store(Mod(Derefof(m602(1, 17, 1)), bf61), Local0)
+ m600(arg0, 35, Local0, 0x320)
+ }
+
+ Mod(0x322, bf61, Local0)
+ m600(arg0, 36, Local0, 1)
+
+ Mod(0x320, bf61, Local0)
+ m600(arg0, 37, Local0, 0x320)
+
+ Mod(auig, bf61, Local0)
+ m600(arg0, 38, Local0, 1)
+
+ Mod(auih, bf61, Local0)
+ m600(arg0, 39, Local0, 0x320)
+
+ if (y078) {
+ Mod(Derefof(Refof(auig)), bf61, Local0)
+ m600(arg0, 40, Local0, 1)
+
+ Mod(Derefof(Refof(auih)), bf61, Local0)
+ m600(arg0, 41, Local0, 0x320)
+ }
+
+ Mod(Derefof(Index(paui, 16)), bf61, Local0)
+ m600(arg0, 42, Local0, 1)
+
+ Mod(Derefof(Index(paui, 17)), bf61, Local0)
+ m600(arg0, 43, Local0, 0x320)
+
+ // Method returns Integer
+
+ Mod(m601(1, 16), bf61, Local0)
+ m600(arg0, 44, Local0, 1)
+
+ Mod(m601(1, 17), bf61, Local0)
+ m600(arg0, 45, Local0, 0x320)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(Derefof(m602(1, 16, 1)), bf61, Local0)
+ m600(arg0, 46, Local0, 1)
+
+ Mod(Derefof(m602(1, 17, 1)), bf61, Local0)
+ m600(arg0, 47, Local0, 0x320)
+ }
+ }
+
+ // Mod, 64-bit
+ Method(m045, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Mod(bf65, 0xfe7cb391d650a285), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(bf65, 0xfe7cb391d650a283), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Mod(bf65, auid), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(bf65, auif), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Mod(bf65, Derefof(Refof(auid))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(bf65, Derefof(Refof(auif))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Mod(bf65, Derefof(Index(paui, 13))), Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(bf65, Derefof(Index(paui, 15))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Mod(bf65, m601(1, 13)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(bf65, m601(1, 15)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(bf65, Derefof(m602(1, 13, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(bf65, Derefof(m602(1, 15, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Mod(bf65, 0xfe7cb391d650a285, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Mod(bf65, 0xfe7cb391d650a283, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Mod(bf65, auid, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Mod(bf65, auif, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Mod(bf65, Derefof(Refof(auid)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Mod(bf65, Derefof(Refof(auif)), Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Mod(bf65, Derefof(Index(paui, 13)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Mod(bf65, Derefof(Index(paui, 15)), Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Mod(bf65, m601(1, 13), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Mod(bf65, m601(1, 15), Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(bf65, Derefof(m602(1, 13, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Mod(bf65, Derefof(m602(1, 15, 1)), Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Mod(0xfe7cb391d650a285, bf65), Local0)
+ m600(arg0, 24, Local0, 1)
+
+ Store(Mod(0xfe7cb391d650a283, bf65), Local0)
+ m600(arg0, 25, Local0, 0xfe7cb391d650a283)
+
+ Store(Mod(auid, bf65), Local0)
+ m600(arg0, 26, Local0, 1)
+
+ Store(Mod(auif, bf65), Local0)
+ m600(arg0, 27, Local0, 0xfe7cb391d650a283)
+
+ if (y078) {
+ Store(Mod(Derefof(Refof(auid)), bf65), Local0)
+ m600(arg0, 28, Local0, 1)
+
+ Store(Mod(Derefof(Refof(auif)), bf65), Local0)
+ m600(arg0, 29, Local0, 0xfe7cb391d650a283)
+ }
+
+ Store(Mod(Derefof(Index(paui, 13)), bf65), Local0)
+ m600(arg0, 30, Local0, 1)
+
+ Store(Mod(Derefof(Index(paui, 15)), bf65), Local0)
+ m600(arg0, 31, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Integer
+
+ Store(Mod(m601(1, 13), bf65), Local0)
+ m600(arg0, 32, Local0, 1)
+
+ Store(Mod(m601(1, 15), bf65), Local0)
+ m600(arg0, 33, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(Derefof(m602(1, 13, 1)), bf65), Local0)
+ m600(arg0, 34, Local0, 1)
+
+ Store(Mod(Derefof(m602(1, 15, 1)), bf65), Local0)
+ m600(arg0, 35, Local0, 0xfe7cb391d650a283)
+ }
+
+ Mod(0xfe7cb391d650a285, bf65, Local0)
+ m600(arg0, 36, Local0, 1)
+
+ Mod(0xfe7cb391d650a283, bf65, Local0)
+ m600(arg0, 37, Local0, 0xfe7cb391d650a283)
+
+ Mod(auid, bf65, Local0)
+ m600(arg0, 38, Local0, 1)
+
+ Mod(auif, bf65, Local0)
+ m600(arg0, 39, Local0, 0xfe7cb391d650a283)
+
+ if (y078) {
+ Mod(Derefof(Refof(auid)), bf65, Local0)
+ m600(arg0, 40, Local0, 1)
+
+ Mod(Derefof(Refof(auif)), bf65, Local0)
+ m600(arg0, 41, Local0, 0xfe7cb391d650a283)
+ }
+
+ Mod(Derefof(Index(paui, 13)), bf65, Local0)
+ m600(arg0, 42, Local0, 1)
+
+ Mod(Derefof(Index(paui, 15)), bf65, Local0)
+ m600(arg0, 43, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Integer
+
+ Mod(m601(1, 13), bf65, Local0)
+ m600(arg0, 44, Local0, 1)
+
+ Mod(m601(1, 15), bf65, Local0)
+ m600(arg0, 45, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(Derefof(m602(1, 13, 1)), bf65, Local0)
+ m600(arg0, 46, Local0, 1)
+
+ Mod(Derefof(m602(1, 15, 1)), bf65, Local0)
+ m600(arg0, 47, Local0, 0xfe7cb391d650a283)
+ }
+
+ // Conversion of the both operands
+
+ Store(Mod(bf61, bf65), Local0)
+ m600(arg0, 48, Local0, 0x321)
+
+ Store(Mod(bf65, bf61), Local0)
+ m600(arg0, 49, Local0, 0x2fd)
+
+ Mod(bf61, bf65, Local0)
+ m600(arg0, 50, Local0, 0x321)
+
+ Mod(bf65, bf61, Local0)
+ m600(arg0, 51, Local0, 0x2fd)
+ }
+
+ // Mod, 32-bit
+ Method(m046, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Mod(bf65, 0xd650a285), Local0)
+ m600(arg0, 0, Local0, 0xd650a284)
+
+ Store(Mod(bf65, 0xd650a283), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Mod(bf65, auil), Local0)
+ m600(arg0, 2, Local0, 0xd650a284)
+
+ Store(Mod(bf65, auim), Local0)
+ m600(arg0, 14, Local0, 1)
+
+ if (y078) {
+ Store(Mod(bf65, Derefof(Refof(auil))), Local0)
+ m600(arg0, 4, Local0, 0xd650a284)
+
+ Store(Mod(bf65, Derefof(Refof(auim))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Mod(bf65, Derefof(Index(paui, 21))), Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ Store(Mod(bf65, Derefof(Index(paui, 22))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Mod(bf65, m601(1, 21)), Local0)
+ m600(arg0, 8, Local0, 0xd650a284)
+
+ Store(Mod(bf65, m601(1, 22)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(bf65, Derefof(m601(1, 21, 1))), Local0)
+ m600(arg0, 10, Local0, 0xd650a284)
+
+ Store(Mod(bf65, Derefof(m601(1, 22, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Mod(bf65, 0xd650a285, Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ Mod(bf65, 0xd650a283, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Mod(bf65, auil, Local0)
+ m600(arg0, 14, Local0, 0xd650a284)
+
+ Mod(bf65, auim, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Mod(bf65, Derefof(Refof(auil)), Local0)
+ m600(arg0, 16, Local0, 0xd650a284)
+
+ Mod(bf65, Derefof(Refof(auim)), Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Mod(bf65, Derefof(Index(paui, 21)), Local0)
+ m600(arg0, 18, Local0, 0xd650a284)
+
+ Mod(bf65, Derefof(Index(paui, 22)), Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Mod(bf65, m601(1, 21), Local0)
+ m600(arg0, 20, Local0, 0xd650a284)
+
+ Mod(bf65, m601(1, 22), Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(bf65, Derefof(m601(1, 21, 1)), Local0)
+ m600(arg0, 22, Local0, 0xd650a284)
+
+ Mod(bf65, Derefof(m601(1, 22, 1)), Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Mod(0xd650a285, bf65), Local0)
+ m600(arg0, 24, Local0, 1)
+
+ Store(Mod(0xd650a283, bf65), Local0)
+ m600(arg0, 25, Local0, 0xd650a283)
+
+ Store(Mod(auil, bf65), Local0)
+ m600(arg0, 26, Local0, 1)
+
+ Store(Mod(auim, bf65), Local0)
+ m600(arg0, 27, Local0, 0xd650a283)
+
+ if (y078) {
+ Store(Mod(Derefof(Refof(auil)), bf65), Local0)
+ m600(arg0, 28, Local0, 1)
+
+ Store(Mod(Derefof(Refof(auim)), bf65), Local0)
+ m600(arg0, 29, Local0, 0xd650a283)
+ }
+
+ Store(Mod(Derefof(Index(paui, 21)), bf65), Local0)
+ m600(arg0, 30, Local0, 1)
+
+ Store(Mod(Derefof(Index(paui, 22)), bf65), Local0)
+ m600(arg0, 31, Local0, 0xd650a283)
+
+ // Method returns Integer
+
+ Store(Mod(m601(1, 21), bf65), Local0)
+ m600(arg0, 32, Local0, 1)
+
+ Store(Mod(m601(1, 22), bf65), Local0)
+ m600(arg0, 33, Local0, 0xd650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(Derefof(m601(1, 21, 1)), bf65), Local0)
+ m600(arg0, 34, Local0, 1)
+
+ Store(Mod(Derefof(m601(1, 22, 1)), bf65), Local0)
+ m600(arg0, 35, Local0, 0xd650a283)
+ }
+
+ Mod(0xd650a285, bf65, Local0)
+ m600(arg0, 36, Local0, 1)
+
+ Mod(0xd650a283, bf65, Local0)
+ m600(arg0, 37, Local0, 0xd650a283)
+
+ Mod(auil, bf65, Local0)
+ m600(arg0, 38, Local0, 1)
+
+ Mod(auim, bf65, Local0)
+ m600(arg0, 39, Local0, 0xd650a283)
+
+ if (y078) {
+ Mod(Derefof(Refof(auil)), bf65, Local0)
+ m600(arg0, 40, Local0, 1)
+
+ Mod(Derefof(Refof(auim)), bf65, Local0)
+ m600(arg0, 41, Local0, 0xd650a283)
+ }
+
+ Mod(Derefof(Index(paui, 21)), bf65, Local0)
+ m600(arg0, 42, Local0, 1)
+
+ Mod(Derefof(Index(paui, 22)), bf65, Local0)
+ m600(arg0, 43, Local0, 0xd650a283)
+
+ // Method returns Integer
+
+ Mod(m601(1, 21), bf65, Local0)
+ m600(arg0, 44, Local0, 1)
+
+ Mod(m601(1, 22), bf65, Local0)
+ m600(arg0, 45, Local0, 0xd650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(Derefof(m601(1, 21, 1)), bf65, Local0)
+ m600(arg0, 46, Local0, 1)
+
+ Mod(Derefof(m601(1, 22, 1)), bf65, Local0)
+ m600(arg0, 47, Local0, 0xd650a283)
+ }
+
+ // Conversion of the both operands
+
+ Store(Mod(bf61, bf65), Local0)
+ m600(arg0, 48, Local0, 0x321)
+
+ Store(Mod(bf65, bf61), Local0)
+ m600(arg0, 49, Local0, 0x261)
+
+ Mod(bf61, bf65, Local0)
+ m600(arg0, 50, Local0, 0x321)
+
+ Mod(bf65, bf61, Local0)
+ m600(arg0, 51, Local0, 0x261)
+ }
+
+ // Multiply, common 32-bit/64-bit test
+ Method(m047, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Multiply(bf61, 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(Multiply(bf61, 1), Local0)
+ m600(arg0, 1, Local0, 0x321)
+
+ Store(Multiply(bf61, aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(Multiply(bf61, aui6), Local0)
+ m600(arg0, 3, Local0, 0x321)
+
+ if (y078) {
+ Store(Multiply(bf61, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(Multiply(bf61, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x321)
+ }
+
+ Store(Multiply(bf61, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(Multiply(bf61, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x321)
+
+ // Method returns Integer
+
+ Store(Multiply(bf61, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(Multiply(bf61, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(bf61, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(Multiply(bf61, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x321)
+ }
+
+ Multiply(bf61, 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ Multiply(bf61, 1, Local0)
+ m600(arg0, 13, Local0, 0x321)
+
+ Multiply(bf61, aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ Multiply(bf61, aui6, Local0)
+ m600(arg0, 15, Local0, 0x321)
+
+ if (y078) {
+ Multiply(bf61, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ Multiply(bf61, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x321)
+ }
+
+ Multiply(bf61, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ Multiply(bf61, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x321)
+
+ // Method returns Integer
+
+ Multiply(bf61, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ Multiply(bf61, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(bf61, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ Multiply(bf61, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x321)
+ }
+
+ // Conversion of the second operand
+
+ Store(Multiply(0, bf61), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Multiply(1, bf61), Local0)
+ m600(arg0, 25, Local0, 0x321)
+
+ Store(Multiply(aui5, bf61), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Multiply(aui6, bf61), Local0)
+ m600(arg0, 27, Local0, 0x321)
+
+ if (y078) {
+ Store(Multiply(Derefof(Refof(aui5)), bf61), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(aui6)), bf61), Local0)
+ m600(arg0, 29, Local0, 0x321)
+ }
+
+ Store(Multiply(Derefof(Index(paui, 5)), bf61), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Multiply(Derefof(Index(paui, 6)), bf61), Local0)
+ m600(arg0, 31, Local0, 0x321)
+
+ // Method returns Integer
+
+ Store(Multiply(m601(1, 5), bf61), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Multiply(m601(1, 6), bf61), Local0)
+ m600(arg0, 33, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(Derefof(m602(1, 5, 1)), bf61), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Multiply(Derefof(m602(1, 6, 1)), bf61), Local0)
+ m600(arg0, 35, Local0, 0x321)
+ }
+
+ Multiply(0, bf61, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Multiply(1, bf61, Local0)
+ m600(arg0, 37, Local0, 0x321)
+
+ Multiply(aui5, bf61, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Multiply(aui6, bf61, Local0)
+ m600(arg0, 39, Local0, 0x321)
+
+ if (y078) {
+ Multiply(Derefof(Refof(aui5)), bf61, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Multiply(Derefof(Refof(aui6)), bf61, Local0)
+ m600(arg0, 41, Local0, 0x321)
+ }
+
+ Multiply(Derefof(Index(paui, 5)), bf61, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Multiply(Derefof(Index(paui, 6)), bf61, Local0)
+ m600(arg0, 43, Local0, 0x321)
+
+ // Method returns Integer
+
+ Multiply(m601(1, 5), bf61, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Multiply(m601(1, 6), bf61, Local0)
+ m600(arg0, 45, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(Derefof(m602(1, 5, 1)), bf61, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Multiply(Derefof(m602(1, 6, 1)), bf61, Local0)
+ m600(arg0, 47, Local0, 0x321)
+ }
+ }
+
+ // Multiply, 64-bit
+ Method(m048, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Multiply(bf65, 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(Multiply(bf65, 1), Local0)
+ m600(arg0, 1, Local0, 0xfe7cb391d650a284)
+
+ Store(Multiply(bf65, aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(Multiply(bf65, aui6), Local0)
+ m600(arg0, 3, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Store(Multiply(bf65, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(Multiply(bf65, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xfe7cb391d650a284)
+ }
+
+ Store(Multiply(bf65, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(Multiply(bf65, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Store(Multiply(bf65, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(Multiply(bf65, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(bf65, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(Multiply(bf65, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfe7cb391d650a284)
+ }
+
+ Multiply(bf65, 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ Multiply(bf65, 1, Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a284)
+
+ Multiply(bf65, aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ Multiply(bf65, aui6, Local0)
+ m600(arg0, 15, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Multiply(bf65, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ Multiply(bf65, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xfe7cb391d650a284)
+ }
+
+ Multiply(bf65, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ Multiply(bf65, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Multiply(bf65, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ Multiply(bf65, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(bf65, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ Multiply(bf65, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfe7cb391d650a284)
+ }
+
+ // Conversion of the second operand
+
+ Store(Multiply(0, bf65), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Multiply(1, bf65), Local0)
+ m600(arg0, 25, Local0, 0xfe7cb391d650a284)
+
+ Store(Multiply(aui5, bf65), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Multiply(aui6, bf65), Local0)
+ m600(arg0, 27, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Store(Multiply(Derefof(Refof(aui5)), bf65), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(aui6)), bf65), Local0)
+ m600(arg0, 29, Local0, 0xfe7cb391d650a284)
+ }
+
+ Store(Multiply(Derefof(Index(paui, 5)), bf65), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Multiply(Derefof(Index(paui, 6)), bf65), Local0)
+ m600(arg0, 31, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Store(Multiply(m601(1, 5), bf65), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Multiply(m601(1, 6), bf65), Local0)
+ m600(arg0, 33, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(Derefof(m602(1, 5, 1)), bf65), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Multiply(Derefof(m602(1, 6, 1)), bf65), Local0)
+ m600(arg0, 35, Local0, 0xfe7cb391d650a284)
+ }
+
+ Multiply(0, bf65, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Multiply(1, bf65, Local0)
+ m600(arg0, 37, Local0, 0xfe7cb391d650a284)
+
+ Multiply(aui5, bf65, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Multiply(aui6, bf65, Local0)
+ m600(arg0, 39, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Multiply(Derefof(Refof(aui5)), bf65, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Multiply(Derefof(Refof(aui6)), bf65, Local0)
+ m600(arg0, 41, Local0, 0xfe7cb391d650a284)
+ }
+
+ Multiply(Derefof(Index(paui, 5)), bf65, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Multiply(Derefof(Index(paui, 6)), bf65, Local0)
+ m600(arg0, 43, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Multiply(m601(1, 5), bf65, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Multiply(m601(1, 6), bf65, Local0)
+ m600(arg0, 45, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(Derefof(m602(1, 5, 1)), bf65, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Multiply(Derefof(m602(1, 6, 1)), bf65, Local0)
+ m600(arg0, 47, Local0, 0xfe7cb391d650a284)
+ }
+
+ // Conversion of the both operands
+
+ Store(Multiply(bf61, bf65), Local0)
+ m600(arg0, 48, Local0, 0x442ddb4f924c7f04)
+
+ Store(Multiply(bf65, bf61), Local0)
+ m600(arg0, 49, Local0, 0x442ddb4f924c7f04)
+
+ Multiply(bf61, bf65, Local0)
+ m600(arg0, 50, Local0, 0x442ddb4f924c7f04)
+
+ Multiply(bf65, bf61, Local0)
+ m600(arg0, 51, Local0, 0x442ddb4f924c7f04)
+ }
+
+ // Multiply, 32-bit
+ Method(m049, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Multiply(bf65, 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(Multiply(bf65, 1), Local0)
+ m600(arg0, 1, Local0, 0xd650a284)
+
+ Store(Multiply(bf65, aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(Multiply(bf65, aui6), Local0)
+ m600(arg0, 3, Local0, 0xd650a284)
+
+ if (y078) {
+ Store(Multiply(bf65, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(Multiply(bf65, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xd650a284)
+ }
+
+ Store(Multiply(bf65, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(Multiply(bf65, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xd650a284)
+
+ // Method returns Integer
+
+ Store(Multiply(bf65, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(Multiply(bf65, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xd650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(bf65, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(Multiply(bf65, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xd650a284)
+ }
+
+ Multiply(bf65, 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ Multiply(bf65, 1, Local0)
+ m600(arg0, 13, Local0, 0xd650a284)
+
+ Multiply(bf65, aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ Multiply(bf65, aui6, Local0)
+ m600(arg0, 15, Local0, 0xd650a284)
+
+ if (y078) {
+ Multiply(bf65, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ Multiply(bf65, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xd650a284)
+ }
+
+ Multiply(bf65, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ Multiply(bf65, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xd650a284)
+
+ // Method returns Integer
+
+ Multiply(bf65, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ Multiply(bf65, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xd650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(bf65, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ Multiply(bf65, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xd650a284)
+ }
+
+ // Conversion of the second operand
+
+ Store(Multiply(0, bf65), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Multiply(1, bf65), Local0)
+ m600(arg0, 25, Local0, 0xd650a284)
+
+ Store(Multiply(aui5, bf65), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Multiply(aui6, bf65), Local0)
+ m600(arg0, 27, Local0, 0xd650a284)
+
+ if (y078) {
+ Store(Multiply(Derefof(Refof(aui5)), bf65), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(aui6)), bf65), Local0)
+ m600(arg0, 29, Local0, 0xd650a284)
+ }
+
+ Store(Multiply(Derefof(Index(paui, 5)), bf65), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Multiply(Derefof(Index(paui, 6)), bf65), Local0)
+ m600(arg0, 31, Local0, 0xd650a284)
+
+ // Method returns Integer
+
+ Store(Multiply(m601(1, 5), bf65), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Multiply(m601(1, 6), bf65), Local0)
+ m600(arg0, 33, Local0, 0xd650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(Derefof(m602(1, 5, 1)), bf65), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Multiply(Derefof(m602(1, 6, 1)), bf65), Local0)
+ m600(arg0, 35, Local0, 0xd650a284)
+ }
+
+ Multiply(0, bf65, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Multiply(1, bf65, Local0)
+ m600(arg0, 37, Local0, 0xd650a284)
+
+ Multiply(aui5, bf65, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Multiply(aui6, bf65, Local0)
+ m600(arg0, 39, Local0, 0xd650a284)
+
+ if (y078) {
+ Multiply(Derefof(Refof(aui5)), bf65, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Multiply(Derefof(Refof(aui6)), bf65, Local0)
+ m600(arg0, 41, Local0, 0xd650a284)
+ }
+
+ Multiply(Derefof(Index(paui, 5)), bf65, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Multiply(Derefof(Index(paui, 6)), bf65, Local0)
+ m600(arg0, 43, Local0, 0xd650a284)
+
+ // Method returns Integer
+
+ Multiply(m601(1, 5), bf65, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Multiply(m601(1, 6), bf65, Local0)
+ m600(arg0, 45, Local0, 0xd650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(Derefof(m602(1, 5, 1)), bf65, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Multiply(Derefof(m602(1, 6, 1)), bf65, Local0)
+ m600(arg0, 47, Local0, 0xd650a284)
+ }
+
+ // Conversion of the both operands
+
+ Store(Multiply(bf61, bf65), Local0)
+ m600(arg0, 48, Local0, 0x924c7f04)
+
+ Store(Multiply(bf65, bf61), Local0)
+ m600(arg0, 49, Local0, 0x924c7f04)
+
+ Multiply(bf61, bf65, Local0)
+ m600(arg0, 50, Local0, 0x924c7f04)
+
+ Multiply(bf65, bf61, Local0)
+ m600(arg0, 51, Local0, 0x924c7f04)
+ }
+
+ // NAnd, common 32-bit/64-bit test
+ Method(m04a, 1)
+ {
+ // Conversion of the first operand
+
+ Store(NAnd(bf61, 0), Local0)
+ m600(arg0, 0, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(bf61, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xfffffffffffffcde)
+
+ Store(NAnd(bf61, aui5), Local0)
+ m600(arg0, 2, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(bf61, auij), Local0)
+ m600(arg0, 3, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ Store(NAnd(bf61, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(bf61, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xfffffffffffffcde)
+ }
+
+ Store(NAnd(bf61, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(bf61, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ Store(NAnd(bf61, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(bf61, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(bf61, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(bf61, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfffffffffffffcde)
+ }
+
+ NAnd(bf61, 0, Local0)
+ m600(arg0, 12, Local0, 0xffffffffffffffff)
+
+ NAnd(bf61, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xfffffffffffffcde)
+
+ NAnd(bf61, aui5, Local0)
+ m600(arg0, 14, Local0, 0xffffffffffffffff)
+
+ NAnd(bf61, auij, Local0)
+ m600(arg0, 15, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ NAnd(bf61, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xffffffffffffffff)
+
+ NAnd(bf61, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xfffffffffffffcde)
+ }
+
+ NAnd(bf61, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xffffffffffffffff)
+
+ NAnd(bf61, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ NAnd(bf61, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xffffffffffffffff)
+
+ NAnd(bf61, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(bf61, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xffffffffffffffff)
+
+ NAnd(bf61, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfffffffffffffcde)
+ }
+
+ // Conversion of the second operand
+
+ Store(NAnd(0, bf61), Local0)
+ m600(arg0, 24, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(0xffffffffffffffff, bf61), Local0)
+ m600(arg0, 25, Local0, 0xfffffffffffffcde)
+
+ Store(NAnd(aui5, bf61), Local0)
+ m600(arg0, 26, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(auij, bf61), Local0)
+ m600(arg0, 27, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ Store(NAnd(Derefof(Refof(aui5)), bf61), Local0)
+ m600(arg0, 28, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Refof(auij)), bf61), Local0)
+ m600(arg0, 29, Local0, 0xfffffffffffffcde)
+ }
+
+ Store(NAnd(Derefof(Index(paui, 5)), bf61), Local0)
+ m600(arg0, 30, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Index(paui, 19)), bf61), Local0)
+ m600(arg0, 31, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ Store(NAnd(m601(1, 5), bf61), Local0)
+ m600(arg0, 32, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(m601(1, 19), bf61), Local0)
+ m600(arg0, 33, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(Derefof(m602(1, 5, 1)), bf61), Local0)
+ m600(arg0, 34, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(m602(1, 19, 1)), bf61), Local0)
+ m600(arg0, 35, Local0, 0xfffffffffffffcde)
+ }
+
+ NAnd(0, bf61, Local0)
+ m600(arg0, 36, Local0, 0xffffffffffffffff)
+
+ NAnd(0xffffffffffffffff, bf61, Local0)
+ m600(arg0, 37, Local0, 0xfffffffffffffcde)
+
+ NAnd(aui5, bf61, Local0)
+ m600(arg0, 38, Local0, 0xffffffffffffffff)
+
+ NAnd(auij, bf61, Local0)
+ m600(arg0, 39, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ NAnd(Derefof(Refof(aui5)), bf61, Local0)
+ m600(arg0, 40, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Refof(auij)), bf61, Local0)
+ m600(arg0, 41, Local0, 0xfffffffffffffcde)
+ }
+
+ NAnd(Derefof(Index(paui, 5)), bf61, Local0)
+ m600(arg0, 42, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Index(paui, 19)), bf61, Local0)
+ m600(arg0, 43, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ NAnd(m601(1, 5), bf61, Local0)
+ m600(arg0, 44, Local0, 0xffffffffffffffff)
+
+ NAnd(m601(1, 19), bf61, Local0)
+ m600(arg0, 45, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(Derefof(m602(1, 5, 1)), bf61, Local0)
+ m600(arg0, 46, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(m602(1, 19, 1)), bf61, Local0)
+ m600(arg0, 47, Local0, 0xfffffffffffffcde)
+ }
+ }
+
+ // NAnd, 64-bit
+ Method(m04b, 1)
+ {
+ // Conversion of the first operand
+
+ Store(NAnd(bf65, 0), Local0)
+ m600(arg0, 0, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(bf65, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0x01834c6e29af5d7b)
+
+ Store(NAnd(bf65, aui5), Local0)
+ m600(arg0, 2, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(bf65, auij), Local0)
+ m600(arg0, 3, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ Store(NAnd(bf65, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(bf65, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Store(NAnd(bf65, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(bf65, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ Store(NAnd(bf65, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(bf65, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(bf65, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(bf65, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0x01834c6e29af5d7b)
+ }
+
+ NAnd(bf65, 0, Local0)
+ m600(arg0, 12, Local0, 0xffffffffffffffff)
+
+ NAnd(bf65, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0x01834c6e29af5d7b)
+
+ NAnd(bf65, aui5, Local0)
+ m600(arg0, 14, Local0, 0xffffffffffffffff)
+
+ NAnd(bf65, auij, Local0)
+ m600(arg0, 15, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ NAnd(bf65, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xffffffffffffffff)
+
+ NAnd(bf65, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0x01834c6e29af5d7b)
+ }
+
+ NAnd(bf65, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xffffffffffffffff)
+
+ NAnd(bf65, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ NAnd(bf65, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xffffffffffffffff)
+
+ NAnd(bf65, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(bf65, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xffffffffffffffff)
+
+ NAnd(bf65, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0x01834c6e29af5d7b)
+ }
+
+ // Conversion of the second operand
+
+ Store(NAnd(0, bf65), Local0)
+ m600(arg0, 24, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(0xffffffffffffffff, bf65), Local0)
+ m600(arg0, 25, Local0, 0x01834c6e29af5d7b)
+
+ Store(NAnd(aui5, bf65), Local0)
+ m600(arg0, 26, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(auij, bf65), Local0)
+ m600(arg0, 27, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ Store(NAnd(Derefof(Refof(aui5)), bf65), Local0)
+ m600(arg0, 28, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Refof(auij)), bf65), Local0)
+ m600(arg0, 29, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Store(NAnd(Derefof(Index(paui, 5)), bf65), Local0)
+ m600(arg0, 30, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Index(paui, 19)), bf65), Local0)
+ m600(arg0, 31, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ Store(NAnd(m601(1, 5), bf65), Local0)
+ m600(arg0, 32, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(m601(1, 19), bf65), Local0)
+ m600(arg0, 33, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(Derefof(m602(1, 5, 1)), bf65), Local0)
+ m600(arg0, 34, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(m602(1, 19, 1)), bf65), Local0)
+ m600(arg0, 35, Local0, 0x01834c6e29af5d7b)
+ }
+
+ NAnd(0, bf65, Local0)
+ m600(arg0, 36, Local0, 0xffffffffffffffff)
+
+ NAnd(0xffffffffffffffff, bf65, Local0)
+ m600(arg0, 37, Local0, 0x01834c6e29af5d7b)
+
+ NAnd(aui5, bf65, Local0)
+ m600(arg0, 38, Local0, 0xffffffffffffffff)
+
+ NAnd(auij, bf65, Local0)
+ m600(arg0, 39, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ NAnd(Derefof(Refof(aui5)), bf65, Local0)
+ m600(arg0, 40, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Refof(auij)), bf65, Local0)
+ m600(arg0, 41, Local0, 0x01834c6e29af5d7b)
+ }
+
+ NAnd(Derefof(Index(paui, 5)), bf65, Local0)
+ m600(arg0, 42, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Index(paui, 19)), bf65, Local0)
+ m600(arg0, 43, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ NAnd(m601(1, 5), bf65, Local0)
+ m600(arg0, 44, Local0, 0xffffffffffffffff)
+
+ NAnd(m601(1, 19), bf65, Local0)
+ m600(arg0, 45, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(Derefof(m602(1, 5, 1)), bf65, Local0)
+ m600(arg0, 46, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(m602(1, 19, 1)), bf65, Local0)
+ m600(arg0, 47, Local0, 0x01834c6e29af5d7b)
+ }
+
+ // Conversion of the both operands
+
+ Store(NAnd(bf61, bf65), Local0)
+ m600(arg0, 48, Local0, 0xfffffffffffffdff)
+
+ Store(NAnd(bf65, bf61), Local0)
+ m600(arg0, 49, Local0, 0xfffffffffffffdff)
+
+ NAnd(bf61, bf65, Local0)
+ m600(arg0, 50, Local0, 0xfffffffffffffdff)
+
+ NAnd(bf65, bf61, Local0)
+ m600(arg0, 51, Local0, 0xfffffffffffffdff)
+ }
+
+ // NAnd, 32-bit
+ Method(m04c, 1)
+ {
+ // Conversion of the first operand
+
+ Store(NAnd(bf65, 0), Local0)
+ m600(arg0, 0, Local0, 0xffffffff)
+
+ Store(NAnd(bf65, 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0x29af5d7b)
+
+ Store(NAnd(bf65, aui5), Local0)
+ m600(arg0, 2, Local0, 0xffffffff)
+
+ Store(NAnd(bf65, auii), Local0)
+ m600(arg0, 3, Local0, 0x29af5d7b)
+
+ if (y078) {
+ Store(NAnd(bf65, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xffffffff)
+
+ Store(NAnd(bf65, Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0x29af5d7b)
+ }
+
+ Store(NAnd(bf65, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xffffffff)
+
+ Store(NAnd(bf65, Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0x29af5d7b)
+
+ // Method returns Integer
+
+ Store(NAnd(bf65, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xffffffff)
+
+ Store(NAnd(bf65, m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0x29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(bf65, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xffffffff)
+
+ Store(NAnd(bf65, Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0x29af5d7b)
+ }
+
+ NAnd(bf65, 0, Local0)
+ m600(arg0, 12, Local0, 0xffffffff)
+
+ NAnd(bf65, 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0x29af5d7b)
+
+ NAnd(bf65, aui5, Local0)
+ m600(arg0, 14, Local0, 0xffffffff)
+
+ NAnd(bf65, auii, Local0)
+ m600(arg0, 15, Local0, 0x29af5d7b)
+
+ if (y078) {
+ NAnd(bf65, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xffffffff)
+
+ NAnd(bf65, Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0x29af5d7b)
+ }
+
+ NAnd(bf65, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xffffffff)
+
+ NAnd(bf65, Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0x29af5d7b)
+
+ // Method returns Integer
+
+ NAnd(bf65, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xffffffff)
+
+ NAnd(bf65, m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0x29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(bf65, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xffffffff)
+
+ NAnd(bf65, Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0x29af5d7b)
+ }
+
+ // Conversion of the second operand
+
+ Store(NAnd(0, bf65), Local0)
+ m600(arg0, 24, Local0, 0xffffffff)
+
+ Store(NAnd(0xffffffff, bf65), Local0)
+ m600(arg0, 25, Local0, 0x29af5d7b)
+
+ Store(NAnd(aui5, bf65), Local0)
+ m600(arg0, 26, Local0, 0xffffffff)
+
+ Store(NAnd(auii, bf65), Local0)
+ m600(arg0, 27, Local0, 0x29af5d7b)
+
+ if (y078) {
+ Store(NAnd(Derefof(Refof(aui5)), bf65), Local0)
+ m600(arg0, 28, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(Refof(auii)), bf65), Local0)
+ m600(arg0, 29, Local0, 0x29af5d7b)
+ }
+
+ Store(NAnd(Derefof(Index(paui, 5)), bf65), Local0)
+ m600(arg0, 30, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(Index(paui, 18)), bf65), Local0)
+ m600(arg0, 31, Local0, 0x29af5d7b)
+
+ // Method returns Integer
+
+ Store(NAnd(m601(1, 5), bf65), Local0)
+ m600(arg0, 32, Local0, 0xffffffff)
+
+ Store(NAnd(m601(1, 18), bf65), Local0)
+ m600(arg0, 33, Local0, 0x29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(Derefof(m602(1, 5, 1)), bf65), Local0)
+ m600(arg0, 34, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(m602(1, 18, 1)), bf65), Local0)
+ m600(arg0, 35, Local0, 0x29af5d7b)
+ }
+
+ NAnd(0, bf65, Local0)
+ m600(arg0, 36, Local0, 0xffffffff)
+
+ NAnd(0xffffffff, bf65, Local0)
+ m600(arg0, 37, Local0, 0x29af5d7b)
+
+ NAnd(aui5, bf65, Local0)
+ m600(arg0, 38, Local0, 0xffffffff)
+
+ NAnd(auii, bf65, Local0)
+ m600(arg0, 39, Local0, 0x29af5d7b)
+
+ if (y078) {
+ NAnd(Derefof(Refof(aui5)), bf65, Local0)
+ m600(arg0, 40, Local0, 0xffffffff)
+
+ NAnd(Derefof(Refof(auii)), bf65, Local0)
+ m600(arg0, 41, Local0, 0x29af5d7b)
+ }
+
+ NAnd(Derefof(Index(paui, 5)), bf65, Local0)
+ m600(arg0, 42, Local0, 0xffffffff)
+
+ NAnd(Derefof(Index(paui, 18)), bf65, Local0)
+ m600(arg0, 43, Local0, 0x29af5d7b)
+
+ // Method returns Integer
+
+ NAnd(m601(1, 5), bf65, Local0)
+ m600(arg0, 44, Local0, 0xffffffff)
+
+ NAnd(m601(1, 18), bf65, Local0)
+ m600(arg0, 45, Local0, 0x29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(Derefof(m602(1, 5, 1)), bf65, Local0)
+ m600(arg0, 46, Local0, 0xffffffff)
+
+ NAnd(Derefof(m602(1, 18, 1)), bf65, Local0)
+ m600(arg0, 47, Local0, 0x29af5d7b)
+ }
+
+ // Conversion of the both operands
+
+ Store(NAnd(bf61, bf65), Local0)
+ m600(arg0, 48, Local0, 0xfffffdff)
+
+ Store(NAnd(bf65, bf61), Local0)
+ m600(arg0, 49, Local0, 0xfffffdff)
+
+ NAnd(bf61, bf65, Local0)
+ m600(arg0, 50, Local0, 0xfffffdff)
+
+ NAnd(bf65, bf61, Local0)
+ m600(arg0, 51, Local0, 0xfffffdff)
+ }
+
+ // NOr, common 32-bit/64-bit test
+ Method(m04d, 1)
+ {
+ // Conversion of the first operand
+
+ Store(NOr(bf61, 0), Local0)
+ m600(arg0, 0, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(bf61, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0)
+
+ Store(NOr(bf61, aui5), Local0)
+ m600(arg0, 2, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(bf61, auij), Local0)
+ m600(arg0, 3, Local0, 0)
+
+ if (y078) {
+ Store(NOr(bf61, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(bf61, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0)
+ }
+
+ Store(NOr(bf61, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(bf61, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(bf61, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(bf61, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(bf61, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(bf61, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0)
+ }
+
+ NOr(bf61, 0, Local0)
+ m600(arg0, 12, Local0, 0xfffffffffffffcde)
+
+ NOr(bf61, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0)
+
+ NOr(bf61, aui5, Local0)
+ m600(arg0, 14, Local0, 0xfffffffffffffcde)
+
+ NOr(bf61, auij, Local0)
+ m600(arg0, 15, Local0, 0)
+
+ if (y078) {
+ NOr(bf61, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfffffffffffffcde)
+
+ NOr(bf61, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0)
+ }
+
+ NOr(bf61, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfffffffffffffcde)
+
+ NOr(bf61, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(bf61, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfffffffffffffcde)
+
+ NOr(bf61, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(bf61, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfffffffffffffcde)
+
+ NOr(bf61, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0)
+ }
+
+ // Conversion of the second operand
+
+ Store(NOr(0, bf61), Local0)
+ m600(arg0, 24, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(0xffffffffffffffff, bf61), Local0)
+ m600(arg0, 25, Local0, 0)
+
+ Store(NOr(aui5, bf61), Local0)
+ m600(arg0, 26, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(auij, bf61), Local0)
+ m600(arg0, 27, Local0, 0)
+
+ if (y078) {
+ Store(NOr(Derefof(Refof(aui5)), bf61), Local0)
+ m600(arg0, 28, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(Refof(auij)), bf61), Local0)
+ m600(arg0, 29, Local0, 0)
+ }
+
+ Store(NOr(Derefof(Index(paui, 5)), bf61), Local0)
+ m600(arg0, 30, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(Index(paui, 19)), bf61), Local0)
+ m600(arg0, 31, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(m601(1, 5), bf61), Local0)
+ m600(arg0, 32, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(m601(1, 19), bf61), Local0)
+ m600(arg0, 33, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(Derefof(m602(1, 5, 1)), bf61), Local0)
+ m600(arg0, 34, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(m602(1, 19, 1)), bf61), Local0)
+ m600(arg0, 35, Local0, 0)
+ }
+
+ NOr(0, bf61, Local0)
+ m600(arg0, 36, Local0, 0xfffffffffffffcde)
+
+ NOr(0xffffffffffffffff, bf61, Local0)
+ m600(arg0, 37, Local0, 0)
+
+ NOr(aui5, bf61, Local0)
+ m600(arg0, 38, Local0, 0xfffffffffffffcde)
+
+ NOr(auij, bf61, Local0)
+ m600(arg0, 39, Local0, 0)
+
+ if (y078) {
+ NOr(Derefof(Refof(aui5)), bf61, Local0)
+ m600(arg0, 40, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(Refof(auij)), bf61, Local0)
+ m600(arg0, 41, Local0, 0)
+ }
+
+ NOr(Derefof(Index(paui, 5)), bf61, Local0)
+ m600(arg0, 42, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(Index(paui, 19)), bf61, Local0)
+ m600(arg0, 43, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(m601(1, 5), bf61, Local0)
+ m600(arg0, 44, Local0, 0xfffffffffffffcde)
+
+ NOr(m601(1, 19), bf61, Local0)
+ m600(arg0, 45, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(Derefof(m602(1, 5, 1)), bf61, Local0)
+ m600(arg0, 46, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(m602(1, 19, 1)), bf61, Local0)
+ m600(arg0, 47, Local0, 0)
+ }
+ }
+
+ // NOr, 64-bit
+ Method(m04e, 1)
+ {
+ // Conversion of the first operand
+
+ Store(NOr(bf65, 0), Local0)
+ m600(arg0, 0, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(bf65, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0)
+
+ Store(NOr(bf65, aui5), Local0)
+ m600(arg0, 2, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(bf65, auij), Local0)
+ m600(arg0, 3, Local0, 0)
+
+ if (y078) {
+ Store(NOr(bf65, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(bf65, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0)
+ }
+
+ Store(NOr(bf65, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(bf65, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(bf65, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(bf65, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(bf65, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(bf65, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0)
+ }
+
+ NOr(bf65, 0, Local0)
+ m600(arg0, 12, Local0, 0x01834c6e29af5d7b)
+
+ NOr(bf65, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0)
+
+ NOr(bf65, aui5, Local0)
+ m600(arg0, 14, Local0, 0x01834c6e29af5d7b)
+
+ NOr(bf65, auij, Local0)
+ m600(arg0, 15, Local0, 0)
+
+ if (y078) {
+ NOr(bf65, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x01834c6e29af5d7b)
+
+ NOr(bf65, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0)
+ }
+
+ NOr(bf65, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x01834c6e29af5d7b)
+
+ NOr(bf65, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(bf65, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x01834c6e29af5d7b)
+
+ NOr(bf65, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(bf65, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x01834c6e29af5d7b)
+
+ NOr(bf65, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0)
+ }
+
+ // Conversion of the second operand
+
+ Store(NOr(0, bf65), Local0)
+ m600(arg0, 24, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(0xffffffffffffffff, bf65), Local0)
+ m600(arg0, 25, Local0, 0)
+
+ Store(NOr(aui5, bf65), Local0)
+ m600(arg0, 26, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(auij, bf65), Local0)
+ m600(arg0, 27, Local0, 0)
+
+ if (y078) {
+ Store(NOr(Derefof(Refof(aui5)), bf65), Local0)
+ m600(arg0, 28, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(Refof(auij)), bf65), Local0)
+ m600(arg0, 29, Local0, 0)
+ }
+
+ Store(NOr(Derefof(Index(paui, 5)), bf65), Local0)
+ m600(arg0, 30, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(Index(paui, 19)), bf65), Local0)
+ m600(arg0, 31, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(m601(1, 5), bf65), Local0)
+ m600(arg0, 32, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(m601(1, 19), bf65), Local0)
+ m600(arg0, 33, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(Derefof(m602(1, 5, 1)), bf65), Local0)
+ m600(arg0, 34, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(m602(1, 19, 1)), bf65), Local0)
+ m600(arg0, 35, Local0, 0)
+ }
+
+ NOr(0, bf65, Local0)
+ m600(arg0, 36, Local0, 0x01834c6e29af5d7b)
+
+ NOr(0xffffffffffffffff, bf65, Local0)
+ m600(arg0, 37, Local0, 0)
+
+ NOr(aui5, bf65, Local0)
+ m600(arg0, 38, Local0, 0x01834c6e29af5d7b)
+
+ NOr(auij, bf65, Local0)
+ m600(arg0, 39, Local0, 0)
+
+ if (y078) {
+ NOr(Derefof(Refof(aui5)), bf65, Local0)
+ m600(arg0, 40, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(Refof(auij)), bf65, Local0)
+ m600(arg0, 41, Local0, 0)
+ }
+
+ NOr(Derefof(Index(paui, 5)), bf65, Local0)
+ m600(arg0, 42, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(Index(paui, 19)), bf65, Local0)
+ m600(arg0, 43, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(m601(1, 5), bf65, Local0)
+ m600(arg0, 44, Local0, 0x01834c6e29af5d7b)
+
+ NOr(m601(1, 19), bf65, Local0)
+ m600(arg0, 45, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(Derefof(m602(1, 5, 1)), bf65, Local0)
+ m600(arg0, 46, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(m602(1, 19, 1)), bf65, Local0)
+ m600(arg0, 47, Local0, 0)
+ }
+
+ // Conversion of the both operands
+
+ Store(NOr(bf61, bf65), Local0)
+ m600(arg0, 48, Local0, 0x01834c6e29af5c5a)
+
+ Store(NOr(bf65, bf61), Local0)
+ m600(arg0, 49, Local0, 0x01834c6e29af5c5a)
+
+ NOr(bf61, bf65, Local0)
+ m600(arg0, 50, Local0, 0x01834c6e29af5c5a)
+
+ NOr(bf65, bf61, Local0)
+ m600(arg0, 51, Local0, 0x01834c6e29af5c5a)
+ }
+
+ // NOr, 32-bit
+ Method(m04f, 1)
+ {
+ // Conversion of the first operand
+
+ Store(NOr(bf65, 0), Local0)
+ m600(arg0, 0, Local0, 0x29af5d7b)
+
+ Store(NOr(bf65, 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0)
+
+ Store(NOr(bf65, aui5), Local0)
+ m600(arg0, 2, Local0, 0x29af5d7b)
+
+ Store(NOr(bf65, auii), Local0)
+ m600(arg0, 3, Local0, 0)
+
+ if (y078) {
+ Store(NOr(bf65, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x29af5d7b)
+
+ Store(NOr(bf65, Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0)
+ }
+
+ Store(NOr(bf65, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x29af5d7b)
+
+ Store(NOr(bf65, Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(bf65, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x29af5d7b)
+
+ Store(NOr(bf65, m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(bf65, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x29af5d7b)
+
+ Store(NOr(bf65, Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0)
+ }
+
+ NOr(bf65, 0, Local0)
+ m600(arg0, 12, Local0, 0x29af5d7b)
+
+ NOr(bf65, 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0)
+
+ NOr(bf65, aui5, Local0)
+ m600(arg0, 14, Local0, 0x29af5d7b)
+
+ NOr(bf65, auii, Local0)
+ m600(arg0, 15, Local0, 0)
+
+ if (y078) {
+ NOr(bf65, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x29af5d7b)
+
+ NOr(bf65, Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0)
+ }
+
+ NOr(bf65, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x29af5d7b)
+
+ NOr(bf65, Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(bf65, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x29af5d7b)
+
+ NOr(bf65, m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(bf65, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x29af5d7b)
+
+ NOr(bf65, Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0)
+ }
+
+ // Conversion of the second operand
+
+ Store(NOr(0, bf65), Local0)
+ m600(arg0, 24, Local0, 0x29af5d7b)
+
+ Store(NOr(0xffffffff, bf65), Local0)
+ m600(arg0, 25, Local0, 0)
+
+ Store(NOr(aui5, bf65), Local0)
+ m600(arg0, 26, Local0, 0x29af5d7b)
+
+ Store(NOr(auii, bf65), Local0)
+ m600(arg0, 27, Local0, 0)
+
+ if (y078) {
+ Store(NOr(Derefof(Refof(aui5)), bf65), Local0)
+ m600(arg0, 28, Local0, 0x29af5d7b)
+
+ Store(NOr(Derefof(Refof(auii)), bf65), Local0)
+ m600(arg0, 29, Local0, 0)
+ }
+
+ Store(NOr(Derefof(Index(paui, 5)), bf65), Local0)
+ m600(arg0, 30, Local0, 0x29af5d7b)
+
+ Store(NOr(Derefof(Index(paui, 18)), bf65), Local0)
+ m600(arg0, 31, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(m601(1, 5), bf65), Local0)
+ m600(arg0, 32, Local0, 0x29af5d7b)
+
+ Store(NOr(m601(1, 18), bf65), Local0)
+ m600(arg0, 33, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(Derefof(m602(1, 5, 1)), bf65), Local0)
+ m600(arg0, 34, Local0, 0x29af5d7b)
+
+ Store(NOr(Derefof(m602(1, 18, 1)), bf65), Local0)
+ m600(arg0, 35, Local0, 0)
+ }
+
+ NOr(0, bf65, Local0)
+ m600(arg0, 36, Local0, 0x29af5d7b)
+
+ NOr(0xffffffff, bf65, Local0)
+ m600(arg0, 37, Local0, 0)
+
+ NOr(aui5, bf65, Local0)
+ m600(arg0, 38, Local0, 0x29af5d7b)
+
+ NOr(auii, bf65, Local0)
+ m600(arg0, 39, Local0, 0)
+
+ if (y078) {
+ NOr(Derefof(Refof(aui5)), bf65, Local0)
+ m600(arg0, 40, Local0, 0x29af5d7b)
+
+ NOr(Derefof(Refof(auii)), bf65, Local0)
+ m600(arg0, 41, Local0, 0)
+ }
+
+ NOr(Derefof(Index(paui, 5)), bf65, Local0)
+ m600(arg0, 42, Local0, 0x29af5d7b)
+
+ NOr(Derefof(Index(paui, 18)), bf65, Local0)
+ m600(arg0, 43, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(m601(1, 5), bf65, Local0)
+ m600(arg0, 44, Local0, 0x29af5d7b)
+
+ NOr(m601(1, 18), bf65, Local0)
+ m600(arg0, 45, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(Derefof(m602(1, 5, 1)), bf65, Local0)
+ m600(arg0, 46, Local0, 0x29af5d7b)
+
+ NOr(Derefof(m602(1, 18, 1)), bf65, Local0)
+ m600(arg0, 47, Local0, 0)
+ }
+
+ // Conversion of the both operands
+
+ Store(NOr(bf61, bf65), Local0)
+ m600(arg0, 48, Local0, 0x29af5c5a)
+
+ Store(NOr(bf65, bf61), Local0)
+ m600(arg0, 49, Local0, 0x29af5c5a)
+
+ NOr(bf61, bf65, Local0)
+ m600(arg0, 50, Local0, 0x29af5c5a)
+
+ NOr(bf65, bf61, Local0)
+ m600(arg0, 51, Local0, 0x29af5c5a)
+ }
+
+ // Or, common 32-bit/64-bit test
+ Method(m050, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Or(bf61, 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Or(bf61, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xffffffffffffffff)
+
+ Store(Or(bf61, aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Or(bf61, auij), Local0)
+ m600(arg0, 3, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Store(Or(bf61, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Or(bf61, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xffffffffffffffff)
+ }
+
+ Store(Or(bf61, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Or(bf61, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Store(Or(bf61, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Or(bf61, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(bf61, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Or(bf61, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xffffffffffffffff)
+ }
+
+ Or(bf61, 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Or(bf61, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xffffffffffffffff)
+
+ Or(bf61, aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Or(bf61, auij, Local0)
+ m600(arg0, 15, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Or(bf61, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Or(bf61, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xffffffffffffffff)
+ }
+
+ Or(bf61, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Or(bf61, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Or(bf61, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Or(bf61, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(bf61, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Or(bf61, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xffffffffffffffff)
+ }
+
+ // Conversion of the second operand
+
+ Store(Or(0, bf61), Local0)
+ m600(arg0, 24, Local0, 0x321)
+
+ Store(Or(0xffffffffffffffff, bf61), Local0)
+ m600(arg0, 25, Local0, 0xffffffffffffffff)
+
+ Store(Or(aui5, bf61), Local0)
+ m600(arg0, 26, Local0, 0x321)
+
+ Store(Or(auij, bf61), Local0)
+ m600(arg0, 27, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Store(Or(Derefof(Refof(aui5)), bf61), Local0)
+ m600(arg0, 28, Local0, 0x321)
+
+ Store(Or(Derefof(Refof(auij)), bf61), Local0)
+ m600(arg0, 29, Local0, 0xffffffffffffffff)
+ }
+
+ Store(Or(Derefof(Index(paui, 5)), bf61), Local0)
+ m600(arg0, 30, Local0, 0x321)
+
+ Store(Or(Derefof(Index(paui, 19)), bf61), Local0)
+ m600(arg0, 31, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Store(Or(m601(1, 5), bf61), Local0)
+ m600(arg0, 32, Local0, 0x321)
+
+ Store(Or(m601(1, 19), bf61), Local0)
+ m600(arg0, 33, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(Derefof(m602(1, 5, 1)), bf61), Local0)
+ m600(arg0, 34, Local0, 0x321)
+
+ Store(Or(Derefof(m602(1, 19, 1)), bf61), Local0)
+ m600(arg0, 35, Local0, 0xffffffffffffffff)
+ }
+
+ Or(0, bf61, Local0)
+ m600(arg0, 36, Local0, 0x321)
+
+ Or(0xffffffffffffffff, bf61, Local0)
+ m600(arg0, 37, Local0, 0xffffffffffffffff)
+
+ Or(aui5, bf61, Local0)
+ m600(arg0, 38, Local0, 0x321)
+
+ Or(auij, bf61, Local0)
+ m600(arg0, 39, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Or(Derefof(Refof(aui5)), bf61, Local0)
+ m600(arg0, 40, Local0, 0x321)
+
+ Or(Derefof(Refof(auij)), bf61, Local0)
+ m600(arg0, 41, Local0, 0xffffffffffffffff)
+ }
+
+ Or(Derefof(Index(paui, 5)), bf61, Local0)
+ m600(arg0, 42, Local0, 0x321)
+
+ Or(Derefof(Index(paui, 19)), bf61, Local0)
+ m600(arg0, 43, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Or(m601(1, 5), bf61, Local0)
+ m600(arg0, 44, Local0, 0x321)
+
+ Or(m601(1, 19), bf61, Local0)
+ m600(arg0, 45, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(Derefof(m602(1, 5, 1)), bf61, Local0)
+ m600(arg0, 46, Local0, 0x321)
+
+ Or(Derefof(m602(1, 19, 1)), bf61, Local0)
+ m600(arg0, 47, Local0, 0xffffffffffffffff)
+ }
+ }
+
+ // Or, 64-bit
+ Method(m051, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Or(bf65, 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(bf65, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xffffffffffffffff)
+
+ Store(Or(bf65, aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(bf65, auij), Local0)
+ m600(arg0, 3, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Store(Or(bf65, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(bf65, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xffffffffffffffff)
+ }
+
+ Store(Or(bf65, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(bf65, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Store(Or(bf65, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(bf65, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(bf65, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(bf65, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xffffffffffffffff)
+ }
+
+ Or(bf65, 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Or(bf65, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xffffffffffffffff)
+
+ Or(bf65, aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Or(bf65, auij, Local0)
+ m600(arg0, 15, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Or(bf65, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Or(bf65, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xffffffffffffffff)
+ }
+
+ Or(bf65, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Or(bf65, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Or(bf65, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Or(bf65, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(bf65, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Or(bf65, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xffffffffffffffff)
+ }
+
+ // Conversion of the second operand
+
+ Store(Or(0, bf65), Local0)
+ m600(arg0, 24, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(0xffffffffffffffff, bf65), Local0)
+ m600(arg0, 25, Local0, 0xffffffffffffffff)
+
+ Store(Or(aui5, bf65), Local0)
+ m600(arg0, 26, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(auij, bf65), Local0)
+ m600(arg0, 27, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Store(Or(Derefof(Refof(aui5)), bf65), Local0)
+ m600(arg0, 28, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(Refof(auij)), bf65), Local0)
+ m600(arg0, 29, Local0, 0xffffffffffffffff)
+ }
+
+ Store(Or(Derefof(Index(paui, 5)), bf65), Local0)
+ m600(arg0, 30, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(Index(paui, 19)), bf65), Local0)
+ m600(arg0, 31, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Store(Or(m601(1, 5), bf65), Local0)
+ m600(arg0, 32, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(m601(1, 19), bf65), Local0)
+ m600(arg0, 33, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(Derefof(m602(1, 5, 1)), bf65), Local0)
+ m600(arg0, 34, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(m602(1, 19, 1)), bf65), Local0)
+ m600(arg0, 35, Local0, 0xffffffffffffffff)
+ }
+
+ Or(0, bf65, Local0)
+ m600(arg0, 36, Local0, 0xfe7cb391d650a284)
+
+ Or(0xffffffffffffffff, bf65, Local0)
+ m600(arg0, 37, Local0, 0xffffffffffffffff)
+
+ Or(aui5, bf65, Local0)
+ m600(arg0, 38, Local0, 0xfe7cb391d650a284)
+
+ Or(auij, bf65, Local0)
+ m600(arg0, 39, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Or(Derefof(Refof(aui5)), bf65, Local0)
+ m600(arg0, 40, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(Refof(auij)), bf65, Local0)
+ m600(arg0, 41, Local0, 0xffffffffffffffff)
+ }
+
+ Or(Derefof(Index(paui, 5)), bf65, Local0)
+ m600(arg0, 42, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(Index(paui, 19)), bf65, Local0)
+ m600(arg0, 43, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Or(m601(1, 5), bf65, Local0)
+ m600(arg0, 44, Local0, 0xfe7cb391d650a284)
+
+ Or(m601(1, 19), bf65, Local0)
+ m600(arg0, 45, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(Derefof(m602(1, 5, 1)), bf65, Local0)
+ m600(arg0, 46, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(m602(1, 19, 1)), bf65, Local0)
+ m600(arg0, 47, Local0, 0xffffffffffffffff)
+ }
+
+ // Conversion of the both operands
+
+ Store(Or(bf61, bf65), Local0)
+ m600(arg0, 48, Local0, 0xfe7cb391d650a3a5)
+
+ Store(Or(bf65, bf61), Local0)
+ m600(arg0, 49, Local0, 0xfe7cb391d650a3a5)
+
+ Or(bf61, bf65, Local0)
+ m600(arg0, 50, Local0, 0xfe7cb391d650a3a5)
+
+ Or(bf65, bf61, Local0)
+ m600(arg0, 51, Local0, 0xfe7cb391d650a3a5)
+ }
+
+ // Or, 32-bit
+ Method(m052, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Or(bf65, 0), Local0)
+ m600(arg0, 0, Local0, 0xd650a284)
+
+ Store(Or(bf65, 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0xffffffff)
+
+ Store(Or(bf65, aui5), Local0)
+ m600(arg0, 2, Local0, 0xd650a284)
+
+ Store(Or(bf65, auii), Local0)
+ m600(arg0, 3, Local0, 0xffffffff)
+
+ if (y078) {
+ Store(Or(bf65, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xd650a284)
+
+ Store(Or(bf65, Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0xffffffff)
+ }
+
+ Store(Or(bf65, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xd650a284)
+
+ Store(Or(bf65, Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0xffffffff)
+
+ // Method returns Integer
+
+ Store(Or(bf65, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xd650a284)
+
+ Store(Or(bf65, m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0xffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(bf65, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xd650a284)
+
+ Store(Or(bf65, Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0xffffffff)
+ }
+
+ Or(bf65, 0, Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ Or(bf65, 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0xffffffff)
+
+ Or(bf65, aui5, Local0)
+ m600(arg0, 14, Local0, 0xd650a284)
+
+ Or(bf65, auii, Local0)
+ m600(arg0, 15, Local0, 0xffffffff)
+
+ if (y078) {
+ Or(bf65, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xd650a284)
+
+ Or(bf65, Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0xffffffff)
+ }
+
+ Or(bf65, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xd650a284)
+
+ Or(bf65, Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0xffffffff)
+
+ // Method returns Integer
+
+ Or(bf65, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xd650a284)
+
+ Or(bf65, m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0xffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(bf65, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xd650a284)
+
+ Or(bf65, Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0xffffffff)
+ }
+
+ // Conversion of the second operand
+
+ Store(Or(0, bf65), Local0)
+ m600(arg0, 24, Local0, 0xd650a284)
+
+ Store(Or(0xffffffff, bf65), Local0)
+ m600(arg0, 25, Local0, 0xffffffff)
+
+ Store(Or(aui5, bf65), Local0)
+ m600(arg0, 26, Local0, 0xd650a284)
+
+ Store(Or(auii, bf65), Local0)
+ m600(arg0, 27, Local0, 0xffffffff)
+
+ if (y078) {
+ Store(Or(Derefof(Refof(aui5)), bf65), Local0)
+ m600(arg0, 28, Local0, 0xd650a284)
+
+ Store(Or(Derefof(Refof(auii)), bf65), Local0)
+ m600(arg0, 29, Local0, 0xffffffff)
+ }
+
+ Store(Or(Derefof(Index(paui, 5)), bf65), Local0)
+ m600(arg0, 30, Local0, 0xd650a284)
+
+ Store(Or(Derefof(Index(paui, 18)), bf65), Local0)
+ m600(arg0, 31, Local0, 0xffffffff)
+
+ // Method returns Integer
+
+ Store(Or(m601(1, 5), bf65), Local0)
+ m600(arg0, 32, Local0, 0xd650a284)
+
+ Store(Or(m601(1, 18), bf65), Local0)
+ m600(arg0, 33, Local0, 0xffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(Derefof(m602(1, 5, 1)), bf65), Local0)
+ m600(arg0, 34, Local0, 0xd650a284)
+
+ Store(Or(Derefof(m602(1, 18, 1)), bf65), Local0)
+ m600(arg0, 35, Local0, 0xffffffff)
+ }
+
+ Or(0, bf65, Local0)
+ m600(arg0, 36, Local0, 0xd650a284)
+
+ Or(0xffffffff, bf65, Local0)
+ m600(arg0, 37, Local0, 0xffffffff)
+
+ Or(aui5, bf65, Local0)
+ m600(arg0, 38, Local0, 0xd650a284)
+
+ Or(auii, bf65, Local0)
+ m600(arg0, 39, Local0, 0xffffffff)
+
+ if (y078) {
+ Or(Derefof(Refof(aui5)), bf65, Local0)
+ m600(arg0, 40, Local0, 0xd650a284)
+
+ Or(Derefof(Refof(auii)), bf65, Local0)
+ m600(arg0, 41, Local0, 0xffffffff)
+ }
+
+ Or(Derefof(Index(paui, 5)), bf65, Local0)
+ m600(arg0, 42, Local0, 0xd650a284)
+
+ Or(Derefof(Index(paui, 18)), bf65, Local0)
+ m600(arg0, 43, Local0, 0xffffffff)
+
+ // Method returns Integer
+
+ Or(m601(1, 5), bf65, Local0)
+ m600(arg0, 44, Local0, 0xd650a284)
+
+ Or(m601(1, 18), bf65, Local0)
+ m600(arg0, 45, Local0, 0xffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(Derefof(m602(1, 5, 1)), bf65, Local0)
+ m600(arg0, 46, Local0, 0xd650a284)
+
+ Or(Derefof(m602(1, 18, 1)), bf65, Local0)
+ m600(arg0, 47, Local0, 0xffffffff)
+ }
+
+ // Conversion of the both operands
+
+ Store(Or(bf61, bf65), Local0)
+ m600(arg0, 48, Local0, 0xd650a3a5)
+
+ Store(Or(bf65, bf61), Local0)
+ m600(arg0, 49, Local0, 0xd650a3a5)
+
+ Or(bf61, bf65, Local0)
+ m600(arg0, 50, Local0, 0xd650a3a5)
+
+ Or(bf65, bf61, Local0)
+ m600(arg0, 51, Local0, 0xd650a3a5)
+ }
+
+ // ShiftLeft, common 32-bit/64-bit test
+ Method(m053, 1)
+ {
+ // Conversion of the first operand
+
+ Store(ShiftLeft(bf61, 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(ShiftLeft(bf61, 1), Local0)
+ m600(arg0, 1, Local0, 0x642)
+
+ Store(ShiftLeft(bf61, aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(ShiftLeft(bf61, aui6), Local0)
+ m600(arg0, 3, Local0, 0x642)
+
+ if (y078) {
+ Store(ShiftLeft(bf61, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(ShiftLeft(bf61, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x642)
+ }
+
+ Store(ShiftLeft(bf61, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(ShiftLeft(bf61, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x642)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(bf61, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(ShiftLeft(bf61, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x642)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(bf61, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(ShiftLeft(bf61, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x642)
+ }
+
+ ShiftLeft(bf61, 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ ShiftLeft(bf61, 1, Local0)
+ m600(arg0, 13, Local0, 0x642)
+
+ ShiftLeft(bf61, aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ ShiftLeft(bf61, aui6, Local0)
+ m600(arg0, 15, Local0, 0x642)
+
+ if (y078) {
+ ShiftLeft(bf61, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ ShiftLeft(bf61, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x642)
+ }
+
+ ShiftLeft(bf61, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ ShiftLeft(bf61, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x642)
+
+ // Method returns Integer
+
+ ShiftLeft(bf61, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ ShiftLeft(bf61, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x642)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(bf61, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ ShiftLeft(bf61, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x642)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftLeft(0, bf74), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftLeft(1, bf74), Local0)
+ m600(arg0, 25, Local0, 0x800)
+
+ Store(ShiftLeft(aui5, bf74), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftLeft(aui6, bf74), Local0)
+ m600(arg0, 27, Local0, 0x800)
+
+ if (y078) {
+ Store(ShiftLeft(Derefof(Refof(aui5)), bf74), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Refof(aui6)), bf74), Local0)
+ m600(arg0, 29, Local0, 0x800)
+ }
+
+ Store(ShiftLeft(Derefof(Index(paui, 5)), bf74), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Index(paui, 6)), bf74), Local0)
+ m600(arg0, 31, Local0, 0x800)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(m601(1, 5), bf74), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftLeft(m601(1, 6), bf74), Local0)
+ m600(arg0, 33, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(Derefof(m602(1, 5, 1)), bf74), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftLeft(Derefof(m602(1, 6, 1)), bf74), Local0)
+ m600(arg0, 35, Local0, 0x800)
+ }
+
+ ShiftLeft(0, bf74, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftLeft(1, bf74, Local0)
+ m600(arg0, 37, Local0, 0x800)
+
+ ShiftLeft(aui5, bf74, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftLeft(aui6, bf74, Local0)
+ m600(arg0, 39, Local0, 0x800)
+
+ if (y078) {
+ ShiftLeft(Derefof(Refof(aui5)), bf74, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftLeft(Derefof(Refof(aui6)), bf74, Local0)
+ m600(arg0, 41, Local0, 0x800)
+ }
+
+ ShiftLeft(Derefof(Index(paui, 5)), bf74, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftLeft(Derefof(Index(paui, 6)), bf74, Local0)
+ m600(arg0, 43, Local0, 0x800)
+
+ // Method returns Integer
+
+ ShiftLeft(m601(1, 5), bf74, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftLeft(m601(1, 6), bf74, Local0)
+ m600(arg0, 45, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(Derefof(m602(1, 5, 1)), bf74, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftLeft(Derefof(m602(1, 6, 1)), bf74, Local0)
+ m600(arg0, 47, Local0, 0x800)
+ }
+ }
+
+ // ShiftLeft, 64-bit
+ Method(m054, 1)
+ {
+ // Conversion of the first operand
+
+ Store(ShiftLeft(bf65, 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(bf65, 1), Local0)
+ m600(arg0, 1, Local0, 0xfcf96723aca14508)
+
+ Store(ShiftLeft(bf65, aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(bf65, aui6), Local0)
+ m600(arg0, 3, Local0, 0xfcf96723aca14508)
+
+ if (y078) {
+ Store(ShiftLeft(bf65, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(bf65, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xfcf96723aca14508)
+ }
+
+ Store(ShiftLeft(bf65, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(bf65, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xfcf96723aca14508)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(bf65, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(bf65, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xfcf96723aca14508)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(bf65, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(bf65, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfcf96723aca14508)
+ }
+
+ ShiftLeft(bf65, 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(bf65, 1, Local0)
+ m600(arg0, 13, Local0, 0xfcf96723aca14508)
+
+ ShiftLeft(bf65, aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(bf65, aui6, Local0)
+ m600(arg0, 15, Local0, 0xfcf96723aca14508)
+
+ if (y078) {
+ ShiftLeft(bf65, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(bf65, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xfcf96723aca14508)
+ }
+
+ ShiftLeft(bf65, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(bf65, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xfcf96723aca14508)
+
+ // Method returns Integer
+
+ ShiftLeft(bf65, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(bf65, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xfcf96723aca14508)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(bf65, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(bf65, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfcf96723aca14508)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftLeft(0, bf74), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftLeft(1, bf74), Local0)
+ m600(arg0, 25, Local0, 0x800)
+
+ Store(ShiftLeft(aui5, bf74), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftLeft(aui6, bf74), Local0)
+ m600(arg0, 27, Local0, 0x800)
+
+ if (y078) {
+ Store(ShiftLeft(Derefof(Refof(aui5)), bf74), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Refof(aui6)), bf74), Local0)
+ m600(arg0, 29, Local0, 0x800)
+ }
+
+ Store(ShiftLeft(Derefof(Index(paui, 5)), bf74), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Index(paui, 6)), bf74), Local0)
+ m600(arg0, 31, Local0, 0x800)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(m601(1, 5), bf74), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftLeft(m601(1, 6), bf74), Local0)
+ m600(arg0, 33, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(Derefof(m602(1, 5, 1)), bf74), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftLeft(Derefof(m602(1, 6, 1)), bf74), Local0)
+ m600(arg0, 35, Local0, 0x800)
+ }
+
+ ShiftLeft(0, bf74, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftLeft(1, bf74, Local0)
+ m600(arg0, 37, Local0, 0x800)
+
+ ShiftLeft(aui5, bf74, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftLeft(aui6, bf74, Local0)
+ m600(arg0, 39, Local0, 0x800)
+
+ if (y078) {
+ ShiftLeft(Derefof(Refof(aui5)), bf74, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftLeft(Derefof(Refof(aui6)), bf74, Local0)
+ m600(arg0, 41, Local0, 0x800)
+ }
+
+ ShiftLeft(Derefof(Index(paui, 5)), bf74, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftLeft(Derefof(Index(paui, 6)), bf74, Local0)
+ m600(arg0, 43, Local0, 0x800)
+
+ // Method returns Integer
+
+ ShiftLeft(m601(1, 5), bf74, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftLeft(m601(1, 6), bf74, Local0)
+ m600(arg0, 45, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(Derefof(m602(1, 5, 1)), bf74, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftLeft(Derefof(m602(1, 6, 1)), bf74, Local0)
+ m600(arg0, 47, Local0, 0x800)
+ }
+
+ // Conversion of the both operands
+
+ Store(ShiftLeft(bf61, bf74), Local0)
+ m600(arg0, 48, Local0, 0x190800)
+
+ Store(ShiftLeft(bf65, bf74), Local0)
+ m600(arg0, 49, Local0, 0xE59C8EB285142000)
+
+ ShiftLeft(bf61, bf74, Local0)
+ m600(arg0, 50, Local0, 0x190800)
+
+ ShiftLeft(bf65, bf74, Local0)
+ m600(arg0, 51, Local0, 0xE59C8EB285142000)
+ }
+
+ // ShiftLeft, 32-bit
+ Method(m055, 1)
+ {
+ // Conversion of the first operand
+
+ Store(ShiftLeft(bf65, 0), Local0)
+ m600(arg0, 0, Local0, 0xd650a284)
+
+ Store(ShiftLeft(bf65, 1), Local0)
+ m600(arg0, 1, Local0, 0xaca14508)
+
+ Store(ShiftLeft(bf65, aui5), Local0)
+ m600(arg0, 2, Local0, 0xd650a284)
+
+ Store(ShiftLeft(bf65, aui6), Local0)
+ m600(arg0, 3, Local0, 0xaca14508)
+
+ if (y078) {
+ Store(ShiftLeft(bf65, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xd650a284)
+
+ Store(ShiftLeft(bf65, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xaca14508)
+ }
+
+ Store(ShiftLeft(bf65, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xd650a284)
+
+ Store(ShiftLeft(bf65, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xaca14508)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(bf65, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xd650a284)
+
+ Store(ShiftLeft(bf65, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xaca14508)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(bf65, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xd650a284)
+
+ Store(ShiftLeft(bf65, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xaca14508)
+ }
+
+ ShiftLeft(bf65, 0, Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ ShiftLeft(bf65, 1, Local0)
+ m600(arg0, 13, Local0, 0xaca14508)
+
+ ShiftLeft(bf65, aui5, Local0)
+ m600(arg0, 14, Local0, 0xd650a284)
+
+ ShiftLeft(bf65, aui6, Local0)
+ m600(arg0, 15, Local0, 0xaca14508)
+
+ if (y078) {
+ ShiftLeft(bf65, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xd650a284)
+
+ ShiftLeft(bf65, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xaca14508)
+ }
+
+ ShiftLeft(bf65, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xd650a284)
+
+ ShiftLeft(bf65, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xaca14508)
+
+ // Method returns Integer
+
+ ShiftLeft(bf65, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xd650a284)
+
+ ShiftLeft(bf65, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xaca14508)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(bf65, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xd650a284)
+
+ ShiftLeft(bf65, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xaca14508)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftLeft(0, bf74), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftLeft(1, bf74), Local0)
+ m600(arg0, 25, Local0, 0x800)
+
+ Store(ShiftLeft(aui5, bf74), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftLeft(aui6, bf74), Local0)
+ m600(arg0, 27, Local0, 0x800)
+
+ if (y078) {
+ Store(ShiftLeft(Derefof(Refof(aui5)), bf74), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Refof(aui6)), bf74), Local0)
+ m600(arg0, 29, Local0, 0x800)
+ }
+
+ Store(ShiftLeft(Derefof(Index(paui, 5)), bf74), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Index(paui, 6)), bf74), Local0)
+ m600(arg0, 31, Local0, 0x800)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(m601(1, 5), bf74), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftLeft(m601(1, 6), bf74), Local0)
+ m600(arg0, 33, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(Derefof(m602(1, 5, 1)), bf74), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftLeft(Derefof(m602(1, 6, 1)), bf74), Local0)
+ m600(arg0, 35, Local0, 0x800)
+ }
+
+ ShiftLeft(0, bf74, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftLeft(1, bf74, Local0)
+ m600(arg0, 37, Local0, 0x800)
+
+ ShiftLeft(aui5, bf74, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftLeft(aui6, bf74, Local0)
+ m600(arg0, 39, Local0, 0x800)
+
+ if (y078) {
+ ShiftLeft(Derefof(Refof(aui5)), bf74, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftLeft(Derefof(Refof(aui6)), bf74, Local0)
+ m600(arg0, 41, Local0, 0x800)
+ }
+
+ ShiftLeft(Derefof(Index(paui, 5)), bf74, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftLeft(Derefof(Index(paui, 6)), bf74, Local0)
+ m600(arg0, 43, Local0, 0x800)
+
+ // Method returns Integer
+
+ ShiftLeft(m601(1, 5), bf74, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftLeft(m601(1, 6), bf74, Local0)
+ m600(arg0, 45, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(Derefof(m602(1, 5, 1)), bf74, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftLeft(Derefof(m602(1, 6, 1)), bf74, Local0)
+ m600(arg0, 47, Local0, 0x800)
+ }
+
+ // Conversion of the both operands
+
+ Store(ShiftLeft(bf61, bf74), Local0)
+ m600(arg0, 48, Local0, 0x190800)
+
+ Store(ShiftLeft(bf65, bf74), Local0)
+ m600(arg0, 49, Local0, 0x85142000)
+
+ ShiftLeft(bf61, bf74, Local0)
+ m600(arg0, 50, Local0, 0x190800)
+
+ ShiftLeft(bf65, bf74, Local0)
+ m600(arg0, 51, Local0, 0x85142000)
+ }
+
+ // ShiftRight, common 32-bit/64-bit test
+ Method(m056, 1)
+ {
+ // Conversion of the first operand
+
+ Store(ShiftRight(bf61, 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(ShiftRight(bf61, 1), Local0)
+ m600(arg0, 1, Local0, 0x190)
+
+ Store(ShiftRight(bf61, aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(ShiftRight(bf61, aui6), Local0)
+ m600(arg0, 3, Local0, 0x190)
+
+ if (y078) {
+ Store(ShiftRight(bf61, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(ShiftRight(bf61, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x190)
+ }
+
+ Store(ShiftRight(bf61, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(ShiftRight(bf61, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x190)
+
+ // Method returns Integer
+
+ Store(ShiftRight(bf61, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(ShiftRight(bf61, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x190)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(bf61, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(ShiftRight(bf61, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x190)
+ }
+
+ ShiftRight(bf61, 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ ShiftRight(bf61, 1, Local0)
+ m600(arg0, 13, Local0, 0x190)
+
+ ShiftRight(bf61, aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ ShiftRight(bf61, aui6, Local0)
+ m600(arg0, 15, Local0, 0x190)
+
+ if (y078) {
+ ShiftRight(bf61, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ ShiftRight(bf61, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x190)
+ }
+
+ ShiftRight(bf61, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ ShiftRight(bf61, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x190)
+
+ // Method returns Integer
+
+ ShiftRight(bf61, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ ShiftRight(bf61, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x190)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(bf61, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ ShiftRight(bf61, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x190)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftRight(0x321, bf74), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftRight(0xd650a284, bf74), Local0)
+ m600(arg0, 25, Local0, 0x1aca14)
+
+ Store(ShiftRight(aui1, bf74), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftRight(auik, bf74), Local0)
+ m600(arg0, 27, Local0, 0x1aca14)
+
+ if (y078) {
+ Store(ShiftRight(Derefof(Refof(aui1)), bf74), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftRight(Derefof(Refof(auik)), bf74), Local0)
+ m600(arg0, 29, Local0, 0x1aca14)
+ }
+
+ Store(ShiftRight(Derefof(Index(paui, 1)), bf74), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftRight(Derefof(Index(paui, 20)), bf74), Local0)
+ m600(arg0, 31, Local0, 0x1aca14)
+
+ // Method returns Integer
+
+ Store(ShiftRight(m601(1, 1), bf74), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftRight(m601(1, 20), bf74), Local0)
+ m600(arg0, 33, Local0, 0x1aca14)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(Derefof(m602(1, 1, 1)), bf74), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftRight(Derefof(m602(1, 20, 1)), bf74), Local0)
+ m600(arg0, 35, Local0, 0x1aca14)
+ }
+
+ ShiftRight(0x321, bf74, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftRight(0xd650a284, bf74, Local0)
+ m600(arg0, 37, Local0, 0x1aca14)
+
+ ShiftRight(aui1, bf74, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftRight(auik, bf74, Local0)
+ m600(arg0, 39, Local0, 0x1aca14)
+
+ if (y078) {
+ ShiftRight(Derefof(Refof(aui1)), bf74, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftRight(Derefof(Refof(auik)), bf74, Local0)
+ m600(arg0, 41, Local0, 0x1aca14)
+ }
+
+ ShiftRight(Derefof(Index(paui, 1)), bf74, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftRight(Derefof(Index(paui, 20)), bf74, Local0)
+ m600(arg0, 43, Local0, 0x1aca14)
+
+ // Method returns Integer
+
+ ShiftRight(m601(1, 1), bf74, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftRight(m601(1, 20), bf74, Local0)
+ m600(arg0, 45, Local0, 0x1aca14)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(Derefof(m602(1, 1, 1)), bf74, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftRight(Derefof(m602(1, 20, 1)), bf74, Local0)
+ m600(arg0, 47, Local0, 0x1aca14)
+ }
+ }
+
+ // ShiftRight, 64-bit
+ Method(m057, 1)
+ {
+ // Conversion of the first operand
+
+ Store(ShiftRight(bf65, 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(bf65, 1), Local0)
+ m600(arg0, 1, Local0, 0x7f3e59c8eb285142)
+
+ Store(ShiftRight(bf65, aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(bf65, aui6), Local0)
+ m600(arg0, 3, Local0, 0x7f3e59c8eb285142)
+
+ if (y078) {
+ Store(ShiftRight(bf65, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(bf65, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x7f3e59c8eb285142)
+ }
+
+ Store(ShiftRight(bf65, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(bf65, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x7f3e59c8eb285142)
+
+ // Method returns Integer
+
+ Store(ShiftRight(bf65, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(bf65, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x7f3e59c8eb285142)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(bf65, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(bf65, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x7f3e59c8eb285142)
+ }
+
+ ShiftRight(bf65, 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(bf65, 1, Local0)
+ m600(arg0, 13, Local0, 0x7f3e59c8eb285142)
+
+ ShiftRight(bf65, aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(bf65, aui6, Local0)
+ m600(arg0, 15, Local0, 0x7f3e59c8eb285142)
+
+ if (y078) {
+ ShiftRight(bf65, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(bf65, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x7f3e59c8eb285142)
+ }
+
+ ShiftRight(bf65, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(bf65, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x7f3e59c8eb285142)
+
+ // Method returns Integer
+
+ ShiftRight(bf65, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(bf65, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x7f3e59c8eb285142)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(bf65, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(bf65, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x7f3e59c8eb285142)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftRight(0x321, bf74), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftRight(0xfe7cb391d650a284, bf74), Local0)
+ m600(arg0, 25, Local0, 0x1fcf96723aca14)
+
+ Store(ShiftRight(aui1, bf74), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftRight(aui4, bf74), Local0)
+ m600(arg0, 27, Local0, 0x1fcf96723aca14)
+
+ if (y078) {
+ Store(ShiftRight(Derefof(Refof(aui1)), bf74), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftRight(Derefof(Refof(aui4)), bf74), Local0)
+ m600(arg0, 29, Local0, 0x1fcf96723aca14)
+ }
+
+ Store(ShiftRight(Derefof(Index(paui, 1)), bf74), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftRight(Derefof(Index(paui, 4)), bf74), Local0)
+ m600(arg0, 31, Local0, 0x1fcf96723aca14)
+
+ // Method returns Integer
+
+ Store(ShiftRight(m601(1, 1), bf74), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftRight(m601(1, 4), bf74), Local0)
+ m600(arg0, 33, Local0, 0x1fcf96723aca14)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(Derefof(m602(1, 1, 1)), bf74), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftRight(Derefof(m602(1, 4, 1)), bf74), Local0)
+ m600(arg0, 35, Local0, 0x1fcf96723aca14)
+ }
+
+ ShiftRight(0x321, bf74, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftRight(0xfe7cb391d650a284, bf74, Local0)
+ m600(arg0, 37, Local0, 0x1fcf96723aca14)
+
+ ShiftRight(aui1, bf74, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftRight(aui4, bf74, Local0)
+ m600(arg0, 39, Local0, 0x1fcf96723aca14)
+
+ if (y078) {
+ ShiftRight(Derefof(Refof(aui1)), bf74, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftRight(Derefof(Refof(aui4)), bf74, Local0)
+ m600(arg0, 41, Local0, 0x1fcf96723aca14)
+ }
+
+ ShiftRight(Derefof(Index(paui, 1)), bf74, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftRight(Derefof(Index(paui, 4)), bf74, Local0)
+ m600(arg0, 43, Local0, 0x1fcf96723aca14)
+
+ // Method returns Integer
+
+ ShiftRight(m601(1, 1), bf74, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftRight(m601(1, 4), bf74, Local0)
+ m600(arg0, 45, Local0, 0x1fcf96723aca14)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(Derefof(m602(1, 1, 1)), bf74, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftRight(Derefof(m602(1, 4, 1)), bf74, Local0)
+ m600(arg0, 47, Local0, 0x1fcf96723aca14)
+ }
+
+ // Conversion of the both operands
+
+ Store(ShiftRight(bf61, bf74), Local0)
+ m600(arg0, 48, Local0, 0)
+
+ Store(ShiftRight(bf65, bf74), Local0)
+ m600(arg0, 49, Local0, 0x1fcf96723aca14)
+
+ ShiftRight(bf61, bf74, Local0)
+ m600(arg0, 50, Local0, 0)
+
+ ShiftRight(bf65, bf74, Local0)
+ m600(arg0, 51, Local0, 0x1fcf96723aca14)
+ }
+
+ // ShiftRight, 32-bit
+ Method(m058, 1)
+ {
+ // Conversion of the first operand
+
+ Store(ShiftRight(bf65, 0), Local0)
+ m600(arg0, 0, Local0, 0xd650a284)
+
+ Store(ShiftRight(bf65, 1), Local0)
+ m600(arg0, 1, Local0, 0x6b285142)
+
+ Store(ShiftRight(bf65, aui5), Local0)
+ m600(arg0, 2, Local0, 0xd650a284)
+
+ Store(ShiftRight(bf65, aui6), Local0)
+ m600(arg0, 3, Local0, 0x6b285142)
+
+ if (y078) {
+ Store(ShiftRight(bf65, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xd650a284)
+
+ Store(ShiftRight(bf65, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x6b285142)
+ }
+
+ Store(ShiftRight(bf65, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xd650a284)
+
+ Store(ShiftRight(bf65, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x6b285142)
+
+ // Method returns Integer
+
+ Store(ShiftRight(bf65, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xd650a284)
+
+ Store(ShiftRight(bf65, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x6b285142)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(bf65, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xd650a284)
+
+ Store(ShiftRight(bf65, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x6b285142)
+ }
+
+ ShiftRight(bf65, 0, Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ ShiftRight(bf65, 1, Local0)
+ m600(arg0, 13, Local0, 0x6b285142)
+
+ ShiftRight(bf65, aui5, Local0)
+ m600(arg0, 14, Local0, 0xd650a284)
+
+ ShiftRight(bf65, aui6, Local0)
+ m600(arg0, 15, Local0, 0x6b285142)
+
+ if (y078) {
+ ShiftRight(bf65, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xd650a284)
+
+ ShiftRight(bf65, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x6b285142)
+ }
+
+ ShiftRight(bf65, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xd650a284)
+
+ ShiftRight(bf65, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x6b285142)
+
+ // Method returns Integer
+
+ ShiftRight(bf65, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xd650a284)
+
+ ShiftRight(bf65, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x6b285142)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(bf65, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xd650a284)
+
+ ShiftRight(bf65, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x6b285142)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftRight(0x321, bf74), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftRight(0xd650a284, bf74), Local0)
+ m600(arg0, 25, Local0, 0x1aca14)
+
+ Store(ShiftRight(aui1, bf74), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftRight(auik, bf74), Local0)
+ m600(arg0, 27, Local0, 0x1aca14)
+
+ if (y078) {
+ Store(ShiftRight(Derefof(Refof(aui1)), bf74), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftRight(Derefof(Refof(auik)), bf74), Local0)
+ m600(arg0, 29, Local0, 0x1aca14)
+ }
+
+ Store(ShiftRight(Derefof(Index(paui, 1)), bf74), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftRight(Derefof(Index(paui, 20)), bf74), Local0)
+ m600(arg0, 31, Local0, 0x1aca14)
+
+ // Method returns Integer
+
+ Store(ShiftRight(m601(1, 1), bf74), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftRight(m601(1, 20), bf74), Local0)
+ m600(arg0, 33, Local0, 0x1aca14)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(Derefof(m602(1, 1, 1)), bf74), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftRight(Derefof(m602(1, 20, 1)), bf74), Local0)
+ m600(arg0, 35, Local0, 0x1aca14)
+ }
+
+ ShiftRight(0x321, bf74, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftRight(0xd650a284, bf74, Local0)
+ m600(arg0, 37, Local0, 0x1aca14)
+
+ ShiftRight(aui1, bf74, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftRight(auik, bf74, Local0)
+ m600(arg0, 39, Local0, 0x1aca14)
+
+ if (y078) {
+ ShiftRight(Derefof(Refof(aui1)), bf74, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftRight(Derefof(Refof(auik)), bf74, Local0)
+ m600(arg0, 41, Local0, 0x1aca14)
+ }
+
+ ShiftRight(Derefof(Index(paui, 1)), bf74, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftRight(Derefof(Index(paui, 20)), bf74, Local0)
+ m600(arg0, 43, Local0, 0x1aca14)
+
+ // Method returns Integer
+
+ ShiftRight(m601(1, 1), bf74, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftRight(m601(1, 20), bf74, Local0)
+ m600(arg0, 45, Local0, 0x1aca14)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(Derefof(m602(1, 1, 1)), bf74, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftRight(Derefof(m602(1, 20, 1)), bf74, Local0)
+ m600(arg0, 47, Local0, 0x1aca14)
+ }
+
+ // Conversion of the both operands
+
+ Store(ShiftRight(bf61, bf74), Local0)
+ m600(arg0, 48, Local0, 0)
+
+ Store(ShiftRight(bf65, bf74), Local0)
+ m600(arg0, 49, Local0, 0x1aca14)
+
+ ShiftRight(bf61, bf74, Local0)
+ m600(arg0, 50, Local0, 0)
+
+ ShiftRight(bf65, bf74, Local0)
+ m600(arg0, 51, Local0, 0x1aca14)
+ }
+
+ // Subtract, common 32-bit/64-bit test
+ Method(m059, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Subtract(bf61, 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Subtract(bf61, 1), Local0)
+ m600(arg0, 1, Local0, 0x320)
+
+ Store(Subtract(bf61, aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Subtract(bf61, aui6), Local0)
+ m600(arg0, 3, Local0, 0x320)
+
+ if (y078) {
+ Store(Subtract(bf61, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Subtract(bf61, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x320)
+ }
+
+ Store(Subtract(bf61, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Subtract(bf61, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x320)
+
+ // Method returns Integer
+
+ Store(Subtract(bf61, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Subtract(bf61, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x320)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(bf61, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Subtract(bf61, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x320)
+ }
+
+ Subtract(bf61, 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Subtract(bf61, 1, Local0)
+ m600(arg0, 13, Local0, 0x320)
+
+ Subtract(bf61, aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Subtract(bf61, aui6, Local0)
+ m600(arg0, 15, Local0, 0x320)
+
+ if (y078) {
+ Subtract(bf61, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Subtract(bf61, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x320)
+ }
+
+ Subtract(bf61, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Subtract(bf61, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x320)
+
+ // Method returns Integer
+
+ Subtract(bf61, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Subtract(bf61, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x320)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(bf61, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Subtract(bf61, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x320)
+ }
+
+ // Conversion of the second operand
+
+ Store(Subtract(0, bf61), Local0)
+ m600(arg0, 24, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(1, bf61), Local0)
+ m600(arg0, 25, Local0, 0xfffffffffffffce0)
+
+ Store(Subtract(aui5, bf61), Local0)
+ m600(arg0, 26, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(aui6, bf61), Local0)
+ m600(arg0, 27, Local0, 0xfffffffffffffce0)
+
+ if (y078) {
+ Store(Subtract(Derefof(Refof(aui5)), bf61), Local0)
+ m600(arg0, 28, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(Derefof(Refof(aui6)), bf61), Local0)
+ m600(arg0, 29, Local0, 0xfffffffffffffce0)
+ }
+
+ Store(Subtract(Derefof(Index(paui, 5)), bf61), Local0)
+ m600(arg0, 30, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(Derefof(Index(paui, 6)), bf61), Local0)
+ m600(arg0, 31, Local0, 0xfffffffffffffce0)
+
+ // Method returns Integer
+
+ Store(Subtract(m601(1, 5), bf61), Local0)
+ m600(arg0, 32, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(m601(1, 6), bf61), Local0)
+ m600(arg0, 33, Local0, 0xfffffffffffffce0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(Derefof(m602(1, 5, 1)), bf61), Local0)
+ m600(arg0, 34, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(Derefof(m602(1, 6, 1)), bf61), Local0)
+ m600(arg0, 35, Local0, 0xfffffffffffffce0)
+ }
+
+ Subtract(0, bf61, Local0)
+ m600(arg0, 36, Local0, 0xfffffffffffffcdf)
+
+ Subtract(1, bf61, Local0)
+ m600(arg0, 37, Local0, 0xfffffffffffffce0)
+
+ Subtract(aui5, bf61, Local0)
+ m600(arg0, 38, Local0, 0xfffffffffffffcdf)
+
+ Subtract(aui6, bf61, Local0)
+ m600(arg0, 39, Local0, 0xfffffffffffffce0)
+
+ if (y078) {
+ Subtract(Derefof(Refof(aui5)), bf61, Local0)
+ m600(arg0, 40, Local0, 0xfffffffffffffcdf)
+
+ Subtract(Derefof(Refof(aui6)), bf61, Local0)
+ m600(arg0, 41, Local0, 0xfffffffffffffce0)
+ }
+
+ Subtract(Derefof(Index(paui, 5)), bf61, Local0)
+ m600(arg0, 42, Local0, 0xfffffffffffffcdf)
+
+ Subtract(Derefof(Index(paui, 6)), bf61, Local0)
+ m600(arg0, 43, Local0, 0xfffffffffffffce0)
+
+ // Method returns Integer
+
+ Subtract(m601(1, 5), bf61, Local0)
+ m600(arg0, 44, Local0, 0xfffffffffffffcdf)
+
+ Subtract(m601(1, 6), bf61, Local0)
+ m600(arg0, 45, Local0, 0xfffffffffffffce0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(Derefof(m602(1, 5, 1)), bf61, Local0)
+ m600(arg0, 46, Local0, 0xfffffffffffffcdf)
+
+ Subtract(Derefof(m602(1, 6, 1)), bf61, Local0)
+ m600(arg0, 47, Local0, 0xfffffffffffffce0)
+ }
+ }
+
+ // Subtract, 64-bit
+ Method(m05a, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Subtract(bf65, 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(bf65, 1), Local0)
+ m600(arg0, 1, Local0, 0xfe7cb391d650a283)
+
+ Store(Subtract(bf65, aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(bf65, aui6), Local0)
+ m600(arg0, 3, Local0, 0xfe7cb391d650a283)
+
+ if (y078) {
+ Store(Subtract(bf65, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(bf65, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xfe7cb391d650a283)
+ }
+
+ Store(Subtract(bf65, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(bf65, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Integer
+
+ Store(Subtract(bf65, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(bf65, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(bf65, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(bf65, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfe7cb391d650a283)
+ }
+
+ Subtract(bf65, 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Subtract(bf65, 1, Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a283)
+
+ Subtract(bf65, aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Subtract(bf65, aui6, Local0)
+ m600(arg0, 15, Local0, 0xfe7cb391d650a283)
+
+ if (y078) {
+ Subtract(bf65, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Subtract(bf65, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xfe7cb391d650a283)
+ }
+
+ Subtract(bf65, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Subtract(bf65, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Integer
+
+ Subtract(bf65, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Subtract(bf65, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(bf65, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Subtract(bf65, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfe7cb391d650a283)
+ }
+
+ // Conversion of the second operand
+
+ Store(Subtract(0, bf65), Local0)
+ m600(arg0, 24, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(1, bf65), Local0)
+ m600(arg0, 25, Local0, 0x01834c6e29af5d7d)
+
+ Store(Subtract(aui5, bf65), Local0)
+ m600(arg0, 26, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(aui6, bf65), Local0)
+ m600(arg0, 27, Local0, 0x01834c6e29af5d7d)
+
+ if (y078) {
+ Store(Subtract(Derefof(Refof(aui5)), bf65), Local0)
+ m600(arg0, 28, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(Derefof(Refof(aui6)), bf65), Local0)
+ m600(arg0, 29, Local0, 0x01834c6e29af5d7d)
+ }
+
+ Store(Subtract(Derefof(Index(paui, 5)), bf65), Local0)
+ m600(arg0, 30, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(Derefof(Index(paui, 6)), bf65), Local0)
+ m600(arg0, 31, Local0, 0x01834c6e29af5d7d)
+
+ // Method returns Integer
+
+ Store(Subtract(m601(1, 5), bf65), Local0)
+ m600(arg0, 32, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(m601(1, 6), bf65), Local0)
+ m600(arg0, 33, Local0, 0x01834c6e29af5d7d)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(Derefof(m602(1, 5, 1)), bf65), Local0)
+ m600(arg0, 34, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(Derefof(m602(1, 6, 1)), bf65), Local0)
+ m600(arg0, 35, Local0, 0x01834c6e29af5d7d)
+ }
+
+ Subtract(0, bf65, Local0)
+ m600(arg0, 36, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(1, bf65, Local0)
+ m600(arg0, 37, Local0, 0x01834c6e29af5d7d)
+
+ Subtract(aui5, bf65, Local0)
+ m600(arg0, 38, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(aui6, bf65, Local0)
+ m600(arg0, 39, Local0, 0x01834c6e29af5d7d)
+
+ if (y078) {
+ Subtract(Derefof(Refof(aui5)), bf65, Local0)
+ m600(arg0, 40, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(Derefof(Refof(aui6)), bf65, Local0)
+ m600(arg0, 41, Local0, 0x01834c6e29af5d7d)
+ }
+
+ Subtract(Derefof(Index(paui, 5)), bf65, Local0)
+ m600(arg0, 42, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(Derefof(Index(paui, 6)), bf65, Local0)
+ m600(arg0, 43, Local0, 0x01834c6e29af5d7d)
+
+ // Method returns Integer
+
+ Subtract(m601(1, 5), bf65, Local0)
+ m600(arg0, 44, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(m601(1, 6), bf65, Local0)
+ m600(arg0, 45, Local0, 0x01834c6e29af5d7d)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(Derefof(m602(1, 5, 1)), bf65, Local0)
+ m600(arg0, 46, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(Derefof(m602(1, 6, 1)), bf65, Local0)
+ m600(arg0, 47, Local0, 0x01834c6e29af5d7d)
+ }
+
+ // Conversion of the both operands
+
+ Store(Subtract(bf61, bf65), Local0)
+ m600(arg0, 48, Local0, 0x01834c6e29af609d)
+
+ Store(Subtract(bf65, bf61), Local0)
+ m600(arg0, 49, Local0, 0xfe7cb391d6509f63)
+
+ Subtract(bf61, bf65, Local0)
+ m600(arg0, 50, Local0, 0x01834c6e29af609d)
+
+ Subtract(bf65, bf61, Local0)
+ m600(arg0, 51, Local0, 0xfe7cb391d6509f63)
+ }
+
+ // Subtract, 32-bit
+ Method(m05b, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Subtract(bf65, 0), Local0)
+ m600(arg0, 0, Local0, 0xd650a284)
+
+ Store(Subtract(bf65, 1), Local0)
+ m600(arg0, 1, Local0, 0xd650a283)
+
+ Store(Subtract(bf65, aui5), Local0)
+ m600(arg0, 2, Local0, 0xd650a284)
+
+ Store(Subtract(bf65, aui6), Local0)
+ m600(arg0, 3, Local0, 0xd650a283)
+
+ if (y078) {
+ Store(Subtract(bf65, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xd650a284)
+
+ Store(Subtract(bf65, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xd650a283)
+ }
+
+ Store(Subtract(bf65, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xd650a284)
+
+ Store(Subtract(bf65, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xd650a283)
+
+ // Method returns Integer
+
+ Store(Subtract(bf65, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xd650a284)
+
+ Store(Subtract(bf65, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xd650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(bf65, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xd650a284)
+
+ Store(Subtract(bf65, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xd650a283)
+ }
+
+ Subtract(bf65, 0, Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ Subtract(bf65, 1, Local0)
+ m600(arg0, 13, Local0, 0xd650a283)
+
+ Subtract(bf65, aui5, Local0)
+ m600(arg0, 14, Local0, 0xd650a284)
+
+ Subtract(bf65, aui6, Local0)
+ m600(arg0, 15, Local0, 0xd650a283)
+
+ if (y078) {
+ Subtract(bf65, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xd650a284)
+
+ Subtract(bf65, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xd650a283)
+ }
+
+ Subtract(bf65, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xd650a284)
+
+ Subtract(bf65, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xd650a283)
+
+ // Method returns Integer
+
+ Subtract(bf65, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xd650a284)
+
+ Subtract(bf65, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xd650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(bf65, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xd650a284)
+
+ Subtract(bf65, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xd650a283)
+ }
+
+ // Conversion of the second operand
+
+ Store(Subtract(0, bf65), Local0)
+ m600(arg0, 24, Local0, 0x29af5d7c)
+
+ Store(Subtract(1, bf65), Local0)
+ m600(arg0, 25, Local0, 0x29af5d7d)
+
+ Store(Subtract(aui5, bf65), Local0)
+ m600(arg0, 26, Local0, 0x29af5d7c)
+
+ Store(Subtract(aui6, bf65), Local0)
+ m600(arg0, 27, Local0, 0x29af5d7d)
+
+ if (y078) {
+ Store(Subtract(Derefof(Refof(aui5)), bf65), Local0)
+ m600(arg0, 28, Local0, 0x29af5d7c)
+
+ Store(Subtract(Derefof(Refof(aui6)), bf65), Local0)
+ m600(arg0, 29, Local0, 0x29af5d7d)
+ }
+
+ Store(Subtract(Derefof(Index(paui, 5)), bf65), Local0)
+ m600(arg0, 30, Local0, 0x29af5d7c)
+
+ Store(Subtract(Derefof(Index(paui, 6)), bf65), Local0)
+ m600(arg0, 31, Local0, 0x29af5d7d)
+
+ // Method returns Integer
+
+ Store(Subtract(m601(1, 5), bf65), Local0)
+ m600(arg0, 32, Local0, 0x29af5d7c)
+
+ Store(Subtract(m601(1, 6), bf65), Local0)
+ m600(arg0, 33, Local0, 0x29af5d7d)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(Derefof(m602(1, 5, 1)), bf65), Local0)
+ m600(arg0, 34, Local0, 0x29af5d7c)
+
+ Store(Subtract(Derefof(m602(1, 6, 1)), bf65), Local0)
+ m600(arg0, 35, Local0, 0x29af5d7d)
+ }
+
+ Subtract(0, bf65, Local0)
+ m600(arg0, 36, Local0, 0x29af5d7c)
+
+ Subtract(1, bf65, Local0)
+ m600(arg0, 37, Local0, 0x29af5d7d)
+
+ Subtract(aui5, bf65, Local0)
+ m600(arg0, 38, Local0, 0x29af5d7c)
+
+ Subtract(aui6, bf65, Local0)
+ m600(arg0, 39, Local0, 0x29af5d7d)
+
+ if (y078) {
+ Subtract(Derefof(Refof(aui5)), bf65, Local0)
+ m600(arg0, 40, Local0, 0x29af5d7c)
+
+ Subtract(Derefof(Refof(aui6)), bf65, Local0)
+ m600(arg0, 41, Local0, 0x29af5d7d)
+ }
+
+ Subtract(Derefof(Index(paui, 5)), bf65, Local0)
+ m600(arg0, 42, Local0, 0x29af5d7c)
+
+ Subtract(Derefof(Index(paui, 6)), bf65, Local0)
+ m600(arg0, 43, Local0, 0x29af5d7d)
+
+ // Method returns Integer
+
+ Subtract(m601(1, 5), bf65, Local0)
+ m600(arg0, 44, Local0, 0x29af5d7c)
+
+ Subtract(m601(1, 6), bf65, Local0)
+ m600(arg0, 45, Local0, 0x29af5d7d)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(Derefof(m602(1, 5, 1)), bf65, Local0)
+ m600(arg0, 46, Local0, 0x29af5d7c)
+
+ Subtract(Derefof(m602(1, 6, 1)), bf65, Local0)
+ m600(arg0, 47, Local0, 0x29af5d7d)
+ }
+
+ // Conversion of the both operands
+
+ Store(Subtract(bf61, bf65), Local0)
+ m600(arg0, 48, Local0, 0x29af609d)
+
+ Store(Subtract(bf65, bf61), Local0)
+ m600(arg0, 49, Local0, 0xd6509f63)
+
+ Subtract(bf61, bf65, Local0)
+ m600(arg0, 50, Local0, 0x29af609d)
+
+ Subtract(bf65, bf61, Local0)
+ m600(arg0, 51, Local0, 0xd6509f63)
+ }
+
+ // XOr, common 32-bit/64-bit test
+ Method(m05c, 1)
+ {
+ // Conversion of the first operand
+
+ Store(XOr(bf61, 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(XOr(bf61, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xfffffffffffffcde)
+
+ Store(XOr(bf61, aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(XOr(bf61, auij), Local0)
+ m600(arg0, 3, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ Store(XOr(bf61, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(XOr(bf61, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xfffffffffffffcde)
+ }
+
+ Store(XOr(bf61, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(XOr(bf61, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ Store(XOr(bf61, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(XOr(bf61, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(bf61, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(XOr(bf61, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfffffffffffffcde)
+ }
+
+ XOr(bf61, 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ XOr(bf61, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xfffffffffffffcde)
+
+ XOr(bf61, aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ XOr(bf61, auij, Local0)
+ m600(arg0, 15, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ XOr(bf61, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ XOr(bf61, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xfffffffffffffcde)
+ }
+
+ XOr(bf61, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ XOr(bf61, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ XOr(bf61, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ XOr(bf61, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(bf61, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ XOr(bf61, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfffffffffffffcde)
+ }
+
+ // Conversion of the second operand
+
+ Store(XOr(0, bf61), Local0)
+ m600(arg0, 24, Local0, 0x321)
+
+ Store(XOr(0xffffffffffffffff, bf61), Local0)
+ m600(arg0, 25, Local0, 0xfffffffffffffcde)
+
+ Store(XOr(aui5, bf61), Local0)
+ m600(arg0, 26, Local0, 0x321)
+
+ Store(XOr(auij, bf61), Local0)
+ m600(arg0, 27, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ Store(XOr(Derefof(Refof(aui5)), bf61), Local0)
+ m600(arg0, 28, Local0, 0x321)
+
+ Store(XOr(Derefof(Refof(auij)), bf61), Local0)
+ m600(arg0, 29, Local0, 0xfffffffffffffcde)
+ }
+
+ Store(XOr(Derefof(Index(paui, 5)), bf61), Local0)
+ m600(arg0, 30, Local0, 0x321)
+
+ Store(XOr(Derefof(Index(paui, 19)), bf61), Local0)
+ m600(arg0, 31, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ Store(XOr(m601(1, 5), bf61), Local0)
+ m600(arg0, 32, Local0, 0x321)
+
+ Store(XOr(m601(1, 19), bf61), Local0)
+ m600(arg0, 33, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(Derefof(m602(1, 5, 1)), bf61), Local0)
+ m600(arg0, 34, Local0, 0x321)
+
+ Store(XOr(Derefof(m602(1, 19, 1)), bf61), Local0)
+ m600(arg0, 35, Local0, 0xfffffffffffffcde)
+ }
+
+ XOr(0, bf61, Local0)
+ m600(arg0, 36, Local0, 0x321)
+
+ XOr(0xffffffffffffffff, bf61, Local0)
+ m600(arg0, 37, Local0, 0xfffffffffffffcde)
+
+ XOr(aui5, bf61, Local0)
+ m600(arg0, 38, Local0, 0x321)
+
+ XOr(auij, bf61, Local0)
+ m600(arg0, 39, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ XOr(Derefof(Refof(aui5)), bf61, Local0)
+ m600(arg0, 40, Local0, 0x321)
+
+ XOr(Derefof(Refof(auij)), bf61, Local0)
+ m600(arg0, 41, Local0, 0xfffffffffffffcde)
+ }
+
+ XOr(Derefof(Index(paui, 5)), bf61, Local0)
+ m600(arg0, 42, Local0, 0x321)
+
+ XOr(Derefof(Index(paui, 19)), bf61, Local0)
+ m600(arg0, 43, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ XOr(m601(1, 5), bf61, Local0)
+ m600(arg0, 44, Local0, 0x321)
+
+ XOr(m601(1, 19), bf61, Local0)
+ m600(arg0, 45, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(Derefof(m602(1, 5, 1)), bf61, Local0)
+ m600(arg0, 46, Local0, 0x321)
+
+ XOr(Derefof(m602(1, 19, 1)), bf61, Local0)
+ m600(arg0, 47, Local0, 0xfffffffffffffcde)
+ }
+ }
+
+ // XOr, 64-bit
+ Method(m05d, 1)
+ {
+ // Conversion of the first operand
+
+ Store(XOr(bf65, 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(bf65, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0x01834c6e29af5d7b)
+
+ Store(XOr(bf65, aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(bf65, auij), Local0)
+ m600(arg0, 3, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ Store(XOr(bf65, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(bf65, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Store(XOr(bf65, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(bf65, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ Store(XOr(bf65, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(bf65, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(bf65, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(bf65, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0x01834c6e29af5d7b)
+ }
+
+ XOr(bf65, 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ XOr(bf65, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0x01834c6e29af5d7b)
+
+ XOr(bf65, aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ XOr(bf65, auij, Local0)
+ m600(arg0, 15, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ XOr(bf65, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ XOr(bf65, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0x01834c6e29af5d7b)
+ }
+
+ XOr(bf65, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ XOr(bf65, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ XOr(bf65, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ XOr(bf65, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(bf65, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ XOr(bf65, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0x01834c6e29af5d7b)
+ }
+
+ // Conversion of the second operand
+
+ Store(XOr(0, bf65), Local0)
+ m600(arg0, 24, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(0xffffffffffffffff, bf65), Local0)
+ m600(arg0, 25, Local0, 0x01834c6e29af5d7b)
+
+ Store(XOr(aui5, bf65), Local0)
+ m600(arg0, 26, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(auij, bf65), Local0)
+ m600(arg0, 27, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ Store(XOr(Derefof(Refof(aui5)), bf65), Local0)
+ m600(arg0, 28, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(Refof(auij)), bf65), Local0)
+ m600(arg0, 29, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Store(XOr(Derefof(Index(paui, 5)), bf65), Local0)
+ m600(arg0, 30, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(Index(paui, 19)), bf65), Local0)
+ m600(arg0, 31, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ Store(XOr(m601(1, 5), bf65), Local0)
+ m600(arg0, 32, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(m601(1, 19), bf65), Local0)
+ m600(arg0, 33, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(Derefof(m602(1, 5, 1)), bf65), Local0)
+ m600(arg0, 34, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(m602(1, 19, 1)), bf65), Local0)
+ m600(arg0, 35, Local0, 0x01834c6e29af5d7b)
+ }
+
+ XOr(0, bf65, Local0)
+ m600(arg0, 36, Local0, 0xfe7cb391d650a284)
+
+ XOr(0xffffffffffffffff, bf65, Local0)
+ m600(arg0, 37, Local0, 0x01834c6e29af5d7b)
+
+ XOr(aui5, bf65, Local0)
+ m600(arg0, 38, Local0, 0xfe7cb391d650a284)
+
+ XOr(auij, bf65, Local0)
+ m600(arg0, 39, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ XOr(Derefof(Refof(aui5)), bf65, Local0)
+ m600(arg0, 40, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(Refof(auij)), bf65, Local0)
+ m600(arg0, 41, Local0, 0x01834c6e29af5d7b)
+ }
+
+ XOr(Derefof(Index(paui, 5)), bf65, Local0)
+ m600(arg0, 42, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(Index(paui, 19)), bf65, Local0)
+ m600(arg0, 43, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ XOr(m601(1, 5), bf65, Local0)
+ m600(arg0, 44, Local0, 0xfe7cb391d650a284)
+
+ XOr(m601(1, 19), bf65, Local0)
+ m600(arg0, 45, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(Derefof(m602(1, 5, 1)), bf65, Local0)
+ m600(arg0, 46, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(m602(1, 19, 1)), bf65, Local0)
+ m600(arg0, 47, Local0, 0x01834c6e29af5d7b)
+ }
+
+ // Conversion of the both operands
+
+ Store(XOr(bf61, bf65), Local0)
+ m600(arg0, 48, Local0, 0xfe7cb391d650a1a5)
+
+ Store(XOr(bf65, bf61), Local0)
+ m600(arg0, 49, Local0, 0xfe7cb391d650a1a5)
+
+ XOr(bf61, bf65, Local0)
+ m600(arg0, 50, Local0, 0xfe7cb391d650a1a5)
+
+ XOr(bf65, bf61, Local0)
+ m600(arg0, 51, Local0, 0xfe7cb391d650a1a5)
+ }
+
+ // XOr, 32-bit
+ Method(m05e, 1)
+ {
+ // Conversion of the first operand
+
+ Store(XOr(bf65, 0), Local0)
+ m600(arg0, 0, Local0, 0xd650a284)
+
+ Store(XOr(bf65, 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0x29af5d7b)
+
+ Store(XOr(bf65, aui5), Local0)
+ m600(arg0, 2, Local0, 0xd650a284)
+
+ Store(XOr(bf65, auii), Local0)
+ m600(arg0, 3, Local0, 0x29af5d7b)
+
+ if (y078) {
+ Store(XOr(bf65, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xd650a284)
+
+ Store(XOr(bf65, Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0x29af5d7b)
+ }
+
+ Store(XOr(bf65, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xd650a284)
+
+ Store(XOr(bf65, Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0x29af5d7b)
+
+ // Method returns Integer
+
+ Store(XOr(bf65, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xd650a284)
+
+ Store(XOr(bf65, m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0x29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(bf65, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xd650a284)
+
+ Store(XOr(bf65, Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0x29af5d7b)
+ }
+
+ XOr(bf65, 0, Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ XOr(bf65, 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0x29af5d7b)
+
+ XOr(bf65, aui5, Local0)
+ m600(arg0, 14, Local0, 0xd650a284)
+
+ XOr(bf65, auii, Local0)
+ m600(arg0, 15, Local0, 0x29af5d7b)
+
+ if (y078) {
+ XOr(bf65, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xd650a284)
+
+ XOr(bf65, Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0x29af5d7b)
+ }
+
+ XOr(bf65, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xd650a284)
+
+ XOr(bf65, Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0x29af5d7b)
+
+ // Method returns Integer
+
+ XOr(bf65, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xd650a284)
+
+ XOr(bf65, m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0x29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(bf65, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xd650a284)
+
+ XOr(bf65, Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0x29af5d7b)
+ }
+
+ // Conversion of the second operand
+
+ Store(XOr(0, bf65), Local0)
+ m600(arg0, 24, Local0, 0xd650a284)
+
+ Store(XOr(0xffffffff, bf65), Local0)
+ m600(arg0, 25, Local0, 0x29af5d7b)
+
+ Store(XOr(aui5, bf65), Local0)
+ m600(arg0, 26, Local0, 0xd650a284)
+
+ Store(XOr(auii, bf65), Local0)
+ m600(arg0, 27, Local0, 0x29af5d7b)
+
+ if (y078) {
+ Store(XOr(Derefof(Refof(aui5)), bf65), Local0)
+ m600(arg0, 28, Local0, 0xd650a284)
+
+ Store(XOr(Derefof(Refof(auii)), bf65), Local0)
+ m600(arg0, 29, Local0, 0x29af5d7b)
+ }
+
+ Store(XOr(Derefof(Index(paui, 5)), bf65), Local0)
+ m600(arg0, 30, Local0, 0xd650a284)
+
+ Store(XOr(Derefof(Index(paui, 18)), bf65), Local0)
+ m600(arg0, 31, Local0, 0x29af5d7b)
+
+ // Method returns Integer
+
+ Store(XOr(m601(1, 5), bf65), Local0)
+ m600(arg0, 32, Local0, 0xd650a284)
+
+ Store(XOr(m601(1, 18), bf65), Local0)
+ m600(arg0, 33, Local0, 0x29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(Derefof(m602(1, 5, 1)), bf65), Local0)
+ m600(arg0, 34, Local0, 0xd650a284)
+
+ Store(XOr(Derefof(m602(1, 18, 1)), bf65), Local0)
+ m600(arg0, 35, Local0, 0x29af5d7b)
+ }
+
+ XOr(0, bf65, Local0)
+ m600(arg0, 36, Local0, 0xd650a284)
+
+ XOr(0xffffffff, bf65, Local0)
+ m600(arg0, 37, Local0, 0x29af5d7b)
+
+ XOr(aui5, bf65, Local0)
+ m600(arg0, 38, Local0, 0xd650a284)
+
+ XOr(auii, bf65, Local0)
+ m600(arg0, 39, Local0, 0x29af5d7b)
+
+ if (y078) {
+ XOr(Derefof(Refof(aui5)), bf65, Local0)
+ m600(arg0, 40, Local0, 0xd650a284)
+
+ XOr(Derefof(Refof(auii)), bf65, Local0)
+ m600(arg0, 41, Local0, 0x29af5d7b)
+ }
+
+ XOr(Derefof(Index(paui, 5)), bf65, Local0)
+ m600(arg0, 42, Local0, 0xd650a284)
+
+ XOr(Derefof(Index(paui, 18)), bf65, Local0)
+ m600(arg0, 43, Local0, 0x29af5d7b)
+
+ // Method returns Integer
+
+ XOr(m601(1, 5), bf65, Local0)
+ m600(arg0, 44, Local0, 0xd650a284)
+
+ XOr(m601(1, 18), bf65, Local0)
+ m600(arg0, 45, Local0, 0x29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(Derefof(m602(1, 5, 1)), bf65, Local0)
+ m600(arg0, 46, Local0, 0xd650a284)
+
+ XOr(Derefof(m602(1, 18, 1)), bf65, Local0)
+ m600(arg0, 47, Local0, 0x29af5d7b)
+ }
+
+ // Conversion of the both operands
+
+ Store(XOr(bf61, bf65), Local0)
+ m600(arg0, 48, Local0, 0xd650a1a5)
+
+ Store(XOr(bf65, bf61), Local0)
+ m600(arg0, 49, Local0, 0xd650a1a5)
+
+ XOr(bf61, bf65, Local0)
+ m600(arg0, 50, Local0, 0xd650a1a5)
+
+ XOr(bf65, bf61, Local0)
+ m600(arg0, 51, Local0, 0xd650a1a5)
+ }
+
+ // Add, And, Divide, Mod, Multiply, NAnd, NOr, Or,
+ // ShiftLeft, ShiftRight, Subtract, Xor
+
+ Method(m64n, 1)
+ {
+ // Add
+ Concatenate(arg0, "-m03b", Local0)
+ SRMT(Local0)
+ m03b(Local0)
+ Concatenate(arg0, "-m03c", Local0)
+ SRMT(Local0)
+ m03c(Local0)
+
+ // And
+ Concatenate(arg0, "-m03e", Local0)
+ SRMT(Local0)
+ m03e(Local0)
+ Concatenate(arg0, "-m03f", Local0)
+ SRMT(Local0)
+ m03f(Local0)
+
+ // Divide
+ Concatenate(arg0, "-m041", Local0)
+ SRMT(Local0)
+ m041(Local0)
+ Concatenate(arg0, "-m042", Local0)
+ SRMT(Local0)
+ m042(Local0)
+
+ // Mod
+ Concatenate(arg0, "-m044", Local0)
+ SRMT(Local0)
+ m044(Local0)
+ Concatenate(arg0, "-m045", Local0)
+ SRMT(Local0)
+ m045(Local0)
+
+ // Multiply
+ Concatenate(arg0, "-m047", Local0)
+ SRMT(Local0)
+ m047(Local0)
+ Concatenate(arg0, "-m048", Local0)
+ SRMT(Local0)
+ m048(Local0)
+
+ // NAnd
+ Concatenate(arg0, "-m04a", Local0)
+ SRMT(Local0)
+ m04a(Local0)
+ Concatenate(arg0, "-m04b", Local0)
+ SRMT(Local0)
+ m04b(Local0)
+
+ // NOr
+ Concatenate(arg0, "-m04d", Local0)
+ SRMT(Local0)
+ m04d(Local0)
+ Concatenate(arg0, "-m04e", Local0)
+ SRMT(Local0)
+ m04e(Local0)
+
+ // Or
+ Concatenate(arg0, "-m050", Local0)
+ SRMT(Local0)
+ m050(Local0)
+ Concatenate(arg0, "-m051", Local0)
+ SRMT(Local0)
+ m051(Local0)
+
+ // ShiftLeft
+ Concatenate(arg0, "-m053", Local0)
+ SRMT(Local0)
+ m053(Local0)
+ Concatenate(arg0, "-m054", Local0)
+ SRMT(Local0)
+ m054(Local0)
+
+ // ShiftRight
+ Concatenate(arg0, "-m056", Local0)
+ SRMT(Local0)
+ m056(Local0)
+ Concatenate(arg0, "-m057", Local0)
+ SRMT(Local0)
+ m057(Local0)
+
+ // Subtract
+ Concatenate(arg0, "-m059", Local0)
+ SRMT(Local0)
+ m059(Local0)
+ Concatenate(arg0, "-m05a", Local0)
+ SRMT(Local0)
+ m05a(Local0)
+
+ // XOr
+ Concatenate(arg0, "-m05c", Local0)
+ SRMT(Local0)
+ m05c(Local0)
+ Concatenate(arg0, "-m05d", Local0)
+ SRMT(Local0)
+ m05d(Local0)
+ }
+
+ Method(m32n, 1)
+ {
+ // Add
+ Concatenate(arg0, "-m03b", Local0)
+ SRMT(Local0)
+ m03b(Local0)
+ Concatenate(arg0, "-m03d", Local0)
+ SRMT(Local0)
+ m03d(Local0)
+
+ // And
+ Concatenate(arg0, "-m03e", Local0)
+ SRMT(Local0)
+ m03e(Local0)
+ Concatenate(arg0, "-m040", Local0)
+ SRMT(Local0)
+ m040(Local0)
+
+ // Divide
+ Concatenate(arg0, "-m041", Local0)
+ SRMT(Local0)
+ m041(Local0)
+ Concatenate(arg0, "-m043", Local0)
+ SRMT(Local0)
+ m043(Local0)
+
+ // Mod
+ Concatenate(arg0, "-m044", Local0)
+ SRMT(Local0)
+ m044(Local0)
+ Concatenate(arg0, "-m046", Local0)
+ SRMT(Local0)
+ m046(Local0)
+
+ // Multiply
+ Concatenate(arg0, "-m047", Local0)
+ SRMT(Local0)
+ m047(Local0)
+ Concatenate(arg0, "-m049", Local0)
+ SRMT(Local0)
+ m049(Local0)
+
+ // NAnd
+ Concatenate(arg0, "-m04a", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m04a(Local0)
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m04c", Local0)
+ SRMT(Local0)
+ m04c(Local0)
+
+ // NOr
+ Concatenate(arg0, "-m04d", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m04d(Local0)
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m04f", Local0)
+ SRMT(Local0)
+ m04f(Local0)
+
+ // Or
+ Concatenate(arg0, "-m050", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m050(Local0)
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m052", Local0)
+ SRMT(Local0)
+ m052(Local0)
+
+ // ShiftLeft
+ Concatenate(arg0, "-m053", Local0)
+ SRMT(Local0)
+ m053(Local0)
+ Concatenate(arg0, "-m055", Local0)
+ SRMT(Local0)
+ m055(Local0)
+
+ // ShiftRight
+ Concatenate(arg0, "-m056", Local0)
+ SRMT(Local0)
+ m056(Local0)
+ Concatenate(arg0, "-m058", Local0)
+ SRMT(Local0)
+ m058(Local0)
+
+ // Subtract
+ Concatenate(arg0, "-m059", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m059(Local0)
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m05b", Local0)
+ SRMT(Local0)
+ m05b(Local0)
+
+ // XOr
+ Concatenate(arg0, "-m05c", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m05c(Local0)
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m05e", Local0)
+ SRMT(Local0)
+ m05e(Local0)
+ }
+
+
+ // Buffer Field to Integer conversion of each Buffer operand
+ // of the 2-parameter Logical Integer operators LAnd and LOr
+
+ // LAnd, common 32-bit/64-bit test
+ Method(m05f, 1)
+ {
+ // Conversion of the first operand
+
+ Store(LAnd(bf61, 0), Local0)
+ m600(arg0, 0, Local0, Zero)
+
+ Store(LAnd(bf61, 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(LAnd(bf61, aui5), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LAnd(bf61, aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(bf61, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LAnd(bf61, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(LAnd(bf61, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Zero)
+
+ Store(LAnd(bf61, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(bf61, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Zero)
+
+ Store(LAnd(bf61, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(bf61, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LAnd(bf61, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(LAnd(0, bf61), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LAnd(1, bf61), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LAnd(aui5, bf61), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LAnd(aui6, bf61), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(Derefof(Refof(aui5)), bf61), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(aui6)), bf61), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(LAnd(Derefof(Index(paui, 5)), bf61), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LAnd(Derefof(Index(paui, 6)), bf61), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(m601(1, 5), bf61), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LAnd(m601(1, 6), bf61), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(Derefof(m602(1, 5, 1)), bf61), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LAnd(Derefof(m602(1, 6, 1)), bf61), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+ }
+
+ // LAnd, 64-bit
+ Method(m060, 1)
+ {
+ // Conversion of the first operand
+
+ Store(LAnd(bf65, 0), Local0)
+ m600(arg0, 0, Local0, Zero)
+
+ Store(LAnd(bf65, 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(LAnd(bf65, aui5), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LAnd(bf65, aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(bf65, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LAnd(bf65, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(LAnd(bf65, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Zero)
+
+ Store(LAnd(bf65, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(bf65, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Zero)
+
+ Store(LAnd(bf65, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(bf65, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LAnd(bf65, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(LAnd(0, bf65), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LAnd(1, bf65), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LAnd(aui5, bf65), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LAnd(aui6, bf65), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(Derefof(Refof(aui5)), bf65), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(aui6)), bf65), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(LAnd(Derefof(Index(paui, 5)), bf65), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LAnd(Derefof(Index(paui, 6)), bf65), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(m601(1, 5), bf65), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LAnd(m601(1, 6), bf65), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(Derefof(m602(1, 5, 1)), bf65), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LAnd(Derefof(m602(1, 6, 1)), bf65), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+
+ // Conversion of the both operands
+
+ Store(LAnd(bf61, bf65), Local0)
+ m600(arg0, 24, Local0, Ones)
+
+ Store(LAnd(bf65, bf61), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // LAnd, 32-bit
+ Method(m061, 1)
+ {
+ // Conversion of the first operand
+
+ Store(LAnd(bf65, 0), Local0)
+ m600(arg0, 0, Local0, Zero)
+
+ Store(LAnd(bf65, 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(LAnd(bf65, aui5), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LAnd(bf65, aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(bf65, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LAnd(bf65, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(LAnd(bf65, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Zero)
+
+ Store(LAnd(bf65, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(bf65, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Zero)
+
+ Store(LAnd(bf65, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(bf65, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LAnd(bf65, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(LAnd(0, bf65), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LAnd(1, bf65), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LAnd(aui5, bf65), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LAnd(aui6, bf65), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(Derefof(Refof(aui5)), bf65), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(aui6)), bf65), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(LAnd(Derefof(Index(paui, 5)), bf65), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LAnd(Derefof(Index(paui, 6)), bf65), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(m601(1, 5), bf65), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LAnd(m601(1, 6), bf65), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(Derefof(m602(1, 5, 1)), bf65), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LAnd(Derefof(m602(1, 6, 1)), bf65), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+
+ // Conversion of the both operands
+
+ Store(LAnd(bf61, bf65), Local0)
+ m600(arg0, 24, Local0, Ones)
+
+ Store(LAnd(bf65, bf61), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // Lor, common 32-bit/64-bit test
+ Method(m062, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Lor(bf76, 0), Local0)
+ m600(arg0, 0, Local0, Zero)
+
+ Store(Lor(bf76, 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(Lor(bf76, aui5), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(Lor(bf76, aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(bf76, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(Lor(bf76, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(Lor(bf76, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Zero)
+
+ Store(Lor(bf76, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(bf76, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Zero)
+
+ Store(Lor(bf76, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(bf76, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(Lor(bf76, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(Lor(0, bf76), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(Lor(1, bf76), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(Lor(aui5, bf76), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(Lor(aui6, bf76), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(Derefof(Refof(aui5)), bf76), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(Lor(Derefof(Refof(aui6)), bf76), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(Lor(Derefof(Index(paui, 5)), bf76), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(Lor(Derefof(Index(paui, 6)), bf76), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(m601(1, 5), bf76), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(Lor(m601(1, 6), bf76), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(Derefof(m602(1, 5, 1)), bf76), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(Lor(Derefof(m602(1, 6, 1)), bf76), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+ }
+
+ // Lor, 64-bit
+ Method(m063, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Lor(bf65, 0), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(Lor(bf65, 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(Lor(bf65, aui5), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(Lor(bf65, aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(bf65, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(Lor(bf65, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(Lor(bf65, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(Lor(bf65, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(bf65, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(Lor(bf65, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(bf65, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(Lor(bf65, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(Lor(0, bf65), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(Lor(1, bf65), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(Lor(aui5, bf65), Local0)
+ m600(arg0, 14, Local0, Ones)
+
+ Store(Lor(aui6, bf65), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(Derefof(Refof(aui5)), bf65), Local0)
+ m600(arg0, 16, Local0, Ones)
+
+ Store(Lor(Derefof(Refof(aui6)), bf65), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(Lor(Derefof(Index(paui, 5)), bf65), Local0)
+ m600(arg0, 18, Local0, Ones)
+
+ Store(Lor(Derefof(Index(paui, 6)), bf65), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(m601(1, 5), bf65), Local0)
+ m600(arg0, 20, Local0, Ones)
+
+ Store(Lor(m601(1, 6), bf65), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(Derefof(m602(1, 5, 1)), bf65), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(Lor(Derefof(m602(1, 6, 1)), bf65), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+
+ // Conversion of the both operands
+
+ Store(Lor(bf76, bf65), Local0)
+ m600(arg0, 24, Local0, Ones)
+
+ Store(Lor(bf65, bf76), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // Lor, 32-bit
+ Method(m064, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Lor(bf65, 0), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(Lor(bf65, 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(Lor(bf65, aui5), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(Lor(bf65, aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(bf65, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(Lor(bf65, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(Lor(bf65, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(Lor(bf65, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(bf65, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(Lor(bf65, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(bf65, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(Lor(bf65, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(Lor(0, bf65), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(Lor(1, bf65), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(Lor(aui5, bf65), Local0)
+ m600(arg0, 14, Local0, Ones)
+
+ Store(Lor(aui6, bf65), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(Derefof(Refof(aui5)), bf65), Local0)
+ m600(arg0, 16, Local0, Ones)
+
+ Store(Lor(Derefof(Refof(aui6)), bf65), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(Lor(Derefof(Index(paui, 5)), bf65), Local0)
+ m600(arg0, 18, Local0, Ones)
+
+ Store(Lor(Derefof(Index(paui, 6)), bf65), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(m601(1, 5), bf65), Local0)
+ m600(arg0, 20, Local0, Ones)
+
+ Store(Lor(m601(1, 6), bf65), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(Derefof(m602(1, 5, 1)), bf65), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(Lor(Derefof(m602(1, 6, 1)), bf65), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+
+ // Conversion of the both operands
+
+ Store(Lor(bf76, bf65), Local0)
+ m600(arg0, 24, Local0, Ones)
+
+ Store(Lor(bf65, bf76), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ Method(m64o, 1)
+ {
+ // LAnd
+ Concatenate(arg0, "-m05f", Local0)
+ SRMT(Local0)
+ m05f(Local0)
+ Concatenate(arg0, "-m060", Local0)
+ SRMT(Local0)
+ m060(Local0)
+
+ // LOr
+ Concatenate(arg0, "-m062", Local0)
+ SRMT(Local0)
+ m062(Local0)
+ Concatenate(arg0, "-m063", Local0)
+ SRMT(Local0)
+ m063(Local0)
+ }
+
+ Method(m32o, 1)
+ {
+ // LAnd
+ Concatenate(arg0, "-m05f", Local0)
+ SRMT(Local0)
+ m05f(Local0)
+ Concatenate(arg0, "-m061", Local0)
+ SRMT(Local0)
+ m061(Local0)
+
+ // LOr
+ Concatenate(arg0, "-m062", Local0)
+ SRMT(Local0)
+ m062(Local0)
+ Concatenate(arg0, "-m064", Local0)
+ SRMT(Local0)
+ m064(Local0)
+ }
+
+
+ // Buffer Field to Integer conversion of the Buffer Field second operand
+ // of Logical operators when the first operand is evaluated as Integer
+ // (LEqual, LGreater, LGreaterEqual, LLess, LLessEqual, LNotEqual)
+
+ Method(m64p, 1)
+ {
+ // LEqual
+
+ Store(LEqual(0xfe7cb391d650a284, bf65), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual(0xfe7cb391d650a285, bf65), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(0xfe7cb391d650a283, bf65), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LEqual(aui4, bf65), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ Store(LEqual(auid, bf65), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LEqual(auif, bf65), Local0)
+ m600(arg0, 5, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aui4)), bf65), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(auid)), bf65), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ Store(LEqual(Derefof(Refof(auif)), bf65), Local0)
+ m600(arg0, 8, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paui, 4)), bf65), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paui, 13)), bf65), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LEqual(Derefof(Index(paui, 15)), bf65), Local0)
+ m600(arg0, 11, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LEqual(m601(1, 4), bf65), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(LEqual(m601(1, 13), bf65), Local0)
+ m600(arg0, 13, Local0, Zero)
+
+ Store(LEqual(m601(1, 15), bf65), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(1, 4, 1)), bf65), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(1, 13, 1)), bf65), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LEqual(Derefof(m602(1, 15, 1)), bf65), Local0)
+ m600(arg0, 17, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater(0xfe7cb391d650a284, bf65), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(0xfe7cb391d650a285, bf65), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ Store(LGreater(0xfe7cb391d650a283, bf65), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(aui4, bf65), Local0)
+ m600(arg0, 21, Local0, Zero)
+
+ Store(LGreater(auid, bf65), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(LGreater(auif, bf65), Local0)
+ m600(arg0, 23, Local0, Zero)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aui4)), bf65), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(auid)), bf65), Local0)
+ m600(arg0, 25, Local0, Ones)
+
+ Store(LGreater(Derefof(Refof(auif)), bf65), Local0)
+ m600(arg0, 26, Local0, Zero)
+ }
+
+ Store(LGreater(Derefof(Index(paui, 4)), bf65), Local0)
+ m600(arg0, 27, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paui, 13)), bf65), Local0)
+ m600(arg0, 28, Local0, Ones)
+
+ Store(LGreater(Derefof(Index(paui, 15)), bf65), Local0)
+ m600(arg0, 29, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreater(m601(1, 4), bf65), Local0)
+ m600(arg0, 30, Local0, Zero)
+
+ Store(LGreater(m601(1, 13), bf65), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ Store(LGreater(m601(1, 15), bf65), Local0)
+ m600(arg0, 32, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(1, 4, 1)), bf65), Local0)
+ m600(arg0, 33, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(1, 13, 1)), bf65), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreater(Derefof(m602(1, 15, 1)), bf65), Local0)
+ m600(arg0, 35, Local0, Zero)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual(0xfe7cb391d650a284, bf65), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(0xfe7cb391d650a285, bf65), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ Store(LGreaterEqual(0xfe7cb391d650a283, bf65), Local0)
+ m600(arg0, 38, Local0, Zero)
+
+ Store(LGreaterEqual(aui4, bf65), Local0)
+ m600(arg0, 39, Local0, Ones)
+
+ Store(LGreaterEqual(auid, bf65), Local0)
+ m600(arg0, 40, Local0, Ones)
+
+ Store(LGreaterEqual(auif, bf65), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aui4)), bf65), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auid)), bf65), Local0)
+ m600(arg0, 43, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auif)), bf65), Local0)
+ m600(arg0, 44, Local0, Zero)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paui, 4)), bf65), Local0)
+ m600(arg0, 45, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 13)), bf65), Local0)
+ m600(arg0, 46, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 15)), bf65), Local0)
+ m600(arg0, 47, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreaterEqual(m601(1, 4), bf65), Local0)
+ m600(arg0, 48, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 13), bf65), Local0)
+ m600(arg0, 49, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 15), bf65), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(1, 4, 1)), bf65), Local0)
+ m600(arg0, 51, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 13, 1)), bf65), Local0)
+ m600(arg0, 52, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 15, 1)), bf65), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLess
+
+ Store(LLess(0xfe7cb391d650a284, bf65), Local0)
+ m600(arg0, 54, Local0, Zero)
+
+ Store(LLess(0xfe7cb391d650a285, bf65), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLess(0xfe7cb391d650a283, bf65), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLess(aui4, bf65), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLess(auid, bf65), Local0)
+ m600(arg0, 58, Local0, Zero)
+
+ Store(LLess(auif, bf65), Local0)
+ m600(arg0, 59, Local0, Ones)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aui4)), bf65), Local0)
+ m600(arg0, 60, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auid)), bf65), Local0)
+ m600(arg0, 61, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auif)), bf65), Local0)
+ m600(arg0, 62, Local0, Ones)
+ }
+
+ Store(LLess(Derefof(Index(paui, 4)), bf65), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 13)), bf65), Local0)
+ m600(arg0, 64, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 15)), bf65), Local0)
+ m600(arg0, 65, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLess(m601(1, 4), bf65), Local0)
+ m600(arg0, 66, Local0, Zero)
+
+ Store(LLess(m601(1, 13), bf65), Local0)
+ m600(arg0, 67, Local0, Zero)
+
+ Store(LLess(m601(1, 15), bf65), Local0)
+ m600(arg0, 68, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLess(Derefof(m602(1, 4, 1)), bf65), Local0)
+ m600(arg0, 69, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 13, 1)), bf65), Local0)
+ m600(arg0, 70, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 15, 1)), bf65), Local0)
+ m600(arg0, 71, Local0, Ones)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual(0xfe7cb391d650a284, bf65), Local0)
+ m600(arg0, 72, Local0, Ones)
+
+ Store(LLessEqual(0xfe7cb391d650a285, bf65), Local0)
+ m600(arg0, 73, Local0, Zero)
+
+ Store(LLessEqual(0xfe7cb391d650a283, bf65), Local0)
+ m600(arg0, 74, Local0, Ones)
+
+ Store(LLessEqual(aui4, bf65), Local0)
+ m600(arg0, 75, Local0, Ones)
+
+ Store(LLessEqual(auid, bf65), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LLessEqual(auif, bf65), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aui4)), bf65), Local0)
+ m600(arg0, 78, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(auid)), bf65), Local0)
+ m600(arg0, 79, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Refof(auif)), bf65), Local0)
+ m600(arg0, 80, Local0, Ones)
+ }
+
+ Store(LLessEqual(Derefof(Index(paui, 4)), bf65), Local0)
+ m600(arg0, 81, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paui, 13)), bf65), Local0)
+ m600(arg0, 82, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Index(paui, 15)), bf65), Local0)
+ m600(arg0, 83, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLessEqual(m601(1, 4), bf65), Local0)
+ m600(arg0, 84, Local0, Ones)
+
+ Store(LLessEqual(m601(1, 13), bf65), Local0)
+ m600(arg0, 85, Local0, Zero)
+
+ Store(LLessEqual(m601(1, 15), bf65), Local0)
+ m600(arg0, 86, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(1, 4, 1)), bf65), Local0)
+ m600(arg0, 87, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(1, 13, 1)), bf65), Local0)
+ m600(arg0, 88, Local0, Zero)
+
+ Store(LLessEqual(Derefof(m602(1, 15, 1)), bf65), Local0)
+ m600(arg0, 89, Local0, Ones)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual(0xfe7cb391d650a284, bf65), Local0)
+ m600(arg0, 90, Local0, Zero)
+
+ Store(LNotEqual(0xfe7cb391d650a285, bf65), Local0)
+ m600(arg0, 91, Local0, Ones)
+
+ Store(LNotEqual(0xfe7cb391d650a283, bf65), Local0)
+ m600(arg0, 92, Local0, Ones)
+
+ Store(LNotEqual(aui4, bf65), Local0)
+ m600(arg0, 93, Local0, Zero)
+
+ Store(LNotEqual(auid, bf65), Local0)
+ m600(arg0, 94, Local0, Ones)
+
+ Store(LNotEqual(auif, bf65), Local0)
+ m600(arg0, 95, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aui4)), bf65), Local0)
+ m600(arg0, 96, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(auid)), bf65), Local0)
+ m600(arg0, 97, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Refof(auif)), bf65), Local0)
+ m600(arg0, 98, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paui, 4)), bf65), Local0)
+ m600(arg0, 99, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paui, 13)), bf65), Local0)
+ m600(arg0, 100, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Index(paui, 15)), bf65), Local0)
+ m600(arg0, 101, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LNotEqual(m601(1, 4), bf65), Local0)
+ m600(arg0, 102, Local0, Zero)
+
+ Store(LNotEqual(m601(1, 13), bf65), Local0)
+ m600(arg0, 103, Local0, Ones)
+
+ Store(LNotEqual(m601(1, 15), bf65), Local0)
+ m600(arg0, 104, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(1, 4, 1)), bf65), Local0)
+ m600(arg0, 105, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(1, 13, 1)), bf65), Local0)
+ m600(arg0, 106, Local0, Ones)
+
+ Store(LNotEqual(Derefof(m602(1, 15, 1)), bf65), Local0)
+ m600(arg0, 107, Local0, Ones)
+ }
+ }
+
+ Method(m32p, 1)
+ {
+ // LEqual
+
+ Store(LEqual(0xd650a284, bf65), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual(0xd650a285, bf65), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(0xd650a283, bf65), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LEqual(auik, bf65), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ Store(LEqual(auil, bf65), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LEqual(auim, bf65), Local0)
+ m600(arg0, 5, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(auik)), bf65), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(auil)), bf65), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ Store(LEqual(Derefof(Refof(auim)), bf65), Local0)
+ m600(arg0, 8, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paui, 20)), bf65), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paui, 21)), bf65), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LEqual(Derefof(Index(paui, 22)), bf65), Local0)
+ m600(arg0, 11, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LEqual(m601(1, 20), bf65), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(LEqual(m601(1, 21), bf65), Local0)
+ m600(arg0, 13, Local0, Zero)
+
+ Store(LEqual(m601(1, 22), bf65), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(1, 20, 1)), bf65), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LEqual(Derefof(m601(1, 21, 1)), bf65), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LEqual(Derefof(m601(1, 22, 1)), bf65), Local0)
+ m600(arg0, 17, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater(0xd650a284, bf65), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(0xd650a285, bf65), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ Store(LGreater(0xd650a283, bf65), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(auik, bf65), Local0)
+ m600(arg0, 21, Local0, Zero)
+
+ Store(LGreater(auil, bf65), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(LGreater(auim, bf65), Local0)
+ m600(arg0, 23, Local0, Zero)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(auik)), bf65), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(auil)), bf65), Local0)
+ m600(arg0, 25, Local0, Ones)
+
+ Store(LGreater(Derefof(Refof(auim)), bf65), Local0)
+ m600(arg0, 26, Local0, Zero)
+ }
+
+ Store(LGreater(Derefof(Index(paui, 20)), bf65), Local0)
+ m600(arg0, 27, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paui, 21)), bf65), Local0)
+ m600(arg0, 28, Local0, Ones)
+
+ Store(LGreater(Derefof(Index(paui, 22)), bf65), Local0)
+ m600(arg0, 29, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreater(m601(1, 20), bf65), Local0)
+ m600(arg0, 30, Local0, Zero)
+
+ Store(LGreater(m601(1, 21), bf65), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ Store(LGreater(m601(1, 22), bf65), Local0)
+ m600(arg0, 32, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(1, 20, 1)), bf65), Local0)
+ m600(arg0, 33, Local0, Zero)
+
+ Store(LGreater(Derefof(m601(1, 21, 1)), bf65), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreater(Derefof(m601(1, 22, 1)), bf65), Local0)
+ m600(arg0, 35, Local0, Zero)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual(0xd650a284, bf65), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(0xd650a285, bf65), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ Store(LGreaterEqual(0xd650a283, bf65), Local0)
+ m600(arg0, 38, Local0, Zero)
+
+ Store(LGreaterEqual(auik, bf65), Local0)
+ m600(arg0, 39, Local0, Ones)
+
+ Store(LGreaterEqual(auil, bf65), Local0)
+ m600(arg0, 40, Local0, Ones)
+
+ Store(LGreaterEqual(auim, bf65), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(auik)), bf65), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auil)), bf65), Local0)
+ m600(arg0, 43, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auim)), bf65), Local0)
+ m600(arg0, 44, Local0, Zero)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paui, 20)), bf65), Local0)
+ m600(arg0, 45, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 21)), bf65), Local0)
+ m600(arg0, 46, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 22)), bf65), Local0)
+ m600(arg0, 47, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreaterEqual(m601(1, 20), bf65), Local0)
+ m600(arg0, 48, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 21), bf65), Local0)
+ m600(arg0, 49, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 22), bf65), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(1, 20, 1)), bf65), Local0)
+ m600(arg0, 51, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m601(1, 21, 1)), bf65), Local0)
+ m600(arg0, 52, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m601(1, 22, 1)), bf65), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLess
+
+ Store(LLess(0xd650a284, bf65), Local0)
+ m600(arg0, 54, Local0, Zero)
+
+ Store(LLess(0xd650a285, bf65), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLess(0xd650a283, bf65), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLess(auik, bf65), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLess(auil, bf65), Local0)
+ m600(arg0, 58, Local0, Zero)
+
+ Store(LLess(auim, bf65), Local0)
+ m600(arg0, 59, Local0, Ones)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(auik)), bf65), Local0)
+ m600(arg0, 60, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auil)), bf65), Local0)
+ m600(arg0, 61, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auim)), bf65), Local0)
+ m600(arg0, 62, Local0, Ones)
+ }
+
+ Store(LLess(Derefof(Index(paui, 20)), bf65), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 21)), bf65), Local0)
+ m600(arg0, 64, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 22)), bf65), Local0)
+ m600(arg0, 65, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLess(m601(1, 20), bf65), Local0)
+ m600(arg0, 66, Local0, Zero)
+
+ Store(LLess(m601(1, 21), bf65), Local0)
+ m600(arg0, 67, Local0, Zero)
+
+ Store(LLess(m601(1, 22), bf65), Local0)
+ m600(arg0, 68, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLess(Derefof(m602(1, 20, 1)), bf65), Local0)
+ m600(arg0, 69, Local0, Zero)
+
+ Store(LLess(Derefof(m601(1, 21, 1)), bf65), Local0)
+ m600(arg0, 70, Local0, Zero)
+
+ Store(LLess(Derefof(m601(1, 22, 1)), bf65), Local0)
+ m600(arg0, 71, Local0, Ones)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual(0xd650a284, bf65), Local0)
+ m600(arg0, 72, Local0, Ones)
+
+ Store(LLessEqual(0xd650a285, bf65), Local0)
+ m600(arg0, 73, Local0, Zero)
+
+ Store(LLessEqual(0xd650a283, bf65), Local0)
+ m600(arg0, 74, Local0, Ones)
+
+ Store(LLessEqual(auik, bf65), Local0)
+ m600(arg0, 75, Local0, Ones)
+
+ Store(LLessEqual(auil, bf65), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LLessEqual(auim, bf65), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(auik)), bf65), Local0)
+ m600(arg0, 78, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(auil)), bf65), Local0)
+ m600(arg0, 79, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Refof(auim)), bf65), Local0)
+ m600(arg0, 80, Local0, Ones)
+ }
+
+ Store(LLessEqual(Derefof(Index(paui, 20)), bf65), Local0)
+ m600(arg0, 81, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paui, 21)), bf65), Local0)
+ m600(arg0, 82, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Index(paui, 22)), bf65), Local0)
+ m600(arg0, 83, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLessEqual(m601(1, 20), bf65), Local0)
+ m600(arg0, 84, Local0, Ones)
+
+ Store(LLessEqual(m601(1, 21), bf65), Local0)
+ m600(arg0, 85, Local0, Zero)
+
+ Store(LLessEqual(m601(1, 22), bf65), Local0)
+ m600(arg0, 86, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(1, 20, 1)), bf65), Local0)
+ m600(arg0, 87, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m601(1, 21, 1)), bf65), Local0)
+ m600(arg0, 88, Local0, Zero)
+
+ Store(LLessEqual(Derefof(m601(1, 22, 1)), bf65), Local0)
+ m600(arg0, 89, Local0, Ones)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual(0xd650a284, bf65), Local0)
+ m600(arg0, 90, Local0, Zero)
+
+ Store(LNotEqual(0xd650a285, bf65), Local0)
+ m600(arg0, 91, Local0, Ones)
+
+ Store(LNotEqual(0xd650a283, bf65), Local0)
+ m600(arg0, 92, Local0, Ones)
+
+ Store(LNotEqual(auik, bf65), Local0)
+ m600(arg0, 93, Local0, Zero)
+
+ Store(LNotEqual(auil, bf65), Local0)
+ m600(arg0, 94, Local0, Ones)
+
+ Store(LNotEqual(auim, bf65), Local0)
+ m600(arg0, 95, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(auik)), bf65), Local0)
+ m600(arg0, 96, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(auil)), bf65), Local0)
+ m600(arg0, 97, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Refof(auim)), bf65), Local0)
+ m600(arg0, 98, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paui, 20)), bf65), Local0)
+ m600(arg0, 99, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paui, 21)), bf65), Local0)
+ m600(arg0, 100, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Index(paui, 22)), bf65), Local0)
+ m600(arg0, 101, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LNotEqual(m601(1, 20), bf65), Local0)
+ m600(arg0, 102, Local0, Zero)
+
+ Store(LNotEqual(m601(1, 21), bf65), Local0)
+ m600(arg0, 103, Local0, Ones)
+
+ Store(LNotEqual(m601(1, 22), bf65), Local0)
+ m600(arg0, 104, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(1, 20, 1)), bf65), Local0)
+ m600(arg0, 105, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m601(1, 21, 1)), bf65), Local0)
+ m600(arg0, 106, Local0, Ones)
+
+ Store(LNotEqual(Derefof(m601(1, 22, 1)), bf65), Local0)
+ m600(arg0, 107, Local0, Ones)
+ }
+ }
+
+ Method(m065, 1)
+ {
+ // LEqual
+
+ Store(LEqual(0x321, bf61), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual(0x322, bf61), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(0x320, bf61), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LEqual(aui1, bf61), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ Store(LEqual(auig, bf61), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LEqual(auih, bf61), Local0)
+ m600(arg0, 5, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aui1)), bf61), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(auig)), bf61), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ Store(LEqual(Derefof(Refof(auih)), bf61), Local0)
+ m600(arg0, 8, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paui, 1)), bf61), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paui, 16)), bf61), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LEqual(Derefof(Index(paui, 17)), bf61), Local0)
+ m600(arg0, 11, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LEqual(m601(1, 1), bf61), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(LEqual(m601(1, 16), bf61), Local0)
+ m600(arg0, 13, Local0, Zero)
+
+ Store(LEqual(m601(1, 17), bf61), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(1, 1, 1)), bf61), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(1, 16, 1)), bf61), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LEqual(Derefof(m602(1, 17, 1)), bf61), Local0)
+ m600(arg0, 17, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater(0x321, bf61), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(0x322, bf61), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ Store(LGreater(0x320, bf61), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(aui1, bf61), Local0)
+ m600(arg0, 21, Local0, Zero)
+
+ Store(LGreater(auig, bf61), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(LGreater(auih, bf61), Local0)
+ m600(arg0, 23, Local0, Zero)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aui1)), bf61), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(auig)), bf61), Local0)
+ m600(arg0, 25, Local0, Ones)
+
+ Store(LGreater(Derefof(Refof(auih)), bf61), Local0)
+ m600(arg0, 26, Local0, Zero)
+ }
+
+ Store(LGreater(Derefof(Index(paui, 1)), bf61), Local0)
+ m600(arg0, 27, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paui, 16)), bf61), Local0)
+ m600(arg0, 28, Local0, Ones)
+
+ Store(LGreater(Derefof(Index(paui, 17)), bf61), Local0)
+ m600(arg0, 29, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreater(m601(1, 1), bf61), Local0)
+ m600(arg0, 30, Local0, Zero)
+
+ Store(LGreater(m601(1, 16), bf61), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ Store(LGreater(m601(1, 17), bf61), Local0)
+ m600(arg0, 32, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(1, 1, 1)), bf61), Local0)
+ m600(arg0, 33, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(1, 16, 1)), bf61), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreater(Derefof(m602(1, 17, 1)), bf61), Local0)
+ m600(arg0, 35, Local0, Zero)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual(0x321, bf61), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(0x322, bf61), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ Store(LGreaterEqual(0x320, bf61), Local0)
+ m600(arg0, 38, Local0, Zero)
+
+ Store(LGreaterEqual(aui1, bf61), Local0)
+ m600(arg0, 39, Local0, Ones)
+
+ Store(LGreaterEqual(auig, bf61), Local0)
+ m600(arg0, 40, Local0, Ones)
+
+ Store(LGreaterEqual(auih, bf61), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aui1)), bf61), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auig)), bf61), Local0)
+ m600(arg0, 43, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auih)), bf61), Local0)
+ m600(arg0, 44, Local0, Zero)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paui, 1)), bf61), Local0)
+ m600(arg0, 45, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 16)), bf61), Local0)
+ m600(arg0, 46, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 17)), bf61), Local0)
+ m600(arg0, 47, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreaterEqual(m601(1, 1), bf61), Local0)
+ m600(arg0, 48, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 16), bf61), Local0)
+ m600(arg0, 49, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 17), bf61), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(1, 1, 1)), bf61), Local0)
+ m600(arg0, 51, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 16, 1)), bf61), Local0)
+ m600(arg0, 52, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 17, 1)), bf61), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLess
+
+ Store(LLess(0x321, bf61), Local0)
+ m600(arg0, 54, Local0, Zero)
+
+ Store(LLess(0x322, bf61), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLess(0x320, bf61), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLess(aui1, bf61), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLess(auig, bf61), Local0)
+ m600(arg0, 58, Local0, Zero)
+
+ Store(LLess(auih, bf61), Local0)
+ m600(arg0, 59, Local0, Ones)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aui1)), bf61), Local0)
+ m600(arg0, 60, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auig)), bf61), Local0)
+ m600(arg0, 61, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auih)), bf61), Local0)
+ m600(arg0, 62, Local0, Ones)
+ }
+
+ Store(LLess(Derefof(Index(paui, 1)), bf61), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 16)), bf61), Local0)
+ m600(arg0, 64, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 17)), bf61), Local0)
+ m600(arg0, 65, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLess(m601(1, 1), bf61), Local0)
+ m600(arg0, 66, Local0, Zero)
+
+ Store(LLess(m601(1, 16), bf61), Local0)
+ m600(arg0, 67, Local0, Zero)
+
+ Store(LLess(m601(1, 17), bf61), Local0)
+ m600(arg0, 68, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLess(Derefof(m602(1, 1, 1)), bf61), Local0)
+ m600(arg0, 69, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 16, 1)), bf61), Local0)
+ m600(arg0, 70, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 17, 1)), bf61), Local0)
+ m600(arg0, 71, Local0, Ones)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual(0x321, bf61), Local0)
+ m600(arg0, 72, Local0, Ones)
+
+ Store(LLessEqual(0x322, bf61), Local0)
+ m600(arg0, 73, Local0, Zero)
+
+ Store(LLessEqual(0x320, bf61), Local0)
+ m600(arg0, 74, Local0, Ones)
+
+ Store(LLessEqual(aui1, bf61), Local0)
+ m600(arg0, 75, Local0, Ones)
+
+ Store(LLessEqual(auig, bf61), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LLessEqual(auih, bf61), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aui1)), bf61), Local0)
+ m600(arg0, 78, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(auig)), bf61), Local0)
+ m600(arg0, 79, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Refof(auih)), bf61), Local0)
+ m600(arg0, 80, Local0, Ones)
+ }
+
+ Store(LLessEqual(Derefof(Index(paui, 1)), bf61), Local0)
+ m600(arg0, 81, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paui, 16)), bf61), Local0)
+ m600(arg0, 82, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Index(paui, 17)), bf61), Local0)
+ m600(arg0, 83, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLessEqual(m601(1, 1), bf61), Local0)
+ m600(arg0, 84, Local0, Ones)
+
+ Store(LLessEqual(m601(1, 16), bf61), Local0)
+ m600(arg0, 85, Local0, Zero)
+
+ Store(LLessEqual(m601(1, 17), bf61), Local0)
+ m600(arg0, 86, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(1, 1, 1)), bf61), Local0)
+ m600(arg0, 87, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(1, 16, 1)), bf61), Local0)
+ m600(arg0, 88, Local0, Zero)
+
+ Store(LLessEqual(Derefof(m602(1, 17, 1)), bf61), Local0)
+ m600(arg0, 89, Local0, Ones)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual(0x321, bf61), Local0)
+ m600(arg0, 90, Local0, Zero)
+
+ Store(LNotEqual(0x322, bf61), Local0)
+ m600(arg0, 91, Local0, Ones)
+
+ Store(LNotEqual(0x320, bf61), Local0)
+ m600(arg0, 92, Local0, Ones)
+
+ Store(LNotEqual(aui1, bf61), Local0)
+ m600(arg0, 93, Local0, Zero)
+
+ Store(LNotEqual(auig, bf61), Local0)
+ m600(arg0, 94, Local0, Ones)
+
+ Store(LNotEqual(auih, bf61), Local0)
+ m600(arg0, 95, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aui1)), bf61), Local0)
+ m600(arg0, 96, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(auig)), bf61), Local0)
+ m600(arg0, 97, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Refof(auih)), bf61), Local0)
+ m600(arg0, 98, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paui, 1)), bf61), Local0)
+ m600(arg0, 99, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paui, 16)), bf61), Local0)
+ m600(arg0, 100, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Index(paui, 17)), bf61), Local0)
+ m600(arg0, 101, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LNotEqual(m601(1, 1), bf61), Local0)
+ m600(arg0, 102, Local0, Zero)
+
+ Store(LNotEqual(m601(1, 16), bf61), Local0)
+ m600(arg0, 103, Local0, Ones)
+
+ Store(LNotEqual(m601(1, 17), bf61), Local0)
+ m600(arg0, 104, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(1, 1, 1)), bf61), Local0)
+ m600(arg0, 105, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(1, 16, 1)), bf61), Local0)
+ m600(arg0, 106, Local0, Ones)
+
+ Store(LNotEqual(Derefof(m602(1, 17, 1)), bf61), Local0)
+ m600(arg0, 107, Local0, Ones)
+ }
+ }
+
+ // Buffer Field to Integer intermediate conversion of the Buffer Field
+ // second operand of Concatenate operator in case the first one is Integer
+
+ Method(m64q, 1)
+ {
+ Store(Concatenate(0x321, bf61), Local0)
+ m600(arg0, 0, Local0, bb26)
+
+ Store(Concatenate(0x321, bf65), Local0)
+ m600(arg0, 1, Local0, bb21)
+
+
+ Store(Concatenate(aui1, bf61), Local0)
+ m600(arg0, 2, Local0, bb26)
+
+ Store(Concatenate(aui1, bf65), Local0)
+ m600(arg0, 3, Local0, bb21)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aui1)), bf61), Local0)
+ m600(arg0, 4, Local0, bb26)
+
+ Store(Concatenate(Derefof(Refof(aui1)), bf65), Local0)
+ m600(arg0, 5, Local0, bb21)
+ }
+
+ Store(Concatenate(Derefof(Index(paui, 1)), bf61), Local0)
+ m600(arg0, 6, Local0, bb26)
+
+ Store(Concatenate(Derefof(Index(paui, 1)), bf65), Local0)
+ m600(arg0, 7, Local0, bb21)
+
+ // Method returns Integer
+
+ Store(Concatenate(m601(1, 1), bf61), Local0)
+ m600(arg0, 8, Local0, bb26)
+
+ Store(Concatenate(m601(1, 1), bf65), Local0)
+ m600(arg0, 9, Local0, bb21)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(1, 1, 1)), bf61), Local0)
+ m600(arg0, 10, Local0, bb26)
+
+ Store(Concatenate(Derefof(m602(1, 1, 1)), bf65), Local0)
+ m600(arg0, 11, Local0, bb21)
+ }
+
+ Concatenate(0x321, bf61, Local0)
+ m600(arg0, 12, Local0, bb26)
+
+ Concatenate(0x321, bf65, Local0)
+ m600(arg0, 13, Local0, bb21)
+
+
+ Concatenate(aui1, bf61, Local0)
+ m600(arg0, 14, Local0, bb26)
+
+ Concatenate(aui1, bf65, Local0)
+ m600(arg0, 15, Local0, bb21)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aui1)), bf61, Local0)
+ m600(arg0, 16, Local0, bb26)
+
+ Concatenate(Derefof(Refof(aui1)), bf65, Local0)
+ m600(arg0, 17, Local0, bb21)
+ }
+
+ Concatenate(Derefof(Index(paui, 1)), bf61, Local0)
+ m600(arg0, 18, Local0, bb26)
+
+ Concatenate(Derefof(Index(paui, 1)), bf65, Local0)
+ m600(arg0, 19, Local0, bb21)
+
+ // Method returns Integer
+
+ Concatenate(m601(1, 1), bf61, Local0)
+ m600(arg0, 20, Local0, bb26)
+
+ Concatenate(m601(1, 1), bf65, Local0)
+ m600(arg0, 21, Local0, bb21)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Concatenate(Derefof(m602(1, 1, 1)), bf61, Local0)
+ m600(arg0, 22, Local0, bb26)
+
+ Concatenate(Derefof(m602(1, 1, 1)), bf65, Local0)
+ m600(arg0, 23, Local0, bb21)
+ }
+ }
+
+ Method(m32q, 1)
+ {
+ Store(Concatenate(0x321, bf61), Local0)
+ m600(arg0, 0, Local0, bb27)
+
+ Store(Concatenate(0x321, bf65), Local0)
+ m600(arg0, 1, Local0, bb28)
+
+
+ Store(Concatenate(aui1, bf61), Local0)
+ m600(arg0, 2, Local0, bb27)
+
+ Store(Concatenate(aui1, bf65), Local0)
+ m600(arg0, 3, Local0, bb28)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aui1)), bf61), Local0)
+ m600(arg0, 4, Local0, bb27)
+
+ Store(Concatenate(Derefof(Refof(aui1)), bf65), Local0)
+ m600(arg0, 5, Local0, bb28)
+ }
+
+ Store(Concatenate(Derefof(Index(paui, 1)), bf61), Local0)
+ m600(arg0, 6, Local0, bb27)
+
+ Store(Concatenate(Derefof(Index(paui, 1)), bf65), Local0)
+ m600(arg0, 7, Local0, bb28)
+
+ // Method returns Integer
+
+ Store(Concatenate(m601(1, 1), bf61), Local0)
+ m600(arg0, 8, Local0, bb27)
+
+ Store(Concatenate(m601(1, 1), bf65), Local0)
+ m600(arg0, 9, Local0, bb28)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(1, 1, 1)), bf61), Local0)
+ m600(arg0, 10, Local0, bb27)
+
+ Store(Concatenate(Derefof(m602(1, 1, 1)), bf65), Local0)
+ m600(arg0, 11, Local0, bb28)
+ }
+
+ Concatenate(0x321, bf61, Local0)
+ m600(arg0, 12, Local0, bb27)
+
+ Concatenate(0x321, bf65, Local0)
+ m600(arg0, 13, Local0, bb28)
+
+
+ Concatenate(aui1, bf61, Local0)
+ m600(arg0, 14, Local0, bb27)
+
+ Concatenate(aui1, bf65, Local0)
+ m600(arg0, 15, Local0, bb28)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aui1)), bf61, Local0)
+ m600(arg0, 16, Local0, bb27)
+
+ Concatenate(Derefof(Refof(aui1)), bf65, Local0)
+ m600(arg0, 17, Local0, bb28)
+ }
+
+ Concatenate(Derefof(Index(paui, 1)), bf61, Local0)
+ m600(arg0, 18, Local0, bb27)
+
+ Concatenate(Derefof(Index(paui, 1)), bf65, Local0)
+ m600(arg0, 20, Local0, bb28)
+
+ // Method returns Integer
+
+ Concatenate(m601(1, 1), bf61, Local0)
+ m600(arg0, 21, Local0, bb27)
+
+ Concatenate(m601(1, 1), bf65, Local0)
+ m600(arg0, 22, Local0, bb28)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Concatenate(Derefof(m602(1, 1, 1)), bf61, Local0)
+ m600(arg0, 23, Local0, bb27)
+
+ Concatenate(Derefof(m602(1, 1, 1)), bf65, Local0)
+ m600(arg0, 24, Local0, bb28)
+ }
+ }
+
+ // Buffer Field to Integer conversion of the Buffer Field Length
+ // (second) operand of the ToString operator
+
+ // Common 32-bit/64-bit test
+ Method(m066, 1)
+ {
+ Store(ToString(Buffer() {"This is auxiliary Buffer"},
+ bf74), Local0)
+ m600(arg0, 0, Local0, bs1b)
+
+ Store(ToString(Buffer() {"This is auxiliary Buffer"},
+ bf61), Local0)
+ m600(arg0, 1, Local0, bs1c)
+
+ Store(ToString(aub6, bf74), Local0)
+ m600(arg0, 2, Local0, bs1b)
+
+ Store(ToString(aub6, bf61), Local0)
+ m600(arg0, 3, Local0, bs1c)
+
+ if (y078) {
+ Store(ToString(Derefof(Refof(aub6)), bf74), Local0)
+ m600(arg0, 4, Local0, bs1b)
+
+ Store(ToString(Derefof(Refof(aub6)), bf61), Local0)
+ m600(arg0, 5, Local0, bs1c)
+ }
+
+ Store(ToString(Derefof(Index(paub, 6)), bf74), Local0)
+ m600(arg0, 6, Local0, bs1b)
+
+ Store(ToString(Derefof(Index(paub, 6)), bf61), Local0)
+ m600(arg0, 7, Local0, bs1c)
+
+ // Method returns Buffer
+
+ Store(ToString(m601(3, 6), bf74), Local0)
+ m600(arg0, 8, Local0, bs1b)
+
+ Store(ToString(m601(3, 6), bf61), Local0)
+ m600(arg0, 9, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(ToString(Derefof(m602(3, 6, 1)), bf74), Local0)
+ m600(arg0, 10, Local0, bs1b)
+
+ Store(ToString(Derefof(m602(3, 6, 1)), bf61), Local0)
+ m600(arg0, 11, Local0, bs1c)
+ }
+
+ ToString(Buffer() {"This is auxiliary Buffer"},
+ bf74, Local0)
+ m600(arg0, 12, Local0, bs1b)
+
+ ToString(Buffer() {"This is auxiliary Buffer"},
+ bf61, Local0)
+ m600(arg0, 13, Local0, bs1c)
+
+ ToString(aub6, bf74, Local0)
+ m600(arg0, 14, Local0, bs1b)
+
+ ToString(aub6, bf61, Local0)
+ m600(arg0, 15, Local0, bs1c)
+
+ if (y078) {
+ ToString(Derefof(Refof(aub6)), bf74, Local0)
+ m600(arg0, 16, Local0, bs1b)
+
+ ToString(Derefof(Refof(aub6)), bf61, Local0)
+ m600(arg0, 17, Local0, bs1c)
+ }
+
+ ToString(Derefof(Index(paub, 6)), bf74, Local0)
+ m600(arg0, 18, Local0, bs1b)
+
+ ToString(Derefof(Index(paub, 6)), bf61, Local0)
+ m600(arg0, 19, Local0, bs1c)
+
+ // Method returns Buffer
+
+ ToString(m601(3, 6), bf74, Local0)
+ m600(arg0, 20, Local0, bs1b)
+
+ ToString(m601(3, 6), bf61, Local0)
+ m600(arg0, 21, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ ToString(Derefof(m602(3, 6, 1)), bf74, Local0)
+ m600(arg0, 22, Local0, bs1b)
+
+ ToString(Derefof(m602(3, 6, 1)), bf61, Local0)
+ m600(arg0, 23, Local0, bs1c)
+ }
+ }
+
+ Method(m64r, 1)
+ {
+ Store(ToString(Buffer() {"This is auxiliary Buffer"},
+ bf65), Local0)
+ m600(arg0, 0, Local0, bs1c)
+
+ Store(ToString(aub6, bf65), Local0)
+ m600(arg0, 1, Local0, bs1c)
+
+ if (y078) {
+ Store(ToString(Derefof(Refof(aub6)), bf65), Local0)
+ m600(arg0, 2, Local0, bs1c)
+ }
+
+ Store(ToString(Derefof(Index(paub, 6)), bf65), Local0)
+ m600(arg0, 3, Local0, bs1c)
+
+ // Method returns Buffer
+
+ Store(ToString(m601(3, 6), bf65), Local0)
+ m600(arg0, 4, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(ToString(Derefof(m602(3, 6, 1)), bf65), Local0)
+ m600(arg0, 5, Local0, bs1c)
+ }
+
+ ToString(Buffer() {"This is auxiliary Buffer"},
+ bf65, Local0)
+ m600(arg0, 6, Local0, bs1c)
+
+ ToString(aub6, bf65, Local0)
+ m600(arg0, 7, Local0, bs1c)
+
+ if (y078) {
+ ToString(Derefof(Refof(aub6)), bf65, Local0)
+ m600(arg0, 8, Local0, bs1c)
+ }
+
+ ToString(Derefof(Index(paub, 6)), bf65, Local0)
+ m600(arg0, 9, Local0, bs1c)
+
+ // Method returns Buffer
+
+ ToString(m601(3, 6), bf65, Local0)
+ m600(arg0, 10, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ ToString(Derefof(m602(3, 6, 1)), bf65, Local0)
+ m600(arg0, 11, Local0, bs1c)
+ }
+ }
+
+ Method(m32r, 1)
+ {
+ Store(ToString(Buffer() {"This is auxiliary Buffer"},
+ bf65), Local0)
+ m600(arg0, 0, Local0, bs1c)
+
+ Store(ToString(aub6, bf65), Local0)
+ m600(arg0, 1, Local0, bs1c)
+
+ if (y078) {
+ Store(ToString(Derefof(Refof(aub6)), bf65), Local0)
+ m600(arg0, 2, Local0, bs1c)
+ }
+
+ Store(ToString(Derefof(Index(paub, 6)), bf65), Local0)
+ m600(arg0, 3, Local0, bs1c)
+
+ // Method returns Buffer
+
+ Store(ToString(m601(3, 6), bf65), Local0)
+ m600(arg0, 4, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(ToString(Derefof(m602(3, 6, 1)), bf65), Local0)
+ m600(arg0, 5, Local0, bs1c)
+ }
+
+ ToString(Buffer() {"This is auxiliary Buffer"},
+ bf65, Local0)
+ m600(arg0, 6, Local0, bs1c)
+
+ ToString(aub6, bf65, Local0)
+ m600(arg0, 7, Local0, bs1c)
+
+ if (y078) {
+ ToString(Derefof(Refof(aub6)), bf65, Local0)
+ m600(arg0, 8, Local0, bs1c)
+ }
+
+ ToString(Derefof(Index(paub, 6)), bf65, Local0)
+ m600(arg0, 9, Local0, bs1c)
+
+ // Method returns Buffer
+
+ ToString(m601(3, 6), bf65, Local0)
+ m600(arg0, 10, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ ToString(Derefof(m602(3, 6, 1)), bf65, Local0)
+ m600(arg0, 11, Local0, bs1c)
+ }
+ }
+
+ // Buffer Field to Integer conversion of the Buffer Field Index
+ // (second) operand of the Index operator
+ Method(m067, 1)
+ {
+ Store(Index(aus6, bf74), Local0)
+ m600(arg0, 0, Derefof(Local0), bi10)
+
+ Store(Index(aub6, bf74), Local0)
+ m600(arg0, 1, Derefof(Local0), bi10)
+
+ Store(Index(aup0, bf74), Local0)
+ m600(arg0, 2, Derefof(Local0), bi11)
+
+ if (y078) {
+ Store(Index(Derefof(Refof(aus6)), bf74), Local0)
+ m600(arg0, 3, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Refof(aub6)), bf74), Local0)
+ m600(arg0, 4, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Refof(aup0)), bf74), Local0)
+ m600(arg0, 5, Derefof(Local0), bi11)
+ }
+
+ Store(Index(Derefof(Index(paus, 6)), bf74), Local0)
+ m600(arg0, 6, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Index(paub, 6)), bf74), Local0)
+ m600(arg0, 7, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Index(paup, 0)), bf74), Local0)
+ m600(arg0, 8, Derefof(Local0), bi11)
+
+
+ // Method returns Object
+
+ if (y900) {
+ Store(Index(m601(2, 6), bf74), Local0)
+ m600(arg0, 9, Derefof(Local0), bi10)
+
+ Store(Index(m601(3, 6), bf74), Local0)
+ m600(arg0, 10, Derefof(Local0), bi10)
+
+ Store(Index(m601(4, 0), bf74), Local0)
+ m600(arg0, 11, Derefof(Local0), bi11)
+ } else {
+
+ CH03(arg0, z087, 0, 0, 0)
+
+ Index(m601(2, 6), bf74)
+ CH04(arg0, 0, 85, z087, 9, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+
+ Index(m601(3, 6), bf74)
+ CH04(arg0, 0, 85, z087, 10, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+
+ Index(m601(4, 0), bf74)
+ CH04(arg0, 0, 85, z087, 11, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+ }
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Index(Derefof(m602(2, 6, 1)), bf74), Local0)
+ m600(arg0, 12, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(m602(3, 6, 1)), bf74), Local0)
+ m600(arg0, 13, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(m602(4, 0, 1)), bf74), Local0)
+ m600(arg0, 14, Derefof(Local0), bi11)
+ }
+
+ Index(aus6, bf74, Local0)
+ m600(arg0, 15, Derefof(Local0), bi10)
+
+ Index(aub6, bf74, Local0)
+ m600(arg0, 16, Derefof(Local0), bi10)
+
+ Index(aup0, bf74, Local0)
+ m600(arg0, 17, Derefof(Local0), bi11)
+
+ if (y078) {
+ Index(Derefof(Refof(aus6)), bf74, Local0)
+ m600(arg0, 18, Derefof(Local0), bi10)
+
+ Index(Derefof(Refof(aub6)), bf74, Local0)
+ m600(arg0, 19, Derefof(Local0), bi10)
+
+ Index(Derefof(Refof(aup0)), bf74, Local0)
+ m600(arg0, 20, Derefof(Local0), bi11)
+ }
+
+ Index(Derefof(Index(paus, 6)), bf74, Local0)
+ m600(arg0, 21, Derefof(Local0), bi10)
+
+ Index(Derefof(Index(paub, 6)), bf74, Local0)
+ m600(arg0, 22, Derefof(Local0), bi10)
+
+ Index(Derefof(Index(paup, 0)), bf74, Local0)
+ m600(arg0, 23, Derefof(Local0), bi11)
+
+
+ // Method returns Object
+
+ if (y900) {
+ Index(m601(2, 6), bf74, Local0)
+ m600(arg0, 24, Derefof(Local0), bi10)
+
+ Index(m601(3, 6), bf74, Local0)
+ m600(arg0, 25, Derefof(Local0), bi10)
+
+ Index(m601(4, 0), bf74, Local0)
+ m600(arg0, 26, Derefof(Local0), bi11)
+ } else {
+
+ CH03(arg0, z087, 0, 0, 0)
+
+ Index(m601(2, 6), bf74, Local0)
+ CH04(arg0, 0, 85, z087, 26, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+
+ Index(m601(3, 6), bf74, Local0)
+ CH04(arg0, 0, 85, z087, 26, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+
+ Index(m601(4, 0), bf74, Local0)
+ CH04(arg0, 0, 85, z087, 26, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+ }
+
+ // Method returns Reference
+
+ if (y500) {
+ Index(Derefof(m602(2, 6, 1)), bf74, Local0)
+ m600(arg0, 27, Derefof(Local0), bi10)
+
+ Index(Derefof(m602(3, 6, 1)), bf74, Local0)
+ m600(arg0, 28, Derefof(Local0), bi10)
+
+ Index(Derefof(m602(4, 0, 1)), bf74, Local0)
+ m600(arg0, 29, Derefof(Local0), bi11)
+ }
+
+ if (y098) {
+ Store(Index(aus6, bf74, Local1), Local0)
+ m600(arg0, 30, Derefof(Local0), bi10)
+
+ Store(Index(aub6, bf74, Local1), Local0)
+ m600(arg0, 31, Derefof(Local0), bi10)
+
+ Store(Index(aup0, bf74, Local1), Local0)
+ m600(arg0, 32, Derefof(Local0), bi11)
+ }
+
+ if (y078) {
+ Store(Index(Derefof(Refof(aus6)), bf74, Local1), Local0)
+ m600(arg0, 33, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Refof(aub6)), bf74, Local1), Local0)
+ m600(arg0, 34, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Refof(aup0)), bf74, Local1), Local0)
+ m600(arg0, 35, Derefof(Local0), bi11)
+ }
+
+ if (y098) {
+ Store(Index(Derefof(Index(paus, 6)), bf74, Local1), Local0)
+ m600(arg0, 36, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Index(paub, 6)), bf74, Local1), Local0)
+ m600(arg0, 37, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Index(paup, 0)), bf74, Local1), Local0)
+ m600(arg0, 38, Derefof(Local0), bi11)
+ }
+
+ // Method returns Object
+
+ if (LAnd(y900, y098)) {
+ Store(Index(m601(2, 6), bf74, Local1), Local0)
+ m600(arg0, 39, Derefof(Local0), bi10)
+
+ Store(Index(m601(3, 6), bf74, Local1), Local0)
+ m600(arg0, 40, Derefof(Local0), bi10)
+
+ Store(Index(m601(4, 0), bf74, Local1), Local0)
+ m600(arg0, 41, Derefof(Local0), bi11)
+ }
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Index(Derefof(m602(2, 6, 1)), bf74, Local1), Local0)
+ m600(arg0, 42, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(m602(3, 6, 1)), bf74, Local1), Local0)
+ m600(arg0, 43, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(m602(4, 0, 1)), bf74, Local1), Local0)
+ m600(arg0, 44, Derefof(Local0), bi11)
+ }
+ }
+
+ // Buffer Field to Integer conversion of the Buffer Field Arg (third)
+ // operand of the Fatal operator
+ // (it can only be checked an exception does not occur)
+ Method(m068, 1)
+ {
+ CH03(arg0, z087, 0, 0, 0)
+ Fatal(0xff, 0xffffffff, bf61)
+ if (F64) {
+ Fatal(0xff, 0xffffffff, bf65)
+ } else {
+ Fatal(0xff, 0xffffffff, bf65)
+ }
+ CH03(arg0, z087, 1, 0, 0)
+ }
+
+ // Buffer Field to Integer conversion of the Buffer Field Index
+ // and Length operands of the Mid operator
+
+ // Common 32-bit/64-bit test
+ Method(m069, 1)
+ {
+ // Buffer Field to Integer conversion of the Buffer Field Index operand
+
+ Store(Mid("This is auxiliary String", bf74, 10), Local0)
+ m600(arg0, 0, Local0, bs1d)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, bf74, 10), Local0)
+ m600(arg0, 1, Local0, bb32)
+
+ Store(Mid(aus6, bf74, 10), Local0)
+ m600(arg0, 2, Local0, bs1d)
+
+ Store(Mid(aub6, bf74, 10), Local0)
+ m600(arg0, 3, Local0, bb32)
+
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), bf74, 10), Local0)
+ m600(arg0, 4, Local0, bs1d)
+
+ Store(Mid(Derefof(Refof(aub6)), bf74, 10), Local0)
+ m600(arg0, 5, Local0, bb32)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), bf74, 10), Local0)
+ m600(arg0, 6, Local0, bs1d)
+
+ Store(Mid(Derefof(Index(paub, 6)), bf74, 10), Local0)
+ m600(arg0, 7, Local0, bb32)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), bf74, 10), Local0)
+ m600(arg0, 8, Local0, bs1d)
+
+ Store(Mid(m601(3, 6), bf74, 10), Local0)
+ m600(arg0, 9, Local0, bb32)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), bf74, 10), Local0)
+ m600(arg0, 10, Local0, bs1d)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), bf74, 10), Local0)
+ m600(arg0, 11, Local0, bb32)
+ }
+
+ Mid("This is auxiliary String", bf74, 10, Local0)
+ m600(arg0, 12, Local0, bs1d)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, bf74, 10, Local0)
+ m600(arg0, 13, Local0, bb32)
+
+ Mid(aus6, bf74, 10, Local0)
+ m600(arg0, 14, Local0, bs1d)
+
+ Mid(aub6, bf74, 10, Local0)
+ m600(arg0, 15, Local0, bb32)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), bf74, 10, Local0)
+ m600(arg0, 16, Local0, bs1d)
+
+ Mid(Derefof(Refof(aub6)), bf74, 10, Local0)
+ m600(arg0, 17, Local0, bb32)
+ }
+
+ Mid(Derefof(Index(paus, 6)), bf74, 10, Local0)
+ m600(arg0, 18, Local0, bs1d)
+
+ Mid(Derefof(Index(paub, 6)), bf74, 10, Local0)
+ m600(arg0, 19, Local0, bb32)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), bf74, 10, Local0)
+ m600(arg0, 20, Local0, bs1d)
+
+ Mid(m601(3, 6), bf74, 10, Local0)
+ m600(arg0, 21, Local0, bb32)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), bf74, 10, Local0)
+ m600(arg0, 22, Local0, bs1d)
+
+ Mid(Derefof(m602(3, 6, 1)), bf74, 10, Local0)
+ m600(arg0, 23, Local0, bb32)
+ }
+
+ // Buffer Field to Integer conversion of the Buffer Field Length operand
+
+ Store(Mid("This is auxiliary String", 0, bf74), Local0)
+ m600(arg0, 24, Local0, bs1b)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, 0, bf74), Local0)
+ m600(arg0, 25, Local0, bb33)
+
+ Store(Mid(aus6, 0, bf74), Local0)
+ m600(arg0, 26, Local0, bs1b)
+
+ Store(Mid(aub6, 0, bf74), Local0)
+ m600(arg0, 27, Local0, bb33)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), 0, bf74), Local0)
+ m600(arg0, 28, Local0, bs1b)
+
+ Store(Mid(Derefof(Refof(aub6)), 0, bf74), Local0)
+ m600(arg0, 29, Local0, bb33)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), 0, bf74), Local0)
+ m600(arg0, 30, Local0, bs1b)
+
+ Store(Mid(Derefof(Index(paub, 6)), 0, bf74), Local0)
+ m600(arg0, 31, Local0, bb33)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), 0, bf74), Local0)
+ m600(arg0, 32, Local0, bs1b)
+
+ Store(Mid(m601(3, 6), 0, bf74), Local0)
+ m600(arg0, 33, Local0, bb33)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), 0, bf74), Local0)
+ m600(arg0, 34, Local0, bs1b)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), 0, bf74), Local0)
+ m600(arg0, 35, Local0, bb33)
+ }
+
+ Mid("This is auxiliary String", 0, bf74, Local0)
+ m600(arg0, 36, Local0, bs1b)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, 0, bf74, Local0)
+ m600(arg0, 37, Local0, bb33)
+
+ Mid(aus6, 0, bf74, Local0)
+ m600(arg0, 37, Local0, bs1b)
+
+ Mid(aub6, 0, bf74, Local0)
+ m600(arg0, 39, Local0, bb33)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), 0, bf74, Local0)
+ m600(arg0, 40, Local0, bs1b)
+
+ Mid(Derefof(Refof(aub6)), 0, bf74, Local0)
+ m600(arg0, 41, Local0, bb33)
+ }
+
+ Mid(Derefof(Index(paus, 6)), 0, bf74, Local0)
+ m600(arg0, 42, Local0, bs1b)
+
+ Mid(Derefof(Index(paub, 6)), 0, bf74, Local0)
+ m600(arg0, 43, Local0, bb33)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), 0, bf74, Local0)
+ m600(arg0, 44, Local0, bs1b)
+
+ Mid(m601(3, 6), 0, bf74, Local0)
+ m600(arg0, 45, Local0, bb33)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), 0, bf74, Local0)
+ m600(arg0, 46, Local0, bs1b)
+
+ Mid(Derefof(m602(3, 6, 1)), 0, bf74, Local0)
+ m600(arg0, 47, Local0, bb33)
+ }
+ }
+
+ Method(m64s, 1)
+ {
+ // Buffer Field to Integer conversion of the Buffer Field Length operand
+
+ Store(Mid("This is auxiliary String", 0, bf65), Local0)
+ m600(arg0, 0, Local0, bs1e)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, 0, bf65), Local0)
+ m600(arg0, 1, Local0, bb34)
+
+ Store(Mid(aus6, 0, bf65), Local0)
+ m600(arg0, 2, Local0, bs1e)
+
+ Store(Mid(aub6, 0, bf65), Local0)
+ m600(arg0, 3, Local0, bb34)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), 0, bf65), Local0)
+ m600(arg0, 4, Local0, bs1e)
+
+ Store(Mid(Derefof(Refof(aub6)), 0, bf65), Local0)
+ m600(arg0, 5, Local0, bb34)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), 0, bf65), Local0)
+ m600(arg0, 6, Local0, bs1e)
+
+ Store(Mid(Derefof(Index(paub, 6)), 0, bf65), Local0)
+ m600(arg0, 7, Local0, bb34)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), 0, bf65), Local0)
+ m600(arg0, 8, Local0, bs1e)
+
+ Store(Mid(m601(3, 6), 0, bf65), Local0)
+ m600(arg0, 9, Local0, bb34)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), 0, bf65), Local0)
+ m600(arg0, 10, Local0, bs1e)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), 0, bf65), Local0)
+ m600(arg0, 11, Local0, bb34)
+ }
+
+ Mid("This is auxiliary String", 0, bf65, Local0)
+ m600(arg0, 12, Local0, bs1e)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, 0, bf65, Local0)
+ m600(arg0, 13, Local0, bb34)
+
+ Mid(aus6, 0, bf65, Local0)
+ m600(arg0, 14, Local0, bs1e)
+
+ Mid(aub6, 0, bf65, Local0)
+ m600(arg0, 15, Local0, bb34)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), 0, bf65, Local0)
+ m600(arg0, 16, Local0, bs1e)
+
+ Mid(Derefof(Refof(aub6)), 0, bf65, Local0)
+ m600(arg0, 17, Local0, bb34)
+ }
+
+ Mid(Derefof(Index(paus, 6)), 0, bf65, Local0)
+ m600(arg0, 18, Local0, bs1e)
+
+ Mid(Derefof(Index(paub, 6)), 0, bf65, Local0)
+ m600(arg0, 19, Local0, bb34)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), 0, bf65, Local0)
+ m600(arg0, 20, Local0, bs1e)
+
+ Mid(m601(3, 6), 0, bf65, Local0)
+ m600(arg0, 21, Local0, bb34)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), 0, bf65, Local0)
+ m600(arg0, 22, Local0, bs1e)
+
+ Mid(Derefof(m602(3, 6, 1)), 0, bf65, Local0)
+ m600(arg0, 23, Local0, bb34)
+ }
+
+ // Buffer Field to Integer conversion of the both String operands
+
+ Store(Mid("This is auxiliary String", bf74, bf65), Local0)
+ m600(arg0, 24, Local0, bs1f)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, bf74, bf65), Local0)
+ m600(arg0, 25, Local0, bb35)
+
+ Store(Mid(aus6, bf74, bf65), Local0)
+ m600(arg0, 26, Local0, bs1f)
+
+ Store(Mid(aub6, bf74, bf65), Local0)
+ m600(arg0, 27, Local0, bb35)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), bf74, bf65), Local0)
+ m600(arg0, 28, Local0, bs1f)
+
+ Store(Mid(Derefof(Refof(aub6)), bf74, bf65), Local0)
+ m600(arg0, 29, Local0, bb35)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), bf74, bf65), Local0)
+ m600(arg0, 30, Local0, bs1f)
+
+ Store(Mid(Derefof(Index(paub, 6)), bf74, bf65), Local0)
+ m600(arg0, 31, Local0, bb35)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), bf74, bf65), Local0)
+ m600(arg0, 32, Local0, bs1f)
+
+ Store(Mid(m601(3, 6), bf74, bf65), Local0)
+ m600(arg0, 33, Local0, bb35)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), bf74, bf65), Local0)
+ m600(arg0, 34, Local0, bs1f)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), bf74, bf65), Local0)
+ m600(arg0, 35, Local0, bb35)
+ }
+
+ Mid("This is auxiliary String", bf74, bf65, Local0)
+ m600(arg0, 36, Local0, bs1f)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, bf74, bf65, Local0)
+ m600(arg0, 37, Local0, bb35)
+
+ Mid(aus6, bf74, bf65, Local0)
+ m600(arg0, 38, Local0, bs1f)
+
+ Mid(aub6, bf74, bf65, Local0)
+ m600(arg0, 39, Local0, bb35)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), bf74, bf65, Local0)
+ m600(arg0, 40, Local0, bs1f)
+
+ Mid(Derefof(Refof(aub6)), bf74, bf65, Local0)
+ m600(arg0, 41, Local0, bb35)
+ }
+
+ Mid(Derefof(Index(paus, 6)), bf74, bf65, Local0)
+ m600(arg0, 42, Local0, bs1f)
+
+ Mid(Derefof(Index(paub, 6)), bf74, bf65, Local0)
+ m600(arg0, 43, Local0, bb35)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), bf74, bf65, Local0)
+ m600(arg0, 44, Local0, bs1f)
+
+ Mid(m601(3, 6), bf74, bf65, Local0)
+ m600(arg0, 45, Local0, bb35)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), bf74, bf65, Local0)
+ m600(arg0, 46, Local0, bs1f)
+
+ Mid(Derefof(m602(3, 6, 1)), bf74, bf65, Local0)
+ m600(arg0, 47, Local0, bb35)
+ }
+ }
+
+ Method(m32s, 1)
+ {
+ // Buffer Field to Integer conversion of the Buffer Field Length operand
+
+ Store(Mid("This is auxiliary String", 0, bf65), Local0)
+ m600(arg0, 0, Local0, bs1e)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, 0, bf65), Local0)
+ m600(arg0, 1, Local0, bb34)
+
+ Store(Mid(aus6, 0, bf65), Local0)
+ m600(arg0, 2, Local0, bs1e)
+
+ Store(Mid(aub6, 0, bf65), Local0)
+ m600(arg0, 3, Local0, bb34)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), 0, bf65), Local0)
+ m600(arg0, 4, Local0, bs1e)
+
+ Store(Mid(Derefof(Refof(aub6)), 0, bf65), Local0)
+ m600(arg0, 5, Local0, bb34)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), 0, bf65), Local0)
+ m600(arg0, 6, Local0, bs1e)
+
+ Store(Mid(Derefof(Index(paub, 6)), 0, bf65), Local0)
+ m600(arg0, 7, Local0, bb34)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), 0, bf65), Local0)
+ m600(arg0, 8, Local0, bs1e)
+
+ Store(Mid(m601(3, 6), 0, bf65), Local0)
+ m600(arg0, 9, Local0, bb34)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), 0, bf65), Local0)
+ m600(arg0, 10, Local0, bs1e)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), 0, bf65), Local0)
+ m600(arg0, 11, Local0, bb34)
+ }
+
+ Mid("This is auxiliary String", 0, bf65, Local0)
+ m600(arg0, 12, Local0, bs1e)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, 0, bf65, Local0)
+ m600(arg0, 13, Local0, bb34)
+
+ Mid(aus6, 0, bf65, Local0)
+ m600(arg0, 14, Local0, bs1e)
+
+ Mid(aub6, 0, bf65, Local0)
+ m600(arg0, 15, Local0, bb34)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), 0, bf65, Local0)
+ m600(arg0, 16, Local0, bs1e)
+
+ Mid(Derefof(Refof(aub6)), 0, bf65, Local0)
+ m600(arg0, 17, Local0, bb34)
+ }
+
+ Mid(Derefof(Index(paus, 6)), 0, bf65, Local0)
+ m600(arg0, 18, Local0, bs1e)
+
+ Mid(Derefof(Index(paub, 6)), 0, bf65, Local0)
+ m600(arg0, 19, Local0, bb34)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), 0, bf65, Local0)
+ m600(arg0, 20, Local0, bs1e)
+
+ Mid(m601(3, 6), 0, bf65, Local0)
+ m600(arg0, 21, Local0, bb34)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), 0, bf65, Local0)
+ m600(arg0, 22, Local0, bs1e)
+
+ Mid(Derefof(m602(3, 6, 1)), 0, bf65, Local0)
+ m600(arg0, 23, Local0, bb34)
+ }
+
+ // Buffer Field to Integer conversion of the both String operands
+
+ Store(Mid("This is auxiliary String", bf74, bf65), Local0)
+ m600(arg0, 24, Local0, bs1f)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, bf74, bf65), Local0)
+ m600(arg0, 25, Local0, bb35)
+
+ Store(Mid(aus6, bf74, bf65), Local0)
+ m600(arg0, 26, Local0, bs1f)
+
+ Store(Mid(aub6, bf74, bf65), Local0)
+ m600(arg0, 27, Local0, bb35)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), bf74, bf65), Local0)
+ m600(arg0, 28, Local0, bs1f)
+
+ Store(Mid(Derefof(Refof(aub6)), bf74, bf65), Local0)
+ m600(arg0, 29, Local0, bb35)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), bf74, bf65), Local0)
+ m600(arg0, 30, Local0, bs1f)
+
+ Store(Mid(Derefof(Index(paub, 6)), bf74, bf65), Local0)
+ m600(arg0, 31, Local0, bb35)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), bf74, bf65), Local0)
+ m600(arg0, 32, Local0, bs1f)
+
+ Store(Mid(m601(3, 6), bf74, bf65), Local0)
+ m600(arg0, 33, Local0, bb35)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), bf74, bf65), Local0)
+ m600(arg0, 34, Local0, bs1f)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), bf74, bf65), Local0)
+ m600(arg0, 35, Local0, bb35)
+ }
+
+ Mid("This is auxiliary String", bf74, bf65, Local0)
+ m600(arg0, 36, Local0, bs1f)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, bf74, bf65, Local0)
+ m600(arg0, 37, Local0, bb35)
+
+ Mid(aus6, bf74, bf65, Local0)
+ m600(arg0, 38, Local0, bs1f)
+
+ Mid(aub6, bf74, bf65, Local0)
+ m600(arg0, 39, Local0, bb35)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), bf74, bf65, Local0)
+ m600(arg0, 40, Local0, bs1f)
+
+ Mid(Derefof(Refof(aub6)), bf74, bf65, Local0)
+ m600(arg0, 41, Local0, bb35)
+ }
+
+ Mid(Derefof(Index(paus, 6)), bf74, bf65, Local0)
+ m600(arg0, 42, Local0, bs1f)
+
+ Mid(Derefof(Index(paub, 6)), bf74, bf65, Local0)
+ m600(arg0, 43, Local0, bb35)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), bf74, bf65, Local0)
+ m600(arg0, 44, Local0, bs1f)
+
+ Mid(m601(3, 6), bf74, bf65, Local0)
+ m600(arg0, 45, Local0, bb35)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), bf74, bf65, Local0)
+ m600(arg0, 46, Local0, bs1f)
+
+ Mid(Derefof(m602(3, 6, 1)), bf74, bf65, Local0)
+ m600(arg0, 47, Local0, bb35)
+ }
+ }
+
+ // Buffer Field to Integer conversion of the Buffer Field StartIndex
+ // operand of the Match operator
+ Method(m06a, 1)
+ {
+ Store(Match(
+ Package(){
+ 0xa50, 0xa51, 0xa52, 0xa53, 0xa54, 0xa55, 0xa56, 0xa57,
+ 0xa58, 0xa59, 0xa5a, 0xa5b, 0xa5c, 0xa5d, 0xa5e,},
+ MEQ, 0xa5d, MTR, 0, bf74), Local0)
+ m600(arg0, 0, Local0, 0xd)
+
+ Store(Match(
+ Package(){
+ 0xa50, 0xa51, 0xa52, 0xa53, 0xa54, 0xa55, 0xa56, 0xa57,
+ 0xa58, 0xa59, 0xa5a, 0xa5b, 0xa5c, 0xa5d, 0xa5e,},
+ MEQ, 0xa5a, MTR, 0, bf74), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(Match(aup0, MEQ, 0xa5d, MTR, 0, bf74), Local0)
+ m600(arg0, 2, Local0, 0xd)
+
+ Store(Match(aup0, MEQ, 0xa5a, MTR, 0, bf74), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(Match(Derefof(Refof(aup0)), MEQ, 0xa5d, MTR, 0, bf74), Local0)
+ m600(arg0, 4, Local0, 0xd)
+
+ Store(Match(Derefof(Refof(aup0)), MEQ, 0xa5a, MTR, 0, bf74), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(Match(Derefof(Index(paup, 0)), MEQ, 0xa5d, MTR, 0, bf74), Local0)
+ m600(arg0, 6, Local0, 0xd)
+
+ Store(Match(Derefof(Index(paup, 0)), MEQ, 0xa5a, MTR, 0, bf74), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Object
+
+ Store(Match(m601(4, 0), MEQ, 0xa5d, MTR, 0, bf74), Local0)
+ m600(arg0, 8, Local0, 0xd)
+
+ Store(Match(m601(4, 0), MEQ, 0xa5a, MTR, 0, bf74), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Match(Derefof(m602(4, 0, 1)), MEQ, 0xa5d, MTR, 0, bf74), Local0)
+ m600(arg0, 10, Local0, 0xd)
+
+ Store(Match(Derefof(m602(4, 0, 1)), MEQ, 0xa5a, MTR, 0, bf74), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+ }
+
+ // Buffer Field to Integer conversion of the Buffer Field sole operand
+ // of the Method execution control operators (Sleep, Stall)
+ Method(m06b, 1)
+ {
+ CH03(arg0, z087, 2, 0, 0)
+
+ // Sleep
+
+ Store(Timer, Local0)
+
+ Sleep(bf61)
+ CH03(arg0, z087, 3, 0, 0)
+
+ Store(Timer, Local1)
+ Subtract(Local1, Local0, Local2)
+ if (LLess(Local2, c08c)) {
+ err(arg0, z087, 0, 0, 0, Local2, c08c)
+ }
+
+ // Stall
+
+ Store(Timer, Local0)
+
+ Stall(bf75)
+ CH03(arg0, z087, 4, 0, 0)
+
+ Store(Timer, Local1)
+ Subtract(Local1, Local0, Local2)
+ if (LLess(Local2, 990)) {
+ err(arg0, z087, 1, 0, 0, Local2, 990)
+ }
+ }
+
+ // Buffer Field to Integer conversion of the Buffer Field TimeoutValue
+ // (second) operand of the Acquire operator
+
+ Method(m06c, 1)
+ {
+ Mutex(MTX0, 0)
+
+ Acquire(MTX0, 0)
+ CH03(arg0, z087, 5, 0, 0)
+
+ Store(Timer, Local0)
+
+/* Compiler allows only Integer constant as TimeoutValue (Bug 1)
+ Acquire(MTX0, bf61)
+*/
+ CH03(arg0, z087, 6, 0, 0)
+
+ Store(Timer, Local1)
+ Subtract(Local1, Local0, Local2)
+ if (LLess(Local2, c08c)) {
+ err(arg0, z087, 0, 0, 0, Local2, c08c)
+ }
+ }
+
+ // Buffer Field to Integer conversion of the Buffer Field TimeoutValue
+ // (second) operand of the Wait operator
+ Method(m06d, 1)
+ {
+ Event(EVT0)
+
+ CH03(arg0, z087, 7, 0, 0)
+
+ Store(Timer, Local0)
+
+ Wait(EVT0, bf61)
+ CH03(arg0, z087, 8, 0, 0)
+
+ Store(Timer, Local1)
+ Subtract(Local1, Local0, Local2)
+ if (LLess(Local2, c08c)) {
+ err(arg0, z087, 0, 0, 0, Local2, c08c)
+ }
+ }
+
+ // Buffer Field to Integer conversion of the Buffer Field value
+ // of Predicate of the Method execution control statements
+ // (If, ElseIf, While)
+ Method(m06e, 1)
+ {
+ Name(ist0, 0)
+
+ Method(m001)
+ {
+ if (bf76) {
+ Store(0, ist0)
+ }
+ }
+
+ Method(m002)
+ {
+ if (bf61) {
+ Store(2, ist0)
+ }
+ }
+
+ Method(m003)
+ {
+ if (bf65) {
+ Store(3, ist0)
+ }
+ }
+
+ Method(m004)
+ {
+ if (bf65) {
+ Store(4, ist0)
+ }
+ }
+
+ Method(m005, 1)
+ {
+ if (arg0) {
+ Store(0xff, ist0)
+ } elseif (bf76) {
+ Store(0, ist0)
+ }
+ }
+
+ Method(m006, 1)
+ {
+ if (arg0) {
+ Store(0xff, ist0)
+ } elseif (bf61) {
+ Store(6, ist0)
+ }
+ }
+
+ Method(m007, 1)
+ {
+ if (arg0) {
+ Store(0xff, ist0)
+ } elseif (bf65) {
+ Store(7, ist0)
+ }
+ }
+
+ Method(m008, 1)
+ {
+ if (arg0) {
+ Store(0xff, ist0)
+ } elseif (bf65) {
+ Store(8, ist0)
+ }
+ }
+
+ Method(m009)
+ {
+ while (bf76) {
+ Store(0, ist0)
+ }
+ }
+
+ // If
+
+ Store(1, ist0)
+ m001()
+ m600(arg0, 0, ist0, 1)
+
+ m002()
+ m600(arg0, 1, ist0, 2)
+
+ m003()
+ m600(arg0, 2, ist0, 3)
+
+ m004()
+ m600(arg0, 3, ist0, 4)
+
+ // ElseIf
+
+ Store(5, ist0)
+ m005(0)
+ m600(arg0, 4, ist0, 5)
+
+ m006(0)
+ m600(arg0, 5, ist0, 6)
+
+ m007(0)
+ m600(arg0, 6, ist0, 7)
+
+ m008(0)
+ m600(arg0, 7, ist0, 8)
+
+ // While
+
+ Store(9, ist0)
+ m009()
+ m600(arg0, 8, ist0, 9)
+ }
+
+ // Initialize Buffer Fields
+ Method(m073)
+ {
+ Store(Buffer(3){0x21, 0x03, 0x00}, bf61)
+ Store(Buffer(4){0xFE, 0xB3, 0x79, 0xC1}, bf62)
+ Store(Buffer(5){0xFE, 0xB3, 0x79, 0xC1, 0xa5}, bf63)
+ Store(Buffer(8){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, bf64)
+ Store(Buffer(8){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, bf65)
+ Store(Buffer(9){0x21, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01}, bf66)
+ Store(
+ Buffer(67){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,},
+ bf69)
+
+ Store(Buffer() {0x01, 0x89, 0x67, 0x45, 0x23, 0x01, 0x89, 0x37}, bf6c)
+ Store(Buffer() {0x35, 0xec, 0xe9, 0x2e, 0x16, 0x76, 0x0d}, bf6d)
+ Store(Buffer() {0x56, 0x34, 0x12, 0x90}, bf6e)
+ Store(Buffer() {0xc0, 0x2c, 0x5f, 0x05}, bf6f)
+
+ Store(0x6179534e, bf70)
+ Store(Buffer() {0x14, 0x22, 0x50, 0x36, 0x41, 0x53, 0x7c, 0x6e}, bf71)
+ Store(Buffer() {0x14, 0x22, 0x00, 0x36, 0x41, 0x53, 0x00, 0x6e}, bf72)
+ Store(Buffer() {0x14, 0x22, 0x00, 0x36, 0x41, 0x53, 0x7c, 0x6e}, bf73)
+
+ Store(0xb, bf74)
+ Store(0x3f, bf75)
+ Store(0, bf76)
+ Store(0x36002214, bf77)
+
+ Store(Buffer(3){0x21, 0x03, 0x00}, bf91)
+ Store(Buffer(8){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, bf95)
+ Store(Buffer(3){0x21, 0x03, 0x00}, bfa1)
+ Store(Buffer(8){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, bfa5)
+ }
+
+ // Check Buffer Fields consistency
+ Method(m074, 1)
+ {
+ m600(arg0, 0, bf61, 0x321)
+
+ m600(arg0, 1, bf62, 0xc179b3fe)
+
+ if (F64) {
+ m600(arg0, 2, bf63, 0x1c179b3fe)
+ } else {
+ m600(arg0, 2, bf63, Buffer(5){0xFE, 0xB3, 0x79, 0xC1, 0x01})
+ }
+
+ if (F64) {
+ m600(arg0, 3, bf64, 0x7e7cb391d650a284)
+ } else {
+ m600(arg0, 3, bf64, Buffer(8){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0x7E})
+ }
+
+ if (F64) {
+ m600(arg0, 4, bf65, 0xfe7cb391d650a284)
+ } else {
+ m600(arg0, 4, bf65, Buffer(8){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ }
+
+ m600(arg0, 5, bf66, Buffer(9){0x21, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01})
+
+ m600(arg0, 6, bf69, Buffer(67){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,})
+
+ m600(arg0, 7, bf6c, Buffer() {0x01, 0x89, 0x67, 0x45, 0x23, 0x01, 0x89, 0x37, 0x00})
+
+ m600(arg0, 8, bf6d, Buffer() {0x35, 0xec, 0xe9, 0x2e, 0x16, 0x76, 0x0d, 0x00, 0x00})
+
+ if (F64) {
+ m600(arg0, 9, bf6e, 0x90123456)
+ } else {
+ m600(arg0, 9, bf6e, Buffer() {0x56, 0x34, 0x12, 0x90, 0x00})
+ }
+
+ if (F64) {
+ m600(arg0, 10, bf6f, 0x055f2cc0)
+ } else {
+ m600(arg0, 10, bf6f, Buffer() {0xc0, 0x2c, 0x5f, 0x05, 0x00})
+ }
+
+ m600(arg0, 11, bf70, 0x6179534e)
+
+ if (F64) {
+ m600(arg0, 12, bf71, 0x6e7c534136502214)
+ } else {
+ m600(arg0, 12, bf71, Buffer() {0x14, 0x22, 0x50, 0x36, 0x41, 0x53, 0x7c, 0x6e})
+ }
+
+ if (F64) {
+ m600(arg0, 13, bf72, 0x6e00534136002214)
+ } else {
+ m600(arg0, 13, bf72, Buffer() {0x14, 0x22, 0x00, 0x36, 0x41, 0x53, 0x00, 0x6e})
+ }
+
+ if (F64) {
+ m600(arg0, 14, bf73, 0x6e7c534136002214)
+ } else {
+ m600(arg0, 14, bf73, Buffer() {0x14, 0x22, 0x00, 0x36, 0x41, 0x53, 0x7c, 0x6e})
+ }
+
+ if (F64) {
+ m600(arg0, 15, bf74, 0xb)
+ } else {
+ m600(arg0, 15, bf74, Buffer() {0xb, 0x00, 0x00, 0x00, 0x00})
+ }
+
+ if (F64) {
+ m600(arg0, 16, bf75, 0x3f)
+ } else {
+ m600(arg0, 16, bf75, Buffer() {0x3f, 0x00, 0x00, 0x00, 0x00})
+ }
+
+ if (F64) {
+ m600(arg0, 17, bf76, 0)
+ } else {
+ m600(arg0, 17, bf76, Buffer() {0x00, 0x00, 0x00, 0x00, 0x00})
+ }
+
+ m600(arg0, 18, bf77, 0x36002214)
+
+ m600(arg0, 19, bf91, 0x320)
+ m600(arg0, 20, bfa1, 0x322)
+ if (F64) {
+ m600(arg0, 21, bf95, 0xfe7cb391d650a283)
+ } else {
+ m600(arg0, 21, bf95, Buffer(8){0x83, 0xA2, 0x50, 0xD6, 0x00, 0x00, 0x00, 0x00})
+ }
+ if (F64) {
+ m600(arg0, 22, bfa5, 0xfe7cb391d650a285)
+ } else {
+ m600(arg0, 22, bfa5, Buffer(8){0x85, 0xA2, 0x50, 0xD6, 0x00, 0x00, 0x00, 0x00})
+ }
+ }
+
+ /*
+ * Begin of the test body
+ */
+
+ m073()
+
+ // Buffer Field to Buffer implicit conversion Cases.
+
+ // Buffer Field to Buffer conversion of the Buffer Field second operand
+ // of Logical operators when the first operand is evaluated as Buffer
+ // (LEqual, LGreater, LGreaterEqual, LLess, LLessEqual, LNotEqual)
+ if (F64) {
+ Concatenate(ts, "-m644", Local0)
+ SRMT(Local0)
+ m644(Local0)
+ } else {
+ Concatenate(ts, "-m324", Local0)
+ SRMT(Local0)
+ m324(Local0)
+ }
+
+ // Buffer Field to Buffer conversion of the both Integer operands
+ // of Concatenate operator
+ if (F64) {
+ Concatenate(ts, "-m645", Local0)
+ SRMT(Local0)
+ m645(Local0)
+ } else {
+ Concatenate(ts, "-m325", Local0)
+ SRMT(Local0)
+ m325(Local0)
+ }
+
+ // Buffer Field to Buffer conversion of the Buffer Field second operand
+ // of Concatenate operator when the first operand is evaluated as Buffer
+ if (F64) {
+ Concatenate(ts, "-m646", Local0)
+ SRMT(Local0)
+ m646(Local0)
+ } else {
+ Concatenate(ts, "-m326", Local0)
+ SRMT(Local0)
+ m326(Local0)
+ }
+
+ // Buffer Field to Buffer conversion of the Buffer Field Source operand
+ // of ToString operator
+ if (F64) {
+ Concatenate(ts, "-m647", Local0)
+ SRMT(Local0)
+ m647(Local0)
+ } else {
+ Concatenate(ts, "-m327", Local0)
+ SRMT(Local0)
+ m327(Local0)
+ }
+
+ // Buffer Field to Buffer conversion of the Buffer Field Source operand
+ // of Mid operator
+ if (F64) {
+ Concatenate(ts, "-m648", Local0)
+ SRMT(Local0)
+ m648(Local0)
+ } else {
+ Concatenate(ts, "-m328", Local0)
+ SRMT(Local0)
+ m328(Local0)
+ }
+
+
+ // Buffer Field to Integer implicit conversion Cases.
+
+ // Buffer Field to Integer conversion of the Buffer Field sole operand
+ // of the 1-parameter Integer arithmetic operators
+ // (Decrement, Increment, FindSetLeftBit, FindSetRightBit, Not)
+ if (F64) {
+ Concatenate(ts, "-m64l", Local0)
+ SRMT(Local0)
+ m64l(Local0)
+ } else {
+ Concatenate(ts, "-m32l", Local0)
+ SRMT(Local0)
+ m32l(Local0)
+ }
+
+ // Buffer Field to Integer conversion of the Buffer Field sole operand
+ // of the LNot Logical Integer operator
+ Concatenate(ts, "-m03a", Local0)
+ SRMT(Local0)
+ m03a(Local0)
+
+ // Buffer Field to Integer conversion of the Buffer Field sole operand
+ // of the FromBCD and ToBCD conversion operators
+ if (F64) {
+ Concatenate(ts, "-m64m", Local0)
+ SRMT(Local0)
+ m64m(Local0)
+ } else {
+ Concatenate(ts, "-m32m", Local0)
+ SRMT(Local0)
+ m32m(Local0)
+ }
+
+ // Buffer Field to Integer conversion of each Buffer operand
+ // of the 2-parameter Integer arithmetic operators
+ // Add, And, Divide, Mod, Multiply, NAnd, NOr, Or,
+ // ShiftLeft, ShiftRight, Subtract, Xor
+ if (F64) {
+ m64n(Concatenate(ts, "-m64n"))
+ } else {
+ m32n(Concatenate(ts, "-m32n"))
+ }
+
+ // Buffer Field to Integer conversion of each Buffer operand
+ // of the 2-parameter Logical Integer operators LAnd and LOr
+ if (F64) {
+ m64o(Concatenate(ts, "-m64o"))
+ } else {
+ m32o(Concatenate(ts, "-m32o"))
+ }
+
+ // Buffer Field to Integer conversion of the Buffer Field second operand
+ // of Logical operators when the first operand is evaluated as Integer
+ // (LEqual, LGreater, LGreaterEqual, LLess, LLessEqual, LNotEqual)
+
+ Concatenate(ts, "-m065", Local0)
+ SRMT(Local0)
+ m065(Local0)
+
+ if (F64) {
+ Concatenate(ts, "-m64p", Local0)
+ SRMT(Local0)
+ m64p(Local0)
+ } else {
+ Concatenate(ts, "-m32p", Local0)
+ SRMT(Local0)
+ m32p(Local0)
+ }
+
+ // Buffer Field to Integer intermediate conversion of the Buffer Field
+ // second operand of Concatenate operator in case the first one is Integer
+ if (F64) {
+ Concatenate(ts, "-m64q", Local0)
+ SRMT(Local0)
+ m64q(Local0)
+ } else {
+ Concatenate(ts, "-m32q", Local0)
+ SRMT(Local0)
+ m32q(Local0)
+ }
+
+ // Buffer Field to Integer conversion of the Buffer Field Length
+ // (second) operand of the ToString operator
+
+ Concatenate(ts, "-m066", Local0)
+ SRMT(Local0)
+ m066(Local0)
+
+ if (F64) {
+ Concatenate(ts, "-m64r", Local0)
+ SRMT(Local0)
+ m64r(Local0)
+ } else {
+ Concatenate(ts, "-m32r", Local0)
+ SRMT(Local0)
+ m32r(Local0)
+ }
+
+ // Buffer Field to Integer conversion of the Buffer Field Index
+ // (second) operand of the Index operator
+ Concatenate(ts, "-m067", Local0)
+ SRMT(Local0)
+ m067(Local0)
+
+ // Buffer Field to Integer conversion of the Buffer Field Arg (third)
+ // operand of the Fatal operator
+ // (it can only be checked an exception does not occur)
+ Concatenate(ts, "-m068", Local0)
+ SRMT(Local0)
+ m068(Local0)
+
+ // Buffer Field to Integer conversion of the Buffer Field Index
+ // and Length operands of the Mid operator
+
+ Concatenate(ts, "-m069", Local0)
+ SRMT(Local0)
+ m069(Local0)
+
+ if (F64) {
+ Concatenate(ts, "-m64s", Local0)
+ SRMT(Local0)
+ m64s(Local0)
+ } else {
+ Concatenate(ts, "-m32s", Local0)
+ SRMT(Local0)
+ m32s(Local0)
+ }
+
+ // Buffer Field to Integer conversion of the Buffer Field StartIndex
+ // operand of the Match operator
+ Concatenate(ts, "-m06a", Local0)
+ SRMT(Local0)
+ m06a(Local0)
+
+ // Buffer Field to Integer conversion of the Buffer Field sole operand
+ // of the Method execution control operators (Sleep, Stall)
+ Concatenate(ts, "-m06b", Local0)
+ SRMT(Local0)
+ m06b(Local0)
+
+ // Buffer Field to Integer conversion of the Buffer Field TimeoutValue
+ // (second) operand of the Wait operator
+ Concatenate(ts, "-m06d", Local0)
+ SRMT(Local0)
+ m06d(Local0)
+
+ // Buffer Field to Integer conversion of the Buffer Field value
+ // of Predicate of the Method execution control statements
+ // (If, ElseIf, While)
+ Concatenate(ts, "-m06e", Local0)
+ SRMT(Local0)
+ m06e(Local0)
+
+ // Check Buffer Fields consistency
+ Concatenate(ts, "-m074", Local0)
+ SRMT(Local0)
+ m074(Local0)
+}
+
+// Run-method
+Method(OPR1)
+{
+ Store("TEST: OPR1, Source Operand", Debug)
+
+ m611()
+
+ m612()
+}
diff --git a/tests/aslts/src/runtime/collections/complex/operand/tests/onamedloc/MAIN.asl b/tests/aslts/src/runtime/collections/complex/operand/tests/onamedloc/MAIN.asl
new file mode 100644
index 000000000..95bbd4963
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/operand/tests/onamedloc/MAIN.asl
@@ -0,0 +1,59 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "onamedloc.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../../runtime/cntl/DECL_6UP.asl")
+ Include("../../../../../../runtime/collections/complex/operand/common/ocommon.asl")
+ Include("../../../../../../runtime/collections/complex/operand/tests/onamedloc/onamedloc1.asl")
+ Include("../../../../../../runtime/collections/complex/operand/tests/onamedloc/onamedloc2.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../../runtime/collections/complex/operand/tests/onamedloc/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/complex/operand/tests/onamedloc/Makefile b/tests/aslts/src/runtime/collections/complex/operand/tests/onamedloc/Makefile
new file mode 100644
index 000000000..f7c32cbbc
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/operand/tests/onamedloc/Makefile
@@ -0,0 +1,7 @@
+# onamedloc
+
+AMLMOD= onamedloc
+COLL= ../../../..
+
+TOP= $(COLL)/../../..
+include $(COLL)/Makefile.install
diff --git a/tests/aslts/src/runtime/collections/complex/operand/tests/onamedloc/RUN.asl b/tests/aslts/src/runtime/collections/complex/operand/tests/onamedloc/RUN.asl
new file mode 100644
index 000000000..b39e81e6c
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/operand/tests/onamedloc/RUN.asl
@@ -0,0 +1,35 @@
+/*
+ * 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.
+ */
+
+
+if (STTT("Source Operand, local named object data", TCLC, 6, W010)) {
+ OPR2()
+}
+FTTT()
diff --git a/tests/aslts/src/runtime/collections/complex/operand/tests/onamedloc/onamedloc1.asl b/tests/aslts/src/runtime/collections/complex/operand/tests/onamedloc/onamedloc1.asl
new file mode 100644
index 000000000..16ecd5be5
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/operand/tests/onamedloc/onamedloc1.asl
@@ -0,0 +1,25630 @@
+/*
+ * 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.
+ */
+
+/*
+ * Check implicit conversion being applied to Named Objects
+ * in the current Scope of the Global ACPI namespace.
+ */
+
+Name(z088, 88)
+
+Method(m613)
+{
+ Name(ts, "m613")
+
+ // Integer to String implicit conversion Cases.
+
+ // Integer to String conversion of the Integer second operand of
+ // Logical operators when the first operand is evaluated as String.
+ // LEqual LGreater LGreaterEqual LLess LLessEqual LNotEqual
+
+ Method(m640, 1)
+ {
+ Name(i604, 0xfe7cb391d650a284)
+
+ // LEqual
+
+ Store(LEqual("FE7CB391D650A284", i604), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual("fE7CB391D650A284", i604), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(aus4, i604), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(LEqual(aus5, i604), Local0)
+ m600(arg0, 3, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aus4)), i604), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(aus5)), i604), Local0)
+ m600(arg0, 5, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paus, 4)), i604), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paus, 5)), i604), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ // Method returns String
+
+ Store(LEqual(m601(2, 4), i604), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(LEqual(m601(2, 5), i604), Local0)
+ m600(arg0, 9, Local0, Zero)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(2, 4, 1)), i604), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(2, 5, 1)), i604), Local0)
+ m600(arg0, 11, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater("FE7CB391D650A284", i604), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LGreater("fE7CB391D650A284", i604), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LGreater("FE7CB391D650A28 ", i604), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LGreater("FE7CB391D650A284q", i604), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LGreater(aus4, i604), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LGreater(aus5, i604), Local0)
+ m600(arg0, 17, Local0, Ones)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aus4)), i604), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(aus5)), i604), Local0)
+ m600(arg0, 19, Local0, Ones)
+ }
+
+ Store(LGreater(Derefof(Index(paus, 4)), i604), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paus, 5)), i604), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns String
+
+ Store(LGreater(m601(2, 4), i604), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LGreater(m601(2, 5), i604), Local0)
+ m600(arg0, 23, Local0, Ones)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(2, 4, 1)), i604), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(2, 5, 1)), i604), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual("FE7CB391D650A284", i604), Local0)
+ m600(arg0, 26, Local0, Ones)
+
+ Store(LGreaterEqual("fE7CB391D650A284", i604), Local0)
+ m600(arg0, 27, Local0, Ones)
+
+ Store(LGreaterEqual("FE7CB391D650A28 ", i604), Local0)
+ m600(arg0, 28, Local0, Zero)
+
+ Store(LGreaterEqual("FE7CB391D650A284q", i604), Local0)
+ m600(arg0, 29, Local0, Ones)
+
+ Store(LGreaterEqual(aus4, i604), Local0)
+ m600(arg0, 30, Local0, Ones)
+
+ Store(LGreaterEqual(aus5, i604), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aus4)), i604), Local0)
+ m600(arg0, 32, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(aus5)), i604), Local0)
+ m600(arg0, 33, Local0, Ones)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paus, 4)), i604), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paus, 5)), i604), Local0)
+ m600(arg0, 35, Local0, Ones)
+
+ // Method returns String
+
+ Store(LGreaterEqual(m601(2, 4), i604), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(m601(2, 5), i604), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(2, 4, 1)), i604), Local0)
+ m600(arg0, 38, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(2, 5, 1)), i604), Local0)
+ m600(arg0, 39, Local0, Ones)
+ }
+
+ // LLess
+
+ Store(LLess("FE7CB391D650A284", i604), Local0)
+ m600(arg0, 40, Local0, Zero)
+
+ Store(LLess("fE7CB391D650A284", i604), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ Store(LLess("FE7CB391D650A28 ", i604), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LLess("FE7CB391D650A284q", i604), Local0)
+ m600(arg0, 43, Local0, Zero)
+
+ Store(LLess(aus4, i604), Local0)
+ m600(arg0, 44, Local0, Zero)
+
+ Store(LLess(aus5, i604), Local0)
+ m600(arg0, 45, Local0, Zero)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aus4)), i604), Local0)
+ m600(arg0, 46, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(aus5)), i604), Local0)
+ m600(arg0, 47, Local0, Zero)
+ }
+
+ Store(LLess(Derefof(Index(paus, 4)), i604), Local0)
+ m600(arg0, 48, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paus, 5)), i604), Local0)
+ m600(arg0, 49, Local0, Zero)
+
+ // Method returns String
+
+ Store(LLess(m601(2, 4), i604), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ Store(LLess(m601(2, 5), i604), Local0)
+ m600(arg0, 51, Local0, Zero)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LLess(Derefof(m602(2, 4, 1)), i604), Local0)
+ m600(arg0, 52, Local0, Zero)
+
+ Store(LLess(Derefof(m602(2, 5, 1)), i604), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual("FE7CB391D650A284", i604), Local0)
+ m600(arg0, 54, Local0, Ones)
+
+ Store(LLessEqual("fE7CB391D650A284", i604), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLessEqual("FE7CB391D650A28 ", i604), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLessEqual("FE7CB391D650A284q", i604), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLessEqual(aus4, i604), Local0)
+ m600(arg0, 58, Local0, Ones)
+
+ Store(LLessEqual(aus5, i604), Local0)
+ m600(arg0, 59, Local0, Zero)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aus4)), i604), Local0)
+ m600(arg0, 60, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(aus5)), i604), Local0)
+ m600(arg0, 61, Local0, Zero)
+ }
+
+ Store(LLessEqual(Derefof(Index(paus, 4)), i604), Local0)
+ m600(arg0, 62, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paus, 5)), i604), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ // Method returns String
+
+ Store(LLessEqual(m601(2, 4), i604), Local0)
+ m600(arg0, 64, Local0, Ones)
+
+ Store(LLessEqual(m601(2, 5), i604), Local0)
+ m600(arg0, 65, Local0, Zero)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(2, 4, 1)), i604), Local0)
+ m600(arg0, 66, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(2, 5, 1)), i604), Local0)
+ m600(arg0, 67, Local0, Zero)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual("FE7CB391D650A284", i604), Local0)
+ m600(arg0, 68, Local0, Zero)
+
+ Store(LNotEqual("fE7CB391D650A284", i604), Local0)
+ m600(arg0, 69, Local0, Ones)
+
+ Store(LNotEqual("FE7CB391D650A28 ", i604), Local0)
+ m600(arg0, 70, Local0, Ones)
+
+ Store(LNotEqual("FE7CB391D650A284q", i604), Local0)
+ m600(arg0, 71, Local0, Ones)
+
+ Store(LNotEqual(aus4, i604), Local0)
+ m600(arg0, 72, Local0, Zero)
+
+ Store(LNotEqual(aus5, i604), Local0)
+ m600(arg0, 73, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aus4)), i604), Local0)
+ m600(arg0, 74, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(aus5)), i604), Local0)
+ m600(arg0, 75, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paus, 4)), i604), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paus, 5)), i604), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ // Method returns String
+
+ Store(LNotEqual(m601(2, 4), i604), Local0)
+ m600(arg0, 78, Local0, Zero)
+
+ Store(LNotEqual(m601(2, 5), i604), Local0)
+ m600(arg0, 79, Local0, Ones)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(2, 4, 1)), i604), Local0)
+ m600(arg0, 80, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(2, 5, 1)), i604), Local0)
+ m600(arg0, 81, Local0, Ones)
+ }
+ }
+
+ Method(m320, 1)
+ {
+ Name(i603, 0xc179b3fe)
+
+ // LEqual
+
+ Store(LEqual("C179B3FE", i603), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual("c179B3FE", i603), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(aus3, i603), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(LEqual(aus2, i603), Local0)
+ m600(arg0, 3, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aus3)), i603), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(aus2)), i603), Local0)
+ m600(arg0, 5, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paus, 3)), i603), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paus, 2)), i603), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ // Method returns String
+
+ Store(LEqual(m601(2, 3), i603), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(LEqual(m601(2, 2), i603), Local0)
+ m600(arg0, 9, Local0, Zero)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(2, 3, 1)), i603), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(2, 2, 1)), i603), Local0)
+ m600(arg0, 11, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater("C179B3FE", i603), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LGreater("c179B3FE", i603), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LGreater("C179B3F ", i603), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LGreater("C179B3FEq", i603), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LGreater(aus3, i603), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LGreater(aus2, i603), Local0)
+ m600(arg0, 17, Local0, Ones)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aus3)), i603), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(aus2)), i603), Local0)
+ m600(arg0, 19, Local0, Ones)
+ }
+
+ Store(LGreater(Derefof(Index(paus, 3)), i603), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paus, 2)), i603), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns String
+
+ Store(LGreater(m601(2, 3), i603), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LGreater(m601(2, 2), i603), Local0)
+ m600(arg0, 23, Local0, Ones)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(2, 3, 1)), i603), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(2, 2, 1)), i603), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual("C179B3FE", i603), Local0)
+ m600(arg0, 26, Local0, Ones)
+
+ Store(LGreaterEqual("c179B3FE", i603), Local0)
+ m600(arg0, 27, Local0, Ones)
+
+ Store(LGreaterEqual("C179B3F ", i603), Local0)
+ m600(arg0, 28, Local0, Zero)
+
+ Store(LGreaterEqual("C179B3FEq", i603), Local0)
+ m600(arg0, 29, Local0, Ones)
+
+ Store(LGreaterEqual(aus3, i603), Local0)
+ m600(arg0, 30, Local0, Ones)
+
+ Store(LGreaterEqual(aus2, i603), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aus3)), i603), Local0)
+ m600(arg0, 32, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(aus2)), i603), Local0)
+ m600(arg0, 33, Local0, Ones)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paus, 3)), i603), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paus, 2)), i603), Local0)
+ m600(arg0, 35, Local0, Ones)
+
+ // Method returns String
+
+ Store(LGreaterEqual(m601(2, 3), i603), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(m601(2, 2), i603), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(2, 3, 1)), i603), Local0)
+ m600(arg0, 38, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(2, 2, 1)), i603), Local0)
+ m600(arg0, 39, Local0, Ones)
+ }
+
+ // LLess
+
+ Store(LLess("C179B3FE", i603), Local0)
+ m600(arg0, 40, Local0, Zero)
+
+ Store(LLess("c179B3FE", i603), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ Store(LLess("C179B3F ", i603), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LLess("C179B3FEq", i603), Local0)
+ m600(arg0, 43, Local0, Zero)
+
+ Store(LLess(aus3, i603), Local0)
+ m600(arg0, 44, Local0, Zero)
+
+ Store(LLess(aus2, i603), Local0)
+ m600(arg0, 45, Local0, Zero)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aus3)), i603), Local0)
+ m600(arg0, 46, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(aus2)), i603), Local0)
+ m600(arg0, 47, Local0, Zero)
+ }
+
+ Store(LLess(Derefof(Index(paus, 3)), i603), Local0)
+ m600(arg0, 48, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paus, 2)), i603), Local0)
+ m600(arg0, 49, Local0, Zero)
+
+ // Method returns String
+
+ Store(LLess(m601(2, 3), i603), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ Store(LLess(m601(2, 2), i603), Local0)
+ m600(arg0, 51, Local0, Zero)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LLess(Derefof(m602(2, 3, 1)), i603), Local0)
+ m600(arg0, 52, Local0, Zero)
+
+ Store(LLess(Derefof(m602(2, 2, 1)), i603), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual("C179B3FE", i603), Local0)
+ m600(arg0, 54, Local0, Ones)
+
+ Store(LLessEqual("c179B3FE", i603), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLessEqual("C179B3F ", i603), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLessEqual("C179B3FEq", i603), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLessEqual(aus3, i603), Local0)
+ m600(arg0, 58, Local0, Ones)
+
+ Store(LLessEqual(aus2, i603), Local0)
+ m600(arg0, 59, Local0, Zero)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aus3)), i603), Local0)
+ m600(arg0, 60, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(aus2)), i603), Local0)
+ m600(arg0, 61, Local0, Zero)
+ }
+
+ Store(LLessEqual(Derefof(Index(paus, 3)), i603), Local0)
+ m600(arg0, 62, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paus, 2)), i603), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ // Method returns String
+
+ Store(LLessEqual(m601(2, 3), i603), Local0)
+ m600(arg0, 64, Local0, Ones)
+
+ Store(LLessEqual(m601(2, 2), i603), Local0)
+ m600(arg0, 65, Local0, Zero)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(2, 3, 1)), i603), Local0)
+ m600(arg0, 66, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(2, 2, 1)), i603), Local0)
+ m600(arg0, 67, Local0, Zero)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual("C179B3FE", i603), Local0)
+ m600(arg0, 68, Local0, Zero)
+
+ Store(LNotEqual("c179B3FE", i603), Local0)
+ m600(arg0, 69, Local0, Ones)
+
+ Store(LNotEqual("C179B3F ", i603), Local0)
+ m600(arg0, 70, Local0, Ones)
+
+ Store(LNotEqual("C179B3FEq", i603), Local0)
+ m600(arg0, 71, Local0, Ones)
+
+ Store(LNotEqual(aus3, i603), Local0)
+ m600(arg0, 72, Local0, Zero)
+
+ Store(LNotEqual(aus2, i603), Local0)
+ m600(arg0, 73, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aus3)), i603), Local0)
+ m600(arg0, 74, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(aus2)), i603), Local0)
+ m600(arg0, 75, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paus, 3)), i603), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paus, 2)), i603), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ // Method returns String
+
+ Store(LNotEqual(m601(2, 3), i603), Local0)
+ m600(arg0, 78, Local0, Zero)
+
+ Store(LNotEqual(m601(2, 2), i603), Local0)
+ m600(arg0, 79, Local0, Ones)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(2, 3, 1)), i603), Local0)
+ m600(arg0, 80, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(2, 2, 1)), i603), Local0)
+ m600(arg0, 81, Local0, Ones)
+ }
+ }
+
+ // Integer to String conversion of the Integer second operand of
+ // Concatenate operator when the first operand is evaluated as String
+
+ Method(m641, 1)
+ {
+ Name(i604, 0xfe7cb391d650a284)
+
+ Store(Concatenate("", i604), Local0)
+ m600(arg0, 0, Local0, bs10)
+
+ Store(Concatenate("1234q", i604), Local0)
+ m600(arg0, 1, Local0, bs11)
+
+ Store(Concatenate(aus0, i604), Local0)
+ m600(arg0, 2, Local0, bs10)
+
+ Store(Concatenate(aus1, i604), Local0)
+ m600(arg0, 3, Local0, bs11)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aus0)), i604), Local0)
+ m600(arg0, 4, Local0, bs10)
+
+ Store(Concatenate(Derefof(Refof(aus1)), i604), Local0)
+ m600(arg0, 5, Local0, bs11)
+ }
+
+ Store(Concatenate(Derefof(Index(paus, 0)), i604), Local0)
+ m600(arg0, 6, Local0, bs10)
+
+ Store(Concatenate(Derefof(Index(paus, 1)), i604), Local0)
+ m600(arg0, 7, Local0, bs11)
+
+ // Method returns String
+
+ Store(Concatenate(m601(2, 0), i604), Local0)
+ m600(arg0, 8, Local0, bs10)
+
+ Store(Concatenate(m601(2, 1), i604), Local0)
+ m600(arg0, 9, Local0, bs11)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(2, 0, 1)), i604), Local0)
+ m600(arg0, 10, Local0, bs10)
+
+ Store(Concatenate(Derefof(m602(2, 1, 1)), i604), Local0)
+ m600(arg0, 11, Local0, bs11)
+ }
+
+ Concatenate("", i604, Local0)
+ m600(arg0, 12, Local0, bs10)
+
+ Concatenate("1234q", i604, Local0)
+ m600(arg0, 13, Local0, bs11)
+
+ Concatenate(aus0, i604, Local0)
+ m600(arg0, 14, Local0, bs10)
+
+ Concatenate(aus1, i604, Local0)
+ m600(arg0, 15, Local0, bs11)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aus0)), i604, Local0)
+ m600(arg0, 16, Local0, bs10)
+
+ Concatenate(Derefof(Refof(aus1)), i604, Local0)
+ m600(arg0, 17, Local0, bs11)
+ }
+
+ Concatenate(Derefof(Index(paus, 0)), i604, Local0)
+ m600(arg0, 18, Local0, bs10)
+
+ Concatenate(Derefof(Index(paus, 1)), i604, Local0)
+ m600(arg0, 19, Local0, bs11)
+
+ // Method returns String
+
+ Concatenate(m601(2, 0), i604, Local0)
+ m600(arg0, 20, Local0, bs10)
+
+ Concatenate(m601(2, 1), i604, Local0)
+ m600(arg0, 21, Local0, bs11)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Concatenate(Derefof(m602(2, 0, 1)), i604, Local0)
+ m600(arg0, 22, Local0, bs10)
+
+ Concatenate(Derefof(m602(2, 1, 1)), i604, Local0)
+ m600(arg0, 23, Local0, bs11)
+ }
+ }
+
+ Method(m321, 1)
+ {
+ Name(i603, 0xc179b3fe)
+ Name(i604, 0xfe7cb391d650a284)
+
+ Store(Concatenate("", i603), Local0)
+ m600(arg0, 0, Local0, bs12)
+
+ Store(Concatenate("1234q", i603), Local0)
+ m600(arg0, 1, Local0, bs13)
+
+ Store(Concatenate(aus0, i603), Local0)
+ m600(arg0, 2, Local0, bs12)
+
+ Store(Concatenate(aus1, i603), Local0)
+ m600(arg0, 3, Local0, bs13)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aus0)), i603), Local0)
+ m600(arg0, 4, Local0, bs12)
+
+ Store(Concatenate(Derefof(Refof(aus1)), i603), Local0)
+ m600(arg0, 5, Local0, bs13)
+ }
+
+ Store(Concatenate(Derefof(Index(paus, 0)), i603), Local0)
+ m600(arg0, 6, Local0, bs12)
+
+ Store(Concatenate(Derefof(Index(paus, 1)), i603), Local0)
+ m600(arg0, 7, Local0, bs13)
+
+ // Method returns String
+
+ Store(Concatenate(m601(2, 0), i603), Local0)
+ m600(arg0, 8, Local0, bs12)
+
+ Store(Concatenate(m601(2, 1), i603), Local0)
+ m600(arg0, 9, Local0, bs13)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(2, 0, 1)), i603), Local0)
+ m600(arg0, 10, Local0, bs12)
+
+ Store(Concatenate(Derefof(m602(2, 1, 1)), i603), Local0)
+ m600(arg0, 11, Local0, bs13)
+ }
+
+ Store(Concatenate("", i604), Local0)
+ m600(arg0, 12, Local0, bs14)
+
+ Store(Concatenate("1234q", i604), Local0)
+ m600(arg0, 13, Local0, bs15)
+
+ Concatenate("", i603, Local0)
+ m600(arg0, 14, Local0, bs12)
+
+ Concatenate("1234q", i603, Local0)
+ m600(arg0, 15, Local0, bs13)
+
+ Concatenate(aus0, i603, Local0)
+ m600(arg0, 16, Local0, bs12)
+
+ Concatenate(aus1, i603, Local0)
+ m600(arg0, 17, Local0, bs13)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aus0)), i603, Local0)
+ m600(arg0, 18, Local0, bs12)
+
+ Concatenate(Derefof(Refof(aus1)), i603, Local0)
+ m600(arg0, 19, Local0, bs13)
+ }
+
+ Concatenate(Derefof(Index(paus, 0)), i603, Local0)
+ m600(arg0, 20, Local0, bs12)
+
+ Concatenate(Derefof(Index(paus, 1)), i603, Local0)
+ m600(arg0, 21, Local0, bs13)
+
+ // Method returns String
+
+ Concatenate(m601(2, 0), i603, Local0)
+ m600(arg0, 22, Local0, bs12)
+
+ Concatenate(m601(2, 1), i603, Local0)
+ m600(arg0, 23, Local0, bs13)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Concatenate(Derefof(m602(2, 0, 1)), i603, Local0)
+ m600(arg0, 24, Local0, bs12)
+
+ Concatenate(Derefof(m602(2, 1, 1)), i603, Local0)
+ m600(arg0, 25, Local0, bs13)
+ }
+
+ Concatenate("", i604, Local0)
+ m600(arg0, 26, Local0, bs14)
+
+ Concatenate("1234q", i604, Local0)
+ m600(arg0, 27, Local0, bs15)
+ }
+
+// Method(m642, 1)
+
+// Method(m322, 1)
+
+// Method(m643, 1)
+
+// Method(m323, 1)
+
+ // Integer to Buffer implicit conversion Cases.
+
+ // Integer to Buffer conversion of the Integer second operand of
+ // Logical operators when the first operand is evaluated as Buffer
+ // (LEqual, LGreater, LGreaterEqual, LLess, LLessEqual, LNotEqual)
+
+ Method(m644, 1)
+ {
+ Name(i604, 0xfe7cb391d650a284)
+
+ // LEqual
+
+ Store(LEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, i604), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFF}, i604), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(aub4, i604), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(LEqual(aub3, i604), Local0)
+ m600(arg0, 3, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aub4)), i604), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(aub3)), i604), Local0)
+ m600(arg0, 5, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paub, 4)), i604), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paub, 3)), i604), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ // Method returns Buffer
+
+ Store(LEqual(m601(3, 4), i604), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(LEqual(m601(3, 3), i604), Local0)
+ m600(arg0, 9, Local0, Zero)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(3, 4, 1)), i604), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(3, 3, 1)), i604), Local0)
+ m600(arg0, 11, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, i604), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LGreater(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFF}, i604), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LGreater(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFD}, i604), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LGreater(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0x01}, i604), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LGreater(aub4, i604), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LGreater(aub5, i604), Local0)
+ m600(arg0, 17, Local0, Ones)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aub4)), i604), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(aub5)), i604), Local0)
+ m600(arg0, 19, Local0, Ones)
+ }
+
+ Store(LGreater(Derefof(Index(paub, 4)), i604), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paub, 5)), i604), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Buffer
+
+ Store(LGreater(m601(3, 4), i604), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LGreater(m601(3, 5), i604), Local0)
+ m600(arg0, 23, Local0, Ones)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(3, 4, 1)), i604), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(3, 5, 1)), i604), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, i604), Local0)
+ m600(arg0, 26, Local0, Ones)
+
+ Store(LGreaterEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFF}, i604), Local0)
+ m600(arg0, 27, Local0, Ones)
+
+ Store(LGreaterEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFD}, i604), Local0)
+ m600(arg0, 28, Local0, Zero)
+
+ Store(LGreaterEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0x01}, i604), Local0)
+ m600(arg0, 29, Local0, Ones)
+
+ Store(LGreaterEqual(aub4, i604), Local0)
+ m600(arg0, 30, Local0, Ones)
+
+ Store(LGreaterEqual(aub5, i604), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aub4)), i604), Local0)
+ m600(arg0, 32, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(aub5)), i604), Local0)
+ m600(arg0, 33, Local0, Ones)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paub, 4)), i604), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paub, 5)), i604), Local0)
+ m600(arg0, 35, Local0, Ones)
+
+ // Method returns Buffer
+
+ Store(LGreaterEqual(m601(3, 4), i604), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(m601(3, 5), i604), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(3, 4, 1)), i604), Local0)
+ m600(arg0, 38, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(3, 5, 1)), i604), Local0)
+ m600(arg0, 39, Local0, Ones)
+ }
+
+ // LLess
+
+ Store(LLess(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, i604), Local0)
+ m600(arg0, 40, Local0, Zero)
+
+ Store(LLess(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFF}, i604), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ Store(LLess(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFD}, i604), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LLess(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0x01}, i604), Local0)
+ m600(arg0, 43, Local0, Zero)
+
+ Store(LLess(aub4, i604), Local0)
+ m600(arg0, 44, Local0, Zero)
+
+ Store(LLess(aub5, i604), Local0)
+ m600(arg0, 45, Local0, Zero)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aub4)), i604), Local0)
+ m600(arg0, 46, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(aub5)), i604), Local0)
+ m600(arg0, 47, Local0, Zero)
+ }
+
+ Store(LLess(Derefof(Index(paub, 4)), i604), Local0)
+ m600(arg0, 48, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paub, 5)), i604), Local0)
+ m600(arg0, 49, Local0, Zero)
+
+ // Method returns Buffer
+
+ Store(LLess(m601(3, 4), i604), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ Store(LLess(m601(3, 5), i604), Local0)
+ m600(arg0, 51, Local0, Zero)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LLess(Derefof(m602(3, 4, 1)), i604), Local0)
+ m600(arg0, 52, Local0, Zero)
+
+ Store(LLess(Derefof(m602(3, 5, 1)), i604), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, i604), Local0)
+ m600(arg0, 54, Local0, Ones)
+
+ Store(LLessEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFF}, i604), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLessEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFD}, i604), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLessEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0x01}, i604), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLessEqual(aub4, i604), Local0)
+ m600(arg0, 58, Local0, Ones)
+
+ Store(LLessEqual(aub5, i604), Local0)
+ m600(arg0, 59, Local0, Zero)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aub4)), i604), Local0)
+ m600(arg0, 60, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(aub5)), i604), Local0)
+ m600(arg0, 61, Local0, Zero)
+ }
+
+ Store(LLessEqual(Derefof(Index(paub, 4)), i604), Local0)
+ m600(arg0, 62, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paub, 5)), i604), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ // Method returns Buffer
+
+ Store(LLessEqual(m601(3, 4), i604), Local0)
+ m600(arg0, 64, Local0, Ones)
+
+ Store(LLessEqual(m601(3, 5), i604), Local0)
+ m600(arg0, 65, Local0, Zero)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(3, 4, 1)), i604), Local0)
+ m600(arg0, 66, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(3, 5, 1)), i604), Local0)
+ m600(arg0, 67, Local0, Zero)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, i604), Local0)
+ m600(arg0, 68, Local0, Zero)
+
+ Store(LNotEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFF}, i604), Local0)
+ m600(arg0, 69, Local0, Ones)
+
+ Store(LNotEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFD}, i604), Local0)
+ m600(arg0, 70, Local0, Ones)
+
+ Store(LNotEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0x01}, i604), Local0)
+ m600(arg0, 71, Local0, Ones)
+
+ Store(LNotEqual(aub4, i604), Local0)
+ m600(arg0, 72, Local0, Zero)
+
+ Store(LNotEqual(aub5, i604), Local0)
+ m600(arg0, 73, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aub4)), i604), Local0)
+ m600(arg0, 74, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(aub5)), i604), Local0)
+ m600(arg0, 75, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paub, 4)), i604), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paub, 5)), i604), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ // Method returns Buffer
+
+ Store(LNotEqual(m601(3, 4), i604), Local0)
+ m600(arg0, 78, Local0, Zero)
+
+ Store(LNotEqual(m601(3, 5), i604), Local0)
+ m600(arg0, 79, Local0, Ones)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(3, 4, 1)), i604), Local0)
+ m600(arg0, 80, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(3, 5, 1)), i604), Local0)
+ m600(arg0, 81, Local0, Ones)
+ }
+ }
+
+ Method(m324, 1)
+ {
+ Name(i603, 0xc179b3fe)
+
+ // LEqual
+
+ Store(LEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC1}, i603), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC0}, i603), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(aub3, i603), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(LEqual(aub2, i603), Local0)
+ m600(arg0, 3, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aub3)), i603), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(aub2)), i603), Local0)
+ m600(arg0, 5, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paub, 3)), i603), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paub, 2)), i603), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ // Method returns Buffer
+
+ Store(LEqual(m601(3, 3), i603), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(LEqual(m601(3, 2), i603), Local0)
+ m600(arg0, 9, Local0, Zero)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(3, 3, 1)), i603), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(3, 2, 1)), i603), Local0)
+ m600(arg0, 11, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater(Buffer() {0xFE, 0xB3, 0x79, 0xC1}, i603), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LGreater(Buffer() {0xFE, 0xB3, 0x79, 0xC2}, i603), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LGreater(Buffer() {0xFE, 0xB3, 0x79, 0xC0}, i603), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LGreater(Buffer() {0xFE, 0xB3, 0x79, 0xC1, 0x01}, i603), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LGreater(aub3, i603), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LGreater(aub2, i603), Local0)
+ m600(arg0, 17, Local0, Ones)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aub3)), i603), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(aub2)), i603), Local0)
+ m600(arg0, 19, Local0, Ones)
+ }
+
+ Store(LGreater(Derefof(Index(paub, 3)), i603), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paub, 2)), i603), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Buffer
+
+ Store(LGreater(m601(3, 3), i603), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LGreater(m601(3, 2), i603), Local0)
+ m600(arg0, 23, Local0, Ones)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(3, 3, 1)), i603), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(3, 2, 1)), i603), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC1}, i603), Local0)
+ m600(arg0, 26, Local0, Ones)
+
+ Store(LGreaterEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC2}, i603), Local0)
+ m600(arg0, 27, Local0, Ones)
+
+ Store(LGreaterEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC0}, i603), Local0)
+ m600(arg0, 28, Local0, Zero)
+
+ Store(LGreaterEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC1, 0x01}, i603), Local0)
+ m600(arg0, 29, Local0, Ones)
+
+ Store(LGreaterEqual(aub3, i603), Local0)
+ m600(arg0, 30, Local0, Ones)
+
+ Store(LGreaterEqual(aub2, i603), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aub3)), i603), Local0)
+ m600(arg0, 32, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(aub2)), i603), Local0)
+ m600(arg0, 33, Local0, Ones)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paub, 3)), i603), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paub, 2)), i603), Local0)
+ m600(arg0, 35, Local0, Ones)
+
+ // Method returns Buffer
+
+ Store(LGreaterEqual(m601(3, 3), i603), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(m601(3, 2), i603), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(3, 3, 1)), i603), Local0)
+ m600(arg0, 38, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(3, 2, 1)), i603), Local0)
+ m600(arg0, 39, Local0, Ones)
+ }
+
+ // LLess
+
+ Store(LLess(Buffer() {0xFE, 0xB3, 0x79, 0xC1}, i603), Local0)
+ m600(arg0, 40, Local0, Zero)
+
+ Store(LLess(Buffer() {0xFE, 0xB3, 0x79, 0xC2}, i603), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ Store(LLess(Buffer() {0xFE, 0xB3, 0x79, 0xC0}, i603), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LLess(Buffer() {0xFE, 0xB3, 0x79, 0xC1, 0x01}, i603), Local0)
+ m600(arg0, 43, Local0, Zero)
+
+ Store(LLess(aub3, i603), Local0)
+ m600(arg0, 44, Local0, Zero)
+
+ Store(LLess(aub2, i603), Local0)
+ m600(arg0, 45, Local0, Zero)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aub3)), i603), Local0)
+ m600(arg0, 46, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(aub2)), i603), Local0)
+ m600(arg0, 47, Local0, Zero)
+ }
+
+ Store(LLess(Derefof(Index(paub, 3)), i603), Local0)
+ m600(arg0, 48, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paub, 2)), i603), Local0)
+ m600(arg0, 49, Local0, Zero)
+
+ // Method returns Buffer
+
+ Store(LLess(m601(3, 3), i603), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ Store(LLess(m601(3, 2), i603), Local0)
+ m600(arg0, 51, Local0, Zero)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LLess(Derefof(m602(3, 3, 1)), i603), Local0)
+ m600(arg0, 52, Local0, Zero)
+
+ Store(LLess(Derefof(m602(3, 2, 1)), i603), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC1}, i603), Local0)
+ m600(arg0, 54, Local0, Ones)
+
+ Store(LLessEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC2}, i603), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLessEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC0}, i603), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLessEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC1, 0x01}, i603), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLessEqual(aub3, i603), Local0)
+ m600(arg0, 58, Local0, Ones)
+
+ Store(LLessEqual(aub2, i603), Local0)
+ m600(arg0, 59, Local0, Zero)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aub3)), i603), Local0)
+ m600(arg0, 60, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(aub2)), i603), Local0)
+ m600(arg0, 61, Local0, Zero)
+ }
+
+ Store(LLessEqual(Derefof(Index(paub, 3)), i603), Local0)
+ m600(arg0, 62, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paub, 2)), i603), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ // Method returns Buffer
+
+ Store(LLessEqual(m601(3, 3), i603), Local0)
+ m600(arg0, 64, Local0, Ones)
+
+ Store(LLessEqual(m601(3, 2), i603), Local0)
+ m600(arg0, 65, Local0, Zero)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(3, 3, 1)), i603), Local0)
+ m600(arg0, 66, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(3, 2, 1)), i603), Local0)
+ m600(arg0, 67, Local0, Zero)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC1}, i603), Local0)
+ m600(arg0, 68, Local0, Zero)
+
+ Store(LNotEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC2}, i603), Local0)
+ m600(arg0, 69, Local0, Ones)
+
+ Store(LNotEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC0}, i603), Local0)
+ m600(arg0, 70, Local0, Ones)
+
+ Store(LNotEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC1, 0x01}, i603), Local0)
+ m600(arg0, 71, Local0, Ones)
+
+ Store(LNotEqual(aub3, i603), Local0)
+ m600(arg0, 72, Local0, Zero)
+
+ Store(LNotEqual(aub2, i603), Local0)
+ m600(arg0, 73, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aub3)), i603), Local0)
+ m600(arg0, 74, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(aub2)), i603), Local0)
+ m600(arg0, 75, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paub, 3)), i603), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paub, 2)), i603), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ // Method returns Buffer
+
+ Store(LNotEqual(m601(3, 3), i603), Local0)
+ m600(arg0, 78, Local0, Zero)
+
+ Store(LNotEqual(m601(3, 2), i603), Local0)
+ m600(arg0, 79, Local0, Ones)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(3, 3, 1)), i603), Local0)
+ m600(arg0, 80, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(3, 2, 1)), i603), Local0)
+ m600(arg0, 81, Local0, Ones)
+ }
+ }
+
+
+ // Integer to Buffer conversion of the both Integer operands of
+ // Concatenate operator
+
+ Method(m645, 1)
+ {
+ Name(i604, 0xfe7cb391d650a284)
+
+ Store(Concatenate(i604, i604), Local0)
+ m600(arg0, 0, Local0, bb20)
+
+ Store(Concatenate(0x321, i604), Local0)
+ m600(arg0, 1, Local0, bb21)
+
+ Store(Concatenate(i604, 0x321), Local0)
+ m600(arg0, 1, Local0, bb22)
+
+ Concatenate(i604, i604, Local0)
+ m600(arg0, 0, Local0, bb20)
+
+ Concatenate(0x321, i604, Local0)
+ m600(arg0, 1, Local0, bb21)
+
+ Concatenate(i604, 0x321, Local0)
+ m600(arg0, 1, Local0, bb22)
+ }
+
+ Method(m325, 1)
+ {
+ Name(i603, 0xc179b3fe)
+
+ Store(Concatenate(i603, i603), Local0)
+ m600(arg0, 0, Local0, bb23)
+
+ Store(Concatenate(0x321, i603), Local0)
+ m600(arg0, 1, Local0, bb24)
+
+ Store(Concatenate(i603, 0x321), Local0)
+ m600(arg0, 1, Local0, bb25)
+
+ Concatenate(i603, i603, Local0)
+ m600(arg0, 0, Local0, bb23)
+
+ Concatenate(0x321, i603, Local0)
+ m600(arg0, 1, Local0, bb24)
+
+ Concatenate(i603, 0x321, Local0)
+ m600(arg0, 1, Local0, bb25)
+ }
+
+ // Integer to Buffer conversion of the Integer second operand of
+ // Concatenate operator when the first operand is evaluated as Buffer
+
+ Method(m646, 1)
+ {
+ Name(i604, 0xfe7cb391d650a284)
+
+ Store(Concatenate(Buffer(){0x5a}, i604), Local0)
+ m600(arg0, 0, Local0, bb10)
+
+ Store(Concatenate(Buffer(){0x5a, 0x00}, i604), Local0)
+ m600(arg0, 1, Local0, bb11)
+
+ Store(Concatenate(aub0, i604), Local0)
+ m600(arg0, 2, Local0, bb10)
+
+ Store(Concatenate(aub1, i604), Local0)
+ m600(arg0, 3, Local0, bb11)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aub0)), i604), Local0)
+ m600(arg0, 4, Local0, bb10)
+
+ Store(Concatenate(Derefof(Refof(aub1)), i604), Local0)
+ m600(arg0, 5, Local0, bb11)
+ }
+
+ Store(Concatenate(Derefof(Index(paub, 0)), i604), Local0)
+ m600(arg0, 6, Local0, bb10)
+
+ Store(Concatenate(Derefof(Index(paub, 1)), i604), Local0)
+ m600(arg0, 7, Local0, bb11)
+
+ // Method returns Buffer
+
+ Store(Concatenate(m601(3, 0), i604), Local0)
+ m600(arg0, 8, Local0, bb10)
+
+ Store(Concatenate(m601(3, 1), i604), Local0)
+ m600(arg0, 9, Local0, bb11)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(3, 0, 1)), i604), Local0)
+ m600(arg0, 10, Local0, bb10)
+
+ Store(Concatenate(Derefof(m602(3, 1, 1)), i604), Local0)
+ m600(arg0, 11, Local0, bb11)
+ }
+
+ Concatenate(Buffer(){0x5a}, i604, Local0)
+ m600(arg0, 12, Local0, bb10)
+
+ Concatenate(Buffer(){0x5a, 0x00}, i604, Local0)
+ m600(arg0, 13, Local0, bb11)
+
+ Concatenate(aub0, i604, Local0)
+ m600(arg0, 14, Local0, bb10)
+
+ Concatenate(aub1, i604, Local0)
+ m600(arg0, 15, Local0, bb11)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aub0)), i604, Local0)
+ m600(arg0, 16, Local0, bb10)
+
+ Concatenate(Derefof(Refof(aub1)), i604, Local0)
+ m600(arg0, 17, Local0, bb11)
+ }
+
+ Concatenate(Derefof(Index(paub, 0)), i604, Local0)
+ m600(arg0, 18, Local0, bb10)
+
+ Concatenate(Derefof(Index(paub, 1)), i604, Local0)
+ m600(arg0, 19, Local0, bb11)
+
+ // Method returns Buffer
+
+ Concatenate(m601(3, 0), i604, Local0)
+ m600(arg0, 20, Local0, bb10)
+
+ Concatenate(m601(3, 1), i604, Local0)
+ m600(arg0, 21, Local0, bb11)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Concatenate(Derefof(m602(3, 0, 1)), i604, Local0)
+ m600(arg0, 22, Local0, bb10)
+
+ Concatenate(Derefof(m602(3, 1, 1)), i604, Local0)
+ m600(arg0, 23, Local0, bb11)
+ }
+ }
+
+ Method(m326, 1)
+ {
+ Name(i603, 0xc179b3fe)
+ Name(i604, 0xfe7cb391d650a284)
+
+ Store(Concatenate(Buffer(){0x5a}, i603), Local0)
+ m600(arg0, 0, Local0, bb12)
+
+ Store(Concatenate(Buffer(){0x5a, 0x00}, i603), Local0)
+ m600(arg0, 1, Local0, bb13)
+
+ Store(Concatenate(aub0, i603), Local0)
+ m600(arg0, 2, Local0, bb12)
+
+ Store(Concatenate(aub1, i603), Local0)
+ m600(arg0, 3, Local0, bb13)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aub0)), i603), Local0)
+ m600(arg0, 4, Local0, bb12)
+
+ Store(Concatenate(Derefof(Refof(aub1)), i603), Local0)
+ m600(arg0, 5, Local0, bb13)
+ }
+
+ Store(Concatenate(Derefof(Index(paub, 0)), i603), Local0)
+ m600(arg0, 6, Local0, bb12)
+
+ Store(Concatenate(Derefof(Index(paub, 1)), i603), Local0)
+ m600(arg0, 7, Local0, bb13)
+
+ // Method returns Buffer
+
+ Store(Concatenate(m601(3, 0), i603), Local0)
+ m600(arg0, 8, Local0, bb12)
+
+ Store(Concatenate(m601(3, 1), i603), Local0)
+ m600(arg0, 9, Local0, bb13)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(3, 0, 1)), i603), Local0)
+ m600(arg0, 10, Local0, bb12)
+
+ Store(Concatenate(Derefof(m602(3, 1, 1)), i603), Local0)
+ m600(arg0, 11, Local0, bb13)
+ }
+
+ Store(Concatenate(Buffer(){0x5a}, i604), Local0)
+ m600(arg0, 12, Local0, bb14)
+
+ Store(Concatenate(Buffer(){0x5a, 0x00}, i604), Local0)
+ m600(arg0, 13, Local0, bb15)
+
+ Concatenate(Buffer(){0x5a}, i603, Local0)
+ m600(arg0, 14, Local0, bb12)
+
+ Concatenate(Buffer(){0x5a, 0x00}, i603, Local0)
+ m600(arg0, 15, Local0, bb13)
+
+ Concatenate(aub0, i603, Local0)
+ m600(arg0, 16, Local0, bb12)
+
+ Concatenate(aub1, i603, Local0)
+ m600(arg0, 17, Local0, bb13)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aub0)), i603, Local0)
+ m600(arg0, 18, Local0, bb12)
+
+ Concatenate(Derefof(Refof(aub1)), i603, Local0)
+ m600(arg0, 19, Local0, bb13)
+ }
+
+ Concatenate(Derefof(Index(paub, 0)), i603, Local0)
+ m600(arg0, 20, Local0, bb12)
+
+ Concatenate(Derefof(Index(paub, 1)), i603, Local0)
+ m600(arg0, 21, Local0, bb13)
+
+ // Method returns Buffer
+
+ Concatenate(m601(3, 0), i603, Local0)
+ m600(arg0, 22, Local0, bb12)
+
+ Concatenate(m601(3, 1), i603, Local0)
+ m600(arg0, 23, Local0, bb13)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Concatenate(Derefof(m602(3, 0, 1)), i603, Local0)
+ m600(arg0, 24, Local0, bb12)
+
+ Concatenate(Derefof(m602(3, 1, 1)), i603, Local0)
+ m600(arg0, 25, Local0, bb13)
+ }
+
+ Concatenate(Buffer(){0x5a}, i604, Local0)
+ m600(arg0, 26, Local0, bb14)
+
+ Concatenate(Buffer(){0x5a, 0x00}, i604, Local0)
+ m600(arg0, 27, Local0, bb15)
+ }
+
+
+ // Integer to Buffer conversion of the Integer Source operand of
+ // ToString operator
+
+ Method(m647, 1)
+ {
+ Name(i60d, 0x6e7c534136502214)
+ Name(i60e, 0x6e00534136002214)
+
+ Store(ToString(i60d, Ones), Local0)
+ m600(arg0, 0, Local0, bs18)
+
+ Store(ToString(i60d, 3), Local0)
+ m600(arg0, 1, Local0, bs19)
+
+ Store(ToString(i60e, Ones), Local0)
+ m600(arg0, 2, Local0, bs1a)
+
+ Store(ToString(i60d, aui0), Local0)
+ m600(arg0, 3, Local0, bs18)
+
+ Store(ToString(i60d, aui7), Local0)
+ m600(arg0, 4, Local0, bs19)
+
+ Store(ToString(i60e, aui0), Local0)
+ m600(arg0, 5, Local0, bs1a)
+
+ if (y078) {
+ Store(ToString(i60d, Derefof(Refof(aui0))), Local0)
+ m600(arg0, 6, Local0, bs18)
+
+ Store(ToString(i60d, Derefof(Refof(aui7))), Local0)
+ m600(arg0, 7, Local0, bs19)
+
+ Store(ToString(i60e, Derefof(Refof(aui0))), Local0)
+ m600(arg0, 8, Local0, bs1a)
+ }
+
+ Store(ToString(i60d, Derefof(Index(paui, 0))), Local0)
+ m600(arg0, 9, Local0, bs18)
+
+ Store(ToString(i60d, Derefof(Index(paui, 7))), Local0)
+ m600(arg0, 10, Local0, bs19)
+
+ Store(ToString(i60e, Derefof(Index(paui, 0))), Local0)
+ m600(arg0, 11, Local0, bs1a)
+
+ // Method returns Length parameter
+
+ Store(ToString(i60d, m601(1, 0)), Local0)
+ m600(arg0, 12, Local0, bs18)
+
+ Store(ToString(i60d, m601(1, 7)), Local0)
+ m600(arg0, 13, Local0, bs19)
+
+ Store(ToString(i60e, m601(1, 0)), Local0)
+ m600(arg0, 14, Local0, bs1a)
+
+ // Method returns Reference to Length parameter
+
+ if (y500) {
+ Store(ToString(i60d, Derefof(m601(1, 0))), Local0)
+ m600(arg0, 15, Local0, bs18)
+
+ Store(ToString(i60d, Derefof(m601(1, 7))), Local0)
+ m600(arg0, 16, Local0, bs19)
+
+ Store(ToString(i60e, Derefof(m601(1, 0))), Local0)
+ m600(arg0, 17, Local0, bs1a)
+ }
+
+ ToString(i60d, Ones, Local0)
+ m600(arg0, 18, Local0, bs18)
+
+ ToString(i60d, 3, Local0)
+ m600(arg0, 19, Local0, bs19)
+
+ ToString(i60e, Ones, Local0)
+ m600(arg0, 20, Local0, bs1a)
+
+ ToString(i60d, aui0, Local0)
+ m600(arg0, 21, Local0, bs18)
+
+ ToString(i60d, aui7, Local0)
+ m600(arg0, 22, Local0, bs19)
+
+ ToString(i60e, aui0, Local0)
+ m600(arg0, 23, Local0, bs1a)
+
+ if (y078) {
+ ToString(i60d, Derefof(Refof(aui0)), Local0)
+ m600(arg0, 24, Local0, bs18)
+
+ ToString(i60d, Derefof(Refof(aui7)), Local0)
+ m600(arg0, 25, Local0, bs19)
+
+ ToString(i60e, Derefof(Refof(aui0)), Local0)
+ m600(arg0, 26, Local0, bs1a)
+ }
+
+ ToString(i60d, Derefof(Index(paui, 0)), Local0)
+ m600(arg0, 27, Local0, bs18)
+
+ ToString(i60d, Derefof(Index(paui, 7)), Local0)
+ m600(arg0, 28, Local0, bs19)
+
+ ToString(i60e, Derefof(Index(paui, 0)), Local0)
+ m600(arg0, 29, Local0, bs1a)
+
+ // Method returns Length parameter
+
+ ToString(i60d, m601(1, 0), Local0)
+ m600(arg0, 30, Local0, bs18)
+
+ ToString(i60d, m601(1, 7), Local0)
+ m600(arg0, 31, Local0, bs19)
+
+ ToString(i60e, m601(1, 0), Local0)
+ m600(arg0, 32, Local0, bs1a)
+
+ // Method returns Reference to Length parameter
+
+ if (y500) {
+ ToString(i60d, Derefof(m601(1, 0)), Local0)
+ m600(arg0, 33, Local0, bs18)
+
+ ToString(i60d, Derefof(m601(1, 7)), Local0)
+ m600(arg0, 34, Local0, bs19)
+
+ ToString(i60e, Derefof(m601(1, 0)), Local0)
+ m600(arg0, 35, Local0, bs1a)
+ }
+ }
+
+ Method(m327, 1)
+ {
+ Name(i60c, 0x6179534e)
+ Name(i60f, 0x6e7c534136002214)
+
+ Store(ToString(i60c, Ones), Local0)
+ m600(arg0, 0, Local0, bs16)
+
+ Store(ToString(i60c, 3), Local0)
+ m600(arg0, 1, Local0, bs17)
+
+ Store(ToString(i60f, Ones), Local0)
+ m600(arg0, 2, Local0, bs1a)
+
+ Store(ToString(i60c, aui0), Local0)
+ m600(arg0, 3, Local0, bs16)
+
+ Store(ToString(i60c, aui7), Local0)
+ m600(arg0, 4, Local0, bs17)
+
+ Store(ToString(i60f, aui0), Local0)
+ m600(arg0, 5, Local0, bs1a)
+
+ if (y078) {
+ Store(ToString(i60c, Derefof(Refof(aui0))), Local0)
+ m600(arg0, 6, Local0, bs16)
+
+ Store(ToString(i60c, Derefof(Refof(aui7))), Local0)
+ m600(arg0, 7, Local0, bs17)
+
+ Store(ToString(i60f, Derefof(Refof(aui0))), Local0)
+ m600(arg0, 8, Local0, bs1a)
+ }
+
+ Store(ToString(i60c, Derefof(Index(paui, 0))), Local0)
+ m600(arg0, 9, Local0, bs16)
+
+ Store(ToString(i60c, Derefof(Index(paui, 7))), Local0)
+ m600(arg0, 10, Local0, bs17)
+
+ Store(ToString(i60f, Derefof(Index(paui, 0))), Local0)
+ m600(arg0, 11, Local0, bs1a)
+
+ // Method returns Length parameter
+
+ Store(ToString(i60c, m601(1, 0)), Local0)
+ m600(arg0, 12, Local0, bs16)
+
+ Store(ToString(i60c, m601(1, 7)), Local0)
+ m600(arg0, 13, Local0, bs17)
+
+ Store(ToString(i60f, m601(1, 0)), Local0)
+ m600(arg0, 14, Local0, bs1a)
+
+ // Method returns Reference to Length parameter
+
+ if (y500) {
+ Store(ToString(i60c, Derefof(m601(1, 0))), Local0)
+ m600(arg0, 15, Local0, bs16)
+
+ Store(ToString(i60c, Derefof(m601(1, 7))), Local0)
+ m600(arg0, 16, Local0, bs17)
+
+ Store(ToString(i60f, Derefof(m601(1, 0))), Local0)
+ m600(arg0, 17, Local0, bs1a)
+ }
+
+ ToString(i60c, Ones, Local0)
+ m600(arg0, 18, Local0, bs16)
+
+ ToString(i60c, 3, Local0)
+ m600(arg0, 19, Local0, bs17)
+
+ ToString(i60f, Ones, Local0)
+ m600(arg0, 20, Local0, bs1a)
+
+ ToString(i60c, aui0, Local0)
+ m600(arg0, 21, Local0, bs16)
+
+ ToString(i60c, aui7, Local0)
+ m600(arg0, 22, Local0, bs17)
+
+ ToString(i60f, aui0, Local0)
+ m600(arg0, 23, Local0, bs1a)
+
+ if (y078) {
+ ToString(i60c, Derefof(Refof(aui0)), Local0)
+ m600(arg0, 24, Local0, bs16)
+
+ ToString(i60c, Derefof(Refof(aui7)), Local0)
+ m600(arg0, 25, Local0, bs17)
+
+ ToString(i60f, Derefof(Refof(aui0)), Local0)
+ m600(arg0, 26, Local0, bs1a)
+ }
+
+ ToString(i60c, Derefof(Index(paui, 0)), Local0)
+ m600(arg0, 27, Local0, bs16)
+
+ ToString(i60c, Derefof(Index(paui, 7)), Local0)
+ m600(arg0, 28, Local0, bs17)
+
+ ToString(i60f, Derefof(Index(paui, 0)), Local0)
+ m600(arg0, 29, Local0, bs1a)
+
+ // Method returns Length parameter
+
+ ToString(i60c, m601(1, 0), Local0)
+ m600(arg0, 30, Local0, bs16)
+
+ ToString(i60c, m601(1, 7), Local0)
+ m600(arg0, 31, Local0, bs17)
+
+ ToString(i60f, m601(1, 0), Local0)
+ m600(arg0, 32, Local0, bs1a)
+
+ // Method returns Reference to Length parameter
+
+ if (y500) {
+ ToString(i60c, Derefof(m601(1, 0)), Local0)
+ m600(arg0, 33, Local0, bs16)
+
+ ToString(i60c, Derefof(m601(1, 7)), Local0)
+ m600(arg0, 34, Local0, bs17)
+
+ ToString(i60f, Derefof(m601(1, 0)), Local0)
+ m600(arg0, 35, Local0, bs1a)
+ }
+ }
+
+ // Integer to Buffer conversion of the Integer Source operand of
+ // Mid operator
+
+ Method(m648, 1)
+ {
+ Name(i604, 0xfe7cb391d650a284)
+ Name(i60f, 0x6e7c534136002214)
+
+ Store(Mid(i604, 0, 9), Local0)
+ m600(arg0, 0, Local0, bb1d)
+
+ Store(Mid(i60f, 1, 8), Local0)
+ m600(arg0, 1, Local0, bb30)
+
+ Store(Mid(i604, aui5, auib), Local0)
+ m600(arg0, 2, Local0, bb1d)
+
+ Store(Mid(i60f, aui6, auia), Local0)
+ m600(arg0, 3, Local0, bb30)
+
+ if (y078) {
+ Store(Mid(i604, Derefof(Refof(aui5)), Derefof(Refof(auib))), Local0)
+ m600(arg0, 4, Local0, bb1d)
+
+ Store(Mid(i60f, Derefof(Refof(aui6)), Derefof(Refof(auia))), Local0)
+ m600(arg0, 5, Local0, bb30)
+ }
+
+ Store(Mid(i604, Derefof(Index(paui, 5)), Derefof(Index(paui, 11))), Local0)
+ m600(arg0, 6, Local0, bb1d)
+
+ Store(Mid(i60f, Derefof(Index(paui, 6)), Derefof(Index(paui, 10))), Local0)
+ m600(arg0, 7, Local0, bb30)
+
+ // Method returns Index and Length parameters
+
+ Store(Mid(i604, m601(1, 5), m601(1, 11)), Local0)
+ m600(arg0, 8, Local0, bb1d)
+
+ Store(Mid(i60f, m601(1, 6), m601(1, 10)), Local0)
+ m600(arg0, 9, Local0, bb30)
+
+ // Method returns Reference to Index and Length parameters
+
+ if (y500) {
+ Store(Mid(i604, Derefof(m601(1, 5)), Derefof(m601(1, 11))), Local0)
+ m600(arg0, 10, Local0, bb1d)
+
+ Store(Mid(i60f, Derefof(m601(1, 6)), Derefof(m601(1, 10))), Local0)
+ m600(arg0, 11, Local0, bb30)
+ }
+
+ Mid(i604, 0, 9, Local0)
+ m600(arg0, 12, Local0, bb1d)
+
+ Mid(i60f, 1, 8, Local0)
+ m600(arg0, 13, Local0, bb30)
+
+ Mid(i604, aui5, auib, Local0)
+ m600(arg0, 14, Local0, bb1d)
+
+ Mid(i60f, aui6, auia, Local0)
+ m600(arg0, 15, Local0, bb30)
+
+ if (y078) {
+ Mid(i604, Derefof(Refof(aui5)), Derefof(Refof(auib)), Local0)
+ m600(arg0, 16, Local0, bb1d)
+
+ Mid(i60f, Derefof(Refof(aui6)), Derefof(Refof(auia)), Local0)
+ m600(arg0, 17, Local0, bb30)
+ }
+
+ Mid(i604, Derefof(Index(paui, 5)), Derefof(Index(paui, 11)), Local0)
+ m600(arg0, 18, Local0, bb1d)
+
+ Mid(i60f, Derefof(Index(paui, 6)), Derefof(Index(paui, 10)), Local0)
+ m600(arg0, 19, Local0, bb30)
+
+ // Method returns Index and Length parameters
+
+ Mid(i604, m601(1, 5), m601(1, 11), Local0)
+ m600(arg0, 20, Local0, bb1d)
+
+ Mid(i60f, m601(1, 6), m601(1, 10), Local0)
+ m600(arg0, 21, Local0, bb30)
+
+ // Method returns Reference to Index and Length parameters
+
+ if (y500) {
+ Mid(i604, Derefof(m601(1, 5)), Derefof(m601(1, 11)), Local0)
+ m600(arg0, 22, Local0, bb1d)
+
+ Mid(i60f, Derefof(m601(1, 6)), Derefof(m601(1, 10)), Local0)
+ m600(arg0, 23, Local0, bb30)
+ }
+ }
+
+ Method(m328, 1)
+ {
+ Name(i603, 0xc179b3fe)
+ Name(i60f, 0x6e7c534136002214)
+
+ Store(Mid(i603, 0, 5), Local0)
+ m600(arg0, 0, Local0, bb1c)
+
+ Store(Mid(i60f, 1, 4), Local0)
+ m600(arg0, 1, Local0, bb31)
+
+ Store(Mid(i603, aui5, aui9), Local0)
+ m600(arg0, 2, Local0, bb1c)
+
+ Store(Mid(i60f, aui6, aui8), Local0)
+ m600(arg0, 3, Local0, bb31)
+
+ if (y078) {
+ Store(Mid(i603, Derefof(Refof(aui5)), Derefof(Refof(aui9))), Local0)
+ m600(arg0, 4, Local0, bb1c)
+
+ Store(Mid(i60f, Derefof(Refof(aui6)), Derefof(Refof(aui8))), Local0)
+ m600(arg0, 5, Local0, bb31)
+ }
+
+ Store(Mid(i603, Derefof(Index(paui, 5)), Derefof(Index(paui, 9))), Local0)
+ m600(arg0, 6, Local0, bb1c)
+
+ Store(Mid(i60f, Derefof(Index(paui, 6)), Derefof(Index(paui, 8))), Local0)
+ m600(arg0, 7, Local0, bb31)
+
+ // Method returns Index and Length parameters
+
+ Store(Mid(i603, m601(1, 5), m601(1, 9)), Local0)
+ m600(arg0, 8, Local0, bb1c)
+
+ Store(Mid(i60f, m601(1, 6), m601(1, 8)), Local0)
+ m600(arg0, 9, Local0, bb31)
+
+ // Method returns Reference to Index and Length parameters
+
+ if (y500) {
+ Store(Mid(i603, Derefof(m601(1, 5)), Derefof(m601(1, 9))), Local0)
+ m600(arg0, 10, Local0, bb1c)
+
+ Store(Mid(i60f, Derefof(m601(1, 6)), Derefof(m601(1, 8))), Local0)
+ m600(arg0, 11, Local0, bb31)
+ }
+
+ Mid(i603, 0, 5, Local0)
+ m600(arg0, 12, Local0, bb1c)
+
+ Mid(i60f, 1, 4, Local0)
+ m600(arg0, 13, Local0, bb31)
+
+ Mid(i603, aui5, aui9, Local0)
+ m600(arg0, 14, Local0, bb1c)
+
+ Mid(i60f, aui6, aui8, Local0)
+ m600(arg0, 15, Local0, bb31)
+
+ if (y078) {
+ Mid(i603, Derefof(Refof(aui5)), Derefof(Refof(aui9)), Local0)
+ m600(arg0, 16, Local0, bb1c)
+
+ Mid(i60f, Derefof(Refof(aui6)), Derefof(Refof(aui8)), Local0)
+ m600(arg0, 17, Local0, bb31)
+ }
+
+ Mid(i603, Derefof(Index(paui, 5)), Derefof(Index(paui, 9)), Local0)
+ m600(arg0, 18, Local0, bb1c)
+
+ Mid(i60f, Derefof(Index(paui, 6)), Derefof(Index(paui, 8)), Local0)
+ m600(arg0, 19, Local0, bb31)
+
+ // Method returns Index and Length parameters
+
+ Mid(i603, m601(1, 5), m601(1, 9), Local0)
+ m600(arg0, 20, Local0, bb1c)
+
+ Mid(i60f, m601(1, 6), m601(1, 8), Local0)
+ m600(arg0, 21, Local0, bb31)
+
+ // Method returns Reference to Index and Length parameters
+
+ if (y500) {
+ Mid(i603, Derefof(m601(1, 5)), Derefof(m601(1, 9)), Local0)
+ m600(arg0, 22, Local0, bb1c)
+
+ Mid(i60f, Derefof(m601(1, 6)), Derefof(m601(1, 8)), Local0)
+ m600(arg0, 23, Local0, bb31)
+ }
+ }
+
+// Method(m649, 1)
+
+// Method(m329, 1)
+
+// Method(m64a, 1)
+
+// Method(m32a, 1)
+
+ // String to Integer implicit conversion Cases.
+
+ // String to Integer conversion of the String sole operand
+ // of the 1-parameter Integer arithmetic operators
+ // (Decrement, Increment, FindSetLeftBit, FindSetRightBit, Not)
+
+ Method(m64b, 1)
+ {
+ Name(s601, "0321")
+ Name(s605, "FE7CB391D650A284")
+
+ // Decrement
+ if (y501) {
+ Store(Decrement(s601), Local0)
+ m600(arg0, 0, Local0, bi12)
+
+ Store(Decrement(s605), Local0)
+ m600(arg0, 1, Local0, bi16)
+ }
+
+ // Increment
+ if (y501) {
+ Store(Increment(s601), Local0)
+ m600(arg0, 2, Local0, bi13)
+
+ Store(Increment(s605), Local0)
+ m600(arg0, 3, Local0, bi17)
+ }
+
+ // FindSetLeftBit
+ Store(FindSetLeftBit(s601), Local0)
+ m600(arg0, 4, Local0, 10)
+
+ Store(FindSetLeftBit(s605), Local0)
+ m600(arg0, 5, Local0, 64)
+
+ // FindSetRightBit
+
+ Store(FindSetRightBit(s601), Local0)
+ m600(arg0, 6, Local0, 1)
+
+ Store(FindSetRightBit(s605), Local0)
+ m600(arg0, 7, Local0, 3)
+
+ // Not
+
+ Store(Not(s601), Local0)
+ m600(arg0, 8, Local0, 0xfffffffffffffcde)
+
+ Store(Not(s605), Local0)
+ m600(arg0, 9, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Method(m32b, 1)
+ {
+ Name(s601, "0321")
+ Name(s604, "C179B3FE")
+
+ // Decrement
+ if (y501) {
+ Store(Decrement(s601), Local0)
+ m600(arg0, 0, Local0, bi12)
+
+ Store(Decrement(s604), Local0)
+ m600(arg0, 1, Local0, bi14)
+ }
+
+ // Increment
+ if (y501) {
+ Store(Increment(s601), Local0)
+ m600(arg0, 2, Local0, bi13)
+
+ Store(Increment(s604), Local0)
+ m600(arg0, 3, Local0, bi15)
+ }
+
+ // FindSetLeftBit
+
+ Store(FindSetLeftBit(s601), Local0)
+ m600(arg0, 4, Local0, 10)
+
+ Store(FindSetLeftBit(s604), Local0)
+ m600(arg0, 5, Local0, 32)
+
+ // FindSetRightBit
+
+ Store(FindSetRightBit(s601), Local0)
+ m600(arg0, 6, Local0, 1)
+
+ Store(FindSetRightBit(s604), Local0)
+ m600(arg0, 7, Local0, 2)
+
+ // Not
+
+ Store(Not(s601), Local0)
+ m600(arg0, 8, Local0, 0xfffffcde)
+
+ Store(Not(s604), Local0)
+ m600(arg0, 9, Local0, 0x3e864c01)
+ }
+
+ // String to Integer conversion of the String sole operand
+ // of the LNot Logical Integer operator
+ Method(m000, 1)
+ {
+ Name(s600, "0")
+ Name(s601, "0321")
+ Name(s604, "C179B3FE")
+ Name(s605, "FE7CB391D650A284")
+
+ Store(LNot(s600), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LNot(s601), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ if (F64) {
+ Store(LNot(s605), Local0)
+ m600(arg0, 2, Local0, Zero)
+ } else {
+ Store(LNot(s604), Local0)
+ m600(arg0, 3, Local0, Zero)
+ }
+ }
+
+ // String to Integer conversion of the String sole operand
+ // of the FromBCD and ToBCD conversion operators
+
+ Method(m64c, 1)
+ {
+ Name(s601, "0321")
+ Name(s604, "C179B3FE")
+ Name(s605, "FE7CB391D650A284")
+ Name(s615, "3789012345678901")
+ Name(s616, "D76162EE9EC35")
+
+ // FromBCD
+
+ Store(FromBCD(s601), Local0)
+ m600(arg0, 2, Local0, 0x141)
+
+ Store(FromBCD(s615), Local0)
+ m600(arg0, 3, Local0, 0xd76162ee9ec35)
+
+ FromBCD(s601, Local0)
+ m600(arg0, 2, Local0, 0x141)
+
+ FromBCD(s615, Local0)
+ m600(arg0, 3, Local0, 0xd76162ee9ec35)
+
+ // ToBCD
+
+ Store(ToBCD(s601), Local0)
+ m600(arg0, 4, Local0, 0x801)
+
+/* Error of iASL on constant folding
+ Store(ToBCD(s616), Local0)
+ m600(arg0, 5, Local0, 0x3789012345678901)
+*/
+
+ ToBCD(s601, Local0)
+ m600(arg0, 4, Local0, 0x801)
+
+ ToBCD(s616, Local0)
+ m600(arg0, 5, Local0, 0x3789012345678901)
+ }
+
+ Method(m32c, 1)
+ {
+ Name(s601, "0321")
+ Name(s604, "C179B3FE")
+ Name(s605, "FE7CB391D650A284")
+ Name(s617, "90123456")
+ Name(s618, "55F2CC0")
+
+ // FromBCD
+
+ Store(FromBCD(s601), Local0)
+ m600(arg0, 2, Local0, 0x141)
+
+ Store(FromBCD(s617), Local0)
+ m600(arg0, 3, Local0, 0x55f2cc0)
+
+ FromBCD(s601, Local0)
+ m600(arg0, 2, Local0, 0x141)
+
+ FromBCD(s617, Local0)
+ m600(arg0, 3, Local0, 0x55f2cc0)
+
+ // ToBCD
+
+ Store(ToBCD(s601), Local0)
+ m600(arg0, 4, Local0, 0x801)
+
+ Store(ToBCD(s618), Local0)
+ m600(arg0, 5, Local0, 0x90123456)
+
+ ToBCD(s601, Local0)
+ m600(arg0, 4, Local0, 0x801)
+
+ ToBCD(s618, Local0)
+ m600(arg0, 5, Local0, 0x90123456)
+ }
+
+ // String to Integer conversion of each String operand
+ // of the 2-parameter Integer arithmetic operators
+ // Add, And, Divide, Mod, Multiply, NAnd, NOr, Or,
+ // ShiftLeft, ShiftRight, Subtract, Xor
+
+ // Add, common 32-bit/64-bit test
+ Method(m001, 1)
+ {
+ Name(s601, "0321")
+
+ // Conversion of the first operand
+
+ Store(Add(s601, 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Add(s601, 1), Local0)
+ m600(arg0, 1, Local0, 0x322)
+
+ Store(Add(s601, aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Add(s601, aui6), Local0)
+ m600(arg0, 3, Local0, 0x322)
+
+ if (y078) {
+ Store(Add(s601, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Add(s601, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x322)
+ }
+
+ Store(Add(s601, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Add(s601, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x322)
+
+ // Method returns Integer
+
+ Store(Add(s601, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Add(s601, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x322)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(s601, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Add(s601, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x322)
+ }
+
+ Add(s601, 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Add(s601, 1, Local0)
+ m600(arg0, 13, Local0, 0x322)
+
+ Add(s601, aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Add(s601, aui6, Local0)
+ m600(arg0, 15, Local0, 0x322)
+
+ if (y078) {
+ Add(s601, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Add(s601, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x322)
+ }
+
+ Add(s601, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Add(s601, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x322)
+
+ // Method returns Integer
+
+ Add(s601, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Add(s601, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x322)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(s601, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Add(s601, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x322)
+ }
+
+ // Conversion of the second operand
+
+ Store(Add(0, s601), Local0)
+ m600(arg0, 24, Local0, 0x321)
+
+ Store(Add(1, s601), Local0)
+ m600(arg0, 25, Local0, 0x322)
+
+ Store(Add(aui5, s601), Local0)
+ m600(arg0, 26, Local0, 0x321)
+
+ Store(Add(aui6, s601), Local0)
+ m600(arg0, 27, Local0, 0x322)
+
+ if (y078) {
+ Store(Add(Derefof(Refof(aui5)), s601), Local0)
+ m600(arg0, 28, Local0, 0x321)
+
+ Store(Add(Derefof(Refof(aui6)), s601), Local0)
+ m600(arg0, 29, Local0, 0x322)
+ }
+
+ Store(Add(Derefof(Index(paui, 5)), s601), Local0)
+ m600(arg0, 30, Local0, 0x321)
+
+ Store(Add(Derefof(Index(paui, 6)), s601), Local0)
+ m600(arg0, 31, Local0, 0x322)
+
+ // Method returns Integer
+
+ Store(Add(m601(1, 5), s601), Local0)
+ m600(arg0, 32, Local0, 0x321)
+
+ Store(Add(m601(1, 6), s601), Local0)
+ m600(arg0, 33, Local0, 0x322)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(Derefof(m602(1, 5, 1)), s601), Local0)
+ m600(arg0, 34, Local0, 0x321)
+
+ Store(Add(Derefof(m602(1, 6, 1)), s601), Local0)
+ m600(arg0, 35, Local0, 0x322)
+ }
+
+ Add(0, s601, Local0)
+ m600(arg0, 36, Local0, 0x321)
+
+ Add(1, s601, Local0)
+ m600(arg0, 37, Local0, 0x322)
+
+ Add(aui5, s601, Local0)
+ m600(arg0, 38, Local0, 0x321)
+
+ Add(aui6, s601, Local0)
+ m600(arg0, 39, Local0, 0x322)
+
+ if (y078) {
+ Add(Derefof(Refof(aui5)), s601, Local0)
+ m600(arg0, 40, Local0, 0x321)
+
+ Add(Derefof(Refof(aui6)), s601, Local0)
+ m600(arg0, 41, Local0, 0x322)
+ }
+
+ Add(Derefof(Index(paui, 5)), s601, Local0)
+ m600(arg0, 42, Local0, 0x321)
+
+ Add(Derefof(Index(paui, 6)), s601, Local0)
+ m600(arg0, 43, Local0, 0x322)
+
+ // Method returns Integer
+
+ Add(m601(1, 5), s601, Local0)
+ m600(arg0, 44, Local0, 0x321)
+
+ Add(m601(1, 6), s601, Local0)
+ m600(arg0, 45, Local0, 0x322)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(Derefof(m602(1, 5, 1)), s601, Local0)
+ m600(arg0, 46, Local0, 0x321)
+
+ Add(Derefof(m602(1, 6, 1)), s601, Local0)
+ m600(arg0, 47, Local0, 0x322)
+ }
+ }
+
+ // Add, 64-bit
+ Method(m002, 1)
+ {
+ Name(s601, "0321")
+ Name(s605, "FE7CB391D650A284")
+
+ // Conversion of the first operand
+
+ Store(Add(s605, 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(s605, 1), Local0)
+ m600(arg0, 1, Local0, 0xfe7cb391d650a285)
+
+ Store(Add(s605, aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(s605, aui6), Local0)
+ m600(arg0, 3, Local0, 0xfe7cb391d650a285)
+
+ if (y078) {
+ Store(Add(s605, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(s605, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xfe7cb391d650a285)
+ }
+
+ Store(Add(s605, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(s605, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Integer
+
+ Store(Add(s605, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(s605, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(s605, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(s605, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfe7cb391d650a285)
+ }
+
+ Add(s605, 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Add(s605, 1, Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a285)
+
+ Add(s605, aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Add(s605, aui6, Local0)
+ m600(arg0, 15, Local0, 0xfe7cb391d650a285)
+
+ if (y078) {
+ Add(s605, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Add(s605, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xfe7cb391d650a285)
+ }
+
+ Add(s605, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Add(s605, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Integer
+
+ Add(s605, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Add(s605, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(s605, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Add(s605, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfe7cb391d650a285)
+ }
+
+ // Conversion of the second operand
+
+ Store(Add(0, s605), Local0)
+ m600(arg0, 24, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(1, s605), Local0)
+ m600(arg0, 25, Local0, 0xfe7cb391d650a285)
+
+ Store(Add(aui5, s605), Local0)
+ m600(arg0, 26, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(aui6, s605), Local0)
+ m600(arg0, 27, Local0, 0xfe7cb391d650a285)
+
+ if (y078) {
+ Store(Add(Derefof(Refof(aui5)), s605), Local0)
+ m600(arg0, 28, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(Refof(aui6)), s605), Local0)
+ m600(arg0, 29, Local0, 0xfe7cb391d650a285)
+ }
+
+ Store(Add(Derefof(Index(paui, 5)), s605), Local0)
+ m600(arg0, 30, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(Index(paui, 6)), s605), Local0)
+ m600(arg0, 31, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Integer
+
+ Store(Add(m601(1, 5), s605), Local0)
+ m600(arg0, 32, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(m601(1, 6), s605), Local0)
+ m600(arg0, 33, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(Derefof(m602(1, 5, 1)), s605), Local0)
+ m600(arg0, 34, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(m602(1, 6, 1)), s605), Local0)
+ m600(arg0, 35, Local0, 0xfe7cb391d650a285)
+ }
+
+ Add(0, s605, Local0)
+ m600(arg0, 36, Local0, 0xfe7cb391d650a284)
+
+ Add(1, s605, Local0)
+ m600(arg0, 37, Local0, 0xfe7cb391d650a285)
+
+ Add(aui5, s605, Local0)
+ m600(arg0, 38, Local0, 0xfe7cb391d650a284)
+
+ Add(aui6, s605, Local0)
+ m600(arg0, 39, Local0, 0xfe7cb391d650a285)
+
+ if (y078) {
+ Add(Derefof(Refof(aui5)), s605, Local0)
+ m600(arg0, 40, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(Refof(aui6)), s605, Local0)
+ m600(arg0, 41, Local0, 0xfe7cb391d650a285)
+ }
+
+ Add(Derefof(Index(paui, 5)), s605, Local0)
+ m600(arg0, 42, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(Index(paui, 6)), s605, Local0)
+ m600(arg0, 43, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Integer
+
+ Add(m601(1, 5), s605, Local0)
+ m600(arg0, 44, Local0, 0xfe7cb391d650a284)
+
+ Add(m601(1, 6), s605, Local0)
+ m600(arg0, 45, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(Derefof(m602(1, 5, 1)), s605, Local0)
+ m600(arg0, 46, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(m602(1, 6, 1)), s605, Local0)
+ m600(arg0, 47, Local0, 0xfe7cb391d650a285)
+ }
+
+ // Conversion of the both operands
+
+ Store(Add(s601, s605), Local0)
+ m600(arg0, 48, Local0, 0xfe7cb391d650a5a5)
+
+ Store(Add(s605, s601), Local0)
+ m600(arg0, 49, Local0, 0xfe7cb391d650a5a5)
+
+ Add(s601, s605, Local0)
+ m600(arg0, 50, Local0, 0xfe7cb391d650a5a5)
+
+ Add(s605, s601, Local0)
+ m600(arg0, 51, Local0, 0xfe7cb391d650a5a5)
+ }
+
+ // Add, 32-bit
+ Method(m003, 1)
+ {
+ Name(s601, "0321")
+ Name(s604, "C179B3FE")
+
+ // Conversion of the first operand
+
+ Store(Add(s604, 0), Local0)
+ m600(arg0, 0, Local0, 0xc179b3fe)
+
+ Store(Add(s604, 1), Local0)
+ m600(arg0, 1, Local0, 0xc179b3ff)
+
+ Store(Add(s604, aui5), Local0)
+ m600(arg0, 2, Local0, 0xc179b3fe)
+
+ Store(Add(s604, aui6), Local0)
+ m600(arg0, 3, Local0, 0xc179b3ff)
+
+ if (y078) {
+ Store(Add(s604, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xc179b3fe)
+
+ Store(Add(s604, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xc179b3ff)
+ }
+
+ Store(Add(s604, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xc179b3fe)
+
+ Store(Add(s604, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xc179b3ff)
+
+ // Method returns Integer
+
+ Store(Add(s604, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xc179b3fe)
+
+ Store(Add(s604, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xc179b3ff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(s604, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xc179b3fe)
+
+ Store(Add(s604, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xc179b3ff)
+ }
+
+ Add(s604, 0, Local0)
+ m600(arg0, 12, Local0, 0xc179b3fe)
+
+ Add(s604, 1, Local0)
+ m600(arg0, 13, Local0, 0xc179b3ff)
+
+ Add(s604, aui5, Local0)
+ m600(arg0, 14, Local0, 0xc179b3fe)
+
+ Add(s604, aui6, Local0)
+ m600(arg0, 15, Local0, 0xc179b3ff)
+
+ if (y078) {
+ Add(s604, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xc179b3fe)
+
+ Add(s604, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xc179b3ff)
+ }
+
+ Add(s604, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xc179b3fe)
+
+ Add(s604, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xc179b3ff)
+
+ // Method returns Integer
+
+ Add(s604, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xc179b3fe)
+
+ Add(s604, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xc179b3ff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(s604, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xc179b3fe)
+
+ Add(s604, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xc179b3ff)
+ }
+
+ // Conversion of the second operand
+
+ Store(Add(0, s604), Local0)
+ m600(arg0, 24, Local0, 0xc179b3fe)
+
+ Store(Add(1, s604), Local0)
+ m600(arg0, 25, Local0, 0xc179b3ff)
+
+ Store(Add(aui5, s604), Local0)
+ m600(arg0, 26, Local0, 0xc179b3fe)
+
+ Store(Add(aui6, s604), Local0)
+ m600(arg0, 27, Local0, 0xc179b3ff)
+
+ if (y078) {
+ Store(Add(Derefof(Refof(aui5)), s604), Local0)
+ m600(arg0, 28, Local0, 0xc179b3fe)
+
+ Store(Add(Derefof(Refof(aui6)), s604), Local0)
+ m600(arg0, 29, Local0, 0xc179b3ff)
+ }
+
+ Store(Add(Derefof(Index(paui, 5)), s604), Local0)
+ m600(arg0, 30, Local0, 0xc179b3fe)
+
+ Store(Add(Derefof(Index(paui, 6)), s604), Local0)
+ m600(arg0, 31, Local0, 0xc179b3ff)
+
+ // Method returns Integer
+
+ Store(Add(m601(1, 5), s604), Local0)
+ m600(arg0, 32, Local0, 0xc179b3fe)
+
+ Store(Add(m601(1, 6), s604), Local0)
+ m600(arg0, 33, Local0, 0xc179b3ff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(Derefof(m602(1, 5, 1)), s604), Local0)
+ m600(arg0, 34, Local0, 0xc179b3fe)
+
+ Store(Add(Derefof(m602(1, 6, 1)), s604), Local0)
+ m600(arg0, 35, Local0, 0xc179b3ff)
+ }
+
+ Add(0, s604, Local0)
+ m600(arg0, 36, Local0, 0xc179b3fe)
+
+ Add(1, s604, Local0)
+ m600(arg0, 37, Local0, 0xc179b3ff)
+
+ Add(aui5, s604, Local0)
+ m600(arg0, 38, Local0, 0xc179b3fe)
+
+ Add(aui6, s604, Local0)
+ m600(arg0, 39, Local0, 0xc179b3ff)
+
+ if (y078) {
+ Add(Derefof(Refof(aui5)), s604, Local0)
+ m600(arg0, 40, Local0, 0xc179b3fe)
+
+ Add(Derefof(Refof(aui6)), s604, Local0)
+ m600(arg0, 41, Local0, 0xc179b3ff)
+ }
+
+ Add(Derefof(Index(paui, 5)), s604, Local0)
+ m600(arg0, 42, Local0, 0xc179b3fe)
+
+ Add(Derefof(Index(paui, 6)), s604, Local0)
+ m600(arg0, 43, Local0, 0xc179b3ff)
+
+ // Method returns Integer
+
+ Add(m601(1, 5), s604, Local0)
+ m600(arg0, 44, Local0, 0xc179b3fe)
+
+ Add(m601(1, 6), s604, Local0)
+ m600(arg0, 45, Local0, 0xc179b3ff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(Derefof(m602(1, 5, 1)), s604, Local0)
+ m600(arg0, 46, Local0, 0xc179b3fe)
+
+ Add(Derefof(m602(1, 6, 1)), s604, Local0)
+ m600(arg0, 47, Local0, 0xc179b3ff)
+ }
+
+ // Conversion of the both operands
+
+ Store(Add(s601, s604), Local0)
+ m600(arg0, 48, Local0, 0xc179b71f)
+
+ Store(Add(s604, s601), Local0)
+ m600(arg0, 49, Local0, 0xc179b71f)
+
+ Add(s601, s604, Local0)
+ m600(arg0, 50, Local0, 0xc179b71f)
+
+ Add(s604, s601, Local0)
+ m600(arg0, 51, Local0, 0xc179b71f)
+ }
+
+ // And, common 32-bit/64-bit test
+ Method(m004, 1)
+ {
+ Name(s601, "0321")
+
+ // Conversion of the first operand
+
+ Store(And(s601, 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(And(s601, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0x321)
+
+ Store(And(s601, aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(And(s601, auij), Local0)
+ m600(arg0, 3, Local0, 0x321)
+
+ if (y078) {
+ Store(And(s601, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(And(s601, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0x321)
+ }
+
+ Store(And(s601, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(And(s601, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0x321)
+
+ // Method returns Integer
+
+ Store(And(s601, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(And(s601, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(s601, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(And(s601, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0x321)
+ }
+
+ And(s601, 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ And(s601, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0x321)
+
+ And(s601, aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ And(s601, auij, Local0)
+ m600(arg0, 15, Local0, 0x321)
+
+ if (y078) {
+ And(s601, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ And(s601, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0x321)
+ }
+
+ And(s601, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ And(s601, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0x321)
+
+ // Method returns Integer
+
+ And(s601, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ And(s601, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(s601, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ And(s601, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0x321)
+ }
+
+ // Conversion of the second operand
+
+ Store(And(0, s601), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(And(0xffffffffffffffff, s601), Local0)
+ m600(arg0, 25, Local0, 0x321)
+
+ Store(And(aui5, s601), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(And(auij, s601), Local0)
+ m600(arg0, 27, Local0, 0x321)
+
+ if (y078) {
+ Store(And(Derefof(Refof(aui5)), s601), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(And(Derefof(Refof(auij)), s601), Local0)
+ m600(arg0, 29, Local0, 0x321)
+ }
+
+ Store(And(Derefof(Index(paui, 5)), s601), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(And(Derefof(Index(paui, 19)), s601), Local0)
+ m600(arg0, 31, Local0, 0x321)
+
+ // Method returns Integer
+
+ Store(And(m601(1, 5), s601), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(And(m601(1, 19), s601), Local0)
+ m600(arg0, 33, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(Derefof(m602(1, 5, 1)), s601), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(And(Derefof(m602(1, 19, 1)), s601), Local0)
+ m600(arg0, 35, Local0, 0x321)
+ }
+
+ And(0, s601, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ And(0xffffffffffffffff, s601, Local0)
+ m600(arg0, 37, Local0, 0x321)
+
+ And(aui5, s601, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ And(auij, s601, Local0)
+ m600(arg0, 39, Local0, 0x321)
+
+ if (y078) {
+ And(Derefof(Refof(aui5)), s601, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ And(Derefof(Refof(auij)), s601, Local0)
+ m600(arg0, 41, Local0, 0x321)
+ }
+
+ And(Derefof(Index(paui, 5)), s601, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ And(Derefof(Index(paui, 19)), s601, Local0)
+ m600(arg0, 43, Local0, 0x321)
+
+ // Method returns Integer
+
+ And(m601(1, 5), s601, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ And(m601(1, 19), s601, Local0)
+ m600(arg0, 45, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(Derefof(m602(1, 5, 1)), s601, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ And(Derefof(m602(1, 19, 1)), s601, Local0)
+ m600(arg0, 47, Local0, 0x321)
+ }
+ }
+
+ // And, 64-bit
+ Method(m005, 1)
+ {
+ Name(s601, "0321")
+ Name(s605, "FE7CB391D650A284")
+
+ // Conversion of the first operand
+
+ Store(And(s605, 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(And(s605, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xfe7cb391d650a284)
+
+ Store(And(s605, aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(And(s605, auij), Local0)
+ m600(arg0, 3, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Store(And(s605, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(And(s605, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xfe7cb391d650a284)
+ }
+
+ Store(And(s605, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(And(s605, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Store(And(s605, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(And(s605, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(s605, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(And(s605, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfe7cb391d650a284)
+ }
+
+ And(s605, 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ And(s605, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a284)
+
+ And(s605, aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ And(s605, auij, Local0)
+ m600(arg0, 15, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ And(s605, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ And(s605, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xfe7cb391d650a284)
+ }
+
+ And(s605, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ And(s605, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ And(s605, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ And(s605, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(s605, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ And(s605, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfe7cb391d650a284)
+ }
+
+ // Conversion of the second operand
+
+ Store(And(0, s605), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(And(0xffffffffffffffff, s605), Local0)
+ m600(arg0, 25, Local0, 0xfe7cb391d650a284)
+
+ Store(And(aui5, s605), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(And(auij, s605), Local0)
+ m600(arg0, 27, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Store(And(Derefof(Refof(aui5)), s605), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(And(Derefof(Refof(auij)), s605), Local0)
+ m600(arg0, 29, Local0, 0xfe7cb391d650a284)
+ }
+
+ Store(And(Derefof(Index(paui, 5)), s605), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(And(Derefof(Index(paui, 19)), s605), Local0)
+ m600(arg0, 31, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Store(And(m601(1, 5), s605), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(And(m601(1, 19), s605), Local0)
+ m600(arg0, 33, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(Derefof(m602(1, 5, 1)), s605), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(And(Derefof(m602(1, 19, 1)), s605), Local0)
+ m600(arg0, 35, Local0, 0xfe7cb391d650a284)
+ }
+
+ And(0, s605, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ And(0xffffffffffffffff, s605, Local0)
+ m600(arg0, 37, Local0, 0xfe7cb391d650a284)
+
+ And(aui5, s605, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ And(auij, s605, Local0)
+ m600(arg0, 39, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ And(Derefof(Refof(aui5)), s605, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ And(Derefof(Refof(auij)), s605, Local0)
+ m600(arg0, 41, Local0, 0xfe7cb391d650a284)
+ }
+
+ And(Derefof(Index(paui, 5)), s605, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ And(Derefof(Index(paui, 19)), s605, Local0)
+ m600(arg0, 43, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ And(m601(1, 5), s605, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ And(m601(1, 19), s605, Local0)
+ m600(arg0, 45, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(Derefof(m602(1, 5, 1)), s605, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ And(Derefof(m602(1, 19, 1)), s605, Local0)
+ m600(arg0, 47, Local0, 0xfe7cb391d650a284)
+ }
+
+ // Conversion of the both operands
+
+ Store(And(s601, s605), Local0)
+ m600(arg0, 48, Local0, 0x200)
+
+ Store(And(s605, s601), Local0)
+ m600(arg0, 49, Local0, 0x200)
+
+ And(s601, s605, Local0)
+ m600(arg0, 50, Local0, 0x200)
+
+ And(s605, s601, Local0)
+ m600(arg0, 51, Local0, 0x200)
+ }
+
+ // And, 32-bit
+ Method(m006, 1)
+ {
+ Name(s601, "0321")
+ Name(s604, "C179B3FE")
+
+ // Conversion of the first operand
+
+ Store(And(s604, 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(And(s604, 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0xc179b3fe)
+
+ Store(And(s604, aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(And(s604, auii), Local0)
+ m600(arg0, 3, Local0, 0xc179b3fe)
+
+ if (y078) {
+ Store(And(s604, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(And(s604, Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0xc179b3fe)
+ }
+
+ Store(And(s604, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(And(s604, Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0xc179b3fe)
+
+ // Method returns Integer
+
+ Store(And(s604, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(And(s604, m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0xc179b3fe)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(s604, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(And(s604, Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0xc179b3fe)
+ }
+
+ And(s604, 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ And(s604, 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0xc179b3fe)
+
+ And(s604, aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ And(s604, auii, Local0)
+ m600(arg0, 15, Local0, 0xc179b3fe)
+
+ if (y078) {
+ And(s604, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ And(s604, Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0xc179b3fe)
+ }
+
+ And(s604, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ And(s604, Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0xc179b3fe)
+
+ // Method returns Integer
+
+ And(s604, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ And(s604, m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0xc179b3fe)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(s604, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ And(s604, Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0xc179b3fe)
+ }
+
+ // Conversion of the second operand
+
+ Store(And(0, s604), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(And(0xffffffff, s604), Local0)
+ m600(arg0, 25, Local0, 0xc179b3fe)
+
+ Store(And(aui5, s604), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(And(auii, s604), Local0)
+ m600(arg0, 27, Local0, 0xc179b3fe)
+
+ if (y078) {
+ Store(And(Derefof(Refof(aui5)), s604), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(And(Derefof(Refof(auii)), s604), Local0)
+ m600(arg0, 29, Local0, 0xc179b3fe)
+ }
+
+ Store(And(Derefof(Index(paui, 5)), s604), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(And(Derefof(Index(paui, 18)), s604), Local0)
+ m600(arg0, 31, Local0, 0xc179b3fe)
+
+ // Method returns Integer
+
+ Store(And(m601(1, 5), s604), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(And(m601(1, 18), s604), Local0)
+ m600(arg0, 33, Local0, 0xc179b3fe)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(Derefof(m602(1, 5, 1)), s604), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(And(Derefof(m602(1, 18, 1)), s604), Local0)
+ m600(arg0, 35, Local0, 0xc179b3fe)
+ }
+
+ And(0, s604, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ And(0xffffffff, s604, Local0)
+ m600(arg0, 37, Local0, 0xc179b3fe)
+
+ And(aui5, s604, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ And(auii, s604, Local0)
+ m600(arg0, 39, Local0, 0xc179b3fe)
+
+ if (y078) {
+ And(Derefof(Refof(aui5)), s604, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ And(Derefof(Refof(auii)), s604, Local0)
+ m600(arg0, 41, Local0, 0xc179b3fe)
+ }
+
+ And(Derefof(Index(paui, 5)), s604, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ And(Derefof(Index(paui, 18)), s604, Local0)
+ m600(arg0, 43, Local0, 0xc179b3fe)
+
+ // Method returns Integer
+
+ And(m601(1, 5), s604, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ And(m601(1, 18), s604, Local0)
+ m600(arg0, 45, Local0, 0xc179b3fe)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(Derefof(m602(1, 5, 1)), s604, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ And(Derefof(m602(1, 18, 1)), s604, Local0)
+ m600(arg0, 47, Local0, 0xc179b3fe)
+ }
+
+ // Conversion of the both operands
+
+ Store(And(s601, s604), Local0)
+ m600(arg0, 48, Local0, 0x320)
+
+ Store(And(s604, s601), Local0)
+ m600(arg0, 49, Local0, 0x320)
+
+ And(s601, s604, Local0)
+ m600(arg0, 50, Local0, 0x320)
+
+ And(s604, s601, Local0)
+ m600(arg0, 51, Local0, 0x320)
+ }
+
+ // Divide, common 32-bit/64-bit test
+ Method(m007, 1)
+ {
+ Name(s601, "0321")
+
+ // Conversion of the first operand
+
+ Store(Divide(s601, 1), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Divide(s601, 0x321), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Divide(s601, aui6), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Divide(s601, aui1), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Divide(s601, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Divide(s601, Derefof(Refof(aui1))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Divide(s601, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Divide(s601, Derefof(Index(paui, 1))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(s601, m601(1, 6)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Divide(s601, m601(1, 1)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(s601, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Divide(s601, Derefof(m602(1, 1, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Divide(s601, 1, Local1, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Divide(s601, 0x321, Local1, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Divide(s601, aui6, Local1, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Divide(s601, aui1, Local1, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Divide(s601, Derefof(Refof(aui6)), Local1, Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Divide(s601, Derefof(Refof(aui1)), Local1, Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Divide(s601, Derefof(Index(paui, 6)), Local1, Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Divide(s601, Derefof(Index(paui, 1)), Local1, Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(s601, m601(1, 6), Local1, Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Divide(s601, m601(1, 1), Local1, Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(s601, Derefof(m602(1, 6, 1)), Local1, Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Divide(s601, Derefof(m602(1, 1, 1)), Local1, Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Divide(1, s601), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Divide(0x321, s601), Local0)
+ m600(arg0, 25, Local0, 1)
+
+ Store(Divide(aui6, s601), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Divide(aui1, s601), Local0)
+ m600(arg0, 27, Local0, 1)
+
+ if (y078) {
+ Store(Divide(Derefof(Refof(aui6)), s601), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Divide(Derefof(Refof(aui1)), s601), Local0)
+ m600(arg0, 29, Local0, 1)
+ }
+
+ Store(Divide(Derefof(Index(paui, 6)), s601), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Divide(Derefof(Index(paui, 1)), s601), Local0)
+ m600(arg0, 31, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(m601(1, 6), s601), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Divide(m601(1, 1), s601), Local0)
+ m600(arg0, 33, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(Derefof(m602(1, 6, 1)), s601), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Divide(Derefof(m602(1, 1, 1)), s601), Local0)
+ m600(arg0, 35, Local0, 1)
+ }
+
+ Divide(1, s601, Local1, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Divide(0x321, s601, Local1, Local0)
+ m600(arg0, 37, Local0, 1)
+
+ Divide(aui6, s601, Local1, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Divide(aui1, s601, Local1, Local0)
+ m600(arg0, 39, Local0, 1)
+
+ if (y078) {
+ Divide(Derefof(Refof(aui6)), s601, Local1, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Divide(Derefof(Refof(aui1)), s601, Local1, Local0)
+ m600(arg0, 41, Local0, 1)
+ }
+
+ Divide(Derefof(Index(paui, 6)), s601, Local1, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Divide(Derefof(Index(paui, 1)), s601, Local1, Local0)
+ m600(arg0, 43, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(m601(1, 6), s601, Local1, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Divide(m601(1, 1), s601, Local1, Local0)
+ m600(arg0, 45, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(Derefof(m602(1, 6, 1)), s601, Local1, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Divide(Derefof(m602(1, 1, 1)), s601, Local1, Local0)
+ m600(arg0, 47, Local0, 1)
+ }
+ }
+
+ // Divide, 64-bit
+ Method(m008, 1)
+ {
+ Name(s601, "0321")
+ Name(s605, "FE7CB391D650A284")
+
+ // Conversion of the first operand
+
+ Store(Divide(s605, 1), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(s605, 0xfe7cb391d650a284), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Divide(s605, aui6), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(s605, aui4), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Divide(s605, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(s605, Derefof(Refof(aui4))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Divide(s605, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(s605, Derefof(Index(paui, 4))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(s605, m601(1, 6)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(s605, m601(1, 4)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(s605, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(s605, Derefof(m602(1, 4, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Divide(s605, 1, Local1, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Divide(s605, 0xfe7cb391d650a284, Local1, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Divide(s605, aui6, Local1, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Divide(s605, aui4, Local1, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Divide(s605, Derefof(Refof(aui6)), Local1, Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Divide(s605, Derefof(Refof(aui4)), Local1, Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Divide(s605, Derefof(Index(paui, 6)), Local1, Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Divide(s605, Derefof(Index(paui, 4)), Local1, Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(s605, m601(1, 6), Local1, Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Divide(s605, m601(1, 4), Local1, Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(s605, Derefof(m602(1, 6, 1)), Local1, Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Divide(s605, Derefof(m602(1, 4, 1)), Local1, Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Divide(1, s605), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Divide(0xfe7cb391d650a284, s605), Local0)
+ m600(arg0, 25, Local0, 1)
+
+ Store(Divide(aui6, s605), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Divide(aui4, s605), Local0)
+ m600(arg0, 27, Local0, 1)
+
+ if (y078) {
+ Store(Divide(Derefof(Refof(aui6)), s605), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Divide(Derefof(Refof(aui4)), s605), Local0)
+ m600(arg0, 29, Local0, 1)
+ }
+
+ Store(Divide(Derefof(Index(paui, 6)), s605), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Divide(Derefof(Index(paui, 4)), s605), Local0)
+ m600(arg0, 31, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(m601(1, 6), s605), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Divide(m601(1, 4), s605), Local0)
+ m600(arg0, 33, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(Derefof(m602(1, 6, 1)), s605), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Divide(Derefof(m602(1, 4, 1)), s605), Local0)
+ m600(arg0, 35, Local0, 1)
+ }
+
+ Divide(1, s605, Local1, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Divide(0xfe7cb391d650a284, s605, Local1, Local0)
+ m600(arg0, 37, Local0, 1)
+
+ Divide(aui6, s605, Local1, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Divide(aui4, s605, Local1, Local0)
+ m600(arg0, 39, Local0, 1)
+
+ if (y078) {
+ Divide(Derefof(Refof(aui6)), s605, Local1, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Divide(Derefof(Refof(aui4)), s605, Local1, Local0)
+ m600(arg0, 41, Local0, 1)
+ }
+
+ Divide(Derefof(Index(paui, 6)), s605, Local1, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Divide(Derefof(Index(paui, 4)), s605, Local1, Local0)
+ m600(arg0, 43, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(m601(1, 6), s605, Local1, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Divide(m601(1, 4), s605, Local1, Local0)
+ m600(arg0, 45, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(Derefof(m602(1, 6, 1)), s605, Local1, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Divide(Derefof(m602(1, 4, 1)), s605, Local1, Local0)
+ m600(arg0, 47, Local0, 1)
+ }
+
+ // Conversion of the both operands
+
+ Store(Divide(s601, s605), Local0)
+ m600(arg0, 48, Local0, 0)
+
+ Store(Divide(s605, s601), Local0)
+ m600(arg0, 49, Local0, 0x0051558eb950f5a7)
+
+ Divide(s601, s605, Local1, Local0)
+ m600(arg0, 50, Local0, 0)
+
+ Divide(s605, s601, Local1, Local0)
+ m600(arg0, 51, Local0, 0x0051558eb950f5a7)
+ }
+
+ // Divide, 32-bit
+ Method(m009, 1)
+ {
+ Name(s601, "0321")
+ Name(s604, "C179B3FE")
+
+ // Conversion of the first operand
+
+ Store(Divide(s604, 1), Local0)
+ m600(arg0, 0, Local0, 0xc179b3fe)
+
+ Store(Divide(s604, 0xc179b3fe), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Divide(s604, aui6), Local0)
+ m600(arg0, 2, Local0, 0xc179b3fe)
+
+ Store(Divide(s604, aui3), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Divide(s604, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 4, Local0, 0xc179b3fe)
+
+ Store(Divide(s604, Derefof(Refof(aui3))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Divide(s604, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 6, Local0, 0xc179b3fe)
+
+ Store(Divide(s604, Derefof(Index(paui, 3))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(s604, m601(1, 6)), Local0)
+ m600(arg0, 8, Local0, 0xc179b3fe)
+
+ Store(Divide(s604, m601(1, 3)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(s604, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 10, Local0, 0xc179b3fe)
+
+ Store(Divide(s604, Derefof(m602(1, 3, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Divide(s604, 1, Local1, Local0)
+ m600(arg0, 12, Local0, 0xc179b3fe)
+
+ Divide(s604, 0xc179b3fe, Local1, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Divide(s604, aui6, Local1, Local0)
+ m600(arg0, 14, Local0, 0xc179b3fe)
+
+ Divide(s604, aui3, Local1, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Divide(s604, Derefof(Refof(aui6)), Local1, Local0)
+ m600(arg0, 16, Local0, 0xc179b3fe)
+
+ Divide(s604, Derefof(Refof(aui3)), Local1, Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Divide(s604, Derefof(Index(paui, 6)), Local1, Local0)
+ m600(arg0, 18, Local0, 0xc179b3fe)
+
+ Divide(s604, Derefof(Index(paui, 3)), Local1, Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(s604, m601(1, 6), Local1, Local0)
+ m600(arg0, 20, Local0, 0xc179b3fe)
+
+ Divide(s604, m601(1, 3), Local1, Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(s604, Derefof(m602(1, 6, 1)), Local1, Local0)
+ m600(arg0, 22, Local0, 0xc179b3fe)
+
+ Divide(s604, Derefof(m602(1, 3, 1)), Local1, Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Divide(1, s604), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Divide(0xc179b3fe, s604), Local0)
+ m600(arg0, 25, Local0, 1)
+
+ Store(Divide(aui6, s604), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Divide(aui3, s604), Local0)
+ m600(arg0, 27, Local0, 1)
+
+ if (y078) {
+ Store(Divide(Derefof(Refof(aui6)), s604), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Divide(Derefof(Refof(aui3)), s604), Local0)
+ m600(arg0, 29, Local0, 1)
+ }
+
+ Store(Divide(Derefof(Index(paui, 6)), s604), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Divide(Derefof(Index(paui, 3)), s604), Local0)
+ m600(arg0, 31, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(m601(1, 6), s604), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Divide(m601(1, 3), s604), Local0)
+ m600(arg0, 33, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(Derefof(m602(1, 6, 1)), s604), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Divide(Derefof(m602(1, 3, 1)), s604), Local0)
+ m600(arg0, 35, Local0, 1)
+ }
+
+ Divide(1, s604, Local1, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Divide(0xc179b3fe, s604, Local1, Local0)
+ m600(arg0, 37, Local0, 1)
+
+ Divide(aui6, s604, Local1, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Divide(aui3, s604, Local1, Local0)
+ m600(arg0, 39, Local0, 1)
+
+ if (y078) {
+ Divide(Derefof(Refof(aui6)), s604, Local1, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Divide(Derefof(Refof(aui3)), s604, Local1, Local0)
+ m600(arg0, 41, Local0, 1)
+ }
+
+ Divide(Derefof(Index(paui, 6)), s604, Local1, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Divide(Derefof(Index(paui, 3)), s604, Local1, Local0)
+ m600(arg0, 43, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(m601(1, 6), s604, Local1, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Divide(m601(1, 3), s604, Local1, Local0)
+ m600(arg0, 45, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(Derefof(m602(1, 6, 1)), s604, Local1, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Divide(Derefof(m602(1, 3, 1)), s604, Local1, Local0)
+ m600(arg0, 47, Local0, 1)
+ }
+
+ // Conversion of the both operands
+
+ Store(Divide(s601, s604), Local0)
+ m600(arg0, 48, Local0, 0)
+
+ Store(Divide(s604, s601), Local0)
+ m600(arg0, 49, Local0, 0x003dd5b7)
+
+ Divide(s601, s604, Local1, Local0)
+ m600(arg0, 50, Local0, 0)
+
+ Divide(s604, s601, Local1, Local0)
+ m600(arg0, 51, Local0, 0x003dd5b7)
+ }
+
+ // Mod, common 32-bit/64-bit test
+ Method(m00a, 1)
+ {
+ Name(s601, "0321")
+
+ // Conversion of the first operand
+
+ Store(Mod(s601, 0x322), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Mod(s601, 0x320), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Mod(s601, auig), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Mod(s601, auih), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Mod(s601, Derefof(Refof(auig))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Mod(s601, Derefof(Refof(auih))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Mod(s601, Derefof(Index(paui, 16))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Mod(s601, Derefof(Index(paui, 17))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Mod(s601, m601(1, 16)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Mod(s601, m601(1, 17)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(s601, Derefof(m602(1, 16, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Mod(s601, Derefof(m602(1, 17, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Mod(s601, 0x322, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Mod(s601, 0x320, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Mod(s601, auig, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Mod(s601, auih, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Mod(s601, Derefof(Refof(auig)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Mod(s601, Derefof(Refof(auih)), Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Mod(s601, Derefof(Index(paui, 16)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Mod(s601, Derefof(Index(paui, 17)), Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Mod(s601, m601(1, 16), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Mod(s601, m601(1, 17), Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(s601, Derefof(m602(1, 16, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Mod(s601, Derefof(m602(1, 17, 1)), Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Mod(0x322, s601), Local0)
+ m600(arg0, 24, Local0, 1)
+
+ Store(Mod(0x320, s601), Local0)
+ m600(arg0, 25, Local0, 0x320)
+
+ Store(Mod(auig, s601), Local0)
+ m600(arg0, 26, Local0, 1)
+
+ Store(Mod(auih, s601), Local0)
+ m600(arg0, 27, Local0, 0x320)
+
+ if (y078) {
+ Store(Mod(Derefof(Refof(auig)), s601), Local0)
+ m600(arg0, 28, Local0, 1)
+
+ Store(Mod(Derefof(Refof(auih)), s601), Local0)
+ m600(arg0, 29, Local0, 0x320)
+ }
+
+ Store(Mod(Derefof(Index(paui, 16)), s601), Local0)
+ m600(arg0, 30, Local0, 1)
+
+ Store(Mod(Derefof(Index(paui, 17)), s601), Local0)
+ m600(arg0, 31, Local0, 0x320)
+
+ // Method returns Integer
+
+ Store(Mod(m601(1, 16), s601), Local0)
+ m600(arg0, 32, Local0, 1)
+
+ Store(Mod(m601(1, 17), s601), Local0)
+ m600(arg0, 33, Local0, 0x320)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(Derefof(m602(1, 16, 1)), s601), Local0)
+ m600(arg0, 34, Local0, 1)
+
+ Store(Mod(Derefof(m602(1, 17, 1)), s601), Local0)
+ m600(arg0, 35, Local0, 0x320)
+ }
+
+ Mod(0x322, s601, Local0)
+ m600(arg0, 36, Local0, 1)
+
+ Mod(0x320, s601, Local0)
+ m600(arg0, 37, Local0, 0x320)
+
+ Mod(auig, s601, Local0)
+ m600(arg0, 38, Local0, 1)
+
+ Mod(auih, s601, Local0)
+ m600(arg0, 39, Local0, 0x320)
+
+ if (y078) {
+ Mod(Derefof(Refof(auig)), s601, Local0)
+ m600(arg0, 40, Local0, 1)
+
+ Mod(Derefof(Refof(auih)), s601, Local0)
+ m600(arg0, 41, Local0, 0x320)
+ }
+
+ Mod(Derefof(Index(paui, 16)), s601, Local0)
+ m600(arg0, 42, Local0, 1)
+
+ Mod(Derefof(Index(paui, 17)), s601, Local0)
+ m600(arg0, 43, Local0, 0x320)
+
+ // Method returns Integer
+
+ Mod(m601(1, 16), s601, Local0)
+ m600(arg0, 44, Local0, 1)
+
+ Mod(m601(1, 17), s601, Local0)
+ m600(arg0, 45, Local0, 0x320)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(Derefof(m602(1, 16, 1)), s601, Local0)
+ m600(arg0, 46, Local0, 1)
+
+ Mod(Derefof(m602(1, 17, 1)), s601, Local0)
+ m600(arg0, 47, Local0, 0x320)
+ }
+ }
+
+ // Mod, 64-bit
+ Method(m00b, 1)
+ {
+ Name(s601, "0321")
+ Name(s605, "FE7CB391D650A284")
+
+ // Conversion of the first operand
+
+ Store(Mod(s605, 0xfe7cb391d650a285), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(s605, 0xfe7cb391d650a283), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Mod(s605, auid), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(s605, auif), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Mod(s605, Derefof(Refof(auid))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(s605, Derefof(Refof(auif))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Mod(s605, Derefof(Index(paui, 13))), Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(s605, Derefof(Index(paui, 15))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Mod(s605, m601(1, 13)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(s605, m601(1, 15)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(s605, Derefof(m602(1, 13, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(s605, Derefof(m602(1, 15, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Mod(s605, 0xfe7cb391d650a285, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Mod(s605, 0xfe7cb391d650a283, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Mod(s605, auid, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Mod(s605, auif, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Mod(s605, Derefof(Refof(auid)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Mod(s605, Derefof(Refof(auif)), Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Mod(s605, Derefof(Index(paui, 13)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Mod(s605, Derefof(Index(paui, 15)), Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Mod(s605, m601(1, 13), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Mod(s605, m601(1, 15), Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(s605, Derefof(m602(1, 13, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Mod(s605, Derefof(m602(1, 15, 1)), Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Mod(0xfe7cb391d650a285, s605), Local0)
+ m600(arg0, 24, Local0, 1)
+
+ Store(Mod(0xfe7cb391d650a283, s605), Local0)
+ m600(arg0, 25, Local0, 0xfe7cb391d650a283)
+
+ Store(Mod(auid, s605), Local0)
+ m600(arg0, 26, Local0, 1)
+
+ Store(Mod(auif, s605), Local0)
+ m600(arg0, 27, Local0, 0xfe7cb391d650a283)
+
+ if (y078) {
+ Store(Mod(Derefof(Refof(auid)), s605), Local0)
+ m600(arg0, 28, Local0, 1)
+
+ Store(Mod(Derefof(Refof(auif)), s605), Local0)
+ m600(arg0, 29, Local0, 0xfe7cb391d650a283)
+ }
+
+ Store(Mod(Derefof(Index(paui, 13)), s605), Local0)
+ m600(arg0, 30, Local0, 1)
+
+ Store(Mod(Derefof(Index(paui, 15)), s605), Local0)
+ m600(arg0, 31, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Integer
+
+ Store(Mod(m601(1, 13), s605), Local0)
+ m600(arg0, 32, Local0, 1)
+
+ Store(Mod(m601(1, 15), s605), Local0)
+ m600(arg0, 33, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(Derefof(m602(1, 13, 1)), s605), Local0)
+ m600(arg0, 34, Local0, 1)
+
+ Store(Mod(Derefof(m602(1, 15, 1)), s605), Local0)
+ m600(arg0, 35, Local0, 0xfe7cb391d650a283)
+ }
+
+ Mod(0xfe7cb391d650a285, s605, Local0)
+ m600(arg0, 36, Local0, 1)
+
+ Mod(0xfe7cb391d650a283, s605, Local0)
+ m600(arg0, 37, Local0, 0xfe7cb391d650a283)
+
+ Mod(auid, s605, Local0)
+ m600(arg0, 38, Local0, 1)
+
+ Mod(auif, s605, Local0)
+ m600(arg0, 39, Local0, 0xfe7cb391d650a283)
+
+ if (y078) {
+ Mod(Derefof(Refof(auid)), s605, Local0)
+ m600(arg0, 40, Local0, 1)
+
+ Mod(Derefof(Refof(auif)), s605, Local0)
+ m600(arg0, 41, Local0, 0xfe7cb391d650a283)
+ }
+
+ Mod(Derefof(Index(paui, 13)), s605, Local0)
+ m600(arg0, 42, Local0, 1)
+
+ Mod(Derefof(Index(paui, 15)), s605, Local0)
+ m600(arg0, 43, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Integer
+
+ Mod(m601(1, 13), s605, Local0)
+ m600(arg0, 44, Local0, 1)
+
+ Mod(m601(1, 15), s605, Local0)
+ m600(arg0, 45, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(Derefof(m602(1, 13, 1)), s605, Local0)
+ m600(arg0, 46, Local0, 1)
+
+ Mod(Derefof(m602(1, 15, 1)), s605, Local0)
+ m600(arg0, 47, Local0, 0xfe7cb391d650a283)
+ }
+
+ // Conversion of the both operands
+
+ Store(Mod(s601, s605), Local0)
+ m600(arg0, 48, Local0, 0x321)
+
+ Store(Mod(s605, s601), Local0)
+ m600(arg0, 49, Local0, 0x2fd)
+
+ Mod(s601, s605, Local0)
+ m600(arg0, 50, Local0, 0x321)
+
+ Mod(s605, s601, Local0)
+ m600(arg0, 51, Local0, 0x2fd)
+ }
+
+ // Mod, 32-bit
+ Method(m00c, 1)
+ {
+ Name(s601, "0321")
+ Name(s604, "C179B3FE")
+
+ // Conversion of the first operand
+
+ Store(Mod(s604, 0xc179b3ff), Local0)
+ m600(arg0, 0, Local0, 0xc179b3fe)
+
+ Store(Mod(s604, 0xc179b3fd), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Mod(s604, auic), Local0)
+ m600(arg0, 2, Local0, 0xc179b3fe)
+
+ Store(Mod(s604, auie), Local0)
+ m600(arg0, 14, Local0, 1)
+
+ if (y078) {
+ Store(Mod(s604, Derefof(Refof(auic))), Local0)
+ m600(arg0, 4, Local0, 0xc179b3fe)
+
+ Store(Mod(s604, Derefof(Refof(auie))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Mod(s604, Derefof(Index(paui, 12))), Local0)
+ m600(arg0, 12, Local0, 0xc179b3fe)
+
+ Store(Mod(s604, Derefof(Index(paui, 14))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Mod(s604, m601(1, 12)), Local0)
+ m600(arg0, 8, Local0, 0xc179b3fe)
+
+ Store(Mod(s604, m601(1, 14)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(s604, Derefof(m602(1, 12, 1))), Local0)
+ m600(arg0, 10, Local0, 0xc179b3fe)
+
+ Store(Mod(s604, Derefof(m602(1, 14, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Mod(s604, 0xc179b3ff, Local0)
+ m600(arg0, 12, Local0, 0xc179b3fe)
+
+ Mod(s604, 0xc179b3fd, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Mod(s604, auic, Local0)
+ m600(arg0, 14, Local0, 0xc179b3fe)
+
+ Mod(s604, auie, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Mod(s604, Derefof(Refof(auic)), Local0)
+ m600(arg0, 16, Local0, 0xc179b3fe)
+
+ Mod(s604, Derefof(Refof(auie)), Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Mod(s604, Derefof(Index(paui, 12)), Local0)
+ m600(arg0, 18, Local0, 0xc179b3fe)
+
+ Mod(s604, Derefof(Index(paui, 14)), Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Mod(s604, m601(1, 12), Local0)
+ m600(arg0, 20, Local0, 0xc179b3fe)
+
+ Mod(s604, m601(1, 14), Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(s604, Derefof(m602(1, 12, 1)), Local0)
+ m600(arg0, 22, Local0, 0xc179b3fe)
+
+ Mod(s604, Derefof(m602(1, 14, 1)), Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Mod(0xc179b3ff, s604), Local0)
+ m600(arg0, 24, Local0, 1)
+
+ Store(Mod(0xc179b3fd, s604), Local0)
+ m600(arg0, 25, Local0, 0xc179b3fd)
+
+ Store(Mod(auic, s604), Local0)
+ m600(arg0, 26, Local0, 1)
+
+ Store(Mod(auie, s604), Local0)
+ m600(arg0, 27, Local0, 0xc179b3fd)
+
+ if (y078) {
+ Store(Mod(Derefof(Refof(auic)), s604), Local0)
+ m600(arg0, 28, Local0, 1)
+
+ Store(Mod(Derefof(Refof(auie)), s604), Local0)
+ m600(arg0, 29, Local0, 0xc179b3fd)
+ }
+
+ Store(Mod(Derefof(Index(paui, 12)), s604), Local0)
+ m600(arg0, 30, Local0, 1)
+
+ Store(Mod(Derefof(Index(paui, 14)), s604), Local0)
+ m600(arg0, 31, Local0, 0xc179b3fd)
+
+ // Method returns Integer
+
+ Store(Mod(m601(1, 12), s604), Local0)
+ m600(arg0, 32, Local0, 1)
+
+ Store(Mod(m601(1, 14), s604), Local0)
+ m600(arg0, 33, Local0, 0xc179b3fd)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(Derefof(m602(1, 12, 1)), s604), Local0)
+ m600(arg0, 34, Local0, 1)
+
+ Store(Mod(Derefof(m602(1, 14, 1)), s604), Local0)
+ m600(arg0, 35, Local0, 0xc179b3fd)
+ }
+
+ Mod(0xc179b3ff, s604, Local0)
+ m600(arg0, 36, Local0, 1)
+
+ Mod(0xc179b3fd, s604, Local0)
+ m600(arg0, 37, Local0, 0xc179b3fd)
+
+ Mod(auic, s604, Local0)
+ m600(arg0, 38, Local0, 1)
+
+ Mod(auie, s604, Local0)
+ m600(arg0, 39, Local0, 0xc179b3fd)
+
+ if (y078) {
+ Mod(Derefof(Refof(auic)), s604, Local0)
+ m600(arg0, 40, Local0, 1)
+
+ Mod(Derefof(Refof(auie)), s604, Local0)
+ m600(arg0, 41, Local0, 0xc179b3fd)
+ }
+
+ Mod(Derefof(Index(paui, 12)), s604, Local0)
+ m600(arg0, 42, Local0, 1)
+
+ Mod(Derefof(Index(paui, 14)), s604, Local0)
+ m600(arg0, 43, Local0, 0xc179b3fd)
+
+ // Method returns Integer
+
+ Mod(m601(1, 12), s604, Local0)
+ m600(arg0, 44, Local0, 1)
+
+ Mod(m601(1, 14), s604, Local0)
+ m600(arg0, 45, Local0, 0xc179b3fd)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(Derefof(m602(1, 12, 1)), s604, Local0)
+ m600(arg0, 46, Local0, 1)
+
+ Mod(Derefof(m602(1, 14, 1)), s604, Local0)
+ m600(arg0, 47, Local0, 0xc179b3fd)
+ }
+
+ // Conversion of the both operands
+
+ Store(Mod(s601, s604), Local0)
+ m600(arg0, 48, Local0, 0x321)
+
+ Store(Mod(s604, s601), Local0)
+ m600(arg0, 49, Local0, 0x267)
+
+ Mod(s601, s604, Local0)
+ m600(arg0, 50, Local0, 0x321)
+
+ Mod(s604, s601, Local0)
+ m600(arg0, 51, Local0, 0x267)
+ }
+
+ // Multiply, common 32-bit/64-bit test
+ Method(m00d, 1)
+ {
+ Name(s601, "0321")
+
+ // Conversion of the first operand
+
+ Store(Multiply(s601, 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(Multiply(s601, 1), Local0)
+ m600(arg0, 1, Local0, 0x321)
+
+ Store(Multiply(s601, aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(Multiply(s601, aui6), Local0)
+ m600(arg0, 3, Local0, 0x321)
+
+ if (y078) {
+ Store(Multiply(s601, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(Multiply(s601, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x321)
+ }
+
+ Store(Multiply(s601, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(Multiply(s601, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x321)
+
+ // Method returns Integer
+
+ Store(Multiply(s601, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(Multiply(s601, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(s601, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(Multiply(s601, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x321)
+ }
+
+ Multiply(s601, 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ Multiply(s601, 1, Local0)
+ m600(arg0, 13, Local0, 0x321)
+
+ Multiply(s601, aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ Multiply(s601, aui6, Local0)
+ m600(arg0, 15, Local0, 0x321)
+
+ if (y078) {
+ Multiply(s601, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ Multiply(s601, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x321)
+ }
+
+ Multiply(s601, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ Multiply(s601, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x321)
+
+ // Method returns Integer
+
+ Multiply(s601, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ Multiply(s601, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(s601, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ Multiply(s601, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x321)
+ }
+
+ // Conversion of the second operand
+
+ Store(Multiply(0, s601), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Multiply(1, s601), Local0)
+ m600(arg0, 25, Local0, 0x321)
+
+ Store(Multiply(aui5, s601), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Multiply(aui6, s601), Local0)
+ m600(arg0, 27, Local0, 0x321)
+
+ if (y078) {
+ Store(Multiply(Derefof(Refof(aui5)), s601), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(aui6)), s601), Local0)
+ m600(arg0, 29, Local0, 0x321)
+ }
+
+ Store(Multiply(Derefof(Index(paui, 5)), s601), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Multiply(Derefof(Index(paui, 6)), s601), Local0)
+ m600(arg0, 31, Local0, 0x321)
+
+ // Method returns Integer
+
+ Store(Multiply(m601(1, 5), s601), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Multiply(m601(1, 6), s601), Local0)
+ m600(arg0, 33, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(Derefof(m602(1, 5, 1)), s601), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Multiply(Derefof(m602(1, 6, 1)), s601), Local0)
+ m600(arg0, 35, Local0, 0x321)
+ }
+
+ Multiply(0, s601, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Multiply(1, s601, Local0)
+ m600(arg0, 37, Local0, 0x321)
+
+ Multiply(aui5, s601, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Multiply(aui6, s601, Local0)
+ m600(arg0, 39, Local0, 0x321)
+
+ if (y078) {
+ Multiply(Derefof(Refof(aui5)), s601, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Multiply(Derefof(Refof(aui6)), s601, Local0)
+ m600(arg0, 41, Local0, 0x321)
+ }
+
+ Multiply(Derefof(Index(paui, 5)), s601, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Multiply(Derefof(Index(paui, 6)), s601, Local0)
+ m600(arg0, 43, Local0, 0x321)
+
+ // Method returns Integer
+
+ Multiply(m601(1, 5), s601, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Multiply(m601(1, 6), s601, Local0)
+ m600(arg0, 45, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(Derefof(m602(1, 5, 1)), s601, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Multiply(Derefof(m602(1, 6, 1)), s601, Local0)
+ m600(arg0, 47, Local0, 0x321)
+ }
+ }
+
+ // Multiply, 64-bit
+ Method(m00e, 1)
+ {
+ Name(s601, "0321")
+ Name(s605, "FE7CB391D650A284")
+
+ // Conversion of the first operand
+
+ Store(Multiply(s605, 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(Multiply(s605, 1), Local0)
+ m600(arg0, 1, Local0, 0xfe7cb391d650a284)
+
+ Store(Multiply(s605, aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(Multiply(s605, aui6), Local0)
+ m600(arg0, 3, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Store(Multiply(s605, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(Multiply(s605, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xfe7cb391d650a284)
+ }
+
+ Store(Multiply(s605, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(Multiply(s605, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Store(Multiply(s605, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(Multiply(s605, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(s605, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(Multiply(s605, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfe7cb391d650a284)
+ }
+
+ Multiply(s605, 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ Multiply(s605, 1, Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a284)
+
+ Multiply(s605, aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ Multiply(s605, aui6, Local0)
+ m600(arg0, 15, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Multiply(s605, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ Multiply(s605, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xfe7cb391d650a284)
+ }
+
+ Multiply(s605, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ Multiply(s605, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Multiply(s605, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ Multiply(s605, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(s605, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ Multiply(s605, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfe7cb391d650a284)
+ }
+
+ // Conversion of the second operand
+
+ Store(Multiply(0, s605), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Multiply(1, s605), Local0)
+ m600(arg0, 25, Local0, 0xfe7cb391d650a284)
+
+ Store(Multiply(aui5, s605), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Multiply(aui6, s605), Local0)
+ m600(arg0, 27, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Store(Multiply(Derefof(Refof(aui5)), s605), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(aui6)), s605), Local0)
+ m600(arg0, 29, Local0, 0xfe7cb391d650a284)
+ }
+
+ Store(Multiply(Derefof(Index(paui, 5)), s605), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Multiply(Derefof(Index(paui, 6)), s605), Local0)
+ m600(arg0, 31, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Store(Multiply(m601(1, 5), s605), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Multiply(m601(1, 6), s605), Local0)
+ m600(arg0, 33, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(Derefof(m602(1, 5, 1)), s605), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Multiply(Derefof(m602(1, 6, 1)), s605), Local0)
+ m600(arg0, 35, Local0, 0xfe7cb391d650a284)
+ }
+
+ Multiply(0, s605, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Multiply(1, s605, Local0)
+ m600(arg0, 37, Local0, 0xfe7cb391d650a284)
+
+ Multiply(aui5, s605, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Multiply(aui6, s605, Local0)
+ m600(arg0, 39, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Multiply(Derefof(Refof(aui5)), s605, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Multiply(Derefof(Refof(aui6)), s605, Local0)
+ m600(arg0, 41, Local0, 0xfe7cb391d650a284)
+ }
+
+ Multiply(Derefof(Index(paui, 5)), s605, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Multiply(Derefof(Index(paui, 6)), s605, Local0)
+ m600(arg0, 43, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Multiply(m601(1, 5), s605, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Multiply(m601(1, 6), s605, Local0)
+ m600(arg0, 45, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(Derefof(m602(1, 5, 1)), s605, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Multiply(Derefof(m602(1, 6, 1)), s605, Local0)
+ m600(arg0, 47, Local0, 0xfe7cb391d650a284)
+ }
+
+ // Conversion of the both operands
+
+ Store(Multiply(s601, s605), Local0)
+ m600(arg0, 48, Local0, 0x442ddb4f924c7f04)
+
+ Store(Multiply(s605, s601), Local0)
+ m600(arg0, 49, Local0, 0x442ddb4f924c7f04)
+
+ Multiply(s601, s605, Local0)
+ m600(arg0, 50, Local0, 0x442ddb4f924c7f04)
+
+ Multiply(s605, s601, Local0)
+ m600(arg0, 51, Local0, 0x442ddb4f924c7f04)
+ }
+
+ // Multiply, 32-bit
+ Method(m00f, 1)
+ {
+ Name(s601, "0321")
+ Name(s604, "C179B3FE")
+
+ // Conversion of the first operand
+
+ Store(Multiply(s604, 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(Multiply(s604, 1), Local0)
+ m600(arg0, 1, Local0, 0xc179b3fe)
+
+ Store(Multiply(s604, aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(Multiply(s604, aui6), Local0)
+ m600(arg0, 3, Local0, 0xc179b3fe)
+
+ if (y078) {
+ Store(Multiply(s604, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(Multiply(s604, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xc179b3fe)
+ }
+
+ Store(Multiply(s604, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(Multiply(s604, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xc179b3fe)
+
+ // Method returns Integer
+
+ Store(Multiply(s604, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(Multiply(s604, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xc179b3fe)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(s604, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(Multiply(s604, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xc179b3fe)
+ }
+
+ Multiply(s604, 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ Multiply(s604, 1, Local0)
+ m600(arg0, 13, Local0, 0xc179b3fe)
+
+ Multiply(s604, aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ Multiply(s604, aui6, Local0)
+ m600(arg0, 15, Local0, 0xc179b3fe)
+
+ if (y078) {
+ Multiply(s604, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ Multiply(s604, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xc179b3fe)
+ }
+
+ Multiply(s604, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ Multiply(s604, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xc179b3fe)
+
+ // Method returns Integer
+
+ Multiply(s604, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ Multiply(s604, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xc179b3fe)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(s604, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ Multiply(s604, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xc179b3fe)
+ }
+
+ // Conversion of the second operand
+
+ Store(Multiply(0, s604), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Multiply(1, s604), Local0)
+ m600(arg0, 25, Local0, 0xc179b3fe)
+
+ Store(Multiply(aui5, s604), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Multiply(aui6, s604), Local0)
+ m600(arg0, 27, Local0, 0xc179b3fe)
+
+ if (y078) {
+ Store(Multiply(Derefof(Refof(aui5)), s604), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(aui6)), s604), Local0)
+ m600(arg0, 29, Local0, 0xc179b3fe)
+ }
+
+ Store(Multiply(Derefof(Index(paui, 5)), s604), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Multiply(Derefof(Index(paui, 6)), s604), Local0)
+ m600(arg0, 31, Local0, 0xc179b3fe)
+
+ // Method returns Integer
+
+ Store(Multiply(m601(1, 5), s604), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Multiply(m601(1, 6), s604), Local0)
+ m600(arg0, 33, Local0, 0xc179b3fe)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(Derefof(m602(1, 5, 1)), s604), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Multiply(Derefof(m602(1, 6, 1)), s604), Local0)
+ m600(arg0, 35, Local0, 0xc179b3fe)
+ }
+
+ Multiply(0, s604, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Multiply(1, s604, Local0)
+ m600(arg0, 37, Local0, 0xc179b3fe)
+
+ Multiply(aui5, s604, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Multiply(aui6, s604, Local0)
+ m600(arg0, 39, Local0, 0xc179b3fe)
+
+ if (y078) {
+ Multiply(Derefof(Refof(aui5)), s604, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Multiply(Derefof(Refof(aui6)), s604, Local0)
+ m600(arg0, 41, Local0, 0xc179b3fe)
+ }
+
+ Multiply(Derefof(Index(paui, 5)), s604, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Multiply(Derefof(Index(paui, 6)), s604, Local0)
+ m600(arg0, 43, Local0, 0xc179b3fe)
+
+ // Method returns Integer
+
+ Multiply(m601(1, 5), s604, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Multiply(m601(1, 6), s604, Local0)
+ m600(arg0, 45, Local0, 0xc179b3fe)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(Derefof(m602(1, 5, 1)), s604, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Multiply(Derefof(m602(1, 6, 1)), s604, Local0)
+ m600(arg0, 47, Local0, 0xc179b3fe)
+ }
+
+ // Conversion of the both operands
+
+ Store(Multiply(s601, s604), Local0)
+ m600(arg0, 48, Local0, 0x5dcc2dbe)
+
+ Store(Multiply(s604, s601), Local0)
+ m600(arg0, 49, Local0, 0x5dcc2dbe)
+
+ Multiply(s601, s604, Local0)
+ m600(arg0, 50, Local0, 0x5dcc2dbe)
+
+ Multiply(s604, s601, Local0)
+ m600(arg0, 51, Local0, 0x5dcc2dbe)
+ }
+
+ // NAnd, common 32-bit/64-bit test
+ Method(m010, 1)
+ {
+ Name(s601, "0321")
+
+ // Conversion of the first operand
+
+ Store(NAnd(s601, 0), Local0)
+ m600(arg0, 0, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(s601, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xfffffffffffffcde)
+
+ Store(NAnd(s601, aui5), Local0)
+ m600(arg0, 2, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(s601, auij), Local0)
+ m600(arg0, 3, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ Store(NAnd(s601, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(s601, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xfffffffffffffcde)
+ }
+
+ Store(NAnd(s601, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(s601, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ Store(NAnd(s601, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(s601, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(s601, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(s601, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfffffffffffffcde)
+ }
+
+ NAnd(s601, 0, Local0)
+ m600(arg0, 12, Local0, 0xffffffffffffffff)
+
+ NAnd(s601, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xfffffffffffffcde)
+
+ NAnd(s601, aui5, Local0)
+ m600(arg0, 14, Local0, 0xffffffffffffffff)
+
+ NAnd(s601, auij, Local0)
+ m600(arg0, 15, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ NAnd(s601, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xffffffffffffffff)
+
+ NAnd(s601, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xfffffffffffffcde)
+ }
+
+ NAnd(s601, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xffffffffffffffff)
+
+ NAnd(s601, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ NAnd(s601, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xffffffffffffffff)
+
+ NAnd(s601, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(s601, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xffffffffffffffff)
+
+ NAnd(s601, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfffffffffffffcde)
+ }
+
+ // Conversion of the second operand
+
+ Store(NAnd(0, s601), Local0)
+ m600(arg0, 24, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(0xffffffffffffffff, s601), Local0)
+ m600(arg0, 25, Local0, 0xfffffffffffffcde)
+
+ Store(NAnd(aui5, s601), Local0)
+ m600(arg0, 26, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(auij, s601), Local0)
+ m600(arg0, 27, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ Store(NAnd(Derefof(Refof(aui5)), s601), Local0)
+ m600(arg0, 28, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Refof(auij)), s601), Local0)
+ m600(arg0, 29, Local0, 0xfffffffffffffcde)
+ }
+
+ Store(NAnd(Derefof(Index(paui, 5)), s601), Local0)
+ m600(arg0, 30, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Index(paui, 19)), s601), Local0)
+ m600(arg0, 31, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ Store(NAnd(m601(1, 5), s601), Local0)
+ m600(arg0, 32, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(m601(1, 19), s601), Local0)
+ m600(arg0, 33, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(Derefof(m602(1, 5, 1)), s601), Local0)
+ m600(arg0, 34, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(m602(1, 19, 1)), s601), Local0)
+ m600(arg0, 35, Local0, 0xfffffffffffffcde)
+ }
+
+ NAnd(0, s601, Local0)
+ m600(arg0, 36, Local0, 0xffffffffffffffff)
+
+ NAnd(0xffffffffffffffff, s601, Local0)
+ m600(arg0, 37, Local0, 0xfffffffffffffcde)
+
+ NAnd(aui5, s601, Local0)
+ m600(arg0, 38, Local0, 0xffffffffffffffff)
+
+ NAnd(auij, s601, Local0)
+ m600(arg0, 39, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ NAnd(Derefof(Refof(aui5)), s601, Local0)
+ m600(arg0, 40, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Refof(auij)), s601, Local0)
+ m600(arg0, 41, Local0, 0xfffffffffffffcde)
+ }
+
+ NAnd(Derefof(Index(paui, 5)), s601, Local0)
+ m600(arg0, 42, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Index(paui, 19)), s601, Local0)
+ m600(arg0, 43, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ NAnd(m601(1, 5), s601, Local0)
+ m600(arg0, 44, Local0, 0xffffffffffffffff)
+
+ NAnd(m601(1, 19), s601, Local0)
+ m600(arg0, 45, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(Derefof(m602(1, 5, 1)), s601, Local0)
+ m600(arg0, 46, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(m602(1, 19, 1)), s601, Local0)
+ m600(arg0, 47, Local0, 0xfffffffffffffcde)
+ }
+ }
+
+ // NAnd, 64-bit
+ Method(m011, 1)
+ {
+ Name(s601, "0321")
+ Name(s605, "FE7CB391D650A284")
+
+ // Conversion of the first operand
+
+ Store(NAnd(s605, 0), Local0)
+ m600(arg0, 0, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(s605, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0x01834c6e29af5d7b)
+
+ Store(NAnd(s605, aui5), Local0)
+ m600(arg0, 2, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(s605, auij), Local0)
+ m600(arg0, 3, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ Store(NAnd(s605, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(s605, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Store(NAnd(s605, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(s605, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ Store(NAnd(s605, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(s605, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(s605, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(s605, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0x01834c6e29af5d7b)
+ }
+
+ NAnd(s605, 0, Local0)
+ m600(arg0, 12, Local0, 0xffffffffffffffff)
+
+ NAnd(s605, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0x01834c6e29af5d7b)
+
+ NAnd(s605, aui5, Local0)
+ m600(arg0, 14, Local0, 0xffffffffffffffff)
+
+ NAnd(s605, auij, Local0)
+ m600(arg0, 15, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ NAnd(s605, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xffffffffffffffff)
+
+ NAnd(s605, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0x01834c6e29af5d7b)
+ }
+
+ NAnd(s605, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xffffffffffffffff)
+
+ NAnd(s605, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ NAnd(s605, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xffffffffffffffff)
+
+ NAnd(s605, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(s605, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xffffffffffffffff)
+
+ NAnd(s605, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0x01834c6e29af5d7b)
+ }
+
+ // Conversion of the second operand
+
+ Store(NAnd(0, s605), Local0)
+ m600(arg0, 24, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(0xffffffffffffffff, s605), Local0)
+ m600(arg0, 25, Local0, 0x01834c6e29af5d7b)
+
+ Store(NAnd(aui5, s605), Local0)
+ m600(arg0, 26, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(auij, s605), Local0)
+ m600(arg0, 27, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ Store(NAnd(Derefof(Refof(aui5)), s605), Local0)
+ m600(arg0, 28, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Refof(auij)), s605), Local0)
+ m600(arg0, 29, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Store(NAnd(Derefof(Index(paui, 5)), s605), Local0)
+ m600(arg0, 30, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Index(paui, 19)), s605), Local0)
+ m600(arg0, 31, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ Store(NAnd(m601(1, 5), s605), Local0)
+ m600(arg0, 32, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(m601(1, 19), s605), Local0)
+ m600(arg0, 33, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(Derefof(m602(1, 5, 1)), s605), Local0)
+ m600(arg0, 34, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(m602(1, 19, 1)), s605), Local0)
+ m600(arg0, 35, Local0, 0x01834c6e29af5d7b)
+ }
+
+ NAnd(0, s605, Local0)
+ m600(arg0, 36, Local0, 0xffffffffffffffff)
+
+ NAnd(0xffffffffffffffff, s605, Local0)
+ m600(arg0, 37, Local0, 0x01834c6e29af5d7b)
+
+ NAnd(aui5, s605, Local0)
+ m600(arg0, 38, Local0, 0xffffffffffffffff)
+
+ NAnd(auij, s605, Local0)
+ m600(arg0, 39, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ NAnd(Derefof(Refof(aui5)), s605, Local0)
+ m600(arg0, 40, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Refof(auij)), s605, Local0)
+ m600(arg0, 41, Local0, 0x01834c6e29af5d7b)
+ }
+
+ NAnd(Derefof(Index(paui, 5)), s605, Local0)
+ m600(arg0, 42, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Index(paui, 19)), s605, Local0)
+ m600(arg0, 43, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ NAnd(m601(1, 5), s605, Local0)
+ m600(arg0, 44, Local0, 0xffffffffffffffff)
+
+ NAnd(m601(1, 19), s605, Local0)
+ m600(arg0, 45, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(Derefof(m602(1, 5, 1)), s605, Local0)
+ m600(arg0, 46, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(m602(1, 19, 1)), s605, Local0)
+ m600(arg0, 47, Local0, 0x01834c6e29af5d7b)
+ }
+
+ // Conversion of the both operands
+
+ Store(NAnd(s601, s605), Local0)
+ m600(arg0, 48, Local0, 0xfffffffffffffdff)
+
+ Store(NAnd(s605, s601), Local0)
+ m600(arg0, 49, Local0, 0xfffffffffffffdff)
+
+ NAnd(s601, s605, Local0)
+ m600(arg0, 50, Local0, 0xfffffffffffffdff)
+
+ NAnd(s605, s601, Local0)
+ m600(arg0, 51, Local0, 0xfffffffffffffdff)
+ }
+
+ // NAnd, 32-bit
+ Method(m012, 1)
+ {
+ Name(s601, "0321")
+ Name(s604, "C179B3FE")
+
+ // Conversion of the first operand
+
+ Store(NAnd(s604, 0), Local0)
+ m600(arg0, 0, Local0, 0xffffffff)
+
+ Store(NAnd(s604, 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0x3e864c01)
+
+ Store(NAnd(s604, aui5), Local0)
+ m600(arg0, 2, Local0, 0xffffffff)
+
+ Store(NAnd(s604, auii), Local0)
+ m600(arg0, 3, Local0, 0x3e864c01)
+
+ if (y078) {
+ Store(NAnd(s604, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xffffffff)
+
+ Store(NAnd(s604, Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0x3e864c01)
+ }
+
+ Store(NAnd(s604, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xffffffff)
+
+ Store(NAnd(s604, Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0x3e864c01)
+
+ // Method returns Integer
+
+ Store(NAnd(s604, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xffffffff)
+
+ Store(NAnd(s604, m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0x3e864c01)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(s604, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xffffffff)
+
+ Store(NAnd(s604, Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0x3e864c01)
+ }
+
+ NAnd(s604, 0, Local0)
+ m600(arg0, 12, Local0, 0xffffffff)
+
+ NAnd(s604, 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0x3e864c01)
+
+ NAnd(s604, aui5, Local0)
+ m600(arg0, 14, Local0, 0xffffffff)
+
+ NAnd(s604, auii, Local0)
+ m600(arg0, 15, Local0, 0x3e864c01)
+
+ if (y078) {
+ NAnd(s604, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xffffffff)
+
+ NAnd(s604, Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0x3e864c01)
+ }
+
+ NAnd(s604, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xffffffff)
+
+ NAnd(s604, Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0x3e864c01)
+
+ // Method returns Integer
+
+ NAnd(s604, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xffffffff)
+
+ NAnd(s604, m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0x3e864c01)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(s604, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xffffffff)
+
+ NAnd(s604, Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0x3e864c01)
+ }
+
+ // Conversion of the second operand
+
+ Store(NAnd(0, s604), Local0)
+ m600(arg0, 24, Local0, 0xffffffff)
+
+ Store(NAnd(0xffffffff, s604), Local0)
+ m600(arg0, 25, Local0, 0x3e864c01)
+
+ Store(NAnd(aui5, s604), Local0)
+ m600(arg0, 26, Local0, 0xffffffff)
+
+ Store(NAnd(auii, s604), Local0)
+ m600(arg0, 27, Local0, 0x3e864c01)
+
+ if (y078) {
+ Store(NAnd(Derefof(Refof(aui5)), s604), Local0)
+ m600(arg0, 28, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(Refof(auii)), s604), Local0)
+ m600(arg0, 29, Local0, 0x3e864c01)
+ }
+
+ Store(NAnd(Derefof(Index(paui, 5)), s604), Local0)
+ m600(arg0, 30, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(Index(paui, 18)), s604), Local0)
+ m600(arg0, 31, Local0, 0x3e864c01)
+
+ // Method returns Integer
+
+ Store(NAnd(m601(1, 5), s604), Local0)
+ m600(arg0, 32, Local0, 0xffffffff)
+
+ Store(NAnd(m601(1, 18), s604), Local0)
+ m600(arg0, 33, Local0, 0x3e864c01)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(Derefof(m602(1, 5, 1)), s604), Local0)
+ m600(arg0, 34, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(m602(1, 18, 1)), s604), Local0)
+ m600(arg0, 35, Local0, 0x3e864c01)
+ }
+
+ NAnd(0, s604, Local0)
+ m600(arg0, 36, Local0, 0xffffffff)
+
+ NAnd(0xffffffff, s604, Local0)
+ m600(arg0, 37, Local0, 0x3e864c01)
+
+ NAnd(aui5, s604, Local0)
+ m600(arg0, 38, Local0, 0xffffffff)
+
+ NAnd(auii, s604, Local0)
+ m600(arg0, 39, Local0, 0x3e864c01)
+
+ if (y078) {
+ NAnd(Derefof(Refof(aui5)), s604, Local0)
+ m600(arg0, 40, Local0, 0xffffffff)
+
+ NAnd(Derefof(Refof(auii)), s604, Local0)
+ m600(arg0, 41, Local0, 0x3e864c01)
+ }
+
+ NAnd(Derefof(Index(paui, 5)), s604, Local0)
+ m600(arg0, 42, Local0, 0xffffffff)
+
+ NAnd(Derefof(Index(paui, 18)), s604, Local0)
+ m600(arg0, 43, Local0, 0x3e864c01)
+
+ // Method returns Integer
+
+ NAnd(m601(1, 5), s604, Local0)
+ m600(arg0, 44, Local0, 0xffffffff)
+
+ NAnd(m601(1, 18), s604, Local0)
+ m600(arg0, 45, Local0, 0x3e864c01)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(Derefof(m602(1, 5, 1)), s604, Local0)
+ m600(arg0, 46, Local0, 0xffffffff)
+
+ NAnd(Derefof(m602(1, 18, 1)), s604, Local0)
+ m600(arg0, 47, Local0, 0x3e864c01)
+ }
+
+ // Conversion of the both operands
+
+ Store(NAnd(s601, s604), Local0)
+ m600(arg0, 48, Local0, 0xfffffcdf)
+
+ Store(NAnd(s604, s601), Local0)
+ m600(arg0, 49, Local0, 0xfffffcdf)
+
+ NAnd(s601, s604, Local0)
+ m600(arg0, 50, Local0, 0xfffffcdf)
+
+ NAnd(s604, s601, Local0)
+ m600(arg0, 51, Local0, 0xfffffcdf)
+ }
+
+ // NOr, common 32-bit/64-bit test
+ Method(m013, 1)
+ {
+ Name(s601, "0321")
+
+ // Conversion of the first operand
+
+ Store(NOr(s601, 0), Local0)
+ m600(arg0, 0, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(s601, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0)
+
+ Store(NOr(s601, aui5), Local0)
+ m600(arg0, 2, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(s601, auij), Local0)
+ m600(arg0, 3, Local0, 0)
+
+ if (y078) {
+ Store(NOr(s601, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(s601, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0)
+ }
+
+ Store(NOr(s601, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(s601, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(s601, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(s601, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(s601, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(s601, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0)
+ }
+
+ NOr(s601, 0, Local0)
+ m600(arg0, 12, Local0, 0xfffffffffffffcde)
+
+ NOr(s601, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0)
+
+ NOr(s601, aui5, Local0)
+ m600(arg0, 14, Local0, 0xfffffffffffffcde)
+
+ NOr(s601, auij, Local0)
+ m600(arg0, 15, Local0, 0)
+
+ if (y078) {
+ NOr(s601, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfffffffffffffcde)
+
+ NOr(s601, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0)
+ }
+
+ NOr(s601, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfffffffffffffcde)
+
+ NOr(s601, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(s601, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfffffffffffffcde)
+
+ NOr(s601, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(s601, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfffffffffffffcde)
+
+ NOr(s601, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0)
+ }
+
+ // Conversion of the second operand
+
+ Store(NOr(0, s601), Local0)
+ m600(arg0, 24, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(0xffffffffffffffff, s601), Local0)
+ m600(arg0, 25, Local0, 0)
+
+ Store(NOr(aui5, s601), Local0)
+ m600(arg0, 26, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(auij, s601), Local0)
+ m600(arg0, 27, Local0, 0)
+
+ if (y078) {
+ Store(NOr(Derefof(Refof(aui5)), s601), Local0)
+ m600(arg0, 28, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(Refof(auij)), s601), Local0)
+ m600(arg0, 29, Local0, 0)
+ }
+
+ Store(NOr(Derefof(Index(paui, 5)), s601), Local0)
+ m600(arg0, 30, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(Index(paui, 19)), s601), Local0)
+ m600(arg0, 31, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(m601(1, 5), s601), Local0)
+ m600(arg0, 32, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(m601(1, 19), s601), Local0)
+ m600(arg0, 33, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(Derefof(m602(1, 5, 1)), s601), Local0)
+ m600(arg0, 34, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(m602(1, 19, 1)), s601), Local0)
+ m600(arg0, 35, Local0, 0)
+ }
+
+ NOr(0, s601, Local0)
+ m600(arg0, 36, Local0, 0xfffffffffffffcde)
+
+ NOr(0xffffffffffffffff, s601, Local0)
+ m600(arg0, 37, Local0, 0)
+
+ NOr(aui5, s601, Local0)
+ m600(arg0, 38, Local0, 0xfffffffffffffcde)
+
+ NOr(auij, s601, Local0)
+ m600(arg0, 39, Local0, 0)
+
+ if (y078) {
+ NOr(Derefof(Refof(aui5)), s601, Local0)
+ m600(arg0, 40, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(Refof(auij)), s601, Local0)
+ m600(arg0, 41, Local0, 0)
+ }
+
+ NOr(Derefof(Index(paui, 5)), s601, Local0)
+ m600(arg0, 42, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(Index(paui, 19)), s601, Local0)
+ m600(arg0, 43, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(m601(1, 5), s601, Local0)
+ m600(arg0, 44, Local0, 0xfffffffffffffcde)
+
+ NOr(m601(1, 19), s601, Local0)
+ m600(arg0, 45, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(Derefof(m602(1, 5, 1)), s601, Local0)
+ m600(arg0, 46, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(m602(1, 19, 1)), s601, Local0)
+ m600(arg0, 47, Local0, 0)
+ }
+ }
+
+ // NOr, 64-bit
+ Method(m014, 1)
+ {
+ Name(s601, "0321")
+ Name(s605, "FE7CB391D650A284")
+
+ // Conversion of the first operand
+
+ Store(NOr(s605, 0), Local0)
+ m600(arg0, 0, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(s605, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0)
+
+ Store(NOr(s605, aui5), Local0)
+ m600(arg0, 2, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(s605, auij), Local0)
+ m600(arg0, 3, Local0, 0)
+
+ if (y078) {
+ Store(NOr(s605, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(s605, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0)
+ }
+
+ Store(NOr(s605, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(s605, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(s605, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(s605, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(s605, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(s605, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0)
+ }
+
+ NOr(s605, 0, Local0)
+ m600(arg0, 12, Local0, 0x01834c6e29af5d7b)
+
+ NOr(s605, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0)
+
+ NOr(s605, aui5, Local0)
+ m600(arg0, 14, Local0, 0x01834c6e29af5d7b)
+
+ NOr(s605, auij, Local0)
+ m600(arg0, 15, Local0, 0)
+
+ if (y078) {
+ NOr(s605, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x01834c6e29af5d7b)
+
+ NOr(s605, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0)
+ }
+
+ NOr(s605, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x01834c6e29af5d7b)
+
+ NOr(s605, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(s605, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x01834c6e29af5d7b)
+
+ NOr(s605, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(s605, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x01834c6e29af5d7b)
+
+ NOr(s605, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0)
+ }
+
+ // Conversion of the second operand
+
+ Store(NOr(0, s605), Local0)
+ m600(arg0, 24, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(0xffffffffffffffff, s605), Local0)
+ m600(arg0, 25, Local0, 0)
+
+ Store(NOr(aui5, s605), Local0)
+ m600(arg0, 26, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(auij, s605), Local0)
+ m600(arg0, 27, Local0, 0)
+
+ if (y078) {
+ Store(NOr(Derefof(Refof(aui5)), s605), Local0)
+ m600(arg0, 28, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(Refof(auij)), s605), Local0)
+ m600(arg0, 29, Local0, 0)
+ }
+
+ Store(NOr(Derefof(Index(paui, 5)), s605), Local0)
+ m600(arg0, 30, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(Index(paui, 19)), s605), Local0)
+ m600(arg0, 31, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(m601(1, 5), s605), Local0)
+ m600(arg0, 32, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(m601(1, 19), s605), Local0)
+ m600(arg0, 33, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(Derefof(m602(1, 5, 1)), s605), Local0)
+ m600(arg0, 34, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(m602(1, 19, 1)), s605), Local0)
+ m600(arg0, 35, Local0, 0)
+ }
+
+ NOr(0, s605, Local0)
+ m600(arg0, 36, Local0, 0x01834c6e29af5d7b)
+
+ NOr(0xffffffffffffffff, s605, Local0)
+ m600(arg0, 37, Local0, 0)
+
+ NOr(aui5, s605, Local0)
+ m600(arg0, 38, Local0, 0x01834c6e29af5d7b)
+
+ NOr(auij, s605, Local0)
+ m600(arg0, 39, Local0, 0)
+
+ if (y078) {
+ NOr(Derefof(Refof(aui5)), s605, Local0)
+ m600(arg0, 40, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(Refof(auij)), s605, Local0)
+ m600(arg0, 41, Local0, 0)
+ }
+
+ NOr(Derefof(Index(paui, 5)), s605, Local0)
+ m600(arg0, 42, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(Index(paui, 19)), s605, Local0)
+ m600(arg0, 43, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(m601(1, 5), s605, Local0)
+ m600(arg0, 44, Local0, 0x01834c6e29af5d7b)
+
+ NOr(m601(1, 19), s605, Local0)
+ m600(arg0, 45, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(Derefof(m602(1, 5, 1)), s605, Local0)
+ m600(arg0, 46, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(m602(1, 19, 1)), s605, Local0)
+ m600(arg0, 47, Local0, 0)
+ }
+
+ // Conversion of the both operands
+
+ Store(NOr(s601, s605), Local0)
+ m600(arg0, 48, Local0, 0x01834c6e29af5c5a)
+
+ Store(NOr(s605, s601), Local0)
+ m600(arg0, 49, Local0, 0x01834c6e29af5c5a)
+
+ NOr(s601, s605, Local0)
+ m600(arg0, 50, Local0, 0x01834c6e29af5c5a)
+
+ NOr(s605, s601, Local0)
+ m600(arg0, 51, Local0, 0x01834c6e29af5c5a)
+ }
+
+ // NOr, 32-bit
+ Method(m015, 1)
+ {
+ Name(s601, "0321")
+ Name(s604, "C179B3FE")
+
+ // Conversion of the first operand
+
+ Store(NOr(s604, 0), Local0)
+ m600(arg0, 0, Local0, 0x3e864c01)
+
+ Store(NOr(s604, 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0)
+
+ Store(NOr(s604, aui5), Local0)
+ m600(arg0, 2, Local0, 0x3e864c01)
+
+ Store(NOr(s604, auii), Local0)
+ m600(arg0, 3, Local0, 0)
+
+ if (y078) {
+ Store(NOr(s604, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x3e864c01)
+
+ Store(NOr(s604, Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0)
+ }
+
+ Store(NOr(s604, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x3e864c01)
+
+ Store(NOr(s604, Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(s604, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x3e864c01)
+
+ Store(NOr(s604, m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(s604, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x3e864c01)
+
+ Store(NOr(s604, Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0)
+ }
+
+ NOr(s604, 0, Local0)
+ m600(arg0, 12, Local0, 0x3e864c01)
+
+ NOr(s604, 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0)
+
+ NOr(s604, aui5, Local0)
+ m600(arg0, 14, Local0, 0x3e864c01)
+
+ NOr(s604, auii, Local0)
+ m600(arg0, 15, Local0, 0)
+
+ if (y078) {
+ NOr(s604, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x3e864c01)
+
+ NOr(s604, Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0)
+ }
+
+ NOr(s604, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x3e864c01)
+
+ NOr(s604, Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(s604, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x3e864c01)
+
+ NOr(s604, m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(s604, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x3e864c01)
+
+ NOr(s604, Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0)
+ }
+
+ // Conversion of the second operand
+
+ Store(NOr(0, s604), Local0)
+ m600(arg0, 24, Local0, 0x3e864c01)
+
+ Store(NOr(0xffffffff, s604), Local0)
+ m600(arg0, 25, Local0, 0)
+
+ Store(NOr(aui5, s604), Local0)
+ m600(arg0, 26, Local0, 0x3e864c01)
+
+ Store(NOr(auii, s604), Local0)
+ m600(arg0, 27, Local0, 0)
+
+ if (y078) {
+ Store(NOr(Derefof(Refof(aui5)), s604), Local0)
+ m600(arg0, 28, Local0, 0x3e864c01)
+
+ Store(NOr(Derefof(Refof(auii)), s604), Local0)
+ m600(arg0, 29, Local0, 0)
+ }
+
+ Store(NOr(Derefof(Index(paui, 5)), s604), Local0)
+ m600(arg0, 30, Local0, 0x3e864c01)
+
+ Store(NOr(Derefof(Index(paui, 18)), s604), Local0)
+ m600(arg0, 31, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(m601(1, 5), s604), Local0)
+ m600(arg0, 32, Local0, 0x3e864c01)
+
+ Store(NOr(m601(1, 18), s604), Local0)
+ m600(arg0, 33, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(Derefof(m602(1, 5, 1)), s604), Local0)
+ m600(arg0, 34, Local0, 0x3e864c01)
+
+ Store(NOr(Derefof(m602(1, 18, 1)), s604), Local0)
+ m600(arg0, 35, Local0, 0)
+ }
+
+ NOr(0, s604, Local0)
+ m600(arg0, 36, Local0, 0x3e864c01)
+
+ NOr(0xffffffff, s604, Local0)
+ m600(arg0, 37, Local0, 0)
+
+ NOr(aui5, s604, Local0)
+ m600(arg0, 38, Local0, 0x3e864c01)
+
+ NOr(auii, s604, Local0)
+ m600(arg0, 39, Local0, 0)
+
+ if (y078) {
+ NOr(Derefof(Refof(aui5)), s604, Local0)
+ m600(arg0, 40, Local0, 0x3e864c01)
+
+ NOr(Derefof(Refof(auii)), s604, Local0)
+ m600(arg0, 41, Local0, 0)
+ }
+
+ NOr(Derefof(Index(paui, 5)), s604, Local0)
+ m600(arg0, 42, Local0, 0x3e864c01)
+
+ NOr(Derefof(Index(paui, 18)), s604, Local0)
+ m600(arg0, 43, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(m601(1, 5), s604, Local0)
+ m600(arg0, 44, Local0, 0x3e864c01)
+
+ NOr(m601(1, 18), s604, Local0)
+ m600(arg0, 45, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(Derefof(m602(1, 5, 1)), s604, Local0)
+ m600(arg0, 46, Local0, 0x3e864c01)
+
+ NOr(Derefof(m602(1, 18, 1)), s604, Local0)
+ m600(arg0, 47, Local0, 0)
+ }
+
+ // Conversion of the both operands
+
+ Store(NOr(s601, s604), Local0)
+ m600(arg0, 48, Local0, 0x3e864c00)
+
+ Store(NOr(s604, s601), Local0)
+ m600(arg0, 49, Local0, 0x3e864c00)
+
+ NOr(s601, s604, Local0)
+ m600(arg0, 50, Local0, 0x3e864c00)
+
+ NOr(s604, s601, Local0)
+ m600(arg0, 51, Local0, 0x3e864c00)
+ }
+
+ // Or, common 32-bit/64-bit test
+ Method(m016, 1)
+ {
+ Name(s601, "0321")
+
+ // Conversion of the first operand
+
+ Store(Or(s601, 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Or(s601, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xffffffffffffffff)
+
+ Store(Or(s601, aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Or(s601, auij), Local0)
+ m600(arg0, 3, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Store(Or(s601, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Or(s601, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xffffffffffffffff)
+ }
+
+ Store(Or(s601, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Or(s601, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Store(Or(s601, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Or(s601, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(s601, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Or(s601, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xffffffffffffffff)
+ }
+
+ Or(s601, 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Or(s601, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xffffffffffffffff)
+
+ Or(s601, aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Or(s601, auij, Local0)
+ m600(arg0, 15, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Or(s601, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Or(s601, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xffffffffffffffff)
+ }
+
+ Or(s601, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Or(s601, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Or(s601, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Or(s601, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(s601, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Or(s601, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xffffffffffffffff)
+ }
+
+ // Conversion of the second operand
+
+ Store(Or(0, s601), Local0)
+ m600(arg0, 24, Local0, 0x321)
+
+ Store(Or(0xffffffffffffffff, s601), Local0)
+ m600(arg0, 25, Local0, 0xffffffffffffffff)
+
+ Store(Or(aui5, s601), Local0)
+ m600(arg0, 26, Local0, 0x321)
+
+ Store(Or(auij, s601), Local0)
+ m600(arg0, 27, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Store(Or(Derefof(Refof(aui5)), s601), Local0)
+ m600(arg0, 28, Local0, 0x321)
+
+ Store(Or(Derefof(Refof(auij)), s601), Local0)
+ m600(arg0, 29, Local0, 0xffffffffffffffff)
+ }
+
+ Store(Or(Derefof(Index(paui, 5)), s601), Local0)
+ m600(arg0, 30, Local0, 0x321)
+
+ Store(Or(Derefof(Index(paui, 19)), s601), Local0)
+ m600(arg0, 31, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Store(Or(m601(1, 5), s601), Local0)
+ m600(arg0, 32, Local0, 0x321)
+
+ Store(Or(m601(1, 19), s601), Local0)
+ m600(arg0, 33, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(Derefof(m602(1, 5, 1)), s601), Local0)
+ m600(arg0, 34, Local0, 0x321)
+
+ Store(Or(Derefof(m602(1, 19, 1)), s601), Local0)
+ m600(arg0, 35, Local0, 0xffffffffffffffff)
+ }
+
+ Or(0, s601, Local0)
+ m600(arg0, 36, Local0, 0x321)
+
+ Or(0xffffffffffffffff, s601, Local0)
+ m600(arg0, 37, Local0, 0xffffffffffffffff)
+
+ Or(aui5, s601, Local0)
+ m600(arg0, 38, Local0, 0x321)
+
+ Or(auij, s601, Local0)
+ m600(arg0, 39, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Or(Derefof(Refof(aui5)), s601, Local0)
+ m600(arg0, 40, Local0, 0x321)
+
+ Or(Derefof(Refof(auij)), s601, Local0)
+ m600(arg0, 41, Local0, 0xffffffffffffffff)
+ }
+
+ Or(Derefof(Index(paui, 5)), s601, Local0)
+ m600(arg0, 42, Local0, 0x321)
+
+ Or(Derefof(Index(paui, 19)), s601, Local0)
+ m600(arg0, 43, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Or(m601(1, 5), s601, Local0)
+ m600(arg0, 44, Local0, 0x321)
+
+ Or(m601(1, 19), s601, Local0)
+ m600(arg0, 45, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(Derefof(m602(1, 5, 1)), s601, Local0)
+ m600(arg0, 46, Local0, 0x321)
+
+ Or(Derefof(m602(1, 19, 1)), s601, Local0)
+ m600(arg0, 47, Local0, 0xffffffffffffffff)
+ }
+ }
+
+ // Or, 64-bit
+ Method(m017, 1)
+ {
+ Name(s601, "0321")
+ Name(s605, "FE7CB391D650A284")
+
+ // Conversion of the first operand
+
+ Store(Or(s605, 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(s605, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xffffffffffffffff)
+
+ Store(Or(s605, aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(s605, auij), Local0)
+ m600(arg0, 3, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Store(Or(s605, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(s605, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xffffffffffffffff)
+ }
+
+ Store(Or(s605, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(s605, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Store(Or(s605, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(s605, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(s605, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(s605, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xffffffffffffffff)
+ }
+
+ Or(s605, 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Or(s605, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xffffffffffffffff)
+
+ Or(s605, aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Or(s605, auij, Local0)
+ m600(arg0, 15, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Or(s605, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Or(s605, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xffffffffffffffff)
+ }
+
+ Or(s605, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Or(s605, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Or(s605, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Or(s605, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(s605, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Or(s605, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xffffffffffffffff)
+ }
+
+ // Conversion of the second operand
+
+ Store(Or(0, s605), Local0)
+ m600(arg0, 24, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(0xffffffffffffffff, s605), Local0)
+ m600(arg0, 25, Local0, 0xffffffffffffffff)
+
+ Store(Or(aui5, s605), Local0)
+ m600(arg0, 26, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(auij, s605), Local0)
+ m600(arg0, 27, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Store(Or(Derefof(Refof(aui5)), s605), Local0)
+ m600(arg0, 28, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(Refof(auij)), s605), Local0)
+ m600(arg0, 29, Local0, 0xffffffffffffffff)
+ }
+
+ Store(Or(Derefof(Index(paui, 5)), s605), Local0)
+ m600(arg0, 30, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(Index(paui, 19)), s605), Local0)
+ m600(arg0, 31, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Store(Or(m601(1, 5), s605), Local0)
+ m600(arg0, 32, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(m601(1, 19), s605), Local0)
+ m600(arg0, 33, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(Derefof(m602(1, 5, 1)), s605), Local0)
+ m600(arg0, 34, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(m602(1, 19, 1)), s605), Local0)
+ m600(arg0, 35, Local0, 0xffffffffffffffff)
+ }
+
+ Or(0, s605, Local0)
+ m600(arg0, 36, Local0, 0xfe7cb391d650a284)
+
+ Or(0xffffffffffffffff, s605, Local0)
+ m600(arg0, 37, Local0, 0xffffffffffffffff)
+
+ Or(aui5, s605, Local0)
+ m600(arg0, 38, Local0, 0xfe7cb391d650a284)
+
+ Or(auij, s605, Local0)
+ m600(arg0, 39, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Or(Derefof(Refof(aui5)), s605, Local0)
+ m600(arg0, 40, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(Refof(auij)), s605, Local0)
+ m600(arg0, 41, Local0, 0xffffffffffffffff)
+ }
+
+ Or(Derefof(Index(paui, 5)), s605, Local0)
+ m600(arg0, 42, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(Index(paui, 19)), s605, Local0)
+ m600(arg0, 43, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Or(m601(1, 5), s605, Local0)
+ m600(arg0, 44, Local0, 0xfe7cb391d650a284)
+
+ Or(m601(1, 19), s605, Local0)
+ m600(arg0, 45, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(Derefof(m602(1, 5, 1)), s605, Local0)
+ m600(arg0, 46, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(m602(1, 19, 1)), s605, Local0)
+ m600(arg0, 47, Local0, 0xffffffffffffffff)
+ }
+
+ // Conversion of the both operands
+
+ Store(Or(s601, s605), Local0)
+ m600(arg0, 48, Local0, 0xfe7cb391d650a3a5)
+
+ Store(Or(s605, s601), Local0)
+ m600(arg0, 49, Local0, 0xfe7cb391d650a3a5)
+
+ Or(s601, s605, Local0)
+ m600(arg0, 50, Local0, 0xfe7cb391d650a3a5)
+
+ Or(s605, s601, Local0)
+ m600(arg0, 51, Local0, 0xfe7cb391d650a3a5)
+ }
+
+ // Or, 32-bit
+ Method(m018, 1)
+ {
+ Name(s601, "0321")
+ Name(s604, "C179B3FE")
+
+ // Conversion of the first operand
+
+ Store(Or(s604, 0), Local0)
+ m600(arg0, 0, Local0, 0xc179b3fe)
+
+ Store(Or(s604, 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0xffffffff)
+
+ Store(Or(s604, aui5), Local0)
+ m600(arg0, 2, Local0, 0xc179b3fe)
+
+ Store(Or(s604, auii), Local0)
+ m600(arg0, 3, Local0, 0xffffffff)
+
+ if (y078) {
+ Store(Or(s604, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xc179b3fe)
+
+ Store(Or(s604, Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0xffffffff)
+ }
+
+ Store(Or(s604, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xc179b3fe)
+
+ Store(Or(s604, Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0xffffffff)
+
+ // Method returns Integer
+
+ Store(Or(s604, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xc179b3fe)
+
+ Store(Or(s604, m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0xffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(s604, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xc179b3fe)
+
+ Store(Or(s604, Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0xffffffff)
+ }
+
+ Or(s604, 0, Local0)
+ m600(arg0, 12, Local0, 0xc179b3fe)
+
+ Or(s604, 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0xffffffff)
+
+ Or(s604, aui5, Local0)
+ m600(arg0, 14, Local0, 0xc179b3fe)
+
+ Or(s604, auii, Local0)
+ m600(arg0, 15, Local0, 0xffffffff)
+
+ if (y078) {
+ Or(s604, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xc179b3fe)
+
+ Or(s604, Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0xffffffff)
+ }
+
+ Or(s604, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xc179b3fe)
+
+ Or(s604, Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0xffffffff)
+
+ // Method returns Integer
+
+ Or(s604, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xc179b3fe)
+
+ Or(s604, m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0xffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(s604, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xc179b3fe)
+
+ Or(s604, Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0xffffffff)
+ }
+
+ // Conversion of the second operand
+
+ Store(Or(0, s604), Local0)
+ m600(arg0, 24, Local0, 0xc179b3fe)
+
+ Store(Or(0xffffffff, s604), Local0)
+ m600(arg0, 25, Local0, 0xffffffff)
+
+ Store(Or(aui5, s604), Local0)
+ m600(arg0, 26, Local0, 0xc179b3fe)
+
+ Store(Or(auii, s604), Local0)
+ m600(arg0, 27, Local0, 0xffffffff)
+
+ if (y078) {
+ Store(Or(Derefof(Refof(aui5)), s604), Local0)
+ m600(arg0, 28, Local0, 0xc179b3fe)
+
+ Store(Or(Derefof(Refof(auii)), s604), Local0)
+ m600(arg0, 29, Local0, 0xffffffff)
+ }
+
+ Store(Or(Derefof(Index(paui, 5)), s604), Local0)
+ m600(arg0, 30, Local0, 0xc179b3fe)
+
+ Store(Or(Derefof(Index(paui, 18)), s604), Local0)
+ m600(arg0, 31, Local0, 0xffffffff)
+
+ // Method returns Integer
+
+ Store(Or(m601(1, 5), s604), Local0)
+ m600(arg0, 32, Local0, 0xc179b3fe)
+
+ Store(Or(m601(1, 18), s604), Local0)
+ m600(arg0, 33, Local0, 0xffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(Derefof(m602(1, 5, 1)), s604), Local0)
+ m600(arg0, 34, Local0, 0xc179b3fe)
+
+ Store(Or(Derefof(m602(1, 18, 1)), s604), Local0)
+ m600(arg0, 35, Local0, 0xffffffff)
+ }
+
+ Or(0, s604, Local0)
+ m600(arg0, 36, Local0, 0xc179b3fe)
+
+ Or(0xffffffff, s604, Local0)
+ m600(arg0, 37, Local0, 0xffffffff)
+
+ Or(aui5, s604, Local0)
+ m600(arg0, 38, Local0, 0xc179b3fe)
+
+ Or(auii, s604, Local0)
+ m600(arg0, 39, Local0, 0xffffffff)
+
+ if (y078) {
+ Or(Derefof(Refof(aui5)), s604, Local0)
+ m600(arg0, 40, Local0, 0xc179b3fe)
+
+ Or(Derefof(Refof(auii)), s604, Local0)
+ m600(arg0, 41, Local0, 0xffffffff)
+ }
+
+ Or(Derefof(Index(paui, 5)), s604, Local0)
+ m600(arg0, 42, Local0, 0xc179b3fe)
+
+ Or(Derefof(Index(paui, 18)), s604, Local0)
+ m600(arg0, 43, Local0, 0xffffffff)
+
+ // Method returns Integer
+
+ Or(m601(1, 5), s604, Local0)
+ m600(arg0, 44, Local0, 0xc179b3fe)
+
+ Or(m601(1, 18), s604, Local0)
+ m600(arg0, 45, Local0, 0xffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(Derefof(m602(1, 5, 1)), s604, Local0)
+ m600(arg0, 46, Local0, 0xc179b3fe)
+
+ Or(Derefof(m602(1, 18, 1)), s604, Local0)
+ m600(arg0, 47, Local0, 0xffffffff)
+ }
+
+ // Conversion of the both operands
+
+ Store(Or(s601, s604), Local0)
+ m600(arg0, 48, Local0, 0xc179b3ff)
+
+ Store(Or(s604, s601), Local0)
+ m600(arg0, 49, Local0, 0xc179b3ff)
+
+ Or(s601, s604, Local0)
+ m600(arg0, 50, Local0, 0xc179b3ff)
+
+ Or(s604, s601, Local0)
+ m600(arg0, 51, Local0, 0xc179b3ff)
+ }
+
+ // ShiftLeft, common 32-bit/64-bit test
+ Method(m019, 1)
+ {
+ Name(s601, "0321")
+ Name(s614, "B")
+
+ // Conversion of the first operand
+
+ Store(ShiftLeft(s601, 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(ShiftLeft(s601, 1), Local0)
+ m600(arg0, 1, Local0, 0x642)
+
+ Store(ShiftLeft(s601, aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(ShiftLeft(s601, aui6), Local0)
+ m600(arg0, 3, Local0, 0x642)
+
+ if (y078) {
+ Store(ShiftLeft(s601, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(ShiftLeft(s601, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x642)
+ }
+
+ Store(ShiftLeft(s601, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(ShiftLeft(s601, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x642)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(s601, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(ShiftLeft(s601, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x642)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(s601, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(ShiftLeft(s601, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x642)
+ }
+
+ ShiftLeft(s601, 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ ShiftLeft(s601, 1, Local0)
+ m600(arg0, 13, Local0, 0x642)
+
+ ShiftLeft(s601, aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ ShiftLeft(s601, aui6, Local0)
+ m600(arg0, 15, Local0, 0x642)
+
+ if (y078) {
+ ShiftLeft(s601, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ ShiftLeft(s601, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x642)
+ }
+
+ ShiftLeft(s601, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ ShiftLeft(s601, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x642)
+
+ // Method returns Integer
+
+ ShiftLeft(s601, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ ShiftLeft(s601, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x642)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(s601, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ ShiftLeft(s601, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x642)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftLeft(0, s614), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftLeft(1, s614), Local0)
+ m600(arg0, 25, Local0, 0x800)
+
+ Store(ShiftLeft(aui5, s614), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftLeft(aui6, s614), Local0)
+ m600(arg0, 27, Local0, 0x800)
+
+ if (y078) {
+ Store(ShiftLeft(Derefof(Refof(aui5)), s614), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Refof(aui6)), s614), Local0)
+ m600(arg0, 29, Local0, 0x800)
+ }
+
+ Store(ShiftLeft(Derefof(Index(paui, 5)), s614), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Index(paui, 6)), s614), Local0)
+ m600(arg0, 31, Local0, 0x800)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(m601(1, 5), s614), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftLeft(m601(1, 6), s614), Local0)
+ m600(arg0, 33, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(Derefof(m602(1, 5, 1)), s614), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftLeft(Derefof(m602(1, 6, 1)), s614), Local0)
+ m600(arg0, 35, Local0, 0x800)
+ }
+
+ ShiftLeft(0, s614, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftLeft(1, s614, Local0)
+ m600(arg0, 37, Local0, 0x800)
+
+ ShiftLeft(aui5, s614, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftLeft(aui6, s614, Local0)
+ m600(arg0, 39, Local0, 0x800)
+
+ if (y078) {
+ ShiftLeft(Derefof(Refof(aui5)), s614, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftLeft(Derefof(Refof(aui6)), s614, Local0)
+ m600(arg0, 41, Local0, 0x800)
+ }
+
+ ShiftLeft(Derefof(Index(paui, 5)), s614, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftLeft(Derefof(Index(paui, 6)), s614, Local0)
+ m600(arg0, 43, Local0, 0x800)
+
+ // Method returns Integer
+
+ ShiftLeft(m601(1, 5), s614, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftLeft(m601(1, 6), s614, Local0)
+ m600(arg0, 45, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(Derefof(m602(1, 5, 1)), s614, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftLeft(Derefof(m602(1, 6, 1)), s614, Local0)
+ m600(arg0, 47, Local0, 0x800)
+ }
+ }
+
+ // ShiftLeft, 64-bit
+ Method(m01a, 1)
+ {
+ Name(s601, "0321")
+ Name(s605, "FE7CB391D650A284")
+ Name(s614, "B")
+
+ // Conversion of the first operand
+
+ Store(ShiftLeft(s605, 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(s605, 1), Local0)
+ m600(arg0, 1, Local0, 0xfcf96723aca14508)
+
+ Store(ShiftLeft(s605, aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(s605, aui6), Local0)
+ m600(arg0, 3, Local0, 0xfcf96723aca14508)
+
+ if (y078) {
+ Store(ShiftLeft(s605, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(s605, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xfcf96723aca14508)
+ }
+
+ Store(ShiftLeft(s605, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(s605, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xfcf96723aca14508)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(s605, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(s605, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xfcf96723aca14508)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(s605, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(s605, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfcf96723aca14508)
+ }
+
+ ShiftLeft(s605, 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(s605, 1, Local0)
+ m600(arg0, 13, Local0, 0xfcf96723aca14508)
+
+ ShiftLeft(s605, aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(s605, aui6, Local0)
+ m600(arg0, 15, Local0, 0xfcf96723aca14508)
+
+ if (y078) {
+ ShiftLeft(s605, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(s605, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xfcf96723aca14508)
+ }
+
+ ShiftLeft(s605, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(s605, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xfcf96723aca14508)
+
+ // Method returns Integer
+
+ ShiftLeft(s605, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(s605, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xfcf96723aca14508)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(s605, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(s605, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfcf96723aca14508)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftLeft(0, s614), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftLeft(1, s614), Local0)
+ m600(arg0, 25, Local0, 0x800)
+
+ Store(ShiftLeft(aui5, s614), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftLeft(aui6, s614), Local0)
+ m600(arg0, 27, Local0, 0x800)
+
+ if (y078) {
+ Store(ShiftLeft(Derefof(Refof(aui5)), s614), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Refof(aui6)), s614), Local0)
+ m600(arg0, 29, Local0, 0x800)
+ }
+
+ Store(ShiftLeft(Derefof(Index(paui, 5)), s614), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Index(paui, 6)), s614), Local0)
+ m600(arg0, 31, Local0, 0x800)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(m601(1, 5), s614), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftLeft(m601(1, 6), s614), Local0)
+ m600(arg0, 33, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(Derefof(m602(1, 5, 1)), s614), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftLeft(Derefof(m602(1, 6, 1)), s614), Local0)
+ m600(arg0, 35, Local0, 0x800)
+ }
+
+ ShiftLeft(0, s614, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftLeft(1, s614, Local0)
+ m600(arg0, 37, Local0, 0x800)
+
+ ShiftLeft(aui5, s614, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftLeft(aui6, s614, Local0)
+ m600(arg0, 39, Local0, 0x800)
+
+ if (y078) {
+ ShiftLeft(Derefof(Refof(aui5)), s614, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftLeft(Derefof(Refof(aui6)), s614, Local0)
+ m600(arg0, 41, Local0, 0x800)
+ }
+
+ ShiftLeft(Derefof(Index(paui, 5)), s614, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftLeft(Derefof(Index(paui, 6)), s614, Local0)
+ m600(arg0, 43, Local0, 0x800)
+
+ // Method returns Integer
+
+ ShiftLeft(m601(1, 5), s614, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftLeft(m601(1, 6), s614, Local0)
+ m600(arg0, 45, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(Derefof(m602(1, 5, 1)), s614, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftLeft(Derefof(m602(1, 6, 1)), s614, Local0)
+ m600(arg0, 47, Local0, 0x800)
+ }
+
+ // Conversion of the both operands
+
+ Store(ShiftLeft(s601, s614), Local0)
+ m600(arg0, 48, Local0, 0x190800)
+
+ Store(ShiftLeft(s605, s614), Local0)
+ m600(arg0, 49, Local0, 0xE59C8EB285142000)
+
+ ShiftLeft(s601, s614, Local0)
+ m600(arg0, 50, Local0, 0x190800)
+
+ ShiftLeft(s605, s614, Local0)
+ m600(arg0, 51, Local0, 0xE59C8EB285142000)
+ }
+
+ // ShiftLeft, 32-bit
+ Method(m01b, 1)
+ {
+ Name(s601, "0321")
+ Name(s604, "C179B3FE")
+ Name(s614, "B")
+
+ // Conversion of the first operand
+
+ Store(ShiftLeft(s604, 0), Local0)
+ m600(arg0, 0, Local0, 0xc179b3fe)
+
+ Store(ShiftLeft(s604, 1), Local0)
+ m600(arg0, 1, Local0, 0x82f367fc)
+
+ Store(ShiftLeft(s604, aui5), Local0)
+ m600(arg0, 2, Local0, 0xc179b3fe)
+
+ Store(ShiftLeft(s604, aui6), Local0)
+ m600(arg0, 3, Local0, 0x82f367fc)
+
+ if (y078) {
+ Store(ShiftLeft(s604, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xc179b3fe)
+
+ Store(ShiftLeft(s604, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x82f367fc)
+ }
+
+ Store(ShiftLeft(s604, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xc179b3fe)
+
+ Store(ShiftLeft(s604, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x82f367fc)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(s604, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xc179b3fe)
+
+ Store(ShiftLeft(s604, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x82f367fc)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(s604, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xc179b3fe)
+
+ Store(ShiftLeft(s604, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x82f367fc)
+ }
+
+ ShiftLeft(s604, 0, Local0)
+ m600(arg0, 12, Local0, 0xc179b3fe)
+
+ ShiftLeft(s604, 1, Local0)
+ m600(arg0, 13, Local0, 0x82f367fc)
+
+ ShiftLeft(s604, aui5, Local0)
+ m600(arg0, 14, Local0, 0xc179b3fe)
+
+ ShiftLeft(s604, aui6, Local0)
+ m600(arg0, 15, Local0, 0x82f367fc)
+
+ if (y078) {
+ ShiftLeft(s604, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xc179b3fe)
+
+ ShiftLeft(s604, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x82f367fc)
+ }
+
+ ShiftLeft(s604, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xc179b3fe)
+
+ ShiftLeft(s604, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x82f367fc)
+
+ // Method returns Integer
+
+ ShiftLeft(s604, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xc179b3fe)
+
+ ShiftLeft(s604, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x82f367fc)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(s604, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xc179b3fe)
+
+ ShiftLeft(s604, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x82f367fc)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftLeft(0, s614), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftLeft(1, s614), Local0)
+ m600(arg0, 25, Local0, 0x800)
+
+ Store(ShiftLeft(aui5, s614), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftLeft(aui6, s614), Local0)
+ m600(arg0, 27, Local0, 0x800)
+
+ if (y078) {
+ Store(ShiftLeft(Derefof(Refof(aui5)), s614), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Refof(aui6)), s614), Local0)
+ m600(arg0, 29, Local0, 0x800)
+ }
+
+ Store(ShiftLeft(Derefof(Index(paui, 5)), s614), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Index(paui, 6)), s614), Local0)
+ m600(arg0, 31, Local0, 0x800)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(m601(1, 5), s614), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftLeft(m601(1, 6), s614), Local0)
+ m600(arg0, 33, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(Derefof(m602(1, 5, 1)), s614), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftLeft(Derefof(m602(1, 6, 1)), s614), Local0)
+ m600(arg0, 35, Local0, 0x800)
+ }
+
+ ShiftLeft(0, s614, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftLeft(1, s614, Local0)
+ m600(arg0, 37, Local0, 0x800)
+
+ ShiftLeft(aui5, s614, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftLeft(aui6, s614, Local0)
+ m600(arg0, 39, Local0, 0x800)
+
+ if (y078) {
+ ShiftLeft(Derefof(Refof(aui5)), s614, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftLeft(Derefof(Refof(aui6)), s614, Local0)
+ m600(arg0, 41, Local0, 0x800)
+ }
+
+ ShiftLeft(Derefof(Index(paui, 5)), s614, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftLeft(Derefof(Index(paui, 6)), s614, Local0)
+ m600(arg0, 43, Local0, 0x800)
+
+ // Method returns Integer
+
+ ShiftLeft(m601(1, 5), s614, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftLeft(m601(1, 6), s614, Local0)
+ m600(arg0, 45, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(Derefof(m602(1, 5, 1)), s614, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftLeft(Derefof(m602(1, 6, 1)), s614, Local0)
+ m600(arg0, 47, Local0, 0x800)
+ }
+
+ // Conversion of the both operands
+
+ Store(ShiftLeft(s601, s614), Local0)
+ m600(arg0, 48, Local0, 0x190800)
+
+ Store(ShiftLeft(s604, s614), Local0)
+ m600(arg0, 49, Local0, 0xcd9ff000)
+
+ ShiftLeft(s601, s614, Local0)
+ m600(arg0, 50, Local0, 0x190800)
+
+ ShiftLeft(s604, s614, Local0)
+ m600(arg0, 51, Local0, 0xcd9ff000)
+ }
+
+ // ShiftRight, common 32-bit/64-bit test
+ Method(m01c, 1)
+ {
+ Name(s601, "0321")
+ Name(s614, "B")
+
+ // Conversion of the first operand
+
+ Store(ShiftRight(s601, 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(ShiftRight(s601, 1), Local0)
+ m600(arg0, 1, Local0, 0x190)
+
+ Store(ShiftRight(s601, aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(ShiftRight(s601, aui6), Local0)
+ m600(arg0, 3, Local0, 0x190)
+
+ if (y078) {
+ Store(ShiftRight(s601, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(ShiftRight(s601, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x190)
+ }
+
+ Store(ShiftRight(s601, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(ShiftRight(s601, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x190)
+
+ // Method returns Integer
+
+ Store(ShiftRight(s601, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(ShiftRight(s601, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x190)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(s601, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(ShiftRight(s601, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x190)
+ }
+
+ ShiftRight(s601, 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ ShiftRight(s601, 1, Local0)
+ m600(arg0, 13, Local0, 0x190)
+
+ ShiftRight(s601, aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ ShiftRight(s601, aui6, Local0)
+ m600(arg0, 15, Local0, 0x190)
+
+ if (y078) {
+ ShiftRight(s601, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ ShiftRight(s601, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x190)
+ }
+
+ ShiftRight(s601, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ ShiftRight(s601, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x190)
+
+ // Method returns Integer
+
+ ShiftRight(s601, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ ShiftRight(s601, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x190)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(s601, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ ShiftRight(s601, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x190)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftRight(0x321, s614), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftRight(0xc179b3fe, s614), Local0)
+ m600(arg0, 25, Local0, 0x182f36)
+
+ Store(ShiftRight(aui1, s614), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftRight(aui3, s614), Local0)
+ m600(arg0, 27, Local0, 0x182f36)
+
+ if (y078) {
+ Store(ShiftRight(Derefof(Refof(aui1)), s614), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftRight(Derefof(Refof(aui3)), s614), Local0)
+ m600(arg0, 29, Local0, 0x182f36)
+ }
+
+ Store(ShiftRight(Derefof(Index(paui, 1)), s614), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftRight(Derefof(Index(paui, 3)), s614), Local0)
+ m600(arg0, 31, Local0, 0x182f36)
+
+ // Method returns Integer
+
+ Store(ShiftRight(m601(1, 1), s614), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftRight(m601(1, 3), s614), Local0)
+ m600(arg0, 33, Local0, 0x182f36)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(Derefof(m602(1, 1, 1)), s614), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftRight(Derefof(m602(1, 3, 1)), s614), Local0)
+ m600(arg0, 35, Local0, 0x182f36)
+ }
+
+ ShiftRight(0x321, s614, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftRight(0xc179b3fe, s614, Local0)
+ m600(arg0, 37, Local0, 0x182f36)
+
+ ShiftRight(aui1, s614, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftRight(aui3, s614, Local0)
+ m600(arg0, 39, Local0, 0x182f36)
+
+ if (y078) {
+ ShiftRight(Derefof(Refof(aui1)), s614, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftRight(Derefof(Refof(aui3)), s614, Local0)
+ m600(arg0, 41, Local0, 0x182f36)
+ }
+
+ ShiftRight(Derefof(Index(paui, 1)), s614, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftRight(Derefof(Index(paui, 3)), s614, Local0)
+ m600(arg0, 43, Local0, 0x182f36)
+
+ // Method returns Integer
+
+ ShiftRight(m601(1, 1), s614, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftRight(m601(1, 3), s614, Local0)
+ m600(arg0, 45, Local0, 0x182f36)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(Derefof(m602(1, 1, 1)), s614, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftRight(Derefof(m602(1, 3, 1)), s614, Local0)
+ m600(arg0, 47, Local0, 0x182f36)
+ }
+ }
+
+ // ShiftRight, 64-bit
+ Method(m01d, 1)
+ {
+ Name(s601, "0321")
+ Name(s605, "FE7CB391D650A284")
+ Name(s614, "B")
+
+ // Conversion of the first operand
+
+ Store(ShiftRight(s605, 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(s605, 1), Local0)
+ m600(arg0, 1, Local0, 0x7f3e59c8eb285142)
+
+ Store(ShiftRight(s605, aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(s605, aui6), Local0)
+ m600(arg0, 3, Local0, 0x7f3e59c8eb285142)
+
+ if (y078) {
+ Store(ShiftRight(s605, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(s605, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x7f3e59c8eb285142)
+ }
+
+ Store(ShiftRight(s605, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(s605, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x7f3e59c8eb285142)
+
+ // Method returns Integer
+
+ Store(ShiftRight(s605, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(s605, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x7f3e59c8eb285142)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(s605, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(s605, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x7f3e59c8eb285142)
+ }
+
+ ShiftRight(s605, 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(s605, 1, Local0)
+ m600(arg0, 13, Local0, 0x7f3e59c8eb285142)
+
+ ShiftRight(s605, aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(s605, aui6, Local0)
+ m600(arg0, 15, Local0, 0x7f3e59c8eb285142)
+
+ if (y078) {
+ ShiftRight(s605, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(s605, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x7f3e59c8eb285142)
+ }
+
+ ShiftRight(s605, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(s605, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x7f3e59c8eb285142)
+
+ // Method returns Integer
+
+ ShiftRight(s605, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(s605, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x7f3e59c8eb285142)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(s605, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(s605, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x7f3e59c8eb285142)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftRight(0x321, s614), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftRight(0xfe7cb391d650a284, s614), Local0)
+ m600(arg0, 25, Local0, 0x1fcf96723aca14)
+
+ Store(ShiftRight(aui1, s614), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftRight(aui4, s614), Local0)
+ m600(arg0, 27, Local0, 0x1fcf96723aca14)
+
+ if (y078) {
+ Store(ShiftRight(Derefof(Refof(aui1)), s614), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftRight(Derefof(Refof(aui4)), s614), Local0)
+ m600(arg0, 29, Local0, 0x1fcf96723aca14)
+ }
+
+ Store(ShiftRight(Derefof(Index(paui, 1)), s614), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftRight(Derefof(Index(paui, 4)), s614), Local0)
+ m600(arg0, 31, Local0, 0x1fcf96723aca14)
+
+ // Method returns Integer
+
+ Store(ShiftRight(m601(1, 1), s614), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftRight(m601(1, 4), s614), Local0)
+ m600(arg0, 33, Local0, 0x1fcf96723aca14)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(Derefof(m602(1, 1, 1)), s614), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftRight(Derefof(m602(1, 4, 1)), s614), Local0)
+ m600(arg0, 35, Local0, 0x1fcf96723aca14)
+ }
+
+ ShiftRight(0x321, s614, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftRight(0xfe7cb391d650a284, s614, Local0)
+ m600(arg0, 37, Local0, 0x1fcf96723aca14)
+
+ ShiftRight(aui1, s614, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftRight(aui4, s614, Local0)
+ m600(arg0, 39, Local0, 0x1fcf96723aca14)
+
+ if (y078) {
+ ShiftRight(Derefof(Refof(aui1)), s614, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftRight(Derefof(Refof(aui4)), s614, Local0)
+ m600(arg0, 41, Local0, 0x1fcf96723aca14)
+ }
+
+ ShiftRight(Derefof(Index(paui, 1)), s614, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftRight(Derefof(Index(paui, 4)), s614, Local0)
+ m600(arg0, 43, Local0, 0x1fcf96723aca14)
+
+ // Method returns Integer
+
+ ShiftRight(m601(1, 1), s614, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftRight(m601(1, 4), s614, Local0)
+ m600(arg0, 45, Local0, 0x1fcf96723aca14)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(Derefof(m602(1, 1, 1)), s614, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftRight(Derefof(m602(1, 4, 1)), s614, Local0)
+ m600(arg0, 47, Local0, 0x1fcf96723aca14)
+ }
+
+ // Conversion of the both operands
+
+ Store(ShiftRight(s601, s614), Local0)
+ m600(arg0, 48, Local0, 0)
+
+ Store(ShiftRight(s605, s614), Local0)
+ m600(arg0, 49, Local0, 0x1fcf96723aca14)
+
+ ShiftRight(s601, s614, Local0)
+ m600(arg0, 50, Local0, 0)
+
+ ShiftRight(s605, s614, Local0)
+ m600(arg0, 51, Local0, 0x1fcf96723aca14)
+ }
+
+ // ShiftRight, 32-bit
+ Method(m01e, 1)
+ {
+ Name(s601, "0321")
+ Name(s604, "C179B3FE")
+ Name(s614, "B")
+
+ // Conversion of the first operand
+
+ Store(ShiftRight(s604, 0), Local0)
+ m600(arg0, 0, Local0, 0xc179b3fe)
+
+ Store(ShiftRight(s604, 1), Local0)
+ m600(arg0, 1, Local0, 0x60bcd9ff)
+
+ Store(ShiftRight(s604, aui5), Local0)
+ m600(arg0, 2, Local0, 0xc179b3fe)
+
+ Store(ShiftRight(s604, aui6), Local0)
+ m600(arg0, 3, Local0, 0x60bcd9ff)
+
+ if (y078) {
+ Store(ShiftRight(s604, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xc179b3fe)
+
+ Store(ShiftRight(s604, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x60bcd9ff)
+ }
+
+ Store(ShiftRight(s604, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xc179b3fe)
+
+ Store(ShiftRight(s604, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x60bcd9ff)
+
+ // Method returns Integer
+
+ Store(ShiftRight(s604, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xc179b3fe)
+
+ Store(ShiftRight(s604, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x60bcd9ff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(s604, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xc179b3fe)
+
+ Store(ShiftRight(s604, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x60bcd9ff)
+ }
+
+ ShiftRight(s604, 0, Local0)
+ m600(arg0, 12, Local0, 0xc179b3fe)
+
+ ShiftRight(s604, 1, Local0)
+ m600(arg0, 13, Local0, 0x60bcd9ff)
+
+ ShiftRight(s604, aui5, Local0)
+ m600(arg0, 14, Local0, 0xc179b3fe)
+
+ ShiftRight(s604, aui6, Local0)
+ m600(arg0, 15, Local0, 0x60bcd9ff)
+
+ if (y078) {
+ ShiftRight(s604, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xc179b3fe)
+
+ ShiftRight(s604, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x60bcd9ff)
+ }
+
+ ShiftRight(s604, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xc179b3fe)
+
+ ShiftRight(s604, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x60bcd9ff)
+
+ // Method returns Integer
+
+ ShiftRight(s604, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xc179b3fe)
+
+ ShiftRight(s604, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x60bcd9ff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(s604, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xc179b3fe)
+
+ ShiftRight(s604, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x60bcd9ff)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftRight(0x321, s614), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftRight(0xc179b3fe, s614), Local0)
+ m600(arg0, 25, Local0, 0x182f36)
+
+ Store(ShiftRight(aui1, s614), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftRight(aui3, s614), Local0)
+ m600(arg0, 27, Local0, 0x182f36)
+
+ if (y078) {
+ Store(ShiftRight(Derefof(Refof(aui1)), s614), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftRight(Derefof(Refof(aui3)), s614), Local0)
+ m600(arg0, 29, Local0, 0x182f36)
+ }
+
+ Store(ShiftRight(Derefof(Index(paui, 1)), s614), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftRight(Derefof(Index(paui, 3)), s614), Local0)
+ m600(arg0, 31, Local0, 0x182f36)
+
+ // Method returns Integer
+
+ Store(ShiftRight(m601(1, 1), s614), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftRight(m601(1, 3), s614), Local0)
+ m600(arg0, 33, Local0, 0x182f36)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(Derefof(m602(1, 1, 1)), s614), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftRight(Derefof(m602(1, 3, 1)), s614), Local0)
+ m600(arg0, 35, Local0, 0x182f36)
+ }
+
+ ShiftRight(0x321, s614, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftRight(0xc179b3fe, s614, Local0)
+ m600(arg0, 37, Local0, 0x182f36)
+
+ ShiftRight(aui1, s614, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftRight(aui3, s614, Local0)
+ m600(arg0, 39, Local0, 0x182f36)
+
+ if (y078) {
+ ShiftRight(Derefof(Refof(aui1)), s614, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftRight(Derefof(Refof(aui3)), s614, Local0)
+ m600(arg0, 41, Local0, 0x182f36)
+ }
+
+ ShiftRight(Derefof(Index(paui, 1)), s614, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftRight(Derefof(Index(paui, 3)), s614, Local0)
+ m600(arg0, 43, Local0, 0x182f36)
+
+ // Method returns Integer
+
+ ShiftRight(m601(1, 1), s614, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftRight(m601(1, 3), s614, Local0)
+ m600(arg0, 45, Local0, 0x182f36)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(Derefof(m602(1, 1, 1)), s614, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftRight(Derefof(m602(1, 3, 1)), s614, Local0)
+ m600(arg0, 47, Local0, 0x182f36)
+ }
+
+ // Conversion of the both operands
+
+ Store(ShiftRight(s601, s614), Local0)
+ m600(arg0, 48, Local0, 0)
+
+ Store(ShiftRight(s604, s614), Local0)
+ m600(arg0, 49, Local0, 0x182f36)
+
+ ShiftRight(s601, s614, Local0)
+ m600(arg0, 50, Local0, 0)
+
+ ShiftRight(s604, s614, Local0)
+ m600(arg0, 51, Local0, 0x182f36)
+ }
+
+ // Subtract, common 32-bit/64-bit test
+ Method(m01f, 1)
+ {
+ Name(s601, "0321")
+
+ // Conversion of the first operand
+
+ Store(Subtract(s601, 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Subtract(s601, 1), Local0)
+ m600(arg0, 1, Local0, 0x320)
+
+ Store(Subtract(s601, aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Subtract(s601, aui6), Local0)
+ m600(arg0, 3, Local0, 0x320)
+
+ if (y078) {
+ Store(Subtract(s601, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Subtract(s601, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x320)
+ }
+
+ Store(Subtract(s601, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Subtract(s601, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x320)
+
+ // Method returns Integer
+
+ Store(Subtract(s601, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Subtract(s601, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x320)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(s601, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Subtract(s601, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x320)
+ }
+
+ Subtract(s601, 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Subtract(s601, 1, Local0)
+ m600(arg0, 13, Local0, 0x320)
+
+ Subtract(s601, aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Subtract(s601, aui6, Local0)
+ m600(arg0, 15, Local0, 0x320)
+
+ if (y078) {
+ Subtract(s601, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Subtract(s601, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x320)
+ }
+
+ Subtract(s601, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Subtract(s601, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x320)
+
+ // Method returns Integer
+
+ Subtract(s601, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Subtract(s601, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x320)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(s601, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Subtract(s601, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x320)
+ }
+
+ // Conversion of the second operand
+
+ Store(Subtract(0, s601), Local0)
+ m600(arg0, 24, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(1, s601), Local0)
+ m600(arg0, 25, Local0, 0xfffffffffffffce0)
+
+ Store(Subtract(aui5, s601), Local0)
+ m600(arg0, 26, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(aui6, s601), Local0)
+ m600(arg0, 27, Local0, 0xfffffffffffffce0)
+
+ if (y078) {
+ Store(Subtract(Derefof(Refof(aui5)), s601), Local0)
+ m600(arg0, 28, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(Derefof(Refof(aui6)), s601), Local0)
+ m600(arg0, 29, Local0, 0xfffffffffffffce0)
+ }
+
+ Store(Subtract(Derefof(Index(paui, 5)), s601), Local0)
+ m600(arg0, 30, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(Derefof(Index(paui, 6)), s601), Local0)
+ m600(arg0, 31, Local0, 0xfffffffffffffce0)
+
+ // Method returns Integer
+
+ Store(Subtract(m601(1, 5), s601), Local0)
+ m600(arg0, 32, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(m601(1, 6), s601), Local0)
+ m600(arg0, 33, Local0, 0xfffffffffffffce0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(Derefof(m602(1, 5, 1)), s601), Local0)
+ m600(arg0, 34, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(Derefof(m602(1, 6, 1)), s601), Local0)
+ m600(arg0, 35, Local0, 0xfffffffffffffce0)
+ }
+
+ Subtract(0, s601, Local0)
+ m600(arg0, 36, Local0, 0xfffffffffffffcdf)
+
+ Subtract(1, s601, Local0)
+ m600(arg0, 37, Local0, 0xfffffffffffffce0)
+
+ Subtract(aui5, s601, Local0)
+ m600(arg0, 38, Local0, 0xfffffffffffffcdf)
+
+ Subtract(aui6, s601, Local0)
+ m600(arg0, 39, Local0, 0xfffffffffffffce0)
+
+ if (y078) {
+ Subtract(Derefof(Refof(aui5)), s601, Local0)
+ m600(arg0, 40, Local0, 0xfffffffffffffcdf)
+
+ Subtract(Derefof(Refof(aui6)), s601, Local0)
+ m600(arg0, 41, Local0, 0xfffffffffffffce0)
+ }
+
+ Subtract(Derefof(Index(paui, 5)), s601, Local0)
+ m600(arg0, 42, Local0, 0xfffffffffffffcdf)
+
+ Subtract(Derefof(Index(paui, 6)), s601, Local0)
+ m600(arg0, 43, Local0, 0xfffffffffffffce0)
+
+ // Method returns Integer
+
+ Subtract(m601(1, 5), s601, Local0)
+ m600(arg0, 44, Local0, 0xfffffffffffffcdf)
+
+ Subtract(m601(1, 6), s601, Local0)
+ m600(arg0, 45, Local0, 0xfffffffffffffce0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(Derefof(m602(1, 5, 1)), s601, Local0)
+ m600(arg0, 46, Local0, 0xfffffffffffffcdf)
+
+ Subtract(Derefof(m602(1, 6, 1)), s601, Local0)
+ m600(arg0, 47, Local0, 0xfffffffffffffce0)
+ }
+ }
+
+ // Subtract, 64-bit
+ Method(m020, 1)
+ {
+ Name(s601, "0321")
+ Name(s605, "FE7CB391D650A284")
+
+ // Conversion of the first operand
+
+ Store(Subtract(s605, 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(s605, 1), Local0)
+ m600(arg0, 1, Local0, 0xfe7cb391d650a283)
+
+ Store(Subtract(s605, aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(s605, aui6), Local0)
+ m600(arg0, 3, Local0, 0xfe7cb391d650a283)
+
+ if (y078) {
+ Store(Subtract(s605, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(s605, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xfe7cb391d650a283)
+ }
+
+ Store(Subtract(s605, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(s605, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Integer
+
+ Store(Subtract(s605, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(s605, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(s605, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(s605, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfe7cb391d650a283)
+ }
+
+ Subtract(s605, 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Subtract(s605, 1, Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a283)
+
+ Subtract(s605, aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Subtract(s605, aui6, Local0)
+ m600(arg0, 15, Local0, 0xfe7cb391d650a283)
+
+ if (y078) {
+ Subtract(s605, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Subtract(s605, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xfe7cb391d650a283)
+ }
+
+ Subtract(s605, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Subtract(s605, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Integer
+
+ Subtract(s605, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Subtract(s605, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(s605, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Subtract(s605, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfe7cb391d650a283)
+ }
+
+ // Conversion of the second operand
+
+ Store(Subtract(0, s605), Local0)
+ m600(arg0, 24, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(1, s605), Local0)
+ m600(arg0, 25, Local0, 0x01834c6e29af5d7d)
+
+ Store(Subtract(aui5, s605), Local0)
+ m600(arg0, 26, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(aui6, s605), Local0)
+ m600(arg0, 27, Local0, 0x01834c6e29af5d7d)
+
+ if (y078) {
+ Store(Subtract(Derefof(Refof(aui5)), s605), Local0)
+ m600(arg0, 28, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(Derefof(Refof(aui6)), s605), Local0)
+ m600(arg0, 29, Local0, 0x01834c6e29af5d7d)
+ }
+
+ Store(Subtract(Derefof(Index(paui, 5)), s605), Local0)
+ m600(arg0, 30, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(Derefof(Index(paui, 6)), s605), Local0)
+ m600(arg0, 31, Local0, 0x01834c6e29af5d7d)
+
+ // Method returns Integer
+
+ Store(Subtract(m601(1, 5), s605), Local0)
+ m600(arg0, 32, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(m601(1, 6), s605), Local0)
+ m600(arg0, 33, Local0, 0x01834c6e29af5d7d)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(Derefof(m602(1, 5, 1)), s605), Local0)
+ m600(arg0, 34, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(Derefof(m602(1, 6, 1)), s605), Local0)
+ m600(arg0, 35, Local0, 0x01834c6e29af5d7d)
+ }
+
+ Subtract(0, s605, Local0)
+ m600(arg0, 36, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(1, s605, Local0)
+ m600(arg0, 37, Local0, 0x01834c6e29af5d7d)
+
+ Subtract(aui5, s605, Local0)
+ m600(arg0, 38, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(aui6, s605, Local0)
+ m600(arg0, 39, Local0, 0x01834c6e29af5d7d)
+
+ if (y078) {
+ Subtract(Derefof(Refof(aui5)), s605, Local0)
+ m600(arg0, 40, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(Derefof(Refof(aui6)), s605, Local0)
+ m600(arg0, 41, Local0, 0x01834c6e29af5d7d)
+ }
+
+ Subtract(Derefof(Index(paui, 5)), s605, Local0)
+ m600(arg0, 42, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(Derefof(Index(paui, 6)), s605, Local0)
+ m600(arg0, 43, Local0, 0x01834c6e29af5d7d)
+
+ // Method returns Integer
+
+ Subtract(m601(1, 5), s605, Local0)
+ m600(arg0, 44, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(m601(1, 6), s605, Local0)
+ m600(arg0, 45, Local0, 0x01834c6e29af5d7d)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(Derefof(m602(1, 5, 1)), s605, Local0)
+ m600(arg0, 46, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(Derefof(m602(1, 6, 1)), s605, Local0)
+ m600(arg0, 47, Local0, 0x01834c6e29af5d7d)
+ }
+
+ // Conversion of the both operands
+
+ Store(Subtract(s601, s605), Local0)
+ m600(arg0, 48, Local0, 0x01834c6e29af609d)
+
+ Store(Subtract(s605, s601), Local0)
+ m600(arg0, 49, Local0, 0xfe7cb391d6509f63)
+
+ Subtract(s601, s605, Local0)
+ m600(arg0, 50, Local0, 0x01834c6e29af609d)
+
+ Subtract(s605, s601, Local0)
+ m600(arg0, 51, Local0, 0xfe7cb391d6509f63)
+ }
+
+ // Subtract, 32-bit
+ Method(m021, 1)
+ {
+ Name(s601, "0321")
+ Name(s604, "C179B3FE")
+
+ // Conversion of the first operand
+
+ Store(Subtract(s604, 0), Local0)
+ m600(arg0, 0, Local0, 0xc179b3fe)
+
+ Store(Subtract(s604, 1), Local0)
+ m600(arg0, 1, Local0, 0xc179b3fd)
+
+ Store(Subtract(s604, aui5), Local0)
+ m600(arg0, 2, Local0, 0xc179b3fe)
+
+ Store(Subtract(s604, aui6), Local0)
+ m600(arg0, 3, Local0, 0xc179b3fd)
+
+ if (y078) {
+ Store(Subtract(s604, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xc179b3fe)
+
+ Store(Subtract(s604, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xc179b3fd)
+ }
+
+ Store(Subtract(s604, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xc179b3fe)
+
+ Store(Subtract(s604, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xc179b3fd)
+
+ // Method returns Integer
+
+ Store(Subtract(s604, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xc179b3fe)
+
+ Store(Subtract(s604, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xc179b3fd)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(s604, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xc179b3fe)
+
+ Store(Subtract(s604, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xc179b3fd)
+ }
+
+ Subtract(s604, 0, Local0)
+ m600(arg0, 12, Local0, 0xc179b3fe)
+
+ Subtract(s604, 1, Local0)
+ m600(arg0, 13, Local0, 0xc179b3fd)
+
+ Subtract(s604, aui5, Local0)
+ m600(arg0, 14, Local0, 0xc179b3fe)
+
+ Subtract(s604, aui6, Local0)
+ m600(arg0, 15, Local0, 0xc179b3fd)
+
+ if (y078) {
+ Subtract(s604, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xc179b3fe)
+
+ Subtract(s604, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xc179b3fd)
+ }
+
+ Subtract(s604, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xc179b3fe)
+
+ Subtract(s604, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xc179b3fd)
+
+ // Method returns Integer
+
+ Subtract(s604, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xc179b3fe)
+
+ Subtract(s604, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xc179b3fd)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(s604, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xc179b3fe)
+
+ Subtract(s604, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xc179b3fd)
+ }
+
+ // Conversion of the second operand
+
+ Store(Subtract(0, s604), Local0)
+ m600(arg0, 24, Local0, 0x3e864c02)
+
+ Store(Subtract(1, s604), Local0)
+ m600(arg0, 25, Local0, 0x3e864c03)
+
+ Store(Subtract(aui5, s604), Local0)
+ m600(arg0, 26, Local0, 0x3e864c02)
+
+ Store(Subtract(aui6, s604), Local0)
+ m600(arg0, 27, Local0, 0x3e864c03)
+
+ if (y078) {
+ Store(Subtract(Derefof(Refof(aui5)), s604), Local0)
+ m600(arg0, 28, Local0, 0x3e864c02)
+
+ Store(Subtract(Derefof(Refof(aui6)), s604), Local0)
+ m600(arg0, 29, Local0, 0x3e864c03)
+ }
+
+ Store(Subtract(Derefof(Index(paui, 5)), s604), Local0)
+ m600(arg0, 30, Local0, 0x3e864c02)
+
+ Store(Subtract(Derefof(Index(paui, 6)), s604), Local0)
+ m600(arg0, 31, Local0, 0x3e864c03)
+
+ // Method returns Integer
+
+ Store(Subtract(m601(1, 5), s604), Local0)
+ m600(arg0, 32, Local0, 0x3e864c02)
+
+ Store(Subtract(m601(1, 6), s604), Local0)
+ m600(arg0, 33, Local0, 0x3e864c03)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(Derefof(m602(1, 5, 1)), s604), Local0)
+ m600(arg0, 34, Local0, 0x3e864c02)
+
+ Store(Subtract(Derefof(m602(1, 6, 1)), s604), Local0)
+ m600(arg0, 35, Local0, 0x3e864c03)
+ }
+
+ Subtract(0, s604, Local0)
+ m600(arg0, 36, Local0, 0x3e864c02)
+
+ Subtract(1, s604, Local0)
+ m600(arg0, 37, Local0, 0x3e864c03)
+
+ Subtract(aui5, s604, Local0)
+ m600(arg0, 38, Local0, 0x3e864c02)
+
+ Subtract(aui6, s604, Local0)
+ m600(arg0, 39, Local0, 0x3e864c03)
+
+ if (y078) {
+ Subtract(Derefof(Refof(aui5)), s604, Local0)
+ m600(arg0, 40, Local0, 0x3e864c02)
+
+ Subtract(Derefof(Refof(aui6)), s604, Local0)
+ m600(arg0, 41, Local0, 0x3e864c03)
+ }
+
+ Subtract(Derefof(Index(paui, 5)), s604, Local0)
+ m600(arg0, 42, Local0, 0x3e864c02)
+
+ Subtract(Derefof(Index(paui, 6)), s604, Local0)
+ m600(arg0, 43, Local0, 0x3e864c03)
+
+ // Method returns Integer
+
+ Subtract(m601(1, 5), s604, Local0)
+ m600(arg0, 44, Local0, 0x3e864c02)
+
+ Subtract(m601(1, 6), s604, Local0)
+ m600(arg0, 45, Local0, 0x3e864c03)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(Derefof(m602(1, 5, 1)), s604, Local0)
+ m600(arg0, 46, Local0, 0x3e864c02)
+
+ Subtract(Derefof(m602(1, 6, 1)), s604, Local0)
+ m600(arg0, 47, Local0, 0x3e864c03)
+ }
+
+ // Conversion of the both operands
+
+ Store(Subtract(s601, s604), Local0)
+ m600(arg0, 48, Local0, 0x3e864f23)
+
+ Store(Subtract(s604, s601), Local0)
+ m600(arg0, 49, Local0, 0xc179b0dd)
+
+ Subtract(s601, s604, Local0)
+ m600(arg0, 50, Local0, 0x3e864f23)
+
+ Subtract(s604, s601, Local0)
+ m600(arg0, 51, Local0, 0xc179b0dd)
+ }
+
+ // XOr, common 32-bit/64-bit test
+ Method(m022, 1)
+ {
+ Name(s601, "0321")
+
+ // Conversion of the first operand
+
+ Store(XOr(s601, 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(XOr(s601, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xfffffffffffffcde)
+
+ Store(XOr(s601, aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(XOr(s601, auij), Local0)
+ m600(arg0, 3, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ Store(XOr(s601, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(XOr(s601, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xfffffffffffffcde)
+ }
+
+ Store(XOr(s601, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(XOr(s601, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ Store(XOr(s601, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(XOr(s601, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(s601, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(XOr(s601, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfffffffffffffcde)
+ }
+
+ XOr(s601, 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ XOr(s601, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xfffffffffffffcde)
+
+ XOr(s601, aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ XOr(s601, auij, Local0)
+ m600(arg0, 15, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ XOr(s601, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ XOr(s601, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xfffffffffffffcde)
+ }
+
+ XOr(s601, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ XOr(s601, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ XOr(s601, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ XOr(s601, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(s601, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ XOr(s601, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfffffffffffffcde)
+ }
+
+ // Conversion of the second operand
+
+ Store(XOr(0, s601), Local0)
+ m600(arg0, 24, Local0, 0x321)
+
+ Store(XOr(0xffffffffffffffff, s601), Local0)
+ m600(arg0, 25, Local0, 0xfffffffffffffcde)
+
+ Store(XOr(aui5, s601), Local0)
+ m600(arg0, 26, Local0, 0x321)
+
+ Store(XOr(auij, s601), Local0)
+ m600(arg0, 27, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ Store(XOr(Derefof(Refof(aui5)), s601), Local0)
+ m600(arg0, 28, Local0, 0x321)
+
+ Store(XOr(Derefof(Refof(auij)), s601), Local0)
+ m600(arg0, 29, Local0, 0xfffffffffffffcde)
+ }
+
+ Store(XOr(Derefof(Index(paui, 5)), s601), Local0)
+ m600(arg0, 30, Local0, 0x321)
+
+ Store(XOr(Derefof(Index(paui, 19)), s601), Local0)
+ m600(arg0, 31, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ Store(XOr(m601(1, 5), s601), Local0)
+ m600(arg0, 32, Local0, 0x321)
+
+ Store(XOr(m601(1, 19), s601), Local0)
+ m600(arg0, 33, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(Derefof(m602(1, 5, 1)), s601), Local0)
+ m600(arg0, 34, Local0, 0x321)
+
+ Store(XOr(Derefof(m602(1, 19, 1)), s601), Local0)
+ m600(arg0, 35, Local0, 0xfffffffffffffcde)
+ }
+
+ XOr(0, s601, Local0)
+ m600(arg0, 36, Local0, 0x321)
+
+ XOr(0xffffffffffffffff, s601, Local0)
+ m600(arg0, 37, Local0, 0xfffffffffffffcde)
+
+ XOr(aui5, s601, Local0)
+ m600(arg0, 38, Local0, 0x321)
+
+ XOr(auij, s601, Local0)
+ m600(arg0, 39, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ XOr(Derefof(Refof(aui5)), s601, Local0)
+ m600(arg0, 40, Local0, 0x321)
+
+ XOr(Derefof(Refof(auij)), s601, Local0)
+ m600(arg0, 41, Local0, 0xfffffffffffffcde)
+ }
+
+ XOr(Derefof(Index(paui, 5)), s601, Local0)
+ m600(arg0, 42, Local0, 0x321)
+
+ XOr(Derefof(Index(paui, 19)), s601, Local0)
+ m600(arg0, 43, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ XOr(m601(1, 5), s601, Local0)
+ m600(arg0, 44, Local0, 0x321)
+
+ XOr(m601(1, 19), s601, Local0)
+ m600(arg0, 45, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(Derefof(m602(1, 5, 1)), s601, Local0)
+ m600(arg0, 46, Local0, 0x321)
+
+ XOr(Derefof(m602(1, 19, 1)), s601, Local0)
+ m600(arg0, 47, Local0, 0xfffffffffffffcde)
+ }
+ }
+
+ // XOr, 64-bit
+ Method(m023, 1)
+ {
+ Name(s601, "0321")
+ Name(s605, "FE7CB391D650A284")
+
+ // Conversion of the first operand
+
+ Store(XOr(s605, 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(s605, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0x01834c6e29af5d7b)
+
+ Store(XOr(s605, aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(s605, auij), Local0)
+ m600(arg0, 3, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ Store(XOr(s605, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(s605, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Store(XOr(s605, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(s605, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ Store(XOr(s605, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(s605, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(s605, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(s605, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0x01834c6e29af5d7b)
+ }
+
+ XOr(s605, 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ XOr(s605, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0x01834c6e29af5d7b)
+
+ XOr(s605, aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ XOr(s605, auij, Local0)
+ m600(arg0, 15, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ XOr(s605, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ XOr(s605, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0x01834c6e29af5d7b)
+ }
+
+ XOr(s605, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ XOr(s605, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ XOr(s605, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ XOr(s605, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(s605, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ XOr(s605, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0x01834c6e29af5d7b)
+ }
+
+ // Conversion of the second operand
+
+ Store(XOr(0, s605), Local0)
+ m600(arg0, 24, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(0xffffffffffffffff, s605), Local0)
+ m600(arg0, 25, Local0, 0x01834c6e29af5d7b)
+
+ Store(XOr(aui5, s605), Local0)
+ m600(arg0, 26, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(auij, s605), Local0)
+ m600(arg0, 27, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ Store(XOr(Derefof(Refof(aui5)), s605), Local0)
+ m600(arg0, 28, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(Refof(auij)), s605), Local0)
+ m600(arg0, 29, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Store(XOr(Derefof(Index(paui, 5)), s605), Local0)
+ m600(arg0, 30, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(Index(paui, 19)), s605), Local0)
+ m600(arg0, 31, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ Store(XOr(m601(1, 5), s605), Local0)
+ m600(arg0, 32, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(m601(1, 19), s605), Local0)
+ m600(arg0, 33, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(Derefof(m602(1, 5, 1)), s605), Local0)
+ m600(arg0, 34, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(m602(1, 19, 1)), s605), Local0)
+ m600(arg0, 35, Local0, 0x01834c6e29af5d7b)
+ }
+
+ XOr(0, s605, Local0)
+ m600(arg0, 36, Local0, 0xfe7cb391d650a284)
+
+ XOr(0xffffffffffffffff, s605, Local0)
+ m600(arg0, 37, Local0, 0x01834c6e29af5d7b)
+
+ XOr(aui5, s605, Local0)
+ m600(arg0, 38, Local0, 0xfe7cb391d650a284)
+
+ XOr(auij, s605, Local0)
+ m600(arg0, 39, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ XOr(Derefof(Refof(aui5)), s605, Local0)
+ m600(arg0, 40, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(Refof(auij)), s605, Local0)
+ m600(arg0, 41, Local0, 0x01834c6e29af5d7b)
+ }
+
+ XOr(Derefof(Index(paui, 5)), s605, Local0)
+ m600(arg0, 42, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(Index(paui, 19)), s605, Local0)
+ m600(arg0, 43, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ XOr(m601(1, 5), s605, Local0)
+ m600(arg0, 44, Local0, 0xfe7cb391d650a284)
+
+ XOr(m601(1, 19), s605, Local0)
+ m600(arg0, 45, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(Derefof(m602(1, 5, 1)), s605, Local0)
+ m600(arg0, 46, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(m602(1, 19, 1)), s605, Local0)
+ m600(arg0, 47, Local0, 0x01834c6e29af5d7b)
+ }
+
+ // Conversion of the both operands
+
+ Store(XOr(s601, s605), Local0)
+ m600(arg0, 48, Local0, 0xfe7cb391d650a1a5)
+
+ Store(XOr(s605, s601), Local0)
+ m600(arg0, 49, Local0, 0xfe7cb391d650a1a5)
+
+ XOr(s601, s605, Local0)
+ m600(arg0, 50, Local0, 0xfe7cb391d650a1a5)
+
+ XOr(s605, s601, Local0)
+ m600(arg0, 51, Local0, 0xfe7cb391d650a1a5)
+ }
+
+ // XOr, 32-bit
+ Method(m024, 1)
+ {
+ Name(s601, "0321")
+ Name(s604, "C179B3FE")
+
+ // Conversion of the first operand
+
+ Store(XOr(s604, 0), Local0)
+ m600(arg0, 0, Local0, 0xc179b3fe)
+
+ Store(XOr(s604, 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0x3e864c01)
+
+ Store(XOr(s604, aui5), Local0)
+ m600(arg0, 2, Local0, 0xc179b3fe)
+
+ Store(XOr(s604, auii), Local0)
+ m600(arg0, 3, Local0, 0x3e864c01)
+
+ if (y078) {
+ Store(XOr(s604, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xc179b3fe)
+
+ Store(XOr(s604, Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0x3e864c01)
+ }
+
+ Store(XOr(s604, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xc179b3fe)
+
+ Store(XOr(s604, Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0x3e864c01)
+
+ // Method returns Integer
+
+ Store(XOr(s604, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xc179b3fe)
+
+ Store(XOr(s604, m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0x3e864c01)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(s604, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xc179b3fe)
+
+ Store(XOr(s604, Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0x3e864c01)
+ }
+
+ XOr(s604, 0, Local0)
+ m600(arg0, 12, Local0, 0xc179b3fe)
+
+ XOr(s604, 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0x3e864c01)
+
+ XOr(s604, aui5, Local0)
+ m600(arg0, 14, Local0, 0xc179b3fe)
+
+ XOr(s604, auii, Local0)
+ m600(arg0, 15, Local0, 0x3e864c01)
+
+ if (y078) {
+ XOr(s604, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xc179b3fe)
+
+ XOr(s604, Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0x3e864c01)
+ }
+
+ XOr(s604, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xc179b3fe)
+
+ XOr(s604, Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0x3e864c01)
+
+ // Method returns Integer
+
+ XOr(s604, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xc179b3fe)
+
+ XOr(s604, m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0x3e864c01)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(s604, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xc179b3fe)
+
+ XOr(s604, Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0x3e864c01)
+ }
+
+ // Conversion of the second operand
+
+ Store(XOr(0, s604), Local0)
+ m600(arg0, 24, Local0, 0xc179b3fe)
+
+ Store(XOr(0xffffffff, s604), Local0)
+ m600(arg0, 25, Local0, 0x3e864c01)
+
+ Store(XOr(aui5, s604), Local0)
+ m600(arg0, 26, Local0, 0xc179b3fe)
+
+ Store(XOr(auii, s604), Local0)
+ m600(arg0, 27, Local0, 0x3e864c01)
+
+ if (y078) {
+ Store(XOr(Derefof(Refof(aui5)), s604), Local0)
+ m600(arg0, 28, Local0, 0xc179b3fe)
+
+ Store(XOr(Derefof(Refof(auii)), s604), Local0)
+ m600(arg0, 29, Local0, 0x3e864c01)
+ }
+
+ Store(XOr(Derefof(Index(paui, 5)), s604), Local0)
+ m600(arg0, 30, Local0, 0xc179b3fe)
+
+ Store(XOr(Derefof(Index(paui, 18)), s604), Local0)
+ m600(arg0, 31, Local0, 0x3e864c01)
+
+ // Method returns Integer
+
+ Store(XOr(m601(1, 5), s604), Local0)
+ m600(arg0, 32, Local0, 0xc179b3fe)
+
+ Store(XOr(m601(1, 18), s604), Local0)
+ m600(arg0, 33, Local0, 0x3e864c01)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(Derefof(m602(1, 5, 1)), s604), Local0)
+ m600(arg0, 34, Local0, 0xc179b3fe)
+
+ Store(XOr(Derefof(m602(1, 18, 1)), s604), Local0)
+ m600(arg0, 35, Local0, 0x3e864c01)
+ }
+
+ XOr(0, s604, Local0)
+ m600(arg0, 36, Local0, 0xc179b3fe)
+
+ XOr(0xffffffff, s604, Local0)
+ m600(arg0, 37, Local0, 0x3e864c01)
+
+ XOr(aui5, s604, Local0)
+ m600(arg0, 38, Local0, 0xc179b3fe)
+
+ XOr(auii, s604, Local0)
+ m600(arg0, 39, Local0, 0x3e864c01)
+
+ if (y078) {
+ XOr(Derefof(Refof(aui5)), s604, Local0)
+ m600(arg0, 40, Local0, 0xc179b3fe)
+
+ XOr(Derefof(Refof(auii)), s604, Local0)
+ m600(arg0, 41, Local0, 0x3e864c01)
+ }
+
+ XOr(Derefof(Index(paui, 5)), s604, Local0)
+ m600(arg0, 42, Local0, 0xc179b3fe)
+
+ XOr(Derefof(Index(paui, 18)), s604, Local0)
+ m600(arg0, 43, Local0, 0x3e864c01)
+
+ // Method returns Integer
+
+ XOr(m601(1, 5), s604, Local0)
+ m600(arg0, 44, Local0, 0xc179b3fe)
+
+ XOr(m601(1, 18), s604, Local0)
+ m600(arg0, 45, Local0, 0x3e864c01)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(Derefof(m602(1, 5, 1)), s604, Local0)
+ m600(arg0, 46, Local0, 0xc179b3fe)
+
+ XOr(Derefof(m602(1, 18, 1)), s604, Local0)
+ m600(arg0, 47, Local0, 0x3e864c01)
+ }
+
+ // Conversion of the both operands
+
+ Store(XOr(s601, s604), Local0)
+ m600(arg0, 48, Local0, 0xc179b0df)
+
+ Store(XOr(s604, s601), Local0)
+ m600(arg0, 49, Local0, 0xc179b0df)
+
+ XOr(s601, s604, Local0)
+ m600(arg0, 50, Local0, 0xc179b0df)
+
+ XOr(s604, s601, Local0)
+ m600(arg0, 51, Local0, 0xc179b0df)
+ }
+
+ // Add, And, Divide, Mod, Multiply, NAnd, NOr, Or,
+ // ShiftLeft, ShiftRight, Subtract, Xor
+
+ Method(m64d, 1)
+ {
+ // Add
+ Concatenate(arg0, "-m001", Local0)
+ SRMT(Local0)
+ m001(Local0)
+ Concatenate(arg0, "-m002", Local0)
+ SRMT(Local0)
+ m002(Local0)
+
+ // And
+ Concatenate(arg0, "-m004", Local0)
+ SRMT(Local0)
+ m004(Local0)
+ Concatenate(arg0, "-m005", Local0)
+ SRMT(Local0)
+ m005(Local0)
+
+ // Divide
+ Concatenate(arg0, "-m007", Local0)
+ SRMT(Local0)
+ m007(Local0)
+ Concatenate(arg0, "-m008", Local0)
+ SRMT(Local0)
+ m008(Local0)
+
+ // Mod
+ Concatenate(arg0, "-m00a", Local0)
+ SRMT(Local0)
+ m00a(Local0)
+ Concatenate(arg0, "-m00b", Local0)
+ SRMT(Local0)
+ m00b(Local0)
+
+ // Multiply
+ Concatenate(arg0, "-m00d", Local0)
+ SRMT(Local0)
+ m00d(Local0)
+ Concatenate(arg0, "-m00e", Local0)
+ SRMT(Local0)
+ m00e(Local0)
+
+ // NAnd
+ Concatenate(arg0, "-m010", Local0)
+ SRMT(Local0)
+ m010(Local0)
+ Concatenate(arg0, "-m011", Local0)
+ SRMT(Local0)
+ m011(Local0)
+
+ // NOr
+ Concatenate(arg0, "-m013", Local0)
+ SRMT(Local0)
+ m013(Local0)
+ Concatenate(arg0, "-m014", Local0)
+ SRMT(Local0)
+ m014(Local0)
+
+ // Or
+ Concatenate(arg0, "-m016", Local0)
+ SRMT(Local0)
+ m016(Local0)
+ Concatenate(arg0, "-m017", Local0)
+ SRMT(Local0)
+ m017(Local0)
+
+ // ShiftLeft
+ Concatenate(arg0, "-m019", Local0)
+ SRMT(Local0)
+ m019(Local0)
+ Concatenate(arg0, "-m01a", Local0)
+ SRMT(Local0)
+ m01a(Local0)
+
+ // ShiftRight
+ Concatenate(arg0, "-m01c", Local0)
+ SRMT(Local0)
+ m01c(Local0)
+ Concatenate(arg0, "-m01d", Local0)
+ SRMT(Local0)
+ m01d(Local0)
+
+ // Subtract
+ Concatenate(arg0, "-m01f", Local0)
+ SRMT(Local0)
+ m01f(Local0)
+ Concatenate(arg0, "-m020", Local0)
+ SRMT(Local0)
+ m020(Local0)
+
+ // XOr
+ Concatenate(arg0, "-m022", Local0)
+ SRMT(Local0)
+ m022(Local0)
+ Concatenate(arg0, "-m023", Local0)
+ SRMT(Local0)
+ m023(Local0)
+ }
+
+ Method(m32d, 1)
+ {
+ // Add
+ Concatenate(arg0, "-m001", Local0)
+ SRMT(Local0)
+ m001(Local0)
+ Concatenate(arg0, "-m003", Local0)
+ SRMT(Local0)
+ m003(Local0)
+
+ // And
+ Concatenate(arg0, "-m004", Local0)
+ SRMT(Local0)
+ m004(Local0)
+ Concatenate(arg0, "-m006", Local0)
+ SRMT(Local0)
+ m006(Local0)
+
+ // Divide
+ Concatenate(arg0, "-m007", Local0)
+ SRMT(Local0)
+ m007(Local0)
+ Concatenate(arg0, "-m009", Local0)
+ SRMT(Local0)
+ m009(Local0)
+
+ // Mod
+ Concatenate(arg0, "-m00a", Local0)
+ SRMT(Local0)
+ m00a(Local0)
+ Concatenate(arg0, "-m00c", Local0)
+ SRMT(Local0)
+ m00c(Local0)
+
+ // Multiply
+ Concatenate(arg0, "-m00d", Local0)
+ SRMT(Local0)
+ m00d(Local0)
+ Concatenate(arg0, "-m00f", Local0)
+ SRMT(Local0)
+ m00f(Local0)
+
+ // NAnd
+ Concatenate(arg0, "-m010", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m010(Local0)
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m012", Local0)
+ SRMT(Local0)
+ m012(Local0)
+
+ // NOr
+ Concatenate(arg0, "-m013", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m013(Local0)
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m015", Local0)
+ SRMT(Local0)
+ m015(Local0)
+
+ // Or
+ Concatenate(arg0, "-m016", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m016(Local0)
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m018", Local0)
+ SRMT(Local0)
+ m018(Local0)
+
+ // ShiftLeft
+ Concatenate(arg0, "-m019", Local0)
+ SRMT(Local0)
+ m019(Local0)
+ Concatenate(arg0, "-m01b", Local0)
+ SRMT(Local0)
+ m01b(Local0)
+
+ // ShiftRight
+ Concatenate(arg0, "-m01c", Local0)
+ SRMT(Local0)
+ m01c(Local0)
+ Concatenate(arg0, "-m01e", Local0)
+ SRMT(Local0)
+ m01e(Local0)
+
+ // Subtract
+ Concatenate(arg0, "-m01f", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m01f(Local0)
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m021", Local0)
+ SRMT(Local0)
+ m021(Local0)
+
+ // XOr
+ Concatenate(arg0, "-m022", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m022(Local0)
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m024", Local0)
+ SRMT(Local0)
+ m024(Local0)
+ }
+
+
+ // String to Integer conversion of each String operand
+ // of the 2-parameter Logical Integer operators LAnd and LOr
+
+ // LAnd, common 32-bit/64-bit test
+ Method(m025, 1)
+ {
+ Name(s601, "0321")
+
+ // Conversion of the first operand
+
+ Store(LAnd(s601, 0), Local0)
+ m600(arg0, 0, Local0, Zero)
+
+ Store(LAnd(s601, 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(LAnd(s601, aui5), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LAnd(s601, aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(s601, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LAnd(s601, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(LAnd(s601, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Zero)
+
+ Store(LAnd(s601, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(s601, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Zero)
+
+ Store(LAnd(s601, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(s601, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LAnd(s601, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(LAnd(0, s601), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LAnd(1, s601), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LAnd(aui5, s601), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LAnd(aui6, s601), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(Derefof(Refof(aui5)), s601), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(aui6)), s601), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(LAnd(Derefof(Index(paui, 5)), s601), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LAnd(Derefof(Index(paui, 6)), s601), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(m601(1, 5), s601), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LAnd(m601(1, 6), s601), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(Derefof(m602(1, 5, 1)), s601), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LAnd(Derefof(m602(1, 6, 1)), s601), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+ }
+
+ // LAnd, 64-bit
+ Method(m026, 1)
+ {
+ Name(s601, "0321")
+ Name(s605, "FE7CB391D650A284")
+
+ // Conversion of the first operand
+
+ Store(LAnd(s605, 0), Local0)
+ m600(arg0, 0, Local0, Zero)
+
+ Store(LAnd(s605, 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(LAnd(s605, aui5), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LAnd(s605, aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(s605, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LAnd(s605, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(LAnd(s605, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Zero)
+
+ Store(LAnd(s605, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(s605, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Zero)
+
+ Store(LAnd(s605, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(s605, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LAnd(s605, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(LAnd(0, s605), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LAnd(1, s605), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LAnd(aui5, s605), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LAnd(aui6, s605), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(Derefof(Refof(aui5)), s605), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(aui6)), s605), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(LAnd(Derefof(Index(paui, 5)), s605), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LAnd(Derefof(Index(paui, 6)), s605), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(m601(1, 5), s605), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LAnd(m601(1, 6), s605), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(Derefof(m602(1, 5, 1)), s605), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LAnd(Derefof(m602(1, 6, 1)), s605), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+
+ // Conversion of the both operands
+
+ Store(LAnd(s601, s605), Local0)
+ m600(arg0, 24, Local0, Ones)
+
+ Store(LAnd(s605, s601), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // LAnd, 32-bit
+ Method(m027, 1)
+ {
+ Name(s601, "0321")
+ Name(s604, "C179B3FE")
+
+ // Conversion of the first operand
+
+ Store(LAnd(s604, 0), Local0)
+ m600(arg0, 0, Local0, Zero)
+
+ Store(LAnd(s604, 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(LAnd(s604, aui5), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LAnd(s604, aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(s604, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LAnd(s604, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(LAnd(s604, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Zero)
+
+ Store(LAnd(s604, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(s604, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Zero)
+
+ Store(LAnd(s604, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(s604, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LAnd(s604, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(LAnd(0, s604), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LAnd(1, s604), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LAnd(aui5, s604), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LAnd(aui6, s604), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(Derefof(Refof(aui5)), s604), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(aui6)), s604), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(LAnd(Derefof(Index(paui, 5)), s604), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LAnd(Derefof(Index(paui, 6)), s604), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(m601(1, 5), s604), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LAnd(m601(1, 6), s604), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(Derefof(m602(1, 5, 1)), s604), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LAnd(Derefof(m602(1, 6, 1)), s604), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+
+ // Conversion of the both operands
+
+ Store(LAnd(s601, s604), Local0)
+ m600(arg0, 24, Local0, Ones)
+
+ Store(LAnd(s604, s601), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // Lor, common 32-bit/64-bit test
+ Method(m028, 1)
+ {
+ Name(s600, "0")
+
+ // Conversion of the first operand
+
+ Store(Lor(s600, 0), Local0)
+ m600(arg0, 0, Local0, Zero)
+
+ Store(Lor(s600, 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(Lor(s600, aui5), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(Lor(s600, aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(s600, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(Lor(s600, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(Lor(s600, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Zero)
+
+ Store(Lor(s600, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(s600, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Zero)
+
+ Store(Lor(s600, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(s600, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(Lor(s600, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(Lor(0, s600), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(Lor(1, s600), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(Lor(aui5, s600), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(Lor(aui6, s600), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(Derefof(Refof(aui5)), s600), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(Lor(Derefof(Refof(aui6)), s600), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(Lor(Derefof(Index(paui, 5)), s600), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(Lor(Derefof(Index(paui, 6)), s600), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(m601(1, 5), s600), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(Lor(m601(1, 6), s600), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(Derefof(m602(1, 5, 1)), s600), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(Lor(Derefof(m602(1, 6, 1)), s600), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+ }
+
+ // Lor, 64-bit
+ Method(m029, 1)
+ {
+ Name(s600, "0")
+ Name(s605, "FE7CB391D650A284")
+
+ // Conversion of the first operand
+
+ Store(Lor(s605, 0), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(Lor(s605, 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(Lor(s605, aui5), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(Lor(s605, aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(s605, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(Lor(s605, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(Lor(s605, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(Lor(s605, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(s605, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(Lor(s605, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(s605, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(Lor(s605, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(Lor(0, s605), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(Lor(1, s605), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(Lor(aui5, s605), Local0)
+ m600(arg0, 14, Local0, Ones)
+
+ Store(Lor(aui6, s605), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(Derefof(Refof(aui5)), s605), Local0)
+ m600(arg0, 16, Local0, Ones)
+
+ Store(Lor(Derefof(Refof(aui6)), s605), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(Lor(Derefof(Index(paui, 5)), s605), Local0)
+ m600(arg0, 18, Local0, Ones)
+
+ Store(Lor(Derefof(Index(paui, 6)), s605), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(m601(1, 5), s605), Local0)
+ m600(arg0, 20, Local0, Ones)
+
+ Store(Lor(m601(1, 6), s605), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(Derefof(m602(1, 5, 1)), s605), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(Lor(Derefof(m602(1, 6, 1)), s605), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+
+ // Conversion of the both operands
+
+ Store(Lor(s600, s605), Local0)
+ m600(arg0, 24, Local0, Ones)
+
+ Store(Lor(s605, s600), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // Lor, 32-bit
+ Method(m02a, 1)
+ {
+ Name(s600, "0")
+ Name(s604, "C179B3FE")
+
+ // Conversion of the first operand
+
+ Store(Lor(s604, 0), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(Lor(s604, 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(Lor(s604, aui5), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(Lor(s604, aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(s604, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(Lor(s604, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(Lor(s604, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(Lor(s604, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(s604, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(Lor(s604, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(s604, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(Lor(s604, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(Lor(0, s604), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(Lor(1, s604), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(Lor(aui5, s604), Local0)
+ m600(arg0, 14, Local0, Ones)
+
+ Store(Lor(aui6, s604), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(Derefof(Refof(aui5)), s604), Local0)
+ m600(arg0, 16, Local0, Ones)
+
+ Store(Lor(Derefof(Refof(aui6)), s604), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(Lor(Derefof(Index(paui, 5)), s604), Local0)
+ m600(arg0, 18, Local0, Ones)
+
+ Store(Lor(Derefof(Index(paui, 6)), s604), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(m601(1, 5), s604), Local0)
+ m600(arg0, 20, Local0, Ones)
+
+ Store(Lor(m601(1, 6), s604), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(Derefof(m602(1, 5, 1)), s604), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(Lor(Derefof(m602(1, 6, 1)), s604), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+
+ // Conversion of the both operands
+
+ Store(Lor(s600, s604), Local0)
+ m600(arg0, 24, Local0, Ones)
+
+ Store(Lor(s604, s600), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ Method(m64e, 1)
+ {
+ // LAnd
+ Concatenate(arg0, "-m025", Local0)
+ SRMT(Local0)
+ m025(Local0)
+ Concatenate(arg0, "-m026", Local0)
+ SRMT(Local0)
+ m026(Local0)
+
+ // LOr
+ Concatenate(arg0, "-m028", Local0)
+ SRMT(Local0)
+ m028(Local0)
+ Concatenate(arg0, "-m029", Local0)
+ SRMT(Local0)
+ m029(Local0)
+ }
+
+ Method(m32e, 1)
+ {
+ // LAnd
+ Concatenate(arg0, "-m025", Local0)
+ SRMT(Local0)
+ m025(Local0)
+ Concatenate(arg0, "-m027", Local0)
+ SRMT(Local0)
+ m027(Local0)
+
+ // LOr
+ Concatenate(arg0, "-m028", Local0)
+ SRMT(Local0)
+ m028(Local0)
+ Concatenate(arg0, "-m02a", Local0)
+ SRMT(Local0)
+ m02a(Local0)
+ }
+
+
+ // String to Integer conversion of the String second operand of
+ // Logical operators when the first operand is evaluated as Integer
+ // (LEqual, LGreater, LGreaterEqual, LLess, LLessEqual, LNotEqual)
+
+ Method(m64f, 1)
+ {
+ Name(s605, "FE7CB391D650A284")
+
+ // LEqual
+
+ Store(LEqual(0xfe7cb391d650a284, s605), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual(0xfe7cb391d650a285, s605), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(0xfe7cb391d650a283, s605), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LEqual(aui4, s605), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ Store(LEqual(auid, s605), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LEqual(auif, s605), Local0)
+ m600(arg0, 5, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aui4)), s605), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(auid)), s605), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ Store(LEqual(Derefof(Refof(auif)), s605), Local0)
+ m600(arg0, 8, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paui, 4)), s605), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paui, 13)), s605), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LEqual(Derefof(Index(paui, 15)), s605), Local0)
+ m600(arg0, 11, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LEqual(m601(1, 4), s605), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(LEqual(m601(1, 13), s605), Local0)
+ m600(arg0, 13, Local0, Zero)
+
+ Store(LEqual(m601(1, 15), s605), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(1, 4, 1)), s605), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(1, 13, 1)), s605), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LEqual(Derefof(m602(1, 15, 1)), s605), Local0)
+ m600(arg0, 17, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater(0xfe7cb391d650a284, s605), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(0xfe7cb391d650a285, s605), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ Store(LGreater(0xfe7cb391d650a283, s605), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(aui4, s605), Local0)
+ m600(arg0, 21, Local0, Zero)
+
+ Store(LGreater(auid, s605), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(LGreater(auif, s605), Local0)
+ m600(arg0, 23, Local0, Zero)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aui4)), s605), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(auid)), s605), Local0)
+ m600(arg0, 25, Local0, Ones)
+
+ Store(LGreater(Derefof(Refof(auif)), s605), Local0)
+ m600(arg0, 26, Local0, Zero)
+ }
+
+ Store(LGreater(Derefof(Index(paui, 4)), s605), Local0)
+ m600(arg0, 27, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paui, 13)), s605), Local0)
+ m600(arg0, 28, Local0, Ones)
+
+ Store(LGreater(Derefof(Index(paui, 15)), s605), Local0)
+ m600(arg0, 29, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreater(m601(1, 4), s605), Local0)
+ m600(arg0, 30, Local0, Zero)
+
+ Store(LGreater(m601(1, 13), s605), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ Store(LGreater(m601(1, 15), s605), Local0)
+ m600(arg0, 32, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(1, 4, 1)), s605), Local0)
+ m600(arg0, 33, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(1, 13, 1)), s605), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreater(Derefof(m602(1, 15, 1)), s605), Local0)
+ m600(arg0, 35, Local0, Zero)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual(0xfe7cb391d650a284, s605), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(0xfe7cb391d650a285, s605), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ Store(LGreaterEqual(0xfe7cb391d650a283, s605), Local0)
+ m600(arg0, 38, Local0, Zero)
+
+ Store(LGreaterEqual(aui4, s605), Local0)
+ m600(arg0, 39, Local0, Ones)
+
+ Store(LGreaterEqual(auid, s605), Local0)
+ m600(arg0, 40, Local0, Ones)
+
+ Store(LGreaterEqual(auif, s605), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aui4)), s605), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auid)), s605), Local0)
+ m600(arg0, 43, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auif)), s605), Local0)
+ m600(arg0, 44, Local0, Zero)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paui, 4)), s605), Local0)
+ m600(arg0, 45, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 13)), s605), Local0)
+ m600(arg0, 46, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 15)), s605), Local0)
+ m600(arg0, 47, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreaterEqual(m601(1, 4), s605), Local0)
+ m600(arg0, 48, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 13), s605), Local0)
+ m600(arg0, 49, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 15), s605), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(1, 4, 1)), s605), Local0)
+ m600(arg0, 51, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 13, 1)), s605), Local0)
+ m600(arg0, 52, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 15, 1)), s605), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLess
+
+ Store(LLess(0xfe7cb391d650a284, s605), Local0)
+ m600(arg0, 54, Local0, Zero)
+
+ Store(LLess(0xfe7cb391d650a285, s605), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLess(0xfe7cb391d650a283, s605), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLess(aui4, s605), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLess(auid, s605), Local0)
+ m600(arg0, 58, Local0, Zero)
+
+ Store(LLess(auif, s605), Local0)
+ m600(arg0, 59, Local0, Ones)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aui4)), s605), Local0)
+ m600(arg0, 60, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auid)), s605), Local0)
+ m600(arg0, 61, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auif)), s605), Local0)
+ m600(arg0, 62, Local0, Ones)
+ }
+
+ Store(LLess(Derefof(Index(paui, 4)), s605), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 13)), s605), Local0)
+ m600(arg0, 64, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 15)), s605), Local0)
+ m600(arg0, 65, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLess(m601(1, 4), s605), Local0)
+ m600(arg0, 66, Local0, Zero)
+
+ Store(LLess(m601(1, 13), s605), Local0)
+ m600(arg0, 67, Local0, Zero)
+
+ Store(LLess(m601(1, 15), s605), Local0)
+ m600(arg0, 68, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLess(Derefof(m602(1, 4, 1)), s605), Local0)
+ m600(arg0, 69, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 13, 1)), s605), Local0)
+ m600(arg0, 70, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 15, 1)), s605), Local0)
+ m600(arg0, 71, Local0, Ones)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual(0xfe7cb391d650a284, s605), Local0)
+ m600(arg0, 72, Local0, Ones)
+
+ Store(LLessEqual(0xfe7cb391d650a285, s605), Local0)
+ m600(arg0, 73, Local0, Zero)
+
+ Store(LLessEqual(0xfe7cb391d650a283, s605), Local0)
+ m600(arg0, 74, Local0, Ones)
+
+ Store(LLessEqual(aui4, s605), Local0)
+ m600(arg0, 75, Local0, Ones)
+
+ Store(LLessEqual(auid, s605), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LLessEqual(auif, s605), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aui4)), s605), Local0)
+ m600(arg0, 78, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(auid)), s605), Local0)
+ m600(arg0, 79, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Refof(auif)), s605), Local0)
+ m600(arg0, 80, Local0, Ones)
+ }
+
+ Store(LLessEqual(Derefof(Index(paui, 4)), s605), Local0)
+ m600(arg0, 81, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paui, 13)), s605), Local0)
+ m600(arg0, 82, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Index(paui, 15)), s605), Local0)
+ m600(arg0, 83, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLessEqual(m601(1, 4), s605), Local0)
+ m600(arg0, 84, Local0, Ones)
+
+ Store(LLessEqual(m601(1, 13), s605), Local0)
+ m600(arg0, 85, Local0, Zero)
+
+ Store(LLessEqual(m601(1, 15), s605), Local0)
+ m600(arg0, 86, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(1, 4, 1)), s605), Local0)
+ m600(arg0, 87, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(1, 13, 1)), s605), Local0)
+ m600(arg0, 88, Local0, Zero)
+
+ Store(LLessEqual(Derefof(m602(1, 15, 1)), s605), Local0)
+ m600(arg0, 89, Local0, Ones)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual(0xfe7cb391d650a284, s605), Local0)
+ m600(arg0, 90, Local0, Zero)
+
+ Store(LNotEqual(0xfe7cb391d650a285, s605), Local0)
+ m600(arg0, 91, Local0, Ones)
+
+ Store(LNotEqual(0xfe7cb391d650a283, s605), Local0)
+ m600(arg0, 92, Local0, Ones)
+
+ Store(LNotEqual(aui4, s605), Local0)
+ m600(arg0, 93, Local0, Zero)
+
+ Store(LNotEqual(auid, s605), Local0)
+ m600(arg0, 94, Local0, Ones)
+
+ Store(LNotEqual(auif, s605), Local0)
+ m600(arg0, 95, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aui4)), s605), Local0)
+ m600(arg0, 96, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(auid)), s605), Local0)
+ m600(arg0, 97, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Refof(auif)), s605), Local0)
+ m600(arg0, 98, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paui, 4)), s605), Local0)
+ m600(arg0, 99, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paui, 13)), s605), Local0)
+ m600(arg0, 100, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Index(paui, 15)), s605), Local0)
+ m600(arg0, 101, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LNotEqual(m601(1, 4), s605), Local0)
+ m600(arg0, 102, Local0, Zero)
+
+ Store(LNotEqual(m601(1, 13), s605), Local0)
+ m600(arg0, 103, Local0, Ones)
+
+ Store(LNotEqual(m601(1, 15), s605), Local0)
+ m600(arg0, 104, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(1, 4, 1)), s605), Local0)
+ m600(arg0, 105, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(1, 13, 1)), s605), Local0)
+ m600(arg0, 106, Local0, Ones)
+
+ Store(LNotEqual(Derefof(m602(1, 15, 1)), s605), Local0)
+ m600(arg0, 107, Local0, Ones)
+ }
+ }
+
+ Method(m32f, 1)
+ {
+ Name(s604, "C179B3FE")
+
+ // LEqual
+
+ Store(LEqual(0xc179b3fe, s604), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual(0xc179b3ff, s604), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(0xc179b3fd, s604), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LEqual(aui3, s604), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ Store(LEqual(auic, s604), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LEqual(auie, s604), Local0)
+ m600(arg0, 5, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aui3)), s604), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(auic)), s604), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ Store(LEqual(Derefof(Refof(auie)), s604), Local0)
+ m600(arg0, 8, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paui, 3)), s604), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paui, 12)), s604), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LEqual(Derefof(Index(paui, 14)), s604), Local0)
+ m600(arg0, 11, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LEqual(m601(1, 3), s604), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(LEqual(m601(1, 12), s604), Local0)
+ m600(arg0, 13, Local0, Zero)
+
+ Store(LEqual(m601(1, 14), s604), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(1, 3, 1)), s604), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(1, 12, 1)), s604), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LEqual(Derefof(m602(1, 14, 1)), s604), Local0)
+ m600(arg0, 17, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater(0xc179b3fe, s604), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(0xc179b3ff, s604), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ Store(LGreater(0xc179b3fd, s604), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(aui3, s604), Local0)
+ m600(arg0, 21, Local0, Zero)
+
+ Store(LGreater(auic, s604), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(LGreater(auie, s604), Local0)
+ m600(arg0, 23, Local0, Zero)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aui3)), s604), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(auic)), s604), Local0)
+ m600(arg0, 25, Local0, Ones)
+
+ Store(LGreater(Derefof(Refof(auie)), s604), Local0)
+ m600(arg0, 26, Local0, Zero)
+ }
+
+ Store(LGreater(Derefof(Index(paui, 3)), s604), Local0)
+ m600(arg0, 27, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paui, 12)), s604), Local0)
+ m600(arg0, 28, Local0, Ones)
+
+ Store(LGreater(Derefof(Index(paui, 14)), s604), Local0)
+ m600(arg0, 29, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreater(m601(1, 3), s604), Local0)
+ m600(arg0, 30, Local0, Zero)
+
+ Store(LGreater(m601(1, 12), s604), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ Store(LGreater(m601(1, 14), s604), Local0)
+ m600(arg0, 32, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(1, 3, 1)), s604), Local0)
+ m600(arg0, 33, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(1, 12, 1)), s604), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreater(Derefof(m602(1, 14, 1)), s604), Local0)
+ m600(arg0, 35, Local0, Zero)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual(0xc179b3fe, s604), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(0xc179b3ff, s604), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ Store(LGreaterEqual(0xc179b3fd, s604), Local0)
+ m600(arg0, 38, Local0, Zero)
+
+ Store(LGreaterEqual(aui3, s604), Local0)
+ m600(arg0, 39, Local0, Ones)
+
+ Store(LGreaterEqual(auic, s604), Local0)
+ m600(arg0, 40, Local0, Ones)
+
+ Store(LGreaterEqual(auie, s604), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aui3)), s604), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auic)), s604), Local0)
+ m600(arg0, 43, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auie)), s604), Local0)
+ m600(arg0, 44, Local0, Zero)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paui, 3)), s604), Local0)
+ m600(arg0, 45, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 12)), s604), Local0)
+ m600(arg0, 46, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 14)), s604), Local0)
+ m600(arg0, 47, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreaterEqual(m601(1, 3), s604), Local0)
+ m600(arg0, 48, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 12), s604), Local0)
+ m600(arg0, 49, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 14), s604), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(1, 3, 1)), s604), Local0)
+ m600(arg0, 51, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 12, 1)), s604), Local0)
+ m600(arg0, 52, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 14, 1)), s604), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLess
+
+ Store(LLess(0xc179b3fe, s604), Local0)
+ m600(arg0, 54, Local0, Zero)
+
+ Store(LLess(0xc179b3ff, s604), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLess(0xc179b3fd, s604), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLess(aui3, s604), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLess(auic, s604), Local0)
+ m600(arg0, 58, Local0, Zero)
+
+ Store(LLess(auie, s604), Local0)
+ m600(arg0, 59, Local0, Ones)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aui3)), s604), Local0)
+ m600(arg0, 60, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auic)), s604), Local0)
+ m600(arg0, 61, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auie)), s604), Local0)
+ m600(arg0, 62, Local0, Ones)
+ }
+
+ Store(LLess(Derefof(Index(paui, 3)), s604), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 12)), s604), Local0)
+ m600(arg0, 64, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 14)), s604), Local0)
+ m600(arg0, 65, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLess(m601(1, 3), s604), Local0)
+ m600(arg0, 66, Local0, Zero)
+
+ Store(LLess(m601(1, 12), s604), Local0)
+ m600(arg0, 67, Local0, Zero)
+
+ Store(LLess(m601(1, 14), s604), Local0)
+ m600(arg0, 68, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLess(Derefof(m602(1, 3, 1)), s604), Local0)
+ m600(arg0, 69, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 12, 1)), s604), Local0)
+ m600(arg0, 70, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 14, 1)), s604), Local0)
+ m600(arg0, 71, Local0, Ones)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual(0xc179b3fe, s604), Local0)
+ m600(arg0, 72, Local0, Ones)
+
+ Store(LLessEqual(0xc179b3ff, s604), Local0)
+ m600(arg0, 73, Local0, Zero)
+
+ Store(LLessEqual(0xc179b3fd, s604), Local0)
+ m600(arg0, 74, Local0, Ones)
+
+ Store(LLessEqual(aui3, s604), Local0)
+ m600(arg0, 75, Local0, Ones)
+
+ Store(LLessEqual(auic, s604), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LLessEqual(auie, s604), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aui3)), s604), Local0)
+ m600(arg0, 78, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(auic)), s604), Local0)
+ m600(arg0, 79, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Refof(auie)), s604), Local0)
+ m600(arg0, 80, Local0, Ones)
+ }
+
+ Store(LLessEqual(Derefof(Index(paui, 3)), s604), Local0)
+ m600(arg0, 81, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paui, 12)), s604), Local0)
+ m600(arg0, 82, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Index(paui, 14)), s604), Local0)
+ m600(arg0, 83, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLessEqual(m601(1, 3), s604), Local0)
+ m600(arg0, 84, Local0, Ones)
+
+ Store(LLessEqual(m601(1, 12), s604), Local0)
+ m600(arg0, 85, Local0, Zero)
+
+ Store(LLessEqual(m601(1, 14), s604), Local0)
+ m600(arg0, 86, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(1, 3, 1)), s604), Local0)
+ m600(arg0, 87, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(1, 12, 1)), s604), Local0)
+ m600(arg0, 88, Local0, Zero)
+
+ Store(LLessEqual(Derefof(m602(1, 14, 1)), s604), Local0)
+ m600(arg0, 89, Local0, Ones)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual(0xc179b3fe, s604), Local0)
+ m600(arg0, 90, Local0, Zero)
+
+ Store(LNotEqual(0xc179b3ff, s604), Local0)
+ m600(arg0, 91, Local0, Ones)
+
+ Store(LNotEqual(0xc179b3fd, s604), Local0)
+ m600(arg0, 92, Local0, Ones)
+
+ Store(LNotEqual(aui3, s604), Local0)
+ m600(arg0, 93, Local0, Zero)
+
+ Store(LNotEqual(auic, s604), Local0)
+ m600(arg0, 94, Local0, Ones)
+
+ Store(LNotEqual(auie, s604), Local0)
+ m600(arg0, 95, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aui3)), s604), Local0)
+ m600(arg0, 96, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(auic)), s604), Local0)
+ m600(arg0, 97, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Refof(auie)), s604), Local0)
+ m600(arg0, 98, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paui, 3)), s604), Local0)
+ m600(arg0, 99, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paui, 12)), s604), Local0)
+ m600(arg0, 100, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Index(paui, 14)), s604), Local0)
+ m600(arg0, 101, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LNotEqual(m601(1, 3), s604), Local0)
+ m600(arg0, 102, Local0, Zero)
+
+ Store(LNotEqual(m601(1, 12), s604), Local0)
+ m600(arg0, 103, Local0, Ones)
+
+ Store(LNotEqual(m601(1, 14), s604), Local0)
+ m600(arg0, 104, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(1, 3, 1)), s604), Local0)
+ m600(arg0, 105, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(1, 12, 1)), s604), Local0)
+ m600(arg0, 106, Local0, Ones)
+
+ Store(LNotEqual(Derefof(m602(1, 14, 1)), s604), Local0)
+ m600(arg0, 107, Local0, Ones)
+ }
+ }
+
+ Method(m02b, 1)
+ {
+ Name(s601, "0321")
+
+ // LEqual
+
+ Store(LEqual(0x321, s601), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual(0x322, s601), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(0x320, s601), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LEqual(aui1, s601), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ Store(LEqual(auig, s601), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LEqual(auih, s601), Local0)
+ m600(arg0, 5, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aui1)), s601), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(auig)), s601), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ Store(LEqual(Derefof(Refof(auih)), s601), Local0)
+ m600(arg0, 8, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paui, 1)), s601), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paui, 16)), s601), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LEqual(Derefof(Index(paui, 17)), s601), Local0)
+ m600(arg0, 11, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LEqual(m601(1, 1), s601), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(LEqual(m601(1, 16), s601), Local0)
+ m600(arg0, 13, Local0, Zero)
+
+ Store(LEqual(m601(1, 17), s601), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(1, 1, 1)), s601), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(1, 16, 1)), s601), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LEqual(Derefof(m602(1, 17, 1)), s601), Local0)
+ m600(arg0, 17, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater(0x321, s601), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(0x322, s601), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ Store(LGreater(0x320, s601), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(aui1, s601), Local0)
+ m600(arg0, 21, Local0, Zero)
+
+ Store(LGreater(auig, s601), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(LGreater(auih, s601), Local0)
+ m600(arg0, 23, Local0, Zero)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aui1)), s601), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(auig)), s601), Local0)
+ m600(arg0, 25, Local0, Ones)
+
+ Store(LGreater(Derefof(Refof(auih)), s601), Local0)
+ m600(arg0, 26, Local0, Zero)
+ }
+
+ Store(LGreater(Derefof(Index(paui, 1)), s601), Local0)
+ m600(arg0, 27, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paui, 16)), s601), Local0)
+ m600(arg0, 28, Local0, Ones)
+
+ Store(LGreater(Derefof(Index(paui, 17)), s601), Local0)
+ m600(arg0, 29, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreater(m601(1, 1), s601), Local0)
+ m600(arg0, 30, Local0, Zero)
+
+ Store(LGreater(m601(1, 16), s601), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ Store(LGreater(m601(1, 17), s601), Local0)
+ m600(arg0, 32, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(1, 1, 1)), s601), Local0)
+ m600(arg0, 33, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(1, 16, 1)), s601), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreater(Derefof(m602(1, 17, 1)), s601), Local0)
+ m600(arg0, 35, Local0, Zero)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual(0x321, s601), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(0x322, s601), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ Store(LGreaterEqual(0x320, s601), Local0)
+ m600(arg0, 38, Local0, Zero)
+
+ Store(LGreaterEqual(aui1, s601), Local0)
+ m600(arg0, 39, Local0, Ones)
+
+ Store(LGreaterEqual(auig, s601), Local0)
+ m600(arg0, 40, Local0, Ones)
+
+ Store(LGreaterEqual(auih, s601), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aui1)), s601), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auig)), s601), Local0)
+ m600(arg0, 43, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auih)), s601), Local0)
+ m600(arg0, 44, Local0, Zero)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paui, 1)), s601), Local0)
+ m600(arg0, 45, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 16)), s601), Local0)
+ m600(arg0, 46, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 17)), s601), Local0)
+ m600(arg0, 47, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreaterEqual(m601(1, 1), s601), Local0)
+ m600(arg0, 48, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 16), s601), Local0)
+ m600(arg0, 49, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 17), s601), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(1, 1, 1)), s601), Local0)
+ m600(arg0, 51, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 16, 1)), s601), Local0)
+ m600(arg0, 52, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 17, 1)), s601), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLess
+
+ Store(LLess(0x321, s601), Local0)
+ m600(arg0, 54, Local0, Zero)
+
+ Store(LLess(0x322, s601), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLess(0x320, s601), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLess(aui1, s601), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLess(auig, s601), Local0)
+ m600(arg0, 58, Local0, Zero)
+
+ Store(LLess(auih, s601), Local0)
+ m600(arg0, 59, Local0, Ones)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aui1)), s601), Local0)
+ m600(arg0, 60, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auig)), s601), Local0)
+ m600(arg0, 61, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auih)), s601), Local0)
+ m600(arg0, 62, Local0, Ones)
+ }
+
+ Store(LLess(Derefof(Index(paui, 1)), s601), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 16)), s601), Local0)
+ m600(arg0, 64, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 17)), s601), Local0)
+ m600(arg0, 65, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLess(m601(1, 1), s601), Local0)
+ m600(arg0, 66, Local0, Zero)
+
+ Store(LLess(m601(1, 16), s601), Local0)
+ m600(arg0, 67, Local0, Zero)
+
+ Store(LLess(m601(1, 17), s601), Local0)
+ m600(arg0, 68, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLess(Derefof(m602(1, 1, 1)), s601), Local0)
+ m600(arg0, 69, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 16, 1)), s601), Local0)
+ m600(arg0, 70, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 17, 1)), s601), Local0)
+ m600(arg0, 71, Local0, Ones)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual(0x321, s601), Local0)
+ m600(arg0, 72, Local0, Ones)
+
+ Store(LLessEqual(0x322, s601), Local0)
+ m600(arg0, 73, Local0, Zero)
+
+ Store(LLessEqual(0x320, s601), Local0)
+ m600(arg0, 74, Local0, Ones)
+
+ Store(LLessEqual(aui1, s601), Local0)
+ m600(arg0, 75, Local0, Ones)
+
+ Store(LLessEqual(auig, s601), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LLessEqual(auih, s601), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aui1)), s601), Local0)
+ m600(arg0, 78, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(auig)), s601), Local0)
+ m600(arg0, 79, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Refof(auih)), s601), Local0)
+ m600(arg0, 80, Local0, Ones)
+ }
+
+ Store(LLessEqual(Derefof(Index(paui, 1)), s601), Local0)
+ m600(arg0, 81, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paui, 16)), s601), Local0)
+ m600(arg0, 82, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Index(paui, 17)), s601), Local0)
+ m600(arg0, 83, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLessEqual(m601(1, 1), s601), Local0)
+ m600(arg0, 84, Local0, Ones)
+
+ Store(LLessEqual(m601(1, 16), s601), Local0)
+ m600(arg0, 85, Local0, Zero)
+
+ Store(LLessEqual(m601(1, 17), s601), Local0)
+ m600(arg0, 86, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(1, 1, 1)), s601), Local0)
+ m600(arg0, 87, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(1, 16, 1)), s601), Local0)
+ m600(arg0, 88, Local0, Zero)
+
+ Store(LLessEqual(Derefof(m602(1, 17, 1)), s601), Local0)
+ m600(arg0, 89, Local0, Ones)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual(0x321, s601), Local0)
+ m600(arg0, 90, Local0, Zero)
+
+ Store(LNotEqual(0x322, s601), Local0)
+ m600(arg0, 91, Local0, Ones)
+
+ Store(LNotEqual(0x320, s601), Local0)
+ m600(arg0, 92, Local0, Ones)
+
+ Store(LNotEqual(aui1, s601), Local0)
+ m600(arg0, 93, Local0, Zero)
+
+ Store(LNotEqual(auig, s601), Local0)
+ m600(arg0, 94, Local0, Ones)
+
+ Store(LNotEqual(auih, s601), Local0)
+ m600(arg0, 95, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aui1)), s601), Local0)
+ m600(arg0, 96, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(auig)), s601), Local0)
+ m600(arg0, 97, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Refof(auih)), s601), Local0)
+ m600(arg0, 98, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paui, 1)), s601), Local0)
+ m600(arg0, 99, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paui, 16)), s601), Local0)
+ m600(arg0, 100, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Index(paui, 17)), s601), Local0)
+ m600(arg0, 101, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LNotEqual(m601(1, 1), s601), Local0)
+ m600(arg0, 102, Local0, Zero)
+
+ Store(LNotEqual(m601(1, 16), s601), Local0)
+ m600(arg0, 103, Local0, Ones)
+
+ Store(LNotEqual(m601(1, 17), s601), Local0)
+ m600(arg0, 104, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(1, 1, 1)), s601), Local0)
+ m600(arg0, 105, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(1, 16, 1)), s601), Local0)
+ m600(arg0, 106, Local0, Ones)
+
+ Store(LNotEqual(Derefof(m602(1, 17, 1)), s601), Local0)
+ m600(arg0, 107, Local0, Ones)
+ }
+ }
+
+ // String to Integer intermediate conversion of the String second
+ // operand of Concatenate operator in case the first one is Integer
+
+ Method(m64g, 1)
+ {
+ Name(s601, "0321")
+ Name(s605, "FE7CB391D650A284")
+
+ Store(Concatenate(0x321, s601), Local0)
+ m600(arg0, 0, Local0, bb26)
+
+ Store(Concatenate(0x321, s605), Local0)
+ m600(arg0, 1, Local0, bb21)
+
+
+ Store(Concatenate(aui1, s601), Local0)
+ m600(arg0, 2, Local0, bb26)
+
+ Store(Concatenate(aui1, s605), Local0)
+ m600(arg0, 3, Local0, bb21)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aui1)), s601), Local0)
+ m600(arg0, 4, Local0, bb26)
+
+ Store(Concatenate(Derefof(Refof(aui1)), s605), Local0)
+ m600(arg0, 5, Local0, bb21)
+ }
+
+ Store(Concatenate(Derefof(Index(paui, 1)), s601), Local0)
+ m600(arg0, 6, Local0, bb26)
+
+ Store(Concatenate(Derefof(Index(paui, 1)), s605), Local0)
+ m600(arg0, 7, Local0, bb21)
+
+ // Method returns Integer
+
+ Store(Concatenate(m601(1, 1), s601), Local0)
+ m600(arg0, 8, Local0, bb26)
+
+ Store(Concatenate(m601(1, 1), s605), Local0)
+ m600(arg0, 9, Local0, bb21)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(1, 1, 1)), s601), Local0)
+ m600(arg0, 10, Local0, bb26)
+
+ Store(Concatenate(Derefof(m602(1, 1, 1)), s605), Local0)
+ m600(arg0, 11, Local0, bb21)
+ }
+
+ Concatenate(0x321, s601, Local0)
+ m600(arg0, 12, Local0, bb26)
+
+ Concatenate(0x321, s605, Local0)
+ m600(arg0, 13, Local0, bb21)
+
+
+ Concatenate(aui1, s601, Local0)
+ m600(arg0, 14, Local0, bb26)
+
+ Concatenate(aui1, s605, Local0)
+ m600(arg0, 15, Local0, bb21)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aui1)), s601, Local0)
+ m600(arg0, 16, Local0, bb26)
+
+ Concatenate(Derefof(Refof(aui1)), s605, Local0)
+ m600(arg0, 17, Local0, bb21)
+ }
+
+ Concatenate(Derefof(Index(paui, 1)), s601, Local0)
+ m600(arg0, 18, Local0, bb26)
+
+ Concatenate(Derefof(Index(paui, 1)), s605, Local0)
+ m600(arg0, 19, Local0, bb21)
+
+ // Method returns Integer
+
+ Concatenate(m601(1, 1), s601, Local0)
+ m600(arg0, 20, Local0, bb26)
+
+ Concatenate(m601(1, 1), s605, Local0)
+ m600(arg0, 21, Local0, bb21)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Concatenate(Derefof(m602(1, 1, 1)), s601, Local0)
+ m600(arg0, 22, Local0, bb26)
+
+ Concatenate(Derefof(m602(1, 1, 1)), s605, Local0)
+ m600(arg0, 23, Local0, bb21)
+ }
+ }
+
+ Method(m32g, 1)
+ {
+ Name(s601, "0321")
+ Name(s604, "C179B3FE")
+
+ Store(Concatenate(0x321, s601), Local0)
+ m600(arg0, 0, Local0, bb27)
+
+ Store(Concatenate(0x321, s604), Local0)
+ m600(arg0, 1, Local0, bb24)
+
+
+ Store(Concatenate(aui1, s601), Local0)
+ m600(arg0, 2, Local0, bb27)
+
+ Store(Concatenate(aui1, s604), Local0)
+ m600(arg0, 3, Local0, bb24)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aui1)), s601), Local0)
+ m600(arg0, 4, Local0, bb27)
+
+ Store(Concatenate(Derefof(Refof(aui1)), s604), Local0)
+ m600(arg0, 5, Local0, bb24)
+ }
+
+ Store(Concatenate(Derefof(Index(paui, 1)), s601), Local0)
+ m600(arg0, 6, Local0, bb27)
+
+ Store(Concatenate(Derefof(Index(paui, 1)), s604), Local0)
+ m600(arg0, 7, Local0, bb24)
+
+ // Method returns Integer
+
+ Store(Concatenate(m601(1, 1), s601), Local0)
+ m600(arg0, 8, Local0, bb27)
+
+ Store(Concatenate(m601(1, 1), s604), Local0)
+ m600(arg0, 9, Local0, bb24)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(1, 1, 1)), s601), Local0)
+ m600(arg0, 10, Local0, bb27)
+
+ Store(Concatenate(Derefof(m602(1, 1, 1)), s604), Local0)
+ m600(arg0, 11, Local0, bb24)
+ }
+
+ Concatenate(0x321, s601, Local0)
+ m600(arg0, 12, Local0, bb27)
+
+ Concatenate(0x321, s604, Local0)
+ m600(arg0, 13, Local0, bb24)
+
+
+ Concatenate(aui1, s601, Local0)
+ m600(arg0, 14, Local0, bb27)
+
+ Concatenate(aui1, s604, Local0)
+ m600(arg0, 15, Local0, bb24)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aui1)), s601, Local0)
+ m600(arg0, 16, Local0, bb27)
+
+ Concatenate(Derefof(Refof(aui1)), s604, Local0)
+ m600(arg0, 17, Local0, bb24)
+ }
+
+ Concatenate(Derefof(Index(paui, 1)), s601, Local0)
+ m600(arg0, 18, Local0, bb27)
+
+ Concatenate(Derefof(Index(paui, 1)), s604, Local0)
+ m600(arg0, 20, Local0, bb24)
+
+ // Method returns Integer
+
+ Concatenate(m601(1, 1), s601, Local0)
+ m600(arg0, 21, Local0, bb27)
+
+ Concatenate(m601(1, 1), s604, Local0)
+ m600(arg0, 22, Local0, bb24)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Concatenate(Derefof(m602(1, 1, 1)), s601, Local0)
+ m600(arg0, 23, Local0, bb27)
+
+ Concatenate(Derefof(m602(1, 1, 1)), s604, Local0)
+ m600(arg0, 24, Local0, bb24)
+ }
+ }
+
+ // String to Integer conversion of the String Length (second)
+ // operand of the ToString operator
+
+ // Common 32-bit/64-bit test
+ Method(m02c, 1)
+ {
+ Name(s601, "0321")
+ Name(s614, "B")
+
+ Store(ToString(Buffer() {"This is auxiliary Buffer"},
+ s614), Local0)
+ m600(arg0, 0, Local0, bs1b)
+
+ Store(ToString(Buffer() {"This is auxiliary Buffer"},
+ s601), Local0)
+ m600(arg0, 1, Local0, bs1c)
+
+ Store(ToString(aub6, s614), Local0)
+ m600(arg0, 2, Local0, bs1b)
+
+ Store(ToString(aub6, s601), Local0)
+ m600(arg0, 3, Local0, bs1c)
+
+ if (y078) {
+ Store(ToString(Derefof(Refof(aub6)), s614), Local0)
+ m600(arg0, 4, Local0, bs1b)
+
+ Store(ToString(Derefof(Refof(aub6)), s601), Local0)
+ m600(arg0, 5, Local0, bs1c)
+ }
+
+ Store(ToString(Derefof(Index(paub, 6)), s614), Local0)
+ m600(arg0, 6, Local0, bs1b)
+
+ Store(ToString(Derefof(Index(paub, 6)), s601), Local0)
+ m600(arg0, 7, Local0, bs1c)
+
+ // Method returns Buffer
+
+ Store(ToString(m601(3, 6), s614), Local0)
+ m600(arg0, 8, Local0, bs1b)
+
+ Store(ToString(m601(3, 6), s601), Local0)
+ m600(arg0, 9, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(ToString(Derefof(m602(3, 6, 1)), s614), Local0)
+ m600(arg0, 10, Local0, bs1b)
+
+ Store(ToString(Derefof(m602(3, 6, 1)), s601), Local0)
+ m600(arg0, 11, Local0, bs1c)
+ }
+
+ ToString(Buffer() {"This is auxiliary Buffer"},
+ s614, Local0)
+ m600(arg0, 12, Local0, bs1b)
+
+ ToString(Buffer() {"This is auxiliary Buffer"},
+ s601, Local0)
+ m600(arg0, 13, Local0, bs1c)
+
+ ToString(aub6, s614, Local0)
+ m600(arg0, 14, Local0, bs1b)
+
+ ToString(aub6, s601, Local0)
+ m600(arg0, 15, Local0, bs1c)
+
+ if (y078) {
+ ToString(Derefof(Refof(aub6)), s614, Local0)
+ m600(arg0, 16, Local0, bs1b)
+
+ ToString(Derefof(Refof(aub6)), s601, Local0)
+ m600(arg0, 17, Local0, bs1c)
+ }
+
+ ToString(Derefof(Index(paub, 6)), s614, Local0)
+ m600(arg0, 18, Local0, bs1b)
+
+ ToString(Derefof(Index(paub, 6)), s601, Local0)
+ m600(arg0, 19, Local0, bs1c)
+
+ // Method returns Buffer
+
+ ToString(m601(3, 6), s614, Local0)
+ m600(arg0, 20, Local0, bs1b)
+
+ ToString(m601(3, 6), s601, Local0)
+ m600(arg0, 21, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ ToString(Derefof(m602(3, 6, 1)), s614, Local0)
+ m600(arg0, 22, Local0, bs1b)
+
+ ToString(Derefof(m602(3, 6, 1)), s601, Local0)
+ m600(arg0, 23, Local0, bs1c)
+ }
+ }
+
+ Method(m64h, 1)
+ {
+ Name(s605, "FE7CB391D650A284")
+
+ Store(ToString(Buffer() {"This is auxiliary Buffer"},
+ s605), Local0)
+ m600(arg0, 0, Local0, bs1c)
+
+ Store(ToString(aub6, s605), Local0)
+ m600(arg0, 1, Local0, bs1c)
+
+ if (y078) {
+ Store(ToString(Derefof(Refof(aub6)), s605), Local0)
+ m600(arg0, 2, Local0, bs1c)
+ }
+
+ Store(ToString(Derefof(Index(paub, 6)), s605), Local0)
+ m600(arg0, 3, Local0, bs1c)
+
+ // Method returns Buffer
+
+ Store(ToString(m601(3, 6), s605), Local0)
+ m600(arg0, 4, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(ToString(Derefof(m602(3, 6, 1)), s605), Local0)
+ m600(arg0, 5, Local0, bs1c)
+ }
+
+ ToString(Buffer() {"This is auxiliary Buffer"},
+ s605, Local0)
+ m600(arg0, 6, Local0, bs1c)
+
+ ToString(aub6, s605, Local0)
+ m600(arg0, 7, Local0, bs1c)
+
+ if (y078) {
+ ToString(Derefof(Refof(aub6)), s605, Local0)
+ m600(arg0, 8, Local0, bs1c)
+ }
+
+ ToString(Derefof(Index(paub, 6)), s605, Local0)
+ m600(arg0, 9, Local0, bs1c)
+
+ // Method returns Buffer
+
+ ToString(m601(3, 6), s605, Local0)
+ m600(arg0, 10, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ ToString(Derefof(m602(3, 6, 1)), s605, Local0)
+ m600(arg0, 11, Local0, bs1c)
+ }
+ }
+
+ Method(m32h, 1)
+ {
+ Name(s604, "C179B3FE")
+
+ Store(ToString(Buffer() {"This is auxiliary Buffer"},
+ s604), Local0)
+ m600(arg0, 0, Local0, bs1c)
+
+ Store(ToString(aub6, s604), Local0)
+ m600(arg0, 1, Local0, bs1c)
+
+ if (y078) {
+ Store(ToString(Derefof(Refof(aub6)), s604), Local0)
+ m600(arg0, 2, Local0, bs1c)
+ }
+
+ Store(ToString(Derefof(Index(paub, 6)), s604), Local0)
+ m600(arg0, 3, Local0, bs1c)
+
+ // Method returns Buffer
+
+ Store(ToString(m601(3, 6), s604), Local0)
+ m600(arg0, 4, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(ToString(Derefof(m602(3, 6, 1)), s604), Local0)
+ m600(arg0, 5, Local0, bs1c)
+ }
+
+ ToString(Buffer() {"This is auxiliary Buffer"},
+ s604, Local0)
+ m600(arg0, 6, Local0, bs1c)
+
+ ToString(aub6, s604, Local0)
+ m600(arg0, 7, Local0, bs1c)
+
+ if (y078) {
+ ToString(Derefof(Refof(aub6)), s604, Local0)
+ m600(arg0, 8, Local0, bs1c)
+ }
+
+ ToString(Derefof(Index(paub, 6)), s604, Local0)
+ m600(arg0, 9, Local0, bs1c)
+
+ // Method returns Buffer
+
+ ToString(m601(3, 6), s604, Local0)
+ m600(arg0, 10, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ ToString(Derefof(m602(3, 6, 1)), s604, Local0)
+ m600(arg0, 11, Local0, bs1c)
+ }
+ }
+
+ // String to Integer conversion of the String Index (second)
+ // operand of the Index operator
+ Method(m02d, 1)
+ {
+ Name(s614, "B")
+
+ Store(Index(aus6, s614), Local0)
+ m600(arg0, 0, Derefof(Local0), bi10)
+
+ Store(Index(aub6, s614), Local0)
+ m600(arg0, 1, Derefof(Local0), bi10)
+
+ Store(Index(aup0, s614), Local0)
+ m600(arg0, 2, Derefof(Local0), bi11)
+
+ if (y078) {
+ Store(Index(Derefof(Refof(aus6)), s614), Local0)
+ m600(arg0, 3, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Refof(aub6)), s614), Local0)
+ m600(arg0, 4, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Refof(aup0)), s614), Local0)
+ m600(arg0, 5, Derefof(Local0), bi11)
+ }
+
+ Store(Index(Derefof(Index(paus, 6)), s614), Local0)
+ m600(arg0, 6, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Index(paub, 6)), s614), Local0)
+ m600(arg0, 7, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Index(paup, 0)), s614), Local0)
+ m600(arg0, 8, Derefof(Local0), bi11)
+
+
+ // Method returns Object
+
+ if (y900) {
+ Store(Index(m601(2, 6), s614), Local0)
+ m600(arg0, 9, Derefof(Local0), bi10)
+
+ Store(Index(m601(3, 6), s614), Local0)
+ m600(arg0, 10, Derefof(Local0), bi10)
+
+ Store(Index(m601(4, 0), s614), Local0)
+ m600(arg0, 11, Derefof(Local0), bi11)
+ } else {
+
+ CH03(arg0, z088, 0, 0, 0)
+
+ Index(m601(2, 6), s614)
+ CH04(arg0, 0, 85, z088, 9, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+
+ Index(m601(3, 6), s614)
+ CH04(arg0, 0, 85, z088, 10, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+
+ Index(m601(4, 0), s614)
+ CH04(arg0, 0, 85, z088, 11, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+ }
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Index(Derefof(m602(2, 6, 1)), s614), Local0)
+ m600(arg0, 12, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(m602(3, 6, 1)), s614), Local0)
+ m600(arg0, 13, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(m602(4, 0, 1)), s614), Local0)
+ m600(arg0, 14, Derefof(Local0), bi11)
+ }
+
+ Index(aus6, s614, Local0)
+ m600(arg0, 15, Derefof(Local0), bi10)
+
+ Index(aub6, s614, Local0)
+ m600(arg0, 16, Derefof(Local0), bi10)
+
+ Index(aup0, s614, Local0)
+ m600(arg0, 17, Derefof(Local0), bi11)
+
+ if (y078) {
+ Index(Derefof(Refof(aus6)), s614, Local0)
+ m600(arg0, 18, Derefof(Local0), bi10)
+
+ Index(Derefof(Refof(aub6)), s614, Local0)
+ m600(arg0, 19, Derefof(Local0), bi10)
+
+ Index(Derefof(Refof(aup0)), s614, Local0)
+ m600(arg0, 20, Derefof(Local0), bi11)
+ }
+
+ Index(Derefof(Index(paus, 6)), s614, Local0)
+ m600(arg0, 21, Derefof(Local0), bi10)
+
+ Index(Derefof(Index(paub, 6)), s614, Local0)
+ m600(arg0, 22, Derefof(Local0), bi10)
+
+ Index(Derefof(Index(paup, 0)), s614, Local0)
+ m600(arg0, 23, Derefof(Local0), bi11)
+
+
+ // Method returns Object
+
+ if (y900) {
+ Index(m601(2, 6), s614, Local0)
+ m600(arg0, 24, Derefof(Local0), bi10)
+
+ Index(m601(3, 6), s614, Local0)
+ m600(arg0, 25, Derefof(Local0), bi10)
+
+ Index(m601(4, 0), s614, Local0)
+ m600(arg0, 26, Derefof(Local0), bi11)
+ } else {
+
+ CH03(arg0, z088, 0, 0, 0)
+
+ Index(m601(2, 6), s614, Local0)
+ CH04(arg0, 0, 85, z088, 24, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+
+ Index(m601(3, 6), s614, Local0)
+ CH04(arg0, 0, 85, z088, 25, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+
+ Index(m601(4, 0), s614, Local0)
+ CH04(arg0, 0, 85, z088, 26, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+ }
+
+ // Method returns Reference
+
+ if (y500) {
+ Index(Derefof(m602(2, 6, 1)), s614, Local0)
+ m600(arg0, 27, Derefof(Local0), bi10)
+
+ Index(Derefof(m602(3, 6, 1)), s614, Local0)
+ m600(arg0, 28, Derefof(Local0), bi10)
+
+ Index(Derefof(m602(4, 0, 1)), s614, Local0)
+ m600(arg0, 29, Derefof(Local0), bi11)
+ }
+
+ if (y098) {
+ Store(Index(aus6, s614, Local1), Local0)
+ m600(arg0, 30, Derefof(Local0), bi10)
+
+ Store(Index(aub6, s614, Local1), Local0)
+ m600(arg0, 31, Derefof(Local0), bi10)
+
+ Store(Index(aup0, s614, Local1), Local0)
+ m600(arg0, 32, Derefof(Local0), bi11)
+ }
+
+ if (y078) {
+ Store(Index(Derefof(Refof(aus6)), s614, Local1), Local0)
+ m600(arg0, 33, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Refof(aub6)), s614, Local1), Local0)
+ m600(arg0, 34, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Refof(aup0)), s614, Local1), Local0)
+ m600(arg0, 35, Derefof(Local0), bi11)
+ }
+
+ if (y098) {
+ Store(Index(Derefof(Index(paus, 6)), s614, Local1), Local0)
+ m600(arg0, 36, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Index(paub, 6)), s614, Local1), Local0)
+ m600(arg0, 37, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Index(paup, 0)), s614, Local1), Local0)
+ m600(arg0, 38, Derefof(Local0), bi11)
+ }
+
+ // Method returns Object
+
+ if (LAnd(y900, y098)) {
+ Store(Index(m601(2, 6), s614, Local1), Local0)
+ m600(arg0, 39, Derefof(Local0), bi10)
+
+ Store(Index(m601(3, 6), s614, Local1), Local0)
+ m600(arg0, 40, Derefof(Local0), bi10)
+
+ Store(Index(m601(4, 0), s614, Local1), Local0)
+ m600(arg0, 41, Derefof(Local0), bi11)
+ }
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Index(Derefof(m602(2, 6, 1)), s614, Local1), Local0)
+ m600(arg0, 42, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(m602(3, 6, 1)), s614, Local1), Local0)
+ m600(arg0, 43, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(m602(4, 0, 1)), s614, Local1), Local0)
+ m600(arg0, 44, Derefof(Local0), bi11)
+ }
+ }
+
+ // String to Integer conversion of the String Arg (third)
+ // operand of the Fatal operator
+ // (it can only be checked an exception does not occur)
+ Method(m02e, 1)
+ {
+ Name(s601, "0321")
+ Name(s604, "C179B3FE")
+ Name(s605, "FE7CB391D650A284")
+
+ CH03(arg0, z088, 0, 0, 0)
+ Fatal(0xff, 0xffffffff, s601)
+ if (F64) {
+ Fatal(0xff, 0xffffffff, s605)
+ } else {
+ Fatal(0xff, 0xffffffff, s604)
+ }
+ CH03(arg0, z088, 1, 0, 0)
+ }
+
+ // String to Integer conversion of the String Index and Length
+ // operands of the Mid operator
+
+ // Common 32-bit/64-bit test
+ Method(m02f, 1)
+ {
+ Name(s614, "B")
+
+ // String to Integer conversion of the String Index operand
+
+ Store(Mid("This is auxiliary String", s614, 10), Local0)
+ m600(arg0, 0, Local0, bs1d)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, s614, 10), Local0)
+ m600(arg0, 1, Local0, bb32)
+
+ Store(Mid(aus6, s614, 10), Local0)
+ m600(arg0, 2, Local0, bs1d)
+
+ Store(Mid(aub6, s614, 10), Local0)
+ m600(arg0, 3, Local0, bb32)
+
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), s614, 10), Local0)
+ m600(arg0, 4, Local0, bs1d)
+
+ Store(Mid(Derefof(Refof(aub6)), s614, 10), Local0)
+ m600(arg0, 5, Local0, bb32)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), s614, 10), Local0)
+ m600(arg0, 6, Local0, bs1d)
+
+ Store(Mid(Derefof(Index(paub, 6)), s614, 10), Local0)
+ m600(arg0, 7, Local0, bb32)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), s614, 10), Local0)
+ m600(arg0, 8, Local0, bs1d)
+
+ Store(Mid(m601(3, 6), s614, 10), Local0)
+ m600(arg0, 9, Local0, bb32)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), s614, 10), Local0)
+ m600(arg0, 10, Local0, bs1d)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), s614, 10), Local0)
+ m600(arg0, 11, Local0, bb32)
+ }
+
+ Mid("This is auxiliary String", s614, 10, Local0)
+ m600(arg0, 12, Local0, bs1d)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, s614, 10, Local0)
+ m600(arg0, 13, Local0, bb32)
+
+ Mid(aus6, s614, 10, Local0)
+ m600(arg0, 14, Local0, bs1d)
+
+ Mid(aub6, s614, 10, Local0)
+ m600(arg0, 15, Local0, bb32)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), s614, 10, Local0)
+ m600(arg0, 16, Local0, bs1d)
+
+ Mid(Derefof(Refof(aub6)), s614, 10, Local0)
+ m600(arg0, 17, Local0, bb32)
+ }
+
+ Mid(Derefof(Index(paus, 6)), s614, 10, Local0)
+ m600(arg0, 18, Local0, bs1d)
+
+ Mid(Derefof(Index(paub, 6)), s614, 10, Local0)
+ m600(arg0, 19, Local0, bb32)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), s614, 10, Local0)
+ m600(arg0, 20, Local0, bs1d)
+
+ Mid(m601(3, 6), s614, 10, Local0)
+ m600(arg0, 21, Local0, bb32)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), s614, 10, Local0)
+ m600(arg0, 22, Local0, bs1d)
+
+ Mid(Derefof(m602(3, 6, 1)), s614, 10, Local0)
+ m600(arg0, 23, Local0, bb32)
+ }
+
+ // String to Integer conversion of the String Length operand
+
+ Store(Mid("This is auxiliary String", 0, s614), Local0)
+ m600(arg0, 24, Local0, bs1b)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, 0, s614), Local0)
+ m600(arg0, 25, Local0, bb33)
+
+ Store(Mid(aus6, 0, s614), Local0)
+ m600(arg0, 26, Local0, bs1b)
+
+ Store(Mid(aub6, 0, s614), Local0)
+ m600(arg0, 27, Local0, bb33)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), 0, s614), Local0)
+ m600(arg0, 28, Local0, bs1b)
+
+ Store(Mid(Derefof(Refof(aub6)), 0, s614), Local0)
+ m600(arg0, 29, Local0, bb33)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), 0, s614), Local0)
+ m600(arg0, 30, Local0, bs1b)
+
+ Store(Mid(Derefof(Index(paub, 6)), 0, s614), Local0)
+ m600(arg0, 31, Local0, bb33)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), 0, s614), Local0)
+ m600(arg0, 32, Local0, bs1b)
+
+ Store(Mid(m601(3, 6), 0, s614), Local0)
+ m600(arg0, 33, Local0, bb33)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), 0, s614), Local0)
+ m600(arg0, 34, Local0, bs1b)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), 0, s614), Local0)
+ m600(arg0, 35, Local0, bb33)
+ }
+
+ Mid("This is auxiliary String", 0, s614, Local0)
+ m600(arg0, 36, Local0, bs1b)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, 0, s614, Local0)
+ m600(arg0, 37, Local0, bb33)
+
+ Mid(aus6, 0, s614, Local0)
+ m600(arg0, 37, Local0, bs1b)
+
+ Mid(aub6, 0, s614, Local0)
+ m600(arg0, 39, Local0, bb33)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), 0, s614, Local0)
+ m600(arg0, 40, Local0, bs1b)
+
+ Mid(Derefof(Refof(aub6)), 0, s614, Local0)
+ m600(arg0, 41, Local0, bb33)
+ }
+
+ Mid(Derefof(Index(paus, 6)), 0, s614, Local0)
+ m600(arg0, 42, Local0, bs1b)
+
+ Mid(Derefof(Index(paub, 6)), 0, s614, Local0)
+ m600(arg0, 43, Local0, bb33)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), 0, s614, Local0)
+ m600(arg0, 44, Local0, bs1b)
+
+ Mid(m601(3, 6), 0, s614, Local0)
+ m600(arg0, 45, Local0, bb33)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), 0, s614, Local0)
+ m600(arg0, 46, Local0, bs1b)
+
+ Mid(Derefof(m602(3, 6, 1)), 0, s614, Local0)
+ m600(arg0, 47, Local0, bb33)
+ }
+ }
+
+ Method(m64i, 1)
+ {
+ Name(s605, "FE7CB391D650A284")
+ Name(s614, "B")
+
+ // String to Integer conversion of the String Length operand
+
+ Store(Mid("This is auxiliary String", 0, s605), Local0)
+ m600(arg0, 0, Local0, bs1e)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, 0, s605), Local0)
+ m600(arg0, 1, Local0, bb34)
+
+ Store(Mid(aus6, 0, s605), Local0)
+ m600(arg0, 2, Local0, bs1e)
+
+ Store(Mid(aub6, 0, s605), Local0)
+ m600(arg0, 3, Local0, bb34)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), 0, s605), Local0)
+ m600(arg0, 4, Local0, bs1e)
+
+ Store(Mid(Derefof(Refof(aub6)), 0, s605), Local0)
+ m600(arg0, 5, Local0, bb34)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), 0, s605), Local0)
+ m600(arg0, 6, Local0, bs1e)
+
+ Store(Mid(Derefof(Index(paub, 6)), 0, s605), Local0)
+ m600(arg0, 7, Local0, bb34)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), 0, s605), Local0)
+ m600(arg0, 8, Local0, bs1e)
+
+ Store(Mid(m601(3, 6), 0, s605), Local0)
+ m600(arg0, 9, Local0, bb34)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), 0, s605), Local0)
+ m600(arg0, 10, Local0, bs1e)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), 0, s605), Local0)
+ m600(arg0, 11, Local0, bb34)
+ }
+
+ Mid("This is auxiliary String", 0, s605, Local0)
+ m600(arg0, 12, Local0, bs1e)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, 0, s605, Local0)
+ m600(arg0, 13, Local0, bb34)
+
+ Mid(aus6, 0, s605, Local0)
+ m600(arg0, 14, Local0, bs1e)
+
+ Mid(aub6, 0, s605, Local0)
+ m600(arg0, 15, Local0, bb34)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), 0, s605, Local0)
+ m600(arg0, 16, Local0, bs1e)
+
+ Mid(Derefof(Refof(aub6)), 0, s605, Local0)
+ m600(arg0, 17, Local0, bb34)
+ }
+
+ Mid(Derefof(Index(paus, 6)), 0, s605, Local0)
+ m600(arg0, 18, Local0, bs1e)
+
+ Mid(Derefof(Index(paub, 6)), 0, s605, Local0)
+ m600(arg0, 19, Local0, bb34)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), 0, s605, Local0)
+ m600(arg0, 20, Local0, bs1e)
+
+ Mid(m601(3, 6), 0, s605, Local0)
+ m600(arg0, 21, Local0, bb34)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), 0, s605, Local0)
+ m600(arg0, 22, Local0, bs1e)
+
+ Mid(Derefof(m602(3, 6, 1)), 0, s605, Local0)
+ m600(arg0, 23, Local0, bb34)
+ }
+
+ // String to Integer conversion of the both String operands
+
+ Store(Mid("This is auxiliary String", s614, s605), Local0)
+ m600(arg0, 24, Local0, bs1f)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, s614, s605), Local0)
+ m600(arg0, 25, Local0, bb35)
+
+ Store(Mid(aus6, s614, s605), Local0)
+ m600(arg0, 26, Local0, bs1f)
+
+ Store(Mid(aub6, s614, s605), Local0)
+ m600(arg0, 27, Local0, bb35)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), s614, s605), Local0)
+ m600(arg0, 28, Local0, bs1f)
+
+ Store(Mid(Derefof(Refof(aub6)), s614, s605), Local0)
+ m600(arg0, 29, Local0, bb35)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), s614, s605), Local0)
+ m600(arg0, 30, Local0, bs1f)
+
+ Store(Mid(Derefof(Index(paub, 6)), s614, s605), Local0)
+ m600(arg0, 31, Local0, bb35)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), s614, s605), Local0)
+ m600(arg0, 32, Local0, bs1f)
+
+ Store(Mid(m601(3, 6), s614, s605), Local0)
+ m600(arg0, 33, Local0, bb35)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), s614, s605), Local0)
+ m600(arg0, 34, Local0, bs1f)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), s614, s605), Local0)
+ m600(arg0, 35, Local0, bb35)
+ }
+
+ Mid("This is auxiliary String", s614, s605, Local0)
+ m600(arg0, 36, Local0, bs1f)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, s614, s605, Local0)
+ m600(arg0, 37, Local0, bb35)
+
+ Mid(aus6, s614, s605, Local0)
+ m600(arg0, 38, Local0, bs1f)
+
+ Mid(aub6, s614, s605, Local0)
+ m600(arg0, 39, Local0, bb35)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), s614, s605, Local0)
+ m600(arg0, 40, Local0, bs1f)
+
+ Mid(Derefof(Refof(aub6)), s614, s605, Local0)
+ m600(arg0, 41, Local0, bb35)
+ }
+
+ Mid(Derefof(Index(paus, 6)), s614, s605, Local0)
+ m600(arg0, 42, Local0, bs1f)
+
+ Mid(Derefof(Index(paub, 6)), s614, s605, Local0)
+ m600(arg0, 43, Local0, bb35)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), s614, s605, Local0)
+ m600(arg0, 44, Local0, bs1f)
+
+ Mid(m601(3, 6), s614, s605, Local0)
+ m600(arg0, 45, Local0, bb35)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), s614, s605, Local0)
+ m600(arg0, 46, Local0, bs1f)
+
+ Mid(Derefof(m602(3, 6, 1)), s614, s605, Local0)
+ m600(arg0, 47, Local0, bb35)
+ }
+ }
+
+ Method(m32i, 1)
+ {
+ Name(s604, "C179B3FE")
+ Name(s614, "B")
+
+ // String to Integer conversion of the String Length operand
+
+ Store(Mid("This is auxiliary String", 0, s604), Local0)
+ m600(arg0, 0, Local0, bs1e)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, 0, s604), Local0)
+ m600(arg0, 1, Local0, bb34)
+
+ Store(Mid(aus6, 0, s604), Local0)
+ m600(arg0, 2, Local0, bs1e)
+
+ Store(Mid(aub6, 0, s604), Local0)
+ m600(arg0, 3, Local0, bb34)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), 0, s604), Local0)
+ m600(arg0, 4, Local0, bs1e)
+
+ Store(Mid(Derefof(Refof(aub6)), 0, s604), Local0)
+ m600(arg0, 5, Local0, bb34)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), 0, s604), Local0)
+ m600(arg0, 6, Local0, bs1e)
+
+ Store(Mid(Derefof(Index(paub, 6)), 0, s604), Local0)
+ m600(arg0, 7, Local0, bb34)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), 0, s604), Local0)
+ m600(arg0, 8, Local0, bs1e)
+
+ Store(Mid(m601(3, 6), 0, s604), Local0)
+ m600(arg0, 9, Local0, bb34)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), 0, s604), Local0)
+ m600(arg0, 10, Local0, bs1e)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), 0, s604), Local0)
+ m600(arg0, 11, Local0, bb34)
+ }
+
+ Mid("This is auxiliary String", 0, s604, Local0)
+ m600(arg0, 12, Local0, bs1e)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, 0, s604, Local0)
+ m600(arg0, 13, Local0, bb34)
+
+ Mid(aus6, 0, s604, Local0)
+ m600(arg0, 14, Local0, bs1e)
+
+ Mid(aub6, 0, s604, Local0)
+ m600(arg0, 15, Local0, bb34)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), 0, s604, Local0)
+ m600(arg0, 16, Local0, bs1e)
+
+ Mid(Derefof(Refof(aub6)), 0, s604, Local0)
+ m600(arg0, 17, Local0, bb34)
+ }
+
+ Mid(Derefof(Index(paus, 6)), 0, s604, Local0)
+ m600(arg0, 18, Local0, bs1e)
+
+ Mid(Derefof(Index(paub, 6)), 0, s604, Local0)
+ m600(arg0, 19, Local0, bb34)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), 0, s604, Local0)
+ m600(arg0, 20, Local0, bs1e)
+
+ Mid(m601(3, 6), 0, s604, Local0)
+ m600(arg0, 21, Local0, bb34)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), 0, s604, Local0)
+ m600(arg0, 22, Local0, bs1e)
+
+ Mid(Derefof(m602(3, 6, 1)), 0, s604, Local0)
+ m600(arg0, 23, Local0, bb34)
+ }
+
+ // String to Integer conversion of the both String operands
+
+ Store(Mid("This is auxiliary String", s614, s604), Local0)
+ m600(arg0, 24, Local0, bs1f)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, s614, s604), Local0)
+ m600(arg0, 25, Local0, bb35)
+
+ Store(Mid(aus6, s614, s604), Local0)
+ m600(arg0, 26, Local0, bs1f)
+
+ Store(Mid(aub6, s614, s604), Local0)
+ m600(arg0, 27, Local0, bb35)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), s614, s604), Local0)
+ m600(arg0, 28, Local0, bs1f)
+
+ Store(Mid(Derefof(Refof(aub6)), s614, s604), Local0)
+ m600(arg0, 29, Local0, bb35)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), s614, s604), Local0)
+ m600(arg0, 30, Local0, bs1f)
+
+ Store(Mid(Derefof(Index(paub, 6)), s614, s604), Local0)
+ m600(arg0, 31, Local0, bb35)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), s614, s604), Local0)
+ m600(arg0, 32, Local0, bs1f)
+
+ Store(Mid(m601(3, 6), s614, s604), Local0)
+ m600(arg0, 33, Local0, bb35)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), s614, s604), Local0)
+ m600(arg0, 34, Local0, bs1f)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), s614, s604), Local0)
+ m600(arg0, 35, Local0, bb35)
+ }
+
+ Mid("This is auxiliary String", s614, s604, Local0)
+ m600(arg0, 36, Local0, bs1f)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, s614, s604, Local0)
+ m600(arg0, 37, Local0, bb35)
+
+ Mid(aus6, s614, s604, Local0)
+ m600(arg0, 38, Local0, bs1f)
+
+ Mid(aub6, s614, s604, Local0)
+ m600(arg0, 39, Local0, bb35)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), s614, s604, Local0)
+ m600(arg0, 40, Local0, bs1f)
+
+ Mid(Derefof(Refof(aub6)), s614, s604, Local0)
+ m600(arg0, 41, Local0, bb35)
+ }
+
+ Mid(Derefof(Index(paus, 6)), s614, s604, Local0)
+ m600(arg0, 42, Local0, bs1f)
+
+ Mid(Derefof(Index(paub, 6)), s614, s604, Local0)
+ m600(arg0, 43, Local0, bb35)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), s614, s604, Local0)
+ m600(arg0, 44, Local0, bs1f)
+
+ Mid(m601(3, 6), s614, s604, Local0)
+ m600(arg0, 45, Local0, bb35)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), s614, s604, Local0)
+ m600(arg0, 46, Local0, bs1f)
+
+ Mid(Derefof(m602(3, 6, 1)), s614, s604, Local0)
+ m600(arg0, 47, Local0, bb35)
+ }
+ }
+
+ // String to Integer conversion of the String StartIndex
+ // operand of the Match operator
+ Method(m030, 1)
+ {
+ Name(s614, "B")
+
+ Store(Match(
+ Package(){
+ 0xa50, 0xa51, 0xa52, 0xa53, 0xa54, 0xa55, 0xa56, 0xa57,
+ 0xa58, 0xa59, 0xa5a, 0xa5b, 0xa5c, 0xa5d, 0xa5e,},
+ MEQ, 0xa5d, MTR, 0, s614), Local0)
+ m600(arg0, 0, Local0, 0xd)
+
+ Store(Match(
+ Package(){
+ 0xa50, 0xa51, 0xa52, 0xa53, 0xa54, 0xa55, 0xa56, 0xa57,
+ 0xa58, 0xa59, 0xa5a, 0xa5b, 0xa5c, 0xa5d, 0xa5e,},
+ MEQ, 0xa5a, MTR, 0, s614), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(Match(aup0, MEQ, 0xa5d, MTR, 0, s614), Local0)
+ m600(arg0, 2, Local0, 0xd)
+
+ Store(Match(aup0, MEQ, 0xa5a, MTR, 0, s614), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(Match(Derefof(Refof(aup0)), MEQ, 0xa5d, MTR, 0, s614), Local0)
+ m600(arg0, 4, Local0, 0xd)
+
+ Store(Match(Derefof(Refof(aup0)), MEQ, 0xa5a, MTR, 0, s614), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(Match(Derefof(Index(paup, 0)), MEQ, 0xa5d, MTR, 0, s614), Local0)
+ m600(arg0, 6, Local0, 0xd)
+
+ Store(Match(Derefof(Index(paup, 0)), MEQ, 0xa5a, MTR, 0, s614), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Object
+
+ Store(Match(m601(4, 0), MEQ, 0xa5d, MTR, 0, s614), Local0)
+ m600(arg0, 8, Local0, 0xd)
+
+ Store(Match(m601(4, 0), MEQ, 0xa5a, MTR, 0, s614), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Match(Derefof(m602(4, 0, 1)), MEQ, 0xa5d, MTR, 0, s614), Local0)
+ m600(arg0, 10, Local0, 0xd)
+
+ Store(Match(Derefof(m602(4, 0, 1)), MEQ, 0xa5a, MTR, 0, s614), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+ }
+
+// Method(m64j, 1)
+
+// Method(m32j, 1)
+
+ // String to Integer conversion of the String sole operand
+ // of the Method execution control operators (Sleep, Stall)
+ Method(m031, 1)
+ {
+ Name(s601, "0321")
+ Name(s61b, "63")
+
+ CH03(arg0, z088, 2, 0, 0)
+
+ // Sleep
+
+ Store(Timer, Local0)
+
+ Sleep(s601)
+ CH03(arg0, z088, 3, 0, 0)
+
+ Store(Timer, Local1)
+ Subtract(Local1, Local0, Local2)
+ if (LLess(Local2, c08c)) {
+ err(arg0, z088, 0, 0, 0, Local2, c08c)
+ }
+
+ // Stall
+
+ Store(Timer, Local0)
+
+ Stall(s61b)
+ CH03(arg0, z088, 4, 0, 0)
+
+ Store(Timer, Local1)
+ Subtract(Local1, Local0, Local2)
+ if (LLess(Local2, 990)) {
+ err(arg0, z088, 1, 0, 0, Local2, 990)
+ }
+ }
+
+ // String to Integer conversion of the String TimeoutValue
+ // (second) operand of the Acquire operator ???
+ Method(m032, 1)
+ {
+ Name(s601, "0321")
+
+ Mutex(MTX0, 0)
+
+ Acquire(MTX0, 0)
+ CH03(arg0, z088, 5, 0, 0)
+
+ Store(Timer, Local0)
+
+/* Compiler allows only Integer constant as TimeoutValue (Bug 1)
+ Acquire(MTX0, s601)
+*/
+ CH03(arg0, z088, 6, 0, 0)
+
+ Store(Timer, Local1)
+ Subtract(Local1, Local0, Local2)
+ if (LLess(Local2, c08c)) {
+ err(arg0, z088, 0, 0, 0, Local2, c08c)
+ }
+ }
+
+ // String to Integer conversion of the String TimeoutValue
+ // (second) operand of the Wait operator
+ Method(m033, 1)
+ {
+ Name(s601, "0321")
+
+ Event(EVT0)
+
+ CH03(arg0, z088, 7, 0, 0)
+
+ Store(Timer, Local0)
+
+ Wait(EVT0, s601)
+ CH03(arg0, z088, 8, 0, 0)
+
+ Store(Timer, Local1)
+ Subtract(Local1, Local0, Local2)
+ if (LLess(Local2, c08c)) {
+ err(arg0, z088, 0, 0, 0, Local2, c08c)
+ }
+ }
+
+ // String to Integer conversion of the String value
+ // of Predicate of the Method execution control statements
+ // (If, ElseIf, While)
+ Method(m034, 1)
+ {
+ Name(s600, "0")
+ Name(s601, "0321")
+ Name(s604, "C179B3FE")
+ Name(s605, "FE7CB391D650A284")
+
+ Name(ist0, 0)
+
+ Method(m001)
+ {
+ if (s600) {
+ Store(0, ist0)
+ }
+ }
+
+ Method(m002)
+ {
+ if (s601) {
+ Store(2, ist0)
+ }
+ }
+
+ Method(m003)
+ {
+ if (s604) {
+ Store(3, ist0)
+ }
+ }
+
+ Method(m004)
+ {
+ if (s605) {
+ Store(4, ist0)
+ }
+ }
+
+ Method(m005, 1)
+ {
+ if (arg0) {
+ Store(0xff, ist0)
+ } elseif (s600) {
+ Store(0, ist0)
+ }
+ }
+
+ Method(m006, 1)
+ {
+ if (arg0) {
+ Store(0xff, ist0)
+ } elseif (s601) {
+ Store(6, ist0)
+ }
+ }
+
+ Method(m007, 1)
+ {
+ if (arg0) {
+ Store(0xff, ist0)
+ } elseif (s604) {
+ Store(7, ist0)
+ }
+ }
+
+ Method(m008, 1)
+ {
+ if (arg0) {
+ Store(0xff, ist0)
+ } elseif (s605) {
+ Store(8, ist0)
+ }
+ }
+
+ Method(m009)
+ {
+ while (s600) {
+ Store(0, ist0)
+ }
+ }
+
+ // If
+
+ Store(1, ist0)
+ m001()
+ m600(arg0, 0, ist0, 1)
+
+ m002()
+ m600(arg0, 1, ist0, 2)
+
+ m003()
+ m600(arg0, 2, ist0, 3)
+
+ m004()
+ m600(arg0, 3, ist0, 4)
+
+ // ElseIf
+
+ Store(5, ist0)
+ m005(0)
+ m600(arg0, 4, ist0, 5)
+
+ m006(0)
+ m600(arg0, 5, ist0, 6)
+
+ m007(0)
+ m600(arg0, 6, ist0, 7)
+
+ m008(0)
+ m600(arg0, 7, ist0, 8)
+
+ // While
+
+ Store(9, ist0)
+ m009()
+ m600(arg0, 8, ist0, 9)
+ }
+
+// Method(m64k, 1)
+
+// Method(m32k, 1)
+
+ // String to Buffer implicit conversion Cases.
+
+ // String to Buffer conversion of the String second operand of
+ // Logical operators when the first operand is evaluated as Buffer
+ // (LEqual, LGreater, LGreaterEqual, LLess, LLessEqual, LNotEqual)
+
+ Method(m035, 1)
+ {
+ Name(s601, "0321")
+ Name(s60c, "")
+ Name(s60e, "!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*")
+
+ // LEqual
+
+ Store(LEqual(Buffer() {0x30, 0x33, 0x32, 0x31, 0x00}, s601), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual(Buffer() {0x30, 0x33, 0x32, 0x31, 0x01}, s601), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(aub7, s601), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(LEqual(aub3, s601), Local0)
+ m600(arg0, 3, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aub7)), s601), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(aub3)), s601), Local0)
+ m600(arg0, 5, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paub, 7)), s601), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paub, 3)), s601), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ // Method returns Buffer
+
+ Store(LEqual(m601(3, 7), s601), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(LEqual(m601(3, 3), s601), Local0)
+ m600(arg0, 9, Local0, Zero)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(3, 7, 1)), s601), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(3, 3, 1)), s601), Local0)
+ m600(arg0, 11, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater(Buffer() {0x30, 0x33, 0x32, 0x31, 0x00}, s601), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LGreater(Buffer() {0x30, 0x33, 0x32, 0x31, 0x01}, s601), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LGreater(Buffer() {0x30, 0x33, 0x32, 0x31}, s601), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LGreater(Buffer() {0x30, 0x33, 0x32, 0x31, 0x00, 0x01}, s601), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LGreater(aub7, s601), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LGreater(aub8, s601), Local0)
+ m600(arg0, 17, Local0, Ones)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aub7)), s601), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(aub8)), s601), Local0)
+ m600(arg0, 19, Local0, Ones)
+ }
+
+ Store(LGreater(Derefof(Index(paub, 7)), s601), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paub, 8)), s601), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Buffer
+
+ Store(LGreater(m601(3, 7), s601), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LGreater(m601(3, 8), s601), Local0)
+ m600(arg0, 23, Local0, Ones)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(3, 7, 1)), s601), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(3, 8, 1)), s601), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual(Buffer() {0x30, 0x33, 0x32, 0x31, 0x00}, s601), Local0)
+ m600(arg0, 26, Local0, Ones)
+
+ Store(LGreaterEqual(Buffer() {0x30, 0x33, 0x32, 0x31, 0x01}, s601), Local0)
+ m600(arg0, 27, Local0, Ones)
+
+ Store(LGreaterEqual(Buffer() {0x30, 0x33, 0x32, 0x31}, s601), Local0)
+ m600(arg0, 28, Local0, Zero)
+
+ Store(LGreaterEqual(Buffer() {0x30, 0x33, 0x32, 0x31, 0x00, 0x01}, s601), Local0)
+ m600(arg0, 29, Local0, Ones)
+
+ Store(LGreaterEqual(aub7, s601), Local0)
+ m600(arg0, 30, Local0, Ones)
+
+ Store(LGreaterEqual(aub8, s601), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aub7)), s601), Local0)
+ m600(arg0, 32, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(aub8)), s601), Local0)
+ m600(arg0, 33, Local0, Ones)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paub, 7)), s601), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paub, 8)), s601), Local0)
+ m600(arg0, 35, Local0, Ones)
+
+ // Method returns Buffer
+
+ Store(LGreaterEqual(m601(3, 7), s601), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(m601(3, 8), s601), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(3, 7, 1)), s601), Local0)
+ m600(arg0, 38, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(3, 8, 1)), s601), Local0)
+ m600(arg0, 39, Local0, Ones)
+ }
+
+ // LLess
+
+ Store(LLess(Buffer() {0x30, 0x33, 0x32, 0x31, 0x00}, s601), Local0)
+ m600(arg0, 40, Local0, Zero)
+
+ Store(LLess(Buffer() {0x30, 0x33, 0x32, 0x31, 0x01}, s601), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ Store(LLess(Buffer() {0x30, 0x33, 0x32, 0x31}, s601), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LLess(Buffer() {0x30, 0x33, 0x32, 0x31, 0x00, 0x01}, s601), Local0)
+ m600(arg0, 43, Local0, Zero)
+
+ Store(LLess(aub7, s601), Local0)
+ m600(arg0, 44, Local0, Zero)
+
+ Store(LLess(aub8, s601), Local0)
+ m600(arg0, 45, Local0, Zero)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aub7)), s601), Local0)
+ m600(arg0, 46, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(aub8)), s601), Local0)
+ m600(arg0, 47, Local0, Zero)
+ }
+
+ Store(LLess(Derefof(Index(paub, 7)), s601), Local0)
+ m600(arg0, 48, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paub, 8)), s601), Local0)
+ m600(arg0, 49, Local0, Zero)
+
+ // Method returns Buffer
+
+ Store(LLess(m601(3, 7), s601), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ Store(LLess(m601(3, 8), s601), Local0)
+ m600(arg0, 51, Local0, Zero)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LLess(Derefof(m602(3, 7, 1)), s601), Local0)
+ m600(arg0, 52, Local0, Zero)
+
+ Store(LLess(Derefof(m602(3, 8, 1)), s601), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual(Buffer() {0x30, 0x33, 0x32, 0x31, 0x00}, s601), Local0)
+ m600(arg0, 54, Local0, Ones)
+
+ Store(LLessEqual(Buffer() {0x30, 0x33, 0x32, 0x31, 0x01}, s601), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLessEqual(Buffer() {0x30, 0x33, 0x32, 0x31}, s601), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLessEqual(Buffer() {0x30, 0x33, 0x32, 0x31, 0x00, 0x01}, s601), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLessEqual(aub7, s601), Local0)
+ m600(arg0, 58, Local0, Ones)
+
+ Store(LLessEqual(aub8, s601), Local0)
+ m600(arg0, 59, Local0, Zero)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aub7)), s601), Local0)
+ m600(arg0, 60, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(aub8)), s601), Local0)
+ m600(arg0, 61, Local0, Zero)
+ }
+
+ Store(LLessEqual(Derefof(Index(paub, 7)), s601), Local0)
+ m600(arg0, 62, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paub, 8)), s601), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ // Method returns Buffer
+
+ Store(LLessEqual(m601(3, 7), s601), Local0)
+ m600(arg0, 64, Local0, Ones)
+
+ Store(LLessEqual(m601(3, 8), s601), Local0)
+ m600(arg0, 65, Local0, Zero)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(3, 7, 1)), s601), Local0)
+ m600(arg0, 66, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(3, 8, 1)), s601), Local0)
+ m600(arg0, 67, Local0, Zero)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual(Buffer() {0x30, 0x33, 0x32, 0x31, 0x00}, s601), Local0)
+ m600(arg0, 68, Local0, Zero)
+
+ Store(LNotEqual(Buffer() {0x30, 0x33, 0x32, 0x31, 0x01}, s601), Local0)
+ m600(arg0, 69, Local0, Ones)
+
+ Store(LNotEqual(Buffer() {0x30, 0x33, 0x32, 0x31}, s601), Local0)
+ m600(arg0, 70, Local0, Ones)
+
+ Store(LNotEqual(Buffer() {0x30, 0x33, 0x32, 0x31, 0x00, 0x01}, s601), Local0)
+ m600(arg0, 71, Local0, Ones)
+
+ Store(LNotEqual(aub7, s601), Local0)
+ m600(arg0, 72, Local0, Zero)
+
+ Store(LNotEqual(aub8, s601), Local0)
+ m600(arg0, 73, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aub7)), s601), Local0)
+ m600(arg0, 74, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(aub8)), s601), Local0)
+ m600(arg0, 75, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paub, 7)), s601), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paub, 8)), s601), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ // Method returns Buffer
+
+ Store(LNotEqual(m601(3, 7), s601), Local0)
+ m600(arg0, 78, Local0, Zero)
+
+ Store(LNotEqual(m601(3, 8), s601), Local0)
+ m600(arg0, 79, Local0, Ones)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(3, 7, 1)), s601), Local0)
+ m600(arg0, 80, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(3, 8, 1)), s601), Local0)
+ m600(arg0, 81, Local0, Ones)
+ }
+
+ // Boundary Cases
+
+ Store(LEqual(Buffer() {0x00}, s60c), Local0)
+ m600(arg0, 82, Local0, Ones)
+
+ Store(LEqual(Buffer() {0x01}, s60c), Local0)
+ m600(arg0, 83, Local0, Zero)
+
+ Store(LGreater(Buffer() {0x00}, s60c), Local0)
+ m600(arg0, 84, Local0, Zero)
+
+ Store(LGreater(Buffer() {0x01}, s60c), Local0)
+ m600(arg0, 85, Local0, Ones)
+
+ Store(LGreaterEqual(Buffer() {0x00}, s60c), Local0)
+ m600(arg0, 86, Local0, Ones)
+
+ Store(LGreater(Buffer() {0x01}, s60c), Local0)
+ m600(arg0, 87, Local0, Ones)
+
+ Store(LLess(Buffer() {0x00}, s60c), Local0)
+ m600(arg0, 88, Local0, Zero)
+
+ Store(LLess(Buffer() {0x01}, s60c), Local0)
+ m600(arg0, 89, Local0, Zero)
+
+ Store(LLessEqual(Buffer() {0x00}, s60c), Local0)
+ m600(arg0, 90, Local0, Ones)
+
+ Store(LLessEqual(Buffer() {0x01}, s60c), Local0)
+ m600(arg0, 91, Local0, Zero)
+
+ Store(LNotEqual(Buffer() {0x00}, s60c), Local0)
+ m600(arg0, 92, Local0, Zero)
+
+ Store(LNotEqual(Buffer() {0x01}, s60c), Local0)
+ m600(arg0, 93, Local0, Ones)
+
+ Store(LEqual(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x00,},
+ s60e),
+ Local0)
+ m600(arg0, 94, Local0, Ones)
+
+ Store(LEqual(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x01,},
+ s60e),
+ Local0)
+ m600(arg0, 95, Local0, Zero)
+
+ Store(LGreater(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x00,},
+ s60e),
+ Local0)
+ m600(arg0, 96, Local0, Zero)
+
+ Store(LGreater(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x01,},
+ s60e),
+ Local0)
+ m600(arg0, 97, Local0, Ones)
+
+ Store(LGreaterEqual(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x00,},
+ s60e),
+ Local0)
+ m600(arg0, 98, Local0, Ones)
+
+ Store(LGreater(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x01,},
+ s60e),
+ Local0)
+ m600(arg0, 99, Local0, Ones)
+
+ Store(LLess(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x00,},
+ s60e),
+ Local0)
+ m600(arg0, 100, Local0, Zero)
+
+ Store(LLess(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x01,},
+ s60e),
+ Local0)
+ m600(arg0, 101, Local0, Zero)
+
+ Store(LLessEqual(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x00,},
+ s60e),
+ Local0)
+ m600(arg0, 102, Local0, Ones)
+
+ Store(LLessEqual(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x01,},
+ s60e),
+ Local0)
+ m600(arg0, 103, Local0, Zero)
+
+ Store(LNotEqual(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x00,},
+ s60e),
+ Local0)
+ m600(arg0, 104, Local0, Zero)
+
+ Store(LNotEqual(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x01,},
+ s60e),
+ Local0)
+ m600(arg0, 105, Local0, Ones)
+ }
+
+ // String to Buffer conversion of the String second operand of
+ // Concatenate operator when the first operand is evaluated as Buffer
+
+ Method(m036, 1)
+ {
+ Name(s601, "0321")
+ Name(s60c, "")
+ Name(s60e, "!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*")
+
+ Store(Concatenate(Buffer(){0x5a}, s601), Local0)
+ m600(arg0, 0, Local0, bb29)
+
+ Store(Concatenate(Buffer(){0x5a, 0x00}, s601), Local0)
+ m600(arg0, 1, Local0, bb2a)
+
+ Store(Concatenate(aub0, s601), Local0)
+ m600(arg0, 2, Local0, bb29)
+
+ Store(Concatenate(aub1, s601), Local0)
+ m600(arg0, 3, Local0, bb2a)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aub0)), s601), Local0)
+ m600(arg0, 4, Local0, bb29)
+
+ Store(Concatenate(Derefof(Refof(aub1)), s601), Local0)
+ m600(arg0, 5, Local0, bb2a)
+ }
+
+ Store(Concatenate(Derefof(Index(paub, 0)), s601), Local0)
+ m600(arg0, 6, Local0, bb29)
+
+ Store(Concatenate(Derefof(Index(paub, 1)), s601), Local0)
+ m600(arg0, 7, Local0, bb2a)
+
+ // Method returns Buffer
+
+ Store(Concatenate(m601(3, 0), s601), Local0)
+ m600(arg0, 8, Local0, bb29)
+
+ Store(Concatenate(m601(3, 1), s601), Local0)
+ m600(arg0, 9, Local0, bb2a)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(3, 0, 1)), s601), Local0)
+ m600(arg0, 10, Local0, bb29)
+
+ Store(Concatenate(Derefof(m602(3, 1, 1)), s601), Local0)
+ m600(arg0, 11, Local0, bb2a)
+ }
+
+ Concatenate(Buffer(){0x5a}, s601, Local0)
+ m600(arg0, 12, Local0, bb29)
+
+ Concatenate(Buffer(){0x5a, 0x00}, s601, Local0)
+ m600(arg0, 13, Local0, bb2a)
+
+ Concatenate(aub0, s601, Local0)
+ m600(arg0, 14, Local0, bb29)
+
+ Concatenate(aub1, s601, Local0)
+ m600(arg0, 15, Local0, bb2a)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aub0)), s601, Local0)
+ m600(arg0, 16, Local0, bb29)
+
+ Concatenate(Derefof(Refof(aub1)), s601, Local0)
+ m600(arg0, 17, Local0, bb2a)
+ }
+
+ Concatenate(Derefof(Index(paub, 0)), s601, Local0)
+ m600(arg0, 18, Local0, bb29)
+
+ Concatenate(Derefof(Index(paub, 1)), s601, Local0)
+ m600(arg0, 19, Local0, bb2a)
+
+ // Method returns Buffer
+
+ Concatenate(m601(3, 0), s601, Local0)
+ m600(arg0, 20, Local0, bb29)
+
+ Concatenate(m601(3, 1), s601, Local0)
+ m600(arg0, 21, Local0, bb2a)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Concatenate(Derefof(m602(3, 0, 1)), s601, Local0)
+ m600(arg0, 22, Local0, bb29)
+
+ Concatenate(Derefof(m602(3, 1, 1)), s601, Local0)
+ m600(arg0, 23, Local0, bb2a)
+ }
+
+ // Boundary Cases
+
+ Store(Concatenate(Buffer(){0x5a}, s60c), Local0)
+ m600(arg0, 24, Local0, bb2b)
+
+ Store(Concatenate(Buffer(){0x5a, 0x00}, s60c), Local0)
+ m600(arg0, 25, Local0, bb2c)
+
+ Store(0, Local1)
+ Store(Concatenate(Buffer(Local1){}, s60e), Local0)
+ m600(arg0, 26, Local0, bb2d)
+ }
+
+ // String to Buffer conversion of the String Source operand of
+ // ToString operator (has a visual effect in shortening of the
+ // String taken the null character, that is impossible to show
+ // with an immediate String constant).
+
+ Method(m037, 1)
+ {
+ Name(s601, "0321")
+ Name(s60c, "")
+ Name(s60e, "!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*")
+
+ Store(ToString(s601, Ones), Local0)
+ m600(arg0, 0, Local0, bs20)
+
+ Store(ToString(s601, 3), Local0)
+ m600(arg0, 1, Local0, bs21)
+
+ Store(ToString(s601, aui0), Local0)
+ m600(arg0, 2, Local0, bs20)
+
+ Store(ToString(s601, aui7), Local0)
+ m600(arg0, 3, Local0, bs21)
+
+ if (y078) {
+ Store(ToString(s601, Derefof(Refof(aui0))), Local0)
+ m600(arg0, 4, Local0, bs20)
+
+ Store(ToString(s601, Derefof(Refof(aui7))), Local0)
+ m600(arg0, 5, Local0, bs21)
+ }
+
+ Store(ToString(s601, Derefof(Index(paui, 0))), Local0)
+ m600(arg0, 6, Local0, bs20)
+
+ Store(ToString(s601, Derefof(Index(paui, 7))), Local0)
+ m600(arg0, 7, Local0, bs21)
+
+ // Method returns Length parameter
+
+ Store(ToString(s601, m601(1, 0)), Local0)
+ m600(arg0, 8, Local0, bs20)
+
+ Store(ToString(s601, m601(1, 7)), Local0)
+ m600(arg0, 9, Local0, bs21)
+
+ // Method returns Reference to Length parameter
+
+ if (y500) {
+ Store(ToString(s601, Derefof(m601(1, 0))), Local0)
+ m600(arg0, 10, Local0, bs20)
+
+ Store(ToString(s601, Derefof(m601(1, 7))), Local0)
+ m600(arg0, 11, Local0, bs21)
+ }
+
+ ToString(s601, Ones, Local0)
+ m600(arg0, 12, Local0, bs20)
+
+ ToString(s601, 3, Local0)
+ m600(arg0, 13, Local0, bs21)
+
+ ToString(s601, aui0, Local0)
+ m600(arg0, 14, Local0, bs20)
+
+ ToString(s601, aui7, Local0)
+ m600(arg0, 15, Local0, bs21)
+
+ if (y078) {
+ ToString(s601, Derefof(Refof(aui0)), Local0)
+ m600(arg0, 16, Local0, bs20)
+
+ ToString(s601, Derefof(Refof(aui7)), Local0)
+ m600(arg0, 17, Local0, bs21)
+ }
+
+ ToString(s601, Derefof(Index(paui, 0)), Local0)
+ m600(arg0, 18, Local0, bs20)
+
+ ToString(s601, Derefof(Index(paui, 7)), Local0)
+ m600(arg0, 19, Local0, bs21)
+
+ // Method returns Length parameter
+
+ ToString(s601, m601(1, 0), Local0)
+ m600(arg0, 20, Local0, bs20)
+
+ ToString(s601, m601(1, 7), Local0)
+ m600(arg0, 21, Local0, bs21)
+
+ // Method returns Reference to Length parameter
+
+ if (y500) {
+ ToString(s601, Derefof(m601(1, 0)), Local0)
+ m600(arg0, 22, Local0, bs20)
+
+ ToString(s601, Derefof(m601(1, 7)), Local0)
+ m600(arg0, 23, Local0, bs21)
+ }
+
+ // Boundary Cases
+
+ Store(ToString(s60c, Ones), Local0)
+ m600(arg0, 24, Local0, bs22)
+
+ Store(ToString(s60c, 3), Local0)
+ m600(arg0, 25, Local0, bs22)
+
+ Store(ToString(
+ s60e,
+ Ones), Local0)
+ m600(arg0, 26, Local0, bs23)
+
+ Store(ToString(
+ s60e,
+ 3), Local0)
+ m600(arg0, 27, Local0, bs24)
+ }
+
+// Method(m038, 1)
+
+// Method(m039, 1)
+
+ // Buffer to Integer implicit conversion Cases.
+
+ // Buffer to Integer conversion of the Buffer sole operand
+ // of the 1-parameter Integer arithmetic operators
+ // (Decrement, Increment, FindSetLeftBit, FindSetRightBit, Not)
+
+ Method(m64l, 1)
+ {
+ Name(b606, Buffer(3){0x21, 0x03, 0x00})
+ Name(b60a, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5})
+
+ // Decrement
+ if (y501) {
+ Store(Decrement(b606), Local0)
+ m600(arg0, 0, Local0, bi12)
+
+ Store(Decrement(b60a), Local0)
+ m600(arg0, 1, Local0, bi16)
+ }
+
+ // Increment
+ if (y501) {
+ Store(Increment(b606), Local0)
+ m600(arg0, 2, Local0, bi13)
+
+ Store(Increment(b60a), Local0)
+ m600(arg0, 3, Local0, bi17)
+ }
+
+ // FindSetLeftBit
+
+ Store(FindSetLeftBit(b606), Local0)
+ m600(arg0, 4, Local0, 10)
+
+ Store(FindSetLeftBit(b60a), Local0)
+ m600(arg0, 5, Local0, 64)
+
+ // FindSetRightBit
+
+ Store(FindSetRightBit(b606), Local0)
+ m600(arg0, 6, Local0, 1)
+
+ Store(FindSetRightBit(b60a), Local0)
+ m600(arg0, 7, Local0, 3)
+
+ // Not
+
+ Store(Not(b606), Local0)
+ m600(arg0, 8, Local0, 0xfffffffffffffcde)
+
+ Store(Not(b60a), Local0)
+ m600(arg0, 9, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Method(m32l, 1)
+ {
+ Name(b606, Buffer(3){0x21, 0x03, 0x00})
+ Name(b60a, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5})
+
+ // Decrement
+ if (y501) {
+ Store(Decrement(b606), Local0)
+ m600(arg0, 0, Local0, bi12)
+
+ Store(Decrement(b60a), Local0)
+ m600(arg0, 1, Local0, bi18)
+ }
+
+ // Increment
+ if (y501) {
+ Store(Increment(b606), Local0)
+ m600(arg0, 2, Local0, bi13)
+
+ Store(Increment(b60a), Local0)
+ m600(arg0, 3, Local0, bi19)
+ }
+
+ // FindSetLeftBit
+
+ Store(FindSetLeftBit(b606), Local0)
+ m600(arg0, 4, Local0, 10)
+
+ Store(FindSetLeftBit(b60a), Local0)
+ m600(arg0, 5, Local0, 32)
+
+ // FindSetRightBit
+
+ Store(FindSetRightBit(b606), Local0)
+ m600(arg0, 6, Local0, 1)
+
+ Store(FindSetRightBit(b60a), Local0)
+ m600(arg0, 7, Local0, 3)
+
+ // Not
+
+ Store(Not(b606), Local0)
+ m600(arg0, 8, Local0, 0xfffffcde)
+
+ Store(Not(b60a), Local0)
+ m600(arg0, 9, Local0, 0x29af5d7b)
+ }
+
+ // Buffer to Integer conversion of the Buffer sole operand
+ // of the LNot Logical Integer operator
+ Method(m03a, 1)
+ {
+ Name(b600, Buffer(1){0x00})
+ Name(b606, Buffer(3){0x21, 0x03, 0x00})
+ Name(b60a, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5})
+
+ Store(LNot(b600), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LNot(b606), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ if (F64) {
+ Store(LNot(b60a), Local0)
+ m600(arg0, 2, Local0, Zero)
+ } else {
+ Store(LNot(b60a), Local0)
+ m600(arg0, 3, Local0, Zero)
+ }
+ }
+
+ // Buffer to Integer conversion of the Buffer sole operand
+ // of the FromBCD and ToBCD conversion operators
+
+ Method(m64m, 1)
+ {
+ Name(b606, Buffer(3){0x21, 0x03, 0x00})
+ Name(b60f, Buffer() {0x01, 0x89, 0x67, 0x45, 0x23, 0x01, 0x89, 0x37})
+ Name(b610, Buffer() {0x35, 0xec, 0xe9, 0x2e, 0x16, 0x76, 0x0d})
+
+ // FromBCD
+
+ Store(FromBCD(b606), Local0)
+ m600(arg0, 2, Local0, 0x141)
+
+ Store(FromBCD(b60f), Local0)
+ m600(arg0, 3, Local0, 0xd76162ee9ec35)
+
+ FromBCD(b606, Local0)
+ m600(arg0, 2, Local0, 0x141)
+
+ FromBCD(b60f, Local0)
+ m600(arg0, 3, Local0, 0xd76162ee9ec35)
+
+ // ToBCD
+
+ Store(ToBCD(b606), Local0)
+ m600(arg0, 4, Local0, 0x801)
+
+// ??? No error of iASL on constant folding
+ Store(ToBCD(b610), Local0)
+ m600(arg0, 5, Local0, 0x3789012345678901)
+
+ ToBCD(b606, Local0)
+ m600(arg0, 4, Local0, 0x801)
+
+ ToBCD(b610, Local0)
+ m600(arg0, 5, Local0, 0x3789012345678901)
+ }
+
+ Method(m32m, 1)
+ {
+ Name(b606, Buffer(3){0x21, 0x03, 0x00})
+ Name(b611, Buffer() {0x56, 0x34, 0x12, 0x90})
+ Name(b612, Buffer() {0xc0, 0x2c, 0x5f, 0x05})
+
+ // FromBCD
+
+ Store(FromBCD(b606), Local0)
+ m600(arg0, 2, Local0, 0x141)
+
+ Store(FromBCD(b611), Local0)
+ m600(arg0, 3, Local0, 0x55f2cc0)
+
+ FromBCD(b606, Local0)
+ m600(arg0, 2, Local0, 0x141)
+
+ FromBCD(b611, Local0)
+ m600(arg0, 3, Local0, 0x55f2cc0)
+
+ // ToBCD
+
+ Store(ToBCD(b606), Local0)
+ m600(arg0, 4, Local0, 0x801)
+
+ Store(ToBCD(b612), Local0)
+ m600(arg0, 5, Local0, 0x90123456)
+
+ ToBCD(b606, Local0)
+ m600(arg0, 4, Local0, 0x801)
+
+ ToBCD(b612, Local0)
+ m600(arg0, 5, Local0, 0x90123456)
+ }
+
+ // Buffer to Integer conversion of each Buffer operand
+ // of the 2-parameter Integer arithmetic operators
+ // Add, And, Divide, Mod, Multiply, NAnd, NOr, Or,
+ // ShiftLeft, ShiftRight, Subtract, Xor
+
+ // Add, common 32-bit/64-bit test
+ Method(m03b, 1)
+ {
+ Name(b606, Buffer(3){0x21, 0x03, 0x00})
+
+ // Conversion of the first operand
+
+ Store(Add(b606, 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Add(b606, 1), Local0)
+ m600(arg0, 1, Local0, 0x322)
+
+ Store(Add(b606, aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Add(b606, aui6), Local0)
+ m600(arg0, 3, Local0, 0x322)
+
+ if (y078) {
+ Store(Add(b606, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Add(b606, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x322)
+ }
+
+ Store(Add(b606, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Add(b606, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x322)
+
+ // Method returns Integer
+
+ Store(Add(b606, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Add(b606, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x322)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(b606, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Add(b606, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x322)
+ }
+
+ Add(b606, 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Add(b606, 1, Local0)
+ m600(arg0, 13, Local0, 0x322)
+
+ Add(b606, aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Add(b606, aui6, Local0)
+ m600(arg0, 15, Local0, 0x322)
+
+ if (y078) {
+ Add(b606, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Add(b606, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x322)
+ }
+
+ Add(b606, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Add(b606, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x322)
+
+ // Method returns Integer
+
+ Add(b606, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Add(b606, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x322)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(b606, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Add(b606, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x322)
+ }
+
+ // Conversion of the second operand
+
+ Store(Add(0, b606), Local0)
+ m600(arg0, 24, Local0, 0x321)
+
+ Store(Add(1, b606), Local0)
+ m600(arg0, 25, Local0, 0x322)
+
+ Store(Add(aui5, b606), Local0)
+ m600(arg0, 26, Local0, 0x321)
+
+ Store(Add(aui6, b606), Local0)
+ m600(arg0, 27, Local0, 0x322)
+
+ if (y078) {
+ Store(Add(Derefof(Refof(aui5)), b606), Local0)
+ m600(arg0, 28, Local0, 0x321)
+
+ Store(Add(Derefof(Refof(aui6)), b606), Local0)
+ m600(arg0, 29, Local0, 0x322)
+ }
+
+ Store(Add(Derefof(Index(paui, 5)), b606), Local0)
+ m600(arg0, 30, Local0, 0x321)
+
+ Store(Add(Derefof(Index(paui, 6)), b606), Local0)
+ m600(arg0, 31, Local0, 0x322)
+
+ // Method returns Integer
+
+ Store(Add(m601(1, 5), b606), Local0)
+ m600(arg0, 32, Local0, 0x321)
+
+ Store(Add(m601(1, 6), b606), Local0)
+ m600(arg0, 33, Local0, 0x322)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(Derefof(m602(1, 5, 1)), b606), Local0)
+ m600(arg0, 34, Local0, 0x321)
+
+ Store(Add(Derefof(m602(1, 6, 1)), b606), Local0)
+ m600(arg0, 35, Local0, 0x322)
+ }
+
+ Add(0, b606, Local0)
+ m600(arg0, 36, Local0, 0x321)
+
+ Add(1, b606, Local0)
+ m600(arg0, 37, Local0, 0x322)
+
+ Add(aui5, b606, Local0)
+ m600(arg0, 38, Local0, 0x321)
+
+ Add(aui6, b606, Local0)
+ m600(arg0, 39, Local0, 0x322)
+
+ if (y078) {
+ Add(Derefof(Refof(aui5)), b606, Local0)
+ m600(arg0, 40, Local0, 0x321)
+
+ Add(Derefof(Refof(aui6)), b606, Local0)
+ m600(arg0, 41, Local0, 0x322)
+ }
+
+ Add(Derefof(Index(paui, 5)), b606, Local0)
+ m600(arg0, 42, Local0, 0x321)
+
+ Add(Derefof(Index(paui, 6)), b606, Local0)
+ m600(arg0, 43, Local0, 0x322)
+
+ // Method returns Integer
+
+ Add(m601(1, 5), b606, Local0)
+ m600(arg0, 44, Local0, 0x321)
+
+ Add(m601(1, 6), b606, Local0)
+ m600(arg0, 45, Local0, 0x322)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(Derefof(m602(1, 5, 1)), b606, Local0)
+ m600(arg0, 46, Local0, 0x321)
+
+ Add(Derefof(m602(1, 6, 1)), b606, Local0)
+ m600(arg0, 47, Local0, 0x322)
+ }
+ }
+
+ // Add, 64-bit
+ Method(m03c, 1)
+ {
+ Name(b606, Buffer(3){0x21, 0x03, 0x00})
+ Name(b60a, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5})
+
+ // Conversion of the first operand
+
+ Store(Add(b60a, 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(b60a, 1), Local0)
+ m600(arg0, 1, Local0, 0xfe7cb391d650a285)
+
+ Store(Add(b60a, aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(b60a, aui6), Local0)
+ m600(arg0, 3, Local0, 0xfe7cb391d650a285)
+
+ if (y078) {
+ Store(Add(b60a, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(b60a, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xfe7cb391d650a285)
+ }
+
+ Store(Add(b60a, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(b60a, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Integer
+
+ Store(Add(b60a, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(b60a, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(b60a, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(b60a, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfe7cb391d650a285)
+ }
+
+ Add(b60a, 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Add(b60a, 1, Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a285)
+
+ Add(b60a, aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Add(b60a, aui6, Local0)
+ m600(arg0, 15, Local0, 0xfe7cb391d650a285)
+
+ if (y078) {
+ Add(b60a, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Add(b60a, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xfe7cb391d650a285)
+ }
+
+ Add(b60a, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Add(b60a, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Integer
+
+ Add(b60a, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Add(b60a, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(b60a, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Add(b60a, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfe7cb391d650a285)
+ }
+
+ // Conversion of the second operand
+
+ Store(Add(0, b60a), Local0)
+ m600(arg0, 24, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(1, b60a), Local0)
+ m600(arg0, 25, Local0, 0xfe7cb391d650a285)
+
+ Store(Add(aui5, b60a), Local0)
+ m600(arg0, 26, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(aui6, b60a), Local0)
+ m600(arg0, 27, Local0, 0xfe7cb391d650a285)
+
+ if (y078) {
+ Store(Add(Derefof(Refof(aui5)), b60a), Local0)
+ m600(arg0, 28, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(Refof(aui6)), b60a), Local0)
+ m600(arg0, 29, Local0, 0xfe7cb391d650a285)
+ }
+
+ Store(Add(Derefof(Index(paui, 5)), b60a), Local0)
+ m600(arg0, 30, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(Index(paui, 6)), b60a), Local0)
+ m600(arg0, 31, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Integer
+
+ Store(Add(m601(1, 5), b60a), Local0)
+ m600(arg0, 32, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(m601(1, 6), b60a), Local0)
+ m600(arg0, 33, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(Derefof(m602(1, 5, 1)), b60a), Local0)
+ m600(arg0, 34, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(m602(1, 6, 1)), b60a), Local0)
+ m600(arg0, 35, Local0, 0xfe7cb391d650a285)
+ }
+
+ Add(0, b60a, Local0)
+ m600(arg0, 36, Local0, 0xfe7cb391d650a284)
+
+ Add(1, b60a, Local0)
+ m600(arg0, 37, Local0, 0xfe7cb391d650a285)
+
+ Add(aui5, b60a, Local0)
+ m600(arg0, 38, Local0, 0xfe7cb391d650a284)
+
+ Add(aui6, b60a, Local0)
+ m600(arg0, 39, Local0, 0xfe7cb391d650a285)
+
+ if (y078) {
+ Add(Derefof(Refof(aui5)), b60a, Local0)
+ m600(arg0, 40, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(Refof(aui6)), b60a, Local0)
+ m600(arg0, 41, Local0, 0xfe7cb391d650a285)
+ }
+
+ Add(Derefof(Index(paui, 5)), b60a, Local0)
+ m600(arg0, 42, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(Index(paui, 6)), b60a, Local0)
+ m600(arg0, 43, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Integer
+
+ Add(m601(1, 5), b60a, Local0)
+ m600(arg0, 44, Local0, 0xfe7cb391d650a284)
+
+ Add(m601(1, 6), b60a, Local0)
+ m600(arg0, 45, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(Derefof(m602(1, 5, 1)), b60a, Local0)
+ m600(arg0, 46, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(m602(1, 6, 1)), b60a, Local0)
+ m600(arg0, 47, Local0, 0xfe7cb391d650a285)
+ }
+
+ // Conversion of the both operands
+
+ Store(Add(b606, b60a), Local0)
+ m600(arg0, 48, Local0, 0xfe7cb391d650a5a5)
+
+ Store(Add(b60a, b606), Local0)
+ m600(arg0, 49, Local0, 0xfe7cb391d650a5a5)
+
+ Add(b606, b60a, Local0)
+ m600(arg0, 50, Local0, 0xfe7cb391d650a5a5)
+
+ Add(b60a, b606, Local0)
+ m600(arg0, 51, Local0, 0xfe7cb391d650a5a5)
+ }
+
+ // Add, 32-bit
+ Method(m03d, 1)
+ {
+ Name(b606, Buffer(3){0x21, 0x03, 0x00})
+ Name(b60a, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5})
+
+ // Conversion of the first operand
+
+ Store(Add(b60a, 0), Local0)
+ m600(arg0, 0, Local0, 0xd650a284)
+
+ Store(Add(b60a, 1), Local0)
+ m600(arg0, 1, Local0, 0xd650a285)
+
+ Store(Add(b60a, aui5), Local0)
+ m600(arg0, 2, Local0, 0xd650a284)
+
+ Store(Add(b60a, aui6), Local0)
+ m600(arg0, 3, Local0, 0xd650a285)
+
+ if (y078) {
+ Store(Add(b60a, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xd650a284)
+
+ Store(Add(b60a, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xd650a285)
+ }
+
+ Store(Add(b60a, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xd650a284)
+
+ Store(Add(b60a, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xd650a285)
+
+ // Method returns Integer
+
+ Store(Add(b60a, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xd650a284)
+
+ Store(Add(b60a, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xd650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(b60a, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xd650a284)
+
+ Store(Add(b60a, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xd650a285)
+ }
+
+ Add(b60a, 0, Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ Add(b60a, 1, Local0)
+ m600(arg0, 13, Local0, 0xd650a285)
+
+ Add(b60a, aui5, Local0)
+ m600(arg0, 14, Local0, 0xd650a284)
+
+ Add(b60a, aui6, Local0)
+ m600(arg0, 15, Local0, 0xd650a285)
+
+ if (y078) {
+ Add(b60a, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xd650a284)
+
+ Add(b60a, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xd650a285)
+ }
+
+ Add(b60a, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xd650a284)
+
+ Add(b60a, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xd650a285)
+
+ // Method returns Integer
+
+ Add(b60a, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xd650a284)
+
+ Add(b60a, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xd650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(b60a, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xd650a284)
+
+ Add(b60a, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xd650a285)
+ }
+
+ // Conversion of the second operand
+
+ Store(Add(0, b60a), Local0)
+ m600(arg0, 24, Local0, 0xd650a284)
+
+ Store(Add(1, b60a), Local0)
+ m600(arg0, 25, Local0, 0xd650a285)
+
+ Store(Add(aui5, b60a), Local0)
+ m600(arg0, 26, Local0, 0xd650a284)
+
+ Store(Add(aui6, b60a), Local0)
+ m600(arg0, 27, Local0, 0xd650a285)
+
+ if (y078) {
+ Store(Add(Derefof(Refof(aui5)), b60a), Local0)
+ m600(arg0, 28, Local0, 0xd650a284)
+
+ Store(Add(Derefof(Refof(aui6)), b60a), Local0)
+ m600(arg0, 29, Local0, 0xd650a285)
+ }
+
+ Store(Add(Derefof(Index(paui, 5)), b60a), Local0)
+ m600(arg0, 30, Local0, 0xd650a284)
+
+ Store(Add(Derefof(Index(paui, 6)), b60a), Local0)
+ m600(arg0, 31, Local0, 0xd650a285)
+
+ // Method returns Integer
+
+ Store(Add(m601(1, 5), b60a), Local0)
+ m600(arg0, 32, Local0, 0xd650a284)
+
+ Store(Add(m601(1, 6), b60a), Local0)
+ m600(arg0, 33, Local0, 0xd650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(Derefof(m602(1, 5, 1)), b60a), Local0)
+ m600(arg0, 34, Local0, 0xd650a284)
+
+ Store(Add(Derefof(m602(1, 6, 1)), b60a), Local0)
+ m600(arg0, 35, Local0, 0xd650a285)
+ }
+
+ Add(0, b60a, Local0)
+ m600(arg0, 36, Local0, 0xd650a284)
+
+ Add(1, b60a, Local0)
+ m600(arg0, 37, Local0, 0xd650a285)
+
+ Add(aui5, b60a, Local0)
+ m600(arg0, 38, Local0, 0xd650a284)
+
+ Add(aui6, b60a, Local0)
+ m600(arg0, 39, Local0, 0xd650a285)
+
+ if (y078) {
+ Add(Derefof(Refof(aui5)), b60a, Local0)
+ m600(arg0, 40, Local0, 0xd650a284)
+
+ Add(Derefof(Refof(aui6)), b60a, Local0)
+ m600(arg0, 41, Local0, 0xd650a285)
+ }
+
+ Add(Derefof(Index(paui, 5)), b60a, Local0)
+ m600(arg0, 42, Local0, 0xd650a284)
+
+ Add(Derefof(Index(paui, 6)), b60a, Local0)
+ m600(arg0, 43, Local0, 0xd650a285)
+
+ // Method returns Integer
+
+ Add(m601(1, 5), b60a, Local0)
+ m600(arg0, 44, Local0, 0xd650a284)
+
+ Add(m601(1, 6), b60a, Local0)
+ m600(arg0, 45, Local0, 0xd650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(Derefof(m602(1, 5, 1)), b60a, Local0)
+ m600(arg0, 46, Local0, 0xd650a284)
+
+ Add(Derefof(m602(1, 6, 1)), b60a, Local0)
+ m600(arg0, 47, Local0, 0xd650a285)
+ }
+
+ // Conversion of the both operands
+
+ Store(Add(b606, b60a), Local0)
+ m600(arg0, 48, Local0, 0xd650a5a5)
+
+ Store(Add(b60a, b606), Local0)
+ m600(arg0, 49, Local0, 0xd650a5a5)
+
+ Add(b606, b60a, Local0)
+ m600(arg0, 50, Local0, 0xd650a5a5)
+
+ Add(b60a, b606, Local0)
+ m600(arg0, 51, Local0, 0xd650a5a5)
+ }
+
+ // And, common 32-bit/64-bit test
+ Method(m03e, 1)
+ {
+ Name(b606, Buffer(3){0x21, 0x03, 0x00})
+
+ // Conversion of the first operand
+
+ Store(And(b606, 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(And(b606, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0x321)
+
+ Store(And(b606, aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(And(b606, auij), Local0)
+ m600(arg0, 3, Local0, 0x321)
+
+ if (y078) {
+ Store(And(b606, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(And(b606, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0x321)
+ }
+
+ Store(And(b606, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(And(b606, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0x321)
+
+ // Method returns Integer
+
+ Store(And(b606, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(And(b606, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(b606, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(And(b606, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0x321)
+ }
+
+ And(b606, 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ And(b606, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0x321)
+
+ And(b606, aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ And(b606, auij, Local0)
+ m600(arg0, 15, Local0, 0x321)
+
+ if (y078) {
+ And(b606, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ And(b606, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0x321)
+ }
+
+ And(b606, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ And(b606, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0x321)
+
+ // Method returns Integer
+
+ And(b606, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ And(b606, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(b606, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ And(b606, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0x321)
+ }
+
+ // Conversion of the second operand
+
+ Store(And(0, b606), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(And(0xffffffffffffffff, b606), Local0)
+ m600(arg0, 25, Local0, 0x321)
+
+ Store(And(aui5, b606), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(And(auij, b606), Local0)
+ m600(arg0, 27, Local0, 0x321)
+
+ if (y078) {
+ Store(And(Derefof(Refof(aui5)), b606), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(And(Derefof(Refof(auij)), b606), Local0)
+ m600(arg0, 29, Local0, 0x321)
+ }
+
+ Store(And(Derefof(Index(paui, 5)), b606), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(And(Derefof(Index(paui, 19)), b606), Local0)
+ m600(arg0, 31, Local0, 0x321)
+
+ // Method returns Integer
+
+ Store(And(m601(1, 5), b606), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(And(m601(1, 19), b606), Local0)
+ m600(arg0, 33, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(Derefof(m602(1, 5, 1)), b606), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(And(Derefof(m602(1, 19, 1)), b606), Local0)
+ m600(arg0, 35, Local0, 0x321)
+ }
+
+ And(0, b606, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ And(0xffffffffffffffff, b606, Local0)
+ m600(arg0, 37, Local0, 0x321)
+
+ And(aui5, b606, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ And(auij, b606, Local0)
+ m600(arg0, 39, Local0, 0x321)
+
+ if (y078) {
+ And(Derefof(Refof(aui5)), b606, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ And(Derefof(Refof(auij)), b606, Local0)
+ m600(arg0, 41, Local0, 0x321)
+ }
+
+ And(Derefof(Index(paui, 5)), b606, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ And(Derefof(Index(paui, 19)), b606, Local0)
+ m600(arg0, 43, Local0, 0x321)
+
+ // Method returns Integer
+
+ And(m601(1, 5), b606, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ And(m601(1, 19), b606, Local0)
+ m600(arg0, 45, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(Derefof(m602(1, 5, 1)), b606, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ And(Derefof(m602(1, 19, 1)), b606, Local0)
+ m600(arg0, 47, Local0, 0x321)
+ }
+ }
+
+ // And, 64-bit
+ Method(m03f, 1)
+ {
+ Name(b606, Buffer(3){0x21, 0x03, 0x00})
+ Name(b60a, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5})
+
+ // Conversion of the first operand
+
+ Store(And(b60a, 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(And(b60a, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xfe7cb391d650a284)
+
+ Store(And(b60a, aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(And(b60a, auij), Local0)
+ m600(arg0, 3, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Store(And(b60a, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(And(b60a, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xfe7cb391d650a284)
+ }
+
+ Store(And(b60a, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(And(b60a, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Store(And(b60a, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(And(b60a, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(b60a, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(And(b60a, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfe7cb391d650a284)
+ }
+
+ And(b60a, 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ And(b60a, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a284)
+
+ And(b60a, aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ And(b60a, auij, Local0)
+ m600(arg0, 15, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ And(b60a, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ And(b60a, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xfe7cb391d650a284)
+ }
+
+ And(b60a, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ And(b60a, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ And(b60a, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ And(b60a, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(b60a, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ And(b60a, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfe7cb391d650a284)
+ }
+
+ // Conversion of the second operand
+
+ Store(And(0, b60a), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(And(0xffffffffffffffff, b60a), Local0)
+ m600(arg0, 25, Local0, 0xfe7cb391d650a284)
+
+ Store(And(aui5, b60a), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(And(auij, b60a), Local0)
+ m600(arg0, 27, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Store(And(Derefof(Refof(aui5)), b60a), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(And(Derefof(Refof(auij)), b60a), Local0)
+ m600(arg0, 29, Local0, 0xfe7cb391d650a284)
+ }
+
+ Store(And(Derefof(Index(paui, 5)), b60a), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(And(Derefof(Index(paui, 19)), b60a), Local0)
+ m600(arg0, 31, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Store(And(m601(1, 5), b60a), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(And(m601(1, 19), b60a), Local0)
+ m600(arg0, 33, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(Derefof(m602(1, 5, 1)), b60a), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(And(Derefof(m602(1, 19, 1)), b60a), Local0)
+ m600(arg0, 35, Local0, 0xfe7cb391d650a284)
+ }
+
+ And(0, b60a, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ And(0xffffffffffffffff, b60a, Local0)
+ m600(arg0, 37, Local0, 0xfe7cb391d650a284)
+
+ And(aui5, b60a, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ And(auij, b60a, Local0)
+ m600(arg0, 39, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ And(Derefof(Refof(aui5)), b60a, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ And(Derefof(Refof(auij)), b60a, Local0)
+ m600(arg0, 41, Local0, 0xfe7cb391d650a284)
+ }
+
+ And(Derefof(Index(paui, 5)), b60a, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ And(Derefof(Index(paui, 19)), b60a, Local0)
+ m600(arg0, 43, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ And(m601(1, 5), b60a, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ And(m601(1, 19), b60a, Local0)
+ m600(arg0, 45, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(Derefof(m602(1, 5, 1)), b60a, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ And(Derefof(m602(1, 19, 1)), b60a, Local0)
+ m600(arg0, 47, Local0, 0xfe7cb391d650a284)
+ }
+
+ // Conversion of the both operands
+
+ Store(And(b606, b60a), Local0)
+ m600(arg0, 48, Local0, 0x200)
+
+ Store(And(b60a, b606), Local0)
+ m600(arg0, 49, Local0, 0x200)
+
+ And(b606, b60a, Local0)
+ m600(arg0, 50, Local0, 0x200)
+
+ And(b60a, b606, Local0)
+ m600(arg0, 51, Local0, 0x200)
+ }
+
+ // And, 32-bit
+ Method(m040, 1)
+ {
+ Name(b606, Buffer(3){0x21, 0x03, 0x00})
+ Name(b60a, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5})
+
+ // Conversion of the first operand
+
+ Store(And(b60a, 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(And(b60a, 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0xd650a284)
+
+ Store(And(b60a, aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(And(b60a, auii), Local0)
+ m600(arg0, 3, Local0, 0xd650a284)
+
+ if (y078) {
+ Store(And(b60a, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(And(b60a, Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0xd650a284)
+ }
+
+ Store(And(b60a, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(And(b60a, Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0xd650a284)
+
+ // Method returns Integer
+
+ Store(And(b60a, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(And(b60a, m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0xd650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(b60a, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(And(b60a, Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0xd650a284)
+ }
+
+ And(b60a, 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ And(b60a, 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0xd650a284)
+
+ And(b60a, aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ And(b60a, auii, Local0)
+ m600(arg0, 15, Local0, 0xd650a284)
+
+ if (y078) {
+ And(b60a, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ And(b60a, Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0xd650a284)
+ }
+
+ And(b60a, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ And(b60a, Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0xd650a284)
+
+ // Method returns Integer
+
+ And(b60a, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ And(b60a, m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0xd650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(b60a, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ And(b60a, Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0xd650a284)
+ }
+
+ // Conversion of the second operand
+
+ Store(And(0, b60a), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(And(0xffffffff, b60a), Local0)
+ m600(arg0, 25, Local0, 0xd650a284)
+
+ Store(And(aui5, b60a), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(And(auii, b60a), Local0)
+ m600(arg0, 27, Local0, 0xd650a284)
+
+ if (y078) {
+ Store(And(Derefof(Refof(aui5)), b60a), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(And(Derefof(Refof(auii)), b60a), Local0)
+ m600(arg0, 29, Local0, 0xd650a284)
+ }
+
+ Store(And(Derefof(Index(paui, 5)), b60a), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(And(Derefof(Index(paui, 18)), b60a), Local0)
+ m600(arg0, 31, Local0, 0xd650a284)
+
+ // Method returns Integer
+
+ Store(And(m601(1, 5), b60a), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(And(m601(1, 18), b60a), Local0)
+ m600(arg0, 33, Local0, 0xd650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(Derefof(m602(1, 5, 1)), b60a), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(And(Derefof(m602(1, 18, 1)), b60a), Local0)
+ m600(arg0, 35, Local0, 0xd650a284)
+ }
+
+ And(0, b60a, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ And(0xffffffff, b60a, Local0)
+ m600(arg0, 37, Local0, 0xd650a284)
+
+ And(aui5, b60a, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ And(auii, b60a, Local0)
+ m600(arg0, 39, Local0, 0xd650a284)
+
+ if (y078) {
+ And(Derefof(Refof(aui5)), b60a, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ And(Derefof(Refof(auii)), b60a, Local0)
+ m600(arg0, 41, Local0, 0xd650a284)
+ }
+
+ And(Derefof(Index(paui, 5)), b60a, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ And(Derefof(Index(paui, 18)), b60a, Local0)
+ m600(arg0, 43, Local0, 0xd650a284)
+
+ // Method returns Integer
+
+ And(m601(1, 5), b60a, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ And(m601(1, 18), b60a, Local0)
+ m600(arg0, 45, Local0, 0xd650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(Derefof(m602(1, 5, 1)), b60a, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ And(Derefof(m602(1, 18, 1)), b60a, Local0)
+ m600(arg0, 47, Local0, 0xd650a284)
+ }
+
+ // Conversion of the both operands
+
+ Store(And(b606, b60a), Local0)
+ m600(arg0, 48, Local0, 0x200)
+
+ Store(And(b60a, b606), Local0)
+ m600(arg0, 49, Local0, 0x200)
+
+ And(b606, b60a, Local0)
+ m600(arg0, 50, Local0, 0x200)
+
+ And(b60a, b606, Local0)
+ m600(arg0, 51, Local0, 0x200)
+ }
+
+ // Divide, common 32-bit/64-bit test
+ Method(m041, 1)
+ {
+ Name(b606, Buffer(3){0x21, 0x03, 0x00})
+
+ // Conversion of the first operand
+
+ Store(Divide(b606, 1), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Divide(b606, 0x321), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Divide(b606, aui6), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Divide(b606, aui1), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Divide(b606, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Divide(b606, Derefof(Refof(aui1))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Divide(b606, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Divide(b606, Derefof(Index(paui, 1))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(b606, m601(1, 6)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Divide(b606, m601(1, 1)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(b606, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Divide(b606, Derefof(m602(1, 1, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Divide(b606, 1, Local1, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Divide(b606, 0x321, Local1, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Divide(b606, aui6, Local1, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Divide(b606, aui1, Local1, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Divide(b606, Derefof(Refof(aui6)), Local1, Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Divide(b606, Derefof(Refof(aui1)), Local1, Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Divide(b606, Derefof(Index(paui, 6)), Local1, Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Divide(b606, Derefof(Index(paui, 1)), Local1, Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(b606, m601(1, 6), Local1, Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Divide(b606, m601(1, 1), Local1, Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(b606, Derefof(m602(1, 6, 1)), Local1, Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Divide(b606, Derefof(m602(1, 1, 1)), Local1, Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Divide(1, b606), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Divide(0x321, b606), Local0)
+ m600(arg0, 25, Local0, 1)
+
+ Store(Divide(aui6, b606), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Divide(aui1, b606), Local0)
+ m600(arg0, 27, Local0, 1)
+
+ if (y078) {
+ Store(Divide(Derefof(Refof(aui6)), b606), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Divide(Derefof(Refof(aui1)), b606), Local0)
+ m600(arg0, 29, Local0, 1)
+ }
+
+ Store(Divide(Derefof(Index(paui, 6)), b606), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Divide(Derefof(Index(paui, 1)), b606), Local0)
+ m600(arg0, 31, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(m601(1, 6), b606), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Divide(m601(1, 1), b606), Local0)
+ m600(arg0, 33, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(Derefof(m602(1, 6, 1)), b606), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Divide(Derefof(m602(1, 1, 1)), b606), Local0)
+ m600(arg0, 35, Local0, 1)
+ }
+
+ Divide(1, b606, Local1, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Divide(0x321, b606, Local1, Local0)
+ m600(arg0, 37, Local0, 1)
+
+ Divide(aui6, b606, Local1, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Divide(aui1, b606, Local1, Local0)
+ m600(arg0, 39, Local0, 1)
+
+ if (y078) {
+ Divide(Derefof(Refof(aui6)), b606, Local1, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Divide(Derefof(Refof(aui1)), b606, Local1, Local0)
+ m600(arg0, 41, Local0, 1)
+ }
+
+ Divide(Derefof(Index(paui, 6)), b606, Local1, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Divide(Derefof(Index(paui, 1)), b606, Local1, Local0)
+ m600(arg0, 43, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(m601(1, 6), b606, Local1, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Divide(m601(1, 1), b606, Local1, Local0)
+ m600(arg0, 45, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(Derefof(m602(1, 6, 1)), b606, Local1, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Divide(Derefof(m602(1, 1, 1)), b606, Local1, Local0)
+ m600(arg0, 47, Local0, 1)
+ }
+ }
+
+ // Divide, 64-bit
+ Method(m042, 1)
+ {
+ Name(b606, Buffer(3){0x21, 0x03, 0x00})
+ Name(b60a, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5})
+
+ // Conversion of the first operand
+
+ Store(Divide(b60a, 1), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(b60a, 0xfe7cb391d650a284), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Divide(b60a, aui6), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(b60a, aui4), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Divide(b60a, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(b60a, Derefof(Refof(aui4))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Divide(b60a, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(b60a, Derefof(Index(paui, 4))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(b60a, m601(1, 6)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(b60a, m601(1, 4)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(b60a, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(b60a, Derefof(m602(1, 4, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Divide(b60a, 1, Local1, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Divide(b60a, 0xfe7cb391d650a284, Local1, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Divide(b60a, aui6, Local1, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Divide(b60a, aui4, Local1, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Divide(b60a, Derefof(Refof(aui6)), Local1, Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Divide(b60a, Derefof(Refof(aui4)), Local1, Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Divide(b60a, Derefof(Index(paui, 6)), Local1, Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Divide(b60a, Derefof(Index(paui, 4)), Local1, Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(b60a, m601(1, 6), Local1, Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Divide(b60a, m601(1, 4), Local1, Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(b60a, Derefof(m602(1, 6, 1)), Local1, Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Divide(b60a, Derefof(m602(1, 4, 1)), Local1, Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Divide(1, b60a), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Divide(0xfe7cb391d650a284, b60a), Local0)
+ m600(arg0, 25, Local0, 1)
+
+ Store(Divide(aui6, b60a), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Divide(aui4, b60a), Local0)
+ m600(arg0, 27, Local0, 1)
+
+ if (y078) {
+ Store(Divide(Derefof(Refof(aui6)), b60a), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Divide(Derefof(Refof(aui4)), b60a), Local0)
+ m600(arg0, 29, Local0, 1)
+ }
+
+ Store(Divide(Derefof(Index(paui, 6)), b60a), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Divide(Derefof(Index(paui, 4)), b60a), Local0)
+ m600(arg0, 31, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(m601(1, 6), b60a), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Divide(m601(1, 4), b60a), Local0)
+ m600(arg0, 33, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(Derefof(m602(1, 6, 1)), b60a), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Divide(Derefof(m602(1, 4, 1)), b60a), Local0)
+ m600(arg0, 35, Local0, 1)
+ }
+
+ Divide(1, b60a, Local1, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Divide(0xfe7cb391d650a284, b60a, Local1, Local0)
+ m600(arg0, 37, Local0, 1)
+
+ Divide(aui6, b60a, Local1, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Divide(aui4, b60a, Local1, Local0)
+ m600(arg0, 39, Local0, 1)
+
+ if (y078) {
+ Divide(Derefof(Refof(aui6)), b60a, Local1, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Divide(Derefof(Refof(aui4)), b60a, Local1, Local0)
+ m600(arg0, 41, Local0, 1)
+ }
+
+ Divide(Derefof(Index(paui, 6)), b60a, Local1, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Divide(Derefof(Index(paui, 4)), b60a, Local1, Local0)
+ m600(arg0, 43, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(m601(1, 6), b60a, Local1, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Divide(m601(1, 4), b60a, Local1, Local0)
+ m600(arg0, 45, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(Derefof(m602(1, 6, 1)), b60a, Local1, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Divide(Derefof(m602(1, 4, 1)), b60a, Local1, Local0)
+ m600(arg0, 47, Local0, 1)
+ }
+
+ // Conversion of the both operands
+
+ Store(Divide(b606, b60a), Local0)
+ m600(arg0, 48, Local0, 0)
+
+ Store(Divide(b60a, b606), Local0)
+ m600(arg0, 49, Local0, 0x0051558eb950f5a7)
+
+ Divide(b606, b60a, Local1, Local0)
+ m600(arg0, 50, Local0, 0)
+
+ Divide(b60a, b606, Local1, Local0)
+ m600(arg0, 51, Local0, 0x0051558eb950f5a7)
+ }
+
+ // Divide, 32-bit
+ Method(m043, 1)
+ {
+ Name(b606, Buffer(3){0x21, 0x03, 0x00})
+ Name(b60a, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5})
+
+ // Conversion of the first operand
+
+ Store(Divide(b60a, 1), Local0)
+ m600(arg0, 0, Local0, 0xd650a284)
+
+ Store(Divide(b60a, 0xd650a284), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Divide(b60a, aui6), Local0)
+ m600(arg0, 2, Local0, 0xd650a284)
+
+ Store(Divide(b60a, auik), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Divide(b60a, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 4, Local0, 0xd650a284)
+
+ Store(Divide(b60a, Derefof(Refof(auik))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Divide(b60a, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 6, Local0, 0xd650a284)
+
+ Store(Divide(b60a, Derefof(Index(paui, 20))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(b60a, m601(1, 6)), Local0)
+ m600(arg0, 8, Local0, 0xd650a284)
+
+ Store(Divide(b60a, m601(1, 20)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(b60a, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 10, Local0, 0xd650a284)
+
+ Store(Divide(b60a, Derefof(m602(1, 20, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Divide(b60a, 1, Local1, Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ Divide(b60a, 0xd650a284, Local1, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Divide(b60a, aui6, Local1, Local0)
+ m600(arg0, 14, Local0, 0xd650a284)
+
+ Divide(b60a, auik, Local1, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Divide(b60a, Derefof(Refof(aui6)), Local1, Local0)
+ m600(arg0, 16, Local0, 0xd650a284)
+
+ Divide(b60a, Derefof(Refof(auik)), Local1, Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Divide(b60a, Derefof(Index(paui, 6)), Local1, Local0)
+ m600(arg0, 18, Local0, 0xd650a284)
+
+ Divide(b60a, Derefof(Index(paui, 20)), Local1, Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(b60a, m601(1, 6), Local1, Local0)
+ m600(arg0, 20, Local0, 0xd650a284)
+
+ Divide(b60a, m601(1, 20), Local1, Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(b60a, Derefof(m602(1, 6, 1)), Local1, Local0)
+ m600(arg0, 22, Local0, 0xd650a284)
+
+ Divide(b60a, Derefof(m602(1, 20, 1)), Local1, Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Divide(1, b60a), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Divide(0xd650a284, b60a), Local0)
+ m600(arg0, 25, Local0, 1)
+
+ Store(Divide(aui6, b60a), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Divide(auik, b60a), Local0)
+ m600(arg0, 27, Local0, 1)
+
+ if (y078) {
+ Store(Divide(Derefof(Refof(aui6)), b60a), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Divide(Derefof(Refof(auik)), b60a), Local0)
+ m600(arg0, 29, Local0, 1)
+ }
+
+ Store(Divide(Derefof(Index(paui, 6)), b60a), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Divide(Derefof(Index(paui, 20)), b60a), Local0)
+ m600(arg0, 31, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(m601(1, 6), b60a), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Divide(m601(1, 20), b60a), Local0)
+ m600(arg0, 33, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(Derefof(m602(1, 6, 1)), b60a), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Divide(Derefof(m602(1, 20, 1)), b60a), Local0)
+ m600(arg0, 35, Local0, 1)
+ }
+
+ Divide(1, b60a, Local1, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Divide(0xd650a284, b60a, Local1, Local0)
+ m600(arg0, 37, Local0, 1)
+
+ Divide(aui6, b60a, Local1, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Divide(auik, b60a, Local1, Local0)
+ m600(arg0, 39, Local0, 1)
+
+ if (y078) {
+ Divide(Derefof(Refof(aui6)), b60a, Local1, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Divide(Derefof(Refof(auik)), b60a, Local1, Local0)
+ m600(arg0, 41, Local0, 1)
+ }
+
+ Divide(Derefof(Index(paui, 6)), b60a, Local1, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Divide(Derefof(Index(paui, 20)), b60a, Local1, Local0)
+ m600(arg0, 43, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(m601(1, 6), b60a, Local1, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Divide(m601(1, 20), b60a, Local1, Local0)
+ m600(arg0, 45, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(Derefof(m602(1, 6, 1)), b60a, Local1, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Divide(Derefof(m602(1, 20, 1)), b60a, Local1, Local0)
+ m600(arg0, 47, Local0, 1)
+ }
+
+ // Conversion of the both operands
+
+ Store(Divide(b606, b60a), Local0)
+ m600(arg0, 48, Local0, 0)
+
+ Store(Divide(b60a, b606), Local0)
+ m600(arg0, 49, Local0, 0x00447ec3)
+
+ Divide(b606, b60a, Local1, Local0)
+ m600(arg0, 50, Local0, 0)
+
+ Divide(b60a, b606, Local1, Local0)
+ m600(arg0, 51, Local0, 0x00447ec3)
+ }
+
+ // Mod, common 32-bit/64-bit test
+ Method(m044, 1)
+ {
+ Name(b606, Buffer(3){0x21, 0x03, 0x00})
+
+ // Conversion of the first operand
+
+ Store(Mod(b606, 0x322), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Mod(b606, 0x320), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Mod(b606, auig), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Mod(b606, auih), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Mod(b606, Derefof(Refof(auig))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Mod(b606, Derefof(Refof(auih))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Mod(b606, Derefof(Index(paui, 16))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Mod(b606, Derefof(Index(paui, 17))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Mod(b606, m601(1, 16)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Mod(b606, m601(1, 17)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(b606, Derefof(m602(1, 16, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Mod(b606, Derefof(m602(1, 17, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Mod(b606, 0x322, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Mod(b606, 0x320, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Mod(b606, auig, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Mod(b606, auih, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Mod(b606, Derefof(Refof(auig)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Mod(b606, Derefof(Refof(auih)), Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Mod(b606, Derefof(Index(paui, 16)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Mod(b606, Derefof(Index(paui, 17)), Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Mod(b606, m601(1, 16), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Mod(b606, m601(1, 17), Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(b606, Derefof(m602(1, 16, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Mod(b606, Derefof(m602(1, 17, 1)), Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Mod(0x322, b606), Local0)
+ m600(arg0, 24, Local0, 1)
+
+ Store(Mod(0x320, b606), Local0)
+ m600(arg0, 25, Local0, 0x320)
+
+ Store(Mod(auig, b606), Local0)
+ m600(arg0, 26, Local0, 1)
+
+ Store(Mod(auih, b606), Local0)
+ m600(arg0, 27, Local0, 0x320)
+
+ if (y078) {
+ Store(Mod(Derefof(Refof(auig)), b606), Local0)
+ m600(arg0, 28, Local0, 1)
+
+ Store(Mod(Derefof(Refof(auih)), b606), Local0)
+ m600(arg0, 29, Local0, 0x320)
+ }
+
+ Store(Mod(Derefof(Index(paui, 16)), b606), Local0)
+ m600(arg0, 30, Local0, 1)
+
+ Store(Mod(Derefof(Index(paui, 17)), b606), Local0)
+ m600(arg0, 31, Local0, 0x320)
+
+ // Method returns Integer
+
+ Store(Mod(m601(1, 16), b606), Local0)
+ m600(arg0, 32, Local0, 1)
+
+ Store(Mod(m601(1, 17), b606), Local0)
+ m600(arg0, 33, Local0, 0x320)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(Derefof(m602(1, 16, 1)), b606), Local0)
+ m600(arg0, 34, Local0, 1)
+
+ Store(Mod(Derefof(m602(1, 17, 1)), b606), Local0)
+ m600(arg0, 35, Local0, 0x320)
+ }
+
+ Mod(0x322, b606, Local0)
+ m600(arg0, 36, Local0, 1)
+
+ Mod(0x320, b606, Local0)
+ m600(arg0, 37, Local0, 0x320)
+
+ Mod(auig, b606, Local0)
+ m600(arg0, 38, Local0, 1)
+
+ Mod(auih, b606, Local0)
+ m600(arg0, 39, Local0, 0x320)
+
+ if (y078) {
+ Mod(Derefof(Refof(auig)), b606, Local0)
+ m600(arg0, 40, Local0, 1)
+
+ Mod(Derefof(Refof(auih)), b606, Local0)
+ m600(arg0, 41, Local0, 0x320)
+ }
+
+ Mod(Derefof(Index(paui, 16)), b606, Local0)
+ m600(arg0, 42, Local0, 1)
+
+ Mod(Derefof(Index(paui, 17)), b606, Local0)
+ m600(arg0, 43, Local0, 0x320)
+
+ // Method returns Integer
+
+ Mod(m601(1, 16), b606, Local0)
+ m600(arg0, 44, Local0, 1)
+
+ Mod(m601(1, 17), b606, Local0)
+ m600(arg0, 45, Local0, 0x320)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(Derefof(m602(1, 16, 1)), b606, Local0)
+ m600(arg0, 46, Local0, 1)
+
+ Mod(Derefof(m602(1, 17, 1)), b606, Local0)
+ m600(arg0, 47, Local0, 0x320)
+ }
+ }
+
+ // Mod, 64-bit
+ Method(m045, 1)
+ {
+ Name(b606, Buffer(3){0x21, 0x03, 0x00})
+ Name(b60a, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5})
+
+ // Conversion of the first operand
+
+ Store(Mod(b60a, 0xfe7cb391d650a285), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(b60a, 0xfe7cb391d650a283), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Mod(b60a, auid), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(b60a, auif), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Mod(b60a, Derefof(Refof(auid))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(b60a, Derefof(Refof(auif))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Mod(b60a, Derefof(Index(paui, 13))), Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(b60a, Derefof(Index(paui, 15))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Mod(b60a, m601(1, 13)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(b60a, m601(1, 15)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(b60a, Derefof(m602(1, 13, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(b60a, Derefof(m602(1, 15, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Mod(b60a, 0xfe7cb391d650a285, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Mod(b60a, 0xfe7cb391d650a283, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Mod(b60a, auid, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Mod(b60a, auif, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Mod(b60a, Derefof(Refof(auid)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Mod(b60a, Derefof(Refof(auif)), Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Mod(b60a, Derefof(Index(paui, 13)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Mod(b60a, Derefof(Index(paui, 15)), Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Mod(b60a, m601(1, 13), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Mod(b60a, m601(1, 15), Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(b60a, Derefof(m602(1, 13, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Mod(b60a, Derefof(m602(1, 15, 1)), Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Mod(0xfe7cb391d650a285, b60a), Local0)
+ m600(arg0, 24, Local0, 1)
+
+ Store(Mod(0xfe7cb391d650a283, b60a), Local0)
+ m600(arg0, 25, Local0, 0xfe7cb391d650a283)
+
+ Store(Mod(auid, b60a), Local0)
+ m600(arg0, 26, Local0, 1)
+
+ Store(Mod(auif, b60a), Local0)
+ m600(arg0, 27, Local0, 0xfe7cb391d650a283)
+
+ if (y078) {
+ Store(Mod(Derefof(Refof(auid)), b60a), Local0)
+ m600(arg0, 28, Local0, 1)
+
+ Store(Mod(Derefof(Refof(auif)), b60a), Local0)
+ m600(arg0, 29, Local0, 0xfe7cb391d650a283)
+ }
+
+ Store(Mod(Derefof(Index(paui, 13)), b60a), Local0)
+ m600(arg0, 30, Local0, 1)
+
+ Store(Mod(Derefof(Index(paui, 15)), b60a), Local0)
+ m600(arg0, 31, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Integer
+
+ Store(Mod(m601(1, 13), b60a), Local0)
+ m600(arg0, 32, Local0, 1)
+
+ Store(Mod(m601(1, 15), b60a), Local0)
+ m600(arg0, 33, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(Derefof(m602(1, 13, 1)), b60a), Local0)
+ m600(arg0, 34, Local0, 1)
+
+ Store(Mod(Derefof(m602(1, 15, 1)), b60a), Local0)
+ m600(arg0, 35, Local0, 0xfe7cb391d650a283)
+ }
+
+ Mod(0xfe7cb391d650a285, b60a, Local0)
+ m600(arg0, 36, Local0, 1)
+
+ Mod(0xfe7cb391d650a283, b60a, Local0)
+ m600(arg0, 37, Local0, 0xfe7cb391d650a283)
+
+ Mod(auid, b60a, Local0)
+ m600(arg0, 38, Local0, 1)
+
+ Mod(auif, b60a, Local0)
+ m600(arg0, 39, Local0, 0xfe7cb391d650a283)
+
+ if (y078) {
+ Mod(Derefof(Refof(auid)), b60a, Local0)
+ m600(arg0, 40, Local0, 1)
+
+ Mod(Derefof(Refof(auif)), b60a, Local0)
+ m600(arg0, 41, Local0, 0xfe7cb391d650a283)
+ }
+
+ Mod(Derefof(Index(paui, 13)), b60a, Local0)
+ m600(arg0, 42, Local0, 1)
+
+ Mod(Derefof(Index(paui, 15)), b60a, Local0)
+ m600(arg0, 43, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Integer
+
+ Mod(m601(1, 13), b60a, Local0)
+ m600(arg0, 44, Local0, 1)
+
+ Mod(m601(1, 15), b60a, Local0)
+ m600(arg0, 45, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(Derefof(m602(1, 13, 1)), b60a, Local0)
+ m600(arg0, 46, Local0, 1)
+
+ Mod(Derefof(m602(1, 15, 1)), b60a, Local0)
+ m600(arg0, 47, Local0, 0xfe7cb391d650a283)
+ }
+
+ // Conversion of the both operands
+
+ Store(Mod(b606, b60a), Local0)
+ m600(arg0, 48, Local0, 0x321)
+
+ Store(Mod(b60a, b606), Local0)
+ m600(arg0, 49, Local0, 0x2fd)
+
+ Mod(b606, b60a, Local0)
+ m600(arg0, 50, Local0, 0x321)
+
+ Mod(b60a, b606, Local0)
+ m600(arg0, 51, Local0, 0x2fd)
+ }
+
+ // Mod, 32-bit
+ Method(m046, 1)
+ {
+ Name(b606, Buffer(3){0x21, 0x03, 0x00})
+ Name(b60a, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5})
+
+ // Conversion of the first operand
+
+ Store(Mod(b60a, 0xd650a285), Local0)
+ m600(arg0, 0, Local0, 0xd650a284)
+
+ Store(Mod(b60a, 0xd650a283), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Mod(b60a, auil), Local0)
+ m600(arg0, 2, Local0, 0xd650a284)
+
+ Store(Mod(b60a, auim), Local0)
+ m600(arg0, 14, Local0, 1)
+
+ if (y078) {
+ Store(Mod(b60a, Derefof(Refof(auil))), Local0)
+ m600(arg0, 4, Local0, 0xd650a284)
+
+ Store(Mod(b60a, Derefof(Refof(auim))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Mod(b60a, Derefof(Index(paui, 21))), Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ Store(Mod(b60a, Derefof(Index(paui, 22))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Mod(b60a, m601(1, 21)), Local0)
+ m600(arg0, 8, Local0, 0xd650a284)
+
+ Store(Mod(b60a, m601(1, 22)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(b60a, Derefof(m601(1, 21, 1))), Local0)
+ m600(arg0, 10, Local0, 0xd650a284)
+
+ Store(Mod(b60a, Derefof(m601(1, 22, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Mod(b60a, 0xd650a285, Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ Mod(b60a, 0xd650a283, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Mod(b60a, auil, Local0)
+ m600(arg0, 14, Local0, 0xd650a284)
+
+ Mod(b60a, auim, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Mod(b60a, Derefof(Refof(auil)), Local0)
+ m600(arg0, 16, Local0, 0xd650a284)
+
+ Mod(b60a, Derefof(Refof(auim)), Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Mod(b60a, Derefof(Index(paui, 21)), Local0)
+ m600(arg0, 18, Local0, 0xd650a284)
+
+ Mod(b60a, Derefof(Index(paui, 22)), Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Mod(b60a, m601(1, 21), Local0)
+ m600(arg0, 20, Local0, 0xd650a284)
+
+ Mod(b60a, m601(1, 22), Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(b60a, Derefof(m601(1, 21, 1)), Local0)
+ m600(arg0, 22, Local0, 0xd650a284)
+
+ Mod(b60a, Derefof(m601(1, 22, 1)), Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Mod(0xd650a285, b60a), Local0)
+ m600(arg0, 24, Local0, 1)
+
+ Store(Mod(0xd650a283, b60a), Local0)
+ m600(arg0, 25, Local0, 0xd650a283)
+
+ Store(Mod(auil, b60a), Local0)
+ m600(arg0, 26, Local0, 1)
+
+ Store(Mod(auim, b60a), Local0)
+ m600(arg0, 27, Local0, 0xd650a283)
+
+ if (y078) {
+ Store(Mod(Derefof(Refof(auil)), b60a), Local0)
+ m600(arg0, 28, Local0, 1)
+
+ Store(Mod(Derefof(Refof(auim)), b60a), Local0)
+ m600(arg0, 29, Local0, 0xd650a283)
+ }
+
+ Store(Mod(Derefof(Index(paui, 21)), b60a), Local0)
+ m600(arg0, 30, Local0, 1)
+
+ Store(Mod(Derefof(Index(paui, 22)), b60a), Local0)
+ m600(arg0, 31, Local0, 0xd650a283)
+
+ // Method returns Integer
+
+ Store(Mod(m601(1, 21), b60a), Local0)
+ m600(arg0, 32, Local0, 1)
+
+ Store(Mod(m601(1, 22), b60a), Local0)
+ m600(arg0, 33, Local0, 0xd650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(Derefof(m601(1, 21, 1)), b60a), Local0)
+ m600(arg0, 34, Local0, 1)
+
+ Store(Mod(Derefof(m601(1, 22, 1)), b60a), Local0)
+ m600(arg0, 35, Local0, 0xd650a283)
+ }
+
+ Mod(0xd650a285, b60a, Local0)
+ m600(arg0, 36, Local0, 1)
+
+ Mod(0xd650a283, b60a, Local0)
+ m600(arg0, 37, Local0, 0xd650a283)
+
+ Mod(auil, b60a, Local0)
+ m600(arg0, 38, Local0, 1)
+
+ Mod(auim, b60a, Local0)
+ m600(arg0, 39, Local0, 0xd650a283)
+
+ if (y078) {
+ Mod(Derefof(Refof(auil)), b60a, Local0)
+ m600(arg0, 40, Local0, 1)
+
+ Mod(Derefof(Refof(auim)), b60a, Local0)
+ m600(arg0, 41, Local0, 0xd650a283)
+ }
+
+ Mod(Derefof(Index(paui, 21)), b60a, Local0)
+ m600(arg0, 42, Local0, 1)
+
+ Mod(Derefof(Index(paui, 22)), b60a, Local0)
+ m600(arg0, 43, Local0, 0xd650a283)
+
+ // Method returns Integer
+
+ Mod(m601(1, 21), b60a, Local0)
+ m600(arg0, 44, Local0, 1)
+
+ Mod(m601(1, 22), b60a, Local0)
+ m600(arg0, 45, Local0, 0xd650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(Derefof(m601(1, 21, 1)), b60a, Local0)
+ m600(arg0, 46, Local0, 1)
+
+ Mod(Derefof(m601(1, 22, 1)), b60a, Local0)
+ m600(arg0, 47, Local0, 0xd650a283)
+ }
+
+ // Conversion of the both operands
+
+ Store(Mod(b606, b60a), Local0)
+ m600(arg0, 48, Local0, 0x321)
+
+ Store(Mod(b60a, b606), Local0)
+ m600(arg0, 49, Local0, 0x261)
+
+ Mod(b606, b60a, Local0)
+ m600(arg0, 50, Local0, 0x321)
+
+ Mod(b60a, b606, Local0)
+ m600(arg0, 51, Local0, 0x261)
+ }
+
+ // Multiply, common 32-bit/64-bit test
+ Method(m047, 1)
+ {
+ Name(b606, Buffer(3){0x21, 0x03, 0x00})
+
+ // Conversion of the first operand
+
+ Store(Multiply(b606, 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(Multiply(b606, 1), Local0)
+ m600(arg0, 1, Local0, 0x321)
+
+ Store(Multiply(b606, aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(Multiply(b606, aui6), Local0)
+ m600(arg0, 3, Local0, 0x321)
+
+ if (y078) {
+ Store(Multiply(b606, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(Multiply(b606, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x321)
+ }
+
+ Store(Multiply(b606, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(Multiply(b606, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x321)
+
+ // Method returns Integer
+
+ Store(Multiply(b606, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(Multiply(b606, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(b606, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(Multiply(b606, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x321)
+ }
+
+ Multiply(b606, 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ Multiply(b606, 1, Local0)
+ m600(arg0, 13, Local0, 0x321)
+
+ Multiply(b606, aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ Multiply(b606, aui6, Local0)
+ m600(arg0, 15, Local0, 0x321)
+
+ if (y078) {
+ Multiply(b606, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ Multiply(b606, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x321)
+ }
+
+ Multiply(b606, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ Multiply(b606, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x321)
+
+ // Method returns Integer
+
+ Multiply(b606, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ Multiply(b606, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(b606, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ Multiply(b606, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x321)
+ }
+
+ // Conversion of the second operand
+
+ Store(Multiply(0, b606), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Multiply(1, b606), Local0)
+ m600(arg0, 25, Local0, 0x321)
+
+ Store(Multiply(aui5, b606), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Multiply(aui6, b606), Local0)
+ m600(arg0, 27, Local0, 0x321)
+
+ if (y078) {
+ Store(Multiply(Derefof(Refof(aui5)), b606), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(aui6)), b606), Local0)
+ m600(arg0, 29, Local0, 0x321)
+ }
+
+ Store(Multiply(Derefof(Index(paui, 5)), b606), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Multiply(Derefof(Index(paui, 6)), b606), Local0)
+ m600(arg0, 31, Local0, 0x321)
+
+ // Method returns Integer
+
+ Store(Multiply(m601(1, 5), b606), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Multiply(m601(1, 6), b606), Local0)
+ m600(arg0, 33, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(Derefof(m602(1, 5, 1)), b606), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Multiply(Derefof(m602(1, 6, 1)), b606), Local0)
+ m600(arg0, 35, Local0, 0x321)
+ }
+
+ Multiply(0, b606, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Multiply(1, b606, Local0)
+ m600(arg0, 37, Local0, 0x321)
+
+ Multiply(aui5, b606, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Multiply(aui6, b606, Local0)
+ m600(arg0, 39, Local0, 0x321)
+
+ if (y078) {
+ Multiply(Derefof(Refof(aui5)), b606, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Multiply(Derefof(Refof(aui6)), b606, Local0)
+ m600(arg0, 41, Local0, 0x321)
+ }
+
+ Multiply(Derefof(Index(paui, 5)), b606, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Multiply(Derefof(Index(paui, 6)), b606, Local0)
+ m600(arg0, 43, Local0, 0x321)
+
+ // Method returns Integer
+
+ Multiply(m601(1, 5), b606, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Multiply(m601(1, 6), b606, Local0)
+ m600(arg0, 45, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(Derefof(m602(1, 5, 1)), b606, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Multiply(Derefof(m602(1, 6, 1)), b606, Local0)
+ m600(arg0, 47, Local0, 0x321)
+ }
+ }
+
+ // Multiply, 64-bit
+ Method(m048, 1)
+ {
+ Name(b606, Buffer(3){0x21, 0x03, 0x00})
+ Name(b60a, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5})
+
+ // Conversion of the first operand
+
+ Store(Multiply(b60a, 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(Multiply(b60a, 1), Local0)
+ m600(arg0, 1, Local0, 0xfe7cb391d650a284)
+
+ Store(Multiply(b60a, aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(Multiply(b60a, aui6), Local0)
+ m600(arg0, 3, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Store(Multiply(b60a, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(Multiply(b60a, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xfe7cb391d650a284)
+ }
+
+ Store(Multiply(b60a, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(Multiply(b60a, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Store(Multiply(b60a, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(Multiply(b60a, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(b60a, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(Multiply(b60a, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfe7cb391d650a284)
+ }
+
+ Multiply(b60a, 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ Multiply(b60a, 1, Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a284)
+
+ Multiply(b60a, aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ Multiply(b60a, aui6, Local0)
+ m600(arg0, 15, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Multiply(b60a, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ Multiply(b60a, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xfe7cb391d650a284)
+ }
+
+ Multiply(b60a, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ Multiply(b60a, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Multiply(b60a, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ Multiply(b60a, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(b60a, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ Multiply(b60a, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfe7cb391d650a284)
+ }
+
+ // Conversion of the second operand
+
+ Store(Multiply(0, b60a), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Multiply(1, b60a), Local0)
+ m600(arg0, 25, Local0, 0xfe7cb391d650a284)
+
+ Store(Multiply(aui5, b60a), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Multiply(aui6, b60a), Local0)
+ m600(arg0, 27, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Store(Multiply(Derefof(Refof(aui5)), b60a), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(aui6)), b60a), Local0)
+ m600(arg0, 29, Local0, 0xfe7cb391d650a284)
+ }
+
+ Store(Multiply(Derefof(Index(paui, 5)), b60a), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Multiply(Derefof(Index(paui, 6)), b60a), Local0)
+ m600(arg0, 31, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Store(Multiply(m601(1, 5), b60a), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Multiply(m601(1, 6), b60a), Local0)
+ m600(arg0, 33, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(Derefof(m602(1, 5, 1)), b60a), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Multiply(Derefof(m602(1, 6, 1)), b60a), Local0)
+ m600(arg0, 35, Local0, 0xfe7cb391d650a284)
+ }
+
+ Multiply(0, b60a, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Multiply(1, b60a, Local0)
+ m600(arg0, 37, Local0, 0xfe7cb391d650a284)
+
+ Multiply(aui5, b60a, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Multiply(aui6, b60a, Local0)
+ m600(arg0, 39, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Multiply(Derefof(Refof(aui5)), b60a, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Multiply(Derefof(Refof(aui6)), b60a, Local0)
+ m600(arg0, 41, Local0, 0xfe7cb391d650a284)
+ }
+
+ Multiply(Derefof(Index(paui, 5)), b60a, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Multiply(Derefof(Index(paui, 6)), b60a, Local0)
+ m600(arg0, 43, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Multiply(m601(1, 5), b60a, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Multiply(m601(1, 6), b60a, Local0)
+ m600(arg0, 45, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(Derefof(m602(1, 5, 1)), b60a, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Multiply(Derefof(m602(1, 6, 1)), b60a, Local0)
+ m600(arg0, 47, Local0, 0xfe7cb391d650a284)
+ }
+
+ // Conversion of the both operands
+
+ Store(Multiply(b606, b60a), Local0)
+ m600(arg0, 48, Local0, 0x442ddb4f924c7f04)
+
+ Store(Multiply(b60a, b606), Local0)
+ m600(arg0, 49, Local0, 0x442ddb4f924c7f04)
+
+ Multiply(b606, b60a, Local0)
+ m600(arg0, 50, Local0, 0x442ddb4f924c7f04)
+
+ Multiply(b60a, b606, Local0)
+ m600(arg0, 51, Local0, 0x442ddb4f924c7f04)
+ }
+
+ // Multiply, 32-bit
+ Method(m049, 1)
+ {
+ Name(b606, Buffer(3){0x21, 0x03, 0x00})
+ Name(b60a, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5})
+
+ // Conversion of the first operand
+
+ Store(Multiply(b60a, 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(Multiply(b60a, 1), Local0)
+ m600(arg0, 1, Local0, 0xd650a284)
+
+ Store(Multiply(b60a, aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(Multiply(b60a, aui6), Local0)
+ m600(arg0, 3, Local0, 0xd650a284)
+
+ if (y078) {
+ Store(Multiply(b60a, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(Multiply(b60a, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xd650a284)
+ }
+
+ Store(Multiply(b60a, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(Multiply(b60a, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xd650a284)
+
+ // Method returns Integer
+
+ Store(Multiply(b60a, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(Multiply(b60a, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xd650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(b60a, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(Multiply(b60a, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xd650a284)
+ }
+
+ Multiply(b60a, 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ Multiply(b60a, 1, Local0)
+ m600(arg0, 13, Local0, 0xd650a284)
+
+ Multiply(b60a, aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ Multiply(b60a, aui6, Local0)
+ m600(arg0, 15, Local0, 0xd650a284)
+
+ if (y078) {
+ Multiply(b60a, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ Multiply(b60a, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xd650a284)
+ }
+
+ Multiply(b60a, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ Multiply(b60a, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xd650a284)
+
+ // Method returns Integer
+
+ Multiply(b60a, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ Multiply(b60a, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xd650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(b60a, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ Multiply(b60a, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xd650a284)
+ }
+
+ // Conversion of the second operand
+
+ Store(Multiply(0, b60a), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Multiply(1, b60a), Local0)
+ m600(arg0, 25, Local0, 0xd650a284)
+
+ Store(Multiply(aui5, b60a), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Multiply(aui6, b60a), Local0)
+ m600(arg0, 27, Local0, 0xd650a284)
+
+ if (y078) {
+ Store(Multiply(Derefof(Refof(aui5)), b60a), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(aui6)), b60a), Local0)
+ m600(arg0, 29, Local0, 0xd650a284)
+ }
+
+ Store(Multiply(Derefof(Index(paui, 5)), b60a), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Multiply(Derefof(Index(paui, 6)), b60a), Local0)
+ m600(arg0, 31, Local0, 0xd650a284)
+
+ // Method returns Integer
+
+ Store(Multiply(m601(1, 5), b60a), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Multiply(m601(1, 6), b60a), Local0)
+ m600(arg0, 33, Local0, 0xd650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(Derefof(m602(1, 5, 1)), b60a), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Multiply(Derefof(m602(1, 6, 1)), b60a), Local0)
+ m600(arg0, 35, Local0, 0xd650a284)
+ }
+
+ Multiply(0, b60a, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Multiply(1, b60a, Local0)
+ m600(arg0, 37, Local0, 0xd650a284)
+
+ Multiply(aui5, b60a, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Multiply(aui6, b60a, Local0)
+ m600(arg0, 39, Local0, 0xd650a284)
+
+ if (y078) {
+ Multiply(Derefof(Refof(aui5)), b60a, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Multiply(Derefof(Refof(aui6)), b60a, Local0)
+ m600(arg0, 41, Local0, 0xd650a284)
+ }
+
+ Multiply(Derefof(Index(paui, 5)), b60a, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Multiply(Derefof(Index(paui, 6)), b60a, Local0)
+ m600(arg0, 43, Local0, 0xd650a284)
+
+ // Method returns Integer
+
+ Multiply(m601(1, 5), b60a, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Multiply(m601(1, 6), b60a, Local0)
+ m600(arg0, 45, Local0, 0xd650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(Derefof(m602(1, 5, 1)), b60a, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Multiply(Derefof(m602(1, 6, 1)), b60a, Local0)
+ m600(arg0, 47, Local0, 0xd650a284)
+ }
+
+ // Conversion of the both operands
+
+ Store(Multiply(b606, b60a), Local0)
+ m600(arg0, 48, Local0, 0x924c7f04)
+
+ Store(Multiply(b60a, b606), Local0)
+ m600(arg0, 49, Local0, 0x924c7f04)
+
+ Multiply(b606, b60a, Local0)
+ m600(arg0, 50, Local0, 0x924c7f04)
+
+ Multiply(b60a, b606, Local0)
+ m600(arg0, 51, Local0, 0x924c7f04)
+ }
+
+ // NAnd, common 32-bit/64-bit test
+ Method(m04a, 1)
+ {
+ Name(b606, Buffer(3){0x21, 0x03, 0x00})
+
+ // Conversion of the first operand
+
+ Store(NAnd(b606, 0), Local0)
+ m600(arg0, 0, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(b606, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xfffffffffffffcde)
+
+ Store(NAnd(b606, aui5), Local0)
+ m600(arg0, 2, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(b606, auij), Local0)
+ m600(arg0, 3, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ Store(NAnd(b606, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(b606, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xfffffffffffffcde)
+ }
+
+ Store(NAnd(b606, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(b606, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ Store(NAnd(b606, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(b606, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(b606, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(b606, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfffffffffffffcde)
+ }
+
+ NAnd(b606, 0, Local0)
+ m600(arg0, 12, Local0, 0xffffffffffffffff)
+
+ NAnd(b606, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xfffffffffffffcde)
+
+ NAnd(b606, aui5, Local0)
+ m600(arg0, 14, Local0, 0xffffffffffffffff)
+
+ NAnd(b606, auij, Local0)
+ m600(arg0, 15, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ NAnd(b606, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xffffffffffffffff)
+
+ NAnd(b606, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xfffffffffffffcde)
+ }
+
+ NAnd(b606, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xffffffffffffffff)
+
+ NAnd(b606, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ NAnd(b606, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xffffffffffffffff)
+
+ NAnd(b606, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(b606, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xffffffffffffffff)
+
+ NAnd(b606, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfffffffffffffcde)
+ }
+
+ // Conversion of the second operand
+
+ Store(NAnd(0, b606), Local0)
+ m600(arg0, 24, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(0xffffffffffffffff, b606), Local0)
+ m600(arg0, 25, Local0, 0xfffffffffffffcde)
+
+ Store(NAnd(aui5, b606), Local0)
+ m600(arg0, 26, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(auij, b606), Local0)
+ m600(arg0, 27, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ Store(NAnd(Derefof(Refof(aui5)), b606), Local0)
+ m600(arg0, 28, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Refof(auij)), b606), Local0)
+ m600(arg0, 29, Local0, 0xfffffffffffffcde)
+ }
+
+ Store(NAnd(Derefof(Index(paui, 5)), b606), Local0)
+ m600(arg0, 30, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Index(paui, 19)), b606), Local0)
+ m600(arg0, 31, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ Store(NAnd(m601(1, 5), b606), Local0)
+ m600(arg0, 32, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(m601(1, 19), b606), Local0)
+ m600(arg0, 33, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(Derefof(m602(1, 5, 1)), b606), Local0)
+ m600(arg0, 34, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(m602(1, 19, 1)), b606), Local0)
+ m600(arg0, 35, Local0, 0xfffffffffffffcde)
+ }
+
+ NAnd(0, b606, Local0)
+ m600(arg0, 36, Local0, 0xffffffffffffffff)
+
+ NAnd(0xffffffffffffffff, b606, Local0)
+ m600(arg0, 37, Local0, 0xfffffffffffffcde)
+
+ NAnd(aui5, b606, Local0)
+ m600(arg0, 38, Local0, 0xffffffffffffffff)
+
+ NAnd(auij, b606, Local0)
+ m600(arg0, 39, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ NAnd(Derefof(Refof(aui5)), b606, Local0)
+ m600(arg0, 40, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Refof(auij)), b606, Local0)
+ m600(arg0, 41, Local0, 0xfffffffffffffcde)
+ }
+
+ NAnd(Derefof(Index(paui, 5)), b606, Local0)
+ m600(arg0, 42, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Index(paui, 19)), b606, Local0)
+ m600(arg0, 43, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ NAnd(m601(1, 5), b606, Local0)
+ m600(arg0, 44, Local0, 0xffffffffffffffff)
+
+ NAnd(m601(1, 19), b606, Local0)
+ m600(arg0, 45, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(Derefof(m602(1, 5, 1)), b606, Local0)
+ m600(arg0, 46, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(m602(1, 19, 1)), b606, Local0)
+ m600(arg0, 47, Local0, 0xfffffffffffffcde)
+ }
+ }
+
+ // NAnd, 64-bit
+ Method(m04b, 1)
+ {
+ Name(b606, Buffer(3){0x21, 0x03, 0x00})
+ Name(b60a, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5})
+
+ // Conversion of the first operand
+
+ Store(NAnd(b60a, 0), Local0)
+ m600(arg0, 0, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(b60a, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0x01834c6e29af5d7b)
+
+ Store(NAnd(b60a, aui5), Local0)
+ m600(arg0, 2, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(b60a, auij), Local0)
+ m600(arg0, 3, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ Store(NAnd(b60a, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(b60a, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Store(NAnd(b60a, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(b60a, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ Store(NAnd(b60a, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(b60a, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(b60a, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(b60a, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0x01834c6e29af5d7b)
+ }
+
+ NAnd(b60a, 0, Local0)
+ m600(arg0, 12, Local0, 0xffffffffffffffff)
+
+ NAnd(b60a, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0x01834c6e29af5d7b)
+
+ NAnd(b60a, aui5, Local0)
+ m600(arg0, 14, Local0, 0xffffffffffffffff)
+
+ NAnd(b60a, auij, Local0)
+ m600(arg0, 15, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ NAnd(b60a, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xffffffffffffffff)
+
+ NAnd(b60a, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0x01834c6e29af5d7b)
+ }
+
+ NAnd(b60a, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xffffffffffffffff)
+
+ NAnd(b60a, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ NAnd(b60a, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xffffffffffffffff)
+
+ NAnd(b60a, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(b60a, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xffffffffffffffff)
+
+ NAnd(b60a, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0x01834c6e29af5d7b)
+ }
+
+ // Conversion of the second operand
+
+ Store(NAnd(0, b60a), Local0)
+ m600(arg0, 24, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(0xffffffffffffffff, b60a), Local0)
+ m600(arg0, 25, Local0, 0x01834c6e29af5d7b)
+
+ Store(NAnd(aui5, b60a), Local0)
+ m600(arg0, 26, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(auij, b60a), Local0)
+ m600(arg0, 27, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ Store(NAnd(Derefof(Refof(aui5)), b60a), Local0)
+ m600(arg0, 28, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Refof(auij)), b60a), Local0)
+ m600(arg0, 29, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Store(NAnd(Derefof(Index(paui, 5)), b60a), Local0)
+ m600(arg0, 30, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Index(paui, 19)), b60a), Local0)
+ m600(arg0, 31, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ Store(NAnd(m601(1, 5), b60a), Local0)
+ m600(arg0, 32, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(m601(1, 19), b60a), Local0)
+ m600(arg0, 33, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(Derefof(m602(1, 5, 1)), b60a), Local0)
+ m600(arg0, 34, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(m602(1, 19, 1)), b60a), Local0)
+ m600(arg0, 35, Local0, 0x01834c6e29af5d7b)
+ }
+
+ NAnd(0, b60a, Local0)
+ m600(arg0, 36, Local0, 0xffffffffffffffff)
+
+ NAnd(0xffffffffffffffff, b60a, Local0)
+ m600(arg0, 37, Local0, 0x01834c6e29af5d7b)
+
+ NAnd(aui5, b60a, Local0)
+ m600(arg0, 38, Local0, 0xffffffffffffffff)
+
+ NAnd(auij, b60a, Local0)
+ m600(arg0, 39, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ NAnd(Derefof(Refof(aui5)), b60a, Local0)
+ m600(arg0, 40, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Refof(auij)), b60a, Local0)
+ m600(arg0, 41, Local0, 0x01834c6e29af5d7b)
+ }
+
+ NAnd(Derefof(Index(paui, 5)), b60a, Local0)
+ m600(arg0, 42, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Index(paui, 19)), b60a, Local0)
+ m600(arg0, 43, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ NAnd(m601(1, 5), b60a, Local0)
+ m600(arg0, 44, Local0, 0xffffffffffffffff)
+
+ NAnd(m601(1, 19), b60a, Local0)
+ m600(arg0, 45, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(Derefof(m602(1, 5, 1)), b60a, Local0)
+ m600(arg0, 46, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(m602(1, 19, 1)), b60a, Local0)
+ m600(arg0, 47, Local0, 0x01834c6e29af5d7b)
+ }
+
+ // Conversion of the both operands
+
+ Store(NAnd(b606, b60a), Local0)
+ m600(arg0, 48, Local0, 0xfffffffffffffdff)
+
+ Store(NAnd(b60a, b606), Local0)
+ m600(arg0, 49, Local0, 0xfffffffffffffdff)
+
+ NAnd(b606, b60a, Local0)
+ m600(arg0, 50, Local0, 0xfffffffffffffdff)
+
+ NAnd(b60a, b606, Local0)
+ m600(arg0, 51, Local0, 0xfffffffffffffdff)
+ }
+
+ // NAnd, 32-bit
+ Method(m04c, 1)
+ {
+ Name(b606, Buffer(3){0x21, 0x03, 0x00})
+ Name(b60a, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5})
+
+ // Conversion of the first operand
+
+ Store(NAnd(b60a, 0), Local0)
+ m600(arg0, 0, Local0, 0xffffffff)
+
+ Store(NAnd(b60a, 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0x29af5d7b)
+
+ Store(NAnd(b60a, aui5), Local0)
+ m600(arg0, 2, Local0, 0xffffffff)
+
+ Store(NAnd(b60a, auii), Local0)
+ m600(arg0, 3, Local0, 0x29af5d7b)
+
+ if (y078) {
+ Store(NAnd(b60a, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xffffffff)
+
+ Store(NAnd(b60a, Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0x29af5d7b)
+ }
+
+ Store(NAnd(b60a, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xffffffff)
+
+ Store(NAnd(b60a, Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0x29af5d7b)
+
+ // Method returns Integer
+
+ Store(NAnd(b60a, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xffffffff)
+
+ Store(NAnd(b60a, m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0x29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(b60a, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xffffffff)
+
+ Store(NAnd(b60a, Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0x29af5d7b)
+ }
+
+ NAnd(b60a, 0, Local0)
+ m600(arg0, 12, Local0, 0xffffffff)
+
+ NAnd(b60a, 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0x29af5d7b)
+
+ NAnd(b60a, aui5, Local0)
+ m600(arg0, 14, Local0, 0xffffffff)
+
+ NAnd(b60a, auii, Local0)
+ m600(arg0, 15, Local0, 0x29af5d7b)
+
+ if (y078) {
+ NAnd(b60a, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xffffffff)
+
+ NAnd(b60a, Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0x29af5d7b)
+ }
+
+ NAnd(b60a, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xffffffff)
+
+ NAnd(b60a, Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0x29af5d7b)
+
+ // Method returns Integer
+
+ NAnd(b60a, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xffffffff)
+
+ NAnd(b60a, m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0x29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(b60a, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xffffffff)
+
+ NAnd(b60a, Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0x29af5d7b)
+ }
+
+ // Conversion of the second operand
+
+ Store(NAnd(0, b60a), Local0)
+ m600(arg0, 24, Local0, 0xffffffff)
+
+ Store(NAnd(0xffffffff, b60a), Local0)
+ m600(arg0, 25, Local0, 0x29af5d7b)
+
+ Store(NAnd(aui5, b60a), Local0)
+ m600(arg0, 26, Local0, 0xffffffff)
+
+ Store(NAnd(auii, b60a), Local0)
+ m600(arg0, 27, Local0, 0x29af5d7b)
+
+ if (y078) {
+ Store(NAnd(Derefof(Refof(aui5)), b60a), Local0)
+ m600(arg0, 28, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(Refof(auii)), b60a), Local0)
+ m600(arg0, 29, Local0, 0x29af5d7b)
+ }
+
+ Store(NAnd(Derefof(Index(paui, 5)), b60a), Local0)
+ m600(arg0, 30, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(Index(paui, 18)), b60a), Local0)
+ m600(arg0, 31, Local0, 0x29af5d7b)
+
+ // Method returns Integer
+
+ Store(NAnd(m601(1, 5), b60a), Local0)
+ m600(arg0, 32, Local0, 0xffffffff)
+
+ Store(NAnd(m601(1, 18), b60a), Local0)
+ m600(arg0, 33, Local0, 0x29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(Derefof(m602(1, 5, 1)), b60a), Local0)
+ m600(arg0, 34, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(m602(1, 18, 1)), b60a), Local0)
+ m600(arg0, 35, Local0, 0x29af5d7b)
+ }
+
+ NAnd(0, b60a, Local0)
+ m600(arg0, 36, Local0, 0xffffffff)
+
+ NAnd(0xffffffff, b60a, Local0)
+ m600(arg0, 37, Local0, 0x29af5d7b)
+
+ NAnd(aui5, b60a, Local0)
+ m600(arg0, 38, Local0, 0xffffffff)
+
+ NAnd(auii, b60a, Local0)
+ m600(arg0, 39, Local0, 0x29af5d7b)
+
+ if (y078) {
+ NAnd(Derefof(Refof(aui5)), b60a, Local0)
+ m600(arg0, 40, Local0, 0xffffffff)
+
+ NAnd(Derefof(Refof(auii)), b60a, Local0)
+ m600(arg0, 41, Local0, 0x29af5d7b)
+ }
+
+ NAnd(Derefof(Index(paui, 5)), b60a, Local0)
+ m600(arg0, 42, Local0, 0xffffffff)
+
+ NAnd(Derefof(Index(paui, 18)), b60a, Local0)
+ m600(arg0, 43, Local0, 0x29af5d7b)
+
+ // Method returns Integer
+
+ NAnd(m601(1, 5), b60a, Local0)
+ m600(arg0, 44, Local0, 0xffffffff)
+
+ NAnd(m601(1, 18), b60a, Local0)
+ m600(arg0, 45, Local0, 0x29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(Derefof(m602(1, 5, 1)), b60a, Local0)
+ m600(arg0, 46, Local0, 0xffffffff)
+
+ NAnd(Derefof(m602(1, 18, 1)), b60a, Local0)
+ m600(arg0, 47, Local0, 0x29af5d7b)
+ }
+
+ // Conversion of the both operands
+
+ Store(NAnd(b606, b60a), Local0)
+ m600(arg0, 48, Local0, 0xfffffdff)
+
+ Store(NAnd(b60a, b606), Local0)
+ m600(arg0, 49, Local0, 0xfffffdff)
+
+ NAnd(b606, b60a, Local0)
+ m600(arg0, 50, Local0, 0xfffffdff)
+
+ NAnd(b60a, b606, Local0)
+ m600(arg0, 51, Local0, 0xfffffdff)
+ }
+
+ // NOr, common 32-bit/64-bit test
+ Method(m04d, 1)
+ {
+ Name(b606, Buffer(3){0x21, 0x03, 0x00})
+
+ // Conversion of the first operand
+
+ Store(NOr(b606, 0), Local0)
+ m600(arg0, 0, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(b606, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0)
+
+ Store(NOr(b606, aui5), Local0)
+ m600(arg0, 2, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(b606, auij), Local0)
+ m600(arg0, 3, Local0, 0)
+
+ if (y078) {
+ Store(NOr(b606, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(b606, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0)
+ }
+
+ Store(NOr(b606, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(b606, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(b606, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(b606, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(b606, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(b606, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0)
+ }
+
+ NOr(b606, 0, Local0)
+ m600(arg0, 12, Local0, 0xfffffffffffffcde)
+
+ NOr(b606, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0)
+
+ NOr(b606, aui5, Local0)
+ m600(arg0, 14, Local0, 0xfffffffffffffcde)
+
+ NOr(b606, auij, Local0)
+ m600(arg0, 15, Local0, 0)
+
+ if (y078) {
+ NOr(b606, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfffffffffffffcde)
+
+ NOr(b606, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0)
+ }
+
+ NOr(b606, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfffffffffffffcde)
+
+ NOr(b606, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(b606, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfffffffffffffcde)
+
+ NOr(b606, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(b606, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfffffffffffffcde)
+
+ NOr(b606, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0)
+ }
+
+ // Conversion of the second operand
+
+ Store(NOr(0, b606), Local0)
+ m600(arg0, 24, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(0xffffffffffffffff, b606), Local0)
+ m600(arg0, 25, Local0, 0)
+
+ Store(NOr(aui5, b606), Local0)
+ m600(arg0, 26, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(auij, b606), Local0)
+ m600(arg0, 27, Local0, 0)
+
+ if (y078) {
+ Store(NOr(Derefof(Refof(aui5)), b606), Local0)
+ m600(arg0, 28, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(Refof(auij)), b606), Local0)
+ m600(arg0, 29, Local0, 0)
+ }
+
+ Store(NOr(Derefof(Index(paui, 5)), b606), Local0)
+ m600(arg0, 30, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(Index(paui, 19)), b606), Local0)
+ m600(arg0, 31, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(m601(1, 5), b606), Local0)
+ m600(arg0, 32, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(m601(1, 19), b606), Local0)
+ m600(arg0, 33, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(Derefof(m602(1, 5, 1)), b606), Local0)
+ m600(arg0, 34, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(m602(1, 19, 1)), b606), Local0)
+ m600(arg0, 35, Local0, 0)
+ }
+
+ NOr(0, b606, Local0)
+ m600(arg0, 36, Local0, 0xfffffffffffffcde)
+
+ NOr(0xffffffffffffffff, b606, Local0)
+ m600(arg0, 37, Local0, 0)
+
+ NOr(aui5, b606, Local0)
+ m600(arg0, 38, Local0, 0xfffffffffffffcde)
+
+ NOr(auij, b606, Local0)
+ m600(arg0, 39, Local0, 0)
+
+ if (y078) {
+ NOr(Derefof(Refof(aui5)), b606, Local0)
+ m600(arg0, 40, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(Refof(auij)), b606, Local0)
+ m600(arg0, 41, Local0, 0)
+ }
+
+ NOr(Derefof(Index(paui, 5)), b606, Local0)
+ m600(arg0, 42, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(Index(paui, 19)), b606, Local0)
+ m600(arg0, 43, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(m601(1, 5), b606, Local0)
+ m600(arg0, 44, Local0, 0xfffffffffffffcde)
+
+ NOr(m601(1, 19), b606, Local0)
+ m600(arg0, 45, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(Derefof(m602(1, 5, 1)), b606, Local0)
+ m600(arg0, 46, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(m602(1, 19, 1)), b606, Local0)
+ m600(arg0, 47, Local0, 0)
+ }
+ }
+
+ // NOr, 64-bit
+ Method(m04e, 1)
+ {
+ Name(b606, Buffer(3){0x21, 0x03, 0x00})
+ Name(b60a, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5})
+
+ // Conversion of the first operand
+
+ Store(NOr(b60a, 0), Local0)
+ m600(arg0, 0, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(b60a, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0)
+
+ Store(NOr(b60a, aui5), Local0)
+ m600(arg0, 2, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(b60a, auij), Local0)
+ m600(arg0, 3, Local0, 0)
+
+ if (y078) {
+ Store(NOr(b60a, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(b60a, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0)
+ }
+
+ Store(NOr(b60a, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(b60a, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(b60a, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(b60a, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(b60a, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(b60a, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0)
+ }
+
+ NOr(b60a, 0, Local0)
+ m600(arg0, 12, Local0, 0x01834c6e29af5d7b)
+
+ NOr(b60a, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0)
+
+ NOr(b60a, aui5, Local0)
+ m600(arg0, 14, Local0, 0x01834c6e29af5d7b)
+
+ NOr(b60a, auij, Local0)
+ m600(arg0, 15, Local0, 0)
+
+ if (y078) {
+ NOr(b60a, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x01834c6e29af5d7b)
+
+ NOr(b60a, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0)
+ }
+
+ NOr(b60a, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x01834c6e29af5d7b)
+
+ NOr(b60a, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(b60a, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x01834c6e29af5d7b)
+
+ NOr(b60a, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(b60a, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x01834c6e29af5d7b)
+
+ NOr(b60a, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0)
+ }
+
+ // Conversion of the second operand
+
+ Store(NOr(0, b60a), Local0)
+ m600(arg0, 24, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(0xffffffffffffffff, b60a), Local0)
+ m600(arg0, 25, Local0, 0)
+
+ Store(NOr(aui5, b60a), Local0)
+ m600(arg0, 26, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(auij, b60a), Local0)
+ m600(arg0, 27, Local0, 0)
+
+ if (y078) {
+ Store(NOr(Derefof(Refof(aui5)), b60a), Local0)
+ m600(arg0, 28, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(Refof(auij)), b60a), Local0)
+ m600(arg0, 29, Local0, 0)
+ }
+
+ Store(NOr(Derefof(Index(paui, 5)), b60a), Local0)
+ m600(arg0, 30, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(Index(paui, 19)), b60a), Local0)
+ m600(arg0, 31, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(m601(1, 5), b60a), Local0)
+ m600(arg0, 32, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(m601(1, 19), b60a), Local0)
+ m600(arg0, 33, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(Derefof(m602(1, 5, 1)), b60a), Local0)
+ m600(arg0, 34, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(m602(1, 19, 1)), b60a), Local0)
+ m600(arg0, 35, Local0, 0)
+ }
+
+ NOr(0, b60a, Local0)
+ m600(arg0, 36, Local0, 0x01834c6e29af5d7b)
+
+ NOr(0xffffffffffffffff, b60a, Local0)
+ m600(arg0, 37, Local0, 0)
+
+ NOr(aui5, b60a, Local0)
+ m600(arg0, 38, Local0, 0x01834c6e29af5d7b)
+
+ NOr(auij, b60a, Local0)
+ m600(arg0, 39, Local0, 0)
+
+ if (y078) {
+ NOr(Derefof(Refof(aui5)), b60a, Local0)
+ m600(arg0, 40, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(Refof(auij)), b60a, Local0)
+ m600(arg0, 41, Local0, 0)
+ }
+
+ NOr(Derefof(Index(paui, 5)), b60a, Local0)
+ m600(arg0, 42, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(Index(paui, 19)), b60a, Local0)
+ m600(arg0, 43, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(m601(1, 5), b60a, Local0)
+ m600(arg0, 44, Local0, 0x01834c6e29af5d7b)
+
+ NOr(m601(1, 19), b60a, Local0)
+ m600(arg0, 45, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(Derefof(m602(1, 5, 1)), b60a, Local0)
+ m600(arg0, 46, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(m602(1, 19, 1)), b60a, Local0)
+ m600(arg0, 47, Local0, 0)
+ }
+
+ // Conversion of the both operands
+
+ Store(NOr(b606, b60a), Local0)
+ m600(arg0, 48, Local0, 0x01834c6e29af5c5a)
+
+ Store(NOr(b60a, b606), Local0)
+ m600(arg0, 49, Local0, 0x01834c6e29af5c5a)
+
+ NOr(b606, b60a, Local0)
+ m600(arg0, 50, Local0, 0x01834c6e29af5c5a)
+
+ NOr(b60a, b606, Local0)
+ m600(arg0, 51, Local0, 0x01834c6e29af5c5a)
+ }
+
+ // NOr, 32-bit
+ Method(m04f, 1)
+ {
+ Name(b606, Buffer(3){0x21, 0x03, 0x00})
+ Name(b60a, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5})
+
+ // Conversion of the first operand
+
+ Store(NOr(b60a, 0), Local0)
+ m600(arg0, 0, Local0, 0x29af5d7b)
+
+ Store(NOr(b60a, 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0)
+
+ Store(NOr(b60a, aui5), Local0)
+ m600(arg0, 2, Local0, 0x29af5d7b)
+
+ Store(NOr(b60a, auii), Local0)
+ m600(arg0, 3, Local0, 0)
+
+ if (y078) {
+ Store(NOr(b60a, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x29af5d7b)
+
+ Store(NOr(b60a, Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0)
+ }
+
+ Store(NOr(b60a, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x29af5d7b)
+
+ Store(NOr(b60a, Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(b60a, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x29af5d7b)
+
+ Store(NOr(b60a, m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(b60a, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x29af5d7b)
+
+ Store(NOr(b60a, Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0)
+ }
+
+ NOr(b60a, 0, Local0)
+ m600(arg0, 12, Local0, 0x29af5d7b)
+
+ NOr(b60a, 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0)
+
+ NOr(b60a, aui5, Local0)
+ m600(arg0, 14, Local0, 0x29af5d7b)
+
+ NOr(b60a, auii, Local0)
+ m600(arg0, 15, Local0, 0)
+
+ if (y078) {
+ NOr(b60a, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x29af5d7b)
+
+ NOr(b60a, Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0)
+ }
+
+ NOr(b60a, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x29af5d7b)
+
+ NOr(b60a, Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(b60a, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x29af5d7b)
+
+ NOr(b60a, m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(b60a, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x29af5d7b)
+
+ NOr(b60a, Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0)
+ }
+
+ // Conversion of the second operand
+
+ Store(NOr(0, b60a), Local0)
+ m600(arg0, 24, Local0, 0x29af5d7b)
+
+ Store(NOr(0xffffffff, b60a), Local0)
+ m600(arg0, 25, Local0, 0)
+
+ Store(NOr(aui5, b60a), Local0)
+ m600(arg0, 26, Local0, 0x29af5d7b)
+
+ Store(NOr(auii, b60a), Local0)
+ m600(arg0, 27, Local0, 0)
+
+ if (y078) {
+ Store(NOr(Derefof(Refof(aui5)), b60a), Local0)
+ m600(arg0, 28, Local0, 0x29af5d7b)
+
+ Store(NOr(Derefof(Refof(auii)), b60a), Local0)
+ m600(arg0, 29, Local0, 0)
+ }
+
+ Store(NOr(Derefof(Index(paui, 5)), b60a), Local0)
+ m600(arg0, 30, Local0, 0x29af5d7b)
+
+ Store(NOr(Derefof(Index(paui, 18)), b60a), Local0)
+ m600(arg0, 31, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(m601(1, 5), b60a), Local0)
+ m600(arg0, 32, Local0, 0x29af5d7b)
+
+ Store(NOr(m601(1, 18), b60a), Local0)
+ m600(arg0, 33, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(Derefof(m602(1, 5, 1)), b60a), Local0)
+ m600(arg0, 34, Local0, 0x29af5d7b)
+
+ Store(NOr(Derefof(m602(1, 18, 1)), b60a), Local0)
+ m600(arg0, 35, Local0, 0)
+ }
+
+ NOr(0, b60a, Local0)
+ m600(arg0, 36, Local0, 0x29af5d7b)
+
+ NOr(0xffffffff, b60a, Local0)
+ m600(arg0, 37, Local0, 0)
+
+ NOr(aui5, b60a, Local0)
+ m600(arg0, 38, Local0, 0x29af5d7b)
+
+ NOr(auii, b60a, Local0)
+ m600(arg0, 39, Local0, 0)
+
+ if (y078) {
+ NOr(Derefof(Refof(aui5)), b60a, Local0)
+ m600(arg0, 40, Local0, 0x29af5d7b)
+
+ NOr(Derefof(Refof(auii)), b60a, Local0)
+ m600(arg0, 41, Local0, 0)
+ }
+
+ NOr(Derefof(Index(paui, 5)), b60a, Local0)
+ m600(arg0, 42, Local0, 0x29af5d7b)
+
+ NOr(Derefof(Index(paui, 18)), b60a, Local0)
+ m600(arg0, 43, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(m601(1, 5), b60a, Local0)
+ m600(arg0, 44, Local0, 0x29af5d7b)
+
+ NOr(m601(1, 18), b60a, Local0)
+ m600(arg0, 45, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(Derefof(m602(1, 5, 1)), b60a, Local0)
+ m600(arg0, 46, Local0, 0x29af5d7b)
+
+ NOr(Derefof(m602(1, 18, 1)), b60a, Local0)
+ m600(arg0, 47, Local0, 0)
+ }
+
+ // Conversion of the both operands
+
+ Store(NOr(b606, b60a), Local0)
+ m600(arg0, 48, Local0, 0x29af5c5a)
+
+ Store(NOr(b60a, b606), Local0)
+ m600(arg0, 49, Local0, 0x29af5c5a)
+
+ NOr(b606, b60a, Local0)
+ m600(arg0, 50, Local0, 0x29af5c5a)
+
+ NOr(b60a, b606, Local0)
+ m600(arg0, 51, Local0, 0x29af5c5a)
+ }
+
+ // Or, common 32-bit/64-bit test
+ Method(m050, 1)
+ {
+ Name(b606, Buffer(3){0x21, 0x03, 0x00})
+
+ // Conversion of the first operand
+
+ Store(Or(b606, 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Or(b606, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xffffffffffffffff)
+
+ Store(Or(b606, aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Or(b606, auij), Local0)
+ m600(arg0, 3, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Store(Or(b606, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Or(b606, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xffffffffffffffff)
+ }
+
+ Store(Or(b606, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Or(b606, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Store(Or(b606, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Or(b606, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(b606, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Or(b606, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xffffffffffffffff)
+ }
+
+ Or(b606, 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Or(b606, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xffffffffffffffff)
+
+ Or(b606, aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Or(b606, auij, Local0)
+ m600(arg0, 15, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Or(b606, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Or(b606, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xffffffffffffffff)
+ }
+
+ Or(b606, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Or(b606, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Or(b606, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Or(b606, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(b606, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Or(b606, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xffffffffffffffff)
+ }
+
+ // Conversion of the second operand
+
+ Store(Or(0, b606), Local0)
+ m600(arg0, 24, Local0, 0x321)
+
+ Store(Or(0xffffffffffffffff, b606), Local0)
+ m600(arg0, 25, Local0, 0xffffffffffffffff)
+
+ Store(Or(aui5, b606), Local0)
+ m600(arg0, 26, Local0, 0x321)
+
+ Store(Or(auij, b606), Local0)
+ m600(arg0, 27, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Store(Or(Derefof(Refof(aui5)), b606), Local0)
+ m600(arg0, 28, Local0, 0x321)
+
+ Store(Or(Derefof(Refof(auij)), b606), Local0)
+ m600(arg0, 29, Local0, 0xffffffffffffffff)
+ }
+
+ Store(Or(Derefof(Index(paui, 5)), b606), Local0)
+ m600(arg0, 30, Local0, 0x321)
+
+ Store(Or(Derefof(Index(paui, 19)), b606), Local0)
+ m600(arg0, 31, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Store(Or(m601(1, 5), b606), Local0)
+ m600(arg0, 32, Local0, 0x321)
+
+ Store(Or(m601(1, 19), b606), Local0)
+ m600(arg0, 33, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(Derefof(m602(1, 5, 1)), b606), Local0)
+ m600(arg0, 34, Local0, 0x321)
+
+ Store(Or(Derefof(m602(1, 19, 1)), b606), Local0)
+ m600(arg0, 35, Local0, 0xffffffffffffffff)
+ }
+
+ Or(0, b606, Local0)
+ m600(arg0, 36, Local0, 0x321)
+
+ Or(0xffffffffffffffff, b606, Local0)
+ m600(arg0, 37, Local0, 0xffffffffffffffff)
+
+ Or(aui5, b606, Local0)
+ m600(arg0, 38, Local0, 0x321)
+
+ Or(auij, b606, Local0)
+ m600(arg0, 39, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Or(Derefof(Refof(aui5)), b606, Local0)
+ m600(arg0, 40, Local0, 0x321)
+
+ Or(Derefof(Refof(auij)), b606, Local0)
+ m600(arg0, 41, Local0, 0xffffffffffffffff)
+ }
+
+ Or(Derefof(Index(paui, 5)), b606, Local0)
+ m600(arg0, 42, Local0, 0x321)
+
+ Or(Derefof(Index(paui, 19)), b606, Local0)
+ m600(arg0, 43, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Or(m601(1, 5), b606, Local0)
+ m600(arg0, 44, Local0, 0x321)
+
+ Or(m601(1, 19), b606, Local0)
+ m600(arg0, 45, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(Derefof(m602(1, 5, 1)), b606, Local0)
+ m600(arg0, 46, Local0, 0x321)
+
+ Or(Derefof(m602(1, 19, 1)), b606, Local0)
+ m600(arg0, 47, Local0, 0xffffffffffffffff)
+ }
+ }
+
+ // Or, 64-bit
+ Method(m051, 1)
+ {
+ Name(b606, Buffer(3){0x21, 0x03, 0x00})
+ Name(b60a, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5})
+
+ // Conversion of the first operand
+
+ Store(Or(b60a, 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(b60a, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xffffffffffffffff)
+
+ Store(Or(b60a, aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(b60a, auij), Local0)
+ m600(arg0, 3, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Store(Or(b60a, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(b60a, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xffffffffffffffff)
+ }
+
+ Store(Or(b60a, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(b60a, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Store(Or(b60a, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(b60a, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(b60a, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(b60a, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xffffffffffffffff)
+ }
+
+ Or(b60a, 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Or(b60a, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xffffffffffffffff)
+
+ Or(b60a, aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Or(b60a, auij, Local0)
+ m600(arg0, 15, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Or(b60a, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Or(b60a, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xffffffffffffffff)
+ }
+
+ Or(b60a, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Or(b60a, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Or(b60a, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Or(b60a, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(b60a, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Or(b60a, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xffffffffffffffff)
+ }
+
+ // Conversion of the second operand
+
+ Store(Or(0, b60a), Local0)
+ m600(arg0, 24, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(0xffffffffffffffff, b60a), Local0)
+ m600(arg0, 25, Local0, 0xffffffffffffffff)
+
+ Store(Or(aui5, b60a), Local0)
+ m600(arg0, 26, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(auij, b60a), Local0)
+ m600(arg0, 27, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Store(Or(Derefof(Refof(aui5)), b60a), Local0)
+ m600(arg0, 28, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(Refof(auij)), b60a), Local0)
+ m600(arg0, 29, Local0, 0xffffffffffffffff)
+ }
+
+ Store(Or(Derefof(Index(paui, 5)), b60a), Local0)
+ m600(arg0, 30, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(Index(paui, 19)), b60a), Local0)
+ m600(arg0, 31, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Store(Or(m601(1, 5), b60a), Local0)
+ m600(arg0, 32, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(m601(1, 19), b60a), Local0)
+ m600(arg0, 33, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(Derefof(m602(1, 5, 1)), b60a), Local0)
+ m600(arg0, 34, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(m602(1, 19, 1)), b60a), Local0)
+ m600(arg0, 35, Local0, 0xffffffffffffffff)
+ }
+
+ Or(0, b60a, Local0)
+ m600(arg0, 36, Local0, 0xfe7cb391d650a284)
+
+ Or(0xffffffffffffffff, b60a, Local0)
+ m600(arg0, 37, Local0, 0xffffffffffffffff)
+
+ Or(aui5, b60a, Local0)
+ m600(arg0, 38, Local0, 0xfe7cb391d650a284)
+
+ Or(auij, b60a, Local0)
+ m600(arg0, 39, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Or(Derefof(Refof(aui5)), b60a, Local0)
+ m600(arg0, 40, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(Refof(auij)), b60a, Local0)
+ m600(arg0, 41, Local0, 0xffffffffffffffff)
+ }
+
+ Or(Derefof(Index(paui, 5)), b60a, Local0)
+ m600(arg0, 42, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(Index(paui, 19)), b60a, Local0)
+ m600(arg0, 43, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Or(m601(1, 5), b60a, Local0)
+ m600(arg0, 44, Local0, 0xfe7cb391d650a284)
+
+ Or(m601(1, 19), b60a, Local0)
+ m600(arg0, 45, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(Derefof(m602(1, 5, 1)), b60a, Local0)
+ m600(arg0, 46, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(m602(1, 19, 1)), b60a, Local0)
+ m600(arg0, 47, Local0, 0xffffffffffffffff)
+ }
+
+ // Conversion of the both operands
+
+ Store(Or(b606, b60a), Local0)
+ m600(arg0, 48, Local0, 0xfe7cb391d650a3a5)
+
+ Store(Or(b60a, b606), Local0)
+ m600(arg0, 49, Local0, 0xfe7cb391d650a3a5)
+
+ Or(b606, b60a, Local0)
+ m600(arg0, 50, Local0, 0xfe7cb391d650a3a5)
+
+ Or(b60a, b606, Local0)
+ m600(arg0, 51, Local0, 0xfe7cb391d650a3a5)
+ }
+
+ // Or, 32-bit
+ Method(m052, 1)
+ {
+ Name(b606, Buffer(3){0x21, 0x03, 0x00})
+ Name(b60a, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5})
+
+ // Conversion of the first operand
+
+ Store(Or(b60a, 0), Local0)
+ m600(arg0, 0, Local0, 0xd650a284)
+
+ Store(Or(b60a, 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0xffffffff)
+
+ Store(Or(b60a, aui5), Local0)
+ m600(arg0, 2, Local0, 0xd650a284)
+
+ Store(Or(b60a, auii), Local0)
+ m600(arg0, 3, Local0, 0xffffffff)
+
+ if (y078) {
+ Store(Or(b60a, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xd650a284)
+
+ Store(Or(b60a, Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0xffffffff)
+ }
+
+ Store(Or(b60a, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xd650a284)
+
+ Store(Or(b60a, Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0xffffffff)
+
+ // Method returns Integer
+
+ Store(Or(b60a, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xd650a284)
+
+ Store(Or(b60a, m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0xffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(b60a, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xd650a284)
+
+ Store(Or(b60a, Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0xffffffff)
+ }
+
+ Or(b60a, 0, Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ Or(b60a, 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0xffffffff)
+
+ Or(b60a, aui5, Local0)
+ m600(arg0, 14, Local0, 0xd650a284)
+
+ Or(b60a, auii, Local0)
+ m600(arg0, 15, Local0, 0xffffffff)
+
+ if (y078) {
+ Or(b60a, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xd650a284)
+
+ Or(b60a, Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0xffffffff)
+ }
+
+ Or(b60a, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xd650a284)
+
+ Or(b60a, Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0xffffffff)
+
+ // Method returns Integer
+
+ Or(b60a, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xd650a284)
+
+ Or(b60a, m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0xffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(b60a, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xd650a284)
+
+ Or(b60a, Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0xffffffff)
+ }
+
+ // Conversion of the second operand
+
+ Store(Or(0, b60a), Local0)
+ m600(arg0, 24, Local0, 0xd650a284)
+
+ Store(Or(0xffffffff, b60a), Local0)
+ m600(arg0, 25, Local0, 0xffffffff)
+
+ Store(Or(aui5, b60a), Local0)
+ m600(arg0, 26, Local0, 0xd650a284)
+
+ Store(Or(auii, b60a), Local0)
+ m600(arg0, 27, Local0, 0xffffffff)
+
+ if (y078) {
+ Store(Or(Derefof(Refof(aui5)), b60a), Local0)
+ m600(arg0, 28, Local0, 0xd650a284)
+
+ Store(Or(Derefof(Refof(auii)), b60a), Local0)
+ m600(arg0, 29, Local0, 0xffffffff)
+ }
+
+ Store(Or(Derefof(Index(paui, 5)), b60a), Local0)
+ m600(arg0, 30, Local0, 0xd650a284)
+
+ Store(Or(Derefof(Index(paui, 18)), b60a), Local0)
+ m600(arg0, 31, Local0, 0xffffffff)
+
+ // Method returns Integer
+
+ Store(Or(m601(1, 5), b60a), Local0)
+ m600(arg0, 32, Local0, 0xd650a284)
+
+ Store(Or(m601(1, 18), b60a), Local0)
+ m600(arg0, 33, Local0, 0xffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(Derefof(m602(1, 5, 1)), b60a), Local0)
+ m600(arg0, 34, Local0, 0xd650a284)
+
+ Store(Or(Derefof(m602(1, 18, 1)), b60a), Local0)
+ m600(arg0, 35, Local0, 0xffffffff)
+ }
+
+ Or(0, b60a, Local0)
+ m600(arg0, 36, Local0, 0xd650a284)
+
+ Or(0xffffffff, b60a, Local0)
+ m600(arg0, 37, Local0, 0xffffffff)
+
+ Or(aui5, b60a, Local0)
+ m600(arg0, 38, Local0, 0xd650a284)
+
+ Or(auii, b60a, Local0)
+ m600(arg0, 39, Local0, 0xffffffff)
+
+ if (y078) {
+ Or(Derefof(Refof(aui5)), b60a, Local0)
+ m600(arg0, 40, Local0, 0xd650a284)
+
+ Or(Derefof(Refof(auii)), b60a, Local0)
+ m600(arg0, 41, Local0, 0xffffffff)
+ }
+
+ Or(Derefof(Index(paui, 5)), b60a, Local0)
+ m600(arg0, 42, Local0, 0xd650a284)
+
+ Or(Derefof(Index(paui, 18)), b60a, Local0)
+ m600(arg0, 43, Local0, 0xffffffff)
+
+ // Method returns Integer
+
+ Or(m601(1, 5), b60a, Local0)
+ m600(arg0, 44, Local0, 0xd650a284)
+
+ Or(m601(1, 18), b60a, Local0)
+ m600(arg0, 45, Local0, 0xffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(Derefof(m602(1, 5, 1)), b60a, Local0)
+ m600(arg0, 46, Local0, 0xd650a284)
+
+ Or(Derefof(m602(1, 18, 1)), b60a, Local0)
+ m600(arg0, 47, Local0, 0xffffffff)
+ }
+
+ // Conversion of the both operands
+
+ Store(Or(b606, b60a), Local0)
+ m600(arg0, 48, Local0, 0xd650a3a5)
+
+ Store(Or(b60a, b606), Local0)
+ m600(arg0, 49, Local0, 0xd650a3a5)
+
+ Or(b606, b60a, Local0)
+ m600(arg0, 50, Local0, 0xd650a3a5)
+
+ Or(b60a, b606, Local0)
+ m600(arg0, 51, Local0, 0xd650a3a5)
+ }
+
+ // ShiftLeft, common 32-bit/64-bit test
+ Method(m053, 1)
+ {
+ Name(b606, Buffer(3){0x21, 0x03, 0x00})
+ Name(b60e, Buffer(1){0xb})
+
+ // Conversion of the first operand
+
+ Store(ShiftLeft(b606, 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(ShiftLeft(b606, 1), Local0)
+ m600(arg0, 1, Local0, 0x642)
+
+ Store(ShiftLeft(b606, aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(ShiftLeft(b606, aui6), Local0)
+ m600(arg0, 3, Local0, 0x642)
+
+ if (y078) {
+ Store(ShiftLeft(b606, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(ShiftLeft(b606, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x642)
+ }
+
+ Store(ShiftLeft(b606, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(ShiftLeft(b606, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x642)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(b606, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(ShiftLeft(b606, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x642)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(b606, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(ShiftLeft(b606, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x642)
+ }
+
+ ShiftLeft(b606, 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ ShiftLeft(b606, 1, Local0)
+ m600(arg0, 13, Local0, 0x642)
+
+ ShiftLeft(b606, aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ ShiftLeft(b606, aui6, Local0)
+ m600(arg0, 15, Local0, 0x642)
+
+ if (y078) {
+ ShiftLeft(b606, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ ShiftLeft(b606, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x642)
+ }
+
+ ShiftLeft(b606, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ ShiftLeft(b606, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x642)
+
+ // Method returns Integer
+
+ ShiftLeft(b606, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ ShiftLeft(b606, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x642)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(b606, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ ShiftLeft(b606, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x642)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftLeft(0, b60e), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftLeft(1, b60e), Local0)
+ m600(arg0, 25, Local0, 0x800)
+
+ Store(ShiftLeft(aui5, b60e), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftLeft(aui6, b60e), Local0)
+ m600(arg0, 27, Local0, 0x800)
+
+ if (y078) {
+ Store(ShiftLeft(Derefof(Refof(aui5)), b60e), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Refof(aui6)), b60e), Local0)
+ m600(arg0, 29, Local0, 0x800)
+ }
+
+ Store(ShiftLeft(Derefof(Index(paui, 5)), b60e), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Index(paui, 6)), b60e), Local0)
+ m600(arg0, 31, Local0, 0x800)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(m601(1, 5), b60e), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftLeft(m601(1, 6), b60e), Local0)
+ m600(arg0, 33, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(Derefof(m602(1, 5, 1)), b60e), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftLeft(Derefof(m602(1, 6, 1)), b60e), Local0)
+ m600(arg0, 35, Local0, 0x800)
+ }
+
+ ShiftLeft(0, b60e, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftLeft(1, b60e, Local0)
+ m600(arg0, 37, Local0, 0x800)
+
+ ShiftLeft(aui5, b60e, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftLeft(aui6, b60e, Local0)
+ m600(arg0, 39, Local0, 0x800)
+
+ if (y078) {
+ ShiftLeft(Derefof(Refof(aui5)), b60e, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftLeft(Derefof(Refof(aui6)), b60e, Local0)
+ m600(arg0, 41, Local0, 0x800)
+ }
+
+ ShiftLeft(Derefof(Index(paui, 5)), b60e, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftLeft(Derefof(Index(paui, 6)), b60e, Local0)
+ m600(arg0, 43, Local0, 0x800)
+
+ // Method returns Integer
+
+ ShiftLeft(m601(1, 5), b60e, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftLeft(m601(1, 6), b60e, Local0)
+ m600(arg0, 45, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(Derefof(m602(1, 5, 1)), b60e, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftLeft(Derefof(m602(1, 6, 1)), b60e, Local0)
+ m600(arg0, 47, Local0, 0x800)
+ }
+ }
+
+ // ShiftLeft, 64-bit
+ Method(m054, 1)
+ {
+ Name(b606, Buffer(3){0x21, 0x03, 0x00})
+ Name(b60a, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5})
+ Name(b60e, Buffer(1){0xb})
+
+ // Conversion of the first operand
+
+ Store(ShiftLeft(b60a, 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(b60a, 1), Local0)
+ m600(arg0, 1, Local0, 0xfcf96723aca14508)
+
+ Store(ShiftLeft(b60a, aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(b60a, aui6), Local0)
+ m600(arg0, 3, Local0, 0xfcf96723aca14508)
+
+ if (y078) {
+ Store(ShiftLeft(b60a, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(b60a, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xfcf96723aca14508)
+ }
+
+ Store(ShiftLeft(b60a, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(b60a, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xfcf96723aca14508)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(b60a, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(b60a, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xfcf96723aca14508)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(b60a, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(b60a, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfcf96723aca14508)
+ }
+
+ ShiftLeft(b60a, 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(b60a, 1, Local0)
+ m600(arg0, 13, Local0, 0xfcf96723aca14508)
+
+ ShiftLeft(b60a, aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(b60a, aui6, Local0)
+ m600(arg0, 15, Local0, 0xfcf96723aca14508)
+
+ if (y078) {
+ ShiftLeft(b60a, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(b60a, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xfcf96723aca14508)
+ }
+
+ ShiftLeft(b60a, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(b60a, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xfcf96723aca14508)
+
+ // Method returns Integer
+
+ ShiftLeft(b60a, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(b60a, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xfcf96723aca14508)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(b60a, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(b60a, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfcf96723aca14508)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftLeft(0, b60e), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftLeft(1, b60e), Local0)
+ m600(arg0, 25, Local0, 0x800)
+
+ Store(ShiftLeft(aui5, b60e), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftLeft(aui6, b60e), Local0)
+ m600(arg0, 27, Local0, 0x800)
+
+ if (y078) {
+ Store(ShiftLeft(Derefof(Refof(aui5)), b60e), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Refof(aui6)), b60e), Local0)
+ m600(arg0, 29, Local0, 0x800)
+ }
+
+ Store(ShiftLeft(Derefof(Index(paui, 5)), b60e), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Index(paui, 6)), b60e), Local0)
+ m600(arg0, 31, Local0, 0x800)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(m601(1, 5), b60e), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftLeft(m601(1, 6), b60e), Local0)
+ m600(arg0, 33, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(Derefof(m602(1, 5, 1)), b60e), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftLeft(Derefof(m602(1, 6, 1)), b60e), Local0)
+ m600(arg0, 35, Local0, 0x800)
+ }
+
+ ShiftLeft(0, b60e, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftLeft(1, b60e, Local0)
+ m600(arg0, 37, Local0, 0x800)
+
+ ShiftLeft(aui5, b60e, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftLeft(aui6, b60e, Local0)
+ m600(arg0, 39, Local0, 0x800)
+
+ if (y078) {
+ ShiftLeft(Derefof(Refof(aui5)), b60e, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftLeft(Derefof(Refof(aui6)), b60e, Local0)
+ m600(arg0, 41, Local0, 0x800)
+ }
+
+ ShiftLeft(Derefof(Index(paui, 5)), b60e, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftLeft(Derefof(Index(paui, 6)), b60e, Local0)
+ m600(arg0, 43, Local0, 0x800)
+
+ // Method returns Integer
+
+ ShiftLeft(m601(1, 5), b60e, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftLeft(m601(1, 6), b60e, Local0)
+ m600(arg0, 45, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(Derefof(m602(1, 5, 1)), b60e, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftLeft(Derefof(m602(1, 6, 1)), b60e, Local0)
+ m600(arg0, 47, Local0, 0x800)
+ }
+
+ // Conversion of the both operands
+
+ Store(ShiftLeft(b606, b60e), Local0)
+ m600(arg0, 48, Local0, 0x190800)
+
+ Store(ShiftLeft(b60a, b60e), Local0)
+ m600(arg0, 49, Local0, 0xE59C8EB285142000)
+
+ ShiftLeft(b606, b60e, Local0)
+ m600(arg0, 50, Local0, 0x190800)
+
+ ShiftLeft(b60a, b60e, Local0)
+ m600(arg0, 51, Local0, 0xE59C8EB285142000)
+ }
+
+ // ShiftLeft, 32-bit
+ Method(m055, 1)
+ {
+ Name(b606, Buffer(3){0x21, 0x03, 0x00})
+ Name(b60a, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5})
+ Name(b60e, Buffer(1){0xb})
+
+ // Conversion of the first operand
+
+ Store(ShiftLeft(b60a, 0), Local0)
+ m600(arg0, 0, Local0, 0xd650a284)
+
+ Store(ShiftLeft(b60a, 1), Local0)
+ m600(arg0, 1, Local0, 0xaca14508)
+
+ Store(ShiftLeft(b60a, aui5), Local0)
+ m600(arg0, 2, Local0, 0xd650a284)
+
+ Store(ShiftLeft(b60a, aui6), Local0)
+ m600(arg0, 3, Local0, 0xaca14508)
+
+ if (y078) {
+ Store(ShiftLeft(b60a, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xd650a284)
+
+ Store(ShiftLeft(b60a, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xaca14508)
+ }
+
+ Store(ShiftLeft(b60a, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xd650a284)
+
+ Store(ShiftLeft(b60a, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xaca14508)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(b60a, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xd650a284)
+
+ Store(ShiftLeft(b60a, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xaca14508)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(b60a, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xd650a284)
+
+ Store(ShiftLeft(b60a, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xaca14508)
+ }
+
+ ShiftLeft(b60a, 0, Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ ShiftLeft(b60a, 1, Local0)
+ m600(arg0, 13, Local0, 0xaca14508)
+
+ ShiftLeft(b60a, aui5, Local0)
+ m600(arg0, 14, Local0, 0xd650a284)
+
+ ShiftLeft(b60a, aui6, Local0)
+ m600(arg0, 15, Local0, 0xaca14508)
+
+ if (y078) {
+ ShiftLeft(b60a, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xd650a284)
+
+ ShiftLeft(b60a, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xaca14508)
+ }
+
+ ShiftLeft(b60a, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xd650a284)
+
+ ShiftLeft(b60a, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xaca14508)
+
+ // Method returns Integer
+
+ ShiftLeft(b60a, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xd650a284)
+
+ ShiftLeft(b60a, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xaca14508)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(b60a, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xd650a284)
+
+ ShiftLeft(b60a, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xaca14508)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftLeft(0, b60e), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftLeft(1, b60e), Local0)
+ m600(arg0, 25, Local0, 0x800)
+
+ Store(ShiftLeft(aui5, b60e), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftLeft(aui6, b60e), Local0)
+ m600(arg0, 27, Local0, 0x800)
+
+ if (y078) {
+ Store(ShiftLeft(Derefof(Refof(aui5)), b60e), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Refof(aui6)), b60e), Local0)
+ m600(arg0, 29, Local0, 0x800)
+ }
+
+ Store(ShiftLeft(Derefof(Index(paui, 5)), b60e), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Index(paui, 6)), b60e), Local0)
+ m600(arg0, 31, Local0, 0x800)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(m601(1, 5), b60e), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftLeft(m601(1, 6), b60e), Local0)
+ m600(arg0, 33, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(Derefof(m602(1, 5, 1)), b60e), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftLeft(Derefof(m602(1, 6, 1)), b60e), Local0)
+ m600(arg0, 35, Local0, 0x800)
+ }
+
+ ShiftLeft(0, b60e, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftLeft(1, b60e, Local0)
+ m600(arg0, 37, Local0, 0x800)
+
+ ShiftLeft(aui5, b60e, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftLeft(aui6, b60e, Local0)
+ m600(arg0, 39, Local0, 0x800)
+
+ if (y078) {
+ ShiftLeft(Derefof(Refof(aui5)), b60e, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftLeft(Derefof(Refof(aui6)), b60e, Local0)
+ m600(arg0, 41, Local0, 0x800)
+ }
+
+ ShiftLeft(Derefof(Index(paui, 5)), b60e, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftLeft(Derefof(Index(paui, 6)), b60e, Local0)
+ m600(arg0, 43, Local0, 0x800)
+
+ // Method returns Integer
+
+ ShiftLeft(m601(1, 5), b60e, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftLeft(m601(1, 6), b60e, Local0)
+ m600(arg0, 45, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(Derefof(m602(1, 5, 1)), b60e, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftLeft(Derefof(m602(1, 6, 1)), b60e, Local0)
+ m600(arg0, 47, Local0, 0x800)
+ }
+
+ // Conversion of the both operands
+
+ Store(ShiftLeft(b606, b60e), Local0)
+ m600(arg0, 48, Local0, 0x190800)
+
+ Store(ShiftLeft(b60a, b60e), Local0)
+ m600(arg0, 49, Local0, 0x85142000)
+
+ ShiftLeft(b606, b60e, Local0)
+ m600(arg0, 50, Local0, 0x190800)
+
+ ShiftLeft(b60a, b60e, Local0)
+ m600(arg0, 51, Local0, 0x85142000)
+ }
+
+ // ShiftRight, common 32-bit/64-bit test
+ Method(m056, 1)
+ {
+ Name(b606, Buffer(3){0x21, 0x03, 0x00})
+ Name(b60e, Buffer(1){0xb})
+
+ // Conversion of the first operand
+
+ Store(ShiftRight(b606, 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(ShiftRight(b606, 1), Local0)
+ m600(arg0, 1, Local0, 0x190)
+
+ Store(ShiftRight(b606, aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(ShiftRight(b606, aui6), Local0)
+ m600(arg0, 3, Local0, 0x190)
+
+ if (y078) {
+ Store(ShiftRight(b606, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(ShiftRight(b606, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x190)
+ }
+
+ Store(ShiftRight(b606, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(ShiftRight(b606, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x190)
+
+ // Method returns Integer
+
+ Store(ShiftRight(b606, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(ShiftRight(b606, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x190)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(b606, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(ShiftRight(b606, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x190)
+ }
+
+ ShiftRight(b606, 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ ShiftRight(b606, 1, Local0)
+ m600(arg0, 13, Local0, 0x190)
+
+ ShiftRight(b606, aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ ShiftRight(b606, aui6, Local0)
+ m600(arg0, 15, Local0, 0x190)
+
+ if (y078) {
+ ShiftRight(b606, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ ShiftRight(b606, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x190)
+ }
+
+ ShiftRight(b606, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ ShiftRight(b606, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x190)
+
+ // Method returns Integer
+
+ ShiftRight(b606, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ ShiftRight(b606, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x190)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(b606, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ ShiftRight(b606, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x190)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftRight(0x321, b60e), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftRight(0xd650a284, b60e), Local0)
+ m600(arg0, 25, Local0, 0x1aca14)
+
+ Store(ShiftRight(aui1, b60e), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftRight(auik, b60e), Local0)
+ m600(arg0, 27, Local0, 0x1aca14)
+
+ if (y078) {
+ Store(ShiftRight(Derefof(Refof(aui1)), b60e), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftRight(Derefof(Refof(auik)), b60e), Local0)
+ m600(arg0, 29, Local0, 0x1aca14)
+ }
+
+ Store(ShiftRight(Derefof(Index(paui, 1)), b60e), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftRight(Derefof(Index(paui, 20)), b60e), Local0)
+ m600(arg0, 31, Local0, 0x1aca14)
+
+ // Method returns Integer
+
+ Store(ShiftRight(m601(1, 1), b60e), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftRight(m601(1, 20), b60e), Local0)
+ m600(arg0, 33, Local0, 0x1aca14)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(Derefof(m602(1, 1, 1)), b60e), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftRight(Derefof(m602(1, 20, 1)), b60e), Local0)
+ m600(arg0, 35, Local0, 0x1aca14)
+ }
+
+ ShiftRight(0x321, b60e, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftRight(0xd650a284, b60e, Local0)
+ m600(arg0, 37, Local0, 0x1aca14)
+
+ ShiftRight(aui1, b60e, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftRight(auik, b60e, Local0)
+ m600(arg0, 39, Local0, 0x1aca14)
+
+ if (y078) {
+ ShiftRight(Derefof(Refof(aui1)), b60e, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftRight(Derefof(Refof(auik)), b60e, Local0)
+ m600(arg0, 41, Local0, 0x1aca14)
+ }
+
+ ShiftRight(Derefof(Index(paui, 1)), b60e, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftRight(Derefof(Index(paui, 20)), b60e, Local0)
+ m600(arg0, 43, Local0, 0x1aca14)
+
+ // Method returns Integer
+
+ ShiftRight(m601(1, 1), b60e, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftRight(m601(1, 20), b60e, Local0)
+ m600(arg0, 45, Local0, 0x1aca14)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(Derefof(m602(1, 1, 1)), b60e, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftRight(Derefof(m602(1, 20, 1)), b60e, Local0)
+ m600(arg0, 47, Local0, 0x1aca14)
+ }
+ }
+
+ // ShiftRight, 64-bit
+ Method(m057, 1)
+ {
+ Name(b606, Buffer(3){0x21, 0x03, 0x00})
+ Name(b60a, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5})
+ Name(b60e, Buffer(1){0xb})
+
+ // Conversion of the first operand
+
+ Store(ShiftRight(b60a, 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(b60a, 1), Local0)
+ m600(arg0, 1, Local0, 0x7f3e59c8eb285142)
+
+ Store(ShiftRight(b60a, aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(b60a, aui6), Local0)
+ m600(arg0, 3, Local0, 0x7f3e59c8eb285142)
+
+ if (y078) {
+ Store(ShiftRight(b60a, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(b60a, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x7f3e59c8eb285142)
+ }
+
+ Store(ShiftRight(b60a, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(b60a, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x7f3e59c8eb285142)
+
+ // Method returns Integer
+
+ Store(ShiftRight(b60a, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(b60a, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x7f3e59c8eb285142)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(b60a, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(b60a, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x7f3e59c8eb285142)
+ }
+
+ ShiftRight(b60a, 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(b60a, 1, Local0)
+ m600(arg0, 13, Local0, 0x7f3e59c8eb285142)
+
+ ShiftRight(b60a, aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(b60a, aui6, Local0)
+ m600(arg0, 15, Local0, 0x7f3e59c8eb285142)
+
+ if (y078) {
+ ShiftRight(b60a, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(b60a, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x7f3e59c8eb285142)
+ }
+
+ ShiftRight(b60a, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(b60a, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x7f3e59c8eb285142)
+
+ // Method returns Integer
+
+ ShiftRight(b60a, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(b60a, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x7f3e59c8eb285142)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(b60a, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(b60a, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x7f3e59c8eb285142)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftRight(0x321, b60e), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftRight(0xfe7cb391d650a284, b60e), Local0)
+ m600(arg0, 25, Local0, 0x1fcf96723aca14)
+
+ Store(ShiftRight(aui1, b60e), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftRight(aui4, b60e), Local0)
+ m600(arg0, 27, Local0, 0x1fcf96723aca14)
+
+ if (y078) {
+ Store(ShiftRight(Derefof(Refof(aui1)), b60e), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftRight(Derefof(Refof(aui4)), b60e), Local0)
+ m600(arg0, 29, Local0, 0x1fcf96723aca14)
+ }
+
+ Store(ShiftRight(Derefof(Index(paui, 1)), b60e), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftRight(Derefof(Index(paui, 4)), b60e), Local0)
+ m600(arg0, 31, Local0, 0x1fcf96723aca14)
+
+ // Method returns Integer
+
+ Store(ShiftRight(m601(1, 1), b60e), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftRight(m601(1, 4), b60e), Local0)
+ m600(arg0, 33, Local0, 0x1fcf96723aca14)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(Derefof(m602(1, 1, 1)), b60e), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftRight(Derefof(m602(1, 4, 1)), b60e), Local0)
+ m600(arg0, 35, Local0, 0x1fcf96723aca14)
+ }
+
+ ShiftRight(0x321, b60e, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftRight(0xfe7cb391d650a284, b60e, Local0)
+ m600(arg0, 37, Local0, 0x1fcf96723aca14)
+
+ ShiftRight(aui1, b60e, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftRight(aui4, b60e, Local0)
+ m600(arg0, 39, Local0, 0x1fcf96723aca14)
+
+ if (y078) {
+ ShiftRight(Derefof(Refof(aui1)), b60e, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftRight(Derefof(Refof(aui4)), b60e, Local0)
+ m600(arg0, 41, Local0, 0x1fcf96723aca14)
+ }
+
+ ShiftRight(Derefof(Index(paui, 1)), b60e, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftRight(Derefof(Index(paui, 4)), b60e, Local0)
+ m600(arg0, 43, Local0, 0x1fcf96723aca14)
+
+ // Method returns Integer
+
+ ShiftRight(m601(1, 1), b60e, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftRight(m601(1, 4), b60e, Local0)
+ m600(arg0, 45, Local0, 0x1fcf96723aca14)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(Derefof(m602(1, 1, 1)), b60e, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftRight(Derefof(m602(1, 4, 1)), b60e, Local0)
+ m600(arg0, 47, Local0, 0x1fcf96723aca14)
+ }
+
+ // Conversion of the both operands
+
+ Store(ShiftRight(b606, b60e), Local0)
+ m600(arg0, 48, Local0, 0)
+
+ Store(ShiftRight(b60a, b60e), Local0)
+ m600(arg0, 49, Local0, 0x1fcf96723aca14)
+
+ ShiftRight(b606, b60e, Local0)
+ m600(arg0, 50, Local0, 0)
+
+ ShiftRight(b60a, b60e, Local0)
+ m600(arg0, 51, Local0, 0x1fcf96723aca14)
+ }
+
+ // ShiftRight, 32-bit
+ Method(m058, 1)
+ {
+ Name(b606, Buffer(3){0x21, 0x03, 0x00})
+ Name(b60a, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5})
+ Name(b60e, Buffer(1){0xb})
+
+ // Conversion of the first operand
+
+ Store(ShiftRight(b60a, 0), Local0)
+ m600(arg0, 0, Local0, 0xd650a284)
+
+ Store(ShiftRight(b60a, 1), Local0)
+ m600(arg0, 1, Local0, 0x6b285142)
+
+ Store(ShiftRight(b60a, aui5), Local0)
+ m600(arg0, 2, Local0, 0xd650a284)
+
+ Store(ShiftRight(b60a, aui6), Local0)
+ m600(arg0, 3, Local0, 0x6b285142)
+
+ if (y078) {
+ Store(ShiftRight(b60a, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xd650a284)
+
+ Store(ShiftRight(b60a, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x6b285142)
+ }
+
+ Store(ShiftRight(b60a, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xd650a284)
+
+ Store(ShiftRight(b60a, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x6b285142)
+
+ // Method returns Integer
+
+ Store(ShiftRight(b60a, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xd650a284)
+
+ Store(ShiftRight(b60a, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x6b285142)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(b60a, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xd650a284)
+
+ Store(ShiftRight(b60a, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x6b285142)
+ }
+
+ ShiftRight(b60a, 0, Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ ShiftRight(b60a, 1, Local0)
+ m600(arg0, 13, Local0, 0x6b285142)
+
+ ShiftRight(b60a, aui5, Local0)
+ m600(arg0, 14, Local0, 0xd650a284)
+
+ ShiftRight(b60a, aui6, Local0)
+ m600(arg0, 15, Local0, 0x6b285142)
+
+ if (y078) {
+ ShiftRight(b60a, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xd650a284)
+
+ ShiftRight(b60a, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x6b285142)
+ }
+
+ ShiftRight(b60a, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xd650a284)
+
+ ShiftRight(b60a, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x6b285142)
+
+ // Method returns Integer
+
+ ShiftRight(b60a, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xd650a284)
+
+ ShiftRight(b60a, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x6b285142)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(b60a, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xd650a284)
+
+ ShiftRight(b60a, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x6b285142)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftRight(0x321, b60e), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftRight(0xd650a284, b60e), Local0)
+ m600(arg0, 25, Local0, 0x1aca14)
+
+ Store(ShiftRight(aui1, b60e), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftRight(auik, b60e), Local0)
+ m600(arg0, 27, Local0, 0x1aca14)
+
+ if (y078) {
+ Store(ShiftRight(Derefof(Refof(aui1)), b60e), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftRight(Derefof(Refof(auik)), b60e), Local0)
+ m600(arg0, 29, Local0, 0x1aca14)
+ }
+
+ Store(ShiftRight(Derefof(Index(paui, 1)), b60e), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftRight(Derefof(Index(paui, 20)), b60e), Local0)
+ m600(arg0, 31, Local0, 0x1aca14)
+
+ // Method returns Integer
+
+ Store(ShiftRight(m601(1, 1), b60e), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftRight(m601(1, 20), b60e), Local0)
+ m600(arg0, 33, Local0, 0x1aca14)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(Derefof(m602(1, 1, 1)), b60e), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftRight(Derefof(m602(1, 20, 1)), b60e), Local0)
+ m600(arg0, 35, Local0, 0x1aca14)
+ }
+
+ ShiftRight(0x321, b60e, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftRight(0xd650a284, b60e, Local0)
+ m600(arg0, 37, Local0, 0x1aca14)
+
+ ShiftRight(aui1, b60e, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftRight(auik, b60e, Local0)
+ m600(arg0, 39, Local0, 0x1aca14)
+
+ if (y078) {
+ ShiftRight(Derefof(Refof(aui1)), b60e, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftRight(Derefof(Refof(auik)), b60e, Local0)
+ m600(arg0, 41, Local0, 0x1aca14)
+ }
+
+ ShiftRight(Derefof(Index(paui, 1)), b60e, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftRight(Derefof(Index(paui, 20)), b60e, Local0)
+ m600(arg0, 43, Local0, 0x1aca14)
+
+ // Method returns Integer
+
+ ShiftRight(m601(1, 1), b60e, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftRight(m601(1, 20), b60e, Local0)
+ m600(arg0, 45, Local0, 0x1aca14)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(Derefof(m602(1, 1, 1)), b60e, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftRight(Derefof(m602(1, 20, 1)), b60e, Local0)
+ m600(arg0, 47, Local0, 0x1aca14)
+ }
+
+ // Conversion of the both operands
+
+ Store(ShiftRight(b606, b60e), Local0)
+ m600(arg0, 48, Local0, 0)
+
+ Store(ShiftRight(b60a, b60e), Local0)
+ m600(arg0, 49, Local0, 0x1aca14)
+
+ ShiftRight(b606, b60e, Local0)
+ m600(arg0, 50, Local0, 0)
+
+ ShiftRight(b60a, b60e, Local0)
+ m600(arg0, 51, Local0, 0x1aca14)
+ }
+
+ // Subtract, common 32-bit/64-bit test
+ Method(m059, 1)
+ {
+ Name(b606, Buffer(3){0x21, 0x03, 0x00})
+
+ // Conversion of the first operand
+
+ Store(Subtract(b606, 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Subtract(b606, 1), Local0)
+ m600(arg0, 1, Local0, 0x320)
+
+ Store(Subtract(b606, aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Subtract(b606, aui6), Local0)
+ m600(arg0, 3, Local0, 0x320)
+
+ if (y078) {
+ Store(Subtract(b606, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Subtract(b606, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x320)
+ }
+
+ Store(Subtract(b606, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Subtract(b606, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x320)
+
+ // Method returns Integer
+
+ Store(Subtract(b606, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Subtract(b606, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x320)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(b606, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Subtract(b606, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x320)
+ }
+
+ Subtract(b606, 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Subtract(b606, 1, Local0)
+ m600(arg0, 13, Local0, 0x320)
+
+ Subtract(b606, aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Subtract(b606, aui6, Local0)
+ m600(arg0, 15, Local0, 0x320)
+
+ if (y078) {
+ Subtract(b606, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Subtract(b606, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x320)
+ }
+
+ Subtract(b606, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Subtract(b606, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x320)
+
+ // Method returns Integer
+
+ Subtract(b606, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Subtract(b606, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x320)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(b606, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Subtract(b606, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x320)
+ }
+
+ // Conversion of the second operand
+
+ Store(Subtract(0, b606), Local0)
+ m600(arg0, 24, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(1, b606), Local0)
+ m600(arg0, 25, Local0, 0xfffffffffffffce0)
+
+ Store(Subtract(aui5, b606), Local0)
+ m600(arg0, 26, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(aui6, b606), Local0)
+ m600(arg0, 27, Local0, 0xfffffffffffffce0)
+
+ if (y078) {
+ Store(Subtract(Derefof(Refof(aui5)), b606), Local0)
+ m600(arg0, 28, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(Derefof(Refof(aui6)), b606), Local0)
+ m600(arg0, 29, Local0, 0xfffffffffffffce0)
+ }
+
+ Store(Subtract(Derefof(Index(paui, 5)), b606), Local0)
+ m600(arg0, 30, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(Derefof(Index(paui, 6)), b606), Local0)
+ m600(arg0, 31, Local0, 0xfffffffffffffce0)
+
+ // Method returns Integer
+
+ Store(Subtract(m601(1, 5), b606), Local0)
+ m600(arg0, 32, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(m601(1, 6), b606), Local0)
+ m600(arg0, 33, Local0, 0xfffffffffffffce0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(Derefof(m602(1, 5, 1)), b606), Local0)
+ m600(arg0, 34, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(Derefof(m602(1, 6, 1)), b606), Local0)
+ m600(arg0, 35, Local0, 0xfffffffffffffce0)
+ }
+
+ Subtract(0, b606, Local0)
+ m600(arg0, 36, Local0, 0xfffffffffffffcdf)
+
+ Subtract(1, b606, Local0)
+ m600(arg0, 37, Local0, 0xfffffffffffffce0)
+
+ Subtract(aui5, b606, Local0)
+ m600(arg0, 38, Local0, 0xfffffffffffffcdf)
+
+ Subtract(aui6, b606, Local0)
+ m600(arg0, 39, Local0, 0xfffffffffffffce0)
+
+ if (y078) {
+ Subtract(Derefof(Refof(aui5)), b606, Local0)
+ m600(arg0, 40, Local0, 0xfffffffffffffcdf)
+
+ Subtract(Derefof(Refof(aui6)), b606, Local0)
+ m600(arg0, 41, Local0, 0xfffffffffffffce0)
+ }
+
+ Subtract(Derefof(Index(paui, 5)), b606, Local0)
+ m600(arg0, 42, Local0, 0xfffffffffffffcdf)
+
+ Subtract(Derefof(Index(paui, 6)), b606, Local0)
+ m600(arg0, 43, Local0, 0xfffffffffffffce0)
+
+ // Method returns Integer
+
+ Subtract(m601(1, 5), b606, Local0)
+ m600(arg0, 44, Local0, 0xfffffffffffffcdf)
+
+ Subtract(m601(1, 6), b606, Local0)
+ m600(arg0, 45, Local0, 0xfffffffffffffce0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(Derefof(m602(1, 5, 1)), b606, Local0)
+ m600(arg0, 46, Local0, 0xfffffffffffffcdf)
+
+ Subtract(Derefof(m602(1, 6, 1)), b606, Local0)
+ m600(arg0, 47, Local0, 0xfffffffffffffce0)
+ }
+ }
+
+ // Subtract, 64-bit
+ Method(m05a, 1)
+ {
+ Name(b606, Buffer(3){0x21, 0x03, 0x00})
+ Name(b60a, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5})
+
+ // Conversion of the first operand
+
+ Store(Subtract(b60a, 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(b60a, 1), Local0)
+ m600(arg0, 1, Local0, 0xfe7cb391d650a283)
+
+ Store(Subtract(b60a, aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(b60a, aui6), Local0)
+ m600(arg0, 3, Local0, 0xfe7cb391d650a283)
+
+ if (y078) {
+ Store(Subtract(b60a, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(b60a, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xfe7cb391d650a283)
+ }
+
+ Store(Subtract(b60a, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(b60a, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Integer
+
+ Store(Subtract(b60a, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(b60a, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(b60a, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(b60a, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfe7cb391d650a283)
+ }
+
+ Subtract(b60a, 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Subtract(b60a, 1, Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a283)
+
+ Subtract(b60a, aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Subtract(b60a, aui6, Local0)
+ m600(arg0, 15, Local0, 0xfe7cb391d650a283)
+
+ if (y078) {
+ Subtract(b60a, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Subtract(b60a, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xfe7cb391d650a283)
+ }
+
+ Subtract(b60a, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Subtract(b60a, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Integer
+
+ Subtract(b60a, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Subtract(b60a, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(b60a, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Subtract(b60a, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfe7cb391d650a283)
+ }
+
+ // Conversion of the second operand
+
+ Store(Subtract(0, b60a), Local0)
+ m600(arg0, 24, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(1, b60a), Local0)
+ m600(arg0, 25, Local0, 0x01834c6e29af5d7d)
+
+ Store(Subtract(aui5, b60a), Local0)
+ m600(arg0, 26, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(aui6, b60a), Local0)
+ m600(arg0, 27, Local0, 0x01834c6e29af5d7d)
+
+ if (y078) {
+ Store(Subtract(Derefof(Refof(aui5)), b60a), Local0)
+ m600(arg0, 28, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(Derefof(Refof(aui6)), b60a), Local0)
+ m600(arg0, 29, Local0, 0x01834c6e29af5d7d)
+ }
+
+ Store(Subtract(Derefof(Index(paui, 5)), b60a), Local0)
+ m600(arg0, 30, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(Derefof(Index(paui, 6)), b60a), Local0)
+ m600(arg0, 31, Local0, 0x01834c6e29af5d7d)
+
+ // Method returns Integer
+
+ Store(Subtract(m601(1, 5), b60a), Local0)
+ m600(arg0, 32, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(m601(1, 6), b60a), Local0)
+ m600(arg0, 33, Local0, 0x01834c6e29af5d7d)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(Derefof(m602(1, 5, 1)), b60a), Local0)
+ m600(arg0, 34, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(Derefof(m602(1, 6, 1)), b60a), Local0)
+ m600(arg0, 35, Local0, 0x01834c6e29af5d7d)
+ }
+
+ Subtract(0, b60a, Local0)
+ m600(arg0, 36, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(1, b60a, Local0)
+ m600(arg0, 37, Local0, 0x01834c6e29af5d7d)
+
+ Subtract(aui5, b60a, Local0)
+ m600(arg0, 38, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(aui6, b60a, Local0)
+ m600(arg0, 39, Local0, 0x01834c6e29af5d7d)
+
+ if (y078) {
+ Subtract(Derefof(Refof(aui5)), b60a, Local0)
+ m600(arg0, 40, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(Derefof(Refof(aui6)), b60a, Local0)
+ m600(arg0, 41, Local0, 0x01834c6e29af5d7d)
+ }
+
+ Subtract(Derefof(Index(paui, 5)), b60a, Local0)
+ m600(arg0, 42, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(Derefof(Index(paui, 6)), b60a, Local0)
+ m600(arg0, 43, Local0, 0x01834c6e29af5d7d)
+
+ // Method returns Integer
+
+ Subtract(m601(1, 5), b60a, Local0)
+ m600(arg0, 44, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(m601(1, 6), b60a, Local0)
+ m600(arg0, 45, Local0, 0x01834c6e29af5d7d)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(Derefof(m602(1, 5, 1)), b60a, Local0)
+ m600(arg0, 46, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(Derefof(m602(1, 6, 1)), b60a, Local0)
+ m600(arg0, 47, Local0, 0x01834c6e29af5d7d)
+ }
+
+ // Conversion of the both operands
+
+ Store(Subtract(b606, b60a), Local0)
+ m600(arg0, 48, Local0, 0x01834c6e29af609d)
+
+ Store(Subtract(b60a, b606), Local0)
+ m600(arg0, 49, Local0, 0xfe7cb391d6509f63)
+
+ Subtract(b606, b60a, Local0)
+ m600(arg0, 50, Local0, 0x01834c6e29af609d)
+
+ Subtract(b60a, b606, Local0)
+ m600(arg0, 51, Local0, 0xfe7cb391d6509f63)
+ }
+
+ // Subtract, 32-bit
+ Method(m05b, 1)
+ {
+ Name(b606, Buffer(3){0x21, 0x03, 0x00})
+ Name(b60a, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5})
+
+ // Conversion of the first operand
+
+ Store(Subtract(b60a, 0), Local0)
+ m600(arg0, 0, Local0, 0xd650a284)
+
+ Store(Subtract(b60a, 1), Local0)
+ m600(arg0, 1, Local0, 0xd650a283)
+
+ Store(Subtract(b60a, aui5), Local0)
+ m600(arg0, 2, Local0, 0xd650a284)
+
+ Store(Subtract(b60a, aui6), Local0)
+ m600(arg0, 3, Local0, 0xd650a283)
+
+ if (y078) {
+ Store(Subtract(b60a, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xd650a284)
+
+ Store(Subtract(b60a, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xd650a283)
+ }
+
+ Store(Subtract(b60a, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xd650a284)
+
+ Store(Subtract(b60a, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xd650a283)
+
+ // Method returns Integer
+
+ Store(Subtract(b60a, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xd650a284)
+
+ Store(Subtract(b60a, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xd650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(b60a, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xd650a284)
+
+ Store(Subtract(b60a, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xd650a283)
+ }
+
+ Subtract(b60a, 0, Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ Subtract(b60a, 1, Local0)
+ m600(arg0, 13, Local0, 0xd650a283)
+
+ Subtract(b60a, aui5, Local0)
+ m600(arg0, 14, Local0, 0xd650a284)
+
+ Subtract(b60a, aui6, Local0)
+ m600(arg0, 15, Local0, 0xd650a283)
+
+ if (y078) {
+ Subtract(b60a, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xd650a284)
+
+ Subtract(b60a, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xd650a283)
+ }
+
+ Subtract(b60a, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xd650a284)
+
+ Subtract(b60a, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xd650a283)
+
+ // Method returns Integer
+
+ Subtract(b60a, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xd650a284)
+
+ Subtract(b60a, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xd650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(b60a, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xd650a284)
+
+ Subtract(b60a, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xd650a283)
+ }
+
+ // Conversion of the second operand
+
+ Store(Subtract(0, b60a), Local0)
+ m600(arg0, 24, Local0, 0x29af5d7c)
+
+ Store(Subtract(1, b60a), Local0)
+ m600(arg0, 25, Local0, 0x29af5d7d)
+
+ Store(Subtract(aui5, b60a), Local0)
+ m600(arg0, 26, Local0, 0x29af5d7c)
+
+ Store(Subtract(aui6, b60a), Local0)
+ m600(arg0, 27, Local0, 0x29af5d7d)
+
+ if (y078) {
+ Store(Subtract(Derefof(Refof(aui5)), b60a), Local0)
+ m600(arg0, 28, Local0, 0x29af5d7c)
+
+ Store(Subtract(Derefof(Refof(aui6)), b60a), Local0)
+ m600(arg0, 29, Local0, 0x29af5d7d)
+ }
+
+ Store(Subtract(Derefof(Index(paui, 5)), b60a), Local0)
+ m600(arg0, 30, Local0, 0x29af5d7c)
+
+ Store(Subtract(Derefof(Index(paui, 6)), b60a), Local0)
+ m600(arg0, 31, Local0, 0x29af5d7d)
+
+ // Method returns Integer
+
+ Store(Subtract(m601(1, 5), b60a), Local0)
+ m600(arg0, 32, Local0, 0x29af5d7c)
+
+ Store(Subtract(m601(1, 6), b60a), Local0)
+ m600(arg0, 33, Local0, 0x29af5d7d)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(Derefof(m602(1, 5, 1)), b60a), Local0)
+ m600(arg0, 34, Local0, 0x29af5d7c)
+
+ Store(Subtract(Derefof(m602(1, 6, 1)), b60a), Local0)
+ m600(arg0, 35, Local0, 0x29af5d7d)
+ }
+
+ Subtract(0, b60a, Local0)
+ m600(arg0, 36, Local0, 0x29af5d7c)
+
+ Subtract(1, b60a, Local0)
+ m600(arg0, 37, Local0, 0x29af5d7d)
+
+ Subtract(aui5, b60a, Local0)
+ m600(arg0, 38, Local0, 0x29af5d7c)
+
+ Subtract(aui6, b60a, Local0)
+ m600(arg0, 39, Local0, 0x29af5d7d)
+
+ if (y078) {
+ Subtract(Derefof(Refof(aui5)), b60a, Local0)
+ m600(arg0, 40, Local0, 0x29af5d7c)
+
+ Subtract(Derefof(Refof(aui6)), b60a, Local0)
+ m600(arg0, 41, Local0, 0x29af5d7d)
+ }
+
+ Subtract(Derefof(Index(paui, 5)), b60a, Local0)
+ m600(arg0, 42, Local0, 0x29af5d7c)
+
+ Subtract(Derefof(Index(paui, 6)), b60a, Local0)
+ m600(arg0, 43, Local0, 0x29af5d7d)
+
+ // Method returns Integer
+
+ Subtract(m601(1, 5), b60a, Local0)
+ m600(arg0, 44, Local0, 0x29af5d7c)
+
+ Subtract(m601(1, 6), b60a, Local0)
+ m600(arg0, 45, Local0, 0x29af5d7d)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(Derefof(m602(1, 5, 1)), b60a, Local0)
+ m600(arg0, 46, Local0, 0x29af5d7c)
+
+ Subtract(Derefof(m602(1, 6, 1)), b60a, Local0)
+ m600(arg0, 47, Local0, 0x29af5d7d)
+ }
+
+ // Conversion of the both operands
+
+ Store(Subtract(b606, b60a), Local0)
+ m600(arg0, 48, Local0, 0x29af609d)
+
+ Store(Subtract(b60a, b606), Local0)
+ m600(arg0, 49, Local0, 0xd6509f63)
+
+ Subtract(b606, b60a, Local0)
+ m600(arg0, 50, Local0, 0x29af609d)
+
+ Subtract(b60a, b606, Local0)
+ m600(arg0, 51, Local0, 0xd6509f63)
+ }
+
+ // XOr, common 32-bit/64-bit test
+ Method(m05c, 1)
+ {
+ Name(b606, Buffer(3){0x21, 0x03, 0x00})
+
+ // Conversion of the first operand
+
+ Store(XOr(b606, 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(XOr(b606, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xfffffffffffffcde)
+
+ Store(XOr(b606, aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(XOr(b606, auij), Local0)
+ m600(arg0, 3, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ Store(XOr(b606, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(XOr(b606, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xfffffffffffffcde)
+ }
+
+ Store(XOr(b606, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(XOr(b606, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ Store(XOr(b606, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(XOr(b606, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(b606, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(XOr(b606, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfffffffffffffcde)
+ }
+
+ XOr(b606, 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ XOr(b606, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xfffffffffffffcde)
+
+ XOr(b606, aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ XOr(b606, auij, Local0)
+ m600(arg0, 15, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ XOr(b606, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ XOr(b606, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xfffffffffffffcde)
+ }
+
+ XOr(b606, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ XOr(b606, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ XOr(b606, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ XOr(b606, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(b606, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ XOr(b606, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfffffffffffffcde)
+ }
+
+ // Conversion of the second operand
+
+ Store(XOr(0, b606), Local0)
+ m600(arg0, 24, Local0, 0x321)
+
+ Store(XOr(0xffffffffffffffff, b606), Local0)
+ m600(arg0, 25, Local0, 0xfffffffffffffcde)
+
+ Store(XOr(aui5, b606), Local0)
+ m600(arg0, 26, Local0, 0x321)
+
+ Store(XOr(auij, b606), Local0)
+ m600(arg0, 27, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ Store(XOr(Derefof(Refof(aui5)), b606), Local0)
+ m600(arg0, 28, Local0, 0x321)
+
+ Store(XOr(Derefof(Refof(auij)), b606), Local0)
+ m600(arg0, 29, Local0, 0xfffffffffffffcde)
+ }
+
+ Store(XOr(Derefof(Index(paui, 5)), b606), Local0)
+ m600(arg0, 30, Local0, 0x321)
+
+ Store(XOr(Derefof(Index(paui, 19)), b606), Local0)
+ m600(arg0, 31, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ Store(XOr(m601(1, 5), b606), Local0)
+ m600(arg0, 32, Local0, 0x321)
+
+ Store(XOr(m601(1, 19), b606), Local0)
+ m600(arg0, 33, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(Derefof(m602(1, 5, 1)), b606), Local0)
+ m600(arg0, 34, Local0, 0x321)
+
+ Store(XOr(Derefof(m602(1, 19, 1)), b606), Local0)
+ m600(arg0, 35, Local0, 0xfffffffffffffcde)
+ }
+
+ XOr(0, b606, Local0)
+ m600(arg0, 36, Local0, 0x321)
+
+ XOr(0xffffffffffffffff, b606, Local0)
+ m600(arg0, 37, Local0, 0xfffffffffffffcde)
+
+ XOr(aui5, b606, Local0)
+ m600(arg0, 38, Local0, 0x321)
+
+ XOr(auij, b606, Local0)
+ m600(arg0, 39, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ XOr(Derefof(Refof(aui5)), b606, Local0)
+ m600(arg0, 40, Local0, 0x321)
+
+ XOr(Derefof(Refof(auij)), b606, Local0)
+ m600(arg0, 41, Local0, 0xfffffffffffffcde)
+ }
+
+ XOr(Derefof(Index(paui, 5)), b606, Local0)
+ m600(arg0, 42, Local0, 0x321)
+
+ XOr(Derefof(Index(paui, 19)), b606, Local0)
+ m600(arg0, 43, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ XOr(m601(1, 5), b606, Local0)
+ m600(arg0, 44, Local0, 0x321)
+
+ XOr(m601(1, 19), b606, Local0)
+ m600(arg0, 45, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(Derefof(m602(1, 5, 1)), b606, Local0)
+ m600(arg0, 46, Local0, 0x321)
+
+ XOr(Derefof(m602(1, 19, 1)), b606, Local0)
+ m600(arg0, 47, Local0, 0xfffffffffffffcde)
+ }
+ }
+
+ // XOr, 64-bit
+ Method(m05d, 1)
+ {
+ Name(b606, Buffer(3){0x21, 0x03, 0x00})
+ Name(b60a, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5})
+
+ // Conversion of the first operand
+
+ Store(XOr(b60a, 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(b60a, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0x01834c6e29af5d7b)
+
+ Store(XOr(b60a, aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(b60a, auij), Local0)
+ m600(arg0, 3, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ Store(XOr(b60a, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(b60a, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Store(XOr(b60a, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(b60a, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ Store(XOr(b60a, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(b60a, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(b60a, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(b60a, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0x01834c6e29af5d7b)
+ }
+
+ XOr(b60a, 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ XOr(b60a, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0x01834c6e29af5d7b)
+
+ XOr(b60a, aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ XOr(b60a, auij, Local0)
+ m600(arg0, 15, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ XOr(b60a, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ XOr(b60a, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0x01834c6e29af5d7b)
+ }
+
+ XOr(b60a, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ XOr(b60a, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ XOr(b60a, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ XOr(b60a, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(b60a, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ XOr(b60a, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0x01834c6e29af5d7b)
+ }
+
+ // Conversion of the second operand
+
+ Store(XOr(0, b60a), Local0)
+ m600(arg0, 24, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(0xffffffffffffffff, b60a), Local0)
+ m600(arg0, 25, Local0, 0x01834c6e29af5d7b)
+
+ Store(XOr(aui5, b60a), Local0)
+ m600(arg0, 26, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(auij, b60a), Local0)
+ m600(arg0, 27, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ Store(XOr(Derefof(Refof(aui5)), b60a), Local0)
+ m600(arg0, 28, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(Refof(auij)), b60a), Local0)
+ m600(arg0, 29, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Store(XOr(Derefof(Index(paui, 5)), b60a), Local0)
+ m600(arg0, 30, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(Index(paui, 19)), b60a), Local0)
+ m600(arg0, 31, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ Store(XOr(m601(1, 5), b60a), Local0)
+ m600(arg0, 32, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(m601(1, 19), b60a), Local0)
+ m600(arg0, 33, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(Derefof(m602(1, 5, 1)), b60a), Local0)
+ m600(arg0, 34, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(m602(1, 19, 1)), b60a), Local0)
+ m600(arg0, 35, Local0, 0x01834c6e29af5d7b)
+ }
+
+ XOr(0, b60a, Local0)
+ m600(arg0, 36, Local0, 0xfe7cb391d650a284)
+
+ XOr(0xffffffffffffffff, b60a, Local0)
+ m600(arg0, 37, Local0, 0x01834c6e29af5d7b)
+
+ XOr(aui5, b60a, Local0)
+ m600(arg0, 38, Local0, 0xfe7cb391d650a284)
+
+ XOr(auij, b60a, Local0)
+ m600(arg0, 39, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ XOr(Derefof(Refof(aui5)), b60a, Local0)
+ m600(arg0, 40, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(Refof(auij)), b60a, Local0)
+ m600(arg0, 41, Local0, 0x01834c6e29af5d7b)
+ }
+
+ XOr(Derefof(Index(paui, 5)), b60a, Local0)
+ m600(arg0, 42, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(Index(paui, 19)), b60a, Local0)
+ m600(arg0, 43, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ XOr(m601(1, 5), b60a, Local0)
+ m600(arg0, 44, Local0, 0xfe7cb391d650a284)
+
+ XOr(m601(1, 19), b60a, Local0)
+ m600(arg0, 45, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(Derefof(m602(1, 5, 1)), b60a, Local0)
+ m600(arg0, 46, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(m602(1, 19, 1)), b60a, Local0)
+ m600(arg0, 47, Local0, 0x01834c6e29af5d7b)
+ }
+
+ // Conversion of the both operands
+
+ Store(XOr(b606, b60a), Local0)
+ m600(arg0, 48, Local0, 0xfe7cb391d650a1a5)
+
+ Store(XOr(b60a, b606), Local0)
+ m600(arg0, 49, Local0, 0xfe7cb391d650a1a5)
+
+ XOr(b606, b60a, Local0)
+ m600(arg0, 50, Local0, 0xfe7cb391d650a1a5)
+
+ XOr(b60a, b606, Local0)
+ m600(arg0, 51, Local0, 0xfe7cb391d650a1a5)
+ }
+
+ // XOr, 32-bit
+ Method(m05e, 1)
+ {
+ Name(b606, Buffer(3){0x21, 0x03, 0x00})
+ Name(b60a, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5})
+
+ // Conversion of the first operand
+
+ Store(XOr(b60a, 0), Local0)
+ m600(arg0, 0, Local0, 0xd650a284)
+
+ Store(XOr(b60a, 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0x29af5d7b)
+
+ Store(XOr(b60a, aui5), Local0)
+ m600(arg0, 2, Local0, 0xd650a284)
+
+ Store(XOr(b60a, auii), Local0)
+ m600(arg0, 3, Local0, 0x29af5d7b)
+
+ if (y078) {
+ Store(XOr(b60a, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xd650a284)
+
+ Store(XOr(b60a, Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0x29af5d7b)
+ }
+
+ Store(XOr(b60a, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xd650a284)
+
+ Store(XOr(b60a, Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0x29af5d7b)
+
+ // Method returns Integer
+
+ Store(XOr(b60a, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xd650a284)
+
+ Store(XOr(b60a, m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0x29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(b60a, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xd650a284)
+
+ Store(XOr(b60a, Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0x29af5d7b)
+ }
+
+ XOr(b60a, 0, Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ XOr(b60a, 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0x29af5d7b)
+
+ XOr(b60a, aui5, Local0)
+ m600(arg0, 14, Local0, 0xd650a284)
+
+ XOr(b60a, auii, Local0)
+ m600(arg0, 15, Local0, 0x29af5d7b)
+
+ if (y078) {
+ XOr(b60a, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xd650a284)
+
+ XOr(b60a, Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0x29af5d7b)
+ }
+
+ XOr(b60a, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xd650a284)
+
+ XOr(b60a, Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0x29af5d7b)
+
+ // Method returns Integer
+
+ XOr(b60a, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xd650a284)
+
+ XOr(b60a, m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0x29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(b60a, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xd650a284)
+
+ XOr(b60a, Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0x29af5d7b)
+ }
+
+ // Conversion of the second operand
+
+ Store(XOr(0, b60a), Local0)
+ m600(arg0, 24, Local0, 0xd650a284)
+
+ Store(XOr(0xffffffff, b60a), Local0)
+ m600(arg0, 25, Local0, 0x29af5d7b)
+
+ Store(XOr(aui5, b60a), Local0)
+ m600(arg0, 26, Local0, 0xd650a284)
+
+ Store(XOr(auii, b60a), Local0)
+ m600(arg0, 27, Local0, 0x29af5d7b)
+
+ if (y078) {
+ Store(XOr(Derefof(Refof(aui5)), b60a), Local0)
+ m600(arg0, 28, Local0, 0xd650a284)
+
+ Store(XOr(Derefof(Refof(auii)), b60a), Local0)
+ m600(arg0, 29, Local0, 0x29af5d7b)
+ }
+
+ Store(XOr(Derefof(Index(paui, 5)), b60a), Local0)
+ m600(arg0, 30, Local0, 0xd650a284)
+
+ Store(XOr(Derefof(Index(paui, 18)), b60a), Local0)
+ m600(arg0, 31, Local0, 0x29af5d7b)
+
+ // Method returns Integer
+
+ Store(XOr(m601(1, 5), b60a), Local0)
+ m600(arg0, 32, Local0, 0xd650a284)
+
+ Store(XOr(m601(1, 18), b60a), Local0)
+ m600(arg0, 33, Local0, 0x29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(Derefof(m602(1, 5, 1)), b60a), Local0)
+ m600(arg0, 34, Local0, 0xd650a284)
+
+ Store(XOr(Derefof(m602(1, 18, 1)), b60a), Local0)
+ m600(arg0, 35, Local0, 0x29af5d7b)
+ }
+
+ XOr(0, b60a, Local0)
+ m600(arg0, 36, Local0, 0xd650a284)
+
+ XOr(0xffffffff, b60a, Local0)
+ m600(arg0, 37, Local0, 0x29af5d7b)
+
+ XOr(aui5, b60a, Local0)
+ m600(arg0, 38, Local0, 0xd650a284)
+
+ XOr(auii, b60a, Local0)
+ m600(arg0, 39, Local0, 0x29af5d7b)
+
+ if (y078) {
+ XOr(Derefof(Refof(aui5)), b60a, Local0)
+ m600(arg0, 40, Local0, 0xd650a284)
+
+ XOr(Derefof(Refof(auii)), b60a, Local0)
+ m600(arg0, 41, Local0, 0x29af5d7b)
+ }
+
+ XOr(Derefof(Index(paui, 5)), b60a, Local0)
+ m600(arg0, 42, Local0, 0xd650a284)
+
+ XOr(Derefof(Index(paui, 18)), b60a, Local0)
+ m600(arg0, 43, Local0, 0x29af5d7b)
+
+ // Method returns Integer
+
+ XOr(m601(1, 5), b60a, Local0)
+ m600(arg0, 44, Local0, 0xd650a284)
+
+ XOr(m601(1, 18), b60a, Local0)
+ m600(arg0, 45, Local0, 0x29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(Derefof(m602(1, 5, 1)), b60a, Local0)
+ m600(arg0, 46, Local0, 0xd650a284)
+
+ XOr(Derefof(m602(1, 18, 1)), b60a, Local0)
+ m600(arg0, 47, Local0, 0x29af5d7b)
+ }
+
+ // Conversion of the both operands
+
+ Store(XOr(b606, b60a), Local0)
+ m600(arg0, 48, Local0, 0xd650a1a5)
+
+ Store(XOr(b60a, b606), Local0)
+ m600(arg0, 49, Local0, 0xd650a1a5)
+
+ XOr(b606, b60a, Local0)
+ m600(arg0, 50, Local0, 0xd650a1a5)
+
+ XOr(b60a, b606, Local0)
+ m600(arg0, 51, Local0, 0xd650a1a5)
+ }
+
+ // Add, And, Divide, Mod, Multiply, NAnd, NOr, Or,
+ // ShiftLeft, ShiftRight, Subtract, Xor
+
+ Method(m64n, 1)
+ {
+ // Add
+ Concatenate(arg0, "-m03b", Local0)
+ SRMT(Local0)
+ m03b(Local0)
+ Concatenate(arg0, "-m03c", Local0)
+ SRMT(Local0)
+ m03c(Local0)
+
+ // And
+ Concatenate(arg0, "-m03e", Local0)
+ SRMT(Local0)
+ m03e(Local0)
+ Concatenate(arg0, "-m03f", Local0)
+ SRMT(Local0)
+ m03f(Local0)
+
+ // Divide
+ Concatenate(arg0, "-m041", Local0)
+ SRMT(Local0)
+ m041(Local0)
+ Concatenate(arg0, "-m042", Local0)
+ SRMT(Local0)
+ m042(Local0)
+
+ // Mod
+ Concatenate(arg0, "-m044", Local0)
+ SRMT(Local0)
+ m044(Local0)
+ Concatenate(arg0, "-m045", Local0)
+ SRMT(Local0)
+ m045(Local0)
+
+ // Multiply
+ Concatenate(arg0, "-m047", Local0)
+ SRMT(Local0)
+ m047(Local0)
+ Concatenate(arg0, "-m048", Local0)
+ SRMT(Local0)
+ m048(Local0)
+
+ // NAnd
+ Concatenate(arg0, "-m04a", Local0)
+ SRMT(Local0)
+ m04a(Local0)
+ Concatenate(arg0, "-m04b", Local0)
+ SRMT(Local0)
+ m04b(Local0)
+
+ // NOr
+ Concatenate(arg0, "-m04d", Local0)
+ SRMT(Local0)
+ m04d(Local0)
+ Concatenate(arg0, "-m04e", Local0)
+ SRMT(Local0)
+ m04e(Local0)
+
+ // Or
+ Concatenate(arg0, "-m050", Local0)
+ SRMT(Local0)
+ m050(Local0)
+ Concatenate(arg0, "-m051", Local0)
+ SRMT(Local0)
+ m051(Local0)
+
+ // ShiftLeft
+ Concatenate(arg0, "-m053", Local0)
+ SRMT(Local0)
+ m053(Local0)
+ Concatenate(arg0, "-m054", Local0)
+ SRMT(Local0)
+ m054(Local0)
+
+ // ShiftRight
+ Concatenate(arg0, "-m056", Local0)
+ SRMT(Local0)
+ m056(Local0)
+ Concatenate(arg0, "-m057", Local0)
+ SRMT(Local0)
+ m057(Local0)
+
+ // Subtract
+ Concatenate(arg0, "-m059", Local0)
+ SRMT(Local0)
+ m059(Local0)
+ Concatenate(arg0, "-m05a", Local0)
+ SRMT(Local0)
+ m05a(Local0)
+
+ // XOr
+ Concatenate(arg0, "-m05c", Local0)
+ SRMT(Local0)
+ m05c(Local0)
+ Concatenate(arg0, "-m05d", Local0)
+ SRMT(Local0)
+ m05d(Local0)
+ }
+
+ Method(m32n, 1)
+ {
+ // Add
+ Concatenate(arg0, "-m03b", Local0)
+ SRMT(Local0)
+ m03b(Local0)
+ Concatenate(arg0, "-m03d", Local0)
+ SRMT(Local0)
+ m03d(Local0)
+
+ // And
+ Concatenate(arg0, "-m03e", Local0)
+ SRMT(Local0)
+ m03e(Local0)
+ Concatenate(arg0, "-m040", Local0)
+ SRMT(Local0)
+ m040(Local0)
+
+ // Divide
+ Concatenate(arg0, "-m041", Local0)
+ SRMT(Local0)
+ m041(Local0)
+ Concatenate(arg0, "-m043", Local0)
+ SRMT(Local0)
+ m043(Local0)
+
+ // Mod
+ Concatenate(arg0, "-m044", Local0)
+ SRMT(Local0)
+ m044(Local0)
+ Concatenate(arg0, "-m046", Local0)
+ SRMT(Local0)
+ m046(Local0)
+
+ // Multiply
+ Concatenate(arg0, "-m047", Local0)
+ SRMT(Local0)
+ m047(Local0)
+ Concatenate(arg0, "-m049", Local0)
+ SRMT(Local0)
+ m049(Local0)
+
+ // NAnd
+ Concatenate(arg0, "-m04a", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m04a(Local0)
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m04c", Local0)
+ SRMT(Local0)
+ m04c(Local0)
+
+ // NOr
+ Concatenate(arg0, "-m04d", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m04d(Local0)
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m04f", Local0)
+ SRMT(Local0)
+ m04f(Local0)
+
+ // Or
+ Concatenate(arg0, "-m050", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m050(Local0)
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m052", Local0)
+ SRMT(Local0)
+ m052(Local0)
+
+ // ShiftLeft
+ Concatenate(arg0, "-m053", Local0)
+ SRMT(Local0)
+ m053(Local0)
+ Concatenate(arg0, "-m055", Local0)
+ SRMT(Local0)
+ m055(Local0)
+
+ // ShiftRight
+ Concatenate(arg0, "-m056", Local0)
+ SRMT(Local0)
+ m056(Local0)
+ Concatenate(arg0, "-m058", Local0)
+ SRMT(Local0)
+ m058(Local0)
+
+ // Subtract
+ Concatenate(arg0, "-m059", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m059(Local0)
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m05b", Local0)
+ SRMT(Local0)
+ m05b(Local0)
+
+ // XOr
+ Concatenate(arg0, "-m05c", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m05c(Local0)
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m05e", Local0)
+ SRMT(Local0)
+ m05e(Local0)
+ }
+
+
+ // Buffer to Integer conversion of each Buffer operand
+ // of the 2-parameter Logical Integer operators LAnd and LOr
+
+ // LAnd, common 32-bit/64-bit test
+ Method(m05f, 1)
+ {
+ Name(b606, Buffer(3){0x21, 0x03, 0x00})
+
+ // Conversion of the first operand
+
+ Store(LAnd(b606, 0), Local0)
+ m600(arg0, 0, Local0, Zero)
+
+ Store(LAnd(b606, 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(LAnd(b606, aui5), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LAnd(b606, aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(b606, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LAnd(b606, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(LAnd(b606, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Zero)
+
+ Store(LAnd(b606, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(b606, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Zero)
+
+ Store(LAnd(b606, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(b606, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LAnd(b606, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(LAnd(0, b606), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LAnd(1, b606), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LAnd(aui5, b606), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LAnd(aui6, b606), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(Derefof(Refof(aui5)), b606), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(aui6)), b606), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(LAnd(Derefof(Index(paui, 5)), b606), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LAnd(Derefof(Index(paui, 6)), b606), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(m601(1, 5), b606), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LAnd(m601(1, 6), b606), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(Derefof(m602(1, 5, 1)), b606), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LAnd(Derefof(m602(1, 6, 1)), b606), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+ }
+
+ // LAnd, 64-bit
+ Method(m060, 1)
+ {
+ Name(b606, Buffer(3){0x21, 0x03, 0x00})
+ Name(b60a, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5})
+
+ // Conversion of the first operand
+
+ Store(LAnd(b60a, 0), Local0)
+ m600(arg0, 0, Local0, Zero)
+
+ Store(LAnd(b60a, 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(LAnd(b60a, aui5), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LAnd(b60a, aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(b60a, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LAnd(b60a, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(LAnd(b60a, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Zero)
+
+ Store(LAnd(b60a, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(b60a, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Zero)
+
+ Store(LAnd(b60a, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(b60a, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LAnd(b60a, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(LAnd(0, b60a), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LAnd(1, b60a), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LAnd(aui5, b60a), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LAnd(aui6, b60a), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(Derefof(Refof(aui5)), b60a), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(aui6)), b60a), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(LAnd(Derefof(Index(paui, 5)), b60a), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LAnd(Derefof(Index(paui, 6)), b60a), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(m601(1, 5), b60a), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LAnd(m601(1, 6), b60a), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(Derefof(m602(1, 5, 1)), b60a), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LAnd(Derefof(m602(1, 6, 1)), b60a), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+
+ // Conversion of the both operands
+
+ Store(LAnd(b606, b60a), Local0)
+ m600(arg0, 24, Local0, Ones)
+
+ Store(LAnd(b60a, b606), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // LAnd, 32-bit
+ Method(m061, 1)
+ {
+ Name(b606, Buffer(3){0x21, 0x03, 0x00})
+ Name(b60a, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5})
+
+ // Conversion of the first operand
+
+ Store(LAnd(b60a, 0), Local0)
+ m600(arg0, 0, Local0, Zero)
+
+ Store(LAnd(b60a, 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(LAnd(b60a, aui5), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LAnd(b60a, aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(b60a, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LAnd(b60a, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(LAnd(b60a, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Zero)
+
+ Store(LAnd(b60a, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(b60a, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Zero)
+
+ Store(LAnd(b60a, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(b60a, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LAnd(b60a, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(LAnd(0, b60a), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LAnd(1, b60a), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LAnd(aui5, b60a), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LAnd(aui6, b60a), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(Derefof(Refof(aui5)), b60a), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(aui6)), b60a), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(LAnd(Derefof(Index(paui, 5)), b60a), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LAnd(Derefof(Index(paui, 6)), b60a), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(m601(1, 5), b60a), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LAnd(m601(1, 6), b60a), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(Derefof(m602(1, 5, 1)), b60a), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LAnd(Derefof(m602(1, 6, 1)), b60a), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+
+ // Conversion of the both operands
+
+ Store(LAnd(b606, b60a), Local0)
+ m600(arg0, 24, Local0, Ones)
+
+ Store(LAnd(b60a, b606), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // Lor, common 32-bit/64-bit test
+ Method(m062, 1)
+ {
+ Name(b600, Buffer(1){0x00})
+
+ // Conversion of the first operand
+
+ Store(Lor(b600, 0), Local0)
+ m600(arg0, 0, Local0, Zero)
+
+ Store(Lor(b600, 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(Lor(b600, aui5), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(Lor(b600, aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(b600, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(Lor(b600, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(Lor(b600, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Zero)
+
+ Store(Lor(b600, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(b600, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Zero)
+
+ Store(Lor(b600, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(b600, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(Lor(b600, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(Lor(0, b600), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(Lor(1, b600), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(Lor(aui5, b600), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(Lor(aui6, b600), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(Derefof(Refof(aui5)), b600), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(Lor(Derefof(Refof(aui6)), b600), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(Lor(Derefof(Index(paui, 5)), b600), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(Lor(Derefof(Index(paui, 6)), b600), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(m601(1, 5), b600), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(Lor(m601(1, 6), b600), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(Derefof(m602(1, 5, 1)), b600), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(Lor(Derefof(m602(1, 6, 1)), b600), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+ }
+
+ // Lor, 64-bit
+ Method(m063, 1)
+ {
+ Name(b600, Buffer(1){0x00})
+ Name(b60a, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5})
+
+ // Conversion of the first operand
+
+ Store(Lor(b60a, 0), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(Lor(b60a, 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(Lor(b60a, aui5), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(Lor(b60a, aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(b60a, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(Lor(b60a, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(Lor(b60a, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(Lor(b60a, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(b60a, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(Lor(b60a, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(b60a, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(Lor(b60a, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(Lor(0, b60a), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(Lor(1, b60a), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(Lor(aui5, b60a), Local0)
+ m600(arg0, 14, Local0, Ones)
+
+ Store(Lor(aui6, b60a), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(Derefof(Refof(aui5)), b60a), Local0)
+ m600(arg0, 16, Local0, Ones)
+
+ Store(Lor(Derefof(Refof(aui6)), b60a), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(Lor(Derefof(Index(paui, 5)), b60a), Local0)
+ m600(arg0, 18, Local0, Ones)
+
+ Store(Lor(Derefof(Index(paui, 6)), b60a), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(m601(1, 5), b60a), Local0)
+ m600(arg0, 20, Local0, Ones)
+
+ Store(Lor(m601(1, 6), b60a), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(Derefof(m602(1, 5, 1)), b60a), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(Lor(Derefof(m602(1, 6, 1)), b60a), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+
+ // Conversion of the both operands
+
+ Store(Lor(b600, b60a), Local0)
+ m600(arg0, 24, Local0, Ones)
+
+ Store(Lor(b60a, b600), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // Lor, 32-bit
+ Method(m064, 1)
+ {
+ Name(b600, Buffer(1){0x00})
+ Name(b60a, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5})
+
+ // Conversion of the first operand
+
+ Store(Lor(b60a, 0), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(Lor(b60a, 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(Lor(b60a, aui5), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(Lor(b60a, aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(b60a, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(Lor(b60a, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(Lor(b60a, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(Lor(b60a, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(b60a, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(Lor(b60a, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(b60a, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(Lor(b60a, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(Lor(0, b60a), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(Lor(1, b60a), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(Lor(aui5, b60a), Local0)
+ m600(arg0, 14, Local0, Ones)
+
+ Store(Lor(aui6, b60a), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(Derefof(Refof(aui5)), b60a), Local0)
+ m600(arg0, 16, Local0, Ones)
+
+ Store(Lor(Derefof(Refof(aui6)), b60a), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(Lor(Derefof(Index(paui, 5)), b60a), Local0)
+ m600(arg0, 18, Local0, Ones)
+
+ Store(Lor(Derefof(Index(paui, 6)), b60a), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(m601(1, 5), b60a), Local0)
+ m600(arg0, 20, Local0, Ones)
+
+ Store(Lor(m601(1, 6), b60a), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(Derefof(m602(1, 5, 1)), b60a), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(Lor(Derefof(m602(1, 6, 1)), b60a), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+
+ // Conversion of the both operands
+
+ Store(Lor(b600, b60a), Local0)
+ m600(arg0, 24, Local0, Ones)
+
+ Store(Lor(b60a, b600), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ Method(m64o, 1)
+ {
+ // LAnd
+ Concatenate(arg0, "-m05f", Local0)
+ SRMT(Local0)
+ m05f(Local0)
+ Concatenate(arg0, "-m060", Local0)
+ SRMT(Local0)
+ m060(Local0)
+
+ // LOr
+ Concatenate(arg0, "-m062", Local0)
+ SRMT(Local0)
+ m062(Local0)
+ Concatenate(arg0, "-m063", Local0)
+ SRMT(Local0)
+ m063(Local0)
+ }
+
+ Method(m32o, 1)
+ {
+ // LAnd
+ Concatenate(arg0, "-m05f", Local0)
+ SRMT(Local0)
+ m05f(Local0)
+ Concatenate(arg0, "-m061", Local0)
+ SRMT(Local0)
+ m061(Local0)
+
+ // LOr
+ Concatenate(arg0, "-m062", Local0)
+ SRMT(Local0)
+ m062(Local0)
+ Concatenate(arg0, "-m064", Local0)
+ SRMT(Local0)
+ m064(Local0)
+ }
+
+
+ // Buffer to Integer conversion of the Buffer second operand of
+ // Logical operators when the first operand is evaluated as Integer
+ // (LEqual, LGreater, LGreaterEqual, LLess, LLessEqual, LNotEqual)
+
+ Method(m64p, 1)
+ {
+ Name(b60a, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5})
+
+ // LEqual
+
+ Store(LEqual(0xfe7cb391d650a284, b60a), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual(0xfe7cb391d650a285, b60a), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(0xfe7cb391d650a283, b60a), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LEqual(aui4, b60a), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ Store(LEqual(auid, b60a), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LEqual(auif, b60a), Local0)
+ m600(arg0, 5, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aui4)), b60a), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(auid)), b60a), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ Store(LEqual(Derefof(Refof(auif)), b60a), Local0)
+ m600(arg0, 8, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paui, 4)), b60a), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paui, 13)), b60a), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LEqual(Derefof(Index(paui, 15)), b60a), Local0)
+ m600(arg0, 11, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LEqual(m601(1, 4), b60a), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(LEqual(m601(1, 13), b60a), Local0)
+ m600(arg0, 13, Local0, Zero)
+
+ Store(LEqual(m601(1, 15), b60a), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(1, 4, 1)), b60a), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(1, 13, 1)), b60a), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LEqual(Derefof(m602(1, 15, 1)), b60a), Local0)
+ m600(arg0, 17, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater(0xfe7cb391d650a284, b60a), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(0xfe7cb391d650a285, b60a), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ Store(LGreater(0xfe7cb391d650a283, b60a), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(aui4, b60a), Local0)
+ m600(arg0, 21, Local0, Zero)
+
+ Store(LGreater(auid, b60a), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(LGreater(auif, b60a), Local0)
+ m600(arg0, 23, Local0, Zero)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aui4)), b60a), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(auid)), b60a), Local0)
+ m600(arg0, 25, Local0, Ones)
+
+ Store(LGreater(Derefof(Refof(auif)), b60a), Local0)
+ m600(arg0, 26, Local0, Zero)
+ }
+
+ Store(LGreater(Derefof(Index(paui, 4)), b60a), Local0)
+ m600(arg0, 27, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paui, 13)), b60a), Local0)
+ m600(arg0, 28, Local0, Ones)
+
+ Store(LGreater(Derefof(Index(paui, 15)), b60a), Local0)
+ m600(arg0, 29, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreater(m601(1, 4), b60a), Local0)
+ m600(arg0, 30, Local0, Zero)
+
+ Store(LGreater(m601(1, 13), b60a), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ Store(LGreater(m601(1, 15), b60a), Local0)
+ m600(arg0, 32, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(1, 4, 1)), b60a), Local0)
+ m600(arg0, 33, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(1, 13, 1)), b60a), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreater(Derefof(m602(1, 15, 1)), b60a), Local0)
+ m600(arg0, 35, Local0, Zero)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual(0xfe7cb391d650a284, b60a), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(0xfe7cb391d650a285, b60a), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ Store(LGreaterEqual(0xfe7cb391d650a283, b60a), Local0)
+ m600(arg0, 38, Local0, Zero)
+
+ Store(LGreaterEqual(aui4, b60a), Local0)
+ m600(arg0, 39, Local0, Ones)
+
+ Store(LGreaterEqual(auid, b60a), Local0)
+ m600(arg0, 40, Local0, Ones)
+
+ Store(LGreaterEqual(auif, b60a), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aui4)), b60a), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auid)), b60a), Local0)
+ m600(arg0, 43, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auif)), b60a), Local0)
+ m600(arg0, 44, Local0, Zero)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paui, 4)), b60a), Local0)
+ m600(arg0, 45, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 13)), b60a), Local0)
+ m600(arg0, 46, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 15)), b60a), Local0)
+ m600(arg0, 47, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreaterEqual(m601(1, 4), b60a), Local0)
+ m600(arg0, 48, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 13), b60a), Local0)
+ m600(arg0, 49, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 15), b60a), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(1, 4, 1)), b60a), Local0)
+ m600(arg0, 51, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 13, 1)), b60a), Local0)
+ m600(arg0, 52, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 15, 1)), b60a), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLess
+
+ Store(LLess(0xfe7cb391d650a284, b60a), Local0)
+ m600(arg0, 54, Local0, Zero)
+
+ Store(LLess(0xfe7cb391d650a285, b60a), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLess(0xfe7cb391d650a283, b60a), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLess(aui4, b60a), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLess(auid, b60a), Local0)
+ m600(arg0, 58, Local0, Zero)
+
+ Store(LLess(auif, b60a), Local0)
+ m600(arg0, 59, Local0, Ones)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aui4)), b60a), Local0)
+ m600(arg0, 60, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auid)), b60a), Local0)
+ m600(arg0, 61, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auif)), b60a), Local0)
+ m600(arg0, 62, Local0, Ones)
+ }
+
+ Store(LLess(Derefof(Index(paui, 4)), b60a), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 13)), b60a), Local0)
+ m600(arg0, 64, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 15)), b60a), Local0)
+ m600(arg0, 65, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLess(m601(1, 4), b60a), Local0)
+ m600(arg0, 66, Local0, Zero)
+
+ Store(LLess(m601(1, 13), b60a), Local0)
+ m600(arg0, 67, Local0, Zero)
+
+ Store(LLess(m601(1, 15), b60a), Local0)
+ m600(arg0, 68, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLess(Derefof(m602(1, 4, 1)), b60a), Local0)
+ m600(arg0, 69, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 13, 1)), b60a), Local0)
+ m600(arg0, 70, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 15, 1)), b60a), Local0)
+ m600(arg0, 71, Local0, Ones)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual(0xfe7cb391d650a284, b60a), Local0)
+ m600(arg0, 72, Local0, Ones)
+
+ Store(LLessEqual(0xfe7cb391d650a285, b60a), Local0)
+ m600(arg0, 73, Local0, Zero)
+
+ Store(LLessEqual(0xfe7cb391d650a283, b60a), Local0)
+ m600(arg0, 74, Local0, Ones)
+
+ Store(LLessEqual(aui4, b60a), Local0)
+ m600(arg0, 75, Local0, Ones)
+
+ Store(LLessEqual(auid, b60a), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LLessEqual(auif, b60a), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aui4)), b60a), Local0)
+ m600(arg0, 78, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(auid)), b60a), Local0)
+ m600(arg0, 79, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Refof(auif)), b60a), Local0)
+ m600(arg0, 80, Local0, Ones)
+ }
+
+ Store(LLessEqual(Derefof(Index(paui, 4)), b60a), Local0)
+ m600(arg0, 81, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paui, 13)), b60a), Local0)
+ m600(arg0, 82, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Index(paui, 15)), b60a), Local0)
+ m600(arg0, 83, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLessEqual(m601(1, 4), b60a), Local0)
+ m600(arg0, 84, Local0, Ones)
+
+ Store(LLessEqual(m601(1, 13), b60a), Local0)
+ m600(arg0, 85, Local0, Zero)
+
+ Store(LLessEqual(m601(1, 15), b60a), Local0)
+ m600(arg0, 86, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(1, 4, 1)), b60a), Local0)
+ m600(arg0, 87, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(1, 13, 1)), b60a), Local0)
+ m600(arg0, 88, Local0, Zero)
+
+ Store(LLessEqual(Derefof(m602(1, 15, 1)), b60a), Local0)
+ m600(arg0, 89, Local0, Ones)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual(0xfe7cb391d650a284, b60a), Local0)
+ m600(arg0, 90, Local0, Zero)
+
+ Store(LNotEqual(0xfe7cb391d650a285, b60a), Local0)
+ m600(arg0, 91, Local0, Ones)
+
+ Store(LNotEqual(0xfe7cb391d650a283, b60a), Local0)
+ m600(arg0, 92, Local0, Ones)
+
+ Store(LNotEqual(aui4, b60a), Local0)
+ m600(arg0, 93, Local0, Zero)
+
+ Store(LNotEqual(auid, b60a), Local0)
+ m600(arg0, 94, Local0, Ones)
+
+ Store(LNotEqual(auif, b60a), Local0)
+ m600(arg0, 95, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aui4)), b60a), Local0)
+ m600(arg0, 96, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(auid)), b60a), Local0)
+ m600(arg0, 97, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Refof(auif)), b60a), Local0)
+ m600(arg0, 98, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paui, 4)), b60a), Local0)
+ m600(arg0, 99, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paui, 13)), b60a), Local0)
+ m600(arg0, 100, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Index(paui, 15)), b60a), Local0)
+ m600(arg0, 101, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LNotEqual(m601(1, 4), b60a), Local0)
+ m600(arg0, 102, Local0, Zero)
+
+ Store(LNotEqual(m601(1, 13), b60a), Local0)
+ m600(arg0, 103, Local0, Ones)
+
+ Store(LNotEqual(m601(1, 15), b60a), Local0)
+ m600(arg0, 104, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(1, 4, 1)), b60a), Local0)
+ m600(arg0, 105, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(1, 13, 1)), b60a), Local0)
+ m600(arg0, 106, Local0, Ones)
+
+ Store(LNotEqual(Derefof(m602(1, 15, 1)), b60a), Local0)
+ m600(arg0, 107, Local0, Ones)
+ }
+ }
+
+ Method(m32p, 1)
+ {
+ Name(b60a, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5})
+
+ // LEqual
+
+ Store(LEqual(0xd650a284, b60a), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual(0xd650a285, b60a), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(0xd650a283, b60a), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LEqual(auik, b60a), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ Store(LEqual(auil, b60a), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LEqual(auim, b60a), Local0)
+ m600(arg0, 5, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(auik)), b60a), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(auil)), b60a), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ Store(LEqual(Derefof(Refof(auim)), b60a), Local0)
+ m600(arg0, 8, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paui, 20)), b60a), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paui, 21)), b60a), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LEqual(Derefof(Index(paui, 22)), b60a), Local0)
+ m600(arg0, 11, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LEqual(m601(1, 20), b60a), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(LEqual(m601(1, 21), b60a), Local0)
+ m600(arg0, 13, Local0, Zero)
+
+ Store(LEqual(m601(1, 22), b60a), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(1, 20, 1)), b60a), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LEqual(Derefof(m601(1, 21, 1)), b60a), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LEqual(Derefof(m601(1, 22, 1)), b60a), Local0)
+ m600(arg0, 17, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater(0xd650a284, b60a), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(0xd650a285, b60a), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ Store(LGreater(0xd650a283, b60a), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(auik, b60a), Local0)
+ m600(arg0, 21, Local0, Zero)
+
+ Store(LGreater(auil, b60a), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(LGreater(auim, b60a), Local0)
+ m600(arg0, 23, Local0, Zero)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(auik)), b60a), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(auil)), b60a), Local0)
+ m600(arg0, 25, Local0, Ones)
+
+ Store(LGreater(Derefof(Refof(auim)), b60a), Local0)
+ m600(arg0, 26, Local0, Zero)
+ }
+
+ Store(LGreater(Derefof(Index(paui, 20)), b60a), Local0)
+ m600(arg0, 27, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paui, 21)), b60a), Local0)
+ m600(arg0, 28, Local0, Ones)
+
+ Store(LGreater(Derefof(Index(paui, 22)), b60a), Local0)
+ m600(arg0, 29, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreater(m601(1, 20), b60a), Local0)
+ m600(arg0, 30, Local0, Zero)
+
+ Store(LGreater(m601(1, 21), b60a), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ Store(LGreater(m601(1, 22), b60a), Local0)
+ m600(arg0, 32, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(1, 20, 1)), b60a), Local0)
+ m600(arg0, 33, Local0, Zero)
+
+ Store(LGreater(Derefof(m601(1, 21, 1)), b60a), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreater(Derefof(m601(1, 22, 1)), b60a), Local0)
+ m600(arg0, 35, Local0, Zero)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual(0xd650a284, b60a), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(0xd650a285, b60a), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ Store(LGreaterEqual(0xd650a283, b60a), Local0)
+ m600(arg0, 38, Local0, Zero)
+
+ Store(LGreaterEqual(auik, b60a), Local0)
+ m600(arg0, 39, Local0, Ones)
+
+ Store(LGreaterEqual(auil, b60a), Local0)
+ m600(arg0, 40, Local0, Ones)
+
+ Store(LGreaterEqual(auim, b60a), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(auik)), b60a), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auil)), b60a), Local0)
+ m600(arg0, 43, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auim)), b60a), Local0)
+ m600(arg0, 44, Local0, Zero)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paui, 20)), b60a), Local0)
+ m600(arg0, 45, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 21)), b60a), Local0)
+ m600(arg0, 46, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 22)), b60a), Local0)
+ m600(arg0, 47, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreaterEqual(m601(1, 20), b60a), Local0)
+ m600(arg0, 48, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 21), b60a), Local0)
+ m600(arg0, 49, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 22), b60a), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(1, 20, 1)), b60a), Local0)
+ m600(arg0, 51, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m601(1, 21, 1)), b60a), Local0)
+ m600(arg0, 52, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m601(1, 22, 1)), b60a), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLess
+
+ Store(LLess(0xd650a284, b60a), Local0)
+ m600(arg0, 54, Local0, Zero)
+
+ Store(LLess(0xd650a285, b60a), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLess(0xd650a283, b60a), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLess(auik, b60a), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLess(auil, b60a), Local0)
+ m600(arg0, 58, Local0, Zero)
+
+ Store(LLess(auim, b60a), Local0)
+ m600(arg0, 59, Local0, Ones)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(auik)), b60a), Local0)
+ m600(arg0, 60, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auil)), b60a), Local0)
+ m600(arg0, 61, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auim)), b60a), Local0)
+ m600(arg0, 62, Local0, Ones)
+ }
+
+ Store(LLess(Derefof(Index(paui, 20)), b60a), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 21)), b60a), Local0)
+ m600(arg0, 64, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 22)), b60a), Local0)
+ m600(arg0, 65, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLess(m601(1, 20), b60a), Local0)
+ m600(arg0, 66, Local0, Zero)
+
+ Store(LLess(m601(1, 21), b60a), Local0)
+ m600(arg0, 67, Local0, Zero)
+
+ Store(LLess(m601(1, 22), b60a), Local0)
+ m600(arg0, 68, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLess(Derefof(m602(1, 20, 1)), b60a), Local0)
+ m600(arg0, 69, Local0, Zero)
+
+ Store(LLess(Derefof(m601(1, 21, 1)), b60a), Local0)
+ m600(arg0, 70, Local0, Zero)
+
+ Store(LLess(Derefof(m601(1, 22, 1)), b60a), Local0)
+ m600(arg0, 71, Local0, Ones)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual(0xd650a284, b60a), Local0)
+ m600(arg0, 72, Local0, Ones)
+
+ Store(LLessEqual(0xd650a285, b60a), Local0)
+ m600(arg0, 73, Local0, Zero)
+
+ Store(LLessEqual(0xd650a283, b60a), Local0)
+ m600(arg0, 74, Local0, Ones)
+
+ Store(LLessEqual(auik, b60a), Local0)
+ m600(arg0, 75, Local0, Ones)
+
+ Store(LLessEqual(auil, b60a), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LLessEqual(auim, b60a), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(auik)), b60a), Local0)
+ m600(arg0, 78, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(auil)), b60a), Local0)
+ m600(arg0, 79, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Refof(auim)), b60a), Local0)
+ m600(arg0, 80, Local0, Ones)
+ }
+
+ Store(LLessEqual(Derefof(Index(paui, 20)), b60a), Local0)
+ m600(arg0, 81, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paui, 21)), b60a), Local0)
+ m600(arg0, 82, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Index(paui, 22)), b60a), Local0)
+ m600(arg0, 83, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLessEqual(m601(1, 20), b60a), Local0)
+ m600(arg0, 84, Local0, Ones)
+
+ Store(LLessEqual(m601(1, 21), b60a), Local0)
+ m600(arg0, 85, Local0, Zero)
+
+ Store(LLessEqual(m601(1, 22), b60a), Local0)
+ m600(arg0, 86, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(1, 20, 1)), b60a), Local0)
+ m600(arg0, 87, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m601(1, 21, 1)), b60a), Local0)
+ m600(arg0, 88, Local0, Zero)
+
+ Store(LLessEqual(Derefof(m601(1, 22, 1)), b60a), Local0)
+ m600(arg0, 89, Local0, Ones)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual(0xd650a284, b60a), Local0)
+ m600(arg0, 90, Local0, Zero)
+
+ Store(LNotEqual(0xd650a285, b60a), Local0)
+ m600(arg0, 91, Local0, Ones)
+
+ Store(LNotEqual(0xd650a283, b60a), Local0)
+ m600(arg0, 92, Local0, Ones)
+
+ Store(LNotEqual(auik, b60a), Local0)
+ m600(arg0, 93, Local0, Zero)
+
+ Store(LNotEqual(auil, b60a), Local0)
+ m600(arg0, 94, Local0, Ones)
+
+ Store(LNotEqual(auim, b60a), Local0)
+ m600(arg0, 95, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(auik)), b60a), Local0)
+ m600(arg0, 96, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(auil)), b60a), Local0)
+ m600(arg0, 97, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Refof(auim)), b60a), Local0)
+ m600(arg0, 98, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paui, 20)), b60a), Local0)
+ m600(arg0, 99, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paui, 21)), b60a), Local0)
+ m600(arg0, 100, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Index(paui, 22)), b60a), Local0)
+ m600(arg0, 101, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LNotEqual(m601(1, 20), b60a), Local0)
+ m600(arg0, 102, Local0, Zero)
+
+ Store(LNotEqual(m601(1, 21), b60a), Local0)
+ m600(arg0, 103, Local0, Ones)
+
+ Store(LNotEqual(m601(1, 22), b60a), Local0)
+ m600(arg0, 104, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(1, 20, 1)), b60a), Local0)
+ m600(arg0, 105, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m601(1, 21, 1)), b60a), Local0)
+ m600(arg0, 106, Local0, Ones)
+
+ Store(LNotEqual(Derefof(m601(1, 22, 1)), b60a), Local0)
+ m600(arg0, 107, Local0, Ones)
+ }
+ }
+
+ Method(m065, 1)
+ {
+ Name(b606, Buffer(3){0x21, 0x03, 0x00})
+
+ // LEqual
+
+ Store(LEqual(0x321, b606), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual(0x322, b606), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(0x320, b606), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LEqual(aui1, b606), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ Store(LEqual(auig, b606), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LEqual(auih, b606), Local0)
+ m600(arg0, 5, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aui1)), b606), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(auig)), b606), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ Store(LEqual(Derefof(Refof(auih)), b606), Local0)
+ m600(arg0, 8, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paui, 1)), b606), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paui, 16)), b606), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LEqual(Derefof(Index(paui, 17)), b606), Local0)
+ m600(arg0, 11, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LEqual(m601(1, 1), b606), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(LEqual(m601(1, 16), b606), Local0)
+ m600(arg0, 13, Local0, Zero)
+
+ Store(LEqual(m601(1, 17), b606), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(1, 1, 1)), b606), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(1, 16, 1)), b606), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LEqual(Derefof(m602(1, 17, 1)), b606), Local0)
+ m600(arg0, 17, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater(0x321, b606), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(0x322, b606), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ Store(LGreater(0x320, b606), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(aui1, b606), Local0)
+ m600(arg0, 21, Local0, Zero)
+
+ Store(LGreater(auig, b606), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(LGreater(auih, b606), Local0)
+ m600(arg0, 23, Local0, Zero)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aui1)), b606), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(auig)), b606), Local0)
+ m600(arg0, 25, Local0, Ones)
+
+ Store(LGreater(Derefof(Refof(auih)), b606), Local0)
+ m600(arg0, 26, Local0, Zero)
+ }
+
+ Store(LGreater(Derefof(Index(paui, 1)), b606), Local0)
+ m600(arg0, 27, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paui, 16)), b606), Local0)
+ m600(arg0, 28, Local0, Ones)
+
+ Store(LGreater(Derefof(Index(paui, 17)), b606), Local0)
+ m600(arg0, 29, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreater(m601(1, 1), b606), Local0)
+ m600(arg0, 30, Local0, Zero)
+
+ Store(LGreater(m601(1, 16), b606), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ Store(LGreater(m601(1, 17), b606), Local0)
+ m600(arg0, 32, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(1, 1, 1)), b606), Local0)
+ m600(arg0, 33, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(1, 16, 1)), b606), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreater(Derefof(m602(1, 17, 1)), b606), Local0)
+ m600(arg0, 35, Local0, Zero)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual(0x321, b606), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(0x322, b606), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ Store(LGreaterEqual(0x320, b606), Local0)
+ m600(arg0, 38, Local0, Zero)
+
+ Store(LGreaterEqual(aui1, b606), Local0)
+ m600(arg0, 39, Local0, Ones)
+
+ Store(LGreaterEqual(auig, b606), Local0)
+ m600(arg0, 40, Local0, Ones)
+
+ Store(LGreaterEqual(auih, b606), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aui1)), b606), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auig)), b606), Local0)
+ m600(arg0, 43, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auih)), b606), Local0)
+ m600(arg0, 44, Local0, Zero)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paui, 1)), b606), Local0)
+ m600(arg0, 45, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 16)), b606), Local0)
+ m600(arg0, 46, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 17)), b606), Local0)
+ m600(arg0, 47, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreaterEqual(m601(1, 1), b606), Local0)
+ m600(arg0, 48, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 16), b606), Local0)
+ m600(arg0, 49, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 17), b606), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(1, 1, 1)), b606), Local0)
+ m600(arg0, 51, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 16, 1)), b606), Local0)
+ m600(arg0, 52, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 17, 1)), b606), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLess
+
+ Store(LLess(0x321, b606), Local0)
+ m600(arg0, 54, Local0, Zero)
+
+ Store(LLess(0x322, b606), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLess(0x320, b606), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLess(aui1, b606), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLess(auig, b606), Local0)
+ m600(arg0, 58, Local0, Zero)
+
+ Store(LLess(auih, b606), Local0)
+ m600(arg0, 59, Local0, Ones)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aui1)), b606), Local0)
+ m600(arg0, 60, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auig)), b606), Local0)
+ m600(arg0, 61, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auih)), b606), Local0)
+ m600(arg0, 62, Local0, Ones)
+ }
+
+ Store(LLess(Derefof(Index(paui, 1)), b606), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 16)), b606), Local0)
+ m600(arg0, 64, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 17)), b606), Local0)
+ m600(arg0, 65, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLess(m601(1, 1), b606), Local0)
+ m600(arg0, 66, Local0, Zero)
+
+ Store(LLess(m601(1, 16), b606), Local0)
+ m600(arg0, 67, Local0, Zero)
+
+ Store(LLess(m601(1, 17), b606), Local0)
+ m600(arg0, 68, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLess(Derefof(m602(1, 1, 1)), b606), Local0)
+ m600(arg0, 69, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 16, 1)), b606), Local0)
+ m600(arg0, 70, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 17, 1)), b606), Local0)
+ m600(arg0, 71, Local0, Ones)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual(0x321, b606), Local0)
+ m600(arg0, 72, Local0, Ones)
+
+ Store(LLessEqual(0x322, b606), Local0)
+ m600(arg0, 73, Local0, Zero)
+
+ Store(LLessEqual(0x320, b606), Local0)
+ m600(arg0, 74, Local0, Ones)
+
+ Store(LLessEqual(aui1, b606), Local0)
+ m600(arg0, 75, Local0, Ones)
+
+ Store(LLessEqual(auig, b606), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LLessEqual(auih, b606), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aui1)), b606), Local0)
+ m600(arg0, 78, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(auig)), b606), Local0)
+ m600(arg0, 79, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Refof(auih)), b606), Local0)
+ m600(arg0, 80, Local0, Ones)
+ }
+
+ Store(LLessEqual(Derefof(Index(paui, 1)), b606), Local0)
+ m600(arg0, 81, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paui, 16)), b606), Local0)
+ m600(arg0, 82, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Index(paui, 17)), b606), Local0)
+ m600(arg0, 83, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLessEqual(m601(1, 1), b606), Local0)
+ m600(arg0, 84, Local0, Ones)
+
+ Store(LLessEqual(m601(1, 16), b606), Local0)
+ m600(arg0, 85, Local0, Zero)
+
+ Store(LLessEqual(m601(1, 17), b606), Local0)
+ m600(arg0, 86, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(1, 1, 1)), b606), Local0)
+ m600(arg0, 87, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(1, 16, 1)), b606), Local0)
+ m600(arg0, 88, Local0, Zero)
+
+ Store(LLessEqual(Derefof(m602(1, 17, 1)), b606), Local0)
+ m600(arg0, 89, Local0, Ones)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual(0x321, b606), Local0)
+ m600(arg0, 90, Local0, Zero)
+
+ Store(LNotEqual(0x322, b606), Local0)
+ m600(arg0, 91, Local0, Ones)
+
+ Store(LNotEqual(0x320, b606), Local0)
+ m600(arg0, 92, Local0, Ones)
+
+ Store(LNotEqual(aui1, b606), Local0)
+ m600(arg0, 93, Local0, Zero)
+
+ Store(LNotEqual(auig, b606), Local0)
+ m600(arg0, 94, Local0, Ones)
+
+ Store(LNotEqual(auih, b606), Local0)
+ m600(arg0, 95, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aui1)), b606), Local0)
+ m600(arg0, 96, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(auig)), b606), Local0)
+ m600(arg0, 97, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Refof(auih)), b606), Local0)
+ m600(arg0, 98, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paui, 1)), b606), Local0)
+ m600(arg0, 99, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paui, 16)), b606), Local0)
+ m600(arg0, 100, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Index(paui, 17)), b606), Local0)
+ m600(arg0, 101, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LNotEqual(m601(1, 1), b606), Local0)
+ m600(arg0, 102, Local0, Zero)
+
+ Store(LNotEqual(m601(1, 16), b606), Local0)
+ m600(arg0, 103, Local0, Ones)
+
+ Store(LNotEqual(m601(1, 17), b606), Local0)
+ m600(arg0, 104, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(1, 1, 1)), b606), Local0)
+ m600(arg0, 105, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(1, 16, 1)), b606), Local0)
+ m600(arg0, 106, Local0, Ones)
+
+ Store(LNotEqual(Derefof(m602(1, 17, 1)), b606), Local0)
+ m600(arg0, 107, Local0, Ones)
+ }
+ }
+
+ // Buffer to Integer intermediate conversion of the Buffer second
+ // operand of Concatenate operator in case the first one is Integer
+
+ Method(m64q, 1)
+ {
+ Name(b606, Buffer(3){0x21, 0x03, 0x00})
+ Name(b60a, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5})
+
+ Store(Concatenate(0x321, b606), Local0)
+ m600(arg0, 0, Local0, bb26)
+
+ Store(Concatenate(0x321, b60a), Local0)
+ m600(arg0, 1, Local0, bb21)
+
+
+ Store(Concatenate(aui1, b606), Local0)
+ m600(arg0, 2, Local0, bb26)
+
+ Store(Concatenate(aui1, b60a), Local0)
+ m600(arg0, 3, Local0, bb21)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aui1)), b606), Local0)
+ m600(arg0, 4, Local0, bb26)
+
+ Store(Concatenate(Derefof(Refof(aui1)), b60a), Local0)
+ m600(arg0, 5, Local0, bb21)
+ }
+
+ Store(Concatenate(Derefof(Index(paui, 1)), b606), Local0)
+ m600(arg0, 6, Local0, bb26)
+
+ Store(Concatenate(Derefof(Index(paui, 1)), b60a), Local0)
+ m600(arg0, 7, Local0, bb21)
+
+ // Method returns Integer
+
+ Store(Concatenate(m601(1, 1), b606), Local0)
+ m600(arg0, 8, Local0, bb26)
+
+ Store(Concatenate(m601(1, 1), b60a), Local0)
+ m600(arg0, 9, Local0, bb21)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(1, 1, 1)), b606), Local0)
+ m600(arg0, 10, Local0, bb26)
+
+ Store(Concatenate(Derefof(m602(1, 1, 1)), b60a), Local0)
+ m600(arg0, 11, Local0, bb21)
+ }
+
+ Concatenate(0x321, b606, Local0)
+ m600(arg0, 12, Local0, bb26)
+
+ Concatenate(0x321, b60a, Local0)
+ m600(arg0, 13, Local0, bb21)
+
+
+ Concatenate(aui1, b606, Local0)
+ m600(arg0, 14, Local0, bb26)
+
+ Concatenate(aui1, b60a, Local0)
+ m600(arg0, 15, Local0, bb21)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aui1)), b606, Local0)
+ m600(arg0, 16, Local0, bb26)
+
+ Concatenate(Derefof(Refof(aui1)), b60a, Local0)
+ m600(arg0, 17, Local0, bb21)
+ }
+
+ Concatenate(Derefof(Index(paui, 1)), b606, Local0)
+ m600(arg0, 18, Local0, bb26)
+
+ Concatenate(Derefof(Index(paui, 1)), b60a, Local0)
+ m600(arg0, 19, Local0, bb21)
+
+ // Method returns Integer
+
+ Concatenate(m601(1, 1), b606, Local0)
+ m600(arg0, 20, Local0, bb26)
+
+ Concatenate(m601(1, 1), b60a, Local0)
+ m600(arg0, 21, Local0, bb21)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Concatenate(Derefof(m602(1, 1, 1)), b606, Local0)
+ m600(arg0, 22, Local0, bb26)
+
+ Concatenate(Derefof(m602(1, 1, 1)), b60a, Local0)
+ m600(arg0, 23, Local0, bb21)
+ }
+ }
+
+ Method(m32q, 1)
+ {
+ Name(b606, Buffer(3){0x21, 0x03, 0x00})
+ Name(b60a, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5})
+
+ Store(Concatenate(0x321, b606), Local0)
+ m600(arg0, 0, Local0, bb27)
+
+ Store(Concatenate(0x321, b60a), Local0)
+ m600(arg0, 1, Local0, bb28)
+
+
+ Store(Concatenate(aui1, b606), Local0)
+ m600(arg0, 2, Local0, bb27)
+
+ Store(Concatenate(aui1, b60a), Local0)
+ m600(arg0, 3, Local0, bb28)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aui1)), b606), Local0)
+ m600(arg0, 4, Local0, bb27)
+
+ Store(Concatenate(Derefof(Refof(aui1)), b60a), Local0)
+ m600(arg0, 5, Local0, bb28)
+ }
+
+ Store(Concatenate(Derefof(Index(paui, 1)), b606), Local0)
+ m600(arg0, 6, Local0, bb27)
+
+ Store(Concatenate(Derefof(Index(paui, 1)), b60a), Local0)
+ m600(arg0, 7, Local0, bb28)
+
+ // Method returns Integer
+
+ Store(Concatenate(m601(1, 1), b606), Local0)
+ m600(arg0, 8, Local0, bb27)
+
+ Store(Concatenate(m601(1, 1), b60a), Local0)
+ m600(arg0, 9, Local0, bb28)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(1, 1, 1)), b606), Local0)
+ m600(arg0, 10, Local0, bb27)
+
+ Store(Concatenate(Derefof(m602(1, 1, 1)), b60a), Local0)
+ m600(arg0, 11, Local0, bb28)
+ }
+
+ Concatenate(0x321, b606, Local0)
+ m600(arg0, 12, Local0, bb27)
+
+ Concatenate(0x321, b60a, Local0)
+ m600(arg0, 13, Local0, bb28)
+
+
+ Concatenate(aui1, b606, Local0)
+ m600(arg0, 14, Local0, bb27)
+
+ Concatenate(aui1, b60a, Local0)
+ m600(arg0, 15, Local0, bb28)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aui1)), b606, Local0)
+ m600(arg0, 16, Local0, bb27)
+
+ Concatenate(Derefof(Refof(aui1)), b60a, Local0)
+ m600(arg0, 17, Local0, bb28)
+ }
+
+ Concatenate(Derefof(Index(paui, 1)), b606, Local0)
+ m600(arg0, 18, Local0, bb27)
+
+ Concatenate(Derefof(Index(paui, 1)), b60a, Local0)
+ m600(arg0, 20, Local0, bb28)
+
+ // Method returns Integer
+
+ Concatenate(m601(1, 1), b606, Local0)
+ m600(arg0, 21, Local0, bb27)
+
+ Concatenate(m601(1, 1), b60a, Local0)
+ m600(arg0, 22, Local0, bb28)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Concatenate(Derefof(m602(1, 1, 1)), b606, Local0)
+ m600(arg0, 23, Local0, bb27)
+
+ Concatenate(Derefof(m602(1, 1, 1)), b60a, Local0)
+ m600(arg0, 24, Local0, bb28)
+ }
+ }
+
+ // Buffer to Integer conversion of the Buffer Length (second)
+ // operand of the ToString operator
+
+ // Common 32-bit/64-bit test
+ Method(m066, 1)
+ {
+ Name(b606, Buffer(3){0x21, 0x03, 0x00})
+ Name(b60e, Buffer(1){0xb})
+
+ Store(ToString(Buffer() {"This is auxiliary Buffer"},
+ b60e), Local0)
+ m600(arg0, 0, Local0, bs1b)
+
+ Store(ToString(Buffer() {"This is auxiliary Buffer"},
+ b606), Local0)
+ m600(arg0, 1, Local0, bs1c)
+
+ Store(ToString(aub6, b60e), Local0)
+ m600(arg0, 2, Local0, bs1b)
+
+ Store(ToString(aub6, b606), Local0)
+ m600(arg0, 3, Local0, bs1c)
+
+ if (y078) {
+ Store(ToString(Derefof(Refof(aub6)), b60e), Local0)
+ m600(arg0, 4, Local0, bs1b)
+
+ Store(ToString(Derefof(Refof(aub6)), b606), Local0)
+ m600(arg0, 5, Local0, bs1c)
+ }
+
+ Store(ToString(Derefof(Index(paub, 6)), b60e), Local0)
+ m600(arg0, 6, Local0, bs1b)
+
+ Store(ToString(Derefof(Index(paub, 6)), b606), Local0)
+ m600(arg0, 7, Local0, bs1c)
+
+ // Method returns Buffer
+
+ Store(ToString(m601(3, 6), b60e), Local0)
+ m600(arg0, 8, Local0, bs1b)
+
+ Store(ToString(m601(3, 6), b606), Local0)
+ m600(arg0, 9, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(ToString(Derefof(m602(3, 6, 1)), b60e), Local0)
+ m600(arg0, 10, Local0, bs1b)
+
+ Store(ToString(Derefof(m602(3, 6, 1)), b606), Local0)
+ m600(arg0, 11, Local0, bs1c)
+ }
+
+ ToString(Buffer() {"This is auxiliary Buffer"},
+ b60e, Local0)
+ m600(arg0, 12, Local0, bs1b)
+
+ ToString(Buffer() {"This is auxiliary Buffer"},
+ b606, Local0)
+ m600(arg0, 13, Local0, bs1c)
+
+ ToString(aub6, b60e, Local0)
+ m600(arg0, 14, Local0, bs1b)
+
+ ToString(aub6, b606, Local0)
+ m600(arg0, 15, Local0, bs1c)
+
+ if (y078) {
+ ToString(Derefof(Refof(aub6)), b60e, Local0)
+ m600(arg0, 16, Local0, bs1b)
+
+ ToString(Derefof(Refof(aub6)), b606, Local0)
+ m600(arg0, 17, Local0, bs1c)
+ }
+
+ ToString(Derefof(Index(paub, 6)), b60e, Local0)
+ m600(arg0, 18, Local0, bs1b)
+
+ ToString(Derefof(Index(paub, 6)), b606, Local0)
+ m600(arg0, 19, Local0, bs1c)
+
+ // Method returns Buffer
+
+ ToString(m601(3, 6), b60e, Local0)
+ m600(arg0, 20, Local0, bs1b)
+
+ ToString(m601(3, 6), b606, Local0)
+ m600(arg0, 21, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ ToString(Derefof(m602(3, 6, 1)), b60e, Local0)
+ m600(arg0, 22, Local0, bs1b)
+
+ ToString(Derefof(m602(3, 6, 1)), b606, Local0)
+ m600(arg0, 23, Local0, bs1c)
+ }
+ }
+
+ Method(m64r, 1)
+ {
+ Name(b60a, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5})
+
+ Store(ToString(Buffer() {"This is auxiliary Buffer"},
+ b60a), Local0)
+ m600(arg0, 0, Local0, bs1c)
+
+ Store(ToString(aub6, b60a), Local0)
+ m600(arg0, 1, Local0, bs1c)
+
+ if (y078) {
+ Store(ToString(Derefof(Refof(aub6)), b60a), Local0)
+ m600(arg0, 2, Local0, bs1c)
+ }
+
+ Store(ToString(Derefof(Index(paub, 6)), b60a), Local0)
+ m600(arg0, 3, Local0, bs1c)
+
+ // Method returns Buffer
+
+ Store(ToString(m601(3, 6), b60a), Local0)
+ m600(arg0, 4, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(ToString(Derefof(m602(3, 6, 1)), b60a), Local0)
+ m600(arg0, 5, Local0, bs1c)
+ }
+
+ ToString(Buffer() {"This is auxiliary Buffer"},
+ b60a, Local0)
+ m600(arg0, 6, Local0, bs1c)
+
+ ToString(aub6, b60a, Local0)
+ m600(arg0, 7, Local0, bs1c)
+
+ if (y078) {
+ ToString(Derefof(Refof(aub6)), b60a, Local0)
+ m600(arg0, 8, Local0, bs1c)
+ }
+
+ ToString(Derefof(Index(paub, 6)), b60a, Local0)
+ m600(arg0, 9, Local0, bs1c)
+
+ // Method returns Buffer
+
+ ToString(m601(3, 6), b60a, Local0)
+ m600(arg0, 10, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ ToString(Derefof(m602(3, 6, 1)), b60a, Local0)
+ m600(arg0, 11, Local0, bs1c)
+ }
+ }
+
+ Method(m32r, 1)
+ {
+ Name(b60a, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5})
+
+ Store(ToString(Buffer() {"This is auxiliary Buffer"},
+ b60a), Local0)
+ m600(arg0, 0, Local0, bs1c)
+
+ Store(ToString(aub6, b60a), Local0)
+ m600(arg0, 1, Local0, bs1c)
+
+ if (y078) {
+ Store(ToString(Derefof(Refof(aub6)), b60a), Local0)
+ m600(arg0, 2, Local0, bs1c)
+ }
+
+ Store(ToString(Derefof(Index(paub, 6)), b60a), Local0)
+ m600(arg0, 3, Local0, bs1c)
+
+ // Method returns Buffer
+
+ Store(ToString(m601(3, 6), b60a), Local0)
+ m600(arg0, 4, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(ToString(Derefof(m602(3, 6, 1)), b60a), Local0)
+ m600(arg0, 5, Local0, bs1c)
+ }
+
+ ToString(Buffer() {"This is auxiliary Buffer"},
+ b60a, Local0)
+ m600(arg0, 6, Local0, bs1c)
+
+ ToString(aub6, b60a, Local0)
+ m600(arg0, 7, Local0, bs1c)
+
+ if (y078) {
+ ToString(Derefof(Refof(aub6)), b60a, Local0)
+ m600(arg0, 8, Local0, bs1c)
+ }
+
+ ToString(Derefof(Index(paub, 6)), b60a, Local0)
+ m600(arg0, 9, Local0, bs1c)
+
+ // Method returns Buffer
+
+ ToString(m601(3, 6), b60a, Local0)
+ m600(arg0, 10, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ ToString(Derefof(m602(3, 6, 1)), b60a, Local0)
+ m600(arg0, 11, Local0, bs1c)
+ }
+ }
+
+ // Buffer to Integer conversion of the Buffer Index (second)
+ // operand of the Index operator
+ Method(m067, 1)
+ {
+ Name(b60e, Buffer(1){0xb})
+
+ Store(Index(aus6, b60e), Local0)
+ m600(arg0, 0, Derefof(Local0), bi10)
+
+ Store(Index(aub6, b60e), Local0)
+ m600(arg0, 1, Derefof(Local0), bi10)
+
+ Store(Index(aup0, b60e), Local0)
+ m600(arg0, 2, Derefof(Local0), bi11)
+
+ if (y078) {
+ Store(Index(Derefof(Refof(aus6)), b60e), Local0)
+ m600(arg0, 3, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Refof(aub6)), b60e), Local0)
+ m600(arg0, 4, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Refof(aup0)), b60e), Local0)
+ m600(arg0, 5, Derefof(Local0), bi11)
+ }
+
+ Store(Index(Derefof(Index(paus, 6)), b60e), Local0)
+ m600(arg0, 6, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Index(paub, 6)), b60e), Local0)
+ m600(arg0, 7, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Index(paup, 0)), b60e), Local0)
+ m600(arg0, 8, Derefof(Local0), bi11)
+
+
+ // Method returns Object
+
+ if (y900) {
+ Store(Index(m601(2, 6), b60e), Local0)
+ m600(arg0, 9, Derefof(Local0), bi10)
+
+ Store(Index(m601(3, 6), b60e), Local0)
+ m600(arg0, 10, Derefof(Local0), bi10)
+
+ Store(Index(m601(4, 0), b60e), Local0)
+ m600(arg0, 11, Derefof(Local0), bi11)
+ } else {
+
+ CH03(arg0, z088, 0, 0, 0)
+
+ Index(m601(2, 6), b60e)
+ CH04(arg0, 0, 85, z088, 9, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+
+ Index(m601(3, 6), b60e)
+ CH04(arg0, 0, 85, z088, 10, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+
+ Index(m601(4, 0), b60e)
+ CH04(arg0, 0, 85, z088, 11, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+ }
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Index(Derefof(m602(2, 6, 1)), b60e), Local0)
+ m600(arg0, 12, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(m602(3, 6, 1)), b60e), Local0)
+ m600(arg0, 13, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(m602(4, 0, 1)), b60e), Local0)
+ m600(arg0, 14, Derefof(Local0), bi11)
+ }
+
+ Index(aus6, b60e, Local0)
+ m600(arg0, 15, Derefof(Local0), bi10)
+
+ Index(aub6, b60e, Local0)
+ m600(arg0, 16, Derefof(Local0), bi10)
+
+ Index(aup0, b60e, Local0)
+ m600(arg0, 17, Derefof(Local0), bi11)
+
+ if (y078) {
+ Index(Derefof(Refof(aus6)), b60e, Local0)
+ m600(arg0, 18, Derefof(Local0), bi10)
+
+ Index(Derefof(Refof(aub6)), b60e, Local0)
+ m600(arg0, 19, Derefof(Local0), bi10)
+
+ Index(Derefof(Refof(aup0)), b60e, Local0)
+ m600(arg0, 20, Derefof(Local0), bi11)
+ }
+
+ Index(Derefof(Index(paus, 6)), b60e, Local0)
+ m600(arg0, 21, Derefof(Local0), bi10)
+
+ Index(Derefof(Index(paub, 6)), b60e, Local0)
+ m600(arg0, 22, Derefof(Local0), bi10)
+
+ Index(Derefof(Index(paup, 0)), b60e, Local0)
+ m600(arg0, 23, Derefof(Local0), bi11)
+
+
+ // Method returns Object
+
+ if (y900) {
+ Index(m601(2, 6), b60e, Local0)
+ m600(arg0, 24, Derefof(Local0), bi10)
+
+ Index(m601(3, 6), b60e, Local0)
+ m600(arg0, 25, Derefof(Local0), bi10)
+
+ Index(m601(4, 0), b60e, Local0)
+ m600(arg0, 26, Derefof(Local0), bi11)
+ } else {
+
+ CH03(arg0, z088, 0, 0, 0)
+
+ Index(m601(2, 6), b60e, Local0)
+ CH04(arg0, 0, 85, z088, 24, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+
+ Index(m601(3, 6), b60e, Local0)
+ CH04(arg0, 0, 85, z088, 25, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+
+ Index(m601(4, 0), b60e, Local0)
+ CH04(arg0, 0, 85, z088, 26, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+ }
+
+ // Method returns Reference
+
+ if (y500) {
+ Index(Derefof(m602(2, 6, 1)), b60e, Local0)
+ m600(arg0, 27, Derefof(Local0), bi10)
+
+ Index(Derefof(m602(3, 6, 1)), b60e, Local0)
+ m600(arg0, 28, Derefof(Local0), bi10)
+
+ Index(Derefof(m602(4, 0, 1)), b60e, Local0)
+ m600(arg0, 29, Derefof(Local0), bi11)
+ }
+
+ if (y098) {
+ Store(Index(aus6, b60e, Local1), Local0)
+ m600(arg0, 30, Derefof(Local0), bi10)
+
+ Store(Index(aub6, b60e, Local1), Local0)
+ m600(arg0, 31, Derefof(Local0), bi10)
+
+ Store(Index(aup0, b60e, Local1), Local0)
+ m600(arg0, 32, Derefof(Local0), bi11)
+ }
+
+ if (y078) {
+ Store(Index(Derefof(Refof(aus6)), b60e, Local1), Local0)
+ m600(arg0, 33, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Refof(aub6)), b60e, Local1), Local0)
+ m600(arg0, 34, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Refof(aup0)), b60e, Local1), Local0)
+ m600(arg0, 35, Derefof(Local0), bi11)
+ }
+
+ if (y098) {
+ Store(Index(Derefof(Index(paus, 6)), b60e, Local1), Local0)
+ m600(arg0, 36, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Index(paub, 6)), b60e, Local1), Local0)
+ m600(arg0, 37, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Index(paup, 0)), b60e, Local1), Local0)
+ m600(arg0, 38, Derefof(Local0), bi11)
+ }
+
+ // Method returns Object
+
+ if (LAnd(y900, y098)) {
+ Store(Index(m601(2, 6), b60e, Local1), Local0)
+ m600(arg0, 39, Derefof(Local0), bi10)
+
+ Store(Index(m601(3, 6), b60e, Local1), Local0)
+ m600(arg0, 40, Derefof(Local0), bi10)
+
+ Store(Index(m601(4, 0), b60e, Local1), Local0)
+ m600(arg0, 41, Derefof(Local0), bi11)
+ }
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Index(Derefof(m602(2, 6, 1)), b60e, Local1), Local0)
+ m600(arg0, 42, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(m602(3, 6, 1)), b60e, Local1), Local0)
+ m600(arg0, 43, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(m602(4, 0, 1)), b60e, Local1), Local0)
+ m600(arg0, 44, Derefof(Local0), bi11)
+ }
+ }
+
+ // Buffer to Integer conversion of the String Arg (third)
+ // operand of the Fatal operator
+ // (it can only be checked an exception does not occur)
+ Method(m068, 1)
+ {
+ Name(b606, Buffer(3){0x21, 0x03, 0x00})
+ Name(b60a, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5})
+
+ CH03(arg0, z088, 9, 0, 0)
+ Fatal(0xff, 0xffffffff, b606)
+ if (F64) {
+ Fatal(0xff, 0xffffffff, b60a)
+ } else {
+ Fatal(0xff, 0xffffffff, b60a)
+ }
+ CH03(arg0, z088, 10, 0, 0)
+ }
+
+ // Buffer to Integer conversion of the Buffer Index and Length
+ // operands of the Mid operator
+
+ // Common 32-bit/64-bit test
+ Method(m069, 1)
+ {
+ Name(b60e, Buffer(1){0xb})
+
+ // String to Integer conversion of the String Index operand
+
+ Store(Mid("This is auxiliary String", b60e, 10), Local0)
+ m600(arg0, 0, Local0, bs1d)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, b60e, 10), Local0)
+ m600(arg0, 1, Local0, bb32)
+
+ Store(Mid(aus6, b60e, 10), Local0)
+ m600(arg0, 2, Local0, bs1d)
+
+ Store(Mid(aub6, b60e, 10), Local0)
+ m600(arg0, 3, Local0, bb32)
+
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), b60e, 10), Local0)
+ m600(arg0, 4, Local0, bs1d)
+
+ Store(Mid(Derefof(Refof(aub6)), b60e, 10), Local0)
+ m600(arg0, 5, Local0, bb32)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), b60e, 10), Local0)
+ m600(arg0, 6, Local0, bs1d)
+
+ Store(Mid(Derefof(Index(paub, 6)), b60e, 10), Local0)
+ m600(arg0, 7, Local0, bb32)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), b60e, 10), Local0)
+ m600(arg0, 8, Local0, bs1d)
+
+ Store(Mid(m601(3, 6), b60e, 10), Local0)
+ m600(arg0, 9, Local0, bb32)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), b60e, 10), Local0)
+ m600(arg0, 10, Local0, bs1d)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), b60e, 10), Local0)
+ m600(arg0, 11, Local0, bb32)
+ }
+
+ Mid("This is auxiliary String", b60e, 10, Local0)
+ m600(arg0, 12, Local0, bs1d)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, b60e, 10, Local0)
+ m600(arg0, 13, Local0, bb32)
+
+ Mid(aus6, b60e, 10, Local0)
+ m600(arg0, 14, Local0, bs1d)
+
+ Mid(aub6, b60e, 10, Local0)
+ m600(arg0, 15, Local0, bb32)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), b60e, 10, Local0)
+ m600(arg0, 16, Local0, bs1d)
+
+ Mid(Derefof(Refof(aub6)), b60e, 10, Local0)
+ m600(arg0, 17, Local0, bb32)
+ }
+
+ Mid(Derefof(Index(paus, 6)), b60e, 10, Local0)
+ m600(arg0, 18, Local0, bs1d)
+
+ Mid(Derefof(Index(paub, 6)), b60e, 10, Local0)
+ m600(arg0, 19, Local0, bb32)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), b60e, 10, Local0)
+ m600(arg0, 20, Local0, bs1d)
+
+ Mid(m601(3, 6), b60e, 10, Local0)
+ m600(arg0, 21, Local0, bb32)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), b60e, 10, Local0)
+ m600(arg0, 22, Local0, bs1d)
+
+ Mid(Derefof(m602(3, 6, 1)), b60e, 10, Local0)
+ m600(arg0, 23, Local0, bb32)
+ }
+
+ // String to Integer conversion of the String Length operand
+
+ Store(Mid("This is auxiliary String", 0, b60e), Local0)
+ m600(arg0, 24, Local0, bs1b)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, 0, b60e), Local0)
+ m600(arg0, 25, Local0, bb33)
+
+ Store(Mid(aus6, 0, b60e), Local0)
+ m600(arg0, 26, Local0, bs1b)
+
+ Store(Mid(aub6, 0, b60e), Local0)
+ m600(arg0, 27, Local0, bb33)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), 0, b60e), Local0)
+ m600(arg0, 28, Local0, bs1b)
+
+ Store(Mid(Derefof(Refof(aub6)), 0, b60e), Local0)
+ m600(arg0, 29, Local0, bb33)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), 0, b60e), Local0)
+ m600(arg0, 30, Local0, bs1b)
+
+ Store(Mid(Derefof(Index(paub, 6)), 0, b60e), Local0)
+ m600(arg0, 31, Local0, bb33)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), 0, b60e), Local0)
+ m600(arg0, 32, Local0, bs1b)
+
+ Store(Mid(m601(3, 6), 0, b60e), Local0)
+ m600(arg0, 33, Local0, bb33)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), 0, b60e), Local0)
+ m600(arg0, 34, Local0, bs1b)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), 0, b60e), Local0)
+ m600(arg0, 35, Local0, bb33)
+ }
+
+ Mid("This is auxiliary String", 0, b60e, Local0)
+ m600(arg0, 36, Local0, bs1b)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, 0, b60e, Local0)
+ m600(arg0, 37, Local0, bb33)
+
+ Mid(aus6, 0, b60e, Local0)
+ m600(arg0, 37, Local0, bs1b)
+
+ Mid(aub6, 0, b60e, Local0)
+ m600(arg0, 39, Local0, bb33)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), 0, b60e, Local0)
+ m600(arg0, 40, Local0, bs1b)
+
+ Mid(Derefof(Refof(aub6)), 0, b60e, Local0)
+ m600(arg0, 41, Local0, bb33)
+ }
+
+ Mid(Derefof(Index(paus, 6)), 0, b60e, Local0)
+ m600(arg0, 42, Local0, bs1b)
+
+ Mid(Derefof(Index(paub, 6)), 0, b60e, Local0)
+ m600(arg0, 43, Local0, bb33)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), 0, b60e, Local0)
+ m600(arg0, 44, Local0, bs1b)
+
+ Mid(m601(3, 6), 0, b60e, Local0)
+ m600(arg0, 45, Local0, bb33)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), 0, b60e, Local0)
+ m600(arg0, 46, Local0, bs1b)
+
+ Mid(Derefof(m602(3, 6, 1)), 0, b60e, Local0)
+ m600(arg0, 47, Local0, bb33)
+ }
+ }
+
+ Method(m64s, 1)
+ {
+ Name(b60a, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5})
+ Name(b60e, Buffer(1){0xb})
+
+ // String to Integer conversion of the String Length operand
+
+ Store(Mid("This is auxiliary String", 0, b60a), Local0)
+ m600(arg0, 0, Local0, bs1e)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, 0, b60a), Local0)
+ m600(arg0, 1, Local0, bb34)
+
+ Store(Mid(aus6, 0, b60a), Local0)
+ m600(arg0, 2, Local0, bs1e)
+
+ Store(Mid(aub6, 0, b60a), Local0)
+ m600(arg0, 3, Local0, bb34)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), 0, b60a), Local0)
+ m600(arg0, 4, Local0, bs1e)
+
+ Store(Mid(Derefof(Refof(aub6)), 0, b60a), Local0)
+ m600(arg0, 5, Local0, bb34)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), 0, b60a), Local0)
+ m600(arg0, 6, Local0, bs1e)
+
+ Store(Mid(Derefof(Index(paub, 6)), 0, b60a), Local0)
+ m600(arg0, 7, Local0, bb34)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), 0, b60a), Local0)
+ m600(arg0, 8, Local0, bs1e)
+
+ Store(Mid(m601(3, 6), 0, b60a), Local0)
+ m600(arg0, 9, Local0, bb34)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), 0, b60a), Local0)
+ m600(arg0, 10, Local0, bs1e)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), 0, b60a), Local0)
+ m600(arg0, 11, Local0, bb34)
+ }
+
+ Mid("This is auxiliary String", 0, b60a, Local0)
+ m600(arg0, 12, Local0, bs1e)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, 0, b60a, Local0)
+ m600(arg0, 13, Local0, bb34)
+
+ Mid(aus6, 0, b60a, Local0)
+ m600(arg0, 14, Local0, bs1e)
+
+ Mid(aub6, 0, b60a, Local0)
+ m600(arg0, 15, Local0, bb34)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), 0, b60a, Local0)
+ m600(arg0, 16, Local0, bs1e)
+
+ Mid(Derefof(Refof(aub6)), 0, b60a, Local0)
+ m600(arg0, 17, Local0, bb34)
+ }
+
+ Mid(Derefof(Index(paus, 6)), 0, b60a, Local0)
+ m600(arg0, 18, Local0, bs1e)
+
+ Mid(Derefof(Index(paub, 6)), 0, b60a, Local0)
+ m600(arg0, 19, Local0, bb34)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), 0, b60a, Local0)
+ m600(arg0, 20, Local0, bs1e)
+
+ Mid(m601(3, 6), 0, b60a, Local0)
+ m600(arg0, 21, Local0, bb34)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), 0, b60a, Local0)
+ m600(arg0, 22, Local0, bs1e)
+
+ Mid(Derefof(m602(3, 6, 1)), 0, b60a, Local0)
+ m600(arg0, 23, Local0, bb34)
+ }
+
+ // String to Integer conversion of the both String operands
+
+ Store(Mid("This is auxiliary String", b60e, b60a), Local0)
+ m600(arg0, 24, Local0, bs1f)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, b60e, b60a), Local0)
+ m600(arg0, 25, Local0, bb35)
+
+ Store(Mid(aus6, b60e, b60a), Local0)
+ m600(arg0, 26, Local0, bs1f)
+
+ Store(Mid(aub6, b60e, b60a), Local0)
+ m600(arg0, 27, Local0, bb35)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), b60e, b60a), Local0)
+ m600(arg0, 28, Local0, bs1f)
+
+ Store(Mid(Derefof(Refof(aub6)), b60e, b60a), Local0)
+ m600(arg0, 29, Local0, bb35)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), b60e, b60a), Local0)
+ m600(arg0, 30, Local0, bs1f)
+
+ Store(Mid(Derefof(Index(paub, 6)), b60e, b60a), Local0)
+ m600(arg0, 31, Local0, bb35)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), b60e, b60a), Local0)
+ m600(arg0, 32, Local0, bs1f)
+
+ Store(Mid(m601(3, 6), b60e, b60a), Local0)
+ m600(arg0, 33, Local0, bb35)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), b60e, b60a), Local0)
+ m600(arg0, 34, Local0, bs1f)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), b60e, b60a), Local0)
+ m600(arg0, 35, Local0, bb35)
+ }
+
+ Mid("This is auxiliary String", b60e, b60a, Local0)
+ m600(arg0, 36, Local0, bs1f)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, b60e, b60a, Local0)
+ m600(arg0, 37, Local0, bb35)
+
+ Mid(aus6, b60e, b60a, Local0)
+ m600(arg0, 38, Local0, bs1f)
+
+ Mid(aub6, b60e, b60a, Local0)
+ m600(arg0, 39, Local0, bb35)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), b60e, b60a, Local0)
+ m600(arg0, 40, Local0, bs1f)
+
+ Mid(Derefof(Refof(aub6)), b60e, b60a, Local0)
+ m600(arg0, 41, Local0, bb35)
+ }
+
+ Mid(Derefof(Index(paus, 6)), b60e, b60a, Local0)
+ m600(arg0, 42, Local0, bs1f)
+
+ Mid(Derefof(Index(paub, 6)), b60e, b60a, Local0)
+ m600(arg0, 43, Local0, bb35)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), b60e, b60a, Local0)
+ m600(arg0, 44, Local0, bs1f)
+
+ Mid(m601(3, 6), b60e, b60a, Local0)
+ m600(arg0, 45, Local0, bb35)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), b60e, b60a, Local0)
+ m600(arg0, 46, Local0, bs1f)
+
+ Mid(Derefof(m602(3, 6, 1)), b60e, b60a, Local0)
+ m600(arg0, 47, Local0, bb35)
+ }
+ }
+
+ Method(m32s, 1)
+ {
+ Name(b60a, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5})
+ Name(b60e, Buffer(1){0xb})
+
+ // String to Integer conversion of the String Length operand
+
+ Store(Mid("This is auxiliary String", 0, b60a), Local0)
+ m600(arg0, 0, Local0, bs1e)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, 0, b60a), Local0)
+ m600(arg0, 1, Local0, bb34)
+
+ Store(Mid(aus6, 0, b60a), Local0)
+ m600(arg0, 2, Local0, bs1e)
+
+ Store(Mid(aub6, 0, b60a), Local0)
+ m600(arg0, 3, Local0, bb34)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), 0, b60a), Local0)
+ m600(arg0, 4, Local0, bs1e)
+
+ Store(Mid(Derefof(Refof(aub6)), 0, b60a), Local0)
+ m600(arg0, 5, Local0, bb34)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), 0, b60a), Local0)
+ m600(arg0, 6, Local0, bs1e)
+
+ Store(Mid(Derefof(Index(paub, 6)), 0, b60a), Local0)
+ m600(arg0, 7, Local0, bb34)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), 0, b60a), Local0)
+ m600(arg0, 8, Local0, bs1e)
+
+ Store(Mid(m601(3, 6), 0, b60a), Local0)
+ m600(arg0, 9, Local0, bb34)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), 0, b60a), Local0)
+ m600(arg0, 10, Local0, bs1e)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), 0, b60a), Local0)
+ m600(arg0, 11, Local0, bb34)
+ }
+
+ Mid("This is auxiliary String", 0, b60a, Local0)
+ m600(arg0, 12, Local0, bs1e)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, 0, b60a, Local0)
+ m600(arg0, 13, Local0, bb34)
+
+ Mid(aus6, 0, b60a, Local0)
+ m600(arg0, 14, Local0, bs1e)
+
+ Mid(aub6, 0, b60a, Local0)
+ m600(arg0, 15, Local0, bb34)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), 0, b60a, Local0)
+ m600(arg0, 16, Local0, bs1e)
+
+ Mid(Derefof(Refof(aub6)), 0, b60a, Local0)
+ m600(arg0, 17, Local0, bb34)
+ }
+
+ Mid(Derefof(Index(paus, 6)), 0, b60a, Local0)
+ m600(arg0, 18, Local0, bs1e)
+
+ Mid(Derefof(Index(paub, 6)), 0, b60a, Local0)
+ m600(arg0, 19, Local0, bb34)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), 0, b60a, Local0)
+ m600(arg0, 20, Local0, bs1e)
+
+ Mid(m601(3, 6), 0, b60a, Local0)
+ m600(arg0, 21, Local0, bb34)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), 0, b60a, Local0)
+ m600(arg0, 22, Local0, bs1e)
+
+ Mid(Derefof(m602(3, 6, 1)), 0, b60a, Local0)
+ m600(arg0, 23, Local0, bb34)
+ }
+
+ // String to Integer conversion of the both String operands
+
+ Store(Mid("This is auxiliary String", b60e, b60a), Local0)
+ m600(arg0, 24, Local0, bs1f)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, b60e, b60a), Local0)
+ m600(arg0, 25, Local0, bb35)
+
+ Store(Mid(aus6, b60e, b60a), Local0)
+ m600(arg0, 26, Local0, bs1f)
+
+ Store(Mid(aub6, b60e, b60a), Local0)
+ m600(arg0, 27, Local0, bb35)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), b60e, b60a), Local0)
+ m600(arg0, 28, Local0, bs1f)
+
+ Store(Mid(Derefof(Refof(aub6)), b60e, b60a), Local0)
+ m600(arg0, 29, Local0, bb35)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), b60e, b60a), Local0)
+ m600(arg0, 30, Local0, bs1f)
+
+ Store(Mid(Derefof(Index(paub, 6)), b60e, b60a), Local0)
+ m600(arg0, 31, Local0, bb35)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), b60e, b60a), Local0)
+ m600(arg0, 32, Local0, bs1f)
+
+ Store(Mid(m601(3, 6), b60e, b60a), Local0)
+ m600(arg0, 33, Local0, bb35)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), b60e, b60a), Local0)
+ m600(arg0, 34, Local0, bs1f)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), b60e, b60a), Local0)
+ m600(arg0, 35, Local0, bb35)
+ }
+
+ Mid("This is auxiliary String", b60e, b60a, Local0)
+ m600(arg0, 36, Local0, bs1f)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, b60e, b60a, Local0)
+ m600(arg0, 37, Local0, bb35)
+
+ Mid(aus6, b60e, b60a, Local0)
+ m600(arg0, 38, Local0, bs1f)
+
+ Mid(aub6, b60e, b60a, Local0)
+ m600(arg0, 39, Local0, bb35)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), b60e, b60a, Local0)
+ m600(arg0, 40, Local0, bs1f)
+
+ Mid(Derefof(Refof(aub6)), b60e, b60a, Local0)
+ m600(arg0, 41, Local0, bb35)
+ }
+
+ Mid(Derefof(Index(paus, 6)), b60e, b60a, Local0)
+ m600(arg0, 42, Local0, bs1f)
+
+ Mid(Derefof(Index(paub, 6)), b60e, b60a, Local0)
+ m600(arg0, 43, Local0, bb35)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), b60e, b60a, Local0)
+ m600(arg0, 44, Local0, bs1f)
+
+ Mid(m601(3, 6), b60e, b60a, Local0)
+ m600(arg0, 45, Local0, bb35)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), b60e, b60a, Local0)
+ m600(arg0, 46, Local0, bs1f)
+
+ Mid(Derefof(m602(3, 6, 1)), b60e, b60a, Local0)
+ m600(arg0, 47, Local0, bb35)
+ }
+ }
+
+ // Buffer to Integer conversion of the Buffer StartIndex
+ // operand of the Match operator
+ Method(m06a, 1)
+ {
+ Name(b60e, Buffer(1){0xb})
+
+ Store(Match(
+ Package(){
+ 0xa50, 0xa51, 0xa52, 0xa53, 0xa54, 0xa55, 0xa56, 0xa57,
+ 0xa58, 0xa59, 0xa5a, 0xa5b, 0xa5c, 0xa5d, 0xa5e,},
+ MEQ, 0xa5d, MTR, 0, b60e), Local0)
+ m600(arg0, 0, Local0, 0xd)
+
+ Store(Match(
+ Package(){
+ 0xa50, 0xa51, 0xa52, 0xa53, 0xa54, 0xa55, 0xa56, 0xa57,
+ 0xa58, 0xa59, 0xa5a, 0xa5b, 0xa5c, 0xa5d, 0xa5e,},
+ MEQ, 0xa5a, MTR, 0, b60e), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(Match(aup0, MEQ, 0xa5d, MTR, 0, b60e), Local0)
+ m600(arg0, 2, Local0, 0xd)
+
+ Store(Match(aup0, MEQ, 0xa5a, MTR, 0, b60e), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(Match(Derefof(Refof(aup0)), MEQ, 0xa5d, MTR, 0, b60e), Local0)
+ m600(arg0, 4, Local0, 0xd)
+
+ Store(Match(Derefof(Refof(aup0)), MEQ, 0xa5a, MTR, 0, b60e), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(Match(Derefof(Index(paup, 0)), MEQ, 0xa5d, MTR, 0, b60e), Local0)
+ m600(arg0, 6, Local0, 0xd)
+
+ Store(Match(Derefof(Index(paup, 0)), MEQ, 0xa5a, MTR, 0, b60e), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Object
+
+ Store(Match(m601(4, 0), MEQ, 0xa5d, MTR, 0, b60e), Local0)
+ m600(arg0, 8, Local0, 0xd)
+
+ Store(Match(m601(4, 0), MEQ, 0xa5a, MTR, 0, b60e), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Match(Derefof(m602(4, 0, 1)), MEQ, 0xa5d, MTR, 0, b60e), Local0)
+ m600(arg0, 10, Local0, 0xd)
+
+ Store(Match(Derefof(m602(4, 0, 1)), MEQ, 0xa5a, MTR, 0, b60e), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+ }
+
+// Method(m64t, 1)
+
+// Method(m32t, 1)
+
+ // Buffer to Integer conversion of the Buffer sole operand
+ // of the Method execution control operators (Sleep, Stall)
+ Method(m06b, 1)
+ {
+ Name(b606, Buffer(3){0x21, 0x03, 0x00})
+ Name(b613, Buffer(1){0x3f})
+
+ CH03(arg0, z088, 11, 0, 0)
+
+ // Sleep
+
+ Store(Timer, Local0)
+
+ Sleep(b606)
+ CH03(arg0, z088, 12, 0, 0)
+
+ Store(Timer, Local1)
+ Subtract(Local1, Local0, Local2)
+ if (LLess(Local2, c08c)) {
+ err(arg0, z088, 0, 0, 0, Local2, c08c)
+ }
+
+ // Stall
+
+ Store(Timer, Local0)
+
+ Stall(b613)
+ CH03(arg0, z088, 13, 0, 0)
+
+ Store(Timer, Local1)
+ Subtract(Local1, Local0, Local2)
+ if (LLess(Local2, 990)) {
+ err(arg0, z088, 1, 0, 0, Local2, 990)
+ }
+ }
+
+ // Buffer to Integer conversion of the Buffer TimeoutValue
+ // (second) operand of the Acquire operator
+
+ Method(m06c, 1)
+ {
+ Name(b606, Buffer(3){0x21, 0x03, 0x00})
+
+ Mutex(MTX0, 0)
+
+ Acquire(MTX0, 0)
+ CH03(arg0, z088, 14, 0, 0)
+
+ Store(Timer, Local0)
+
+/* Compiler allows only Integer constant as TimeoutValue (Bug 1)
+ Acquire(MTX0, b606)
+*/
+ CH03(arg0, z088, 15, 0, 0)
+
+ Store(Timer, Local1)
+ Subtract(Local1, Local0, Local2)
+ if (LLess(Local2, c08c)) {
+ err(arg0, z088, 0, 0, 0, Local2, c08c)
+ }
+ }
+
+ // Buffer to Integer conversion of the Buffer TimeoutValue
+ // (second) operand of the Wait operator
+ Method(m06d, 1)
+ {
+ Name(b606, Buffer(3){0x21, 0x03, 0x00})
+
+ Event(EVT0)
+
+ CH03(arg0, z088, 16, 0, 0)
+
+ Store(Timer, Local0)
+
+ Wait(EVT0, b606)
+ CH03(arg0, z088, 17, 0, 0)
+
+ Store(Timer, Local1)
+ Subtract(Local1, Local0, Local2)
+ if (LLess(Local2, c08c)) {
+ err(arg0, z088, 0, 0, 0, Local2, c08c)
+ }
+ }
+
+ // Buffer to Integer conversion of the Buffer value
+ // of Predicate of the Method execution control statements
+ // (If, ElseIf, While)
+ Method(m06e, 1)
+ {
+ Name(b600, Buffer(1){0x00})
+ Name(b606, Buffer(3){0x21, 0x03, 0x00})
+ Name(b60a, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0xa5})
+
+ Name(ist0, 0)
+
+ Method(m001)
+ {
+ if (b600) {
+ Store(0, ist0)
+ }
+ }
+
+ Method(m002)
+ {
+ if (b606) {
+ Store(2, ist0)
+ }
+ }
+
+ Method(m003)
+ {
+ if (b60a) {
+ Store(3, ist0)
+ }
+ }
+
+ Method(m004)
+ {
+ if (b60a) {
+ Store(4, ist0)
+ }
+ }
+
+ Method(m005, 1)
+ {
+ if (arg0) {
+ Store(0xff, ist0)
+ } elseif (b600) {
+ Store(0, ist0)
+ }
+ }
+
+ Method(m006, 1)
+ {
+ if (arg0) {
+ Store(0xff, ist0)
+ } elseif (b606) {
+ Store(6, ist0)
+ }
+ }
+
+ Method(m007, 1)
+ {
+ if (arg0) {
+ Store(0xff, ist0)
+ } elseif (b60a) {
+ Store(7, ist0)
+ }
+ }
+
+ Method(m008, 1)
+ {
+ if (arg0) {
+ Store(0xff, ist0)
+ } elseif (b60a) {
+ Store(8, ist0)
+ }
+ }
+
+ Method(m009)
+ {
+ while (b600) {
+ Store(0, ist0)
+ }
+ }
+
+ // If
+
+ Store(1, ist0)
+ m001()
+ m600(arg0, 0, ist0, 1)
+
+ m002()
+ m600(arg0, 1, ist0, 2)
+
+ m003()
+ m600(arg0, 2, ist0, 3)
+
+ m004()
+ m600(arg0, 3, ist0, 4)
+
+ // ElseIf
+
+ Store(5, ist0)
+ m005(0)
+ m600(arg0, 4, ist0, 5)
+
+ m006(0)
+ m600(arg0, 5, ist0, 6)
+
+ m007(0)
+ m600(arg0, 6, ist0, 7)
+
+ m008(0)
+ m600(arg0, 7, ist0, 8)
+
+ // While
+
+ Store(9, ist0)
+ m009()
+ m600(arg0, 8, ist0, 9)
+ }
+
+// Method(m64u, 1)
+
+// Method(m32u, 1)
+
+ // Buffer to String implicit conversion Cases.
+
+ // Buffer to String conversion of the Buffer second operand of
+ // Logical operators when the first operand is evaluated as String.
+ // LEqual LGreater LGreaterEqual LLess LLessEqual LNotEqual
+ Method(m06f, 1)
+ {
+ Name(b606, Buffer(3){0x21, 0x03, 0x00})
+ Name(b60c, Buffer(67){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,})
+
+ // LEqual
+
+ Store(LEqual("21 03 00", b606), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual("21 03 01", b606), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(aus9, b606), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(LEqual(ausa, b606), Local0)
+ m600(arg0, 3, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aus9)), b606), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(ausa)), b606), Local0)
+ m600(arg0, 5, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paus, 9)), b606), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paus, 10)), b606), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ // Method returns String
+
+ Store(LEqual(m601(2, 9), b606), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(LEqual(m601(2, 10), b606), Local0)
+ m600(arg0, 9, Local0, Zero)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(2, 9, 1)), b606), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(2, 10, 1)), b606), Local0)
+ m600(arg0, 11, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater("21 03 00", b606), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LGreater("21 03 01", b606), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LGreater("21 03 0 ", b606), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LGreater("21 03 00q", b606), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LGreater(aus9, b606), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LGreater(ausa, b606), Local0)
+ m600(arg0, 17, Local0, Ones)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aus9)), b606), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(ausa)), b606), Local0)
+ m600(arg0, 19, Local0, Ones)
+ }
+
+ Store(LGreater(Derefof(Index(paus, 9)), b606), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paus, 10)), b606), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns String
+
+ Store(LGreater(m601(2, 9), b606), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LGreater(m601(2, 10), b606), Local0)
+ m600(arg0, 23, Local0, Ones)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(2, 9, 1)), b606), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(2, 10, 1)), b606), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual("21 03 00", b606), Local0)
+ m600(arg0, 26, Local0, Ones)
+
+ Store(LGreaterEqual("21 03 01", b606), Local0)
+ m600(arg0, 27, Local0, Ones)
+
+ Store(LGreaterEqual("21 03 0 ", b606), Local0)
+ m600(arg0, 28, Local0, Zero)
+
+ Store(LGreaterEqual("21 03 00q", b606), Local0)
+ m600(arg0, 29, Local0, Ones)
+
+ Store(LGreaterEqual(aus9, b606), Local0)
+ m600(arg0, 30, Local0, Ones)
+
+ Store(LGreaterEqual(ausa, b606), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aus9)), b606), Local0)
+ m600(arg0, 32, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(ausa)), b606), Local0)
+ m600(arg0, 33, Local0, Ones)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paus, 9)), b606), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paus, 10)), b606), Local0)
+ m600(arg0, 35, Local0, Ones)
+
+ // Method returns String
+
+ Store(LGreaterEqual(m601(2, 9),
+ b606), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(m601(2, 10), b606), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(2, 9, 1)), b606), Local0)
+ m600(arg0, 38, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(2, 10, 1)), b606), Local0)
+ m600(arg0, 39, Local0, Ones)
+ }
+
+ // LLess
+
+ Store(LLess("21 03 00", b606), Local0)
+ m600(arg0, 40, Local0, Zero)
+
+ Store(LLess("21 03 01", b606), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ Store(LLess("21 03 0 ", b606), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LLess("21 03 00q", b606), Local0)
+ m600(arg0, 43, Local0, Zero)
+
+ Store(LLess(aus9, b606), Local0)
+ m600(arg0, 44, Local0, Zero)
+
+ Store(LLess(ausa, b606), Local0)
+ m600(arg0, 45, Local0, Zero)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aus9)), b606), Local0)
+ m600(arg0, 46, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(ausa)), b606), Local0)
+ m600(arg0, 47, Local0, Zero)
+ }
+
+ Store(LLess(Derefof(Index(paus, 9)), b606), Local0)
+ m600(arg0, 48, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paus, 10)), b606), Local0)
+ m600(arg0, 49, Local0, Zero)
+
+ // Method returns String
+
+ Store(LLess(m601(2, 9), b606), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ Store(LLess(m601(2, 10), b606), Local0)
+ m600(arg0, 51, Local0, Zero)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LLess(Derefof(m602(2, 9, 1)), b606), Local0)
+ m600(arg0, 52, Local0, Zero)
+
+ Store(LLess(Derefof(m602(2, 10, 1)), b606), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual("21 03 00", b606), Local0)
+ m600(arg0, 54, Local0, Ones)
+
+ Store(LLessEqual("21 03 01", b606), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLessEqual("21 03 0 ", b606), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLessEqual("21 03 00q", b606), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLessEqual(aus9, b606), Local0)
+ m600(arg0, 58, Local0, Ones)
+
+ Store(LLessEqual(ausa, b606), Local0)
+ m600(arg0, 59, Local0, Zero)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aus9)), b606), Local0)
+ m600(arg0, 60, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(ausa)), b606), Local0)
+ m600(arg0, 61, Local0, Zero)
+ }
+
+ Store(LLessEqual(Derefof(Index(paus, 9)), b606), Local0)
+ m600(arg0, 62, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paus, 10)), b606), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ // Method returns String
+
+ Store(LLessEqual(m601(2, 9), b606), Local0)
+ m600(arg0, 64, Local0, Ones)
+
+ Store(LLessEqual(m601(2, 10), b606), Local0)
+ m600(arg0, 65, Local0, Zero)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(2, 9, 1)), b606), Local0)
+ m600(arg0, 66, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(2, 10, 1)), b606), Local0)
+ m600(arg0, 67, Local0, Zero)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual("21 03 00", b606), Local0)
+ m600(arg0, 68, Local0, Zero)
+
+ Store(LNotEqual("21 03 01", b606), Local0)
+ m600(arg0, 69, Local0, Ones)
+
+ Store(LNotEqual("21 03 0 ", b606), Local0)
+ m600(arg0, 70, Local0, Ones)
+
+ Store(LNotEqual("21 03 00q", b606), Local0)
+ m600(arg0, 71, Local0, Ones)
+
+ Store(LNotEqual(aus9, b606), Local0)
+ m600(arg0, 72, Local0, Zero)
+
+ Store(LNotEqual(ausa, b606), Local0)
+ m600(arg0, 73, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aus9)), b606), Local0)
+ m600(arg0, 74, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(ausa)), b606), Local0)
+ m600(arg0, 75, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paus, 9)), b606), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paus, 10)), b606), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ // Method returns String
+
+ Store(LNotEqual(m601(2, 9), b606), Local0)
+ m600(arg0, 78, Local0, Zero)
+
+ Store(LNotEqual(m601(2, 10), b606), Local0)
+ m600(arg0, 79, Local0, Ones)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(2, 9, 1)), b606), Local0)
+ m600(arg0, 80, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(2, 10, 1)), b606), Local0)
+ m600(arg0, 81, Local0, Ones)
+ }
+
+ // Boundary Cases
+
+ Store(LEqual("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63",
+ b60c),
+ Local0)
+ m600(arg0, 82, Local0, Ones)
+
+ Store(LEqual("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 64",
+ b60c),
+ Local0)
+ m600(arg0, 83, Local0, Zero)
+
+ Store(LGreater("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63",
+ b60c),
+ Local0)
+ m600(arg0, 84, Local0, Zero)
+
+ Store(LGreater("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 64",
+ b60c),
+ Local0)
+ m600(arg0, 85, Local0, Ones)
+
+ Store(LGreaterEqual("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63",
+ b60c),
+ Local0)
+ m600(arg0, 86, Local0, Ones)
+
+ Store(LGreaterEqual("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 64",
+ b60c),
+ Local0)
+ m600(arg0, 87, Local0, Ones)
+
+ Store(LLess("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63",
+ b60c),
+ Local0)
+ m600(arg0, 88, Local0, Zero)
+
+ Store(LLess("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 64",
+ b60c),
+ Local0)
+ m600(arg0, 89, Local0, Zero)
+
+ Store(LLessEqual("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63",
+ b60c),
+ Local0)
+ m600(arg0, 90, Local0, Ones)
+
+ Store(LLessEqual("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 64",
+ b60c),
+ Local0)
+ m600(arg0, 91, Local0, Zero)
+
+
+ Store(LNotEqual("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63",
+ b60c),
+ Local0)
+ m600(arg0, 92, Local0, Zero)
+
+ Store(LNotEqual("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 64",
+ b60c),
+ Local0)
+ m600(arg0, 93, Local0, Ones)
+ }
+
+ // Buffer to String conversion of the Buffer second operand of
+ // Concatenate operator when the first operand is evaluated as String
+ Method(m070, 1)
+ {
+ Name(b606, Buffer(3){0x21, 0x03, 0x00})
+ Name(b60c, Buffer(67){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,})
+
+ Store(Concatenate("", b606), Local0)
+ m600(arg0, 0, Local0, bs25)
+
+ Store(Concatenate("1234q", b606), Local0)
+ m600(arg0, 1, Local0, bs26)
+
+ Store(Concatenate(aus0, b606), Local0)
+ m600(arg0, 2, Local0, bs25)
+
+ Store(Concatenate(aus1, b606), Local0)
+ m600(arg0, 3, Local0, bs26)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aus0)), b606), Local0)
+ m600(arg0, 4, Local0, bs25)
+
+ Store(Concatenate(Derefof(Refof(aus1)), b606), Local0)
+ m600(arg0, 5, Local0, bs26)
+ }
+
+ Store(Concatenate(Derefof(Index(paus, 0)), b606), Local0)
+ m600(arg0, 6, Local0, bs25)
+
+ Store(Concatenate(Derefof(Index(paus, 1)), b606), Local0)
+ m600(arg0, 7, Local0, bs26)
+
+ // Method returns String
+
+ Store(Concatenate(m601(2, 0), b606), Local0)
+ m600(arg0, 8, Local0, bs25)
+
+ Store(Concatenate(m601(2, 1), b606), Local0)
+ m600(arg0, 9, Local0, bs26)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(2, 0, 1)), b606), Local0)
+ m600(arg0, 10, Local0, bs25)
+
+ Store(Concatenate(Derefof(m602(2, 1, 1)), b606), Local0)
+ m600(arg0, 11, Local0, bs26)
+ }
+
+ Concatenate("", b606, Local0)
+ m600(arg0, 12, Local0, bs25)
+
+ Concatenate("1234q", b606, Local0)
+ m600(arg0, 13, Local0, bs26)
+
+ Concatenate(aus0, b606, Local0)
+ m600(arg0, 14, Local0, bs25)
+
+ Concatenate(aus1, b606, Local0)
+ m600(arg0, 15, Local0, bs26)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aus0)), b606, Local0)
+ m600(arg0, 16, Local0, bs25)
+
+ Concatenate(Derefof(Refof(aus1)), b606, Local0)
+ m600(arg0, 17, Local0, bs26)
+ }
+
+ Concatenate(Derefof(Index(paus, 0)), b606, Local0)
+ m600(arg0, 18, Local0, bs25)
+
+ Concatenate(Derefof(Index(paus, 1)), b606, Local0)
+ m600(arg0, 19, Local0, bs26)
+
+ // Method returns String
+
+ Concatenate(m601(2, 0), b606, Local0)
+ m600(arg0, 20, Local0, bs25)
+
+ Concatenate(m601(2, 1), b606, Local0)
+ m600(arg0, 21, Local0, bs26)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Concatenate(Derefof(m602(2, 0, 1)), b606, Local0)
+ m600(arg0, 22, Local0, bs25)
+
+ Concatenate(Derefof(m602(2, 1, 1)), b606, Local0)
+ m600(arg0, 23, Local0, bs26)
+ }
+
+ // Boundary Cases
+
+ Store(Concatenate("",
+ b60c),
+ Local0)
+ m600(arg0, 24, Local0, bs27)
+ }
+
+// Method(m071, 1)
+
+// Method(m072, 1)
+
+ /*
+ * Begin of the test body
+ */
+
+ // Integer to String implicit conversion Cases.
+
+ // Integer to String conversion of the Integer second operand of
+ // Logical operators when the first operand is evaluated as String.
+ // LEqual LGreater LGreaterEqual LLess LLessEqual LNotEqual
+ if (F64) {
+ Concatenate(ts, "-m640", Local0)
+ SRMT(Local0)
+ m640(Local0)
+ } else {
+ Concatenate(ts, "-m320", Local0)
+ SRMT(Local0)
+ m320(Local0)
+ }
+
+ // Integer to String conversion of the Integer second operand of
+ // Concatenate operator when the first operand is evaluated as String
+ if (F64) {
+ Concatenate(ts, "-m641", Local0)
+ SRMT(Local0)
+ m641(Local0)
+ } else {
+ Concatenate(ts, "-m321", Local0)
+ SRMT(Local0)
+ m321(Local0)
+ }
+
+ // Integer to String conversion of the Integer value
+ // of Expression of Case statement when Expression in
+ // Switch is either static String data or explicitly
+ // converted to String by ToDecimalString, ToHexString
+ // or ToString
+ //
+ // Note: Expression of Case can be only static data
+
+
+ // Integer to Buffer implicit conversion Cases.
+
+ // Integer to Buffer conversion of the Integer second operand of
+ // Logical operators when the first operand is evaluated as Buffer
+ // (LEqual, LGreater, LGreaterEqual, LLess, LLessEqual, LNotEqual)
+ if (F64) {
+ Concatenate(ts, "-m644", Local0)
+ SRMT(Local0)
+ m644(Local0)
+ } else {
+ Concatenate(ts, "-m324", Local0)
+ SRMT(Local0)
+ m324(Local0)
+ }
+
+ // Integer to Buffer conversion of the both Integer operands of
+ // Concatenate operator
+ if (F64) {
+ Concatenate(ts, "-m645", Local0)
+ SRMT(Local0)
+ m645(Local0)
+ } else {
+ Concatenate(ts, "-m325", Local0)
+ SRMT(Local0)
+ m325(Local0)
+ }
+
+ // Integer to Buffer conversion of the Integer second operand of
+ // Concatenate operator when the first operand is evaluated as Buffer
+ if (F64) {
+ Concatenate(ts, "-m646", Local0)
+ SRMT(Local0)
+ m646(Local0)
+ } else {
+ Concatenate(ts, "-m326", Local0)
+ SRMT(Local0)
+ m326(Local0)
+ }
+
+ // Integer to Buffer conversion of the Integer Source operand of
+ // ToString operator
+ if (F64) {
+ Concatenate(ts, "-m647", Local0)
+ SRMT(Local0)
+ m647(Local0)
+ } else {
+ Concatenate(ts, "-m327", Local0)
+ SRMT(Local0)
+ m327(Local0)
+ }
+
+ // Integer to Buffer conversion of the Integer Source operand of
+ // Mid operator
+ if (F64) {
+ Concatenate(ts, "-m648", Local0)
+ SRMT(Local0)
+ m648(Local0)
+ } else {
+ Concatenate(ts, "-m328", Local0)
+ SRMT(Local0)
+ m328(Local0)
+ }
+
+ // Integer to Buffer conversion of the Integer value of
+ // Expression of Case statement when Expression in Switch
+ // is either static Buffer data or explicitly converted to
+ // Buffer by ToBuffer
+ //
+ // Note: Expression of Case can be only static data
+
+
+ // String to Integer implicit conversion Cases.
+
+ // String to Integer conversion of the String sole operand
+ // of the 1-parameter Integer arithmetic operators
+ // (Decrement, Increment, FindSetLeftBit, FindSetRightBit, Not)
+ if (F64) {
+ Concatenate(ts, "-m64b", Local0)
+ SRMT(Local0)
+ m64b(Local0)
+ } else {
+ Concatenate(ts, "-m32b", Local0)
+ SRMT(Local0)
+ m32b(Local0)
+ }
+
+ // String to Integer conversion of the String sole operand
+ // of the LNot Logical Integer operator
+ Concatenate(ts, "-m000", Local0)
+ SRMT(Local0)
+ m000(Local0)
+
+ // String to Integer conversion of the String sole operand
+ // of the FromBCD and ToBCD conversion operators
+ if (F64) {
+ Concatenate(ts, "-m64c", Local0)
+ SRMT(Local0)
+ m64c(Local0)
+ } else {
+ Concatenate(ts, "-m32c", Local0)
+ SRMT(Local0)
+ m32c(Local0)
+ }
+
+ // String to Integer conversion of each String operand
+ // of the 2-parameter Integer arithmetic operators
+ // Add, And, Divide, Mod, Multiply, NAnd, NOr, Or,
+ // ShiftLeft, ShiftRight, Subtract, Xor
+ if (F64) {
+ m64d(Concatenate(ts, "-m64d"))
+ } else {
+ m32d(Concatenate(ts, "-m32d"))
+ }
+
+ // String to Integer conversion of each String operand
+ // of the 2-parameter Logical Integer operators LAnd and LOr
+ if (F64) {
+ m64e(Concatenate(ts, "-m64e"))
+ } else {
+ m32e(Concatenate(ts, "-m32e"))
+ }
+
+ // String to Integer conversion of the String second operand of
+ // Logical operators when the first operand is evaluated as Integer
+ // (LEqual, LGreater, LGreaterEqual, LLess, LLessEqual, LNotEqual)
+
+ Concatenate(ts, "-m02b", Local0)
+ SRMT(Local0)
+ m02b(Local0)
+
+ if (F64) {
+ Concatenate(ts, "-m64f", Local0)
+ SRMT(Local0)
+ m64f(Local0)
+ } else {
+ Concatenate(ts, "-m32f", Local0)
+ SRMT(Local0)
+ m32f(Local0)
+ }
+
+ // String to Integer intermediate conversion of the String second
+ // operand of Concatenate operator in case the first one is Integer
+ if (F64) {
+ Concatenate(ts, "-m64g", Local0)
+ SRMT(Local0)
+ m64g(Local0)
+ } else {
+ Concatenate(ts, "-m32g", Local0)
+ SRMT(Local0)
+ m32g(Local0)
+ }
+
+ // String to Integer conversion of the String Length (second)
+ // operand of the ToString operator
+
+ Concatenate(ts, "-m02c", Local0)
+ SRMT(Local0)
+ m02c(Local0)
+
+ if (F64) {
+ Concatenate(ts, "-m64h", Local0)
+ SRMT(Local0)
+ m64h(Local0)
+ } else {
+ Concatenate(ts, "-m32h", Local0)
+ SRMT(Local0)
+ m32h(Local0)
+ }
+
+ // String to Integer conversion of the String Index (second)
+ // operand of the Index operator
+ Concatenate(ts, "-m02d", Local0)
+ SRMT(Local0)
+ m02d(Local0)
+
+ // String to Integer conversion of the String Arg (third)
+ // operand of the Fatal operator
+ // (it can only be checked an exception does not occur)
+ Concatenate(ts, "-m02e", Local0)
+ SRMT(Local0)
+ m02e(Local0)
+
+ // String to Integer conversion of the String Index and Length
+ // operands of the Mid operator
+
+ Concatenate(ts, "-m02f", Local0)
+ SRMT(Local0)
+ m02f(Local0)
+
+ if (F64) {
+ Concatenate(ts, "-m64i", Local0)
+ SRMT(Local0)
+ m64i(Local0)
+ } else {
+ Concatenate(ts, "-m32i", Local0)
+ SRMT(Local0)
+ m32i(Local0)
+ }
+
+ // String to Integer conversion of the String StartIndex
+ // operand of the Match operator
+ Concatenate(ts, "-m030", Local0)
+ SRMT(Local0)
+ m030(Local0)
+
+ // String to Integer conversion of the String sole operand
+ // of the Method execution control operators (Sleep, Stall)
+ Concatenate(ts, "-m031", Local0)
+ SRMT(Local0)
+ m031(Local0)
+
+ // String to Integer conversion of the String TimeoutValue
+ // (second) operand of the Acquire operator
+/* Compiler allows only Integer constant as TimeoutValue (Bug 1)
+ Concatenate(ts, "-m032", Local0)
+ SRMT(Local0)
+ m032(Local0)
+*/
+
+ // String to Integer conversion of the String TimeoutValue
+ // (second) operand of the Wait operator
+ Concatenate(ts, "-m033", Local0)
+ SRMT(Local0)
+ m033(Local0)
+
+ // String to Integer conversion of the String value
+ // of Predicate of the Method execution control statements
+ // (If, ElseIf, While)
+ Concatenate(ts, "-m034", Local0)
+ SRMT(Local0)
+ if (y111) {
+ m034(Local0)
+ } else {
+ BLCK()
+ }
+
+ // String to Integer conversion of the String value
+ // of Expression of Case statement when Expression in
+ // Switch is evaluated as Integer
+ //
+ // Note: Expression of Case can be only static data
+
+ // String to Buffer implicit conversion Cases.
+
+ // String to Buffer conversion of the String second operand of
+ // Logical operators when the first operand is evaluated as Buffer
+ // (LEqual, LGreater, LGreaterEqual, LLess, LLessEqual, LNotEqual)
+ Concatenate(ts, "-m035", Local0)
+ SRMT(Local0)
+ m035(Local0)
+
+ // String to Buffer conversion of the String second operand of
+ // Concatenate operator when the first operand is evaluated as Buffer
+ Concatenate(ts, "-m036", Local0)
+ SRMT(Local0)
+ m036(Local0)
+
+ // String to Buffer conversion of the String Source operand of
+ // ToString operator (has a visual effect in shortening of the
+ // String taken the null character)
+ Concatenate(ts, "-m037", Local0)
+ SRMT(Local0)
+ m037(Local0)
+
+
+ // Buffer to Integer implicit conversion Cases.
+
+ // Buffer to Integer conversion of the Buffer sole operand
+ // of the 1-parameter Integer arithmetic operators
+ // (Decrement, Increment, FindSetLeftBit, FindSetRightBit, Not)
+ if (F64) {
+ Concatenate(ts, "-m64l", Local0)
+ SRMT(Local0)
+ m64l(Local0)
+ } else {
+ Concatenate(ts, "-m32l", Local0)
+ SRMT(Local0)
+ m32l(Local0)
+ }
+
+ // Buffer to Integer conversion of the Buffer sole operand
+ // of the LNot Logical Integer operator
+ Concatenate(ts, "-m03a", Local0)
+ SRMT(Local0)
+ m03a(Local0)
+
+ // Buffer to Integer conversion of the Buffer sole operand
+ // of the FromBCD and ToBCD conversion operators
+ if (F64) {
+ Concatenate(ts, "-m64m", Local0)
+ SRMT(Local0)
+ m64m(Local0)
+ } else {
+ Concatenate(ts, "-m32m", Local0)
+ SRMT(Local0)
+ m32m(Local0)
+ }
+
+ // Buffer to Integer conversion of each Buffer operand
+ // of the 2-parameter Integer arithmetic operators
+ // Add, And, Divide, Mod, Multiply, NAnd, NOr, Or,
+ // ShiftLeft, ShiftRight, Subtract, Xor
+ if (F64) {
+ m64n(Concatenate(ts, "-m64n"))
+ } else {
+ m32n(Concatenate(ts, "-m32n"))
+ }
+
+ // Buffer to Integer conversion of each Buffer operand
+ // of the 2-parameter Logical Integer operators LAnd and LOr
+ if (F64) {
+ m64o(Concatenate(ts, "-m64o"))
+ } else {
+ m32o(Concatenate(ts, "-m32o"))
+ }
+
+ // Buffer to Integer conversion of the Buffer second operand of
+ // Logical operators when the first operand is evaluated as Integer
+ // (LEqual, LGreater, LGreaterEqual, LLess, LLessEqual, LNotEqual)
+
+ Concatenate(ts, "-m065", Local0)
+ SRMT(Local0)
+ m065(Local0)
+
+ if (F64) {
+ Concatenate(ts, "-m64p", Local0)
+ SRMT(Local0)
+ m64p(Local0)
+ } else {
+ Concatenate(ts, "-m32p", Local0)
+ SRMT(Local0)
+ m32p(Local0)
+ }
+
+ // Buffer to Integer intermediate conversion of the Buffer second
+ // operand of Concatenate operator in case the first one is Integer
+ if (F64) {
+ Concatenate(ts, "-m64q", Local0)
+ SRMT(Local0)
+ m64q(Local0)
+ } else {
+ Concatenate(ts, "-m32q", Local0)
+ SRMT(Local0)
+ m32q(Local0)
+ }
+
+ // Buffer to Integer conversion of the Buffer Length (second)
+ // operand of the ToString operator
+
+ Concatenate(ts, "-m066", Local0)
+ SRMT(Local0)
+ m066(Local0)
+
+ if (F64) {
+ Concatenate(ts, "-m64r", Local0)
+ SRMT(Local0)
+ m64r(Local0)
+ } else {
+ Concatenate(ts, "-m32r", Local0)
+ SRMT(Local0)
+ m32r(Local0)
+ }
+
+ // Buffer to Integer conversion of the Buffer Index (second)
+ // operand of the Index operator
+ Concatenate(ts, "-m067", Local0)
+ SRMT(Local0)
+ m067(Local0)
+
+ // Buffer to Integer conversion of the String Arg (third)
+ // operand of the Fatal operator
+ // (it can only be checked an exception does not occur)
+ Concatenate(ts, "-m068", Local0)
+ SRMT(Local0)
+ m068(Local0)
+
+ // Buffer to Integer conversion of the Buffer Index and Length
+ // operands of the Mid operator
+
+ Concatenate(ts, "-m069", Local0)
+ SRMT(Local0)
+ m069(Local0)
+
+ if (F64) {
+ Concatenate(ts, "-m64s", Local0)
+ SRMT(Local0)
+ m64s(Local0)
+ } else {
+ Concatenate(ts, "-m32s", Local0)
+ SRMT(Local0)
+ m32s(Local0)
+ }
+
+ // Buffer to Integer conversion of the Buffer StartIndex
+ // operand of the Match operator
+ Concatenate(ts, "-m06a", Local0)
+ SRMT(Local0)
+ m06a(Local0)
+
+ // Buffer to Integer conversion of the Buffer sole operand
+ // of the Method execution control operators (Sleep, Stall)
+ Concatenate(ts, "-m06b", Local0)
+ SRMT(Local0)
+ m06b(Local0)
+
+ // Buffer to Integer conversion of the Buffer TimeoutValue
+ // (second) operand of the Acquire operator
+/* Compiler allows only Integer constant as TimeoutValue (Bug 1)
+ Concatenate(ts, "-m06c", Local0)
+ SRMT(Local0)
+ m06c(Local0)
+*/
+
+ // Buffer to Integer conversion of the Buffer TimeoutValue
+ // (second) operand of the Wait operator
+ Concatenate(ts, "-m06d", Local0)
+ SRMT(Local0)
+ m06d(Local0)
+
+ // Buffer to Integer conversion of the Buffer value
+ // of Predicate of the Method execution control statements
+ // (If, ElseIf, While)
+ Concatenate(ts, "-m06e", Local0)
+ SRMT(Local0)
+ if (y111) {
+ m06e(Local0)
+ } else {
+ BLCK()
+ }
+
+ // Buffer to Integer conversion of the Buffer value
+ // of Expression of Case statement when Expression in
+ // Switch is evaluated as Integer
+ //
+ // Note: Expression of Case can be only static data
+
+ // Buffer to String implicit conversion Cases.
+
+ // Buffer to String conversion of the Buffer second operand of
+ // Logical operators when the first operand is evaluated as String.
+ // LEqual LGreater LGreaterEqual LLess LLessEqual LNotEqual
+ Concatenate(ts, "-m06f", Local0)
+ SRMT(Local0)
+ m06f(Local0)
+
+ // Buffer to String conversion of the Buffer second operand of
+ // Concatenate operator when the first operand is evaluated as String
+ Concatenate(ts, "-m070", Local0)
+ SRMT(Local0)
+ m070(Local0)
+}
diff --git a/tests/aslts/src/runtime/collections/complex/operand/tests/onamedloc/onamedloc2.asl b/tests/aslts/src/runtime/collections/complex/operand/tests/onamedloc/onamedloc2.asl
new file mode 100644
index 000000000..f2aa7de19
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/operand/tests/onamedloc/onamedloc2.asl
@@ -0,0 +1,12710 @@
+/*
+ * 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.
+ */
+
+/*
+ * Check implicit conversion being applied to Buffer Field Objects
+ * in the current Scope of the Global ACPI namespace.
+ */
+
+Name(z089, 89)
+
+Method(m614)
+{
+ Name(ts, "m614")
+ Name(b640, Buffer(452){})
+ Name(b641, Buffer(69){})
+
+ // Buffer Field to Buffer implicit conversion Cases.
+
+ // Buffer Field to Buffer conversion of the Buffer Field second operand
+ // of Logical operators when the first operand is evaluated as Buffer
+ // (LEqual, LGreater, LGreaterEqual, LLess, LLessEqual, LNotEqual)
+
+ Method(m644, 1)
+ {
+ CreateField(b640, 159, 64, bf65)
+
+ Store(Buffer(8){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, bf65)
+
+ // LEqual
+
+ Store(LEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, bf65), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFF}, bf65), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(aub4, bf65), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(LEqual(aub3, bf65), Local0)
+ m600(arg0, 3, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aub4)), bf65), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(aub3)), bf65), Local0)
+ m600(arg0, 5, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paub, 4)), bf65), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paub, 3)), bf65), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ // Method returns Buffer
+
+ Store(LEqual(m601(3, 4), bf65), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(LEqual(m601(3, 3), bf65), Local0)
+ m600(arg0, 9, Local0, Zero)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(3, 4, 1)), bf65), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(3, 3, 1)), bf65), Local0)
+ m600(arg0, 11, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, bf65), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LGreater(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFF}, bf65), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LGreater(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFD}, bf65), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LGreater(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0x01}, bf65), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LGreater(aub4, bf65), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LGreater(aub5, bf65), Local0)
+ m600(arg0, 17, Local0, Ones)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aub4)), bf65), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(aub5)), bf65), Local0)
+ m600(arg0, 19, Local0, Ones)
+ }
+
+ Store(LGreater(Derefof(Index(paub, 4)), bf65), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paub, 5)), bf65), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Buffer
+
+ Store(LGreater(m601(3, 4), bf65), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LGreater(m601(3, 5), bf65), Local0)
+ m600(arg0, 23, Local0, Ones)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(3, 4, 1)), bf65), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(3, 5, 1)), bf65), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, bf65), Local0)
+ m600(arg0, 26, Local0, Ones)
+
+ Store(LGreaterEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFF}, bf65), Local0)
+ m600(arg0, 27, Local0, Ones)
+
+ Store(LGreaterEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFD}, bf65), Local0)
+ m600(arg0, 28, Local0, Zero)
+
+ Store(LGreaterEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0x01}, bf65), Local0)
+ m600(arg0, 29, Local0, Ones)
+
+ Store(LGreaterEqual(aub4, bf65), Local0)
+ m600(arg0, 30, Local0, Ones)
+
+ Store(LGreaterEqual(aub5, bf65), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aub4)), bf65), Local0)
+ m600(arg0, 32, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(aub5)), bf65), Local0)
+ m600(arg0, 33, Local0, Ones)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paub, 4)), bf65), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paub, 5)), bf65), Local0)
+ m600(arg0, 35, Local0, Ones)
+
+ // Method returns Buffer
+
+ Store(LGreaterEqual(m601(3, 4), bf65), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(m601(3, 5), bf65), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(3, 4, 1)), bf65), Local0)
+ m600(arg0, 38, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(3, 5, 1)), bf65), Local0)
+ m600(arg0, 39, Local0, Ones)
+ }
+
+ // LLess
+
+ Store(LLess(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, bf65), Local0)
+ m600(arg0, 40, Local0, Zero)
+
+ Store(LLess(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFF}, bf65), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ Store(LLess(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFD}, bf65), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LLess(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0x01}, bf65), Local0)
+ m600(arg0, 43, Local0, Zero)
+
+ Store(LLess(aub4, bf65), Local0)
+ m600(arg0, 44, Local0, Zero)
+
+ Store(LLess(aub5, bf65), Local0)
+ m600(arg0, 45, Local0, Zero)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aub4)), bf65), Local0)
+ m600(arg0, 46, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(aub5)), bf65), Local0)
+ m600(arg0, 47, Local0, Zero)
+ }
+
+ Store(LLess(Derefof(Index(paub, 4)), bf65), Local0)
+ m600(arg0, 48, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paub, 5)), bf65), Local0)
+ m600(arg0, 49, Local0, Zero)
+
+ // Method returns Buffer
+
+ Store(LLess(m601(3, 4), bf65), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ Store(LLess(m601(3, 5), bf65), Local0)
+ m600(arg0, 51, Local0, Zero)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LLess(Derefof(m602(3, 4, 1)), bf65), Local0)
+ m600(arg0, 52, Local0, Zero)
+
+ Store(LLess(Derefof(m602(3, 5, 1)), bf65), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, bf65), Local0)
+ m600(arg0, 54, Local0, Ones)
+
+ Store(LLessEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFF}, bf65), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLessEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFD}, bf65), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLessEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0x01}, bf65), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLessEqual(aub4, bf65), Local0)
+ m600(arg0, 58, Local0, Ones)
+
+ Store(LLessEqual(aub5, bf65), Local0)
+ m600(arg0, 59, Local0, Zero)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aub4)), bf65), Local0)
+ m600(arg0, 60, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(aub5)), bf65), Local0)
+ m600(arg0, 61, Local0, Zero)
+ }
+
+ Store(LLessEqual(Derefof(Index(paub, 4)), bf65), Local0)
+ m600(arg0, 62, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paub, 5)), bf65), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ // Method returns Buffer
+
+ Store(LLessEqual(m601(3, 4), bf65), Local0)
+ m600(arg0, 64, Local0, Ones)
+
+ Store(LLessEqual(m601(3, 5), bf65), Local0)
+ m600(arg0, 65, Local0, Zero)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(3, 4, 1)), bf65), Local0)
+ m600(arg0, 66, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(3, 5, 1)), bf65), Local0)
+ m600(arg0, 67, Local0, Zero)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, bf65), Local0)
+ m600(arg0, 68, Local0, Zero)
+
+ Store(LNotEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFF}, bf65), Local0)
+ m600(arg0, 69, Local0, Ones)
+
+ Store(LNotEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFD}, bf65), Local0)
+ m600(arg0, 70, Local0, Ones)
+
+ Store(LNotEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0x01}, bf65), Local0)
+ m600(arg0, 71, Local0, Ones)
+
+ Store(LNotEqual(aub4, bf65), Local0)
+ m600(arg0, 72, Local0, Zero)
+
+ Store(LNotEqual(aub5, bf65), Local0)
+ m600(arg0, 73, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aub4)), bf65), Local0)
+ m600(arg0, 74, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(aub5)), bf65), Local0)
+ m600(arg0, 75, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paub, 4)), bf65), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paub, 5)), bf65), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ // Method returns Buffer
+
+ Store(LNotEqual(m601(3, 4), bf65), Local0)
+ m600(arg0, 78, Local0, Zero)
+
+ Store(LNotEqual(m601(3, 5), bf65), Local0)
+ m600(arg0, 79, Local0, Ones)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(3, 4, 1)), bf65), Local0)
+ m600(arg0, 80, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(3, 5, 1)), bf65), Local0)
+ m600(arg0, 81, Local0, Ones)
+ }
+ }
+
+ Method(m324, 1)
+ {
+ CreateField(b640, 31, 32, bf62)
+
+ Store(Buffer(4){0xFE, 0xB3, 0x79, 0xC1}, bf62)
+
+ // LEqual
+
+ Store(LEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC1}, bf62), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC0}, bf62), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(aub3, bf62), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(LEqual(aub2, bf62), Local0)
+ m600(arg0, 3, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aub3)), bf62), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(aub2)), bf62), Local0)
+ m600(arg0, 5, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paub, 3)), bf62), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paub, 2)), bf62), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ // Method returns Buffer
+
+ Store(LEqual(m601(3, 3), bf62), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(LEqual(m601(3, 2), bf62), Local0)
+ m600(arg0, 9, Local0, Zero)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(3, 3, 1)), bf62), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(3, 2, 1)), bf62), Local0)
+ m600(arg0, 11, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater(Buffer() {0xFE, 0xB3, 0x79, 0xC1}, bf62), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LGreater(Buffer() {0xFE, 0xB3, 0x79, 0xC2}, bf62), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LGreater(Buffer() {0xFE, 0xB3, 0x79, 0xC0}, bf62), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LGreater(Buffer() {0xFE, 0xB3, 0x79, 0xC1, 0x01}, bf62), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LGreater(aub3, bf62), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LGreater(aub2, bf62), Local0)
+ m600(arg0, 17, Local0, Ones)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aub3)), bf62), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(aub2)), bf62), Local0)
+ m600(arg0, 19, Local0, Ones)
+ }
+
+ Store(LGreater(Derefof(Index(paub, 3)), bf62), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paub, 2)), bf62), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Buffer
+
+ Store(LGreater(m601(3, 3), bf62), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LGreater(m601(3, 2), bf62), Local0)
+ m600(arg0, 23, Local0, Ones)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(3, 3, 1)), bf62), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(3, 2, 1)), bf62), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC1}, bf62), Local0)
+ m600(arg0, 26, Local0, Ones)
+
+ Store(LGreaterEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC2}, bf62), Local0)
+ m600(arg0, 27, Local0, Ones)
+
+ Store(LGreaterEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC0}, bf62), Local0)
+ m600(arg0, 28, Local0, Zero)
+
+ Store(LGreaterEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC1, 0x01}, bf62), Local0)
+ m600(arg0, 29, Local0, Ones)
+
+ Store(LGreaterEqual(aub3, bf62), Local0)
+ m600(arg0, 30, Local0, Ones)
+
+ Store(LGreaterEqual(aub2, bf62), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aub3)), bf62), Local0)
+ m600(arg0, 32, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(aub2)), bf62), Local0)
+ m600(arg0, 33, Local0, Ones)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paub, 3)), bf62), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paub, 2)), bf62), Local0)
+ m600(arg0, 35, Local0, Ones)
+
+ // Method returns Buffer
+
+ Store(LGreaterEqual(m601(3, 3), bf62), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(m601(3, 2), bf62), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(3, 3, 1)), bf62), Local0)
+ m600(arg0, 38, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(3, 2, 1)), bf62), Local0)
+ m600(arg0, 39, Local0, Ones)
+ }
+
+ // LLess
+
+ Store(LLess(Buffer() {0xFE, 0xB3, 0x79, 0xC1}, bf62), Local0)
+ m600(arg0, 40, Local0, Zero)
+
+ Store(LLess(Buffer() {0xFE, 0xB3, 0x79, 0xC2}, bf62), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ Store(LLess(Buffer() {0xFE, 0xB3, 0x79, 0xC0}, bf62), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LLess(Buffer() {0xFE, 0xB3, 0x79, 0xC1, 0x01}, bf62), Local0)
+ m600(arg0, 43, Local0, Zero)
+
+ Store(LLess(aub3, bf62), Local0)
+ m600(arg0, 44, Local0, Zero)
+
+ Store(LLess(aub2, bf62), Local0)
+ m600(arg0, 45, Local0, Zero)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aub3)), bf62), Local0)
+ m600(arg0, 46, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(aub2)), bf62), Local0)
+ m600(arg0, 47, Local0, Zero)
+ }
+
+ Store(LLess(Derefof(Index(paub, 3)), bf62), Local0)
+ m600(arg0, 48, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paub, 2)), bf62), Local0)
+ m600(arg0, 49, Local0, Zero)
+
+ // Method returns Buffer
+
+ Store(LLess(m601(3, 3), bf62), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ Store(LLess(m601(3, 2), bf62), Local0)
+ m600(arg0, 51, Local0, Zero)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LLess(Derefof(m602(3, 3, 1)), bf62), Local0)
+ m600(arg0, 52, Local0, Zero)
+
+ Store(LLess(Derefof(m602(3, 2, 1)), bf62), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC1}, bf62), Local0)
+ m600(arg0, 54, Local0, Ones)
+
+ Store(LLessEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC2}, bf62), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLessEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC0}, bf62), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLessEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC1, 0x01}, bf62), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLessEqual(aub3, bf62), Local0)
+ m600(arg0, 58, Local0, Ones)
+
+ Store(LLessEqual(aub2, bf62), Local0)
+ m600(arg0, 59, Local0, Zero)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aub3)), bf62), Local0)
+ m600(arg0, 60, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(aub2)), bf62), Local0)
+ m600(arg0, 61, Local0, Zero)
+ }
+
+ Store(LLessEqual(Derefof(Index(paub, 3)), bf62), Local0)
+ m600(arg0, 62, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paub, 2)), bf62), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ // Method returns Buffer
+
+ Store(LLessEqual(m601(3, 3), bf62), Local0)
+ m600(arg0, 64, Local0, Ones)
+
+ Store(LLessEqual(m601(3, 2), bf62), Local0)
+ m600(arg0, 65, Local0, Zero)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(3, 3, 1)), bf62), Local0)
+ m600(arg0, 66, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(3, 2, 1)), bf62), Local0)
+ m600(arg0, 67, Local0, Zero)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC1}, bf62), Local0)
+ m600(arg0, 68, Local0, Zero)
+
+ Store(LNotEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC2}, bf62), Local0)
+ m600(arg0, 69, Local0, Ones)
+
+ Store(LNotEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC0}, bf62), Local0)
+ m600(arg0, 70, Local0, Ones)
+
+ Store(LNotEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC1, 0x01}, bf62), Local0)
+ m600(arg0, 71, Local0, Ones)
+
+ Store(LNotEqual(aub3, bf62), Local0)
+ m600(arg0, 72, Local0, Zero)
+
+ Store(LNotEqual(aub2, bf62), Local0)
+ m600(arg0, 73, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aub3)), bf62), Local0)
+ m600(arg0, 74, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(aub2)), bf62), Local0)
+ m600(arg0, 75, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paub, 3)), bf62), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paub, 2)), bf62), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ // Method returns Buffer
+
+ Store(LNotEqual(m601(3, 3), bf62), Local0)
+ m600(arg0, 78, Local0, Zero)
+
+ Store(LNotEqual(m601(3, 2), bf62), Local0)
+ m600(arg0, 79, Local0, Ones)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(3, 3, 1)), bf62), Local0)
+ m600(arg0, 80, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(3, 2, 1)), bf62), Local0)
+ m600(arg0, 81, Local0, Ones)
+ }
+ }
+
+
+ // Buffer Field to Buffer conversion of the both Integer operands
+ // of Concatenate operator
+
+ Method(m645, 1)
+ {
+ CreateField(b640, 159, 64, bf65)
+
+ Store(Buffer(8){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, bf65)
+
+ Store(Concatenate(bf65, bf65), Local0)
+ m600(arg0, 0, Local0, bb20)
+
+ Store(Concatenate(0x321, bf65), Local0)
+ m600(arg0, 1, Local0, bb21)
+
+ Store(Concatenate(bf65, 0x321), Local0)
+ m600(arg0, 1, Local0, bb22)
+
+ Concatenate(bf65, bf65, Local0)
+ m600(arg0, 0, Local0, bb20)
+
+ Concatenate(0x321, bf65, Local0)
+ m600(arg0, 1, Local0, bb21)
+
+ Concatenate(bf65, 0x321, Local0)
+ m600(arg0, 1, Local0, bb22)
+ }
+
+ Method(m325, 1)
+ {
+ CreateField(b640, 31, 32, bf62)
+
+ Store(Buffer(4){0xFE, 0xB3, 0x79, 0xC1}, bf62)
+
+ Store(Concatenate(bf62, bf62), Local0)
+ m600(arg0, 0, Local0, bb23)
+
+ Store(Concatenate(0x321, bf62), Local0)
+ m600(arg0, 1, Local0, bb24)
+
+ Store(Concatenate(bf62, 0x321), Local0)
+ m600(arg0, 1, Local0, bb25)
+
+ Concatenate(bf62, bf62, Local0)
+ m600(arg0, 0, Local0, bb23)
+
+ Concatenate(0x321, bf62, Local0)
+ m600(arg0, 1, Local0, bb24)
+
+ Concatenate(bf62, 0x321, Local0)
+ m600(arg0, 1, Local0, bb25)
+ }
+
+ // Buffer Field to Buffer conversion of the Buffer Field second operand
+ // of Concatenate operator when the first operand is evaluated as Buffer
+
+ Method(m646, 1)
+ {
+ CreateField(b640, 159, 64, bf65)
+
+ Store(Buffer(8){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, bf65)
+
+ Store(Concatenate(Buffer(){0x5a}, bf65), Local0)
+ m600(arg0, 0, Local0, bb10)
+
+ Store(Concatenate(Buffer(){0x5a, 0x00}, bf65), Local0)
+ m600(arg0, 1, Local0, bb11)
+
+ Store(Concatenate(aub0, bf65), Local0)
+ m600(arg0, 2, Local0, bb10)
+
+ Store(Concatenate(aub1, bf65), Local0)
+ m600(arg0, 3, Local0, bb11)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aub0)), bf65), Local0)
+ m600(arg0, 4, Local0, bb10)
+
+ Store(Concatenate(Derefof(Refof(aub1)), bf65), Local0)
+ m600(arg0, 5, Local0, bb11)
+ }
+
+ Store(Concatenate(Derefof(Index(paub, 0)), bf65), Local0)
+ m600(arg0, 6, Local0, bb10)
+
+ Store(Concatenate(Derefof(Index(paub, 1)), bf65), Local0)
+ m600(arg0, 7, Local0, bb11)
+
+ // Method returns Buffer
+
+ Store(Concatenate(m601(3, 0), bf65), Local0)
+ m600(arg0, 8, Local0, bb10)
+
+ Store(Concatenate(m601(3, 1), bf65), Local0)
+ m600(arg0, 9, Local0, bb11)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(3, 0, 1)), bf65), Local0)
+ m600(arg0, 10, Local0, bb10)
+
+ Store(Concatenate(Derefof(m602(3, 1, 1)), bf65), Local0)
+ m600(arg0, 11, Local0, bb11)
+ }
+
+ Concatenate(Buffer(){0x5a}, bf65, Local0)
+ m600(arg0, 12, Local0, bb10)
+
+ Concatenate(Buffer(){0x5a, 0x00}, bf65, Local0)
+ m600(arg0, 13, Local0, bb11)
+
+ Concatenate(aub0, bf65, Local0)
+ m600(arg0, 14, Local0, bb10)
+
+ Concatenate(aub1, bf65, Local0)
+ m600(arg0, 15, Local0, bb11)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aub0)), bf65, Local0)
+ m600(arg0, 16, Local0, bb10)
+
+ Concatenate(Derefof(Refof(aub1)), bf65, Local0)
+ m600(arg0, 17, Local0, bb11)
+ }
+
+ Concatenate(Derefof(Index(paub, 0)), bf65, Local0)
+ m600(arg0, 18, Local0, bb10)
+
+ Concatenate(Derefof(Index(paub, 1)), bf65, Local0)
+ m600(arg0, 19, Local0, bb11)
+
+ // Method returns Buffer
+
+ Concatenate(m601(3, 0), bf65, Local0)
+ m600(arg0, 20, Local0, bb10)
+
+ Concatenate(m601(3, 1), bf65, Local0)
+ m600(arg0, 21, Local0, bb11)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Concatenate(Derefof(m602(3, 0, 1)), bf65, Local0)
+ m600(arg0, 22, Local0, bb10)
+
+ Concatenate(Derefof(m602(3, 1, 1)), bf65, Local0)
+ m600(arg0, 23, Local0, bb11)
+ }
+ }
+
+ Method(m326, 1)
+ {
+ CreateField(b640, 31, 32, bf62)
+ CreateField(b640, 159, 64, bf65)
+
+ Store(Buffer(4){0xFE, 0xB3, 0x79, 0xC1}, bf62)
+ Store(Buffer(8){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, bf65)
+
+ Store(Concatenate(Buffer(){0x5a}, bf62), Local0)
+ m600(arg0, 0, Local0, bb12)
+
+ Store(Concatenate(Buffer(){0x5a, 0x00}, bf62), Local0)
+ m600(arg0, 1, Local0, bb13)
+
+ Store(Concatenate(aub0, bf62), Local0)
+ m600(arg0, 2, Local0, bb12)
+
+ Store(Concatenate(aub1, bf62), Local0)
+ m600(arg0, 3, Local0, bb13)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aub0)), bf62), Local0)
+ m600(arg0, 4, Local0, bb12)
+
+ Store(Concatenate(Derefof(Refof(aub1)), bf62), Local0)
+ m600(arg0, 5, Local0, bb13)
+ }
+
+ Store(Concatenate(Derefof(Index(paub, 0)), bf62), Local0)
+ m600(arg0, 6, Local0, bb12)
+
+ Store(Concatenate(Derefof(Index(paub, 1)), bf62), Local0)
+ m600(arg0, 7, Local0, bb13)
+
+ // Method returns Buffer
+
+ Store(Concatenate(m601(3, 0), bf62), Local0)
+ m600(arg0, 8, Local0, bb12)
+
+ Store(Concatenate(m601(3, 1), bf62), Local0)
+ m600(arg0, 9, Local0, bb13)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(3, 0, 1)), bf62), Local0)
+ m600(arg0, 10, Local0, bb12)
+
+ Store(Concatenate(Derefof(m602(3, 1, 1)), bf62), Local0)
+ m600(arg0, 11, Local0, bb13)
+ }
+
+
+ Store(Concatenate(Buffer(){0x5a}, bf65), Local0)
+ m600(arg0, 12, Local0, bb10)
+
+ Store(Concatenate(Buffer(){0x5a, 0x00}, bf65), Local0)
+ m600(arg0, 13, Local0, bb11)
+
+
+ Concatenate(Buffer(){0x5a}, bf62, Local0)
+ m600(arg0, 14, Local0, bb12)
+
+ Concatenate(Buffer(){0x5a, 0x00}, bf62, Local0)
+ m600(arg0, 15, Local0, bb13)
+
+ Concatenate(aub0, bf62, Local0)
+ m600(arg0, 16, Local0, bb12)
+
+ Concatenate(aub1, bf62, Local0)
+ m600(arg0, 17, Local0, bb13)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aub0)), bf62, Local0)
+ m600(arg0, 18, Local0, bb12)
+
+ Concatenate(Derefof(Refof(aub1)), bf62, Local0)
+ m600(arg0, 19, Local0, bb13)
+ }
+
+ Concatenate(Derefof(Index(paub, 0)), bf62, Local0)
+ m600(arg0, 20, Local0, bb12)
+
+ Concatenate(Derefof(Index(paub, 1)), bf62, Local0)
+ m600(arg0, 21, Local0, bb13)
+
+ // Method returns Buffer
+
+ Concatenate(m601(3, 0), bf62, Local0)
+ m600(arg0, 22, Local0, bb12)
+
+ Concatenate(m601(3, 1), bf62, Local0)
+ m600(arg0, 23, Local0, bb13)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Concatenate(Derefof(m602(3, 0, 1)), bf62, Local0)
+ m600(arg0, 24, Local0, bb12)
+
+ Concatenate(Derefof(m602(3, 1, 1)), bf62, Local0)
+ m600(arg0, 25, Local0, bb13)
+ }
+
+ Concatenate(Buffer(){0x5a}, bf65, Local0)
+ m600(arg0, 26, Local0, bb10)
+
+ Concatenate(Buffer(){0x5a, 0x00}, bf65, Local0)
+ m600(arg0, 27, Local0, bb11)
+
+ }
+
+
+ // Buffer Field to Buffer conversion of the Buffer Field Source operand
+ // of ToString operator
+
+ Method(m647, 1)
+ {
+ CreateField(b641, 228, 64, bf71)
+ CreateField(b641, 292, 64, bf72)
+
+ Store(0x6e7c534136502214, bf71)
+ Store(0x6e00534136002214, bf72)
+
+ Store(ToString(bf71, Ones), Local0)
+ m600(arg0, 0, Local0, bs18)
+
+ Store(ToString(bf71, 3), Local0)
+ m600(arg0, 1, Local0, bs19)
+
+ Store(ToString(bf72, Ones), Local0)
+ m600(arg0, 2, Local0, bs1a)
+
+ Store(ToString(bf71, aui0), Local0)
+ m600(arg0, 3, Local0, bs18)
+
+ Store(ToString(bf71, aui7), Local0)
+ m600(arg0, 4, Local0, bs19)
+
+ Store(ToString(bf72, aui0), Local0)
+ m600(arg0, 5, Local0, bs1a)
+
+ if (y078) {
+ Store(ToString(bf71, Derefof(Refof(aui0))), Local0)
+ m600(arg0, 6, Local0, bs18)
+
+ Store(ToString(bf71, Derefof(Refof(aui7))), Local0)
+ m600(arg0, 7, Local0, bs19)
+
+ Store(ToString(bf72, Derefof(Refof(aui0))), Local0)
+ m600(arg0, 8, Local0, bs1a)
+ }
+
+ Store(ToString(bf71, Derefof(Index(paui, 0))), Local0)
+ m600(arg0, 9, Local0, bs18)
+
+ Store(ToString(bf71, Derefof(Index(paui, 7))), Local0)
+ m600(arg0, 10, Local0, bs19)
+
+ Store(ToString(bf72, Derefof(Index(paui, 0))), Local0)
+ m600(arg0, 11, Local0, bs1a)
+
+ // Method returns Length parameter
+
+ Store(ToString(bf71, m601(1, 0)), Local0)
+ m600(arg0, 12, Local0, bs18)
+
+ Store(ToString(bf71, m601(1, 7)), Local0)
+ m600(arg0, 13, Local0, bs19)
+
+ Store(ToString(bf72, m601(1, 0)), Local0)
+ m600(arg0, 14, Local0, bs1a)
+
+ // Method returns Reference to Length parameter
+
+ if (y500) {
+ Store(ToString(bf71, Derefof(m601(1, 0))), Local0)
+ m600(arg0, 15, Local0, bs18)
+
+ Store(ToString(bf71, Derefof(m601(1, 7))), Local0)
+ m600(arg0, 16, Local0, bs19)
+
+ Store(ToString(bf72, Derefof(m601(1, 0))), Local0)
+ m600(arg0, 17, Local0, bs1a)
+ }
+
+ ToString(bf71, Ones, Local0)
+ m600(arg0, 18, Local0, bs18)
+
+ ToString(bf71, 3, Local0)
+ m600(arg0, 19, Local0, bs19)
+
+ ToString(bf72, Ones, Local0)
+ m600(arg0, 20, Local0, bs1a)
+
+ ToString(bf71, aui0, Local0)
+ m600(arg0, 21, Local0, bs18)
+
+ ToString(bf71, aui7, Local0)
+ m600(arg0, 22, Local0, bs19)
+
+ ToString(bf72, aui0, Local0)
+ m600(arg0, 23, Local0, bs1a)
+
+ if (y078) {
+ ToString(bf71, Derefof(Refof(aui0)), Local0)
+ m600(arg0, 24, Local0, bs18)
+
+ ToString(bf71, Derefof(Refof(aui7)), Local0)
+ m600(arg0, 25, Local0, bs19)
+
+ ToString(bf72, Derefof(Refof(aui0)), Local0)
+ m600(arg0, 26, Local0, bs1a)
+ }
+
+ ToString(bf71, Derefof(Index(paui, 0)), Local0)
+ m600(arg0, 27, Local0, bs18)
+
+ ToString(bf71, Derefof(Index(paui, 7)), Local0)
+ m600(arg0, 28, Local0, bs19)
+
+ ToString(bf72, Derefof(Index(paui, 0)), Local0)
+ m600(arg0, 29, Local0, bs1a)
+
+ // Method returns Length parameter
+
+ ToString(bf71, m601(1, 0), Local0)
+ m600(arg0, 30, Local0, bs18)
+
+ ToString(bf71, m601(1, 7), Local0)
+ m600(arg0, 31, Local0, bs19)
+
+ ToString(bf72, m601(1, 0), Local0)
+ m600(arg0, 32, Local0, bs1a)
+
+ // Method returns Reference to Length parameter
+
+ if (y500) {
+ ToString(bf71, Derefof(m601(1, 0)), Local0)
+ m600(arg0, 33, Local0, bs18)
+
+ ToString(bf71, Derefof(m601(1, 7)), Local0)
+ m600(arg0, 34, Local0, bs19)
+
+ ToString(bf72, Derefof(m601(1, 0)), Local0)
+ m600(arg0, 35, Local0, bs1a)
+ }
+ }
+
+ Method(m327, 1)
+ {
+ CreateField(b641, 196, 32, bf70)
+ CreateField(b641, 356, 64, bf73)
+
+ Store(0x6179534e, bf70)
+ Store(0x6e7c534136002214, bf73)
+
+ Store(ToString(bf70, Ones), Local0)
+ m600(arg0, 0, Local0, bs16)
+
+ Store(ToString(bf70, 3), Local0)
+ m600(arg0, 1, Local0, bs17)
+
+ Store(ToString(bf73, Ones), Local0)
+ m600(arg0, 2, Local0, bs1a)
+
+ Store(ToString(bf70, aui0), Local0)
+ m600(arg0, 3, Local0, bs16)
+
+ Store(ToString(bf70, aui7), Local0)
+ m600(arg0, 4, Local0, bs17)
+
+ Store(ToString(bf73, aui0), Local0)
+ m600(arg0, 5, Local0, bs1a)
+
+ if (y078) {
+ Store(ToString(bf70, Derefof(Refof(aui0))), Local0)
+ m600(arg0, 6, Local0, bs16)
+
+ Store(ToString(bf70, Derefof(Refof(aui7))), Local0)
+ m600(arg0, 7, Local0, bs17)
+
+ Store(ToString(bf73, Derefof(Refof(aui0))), Local0)
+ m600(arg0, 8, Local0, bs1a)
+ }
+
+ Store(ToString(bf70, Derefof(Index(paui, 0))), Local0)
+ m600(arg0, 9, Local0, bs16)
+
+ Store(ToString(bf70, Derefof(Index(paui, 7))), Local0)
+ m600(arg0, 10, Local0, bs17)
+
+ Store(ToString(bf73, Derefof(Index(paui, 0))), Local0)
+ m600(arg0, 11, Local0, bs1a)
+
+ // Method returns Length parameter
+
+ Store(ToString(bf70, m601(1, 0)), Local0)
+ m600(arg0, 12, Local0, bs16)
+
+ Store(ToString(bf70, m601(1, 7)), Local0)
+ m600(arg0, 13, Local0, bs17)
+
+ Store(ToString(bf73, m601(1, 0)), Local0)
+ m600(arg0, 14, Local0, bs1a)
+
+ // Method returns Reference to Length parameter
+
+ if (y500) {
+ Store(ToString(bf70, Derefof(m601(1, 0))), Local0)
+ m600(arg0, 15, Local0, bs16)
+
+ Store(ToString(bf70, Derefof(m601(1, 7))), Local0)
+ m600(arg0, 16, Local0, bs17)
+
+ Store(ToString(bf73, Derefof(m601(1, 0))), Local0)
+ m600(arg0, 17, Local0, bs1a)
+ }
+
+ ToString(bf70, Ones, Local0)
+ m600(arg0, 18, Local0, bs16)
+
+ ToString(bf70, 3, Local0)
+ m600(arg0, 19, Local0, bs17)
+
+ ToString(bf73, Ones, Local0)
+ m600(arg0, 20, Local0, bs1a)
+
+ ToString(bf70, aui0, Local0)
+ m600(arg0, 21, Local0, bs16)
+
+ ToString(bf70, aui7, Local0)
+ m600(arg0, 22, Local0, bs17)
+
+ ToString(bf73, aui0, Local0)
+ m600(arg0, 23, Local0, bs1a)
+
+ if (y078) {
+ ToString(bf70, Derefof(Refof(aui0)), Local0)
+ m600(arg0, 24, Local0, bs16)
+
+ ToString(bf70, Derefof(Refof(aui7)), Local0)
+ m600(arg0, 25, Local0, bs17)
+
+ ToString(bf73, Derefof(Refof(aui0)), Local0)
+ m600(arg0, 26, Local0, bs1a)
+ }
+
+ ToString(bf70, Derefof(Index(paui, 0)), Local0)
+ m600(arg0, 27, Local0, bs16)
+
+ ToString(bf70, Derefof(Index(paui, 7)), Local0)
+ m600(arg0, 28, Local0, bs17)
+
+ ToString(bf73, Derefof(Index(paui, 0)), Local0)
+ m600(arg0, 29, Local0, bs1a)
+
+ // Method returns Length parameter
+
+ ToString(bf70, m601(1, 0), Local0)
+ m600(arg0, 30, Local0, bs16)
+
+ ToString(bf70, m601(1, 7), Local0)
+ m600(arg0, 31, Local0, bs17)
+
+ ToString(bf73, m601(1, 0), Local0)
+ m600(arg0, 32, Local0, bs1a)
+
+ // Method returns Reference to Length parameter
+
+ if (y500) {
+ ToString(bf70, Derefof(m601(1, 0)), Local0)
+ m600(arg0, 33, Local0, bs16)
+
+ ToString(bf70, Derefof(m601(1, 7)), Local0)
+ m600(arg0, 34, Local0, bs17)
+
+ ToString(bf73, Derefof(m601(1, 0)), Local0)
+ m600(arg0, 35, Local0, bs1a)
+ }
+ }
+
+ // Buffer Field to Buffer conversion of the Buffer Field Source operand
+ // of Mid operator
+
+ Method(m648, 1)
+ {
+ CreateField(b640, 159, 64, bf65)
+ CreateField(b630, 223, 65, bf66)
+ CreateField(b641, 356, 64, bf73)
+
+ Store(Buffer(8){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, bf65)
+ Store(Buffer(9){0x21, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01}, bf66)
+ Store(0x6e7c534136002214, bf73)
+
+ Store(Mid(bf65, 0, 9), Local0)
+ m600(arg0, 0, Local0, bb1d)
+
+ Store(Mid(bf66, 0, 9), Local0)
+ m600(arg0, 1, Local0, bb1f)
+
+ Store(Mid(bf73, 1, 8), Local0)
+ m600(arg0, 2, Local0, bb30)
+
+ Store(Mid(bf65, aui5, auib), Local0)
+ m600(arg0, 3, Local0, bb1d)
+
+ Store(Mid(bf66, aui5, auib), Local0)
+ m600(arg0, 4, Local0, bb1f)
+
+ Store(Mid(bf73, aui6, auia), Local0)
+ m600(arg0, 5, Local0, bb30)
+
+ if (y078) {
+ Store(Mid(bf65, Derefof(Refof(aui5)), Derefof(Refof(auib))), Local0)
+ m600(arg0, 6, Local0, bb1d)
+
+ Store(Mid(bf66, Derefof(Refof(aui5)), Derefof(Refof(auib))), Local0)
+ m600(arg0, 7, Local0, bb1f)
+
+ Store(Mid(bf73, Derefof(Refof(aui6)), Derefof(Refof(auia))), Local0)
+ m600(arg0, 8, Local0, bb30)
+ }
+
+ Store(Mid(bf65, Derefof(Index(paui, 5)), Derefof(Index(paui, 11))), Local0)
+ m600(arg0, 9, Local0, bb1d)
+
+ Store(Mid(bf66, Derefof(Index(paui, 5)), Derefof(Index(paui, 11))), Local0)
+ m600(arg0, 10, Local0, bb1f)
+
+ Store(Mid(bf73, Derefof(Index(paui, 6)), Derefof(Index(paui, 10))), Local0)
+ m600(arg0, 11, Local0, bb30)
+
+ // Method returns Index and Length parameters
+
+ Store(Mid(bf65, m601(1, 5), m601(1, 11)), Local0)
+ m600(arg0, 12, Local0, bb1d)
+
+ Store(Mid(bf66, m601(1, 5), m601(1, 11)), Local0)
+ m600(arg0, 13, Local0, bb1f)
+
+ Store(Mid(bf73, m601(1, 6), m601(1, 10)), Local0)
+ m600(arg0, 14, Local0, bb30)
+
+ // Method returns Reference to Index and Length parameters
+
+ if (y500) {
+ Store(Mid(bf65, Derefof(m601(1, 5)), Derefof(m601(1, 11))), Local0)
+ m600(arg0, 15, Local0, bb1d)
+
+ Store(Mid(bf66, Derefof(m601(1, 5)), Derefof(m601(1, 11))), Local0)
+ m600(arg0, 16, Local0, bb1f)
+
+ Store(Mid(bf73, Derefof(m601(1, 6)), Derefof(m601(1, 10))), Local0)
+ m600(arg0, 17, Local0, bb30)
+ }
+
+ Mid(bf65, 0, 9, Local0)
+ m600(arg0, 18, Local0, bb1d)
+
+ Mid(bf66, 0, 9, Local0)
+ m600(arg0, 19, Local0, bb1f)
+
+ Mid(bf73, 1, 8, Local0)
+ m600(arg0, 20, Local0, bb30)
+
+ Mid(bf65, aui5, auib, Local0)
+ m600(arg0, 21, Local0, bb1d)
+
+ Mid(bf66, aui5, auib, Local0)
+ m600(arg0, 22, Local0, bb1f)
+
+ Mid(bf73, aui6, auia, Local0)
+ m600(arg0, 23, Local0, bb30)
+
+ if (y078) {
+ Mid(bf65, Derefof(Refof(aui5)), Derefof(Refof(auib)), Local0)
+ m600(arg0, 24, Local0, bb1d)
+
+ Mid(bf66, Derefof(Refof(aui5)), Derefof(Refof(auib)), Local0)
+ m600(arg0, 25, Local0, bb1f)
+
+ Mid(bf73, Derefof(Refof(aui6)), Derefof(Refof(auia)), Local0)
+ m600(arg0, 26, Local0, bb30)
+ }
+
+ Mid(bf65, Derefof(Index(paui, 5)), Derefof(Index(paui, 11)), Local0)
+ m600(arg0, 27, Local0, bb1d)
+
+ Mid(bf66, Derefof(Index(paui, 5)), Derefof(Index(paui, 11)), Local0)
+ m600(arg0, 28, Local0, bb1f)
+
+ Mid(bf73, Derefof(Index(paui, 6)), Derefof(Index(paui, 10)), Local0)
+ m600(arg0, 29, Local0, bb30)
+
+ // Method returns Index and Length parameters
+
+ Mid(bf65, m601(1, 5), m601(1, 11), Local0)
+ m600(arg0, 30, Local0, bb1d)
+
+ Mid(bf66, m601(1, 5), m601(1, 11), Local0)
+ m600(arg0, 31, Local0, bb1f)
+
+ Mid(bf73, m601(1, 6), m601(1, 10), Local0)
+ m600(arg0, 32, Local0, bb30)
+
+ // Method returns Reference to Index and Length parameters
+
+ if (y500) {
+ Mid(bf65, Derefof(m601(1, 5)), Derefof(m601(1, 11)), Local0)
+ m600(arg0, 33, Local0, bb1d)
+
+ Mid(bf66, Derefof(m601(1, 5)), Derefof(m601(1, 11)), Local0)
+ m600(arg0, 34, Local0, bb1f)
+
+ Mid(bf73, Derefof(m601(1, 6)), Derefof(m601(1, 10)), Local0)
+ m600(arg0, 35, Local0, bb30)
+ }
+ }
+
+ Method(m328, 1)
+ {
+ CreateField(b640, 31, 32, bf62)
+ CreateField(b630, 63, 33, bf63)
+ CreateField(b641, 519, 32, bf77)
+
+ Store(Buffer(4){0xFE, 0xB3, 0x79, 0xC1}, bf62)
+ Store(Buffer(5){0xFE, 0xB3, 0x79, 0xC1, 0xa5}, bf63)
+ Store(0x36002214, bf77)
+
+ Store(Mid(bf62, 0, 5), Local0)
+ m600(arg0, 0, Local0, bb1c)
+
+ Store(Mid(bf63, 0, 5), Local0)
+ m600(arg0, 1, Local0, bb1e)
+
+ Store(Mid(bf77, 1, 4), Local0)
+ m600(arg0, 2, Local0, bb31)
+
+ Store(Mid(bf62, aui5, aui9), Local0)
+ m600(arg0, 3, Local0, bb1c)
+
+ Store(Mid(bf63, aui5, aui9), Local0)
+ m600(arg0, 4, Local0, bb1e)
+
+ Store(Mid(bf77, aui6, aui8), Local0)
+ m600(arg0, 5, Local0, bb31)
+
+ if (y078) {
+ Store(Mid(bf62, Derefof(Refof(aui5)), Derefof(Refof(aui9))), Local0)
+ m600(arg0, 6, Local0, bb1c)
+
+ Store(Mid(bf63, Derefof(Refof(aui5)), Derefof(Refof(aui9))), Local0)
+ m600(arg0, 7, Local0, bb1e)
+
+ Store(Mid(bf77, Derefof(Refof(aui6)), Derefof(Refof(aui8))), Local0)
+ m600(arg0, 8, Local0, bb31)
+ }
+
+ Store(Mid(bf62, Derefof(Index(paui, 5)), Derefof(Index(paui, 9))), Local0)
+ m600(arg0, 9, Local0, bb1c)
+
+ Store(Mid(bf63, Derefof(Index(paui, 5)), Derefof(Index(paui, 9))), Local0)
+ m600(arg0, 10, Local0, bb1e)
+
+ Store(Mid(bf77, Derefof(Index(paui, 6)), Derefof(Index(paui, 8))), Local0)
+ m600(arg0, 11, Local0, bb31)
+
+ // Method returns Index and Length parameters
+
+ Store(Mid(bf62, m601(1, 5), m601(1, 9)), Local0)
+ m600(arg0, 12, Local0, bb1c)
+
+ Store(Mid(bf63, m601(1, 5), m601(1, 9)), Local0)
+ m600(arg0, 13, Local0, bb1e)
+
+ Store(Mid(bf77, m601(1, 6), m601(1, 8)), Local0)
+ m600(arg0, 14, Local0, bb31)
+
+ // Method returns Reference to Index and Length parameters
+
+ if (y500) {
+ Store(Mid(bf62, Derefof(m601(1, 5)), Derefof(m601(1, 9))), Local0)
+ m600(arg0, 15, Local0, bb1c)
+
+ Store(Mid(bf63, Derefof(m601(1, 5)), Derefof(m601(1, 9))), Local0)
+ m600(arg0, 16, Local0, bb1e)
+
+ Store(Mid(bf77, Derefof(m601(1, 6)), Derefof(m601(1, 8))), Local0)
+ m600(arg0, 17, Local0, bb31)
+ }
+
+ Mid(bf62, 0, 5, Local0)
+ m600(arg0, 18, Local0, bb1c)
+
+ Mid(bf63, 0, 5, Local0)
+ m600(arg0, 19, Local0, bb1e)
+
+ Mid(bf77, 1, 4, Local0)
+ m600(arg0, 20, Local0, bb31)
+
+ Mid(bf62, aui5, aui9, Local0)
+ m600(arg0, 21, Local0, bb1c)
+
+ Mid(bf63, aui5, aui9, Local0)
+ m600(arg0, 22, Local0, bb1e)
+
+ Mid(bf77, aui6, aui8, Local0)
+ m600(arg0, 23, Local0, bb31)
+
+ if (y078) {
+ Mid(bf62, Derefof(Refof(aui5)), Derefof(Refof(aui9)), Local0)
+ m600(arg0, 24, Local0, bb1c)
+
+ Mid(bf63, Derefof(Refof(aui5)), Derefof(Refof(aui9)), Local0)
+ m600(arg0, 25, Local0, bb1e)
+
+ Mid(bf77, Derefof(Refof(aui6)), Derefof(Refof(aui8)), Local0)
+ m600(arg0, 26, Local0, bb31)
+ }
+
+ Mid(bf62, Derefof(Index(paui, 5)), Derefof(Index(paui, 9)), Local0)
+ m600(arg0, 27, Local0, bb1c)
+
+ Mid(bf63, Derefof(Index(paui, 5)), Derefof(Index(paui, 9)), Local0)
+ m600(arg0, 28, Local0, bb1e)
+
+ Mid(bf77, Derefof(Index(paui, 6)), Derefof(Index(paui, 8)), Local0)
+ m600(arg0, 29, Local0, bb31)
+
+ // Method returns Index and Length parameters
+
+ Mid(bf62, m601(1, 5), m601(1, 9), Local0)
+ m600(arg0, 30, Local0, bb1c)
+
+ Mid(bf63, m601(1, 5), m601(1, 9), Local0)
+ m600(arg0, 31, Local0, bb1e)
+
+ Mid(bf77, m601(1, 6), m601(1, 8), Local0)
+ m600(arg0, 32, Local0, bb31)
+
+ // Method returns Reference to Index and Length parameters
+
+ if (y500) {
+ Mid(bf62, Derefof(m601(1, 5)), Derefof(m601(1, 9)), Local0)
+ m600(arg0, 33, Local0, bb1c)
+
+ Mid(bf63, Derefof(m601(1, 5)), Derefof(m601(1, 9)), Local0)
+ m600(arg0, 34, Local0, bb1e)
+
+ Mid(bf77, Derefof(m601(1, 6)), Derefof(m601(1, 8)), Local0)
+ m600(arg0, 35, Local0, bb31)
+ }
+ }
+
+
+ // Buffer Field to Integer implicit conversion Cases.
+
+ // Buffer Field to Integer conversion of the Buffer Field sole operand
+ // of the 1-parameter Integer arithmetic operators
+ // (Decrement, Increment, FindSetLeftBit, FindSetRightBit, Not)
+
+ Method(m64l, 1)
+ {
+ CreateField(b640, 0, 31, bf61)
+ CreateField(b640, 159, 64, bf65)
+ CreateField(b630, 3424, 31, bf91)
+ CreateField(b630, 3455, 64, bf95)
+ CreateField(b630, 3519, 31, bfa1)
+ CreateField(b630, 3550, 64, bfa5)
+
+ Store(Buffer(3){0x21, 0x03, 0x00}, bf61)
+ Store(Buffer(8){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, bf65)
+ Store(Buffer(3){0x21, 0x03, 0x00}, bf91)
+ Store(Buffer(8){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, bf95)
+ Store(Buffer(3){0x21, 0x03, 0x00}, bfa1)
+ Store(Buffer(8){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, bfa5)
+
+ // Decrement
+
+ Store(Decrement(bf91), Local0)
+ m600(arg0, 0, Local0, bi12)
+
+ Store(Decrement(bf95), Local0)
+ m600(arg0, 1, Local0, bi16)
+
+ // Increment
+
+ Store(Increment(bfa1), Local0)
+ m600(arg0, 2, Local0, bi23)
+
+ Store(Increment(bfa5), Local0)
+ m600(arg0, 3, Local0, bi27)
+
+ // FindSetLeftBit
+
+ Store(FindSetLeftBit(bf61), Local0)
+ m600(arg0, 0, Local0, 10)
+
+ Store(FindSetLeftBit(bf65), Local0)
+ m600(arg0, 1, Local0, 64)
+
+ // FindSetRightBit
+
+ Store(FindSetRightBit(bf61), Local0)
+ m600(arg0, 2, Local0, 1)
+
+ Store(FindSetRightBit(bf65), Local0)
+ m600(arg0, 3, Local0, 3)
+
+ // Not
+
+ Store(Not(bf61), Local0)
+ m600(arg0, 4, Local0, 0xfffffffffffffcde)
+
+ Store(Not(bf65), Local0)
+ m600(arg0, 5, Local0, 0x01834c6e29af5d7b)
+
+ m600(arg0, 6, bf61, 0x321)
+ m600(arg0, 7, bf65, 0xfe7cb391d650a284)
+ m600(arg0, 8, bf91, 0x320)
+ m600(arg0, 9, bfa1, 0x322)
+ m600(arg0, 10, bf95, 0xfe7cb391d650a283)
+ m600(arg0, 11, bfa5, 0xfe7cb391d650a285)
+ }
+
+ Method(m32l, 1)
+ {
+ CreateField(b640, 0, 31, bf61)
+ CreateField(b640, 159, 64, bf65)
+ CreateField(b630, 3424, 31, bf91)
+ CreateField(b630, 3455, 64, bf95)
+ CreateField(b630, 3519, 31, bfa1)
+ CreateField(b630, 3550, 64, bfa5)
+
+ Store(Buffer(3){0x21, 0x03, 0x00}, bf61)
+ Store(Buffer(8){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, bf65)
+ Store(Buffer(3){0x21, 0x03, 0x00}, bf91)
+ Store(Buffer(8){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, bf95)
+ Store(Buffer(3){0x21, 0x03, 0x00}, bfa1)
+ Store(Buffer(8){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, bfa5)
+
+ // Decrement
+
+ Store(Decrement(bf91), Local0)
+ m600(arg0, 0, Local0, bi12)
+
+ Store(Decrement(bf95), Local0)
+ m600(arg0, 1, Local0, bi18)
+
+ // Increment
+
+ Store(Increment(bfa1), Local0)
+ m600(arg0, 2, Local0, bi23)
+
+ Store(Increment(bfa5), Local0)
+ m600(arg0, 3, Local0, bi29)
+
+ // FindSetLeftBit
+
+ Store(FindSetLeftBit(bf61), Local0)
+ m600(arg0, 0, Local0, 10)
+
+ Store(FindSetLeftBit(bf65), Local0)
+ m600(arg0, 1, Local0, 32)
+
+ // FindSetRightBit
+
+ Store(FindSetRightBit(bf61), Local0)
+ m600(arg0, 2, Local0, 1)
+
+ Store(FindSetRightBit(bf65), Local0)
+ m600(arg0, 3, Local0, 3)
+
+ // Not
+
+ Store(Not(bf61), Local0)
+ m600(arg0, 4, Local0, 0xfffffcde)
+
+ Store(Not(bf65), Local0)
+ m600(arg0, 5, Local0, 0x29af5d7b)
+
+ m600(arg0, 6, bf61, 0x321)
+ m600(arg0, 7, bf65, Buffer(8){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ m600(arg0, 8, bf91, 0x320)
+ m600(arg0, 9, bfa1, 0x322)
+ m600(arg0, 10, bf95, Buffer(8){0x83, 0xA2, 0x50, 0xD6, 0x00, 0x00, 0x00, 0x00})
+ m600(arg0, 11, bfa5, Buffer(8){0x85, 0xA2, 0x50, 0xD6, 0x00, 0x00, 0x00, 0x00})
+ }
+
+ // Buffer Field to Integer conversion of the Buffer Field sole operand
+ // of the LNot Logical Integer operator
+ Method(m03a, 1)
+ {
+ CreateField(b640, 0, 31, bf61)
+ CreateField(b640, 159, 64, bf65)
+ CreateField(b641, 486, 33, bf76)
+
+ Store(Buffer(3){0x21, 0x03, 0x00}, bf61)
+ Store(Buffer(8){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, bf65)
+ Store(0, bf76)
+
+ Store(LNot(bf76), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LNot(bf61), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ if (F64) {
+ Store(LNot(bf65), Local0)
+ m600(arg0, 2, Local0, Zero)
+ } else {
+ Store(LNot(bf65), Local0)
+ m600(arg0, 3, Local0, Zero)
+ }
+ }
+
+ // Buffer Field to Integer conversion of the Buffer Field sole operand
+ // of the FromBCD and ToBCD conversion operators
+
+ Method(m64m, 1)
+ {
+ CreateField(b640, 0, 31, bf61)
+ CreateField(b641, 0, 65, bf6c)
+ CreateField(b641, 65, 65, bf6d)
+
+ Store(Buffer(3){0x21, 0x03, 0x00}, bf61)
+ Store(Buffer() {0x01, 0x89, 0x67, 0x45, 0x23, 0x01, 0x89, 0x37}, bf6c)
+ Store(Buffer() {0x35, 0xec, 0xe9, 0x2e, 0x16, 0x76, 0x0d}, bf6d)
+
+ // FromBCD
+
+ Store(FromBCD(bf61), Local0)
+ m600(arg0, 2, Local0, 0x141)
+
+ Store(FromBCD(bf6c), Local0)
+ m600(arg0, 3, Local0, 0xd76162ee9ec35)
+
+ FromBCD(bf61, Local0)
+ m600(arg0, 2, Local0, 0x141)
+
+ FromBCD(bf6c, Local0)
+ m600(arg0, 3, Local0, 0xd76162ee9ec35)
+
+ // ToBCD
+
+ Store(ToBCD(bf61), Local0)
+ m600(arg0, 4, Local0, 0x801)
+
+// ??? No error of iASL on constant folding
+ Store(ToBCD(bf6d), Local0)
+ m600(arg0, 5, Local0, 0x3789012345678901)
+
+ ToBCD(bf61, Local0)
+ m600(arg0, 4, Local0, 0x801)
+
+ ToBCD(bf6d, Local0)
+ m600(arg0, 5, Local0, 0x3789012345678901)
+ }
+
+ Method(m32m, 1)
+ {
+ CreateField(b640, 0, 31, bf61)
+ CreateField(b641, 130, 33, bf6e)
+ CreateField(b641, 163, 33, bf6f)
+
+ Store(Buffer(3){0x21, 0x03, 0x00}, bf61)
+ Store(Buffer() {0x56, 0x34, 0x12, 0x90}, bf6e)
+ Store(Buffer() {0xc0, 0x2c, 0x5f, 0x05}, bf6f)
+
+ // FromBCD
+
+ Store(FromBCD(bf61), Local0)
+ m600(arg0, 2, Local0, 0x141)
+
+ Store(FromBCD(bf6e), Local0)
+ m600(arg0, 3, Local0, 0x55f2cc0)
+
+ FromBCD(bf61, Local0)
+ m600(arg0, 2, Local0, 0x141)
+
+ FromBCD(bf6e, Local0)
+ m600(arg0, 3, Local0, 0x55f2cc0)
+
+ // ToBCD
+
+ Store(ToBCD(bf61), Local0)
+ m600(arg0, 4, Local0, 0x801)
+
+ Store(ToBCD(bf6f), Local0)
+ m600(arg0, 5, Local0, 0x90123456)
+
+ ToBCD(bf61, Local0)
+ m600(arg0, 4, Local0, 0x801)
+
+ ToBCD(bf6f, Local0)
+ m600(arg0, 5, Local0, 0x90123456)
+ }
+
+ // Buffer Field to Integer conversion of each Buffer operand
+ // of the 2-parameter Integer arithmetic operators
+ // Add, And, Divide, Mod, Multiply, NAnd, NOr, Or,
+ // ShiftLeft, ShiftRight, Subtract, Xor
+
+ // Add, common 32-bit/64-bit test
+ Method(m03b, 1)
+ {
+ CreateField(b640, 0, 31, bf61)
+
+ Store(Buffer(3){0x21, 0x03, 0x00}, bf61)
+ // Conversion of the first operand
+
+ Store(Add(bf61, 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Add(bf61, 1), Local0)
+ m600(arg0, 1, Local0, 0x322)
+
+ Store(Add(bf61, aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Add(bf61, aui6), Local0)
+ m600(arg0, 3, Local0, 0x322)
+
+ if (y078) {
+ Store(Add(bf61, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Add(bf61, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x322)
+ }
+
+ Store(Add(bf61, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Add(bf61, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x322)
+
+ // Method returns Integer
+
+ Store(Add(bf61, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Add(bf61, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x322)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(bf61, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Add(bf61, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x322)
+ }
+
+ Add(bf61, 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Add(bf61, 1, Local0)
+ m600(arg0, 13, Local0, 0x322)
+
+ Add(bf61, aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Add(bf61, aui6, Local0)
+ m600(arg0, 15, Local0, 0x322)
+
+ if (y078) {
+ Add(bf61, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Add(bf61, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x322)
+ }
+
+ Add(bf61, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Add(bf61, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x322)
+
+ // Method returns Integer
+
+ Add(bf61, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Add(bf61, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x322)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(bf61, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Add(bf61, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x322)
+ }
+
+ // Conversion of the second operand
+
+ Store(Add(0, bf61), Local0)
+ m600(arg0, 24, Local0, 0x321)
+
+ Store(Add(1, bf61), Local0)
+ m600(arg0, 25, Local0, 0x322)
+
+ Store(Add(aui5, bf61), Local0)
+ m600(arg0, 26, Local0, 0x321)
+
+ Store(Add(aui6, bf61), Local0)
+ m600(arg0, 27, Local0, 0x322)
+
+ if (y078) {
+ Store(Add(Derefof(Refof(aui5)), bf61), Local0)
+ m600(arg0, 28, Local0, 0x321)
+
+ Store(Add(Derefof(Refof(aui6)), bf61), Local0)
+ m600(arg0, 29, Local0, 0x322)
+ }
+
+ Store(Add(Derefof(Index(paui, 5)), bf61), Local0)
+ m600(arg0, 30, Local0, 0x321)
+
+ Store(Add(Derefof(Index(paui, 6)), bf61), Local0)
+ m600(arg0, 31, Local0, 0x322)
+
+ // Method returns Integer
+
+ Store(Add(m601(1, 5), bf61), Local0)
+ m600(arg0, 32, Local0, 0x321)
+
+ Store(Add(m601(1, 6), bf61), Local0)
+ m600(arg0, 33, Local0, 0x322)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(Derefof(m602(1, 5, 1)), bf61), Local0)
+ m600(arg0, 34, Local0, 0x321)
+
+ Store(Add(Derefof(m602(1, 6, 1)), bf61), Local0)
+ m600(arg0, 35, Local0, 0x322)
+ }
+
+ Add(0, bf61, Local0)
+ m600(arg0, 36, Local0, 0x321)
+
+ Add(1, bf61, Local0)
+ m600(arg0, 37, Local0, 0x322)
+
+ Add(aui5, bf61, Local0)
+ m600(arg0, 38, Local0, 0x321)
+
+ Add(aui6, bf61, Local0)
+ m600(arg0, 39, Local0, 0x322)
+
+ if (y078) {
+ Add(Derefof(Refof(aui5)), bf61, Local0)
+ m600(arg0, 40, Local0, 0x321)
+
+ Add(Derefof(Refof(aui6)), bf61, Local0)
+ m600(arg0, 41, Local0, 0x322)
+ }
+
+ Add(Derefof(Index(paui, 5)), bf61, Local0)
+ m600(arg0, 42, Local0, 0x321)
+
+ Add(Derefof(Index(paui, 6)), bf61, Local0)
+ m600(arg0, 43, Local0, 0x322)
+
+ // Method returns Integer
+
+ Add(m601(1, 5), bf61, Local0)
+ m600(arg0, 44, Local0, 0x321)
+
+ Add(m601(1, 6), bf61, Local0)
+ m600(arg0, 45, Local0, 0x322)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(Derefof(m602(1, 5, 1)), bf61, Local0)
+ m600(arg0, 46, Local0, 0x321)
+
+ Add(Derefof(m602(1, 6, 1)), bf61, Local0)
+ m600(arg0, 47, Local0, 0x322)
+ }
+ }
+
+ // Add, 64-bit
+ Method(m03c, 1)
+ {
+ CreateField(b640, 0, 31, bf61)
+ CreateField(b640, 159, 64, bf65)
+
+ Store(Buffer(3){0x21, 0x03, 0x00}, bf61)
+ Store(Buffer(8){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, bf65)
+
+ // Conversion of the first operand
+
+ Store(Add(bf65, 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(bf65, 1), Local0)
+ m600(arg0, 1, Local0, 0xfe7cb391d650a285)
+
+ Store(Add(bf65, aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(bf65, aui6), Local0)
+ m600(arg0, 3, Local0, 0xfe7cb391d650a285)
+
+ if (y078) {
+ Store(Add(bf65, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(bf65, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xfe7cb391d650a285)
+ }
+
+ Store(Add(bf65, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(bf65, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Integer
+
+ Store(Add(bf65, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(bf65, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(bf65, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(bf65, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfe7cb391d650a285)
+ }
+
+ Add(bf65, 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Add(bf65, 1, Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a285)
+
+ Add(bf65, aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Add(bf65, aui6, Local0)
+ m600(arg0, 15, Local0, 0xfe7cb391d650a285)
+
+ if (y078) {
+ Add(bf65, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Add(bf65, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xfe7cb391d650a285)
+ }
+
+ Add(bf65, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Add(bf65, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Integer
+
+ Add(bf65, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Add(bf65, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(bf65, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Add(bf65, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfe7cb391d650a285)
+ }
+
+ // Conversion of the second operand
+
+ Store(Add(0, bf65), Local0)
+ m600(arg0, 24, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(1, bf65), Local0)
+ m600(arg0, 25, Local0, 0xfe7cb391d650a285)
+
+ Store(Add(aui5, bf65), Local0)
+ m600(arg0, 26, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(aui6, bf65), Local0)
+ m600(arg0, 27, Local0, 0xfe7cb391d650a285)
+
+ if (y078) {
+ Store(Add(Derefof(Refof(aui5)), bf65), Local0)
+ m600(arg0, 28, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(Refof(aui6)), bf65), Local0)
+ m600(arg0, 29, Local0, 0xfe7cb391d650a285)
+ }
+
+ Store(Add(Derefof(Index(paui, 5)), bf65), Local0)
+ m600(arg0, 30, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(Index(paui, 6)), bf65), Local0)
+ m600(arg0, 31, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Integer
+
+ Store(Add(m601(1, 5), bf65), Local0)
+ m600(arg0, 32, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(m601(1, 6), bf65), Local0)
+ m600(arg0, 33, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(Derefof(m602(1, 5, 1)), bf65), Local0)
+ m600(arg0, 34, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(m602(1, 6, 1)), bf65), Local0)
+ m600(arg0, 35, Local0, 0xfe7cb391d650a285)
+ }
+
+ Add(0, bf65, Local0)
+ m600(arg0, 36, Local0, 0xfe7cb391d650a284)
+
+ Add(1, bf65, Local0)
+ m600(arg0, 37, Local0, 0xfe7cb391d650a285)
+
+ Add(aui5, bf65, Local0)
+ m600(arg0, 38, Local0, 0xfe7cb391d650a284)
+
+ Add(aui6, bf65, Local0)
+ m600(arg0, 39, Local0, 0xfe7cb391d650a285)
+
+ if (y078) {
+ Add(Derefof(Refof(aui5)), bf65, Local0)
+ m600(arg0, 40, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(Refof(aui6)), bf65, Local0)
+ m600(arg0, 41, Local0, 0xfe7cb391d650a285)
+ }
+
+ Add(Derefof(Index(paui, 5)), bf65, Local0)
+ m600(arg0, 42, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(Index(paui, 6)), bf65, Local0)
+ m600(arg0, 43, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Integer
+
+ Add(m601(1, 5), bf65, Local0)
+ m600(arg0, 44, Local0, 0xfe7cb391d650a284)
+
+ Add(m601(1, 6), bf65, Local0)
+ m600(arg0, 45, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(Derefof(m602(1, 5, 1)), bf65, Local0)
+ m600(arg0, 46, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(m602(1, 6, 1)), bf65, Local0)
+ m600(arg0, 47, Local0, 0xfe7cb391d650a285)
+ }
+
+ // Conversion of the both operands
+
+ Store(Add(bf61, bf65), Local0)
+ m600(arg0, 48, Local0, 0xfe7cb391d650a5a5)
+
+ Store(Add(bf65, bf61), Local0)
+ m600(arg0, 49, Local0, 0xfe7cb391d650a5a5)
+
+ Add(bf61, bf65, Local0)
+ m600(arg0, 50, Local0, 0xfe7cb391d650a5a5)
+
+ Add(bf65, bf61, Local0)
+ m600(arg0, 51, Local0, 0xfe7cb391d650a5a5)
+ }
+
+ // Add, 32-bit
+ Method(m03d, 1)
+ {
+ CreateField(b640, 0, 31, bf61)
+ CreateField(b640, 159, 64, bf65)
+
+ Store(Buffer(3){0x21, 0x03, 0x00}, bf61)
+ Store(Buffer(8){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, bf65)
+
+ // Conversion of the first operand
+
+ Store(Add(bf65, 0), Local0)
+ m600(arg0, 0, Local0, 0xd650a284)
+
+ Store(Add(bf65, 1), Local0)
+ m600(arg0, 1, Local0, 0xd650a285)
+
+ Store(Add(bf65, aui5), Local0)
+ m600(arg0, 2, Local0, 0xd650a284)
+
+ Store(Add(bf65, aui6), Local0)
+ m600(arg0, 3, Local0, 0xd650a285)
+
+ if (y078) {
+ Store(Add(bf65, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xd650a284)
+
+ Store(Add(bf65, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xd650a285)
+ }
+
+ Store(Add(bf65, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xd650a284)
+
+ Store(Add(bf65, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xd650a285)
+
+ // Method returns Integer
+
+ Store(Add(bf65, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xd650a284)
+
+ Store(Add(bf65, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xd650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(bf65, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xd650a284)
+
+ Store(Add(bf65, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xd650a285)
+ }
+
+ Add(bf65, 0, Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ Add(bf65, 1, Local0)
+ m600(arg0, 13, Local0, 0xd650a285)
+
+ Add(bf65, aui5, Local0)
+ m600(arg0, 14, Local0, 0xd650a284)
+
+ Add(bf65, aui6, Local0)
+ m600(arg0, 15, Local0, 0xd650a285)
+
+ if (y078) {
+ Add(bf65, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xd650a284)
+
+ Add(bf65, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xd650a285)
+ }
+
+ Add(bf65, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xd650a284)
+
+ Add(bf65, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xd650a285)
+
+ // Method returns Integer
+
+ Add(bf65, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xd650a284)
+
+ Add(bf65, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xd650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(bf65, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xd650a284)
+
+ Add(bf65, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xd650a285)
+ }
+
+ // Conversion of the second operand
+
+ Store(Add(0, bf65), Local0)
+ m600(arg0, 24, Local0, 0xd650a284)
+
+ Store(Add(1, bf65), Local0)
+ m600(arg0, 25, Local0, 0xd650a285)
+
+ Store(Add(aui5, bf65), Local0)
+ m600(arg0, 26, Local0, 0xd650a284)
+
+ Store(Add(aui6, bf65), Local0)
+ m600(arg0, 27, Local0, 0xd650a285)
+
+ if (y078) {
+ Store(Add(Derefof(Refof(aui5)), bf65), Local0)
+ m600(arg0, 28, Local0, 0xd650a284)
+
+ Store(Add(Derefof(Refof(aui6)), bf65), Local0)
+ m600(arg0, 29, Local0, 0xd650a285)
+ }
+
+ Store(Add(Derefof(Index(paui, 5)), bf65), Local0)
+ m600(arg0, 30, Local0, 0xd650a284)
+
+ Store(Add(Derefof(Index(paui, 6)), bf65), Local0)
+ m600(arg0, 31, Local0, 0xd650a285)
+
+ // Method returns Integer
+
+ Store(Add(m601(1, 5), bf65), Local0)
+ m600(arg0, 32, Local0, 0xd650a284)
+
+ Store(Add(m601(1, 6), bf65), Local0)
+ m600(arg0, 33, Local0, 0xd650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(Derefof(m602(1, 5, 1)), bf65), Local0)
+ m600(arg0, 34, Local0, 0xd650a284)
+
+ Store(Add(Derefof(m602(1, 6, 1)), bf65), Local0)
+ m600(arg0, 35, Local0, 0xd650a285)
+ }
+
+ Add(0, bf65, Local0)
+ m600(arg0, 36, Local0, 0xd650a284)
+
+ Add(1, bf65, Local0)
+ m600(arg0, 37, Local0, 0xd650a285)
+
+ Add(aui5, bf65, Local0)
+ m600(arg0, 38, Local0, 0xd650a284)
+
+ Add(aui6, bf65, Local0)
+ m600(arg0, 39, Local0, 0xd650a285)
+
+ if (y078) {
+ Add(Derefof(Refof(aui5)), bf65, Local0)
+ m600(arg0, 40, Local0, 0xd650a284)
+
+ Add(Derefof(Refof(aui6)), bf65, Local0)
+ m600(arg0, 41, Local0, 0xd650a285)
+ }
+
+ Add(Derefof(Index(paui, 5)), bf65, Local0)
+ m600(arg0, 42, Local0, 0xd650a284)
+
+ Add(Derefof(Index(paui, 6)), bf65, Local0)
+ m600(arg0, 43, Local0, 0xd650a285)
+
+ // Method returns Integer
+
+ Add(m601(1, 5), bf65, Local0)
+ m600(arg0, 44, Local0, 0xd650a284)
+
+ Add(m601(1, 6), bf65, Local0)
+ m600(arg0, 45, Local0, 0xd650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(Derefof(m602(1, 5, 1)), bf65, Local0)
+ m600(arg0, 46, Local0, 0xd650a284)
+
+ Add(Derefof(m602(1, 6, 1)), bf65, Local0)
+ m600(arg0, 47, Local0, 0xd650a285)
+ }
+
+ // Conversion of the both operands
+
+ Store(Add(bf61, bf65), Local0)
+ m600(arg0, 48, Local0, 0xd650a5a5)
+
+ Store(Add(bf65, bf61), Local0)
+ m600(arg0, 49, Local0, 0xd650a5a5)
+
+ Add(bf61, bf65, Local0)
+ m600(arg0, 50, Local0, 0xd650a5a5)
+
+ Add(bf65, bf61, Local0)
+ m600(arg0, 51, Local0, 0xd650a5a5)
+ }
+
+ // And, common 32-bit/64-bit test
+ Method(m03e, 1)
+ {
+ CreateField(b640, 0, 31, bf61)
+
+ Store(Buffer(3){0x21, 0x03, 0x00}, bf61)
+
+ // Conversion of the first operand
+
+ Store(And(bf61, 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(And(bf61, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0x321)
+
+ Store(And(bf61, aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(And(bf61, auij), Local0)
+ m600(arg0, 3, Local0, 0x321)
+
+ if (y078) {
+ Store(And(bf61, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(And(bf61, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0x321)
+ }
+
+ Store(And(bf61, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(And(bf61, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0x321)
+
+ // Method returns Integer
+
+ Store(And(bf61, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(And(bf61, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(bf61, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(And(bf61, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0x321)
+ }
+
+ And(bf61, 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ And(bf61, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0x321)
+
+ And(bf61, aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ And(bf61, auij, Local0)
+ m600(arg0, 15, Local0, 0x321)
+
+ if (y078) {
+ And(bf61, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ And(bf61, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0x321)
+ }
+
+ And(bf61, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ And(bf61, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0x321)
+
+ // Method returns Integer
+
+ And(bf61, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ And(bf61, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(bf61, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ And(bf61, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0x321)
+ }
+
+ // Conversion of the second operand
+
+ Store(And(0, bf61), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(And(0xffffffffffffffff, bf61), Local0)
+ m600(arg0, 25, Local0, 0x321)
+
+ Store(And(aui5, bf61), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(And(auij, bf61), Local0)
+ m600(arg0, 27, Local0, 0x321)
+
+ if (y078) {
+ Store(And(Derefof(Refof(aui5)), bf61), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(And(Derefof(Refof(auij)), bf61), Local0)
+ m600(arg0, 29, Local0, 0x321)
+ }
+
+ Store(And(Derefof(Index(paui, 5)), bf61), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(And(Derefof(Index(paui, 19)), bf61), Local0)
+ m600(arg0, 31, Local0, 0x321)
+
+ // Method returns Integer
+
+ Store(And(m601(1, 5), bf61), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(And(m601(1, 19), bf61), Local0)
+ m600(arg0, 33, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(Derefof(m602(1, 5, 1)), bf61), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(And(Derefof(m602(1, 19, 1)), bf61), Local0)
+ m600(arg0, 35, Local0, 0x321)
+ }
+
+ And(0, bf61, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ And(0xffffffffffffffff, bf61, Local0)
+ m600(arg0, 37, Local0, 0x321)
+
+ And(aui5, bf61, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ And(auij, bf61, Local0)
+ m600(arg0, 39, Local0, 0x321)
+
+ if (y078) {
+ And(Derefof(Refof(aui5)), bf61, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ And(Derefof(Refof(auij)), bf61, Local0)
+ m600(arg0, 41, Local0, 0x321)
+ }
+
+ And(Derefof(Index(paui, 5)), bf61, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ And(Derefof(Index(paui, 19)), bf61, Local0)
+ m600(arg0, 43, Local0, 0x321)
+
+ // Method returns Integer
+
+ And(m601(1, 5), bf61, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ And(m601(1, 19), bf61, Local0)
+ m600(arg0, 45, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(Derefof(m602(1, 5, 1)), bf61, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ And(Derefof(m602(1, 19, 1)), bf61, Local0)
+ m600(arg0, 47, Local0, 0x321)
+ }
+ }
+
+ // And, 64-bit
+ Method(m03f, 1)
+ {
+ CreateField(b640, 0, 31, bf61)
+ CreateField(b640, 159, 64, bf65)
+
+ Store(Buffer(3){0x21, 0x03, 0x00}, bf61)
+ Store(Buffer(8){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, bf65)
+
+ // Conversion of the first operand
+
+ Store(And(bf65, 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(And(bf65, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xfe7cb391d650a284)
+
+ Store(And(bf65, aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(And(bf65, auij), Local0)
+ m600(arg0, 3, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Store(And(bf65, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(And(bf65, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xfe7cb391d650a284)
+ }
+
+ Store(And(bf65, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(And(bf65, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Store(And(bf65, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(And(bf65, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(bf65, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(And(bf65, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfe7cb391d650a284)
+ }
+
+ And(bf65, 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ And(bf65, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a284)
+
+ And(bf65, aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ And(bf65, auij, Local0)
+ m600(arg0, 15, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ And(bf65, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ And(bf65, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xfe7cb391d650a284)
+ }
+
+ And(bf65, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ And(bf65, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ And(bf65, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ And(bf65, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(bf65, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ And(bf65, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfe7cb391d650a284)
+ }
+
+ // Conversion of the second operand
+
+ Store(And(0, bf65), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(And(0xffffffffffffffff, bf65), Local0)
+ m600(arg0, 25, Local0, 0xfe7cb391d650a284)
+
+ Store(And(aui5, bf65), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(And(auij, bf65), Local0)
+ m600(arg0, 27, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Store(And(Derefof(Refof(aui5)), bf65), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(And(Derefof(Refof(auij)), bf65), Local0)
+ m600(arg0, 29, Local0, 0xfe7cb391d650a284)
+ }
+
+ Store(And(Derefof(Index(paui, 5)), bf65), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(And(Derefof(Index(paui, 19)), bf65), Local0)
+ m600(arg0, 31, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Store(And(m601(1, 5), bf65), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(And(m601(1, 19), bf65), Local0)
+ m600(arg0, 33, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(Derefof(m602(1, 5, 1)), bf65), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(And(Derefof(m602(1, 19, 1)), bf65), Local0)
+ m600(arg0, 35, Local0, 0xfe7cb391d650a284)
+ }
+
+ And(0, bf65, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ And(0xffffffffffffffff, bf65, Local0)
+ m600(arg0, 37, Local0, 0xfe7cb391d650a284)
+
+ And(aui5, bf65, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ And(auij, bf65, Local0)
+ m600(arg0, 39, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ And(Derefof(Refof(aui5)), bf65, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ And(Derefof(Refof(auij)), bf65, Local0)
+ m600(arg0, 41, Local0, 0xfe7cb391d650a284)
+ }
+
+ And(Derefof(Index(paui, 5)), bf65, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ And(Derefof(Index(paui, 19)), bf65, Local0)
+ m600(arg0, 43, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ And(m601(1, 5), bf65, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ And(m601(1, 19), bf65, Local0)
+ m600(arg0, 45, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(Derefof(m602(1, 5, 1)), bf65, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ And(Derefof(m602(1, 19, 1)), bf65, Local0)
+ m600(arg0, 47, Local0, 0xfe7cb391d650a284)
+ }
+
+ // Conversion of the both operands
+
+ Store(And(bf61, bf65), Local0)
+ m600(arg0, 48, Local0, 0x200)
+
+ Store(And(bf65, bf61), Local0)
+ m600(arg0, 49, Local0, 0x200)
+
+ And(bf61, bf65, Local0)
+ m600(arg0, 50, Local0, 0x200)
+
+ And(bf65, bf61, Local0)
+ m600(arg0, 51, Local0, 0x200)
+ }
+
+ // And, 32-bit
+ Method(m040, 1)
+ {
+ CreateField(b640, 0, 31, bf61)
+ CreateField(b640, 159, 64, bf65)
+
+ Store(Buffer(3){0x21, 0x03, 0x00}, bf61)
+ Store(Buffer(8){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, bf65)
+
+ // Conversion of the first operand
+
+ Store(And(bf65, 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(And(bf65, 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0xd650a284)
+
+ Store(And(bf65, aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(And(bf65, auii), Local0)
+ m600(arg0, 3, Local0, 0xd650a284)
+
+ if (y078) {
+ Store(And(bf65, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(And(bf65, Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0xd650a284)
+ }
+
+ Store(And(bf65, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(And(bf65, Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0xd650a284)
+
+ // Method returns Integer
+
+ Store(And(bf65, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(And(bf65, m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0xd650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(bf65, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(And(bf65, Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0xd650a284)
+ }
+
+ And(bf65, 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ And(bf65, 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0xd650a284)
+
+ And(bf65, aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ And(bf65, auii, Local0)
+ m600(arg0, 15, Local0, 0xd650a284)
+
+ if (y078) {
+ And(bf65, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ And(bf65, Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0xd650a284)
+ }
+
+ And(bf65, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ And(bf65, Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0xd650a284)
+
+ // Method returns Integer
+
+ And(bf65, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ And(bf65, m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0xd650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(bf65, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ And(bf65, Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0xd650a284)
+ }
+
+ // Conversion of the second operand
+
+ Store(And(0, bf65), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(And(0xffffffff, bf65), Local0)
+ m600(arg0, 25, Local0, 0xd650a284)
+
+ Store(And(aui5, bf65), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(And(auii, bf65), Local0)
+ m600(arg0, 27, Local0, 0xd650a284)
+
+ if (y078) {
+ Store(And(Derefof(Refof(aui5)), bf65), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(And(Derefof(Refof(auii)), bf65), Local0)
+ m600(arg0, 29, Local0, 0xd650a284)
+ }
+
+ Store(And(Derefof(Index(paui, 5)), bf65), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(And(Derefof(Index(paui, 18)), bf65), Local0)
+ m600(arg0, 31, Local0, 0xd650a284)
+
+ // Method returns Integer
+
+ Store(And(m601(1, 5), bf65), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(And(m601(1, 18), bf65), Local0)
+ m600(arg0, 33, Local0, 0xd650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(Derefof(m602(1, 5, 1)), bf65), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(And(Derefof(m602(1, 18, 1)), bf65), Local0)
+ m600(arg0, 35, Local0, 0xd650a284)
+ }
+
+ And(0, bf65, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ And(0xffffffff, bf65, Local0)
+ m600(arg0, 37, Local0, 0xd650a284)
+
+ And(aui5, bf65, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ And(auii, bf65, Local0)
+ m600(arg0, 39, Local0, 0xd650a284)
+
+ if (y078) {
+ And(Derefof(Refof(aui5)), bf65, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ And(Derefof(Refof(auii)), bf65, Local0)
+ m600(arg0, 41, Local0, 0xd650a284)
+ }
+
+ And(Derefof(Index(paui, 5)), bf65, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ And(Derefof(Index(paui, 18)), bf65, Local0)
+ m600(arg0, 43, Local0, 0xd650a284)
+
+ // Method returns Integer
+
+ And(m601(1, 5), bf65, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ And(m601(1, 18), bf65, Local0)
+ m600(arg0, 45, Local0, 0xd650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(Derefof(m602(1, 5, 1)), bf65, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ And(Derefof(m602(1, 18, 1)), bf65, Local0)
+ m600(arg0, 47, Local0, 0xd650a284)
+ }
+
+ // Conversion of the both operands
+
+ Store(And(bf61, bf65), Local0)
+ m600(arg0, 48, Local0, 0x200)
+
+ Store(And(bf65, bf61), Local0)
+ m600(arg0, 49, Local0, 0x200)
+
+ And(bf61, bf65, Local0)
+ m600(arg0, 50, Local0, 0x200)
+
+ And(bf65, bf61, Local0)
+ m600(arg0, 51, Local0, 0x200)
+ }
+
+ // Divide, common 32-bit/64-bit test
+ Method(m041, 1)
+ {
+ CreateField(b640, 0, 31, bf61)
+
+ Store(Buffer(3){0x21, 0x03, 0x00}, bf61)
+
+ // Conversion of the first operand
+
+ Store(Divide(bf61, 1), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Divide(bf61, 0x321), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Divide(bf61, aui6), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Divide(bf61, aui1), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Divide(bf61, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Divide(bf61, Derefof(Refof(aui1))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Divide(bf61, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Divide(bf61, Derefof(Index(paui, 1))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(bf61, m601(1, 6)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Divide(bf61, m601(1, 1)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(bf61, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Divide(bf61, Derefof(m602(1, 1, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Divide(bf61, 1, Local1, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Divide(bf61, 0x321, Local1, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Divide(bf61, aui6, Local1, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Divide(bf61, aui1, Local1, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Divide(bf61, Derefof(Refof(aui6)), Local1, Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Divide(bf61, Derefof(Refof(aui1)), Local1, Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Divide(bf61, Derefof(Index(paui, 6)), Local1, Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Divide(bf61, Derefof(Index(paui, 1)), Local1, Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(bf61, m601(1, 6), Local1, Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Divide(bf61, m601(1, 1), Local1, Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(bf61, Derefof(m602(1, 6, 1)), Local1, Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Divide(bf61, Derefof(m602(1, 1, 1)), Local1, Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Divide(1, bf61), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Divide(0x321, bf61), Local0)
+ m600(arg0, 25, Local0, 1)
+
+ Store(Divide(aui6, bf61), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Divide(aui1, bf61), Local0)
+ m600(arg0, 27, Local0, 1)
+
+ if (y078) {
+ Store(Divide(Derefof(Refof(aui6)), bf61), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Divide(Derefof(Refof(aui1)), bf61), Local0)
+ m600(arg0, 29, Local0, 1)
+ }
+
+ Store(Divide(Derefof(Index(paui, 6)), bf61), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Divide(Derefof(Index(paui, 1)), bf61), Local0)
+ m600(arg0, 31, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(m601(1, 6), bf61), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Divide(m601(1, 1), bf61), Local0)
+ m600(arg0, 33, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(Derefof(m602(1, 6, 1)), bf61), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Divide(Derefof(m602(1, 1, 1)), bf61), Local0)
+ m600(arg0, 35, Local0, 1)
+ }
+
+ Divide(1, bf61, Local1, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Divide(0x321, bf61, Local1, Local0)
+ m600(arg0, 37, Local0, 1)
+
+ Divide(aui6, bf61, Local1, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Divide(aui1, bf61, Local1, Local0)
+ m600(arg0, 39, Local0, 1)
+
+ if (y078) {
+ Divide(Derefof(Refof(aui6)), bf61, Local1, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Divide(Derefof(Refof(aui1)), bf61, Local1, Local0)
+ m600(arg0, 41, Local0, 1)
+ }
+
+ Divide(Derefof(Index(paui, 6)), bf61, Local1, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Divide(Derefof(Index(paui, 1)), bf61, Local1, Local0)
+ m600(arg0, 43, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(m601(1, 6), bf61, Local1, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Divide(m601(1, 1), bf61, Local1, Local0)
+ m600(arg0, 45, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(Derefof(m602(1, 6, 1)), bf61, Local1, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Divide(Derefof(m602(1, 1, 1)), bf61, Local1, Local0)
+ m600(arg0, 47, Local0, 1)
+ }
+ }
+
+ // Divide, 64-bit
+ Method(m042, 1)
+ {
+ CreateField(b640, 0, 31, bf61)
+ CreateField(b640, 159, 64, bf65)
+
+ Store(Buffer(3){0x21, 0x03, 0x00}, bf61)
+ Store(Buffer(8){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, bf65)
+
+ // Conversion of the first operand
+
+ Store(Divide(bf65, 1), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(bf65, 0xfe7cb391d650a284), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Divide(bf65, aui6), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(bf65, aui4), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Divide(bf65, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(bf65, Derefof(Refof(aui4))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Divide(bf65, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(bf65, Derefof(Index(paui, 4))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(bf65, m601(1, 6)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(bf65, m601(1, 4)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(bf65, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(bf65, Derefof(m602(1, 4, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Divide(bf65, 1, Local1, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Divide(bf65, 0xfe7cb391d650a284, Local1, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Divide(bf65, aui6, Local1, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Divide(bf65, aui4, Local1, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Divide(bf65, Derefof(Refof(aui6)), Local1, Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Divide(bf65, Derefof(Refof(aui4)), Local1, Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Divide(bf65, Derefof(Index(paui, 6)), Local1, Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Divide(bf65, Derefof(Index(paui, 4)), Local1, Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(bf65, m601(1, 6), Local1, Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Divide(bf65, m601(1, 4), Local1, Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(bf65, Derefof(m602(1, 6, 1)), Local1, Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Divide(bf65, Derefof(m602(1, 4, 1)), Local1, Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Divide(1, bf65), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Divide(0xfe7cb391d650a284, bf65), Local0)
+ m600(arg0, 25, Local0, 1)
+
+ Store(Divide(aui6, bf65), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Divide(aui4, bf65), Local0)
+ m600(arg0, 27, Local0, 1)
+
+ if (y078) {
+ Store(Divide(Derefof(Refof(aui6)), bf65), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Divide(Derefof(Refof(aui4)), bf65), Local0)
+ m600(arg0, 29, Local0, 1)
+ }
+
+ Store(Divide(Derefof(Index(paui, 6)), bf65), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Divide(Derefof(Index(paui, 4)), bf65), Local0)
+ m600(arg0, 31, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(m601(1, 6), bf65), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Divide(m601(1, 4), bf65), Local0)
+ m600(arg0, 33, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(Derefof(m602(1, 6, 1)), bf65), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Divide(Derefof(m602(1, 4, 1)), bf65), Local0)
+ m600(arg0, 35, Local0, 1)
+ }
+
+ Divide(1, bf65, Local1, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Divide(0xfe7cb391d650a284, bf65, Local1, Local0)
+ m600(arg0, 37, Local0, 1)
+
+ Divide(aui6, bf65, Local1, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Divide(aui4, bf65, Local1, Local0)
+ m600(arg0, 39, Local0, 1)
+
+ if (y078) {
+ Divide(Derefof(Refof(aui6)), bf65, Local1, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Divide(Derefof(Refof(aui4)), bf65, Local1, Local0)
+ m600(arg0, 41, Local0, 1)
+ }
+
+ Divide(Derefof(Index(paui, 6)), bf65, Local1, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Divide(Derefof(Index(paui, 4)), bf65, Local1, Local0)
+ m600(arg0, 43, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(m601(1, 6), bf65, Local1, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Divide(m601(1, 4), bf65, Local1, Local0)
+ m600(arg0, 45, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(Derefof(m602(1, 6, 1)), bf65, Local1, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Divide(Derefof(m602(1, 4, 1)), bf65, Local1, Local0)
+ m600(arg0, 47, Local0, 1)
+ }
+
+ // Conversion of the both operands
+
+ Store(Divide(bf61, bf65), Local0)
+ m600(arg0, 48, Local0, 0)
+
+ Store(Divide(bf65, bf61), Local0)
+ m600(arg0, 49, Local0, 0x0051558eb950f5a7)
+
+ Divide(bf61, bf65, Local1, Local0)
+ m600(arg0, 50, Local0, 0)
+
+ Divide(bf65, bf61, Local1, Local0)
+ m600(arg0, 51, Local0, 0x0051558eb950f5a7)
+ }
+
+ // Divide, 32-bit
+ Method(m043, 1)
+ {
+ CreateField(b640, 0, 31, bf61)
+ CreateField(b640, 159, 64, bf65)
+
+ Store(Buffer(3){0x21, 0x03, 0x00}, bf61)
+ Store(Buffer(8){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, bf65)
+
+ // Conversion of the first operand
+
+ Store(Divide(bf65, 1), Local0)
+ m600(arg0, 0, Local0, 0xd650a284)
+
+ Store(Divide(bf65, 0xd650a284), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Divide(bf65, aui6), Local0)
+ m600(arg0, 2, Local0, 0xd650a284)
+
+ Store(Divide(bf65, auik), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Divide(bf65, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 4, Local0, 0xd650a284)
+
+ Store(Divide(bf65, Derefof(Refof(auik))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Divide(bf65, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 6, Local0, 0xd650a284)
+
+ Store(Divide(bf65, Derefof(Index(paui, 20))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(bf65, m601(1, 6)), Local0)
+ m600(arg0, 8, Local0, 0xd650a284)
+
+ Store(Divide(bf65, m601(1, 20)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(bf65, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 10, Local0, 0xd650a284)
+
+ Store(Divide(bf65, Derefof(m602(1, 20, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Divide(bf65, 1, Local1, Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ Divide(bf65, 0xd650a284, Local1, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Divide(bf65, aui6, Local1, Local0)
+ m600(arg0, 14, Local0, 0xd650a284)
+
+ Divide(bf65, auik, Local1, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Divide(bf65, Derefof(Refof(aui6)), Local1, Local0)
+ m600(arg0, 16, Local0, 0xd650a284)
+
+ Divide(bf65, Derefof(Refof(auik)), Local1, Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Divide(bf65, Derefof(Index(paui, 6)), Local1, Local0)
+ m600(arg0, 18, Local0, 0xd650a284)
+
+ Divide(bf65, Derefof(Index(paui, 20)), Local1, Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(bf65, m601(1, 6), Local1, Local0)
+ m600(arg0, 20, Local0, 0xd650a284)
+
+ Divide(bf65, m601(1, 20), Local1, Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(bf65, Derefof(m602(1, 6, 1)), Local1, Local0)
+ m600(arg0, 22, Local0, 0xd650a284)
+
+ Divide(bf65, Derefof(m602(1, 20, 1)), Local1, Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Divide(1, bf65), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Divide(0xd650a284, bf65), Local0)
+ m600(arg0, 25, Local0, 1)
+
+ Store(Divide(aui6, bf65), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Divide(auik, bf65), Local0)
+ m600(arg0, 27, Local0, 1)
+
+ if (y078) {
+ Store(Divide(Derefof(Refof(aui6)), bf65), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Divide(Derefof(Refof(auik)), bf65), Local0)
+ m600(arg0, 29, Local0, 1)
+ }
+
+ Store(Divide(Derefof(Index(paui, 6)), bf65), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Divide(Derefof(Index(paui, 20)), bf65), Local0)
+ m600(arg0, 31, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(m601(1, 6), bf65), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Divide(m601(1, 20), bf65), Local0)
+ m600(arg0, 33, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(Derefof(m602(1, 6, 1)), bf65), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Divide(Derefof(m602(1, 20, 1)), bf65), Local0)
+ m600(arg0, 35, Local0, 1)
+ }
+
+ Divide(1, bf65, Local1, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Divide(0xd650a284, bf65, Local1, Local0)
+ m600(arg0, 37, Local0, 1)
+
+ Divide(aui6, bf65, Local1, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Divide(auik, bf65, Local1, Local0)
+ m600(arg0, 39, Local0, 1)
+
+ if (y078) {
+ Divide(Derefof(Refof(aui6)), bf65, Local1, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Divide(Derefof(Refof(auik)), bf65, Local1, Local0)
+ m600(arg0, 41, Local0, 1)
+ }
+
+ Divide(Derefof(Index(paui, 6)), bf65, Local1, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Divide(Derefof(Index(paui, 20)), bf65, Local1, Local0)
+ m600(arg0, 43, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(m601(1, 6), bf65, Local1, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Divide(m601(1, 20), bf65, Local1, Local0)
+ m600(arg0, 45, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(Derefof(m602(1, 6, 1)), bf65, Local1, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Divide(Derefof(m602(1, 20, 1)), bf65, Local1, Local0)
+ m600(arg0, 47, Local0, 1)
+ }
+
+ // Conversion of the both operands
+
+ Store(Divide(bf61, bf65), Local0)
+ m600(arg0, 48, Local0, 0)
+
+ Store(Divide(bf65, bf61), Local0)
+ m600(arg0, 49, Local0, 0x00447ec3)
+
+ Divide(bf61, bf65, Local1, Local0)
+ m600(arg0, 50, Local0, 0)
+
+ Divide(bf65, bf61, Local1, Local0)
+ m600(arg0, 51, Local0, 0x00447ec3)
+ }
+
+ // Mod, common 32-bit/64-bit test
+ Method(m044, 1)
+ {
+ CreateField(b640, 0, 31, bf61)
+
+ Store(Buffer(3){0x21, 0x03, 0x00}, bf61)
+ // Conversion of the first operand
+
+ Store(Mod(bf61, 0x322), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Mod(bf61, 0x320), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Mod(bf61, auig), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Mod(bf61, auih), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Mod(bf61, Derefof(Refof(auig))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Mod(bf61, Derefof(Refof(auih))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Mod(bf61, Derefof(Index(paui, 16))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Mod(bf61, Derefof(Index(paui, 17))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Mod(bf61, m601(1, 16)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Mod(bf61, m601(1, 17)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(bf61, Derefof(m602(1, 16, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Mod(bf61, Derefof(m602(1, 17, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Mod(bf61, 0x322, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Mod(bf61, 0x320, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Mod(bf61, auig, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Mod(bf61, auih, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Mod(bf61, Derefof(Refof(auig)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Mod(bf61, Derefof(Refof(auih)), Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Mod(bf61, Derefof(Index(paui, 16)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Mod(bf61, Derefof(Index(paui, 17)), Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Mod(bf61, m601(1, 16), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Mod(bf61, m601(1, 17), Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(bf61, Derefof(m602(1, 16, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Mod(bf61, Derefof(m602(1, 17, 1)), Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Mod(0x322, bf61), Local0)
+ m600(arg0, 24, Local0, 1)
+
+ Store(Mod(0x320, bf61), Local0)
+ m600(arg0, 25, Local0, 0x320)
+
+ Store(Mod(auig, bf61), Local0)
+ m600(arg0, 26, Local0, 1)
+
+ Store(Mod(auih, bf61), Local0)
+ m600(arg0, 27, Local0, 0x320)
+
+ if (y078) {
+ Store(Mod(Derefof(Refof(auig)), bf61), Local0)
+ m600(arg0, 28, Local0, 1)
+
+ Store(Mod(Derefof(Refof(auih)), bf61), Local0)
+ m600(arg0, 29, Local0, 0x320)
+ }
+
+ Store(Mod(Derefof(Index(paui, 16)), bf61), Local0)
+ m600(arg0, 30, Local0, 1)
+
+ Store(Mod(Derefof(Index(paui, 17)), bf61), Local0)
+ m600(arg0, 31, Local0, 0x320)
+
+ // Method returns Integer
+
+ Store(Mod(m601(1, 16), bf61), Local0)
+ m600(arg0, 32, Local0, 1)
+
+ Store(Mod(m601(1, 17), bf61), Local0)
+ m600(arg0, 33, Local0, 0x320)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(Derefof(m602(1, 16, 1)), bf61), Local0)
+ m600(arg0, 34, Local0, 1)
+
+ Store(Mod(Derefof(m602(1, 17, 1)), bf61), Local0)
+ m600(arg0, 35, Local0, 0x320)
+ }
+
+ Mod(0x322, bf61, Local0)
+ m600(arg0, 36, Local0, 1)
+
+ Mod(0x320, bf61, Local0)
+ m600(arg0, 37, Local0, 0x320)
+
+ Mod(auig, bf61, Local0)
+ m600(arg0, 38, Local0, 1)
+
+ Mod(auih, bf61, Local0)
+ m600(arg0, 39, Local0, 0x320)
+
+ if (y078) {
+ Mod(Derefof(Refof(auig)), bf61, Local0)
+ m600(arg0, 40, Local0, 1)
+
+ Mod(Derefof(Refof(auih)), bf61, Local0)
+ m600(arg0, 41, Local0, 0x320)
+ }
+
+ Mod(Derefof(Index(paui, 16)), bf61, Local0)
+ m600(arg0, 42, Local0, 1)
+
+ Mod(Derefof(Index(paui, 17)), bf61, Local0)
+ m600(arg0, 43, Local0, 0x320)
+
+ // Method returns Integer
+
+ Mod(m601(1, 16), bf61, Local0)
+ m600(arg0, 44, Local0, 1)
+
+ Mod(m601(1, 17), bf61, Local0)
+ m600(arg0, 45, Local0, 0x320)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(Derefof(m602(1, 16, 1)), bf61, Local0)
+ m600(arg0, 46, Local0, 1)
+
+ Mod(Derefof(m602(1, 17, 1)), bf61, Local0)
+ m600(arg0, 47, Local0, 0x320)
+ }
+ }
+
+ // Mod, 64-bit
+ Method(m045, 1)
+ {
+ CreateField(b640, 0, 31, bf61)
+ CreateField(b640, 159, 64, bf65)
+
+ Store(Buffer(3){0x21, 0x03, 0x00}, bf61)
+ Store(Buffer(8){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, bf65)
+
+ // Conversion of the first operand
+
+ Store(Mod(bf65, 0xfe7cb391d650a285), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(bf65, 0xfe7cb391d650a283), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Mod(bf65, auid), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(bf65, auif), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Mod(bf65, Derefof(Refof(auid))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(bf65, Derefof(Refof(auif))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Mod(bf65, Derefof(Index(paui, 13))), Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(bf65, Derefof(Index(paui, 15))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Mod(bf65, m601(1, 13)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(bf65, m601(1, 15)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(bf65, Derefof(m602(1, 13, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(bf65, Derefof(m602(1, 15, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Mod(bf65, 0xfe7cb391d650a285, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Mod(bf65, 0xfe7cb391d650a283, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Mod(bf65, auid, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Mod(bf65, auif, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Mod(bf65, Derefof(Refof(auid)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Mod(bf65, Derefof(Refof(auif)), Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Mod(bf65, Derefof(Index(paui, 13)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Mod(bf65, Derefof(Index(paui, 15)), Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Mod(bf65, m601(1, 13), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Mod(bf65, m601(1, 15), Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(bf65, Derefof(m602(1, 13, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Mod(bf65, Derefof(m602(1, 15, 1)), Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Mod(0xfe7cb391d650a285, bf65), Local0)
+ m600(arg0, 24, Local0, 1)
+
+ Store(Mod(0xfe7cb391d650a283, bf65), Local0)
+ m600(arg0, 25, Local0, 0xfe7cb391d650a283)
+
+ Store(Mod(auid, bf65), Local0)
+ m600(arg0, 26, Local0, 1)
+
+ Store(Mod(auif, bf65), Local0)
+ m600(arg0, 27, Local0, 0xfe7cb391d650a283)
+
+ if (y078) {
+ Store(Mod(Derefof(Refof(auid)), bf65), Local0)
+ m600(arg0, 28, Local0, 1)
+
+ Store(Mod(Derefof(Refof(auif)), bf65), Local0)
+ m600(arg0, 29, Local0, 0xfe7cb391d650a283)
+ }
+
+ Store(Mod(Derefof(Index(paui, 13)), bf65), Local0)
+ m600(arg0, 30, Local0, 1)
+
+ Store(Mod(Derefof(Index(paui, 15)), bf65), Local0)
+ m600(arg0, 31, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Integer
+
+ Store(Mod(m601(1, 13), bf65), Local0)
+ m600(arg0, 32, Local0, 1)
+
+ Store(Mod(m601(1, 15), bf65), Local0)
+ m600(arg0, 33, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(Derefof(m602(1, 13, 1)), bf65), Local0)
+ m600(arg0, 34, Local0, 1)
+
+ Store(Mod(Derefof(m602(1, 15, 1)), bf65), Local0)
+ m600(arg0, 35, Local0, 0xfe7cb391d650a283)
+ }
+
+ Mod(0xfe7cb391d650a285, bf65, Local0)
+ m600(arg0, 36, Local0, 1)
+
+ Mod(0xfe7cb391d650a283, bf65, Local0)
+ m600(arg0, 37, Local0, 0xfe7cb391d650a283)
+
+ Mod(auid, bf65, Local0)
+ m600(arg0, 38, Local0, 1)
+
+ Mod(auif, bf65, Local0)
+ m600(arg0, 39, Local0, 0xfe7cb391d650a283)
+
+ if (y078) {
+ Mod(Derefof(Refof(auid)), bf65, Local0)
+ m600(arg0, 40, Local0, 1)
+
+ Mod(Derefof(Refof(auif)), bf65, Local0)
+ m600(arg0, 41, Local0, 0xfe7cb391d650a283)
+ }
+
+ Mod(Derefof(Index(paui, 13)), bf65, Local0)
+ m600(arg0, 42, Local0, 1)
+
+ Mod(Derefof(Index(paui, 15)), bf65, Local0)
+ m600(arg0, 43, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Integer
+
+ Mod(m601(1, 13), bf65, Local0)
+ m600(arg0, 44, Local0, 1)
+
+ Mod(m601(1, 15), bf65, Local0)
+ m600(arg0, 45, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(Derefof(m602(1, 13, 1)), bf65, Local0)
+ m600(arg0, 46, Local0, 1)
+
+ Mod(Derefof(m602(1, 15, 1)), bf65, Local0)
+ m600(arg0, 47, Local0, 0xfe7cb391d650a283)
+ }
+
+ // Conversion of the both operands
+
+ Store(Mod(bf61, bf65), Local0)
+ m600(arg0, 48, Local0, 0x321)
+
+ Store(Mod(bf65, bf61), Local0)
+ m600(arg0, 49, Local0, 0x2fd)
+
+ Mod(bf61, bf65, Local0)
+ m600(arg0, 50, Local0, 0x321)
+
+ Mod(bf65, bf61, Local0)
+ m600(arg0, 51, Local0, 0x2fd)
+ }
+
+ // Mod, 32-bit
+ Method(m046, 1)
+ {
+ CreateField(b640, 0, 31, bf61)
+ CreateField(b640, 159, 64, bf65)
+
+ Store(Buffer(3){0x21, 0x03, 0x00}, bf61)
+ Store(Buffer(8){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, bf65)
+
+ // Conversion of the first operand
+
+ Store(Mod(bf65, 0xd650a285), Local0)
+ m600(arg0, 0, Local0, 0xd650a284)
+
+ Store(Mod(bf65, 0xd650a283), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Mod(bf65, auil), Local0)
+ m600(arg0, 2, Local0, 0xd650a284)
+
+ Store(Mod(bf65, auim), Local0)
+ m600(arg0, 14, Local0, 1)
+
+ if (y078) {
+ Store(Mod(bf65, Derefof(Refof(auil))), Local0)
+ m600(arg0, 4, Local0, 0xd650a284)
+
+ Store(Mod(bf65, Derefof(Refof(auim))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Mod(bf65, Derefof(Index(paui, 21))), Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ Store(Mod(bf65, Derefof(Index(paui, 22))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Mod(bf65, m601(1, 21)), Local0)
+ m600(arg0, 8, Local0, 0xd650a284)
+
+ Store(Mod(bf65, m601(1, 22)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(bf65, Derefof(m601(1, 21, 1))), Local0)
+ m600(arg0, 10, Local0, 0xd650a284)
+
+ Store(Mod(bf65, Derefof(m601(1, 22, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Mod(bf65, 0xd650a285, Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ Mod(bf65, 0xd650a283, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Mod(bf65, auil, Local0)
+ m600(arg0, 14, Local0, 0xd650a284)
+
+ Mod(bf65, auim, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Mod(bf65, Derefof(Refof(auil)), Local0)
+ m600(arg0, 16, Local0, 0xd650a284)
+
+ Mod(bf65, Derefof(Refof(auim)), Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Mod(bf65, Derefof(Index(paui, 21)), Local0)
+ m600(arg0, 18, Local0, 0xd650a284)
+
+ Mod(bf65, Derefof(Index(paui, 22)), Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Mod(bf65, m601(1, 21), Local0)
+ m600(arg0, 20, Local0, 0xd650a284)
+
+ Mod(bf65, m601(1, 22), Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(bf65, Derefof(m601(1, 21, 1)), Local0)
+ m600(arg0, 22, Local0, 0xd650a284)
+
+ Mod(bf65, Derefof(m601(1, 22, 1)), Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Mod(0xd650a285, bf65), Local0)
+ m600(arg0, 24, Local0, 1)
+
+ Store(Mod(0xd650a283, bf65), Local0)
+ m600(arg0, 25, Local0, 0xd650a283)
+
+ Store(Mod(auil, bf65), Local0)
+ m600(arg0, 26, Local0, 1)
+
+ Store(Mod(auim, bf65), Local0)
+ m600(arg0, 27, Local0, 0xd650a283)
+
+ if (y078) {
+ Store(Mod(Derefof(Refof(auil)), bf65), Local0)
+ m600(arg0, 28, Local0, 1)
+
+ Store(Mod(Derefof(Refof(auim)), bf65), Local0)
+ m600(arg0, 29, Local0, 0xd650a283)
+ }
+
+ Store(Mod(Derefof(Index(paui, 21)), bf65), Local0)
+ m600(arg0, 30, Local0, 1)
+
+ Store(Mod(Derefof(Index(paui, 22)), bf65), Local0)
+ m600(arg0, 31, Local0, 0xd650a283)
+
+ // Method returns Integer
+
+ Store(Mod(m601(1, 21), bf65), Local0)
+ m600(arg0, 32, Local0, 1)
+
+ Store(Mod(m601(1, 22), bf65), Local0)
+ m600(arg0, 33, Local0, 0xd650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(Derefof(m601(1, 21, 1)), bf65), Local0)
+ m600(arg0, 34, Local0, 1)
+
+ Store(Mod(Derefof(m601(1, 22, 1)), bf65), Local0)
+ m600(arg0, 35, Local0, 0xd650a283)
+ }
+
+ Mod(0xd650a285, bf65, Local0)
+ m600(arg0, 36, Local0, 1)
+
+ Mod(0xd650a283, bf65, Local0)
+ m600(arg0, 37, Local0, 0xd650a283)
+
+ Mod(auil, bf65, Local0)
+ m600(arg0, 38, Local0, 1)
+
+ Mod(auim, bf65, Local0)
+ m600(arg0, 39, Local0, 0xd650a283)
+
+ if (y078) {
+ Mod(Derefof(Refof(auil)), bf65, Local0)
+ m600(arg0, 40, Local0, 1)
+
+ Mod(Derefof(Refof(auim)), bf65, Local0)
+ m600(arg0, 41, Local0, 0xd650a283)
+ }
+
+ Mod(Derefof(Index(paui, 21)), bf65, Local0)
+ m600(arg0, 42, Local0, 1)
+
+ Mod(Derefof(Index(paui, 22)), bf65, Local0)
+ m600(arg0, 43, Local0, 0xd650a283)
+
+ // Method returns Integer
+
+ Mod(m601(1, 21), bf65, Local0)
+ m600(arg0, 44, Local0, 1)
+
+ Mod(m601(1, 22), bf65, Local0)
+ m600(arg0, 45, Local0, 0xd650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(Derefof(m601(1, 21, 1)), bf65, Local0)
+ m600(arg0, 46, Local0, 1)
+
+ Mod(Derefof(m601(1, 22, 1)), bf65, Local0)
+ m600(arg0, 47, Local0, 0xd650a283)
+ }
+
+ // Conversion of the both operands
+
+ Store(Mod(bf61, bf65), Local0)
+ m600(arg0, 48, Local0, 0x321)
+
+ Store(Mod(bf65, bf61), Local0)
+ m600(arg0, 49, Local0, 0x261)
+
+ Mod(bf61, bf65, Local0)
+ m600(arg0, 50, Local0, 0x321)
+
+ Mod(bf65, bf61, Local0)
+ m600(arg0, 51, Local0, 0x261)
+ }
+
+ // Multiply, common 32-bit/64-bit test
+ Method(m047, 1)
+ {
+ CreateField(b640, 0, 31, bf61)
+
+ Store(Buffer(3){0x21, 0x03, 0x00}, bf61)
+
+ // Conversion of the first operand
+
+ Store(Multiply(bf61, 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(Multiply(bf61, 1), Local0)
+ m600(arg0, 1, Local0, 0x321)
+
+ Store(Multiply(bf61, aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(Multiply(bf61, aui6), Local0)
+ m600(arg0, 3, Local0, 0x321)
+
+ if (y078) {
+ Store(Multiply(bf61, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(Multiply(bf61, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x321)
+ }
+
+ Store(Multiply(bf61, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(Multiply(bf61, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x321)
+
+ // Method returns Integer
+
+ Store(Multiply(bf61, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(Multiply(bf61, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(bf61, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(Multiply(bf61, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x321)
+ }
+
+ Multiply(bf61, 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ Multiply(bf61, 1, Local0)
+ m600(arg0, 13, Local0, 0x321)
+
+ Multiply(bf61, aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ Multiply(bf61, aui6, Local0)
+ m600(arg0, 15, Local0, 0x321)
+
+ if (y078) {
+ Multiply(bf61, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ Multiply(bf61, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x321)
+ }
+
+ Multiply(bf61, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ Multiply(bf61, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x321)
+
+ // Method returns Integer
+
+ Multiply(bf61, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ Multiply(bf61, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(bf61, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ Multiply(bf61, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x321)
+ }
+
+ // Conversion of the second operand
+
+ Store(Multiply(0, bf61), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Multiply(1, bf61), Local0)
+ m600(arg0, 25, Local0, 0x321)
+
+ Store(Multiply(aui5, bf61), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Multiply(aui6, bf61), Local0)
+ m600(arg0, 27, Local0, 0x321)
+
+ if (y078) {
+ Store(Multiply(Derefof(Refof(aui5)), bf61), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(aui6)), bf61), Local0)
+ m600(arg0, 29, Local0, 0x321)
+ }
+
+ Store(Multiply(Derefof(Index(paui, 5)), bf61), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Multiply(Derefof(Index(paui, 6)), bf61), Local0)
+ m600(arg0, 31, Local0, 0x321)
+
+ // Method returns Integer
+
+ Store(Multiply(m601(1, 5), bf61), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Multiply(m601(1, 6), bf61), Local0)
+ m600(arg0, 33, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(Derefof(m602(1, 5, 1)), bf61), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Multiply(Derefof(m602(1, 6, 1)), bf61), Local0)
+ m600(arg0, 35, Local0, 0x321)
+ }
+
+ Multiply(0, bf61, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Multiply(1, bf61, Local0)
+ m600(arg0, 37, Local0, 0x321)
+
+ Multiply(aui5, bf61, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Multiply(aui6, bf61, Local0)
+ m600(arg0, 39, Local0, 0x321)
+
+ if (y078) {
+ Multiply(Derefof(Refof(aui5)), bf61, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Multiply(Derefof(Refof(aui6)), bf61, Local0)
+ m600(arg0, 41, Local0, 0x321)
+ }
+
+ Multiply(Derefof(Index(paui, 5)), bf61, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Multiply(Derefof(Index(paui, 6)), bf61, Local0)
+ m600(arg0, 43, Local0, 0x321)
+
+ // Method returns Integer
+
+ Multiply(m601(1, 5), bf61, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Multiply(m601(1, 6), bf61, Local0)
+ m600(arg0, 45, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(Derefof(m602(1, 5, 1)), bf61, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Multiply(Derefof(m602(1, 6, 1)), bf61, Local0)
+ m600(arg0, 47, Local0, 0x321)
+ }
+ }
+
+ // Multiply, 64-bit
+ Method(m048, 1)
+ {
+ CreateField(b640, 0, 31, bf61)
+ CreateField(b640, 159, 64, bf65)
+
+ Store(Buffer(3){0x21, 0x03, 0x00}, bf61)
+ Store(Buffer(8){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, bf65)
+
+ // Conversion of the first operand
+
+ Store(Multiply(bf65, 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(Multiply(bf65, 1), Local0)
+ m600(arg0, 1, Local0, 0xfe7cb391d650a284)
+
+ Store(Multiply(bf65, aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(Multiply(bf65, aui6), Local0)
+ m600(arg0, 3, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Store(Multiply(bf65, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(Multiply(bf65, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xfe7cb391d650a284)
+ }
+
+ Store(Multiply(bf65, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(Multiply(bf65, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Store(Multiply(bf65, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(Multiply(bf65, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(bf65, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(Multiply(bf65, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfe7cb391d650a284)
+ }
+
+ Multiply(bf65, 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ Multiply(bf65, 1, Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a284)
+
+ Multiply(bf65, aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ Multiply(bf65, aui6, Local0)
+ m600(arg0, 15, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Multiply(bf65, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ Multiply(bf65, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xfe7cb391d650a284)
+ }
+
+ Multiply(bf65, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ Multiply(bf65, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Multiply(bf65, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ Multiply(bf65, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(bf65, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ Multiply(bf65, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfe7cb391d650a284)
+ }
+
+ // Conversion of the second operand
+
+ Store(Multiply(0, bf65), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Multiply(1, bf65), Local0)
+ m600(arg0, 25, Local0, 0xfe7cb391d650a284)
+
+ Store(Multiply(aui5, bf65), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Multiply(aui6, bf65), Local0)
+ m600(arg0, 27, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Store(Multiply(Derefof(Refof(aui5)), bf65), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(aui6)), bf65), Local0)
+ m600(arg0, 29, Local0, 0xfe7cb391d650a284)
+ }
+
+ Store(Multiply(Derefof(Index(paui, 5)), bf65), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Multiply(Derefof(Index(paui, 6)), bf65), Local0)
+ m600(arg0, 31, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Store(Multiply(m601(1, 5), bf65), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Multiply(m601(1, 6), bf65), Local0)
+ m600(arg0, 33, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(Derefof(m602(1, 5, 1)), bf65), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Multiply(Derefof(m602(1, 6, 1)), bf65), Local0)
+ m600(arg0, 35, Local0, 0xfe7cb391d650a284)
+ }
+
+ Multiply(0, bf65, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Multiply(1, bf65, Local0)
+ m600(arg0, 37, Local0, 0xfe7cb391d650a284)
+
+ Multiply(aui5, bf65, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Multiply(aui6, bf65, Local0)
+ m600(arg0, 39, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Multiply(Derefof(Refof(aui5)), bf65, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Multiply(Derefof(Refof(aui6)), bf65, Local0)
+ m600(arg0, 41, Local0, 0xfe7cb391d650a284)
+ }
+
+ Multiply(Derefof(Index(paui, 5)), bf65, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Multiply(Derefof(Index(paui, 6)), bf65, Local0)
+ m600(arg0, 43, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Multiply(m601(1, 5), bf65, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Multiply(m601(1, 6), bf65, Local0)
+ m600(arg0, 45, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(Derefof(m602(1, 5, 1)), bf65, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Multiply(Derefof(m602(1, 6, 1)), bf65, Local0)
+ m600(arg0, 47, Local0, 0xfe7cb391d650a284)
+ }
+
+ // Conversion of the both operands
+
+ Store(Multiply(bf61, bf65), Local0)
+ m600(arg0, 48, Local0, 0x442ddb4f924c7f04)
+
+ Store(Multiply(bf65, bf61), Local0)
+ m600(arg0, 49, Local0, 0x442ddb4f924c7f04)
+
+ Multiply(bf61, bf65, Local0)
+ m600(arg0, 50, Local0, 0x442ddb4f924c7f04)
+
+ Multiply(bf65, bf61, Local0)
+ m600(arg0, 51, Local0, 0x442ddb4f924c7f04)
+ }
+
+ // Multiply, 32-bit
+ Method(m049, 1)
+ {
+ CreateField(b640, 0, 31, bf61)
+ CreateField(b640, 159, 64, bf65)
+
+ Store(Buffer(3){0x21, 0x03, 0x00}, bf61)
+ Store(Buffer(8){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, bf65)
+
+ // Conversion of the first operand
+
+ Store(Multiply(bf65, 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(Multiply(bf65, 1), Local0)
+ m600(arg0, 1, Local0, 0xd650a284)
+
+ Store(Multiply(bf65, aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(Multiply(bf65, aui6), Local0)
+ m600(arg0, 3, Local0, 0xd650a284)
+
+ if (y078) {
+ Store(Multiply(bf65, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(Multiply(bf65, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xd650a284)
+ }
+
+ Store(Multiply(bf65, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(Multiply(bf65, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xd650a284)
+
+ // Method returns Integer
+
+ Store(Multiply(bf65, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(Multiply(bf65, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xd650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(bf65, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(Multiply(bf65, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xd650a284)
+ }
+
+ Multiply(bf65, 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ Multiply(bf65, 1, Local0)
+ m600(arg0, 13, Local0, 0xd650a284)
+
+ Multiply(bf65, aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ Multiply(bf65, aui6, Local0)
+ m600(arg0, 15, Local0, 0xd650a284)
+
+ if (y078) {
+ Multiply(bf65, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ Multiply(bf65, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xd650a284)
+ }
+
+ Multiply(bf65, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ Multiply(bf65, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xd650a284)
+
+ // Method returns Integer
+
+ Multiply(bf65, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ Multiply(bf65, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xd650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(bf65, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ Multiply(bf65, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xd650a284)
+ }
+
+ // Conversion of the second operand
+
+ Store(Multiply(0, bf65), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Multiply(1, bf65), Local0)
+ m600(arg0, 25, Local0, 0xd650a284)
+
+ Store(Multiply(aui5, bf65), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Multiply(aui6, bf65), Local0)
+ m600(arg0, 27, Local0, 0xd650a284)
+
+ if (y078) {
+ Store(Multiply(Derefof(Refof(aui5)), bf65), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(aui6)), bf65), Local0)
+ m600(arg0, 29, Local0, 0xd650a284)
+ }
+
+ Store(Multiply(Derefof(Index(paui, 5)), bf65), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Multiply(Derefof(Index(paui, 6)), bf65), Local0)
+ m600(arg0, 31, Local0, 0xd650a284)
+
+ // Method returns Integer
+
+ Store(Multiply(m601(1, 5), bf65), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Multiply(m601(1, 6), bf65), Local0)
+ m600(arg0, 33, Local0, 0xd650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(Derefof(m602(1, 5, 1)), bf65), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Multiply(Derefof(m602(1, 6, 1)), bf65), Local0)
+ m600(arg0, 35, Local0, 0xd650a284)
+ }
+
+ Multiply(0, bf65, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Multiply(1, bf65, Local0)
+ m600(arg0, 37, Local0, 0xd650a284)
+
+ Multiply(aui5, bf65, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Multiply(aui6, bf65, Local0)
+ m600(arg0, 39, Local0, 0xd650a284)
+
+ if (y078) {
+ Multiply(Derefof(Refof(aui5)), bf65, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Multiply(Derefof(Refof(aui6)), bf65, Local0)
+ m600(arg0, 41, Local0, 0xd650a284)
+ }
+
+ Multiply(Derefof(Index(paui, 5)), bf65, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Multiply(Derefof(Index(paui, 6)), bf65, Local0)
+ m600(arg0, 43, Local0, 0xd650a284)
+
+ // Method returns Integer
+
+ Multiply(m601(1, 5), bf65, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Multiply(m601(1, 6), bf65, Local0)
+ m600(arg0, 45, Local0, 0xd650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(Derefof(m602(1, 5, 1)), bf65, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Multiply(Derefof(m602(1, 6, 1)), bf65, Local0)
+ m600(arg0, 47, Local0, 0xd650a284)
+ }
+
+ // Conversion of the both operands
+
+ Store(Multiply(bf61, bf65), Local0)
+ m600(arg0, 48, Local0, 0x924c7f04)
+
+ Store(Multiply(bf65, bf61), Local0)
+ m600(arg0, 49, Local0, 0x924c7f04)
+
+ Multiply(bf61, bf65, Local0)
+ m600(arg0, 50, Local0, 0x924c7f04)
+
+ Multiply(bf65, bf61, Local0)
+ m600(arg0, 51, Local0, 0x924c7f04)
+ }
+
+ // NAnd, common 32-bit/64-bit test
+ Method(m04a, 1)
+ {
+ CreateField(b640, 0, 31, bf61)
+
+ Store(Buffer(3){0x21, 0x03, 0x00}, bf61)
+
+ // Conversion of the first operand
+
+ Store(NAnd(bf61, 0), Local0)
+ m600(arg0, 0, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(bf61, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xfffffffffffffcde)
+
+ Store(NAnd(bf61, aui5), Local0)
+ m600(arg0, 2, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(bf61, auij), Local0)
+ m600(arg0, 3, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ Store(NAnd(bf61, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(bf61, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xfffffffffffffcde)
+ }
+
+ Store(NAnd(bf61, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(bf61, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ Store(NAnd(bf61, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(bf61, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(bf61, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(bf61, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfffffffffffffcde)
+ }
+
+ NAnd(bf61, 0, Local0)
+ m600(arg0, 12, Local0, 0xffffffffffffffff)
+
+ NAnd(bf61, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xfffffffffffffcde)
+
+ NAnd(bf61, aui5, Local0)
+ m600(arg0, 14, Local0, 0xffffffffffffffff)
+
+ NAnd(bf61, auij, Local0)
+ m600(arg0, 15, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ NAnd(bf61, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xffffffffffffffff)
+
+ NAnd(bf61, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xfffffffffffffcde)
+ }
+
+ NAnd(bf61, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xffffffffffffffff)
+
+ NAnd(bf61, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ NAnd(bf61, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xffffffffffffffff)
+
+ NAnd(bf61, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(bf61, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xffffffffffffffff)
+
+ NAnd(bf61, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfffffffffffffcde)
+ }
+
+ // Conversion of the second operand
+
+ Store(NAnd(0, bf61), Local0)
+ m600(arg0, 24, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(0xffffffffffffffff, bf61), Local0)
+ m600(arg0, 25, Local0, 0xfffffffffffffcde)
+
+ Store(NAnd(aui5, bf61), Local0)
+ m600(arg0, 26, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(auij, bf61), Local0)
+ m600(arg0, 27, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ Store(NAnd(Derefof(Refof(aui5)), bf61), Local0)
+ m600(arg0, 28, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Refof(auij)), bf61), Local0)
+ m600(arg0, 29, Local0, 0xfffffffffffffcde)
+ }
+
+ Store(NAnd(Derefof(Index(paui, 5)), bf61), Local0)
+ m600(arg0, 30, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Index(paui, 19)), bf61), Local0)
+ m600(arg0, 31, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ Store(NAnd(m601(1, 5), bf61), Local0)
+ m600(arg0, 32, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(m601(1, 19), bf61), Local0)
+ m600(arg0, 33, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(Derefof(m602(1, 5, 1)), bf61), Local0)
+ m600(arg0, 34, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(m602(1, 19, 1)), bf61), Local0)
+ m600(arg0, 35, Local0, 0xfffffffffffffcde)
+ }
+
+ NAnd(0, bf61, Local0)
+ m600(arg0, 36, Local0, 0xffffffffffffffff)
+
+ NAnd(0xffffffffffffffff, bf61, Local0)
+ m600(arg0, 37, Local0, 0xfffffffffffffcde)
+
+ NAnd(aui5, bf61, Local0)
+ m600(arg0, 38, Local0, 0xffffffffffffffff)
+
+ NAnd(auij, bf61, Local0)
+ m600(arg0, 39, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ NAnd(Derefof(Refof(aui5)), bf61, Local0)
+ m600(arg0, 40, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Refof(auij)), bf61, Local0)
+ m600(arg0, 41, Local0, 0xfffffffffffffcde)
+ }
+
+ NAnd(Derefof(Index(paui, 5)), bf61, Local0)
+ m600(arg0, 42, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Index(paui, 19)), bf61, Local0)
+ m600(arg0, 43, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ NAnd(m601(1, 5), bf61, Local0)
+ m600(arg0, 44, Local0, 0xffffffffffffffff)
+
+ NAnd(m601(1, 19), bf61, Local0)
+ m600(arg0, 45, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(Derefof(m602(1, 5, 1)), bf61, Local0)
+ m600(arg0, 46, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(m602(1, 19, 1)), bf61, Local0)
+ m600(arg0, 47, Local0, 0xfffffffffffffcde)
+ }
+ }
+
+ // NAnd, 64-bit
+ Method(m04b, 1)
+ {
+ CreateField(b640, 0, 31, bf61)
+ CreateField(b640, 159, 64, bf65)
+
+ Store(Buffer(3){0x21, 0x03, 0x00}, bf61)
+ Store(Buffer(8){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, bf65)
+
+ // Conversion of the first operand
+
+ Store(NAnd(bf65, 0), Local0)
+ m600(arg0, 0, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(bf65, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0x01834c6e29af5d7b)
+
+ Store(NAnd(bf65, aui5), Local0)
+ m600(arg0, 2, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(bf65, auij), Local0)
+ m600(arg0, 3, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ Store(NAnd(bf65, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(bf65, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Store(NAnd(bf65, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(bf65, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ Store(NAnd(bf65, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(bf65, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(bf65, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(bf65, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0x01834c6e29af5d7b)
+ }
+
+ NAnd(bf65, 0, Local0)
+ m600(arg0, 12, Local0, 0xffffffffffffffff)
+
+ NAnd(bf65, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0x01834c6e29af5d7b)
+
+ NAnd(bf65, aui5, Local0)
+ m600(arg0, 14, Local0, 0xffffffffffffffff)
+
+ NAnd(bf65, auij, Local0)
+ m600(arg0, 15, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ NAnd(bf65, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xffffffffffffffff)
+
+ NAnd(bf65, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0x01834c6e29af5d7b)
+ }
+
+ NAnd(bf65, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xffffffffffffffff)
+
+ NAnd(bf65, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ NAnd(bf65, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xffffffffffffffff)
+
+ NAnd(bf65, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(bf65, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xffffffffffffffff)
+
+ NAnd(bf65, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0x01834c6e29af5d7b)
+ }
+
+ // Conversion of the second operand
+
+ Store(NAnd(0, bf65), Local0)
+ m600(arg0, 24, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(0xffffffffffffffff, bf65), Local0)
+ m600(arg0, 25, Local0, 0x01834c6e29af5d7b)
+
+ Store(NAnd(aui5, bf65), Local0)
+ m600(arg0, 26, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(auij, bf65), Local0)
+ m600(arg0, 27, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ Store(NAnd(Derefof(Refof(aui5)), bf65), Local0)
+ m600(arg0, 28, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Refof(auij)), bf65), Local0)
+ m600(arg0, 29, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Store(NAnd(Derefof(Index(paui, 5)), bf65), Local0)
+ m600(arg0, 30, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Index(paui, 19)), bf65), Local0)
+ m600(arg0, 31, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ Store(NAnd(m601(1, 5), bf65), Local0)
+ m600(arg0, 32, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(m601(1, 19), bf65), Local0)
+ m600(arg0, 33, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(Derefof(m602(1, 5, 1)), bf65), Local0)
+ m600(arg0, 34, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(m602(1, 19, 1)), bf65), Local0)
+ m600(arg0, 35, Local0, 0x01834c6e29af5d7b)
+ }
+
+ NAnd(0, bf65, Local0)
+ m600(arg0, 36, Local0, 0xffffffffffffffff)
+
+ NAnd(0xffffffffffffffff, bf65, Local0)
+ m600(arg0, 37, Local0, 0x01834c6e29af5d7b)
+
+ NAnd(aui5, bf65, Local0)
+ m600(arg0, 38, Local0, 0xffffffffffffffff)
+
+ NAnd(auij, bf65, Local0)
+ m600(arg0, 39, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ NAnd(Derefof(Refof(aui5)), bf65, Local0)
+ m600(arg0, 40, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Refof(auij)), bf65, Local0)
+ m600(arg0, 41, Local0, 0x01834c6e29af5d7b)
+ }
+
+ NAnd(Derefof(Index(paui, 5)), bf65, Local0)
+ m600(arg0, 42, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Index(paui, 19)), bf65, Local0)
+ m600(arg0, 43, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ NAnd(m601(1, 5), bf65, Local0)
+ m600(arg0, 44, Local0, 0xffffffffffffffff)
+
+ NAnd(m601(1, 19), bf65, Local0)
+ m600(arg0, 45, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(Derefof(m602(1, 5, 1)), bf65, Local0)
+ m600(arg0, 46, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(m602(1, 19, 1)), bf65, Local0)
+ m600(arg0, 47, Local0, 0x01834c6e29af5d7b)
+ }
+
+ // Conversion of the both operands
+
+ Store(NAnd(bf61, bf65), Local0)
+ m600(arg0, 48, Local0, 0xfffffffffffffdff)
+
+ Store(NAnd(bf65, bf61), Local0)
+ m600(arg0, 49, Local0, 0xfffffffffffffdff)
+
+ NAnd(bf61, bf65, Local0)
+ m600(arg0, 50, Local0, 0xfffffffffffffdff)
+
+ NAnd(bf65, bf61, Local0)
+ m600(arg0, 51, Local0, 0xfffffffffffffdff)
+ }
+
+ // NAnd, 32-bit
+ Method(m04c, 1)
+ {
+ CreateField(b640, 0, 31, bf61)
+ CreateField(b640, 159, 64, bf65)
+
+ Store(Buffer(3){0x21, 0x03, 0x00}, bf61)
+ Store(Buffer(8){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, bf65)
+
+ // Conversion of the first operand
+
+ Store(NAnd(bf65, 0), Local0)
+ m600(arg0, 0, Local0, 0xffffffff)
+
+ Store(NAnd(bf65, 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0x29af5d7b)
+
+ Store(NAnd(bf65, aui5), Local0)
+ m600(arg0, 2, Local0, 0xffffffff)
+
+ Store(NAnd(bf65, auii), Local0)
+ m600(arg0, 3, Local0, 0x29af5d7b)
+
+ if (y078) {
+ Store(NAnd(bf65, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xffffffff)
+
+ Store(NAnd(bf65, Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0x29af5d7b)
+ }
+
+ Store(NAnd(bf65, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xffffffff)
+
+ Store(NAnd(bf65, Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0x29af5d7b)
+
+ // Method returns Integer
+
+ Store(NAnd(bf65, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xffffffff)
+
+ Store(NAnd(bf65, m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0x29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(bf65, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xffffffff)
+
+ Store(NAnd(bf65, Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0x29af5d7b)
+ }
+
+ NAnd(bf65, 0, Local0)
+ m600(arg0, 12, Local0, 0xffffffff)
+
+ NAnd(bf65, 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0x29af5d7b)
+
+ NAnd(bf65, aui5, Local0)
+ m600(arg0, 14, Local0, 0xffffffff)
+
+ NAnd(bf65, auii, Local0)
+ m600(arg0, 15, Local0, 0x29af5d7b)
+
+ if (y078) {
+ NAnd(bf65, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xffffffff)
+
+ NAnd(bf65, Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0x29af5d7b)
+ }
+
+ NAnd(bf65, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xffffffff)
+
+ NAnd(bf65, Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0x29af5d7b)
+
+ // Method returns Integer
+
+ NAnd(bf65, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xffffffff)
+
+ NAnd(bf65, m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0x29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(bf65, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xffffffff)
+
+ NAnd(bf65, Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0x29af5d7b)
+ }
+
+ // Conversion of the second operand
+
+ Store(NAnd(0, bf65), Local0)
+ m600(arg0, 24, Local0, 0xffffffff)
+
+ Store(NAnd(0xffffffff, bf65), Local0)
+ m600(arg0, 25, Local0, 0x29af5d7b)
+
+ Store(NAnd(aui5, bf65), Local0)
+ m600(arg0, 26, Local0, 0xffffffff)
+
+ Store(NAnd(auii, bf65), Local0)
+ m600(arg0, 27, Local0, 0x29af5d7b)
+
+ if (y078) {
+ Store(NAnd(Derefof(Refof(aui5)), bf65), Local0)
+ m600(arg0, 28, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(Refof(auii)), bf65), Local0)
+ m600(arg0, 29, Local0, 0x29af5d7b)
+ }
+
+ Store(NAnd(Derefof(Index(paui, 5)), bf65), Local0)
+ m600(arg0, 30, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(Index(paui, 18)), bf65), Local0)
+ m600(arg0, 31, Local0, 0x29af5d7b)
+
+ // Method returns Integer
+
+ Store(NAnd(m601(1, 5), bf65), Local0)
+ m600(arg0, 32, Local0, 0xffffffff)
+
+ Store(NAnd(m601(1, 18), bf65), Local0)
+ m600(arg0, 33, Local0, 0x29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(Derefof(m602(1, 5, 1)), bf65), Local0)
+ m600(arg0, 34, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(m602(1, 18, 1)), bf65), Local0)
+ m600(arg0, 35, Local0, 0x29af5d7b)
+ }
+
+ NAnd(0, bf65, Local0)
+ m600(arg0, 36, Local0, 0xffffffff)
+
+ NAnd(0xffffffff, bf65, Local0)
+ m600(arg0, 37, Local0, 0x29af5d7b)
+
+ NAnd(aui5, bf65, Local0)
+ m600(arg0, 38, Local0, 0xffffffff)
+
+ NAnd(auii, bf65, Local0)
+ m600(arg0, 39, Local0, 0x29af5d7b)
+
+ if (y078) {
+ NAnd(Derefof(Refof(aui5)), bf65, Local0)
+ m600(arg0, 40, Local0, 0xffffffff)
+
+ NAnd(Derefof(Refof(auii)), bf65, Local0)
+ m600(arg0, 41, Local0, 0x29af5d7b)
+ }
+
+ NAnd(Derefof(Index(paui, 5)), bf65, Local0)
+ m600(arg0, 42, Local0, 0xffffffff)
+
+ NAnd(Derefof(Index(paui, 18)), bf65, Local0)
+ m600(arg0, 43, Local0, 0x29af5d7b)
+
+ // Method returns Integer
+
+ NAnd(m601(1, 5), bf65, Local0)
+ m600(arg0, 44, Local0, 0xffffffff)
+
+ NAnd(m601(1, 18), bf65, Local0)
+ m600(arg0, 45, Local0, 0x29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(Derefof(m602(1, 5, 1)), bf65, Local0)
+ m600(arg0, 46, Local0, 0xffffffff)
+
+ NAnd(Derefof(m602(1, 18, 1)), bf65, Local0)
+ m600(arg0, 47, Local0, 0x29af5d7b)
+ }
+
+ // Conversion of the both operands
+
+ Store(NAnd(bf61, bf65), Local0)
+ m600(arg0, 48, Local0, 0xfffffdff)
+
+ Store(NAnd(bf65, bf61), Local0)
+ m600(arg0, 49, Local0, 0xfffffdff)
+
+ NAnd(bf61, bf65, Local0)
+ m600(arg0, 50, Local0, 0xfffffdff)
+
+ NAnd(bf65, bf61, Local0)
+ m600(arg0, 51, Local0, 0xfffffdff)
+ }
+
+ // NOr, common 32-bit/64-bit test
+ Method(m04d, 1)
+ {
+ CreateField(b640, 0, 31, bf61)
+
+ Store(Buffer(3){0x21, 0x03, 0x00}, bf61)
+
+ // Conversion of the first operand
+
+ Store(NOr(bf61, 0), Local0)
+ m600(arg0, 0, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(bf61, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0)
+
+ Store(NOr(bf61, aui5), Local0)
+ m600(arg0, 2, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(bf61, auij), Local0)
+ m600(arg0, 3, Local0, 0)
+
+ if (y078) {
+ Store(NOr(bf61, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(bf61, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0)
+ }
+
+ Store(NOr(bf61, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(bf61, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(bf61, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(bf61, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(bf61, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(bf61, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0)
+ }
+
+ NOr(bf61, 0, Local0)
+ m600(arg0, 12, Local0, 0xfffffffffffffcde)
+
+ NOr(bf61, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0)
+
+ NOr(bf61, aui5, Local0)
+ m600(arg0, 14, Local0, 0xfffffffffffffcde)
+
+ NOr(bf61, auij, Local0)
+ m600(arg0, 15, Local0, 0)
+
+ if (y078) {
+ NOr(bf61, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfffffffffffffcde)
+
+ NOr(bf61, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0)
+ }
+
+ NOr(bf61, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfffffffffffffcde)
+
+ NOr(bf61, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(bf61, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfffffffffffffcde)
+
+ NOr(bf61, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(bf61, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfffffffffffffcde)
+
+ NOr(bf61, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0)
+ }
+
+ // Conversion of the second operand
+
+ Store(NOr(0, bf61), Local0)
+ m600(arg0, 24, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(0xffffffffffffffff, bf61), Local0)
+ m600(arg0, 25, Local0, 0)
+
+ Store(NOr(aui5, bf61), Local0)
+ m600(arg0, 26, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(auij, bf61), Local0)
+ m600(arg0, 27, Local0, 0)
+
+ if (y078) {
+ Store(NOr(Derefof(Refof(aui5)), bf61), Local0)
+ m600(arg0, 28, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(Refof(auij)), bf61), Local0)
+ m600(arg0, 29, Local0, 0)
+ }
+
+ Store(NOr(Derefof(Index(paui, 5)), bf61), Local0)
+ m600(arg0, 30, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(Index(paui, 19)), bf61), Local0)
+ m600(arg0, 31, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(m601(1, 5), bf61), Local0)
+ m600(arg0, 32, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(m601(1, 19), bf61), Local0)
+ m600(arg0, 33, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(Derefof(m602(1, 5, 1)), bf61), Local0)
+ m600(arg0, 34, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(m602(1, 19, 1)), bf61), Local0)
+ m600(arg0, 35, Local0, 0)
+ }
+
+ NOr(0, bf61, Local0)
+ m600(arg0, 36, Local0, 0xfffffffffffffcde)
+
+ NOr(0xffffffffffffffff, bf61, Local0)
+ m600(arg0, 37, Local0, 0)
+
+ NOr(aui5, bf61, Local0)
+ m600(arg0, 38, Local0, 0xfffffffffffffcde)
+
+ NOr(auij, bf61, Local0)
+ m600(arg0, 39, Local0, 0)
+
+ if (y078) {
+ NOr(Derefof(Refof(aui5)), bf61, Local0)
+ m600(arg0, 40, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(Refof(auij)), bf61, Local0)
+ m600(arg0, 41, Local0, 0)
+ }
+
+ NOr(Derefof(Index(paui, 5)), bf61, Local0)
+ m600(arg0, 42, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(Index(paui, 19)), bf61, Local0)
+ m600(arg0, 43, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(m601(1, 5), bf61, Local0)
+ m600(arg0, 44, Local0, 0xfffffffffffffcde)
+
+ NOr(m601(1, 19), bf61, Local0)
+ m600(arg0, 45, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(Derefof(m602(1, 5, 1)), bf61, Local0)
+ m600(arg0, 46, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(m602(1, 19, 1)), bf61, Local0)
+ m600(arg0, 47, Local0, 0)
+ }
+ }
+
+ // NOr, 64-bit
+ Method(m04e, 1)
+ {
+ CreateField(b640, 0, 31, bf61)
+ CreateField(b640, 159, 64, bf65)
+
+ Store(Buffer(3){0x21, 0x03, 0x00}, bf61)
+ Store(Buffer(8){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, bf65)
+
+ // Conversion of the first operand
+
+ Store(NOr(bf65, 0), Local0)
+ m600(arg0, 0, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(bf65, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0)
+
+ Store(NOr(bf65, aui5), Local0)
+ m600(arg0, 2, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(bf65, auij), Local0)
+ m600(arg0, 3, Local0, 0)
+
+ if (y078) {
+ Store(NOr(bf65, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(bf65, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0)
+ }
+
+ Store(NOr(bf65, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(bf65, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(bf65, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(bf65, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(bf65, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(bf65, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0)
+ }
+
+ NOr(bf65, 0, Local0)
+ m600(arg0, 12, Local0, 0x01834c6e29af5d7b)
+
+ NOr(bf65, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0)
+
+ NOr(bf65, aui5, Local0)
+ m600(arg0, 14, Local0, 0x01834c6e29af5d7b)
+
+ NOr(bf65, auij, Local0)
+ m600(arg0, 15, Local0, 0)
+
+ if (y078) {
+ NOr(bf65, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x01834c6e29af5d7b)
+
+ NOr(bf65, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0)
+ }
+
+ NOr(bf65, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x01834c6e29af5d7b)
+
+ NOr(bf65, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(bf65, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x01834c6e29af5d7b)
+
+ NOr(bf65, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(bf65, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x01834c6e29af5d7b)
+
+ NOr(bf65, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0)
+ }
+
+ // Conversion of the second operand
+
+ Store(NOr(0, bf65), Local0)
+ m600(arg0, 24, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(0xffffffffffffffff, bf65), Local0)
+ m600(arg0, 25, Local0, 0)
+
+ Store(NOr(aui5, bf65), Local0)
+ m600(arg0, 26, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(auij, bf65), Local0)
+ m600(arg0, 27, Local0, 0)
+
+ if (y078) {
+ Store(NOr(Derefof(Refof(aui5)), bf65), Local0)
+ m600(arg0, 28, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(Refof(auij)), bf65), Local0)
+ m600(arg0, 29, Local0, 0)
+ }
+
+ Store(NOr(Derefof(Index(paui, 5)), bf65), Local0)
+ m600(arg0, 30, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(Index(paui, 19)), bf65), Local0)
+ m600(arg0, 31, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(m601(1, 5), bf65), Local0)
+ m600(arg0, 32, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(m601(1, 19), bf65), Local0)
+ m600(arg0, 33, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(Derefof(m602(1, 5, 1)), bf65), Local0)
+ m600(arg0, 34, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(m602(1, 19, 1)), bf65), Local0)
+ m600(arg0, 35, Local0, 0)
+ }
+
+ NOr(0, bf65, Local0)
+ m600(arg0, 36, Local0, 0x01834c6e29af5d7b)
+
+ NOr(0xffffffffffffffff, bf65, Local0)
+ m600(arg0, 37, Local0, 0)
+
+ NOr(aui5, bf65, Local0)
+ m600(arg0, 38, Local0, 0x01834c6e29af5d7b)
+
+ NOr(auij, bf65, Local0)
+ m600(arg0, 39, Local0, 0)
+
+ if (y078) {
+ NOr(Derefof(Refof(aui5)), bf65, Local0)
+ m600(arg0, 40, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(Refof(auij)), bf65, Local0)
+ m600(arg0, 41, Local0, 0)
+ }
+
+ NOr(Derefof(Index(paui, 5)), bf65, Local0)
+ m600(arg0, 42, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(Index(paui, 19)), bf65, Local0)
+ m600(arg0, 43, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(m601(1, 5), bf65, Local0)
+ m600(arg0, 44, Local0, 0x01834c6e29af5d7b)
+
+ NOr(m601(1, 19), bf65, Local0)
+ m600(arg0, 45, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(Derefof(m602(1, 5, 1)), bf65, Local0)
+ m600(arg0, 46, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(m602(1, 19, 1)), bf65, Local0)
+ m600(arg0, 47, Local0, 0)
+ }
+
+ // Conversion of the both operands
+
+ Store(NOr(bf61, bf65), Local0)
+ m600(arg0, 48, Local0, 0x01834c6e29af5c5a)
+
+ Store(NOr(bf65, bf61), Local0)
+ m600(arg0, 49, Local0, 0x01834c6e29af5c5a)
+
+ NOr(bf61, bf65, Local0)
+ m600(arg0, 50, Local0, 0x01834c6e29af5c5a)
+
+ NOr(bf65, bf61, Local0)
+ m600(arg0, 51, Local0, 0x01834c6e29af5c5a)
+ }
+
+ // NOr, 32-bit
+ Method(m04f, 1)
+ {
+ CreateField(b640, 0, 31, bf61)
+ CreateField(b640, 159, 64, bf65)
+
+ Store(Buffer(3){0x21, 0x03, 0x00}, bf61)
+ Store(Buffer(8){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, bf65)
+
+ // Conversion of the first operand
+
+ Store(NOr(bf65, 0), Local0)
+ m600(arg0, 0, Local0, 0x29af5d7b)
+
+ Store(NOr(bf65, 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0)
+
+ Store(NOr(bf65, aui5), Local0)
+ m600(arg0, 2, Local0, 0x29af5d7b)
+
+ Store(NOr(bf65, auii), Local0)
+ m600(arg0, 3, Local0, 0)
+
+ if (y078) {
+ Store(NOr(bf65, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x29af5d7b)
+
+ Store(NOr(bf65, Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0)
+ }
+
+ Store(NOr(bf65, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x29af5d7b)
+
+ Store(NOr(bf65, Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(bf65, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x29af5d7b)
+
+ Store(NOr(bf65, m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(bf65, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x29af5d7b)
+
+ Store(NOr(bf65, Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0)
+ }
+
+ NOr(bf65, 0, Local0)
+ m600(arg0, 12, Local0, 0x29af5d7b)
+
+ NOr(bf65, 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0)
+
+ NOr(bf65, aui5, Local0)
+ m600(arg0, 14, Local0, 0x29af5d7b)
+
+ NOr(bf65, auii, Local0)
+ m600(arg0, 15, Local0, 0)
+
+ if (y078) {
+ NOr(bf65, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x29af5d7b)
+
+ NOr(bf65, Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0)
+ }
+
+ NOr(bf65, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x29af5d7b)
+
+ NOr(bf65, Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(bf65, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x29af5d7b)
+
+ NOr(bf65, m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(bf65, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x29af5d7b)
+
+ NOr(bf65, Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0)
+ }
+
+ // Conversion of the second operand
+
+ Store(NOr(0, bf65), Local0)
+ m600(arg0, 24, Local0, 0x29af5d7b)
+
+ Store(NOr(0xffffffff, bf65), Local0)
+ m600(arg0, 25, Local0, 0)
+
+ Store(NOr(aui5, bf65), Local0)
+ m600(arg0, 26, Local0, 0x29af5d7b)
+
+ Store(NOr(auii, bf65), Local0)
+ m600(arg0, 27, Local0, 0)
+
+ if (y078) {
+ Store(NOr(Derefof(Refof(aui5)), bf65), Local0)
+ m600(arg0, 28, Local0, 0x29af5d7b)
+
+ Store(NOr(Derefof(Refof(auii)), bf65), Local0)
+ m600(arg0, 29, Local0, 0)
+ }
+
+ Store(NOr(Derefof(Index(paui, 5)), bf65), Local0)
+ m600(arg0, 30, Local0, 0x29af5d7b)
+
+ Store(NOr(Derefof(Index(paui, 18)), bf65), Local0)
+ m600(arg0, 31, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(m601(1, 5), bf65), Local0)
+ m600(arg0, 32, Local0, 0x29af5d7b)
+
+ Store(NOr(m601(1, 18), bf65), Local0)
+ m600(arg0, 33, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(Derefof(m602(1, 5, 1)), bf65), Local0)
+ m600(arg0, 34, Local0, 0x29af5d7b)
+
+ Store(NOr(Derefof(m602(1, 18, 1)), bf65), Local0)
+ m600(arg0, 35, Local0, 0)
+ }
+
+ NOr(0, bf65, Local0)
+ m600(arg0, 36, Local0, 0x29af5d7b)
+
+ NOr(0xffffffff, bf65, Local0)
+ m600(arg0, 37, Local0, 0)
+
+ NOr(aui5, bf65, Local0)
+ m600(arg0, 38, Local0, 0x29af5d7b)
+
+ NOr(auii, bf65, Local0)
+ m600(arg0, 39, Local0, 0)
+
+ if (y078) {
+ NOr(Derefof(Refof(aui5)), bf65, Local0)
+ m600(arg0, 40, Local0, 0x29af5d7b)
+
+ NOr(Derefof(Refof(auii)), bf65, Local0)
+ m600(arg0, 41, Local0, 0)
+ }
+
+ NOr(Derefof(Index(paui, 5)), bf65, Local0)
+ m600(arg0, 42, Local0, 0x29af5d7b)
+
+ NOr(Derefof(Index(paui, 18)), bf65, Local0)
+ m600(arg0, 43, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(m601(1, 5), bf65, Local0)
+ m600(arg0, 44, Local0, 0x29af5d7b)
+
+ NOr(m601(1, 18), bf65, Local0)
+ m600(arg0, 45, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(Derefof(m602(1, 5, 1)), bf65, Local0)
+ m600(arg0, 46, Local0, 0x29af5d7b)
+
+ NOr(Derefof(m602(1, 18, 1)), bf65, Local0)
+ m600(arg0, 47, Local0, 0)
+ }
+
+ // Conversion of the both operands
+
+ Store(NOr(bf61, bf65), Local0)
+ m600(arg0, 48, Local0, 0x29af5c5a)
+
+ Store(NOr(bf65, bf61), Local0)
+ m600(arg0, 49, Local0, 0x29af5c5a)
+
+ NOr(bf61, bf65, Local0)
+ m600(arg0, 50, Local0, 0x29af5c5a)
+
+ NOr(bf65, bf61, Local0)
+ m600(arg0, 51, Local0, 0x29af5c5a)
+ }
+
+ // Or, common 32-bit/64-bit test
+ Method(m050, 1)
+ {
+ CreateField(b640, 0, 31, bf61)
+
+ Store(Buffer(3){0x21, 0x03, 0x00}, bf61)
+
+ // Conversion of the first operand
+
+ Store(Or(bf61, 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Or(bf61, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xffffffffffffffff)
+
+ Store(Or(bf61, aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Or(bf61, auij), Local0)
+ m600(arg0, 3, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Store(Or(bf61, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Or(bf61, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xffffffffffffffff)
+ }
+
+ Store(Or(bf61, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Or(bf61, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Store(Or(bf61, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Or(bf61, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(bf61, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Or(bf61, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xffffffffffffffff)
+ }
+
+ Or(bf61, 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Or(bf61, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xffffffffffffffff)
+
+ Or(bf61, aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Or(bf61, auij, Local0)
+ m600(arg0, 15, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Or(bf61, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Or(bf61, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xffffffffffffffff)
+ }
+
+ Or(bf61, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Or(bf61, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Or(bf61, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Or(bf61, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(bf61, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Or(bf61, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xffffffffffffffff)
+ }
+
+ // Conversion of the second operand
+
+ Store(Or(0, bf61), Local0)
+ m600(arg0, 24, Local0, 0x321)
+
+ Store(Or(0xffffffffffffffff, bf61), Local0)
+ m600(arg0, 25, Local0, 0xffffffffffffffff)
+
+ Store(Or(aui5, bf61), Local0)
+ m600(arg0, 26, Local0, 0x321)
+
+ Store(Or(auij, bf61), Local0)
+ m600(arg0, 27, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Store(Or(Derefof(Refof(aui5)), bf61), Local0)
+ m600(arg0, 28, Local0, 0x321)
+
+ Store(Or(Derefof(Refof(auij)), bf61), Local0)
+ m600(arg0, 29, Local0, 0xffffffffffffffff)
+ }
+
+ Store(Or(Derefof(Index(paui, 5)), bf61), Local0)
+ m600(arg0, 30, Local0, 0x321)
+
+ Store(Or(Derefof(Index(paui, 19)), bf61), Local0)
+ m600(arg0, 31, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Store(Or(m601(1, 5), bf61), Local0)
+ m600(arg0, 32, Local0, 0x321)
+
+ Store(Or(m601(1, 19), bf61), Local0)
+ m600(arg0, 33, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(Derefof(m602(1, 5, 1)), bf61), Local0)
+ m600(arg0, 34, Local0, 0x321)
+
+ Store(Or(Derefof(m602(1, 19, 1)), bf61), Local0)
+ m600(arg0, 35, Local0, 0xffffffffffffffff)
+ }
+
+ Or(0, bf61, Local0)
+ m600(arg0, 36, Local0, 0x321)
+
+ Or(0xffffffffffffffff, bf61, Local0)
+ m600(arg0, 37, Local0, 0xffffffffffffffff)
+
+ Or(aui5, bf61, Local0)
+ m600(arg0, 38, Local0, 0x321)
+
+ Or(auij, bf61, Local0)
+ m600(arg0, 39, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Or(Derefof(Refof(aui5)), bf61, Local0)
+ m600(arg0, 40, Local0, 0x321)
+
+ Or(Derefof(Refof(auij)), bf61, Local0)
+ m600(arg0, 41, Local0, 0xffffffffffffffff)
+ }
+
+ Or(Derefof(Index(paui, 5)), bf61, Local0)
+ m600(arg0, 42, Local0, 0x321)
+
+ Or(Derefof(Index(paui, 19)), bf61, Local0)
+ m600(arg0, 43, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Or(m601(1, 5), bf61, Local0)
+ m600(arg0, 44, Local0, 0x321)
+
+ Or(m601(1, 19), bf61, Local0)
+ m600(arg0, 45, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(Derefof(m602(1, 5, 1)), bf61, Local0)
+ m600(arg0, 46, Local0, 0x321)
+
+ Or(Derefof(m602(1, 19, 1)), bf61, Local0)
+ m600(arg0, 47, Local0, 0xffffffffffffffff)
+ }
+ }
+
+ // Or, 64-bit
+ Method(m051, 1)
+ {
+ CreateField(b640, 0, 31, bf61)
+ CreateField(b640, 159, 64, bf65)
+
+ Store(Buffer(3){0x21, 0x03, 0x00}, bf61)
+ Store(Buffer(8){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, bf65)
+
+ // Conversion of the first operand
+
+ Store(Or(bf65, 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(bf65, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xffffffffffffffff)
+
+ Store(Or(bf65, aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(bf65, auij), Local0)
+ m600(arg0, 3, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Store(Or(bf65, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(bf65, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xffffffffffffffff)
+ }
+
+ Store(Or(bf65, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(bf65, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Store(Or(bf65, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(bf65, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(bf65, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(bf65, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xffffffffffffffff)
+ }
+
+ Or(bf65, 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Or(bf65, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xffffffffffffffff)
+
+ Or(bf65, aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Or(bf65, auij, Local0)
+ m600(arg0, 15, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Or(bf65, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Or(bf65, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xffffffffffffffff)
+ }
+
+ Or(bf65, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Or(bf65, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Or(bf65, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Or(bf65, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(bf65, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Or(bf65, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xffffffffffffffff)
+ }
+
+ // Conversion of the second operand
+
+ Store(Or(0, bf65), Local0)
+ m600(arg0, 24, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(0xffffffffffffffff, bf65), Local0)
+ m600(arg0, 25, Local0, 0xffffffffffffffff)
+
+ Store(Or(aui5, bf65), Local0)
+ m600(arg0, 26, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(auij, bf65), Local0)
+ m600(arg0, 27, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Store(Or(Derefof(Refof(aui5)), bf65), Local0)
+ m600(arg0, 28, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(Refof(auij)), bf65), Local0)
+ m600(arg0, 29, Local0, 0xffffffffffffffff)
+ }
+
+ Store(Or(Derefof(Index(paui, 5)), bf65), Local0)
+ m600(arg0, 30, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(Index(paui, 19)), bf65), Local0)
+ m600(arg0, 31, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Store(Or(m601(1, 5), bf65), Local0)
+ m600(arg0, 32, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(m601(1, 19), bf65), Local0)
+ m600(arg0, 33, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(Derefof(m602(1, 5, 1)), bf65), Local0)
+ m600(arg0, 34, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(m602(1, 19, 1)), bf65), Local0)
+ m600(arg0, 35, Local0, 0xffffffffffffffff)
+ }
+
+ Or(0, bf65, Local0)
+ m600(arg0, 36, Local0, 0xfe7cb391d650a284)
+
+ Or(0xffffffffffffffff, bf65, Local0)
+ m600(arg0, 37, Local0, 0xffffffffffffffff)
+
+ Or(aui5, bf65, Local0)
+ m600(arg0, 38, Local0, 0xfe7cb391d650a284)
+
+ Or(auij, bf65, Local0)
+ m600(arg0, 39, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Or(Derefof(Refof(aui5)), bf65, Local0)
+ m600(arg0, 40, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(Refof(auij)), bf65, Local0)
+ m600(arg0, 41, Local0, 0xffffffffffffffff)
+ }
+
+ Or(Derefof(Index(paui, 5)), bf65, Local0)
+ m600(arg0, 42, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(Index(paui, 19)), bf65, Local0)
+ m600(arg0, 43, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Or(m601(1, 5), bf65, Local0)
+ m600(arg0, 44, Local0, 0xfe7cb391d650a284)
+
+ Or(m601(1, 19), bf65, Local0)
+ m600(arg0, 45, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(Derefof(m602(1, 5, 1)), bf65, Local0)
+ m600(arg0, 46, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(m602(1, 19, 1)), bf65, Local0)
+ m600(arg0, 47, Local0, 0xffffffffffffffff)
+ }
+
+ // Conversion of the both operands
+
+ Store(Or(bf61, bf65), Local0)
+ m600(arg0, 48, Local0, 0xfe7cb391d650a3a5)
+
+ Store(Or(bf65, bf61), Local0)
+ m600(arg0, 49, Local0, 0xfe7cb391d650a3a5)
+
+ Or(bf61, bf65, Local0)
+ m600(arg0, 50, Local0, 0xfe7cb391d650a3a5)
+
+ Or(bf65, bf61, Local0)
+ m600(arg0, 51, Local0, 0xfe7cb391d650a3a5)
+ }
+
+ // Or, 32-bit
+ Method(m052, 1)
+ {
+ CreateField(b640, 0, 31, bf61)
+ CreateField(b640, 159, 64, bf65)
+
+ Store(Buffer(3){0x21, 0x03, 0x00}, bf61)
+ Store(Buffer(8){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, bf65)
+
+ // Conversion of the first operand
+
+ Store(Or(bf65, 0), Local0)
+ m600(arg0, 0, Local0, 0xd650a284)
+
+ Store(Or(bf65, 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0xffffffff)
+
+ Store(Or(bf65, aui5), Local0)
+ m600(arg0, 2, Local0, 0xd650a284)
+
+ Store(Or(bf65, auii), Local0)
+ m600(arg0, 3, Local0, 0xffffffff)
+
+ if (y078) {
+ Store(Or(bf65, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xd650a284)
+
+ Store(Or(bf65, Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0xffffffff)
+ }
+
+ Store(Or(bf65, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xd650a284)
+
+ Store(Or(bf65, Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0xffffffff)
+
+ // Method returns Integer
+
+ Store(Or(bf65, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xd650a284)
+
+ Store(Or(bf65, m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0xffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(bf65, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xd650a284)
+
+ Store(Or(bf65, Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0xffffffff)
+ }
+
+ Or(bf65, 0, Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ Or(bf65, 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0xffffffff)
+
+ Or(bf65, aui5, Local0)
+ m600(arg0, 14, Local0, 0xd650a284)
+
+ Or(bf65, auii, Local0)
+ m600(arg0, 15, Local0, 0xffffffff)
+
+ if (y078) {
+ Or(bf65, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xd650a284)
+
+ Or(bf65, Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0xffffffff)
+ }
+
+ Or(bf65, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xd650a284)
+
+ Or(bf65, Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0xffffffff)
+
+ // Method returns Integer
+
+ Or(bf65, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xd650a284)
+
+ Or(bf65, m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0xffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(bf65, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xd650a284)
+
+ Or(bf65, Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0xffffffff)
+ }
+
+ // Conversion of the second operand
+
+ Store(Or(0, bf65), Local0)
+ m600(arg0, 24, Local0, 0xd650a284)
+
+ Store(Or(0xffffffff, bf65), Local0)
+ m600(arg0, 25, Local0, 0xffffffff)
+
+ Store(Or(aui5, bf65), Local0)
+ m600(arg0, 26, Local0, 0xd650a284)
+
+ Store(Or(auii, bf65), Local0)
+ m600(arg0, 27, Local0, 0xffffffff)
+
+ if (y078) {
+ Store(Or(Derefof(Refof(aui5)), bf65), Local0)
+ m600(arg0, 28, Local0, 0xd650a284)
+
+ Store(Or(Derefof(Refof(auii)), bf65), Local0)
+ m600(arg0, 29, Local0, 0xffffffff)
+ }
+
+ Store(Or(Derefof(Index(paui, 5)), bf65), Local0)
+ m600(arg0, 30, Local0, 0xd650a284)
+
+ Store(Or(Derefof(Index(paui, 18)), bf65), Local0)
+ m600(arg0, 31, Local0, 0xffffffff)
+
+ // Method returns Integer
+
+ Store(Or(m601(1, 5), bf65), Local0)
+ m600(arg0, 32, Local0, 0xd650a284)
+
+ Store(Or(m601(1, 18), bf65), Local0)
+ m600(arg0, 33, Local0, 0xffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(Derefof(m602(1, 5, 1)), bf65), Local0)
+ m600(arg0, 34, Local0, 0xd650a284)
+
+ Store(Or(Derefof(m602(1, 18, 1)), bf65), Local0)
+ m600(arg0, 35, Local0, 0xffffffff)
+ }
+
+ Or(0, bf65, Local0)
+ m600(arg0, 36, Local0, 0xd650a284)
+
+ Or(0xffffffff, bf65, Local0)
+ m600(arg0, 37, Local0, 0xffffffff)
+
+ Or(aui5, bf65, Local0)
+ m600(arg0, 38, Local0, 0xd650a284)
+
+ Or(auii, bf65, Local0)
+ m600(arg0, 39, Local0, 0xffffffff)
+
+ if (y078) {
+ Or(Derefof(Refof(aui5)), bf65, Local0)
+ m600(arg0, 40, Local0, 0xd650a284)
+
+ Or(Derefof(Refof(auii)), bf65, Local0)
+ m600(arg0, 41, Local0, 0xffffffff)
+ }
+
+ Or(Derefof(Index(paui, 5)), bf65, Local0)
+ m600(arg0, 42, Local0, 0xd650a284)
+
+ Or(Derefof(Index(paui, 18)), bf65, Local0)
+ m600(arg0, 43, Local0, 0xffffffff)
+
+ // Method returns Integer
+
+ Or(m601(1, 5), bf65, Local0)
+ m600(arg0, 44, Local0, 0xd650a284)
+
+ Or(m601(1, 18), bf65, Local0)
+ m600(arg0, 45, Local0, 0xffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(Derefof(m602(1, 5, 1)), bf65, Local0)
+ m600(arg0, 46, Local0, 0xd650a284)
+
+ Or(Derefof(m602(1, 18, 1)), bf65, Local0)
+ m600(arg0, 47, Local0, 0xffffffff)
+ }
+
+ // Conversion of the both operands
+
+ Store(Or(bf61, bf65), Local0)
+ m600(arg0, 48, Local0, 0xd650a3a5)
+
+ Store(Or(bf65, bf61), Local0)
+ m600(arg0, 49, Local0, 0xd650a3a5)
+
+ Or(bf61, bf65, Local0)
+ m600(arg0, 50, Local0, 0xd650a3a5)
+
+ Or(bf65, bf61, Local0)
+ m600(arg0, 51, Local0, 0xd650a3a5)
+ }
+
+ // ShiftLeft, common 32-bit/64-bit test
+ Method(m053, 1)
+ {
+ CreateField(b640, 0, 31, bf61)
+ CreateField(b641, 420, 33, bf74)
+
+ Store(Buffer(3){0x21, 0x03, 0x00}, bf61)
+ Store(0xb, bf74)
+
+ // Conversion of the first operand
+
+ Store(ShiftLeft(bf61, 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(ShiftLeft(bf61, 1), Local0)
+ m600(arg0, 1, Local0, 0x642)
+
+ Store(ShiftLeft(bf61, aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(ShiftLeft(bf61, aui6), Local0)
+ m600(arg0, 3, Local0, 0x642)
+
+ if (y078) {
+ Store(ShiftLeft(bf61, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(ShiftLeft(bf61, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x642)
+ }
+
+ Store(ShiftLeft(bf61, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(ShiftLeft(bf61, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x642)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(bf61, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(ShiftLeft(bf61, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x642)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(bf61, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(ShiftLeft(bf61, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x642)
+ }
+
+ ShiftLeft(bf61, 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ ShiftLeft(bf61, 1, Local0)
+ m600(arg0, 13, Local0, 0x642)
+
+ ShiftLeft(bf61, aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ ShiftLeft(bf61, aui6, Local0)
+ m600(arg0, 15, Local0, 0x642)
+
+ if (y078) {
+ ShiftLeft(bf61, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ ShiftLeft(bf61, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x642)
+ }
+
+ ShiftLeft(bf61, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ ShiftLeft(bf61, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x642)
+
+ // Method returns Integer
+
+ ShiftLeft(bf61, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ ShiftLeft(bf61, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x642)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(bf61, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ ShiftLeft(bf61, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x642)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftLeft(0, bf74), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftLeft(1, bf74), Local0)
+ m600(arg0, 25, Local0, 0x800)
+
+ Store(ShiftLeft(aui5, bf74), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftLeft(aui6, bf74), Local0)
+ m600(arg0, 27, Local0, 0x800)
+
+ if (y078) {
+ Store(ShiftLeft(Derefof(Refof(aui5)), bf74), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Refof(aui6)), bf74), Local0)
+ m600(arg0, 29, Local0, 0x800)
+ }
+
+ Store(ShiftLeft(Derefof(Index(paui, 5)), bf74), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Index(paui, 6)), bf74), Local0)
+ m600(arg0, 31, Local0, 0x800)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(m601(1, 5), bf74), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftLeft(m601(1, 6), bf74), Local0)
+ m600(arg0, 33, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(Derefof(m602(1, 5, 1)), bf74), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftLeft(Derefof(m602(1, 6, 1)), bf74), Local0)
+ m600(arg0, 35, Local0, 0x800)
+ }
+
+ ShiftLeft(0, bf74, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftLeft(1, bf74, Local0)
+ m600(arg0, 37, Local0, 0x800)
+
+ ShiftLeft(aui5, bf74, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftLeft(aui6, bf74, Local0)
+ m600(arg0, 39, Local0, 0x800)
+
+ if (y078) {
+ ShiftLeft(Derefof(Refof(aui5)), bf74, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftLeft(Derefof(Refof(aui6)), bf74, Local0)
+ m600(arg0, 41, Local0, 0x800)
+ }
+
+ ShiftLeft(Derefof(Index(paui, 5)), bf74, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftLeft(Derefof(Index(paui, 6)), bf74, Local0)
+ m600(arg0, 43, Local0, 0x800)
+
+ // Method returns Integer
+
+ ShiftLeft(m601(1, 5), bf74, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftLeft(m601(1, 6), bf74, Local0)
+ m600(arg0, 45, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(Derefof(m602(1, 5, 1)), bf74, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftLeft(Derefof(m602(1, 6, 1)), bf74, Local0)
+ m600(arg0, 47, Local0, 0x800)
+ }
+ }
+
+ // ShiftLeft, 64-bit
+ Method(m054, 1)
+ {
+ CreateField(b640, 0, 31, bf61)
+ CreateField(b640, 159, 64, bf65)
+ CreateField(b641, 420, 33, bf74)
+
+ Store(Buffer(3){0x21, 0x03, 0x00}, bf61)
+ Store(Buffer(8){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, bf65)
+ Store(0xb, bf74)
+
+ // Conversion of the first operand
+
+ Store(ShiftLeft(bf65, 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(bf65, 1), Local0)
+ m600(arg0, 1, Local0, 0xfcf96723aca14508)
+
+ Store(ShiftLeft(bf65, aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(bf65, aui6), Local0)
+ m600(arg0, 3, Local0, 0xfcf96723aca14508)
+
+ if (y078) {
+ Store(ShiftLeft(bf65, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(bf65, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xfcf96723aca14508)
+ }
+
+ Store(ShiftLeft(bf65, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(bf65, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xfcf96723aca14508)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(bf65, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(bf65, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xfcf96723aca14508)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(bf65, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(bf65, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfcf96723aca14508)
+ }
+
+ ShiftLeft(bf65, 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(bf65, 1, Local0)
+ m600(arg0, 13, Local0, 0xfcf96723aca14508)
+
+ ShiftLeft(bf65, aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(bf65, aui6, Local0)
+ m600(arg0, 15, Local0, 0xfcf96723aca14508)
+
+ if (y078) {
+ ShiftLeft(bf65, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(bf65, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xfcf96723aca14508)
+ }
+
+ ShiftLeft(bf65, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(bf65, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xfcf96723aca14508)
+
+ // Method returns Integer
+
+ ShiftLeft(bf65, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(bf65, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xfcf96723aca14508)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(bf65, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(bf65, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfcf96723aca14508)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftLeft(0, bf74), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftLeft(1, bf74), Local0)
+ m600(arg0, 25, Local0, 0x800)
+
+ Store(ShiftLeft(aui5, bf74), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftLeft(aui6, bf74), Local0)
+ m600(arg0, 27, Local0, 0x800)
+
+ if (y078) {
+ Store(ShiftLeft(Derefof(Refof(aui5)), bf74), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Refof(aui6)), bf74), Local0)
+ m600(arg0, 29, Local0, 0x800)
+ }
+
+ Store(ShiftLeft(Derefof(Index(paui, 5)), bf74), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Index(paui, 6)), bf74), Local0)
+ m600(arg0, 31, Local0, 0x800)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(m601(1, 5), bf74), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftLeft(m601(1, 6), bf74), Local0)
+ m600(arg0, 33, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(Derefof(m602(1, 5, 1)), bf74), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftLeft(Derefof(m602(1, 6, 1)), bf74), Local0)
+ m600(arg0, 35, Local0, 0x800)
+ }
+
+ ShiftLeft(0, bf74, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftLeft(1, bf74, Local0)
+ m600(arg0, 37, Local0, 0x800)
+
+ ShiftLeft(aui5, bf74, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftLeft(aui6, bf74, Local0)
+ m600(arg0, 39, Local0, 0x800)
+
+ if (y078) {
+ ShiftLeft(Derefof(Refof(aui5)), bf74, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftLeft(Derefof(Refof(aui6)), bf74, Local0)
+ m600(arg0, 41, Local0, 0x800)
+ }
+
+ ShiftLeft(Derefof(Index(paui, 5)), bf74, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftLeft(Derefof(Index(paui, 6)), bf74, Local0)
+ m600(arg0, 43, Local0, 0x800)
+
+ // Method returns Integer
+
+ ShiftLeft(m601(1, 5), bf74, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftLeft(m601(1, 6), bf74, Local0)
+ m600(arg0, 45, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(Derefof(m602(1, 5, 1)), bf74, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftLeft(Derefof(m602(1, 6, 1)), bf74, Local0)
+ m600(arg0, 47, Local0, 0x800)
+ }
+
+ // Conversion of the both operands
+
+ Store(ShiftLeft(bf61, bf74), Local0)
+ m600(arg0, 48, Local0, 0x190800)
+
+ Store(ShiftLeft(bf65, bf74), Local0)
+ m600(arg0, 49, Local0, 0xE59C8EB285142000)
+
+ ShiftLeft(bf61, bf74, Local0)
+ m600(arg0, 50, Local0, 0x190800)
+
+ ShiftLeft(bf65, bf74, Local0)
+ m600(arg0, 51, Local0, 0xE59C8EB285142000)
+ }
+
+ // ShiftLeft, 32-bit
+ Method(m055, 1)
+ {
+ CreateField(b640, 0, 31, bf61)
+ CreateField(b640, 159, 64, bf65)
+ CreateField(b641, 420, 33, bf74)
+
+ Store(Buffer(3){0x21, 0x03, 0x00}, bf61)
+ Store(Buffer(8){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, bf65)
+ Store(0xb, bf74)
+
+ // Conversion of the first operand
+
+ Store(ShiftLeft(bf65, 0), Local0)
+ m600(arg0, 0, Local0, 0xd650a284)
+
+ Store(ShiftLeft(bf65, 1), Local0)
+ m600(arg0, 1, Local0, 0xaca14508)
+
+ Store(ShiftLeft(bf65, aui5), Local0)
+ m600(arg0, 2, Local0, 0xd650a284)
+
+ Store(ShiftLeft(bf65, aui6), Local0)
+ m600(arg0, 3, Local0, 0xaca14508)
+
+ if (y078) {
+ Store(ShiftLeft(bf65, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xd650a284)
+
+ Store(ShiftLeft(bf65, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xaca14508)
+ }
+
+ Store(ShiftLeft(bf65, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xd650a284)
+
+ Store(ShiftLeft(bf65, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xaca14508)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(bf65, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xd650a284)
+
+ Store(ShiftLeft(bf65, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xaca14508)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(bf65, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xd650a284)
+
+ Store(ShiftLeft(bf65, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xaca14508)
+ }
+
+ ShiftLeft(bf65, 0, Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ ShiftLeft(bf65, 1, Local0)
+ m600(arg0, 13, Local0, 0xaca14508)
+
+ ShiftLeft(bf65, aui5, Local0)
+ m600(arg0, 14, Local0, 0xd650a284)
+
+ ShiftLeft(bf65, aui6, Local0)
+ m600(arg0, 15, Local0, 0xaca14508)
+
+ if (y078) {
+ ShiftLeft(bf65, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xd650a284)
+
+ ShiftLeft(bf65, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xaca14508)
+ }
+
+ ShiftLeft(bf65, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xd650a284)
+
+ ShiftLeft(bf65, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xaca14508)
+
+ // Method returns Integer
+
+ ShiftLeft(bf65, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xd650a284)
+
+ ShiftLeft(bf65, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xaca14508)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(bf65, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xd650a284)
+
+ ShiftLeft(bf65, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xaca14508)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftLeft(0, bf74), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftLeft(1, bf74), Local0)
+ m600(arg0, 25, Local0, 0x800)
+
+ Store(ShiftLeft(aui5, bf74), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftLeft(aui6, bf74), Local0)
+ m600(arg0, 27, Local0, 0x800)
+
+ if (y078) {
+ Store(ShiftLeft(Derefof(Refof(aui5)), bf74), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Refof(aui6)), bf74), Local0)
+ m600(arg0, 29, Local0, 0x800)
+ }
+
+ Store(ShiftLeft(Derefof(Index(paui, 5)), bf74), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Index(paui, 6)), bf74), Local0)
+ m600(arg0, 31, Local0, 0x800)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(m601(1, 5), bf74), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftLeft(m601(1, 6), bf74), Local0)
+ m600(arg0, 33, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(Derefof(m602(1, 5, 1)), bf74), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftLeft(Derefof(m602(1, 6, 1)), bf74), Local0)
+ m600(arg0, 35, Local0, 0x800)
+ }
+
+ ShiftLeft(0, bf74, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftLeft(1, bf74, Local0)
+ m600(arg0, 37, Local0, 0x800)
+
+ ShiftLeft(aui5, bf74, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftLeft(aui6, bf74, Local0)
+ m600(arg0, 39, Local0, 0x800)
+
+ if (y078) {
+ ShiftLeft(Derefof(Refof(aui5)), bf74, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftLeft(Derefof(Refof(aui6)), bf74, Local0)
+ m600(arg0, 41, Local0, 0x800)
+ }
+
+ ShiftLeft(Derefof(Index(paui, 5)), bf74, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftLeft(Derefof(Index(paui, 6)), bf74, Local0)
+ m600(arg0, 43, Local0, 0x800)
+
+ // Method returns Integer
+
+ ShiftLeft(m601(1, 5), bf74, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftLeft(m601(1, 6), bf74, Local0)
+ m600(arg0, 45, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(Derefof(m602(1, 5, 1)), bf74, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftLeft(Derefof(m602(1, 6, 1)), bf74, Local0)
+ m600(arg0, 47, Local0, 0x800)
+ }
+
+ // Conversion of the both operands
+
+ Store(ShiftLeft(bf61, bf74), Local0)
+ m600(arg0, 48, Local0, 0x190800)
+
+ Store(ShiftLeft(bf65, bf74), Local0)
+ m600(arg0, 49, Local0, 0x85142000)
+
+ ShiftLeft(bf61, bf74, Local0)
+ m600(arg0, 50, Local0, 0x190800)
+
+ ShiftLeft(bf65, bf74, Local0)
+ m600(arg0, 51, Local0, 0x85142000)
+ }
+
+ // ShiftRight, common 32-bit/64-bit test
+ Method(m056, 1)
+ {
+ CreateField(b640, 0, 31, bf61)
+ CreateField(b641, 420, 33, bf74)
+
+ Store(Buffer(3){0x21, 0x03, 0x00}, bf61)
+ Store(0xb, bf74)
+
+ // Conversion of the first operand
+
+ Store(ShiftRight(bf61, 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(ShiftRight(bf61, 1), Local0)
+ m600(arg0, 1, Local0, 0x190)
+
+ Store(ShiftRight(bf61, aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(ShiftRight(bf61, aui6), Local0)
+ m600(arg0, 3, Local0, 0x190)
+
+ if (y078) {
+ Store(ShiftRight(bf61, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(ShiftRight(bf61, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x190)
+ }
+
+ Store(ShiftRight(bf61, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(ShiftRight(bf61, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x190)
+
+ // Method returns Integer
+
+ Store(ShiftRight(bf61, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(ShiftRight(bf61, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x190)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(bf61, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(ShiftRight(bf61, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x190)
+ }
+
+ ShiftRight(bf61, 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ ShiftRight(bf61, 1, Local0)
+ m600(arg0, 13, Local0, 0x190)
+
+ ShiftRight(bf61, aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ ShiftRight(bf61, aui6, Local0)
+ m600(arg0, 15, Local0, 0x190)
+
+ if (y078) {
+ ShiftRight(bf61, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ ShiftRight(bf61, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x190)
+ }
+
+ ShiftRight(bf61, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ ShiftRight(bf61, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x190)
+
+ // Method returns Integer
+
+ ShiftRight(bf61, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ ShiftRight(bf61, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x190)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(bf61, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ ShiftRight(bf61, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x190)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftRight(0x321, bf74), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftRight(0xd650a284, bf74), Local0)
+ m600(arg0, 25, Local0, 0x1aca14)
+
+ Store(ShiftRight(aui1, bf74), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftRight(auik, bf74), Local0)
+ m600(arg0, 27, Local0, 0x1aca14)
+
+ if (y078) {
+ Store(ShiftRight(Derefof(Refof(aui1)), bf74), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftRight(Derefof(Refof(auik)), bf74), Local0)
+ m600(arg0, 29, Local0, 0x1aca14)
+ }
+
+ Store(ShiftRight(Derefof(Index(paui, 1)), bf74), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftRight(Derefof(Index(paui, 20)), bf74), Local0)
+ m600(arg0, 31, Local0, 0x1aca14)
+
+ // Method returns Integer
+
+ Store(ShiftRight(m601(1, 1), bf74), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftRight(m601(1, 20), bf74), Local0)
+ m600(arg0, 33, Local0, 0x1aca14)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(Derefof(m602(1, 1, 1)), bf74), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftRight(Derefof(m602(1, 20, 1)), bf74), Local0)
+ m600(arg0, 35, Local0, 0x1aca14)
+ }
+
+ ShiftRight(0x321, bf74, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftRight(0xd650a284, bf74, Local0)
+ m600(arg0, 37, Local0, 0x1aca14)
+
+ ShiftRight(aui1, bf74, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftRight(auik, bf74, Local0)
+ m600(arg0, 39, Local0, 0x1aca14)
+
+ if (y078) {
+ ShiftRight(Derefof(Refof(aui1)), bf74, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftRight(Derefof(Refof(auik)), bf74, Local0)
+ m600(arg0, 41, Local0, 0x1aca14)
+ }
+
+ ShiftRight(Derefof(Index(paui, 1)), bf74, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftRight(Derefof(Index(paui, 20)), bf74, Local0)
+ m600(arg0, 43, Local0, 0x1aca14)
+
+ // Method returns Integer
+
+ ShiftRight(m601(1, 1), bf74, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftRight(m601(1, 20), bf74, Local0)
+ m600(arg0, 45, Local0, 0x1aca14)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(Derefof(m602(1, 1, 1)), bf74, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftRight(Derefof(m602(1, 20, 1)), bf74, Local0)
+ m600(arg0, 47, Local0, 0x1aca14)
+ }
+ }
+
+ // ShiftRight, 64-bit
+ Method(m057, 1)
+ {
+ CreateField(b640, 0, 31, bf61)
+ CreateField(b640, 159, 64, bf65)
+ CreateField(b641, 420, 33, bf74)
+
+ Store(Buffer(3){0x21, 0x03, 0x00}, bf61)
+ Store(Buffer(8){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, bf65)
+ Store(0xb, bf74)
+
+ // Conversion of the first operand
+
+ Store(ShiftRight(bf65, 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(bf65, 1), Local0)
+ m600(arg0, 1, Local0, 0x7f3e59c8eb285142)
+
+ Store(ShiftRight(bf65, aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(bf65, aui6), Local0)
+ m600(arg0, 3, Local0, 0x7f3e59c8eb285142)
+
+ if (y078) {
+ Store(ShiftRight(bf65, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(bf65, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x7f3e59c8eb285142)
+ }
+
+ Store(ShiftRight(bf65, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(bf65, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x7f3e59c8eb285142)
+
+ // Method returns Integer
+
+ Store(ShiftRight(bf65, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(bf65, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x7f3e59c8eb285142)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(bf65, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(bf65, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x7f3e59c8eb285142)
+ }
+
+ ShiftRight(bf65, 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(bf65, 1, Local0)
+ m600(arg0, 13, Local0, 0x7f3e59c8eb285142)
+
+ ShiftRight(bf65, aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(bf65, aui6, Local0)
+ m600(arg0, 15, Local0, 0x7f3e59c8eb285142)
+
+ if (y078) {
+ ShiftRight(bf65, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(bf65, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x7f3e59c8eb285142)
+ }
+
+ ShiftRight(bf65, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(bf65, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x7f3e59c8eb285142)
+
+ // Method returns Integer
+
+ ShiftRight(bf65, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(bf65, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x7f3e59c8eb285142)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(bf65, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(bf65, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x7f3e59c8eb285142)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftRight(0x321, bf74), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftRight(0xfe7cb391d650a284, bf74), Local0)
+ m600(arg0, 25, Local0, 0x1fcf96723aca14)
+
+ Store(ShiftRight(aui1, bf74), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftRight(aui4, bf74), Local0)
+ m600(arg0, 27, Local0, 0x1fcf96723aca14)
+
+ if (y078) {
+ Store(ShiftRight(Derefof(Refof(aui1)), bf74), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftRight(Derefof(Refof(aui4)), bf74), Local0)
+ m600(arg0, 29, Local0, 0x1fcf96723aca14)
+ }
+
+ Store(ShiftRight(Derefof(Index(paui, 1)), bf74), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftRight(Derefof(Index(paui, 4)), bf74), Local0)
+ m600(arg0, 31, Local0, 0x1fcf96723aca14)
+
+ // Method returns Integer
+
+ Store(ShiftRight(m601(1, 1), bf74), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftRight(m601(1, 4), bf74), Local0)
+ m600(arg0, 33, Local0, 0x1fcf96723aca14)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(Derefof(m602(1, 1, 1)), bf74), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftRight(Derefof(m602(1, 4, 1)), bf74), Local0)
+ m600(arg0, 35, Local0, 0x1fcf96723aca14)
+ }
+
+ ShiftRight(0x321, bf74, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftRight(0xfe7cb391d650a284, bf74, Local0)
+ m600(arg0, 37, Local0, 0x1fcf96723aca14)
+
+ ShiftRight(aui1, bf74, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftRight(aui4, bf74, Local0)
+ m600(arg0, 39, Local0, 0x1fcf96723aca14)
+
+ if (y078) {
+ ShiftRight(Derefof(Refof(aui1)), bf74, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftRight(Derefof(Refof(aui4)), bf74, Local0)
+ m600(arg0, 41, Local0, 0x1fcf96723aca14)
+ }
+
+ ShiftRight(Derefof(Index(paui, 1)), bf74, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftRight(Derefof(Index(paui, 4)), bf74, Local0)
+ m600(arg0, 43, Local0, 0x1fcf96723aca14)
+
+ // Method returns Integer
+
+ ShiftRight(m601(1, 1), bf74, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftRight(m601(1, 4), bf74, Local0)
+ m600(arg0, 45, Local0, 0x1fcf96723aca14)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(Derefof(m602(1, 1, 1)), bf74, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftRight(Derefof(m602(1, 4, 1)), bf74, Local0)
+ m600(arg0, 47, Local0, 0x1fcf96723aca14)
+ }
+
+ // Conversion of the both operands
+
+ Store(ShiftRight(bf61, bf74), Local0)
+ m600(arg0, 48, Local0, 0)
+
+ Store(ShiftRight(bf65, bf74), Local0)
+ m600(arg0, 49, Local0, 0x1fcf96723aca14)
+
+ ShiftRight(bf61, bf74, Local0)
+ m600(arg0, 50, Local0, 0)
+
+ ShiftRight(bf65, bf74, Local0)
+ m600(arg0, 51, Local0, 0x1fcf96723aca14)
+ }
+
+ // ShiftRight, 32-bit
+ Method(m058, 1)
+ {
+ CreateField(b640, 0, 31, bf61)
+ CreateField(b640, 159, 64, bf65)
+ CreateField(b641, 420, 33, bf74)
+
+ Store(Buffer(3){0x21, 0x03, 0x00}, bf61)
+ Store(Buffer(8){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, bf65)
+ Store(0xb, bf74)
+
+ // Conversion of the first operand
+
+ Store(ShiftRight(bf65, 0), Local0)
+ m600(arg0, 0, Local0, 0xd650a284)
+
+ Store(ShiftRight(bf65, 1), Local0)
+ m600(arg0, 1, Local0, 0x6b285142)
+
+ Store(ShiftRight(bf65, aui5), Local0)
+ m600(arg0, 2, Local0, 0xd650a284)
+
+ Store(ShiftRight(bf65, aui6), Local0)
+ m600(arg0, 3, Local0, 0x6b285142)
+
+ if (y078) {
+ Store(ShiftRight(bf65, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xd650a284)
+
+ Store(ShiftRight(bf65, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x6b285142)
+ }
+
+ Store(ShiftRight(bf65, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xd650a284)
+
+ Store(ShiftRight(bf65, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x6b285142)
+
+ // Method returns Integer
+
+ Store(ShiftRight(bf65, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xd650a284)
+
+ Store(ShiftRight(bf65, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x6b285142)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(bf65, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xd650a284)
+
+ Store(ShiftRight(bf65, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x6b285142)
+ }
+
+ ShiftRight(bf65, 0, Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ ShiftRight(bf65, 1, Local0)
+ m600(arg0, 13, Local0, 0x6b285142)
+
+ ShiftRight(bf65, aui5, Local0)
+ m600(arg0, 14, Local0, 0xd650a284)
+
+ ShiftRight(bf65, aui6, Local0)
+ m600(arg0, 15, Local0, 0x6b285142)
+
+ if (y078) {
+ ShiftRight(bf65, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xd650a284)
+
+ ShiftRight(bf65, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x6b285142)
+ }
+
+ ShiftRight(bf65, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xd650a284)
+
+ ShiftRight(bf65, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x6b285142)
+
+ // Method returns Integer
+
+ ShiftRight(bf65, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xd650a284)
+
+ ShiftRight(bf65, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x6b285142)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(bf65, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xd650a284)
+
+ ShiftRight(bf65, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x6b285142)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftRight(0x321, bf74), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftRight(0xd650a284, bf74), Local0)
+ m600(arg0, 25, Local0, 0x1aca14)
+
+ Store(ShiftRight(aui1, bf74), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftRight(auik, bf74), Local0)
+ m600(arg0, 27, Local0, 0x1aca14)
+
+ if (y078) {
+ Store(ShiftRight(Derefof(Refof(aui1)), bf74), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftRight(Derefof(Refof(auik)), bf74), Local0)
+ m600(arg0, 29, Local0, 0x1aca14)
+ }
+
+ Store(ShiftRight(Derefof(Index(paui, 1)), bf74), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftRight(Derefof(Index(paui, 20)), bf74), Local0)
+ m600(arg0, 31, Local0, 0x1aca14)
+
+ // Method returns Integer
+
+ Store(ShiftRight(m601(1, 1), bf74), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftRight(m601(1, 20), bf74), Local0)
+ m600(arg0, 33, Local0, 0x1aca14)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(Derefof(m602(1, 1, 1)), bf74), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftRight(Derefof(m602(1, 20, 1)), bf74), Local0)
+ m600(arg0, 35, Local0, 0x1aca14)
+ }
+
+ ShiftRight(0x321, bf74, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftRight(0xd650a284, bf74, Local0)
+ m600(arg0, 37, Local0, 0x1aca14)
+
+ ShiftRight(aui1, bf74, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftRight(auik, bf74, Local0)
+ m600(arg0, 39, Local0, 0x1aca14)
+
+ if (y078) {
+ ShiftRight(Derefof(Refof(aui1)), bf74, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftRight(Derefof(Refof(auik)), bf74, Local0)
+ m600(arg0, 41, Local0, 0x1aca14)
+ }
+
+ ShiftRight(Derefof(Index(paui, 1)), bf74, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftRight(Derefof(Index(paui, 20)), bf74, Local0)
+ m600(arg0, 43, Local0, 0x1aca14)
+
+ // Method returns Integer
+
+ ShiftRight(m601(1, 1), bf74, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftRight(m601(1, 20), bf74, Local0)
+ m600(arg0, 45, Local0, 0x1aca14)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(Derefof(m602(1, 1, 1)), bf74, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftRight(Derefof(m602(1, 20, 1)), bf74, Local0)
+ m600(arg0, 47, Local0, 0x1aca14)
+ }
+
+ // Conversion of the both operands
+
+ Store(ShiftRight(bf61, bf74), Local0)
+ m600(arg0, 48, Local0, 0)
+
+ Store(ShiftRight(bf65, bf74), Local0)
+ m600(arg0, 49, Local0, 0x1aca14)
+
+ ShiftRight(bf61, bf74, Local0)
+ m600(arg0, 50, Local0, 0)
+
+ ShiftRight(bf65, bf74, Local0)
+ m600(arg0, 51, Local0, 0x1aca14)
+ }
+
+ // Subtract, common 32-bit/64-bit test
+ Method(m059, 1)
+ {
+ CreateField(b640, 0, 31, bf61)
+
+ Store(Buffer(3){0x21, 0x03, 0x00}, bf61)
+
+ // Conversion of the first operand
+
+ Store(Subtract(bf61, 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Subtract(bf61, 1), Local0)
+ m600(arg0, 1, Local0, 0x320)
+
+ Store(Subtract(bf61, aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Subtract(bf61, aui6), Local0)
+ m600(arg0, 3, Local0, 0x320)
+
+ if (y078) {
+ Store(Subtract(bf61, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Subtract(bf61, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x320)
+ }
+
+ Store(Subtract(bf61, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Subtract(bf61, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x320)
+
+ // Method returns Integer
+
+ Store(Subtract(bf61, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Subtract(bf61, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x320)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(bf61, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Subtract(bf61, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x320)
+ }
+
+ Subtract(bf61, 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Subtract(bf61, 1, Local0)
+ m600(arg0, 13, Local0, 0x320)
+
+ Subtract(bf61, aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Subtract(bf61, aui6, Local0)
+ m600(arg0, 15, Local0, 0x320)
+
+ if (y078) {
+ Subtract(bf61, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Subtract(bf61, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x320)
+ }
+
+ Subtract(bf61, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Subtract(bf61, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x320)
+
+ // Method returns Integer
+
+ Subtract(bf61, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Subtract(bf61, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x320)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(bf61, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Subtract(bf61, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x320)
+ }
+
+ // Conversion of the second operand
+
+ Store(Subtract(0, bf61), Local0)
+ m600(arg0, 24, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(1, bf61), Local0)
+ m600(arg0, 25, Local0, 0xfffffffffffffce0)
+
+ Store(Subtract(aui5, bf61), Local0)
+ m600(arg0, 26, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(aui6, bf61), Local0)
+ m600(arg0, 27, Local0, 0xfffffffffffffce0)
+
+ if (y078) {
+ Store(Subtract(Derefof(Refof(aui5)), bf61), Local0)
+ m600(arg0, 28, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(Derefof(Refof(aui6)), bf61), Local0)
+ m600(arg0, 29, Local0, 0xfffffffffffffce0)
+ }
+
+ Store(Subtract(Derefof(Index(paui, 5)), bf61), Local0)
+ m600(arg0, 30, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(Derefof(Index(paui, 6)), bf61), Local0)
+ m600(arg0, 31, Local0, 0xfffffffffffffce0)
+
+ // Method returns Integer
+
+ Store(Subtract(m601(1, 5), bf61), Local0)
+ m600(arg0, 32, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(m601(1, 6), bf61), Local0)
+ m600(arg0, 33, Local0, 0xfffffffffffffce0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(Derefof(m602(1, 5, 1)), bf61), Local0)
+ m600(arg0, 34, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(Derefof(m602(1, 6, 1)), bf61), Local0)
+ m600(arg0, 35, Local0, 0xfffffffffffffce0)
+ }
+
+ Subtract(0, bf61, Local0)
+ m600(arg0, 36, Local0, 0xfffffffffffffcdf)
+
+ Subtract(1, bf61, Local0)
+ m600(arg0, 37, Local0, 0xfffffffffffffce0)
+
+ Subtract(aui5, bf61, Local0)
+ m600(arg0, 38, Local0, 0xfffffffffffffcdf)
+
+ Subtract(aui6, bf61, Local0)
+ m600(arg0, 39, Local0, 0xfffffffffffffce0)
+
+ if (y078) {
+ Subtract(Derefof(Refof(aui5)), bf61, Local0)
+ m600(arg0, 40, Local0, 0xfffffffffffffcdf)
+
+ Subtract(Derefof(Refof(aui6)), bf61, Local0)
+ m600(arg0, 41, Local0, 0xfffffffffffffce0)
+ }
+
+ Subtract(Derefof(Index(paui, 5)), bf61, Local0)
+ m600(arg0, 42, Local0, 0xfffffffffffffcdf)
+
+ Subtract(Derefof(Index(paui, 6)), bf61, Local0)
+ m600(arg0, 43, Local0, 0xfffffffffffffce0)
+
+ // Method returns Integer
+
+ Subtract(m601(1, 5), bf61, Local0)
+ m600(arg0, 44, Local0, 0xfffffffffffffcdf)
+
+ Subtract(m601(1, 6), bf61, Local0)
+ m600(arg0, 45, Local0, 0xfffffffffffffce0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(Derefof(m602(1, 5, 1)), bf61, Local0)
+ m600(arg0, 46, Local0, 0xfffffffffffffcdf)
+
+ Subtract(Derefof(m602(1, 6, 1)), bf61, Local0)
+ m600(arg0, 47, Local0, 0xfffffffffffffce0)
+ }
+ }
+
+ // Subtract, 64-bit
+ Method(m05a, 1)
+ {
+ CreateField(b640, 0, 31, bf61)
+ CreateField(b640, 159, 64, bf65)
+
+ Store(Buffer(3){0x21, 0x03, 0x00}, bf61)
+ Store(Buffer(8){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, bf65)
+
+ // Conversion of the first operand
+
+ Store(Subtract(bf65, 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(bf65, 1), Local0)
+ m600(arg0, 1, Local0, 0xfe7cb391d650a283)
+
+ Store(Subtract(bf65, aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(bf65, aui6), Local0)
+ m600(arg0, 3, Local0, 0xfe7cb391d650a283)
+
+ if (y078) {
+ Store(Subtract(bf65, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(bf65, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xfe7cb391d650a283)
+ }
+
+ Store(Subtract(bf65, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(bf65, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Integer
+
+ Store(Subtract(bf65, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(bf65, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(bf65, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(bf65, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfe7cb391d650a283)
+ }
+
+ Subtract(bf65, 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Subtract(bf65, 1, Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a283)
+
+ Subtract(bf65, aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Subtract(bf65, aui6, Local0)
+ m600(arg0, 15, Local0, 0xfe7cb391d650a283)
+
+ if (y078) {
+ Subtract(bf65, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Subtract(bf65, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xfe7cb391d650a283)
+ }
+
+ Subtract(bf65, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Subtract(bf65, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Integer
+
+ Subtract(bf65, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Subtract(bf65, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(bf65, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Subtract(bf65, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfe7cb391d650a283)
+ }
+
+ // Conversion of the second operand
+
+ Store(Subtract(0, bf65), Local0)
+ m600(arg0, 24, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(1, bf65), Local0)
+ m600(arg0, 25, Local0, 0x01834c6e29af5d7d)
+
+ Store(Subtract(aui5, bf65), Local0)
+ m600(arg0, 26, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(aui6, bf65), Local0)
+ m600(arg0, 27, Local0, 0x01834c6e29af5d7d)
+
+ if (y078) {
+ Store(Subtract(Derefof(Refof(aui5)), bf65), Local0)
+ m600(arg0, 28, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(Derefof(Refof(aui6)), bf65), Local0)
+ m600(arg0, 29, Local0, 0x01834c6e29af5d7d)
+ }
+
+ Store(Subtract(Derefof(Index(paui, 5)), bf65), Local0)
+ m600(arg0, 30, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(Derefof(Index(paui, 6)), bf65), Local0)
+ m600(arg0, 31, Local0, 0x01834c6e29af5d7d)
+
+ // Method returns Integer
+
+ Store(Subtract(m601(1, 5), bf65), Local0)
+ m600(arg0, 32, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(m601(1, 6), bf65), Local0)
+ m600(arg0, 33, Local0, 0x01834c6e29af5d7d)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(Derefof(m602(1, 5, 1)), bf65), Local0)
+ m600(arg0, 34, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(Derefof(m602(1, 6, 1)), bf65), Local0)
+ m600(arg0, 35, Local0, 0x01834c6e29af5d7d)
+ }
+
+ Subtract(0, bf65, Local0)
+ m600(arg0, 36, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(1, bf65, Local0)
+ m600(arg0, 37, Local0, 0x01834c6e29af5d7d)
+
+ Subtract(aui5, bf65, Local0)
+ m600(arg0, 38, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(aui6, bf65, Local0)
+ m600(arg0, 39, Local0, 0x01834c6e29af5d7d)
+
+ if (y078) {
+ Subtract(Derefof(Refof(aui5)), bf65, Local0)
+ m600(arg0, 40, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(Derefof(Refof(aui6)), bf65, Local0)
+ m600(arg0, 41, Local0, 0x01834c6e29af5d7d)
+ }
+
+ Subtract(Derefof(Index(paui, 5)), bf65, Local0)
+ m600(arg0, 42, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(Derefof(Index(paui, 6)), bf65, Local0)
+ m600(arg0, 43, Local0, 0x01834c6e29af5d7d)
+
+ // Method returns Integer
+
+ Subtract(m601(1, 5), bf65, Local0)
+ m600(arg0, 44, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(m601(1, 6), bf65, Local0)
+ m600(arg0, 45, Local0, 0x01834c6e29af5d7d)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(Derefof(m602(1, 5, 1)), bf65, Local0)
+ m600(arg0, 46, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(Derefof(m602(1, 6, 1)), bf65, Local0)
+ m600(arg0, 47, Local0, 0x01834c6e29af5d7d)
+ }
+
+ // Conversion of the both operands
+
+ Store(Subtract(bf61, bf65), Local0)
+ m600(arg0, 48, Local0, 0x01834c6e29af609d)
+
+ Store(Subtract(bf65, bf61), Local0)
+ m600(arg0, 49, Local0, 0xfe7cb391d6509f63)
+
+ Subtract(bf61, bf65, Local0)
+ m600(arg0, 50, Local0, 0x01834c6e29af609d)
+
+ Subtract(bf65, bf61, Local0)
+ m600(arg0, 51, Local0, 0xfe7cb391d6509f63)
+ }
+
+ // Subtract, 32-bit
+ Method(m05b, 1)
+ {
+ CreateField(b640, 0, 31, bf61)
+ CreateField(b640, 159, 64, bf65)
+
+ Store(Buffer(3){0x21, 0x03, 0x00}, bf61)
+ Store(Buffer(8){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, bf65)
+
+ // Conversion of the first operand
+
+ Store(Subtract(bf65, 0), Local0)
+ m600(arg0, 0, Local0, 0xd650a284)
+
+ Store(Subtract(bf65, 1), Local0)
+ m600(arg0, 1, Local0, 0xd650a283)
+
+ Store(Subtract(bf65, aui5), Local0)
+ m600(arg0, 2, Local0, 0xd650a284)
+
+ Store(Subtract(bf65, aui6), Local0)
+ m600(arg0, 3, Local0, 0xd650a283)
+
+ if (y078) {
+ Store(Subtract(bf65, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xd650a284)
+
+ Store(Subtract(bf65, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xd650a283)
+ }
+
+ Store(Subtract(bf65, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xd650a284)
+
+ Store(Subtract(bf65, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xd650a283)
+
+ // Method returns Integer
+
+ Store(Subtract(bf65, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xd650a284)
+
+ Store(Subtract(bf65, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xd650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(bf65, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xd650a284)
+
+ Store(Subtract(bf65, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xd650a283)
+ }
+
+ Subtract(bf65, 0, Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ Subtract(bf65, 1, Local0)
+ m600(arg0, 13, Local0, 0xd650a283)
+
+ Subtract(bf65, aui5, Local0)
+ m600(arg0, 14, Local0, 0xd650a284)
+
+ Subtract(bf65, aui6, Local0)
+ m600(arg0, 15, Local0, 0xd650a283)
+
+ if (y078) {
+ Subtract(bf65, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xd650a284)
+
+ Subtract(bf65, Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xd650a283)
+ }
+
+ Subtract(bf65, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xd650a284)
+
+ Subtract(bf65, Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xd650a283)
+
+ // Method returns Integer
+
+ Subtract(bf65, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xd650a284)
+
+ Subtract(bf65, m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xd650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(bf65, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xd650a284)
+
+ Subtract(bf65, Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xd650a283)
+ }
+
+ // Conversion of the second operand
+
+ Store(Subtract(0, bf65), Local0)
+ m600(arg0, 24, Local0, 0x29af5d7c)
+
+ Store(Subtract(1, bf65), Local0)
+ m600(arg0, 25, Local0, 0x29af5d7d)
+
+ Store(Subtract(aui5, bf65), Local0)
+ m600(arg0, 26, Local0, 0x29af5d7c)
+
+ Store(Subtract(aui6, bf65), Local0)
+ m600(arg0, 27, Local0, 0x29af5d7d)
+
+ if (y078) {
+ Store(Subtract(Derefof(Refof(aui5)), bf65), Local0)
+ m600(arg0, 28, Local0, 0x29af5d7c)
+
+ Store(Subtract(Derefof(Refof(aui6)), bf65), Local0)
+ m600(arg0, 29, Local0, 0x29af5d7d)
+ }
+
+ Store(Subtract(Derefof(Index(paui, 5)), bf65), Local0)
+ m600(arg0, 30, Local0, 0x29af5d7c)
+
+ Store(Subtract(Derefof(Index(paui, 6)), bf65), Local0)
+ m600(arg0, 31, Local0, 0x29af5d7d)
+
+ // Method returns Integer
+
+ Store(Subtract(m601(1, 5), bf65), Local0)
+ m600(arg0, 32, Local0, 0x29af5d7c)
+
+ Store(Subtract(m601(1, 6), bf65), Local0)
+ m600(arg0, 33, Local0, 0x29af5d7d)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(Derefof(m602(1, 5, 1)), bf65), Local0)
+ m600(arg0, 34, Local0, 0x29af5d7c)
+
+ Store(Subtract(Derefof(m602(1, 6, 1)), bf65), Local0)
+ m600(arg0, 35, Local0, 0x29af5d7d)
+ }
+
+ Subtract(0, bf65, Local0)
+ m600(arg0, 36, Local0, 0x29af5d7c)
+
+ Subtract(1, bf65, Local0)
+ m600(arg0, 37, Local0, 0x29af5d7d)
+
+ Subtract(aui5, bf65, Local0)
+ m600(arg0, 38, Local0, 0x29af5d7c)
+
+ Subtract(aui6, bf65, Local0)
+ m600(arg0, 39, Local0, 0x29af5d7d)
+
+ if (y078) {
+ Subtract(Derefof(Refof(aui5)), bf65, Local0)
+ m600(arg0, 40, Local0, 0x29af5d7c)
+
+ Subtract(Derefof(Refof(aui6)), bf65, Local0)
+ m600(arg0, 41, Local0, 0x29af5d7d)
+ }
+
+ Subtract(Derefof(Index(paui, 5)), bf65, Local0)
+ m600(arg0, 42, Local0, 0x29af5d7c)
+
+ Subtract(Derefof(Index(paui, 6)), bf65, Local0)
+ m600(arg0, 43, Local0, 0x29af5d7d)
+
+ // Method returns Integer
+
+ Subtract(m601(1, 5), bf65, Local0)
+ m600(arg0, 44, Local0, 0x29af5d7c)
+
+ Subtract(m601(1, 6), bf65, Local0)
+ m600(arg0, 45, Local0, 0x29af5d7d)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(Derefof(m602(1, 5, 1)), bf65, Local0)
+ m600(arg0, 46, Local0, 0x29af5d7c)
+
+ Subtract(Derefof(m602(1, 6, 1)), bf65, Local0)
+ m600(arg0, 47, Local0, 0x29af5d7d)
+ }
+
+ // Conversion of the both operands
+
+ Store(Subtract(bf61, bf65), Local0)
+ m600(arg0, 48, Local0, 0x29af609d)
+
+ Store(Subtract(bf65, bf61), Local0)
+ m600(arg0, 49, Local0, 0xd6509f63)
+
+ Subtract(bf61, bf65, Local0)
+ m600(arg0, 50, Local0, 0x29af609d)
+
+ Subtract(bf65, bf61, Local0)
+ m600(arg0, 51, Local0, 0xd6509f63)
+ }
+
+ // XOr, common 32-bit/64-bit test
+ Method(m05c, 1)
+ {
+ CreateField(b640, 0, 31, bf61)
+ CreateField(b640, 159, 64, bf65)
+
+ Store(Buffer(3){0x21, 0x03, 0x00}, bf61)
+ Store(Buffer(8){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, bf65)
+
+ // Conversion of the first operand
+
+ Store(XOr(bf61, 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(XOr(bf61, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xfffffffffffffcde)
+
+ Store(XOr(bf61, aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(XOr(bf61, auij), Local0)
+ m600(arg0, 3, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ Store(XOr(bf61, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(XOr(bf61, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xfffffffffffffcde)
+ }
+
+ Store(XOr(bf61, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(XOr(bf61, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ Store(XOr(bf61, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(XOr(bf61, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(bf61, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(XOr(bf61, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfffffffffffffcde)
+ }
+
+ XOr(bf61, 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ XOr(bf61, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xfffffffffffffcde)
+
+ XOr(bf61, aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ XOr(bf61, auij, Local0)
+ m600(arg0, 15, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ XOr(bf61, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ XOr(bf61, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xfffffffffffffcde)
+ }
+
+ XOr(bf61, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ XOr(bf61, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ XOr(bf61, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ XOr(bf61, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(bf61, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ XOr(bf61, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfffffffffffffcde)
+ }
+
+ // Conversion of the second operand
+
+ Store(XOr(0, bf61), Local0)
+ m600(arg0, 24, Local0, 0x321)
+
+ Store(XOr(0xffffffffffffffff, bf61), Local0)
+ m600(arg0, 25, Local0, 0xfffffffffffffcde)
+
+ Store(XOr(aui5, bf61), Local0)
+ m600(arg0, 26, Local0, 0x321)
+
+ Store(XOr(auij, bf61), Local0)
+ m600(arg0, 27, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ Store(XOr(Derefof(Refof(aui5)), bf61), Local0)
+ m600(arg0, 28, Local0, 0x321)
+
+ Store(XOr(Derefof(Refof(auij)), bf61), Local0)
+ m600(arg0, 29, Local0, 0xfffffffffffffcde)
+ }
+
+ Store(XOr(Derefof(Index(paui, 5)), bf61), Local0)
+ m600(arg0, 30, Local0, 0x321)
+
+ Store(XOr(Derefof(Index(paui, 19)), bf61), Local0)
+ m600(arg0, 31, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ Store(XOr(m601(1, 5), bf61), Local0)
+ m600(arg0, 32, Local0, 0x321)
+
+ Store(XOr(m601(1, 19), bf61), Local0)
+ m600(arg0, 33, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(Derefof(m602(1, 5, 1)), bf61), Local0)
+ m600(arg0, 34, Local0, 0x321)
+
+ Store(XOr(Derefof(m602(1, 19, 1)), bf61), Local0)
+ m600(arg0, 35, Local0, 0xfffffffffffffcde)
+ }
+
+ XOr(0, bf61, Local0)
+ m600(arg0, 36, Local0, 0x321)
+
+ XOr(0xffffffffffffffff, bf61, Local0)
+ m600(arg0, 37, Local0, 0xfffffffffffffcde)
+
+ XOr(aui5, bf61, Local0)
+ m600(arg0, 38, Local0, 0x321)
+
+ XOr(auij, bf61, Local0)
+ m600(arg0, 39, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ XOr(Derefof(Refof(aui5)), bf61, Local0)
+ m600(arg0, 40, Local0, 0x321)
+
+ XOr(Derefof(Refof(auij)), bf61, Local0)
+ m600(arg0, 41, Local0, 0xfffffffffffffcde)
+ }
+
+ XOr(Derefof(Index(paui, 5)), bf61, Local0)
+ m600(arg0, 42, Local0, 0x321)
+
+ XOr(Derefof(Index(paui, 19)), bf61, Local0)
+ m600(arg0, 43, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ XOr(m601(1, 5), bf61, Local0)
+ m600(arg0, 44, Local0, 0x321)
+
+ XOr(m601(1, 19), bf61, Local0)
+ m600(arg0, 45, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(Derefof(m602(1, 5, 1)), bf61, Local0)
+ m600(arg0, 46, Local0, 0x321)
+
+ XOr(Derefof(m602(1, 19, 1)), bf61, Local0)
+ m600(arg0, 47, Local0, 0xfffffffffffffcde)
+ }
+ }
+
+ // XOr, 64-bit
+ Method(m05d, 1)
+ {
+ CreateField(b640, 0, 31, bf61)
+ CreateField(b640, 159, 64, bf65)
+
+ Store(Buffer(3){0x21, 0x03, 0x00}, bf61)
+ Store(Buffer(8){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, bf65)
+
+ // Conversion of the first operand
+
+ Store(XOr(bf65, 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(bf65, 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0x01834c6e29af5d7b)
+
+ Store(XOr(bf65, aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(bf65, auij), Local0)
+ m600(arg0, 3, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ Store(XOr(bf65, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(bf65, Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Store(XOr(bf65, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(bf65, Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ Store(XOr(bf65, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(bf65, m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(bf65, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(bf65, Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0x01834c6e29af5d7b)
+ }
+
+ XOr(bf65, 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ XOr(bf65, 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0x01834c6e29af5d7b)
+
+ XOr(bf65, aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ XOr(bf65, auij, Local0)
+ m600(arg0, 15, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ XOr(bf65, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ XOr(bf65, Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0x01834c6e29af5d7b)
+ }
+
+ XOr(bf65, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ XOr(bf65, Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ XOr(bf65, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ XOr(bf65, m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(bf65, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ XOr(bf65, Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0x01834c6e29af5d7b)
+ }
+
+ // Conversion of the second operand
+
+ Store(XOr(0, bf65), Local0)
+ m600(arg0, 24, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(0xffffffffffffffff, bf65), Local0)
+ m600(arg0, 25, Local0, 0x01834c6e29af5d7b)
+
+ Store(XOr(aui5, bf65), Local0)
+ m600(arg0, 26, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(auij, bf65), Local0)
+ m600(arg0, 27, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ Store(XOr(Derefof(Refof(aui5)), bf65), Local0)
+ m600(arg0, 28, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(Refof(auij)), bf65), Local0)
+ m600(arg0, 29, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Store(XOr(Derefof(Index(paui, 5)), bf65), Local0)
+ m600(arg0, 30, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(Index(paui, 19)), bf65), Local0)
+ m600(arg0, 31, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ Store(XOr(m601(1, 5), bf65), Local0)
+ m600(arg0, 32, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(m601(1, 19), bf65), Local0)
+ m600(arg0, 33, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(Derefof(m602(1, 5, 1)), bf65), Local0)
+ m600(arg0, 34, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(m602(1, 19, 1)), bf65), Local0)
+ m600(arg0, 35, Local0, 0x01834c6e29af5d7b)
+ }
+
+ XOr(0, bf65, Local0)
+ m600(arg0, 36, Local0, 0xfe7cb391d650a284)
+
+ XOr(0xffffffffffffffff, bf65, Local0)
+ m600(arg0, 37, Local0, 0x01834c6e29af5d7b)
+
+ XOr(aui5, bf65, Local0)
+ m600(arg0, 38, Local0, 0xfe7cb391d650a284)
+
+ XOr(auij, bf65, Local0)
+ m600(arg0, 39, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ XOr(Derefof(Refof(aui5)), bf65, Local0)
+ m600(arg0, 40, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(Refof(auij)), bf65, Local0)
+ m600(arg0, 41, Local0, 0x01834c6e29af5d7b)
+ }
+
+ XOr(Derefof(Index(paui, 5)), bf65, Local0)
+ m600(arg0, 42, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(Index(paui, 19)), bf65, Local0)
+ m600(arg0, 43, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ XOr(m601(1, 5), bf65, Local0)
+ m600(arg0, 44, Local0, 0xfe7cb391d650a284)
+
+ XOr(m601(1, 19), bf65, Local0)
+ m600(arg0, 45, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(Derefof(m602(1, 5, 1)), bf65, Local0)
+ m600(arg0, 46, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(m602(1, 19, 1)), bf65, Local0)
+ m600(arg0, 47, Local0, 0x01834c6e29af5d7b)
+ }
+
+ // Conversion of the both operands
+
+ Store(XOr(bf61, bf65), Local0)
+ m600(arg0, 48, Local0, 0xfe7cb391d650a1a5)
+
+ Store(XOr(bf65, bf61), Local0)
+ m600(arg0, 49, Local0, 0xfe7cb391d650a1a5)
+
+ XOr(bf61, bf65, Local0)
+ m600(arg0, 50, Local0, 0xfe7cb391d650a1a5)
+
+ XOr(bf65, bf61, Local0)
+ m600(arg0, 51, Local0, 0xfe7cb391d650a1a5)
+ }
+
+ // XOr, 32-bit
+ Method(m05e, 1)
+ {
+ CreateField(b640, 0, 31, bf61)
+ CreateField(b640, 159, 64, bf65)
+
+ Store(Buffer(3){0x21, 0x03, 0x00}, bf61)
+ Store(Buffer(8){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, bf65)
+
+ // Conversion of the first operand
+
+ Store(XOr(bf65, 0), Local0)
+ m600(arg0, 0, Local0, 0xd650a284)
+
+ Store(XOr(bf65, 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0x29af5d7b)
+
+ Store(XOr(bf65, aui5), Local0)
+ m600(arg0, 2, Local0, 0xd650a284)
+
+ Store(XOr(bf65, auii), Local0)
+ m600(arg0, 3, Local0, 0x29af5d7b)
+
+ if (y078) {
+ Store(XOr(bf65, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xd650a284)
+
+ Store(XOr(bf65, Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0x29af5d7b)
+ }
+
+ Store(XOr(bf65, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xd650a284)
+
+ Store(XOr(bf65, Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0x29af5d7b)
+
+ // Method returns Integer
+
+ Store(XOr(bf65, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xd650a284)
+
+ Store(XOr(bf65, m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0x29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(bf65, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xd650a284)
+
+ Store(XOr(bf65, Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0x29af5d7b)
+ }
+
+ XOr(bf65, 0, Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ XOr(bf65, 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0x29af5d7b)
+
+ XOr(bf65, aui5, Local0)
+ m600(arg0, 14, Local0, 0xd650a284)
+
+ XOr(bf65, auii, Local0)
+ m600(arg0, 15, Local0, 0x29af5d7b)
+
+ if (y078) {
+ XOr(bf65, Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xd650a284)
+
+ XOr(bf65, Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0x29af5d7b)
+ }
+
+ XOr(bf65, Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xd650a284)
+
+ XOr(bf65, Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0x29af5d7b)
+
+ // Method returns Integer
+
+ XOr(bf65, m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xd650a284)
+
+ XOr(bf65, m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0x29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(bf65, Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xd650a284)
+
+ XOr(bf65, Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0x29af5d7b)
+ }
+
+ // Conversion of the second operand
+
+ Store(XOr(0, bf65), Local0)
+ m600(arg0, 24, Local0, 0xd650a284)
+
+ Store(XOr(0xffffffff, bf65), Local0)
+ m600(arg0, 25, Local0, 0x29af5d7b)
+
+ Store(XOr(aui5, bf65), Local0)
+ m600(arg0, 26, Local0, 0xd650a284)
+
+ Store(XOr(auii, bf65), Local0)
+ m600(arg0, 27, Local0, 0x29af5d7b)
+
+ if (y078) {
+ Store(XOr(Derefof(Refof(aui5)), bf65), Local0)
+ m600(arg0, 28, Local0, 0xd650a284)
+
+ Store(XOr(Derefof(Refof(auii)), bf65), Local0)
+ m600(arg0, 29, Local0, 0x29af5d7b)
+ }
+
+ Store(XOr(Derefof(Index(paui, 5)), bf65), Local0)
+ m600(arg0, 30, Local0, 0xd650a284)
+
+ Store(XOr(Derefof(Index(paui, 18)), bf65), Local0)
+ m600(arg0, 31, Local0, 0x29af5d7b)
+
+ // Method returns Integer
+
+ Store(XOr(m601(1, 5), bf65), Local0)
+ m600(arg0, 32, Local0, 0xd650a284)
+
+ Store(XOr(m601(1, 18), bf65), Local0)
+ m600(arg0, 33, Local0, 0x29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(Derefof(m602(1, 5, 1)), bf65), Local0)
+ m600(arg0, 34, Local0, 0xd650a284)
+
+ Store(XOr(Derefof(m602(1, 18, 1)), bf65), Local0)
+ m600(arg0, 35, Local0, 0x29af5d7b)
+ }
+
+ XOr(0, bf65, Local0)
+ m600(arg0, 36, Local0, 0xd650a284)
+
+ XOr(0xffffffff, bf65, Local0)
+ m600(arg0, 37, Local0, 0x29af5d7b)
+
+ XOr(aui5, bf65, Local0)
+ m600(arg0, 38, Local0, 0xd650a284)
+
+ XOr(auii, bf65, Local0)
+ m600(arg0, 39, Local0, 0x29af5d7b)
+
+ if (y078) {
+ XOr(Derefof(Refof(aui5)), bf65, Local0)
+ m600(arg0, 40, Local0, 0xd650a284)
+
+ XOr(Derefof(Refof(auii)), bf65, Local0)
+ m600(arg0, 41, Local0, 0x29af5d7b)
+ }
+
+ XOr(Derefof(Index(paui, 5)), bf65, Local0)
+ m600(arg0, 42, Local0, 0xd650a284)
+
+ XOr(Derefof(Index(paui, 18)), bf65, Local0)
+ m600(arg0, 43, Local0, 0x29af5d7b)
+
+ // Method returns Integer
+
+ XOr(m601(1, 5), bf65, Local0)
+ m600(arg0, 44, Local0, 0xd650a284)
+
+ XOr(m601(1, 18), bf65, Local0)
+ m600(arg0, 45, Local0, 0x29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(Derefof(m602(1, 5, 1)), bf65, Local0)
+ m600(arg0, 46, Local0, 0xd650a284)
+
+ XOr(Derefof(m602(1, 18, 1)), bf65, Local0)
+ m600(arg0, 47, Local0, 0x29af5d7b)
+ }
+
+ // Conversion of the both operands
+
+ Store(XOr(bf61, bf65), Local0)
+ m600(arg0, 48, Local0, 0xd650a1a5)
+
+ Store(XOr(bf65, bf61), Local0)
+ m600(arg0, 49, Local0, 0xd650a1a5)
+
+ XOr(bf61, bf65, Local0)
+ m600(arg0, 50, Local0, 0xd650a1a5)
+
+ XOr(bf65, bf61, Local0)
+ m600(arg0, 51, Local0, 0xd650a1a5)
+ }
+
+ // Add, And, Divide, Mod, Multiply, NAnd, NOr, Or,
+ // ShiftLeft, ShiftRight, Subtract, Xor
+
+ Method(m64n, 1)
+ {
+ // Add
+ Concatenate(arg0, "-m03b", Local0)
+ SRMT(Local0)
+ m03b(Local0)
+ Concatenate(arg0, "-m03c", Local0)
+ SRMT(Local0)
+ m03c(Local0)
+
+ // And
+ Concatenate(arg0, "-m03e", Local0)
+ SRMT(Local0)
+ m03e(Local0)
+ Concatenate(arg0, "-m03f", Local0)
+ SRMT(Local0)
+ m03f(Local0)
+
+ // Divide
+ Concatenate(arg0, "-m041", Local0)
+ SRMT(Local0)
+ m041(Local0)
+ Concatenate(arg0, "-m042", Local0)
+ SRMT(Local0)
+ m042(Local0)
+
+ // Mod
+ Concatenate(arg0, "-m044", Local0)
+ SRMT(Local0)
+ m044(Local0)
+ Concatenate(arg0, "-m045", Local0)
+ SRMT(Local0)
+ m045(Local0)
+
+ // Multiply
+ Concatenate(arg0, "-m047", Local0)
+ SRMT(Local0)
+ m047(Local0)
+ Concatenate(arg0, "-m048", Local0)
+ SRMT(Local0)
+ m048(Local0)
+
+ // NAnd
+ Concatenate(arg0, "-m04a", Local0)
+ SRMT(Local0)
+ m04a(Local0)
+ Concatenate(arg0, "-m04b", Local0)
+ SRMT(Local0)
+ m04b(Local0)
+
+ // NOr
+ Concatenate(arg0, "-m04d", Local0)
+ SRMT(Local0)
+ m04d(Local0)
+ Concatenate(arg0, "-m04e", Local0)
+ SRMT(Local0)
+ m04e(Local0)
+
+ // Or
+ Concatenate(arg0, "-m050", Local0)
+ SRMT(Local0)
+ m050(Local0)
+ Concatenate(arg0, "-m051", Local0)
+ SRMT(Local0)
+ m051(Local0)
+
+ // ShiftLeft
+ Concatenate(arg0, "-m053", Local0)
+ SRMT(Local0)
+ m053(Local0)
+ Concatenate(arg0, "-m054", Local0)
+ SRMT(Local0)
+ m054(Local0)
+
+ // ShiftRight
+ Concatenate(arg0, "-m056", Local0)
+ SRMT(Local0)
+ m056(Local0)
+ Concatenate(arg0, "-m057", Local0)
+ SRMT(Local0)
+ m057(Local0)
+
+ // Subtract
+ Concatenate(arg0, "-m059", Local0)
+ SRMT(Local0)
+ m059(Local0)
+ Concatenate(arg0, "-m05a", Local0)
+ SRMT(Local0)
+ m05a(Local0)
+
+ // XOr
+ Concatenate(arg0, "-m05c", Local0)
+ SRMT(Local0)
+ m05c(Local0)
+ Concatenate(arg0, "-m05d", Local0)
+ SRMT(Local0)
+ m05d(Local0)
+ }
+
+ Method(m32n, 1)
+ {
+ // Add
+ Concatenate(arg0, "-m03b", Local0)
+ SRMT(Local0)
+ m03b(Local0)
+ Concatenate(arg0, "-m03d", Local0)
+ SRMT(Local0)
+ m03d(Local0)
+
+ // And
+ Concatenate(arg0, "-m03e", Local0)
+ SRMT(Local0)
+ m03e(Local0)
+ Concatenate(arg0, "-m040", Local0)
+ SRMT(Local0)
+ m040(Local0)
+
+ // Divide
+ Concatenate(arg0, "-m041", Local0)
+ SRMT(Local0)
+ m041(Local0)
+ Concatenate(arg0, "-m043", Local0)
+ SRMT(Local0)
+ m043(Local0)
+
+ // Mod
+ Concatenate(arg0, "-m044", Local0)
+ SRMT(Local0)
+ m044(Local0)
+ Concatenate(arg0, "-m046", Local0)
+ SRMT(Local0)
+ m046(Local0)
+
+ // Multiply
+ Concatenate(arg0, "-m047", Local0)
+ SRMT(Local0)
+ m047(Local0)
+ Concatenate(arg0, "-m049", Local0)
+ SRMT(Local0)
+ m049(Local0)
+
+ // NAnd
+ Concatenate(arg0, "-m04a", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m04a(Local0)
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m04c", Local0)
+ SRMT(Local0)
+ m04c(Local0)
+
+ // NOr
+ Concatenate(arg0, "-m04d", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m04d(Local0)
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m04f", Local0)
+ SRMT(Local0)
+ m04f(Local0)
+
+ // Or
+ Concatenate(arg0, "-m050", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m050(Local0)
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m052", Local0)
+ SRMT(Local0)
+ m052(Local0)
+
+ // ShiftLeft
+ Concatenate(arg0, "-m053", Local0)
+ SRMT(Local0)
+ m053(Local0)
+ Concatenate(arg0, "-m055", Local0)
+ SRMT(Local0)
+ m055(Local0)
+
+ // ShiftRight
+ Concatenate(arg0, "-m056", Local0)
+ SRMT(Local0)
+ m056(Local0)
+ Concatenate(arg0, "-m058", Local0)
+ SRMT(Local0)
+ m058(Local0)
+
+ // Subtract
+ Concatenate(arg0, "-m059", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m059(Local0)
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m05b", Local0)
+ SRMT(Local0)
+ m05b(Local0)
+
+ // XOr
+ Concatenate(arg0, "-m05c", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m05c(Local0)
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m05e", Local0)
+ SRMT(Local0)
+ m05e(Local0)
+ }
+
+
+ // Buffer Field to Integer conversion of each Buffer operand
+ // of the 2-parameter Logical Integer operators LAnd and LOr
+
+ // LAnd, common 32-bit/64-bit test
+ Method(m05f, 1)
+ {
+ CreateField(b640, 0, 31, bf61)
+
+ Store(Buffer(3){0x21, 0x03, 0x00}, bf61)
+
+ // Conversion of the first operand
+
+ Store(LAnd(bf61, 0), Local0)
+ m600(arg0, 0, Local0, Zero)
+
+ Store(LAnd(bf61, 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(LAnd(bf61, aui5), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LAnd(bf61, aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(bf61, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LAnd(bf61, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(LAnd(bf61, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Zero)
+
+ Store(LAnd(bf61, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(bf61, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Zero)
+
+ Store(LAnd(bf61, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(bf61, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LAnd(bf61, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(LAnd(0, bf61), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LAnd(1, bf61), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LAnd(aui5, bf61), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LAnd(aui6, bf61), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(Derefof(Refof(aui5)), bf61), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(aui6)), bf61), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(LAnd(Derefof(Index(paui, 5)), bf61), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LAnd(Derefof(Index(paui, 6)), bf61), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(m601(1, 5), bf61), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LAnd(m601(1, 6), bf61), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(Derefof(m602(1, 5, 1)), bf61), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LAnd(Derefof(m602(1, 6, 1)), bf61), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+ }
+
+ // LAnd, 64-bit
+ Method(m060, 1)
+ {
+ CreateField(b640, 0, 31, bf61)
+ CreateField(b640, 159, 64, bf65)
+
+ Store(Buffer(3){0x21, 0x03, 0x00}, bf61)
+ Store(Buffer(8){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, bf65)
+
+ // Conversion of the first operand
+
+ Store(LAnd(bf65, 0), Local0)
+ m600(arg0, 0, Local0, Zero)
+
+ Store(LAnd(bf65, 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(LAnd(bf65, aui5), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LAnd(bf65, aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(bf65, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LAnd(bf65, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(LAnd(bf65, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Zero)
+
+ Store(LAnd(bf65, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(bf65, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Zero)
+
+ Store(LAnd(bf65, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(bf65, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LAnd(bf65, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(LAnd(0, bf65), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LAnd(1, bf65), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LAnd(aui5, bf65), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LAnd(aui6, bf65), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(Derefof(Refof(aui5)), bf65), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(aui6)), bf65), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(LAnd(Derefof(Index(paui, 5)), bf65), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LAnd(Derefof(Index(paui, 6)), bf65), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(m601(1, 5), bf65), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LAnd(m601(1, 6), bf65), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(Derefof(m602(1, 5, 1)), bf65), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LAnd(Derefof(m602(1, 6, 1)), bf65), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+
+ // Conversion of the both operands
+
+ Store(LAnd(bf61, bf65), Local0)
+ m600(arg0, 24, Local0, Ones)
+
+ Store(LAnd(bf65, bf61), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // LAnd, 32-bit
+ Method(m061, 1)
+ {
+ CreateField(b640, 0, 31, bf61)
+ CreateField(b640, 159, 64, bf65)
+
+ Store(Buffer(3){0x21, 0x03, 0x00}, bf61)
+ Store(Buffer(8){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, bf65)
+
+ // Conversion of the first operand
+
+ Store(LAnd(bf65, 0), Local0)
+ m600(arg0, 0, Local0, Zero)
+
+ Store(LAnd(bf65, 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(LAnd(bf65, aui5), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LAnd(bf65, aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(bf65, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LAnd(bf65, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(LAnd(bf65, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Zero)
+
+ Store(LAnd(bf65, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(bf65, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Zero)
+
+ Store(LAnd(bf65, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(bf65, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LAnd(bf65, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(LAnd(0, bf65), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LAnd(1, bf65), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LAnd(aui5, bf65), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LAnd(aui6, bf65), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(Derefof(Refof(aui5)), bf65), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(aui6)), bf65), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(LAnd(Derefof(Index(paui, 5)), bf65), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LAnd(Derefof(Index(paui, 6)), bf65), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(m601(1, 5), bf65), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LAnd(m601(1, 6), bf65), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(Derefof(m602(1, 5, 1)), bf65), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LAnd(Derefof(m602(1, 6, 1)), bf65), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+
+ // Conversion of the both operands
+
+ Store(LAnd(bf61, bf65), Local0)
+ m600(arg0, 24, Local0, Ones)
+
+ Store(LAnd(bf65, bf61), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // Lor, common 32-bit/64-bit test
+ Method(m062, 1)
+ {
+ CreateField(b641, 486, 33, bf76)
+
+ Store(0, bf76)
+
+ // Conversion of the first operand
+
+ Store(Lor(bf76, 0), Local0)
+ m600(arg0, 0, Local0, Zero)
+
+ Store(Lor(bf76, 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(Lor(bf76, aui5), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(Lor(bf76, aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(bf76, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(Lor(bf76, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(Lor(bf76, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Zero)
+
+ Store(Lor(bf76, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(bf76, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Zero)
+
+ Store(Lor(bf76, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(bf76, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(Lor(bf76, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(Lor(0, bf76), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(Lor(1, bf76), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(Lor(aui5, bf76), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(Lor(aui6, bf76), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(Derefof(Refof(aui5)), bf76), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(Lor(Derefof(Refof(aui6)), bf76), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(Lor(Derefof(Index(paui, 5)), bf76), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(Lor(Derefof(Index(paui, 6)), bf76), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(m601(1, 5), bf76), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(Lor(m601(1, 6), bf76), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(Derefof(m602(1, 5, 1)), bf76), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(Lor(Derefof(m602(1, 6, 1)), bf76), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+ }
+
+ // Lor, 64-bit
+ Method(m063, 1)
+ {
+ CreateField(b640, 159, 64, bf65)
+ CreateField(b641, 486, 33, bf76)
+
+ Store(Buffer(8){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, bf65)
+ Store(0, bf76)
+
+ // Conversion of the first operand
+
+ Store(Lor(bf65, 0), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(Lor(bf65, 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(Lor(bf65, aui5), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(Lor(bf65, aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(bf65, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(Lor(bf65, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(Lor(bf65, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(Lor(bf65, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(bf65, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(Lor(bf65, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(bf65, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(Lor(bf65, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(Lor(0, bf65), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(Lor(1, bf65), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(Lor(aui5, bf65), Local0)
+ m600(arg0, 14, Local0, Ones)
+
+ Store(Lor(aui6, bf65), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(Derefof(Refof(aui5)), bf65), Local0)
+ m600(arg0, 16, Local0, Ones)
+
+ Store(Lor(Derefof(Refof(aui6)), bf65), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(Lor(Derefof(Index(paui, 5)), bf65), Local0)
+ m600(arg0, 18, Local0, Ones)
+
+ Store(Lor(Derefof(Index(paui, 6)), bf65), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(m601(1, 5), bf65), Local0)
+ m600(arg0, 20, Local0, Ones)
+
+ Store(Lor(m601(1, 6), bf65), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(Derefof(m602(1, 5, 1)), bf65), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(Lor(Derefof(m602(1, 6, 1)), bf65), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+
+ // Conversion of the both operands
+
+ Store(Lor(bf76, bf65), Local0)
+ m600(arg0, 24, Local0, Ones)
+
+ Store(Lor(bf65, bf76), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // Lor, 32-bit
+ Method(m064, 1)
+ {
+ CreateField(b640, 159, 64, bf65)
+ CreateField(b641, 486, 33, bf76)
+
+ Store(Buffer(8){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, bf65)
+ Store(0, bf76)
+
+ // Conversion of the first operand
+
+ Store(Lor(bf65, 0), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(Lor(bf65, 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(Lor(bf65, aui5), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(Lor(bf65, aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(bf65, Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(Lor(bf65, Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(Lor(bf65, Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(Lor(bf65, Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(bf65, m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(Lor(bf65, m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(bf65, Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(Lor(bf65, Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(Lor(0, bf65), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(Lor(1, bf65), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(Lor(aui5, bf65), Local0)
+ m600(arg0, 14, Local0, Ones)
+
+ Store(Lor(aui6, bf65), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(Derefof(Refof(aui5)), bf65), Local0)
+ m600(arg0, 16, Local0, Ones)
+
+ Store(Lor(Derefof(Refof(aui6)), bf65), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(Lor(Derefof(Index(paui, 5)), bf65), Local0)
+ m600(arg0, 18, Local0, Ones)
+
+ Store(Lor(Derefof(Index(paui, 6)), bf65), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(m601(1, 5), bf65), Local0)
+ m600(arg0, 20, Local0, Ones)
+
+ Store(Lor(m601(1, 6), bf65), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(Derefof(m602(1, 5, 1)), bf65), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(Lor(Derefof(m602(1, 6, 1)), bf65), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+
+ // Conversion of the both operands
+
+ Store(Lor(bf76, bf65), Local0)
+ m600(arg0, 24, Local0, Ones)
+
+ Store(Lor(bf65, bf76), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ Method(m64o, 1)
+ {
+ // LAnd
+ Concatenate(arg0, "-m05f", Local0)
+ SRMT(Local0)
+ m05f(Local0)
+ Concatenate(arg0, "-m060", Local0)
+ SRMT(Local0)
+ m060(Local0)
+
+ // LOr
+ Concatenate(arg0, "-m062", Local0)
+ SRMT(Local0)
+ m062(Local0)
+ Concatenate(arg0, "-m063", Local0)
+ SRMT(Local0)
+ m063(Local0)
+ }
+
+ Method(m32o, 1)
+ {
+ // LAnd
+ Concatenate(arg0, "-m05f", Local0)
+ SRMT(Local0)
+ m05f(Local0)
+ Concatenate(arg0, "-m061", Local0)
+ SRMT(Local0)
+ m061(Local0)
+
+ // LOr
+ Concatenate(arg0, "-m062", Local0)
+ SRMT(Local0)
+ m062(Local0)
+ Concatenate(arg0, "-m064", Local0)
+ SRMT(Local0)
+ m064(Local0)
+ }
+
+
+ // Buffer Field to Integer conversion of the Buffer Field second operand
+ // of Logical operators when the first operand is evaluated as Integer
+ // (LEqual, LGreater, LGreaterEqual, LLess, LLessEqual, LNotEqual)
+
+ Method(m64p, 1)
+ {
+ CreateField(b640, 159, 64, bf65)
+
+ Store(Buffer(8){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, bf65)
+
+ // LEqual
+
+ Store(LEqual(0xfe7cb391d650a284, bf65), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual(0xfe7cb391d650a285, bf65), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(0xfe7cb391d650a283, bf65), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LEqual(aui4, bf65), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ Store(LEqual(auid, bf65), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LEqual(auif, bf65), Local0)
+ m600(arg0, 5, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aui4)), bf65), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(auid)), bf65), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ Store(LEqual(Derefof(Refof(auif)), bf65), Local0)
+ m600(arg0, 8, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paui, 4)), bf65), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paui, 13)), bf65), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LEqual(Derefof(Index(paui, 15)), bf65), Local0)
+ m600(arg0, 11, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LEqual(m601(1, 4), bf65), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(LEqual(m601(1, 13), bf65), Local0)
+ m600(arg0, 13, Local0, Zero)
+
+ Store(LEqual(m601(1, 15), bf65), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(1, 4, 1)), bf65), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(1, 13, 1)), bf65), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LEqual(Derefof(m602(1, 15, 1)), bf65), Local0)
+ m600(arg0, 17, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater(0xfe7cb391d650a284, bf65), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(0xfe7cb391d650a285, bf65), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ Store(LGreater(0xfe7cb391d650a283, bf65), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(aui4, bf65), Local0)
+ m600(arg0, 21, Local0, Zero)
+
+ Store(LGreater(auid, bf65), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(LGreater(auif, bf65), Local0)
+ m600(arg0, 23, Local0, Zero)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aui4)), bf65), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(auid)), bf65), Local0)
+ m600(arg0, 25, Local0, Ones)
+
+ Store(LGreater(Derefof(Refof(auif)), bf65), Local0)
+ m600(arg0, 26, Local0, Zero)
+ }
+
+ Store(LGreater(Derefof(Index(paui, 4)), bf65), Local0)
+ m600(arg0, 27, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paui, 13)), bf65), Local0)
+ m600(arg0, 28, Local0, Ones)
+
+ Store(LGreater(Derefof(Index(paui, 15)), bf65), Local0)
+ m600(arg0, 29, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreater(m601(1, 4), bf65), Local0)
+ m600(arg0, 30, Local0, Zero)
+
+ Store(LGreater(m601(1, 13), bf65), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ Store(LGreater(m601(1, 15), bf65), Local0)
+ m600(arg0, 32, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(1, 4, 1)), bf65), Local0)
+ m600(arg0, 33, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(1, 13, 1)), bf65), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreater(Derefof(m602(1, 15, 1)), bf65), Local0)
+ m600(arg0, 35, Local0, Zero)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual(0xfe7cb391d650a284, bf65), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(0xfe7cb391d650a285, bf65), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ Store(LGreaterEqual(0xfe7cb391d650a283, bf65), Local0)
+ m600(arg0, 38, Local0, Zero)
+
+ Store(LGreaterEqual(aui4, bf65), Local0)
+ m600(arg0, 39, Local0, Ones)
+
+ Store(LGreaterEqual(auid, bf65), Local0)
+ m600(arg0, 40, Local0, Ones)
+
+ Store(LGreaterEqual(auif, bf65), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aui4)), bf65), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auid)), bf65), Local0)
+ m600(arg0, 43, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auif)), bf65), Local0)
+ m600(arg0, 44, Local0, Zero)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paui, 4)), bf65), Local0)
+ m600(arg0, 45, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 13)), bf65), Local0)
+ m600(arg0, 46, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 15)), bf65), Local0)
+ m600(arg0, 47, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreaterEqual(m601(1, 4), bf65), Local0)
+ m600(arg0, 48, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 13), bf65), Local0)
+ m600(arg0, 49, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 15), bf65), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(1, 4, 1)), bf65), Local0)
+ m600(arg0, 51, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 13, 1)), bf65), Local0)
+ m600(arg0, 52, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 15, 1)), bf65), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLess
+
+ Store(LLess(0xfe7cb391d650a284, bf65), Local0)
+ m600(arg0, 54, Local0, Zero)
+
+ Store(LLess(0xfe7cb391d650a285, bf65), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLess(0xfe7cb391d650a283, bf65), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLess(aui4, bf65), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLess(auid, bf65), Local0)
+ m600(arg0, 58, Local0, Zero)
+
+ Store(LLess(auif, bf65), Local0)
+ m600(arg0, 59, Local0, Ones)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aui4)), bf65), Local0)
+ m600(arg0, 60, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auid)), bf65), Local0)
+ m600(arg0, 61, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auif)), bf65), Local0)
+ m600(arg0, 62, Local0, Ones)
+ }
+
+ Store(LLess(Derefof(Index(paui, 4)), bf65), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 13)), bf65), Local0)
+ m600(arg0, 64, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 15)), bf65), Local0)
+ m600(arg0, 65, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLess(m601(1, 4), bf65), Local0)
+ m600(arg0, 66, Local0, Zero)
+
+ Store(LLess(m601(1, 13), bf65), Local0)
+ m600(arg0, 67, Local0, Zero)
+
+ Store(LLess(m601(1, 15), bf65), Local0)
+ m600(arg0, 68, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLess(Derefof(m602(1, 4, 1)), bf65), Local0)
+ m600(arg0, 69, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 13, 1)), bf65), Local0)
+ m600(arg0, 70, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 15, 1)), bf65), Local0)
+ m600(arg0, 71, Local0, Ones)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual(0xfe7cb391d650a284, bf65), Local0)
+ m600(arg0, 72, Local0, Ones)
+
+ Store(LLessEqual(0xfe7cb391d650a285, bf65), Local0)
+ m600(arg0, 73, Local0, Zero)
+
+ Store(LLessEqual(0xfe7cb391d650a283, bf65), Local0)
+ m600(arg0, 74, Local0, Ones)
+
+ Store(LLessEqual(aui4, bf65), Local0)
+ m600(arg0, 75, Local0, Ones)
+
+ Store(LLessEqual(auid, bf65), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LLessEqual(auif, bf65), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aui4)), bf65), Local0)
+ m600(arg0, 78, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(auid)), bf65), Local0)
+ m600(arg0, 79, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Refof(auif)), bf65), Local0)
+ m600(arg0, 80, Local0, Ones)
+ }
+
+ Store(LLessEqual(Derefof(Index(paui, 4)), bf65), Local0)
+ m600(arg0, 81, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paui, 13)), bf65), Local0)
+ m600(arg0, 82, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Index(paui, 15)), bf65), Local0)
+ m600(arg0, 83, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLessEqual(m601(1, 4), bf65), Local0)
+ m600(arg0, 84, Local0, Ones)
+
+ Store(LLessEqual(m601(1, 13), bf65), Local0)
+ m600(arg0, 85, Local0, Zero)
+
+ Store(LLessEqual(m601(1, 15), bf65), Local0)
+ m600(arg0, 86, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(1, 4, 1)), bf65), Local0)
+ m600(arg0, 87, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(1, 13, 1)), bf65), Local0)
+ m600(arg0, 88, Local0, Zero)
+
+ Store(LLessEqual(Derefof(m602(1, 15, 1)), bf65), Local0)
+ m600(arg0, 89, Local0, Ones)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual(0xfe7cb391d650a284, bf65), Local0)
+ m600(arg0, 90, Local0, Zero)
+
+ Store(LNotEqual(0xfe7cb391d650a285, bf65), Local0)
+ m600(arg0, 91, Local0, Ones)
+
+ Store(LNotEqual(0xfe7cb391d650a283, bf65), Local0)
+ m600(arg0, 92, Local0, Ones)
+
+ Store(LNotEqual(aui4, bf65), Local0)
+ m600(arg0, 93, Local0, Zero)
+
+ Store(LNotEqual(auid, bf65), Local0)
+ m600(arg0, 94, Local0, Ones)
+
+ Store(LNotEqual(auif, bf65), Local0)
+ m600(arg0, 95, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aui4)), bf65), Local0)
+ m600(arg0, 96, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(auid)), bf65), Local0)
+ m600(arg0, 97, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Refof(auif)), bf65), Local0)
+ m600(arg0, 98, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paui, 4)), bf65), Local0)
+ m600(arg0, 99, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paui, 13)), bf65), Local0)
+ m600(arg0, 100, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Index(paui, 15)), bf65), Local0)
+ m600(arg0, 101, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LNotEqual(m601(1, 4), bf65), Local0)
+ m600(arg0, 102, Local0, Zero)
+
+ Store(LNotEqual(m601(1, 13), bf65), Local0)
+ m600(arg0, 103, Local0, Ones)
+
+ Store(LNotEqual(m601(1, 15), bf65), Local0)
+ m600(arg0, 104, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(1, 4, 1)), bf65), Local0)
+ m600(arg0, 105, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(1, 13, 1)), bf65), Local0)
+ m600(arg0, 106, Local0, Ones)
+
+ Store(LNotEqual(Derefof(m602(1, 15, 1)), bf65), Local0)
+ m600(arg0, 107, Local0, Ones)
+ }
+ }
+
+ Method(m32p, 1)
+ {
+ CreateField(b640, 159, 64, bf65)
+
+ Store(Buffer(8){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, bf65)
+
+ // LEqual
+
+ Store(LEqual(0xd650a284, bf65), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual(0xd650a285, bf65), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(0xd650a283, bf65), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LEqual(auik, bf65), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ Store(LEqual(auil, bf65), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LEqual(auim, bf65), Local0)
+ m600(arg0, 5, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(auik)), bf65), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(auil)), bf65), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ Store(LEqual(Derefof(Refof(auim)), bf65), Local0)
+ m600(arg0, 8, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paui, 20)), bf65), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paui, 21)), bf65), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LEqual(Derefof(Index(paui, 22)), bf65), Local0)
+ m600(arg0, 11, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LEqual(m601(1, 20), bf65), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(LEqual(m601(1, 21), bf65), Local0)
+ m600(arg0, 13, Local0, Zero)
+
+ Store(LEqual(m601(1, 22), bf65), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(1, 20, 1)), bf65), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LEqual(Derefof(m601(1, 21, 1)), bf65), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LEqual(Derefof(m601(1, 22, 1)), bf65), Local0)
+ m600(arg0, 17, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater(0xd650a284, bf65), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(0xd650a285, bf65), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ Store(LGreater(0xd650a283, bf65), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(auik, bf65), Local0)
+ m600(arg0, 21, Local0, Zero)
+
+ Store(LGreater(auil, bf65), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(LGreater(auim, bf65), Local0)
+ m600(arg0, 23, Local0, Zero)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(auik)), bf65), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(auil)), bf65), Local0)
+ m600(arg0, 25, Local0, Ones)
+
+ Store(LGreater(Derefof(Refof(auim)), bf65), Local0)
+ m600(arg0, 26, Local0, Zero)
+ }
+
+ Store(LGreater(Derefof(Index(paui, 20)), bf65), Local0)
+ m600(arg0, 27, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paui, 21)), bf65), Local0)
+ m600(arg0, 28, Local0, Ones)
+
+ Store(LGreater(Derefof(Index(paui, 22)), bf65), Local0)
+ m600(arg0, 29, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreater(m601(1, 20), bf65), Local0)
+ m600(arg0, 30, Local0, Zero)
+
+ Store(LGreater(m601(1, 21), bf65), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ Store(LGreater(m601(1, 22), bf65), Local0)
+ m600(arg0, 32, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(1, 20, 1)), bf65), Local0)
+ m600(arg0, 33, Local0, Zero)
+
+ Store(LGreater(Derefof(m601(1, 21, 1)), bf65), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreater(Derefof(m601(1, 22, 1)), bf65), Local0)
+ m600(arg0, 35, Local0, Zero)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual(0xd650a284, bf65), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(0xd650a285, bf65), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ Store(LGreaterEqual(0xd650a283, bf65), Local0)
+ m600(arg0, 38, Local0, Zero)
+
+ Store(LGreaterEqual(auik, bf65), Local0)
+ m600(arg0, 39, Local0, Ones)
+
+ Store(LGreaterEqual(auil, bf65), Local0)
+ m600(arg0, 40, Local0, Ones)
+
+ Store(LGreaterEqual(auim, bf65), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(auik)), bf65), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auil)), bf65), Local0)
+ m600(arg0, 43, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auim)), bf65), Local0)
+ m600(arg0, 44, Local0, Zero)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paui, 20)), bf65), Local0)
+ m600(arg0, 45, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 21)), bf65), Local0)
+ m600(arg0, 46, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 22)), bf65), Local0)
+ m600(arg0, 47, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreaterEqual(m601(1, 20), bf65), Local0)
+ m600(arg0, 48, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 21), bf65), Local0)
+ m600(arg0, 49, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 22), bf65), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(1, 20, 1)), bf65), Local0)
+ m600(arg0, 51, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m601(1, 21, 1)), bf65), Local0)
+ m600(arg0, 52, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m601(1, 22, 1)), bf65), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLess
+
+ Store(LLess(0xd650a284, bf65), Local0)
+ m600(arg0, 54, Local0, Zero)
+
+ Store(LLess(0xd650a285, bf65), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLess(0xd650a283, bf65), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLess(auik, bf65), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLess(auil, bf65), Local0)
+ m600(arg0, 58, Local0, Zero)
+
+ Store(LLess(auim, bf65), Local0)
+ m600(arg0, 59, Local0, Ones)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(auik)), bf65), Local0)
+ m600(arg0, 60, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auil)), bf65), Local0)
+ m600(arg0, 61, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auim)), bf65), Local0)
+ m600(arg0, 62, Local0, Ones)
+ }
+
+ Store(LLess(Derefof(Index(paui, 20)), bf65), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 21)), bf65), Local0)
+ m600(arg0, 64, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 22)), bf65), Local0)
+ m600(arg0, 65, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLess(m601(1, 20), bf65), Local0)
+ m600(arg0, 66, Local0, Zero)
+
+ Store(LLess(m601(1, 21), bf65), Local0)
+ m600(arg0, 67, Local0, Zero)
+
+ Store(LLess(m601(1, 22), bf65), Local0)
+ m600(arg0, 68, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLess(Derefof(m602(1, 20, 1)), bf65), Local0)
+ m600(arg0, 69, Local0, Zero)
+
+ Store(LLess(Derefof(m601(1, 21, 1)), bf65), Local0)
+ m600(arg0, 70, Local0, Zero)
+
+ Store(LLess(Derefof(m601(1, 22, 1)), bf65), Local0)
+ m600(arg0, 71, Local0, Ones)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual(0xd650a284, bf65), Local0)
+ m600(arg0, 72, Local0, Ones)
+
+ Store(LLessEqual(0xd650a285, bf65), Local0)
+ m600(arg0, 73, Local0, Zero)
+
+ Store(LLessEqual(0xd650a283, bf65), Local0)
+ m600(arg0, 74, Local0, Ones)
+
+ Store(LLessEqual(auik, bf65), Local0)
+ m600(arg0, 75, Local0, Ones)
+
+ Store(LLessEqual(auil, bf65), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LLessEqual(auim, bf65), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(auik)), bf65), Local0)
+ m600(arg0, 78, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(auil)), bf65), Local0)
+ m600(arg0, 79, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Refof(auim)), bf65), Local0)
+ m600(arg0, 80, Local0, Ones)
+ }
+
+ Store(LLessEqual(Derefof(Index(paui, 20)), bf65), Local0)
+ m600(arg0, 81, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paui, 21)), bf65), Local0)
+ m600(arg0, 82, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Index(paui, 22)), bf65), Local0)
+ m600(arg0, 83, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLessEqual(m601(1, 20), bf65), Local0)
+ m600(arg0, 84, Local0, Ones)
+
+ Store(LLessEqual(m601(1, 21), bf65), Local0)
+ m600(arg0, 85, Local0, Zero)
+
+ Store(LLessEqual(m601(1, 22), bf65), Local0)
+ m600(arg0, 86, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(1, 20, 1)), bf65), Local0)
+ m600(arg0, 87, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m601(1, 21, 1)), bf65), Local0)
+ m600(arg0, 88, Local0, Zero)
+
+ Store(LLessEqual(Derefof(m601(1, 22, 1)), bf65), Local0)
+ m600(arg0, 89, Local0, Ones)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual(0xd650a284, bf65), Local0)
+ m600(arg0, 90, Local0, Zero)
+
+ Store(LNotEqual(0xd650a285, bf65), Local0)
+ m600(arg0, 91, Local0, Ones)
+
+ Store(LNotEqual(0xd650a283, bf65), Local0)
+ m600(arg0, 92, Local0, Ones)
+
+ Store(LNotEqual(auik, bf65), Local0)
+ m600(arg0, 93, Local0, Zero)
+
+ Store(LNotEqual(auil, bf65), Local0)
+ m600(arg0, 94, Local0, Ones)
+
+ Store(LNotEqual(auim, bf65), Local0)
+ m600(arg0, 95, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(auik)), bf65), Local0)
+ m600(arg0, 96, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(auil)), bf65), Local0)
+ m600(arg0, 97, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Refof(auim)), bf65), Local0)
+ m600(arg0, 98, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paui, 20)), bf65), Local0)
+ m600(arg0, 99, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paui, 21)), bf65), Local0)
+ m600(arg0, 100, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Index(paui, 22)), bf65), Local0)
+ m600(arg0, 101, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LNotEqual(m601(1, 20), bf65), Local0)
+ m600(arg0, 102, Local0, Zero)
+
+ Store(LNotEqual(m601(1, 21), bf65), Local0)
+ m600(arg0, 103, Local0, Ones)
+
+ Store(LNotEqual(m601(1, 22), bf65), Local0)
+ m600(arg0, 104, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(1, 20, 1)), bf65), Local0)
+ m600(arg0, 105, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m601(1, 21, 1)), bf65), Local0)
+ m600(arg0, 106, Local0, Ones)
+
+ Store(LNotEqual(Derefof(m601(1, 22, 1)), bf65), Local0)
+ m600(arg0, 107, Local0, Ones)
+ }
+ }
+
+ Method(m065, 1)
+ {
+ CreateField(b640, 0, 31, bf61)
+
+ Store(Buffer(3){0x21, 0x03, 0x00}, bf61)
+
+ // LEqual
+
+ Store(LEqual(0x321, bf61), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual(0x322, bf61), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(0x320, bf61), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LEqual(aui1, bf61), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ Store(LEqual(auig, bf61), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LEqual(auih, bf61), Local0)
+ m600(arg0, 5, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aui1)), bf61), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(auig)), bf61), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ Store(LEqual(Derefof(Refof(auih)), bf61), Local0)
+ m600(arg0, 8, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paui, 1)), bf61), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paui, 16)), bf61), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LEqual(Derefof(Index(paui, 17)), bf61), Local0)
+ m600(arg0, 11, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LEqual(m601(1, 1), bf61), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(LEqual(m601(1, 16), bf61), Local0)
+ m600(arg0, 13, Local0, Zero)
+
+ Store(LEqual(m601(1, 17), bf61), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(1, 1, 1)), bf61), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(1, 16, 1)), bf61), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LEqual(Derefof(m602(1, 17, 1)), bf61), Local0)
+ m600(arg0, 17, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater(0x321, bf61), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(0x322, bf61), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ Store(LGreater(0x320, bf61), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(aui1, bf61), Local0)
+ m600(arg0, 21, Local0, Zero)
+
+ Store(LGreater(auig, bf61), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(LGreater(auih, bf61), Local0)
+ m600(arg0, 23, Local0, Zero)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aui1)), bf61), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(auig)), bf61), Local0)
+ m600(arg0, 25, Local0, Ones)
+
+ Store(LGreater(Derefof(Refof(auih)), bf61), Local0)
+ m600(arg0, 26, Local0, Zero)
+ }
+
+ Store(LGreater(Derefof(Index(paui, 1)), bf61), Local0)
+ m600(arg0, 27, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paui, 16)), bf61), Local0)
+ m600(arg0, 28, Local0, Ones)
+
+ Store(LGreater(Derefof(Index(paui, 17)), bf61), Local0)
+ m600(arg0, 29, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreater(m601(1, 1), bf61), Local0)
+ m600(arg0, 30, Local0, Zero)
+
+ Store(LGreater(m601(1, 16), bf61), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ Store(LGreater(m601(1, 17), bf61), Local0)
+ m600(arg0, 32, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(1, 1, 1)), bf61), Local0)
+ m600(arg0, 33, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(1, 16, 1)), bf61), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreater(Derefof(m602(1, 17, 1)), bf61), Local0)
+ m600(arg0, 35, Local0, Zero)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual(0x321, bf61), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(0x322, bf61), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ Store(LGreaterEqual(0x320, bf61), Local0)
+ m600(arg0, 38, Local0, Zero)
+
+ Store(LGreaterEqual(aui1, bf61), Local0)
+ m600(arg0, 39, Local0, Ones)
+
+ Store(LGreaterEqual(auig, bf61), Local0)
+ m600(arg0, 40, Local0, Ones)
+
+ Store(LGreaterEqual(auih, bf61), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aui1)), bf61), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auig)), bf61), Local0)
+ m600(arg0, 43, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auih)), bf61), Local0)
+ m600(arg0, 44, Local0, Zero)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paui, 1)), bf61), Local0)
+ m600(arg0, 45, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 16)), bf61), Local0)
+ m600(arg0, 46, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 17)), bf61), Local0)
+ m600(arg0, 47, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreaterEqual(m601(1, 1), bf61), Local0)
+ m600(arg0, 48, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 16), bf61), Local0)
+ m600(arg0, 49, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 17), bf61), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(1, 1, 1)), bf61), Local0)
+ m600(arg0, 51, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 16, 1)), bf61), Local0)
+ m600(arg0, 52, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 17, 1)), bf61), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLess
+
+ Store(LLess(0x321, bf61), Local0)
+ m600(arg0, 54, Local0, Zero)
+
+ Store(LLess(0x322, bf61), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLess(0x320, bf61), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLess(aui1, bf61), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLess(auig, bf61), Local0)
+ m600(arg0, 58, Local0, Zero)
+
+ Store(LLess(auih, bf61), Local0)
+ m600(arg0, 59, Local0, Ones)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aui1)), bf61), Local0)
+ m600(arg0, 60, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auig)), bf61), Local0)
+ m600(arg0, 61, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auih)), bf61), Local0)
+ m600(arg0, 62, Local0, Ones)
+ }
+
+ Store(LLess(Derefof(Index(paui, 1)), bf61), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 16)), bf61), Local0)
+ m600(arg0, 64, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 17)), bf61), Local0)
+ m600(arg0, 65, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLess(m601(1, 1), bf61), Local0)
+ m600(arg0, 66, Local0, Zero)
+
+ Store(LLess(m601(1, 16), bf61), Local0)
+ m600(arg0, 67, Local0, Zero)
+
+ Store(LLess(m601(1, 17), bf61), Local0)
+ m600(arg0, 68, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLess(Derefof(m602(1, 1, 1)), bf61), Local0)
+ m600(arg0, 69, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 16, 1)), bf61), Local0)
+ m600(arg0, 70, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 17, 1)), bf61), Local0)
+ m600(arg0, 71, Local0, Ones)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual(0x321, bf61), Local0)
+ m600(arg0, 72, Local0, Ones)
+
+ Store(LLessEqual(0x322, bf61), Local0)
+ m600(arg0, 73, Local0, Zero)
+
+ Store(LLessEqual(0x320, bf61), Local0)
+ m600(arg0, 74, Local0, Ones)
+
+ Store(LLessEqual(aui1, bf61), Local0)
+ m600(arg0, 75, Local0, Ones)
+
+ Store(LLessEqual(auig, bf61), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LLessEqual(auih, bf61), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aui1)), bf61), Local0)
+ m600(arg0, 78, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(auig)), bf61), Local0)
+ m600(arg0, 79, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Refof(auih)), bf61), Local0)
+ m600(arg0, 80, Local0, Ones)
+ }
+
+ Store(LLessEqual(Derefof(Index(paui, 1)), bf61), Local0)
+ m600(arg0, 81, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paui, 16)), bf61), Local0)
+ m600(arg0, 82, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Index(paui, 17)), bf61), Local0)
+ m600(arg0, 83, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLessEqual(m601(1, 1), bf61), Local0)
+ m600(arg0, 84, Local0, Ones)
+
+ Store(LLessEqual(m601(1, 16), bf61), Local0)
+ m600(arg0, 85, Local0, Zero)
+
+ Store(LLessEqual(m601(1, 17), bf61), Local0)
+ m600(arg0, 86, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(1, 1, 1)), bf61), Local0)
+ m600(arg0, 87, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(1, 16, 1)), bf61), Local0)
+ m600(arg0, 88, Local0, Zero)
+
+ Store(LLessEqual(Derefof(m602(1, 17, 1)), bf61), Local0)
+ m600(arg0, 89, Local0, Ones)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual(0x321, bf61), Local0)
+ m600(arg0, 90, Local0, Zero)
+
+ Store(LNotEqual(0x322, bf61), Local0)
+ m600(arg0, 91, Local0, Ones)
+
+ Store(LNotEqual(0x320, bf61), Local0)
+ m600(arg0, 92, Local0, Ones)
+
+ Store(LNotEqual(aui1, bf61), Local0)
+ m600(arg0, 93, Local0, Zero)
+
+ Store(LNotEqual(auig, bf61), Local0)
+ m600(arg0, 94, Local0, Ones)
+
+ Store(LNotEqual(auih, bf61), Local0)
+ m600(arg0, 95, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aui1)), bf61), Local0)
+ m600(arg0, 96, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(auig)), bf61), Local0)
+ m600(arg0, 97, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Refof(auih)), bf61), Local0)
+ m600(arg0, 98, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paui, 1)), bf61), Local0)
+ m600(arg0, 99, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paui, 16)), bf61), Local0)
+ m600(arg0, 100, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Index(paui, 17)), bf61), Local0)
+ m600(arg0, 101, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LNotEqual(m601(1, 1), bf61), Local0)
+ m600(arg0, 102, Local0, Zero)
+
+ Store(LNotEqual(m601(1, 16), bf61), Local0)
+ m600(arg0, 103, Local0, Ones)
+
+ Store(LNotEqual(m601(1, 17), bf61), Local0)
+ m600(arg0, 104, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(1, 1, 1)), bf61), Local0)
+ m600(arg0, 105, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(1, 16, 1)), bf61), Local0)
+ m600(arg0, 106, Local0, Ones)
+
+ Store(LNotEqual(Derefof(m602(1, 17, 1)), bf61), Local0)
+ m600(arg0, 107, Local0, Ones)
+ }
+ }
+
+ // Buffer Field to Integer intermediate conversion of the Buffer Field
+ // second operand of Concatenate operator in case the first one is Integer
+
+ Method(m64q, 1)
+ {
+ CreateField(b640, 0, 31, bf61)
+ CreateField(b640, 159, 64, bf65)
+
+ Store(Buffer(3){0x21, 0x03, 0x00}, bf61)
+ Store(Buffer(8){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, bf65)
+
+ Store(Concatenate(0x321, bf61), Local0)
+ m600(arg0, 0, Local0, bb26)
+
+ Store(Concatenate(0x321, bf65), Local0)
+ m600(arg0, 1, Local0, bb21)
+
+
+ Store(Concatenate(aui1, bf61), Local0)
+ m600(arg0, 2, Local0, bb26)
+
+ Store(Concatenate(aui1, bf65), Local0)
+ m600(arg0, 3, Local0, bb21)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aui1)), bf61), Local0)
+ m600(arg0, 4, Local0, bb26)
+
+ Store(Concatenate(Derefof(Refof(aui1)), bf65), Local0)
+ m600(arg0, 5, Local0, bb21)
+ }
+
+ Store(Concatenate(Derefof(Index(paui, 1)), bf61), Local0)
+ m600(arg0, 6, Local0, bb26)
+
+ Store(Concatenate(Derefof(Index(paui, 1)), bf65), Local0)
+ m600(arg0, 7, Local0, bb21)
+
+ // Method returns Integer
+
+ Store(Concatenate(m601(1, 1), bf61), Local0)
+ m600(arg0, 8, Local0, bb26)
+
+ Store(Concatenate(m601(1, 1), bf65), Local0)
+ m600(arg0, 9, Local0, bb21)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(1, 1, 1)), bf61), Local0)
+ m600(arg0, 10, Local0, bb26)
+
+ Store(Concatenate(Derefof(m602(1, 1, 1)), bf65), Local0)
+ m600(arg0, 11, Local0, bb21)
+ }
+
+ Concatenate(0x321, bf61, Local0)
+ m600(arg0, 12, Local0, bb26)
+
+ Concatenate(0x321, bf65, Local0)
+ m600(arg0, 13, Local0, bb21)
+
+
+ Concatenate(aui1, bf61, Local0)
+ m600(arg0, 14, Local0, bb26)
+
+ Concatenate(aui1, bf65, Local0)
+ m600(arg0, 15, Local0, bb21)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aui1)), bf61, Local0)
+ m600(arg0, 16, Local0, bb26)
+
+ Concatenate(Derefof(Refof(aui1)), bf65, Local0)
+ m600(arg0, 17, Local0, bb21)
+ }
+
+ Concatenate(Derefof(Index(paui, 1)), bf61, Local0)
+ m600(arg0, 18, Local0, bb26)
+
+ Concatenate(Derefof(Index(paui, 1)), bf65, Local0)
+ m600(arg0, 19, Local0, bb21)
+
+ // Method returns Integer
+
+ Concatenate(m601(1, 1), bf61, Local0)
+ m600(arg0, 20, Local0, bb26)
+
+ Concatenate(m601(1, 1), bf65, Local0)
+ m600(arg0, 21, Local0, bb21)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Concatenate(Derefof(m602(1, 1, 1)), bf61, Local0)
+ m600(arg0, 22, Local0, bb26)
+
+ Concatenate(Derefof(m602(1, 1, 1)), bf65, Local0)
+ m600(arg0, 23, Local0, bb21)
+ }
+ }
+
+ Method(m32q, 1)
+ {
+ CreateField(b640, 0, 31, bf61)
+ CreateField(b640, 159, 64, bf65)
+
+ Store(Buffer(3){0x21, 0x03, 0x00}, bf61)
+ Store(Buffer(8){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, bf65)
+
+ Store(Concatenate(0x321, bf61), Local0)
+ m600(arg0, 0, Local0, bb27)
+
+ Store(Concatenate(0x321, bf65), Local0)
+ m600(arg0, 1, Local0, bb28)
+
+
+ Store(Concatenate(aui1, bf61), Local0)
+ m600(arg0, 2, Local0, bb27)
+
+ Store(Concatenate(aui1, bf65), Local0)
+ m600(arg0, 3, Local0, bb28)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aui1)), bf61), Local0)
+ m600(arg0, 4, Local0, bb27)
+
+ Store(Concatenate(Derefof(Refof(aui1)), bf65), Local0)
+ m600(arg0, 5, Local0, bb28)
+ }
+
+ Store(Concatenate(Derefof(Index(paui, 1)), bf61), Local0)
+ m600(arg0, 6, Local0, bb27)
+
+ Store(Concatenate(Derefof(Index(paui, 1)), bf65), Local0)
+ m600(arg0, 7, Local0, bb28)
+
+ // Method returns Integer
+
+ Store(Concatenate(m601(1, 1), bf61), Local0)
+ m600(arg0, 8, Local0, bb27)
+
+ Store(Concatenate(m601(1, 1), bf65), Local0)
+ m600(arg0, 9, Local0, bb28)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(1, 1, 1)), bf61), Local0)
+ m600(arg0, 10, Local0, bb27)
+
+ Store(Concatenate(Derefof(m602(1, 1, 1)), bf65), Local0)
+ m600(arg0, 11, Local0, bb28)
+ }
+
+ Concatenate(0x321, bf61, Local0)
+ m600(arg0, 12, Local0, bb27)
+
+ Concatenate(0x321, bf65, Local0)
+ m600(arg0, 13, Local0, bb28)
+
+
+ Concatenate(aui1, bf61, Local0)
+ m600(arg0, 14, Local0, bb27)
+
+ Concatenate(aui1, bf65, Local0)
+ m600(arg0, 15, Local0, bb28)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aui1)), bf61, Local0)
+ m600(arg0, 16, Local0, bb27)
+
+ Concatenate(Derefof(Refof(aui1)), bf65, Local0)
+ m600(arg0, 17, Local0, bb28)
+ }
+
+ Concatenate(Derefof(Index(paui, 1)), bf61, Local0)
+ m600(arg0, 18, Local0, bb27)
+
+ Concatenate(Derefof(Index(paui, 1)), bf65, Local0)
+ m600(arg0, 20, Local0, bb28)
+
+ // Method returns Integer
+
+ Concatenate(m601(1, 1), bf61, Local0)
+ m600(arg0, 21, Local0, bb27)
+
+ Concatenate(m601(1, 1), bf65, Local0)
+ m600(arg0, 22, Local0, bb28)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Concatenate(Derefof(m602(1, 1, 1)), bf61, Local0)
+ m600(arg0, 23, Local0, bb27)
+
+ Concatenate(Derefof(m602(1, 1, 1)), bf65, Local0)
+ m600(arg0, 24, Local0, bb28)
+ }
+ }
+
+ // Buffer Field to Integer conversion of the Buffer Field Length
+ // (second) operand of the ToString operator
+
+ // Common 32-bit/64-bit test
+ Method(m066, 1)
+ {
+ CreateField(b640, 0, 31, bf61)
+ CreateField(b641, 420, 33, bf74)
+
+ Store(Buffer(3){0x21, 0x03, 0x00}, bf61)
+ Store(0xb, bf74)
+
+ Store(ToString(Buffer() {"This is auxiliary Buffer"},
+ bf74), Local0)
+ m600(arg0, 0, Local0, bs1b)
+
+ Store(ToString(Buffer() {"This is auxiliary Buffer"},
+ bf61), Local0)
+ m600(arg0, 1, Local0, bs1c)
+
+ Store(ToString(aub6, bf74), Local0)
+ m600(arg0, 2, Local0, bs1b)
+
+ Store(ToString(aub6, bf61), Local0)
+ m600(arg0, 3, Local0, bs1c)
+
+ if (y078) {
+ Store(ToString(Derefof(Refof(aub6)), bf74), Local0)
+ m600(arg0, 4, Local0, bs1b)
+
+ Store(ToString(Derefof(Refof(aub6)), bf61), Local0)
+ m600(arg0, 5, Local0, bs1c)
+ }
+
+ Store(ToString(Derefof(Index(paub, 6)), bf74), Local0)
+ m600(arg0, 6, Local0, bs1b)
+
+ Store(ToString(Derefof(Index(paub, 6)), bf61), Local0)
+ m600(arg0, 7, Local0, bs1c)
+
+ // Method returns Buffer
+
+ Store(ToString(m601(3, 6), bf74), Local0)
+ m600(arg0, 8, Local0, bs1b)
+
+ Store(ToString(m601(3, 6), bf61), Local0)
+ m600(arg0, 9, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(ToString(Derefof(m602(3, 6, 1)), bf74), Local0)
+ m600(arg0, 10, Local0, bs1b)
+
+ Store(ToString(Derefof(m602(3, 6, 1)), bf61), Local0)
+ m600(arg0, 11, Local0, bs1c)
+ }
+
+ ToString(Buffer() {"This is auxiliary Buffer"},
+ bf74, Local0)
+ m600(arg0, 12, Local0, bs1b)
+
+ ToString(Buffer() {"This is auxiliary Buffer"},
+ bf61, Local0)
+ m600(arg0, 13, Local0, bs1c)
+
+ ToString(aub6, bf74, Local0)
+ m600(arg0, 14, Local0, bs1b)
+
+ ToString(aub6, bf61, Local0)
+ m600(arg0, 15, Local0, bs1c)
+
+ if (y078) {
+ ToString(Derefof(Refof(aub6)), bf74, Local0)
+ m600(arg0, 16, Local0, bs1b)
+
+ ToString(Derefof(Refof(aub6)), bf61, Local0)
+ m600(arg0, 17, Local0, bs1c)
+ }
+
+ ToString(Derefof(Index(paub, 6)), bf74, Local0)
+ m600(arg0, 18, Local0, bs1b)
+
+ ToString(Derefof(Index(paub, 6)), bf61, Local0)
+ m600(arg0, 19, Local0, bs1c)
+
+ // Method returns Buffer
+
+ ToString(m601(3, 6), bf74, Local0)
+ m600(arg0, 20, Local0, bs1b)
+
+ ToString(m601(3, 6), bf61, Local0)
+ m600(arg0, 21, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ ToString(Derefof(m602(3, 6, 1)), bf74, Local0)
+ m600(arg0, 22, Local0, bs1b)
+
+ ToString(Derefof(m602(3, 6, 1)), bf61, Local0)
+ m600(arg0, 23, Local0, bs1c)
+ }
+ }
+
+ Method(m64r, 1)
+ {
+ CreateField(b640, 159, 64, bf65)
+
+ Store(Buffer(8){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, bf65)
+
+ Store(ToString(Buffer() {"This is auxiliary Buffer"},
+ bf65), Local0)
+ m600(arg0, 0, Local0, bs1c)
+
+ Store(ToString(aub6, bf65), Local0)
+ m600(arg0, 1, Local0, bs1c)
+
+ if (y078) {
+ Store(ToString(Derefof(Refof(aub6)), bf65), Local0)
+ m600(arg0, 2, Local0, bs1c)
+ }
+
+ Store(ToString(Derefof(Index(paub, 6)), bf65), Local0)
+ m600(arg0, 3, Local0, bs1c)
+
+ // Method returns Buffer
+
+ Store(ToString(m601(3, 6), bf65), Local0)
+ m600(arg0, 4, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(ToString(Derefof(m602(3, 6, 1)), bf65), Local0)
+ m600(arg0, 5, Local0, bs1c)
+ }
+
+ ToString(Buffer() {"This is auxiliary Buffer"},
+ bf65, Local0)
+ m600(arg0, 6, Local0, bs1c)
+
+ ToString(aub6, bf65, Local0)
+ m600(arg0, 7, Local0, bs1c)
+
+ if (y078) {
+ ToString(Derefof(Refof(aub6)), bf65, Local0)
+ m600(arg0, 8, Local0, bs1c)
+ }
+
+ ToString(Derefof(Index(paub, 6)), bf65, Local0)
+ m600(arg0, 9, Local0, bs1c)
+
+ // Method returns Buffer
+
+ ToString(m601(3, 6), bf65, Local0)
+ m600(arg0, 10, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ ToString(Derefof(m602(3, 6, 1)), bf65, Local0)
+ m600(arg0, 11, Local0, bs1c)
+ }
+ }
+
+ Method(m32r, 1)
+ {
+ CreateField(b640, 159, 64, bf65)
+
+ Store(Buffer(8){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, bf65)
+
+ Store(ToString(Buffer() {"This is auxiliary Buffer"},
+ bf65), Local0)
+ m600(arg0, 0, Local0, bs1c)
+
+ Store(ToString(aub6, bf65), Local0)
+ m600(arg0, 1, Local0, bs1c)
+
+ if (y078) {
+ Store(ToString(Derefof(Refof(aub6)), bf65), Local0)
+ m600(arg0, 2, Local0, bs1c)
+ }
+
+ Store(ToString(Derefof(Index(paub, 6)), bf65), Local0)
+ m600(arg0, 3, Local0, bs1c)
+
+ // Method returns Buffer
+
+ Store(ToString(m601(3, 6), bf65), Local0)
+ m600(arg0, 4, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(ToString(Derefof(m602(3, 6, 1)), bf65), Local0)
+ m600(arg0, 5, Local0, bs1c)
+ }
+
+ ToString(Buffer() {"This is auxiliary Buffer"},
+ bf65, Local0)
+ m600(arg0, 6, Local0, bs1c)
+
+ ToString(aub6, bf65, Local0)
+ m600(arg0, 7, Local0, bs1c)
+
+ if (y078) {
+ ToString(Derefof(Refof(aub6)), bf65, Local0)
+ m600(arg0, 8, Local0, bs1c)
+ }
+
+ ToString(Derefof(Index(paub, 6)), bf65, Local0)
+ m600(arg0, 9, Local0, bs1c)
+
+ // Method returns Buffer
+
+ ToString(m601(3, 6), bf65, Local0)
+ m600(arg0, 10, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ ToString(Derefof(m602(3, 6, 1)), bf65, Local0)
+ m600(arg0, 11, Local0, bs1c)
+ }
+ }
+
+ // Buffer Field to Integer conversion of the Buffer Field Index
+ // (second) operand of the Index operator
+ Method(m067, 1)
+ {
+ CreateField(b641, 420, 33, bf74)
+
+ Store(0xb, bf74)
+
+ Store(Index(aus6, bf74), Local0)
+ m600(arg0, 0, Derefof(Local0), bi10)
+
+ Store(Index(aub6, bf74), Local0)
+ m600(arg0, 1, Derefof(Local0), bi10)
+
+ Store(Index(aup0, bf74), Local0)
+ m600(arg0, 2, Derefof(Local0), bi11)
+
+ if (y078) {
+ Store(Index(Derefof(Refof(aus6)), bf74), Local0)
+ m600(arg0, 3, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Refof(aub6)), bf74), Local0)
+ m600(arg0, 4, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Refof(aup0)), bf74), Local0)
+ m600(arg0, 5, Derefof(Local0), bi11)
+ }
+
+ Store(Index(Derefof(Index(paus, 6)), bf74), Local0)
+ m600(arg0, 6, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Index(paub, 6)), bf74), Local0)
+ m600(arg0, 7, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Index(paup, 0)), bf74), Local0)
+ m600(arg0, 8, Derefof(Local0), bi11)
+
+
+ // Method returns Object
+
+ if (y900) {
+ Store(Index(m601(2, 6), bf74), Local0)
+ m600(arg0, 9, Derefof(Local0), bi10)
+
+ Store(Index(m601(3, 6), bf74), Local0)
+ m600(arg0, 10, Derefof(Local0), bi10)
+
+ Store(Index(m601(4, 0), bf74), Local0)
+ m600(arg0, 11, Derefof(Local0), bi11)
+ } else {
+
+ CH03(arg0, z089, 0, 0, 0)
+
+ Index(m601(2, 6), bf74)
+ CH04(arg0, 0, 85, z089, 9, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+
+ Index(m601(3, 6), bf74)
+ CH04(arg0, 0, 85, z089, 10, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+
+ Index(m601(4, 0), bf74)
+ CH04(arg0, 0, 85, z089, 11, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+ }
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Index(Derefof(m602(2, 6, 1)), bf74), Local0)
+ m600(arg0, 12, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(m602(3, 6, 1)), bf74), Local0)
+ m600(arg0, 13, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(m602(4, 0, 1)), bf74), Local0)
+ m600(arg0, 14, Derefof(Local0), bi11)
+ }
+
+ Index(aus6, bf74, Local0)
+ m600(arg0, 15, Derefof(Local0), bi10)
+
+ Index(aub6, bf74, Local0)
+ m600(arg0, 16, Derefof(Local0), bi10)
+
+ Index(aup0, bf74, Local0)
+ m600(arg0, 17, Derefof(Local0), bi11)
+
+ if (y078) {
+ Index(Derefof(Refof(aus6)), bf74, Local0)
+ m600(arg0, 18, Derefof(Local0), bi10)
+
+ Index(Derefof(Refof(aub6)), bf74, Local0)
+ m600(arg0, 19, Derefof(Local0), bi10)
+
+ Index(Derefof(Refof(aup0)), bf74, Local0)
+ m600(arg0, 20, Derefof(Local0), bi11)
+ }
+
+ Index(Derefof(Index(paus, 6)), bf74, Local0)
+ m600(arg0, 21, Derefof(Local0), bi10)
+
+ Index(Derefof(Index(paub, 6)), bf74, Local0)
+ m600(arg0, 22, Derefof(Local0), bi10)
+
+ Index(Derefof(Index(paup, 0)), bf74, Local0)
+ m600(arg0, 23, Derefof(Local0), bi11)
+
+
+ // Method returns Object
+
+ if (y900) {
+ Index(m601(2, 6), bf74, Local0)
+ m600(arg0, 24, Derefof(Local0), bi10)
+
+ Index(m601(3, 6), bf74, Local0)
+ m600(arg0, 25, Derefof(Local0), bi10)
+
+ Index(m601(4, 0), bf74, Local0)
+ m600(arg0, 26, Derefof(Local0), bi11)
+ } else {
+
+ CH03(arg0, z088, 0, 0, 0)
+
+ Index(m601(2, 6), bf74, Local0)
+ CH04(arg0, 0, 85, z088, 24, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+
+ Index(m601(3, 6), bf74, Local0)
+ CH04(arg0, 0, 85, z088, 25, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+
+ Index(m601(4, 0), bf74, Local0)
+ CH04(arg0, 0, 85, z088, 26, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+ }
+
+ // Method returns Reference
+
+ if (y500) {
+ Index(Derefof(m602(2, 6, 1)), bf74, Local0)
+ m600(arg0, 27, Derefof(Local0), bi10)
+
+ Index(Derefof(m602(3, 6, 1)), bf74, Local0)
+ m600(arg0, 28, Derefof(Local0), bi10)
+
+ Index(Derefof(m602(4, 0, 1)), bf74, Local0)
+ m600(arg0, 29, Derefof(Local0), bi11)
+ }
+
+ if (y098) {
+ Store(Index(aus6, bf74, Local1), Local0)
+ m600(arg0, 30, Derefof(Local0), bi10)
+
+ Store(Index(aub6, bf74, Local1), Local0)
+ m600(arg0, 31, Derefof(Local0), bi10)
+
+ Store(Index(aup0, bf74, Local1), Local0)
+ m600(arg0, 32, Derefof(Local0), bi11)
+ }
+
+ if (y078) {
+ Store(Index(Derefof(Refof(aus6)), bf74, Local1), Local0)
+ m600(arg0, 33, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Refof(aub6)), bf74, Local1), Local0)
+ m600(arg0, 34, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Refof(aup0)), bf74, Local1), Local0)
+ m600(arg0, 35, Derefof(Local0), bi11)
+ }
+
+ if (y098) {
+ Store(Index(Derefof(Index(paus, 6)), bf74, Local1), Local0)
+ m600(arg0, 36, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Index(paub, 6)), bf74, Local1), Local0)
+ m600(arg0, 37, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Index(paup, 0)), bf74, Local1), Local0)
+ m600(arg0, 38, Derefof(Local0), bi11)
+ }
+
+ // Method returns Object
+
+ if (LAnd(y900, y098)) {
+ Store(Index(m601(2, 6), bf74, Local1), Local0)
+ m600(arg0, 39, Derefof(Local0), bi10)
+
+ Store(Index(m601(3, 6), bf74, Local1), Local0)
+ m600(arg0, 40, Derefof(Local0), bi10)
+
+ Store(Index(m601(4, 0), bf74, Local1), Local0)
+ m600(arg0, 41, Derefof(Local0), bi11)
+ }
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Index(Derefof(m602(2, 6, 1)), bf74, Local1), Local0)
+ m600(arg0, 42, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(m602(3, 6, 1)), bf74, Local1), Local0)
+ m600(arg0, 43, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(m602(4, 0, 1)), bf74, Local1), Local0)
+ m600(arg0, 44, Derefof(Local0), bi11)
+ }
+ }
+
+ // Buffer Field to Integer conversion of the Buffer Field Arg (third)
+ // operand of the Fatal operator
+ // (it can only be checked an exception does not occur)
+ Method(m068, 1)
+ {
+ CreateField(b640, 0, 31, bf61)
+ CreateField(b640, 159, 64, bf65)
+
+ Store(Buffer(3){0x21, 0x03, 0x00}, bf61)
+ Store(Buffer(8){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, bf65)
+
+ CH03(arg0, z089, 0, 0, 0)
+ Fatal(0xff, 0xffffffff, bf61)
+ if (F64) {
+ Fatal(0xff, 0xffffffff, bf65)
+ } else {
+ Fatal(0xff, 0xffffffff, bf65)
+ }
+ CH03(arg0, z089, 1, 0, 0)
+ }
+
+ // Buffer Field to Integer conversion of the Buffer Field Index
+ // and Length operands of the Mid operator
+
+ // Common 32-bit/64-bit test
+ Method(m069, 1)
+ {
+ CreateField(b641, 420, 33, bf74)
+
+ Store(0xb, bf74)
+
+ // Buffer Field to Integer conversion of the Buffer Field Index operand
+
+ Store(Mid("This is auxiliary String", bf74, 10), Local0)
+ m600(arg0, 0, Local0, bs1d)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, bf74, 10), Local0)
+ m600(arg0, 1, Local0, bb32)
+
+ Store(Mid(aus6, bf74, 10), Local0)
+ m600(arg0, 2, Local0, bs1d)
+
+ Store(Mid(aub6, bf74, 10), Local0)
+ m600(arg0, 3, Local0, bb32)
+
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), bf74, 10), Local0)
+ m600(arg0, 4, Local0, bs1d)
+
+ Store(Mid(Derefof(Refof(aub6)), bf74, 10), Local0)
+ m600(arg0, 5, Local0, bb32)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), bf74, 10), Local0)
+ m600(arg0, 6, Local0, bs1d)
+
+ Store(Mid(Derefof(Index(paub, 6)), bf74, 10), Local0)
+ m600(arg0, 7, Local0, bb32)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), bf74, 10), Local0)
+ m600(arg0, 8, Local0, bs1d)
+
+ Store(Mid(m601(3, 6), bf74, 10), Local0)
+ m600(arg0, 9, Local0, bb32)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), bf74, 10), Local0)
+ m600(arg0, 10, Local0, bs1d)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), bf74, 10), Local0)
+ m600(arg0, 11, Local0, bb32)
+ }
+
+ Mid("This is auxiliary String", bf74, 10, Local0)
+ m600(arg0, 12, Local0, bs1d)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, bf74, 10, Local0)
+ m600(arg0, 13, Local0, bb32)
+
+ Mid(aus6, bf74, 10, Local0)
+ m600(arg0, 14, Local0, bs1d)
+
+ Mid(aub6, bf74, 10, Local0)
+ m600(arg0, 15, Local0, bb32)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), bf74, 10, Local0)
+ m600(arg0, 16, Local0, bs1d)
+
+ Mid(Derefof(Refof(aub6)), bf74, 10, Local0)
+ m600(arg0, 17, Local0, bb32)
+ }
+
+ Mid(Derefof(Index(paus, 6)), bf74, 10, Local0)
+ m600(arg0, 18, Local0, bs1d)
+
+ Mid(Derefof(Index(paub, 6)), bf74, 10, Local0)
+ m600(arg0, 19, Local0, bb32)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), bf74, 10, Local0)
+ m600(arg0, 20, Local0, bs1d)
+
+ Mid(m601(3, 6), bf74, 10, Local0)
+ m600(arg0, 21, Local0, bb32)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), bf74, 10, Local0)
+ m600(arg0, 22, Local0, bs1d)
+
+ Mid(Derefof(m602(3, 6, 1)), bf74, 10, Local0)
+ m600(arg0, 23, Local0, bb32)
+ }
+
+ // Buffer Field to Integer conversion of the Buffer Field Length operand
+
+ Store(Mid("This is auxiliary String", 0, bf74), Local0)
+ m600(arg0, 24, Local0, bs1b)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, 0, bf74), Local0)
+ m600(arg0, 25, Local0, bb33)
+
+ Store(Mid(aus6, 0, bf74), Local0)
+ m600(arg0, 26, Local0, bs1b)
+
+ Store(Mid(aub6, 0, bf74), Local0)
+ m600(arg0, 27, Local0, bb33)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), 0, bf74), Local0)
+ m600(arg0, 28, Local0, bs1b)
+
+ Store(Mid(Derefof(Refof(aub6)), 0, bf74), Local0)
+ m600(arg0, 29, Local0, bb33)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), 0, bf74), Local0)
+ m600(arg0, 30, Local0, bs1b)
+
+ Store(Mid(Derefof(Index(paub, 6)), 0, bf74), Local0)
+ m600(arg0, 31, Local0, bb33)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), 0, bf74), Local0)
+ m600(arg0, 32, Local0, bs1b)
+
+ Store(Mid(m601(3, 6), 0, bf74), Local0)
+ m600(arg0, 33, Local0, bb33)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), 0, bf74), Local0)
+ m600(arg0, 34, Local0, bs1b)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), 0, bf74), Local0)
+ m600(arg0, 35, Local0, bb33)
+ }
+
+ Mid("This is auxiliary String", 0, bf74, Local0)
+ m600(arg0, 36, Local0, bs1b)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, 0, bf74, Local0)
+ m600(arg0, 37, Local0, bb33)
+
+ Mid(aus6, 0, bf74, Local0)
+ m600(arg0, 37, Local0, bs1b)
+
+ Mid(aub6, 0, bf74, Local0)
+ m600(arg0, 39, Local0, bb33)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), 0, bf74, Local0)
+ m600(arg0, 40, Local0, bs1b)
+
+ Mid(Derefof(Refof(aub6)), 0, bf74, Local0)
+ m600(arg0, 41, Local0, bb33)
+ }
+
+ Mid(Derefof(Index(paus, 6)), 0, bf74, Local0)
+ m600(arg0, 42, Local0, bs1b)
+
+ Mid(Derefof(Index(paub, 6)), 0, bf74, Local0)
+ m600(arg0, 43, Local0, bb33)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), 0, bf74, Local0)
+ m600(arg0, 44, Local0, bs1b)
+
+ Mid(m601(3, 6), 0, bf74, Local0)
+ m600(arg0, 45, Local0, bb33)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), 0, bf74, Local0)
+ m600(arg0, 46, Local0, bs1b)
+
+ Mid(Derefof(m602(3, 6, 1)), 0, bf74, Local0)
+ m600(arg0, 47, Local0, bb33)
+ }
+ }
+
+ Method(m64s, 1)
+ {
+ CreateField(b640, 159, 64, bf65)
+ CreateField(b641, 420, 33, bf74)
+
+ Store(Buffer(8){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, bf65)
+ Store(0xb, bf74)
+
+ // Buffer Field to Integer conversion of the Buffer Field Length operand
+
+ Store(Mid("This is auxiliary String", 0, bf65), Local0)
+ m600(arg0, 0, Local0, bs1e)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, 0, bf65), Local0)
+ m600(arg0, 1, Local0, bb34)
+
+ Store(Mid(aus6, 0, bf65), Local0)
+ m600(arg0, 2, Local0, bs1e)
+
+ Store(Mid(aub6, 0, bf65), Local0)
+ m600(arg0, 3, Local0, bb34)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), 0, bf65), Local0)
+ m600(arg0, 4, Local0, bs1e)
+
+ Store(Mid(Derefof(Refof(aub6)), 0, bf65), Local0)
+ m600(arg0, 5, Local0, bb34)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), 0, bf65), Local0)
+ m600(arg0, 6, Local0, bs1e)
+
+ Store(Mid(Derefof(Index(paub, 6)), 0, bf65), Local0)
+ m600(arg0, 7, Local0, bb34)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), 0, bf65), Local0)
+ m600(arg0, 8, Local0, bs1e)
+
+ Store(Mid(m601(3, 6), 0, bf65), Local0)
+ m600(arg0, 9, Local0, bb34)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), 0, bf65), Local0)
+ m600(arg0, 10, Local0, bs1e)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), 0, bf65), Local0)
+ m600(arg0, 11, Local0, bb34)
+ }
+
+ Mid("This is auxiliary String", 0, bf65, Local0)
+ m600(arg0, 12, Local0, bs1e)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, 0, bf65, Local0)
+ m600(arg0, 13, Local0, bb34)
+
+ Mid(aus6, 0, bf65, Local0)
+ m600(arg0, 14, Local0, bs1e)
+
+ Mid(aub6, 0, bf65, Local0)
+ m600(arg0, 15, Local0, bb34)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), 0, bf65, Local0)
+ m600(arg0, 16, Local0, bs1e)
+
+ Mid(Derefof(Refof(aub6)), 0, bf65, Local0)
+ m600(arg0, 17, Local0, bb34)
+ }
+
+ Mid(Derefof(Index(paus, 6)), 0, bf65, Local0)
+ m600(arg0, 18, Local0, bs1e)
+
+ Mid(Derefof(Index(paub, 6)), 0, bf65, Local0)
+ m600(arg0, 19, Local0, bb34)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), 0, bf65, Local0)
+ m600(arg0, 20, Local0, bs1e)
+
+ Mid(m601(3, 6), 0, bf65, Local0)
+ m600(arg0, 21, Local0, bb34)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), 0, bf65, Local0)
+ m600(arg0, 22, Local0, bs1e)
+
+ Mid(Derefof(m602(3, 6, 1)), 0, bf65, Local0)
+ m600(arg0, 23, Local0, bb34)
+ }
+
+ // Buffer Field to Integer conversion of the both String operands
+
+ Store(Mid("This is auxiliary String", bf74, bf65), Local0)
+ m600(arg0, 24, Local0, bs1f)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, bf74, bf65), Local0)
+ m600(arg0, 25, Local0, bb35)
+
+ Store(Mid(aus6, bf74, bf65), Local0)
+ m600(arg0, 26, Local0, bs1f)
+
+ Store(Mid(aub6, bf74, bf65), Local0)
+ m600(arg0, 27, Local0, bb35)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), bf74, bf65), Local0)
+ m600(arg0, 28, Local0, bs1f)
+
+ Store(Mid(Derefof(Refof(aub6)), bf74, bf65), Local0)
+ m600(arg0, 29, Local0, bb35)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), bf74, bf65), Local0)
+ m600(arg0, 30, Local0, bs1f)
+
+ Store(Mid(Derefof(Index(paub, 6)), bf74, bf65), Local0)
+ m600(arg0, 31, Local0, bb35)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), bf74, bf65), Local0)
+ m600(arg0, 32, Local0, bs1f)
+
+ Store(Mid(m601(3, 6), bf74, bf65), Local0)
+ m600(arg0, 33, Local0, bb35)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), bf74, bf65), Local0)
+ m600(arg0, 34, Local0, bs1f)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), bf74, bf65), Local0)
+ m600(arg0, 35, Local0, bb35)
+ }
+
+ Mid("This is auxiliary String", bf74, bf65, Local0)
+ m600(arg0, 36, Local0, bs1f)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, bf74, bf65, Local0)
+ m600(arg0, 37, Local0, bb35)
+
+ Mid(aus6, bf74, bf65, Local0)
+ m600(arg0, 38, Local0, bs1f)
+
+ Mid(aub6, bf74, bf65, Local0)
+ m600(arg0, 39, Local0, bb35)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), bf74, bf65, Local0)
+ m600(arg0, 40, Local0, bs1f)
+
+ Mid(Derefof(Refof(aub6)), bf74, bf65, Local0)
+ m600(arg0, 41, Local0, bb35)
+ }
+
+ Mid(Derefof(Index(paus, 6)), bf74, bf65, Local0)
+ m600(arg0, 42, Local0, bs1f)
+
+ Mid(Derefof(Index(paub, 6)), bf74, bf65, Local0)
+ m600(arg0, 43, Local0, bb35)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), bf74, bf65, Local0)
+ m600(arg0, 44, Local0, bs1f)
+
+ Mid(m601(3, 6), bf74, bf65, Local0)
+ m600(arg0, 45, Local0, bb35)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), bf74, bf65, Local0)
+ m600(arg0, 46, Local0, bs1f)
+
+ Mid(Derefof(m602(3, 6, 1)), bf74, bf65, Local0)
+ m600(arg0, 47, Local0, bb35)
+ }
+ }
+
+ Method(m32s, 1)
+ {
+ CreateField(b640, 159, 64, bf65)
+ CreateField(b641, 420, 33, bf74)
+
+ Store(Buffer(8){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, bf65)
+ Store(0xb, bf74)
+
+ // Buffer Field to Integer conversion of the Buffer Field Length operand
+
+ Store(Mid("This is auxiliary String", 0, bf65), Local0)
+ m600(arg0, 0, Local0, bs1e)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, 0, bf65), Local0)
+ m600(arg0, 1, Local0, bb34)
+
+ Store(Mid(aus6, 0, bf65), Local0)
+ m600(arg0, 2, Local0, bs1e)
+
+ Store(Mid(aub6, 0, bf65), Local0)
+ m600(arg0, 3, Local0, bb34)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), 0, bf65), Local0)
+ m600(arg0, 4, Local0, bs1e)
+
+ Store(Mid(Derefof(Refof(aub6)), 0, bf65), Local0)
+ m600(arg0, 5, Local0, bb34)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), 0, bf65), Local0)
+ m600(arg0, 6, Local0, bs1e)
+
+ Store(Mid(Derefof(Index(paub, 6)), 0, bf65), Local0)
+ m600(arg0, 7, Local0, bb34)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), 0, bf65), Local0)
+ m600(arg0, 8, Local0, bs1e)
+
+ Store(Mid(m601(3, 6), 0, bf65), Local0)
+ m600(arg0, 9, Local0, bb34)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), 0, bf65), Local0)
+ m600(arg0, 10, Local0, bs1e)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), 0, bf65), Local0)
+ m600(arg0, 11, Local0, bb34)
+ }
+
+ Mid("This is auxiliary String", 0, bf65, Local0)
+ m600(arg0, 12, Local0, bs1e)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, 0, bf65, Local0)
+ m600(arg0, 13, Local0, bb34)
+
+ Mid(aus6, 0, bf65, Local0)
+ m600(arg0, 14, Local0, bs1e)
+
+ Mid(aub6, 0, bf65, Local0)
+ m600(arg0, 15, Local0, bb34)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), 0, bf65, Local0)
+ m600(arg0, 16, Local0, bs1e)
+
+ Mid(Derefof(Refof(aub6)), 0, bf65, Local0)
+ m600(arg0, 17, Local0, bb34)
+ }
+
+ Mid(Derefof(Index(paus, 6)), 0, bf65, Local0)
+ m600(arg0, 18, Local0, bs1e)
+
+ Mid(Derefof(Index(paub, 6)), 0, bf65, Local0)
+ m600(arg0, 19, Local0, bb34)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), 0, bf65, Local0)
+ m600(arg0, 20, Local0, bs1e)
+
+ Mid(m601(3, 6), 0, bf65, Local0)
+ m600(arg0, 21, Local0, bb34)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), 0, bf65, Local0)
+ m600(arg0, 22, Local0, bs1e)
+
+ Mid(Derefof(m602(3, 6, 1)), 0, bf65, Local0)
+ m600(arg0, 23, Local0, bb34)
+ }
+
+ // Buffer Field to Integer conversion of the both String operands
+
+ Store(Mid("This is auxiliary String", bf74, bf65), Local0)
+ m600(arg0, 24, Local0, bs1f)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, bf74, bf65), Local0)
+ m600(arg0, 25, Local0, bb35)
+
+ Store(Mid(aus6, bf74, bf65), Local0)
+ m600(arg0, 26, Local0, bs1f)
+
+ Store(Mid(aub6, bf74, bf65), Local0)
+ m600(arg0, 27, Local0, bb35)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), bf74, bf65), Local0)
+ m600(arg0, 28, Local0, bs1f)
+
+ Store(Mid(Derefof(Refof(aub6)), bf74, bf65), Local0)
+ m600(arg0, 29, Local0, bb35)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), bf74, bf65), Local0)
+ m600(arg0, 30, Local0, bs1f)
+
+ Store(Mid(Derefof(Index(paub, 6)), bf74, bf65), Local0)
+ m600(arg0, 31, Local0, bb35)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), bf74, bf65), Local0)
+ m600(arg0, 32, Local0, bs1f)
+
+ Store(Mid(m601(3, 6), bf74, bf65), Local0)
+ m600(arg0, 33, Local0, bb35)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), bf74, bf65), Local0)
+ m600(arg0, 34, Local0, bs1f)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), bf74, bf65), Local0)
+ m600(arg0, 35, Local0, bb35)
+ }
+
+ Mid("This is auxiliary String", bf74, bf65, Local0)
+ m600(arg0, 36, Local0, bs1f)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, bf74, bf65, Local0)
+ m600(arg0, 37, Local0, bb35)
+
+ Mid(aus6, bf74, bf65, Local0)
+ m600(arg0, 38, Local0, bs1f)
+
+ Mid(aub6, bf74, bf65, Local0)
+ m600(arg0, 39, Local0, bb35)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), bf74, bf65, Local0)
+ m600(arg0, 40, Local0, bs1f)
+
+ Mid(Derefof(Refof(aub6)), bf74, bf65, Local0)
+ m600(arg0, 41, Local0, bb35)
+ }
+
+ Mid(Derefof(Index(paus, 6)), bf74, bf65, Local0)
+ m600(arg0, 42, Local0, bs1f)
+
+ Mid(Derefof(Index(paub, 6)), bf74, bf65, Local0)
+ m600(arg0, 43, Local0, bb35)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), bf74, bf65, Local0)
+ m600(arg0, 44, Local0, bs1f)
+
+ Mid(m601(3, 6), bf74, bf65, Local0)
+ m600(arg0, 45, Local0, bb35)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), bf74, bf65, Local0)
+ m600(arg0, 46, Local0, bs1f)
+
+ Mid(Derefof(m602(3, 6, 1)), bf74, bf65, Local0)
+ m600(arg0, 47, Local0, bb35)
+ }
+ }
+
+ // Buffer Field to Integer conversion of the Buffer Field StartIndex
+ // operand of the Match operator
+ Method(m06a, 1)
+ {
+ CreateField(b641, 420, 33, bf74)
+
+ Store(0xb, bf74)
+
+ Store(Match(
+ Package(){
+ 0xa50, 0xa51, 0xa52, 0xa53, 0xa54, 0xa55, 0xa56, 0xa57,
+ 0xa58, 0xa59, 0xa5a, 0xa5b, 0xa5c, 0xa5d, 0xa5e,},
+ MEQ, 0xa5d, MTR, 0, bf74), Local0)
+ m600(arg0, 0, Local0, 0xd)
+
+ Store(Match(
+ Package(){
+ 0xa50, 0xa51, 0xa52, 0xa53, 0xa54, 0xa55, 0xa56, 0xa57,
+ 0xa58, 0xa59, 0xa5a, 0xa5b, 0xa5c, 0xa5d, 0xa5e,},
+ MEQ, 0xa5a, MTR, 0, bf74), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(Match(aup0, MEQ, 0xa5d, MTR, 0, bf74), Local0)
+ m600(arg0, 2, Local0, 0xd)
+
+ Store(Match(aup0, MEQ, 0xa5a, MTR, 0, bf74), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(Match(Derefof(Refof(aup0)), MEQ, 0xa5d, MTR, 0, bf74), Local0)
+ m600(arg0, 4, Local0, 0xd)
+
+ Store(Match(Derefof(Refof(aup0)), MEQ, 0xa5a, MTR, 0, bf74), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(Match(Derefof(Index(paup, 0)), MEQ, 0xa5d, MTR, 0, bf74), Local0)
+ m600(arg0, 6, Local0, 0xd)
+
+ Store(Match(Derefof(Index(paup, 0)), MEQ, 0xa5a, MTR, 0, bf74), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Object
+
+ Store(Match(m601(4, 0), MEQ, 0xa5d, MTR, 0, bf74), Local0)
+ m600(arg0, 8, Local0, 0xd)
+
+ Store(Match(m601(4, 0), MEQ, 0xa5a, MTR, 0, bf74), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Match(Derefof(m602(4, 0, 1)), MEQ, 0xa5d, MTR, 0, bf74), Local0)
+ m600(arg0, 10, Local0, 0xd)
+
+ Store(Match(Derefof(m602(4, 0, 1)), MEQ, 0xa5a, MTR, 0, bf74), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+ }
+
+ // Buffer Field to Integer conversion of the Buffer Field sole operand
+ // of the Method execution control operators (Sleep, Stall)
+ Method(m06b, 1)
+ {
+ CreateField(b640, 0, 31, bf61)
+ CreateField(b641, 453, 33, bf75)
+
+ Store(Buffer(3){0x21, 0x03, 0x00}, bf61)
+ Store(0x3f, bf75)
+
+ CH03(arg0, z089, 2, 0, 0)
+
+ // Sleep
+
+ Store(Timer, Local0)
+
+ Sleep(bf61)
+ CH03(arg0, z089, 3, 0, 0)
+
+ Store(Timer, Local1)
+ Subtract(Local1, Local0, Local2)
+ if (LLess(Local2, c08c)) {
+ err(arg0, z089, 0, 0, 0, Local2, c08c)
+ }
+
+ // Stall
+
+ Store(Timer, Local0)
+
+ Stall(bf75)
+ CH03(arg0, z089, 4, 0, 0)
+
+ Store(Timer, Local1)
+ Subtract(Local1, Local0, Local2)
+ if (LLess(Local2, 990)) {
+ err(arg0, z089, 1, 0, 0, Local2, 990)
+ }
+ }
+
+ // Buffer Field to Integer conversion of the Buffer Field TimeoutValue
+ // (second) operand of the Acquire operator
+
+ Method(m06c, 1)
+ {
+ CreateField(b640, 0, 31, bf61)
+
+ Store(Buffer(3){0x21, 0x03, 0x00}, bf61)
+
+ Mutex(MTX0, 0)
+
+ Acquire(MTX0, 0)
+ CH03(arg0, z089, 5, 0, 0)
+
+ Store(Timer, Local0)
+
+/* Compiler allows only Integer constant as TimeoutValue (Bug 1)
+ Acquire(MTX0, bf61)
+*/
+ CH03(arg0, z089, 6, 0, 0)
+
+ Store(Timer, Local1)
+ Subtract(Local1, Local0, Local2)
+ if (LLess(Local2, c08c)) {
+ err(arg0, z089, 0, 0, 0, Local2, c08c)
+ }
+ }
+
+ // Buffer Field to Integer conversion of the Buffer Field TimeoutValue
+ // (second) operand of the Wait operator
+ Method(m06d, 1)
+ {
+ CreateField(b640, 0, 31, bf61)
+
+ Store(Buffer(3){0x21, 0x03, 0x00}, bf61)
+
+ Event(EVT0)
+
+ CH03(arg0, z089, 7, 0, 0)
+
+ Store(Timer, Local0)
+
+ Wait(EVT0, bf61)
+ CH03(arg0, z089, 8, 0, 0)
+
+ Store(Timer, Local1)
+ Subtract(Local1, Local0, Local2)
+ if (LLess(Local2, c08c)) {
+ err(arg0, z089, 0, 0, 0, Local2, c08c)
+ }
+ }
+
+ // Buffer Field to Integer conversion of the Buffer Field value
+ // of Predicate of the Method execution control statements
+ // (If, ElseIf, While)
+ Method(m06e, 1)
+ {
+ Name(ist0, 0)
+ CreateField(b640, 0, 31, bf61)
+ CreateField(b640, 159, 64, bf65)
+ CreateField(b641, 486, 33, bf76)
+
+ Store(Buffer(3){0x21, 0x03, 0x00}, bf61)
+ Store(Buffer(8){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, bf65)
+ Store(0, bf76)
+
+
+ Method(m001)
+ {
+ if (bf76) {
+ Store(0, ist0)
+ }
+ }
+
+ Method(m002)
+ {
+ if (bf61) {
+ Store(2, ist0)
+ }
+ }
+
+ Method(m003)
+ {
+ if (bf65) {
+ Store(3, ist0)
+ }
+ }
+
+ Method(m004)
+ {
+ if (bf65) {
+ Store(4, ist0)
+ }
+ }
+
+ Method(m005, 1)
+ {
+ if (arg0) {
+ Store(0xff, ist0)
+ } elseif (bf76) {
+ Store(0, ist0)
+ }
+ }
+
+ Method(m006, 1)
+ {
+ if (arg0) {
+ Store(0xff, ist0)
+ } elseif (bf61) {
+ Store(6, ist0)
+ }
+ }
+
+ Method(m007, 1)
+ {
+ if (arg0) {
+ Store(0xff, ist0)
+ } elseif (bf65) {
+ Store(7, ist0)
+ }
+ }
+
+ Method(m008, 1)
+ {
+ if (arg0) {
+ Store(0xff, ist0)
+ } elseif (bf65) {
+ Store(8, ist0)
+ }
+ }
+
+ Method(m009)
+ {
+ while (bf76) {
+ Store(0, ist0)
+ }
+ }
+
+ // If
+
+ Store(1, ist0)
+ m001()
+ m600(arg0, 0, ist0, 1)
+
+ m002()
+ m600(arg0, 1, ist0, 2)
+
+ m003()
+ m600(arg0, 2, ist0, 3)
+
+ m004()
+ m600(arg0, 3, ist0, 4)
+
+ // ElseIf
+
+ Store(5, ist0)
+ m005(0)
+ m600(arg0, 4, ist0, 5)
+
+ m006(0)
+ m600(arg0, 5, ist0, 6)
+
+ m007(0)
+ m600(arg0, 6, ist0, 7)
+
+ m008(0)
+ m600(arg0, 7, ist0, 8)
+
+ // While
+
+ Store(9, ist0)
+ m009()
+ m600(arg0, 8, ist0, 9)
+ }
+
+ /*
+ * Begin of the test body
+ */
+
+ // Buffer Field to Buffer implicit conversion Cases.
+
+ // Buffer Field to Buffer conversion of the Buffer Field second operand
+ // of Logical operators when the first operand is evaluated as Buffer
+ // (LEqual, LGreater, LGreaterEqual, LLess, LLessEqual, LNotEqual)
+ if (F64) {
+ Concatenate(ts, "-m644", Local0)
+ SRMT(Local0)
+ m644(Local0)
+ } else {
+ Concatenate(ts, "-m324", Local0)
+ SRMT(Local0)
+ m324(Local0)
+ }
+
+ // Buffer Field to Buffer conversion of the both Integer operands
+ // of Concatenate operator
+ if (F64) {
+ Concatenate(ts, "-m645", Local0)
+ SRMT(Local0)
+ m645(Local0)
+ } else {
+ Concatenate(ts, "-m325", Local0)
+ SRMT(Local0)
+ m325(Local0)
+ }
+
+ // Buffer Field to Buffer conversion of the Buffer Field second operand
+ // of Concatenate operator when the first operand is evaluated as Buffer
+ if (F64) {
+ Concatenate(ts, "-m646", Local0)
+ SRMT(Local0)
+ m646(Local0)
+ } else {
+ Concatenate(ts, "-m326", Local0)
+ SRMT(Local0)
+ m326(Local0)
+ }
+
+ // Buffer Field to Buffer conversion of the Buffer Field Source operand
+ // of ToString operator
+ if (F64) {
+ Concatenate(ts, "-m647", Local0)
+ SRMT(Local0)
+ m647(Local0)
+ } else {
+ Concatenate(ts, "-m327", Local0)
+ SRMT(Local0)
+ m327(Local0)
+ }
+
+ // Buffer Field to Buffer conversion of the Buffer Field Source operand
+ // of Mid operator
+ if (F64) {
+ Concatenate(ts, "-m648", Local0)
+ SRMT(Local0)
+ m648(Local0)
+ } else {
+ Concatenate(ts, "-m328", Local0)
+ SRMT(Local0)
+ m328(Local0)
+ }
+
+
+ // Buffer Field to Integer implicit conversion Cases.
+
+ // Buffer Field to Integer conversion of the Buffer Field sole operand
+ // of the 1-parameter Integer arithmetic operators
+ // (Decrement, Increment, FindSetLeftBit, FindSetRightBit, Not)
+ if (F64) {
+ Concatenate(ts, "-m64l", Local0)
+ SRMT(Local0)
+ m64l(Local0)
+ } else {
+ Concatenate(ts, "-m32l", Local0)
+ SRMT(Local0)
+ m32l(Local0)
+ }
+
+ // Buffer Field to Integer conversion of the Buffer Field sole operand
+ // of the LNot Logical Integer operator
+ Concatenate(ts, "-m03a", Local0)
+ SRMT(Local0)
+ m03a(Local0)
+
+ // Buffer Field to Integer conversion of the Buffer Field sole operand
+ // of the FromBCD and ToBCD conversion operators
+ if (F64) {
+ Concatenate(ts, "-m64m", Local0)
+ SRMT(Local0)
+ m64m(Local0)
+ } else {
+ Concatenate(ts, "-m32m", Local0)
+ SRMT(Local0)
+ m32m(Local0)
+ }
+
+ // Buffer Field to Integer conversion of each Buffer operand
+ // of the 2-parameter Integer arithmetic operators
+ // Add, And, Divide, Mod, Multiply, NAnd, NOr, Or,
+ // ShiftLeft, ShiftRight, Subtract, Xor
+ if (F64) {
+ m64n(Concatenate(ts, "-m64n"))
+ } else {
+ m32n(Concatenate(ts, "-m32n"))
+ }
+
+ // Buffer Field to Integer conversion of each Buffer operand
+ // of the 2-parameter Logical Integer operators LAnd and LOr
+ if (F64) {
+ m64o(Concatenate(ts, "-m64o"))
+ } else {
+ m32o(Concatenate(ts, "-m32o"))
+ }
+
+ // Buffer Field to Integer conversion of the Buffer Field second operand
+ // of Logical operators when the first operand is evaluated as Integer
+ // (LEqual, LGreater, LGreaterEqual, LLess, LLessEqual, LNotEqual)
+
+ Concatenate(ts, "-m065", Local0)
+ SRMT(Local0)
+ m065(Local0)
+
+ if (F64) {
+ Concatenate(ts, "-m64p", Local0)
+ SRMT(Local0)
+ m64p(Local0)
+ } else {
+ Concatenate(ts, "-m32p", Local0)
+ SRMT(Local0)
+ m32p(Local0)
+ }
+
+ // Buffer Field to Integer intermediate conversion of the Buffer Field
+ // second operand of Concatenate operator in case the first one is Integer
+ if (F64) {
+ Concatenate(ts, "-m64q", Local0)
+ SRMT(Local0)
+ m64q(Local0)
+ } else {
+ Concatenate(ts, "-m32q", Local0)
+ SRMT(Local0)
+ m32q(Local0)
+ }
+
+ // Buffer Field to Integer conversion of the Buffer Field Length
+ // (second) operand of the ToString operator
+
+ Concatenate(ts, "-m066", Local0)
+ SRMT(Local0)
+ m066(Local0)
+
+ if (F64) {
+ Concatenate(ts, "-m64r", Local0)
+ SRMT(Local0)
+ m64r(Local0)
+ } else {
+ Concatenate(ts, "-m32r", Local0)
+ SRMT(Local0)
+ m32r(Local0)
+ }
+
+ // Buffer Field to Integer conversion of the Buffer Field Index
+ // (second) operand of the Index operator
+ Concatenate(ts, "-m067", Local0)
+ SRMT(Local0)
+ m067(Local0)
+
+ // Buffer Field to Integer conversion of the Buffer Field Arg (third)
+ // operand of the Fatal operator
+ // (it can only be checked an exception does not occur)
+ Concatenate(ts, "-m068", Local0)
+ SRMT(Local0)
+ m068(Local0)
+
+ // Buffer Field to Integer conversion of the Buffer Field Index
+ // and Length operands of the Mid operator
+
+ Concatenate(ts, "-m069", Local0)
+ SRMT(Local0)
+ m069(Local0)
+
+ if (F64) {
+ Concatenate(ts, "-m64s", Local0)
+ SRMT(Local0)
+ m64s(Local0)
+ } else {
+ Concatenate(ts, "-m32s", Local0)
+ SRMT(Local0)
+ m32s(Local0)
+ }
+
+ // Buffer Field to Integer conversion of the Buffer Field StartIndex
+ // operand of the Match operator
+ Concatenate(ts, "-m06a", Local0)
+ SRMT(Local0)
+ m06a(Local0)
+
+ // Buffer Field to Integer conversion of the Buffer Field sole operand
+ // of the Method execution control operators (Sleep, Stall)
+ Concatenate(ts, "-m06b", Local0)
+ SRMT(Local0)
+ m06b(Local0)
+
+ // Buffer Field to Integer conversion of the Buffer Field TimeoutValue
+ // (second) operand of the Wait operator
+ Concatenate(ts, "-m06d", Local0)
+ SRMT(Local0)
+ m06d(Local0)
+
+ // Buffer Field to Integer conversion of the Buffer Field value
+ // of Predicate of the Method execution control statements
+ // (If, ElseIf, While)
+ Concatenate(ts, "-m06e", Local0)
+ SRMT(Local0)
+ m06e(Local0)
+}
+
+// Run-method
+Method(OPR2)
+{
+ Store("TEST: OPR2, Source Operand", Debug)
+
+ m613()
+ m614()
+}
diff --git a/tests/aslts/src/runtime/collections/complex/operand/tests/opackageel/MAIN.asl b/tests/aslts/src/runtime/collections/complex/operand/tests/opackageel/MAIN.asl
new file mode 100644
index 000000000..9434a81e1
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/operand/tests/opackageel/MAIN.asl
@@ -0,0 +1,58 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "opackageel.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../../runtime/cntl/DECL_6UP.asl")
+ Include("../../../../../../runtime/collections/complex/operand/common/ocommon.asl")
+ Include("../../../../../../runtime/collections/complex/operand/tests/opackageel/opackageel.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../../runtime/collections/complex/operand/tests/opackageel/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/complex/operand/tests/opackageel/Makefile b/tests/aslts/src/runtime/collections/complex/operand/tests/opackageel/Makefile
new file mode 100644
index 000000000..7cc2a7762
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/operand/tests/opackageel/Makefile
@@ -0,0 +1,7 @@
+# opackageel
+
+AMLMOD= opackageel
+COLL= ../../../..
+
+TOP= $(COLL)/../../..
+include $(COLL)/Makefile.install
diff --git a/tests/aslts/src/runtime/collections/complex/operand/tests/opackageel/RUN.asl b/tests/aslts/src/runtime/collections/complex/operand/tests/opackageel/RUN.asl
new file mode 100644
index 000000000..c62531f7b
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/operand/tests/opackageel/RUN.asl
@@ -0,0 +1,35 @@
+/*
+ * 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.
+ */
+
+
+if (STTT("Source Operand, Package element data", TCLC, 8, W010)) {
+ OPR3()
+}
+FTTT()
diff --git a/tests/aslts/src/runtime/collections/complex/operand/tests/opackageel/opackageel.asl b/tests/aslts/src/runtime/collections/complex/operand/tests/opackageel/opackageel.asl
new file mode 100644
index 000000000..1c0373f69
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/operand/tests/opackageel/opackageel.asl
@@ -0,0 +1,25199 @@
+/*
+ * 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.
+ */
+
+/*
+ * Check implicit conversion being applied to the Elements
+ * of the Packages in the root Scope of the Global ACPI namespace.
+ */
+
+Name(z090, 90)
+
+Method(m615)
+{
+ Name(ts, "m615")
+
+ // Integer to String implicit conversion Cases.
+
+ // Integer to String conversion of the Integer second operand of
+ // Logical operators when the first operand is evaluated as String.
+ // LEqual LGreater LGreaterEqual LLess LLessEqual LNotEqual
+
+ Method(m640, 1)
+ {
+ // LEqual
+
+ Store(LEqual("FE7CB391D650A284", Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual("fE7CB391D650A284", Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(aus4, Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(LEqual(aus5, Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 3, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aus4)), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(aus5)), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 5, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paus, 4)), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paus, 5)), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ // Method returns String
+
+ Store(LEqual(m601(2, 4), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(LEqual(m601(2, 5), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 9, Local0, Zero)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(2, 4, 1)), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(2, 5, 1)), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 11, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater("FE7CB391D650A284", Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LGreater("fE7CB391D650A284", Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LGreater("FE7CB391D650A28 ", Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LGreater("FE7CB391D650A284q", Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LGreater(aus4, Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LGreater(aus5, Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 17, Local0, Ones)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aus4)), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(aus5)), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 19, Local0, Ones)
+ }
+
+ Store(LGreater(Derefof(Index(paus, 4)), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paus, 5)), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns String
+
+ Store(LGreater(m601(2, 4), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LGreater(m601(2, 5), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 23, Local0, Ones)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(2, 4, 1)), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(2, 5, 1)), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual("FE7CB391D650A284", Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 26, Local0, Ones)
+
+ Store(LGreaterEqual("fE7CB391D650A284", Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 27, Local0, Ones)
+
+ Store(LGreaterEqual("FE7CB391D650A28 ", Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 28, Local0, Zero)
+
+ Store(LGreaterEqual("FE7CB391D650A284q", Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 29, Local0, Ones)
+
+ Store(LGreaterEqual(aus4, Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 30, Local0, Ones)
+
+ Store(LGreaterEqual(aus5, Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aus4)), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 32, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(aus5)), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 33, Local0, Ones)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paus, 4)), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paus, 5)), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 35, Local0, Ones)
+
+ // Method returns String
+
+ Store(LGreaterEqual(m601(2, 4), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(m601(2, 5), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(2, 4, 1)), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 38, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(2, 5, 1)), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 39, Local0, Ones)
+ }
+
+ // LLess
+
+ Store(LLess("FE7CB391D650A284", Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 40, Local0, Zero)
+
+ Store(LLess("fE7CB391D650A284", Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ Store(LLess("FE7CB391D650A28 ", Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LLess("FE7CB391D650A284q", Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 43, Local0, Zero)
+
+ Store(LLess(aus4, Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 44, Local0, Zero)
+
+ Store(LLess(aus5, Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 45, Local0, Zero)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aus4)), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 46, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(aus5)), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 47, Local0, Zero)
+ }
+
+ Store(LLess(Derefof(Index(paus, 4)), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 48, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paus, 5)), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 49, Local0, Zero)
+
+ // Method returns String
+
+ Store(LLess(m601(2, 4), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ Store(LLess(m601(2, 5), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 51, Local0, Zero)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LLess(Derefof(m602(2, 4, 1)), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 52, Local0, Zero)
+
+ Store(LLess(Derefof(m602(2, 5, 1)), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual("FE7CB391D650A284", Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 54, Local0, Ones)
+
+ Store(LLessEqual("fE7CB391D650A284", Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLessEqual("FE7CB391D650A28 ", Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLessEqual("FE7CB391D650A284q", Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLessEqual(aus4, Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 58, Local0, Ones)
+
+ Store(LLessEqual(aus5, Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 59, Local0, Zero)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aus4)), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 60, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(aus5)), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 61, Local0, Zero)
+ }
+
+ Store(LLessEqual(Derefof(Index(paus, 4)), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 62, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paus, 5)), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ // Method returns String
+
+ Store(LLessEqual(m601(2, 4), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 64, Local0, Ones)
+
+ Store(LLessEqual(m601(2, 5), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 65, Local0, Zero)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(2, 4, 1)), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 66, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(2, 5, 1)), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 67, Local0, Zero)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual("FE7CB391D650A284", Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 68, Local0, Zero)
+
+ Store(LNotEqual("fE7CB391D650A284", Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 69, Local0, Ones)
+
+ Store(LNotEqual("FE7CB391D650A28 ", Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 70, Local0, Ones)
+
+ Store(LNotEqual("FE7CB391D650A284q", Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 71, Local0, Ones)
+
+ Store(LNotEqual(aus4, Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 72, Local0, Zero)
+
+ Store(LNotEqual(aus5, Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 73, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aus4)), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 74, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(aus5)), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 75, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paus, 4)), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paus, 5)), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ // Method returns String
+
+ Store(LNotEqual(m601(2, 4), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 78, Local0, Zero)
+
+ Store(LNotEqual(m601(2, 5), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 79, Local0, Ones)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(2, 4, 1)), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 80, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(2, 5, 1)), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 81, Local0, Ones)
+ }
+ }
+
+ Method(m320, 1)
+ {
+ // LEqual
+
+ Store(LEqual("C179B3FE", Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual("c179B3FE", Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(aus3, Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(LEqual(aus2, Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 3, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aus3)), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(aus2)), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 5, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paus, 3)), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paus, 2)), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ // Method returns String
+
+ Store(LEqual(m601(2, 3), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(LEqual(m601(2, 2), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 9, Local0, Zero)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(2, 3, 1)), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(2, 2, 1)), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 11, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater("C179B3FE", Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LGreater("c179B3FE", Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LGreater("C179B3F ", Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LGreater("C179B3FEq", Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LGreater(aus3, Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LGreater(aus2, Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 17, Local0, Ones)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aus3)), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(aus2)), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 19, Local0, Ones)
+ }
+
+ Store(LGreater(Derefof(Index(paus, 3)), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paus, 2)), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns String
+
+ Store(LGreater(m601(2, 3), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LGreater(m601(2, 2), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 23, Local0, Ones)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(2, 3, 1)), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(2, 2, 1)), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual("C179B3FE", Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 26, Local0, Ones)
+
+ Store(LGreaterEqual("c179B3FE", Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 27, Local0, Ones)
+
+ Store(LGreaterEqual("C179B3F ", Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 28, Local0, Zero)
+
+ Store(LGreaterEqual("C179B3FEq", Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 29, Local0, Ones)
+
+ Store(LGreaterEqual(aus3, Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 30, Local0, Ones)
+
+ Store(LGreaterEqual(aus2, Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aus3)), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 32, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(aus2)), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 33, Local0, Ones)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paus, 3)), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paus, 2)), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 35, Local0, Ones)
+
+ // Method returns String
+
+ Store(LGreaterEqual(m601(2, 3), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(m601(2, 2), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(2, 3, 1)), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 38, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(2, 2, 1)), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 39, Local0, Ones)
+ }
+
+ // LLess
+
+ Store(LLess("C179B3FE", Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 40, Local0, Zero)
+
+ Store(LLess("c179B3FE", Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ Store(LLess("C179B3F ", Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LLess("C179B3FEq", Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 43, Local0, Zero)
+
+ Store(LLess(aus3, Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 44, Local0, Zero)
+
+ Store(LLess(aus2, Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 45, Local0, Zero)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aus3)), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 46, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(aus2)), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 47, Local0, Zero)
+ }
+
+ Store(LLess(Derefof(Index(paus, 3)), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 48, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paus, 2)), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 49, Local0, Zero)
+
+ // Method returns String
+
+ Store(LLess(m601(2, 3), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ Store(LLess(m601(2, 2), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 51, Local0, Zero)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LLess(Derefof(m602(2, 3, 1)), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 52, Local0, Zero)
+
+ Store(LLess(Derefof(m602(2, 2, 1)), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual("C179B3FE", Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 54, Local0, Ones)
+
+ Store(LLessEqual("c179B3FE", Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLessEqual("C179B3F ", Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLessEqual("C179B3FEq", Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLessEqual(aus3, Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 58, Local0, Ones)
+
+ Store(LLessEqual(aus2, Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 59, Local0, Zero)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aus3)), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 60, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(aus2)), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 61, Local0, Zero)
+ }
+
+ Store(LLessEqual(Derefof(Index(paus, 3)), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 62, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paus, 2)), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ // Method returns String
+
+ Store(LLessEqual(m601(2, 3), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 64, Local0, Ones)
+
+ Store(LLessEqual(m601(2, 2), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 65, Local0, Zero)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(2, 3, 1)), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 66, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(2, 2, 1)), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 67, Local0, Zero)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual("C179B3FE", Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 68, Local0, Zero)
+
+ Store(LNotEqual("c179B3FE", Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 69, Local0, Ones)
+
+ Store(LNotEqual("C179B3F ", Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 70, Local0, Ones)
+
+ Store(LNotEqual("C179B3FEq", Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 71, Local0, Ones)
+
+ Store(LNotEqual(aus3, Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 72, Local0, Zero)
+
+ Store(LNotEqual(aus2, Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 73, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aus3)), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 74, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(aus2)), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 75, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paus, 3)), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paus, 2)), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ // Method returns String
+
+ Store(LNotEqual(m601(2, 3), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 78, Local0, Zero)
+
+ Store(LNotEqual(m601(2, 2), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 79, Local0, Ones)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(2, 3, 1)), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 80, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(2, 2, 1)), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 81, Local0, Ones)
+ }
+ }
+
+ // Integer to String conversion of the Integer second operand of
+ // Concatenate operator when the first operand is evaluated as String
+
+ Method(m641, 1)
+ {
+ Store(Concatenate("", Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 0, Local0, bs10)
+
+ Store(Concatenate("1234q", Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 1, Local0, bs11)
+
+ Store(Concatenate(aus0, Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 2, Local0, bs10)
+
+ Store(Concatenate(aus1, Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 3, Local0, bs11)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aus0)), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 4, Local0, bs10)
+
+ Store(Concatenate(Derefof(Refof(aus1)), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 5, Local0, bs11)
+ }
+
+ Store(Concatenate(Derefof(Index(paus, 0)), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 6, Local0, bs10)
+
+ Store(Concatenate(Derefof(Index(paus, 1)), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 7, Local0, bs11)
+
+ // Method returns String
+
+ Store(Concatenate(m601(2, 0), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 8, Local0, bs10)
+
+ Store(Concatenate(m601(2, 1), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 9, Local0, bs11)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(2, 0, 1)), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 10, Local0, bs10)
+
+ Store(Concatenate(Derefof(m602(2, 1, 1)), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 11, Local0, bs11)
+ }
+
+ Concatenate("", Derefof(Index(pi60, 4)), Local0)
+ m600(arg0, 12, Local0, bs10)
+
+ Concatenate("1234q", Derefof(Index(pi60, 4)), Local0)
+ m600(arg0, 13, Local0, bs11)
+
+ Concatenate(aus0, Derefof(Index(pi60, 4)), Local0)
+ m600(arg0, 14, Local0, bs10)
+
+ Concatenate(aus1, Derefof(Index(pi60, 4)), Local0)
+ m600(arg0, 15, Local0, bs11)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aus0)), Derefof(Index(pi60, 4)), Local0)
+ m600(arg0, 16, Local0, bs10)
+
+ Concatenate(Derefof(Refof(aus1)), Derefof(Index(pi60, 4)), Local0)
+ m600(arg0, 17, Local0, bs11)
+ }
+
+ Concatenate(Derefof(Index(paus, 0)), Derefof(Index(pi60, 4)), Local0)
+ m600(arg0, 18, Local0, bs10)
+
+ Concatenate(Derefof(Index(paus, 1)), Derefof(Index(pi60, 4)), Local0)
+ m600(arg0, 19, Local0, bs11)
+
+ // Method returns String
+
+ Concatenate(m601(2, 0), Derefof(Index(pi60, 4)), Local0)
+ m600(arg0, 20, Local0, bs10)
+
+ Concatenate(m601(2, 1), Derefof(Index(pi60, 4)), Local0)
+ m600(arg0, 21, Local0, bs11)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Concatenate(Derefof(m602(2, 0, 1)), Derefof(Index(pi60, 4)), Local0)
+ m600(arg0, 22, Local0, bs10)
+
+ Concatenate(Derefof(m602(2, 1, 1)), Derefof(Index(pi60, 4)), Local0)
+ m600(arg0, 23, Local0, bs11)
+ }
+ }
+
+ Method(m321, 1)
+ {
+ Store(Concatenate("", Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 0, Local0, bs12)
+
+ Store(Concatenate("1234q", Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 1, Local0, bs13)
+
+ Store(Concatenate(aus0, Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 2, Local0, bs12)
+
+ Store(Concatenate(aus1, Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 3, Local0, bs13)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aus0)), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 4, Local0, bs12)
+
+ Store(Concatenate(Derefof(Refof(aus1)), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 5, Local0, bs13)
+ }
+
+ Store(Concatenate(Derefof(Index(paus, 0)), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 6, Local0, bs12)
+
+ Store(Concatenate(Derefof(Index(paus, 1)), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 7, Local0, bs13)
+
+ // Method returns String
+
+ Store(Concatenate(m601(2, 0), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 8, Local0, bs12)
+
+ Store(Concatenate(m601(2, 1), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 9, Local0, bs13)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(2, 0, 1)), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 10, Local0, bs12)
+
+ Store(Concatenate(Derefof(m602(2, 1, 1)), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 11, Local0, bs13)
+ }
+
+ Store(Concatenate("", Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 12, Local0, bs14)
+
+ Store(Concatenate("1234q", Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 13, Local0, bs15)
+
+ Concatenate("", Derefof(Index(pi60, 3)), Local0)
+ m600(arg0, 14, Local0, bs12)
+
+ Concatenate("1234q", Derefof(Index(pi60, 3)), Local0)
+ m600(arg0, 15, Local0, bs13)
+
+ Concatenate(aus0, Derefof(Index(pi60, 3)), Local0)
+ m600(arg0, 16, Local0, bs12)
+
+ Concatenate(aus1, Derefof(Index(pi60, 3)), Local0)
+ m600(arg0, 17, Local0, bs13)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aus0)), Derefof(Index(pi60, 3)), Local0)
+ m600(arg0, 18, Local0, bs12)
+
+ Concatenate(Derefof(Refof(aus1)), Derefof(Index(pi60, 3)), Local0)
+ m600(arg0, 19, Local0, bs13)
+ }
+
+ Concatenate(Derefof(Index(paus, 0)), Derefof(Index(pi60, 3)), Local0)
+ m600(arg0, 20, Local0, bs12)
+
+ Concatenate(Derefof(Index(paus, 1)), Derefof(Index(pi60, 3)), Local0)
+ m600(arg0, 21, Local0, bs13)
+
+ // Method returns String
+
+ Concatenate(m601(2, 0), Derefof(Index(pi60, 3)), Local0)
+ m600(arg0, 22, Local0, bs12)
+
+ Concatenate(m601(2, 1), Derefof(Index(pi60, 3)), Local0)
+ m600(arg0, 23, Local0, bs13)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Concatenate(Derefof(m602(2, 0, 1)), Derefof(Index(pi60, 3)), Local0)
+ m600(arg0, 24, Local0, bs12)
+
+ Concatenate(Derefof(m602(2, 1, 1)), Derefof(Index(pi60, 3)), Local0)
+ m600(arg0, 25, Local0, bs13)
+ }
+
+ Concatenate("", Derefof(Index(pi60, 4)), Local0)
+ m600(arg0, 26, Local0, bs14)
+
+ Concatenate("1234q", Derefof(Index(pi60, 4)), Local0)
+ m600(arg0, 27, Local0, bs15)
+ }
+
+// Method(m642, 1)
+
+// Method(m322, 1)
+
+// Method(m643, 1)
+
+// Method(m323, 1)
+
+ // Integer to Buffer implicit conversion Cases.
+
+ // Integer to Buffer conversion of the Integer second operand of
+ // Logical operators when the first operand is evaluated as Buffer
+ // (LEqual, LGreater, LGreaterEqual, LLess, LLessEqual, LNotEqual)
+
+ Method(m644, 1)
+ {
+ // LEqual
+
+ Store(LEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFF}, Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(aub4, Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(LEqual(aub3, Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 3, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aub4)), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(aub3)), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 5, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paub, 4)), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paub, 3)), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ // Method returns Buffer
+
+ Store(LEqual(m601(3, 4), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(LEqual(m601(3, 3), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 9, Local0, Zero)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(3, 4, 1)), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(3, 3, 1)), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 11, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LGreater(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFF}, Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LGreater(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFD}, Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LGreater(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0x01}, Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LGreater(aub4, Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LGreater(aub5, Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 17, Local0, Ones)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aub4)), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(aub5)), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 19, Local0, Ones)
+ }
+
+ Store(LGreater(Derefof(Index(paub, 4)), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paub, 5)), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Buffer
+
+ Store(LGreater(m601(3, 4), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LGreater(m601(3, 5), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 23, Local0, Ones)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(3, 4, 1)), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(3, 5, 1)), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 26, Local0, Ones)
+
+ Store(LGreaterEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFF}, Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 27, Local0, Ones)
+
+ Store(LGreaterEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFD}, Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 28, Local0, Zero)
+
+ Store(LGreaterEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0x01}, Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 29, Local0, Ones)
+
+ Store(LGreaterEqual(aub4, Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 30, Local0, Ones)
+
+ Store(LGreaterEqual(aub5, Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aub4)), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 32, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(aub5)), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 33, Local0, Ones)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paub, 4)), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paub, 5)), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 35, Local0, Ones)
+
+ // Method returns Buffer
+
+ Store(LGreaterEqual(m601(3, 4), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(m601(3, 5), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(3, 4, 1)), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 38, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(3, 5, 1)), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 39, Local0, Ones)
+ }
+
+ // LLess
+
+ Store(LLess(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 40, Local0, Zero)
+
+ Store(LLess(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFF}, Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ Store(LLess(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFD}, Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LLess(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0x01}, Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 43, Local0, Zero)
+
+ Store(LLess(aub4, Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 44, Local0, Zero)
+
+ Store(LLess(aub5, Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 45, Local0, Zero)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aub4)), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 46, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(aub5)), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 47, Local0, Zero)
+ }
+
+ Store(LLess(Derefof(Index(paub, 4)), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 48, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paub, 5)), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 49, Local0, Zero)
+
+ // Method returns Buffer
+
+ Store(LLess(m601(3, 4), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ Store(LLess(m601(3, 5), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 51, Local0, Zero)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LLess(Derefof(m602(3, 4, 1)), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 52, Local0, Zero)
+
+ Store(LLess(Derefof(m602(3, 5, 1)), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 54, Local0, Ones)
+
+ Store(LLessEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFF}, Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLessEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFD}, Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLessEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0x01}, Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLessEqual(aub4, Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 58, Local0, Ones)
+
+ Store(LLessEqual(aub5, Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 59, Local0, Zero)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aub4)), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 60, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(aub5)), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 61, Local0, Zero)
+ }
+
+ Store(LLessEqual(Derefof(Index(paub, 4)), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 62, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paub, 5)), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ // Method returns Buffer
+
+ Store(LLessEqual(m601(3, 4), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 64, Local0, Ones)
+
+ Store(LLessEqual(m601(3, 5), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 65, Local0, Zero)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(3, 4, 1)), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 66, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(3, 5, 1)), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 67, Local0, Zero)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 68, Local0, Zero)
+
+ Store(LNotEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFF}, Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 69, Local0, Ones)
+
+ Store(LNotEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFD}, Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 70, Local0, Ones)
+
+ Store(LNotEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0x01}, Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 71, Local0, Ones)
+
+ Store(LNotEqual(aub4, Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 72, Local0, Zero)
+
+ Store(LNotEqual(aub5, Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 73, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aub4)), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 74, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(aub5)), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 75, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paub, 4)), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paub, 5)), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ // Method returns Buffer
+
+ Store(LNotEqual(m601(3, 4), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 78, Local0, Zero)
+
+ Store(LNotEqual(m601(3, 5), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 79, Local0, Ones)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(3, 4, 1)), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 80, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(3, 5, 1)), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 81, Local0, Ones)
+ }
+ }
+
+ Method(m324, 1)
+ {
+ // LEqual
+
+ Store(LEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC1}, Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC0}, Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(aub3, Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(LEqual(aub2, Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 3, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aub3)), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(aub2)), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 5, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paub, 3)), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paub, 2)), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ // Method returns Buffer
+
+ Store(LEqual(m601(3, 3), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(LEqual(m601(3, 2), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 9, Local0, Zero)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(3, 3, 1)), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(3, 2, 1)), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 11, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater(Buffer() {0xFE, 0xB3, 0x79, 0xC1}, Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LGreater(Buffer() {0xFE, 0xB3, 0x79, 0xC2}, Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LGreater(Buffer() {0xFE, 0xB3, 0x79, 0xC0}, Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LGreater(Buffer() {0xFE, 0xB3, 0x79, 0xC1, 0x01}, Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LGreater(aub3, Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LGreater(aub2, Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 17, Local0, Ones)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aub3)), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(aub2)), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 19, Local0, Ones)
+ }
+
+ Store(LGreater(Derefof(Index(paub, 3)), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paub, 2)), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Buffer
+
+ Store(LGreater(m601(3, 3), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LGreater(m601(3, 2), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 23, Local0, Ones)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(3, 3, 1)), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(3, 2, 1)), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC1}, Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 26, Local0, Ones)
+
+ Store(LGreaterEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC2}, Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 27, Local0, Ones)
+
+ Store(LGreaterEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC0}, Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 28, Local0, Zero)
+
+ Store(LGreaterEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC1, 0x01}, Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 29, Local0, Ones)
+
+ Store(LGreaterEqual(aub3, Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 30, Local0, Ones)
+
+ Store(LGreaterEqual(aub2, Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aub3)), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 32, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(aub2)), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 33, Local0, Ones)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paub, 3)), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paub, 2)), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 35, Local0, Ones)
+
+ // Method returns Buffer
+
+ Store(LGreaterEqual(m601(3, 3), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(m601(3, 2), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(3, 3, 1)), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 38, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(3, 2, 1)), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 39, Local0, Ones)
+ }
+
+ // LLess
+
+ Store(LLess(Buffer() {0xFE, 0xB3, 0x79, 0xC1}, Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 40, Local0, Zero)
+
+ Store(LLess(Buffer() {0xFE, 0xB3, 0x79, 0xC2}, Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ Store(LLess(Buffer() {0xFE, 0xB3, 0x79, 0xC0}, Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LLess(Buffer() {0xFE, 0xB3, 0x79, 0xC1, 0x01}, Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 43, Local0, Zero)
+
+ Store(LLess(aub3, Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 44, Local0, Zero)
+
+ Store(LLess(aub2, Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 45, Local0, Zero)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aub3)), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 46, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(aub2)), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 47, Local0, Zero)
+ }
+
+ Store(LLess(Derefof(Index(paub, 3)), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 48, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paub, 2)), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 49, Local0, Zero)
+
+ // Method returns Buffer
+
+ Store(LLess(m601(3, 3), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ Store(LLess(m601(3, 2), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 51, Local0, Zero)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LLess(Derefof(m602(3, 3, 1)), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 52, Local0, Zero)
+
+ Store(LLess(Derefof(m602(3, 2, 1)), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC1}, Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 54, Local0, Ones)
+
+ Store(LLessEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC2}, Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLessEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC0}, Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLessEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC1, 0x01}, Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLessEqual(aub3, Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 58, Local0, Ones)
+
+ Store(LLessEqual(aub2, Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 59, Local0, Zero)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aub3)), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 60, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(aub2)), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 61, Local0, Zero)
+ }
+
+ Store(LLessEqual(Derefof(Index(paub, 3)), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 62, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paub, 2)), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ // Method returns Buffer
+
+ Store(LLessEqual(m601(3, 3), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 64, Local0, Ones)
+
+ Store(LLessEqual(m601(3, 2), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 65, Local0, Zero)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(3, 3, 1)), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 66, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(3, 2, 1)), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 67, Local0, Zero)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC1}, Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 68, Local0, Zero)
+
+ Store(LNotEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC2}, Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 69, Local0, Ones)
+
+ Store(LNotEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC0}, Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 70, Local0, Ones)
+
+ Store(LNotEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC1, 0x01}, Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 71, Local0, Ones)
+
+ Store(LNotEqual(aub3, Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 72, Local0, Zero)
+
+ Store(LNotEqual(aub2, Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 73, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aub3)), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 74, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(aub2)), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 75, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paub, 3)), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paub, 2)), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ // Method returns Buffer
+
+ Store(LNotEqual(m601(3, 3), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 78, Local0, Zero)
+
+ Store(LNotEqual(m601(3, 2), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 79, Local0, Ones)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(3, 3, 1)), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 80, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(3, 2, 1)), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 81, Local0, Ones)
+ }
+ }
+
+
+ // Integer to Buffer conversion of the both Integer operands of
+ // Concatenate operator
+
+ Method(m645, 1)
+ {
+ Store(Concatenate(Derefof(Index(pi60, 4)), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 0, Local0, bb20)
+
+ Store(Concatenate(0x321, Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 1, Local0, bb21)
+
+ Store(Concatenate(Derefof(Index(pi60, 4)), 0x321), Local0)
+ m600(arg0, 1, Local0, bb22)
+
+ Concatenate(Derefof(Index(pi60, 4)), Derefof(Index(pi60, 4)), Local0)
+ m600(arg0, 0, Local0, bb20)
+
+ Concatenate(0x321, Derefof(Index(pi60, 4)), Local0)
+ m600(arg0, 1, Local0, bb21)
+
+ Concatenate(Derefof(Index(pi60, 4)), 0x321, Local0)
+ m600(arg0, 1, Local0, bb22)
+ }
+
+ Method(m325, 1)
+ {
+ Store(Concatenate(Derefof(Index(pi60, 3)), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 0, Local0, bb23)
+
+ Store(Concatenate(0x321, Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 1, Local0, bb24)
+
+ Store(Concatenate(Derefof(Index(pi60, 3)), 0x321), Local0)
+ m600(arg0, 1, Local0, bb25)
+
+ Concatenate(Derefof(Index(pi60, 3)), Derefof(Index(pi60, 3)), Local0)
+ m600(arg0, 0, Local0, bb23)
+
+ Concatenate(0x321, Derefof(Index(pi60, 3)), Local0)
+ m600(arg0, 1, Local0, bb24)
+
+ Concatenate(Derefof(Index(pi60, 3)), 0x321, Local0)
+ m600(arg0, 1, Local0, bb25)
+ }
+
+ // Integer to Buffer conversion of the Integer second operand of
+ // Concatenate operator when the first operand is evaluated as Buffer
+
+ Method(m646, 1)
+ {
+ Store(Concatenate(Buffer(){0x5a}, Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 0, Local0, bb10)
+
+ Store(Concatenate(Buffer(){0x5a, 0x00}, Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 1, Local0, bb11)
+
+ Store(Concatenate(aub0, Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 2, Local0, bb10)
+
+ Store(Concatenate(aub1, Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 3, Local0, bb11)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aub0)), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 4, Local0, bb10)
+
+ Store(Concatenate(Derefof(Refof(aub1)), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 5, Local0, bb11)
+ }
+
+ Store(Concatenate(Derefof(Index(paub, 0)), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 6, Local0, bb10)
+
+ Store(Concatenate(Derefof(Index(paub, 1)), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 7, Local0, bb11)
+
+ // Method returns Buffer
+
+ Store(Concatenate(m601(3, 0), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 8, Local0, bb10)
+
+ Store(Concatenate(m601(3, 1), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 9, Local0, bb11)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(3, 0, 1)), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 10, Local0, bb10)
+
+ Store(Concatenate(Derefof(m602(3, 1, 1)), Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 11, Local0, bb11)
+ }
+
+ Concatenate(Buffer(){0x5a}, Derefof(Index(pi60, 4)), Local0)
+ m600(arg0, 12, Local0, bb10)
+
+ Concatenate(Buffer(){0x5a, 0x00}, Derefof(Index(pi60, 4)), Local0)
+ m600(arg0, 13, Local0, bb11)
+
+ Concatenate(aub0, Derefof(Index(pi60, 4)), Local0)
+ m600(arg0, 14, Local0, bb10)
+
+ Concatenate(aub1, Derefof(Index(pi60, 4)), Local0)
+ m600(arg0, 15, Local0, bb11)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aub0)), Derefof(Index(pi60, 4)), Local0)
+ m600(arg0, 16, Local0, bb10)
+
+ Concatenate(Derefof(Refof(aub1)), Derefof(Index(pi60, 4)), Local0)
+ m600(arg0, 17, Local0, bb11)
+ }
+
+ Concatenate(Derefof(Index(paub, 0)), Derefof(Index(pi60, 4)), Local0)
+ m600(arg0, 18, Local0, bb10)
+
+ Concatenate(Derefof(Index(paub, 1)), Derefof(Index(pi60, 4)), Local0)
+ m600(arg0, 19, Local0, bb11)
+
+ // Method returns Buffer
+
+ Concatenate(m601(3, 0), Derefof(Index(pi60, 4)), Local0)
+ m600(arg0, 20, Local0, bb10)
+
+ Concatenate(m601(3, 1), Derefof(Index(pi60, 4)), Local0)
+ m600(arg0, 21, Local0, bb11)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Concatenate(Derefof(m602(3, 0, 1)), Derefof(Index(pi60, 4)), Local0)
+ m600(arg0, 22, Local0, bb10)
+
+ Concatenate(Derefof(m602(3, 1, 1)), Derefof(Index(pi60, 4)), Local0)
+ m600(arg0, 23, Local0, bb11)
+ }
+ }
+
+ Method(m326, 1)
+ {
+
+ Store(Concatenate(Buffer(){0x5a}, Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 0, Local0, bb12)
+
+ Store(Concatenate(Buffer(){0x5a, 0x00}, Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 1, Local0, bb13)
+
+ Store(Concatenate(aub0, Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 2, Local0, bb12)
+
+ Store(Concatenate(aub1, Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 3, Local0, bb13)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aub0)), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 4, Local0, bb12)
+
+ Store(Concatenate(Derefof(Refof(aub1)), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 5, Local0, bb13)
+ }
+
+ Store(Concatenate(Derefof(Index(paub, 0)), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 6, Local0, bb12)
+
+ Store(Concatenate(Derefof(Index(paub, 1)), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 7, Local0, bb13)
+
+ // Method returns Buffer
+
+ Store(Concatenate(m601(3, 0), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 8, Local0, bb12)
+
+ Store(Concatenate(m601(3, 1), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 9, Local0, bb13)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(3, 0, 1)), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 10, Local0, bb12)
+
+ Store(Concatenate(Derefof(m602(3, 1, 1)), Derefof(Index(pi60, 3))), Local0)
+ m600(arg0, 11, Local0, bb13)
+ }
+
+ Store(Concatenate(Buffer(){0x5a}, Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 12, Local0, bb14)
+
+ Store(Concatenate(Buffer(){0x5a, 0x00}, Derefof(Index(pi60, 4))), Local0)
+ m600(arg0, 13, Local0, bb15)
+
+ Concatenate(Buffer(){0x5a}, Derefof(Index(pi60, 3)), Local0)
+ m600(arg0, 14, Local0, bb12)
+
+ Concatenate(Buffer(){0x5a, 0x00}, Derefof(Index(pi60, 3)), Local0)
+ m600(arg0, 15, Local0, bb13)
+
+ Concatenate(aub0, Derefof(Index(pi60, 3)), Local0)
+ m600(arg0, 16, Local0, bb12)
+
+ Concatenate(aub1, Derefof(Index(pi60, 3)), Local0)
+ m600(arg0, 17, Local0, bb13)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aub0)), Derefof(Index(pi60, 3)), Local0)
+ m600(arg0, 18, Local0, bb12)
+
+ Concatenate(Derefof(Refof(aub1)), Derefof(Index(pi60, 3)), Local0)
+ m600(arg0, 19, Local0, bb13)
+ }
+
+ Concatenate(Derefof(Index(paub, 0)), Derefof(Index(pi60, 3)), Local0)
+ m600(arg0, 20, Local0, bb12)
+
+ Concatenate(Derefof(Index(paub, 1)), Derefof(Index(pi60, 3)), Local0)
+ m600(arg0, 21, Local0, bb13)
+
+ // Method returns Buffer
+
+ Concatenate(m601(3, 0), Derefof(Index(pi60, 3)), Local0)
+ m600(arg0, 22, Local0, bb12)
+
+ Concatenate(m601(3, 1), Derefof(Index(pi60, 3)), Local0)
+ m600(arg0, 23, Local0, bb13)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Concatenate(Derefof(m602(3, 0, 1)), Derefof(Index(pi60, 3)), Local0)
+ m600(arg0, 24, Local0, bb12)
+
+ Concatenate(Derefof(m602(3, 1, 1)), Derefof(Index(pi60, 3)), Local0)
+ m600(arg0, 25, Local0, bb13)
+ }
+
+ Concatenate(Buffer(){0x5a}, Derefof(Index(pi60, 4)), Local0)
+ m600(arg0, 26, Local0, bb14)
+
+ Concatenate(Buffer(){0x5a, 0x00}, Derefof(Index(pi60, 4)), Local0)
+ m600(arg0, 27, Local0, bb15)
+ }
+
+
+ // Integer to Buffer conversion of the Integer Source operand of
+ // ToString operator
+
+ Method(m647, 1)
+ {
+ Store(ToString(Derefof(Index(pi60, 13)), Ones), Local0)
+ m600(arg0, 0, Local0, bs18)
+
+ Store(ToString(Derefof(Index(pi60, 13)), 3), Local0)
+ m600(arg0, 1, Local0, bs19)
+
+ Store(ToString(Derefof(Index(pi60, 14)), Ones), Local0)
+ m600(arg0, 2, Local0, bs1a)
+
+ Store(ToString(Derefof(Index(pi60, 13)), aui0), Local0)
+ m600(arg0, 3, Local0, bs18)
+
+ Store(ToString(Derefof(Index(pi60, 13)), aui7), Local0)
+ m600(arg0, 4, Local0, bs19)
+
+ Store(ToString(Derefof(Index(pi60, 14)), aui0), Local0)
+ m600(arg0, 5, Local0, bs1a)
+
+ if (y078) {
+ Store(ToString(Derefof(Index(pi60, 13)), Derefof(Refof(aui0))), Local0)
+ m600(arg0, 6, Local0, bs18)
+
+ Store(ToString(Derefof(Index(pi60, 13)), Derefof(Refof(aui7))), Local0)
+ m600(arg0, 7, Local0, bs19)
+
+ Store(ToString(Derefof(Index(pi60, 14)), Derefof(Refof(aui0))), Local0)
+ m600(arg0, 8, Local0, bs1a)
+ }
+
+ Store(ToString(Derefof(Index(pi60, 13)), Derefof(Index(paui, 0))), Local0)
+ m600(arg0, 9, Local0, bs18)
+
+ Store(ToString(Derefof(Index(pi60, 13)), Derefof(Index(paui, 7))), Local0)
+ m600(arg0, 10, Local0, bs19)
+
+ Store(ToString(Derefof(Index(pi60, 14)), Derefof(Index(paui, 0))), Local0)
+ m600(arg0, 11, Local0, bs1a)
+
+ // Method returns Length parameter
+
+ Store(ToString(Derefof(Index(pi60, 13)), m601(1, 0)), Local0)
+ m600(arg0, 12, Local0, bs18)
+
+ Store(ToString(Derefof(Index(pi60, 13)), m601(1, 7)), Local0)
+ m600(arg0, 13, Local0, bs19)
+
+ Store(ToString(Derefof(Index(pi60, 14)), m601(1, 0)), Local0)
+ m600(arg0, 14, Local0, bs1a)
+
+ // Method returns Reference to Length parameter
+
+ if (y500) {
+ Store(ToString(Derefof(Index(pi60, 13)), Derefof(m601(1, 0))), Local0)
+ m600(arg0, 15, Local0, bs18)
+
+ Store(ToString(Derefof(Index(pi60, 13)), Derefof(m601(1, 7))), Local0)
+ m600(arg0, 16, Local0, bs19)
+
+ Store(ToString(Derefof(Index(pi60, 14)), Derefof(m601(1, 0))), Local0)
+ m600(arg0, 17, Local0, bs1a)
+ }
+
+ ToString(Derefof(Index(pi60, 13)), Ones, Local0)
+ m600(arg0, 18, Local0, bs18)
+
+ ToString(Derefof(Index(pi60, 13)), 3, Local0)
+ m600(arg0, 19, Local0, bs19)
+
+ ToString(Derefof(Index(pi60, 14)), Ones, Local0)
+ m600(arg0, 20, Local0, bs1a)
+
+ ToString(Derefof(Index(pi60, 13)), aui0, Local0)
+ m600(arg0, 21, Local0, bs18)
+
+ ToString(Derefof(Index(pi60, 13)), aui7, Local0)
+ m600(arg0, 22, Local0, bs19)
+
+ ToString(Derefof(Index(pi60, 14)), aui0, Local0)
+ m600(arg0, 23, Local0, bs1a)
+
+ if (y078) {
+ ToString(Derefof(Index(pi60, 13)), Derefof(Refof(aui0)), Local0)
+ m600(arg0, 24, Local0, bs18)
+
+ ToString(Derefof(Index(pi60, 13)), Derefof(Refof(aui7)), Local0)
+ m600(arg0, 25, Local0, bs19)
+
+ ToString(Derefof(Index(pi60, 14)), Derefof(Refof(aui0)), Local0)
+ m600(arg0, 26, Local0, bs1a)
+ }
+
+ ToString(Derefof(Index(pi60, 13)), Derefof(Index(paui, 0)), Local0)
+ m600(arg0, 27, Local0, bs18)
+
+ ToString(Derefof(Index(pi60, 13)), Derefof(Index(paui, 7)), Local0)
+ m600(arg0, 28, Local0, bs19)
+
+ ToString(Derefof(Index(pi60, 14)), Derefof(Index(paui, 0)), Local0)
+ m600(arg0, 29, Local0, bs1a)
+
+ // Method returns Length parameter
+
+ ToString(Derefof(Index(pi60, 13)), m601(1, 0), Local0)
+ m600(arg0, 30, Local0, bs18)
+
+ ToString(Derefof(Index(pi60, 13)), m601(1, 7), Local0)
+ m600(arg0, 31, Local0, bs19)
+
+ ToString(Derefof(Index(pi60, 14)), m601(1, 0), Local0)
+ m600(arg0, 32, Local0, bs1a)
+
+ // Method returns Reference to Length parameter
+
+ if (y500) {
+ ToString(Derefof(Index(pi60, 13)), Derefof(m601(1, 0)), Local0)
+ m600(arg0, 33, Local0, bs18)
+
+ ToString(Derefof(Index(pi60, 13)), Derefof(m601(1, 7)), Local0)
+ m600(arg0, 34, Local0, bs19)
+
+ ToString(Derefof(Index(pi60, 14)), Derefof(m601(1, 0)), Local0)
+ m600(arg0, 35, Local0, bs1a)
+ }
+ }
+
+ Method(m327, 1)
+ {
+ Store(ToString(Derefof(Index(pi60, 12)), Ones), Local0)
+ m600(arg0, 0, Local0, bs16)
+
+ Store(ToString(Derefof(Index(pi60, 12)), 3), Local0)
+ m600(arg0, 1, Local0, bs17)
+
+ Store(ToString(Derefof(Index(pi60, 15)), Ones), Local0)
+ m600(arg0, 2, Local0, bs1a)
+
+ Store(ToString(Derefof(Index(pi60, 12)), aui0), Local0)
+ m600(arg0, 3, Local0, bs16)
+
+ Store(ToString(Derefof(Index(pi60, 12)), aui7), Local0)
+ m600(arg0, 4, Local0, bs17)
+
+ Store(ToString(Derefof(Index(pi60, 15)), aui0), Local0)
+ m600(arg0, 5, Local0, bs1a)
+
+ if (y078) {
+ Store(ToString(Derefof(Index(pi60, 12)), Derefof(Refof(aui0))), Local0)
+ m600(arg0, 6, Local0, bs16)
+
+ Store(ToString(Derefof(Index(pi60, 12)), Derefof(Refof(aui7))), Local0)
+ m600(arg0, 7, Local0, bs17)
+
+ Store(ToString(Derefof(Index(pi60, 15)), Derefof(Refof(aui0))), Local0)
+ m600(arg0, 8, Local0, bs1a)
+ }
+
+ Store(ToString(Derefof(Index(pi60, 12)), Derefof(Index(paui, 0))), Local0)
+ m600(arg0, 9, Local0, bs16)
+
+ Store(ToString(Derefof(Index(pi60, 12)), Derefof(Index(paui, 7))), Local0)
+ m600(arg0, 10, Local0, bs17)
+
+ Store(ToString(Derefof(Index(pi60, 15)), Derefof(Index(paui, 0))), Local0)
+ m600(arg0, 11, Local0, bs1a)
+
+ // Method returns Length parameter
+
+ Store(ToString(Derefof(Index(pi60, 12)), m601(1, 0)), Local0)
+ m600(arg0, 12, Local0, bs16)
+
+ Store(ToString(Derefof(Index(pi60, 12)), m601(1, 7)), Local0)
+ m600(arg0, 13, Local0, bs17)
+
+ Store(ToString(Derefof(Index(pi60, 15)), m601(1, 0)), Local0)
+ m600(arg0, 14, Local0, bs1a)
+
+ // Method returns Reference to Length parameter
+
+ if (y500) {
+ Store(ToString(Derefof(Index(pi60, 12)), Derefof(m601(1, 0))), Local0)
+ m600(arg0, 15, Local0, bs16)
+
+ Store(ToString(Derefof(Index(pi60, 12)), Derefof(m601(1, 7))), Local0)
+ m600(arg0, 16, Local0, bs17)
+
+ Store(ToString(Derefof(Index(pi60, 15)), Derefof(m601(1, 0))), Local0)
+ m600(arg0, 17, Local0, bs1a)
+ }
+
+ ToString(Derefof(Index(pi60, 12)), Ones, Local0)
+ m600(arg0, 18, Local0, bs16)
+
+ ToString(Derefof(Index(pi60, 12)), 3, Local0)
+ m600(arg0, 19, Local0, bs17)
+
+ ToString(Derefof(Index(pi60, 15)), Ones, Local0)
+ m600(arg0, 20, Local0, bs1a)
+
+ ToString(Derefof(Index(pi60, 12)), aui0, Local0)
+ m600(arg0, 21, Local0, bs16)
+
+ ToString(Derefof(Index(pi60, 12)), aui7, Local0)
+ m600(arg0, 22, Local0, bs17)
+
+ ToString(Derefof(Index(pi60, 15)), aui0, Local0)
+ m600(arg0, 23, Local0, bs1a)
+
+ if (y078) {
+ ToString(Derefof(Index(pi60, 12)), Derefof(Refof(aui0)), Local0)
+ m600(arg0, 24, Local0, bs16)
+
+ ToString(Derefof(Index(pi60, 12)), Derefof(Refof(aui7)), Local0)
+ m600(arg0, 25, Local0, bs17)
+
+ ToString(Derefof(Index(pi60, 15)), Derefof(Refof(aui0)), Local0)
+ m600(arg0, 26, Local0, bs1a)
+ }
+
+ ToString(Derefof(Index(pi60, 12)), Derefof(Index(paui, 0)), Local0)
+ m600(arg0, 27, Local0, bs16)
+
+ ToString(Derefof(Index(pi60, 12)), Derefof(Index(paui, 7)), Local0)
+ m600(arg0, 28, Local0, bs17)
+
+ ToString(Derefof(Index(pi60, 15)), Derefof(Index(paui, 0)), Local0)
+ m600(arg0, 29, Local0, bs1a)
+
+ // Method returns Length parameter
+
+ ToString(Derefof(Index(pi60, 12)), m601(1, 0), Local0)
+ m600(arg0, 30, Local0, bs16)
+
+ ToString(Derefof(Index(pi60, 12)), m601(1, 7), Local0)
+ m600(arg0, 31, Local0, bs17)
+
+ ToString(Derefof(Index(pi60, 15)), m601(1, 0), Local0)
+ m600(arg0, 32, Local0, bs1a)
+
+ // Method returns Reference to Length parameter
+
+ if (y500) {
+ ToString(Derefof(Index(pi60, 12)), Derefof(m601(1, 0)), Local0)
+ m600(arg0, 33, Local0, bs16)
+
+ ToString(Derefof(Index(pi60, 12)), Derefof(m601(1, 7)), Local0)
+ m600(arg0, 34, Local0, bs17)
+
+ ToString(Derefof(Index(pi60, 15)), Derefof(m601(1, 0)), Local0)
+ m600(arg0, 35, Local0, bs1a)
+ }
+ }
+
+ // Integer to Buffer conversion of the Integer Source operand of
+ // Mid operator
+
+ Method(m648, 1)
+ {
+ Store(Mid(Derefof(Index(pi60, 4)), 0, 9), Local0)
+ m600(arg0, 0, Local0, bb1d)
+
+ Store(Mid(Derefof(Index(pi60, 15)), 1, 8), Local0)
+ m600(arg0, 1, Local0, bb30)
+
+ Store(Mid(Derefof(Index(pi60, 4)), aui5, auib), Local0)
+ m600(arg0, 2, Local0, bb1d)
+
+ Store(Mid(Derefof(Index(pi60, 15)), aui6, auia), Local0)
+ m600(arg0, 3, Local0, bb30)
+
+ if (y078) {
+ Store(Mid(Derefof(Index(pi60, 4)), Derefof(Refof(aui5)), Derefof(Refof(auib))), Local0)
+ m600(arg0, 4, Local0, bb1d)
+
+ Store(Mid(Derefof(Index(pi60, 15)), Derefof(Refof(aui6)), Derefof(Refof(auia))), Local0)
+ m600(arg0, 5, Local0, bb30)
+ }
+
+ Store(Mid(Derefof(Index(pi60, 4)), Derefof(Index(paui, 5)), Derefof(Index(paui, 11))), Local0)
+ m600(arg0, 6, Local0, bb1d)
+
+ Store(Mid(Derefof(Index(pi60, 15)), Derefof(Index(paui, 6)), Derefof(Index(paui, 10))), Local0)
+ m600(arg0, 7, Local0, bb30)
+
+ // Method returns Index and Length parameters
+
+ Store(Mid(Derefof(Index(pi60, 4)), m601(1, 5), m601(1, 11)), Local0)
+ m600(arg0, 8, Local0, bb1d)
+
+ Store(Mid(Derefof(Index(pi60, 15)), m601(1, 6), m601(1, 10)), Local0)
+ m600(arg0, 9, Local0, bb30)
+
+ // Method returns Reference to Index and Length parameters
+
+ if (y500) {
+ Store(Mid(Derefof(Index(pi60, 4)), Derefof(m601(1, 5)), Derefof(m601(1, 11))), Local0)
+ m600(arg0, 10, Local0, bb1d)
+
+ Store(Mid(Derefof(Index(pi60, 15)), Derefof(m601(1, 6)), Derefof(m601(1, 10))), Local0)
+ m600(arg0, 11, Local0, bb30)
+ }
+
+ Mid(Derefof(Index(pi60, 4)), 0, 9, Local0)
+ m600(arg0, 12, Local0, bb1d)
+
+ Mid(Derefof(Index(pi60, 15)), 1, 8, Local0)
+ m600(arg0, 13, Local0, bb30)
+
+ Mid(Derefof(Index(pi60, 4)), aui5, auib, Local0)
+ m600(arg0, 14, Local0, bb1d)
+
+ Mid(Derefof(Index(pi60, 15)), aui6, auia, Local0)
+ m600(arg0, 15, Local0, bb30)
+
+ if (y078) {
+ Mid(Derefof(Index(pi60, 4)), Derefof(Refof(aui5)), Derefof(Refof(auib)), Local0)
+ m600(arg0, 16, Local0, bb1d)
+
+ Mid(Derefof(Index(pi60, 15)), Derefof(Refof(aui6)), Derefof(Refof(auia)), Local0)
+ m600(arg0, 17, Local0, bb30)
+ }
+
+ Mid(Derefof(Index(pi60, 4)), Derefof(Index(paui, 5)), Derefof(Index(paui, 11)), Local0)
+ m600(arg0, 18, Local0, bb1d)
+
+ Mid(Derefof(Index(pi60, 15)), Derefof(Index(paui, 6)), Derefof(Index(paui, 10)), Local0)
+ m600(arg0, 19, Local0, bb30)
+
+ // Method returns Index and Length parameters
+
+ Mid(Derefof(Index(pi60, 4)), m601(1, 5), m601(1, 11), Local0)
+ m600(arg0, 20, Local0, bb1d)
+
+ Mid(Derefof(Index(pi60, 15)), m601(1, 6), m601(1, 10), Local0)
+ m600(arg0, 21, Local0, bb30)
+
+ // Method returns Reference to Index and Length parameters
+
+ if (y500) {
+ Mid(Derefof(Index(pi60, 4)), Derefof(m601(1, 5)), Derefof(m601(1, 11)), Local0)
+ m600(arg0, 22, Local0, bb1d)
+
+ Mid(Derefof(Index(pi60, 15)), Derefof(m601(1, 6)), Derefof(m601(1, 10)), Local0)
+ m600(arg0, 23, Local0, bb30)
+ }
+ }
+
+ Method(m328, 1)
+ {
+ Store(Mid(Derefof(Index(pi60, 3)), 0, 5), Local0)
+ m600(arg0, 0, Local0, bb1c)
+
+ Store(Mid(Derefof(Index(pi60, 15)), 1, 4), Local0)
+ m600(arg0, 1, Local0, bb31)
+
+ Store(Mid(Derefof(Index(pi60, 3)), aui5, aui9), Local0)
+ m600(arg0, 2, Local0, bb1c)
+
+ Store(Mid(Derefof(Index(pi60, 15)), aui6, aui8), Local0)
+ m600(arg0, 3, Local0, bb31)
+
+ if (y078) {
+ Store(Mid(Derefof(Index(pi60, 3)), Derefof(Refof(aui5)), Derefof(Refof(aui9))), Local0)
+ m600(arg0, 4, Local0, bb1c)
+
+ Store(Mid(Derefof(Index(pi60, 15)), Derefof(Refof(aui6)), Derefof(Refof(aui8))), Local0)
+ m600(arg0, 5, Local0, bb31)
+ }
+
+ Store(Mid(Derefof(Index(pi60, 3)), Derefof(Index(paui, 5)), Derefof(Index(paui, 9))), Local0)
+ m600(arg0, 6, Local0, bb1c)
+
+ Store(Mid(Derefof(Index(pi60, 15)), Derefof(Index(paui, 6)), Derefof(Index(paui, 8))), Local0)
+ m600(arg0, 7, Local0, bb31)
+
+ // Method returns Index and Length parameters
+
+ Store(Mid(Derefof(Index(pi60, 3)), m601(1, 5), m601(1, 9)), Local0)
+ m600(arg0, 8, Local0, bb1c)
+
+ Store(Mid(Derefof(Index(pi60, 15)), m601(1, 6), m601(1, 8)), Local0)
+ m600(arg0, 9, Local0, bb31)
+
+ // Method returns Reference to Index and Length parameters
+
+ if (y500) {
+ Store(Mid(Derefof(Index(pi60, 3)), Derefof(m601(1, 5)), Derefof(m601(1, 9))), Local0)
+ m600(arg0, 10, Local0, bb1c)
+
+ Store(Mid(Derefof(Index(pi60, 15)), Derefof(m601(1, 6)), Derefof(m601(1, 8))), Local0)
+ m600(arg0, 11, Local0, bb31)
+ }
+
+ Mid(Derefof(Index(pi60, 3)), 0, 5, Local0)
+ m600(arg0, 12, Local0, bb1c)
+
+ Mid(Derefof(Index(pi60, 15)), 1, 4, Local0)
+ m600(arg0, 13, Local0, bb31)
+
+ Mid(Derefof(Index(pi60, 3)), aui5, aui9, Local0)
+ m600(arg0, 14, Local0, bb1c)
+
+ Mid(Derefof(Index(pi60, 15)), aui6, aui8, Local0)
+ m600(arg0, 15, Local0, bb31)
+
+ if (y078) {
+ Mid(Derefof(Index(pi60, 3)), Derefof(Refof(aui5)), Derefof(Refof(aui9)), Local0)
+ m600(arg0, 16, Local0, bb1c)
+
+ Mid(Derefof(Index(pi60, 15)), Derefof(Refof(aui6)), Derefof(Refof(aui8)), Local0)
+ m600(arg0, 17, Local0, bb31)
+ }
+
+ Mid(Derefof(Index(pi60, 3)), Derefof(Index(paui, 5)), Derefof(Index(paui, 9)), Local0)
+ m600(arg0, 18, Local0, bb1c)
+
+ Mid(Derefof(Index(pi60, 15)), Derefof(Index(paui, 6)), Derefof(Index(paui, 8)), Local0)
+ m600(arg0, 19, Local0, bb31)
+
+ // Method returns Index and Length parameters
+
+ Mid(Derefof(Index(pi60, 3)), m601(1, 5), m601(1, 9), Local0)
+ m600(arg0, 20, Local0, bb1c)
+
+ Mid(Derefof(Index(pi60, 15)), m601(1, 6), m601(1, 8), Local0)
+ m600(arg0, 21, Local0, bb31)
+
+ // Method returns Reference to Index and Length parameters
+
+ if (y500) {
+ Mid(Derefof(Index(pi60, 3)), Derefof(m601(1, 5)), Derefof(m601(1, 9)), Local0)
+ m600(arg0, 22, Local0, bb1c)
+
+ Mid(Derefof(Index(pi60, 15)), Derefof(m601(1, 6)), Derefof(m601(1, 8)), Local0)
+ m600(arg0, 23, Local0, bb31)
+ }
+ }
+
+// Method(m649, 1)
+
+// Method(m329, 1)
+
+// Method(m64a, 1)
+
+// Method(m32a, 1)
+
+ // String to Integer implicit conversion Cases.
+
+ // String to Integer conversion of the String sole operand
+ // of the 1-parameter Integer arithmetic operators
+ // (Decrement, Increment, FindSetLeftBit, FindSetRightBit, Not)
+
+ Method(m64b, 1)
+ {
+ // Decrement
+ if (y501) {
+ Store(Decrement(Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 0, Local0, bi12)
+
+ Store(Decrement(Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 1, Local0, bi16)
+ }
+
+ // Increment
+ if (y501) {
+ Store(Increment(Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 2, Local0, bi13)
+
+ Store(Increment(Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 3, Local0, bi17)
+ }
+
+ // FindSetLeftBit
+ Store(FindSetLeftBit(Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 4, Local0, 10)
+
+ Store(FindSetLeftBit(Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 5, Local0, 64)
+
+ // FindSetRightBit
+
+ Store(FindSetRightBit(Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 6, Local0, 1)
+
+ Store(FindSetRightBit(Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 7, Local0, 3)
+
+ // Not
+
+ Store(Not(Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 8, Local0, 0xfffffffffffffcde)
+
+ Store(Not(Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 9, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Method(m32b, 1)
+ {
+ // Decrement
+ if (y501) {
+ Store(Decrement(Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 0, Local0, bi12)
+
+ Store(Decrement(Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 1, Local0, bi14)
+ }
+
+ // Increment
+ if (y501) {
+ Store(Increment(Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 2, Local0, bi13)
+
+ Store(Increment(Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 3, Local0, bi15)
+ }
+
+ // FindSetLeftBit
+
+ Store(FindSetLeftBit(Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 4, Local0, 10)
+
+ Store(FindSetLeftBit(Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 5, Local0, 32)
+
+ // FindSetRightBit
+
+ Store(FindSetRightBit(Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 6, Local0, 1)
+
+ Store(FindSetRightBit(Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 7, Local0, 2)
+
+ // Not
+
+ Store(Not(Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 8, Local0, 0xfffffcde)
+
+ Store(Not(Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 9, Local0, 0x3e864c01)
+ }
+
+ // String to Integer conversion of the String sole operand
+ // of the LNot Logical Integer operator
+ Method(m000, 1)
+ {
+ Store(LNot(Derefof(Index(ps60, 0))), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LNot(Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ if (F64) {
+ Store(LNot(Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 2, Local0, Zero)
+ } else {
+ Store(LNot(Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 3, Local0, Zero)
+ }
+ }
+
+ // String to Integer conversion of the String sole operand
+ // of the FromBCD and ToBCD conversion operators
+
+ Method(m64c, 1)
+ {
+ // FromBCD
+
+ Store(FromBCD(Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 2, Local0, 0x141)
+
+ Store(FromBCD(Derefof(Index(ps60, 21))), Local0)
+ m600(arg0, 3, Local0, 0xd76162ee9ec35)
+
+ FromBCD(Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 2, Local0, 0x141)
+
+ FromBCD(Derefof(Index(ps60, 21)), Local0)
+ m600(arg0, 3, Local0, 0xd76162ee9ec35)
+
+ // ToBCD
+
+ Store(ToBCD(Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 4, Local0, 0x801)
+
+/* Error of iASL on constant folding
+ Store(ToBCD(Derefof(Index(ps60, 22))), Local0)
+ m600(arg0, 5, Local0, 0x3789012345678901)
+*/
+
+ ToBCD(Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 4, Local0, 0x801)
+
+ ToBCD(Derefof(Index(ps60, 22)), Local0)
+ m600(arg0, 5, Local0, 0x3789012345678901)
+ }
+
+ Method(m32c, 1)
+ {
+ // FromBCD
+
+ Store(FromBCD(Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 2, Local0, 0x141)
+
+ Store(FromBCD(Derefof(Index(ps60, 23))), Local0)
+ m600(arg0, 3, Local0, 0x55f2cc0)
+
+ FromBCD(Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 2, Local0, 0x141)
+
+ FromBCD(Derefof(Index(ps60, 23)), Local0)
+ m600(arg0, 3, Local0, 0x55f2cc0)
+
+ // ToBCD
+
+ Store(ToBCD(Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 4, Local0, 0x801)
+
+ Store(ToBCD(Derefof(Index(ps60, 24))), Local0)
+ m600(arg0, 5, Local0, 0x90123456)
+
+ ToBCD(Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 4, Local0, 0x801)
+
+ ToBCD(Derefof(Index(ps60, 24)), Local0)
+ m600(arg0, 5, Local0, 0x90123456)
+ }
+
+ // String to Integer conversion of each String operand
+ // of the 2-parameter Integer arithmetic operators
+ // Add, And, Divide, Mod, Multiply, NAnd, NOr, Or,
+ // ShiftLeft, ShiftRight, Subtract, Xor
+
+ // Add, common 32-bit/64-bit test
+ Method(m001, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Add(Derefof(Index(ps60, 1)), 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Add(Derefof(Index(ps60, 1)), 1), Local0)
+ m600(arg0, 1, Local0, 0x322)
+
+ Store(Add(Derefof(Index(ps60, 1)), aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Add(Derefof(Index(ps60, 1)), aui6), Local0)
+ m600(arg0, 3, Local0, 0x322)
+
+ if (y078) {
+ Store(Add(Derefof(Index(ps60, 1)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Add(Derefof(Index(ps60, 1)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x322)
+ }
+
+ Store(Add(Derefof(Index(ps60, 1)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Add(Derefof(Index(ps60, 1)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x322)
+
+ // Method returns Integer
+
+ Store(Add(Derefof(Index(ps60, 1)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Add(Derefof(Index(ps60, 1)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x322)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(Derefof(Index(ps60, 1)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Add(Derefof(Index(ps60, 1)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x322)
+ }
+
+ Add(Derefof(Index(ps60, 1)), 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Add(Derefof(Index(ps60, 1)), 1, Local0)
+ m600(arg0, 13, Local0, 0x322)
+
+ Add(Derefof(Index(ps60, 1)), aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Add(Derefof(Index(ps60, 1)), aui6, Local0)
+ m600(arg0, 15, Local0, 0x322)
+
+ if (y078) {
+ Add(Derefof(Index(ps60, 1)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Add(Derefof(Index(ps60, 1)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x322)
+ }
+
+ Add(Derefof(Index(ps60, 1)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Add(Derefof(Index(ps60, 1)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x322)
+
+ // Method returns Integer
+
+ Add(Derefof(Index(ps60, 1)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Add(Derefof(Index(ps60, 1)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x322)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(Derefof(Index(ps60, 1)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Add(Derefof(Index(ps60, 1)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x322)
+ }
+
+ // Conversion of the second operand
+
+ Store(Add(0, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 24, Local0, 0x321)
+
+ Store(Add(1, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 25, Local0, 0x322)
+
+ Store(Add(aui5, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 26, Local0, 0x321)
+
+ Store(Add(aui6, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 27, Local0, 0x322)
+
+ if (y078) {
+ Store(Add(Derefof(Refof(aui5)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 28, Local0, 0x321)
+
+ Store(Add(Derefof(Refof(aui6)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 29, Local0, 0x322)
+ }
+
+ Store(Add(Derefof(Index(paui, 5)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 30, Local0, 0x321)
+
+ Store(Add(Derefof(Index(paui, 6)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 31, Local0, 0x322)
+
+ // Method returns Integer
+
+ Store(Add(m601(1, 5), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 32, Local0, 0x321)
+
+ Store(Add(m601(1, 6), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 33, Local0, 0x322)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(Derefof(m602(1, 5, 1)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 34, Local0, 0x321)
+
+ Store(Add(Derefof(m602(1, 6, 1)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 35, Local0, 0x322)
+ }
+
+ Add(0, Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 36, Local0, 0x321)
+
+ Add(1, Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 37, Local0, 0x322)
+
+ Add(aui5, Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 38, Local0, 0x321)
+
+ Add(aui6, Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 39, Local0, 0x322)
+
+ if (y078) {
+ Add(Derefof(Refof(aui5)), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 40, Local0, 0x321)
+
+ Add(Derefof(Refof(aui6)), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 41, Local0, 0x322)
+ }
+
+ Add(Derefof(Index(paui, 5)), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 42, Local0, 0x321)
+
+ Add(Derefof(Index(paui, 6)), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 43, Local0, 0x322)
+
+ // Method returns Integer
+
+ Add(m601(1, 5), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 44, Local0, 0x321)
+
+ Add(m601(1, 6), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 45, Local0, 0x322)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(Derefof(m602(1, 5, 1)), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 46, Local0, 0x321)
+
+ Add(Derefof(m602(1, 6, 1)), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 47, Local0, 0x322)
+ }
+ }
+
+ // Add, 64-bit
+ Method(m002, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Add(Derefof(Index(ps60, 5)), 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(Index(ps60, 5)), 1), Local0)
+ m600(arg0, 1, Local0, 0xfe7cb391d650a285)
+
+ Store(Add(Derefof(Index(ps60, 5)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(Index(ps60, 5)), aui6), Local0)
+ m600(arg0, 3, Local0, 0xfe7cb391d650a285)
+
+ if (y078) {
+ Store(Add(Derefof(Index(ps60, 5)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(Index(ps60, 5)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xfe7cb391d650a285)
+ }
+
+ Store(Add(Derefof(Index(ps60, 5)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(Index(ps60, 5)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Integer
+
+ Store(Add(Derefof(Index(ps60, 5)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(Index(ps60, 5)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(Derefof(Index(ps60, 5)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(Index(ps60, 5)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfe7cb391d650a285)
+ }
+
+ Add(Derefof(Index(ps60, 5)), 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(Index(ps60, 5)), 1, Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a285)
+
+ Add(Derefof(Index(ps60, 5)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(Index(ps60, 5)), aui6, Local0)
+ m600(arg0, 15, Local0, 0xfe7cb391d650a285)
+
+ if (y078) {
+ Add(Derefof(Index(ps60, 5)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(Index(ps60, 5)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xfe7cb391d650a285)
+ }
+
+ Add(Derefof(Index(ps60, 5)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(Index(ps60, 5)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Integer
+
+ Add(Derefof(Index(ps60, 5)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(Index(ps60, 5)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(Derefof(Index(ps60, 5)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(Index(ps60, 5)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfe7cb391d650a285)
+ }
+
+ // Conversion of the second operand
+
+ Store(Add(0, Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 24, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(1, Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 25, Local0, 0xfe7cb391d650a285)
+
+ Store(Add(aui5, Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 26, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(aui6, Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 27, Local0, 0xfe7cb391d650a285)
+
+ if (y078) {
+ Store(Add(Derefof(Refof(aui5)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 28, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(Refof(aui6)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 29, Local0, 0xfe7cb391d650a285)
+ }
+
+ Store(Add(Derefof(Index(paui, 5)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 30, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(Index(paui, 6)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 31, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Integer
+
+ Store(Add(m601(1, 5), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 32, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(m601(1, 6), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 33, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(Derefof(m602(1, 5, 1)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 34, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(m602(1, 6, 1)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 35, Local0, 0xfe7cb391d650a285)
+ }
+
+ Add(0, Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 36, Local0, 0xfe7cb391d650a284)
+
+ Add(1, Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 37, Local0, 0xfe7cb391d650a285)
+
+ Add(aui5, Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 38, Local0, 0xfe7cb391d650a284)
+
+ Add(aui6, Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 39, Local0, 0xfe7cb391d650a285)
+
+ if (y078) {
+ Add(Derefof(Refof(aui5)), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 40, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(Refof(aui6)), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 41, Local0, 0xfe7cb391d650a285)
+ }
+
+ Add(Derefof(Index(paui, 5)), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 42, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(Index(paui, 6)), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 43, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Integer
+
+ Add(m601(1, 5), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 44, Local0, 0xfe7cb391d650a284)
+
+ Add(m601(1, 6), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 45, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(Derefof(m602(1, 5, 1)), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 46, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(m602(1, 6, 1)), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 47, Local0, 0xfe7cb391d650a285)
+ }
+
+ // Conversion of the both operands
+
+ Store(Add(Derefof(Index(ps60, 1)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 48, Local0, 0xfe7cb391d650a5a5)
+
+ Store(Add(Derefof(Index(ps60, 5)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 49, Local0, 0xfe7cb391d650a5a5)
+
+ Add(Derefof(Index(ps60, 1)), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 50, Local0, 0xfe7cb391d650a5a5)
+
+ Add(Derefof(Index(ps60, 5)), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 51, Local0, 0xfe7cb391d650a5a5)
+ }
+
+ // Add, 32-bit
+ Method(m003, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Add(Derefof(Index(ps60, 4)), 0), Local0)
+ m600(arg0, 0, Local0, 0xc179b3fe)
+
+ Store(Add(Derefof(Index(ps60, 4)), 1), Local0)
+ m600(arg0, 1, Local0, 0xc179b3ff)
+
+ Store(Add(Derefof(Index(ps60, 4)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xc179b3fe)
+
+ Store(Add(Derefof(Index(ps60, 4)), aui6), Local0)
+ m600(arg0, 3, Local0, 0xc179b3ff)
+
+ if (y078) {
+ Store(Add(Derefof(Index(ps60, 4)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xc179b3fe)
+
+ Store(Add(Derefof(Index(ps60, 4)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xc179b3ff)
+ }
+
+ Store(Add(Derefof(Index(ps60, 4)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xc179b3fe)
+
+ Store(Add(Derefof(Index(ps60, 4)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xc179b3ff)
+
+ // Method returns Integer
+
+ Store(Add(Derefof(Index(ps60, 4)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xc179b3fe)
+
+ Store(Add(Derefof(Index(ps60, 4)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xc179b3ff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(Derefof(Index(ps60, 4)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xc179b3fe)
+
+ Store(Add(Derefof(Index(ps60, 4)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xc179b3ff)
+ }
+
+ Add(Derefof(Index(ps60, 4)), 0, Local0)
+ m600(arg0, 12, Local0, 0xc179b3fe)
+
+ Add(Derefof(Index(ps60, 4)), 1, Local0)
+ m600(arg0, 13, Local0, 0xc179b3ff)
+
+ Add(Derefof(Index(ps60, 4)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xc179b3fe)
+
+ Add(Derefof(Index(ps60, 4)), aui6, Local0)
+ m600(arg0, 15, Local0, 0xc179b3ff)
+
+ if (y078) {
+ Add(Derefof(Index(ps60, 4)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xc179b3fe)
+
+ Add(Derefof(Index(ps60, 4)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xc179b3ff)
+ }
+
+ Add(Derefof(Index(ps60, 4)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xc179b3fe)
+
+ Add(Derefof(Index(ps60, 4)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xc179b3ff)
+
+ // Method returns Integer
+
+ Add(Derefof(Index(ps60, 4)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xc179b3fe)
+
+ Add(Derefof(Index(ps60, 4)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xc179b3ff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(Derefof(Index(ps60, 4)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xc179b3fe)
+
+ Add(Derefof(Index(ps60, 4)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xc179b3ff)
+ }
+
+ // Conversion of the second operand
+
+ Store(Add(0, Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 24, Local0, 0xc179b3fe)
+
+ Store(Add(1, Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 25, Local0, 0xc179b3ff)
+
+ Store(Add(aui5, Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 26, Local0, 0xc179b3fe)
+
+ Store(Add(aui6, Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 27, Local0, 0xc179b3ff)
+
+ if (y078) {
+ Store(Add(Derefof(Refof(aui5)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 28, Local0, 0xc179b3fe)
+
+ Store(Add(Derefof(Refof(aui6)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 29, Local0, 0xc179b3ff)
+ }
+
+ Store(Add(Derefof(Index(paui, 5)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 30, Local0, 0xc179b3fe)
+
+ Store(Add(Derefof(Index(paui, 6)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 31, Local0, 0xc179b3ff)
+
+ // Method returns Integer
+
+ Store(Add(m601(1, 5), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 32, Local0, 0xc179b3fe)
+
+ Store(Add(m601(1, 6), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 33, Local0, 0xc179b3ff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(Derefof(m602(1, 5, 1)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 34, Local0, 0xc179b3fe)
+
+ Store(Add(Derefof(m602(1, 6, 1)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 35, Local0, 0xc179b3ff)
+ }
+
+ Add(0, Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 36, Local0, 0xc179b3fe)
+
+ Add(1, Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 37, Local0, 0xc179b3ff)
+
+ Add(aui5, Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 38, Local0, 0xc179b3fe)
+
+ Add(aui6, Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 39, Local0, 0xc179b3ff)
+
+ if (y078) {
+ Add(Derefof(Refof(aui5)), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 40, Local0, 0xc179b3fe)
+
+ Add(Derefof(Refof(aui6)), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 41, Local0, 0xc179b3ff)
+ }
+
+ Add(Derefof(Index(paui, 5)), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 42, Local0, 0xc179b3fe)
+
+ Add(Derefof(Index(paui, 6)), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 43, Local0, 0xc179b3ff)
+
+ // Method returns Integer
+
+ Add(m601(1, 5), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 44, Local0, 0xc179b3fe)
+
+ Add(m601(1, 6), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 45, Local0, 0xc179b3ff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(Derefof(m602(1, 5, 1)), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 46, Local0, 0xc179b3fe)
+
+ Add(Derefof(m602(1, 6, 1)), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 47, Local0, 0xc179b3ff)
+ }
+
+ // Conversion of the both operands
+
+ Store(Add(Derefof(Index(ps60, 1)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 48, Local0, 0xc179b71f)
+
+ Store(Add(Derefof(Index(ps60, 4)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 49, Local0, 0xc179b71f)
+
+ Add(Derefof(Index(ps60, 1)), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 50, Local0, 0xc179b71f)
+
+ Add(Derefof(Index(ps60, 4)), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 51, Local0, 0xc179b71f)
+ }
+
+ // And, common 32-bit/64-bit test
+ Method(m004, 1)
+ {
+ // Conversion of the first operand
+
+ Store(And(Derefof(Index(ps60, 1)), 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(And(Derefof(Index(ps60, 1)), 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0x321)
+
+ Store(And(Derefof(Index(ps60, 1)), aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(And(Derefof(Index(ps60, 1)), auij), Local0)
+ m600(arg0, 3, Local0, 0x321)
+
+ if (y078) {
+ Store(And(Derefof(Index(ps60, 1)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(And(Derefof(Index(ps60, 1)), Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0x321)
+ }
+
+ Store(And(Derefof(Index(ps60, 1)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(And(Derefof(Index(ps60, 1)), Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0x321)
+
+ // Method returns Integer
+
+ Store(And(Derefof(Index(ps60, 1)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(And(Derefof(Index(ps60, 1)), m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(Derefof(Index(ps60, 1)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(And(Derefof(Index(ps60, 1)), Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0x321)
+ }
+
+ And(Derefof(Index(ps60, 1)), 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ And(Derefof(Index(ps60, 1)), 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0x321)
+
+ And(Derefof(Index(ps60, 1)), aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ And(Derefof(Index(ps60, 1)), auij, Local0)
+ m600(arg0, 15, Local0, 0x321)
+
+ if (y078) {
+ And(Derefof(Index(ps60, 1)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ And(Derefof(Index(ps60, 1)), Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0x321)
+ }
+
+ And(Derefof(Index(ps60, 1)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ And(Derefof(Index(ps60, 1)), Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0x321)
+
+ // Method returns Integer
+
+ And(Derefof(Index(ps60, 1)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ And(Derefof(Index(ps60, 1)), m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(Derefof(Index(ps60, 1)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ And(Derefof(Index(ps60, 1)), Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0x321)
+ }
+
+ // Conversion of the second operand
+
+ Store(And(0, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(And(0xffffffffffffffff, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 25, Local0, 0x321)
+
+ Store(And(aui5, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(And(auij, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 27, Local0, 0x321)
+
+ if (y078) {
+ Store(And(Derefof(Refof(aui5)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(And(Derefof(Refof(auij)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 29, Local0, 0x321)
+ }
+
+ Store(And(Derefof(Index(paui, 5)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(And(Derefof(Index(paui, 19)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 31, Local0, 0x321)
+
+ // Method returns Integer
+
+ Store(And(m601(1, 5), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(And(m601(1, 19), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 33, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(Derefof(m602(1, 5, 1)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(And(Derefof(m602(1, 19, 1)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 35, Local0, 0x321)
+ }
+
+ And(0, Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ And(0xffffffffffffffff, Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 37, Local0, 0x321)
+
+ And(aui5, Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ And(auij, Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 39, Local0, 0x321)
+
+ if (y078) {
+ And(Derefof(Refof(aui5)), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ And(Derefof(Refof(auij)), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 41, Local0, 0x321)
+ }
+
+ And(Derefof(Index(paui, 5)), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ And(Derefof(Index(paui, 19)), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 43, Local0, 0x321)
+
+ // Method returns Integer
+
+ And(m601(1, 5), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ And(m601(1, 19), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 45, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(Derefof(m602(1, 5, 1)), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ And(Derefof(m602(1, 19, 1)), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 47, Local0, 0x321)
+ }
+ }
+
+ // And, 64-bit
+ Method(m005, 1)
+ {
+ // Conversion of the first operand
+
+ Store(And(Derefof(Index(ps60, 5)), 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(And(Derefof(Index(ps60, 5)), 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xfe7cb391d650a284)
+
+ Store(And(Derefof(Index(ps60, 5)), aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(And(Derefof(Index(ps60, 5)), auij), Local0)
+ m600(arg0, 3, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Store(And(Derefof(Index(ps60, 5)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(And(Derefof(Index(ps60, 5)), Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xfe7cb391d650a284)
+ }
+
+ Store(And(Derefof(Index(ps60, 5)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(And(Derefof(Index(ps60, 5)), Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Store(And(Derefof(Index(ps60, 5)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(And(Derefof(Index(ps60, 5)), m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(Derefof(Index(ps60, 5)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(And(Derefof(Index(ps60, 5)), Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfe7cb391d650a284)
+ }
+
+ And(Derefof(Index(ps60, 5)), 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ And(Derefof(Index(ps60, 5)), 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a284)
+
+ And(Derefof(Index(ps60, 5)), aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ And(Derefof(Index(ps60, 5)), auij, Local0)
+ m600(arg0, 15, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ And(Derefof(Index(ps60, 5)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ And(Derefof(Index(ps60, 5)), Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xfe7cb391d650a284)
+ }
+
+ And(Derefof(Index(ps60, 5)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ And(Derefof(Index(ps60, 5)), Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ And(Derefof(Index(ps60, 5)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ And(Derefof(Index(ps60, 5)), m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(Derefof(Index(ps60, 5)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ And(Derefof(Index(ps60, 5)), Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfe7cb391d650a284)
+ }
+
+ // Conversion of the second operand
+
+ Store(And(0, Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(And(0xffffffffffffffff, Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 25, Local0, 0xfe7cb391d650a284)
+
+ Store(And(aui5, Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(And(auij, Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 27, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Store(And(Derefof(Refof(aui5)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(And(Derefof(Refof(auij)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 29, Local0, 0xfe7cb391d650a284)
+ }
+
+ Store(And(Derefof(Index(paui, 5)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(And(Derefof(Index(paui, 19)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 31, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Store(And(m601(1, 5), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(And(m601(1, 19), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 33, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(Derefof(m602(1, 5, 1)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(And(Derefof(m602(1, 19, 1)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 35, Local0, 0xfe7cb391d650a284)
+ }
+
+ And(0, Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ And(0xffffffffffffffff, Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 37, Local0, 0xfe7cb391d650a284)
+
+ And(aui5, Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ And(auij, Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 39, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ And(Derefof(Refof(aui5)), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ And(Derefof(Refof(auij)), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 41, Local0, 0xfe7cb391d650a284)
+ }
+
+ And(Derefof(Index(paui, 5)), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ And(Derefof(Index(paui, 19)), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 43, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ And(m601(1, 5), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ And(m601(1, 19), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 45, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(Derefof(m602(1, 5, 1)), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ And(Derefof(m602(1, 19, 1)), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 47, Local0, 0xfe7cb391d650a284)
+ }
+
+ // Conversion of the both operands
+
+ Store(And(Derefof(Index(ps60, 1)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 48, Local0, 0x200)
+
+ Store(And(Derefof(Index(ps60, 5)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 49, Local0, 0x200)
+
+ And(Derefof(Index(ps60, 1)), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 50, Local0, 0x200)
+
+ And(Derefof(Index(ps60, 5)), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 51, Local0, 0x200)
+ }
+
+ // And, 32-bit
+ Method(m006, 1)
+ {
+ // Conversion of the first operand
+
+ Store(And(Derefof(Index(ps60, 4)), 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(And(Derefof(Index(ps60, 4)), 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0xc179b3fe)
+
+ Store(And(Derefof(Index(ps60, 4)), aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(And(Derefof(Index(ps60, 4)), auii), Local0)
+ m600(arg0, 3, Local0, 0xc179b3fe)
+
+ if (y078) {
+ Store(And(Derefof(Index(ps60, 4)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(And(Derefof(Index(ps60, 4)), Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0xc179b3fe)
+ }
+
+ Store(And(Derefof(Index(ps60, 4)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(And(Derefof(Index(ps60, 4)), Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0xc179b3fe)
+
+ // Method returns Integer
+
+ Store(And(Derefof(Index(ps60, 4)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(And(Derefof(Index(ps60, 4)), m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0xc179b3fe)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(Derefof(Index(ps60, 4)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(And(Derefof(Index(ps60, 4)), Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0xc179b3fe)
+ }
+
+ And(Derefof(Index(ps60, 4)), 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ And(Derefof(Index(ps60, 4)), 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0xc179b3fe)
+
+ And(Derefof(Index(ps60, 4)), aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ And(Derefof(Index(ps60, 4)), auii, Local0)
+ m600(arg0, 15, Local0, 0xc179b3fe)
+
+ if (y078) {
+ And(Derefof(Index(ps60, 4)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ And(Derefof(Index(ps60, 4)), Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0xc179b3fe)
+ }
+
+ And(Derefof(Index(ps60, 4)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ And(Derefof(Index(ps60, 4)), Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0xc179b3fe)
+
+ // Method returns Integer
+
+ And(Derefof(Index(ps60, 4)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ And(Derefof(Index(ps60, 4)), m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0xc179b3fe)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(Derefof(Index(ps60, 4)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ And(Derefof(Index(ps60, 4)), Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0xc179b3fe)
+ }
+
+ // Conversion of the second operand
+
+ Store(And(0, Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(And(0xffffffff, Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 25, Local0, 0xc179b3fe)
+
+ Store(And(aui5, Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(And(auii, Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 27, Local0, 0xc179b3fe)
+
+ if (y078) {
+ Store(And(Derefof(Refof(aui5)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(And(Derefof(Refof(auii)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 29, Local0, 0xc179b3fe)
+ }
+
+ Store(And(Derefof(Index(paui, 5)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(And(Derefof(Index(paui, 18)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 31, Local0, 0xc179b3fe)
+
+ // Method returns Integer
+
+ Store(And(m601(1, 5), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(And(m601(1, 18), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 33, Local0, 0xc179b3fe)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(Derefof(m602(1, 5, 1)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(And(Derefof(m602(1, 18, 1)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 35, Local0, 0xc179b3fe)
+ }
+
+ And(0, Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ And(0xffffffff, Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 37, Local0, 0xc179b3fe)
+
+ And(aui5, Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ And(auii, Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 39, Local0, 0xc179b3fe)
+
+ if (y078) {
+ And(Derefof(Refof(aui5)), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ And(Derefof(Refof(auii)), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 41, Local0, 0xc179b3fe)
+ }
+
+ And(Derefof(Index(paui, 5)), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ And(Derefof(Index(paui, 18)), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 43, Local0, 0xc179b3fe)
+
+ // Method returns Integer
+
+ And(m601(1, 5), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ And(m601(1, 18), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 45, Local0, 0xc179b3fe)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(Derefof(m602(1, 5, 1)), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ And(Derefof(m602(1, 18, 1)), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 47, Local0, 0xc179b3fe)
+ }
+
+ // Conversion of the both operands
+
+ Store(And(Derefof(Index(ps60, 1)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 48, Local0, 0x320)
+
+ Store(And(Derefof(Index(ps60, 4)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 49, Local0, 0x320)
+
+ And(Derefof(Index(ps60, 1)), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 50, Local0, 0x320)
+
+ And(Derefof(Index(ps60, 4)), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 51, Local0, 0x320)
+ }
+
+ // Divide, common 32-bit/64-bit test
+ Method(m007, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Divide(Derefof(Index(ps60, 1)), 1), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Divide(Derefof(Index(ps60, 1)), 0x321), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Divide(Derefof(Index(ps60, 1)), aui6), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Divide(Derefof(Index(ps60, 1)), aui1), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Divide(Derefof(Index(ps60, 1)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Divide(Derefof(Index(ps60, 1)), Derefof(Refof(aui1))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Divide(Derefof(Index(ps60, 1)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Divide(Derefof(Index(ps60, 1)), Derefof(Index(paui, 1))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(Derefof(Index(ps60, 1)), m601(1, 6)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Divide(Derefof(Index(ps60, 1)), m601(1, 1)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(Derefof(Index(ps60, 1)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Divide(Derefof(Index(ps60, 1)), Derefof(m602(1, 1, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Divide(Derefof(Index(ps60, 1)), 1, Local1, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Divide(Derefof(Index(ps60, 1)), 0x321, Local1, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Divide(Derefof(Index(ps60, 1)), aui6, Local1, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Divide(Derefof(Index(ps60, 1)), aui1, Local1, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Divide(Derefof(Index(ps60, 1)), Derefof(Refof(aui6)), Local1, Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Divide(Derefof(Index(ps60, 1)), Derefof(Refof(aui1)), Local1, Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Divide(Derefof(Index(ps60, 1)), Derefof(Index(paui, 6)), Local1, Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Divide(Derefof(Index(ps60, 1)), Derefof(Index(paui, 1)), Local1, Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(Derefof(Index(ps60, 1)), m601(1, 6), Local1, Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Divide(Derefof(Index(ps60, 1)), m601(1, 1), Local1, Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(Derefof(Index(ps60, 1)), Derefof(m602(1, 6, 1)), Local1, Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Divide(Derefof(Index(ps60, 1)), Derefof(m602(1, 1, 1)), Local1, Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Divide(1, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Divide(0x321, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 25, Local0, 1)
+
+ Store(Divide(aui6, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Divide(aui1, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 27, Local0, 1)
+
+ if (y078) {
+ Store(Divide(Derefof(Refof(aui6)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Divide(Derefof(Refof(aui1)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 29, Local0, 1)
+ }
+
+ Store(Divide(Derefof(Index(paui, 6)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Divide(Derefof(Index(paui, 1)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 31, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(m601(1, 6), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Divide(m601(1, 1), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 33, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(Derefof(m602(1, 6, 1)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Divide(Derefof(m602(1, 1, 1)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 35, Local0, 1)
+ }
+
+ Divide(1, Derefof(Index(ps60, 1)), Local1, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Divide(0x321, Derefof(Index(ps60, 1)), Local1, Local0)
+ m600(arg0, 37, Local0, 1)
+
+ Divide(aui6, Derefof(Index(ps60, 1)), Local1, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Divide(aui1, Derefof(Index(ps60, 1)), Local1, Local0)
+ m600(arg0, 39, Local0, 1)
+
+ if (y078) {
+ Divide(Derefof(Refof(aui6)), Derefof(Index(ps60, 1)), Local1, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Divide(Derefof(Refof(aui1)), Derefof(Index(ps60, 1)), Local1, Local0)
+ m600(arg0, 41, Local0, 1)
+ }
+
+ Divide(Derefof(Index(paui, 6)), Derefof(Index(ps60, 1)), Local1, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Divide(Derefof(Index(paui, 1)), Derefof(Index(ps60, 1)), Local1, Local0)
+ m600(arg0, 43, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(m601(1, 6), Derefof(Index(ps60, 1)), Local1, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Divide(m601(1, 1), Derefof(Index(ps60, 1)), Local1, Local0)
+ m600(arg0, 45, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(Derefof(m602(1, 6, 1)), Derefof(Index(ps60, 1)), Local1, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Divide(Derefof(m602(1, 1, 1)), Derefof(Index(ps60, 1)), Local1, Local0)
+ m600(arg0, 47, Local0, 1)
+ }
+ }
+
+ // Divide, 64-bit
+ Method(m008, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Divide(Derefof(Index(ps60, 5)), 1), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(Derefof(Index(ps60, 5)), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Divide(Derefof(Index(ps60, 5)), aui6), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(Derefof(Index(ps60, 5)), aui4), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Divide(Derefof(Index(ps60, 5)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(Derefof(Index(ps60, 5)), Derefof(Refof(aui4))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Divide(Derefof(Index(ps60, 5)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(Derefof(Index(ps60, 5)), Derefof(Index(paui, 4))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(Derefof(Index(ps60, 5)), m601(1, 6)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(Derefof(Index(ps60, 5)), m601(1, 4)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(Derefof(Index(ps60, 5)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(Derefof(Index(ps60, 5)), Derefof(m602(1, 4, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Divide(Derefof(Index(ps60, 5)), 1, Local1, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Divide(Derefof(Index(ps60, 5)), 0xfe7cb391d650a284, Local1, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Divide(Derefof(Index(ps60, 5)), aui6, Local1, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Divide(Derefof(Index(ps60, 5)), aui4, Local1, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Divide(Derefof(Index(ps60, 5)), Derefof(Refof(aui6)), Local1, Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Divide(Derefof(Index(ps60, 5)), Derefof(Refof(aui4)), Local1, Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Divide(Derefof(Index(ps60, 5)), Derefof(Index(paui, 6)), Local1, Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Divide(Derefof(Index(ps60, 5)), Derefof(Index(paui, 4)), Local1, Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(Derefof(Index(ps60, 5)), m601(1, 6), Local1, Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Divide(Derefof(Index(ps60, 5)), m601(1, 4), Local1, Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(Derefof(Index(ps60, 5)), Derefof(m602(1, 6, 1)), Local1, Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Divide(Derefof(Index(ps60, 5)), Derefof(m602(1, 4, 1)), Local1, Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Divide(1, Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Divide(0xfe7cb391d650a284, Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 25, Local0, 1)
+
+ Store(Divide(aui6, Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Divide(aui4, Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 27, Local0, 1)
+
+ if (y078) {
+ Store(Divide(Derefof(Refof(aui6)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Divide(Derefof(Refof(aui4)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 29, Local0, 1)
+ }
+
+ Store(Divide(Derefof(Index(paui, 6)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Divide(Derefof(Index(paui, 4)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 31, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(m601(1, 6), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Divide(m601(1, 4), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 33, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(Derefof(m602(1, 6, 1)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Divide(Derefof(m602(1, 4, 1)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 35, Local0, 1)
+ }
+
+ Divide(1, Derefof(Index(ps60, 5)), Local1, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Divide(0xfe7cb391d650a284, Derefof(Index(ps60, 5)), Local1, Local0)
+ m600(arg0, 37, Local0, 1)
+
+ Divide(aui6, Derefof(Index(ps60, 5)), Local1, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Divide(aui4, Derefof(Index(ps60, 5)), Local1, Local0)
+ m600(arg0, 39, Local0, 1)
+
+ if (y078) {
+ Divide(Derefof(Refof(aui6)), Derefof(Index(ps60, 5)), Local1, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Divide(Derefof(Refof(aui4)), Derefof(Index(ps60, 5)), Local1, Local0)
+ m600(arg0, 41, Local0, 1)
+ }
+
+ Divide(Derefof(Index(paui, 6)), Derefof(Index(ps60, 5)), Local1, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Divide(Derefof(Index(paui, 4)), Derefof(Index(ps60, 5)), Local1, Local0)
+ m600(arg0, 43, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(m601(1, 6), Derefof(Index(ps60, 5)), Local1, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Divide(m601(1, 4), Derefof(Index(ps60, 5)), Local1, Local0)
+ m600(arg0, 45, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(Derefof(m602(1, 6, 1)), Derefof(Index(ps60, 5)), Local1, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Divide(Derefof(m602(1, 4, 1)), Derefof(Index(ps60, 5)), Local1, Local0)
+ m600(arg0, 47, Local0, 1)
+ }
+
+ // Conversion of the both operands
+
+ Store(Divide(Derefof(Index(ps60, 1)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 48, Local0, 0)
+
+ Store(Divide(Derefof(Index(ps60, 5)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 49, Local0, 0x0051558eb950f5a7)
+
+ Divide(Derefof(Index(ps60, 1)), Derefof(Index(ps60, 5)), Local1, Local0)
+ m600(arg0, 50, Local0, 0)
+
+ Divide(Derefof(Index(ps60, 5)), Derefof(Index(ps60, 1)), Local1, Local0)
+ m600(arg0, 51, Local0, 0x0051558eb950f5a7)
+ }
+
+ // Divide, 32-bit
+ Method(m009, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Divide(Derefof(Index(ps60, 4)), 1), Local0)
+ m600(arg0, 0, Local0, 0xc179b3fe)
+
+ Store(Divide(Derefof(Index(ps60, 4)), 0xc179b3fe), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Divide(Derefof(Index(ps60, 4)), aui6), Local0)
+ m600(arg0, 2, Local0, 0xc179b3fe)
+
+ Store(Divide(Derefof(Index(ps60, 4)), aui3), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Divide(Derefof(Index(ps60, 4)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 4, Local0, 0xc179b3fe)
+
+ Store(Divide(Derefof(Index(ps60, 4)), Derefof(Refof(aui3))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Divide(Derefof(Index(ps60, 4)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 6, Local0, 0xc179b3fe)
+
+ Store(Divide(Derefof(Index(ps60, 4)), Derefof(Index(paui, 3))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(Derefof(Index(ps60, 4)), m601(1, 6)), Local0)
+ m600(arg0, 8, Local0, 0xc179b3fe)
+
+ Store(Divide(Derefof(Index(ps60, 4)), m601(1, 3)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(Derefof(Index(ps60, 4)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 10, Local0, 0xc179b3fe)
+
+ Store(Divide(Derefof(Index(ps60, 4)), Derefof(m602(1, 3, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Divide(Derefof(Index(ps60, 4)), 1, Local1, Local0)
+ m600(arg0, 12, Local0, 0xc179b3fe)
+
+ Divide(Derefof(Index(ps60, 4)), 0xc179b3fe, Local1, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Divide(Derefof(Index(ps60, 4)), aui6, Local1, Local0)
+ m600(arg0, 14, Local0, 0xc179b3fe)
+
+ Divide(Derefof(Index(ps60, 4)), aui3, Local1, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Divide(Derefof(Index(ps60, 4)), Derefof(Refof(aui6)), Local1, Local0)
+ m600(arg0, 16, Local0, 0xc179b3fe)
+
+ Divide(Derefof(Index(ps60, 4)), Derefof(Refof(aui3)), Local1, Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Divide(Derefof(Index(ps60, 4)), Derefof(Index(paui, 6)), Local1, Local0)
+ m600(arg0, 18, Local0, 0xc179b3fe)
+
+ Divide(Derefof(Index(ps60, 4)), Derefof(Index(paui, 3)), Local1, Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(Derefof(Index(ps60, 4)), m601(1, 6), Local1, Local0)
+ m600(arg0, 20, Local0, 0xc179b3fe)
+
+ Divide(Derefof(Index(ps60, 4)), m601(1, 3), Local1, Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(Derefof(Index(ps60, 4)), Derefof(m602(1, 6, 1)), Local1, Local0)
+ m600(arg0, 22, Local0, 0xc179b3fe)
+
+ Divide(Derefof(Index(ps60, 4)), Derefof(m602(1, 3, 1)), Local1, Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Divide(1, Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Divide(0xc179b3fe, Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 25, Local0, 1)
+
+ Store(Divide(aui6, Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Divide(aui3, Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 27, Local0, 1)
+
+ if (y078) {
+ Store(Divide(Derefof(Refof(aui6)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Divide(Derefof(Refof(aui3)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 29, Local0, 1)
+ }
+
+ Store(Divide(Derefof(Index(paui, 6)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Divide(Derefof(Index(paui, 3)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 31, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(m601(1, 6), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Divide(m601(1, 3), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 33, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(Derefof(m602(1, 6, 1)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Divide(Derefof(m602(1, 3, 1)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 35, Local0, 1)
+ }
+
+ Divide(1, Derefof(Index(ps60, 4)), Local1, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Divide(0xc179b3fe, Derefof(Index(ps60, 4)), Local1, Local0)
+ m600(arg0, 37, Local0, 1)
+
+ Divide(aui6, Derefof(Index(ps60, 4)), Local1, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Divide(aui3, Derefof(Index(ps60, 4)), Local1, Local0)
+ m600(arg0, 39, Local0, 1)
+
+ if (y078) {
+ Divide(Derefof(Refof(aui6)), Derefof(Index(ps60, 4)), Local1, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Divide(Derefof(Refof(aui3)), Derefof(Index(ps60, 4)), Local1, Local0)
+ m600(arg0, 41, Local0, 1)
+ }
+
+ Divide(Derefof(Index(paui, 6)), Derefof(Index(ps60, 4)), Local1, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Divide(Derefof(Index(paui, 3)), Derefof(Index(ps60, 4)), Local1, Local0)
+ m600(arg0, 43, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(m601(1, 6), Derefof(Index(ps60, 4)), Local1, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Divide(m601(1, 3), Derefof(Index(ps60, 4)), Local1, Local0)
+ m600(arg0, 45, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(Derefof(m602(1, 6, 1)), Derefof(Index(ps60, 4)), Local1, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Divide(Derefof(m602(1, 3, 1)), Derefof(Index(ps60, 4)), Local1, Local0)
+ m600(arg0, 47, Local0, 1)
+ }
+
+ // Conversion of the both operands
+
+ Store(Divide(Derefof(Index(ps60, 1)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 48, Local0, 0)
+
+ Store(Divide(Derefof(Index(ps60, 4)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 49, Local0, 0x003dd5b7)
+
+ Divide(Derefof(Index(ps60, 1)), Derefof(Index(ps60, 4)), Local1, Local0)
+ m600(arg0, 50, Local0, 0)
+
+ Divide(Derefof(Index(ps60, 4)), Derefof(Index(ps60, 1)), Local1, Local0)
+ m600(arg0, 51, Local0, 0x003dd5b7)
+ }
+
+ // Mod, common 32-bit/64-bit test
+ Method(m00a, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Mod(Derefof(Index(ps60, 1)), 0x322), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Mod(Derefof(Index(ps60, 1)), 0x320), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Mod(Derefof(Index(ps60, 1)), auig), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Mod(Derefof(Index(ps60, 1)), auih), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Mod(Derefof(Index(ps60, 1)), Derefof(Refof(auig))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Mod(Derefof(Index(ps60, 1)), Derefof(Refof(auih))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Mod(Derefof(Index(ps60, 1)), Derefof(Index(paui, 16))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Mod(Derefof(Index(ps60, 1)), Derefof(Index(paui, 17))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Mod(Derefof(Index(ps60, 1)), m601(1, 16)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Mod(Derefof(Index(ps60, 1)), m601(1, 17)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(Derefof(Index(ps60, 1)), Derefof(m602(1, 16, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Mod(Derefof(Index(ps60, 1)), Derefof(m602(1, 17, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Mod(Derefof(Index(ps60, 1)), 0x322, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Mod(Derefof(Index(ps60, 1)), 0x320, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Mod(Derefof(Index(ps60, 1)), auig, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Mod(Derefof(Index(ps60, 1)), auih, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Mod(Derefof(Index(ps60, 1)), Derefof(Refof(auig)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Mod(Derefof(Index(ps60, 1)), Derefof(Refof(auih)), Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Mod(Derefof(Index(ps60, 1)), Derefof(Index(paui, 16)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Mod(Derefof(Index(ps60, 1)), Derefof(Index(paui, 17)), Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Mod(Derefof(Index(ps60, 1)), m601(1, 16), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Mod(Derefof(Index(ps60, 1)), m601(1, 17), Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(Derefof(Index(ps60, 1)), Derefof(m602(1, 16, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Mod(Derefof(Index(ps60, 1)), Derefof(m602(1, 17, 1)), Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Mod(0x322, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 24, Local0, 1)
+
+ Store(Mod(0x320, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 25, Local0, 0x320)
+
+ Store(Mod(auig, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 26, Local0, 1)
+
+ Store(Mod(auih, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 27, Local0, 0x320)
+
+ if (y078) {
+ Store(Mod(Derefof(Refof(auig)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 28, Local0, 1)
+
+ Store(Mod(Derefof(Refof(auih)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 29, Local0, 0x320)
+ }
+
+ Store(Mod(Derefof(Index(paui, 16)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 30, Local0, 1)
+
+ Store(Mod(Derefof(Index(paui, 17)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 31, Local0, 0x320)
+
+ // Method returns Integer
+
+ Store(Mod(m601(1, 16), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 32, Local0, 1)
+
+ Store(Mod(m601(1, 17), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 33, Local0, 0x320)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(Derefof(m602(1, 16, 1)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 34, Local0, 1)
+
+ Store(Mod(Derefof(m602(1, 17, 1)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 35, Local0, 0x320)
+ }
+
+ Mod(0x322, Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 36, Local0, 1)
+
+ Mod(0x320, Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 37, Local0, 0x320)
+
+ Mod(auig, Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 38, Local0, 1)
+
+ Mod(auih, Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 39, Local0, 0x320)
+
+ if (y078) {
+ Mod(Derefof(Refof(auig)), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 40, Local0, 1)
+
+ Mod(Derefof(Refof(auih)), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 41, Local0, 0x320)
+ }
+
+ Mod(Derefof(Index(paui, 16)), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 42, Local0, 1)
+
+ Mod(Derefof(Index(paui, 17)), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 43, Local0, 0x320)
+
+ // Method returns Integer
+
+ Mod(m601(1, 16), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 44, Local0, 1)
+
+ Mod(m601(1, 17), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 45, Local0, 0x320)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(Derefof(m602(1, 16, 1)), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 46, Local0, 1)
+
+ Mod(Derefof(m602(1, 17, 1)), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 47, Local0, 0x320)
+ }
+ }
+
+ // Mod, 64-bit
+ Method(m00b, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Mod(Derefof(Index(ps60, 5)), 0xfe7cb391d650a285), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(Derefof(Index(ps60, 5)), 0xfe7cb391d650a283), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Mod(Derefof(Index(ps60, 5)), auid), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(Derefof(Index(ps60, 5)), auif), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Mod(Derefof(Index(ps60, 5)), Derefof(Refof(auid))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(Derefof(Index(ps60, 5)), Derefof(Refof(auif))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Mod(Derefof(Index(ps60, 5)), Derefof(Index(paui, 13))), Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(Derefof(Index(ps60, 5)), Derefof(Index(paui, 15))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Mod(Derefof(Index(ps60, 5)), m601(1, 13)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(Derefof(Index(ps60, 5)), m601(1, 15)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(Derefof(Index(ps60, 5)), Derefof(m602(1, 13, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(Derefof(Index(ps60, 5)), Derefof(m602(1, 15, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Mod(Derefof(Index(ps60, 5)), 0xfe7cb391d650a285, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Mod(Derefof(Index(ps60, 5)), 0xfe7cb391d650a283, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Mod(Derefof(Index(ps60, 5)), auid, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Mod(Derefof(Index(ps60, 5)), auif, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Mod(Derefof(Index(ps60, 5)), Derefof(Refof(auid)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Mod(Derefof(Index(ps60, 5)), Derefof(Refof(auif)), Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Mod(Derefof(Index(ps60, 5)), Derefof(Index(paui, 13)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Mod(Derefof(Index(ps60, 5)), Derefof(Index(paui, 15)), Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Mod(Derefof(Index(ps60, 5)), m601(1, 13), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Mod(Derefof(Index(ps60, 5)), m601(1, 15), Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(Derefof(Index(ps60, 5)), Derefof(m602(1, 13, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Mod(Derefof(Index(ps60, 5)), Derefof(m602(1, 15, 1)), Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Mod(0xfe7cb391d650a285, Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 24, Local0, 1)
+
+ Store(Mod(0xfe7cb391d650a283, Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 25, Local0, 0xfe7cb391d650a283)
+
+ Store(Mod(auid, Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 26, Local0, 1)
+
+ Store(Mod(auif, Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 27, Local0, 0xfe7cb391d650a283)
+
+ if (y078) {
+ Store(Mod(Derefof(Refof(auid)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 28, Local0, 1)
+
+ Store(Mod(Derefof(Refof(auif)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 29, Local0, 0xfe7cb391d650a283)
+ }
+
+ Store(Mod(Derefof(Index(paui, 13)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 30, Local0, 1)
+
+ Store(Mod(Derefof(Index(paui, 15)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 31, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Integer
+
+ Store(Mod(m601(1, 13), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 32, Local0, 1)
+
+ Store(Mod(m601(1, 15), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 33, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(Derefof(m602(1, 13, 1)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 34, Local0, 1)
+
+ Store(Mod(Derefof(m602(1, 15, 1)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 35, Local0, 0xfe7cb391d650a283)
+ }
+
+ Mod(0xfe7cb391d650a285, Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 36, Local0, 1)
+
+ Mod(0xfe7cb391d650a283, Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 37, Local0, 0xfe7cb391d650a283)
+
+ Mod(auid, Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 38, Local0, 1)
+
+ Mod(auif, Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 39, Local0, 0xfe7cb391d650a283)
+
+ if (y078) {
+ Mod(Derefof(Refof(auid)), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 40, Local0, 1)
+
+ Mod(Derefof(Refof(auif)), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 41, Local0, 0xfe7cb391d650a283)
+ }
+
+ Mod(Derefof(Index(paui, 13)), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 42, Local0, 1)
+
+ Mod(Derefof(Index(paui, 15)), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 43, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Integer
+
+ Mod(m601(1, 13), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 44, Local0, 1)
+
+ Mod(m601(1, 15), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 45, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(Derefof(m602(1, 13, 1)), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 46, Local0, 1)
+
+ Mod(Derefof(m602(1, 15, 1)), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 47, Local0, 0xfe7cb391d650a283)
+ }
+
+ // Conversion of the both operands
+
+ Store(Mod(Derefof(Index(ps60, 1)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 48, Local0, 0x321)
+
+ Store(Mod(Derefof(Index(ps60, 5)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 49, Local0, 0x2fd)
+
+ Mod(Derefof(Index(ps60, 1)), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 50, Local0, 0x321)
+
+ Mod(Derefof(Index(ps60, 5)), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 51, Local0, 0x2fd)
+ }
+
+ // Mod, 32-bit
+ Method(m00c, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Mod(Derefof(Index(ps60, 4)), 0xc179b3ff), Local0)
+ m600(arg0, 0, Local0, 0xc179b3fe)
+
+ Store(Mod(Derefof(Index(ps60, 4)), 0xc179b3fd), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Mod(Derefof(Index(ps60, 4)), auic), Local0)
+ m600(arg0, 2, Local0, 0xc179b3fe)
+
+ Store(Mod(Derefof(Index(ps60, 4)), auie), Local0)
+ m600(arg0, 14, Local0, 1)
+
+ if (y078) {
+ Store(Mod(Derefof(Index(ps60, 4)), Derefof(Refof(auic))), Local0)
+ m600(arg0, 4, Local0, 0xc179b3fe)
+
+ Store(Mod(Derefof(Index(ps60, 4)), Derefof(Refof(auie))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Mod(Derefof(Index(ps60, 4)), Derefof(Index(paui, 12))), Local0)
+ m600(arg0, 12, Local0, 0xc179b3fe)
+
+ Store(Mod(Derefof(Index(ps60, 4)), Derefof(Index(paui, 14))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Mod(Derefof(Index(ps60, 4)), m601(1, 12)), Local0)
+ m600(arg0, 8, Local0, 0xc179b3fe)
+
+ Store(Mod(Derefof(Index(ps60, 4)), m601(1, 14)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(Derefof(Index(ps60, 4)), Derefof(m602(1, 12, 1))), Local0)
+ m600(arg0, 10, Local0, 0xc179b3fe)
+
+ Store(Mod(Derefof(Index(ps60, 4)), Derefof(m602(1, 14, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Mod(Derefof(Index(ps60, 4)), 0xc179b3ff, Local0)
+ m600(arg0, 12, Local0, 0xc179b3fe)
+
+ Mod(Derefof(Index(ps60, 4)), 0xc179b3fd, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Mod(Derefof(Index(ps60, 4)), auic, Local0)
+ m600(arg0, 14, Local0, 0xc179b3fe)
+
+ Mod(Derefof(Index(ps60, 4)), auie, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Mod(Derefof(Index(ps60, 4)), Derefof(Refof(auic)), Local0)
+ m600(arg0, 16, Local0, 0xc179b3fe)
+
+ Mod(Derefof(Index(ps60, 4)), Derefof(Refof(auie)), Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Mod(Derefof(Index(ps60, 4)), Derefof(Index(paui, 12)), Local0)
+ m600(arg0, 18, Local0, 0xc179b3fe)
+
+ Mod(Derefof(Index(ps60, 4)), Derefof(Index(paui, 14)), Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Mod(Derefof(Index(ps60, 4)), m601(1, 12), Local0)
+ m600(arg0, 20, Local0, 0xc179b3fe)
+
+ Mod(Derefof(Index(ps60, 4)), m601(1, 14), Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(Derefof(Index(ps60, 4)), Derefof(m602(1, 12, 1)), Local0)
+ m600(arg0, 22, Local0, 0xc179b3fe)
+
+ Mod(Derefof(Index(ps60, 4)), Derefof(m602(1, 14, 1)), Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Mod(0xc179b3ff, Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 24, Local0, 1)
+
+ Store(Mod(0xc179b3fd, Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 25, Local0, 0xc179b3fd)
+
+ Store(Mod(auic, Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 26, Local0, 1)
+
+ Store(Mod(auie, Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 27, Local0, 0xc179b3fd)
+
+ if (y078) {
+ Store(Mod(Derefof(Refof(auic)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 28, Local0, 1)
+
+ Store(Mod(Derefof(Refof(auie)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 29, Local0, 0xc179b3fd)
+ }
+
+ Store(Mod(Derefof(Index(paui, 12)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 30, Local0, 1)
+
+ Store(Mod(Derefof(Index(paui, 14)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 31, Local0, 0xc179b3fd)
+
+ // Method returns Integer
+
+ Store(Mod(m601(1, 12), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 32, Local0, 1)
+
+ Store(Mod(m601(1, 14), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 33, Local0, 0xc179b3fd)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(Derefof(m602(1, 12, 1)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 34, Local0, 1)
+
+ Store(Mod(Derefof(m602(1, 14, 1)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 35, Local0, 0xc179b3fd)
+ }
+
+ Mod(0xc179b3ff, Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 36, Local0, 1)
+
+ Mod(0xc179b3fd, Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 37, Local0, 0xc179b3fd)
+
+ Mod(auic, Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 38, Local0, 1)
+
+ Mod(auie, Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 39, Local0, 0xc179b3fd)
+
+ if (y078) {
+ Mod(Derefof(Refof(auic)), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 40, Local0, 1)
+
+ Mod(Derefof(Refof(auie)), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 41, Local0, 0xc179b3fd)
+ }
+
+ Mod(Derefof(Index(paui, 12)), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 42, Local0, 1)
+
+ Mod(Derefof(Index(paui, 14)), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 43, Local0, 0xc179b3fd)
+
+ // Method returns Integer
+
+ Mod(m601(1, 12), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 44, Local0, 1)
+
+ Mod(m601(1, 14), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 45, Local0, 0xc179b3fd)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(Derefof(m602(1, 12, 1)), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 46, Local0, 1)
+
+ Mod(Derefof(m602(1, 14, 1)), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 47, Local0, 0xc179b3fd)
+ }
+
+ // Conversion of the both operands
+
+ Store(Mod(Derefof(Index(ps60, 1)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 48, Local0, 0x321)
+
+ Store(Mod(Derefof(Index(ps60, 4)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 49, Local0, 0x267)
+
+ Mod(Derefof(Index(ps60, 1)), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 50, Local0, 0x321)
+
+ Mod(Derefof(Index(ps60, 4)), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 51, Local0, 0x267)
+ }
+
+ // Multiply, common 32-bit/64-bit test
+ Method(m00d, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Multiply(Derefof(Index(ps60, 1)), 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(Multiply(Derefof(Index(ps60, 1)), 1), Local0)
+ m600(arg0, 1, Local0, 0x321)
+
+ Store(Multiply(Derefof(Index(ps60, 1)), aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(Multiply(Derefof(Index(ps60, 1)), aui6), Local0)
+ m600(arg0, 3, Local0, 0x321)
+
+ if (y078) {
+ Store(Multiply(Derefof(Index(ps60, 1)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(Multiply(Derefof(Index(ps60, 1)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x321)
+ }
+
+ Store(Multiply(Derefof(Index(ps60, 1)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(Multiply(Derefof(Index(ps60, 1)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x321)
+
+ // Method returns Integer
+
+ Store(Multiply(Derefof(Index(ps60, 1)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(Multiply(Derefof(Index(ps60, 1)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(Derefof(Index(ps60, 1)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(Multiply(Derefof(Index(ps60, 1)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x321)
+ }
+
+ Multiply(Derefof(Index(ps60, 1)), 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ Multiply(Derefof(Index(ps60, 1)), 1, Local0)
+ m600(arg0, 13, Local0, 0x321)
+
+ Multiply(Derefof(Index(ps60, 1)), aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ Multiply(Derefof(Index(ps60, 1)), aui6, Local0)
+ m600(arg0, 15, Local0, 0x321)
+
+ if (y078) {
+ Multiply(Derefof(Index(ps60, 1)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ Multiply(Derefof(Index(ps60, 1)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x321)
+ }
+
+ Multiply(Derefof(Index(ps60, 1)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ Multiply(Derefof(Index(ps60, 1)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x321)
+
+ // Method returns Integer
+
+ Multiply(Derefof(Index(ps60, 1)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ Multiply(Derefof(Index(ps60, 1)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(Derefof(Index(ps60, 1)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ Multiply(Derefof(Index(ps60, 1)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x321)
+ }
+
+ // Conversion of the second operand
+
+ Store(Multiply(0, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Multiply(1, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 25, Local0, 0x321)
+
+ Store(Multiply(aui5, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Multiply(aui6, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 27, Local0, 0x321)
+
+ if (y078) {
+ Store(Multiply(Derefof(Refof(aui5)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(aui6)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 29, Local0, 0x321)
+ }
+
+ Store(Multiply(Derefof(Index(paui, 5)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Multiply(Derefof(Index(paui, 6)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 31, Local0, 0x321)
+
+ // Method returns Integer
+
+ Store(Multiply(m601(1, 5), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Multiply(m601(1, 6), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 33, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(Derefof(m602(1, 5, 1)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Multiply(Derefof(m602(1, 6, 1)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 35, Local0, 0x321)
+ }
+
+ Multiply(0, Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Multiply(1, Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 37, Local0, 0x321)
+
+ Multiply(aui5, Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Multiply(aui6, Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 39, Local0, 0x321)
+
+ if (y078) {
+ Multiply(Derefof(Refof(aui5)), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Multiply(Derefof(Refof(aui6)), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 41, Local0, 0x321)
+ }
+
+ Multiply(Derefof(Index(paui, 5)), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Multiply(Derefof(Index(paui, 6)), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 43, Local0, 0x321)
+
+ // Method returns Integer
+
+ Multiply(m601(1, 5), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Multiply(m601(1, 6), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 45, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(Derefof(m602(1, 5, 1)), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Multiply(Derefof(m602(1, 6, 1)), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 47, Local0, 0x321)
+ }
+ }
+
+ // Multiply, 64-bit
+ Method(m00e, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Multiply(Derefof(Index(ps60, 5)), 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(Multiply(Derefof(Index(ps60, 5)), 1), Local0)
+ m600(arg0, 1, Local0, 0xfe7cb391d650a284)
+
+ Store(Multiply(Derefof(Index(ps60, 5)), aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(Multiply(Derefof(Index(ps60, 5)), aui6), Local0)
+ m600(arg0, 3, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Store(Multiply(Derefof(Index(ps60, 5)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(Multiply(Derefof(Index(ps60, 5)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xfe7cb391d650a284)
+ }
+
+ Store(Multiply(Derefof(Index(ps60, 5)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(Multiply(Derefof(Index(ps60, 5)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Store(Multiply(Derefof(Index(ps60, 5)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(Multiply(Derefof(Index(ps60, 5)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(Derefof(Index(ps60, 5)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(Multiply(Derefof(Index(ps60, 5)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfe7cb391d650a284)
+ }
+
+ Multiply(Derefof(Index(ps60, 5)), 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ Multiply(Derefof(Index(ps60, 5)), 1, Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a284)
+
+ Multiply(Derefof(Index(ps60, 5)), aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ Multiply(Derefof(Index(ps60, 5)), aui6, Local0)
+ m600(arg0, 15, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Multiply(Derefof(Index(ps60, 5)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ Multiply(Derefof(Index(ps60, 5)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xfe7cb391d650a284)
+ }
+
+ Multiply(Derefof(Index(ps60, 5)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ Multiply(Derefof(Index(ps60, 5)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Multiply(Derefof(Index(ps60, 5)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ Multiply(Derefof(Index(ps60, 5)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(Derefof(Index(ps60, 5)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ Multiply(Derefof(Index(ps60, 5)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfe7cb391d650a284)
+ }
+
+ // Conversion of the second operand
+
+ Store(Multiply(0, Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Multiply(1, Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 25, Local0, 0xfe7cb391d650a284)
+
+ Store(Multiply(aui5, Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Multiply(aui6, Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 27, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Store(Multiply(Derefof(Refof(aui5)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(aui6)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 29, Local0, 0xfe7cb391d650a284)
+ }
+
+ Store(Multiply(Derefof(Index(paui, 5)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Multiply(Derefof(Index(paui, 6)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 31, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Store(Multiply(m601(1, 5), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Multiply(m601(1, 6), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 33, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(Derefof(m602(1, 5, 1)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Multiply(Derefof(m602(1, 6, 1)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 35, Local0, 0xfe7cb391d650a284)
+ }
+
+ Multiply(0, Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Multiply(1, Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 37, Local0, 0xfe7cb391d650a284)
+
+ Multiply(aui5, Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Multiply(aui6, Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 39, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Multiply(Derefof(Refof(aui5)), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Multiply(Derefof(Refof(aui6)), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 41, Local0, 0xfe7cb391d650a284)
+ }
+
+ Multiply(Derefof(Index(paui, 5)), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Multiply(Derefof(Index(paui, 6)), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 43, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Multiply(m601(1, 5), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Multiply(m601(1, 6), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 45, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(Derefof(m602(1, 5, 1)), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Multiply(Derefof(m602(1, 6, 1)), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 47, Local0, 0xfe7cb391d650a284)
+ }
+
+ // Conversion of the both operands
+
+ Store(Multiply(Derefof(Index(ps60, 1)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 48, Local0, 0x442ddb4f924c7f04)
+
+ Store(Multiply(Derefof(Index(ps60, 5)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 49, Local0, 0x442ddb4f924c7f04)
+
+ Multiply(Derefof(Index(ps60, 1)), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 50, Local0, 0x442ddb4f924c7f04)
+
+ Multiply(Derefof(Index(ps60, 5)), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 51, Local0, 0x442ddb4f924c7f04)
+ }
+
+ // Multiply, 32-bit
+ Method(m00f, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Multiply(Derefof(Index(ps60, 4)), 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(Multiply(Derefof(Index(ps60, 4)), 1), Local0)
+ m600(arg0, 1, Local0, 0xc179b3fe)
+
+ Store(Multiply(Derefof(Index(ps60, 4)), aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(Multiply(Derefof(Index(ps60, 4)), aui6), Local0)
+ m600(arg0, 3, Local0, 0xc179b3fe)
+
+ if (y078) {
+ Store(Multiply(Derefof(Index(ps60, 4)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(Multiply(Derefof(Index(ps60, 4)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xc179b3fe)
+ }
+
+ Store(Multiply(Derefof(Index(ps60, 4)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(Multiply(Derefof(Index(ps60, 4)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xc179b3fe)
+
+ // Method returns Integer
+
+ Store(Multiply(Derefof(Index(ps60, 4)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(Multiply(Derefof(Index(ps60, 4)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xc179b3fe)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(Derefof(Index(ps60, 4)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(Multiply(Derefof(Index(ps60, 4)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xc179b3fe)
+ }
+
+ Multiply(Derefof(Index(ps60, 4)), 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ Multiply(Derefof(Index(ps60, 4)), 1, Local0)
+ m600(arg0, 13, Local0, 0xc179b3fe)
+
+ Multiply(Derefof(Index(ps60, 4)), aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ Multiply(Derefof(Index(ps60, 4)), aui6, Local0)
+ m600(arg0, 15, Local0, 0xc179b3fe)
+
+ if (y078) {
+ Multiply(Derefof(Index(ps60, 4)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ Multiply(Derefof(Index(ps60, 4)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xc179b3fe)
+ }
+
+ Multiply(Derefof(Index(ps60, 4)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ Multiply(Derefof(Index(ps60, 4)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xc179b3fe)
+
+ // Method returns Integer
+
+ Multiply(Derefof(Index(ps60, 4)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ Multiply(Derefof(Index(ps60, 4)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xc179b3fe)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(Derefof(Index(ps60, 4)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ Multiply(Derefof(Index(ps60, 4)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xc179b3fe)
+ }
+
+ // Conversion of the second operand
+
+ Store(Multiply(0, Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Multiply(1, Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 25, Local0, 0xc179b3fe)
+
+ Store(Multiply(aui5, Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Multiply(aui6, Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 27, Local0, 0xc179b3fe)
+
+ if (y078) {
+ Store(Multiply(Derefof(Refof(aui5)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(aui6)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 29, Local0, 0xc179b3fe)
+ }
+
+ Store(Multiply(Derefof(Index(paui, 5)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Multiply(Derefof(Index(paui, 6)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 31, Local0, 0xc179b3fe)
+
+ // Method returns Integer
+
+ Store(Multiply(m601(1, 5), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Multiply(m601(1, 6), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 33, Local0, 0xc179b3fe)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(Derefof(m602(1, 5, 1)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Multiply(Derefof(m602(1, 6, 1)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 35, Local0, 0xc179b3fe)
+ }
+
+ Multiply(0, Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Multiply(1, Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 37, Local0, 0xc179b3fe)
+
+ Multiply(aui5, Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Multiply(aui6, Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 39, Local0, 0xc179b3fe)
+
+ if (y078) {
+ Multiply(Derefof(Refof(aui5)), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Multiply(Derefof(Refof(aui6)), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 41, Local0, 0xc179b3fe)
+ }
+
+ Multiply(Derefof(Index(paui, 5)), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Multiply(Derefof(Index(paui, 6)), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 43, Local0, 0xc179b3fe)
+
+ // Method returns Integer
+
+ Multiply(m601(1, 5), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Multiply(m601(1, 6), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 45, Local0, 0xc179b3fe)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(Derefof(m602(1, 5, 1)), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Multiply(Derefof(m602(1, 6, 1)), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 47, Local0, 0xc179b3fe)
+ }
+
+ // Conversion of the both operands
+
+ Store(Multiply(Derefof(Index(ps60, 1)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 48, Local0, 0x5dcc2dbe)
+
+ Store(Multiply(Derefof(Index(ps60, 4)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 49, Local0, 0x5dcc2dbe)
+
+ Multiply(Derefof(Index(ps60, 1)), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 50, Local0, 0x5dcc2dbe)
+
+ Multiply(Derefof(Index(ps60, 4)), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 51, Local0, 0x5dcc2dbe)
+ }
+
+ // NAnd, common 32-bit/64-bit test
+ Method(m010, 1)
+ {
+ // Conversion of the first operand
+
+ Store(NAnd(Derefof(Index(ps60, 1)), 0), Local0)
+ m600(arg0, 0, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Index(ps60, 1)), 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xfffffffffffffcde)
+
+ Store(NAnd(Derefof(Index(ps60, 1)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Index(ps60, 1)), auij), Local0)
+ m600(arg0, 3, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ Store(NAnd(Derefof(Index(ps60, 1)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Index(ps60, 1)), Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xfffffffffffffcde)
+ }
+
+ Store(NAnd(Derefof(Index(ps60, 1)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Index(ps60, 1)), Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ Store(NAnd(Derefof(Index(ps60, 1)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Index(ps60, 1)), m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(Derefof(Index(ps60, 1)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Index(ps60, 1)), Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfffffffffffffcde)
+ }
+
+ NAnd(Derefof(Index(ps60, 1)), 0, Local0)
+ m600(arg0, 12, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Index(ps60, 1)), 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xfffffffffffffcde)
+
+ NAnd(Derefof(Index(ps60, 1)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Index(ps60, 1)), auij, Local0)
+ m600(arg0, 15, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ NAnd(Derefof(Index(ps60, 1)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Index(ps60, 1)), Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xfffffffffffffcde)
+ }
+
+ NAnd(Derefof(Index(ps60, 1)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Index(ps60, 1)), Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ NAnd(Derefof(Index(ps60, 1)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Index(ps60, 1)), m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(Derefof(Index(ps60, 1)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Index(ps60, 1)), Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfffffffffffffcde)
+ }
+
+ // Conversion of the second operand
+
+ Store(NAnd(0, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 24, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(0xffffffffffffffff, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 25, Local0, 0xfffffffffffffcde)
+
+ Store(NAnd(aui5, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 26, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(auij, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 27, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ Store(NAnd(Derefof(Refof(aui5)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 28, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Refof(auij)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 29, Local0, 0xfffffffffffffcde)
+ }
+
+ Store(NAnd(Derefof(Index(paui, 5)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 30, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Index(paui, 19)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 31, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ Store(NAnd(m601(1, 5), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 32, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(m601(1, 19), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 33, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(Derefof(m602(1, 5, 1)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 34, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(m602(1, 19, 1)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 35, Local0, 0xfffffffffffffcde)
+ }
+
+ NAnd(0, Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 36, Local0, 0xffffffffffffffff)
+
+ NAnd(0xffffffffffffffff, Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 37, Local0, 0xfffffffffffffcde)
+
+ NAnd(aui5, Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 38, Local0, 0xffffffffffffffff)
+
+ NAnd(auij, Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 39, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ NAnd(Derefof(Refof(aui5)), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 40, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Refof(auij)), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 41, Local0, 0xfffffffffffffcde)
+ }
+
+ NAnd(Derefof(Index(paui, 5)), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 42, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Index(paui, 19)), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 43, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ NAnd(m601(1, 5), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 44, Local0, 0xffffffffffffffff)
+
+ NAnd(m601(1, 19), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 45, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(Derefof(m602(1, 5, 1)), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 46, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(m602(1, 19, 1)), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 47, Local0, 0xfffffffffffffcde)
+ }
+ }
+
+ // NAnd, 64-bit
+ Method(m011, 1)
+ {
+ // Conversion of the first operand
+
+ Store(NAnd(Derefof(Index(ps60, 5)), 0), Local0)
+ m600(arg0, 0, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Index(ps60, 5)), 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0x01834c6e29af5d7b)
+
+ Store(NAnd(Derefof(Index(ps60, 5)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Index(ps60, 5)), auij), Local0)
+ m600(arg0, 3, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ Store(NAnd(Derefof(Index(ps60, 5)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Index(ps60, 5)), Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Store(NAnd(Derefof(Index(ps60, 5)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Index(ps60, 5)), Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ Store(NAnd(Derefof(Index(ps60, 5)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Index(ps60, 5)), m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(Derefof(Index(ps60, 5)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Index(ps60, 5)), Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0x01834c6e29af5d7b)
+ }
+
+ NAnd(Derefof(Index(ps60, 5)), 0, Local0)
+ m600(arg0, 12, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Index(ps60, 5)), 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0x01834c6e29af5d7b)
+
+ NAnd(Derefof(Index(ps60, 5)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Index(ps60, 5)), auij, Local0)
+ m600(arg0, 15, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ NAnd(Derefof(Index(ps60, 5)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Index(ps60, 5)), Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0x01834c6e29af5d7b)
+ }
+
+ NAnd(Derefof(Index(ps60, 5)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Index(ps60, 5)), Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ NAnd(Derefof(Index(ps60, 5)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Index(ps60, 5)), m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(Derefof(Index(ps60, 5)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Index(ps60, 5)), Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0x01834c6e29af5d7b)
+ }
+
+ // Conversion of the second operand
+
+ Store(NAnd(0, Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 24, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(0xffffffffffffffff, Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 25, Local0, 0x01834c6e29af5d7b)
+
+ Store(NAnd(aui5, Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 26, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(auij, Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 27, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ Store(NAnd(Derefof(Refof(aui5)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 28, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Refof(auij)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 29, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Store(NAnd(Derefof(Index(paui, 5)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 30, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Index(paui, 19)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 31, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ Store(NAnd(m601(1, 5), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 32, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(m601(1, 19), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 33, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(Derefof(m602(1, 5, 1)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 34, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(m602(1, 19, 1)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 35, Local0, 0x01834c6e29af5d7b)
+ }
+
+ NAnd(0, Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 36, Local0, 0xffffffffffffffff)
+
+ NAnd(0xffffffffffffffff, Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 37, Local0, 0x01834c6e29af5d7b)
+
+ NAnd(aui5, Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 38, Local0, 0xffffffffffffffff)
+
+ NAnd(auij, Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 39, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ NAnd(Derefof(Refof(aui5)), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 40, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Refof(auij)), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 41, Local0, 0x01834c6e29af5d7b)
+ }
+
+ NAnd(Derefof(Index(paui, 5)), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 42, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Index(paui, 19)), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 43, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ NAnd(m601(1, 5), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 44, Local0, 0xffffffffffffffff)
+
+ NAnd(m601(1, 19), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 45, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(Derefof(m602(1, 5, 1)), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 46, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(m602(1, 19, 1)), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 47, Local0, 0x01834c6e29af5d7b)
+ }
+
+ // Conversion of the both operands
+
+ Store(NAnd(Derefof(Index(ps60, 1)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 48, Local0, 0xfffffffffffffdff)
+
+ Store(NAnd(Derefof(Index(ps60, 5)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 49, Local0, 0xfffffffffffffdff)
+
+ NAnd(Derefof(Index(ps60, 1)), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 50, Local0, 0xfffffffffffffdff)
+
+ NAnd(Derefof(Index(ps60, 5)), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 51, Local0, 0xfffffffffffffdff)
+ }
+
+ // NAnd, 32-bit
+ Method(m012, 1)
+ {
+ // Conversion of the first operand
+
+ Store(NAnd(Derefof(Index(ps60, 4)), 0), Local0)
+ m600(arg0, 0, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(Index(ps60, 4)), 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0x3e864c01)
+
+ Store(NAnd(Derefof(Index(ps60, 4)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(Index(ps60, 4)), auii), Local0)
+ m600(arg0, 3, Local0, 0x3e864c01)
+
+ if (y078) {
+ Store(NAnd(Derefof(Index(ps60, 4)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(Index(ps60, 4)), Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0x3e864c01)
+ }
+
+ Store(NAnd(Derefof(Index(ps60, 4)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(Index(ps60, 4)), Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0x3e864c01)
+
+ // Method returns Integer
+
+ Store(NAnd(Derefof(Index(ps60, 4)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(Index(ps60, 4)), m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0x3e864c01)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(Derefof(Index(ps60, 4)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(Index(ps60, 4)), Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0x3e864c01)
+ }
+
+ NAnd(Derefof(Index(ps60, 4)), 0, Local0)
+ m600(arg0, 12, Local0, 0xffffffff)
+
+ NAnd(Derefof(Index(ps60, 4)), 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0x3e864c01)
+
+ NAnd(Derefof(Index(ps60, 4)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xffffffff)
+
+ NAnd(Derefof(Index(ps60, 4)), auii, Local0)
+ m600(arg0, 15, Local0, 0x3e864c01)
+
+ if (y078) {
+ NAnd(Derefof(Index(ps60, 4)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xffffffff)
+
+ NAnd(Derefof(Index(ps60, 4)), Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0x3e864c01)
+ }
+
+ NAnd(Derefof(Index(ps60, 4)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xffffffff)
+
+ NAnd(Derefof(Index(ps60, 4)), Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0x3e864c01)
+
+ // Method returns Integer
+
+ NAnd(Derefof(Index(ps60, 4)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xffffffff)
+
+ NAnd(Derefof(Index(ps60, 4)), m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0x3e864c01)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(Derefof(Index(ps60, 4)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xffffffff)
+
+ NAnd(Derefof(Index(ps60, 4)), Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0x3e864c01)
+ }
+
+ // Conversion of the second operand
+
+ Store(NAnd(0, Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 24, Local0, 0xffffffff)
+
+ Store(NAnd(0xffffffff, Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 25, Local0, 0x3e864c01)
+
+ Store(NAnd(aui5, Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 26, Local0, 0xffffffff)
+
+ Store(NAnd(auii, Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 27, Local0, 0x3e864c01)
+
+ if (y078) {
+ Store(NAnd(Derefof(Refof(aui5)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 28, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(Refof(auii)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 29, Local0, 0x3e864c01)
+ }
+
+ Store(NAnd(Derefof(Index(paui, 5)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 30, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(Index(paui, 18)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 31, Local0, 0x3e864c01)
+
+ // Method returns Integer
+
+ Store(NAnd(m601(1, 5), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 32, Local0, 0xffffffff)
+
+ Store(NAnd(m601(1, 18), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 33, Local0, 0x3e864c01)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(Derefof(m602(1, 5, 1)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 34, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(m602(1, 18, 1)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 35, Local0, 0x3e864c01)
+ }
+
+ NAnd(0, Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 36, Local0, 0xffffffff)
+
+ NAnd(0xffffffff, Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 37, Local0, 0x3e864c01)
+
+ NAnd(aui5, Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 38, Local0, 0xffffffff)
+
+ NAnd(auii, Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 39, Local0, 0x3e864c01)
+
+ if (y078) {
+ NAnd(Derefof(Refof(aui5)), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 40, Local0, 0xffffffff)
+
+ NAnd(Derefof(Refof(auii)), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 41, Local0, 0x3e864c01)
+ }
+
+ NAnd(Derefof(Index(paui, 5)), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 42, Local0, 0xffffffff)
+
+ NAnd(Derefof(Index(paui, 18)), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 43, Local0, 0x3e864c01)
+
+ // Method returns Integer
+
+ NAnd(m601(1, 5), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 44, Local0, 0xffffffff)
+
+ NAnd(m601(1, 18), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 45, Local0, 0x3e864c01)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(Derefof(m602(1, 5, 1)), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 46, Local0, 0xffffffff)
+
+ NAnd(Derefof(m602(1, 18, 1)), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 47, Local0, 0x3e864c01)
+ }
+
+ // Conversion of the both operands
+
+ Store(NAnd(Derefof(Index(ps60, 1)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 48, Local0, 0xfffffcdf)
+
+ Store(NAnd(Derefof(Index(ps60, 4)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 49, Local0, 0xfffffcdf)
+
+ NAnd(Derefof(Index(ps60, 1)), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 50, Local0, 0xfffffcdf)
+
+ NAnd(Derefof(Index(ps60, 4)), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 51, Local0, 0xfffffcdf)
+ }
+
+ // NOr, common 32-bit/64-bit test
+ Method(m013, 1)
+ {
+ // Conversion of the first operand
+
+ Store(NOr(Derefof(Index(ps60, 1)), 0), Local0)
+ m600(arg0, 0, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(Index(ps60, 1)), 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0)
+
+ Store(NOr(Derefof(Index(ps60, 1)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(Index(ps60, 1)), auij), Local0)
+ m600(arg0, 3, Local0, 0)
+
+ if (y078) {
+ Store(NOr(Derefof(Index(ps60, 1)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(Index(ps60, 1)), Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0)
+ }
+
+ Store(NOr(Derefof(Index(ps60, 1)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(Index(ps60, 1)), Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(Derefof(Index(ps60, 1)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(Index(ps60, 1)), m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(Derefof(Index(ps60, 1)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(Index(ps60, 1)), Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0)
+ }
+
+ NOr(Derefof(Index(ps60, 1)), 0, Local0)
+ m600(arg0, 12, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(Index(ps60, 1)), 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0)
+
+ NOr(Derefof(Index(ps60, 1)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(Index(ps60, 1)), auij, Local0)
+ m600(arg0, 15, Local0, 0)
+
+ if (y078) {
+ NOr(Derefof(Index(ps60, 1)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(Index(ps60, 1)), Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0)
+ }
+
+ NOr(Derefof(Index(ps60, 1)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(Index(ps60, 1)), Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(Derefof(Index(ps60, 1)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(Index(ps60, 1)), m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(Derefof(Index(ps60, 1)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(Index(ps60, 1)), Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0)
+ }
+
+ // Conversion of the second operand
+
+ Store(NOr(0, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 24, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(0xffffffffffffffff, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 25, Local0, 0)
+
+ Store(NOr(aui5, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 26, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(auij, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 27, Local0, 0)
+
+ if (y078) {
+ Store(NOr(Derefof(Refof(aui5)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 28, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(Refof(auij)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 29, Local0, 0)
+ }
+
+ Store(NOr(Derefof(Index(paui, 5)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 30, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(Index(paui, 19)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 31, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(m601(1, 5), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 32, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(m601(1, 19), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 33, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(Derefof(m602(1, 5, 1)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 34, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(m602(1, 19, 1)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 35, Local0, 0)
+ }
+
+ NOr(0, Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 36, Local0, 0xfffffffffffffcde)
+
+ NOr(0xffffffffffffffff, Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 37, Local0, 0)
+
+ NOr(aui5, Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 38, Local0, 0xfffffffffffffcde)
+
+ NOr(auij, Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 39, Local0, 0)
+
+ if (y078) {
+ NOr(Derefof(Refof(aui5)), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 40, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(Refof(auij)), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 41, Local0, 0)
+ }
+
+ NOr(Derefof(Index(paui, 5)), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 42, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(Index(paui, 19)), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 43, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(m601(1, 5), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 44, Local0, 0xfffffffffffffcde)
+
+ NOr(m601(1, 19), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 45, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(Derefof(m602(1, 5, 1)), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 46, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(m602(1, 19, 1)), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 47, Local0, 0)
+ }
+ }
+
+ // NOr, 64-bit
+ Method(m014, 1)
+ {
+ // Conversion of the first operand
+
+ Store(NOr(Derefof(Index(ps60, 5)), 0), Local0)
+ m600(arg0, 0, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(Index(ps60, 5)), 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0)
+
+ Store(NOr(Derefof(Index(ps60, 5)), aui5), Local0)
+ m600(arg0, 2, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(Index(ps60, 5)), auij), Local0)
+ m600(arg0, 3, Local0, 0)
+
+ if (y078) {
+ Store(NOr(Derefof(Index(ps60, 5)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(Index(ps60, 5)), Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0)
+ }
+
+ Store(NOr(Derefof(Index(ps60, 5)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(Index(ps60, 5)), Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(Derefof(Index(ps60, 5)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(Index(ps60, 5)), m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(Derefof(Index(ps60, 5)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(Index(ps60, 5)), Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0)
+ }
+
+ NOr(Derefof(Index(ps60, 5)), 0, Local0)
+ m600(arg0, 12, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(Index(ps60, 5)), 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0)
+
+ NOr(Derefof(Index(ps60, 5)), aui5, Local0)
+ m600(arg0, 14, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(Index(ps60, 5)), auij, Local0)
+ m600(arg0, 15, Local0, 0)
+
+ if (y078) {
+ NOr(Derefof(Index(ps60, 5)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(Index(ps60, 5)), Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0)
+ }
+
+ NOr(Derefof(Index(ps60, 5)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(Index(ps60, 5)), Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(Derefof(Index(ps60, 5)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(Index(ps60, 5)), m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(Derefof(Index(ps60, 5)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(Index(ps60, 5)), Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0)
+ }
+
+ // Conversion of the second operand
+
+ Store(NOr(0, Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 24, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(0xffffffffffffffff, Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 25, Local0, 0)
+
+ Store(NOr(aui5, Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 26, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(auij, Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 27, Local0, 0)
+
+ if (y078) {
+ Store(NOr(Derefof(Refof(aui5)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 28, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(Refof(auij)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 29, Local0, 0)
+ }
+
+ Store(NOr(Derefof(Index(paui, 5)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 30, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(Index(paui, 19)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 31, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(m601(1, 5), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 32, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(m601(1, 19), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 33, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(Derefof(m602(1, 5, 1)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 34, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(m602(1, 19, 1)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 35, Local0, 0)
+ }
+
+ NOr(0, Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 36, Local0, 0x01834c6e29af5d7b)
+
+ NOr(0xffffffffffffffff, Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 37, Local0, 0)
+
+ NOr(aui5, Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 38, Local0, 0x01834c6e29af5d7b)
+
+ NOr(auij, Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 39, Local0, 0)
+
+ if (y078) {
+ NOr(Derefof(Refof(aui5)), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 40, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(Refof(auij)), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 41, Local0, 0)
+ }
+
+ NOr(Derefof(Index(paui, 5)), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 42, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(Index(paui, 19)), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 43, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(m601(1, 5), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 44, Local0, 0x01834c6e29af5d7b)
+
+ NOr(m601(1, 19), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 45, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(Derefof(m602(1, 5, 1)), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 46, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(m602(1, 19, 1)), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 47, Local0, 0)
+ }
+
+ // Conversion of the both operands
+
+ Store(NOr(Derefof(Index(ps60, 1)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 48, Local0, 0x01834c6e29af5c5a)
+
+ Store(NOr(Derefof(Index(ps60, 5)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 49, Local0, 0x01834c6e29af5c5a)
+
+ NOr(Derefof(Index(ps60, 1)), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 50, Local0, 0x01834c6e29af5c5a)
+
+ NOr(Derefof(Index(ps60, 5)), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 51, Local0, 0x01834c6e29af5c5a)
+ }
+
+ // NOr, 32-bit
+ Method(m015, 1)
+ {
+ // Conversion of the first operand
+
+ Store(NOr(Derefof(Index(ps60, 4)), 0), Local0)
+ m600(arg0, 0, Local0, 0x3e864c01)
+
+ Store(NOr(Derefof(Index(ps60, 4)), 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0)
+
+ Store(NOr(Derefof(Index(ps60, 4)), aui5), Local0)
+ m600(arg0, 2, Local0, 0x3e864c01)
+
+ Store(NOr(Derefof(Index(ps60, 4)), auii), Local0)
+ m600(arg0, 3, Local0, 0)
+
+ if (y078) {
+ Store(NOr(Derefof(Index(ps60, 4)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x3e864c01)
+
+ Store(NOr(Derefof(Index(ps60, 4)), Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0)
+ }
+
+ Store(NOr(Derefof(Index(ps60, 4)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x3e864c01)
+
+ Store(NOr(Derefof(Index(ps60, 4)), Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(Derefof(Index(ps60, 4)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x3e864c01)
+
+ Store(NOr(Derefof(Index(ps60, 4)), m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(Derefof(Index(ps60, 4)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x3e864c01)
+
+ Store(NOr(Derefof(Index(ps60, 4)), Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0)
+ }
+
+ NOr(Derefof(Index(ps60, 4)), 0, Local0)
+ m600(arg0, 12, Local0, 0x3e864c01)
+
+ NOr(Derefof(Index(ps60, 4)), 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0)
+
+ NOr(Derefof(Index(ps60, 4)), aui5, Local0)
+ m600(arg0, 14, Local0, 0x3e864c01)
+
+ NOr(Derefof(Index(ps60, 4)), auii, Local0)
+ m600(arg0, 15, Local0, 0)
+
+ if (y078) {
+ NOr(Derefof(Index(ps60, 4)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x3e864c01)
+
+ NOr(Derefof(Index(ps60, 4)), Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0)
+ }
+
+ NOr(Derefof(Index(ps60, 4)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x3e864c01)
+
+ NOr(Derefof(Index(ps60, 4)), Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(Derefof(Index(ps60, 4)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x3e864c01)
+
+ NOr(Derefof(Index(ps60, 4)), m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(Derefof(Index(ps60, 4)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x3e864c01)
+
+ NOr(Derefof(Index(ps60, 4)), Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0)
+ }
+
+ // Conversion of the second operand
+
+ Store(NOr(0, Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 24, Local0, 0x3e864c01)
+
+ Store(NOr(0xffffffff, Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 25, Local0, 0)
+
+ Store(NOr(aui5, Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 26, Local0, 0x3e864c01)
+
+ Store(NOr(auii, Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 27, Local0, 0)
+
+ if (y078) {
+ Store(NOr(Derefof(Refof(aui5)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 28, Local0, 0x3e864c01)
+
+ Store(NOr(Derefof(Refof(auii)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 29, Local0, 0)
+ }
+
+ Store(NOr(Derefof(Index(paui, 5)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 30, Local0, 0x3e864c01)
+
+ Store(NOr(Derefof(Index(paui, 18)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 31, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(m601(1, 5), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 32, Local0, 0x3e864c01)
+
+ Store(NOr(m601(1, 18), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 33, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(Derefof(m602(1, 5, 1)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 34, Local0, 0x3e864c01)
+
+ Store(NOr(Derefof(m602(1, 18, 1)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 35, Local0, 0)
+ }
+
+ NOr(0, Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 36, Local0, 0x3e864c01)
+
+ NOr(0xffffffff, Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 37, Local0, 0)
+
+ NOr(aui5, Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 38, Local0, 0x3e864c01)
+
+ NOr(auii, Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 39, Local0, 0)
+
+ if (y078) {
+ NOr(Derefof(Refof(aui5)), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 40, Local0, 0x3e864c01)
+
+ NOr(Derefof(Refof(auii)), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 41, Local0, 0)
+ }
+
+ NOr(Derefof(Index(paui, 5)), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 42, Local0, 0x3e864c01)
+
+ NOr(Derefof(Index(paui, 18)), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 43, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(m601(1, 5), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 44, Local0, 0x3e864c01)
+
+ NOr(m601(1, 18), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 45, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(Derefof(m602(1, 5, 1)), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 46, Local0, 0x3e864c01)
+
+ NOr(Derefof(m602(1, 18, 1)), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 47, Local0, 0)
+ }
+
+ // Conversion of the both operands
+
+ Store(NOr(Derefof(Index(ps60, 1)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 48, Local0, 0x3e864c00)
+
+ Store(NOr(Derefof(Index(ps60, 4)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 49, Local0, 0x3e864c00)
+
+ NOr(Derefof(Index(ps60, 1)), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 50, Local0, 0x3e864c00)
+
+ NOr(Derefof(Index(ps60, 4)), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 51, Local0, 0x3e864c00)
+ }
+
+ // Or, common 32-bit/64-bit test
+ Method(m016, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Or(Derefof(Index(ps60, 1)), 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Or(Derefof(Index(ps60, 1)), 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xffffffffffffffff)
+
+ Store(Or(Derefof(Index(ps60, 1)), aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Or(Derefof(Index(ps60, 1)), auij), Local0)
+ m600(arg0, 3, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Store(Or(Derefof(Index(ps60, 1)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Or(Derefof(Index(ps60, 1)), Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xffffffffffffffff)
+ }
+
+ Store(Or(Derefof(Index(ps60, 1)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Or(Derefof(Index(ps60, 1)), Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Store(Or(Derefof(Index(ps60, 1)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Or(Derefof(Index(ps60, 1)), m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(Derefof(Index(ps60, 1)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Or(Derefof(Index(ps60, 1)), Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xffffffffffffffff)
+ }
+
+ Or(Derefof(Index(ps60, 1)), 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Or(Derefof(Index(ps60, 1)), 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xffffffffffffffff)
+
+ Or(Derefof(Index(ps60, 1)), aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Or(Derefof(Index(ps60, 1)), auij, Local0)
+ m600(arg0, 15, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Or(Derefof(Index(ps60, 1)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Or(Derefof(Index(ps60, 1)), Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xffffffffffffffff)
+ }
+
+ Or(Derefof(Index(ps60, 1)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Or(Derefof(Index(ps60, 1)), Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Or(Derefof(Index(ps60, 1)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Or(Derefof(Index(ps60, 1)), m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(Derefof(Index(ps60, 1)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Or(Derefof(Index(ps60, 1)), Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xffffffffffffffff)
+ }
+
+ // Conversion of the second operand
+
+ Store(Or(0, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 24, Local0, 0x321)
+
+ Store(Or(0xffffffffffffffff, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 25, Local0, 0xffffffffffffffff)
+
+ Store(Or(aui5, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 26, Local0, 0x321)
+
+ Store(Or(auij, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 27, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Store(Or(Derefof(Refof(aui5)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 28, Local0, 0x321)
+
+ Store(Or(Derefof(Refof(auij)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 29, Local0, 0xffffffffffffffff)
+ }
+
+ Store(Or(Derefof(Index(paui, 5)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 30, Local0, 0x321)
+
+ Store(Or(Derefof(Index(paui, 19)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 31, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Store(Or(m601(1, 5), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 32, Local0, 0x321)
+
+ Store(Or(m601(1, 19), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 33, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(Derefof(m602(1, 5, 1)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 34, Local0, 0x321)
+
+ Store(Or(Derefof(m602(1, 19, 1)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 35, Local0, 0xffffffffffffffff)
+ }
+
+ Or(0, Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 36, Local0, 0x321)
+
+ Or(0xffffffffffffffff, Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 37, Local0, 0xffffffffffffffff)
+
+ Or(aui5, Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 38, Local0, 0x321)
+
+ Or(auij, Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 39, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Or(Derefof(Refof(aui5)), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 40, Local0, 0x321)
+
+ Or(Derefof(Refof(auij)), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 41, Local0, 0xffffffffffffffff)
+ }
+
+ Or(Derefof(Index(paui, 5)), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 42, Local0, 0x321)
+
+ Or(Derefof(Index(paui, 19)), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 43, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Or(m601(1, 5), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 44, Local0, 0x321)
+
+ Or(m601(1, 19), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 45, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(Derefof(m602(1, 5, 1)), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 46, Local0, 0x321)
+
+ Or(Derefof(m602(1, 19, 1)), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 47, Local0, 0xffffffffffffffff)
+ }
+ }
+
+ // Or, 64-bit
+ Method(m017, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Or(Derefof(Index(ps60, 5)), 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(Index(ps60, 5)), 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xffffffffffffffff)
+
+ Store(Or(Derefof(Index(ps60, 5)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(Index(ps60, 5)), auij), Local0)
+ m600(arg0, 3, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Store(Or(Derefof(Index(ps60, 5)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(Index(ps60, 5)), Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xffffffffffffffff)
+ }
+
+ Store(Or(Derefof(Index(ps60, 5)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(Index(ps60, 5)), Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Store(Or(Derefof(Index(ps60, 5)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(Index(ps60, 5)), m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(Derefof(Index(ps60, 5)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(Index(ps60, 5)), Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xffffffffffffffff)
+ }
+
+ Or(Derefof(Index(ps60, 5)), 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(Index(ps60, 5)), 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xffffffffffffffff)
+
+ Or(Derefof(Index(ps60, 5)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(Index(ps60, 5)), auij, Local0)
+ m600(arg0, 15, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Or(Derefof(Index(ps60, 5)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(Index(ps60, 5)), Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xffffffffffffffff)
+ }
+
+ Or(Derefof(Index(ps60, 5)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(Index(ps60, 5)), Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Or(Derefof(Index(ps60, 5)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(Index(ps60, 5)), m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(Derefof(Index(ps60, 5)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(Index(ps60, 5)), Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xffffffffffffffff)
+ }
+
+ // Conversion of the second operand
+
+ Store(Or(0, Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 24, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(0xffffffffffffffff, Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 25, Local0, 0xffffffffffffffff)
+
+ Store(Or(aui5, Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 26, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(auij, Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 27, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Store(Or(Derefof(Refof(aui5)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 28, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(Refof(auij)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 29, Local0, 0xffffffffffffffff)
+ }
+
+ Store(Or(Derefof(Index(paui, 5)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 30, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(Index(paui, 19)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 31, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Store(Or(m601(1, 5), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 32, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(m601(1, 19), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 33, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(Derefof(m602(1, 5, 1)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 34, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(m602(1, 19, 1)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 35, Local0, 0xffffffffffffffff)
+ }
+
+ Or(0, Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 36, Local0, 0xfe7cb391d650a284)
+
+ Or(0xffffffffffffffff, Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 37, Local0, 0xffffffffffffffff)
+
+ Or(aui5, Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 38, Local0, 0xfe7cb391d650a284)
+
+ Or(auij, Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 39, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Or(Derefof(Refof(aui5)), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 40, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(Refof(auij)), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 41, Local0, 0xffffffffffffffff)
+ }
+
+ Or(Derefof(Index(paui, 5)), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 42, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(Index(paui, 19)), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 43, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Or(m601(1, 5), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 44, Local0, 0xfe7cb391d650a284)
+
+ Or(m601(1, 19), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 45, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(Derefof(m602(1, 5, 1)), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 46, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(m602(1, 19, 1)), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 47, Local0, 0xffffffffffffffff)
+ }
+
+ // Conversion of the both operands
+
+ Store(Or(Derefof(Index(ps60, 1)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 48, Local0, 0xfe7cb391d650a3a5)
+
+ Store(Or(Derefof(Index(ps60, 5)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 49, Local0, 0xfe7cb391d650a3a5)
+
+ Or(Derefof(Index(ps60, 1)), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 50, Local0, 0xfe7cb391d650a3a5)
+
+ Or(Derefof(Index(ps60, 5)), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 51, Local0, 0xfe7cb391d650a3a5)
+ }
+
+ // Or, 32-bit
+ Method(m018, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Or(Derefof(Index(ps60, 4)), 0), Local0)
+ m600(arg0, 0, Local0, 0xc179b3fe)
+
+ Store(Or(Derefof(Index(ps60, 4)), 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0xffffffff)
+
+ Store(Or(Derefof(Index(ps60, 4)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xc179b3fe)
+
+ Store(Or(Derefof(Index(ps60, 4)), auii), Local0)
+ m600(arg0, 3, Local0, 0xffffffff)
+
+ if (y078) {
+ Store(Or(Derefof(Index(ps60, 4)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xc179b3fe)
+
+ Store(Or(Derefof(Index(ps60, 4)), Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0xffffffff)
+ }
+
+ Store(Or(Derefof(Index(ps60, 4)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xc179b3fe)
+
+ Store(Or(Derefof(Index(ps60, 4)), Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0xffffffff)
+
+ // Method returns Integer
+
+ Store(Or(Derefof(Index(ps60, 4)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xc179b3fe)
+
+ Store(Or(Derefof(Index(ps60, 4)), m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0xffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(Derefof(Index(ps60, 4)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xc179b3fe)
+
+ Store(Or(Derefof(Index(ps60, 4)), Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0xffffffff)
+ }
+
+ Or(Derefof(Index(ps60, 4)), 0, Local0)
+ m600(arg0, 12, Local0, 0xc179b3fe)
+
+ Or(Derefof(Index(ps60, 4)), 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0xffffffff)
+
+ Or(Derefof(Index(ps60, 4)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xc179b3fe)
+
+ Or(Derefof(Index(ps60, 4)), auii, Local0)
+ m600(arg0, 15, Local0, 0xffffffff)
+
+ if (y078) {
+ Or(Derefof(Index(ps60, 4)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xc179b3fe)
+
+ Or(Derefof(Index(ps60, 4)), Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0xffffffff)
+ }
+
+ Or(Derefof(Index(ps60, 4)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xc179b3fe)
+
+ Or(Derefof(Index(ps60, 4)), Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0xffffffff)
+
+ // Method returns Integer
+
+ Or(Derefof(Index(ps60, 4)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xc179b3fe)
+
+ Or(Derefof(Index(ps60, 4)), m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0xffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(Derefof(Index(ps60, 4)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xc179b3fe)
+
+ Or(Derefof(Index(ps60, 4)), Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0xffffffff)
+ }
+
+ // Conversion of the second operand
+
+ Store(Or(0, Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 24, Local0, 0xc179b3fe)
+
+ Store(Or(0xffffffff, Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 25, Local0, 0xffffffff)
+
+ Store(Or(aui5, Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 26, Local0, 0xc179b3fe)
+
+ Store(Or(auii, Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 27, Local0, 0xffffffff)
+
+ if (y078) {
+ Store(Or(Derefof(Refof(aui5)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 28, Local0, 0xc179b3fe)
+
+ Store(Or(Derefof(Refof(auii)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 29, Local0, 0xffffffff)
+ }
+
+ Store(Or(Derefof(Index(paui, 5)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 30, Local0, 0xc179b3fe)
+
+ Store(Or(Derefof(Index(paui, 18)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 31, Local0, 0xffffffff)
+
+ // Method returns Integer
+
+ Store(Or(m601(1, 5), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 32, Local0, 0xc179b3fe)
+
+ Store(Or(m601(1, 18), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 33, Local0, 0xffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(Derefof(m602(1, 5, 1)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 34, Local0, 0xc179b3fe)
+
+ Store(Or(Derefof(m602(1, 18, 1)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 35, Local0, 0xffffffff)
+ }
+
+ Or(0, Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 36, Local0, 0xc179b3fe)
+
+ Or(0xffffffff, Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 37, Local0, 0xffffffff)
+
+ Or(aui5, Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 38, Local0, 0xc179b3fe)
+
+ Or(auii, Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 39, Local0, 0xffffffff)
+
+ if (y078) {
+ Or(Derefof(Refof(aui5)), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 40, Local0, 0xc179b3fe)
+
+ Or(Derefof(Refof(auii)), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 41, Local0, 0xffffffff)
+ }
+
+ Or(Derefof(Index(paui, 5)), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 42, Local0, 0xc179b3fe)
+
+ Or(Derefof(Index(paui, 18)), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 43, Local0, 0xffffffff)
+
+ // Method returns Integer
+
+ Or(m601(1, 5), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 44, Local0, 0xc179b3fe)
+
+ Or(m601(1, 18), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 45, Local0, 0xffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(Derefof(m602(1, 5, 1)), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 46, Local0, 0xc179b3fe)
+
+ Or(Derefof(m602(1, 18, 1)), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 47, Local0, 0xffffffff)
+ }
+
+ // Conversion of the both operands
+
+ Store(Or(Derefof(Index(ps60, 1)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 48, Local0, 0xc179b3ff)
+
+ Store(Or(Derefof(Index(ps60, 4)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 49, Local0, 0xc179b3ff)
+
+ Or(Derefof(Index(ps60, 1)), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 50, Local0, 0xc179b3ff)
+
+ Or(Derefof(Index(ps60, 4)), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 51, Local0, 0xc179b3ff)
+ }
+
+ // ShiftLeft, common 32-bit/64-bit test
+ Method(m019, 1)
+ {
+ // Conversion of the first operand
+
+ Store(ShiftLeft(Derefof(Index(ps60, 1)), 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(ShiftLeft(Derefof(Index(ps60, 1)), 1), Local0)
+ m600(arg0, 1, Local0, 0x642)
+
+ Store(ShiftLeft(Derefof(Index(ps60, 1)), aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(ShiftLeft(Derefof(Index(ps60, 1)), aui6), Local0)
+ m600(arg0, 3, Local0, 0x642)
+
+ if (y078) {
+ Store(ShiftLeft(Derefof(Index(ps60, 1)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(ShiftLeft(Derefof(Index(ps60, 1)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x642)
+ }
+
+ Store(ShiftLeft(Derefof(Index(ps60, 1)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(ShiftLeft(Derefof(Index(ps60, 1)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x642)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(Derefof(Index(ps60, 1)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(ShiftLeft(Derefof(Index(ps60, 1)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x642)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(Derefof(Index(ps60, 1)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(ShiftLeft(Derefof(Index(ps60, 1)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x642)
+ }
+
+ ShiftLeft(Derefof(Index(ps60, 1)), 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ ShiftLeft(Derefof(Index(ps60, 1)), 1, Local0)
+ m600(arg0, 13, Local0, 0x642)
+
+ ShiftLeft(Derefof(Index(ps60, 1)), aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ ShiftLeft(Derefof(Index(ps60, 1)), aui6, Local0)
+ m600(arg0, 15, Local0, 0x642)
+
+ if (y078) {
+ ShiftLeft(Derefof(Index(ps60, 1)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ ShiftLeft(Derefof(Index(ps60, 1)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x642)
+ }
+
+ ShiftLeft(Derefof(Index(ps60, 1)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ ShiftLeft(Derefof(Index(ps60, 1)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x642)
+
+ // Method returns Integer
+
+ ShiftLeft(Derefof(Index(ps60, 1)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ ShiftLeft(Derefof(Index(ps60, 1)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x642)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(Derefof(Index(ps60, 1)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ ShiftLeft(Derefof(Index(ps60, 1)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x642)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftLeft(0, Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftLeft(1, Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 25, Local0, 0x800)
+
+ Store(ShiftLeft(aui5, Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftLeft(aui6, Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 27, Local0, 0x800)
+
+ if (y078) {
+ Store(ShiftLeft(Derefof(Refof(aui5)), Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Refof(aui6)), Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 29, Local0, 0x800)
+ }
+
+ Store(ShiftLeft(Derefof(Index(paui, 5)), Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Index(paui, 6)), Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 31, Local0, 0x800)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(m601(1, 5), Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftLeft(m601(1, 6), Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 33, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(Derefof(m602(1, 5, 1)), Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftLeft(Derefof(m602(1, 6, 1)), Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 35, Local0, 0x800)
+ }
+
+ ShiftLeft(0, Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftLeft(1, Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 37, Local0, 0x800)
+
+ ShiftLeft(aui5, Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftLeft(aui6, Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 39, Local0, 0x800)
+
+ if (y078) {
+ ShiftLeft(Derefof(Refof(aui5)), Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftLeft(Derefof(Refof(aui6)), Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 41, Local0, 0x800)
+ }
+
+ ShiftLeft(Derefof(Index(paui, 5)), Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftLeft(Derefof(Index(paui, 6)), Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 43, Local0, 0x800)
+
+ // Method returns Integer
+
+ ShiftLeft(m601(1, 5), Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftLeft(m601(1, 6), Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 45, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(Derefof(m602(1, 5, 1)), Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftLeft(Derefof(m602(1, 6, 1)), Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 47, Local0, 0x800)
+ }
+ }
+
+ // ShiftLeft, 64-bit
+ Method(m01a, 1)
+ {
+ // Conversion of the first operand
+
+ Store(ShiftLeft(Derefof(Index(ps60, 5)), 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(Derefof(Index(ps60, 5)), 1), Local0)
+ m600(arg0, 1, Local0, 0xfcf96723aca14508)
+
+ Store(ShiftLeft(Derefof(Index(ps60, 5)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(Derefof(Index(ps60, 5)), aui6), Local0)
+ m600(arg0, 3, Local0, 0xfcf96723aca14508)
+
+ if (y078) {
+ Store(ShiftLeft(Derefof(Index(ps60, 5)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(Derefof(Index(ps60, 5)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xfcf96723aca14508)
+ }
+
+ Store(ShiftLeft(Derefof(Index(ps60, 5)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(Derefof(Index(ps60, 5)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xfcf96723aca14508)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(Derefof(Index(ps60, 5)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(Derefof(Index(ps60, 5)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xfcf96723aca14508)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(Derefof(Index(ps60, 5)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(Derefof(Index(ps60, 5)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfcf96723aca14508)
+ }
+
+ ShiftLeft(Derefof(Index(ps60, 5)), 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(Derefof(Index(ps60, 5)), 1, Local0)
+ m600(arg0, 13, Local0, 0xfcf96723aca14508)
+
+ ShiftLeft(Derefof(Index(ps60, 5)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(Derefof(Index(ps60, 5)), aui6, Local0)
+ m600(arg0, 15, Local0, 0xfcf96723aca14508)
+
+ if (y078) {
+ ShiftLeft(Derefof(Index(ps60, 5)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(Derefof(Index(ps60, 5)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xfcf96723aca14508)
+ }
+
+ ShiftLeft(Derefof(Index(ps60, 5)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(Derefof(Index(ps60, 5)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xfcf96723aca14508)
+
+ // Method returns Integer
+
+ ShiftLeft(Derefof(Index(ps60, 5)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(Derefof(Index(ps60, 5)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xfcf96723aca14508)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(Derefof(Index(ps60, 5)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(Derefof(Index(ps60, 5)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfcf96723aca14508)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftLeft(0, Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftLeft(1, Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 25, Local0, 0x800)
+
+ Store(ShiftLeft(aui5, Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftLeft(aui6, Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 27, Local0, 0x800)
+
+ if (y078) {
+ Store(ShiftLeft(Derefof(Refof(aui5)), Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Refof(aui6)), Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 29, Local0, 0x800)
+ }
+
+ Store(ShiftLeft(Derefof(Index(paui, 5)), Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Index(paui, 6)), Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 31, Local0, 0x800)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(m601(1, 5), Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftLeft(m601(1, 6), Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 33, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(Derefof(m602(1, 5, 1)), Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftLeft(Derefof(m602(1, 6, 1)), Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 35, Local0, 0x800)
+ }
+
+ ShiftLeft(0, Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftLeft(1, Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 37, Local0, 0x800)
+
+ ShiftLeft(aui5, Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftLeft(aui6, Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 39, Local0, 0x800)
+
+ if (y078) {
+ ShiftLeft(Derefof(Refof(aui5)), Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftLeft(Derefof(Refof(aui6)), Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 41, Local0, 0x800)
+ }
+
+ ShiftLeft(Derefof(Index(paui, 5)), Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftLeft(Derefof(Index(paui, 6)), Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 43, Local0, 0x800)
+
+ // Method returns Integer
+
+ ShiftLeft(m601(1, 5), Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftLeft(m601(1, 6), Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 45, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(Derefof(m602(1, 5, 1)), Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftLeft(Derefof(m602(1, 6, 1)), Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 47, Local0, 0x800)
+ }
+
+ // Conversion of the both operands
+
+ Store(ShiftLeft(Derefof(Index(ps60, 1)), Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 48, Local0, 0x190800)
+
+ Store(ShiftLeft(Derefof(Index(ps60, 5)), Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 49, Local0, 0xE59C8EB285142000)
+
+ ShiftLeft(Derefof(Index(ps60, 1)), Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 50, Local0, 0x190800)
+
+ ShiftLeft(Derefof(Index(ps60, 5)), Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 51, Local0, 0xE59C8EB285142000)
+ }
+
+ // ShiftLeft, 32-bit
+ Method(m01b, 1)
+ {
+ // Conversion of the first operand
+
+ Store(ShiftLeft(Derefof(Index(ps60, 4)), 0), Local0)
+ m600(arg0, 0, Local0, 0xc179b3fe)
+
+ Store(ShiftLeft(Derefof(Index(ps60, 4)), 1), Local0)
+ m600(arg0, 1, Local0, 0x82f367fc)
+
+ Store(ShiftLeft(Derefof(Index(ps60, 4)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xc179b3fe)
+
+ Store(ShiftLeft(Derefof(Index(ps60, 4)), aui6), Local0)
+ m600(arg0, 3, Local0, 0x82f367fc)
+
+ if (y078) {
+ Store(ShiftLeft(Derefof(Index(ps60, 4)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xc179b3fe)
+
+ Store(ShiftLeft(Derefof(Index(ps60, 4)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x82f367fc)
+ }
+
+ Store(ShiftLeft(Derefof(Index(ps60, 4)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xc179b3fe)
+
+ Store(ShiftLeft(Derefof(Index(ps60, 4)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x82f367fc)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(Derefof(Index(ps60, 4)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xc179b3fe)
+
+ Store(ShiftLeft(Derefof(Index(ps60, 4)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x82f367fc)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(Derefof(Index(ps60, 4)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xc179b3fe)
+
+ Store(ShiftLeft(Derefof(Index(ps60, 4)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x82f367fc)
+ }
+
+ ShiftLeft(Derefof(Index(ps60, 4)), 0, Local0)
+ m600(arg0, 12, Local0, 0xc179b3fe)
+
+ ShiftLeft(Derefof(Index(ps60, 4)), 1, Local0)
+ m600(arg0, 13, Local0, 0x82f367fc)
+
+ ShiftLeft(Derefof(Index(ps60, 4)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xc179b3fe)
+
+ ShiftLeft(Derefof(Index(ps60, 4)), aui6, Local0)
+ m600(arg0, 15, Local0, 0x82f367fc)
+
+ if (y078) {
+ ShiftLeft(Derefof(Index(ps60, 4)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xc179b3fe)
+
+ ShiftLeft(Derefof(Index(ps60, 4)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x82f367fc)
+ }
+
+ ShiftLeft(Derefof(Index(ps60, 4)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xc179b3fe)
+
+ ShiftLeft(Derefof(Index(ps60, 4)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x82f367fc)
+
+ // Method returns Integer
+
+ ShiftLeft(Derefof(Index(ps60, 4)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xc179b3fe)
+
+ ShiftLeft(Derefof(Index(ps60, 4)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x82f367fc)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(Derefof(Index(ps60, 4)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xc179b3fe)
+
+ ShiftLeft(Derefof(Index(ps60, 4)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x82f367fc)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftLeft(0, Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftLeft(1, Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 25, Local0, 0x800)
+
+ Store(ShiftLeft(aui5, Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftLeft(aui6, Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 27, Local0, 0x800)
+
+ if (y078) {
+ Store(ShiftLeft(Derefof(Refof(aui5)), Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Refof(aui6)), Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 29, Local0, 0x800)
+ }
+
+ Store(ShiftLeft(Derefof(Index(paui, 5)), Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Index(paui, 6)), Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 31, Local0, 0x800)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(m601(1, 5), Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftLeft(m601(1, 6), Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 33, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(Derefof(m602(1, 5, 1)), Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftLeft(Derefof(m602(1, 6, 1)), Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 35, Local0, 0x800)
+ }
+
+ ShiftLeft(0, Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftLeft(1, Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 37, Local0, 0x800)
+
+ ShiftLeft(aui5, Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftLeft(aui6, Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 39, Local0, 0x800)
+
+ if (y078) {
+ ShiftLeft(Derefof(Refof(aui5)), Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftLeft(Derefof(Refof(aui6)), Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 41, Local0, 0x800)
+ }
+
+ ShiftLeft(Derefof(Index(paui, 5)), Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftLeft(Derefof(Index(paui, 6)), Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 43, Local0, 0x800)
+
+ // Method returns Integer
+
+ ShiftLeft(m601(1, 5), Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftLeft(m601(1, 6), Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 45, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(Derefof(m602(1, 5, 1)), Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftLeft(Derefof(m602(1, 6, 1)), Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 47, Local0, 0x800)
+ }
+
+ // Conversion of the both operands
+
+ Store(ShiftLeft(Derefof(Index(ps60, 1)), Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 48, Local0, 0x190800)
+
+ Store(ShiftLeft(Derefof(Index(ps60, 4)), Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 49, Local0, 0xcd9ff000)
+
+ ShiftLeft(Derefof(Index(ps60, 1)), Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 50, Local0, 0x190800)
+
+ ShiftLeft(Derefof(Index(ps60, 4)), Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 51, Local0, 0xcd9ff000)
+ }
+
+ // ShiftRight, common 32-bit/64-bit test
+ Method(m01c, 1)
+ {
+ // Conversion of the first operand
+
+ Store(ShiftRight(Derefof(Index(ps60, 1)), 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(ShiftRight(Derefof(Index(ps60, 1)), 1), Local0)
+ m600(arg0, 1, Local0, 0x190)
+
+ Store(ShiftRight(Derefof(Index(ps60, 1)), aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(ShiftRight(Derefof(Index(ps60, 1)), aui6), Local0)
+ m600(arg0, 3, Local0, 0x190)
+
+ if (y078) {
+ Store(ShiftRight(Derefof(Index(ps60, 1)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(ShiftRight(Derefof(Index(ps60, 1)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x190)
+ }
+
+ Store(ShiftRight(Derefof(Index(ps60, 1)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(ShiftRight(Derefof(Index(ps60, 1)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x190)
+
+ // Method returns Integer
+
+ Store(ShiftRight(Derefof(Index(ps60, 1)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(ShiftRight(Derefof(Index(ps60, 1)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x190)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(Derefof(Index(ps60, 1)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(ShiftRight(Derefof(Index(ps60, 1)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x190)
+ }
+
+ ShiftRight(Derefof(Index(ps60, 1)), 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ ShiftRight(Derefof(Index(ps60, 1)), 1, Local0)
+ m600(arg0, 13, Local0, 0x190)
+
+ ShiftRight(Derefof(Index(ps60, 1)), aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ ShiftRight(Derefof(Index(ps60, 1)), aui6, Local0)
+ m600(arg0, 15, Local0, 0x190)
+
+ if (y078) {
+ ShiftRight(Derefof(Index(ps60, 1)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ ShiftRight(Derefof(Index(ps60, 1)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x190)
+ }
+
+ ShiftRight(Derefof(Index(ps60, 1)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ ShiftRight(Derefof(Index(ps60, 1)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x190)
+
+ // Method returns Integer
+
+ ShiftRight(Derefof(Index(ps60, 1)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ ShiftRight(Derefof(Index(ps60, 1)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x190)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(Derefof(Index(ps60, 1)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ ShiftRight(Derefof(Index(ps60, 1)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x190)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftRight(0x321, Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftRight(0xc179b3fe, Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 25, Local0, 0x182f36)
+
+ Store(ShiftRight(aui1, Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftRight(aui3, Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 27, Local0, 0x182f36)
+
+ if (y078) {
+ Store(ShiftRight(Derefof(Refof(aui1)), Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftRight(Derefof(Refof(aui3)), Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 29, Local0, 0x182f36)
+ }
+
+ Store(ShiftRight(Derefof(Index(paui, 1)), Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftRight(Derefof(Index(paui, 3)), Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 31, Local0, 0x182f36)
+
+ // Method returns Integer
+
+ Store(ShiftRight(m601(1, 1), Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftRight(m601(1, 3), Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 33, Local0, 0x182f36)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(Derefof(m602(1, 1, 1)), Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftRight(Derefof(m602(1, 3, 1)), Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 35, Local0, 0x182f36)
+ }
+
+ ShiftRight(0x321, Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftRight(0xc179b3fe, Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 37, Local0, 0x182f36)
+
+ ShiftRight(aui1, Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftRight(aui3, Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 39, Local0, 0x182f36)
+
+ if (y078) {
+ ShiftRight(Derefof(Refof(aui1)), Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftRight(Derefof(Refof(aui3)), Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 41, Local0, 0x182f36)
+ }
+
+ ShiftRight(Derefof(Index(paui, 1)), Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftRight(Derefof(Index(paui, 3)), Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 43, Local0, 0x182f36)
+
+ // Method returns Integer
+
+ ShiftRight(m601(1, 1), Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftRight(m601(1, 3), Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 45, Local0, 0x182f36)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(Derefof(m602(1, 1, 1)), Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftRight(Derefof(m602(1, 3, 1)), Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 47, Local0, 0x182f36)
+ }
+ }
+
+ // ShiftRight, 64-bit
+ Method(m01d, 1)
+ {
+ // Conversion of the first operand
+
+ Store(ShiftRight(Derefof(Index(ps60, 5)), 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(Derefof(Index(ps60, 5)), 1), Local0)
+ m600(arg0, 1, Local0, 0x7f3e59c8eb285142)
+
+ Store(ShiftRight(Derefof(Index(ps60, 5)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(Derefof(Index(ps60, 5)), aui6), Local0)
+ m600(arg0, 3, Local0, 0x7f3e59c8eb285142)
+
+ if (y078) {
+ Store(ShiftRight(Derefof(Index(ps60, 5)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(Derefof(Index(ps60, 5)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x7f3e59c8eb285142)
+ }
+
+ Store(ShiftRight(Derefof(Index(ps60, 5)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(Derefof(Index(ps60, 5)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x7f3e59c8eb285142)
+
+ // Method returns Integer
+
+ Store(ShiftRight(Derefof(Index(ps60, 5)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(Derefof(Index(ps60, 5)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x7f3e59c8eb285142)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(Derefof(Index(ps60, 5)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(Derefof(Index(ps60, 5)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x7f3e59c8eb285142)
+ }
+
+ ShiftRight(Derefof(Index(ps60, 5)), 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(Derefof(Index(ps60, 5)), 1, Local0)
+ m600(arg0, 13, Local0, 0x7f3e59c8eb285142)
+
+ ShiftRight(Derefof(Index(ps60, 5)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(Derefof(Index(ps60, 5)), aui6, Local0)
+ m600(arg0, 15, Local0, 0x7f3e59c8eb285142)
+
+ if (y078) {
+ ShiftRight(Derefof(Index(ps60, 5)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(Derefof(Index(ps60, 5)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x7f3e59c8eb285142)
+ }
+
+ ShiftRight(Derefof(Index(ps60, 5)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(Derefof(Index(ps60, 5)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x7f3e59c8eb285142)
+
+ // Method returns Integer
+
+ ShiftRight(Derefof(Index(ps60, 5)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(Derefof(Index(ps60, 5)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x7f3e59c8eb285142)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(Derefof(Index(ps60, 5)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(Derefof(Index(ps60, 5)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x7f3e59c8eb285142)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftRight(0x321, Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftRight(0xfe7cb391d650a284, Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 25, Local0, 0x1fcf96723aca14)
+
+ Store(ShiftRight(aui1, Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftRight(aui4, Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 27, Local0, 0x1fcf96723aca14)
+
+ if (y078) {
+ Store(ShiftRight(Derefof(Refof(aui1)), Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftRight(Derefof(Refof(aui4)), Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 29, Local0, 0x1fcf96723aca14)
+ }
+
+ Store(ShiftRight(Derefof(Index(paui, 1)), Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftRight(Derefof(Index(paui, 4)), Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 31, Local0, 0x1fcf96723aca14)
+
+ // Method returns Integer
+
+ Store(ShiftRight(m601(1, 1), Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftRight(m601(1, 4), Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 33, Local0, 0x1fcf96723aca14)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(Derefof(m602(1, 1, 1)), Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftRight(Derefof(m602(1, 4, 1)), Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 35, Local0, 0x1fcf96723aca14)
+ }
+
+ ShiftRight(0x321, Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftRight(0xfe7cb391d650a284, Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 37, Local0, 0x1fcf96723aca14)
+
+ ShiftRight(aui1, Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftRight(aui4, Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 39, Local0, 0x1fcf96723aca14)
+
+ if (y078) {
+ ShiftRight(Derefof(Refof(aui1)), Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftRight(Derefof(Refof(aui4)), Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 41, Local0, 0x1fcf96723aca14)
+ }
+
+ ShiftRight(Derefof(Index(paui, 1)), Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftRight(Derefof(Index(paui, 4)), Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 43, Local0, 0x1fcf96723aca14)
+
+ // Method returns Integer
+
+ ShiftRight(m601(1, 1), Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftRight(m601(1, 4), Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 45, Local0, 0x1fcf96723aca14)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(Derefof(m602(1, 1, 1)), Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftRight(Derefof(m602(1, 4, 1)), Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 47, Local0, 0x1fcf96723aca14)
+ }
+
+ // Conversion of the both operands
+
+ Store(ShiftRight(Derefof(Index(ps60, 1)), Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 48, Local0, 0)
+
+ Store(ShiftRight(Derefof(Index(ps60, 5)), Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 49, Local0, 0x1fcf96723aca14)
+
+ ShiftRight(Derefof(Index(ps60, 1)), Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 50, Local0, 0)
+
+ ShiftRight(Derefof(Index(ps60, 5)), Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 51, Local0, 0x1fcf96723aca14)
+ }
+
+ // ShiftRight, 32-bit
+ Method(m01e, 1)
+ {
+ // Conversion of the first operand
+
+ Store(ShiftRight(Derefof(Index(ps60, 4)), 0), Local0)
+ m600(arg0, 0, Local0, 0xc179b3fe)
+
+ Store(ShiftRight(Derefof(Index(ps60, 4)), 1), Local0)
+ m600(arg0, 1, Local0, 0x60bcd9ff)
+
+ Store(ShiftRight(Derefof(Index(ps60, 4)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xc179b3fe)
+
+ Store(ShiftRight(Derefof(Index(ps60, 4)), aui6), Local0)
+ m600(arg0, 3, Local0, 0x60bcd9ff)
+
+ if (y078) {
+ Store(ShiftRight(Derefof(Index(ps60, 4)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xc179b3fe)
+
+ Store(ShiftRight(Derefof(Index(ps60, 4)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x60bcd9ff)
+ }
+
+ Store(ShiftRight(Derefof(Index(ps60, 4)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xc179b3fe)
+
+ Store(ShiftRight(Derefof(Index(ps60, 4)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x60bcd9ff)
+
+ // Method returns Integer
+
+ Store(ShiftRight(Derefof(Index(ps60, 4)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xc179b3fe)
+
+ Store(ShiftRight(Derefof(Index(ps60, 4)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x60bcd9ff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(Derefof(Index(ps60, 4)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xc179b3fe)
+
+ Store(ShiftRight(Derefof(Index(ps60, 4)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x60bcd9ff)
+ }
+
+ ShiftRight(Derefof(Index(ps60, 4)), 0, Local0)
+ m600(arg0, 12, Local0, 0xc179b3fe)
+
+ ShiftRight(Derefof(Index(ps60, 4)), 1, Local0)
+ m600(arg0, 13, Local0, 0x60bcd9ff)
+
+ ShiftRight(Derefof(Index(ps60, 4)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xc179b3fe)
+
+ ShiftRight(Derefof(Index(ps60, 4)), aui6, Local0)
+ m600(arg0, 15, Local0, 0x60bcd9ff)
+
+ if (y078) {
+ ShiftRight(Derefof(Index(ps60, 4)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xc179b3fe)
+
+ ShiftRight(Derefof(Index(ps60, 4)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x60bcd9ff)
+ }
+
+ ShiftRight(Derefof(Index(ps60, 4)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xc179b3fe)
+
+ ShiftRight(Derefof(Index(ps60, 4)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x60bcd9ff)
+
+ // Method returns Integer
+
+ ShiftRight(Derefof(Index(ps60, 4)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xc179b3fe)
+
+ ShiftRight(Derefof(Index(ps60, 4)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x60bcd9ff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(Derefof(Index(ps60, 4)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xc179b3fe)
+
+ ShiftRight(Derefof(Index(ps60, 4)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x60bcd9ff)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftRight(0x321, Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftRight(0xc179b3fe, Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 25, Local0, 0x182f36)
+
+ Store(ShiftRight(aui1, Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftRight(aui3, Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 27, Local0, 0x182f36)
+
+ if (y078) {
+ Store(ShiftRight(Derefof(Refof(aui1)), Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftRight(Derefof(Refof(aui3)), Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 29, Local0, 0x182f36)
+ }
+
+ Store(ShiftRight(Derefof(Index(paui, 1)), Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftRight(Derefof(Index(paui, 3)), Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 31, Local0, 0x182f36)
+
+ // Method returns Integer
+
+ Store(ShiftRight(m601(1, 1), Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftRight(m601(1, 3), Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 33, Local0, 0x182f36)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(Derefof(m602(1, 1, 1)), Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftRight(Derefof(m602(1, 3, 1)), Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 35, Local0, 0x182f36)
+ }
+
+ ShiftRight(0x321, Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftRight(0xc179b3fe, Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 37, Local0, 0x182f36)
+
+ ShiftRight(aui1, Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftRight(aui3, Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 39, Local0, 0x182f36)
+
+ if (y078) {
+ ShiftRight(Derefof(Refof(aui1)), Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftRight(Derefof(Refof(aui3)), Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 41, Local0, 0x182f36)
+ }
+
+ ShiftRight(Derefof(Index(paui, 1)), Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftRight(Derefof(Index(paui, 3)), Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 43, Local0, 0x182f36)
+
+ // Method returns Integer
+
+ ShiftRight(m601(1, 1), Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftRight(m601(1, 3), Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 45, Local0, 0x182f36)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(Derefof(m602(1, 1, 1)), Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftRight(Derefof(m602(1, 3, 1)), Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 47, Local0, 0x182f36)
+ }
+
+ // Conversion of the both operands
+
+ Store(ShiftRight(Derefof(Index(ps60, 1)), Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 48, Local0, 0)
+
+ Store(ShiftRight(Derefof(Index(ps60, 4)), Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 49, Local0, 0x182f36)
+
+ ShiftRight(Derefof(Index(ps60, 1)), Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 50, Local0, 0)
+
+ ShiftRight(Derefof(Index(ps60, 4)), Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 51, Local0, 0x182f36)
+ }
+
+ // Subtract, common 32-bit/64-bit test
+ Method(m01f, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Subtract(Derefof(Index(ps60, 1)), 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Subtract(Derefof(Index(ps60, 1)), 1), Local0)
+ m600(arg0, 1, Local0, 0x320)
+
+ Store(Subtract(Derefof(Index(ps60, 1)), aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Subtract(Derefof(Index(ps60, 1)), aui6), Local0)
+ m600(arg0, 3, Local0, 0x320)
+
+ if (y078) {
+ Store(Subtract(Derefof(Index(ps60, 1)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Subtract(Derefof(Index(ps60, 1)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x320)
+ }
+
+ Store(Subtract(Derefof(Index(ps60, 1)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Subtract(Derefof(Index(ps60, 1)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x320)
+
+ // Method returns Integer
+
+ Store(Subtract(Derefof(Index(ps60, 1)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Subtract(Derefof(Index(ps60, 1)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x320)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(Derefof(Index(ps60, 1)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Subtract(Derefof(Index(ps60, 1)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x320)
+ }
+
+ Subtract(Derefof(Index(ps60, 1)), 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Subtract(Derefof(Index(ps60, 1)), 1, Local0)
+ m600(arg0, 13, Local0, 0x320)
+
+ Subtract(Derefof(Index(ps60, 1)), aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Subtract(Derefof(Index(ps60, 1)), aui6, Local0)
+ m600(arg0, 15, Local0, 0x320)
+
+ if (y078) {
+ Subtract(Derefof(Index(ps60, 1)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Subtract(Derefof(Index(ps60, 1)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x320)
+ }
+
+ Subtract(Derefof(Index(ps60, 1)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Subtract(Derefof(Index(ps60, 1)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x320)
+
+ // Method returns Integer
+
+ Subtract(Derefof(Index(ps60, 1)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Subtract(Derefof(Index(ps60, 1)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x320)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(Derefof(Index(ps60, 1)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Subtract(Derefof(Index(ps60, 1)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x320)
+ }
+
+ // Conversion of the second operand
+
+ Store(Subtract(0, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 24, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(1, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 25, Local0, 0xfffffffffffffce0)
+
+ Store(Subtract(aui5, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 26, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(aui6, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 27, Local0, 0xfffffffffffffce0)
+
+ if (y078) {
+ Store(Subtract(Derefof(Refof(aui5)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 28, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(Derefof(Refof(aui6)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 29, Local0, 0xfffffffffffffce0)
+ }
+
+ Store(Subtract(Derefof(Index(paui, 5)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 30, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(Derefof(Index(paui, 6)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 31, Local0, 0xfffffffffffffce0)
+
+ // Method returns Integer
+
+ Store(Subtract(m601(1, 5), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 32, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(m601(1, 6), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 33, Local0, 0xfffffffffffffce0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(Derefof(m602(1, 5, 1)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 34, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(Derefof(m602(1, 6, 1)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 35, Local0, 0xfffffffffffffce0)
+ }
+
+ Subtract(0, Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 36, Local0, 0xfffffffffffffcdf)
+
+ Subtract(1, Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 37, Local0, 0xfffffffffffffce0)
+
+ Subtract(aui5, Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 38, Local0, 0xfffffffffffffcdf)
+
+ Subtract(aui6, Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 39, Local0, 0xfffffffffffffce0)
+
+ if (y078) {
+ Subtract(Derefof(Refof(aui5)), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 40, Local0, 0xfffffffffffffcdf)
+
+ Subtract(Derefof(Refof(aui6)), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 41, Local0, 0xfffffffffffffce0)
+ }
+
+ Subtract(Derefof(Index(paui, 5)), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 42, Local0, 0xfffffffffffffcdf)
+
+ Subtract(Derefof(Index(paui, 6)), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 43, Local0, 0xfffffffffffffce0)
+
+ // Method returns Integer
+
+ Subtract(m601(1, 5), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 44, Local0, 0xfffffffffffffcdf)
+
+ Subtract(m601(1, 6), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 45, Local0, 0xfffffffffffffce0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(Derefof(m602(1, 5, 1)), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 46, Local0, 0xfffffffffffffcdf)
+
+ Subtract(Derefof(m602(1, 6, 1)), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 47, Local0, 0xfffffffffffffce0)
+ }
+ }
+
+ // Subtract, 64-bit
+ Method(m020, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Subtract(Derefof(Index(ps60, 5)), 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(Derefof(Index(ps60, 5)), 1), Local0)
+ m600(arg0, 1, Local0, 0xfe7cb391d650a283)
+
+ Store(Subtract(Derefof(Index(ps60, 5)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(Derefof(Index(ps60, 5)), aui6), Local0)
+ m600(arg0, 3, Local0, 0xfe7cb391d650a283)
+
+ if (y078) {
+ Store(Subtract(Derefof(Index(ps60, 5)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(Derefof(Index(ps60, 5)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xfe7cb391d650a283)
+ }
+
+ Store(Subtract(Derefof(Index(ps60, 5)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(Derefof(Index(ps60, 5)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Integer
+
+ Store(Subtract(Derefof(Index(ps60, 5)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(Derefof(Index(ps60, 5)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(Derefof(Index(ps60, 5)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(Derefof(Index(ps60, 5)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfe7cb391d650a283)
+ }
+
+ Subtract(Derefof(Index(ps60, 5)), 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Subtract(Derefof(Index(ps60, 5)), 1, Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a283)
+
+ Subtract(Derefof(Index(ps60, 5)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Subtract(Derefof(Index(ps60, 5)), aui6, Local0)
+ m600(arg0, 15, Local0, 0xfe7cb391d650a283)
+
+ if (y078) {
+ Subtract(Derefof(Index(ps60, 5)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Subtract(Derefof(Index(ps60, 5)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xfe7cb391d650a283)
+ }
+
+ Subtract(Derefof(Index(ps60, 5)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Subtract(Derefof(Index(ps60, 5)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Integer
+
+ Subtract(Derefof(Index(ps60, 5)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Subtract(Derefof(Index(ps60, 5)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(Derefof(Index(ps60, 5)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Subtract(Derefof(Index(ps60, 5)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfe7cb391d650a283)
+ }
+
+ // Conversion of the second operand
+
+ Store(Subtract(0, Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 24, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(1, Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 25, Local0, 0x01834c6e29af5d7d)
+
+ Store(Subtract(aui5, Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 26, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(aui6, Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 27, Local0, 0x01834c6e29af5d7d)
+
+ if (y078) {
+ Store(Subtract(Derefof(Refof(aui5)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 28, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(Derefof(Refof(aui6)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 29, Local0, 0x01834c6e29af5d7d)
+ }
+
+ Store(Subtract(Derefof(Index(paui, 5)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 30, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(Derefof(Index(paui, 6)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 31, Local0, 0x01834c6e29af5d7d)
+
+ // Method returns Integer
+
+ Store(Subtract(m601(1, 5), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 32, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(m601(1, 6), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 33, Local0, 0x01834c6e29af5d7d)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(Derefof(m602(1, 5, 1)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 34, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(Derefof(m602(1, 6, 1)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 35, Local0, 0x01834c6e29af5d7d)
+ }
+
+ Subtract(0, Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 36, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(1, Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 37, Local0, 0x01834c6e29af5d7d)
+
+ Subtract(aui5, Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 38, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(aui6, Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 39, Local0, 0x01834c6e29af5d7d)
+
+ if (y078) {
+ Subtract(Derefof(Refof(aui5)), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 40, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(Derefof(Refof(aui6)), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 41, Local0, 0x01834c6e29af5d7d)
+ }
+
+ Subtract(Derefof(Index(paui, 5)), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 42, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(Derefof(Index(paui, 6)), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 43, Local0, 0x01834c6e29af5d7d)
+
+ // Method returns Integer
+
+ Subtract(m601(1, 5), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 44, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(m601(1, 6), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 45, Local0, 0x01834c6e29af5d7d)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(Derefof(m602(1, 5, 1)), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 46, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(Derefof(m602(1, 6, 1)), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 47, Local0, 0x01834c6e29af5d7d)
+ }
+
+ // Conversion of the both operands
+
+ Store(Subtract(Derefof(Index(ps60, 1)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 48, Local0, 0x01834c6e29af609d)
+
+ Store(Subtract(Derefof(Index(ps60, 5)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 49, Local0, 0xfe7cb391d6509f63)
+
+ Subtract(Derefof(Index(ps60, 1)), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 50, Local0, 0x01834c6e29af609d)
+
+ Subtract(Derefof(Index(ps60, 5)), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 51, Local0, 0xfe7cb391d6509f63)
+ }
+
+ // Subtract, 32-bit
+ Method(m021, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Subtract(Derefof(Index(ps60, 4)), 0), Local0)
+ m600(arg0, 0, Local0, 0xc179b3fe)
+
+ Store(Subtract(Derefof(Index(ps60, 4)), 1), Local0)
+ m600(arg0, 1, Local0, 0xc179b3fd)
+
+ Store(Subtract(Derefof(Index(ps60, 4)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xc179b3fe)
+
+ Store(Subtract(Derefof(Index(ps60, 4)), aui6), Local0)
+ m600(arg0, 3, Local0, 0xc179b3fd)
+
+ if (y078) {
+ Store(Subtract(Derefof(Index(ps60, 4)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xc179b3fe)
+
+ Store(Subtract(Derefof(Index(ps60, 4)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xc179b3fd)
+ }
+
+ Store(Subtract(Derefof(Index(ps60, 4)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xc179b3fe)
+
+ Store(Subtract(Derefof(Index(ps60, 4)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xc179b3fd)
+
+ // Method returns Integer
+
+ Store(Subtract(Derefof(Index(ps60, 4)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xc179b3fe)
+
+ Store(Subtract(Derefof(Index(ps60, 4)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xc179b3fd)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(Derefof(Index(ps60, 4)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xc179b3fe)
+
+ Store(Subtract(Derefof(Index(ps60, 4)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xc179b3fd)
+ }
+
+ Subtract(Derefof(Index(ps60, 4)), 0, Local0)
+ m600(arg0, 12, Local0, 0xc179b3fe)
+
+ Subtract(Derefof(Index(ps60, 4)), 1, Local0)
+ m600(arg0, 13, Local0, 0xc179b3fd)
+
+ Subtract(Derefof(Index(ps60, 4)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xc179b3fe)
+
+ Subtract(Derefof(Index(ps60, 4)), aui6, Local0)
+ m600(arg0, 15, Local0, 0xc179b3fd)
+
+ if (y078) {
+ Subtract(Derefof(Index(ps60, 4)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xc179b3fe)
+
+ Subtract(Derefof(Index(ps60, 4)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xc179b3fd)
+ }
+
+ Subtract(Derefof(Index(ps60, 4)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xc179b3fe)
+
+ Subtract(Derefof(Index(ps60, 4)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xc179b3fd)
+
+ // Method returns Integer
+
+ Subtract(Derefof(Index(ps60, 4)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xc179b3fe)
+
+ Subtract(Derefof(Index(ps60, 4)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xc179b3fd)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(Derefof(Index(ps60, 4)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xc179b3fe)
+
+ Subtract(Derefof(Index(ps60, 4)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xc179b3fd)
+ }
+
+ // Conversion of the second operand
+
+ Store(Subtract(0, Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 24, Local0, 0x3e864c02)
+
+ Store(Subtract(1, Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 25, Local0, 0x3e864c03)
+
+ Store(Subtract(aui5, Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 26, Local0, 0x3e864c02)
+
+ Store(Subtract(aui6, Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 27, Local0, 0x3e864c03)
+
+ if (y078) {
+ Store(Subtract(Derefof(Refof(aui5)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 28, Local0, 0x3e864c02)
+
+ Store(Subtract(Derefof(Refof(aui6)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 29, Local0, 0x3e864c03)
+ }
+
+ Store(Subtract(Derefof(Index(paui, 5)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 30, Local0, 0x3e864c02)
+
+ Store(Subtract(Derefof(Index(paui, 6)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 31, Local0, 0x3e864c03)
+
+ // Method returns Integer
+
+ Store(Subtract(m601(1, 5), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 32, Local0, 0x3e864c02)
+
+ Store(Subtract(m601(1, 6), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 33, Local0, 0x3e864c03)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(Derefof(m602(1, 5, 1)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 34, Local0, 0x3e864c02)
+
+ Store(Subtract(Derefof(m602(1, 6, 1)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 35, Local0, 0x3e864c03)
+ }
+
+ Subtract(0, Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 36, Local0, 0x3e864c02)
+
+ Subtract(1, Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 37, Local0, 0x3e864c03)
+
+ Subtract(aui5, Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 38, Local0, 0x3e864c02)
+
+ Subtract(aui6, Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 39, Local0, 0x3e864c03)
+
+ if (y078) {
+ Subtract(Derefof(Refof(aui5)), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 40, Local0, 0x3e864c02)
+
+ Subtract(Derefof(Refof(aui6)), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 41, Local0, 0x3e864c03)
+ }
+
+ Subtract(Derefof(Index(paui, 5)), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 42, Local0, 0x3e864c02)
+
+ Subtract(Derefof(Index(paui, 6)), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 43, Local0, 0x3e864c03)
+
+ // Method returns Integer
+
+ Subtract(m601(1, 5), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 44, Local0, 0x3e864c02)
+
+ Subtract(m601(1, 6), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 45, Local0, 0x3e864c03)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(Derefof(m602(1, 5, 1)), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 46, Local0, 0x3e864c02)
+
+ Subtract(Derefof(m602(1, 6, 1)), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 47, Local0, 0x3e864c03)
+ }
+
+ // Conversion of the both operands
+
+ Store(Subtract(Derefof(Index(ps60, 1)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 48, Local0, 0x3e864f23)
+
+ Store(Subtract(Derefof(Index(ps60, 4)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 49, Local0, 0xc179b0dd)
+
+ Subtract(Derefof(Index(ps60, 1)), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 50, Local0, 0x3e864f23)
+
+ Subtract(Derefof(Index(ps60, 4)), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 51, Local0, 0xc179b0dd)
+ }
+
+ // XOr, common 32-bit/64-bit test
+ Method(m022, 1)
+ {
+ // Conversion of the first operand
+
+ Store(XOr(Derefof(Index(ps60, 1)), 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(XOr(Derefof(Index(ps60, 1)), 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xfffffffffffffcde)
+
+ Store(XOr(Derefof(Index(ps60, 1)), aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(XOr(Derefof(Index(ps60, 1)), auij), Local0)
+ m600(arg0, 3, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ Store(XOr(Derefof(Index(ps60, 1)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(XOr(Derefof(Index(ps60, 1)), Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xfffffffffffffcde)
+ }
+
+ Store(XOr(Derefof(Index(ps60, 1)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(XOr(Derefof(Index(ps60, 1)), Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ Store(XOr(Derefof(Index(ps60, 1)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(XOr(Derefof(Index(ps60, 1)), m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(Derefof(Index(ps60, 1)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(XOr(Derefof(Index(ps60, 1)), Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfffffffffffffcde)
+ }
+
+ XOr(Derefof(Index(ps60, 1)), 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ XOr(Derefof(Index(ps60, 1)), 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xfffffffffffffcde)
+
+ XOr(Derefof(Index(ps60, 1)), aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ XOr(Derefof(Index(ps60, 1)), auij, Local0)
+ m600(arg0, 15, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ XOr(Derefof(Index(ps60, 1)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ XOr(Derefof(Index(ps60, 1)), Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xfffffffffffffcde)
+ }
+
+ XOr(Derefof(Index(ps60, 1)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ XOr(Derefof(Index(ps60, 1)), Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ XOr(Derefof(Index(ps60, 1)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ XOr(Derefof(Index(ps60, 1)), m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(Derefof(Index(ps60, 1)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ XOr(Derefof(Index(ps60, 1)), Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfffffffffffffcde)
+ }
+
+ // Conversion of the second operand
+
+ Store(XOr(0, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 24, Local0, 0x321)
+
+ Store(XOr(0xffffffffffffffff, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 25, Local0, 0xfffffffffffffcde)
+
+ Store(XOr(aui5, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 26, Local0, 0x321)
+
+ Store(XOr(auij, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 27, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ Store(XOr(Derefof(Refof(aui5)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 28, Local0, 0x321)
+
+ Store(XOr(Derefof(Refof(auij)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 29, Local0, 0xfffffffffffffcde)
+ }
+
+ Store(XOr(Derefof(Index(paui, 5)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 30, Local0, 0x321)
+
+ Store(XOr(Derefof(Index(paui, 19)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 31, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ Store(XOr(m601(1, 5), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 32, Local0, 0x321)
+
+ Store(XOr(m601(1, 19), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 33, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(Derefof(m602(1, 5, 1)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 34, Local0, 0x321)
+
+ Store(XOr(Derefof(m602(1, 19, 1)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 35, Local0, 0xfffffffffffffcde)
+ }
+
+ XOr(0, Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 36, Local0, 0x321)
+
+ XOr(0xffffffffffffffff, Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 37, Local0, 0xfffffffffffffcde)
+
+ XOr(aui5, Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 38, Local0, 0x321)
+
+ XOr(auij, Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 39, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ XOr(Derefof(Refof(aui5)), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 40, Local0, 0x321)
+
+ XOr(Derefof(Refof(auij)), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 41, Local0, 0xfffffffffffffcde)
+ }
+
+ XOr(Derefof(Index(paui, 5)), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 42, Local0, 0x321)
+
+ XOr(Derefof(Index(paui, 19)), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 43, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ XOr(m601(1, 5), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 44, Local0, 0x321)
+
+ XOr(m601(1, 19), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 45, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(Derefof(m602(1, 5, 1)), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 46, Local0, 0x321)
+
+ XOr(Derefof(m602(1, 19, 1)), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 47, Local0, 0xfffffffffffffcde)
+ }
+ }
+
+ // XOr, 64-bit
+ Method(m023, 1)
+ {
+ // Conversion of the first operand
+
+ Store(XOr(Derefof(Index(ps60, 5)), 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(Index(ps60, 5)), 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0x01834c6e29af5d7b)
+
+ Store(XOr(Derefof(Index(ps60, 5)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(Index(ps60, 5)), auij), Local0)
+ m600(arg0, 3, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ Store(XOr(Derefof(Index(ps60, 5)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(Index(ps60, 5)), Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Store(XOr(Derefof(Index(ps60, 5)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(Index(ps60, 5)), Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ Store(XOr(Derefof(Index(ps60, 5)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(Index(ps60, 5)), m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(Derefof(Index(ps60, 5)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(Index(ps60, 5)), Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0x01834c6e29af5d7b)
+ }
+
+ XOr(Derefof(Index(ps60, 5)), 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(Index(ps60, 5)), 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0x01834c6e29af5d7b)
+
+ XOr(Derefof(Index(ps60, 5)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(Index(ps60, 5)), auij, Local0)
+ m600(arg0, 15, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ XOr(Derefof(Index(ps60, 5)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(Index(ps60, 5)), Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0x01834c6e29af5d7b)
+ }
+
+ XOr(Derefof(Index(ps60, 5)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(Index(ps60, 5)), Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ XOr(Derefof(Index(ps60, 5)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(Index(ps60, 5)), m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(Derefof(Index(ps60, 5)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(Index(ps60, 5)), Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0x01834c6e29af5d7b)
+ }
+
+ // Conversion of the second operand
+
+ Store(XOr(0, Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 24, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(0xffffffffffffffff, Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 25, Local0, 0x01834c6e29af5d7b)
+
+ Store(XOr(aui5, Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 26, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(auij, Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 27, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ Store(XOr(Derefof(Refof(aui5)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 28, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(Refof(auij)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 29, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Store(XOr(Derefof(Index(paui, 5)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 30, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(Index(paui, 19)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 31, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ Store(XOr(m601(1, 5), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 32, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(m601(1, 19), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 33, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(Derefof(m602(1, 5, 1)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 34, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(m602(1, 19, 1)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 35, Local0, 0x01834c6e29af5d7b)
+ }
+
+ XOr(0, Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 36, Local0, 0xfe7cb391d650a284)
+
+ XOr(0xffffffffffffffff, Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 37, Local0, 0x01834c6e29af5d7b)
+
+ XOr(aui5, Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 38, Local0, 0xfe7cb391d650a284)
+
+ XOr(auij, Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 39, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ XOr(Derefof(Refof(aui5)), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 40, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(Refof(auij)), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 41, Local0, 0x01834c6e29af5d7b)
+ }
+
+ XOr(Derefof(Index(paui, 5)), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 42, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(Index(paui, 19)), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 43, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ XOr(m601(1, 5), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 44, Local0, 0xfe7cb391d650a284)
+
+ XOr(m601(1, 19), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 45, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(Derefof(m602(1, 5, 1)), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 46, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(m602(1, 19, 1)), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 47, Local0, 0x01834c6e29af5d7b)
+ }
+
+ // Conversion of the both operands
+
+ Store(XOr(Derefof(Index(ps60, 1)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 48, Local0, 0xfe7cb391d650a1a5)
+
+ Store(XOr(Derefof(Index(ps60, 5)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 49, Local0, 0xfe7cb391d650a1a5)
+
+ XOr(Derefof(Index(ps60, 1)), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 50, Local0, 0xfe7cb391d650a1a5)
+
+ XOr(Derefof(Index(ps60, 5)), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 51, Local0, 0xfe7cb391d650a1a5)
+ }
+
+ // XOr, 32-bit
+ Method(m024, 1)
+ {
+ // Conversion of the first operand
+
+ Store(XOr(Derefof(Index(ps60, 4)), 0), Local0)
+ m600(arg0, 0, Local0, 0xc179b3fe)
+
+ Store(XOr(Derefof(Index(ps60, 4)), 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0x3e864c01)
+
+ Store(XOr(Derefof(Index(ps60, 4)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xc179b3fe)
+
+ Store(XOr(Derefof(Index(ps60, 4)), auii), Local0)
+ m600(arg0, 3, Local0, 0x3e864c01)
+
+ if (y078) {
+ Store(XOr(Derefof(Index(ps60, 4)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xc179b3fe)
+
+ Store(XOr(Derefof(Index(ps60, 4)), Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0x3e864c01)
+ }
+
+ Store(XOr(Derefof(Index(ps60, 4)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xc179b3fe)
+
+ Store(XOr(Derefof(Index(ps60, 4)), Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0x3e864c01)
+
+ // Method returns Integer
+
+ Store(XOr(Derefof(Index(ps60, 4)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xc179b3fe)
+
+ Store(XOr(Derefof(Index(ps60, 4)), m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0x3e864c01)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(Derefof(Index(ps60, 4)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xc179b3fe)
+
+ Store(XOr(Derefof(Index(ps60, 4)), Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0x3e864c01)
+ }
+
+ XOr(Derefof(Index(ps60, 4)), 0, Local0)
+ m600(arg0, 12, Local0, 0xc179b3fe)
+
+ XOr(Derefof(Index(ps60, 4)), 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0x3e864c01)
+
+ XOr(Derefof(Index(ps60, 4)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xc179b3fe)
+
+ XOr(Derefof(Index(ps60, 4)), auii, Local0)
+ m600(arg0, 15, Local0, 0x3e864c01)
+
+ if (y078) {
+ XOr(Derefof(Index(ps60, 4)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xc179b3fe)
+
+ XOr(Derefof(Index(ps60, 4)), Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0x3e864c01)
+ }
+
+ XOr(Derefof(Index(ps60, 4)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xc179b3fe)
+
+ XOr(Derefof(Index(ps60, 4)), Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0x3e864c01)
+
+ // Method returns Integer
+
+ XOr(Derefof(Index(ps60, 4)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xc179b3fe)
+
+ XOr(Derefof(Index(ps60, 4)), m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0x3e864c01)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(Derefof(Index(ps60, 4)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xc179b3fe)
+
+ XOr(Derefof(Index(ps60, 4)), Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0x3e864c01)
+ }
+
+ // Conversion of the second operand
+
+ Store(XOr(0, Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 24, Local0, 0xc179b3fe)
+
+ Store(XOr(0xffffffff, Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 25, Local0, 0x3e864c01)
+
+ Store(XOr(aui5, Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 26, Local0, 0xc179b3fe)
+
+ Store(XOr(auii, Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 27, Local0, 0x3e864c01)
+
+ if (y078) {
+ Store(XOr(Derefof(Refof(aui5)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 28, Local0, 0xc179b3fe)
+
+ Store(XOr(Derefof(Refof(auii)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 29, Local0, 0x3e864c01)
+ }
+
+ Store(XOr(Derefof(Index(paui, 5)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 30, Local0, 0xc179b3fe)
+
+ Store(XOr(Derefof(Index(paui, 18)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 31, Local0, 0x3e864c01)
+
+ // Method returns Integer
+
+ Store(XOr(m601(1, 5), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 32, Local0, 0xc179b3fe)
+
+ Store(XOr(m601(1, 18), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 33, Local0, 0x3e864c01)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(Derefof(m602(1, 5, 1)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 34, Local0, 0xc179b3fe)
+
+ Store(XOr(Derefof(m602(1, 18, 1)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 35, Local0, 0x3e864c01)
+ }
+
+ XOr(0, Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 36, Local0, 0xc179b3fe)
+
+ XOr(0xffffffff, Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 37, Local0, 0x3e864c01)
+
+ XOr(aui5, Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 38, Local0, 0xc179b3fe)
+
+ XOr(auii, Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 39, Local0, 0x3e864c01)
+
+ if (y078) {
+ XOr(Derefof(Refof(aui5)), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 40, Local0, 0xc179b3fe)
+
+ XOr(Derefof(Refof(auii)), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 41, Local0, 0x3e864c01)
+ }
+
+ XOr(Derefof(Index(paui, 5)), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 42, Local0, 0xc179b3fe)
+
+ XOr(Derefof(Index(paui, 18)), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 43, Local0, 0x3e864c01)
+
+ // Method returns Integer
+
+ XOr(m601(1, 5), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 44, Local0, 0xc179b3fe)
+
+ XOr(m601(1, 18), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 45, Local0, 0x3e864c01)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(Derefof(m602(1, 5, 1)), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 46, Local0, 0xc179b3fe)
+
+ XOr(Derefof(m602(1, 18, 1)), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 47, Local0, 0x3e864c01)
+ }
+
+ // Conversion of the both operands
+
+ Store(XOr(Derefof(Index(ps60, 1)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 48, Local0, 0xc179b0df)
+
+ Store(XOr(Derefof(Index(ps60, 4)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 49, Local0, 0xc179b0df)
+
+ XOr(Derefof(Index(ps60, 1)), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 50, Local0, 0xc179b0df)
+
+ XOr(Derefof(Index(ps60, 4)), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 51, Local0, 0xc179b0df)
+ }
+
+ // Add, And, Divide, Mod, Multiply, NAnd, NOr, Or,
+ // ShiftLeft, ShiftRight, Subtract, Xor
+
+ Method(m64d, 1)
+ {
+ // Add
+ Concatenate(arg0, "-m001", Local0)
+ SRMT(Local0)
+ m001(Local0)
+ Concatenate(arg0, "-m002", Local0)
+ SRMT(Local0)
+ m002(Local0)
+
+ // And
+ Concatenate(arg0, "-m004", Local0)
+ SRMT(Local0)
+ m004(Local0)
+ Concatenate(arg0, "-m005", Local0)
+ SRMT(Local0)
+ m005(Local0)
+
+ // Divide
+ Concatenate(arg0, "-m007", Local0)
+ SRMT(Local0)
+ m007(Local0)
+ Concatenate(arg0, "-m008", Local0)
+ SRMT(Local0)
+ m008(Local0)
+
+ // Mod
+ Concatenate(arg0, "-m00a", Local0)
+ SRMT(Local0)
+ m00a(Local0)
+ Concatenate(arg0, "-m00b", Local0)
+ SRMT(Local0)
+ m00b(Local0)
+
+ // Multiply
+ Concatenate(arg0, "-m00d", Local0)
+ SRMT(Local0)
+ m00d(Local0)
+ Concatenate(arg0, "-m00e", Local0)
+ SRMT(Local0)
+ m00e(Local0)
+
+ // NAnd
+ Concatenate(arg0, "-m010", Local0)
+ SRMT(Local0)
+ m010(Local0)
+ Concatenate(arg0, "-m011", Local0)
+ SRMT(Local0)
+ m011(Local0)
+
+ // NOr
+ Concatenate(arg0, "-m013", Local0)
+ SRMT(Local0)
+ m013(Local0)
+ Concatenate(arg0, "-m014", Local0)
+ SRMT(Local0)
+ m014(Local0)
+
+ // Or
+ Concatenate(arg0, "-m016", Local0)
+ SRMT(Local0)
+ m016(Local0)
+ Concatenate(arg0, "-m017", Local0)
+ SRMT(Local0)
+ m017(Local0)
+
+ // ShiftLeft
+ Concatenate(arg0, "-m019", Local0)
+ SRMT(Local0)
+ m019(Local0)
+ Concatenate(arg0, "-m01a", Local0)
+ SRMT(Local0)
+ m01a(Local0)
+
+ // ShiftRight
+ Concatenate(arg0, "-m01c", Local0)
+ SRMT(Local0)
+ m01c(Local0)
+ Concatenate(arg0, "-m01d", Local0)
+ SRMT(Local0)
+ m01d(Local0)
+
+ // Subtract
+ Concatenate(arg0, "-m01f", Local0)
+ SRMT(Local0)
+ m01f(Local0)
+ Concatenate(arg0, "-m020", Local0)
+ SRMT(Local0)
+ m020(Local0)
+
+ // XOr
+ Concatenate(arg0, "-m022", Local0)
+ SRMT(Local0)
+ m022(Local0)
+ Concatenate(arg0, "-m023", Local0)
+ SRMT(Local0)
+ m023(Local0)
+ }
+
+ Method(m32d, 1)
+ {
+ // Add
+ Concatenate(arg0, "-m001", Local0)
+ SRMT(Local0)
+ m001(Local0)
+ Concatenate(arg0, "-m003", Local0)
+ SRMT(Local0)
+ m003(Local0)
+
+ // And
+ Concatenate(arg0, "-m004", Local0)
+ SRMT(Local0)
+ m004(Local0)
+ Concatenate(arg0, "-m006", Local0)
+ SRMT(Local0)
+ m006(Local0)
+
+ // Divide
+ Concatenate(arg0, "-m007", Local0)
+ SRMT(Local0)
+ m007(Local0)
+ Concatenate(arg0, "-m009", Local0)
+ SRMT(Local0)
+ m009(Local0)
+
+ // Mod
+ Concatenate(arg0, "-m00a", Local0)
+ SRMT(Local0)
+ m00a(Local0)
+ Concatenate(arg0, "-m00c", Local0)
+ SRMT(Local0)
+ m00c(Local0)
+
+ // Multiply
+ Concatenate(arg0, "-m00d", Local0)
+ SRMT(Local0)
+ m00d(Local0)
+ Concatenate(arg0, "-m00f", Local0)
+ SRMT(Local0)
+ m00f(Local0)
+
+ // NAnd
+ Concatenate(arg0, "-m010", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m010(Local0)
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m012", Local0)
+ SRMT(Local0)
+ m012(Local0)
+
+ // NOr
+ Concatenate(arg0, "-m013", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m013(Local0)
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m015", Local0)
+ SRMT(Local0)
+ m015(Local0)
+
+ // Or
+ Concatenate(arg0, "-m016", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m016(Local0)
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m018", Local0)
+ SRMT(Local0)
+ m018(Local0)
+
+ // ShiftLeft
+ Concatenate(arg0, "-m019", Local0)
+ SRMT(Local0)
+ m019(Local0)
+ Concatenate(arg0, "-m01b", Local0)
+ SRMT(Local0)
+ m01b(Local0)
+
+ // ShiftRight
+ Concatenate(arg0, "-m01c", Local0)
+ SRMT(Local0)
+ m01c(Local0)
+ Concatenate(arg0, "-m01e", Local0)
+ SRMT(Local0)
+ m01e(Local0)
+
+ // Subtract
+ Concatenate(arg0, "-m01f", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m01f(Local0)
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m021", Local0)
+ SRMT(Local0)
+ m021(Local0)
+
+ // XOr
+ Concatenate(arg0, "-m022", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m022(Local0)
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m024", Local0)
+ SRMT(Local0)
+ m024(Local0)
+ }
+
+
+ // String to Integer conversion of each String operand
+ // of the 2-parameter Logical Integer operators LAnd and LOr
+
+ // LAnd, common 32-bit/64-bit test
+ Method(m025, 1)
+ {
+ // Conversion of the first operand
+
+ Store(LAnd(Derefof(Index(ps60, 1)), 0), Local0)
+ m600(arg0, 0, Local0, Zero)
+
+ Store(LAnd(Derefof(Index(ps60, 1)), 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(LAnd(Derefof(Index(ps60, 1)), aui5), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LAnd(Derefof(Index(ps60, 1)), aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(Derefof(Index(ps60, 1)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LAnd(Derefof(Index(ps60, 1)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(LAnd(Derefof(Index(ps60, 1)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Zero)
+
+ Store(LAnd(Derefof(Index(ps60, 1)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(Derefof(Index(ps60, 1)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Zero)
+
+ Store(LAnd(Derefof(Index(ps60, 1)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(Derefof(Index(ps60, 1)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LAnd(Derefof(Index(ps60, 1)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(LAnd(0, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LAnd(1, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LAnd(aui5, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LAnd(aui6, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(Derefof(Refof(aui5)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(aui6)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(LAnd(Derefof(Index(paui, 5)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LAnd(Derefof(Index(paui, 6)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(m601(1, 5), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LAnd(m601(1, 6), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(Derefof(m602(1, 5, 1)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LAnd(Derefof(m602(1, 6, 1)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+ }
+
+ // LAnd, 64-bit
+ Method(m026, 1)
+ {
+ // Conversion of the first operand
+
+ Store(LAnd(Derefof(Index(ps60, 5)), 0), Local0)
+ m600(arg0, 0, Local0, Zero)
+
+ Store(LAnd(Derefof(Index(ps60, 5)), 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(LAnd(Derefof(Index(ps60, 5)), aui5), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LAnd(Derefof(Index(ps60, 5)), aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(Derefof(Index(ps60, 5)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LAnd(Derefof(Index(ps60, 5)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(LAnd(Derefof(Index(ps60, 5)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Zero)
+
+ Store(LAnd(Derefof(Index(ps60, 5)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(Derefof(Index(ps60, 5)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Zero)
+
+ Store(LAnd(Derefof(Index(ps60, 5)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(Derefof(Index(ps60, 5)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LAnd(Derefof(Index(ps60, 5)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(LAnd(0, Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LAnd(1, Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LAnd(aui5, Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LAnd(aui6, Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(Derefof(Refof(aui5)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(aui6)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(LAnd(Derefof(Index(paui, 5)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LAnd(Derefof(Index(paui, 6)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(m601(1, 5), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LAnd(m601(1, 6), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(Derefof(m602(1, 5, 1)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LAnd(Derefof(m602(1, 6, 1)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+
+ // Conversion of the both operands
+
+ Store(LAnd(Derefof(Index(ps60, 1)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 24, Local0, Ones)
+
+ Store(LAnd(Derefof(Index(ps60, 5)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // LAnd, 32-bit
+ Method(m027, 1)
+ {
+ // Conversion of the first operand
+
+ Store(LAnd(Derefof(Index(ps60, 4)), 0), Local0)
+ m600(arg0, 0, Local0, Zero)
+
+ Store(LAnd(Derefof(Index(ps60, 4)), 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(LAnd(Derefof(Index(ps60, 4)), aui5), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LAnd(Derefof(Index(ps60, 4)), aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(Derefof(Index(ps60, 4)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LAnd(Derefof(Index(ps60, 4)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(LAnd(Derefof(Index(ps60, 4)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Zero)
+
+ Store(LAnd(Derefof(Index(ps60, 4)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(Derefof(Index(ps60, 4)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Zero)
+
+ Store(LAnd(Derefof(Index(ps60, 4)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(Derefof(Index(ps60, 4)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LAnd(Derefof(Index(ps60, 4)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(LAnd(0, Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LAnd(1, Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LAnd(aui5, Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LAnd(aui6, Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(Derefof(Refof(aui5)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(aui6)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(LAnd(Derefof(Index(paui, 5)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LAnd(Derefof(Index(paui, 6)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(m601(1, 5), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LAnd(m601(1, 6), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(Derefof(m602(1, 5, 1)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LAnd(Derefof(m602(1, 6, 1)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+
+ // Conversion of the both operands
+
+ Store(LAnd(Derefof(Index(ps60, 1)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 24, Local0, Ones)
+
+ Store(LAnd(Derefof(Index(ps60, 4)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // Lor, common 32-bit/64-bit test
+ Method(m028, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Lor(Derefof(Index(ps60, 0)), 0), Local0)
+ m600(arg0, 0, Local0, Zero)
+
+ Store(Lor(Derefof(Index(ps60, 0)), 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(Lor(Derefof(Index(ps60, 0)), aui5), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(Lor(Derefof(Index(ps60, 0)), aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(Derefof(Index(ps60, 0)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(Lor(Derefof(Index(ps60, 0)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(Lor(Derefof(Index(ps60, 0)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Zero)
+
+ Store(Lor(Derefof(Index(ps60, 0)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(Derefof(Index(ps60, 0)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Zero)
+
+ Store(Lor(Derefof(Index(ps60, 0)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(Derefof(Index(ps60, 0)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(Lor(Derefof(Index(ps60, 0)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(Lor(0, Derefof(Index(ps60, 0))), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(Lor(1, Derefof(Index(ps60, 0))), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(Lor(aui5, Derefof(Index(ps60, 0))), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(Lor(aui6, Derefof(Index(ps60, 0))), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(Derefof(Refof(aui5)), Derefof(Index(ps60, 0))), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(Lor(Derefof(Refof(aui6)), Derefof(Index(ps60, 0))), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(Lor(Derefof(Index(paui, 5)), Derefof(Index(ps60, 0))), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(Lor(Derefof(Index(paui, 6)), Derefof(Index(ps60, 0))), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(m601(1, 5), Derefof(Index(ps60, 0))), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(Lor(m601(1, 6), Derefof(Index(ps60, 0))), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(Derefof(m602(1, 5, 1)), Derefof(Index(ps60, 0))), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(Lor(Derefof(m602(1, 6, 1)), Derefof(Index(ps60, 0))), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+ }
+
+ // Lor, 64-bit
+ Method(m029, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Lor(Derefof(Index(ps60, 5)), 0), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(Lor(Derefof(Index(ps60, 5)), 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(Lor(Derefof(Index(ps60, 5)), aui5), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(Lor(Derefof(Index(ps60, 5)), aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(Derefof(Index(ps60, 5)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(Lor(Derefof(Index(ps60, 5)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(Lor(Derefof(Index(ps60, 5)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(Lor(Derefof(Index(ps60, 5)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(Derefof(Index(ps60, 5)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(Lor(Derefof(Index(ps60, 5)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(Derefof(Index(ps60, 5)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(Lor(Derefof(Index(ps60, 5)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(Lor(0, Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(Lor(1, Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(Lor(aui5, Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 14, Local0, Ones)
+
+ Store(Lor(aui6, Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(Derefof(Refof(aui5)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 16, Local0, Ones)
+
+ Store(Lor(Derefof(Refof(aui6)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(Lor(Derefof(Index(paui, 5)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 18, Local0, Ones)
+
+ Store(Lor(Derefof(Index(paui, 6)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(m601(1, 5), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 20, Local0, Ones)
+
+ Store(Lor(m601(1, 6), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(Derefof(m602(1, 5, 1)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(Lor(Derefof(m602(1, 6, 1)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+
+ // Conversion of the both operands
+
+ Store(Lor(Derefof(Index(ps60, 0)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 24, Local0, Ones)
+
+ Store(Lor(Derefof(Index(ps60, 5)), Derefof(Index(ps60, 0))), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // Lor, 32-bit
+ Method(m02a, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Lor(Derefof(Index(ps60, 4)), 0), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(Lor(Derefof(Index(ps60, 4)), 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(Lor(Derefof(Index(ps60, 4)), aui5), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(Lor(Derefof(Index(ps60, 4)), aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(Derefof(Index(ps60, 4)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(Lor(Derefof(Index(ps60, 4)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(Lor(Derefof(Index(ps60, 4)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(Lor(Derefof(Index(ps60, 4)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(Derefof(Index(ps60, 4)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(Lor(Derefof(Index(ps60, 4)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(Derefof(Index(ps60, 4)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(Lor(Derefof(Index(ps60, 4)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(Lor(0, Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(Lor(1, Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(Lor(aui5, Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 14, Local0, Ones)
+
+ Store(Lor(aui6, Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(Derefof(Refof(aui5)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 16, Local0, Ones)
+
+ Store(Lor(Derefof(Refof(aui6)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(Lor(Derefof(Index(paui, 5)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 18, Local0, Ones)
+
+ Store(Lor(Derefof(Index(paui, 6)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(m601(1, 5), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 20, Local0, Ones)
+
+ Store(Lor(m601(1, 6), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(Derefof(m602(1, 5, 1)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(Lor(Derefof(m602(1, 6, 1)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+
+ // Conversion of the both operands
+
+ Store(Lor(Derefof(Index(ps60, 0)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 24, Local0, Ones)
+
+ Store(Lor(Derefof(Index(ps60, 4)), Derefof(Index(ps60, 0))), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ Method(m64e, 1)
+ {
+ // LAnd
+ Concatenate(arg0, "-m025", Local0)
+ SRMT(Local0)
+ m025(Local0)
+ Concatenate(arg0, "-m026", Local0)
+ SRMT(Local0)
+ m026(Local0)
+
+ // LOr
+ Concatenate(arg0, "-m028", Local0)
+ SRMT(Local0)
+ m028(Local0)
+ Concatenate(arg0, "-m029", Local0)
+ SRMT(Local0)
+ m029(Local0)
+ }
+
+ Method(m32e, 1)
+ {
+ // LAnd
+ Concatenate(arg0, "-m025", Local0)
+ SRMT(Local0)
+ m025(Local0)
+ Concatenate(arg0, "-m027", Local0)
+ SRMT(Local0)
+ m027(Local0)
+
+ // LOr
+ Concatenate(arg0, "-m028", Local0)
+ SRMT(Local0)
+ m028(Local0)
+ Concatenate(arg0, "-m02a", Local0)
+ SRMT(Local0)
+ m02a(Local0)
+ }
+
+
+ // String to Integer conversion of the String second operand of
+ // Logical operators when the first operand is evaluated as Integer
+ // (LEqual, LGreater, LGreaterEqual, LLess, LLessEqual, LNotEqual)
+
+ Method(m64f, 1)
+ {
+ // LEqual
+
+ Store(LEqual(0xfe7cb391d650a284, Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual(0xfe7cb391d650a285, Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(0xfe7cb391d650a283, Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LEqual(aui4, Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ Store(LEqual(auid, Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LEqual(auif, Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 5, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aui4)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(auid)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ Store(LEqual(Derefof(Refof(auif)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 8, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paui, 4)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paui, 13)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LEqual(Derefof(Index(paui, 15)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 11, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LEqual(m601(1, 4), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(LEqual(m601(1, 13), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 13, Local0, Zero)
+
+ Store(LEqual(m601(1, 15), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(1, 4, 1)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(1, 13, 1)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LEqual(Derefof(m602(1, 15, 1)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 17, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater(0xfe7cb391d650a284, Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(0xfe7cb391d650a285, Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ Store(LGreater(0xfe7cb391d650a283, Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(aui4, Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 21, Local0, Zero)
+
+ Store(LGreater(auid, Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(LGreater(auif, Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 23, Local0, Zero)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aui4)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(auid)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 25, Local0, Ones)
+
+ Store(LGreater(Derefof(Refof(auif)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 26, Local0, Zero)
+ }
+
+ Store(LGreater(Derefof(Index(paui, 4)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 27, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paui, 13)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 28, Local0, Ones)
+
+ Store(LGreater(Derefof(Index(paui, 15)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 29, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreater(m601(1, 4), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 30, Local0, Zero)
+
+ Store(LGreater(m601(1, 13), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ Store(LGreater(m601(1, 15), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 32, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(1, 4, 1)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 33, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(1, 13, 1)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreater(Derefof(m602(1, 15, 1)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 35, Local0, Zero)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual(0xfe7cb391d650a284, Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(0xfe7cb391d650a285, Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ Store(LGreaterEqual(0xfe7cb391d650a283, Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 38, Local0, Zero)
+
+ Store(LGreaterEqual(aui4, Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 39, Local0, Ones)
+
+ Store(LGreaterEqual(auid, Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 40, Local0, Ones)
+
+ Store(LGreaterEqual(auif, Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aui4)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auid)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 43, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auif)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 44, Local0, Zero)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paui, 4)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 45, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 13)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 46, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 15)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 47, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreaterEqual(m601(1, 4), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 48, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 13), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 49, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 15), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(1, 4, 1)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 51, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 13, 1)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 52, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 15, 1)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLess
+
+ Store(LLess(0xfe7cb391d650a284, Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 54, Local0, Zero)
+
+ Store(LLess(0xfe7cb391d650a285, Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLess(0xfe7cb391d650a283, Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLess(aui4, Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLess(auid, Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 58, Local0, Zero)
+
+ Store(LLess(auif, Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 59, Local0, Ones)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aui4)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 60, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auid)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 61, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auif)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 62, Local0, Ones)
+ }
+
+ Store(LLess(Derefof(Index(paui, 4)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 13)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 64, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 15)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 65, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLess(m601(1, 4), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 66, Local0, Zero)
+
+ Store(LLess(m601(1, 13), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 67, Local0, Zero)
+
+ Store(LLess(m601(1, 15), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 68, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLess(Derefof(m602(1, 4, 1)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 69, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 13, 1)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 70, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 15, 1)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 71, Local0, Ones)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual(0xfe7cb391d650a284, Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 72, Local0, Ones)
+
+ Store(LLessEqual(0xfe7cb391d650a285, Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 73, Local0, Zero)
+
+ Store(LLessEqual(0xfe7cb391d650a283, Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 74, Local0, Ones)
+
+ Store(LLessEqual(aui4, Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 75, Local0, Ones)
+
+ Store(LLessEqual(auid, Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LLessEqual(auif, Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aui4)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 78, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(auid)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 79, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Refof(auif)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 80, Local0, Ones)
+ }
+
+ Store(LLessEqual(Derefof(Index(paui, 4)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 81, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paui, 13)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 82, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Index(paui, 15)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 83, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLessEqual(m601(1, 4), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 84, Local0, Ones)
+
+ Store(LLessEqual(m601(1, 13), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 85, Local0, Zero)
+
+ Store(LLessEqual(m601(1, 15), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 86, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(1, 4, 1)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 87, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(1, 13, 1)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 88, Local0, Zero)
+
+ Store(LLessEqual(Derefof(m602(1, 15, 1)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 89, Local0, Ones)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual(0xfe7cb391d650a284, Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 90, Local0, Zero)
+
+ Store(LNotEqual(0xfe7cb391d650a285, Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 91, Local0, Ones)
+
+ Store(LNotEqual(0xfe7cb391d650a283, Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 92, Local0, Ones)
+
+ Store(LNotEqual(aui4, Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 93, Local0, Zero)
+
+ Store(LNotEqual(auid, Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 94, Local0, Ones)
+
+ Store(LNotEqual(auif, Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 95, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aui4)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 96, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(auid)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 97, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Refof(auif)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 98, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paui, 4)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 99, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paui, 13)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 100, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Index(paui, 15)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 101, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LNotEqual(m601(1, 4), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 102, Local0, Zero)
+
+ Store(LNotEqual(m601(1, 13), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 103, Local0, Ones)
+
+ Store(LNotEqual(m601(1, 15), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 104, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(1, 4, 1)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 105, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(1, 13, 1)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 106, Local0, Ones)
+
+ Store(LNotEqual(Derefof(m602(1, 15, 1)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 107, Local0, Ones)
+ }
+ }
+
+ Method(m32f, 1)
+ {
+ // LEqual
+
+ Store(LEqual(0xc179b3fe, Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual(0xc179b3ff, Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(0xc179b3fd, Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LEqual(aui3, Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ Store(LEqual(auic, Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LEqual(auie, Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 5, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aui3)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(auic)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ Store(LEqual(Derefof(Refof(auie)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 8, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paui, 3)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paui, 12)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LEqual(Derefof(Index(paui, 14)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 11, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LEqual(m601(1, 3), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(LEqual(m601(1, 12), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 13, Local0, Zero)
+
+ Store(LEqual(m601(1, 14), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(1, 3, 1)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(1, 12, 1)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LEqual(Derefof(m602(1, 14, 1)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 17, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater(0xc179b3fe, Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(0xc179b3ff, Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ Store(LGreater(0xc179b3fd, Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(aui3, Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 21, Local0, Zero)
+
+ Store(LGreater(auic, Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(LGreater(auie, Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 23, Local0, Zero)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aui3)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(auic)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 25, Local0, Ones)
+
+ Store(LGreater(Derefof(Refof(auie)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 26, Local0, Zero)
+ }
+
+ Store(LGreater(Derefof(Index(paui, 3)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 27, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paui, 12)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 28, Local0, Ones)
+
+ Store(LGreater(Derefof(Index(paui, 14)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 29, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreater(m601(1, 3), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 30, Local0, Zero)
+
+ Store(LGreater(m601(1, 12), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ Store(LGreater(m601(1, 14), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 32, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(1, 3, 1)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 33, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(1, 12, 1)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreater(Derefof(m602(1, 14, 1)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 35, Local0, Zero)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual(0xc179b3fe, Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(0xc179b3ff, Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ Store(LGreaterEqual(0xc179b3fd, Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 38, Local0, Zero)
+
+ Store(LGreaterEqual(aui3, Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 39, Local0, Ones)
+
+ Store(LGreaterEqual(auic, Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 40, Local0, Ones)
+
+ Store(LGreaterEqual(auie, Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aui3)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auic)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 43, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auie)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 44, Local0, Zero)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paui, 3)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 45, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 12)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 46, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 14)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 47, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreaterEqual(m601(1, 3), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 48, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 12), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 49, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 14), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(1, 3, 1)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 51, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 12, 1)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 52, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 14, 1)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLess
+
+ Store(LLess(0xc179b3fe, Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 54, Local0, Zero)
+
+ Store(LLess(0xc179b3ff, Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLess(0xc179b3fd, Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLess(aui3, Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLess(auic, Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 58, Local0, Zero)
+
+ Store(LLess(auie, Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 59, Local0, Ones)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aui3)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 60, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auic)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 61, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auie)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 62, Local0, Ones)
+ }
+
+ Store(LLess(Derefof(Index(paui, 3)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 12)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 64, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 14)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 65, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLess(m601(1, 3), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 66, Local0, Zero)
+
+ Store(LLess(m601(1, 12), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 67, Local0, Zero)
+
+ Store(LLess(m601(1, 14), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 68, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLess(Derefof(m602(1, 3, 1)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 69, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 12, 1)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 70, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 14, 1)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 71, Local0, Ones)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual(0xc179b3fe, Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 72, Local0, Ones)
+
+ Store(LLessEqual(0xc179b3ff, Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 73, Local0, Zero)
+
+ Store(LLessEqual(0xc179b3fd, Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 74, Local0, Ones)
+
+ Store(LLessEqual(aui3, Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 75, Local0, Ones)
+
+ Store(LLessEqual(auic, Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LLessEqual(auie, Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aui3)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 78, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(auic)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 79, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Refof(auie)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 80, Local0, Ones)
+ }
+
+ Store(LLessEqual(Derefof(Index(paui, 3)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 81, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paui, 12)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 82, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Index(paui, 14)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 83, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLessEqual(m601(1, 3), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 84, Local0, Ones)
+
+ Store(LLessEqual(m601(1, 12), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 85, Local0, Zero)
+
+ Store(LLessEqual(m601(1, 14), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 86, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(1, 3, 1)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 87, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(1, 12, 1)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 88, Local0, Zero)
+
+ Store(LLessEqual(Derefof(m602(1, 14, 1)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 89, Local0, Ones)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual(0xc179b3fe, Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 90, Local0, Zero)
+
+ Store(LNotEqual(0xc179b3ff, Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 91, Local0, Ones)
+
+ Store(LNotEqual(0xc179b3fd, Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 92, Local0, Ones)
+
+ Store(LNotEqual(aui3, Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 93, Local0, Zero)
+
+ Store(LNotEqual(auic, Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 94, Local0, Ones)
+
+ Store(LNotEqual(auie, Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 95, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aui3)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 96, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(auic)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 97, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Refof(auie)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 98, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paui, 3)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 99, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paui, 12)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 100, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Index(paui, 14)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 101, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LNotEqual(m601(1, 3), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 102, Local0, Zero)
+
+ Store(LNotEqual(m601(1, 12), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 103, Local0, Ones)
+
+ Store(LNotEqual(m601(1, 14), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 104, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(1, 3, 1)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 105, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(1, 12, 1)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 106, Local0, Ones)
+
+ Store(LNotEqual(Derefof(m602(1, 14, 1)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 107, Local0, Ones)
+ }
+ }
+
+ Method(m02b, 1)
+ {
+ // LEqual
+
+ Store(LEqual(0x321, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual(0x322, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(0x320, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LEqual(aui1, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ Store(LEqual(auig, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LEqual(auih, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 5, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aui1)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(auig)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ Store(LEqual(Derefof(Refof(auih)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 8, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paui, 1)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paui, 16)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LEqual(Derefof(Index(paui, 17)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 11, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LEqual(m601(1, 1), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(LEqual(m601(1, 16), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 13, Local0, Zero)
+
+ Store(LEqual(m601(1, 17), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(1, 1, 1)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(1, 16, 1)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LEqual(Derefof(m602(1, 17, 1)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 17, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater(0x321, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(0x322, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ Store(LGreater(0x320, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(aui1, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 21, Local0, Zero)
+
+ Store(LGreater(auig, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(LGreater(auih, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 23, Local0, Zero)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aui1)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(auig)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 25, Local0, Ones)
+
+ Store(LGreater(Derefof(Refof(auih)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 26, Local0, Zero)
+ }
+
+ Store(LGreater(Derefof(Index(paui, 1)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 27, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paui, 16)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 28, Local0, Ones)
+
+ Store(LGreater(Derefof(Index(paui, 17)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 29, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreater(m601(1, 1), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 30, Local0, Zero)
+
+ Store(LGreater(m601(1, 16), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ Store(LGreater(m601(1, 17), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 32, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(1, 1, 1)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 33, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(1, 16, 1)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreater(Derefof(m602(1, 17, 1)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 35, Local0, Zero)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual(0x321, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(0x322, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ Store(LGreaterEqual(0x320, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 38, Local0, Zero)
+
+ Store(LGreaterEqual(aui1, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 39, Local0, Ones)
+
+ Store(LGreaterEqual(auig, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 40, Local0, Ones)
+
+ Store(LGreaterEqual(auih, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aui1)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auig)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 43, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auih)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 44, Local0, Zero)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paui, 1)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 45, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 16)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 46, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 17)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 47, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreaterEqual(m601(1, 1), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 48, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 16), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 49, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 17), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(1, 1, 1)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 51, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 16, 1)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 52, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 17, 1)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLess
+
+ Store(LLess(0x321, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 54, Local0, Zero)
+
+ Store(LLess(0x322, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLess(0x320, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLess(aui1, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLess(auig, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 58, Local0, Zero)
+
+ Store(LLess(auih, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 59, Local0, Ones)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aui1)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 60, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auig)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 61, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auih)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 62, Local0, Ones)
+ }
+
+ Store(LLess(Derefof(Index(paui, 1)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 16)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 64, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 17)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 65, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLess(m601(1, 1), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 66, Local0, Zero)
+
+ Store(LLess(m601(1, 16), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 67, Local0, Zero)
+
+ Store(LLess(m601(1, 17), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 68, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLess(Derefof(m602(1, 1, 1)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 69, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 16, 1)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 70, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 17, 1)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 71, Local0, Ones)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual(0x321, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 72, Local0, Ones)
+
+ Store(LLessEqual(0x322, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 73, Local0, Zero)
+
+ Store(LLessEqual(0x320, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 74, Local0, Ones)
+
+ Store(LLessEqual(aui1, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 75, Local0, Ones)
+
+ Store(LLessEqual(auig, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LLessEqual(auih, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aui1)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 78, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(auig)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 79, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Refof(auih)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 80, Local0, Ones)
+ }
+
+ Store(LLessEqual(Derefof(Index(paui, 1)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 81, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paui, 16)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 82, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Index(paui, 17)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 83, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLessEqual(m601(1, 1), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 84, Local0, Ones)
+
+ Store(LLessEqual(m601(1, 16), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 85, Local0, Zero)
+
+ Store(LLessEqual(m601(1, 17), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 86, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(1, 1, 1)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 87, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(1, 16, 1)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 88, Local0, Zero)
+
+ Store(LLessEqual(Derefof(m602(1, 17, 1)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 89, Local0, Ones)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual(0x321, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 90, Local0, Zero)
+
+ Store(LNotEqual(0x322, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 91, Local0, Ones)
+
+ Store(LNotEqual(0x320, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 92, Local0, Ones)
+
+ Store(LNotEqual(aui1, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 93, Local0, Zero)
+
+ Store(LNotEqual(auig, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 94, Local0, Ones)
+
+ Store(LNotEqual(auih, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 95, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aui1)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 96, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(auig)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 97, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Refof(auih)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 98, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paui, 1)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 99, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paui, 16)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 100, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Index(paui, 17)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 101, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LNotEqual(m601(1, 1), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 102, Local0, Zero)
+
+ Store(LNotEqual(m601(1, 16), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 103, Local0, Ones)
+
+ Store(LNotEqual(m601(1, 17), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 104, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(1, 1, 1)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 105, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(1, 16, 1)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 106, Local0, Ones)
+
+ Store(LNotEqual(Derefof(m602(1, 17, 1)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 107, Local0, Ones)
+ }
+ }
+
+ // String to Integer intermediate conversion of the String second
+ // operand of Concatenate operator in case the first one is Integer
+
+ Method(m64g, 1)
+ {
+ Store(Concatenate(0x321, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 0, Local0, bb26)
+
+ Store(Concatenate(0x321, Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 1, Local0, bb21)
+
+
+ Store(Concatenate(aui1, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 2, Local0, bb26)
+
+ Store(Concatenate(aui1, Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 3, Local0, bb21)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aui1)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 4, Local0, bb26)
+
+ Store(Concatenate(Derefof(Refof(aui1)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 5, Local0, bb21)
+ }
+
+ Store(Concatenate(Derefof(Index(paui, 1)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 6, Local0, bb26)
+
+ Store(Concatenate(Derefof(Index(paui, 1)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 7, Local0, bb21)
+
+ // Method returns Integer
+
+ Store(Concatenate(m601(1, 1), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 8, Local0, bb26)
+
+ Store(Concatenate(m601(1, 1), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 9, Local0, bb21)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(1, 1, 1)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 10, Local0, bb26)
+
+ Store(Concatenate(Derefof(m602(1, 1, 1)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 11, Local0, bb21)
+ }
+
+ Concatenate(0x321, Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 12, Local0, bb26)
+
+ Concatenate(0x321, Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 13, Local0, bb21)
+
+
+ Concatenate(aui1, Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 14, Local0, bb26)
+
+ Concatenate(aui1, Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 15, Local0, bb21)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aui1)), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 16, Local0, bb26)
+
+ Concatenate(Derefof(Refof(aui1)), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 17, Local0, bb21)
+ }
+
+ Concatenate(Derefof(Index(paui, 1)), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 18, Local0, bb26)
+
+ Concatenate(Derefof(Index(paui, 1)), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 19, Local0, bb21)
+
+ // Method returns Integer
+
+ Concatenate(m601(1, 1), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 20, Local0, bb26)
+
+ Concatenate(m601(1, 1), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 21, Local0, bb21)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Concatenate(Derefof(m602(1, 1, 1)), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 22, Local0, bb26)
+
+ Concatenate(Derefof(m602(1, 1, 1)), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 23, Local0, bb21)
+ }
+ }
+
+ Method(m32g, 1)
+ {
+ Store(Concatenate(0x321, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 0, Local0, bb27)
+
+ Store(Concatenate(0x321, Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 1, Local0, bb24)
+
+
+ Store(Concatenate(aui1, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 2, Local0, bb27)
+
+ Store(Concatenate(aui1, Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 3, Local0, bb24)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aui1)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 4, Local0, bb27)
+
+ Store(Concatenate(Derefof(Refof(aui1)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 5, Local0, bb24)
+ }
+
+ Store(Concatenate(Derefof(Index(paui, 1)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 6, Local0, bb27)
+
+ Store(Concatenate(Derefof(Index(paui, 1)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 7, Local0, bb24)
+
+ // Method returns Integer
+
+ Store(Concatenate(m601(1, 1), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 8, Local0, bb27)
+
+ Store(Concatenate(m601(1, 1), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 9, Local0, bb24)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(1, 1, 1)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 10, Local0, bb27)
+
+ Store(Concatenate(Derefof(m602(1, 1, 1)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 11, Local0, bb24)
+ }
+
+ Concatenate(0x321, Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 12, Local0, bb27)
+
+ Concatenate(0x321, Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 13, Local0, bb24)
+
+
+ Concatenate(aui1, Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 14, Local0, bb27)
+
+ Concatenate(aui1, Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 15, Local0, bb24)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aui1)), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 16, Local0, bb27)
+
+ Concatenate(Derefof(Refof(aui1)), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 17, Local0, bb24)
+ }
+
+ Concatenate(Derefof(Index(paui, 1)), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 18, Local0, bb27)
+
+ Concatenate(Derefof(Index(paui, 1)), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 20, Local0, bb24)
+
+ // Method returns Integer
+
+ Concatenate(m601(1, 1), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 21, Local0, bb27)
+
+ Concatenate(m601(1, 1), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 22, Local0, bb24)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Concatenate(Derefof(m602(1, 1, 1)), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 23, Local0, bb27)
+
+ Concatenate(Derefof(m602(1, 1, 1)), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 24, Local0, bb24)
+ }
+ }
+
+ // String to Integer conversion of the String Length (second)
+ // operand of the ToString operator
+
+ // Common 32-bit/64-bit test
+ Method(m02c, 1)
+ {
+ Store(ToString(Buffer() {"This is auxiliary Buffer"},
+ Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 0, Local0, bs1b)
+
+ Store(ToString(Buffer() {"This is auxiliary Buffer"},
+ Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 1, Local0, bs1c)
+
+ Store(ToString(aub6, Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 2, Local0, bs1b)
+
+ Store(ToString(aub6, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 3, Local0, bs1c)
+
+ if (y078) {
+ Store(ToString(Derefof(Refof(aub6)), Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 4, Local0, bs1b)
+
+ Store(ToString(Derefof(Refof(aub6)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 5, Local0, bs1c)
+ }
+
+ Store(ToString(Derefof(Index(paub, 6)), Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 6, Local0, bs1b)
+
+ Store(ToString(Derefof(Index(paub, 6)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 7, Local0, bs1c)
+
+ // Method returns Buffer
+
+ Store(ToString(m601(3, 6), Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 8, Local0, bs1b)
+
+ Store(ToString(m601(3, 6), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 9, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(ToString(Derefof(m602(3, 6, 1)), Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 10, Local0, bs1b)
+
+ Store(ToString(Derefof(m602(3, 6, 1)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 11, Local0, bs1c)
+ }
+
+ ToString(Buffer() {"This is auxiliary Buffer"},
+ Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 12, Local0, bs1b)
+
+ ToString(Buffer() {"This is auxiliary Buffer"},
+ Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 13, Local0, bs1c)
+
+ ToString(aub6, Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 14, Local0, bs1b)
+
+ ToString(aub6, Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 15, Local0, bs1c)
+
+ if (y078) {
+ ToString(Derefof(Refof(aub6)), Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 16, Local0, bs1b)
+
+ ToString(Derefof(Refof(aub6)), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 17, Local0, bs1c)
+ }
+
+ ToString(Derefof(Index(paub, 6)), Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 18, Local0, bs1b)
+
+ ToString(Derefof(Index(paub, 6)), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 19, Local0, bs1c)
+
+ // Method returns Buffer
+
+ ToString(m601(3, 6), Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 20, Local0, bs1b)
+
+ ToString(m601(3, 6), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 21, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ ToString(Derefof(m602(3, 6, 1)), Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 22, Local0, bs1b)
+
+ ToString(Derefof(m602(3, 6, 1)), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 23, Local0, bs1c)
+ }
+ }
+
+ Method(m64h, 1)
+ {
+ Store(ToString(Buffer() {"This is auxiliary Buffer"},
+ Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 0, Local0, bs1c)
+
+ Store(ToString(aub6, Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 1, Local0, bs1c)
+
+ if (y078) {
+ Store(ToString(Derefof(Refof(aub6)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 2, Local0, bs1c)
+ }
+
+ Store(ToString(Derefof(Index(paub, 6)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 3, Local0, bs1c)
+
+ // Method returns Buffer
+
+ Store(ToString(m601(3, 6), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 4, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(ToString(Derefof(m602(3, 6, 1)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 5, Local0, bs1c)
+ }
+
+ ToString(Buffer() {"This is auxiliary Buffer"},
+ Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 6, Local0, bs1c)
+
+ ToString(aub6, Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 7, Local0, bs1c)
+
+ if (y078) {
+ ToString(Derefof(Refof(aub6)), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 8, Local0, bs1c)
+ }
+
+ ToString(Derefof(Index(paub, 6)), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 9, Local0, bs1c)
+
+ // Method returns Buffer
+
+ ToString(m601(3, 6), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 10, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ ToString(Derefof(m602(3, 6, 1)), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 11, Local0, bs1c)
+ }
+ }
+
+ Method(m32h, 1)
+ {
+ Store(ToString(Buffer() {"This is auxiliary Buffer"},
+ Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 0, Local0, bs1c)
+
+ Store(ToString(aub6, Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 1, Local0, bs1c)
+
+ if (y078) {
+ Store(ToString(Derefof(Refof(aub6)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 2, Local0, bs1c)
+ }
+
+ Store(ToString(Derefof(Index(paub, 6)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 3, Local0, bs1c)
+
+ // Method returns Buffer
+
+ Store(ToString(m601(3, 6), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 4, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(ToString(Derefof(m602(3, 6, 1)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 5, Local0, bs1c)
+ }
+
+ ToString(Buffer() {"This is auxiliary Buffer"},
+ Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 6, Local0, bs1c)
+
+ ToString(aub6, Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 7, Local0, bs1c)
+
+ if (y078) {
+ ToString(Derefof(Refof(aub6)), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 8, Local0, bs1c)
+ }
+
+ ToString(Derefof(Index(paub, 6)), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 9, Local0, bs1c)
+
+ // Method returns Buffer
+
+ ToString(m601(3, 6), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 10, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ ToString(Derefof(m602(3, 6, 1)), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 11, Local0, bs1c)
+ }
+ }
+
+ // String to Integer conversion of the String Index (second)
+ // operand of the Index operator
+ Method(m02d, 1)
+ {
+ Store(Index(aus6, Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 0, Derefof(Local0), bi10)
+
+ Store(Index(aub6, Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 1, Derefof(Local0), bi10)
+
+ Store(Index(aup0, Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 2, Derefof(Local0), bi11)
+
+ if (y078) {
+ Store(Index(Derefof(Refof(aus6)), Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 3, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Refof(aub6)), Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 4, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Refof(aup0)), Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 5, Derefof(Local0), bi11)
+ }
+
+ Store(Index(Derefof(Index(paus, 6)), Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 6, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Index(paub, 6)), Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 7, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Index(paup, 0)), Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 8, Derefof(Local0), bi11)
+
+
+ // Method returns Object
+
+ if (y900) {
+ Store(Index(m601(2, 6), Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 9, Derefof(Local0), bi10)
+
+ Store(Index(m601(3, 6), Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 10, Derefof(Local0), bi10)
+
+ Store(Index(m601(4, 0), Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 11, Derefof(Local0), bi11)
+ } else {
+
+ CH03(arg0, z090, 0, 0, 0)
+
+ Index(m601(2, 6), Derefof(Index(ps60, 20)))
+ CH04(arg0, 0, 85, z090, 9, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+
+ Index(m601(3, 6), Derefof(Index(ps60, 20)))
+ CH04(arg0, 0, 85, z090, 10, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+
+ Index(m601(4, 0), Derefof(Index(ps60, 20)))
+ CH04(arg0, 0, 85, z090, 11, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+ }
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Index(Derefof(m602(2, 6, 1)), Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 12, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(m602(3, 6, 1)), Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 13, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(m602(4, 0, 1)), Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 14, Derefof(Local0), bi11)
+ }
+
+ Index(aus6, Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 15, Derefof(Local0), bi10)
+
+ Index(aub6, Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 16, Derefof(Local0), bi10)
+
+ Index(aup0, Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 17, Derefof(Local0), bi11)
+
+ if (y078) {
+ Index(Derefof(Refof(aus6)), Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 18, Derefof(Local0), bi10)
+
+ Index(Derefof(Refof(aub6)), Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 19, Derefof(Local0), bi10)
+
+ Index(Derefof(Refof(aup0)), Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 20, Derefof(Local0), bi11)
+ }
+
+ Index(Derefof(Index(paus, 6)), Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 21, Derefof(Local0), bi10)
+
+ Index(Derefof(Index(paub, 6)), Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 22, Derefof(Local0), bi10)
+
+ Index(Derefof(Index(paup, 0)), Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 23, Derefof(Local0), bi11)
+
+
+ // Method returns Object
+
+ if (y900) {
+ Index(m601(2, 6), Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 24, Derefof(Local0), bi10)
+
+ Index(m601(3, 6), Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 25, Derefof(Local0), bi10)
+
+ Index(m601(4, 0), Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 26, Derefof(Local0), bi11)
+ } else {
+
+ CH03(arg0, z090, 0, 0, 0)
+
+ Index(m601(2, 6), Derefof(Index(ps60, 20)), Local0)
+ CH04(arg0, 0, 85, z090, 24, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+
+ Index(m601(3, 6), Derefof(Index(ps60, 20)), Local0)
+ CH04(arg0, 0, 85, z090, 25, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+
+ Index(m601(4, 0), Derefof(Index(ps60, 20)), Local0)
+ CH04(arg0, 0, 85, z090, 26, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+ }
+
+ // Method returns Reference
+
+ if (y500) {
+ Index(Derefof(m602(2, 6, 1)), Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 27, Derefof(Local0), bi10)
+
+ Index(Derefof(m602(3, 6, 1)), Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 28, Derefof(Local0), bi10)
+
+ Index(Derefof(m602(4, 0, 1)), Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 29, Derefof(Local0), bi11)
+ }
+
+ if (y098) {
+ Store(Index(aus6, Derefof(Index(ps60, 20)), Local1), Local0)
+ m600(arg0, 30, Derefof(Local0), bi10)
+
+ Store(Index(aub6, Derefof(Index(ps60, 20)), Local1), Local0)
+ m600(arg0, 31, Derefof(Local0), bi10)
+
+ Store(Index(aup0, Derefof(Index(ps60, 20)), Local1), Local0)
+ m600(arg0, 32, Derefof(Local0), bi11)
+ }
+
+ if (y078) {
+ Store(Index(Derefof(Refof(aus6)), Derefof(Index(ps60, 20)), Local1), Local0)
+ m600(arg0, 33, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Refof(aub6)), Derefof(Index(ps60, 20)), Local1), Local0)
+ m600(arg0, 34, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Refof(aup0)), Derefof(Index(ps60, 20)), Local1), Local0)
+ m600(arg0, 35, Derefof(Local0), bi11)
+ }
+
+ if (y098) {
+ Store(Index(Derefof(Index(paus, 6)), Derefof(Index(ps60, 20)), Local1), Local0)
+ m600(arg0, 36, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Index(paub, 6)), Derefof(Index(ps60, 20)), Local1), Local0)
+ m600(arg0, 37, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Index(paup, 0)), Derefof(Index(ps60, 20)), Local1), Local0)
+ m600(arg0, 38, Derefof(Local0), bi11)
+ }
+
+ // Method returns Object
+
+ if (LAnd(y900, y098)) {
+ Store(Index(m601(2, 6), Derefof(Index(ps60, 20)), Local1), Local0)
+ m600(arg0, 39, Derefof(Local0), bi10)
+
+ Store(Index(m601(3, 6), Derefof(Index(ps60, 20)), Local1), Local0)
+ m600(arg0, 40, Derefof(Local0), bi10)
+
+ Store(Index(m601(4, 0), Derefof(Index(ps60, 20)), Local1), Local0)
+ m600(arg0, 41, Derefof(Local0), bi11)
+ }
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Index(Derefof(m602(2, 6, 1)), Derefof(Index(ps60, 20)), Local1), Local0)
+ m600(arg0, 42, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(m602(3, 6, 1)), Derefof(Index(ps60, 20)), Local1), Local0)
+ m600(arg0, 43, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(m602(4, 0, 1)), Derefof(Index(ps60, 20)), Local1), Local0)
+ m600(arg0, 44, Derefof(Local0), bi11)
+ }
+ }
+
+ // String to Integer conversion of the String Arg (third)
+ // operand of the Fatal operator
+ // (it can only be checked an exception does not occur)
+ Method(m02e, 1)
+ {
+ CH03(arg0, z090, 0, 0, 0)
+ Fatal(0xff, 0xffffffff, Derefof(Index(ps60, 1)))
+ if (F64) {
+ Fatal(0xff, 0xffffffff, Derefof(Index(ps60, 5)))
+ } else {
+ Fatal(0xff, 0xffffffff, Derefof(Index(ps60, 4)))
+ }
+ CH03(arg0, z090, 1, 0, 0)
+ }
+
+ // String to Integer conversion of the String Index and Length
+ // operands of the Mid operator
+
+ // Common 32-bit/64-bit test
+ Method(m02f, 1)
+ {
+ // String to Integer conversion of the String Index operand
+
+ Store(Mid("This is auxiliary String", Derefof(Index(ps60, 20)), 10), Local0)
+ m600(arg0, 0, Local0, bs1d)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, Derefof(Index(ps60, 20)), 10), Local0)
+ m600(arg0, 1, Local0, bb32)
+
+ Store(Mid(aus6, Derefof(Index(ps60, 20)), 10), Local0)
+ m600(arg0, 2, Local0, bs1d)
+
+ Store(Mid(aub6, Derefof(Index(ps60, 20)), 10), Local0)
+ m600(arg0, 3, Local0, bb32)
+
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), Derefof(Index(ps60, 20)), 10), Local0)
+ m600(arg0, 4, Local0, bs1d)
+
+ Store(Mid(Derefof(Refof(aub6)), Derefof(Index(ps60, 20)), 10), Local0)
+ m600(arg0, 5, Local0, bb32)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), Derefof(Index(ps60, 20)), 10), Local0)
+ m600(arg0, 6, Local0, bs1d)
+
+ Store(Mid(Derefof(Index(paub, 6)), Derefof(Index(ps60, 20)), 10), Local0)
+ m600(arg0, 7, Local0, bb32)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), Derefof(Index(ps60, 20)), 10), Local0)
+ m600(arg0, 8, Local0, bs1d)
+
+ Store(Mid(m601(3, 6), Derefof(Index(ps60, 20)), 10), Local0)
+ m600(arg0, 9, Local0, bb32)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), Derefof(Index(ps60, 20)), 10), Local0)
+ m600(arg0, 10, Local0, bs1d)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), Derefof(Index(ps60, 20)), 10), Local0)
+ m600(arg0, 11, Local0, bb32)
+ }
+
+ Mid("This is auxiliary String", Derefof(Index(ps60, 20)), 10, Local0)
+ m600(arg0, 12, Local0, bs1d)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, Derefof(Index(ps60, 20)), 10, Local0)
+ m600(arg0, 13, Local0, bb32)
+
+ Mid(aus6, Derefof(Index(ps60, 20)), 10, Local0)
+ m600(arg0, 14, Local0, bs1d)
+
+ Mid(aub6, Derefof(Index(ps60, 20)), 10, Local0)
+ m600(arg0, 15, Local0, bb32)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), Derefof(Index(ps60, 20)), 10, Local0)
+ m600(arg0, 16, Local0, bs1d)
+
+ Mid(Derefof(Refof(aub6)), Derefof(Index(ps60, 20)), 10, Local0)
+ m600(arg0, 17, Local0, bb32)
+ }
+
+ Mid(Derefof(Index(paus, 6)), Derefof(Index(ps60, 20)), 10, Local0)
+ m600(arg0, 18, Local0, bs1d)
+
+ Mid(Derefof(Index(paub, 6)), Derefof(Index(ps60, 20)), 10, Local0)
+ m600(arg0, 19, Local0, bb32)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), Derefof(Index(ps60, 20)), 10, Local0)
+ m600(arg0, 20, Local0, bs1d)
+
+ Mid(m601(3, 6), Derefof(Index(ps60, 20)), 10, Local0)
+ m600(arg0, 21, Local0, bb32)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), Derefof(Index(ps60, 20)), 10, Local0)
+ m600(arg0, 22, Local0, bs1d)
+
+ Mid(Derefof(m602(3, 6, 1)), Derefof(Index(ps60, 20)), 10, Local0)
+ m600(arg0, 23, Local0, bb32)
+ }
+
+ // String to Integer conversion of the String Length operand
+
+ Store(Mid("This is auxiliary String", 0, Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 24, Local0, bs1b)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, 0, Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 25, Local0, bb33)
+
+ Store(Mid(aus6, 0, Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 26, Local0, bs1b)
+
+ Store(Mid(aub6, 0, Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 27, Local0, bb33)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), 0, Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 28, Local0, bs1b)
+
+ Store(Mid(Derefof(Refof(aub6)), 0, Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 29, Local0, bb33)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), 0, Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 30, Local0, bs1b)
+
+ Store(Mid(Derefof(Index(paub, 6)), 0, Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 31, Local0, bb33)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), 0, Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 32, Local0, bs1b)
+
+ Store(Mid(m601(3, 6), 0, Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 33, Local0, bb33)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), 0, Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 34, Local0, bs1b)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), 0, Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 35, Local0, bb33)
+ }
+
+ Mid("This is auxiliary String", 0, Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 36, Local0, bs1b)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, 0, Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 37, Local0, bb33)
+
+ Mid(aus6, 0, Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 37, Local0, bs1b)
+
+ Mid(aub6, 0, Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 39, Local0, bb33)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), 0, Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 40, Local0, bs1b)
+
+ Mid(Derefof(Refof(aub6)), 0, Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 41, Local0, bb33)
+ }
+
+ Mid(Derefof(Index(paus, 6)), 0, Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 42, Local0, bs1b)
+
+ Mid(Derefof(Index(paub, 6)), 0, Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 43, Local0, bb33)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), 0, Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 44, Local0, bs1b)
+
+ Mid(m601(3, 6), 0, Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 45, Local0, bb33)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), 0, Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 46, Local0, bs1b)
+
+ Mid(Derefof(m602(3, 6, 1)), 0, Derefof(Index(ps60, 20)), Local0)
+ m600(arg0, 47, Local0, bb33)
+ }
+ }
+
+ Method(m64i, 1)
+ {
+ // String to Integer conversion of the String Length operand
+
+ Store(Mid("This is auxiliary String", 0, Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 0, Local0, bs1e)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, 0, Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 1, Local0, bb34)
+
+ Store(Mid(aus6, 0, Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 2, Local0, bs1e)
+
+ Store(Mid(aub6, 0, Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 3, Local0, bb34)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), 0, Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 4, Local0, bs1e)
+
+ Store(Mid(Derefof(Refof(aub6)), 0, Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 5, Local0, bb34)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), 0, Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 6, Local0, bs1e)
+
+ Store(Mid(Derefof(Index(paub, 6)), 0, Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 7, Local0, bb34)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), 0, Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 8, Local0, bs1e)
+
+ Store(Mid(m601(3, 6), 0, Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 9, Local0, bb34)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), 0, Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 10, Local0, bs1e)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), 0, Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 11, Local0, bb34)
+ }
+
+ Mid("This is auxiliary String", 0, Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 12, Local0, bs1e)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, 0, Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 13, Local0, bb34)
+
+ Mid(aus6, 0, Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 14, Local0, bs1e)
+
+ Mid(aub6, 0, Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 15, Local0, bb34)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), 0, Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 16, Local0, bs1e)
+
+ Mid(Derefof(Refof(aub6)), 0, Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 17, Local0, bb34)
+ }
+
+ Mid(Derefof(Index(paus, 6)), 0, Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 18, Local0, bs1e)
+
+ Mid(Derefof(Index(paub, 6)), 0, Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 19, Local0, bb34)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), 0, Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 20, Local0, bs1e)
+
+ Mid(m601(3, 6), 0, Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 21, Local0, bb34)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), 0, Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 22, Local0, bs1e)
+
+ Mid(Derefof(m602(3, 6, 1)), 0, Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 23, Local0, bb34)
+ }
+
+ // String to Integer conversion of the both String operands
+
+ Store(Mid("This is auxiliary String", Derefof(Index(ps60, 20)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 24, Local0, bs1f)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, Derefof(Index(ps60, 20)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 25, Local0, bb35)
+
+ Store(Mid(aus6, Derefof(Index(ps60, 20)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 26, Local0, bs1f)
+
+ Store(Mid(aub6, Derefof(Index(ps60, 20)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 27, Local0, bb35)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), Derefof(Index(ps60, 20)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 28, Local0, bs1f)
+
+ Store(Mid(Derefof(Refof(aub6)), Derefof(Index(ps60, 20)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 29, Local0, bb35)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), Derefof(Index(ps60, 20)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 30, Local0, bs1f)
+
+ Store(Mid(Derefof(Index(paub, 6)), Derefof(Index(ps60, 20)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 31, Local0, bb35)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), Derefof(Index(ps60, 20)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 32, Local0, bs1f)
+
+ Store(Mid(m601(3, 6), Derefof(Index(ps60, 20)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 33, Local0, bb35)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), Derefof(Index(ps60, 20)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 34, Local0, bs1f)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), Derefof(Index(ps60, 20)), Derefof(Index(ps60, 5))), Local0)
+ m600(arg0, 35, Local0, bb35)
+ }
+
+ Mid("This is auxiliary String", Derefof(Index(ps60, 20)), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 36, Local0, bs1f)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, Derefof(Index(ps60, 20)), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 37, Local0, bb35)
+
+ Mid(aus6, Derefof(Index(ps60, 20)), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 38, Local0, bs1f)
+
+ Mid(aub6, Derefof(Index(ps60, 20)), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 39, Local0, bb35)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), Derefof(Index(ps60, 20)), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 40, Local0, bs1f)
+
+ Mid(Derefof(Refof(aub6)), Derefof(Index(ps60, 20)), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 41, Local0, bb35)
+ }
+
+ Mid(Derefof(Index(paus, 6)), Derefof(Index(ps60, 20)), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 42, Local0, bs1f)
+
+ Mid(Derefof(Index(paub, 6)), Derefof(Index(ps60, 20)), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 43, Local0, bb35)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), Derefof(Index(ps60, 20)), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 44, Local0, bs1f)
+
+ Mid(m601(3, 6), Derefof(Index(ps60, 20)), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 45, Local0, bb35)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), Derefof(Index(ps60, 20)), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 46, Local0, bs1f)
+
+ Mid(Derefof(m602(3, 6, 1)), Derefof(Index(ps60, 20)), Derefof(Index(ps60, 5)), Local0)
+ m600(arg0, 47, Local0, bb35)
+ }
+ }
+
+ Method(m32i, 1)
+ {
+ // String to Integer conversion of the String Length operand
+
+ Store(Mid("This is auxiliary String", 0, Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 0, Local0, bs1e)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, 0, Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 1, Local0, bb34)
+
+ Store(Mid(aus6, 0, Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 2, Local0, bs1e)
+
+ Store(Mid(aub6, 0, Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 3, Local0, bb34)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), 0, Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 4, Local0, bs1e)
+
+ Store(Mid(Derefof(Refof(aub6)), 0, Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 5, Local0, bb34)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), 0, Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 6, Local0, bs1e)
+
+ Store(Mid(Derefof(Index(paub, 6)), 0, Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 7, Local0, bb34)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), 0, Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 8, Local0, bs1e)
+
+ Store(Mid(m601(3, 6), 0, Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 9, Local0, bb34)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), 0, Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 10, Local0, bs1e)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), 0, Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 11, Local0, bb34)
+ }
+
+ Mid("This is auxiliary String", 0, Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 12, Local0, bs1e)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, 0, Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 13, Local0, bb34)
+
+ Mid(aus6, 0, Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 14, Local0, bs1e)
+
+ Mid(aub6, 0, Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 15, Local0, bb34)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), 0, Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 16, Local0, bs1e)
+
+ Mid(Derefof(Refof(aub6)), 0, Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 17, Local0, bb34)
+ }
+
+ Mid(Derefof(Index(paus, 6)), 0, Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 18, Local0, bs1e)
+
+ Mid(Derefof(Index(paub, 6)), 0, Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 19, Local0, bb34)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), 0, Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 20, Local0, bs1e)
+
+ Mid(m601(3, 6), 0, Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 21, Local0, bb34)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), 0, Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 22, Local0, bs1e)
+
+ Mid(Derefof(m602(3, 6, 1)), 0, Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 23, Local0, bb34)
+ }
+
+ // String to Integer conversion of the both String operands
+
+ Store(Mid("This is auxiliary String", Derefof(Index(ps60, 20)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 24, Local0, bs1f)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, Derefof(Index(ps60, 20)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 25, Local0, bb35)
+
+ Store(Mid(aus6, Derefof(Index(ps60, 20)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 26, Local0, bs1f)
+
+ Store(Mid(aub6, Derefof(Index(ps60, 20)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 27, Local0, bb35)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), Derefof(Index(ps60, 20)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 28, Local0, bs1f)
+
+ Store(Mid(Derefof(Refof(aub6)), Derefof(Index(ps60, 20)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 29, Local0, bb35)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), Derefof(Index(ps60, 20)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 30, Local0, bs1f)
+
+ Store(Mid(Derefof(Index(paub, 6)), Derefof(Index(ps60, 20)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 31, Local0, bb35)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), Derefof(Index(ps60, 20)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 32, Local0, bs1f)
+
+ Store(Mid(m601(3, 6), Derefof(Index(ps60, 20)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 33, Local0, bb35)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), Derefof(Index(ps60, 20)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 34, Local0, bs1f)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), Derefof(Index(ps60, 20)), Derefof(Index(ps60, 4))), Local0)
+ m600(arg0, 35, Local0, bb35)
+ }
+
+ Mid("This is auxiliary String", Derefof(Index(ps60, 20)), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 36, Local0, bs1f)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, Derefof(Index(ps60, 20)), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 37, Local0, bb35)
+
+ Mid(aus6, Derefof(Index(ps60, 20)), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 38, Local0, bs1f)
+
+ Mid(aub6, Derefof(Index(ps60, 20)), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 39, Local0, bb35)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), Derefof(Index(ps60, 20)), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 40, Local0, bs1f)
+
+ Mid(Derefof(Refof(aub6)), Derefof(Index(ps60, 20)), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 41, Local0, bb35)
+ }
+
+ Mid(Derefof(Index(paus, 6)), Derefof(Index(ps60, 20)), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 42, Local0, bs1f)
+
+ Mid(Derefof(Index(paub, 6)), Derefof(Index(ps60, 20)), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 43, Local0, bb35)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), Derefof(Index(ps60, 20)), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 44, Local0, bs1f)
+
+ Mid(m601(3, 6), Derefof(Index(ps60, 20)), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 45, Local0, bb35)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), Derefof(Index(ps60, 20)), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 46, Local0, bs1f)
+
+ Mid(Derefof(m602(3, 6, 1)), Derefof(Index(ps60, 20)), Derefof(Index(ps60, 4)), Local0)
+ m600(arg0, 47, Local0, bb35)
+ }
+ }
+
+ // String to Integer conversion of the String StartIndex
+ // operand of the Match operator
+ Method(m030, 1)
+ {
+ Store(Match(
+ Package(){
+ 0xa50, 0xa51, 0xa52, 0xa53, 0xa54, 0xa55, 0xa56, 0xa57,
+ 0xa58, 0xa59, 0xa5a, 0xa5b, 0xa5c, 0xa5d, 0xa5e,},
+ MEQ, 0xa5d, MTR, 0, Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 0, Local0, 0xd)
+
+ Store(Match(
+ Package(){
+ 0xa50, 0xa51, 0xa52, 0xa53, 0xa54, 0xa55, 0xa56, 0xa57,
+ 0xa58, 0xa59, 0xa5a, 0xa5b, 0xa5c, 0xa5d, 0xa5e,},
+ MEQ, 0xa5a, MTR, 0, Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(Match(aup0, MEQ, 0xa5d, MTR, 0, Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 2, Local0, 0xd)
+
+ Store(Match(aup0, MEQ, 0xa5a, MTR, 0, Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(Match(Derefof(Refof(aup0)), MEQ, 0xa5d, MTR, 0, Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 4, Local0, 0xd)
+
+ Store(Match(Derefof(Refof(aup0)), MEQ, 0xa5a, MTR, 0, Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(Match(Derefof(Index(paup, 0)), MEQ, 0xa5d, MTR, 0, Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 6, Local0, 0xd)
+
+ Store(Match(Derefof(Index(paup, 0)), MEQ, 0xa5a, MTR, 0, Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Object
+
+ Store(Match(m601(4, 0), MEQ, 0xa5d, MTR, 0, Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 8, Local0, 0xd)
+
+ Store(Match(m601(4, 0), MEQ, 0xa5a, MTR, 0, Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Match(Derefof(m602(4, 0, 1)), MEQ, 0xa5d, MTR, 0, Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 10, Local0, 0xd)
+
+ Store(Match(Derefof(m602(4, 0, 1)), MEQ, 0xa5a, MTR, 0, Derefof(Index(ps60, 20))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+ }
+
+// Method(m64j, 1)
+
+// Method(m32j, 1)
+
+ // String to Integer conversion of the String sole operand
+ // of the Method execution control operators (Sleep, Stall)
+ Method(m031, 1)
+ {
+ CH03(arg0, z090, 2, 0, 0)
+
+ // Sleep
+
+ Store(Timer, Local0)
+
+ Sleep(Derefof(Index(ps60, 1)))
+ CH03(arg0, z090, 3, 0, 0)
+
+ Store(Timer, Local1)
+ Subtract(Local1, Local0, Local2)
+ if (LLess(Local2, c08c)) {
+ err(arg0, z090, 0, 0, 0, Local2, c08c)
+ }
+
+ // Stall
+
+ Store(Timer, Local0)
+
+ Stall(Derefof(Index(ps60, 27)))
+ CH03(arg0, z090, 4, 0, 0)
+
+ Store(Timer, Local1)
+ Subtract(Local1, Local0, Local2)
+ if (LLess(Local2, 990)) {
+ err(arg0, z090, 1, 0, 0, Local2, 990)
+ }
+ }
+
+ // String to Integer conversion of the String TimeoutValue
+ // (second) operand of the Acquire operator ???
+ Method(m032, 1)
+ {
+ Mutex(MTX0, 0)
+
+ Acquire(MTX0, 0)
+ CH03(arg0, z090, 5, 0, 0)
+
+ Store(Timer, Local0)
+
+/* Compiler allows only Integer constant as TimeoutValue (Bug 1)
+ Acquire(MTX0, Derefof(Index(ps60, 1)))
+*/
+ CH03(arg0, z090, 6, 0, 0)
+
+ Store(Timer, Local1)
+ Subtract(Local1, Local0, Local2)
+ if (LLess(Local2, c08c)) {
+ err(arg0, z090, 0, 0, 0, Local2, c08c)
+ }
+ }
+
+ // String to Integer conversion of the String TimeoutValue
+ // (second) operand of the Wait operator
+ Method(m033, 1)
+ {
+ Event(EVT0)
+
+ CH03(arg0, z090, 7, 0, 0)
+
+ Store(Timer, Local0)
+
+ Wait(EVT0, Derefof(Index(ps60, 1)))
+ CH03(arg0, z090, 8, 0, 0)
+
+ Store(Timer, Local1)
+ Subtract(Local1, Local0, Local2)
+ if (LLess(Local2, c08c)) {
+ err(arg0, z090, 0, 0, 0, Local2, c08c)
+ }
+ }
+
+ // String to Integer conversion of the String value
+ // of Predicate of the Method execution control statements
+ // (If, ElseIf, While)
+ Method(m034, 1)
+ {
+ Name(ist0, 0)
+
+ Method(m001)
+ {
+ if (Derefof(Index(ps60, 0))) {
+ Store(0, ist0)
+ }
+ }
+
+ Method(m002)
+ {
+ if (Derefof(Index(ps60, 1))) {
+ Store(2, ist0)
+ }
+ }
+
+ Method(m003)
+ {
+ if (Derefof(Index(ps60, 4))) {
+ Store(3, ist0)
+ }
+ }
+
+ Method(m004)
+ {
+ if (Derefof(Index(ps60, 5))) {
+ Store(4, ist0)
+ }
+ }
+
+ Method(m005, 1)
+ {
+ if (arg0) {
+ Store(0xff, ist0)
+ } elseif (Derefof(Index(ps60, 0))) {
+ Store(0, ist0)
+ }
+ }
+
+ Method(m006, 1)
+ {
+ if (arg0) {
+ Store(0xff, ist0)
+ } elseif (Derefof(Index(ps60, 1))) {
+ Store(6, ist0)
+ }
+ }
+
+ Method(m007, 1)
+ {
+ if (arg0) {
+ Store(0xff, ist0)
+ } elseif (Derefof(Index(ps60, 4))) {
+ Store(7, ist0)
+ }
+ }
+
+ Method(m008, 1)
+ {
+ if (arg0) {
+ Store(0xff, ist0)
+ } elseif (Derefof(Index(ps60, 5))) {
+ Store(8, ist0)
+ }
+ }
+
+ Method(m009)
+ {
+ while (Derefof(Index(ps60, 0))) {
+ Store(0, ist0)
+ }
+ }
+
+ // If
+
+ Store(1, ist0)
+ m001()
+ m600(arg0, 0, ist0, 1)
+
+ m002()
+ m600(arg0, 1, ist0, 2)
+
+ m003()
+ m600(arg0, 2, ist0, 3)
+
+ m004()
+ m600(arg0, 3, ist0, 4)
+
+ // ElseIf
+
+ Store(5, ist0)
+ m005(0)
+ m600(arg0, 4, ist0, 5)
+
+ m006(0)
+ m600(arg0, 5, ist0, 6)
+
+ m007(0)
+ m600(arg0, 6, ist0, 7)
+
+ m008(0)
+ m600(arg0, 7, ist0, 8)
+
+ // While
+
+ Store(9, ist0)
+ m009()
+ m600(arg0, 8, ist0, 9)
+ }
+
+// Method(m64k, 1)
+
+// Method(m32k, 1)
+
+ // String to Buffer implicit conversion Cases.
+
+ // String to Buffer conversion of the String second operand of
+ // Logical operators when the first operand is evaluated as Buffer
+ // (LEqual, LGreater, LGreaterEqual, LLess, LLessEqual, LNotEqual)
+
+ Method(m035, 1)
+ {
+ // LEqual
+
+ Store(LEqual(Buffer() {0x30, 0x33, 0x32, 0x31, 0x00}, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual(Buffer() {0x30, 0x33, 0x32, 0x31, 0x01}, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(aub7, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(LEqual(aub3, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 3, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aub7)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(aub3)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 5, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paub, 7)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paub, 3)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ // Method returns Buffer
+
+ Store(LEqual(m601(3, 7), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(LEqual(m601(3, 3), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 9, Local0, Zero)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(3, 7, 1)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(3, 3, 1)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 11, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater(Buffer() {0x30, 0x33, 0x32, 0x31, 0x00}, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LGreater(Buffer() {0x30, 0x33, 0x32, 0x31, 0x01}, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LGreater(Buffer() {0x30, 0x33, 0x32, 0x31}, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LGreater(Buffer() {0x30, 0x33, 0x32, 0x31, 0x00, 0x01}, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LGreater(aub7, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LGreater(aub8, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 17, Local0, Ones)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aub7)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(aub8)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 19, Local0, Ones)
+ }
+
+ Store(LGreater(Derefof(Index(paub, 7)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paub, 8)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Buffer
+
+ Store(LGreater(m601(3, 7), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LGreater(m601(3, 8), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 23, Local0, Ones)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(3, 7, 1)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(3, 8, 1)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual(Buffer() {0x30, 0x33, 0x32, 0x31, 0x00}, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 26, Local0, Ones)
+
+ Store(LGreaterEqual(Buffer() {0x30, 0x33, 0x32, 0x31, 0x01}, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 27, Local0, Ones)
+
+ Store(LGreaterEqual(Buffer() {0x30, 0x33, 0x32, 0x31}, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 28, Local0, Zero)
+
+ Store(LGreaterEqual(Buffer() {0x30, 0x33, 0x32, 0x31, 0x00, 0x01}, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 29, Local0, Ones)
+
+ Store(LGreaterEqual(aub7, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 30, Local0, Ones)
+
+ Store(LGreaterEqual(aub8, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aub7)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 32, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(aub8)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 33, Local0, Ones)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paub, 7)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paub, 8)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 35, Local0, Ones)
+
+ // Method returns Buffer
+
+ Store(LGreaterEqual(m601(3, 7), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(m601(3, 8), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(3, 7, 1)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 38, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(3, 8, 1)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 39, Local0, Ones)
+ }
+
+ // LLess
+
+ Store(LLess(Buffer() {0x30, 0x33, 0x32, 0x31, 0x00}, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 40, Local0, Zero)
+
+ Store(LLess(Buffer() {0x30, 0x33, 0x32, 0x31, 0x01}, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ Store(LLess(Buffer() {0x30, 0x33, 0x32, 0x31}, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LLess(Buffer() {0x30, 0x33, 0x32, 0x31, 0x00, 0x01}, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 43, Local0, Zero)
+
+ Store(LLess(aub7, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 44, Local0, Zero)
+
+ Store(LLess(aub8, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 45, Local0, Zero)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aub7)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 46, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(aub8)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 47, Local0, Zero)
+ }
+
+ Store(LLess(Derefof(Index(paub, 7)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 48, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paub, 8)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 49, Local0, Zero)
+
+ // Method returns Buffer
+
+ Store(LLess(m601(3, 7), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ Store(LLess(m601(3, 8), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 51, Local0, Zero)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LLess(Derefof(m602(3, 7, 1)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 52, Local0, Zero)
+
+ Store(LLess(Derefof(m602(3, 8, 1)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual(Buffer() {0x30, 0x33, 0x32, 0x31, 0x00}, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 54, Local0, Ones)
+
+ Store(LLessEqual(Buffer() {0x30, 0x33, 0x32, 0x31, 0x01}, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLessEqual(Buffer() {0x30, 0x33, 0x32, 0x31}, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLessEqual(Buffer() {0x30, 0x33, 0x32, 0x31, 0x00, 0x01}, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLessEqual(aub7, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 58, Local0, Ones)
+
+ Store(LLessEqual(aub8, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 59, Local0, Zero)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aub7)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 60, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(aub8)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 61, Local0, Zero)
+ }
+
+ Store(LLessEqual(Derefof(Index(paub, 7)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 62, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paub, 8)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ // Method returns Buffer
+
+ Store(LLessEqual(m601(3, 7), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 64, Local0, Ones)
+
+ Store(LLessEqual(m601(3, 8), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 65, Local0, Zero)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(3, 7, 1)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 66, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(3, 8, 1)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 67, Local0, Zero)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual(Buffer() {0x30, 0x33, 0x32, 0x31, 0x00}, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 68, Local0, Zero)
+
+ Store(LNotEqual(Buffer() {0x30, 0x33, 0x32, 0x31, 0x01}, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 69, Local0, Ones)
+
+ Store(LNotEqual(Buffer() {0x30, 0x33, 0x32, 0x31}, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 70, Local0, Ones)
+
+ Store(LNotEqual(Buffer() {0x30, 0x33, 0x32, 0x31, 0x00, 0x01}, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 71, Local0, Ones)
+
+ Store(LNotEqual(aub7, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 72, Local0, Zero)
+
+ Store(LNotEqual(aub8, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 73, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aub7)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 74, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(aub8)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 75, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paub, 7)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paub, 8)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ // Method returns Buffer
+
+ Store(LNotEqual(m601(3, 7), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 78, Local0, Zero)
+
+ Store(LNotEqual(m601(3, 8), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 79, Local0, Ones)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(3, 7, 1)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 80, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(3, 8, 1)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 81, Local0, Ones)
+ }
+
+ // Boundary Cases
+
+ Store(LEqual(Buffer() {0x00}, Derefof(Index(ps60, 12))), Local0)
+ m600(arg0, 82, Local0, Ones)
+
+ Store(LEqual(Buffer() {0x01}, Derefof(Index(ps60, 12))), Local0)
+ m600(arg0, 83, Local0, Zero)
+
+ Store(LGreater(Buffer() {0x00}, Derefof(Index(ps60, 12))), Local0)
+ m600(arg0, 84, Local0, Zero)
+
+ Store(LGreater(Buffer() {0x01}, Derefof(Index(ps60, 12))), Local0)
+ m600(arg0, 85, Local0, Ones)
+
+ Store(LGreaterEqual(Buffer() {0x00}, Derefof(Index(ps60, 12))), Local0)
+ m600(arg0, 86, Local0, Ones)
+
+ Store(LGreater(Buffer() {0x01}, Derefof(Index(ps60, 12))), Local0)
+ m600(arg0, 87, Local0, Ones)
+
+ Store(LLess(Buffer() {0x00}, Derefof(Index(ps60, 12))), Local0)
+ m600(arg0, 88, Local0, Zero)
+
+ Store(LLess(Buffer() {0x01}, Derefof(Index(ps60, 12))), Local0)
+ m600(arg0, 89, Local0, Zero)
+
+ Store(LLessEqual(Buffer() {0x00}, Derefof(Index(ps60, 12))), Local0)
+ m600(arg0, 90, Local0, Ones)
+
+ Store(LLessEqual(Buffer() {0x01}, Derefof(Index(ps60, 12))), Local0)
+ m600(arg0, 91, Local0, Zero)
+
+ Store(LNotEqual(Buffer() {0x00}, Derefof(Index(ps60, 12))), Local0)
+ m600(arg0, 92, Local0, Zero)
+
+ Store(LNotEqual(Buffer() {0x01}, Derefof(Index(ps60, 12))), Local0)
+ m600(arg0, 93, Local0, Ones)
+
+ Store(LEqual(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x00,},
+ Derefof(Index(ps60, 14))),
+ Local0)
+ m600(arg0, 94, Local0, Ones)
+
+ Store(LEqual(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x01,},
+ Derefof(Index(ps60, 14))),
+ Local0)
+ m600(arg0, 95, Local0, Zero)
+
+ Store(LGreater(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x00,},
+ Derefof(Index(ps60, 14))),
+ Local0)
+ m600(arg0, 96, Local0, Zero)
+
+ Store(LGreater(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x01,},
+ Derefof(Index(ps60, 14))),
+ Local0)
+ m600(arg0, 97, Local0, Ones)
+
+ Store(LGreaterEqual(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x00,},
+ Derefof(Index(ps60, 14))),
+ Local0)
+ m600(arg0, 98, Local0, Ones)
+
+ Store(LGreater(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x01,},
+ Derefof(Index(ps60, 14))),
+ Local0)
+ m600(arg0, 99, Local0, Ones)
+
+ Store(LLess(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x00,},
+ Derefof(Index(ps60, 14))),
+ Local0)
+ m600(arg0, 100, Local0, Zero)
+
+ Store(LLess(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x01,},
+ Derefof(Index(ps60, 14))),
+ Local0)
+ m600(arg0, 101, Local0, Zero)
+
+ Store(LLessEqual(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x00,},
+ Derefof(Index(ps60, 14))),
+ Local0)
+ m600(arg0, 102, Local0, Ones)
+
+ Store(LLessEqual(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x01,},
+ Derefof(Index(ps60, 14))),
+ Local0)
+ m600(arg0, 103, Local0, Zero)
+
+ Store(LNotEqual(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x00,},
+ Derefof(Index(ps60, 14))),
+ Local0)
+ m600(arg0, 104, Local0, Zero)
+
+ Store(LNotEqual(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x01,},
+ Derefof(Index(ps60, 14))),
+ Local0)
+ m600(arg0, 105, Local0, Ones)
+ }
+
+ // String to Buffer conversion of the String second operand of
+ // Concatenate operator when the first operand is evaluated as Buffer
+
+ Method(m036, 1)
+ {
+ Store(Concatenate(Buffer(){0x5a}, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 0, Local0, bb29)
+
+ Store(Concatenate(Buffer(){0x5a, 0x00}, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 1, Local0, bb2a)
+
+ Store(Concatenate(aub0, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 2, Local0, bb29)
+
+ Store(Concatenate(aub1, Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 3, Local0, bb2a)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aub0)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 4, Local0, bb29)
+
+ Store(Concatenate(Derefof(Refof(aub1)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 5, Local0, bb2a)
+ }
+
+ Store(Concatenate(Derefof(Index(paub, 0)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 6, Local0, bb29)
+
+ Store(Concatenate(Derefof(Index(paub, 1)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 7, Local0, bb2a)
+
+ // Method returns Buffer
+
+ Store(Concatenate(m601(3, 0), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 8, Local0, bb29)
+
+ Store(Concatenate(m601(3, 1), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 9, Local0, bb2a)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(3, 0, 1)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 10, Local0, bb29)
+
+ Store(Concatenate(Derefof(m602(3, 1, 1)), Derefof(Index(ps60, 1))), Local0)
+ m600(arg0, 11, Local0, bb2a)
+ }
+
+ Concatenate(Buffer(){0x5a}, Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 12, Local0, bb29)
+
+ Concatenate(Buffer(){0x5a, 0x00}, Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 13, Local0, bb2a)
+
+ Concatenate(aub0, Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 14, Local0, bb29)
+
+ Concatenate(aub1, Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 15, Local0, bb2a)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aub0)), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 16, Local0, bb29)
+
+ Concatenate(Derefof(Refof(aub1)), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 17, Local0, bb2a)
+ }
+
+ Concatenate(Derefof(Index(paub, 0)), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 18, Local0, bb29)
+
+ Concatenate(Derefof(Index(paub, 1)), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 19, Local0, bb2a)
+
+ // Method returns Buffer
+
+ Concatenate(m601(3, 0), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 20, Local0, bb29)
+
+ Concatenate(m601(3, 1), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 21, Local0, bb2a)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Concatenate(Derefof(m602(3, 0, 1)), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 22, Local0, bb29)
+
+ Concatenate(Derefof(m602(3, 1, 1)), Derefof(Index(ps60, 1)), Local0)
+ m600(arg0, 23, Local0, bb2a)
+ }
+
+ // Boundary Cases
+
+ Store(Concatenate(Buffer(){0x5a}, Derefof(Index(ps60, 12))), Local0)
+ m600(arg0, 24, Local0, bb2b)
+
+ Store(Concatenate(Buffer(){0x5a, 0x00}, Derefof(Index(ps60, 12))), Local0)
+ m600(arg0, 25, Local0, bb2c)
+
+ Store(0, Local1)
+ Store(Concatenate(Buffer(Local1){}, Derefof(Index(ps60, 14))), Local0)
+ m600(arg0, 26, Local0, bb2d)
+ }
+
+ // String to Buffer conversion of the String Source operand of
+ // ToString operator (has a visual effect in shortening of the
+ // String taken the null character, that is impossible to show
+ // with an immediate String constant).
+
+ Method(m037, 1)
+ {
+ Store(ToString(Derefof(Index(ps60, 1)), Ones), Local0)
+ m600(arg0, 0, Local0, bs20)
+
+ Store(ToString(Derefof(Index(ps60, 1)), 3), Local0)
+ m600(arg0, 1, Local0, bs21)
+
+ Store(ToString(Derefof(Index(ps60, 1)), aui0), Local0)
+ m600(arg0, 2, Local0, bs20)
+
+ Store(ToString(Derefof(Index(ps60, 1)), aui7), Local0)
+ m600(arg0, 3, Local0, bs21)
+
+ if (y078) {
+ Store(ToString(Derefof(Index(ps60, 1)), Derefof(Refof(aui0))), Local0)
+ m600(arg0, 4, Local0, bs20)
+
+ Store(ToString(Derefof(Index(ps60, 1)), Derefof(Refof(aui7))), Local0)
+ m600(arg0, 5, Local0, bs21)
+ }
+
+ Store(ToString(Derefof(Index(ps60, 1)), Derefof(Index(paui, 0))), Local0)
+ m600(arg0, 6, Local0, bs20)
+
+ Store(ToString(Derefof(Index(ps60, 1)), Derefof(Index(paui, 7))), Local0)
+ m600(arg0, 7, Local0, bs21)
+
+ // Method returns Length parameter
+
+ Store(ToString(Derefof(Index(ps60, 1)), m601(1, 0)), Local0)
+ m600(arg0, 8, Local0, bs20)
+
+ Store(ToString(Derefof(Index(ps60, 1)), m601(1, 7)), Local0)
+ m600(arg0, 9, Local0, bs21)
+
+ // Method returns Reference to Length parameter
+
+ if (y500) {
+ Store(ToString(Derefof(Index(ps60, 1)), Derefof(m601(1, 0))), Local0)
+ m600(arg0, 10, Local0, bs20)
+
+ Store(ToString(Derefof(Index(ps60, 1)), Derefof(m601(1, 7))), Local0)
+ m600(arg0, 11, Local0, bs21)
+ }
+
+ ToString(Derefof(Index(ps60, 1)), Ones, Local0)
+ m600(arg0, 12, Local0, bs20)
+
+ ToString(Derefof(Index(ps60, 1)), 3, Local0)
+ m600(arg0, 13, Local0, bs21)
+
+ ToString(Derefof(Index(ps60, 1)), aui0, Local0)
+ m600(arg0, 14, Local0, bs20)
+
+ ToString(Derefof(Index(ps60, 1)), aui7, Local0)
+ m600(arg0, 15, Local0, bs21)
+
+ if (y078) {
+ ToString(Derefof(Index(ps60, 1)), Derefof(Refof(aui0)), Local0)
+ m600(arg0, 16, Local0, bs20)
+
+ ToString(Derefof(Index(ps60, 1)), Derefof(Refof(aui7)), Local0)
+ m600(arg0, 17, Local0, bs21)
+ }
+
+ ToString(Derefof(Index(ps60, 1)), Derefof(Index(paui, 0)), Local0)
+ m600(arg0, 18, Local0, bs20)
+
+ ToString(Derefof(Index(ps60, 1)), Derefof(Index(paui, 7)), Local0)
+ m600(arg0, 19, Local0, bs21)
+
+ // Method returns Length parameter
+
+ ToString(Derefof(Index(ps60, 1)), m601(1, 0), Local0)
+ m600(arg0, 20, Local0, bs20)
+
+ ToString(Derefof(Index(ps60, 1)), m601(1, 7), Local0)
+ m600(arg0, 21, Local0, bs21)
+
+ // Method returns Reference to Length parameter
+
+ if (y500) {
+ ToString(Derefof(Index(ps60, 1)), Derefof(m601(1, 0)), Local0)
+ m600(arg0, 22, Local0, bs20)
+
+ ToString(Derefof(Index(ps60, 1)), Derefof(m601(1, 7)), Local0)
+ m600(arg0, 23, Local0, bs21)
+ }
+
+ // Boundary Cases
+
+ Store(ToString(Derefof(Index(ps60, 12)), Ones), Local0)
+ m600(arg0, 24, Local0, bs22)
+
+ Store(ToString(Derefof(Index(ps60, 12)), 3), Local0)
+ m600(arg0, 25, Local0, bs22)
+
+ Store(ToString(
+ Derefof(Index(ps60, 14)),
+ Ones), Local0)
+ m600(arg0, 26, Local0, bs23)
+
+ Store(ToString(
+ Derefof(Index(ps60, 14)),
+ 3), Local0)
+ m600(arg0, 27, Local0, bs24)
+ }
+
+// Method(m038, 1)
+
+// Method(m039, 1)
+
+ // Buffer to Integer implicit conversion Cases.
+
+ // Buffer to Integer conversion of the Buffer sole operand
+ // of the 1-parameter Integer arithmetic operators
+ // (Decrement, Increment, FindSetLeftBit, FindSetRightBit, Not)
+
+ Method(m64l, 1)
+ {
+ // Decrement
+ if (y501) {
+ Store(Decrement(Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 0, Local0, bi12)
+
+ Store(Decrement(Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 1, Local0, bi16)
+ }
+
+ // Increment
+ if (y501) {
+ Store(Increment(Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 2, Local0, bi13)
+
+ Store(Increment(Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 3, Local0, bi17)
+ }
+
+ // FindSetLeftBit
+
+ Store(FindSetLeftBit(Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 4, Local0, 10)
+
+ Store(FindSetLeftBit(Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 5, Local0, 64)
+
+ // FindSetRightBit
+
+ Store(FindSetRightBit(Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 6, Local0, 1)
+
+ Store(FindSetRightBit(Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 7, Local0, 3)
+
+ // Not
+
+ Store(Not(Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 8, Local0, 0xfffffffffffffcde)
+
+ Store(Not(Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 9, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Method(m32l, 1)
+ {
+ // Decrement
+ if (y501) {
+ Store(Decrement(Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 0, Local0, bi12)
+
+ Store(Decrement(Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 1, Local0, bi18)
+ }
+
+ // Increment
+ if (y501) {
+ Store(Increment(Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 2, Local0, bi13)
+
+ Store(Increment(Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 3, Local0, bi19)
+ }
+
+ // FindSetLeftBit
+
+ Store(FindSetLeftBit(Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 4, Local0, 10)
+
+ Store(FindSetLeftBit(Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 5, Local0, 32)
+
+ // FindSetRightBit
+
+ Store(FindSetRightBit(Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 6, Local0, 1)
+
+ Store(FindSetRightBit(Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 7, Local0, 3)
+
+ // Not
+
+ Store(Not(Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 8, Local0, 0xfffffcde)
+
+ Store(Not(Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 9, Local0, 0x29af5d7b)
+ }
+
+ // Buffer to Integer conversion of the Buffer sole operand
+ // of the LNot Logical Integer operator
+ Method(m03a, 1)
+ {
+ Store(LNot(Derefof(Index(pb60, 0))), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LNot(Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ if (F64) {
+ Store(LNot(Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 2, Local0, Zero)
+ } else {
+ Store(LNot(Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 3, Local0, Zero)
+ }
+ }
+
+ // Buffer to Integer conversion of the Buffer sole operand
+ // of the FromBCD and ToBCD conversion operators
+
+ Method(m64m, 1)
+ {
+ // FromBCD
+
+ Store(FromBCD(Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 2, Local0, 0x141)
+
+ Store(FromBCD(Derefof(Index(pb60, 15))), Local0)
+ m600(arg0, 3, Local0, 0xd76162ee9ec35)
+
+ FromBCD(Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 2, Local0, 0x141)
+
+ FromBCD(Derefof(Index(pb60, 15)), Local0)
+ m600(arg0, 3, Local0, 0xd76162ee9ec35)
+
+ // ToBCD
+
+ Store(ToBCD(Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 4, Local0, 0x801)
+
+// ??? No error of iASL on constant folding
+ Store(ToBCD(Derefof(Index(pb60, 16))), Local0)
+ m600(arg0, 5, Local0, 0x3789012345678901)
+
+ ToBCD(Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 4, Local0, 0x801)
+
+ ToBCD(Derefof(Index(pb60, 16)), Local0)
+ m600(arg0, 5, Local0, 0x3789012345678901)
+ }
+
+ Method(m32m, 1)
+ {
+ // FromBCD
+
+ Store(FromBCD(Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 2, Local0, 0x141)
+
+ Store(FromBCD(Derefof(Index(pb60, 17))), Local0)
+ m600(arg0, 3, Local0, 0x55f2cc0)
+
+ FromBCD(Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 2, Local0, 0x141)
+
+ FromBCD(Derefof(Index(pb60, 17)), Local0)
+ m600(arg0, 3, Local0, 0x55f2cc0)
+
+ // ToBCD
+
+ Store(ToBCD(Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 4, Local0, 0x801)
+
+ Store(ToBCD(Derefof(Index(pb60, 18))), Local0)
+ m600(arg0, 5, Local0, 0x90123456)
+
+ ToBCD(Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 4, Local0, 0x801)
+
+ ToBCD(Derefof(Index(pb60, 18)), Local0)
+ m600(arg0, 5, Local0, 0x90123456)
+ }
+
+ // Buffer to Integer conversion of each Buffer operand
+ // of the 2-parameter Integer arithmetic operators
+ // Add, And, Divide, Mod, Multiply, NAnd, NOr, Or,
+ // ShiftLeft, ShiftRight, Subtract, Xor
+
+ // Add, common 32-bit/64-bit test
+ Method(m03b, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Add(Derefof(Index(pb60, 6)), 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Add(Derefof(Index(pb60, 6)), 1), Local0)
+ m600(arg0, 1, Local0, 0x322)
+
+ Store(Add(Derefof(Index(pb60, 6)), aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Add(Derefof(Index(pb60, 6)), aui6), Local0)
+ m600(arg0, 3, Local0, 0x322)
+
+ if (y078) {
+ Store(Add(Derefof(Index(pb60, 6)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Add(Derefof(Index(pb60, 6)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x322)
+ }
+
+ Store(Add(Derefof(Index(pb60, 6)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Add(Derefof(Index(pb60, 6)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x322)
+
+ // Method returns Integer
+
+ Store(Add(Derefof(Index(pb60, 6)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Add(Derefof(Index(pb60, 6)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x322)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(Derefof(Index(pb60, 6)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Add(Derefof(Index(pb60, 6)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x322)
+ }
+
+ Add(Derefof(Index(pb60, 6)), 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Add(Derefof(Index(pb60, 6)), 1, Local0)
+ m600(arg0, 13, Local0, 0x322)
+
+ Add(Derefof(Index(pb60, 6)), aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Add(Derefof(Index(pb60, 6)), aui6, Local0)
+ m600(arg0, 15, Local0, 0x322)
+
+ if (y078) {
+ Add(Derefof(Index(pb60, 6)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Add(Derefof(Index(pb60, 6)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x322)
+ }
+
+ Add(Derefof(Index(pb60, 6)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Add(Derefof(Index(pb60, 6)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x322)
+
+ // Method returns Integer
+
+ Add(Derefof(Index(pb60, 6)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Add(Derefof(Index(pb60, 6)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x322)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(Derefof(Index(pb60, 6)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Add(Derefof(Index(pb60, 6)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x322)
+ }
+
+ // Conversion of the second operand
+
+ Store(Add(0, Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 24, Local0, 0x321)
+
+ Store(Add(1, Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 25, Local0, 0x322)
+
+ Store(Add(aui5, Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 26, Local0, 0x321)
+
+ Store(Add(aui6, Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 27, Local0, 0x322)
+
+ if (y078) {
+ Store(Add(Derefof(Refof(aui5)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 28, Local0, 0x321)
+
+ Store(Add(Derefof(Refof(aui6)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 29, Local0, 0x322)
+ }
+
+ Store(Add(Derefof(Index(paui, 5)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 30, Local0, 0x321)
+
+ Store(Add(Derefof(Index(paui, 6)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 31, Local0, 0x322)
+
+ // Method returns Integer
+
+ Store(Add(m601(1, 5), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 32, Local0, 0x321)
+
+ Store(Add(m601(1, 6), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 33, Local0, 0x322)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(Derefof(m602(1, 5, 1)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 34, Local0, 0x321)
+
+ Store(Add(Derefof(m602(1, 6, 1)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 35, Local0, 0x322)
+ }
+
+ Add(0, Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 36, Local0, 0x321)
+
+ Add(1, Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 37, Local0, 0x322)
+
+ Add(aui5, Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 38, Local0, 0x321)
+
+ Add(aui6, Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 39, Local0, 0x322)
+
+ if (y078) {
+ Add(Derefof(Refof(aui5)), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 40, Local0, 0x321)
+
+ Add(Derefof(Refof(aui6)), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 41, Local0, 0x322)
+ }
+
+ Add(Derefof(Index(paui, 5)), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 42, Local0, 0x321)
+
+ Add(Derefof(Index(paui, 6)), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 43, Local0, 0x322)
+
+ // Method returns Integer
+
+ Add(m601(1, 5), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 44, Local0, 0x321)
+
+ Add(m601(1, 6), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 45, Local0, 0x322)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(Derefof(m602(1, 5, 1)), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 46, Local0, 0x321)
+
+ Add(Derefof(m602(1, 6, 1)), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 47, Local0, 0x322)
+ }
+ }
+
+ // Add, 64-bit
+ Method(m03c, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Add(Derefof(Index(pb60, 10)), 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(Index(pb60, 10)), 1), Local0)
+ m600(arg0, 1, Local0, 0xfe7cb391d650a285)
+
+ Store(Add(Derefof(Index(pb60, 10)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(Index(pb60, 10)), aui6), Local0)
+ m600(arg0, 3, Local0, 0xfe7cb391d650a285)
+
+ if (y078) {
+ Store(Add(Derefof(Index(pb60, 10)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(Index(pb60, 10)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xfe7cb391d650a285)
+ }
+
+ Store(Add(Derefof(Index(pb60, 10)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(Index(pb60, 10)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Integer
+
+ Store(Add(Derefof(Index(pb60, 10)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(Index(pb60, 10)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(Derefof(Index(pb60, 10)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(Index(pb60, 10)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfe7cb391d650a285)
+ }
+
+ Add(Derefof(Index(pb60, 10)), 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(Index(pb60, 10)), 1, Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a285)
+
+ Add(Derefof(Index(pb60, 10)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(Index(pb60, 10)), aui6, Local0)
+ m600(arg0, 15, Local0, 0xfe7cb391d650a285)
+
+ if (y078) {
+ Add(Derefof(Index(pb60, 10)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(Index(pb60, 10)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xfe7cb391d650a285)
+ }
+
+ Add(Derefof(Index(pb60, 10)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(Index(pb60, 10)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Integer
+
+ Add(Derefof(Index(pb60, 10)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(Index(pb60, 10)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(Derefof(Index(pb60, 10)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(Index(pb60, 10)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfe7cb391d650a285)
+ }
+
+ // Conversion of the second operand
+
+ Store(Add(0, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 24, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(1, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 25, Local0, 0xfe7cb391d650a285)
+
+ Store(Add(aui5, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 26, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(aui6, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 27, Local0, 0xfe7cb391d650a285)
+
+ if (y078) {
+ Store(Add(Derefof(Refof(aui5)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 28, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(Refof(aui6)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 29, Local0, 0xfe7cb391d650a285)
+ }
+
+ Store(Add(Derefof(Index(paui, 5)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 30, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(Index(paui, 6)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 31, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Integer
+
+ Store(Add(m601(1, 5), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 32, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(m601(1, 6), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 33, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(Derefof(m602(1, 5, 1)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 34, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(m602(1, 6, 1)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 35, Local0, 0xfe7cb391d650a285)
+ }
+
+ Add(0, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 36, Local0, 0xfe7cb391d650a284)
+
+ Add(1, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 37, Local0, 0xfe7cb391d650a285)
+
+ Add(aui5, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 38, Local0, 0xfe7cb391d650a284)
+
+ Add(aui6, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 39, Local0, 0xfe7cb391d650a285)
+
+ if (y078) {
+ Add(Derefof(Refof(aui5)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 40, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(Refof(aui6)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 41, Local0, 0xfe7cb391d650a285)
+ }
+
+ Add(Derefof(Index(paui, 5)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 42, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(Index(paui, 6)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 43, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Integer
+
+ Add(m601(1, 5), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 44, Local0, 0xfe7cb391d650a284)
+
+ Add(m601(1, 6), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 45, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(Derefof(m602(1, 5, 1)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 46, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(m602(1, 6, 1)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 47, Local0, 0xfe7cb391d650a285)
+ }
+
+ // Conversion of the both operands
+
+ Store(Add(Derefof(Index(pb60, 6)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 48, Local0, 0xfe7cb391d650a5a5)
+
+ Store(Add(Derefof(Index(pb60, 10)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 49, Local0, 0xfe7cb391d650a5a5)
+
+ Add(Derefof(Index(pb60, 6)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 50, Local0, 0xfe7cb391d650a5a5)
+
+ Add(Derefof(Index(pb60, 10)), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 51, Local0, 0xfe7cb391d650a5a5)
+ }
+
+ // Add, 32-bit
+ Method(m03d, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Add(Derefof(Index(pb60, 10)), 0), Local0)
+ m600(arg0, 0, Local0, 0xd650a284)
+
+ Store(Add(Derefof(Index(pb60, 10)), 1), Local0)
+ m600(arg0, 1, Local0, 0xd650a285)
+
+ Store(Add(Derefof(Index(pb60, 10)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xd650a284)
+
+ Store(Add(Derefof(Index(pb60, 10)), aui6), Local0)
+ m600(arg0, 3, Local0, 0xd650a285)
+
+ if (y078) {
+ Store(Add(Derefof(Index(pb60, 10)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xd650a284)
+
+ Store(Add(Derefof(Index(pb60, 10)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xd650a285)
+ }
+
+ Store(Add(Derefof(Index(pb60, 10)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xd650a284)
+
+ Store(Add(Derefof(Index(pb60, 10)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xd650a285)
+
+ // Method returns Integer
+
+ Store(Add(Derefof(Index(pb60, 10)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xd650a284)
+
+ Store(Add(Derefof(Index(pb60, 10)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xd650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(Derefof(Index(pb60, 10)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xd650a284)
+
+ Store(Add(Derefof(Index(pb60, 10)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xd650a285)
+ }
+
+ Add(Derefof(Index(pb60, 10)), 0, Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ Add(Derefof(Index(pb60, 10)), 1, Local0)
+ m600(arg0, 13, Local0, 0xd650a285)
+
+ Add(Derefof(Index(pb60, 10)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xd650a284)
+
+ Add(Derefof(Index(pb60, 10)), aui6, Local0)
+ m600(arg0, 15, Local0, 0xd650a285)
+
+ if (y078) {
+ Add(Derefof(Index(pb60, 10)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xd650a284)
+
+ Add(Derefof(Index(pb60, 10)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xd650a285)
+ }
+
+ Add(Derefof(Index(pb60, 10)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xd650a284)
+
+ Add(Derefof(Index(pb60, 10)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xd650a285)
+
+ // Method returns Integer
+
+ Add(Derefof(Index(pb60, 10)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xd650a284)
+
+ Add(Derefof(Index(pb60, 10)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xd650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(Derefof(Index(pb60, 10)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xd650a284)
+
+ Add(Derefof(Index(pb60, 10)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xd650a285)
+ }
+
+ // Conversion of the second operand
+
+ Store(Add(0, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 24, Local0, 0xd650a284)
+
+ Store(Add(1, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 25, Local0, 0xd650a285)
+
+ Store(Add(aui5, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 26, Local0, 0xd650a284)
+
+ Store(Add(aui6, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 27, Local0, 0xd650a285)
+
+ if (y078) {
+ Store(Add(Derefof(Refof(aui5)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 28, Local0, 0xd650a284)
+
+ Store(Add(Derefof(Refof(aui6)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 29, Local0, 0xd650a285)
+ }
+
+ Store(Add(Derefof(Index(paui, 5)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 30, Local0, 0xd650a284)
+
+ Store(Add(Derefof(Index(paui, 6)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 31, Local0, 0xd650a285)
+
+ // Method returns Integer
+
+ Store(Add(m601(1, 5), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 32, Local0, 0xd650a284)
+
+ Store(Add(m601(1, 6), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 33, Local0, 0xd650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(Derefof(m602(1, 5, 1)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 34, Local0, 0xd650a284)
+
+ Store(Add(Derefof(m602(1, 6, 1)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 35, Local0, 0xd650a285)
+ }
+
+ Add(0, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 36, Local0, 0xd650a284)
+
+ Add(1, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 37, Local0, 0xd650a285)
+
+ Add(aui5, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 38, Local0, 0xd650a284)
+
+ Add(aui6, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 39, Local0, 0xd650a285)
+
+ if (y078) {
+ Add(Derefof(Refof(aui5)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 40, Local0, 0xd650a284)
+
+ Add(Derefof(Refof(aui6)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 41, Local0, 0xd650a285)
+ }
+
+ Add(Derefof(Index(paui, 5)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 42, Local0, 0xd650a284)
+
+ Add(Derefof(Index(paui, 6)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 43, Local0, 0xd650a285)
+
+ // Method returns Integer
+
+ Add(m601(1, 5), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 44, Local0, 0xd650a284)
+
+ Add(m601(1, 6), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 45, Local0, 0xd650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(Derefof(m602(1, 5, 1)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 46, Local0, 0xd650a284)
+
+ Add(Derefof(m602(1, 6, 1)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 47, Local0, 0xd650a285)
+ }
+
+ // Conversion of the both operands
+
+ Store(Add(Derefof(Index(pb60, 6)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 48, Local0, 0xd650a5a5)
+
+ Store(Add(Derefof(Index(pb60, 10)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 49, Local0, 0xd650a5a5)
+
+ Add(Derefof(Index(pb60, 6)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 50, Local0, 0xd650a5a5)
+
+ Add(Derefof(Index(pb60, 10)), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 51, Local0, 0xd650a5a5)
+ }
+
+ // And, common 32-bit/64-bit test
+ Method(m03e, 1)
+ {
+ // Conversion of the first operand
+
+ Store(And(Derefof(Index(pb60, 6)), 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(And(Derefof(Index(pb60, 6)), 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0x321)
+
+ Store(And(Derefof(Index(pb60, 6)), aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(And(Derefof(Index(pb60, 6)), auij), Local0)
+ m600(arg0, 3, Local0, 0x321)
+
+ if (y078) {
+ Store(And(Derefof(Index(pb60, 6)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(And(Derefof(Index(pb60, 6)), Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0x321)
+ }
+
+ Store(And(Derefof(Index(pb60, 6)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(And(Derefof(Index(pb60, 6)), Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0x321)
+
+ // Method returns Integer
+
+ Store(And(Derefof(Index(pb60, 6)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(And(Derefof(Index(pb60, 6)), m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(Derefof(Index(pb60, 6)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(And(Derefof(Index(pb60, 6)), Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0x321)
+ }
+
+ And(Derefof(Index(pb60, 6)), 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ And(Derefof(Index(pb60, 6)), 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0x321)
+
+ And(Derefof(Index(pb60, 6)), aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ And(Derefof(Index(pb60, 6)), auij, Local0)
+ m600(arg0, 15, Local0, 0x321)
+
+ if (y078) {
+ And(Derefof(Index(pb60, 6)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ And(Derefof(Index(pb60, 6)), Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0x321)
+ }
+
+ And(Derefof(Index(pb60, 6)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ And(Derefof(Index(pb60, 6)), Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0x321)
+
+ // Method returns Integer
+
+ And(Derefof(Index(pb60, 6)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ And(Derefof(Index(pb60, 6)), m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(Derefof(Index(pb60, 6)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ And(Derefof(Index(pb60, 6)), Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0x321)
+ }
+
+ // Conversion of the second operand
+
+ Store(And(0, Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(And(0xffffffffffffffff, Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 25, Local0, 0x321)
+
+ Store(And(aui5, Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(And(auij, Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 27, Local0, 0x321)
+
+ if (y078) {
+ Store(And(Derefof(Refof(aui5)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(And(Derefof(Refof(auij)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 29, Local0, 0x321)
+ }
+
+ Store(And(Derefof(Index(paui, 5)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(And(Derefof(Index(paui, 19)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 31, Local0, 0x321)
+
+ // Method returns Integer
+
+ Store(And(m601(1, 5), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(And(m601(1, 19), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 33, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(Derefof(m602(1, 5, 1)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(And(Derefof(m602(1, 19, 1)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 35, Local0, 0x321)
+ }
+
+ And(0, Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ And(0xffffffffffffffff, Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 37, Local0, 0x321)
+
+ And(aui5, Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ And(auij, Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 39, Local0, 0x321)
+
+ if (y078) {
+ And(Derefof(Refof(aui5)), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ And(Derefof(Refof(auij)), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 41, Local0, 0x321)
+ }
+
+ And(Derefof(Index(paui, 5)), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ And(Derefof(Index(paui, 19)), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 43, Local0, 0x321)
+
+ // Method returns Integer
+
+ And(m601(1, 5), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ And(m601(1, 19), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 45, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(Derefof(m602(1, 5, 1)), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ And(Derefof(m602(1, 19, 1)), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 47, Local0, 0x321)
+ }
+ }
+
+ // And, 64-bit
+ Method(m03f, 1)
+ {
+ // Conversion of the first operand
+
+ Store(And(Derefof(Index(pb60, 10)), 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(And(Derefof(Index(pb60, 10)), 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xfe7cb391d650a284)
+
+ Store(And(Derefof(Index(pb60, 10)), aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(And(Derefof(Index(pb60, 10)), auij), Local0)
+ m600(arg0, 3, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Store(And(Derefof(Index(pb60, 10)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(And(Derefof(Index(pb60, 10)), Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xfe7cb391d650a284)
+ }
+
+ Store(And(Derefof(Index(pb60, 10)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(And(Derefof(Index(pb60, 10)), Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Store(And(Derefof(Index(pb60, 10)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(And(Derefof(Index(pb60, 10)), m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(Derefof(Index(pb60, 10)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(And(Derefof(Index(pb60, 10)), Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfe7cb391d650a284)
+ }
+
+ And(Derefof(Index(pb60, 10)), 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ And(Derefof(Index(pb60, 10)), 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a284)
+
+ And(Derefof(Index(pb60, 10)), aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ And(Derefof(Index(pb60, 10)), auij, Local0)
+ m600(arg0, 15, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ And(Derefof(Index(pb60, 10)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ And(Derefof(Index(pb60, 10)), Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xfe7cb391d650a284)
+ }
+
+ And(Derefof(Index(pb60, 10)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ And(Derefof(Index(pb60, 10)), Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ And(Derefof(Index(pb60, 10)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ And(Derefof(Index(pb60, 10)), m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(Derefof(Index(pb60, 10)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ And(Derefof(Index(pb60, 10)), Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfe7cb391d650a284)
+ }
+
+ // Conversion of the second operand
+
+ Store(And(0, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(And(0xffffffffffffffff, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 25, Local0, 0xfe7cb391d650a284)
+
+ Store(And(aui5, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(And(auij, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 27, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Store(And(Derefof(Refof(aui5)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(And(Derefof(Refof(auij)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 29, Local0, 0xfe7cb391d650a284)
+ }
+
+ Store(And(Derefof(Index(paui, 5)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(And(Derefof(Index(paui, 19)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 31, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Store(And(m601(1, 5), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(And(m601(1, 19), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 33, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(Derefof(m602(1, 5, 1)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(And(Derefof(m602(1, 19, 1)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 35, Local0, 0xfe7cb391d650a284)
+ }
+
+ And(0, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ And(0xffffffffffffffff, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 37, Local0, 0xfe7cb391d650a284)
+
+ And(aui5, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ And(auij, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 39, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ And(Derefof(Refof(aui5)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ And(Derefof(Refof(auij)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 41, Local0, 0xfe7cb391d650a284)
+ }
+
+ And(Derefof(Index(paui, 5)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ And(Derefof(Index(paui, 19)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 43, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ And(m601(1, 5), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ And(m601(1, 19), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 45, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(Derefof(m602(1, 5, 1)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ And(Derefof(m602(1, 19, 1)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 47, Local0, 0xfe7cb391d650a284)
+ }
+
+ // Conversion of the both operands
+
+ Store(And(Derefof(Index(pb60, 6)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 48, Local0, 0x200)
+
+ Store(And(Derefof(Index(pb60, 10)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 49, Local0, 0x200)
+
+ And(Derefof(Index(pb60, 6)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 50, Local0, 0x200)
+
+ And(Derefof(Index(pb60, 10)), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 51, Local0, 0x200)
+ }
+
+ // And, 32-bit
+ Method(m040, 1)
+ {
+ // Conversion of the first operand
+
+ Store(And(Derefof(Index(pb60, 10)), 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(And(Derefof(Index(pb60, 10)), 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0xd650a284)
+
+ Store(And(Derefof(Index(pb60, 10)), aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(And(Derefof(Index(pb60, 10)), auii), Local0)
+ m600(arg0, 3, Local0, 0xd650a284)
+
+ if (y078) {
+ Store(And(Derefof(Index(pb60, 10)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(And(Derefof(Index(pb60, 10)), Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0xd650a284)
+ }
+
+ Store(And(Derefof(Index(pb60, 10)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(And(Derefof(Index(pb60, 10)), Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0xd650a284)
+
+ // Method returns Integer
+
+ Store(And(Derefof(Index(pb60, 10)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(And(Derefof(Index(pb60, 10)), m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0xd650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(Derefof(Index(pb60, 10)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(And(Derefof(Index(pb60, 10)), Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0xd650a284)
+ }
+
+ And(Derefof(Index(pb60, 10)), 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ And(Derefof(Index(pb60, 10)), 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0xd650a284)
+
+ And(Derefof(Index(pb60, 10)), aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ And(Derefof(Index(pb60, 10)), auii, Local0)
+ m600(arg0, 15, Local0, 0xd650a284)
+
+ if (y078) {
+ And(Derefof(Index(pb60, 10)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ And(Derefof(Index(pb60, 10)), Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0xd650a284)
+ }
+
+ And(Derefof(Index(pb60, 10)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ And(Derefof(Index(pb60, 10)), Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0xd650a284)
+
+ // Method returns Integer
+
+ And(Derefof(Index(pb60, 10)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ And(Derefof(Index(pb60, 10)), m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0xd650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(Derefof(Index(pb60, 10)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ And(Derefof(Index(pb60, 10)), Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0xd650a284)
+ }
+
+ // Conversion of the second operand
+
+ Store(And(0, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(And(0xffffffff, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 25, Local0, 0xd650a284)
+
+ Store(And(aui5, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(And(auii, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 27, Local0, 0xd650a284)
+
+ if (y078) {
+ Store(And(Derefof(Refof(aui5)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(And(Derefof(Refof(auii)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 29, Local0, 0xd650a284)
+ }
+
+ Store(And(Derefof(Index(paui, 5)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(And(Derefof(Index(paui, 18)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 31, Local0, 0xd650a284)
+
+ // Method returns Integer
+
+ Store(And(m601(1, 5), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(And(m601(1, 18), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 33, Local0, 0xd650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(Derefof(m602(1, 5, 1)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(And(Derefof(m602(1, 18, 1)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 35, Local0, 0xd650a284)
+ }
+
+ And(0, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ And(0xffffffff, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 37, Local0, 0xd650a284)
+
+ And(aui5, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ And(auii, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 39, Local0, 0xd650a284)
+
+ if (y078) {
+ And(Derefof(Refof(aui5)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ And(Derefof(Refof(auii)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 41, Local0, 0xd650a284)
+ }
+
+ And(Derefof(Index(paui, 5)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ And(Derefof(Index(paui, 18)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 43, Local0, 0xd650a284)
+
+ // Method returns Integer
+
+ And(m601(1, 5), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ And(m601(1, 18), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 45, Local0, 0xd650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(Derefof(m602(1, 5, 1)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ And(Derefof(m602(1, 18, 1)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 47, Local0, 0xd650a284)
+ }
+
+ // Conversion of the both operands
+
+ Store(And(Derefof(Index(pb60, 6)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 48, Local0, 0x200)
+
+ Store(And(Derefof(Index(pb60, 10)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 49, Local0, 0x200)
+
+ And(Derefof(Index(pb60, 6)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 50, Local0, 0x200)
+
+ And(Derefof(Index(pb60, 10)), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 51, Local0, 0x200)
+ }
+
+ // Divide, common 32-bit/64-bit test
+ Method(m041, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Divide(Derefof(Index(pb60, 6)), 1), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Divide(Derefof(Index(pb60, 6)), 0x321), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Divide(Derefof(Index(pb60, 6)), aui6), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Divide(Derefof(Index(pb60, 6)), aui1), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Divide(Derefof(Index(pb60, 6)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Divide(Derefof(Index(pb60, 6)), Derefof(Refof(aui1))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Divide(Derefof(Index(pb60, 6)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Divide(Derefof(Index(pb60, 6)), Derefof(Index(paui, 1))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(Derefof(Index(pb60, 6)), m601(1, 6)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Divide(Derefof(Index(pb60, 6)), m601(1, 1)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(Derefof(Index(pb60, 6)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Divide(Derefof(Index(pb60, 6)), Derefof(m602(1, 1, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Divide(Derefof(Index(pb60, 6)), 1, Local1, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Divide(Derefof(Index(pb60, 6)), 0x321, Local1, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Divide(Derefof(Index(pb60, 6)), aui6, Local1, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Divide(Derefof(Index(pb60, 6)), aui1, Local1, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Divide(Derefof(Index(pb60, 6)), Derefof(Refof(aui6)), Local1, Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Divide(Derefof(Index(pb60, 6)), Derefof(Refof(aui1)), Local1, Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Divide(Derefof(Index(pb60, 6)), Derefof(Index(paui, 6)), Local1, Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Divide(Derefof(Index(pb60, 6)), Derefof(Index(paui, 1)), Local1, Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(Derefof(Index(pb60, 6)), m601(1, 6), Local1, Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Divide(Derefof(Index(pb60, 6)), m601(1, 1), Local1, Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(Derefof(Index(pb60, 6)), Derefof(m602(1, 6, 1)), Local1, Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Divide(Derefof(Index(pb60, 6)), Derefof(m602(1, 1, 1)), Local1, Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Divide(1, Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Divide(0x321, Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 25, Local0, 1)
+
+ Store(Divide(aui6, Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Divide(aui1, Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 27, Local0, 1)
+
+ if (y078) {
+ Store(Divide(Derefof(Refof(aui6)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Divide(Derefof(Refof(aui1)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 29, Local0, 1)
+ }
+
+ Store(Divide(Derefof(Index(paui, 6)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Divide(Derefof(Index(paui, 1)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 31, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(m601(1, 6), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Divide(m601(1, 1), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 33, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(Derefof(m602(1, 6, 1)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Divide(Derefof(m602(1, 1, 1)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 35, Local0, 1)
+ }
+
+ Divide(1, Derefof(Index(pb60, 6)), Local1, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Divide(0x321, Derefof(Index(pb60, 6)), Local1, Local0)
+ m600(arg0, 37, Local0, 1)
+
+ Divide(aui6, Derefof(Index(pb60, 6)), Local1, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Divide(aui1, Derefof(Index(pb60, 6)), Local1, Local0)
+ m600(arg0, 39, Local0, 1)
+
+ if (y078) {
+ Divide(Derefof(Refof(aui6)), Derefof(Index(pb60, 6)), Local1, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Divide(Derefof(Refof(aui1)), Derefof(Index(pb60, 6)), Local1, Local0)
+ m600(arg0, 41, Local0, 1)
+ }
+
+ Divide(Derefof(Index(paui, 6)), Derefof(Index(pb60, 6)), Local1, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Divide(Derefof(Index(paui, 1)), Derefof(Index(pb60, 6)), Local1, Local0)
+ m600(arg0, 43, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(m601(1, 6), Derefof(Index(pb60, 6)), Local1, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Divide(m601(1, 1), Derefof(Index(pb60, 6)), Local1, Local0)
+ m600(arg0, 45, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(Derefof(m602(1, 6, 1)), Derefof(Index(pb60, 6)), Local1, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Divide(Derefof(m602(1, 1, 1)), Derefof(Index(pb60, 6)), Local1, Local0)
+ m600(arg0, 47, Local0, 1)
+ }
+ }
+
+ // Divide, 64-bit
+ Method(m042, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Divide(Derefof(Index(pb60, 10)), 1), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(Derefof(Index(pb60, 10)), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Divide(Derefof(Index(pb60, 10)), aui6), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(Derefof(Index(pb60, 10)), aui4), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Divide(Derefof(Index(pb60, 10)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(Derefof(Index(pb60, 10)), Derefof(Refof(aui4))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Divide(Derefof(Index(pb60, 10)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(Derefof(Index(pb60, 10)), Derefof(Index(paui, 4))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(Derefof(Index(pb60, 10)), m601(1, 6)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(Derefof(Index(pb60, 10)), m601(1, 4)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(Derefof(Index(pb60, 10)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(Derefof(Index(pb60, 10)), Derefof(m602(1, 4, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Divide(Derefof(Index(pb60, 10)), 1, Local1, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Divide(Derefof(Index(pb60, 10)), 0xfe7cb391d650a284, Local1, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Divide(Derefof(Index(pb60, 10)), aui6, Local1, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Divide(Derefof(Index(pb60, 10)), aui4, Local1, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Divide(Derefof(Index(pb60, 10)), Derefof(Refof(aui6)), Local1, Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Divide(Derefof(Index(pb60, 10)), Derefof(Refof(aui4)), Local1, Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Divide(Derefof(Index(pb60, 10)), Derefof(Index(paui, 6)), Local1, Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Divide(Derefof(Index(pb60, 10)), Derefof(Index(paui, 4)), Local1, Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(Derefof(Index(pb60, 10)), m601(1, 6), Local1, Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Divide(Derefof(Index(pb60, 10)), m601(1, 4), Local1, Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(Derefof(Index(pb60, 10)), Derefof(m602(1, 6, 1)), Local1, Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Divide(Derefof(Index(pb60, 10)), Derefof(m602(1, 4, 1)), Local1, Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Divide(1, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Divide(0xfe7cb391d650a284, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 25, Local0, 1)
+
+ Store(Divide(aui6, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Divide(aui4, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 27, Local0, 1)
+
+ if (y078) {
+ Store(Divide(Derefof(Refof(aui6)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Divide(Derefof(Refof(aui4)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 29, Local0, 1)
+ }
+
+ Store(Divide(Derefof(Index(paui, 6)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Divide(Derefof(Index(paui, 4)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 31, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(m601(1, 6), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Divide(m601(1, 4), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 33, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(Derefof(m602(1, 6, 1)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Divide(Derefof(m602(1, 4, 1)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 35, Local0, 1)
+ }
+
+ Divide(1, Derefof(Index(pb60, 10)), Local1, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Divide(0xfe7cb391d650a284, Derefof(Index(pb60, 10)), Local1, Local0)
+ m600(arg0, 37, Local0, 1)
+
+ Divide(aui6, Derefof(Index(pb60, 10)), Local1, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Divide(aui4, Derefof(Index(pb60, 10)), Local1, Local0)
+ m600(arg0, 39, Local0, 1)
+
+ if (y078) {
+ Divide(Derefof(Refof(aui6)), Derefof(Index(pb60, 10)), Local1, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Divide(Derefof(Refof(aui4)), Derefof(Index(pb60, 10)), Local1, Local0)
+ m600(arg0, 41, Local0, 1)
+ }
+
+ Divide(Derefof(Index(paui, 6)), Derefof(Index(pb60, 10)), Local1, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Divide(Derefof(Index(paui, 4)), Derefof(Index(pb60, 10)), Local1, Local0)
+ m600(arg0, 43, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(m601(1, 6), Derefof(Index(pb60, 10)), Local1, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Divide(m601(1, 4), Derefof(Index(pb60, 10)), Local1, Local0)
+ m600(arg0, 45, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(Derefof(m602(1, 6, 1)), Derefof(Index(pb60, 10)), Local1, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Divide(Derefof(m602(1, 4, 1)), Derefof(Index(pb60, 10)), Local1, Local0)
+ m600(arg0, 47, Local0, 1)
+ }
+
+ // Conversion of the both operands
+
+ Store(Divide(Derefof(Index(pb60, 6)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 48, Local0, 0)
+
+ Store(Divide(Derefof(Index(pb60, 10)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 49, Local0, 0x0051558eb950f5a7)
+
+ Divide(Derefof(Index(pb60, 6)), Derefof(Index(pb60, 10)), Local1, Local0)
+ m600(arg0, 50, Local0, 0)
+
+ Divide(Derefof(Index(pb60, 10)), Derefof(Index(pb60, 6)), Local1, Local0)
+ m600(arg0, 51, Local0, 0x0051558eb950f5a7)
+ }
+
+ // Divide, 32-bit
+ Method(m043, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Divide(Derefof(Index(pb60, 10)), 1), Local0)
+ m600(arg0, 0, Local0, 0xd650a284)
+
+ Store(Divide(Derefof(Index(pb60, 10)), 0xd650a284), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Divide(Derefof(Index(pb60, 10)), aui6), Local0)
+ m600(arg0, 2, Local0, 0xd650a284)
+
+ Store(Divide(Derefof(Index(pb60, 10)), auik), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Divide(Derefof(Index(pb60, 10)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 4, Local0, 0xd650a284)
+
+ Store(Divide(Derefof(Index(pb60, 10)), Derefof(Refof(auik))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Divide(Derefof(Index(pb60, 10)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 6, Local0, 0xd650a284)
+
+ Store(Divide(Derefof(Index(pb60, 10)), Derefof(Index(paui, 20))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(Derefof(Index(pb60, 10)), m601(1, 6)), Local0)
+ m600(arg0, 8, Local0, 0xd650a284)
+
+ Store(Divide(Derefof(Index(pb60, 10)), m601(1, 20)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(Derefof(Index(pb60, 10)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 10, Local0, 0xd650a284)
+
+ Store(Divide(Derefof(Index(pb60, 10)), Derefof(m602(1, 20, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Divide(Derefof(Index(pb60, 10)), 1, Local1, Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ Divide(Derefof(Index(pb60, 10)), 0xd650a284, Local1, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Divide(Derefof(Index(pb60, 10)), aui6, Local1, Local0)
+ m600(arg0, 14, Local0, 0xd650a284)
+
+ Divide(Derefof(Index(pb60, 10)), auik, Local1, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Divide(Derefof(Index(pb60, 10)), Derefof(Refof(aui6)), Local1, Local0)
+ m600(arg0, 16, Local0, 0xd650a284)
+
+ Divide(Derefof(Index(pb60, 10)), Derefof(Refof(auik)), Local1, Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Divide(Derefof(Index(pb60, 10)), Derefof(Index(paui, 6)), Local1, Local0)
+ m600(arg0, 18, Local0, 0xd650a284)
+
+ Divide(Derefof(Index(pb60, 10)), Derefof(Index(paui, 20)), Local1, Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(Derefof(Index(pb60, 10)), m601(1, 6), Local1, Local0)
+ m600(arg0, 20, Local0, 0xd650a284)
+
+ Divide(Derefof(Index(pb60, 10)), m601(1, 20), Local1, Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(Derefof(Index(pb60, 10)), Derefof(m602(1, 6, 1)), Local1, Local0)
+ m600(arg0, 22, Local0, 0xd650a284)
+
+ Divide(Derefof(Index(pb60, 10)), Derefof(m602(1, 20, 1)), Local1, Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Divide(1, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Divide(0xd650a284, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 25, Local0, 1)
+
+ Store(Divide(aui6, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Divide(auik, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 27, Local0, 1)
+
+ if (y078) {
+ Store(Divide(Derefof(Refof(aui6)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Divide(Derefof(Refof(auik)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 29, Local0, 1)
+ }
+
+ Store(Divide(Derefof(Index(paui, 6)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Divide(Derefof(Index(paui, 20)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 31, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(m601(1, 6), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Divide(m601(1, 20), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 33, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(Derefof(m602(1, 6, 1)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Divide(Derefof(m602(1, 20, 1)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 35, Local0, 1)
+ }
+
+ Divide(1, Derefof(Index(pb60, 10)), Local1, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Divide(0xd650a284, Derefof(Index(pb60, 10)), Local1, Local0)
+ m600(arg0, 37, Local0, 1)
+
+ Divide(aui6, Derefof(Index(pb60, 10)), Local1, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Divide(auik, Derefof(Index(pb60, 10)), Local1, Local0)
+ m600(arg0, 39, Local0, 1)
+
+ if (y078) {
+ Divide(Derefof(Refof(aui6)), Derefof(Index(pb60, 10)), Local1, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Divide(Derefof(Refof(auik)), Derefof(Index(pb60, 10)), Local1, Local0)
+ m600(arg0, 41, Local0, 1)
+ }
+
+ Divide(Derefof(Index(paui, 6)), Derefof(Index(pb60, 10)), Local1, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Divide(Derefof(Index(paui, 20)), Derefof(Index(pb60, 10)), Local1, Local0)
+ m600(arg0, 43, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(m601(1, 6), Derefof(Index(pb60, 10)), Local1, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Divide(m601(1, 20), Derefof(Index(pb60, 10)), Local1, Local0)
+ m600(arg0, 45, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(Derefof(m602(1, 6, 1)), Derefof(Index(pb60, 10)), Local1, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Divide(Derefof(m602(1, 20, 1)), Derefof(Index(pb60, 10)), Local1, Local0)
+ m600(arg0, 47, Local0, 1)
+ }
+
+ // Conversion of the both operands
+
+ Store(Divide(Derefof(Index(pb60, 6)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 48, Local0, 0)
+
+ Store(Divide(Derefof(Index(pb60, 10)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 49, Local0, 0x00447ec3)
+
+ Divide(Derefof(Index(pb60, 6)), Derefof(Index(pb60, 10)), Local1, Local0)
+ m600(arg0, 50, Local0, 0)
+
+ Divide(Derefof(Index(pb60, 10)), Derefof(Index(pb60, 6)), Local1, Local0)
+ m600(arg0, 51, Local0, 0x00447ec3)
+ }
+
+ // Mod, common 32-bit/64-bit test
+ Method(m044, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Mod(Derefof(Index(pb60, 6)), 0x322), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Mod(Derefof(Index(pb60, 6)), 0x320), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Mod(Derefof(Index(pb60, 6)), auig), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Mod(Derefof(Index(pb60, 6)), auih), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Mod(Derefof(Index(pb60, 6)), Derefof(Refof(auig))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Mod(Derefof(Index(pb60, 6)), Derefof(Refof(auih))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Mod(Derefof(Index(pb60, 6)), Derefof(Index(paui, 16))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Mod(Derefof(Index(pb60, 6)), Derefof(Index(paui, 17))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Mod(Derefof(Index(pb60, 6)), m601(1, 16)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Mod(Derefof(Index(pb60, 6)), m601(1, 17)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(Derefof(Index(pb60, 6)), Derefof(m602(1, 16, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Mod(Derefof(Index(pb60, 6)), Derefof(m602(1, 17, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Mod(Derefof(Index(pb60, 6)), 0x322, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Mod(Derefof(Index(pb60, 6)), 0x320, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Mod(Derefof(Index(pb60, 6)), auig, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Mod(Derefof(Index(pb60, 6)), auih, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Mod(Derefof(Index(pb60, 6)), Derefof(Refof(auig)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Mod(Derefof(Index(pb60, 6)), Derefof(Refof(auih)), Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Mod(Derefof(Index(pb60, 6)), Derefof(Index(paui, 16)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Mod(Derefof(Index(pb60, 6)), Derefof(Index(paui, 17)), Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Mod(Derefof(Index(pb60, 6)), m601(1, 16), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Mod(Derefof(Index(pb60, 6)), m601(1, 17), Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(Derefof(Index(pb60, 6)), Derefof(m602(1, 16, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Mod(Derefof(Index(pb60, 6)), Derefof(m602(1, 17, 1)), Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Mod(0x322, Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 24, Local0, 1)
+
+ Store(Mod(0x320, Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 25, Local0, 0x320)
+
+ Store(Mod(auig, Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 26, Local0, 1)
+
+ Store(Mod(auih, Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 27, Local0, 0x320)
+
+ if (y078) {
+ Store(Mod(Derefof(Refof(auig)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 28, Local0, 1)
+
+ Store(Mod(Derefof(Refof(auih)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 29, Local0, 0x320)
+ }
+
+ Store(Mod(Derefof(Index(paui, 16)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 30, Local0, 1)
+
+ Store(Mod(Derefof(Index(paui, 17)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 31, Local0, 0x320)
+
+ // Method returns Integer
+
+ Store(Mod(m601(1, 16), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 32, Local0, 1)
+
+ Store(Mod(m601(1, 17), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 33, Local0, 0x320)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(Derefof(m602(1, 16, 1)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 34, Local0, 1)
+
+ Store(Mod(Derefof(m602(1, 17, 1)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 35, Local0, 0x320)
+ }
+
+ Mod(0x322, Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 36, Local0, 1)
+
+ Mod(0x320, Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 37, Local0, 0x320)
+
+ Mod(auig, Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 38, Local0, 1)
+
+ Mod(auih, Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 39, Local0, 0x320)
+
+ if (y078) {
+ Mod(Derefof(Refof(auig)), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 40, Local0, 1)
+
+ Mod(Derefof(Refof(auih)), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 41, Local0, 0x320)
+ }
+
+ Mod(Derefof(Index(paui, 16)), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 42, Local0, 1)
+
+ Mod(Derefof(Index(paui, 17)), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 43, Local0, 0x320)
+
+ // Method returns Integer
+
+ Mod(m601(1, 16), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 44, Local0, 1)
+
+ Mod(m601(1, 17), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 45, Local0, 0x320)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(Derefof(m602(1, 16, 1)), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 46, Local0, 1)
+
+ Mod(Derefof(m602(1, 17, 1)), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 47, Local0, 0x320)
+ }
+ }
+
+ // Mod, 64-bit
+ Method(m045, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Mod(Derefof(Index(pb60, 10)), 0xfe7cb391d650a285), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(Derefof(Index(pb60, 10)), 0xfe7cb391d650a283), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Mod(Derefof(Index(pb60, 10)), auid), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(Derefof(Index(pb60, 10)), auif), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Mod(Derefof(Index(pb60, 10)), Derefof(Refof(auid))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(Derefof(Index(pb60, 10)), Derefof(Refof(auif))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Mod(Derefof(Index(pb60, 10)), Derefof(Index(paui, 13))), Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(Derefof(Index(pb60, 10)), Derefof(Index(paui, 15))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Mod(Derefof(Index(pb60, 10)), m601(1, 13)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(Derefof(Index(pb60, 10)), m601(1, 15)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(Derefof(Index(pb60, 10)), Derefof(m602(1, 13, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(Derefof(Index(pb60, 10)), Derefof(m602(1, 15, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Mod(Derefof(Index(pb60, 10)), 0xfe7cb391d650a285, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Mod(Derefof(Index(pb60, 10)), 0xfe7cb391d650a283, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Mod(Derefof(Index(pb60, 10)), auid, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Mod(Derefof(Index(pb60, 10)), auif, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Mod(Derefof(Index(pb60, 10)), Derefof(Refof(auid)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Mod(Derefof(Index(pb60, 10)), Derefof(Refof(auif)), Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Mod(Derefof(Index(pb60, 10)), Derefof(Index(paui, 13)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Mod(Derefof(Index(pb60, 10)), Derefof(Index(paui, 15)), Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Mod(Derefof(Index(pb60, 10)), m601(1, 13), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Mod(Derefof(Index(pb60, 10)), m601(1, 15), Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(Derefof(Index(pb60, 10)), Derefof(m602(1, 13, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Mod(Derefof(Index(pb60, 10)), Derefof(m602(1, 15, 1)), Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Mod(0xfe7cb391d650a285, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 24, Local0, 1)
+
+ Store(Mod(0xfe7cb391d650a283, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 25, Local0, 0xfe7cb391d650a283)
+
+ Store(Mod(auid, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 26, Local0, 1)
+
+ Store(Mod(auif, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 27, Local0, 0xfe7cb391d650a283)
+
+ if (y078) {
+ Store(Mod(Derefof(Refof(auid)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 28, Local0, 1)
+
+ Store(Mod(Derefof(Refof(auif)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 29, Local0, 0xfe7cb391d650a283)
+ }
+
+ Store(Mod(Derefof(Index(paui, 13)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 30, Local0, 1)
+
+ Store(Mod(Derefof(Index(paui, 15)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 31, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Integer
+
+ Store(Mod(m601(1, 13), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 32, Local0, 1)
+
+ Store(Mod(m601(1, 15), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 33, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(Derefof(m602(1, 13, 1)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 34, Local0, 1)
+
+ Store(Mod(Derefof(m602(1, 15, 1)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 35, Local0, 0xfe7cb391d650a283)
+ }
+
+ Mod(0xfe7cb391d650a285, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 36, Local0, 1)
+
+ Mod(0xfe7cb391d650a283, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 37, Local0, 0xfe7cb391d650a283)
+
+ Mod(auid, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 38, Local0, 1)
+
+ Mod(auif, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 39, Local0, 0xfe7cb391d650a283)
+
+ if (y078) {
+ Mod(Derefof(Refof(auid)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 40, Local0, 1)
+
+ Mod(Derefof(Refof(auif)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 41, Local0, 0xfe7cb391d650a283)
+ }
+
+ Mod(Derefof(Index(paui, 13)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 42, Local0, 1)
+
+ Mod(Derefof(Index(paui, 15)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 43, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Integer
+
+ Mod(m601(1, 13), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 44, Local0, 1)
+
+ Mod(m601(1, 15), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 45, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(Derefof(m602(1, 13, 1)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 46, Local0, 1)
+
+ Mod(Derefof(m602(1, 15, 1)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 47, Local0, 0xfe7cb391d650a283)
+ }
+
+ // Conversion of the both operands
+
+ Store(Mod(Derefof(Index(pb60, 6)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 48, Local0, 0x321)
+
+ Store(Mod(Derefof(Index(pb60, 10)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 49, Local0, 0x2fd)
+
+ Mod(Derefof(Index(pb60, 6)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 50, Local0, 0x321)
+
+ Mod(Derefof(Index(pb60, 10)), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 51, Local0, 0x2fd)
+ }
+
+ // Mod, 32-bit
+ Method(m046, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Mod(Derefof(Index(pb60, 10)), 0xd650a285), Local0)
+ m600(arg0, 0, Local0, 0xd650a284)
+
+ Store(Mod(Derefof(Index(pb60, 10)), 0xd650a283), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Mod(Derefof(Index(pb60, 10)), auil), Local0)
+ m600(arg0, 2, Local0, 0xd650a284)
+
+ Store(Mod(Derefof(Index(pb60, 10)), auim), Local0)
+ m600(arg0, 14, Local0, 1)
+
+ if (y078) {
+ Store(Mod(Derefof(Index(pb60, 10)), Derefof(Refof(auil))), Local0)
+ m600(arg0, 4, Local0, 0xd650a284)
+
+ Store(Mod(Derefof(Index(pb60, 10)), Derefof(Refof(auim))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Mod(Derefof(Index(pb60, 10)), Derefof(Index(paui, 21))), Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ Store(Mod(Derefof(Index(pb60, 10)), Derefof(Index(paui, 22))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Mod(Derefof(Index(pb60, 10)), m601(1, 21)), Local0)
+ m600(arg0, 8, Local0, 0xd650a284)
+
+ Store(Mod(Derefof(Index(pb60, 10)), m601(1, 22)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(Derefof(Index(pb60, 10)), Derefof(m601(1, 21, 1))), Local0)
+ m600(arg0, 10, Local0, 0xd650a284)
+
+ Store(Mod(Derefof(Index(pb60, 10)), Derefof(m601(1, 22, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Mod(Derefof(Index(pb60, 10)), 0xd650a285, Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ Mod(Derefof(Index(pb60, 10)), 0xd650a283, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Mod(Derefof(Index(pb60, 10)), auil, Local0)
+ m600(arg0, 14, Local0, 0xd650a284)
+
+ Mod(Derefof(Index(pb60, 10)), auim, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Mod(Derefof(Index(pb60, 10)), Derefof(Refof(auil)), Local0)
+ m600(arg0, 16, Local0, 0xd650a284)
+
+ Mod(Derefof(Index(pb60, 10)), Derefof(Refof(auim)), Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Mod(Derefof(Index(pb60, 10)), Derefof(Index(paui, 21)), Local0)
+ m600(arg0, 18, Local0, 0xd650a284)
+
+ Mod(Derefof(Index(pb60, 10)), Derefof(Index(paui, 22)), Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Mod(Derefof(Index(pb60, 10)), m601(1, 21), Local0)
+ m600(arg0, 20, Local0, 0xd650a284)
+
+ Mod(Derefof(Index(pb60, 10)), m601(1, 22), Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(Derefof(Index(pb60, 10)), Derefof(m601(1, 21, 1)), Local0)
+ m600(arg0, 22, Local0, 0xd650a284)
+
+ Mod(Derefof(Index(pb60, 10)), Derefof(m601(1, 22, 1)), Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Mod(0xd650a285, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 24, Local0, 1)
+
+ Store(Mod(0xd650a283, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 25, Local0, 0xd650a283)
+
+ Store(Mod(auil, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 26, Local0, 1)
+
+ Store(Mod(auim, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 27, Local0, 0xd650a283)
+
+ if (y078) {
+ Store(Mod(Derefof(Refof(auil)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 28, Local0, 1)
+
+ Store(Mod(Derefof(Refof(auim)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 29, Local0, 0xd650a283)
+ }
+
+ Store(Mod(Derefof(Index(paui, 21)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 30, Local0, 1)
+
+ Store(Mod(Derefof(Index(paui, 22)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 31, Local0, 0xd650a283)
+
+ // Method returns Integer
+
+ Store(Mod(m601(1, 21), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 32, Local0, 1)
+
+ Store(Mod(m601(1, 22), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 33, Local0, 0xd650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(Derefof(m601(1, 21, 1)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 34, Local0, 1)
+
+ Store(Mod(Derefof(m601(1, 22, 1)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 35, Local0, 0xd650a283)
+ }
+
+ Mod(0xd650a285, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 36, Local0, 1)
+
+ Mod(0xd650a283, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 37, Local0, 0xd650a283)
+
+ Mod(auil, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 38, Local0, 1)
+
+ Mod(auim, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 39, Local0, 0xd650a283)
+
+ if (y078) {
+ Mod(Derefof(Refof(auil)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 40, Local0, 1)
+
+ Mod(Derefof(Refof(auim)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 41, Local0, 0xd650a283)
+ }
+
+ Mod(Derefof(Index(paui, 21)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 42, Local0, 1)
+
+ Mod(Derefof(Index(paui, 22)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 43, Local0, 0xd650a283)
+
+ // Method returns Integer
+
+ Mod(m601(1, 21), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 44, Local0, 1)
+
+ Mod(m601(1, 22), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 45, Local0, 0xd650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(Derefof(m601(1, 21, 1)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 46, Local0, 1)
+
+ Mod(Derefof(m601(1, 22, 1)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 47, Local0, 0xd650a283)
+ }
+
+ // Conversion of the both operands
+
+ Store(Mod(Derefof(Index(pb60, 6)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 48, Local0, 0x321)
+
+ Store(Mod(Derefof(Index(pb60, 10)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 49, Local0, 0x261)
+
+ Mod(Derefof(Index(pb60, 6)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 50, Local0, 0x321)
+
+ Mod(Derefof(Index(pb60, 10)), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 51, Local0, 0x261)
+ }
+
+ // Multiply, common 32-bit/64-bit test
+ Method(m047, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Multiply(Derefof(Index(pb60, 6)), 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(Multiply(Derefof(Index(pb60, 6)), 1), Local0)
+ m600(arg0, 1, Local0, 0x321)
+
+ Store(Multiply(Derefof(Index(pb60, 6)), aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(Multiply(Derefof(Index(pb60, 6)), aui6), Local0)
+ m600(arg0, 3, Local0, 0x321)
+
+ if (y078) {
+ Store(Multiply(Derefof(Index(pb60, 6)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(Multiply(Derefof(Index(pb60, 6)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x321)
+ }
+
+ Store(Multiply(Derefof(Index(pb60, 6)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(Multiply(Derefof(Index(pb60, 6)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x321)
+
+ // Method returns Integer
+
+ Store(Multiply(Derefof(Index(pb60, 6)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(Multiply(Derefof(Index(pb60, 6)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(Derefof(Index(pb60, 6)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(Multiply(Derefof(Index(pb60, 6)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x321)
+ }
+
+ Multiply(Derefof(Index(pb60, 6)), 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ Multiply(Derefof(Index(pb60, 6)), 1, Local0)
+ m600(arg0, 13, Local0, 0x321)
+
+ Multiply(Derefof(Index(pb60, 6)), aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ Multiply(Derefof(Index(pb60, 6)), aui6, Local0)
+ m600(arg0, 15, Local0, 0x321)
+
+ if (y078) {
+ Multiply(Derefof(Index(pb60, 6)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ Multiply(Derefof(Index(pb60, 6)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x321)
+ }
+
+ Multiply(Derefof(Index(pb60, 6)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ Multiply(Derefof(Index(pb60, 6)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x321)
+
+ // Method returns Integer
+
+ Multiply(Derefof(Index(pb60, 6)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ Multiply(Derefof(Index(pb60, 6)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(Derefof(Index(pb60, 6)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ Multiply(Derefof(Index(pb60, 6)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x321)
+ }
+
+ // Conversion of the second operand
+
+ Store(Multiply(0, Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Multiply(1, Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 25, Local0, 0x321)
+
+ Store(Multiply(aui5, Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Multiply(aui6, Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 27, Local0, 0x321)
+
+ if (y078) {
+ Store(Multiply(Derefof(Refof(aui5)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(aui6)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 29, Local0, 0x321)
+ }
+
+ Store(Multiply(Derefof(Index(paui, 5)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Multiply(Derefof(Index(paui, 6)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 31, Local0, 0x321)
+
+ // Method returns Integer
+
+ Store(Multiply(m601(1, 5), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Multiply(m601(1, 6), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 33, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(Derefof(m602(1, 5, 1)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Multiply(Derefof(m602(1, 6, 1)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 35, Local0, 0x321)
+ }
+
+ Multiply(0, Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Multiply(1, Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 37, Local0, 0x321)
+
+ Multiply(aui5, Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Multiply(aui6, Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 39, Local0, 0x321)
+
+ if (y078) {
+ Multiply(Derefof(Refof(aui5)), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Multiply(Derefof(Refof(aui6)), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 41, Local0, 0x321)
+ }
+
+ Multiply(Derefof(Index(paui, 5)), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Multiply(Derefof(Index(paui, 6)), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 43, Local0, 0x321)
+
+ // Method returns Integer
+
+ Multiply(m601(1, 5), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Multiply(m601(1, 6), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 45, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(Derefof(m602(1, 5, 1)), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Multiply(Derefof(m602(1, 6, 1)), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 47, Local0, 0x321)
+ }
+ }
+
+ // Multiply, 64-bit
+ Method(m048, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Multiply(Derefof(Index(pb60, 10)), 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(Multiply(Derefof(Index(pb60, 10)), 1), Local0)
+ m600(arg0, 1, Local0, 0xfe7cb391d650a284)
+
+ Store(Multiply(Derefof(Index(pb60, 10)), aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(Multiply(Derefof(Index(pb60, 10)), aui6), Local0)
+ m600(arg0, 3, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Store(Multiply(Derefof(Index(pb60, 10)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(Multiply(Derefof(Index(pb60, 10)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xfe7cb391d650a284)
+ }
+
+ Store(Multiply(Derefof(Index(pb60, 10)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(Multiply(Derefof(Index(pb60, 10)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Store(Multiply(Derefof(Index(pb60, 10)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(Multiply(Derefof(Index(pb60, 10)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(Derefof(Index(pb60, 10)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(Multiply(Derefof(Index(pb60, 10)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfe7cb391d650a284)
+ }
+
+ Multiply(Derefof(Index(pb60, 10)), 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ Multiply(Derefof(Index(pb60, 10)), 1, Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a284)
+
+ Multiply(Derefof(Index(pb60, 10)), aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ Multiply(Derefof(Index(pb60, 10)), aui6, Local0)
+ m600(arg0, 15, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Multiply(Derefof(Index(pb60, 10)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ Multiply(Derefof(Index(pb60, 10)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xfe7cb391d650a284)
+ }
+
+ Multiply(Derefof(Index(pb60, 10)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ Multiply(Derefof(Index(pb60, 10)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Multiply(Derefof(Index(pb60, 10)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ Multiply(Derefof(Index(pb60, 10)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(Derefof(Index(pb60, 10)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ Multiply(Derefof(Index(pb60, 10)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfe7cb391d650a284)
+ }
+
+ // Conversion of the second operand
+
+ Store(Multiply(0, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Multiply(1, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 25, Local0, 0xfe7cb391d650a284)
+
+ Store(Multiply(aui5, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Multiply(aui6, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 27, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Store(Multiply(Derefof(Refof(aui5)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(aui6)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 29, Local0, 0xfe7cb391d650a284)
+ }
+
+ Store(Multiply(Derefof(Index(paui, 5)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Multiply(Derefof(Index(paui, 6)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 31, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Store(Multiply(m601(1, 5), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Multiply(m601(1, 6), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 33, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(Derefof(m602(1, 5, 1)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Multiply(Derefof(m602(1, 6, 1)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 35, Local0, 0xfe7cb391d650a284)
+ }
+
+ Multiply(0, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Multiply(1, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 37, Local0, 0xfe7cb391d650a284)
+
+ Multiply(aui5, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Multiply(aui6, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 39, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Multiply(Derefof(Refof(aui5)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Multiply(Derefof(Refof(aui6)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 41, Local0, 0xfe7cb391d650a284)
+ }
+
+ Multiply(Derefof(Index(paui, 5)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Multiply(Derefof(Index(paui, 6)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 43, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Multiply(m601(1, 5), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Multiply(m601(1, 6), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 45, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(Derefof(m602(1, 5, 1)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Multiply(Derefof(m602(1, 6, 1)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 47, Local0, 0xfe7cb391d650a284)
+ }
+
+ // Conversion of the both operands
+
+ Store(Multiply(Derefof(Index(pb60, 6)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 48, Local0, 0x442ddb4f924c7f04)
+
+ Store(Multiply(Derefof(Index(pb60, 10)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 49, Local0, 0x442ddb4f924c7f04)
+
+ Multiply(Derefof(Index(pb60, 6)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 50, Local0, 0x442ddb4f924c7f04)
+
+ Multiply(Derefof(Index(pb60, 10)), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 51, Local0, 0x442ddb4f924c7f04)
+ }
+
+ // Multiply, 32-bit
+ Method(m049, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Multiply(Derefof(Index(pb60, 10)), 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(Multiply(Derefof(Index(pb60, 10)), 1), Local0)
+ m600(arg0, 1, Local0, 0xd650a284)
+
+ Store(Multiply(Derefof(Index(pb60, 10)), aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(Multiply(Derefof(Index(pb60, 10)), aui6), Local0)
+ m600(arg0, 3, Local0, 0xd650a284)
+
+ if (y078) {
+ Store(Multiply(Derefof(Index(pb60, 10)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(Multiply(Derefof(Index(pb60, 10)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xd650a284)
+ }
+
+ Store(Multiply(Derefof(Index(pb60, 10)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(Multiply(Derefof(Index(pb60, 10)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xd650a284)
+
+ // Method returns Integer
+
+ Store(Multiply(Derefof(Index(pb60, 10)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(Multiply(Derefof(Index(pb60, 10)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xd650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(Derefof(Index(pb60, 10)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(Multiply(Derefof(Index(pb60, 10)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xd650a284)
+ }
+
+ Multiply(Derefof(Index(pb60, 10)), 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ Multiply(Derefof(Index(pb60, 10)), 1, Local0)
+ m600(arg0, 13, Local0, 0xd650a284)
+
+ Multiply(Derefof(Index(pb60, 10)), aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ Multiply(Derefof(Index(pb60, 10)), aui6, Local0)
+ m600(arg0, 15, Local0, 0xd650a284)
+
+ if (y078) {
+ Multiply(Derefof(Index(pb60, 10)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ Multiply(Derefof(Index(pb60, 10)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xd650a284)
+ }
+
+ Multiply(Derefof(Index(pb60, 10)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ Multiply(Derefof(Index(pb60, 10)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xd650a284)
+
+ // Method returns Integer
+
+ Multiply(Derefof(Index(pb60, 10)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ Multiply(Derefof(Index(pb60, 10)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xd650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(Derefof(Index(pb60, 10)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ Multiply(Derefof(Index(pb60, 10)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xd650a284)
+ }
+
+ // Conversion of the second operand
+
+ Store(Multiply(0, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Multiply(1, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 25, Local0, 0xd650a284)
+
+ Store(Multiply(aui5, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Multiply(aui6, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 27, Local0, 0xd650a284)
+
+ if (y078) {
+ Store(Multiply(Derefof(Refof(aui5)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(aui6)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 29, Local0, 0xd650a284)
+ }
+
+ Store(Multiply(Derefof(Index(paui, 5)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Multiply(Derefof(Index(paui, 6)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 31, Local0, 0xd650a284)
+
+ // Method returns Integer
+
+ Store(Multiply(m601(1, 5), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Multiply(m601(1, 6), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 33, Local0, 0xd650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(Derefof(m602(1, 5, 1)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Multiply(Derefof(m602(1, 6, 1)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 35, Local0, 0xd650a284)
+ }
+
+ Multiply(0, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Multiply(1, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 37, Local0, 0xd650a284)
+
+ Multiply(aui5, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Multiply(aui6, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 39, Local0, 0xd650a284)
+
+ if (y078) {
+ Multiply(Derefof(Refof(aui5)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Multiply(Derefof(Refof(aui6)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 41, Local0, 0xd650a284)
+ }
+
+ Multiply(Derefof(Index(paui, 5)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Multiply(Derefof(Index(paui, 6)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 43, Local0, 0xd650a284)
+
+ // Method returns Integer
+
+ Multiply(m601(1, 5), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Multiply(m601(1, 6), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 45, Local0, 0xd650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(Derefof(m602(1, 5, 1)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Multiply(Derefof(m602(1, 6, 1)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 47, Local0, 0xd650a284)
+ }
+
+ // Conversion of the both operands
+
+ Store(Multiply(Derefof(Index(pb60, 6)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 48, Local0, 0x924c7f04)
+
+ Store(Multiply(Derefof(Index(pb60, 10)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 49, Local0, 0x924c7f04)
+
+ Multiply(Derefof(Index(pb60, 6)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 50, Local0, 0x924c7f04)
+
+ Multiply(Derefof(Index(pb60, 10)), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 51, Local0, 0x924c7f04)
+ }
+
+ // NAnd, common 32-bit/64-bit test
+ Method(m04a, 1)
+ {
+ // Conversion of the first operand
+
+ Store(NAnd(Derefof(Index(pb60, 6)), 0), Local0)
+ m600(arg0, 0, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Index(pb60, 6)), 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xfffffffffffffcde)
+
+ Store(NAnd(Derefof(Index(pb60, 6)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Index(pb60, 6)), auij), Local0)
+ m600(arg0, 3, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ Store(NAnd(Derefof(Index(pb60, 6)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Index(pb60, 6)), Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xfffffffffffffcde)
+ }
+
+ Store(NAnd(Derefof(Index(pb60, 6)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Index(pb60, 6)), Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ Store(NAnd(Derefof(Index(pb60, 6)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Index(pb60, 6)), m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(Derefof(Index(pb60, 6)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Index(pb60, 6)), Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfffffffffffffcde)
+ }
+
+ NAnd(Derefof(Index(pb60, 6)), 0, Local0)
+ m600(arg0, 12, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Index(pb60, 6)), 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xfffffffffffffcde)
+
+ NAnd(Derefof(Index(pb60, 6)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Index(pb60, 6)), auij, Local0)
+ m600(arg0, 15, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ NAnd(Derefof(Index(pb60, 6)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Index(pb60, 6)), Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xfffffffffffffcde)
+ }
+
+ NAnd(Derefof(Index(pb60, 6)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Index(pb60, 6)), Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ NAnd(Derefof(Index(pb60, 6)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Index(pb60, 6)), m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(Derefof(Index(pb60, 6)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Index(pb60, 6)), Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfffffffffffffcde)
+ }
+
+ // Conversion of the second operand
+
+ Store(NAnd(0, Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 24, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(0xffffffffffffffff, Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 25, Local0, 0xfffffffffffffcde)
+
+ Store(NAnd(aui5, Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 26, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(auij, Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 27, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ Store(NAnd(Derefof(Refof(aui5)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 28, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Refof(auij)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 29, Local0, 0xfffffffffffffcde)
+ }
+
+ Store(NAnd(Derefof(Index(paui, 5)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 30, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Index(paui, 19)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 31, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ Store(NAnd(m601(1, 5), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 32, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(m601(1, 19), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 33, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(Derefof(m602(1, 5, 1)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 34, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(m602(1, 19, 1)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 35, Local0, 0xfffffffffffffcde)
+ }
+
+ NAnd(0, Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 36, Local0, 0xffffffffffffffff)
+
+ NAnd(0xffffffffffffffff, Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 37, Local0, 0xfffffffffffffcde)
+
+ NAnd(aui5, Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 38, Local0, 0xffffffffffffffff)
+
+ NAnd(auij, Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 39, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ NAnd(Derefof(Refof(aui5)), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 40, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Refof(auij)), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 41, Local0, 0xfffffffffffffcde)
+ }
+
+ NAnd(Derefof(Index(paui, 5)), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 42, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Index(paui, 19)), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 43, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ NAnd(m601(1, 5), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 44, Local0, 0xffffffffffffffff)
+
+ NAnd(m601(1, 19), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 45, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(Derefof(m602(1, 5, 1)), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 46, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(m602(1, 19, 1)), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 47, Local0, 0xfffffffffffffcde)
+ }
+ }
+
+ // NAnd, 64-bit
+ Method(m04b, 1)
+ {
+ // Conversion of the first operand
+
+ Store(NAnd(Derefof(Index(pb60, 10)), 0), Local0)
+ m600(arg0, 0, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Index(pb60, 10)), 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0x01834c6e29af5d7b)
+
+ Store(NAnd(Derefof(Index(pb60, 10)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Index(pb60, 10)), auij), Local0)
+ m600(arg0, 3, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ Store(NAnd(Derefof(Index(pb60, 10)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Index(pb60, 10)), Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Store(NAnd(Derefof(Index(pb60, 10)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Index(pb60, 10)), Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ Store(NAnd(Derefof(Index(pb60, 10)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Index(pb60, 10)), m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(Derefof(Index(pb60, 10)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Index(pb60, 10)), Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0x01834c6e29af5d7b)
+ }
+
+ NAnd(Derefof(Index(pb60, 10)), 0, Local0)
+ m600(arg0, 12, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Index(pb60, 10)), 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0x01834c6e29af5d7b)
+
+ NAnd(Derefof(Index(pb60, 10)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Index(pb60, 10)), auij, Local0)
+ m600(arg0, 15, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ NAnd(Derefof(Index(pb60, 10)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Index(pb60, 10)), Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0x01834c6e29af5d7b)
+ }
+
+ NAnd(Derefof(Index(pb60, 10)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Index(pb60, 10)), Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ NAnd(Derefof(Index(pb60, 10)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Index(pb60, 10)), m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(Derefof(Index(pb60, 10)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Index(pb60, 10)), Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0x01834c6e29af5d7b)
+ }
+
+ // Conversion of the second operand
+
+ Store(NAnd(0, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 24, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(0xffffffffffffffff, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 25, Local0, 0x01834c6e29af5d7b)
+
+ Store(NAnd(aui5, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 26, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(auij, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 27, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ Store(NAnd(Derefof(Refof(aui5)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 28, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Refof(auij)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 29, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Store(NAnd(Derefof(Index(paui, 5)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 30, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Index(paui, 19)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 31, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ Store(NAnd(m601(1, 5), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 32, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(m601(1, 19), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 33, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(Derefof(m602(1, 5, 1)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 34, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(m602(1, 19, 1)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 35, Local0, 0x01834c6e29af5d7b)
+ }
+
+ NAnd(0, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 36, Local0, 0xffffffffffffffff)
+
+ NAnd(0xffffffffffffffff, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 37, Local0, 0x01834c6e29af5d7b)
+
+ NAnd(aui5, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 38, Local0, 0xffffffffffffffff)
+
+ NAnd(auij, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 39, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ NAnd(Derefof(Refof(aui5)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 40, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Refof(auij)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 41, Local0, 0x01834c6e29af5d7b)
+ }
+
+ NAnd(Derefof(Index(paui, 5)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 42, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Index(paui, 19)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 43, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ NAnd(m601(1, 5), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 44, Local0, 0xffffffffffffffff)
+
+ NAnd(m601(1, 19), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 45, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(Derefof(m602(1, 5, 1)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 46, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(m602(1, 19, 1)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 47, Local0, 0x01834c6e29af5d7b)
+ }
+
+ // Conversion of the both operands
+
+ Store(NAnd(Derefof(Index(pb60, 6)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 48, Local0, 0xfffffffffffffdff)
+
+ Store(NAnd(Derefof(Index(pb60, 10)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 49, Local0, 0xfffffffffffffdff)
+
+ NAnd(Derefof(Index(pb60, 6)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 50, Local0, 0xfffffffffffffdff)
+
+ NAnd(Derefof(Index(pb60, 10)), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 51, Local0, 0xfffffffffffffdff)
+ }
+
+ // NAnd, 32-bit
+ Method(m04c, 1)
+ {
+ // Conversion of the first operand
+
+ Store(NAnd(Derefof(Index(pb60, 10)), 0), Local0)
+ m600(arg0, 0, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(Index(pb60, 10)), 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0x29af5d7b)
+
+ Store(NAnd(Derefof(Index(pb60, 10)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(Index(pb60, 10)), auii), Local0)
+ m600(arg0, 3, Local0, 0x29af5d7b)
+
+ if (y078) {
+ Store(NAnd(Derefof(Index(pb60, 10)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(Index(pb60, 10)), Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0x29af5d7b)
+ }
+
+ Store(NAnd(Derefof(Index(pb60, 10)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(Index(pb60, 10)), Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0x29af5d7b)
+
+ // Method returns Integer
+
+ Store(NAnd(Derefof(Index(pb60, 10)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(Index(pb60, 10)), m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0x29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(Derefof(Index(pb60, 10)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(Index(pb60, 10)), Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0x29af5d7b)
+ }
+
+ NAnd(Derefof(Index(pb60, 10)), 0, Local0)
+ m600(arg0, 12, Local0, 0xffffffff)
+
+ NAnd(Derefof(Index(pb60, 10)), 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0x29af5d7b)
+
+ NAnd(Derefof(Index(pb60, 10)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xffffffff)
+
+ NAnd(Derefof(Index(pb60, 10)), auii, Local0)
+ m600(arg0, 15, Local0, 0x29af5d7b)
+
+ if (y078) {
+ NAnd(Derefof(Index(pb60, 10)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xffffffff)
+
+ NAnd(Derefof(Index(pb60, 10)), Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0x29af5d7b)
+ }
+
+ NAnd(Derefof(Index(pb60, 10)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xffffffff)
+
+ NAnd(Derefof(Index(pb60, 10)), Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0x29af5d7b)
+
+ // Method returns Integer
+
+ NAnd(Derefof(Index(pb60, 10)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xffffffff)
+
+ NAnd(Derefof(Index(pb60, 10)), m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0x29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(Derefof(Index(pb60, 10)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xffffffff)
+
+ NAnd(Derefof(Index(pb60, 10)), Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0x29af5d7b)
+ }
+
+ // Conversion of the second operand
+
+ Store(NAnd(0, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 24, Local0, 0xffffffff)
+
+ Store(NAnd(0xffffffff, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 25, Local0, 0x29af5d7b)
+
+ Store(NAnd(aui5, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 26, Local0, 0xffffffff)
+
+ Store(NAnd(auii, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 27, Local0, 0x29af5d7b)
+
+ if (y078) {
+ Store(NAnd(Derefof(Refof(aui5)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 28, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(Refof(auii)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 29, Local0, 0x29af5d7b)
+ }
+
+ Store(NAnd(Derefof(Index(paui, 5)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 30, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(Index(paui, 18)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 31, Local0, 0x29af5d7b)
+
+ // Method returns Integer
+
+ Store(NAnd(m601(1, 5), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 32, Local0, 0xffffffff)
+
+ Store(NAnd(m601(1, 18), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 33, Local0, 0x29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(Derefof(m602(1, 5, 1)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 34, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(m602(1, 18, 1)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 35, Local0, 0x29af5d7b)
+ }
+
+ NAnd(0, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 36, Local0, 0xffffffff)
+
+ NAnd(0xffffffff, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 37, Local0, 0x29af5d7b)
+
+ NAnd(aui5, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 38, Local0, 0xffffffff)
+
+ NAnd(auii, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 39, Local0, 0x29af5d7b)
+
+ if (y078) {
+ NAnd(Derefof(Refof(aui5)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 40, Local0, 0xffffffff)
+
+ NAnd(Derefof(Refof(auii)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 41, Local0, 0x29af5d7b)
+ }
+
+ NAnd(Derefof(Index(paui, 5)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 42, Local0, 0xffffffff)
+
+ NAnd(Derefof(Index(paui, 18)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 43, Local0, 0x29af5d7b)
+
+ // Method returns Integer
+
+ NAnd(m601(1, 5), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 44, Local0, 0xffffffff)
+
+ NAnd(m601(1, 18), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 45, Local0, 0x29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(Derefof(m602(1, 5, 1)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 46, Local0, 0xffffffff)
+
+ NAnd(Derefof(m602(1, 18, 1)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 47, Local0, 0x29af5d7b)
+ }
+
+ // Conversion of the both operands
+
+ Store(NAnd(Derefof(Index(pb60, 6)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 48, Local0, 0xfffffdff)
+
+ Store(NAnd(Derefof(Index(pb60, 10)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 49, Local0, 0xfffffdff)
+
+ NAnd(Derefof(Index(pb60, 6)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 50, Local0, 0xfffffdff)
+
+ NAnd(Derefof(Index(pb60, 10)), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 51, Local0, 0xfffffdff)
+ }
+
+ // NOr, common 32-bit/64-bit test
+ Method(m04d, 1)
+ {
+ // Conversion of the first operand
+
+ Store(NOr(Derefof(Index(pb60, 6)), 0), Local0)
+ m600(arg0, 0, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(Index(pb60, 6)), 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0)
+
+ Store(NOr(Derefof(Index(pb60, 6)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(Index(pb60, 6)), auij), Local0)
+ m600(arg0, 3, Local0, 0)
+
+ if (y078) {
+ Store(NOr(Derefof(Index(pb60, 6)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(Index(pb60, 6)), Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0)
+ }
+
+ Store(NOr(Derefof(Index(pb60, 6)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(Index(pb60, 6)), Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(Derefof(Index(pb60, 6)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(Index(pb60, 6)), m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(Derefof(Index(pb60, 6)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(Index(pb60, 6)), Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0)
+ }
+
+ NOr(Derefof(Index(pb60, 6)), 0, Local0)
+ m600(arg0, 12, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(Index(pb60, 6)), 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0)
+
+ NOr(Derefof(Index(pb60, 6)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(Index(pb60, 6)), auij, Local0)
+ m600(arg0, 15, Local0, 0)
+
+ if (y078) {
+ NOr(Derefof(Index(pb60, 6)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(Index(pb60, 6)), Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0)
+ }
+
+ NOr(Derefof(Index(pb60, 6)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(Index(pb60, 6)), Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(Derefof(Index(pb60, 6)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(Index(pb60, 6)), m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(Derefof(Index(pb60, 6)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(Index(pb60, 6)), Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0)
+ }
+
+ // Conversion of the second operand
+
+ Store(NOr(0, Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 24, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(0xffffffffffffffff, Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 25, Local0, 0)
+
+ Store(NOr(aui5, Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 26, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(auij, Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 27, Local0, 0)
+
+ if (y078) {
+ Store(NOr(Derefof(Refof(aui5)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 28, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(Refof(auij)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 29, Local0, 0)
+ }
+
+ Store(NOr(Derefof(Index(paui, 5)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 30, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(Index(paui, 19)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 31, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(m601(1, 5), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 32, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(m601(1, 19), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 33, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(Derefof(m602(1, 5, 1)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 34, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(m602(1, 19, 1)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 35, Local0, 0)
+ }
+
+ NOr(0, Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 36, Local0, 0xfffffffffffffcde)
+
+ NOr(0xffffffffffffffff, Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 37, Local0, 0)
+
+ NOr(aui5, Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 38, Local0, 0xfffffffffffffcde)
+
+ NOr(auij, Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 39, Local0, 0)
+
+ if (y078) {
+ NOr(Derefof(Refof(aui5)), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 40, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(Refof(auij)), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 41, Local0, 0)
+ }
+
+ NOr(Derefof(Index(paui, 5)), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 42, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(Index(paui, 19)), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 43, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(m601(1, 5), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 44, Local0, 0xfffffffffffffcde)
+
+ NOr(m601(1, 19), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 45, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(Derefof(m602(1, 5, 1)), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 46, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(m602(1, 19, 1)), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 47, Local0, 0)
+ }
+ }
+
+ // NOr, 64-bit
+ Method(m04e, 1)
+ {
+ // Conversion of the first operand
+
+ Store(NOr(Derefof(Index(pb60, 10)), 0), Local0)
+ m600(arg0, 0, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(Index(pb60, 10)), 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0)
+
+ Store(NOr(Derefof(Index(pb60, 10)), aui5), Local0)
+ m600(arg0, 2, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(Index(pb60, 10)), auij), Local0)
+ m600(arg0, 3, Local0, 0)
+
+ if (y078) {
+ Store(NOr(Derefof(Index(pb60, 10)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(Index(pb60, 10)), Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0)
+ }
+
+ Store(NOr(Derefof(Index(pb60, 10)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(Index(pb60, 10)), Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(Derefof(Index(pb60, 10)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(Index(pb60, 10)), m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(Derefof(Index(pb60, 10)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(Index(pb60, 10)), Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0)
+ }
+
+ NOr(Derefof(Index(pb60, 10)), 0, Local0)
+ m600(arg0, 12, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(Index(pb60, 10)), 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0)
+
+ NOr(Derefof(Index(pb60, 10)), aui5, Local0)
+ m600(arg0, 14, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(Index(pb60, 10)), auij, Local0)
+ m600(arg0, 15, Local0, 0)
+
+ if (y078) {
+ NOr(Derefof(Index(pb60, 10)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(Index(pb60, 10)), Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0)
+ }
+
+ NOr(Derefof(Index(pb60, 10)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(Index(pb60, 10)), Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(Derefof(Index(pb60, 10)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(Index(pb60, 10)), m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(Derefof(Index(pb60, 10)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(Index(pb60, 10)), Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0)
+ }
+
+ // Conversion of the second operand
+
+ Store(NOr(0, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 24, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(0xffffffffffffffff, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 25, Local0, 0)
+
+ Store(NOr(aui5, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 26, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(auij, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 27, Local0, 0)
+
+ if (y078) {
+ Store(NOr(Derefof(Refof(aui5)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 28, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(Refof(auij)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 29, Local0, 0)
+ }
+
+ Store(NOr(Derefof(Index(paui, 5)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 30, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(Index(paui, 19)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 31, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(m601(1, 5), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 32, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(m601(1, 19), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 33, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(Derefof(m602(1, 5, 1)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 34, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(m602(1, 19, 1)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 35, Local0, 0)
+ }
+
+ NOr(0, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 36, Local0, 0x01834c6e29af5d7b)
+
+ NOr(0xffffffffffffffff, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 37, Local0, 0)
+
+ NOr(aui5, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 38, Local0, 0x01834c6e29af5d7b)
+
+ NOr(auij, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 39, Local0, 0)
+
+ if (y078) {
+ NOr(Derefof(Refof(aui5)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 40, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(Refof(auij)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 41, Local0, 0)
+ }
+
+ NOr(Derefof(Index(paui, 5)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 42, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(Index(paui, 19)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 43, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(m601(1, 5), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 44, Local0, 0x01834c6e29af5d7b)
+
+ NOr(m601(1, 19), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 45, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(Derefof(m602(1, 5, 1)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 46, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(m602(1, 19, 1)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 47, Local0, 0)
+ }
+
+ // Conversion of the both operands
+
+ Store(NOr(Derefof(Index(pb60, 6)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 48, Local0, 0x01834c6e29af5c5a)
+
+ Store(NOr(Derefof(Index(pb60, 10)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 49, Local0, 0x01834c6e29af5c5a)
+
+ NOr(Derefof(Index(pb60, 6)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 50, Local0, 0x01834c6e29af5c5a)
+
+ NOr(Derefof(Index(pb60, 10)), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 51, Local0, 0x01834c6e29af5c5a)
+ }
+
+ // NOr, 32-bit
+ Method(m04f, 1)
+ {
+ // Conversion of the first operand
+
+ Store(NOr(Derefof(Index(pb60, 10)), 0), Local0)
+ m600(arg0, 0, Local0, 0x29af5d7b)
+
+ Store(NOr(Derefof(Index(pb60, 10)), 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0)
+
+ Store(NOr(Derefof(Index(pb60, 10)), aui5), Local0)
+ m600(arg0, 2, Local0, 0x29af5d7b)
+
+ Store(NOr(Derefof(Index(pb60, 10)), auii), Local0)
+ m600(arg0, 3, Local0, 0)
+
+ if (y078) {
+ Store(NOr(Derefof(Index(pb60, 10)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x29af5d7b)
+
+ Store(NOr(Derefof(Index(pb60, 10)), Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0)
+ }
+
+ Store(NOr(Derefof(Index(pb60, 10)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x29af5d7b)
+
+ Store(NOr(Derefof(Index(pb60, 10)), Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(Derefof(Index(pb60, 10)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x29af5d7b)
+
+ Store(NOr(Derefof(Index(pb60, 10)), m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(Derefof(Index(pb60, 10)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x29af5d7b)
+
+ Store(NOr(Derefof(Index(pb60, 10)), Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0)
+ }
+
+ NOr(Derefof(Index(pb60, 10)), 0, Local0)
+ m600(arg0, 12, Local0, 0x29af5d7b)
+
+ NOr(Derefof(Index(pb60, 10)), 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0)
+
+ NOr(Derefof(Index(pb60, 10)), aui5, Local0)
+ m600(arg0, 14, Local0, 0x29af5d7b)
+
+ NOr(Derefof(Index(pb60, 10)), auii, Local0)
+ m600(arg0, 15, Local0, 0)
+
+ if (y078) {
+ NOr(Derefof(Index(pb60, 10)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x29af5d7b)
+
+ NOr(Derefof(Index(pb60, 10)), Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0)
+ }
+
+ NOr(Derefof(Index(pb60, 10)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x29af5d7b)
+
+ NOr(Derefof(Index(pb60, 10)), Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(Derefof(Index(pb60, 10)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x29af5d7b)
+
+ NOr(Derefof(Index(pb60, 10)), m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(Derefof(Index(pb60, 10)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x29af5d7b)
+
+ NOr(Derefof(Index(pb60, 10)), Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0)
+ }
+
+ // Conversion of the second operand
+
+ Store(NOr(0, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 24, Local0, 0x29af5d7b)
+
+ Store(NOr(0xffffffff, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 25, Local0, 0)
+
+ Store(NOr(aui5, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 26, Local0, 0x29af5d7b)
+
+ Store(NOr(auii, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 27, Local0, 0)
+
+ if (y078) {
+ Store(NOr(Derefof(Refof(aui5)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 28, Local0, 0x29af5d7b)
+
+ Store(NOr(Derefof(Refof(auii)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 29, Local0, 0)
+ }
+
+ Store(NOr(Derefof(Index(paui, 5)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 30, Local0, 0x29af5d7b)
+
+ Store(NOr(Derefof(Index(paui, 18)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 31, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(m601(1, 5), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 32, Local0, 0x29af5d7b)
+
+ Store(NOr(m601(1, 18), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 33, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(Derefof(m602(1, 5, 1)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 34, Local0, 0x29af5d7b)
+
+ Store(NOr(Derefof(m602(1, 18, 1)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 35, Local0, 0)
+ }
+
+ NOr(0, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 36, Local0, 0x29af5d7b)
+
+ NOr(0xffffffff, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 37, Local0, 0)
+
+ NOr(aui5, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 38, Local0, 0x29af5d7b)
+
+ NOr(auii, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 39, Local0, 0)
+
+ if (y078) {
+ NOr(Derefof(Refof(aui5)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 40, Local0, 0x29af5d7b)
+
+ NOr(Derefof(Refof(auii)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 41, Local0, 0)
+ }
+
+ NOr(Derefof(Index(paui, 5)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 42, Local0, 0x29af5d7b)
+
+ NOr(Derefof(Index(paui, 18)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 43, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(m601(1, 5), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 44, Local0, 0x29af5d7b)
+
+ NOr(m601(1, 18), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 45, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(Derefof(m602(1, 5, 1)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 46, Local0, 0x29af5d7b)
+
+ NOr(Derefof(m602(1, 18, 1)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 47, Local0, 0)
+ }
+
+ // Conversion of the both operands
+
+ Store(NOr(Derefof(Index(pb60, 6)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 48, Local0, 0x29af5c5a)
+
+ Store(NOr(Derefof(Index(pb60, 10)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 49, Local0, 0x29af5c5a)
+
+ NOr(Derefof(Index(pb60, 6)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 50, Local0, 0x29af5c5a)
+
+ NOr(Derefof(Index(pb60, 10)), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 51, Local0, 0x29af5c5a)
+ }
+
+ // Or, common 32-bit/64-bit test
+ Method(m050, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Or(Derefof(Index(pb60, 6)), 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Or(Derefof(Index(pb60, 6)), 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xffffffffffffffff)
+
+ Store(Or(Derefof(Index(pb60, 6)), aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Or(Derefof(Index(pb60, 6)), auij), Local0)
+ m600(arg0, 3, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Store(Or(Derefof(Index(pb60, 6)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Or(Derefof(Index(pb60, 6)), Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xffffffffffffffff)
+ }
+
+ Store(Or(Derefof(Index(pb60, 6)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Or(Derefof(Index(pb60, 6)), Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Store(Or(Derefof(Index(pb60, 6)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Or(Derefof(Index(pb60, 6)), m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(Derefof(Index(pb60, 6)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Or(Derefof(Index(pb60, 6)), Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xffffffffffffffff)
+ }
+
+ Or(Derefof(Index(pb60, 6)), 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Or(Derefof(Index(pb60, 6)), 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xffffffffffffffff)
+
+ Or(Derefof(Index(pb60, 6)), aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Or(Derefof(Index(pb60, 6)), auij, Local0)
+ m600(arg0, 15, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Or(Derefof(Index(pb60, 6)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Or(Derefof(Index(pb60, 6)), Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xffffffffffffffff)
+ }
+
+ Or(Derefof(Index(pb60, 6)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Or(Derefof(Index(pb60, 6)), Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Or(Derefof(Index(pb60, 6)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Or(Derefof(Index(pb60, 6)), m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(Derefof(Index(pb60, 6)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Or(Derefof(Index(pb60, 6)), Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xffffffffffffffff)
+ }
+
+ // Conversion of the second operand
+
+ Store(Or(0, Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 24, Local0, 0x321)
+
+ Store(Or(0xffffffffffffffff, Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 25, Local0, 0xffffffffffffffff)
+
+ Store(Or(aui5, Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 26, Local0, 0x321)
+
+ Store(Or(auij, Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 27, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Store(Or(Derefof(Refof(aui5)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 28, Local0, 0x321)
+
+ Store(Or(Derefof(Refof(auij)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 29, Local0, 0xffffffffffffffff)
+ }
+
+ Store(Or(Derefof(Index(paui, 5)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 30, Local0, 0x321)
+
+ Store(Or(Derefof(Index(paui, 19)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 31, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Store(Or(m601(1, 5), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 32, Local0, 0x321)
+
+ Store(Or(m601(1, 19), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 33, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(Derefof(m602(1, 5, 1)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 34, Local0, 0x321)
+
+ Store(Or(Derefof(m602(1, 19, 1)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 35, Local0, 0xffffffffffffffff)
+ }
+
+ Or(0, Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 36, Local0, 0x321)
+
+ Or(0xffffffffffffffff, Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 37, Local0, 0xffffffffffffffff)
+
+ Or(aui5, Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 38, Local0, 0x321)
+
+ Or(auij, Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 39, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Or(Derefof(Refof(aui5)), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 40, Local0, 0x321)
+
+ Or(Derefof(Refof(auij)), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 41, Local0, 0xffffffffffffffff)
+ }
+
+ Or(Derefof(Index(paui, 5)), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 42, Local0, 0x321)
+
+ Or(Derefof(Index(paui, 19)), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 43, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Or(m601(1, 5), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 44, Local0, 0x321)
+
+ Or(m601(1, 19), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 45, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(Derefof(m602(1, 5, 1)), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 46, Local0, 0x321)
+
+ Or(Derefof(m602(1, 19, 1)), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 47, Local0, 0xffffffffffffffff)
+ }
+ }
+
+ // Or, 64-bit
+ Method(m051, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Or(Derefof(Index(pb60, 10)), 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(Index(pb60, 10)), 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xffffffffffffffff)
+
+ Store(Or(Derefof(Index(pb60, 10)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(Index(pb60, 10)), auij), Local0)
+ m600(arg0, 3, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Store(Or(Derefof(Index(pb60, 10)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(Index(pb60, 10)), Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xffffffffffffffff)
+ }
+
+ Store(Or(Derefof(Index(pb60, 10)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(Index(pb60, 10)), Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Store(Or(Derefof(Index(pb60, 10)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(Index(pb60, 10)), m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(Derefof(Index(pb60, 10)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(Index(pb60, 10)), Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xffffffffffffffff)
+ }
+
+ Or(Derefof(Index(pb60, 10)), 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(Index(pb60, 10)), 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xffffffffffffffff)
+
+ Or(Derefof(Index(pb60, 10)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(Index(pb60, 10)), auij, Local0)
+ m600(arg0, 15, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Or(Derefof(Index(pb60, 10)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(Index(pb60, 10)), Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xffffffffffffffff)
+ }
+
+ Or(Derefof(Index(pb60, 10)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(Index(pb60, 10)), Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Or(Derefof(Index(pb60, 10)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(Index(pb60, 10)), m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(Derefof(Index(pb60, 10)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(Index(pb60, 10)), Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xffffffffffffffff)
+ }
+
+ // Conversion of the second operand
+
+ Store(Or(0, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 24, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(0xffffffffffffffff, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 25, Local0, 0xffffffffffffffff)
+
+ Store(Or(aui5, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 26, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(auij, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 27, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Store(Or(Derefof(Refof(aui5)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 28, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(Refof(auij)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 29, Local0, 0xffffffffffffffff)
+ }
+
+ Store(Or(Derefof(Index(paui, 5)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 30, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(Index(paui, 19)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 31, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Store(Or(m601(1, 5), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 32, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(m601(1, 19), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 33, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(Derefof(m602(1, 5, 1)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 34, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(m602(1, 19, 1)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 35, Local0, 0xffffffffffffffff)
+ }
+
+ Or(0, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 36, Local0, 0xfe7cb391d650a284)
+
+ Or(0xffffffffffffffff, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 37, Local0, 0xffffffffffffffff)
+
+ Or(aui5, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 38, Local0, 0xfe7cb391d650a284)
+
+ Or(auij, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 39, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Or(Derefof(Refof(aui5)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 40, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(Refof(auij)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 41, Local0, 0xffffffffffffffff)
+ }
+
+ Or(Derefof(Index(paui, 5)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 42, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(Index(paui, 19)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 43, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Or(m601(1, 5), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 44, Local0, 0xfe7cb391d650a284)
+
+ Or(m601(1, 19), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 45, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(Derefof(m602(1, 5, 1)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 46, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(m602(1, 19, 1)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 47, Local0, 0xffffffffffffffff)
+ }
+
+ // Conversion of the both operands
+
+ Store(Or(Derefof(Index(pb60, 6)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 48, Local0, 0xfe7cb391d650a3a5)
+
+ Store(Or(Derefof(Index(pb60, 10)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 49, Local0, 0xfe7cb391d650a3a5)
+
+ Or(Derefof(Index(pb60, 6)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 50, Local0, 0xfe7cb391d650a3a5)
+
+ Or(Derefof(Index(pb60, 10)), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 51, Local0, 0xfe7cb391d650a3a5)
+ }
+
+ // Or, 32-bit
+ Method(m052, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Or(Derefof(Index(pb60, 10)), 0), Local0)
+ m600(arg0, 0, Local0, 0xd650a284)
+
+ Store(Or(Derefof(Index(pb60, 10)), 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0xffffffff)
+
+ Store(Or(Derefof(Index(pb60, 10)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xd650a284)
+
+ Store(Or(Derefof(Index(pb60, 10)), auii), Local0)
+ m600(arg0, 3, Local0, 0xffffffff)
+
+ if (y078) {
+ Store(Or(Derefof(Index(pb60, 10)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xd650a284)
+
+ Store(Or(Derefof(Index(pb60, 10)), Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0xffffffff)
+ }
+
+ Store(Or(Derefof(Index(pb60, 10)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xd650a284)
+
+ Store(Or(Derefof(Index(pb60, 10)), Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0xffffffff)
+
+ // Method returns Integer
+
+ Store(Or(Derefof(Index(pb60, 10)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xd650a284)
+
+ Store(Or(Derefof(Index(pb60, 10)), m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0xffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(Derefof(Index(pb60, 10)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xd650a284)
+
+ Store(Or(Derefof(Index(pb60, 10)), Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0xffffffff)
+ }
+
+ Or(Derefof(Index(pb60, 10)), 0, Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ Or(Derefof(Index(pb60, 10)), 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0xffffffff)
+
+ Or(Derefof(Index(pb60, 10)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xd650a284)
+
+ Or(Derefof(Index(pb60, 10)), auii, Local0)
+ m600(arg0, 15, Local0, 0xffffffff)
+
+ if (y078) {
+ Or(Derefof(Index(pb60, 10)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xd650a284)
+
+ Or(Derefof(Index(pb60, 10)), Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0xffffffff)
+ }
+
+ Or(Derefof(Index(pb60, 10)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xd650a284)
+
+ Or(Derefof(Index(pb60, 10)), Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0xffffffff)
+
+ // Method returns Integer
+
+ Or(Derefof(Index(pb60, 10)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xd650a284)
+
+ Or(Derefof(Index(pb60, 10)), m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0xffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(Derefof(Index(pb60, 10)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xd650a284)
+
+ Or(Derefof(Index(pb60, 10)), Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0xffffffff)
+ }
+
+ // Conversion of the second operand
+
+ Store(Or(0, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 24, Local0, 0xd650a284)
+
+ Store(Or(0xffffffff, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 25, Local0, 0xffffffff)
+
+ Store(Or(aui5, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 26, Local0, 0xd650a284)
+
+ Store(Or(auii, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 27, Local0, 0xffffffff)
+
+ if (y078) {
+ Store(Or(Derefof(Refof(aui5)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 28, Local0, 0xd650a284)
+
+ Store(Or(Derefof(Refof(auii)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 29, Local0, 0xffffffff)
+ }
+
+ Store(Or(Derefof(Index(paui, 5)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 30, Local0, 0xd650a284)
+
+ Store(Or(Derefof(Index(paui, 18)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 31, Local0, 0xffffffff)
+
+ // Method returns Integer
+
+ Store(Or(m601(1, 5), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 32, Local0, 0xd650a284)
+
+ Store(Or(m601(1, 18), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 33, Local0, 0xffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(Derefof(m602(1, 5, 1)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 34, Local0, 0xd650a284)
+
+ Store(Or(Derefof(m602(1, 18, 1)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 35, Local0, 0xffffffff)
+ }
+
+ Or(0, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 36, Local0, 0xd650a284)
+
+ Or(0xffffffff, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 37, Local0, 0xffffffff)
+
+ Or(aui5, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 38, Local0, 0xd650a284)
+
+ Or(auii, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 39, Local0, 0xffffffff)
+
+ if (y078) {
+ Or(Derefof(Refof(aui5)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 40, Local0, 0xd650a284)
+
+ Or(Derefof(Refof(auii)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 41, Local0, 0xffffffff)
+ }
+
+ Or(Derefof(Index(paui, 5)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 42, Local0, 0xd650a284)
+
+ Or(Derefof(Index(paui, 18)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 43, Local0, 0xffffffff)
+
+ // Method returns Integer
+
+ Or(m601(1, 5), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 44, Local0, 0xd650a284)
+
+ Or(m601(1, 18), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 45, Local0, 0xffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(Derefof(m602(1, 5, 1)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 46, Local0, 0xd650a284)
+
+ Or(Derefof(m602(1, 18, 1)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 47, Local0, 0xffffffff)
+ }
+
+ // Conversion of the both operands
+
+ Store(Or(Derefof(Index(pb60, 6)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 48, Local0, 0xd650a3a5)
+
+ Store(Or(Derefof(Index(pb60, 10)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 49, Local0, 0xd650a3a5)
+
+ Or(Derefof(Index(pb60, 6)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 50, Local0, 0xd650a3a5)
+
+ Or(Derefof(Index(pb60, 10)), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 51, Local0, 0xd650a3a5)
+ }
+
+ // ShiftLeft, common 32-bit/64-bit test
+ Method(m053, 1)
+ {
+ // Conversion of the first operand
+
+ Store(ShiftLeft(Derefof(Index(pb60, 6)), 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(ShiftLeft(Derefof(Index(pb60, 6)), 1), Local0)
+ m600(arg0, 1, Local0, 0x642)
+
+ Store(ShiftLeft(Derefof(Index(pb60, 6)), aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(ShiftLeft(Derefof(Index(pb60, 6)), aui6), Local0)
+ m600(arg0, 3, Local0, 0x642)
+
+ if (y078) {
+ Store(ShiftLeft(Derefof(Index(pb60, 6)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(ShiftLeft(Derefof(Index(pb60, 6)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x642)
+ }
+
+ Store(ShiftLeft(Derefof(Index(pb60, 6)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(ShiftLeft(Derefof(Index(pb60, 6)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x642)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(Derefof(Index(pb60, 6)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(ShiftLeft(Derefof(Index(pb60, 6)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x642)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(Derefof(Index(pb60, 6)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(ShiftLeft(Derefof(Index(pb60, 6)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x642)
+ }
+
+ ShiftLeft(Derefof(Index(pb60, 6)), 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ ShiftLeft(Derefof(Index(pb60, 6)), 1, Local0)
+ m600(arg0, 13, Local0, 0x642)
+
+ ShiftLeft(Derefof(Index(pb60, 6)), aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ ShiftLeft(Derefof(Index(pb60, 6)), aui6, Local0)
+ m600(arg0, 15, Local0, 0x642)
+
+ if (y078) {
+ ShiftLeft(Derefof(Index(pb60, 6)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ ShiftLeft(Derefof(Index(pb60, 6)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x642)
+ }
+
+ ShiftLeft(Derefof(Index(pb60, 6)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ ShiftLeft(Derefof(Index(pb60, 6)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x642)
+
+ // Method returns Integer
+
+ ShiftLeft(Derefof(Index(pb60, 6)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ ShiftLeft(Derefof(Index(pb60, 6)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x642)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(Derefof(Index(pb60, 6)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ ShiftLeft(Derefof(Index(pb60, 6)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x642)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftLeft(0, Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftLeft(1, Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 25, Local0, 0x800)
+
+ Store(ShiftLeft(aui5, Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftLeft(aui6, Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 27, Local0, 0x800)
+
+ if (y078) {
+ Store(ShiftLeft(Derefof(Refof(aui5)), Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Refof(aui6)), Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 29, Local0, 0x800)
+ }
+
+ Store(ShiftLeft(Derefof(Index(paui, 5)), Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Index(paui, 6)), Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 31, Local0, 0x800)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(m601(1, 5), Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftLeft(m601(1, 6), Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 33, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(Derefof(m602(1, 5, 1)), Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftLeft(Derefof(m602(1, 6, 1)), Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 35, Local0, 0x800)
+ }
+
+ ShiftLeft(0, Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftLeft(1, Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 37, Local0, 0x800)
+
+ ShiftLeft(aui5, Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftLeft(aui6, Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 39, Local0, 0x800)
+
+ if (y078) {
+ ShiftLeft(Derefof(Refof(aui5)), Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftLeft(Derefof(Refof(aui6)), Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 41, Local0, 0x800)
+ }
+
+ ShiftLeft(Derefof(Index(paui, 5)), Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftLeft(Derefof(Index(paui, 6)), Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 43, Local0, 0x800)
+
+ // Method returns Integer
+
+ ShiftLeft(m601(1, 5), Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftLeft(m601(1, 6), Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 45, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(Derefof(m602(1, 5, 1)), Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftLeft(Derefof(m602(1, 6, 1)), Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 47, Local0, 0x800)
+ }
+ }
+
+ // ShiftLeft, 64-bit
+ Method(m054, 1)
+ {
+ // Conversion of the first operand
+
+ Store(ShiftLeft(Derefof(Index(pb60, 10)), 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(Derefof(Index(pb60, 10)), 1), Local0)
+ m600(arg0, 1, Local0, 0xfcf96723aca14508)
+
+ Store(ShiftLeft(Derefof(Index(pb60, 10)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(Derefof(Index(pb60, 10)), aui6), Local0)
+ m600(arg0, 3, Local0, 0xfcf96723aca14508)
+
+ if (y078) {
+ Store(ShiftLeft(Derefof(Index(pb60, 10)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(Derefof(Index(pb60, 10)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xfcf96723aca14508)
+ }
+
+ Store(ShiftLeft(Derefof(Index(pb60, 10)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(Derefof(Index(pb60, 10)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xfcf96723aca14508)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(Derefof(Index(pb60, 10)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(Derefof(Index(pb60, 10)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xfcf96723aca14508)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(Derefof(Index(pb60, 10)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(Derefof(Index(pb60, 10)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfcf96723aca14508)
+ }
+
+ ShiftLeft(Derefof(Index(pb60, 10)), 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(Derefof(Index(pb60, 10)), 1, Local0)
+ m600(arg0, 13, Local0, 0xfcf96723aca14508)
+
+ ShiftLeft(Derefof(Index(pb60, 10)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(Derefof(Index(pb60, 10)), aui6, Local0)
+ m600(arg0, 15, Local0, 0xfcf96723aca14508)
+
+ if (y078) {
+ ShiftLeft(Derefof(Index(pb60, 10)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(Derefof(Index(pb60, 10)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xfcf96723aca14508)
+ }
+
+ ShiftLeft(Derefof(Index(pb60, 10)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(Derefof(Index(pb60, 10)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xfcf96723aca14508)
+
+ // Method returns Integer
+
+ ShiftLeft(Derefof(Index(pb60, 10)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(Derefof(Index(pb60, 10)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xfcf96723aca14508)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(Derefof(Index(pb60, 10)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(Derefof(Index(pb60, 10)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfcf96723aca14508)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftLeft(0, Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftLeft(1, Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 25, Local0, 0x800)
+
+ Store(ShiftLeft(aui5, Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftLeft(aui6, Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 27, Local0, 0x800)
+
+ if (y078) {
+ Store(ShiftLeft(Derefof(Refof(aui5)), Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Refof(aui6)), Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 29, Local0, 0x800)
+ }
+
+ Store(ShiftLeft(Derefof(Index(paui, 5)), Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Index(paui, 6)), Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 31, Local0, 0x800)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(m601(1, 5), Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftLeft(m601(1, 6), Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 33, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(Derefof(m602(1, 5, 1)), Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftLeft(Derefof(m602(1, 6, 1)), Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 35, Local0, 0x800)
+ }
+
+ ShiftLeft(0, Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftLeft(1, Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 37, Local0, 0x800)
+
+ ShiftLeft(aui5, Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftLeft(aui6, Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 39, Local0, 0x800)
+
+ if (y078) {
+ ShiftLeft(Derefof(Refof(aui5)), Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftLeft(Derefof(Refof(aui6)), Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 41, Local0, 0x800)
+ }
+
+ ShiftLeft(Derefof(Index(paui, 5)), Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftLeft(Derefof(Index(paui, 6)), Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 43, Local0, 0x800)
+
+ // Method returns Integer
+
+ ShiftLeft(m601(1, 5), Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftLeft(m601(1, 6), Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 45, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(Derefof(m602(1, 5, 1)), Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftLeft(Derefof(m602(1, 6, 1)), Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 47, Local0, 0x800)
+ }
+
+ // Conversion of the both operands
+
+ Store(ShiftLeft(Derefof(Index(pb60, 6)), Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 48, Local0, 0x190800)
+
+ Store(ShiftLeft(Derefof(Index(pb60, 10)), Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 49, Local0, 0xE59C8EB285142000)
+
+ ShiftLeft(Derefof(Index(pb60, 6)), Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 50, Local0, 0x190800)
+
+ ShiftLeft(Derefof(Index(pb60, 10)), Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 51, Local0, 0xE59C8EB285142000)
+ }
+
+ // ShiftLeft, 32-bit
+ Method(m055, 1)
+ {
+ // Conversion of the first operand
+
+ Store(ShiftLeft(Derefof(Index(pb60, 10)), 0), Local0)
+ m600(arg0, 0, Local0, 0xd650a284)
+
+ Store(ShiftLeft(Derefof(Index(pb60, 10)), 1), Local0)
+ m600(arg0, 1, Local0, 0xaca14508)
+
+ Store(ShiftLeft(Derefof(Index(pb60, 10)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xd650a284)
+
+ Store(ShiftLeft(Derefof(Index(pb60, 10)), aui6), Local0)
+ m600(arg0, 3, Local0, 0xaca14508)
+
+ if (y078) {
+ Store(ShiftLeft(Derefof(Index(pb60, 10)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xd650a284)
+
+ Store(ShiftLeft(Derefof(Index(pb60, 10)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xaca14508)
+ }
+
+ Store(ShiftLeft(Derefof(Index(pb60, 10)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xd650a284)
+
+ Store(ShiftLeft(Derefof(Index(pb60, 10)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xaca14508)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(Derefof(Index(pb60, 10)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xd650a284)
+
+ Store(ShiftLeft(Derefof(Index(pb60, 10)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xaca14508)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(Derefof(Index(pb60, 10)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xd650a284)
+
+ Store(ShiftLeft(Derefof(Index(pb60, 10)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xaca14508)
+ }
+
+ ShiftLeft(Derefof(Index(pb60, 10)), 0, Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ ShiftLeft(Derefof(Index(pb60, 10)), 1, Local0)
+ m600(arg0, 13, Local0, 0xaca14508)
+
+ ShiftLeft(Derefof(Index(pb60, 10)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xd650a284)
+
+ ShiftLeft(Derefof(Index(pb60, 10)), aui6, Local0)
+ m600(arg0, 15, Local0, 0xaca14508)
+
+ if (y078) {
+ ShiftLeft(Derefof(Index(pb60, 10)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xd650a284)
+
+ ShiftLeft(Derefof(Index(pb60, 10)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xaca14508)
+ }
+
+ ShiftLeft(Derefof(Index(pb60, 10)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xd650a284)
+
+ ShiftLeft(Derefof(Index(pb60, 10)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xaca14508)
+
+ // Method returns Integer
+
+ ShiftLeft(Derefof(Index(pb60, 10)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xd650a284)
+
+ ShiftLeft(Derefof(Index(pb60, 10)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xaca14508)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(Derefof(Index(pb60, 10)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xd650a284)
+
+ ShiftLeft(Derefof(Index(pb60, 10)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xaca14508)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftLeft(0, Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftLeft(1, Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 25, Local0, 0x800)
+
+ Store(ShiftLeft(aui5, Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftLeft(aui6, Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 27, Local0, 0x800)
+
+ if (y078) {
+ Store(ShiftLeft(Derefof(Refof(aui5)), Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Refof(aui6)), Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 29, Local0, 0x800)
+ }
+
+ Store(ShiftLeft(Derefof(Index(paui, 5)), Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Index(paui, 6)), Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 31, Local0, 0x800)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(m601(1, 5), Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftLeft(m601(1, 6), Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 33, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(Derefof(m602(1, 5, 1)), Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftLeft(Derefof(m602(1, 6, 1)), Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 35, Local0, 0x800)
+ }
+
+ ShiftLeft(0, Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftLeft(1, Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 37, Local0, 0x800)
+
+ ShiftLeft(aui5, Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftLeft(aui6, Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 39, Local0, 0x800)
+
+ if (y078) {
+ ShiftLeft(Derefof(Refof(aui5)), Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftLeft(Derefof(Refof(aui6)), Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 41, Local0, 0x800)
+ }
+
+ ShiftLeft(Derefof(Index(paui, 5)), Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftLeft(Derefof(Index(paui, 6)), Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 43, Local0, 0x800)
+
+ // Method returns Integer
+
+ ShiftLeft(m601(1, 5), Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftLeft(m601(1, 6), Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 45, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(Derefof(m602(1, 5, 1)), Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftLeft(Derefof(m602(1, 6, 1)), Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 47, Local0, 0x800)
+ }
+
+ // Conversion of the both operands
+
+ Store(ShiftLeft(Derefof(Index(pb60, 6)), Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 48, Local0, 0x190800)
+
+ Store(ShiftLeft(Derefof(Index(pb60, 10)), Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 49, Local0, 0x85142000)
+
+ ShiftLeft(Derefof(Index(pb60, 6)), Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 50, Local0, 0x190800)
+
+ ShiftLeft(Derefof(Index(pb60, 10)), Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 51, Local0, 0x85142000)
+ }
+
+ // ShiftRight, common 32-bit/64-bit test
+ Method(m056, 1)
+ {
+ // Conversion of the first operand
+
+ Store(ShiftRight(Derefof(Index(pb60, 6)), 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(ShiftRight(Derefof(Index(pb60, 6)), 1), Local0)
+ m600(arg0, 1, Local0, 0x190)
+
+ Store(ShiftRight(Derefof(Index(pb60, 6)), aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(ShiftRight(Derefof(Index(pb60, 6)), aui6), Local0)
+ m600(arg0, 3, Local0, 0x190)
+
+ if (y078) {
+ Store(ShiftRight(Derefof(Index(pb60, 6)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(ShiftRight(Derefof(Index(pb60, 6)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x190)
+ }
+
+ Store(ShiftRight(Derefof(Index(pb60, 6)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(ShiftRight(Derefof(Index(pb60, 6)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x190)
+
+ // Method returns Integer
+
+ Store(ShiftRight(Derefof(Index(pb60, 6)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(ShiftRight(Derefof(Index(pb60, 6)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x190)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(Derefof(Index(pb60, 6)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(ShiftRight(Derefof(Index(pb60, 6)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x190)
+ }
+
+ ShiftRight(Derefof(Index(pb60, 6)), 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ ShiftRight(Derefof(Index(pb60, 6)), 1, Local0)
+ m600(arg0, 13, Local0, 0x190)
+
+ ShiftRight(Derefof(Index(pb60, 6)), aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ ShiftRight(Derefof(Index(pb60, 6)), aui6, Local0)
+ m600(arg0, 15, Local0, 0x190)
+
+ if (y078) {
+ ShiftRight(Derefof(Index(pb60, 6)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ ShiftRight(Derefof(Index(pb60, 6)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x190)
+ }
+
+ ShiftRight(Derefof(Index(pb60, 6)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ ShiftRight(Derefof(Index(pb60, 6)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x190)
+
+ // Method returns Integer
+
+ ShiftRight(Derefof(Index(pb60, 6)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ ShiftRight(Derefof(Index(pb60, 6)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x190)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(Derefof(Index(pb60, 6)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ ShiftRight(Derefof(Index(pb60, 6)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x190)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftRight(0x321, Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftRight(0xd650a284, Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 25, Local0, 0x1aca14)
+
+ Store(ShiftRight(aui1, Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftRight(auik, Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 27, Local0, 0x1aca14)
+
+ if (y078) {
+ Store(ShiftRight(Derefof(Refof(aui1)), Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftRight(Derefof(Refof(auik)), Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 29, Local0, 0x1aca14)
+ }
+
+ Store(ShiftRight(Derefof(Index(paui, 1)), Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftRight(Derefof(Index(paui, 20)), Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 31, Local0, 0x1aca14)
+
+ // Method returns Integer
+
+ Store(ShiftRight(m601(1, 1), Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftRight(m601(1, 20), Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 33, Local0, 0x1aca14)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(Derefof(m602(1, 1, 1)), Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftRight(Derefof(m602(1, 20, 1)), Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 35, Local0, 0x1aca14)
+ }
+
+ ShiftRight(0x321, Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftRight(0xd650a284, Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 37, Local0, 0x1aca14)
+
+ ShiftRight(aui1, Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftRight(auik, Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 39, Local0, 0x1aca14)
+
+ if (y078) {
+ ShiftRight(Derefof(Refof(aui1)), Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftRight(Derefof(Refof(auik)), Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 41, Local0, 0x1aca14)
+ }
+
+ ShiftRight(Derefof(Index(paui, 1)), Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftRight(Derefof(Index(paui, 20)), Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 43, Local0, 0x1aca14)
+
+ // Method returns Integer
+
+ ShiftRight(m601(1, 1), Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftRight(m601(1, 20), Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 45, Local0, 0x1aca14)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(Derefof(m602(1, 1, 1)), Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftRight(Derefof(m602(1, 20, 1)), Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 47, Local0, 0x1aca14)
+ }
+ }
+
+ // ShiftRight, 64-bit
+ Method(m057, 1)
+ {
+ // Conversion of the first operand
+
+ Store(ShiftRight(Derefof(Index(pb60, 10)), 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(Derefof(Index(pb60, 10)), 1), Local0)
+ m600(arg0, 1, Local0, 0x7f3e59c8eb285142)
+
+ Store(ShiftRight(Derefof(Index(pb60, 10)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(Derefof(Index(pb60, 10)), aui6), Local0)
+ m600(arg0, 3, Local0, 0x7f3e59c8eb285142)
+
+ if (y078) {
+ Store(ShiftRight(Derefof(Index(pb60, 10)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(Derefof(Index(pb60, 10)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x7f3e59c8eb285142)
+ }
+
+ Store(ShiftRight(Derefof(Index(pb60, 10)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(Derefof(Index(pb60, 10)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x7f3e59c8eb285142)
+
+ // Method returns Integer
+
+ Store(ShiftRight(Derefof(Index(pb60, 10)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(Derefof(Index(pb60, 10)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x7f3e59c8eb285142)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(Derefof(Index(pb60, 10)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(Derefof(Index(pb60, 10)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x7f3e59c8eb285142)
+ }
+
+ ShiftRight(Derefof(Index(pb60, 10)), 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(Derefof(Index(pb60, 10)), 1, Local0)
+ m600(arg0, 13, Local0, 0x7f3e59c8eb285142)
+
+ ShiftRight(Derefof(Index(pb60, 10)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(Derefof(Index(pb60, 10)), aui6, Local0)
+ m600(arg0, 15, Local0, 0x7f3e59c8eb285142)
+
+ if (y078) {
+ ShiftRight(Derefof(Index(pb60, 10)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(Derefof(Index(pb60, 10)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x7f3e59c8eb285142)
+ }
+
+ ShiftRight(Derefof(Index(pb60, 10)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(Derefof(Index(pb60, 10)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x7f3e59c8eb285142)
+
+ // Method returns Integer
+
+ ShiftRight(Derefof(Index(pb60, 10)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(Derefof(Index(pb60, 10)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x7f3e59c8eb285142)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(Derefof(Index(pb60, 10)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(Derefof(Index(pb60, 10)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x7f3e59c8eb285142)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftRight(0x321, Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftRight(0xfe7cb391d650a284, Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 25, Local0, 0x1fcf96723aca14)
+
+ Store(ShiftRight(aui1, Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftRight(aui4, Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 27, Local0, 0x1fcf96723aca14)
+
+ if (y078) {
+ Store(ShiftRight(Derefof(Refof(aui1)), Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftRight(Derefof(Refof(aui4)), Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 29, Local0, 0x1fcf96723aca14)
+ }
+
+ Store(ShiftRight(Derefof(Index(paui, 1)), Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftRight(Derefof(Index(paui, 4)), Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 31, Local0, 0x1fcf96723aca14)
+
+ // Method returns Integer
+
+ Store(ShiftRight(m601(1, 1), Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftRight(m601(1, 4), Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 33, Local0, 0x1fcf96723aca14)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(Derefof(m602(1, 1, 1)), Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftRight(Derefof(m602(1, 4, 1)), Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 35, Local0, 0x1fcf96723aca14)
+ }
+
+ ShiftRight(0x321, Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftRight(0xfe7cb391d650a284, Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 37, Local0, 0x1fcf96723aca14)
+
+ ShiftRight(aui1, Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftRight(aui4, Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 39, Local0, 0x1fcf96723aca14)
+
+ if (y078) {
+ ShiftRight(Derefof(Refof(aui1)), Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftRight(Derefof(Refof(aui4)), Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 41, Local0, 0x1fcf96723aca14)
+ }
+
+ ShiftRight(Derefof(Index(paui, 1)), Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftRight(Derefof(Index(paui, 4)), Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 43, Local0, 0x1fcf96723aca14)
+
+ // Method returns Integer
+
+ ShiftRight(m601(1, 1), Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftRight(m601(1, 4), Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 45, Local0, 0x1fcf96723aca14)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(Derefof(m602(1, 1, 1)), Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftRight(Derefof(m602(1, 4, 1)), Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 47, Local0, 0x1fcf96723aca14)
+ }
+
+ // Conversion of the both operands
+
+ Store(ShiftRight(Derefof(Index(pb60, 6)), Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 48, Local0, 0)
+
+ Store(ShiftRight(Derefof(Index(pb60, 10)), Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 49, Local0, 0x1fcf96723aca14)
+
+ ShiftRight(Derefof(Index(pb60, 6)), Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 50, Local0, 0)
+
+ ShiftRight(Derefof(Index(pb60, 10)), Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 51, Local0, 0x1fcf96723aca14)
+ }
+
+ // ShiftRight, 32-bit
+ Method(m058, 1)
+ {
+ // Conversion of the first operand
+
+ Store(ShiftRight(Derefof(Index(pb60, 10)), 0), Local0)
+ m600(arg0, 0, Local0, 0xd650a284)
+
+ Store(ShiftRight(Derefof(Index(pb60, 10)), 1), Local0)
+ m600(arg0, 1, Local0, 0x6b285142)
+
+ Store(ShiftRight(Derefof(Index(pb60, 10)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xd650a284)
+
+ Store(ShiftRight(Derefof(Index(pb60, 10)), aui6), Local0)
+ m600(arg0, 3, Local0, 0x6b285142)
+
+ if (y078) {
+ Store(ShiftRight(Derefof(Index(pb60, 10)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xd650a284)
+
+ Store(ShiftRight(Derefof(Index(pb60, 10)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x6b285142)
+ }
+
+ Store(ShiftRight(Derefof(Index(pb60, 10)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xd650a284)
+
+ Store(ShiftRight(Derefof(Index(pb60, 10)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x6b285142)
+
+ // Method returns Integer
+
+ Store(ShiftRight(Derefof(Index(pb60, 10)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xd650a284)
+
+ Store(ShiftRight(Derefof(Index(pb60, 10)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x6b285142)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(Derefof(Index(pb60, 10)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xd650a284)
+
+ Store(ShiftRight(Derefof(Index(pb60, 10)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x6b285142)
+ }
+
+ ShiftRight(Derefof(Index(pb60, 10)), 0, Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ ShiftRight(Derefof(Index(pb60, 10)), 1, Local0)
+ m600(arg0, 13, Local0, 0x6b285142)
+
+ ShiftRight(Derefof(Index(pb60, 10)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xd650a284)
+
+ ShiftRight(Derefof(Index(pb60, 10)), aui6, Local0)
+ m600(arg0, 15, Local0, 0x6b285142)
+
+ if (y078) {
+ ShiftRight(Derefof(Index(pb60, 10)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xd650a284)
+
+ ShiftRight(Derefof(Index(pb60, 10)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x6b285142)
+ }
+
+ ShiftRight(Derefof(Index(pb60, 10)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xd650a284)
+
+ ShiftRight(Derefof(Index(pb60, 10)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x6b285142)
+
+ // Method returns Integer
+
+ ShiftRight(Derefof(Index(pb60, 10)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xd650a284)
+
+ ShiftRight(Derefof(Index(pb60, 10)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x6b285142)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(Derefof(Index(pb60, 10)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xd650a284)
+
+ ShiftRight(Derefof(Index(pb60, 10)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x6b285142)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftRight(0x321, Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftRight(0xd650a284, Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 25, Local0, 0x1aca14)
+
+ Store(ShiftRight(aui1, Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftRight(auik, Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 27, Local0, 0x1aca14)
+
+ if (y078) {
+ Store(ShiftRight(Derefof(Refof(aui1)), Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftRight(Derefof(Refof(auik)), Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 29, Local0, 0x1aca14)
+ }
+
+ Store(ShiftRight(Derefof(Index(paui, 1)), Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftRight(Derefof(Index(paui, 20)), Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 31, Local0, 0x1aca14)
+
+ // Method returns Integer
+
+ Store(ShiftRight(m601(1, 1), Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftRight(m601(1, 20), Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 33, Local0, 0x1aca14)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(Derefof(m602(1, 1, 1)), Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftRight(Derefof(m602(1, 20, 1)), Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 35, Local0, 0x1aca14)
+ }
+
+ ShiftRight(0x321, Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftRight(0xd650a284, Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 37, Local0, 0x1aca14)
+
+ ShiftRight(aui1, Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftRight(auik, Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 39, Local0, 0x1aca14)
+
+ if (y078) {
+ ShiftRight(Derefof(Refof(aui1)), Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftRight(Derefof(Refof(auik)), Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 41, Local0, 0x1aca14)
+ }
+
+ ShiftRight(Derefof(Index(paui, 1)), Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftRight(Derefof(Index(paui, 20)), Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 43, Local0, 0x1aca14)
+
+ // Method returns Integer
+
+ ShiftRight(m601(1, 1), Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftRight(m601(1, 20), Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 45, Local0, 0x1aca14)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(Derefof(m602(1, 1, 1)), Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftRight(Derefof(m602(1, 20, 1)), Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 47, Local0, 0x1aca14)
+ }
+
+ // Conversion of the both operands
+
+ Store(ShiftRight(Derefof(Index(pb60, 6)), Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 48, Local0, 0)
+
+ Store(ShiftRight(Derefof(Index(pb60, 10)), Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 49, Local0, 0x1aca14)
+
+ ShiftRight(Derefof(Index(pb60, 6)), Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 50, Local0, 0)
+
+ ShiftRight(Derefof(Index(pb60, 10)), Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 51, Local0, 0x1aca14)
+ }
+
+ // Subtract, common 32-bit/64-bit test
+ Method(m059, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Subtract(Derefof(Index(pb60, 6)), 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Subtract(Derefof(Index(pb60, 6)), 1), Local0)
+ m600(arg0, 1, Local0, 0x320)
+
+ Store(Subtract(Derefof(Index(pb60, 6)), aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Subtract(Derefof(Index(pb60, 6)), aui6), Local0)
+ m600(arg0, 3, Local0, 0x320)
+
+ if (y078) {
+ Store(Subtract(Derefof(Index(pb60, 6)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Subtract(Derefof(Index(pb60, 6)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x320)
+ }
+
+ Store(Subtract(Derefof(Index(pb60, 6)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Subtract(Derefof(Index(pb60, 6)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x320)
+
+ // Method returns Integer
+
+ Store(Subtract(Derefof(Index(pb60, 6)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Subtract(Derefof(Index(pb60, 6)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x320)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(Derefof(Index(pb60, 6)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Subtract(Derefof(Index(pb60, 6)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x320)
+ }
+
+ Subtract(Derefof(Index(pb60, 6)), 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Subtract(Derefof(Index(pb60, 6)), 1, Local0)
+ m600(arg0, 13, Local0, 0x320)
+
+ Subtract(Derefof(Index(pb60, 6)), aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Subtract(Derefof(Index(pb60, 6)), aui6, Local0)
+ m600(arg0, 15, Local0, 0x320)
+
+ if (y078) {
+ Subtract(Derefof(Index(pb60, 6)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Subtract(Derefof(Index(pb60, 6)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x320)
+ }
+
+ Subtract(Derefof(Index(pb60, 6)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Subtract(Derefof(Index(pb60, 6)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x320)
+
+ // Method returns Integer
+
+ Subtract(Derefof(Index(pb60, 6)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Subtract(Derefof(Index(pb60, 6)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x320)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(Derefof(Index(pb60, 6)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Subtract(Derefof(Index(pb60, 6)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x320)
+ }
+
+ // Conversion of the second operand
+
+ Store(Subtract(0, Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 24, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(1, Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 25, Local0, 0xfffffffffffffce0)
+
+ Store(Subtract(aui5, Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 26, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(aui6, Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 27, Local0, 0xfffffffffffffce0)
+
+ if (y078) {
+ Store(Subtract(Derefof(Refof(aui5)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 28, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(Derefof(Refof(aui6)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 29, Local0, 0xfffffffffffffce0)
+ }
+
+ Store(Subtract(Derefof(Index(paui, 5)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 30, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(Derefof(Index(paui, 6)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 31, Local0, 0xfffffffffffffce0)
+
+ // Method returns Integer
+
+ Store(Subtract(m601(1, 5), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 32, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(m601(1, 6), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 33, Local0, 0xfffffffffffffce0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(Derefof(m602(1, 5, 1)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 34, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(Derefof(m602(1, 6, 1)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 35, Local0, 0xfffffffffffffce0)
+ }
+
+ Subtract(0, Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 36, Local0, 0xfffffffffffffcdf)
+
+ Subtract(1, Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 37, Local0, 0xfffffffffffffce0)
+
+ Subtract(aui5, Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 38, Local0, 0xfffffffffffffcdf)
+
+ Subtract(aui6, Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 39, Local0, 0xfffffffffffffce0)
+
+ if (y078) {
+ Subtract(Derefof(Refof(aui5)), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 40, Local0, 0xfffffffffffffcdf)
+
+ Subtract(Derefof(Refof(aui6)), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 41, Local0, 0xfffffffffffffce0)
+ }
+
+ Subtract(Derefof(Index(paui, 5)), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 42, Local0, 0xfffffffffffffcdf)
+
+ Subtract(Derefof(Index(paui, 6)), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 43, Local0, 0xfffffffffffffce0)
+
+ // Method returns Integer
+
+ Subtract(m601(1, 5), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 44, Local0, 0xfffffffffffffcdf)
+
+ Subtract(m601(1, 6), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 45, Local0, 0xfffffffffffffce0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(Derefof(m602(1, 5, 1)), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 46, Local0, 0xfffffffffffffcdf)
+
+ Subtract(Derefof(m602(1, 6, 1)), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 47, Local0, 0xfffffffffffffce0)
+ }
+ }
+
+ // Subtract, 64-bit
+ Method(m05a, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Subtract(Derefof(Index(pb60, 10)), 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(Derefof(Index(pb60, 10)), 1), Local0)
+ m600(arg0, 1, Local0, 0xfe7cb391d650a283)
+
+ Store(Subtract(Derefof(Index(pb60, 10)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(Derefof(Index(pb60, 10)), aui6), Local0)
+ m600(arg0, 3, Local0, 0xfe7cb391d650a283)
+
+ if (y078) {
+ Store(Subtract(Derefof(Index(pb60, 10)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(Derefof(Index(pb60, 10)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xfe7cb391d650a283)
+ }
+
+ Store(Subtract(Derefof(Index(pb60, 10)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(Derefof(Index(pb60, 10)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Integer
+
+ Store(Subtract(Derefof(Index(pb60, 10)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(Derefof(Index(pb60, 10)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(Derefof(Index(pb60, 10)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(Derefof(Index(pb60, 10)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfe7cb391d650a283)
+ }
+
+ Subtract(Derefof(Index(pb60, 10)), 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Subtract(Derefof(Index(pb60, 10)), 1, Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a283)
+
+ Subtract(Derefof(Index(pb60, 10)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Subtract(Derefof(Index(pb60, 10)), aui6, Local0)
+ m600(arg0, 15, Local0, 0xfe7cb391d650a283)
+
+ if (y078) {
+ Subtract(Derefof(Index(pb60, 10)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Subtract(Derefof(Index(pb60, 10)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xfe7cb391d650a283)
+ }
+
+ Subtract(Derefof(Index(pb60, 10)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Subtract(Derefof(Index(pb60, 10)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Integer
+
+ Subtract(Derefof(Index(pb60, 10)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Subtract(Derefof(Index(pb60, 10)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(Derefof(Index(pb60, 10)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Subtract(Derefof(Index(pb60, 10)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfe7cb391d650a283)
+ }
+
+ // Conversion of the second operand
+
+ Store(Subtract(0, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 24, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(1, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 25, Local0, 0x01834c6e29af5d7d)
+
+ Store(Subtract(aui5, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 26, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(aui6, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 27, Local0, 0x01834c6e29af5d7d)
+
+ if (y078) {
+ Store(Subtract(Derefof(Refof(aui5)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 28, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(Derefof(Refof(aui6)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 29, Local0, 0x01834c6e29af5d7d)
+ }
+
+ Store(Subtract(Derefof(Index(paui, 5)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 30, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(Derefof(Index(paui, 6)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 31, Local0, 0x01834c6e29af5d7d)
+
+ // Method returns Integer
+
+ Store(Subtract(m601(1, 5), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 32, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(m601(1, 6), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 33, Local0, 0x01834c6e29af5d7d)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(Derefof(m602(1, 5, 1)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 34, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(Derefof(m602(1, 6, 1)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 35, Local0, 0x01834c6e29af5d7d)
+ }
+
+ Subtract(0, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 36, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(1, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 37, Local0, 0x01834c6e29af5d7d)
+
+ Subtract(aui5, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 38, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(aui6, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 39, Local0, 0x01834c6e29af5d7d)
+
+ if (y078) {
+ Subtract(Derefof(Refof(aui5)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 40, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(Derefof(Refof(aui6)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 41, Local0, 0x01834c6e29af5d7d)
+ }
+
+ Subtract(Derefof(Index(paui, 5)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 42, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(Derefof(Index(paui, 6)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 43, Local0, 0x01834c6e29af5d7d)
+
+ // Method returns Integer
+
+ Subtract(m601(1, 5), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 44, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(m601(1, 6), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 45, Local0, 0x01834c6e29af5d7d)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(Derefof(m602(1, 5, 1)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 46, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(Derefof(m602(1, 6, 1)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 47, Local0, 0x01834c6e29af5d7d)
+ }
+
+ // Conversion of the both operands
+
+ Store(Subtract(Derefof(Index(pb60, 6)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 48, Local0, 0x01834c6e29af609d)
+
+ Store(Subtract(Derefof(Index(pb60, 10)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 49, Local0, 0xfe7cb391d6509f63)
+
+ Subtract(Derefof(Index(pb60, 6)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 50, Local0, 0x01834c6e29af609d)
+
+ Subtract(Derefof(Index(pb60, 10)), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 51, Local0, 0xfe7cb391d6509f63)
+ }
+
+ // Subtract, 32-bit
+ Method(m05b, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Subtract(Derefof(Index(pb60, 10)), 0), Local0)
+ m600(arg0, 0, Local0, 0xd650a284)
+
+ Store(Subtract(Derefof(Index(pb60, 10)), 1), Local0)
+ m600(arg0, 1, Local0, 0xd650a283)
+
+ Store(Subtract(Derefof(Index(pb60, 10)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xd650a284)
+
+ Store(Subtract(Derefof(Index(pb60, 10)), aui6), Local0)
+ m600(arg0, 3, Local0, 0xd650a283)
+
+ if (y078) {
+ Store(Subtract(Derefof(Index(pb60, 10)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xd650a284)
+
+ Store(Subtract(Derefof(Index(pb60, 10)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xd650a283)
+ }
+
+ Store(Subtract(Derefof(Index(pb60, 10)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xd650a284)
+
+ Store(Subtract(Derefof(Index(pb60, 10)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xd650a283)
+
+ // Method returns Integer
+
+ Store(Subtract(Derefof(Index(pb60, 10)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xd650a284)
+
+ Store(Subtract(Derefof(Index(pb60, 10)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xd650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(Derefof(Index(pb60, 10)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xd650a284)
+
+ Store(Subtract(Derefof(Index(pb60, 10)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xd650a283)
+ }
+
+ Subtract(Derefof(Index(pb60, 10)), 0, Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ Subtract(Derefof(Index(pb60, 10)), 1, Local0)
+ m600(arg0, 13, Local0, 0xd650a283)
+
+ Subtract(Derefof(Index(pb60, 10)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xd650a284)
+
+ Subtract(Derefof(Index(pb60, 10)), aui6, Local0)
+ m600(arg0, 15, Local0, 0xd650a283)
+
+ if (y078) {
+ Subtract(Derefof(Index(pb60, 10)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xd650a284)
+
+ Subtract(Derefof(Index(pb60, 10)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xd650a283)
+ }
+
+ Subtract(Derefof(Index(pb60, 10)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xd650a284)
+
+ Subtract(Derefof(Index(pb60, 10)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xd650a283)
+
+ // Method returns Integer
+
+ Subtract(Derefof(Index(pb60, 10)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xd650a284)
+
+ Subtract(Derefof(Index(pb60, 10)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xd650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(Derefof(Index(pb60, 10)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xd650a284)
+
+ Subtract(Derefof(Index(pb60, 10)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xd650a283)
+ }
+
+ // Conversion of the second operand
+
+ Store(Subtract(0, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 24, Local0, 0x29af5d7c)
+
+ Store(Subtract(1, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 25, Local0, 0x29af5d7d)
+
+ Store(Subtract(aui5, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 26, Local0, 0x29af5d7c)
+
+ Store(Subtract(aui6, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 27, Local0, 0x29af5d7d)
+
+ if (y078) {
+ Store(Subtract(Derefof(Refof(aui5)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 28, Local0, 0x29af5d7c)
+
+ Store(Subtract(Derefof(Refof(aui6)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 29, Local0, 0x29af5d7d)
+ }
+
+ Store(Subtract(Derefof(Index(paui, 5)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 30, Local0, 0x29af5d7c)
+
+ Store(Subtract(Derefof(Index(paui, 6)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 31, Local0, 0x29af5d7d)
+
+ // Method returns Integer
+
+ Store(Subtract(m601(1, 5), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 32, Local0, 0x29af5d7c)
+
+ Store(Subtract(m601(1, 6), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 33, Local0, 0x29af5d7d)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(Derefof(m602(1, 5, 1)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 34, Local0, 0x29af5d7c)
+
+ Store(Subtract(Derefof(m602(1, 6, 1)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 35, Local0, 0x29af5d7d)
+ }
+
+ Subtract(0, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 36, Local0, 0x29af5d7c)
+
+ Subtract(1, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 37, Local0, 0x29af5d7d)
+
+ Subtract(aui5, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 38, Local0, 0x29af5d7c)
+
+ Subtract(aui6, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 39, Local0, 0x29af5d7d)
+
+ if (y078) {
+ Subtract(Derefof(Refof(aui5)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 40, Local0, 0x29af5d7c)
+
+ Subtract(Derefof(Refof(aui6)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 41, Local0, 0x29af5d7d)
+ }
+
+ Subtract(Derefof(Index(paui, 5)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 42, Local0, 0x29af5d7c)
+
+ Subtract(Derefof(Index(paui, 6)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 43, Local0, 0x29af5d7d)
+
+ // Method returns Integer
+
+ Subtract(m601(1, 5), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 44, Local0, 0x29af5d7c)
+
+ Subtract(m601(1, 6), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 45, Local0, 0x29af5d7d)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(Derefof(m602(1, 5, 1)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 46, Local0, 0x29af5d7c)
+
+ Subtract(Derefof(m602(1, 6, 1)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 47, Local0, 0x29af5d7d)
+ }
+
+ // Conversion of the both operands
+
+ Store(Subtract(Derefof(Index(pb60, 6)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 48, Local0, 0x29af609d)
+
+ Store(Subtract(Derefof(Index(pb60, 10)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 49, Local0, 0xd6509f63)
+
+ Subtract(Derefof(Index(pb60, 6)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 50, Local0, 0x29af609d)
+
+ Subtract(Derefof(Index(pb60, 10)), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 51, Local0, 0xd6509f63)
+ }
+
+ // XOr, common 32-bit/64-bit test
+ Method(m05c, 1)
+ {
+ // Conversion of the first operand
+
+ Store(XOr(Derefof(Index(pb60, 6)), 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(XOr(Derefof(Index(pb60, 6)), 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xfffffffffffffcde)
+
+ Store(XOr(Derefof(Index(pb60, 6)), aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(XOr(Derefof(Index(pb60, 6)), auij), Local0)
+ m600(arg0, 3, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ Store(XOr(Derefof(Index(pb60, 6)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(XOr(Derefof(Index(pb60, 6)), Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xfffffffffffffcde)
+ }
+
+ Store(XOr(Derefof(Index(pb60, 6)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(XOr(Derefof(Index(pb60, 6)), Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ Store(XOr(Derefof(Index(pb60, 6)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(XOr(Derefof(Index(pb60, 6)), m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(Derefof(Index(pb60, 6)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(XOr(Derefof(Index(pb60, 6)), Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfffffffffffffcde)
+ }
+
+ XOr(Derefof(Index(pb60, 6)), 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ XOr(Derefof(Index(pb60, 6)), 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xfffffffffffffcde)
+
+ XOr(Derefof(Index(pb60, 6)), aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ XOr(Derefof(Index(pb60, 6)), auij, Local0)
+ m600(arg0, 15, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ XOr(Derefof(Index(pb60, 6)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ XOr(Derefof(Index(pb60, 6)), Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xfffffffffffffcde)
+ }
+
+ XOr(Derefof(Index(pb60, 6)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ XOr(Derefof(Index(pb60, 6)), Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ XOr(Derefof(Index(pb60, 6)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ XOr(Derefof(Index(pb60, 6)), m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(Derefof(Index(pb60, 6)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ XOr(Derefof(Index(pb60, 6)), Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfffffffffffffcde)
+ }
+
+ // Conversion of the second operand
+
+ Store(XOr(0, Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 24, Local0, 0x321)
+
+ Store(XOr(0xffffffffffffffff, Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 25, Local0, 0xfffffffffffffcde)
+
+ Store(XOr(aui5, Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 26, Local0, 0x321)
+
+ Store(XOr(auij, Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 27, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ Store(XOr(Derefof(Refof(aui5)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 28, Local0, 0x321)
+
+ Store(XOr(Derefof(Refof(auij)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 29, Local0, 0xfffffffffffffcde)
+ }
+
+ Store(XOr(Derefof(Index(paui, 5)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 30, Local0, 0x321)
+
+ Store(XOr(Derefof(Index(paui, 19)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 31, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ Store(XOr(m601(1, 5), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 32, Local0, 0x321)
+
+ Store(XOr(m601(1, 19), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 33, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(Derefof(m602(1, 5, 1)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 34, Local0, 0x321)
+
+ Store(XOr(Derefof(m602(1, 19, 1)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 35, Local0, 0xfffffffffffffcde)
+ }
+
+ XOr(0, Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 36, Local0, 0x321)
+
+ XOr(0xffffffffffffffff, Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 37, Local0, 0xfffffffffffffcde)
+
+ XOr(aui5, Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 38, Local0, 0x321)
+
+ XOr(auij, Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 39, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ XOr(Derefof(Refof(aui5)), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 40, Local0, 0x321)
+
+ XOr(Derefof(Refof(auij)), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 41, Local0, 0xfffffffffffffcde)
+ }
+
+ XOr(Derefof(Index(paui, 5)), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 42, Local0, 0x321)
+
+ XOr(Derefof(Index(paui, 19)), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 43, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ XOr(m601(1, 5), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 44, Local0, 0x321)
+
+ XOr(m601(1, 19), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 45, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(Derefof(m602(1, 5, 1)), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 46, Local0, 0x321)
+
+ XOr(Derefof(m602(1, 19, 1)), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 47, Local0, 0xfffffffffffffcde)
+ }
+ }
+
+ // XOr, 64-bit
+ Method(m05d, 1)
+ {
+ // Conversion of the first operand
+
+ Store(XOr(Derefof(Index(pb60, 10)), 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(Index(pb60, 10)), 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0x01834c6e29af5d7b)
+
+ Store(XOr(Derefof(Index(pb60, 10)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(Index(pb60, 10)), auij), Local0)
+ m600(arg0, 3, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ Store(XOr(Derefof(Index(pb60, 10)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(Index(pb60, 10)), Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Store(XOr(Derefof(Index(pb60, 10)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(Index(pb60, 10)), Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ Store(XOr(Derefof(Index(pb60, 10)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(Index(pb60, 10)), m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(Derefof(Index(pb60, 10)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(Index(pb60, 10)), Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0x01834c6e29af5d7b)
+ }
+
+ XOr(Derefof(Index(pb60, 10)), 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(Index(pb60, 10)), 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0x01834c6e29af5d7b)
+
+ XOr(Derefof(Index(pb60, 10)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(Index(pb60, 10)), auij, Local0)
+ m600(arg0, 15, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ XOr(Derefof(Index(pb60, 10)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(Index(pb60, 10)), Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0x01834c6e29af5d7b)
+ }
+
+ XOr(Derefof(Index(pb60, 10)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(Index(pb60, 10)), Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ XOr(Derefof(Index(pb60, 10)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(Index(pb60, 10)), m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(Derefof(Index(pb60, 10)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(Index(pb60, 10)), Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0x01834c6e29af5d7b)
+ }
+
+ // Conversion of the second operand
+
+ Store(XOr(0, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 24, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(0xffffffffffffffff, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 25, Local0, 0x01834c6e29af5d7b)
+
+ Store(XOr(aui5, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 26, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(auij, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 27, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ Store(XOr(Derefof(Refof(aui5)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 28, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(Refof(auij)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 29, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Store(XOr(Derefof(Index(paui, 5)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 30, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(Index(paui, 19)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 31, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ Store(XOr(m601(1, 5), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 32, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(m601(1, 19), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 33, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(Derefof(m602(1, 5, 1)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 34, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(m602(1, 19, 1)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 35, Local0, 0x01834c6e29af5d7b)
+ }
+
+ XOr(0, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 36, Local0, 0xfe7cb391d650a284)
+
+ XOr(0xffffffffffffffff, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 37, Local0, 0x01834c6e29af5d7b)
+
+ XOr(aui5, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 38, Local0, 0xfe7cb391d650a284)
+
+ XOr(auij, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 39, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ XOr(Derefof(Refof(aui5)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 40, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(Refof(auij)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 41, Local0, 0x01834c6e29af5d7b)
+ }
+
+ XOr(Derefof(Index(paui, 5)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 42, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(Index(paui, 19)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 43, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ XOr(m601(1, 5), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 44, Local0, 0xfe7cb391d650a284)
+
+ XOr(m601(1, 19), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 45, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(Derefof(m602(1, 5, 1)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 46, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(m602(1, 19, 1)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 47, Local0, 0x01834c6e29af5d7b)
+ }
+
+ // Conversion of the both operands
+
+ Store(XOr(Derefof(Index(pb60, 6)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 48, Local0, 0xfe7cb391d650a1a5)
+
+ Store(XOr(Derefof(Index(pb60, 10)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 49, Local0, 0xfe7cb391d650a1a5)
+
+ XOr(Derefof(Index(pb60, 6)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 50, Local0, 0xfe7cb391d650a1a5)
+
+ XOr(Derefof(Index(pb60, 10)), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 51, Local0, 0xfe7cb391d650a1a5)
+ }
+
+ // XOr, 32-bit
+ Method(m05e, 1)
+ {
+ // Conversion of the first operand
+
+ Store(XOr(Derefof(Index(pb60, 10)), 0), Local0)
+ m600(arg0, 0, Local0, 0xd650a284)
+
+ Store(XOr(Derefof(Index(pb60, 10)), 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0x29af5d7b)
+
+ Store(XOr(Derefof(Index(pb60, 10)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xd650a284)
+
+ Store(XOr(Derefof(Index(pb60, 10)), auii), Local0)
+ m600(arg0, 3, Local0, 0x29af5d7b)
+
+ if (y078) {
+ Store(XOr(Derefof(Index(pb60, 10)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xd650a284)
+
+ Store(XOr(Derefof(Index(pb60, 10)), Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0x29af5d7b)
+ }
+
+ Store(XOr(Derefof(Index(pb60, 10)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xd650a284)
+
+ Store(XOr(Derefof(Index(pb60, 10)), Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0x29af5d7b)
+
+ // Method returns Integer
+
+ Store(XOr(Derefof(Index(pb60, 10)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xd650a284)
+
+ Store(XOr(Derefof(Index(pb60, 10)), m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0x29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(Derefof(Index(pb60, 10)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xd650a284)
+
+ Store(XOr(Derefof(Index(pb60, 10)), Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0x29af5d7b)
+ }
+
+ XOr(Derefof(Index(pb60, 10)), 0, Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ XOr(Derefof(Index(pb60, 10)), 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0x29af5d7b)
+
+ XOr(Derefof(Index(pb60, 10)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xd650a284)
+
+ XOr(Derefof(Index(pb60, 10)), auii, Local0)
+ m600(arg0, 15, Local0, 0x29af5d7b)
+
+ if (y078) {
+ XOr(Derefof(Index(pb60, 10)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xd650a284)
+
+ XOr(Derefof(Index(pb60, 10)), Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0x29af5d7b)
+ }
+
+ XOr(Derefof(Index(pb60, 10)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xd650a284)
+
+ XOr(Derefof(Index(pb60, 10)), Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0x29af5d7b)
+
+ // Method returns Integer
+
+ XOr(Derefof(Index(pb60, 10)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xd650a284)
+
+ XOr(Derefof(Index(pb60, 10)), m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0x29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(Derefof(Index(pb60, 10)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xd650a284)
+
+ XOr(Derefof(Index(pb60, 10)), Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0x29af5d7b)
+ }
+
+ // Conversion of the second operand
+
+ Store(XOr(0, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 24, Local0, 0xd650a284)
+
+ Store(XOr(0xffffffff, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 25, Local0, 0x29af5d7b)
+
+ Store(XOr(aui5, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 26, Local0, 0xd650a284)
+
+ Store(XOr(auii, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 27, Local0, 0x29af5d7b)
+
+ if (y078) {
+ Store(XOr(Derefof(Refof(aui5)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 28, Local0, 0xd650a284)
+
+ Store(XOr(Derefof(Refof(auii)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 29, Local0, 0x29af5d7b)
+ }
+
+ Store(XOr(Derefof(Index(paui, 5)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 30, Local0, 0xd650a284)
+
+ Store(XOr(Derefof(Index(paui, 18)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 31, Local0, 0x29af5d7b)
+
+ // Method returns Integer
+
+ Store(XOr(m601(1, 5), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 32, Local0, 0xd650a284)
+
+ Store(XOr(m601(1, 18), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 33, Local0, 0x29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(Derefof(m602(1, 5, 1)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 34, Local0, 0xd650a284)
+
+ Store(XOr(Derefof(m602(1, 18, 1)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 35, Local0, 0x29af5d7b)
+ }
+
+ XOr(0, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 36, Local0, 0xd650a284)
+
+ XOr(0xffffffff, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 37, Local0, 0x29af5d7b)
+
+ XOr(aui5, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 38, Local0, 0xd650a284)
+
+ XOr(auii, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 39, Local0, 0x29af5d7b)
+
+ if (y078) {
+ XOr(Derefof(Refof(aui5)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 40, Local0, 0xd650a284)
+
+ XOr(Derefof(Refof(auii)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 41, Local0, 0x29af5d7b)
+ }
+
+ XOr(Derefof(Index(paui, 5)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 42, Local0, 0xd650a284)
+
+ XOr(Derefof(Index(paui, 18)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 43, Local0, 0x29af5d7b)
+
+ // Method returns Integer
+
+ XOr(m601(1, 5), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 44, Local0, 0xd650a284)
+
+ XOr(m601(1, 18), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 45, Local0, 0x29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(Derefof(m602(1, 5, 1)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 46, Local0, 0xd650a284)
+
+ XOr(Derefof(m602(1, 18, 1)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 47, Local0, 0x29af5d7b)
+ }
+
+ // Conversion of the both operands
+
+ Store(XOr(Derefof(Index(pb60, 6)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 48, Local0, 0xd650a1a5)
+
+ Store(XOr(Derefof(Index(pb60, 10)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 49, Local0, 0xd650a1a5)
+
+ XOr(Derefof(Index(pb60, 6)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 50, Local0, 0xd650a1a5)
+
+ XOr(Derefof(Index(pb60, 10)), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 51, Local0, 0xd650a1a5)
+ }
+
+ // Add, And, Divide, Mod, Multiply, NAnd, NOr, Or,
+ // ShiftLeft, ShiftRight, Subtract, Xor
+
+ Method(m64n, 1)
+ {
+ // Add
+ Concatenate(arg0, "-m03b", Local0)
+ SRMT(Local0)
+ m03b(Local0)
+ Concatenate(arg0, "-m03c", Local0)
+ SRMT(Local0)
+ m03c(Local0)
+
+ // And
+ Concatenate(arg0, "-m03e", Local0)
+ SRMT(Local0)
+ m03e(Local0)
+ Concatenate(arg0, "-m03f", Local0)
+ SRMT(Local0)
+ m03f(Local0)
+
+ // Divide
+ Concatenate(arg0, "-m041", Local0)
+ SRMT(Local0)
+ m041(Local0)
+ Concatenate(arg0, "-m042", Local0)
+ SRMT(Local0)
+ m042(Local0)
+
+ // Mod
+ Concatenate(arg0, "-m044", Local0)
+ SRMT(Local0)
+ m044(Local0)
+ Concatenate(arg0, "-m045", Local0)
+ SRMT(Local0)
+ m045(Local0)
+
+ // Multiply
+ Concatenate(arg0, "-m047", Local0)
+ SRMT(Local0)
+ m047(Local0)
+ Concatenate(arg0, "-m048", Local0)
+ SRMT(Local0)
+ m048(Local0)
+
+ // NAnd
+ Concatenate(arg0, "-m04a", Local0)
+ SRMT(Local0)
+ m04a(Local0)
+ Concatenate(arg0, "-m04b", Local0)
+ SRMT(Local0)
+ m04b(Local0)
+
+ // NOr
+ Concatenate(arg0, "-m04d", Local0)
+ SRMT(Local0)
+ m04d(Local0)
+ Concatenate(arg0, "-m04e", Local0)
+ SRMT(Local0)
+ m04e(Local0)
+
+ // Or
+ Concatenate(arg0, "-m050", Local0)
+ SRMT(Local0)
+ m050(Local0)
+ Concatenate(arg0, "-m051", Local0)
+ SRMT(Local0)
+ m051(Local0)
+
+ // ShiftLeft
+ Concatenate(arg0, "-m053", Local0)
+ SRMT(Local0)
+ m053(Local0)
+ Concatenate(arg0, "-m054", Local0)
+ SRMT(Local0)
+ m054(Local0)
+
+ // ShiftRight
+ Concatenate(arg0, "-m056", Local0)
+ SRMT(Local0)
+ m056(Local0)
+ Concatenate(arg0, "-m057", Local0)
+ SRMT(Local0)
+ m057(Local0)
+
+ // Subtract
+ Concatenate(arg0, "-m059", Local0)
+ SRMT(Local0)
+ m059(Local0)
+ Concatenate(arg0, "-m05a", Local0)
+ SRMT(Local0)
+ m05a(Local0)
+
+ // XOr
+ Concatenate(arg0, "-m05c", Local0)
+ SRMT(Local0)
+ m05c(Local0)
+ Concatenate(arg0, "-m05d", Local0)
+ SRMT(Local0)
+ m05d(Local0)
+ }
+
+ Method(m32n, 1)
+ {
+ // Add
+ Concatenate(arg0, "-m03b", Local0)
+ SRMT(Local0)
+ m03b(Local0)
+ Concatenate(arg0, "-m03d", Local0)
+ SRMT(Local0)
+ m03d(Local0)
+
+ // And
+ Concatenate(arg0, "-m03e", Local0)
+ SRMT(Local0)
+ m03e(Local0)
+ Concatenate(arg0, "-m040", Local0)
+ SRMT(Local0)
+ m040(Local0)
+
+ // Divide
+ Concatenate(arg0, "-m041", Local0)
+ SRMT(Local0)
+ m041(Local0)
+ Concatenate(arg0, "-m043", Local0)
+ SRMT(Local0)
+ m043(Local0)
+
+ // Mod
+ Concatenate(arg0, "-m044", Local0)
+ SRMT(Local0)
+ m044(Local0)
+ Concatenate(arg0, "-m046", Local0)
+ SRMT(Local0)
+ m046(Local0)
+
+ // Multiply
+ Concatenate(arg0, "-m047", Local0)
+ SRMT(Local0)
+ m047(Local0)
+ Concatenate(arg0, "-m049", Local0)
+ SRMT(Local0)
+ m049(Local0)
+
+ // NAnd
+ Concatenate(arg0, "-m04a", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m04a(Local0)
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m04c", Local0)
+ SRMT(Local0)
+ m04c(Local0)
+
+ // NOr
+ Concatenate(arg0, "-m04d", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m04d(Local0)
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m04f", Local0)
+ SRMT(Local0)
+ m04f(Local0)
+
+ // Or
+ Concatenate(arg0, "-m050", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m050(Local0)
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m052", Local0)
+ SRMT(Local0)
+ m052(Local0)
+
+ // ShiftLeft
+ Concatenate(arg0, "-m053", Local0)
+ SRMT(Local0)
+ m053(Local0)
+ Concatenate(arg0, "-m055", Local0)
+ SRMT(Local0)
+ m055(Local0)
+
+ // ShiftRight
+ Concatenate(arg0, "-m056", Local0)
+ SRMT(Local0)
+ m056(Local0)
+ Concatenate(arg0, "-m058", Local0)
+ SRMT(Local0)
+ m058(Local0)
+
+ // Subtract
+ Concatenate(arg0, "-m059", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m059(Local0)
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m05b", Local0)
+ SRMT(Local0)
+ m05b(Local0)
+
+ // XOr
+ Concatenate(arg0, "-m05c", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m05c(Local0)
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m05e", Local0)
+ SRMT(Local0)
+ m05e(Local0)
+ }
+
+
+ // Buffer to Integer conversion of each Buffer operand
+ // of the 2-parameter Logical Integer operators LAnd and LOr
+
+ // LAnd, common 32-bit/64-bit test
+ Method(m05f, 1)
+ {
+ // Conversion of the first operand
+
+ Store(LAnd(Derefof(Index(pb60, 6)), 0), Local0)
+ m600(arg0, 0, Local0, Zero)
+
+ Store(LAnd(Derefof(Index(pb60, 6)), 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(LAnd(Derefof(Index(pb60, 6)), aui5), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LAnd(Derefof(Index(pb60, 6)), aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(Derefof(Index(pb60, 6)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LAnd(Derefof(Index(pb60, 6)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(LAnd(Derefof(Index(pb60, 6)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Zero)
+
+ Store(LAnd(Derefof(Index(pb60, 6)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(Derefof(Index(pb60, 6)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Zero)
+
+ Store(LAnd(Derefof(Index(pb60, 6)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(Derefof(Index(pb60, 6)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LAnd(Derefof(Index(pb60, 6)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(LAnd(0, Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LAnd(1, Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LAnd(aui5, Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LAnd(aui6, Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(Derefof(Refof(aui5)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(aui6)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(LAnd(Derefof(Index(paui, 5)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LAnd(Derefof(Index(paui, 6)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(m601(1, 5), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LAnd(m601(1, 6), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(Derefof(m602(1, 5, 1)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LAnd(Derefof(m602(1, 6, 1)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+ }
+
+ // LAnd, 64-bit
+ Method(m060, 1)
+ {
+ // Conversion of the first operand
+
+ Store(LAnd(Derefof(Index(pb60, 10)), 0), Local0)
+ m600(arg0, 0, Local0, Zero)
+
+ Store(LAnd(Derefof(Index(pb60, 10)), 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(LAnd(Derefof(Index(pb60, 10)), aui5), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LAnd(Derefof(Index(pb60, 10)), aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(Derefof(Index(pb60, 10)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LAnd(Derefof(Index(pb60, 10)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(LAnd(Derefof(Index(pb60, 10)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Zero)
+
+ Store(LAnd(Derefof(Index(pb60, 10)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(Derefof(Index(pb60, 10)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Zero)
+
+ Store(LAnd(Derefof(Index(pb60, 10)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(Derefof(Index(pb60, 10)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LAnd(Derefof(Index(pb60, 10)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(LAnd(0, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LAnd(1, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LAnd(aui5, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LAnd(aui6, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(Derefof(Refof(aui5)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(aui6)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(LAnd(Derefof(Index(paui, 5)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LAnd(Derefof(Index(paui, 6)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(m601(1, 5), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LAnd(m601(1, 6), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(Derefof(m602(1, 5, 1)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LAnd(Derefof(m602(1, 6, 1)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+
+ // Conversion of the both operands
+
+ Store(LAnd(Derefof(Index(pb60, 6)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 24, Local0, Ones)
+
+ Store(LAnd(Derefof(Index(pb60, 10)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // LAnd, 32-bit
+ Method(m061, 1)
+ {
+ // Conversion of the first operand
+
+ Store(LAnd(Derefof(Index(pb60, 10)), 0), Local0)
+ m600(arg0, 0, Local0, Zero)
+
+ Store(LAnd(Derefof(Index(pb60, 10)), 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(LAnd(Derefof(Index(pb60, 10)), aui5), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LAnd(Derefof(Index(pb60, 10)), aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(Derefof(Index(pb60, 10)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LAnd(Derefof(Index(pb60, 10)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(LAnd(Derefof(Index(pb60, 10)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Zero)
+
+ Store(LAnd(Derefof(Index(pb60, 10)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(Derefof(Index(pb60, 10)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Zero)
+
+ Store(LAnd(Derefof(Index(pb60, 10)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(Derefof(Index(pb60, 10)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LAnd(Derefof(Index(pb60, 10)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(LAnd(0, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LAnd(1, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LAnd(aui5, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LAnd(aui6, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(Derefof(Refof(aui5)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(aui6)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(LAnd(Derefof(Index(paui, 5)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LAnd(Derefof(Index(paui, 6)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(m601(1, 5), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LAnd(m601(1, 6), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(Derefof(m602(1, 5, 1)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LAnd(Derefof(m602(1, 6, 1)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+
+ // Conversion of the both operands
+
+ Store(LAnd(Derefof(Index(pb60, 6)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 24, Local0, Ones)
+
+ Store(LAnd(Derefof(Index(pb60, 10)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // Lor, common 32-bit/64-bit test
+ Method(m062, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Lor(Derefof(Index(pb60, 0)), 0), Local0)
+ m600(arg0, 0, Local0, Zero)
+
+ Store(Lor(Derefof(Index(pb60, 0)), 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(Lor(Derefof(Index(pb60, 0)), aui5), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(Lor(Derefof(Index(pb60, 0)), aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(Derefof(Index(pb60, 0)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(Lor(Derefof(Index(pb60, 0)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(Lor(Derefof(Index(pb60, 0)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Zero)
+
+ Store(Lor(Derefof(Index(pb60, 0)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(Derefof(Index(pb60, 0)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Zero)
+
+ Store(Lor(Derefof(Index(pb60, 0)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(Derefof(Index(pb60, 0)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(Lor(Derefof(Index(pb60, 0)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(Lor(0, Derefof(Index(pb60, 0))), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(Lor(1, Derefof(Index(pb60, 0))), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(Lor(aui5, Derefof(Index(pb60, 0))), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(Lor(aui6, Derefof(Index(pb60, 0))), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(Derefof(Refof(aui5)), Derefof(Index(pb60, 0))), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(Lor(Derefof(Refof(aui6)), Derefof(Index(pb60, 0))), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(Lor(Derefof(Index(paui, 5)), Derefof(Index(pb60, 0))), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(Lor(Derefof(Index(paui, 6)), Derefof(Index(pb60, 0))), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(m601(1, 5), Derefof(Index(pb60, 0))), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(Lor(m601(1, 6), Derefof(Index(pb60, 0))), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(Derefof(m602(1, 5, 1)), Derefof(Index(pb60, 0))), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(Lor(Derefof(m602(1, 6, 1)), Derefof(Index(pb60, 0))), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+ }
+
+ // Lor, 64-bit
+ Method(m063, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Lor(Derefof(Index(pb60, 10)), 0), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(Lor(Derefof(Index(pb60, 10)), 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(Lor(Derefof(Index(pb60, 10)), aui5), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(Lor(Derefof(Index(pb60, 10)), aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(Derefof(Index(pb60, 10)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(Lor(Derefof(Index(pb60, 10)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(Lor(Derefof(Index(pb60, 10)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(Lor(Derefof(Index(pb60, 10)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(Derefof(Index(pb60, 10)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(Lor(Derefof(Index(pb60, 10)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(Derefof(Index(pb60, 10)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(Lor(Derefof(Index(pb60, 10)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(Lor(0, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(Lor(1, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(Lor(aui5, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 14, Local0, Ones)
+
+ Store(Lor(aui6, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(Derefof(Refof(aui5)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 16, Local0, Ones)
+
+ Store(Lor(Derefof(Refof(aui6)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(Lor(Derefof(Index(paui, 5)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 18, Local0, Ones)
+
+ Store(Lor(Derefof(Index(paui, 6)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(m601(1, 5), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 20, Local0, Ones)
+
+ Store(Lor(m601(1, 6), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(Derefof(m602(1, 5, 1)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(Lor(Derefof(m602(1, 6, 1)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+
+ // Conversion of the both operands
+
+ Store(Lor(Derefof(Index(pb60, 0)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 24, Local0, Ones)
+
+ Store(Lor(Derefof(Index(pb60, 10)), Derefof(Index(pb60, 0))), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // Lor, 32-bit
+ Method(m064, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Lor(Derefof(Index(pb60, 10)), 0), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(Lor(Derefof(Index(pb60, 10)), 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(Lor(Derefof(Index(pb60, 10)), aui5), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(Lor(Derefof(Index(pb60, 10)), aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(Derefof(Index(pb60, 10)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(Lor(Derefof(Index(pb60, 10)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(Lor(Derefof(Index(pb60, 10)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(Lor(Derefof(Index(pb60, 10)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(Derefof(Index(pb60, 10)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(Lor(Derefof(Index(pb60, 10)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(Derefof(Index(pb60, 10)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(Lor(Derefof(Index(pb60, 10)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(Lor(0, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(Lor(1, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(Lor(aui5, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 14, Local0, Ones)
+
+ Store(Lor(aui6, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(Derefof(Refof(aui5)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 16, Local0, Ones)
+
+ Store(Lor(Derefof(Refof(aui6)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(Lor(Derefof(Index(paui, 5)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 18, Local0, Ones)
+
+ Store(Lor(Derefof(Index(paui, 6)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(m601(1, 5), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 20, Local0, Ones)
+
+ Store(Lor(m601(1, 6), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(Derefof(m602(1, 5, 1)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(Lor(Derefof(m602(1, 6, 1)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+
+ // Conversion of the both operands
+
+ Store(Lor(Derefof(Index(pb60, 0)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 24, Local0, Ones)
+
+ Store(Lor(Derefof(Index(pb60, 10)), Derefof(Index(pb60, 0))), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ Method(m64o, 1)
+ {
+ // LAnd
+ Concatenate(arg0, "-m05f", Local0)
+ SRMT(Local0)
+ m05f(Local0)
+ Concatenate(arg0, "-m060", Local0)
+ SRMT(Local0)
+ m060(Local0)
+
+ // LOr
+ Concatenate(arg0, "-m062", Local0)
+ SRMT(Local0)
+ m062(Local0)
+ Concatenate(arg0, "-m063", Local0)
+ SRMT(Local0)
+ m063(Local0)
+ }
+
+ Method(m32o, 1)
+ {
+ // LAnd
+ Concatenate(arg0, "-m05f", Local0)
+ SRMT(Local0)
+ m05f(Local0)
+ Concatenate(arg0, "-m061", Local0)
+ SRMT(Local0)
+ m061(Local0)
+
+ // LOr
+ Concatenate(arg0, "-m062", Local0)
+ SRMT(Local0)
+ m062(Local0)
+ Concatenate(arg0, "-m064", Local0)
+ SRMT(Local0)
+ m064(Local0)
+ }
+
+
+ // Buffer to Integer conversion of the Buffer second operand of
+ // Logical operators when the first operand is evaluated as Integer
+ // (LEqual, LGreater, LGreaterEqual, LLess, LLessEqual, LNotEqual)
+
+ Method(m64p, 1)
+ {
+ // LEqual
+
+ Store(LEqual(0xfe7cb391d650a284, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual(0xfe7cb391d650a285, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(0xfe7cb391d650a283, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LEqual(aui4, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ Store(LEqual(auid, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LEqual(auif, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 5, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aui4)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(auid)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ Store(LEqual(Derefof(Refof(auif)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 8, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paui, 4)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paui, 13)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LEqual(Derefof(Index(paui, 15)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 11, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LEqual(m601(1, 4), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(LEqual(m601(1, 13), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 13, Local0, Zero)
+
+ Store(LEqual(m601(1, 15), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(1, 4, 1)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(1, 13, 1)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LEqual(Derefof(m602(1, 15, 1)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 17, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater(0xfe7cb391d650a284, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(0xfe7cb391d650a285, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ Store(LGreater(0xfe7cb391d650a283, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(aui4, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 21, Local0, Zero)
+
+ Store(LGreater(auid, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(LGreater(auif, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 23, Local0, Zero)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aui4)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(auid)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 25, Local0, Ones)
+
+ Store(LGreater(Derefof(Refof(auif)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 26, Local0, Zero)
+ }
+
+ Store(LGreater(Derefof(Index(paui, 4)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 27, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paui, 13)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 28, Local0, Ones)
+
+ Store(LGreater(Derefof(Index(paui, 15)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 29, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreater(m601(1, 4), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 30, Local0, Zero)
+
+ Store(LGreater(m601(1, 13), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ Store(LGreater(m601(1, 15), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 32, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(1, 4, 1)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 33, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(1, 13, 1)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreater(Derefof(m602(1, 15, 1)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 35, Local0, Zero)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual(0xfe7cb391d650a284, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(0xfe7cb391d650a285, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ Store(LGreaterEqual(0xfe7cb391d650a283, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 38, Local0, Zero)
+
+ Store(LGreaterEqual(aui4, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 39, Local0, Ones)
+
+ Store(LGreaterEqual(auid, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 40, Local0, Ones)
+
+ Store(LGreaterEqual(auif, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aui4)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auid)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 43, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auif)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 44, Local0, Zero)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paui, 4)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 45, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 13)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 46, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 15)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 47, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreaterEqual(m601(1, 4), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 48, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 13), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 49, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 15), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(1, 4, 1)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 51, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 13, 1)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 52, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 15, 1)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLess
+
+ Store(LLess(0xfe7cb391d650a284, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 54, Local0, Zero)
+
+ Store(LLess(0xfe7cb391d650a285, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLess(0xfe7cb391d650a283, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLess(aui4, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLess(auid, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 58, Local0, Zero)
+
+ Store(LLess(auif, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 59, Local0, Ones)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aui4)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 60, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auid)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 61, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auif)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 62, Local0, Ones)
+ }
+
+ Store(LLess(Derefof(Index(paui, 4)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 13)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 64, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 15)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 65, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLess(m601(1, 4), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 66, Local0, Zero)
+
+ Store(LLess(m601(1, 13), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 67, Local0, Zero)
+
+ Store(LLess(m601(1, 15), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 68, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLess(Derefof(m602(1, 4, 1)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 69, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 13, 1)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 70, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 15, 1)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 71, Local0, Ones)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual(0xfe7cb391d650a284, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 72, Local0, Ones)
+
+ Store(LLessEqual(0xfe7cb391d650a285, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 73, Local0, Zero)
+
+ Store(LLessEqual(0xfe7cb391d650a283, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 74, Local0, Ones)
+
+ Store(LLessEqual(aui4, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 75, Local0, Ones)
+
+ Store(LLessEqual(auid, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LLessEqual(auif, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aui4)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 78, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(auid)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 79, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Refof(auif)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 80, Local0, Ones)
+ }
+
+ Store(LLessEqual(Derefof(Index(paui, 4)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 81, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paui, 13)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 82, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Index(paui, 15)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 83, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLessEqual(m601(1, 4), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 84, Local0, Ones)
+
+ Store(LLessEqual(m601(1, 13), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 85, Local0, Zero)
+
+ Store(LLessEqual(m601(1, 15), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 86, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(1, 4, 1)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 87, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(1, 13, 1)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 88, Local0, Zero)
+
+ Store(LLessEqual(Derefof(m602(1, 15, 1)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 89, Local0, Ones)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual(0xfe7cb391d650a284, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 90, Local0, Zero)
+
+ Store(LNotEqual(0xfe7cb391d650a285, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 91, Local0, Ones)
+
+ Store(LNotEqual(0xfe7cb391d650a283, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 92, Local0, Ones)
+
+ Store(LNotEqual(aui4, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 93, Local0, Zero)
+
+ Store(LNotEqual(auid, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 94, Local0, Ones)
+
+ Store(LNotEqual(auif, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 95, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aui4)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 96, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(auid)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 97, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Refof(auif)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 98, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paui, 4)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 99, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paui, 13)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 100, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Index(paui, 15)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 101, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LNotEqual(m601(1, 4), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 102, Local0, Zero)
+
+ Store(LNotEqual(m601(1, 13), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 103, Local0, Ones)
+
+ Store(LNotEqual(m601(1, 15), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 104, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(1, 4, 1)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 105, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(1, 13, 1)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 106, Local0, Ones)
+
+ Store(LNotEqual(Derefof(m602(1, 15, 1)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 107, Local0, Ones)
+ }
+ }
+
+ Method(m32p, 1)
+ {
+ // LEqual
+
+ Store(LEqual(0xd650a284, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual(0xd650a285, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(0xd650a283, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LEqual(auik, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ Store(LEqual(auil, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LEqual(auim, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 5, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(auik)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(auil)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ Store(LEqual(Derefof(Refof(auim)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 8, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paui, 20)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paui, 21)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LEqual(Derefof(Index(paui, 22)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 11, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LEqual(m601(1, 20), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(LEqual(m601(1, 21), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 13, Local0, Zero)
+
+ Store(LEqual(m601(1, 22), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(1, 20, 1)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LEqual(Derefof(m601(1, 21, 1)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LEqual(Derefof(m601(1, 22, 1)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 17, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater(0xd650a284, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(0xd650a285, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ Store(LGreater(0xd650a283, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(auik, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 21, Local0, Zero)
+
+ Store(LGreater(auil, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(LGreater(auim, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 23, Local0, Zero)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(auik)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(auil)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 25, Local0, Ones)
+
+ Store(LGreater(Derefof(Refof(auim)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 26, Local0, Zero)
+ }
+
+ Store(LGreater(Derefof(Index(paui, 20)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 27, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paui, 21)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 28, Local0, Ones)
+
+ Store(LGreater(Derefof(Index(paui, 22)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 29, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreater(m601(1, 20), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 30, Local0, Zero)
+
+ Store(LGreater(m601(1, 21), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ Store(LGreater(m601(1, 22), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 32, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(1, 20, 1)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 33, Local0, Zero)
+
+ Store(LGreater(Derefof(m601(1, 21, 1)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreater(Derefof(m601(1, 22, 1)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 35, Local0, Zero)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual(0xd650a284, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(0xd650a285, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ Store(LGreaterEqual(0xd650a283, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 38, Local0, Zero)
+
+ Store(LGreaterEqual(auik, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 39, Local0, Ones)
+
+ Store(LGreaterEqual(auil, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 40, Local0, Ones)
+
+ Store(LGreaterEqual(auim, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(auik)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auil)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 43, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auim)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 44, Local0, Zero)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paui, 20)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 45, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 21)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 46, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 22)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 47, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreaterEqual(m601(1, 20), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 48, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 21), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 49, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 22), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(1, 20, 1)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 51, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m601(1, 21, 1)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 52, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m601(1, 22, 1)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLess
+
+ Store(LLess(0xd650a284, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 54, Local0, Zero)
+
+ Store(LLess(0xd650a285, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLess(0xd650a283, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLess(auik, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLess(auil, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 58, Local0, Zero)
+
+ Store(LLess(auim, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 59, Local0, Ones)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(auik)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 60, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auil)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 61, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auim)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 62, Local0, Ones)
+ }
+
+ Store(LLess(Derefof(Index(paui, 20)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 21)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 64, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 22)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 65, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLess(m601(1, 20), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 66, Local0, Zero)
+
+ Store(LLess(m601(1, 21), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 67, Local0, Zero)
+
+ Store(LLess(m601(1, 22), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 68, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLess(Derefof(m602(1, 20, 1)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 69, Local0, Zero)
+
+ Store(LLess(Derefof(m601(1, 21, 1)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 70, Local0, Zero)
+
+ Store(LLess(Derefof(m601(1, 22, 1)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 71, Local0, Ones)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual(0xd650a284, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 72, Local0, Ones)
+
+ Store(LLessEqual(0xd650a285, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 73, Local0, Zero)
+
+ Store(LLessEqual(0xd650a283, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 74, Local0, Ones)
+
+ Store(LLessEqual(auik, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 75, Local0, Ones)
+
+ Store(LLessEqual(auil, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LLessEqual(auim, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(auik)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 78, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(auil)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 79, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Refof(auim)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 80, Local0, Ones)
+ }
+
+ Store(LLessEqual(Derefof(Index(paui, 20)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 81, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paui, 21)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 82, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Index(paui, 22)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 83, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLessEqual(m601(1, 20), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 84, Local0, Ones)
+
+ Store(LLessEqual(m601(1, 21), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 85, Local0, Zero)
+
+ Store(LLessEqual(m601(1, 22), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 86, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(1, 20, 1)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 87, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m601(1, 21, 1)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 88, Local0, Zero)
+
+ Store(LLessEqual(Derefof(m601(1, 22, 1)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 89, Local0, Ones)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual(0xd650a284, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 90, Local0, Zero)
+
+ Store(LNotEqual(0xd650a285, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 91, Local0, Ones)
+
+ Store(LNotEqual(0xd650a283, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 92, Local0, Ones)
+
+ Store(LNotEqual(auik, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 93, Local0, Zero)
+
+ Store(LNotEqual(auil, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 94, Local0, Ones)
+
+ Store(LNotEqual(auim, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 95, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(auik)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 96, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(auil)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 97, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Refof(auim)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 98, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paui, 20)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 99, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paui, 21)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 100, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Index(paui, 22)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 101, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LNotEqual(m601(1, 20), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 102, Local0, Zero)
+
+ Store(LNotEqual(m601(1, 21), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 103, Local0, Ones)
+
+ Store(LNotEqual(m601(1, 22), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 104, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(1, 20, 1)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 105, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m601(1, 21, 1)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 106, Local0, Ones)
+
+ Store(LNotEqual(Derefof(m601(1, 22, 1)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 107, Local0, Ones)
+ }
+ }
+
+ Method(m065, 1)
+ {
+ // LEqual
+
+ Store(LEqual(0x321, Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual(0x322, Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(0x320, Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LEqual(aui1, Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ Store(LEqual(auig, Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LEqual(auih, Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 5, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aui1)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(auig)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ Store(LEqual(Derefof(Refof(auih)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 8, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paui, 1)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paui, 16)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LEqual(Derefof(Index(paui, 17)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 11, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LEqual(m601(1, 1), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(LEqual(m601(1, 16), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 13, Local0, Zero)
+
+ Store(LEqual(m601(1, 17), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(1, 1, 1)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(1, 16, 1)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LEqual(Derefof(m602(1, 17, 1)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 17, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater(0x321, Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(0x322, Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ Store(LGreater(0x320, Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(aui1, Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 21, Local0, Zero)
+
+ Store(LGreater(auig, Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(LGreater(auih, Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 23, Local0, Zero)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aui1)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(auig)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 25, Local0, Ones)
+
+ Store(LGreater(Derefof(Refof(auih)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 26, Local0, Zero)
+ }
+
+ Store(LGreater(Derefof(Index(paui, 1)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 27, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paui, 16)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 28, Local0, Ones)
+
+ Store(LGreater(Derefof(Index(paui, 17)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 29, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreater(m601(1, 1), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 30, Local0, Zero)
+
+ Store(LGreater(m601(1, 16), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ Store(LGreater(m601(1, 17), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 32, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(1, 1, 1)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 33, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(1, 16, 1)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreater(Derefof(m602(1, 17, 1)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 35, Local0, Zero)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual(0x321, Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(0x322, Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ Store(LGreaterEqual(0x320, Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 38, Local0, Zero)
+
+ Store(LGreaterEqual(aui1, Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 39, Local0, Ones)
+
+ Store(LGreaterEqual(auig, Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 40, Local0, Ones)
+
+ Store(LGreaterEqual(auih, Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aui1)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auig)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 43, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auih)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 44, Local0, Zero)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paui, 1)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 45, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 16)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 46, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 17)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 47, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreaterEqual(m601(1, 1), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 48, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 16), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 49, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 17), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(1, 1, 1)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 51, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 16, 1)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 52, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 17, 1)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLess
+
+ Store(LLess(0x321, Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 54, Local0, Zero)
+
+ Store(LLess(0x322, Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLess(0x320, Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLess(aui1, Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLess(auig, Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 58, Local0, Zero)
+
+ Store(LLess(auih, Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 59, Local0, Ones)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aui1)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 60, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auig)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 61, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auih)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 62, Local0, Ones)
+ }
+
+ Store(LLess(Derefof(Index(paui, 1)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 16)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 64, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 17)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 65, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLess(m601(1, 1), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 66, Local0, Zero)
+
+ Store(LLess(m601(1, 16), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 67, Local0, Zero)
+
+ Store(LLess(m601(1, 17), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 68, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLess(Derefof(m602(1, 1, 1)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 69, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 16, 1)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 70, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 17, 1)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 71, Local0, Ones)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual(0x321, Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 72, Local0, Ones)
+
+ Store(LLessEqual(0x322, Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 73, Local0, Zero)
+
+ Store(LLessEqual(0x320, Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 74, Local0, Ones)
+
+ Store(LLessEqual(aui1, Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 75, Local0, Ones)
+
+ Store(LLessEqual(auig, Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LLessEqual(auih, Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aui1)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 78, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(auig)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 79, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Refof(auih)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 80, Local0, Ones)
+ }
+
+ Store(LLessEqual(Derefof(Index(paui, 1)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 81, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paui, 16)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 82, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Index(paui, 17)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 83, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLessEqual(m601(1, 1), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 84, Local0, Ones)
+
+ Store(LLessEqual(m601(1, 16), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 85, Local0, Zero)
+
+ Store(LLessEqual(m601(1, 17), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 86, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(1, 1, 1)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 87, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(1, 16, 1)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 88, Local0, Zero)
+
+ Store(LLessEqual(Derefof(m602(1, 17, 1)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 89, Local0, Ones)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual(0x321, Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 90, Local0, Zero)
+
+ Store(LNotEqual(0x322, Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 91, Local0, Ones)
+
+ Store(LNotEqual(0x320, Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 92, Local0, Ones)
+
+ Store(LNotEqual(aui1, Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 93, Local0, Zero)
+
+ Store(LNotEqual(auig, Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 94, Local0, Ones)
+
+ Store(LNotEqual(auih, Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 95, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aui1)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 96, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(auig)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 97, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Refof(auih)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 98, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paui, 1)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 99, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paui, 16)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 100, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Index(paui, 17)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 101, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LNotEqual(m601(1, 1), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 102, Local0, Zero)
+
+ Store(LNotEqual(m601(1, 16), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 103, Local0, Ones)
+
+ Store(LNotEqual(m601(1, 17), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 104, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(1, 1, 1)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 105, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(1, 16, 1)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 106, Local0, Ones)
+
+ Store(LNotEqual(Derefof(m602(1, 17, 1)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 107, Local0, Ones)
+ }
+ }
+
+ // Buffer to Integer intermediate conversion of the Buffer second
+ // operand of Concatenate operator in case the first one is Integer
+
+ Method(m64q, 1)
+ {
+ Store(Concatenate(0x321, Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 0, Local0, bb26)
+
+ Store(Concatenate(0x321, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 1, Local0, bb21)
+
+
+ Store(Concatenate(aui1, Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 2, Local0, bb26)
+
+ Store(Concatenate(aui1, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 3, Local0, bb21)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aui1)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 4, Local0, bb26)
+
+ Store(Concatenate(Derefof(Refof(aui1)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 5, Local0, bb21)
+ }
+
+ Store(Concatenate(Derefof(Index(paui, 1)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 6, Local0, bb26)
+
+ Store(Concatenate(Derefof(Index(paui, 1)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 7, Local0, bb21)
+
+ // Method returns Integer
+
+ Store(Concatenate(m601(1, 1), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 8, Local0, bb26)
+
+ Store(Concatenate(m601(1, 1), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 9, Local0, bb21)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(1, 1, 1)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 10, Local0, bb26)
+
+ Store(Concatenate(Derefof(m602(1, 1, 1)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 11, Local0, bb21)
+ }
+
+ Concatenate(0x321, Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 12, Local0, bb26)
+
+ Concatenate(0x321, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 13, Local0, bb21)
+
+
+ Concatenate(aui1, Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 14, Local0, bb26)
+
+ Concatenate(aui1, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 15, Local0, bb21)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aui1)), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 16, Local0, bb26)
+
+ Concatenate(Derefof(Refof(aui1)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 17, Local0, bb21)
+ }
+
+ Concatenate(Derefof(Index(paui, 1)), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 18, Local0, bb26)
+
+ Concatenate(Derefof(Index(paui, 1)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 19, Local0, bb21)
+
+ // Method returns Integer
+
+ Concatenate(m601(1, 1), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 20, Local0, bb26)
+
+ Concatenate(m601(1, 1), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 21, Local0, bb21)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Concatenate(Derefof(m602(1, 1, 1)), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 22, Local0, bb26)
+
+ Concatenate(Derefof(m602(1, 1, 1)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 23, Local0, bb21)
+ }
+ }
+
+ Method(m32q, 1)
+ {
+ Store(Concatenate(0x321, Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 0, Local0, bb27)
+
+ Store(Concatenate(0x321, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 1, Local0, bb28)
+
+
+ Store(Concatenate(aui1, Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 2, Local0, bb27)
+
+ Store(Concatenate(aui1, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 3, Local0, bb28)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aui1)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 4, Local0, bb27)
+
+ Store(Concatenate(Derefof(Refof(aui1)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 5, Local0, bb28)
+ }
+
+ Store(Concatenate(Derefof(Index(paui, 1)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 6, Local0, bb27)
+
+ Store(Concatenate(Derefof(Index(paui, 1)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 7, Local0, bb28)
+
+ // Method returns Integer
+
+ Store(Concatenate(m601(1, 1), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 8, Local0, bb27)
+
+ Store(Concatenate(m601(1, 1), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 9, Local0, bb28)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(1, 1, 1)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 10, Local0, bb27)
+
+ Store(Concatenate(Derefof(m602(1, 1, 1)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 11, Local0, bb28)
+ }
+
+ Concatenate(0x321, Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 12, Local0, bb27)
+
+ Concatenate(0x321, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 13, Local0, bb28)
+
+
+ Concatenate(aui1, Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 14, Local0, bb27)
+
+ Concatenate(aui1, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 15, Local0, bb28)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aui1)), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 16, Local0, bb27)
+
+ Concatenate(Derefof(Refof(aui1)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 17, Local0, bb28)
+ }
+
+ Concatenate(Derefof(Index(paui, 1)), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 18, Local0, bb27)
+
+ Concatenate(Derefof(Index(paui, 1)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 20, Local0, bb28)
+
+ // Method returns Integer
+
+ Concatenate(m601(1, 1), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 21, Local0, bb27)
+
+ Concatenate(m601(1, 1), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 22, Local0, bb28)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Concatenate(Derefof(m602(1, 1, 1)), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 23, Local0, bb27)
+
+ Concatenate(Derefof(m602(1, 1, 1)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 24, Local0, bb28)
+ }
+ }
+
+ // Buffer to Integer conversion of the Buffer Length (second)
+ // operand of the ToString operator
+
+ // Common 32-bit/64-bit test
+ Method(m066, 1)
+ {
+ Store(ToString(Buffer() {"This is auxiliary Buffer"},
+ Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 0, Local0, bs1b)
+
+ Store(ToString(Buffer() {"This is auxiliary Buffer"},
+ Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 1, Local0, bs1c)
+
+ Store(ToString(aub6, Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 2, Local0, bs1b)
+
+ Store(ToString(aub6, Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 3, Local0, bs1c)
+
+ if (y078) {
+ Store(ToString(Derefof(Refof(aub6)), Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 4, Local0, bs1b)
+
+ Store(ToString(Derefof(Refof(aub6)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 5, Local0, bs1c)
+ }
+
+ Store(ToString(Derefof(Index(paub, 6)), Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 6, Local0, bs1b)
+
+ Store(ToString(Derefof(Index(paub, 6)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 7, Local0, bs1c)
+
+ // Method returns Buffer
+
+ Store(ToString(m601(3, 6), Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 8, Local0, bs1b)
+
+ Store(ToString(m601(3, 6), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 9, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(ToString(Derefof(m602(3, 6, 1)), Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 10, Local0, bs1b)
+
+ Store(ToString(Derefof(m602(3, 6, 1)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 11, Local0, bs1c)
+ }
+
+ ToString(Buffer() {"This is auxiliary Buffer"},
+ Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 12, Local0, bs1b)
+
+ ToString(Buffer() {"This is auxiliary Buffer"},
+ Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 13, Local0, bs1c)
+
+ ToString(aub6, Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 14, Local0, bs1b)
+
+ ToString(aub6, Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 15, Local0, bs1c)
+
+ if (y078) {
+ ToString(Derefof(Refof(aub6)), Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 16, Local0, bs1b)
+
+ ToString(Derefof(Refof(aub6)), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 17, Local0, bs1c)
+ }
+
+ ToString(Derefof(Index(paub, 6)), Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 18, Local0, bs1b)
+
+ ToString(Derefof(Index(paub, 6)), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 19, Local0, bs1c)
+
+ // Method returns Buffer
+
+ ToString(m601(3, 6), Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 20, Local0, bs1b)
+
+ ToString(m601(3, 6), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 21, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ ToString(Derefof(m602(3, 6, 1)), Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 22, Local0, bs1b)
+
+ ToString(Derefof(m602(3, 6, 1)), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 23, Local0, bs1c)
+ }
+ }
+
+ Method(m64r, 1)
+ {
+ Store(ToString(Buffer() {"This is auxiliary Buffer"},
+ Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 0, Local0, bs1c)
+
+ Store(ToString(aub6, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 1, Local0, bs1c)
+
+ if (y078) {
+ Store(ToString(Derefof(Refof(aub6)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 2, Local0, bs1c)
+ }
+
+ Store(ToString(Derefof(Index(paub, 6)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 3, Local0, bs1c)
+
+ // Method returns Buffer
+
+ Store(ToString(m601(3, 6), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 4, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(ToString(Derefof(m602(3, 6, 1)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 5, Local0, bs1c)
+ }
+
+ ToString(Buffer() {"This is auxiliary Buffer"},
+ Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 6, Local0, bs1c)
+
+ ToString(aub6, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 7, Local0, bs1c)
+
+ if (y078) {
+ ToString(Derefof(Refof(aub6)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 8, Local0, bs1c)
+ }
+
+ ToString(Derefof(Index(paub, 6)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 9, Local0, bs1c)
+
+ // Method returns Buffer
+
+ ToString(m601(3, 6), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 10, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ ToString(Derefof(m602(3, 6, 1)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 11, Local0, bs1c)
+ }
+ }
+
+ Method(m32r, 1)
+ {
+ Store(ToString(Buffer() {"This is auxiliary Buffer"},
+ Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 0, Local0, bs1c)
+
+ Store(ToString(aub6, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 1, Local0, bs1c)
+
+ if (y078) {
+ Store(ToString(Derefof(Refof(aub6)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 2, Local0, bs1c)
+ }
+
+ Store(ToString(Derefof(Index(paub, 6)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 3, Local0, bs1c)
+
+ // Method returns Buffer
+
+ Store(ToString(m601(3, 6), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 4, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(ToString(Derefof(m602(3, 6, 1)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 5, Local0, bs1c)
+ }
+
+ ToString(Buffer() {"This is auxiliary Buffer"},
+ Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 6, Local0, bs1c)
+
+ ToString(aub6, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 7, Local0, bs1c)
+
+ if (y078) {
+ ToString(Derefof(Refof(aub6)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 8, Local0, bs1c)
+ }
+
+ ToString(Derefof(Index(paub, 6)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 9, Local0, bs1c)
+
+ // Method returns Buffer
+
+ ToString(m601(3, 6), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 10, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ ToString(Derefof(m602(3, 6, 1)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 11, Local0, bs1c)
+ }
+ }
+
+ // Buffer to Integer conversion of the Buffer Index (second)
+ // operand of the Index operator
+ Method(m067, 1)
+ {
+ Store(Index(aus6, Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 0, Derefof(Local0), bi10)
+
+ Store(Index(aub6, Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 1, Derefof(Local0), bi10)
+
+ Store(Index(aup0, Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 2, Derefof(Local0), bi11)
+
+ if (y078) {
+ Store(Index(Derefof(Refof(aus6)), Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 3, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Refof(aub6)), Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 4, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Refof(aup0)), Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 5, Derefof(Local0), bi11)
+ }
+
+ Store(Index(Derefof(Index(paus, 6)), Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 6, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Index(paub, 6)), Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 7, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Index(paup, 0)), Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 8, Derefof(Local0), bi11)
+
+
+ // Method returns Object
+
+ if (y900) {
+ Store(Index(m601(2, 6), Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 9, Derefof(Local0), bi10)
+
+ Store(Index(m601(3, 6), Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 10, Derefof(Local0), bi10)
+
+ Store(Index(m601(4, 0), Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 11, Derefof(Local0), bi11)
+ } else {
+
+ CH03(arg0, z090, 0, 0, 0)
+
+ Index(m601(2, 6), Derefof(Index(pb60, 14)))
+ CH04(arg0, 0, 85, z090, 9, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+
+ Index(m601(3, 6), Derefof(Index(pb60, 14)))
+ CH04(arg0, 0, 85, z090, 10, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+
+ Index(m601(4, 0), Derefof(Index(pb60, 14)))
+ CH04(arg0, 0, 85, z090, 11, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+ }
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Index(Derefof(m602(2, 6, 1)), Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 12, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(m602(3, 6, 1)), Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 13, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(m602(4, 0, 1)), Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 14, Derefof(Local0), bi11)
+ }
+
+ Index(aus6, Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 15, Derefof(Local0), bi10)
+
+ Index(aub6, Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 16, Derefof(Local0), bi10)
+
+ Index(aup0, Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 17, Derefof(Local0), bi11)
+
+ if (y078) {
+ Index(Derefof(Refof(aus6)), Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 18, Derefof(Local0), bi10)
+
+ Index(Derefof(Refof(aub6)), Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 19, Derefof(Local0), bi10)
+
+ Index(Derefof(Refof(aup0)), Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 20, Derefof(Local0), bi11)
+ }
+
+ Index(Derefof(Index(paus, 6)), Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 21, Derefof(Local0), bi10)
+
+ Index(Derefof(Index(paub, 6)), Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 22, Derefof(Local0), bi10)
+
+ Index(Derefof(Index(paup, 0)), Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 23, Derefof(Local0), bi11)
+
+
+ // Method returns Object
+
+ if (y900) {
+ Index(m601(2, 6), Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 24, Derefof(Local0), bi10)
+
+ Index(m601(3, 6), Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 25, Derefof(Local0), bi10)
+
+ Index(m601(4, 0), Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 26, Derefof(Local0), bi11)
+ } else {
+
+ CH03(arg0, z090, 0, 0, 0)
+
+ Index(m601(2, 6), Derefof(Index(pb60, 14)), Local0)
+ CH04(arg0, 0, 85, z090, 24, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+
+ Index(m601(3, 6), Derefof(Index(pb60, 14)), Local0)
+ CH04(arg0, 0, 85, z090, 25, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+
+ Index(m601(4, 0), Derefof(Index(pb60, 14)), Local0)
+ CH04(arg0, 0, 85, z090, 26, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+ }
+
+ // Method returns Reference
+
+ if (y500) {
+ Index(Derefof(m602(2, 6, 1)), Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 27, Derefof(Local0), bi10)
+
+ Index(Derefof(m602(3, 6, 1)), Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 28, Derefof(Local0), bi10)
+
+ Index(Derefof(m602(4, 0, 1)), Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 29, Derefof(Local0), bi11)
+ }
+
+ if (y098) {
+ Store(Index(aus6, Derefof(Index(pb60, 14)), Local1), Local0)
+ m600(arg0, 30, Derefof(Local0), bi10)
+
+ Store(Index(aub6, Derefof(Index(pb60, 14)), Local1), Local0)
+ m600(arg0, 31, Derefof(Local0), bi10)
+
+ Store(Index(aup0, Derefof(Index(pb60, 14)), Local1), Local0)
+ m600(arg0, 32, Derefof(Local0), bi11)
+ }
+
+ if (y078) {
+ Store(Index(Derefof(Refof(aus6)), Derefof(Index(pb60, 14)), Local1), Local0)
+ m600(arg0, 33, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Refof(aub6)), Derefof(Index(pb60, 14)), Local1), Local0)
+ m600(arg0, 34, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Refof(aup0)), Derefof(Index(pb60, 14)), Local1), Local0)
+ m600(arg0, 35, Derefof(Local0), bi11)
+ }
+
+ if (y098) {
+ Store(Index(Derefof(Index(paus, 6)), Derefof(Index(pb60, 14)), Local1), Local0)
+ m600(arg0, 36, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Index(paub, 6)), Derefof(Index(pb60, 14)), Local1), Local0)
+ m600(arg0, 37, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Index(paup, 0)), Derefof(Index(pb60, 14)), Local1), Local0)
+ m600(arg0, 38, Derefof(Local0), bi11)
+ }
+
+ // Method returns Object
+
+ if (LAnd(y900, y098)) {
+ Store(Index(m601(2, 6), Derefof(Index(pb60, 14)), Local1), Local0)
+ m600(arg0, 39, Derefof(Local0), bi10)
+
+ Store(Index(m601(3, 6), Derefof(Index(pb60, 14)), Local1), Local0)
+ m600(arg0, 40, Derefof(Local0), bi10)
+
+ Store(Index(m601(4, 0), Derefof(Index(pb60, 14)), Local1), Local0)
+ m600(arg0, 41, Derefof(Local0), bi11)
+ }
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Index(Derefof(m602(2, 6, 1)), Derefof(Index(pb60, 14)), Local1), Local0)
+ m600(arg0, 42, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(m602(3, 6, 1)), Derefof(Index(pb60, 14)), Local1), Local0)
+ m600(arg0, 43, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(m602(4, 0, 1)), Derefof(Index(pb60, 14)), Local1), Local0)
+ m600(arg0, 44, Derefof(Local0), bi11)
+ }
+ }
+
+ // Buffer to Integer conversion of the String Arg (third)
+ // operand of the Fatal operator
+ // (it can only be checked an exception does not occur)
+ Method(m068, 1)
+ {
+ CH03(arg0, z090, 9, 0, 0)
+ Fatal(0xff, 0xffffffff, Derefof(Index(pb60, 6)))
+ if (F64) {
+ Fatal(0xff, 0xffffffff, Derefof(Index(pb60, 10)))
+ } else {
+ Fatal(0xff, 0xffffffff, Derefof(Index(pb60, 10)))
+ }
+ CH03(arg0, z090, 10, 0, 0)
+ }
+
+ // Buffer to Integer conversion of the Buffer Index and Length
+ // operands of the Mid operator
+
+ // Common 32-bit/64-bit test
+ Method(m069, 1)
+ {
+ // String to Integer conversion of the String Index operand
+
+ Store(Mid("This is auxiliary String", Derefof(Index(pb60, 14)), 10), Local0)
+ m600(arg0, 0, Local0, bs1d)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, Derefof(Index(pb60, 14)), 10), Local0)
+ m600(arg0, 1, Local0, bb32)
+
+ Store(Mid(aus6, Derefof(Index(pb60, 14)), 10), Local0)
+ m600(arg0, 2, Local0, bs1d)
+
+ Store(Mid(aub6, Derefof(Index(pb60, 14)), 10), Local0)
+ m600(arg0, 3, Local0, bb32)
+
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), Derefof(Index(pb60, 14)), 10), Local0)
+ m600(arg0, 4, Local0, bs1d)
+
+ Store(Mid(Derefof(Refof(aub6)), Derefof(Index(pb60, 14)), 10), Local0)
+ m600(arg0, 5, Local0, bb32)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), Derefof(Index(pb60, 14)), 10), Local0)
+ m600(arg0, 6, Local0, bs1d)
+
+ Store(Mid(Derefof(Index(paub, 6)), Derefof(Index(pb60, 14)), 10), Local0)
+ m600(arg0, 7, Local0, bb32)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), Derefof(Index(pb60, 14)), 10), Local0)
+ m600(arg0, 8, Local0, bs1d)
+
+ Store(Mid(m601(3, 6), Derefof(Index(pb60, 14)), 10), Local0)
+ m600(arg0, 9, Local0, bb32)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), Derefof(Index(pb60, 14)), 10), Local0)
+ m600(arg0, 10, Local0, bs1d)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), Derefof(Index(pb60, 14)), 10), Local0)
+ m600(arg0, 11, Local0, bb32)
+ }
+
+ Mid("This is auxiliary String", Derefof(Index(pb60, 14)), 10, Local0)
+ m600(arg0, 12, Local0, bs1d)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, Derefof(Index(pb60, 14)), 10, Local0)
+ m600(arg0, 13, Local0, bb32)
+
+ Mid(aus6, Derefof(Index(pb60, 14)), 10, Local0)
+ m600(arg0, 14, Local0, bs1d)
+
+ Mid(aub6, Derefof(Index(pb60, 14)), 10, Local0)
+ m600(arg0, 15, Local0, bb32)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), Derefof(Index(pb60, 14)), 10, Local0)
+ m600(arg0, 16, Local0, bs1d)
+
+ Mid(Derefof(Refof(aub6)), Derefof(Index(pb60, 14)), 10, Local0)
+ m600(arg0, 17, Local0, bb32)
+ }
+
+ Mid(Derefof(Index(paus, 6)), Derefof(Index(pb60, 14)), 10, Local0)
+ m600(arg0, 18, Local0, bs1d)
+
+ Mid(Derefof(Index(paub, 6)), Derefof(Index(pb60, 14)), 10, Local0)
+ m600(arg0, 19, Local0, bb32)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), Derefof(Index(pb60, 14)), 10, Local0)
+ m600(arg0, 20, Local0, bs1d)
+
+ Mid(m601(3, 6), Derefof(Index(pb60, 14)), 10, Local0)
+ m600(arg0, 21, Local0, bb32)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), Derefof(Index(pb60, 14)), 10, Local0)
+ m600(arg0, 22, Local0, bs1d)
+
+ Mid(Derefof(m602(3, 6, 1)), Derefof(Index(pb60, 14)), 10, Local0)
+ m600(arg0, 23, Local0, bb32)
+ }
+
+ // String to Integer conversion of the String Length operand
+
+ Store(Mid("This is auxiliary String", 0, Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 24, Local0, bs1b)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, 0, Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 25, Local0, bb33)
+
+ Store(Mid(aus6, 0, Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 26, Local0, bs1b)
+
+ Store(Mid(aub6, 0, Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 27, Local0, bb33)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), 0, Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 28, Local0, bs1b)
+
+ Store(Mid(Derefof(Refof(aub6)), 0, Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 29, Local0, bb33)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), 0, Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 30, Local0, bs1b)
+
+ Store(Mid(Derefof(Index(paub, 6)), 0, Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 31, Local0, bb33)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), 0, Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 32, Local0, bs1b)
+
+ Store(Mid(m601(3, 6), 0, Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 33, Local0, bb33)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), 0, Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 34, Local0, bs1b)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), 0, Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 35, Local0, bb33)
+ }
+
+ Mid("This is auxiliary String", 0, Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 36, Local0, bs1b)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, 0, Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 37, Local0, bb33)
+
+ Mid(aus6, 0, Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 37, Local0, bs1b)
+
+ Mid(aub6, 0, Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 39, Local0, bb33)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), 0, Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 40, Local0, bs1b)
+
+ Mid(Derefof(Refof(aub6)), 0, Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 41, Local0, bb33)
+ }
+
+ Mid(Derefof(Index(paus, 6)), 0, Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 42, Local0, bs1b)
+
+ Mid(Derefof(Index(paub, 6)), 0, Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 43, Local0, bb33)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), 0, Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 44, Local0, bs1b)
+
+ Mid(m601(3, 6), 0, Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 45, Local0, bb33)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), 0, Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 46, Local0, bs1b)
+
+ Mid(Derefof(m602(3, 6, 1)), 0, Derefof(Index(pb60, 14)), Local0)
+ m600(arg0, 47, Local0, bb33)
+ }
+ }
+
+ Method(m64s, 1)
+ {
+ // String to Integer conversion of the String Length operand
+
+ Store(Mid("This is auxiliary String", 0, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 0, Local0, bs1e)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, 0, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 1, Local0, bb34)
+
+ Store(Mid(aus6, 0, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 2, Local0, bs1e)
+
+ Store(Mid(aub6, 0, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 3, Local0, bb34)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), 0, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 4, Local0, bs1e)
+
+ Store(Mid(Derefof(Refof(aub6)), 0, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 5, Local0, bb34)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), 0, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 6, Local0, bs1e)
+
+ Store(Mid(Derefof(Index(paub, 6)), 0, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 7, Local0, bb34)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), 0, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 8, Local0, bs1e)
+
+ Store(Mid(m601(3, 6), 0, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 9, Local0, bb34)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), 0, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 10, Local0, bs1e)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), 0, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 11, Local0, bb34)
+ }
+
+ Mid("This is auxiliary String", 0, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 12, Local0, bs1e)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, 0, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 13, Local0, bb34)
+
+ Mid(aus6, 0, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 14, Local0, bs1e)
+
+ Mid(aub6, 0, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 15, Local0, bb34)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), 0, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 16, Local0, bs1e)
+
+ Mid(Derefof(Refof(aub6)), 0, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 17, Local0, bb34)
+ }
+
+ Mid(Derefof(Index(paus, 6)), 0, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 18, Local0, bs1e)
+
+ Mid(Derefof(Index(paub, 6)), 0, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 19, Local0, bb34)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), 0, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 20, Local0, bs1e)
+
+ Mid(m601(3, 6), 0, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 21, Local0, bb34)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), 0, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 22, Local0, bs1e)
+
+ Mid(Derefof(m602(3, 6, 1)), 0, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 23, Local0, bb34)
+ }
+
+ // String to Integer conversion of the both String operands
+
+ Store(Mid("This is auxiliary String", Derefof(Index(pb60, 14)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 24, Local0, bs1f)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, Derefof(Index(pb60, 14)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 25, Local0, bb35)
+
+ Store(Mid(aus6, Derefof(Index(pb60, 14)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 26, Local0, bs1f)
+
+ Store(Mid(aub6, Derefof(Index(pb60, 14)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 27, Local0, bb35)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), Derefof(Index(pb60, 14)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 28, Local0, bs1f)
+
+ Store(Mid(Derefof(Refof(aub6)), Derefof(Index(pb60, 14)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 29, Local0, bb35)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), Derefof(Index(pb60, 14)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 30, Local0, bs1f)
+
+ Store(Mid(Derefof(Index(paub, 6)), Derefof(Index(pb60, 14)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 31, Local0, bb35)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), Derefof(Index(pb60, 14)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 32, Local0, bs1f)
+
+ Store(Mid(m601(3, 6), Derefof(Index(pb60, 14)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 33, Local0, bb35)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), Derefof(Index(pb60, 14)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 34, Local0, bs1f)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), Derefof(Index(pb60, 14)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 35, Local0, bb35)
+ }
+
+ Mid("This is auxiliary String", Derefof(Index(pb60, 14)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 36, Local0, bs1f)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, Derefof(Index(pb60, 14)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 37, Local0, bb35)
+
+ Mid(aus6, Derefof(Index(pb60, 14)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 38, Local0, bs1f)
+
+ Mid(aub6, Derefof(Index(pb60, 14)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 39, Local0, bb35)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), Derefof(Index(pb60, 14)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 40, Local0, bs1f)
+
+ Mid(Derefof(Refof(aub6)), Derefof(Index(pb60, 14)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 41, Local0, bb35)
+ }
+
+ Mid(Derefof(Index(paus, 6)), Derefof(Index(pb60, 14)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 42, Local0, bs1f)
+
+ Mid(Derefof(Index(paub, 6)), Derefof(Index(pb60, 14)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 43, Local0, bb35)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), Derefof(Index(pb60, 14)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 44, Local0, bs1f)
+
+ Mid(m601(3, 6), Derefof(Index(pb60, 14)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 45, Local0, bb35)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), Derefof(Index(pb60, 14)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 46, Local0, bs1f)
+
+ Mid(Derefof(m602(3, 6, 1)), Derefof(Index(pb60, 14)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 47, Local0, bb35)
+ }
+ }
+
+ Method(m32s, 1)
+ {
+ // String to Integer conversion of the String Length operand
+
+ Store(Mid("This is auxiliary String", 0, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 0, Local0, bs1e)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, 0, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 1, Local0, bb34)
+
+ Store(Mid(aus6, 0, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 2, Local0, bs1e)
+
+ Store(Mid(aub6, 0, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 3, Local0, bb34)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), 0, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 4, Local0, bs1e)
+
+ Store(Mid(Derefof(Refof(aub6)), 0, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 5, Local0, bb34)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), 0, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 6, Local0, bs1e)
+
+ Store(Mid(Derefof(Index(paub, 6)), 0, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 7, Local0, bb34)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), 0, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 8, Local0, bs1e)
+
+ Store(Mid(m601(3, 6), 0, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 9, Local0, bb34)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), 0, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 10, Local0, bs1e)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), 0, Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 11, Local0, bb34)
+ }
+
+ Mid("This is auxiliary String", 0, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 12, Local0, bs1e)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, 0, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 13, Local0, bb34)
+
+ Mid(aus6, 0, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 14, Local0, bs1e)
+
+ Mid(aub6, 0, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 15, Local0, bb34)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), 0, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 16, Local0, bs1e)
+
+ Mid(Derefof(Refof(aub6)), 0, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 17, Local0, bb34)
+ }
+
+ Mid(Derefof(Index(paus, 6)), 0, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 18, Local0, bs1e)
+
+ Mid(Derefof(Index(paub, 6)), 0, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 19, Local0, bb34)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), 0, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 20, Local0, bs1e)
+
+ Mid(m601(3, 6), 0, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 21, Local0, bb34)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), 0, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 22, Local0, bs1e)
+
+ Mid(Derefof(m602(3, 6, 1)), 0, Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 23, Local0, bb34)
+ }
+
+ // String to Integer conversion of the both String operands
+
+ Store(Mid("This is auxiliary String", Derefof(Index(pb60, 14)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 24, Local0, bs1f)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, Derefof(Index(pb60, 14)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 25, Local0, bb35)
+
+ Store(Mid(aus6, Derefof(Index(pb60, 14)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 26, Local0, bs1f)
+
+ Store(Mid(aub6, Derefof(Index(pb60, 14)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 27, Local0, bb35)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), Derefof(Index(pb60, 14)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 28, Local0, bs1f)
+
+ Store(Mid(Derefof(Refof(aub6)), Derefof(Index(pb60, 14)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 29, Local0, bb35)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), Derefof(Index(pb60, 14)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 30, Local0, bs1f)
+
+ Store(Mid(Derefof(Index(paub, 6)), Derefof(Index(pb60, 14)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 31, Local0, bb35)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), Derefof(Index(pb60, 14)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 32, Local0, bs1f)
+
+ Store(Mid(m601(3, 6), Derefof(Index(pb60, 14)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 33, Local0, bb35)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), Derefof(Index(pb60, 14)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 34, Local0, bs1f)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), Derefof(Index(pb60, 14)), Derefof(Index(pb60, 10))), Local0)
+ m600(arg0, 35, Local0, bb35)
+ }
+
+ Mid("This is auxiliary String", Derefof(Index(pb60, 14)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 36, Local0, bs1f)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, Derefof(Index(pb60, 14)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 37, Local0, bb35)
+
+ Mid(aus6, Derefof(Index(pb60, 14)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 38, Local0, bs1f)
+
+ Mid(aub6, Derefof(Index(pb60, 14)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 39, Local0, bb35)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), Derefof(Index(pb60, 14)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 40, Local0, bs1f)
+
+ Mid(Derefof(Refof(aub6)), Derefof(Index(pb60, 14)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 41, Local0, bb35)
+ }
+
+ Mid(Derefof(Index(paus, 6)), Derefof(Index(pb60, 14)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 42, Local0, bs1f)
+
+ Mid(Derefof(Index(paub, 6)), Derefof(Index(pb60, 14)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 43, Local0, bb35)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), Derefof(Index(pb60, 14)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 44, Local0, bs1f)
+
+ Mid(m601(3, 6), Derefof(Index(pb60, 14)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 45, Local0, bb35)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), Derefof(Index(pb60, 14)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 46, Local0, bs1f)
+
+ Mid(Derefof(m602(3, 6, 1)), Derefof(Index(pb60, 14)), Derefof(Index(pb60, 10)), Local0)
+ m600(arg0, 47, Local0, bb35)
+ }
+ }
+
+ // Buffer to Integer conversion of the Buffer StartIndex
+ // operand of the Match operator
+ Method(m06a, 1)
+ {
+ Store(Match(
+ Package(){
+ 0xa50, 0xa51, 0xa52, 0xa53, 0xa54, 0xa55, 0xa56, 0xa57,
+ 0xa58, 0xa59, 0xa5a, 0xa5b, 0xa5c, 0xa5d, 0xa5e,},
+ MEQ, 0xa5d, MTR, 0, Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 0, Local0, 0xd)
+
+ Store(Match(
+ Package(){
+ 0xa50, 0xa51, 0xa52, 0xa53, 0xa54, 0xa55, 0xa56, 0xa57,
+ 0xa58, 0xa59, 0xa5a, 0xa5b, 0xa5c, 0xa5d, 0xa5e,},
+ MEQ, 0xa5a, MTR, 0, Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(Match(aup0, MEQ, 0xa5d, MTR, 0, Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 2, Local0, 0xd)
+
+ Store(Match(aup0, MEQ, 0xa5a, MTR, 0, Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(Match(Derefof(Refof(aup0)), MEQ, 0xa5d, MTR, 0, Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 4, Local0, 0xd)
+
+ Store(Match(Derefof(Refof(aup0)), MEQ, 0xa5a, MTR, 0, Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(Match(Derefof(Index(paup, 0)), MEQ, 0xa5d, MTR, 0, Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 6, Local0, 0xd)
+
+ Store(Match(Derefof(Index(paup, 0)), MEQ, 0xa5a, MTR, 0, Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Object
+
+ Store(Match(m601(4, 0), MEQ, 0xa5d, MTR, 0, Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 8, Local0, 0xd)
+
+ Store(Match(m601(4, 0), MEQ, 0xa5a, MTR, 0, Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Match(Derefof(m602(4, 0, 1)), MEQ, 0xa5d, MTR, 0, Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 10, Local0, 0xd)
+
+ Store(Match(Derefof(m602(4, 0, 1)), MEQ, 0xa5a, MTR, 0, Derefof(Index(pb60, 14))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+ }
+
+// Method(m64t, 1)
+
+// Method(m32t, 1)
+
+ // Buffer to Integer conversion of the Buffer sole operand
+ // of the Method execution control operators (Sleep, Stall)
+ Method(m06b, 1)
+ {
+ CH03(arg0, z090, 11, 0, 0)
+
+ // Sleep
+
+ Store(Timer, Local0)
+
+ Sleep(Derefof(Index(pb60, 6)))
+ CH03(arg0, z090, 12, 0, 0)
+
+ Store(Timer, Local1)
+ Subtract(Local1, Local0, Local2)
+ if (LLess(Local2, c08c)) {
+ err(arg0, z090, 0, 0, 0, Local2, c08c)
+ }
+
+ // Stall
+
+ Store(Timer, Local0)
+
+ Stall(Derefof(Index(pb60, 19)))
+ CH03(arg0, z090, 13, 0, 0)
+
+ Store(Timer, Local1)
+ Subtract(Local1, Local0, Local2)
+ if (LLess(Local2, 990)) {
+ err(arg0, z090, 1, 0, 0, Local2, 990)
+ }
+ }
+
+ // Buffer to Integer conversion of the Buffer TimeoutValue
+ // (second) operand of the Acquire operator
+
+ Method(m06c, 1)
+ {
+ Mutex(MTX0, 0)
+
+ Acquire(MTX0, 0)
+ CH03(arg0, z090, 14, 0, 0)
+
+ Store(Timer, Local0)
+
+/* Compiler allows only Integer constant as TimeoutValue (Bug 1)
+ Acquire(MTX0, Derefof(Index(pb60, 6)))
+*/
+ CH03(arg0, z090, 15, 0, 0)
+
+ Store(Timer, Local1)
+ Subtract(Local1, Local0, Local2)
+ if (LLess(Local2, c08c)) {
+ err(arg0, z090, 0, 0, 0, Local2, c08c)
+ }
+ }
+
+ // Buffer to Integer conversion of the Buffer TimeoutValue
+ // (second) operand of the Wait operator
+ Method(m06d, 1)
+ {
+ Event(EVT0)
+
+ CH03(arg0, z090, 16, 0, 0)
+
+ Store(Timer, Local0)
+
+ Wait(EVT0, Derefof(Index(pb60, 6)))
+ CH03(arg0, z090, 17, 0, 0)
+
+ Store(Timer, Local1)
+ Subtract(Local1, Local0, Local2)
+ if (LLess(Local2, c08c)) {
+ err(arg0, z090, 0, 0, 0, Local2, c08c)
+ }
+ }
+
+ // Buffer to Integer conversion of the Buffer value
+ // of Predicate of the Method execution control statements
+ // (If, ElseIf, While)
+ Method(m06e, 1)
+ {
+ Name(ist0, 0)
+
+ Method(m001)
+ {
+ if (Derefof(Index(pb60, 0))) {
+ Store(0, ist0)
+ }
+ }
+
+ Method(m002)
+ {
+ if (Derefof(Index(pb60, 6))) {
+ Store(2, ist0)
+ }
+ }
+
+ Method(m003)
+ {
+ if (Derefof(Index(pb60, 10))) {
+ Store(3, ist0)
+ }
+ }
+
+ Method(m004)
+ {
+ if (Derefof(Index(pb60, 10))) {
+ Store(4, ist0)
+ }
+ }
+
+ Method(m005, 1)
+ {
+ if (arg0) {
+ Store(0xff, ist0)
+ } elseif (Derefof(Index(pb60, 0))) {
+ Store(0, ist0)
+ }
+ }
+
+ Method(m006, 1)
+ {
+ if (arg0) {
+ Store(0xff, ist0)
+ } elseif (Derefof(Index(pb60, 6))) {
+ Store(6, ist0)
+ }
+ }
+
+ Method(m007, 1)
+ {
+ if (arg0) {
+ Store(0xff, ist0)
+ } elseif (Derefof(Index(pb60, 10))) {
+ Store(7, ist0)
+ }
+ }
+
+ Method(m008, 1)
+ {
+ if (arg0) {
+ Store(0xff, ist0)
+ } elseif (Derefof(Index(pb60, 10))) {
+ Store(8, ist0)
+ }
+ }
+
+ Method(m009)
+ {
+ while (Derefof(Index(pb60, 0))) {
+ Store(0, ist0)
+ }
+ }
+
+ // If
+
+ Store(1, ist0)
+ m001()
+ m600(arg0, 0, ist0, 1)
+
+ m002()
+ m600(arg0, 1, ist0, 2)
+
+ m003()
+ m600(arg0, 2, ist0, 3)
+
+ m004()
+ m600(arg0, 3, ist0, 4)
+
+ // ElseIf
+
+ Store(5, ist0)
+ m005(0)
+ m600(arg0, 4, ist0, 5)
+
+ m006(0)
+ m600(arg0, 5, ist0, 6)
+
+ m007(0)
+ m600(arg0, 6, ist0, 7)
+
+ m008(0)
+ m600(arg0, 7, ist0, 8)
+
+ // While
+
+ Store(9, ist0)
+ m009()
+ m600(arg0, 8, ist0, 9)
+ }
+
+// Method(m64u, 1)
+
+// Method(m32u, 1)
+
+ // Buffer to String implicit conversion Cases.
+
+ // Buffer to String conversion of the Buffer second operand of
+ // Logical operators when the first operand is evaluated as String.
+ // LEqual LGreater LGreaterEqual LLess LLessEqual LNotEqual
+ Method(m06f, 1)
+ {
+ // LEqual
+
+ Store(LEqual("21 03 00", Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual("21 03 01", Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(aus9, Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(LEqual(ausa, Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 3, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aus9)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(ausa)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 5, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paus, 9)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paus, 10)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ // Method returns String
+
+ Store(LEqual(m601(2, 9), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(LEqual(m601(2, 10), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 9, Local0, Zero)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(2, 9, 1)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(2, 10, 1)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 11, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater("21 03 00", Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LGreater("21 03 01", Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LGreater("21 03 0 ", Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LGreater("21 03 00q", Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LGreater(aus9, Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LGreater(ausa, Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 17, Local0, Ones)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aus9)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(ausa)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 19, Local0, Ones)
+ }
+
+ Store(LGreater(Derefof(Index(paus, 9)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paus, 10)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns String
+
+ Store(LGreater(m601(2, 9), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LGreater(m601(2, 10), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 23, Local0, Ones)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(2, 9, 1)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(2, 10, 1)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual("21 03 00", Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 26, Local0, Ones)
+
+ Store(LGreaterEqual("21 03 01", Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 27, Local0, Ones)
+
+ Store(LGreaterEqual("21 03 0 ", Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 28, Local0, Zero)
+
+ Store(LGreaterEqual("21 03 00q", Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 29, Local0, Ones)
+
+ Store(LGreaterEqual(aus9, Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 30, Local0, Ones)
+
+ Store(LGreaterEqual(ausa, Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aus9)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 32, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(ausa)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 33, Local0, Ones)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paus, 9)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paus, 10)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 35, Local0, Ones)
+
+ // Method returns String
+
+ Store(LGreaterEqual(m601(2, 9),
+ Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(m601(2, 10), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(2, 9, 1)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 38, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(2, 10, 1)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 39, Local0, Ones)
+ }
+
+ // LLess
+
+ Store(LLess("21 03 00", Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 40, Local0, Zero)
+
+ Store(LLess("21 03 01", Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ Store(LLess("21 03 0 ", Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LLess("21 03 00q", Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 43, Local0, Zero)
+
+ Store(LLess(aus9, Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 44, Local0, Zero)
+
+ Store(LLess(ausa, Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 45, Local0, Zero)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aus9)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 46, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(ausa)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 47, Local0, Zero)
+ }
+
+ Store(LLess(Derefof(Index(paus, 9)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 48, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paus, 10)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 49, Local0, Zero)
+
+ // Method returns String
+
+ Store(LLess(m601(2, 9), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ Store(LLess(m601(2, 10), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 51, Local0, Zero)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LLess(Derefof(m602(2, 9, 1)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 52, Local0, Zero)
+
+ Store(LLess(Derefof(m602(2, 10, 1)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual("21 03 00", Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 54, Local0, Ones)
+
+ Store(LLessEqual("21 03 01", Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLessEqual("21 03 0 ", Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLessEqual("21 03 00q", Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLessEqual(aus9, Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 58, Local0, Ones)
+
+ Store(LLessEqual(ausa, Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 59, Local0, Zero)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aus9)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 60, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(ausa)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 61, Local0, Zero)
+ }
+
+ Store(LLessEqual(Derefof(Index(paus, 9)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 62, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paus, 10)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ // Method returns String
+
+ Store(LLessEqual(m601(2, 9), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 64, Local0, Ones)
+
+ Store(LLessEqual(m601(2, 10), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 65, Local0, Zero)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(2, 9, 1)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 66, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(2, 10, 1)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 67, Local0, Zero)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual("21 03 00", Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 68, Local0, Zero)
+
+ Store(LNotEqual("21 03 01", Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 69, Local0, Ones)
+
+ Store(LNotEqual("21 03 0 ", Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 70, Local0, Ones)
+
+ Store(LNotEqual("21 03 00q", Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 71, Local0, Ones)
+
+ Store(LNotEqual(aus9, Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 72, Local0, Zero)
+
+ Store(LNotEqual(ausa, Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 73, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aus9)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 74, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(ausa)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 75, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paus, 9)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paus, 10)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ // Method returns String
+
+ Store(LNotEqual(m601(2, 9), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 78, Local0, Zero)
+
+ Store(LNotEqual(m601(2, 10), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 79, Local0, Ones)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(2, 9, 1)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 80, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(2, 10, 1)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 81, Local0, Ones)
+ }
+
+ // Boundary Cases
+
+ Store(LEqual("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63",
+ Derefof(Index(pb60, 12))),
+ Local0)
+ m600(arg0, 82, Local0, Ones)
+
+ Store(LEqual("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 64",
+ Derefof(Index(pb60, 12))),
+ Local0)
+ m600(arg0, 83, Local0, Zero)
+
+ Store(LGreater("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63",
+ Derefof(Index(pb60, 12))),
+ Local0)
+ m600(arg0, 84, Local0, Zero)
+
+ Store(LGreater("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 64",
+ Derefof(Index(pb60, 12))),
+ Local0)
+ m600(arg0, 85, Local0, Ones)
+
+ Store(LGreaterEqual("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63",
+ Derefof(Index(pb60, 12))),
+ Local0)
+ m600(arg0, 86, Local0, Ones)
+
+ Store(LGreaterEqual("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 64",
+ Derefof(Index(pb60, 12))),
+ Local0)
+ m600(arg0, 87, Local0, Ones)
+
+ Store(LLess("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63",
+ Derefof(Index(pb60, 12))),
+ Local0)
+ m600(arg0, 88, Local0, Zero)
+
+ Store(LLess("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 64",
+ Derefof(Index(pb60, 12))),
+ Local0)
+ m600(arg0, 89, Local0, Zero)
+
+ Store(LLessEqual("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63",
+ Derefof(Index(pb60, 12))),
+ Local0)
+ m600(arg0, 90, Local0, Ones)
+
+ Store(LLessEqual("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 64",
+ Derefof(Index(pb60, 12))),
+ Local0)
+ m600(arg0, 91, Local0, Zero)
+
+
+ Store(LNotEqual("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63",
+ Derefof(Index(pb60, 12))),
+ Local0)
+ m600(arg0, 92, Local0, Zero)
+
+ Store(LNotEqual("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 64",
+ Derefof(Index(pb60, 12))),
+ Local0)
+ m600(arg0, 93, Local0, Ones)
+ }
+
+ // Buffer to String conversion of the Buffer second operand of
+ // Concatenate operator when the first operand is evaluated as String
+ Method(m070, 1)
+ {
+ Store(Concatenate("", Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 0, Local0, bs25)
+
+ Store(Concatenate("1234q", Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 1, Local0, bs26)
+
+ Store(Concatenate(aus0, Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 2, Local0, bs25)
+
+ Store(Concatenate(aus1, Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 3, Local0, bs26)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aus0)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 4, Local0, bs25)
+
+ Store(Concatenate(Derefof(Refof(aus1)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 5, Local0, bs26)
+ }
+
+ Store(Concatenate(Derefof(Index(paus, 0)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 6, Local0, bs25)
+
+ Store(Concatenate(Derefof(Index(paus, 1)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 7, Local0, bs26)
+
+ // Method returns String
+
+ Store(Concatenate(m601(2, 0), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 8, Local0, bs25)
+
+ Store(Concatenate(m601(2, 1), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 9, Local0, bs26)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(2, 0, 1)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 10, Local0, bs25)
+
+ Store(Concatenate(Derefof(m602(2, 1, 1)), Derefof(Index(pb60, 6))), Local0)
+ m600(arg0, 11, Local0, bs26)
+ }
+
+ Concatenate("", Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 12, Local0, bs25)
+
+ Concatenate("1234q", Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 13, Local0, bs26)
+
+ Concatenate(aus0, Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 14, Local0, bs25)
+
+ Concatenate(aus1, Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 15, Local0, bs26)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aus0)), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 16, Local0, bs25)
+
+ Concatenate(Derefof(Refof(aus1)), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 17, Local0, bs26)
+ }
+
+ Concatenate(Derefof(Index(paus, 0)), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 18, Local0, bs25)
+
+ Concatenate(Derefof(Index(paus, 1)), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 19, Local0, bs26)
+
+ // Method returns String
+
+ Concatenate(m601(2, 0), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 20, Local0, bs25)
+
+ Concatenate(m601(2, 1), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 21, Local0, bs26)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Concatenate(Derefof(m602(2, 0, 1)), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 22, Local0, bs25)
+
+ Concatenate(Derefof(m602(2, 1, 1)), Derefof(Index(pb60, 6)), Local0)
+ m600(arg0, 23, Local0, bs26)
+ }
+
+ // Boundary Cases
+
+ Store(Concatenate("",
+ Derefof(Index(pb60, 12))),
+ Local0)
+ m600(arg0, 24, Local0, bs27)
+ }
+
+// Method(m071, 1)
+
+// Method(m072, 1)
+
+ /*
+ * Begin of the test body
+ */
+
+ // Integer to String implicit conversion Cases.
+
+ // Integer to String conversion of the Integer second operand of
+ // Logical operators when the first operand is evaluated as String.
+ // LEqual LGreater LGreaterEqual LLess LLessEqual LNotEqual
+ if (F64) {
+ Concatenate(ts, "-m640", Local0)
+ SRMT(Local0)
+ m640(Local0)
+ } else {
+ Concatenate(ts, "-m320", Local0)
+ SRMT(Local0)
+ m320(Local0)
+ }
+
+ // Integer to String conversion of the Integer second operand of
+ // Concatenate operator when the first operand is evaluated as String
+ if (F64) {
+ Concatenate(ts, "-m641", Local0)
+ SRMT(Local0)
+ m641(Local0)
+ } else {
+ Concatenate(ts, "-m321", Local0)
+ SRMT(Local0)
+ m321(Local0)
+ }
+
+
+ // Integer to Buffer implicit conversion Cases.
+
+ // Integer to Buffer conversion of the Integer second operand of
+ // Logical operators when the first operand is evaluated as Buffer
+ // (LEqual, LGreater, LGreaterEqual, LLess, LLessEqual, LNotEqual)
+ if (F64) {
+ Concatenate(ts, "-m644", Local0)
+ SRMT(Local0)
+ m644(Local0)
+ } else {
+ Concatenate(ts, "-m324", Local0)
+ SRMT(Local0)
+ m324(Local0)
+ }
+
+ // Integer to Buffer conversion of the both Integer operands of
+ // Concatenate operator
+ if (F64) {
+ Concatenate(ts, "-m645", Local0)
+ SRMT(Local0)
+ m645(Local0)
+ } else {
+ Concatenate(ts, "-m325", Local0)
+ SRMT(Local0)
+ m325(Local0)
+ }
+
+ // Integer to Buffer conversion of the Integer second operand of
+ // Concatenate operator when the first operand is evaluated as Buffer
+ if (F64) {
+ Concatenate(ts, "-m646", Local0)
+ SRMT(Local0)
+ m646(Local0)
+ } else {
+ Concatenate(ts, "-m326", Local0)
+ SRMT(Local0)
+ m326(Local0)
+ }
+
+ // Integer to Buffer conversion of the Integer Source operand of
+ // ToString operator
+ if (F64) {
+ Concatenate(ts, "-m647", Local0)
+ SRMT(Local0)
+ m647(Local0)
+ } else {
+ Concatenate(ts, "-m327", Local0)
+ SRMT(Local0)
+ m327(Local0)
+ }
+
+ // Integer to Buffer conversion of the Integer Source operand of
+ // Mid operator
+ if (F64) {
+ Concatenate(ts, "-m648", Local0)
+ SRMT(Local0)
+ m648(Local0)
+ } else {
+ Concatenate(ts, "-m328", Local0)
+ SRMT(Local0)
+ m328(Local0)
+ }
+
+
+ // String to Integer implicit conversion Cases.
+
+ // String to Integer conversion of the String sole operand
+ // of the 1-parameter Integer arithmetic operators
+ // (Decrement, Increment, FindSetLeftBit, FindSetRightBit, Not)
+ if (F64) {
+ Concatenate(ts, "-m64b", Local0)
+ SRMT(Local0)
+ m64b(Local0)
+ } else {
+ Concatenate(ts, "-m32b", Local0)
+ SRMT(Local0)
+ m32b(Local0)
+ }
+
+ // String to Integer conversion of the String sole operand
+ // of the LNot Logical Integer operator
+ Concatenate(ts, "-m000", Local0)
+ SRMT(Local0)
+ m000(Local0)
+
+ // String to Integer conversion of the String sole operand
+ // of the FromBCD and ToBCD conversion operators
+ if (F64) {
+ Concatenate(ts, "-m64c", Local0)
+ SRMT(Local0)
+ m64c(Local0)
+ } else {
+ Concatenate(ts, "-m32c", Local0)
+ SRMT(Local0)
+ m32c(Local0)
+ }
+
+ // String to Integer conversion of each String operand
+ // of the 2-parameter Integer arithmetic operators
+ // Add, And, Divide, Mod, Multiply, NAnd, NOr, Or,
+ // ShiftLeft, ShiftRight, Subtract, Xor
+ if (F64) {
+ m64d(Concatenate(ts, "-m64d"))
+ } else {
+ m32d(Concatenate(ts, "-m32d"))
+ }
+
+ // String to Integer conversion of each String operand
+ // of the 2-parameter Logical Integer operators LAnd and LOr
+ if (F64) {
+ m64e(Concatenate(ts, "-m64e"))
+ } else {
+ m32e(Concatenate(ts, "-m32e"))
+ }
+
+ // String to Integer conversion of the String second operand of
+ // Logical operators when the first operand is evaluated as Integer
+ // (LEqual, LGreater, LGreaterEqual, LLess, LLessEqual, LNotEqual)
+
+ Concatenate(ts, "-m02b", Local0)
+ SRMT(Local0)
+ m02b(Local0)
+
+ if (F64) {
+ Concatenate(ts, "-m64f", Local0)
+ SRMT(Local0)
+ m64f(Local0)
+ } else {
+ Concatenate(ts, "-m32f", Local0)
+ SRMT(Local0)
+ m32f(Local0)
+ }
+
+ // String to Integer intermediate conversion of the String second
+ // operand of Concatenate operator in case the first one is Integer
+ if (F64) {
+ Concatenate(ts, "-m64g", Local0)
+ SRMT(Local0)
+ m64g(Local0)
+ } else {
+ Concatenate(ts, "-m32g", Local0)
+ SRMT(Local0)
+ m32g(Local0)
+ }
+
+ // String to Integer conversion of the String Length (second)
+ // operand of the ToString operator
+
+ Concatenate(ts, "-m02c", Local0)
+ SRMT(Local0)
+ m02c(Local0)
+
+ if (F64) {
+ Concatenate(ts, "-m64h", Local0)
+ SRMT(Local0)
+ m64h(Local0)
+ } else {
+ Concatenate(ts, "-m32h", Local0)
+ SRMT(Local0)
+ m32h(Local0)
+ }
+
+ // String to Integer conversion of the String Index (second)
+ // operand of the Index operator
+ Concatenate(ts, "-m02d", Local0)
+ SRMT(Local0)
+ m02d(Local0)
+
+ // String to Integer conversion of the String Arg (third)
+ // operand of the Fatal operator
+ // (it can only be checked an exception does not occur)
+ Concatenate(ts, "-m02e", Local0)
+ SRMT(Local0)
+ m02e(Local0)
+
+ // String to Integer conversion of the String Index and Length
+ // operands of the Mid operator
+
+ Concatenate(ts, "-m02f", Local0)
+ SRMT(Local0)
+ m02f(Local0)
+
+ if (F64) {
+ Concatenate(ts, "-m64i", Local0)
+ SRMT(Local0)
+ m64i(Local0)
+ } else {
+ Concatenate(ts, "-m32i", Local0)
+ SRMT(Local0)
+ m32i(Local0)
+ }
+
+ // String to Integer conversion of the String StartIndex
+ // operand of the Match operator
+ Concatenate(ts, "-m030", Local0)
+ SRMT(Local0)
+ m030(Local0)
+
+ // String to Integer conversion of the String sole operand
+ // of the Method execution control operators (Sleep, Stall)
+ Concatenate(ts, "-m031", Local0)
+ SRMT(Local0)
+ m031(Local0)
+
+ // String to Integer conversion of the String TimeoutValue
+ // (second) operand of the Acquire operator
+/* Compiler allows only Integer constant as TimeoutValue (Bug 1)
+ Concatenate(ts, "-m032", Local0)
+ SRMT(Local0)
+ m032(Local0)
+*/
+
+ // String to Integer conversion of the String TimeoutValue
+ // (second) operand of the Wait operator
+ Concatenate(ts, "-m033", Local0)
+ SRMT(Local0)
+ m033(Local0)
+
+ // String to Integer conversion of the String value
+ // of Predicate of the Method execution control statements
+ // (If, ElseIf, While)
+ Concatenate(ts, "-m034", Local0)
+ SRMT(Local0)
+ if (y111) {
+ m034(Local0)
+ } else {
+ BLCK()
+ }
+
+ // String to Integer conversion of the String value
+ // of Expression of Case statement when Expression in
+ // Switch is evaluated as Integer
+ //
+ // Note: Expression of Case can be only static data
+
+ // String to Buffer implicit conversion Cases.
+
+ // String to Buffer conversion of the String second operand of
+ // Logical operators when the first operand is evaluated as Buffer
+ // (LEqual, LGreater, LGreaterEqual, LLess, LLessEqual, LNotEqual)
+ Concatenate(ts, "-m035", Local0)
+ SRMT(Local0)
+ m035(Local0)
+
+ // String to Buffer conversion of the String second operand of
+ // Concatenate operator when the first operand is evaluated as Buffer
+ Concatenate(ts, "-m036", Local0)
+ SRMT(Local0)
+ m036(Local0)
+
+ // String to Buffer conversion of the String Source operand of
+ // ToString operator (has a visual effect in shortening of the
+ // String taken the null character)
+ Concatenate(ts, "-m037", Local0)
+ SRMT(Local0)
+ m037(Local0)
+
+
+ // Buffer to Integer implicit conversion Cases.
+
+ // Buffer to Integer conversion of the Buffer sole operand
+ // of the 1-parameter Integer arithmetic operators
+ // (Decrement, Increment, FindSetLeftBit, FindSetRightBit, Not)
+ if (F64) {
+ Concatenate(ts, "-m64l", Local0)
+ SRMT(Local0)
+ m64l(Local0)
+ } else {
+ Concatenate(ts, "-m32l", Local0)
+ SRMT(Local0)
+ m32l(Local0)
+ }
+
+ // Buffer to Integer conversion of the Buffer sole operand
+ // of the LNot Logical Integer operator
+ Concatenate(ts, "-m03a", Local0)
+ SRMT(Local0)
+ m03a(Local0)
+
+ // Buffer to Integer conversion of the Buffer sole operand
+ // of the FromBCD and ToBCD conversion operators
+ if (F64) {
+ Concatenate(ts, "-m64m", Local0)
+ SRMT(Local0)
+ m64m(Local0)
+ } else {
+ Concatenate(ts, "-m32m", Local0)
+ SRMT(Local0)
+ m32m(Local0)
+ }
+
+ // Buffer to Integer conversion of each Buffer operand
+ // of the 2-parameter Integer arithmetic operators
+ // Add, And, Divide, Mod, Multiply, NAnd, NOr, Or,
+ // ShiftLeft, ShiftRight, Subtract, Xor
+ if (F64) {
+ m64n(Concatenate(ts, "-m64n"))
+ } else {
+ m32n(Concatenate(ts, "-m32n"))
+ }
+
+ // Buffer to Integer conversion of each Buffer operand
+ // of the 2-parameter Logical Integer operators LAnd and LOr
+ if (F64) {
+ m64o(Concatenate(ts, "-m64o"))
+ } else {
+ m32o(Concatenate(ts, "-m32o"))
+ }
+
+ // Buffer to Integer conversion of the Buffer second operand of
+ // Logical operators when the first operand is evaluated as Integer
+ // (LEqual, LGreater, LGreaterEqual, LLess, LLessEqual, LNotEqual)
+
+ Concatenate(ts, "-m065", Local0)
+ SRMT(Local0)
+ m065(Local0)
+
+ if (F64) {
+ Concatenate(ts, "-m64p", Local0)
+ SRMT(Local0)
+ m64p(Local0)
+ } else {
+ Concatenate(ts, "-m32p", Local0)
+ SRMT(Local0)
+ m32p(Local0)
+ }
+
+ // Buffer to Integer intermediate conversion of the Buffer second
+ // operand of Concatenate operator in case the first one is Integer
+ if (F64) {
+ Concatenate(ts, "-m64q", Local0)
+ SRMT(Local0)
+ m64q(Local0)
+ } else {
+ Concatenate(ts, "-m32q", Local0)
+ SRMT(Local0)
+ m32q(Local0)
+ }
+
+ // Buffer to Integer conversion of the Buffer Length (second)
+ // operand of the ToString operator
+
+ Concatenate(ts, "-m066", Local0)
+ SRMT(Local0)
+ m066(Local0)
+
+ if (F64) {
+ Concatenate(ts, "-m64r", Local0)
+ SRMT(Local0)
+ m64r(Local0)
+ } else {
+ Concatenate(ts, "-m32r", Local0)
+ SRMT(Local0)
+ m32r(Local0)
+ }
+
+ // Buffer to Integer conversion of the Buffer Index (second)
+ // operand of the Index operator
+ Concatenate(ts, "-m067", Local0)
+ SRMT(Local0)
+ m067(Local0)
+
+ // Buffer to Integer conversion of the String Arg (third)
+ // operand of the Fatal operator
+ // (it can only be checked an exception does not occur)
+ Concatenate(ts, "-m068", Local0)
+ SRMT(Local0)
+ m068(Local0)
+
+ // Buffer to Integer conversion of the Buffer Index and Length
+ // operands of the Mid operator
+
+ Concatenate(ts, "-m069", Local0)
+ SRMT(Local0)
+ m069(Local0)
+
+ if (F64) {
+ Concatenate(ts, "-m64s", Local0)
+ SRMT(Local0)
+ m64s(Local0)
+ } else {
+ Concatenate(ts, "-m32s", Local0)
+ SRMT(Local0)
+ m32s(Local0)
+ }
+
+ // Buffer to Integer conversion of the Buffer StartIndex
+ // operand of the Match operator
+ Concatenate(ts, "-m06a", Local0)
+ SRMT(Local0)
+ m06a(Local0)
+
+ // Buffer to Integer conversion of the Buffer sole operand
+ // of the Method execution control operators (Sleep, Stall)
+ Concatenate(ts, "-m06b", Local0)
+ SRMT(Local0)
+ m06b(Local0)
+
+ // Buffer to Integer conversion of the Buffer TimeoutValue
+ // (second) operand of the Acquire operator
+/* Compiler allows only Integer constant as TimeoutValue (Bug 1)
+ Concatenate(ts, "-m06c", Local0)
+ SRMT(Local0)
+ m06c(Local0)
+*/
+
+ // Buffer to Integer conversion of the Buffer TimeoutValue
+ // (second) operand of the Wait operator
+ Concatenate(ts, "-m06d", Local0)
+ SRMT(Local0)
+ m06d(Local0)
+
+ // Buffer to Integer conversion of the Buffer value
+ // of Predicate of the Method execution control statements
+ // (If, ElseIf, While)
+ Concatenate(ts, "-m06e", Local0)
+ SRMT(Local0)
+ if (y111) {
+ m06e(Local0)
+ } else {
+ BLCK()
+ }
+
+ // Buffer to Integer conversion of the Buffer value
+ // of Expression of Case statement when Expression in
+ // Switch is evaluated as Integer
+ //
+ // Note: Expression of Case can be only static data
+
+ // Buffer to String implicit conversion Cases.
+
+ // Buffer to String conversion of the Buffer second operand of
+ // Logical operators when the first operand is evaluated as String.
+ // LEqual LGreater LGreaterEqual LLess LLessEqual LNotEqual
+ Concatenate(ts, "-m06f", Local0)
+ SRMT(Local0)
+ m06f(Local0)
+
+ // Buffer to String conversion of the Buffer second operand of
+ // Concatenate operator when the first operand is evaluated as String
+ Concatenate(ts, "-m070", Local0)
+ SRMT(Local0)
+ m070(Local0)
+
+ // Check consistency of the test Named Objects
+ // in the root Scope of the Global ACPI namespace
+ Concatenate(ts, "-m606", Local0)
+ SRMT(Local0)
+ m606(Local0)
+}
+
+// Run-method
+Method(OPR3)
+{
+ Store("TEST: OPR3, Source Operand", Debug)
+
+ m615()
+}
diff --git a/tests/aslts/src/runtime/collections/complex/operand/tests/oreftonamed/MAIN.asl b/tests/aslts/src/runtime/collections/complex/operand/tests/oreftonamed/MAIN.asl
new file mode 100644
index 000000000..81bd26449
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/operand/tests/oreftonamed/MAIN.asl
@@ -0,0 +1,59 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "oreftonamed.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../../runtime/cntl/DECL_6UP.asl")
+ Include("../../../../../../runtime/collections/complex/operand/common/ocommon.asl")
+ Include("../../../../../../runtime/collections/complex/operand/tests/oreftonamed/oreftonamed1.asl")
+ Include("../../../../../../runtime/collections/complex/operand/tests/oreftonamed/oreftonamed2.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../../runtime/collections/complex/operand/tests/oreftonamed/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/complex/operand/tests/oreftonamed/Makefile b/tests/aslts/src/runtime/collections/complex/operand/tests/oreftonamed/Makefile
new file mode 100644
index 000000000..48e4849e5
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/operand/tests/oreftonamed/Makefile
@@ -0,0 +1,7 @@
+# oreftonamed
+
+AMLMOD= oreftonamed
+COLL= ../../../..
+
+TOP= $(COLL)/../../..
+include $(COLL)/Makefile.install
diff --git a/tests/aslts/src/runtime/collections/complex/operand/tests/oreftonamed/RUN.asl b/tests/aslts/src/runtime/collections/complex/operand/tests/oreftonamed/RUN.asl
new file mode 100644
index 000000000..03c02731f
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/operand/tests/oreftonamed/RUN.asl
@@ -0,0 +1,35 @@
+/*
+ * 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.
+ */
+
+
+if (STTT("Source Operand, named object data by reference", TCLC, 9, W010)) {
+ OPR4()
+}
+FTTT()
diff --git a/tests/aslts/src/runtime/collections/complex/operand/tests/oreftonamed/oreftonamed1.asl b/tests/aslts/src/runtime/collections/complex/operand/tests/oreftonamed/oreftonamed1.asl
new file mode 100644
index 000000000..3c7fb1fc4
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/operand/tests/oreftonamed/oreftonamed1.asl
@@ -0,0 +1,25200 @@
+/*
+ * 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.
+ */
+
+/*
+ * Check implicit conversion being applied to Named Objects' values
+ * obtained by dereference of the references to these Objects.
+ */
+
+Name(z091, 91)
+
+Method(m616)
+{
+ Name(ts, "m616")
+
+ // Integer to String implicit conversion Cases.
+
+ // Integer to String conversion of the Integer second operand of
+ // Logical operators when the first operand is evaluated as String.
+ // LEqual LGreater LGreaterEqual LLess LLessEqual LNotEqual.
+
+ Method(m640, 1)
+ {
+ // LEqual
+
+ Store(LEqual("FE7CB391D650A284", Derefof(Refof(i604))), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual("fE7CB391D650A284", Derefof(Refof(i604))), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(aus4, Derefof(Refof(i604))), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(LEqual(aus5, Derefof(Refof(i604))), Local0)
+ m600(arg0, 3, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aus4)), Derefof(Refof(i604))), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(aus5)), Derefof(Refof(i604))), Local0)
+ m600(arg0, 5, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paus, 4)), Derefof(Refof(i604))), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paus, 5)), Derefof(Refof(i604))), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ // Method returns String
+
+ Store(LEqual(m601(2, 4), Derefof(Refof(i604))), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(LEqual(m601(2, 5), Derefof(Refof(i604))), Local0)
+ m600(arg0, 9, Local0, Zero)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(2, 4, 1)), Derefof(Refof(i604))), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(2, 5, 1)), Derefof(Refof(i604))), Local0)
+ m600(arg0, 11, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater("FE7CB391D650A284", Derefof(Refof(i604))), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LGreater("fE7CB391D650A284", Derefof(Refof(i604))), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LGreater("FE7CB391D650A28 ", Derefof(Refof(i604))), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LGreater("FE7CB391D650A284q", Derefof(Refof(i604))), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LGreater(aus4, Derefof(Refof(i604))), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LGreater(aus5, Derefof(Refof(i604))), Local0)
+ m600(arg0, 17, Local0, Ones)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aus4)), Derefof(Refof(i604))), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(aus5)), Derefof(Refof(i604))), Local0)
+ m600(arg0, 19, Local0, Ones)
+ }
+
+ Store(LGreater(Derefof(Index(paus, 4)), Derefof(Refof(i604))), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paus, 5)), Derefof(Refof(i604))), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns String
+
+ Store(LGreater(m601(2, 4), Derefof(Refof(i604))), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LGreater(m601(2, 5), Derefof(Refof(i604))), Local0)
+ m600(arg0, 23, Local0, Ones)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(2, 4, 1)), Derefof(Refof(i604))), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(2, 5, 1)), Derefof(Refof(i604))), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual("FE7CB391D650A284", Derefof(Refof(i604))), Local0)
+ m600(arg0, 26, Local0, Ones)
+
+ Store(LGreaterEqual("fE7CB391D650A284", Derefof(Refof(i604))), Local0)
+ m600(arg0, 27, Local0, Ones)
+
+ Store(LGreaterEqual("FE7CB391D650A28 ", Derefof(Refof(i604))), Local0)
+ m600(arg0, 28, Local0, Zero)
+
+ Store(LGreaterEqual("FE7CB391D650A284q", Derefof(Refof(i604))), Local0)
+ m600(arg0, 29, Local0, Ones)
+
+ Store(LGreaterEqual(aus4, Derefof(Refof(i604))), Local0)
+ m600(arg0, 30, Local0, Ones)
+
+ Store(LGreaterEqual(aus5, Derefof(Refof(i604))), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aus4)), Derefof(Refof(i604))), Local0)
+ m600(arg0, 32, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(aus5)), Derefof(Refof(i604))), Local0)
+ m600(arg0, 33, Local0, Ones)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paus, 4)), Derefof(Refof(i604))), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paus, 5)), Derefof(Refof(i604))), Local0)
+ m600(arg0, 35, Local0, Ones)
+
+ // Method returns String
+
+ Store(LGreaterEqual(m601(2, 4), Derefof(Refof(i604))), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(m601(2, 5), Derefof(Refof(i604))), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(2, 4, 1)), Derefof(Refof(i604))), Local0)
+ m600(arg0, 38, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(2, 5, 1)), Derefof(Refof(i604))), Local0)
+ m600(arg0, 39, Local0, Ones)
+ }
+
+ // LLess
+
+ Store(LLess("FE7CB391D650A284", Derefof(Refof(i604))), Local0)
+ m600(arg0, 40, Local0, Zero)
+
+ Store(LLess("fE7CB391D650A284", Derefof(Refof(i604))), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ Store(LLess("FE7CB391D650A28 ", Derefof(Refof(i604))), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LLess("FE7CB391D650A284q", Derefof(Refof(i604))), Local0)
+ m600(arg0, 43, Local0, Zero)
+
+ Store(LLess(aus4, Derefof(Refof(i604))), Local0)
+ m600(arg0, 44, Local0, Zero)
+
+ Store(LLess(aus5, Derefof(Refof(i604))), Local0)
+ m600(arg0, 45, Local0, Zero)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aus4)), Derefof(Refof(i604))), Local0)
+ m600(arg0, 46, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(aus5)), Derefof(Refof(i604))), Local0)
+ m600(arg0, 47, Local0, Zero)
+ }
+
+ Store(LLess(Derefof(Index(paus, 4)), Derefof(Refof(i604))), Local0)
+ m600(arg0, 48, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paus, 5)), Derefof(Refof(i604))), Local0)
+ m600(arg0, 49, Local0, Zero)
+
+ // Method returns String
+
+ Store(LLess(m601(2, 4), Derefof(Refof(i604))), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ Store(LLess(m601(2, 5), Derefof(Refof(i604))), Local0)
+ m600(arg0, 51, Local0, Zero)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LLess(Derefof(m602(2, 4, 1)), Derefof(Refof(i604))), Local0)
+ m600(arg0, 52, Local0, Zero)
+
+ Store(LLess(Derefof(m602(2, 5, 1)), Derefof(Refof(i604))), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual("FE7CB391D650A284", Derefof(Refof(i604))), Local0)
+ m600(arg0, 54, Local0, Ones)
+
+ Store(LLessEqual("fE7CB391D650A284", Derefof(Refof(i604))), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLessEqual("FE7CB391D650A28 ", Derefof(Refof(i604))), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLessEqual("FE7CB391D650A284q", Derefof(Refof(i604))), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLessEqual(aus4, Derefof(Refof(i604))), Local0)
+ m600(arg0, 58, Local0, Ones)
+
+ Store(LLessEqual(aus5, Derefof(Refof(i604))), Local0)
+ m600(arg0, 59, Local0, Zero)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aus4)), Derefof(Refof(i604))), Local0)
+ m600(arg0, 60, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(aus5)), Derefof(Refof(i604))), Local0)
+ m600(arg0, 61, Local0, Zero)
+ }
+
+ Store(LLessEqual(Derefof(Index(paus, 4)), Derefof(Refof(i604))), Local0)
+ m600(arg0, 62, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paus, 5)), Derefof(Refof(i604))), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ // Method returns String
+
+ Store(LLessEqual(m601(2, 4), Derefof(Refof(i604))), Local0)
+ m600(arg0, 64, Local0, Ones)
+
+ Store(LLessEqual(m601(2, 5), Derefof(Refof(i604))), Local0)
+ m600(arg0, 65, Local0, Zero)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(2, 4, 1)), Derefof(Refof(i604))), Local0)
+ m600(arg0, 66, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(2, 5, 1)), Derefof(Refof(i604))), Local0)
+ m600(arg0, 67, Local0, Zero)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual("FE7CB391D650A284", Derefof(Refof(i604))), Local0)
+ m600(arg0, 68, Local0, Zero)
+
+ Store(LNotEqual("fE7CB391D650A284", Derefof(Refof(i604))), Local0)
+ m600(arg0, 69, Local0, Ones)
+
+ Store(LNotEqual("FE7CB391D650A28 ", Derefof(Refof(i604))), Local0)
+ m600(arg0, 70, Local0, Ones)
+
+ Store(LNotEqual("FE7CB391D650A284q", Derefof(Refof(i604))), Local0)
+ m600(arg0, 71, Local0, Ones)
+
+ Store(LNotEqual(aus4, Derefof(Refof(i604))), Local0)
+ m600(arg0, 72, Local0, Zero)
+
+ Store(LNotEqual(aus5, Derefof(Refof(i604))), Local0)
+ m600(arg0, 73, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aus4)), Derefof(Refof(i604))), Local0)
+ m600(arg0, 74, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(aus5)), Derefof(Refof(i604))), Local0)
+ m600(arg0, 75, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paus, 4)), Derefof(Refof(i604))), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paus, 5)), Derefof(Refof(i604))), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ // Method returns String
+
+ Store(LNotEqual(m601(2, 4), Derefof(Refof(i604))), Local0)
+ m600(arg0, 78, Local0, Zero)
+
+ Store(LNotEqual(m601(2, 5), Derefof(Refof(i604))), Local0)
+ m600(arg0, 79, Local0, Ones)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(2, 4, 1)), Derefof(Refof(i604))), Local0)
+ m600(arg0, 80, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(2, 5, 1)), Derefof(Refof(i604))), Local0)
+ m600(arg0, 81, Local0, Ones)
+ }
+ }
+
+ Method(m320, 1)
+ {
+ // LEqual
+
+ Store(LEqual("C179B3FE", Derefof(Refof(i603))), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual("c179B3FE", Derefof(Refof(i603))), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(aus3, Derefof(Refof(i603))), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(LEqual(aus2, Derefof(Refof(i603))), Local0)
+ m600(arg0, 3, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aus3)), Derefof(Refof(i603))), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(aus2)), Derefof(Refof(i603))), Local0)
+ m600(arg0, 5, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paus, 3)), Derefof(Refof(i603))), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paus, 2)), Derefof(Refof(i603))), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ // Method returns String
+
+ Store(LEqual(m601(2, 3), Derefof(Refof(i603))), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(LEqual(m601(2, 2), Derefof(Refof(i603))), Local0)
+ m600(arg0, 9, Local0, Zero)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(2, 3, 1)), Derefof(Refof(i603))), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(2, 2, 1)), Derefof(Refof(i603))), Local0)
+ m600(arg0, 11, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater("C179B3FE", Derefof(Refof(i603))), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LGreater("c179B3FE", Derefof(Refof(i603))), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LGreater("C179B3F ", Derefof(Refof(i603))), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LGreater("C179B3FEq", Derefof(Refof(i603))), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LGreater(aus3, Derefof(Refof(i603))), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LGreater(aus2, Derefof(Refof(i603))), Local0)
+ m600(arg0, 17, Local0, Ones)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aus3)), Derefof(Refof(i603))), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(aus2)), Derefof(Refof(i603))), Local0)
+ m600(arg0, 19, Local0, Ones)
+ }
+
+ Store(LGreater(Derefof(Index(paus, 3)), Derefof(Refof(i603))), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paus, 2)), Derefof(Refof(i603))), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns String
+
+ Store(LGreater(m601(2, 3), Derefof(Refof(i603))), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LGreater(m601(2, 2), Derefof(Refof(i603))), Local0)
+ m600(arg0, 23, Local0, Ones)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(2, 3, 1)), Derefof(Refof(i603))), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(2, 2, 1)), Derefof(Refof(i603))), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual("C179B3FE", Derefof(Refof(i603))), Local0)
+ m600(arg0, 26, Local0, Ones)
+
+ Store(LGreaterEqual("c179B3FE", Derefof(Refof(i603))), Local0)
+ m600(arg0, 27, Local0, Ones)
+
+ Store(LGreaterEqual("C179B3F ", Derefof(Refof(i603))), Local0)
+ m600(arg0, 28, Local0, Zero)
+
+ Store(LGreaterEqual("C179B3FEq", Derefof(Refof(i603))), Local0)
+ m600(arg0, 29, Local0, Ones)
+
+ Store(LGreaterEqual(aus3, Derefof(Refof(i603))), Local0)
+ m600(arg0, 30, Local0, Ones)
+
+ Store(LGreaterEqual(aus2, Derefof(Refof(i603))), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aus3)), Derefof(Refof(i603))), Local0)
+ m600(arg0, 32, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(aus2)), Derefof(Refof(i603))), Local0)
+ m600(arg0, 33, Local0, Ones)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paus, 3)), Derefof(Refof(i603))), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paus, 2)), Derefof(Refof(i603))), Local0)
+ m600(arg0, 35, Local0, Ones)
+
+ // Method returns String
+
+ Store(LGreaterEqual(m601(2, 3), Derefof(Refof(i603))), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(m601(2, 2), Derefof(Refof(i603))), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(2, 3, 1)), Derefof(Refof(i603))), Local0)
+ m600(arg0, 38, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(2, 2, 1)), Derefof(Refof(i603))), Local0)
+ m600(arg0, 39, Local0, Ones)
+ }
+
+ // LLess
+
+ Store(LLess("C179B3FE", Derefof(Refof(i603))), Local0)
+ m600(arg0, 40, Local0, Zero)
+
+ Store(LLess("c179B3FE", Derefof(Refof(i603))), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ Store(LLess("C179B3F ", Derefof(Refof(i603))), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LLess("C179B3FEq", Derefof(Refof(i603))), Local0)
+ m600(arg0, 43, Local0, Zero)
+
+ Store(LLess(aus3, Derefof(Refof(i603))), Local0)
+ m600(arg0, 44, Local0, Zero)
+
+ Store(LLess(aus2, Derefof(Refof(i603))), Local0)
+ m600(arg0, 45, Local0, Zero)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aus3)), Derefof(Refof(i603))), Local0)
+ m600(arg0, 46, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(aus2)), Derefof(Refof(i603))), Local0)
+ m600(arg0, 47, Local0, Zero)
+ }
+
+ Store(LLess(Derefof(Index(paus, 3)), Derefof(Refof(i603))), Local0)
+ m600(arg0, 48, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paus, 2)), Derefof(Refof(i603))), Local0)
+ m600(arg0, 49, Local0, Zero)
+
+ // Method returns String
+
+ Store(LLess(m601(2, 3), Derefof(Refof(i603))), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ Store(LLess(m601(2, 2), Derefof(Refof(i603))), Local0)
+ m600(arg0, 51, Local0, Zero)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LLess(Derefof(m602(2, 3, 1)), Derefof(Refof(i603))), Local0)
+ m600(arg0, 52, Local0, Zero)
+
+ Store(LLess(Derefof(m602(2, 2, 1)), Derefof(Refof(i603))), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual("C179B3FE", Derefof(Refof(i603))), Local0)
+ m600(arg0, 54, Local0, Ones)
+
+ Store(LLessEqual("c179B3FE", Derefof(Refof(i603))), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLessEqual("C179B3F ", Derefof(Refof(i603))), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLessEqual("C179B3FEq", Derefof(Refof(i603))), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLessEqual(aus3, Derefof(Refof(i603))), Local0)
+ m600(arg0, 58, Local0, Ones)
+
+ Store(LLessEqual(aus2, Derefof(Refof(i603))), Local0)
+ m600(arg0, 59, Local0, Zero)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aus3)), Derefof(Refof(i603))), Local0)
+ m600(arg0, 60, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(aus2)), Derefof(Refof(i603))), Local0)
+ m600(arg0, 61, Local0, Zero)
+ }
+
+ Store(LLessEqual(Derefof(Index(paus, 3)), Derefof(Refof(i603))), Local0)
+ m600(arg0, 62, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paus, 2)), Derefof(Refof(i603))), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ // Method returns String
+
+ Store(LLessEqual(m601(2, 3), Derefof(Refof(i603))), Local0)
+ m600(arg0, 64, Local0, Ones)
+
+ Store(LLessEqual(m601(2, 2), Derefof(Refof(i603))), Local0)
+ m600(arg0, 65, Local0, Zero)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(2, 3, 1)), Derefof(Refof(i603))), Local0)
+ m600(arg0, 66, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(2, 2, 1)), Derefof(Refof(i603))), Local0)
+ m600(arg0, 67, Local0, Zero)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual("C179B3FE", Derefof(Refof(i603))), Local0)
+ m600(arg0, 68, Local0, Zero)
+
+ Store(LNotEqual("c179B3FE", Derefof(Refof(i603))), Local0)
+ m600(arg0, 69, Local0, Ones)
+
+ Store(LNotEqual("C179B3F ", Derefof(Refof(i603))), Local0)
+ m600(arg0, 70, Local0, Ones)
+
+ Store(LNotEqual("C179B3FEq", Derefof(Refof(i603))), Local0)
+ m600(arg0, 71, Local0, Ones)
+
+ Store(LNotEqual(aus3, Derefof(Refof(i603))), Local0)
+ m600(arg0, 72, Local0, Zero)
+
+ Store(LNotEqual(aus2, Derefof(Refof(i603))), Local0)
+ m600(arg0, 73, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aus3)), Derefof(Refof(i603))), Local0)
+ m600(arg0, 74, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(aus2)), Derefof(Refof(i603))), Local0)
+ m600(arg0, 75, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paus, 3)), Derefof(Refof(i603))), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paus, 2)), Derefof(Refof(i603))), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ // Method returns String
+
+ Store(LNotEqual(m601(2, 3), Derefof(Refof(i603))), Local0)
+ m600(arg0, 78, Local0, Zero)
+
+ Store(LNotEqual(m601(2, 2), Derefof(Refof(i603))), Local0)
+ m600(arg0, 79, Local0, Ones)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(2, 3, 1)), Derefof(Refof(i603))), Local0)
+ m600(arg0, 80, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(2, 2, 1)), Derefof(Refof(i603))), Local0)
+ m600(arg0, 81, Local0, Ones)
+ }
+ }
+
+ // Integer to String conversion of the Integer second operand of
+ // Concatenate operator when the first operand is evaluated as String
+
+ Method(m641, 1)
+ {
+ Store(Concatenate("", Derefof(Refof(i604))), Local0)
+ m600(arg0, 0, Local0, bs10)
+
+ Store(Concatenate("1234q", Derefof(Refof(i604))), Local0)
+ m600(arg0, 1, Local0, bs11)
+
+ Store(Concatenate(aus0, Derefof(Refof(i604))), Local0)
+ m600(arg0, 2, Local0, bs10)
+
+ Store(Concatenate(aus1, Derefof(Refof(i604))), Local0)
+ m600(arg0, 3, Local0, bs11)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aus0)), Derefof(Refof(i604))), Local0)
+ m600(arg0, 4, Local0, bs10)
+
+ Store(Concatenate(Derefof(Refof(aus1)), Derefof(Refof(i604))), Local0)
+ m600(arg0, 5, Local0, bs11)
+ }
+
+ Store(Concatenate(Derefof(Index(paus, 0)), Derefof(Refof(i604))), Local0)
+ m600(arg0, 6, Local0, bs10)
+
+ Store(Concatenate(Derefof(Index(paus, 1)), Derefof(Refof(i604))), Local0)
+ m600(arg0, 7, Local0, bs11)
+
+ // Method returns String
+
+ Store(Concatenate(m601(2, 0), Derefof(Refof(i604))), Local0)
+ m600(arg0, 8, Local0, bs10)
+
+ Store(Concatenate(m601(2, 1), Derefof(Refof(i604))), Local0)
+ m600(arg0, 9, Local0, bs11)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(2, 0, 1)), Derefof(Refof(i604))), Local0)
+ m600(arg0, 10, Local0, bs10)
+
+ Store(Concatenate(Derefof(m602(2, 1, 1)), Derefof(Refof(i604))), Local0)
+ m600(arg0, 11, Local0, bs11)
+ }
+
+ Concatenate("", Derefof(Refof(i604)), Local0)
+ m600(arg0, 12, Local0, bs10)
+
+ Concatenate("1234q", Derefof(Refof(i604)), Local0)
+ m600(arg0, 13, Local0, bs11)
+
+ Concatenate(aus0, Derefof(Refof(i604)), Local0)
+ m600(arg0, 14, Local0, bs10)
+
+ Concatenate(aus1, Derefof(Refof(i604)), Local0)
+ m600(arg0, 15, Local0, bs11)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aus0)), Derefof(Refof(i604)), Local0)
+ m600(arg0, 16, Local0, bs10)
+
+ Concatenate(Derefof(Refof(aus1)), Derefof(Refof(i604)), Local0)
+ m600(arg0, 17, Local0, bs11)
+ }
+
+ Concatenate(Derefof(Index(paus, 0)), Derefof(Refof(i604)), Local0)
+ m600(arg0, 18, Local0, bs10)
+
+ Concatenate(Derefof(Index(paus, 1)), Derefof(Refof(i604)), Local0)
+ m600(arg0, 19, Local0, bs11)
+
+ // Method returns String
+
+ Concatenate(m601(2, 0), Derefof(Refof(i604)), Local0)
+ m600(arg0, 20, Local0, bs10)
+
+ Concatenate(m601(2, 1), Derefof(Refof(i604)), Local0)
+ m600(arg0, 21, Local0, bs11)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Concatenate(Derefof(m602(2, 0, 1)), Derefof(Refof(i604)), Local0)
+ m600(arg0, 22, Local0, bs10)
+
+ Concatenate(Derefof(m602(2, 1, 1)), Derefof(Refof(i604)), Local0)
+ m600(arg0, 23, Local0, bs11)
+ }
+ }
+
+ Method(m321, 1)
+ {
+ Store(Concatenate("", Derefof(Refof(i603))), Local0)
+ m600(arg0, 0, Local0, bs12)
+
+ Store(Concatenate("1234q", Derefof(Refof(i603))), Local0)
+ m600(arg0, 1, Local0, bs13)
+
+ Store(Concatenate(aus0, Derefof(Refof(i603))), Local0)
+ m600(arg0, 2, Local0, bs12)
+
+ Store(Concatenate(aus1, Derefof(Refof(i603))), Local0)
+ m600(arg0, 3, Local0, bs13)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aus0)), Derefof(Refof(i603))), Local0)
+ m600(arg0, 4, Local0, bs12)
+
+ Store(Concatenate(Derefof(Refof(aus1)), Derefof(Refof(i603))), Local0)
+ m600(arg0, 5, Local0, bs13)
+ }
+
+ Store(Concatenate(Derefof(Index(paus, 0)), Derefof(Refof(i603))), Local0)
+ m600(arg0, 6, Local0, bs12)
+
+ Store(Concatenate(Derefof(Index(paus, 1)), Derefof(Refof(i603))), Local0)
+ m600(arg0, 7, Local0, bs13)
+
+ // Method returns String
+
+ Store(Concatenate(m601(2, 0), Derefof(Refof(i603))), Local0)
+ m600(arg0, 8, Local0, bs12)
+
+ Store(Concatenate(m601(2, 1), Derefof(Refof(i603))), Local0)
+ m600(arg0, 9, Local0, bs13)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(2, 0, 1)), Derefof(Refof(i603))), Local0)
+ m600(arg0, 10, Local0, bs12)
+
+ Store(Concatenate(Derefof(m602(2, 1, 1)), Derefof(Refof(i603))), Local0)
+ m600(arg0, 11, Local0, bs13)
+ }
+
+ Store(Concatenate("", Derefof(Refof(i604))), Local0)
+ m600(arg0, 12, Local0, bs14)
+
+ Store(Concatenate("1234q", Derefof(Refof(i604))), Local0)
+ m600(arg0, 13, Local0, bs15)
+
+ Concatenate("", Derefof(Refof(i603)), Local0)
+ m600(arg0, 14, Local0, bs12)
+
+ Concatenate("1234q", Derefof(Refof(i603)), Local0)
+ m600(arg0, 15, Local0, bs13)
+
+ Concatenate(aus0, Derefof(Refof(i603)), Local0)
+ m600(arg0, 16, Local0, bs12)
+
+ Concatenate(aus1, Derefof(Refof(i603)), Local0)
+ m600(arg0, 17, Local0, bs13)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aus0)), Derefof(Refof(i603)), Local0)
+ m600(arg0, 18, Local0, bs12)
+
+ Concatenate(Derefof(Refof(aus1)), Derefof(Refof(i603)), Local0)
+ m600(arg0, 19, Local0, bs13)
+ }
+
+ Concatenate(Derefof(Index(paus, 0)), Derefof(Refof(i603)), Local0)
+ m600(arg0, 20, Local0, bs12)
+
+ Concatenate(Derefof(Index(paus, 1)), Derefof(Refof(i603)), Local0)
+ m600(arg0, 21, Local0, bs13)
+
+ // Method returns String
+
+ Concatenate(m601(2, 0), Derefof(Refof(i603)), Local0)
+ m600(arg0, 22, Local0, bs12)
+
+ Concatenate(m601(2, 1), Derefof(Refof(i603)), Local0)
+ m600(arg0, 23, Local0, bs13)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Concatenate(Derefof(m602(2, 0, 1)), Derefof(Refof(i603)), Local0)
+ m600(arg0, 24, Local0, bs12)
+
+ Concatenate(Derefof(m602(2, 1, 1)), Derefof(Refof(i603)), Local0)
+ m600(arg0, 25, Local0, bs13)
+ }
+
+ Concatenate("", Derefof(Refof(i604)), Local0)
+ m600(arg0, 26, Local0, bs14)
+
+ Concatenate("1234q", Derefof(Refof(i604)), Local0)
+ m600(arg0, 27, Local0, bs15)
+ }
+
+// Method(m642, 1)
+
+// Method(m322, 1)
+
+// Method(m643, 1)
+
+// Method(m323, 1)
+
+ // Integer to Buffer implicit conversion Cases.
+
+ // Integer to Buffer conversion of the Integer second operand of
+ // Logical operators when the first operand is evaluated as Buffer
+ // (LEqual, LGreater, LGreaterEqual, LLess, LLessEqual, LNotEqual)
+
+ Method(m644, 1)
+ {
+ // LEqual
+
+ Store(LEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, Derefof(Refof(i604))), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFF}, Derefof(Refof(i604))), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(aub4, Derefof(Refof(i604))), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(LEqual(aub3, Derefof(Refof(i604))), Local0)
+ m600(arg0, 3, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aub4)), Derefof(Refof(i604))), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(aub3)), Derefof(Refof(i604))), Local0)
+ m600(arg0, 5, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paub, 4)), Derefof(Refof(i604))), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paub, 3)), Derefof(Refof(i604))), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ // Method returns Buffer
+
+ Store(LEqual(m601(3, 4), Derefof(Refof(i604))), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(LEqual(m601(3, 3), Derefof(Refof(i604))), Local0)
+ m600(arg0, 9, Local0, Zero)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(3, 4, 1)), Derefof(Refof(i604))), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(3, 3, 1)), Derefof(Refof(i604))), Local0)
+ m600(arg0, 11, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, Derefof(Refof(i604))), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LGreater(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFF}, Derefof(Refof(i604))), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LGreater(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFD}, Derefof(Refof(i604))), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LGreater(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0x01}, Derefof(Refof(i604))), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LGreater(aub4, Derefof(Refof(i604))), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LGreater(aub5, Derefof(Refof(i604))), Local0)
+ m600(arg0, 17, Local0, Ones)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aub4)), Derefof(Refof(i604))), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(aub5)), Derefof(Refof(i604))), Local0)
+ m600(arg0, 19, Local0, Ones)
+ }
+
+ Store(LGreater(Derefof(Index(paub, 4)), Derefof(Refof(i604))), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paub, 5)), Derefof(Refof(i604))), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Buffer
+
+ Store(LGreater(m601(3, 4), Derefof(Refof(i604))), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LGreater(m601(3, 5), Derefof(Refof(i604))), Local0)
+ m600(arg0, 23, Local0, Ones)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(3, 4, 1)), Derefof(Refof(i604))), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(3, 5, 1)), Derefof(Refof(i604))), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, Derefof(Refof(i604))), Local0)
+ m600(arg0, 26, Local0, Ones)
+
+ Store(LGreaterEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFF}, Derefof(Refof(i604))), Local0)
+ m600(arg0, 27, Local0, Ones)
+
+ Store(LGreaterEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFD}, Derefof(Refof(i604))), Local0)
+ m600(arg0, 28, Local0, Zero)
+
+ Store(LGreaterEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0x01}, Derefof(Refof(i604))), Local0)
+ m600(arg0, 29, Local0, Ones)
+
+ Store(LGreaterEqual(aub4, Derefof(Refof(i604))), Local0)
+ m600(arg0, 30, Local0, Ones)
+
+ Store(LGreaterEqual(aub5, Derefof(Refof(i604))), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aub4)), Derefof(Refof(i604))), Local0)
+ m600(arg0, 32, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(aub5)), Derefof(Refof(i604))), Local0)
+ m600(arg0, 33, Local0, Ones)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paub, 4)), Derefof(Refof(i604))), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paub, 5)), Derefof(Refof(i604))), Local0)
+ m600(arg0, 35, Local0, Ones)
+
+ // Method returns Buffer
+
+ Store(LGreaterEqual(m601(3, 4), Derefof(Refof(i604))), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(m601(3, 5), Derefof(Refof(i604))), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(3, 4, 1)), Derefof(Refof(i604))), Local0)
+ m600(arg0, 38, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(3, 5, 1)), Derefof(Refof(i604))), Local0)
+ m600(arg0, 39, Local0, Ones)
+ }
+
+ // LLess
+
+ Store(LLess(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, Derefof(Refof(i604))), Local0)
+ m600(arg0, 40, Local0, Zero)
+
+ Store(LLess(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFF}, Derefof(Refof(i604))), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ Store(LLess(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFD}, Derefof(Refof(i604))), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LLess(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0x01}, Derefof(Refof(i604))), Local0)
+ m600(arg0, 43, Local0, Zero)
+
+ Store(LLess(aub4, Derefof(Refof(i604))), Local0)
+ m600(arg0, 44, Local0, Zero)
+
+ Store(LLess(aub5, Derefof(Refof(i604))), Local0)
+ m600(arg0, 45, Local0, Zero)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aub4)), Derefof(Refof(i604))), Local0)
+ m600(arg0, 46, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(aub5)), Derefof(Refof(i604))), Local0)
+ m600(arg0, 47, Local0, Zero)
+ }
+
+ Store(LLess(Derefof(Index(paub, 4)), Derefof(Refof(i604))), Local0)
+ m600(arg0, 48, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paub, 5)), Derefof(Refof(i604))), Local0)
+ m600(arg0, 49, Local0, Zero)
+
+ // Method returns Buffer
+
+ Store(LLess(m601(3, 4), Derefof(Refof(i604))), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ Store(LLess(m601(3, 5), Derefof(Refof(i604))), Local0)
+ m600(arg0, 51, Local0, Zero)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LLess(Derefof(m602(3, 4, 1)), Derefof(Refof(i604))), Local0)
+ m600(arg0, 52, Local0, Zero)
+
+ Store(LLess(Derefof(m602(3, 5, 1)), Derefof(Refof(i604))), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, Derefof(Refof(i604))), Local0)
+ m600(arg0, 54, Local0, Ones)
+
+ Store(LLessEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFF}, Derefof(Refof(i604))), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLessEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFD}, Derefof(Refof(i604))), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLessEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0x01}, Derefof(Refof(i604))), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLessEqual(aub4, Derefof(Refof(i604))), Local0)
+ m600(arg0, 58, Local0, Ones)
+
+ Store(LLessEqual(aub5, Derefof(Refof(i604))), Local0)
+ m600(arg0, 59, Local0, Zero)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aub4)), Derefof(Refof(i604))), Local0)
+ m600(arg0, 60, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(aub5)), Derefof(Refof(i604))), Local0)
+ m600(arg0, 61, Local0, Zero)
+ }
+
+ Store(LLessEqual(Derefof(Index(paub, 4)), Derefof(Refof(i604))), Local0)
+ m600(arg0, 62, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paub, 5)), Derefof(Refof(i604))), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ // Method returns Buffer
+
+ Store(LLessEqual(m601(3, 4), Derefof(Refof(i604))), Local0)
+ m600(arg0, 64, Local0, Ones)
+
+ Store(LLessEqual(m601(3, 5), Derefof(Refof(i604))), Local0)
+ m600(arg0, 65, Local0, Zero)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(3, 4, 1)), Derefof(Refof(i604))), Local0)
+ m600(arg0, 66, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(3, 5, 1)), Derefof(Refof(i604))), Local0)
+ m600(arg0, 67, Local0, Zero)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, Derefof(Refof(i604))), Local0)
+ m600(arg0, 68, Local0, Zero)
+
+ Store(LNotEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFF}, Derefof(Refof(i604))), Local0)
+ m600(arg0, 69, Local0, Ones)
+
+ Store(LNotEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFD}, Derefof(Refof(i604))), Local0)
+ m600(arg0, 70, Local0, Ones)
+
+ Store(LNotEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0x01}, Derefof(Refof(i604))), Local0)
+ m600(arg0, 71, Local0, Ones)
+
+ Store(LNotEqual(aub4, Derefof(Refof(i604))), Local0)
+ m600(arg0, 72, Local0, Zero)
+
+ Store(LNotEqual(aub5, Derefof(Refof(i604))), Local0)
+ m600(arg0, 73, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aub4)), Derefof(Refof(i604))), Local0)
+ m600(arg0, 74, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(aub5)), Derefof(Refof(i604))), Local0)
+ m600(arg0, 75, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paub, 4)), Derefof(Refof(i604))), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paub, 5)), Derefof(Refof(i604))), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ // Method returns Buffer
+
+ Store(LNotEqual(m601(3, 4), Derefof(Refof(i604))), Local0)
+ m600(arg0, 78, Local0, Zero)
+
+ Store(LNotEqual(m601(3, 5), Derefof(Refof(i604))), Local0)
+ m600(arg0, 79, Local0, Ones)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(3, 4, 1)), Derefof(Refof(i604))), Local0)
+ m600(arg0, 80, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(3, 5, 1)), Derefof(Refof(i604))), Local0)
+ m600(arg0, 81, Local0, Ones)
+ }
+ }
+
+ Method(m324, 1)
+ {
+ // LEqual
+
+ Store(LEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC1}, Derefof(Refof(i603))), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC0}, Derefof(Refof(i603))), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(aub3, Derefof(Refof(i603))), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(LEqual(aub2, Derefof(Refof(i603))), Local0)
+ m600(arg0, 3, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aub3)), Derefof(Refof(i603))), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(aub2)), Derefof(Refof(i603))), Local0)
+ m600(arg0, 5, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paub, 3)), Derefof(Refof(i603))), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paub, 2)), Derefof(Refof(i603))), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ // Method returns Buffer
+
+ Store(LEqual(m601(3, 3), Derefof(Refof(i603))), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(LEqual(m601(3, 2), Derefof(Refof(i603))), Local0)
+ m600(arg0, 9, Local0, Zero)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(3, 3, 1)), Derefof(Refof(i603))), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(3, 2, 1)), Derefof(Refof(i603))), Local0)
+ m600(arg0, 11, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater(Buffer() {0xFE, 0xB3, 0x79, 0xC1}, Derefof(Refof(i603))), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LGreater(Buffer() {0xFE, 0xB3, 0x79, 0xC2}, Derefof(Refof(i603))), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LGreater(Buffer() {0xFE, 0xB3, 0x79, 0xC0}, Derefof(Refof(i603))), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LGreater(Buffer() {0xFE, 0xB3, 0x79, 0xC1, 0x01}, Derefof(Refof(i603))), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LGreater(aub3, Derefof(Refof(i603))), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LGreater(aub2, Derefof(Refof(i603))), Local0)
+ m600(arg0, 17, Local0, Ones)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aub3)), Derefof(Refof(i603))), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(aub2)), Derefof(Refof(i603))), Local0)
+ m600(arg0, 19, Local0, Ones)
+ }
+
+ Store(LGreater(Derefof(Index(paub, 3)), Derefof(Refof(i603))), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paub, 2)), Derefof(Refof(i603))), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Buffer
+
+ Store(LGreater(m601(3, 3), Derefof(Refof(i603))), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LGreater(m601(3, 2), Derefof(Refof(i603))), Local0)
+ m600(arg0, 23, Local0, Ones)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(3, 3, 1)), Derefof(Refof(i603))), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(3, 2, 1)), Derefof(Refof(i603))), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC1}, Derefof(Refof(i603))), Local0)
+ m600(arg0, 26, Local0, Ones)
+
+ Store(LGreaterEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC2}, Derefof(Refof(i603))), Local0)
+ m600(arg0, 27, Local0, Ones)
+
+ Store(LGreaterEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC0}, Derefof(Refof(i603))), Local0)
+ m600(arg0, 28, Local0, Zero)
+
+ Store(LGreaterEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC1, 0x01}, Derefof(Refof(i603))), Local0)
+ m600(arg0, 29, Local0, Ones)
+
+ Store(LGreaterEqual(aub3, Derefof(Refof(i603))), Local0)
+ m600(arg0, 30, Local0, Ones)
+
+ Store(LGreaterEqual(aub2, Derefof(Refof(i603))), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aub3)), Derefof(Refof(i603))), Local0)
+ m600(arg0, 32, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(aub2)), Derefof(Refof(i603))), Local0)
+ m600(arg0, 33, Local0, Ones)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paub, 3)), Derefof(Refof(i603))), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paub, 2)), Derefof(Refof(i603))), Local0)
+ m600(arg0, 35, Local0, Ones)
+
+ // Method returns Buffer
+
+ Store(LGreaterEqual(m601(3, 3), Derefof(Refof(i603))), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(m601(3, 2), Derefof(Refof(i603))), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(3, 3, 1)), Derefof(Refof(i603))), Local0)
+ m600(arg0, 38, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(3, 2, 1)), Derefof(Refof(i603))), Local0)
+ m600(arg0, 39, Local0, Ones)
+ }
+
+ // LLess
+
+ Store(LLess(Buffer() {0xFE, 0xB3, 0x79, 0xC1}, Derefof(Refof(i603))), Local0)
+ m600(arg0, 40, Local0, Zero)
+
+ Store(LLess(Buffer() {0xFE, 0xB3, 0x79, 0xC2}, Derefof(Refof(i603))), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ Store(LLess(Buffer() {0xFE, 0xB3, 0x79, 0xC0}, Derefof(Refof(i603))), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LLess(Buffer() {0xFE, 0xB3, 0x79, 0xC1, 0x01}, Derefof(Refof(i603))), Local0)
+ m600(arg0, 43, Local0, Zero)
+
+ Store(LLess(aub3, Derefof(Refof(i603))), Local0)
+ m600(arg0, 44, Local0, Zero)
+
+ Store(LLess(aub2, Derefof(Refof(i603))), Local0)
+ m600(arg0, 45, Local0, Zero)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aub3)), Derefof(Refof(i603))), Local0)
+ m600(arg0, 46, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(aub2)), Derefof(Refof(i603))), Local0)
+ m600(arg0, 47, Local0, Zero)
+ }
+
+ Store(LLess(Derefof(Index(paub, 3)), Derefof(Refof(i603))), Local0)
+ m600(arg0, 48, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paub, 2)), Derefof(Refof(i603))), Local0)
+ m600(arg0, 49, Local0, Zero)
+
+ // Method returns Buffer
+
+ Store(LLess(m601(3, 3), Derefof(Refof(i603))), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ Store(LLess(m601(3, 2), Derefof(Refof(i603))), Local0)
+ m600(arg0, 51, Local0, Zero)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LLess(Derefof(m602(3, 3, 1)), Derefof(Refof(i603))), Local0)
+ m600(arg0, 52, Local0, Zero)
+
+ Store(LLess(Derefof(m602(3, 2, 1)), Derefof(Refof(i603))), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC1}, Derefof(Refof(i603))), Local0)
+ m600(arg0, 54, Local0, Ones)
+
+ Store(LLessEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC2}, Derefof(Refof(i603))), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLessEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC0}, Derefof(Refof(i603))), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLessEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC1, 0x01}, Derefof(Refof(i603))), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLessEqual(aub3, Derefof(Refof(i603))), Local0)
+ m600(arg0, 58, Local0, Ones)
+
+ Store(LLessEqual(aub2, Derefof(Refof(i603))), Local0)
+ m600(arg0, 59, Local0, Zero)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aub3)), Derefof(Refof(i603))), Local0)
+ m600(arg0, 60, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(aub2)), Derefof(Refof(i603))), Local0)
+ m600(arg0, 61, Local0, Zero)
+ }
+
+ Store(LLessEqual(Derefof(Index(paub, 3)), Derefof(Refof(i603))), Local0)
+ m600(arg0, 62, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paub, 2)), Derefof(Refof(i603))), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ // Method returns Buffer
+
+ Store(LLessEqual(m601(3, 3), Derefof(Refof(i603))), Local0)
+ m600(arg0, 64, Local0, Ones)
+
+ Store(LLessEqual(m601(3, 2), Derefof(Refof(i603))), Local0)
+ m600(arg0, 65, Local0, Zero)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(3, 3, 1)), Derefof(Refof(i603))), Local0)
+ m600(arg0, 66, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(3, 2, 1)), Derefof(Refof(i603))), Local0)
+ m600(arg0, 67, Local0, Zero)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC1}, Derefof(Refof(i603))), Local0)
+ m600(arg0, 68, Local0, Zero)
+
+ Store(LNotEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC2}, Derefof(Refof(i603))), Local0)
+ m600(arg0, 69, Local0, Ones)
+
+ Store(LNotEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC0}, Derefof(Refof(i603))), Local0)
+ m600(arg0, 70, Local0, Ones)
+
+ Store(LNotEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC1, 0x01}, Derefof(Refof(i603))), Local0)
+ m600(arg0, 71, Local0, Ones)
+
+ Store(LNotEqual(aub3, Derefof(Refof(i603))), Local0)
+ m600(arg0, 72, Local0, Zero)
+
+ Store(LNotEqual(aub2, Derefof(Refof(i603))), Local0)
+ m600(arg0, 73, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aub3)), Derefof(Refof(i603))), Local0)
+ m600(arg0, 74, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(aub2)), Derefof(Refof(i603))), Local0)
+ m600(arg0, 75, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paub, 3)), Derefof(Refof(i603))), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paub, 2)), Derefof(Refof(i603))), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ // Method returns Buffer
+
+ Store(LNotEqual(m601(3, 3), Derefof(Refof(i603))), Local0)
+ m600(arg0, 78, Local0, Zero)
+
+ Store(LNotEqual(m601(3, 2), Derefof(Refof(i603))), Local0)
+ m600(arg0, 79, Local0, Ones)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(3, 3, 1)), Derefof(Refof(i603))), Local0)
+ m600(arg0, 80, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(3, 2, 1)), Derefof(Refof(i603))), Local0)
+ m600(arg0, 81, Local0, Ones)
+ }
+ }
+
+
+ // Integer to Buffer conversion of the both Integer operands of
+ // Concatenate operator
+
+ Method(m645, 1)
+ {
+ Store(Concatenate(Derefof(Refof(i604)), Derefof(Refof(i604))), Local0)
+ m600(arg0, 0, Local0, bb20)
+
+ Store(Concatenate(0x321, Derefof(Refof(i604))), Local0)
+ m600(arg0, 1, Local0, bb21)
+
+ Store(Concatenate(Derefof(Refof(i604)), 0x321), Local0)
+ m600(arg0, 1, Local0, bb22)
+
+ Concatenate(Derefof(Refof(i604)), Derefof(Refof(i604)), Local0)
+ m600(arg0, 0, Local0, bb20)
+
+ Concatenate(0x321, Derefof(Refof(i604)), Local0)
+ m600(arg0, 1, Local0, bb21)
+
+ Concatenate(Derefof(Refof(i604)), 0x321, Local0)
+ m600(arg0, 1, Local0, bb22)
+ }
+
+ Method(m325, 1)
+ {
+ Store(Concatenate(Derefof(Refof(i603)), Derefof(Refof(i603))), Local0)
+ m600(arg0, 0, Local0, bb23)
+
+ Store(Concatenate(0x321, Derefof(Refof(i603))), Local0)
+ m600(arg0, 1, Local0, bb24)
+
+ Store(Concatenate(Derefof(Refof(i603)), 0x321), Local0)
+ m600(arg0, 1, Local0, bb25)
+
+ Concatenate(Derefof(Refof(i603)), Derefof(Refof(i603)), Local0)
+ m600(arg0, 0, Local0, bb23)
+
+ Concatenate(0x321, Derefof(Refof(i603)), Local0)
+ m600(arg0, 1, Local0, bb24)
+
+ Concatenate(Derefof(Refof(i603)), 0x321, Local0)
+ m600(arg0, 1, Local0, bb25)
+ }
+
+ // Integer to Buffer conversion of the Integer second operand of
+ // Concatenate operator when the first operand is evaluated as Buffer
+
+ Method(m646, 1)
+ {
+ Store(Concatenate(Buffer(){0x5a}, Derefof(Refof(i604))), Local0)
+ m600(arg0, 0, Local0, bb10)
+
+ Store(Concatenate(Buffer(){0x5a, 0x00}, Derefof(Refof(i604))), Local0)
+ m600(arg0, 1, Local0, bb11)
+
+ Store(Concatenate(aub0, Derefof(Refof(i604))), Local0)
+ m600(arg0, 2, Local0, bb10)
+
+ Store(Concatenate(aub1, Derefof(Refof(i604))), Local0)
+ m600(arg0, 3, Local0, bb11)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aub0)), Derefof(Refof(i604))), Local0)
+ m600(arg0, 4, Local0, bb10)
+
+ Store(Concatenate(Derefof(Refof(aub1)), Derefof(Refof(i604))), Local0)
+ m600(arg0, 5, Local0, bb11)
+ }
+
+ Store(Concatenate(Derefof(Index(paub, 0)), Derefof(Refof(i604))), Local0)
+ m600(arg0, 6, Local0, bb10)
+
+ Store(Concatenate(Derefof(Index(paub, 1)), Derefof(Refof(i604))), Local0)
+ m600(arg0, 7, Local0, bb11)
+
+ // Method returns Buffer
+
+ Store(Concatenate(m601(3, 0), Derefof(Refof(i604))), Local0)
+ m600(arg0, 8, Local0, bb10)
+
+ Store(Concatenate(m601(3, 1), Derefof(Refof(i604))), Local0)
+ m600(arg0, 9, Local0, bb11)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(3, 0, 1)), Derefof(Refof(i604))), Local0)
+ m600(arg0, 10, Local0, bb10)
+
+ Store(Concatenate(Derefof(m602(3, 1, 1)), Derefof(Refof(i604))), Local0)
+ m600(arg0, 11, Local0, bb11)
+ }
+
+ Concatenate(Buffer(){0x5a}, Derefof(Refof(i604)), Local0)
+ m600(arg0, 12, Local0, bb10)
+
+ Concatenate(Buffer(){0x5a, 0x00}, Derefof(Refof(i604)), Local0)
+ m600(arg0, 13, Local0, bb11)
+
+ Concatenate(aub0, Derefof(Refof(i604)), Local0)
+ m600(arg0, 14, Local0, bb10)
+
+ Concatenate(aub1, Derefof(Refof(i604)), Local0)
+ m600(arg0, 15, Local0, bb11)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aub0)), Derefof(Refof(i604)), Local0)
+ m600(arg0, 16, Local0, bb10)
+
+ Concatenate(Derefof(Refof(aub1)), Derefof(Refof(i604)), Local0)
+ m600(arg0, 17, Local0, bb11)
+ }
+
+ Concatenate(Derefof(Index(paub, 0)), Derefof(Refof(i604)), Local0)
+ m600(arg0, 18, Local0, bb10)
+
+ Concatenate(Derefof(Index(paub, 1)), Derefof(Refof(i604)), Local0)
+ m600(arg0, 19, Local0, bb11)
+
+ // Method returns Buffer
+
+ Concatenate(m601(3, 0), Derefof(Refof(i604)), Local0)
+ m600(arg0, 20, Local0, bb10)
+
+ Concatenate(m601(3, 1), Derefof(Refof(i604)), Local0)
+ m600(arg0, 21, Local0, bb11)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Concatenate(Derefof(m602(3, 0, 1)), Derefof(Refof(i604)), Local0)
+ m600(arg0, 22, Local0, bb10)
+
+ Concatenate(Derefof(m602(3, 1, 1)), Derefof(Refof(i604)), Local0)
+ m600(arg0, 23, Local0, bb11)
+ }
+ }
+
+ Method(m326, 1)
+ {
+
+ Store(Concatenate(Buffer(){0x5a}, Derefof(Refof(i603))), Local0)
+ m600(arg0, 0, Local0, bb12)
+
+ Store(Concatenate(Buffer(){0x5a, 0x00}, Derefof(Refof(i603))), Local0)
+ m600(arg0, 1, Local0, bb13)
+
+ Store(Concatenate(aub0, Derefof(Refof(i603))), Local0)
+ m600(arg0, 2, Local0, bb12)
+
+ Store(Concatenate(aub1, Derefof(Refof(i603))), Local0)
+ m600(arg0, 3, Local0, bb13)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aub0)), Derefof(Refof(i603))), Local0)
+ m600(arg0, 4, Local0, bb12)
+
+ Store(Concatenate(Derefof(Refof(aub1)), Derefof(Refof(i603))), Local0)
+ m600(arg0, 5, Local0, bb13)
+ }
+
+ Store(Concatenate(Derefof(Index(paub, 0)), Derefof(Refof(i603))), Local0)
+ m600(arg0, 6, Local0, bb12)
+
+ Store(Concatenate(Derefof(Index(paub, 1)), Derefof(Refof(i603))), Local0)
+ m600(arg0, 7, Local0, bb13)
+
+ // Method returns Buffer
+
+ Store(Concatenate(m601(3, 0), Derefof(Refof(i603))), Local0)
+ m600(arg0, 8, Local0, bb12)
+
+ Store(Concatenate(m601(3, 1), Derefof(Refof(i603))), Local0)
+ m600(arg0, 9, Local0, bb13)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(3, 0, 1)), Derefof(Refof(i603))), Local0)
+ m600(arg0, 10, Local0, bb12)
+
+ Store(Concatenate(Derefof(m602(3, 1, 1)), Derefof(Refof(i603))), Local0)
+ m600(arg0, 11, Local0, bb13)
+ }
+
+ Store(Concatenate(Buffer(){0x5a}, Derefof(Refof(i604))), Local0)
+ m600(arg0, 12, Local0, bb14)
+
+ Store(Concatenate(Buffer(){0x5a, 0x00}, Derefof(Refof(i604))), Local0)
+ m600(arg0, 13, Local0, bb15)
+
+ Concatenate(Buffer(){0x5a}, Derefof(Refof(i603)), Local0)
+ m600(arg0, 14, Local0, bb12)
+
+ Concatenate(Buffer(){0x5a, 0x00}, Derefof(Refof(i603)), Local0)
+ m600(arg0, 15, Local0, bb13)
+
+ Concatenate(aub0, Derefof(Refof(i603)), Local0)
+ m600(arg0, 16, Local0, bb12)
+
+ Concatenate(aub1, Derefof(Refof(i603)), Local0)
+ m600(arg0, 17, Local0, bb13)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aub0)), Derefof(Refof(i603)), Local0)
+ m600(arg0, 18, Local0, bb12)
+
+ Concatenate(Derefof(Refof(aub1)), Derefof(Refof(i603)), Local0)
+ m600(arg0, 19, Local0, bb13)
+ }
+
+ Concatenate(Derefof(Index(paub, 0)), Derefof(Refof(i603)), Local0)
+ m600(arg0, 20, Local0, bb12)
+
+ Concatenate(Derefof(Index(paub, 1)), Derefof(Refof(i603)), Local0)
+ m600(arg0, 21, Local0, bb13)
+
+ // Method returns Buffer
+
+ Concatenate(m601(3, 0), Derefof(Refof(i603)), Local0)
+ m600(arg0, 22, Local0, bb12)
+
+ Concatenate(m601(3, 1), Derefof(Refof(i603)), Local0)
+ m600(arg0, 23, Local0, bb13)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Concatenate(Derefof(m602(3, 0, 1)), Derefof(Refof(i603)), Local0)
+ m600(arg0, 24, Local0, bb12)
+
+ Concatenate(Derefof(m602(3, 1, 1)), Derefof(Refof(i603)), Local0)
+ m600(arg0, 25, Local0, bb13)
+ }
+
+ Concatenate(Buffer(){0x5a}, Derefof(Refof(i604)), Local0)
+ m600(arg0, 26, Local0, bb14)
+
+ Concatenate(Buffer(){0x5a, 0x00}, Derefof(Refof(i604)), Local0)
+ m600(arg0, 27, Local0, bb15)
+ }
+
+
+ // Integer to Buffer conversion of the Integer Source operand of
+ // ToString operator
+
+ Method(m647, 1)
+ {
+ Store(ToString(Derefof(Refof(i60d)), Ones), Local0)
+ m600(arg0, 0, Local0, bs18)
+
+ Store(ToString(Derefof(Refof(i60d)), 3), Local0)
+ m600(arg0, 1, Local0, bs19)
+
+ Store(ToString(Derefof(Refof(i60e)), Ones), Local0)
+ m600(arg0, 2, Local0, bs1a)
+
+ Store(ToString(Derefof(Refof(i60d)), aui0), Local0)
+ m600(arg0, 3, Local0, bs18)
+
+ Store(ToString(Derefof(Refof(i60d)), aui7), Local0)
+ m600(arg0, 4, Local0, bs19)
+
+ Store(ToString(Derefof(Refof(i60e)), aui0), Local0)
+ m600(arg0, 5, Local0, bs1a)
+
+ if (y078) {
+ Store(ToString(Derefof(Refof(i60d)), Derefof(Refof(aui0))), Local0)
+ m600(arg0, 6, Local0, bs18)
+
+ Store(ToString(Derefof(Refof(i60d)), Derefof(Refof(aui7))), Local0)
+ m600(arg0, 7, Local0, bs19)
+
+ Store(ToString(Derefof(Refof(i60e)), Derefof(Refof(aui0))), Local0)
+ m600(arg0, 8, Local0, bs1a)
+ }
+
+ Store(ToString(Derefof(Refof(i60d)), Derefof(Index(paui, 0))), Local0)
+ m600(arg0, 9, Local0, bs18)
+
+ Store(ToString(Derefof(Refof(i60d)), Derefof(Index(paui, 7))), Local0)
+ m600(arg0, 10, Local0, bs19)
+
+ Store(ToString(Derefof(Refof(i60e)), Derefof(Index(paui, 0))), Local0)
+ m600(arg0, 11, Local0, bs1a)
+
+ // Method returns Length parameter
+
+ Store(ToString(Derefof(Refof(i60d)), m601(1, 0)), Local0)
+ m600(arg0, 12, Local0, bs18)
+
+ Store(ToString(Derefof(Refof(i60d)), m601(1, 7)), Local0)
+ m600(arg0, 13, Local0, bs19)
+
+ Store(ToString(Derefof(Refof(i60e)), m601(1, 0)), Local0)
+ m600(arg0, 14, Local0, bs1a)
+
+ // Method returns Reference to Length parameter
+
+ if (y500) {
+ Store(ToString(Derefof(Refof(i60d)), Derefof(m601(1, 0))), Local0)
+ m600(arg0, 15, Local0, bs18)
+
+ Store(ToString(Derefof(Refof(i60d)), Derefof(m601(1, 7))), Local0)
+ m600(arg0, 16, Local0, bs19)
+
+ Store(ToString(Derefof(Refof(i60e)), Derefof(m601(1, 0))), Local0)
+ m600(arg0, 17, Local0, bs1a)
+ }
+
+ ToString(Derefof(Refof(i60d)), Ones, Local0)
+ m600(arg0, 18, Local0, bs18)
+
+ ToString(Derefof(Refof(i60d)), 3, Local0)
+ m600(arg0, 19, Local0, bs19)
+
+ ToString(Derefof(Refof(i60e)), Ones, Local0)
+ m600(arg0, 20, Local0, bs1a)
+
+ ToString(Derefof(Refof(i60d)), aui0, Local0)
+ m600(arg0, 21, Local0, bs18)
+
+ ToString(Derefof(Refof(i60d)), aui7, Local0)
+ m600(arg0, 22, Local0, bs19)
+
+ ToString(Derefof(Refof(i60e)), aui0, Local0)
+ m600(arg0, 23, Local0, bs1a)
+
+ if (y078) {
+ ToString(Derefof(Refof(i60d)), Derefof(Refof(aui0)), Local0)
+ m600(arg0, 24, Local0, bs18)
+
+ ToString(Derefof(Refof(i60d)), Derefof(Refof(aui7)), Local0)
+ m600(arg0, 25, Local0, bs19)
+
+ ToString(Derefof(Refof(i60e)), Derefof(Refof(aui0)), Local0)
+ m600(arg0, 26, Local0, bs1a)
+ }
+
+ ToString(Derefof(Refof(i60d)), Derefof(Index(paui, 0)), Local0)
+ m600(arg0, 27, Local0, bs18)
+
+ ToString(Derefof(Refof(i60d)), Derefof(Index(paui, 7)), Local0)
+ m600(arg0, 28, Local0, bs19)
+
+ ToString(Derefof(Refof(i60e)), Derefof(Index(paui, 0)), Local0)
+ m600(arg0, 29, Local0, bs1a)
+
+ // Method returns Length parameter
+
+ ToString(Derefof(Refof(i60d)), m601(1, 0), Local0)
+ m600(arg0, 30, Local0, bs18)
+
+ ToString(Derefof(Refof(i60d)), m601(1, 7), Local0)
+ m600(arg0, 31, Local0, bs19)
+
+ ToString(Derefof(Refof(i60e)), m601(1, 0), Local0)
+ m600(arg0, 32, Local0, bs1a)
+
+ // Method returns Reference to Length parameter
+
+ if (y500) {
+ ToString(Derefof(Refof(i60d)), Derefof(m601(1, 0)), Local0)
+ m600(arg0, 33, Local0, bs18)
+
+ ToString(Derefof(Refof(i60d)), Derefof(m601(1, 7)), Local0)
+ m600(arg0, 34, Local0, bs19)
+
+ ToString(Derefof(Refof(i60e)), Derefof(m601(1, 0)), Local0)
+ m600(arg0, 35, Local0, bs1a)
+ }
+ }
+
+ Method(m327, 1)
+ {
+ Store(ToString(Derefof(Refof(i60c)), Ones), Local0)
+ m600(arg0, 0, Local0, bs16)
+
+ Store(ToString(Derefof(Refof(i60c)), 3), Local0)
+ m600(arg0, 1, Local0, bs17)
+
+ Store(ToString(Derefof(Refof(i60f)), Ones), Local0)
+ m600(arg0, 2, Local0, bs1a)
+
+ Store(ToString(Derefof(Refof(i60c)), aui0), Local0)
+ m600(arg0, 3, Local0, bs16)
+
+ Store(ToString(Derefof(Refof(i60c)), aui7), Local0)
+ m600(arg0, 4, Local0, bs17)
+
+ Store(ToString(Derefof(Refof(i60f)), aui0), Local0)
+ m600(arg0, 5, Local0, bs1a)
+
+ if (y078) {
+ Store(ToString(Derefof(Refof(i60c)), Derefof(Refof(aui0))), Local0)
+ m600(arg0, 6, Local0, bs16)
+
+ Store(ToString(Derefof(Refof(i60c)), Derefof(Refof(aui7))), Local0)
+ m600(arg0, 7, Local0, bs17)
+
+ Store(ToString(Derefof(Refof(i60f)), Derefof(Refof(aui0))), Local0)
+ m600(arg0, 8, Local0, bs1a)
+ }
+
+ Store(ToString(Derefof(Refof(i60c)), Derefof(Index(paui, 0))), Local0)
+ m600(arg0, 9, Local0, bs16)
+
+ Store(ToString(Derefof(Refof(i60c)), Derefof(Index(paui, 7))), Local0)
+ m600(arg0, 10, Local0, bs17)
+
+ Store(ToString(Derefof(Refof(i60f)), Derefof(Index(paui, 0))), Local0)
+ m600(arg0, 11, Local0, bs1a)
+
+ // Method returns Length parameter
+
+ Store(ToString(Derefof(Refof(i60c)), m601(1, 0)), Local0)
+ m600(arg0, 12, Local0, bs16)
+
+ Store(ToString(Derefof(Refof(i60c)), m601(1, 7)), Local0)
+ m600(arg0, 13, Local0, bs17)
+
+ Store(ToString(Derefof(Refof(i60f)), m601(1, 0)), Local0)
+ m600(arg0, 14, Local0, bs1a)
+
+ // Method returns Reference to Length parameter
+
+ if (y500) {
+ Store(ToString(Derefof(Refof(i60c)), Derefof(m601(1, 0))), Local0)
+ m600(arg0, 15, Local0, bs16)
+
+ Store(ToString(Derefof(Refof(i60c)), Derefof(m601(1, 7))), Local0)
+ m600(arg0, 16, Local0, bs17)
+
+ Store(ToString(Derefof(Refof(i60f)), Derefof(m601(1, 0))), Local0)
+ m600(arg0, 17, Local0, bs1a)
+ }
+
+ ToString(Derefof(Refof(i60c)), Ones, Local0)
+ m600(arg0, 18, Local0, bs16)
+
+ ToString(Derefof(Refof(i60c)), 3, Local0)
+ m600(arg0, 19, Local0, bs17)
+
+ ToString(Derefof(Refof(i60f)), Ones, Local0)
+ m600(arg0, 20, Local0, bs1a)
+
+ ToString(Derefof(Refof(i60c)), aui0, Local0)
+ m600(arg0, 21, Local0, bs16)
+
+ ToString(Derefof(Refof(i60c)), aui7, Local0)
+ m600(arg0, 22, Local0, bs17)
+
+ ToString(Derefof(Refof(i60f)), aui0, Local0)
+ m600(arg0, 23, Local0, bs1a)
+
+ if (y078) {
+ ToString(Derefof(Refof(i60c)), Derefof(Refof(aui0)), Local0)
+ m600(arg0, 24, Local0, bs16)
+
+ ToString(Derefof(Refof(i60c)), Derefof(Refof(aui7)), Local0)
+ m600(arg0, 25, Local0, bs17)
+
+ ToString(Derefof(Refof(i60f)), Derefof(Refof(aui0)), Local0)
+ m600(arg0, 26, Local0, bs1a)
+ }
+
+ ToString(Derefof(Refof(i60c)), Derefof(Index(paui, 0)), Local0)
+ m600(arg0, 27, Local0, bs16)
+
+ ToString(Derefof(Refof(i60c)), Derefof(Index(paui, 7)), Local0)
+ m600(arg0, 28, Local0, bs17)
+
+ ToString(Derefof(Refof(i60f)), Derefof(Index(paui, 0)), Local0)
+ m600(arg0, 29, Local0, bs1a)
+
+ // Method returns Length parameter
+
+ ToString(Derefof(Refof(i60c)), m601(1, 0), Local0)
+ m600(arg0, 30, Local0, bs16)
+
+ ToString(Derefof(Refof(i60c)), m601(1, 7), Local0)
+ m600(arg0, 31, Local0, bs17)
+
+ ToString(Derefof(Refof(i60f)), m601(1, 0), Local0)
+ m600(arg0, 32, Local0, bs1a)
+
+ // Method returns Reference to Length parameter
+
+ if (y500) {
+ ToString(Derefof(Refof(i60c)), Derefof(m601(1, 0)), Local0)
+ m600(arg0, 33, Local0, bs16)
+
+ ToString(Derefof(Refof(i60c)), Derefof(m601(1, 7)), Local0)
+ m600(arg0, 34, Local0, bs17)
+
+ ToString(Derefof(Refof(i60f)), Derefof(m601(1, 0)), Local0)
+ m600(arg0, 35, Local0, bs1a)
+ }
+ }
+
+ // Integer to Buffer conversion of the Integer Source operand of
+ // Mid operator
+
+ Method(m648, 1)
+ {
+ Store(Mid(Derefof(Refof(i604)), 0, 9), Local0)
+ m600(arg0, 0, Local0, bb1d)
+
+ Store(Mid(Derefof(Refof(i60f)), 1, 8), Local0)
+ m600(arg0, 1, Local0, bb30)
+
+ Store(Mid(Derefof(Refof(i604)), aui5, auib), Local0)
+ m600(arg0, 2, Local0, bb1d)
+
+ Store(Mid(Derefof(Refof(i60f)), aui6, auia), Local0)
+ m600(arg0, 3, Local0, bb30)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(i604)), Derefof(Refof(aui5)), Derefof(Refof(auib))), Local0)
+ m600(arg0, 4, Local0, bb1d)
+
+ Store(Mid(Derefof(Refof(i60f)), Derefof(Refof(aui6)), Derefof(Refof(auia))), Local0)
+ m600(arg0, 5, Local0, bb30)
+ }
+
+ Store(Mid(Derefof(Refof(i604)), Derefof(Index(paui, 5)), Derefof(Index(paui, 11))), Local0)
+ m600(arg0, 6, Local0, bb1d)
+
+ Store(Mid(Derefof(Refof(i60f)), Derefof(Index(paui, 6)), Derefof(Index(paui, 10))), Local0)
+ m600(arg0, 7, Local0, bb30)
+
+ // Method returns Index and Length parameters
+
+ Store(Mid(Derefof(Refof(i604)), m601(1, 5), m601(1, 11)), Local0)
+ m600(arg0, 8, Local0, bb1d)
+
+ Store(Mid(Derefof(Refof(i60f)), m601(1, 6), m601(1, 10)), Local0)
+ m600(arg0, 9, Local0, bb30)
+
+ // Method returns Reference to Index and Length parameters
+
+ if (y500) {
+ Store(Mid(Derefof(Refof(i604)), Derefof(m601(1, 5)), Derefof(m601(1, 11))), Local0)
+ m600(arg0, 10, Local0, bb1d)
+
+ Store(Mid(Derefof(Refof(i60f)), Derefof(m601(1, 6)), Derefof(m601(1, 10))), Local0)
+ m600(arg0, 11, Local0, bb30)
+ }
+
+ Mid(Derefof(Refof(i604)), 0, 9, Local0)
+ m600(arg0, 12, Local0, bb1d)
+
+ Mid(Derefof(Refof(i60f)), 1, 8, Local0)
+ m600(arg0, 13, Local0, bb30)
+
+ Mid(Derefof(Refof(i604)), aui5, auib, Local0)
+ m600(arg0, 14, Local0, bb1d)
+
+ Mid(Derefof(Refof(i60f)), aui6, auia, Local0)
+ m600(arg0, 15, Local0, bb30)
+
+ if (y078) {
+ Mid(Derefof(Refof(i604)), Derefof(Refof(aui5)), Derefof(Refof(auib)), Local0)
+ m600(arg0, 16, Local0, bb1d)
+
+ Mid(Derefof(Refof(i60f)), Derefof(Refof(aui6)), Derefof(Refof(auia)), Local0)
+ m600(arg0, 17, Local0, bb30)
+ }
+
+ Mid(Derefof(Refof(i604)), Derefof(Index(paui, 5)), Derefof(Index(paui, 11)), Local0)
+ m600(arg0, 18, Local0, bb1d)
+
+ Mid(Derefof(Refof(i60f)), Derefof(Index(paui, 6)), Derefof(Index(paui, 10)), Local0)
+ m600(arg0, 19, Local0, bb30)
+
+ // Method returns Index and Length parameters
+
+ Mid(Derefof(Refof(i604)), m601(1, 5), m601(1, 11), Local0)
+ m600(arg0, 20, Local0, bb1d)
+
+ Mid(Derefof(Refof(i60f)), m601(1, 6), m601(1, 10), Local0)
+ m600(arg0, 21, Local0, bb30)
+
+ // Method returns Reference to Index and Length parameters
+
+ if (y500) {
+ Mid(Derefof(Refof(i604)), Derefof(m601(1, 5)), Derefof(m601(1, 11)), Local0)
+ m600(arg0, 22, Local0, bb1d)
+
+ Mid(Derefof(Refof(i60f)), Derefof(m601(1, 6)), Derefof(m601(1, 10)), Local0)
+ m600(arg0, 23, Local0, bb30)
+ }
+ }
+
+ Method(m328, 1)
+ {
+ Store(Mid(Derefof(Refof(i603)), 0, 5), Local0)
+ m600(arg0, 0, Local0, bb1c)
+
+ Store(Mid(Derefof(Refof(i60f)), 1, 4), Local0)
+ m600(arg0, 1, Local0, bb31)
+
+ Store(Mid(Derefof(Refof(i603)), aui5, aui9), Local0)
+ m600(arg0, 2, Local0, bb1c)
+
+ Store(Mid(Derefof(Refof(i60f)), aui6, aui8), Local0)
+ m600(arg0, 3, Local0, bb31)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(i603)), Derefof(Refof(aui5)), Derefof(Refof(aui9))), Local0)
+ m600(arg0, 4, Local0, bb1c)
+
+ Store(Mid(Derefof(Refof(i60f)), Derefof(Refof(aui6)), Derefof(Refof(aui8))), Local0)
+ m600(arg0, 5, Local0, bb31)
+ }
+
+ Store(Mid(Derefof(Refof(i603)), Derefof(Index(paui, 5)), Derefof(Index(paui, 9))), Local0)
+ m600(arg0, 6, Local0, bb1c)
+
+ Store(Mid(Derefof(Refof(i60f)), Derefof(Index(paui, 6)), Derefof(Index(paui, 8))), Local0)
+ m600(arg0, 7, Local0, bb31)
+
+ // Method returns Index and Length parameters
+
+ Store(Mid(Derefof(Refof(i603)), m601(1, 5), m601(1, 9)), Local0)
+ m600(arg0, 8, Local0, bb1c)
+
+ Store(Mid(Derefof(Refof(i60f)), m601(1, 6), m601(1, 8)), Local0)
+ m600(arg0, 9, Local0, bb31)
+
+ // Method returns Reference to Index and Length parameters
+
+ if (y500) {
+ Store(Mid(Derefof(Refof(i603)), Derefof(m601(1, 5)), Derefof(m601(1, 9))), Local0)
+ m600(arg0, 10, Local0, bb1c)
+
+ Store(Mid(Derefof(Refof(i60f)), Derefof(m601(1, 6)), Derefof(m601(1, 8))), Local0)
+ m600(arg0, 11, Local0, bb31)
+ }
+
+ Mid(Derefof(Refof(i603)), 0, 5, Local0)
+ m600(arg0, 12, Local0, bb1c)
+
+ Mid(Derefof(Refof(i60f)), 1, 4, Local0)
+ m600(arg0, 13, Local0, bb31)
+
+ Mid(Derefof(Refof(i603)), aui5, aui9, Local0)
+ m600(arg0, 14, Local0, bb1c)
+
+ Mid(Derefof(Refof(i60f)), aui6, aui8, Local0)
+ m600(arg0, 15, Local0, bb31)
+
+ if (y078) {
+ Mid(Derefof(Refof(i603)), Derefof(Refof(aui5)), Derefof(Refof(aui9)), Local0)
+ m600(arg0, 16, Local0, bb1c)
+
+ Mid(Derefof(Refof(i60f)), Derefof(Refof(aui6)), Derefof(Refof(aui8)), Local0)
+ m600(arg0, 17, Local0, bb31)
+ }
+
+ Mid(Derefof(Refof(i603)), Derefof(Index(paui, 5)), Derefof(Index(paui, 9)), Local0)
+ m600(arg0, 18, Local0, bb1c)
+
+ Mid(Derefof(Refof(i60f)), Derefof(Index(paui, 6)), Derefof(Index(paui, 8)), Local0)
+ m600(arg0, 19, Local0, bb31)
+
+ // Method returns Index and Length parameters
+
+ Mid(Derefof(Refof(i603)), m601(1, 5), m601(1, 9), Local0)
+ m600(arg0, 20, Local0, bb1c)
+
+ Mid(Derefof(Refof(i60f)), m601(1, 6), m601(1, 8), Local0)
+ m600(arg0, 21, Local0, bb31)
+
+ // Method returns Reference to Index and Length parameters
+
+ if (y500) {
+ Mid(Derefof(Refof(i603)), Derefof(m601(1, 5)), Derefof(m601(1, 9)), Local0)
+ m600(arg0, 22, Local0, bb1c)
+
+ Mid(Derefof(Refof(i60f)), Derefof(m601(1, 6)), Derefof(m601(1, 8)), Local0)
+ m600(arg0, 23, Local0, bb31)
+ }
+ }
+
+// Method(m649, 1)
+
+// Method(m329, 1)
+
+// Method(m64a, 1)
+
+// Method(m32a, 1)
+
+ // String to Integer implicit conversion Cases.
+
+ // String to Integer conversion of the String sole operand
+ // of the 1-parameter Integer arithmetic operators
+ // (Decrement, Increment, FindSetLeftBit, FindSetRightBit, Not)
+
+ Method(m64b, 1)
+ {
+ // Decrement
+ if (y501) {
+ Store(Decrement(Derefof(Refof(s601))), Local0)
+ m600(arg0, 0, Local0, bi12)
+
+ Store(Decrement(Derefof(Refof(s605))), Local0)
+ m600(arg0, 1, Local0, bi16)
+ }
+
+ // Increment
+ if (y501) {
+ Store(Increment(Derefof(Refof(s601))), Local0)
+ m600(arg0, 2, Local0, bi13)
+
+ Store(Increment(Derefof(Refof(s605))), Local0)
+ m600(arg0, 3, Local0, bi17)
+ }
+
+ // FindSetLeftBit
+ Store(FindSetLeftBit(Derefof(Refof(s601))), Local0)
+ m600(arg0, 4, Local0, 10)
+
+ Store(FindSetLeftBit(Derefof(Refof(s605))), Local0)
+ m600(arg0, 5, Local0, 64)
+
+ // FindSetRightBit
+
+ Store(FindSetRightBit(Derefof(Refof(s601))), Local0)
+ m600(arg0, 6, Local0, 1)
+
+ Store(FindSetRightBit(Derefof(Refof(s605))), Local0)
+ m600(arg0, 7, Local0, 3)
+
+ // Not
+
+ Store(Not(Derefof(Refof(s601))), Local0)
+ m600(arg0, 8, Local0, 0xfffffffffffffcde)
+
+ Store(Not(Derefof(Refof(s605))), Local0)
+ m600(arg0, 9, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Method(m32b, 1)
+ {
+ // Decrement
+ if (y501) {
+ Store(Decrement(Derefof(Refof(s601))), Local0)
+ m600(arg0, 0, Local0, bi12)
+
+ Store(Decrement(Derefof(Refof(s604))), Local0)
+ m600(arg0, 1, Local0, bi14)
+ }
+
+ // Increment
+ if (y501) {
+ Store(Increment(Derefof(Refof(s601))), Local0)
+ m600(arg0, 2, Local0, bi13)
+
+ Store(Increment(Derefof(Refof(s604))), Local0)
+ m600(arg0, 3, Local0, bi15)
+ }
+
+ // FindSetLeftBit
+
+ Store(FindSetLeftBit(Derefof(Refof(s601))), Local0)
+ m600(arg0, 4, Local0, 10)
+
+ Store(FindSetLeftBit(Derefof(Refof(s604))), Local0)
+ m600(arg0, 5, Local0, 32)
+
+ // FindSetRightBit
+
+ Store(FindSetRightBit(Derefof(Refof(s601))), Local0)
+ m600(arg0, 6, Local0, 1)
+
+ Store(FindSetRightBit(Derefof(Refof(s604))), Local0)
+ m600(arg0, 7, Local0, 2)
+
+ // Not
+
+ Store(Not(Derefof(Refof(s601))), Local0)
+ m600(arg0, 8, Local0, 0xfffffcde)
+
+ Store(Not(Derefof(Refof(s604))), Local0)
+ m600(arg0, 9, Local0, 0x3e864c01)
+ }
+
+ // String to Integer conversion of the String sole operand
+ // of the LNot Logical Integer operator
+ Method(m000, 1)
+ {
+ Store(LNot(Derefof(Refof(s600))), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LNot(Derefof(Refof(s601))), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ if (F64) {
+ Store(LNot(Derefof(Refof(s605))), Local0)
+ m600(arg0, 2, Local0, Zero)
+ } else {
+ Store(LNot(Derefof(Refof(s604))), Local0)
+ m600(arg0, 3, Local0, Zero)
+ }
+ }
+
+ // String to Integer conversion of the String sole operand
+ // of the FromBCD and ToBCD conversion operators
+
+ Method(m64c, 1)
+ {
+ // FromBCD
+
+ Store(FromBCD(Derefof(Refof(s601))), Local0)
+ m600(arg0, 2, Local0, 0x141)
+
+ Store(FromBCD(Derefof(Refof(s615))), Local0)
+ m600(arg0, 3, Local0, 0xd76162ee9ec35)
+
+ FromBCD(Derefof(Refof(s601)), Local0)
+ m600(arg0, 2, Local0, 0x141)
+
+ FromBCD(Derefof(Refof(s615)), Local0)
+ m600(arg0, 3, Local0, 0xd76162ee9ec35)
+
+ // ToBCD
+
+ Store(ToBCD(Derefof(Refof(s601))), Local0)
+ m600(arg0, 4, Local0, 0x801)
+
+/* Error of iASL on constant folding
+ Store(ToBCD(s616), Local0)
+ m600(arg0, 5, Local0, 0x3789012345678901)
+*/
+
+ ToBCD(Derefof(Refof(s601)), Local0)
+ m600(arg0, 4, Local0, 0x801)
+
+ ToBCD(s616, Local0)
+ m600(arg0, 5, Local0, 0x3789012345678901)
+ }
+
+ Method(m32c, 1)
+ {
+ // FromBCD
+
+ Store(FromBCD(Derefof(Refof(s601))), Local0)
+ m600(arg0, 2, Local0, 0x141)
+
+ Store(FromBCD(Derefof(Refof(s617))), Local0)
+ m600(arg0, 3, Local0, 0x55f2cc0)
+
+ FromBCD(Derefof(Refof(s601)), Local0)
+ m600(arg0, 2, Local0, 0x141)
+
+ FromBCD(Derefof(Refof(s617)), Local0)
+ m600(arg0, 3, Local0, 0x55f2cc0)
+
+ // ToBCD
+
+ Store(ToBCD(Derefof(Refof(s601))), Local0)
+ m600(arg0, 4, Local0, 0x801)
+
+ Store(ToBCD(Derefof(Refof(s618))), Local0)
+ m600(arg0, 5, Local0, 0x90123456)
+
+ ToBCD(Derefof(Refof(s601)), Local0)
+ m600(arg0, 4, Local0, 0x801)
+
+ ToBCD(Derefof(Refof(s618)), Local0)
+ m600(arg0, 5, Local0, 0x90123456)
+ }
+
+ // String to Integer conversion of each String operand
+ // of the 2-parameter Integer arithmetic operators
+ // Add, And, Divide, Mod, Multiply, NAnd, NOr, Or,
+ // ShiftLeft, ShiftRight, Subtract, Xor
+
+ // Add, common 32-bit/64-bit test
+ Method(m001, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Add(Derefof(Refof(s601)), 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Add(Derefof(Refof(s601)), 1), Local0)
+ m600(arg0, 1, Local0, 0x322)
+
+ Store(Add(Derefof(Refof(s601)), aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Add(Derefof(Refof(s601)), aui6), Local0)
+ m600(arg0, 3, Local0, 0x322)
+
+ if (y078) {
+ Store(Add(Derefof(Refof(s601)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Add(Derefof(Refof(s601)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x322)
+ }
+
+ Store(Add(Derefof(Refof(s601)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Add(Derefof(Refof(s601)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x322)
+
+ // Method returns Integer
+
+ Store(Add(Derefof(Refof(s601)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Add(Derefof(Refof(s601)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x322)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(Derefof(Refof(s601)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Add(Derefof(Refof(s601)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x322)
+ }
+
+ Add(Derefof(Refof(s601)), 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Add(Derefof(Refof(s601)), 1, Local0)
+ m600(arg0, 13, Local0, 0x322)
+
+ Add(Derefof(Refof(s601)), aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Add(Derefof(Refof(s601)), aui6, Local0)
+ m600(arg0, 15, Local0, 0x322)
+
+ if (y078) {
+ Add(Derefof(Refof(s601)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Add(Derefof(Refof(s601)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x322)
+ }
+
+ Add(Derefof(Refof(s601)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Add(Derefof(Refof(s601)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x322)
+
+ // Method returns Integer
+
+ Add(Derefof(Refof(s601)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Add(Derefof(Refof(s601)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x322)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(Derefof(Refof(s601)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Add(Derefof(Refof(s601)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x322)
+ }
+
+ // Conversion of the second operand
+
+ Store(Add(0, Derefof(Refof(s601))), Local0)
+ m600(arg0, 24, Local0, 0x321)
+
+ Store(Add(1, Derefof(Refof(s601))), Local0)
+ m600(arg0, 25, Local0, 0x322)
+
+ Store(Add(aui5, Derefof(Refof(s601))), Local0)
+ m600(arg0, 26, Local0, 0x321)
+
+ Store(Add(aui6, Derefof(Refof(s601))), Local0)
+ m600(arg0, 27, Local0, 0x322)
+
+ if (y078) {
+ Store(Add(Derefof(Refof(aui5)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 28, Local0, 0x321)
+
+ Store(Add(Derefof(Refof(aui6)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 29, Local0, 0x322)
+ }
+
+ Store(Add(Derefof(Index(paui, 5)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 30, Local0, 0x321)
+
+ Store(Add(Derefof(Index(paui, 6)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 31, Local0, 0x322)
+
+ // Method returns Integer
+
+ Store(Add(m601(1, 5), Derefof(Refof(s601))), Local0)
+ m600(arg0, 32, Local0, 0x321)
+
+ Store(Add(m601(1, 6), Derefof(Refof(s601))), Local0)
+ m600(arg0, 33, Local0, 0x322)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(Derefof(m602(1, 5, 1)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 34, Local0, 0x321)
+
+ Store(Add(Derefof(m602(1, 6, 1)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 35, Local0, 0x322)
+ }
+
+ Add(0, Derefof(Refof(s601)), Local0)
+ m600(arg0, 36, Local0, 0x321)
+
+ Add(1, Derefof(Refof(s601)), Local0)
+ m600(arg0, 37, Local0, 0x322)
+
+ Add(aui5, Derefof(Refof(s601)), Local0)
+ m600(arg0, 38, Local0, 0x321)
+
+ Add(aui6, Derefof(Refof(s601)), Local0)
+ m600(arg0, 39, Local0, 0x322)
+
+ if (y078) {
+ Add(Derefof(Refof(aui5)), Derefof(Refof(s601)), Local0)
+ m600(arg0, 40, Local0, 0x321)
+
+ Add(Derefof(Refof(aui6)), Derefof(Refof(s601)), Local0)
+ m600(arg0, 41, Local0, 0x322)
+ }
+
+ Add(Derefof(Index(paui, 5)), Derefof(Refof(s601)), Local0)
+ m600(arg0, 42, Local0, 0x321)
+
+ Add(Derefof(Index(paui, 6)), Derefof(Refof(s601)), Local0)
+ m600(arg0, 43, Local0, 0x322)
+
+ // Method returns Integer
+
+ Add(m601(1, 5), Derefof(Refof(s601)), Local0)
+ m600(arg0, 44, Local0, 0x321)
+
+ Add(m601(1, 6), Derefof(Refof(s601)), Local0)
+ m600(arg0, 45, Local0, 0x322)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(Derefof(m602(1, 5, 1)), Derefof(Refof(s601)), Local0)
+ m600(arg0, 46, Local0, 0x321)
+
+ Add(Derefof(m602(1, 6, 1)), Derefof(Refof(s601)), Local0)
+ m600(arg0, 47, Local0, 0x322)
+ }
+ }
+
+ // Add, 64-bit
+ Method(m002, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Add(Derefof(Refof(s605)), 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(Refof(s605)), 1), Local0)
+ m600(arg0, 1, Local0, 0xfe7cb391d650a285)
+
+ Store(Add(Derefof(Refof(s605)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(Refof(s605)), aui6), Local0)
+ m600(arg0, 3, Local0, 0xfe7cb391d650a285)
+
+ if (y078) {
+ Store(Add(Derefof(Refof(s605)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(Refof(s605)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xfe7cb391d650a285)
+ }
+
+ Store(Add(Derefof(Refof(s605)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(Refof(s605)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Integer
+
+ Store(Add(Derefof(Refof(s605)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(Refof(s605)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(Derefof(Refof(s605)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(Refof(s605)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfe7cb391d650a285)
+ }
+
+ Add(Derefof(Refof(s605)), 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(Refof(s605)), 1, Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a285)
+
+ Add(Derefof(Refof(s605)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(Refof(s605)), aui6, Local0)
+ m600(arg0, 15, Local0, 0xfe7cb391d650a285)
+
+ if (y078) {
+ Add(Derefof(Refof(s605)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(Refof(s605)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xfe7cb391d650a285)
+ }
+
+ Add(Derefof(Refof(s605)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(Refof(s605)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Integer
+
+ Add(Derefof(Refof(s605)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(Refof(s605)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(Derefof(Refof(s605)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(Refof(s605)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfe7cb391d650a285)
+ }
+
+ // Conversion of the second operand
+
+ Store(Add(0, Derefof(Refof(s605))), Local0)
+ m600(arg0, 24, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(1, Derefof(Refof(s605))), Local0)
+ m600(arg0, 25, Local0, 0xfe7cb391d650a285)
+
+ Store(Add(aui5, Derefof(Refof(s605))), Local0)
+ m600(arg0, 26, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(aui6, Derefof(Refof(s605))), Local0)
+ m600(arg0, 27, Local0, 0xfe7cb391d650a285)
+
+ if (y078) {
+ Store(Add(Derefof(Refof(aui5)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 28, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(Refof(aui6)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 29, Local0, 0xfe7cb391d650a285)
+ }
+
+ Store(Add(Derefof(Index(paui, 5)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 30, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(Index(paui, 6)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 31, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Integer
+
+ Store(Add(m601(1, 5), Derefof(Refof(s605))), Local0)
+ m600(arg0, 32, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(m601(1, 6), Derefof(Refof(s605))), Local0)
+ m600(arg0, 33, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(Derefof(m602(1, 5, 1)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 34, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(m602(1, 6, 1)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 35, Local0, 0xfe7cb391d650a285)
+ }
+
+ Add(0, Derefof(Refof(s605)), Local0)
+ m600(arg0, 36, Local0, 0xfe7cb391d650a284)
+
+ Add(1, Derefof(Refof(s605)), Local0)
+ m600(arg0, 37, Local0, 0xfe7cb391d650a285)
+
+ Add(aui5, Derefof(Refof(s605)), Local0)
+ m600(arg0, 38, Local0, 0xfe7cb391d650a284)
+
+ Add(aui6, Derefof(Refof(s605)), Local0)
+ m600(arg0, 39, Local0, 0xfe7cb391d650a285)
+
+ if (y078) {
+ Add(Derefof(Refof(aui5)), Derefof(Refof(s605)), Local0)
+ m600(arg0, 40, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(Refof(aui6)), Derefof(Refof(s605)), Local0)
+ m600(arg0, 41, Local0, 0xfe7cb391d650a285)
+ }
+
+ Add(Derefof(Index(paui, 5)), Derefof(Refof(s605)), Local0)
+ m600(arg0, 42, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(Index(paui, 6)), Derefof(Refof(s605)), Local0)
+ m600(arg0, 43, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Integer
+
+ Add(m601(1, 5), Derefof(Refof(s605)), Local0)
+ m600(arg0, 44, Local0, 0xfe7cb391d650a284)
+
+ Add(m601(1, 6), Derefof(Refof(s605)), Local0)
+ m600(arg0, 45, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(Derefof(m602(1, 5, 1)), Derefof(Refof(s605)), Local0)
+ m600(arg0, 46, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(m602(1, 6, 1)), Derefof(Refof(s605)), Local0)
+ m600(arg0, 47, Local0, 0xfe7cb391d650a285)
+ }
+
+ // Conversion of the both operands
+
+ Store(Add(Derefof(Refof(s601)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 48, Local0, 0xfe7cb391d650a5a5)
+
+ Store(Add(Derefof(Refof(s605)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 49, Local0, 0xfe7cb391d650a5a5)
+
+ Add(Derefof(Refof(s601)), Derefof(Refof(s605)), Local0)
+ m600(arg0, 50, Local0, 0xfe7cb391d650a5a5)
+
+ Add(Derefof(Refof(s605)), Derefof(Refof(s601)), Local0)
+ m600(arg0, 51, Local0, 0xfe7cb391d650a5a5)
+ }
+
+ // Add, 32-bit
+ Method(m003, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Add(Derefof(Refof(s604)), 0), Local0)
+ m600(arg0, 0, Local0, 0xc179b3fe)
+
+ Store(Add(Derefof(Refof(s604)), 1), Local0)
+ m600(arg0, 1, Local0, 0xc179b3ff)
+
+ Store(Add(Derefof(Refof(s604)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xc179b3fe)
+
+ Store(Add(Derefof(Refof(s604)), aui6), Local0)
+ m600(arg0, 3, Local0, 0xc179b3ff)
+
+ if (y078) {
+ Store(Add(Derefof(Refof(s604)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xc179b3fe)
+
+ Store(Add(Derefof(Refof(s604)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xc179b3ff)
+ }
+
+ Store(Add(Derefof(Refof(s604)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xc179b3fe)
+
+ Store(Add(Derefof(Refof(s604)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xc179b3ff)
+
+ // Method returns Integer
+
+ Store(Add(Derefof(Refof(s604)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xc179b3fe)
+
+ Store(Add(Derefof(Refof(s604)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xc179b3ff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(Derefof(Refof(s604)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xc179b3fe)
+
+ Store(Add(Derefof(Refof(s604)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xc179b3ff)
+ }
+
+ Add(Derefof(Refof(s604)), 0, Local0)
+ m600(arg0, 12, Local0, 0xc179b3fe)
+
+ Add(Derefof(Refof(s604)), 1, Local0)
+ m600(arg0, 13, Local0, 0xc179b3ff)
+
+ Add(Derefof(Refof(s604)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xc179b3fe)
+
+ Add(Derefof(Refof(s604)), aui6, Local0)
+ m600(arg0, 15, Local0, 0xc179b3ff)
+
+ if (y078) {
+ Add(Derefof(Refof(s604)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xc179b3fe)
+
+ Add(Derefof(Refof(s604)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xc179b3ff)
+ }
+
+ Add(Derefof(Refof(s604)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xc179b3fe)
+
+ Add(Derefof(Refof(s604)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xc179b3ff)
+
+ // Method returns Integer
+
+ Add(Derefof(Refof(s604)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xc179b3fe)
+
+ Add(Derefof(Refof(s604)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xc179b3ff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(Derefof(Refof(s604)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xc179b3fe)
+
+ Add(Derefof(Refof(s604)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xc179b3ff)
+ }
+
+ // Conversion of the second operand
+
+ Store(Add(0, Derefof(Refof(s604))), Local0)
+ m600(arg0, 24, Local0, 0xc179b3fe)
+
+ Store(Add(1, Derefof(Refof(s604))), Local0)
+ m600(arg0, 25, Local0, 0xc179b3ff)
+
+ Store(Add(aui5, Derefof(Refof(s604))), Local0)
+ m600(arg0, 26, Local0, 0xc179b3fe)
+
+ Store(Add(aui6, Derefof(Refof(s604))), Local0)
+ m600(arg0, 27, Local0, 0xc179b3ff)
+
+ if (y078) {
+ Store(Add(Derefof(Refof(aui5)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 28, Local0, 0xc179b3fe)
+
+ Store(Add(Derefof(Refof(aui6)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 29, Local0, 0xc179b3ff)
+ }
+
+ Store(Add(Derefof(Index(paui, 5)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 30, Local0, 0xc179b3fe)
+
+ Store(Add(Derefof(Index(paui, 6)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 31, Local0, 0xc179b3ff)
+
+ // Method returns Integer
+
+ Store(Add(m601(1, 5), Derefof(Refof(s604))), Local0)
+ m600(arg0, 32, Local0, 0xc179b3fe)
+
+ Store(Add(m601(1, 6), Derefof(Refof(s604))), Local0)
+ m600(arg0, 33, Local0, 0xc179b3ff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(Derefof(m602(1, 5, 1)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 34, Local0, 0xc179b3fe)
+
+ Store(Add(Derefof(m602(1, 6, 1)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 35, Local0, 0xc179b3ff)
+ }
+
+ Add(0, Derefof(Refof(s604)), Local0)
+ m600(arg0, 36, Local0, 0xc179b3fe)
+
+ Add(1, Derefof(Refof(s604)), Local0)
+ m600(arg0, 37, Local0, 0xc179b3ff)
+
+ Add(aui5, Derefof(Refof(s604)), Local0)
+ m600(arg0, 38, Local0, 0xc179b3fe)
+
+ Add(aui6, Derefof(Refof(s604)), Local0)
+ m600(arg0, 39, Local0, 0xc179b3ff)
+
+ if (y078) {
+ Add(Derefof(Refof(aui5)), Derefof(Refof(s604)), Local0)
+ m600(arg0, 40, Local0, 0xc179b3fe)
+
+ Add(Derefof(Refof(aui6)), Derefof(Refof(s604)), Local0)
+ m600(arg0, 41, Local0, 0xc179b3ff)
+ }
+
+ Add(Derefof(Index(paui, 5)), Derefof(Refof(s604)), Local0)
+ m600(arg0, 42, Local0, 0xc179b3fe)
+
+ Add(Derefof(Index(paui, 6)), Derefof(Refof(s604)), Local0)
+ m600(arg0, 43, Local0, 0xc179b3ff)
+
+ // Method returns Integer
+
+ Add(m601(1, 5), Derefof(Refof(s604)), Local0)
+ m600(arg0, 44, Local0, 0xc179b3fe)
+
+ Add(m601(1, 6), Derefof(Refof(s604)), Local0)
+ m600(arg0, 45, Local0, 0xc179b3ff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(Derefof(m602(1, 5, 1)), Derefof(Refof(s604)), Local0)
+ m600(arg0, 46, Local0, 0xc179b3fe)
+
+ Add(Derefof(m602(1, 6, 1)), Derefof(Refof(s604)), Local0)
+ m600(arg0, 47, Local0, 0xc179b3ff)
+ }
+
+ // Conversion of the both operands
+
+ Store(Add(Derefof(Refof(s601)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 48, Local0, 0xc179b71f)
+
+ Store(Add(Derefof(Refof(s604)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 49, Local0, 0xc179b71f)
+
+ Add(Derefof(Refof(s601)), Derefof(Refof(s604)), Local0)
+ m600(arg0, 50, Local0, 0xc179b71f)
+
+ Add(Derefof(Refof(s604)), Derefof(Refof(s601)), Local0)
+ m600(arg0, 51, Local0, 0xc179b71f)
+ }
+
+ // And, common 32-bit/64-bit test
+ Method(m004, 1)
+ {
+ // Conversion of the first operand
+
+ Store(And(Derefof(Refof(s601)), 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(And(Derefof(Refof(s601)), 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0x321)
+
+ Store(And(Derefof(Refof(s601)), aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(And(Derefof(Refof(s601)), auij), Local0)
+ m600(arg0, 3, Local0, 0x321)
+
+ if (y078) {
+ Store(And(Derefof(Refof(s601)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(And(Derefof(Refof(s601)), Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0x321)
+ }
+
+ Store(And(Derefof(Refof(s601)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(And(Derefof(Refof(s601)), Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0x321)
+
+ // Method returns Integer
+
+ Store(And(Derefof(Refof(s601)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(And(Derefof(Refof(s601)), m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(Derefof(Refof(s601)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(And(Derefof(Refof(s601)), Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0x321)
+ }
+
+ And(Derefof(Refof(s601)), 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ And(Derefof(Refof(s601)), 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0x321)
+
+ And(Derefof(Refof(s601)), aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ And(Derefof(Refof(s601)), auij, Local0)
+ m600(arg0, 15, Local0, 0x321)
+
+ if (y078) {
+ And(Derefof(Refof(s601)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ And(Derefof(Refof(s601)), Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0x321)
+ }
+
+ And(Derefof(Refof(s601)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ And(Derefof(Refof(s601)), Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0x321)
+
+ // Method returns Integer
+
+ And(Derefof(Refof(s601)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ And(Derefof(Refof(s601)), m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(Derefof(Refof(s601)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ And(Derefof(Refof(s601)), Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0x321)
+ }
+
+ // Conversion of the second operand
+
+ Store(And(0, Derefof(Refof(s601))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(And(0xffffffffffffffff, Derefof(Refof(s601))), Local0)
+ m600(arg0, 25, Local0, 0x321)
+
+ Store(And(aui5, Derefof(Refof(s601))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(And(auij, Derefof(Refof(s601))), Local0)
+ m600(arg0, 27, Local0, 0x321)
+
+ if (y078) {
+ Store(And(Derefof(Refof(aui5)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(And(Derefof(Refof(auij)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 29, Local0, 0x321)
+ }
+
+ Store(And(Derefof(Index(paui, 5)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(And(Derefof(Index(paui, 19)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 31, Local0, 0x321)
+
+ // Method returns Integer
+
+ Store(And(m601(1, 5), Derefof(Refof(s601))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(And(m601(1, 19), Derefof(Refof(s601))), Local0)
+ m600(arg0, 33, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(Derefof(m602(1, 5, 1)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(And(Derefof(m602(1, 19, 1)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 35, Local0, 0x321)
+ }
+
+ And(0, Derefof(Refof(s601)), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ And(0xffffffffffffffff, Derefof(Refof(s601)), Local0)
+ m600(arg0, 37, Local0, 0x321)
+
+ And(aui5, Derefof(Refof(s601)), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ And(auij, Derefof(Refof(s601)), Local0)
+ m600(arg0, 39, Local0, 0x321)
+
+ if (y078) {
+ And(Derefof(Refof(aui5)), Derefof(Refof(s601)), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ And(Derefof(Refof(auij)), Derefof(Refof(s601)), Local0)
+ m600(arg0, 41, Local0, 0x321)
+ }
+
+ And(Derefof(Index(paui, 5)), Derefof(Refof(s601)), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ And(Derefof(Index(paui, 19)), Derefof(Refof(s601)), Local0)
+ m600(arg0, 43, Local0, 0x321)
+
+ // Method returns Integer
+
+ And(m601(1, 5), Derefof(Refof(s601)), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ And(m601(1, 19), Derefof(Refof(s601)), Local0)
+ m600(arg0, 45, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(Derefof(m602(1, 5, 1)), Derefof(Refof(s601)), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ And(Derefof(m602(1, 19, 1)), Derefof(Refof(s601)), Local0)
+ m600(arg0, 47, Local0, 0x321)
+ }
+ }
+
+ // And, 64-bit
+ Method(m005, 1)
+ {
+ // Conversion of the first operand
+
+ Store(And(Derefof(Refof(s605)), 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(And(Derefof(Refof(s605)), 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xfe7cb391d650a284)
+
+ Store(And(Derefof(Refof(s605)), aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(And(Derefof(Refof(s605)), auij), Local0)
+ m600(arg0, 3, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Store(And(Derefof(Refof(s605)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(And(Derefof(Refof(s605)), Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xfe7cb391d650a284)
+ }
+
+ Store(And(Derefof(Refof(s605)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(And(Derefof(Refof(s605)), Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Store(And(Derefof(Refof(s605)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(And(Derefof(Refof(s605)), m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(Derefof(Refof(s605)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(And(Derefof(Refof(s605)), Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfe7cb391d650a284)
+ }
+
+ And(Derefof(Refof(s605)), 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ And(Derefof(Refof(s605)), 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a284)
+
+ And(Derefof(Refof(s605)), aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ And(Derefof(Refof(s605)), auij, Local0)
+ m600(arg0, 15, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ And(Derefof(Refof(s605)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ And(Derefof(Refof(s605)), Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xfe7cb391d650a284)
+ }
+
+ And(Derefof(Refof(s605)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ And(Derefof(Refof(s605)), Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ And(Derefof(Refof(s605)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ And(Derefof(Refof(s605)), m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(Derefof(Refof(s605)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ And(Derefof(Refof(s605)), Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfe7cb391d650a284)
+ }
+
+ // Conversion of the second operand
+
+ Store(And(0, Derefof(Refof(s605))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(And(0xffffffffffffffff, Derefof(Refof(s605))), Local0)
+ m600(arg0, 25, Local0, 0xfe7cb391d650a284)
+
+ Store(And(aui5, Derefof(Refof(s605))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(And(auij, Derefof(Refof(s605))), Local0)
+ m600(arg0, 27, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Store(And(Derefof(Refof(aui5)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(And(Derefof(Refof(auij)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 29, Local0, 0xfe7cb391d650a284)
+ }
+
+ Store(And(Derefof(Index(paui, 5)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(And(Derefof(Index(paui, 19)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 31, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Store(And(m601(1, 5), Derefof(Refof(s605))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(And(m601(1, 19), Derefof(Refof(s605))), Local0)
+ m600(arg0, 33, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(Derefof(m602(1, 5, 1)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(And(Derefof(m602(1, 19, 1)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 35, Local0, 0xfe7cb391d650a284)
+ }
+
+ And(0, Derefof(Refof(s605)), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ And(0xffffffffffffffff, Derefof(Refof(s605)), Local0)
+ m600(arg0, 37, Local0, 0xfe7cb391d650a284)
+
+ And(aui5, Derefof(Refof(s605)), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ And(auij, Derefof(Refof(s605)), Local0)
+ m600(arg0, 39, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ And(Derefof(Refof(aui5)), Derefof(Refof(s605)), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ And(Derefof(Refof(auij)), Derefof(Refof(s605)), Local0)
+ m600(arg0, 41, Local0, 0xfe7cb391d650a284)
+ }
+
+ And(Derefof(Index(paui, 5)), Derefof(Refof(s605)), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ And(Derefof(Index(paui, 19)), Derefof(Refof(s605)), Local0)
+ m600(arg0, 43, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ And(m601(1, 5), Derefof(Refof(s605)), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ And(m601(1, 19), Derefof(Refof(s605)), Local0)
+ m600(arg0, 45, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(Derefof(m602(1, 5, 1)), Derefof(Refof(s605)), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ And(Derefof(m602(1, 19, 1)), Derefof(Refof(s605)), Local0)
+ m600(arg0, 47, Local0, 0xfe7cb391d650a284)
+ }
+
+ // Conversion of the both operands
+
+ Store(And(Derefof(Refof(s601)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 48, Local0, 0x200)
+
+ Store(And(Derefof(Refof(s605)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 49, Local0, 0x200)
+
+ And(Derefof(Refof(s601)), Derefof(Refof(s605)), Local0)
+ m600(arg0, 50, Local0, 0x200)
+
+ And(Derefof(Refof(s605)), Derefof(Refof(s601)), Local0)
+ m600(arg0, 51, Local0, 0x200)
+ }
+
+ // And, 32-bit
+ Method(m006, 1)
+ {
+ // Conversion of the first operand
+
+ Store(And(Derefof(Refof(s604)), 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(And(Derefof(Refof(s604)), 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0xc179b3fe)
+
+ Store(And(Derefof(Refof(s604)), aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(And(Derefof(Refof(s604)), auii), Local0)
+ m600(arg0, 3, Local0, 0xc179b3fe)
+
+ if (y078) {
+ Store(And(Derefof(Refof(s604)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(And(Derefof(Refof(s604)), Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0xc179b3fe)
+ }
+
+ Store(And(Derefof(Refof(s604)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(And(Derefof(Refof(s604)), Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0xc179b3fe)
+
+ // Method returns Integer
+
+ Store(And(Derefof(Refof(s604)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(And(Derefof(Refof(s604)), m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0xc179b3fe)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(Derefof(Refof(s604)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(And(Derefof(Refof(s604)), Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0xc179b3fe)
+ }
+
+ And(Derefof(Refof(s604)), 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ And(Derefof(Refof(s604)), 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0xc179b3fe)
+
+ And(Derefof(Refof(s604)), aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ And(Derefof(Refof(s604)), auii, Local0)
+ m600(arg0, 15, Local0, 0xc179b3fe)
+
+ if (y078) {
+ And(Derefof(Refof(s604)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ And(Derefof(Refof(s604)), Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0xc179b3fe)
+ }
+
+ And(Derefof(Refof(s604)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ And(Derefof(Refof(s604)), Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0xc179b3fe)
+
+ // Method returns Integer
+
+ And(Derefof(Refof(s604)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ And(Derefof(Refof(s604)), m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0xc179b3fe)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(Derefof(Refof(s604)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ And(Derefof(Refof(s604)), Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0xc179b3fe)
+ }
+
+ // Conversion of the second operand
+
+ Store(And(0, Derefof(Refof(s604))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(And(0xffffffff, Derefof(Refof(s604))), Local0)
+ m600(arg0, 25, Local0, 0xc179b3fe)
+
+ Store(And(aui5, Derefof(Refof(s604))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(And(auii, Derefof(Refof(s604))), Local0)
+ m600(arg0, 27, Local0, 0xc179b3fe)
+
+ if (y078) {
+ Store(And(Derefof(Refof(aui5)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(And(Derefof(Refof(auii)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 29, Local0, 0xc179b3fe)
+ }
+
+ Store(And(Derefof(Index(paui, 5)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(And(Derefof(Index(paui, 18)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 31, Local0, 0xc179b3fe)
+
+ // Method returns Integer
+
+ Store(And(m601(1, 5), Derefof(Refof(s604))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(And(m601(1, 18), Derefof(Refof(s604))), Local0)
+ m600(arg0, 33, Local0, 0xc179b3fe)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(Derefof(m602(1, 5, 1)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(And(Derefof(m602(1, 18, 1)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 35, Local0, 0xc179b3fe)
+ }
+
+ And(0, Derefof(Refof(s604)), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ And(0xffffffff, Derefof(Refof(s604)), Local0)
+ m600(arg0, 37, Local0, 0xc179b3fe)
+
+ And(aui5, Derefof(Refof(s604)), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ And(auii, Derefof(Refof(s604)), Local0)
+ m600(arg0, 39, Local0, 0xc179b3fe)
+
+ if (y078) {
+ And(Derefof(Refof(aui5)), Derefof(Refof(s604)), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ And(Derefof(Refof(auii)), Derefof(Refof(s604)), Local0)
+ m600(arg0, 41, Local0, 0xc179b3fe)
+ }
+
+ And(Derefof(Index(paui, 5)), Derefof(Refof(s604)), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ And(Derefof(Index(paui, 18)), Derefof(Refof(s604)), Local0)
+ m600(arg0, 43, Local0, 0xc179b3fe)
+
+ // Method returns Integer
+
+ And(m601(1, 5), Derefof(Refof(s604)), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ And(m601(1, 18), Derefof(Refof(s604)), Local0)
+ m600(arg0, 45, Local0, 0xc179b3fe)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(Derefof(m602(1, 5, 1)), Derefof(Refof(s604)), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ And(Derefof(m602(1, 18, 1)), Derefof(Refof(s604)), Local0)
+ m600(arg0, 47, Local0, 0xc179b3fe)
+ }
+
+ // Conversion of the both operands
+
+ Store(And(Derefof(Refof(s601)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 48, Local0, 0x320)
+
+ Store(And(Derefof(Refof(s604)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 49, Local0, 0x320)
+
+ And(Derefof(Refof(s601)), Derefof(Refof(s604)), Local0)
+ m600(arg0, 50, Local0, 0x320)
+
+ And(Derefof(Refof(s604)), Derefof(Refof(s601)), Local0)
+ m600(arg0, 51, Local0, 0x320)
+ }
+
+ // Divide, common 32-bit/64-bit test
+ Method(m007, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Divide(Derefof(Refof(s601)), 1), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Divide(Derefof(Refof(s601)), 0x321), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Divide(Derefof(Refof(s601)), aui6), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Divide(Derefof(Refof(s601)), aui1), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Divide(Derefof(Refof(s601)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Divide(Derefof(Refof(s601)), Derefof(Refof(aui1))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Divide(Derefof(Refof(s601)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Divide(Derefof(Refof(s601)), Derefof(Index(paui, 1))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(Derefof(Refof(s601)), m601(1, 6)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Divide(Derefof(Refof(s601)), m601(1, 1)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(Derefof(Refof(s601)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Divide(Derefof(Refof(s601)), Derefof(m602(1, 1, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Divide(Derefof(Refof(s601)), 1, Local1, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Divide(Derefof(Refof(s601)), 0x321, Local1, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Divide(Derefof(Refof(s601)), aui6, Local1, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Divide(Derefof(Refof(s601)), aui1, Local1, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Divide(Derefof(Refof(s601)), Derefof(Refof(aui6)), Local1, Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Divide(Derefof(Refof(s601)), Derefof(Refof(aui1)), Local1, Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Divide(Derefof(Refof(s601)), Derefof(Index(paui, 6)), Local1, Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Divide(Derefof(Refof(s601)), Derefof(Index(paui, 1)), Local1, Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(Derefof(Refof(s601)), m601(1, 6), Local1, Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Divide(Derefof(Refof(s601)), m601(1, 1), Local1, Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(Derefof(Refof(s601)), Derefof(m602(1, 6, 1)), Local1, Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Divide(Derefof(Refof(s601)), Derefof(m602(1, 1, 1)), Local1, Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Divide(1, Derefof(Refof(s601))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Divide(0x321, Derefof(Refof(s601))), Local0)
+ m600(arg0, 25, Local0, 1)
+
+ Store(Divide(aui6, Derefof(Refof(s601))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Divide(aui1, Derefof(Refof(s601))), Local0)
+ m600(arg0, 27, Local0, 1)
+
+ if (y078) {
+ Store(Divide(Derefof(Refof(aui6)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Divide(Derefof(Refof(aui1)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 29, Local0, 1)
+ }
+
+ Store(Divide(Derefof(Index(paui, 6)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Divide(Derefof(Index(paui, 1)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 31, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(m601(1, 6), Derefof(Refof(s601))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Divide(m601(1, 1), Derefof(Refof(s601))), Local0)
+ m600(arg0, 33, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(Derefof(m602(1, 6, 1)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Divide(Derefof(m602(1, 1, 1)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 35, Local0, 1)
+ }
+
+ Divide(1, Derefof(Refof(s601)), Local1, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Divide(0x321, Derefof(Refof(s601)), Local1, Local0)
+ m600(arg0, 37, Local0, 1)
+
+ Divide(aui6, Derefof(Refof(s601)), Local1, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Divide(aui1, Derefof(Refof(s601)), Local1, Local0)
+ m600(arg0, 39, Local0, 1)
+
+ if (y078) {
+ Divide(Derefof(Refof(aui6)), Derefof(Refof(s601)), Local1, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Divide(Derefof(Refof(aui1)), Derefof(Refof(s601)), Local1, Local0)
+ m600(arg0, 41, Local0, 1)
+ }
+
+ Divide(Derefof(Index(paui, 6)), Derefof(Refof(s601)), Local1, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Divide(Derefof(Index(paui, 1)), Derefof(Refof(s601)), Local1, Local0)
+ m600(arg0, 43, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(m601(1, 6), Derefof(Refof(s601)), Local1, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Divide(m601(1, 1), Derefof(Refof(s601)), Local1, Local0)
+ m600(arg0, 45, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(Derefof(m602(1, 6, 1)), Derefof(Refof(s601)), Local1, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Divide(Derefof(m602(1, 1, 1)), Derefof(Refof(s601)), Local1, Local0)
+ m600(arg0, 47, Local0, 1)
+ }
+ }
+
+ // Divide, 64-bit
+ Method(m008, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Divide(Derefof(Refof(s605)), 1), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(Derefof(Refof(s605)), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Divide(Derefof(Refof(s605)), aui6), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(Derefof(Refof(s605)), aui4), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Divide(Derefof(Refof(s605)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(Derefof(Refof(s605)), Derefof(Refof(aui4))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Divide(Derefof(Refof(s605)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(Derefof(Refof(s605)), Derefof(Index(paui, 4))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(Derefof(Refof(s605)), m601(1, 6)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(Derefof(Refof(s605)), m601(1, 4)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(Derefof(Refof(s605)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(Derefof(Refof(s605)), Derefof(m602(1, 4, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Divide(Derefof(Refof(s605)), 1, Local1, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Divide(Derefof(Refof(s605)), 0xfe7cb391d650a284, Local1, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Divide(Derefof(Refof(s605)), aui6, Local1, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Divide(Derefof(Refof(s605)), aui4, Local1, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Divide(Derefof(Refof(s605)), Derefof(Refof(aui6)), Local1, Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Divide(Derefof(Refof(s605)), Derefof(Refof(aui4)), Local1, Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Divide(Derefof(Refof(s605)), Derefof(Index(paui, 6)), Local1, Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Divide(Derefof(Refof(s605)), Derefof(Index(paui, 4)), Local1, Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(Derefof(Refof(s605)), m601(1, 6), Local1, Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Divide(Derefof(Refof(s605)), m601(1, 4), Local1, Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(Derefof(Refof(s605)), Derefof(m602(1, 6, 1)), Local1, Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Divide(Derefof(Refof(s605)), Derefof(m602(1, 4, 1)), Local1, Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Divide(1, Derefof(Refof(s605))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Divide(0xfe7cb391d650a284, Derefof(Refof(s605))), Local0)
+ m600(arg0, 25, Local0, 1)
+
+ Store(Divide(aui6, Derefof(Refof(s605))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Divide(aui4, Derefof(Refof(s605))), Local0)
+ m600(arg0, 27, Local0, 1)
+
+ if (y078) {
+ Store(Divide(Derefof(Refof(aui6)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Divide(Derefof(Refof(aui4)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 29, Local0, 1)
+ }
+
+ Store(Divide(Derefof(Index(paui, 6)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Divide(Derefof(Index(paui, 4)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 31, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(m601(1, 6), Derefof(Refof(s605))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Divide(m601(1, 4), Derefof(Refof(s605))), Local0)
+ m600(arg0, 33, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(Derefof(m602(1, 6, 1)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Divide(Derefof(m602(1, 4, 1)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 35, Local0, 1)
+ }
+
+ Divide(1, Derefof(Refof(s605)), Local1, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Divide(0xfe7cb391d650a284, Derefof(Refof(s605)), Local1, Local0)
+ m600(arg0, 37, Local0, 1)
+
+ Divide(aui6, Derefof(Refof(s605)), Local1, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Divide(aui4, Derefof(Refof(s605)), Local1, Local0)
+ m600(arg0, 39, Local0, 1)
+
+ if (y078) {
+ Divide(Derefof(Refof(aui6)), Derefof(Refof(s605)), Local1, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Divide(Derefof(Refof(aui4)), Derefof(Refof(s605)), Local1, Local0)
+ m600(arg0, 41, Local0, 1)
+ }
+
+ Divide(Derefof(Index(paui, 6)), Derefof(Refof(s605)), Local1, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Divide(Derefof(Index(paui, 4)), Derefof(Refof(s605)), Local1, Local0)
+ m600(arg0, 43, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(m601(1, 6), Derefof(Refof(s605)), Local1, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Divide(m601(1, 4), Derefof(Refof(s605)), Local1, Local0)
+ m600(arg0, 45, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(Derefof(m602(1, 6, 1)), Derefof(Refof(s605)), Local1, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Divide(Derefof(m602(1, 4, 1)), Derefof(Refof(s605)), Local1, Local0)
+ m600(arg0, 47, Local0, 1)
+ }
+
+ // Conversion of the both operands
+
+ Store(Divide(Derefof(Refof(s601)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 48, Local0, 0)
+
+ Store(Divide(Derefof(Refof(s605)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 49, Local0, 0x0051558eb950f5a7)
+
+ Divide(Derefof(Refof(s601)), Derefof(Refof(s605)), Local1, Local0)
+ m600(arg0, 50, Local0, 0)
+
+ Divide(Derefof(Refof(s605)), Derefof(Refof(s601)), Local1, Local0)
+ m600(arg0, 51, Local0, 0x0051558eb950f5a7)
+ }
+
+ // Divide, 32-bit
+ Method(m009, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Divide(Derefof(Refof(s604)), 1), Local0)
+ m600(arg0, 0, Local0, 0xc179b3fe)
+
+ Store(Divide(Derefof(Refof(s604)), 0xc179b3fe), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Divide(Derefof(Refof(s604)), aui6), Local0)
+ m600(arg0, 2, Local0, 0xc179b3fe)
+
+ Store(Divide(Derefof(Refof(s604)), aui3), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Divide(Derefof(Refof(s604)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 4, Local0, 0xc179b3fe)
+
+ Store(Divide(Derefof(Refof(s604)), Derefof(Refof(aui3))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Divide(Derefof(Refof(s604)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 6, Local0, 0xc179b3fe)
+
+ Store(Divide(Derefof(Refof(s604)), Derefof(Index(paui, 3))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(Derefof(Refof(s604)), m601(1, 6)), Local0)
+ m600(arg0, 8, Local0, 0xc179b3fe)
+
+ Store(Divide(Derefof(Refof(s604)), m601(1, 3)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(Derefof(Refof(s604)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 10, Local0, 0xc179b3fe)
+
+ Store(Divide(Derefof(Refof(s604)), Derefof(m602(1, 3, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Divide(Derefof(Refof(s604)), 1, Local1, Local0)
+ m600(arg0, 12, Local0, 0xc179b3fe)
+
+ Divide(Derefof(Refof(s604)), 0xc179b3fe, Local1, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Divide(Derefof(Refof(s604)), aui6, Local1, Local0)
+ m600(arg0, 14, Local0, 0xc179b3fe)
+
+ Divide(Derefof(Refof(s604)), aui3, Local1, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Divide(Derefof(Refof(s604)), Derefof(Refof(aui6)), Local1, Local0)
+ m600(arg0, 16, Local0, 0xc179b3fe)
+
+ Divide(Derefof(Refof(s604)), Derefof(Refof(aui3)), Local1, Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Divide(Derefof(Refof(s604)), Derefof(Index(paui, 6)), Local1, Local0)
+ m600(arg0, 18, Local0, 0xc179b3fe)
+
+ Divide(Derefof(Refof(s604)), Derefof(Index(paui, 3)), Local1, Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(Derefof(Refof(s604)), m601(1, 6), Local1, Local0)
+ m600(arg0, 20, Local0, 0xc179b3fe)
+
+ Divide(Derefof(Refof(s604)), m601(1, 3), Local1, Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(Derefof(Refof(s604)), Derefof(m602(1, 6, 1)), Local1, Local0)
+ m600(arg0, 22, Local0, 0xc179b3fe)
+
+ Divide(Derefof(Refof(s604)), Derefof(m602(1, 3, 1)), Local1, Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Divide(1, Derefof(Refof(s604))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Divide(0xc179b3fe, Derefof(Refof(s604))), Local0)
+ m600(arg0, 25, Local0, 1)
+
+ Store(Divide(aui6, Derefof(Refof(s604))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Divide(aui3, Derefof(Refof(s604))), Local0)
+ m600(arg0, 27, Local0, 1)
+
+ if (y078) {
+ Store(Divide(Derefof(Refof(aui6)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Divide(Derefof(Refof(aui3)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 29, Local0, 1)
+ }
+
+ Store(Divide(Derefof(Index(paui, 6)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Divide(Derefof(Index(paui, 3)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 31, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(m601(1, 6), Derefof(Refof(s604))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Divide(m601(1, 3), Derefof(Refof(s604))), Local0)
+ m600(arg0, 33, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(Derefof(m602(1, 6, 1)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Divide(Derefof(m602(1, 3, 1)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 35, Local0, 1)
+ }
+
+ Divide(1, Derefof(Refof(s604)), Local1, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Divide(0xc179b3fe, Derefof(Refof(s604)), Local1, Local0)
+ m600(arg0, 37, Local0, 1)
+
+ Divide(aui6, Derefof(Refof(s604)), Local1, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Divide(aui3, Derefof(Refof(s604)), Local1, Local0)
+ m600(arg0, 39, Local0, 1)
+
+ if (y078) {
+ Divide(Derefof(Refof(aui6)), Derefof(Refof(s604)), Local1, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Divide(Derefof(Refof(aui3)), Derefof(Refof(s604)), Local1, Local0)
+ m600(arg0, 41, Local0, 1)
+ }
+
+ Divide(Derefof(Index(paui, 6)), Derefof(Refof(s604)), Local1, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Divide(Derefof(Index(paui, 3)), Derefof(Refof(s604)), Local1, Local0)
+ m600(arg0, 43, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(m601(1, 6), Derefof(Refof(s604)), Local1, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Divide(m601(1, 3), Derefof(Refof(s604)), Local1, Local0)
+ m600(arg0, 45, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(Derefof(m602(1, 6, 1)), Derefof(Refof(s604)), Local1, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Divide(Derefof(m602(1, 3, 1)), Derefof(Refof(s604)), Local1, Local0)
+ m600(arg0, 47, Local0, 1)
+ }
+
+ // Conversion of the both operands
+
+ Store(Divide(Derefof(Refof(s601)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 48, Local0, 0)
+
+ Store(Divide(Derefof(Refof(s604)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 49, Local0, 0x003dd5b7)
+
+ Divide(Derefof(Refof(s601)), Derefof(Refof(s604)), Local1, Local0)
+ m600(arg0, 50, Local0, 0)
+
+ Divide(Derefof(Refof(s604)), Derefof(Refof(s601)), Local1, Local0)
+ m600(arg0, 51, Local0, 0x003dd5b7)
+ }
+
+ // Mod, common 32-bit/64-bit test
+ Method(m00a, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Mod(Derefof(Refof(s601)), 0x322), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Mod(Derefof(Refof(s601)), 0x320), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Mod(Derefof(Refof(s601)), auig), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Mod(Derefof(Refof(s601)), auih), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Mod(Derefof(Refof(s601)), Derefof(Refof(auig))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Mod(Derefof(Refof(s601)), Derefof(Refof(auih))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Mod(Derefof(Refof(s601)), Derefof(Index(paui, 16))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Mod(Derefof(Refof(s601)), Derefof(Index(paui, 17))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Mod(Derefof(Refof(s601)), m601(1, 16)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Mod(Derefof(Refof(s601)), m601(1, 17)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(Derefof(Refof(s601)), Derefof(m602(1, 16, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Mod(Derefof(Refof(s601)), Derefof(m602(1, 17, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Mod(Derefof(Refof(s601)), 0x322, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Mod(Derefof(Refof(s601)), 0x320, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Mod(Derefof(Refof(s601)), auig, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Mod(Derefof(Refof(s601)), auih, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Mod(Derefof(Refof(s601)), Derefof(Refof(auig)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Mod(Derefof(Refof(s601)), Derefof(Refof(auih)), Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Mod(Derefof(Refof(s601)), Derefof(Index(paui, 16)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Mod(Derefof(Refof(s601)), Derefof(Index(paui, 17)), Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Mod(Derefof(Refof(s601)), m601(1, 16), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Mod(Derefof(Refof(s601)), m601(1, 17), Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(Derefof(Refof(s601)), Derefof(m602(1, 16, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Mod(Derefof(Refof(s601)), Derefof(m602(1, 17, 1)), Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Mod(0x322, Derefof(Refof(s601))), Local0)
+ m600(arg0, 24, Local0, 1)
+
+ Store(Mod(0x320, Derefof(Refof(s601))), Local0)
+ m600(arg0, 25, Local0, 0x320)
+
+ Store(Mod(auig, Derefof(Refof(s601))), Local0)
+ m600(arg0, 26, Local0, 1)
+
+ Store(Mod(auih, Derefof(Refof(s601))), Local0)
+ m600(arg0, 27, Local0, 0x320)
+
+ if (y078) {
+ Store(Mod(Derefof(Refof(auig)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 28, Local0, 1)
+
+ Store(Mod(Derefof(Refof(auih)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 29, Local0, 0x320)
+ }
+
+ Store(Mod(Derefof(Index(paui, 16)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 30, Local0, 1)
+
+ Store(Mod(Derefof(Index(paui, 17)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 31, Local0, 0x320)
+
+ // Method returns Integer
+
+ Store(Mod(m601(1, 16), Derefof(Refof(s601))), Local0)
+ m600(arg0, 32, Local0, 1)
+
+ Store(Mod(m601(1, 17), Derefof(Refof(s601))), Local0)
+ m600(arg0, 33, Local0, 0x320)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(Derefof(m602(1, 16, 1)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 34, Local0, 1)
+
+ Store(Mod(Derefof(m602(1, 17, 1)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 35, Local0, 0x320)
+ }
+
+ Mod(0x322, Derefof(Refof(s601)), Local0)
+ m600(arg0, 36, Local0, 1)
+
+ Mod(0x320, Derefof(Refof(s601)), Local0)
+ m600(arg0, 37, Local0, 0x320)
+
+ Mod(auig, Derefof(Refof(s601)), Local0)
+ m600(arg0, 38, Local0, 1)
+
+ Mod(auih, Derefof(Refof(s601)), Local0)
+ m600(arg0, 39, Local0, 0x320)
+
+ if (y078) {
+ Mod(Derefof(Refof(auig)), Derefof(Refof(s601)), Local0)
+ m600(arg0, 40, Local0, 1)
+
+ Mod(Derefof(Refof(auih)), Derefof(Refof(s601)), Local0)
+ m600(arg0, 41, Local0, 0x320)
+ }
+
+ Mod(Derefof(Index(paui, 16)), Derefof(Refof(s601)), Local0)
+ m600(arg0, 42, Local0, 1)
+
+ Mod(Derefof(Index(paui, 17)), Derefof(Refof(s601)), Local0)
+ m600(arg0, 43, Local0, 0x320)
+
+ // Method returns Integer
+
+ Mod(m601(1, 16), Derefof(Refof(s601)), Local0)
+ m600(arg0, 44, Local0, 1)
+
+ Mod(m601(1, 17), Derefof(Refof(s601)), Local0)
+ m600(arg0, 45, Local0, 0x320)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(Derefof(m602(1, 16, 1)), Derefof(Refof(s601)), Local0)
+ m600(arg0, 46, Local0, 1)
+
+ Mod(Derefof(m602(1, 17, 1)), Derefof(Refof(s601)), Local0)
+ m600(arg0, 47, Local0, 0x320)
+ }
+ }
+
+ // Mod, 64-bit
+ Method(m00b, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Mod(Derefof(Refof(s605)), 0xfe7cb391d650a285), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(Derefof(Refof(s605)), 0xfe7cb391d650a283), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Mod(Derefof(Refof(s605)), auid), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(Derefof(Refof(s605)), auif), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Mod(Derefof(Refof(s605)), Derefof(Refof(auid))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(Derefof(Refof(s605)), Derefof(Refof(auif))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Mod(Derefof(Refof(s605)), Derefof(Index(paui, 13))), Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(Derefof(Refof(s605)), Derefof(Index(paui, 15))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Mod(Derefof(Refof(s605)), m601(1, 13)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(Derefof(Refof(s605)), m601(1, 15)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(Derefof(Refof(s605)), Derefof(m602(1, 13, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(Derefof(Refof(s605)), Derefof(m602(1, 15, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Mod(Derefof(Refof(s605)), 0xfe7cb391d650a285, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Mod(Derefof(Refof(s605)), 0xfe7cb391d650a283, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Mod(Derefof(Refof(s605)), auid, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Mod(Derefof(Refof(s605)), auif, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Mod(Derefof(Refof(s605)), Derefof(Refof(auid)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Mod(Derefof(Refof(s605)), Derefof(Refof(auif)), Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Mod(Derefof(Refof(s605)), Derefof(Index(paui, 13)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Mod(Derefof(Refof(s605)), Derefof(Index(paui, 15)), Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Mod(Derefof(Refof(s605)), m601(1, 13), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Mod(Derefof(Refof(s605)), m601(1, 15), Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(Derefof(Refof(s605)), Derefof(m602(1, 13, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Mod(Derefof(Refof(s605)), Derefof(m602(1, 15, 1)), Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Mod(0xfe7cb391d650a285, Derefof(Refof(s605))), Local0)
+ m600(arg0, 24, Local0, 1)
+
+ Store(Mod(0xfe7cb391d650a283, Derefof(Refof(s605))), Local0)
+ m600(arg0, 25, Local0, 0xfe7cb391d650a283)
+
+ Store(Mod(auid, Derefof(Refof(s605))), Local0)
+ m600(arg0, 26, Local0, 1)
+
+ Store(Mod(auif, Derefof(Refof(s605))), Local0)
+ m600(arg0, 27, Local0, 0xfe7cb391d650a283)
+
+ if (y078) {
+ Store(Mod(Derefof(Refof(auid)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 28, Local0, 1)
+
+ Store(Mod(Derefof(Refof(auif)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 29, Local0, 0xfe7cb391d650a283)
+ }
+
+ Store(Mod(Derefof(Index(paui, 13)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 30, Local0, 1)
+
+ Store(Mod(Derefof(Index(paui, 15)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 31, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Integer
+
+ Store(Mod(m601(1, 13), Derefof(Refof(s605))), Local0)
+ m600(arg0, 32, Local0, 1)
+
+ Store(Mod(m601(1, 15), Derefof(Refof(s605))), Local0)
+ m600(arg0, 33, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(Derefof(m602(1, 13, 1)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 34, Local0, 1)
+
+ Store(Mod(Derefof(m602(1, 15, 1)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 35, Local0, 0xfe7cb391d650a283)
+ }
+
+ Mod(0xfe7cb391d650a285, Derefof(Refof(s605)), Local0)
+ m600(arg0, 36, Local0, 1)
+
+ Mod(0xfe7cb391d650a283, Derefof(Refof(s605)), Local0)
+ m600(arg0, 37, Local0, 0xfe7cb391d650a283)
+
+ Mod(auid, Derefof(Refof(s605)), Local0)
+ m600(arg0, 38, Local0, 1)
+
+ Mod(auif, Derefof(Refof(s605)), Local0)
+ m600(arg0, 39, Local0, 0xfe7cb391d650a283)
+
+ if (y078) {
+ Mod(Derefof(Refof(auid)), Derefof(Refof(s605)), Local0)
+ m600(arg0, 40, Local0, 1)
+
+ Mod(Derefof(Refof(auif)), Derefof(Refof(s605)), Local0)
+ m600(arg0, 41, Local0, 0xfe7cb391d650a283)
+ }
+
+ Mod(Derefof(Index(paui, 13)), Derefof(Refof(s605)), Local0)
+ m600(arg0, 42, Local0, 1)
+
+ Mod(Derefof(Index(paui, 15)), Derefof(Refof(s605)), Local0)
+ m600(arg0, 43, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Integer
+
+ Mod(m601(1, 13), Derefof(Refof(s605)), Local0)
+ m600(arg0, 44, Local0, 1)
+
+ Mod(m601(1, 15), Derefof(Refof(s605)), Local0)
+ m600(arg0, 45, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(Derefof(m602(1, 13, 1)), Derefof(Refof(s605)), Local0)
+ m600(arg0, 46, Local0, 1)
+
+ Mod(Derefof(m602(1, 15, 1)), Derefof(Refof(s605)), Local0)
+ m600(arg0, 47, Local0, 0xfe7cb391d650a283)
+ }
+
+ // Conversion of the both operands
+
+ Store(Mod(Derefof(Refof(s601)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 48, Local0, 0x321)
+
+ Store(Mod(Derefof(Refof(s605)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 49, Local0, 0x2fd)
+
+ Mod(Derefof(Refof(s601)), Derefof(Refof(s605)), Local0)
+ m600(arg0, 50, Local0, 0x321)
+
+ Mod(Derefof(Refof(s605)), Derefof(Refof(s601)), Local0)
+ m600(arg0, 51, Local0, 0x2fd)
+ }
+
+ // Mod, 32-bit
+ Method(m00c, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Mod(Derefof(Refof(s604)), 0xc179b3ff), Local0)
+ m600(arg0, 0, Local0, 0xc179b3fe)
+
+ Store(Mod(Derefof(Refof(s604)), 0xc179b3fd), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Mod(Derefof(Refof(s604)), auic), Local0)
+ m600(arg0, 2, Local0, 0xc179b3fe)
+
+ Store(Mod(Derefof(Refof(s604)), auie), Local0)
+ m600(arg0, 14, Local0, 1)
+
+ if (y078) {
+ Store(Mod(Derefof(Refof(s604)), Derefof(Refof(auic))), Local0)
+ m600(arg0, 4, Local0, 0xc179b3fe)
+
+ Store(Mod(Derefof(Refof(s604)), Derefof(Refof(auie))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Mod(Derefof(Refof(s604)), Derefof(Index(paui, 12))), Local0)
+ m600(arg0, 12, Local0, 0xc179b3fe)
+
+ Store(Mod(Derefof(Refof(s604)), Derefof(Index(paui, 14))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Mod(Derefof(Refof(s604)), m601(1, 12)), Local0)
+ m600(arg0, 8, Local0, 0xc179b3fe)
+
+ Store(Mod(Derefof(Refof(s604)), m601(1, 14)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(Derefof(Refof(s604)), Derefof(m602(1, 12, 1))), Local0)
+ m600(arg0, 10, Local0, 0xc179b3fe)
+
+ Store(Mod(Derefof(Refof(s604)), Derefof(m602(1, 14, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Mod(Derefof(Refof(s604)), 0xc179b3ff, Local0)
+ m600(arg0, 12, Local0, 0xc179b3fe)
+
+ Mod(Derefof(Refof(s604)), 0xc179b3fd, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Mod(Derefof(Refof(s604)), auic, Local0)
+ m600(arg0, 14, Local0, 0xc179b3fe)
+
+ Mod(Derefof(Refof(s604)), auie, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Mod(Derefof(Refof(s604)), Derefof(Refof(auic)), Local0)
+ m600(arg0, 16, Local0, 0xc179b3fe)
+
+ Mod(Derefof(Refof(s604)), Derefof(Refof(auie)), Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Mod(Derefof(Refof(s604)), Derefof(Index(paui, 12)), Local0)
+ m600(arg0, 18, Local0, 0xc179b3fe)
+
+ Mod(Derefof(Refof(s604)), Derefof(Index(paui, 14)), Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Mod(Derefof(Refof(s604)), m601(1, 12), Local0)
+ m600(arg0, 20, Local0, 0xc179b3fe)
+
+ Mod(Derefof(Refof(s604)), m601(1, 14), Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(Derefof(Refof(s604)), Derefof(m602(1, 12, 1)), Local0)
+ m600(arg0, 22, Local0, 0xc179b3fe)
+
+ Mod(Derefof(Refof(s604)), Derefof(m602(1, 14, 1)), Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Mod(0xc179b3ff, Derefof(Refof(s604))), Local0)
+ m600(arg0, 24, Local0, 1)
+
+ Store(Mod(0xc179b3fd, Derefof(Refof(s604))), Local0)
+ m600(arg0, 25, Local0, 0xc179b3fd)
+
+ Store(Mod(auic, Derefof(Refof(s604))), Local0)
+ m600(arg0, 26, Local0, 1)
+
+ Store(Mod(auie, Derefof(Refof(s604))), Local0)
+ m600(arg0, 27, Local0, 0xc179b3fd)
+
+ if (y078) {
+ Store(Mod(Derefof(Refof(auic)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 28, Local0, 1)
+
+ Store(Mod(Derefof(Refof(auie)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 29, Local0, 0xc179b3fd)
+ }
+
+ Store(Mod(Derefof(Index(paui, 12)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 30, Local0, 1)
+
+ Store(Mod(Derefof(Index(paui, 14)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 31, Local0, 0xc179b3fd)
+
+ // Method returns Integer
+
+ Store(Mod(m601(1, 12), Derefof(Refof(s604))), Local0)
+ m600(arg0, 32, Local0, 1)
+
+ Store(Mod(m601(1, 14), Derefof(Refof(s604))), Local0)
+ m600(arg0, 33, Local0, 0xc179b3fd)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(Derefof(m602(1, 12, 1)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 34, Local0, 1)
+
+ Store(Mod(Derefof(m602(1, 14, 1)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 35, Local0, 0xc179b3fd)
+ }
+
+ Mod(0xc179b3ff, Derefof(Refof(s604)), Local0)
+ m600(arg0, 36, Local0, 1)
+
+ Mod(0xc179b3fd, Derefof(Refof(s604)), Local0)
+ m600(arg0, 37, Local0, 0xc179b3fd)
+
+ Mod(auic, Derefof(Refof(s604)), Local0)
+ m600(arg0, 38, Local0, 1)
+
+ Mod(auie, Derefof(Refof(s604)), Local0)
+ m600(arg0, 39, Local0, 0xc179b3fd)
+
+ if (y078) {
+ Mod(Derefof(Refof(auic)), Derefof(Refof(s604)), Local0)
+ m600(arg0, 40, Local0, 1)
+
+ Mod(Derefof(Refof(auie)), Derefof(Refof(s604)), Local0)
+ m600(arg0, 41, Local0, 0xc179b3fd)
+ }
+
+ Mod(Derefof(Index(paui, 12)), Derefof(Refof(s604)), Local0)
+ m600(arg0, 42, Local0, 1)
+
+ Mod(Derefof(Index(paui, 14)), Derefof(Refof(s604)), Local0)
+ m600(arg0, 43, Local0, 0xc179b3fd)
+
+ // Method returns Integer
+
+ Mod(m601(1, 12), Derefof(Refof(s604)), Local0)
+ m600(arg0, 44, Local0, 1)
+
+ Mod(m601(1, 14), Derefof(Refof(s604)), Local0)
+ m600(arg0, 45, Local0, 0xc179b3fd)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(Derefof(m602(1, 12, 1)), Derefof(Refof(s604)), Local0)
+ m600(arg0, 46, Local0, 1)
+
+ Mod(Derefof(m602(1, 14, 1)), Derefof(Refof(s604)), Local0)
+ m600(arg0, 47, Local0, 0xc179b3fd)
+ }
+
+ // Conversion of the both operands
+
+ Store(Mod(Derefof(Refof(s601)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 48, Local0, 0x321)
+
+ Store(Mod(Derefof(Refof(s604)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 49, Local0, 0x267)
+
+ Mod(Derefof(Refof(s601)), Derefof(Refof(s604)), Local0)
+ m600(arg0, 50, Local0, 0x321)
+
+ Mod(Derefof(Refof(s604)), Derefof(Refof(s601)), Local0)
+ m600(arg0, 51, Local0, 0x267)
+ }
+
+ // Multiply, common 32-bit/64-bit test
+ Method(m00d, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Multiply(Derefof(Refof(s601)), 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(s601)), 1), Local0)
+ m600(arg0, 1, Local0, 0x321)
+
+ Store(Multiply(Derefof(Refof(s601)), aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(s601)), aui6), Local0)
+ m600(arg0, 3, Local0, 0x321)
+
+ if (y078) {
+ Store(Multiply(Derefof(Refof(s601)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(s601)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x321)
+ }
+
+ Store(Multiply(Derefof(Refof(s601)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(s601)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x321)
+
+ // Method returns Integer
+
+ Store(Multiply(Derefof(Refof(s601)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(s601)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(Derefof(Refof(s601)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(s601)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x321)
+ }
+
+ Multiply(Derefof(Refof(s601)), 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ Multiply(Derefof(Refof(s601)), 1, Local0)
+ m600(arg0, 13, Local0, 0x321)
+
+ Multiply(Derefof(Refof(s601)), aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ Multiply(Derefof(Refof(s601)), aui6, Local0)
+ m600(arg0, 15, Local0, 0x321)
+
+ if (y078) {
+ Multiply(Derefof(Refof(s601)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ Multiply(Derefof(Refof(s601)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x321)
+ }
+
+ Multiply(Derefof(Refof(s601)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ Multiply(Derefof(Refof(s601)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x321)
+
+ // Method returns Integer
+
+ Multiply(Derefof(Refof(s601)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ Multiply(Derefof(Refof(s601)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(Derefof(Refof(s601)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ Multiply(Derefof(Refof(s601)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x321)
+ }
+
+ // Conversion of the second operand
+
+ Store(Multiply(0, Derefof(Refof(s601))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Multiply(1, Derefof(Refof(s601))), Local0)
+ m600(arg0, 25, Local0, 0x321)
+
+ Store(Multiply(aui5, Derefof(Refof(s601))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Multiply(aui6, Derefof(Refof(s601))), Local0)
+ m600(arg0, 27, Local0, 0x321)
+
+ if (y078) {
+ Store(Multiply(Derefof(Refof(aui5)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(aui6)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 29, Local0, 0x321)
+ }
+
+ Store(Multiply(Derefof(Index(paui, 5)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Multiply(Derefof(Index(paui, 6)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 31, Local0, 0x321)
+
+ // Method returns Integer
+
+ Store(Multiply(m601(1, 5), Derefof(Refof(s601))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Multiply(m601(1, 6), Derefof(Refof(s601))), Local0)
+ m600(arg0, 33, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(Derefof(m602(1, 5, 1)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Multiply(Derefof(m602(1, 6, 1)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 35, Local0, 0x321)
+ }
+
+ Multiply(0, Derefof(Refof(s601)), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Multiply(1, Derefof(Refof(s601)), Local0)
+ m600(arg0, 37, Local0, 0x321)
+
+ Multiply(aui5, Derefof(Refof(s601)), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Multiply(aui6, Derefof(Refof(s601)), Local0)
+ m600(arg0, 39, Local0, 0x321)
+
+ if (y078) {
+ Multiply(Derefof(Refof(aui5)), Derefof(Refof(s601)), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Multiply(Derefof(Refof(aui6)), Derefof(Refof(s601)), Local0)
+ m600(arg0, 41, Local0, 0x321)
+ }
+
+ Multiply(Derefof(Index(paui, 5)), Derefof(Refof(s601)), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Multiply(Derefof(Index(paui, 6)), Derefof(Refof(s601)), Local0)
+ m600(arg0, 43, Local0, 0x321)
+
+ // Method returns Integer
+
+ Multiply(m601(1, 5), Derefof(Refof(s601)), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Multiply(m601(1, 6), Derefof(Refof(s601)), Local0)
+ m600(arg0, 45, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(Derefof(m602(1, 5, 1)), Derefof(Refof(s601)), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Multiply(Derefof(m602(1, 6, 1)), Derefof(Refof(s601)), Local0)
+ m600(arg0, 47, Local0, 0x321)
+ }
+ }
+
+ // Multiply, 64-bit
+ Method(m00e, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Multiply(Derefof(Refof(s605)), 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(s605)), 1), Local0)
+ m600(arg0, 1, Local0, 0xfe7cb391d650a284)
+
+ Store(Multiply(Derefof(Refof(s605)), aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(s605)), aui6), Local0)
+ m600(arg0, 3, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Store(Multiply(Derefof(Refof(s605)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(s605)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xfe7cb391d650a284)
+ }
+
+ Store(Multiply(Derefof(Refof(s605)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(s605)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Store(Multiply(Derefof(Refof(s605)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(s605)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(Derefof(Refof(s605)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(s605)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfe7cb391d650a284)
+ }
+
+ Multiply(Derefof(Refof(s605)), 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ Multiply(Derefof(Refof(s605)), 1, Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a284)
+
+ Multiply(Derefof(Refof(s605)), aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ Multiply(Derefof(Refof(s605)), aui6, Local0)
+ m600(arg0, 15, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Multiply(Derefof(Refof(s605)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ Multiply(Derefof(Refof(s605)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xfe7cb391d650a284)
+ }
+
+ Multiply(Derefof(Refof(s605)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ Multiply(Derefof(Refof(s605)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Multiply(Derefof(Refof(s605)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ Multiply(Derefof(Refof(s605)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(Derefof(Refof(s605)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ Multiply(Derefof(Refof(s605)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfe7cb391d650a284)
+ }
+
+ // Conversion of the second operand
+
+ Store(Multiply(0, Derefof(Refof(s605))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Multiply(1, Derefof(Refof(s605))), Local0)
+ m600(arg0, 25, Local0, 0xfe7cb391d650a284)
+
+ Store(Multiply(aui5, Derefof(Refof(s605))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Multiply(aui6, Derefof(Refof(s605))), Local0)
+ m600(arg0, 27, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Store(Multiply(Derefof(Refof(aui5)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(aui6)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 29, Local0, 0xfe7cb391d650a284)
+ }
+
+ Store(Multiply(Derefof(Index(paui, 5)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Multiply(Derefof(Index(paui, 6)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 31, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Store(Multiply(m601(1, 5), Derefof(Refof(s605))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Multiply(m601(1, 6), Derefof(Refof(s605))), Local0)
+ m600(arg0, 33, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(Derefof(m602(1, 5, 1)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Multiply(Derefof(m602(1, 6, 1)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 35, Local0, 0xfe7cb391d650a284)
+ }
+
+ Multiply(0, Derefof(Refof(s605)), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Multiply(1, Derefof(Refof(s605)), Local0)
+ m600(arg0, 37, Local0, 0xfe7cb391d650a284)
+
+ Multiply(aui5, Derefof(Refof(s605)), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Multiply(aui6, Derefof(Refof(s605)), Local0)
+ m600(arg0, 39, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Multiply(Derefof(Refof(aui5)), Derefof(Refof(s605)), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Multiply(Derefof(Refof(aui6)), Derefof(Refof(s605)), Local0)
+ m600(arg0, 41, Local0, 0xfe7cb391d650a284)
+ }
+
+ Multiply(Derefof(Index(paui, 5)), Derefof(Refof(s605)), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Multiply(Derefof(Index(paui, 6)), Derefof(Refof(s605)), Local0)
+ m600(arg0, 43, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Multiply(m601(1, 5), Derefof(Refof(s605)), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Multiply(m601(1, 6), Derefof(Refof(s605)), Local0)
+ m600(arg0, 45, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(Derefof(m602(1, 5, 1)), Derefof(Refof(s605)), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Multiply(Derefof(m602(1, 6, 1)), Derefof(Refof(s605)), Local0)
+ m600(arg0, 47, Local0, 0xfe7cb391d650a284)
+ }
+
+ // Conversion of the both operands
+
+ Store(Multiply(Derefof(Refof(s601)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 48, Local0, 0x442ddb4f924c7f04)
+
+ Store(Multiply(Derefof(Refof(s605)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 49, Local0, 0x442ddb4f924c7f04)
+
+ Multiply(Derefof(Refof(s601)), Derefof(Refof(s605)), Local0)
+ m600(arg0, 50, Local0, 0x442ddb4f924c7f04)
+
+ Multiply(Derefof(Refof(s605)), Derefof(Refof(s601)), Local0)
+ m600(arg0, 51, Local0, 0x442ddb4f924c7f04)
+ }
+
+ // Multiply, 32-bit
+ Method(m00f, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Multiply(Derefof(Refof(s604)), 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(s604)), 1), Local0)
+ m600(arg0, 1, Local0, 0xc179b3fe)
+
+ Store(Multiply(Derefof(Refof(s604)), aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(s604)), aui6), Local0)
+ m600(arg0, 3, Local0, 0xc179b3fe)
+
+ if (y078) {
+ Store(Multiply(Derefof(Refof(s604)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(s604)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xc179b3fe)
+ }
+
+ Store(Multiply(Derefof(Refof(s604)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(s604)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xc179b3fe)
+
+ // Method returns Integer
+
+ Store(Multiply(Derefof(Refof(s604)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(s604)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xc179b3fe)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(Derefof(Refof(s604)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(s604)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xc179b3fe)
+ }
+
+ Multiply(Derefof(Refof(s604)), 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ Multiply(Derefof(Refof(s604)), 1, Local0)
+ m600(arg0, 13, Local0, 0xc179b3fe)
+
+ Multiply(Derefof(Refof(s604)), aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ Multiply(Derefof(Refof(s604)), aui6, Local0)
+ m600(arg0, 15, Local0, 0xc179b3fe)
+
+ if (y078) {
+ Multiply(Derefof(Refof(s604)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ Multiply(Derefof(Refof(s604)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xc179b3fe)
+ }
+
+ Multiply(Derefof(Refof(s604)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ Multiply(Derefof(Refof(s604)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xc179b3fe)
+
+ // Method returns Integer
+
+ Multiply(Derefof(Refof(s604)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ Multiply(Derefof(Refof(s604)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xc179b3fe)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(Derefof(Refof(s604)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ Multiply(Derefof(Refof(s604)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xc179b3fe)
+ }
+
+ // Conversion of the second operand
+
+ Store(Multiply(0, Derefof(Refof(s604))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Multiply(1, Derefof(Refof(s604))), Local0)
+ m600(arg0, 25, Local0, 0xc179b3fe)
+
+ Store(Multiply(aui5, Derefof(Refof(s604))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Multiply(aui6, Derefof(Refof(s604))), Local0)
+ m600(arg0, 27, Local0, 0xc179b3fe)
+
+ if (y078) {
+ Store(Multiply(Derefof(Refof(aui5)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(aui6)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 29, Local0, 0xc179b3fe)
+ }
+
+ Store(Multiply(Derefof(Index(paui, 5)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Multiply(Derefof(Index(paui, 6)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 31, Local0, 0xc179b3fe)
+
+ // Method returns Integer
+
+ Store(Multiply(m601(1, 5), Derefof(Refof(s604))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Multiply(m601(1, 6), Derefof(Refof(s604))), Local0)
+ m600(arg0, 33, Local0, 0xc179b3fe)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(Derefof(m602(1, 5, 1)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Multiply(Derefof(m602(1, 6, 1)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 35, Local0, 0xc179b3fe)
+ }
+
+ Multiply(0, Derefof(Refof(s604)), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Multiply(1, Derefof(Refof(s604)), Local0)
+ m600(arg0, 37, Local0, 0xc179b3fe)
+
+ Multiply(aui5, Derefof(Refof(s604)), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Multiply(aui6, Derefof(Refof(s604)), Local0)
+ m600(arg0, 39, Local0, 0xc179b3fe)
+
+ if (y078) {
+ Multiply(Derefof(Refof(aui5)), Derefof(Refof(s604)), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Multiply(Derefof(Refof(aui6)), Derefof(Refof(s604)), Local0)
+ m600(arg0, 41, Local0, 0xc179b3fe)
+ }
+
+ Multiply(Derefof(Index(paui, 5)), Derefof(Refof(s604)), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Multiply(Derefof(Index(paui, 6)), Derefof(Refof(s604)), Local0)
+ m600(arg0, 43, Local0, 0xc179b3fe)
+
+ // Method returns Integer
+
+ Multiply(m601(1, 5), Derefof(Refof(s604)), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Multiply(m601(1, 6), Derefof(Refof(s604)), Local0)
+ m600(arg0, 45, Local0, 0xc179b3fe)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(Derefof(m602(1, 5, 1)), Derefof(Refof(s604)), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Multiply(Derefof(m602(1, 6, 1)), Derefof(Refof(s604)), Local0)
+ m600(arg0, 47, Local0, 0xc179b3fe)
+ }
+
+ // Conversion of the both operands
+
+ Store(Multiply(Derefof(Refof(s601)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 48, Local0, 0x5dcc2dbe)
+
+ Store(Multiply(Derefof(Refof(s604)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 49, Local0, 0x5dcc2dbe)
+
+ Multiply(Derefof(Refof(s601)), Derefof(Refof(s604)), Local0)
+ m600(arg0, 50, Local0, 0x5dcc2dbe)
+
+ Multiply(Derefof(Refof(s604)), Derefof(Refof(s601)), Local0)
+ m600(arg0, 51, Local0, 0x5dcc2dbe)
+ }
+
+ // NAnd, common 32-bit/64-bit test
+ Method(m010, 1)
+ {
+ // Conversion of the first operand
+
+ Store(NAnd(Derefof(Refof(s601)), 0), Local0)
+ m600(arg0, 0, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Refof(s601)), 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xfffffffffffffcde)
+
+ Store(NAnd(Derefof(Refof(s601)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Refof(s601)), auij), Local0)
+ m600(arg0, 3, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ Store(NAnd(Derefof(Refof(s601)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Refof(s601)), Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xfffffffffffffcde)
+ }
+
+ Store(NAnd(Derefof(Refof(s601)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Refof(s601)), Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ Store(NAnd(Derefof(Refof(s601)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Refof(s601)), m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(Derefof(Refof(s601)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Refof(s601)), Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfffffffffffffcde)
+ }
+
+ NAnd(Derefof(Refof(s601)), 0, Local0)
+ m600(arg0, 12, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Refof(s601)), 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xfffffffffffffcde)
+
+ NAnd(Derefof(Refof(s601)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Refof(s601)), auij, Local0)
+ m600(arg0, 15, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ NAnd(Derefof(Refof(s601)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Refof(s601)), Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xfffffffffffffcde)
+ }
+
+ NAnd(Derefof(Refof(s601)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Refof(s601)), Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ NAnd(Derefof(Refof(s601)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Refof(s601)), m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(Derefof(Refof(s601)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Refof(s601)), Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfffffffffffffcde)
+ }
+
+ // Conversion of the second operand
+
+ Store(NAnd(0, Derefof(Refof(s601))), Local0)
+ m600(arg0, 24, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(0xffffffffffffffff, Derefof(Refof(s601))), Local0)
+ m600(arg0, 25, Local0, 0xfffffffffffffcde)
+
+ Store(NAnd(aui5, Derefof(Refof(s601))), Local0)
+ m600(arg0, 26, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(auij, Derefof(Refof(s601))), Local0)
+ m600(arg0, 27, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ Store(NAnd(Derefof(Refof(aui5)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 28, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Refof(auij)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 29, Local0, 0xfffffffffffffcde)
+ }
+
+ Store(NAnd(Derefof(Index(paui, 5)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 30, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Index(paui, 19)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 31, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ Store(NAnd(m601(1, 5), Derefof(Refof(s601))), Local0)
+ m600(arg0, 32, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(m601(1, 19), Derefof(Refof(s601))), Local0)
+ m600(arg0, 33, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(Derefof(m602(1, 5, 1)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 34, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(m602(1, 19, 1)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 35, Local0, 0xfffffffffffffcde)
+ }
+
+ NAnd(0, Derefof(Refof(s601)), Local0)
+ m600(arg0, 36, Local0, 0xffffffffffffffff)
+
+ NAnd(0xffffffffffffffff, Derefof(Refof(s601)), Local0)
+ m600(arg0, 37, Local0, 0xfffffffffffffcde)
+
+ NAnd(aui5, Derefof(Refof(s601)), Local0)
+ m600(arg0, 38, Local0, 0xffffffffffffffff)
+
+ NAnd(auij, Derefof(Refof(s601)), Local0)
+ m600(arg0, 39, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ NAnd(Derefof(Refof(aui5)), Derefof(Refof(s601)), Local0)
+ m600(arg0, 40, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Refof(auij)), Derefof(Refof(s601)), Local0)
+ m600(arg0, 41, Local0, 0xfffffffffffffcde)
+ }
+
+ NAnd(Derefof(Index(paui, 5)), Derefof(Refof(s601)), Local0)
+ m600(arg0, 42, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Index(paui, 19)), Derefof(Refof(s601)), Local0)
+ m600(arg0, 43, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ NAnd(m601(1, 5), Derefof(Refof(s601)), Local0)
+ m600(arg0, 44, Local0, 0xffffffffffffffff)
+
+ NAnd(m601(1, 19), Derefof(Refof(s601)), Local0)
+ m600(arg0, 45, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(Derefof(m602(1, 5, 1)), Derefof(Refof(s601)), Local0)
+ m600(arg0, 46, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(m602(1, 19, 1)), Derefof(Refof(s601)), Local0)
+ m600(arg0, 47, Local0, 0xfffffffffffffcde)
+ }
+ }
+
+ // NAnd, 64-bit
+ Method(m011, 1)
+ {
+ // Conversion of the first operand
+
+ Store(NAnd(Derefof(Refof(s605)), 0), Local0)
+ m600(arg0, 0, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Refof(s605)), 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0x01834c6e29af5d7b)
+
+ Store(NAnd(Derefof(Refof(s605)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Refof(s605)), auij), Local0)
+ m600(arg0, 3, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ Store(NAnd(Derefof(Refof(s605)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Refof(s605)), Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Store(NAnd(Derefof(Refof(s605)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Refof(s605)), Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ Store(NAnd(Derefof(Refof(s605)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Refof(s605)), m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(Derefof(Refof(s605)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Refof(s605)), Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0x01834c6e29af5d7b)
+ }
+
+ NAnd(Derefof(Refof(s605)), 0, Local0)
+ m600(arg0, 12, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Refof(s605)), 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0x01834c6e29af5d7b)
+
+ NAnd(Derefof(Refof(s605)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Refof(s605)), auij, Local0)
+ m600(arg0, 15, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ NAnd(Derefof(Refof(s605)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Refof(s605)), Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0x01834c6e29af5d7b)
+ }
+
+ NAnd(Derefof(Refof(s605)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Refof(s605)), Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ NAnd(Derefof(Refof(s605)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Refof(s605)), m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(Derefof(Refof(s605)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Refof(s605)), Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0x01834c6e29af5d7b)
+ }
+
+ // Conversion of the second operand
+
+ Store(NAnd(0, Derefof(Refof(s605))), Local0)
+ m600(arg0, 24, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(0xffffffffffffffff, Derefof(Refof(s605))), Local0)
+ m600(arg0, 25, Local0, 0x01834c6e29af5d7b)
+
+ Store(NAnd(aui5, Derefof(Refof(s605))), Local0)
+ m600(arg0, 26, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(auij, Derefof(Refof(s605))), Local0)
+ m600(arg0, 27, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ Store(NAnd(Derefof(Refof(aui5)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 28, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Refof(auij)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 29, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Store(NAnd(Derefof(Index(paui, 5)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 30, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Index(paui, 19)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 31, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ Store(NAnd(m601(1, 5), Derefof(Refof(s605))), Local0)
+ m600(arg0, 32, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(m601(1, 19), Derefof(Refof(s605))), Local0)
+ m600(arg0, 33, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(Derefof(m602(1, 5, 1)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 34, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(m602(1, 19, 1)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 35, Local0, 0x01834c6e29af5d7b)
+ }
+
+ NAnd(0, Derefof(Refof(s605)), Local0)
+ m600(arg0, 36, Local0, 0xffffffffffffffff)
+
+ NAnd(0xffffffffffffffff, Derefof(Refof(s605)), Local0)
+ m600(arg0, 37, Local0, 0x01834c6e29af5d7b)
+
+ NAnd(aui5, Derefof(Refof(s605)), Local0)
+ m600(arg0, 38, Local0, 0xffffffffffffffff)
+
+ NAnd(auij, Derefof(Refof(s605)), Local0)
+ m600(arg0, 39, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ NAnd(Derefof(Refof(aui5)), Derefof(Refof(s605)), Local0)
+ m600(arg0, 40, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Refof(auij)), Derefof(Refof(s605)), Local0)
+ m600(arg0, 41, Local0, 0x01834c6e29af5d7b)
+ }
+
+ NAnd(Derefof(Index(paui, 5)), Derefof(Refof(s605)), Local0)
+ m600(arg0, 42, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Index(paui, 19)), Derefof(Refof(s605)), Local0)
+ m600(arg0, 43, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ NAnd(m601(1, 5), Derefof(Refof(s605)), Local0)
+ m600(arg0, 44, Local0, 0xffffffffffffffff)
+
+ NAnd(m601(1, 19), Derefof(Refof(s605)), Local0)
+ m600(arg0, 45, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(Derefof(m602(1, 5, 1)), Derefof(Refof(s605)), Local0)
+ m600(arg0, 46, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(m602(1, 19, 1)), Derefof(Refof(s605)), Local0)
+ m600(arg0, 47, Local0, 0x01834c6e29af5d7b)
+ }
+
+ // Conversion of the both operands
+
+ Store(NAnd(Derefof(Refof(s601)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 48, Local0, 0xfffffffffffffdff)
+
+ Store(NAnd(Derefof(Refof(s605)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 49, Local0, 0xfffffffffffffdff)
+
+ NAnd(Derefof(Refof(s601)), Derefof(Refof(s605)), Local0)
+ m600(arg0, 50, Local0, 0xfffffffffffffdff)
+
+ NAnd(Derefof(Refof(s605)), Derefof(Refof(s601)), Local0)
+ m600(arg0, 51, Local0, 0xfffffffffffffdff)
+ }
+
+ // NAnd, 32-bit
+ Method(m012, 1)
+ {
+ // Conversion of the first operand
+
+ Store(NAnd(Derefof(Refof(s604)), 0), Local0)
+ m600(arg0, 0, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(Refof(s604)), 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0x3e864c01)
+
+ Store(NAnd(Derefof(Refof(s604)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(Refof(s604)), auii), Local0)
+ m600(arg0, 3, Local0, 0x3e864c01)
+
+ if (y078) {
+ Store(NAnd(Derefof(Refof(s604)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(Refof(s604)), Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0x3e864c01)
+ }
+
+ Store(NAnd(Derefof(Refof(s604)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(Refof(s604)), Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0x3e864c01)
+
+ // Method returns Integer
+
+ Store(NAnd(Derefof(Refof(s604)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(Refof(s604)), m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0x3e864c01)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(Derefof(Refof(s604)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(Refof(s604)), Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0x3e864c01)
+ }
+
+ NAnd(Derefof(Refof(s604)), 0, Local0)
+ m600(arg0, 12, Local0, 0xffffffff)
+
+ NAnd(Derefof(Refof(s604)), 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0x3e864c01)
+
+ NAnd(Derefof(Refof(s604)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xffffffff)
+
+ NAnd(Derefof(Refof(s604)), auii, Local0)
+ m600(arg0, 15, Local0, 0x3e864c01)
+
+ if (y078) {
+ NAnd(Derefof(Refof(s604)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xffffffff)
+
+ NAnd(Derefof(Refof(s604)), Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0x3e864c01)
+ }
+
+ NAnd(Derefof(Refof(s604)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xffffffff)
+
+ NAnd(Derefof(Refof(s604)), Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0x3e864c01)
+
+ // Method returns Integer
+
+ NAnd(Derefof(Refof(s604)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xffffffff)
+
+ NAnd(Derefof(Refof(s604)), m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0x3e864c01)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(Derefof(Refof(s604)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xffffffff)
+
+ NAnd(Derefof(Refof(s604)), Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0x3e864c01)
+ }
+
+ // Conversion of the second operand
+
+ Store(NAnd(0, Derefof(Refof(s604))), Local0)
+ m600(arg0, 24, Local0, 0xffffffff)
+
+ Store(NAnd(0xffffffff, Derefof(Refof(s604))), Local0)
+ m600(arg0, 25, Local0, 0x3e864c01)
+
+ Store(NAnd(aui5, Derefof(Refof(s604))), Local0)
+ m600(arg0, 26, Local0, 0xffffffff)
+
+ Store(NAnd(auii, Derefof(Refof(s604))), Local0)
+ m600(arg0, 27, Local0, 0x3e864c01)
+
+ if (y078) {
+ Store(NAnd(Derefof(Refof(aui5)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 28, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(Refof(auii)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 29, Local0, 0x3e864c01)
+ }
+
+ Store(NAnd(Derefof(Index(paui, 5)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 30, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(Index(paui, 18)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 31, Local0, 0x3e864c01)
+
+ // Method returns Integer
+
+ Store(NAnd(m601(1, 5), Derefof(Refof(s604))), Local0)
+ m600(arg0, 32, Local0, 0xffffffff)
+
+ Store(NAnd(m601(1, 18), Derefof(Refof(s604))), Local0)
+ m600(arg0, 33, Local0, 0x3e864c01)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(Derefof(m602(1, 5, 1)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 34, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(m602(1, 18, 1)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 35, Local0, 0x3e864c01)
+ }
+
+ NAnd(0, Derefof(Refof(s604)), Local0)
+ m600(arg0, 36, Local0, 0xffffffff)
+
+ NAnd(0xffffffff, Derefof(Refof(s604)), Local0)
+ m600(arg0, 37, Local0, 0x3e864c01)
+
+ NAnd(aui5, Derefof(Refof(s604)), Local0)
+ m600(arg0, 38, Local0, 0xffffffff)
+
+ NAnd(auii, Derefof(Refof(s604)), Local0)
+ m600(arg0, 39, Local0, 0x3e864c01)
+
+ if (y078) {
+ NAnd(Derefof(Refof(aui5)), Derefof(Refof(s604)), Local0)
+ m600(arg0, 40, Local0, 0xffffffff)
+
+ NAnd(Derefof(Refof(auii)), Derefof(Refof(s604)), Local0)
+ m600(arg0, 41, Local0, 0x3e864c01)
+ }
+
+ NAnd(Derefof(Index(paui, 5)), Derefof(Refof(s604)), Local0)
+ m600(arg0, 42, Local0, 0xffffffff)
+
+ NAnd(Derefof(Index(paui, 18)), Derefof(Refof(s604)), Local0)
+ m600(arg0, 43, Local0, 0x3e864c01)
+
+ // Method returns Integer
+
+ NAnd(m601(1, 5), Derefof(Refof(s604)), Local0)
+ m600(arg0, 44, Local0, 0xffffffff)
+
+ NAnd(m601(1, 18), Derefof(Refof(s604)), Local0)
+ m600(arg0, 45, Local0, 0x3e864c01)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(Derefof(m602(1, 5, 1)), Derefof(Refof(s604)), Local0)
+ m600(arg0, 46, Local0, 0xffffffff)
+
+ NAnd(Derefof(m602(1, 18, 1)), Derefof(Refof(s604)), Local0)
+ m600(arg0, 47, Local0, 0x3e864c01)
+ }
+
+ // Conversion of the both operands
+
+ Store(NAnd(Derefof(Refof(s601)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 48, Local0, 0xfffffcdf)
+
+ Store(NAnd(Derefof(Refof(s604)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 49, Local0, 0xfffffcdf)
+
+ NAnd(Derefof(Refof(s601)), Derefof(Refof(s604)), Local0)
+ m600(arg0, 50, Local0, 0xfffffcdf)
+
+ NAnd(Derefof(Refof(s604)), Derefof(Refof(s601)), Local0)
+ m600(arg0, 51, Local0, 0xfffffcdf)
+ }
+
+ // NOr, common 32-bit/64-bit test
+ Method(m013, 1)
+ {
+ // Conversion of the first operand
+
+ Store(NOr(Derefof(Refof(s601)), 0), Local0)
+ m600(arg0, 0, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(Refof(s601)), 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0)
+
+ Store(NOr(Derefof(Refof(s601)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(Refof(s601)), auij), Local0)
+ m600(arg0, 3, Local0, 0)
+
+ if (y078) {
+ Store(NOr(Derefof(Refof(s601)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(Refof(s601)), Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0)
+ }
+
+ Store(NOr(Derefof(Refof(s601)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(Refof(s601)), Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(Derefof(Refof(s601)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(Refof(s601)), m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(Derefof(Refof(s601)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(Refof(s601)), Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0)
+ }
+
+ NOr(Derefof(Refof(s601)), 0, Local0)
+ m600(arg0, 12, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(Refof(s601)), 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0)
+
+ NOr(Derefof(Refof(s601)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(Refof(s601)), auij, Local0)
+ m600(arg0, 15, Local0, 0)
+
+ if (y078) {
+ NOr(Derefof(Refof(s601)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(Refof(s601)), Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0)
+ }
+
+ NOr(Derefof(Refof(s601)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(Refof(s601)), Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(Derefof(Refof(s601)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(Refof(s601)), m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(Derefof(Refof(s601)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(Refof(s601)), Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0)
+ }
+
+ // Conversion of the second operand
+
+ Store(NOr(0, Derefof(Refof(s601))), Local0)
+ m600(arg0, 24, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(0xffffffffffffffff, Derefof(Refof(s601))), Local0)
+ m600(arg0, 25, Local0, 0)
+
+ Store(NOr(aui5, Derefof(Refof(s601))), Local0)
+ m600(arg0, 26, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(auij, Derefof(Refof(s601))), Local0)
+ m600(arg0, 27, Local0, 0)
+
+ if (y078) {
+ Store(NOr(Derefof(Refof(aui5)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 28, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(Refof(auij)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 29, Local0, 0)
+ }
+
+ Store(NOr(Derefof(Index(paui, 5)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 30, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(Index(paui, 19)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 31, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(m601(1, 5), Derefof(Refof(s601))), Local0)
+ m600(arg0, 32, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(m601(1, 19), Derefof(Refof(s601))), Local0)
+ m600(arg0, 33, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(Derefof(m602(1, 5, 1)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 34, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(m602(1, 19, 1)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 35, Local0, 0)
+ }
+
+ NOr(0, Derefof(Refof(s601)), Local0)
+ m600(arg0, 36, Local0, 0xfffffffffffffcde)
+
+ NOr(0xffffffffffffffff, Derefof(Refof(s601)), Local0)
+ m600(arg0, 37, Local0, 0)
+
+ NOr(aui5, Derefof(Refof(s601)), Local0)
+ m600(arg0, 38, Local0, 0xfffffffffffffcde)
+
+ NOr(auij, Derefof(Refof(s601)), Local0)
+ m600(arg0, 39, Local0, 0)
+
+ if (y078) {
+ NOr(Derefof(Refof(aui5)), Derefof(Refof(s601)), Local0)
+ m600(arg0, 40, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(Refof(auij)), Derefof(Refof(s601)), Local0)
+ m600(arg0, 41, Local0, 0)
+ }
+
+ NOr(Derefof(Index(paui, 5)), Derefof(Refof(s601)), Local0)
+ m600(arg0, 42, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(Index(paui, 19)), Derefof(Refof(s601)), Local0)
+ m600(arg0, 43, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(m601(1, 5), Derefof(Refof(s601)), Local0)
+ m600(arg0, 44, Local0, 0xfffffffffffffcde)
+
+ NOr(m601(1, 19), Derefof(Refof(s601)), Local0)
+ m600(arg0, 45, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(Derefof(m602(1, 5, 1)), Derefof(Refof(s601)), Local0)
+ m600(arg0, 46, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(m602(1, 19, 1)), Derefof(Refof(s601)), Local0)
+ m600(arg0, 47, Local0, 0)
+ }
+ }
+
+ // NOr, 64-bit
+ Method(m014, 1)
+ {
+ // Conversion of the first operand
+
+ Store(NOr(Derefof(Refof(s605)), 0), Local0)
+ m600(arg0, 0, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(Refof(s605)), 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0)
+
+ Store(NOr(Derefof(Refof(s605)), aui5), Local0)
+ m600(arg0, 2, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(Refof(s605)), auij), Local0)
+ m600(arg0, 3, Local0, 0)
+
+ if (y078) {
+ Store(NOr(Derefof(Refof(s605)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(Refof(s605)), Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0)
+ }
+
+ Store(NOr(Derefof(Refof(s605)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(Refof(s605)), Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(Derefof(Refof(s605)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(Refof(s605)), m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(Derefof(Refof(s605)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(Refof(s605)), Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0)
+ }
+
+ NOr(Derefof(Refof(s605)), 0, Local0)
+ m600(arg0, 12, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(Refof(s605)), 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0)
+
+ NOr(Derefof(Refof(s605)), aui5, Local0)
+ m600(arg0, 14, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(Refof(s605)), auij, Local0)
+ m600(arg0, 15, Local0, 0)
+
+ if (y078) {
+ NOr(Derefof(Refof(s605)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(Refof(s605)), Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0)
+ }
+
+ NOr(Derefof(Refof(s605)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(Refof(s605)), Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(Derefof(Refof(s605)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(Refof(s605)), m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(Derefof(Refof(s605)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(Refof(s605)), Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0)
+ }
+
+ // Conversion of the second operand
+
+ Store(NOr(0, Derefof(Refof(s605))), Local0)
+ m600(arg0, 24, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(0xffffffffffffffff, Derefof(Refof(s605))), Local0)
+ m600(arg0, 25, Local0, 0)
+
+ Store(NOr(aui5, Derefof(Refof(s605))), Local0)
+ m600(arg0, 26, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(auij, Derefof(Refof(s605))), Local0)
+ m600(arg0, 27, Local0, 0)
+
+ if (y078) {
+ Store(NOr(Derefof(Refof(aui5)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 28, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(Refof(auij)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 29, Local0, 0)
+ }
+
+ Store(NOr(Derefof(Index(paui, 5)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 30, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(Index(paui, 19)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 31, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(m601(1, 5), Derefof(Refof(s605))), Local0)
+ m600(arg0, 32, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(m601(1, 19), Derefof(Refof(s605))), Local0)
+ m600(arg0, 33, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(Derefof(m602(1, 5, 1)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 34, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(m602(1, 19, 1)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 35, Local0, 0)
+ }
+
+ NOr(0, Derefof(Refof(s605)), Local0)
+ m600(arg0, 36, Local0, 0x01834c6e29af5d7b)
+
+ NOr(0xffffffffffffffff, Derefof(Refof(s605)), Local0)
+ m600(arg0, 37, Local0, 0)
+
+ NOr(aui5, Derefof(Refof(s605)), Local0)
+ m600(arg0, 38, Local0, 0x01834c6e29af5d7b)
+
+ NOr(auij, Derefof(Refof(s605)), Local0)
+ m600(arg0, 39, Local0, 0)
+
+ if (y078) {
+ NOr(Derefof(Refof(aui5)), Derefof(Refof(s605)), Local0)
+ m600(arg0, 40, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(Refof(auij)), Derefof(Refof(s605)), Local0)
+ m600(arg0, 41, Local0, 0)
+ }
+
+ NOr(Derefof(Index(paui, 5)), Derefof(Refof(s605)), Local0)
+ m600(arg0, 42, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(Index(paui, 19)), Derefof(Refof(s605)), Local0)
+ m600(arg0, 43, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(m601(1, 5), Derefof(Refof(s605)), Local0)
+ m600(arg0, 44, Local0, 0x01834c6e29af5d7b)
+
+ NOr(m601(1, 19), Derefof(Refof(s605)), Local0)
+ m600(arg0, 45, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(Derefof(m602(1, 5, 1)), Derefof(Refof(s605)), Local0)
+ m600(arg0, 46, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(m602(1, 19, 1)), Derefof(Refof(s605)), Local0)
+ m600(arg0, 47, Local0, 0)
+ }
+
+ // Conversion of the both operands
+
+ Store(NOr(Derefof(Refof(s601)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 48, Local0, 0x01834c6e29af5c5a)
+
+ Store(NOr(Derefof(Refof(s605)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 49, Local0, 0x01834c6e29af5c5a)
+
+ NOr(Derefof(Refof(s601)), Derefof(Refof(s605)), Local0)
+ m600(arg0, 50, Local0, 0x01834c6e29af5c5a)
+
+ NOr(Derefof(Refof(s605)), Derefof(Refof(s601)), Local0)
+ m600(arg0, 51, Local0, 0x01834c6e29af5c5a)
+ }
+
+ // NOr, 32-bit
+ Method(m015, 1)
+ {
+ // Conversion of the first operand
+
+ Store(NOr(Derefof(Refof(s604)), 0), Local0)
+ m600(arg0, 0, Local0, 0x3e864c01)
+
+ Store(NOr(Derefof(Refof(s604)), 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0)
+
+ Store(NOr(Derefof(Refof(s604)), aui5), Local0)
+ m600(arg0, 2, Local0, 0x3e864c01)
+
+ Store(NOr(Derefof(Refof(s604)), auii), Local0)
+ m600(arg0, 3, Local0, 0)
+
+ if (y078) {
+ Store(NOr(Derefof(Refof(s604)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x3e864c01)
+
+ Store(NOr(Derefof(Refof(s604)), Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0)
+ }
+
+ Store(NOr(Derefof(Refof(s604)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x3e864c01)
+
+ Store(NOr(Derefof(Refof(s604)), Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(Derefof(Refof(s604)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x3e864c01)
+
+ Store(NOr(Derefof(Refof(s604)), m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(Derefof(Refof(s604)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x3e864c01)
+
+ Store(NOr(Derefof(Refof(s604)), Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0)
+ }
+
+ NOr(Derefof(Refof(s604)), 0, Local0)
+ m600(arg0, 12, Local0, 0x3e864c01)
+
+ NOr(Derefof(Refof(s604)), 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0)
+
+ NOr(Derefof(Refof(s604)), aui5, Local0)
+ m600(arg0, 14, Local0, 0x3e864c01)
+
+ NOr(Derefof(Refof(s604)), auii, Local0)
+ m600(arg0, 15, Local0, 0)
+
+ if (y078) {
+ NOr(Derefof(Refof(s604)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x3e864c01)
+
+ NOr(Derefof(Refof(s604)), Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0)
+ }
+
+ NOr(Derefof(Refof(s604)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x3e864c01)
+
+ NOr(Derefof(Refof(s604)), Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(Derefof(Refof(s604)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x3e864c01)
+
+ NOr(Derefof(Refof(s604)), m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(Derefof(Refof(s604)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x3e864c01)
+
+ NOr(Derefof(Refof(s604)), Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0)
+ }
+
+ // Conversion of the second operand
+
+ Store(NOr(0, Derefof(Refof(s604))), Local0)
+ m600(arg0, 24, Local0, 0x3e864c01)
+
+ Store(NOr(0xffffffff, Derefof(Refof(s604))), Local0)
+ m600(arg0, 25, Local0, 0)
+
+ Store(NOr(aui5, Derefof(Refof(s604))), Local0)
+ m600(arg0, 26, Local0, 0x3e864c01)
+
+ Store(NOr(auii, Derefof(Refof(s604))), Local0)
+ m600(arg0, 27, Local0, 0)
+
+ if (y078) {
+ Store(NOr(Derefof(Refof(aui5)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 28, Local0, 0x3e864c01)
+
+ Store(NOr(Derefof(Refof(auii)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 29, Local0, 0)
+ }
+
+ Store(NOr(Derefof(Index(paui, 5)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 30, Local0, 0x3e864c01)
+
+ Store(NOr(Derefof(Index(paui, 18)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 31, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(m601(1, 5), Derefof(Refof(s604))), Local0)
+ m600(arg0, 32, Local0, 0x3e864c01)
+
+ Store(NOr(m601(1, 18), Derefof(Refof(s604))), Local0)
+ m600(arg0, 33, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(Derefof(m602(1, 5, 1)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 34, Local0, 0x3e864c01)
+
+ Store(NOr(Derefof(m602(1, 18, 1)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 35, Local0, 0)
+ }
+
+ NOr(0, Derefof(Refof(s604)), Local0)
+ m600(arg0, 36, Local0, 0x3e864c01)
+
+ NOr(0xffffffff, Derefof(Refof(s604)), Local0)
+ m600(arg0, 37, Local0, 0)
+
+ NOr(aui5, Derefof(Refof(s604)), Local0)
+ m600(arg0, 38, Local0, 0x3e864c01)
+
+ NOr(auii, Derefof(Refof(s604)), Local0)
+ m600(arg0, 39, Local0, 0)
+
+ if (y078) {
+ NOr(Derefof(Refof(aui5)), Derefof(Refof(s604)), Local0)
+ m600(arg0, 40, Local0, 0x3e864c01)
+
+ NOr(Derefof(Refof(auii)), Derefof(Refof(s604)), Local0)
+ m600(arg0, 41, Local0, 0)
+ }
+
+ NOr(Derefof(Index(paui, 5)), Derefof(Refof(s604)), Local0)
+ m600(arg0, 42, Local0, 0x3e864c01)
+
+ NOr(Derefof(Index(paui, 18)), Derefof(Refof(s604)), Local0)
+ m600(arg0, 43, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(m601(1, 5), Derefof(Refof(s604)), Local0)
+ m600(arg0, 44, Local0, 0x3e864c01)
+
+ NOr(m601(1, 18), Derefof(Refof(s604)), Local0)
+ m600(arg0, 45, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(Derefof(m602(1, 5, 1)), Derefof(Refof(s604)), Local0)
+ m600(arg0, 46, Local0, 0x3e864c01)
+
+ NOr(Derefof(m602(1, 18, 1)), Derefof(Refof(s604)), Local0)
+ m600(arg0, 47, Local0, 0)
+ }
+
+ // Conversion of the both operands
+
+ Store(NOr(Derefof(Refof(s601)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 48, Local0, 0x3e864c00)
+
+ Store(NOr(Derefof(Refof(s604)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 49, Local0, 0x3e864c00)
+
+ NOr(Derefof(Refof(s601)), Derefof(Refof(s604)), Local0)
+ m600(arg0, 50, Local0, 0x3e864c00)
+
+ NOr(Derefof(Refof(s604)), Derefof(Refof(s601)), Local0)
+ m600(arg0, 51, Local0, 0x3e864c00)
+ }
+
+ // Or, common 32-bit/64-bit test
+ Method(m016, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Or(Derefof(Refof(s601)), 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Or(Derefof(Refof(s601)), 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xffffffffffffffff)
+
+ Store(Or(Derefof(Refof(s601)), aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Or(Derefof(Refof(s601)), auij), Local0)
+ m600(arg0, 3, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Store(Or(Derefof(Refof(s601)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Or(Derefof(Refof(s601)), Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xffffffffffffffff)
+ }
+
+ Store(Or(Derefof(Refof(s601)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Or(Derefof(Refof(s601)), Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Store(Or(Derefof(Refof(s601)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Or(Derefof(Refof(s601)), m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(Derefof(Refof(s601)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Or(Derefof(Refof(s601)), Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xffffffffffffffff)
+ }
+
+ Or(Derefof(Refof(s601)), 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Or(Derefof(Refof(s601)), 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xffffffffffffffff)
+
+ Or(Derefof(Refof(s601)), aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Or(Derefof(Refof(s601)), auij, Local0)
+ m600(arg0, 15, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Or(Derefof(Refof(s601)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Or(Derefof(Refof(s601)), Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xffffffffffffffff)
+ }
+
+ Or(Derefof(Refof(s601)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Or(Derefof(Refof(s601)), Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Or(Derefof(Refof(s601)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Or(Derefof(Refof(s601)), m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(Derefof(Refof(s601)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Or(Derefof(Refof(s601)), Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xffffffffffffffff)
+ }
+
+ // Conversion of the second operand
+
+ Store(Or(0, Derefof(Refof(s601))), Local0)
+ m600(arg0, 24, Local0, 0x321)
+
+ Store(Or(0xffffffffffffffff, Derefof(Refof(s601))), Local0)
+ m600(arg0, 25, Local0, 0xffffffffffffffff)
+
+ Store(Or(aui5, Derefof(Refof(s601))), Local0)
+ m600(arg0, 26, Local0, 0x321)
+
+ Store(Or(auij, Derefof(Refof(s601))), Local0)
+ m600(arg0, 27, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Store(Or(Derefof(Refof(aui5)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 28, Local0, 0x321)
+
+ Store(Or(Derefof(Refof(auij)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 29, Local0, 0xffffffffffffffff)
+ }
+
+ Store(Or(Derefof(Index(paui, 5)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 30, Local0, 0x321)
+
+ Store(Or(Derefof(Index(paui, 19)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 31, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Store(Or(m601(1, 5), Derefof(Refof(s601))), Local0)
+ m600(arg0, 32, Local0, 0x321)
+
+ Store(Or(m601(1, 19), Derefof(Refof(s601))), Local0)
+ m600(arg0, 33, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(Derefof(m602(1, 5, 1)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 34, Local0, 0x321)
+
+ Store(Or(Derefof(m602(1, 19, 1)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 35, Local0, 0xffffffffffffffff)
+ }
+
+ Or(0, Derefof(Refof(s601)), Local0)
+ m600(arg0, 36, Local0, 0x321)
+
+ Or(0xffffffffffffffff, Derefof(Refof(s601)), Local0)
+ m600(arg0, 37, Local0, 0xffffffffffffffff)
+
+ Or(aui5, Derefof(Refof(s601)), Local0)
+ m600(arg0, 38, Local0, 0x321)
+
+ Or(auij, Derefof(Refof(s601)), Local0)
+ m600(arg0, 39, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Or(Derefof(Refof(aui5)), Derefof(Refof(s601)), Local0)
+ m600(arg0, 40, Local0, 0x321)
+
+ Or(Derefof(Refof(auij)), Derefof(Refof(s601)), Local0)
+ m600(arg0, 41, Local0, 0xffffffffffffffff)
+ }
+
+ Or(Derefof(Index(paui, 5)), Derefof(Refof(s601)), Local0)
+ m600(arg0, 42, Local0, 0x321)
+
+ Or(Derefof(Index(paui, 19)), Derefof(Refof(s601)), Local0)
+ m600(arg0, 43, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Or(m601(1, 5), Derefof(Refof(s601)), Local0)
+ m600(arg0, 44, Local0, 0x321)
+
+ Or(m601(1, 19), Derefof(Refof(s601)), Local0)
+ m600(arg0, 45, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(Derefof(m602(1, 5, 1)), Derefof(Refof(s601)), Local0)
+ m600(arg0, 46, Local0, 0x321)
+
+ Or(Derefof(m602(1, 19, 1)), Derefof(Refof(s601)), Local0)
+ m600(arg0, 47, Local0, 0xffffffffffffffff)
+ }
+ }
+
+ // Or, 64-bit
+ Method(m017, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Or(Derefof(Refof(s605)), 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(Refof(s605)), 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xffffffffffffffff)
+
+ Store(Or(Derefof(Refof(s605)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(Refof(s605)), auij), Local0)
+ m600(arg0, 3, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Store(Or(Derefof(Refof(s605)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(Refof(s605)), Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xffffffffffffffff)
+ }
+
+ Store(Or(Derefof(Refof(s605)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(Refof(s605)), Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Store(Or(Derefof(Refof(s605)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(Refof(s605)), m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(Derefof(Refof(s605)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(Refof(s605)), Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xffffffffffffffff)
+ }
+
+ Or(Derefof(Refof(s605)), 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(Refof(s605)), 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xffffffffffffffff)
+
+ Or(Derefof(Refof(s605)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(Refof(s605)), auij, Local0)
+ m600(arg0, 15, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Or(Derefof(Refof(s605)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(Refof(s605)), Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xffffffffffffffff)
+ }
+
+ Or(Derefof(Refof(s605)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(Refof(s605)), Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Or(Derefof(Refof(s605)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(Refof(s605)), m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(Derefof(Refof(s605)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(Refof(s605)), Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xffffffffffffffff)
+ }
+
+ // Conversion of the second operand
+
+ Store(Or(0, Derefof(Refof(s605))), Local0)
+ m600(arg0, 24, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(0xffffffffffffffff, Derefof(Refof(s605))), Local0)
+ m600(arg0, 25, Local0, 0xffffffffffffffff)
+
+ Store(Or(aui5, Derefof(Refof(s605))), Local0)
+ m600(arg0, 26, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(auij, Derefof(Refof(s605))), Local0)
+ m600(arg0, 27, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Store(Or(Derefof(Refof(aui5)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 28, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(Refof(auij)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 29, Local0, 0xffffffffffffffff)
+ }
+
+ Store(Or(Derefof(Index(paui, 5)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 30, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(Index(paui, 19)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 31, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Store(Or(m601(1, 5), Derefof(Refof(s605))), Local0)
+ m600(arg0, 32, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(m601(1, 19), Derefof(Refof(s605))), Local0)
+ m600(arg0, 33, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(Derefof(m602(1, 5, 1)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 34, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(m602(1, 19, 1)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 35, Local0, 0xffffffffffffffff)
+ }
+
+ Or(0, Derefof(Refof(s605)), Local0)
+ m600(arg0, 36, Local0, 0xfe7cb391d650a284)
+
+ Or(0xffffffffffffffff, Derefof(Refof(s605)), Local0)
+ m600(arg0, 37, Local0, 0xffffffffffffffff)
+
+ Or(aui5, Derefof(Refof(s605)), Local0)
+ m600(arg0, 38, Local0, 0xfe7cb391d650a284)
+
+ Or(auij, Derefof(Refof(s605)), Local0)
+ m600(arg0, 39, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Or(Derefof(Refof(aui5)), Derefof(Refof(s605)), Local0)
+ m600(arg0, 40, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(Refof(auij)), Derefof(Refof(s605)), Local0)
+ m600(arg0, 41, Local0, 0xffffffffffffffff)
+ }
+
+ Or(Derefof(Index(paui, 5)), Derefof(Refof(s605)), Local0)
+ m600(arg0, 42, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(Index(paui, 19)), Derefof(Refof(s605)), Local0)
+ m600(arg0, 43, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Or(m601(1, 5), Derefof(Refof(s605)), Local0)
+ m600(arg0, 44, Local0, 0xfe7cb391d650a284)
+
+ Or(m601(1, 19), Derefof(Refof(s605)), Local0)
+ m600(arg0, 45, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(Derefof(m602(1, 5, 1)), Derefof(Refof(s605)), Local0)
+ m600(arg0, 46, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(m602(1, 19, 1)), Derefof(Refof(s605)), Local0)
+ m600(arg0, 47, Local0, 0xffffffffffffffff)
+ }
+
+ // Conversion of the both operands
+
+ Store(Or(Derefof(Refof(s601)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 48, Local0, 0xfe7cb391d650a3a5)
+
+ Store(Or(Derefof(Refof(s605)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 49, Local0, 0xfe7cb391d650a3a5)
+
+ Or(Derefof(Refof(s601)), Derefof(Refof(s605)), Local0)
+ m600(arg0, 50, Local0, 0xfe7cb391d650a3a5)
+
+ Or(Derefof(Refof(s605)), Derefof(Refof(s601)), Local0)
+ m600(arg0, 51, Local0, 0xfe7cb391d650a3a5)
+ }
+
+ // Or, 32-bit
+ Method(m018, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Or(Derefof(Refof(s604)), 0), Local0)
+ m600(arg0, 0, Local0, 0xc179b3fe)
+
+ Store(Or(Derefof(Refof(s604)), 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0xffffffff)
+
+ Store(Or(Derefof(Refof(s604)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xc179b3fe)
+
+ Store(Or(Derefof(Refof(s604)), auii), Local0)
+ m600(arg0, 3, Local0, 0xffffffff)
+
+ if (y078) {
+ Store(Or(Derefof(Refof(s604)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xc179b3fe)
+
+ Store(Or(Derefof(Refof(s604)), Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0xffffffff)
+ }
+
+ Store(Or(Derefof(Refof(s604)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xc179b3fe)
+
+ Store(Or(Derefof(Refof(s604)), Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0xffffffff)
+
+ // Method returns Integer
+
+ Store(Or(Derefof(Refof(s604)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xc179b3fe)
+
+ Store(Or(Derefof(Refof(s604)), m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0xffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(Derefof(Refof(s604)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xc179b3fe)
+
+ Store(Or(Derefof(Refof(s604)), Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0xffffffff)
+ }
+
+ Or(Derefof(Refof(s604)), 0, Local0)
+ m600(arg0, 12, Local0, 0xc179b3fe)
+
+ Or(Derefof(Refof(s604)), 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0xffffffff)
+
+ Or(Derefof(Refof(s604)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xc179b3fe)
+
+ Or(Derefof(Refof(s604)), auii, Local0)
+ m600(arg0, 15, Local0, 0xffffffff)
+
+ if (y078) {
+ Or(Derefof(Refof(s604)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xc179b3fe)
+
+ Or(Derefof(Refof(s604)), Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0xffffffff)
+ }
+
+ Or(Derefof(Refof(s604)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xc179b3fe)
+
+ Or(Derefof(Refof(s604)), Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0xffffffff)
+
+ // Method returns Integer
+
+ Or(Derefof(Refof(s604)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xc179b3fe)
+
+ Or(Derefof(Refof(s604)), m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0xffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(Derefof(Refof(s604)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xc179b3fe)
+
+ Or(Derefof(Refof(s604)), Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0xffffffff)
+ }
+
+ // Conversion of the second operand
+
+ Store(Or(0, Derefof(Refof(s604))), Local0)
+ m600(arg0, 24, Local0, 0xc179b3fe)
+
+ Store(Or(0xffffffff, Derefof(Refof(s604))), Local0)
+ m600(arg0, 25, Local0, 0xffffffff)
+
+ Store(Or(aui5, Derefof(Refof(s604))), Local0)
+ m600(arg0, 26, Local0, 0xc179b3fe)
+
+ Store(Or(auii, Derefof(Refof(s604))), Local0)
+ m600(arg0, 27, Local0, 0xffffffff)
+
+ if (y078) {
+ Store(Or(Derefof(Refof(aui5)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 28, Local0, 0xc179b3fe)
+
+ Store(Or(Derefof(Refof(auii)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 29, Local0, 0xffffffff)
+ }
+
+ Store(Or(Derefof(Index(paui, 5)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 30, Local0, 0xc179b3fe)
+
+ Store(Or(Derefof(Index(paui, 18)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 31, Local0, 0xffffffff)
+
+ // Method returns Integer
+
+ Store(Or(m601(1, 5), Derefof(Refof(s604))), Local0)
+ m600(arg0, 32, Local0, 0xc179b3fe)
+
+ Store(Or(m601(1, 18), Derefof(Refof(s604))), Local0)
+ m600(arg0, 33, Local0, 0xffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(Derefof(m602(1, 5, 1)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 34, Local0, 0xc179b3fe)
+
+ Store(Or(Derefof(m602(1, 18, 1)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 35, Local0, 0xffffffff)
+ }
+
+ Or(0, Derefof(Refof(s604)), Local0)
+ m600(arg0, 36, Local0, 0xc179b3fe)
+
+ Or(0xffffffff, Derefof(Refof(s604)), Local0)
+ m600(arg0, 37, Local0, 0xffffffff)
+
+ Or(aui5, Derefof(Refof(s604)), Local0)
+ m600(arg0, 38, Local0, 0xc179b3fe)
+
+ Or(auii, Derefof(Refof(s604)), Local0)
+ m600(arg0, 39, Local0, 0xffffffff)
+
+ if (y078) {
+ Or(Derefof(Refof(aui5)), Derefof(Refof(s604)), Local0)
+ m600(arg0, 40, Local0, 0xc179b3fe)
+
+ Or(Derefof(Refof(auii)), Derefof(Refof(s604)), Local0)
+ m600(arg0, 41, Local0, 0xffffffff)
+ }
+
+ Or(Derefof(Index(paui, 5)), Derefof(Refof(s604)), Local0)
+ m600(arg0, 42, Local0, 0xc179b3fe)
+
+ Or(Derefof(Index(paui, 18)), Derefof(Refof(s604)), Local0)
+ m600(arg0, 43, Local0, 0xffffffff)
+
+ // Method returns Integer
+
+ Or(m601(1, 5), Derefof(Refof(s604)), Local0)
+ m600(arg0, 44, Local0, 0xc179b3fe)
+
+ Or(m601(1, 18), Derefof(Refof(s604)), Local0)
+ m600(arg0, 45, Local0, 0xffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(Derefof(m602(1, 5, 1)), Derefof(Refof(s604)), Local0)
+ m600(arg0, 46, Local0, 0xc179b3fe)
+
+ Or(Derefof(m602(1, 18, 1)), Derefof(Refof(s604)), Local0)
+ m600(arg0, 47, Local0, 0xffffffff)
+ }
+
+ // Conversion of the both operands
+
+ Store(Or(Derefof(Refof(s601)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 48, Local0, 0xc179b3ff)
+
+ Store(Or(Derefof(Refof(s604)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 49, Local0, 0xc179b3ff)
+
+ Or(Derefof(Refof(s601)), Derefof(Refof(s604)), Local0)
+ m600(arg0, 50, Local0, 0xc179b3ff)
+
+ Or(Derefof(Refof(s604)), Derefof(Refof(s601)), Local0)
+ m600(arg0, 51, Local0, 0xc179b3ff)
+ }
+
+ // ShiftLeft, common 32-bit/64-bit test
+ Method(m019, 1)
+ {
+ // Conversion of the first operand
+
+ Store(ShiftLeft(Derefof(Refof(s601)), 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(ShiftLeft(Derefof(Refof(s601)), 1), Local0)
+ m600(arg0, 1, Local0, 0x642)
+
+ Store(ShiftLeft(Derefof(Refof(s601)), aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(ShiftLeft(Derefof(Refof(s601)), aui6), Local0)
+ m600(arg0, 3, Local0, 0x642)
+
+ if (y078) {
+ Store(ShiftLeft(Derefof(Refof(s601)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(ShiftLeft(Derefof(Refof(s601)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x642)
+ }
+
+ Store(ShiftLeft(Derefof(Refof(s601)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(ShiftLeft(Derefof(Refof(s601)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x642)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(Derefof(Refof(s601)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(ShiftLeft(Derefof(Refof(s601)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x642)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(Derefof(Refof(s601)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(ShiftLeft(Derefof(Refof(s601)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x642)
+ }
+
+ ShiftLeft(Derefof(Refof(s601)), 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ ShiftLeft(Derefof(Refof(s601)), 1, Local0)
+ m600(arg0, 13, Local0, 0x642)
+
+ ShiftLeft(Derefof(Refof(s601)), aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ ShiftLeft(Derefof(Refof(s601)), aui6, Local0)
+ m600(arg0, 15, Local0, 0x642)
+
+ if (y078) {
+ ShiftLeft(Derefof(Refof(s601)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ ShiftLeft(Derefof(Refof(s601)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x642)
+ }
+
+ ShiftLeft(Derefof(Refof(s601)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ ShiftLeft(Derefof(Refof(s601)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x642)
+
+ // Method returns Integer
+
+ ShiftLeft(Derefof(Refof(s601)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ ShiftLeft(Derefof(Refof(s601)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x642)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(Derefof(Refof(s601)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ ShiftLeft(Derefof(Refof(s601)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x642)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftLeft(0, Derefof(Refof(s614))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftLeft(1, Derefof(Refof(s614))), Local0)
+ m600(arg0, 25, Local0, 0x800)
+
+ Store(ShiftLeft(aui5, Derefof(Refof(s614))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftLeft(aui6, Derefof(Refof(s614))), Local0)
+ m600(arg0, 27, Local0, 0x800)
+
+ if (y078) {
+ Store(ShiftLeft(Derefof(Refof(aui5)), Derefof(Refof(s614))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Refof(aui6)), Derefof(Refof(s614))), Local0)
+ m600(arg0, 29, Local0, 0x800)
+ }
+
+ Store(ShiftLeft(Derefof(Index(paui, 5)), Derefof(Refof(s614))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Index(paui, 6)), Derefof(Refof(s614))), Local0)
+ m600(arg0, 31, Local0, 0x800)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(m601(1, 5), Derefof(Refof(s614))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftLeft(m601(1, 6), Derefof(Refof(s614))), Local0)
+ m600(arg0, 33, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(Derefof(m602(1, 5, 1)), Derefof(Refof(s614))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftLeft(Derefof(m602(1, 6, 1)), Derefof(Refof(s614))), Local0)
+ m600(arg0, 35, Local0, 0x800)
+ }
+
+ ShiftLeft(0, Derefof(Refof(s614)), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftLeft(1, Derefof(Refof(s614)), Local0)
+ m600(arg0, 37, Local0, 0x800)
+
+ ShiftLeft(aui5, Derefof(Refof(s614)), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftLeft(aui6, Derefof(Refof(s614)), Local0)
+ m600(arg0, 39, Local0, 0x800)
+
+ if (y078) {
+ ShiftLeft(Derefof(Refof(aui5)), Derefof(Refof(s614)), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftLeft(Derefof(Refof(aui6)), Derefof(Refof(s614)), Local0)
+ m600(arg0, 41, Local0, 0x800)
+ }
+
+ ShiftLeft(Derefof(Index(paui, 5)), Derefof(Refof(s614)), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftLeft(Derefof(Index(paui, 6)), Derefof(Refof(s614)), Local0)
+ m600(arg0, 43, Local0, 0x800)
+
+ // Method returns Integer
+
+ ShiftLeft(m601(1, 5), Derefof(Refof(s614)), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftLeft(m601(1, 6), Derefof(Refof(s614)), Local0)
+ m600(arg0, 45, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(Derefof(m602(1, 5, 1)), Derefof(Refof(s614)), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftLeft(Derefof(m602(1, 6, 1)), Derefof(Refof(s614)), Local0)
+ m600(arg0, 47, Local0, 0x800)
+ }
+ }
+
+ // ShiftLeft, 64-bit
+ Method(m01a, 1)
+ {
+ // Conversion of the first operand
+
+ Store(ShiftLeft(Derefof(Refof(s605)), 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(Derefof(Refof(s605)), 1), Local0)
+ m600(arg0, 1, Local0, 0xfcf96723aca14508)
+
+ Store(ShiftLeft(Derefof(Refof(s605)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(Derefof(Refof(s605)), aui6), Local0)
+ m600(arg0, 3, Local0, 0xfcf96723aca14508)
+
+ if (y078) {
+ Store(ShiftLeft(Derefof(Refof(s605)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(Derefof(Refof(s605)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xfcf96723aca14508)
+ }
+
+ Store(ShiftLeft(Derefof(Refof(s605)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(Derefof(Refof(s605)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xfcf96723aca14508)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(Derefof(Refof(s605)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(Derefof(Refof(s605)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xfcf96723aca14508)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(Derefof(Refof(s605)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(Derefof(Refof(s605)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfcf96723aca14508)
+ }
+
+ ShiftLeft(Derefof(Refof(s605)), 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(Derefof(Refof(s605)), 1, Local0)
+ m600(arg0, 13, Local0, 0xfcf96723aca14508)
+
+ ShiftLeft(Derefof(Refof(s605)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(Derefof(Refof(s605)), aui6, Local0)
+ m600(arg0, 15, Local0, 0xfcf96723aca14508)
+
+ if (y078) {
+ ShiftLeft(Derefof(Refof(s605)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(Derefof(Refof(s605)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xfcf96723aca14508)
+ }
+
+ ShiftLeft(Derefof(Refof(s605)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(Derefof(Refof(s605)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xfcf96723aca14508)
+
+ // Method returns Integer
+
+ ShiftLeft(Derefof(Refof(s605)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(Derefof(Refof(s605)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xfcf96723aca14508)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(Derefof(Refof(s605)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(Derefof(Refof(s605)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfcf96723aca14508)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftLeft(0, Derefof(Refof(s614))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftLeft(1, Derefof(Refof(s614))), Local0)
+ m600(arg0, 25, Local0, 0x800)
+
+ Store(ShiftLeft(aui5, Derefof(Refof(s614))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftLeft(aui6, Derefof(Refof(s614))), Local0)
+ m600(arg0, 27, Local0, 0x800)
+
+ if (y078) {
+ Store(ShiftLeft(Derefof(Refof(aui5)), Derefof(Refof(s614))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Refof(aui6)), Derefof(Refof(s614))), Local0)
+ m600(arg0, 29, Local0, 0x800)
+ }
+
+ Store(ShiftLeft(Derefof(Index(paui, 5)), Derefof(Refof(s614))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Index(paui, 6)), Derefof(Refof(s614))), Local0)
+ m600(arg0, 31, Local0, 0x800)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(m601(1, 5), Derefof(Refof(s614))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftLeft(m601(1, 6), Derefof(Refof(s614))), Local0)
+ m600(arg0, 33, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(Derefof(m602(1, 5, 1)), Derefof(Refof(s614))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftLeft(Derefof(m602(1, 6, 1)), Derefof(Refof(s614))), Local0)
+ m600(arg0, 35, Local0, 0x800)
+ }
+
+ ShiftLeft(0, Derefof(Refof(s614)), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftLeft(1, Derefof(Refof(s614)), Local0)
+ m600(arg0, 37, Local0, 0x800)
+
+ ShiftLeft(aui5, Derefof(Refof(s614)), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftLeft(aui6, Derefof(Refof(s614)), Local0)
+ m600(arg0, 39, Local0, 0x800)
+
+ if (y078) {
+ ShiftLeft(Derefof(Refof(aui5)), Derefof(Refof(s614)), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftLeft(Derefof(Refof(aui6)), Derefof(Refof(s614)), Local0)
+ m600(arg0, 41, Local0, 0x800)
+ }
+
+ ShiftLeft(Derefof(Index(paui, 5)), Derefof(Refof(s614)), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftLeft(Derefof(Index(paui, 6)), Derefof(Refof(s614)), Local0)
+ m600(arg0, 43, Local0, 0x800)
+
+ // Method returns Integer
+
+ ShiftLeft(m601(1, 5), Derefof(Refof(s614)), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftLeft(m601(1, 6), Derefof(Refof(s614)), Local0)
+ m600(arg0, 45, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(Derefof(m602(1, 5, 1)), Derefof(Refof(s614)), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftLeft(Derefof(m602(1, 6, 1)), Derefof(Refof(s614)), Local0)
+ m600(arg0, 47, Local0, 0x800)
+ }
+
+ // Conversion of the both operands
+
+ Store(ShiftLeft(Derefof(Refof(s601)), Derefof(Refof(s614))), Local0)
+ m600(arg0, 48, Local0, 0x190800)
+
+ Store(ShiftLeft(Derefof(Refof(s605)), Derefof(Refof(s614))), Local0)
+ m600(arg0, 49, Local0, 0xE59C8EB285142000)
+
+ ShiftLeft(Derefof(Refof(s601)), Derefof(Refof(s614)), Local0)
+ m600(arg0, 50, Local0, 0x190800)
+
+ ShiftLeft(Derefof(Refof(s605)), Derefof(Refof(s614)), Local0)
+ m600(arg0, 51, Local0, 0xE59C8EB285142000)
+ }
+
+ // ShiftLeft, 32-bit
+ Method(m01b, 1)
+ {
+ // Conversion of the first operand
+
+ Store(ShiftLeft(Derefof(Refof(s604)), 0), Local0)
+ m600(arg0, 0, Local0, 0xc179b3fe)
+
+ Store(ShiftLeft(Derefof(Refof(s604)), 1), Local0)
+ m600(arg0, 1, Local0, 0x82f367fc)
+
+ Store(ShiftLeft(Derefof(Refof(s604)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xc179b3fe)
+
+ Store(ShiftLeft(Derefof(Refof(s604)), aui6), Local0)
+ m600(arg0, 3, Local0, 0x82f367fc)
+
+ if (y078) {
+ Store(ShiftLeft(Derefof(Refof(s604)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xc179b3fe)
+
+ Store(ShiftLeft(Derefof(Refof(s604)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x82f367fc)
+ }
+
+ Store(ShiftLeft(Derefof(Refof(s604)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xc179b3fe)
+
+ Store(ShiftLeft(Derefof(Refof(s604)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x82f367fc)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(Derefof(Refof(s604)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xc179b3fe)
+
+ Store(ShiftLeft(Derefof(Refof(s604)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x82f367fc)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(Derefof(Refof(s604)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xc179b3fe)
+
+ Store(ShiftLeft(Derefof(Refof(s604)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x82f367fc)
+ }
+
+ ShiftLeft(Derefof(Refof(s604)), 0, Local0)
+ m600(arg0, 12, Local0, 0xc179b3fe)
+
+ ShiftLeft(Derefof(Refof(s604)), 1, Local0)
+ m600(arg0, 13, Local0, 0x82f367fc)
+
+ ShiftLeft(Derefof(Refof(s604)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xc179b3fe)
+
+ ShiftLeft(Derefof(Refof(s604)), aui6, Local0)
+ m600(arg0, 15, Local0, 0x82f367fc)
+
+ if (y078) {
+ ShiftLeft(Derefof(Refof(s604)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xc179b3fe)
+
+ ShiftLeft(Derefof(Refof(s604)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x82f367fc)
+ }
+
+ ShiftLeft(Derefof(Refof(s604)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xc179b3fe)
+
+ ShiftLeft(Derefof(Refof(s604)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x82f367fc)
+
+ // Method returns Integer
+
+ ShiftLeft(Derefof(Refof(s604)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xc179b3fe)
+
+ ShiftLeft(Derefof(Refof(s604)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x82f367fc)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(Derefof(Refof(s604)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xc179b3fe)
+
+ ShiftLeft(Derefof(Refof(s604)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x82f367fc)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftLeft(0, Derefof(Refof(s614))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftLeft(1, Derefof(Refof(s614))), Local0)
+ m600(arg0, 25, Local0, 0x800)
+
+ Store(ShiftLeft(aui5, Derefof(Refof(s614))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftLeft(aui6, Derefof(Refof(s614))), Local0)
+ m600(arg0, 27, Local0, 0x800)
+
+ if (y078) {
+ Store(ShiftLeft(Derefof(Refof(aui5)), Derefof(Refof(s614))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Refof(aui6)), Derefof(Refof(s614))), Local0)
+ m600(arg0, 29, Local0, 0x800)
+ }
+
+ Store(ShiftLeft(Derefof(Index(paui, 5)), Derefof(Refof(s614))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Index(paui, 6)), Derefof(Refof(s614))), Local0)
+ m600(arg0, 31, Local0, 0x800)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(m601(1, 5), Derefof(Refof(s614))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftLeft(m601(1, 6), Derefof(Refof(s614))), Local0)
+ m600(arg0, 33, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(Derefof(m602(1, 5, 1)), Derefof(Refof(s614))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftLeft(Derefof(m602(1, 6, 1)), Derefof(Refof(s614))), Local0)
+ m600(arg0, 35, Local0, 0x800)
+ }
+
+ ShiftLeft(0, Derefof(Refof(s614)), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftLeft(1, Derefof(Refof(s614)), Local0)
+ m600(arg0, 37, Local0, 0x800)
+
+ ShiftLeft(aui5, Derefof(Refof(s614)), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftLeft(aui6, Derefof(Refof(s614)), Local0)
+ m600(arg0, 39, Local0, 0x800)
+
+ if (y078) {
+ ShiftLeft(Derefof(Refof(aui5)), Derefof(Refof(s614)), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftLeft(Derefof(Refof(aui6)), Derefof(Refof(s614)), Local0)
+ m600(arg0, 41, Local0, 0x800)
+ }
+
+ ShiftLeft(Derefof(Index(paui, 5)), Derefof(Refof(s614)), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftLeft(Derefof(Index(paui, 6)), Derefof(Refof(s614)), Local0)
+ m600(arg0, 43, Local0, 0x800)
+
+ // Method returns Integer
+
+ ShiftLeft(m601(1, 5), Derefof(Refof(s614)), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftLeft(m601(1, 6), Derefof(Refof(s614)), Local0)
+ m600(arg0, 45, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(Derefof(m602(1, 5, 1)), Derefof(Refof(s614)), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftLeft(Derefof(m602(1, 6, 1)), Derefof(Refof(s614)), Local0)
+ m600(arg0, 47, Local0, 0x800)
+ }
+
+ // Conversion of the both operands
+
+ Store(ShiftLeft(Derefof(Refof(s601)), Derefof(Refof(s614))), Local0)
+ m600(arg0, 48, Local0, 0x190800)
+
+ Store(ShiftLeft(Derefof(Refof(s604)), Derefof(Refof(s614))), Local0)
+ m600(arg0, 49, Local0, 0xcd9ff000)
+
+ ShiftLeft(Derefof(Refof(s601)), Derefof(Refof(s614)), Local0)
+ m600(arg0, 50, Local0, 0x190800)
+
+ ShiftLeft(Derefof(Refof(s604)), Derefof(Refof(s614)), Local0)
+ m600(arg0, 51, Local0, 0xcd9ff000)
+ }
+
+ // ShiftRight, common 32-bit/64-bit test
+ Method(m01c, 1)
+ {
+ // Conversion of the first operand
+
+ Store(ShiftRight(Derefof(Refof(s601)), 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(ShiftRight(Derefof(Refof(s601)), 1), Local0)
+ m600(arg0, 1, Local0, 0x190)
+
+ Store(ShiftRight(Derefof(Refof(s601)), aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(ShiftRight(Derefof(Refof(s601)), aui6), Local0)
+ m600(arg0, 3, Local0, 0x190)
+
+ if (y078) {
+ Store(ShiftRight(Derefof(Refof(s601)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(ShiftRight(Derefof(Refof(s601)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x190)
+ }
+
+ Store(ShiftRight(Derefof(Refof(s601)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(ShiftRight(Derefof(Refof(s601)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x190)
+
+ // Method returns Integer
+
+ Store(ShiftRight(Derefof(Refof(s601)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(ShiftRight(Derefof(Refof(s601)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x190)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(Derefof(Refof(s601)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(ShiftRight(Derefof(Refof(s601)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x190)
+ }
+
+ ShiftRight(Derefof(Refof(s601)), 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ ShiftRight(Derefof(Refof(s601)), 1, Local0)
+ m600(arg0, 13, Local0, 0x190)
+
+ ShiftRight(Derefof(Refof(s601)), aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ ShiftRight(Derefof(Refof(s601)), aui6, Local0)
+ m600(arg0, 15, Local0, 0x190)
+
+ if (y078) {
+ ShiftRight(Derefof(Refof(s601)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ ShiftRight(Derefof(Refof(s601)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x190)
+ }
+
+ ShiftRight(Derefof(Refof(s601)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ ShiftRight(Derefof(Refof(s601)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x190)
+
+ // Method returns Integer
+
+ ShiftRight(Derefof(Refof(s601)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ ShiftRight(Derefof(Refof(s601)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x190)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(Derefof(Refof(s601)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ ShiftRight(Derefof(Refof(s601)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x190)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftRight(0x321, Derefof(Refof(s614))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftRight(0xc179b3fe, Derefof(Refof(s614))), Local0)
+ m600(arg0, 25, Local0, 0x182f36)
+
+ Store(ShiftRight(aui1, Derefof(Refof(s614))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftRight(aui3, Derefof(Refof(s614))), Local0)
+ m600(arg0, 27, Local0, 0x182f36)
+
+ if (y078) {
+ Store(ShiftRight(Derefof(Refof(aui1)), Derefof(Refof(s614))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftRight(Derefof(Refof(aui3)), Derefof(Refof(s614))), Local0)
+ m600(arg0, 29, Local0, 0x182f36)
+ }
+
+ Store(ShiftRight(Derefof(Index(paui, 1)), Derefof(Refof(s614))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftRight(Derefof(Index(paui, 3)), Derefof(Refof(s614))), Local0)
+ m600(arg0, 31, Local0, 0x182f36)
+
+ // Method returns Integer
+
+ Store(ShiftRight(m601(1, 1), Derefof(Refof(s614))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftRight(m601(1, 3), Derefof(Refof(s614))), Local0)
+ m600(arg0, 33, Local0, 0x182f36)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(Derefof(m602(1, 1, 1)), Derefof(Refof(s614))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftRight(Derefof(m602(1, 3, 1)), Derefof(Refof(s614))), Local0)
+ m600(arg0, 35, Local0, 0x182f36)
+ }
+
+ ShiftRight(0x321, Derefof(Refof(s614)), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftRight(0xc179b3fe, Derefof(Refof(s614)), Local0)
+ m600(arg0, 37, Local0, 0x182f36)
+
+ ShiftRight(aui1, Derefof(Refof(s614)), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftRight(aui3, Derefof(Refof(s614)), Local0)
+ m600(arg0, 39, Local0, 0x182f36)
+
+ if (y078) {
+ ShiftRight(Derefof(Refof(aui1)), Derefof(Refof(s614)), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftRight(Derefof(Refof(aui3)), Derefof(Refof(s614)), Local0)
+ m600(arg0, 41, Local0, 0x182f36)
+ }
+
+ ShiftRight(Derefof(Index(paui, 1)), Derefof(Refof(s614)), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftRight(Derefof(Index(paui, 3)), Derefof(Refof(s614)), Local0)
+ m600(arg0, 43, Local0, 0x182f36)
+
+ // Method returns Integer
+
+ ShiftRight(m601(1, 1), Derefof(Refof(s614)), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftRight(m601(1, 3), Derefof(Refof(s614)), Local0)
+ m600(arg0, 45, Local0, 0x182f36)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(Derefof(m602(1, 1, 1)), Derefof(Refof(s614)), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftRight(Derefof(m602(1, 3, 1)), Derefof(Refof(s614)), Local0)
+ m600(arg0, 47, Local0, 0x182f36)
+ }
+ }
+
+ // ShiftRight, 64-bit
+ Method(m01d, 1)
+ {
+ // Conversion of the first operand
+
+ Store(ShiftRight(Derefof(Refof(s605)), 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(Derefof(Refof(s605)), 1), Local0)
+ m600(arg0, 1, Local0, 0x7f3e59c8eb285142)
+
+ Store(ShiftRight(Derefof(Refof(s605)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(Derefof(Refof(s605)), aui6), Local0)
+ m600(arg0, 3, Local0, 0x7f3e59c8eb285142)
+
+ if (y078) {
+ Store(ShiftRight(Derefof(Refof(s605)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(Derefof(Refof(s605)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x7f3e59c8eb285142)
+ }
+
+ Store(ShiftRight(Derefof(Refof(s605)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(Derefof(Refof(s605)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x7f3e59c8eb285142)
+
+ // Method returns Integer
+
+ Store(ShiftRight(Derefof(Refof(s605)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(Derefof(Refof(s605)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x7f3e59c8eb285142)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(Derefof(Refof(s605)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(Derefof(Refof(s605)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x7f3e59c8eb285142)
+ }
+
+ ShiftRight(Derefof(Refof(s605)), 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(Derefof(Refof(s605)), 1, Local0)
+ m600(arg0, 13, Local0, 0x7f3e59c8eb285142)
+
+ ShiftRight(Derefof(Refof(s605)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(Derefof(Refof(s605)), aui6, Local0)
+ m600(arg0, 15, Local0, 0x7f3e59c8eb285142)
+
+ if (y078) {
+ ShiftRight(Derefof(Refof(s605)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(Derefof(Refof(s605)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x7f3e59c8eb285142)
+ }
+
+ ShiftRight(Derefof(Refof(s605)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(Derefof(Refof(s605)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x7f3e59c8eb285142)
+
+ // Method returns Integer
+
+ ShiftRight(Derefof(Refof(s605)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(Derefof(Refof(s605)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x7f3e59c8eb285142)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(Derefof(Refof(s605)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(Derefof(Refof(s605)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x7f3e59c8eb285142)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftRight(0x321, Derefof(Refof(s614))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftRight(0xfe7cb391d650a284, Derefof(Refof(s614))), Local0)
+ m600(arg0, 25, Local0, 0x1fcf96723aca14)
+
+ Store(ShiftRight(aui1, Derefof(Refof(s614))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftRight(aui4, Derefof(Refof(s614))), Local0)
+ m600(arg0, 27, Local0, 0x1fcf96723aca14)
+
+ if (y078) {
+ Store(ShiftRight(Derefof(Refof(aui1)), Derefof(Refof(s614))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftRight(Derefof(Refof(aui4)), Derefof(Refof(s614))), Local0)
+ m600(arg0, 29, Local0, 0x1fcf96723aca14)
+ }
+
+ Store(ShiftRight(Derefof(Index(paui, 1)), Derefof(Refof(s614))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftRight(Derefof(Index(paui, 4)), Derefof(Refof(s614))), Local0)
+ m600(arg0, 31, Local0, 0x1fcf96723aca14)
+
+ // Method returns Integer
+
+ Store(ShiftRight(m601(1, 1), Derefof(Refof(s614))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftRight(m601(1, 4), Derefof(Refof(s614))), Local0)
+ m600(arg0, 33, Local0, 0x1fcf96723aca14)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(Derefof(m602(1, 1, 1)), Derefof(Refof(s614))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftRight(Derefof(m602(1, 4, 1)), Derefof(Refof(s614))), Local0)
+ m600(arg0, 35, Local0, 0x1fcf96723aca14)
+ }
+
+ ShiftRight(0x321, Derefof(Refof(s614)), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftRight(0xfe7cb391d650a284, Derefof(Refof(s614)), Local0)
+ m600(arg0, 37, Local0, 0x1fcf96723aca14)
+
+ ShiftRight(aui1, Derefof(Refof(s614)), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftRight(aui4, Derefof(Refof(s614)), Local0)
+ m600(arg0, 39, Local0, 0x1fcf96723aca14)
+
+ if (y078) {
+ ShiftRight(Derefof(Refof(aui1)), Derefof(Refof(s614)), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftRight(Derefof(Refof(aui4)), Derefof(Refof(s614)), Local0)
+ m600(arg0, 41, Local0, 0x1fcf96723aca14)
+ }
+
+ ShiftRight(Derefof(Index(paui, 1)), Derefof(Refof(s614)), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftRight(Derefof(Index(paui, 4)), Derefof(Refof(s614)), Local0)
+ m600(arg0, 43, Local0, 0x1fcf96723aca14)
+
+ // Method returns Integer
+
+ ShiftRight(m601(1, 1), Derefof(Refof(s614)), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftRight(m601(1, 4), Derefof(Refof(s614)), Local0)
+ m600(arg0, 45, Local0, 0x1fcf96723aca14)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(Derefof(m602(1, 1, 1)), Derefof(Refof(s614)), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftRight(Derefof(m602(1, 4, 1)), Derefof(Refof(s614)), Local0)
+ m600(arg0, 47, Local0, 0x1fcf96723aca14)
+ }
+
+ // Conversion of the both operands
+
+ Store(ShiftRight(Derefof(Refof(s601)), Derefof(Refof(s614))), Local0)
+ m600(arg0, 48, Local0, 0)
+
+ Store(ShiftRight(Derefof(Refof(s605)), Derefof(Refof(s614))), Local0)
+ m600(arg0, 49, Local0, 0x1fcf96723aca14)
+
+ ShiftRight(Derefof(Refof(s601)), Derefof(Refof(s614)), Local0)
+ m600(arg0, 50, Local0, 0)
+
+ ShiftRight(Derefof(Refof(s605)), Derefof(Refof(s614)), Local0)
+ m600(arg0, 51, Local0, 0x1fcf96723aca14)
+ }
+
+ // ShiftRight, 32-bit
+ Method(m01e, 1)
+ {
+ // Conversion of the first operand
+
+ Store(ShiftRight(Derefof(Refof(s604)), 0), Local0)
+ m600(arg0, 0, Local0, 0xc179b3fe)
+
+ Store(ShiftRight(Derefof(Refof(s604)), 1), Local0)
+ m600(arg0, 1, Local0, 0x60bcd9ff)
+
+ Store(ShiftRight(Derefof(Refof(s604)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xc179b3fe)
+
+ Store(ShiftRight(Derefof(Refof(s604)), aui6), Local0)
+ m600(arg0, 3, Local0, 0x60bcd9ff)
+
+ if (y078) {
+ Store(ShiftRight(Derefof(Refof(s604)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xc179b3fe)
+
+ Store(ShiftRight(Derefof(Refof(s604)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x60bcd9ff)
+ }
+
+ Store(ShiftRight(Derefof(Refof(s604)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xc179b3fe)
+
+ Store(ShiftRight(Derefof(Refof(s604)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x60bcd9ff)
+
+ // Method returns Integer
+
+ Store(ShiftRight(Derefof(Refof(s604)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xc179b3fe)
+
+ Store(ShiftRight(Derefof(Refof(s604)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x60bcd9ff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(Derefof(Refof(s604)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xc179b3fe)
+
+ Store(ShiftRight(Derefof(Refof(s604)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x60bcd9ff)
+ }
+
+ ShiftRight(Derefof(Refof(s604)), 0, Local0)
+ m600(arg0, 12, Local0, 0xc179b3fe)
+
+ ShiftRight(Derefof(Refof(s604)), 1, Local0)
+ m600(arg0, 13, Local0, 0x60bcd9ff)
+
+ ShiftRight(Derefof(Refof(s604)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xc179b3fe)
+
+ ShiftRight(Derefof(Refof(s604)), aui6, Local0)
+ m600(arg0, 15, Local0, 0x60bcd9ff)
+
+ if (y078) {
+ ShiftRight(Derefof(Refof(s604)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xc179b3fe)
+
+ ShiftRight(Derefof(Refof(s604)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x60bcd9ff)
+ }
+
+ ShiftRight(Derefof(Refof(s604)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xc179b3fe)
+
+ ShiftRight(Derefof(Refof(s604)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x60bcd9ff)
+
+ // Method returns Integer
+
+ ShiftRight(Derefof(Refof(s604)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xc179b3fe)
+
+ ShiftRight(Derefof(Refof(s604)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x60bcd9ff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(Derefof(Refof(s604)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xc179b3fe)
+
+ ShiftRight(Derefof(Refof(s604)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x60bcd9ff)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftRight(0x321, Derefof(Refof(s614))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftRight(0xc179b3fe, Derefof(Refof(s614))), Local0)
+ m600(arg0, 25, Local0, 0x182f36)
+
+ Store(ShiftRight(aui1, Derefof(Refof(s614))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftRight(aui3, Derefof(Refof(s614))), Local0)
+ m600(arg0, 27, Local0, 0x182f36)
+
+ if (y078) {
+ Store(ShiftRight(Derefof(Refof(aui1)), Derefof(Refof(s614))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftRight(Derefof(Refof(aui3)), Derefof(Refof(s614))), Local0)
+ m600(arg0, 29, Local0, 0x182f36)
+ }
+
+ Store(ShiftRight(Derefof(Index(paui, 1)), Derefof(Refof(s614))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftRight(Derefof(Index(paui, 3)), Derefof(Refof(s614))), Local0)
+ m600(arg0, 31, Local0, 0x182f36)
+
+ // Method returns Integer
+
+ Store(ShiftRight(m601(1, 1), Derefof(Refof(s614))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftRight(m601(1, 3), Derefof(Refof(s614))), Local0)
+ m600(arg0, 33, Local0, 0x182f36)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(Derefof(m602(1, 1, 1)), Derefof(Refof(s614))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftRight(Derefof(m602(1, 3, 1)), Derefof(Refof(s614))), Local0)
+ m600(arg0, 35, Local0, 0x182f36)
+ }
+
+ ShiftRight(0x321, Derefof(Refof(s614)), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftRight(0xc179b3fe, Derefof(Refof(s614)), Local0)
+ m600(arg0, 37, Local0, 0x182f36)
+
+ ShiftRight(aui1, Derefof(Refof(s614)), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftRight(aui3, Derefof(Refof(s614)), Local0)
+ m600(arg0, 39, Local0, 0x182f36)
+
+ if (y078) {
+ ShiftRight(Derefof(Refof(aui1)), Derefof(Refof(s614)), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftRight(Derefof(Refof(aui3)), Derefof(Refof(s614)), Local0)
+ m600(arg0, 41, Local0, 0x182f36)
+ }
+
+ ShiftRight(Derefof(Index(paui, 1)), Derefof(Refof(s614)), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftRight(Derefof(Index(paui, 3)), Derefof(Refof(s614)), Local0)
+ m600(arg0, 43, Local0, 0x182f36)
+
+ // Method returns Integer
+
+ ShiftRight(m601(1, 1), Derefof(Refof(s614)), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftRight(m601(1, 3), Derefof(Refof(s614)), Local0)
+ m600(arg0, 45, Local0, 0x182f36)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(Derefof(m602(1, 1, 1)), Derefof(Refof(s614)), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftRight(Derefof(m602(1, 3, 1)), Derefof(Refof(s614)), Local0)
+ m600(arg0, 47, Local0, 0x182f36)
+ }
+
+ // Conversion of the both operands
+
+ Store(ShiftRight(Derefof(Refof(s601)), Derefof(Refof(s614))), Local0)
+ m600(arg0, 48, Local0, 0)
+
+ Store(ShiftRight(Derefof(Refof(s604)), Derefof(Refof(s614))), Local0)
+ m600(arg0, 49, Local0, 0x182f36)
+
+ ShiftRight(Derefof(Refof(s601)), Derefof(Refof(s614)), Local0)
+ m600(arg0, 50, Local0, 0)
+
+ ShiftRight(Derefof(Refof(s604)), Derefof(Refof(s614)), Local0)
+ m600(arg0, 51, Local0, 0x182f36)
+ }
+
+ // Subtract, common 32-bit/64-bit test
+ Method(m01f, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Subtract(Derefof(Refof(s601)), 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Subtract(Derefof(Refof(s601)), 1), Local0)
+ m600(arg0, 1, Local0, 0x320)
+
+ Store(Subtract(Derefof(Refof(s601)), aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Subtract(Derefof(Refof(s601)), aui6), Local0)
+ m600(arg0, 3, Local0, 0x320)
+
+ if (y078) {
+ Store(Subtract(Derefof(Refof(s601)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Subtract(Derefof(Refof(s601)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x320)
+ }
+
+ Store(Subtract(Derefof(Refof(s601)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Subtract(Derefof(Refof(s601)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x320)
+
+ // Method returns Integer
+
+ Store(Subtract(Derefof(Refof(s601)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Subtract(Derefof(Refof(s601)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x320)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(Derefof(Refof(s601)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Subtract(Derefof(Refof(s601)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x320)
+ }
+
+ Subtract(Derefof(Refof(s601)), 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Subtract(Derefof(Refof(s601)), 1, Local0)
+ m600(arg0, 13, Local0, 0x320)
+
+ Subtract(Derefof(Refof(s601)), aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Subtract(Derefof(Refof(s601)), aui6, Local0)
+ m600(arg0, 15, Local0, 0x320)
+
+ if (y078) {
+ Subtract(Derefof(Refof(s601)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Subtract(Derefof(Refof(s601)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x320)
+ }
+
+ Subtract(Derefof(Refof(s601)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Subtract(Derefof(Refof(s601)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x320)
+
+ // Method returns Integer
+
+ Subtract(Derefof(Refof(s601)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Subtract(Derefof(Refof(s601)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x320)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(Derefof(Refof(s601)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Subtract(Derefof(Refof(s601)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x320)
+ }
+
+ // Conversion of the second operand
+
+ Store(Subtract(0, Derefof(Refof(s601))), Local0)
+ m600(arg0, 24, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(1, Derefof(Refof(s601))), Local0)
+ m600(arg0, 25, Local0, 0xfffffffffffffce0)
+
+ Store(Subtract(aui5, Derefof(Refof(s601))), Local0)
+ m600(arg0, 26, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(aui6, Derefof(Refof(s601))), Local0)
+ m600(arg0, 27, Local0, 0xfffffffffffffce0)
+
+ if (y078) {
+ Store(Subtract(Derefof(Refof(aui5)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 28, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(Derefof(Refof(aui6)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 29, Local0, 0xfffffffffffffce0)
+ }
+
+ Store(Subtract(Derefof(Index(paui, 5)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 30, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(Derefof(Index(paui, 6)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 31, Local0, 0xfffffffffffffce0)
+
+ // Method returns Integer
+
+ Store(Subtract(m601(1, 5), Derefof(Refof(s601))), Local0)
+ m600(arg0, 32, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(m601(1, 6), Derefof(Refof(s601))), Local0)
+ m600(arg0, 33, Local0, 0xfffffffffffffce0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(Derefof(m602(1, 5, 1)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 34, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(Derefof(m602(1, 6, 1)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 35, Local0, 0xfffffffffffffce0)
+ }
+
+ Subtract(0, Derefof(Refof(s601)), Local0)
+ m600(arg0, 36, Local0, 0xfffffffffffffcdf)
+
+ Subtract(1, Derefof(Refof(s601)), Local0)
+ m600(arg0, 37, Local0, 0xfffffffffffffce0)
+
+ Subtract(aui5, Derefof(Refof(s601)), Local0)
+ m600(arg0, 38, Local0, 0xfffffffffffffcdf)
+
+ Subtract(aui6, Derefof(Refof(s601)), Local0)
+ m600(arg0, 39, Local0, 0xfffffffffffffce0)
+
+ if (y078) {
+ Subtract(Derefof(Refof(aui5)), Derefof(Refof(s601)), Local0)
+ m600(arg0, 40, Local0, 0xfffffffffffffcdf)
+
+ Subtract(Derefof(Refof(aui6)), Derefof(Refof(s601)), Local0)
+ m600(arg0, 41, Local0, 0xfffffffffffffce0)
+ }
+
+ Subtract(Derefof(Index(paui, 5)), Derefof(Refof(s601)), Local0)
+ m600(arg0, 42, Local0, 0xfffffffffffffcdf)
+
+ Subtract(Derefof(Index(paui, 6)), Derefof(Refof(s601)), Local0)
+ m600(arg0, 43, Local0, 0xfffffffffffffce0)
+
+ // Method returns Integer
+
+ Subtract(m601(1, 5), Derefof(Refof(s601)), Local0)
+ m600(arg0, 44, Local0, 0xfffffffffffffcdf)
+
+ Subtract(m601(1, 6), Derefof(Refof(s601)), Local0)
+ m600(arg0, 45, Local0, 0xfffffffffffffce0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(Derefof(m602(1, 5, 1)), Derefof(Refof(s601)), Local0)
+ m600(arg0, 46, Local0, 0xfffffffffffffcdf)
+
+ Subtract(Derefof(m602(1, 6, 1)), Derefof(Refof(s601)), Local0)
+ m600(arg0, 47, Local0, 0xfffffffffffffce0)
+ }
+ }
+
+ // Subtract, 64-bit
+ Method(m020, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Subtract(Derefof(Refof(s605)), 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(Derefof(Refof(s605)), 1), Local0)
+ m600(arg0, 1, Local0, 0xfe7cb391d650a283)
+
+ Store(Subtract(Derefof(Refof(s605)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(Derefof(Refof(s605)), aui6), Local0)
+ m600(arg0, 3, Local0, 0xfe7cb391d650a283)
+
+ if (y078) {
+ Store(Subtract(Derefof(Refof(s605)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(Derefof(Refof(s605)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xfe7cb391d650a283)
+ }
+
+ Store(Subtract(Derefof(Refof(s605)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(Derefof(Refof(s605)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Integer
+
+ Store(Subtract(Derefof(Refof(s605)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(Derefof(Refof(s605)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(Derefof(Refof(s605)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(Derefof(Refof(s605)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfe7cb391d650a283)
+ }
+
+ Subtract(Derefof(Refof(s605)), 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Subtract(Derefof(Refof(s605)), 1, Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a283)
+
+ Subtract(Derefof(Refof(s605)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Subtract(Derefof(Refof(s605)), aui6, Local0)
+ m600(arg0, 15, Local0, 0xfe7cb391d650a283)
+
+ if (y078) {
+ Subtract(Derefof(Refof(s605)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Subtract(Derefof(Refof(s605)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xfe7cb391d650a283)
+ }
+
+ Subtract(Derefof(Refof(s605)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Subtract(Derefof(Refof(s605)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Integer
+
+ Subtract(Derefof(Refof(s605)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Subtract(Derefof(Refof(s605)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(Derefof(Refof(s605)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Subtract(Derefof(Refof(s605)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfe7cb391d650a283)
+ }
+
+ // Conversion of the second operand
+
+ Store(Subtract(0, Derefof(Refof(s605))), Local0)
+ m600(arg0, 24, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(1, Derefof(Refof(s605))), Local0)
+ m600(arg0, 25, Local0, 0x01834c6e29af5d7d)
+
+ Store(Subtract(aui5, Derefof(Refof(s605))), Local0)
+ m600(arg0, 26, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(aui6, Derefof(Refof(s605))), Local0)
+ m600(arg0, 27, Local0, 0x01834c6e29af5d7d)
+
+ if (y078) {
+ Store(Subtract(Derefof(Refof(aui5)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 28, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(Derefof(Refof(aui6)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 29, Local0, 0x01834c6e29af5d7d)
+ }
+
+ Store(Subtract(Derefof(Index(paui, 5)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 30, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(Derefof(Index(paui, 6)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 31, Local0, 0x01834c6e29af5d7d)
+
+ // Method returns Integer
+
+ Store(Subtract(m601(1, 5), Derefof(Refof(s605))), Local0)
+ m600(arg0, 32, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(m601(1, 6), Derefof(Refof(s605))), Local0)
+ m600(arg0, 33, Local0, 0x01834c6e29af5d7d)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(Derefof(m602(1, 5, 1)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 34, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(Derefof(m602(1, 6, 1)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 35, Local0, 0x01834c6e29af5d7d)
+ }
+
+ Subtract(0, Derefof(Refof(s605)), Local0)
+ m600(arg0, 36, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(1, Derefof(Refof(s605)), Local0)
+ m600(arg0, 37, Local0, 0x01834c6e29af5d7d)
+
+ Subtract(aui5, Derefof(Refof(s605)), Local0)
+ m600(arg0, 38, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(aui6, Derefof(Refof(s605)), Local0)
+ m600(arg0, 39, Local0, 0x01834c6e29af5d7d)
+
+ if (y078) {
+ Subtract(Derefof(Refof(aui5)), Derefof(Refof(s605)), Local0)
+ m600(arg0, 40, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(Derefof(Refof(aui6)), Derefof(Refof(s605)), Local0)
+ m600(arg0, 41, Local0, 0x01834c6e29af5d7d)
+ }
+
+ Subtract(Derefof(Index(paui, 5)), Derefof(Refof(s605)), Local0)
+ m600(arg0, 42, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(Derefof(Index(paui, 6)), Derefof(Refof(s605)), Local0)
+ m600(arg0, 43, Local0, 0x01834c6e29af5d7d)
+
+ // Method returns Integer
+
+ Subtract(m601(1, 5), Derefof(Refof(s605)), Local0)
+ m600(arg0, 44, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(m601(1, 6), Derefof(Refof(s605)), Local0)
+ m600(arg0, 45, Local0, 0x01834c6e29af5d7d)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(Derefof(m602(1, 5, 1)), Derefof(Refof(s605)), Local0)
+ m600(arg0, 46, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(Derefof(m602(1, 6, 1)), Derefof(Refof(s605)), Local0)
+ m600(arg0, 47, Local0, 0x01834c6e29af5d7d)
+ }
+
+ // Conversion of the both operands
+
+ Store(Subtract(Derefof(Refof(s601)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 48, Local0, 0x01834c6e29af609d)
+
+ Store(Subtract(Derefof(Refof(s605)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 49, Local0, 0xfe7cb391d6509f63)
+
+ Subtract(Derefof(Refof(s601)), Derefof(Refof(s605)), Local0)
+ m600(arg0, 50, Local0, 0x01834c6e29af609d)
+
+ Subtract(Derefof(Refof(s605)), Derefof(Refof(s601)), Local0)
+ m600(arg0, 51, Local0, 0xfe7cb391d6509f63)
+ }
+
+ // Subtract, 32-bit
+ Method(m021, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Subtract(Derefof(Refof(s604)), 0), Local0)
+ m600(arg0, 0, Local0, 0xc179b3fe)
+
+ Store(Subtract(Derefof(Refof(s604)), 1), Local0)
+ m600(arg0, 1, Local0, 0xc179b3fd)
+
+ Store(Subtract(Derefof(Refof(s604)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xc179b3fe)
+
+ Store(Subtract(Derefof(Refof(s604)), aui6), Local0)
+ m600(arg0, 3, Local0, 0xc179b3fd)
+
+ if (y078) {
+ Store(Subtract(Derefof(Refof(s604)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xc179b3fe)
+
+ Store(Subtract(Derefof(Refof(s604)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xc179b3fd)
+ }
+
+ Store(Subtract(Derefof(Refof(s604)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xc179b3fe)
+
+ Store(Subtract(Derefof(Refof(s604)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xc179b3fd)
+
+ // Method returns Integer
+
+ Store(Subtract(Derefof(Refof(s604)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xc179b3fe)
+
+ Store(Subtract(Derefof(Refof(s604)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xc179b3fd)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(Derefof(Refof(s604)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xc179b3fe)
+
+ Store(Subtract(Derefof(Refof(s604)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xc179b3fd)
+ }
+
+ Subtract(Derefof(Refof(s604)), 0, Local0)
+ m600(arg0, 12, Local0, 0xc179b3fe)
+
+ Subtract(Derefof(Refof(s604)), 1, Local0)
+ m600(arg0, 13, Local0, 0xc179b3fd)
+
+ Subtract(Derefof(Refof(s604)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xc179b3fe)
+
+ Subtract(Derefof(Refof(s604)), aui6, Local0)
+ m600(arg0, 15, Local0, 0xc179b3fd)
+
+ if (y078) {
+ Subtract(Derefof(Refof(s604)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xc179b3fe)
+
+ Subtract(Derefof(Refof(s604)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xc179b3fd)
+ }
+
+ Subtract(Derefof(Refof(s604)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xc179b3fe)
+
+ Subtract(Derefof(Refof(s604)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xc179b3fd)
+
+ // Method returns Integer
+
+ Subtract(Derefof(Refof(s604)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xc179b3fe)
+
+ Subtract(Derefof(Refof(s604)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xc179b3fd)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(Derefof(Refof(s604)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xc179b3fe)
+
+ Subtract(Derefof(Refof(s604)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xc179b3fd)
+ }
+
+ // Conversion of the second operand
+
+ Store(Subtract(0, Derefof(Refof(s604))), Local0)
+ m600(arg0, 24, Local0, 0x3e864c02)
+
+ Store(Subtract(1, Derefof(Refof(s604))), Local0)
+ m600(arg0, 25, Local0, 0x3e864c03)
+
+ Store(Subtract(aui5, Derefof(Refof(s604))), Local0)
+ m600(arg0, 26, Local0, 0x3e864c02)
+
+ Store(Subtract(aui6, Derefof(Refof(s604))), Local0)
+ m600(arg0, 27, Local0, 0x3e864c03)
+
+ if (y078) {
+ Store(Subtract(Derefof(Refof(aui5)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 28, Local0, 0x3e864c02)
+
+ Store(Subtract(Derefof(Refof(aui6)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 29, Local0, 0x3e864c03)
+ }
+
+ Store(Subtract(Derefof(Index(paui, 5)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 30, Local0, 0x3e864c02)
+
+ Store(Subtract(Derefof(Index(paui, 6)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 31, Local0, 0x3e864c03)
+
+ // Method returns Integer
+
+ Store(Subtract(m601(1, 5), Derefof(Refof(s604))), Local0)
+ m600(arg0, 32, Local0, 0x3e864c02)
+
+ Store(Subtract(m601(1, 6), Derefof(Refof(s604))), Local0)
+ m600(arg0, 33, Local0, 0x3e864c03)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(Derefof(m602(1, 5, 1)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 34, Local0, 0x3e864c02)
+
+ Store(Subtract(Derefof(m602(1, 6, 1)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 35, Local0, 0x3e864c03)
+ }
+
+ Subtract(0, Derefof(Refof(s604)), Local0)
+ m600(arg0, 36, Local0, 0x3e864c02)
+
+ Subtract(1, Derefof(Refof(s604)), Local0)
+ m600(arg0, 37, Local0, 0x3e864c03)
+
+ Subtract(aui5, Derefof(Refof(s604)), Local0)
+ m600(arg0, 38, Local0, 0x3e864c02)
+
+ Subtract(aui6, Derefof(Refof(s604)), Local0)
+ m600(arg0, 39, Local0, 0x3e864c03)
+
+ if (y078) {
+ Subtract(Derefof(Refof(aui5)), Derefof(Refof(s604)), Local0)
+ m600(arg0, 40, Local0, 0x3e864c02)
+
+ Subtract(Derefof(Refof(aui6)), Derefof(Refof(s604)), Local0)
+ m600(arg0, 41, Local0, 0x3e864c03)
+ }
+
+ Subtract(Derefof(Index(paui, 5)), Derefof(Refof(s604)), Local0)
+ m600(arg0, 42, Local0, 0x3e864c02)
+
+ Subtract(Derefof(Index(paui, 6)), Derefof(Refof(s604)), Local0)
+ m600(arg0, 43, Local0, 0x3e864c03)
+
+ // Method returns Integer
+
+ Subtract(m601(1, 5), Derefof(Refof(s604)), Local0)
+ m600(arg0, 44, Local0, 0x3e864c02)
+
+ Subtract(m601(1, 6), Derefof(Refof(s604)), Local0)
+ m600(arg0, 45, Local0, 0x3e864c03)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(Derefof(m602(1, 5, 1)), Derefof(Refof(s604)), Local0)
+ m600(arg0, 46, Local0, 0x3e864c02)
+
+ Subtract(Derefof(m602(1, 6, 1)), Derefof(Refof(s604)), Local0)
+ m600(arg0, 47, Local0, 0x3e864c03)
+ }
+
+ // Conversion of the both operands
+
+ Store(Subtract(Derefof(Refof(s601)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 48, Local0, 0x3e864f23)
+
+ Store(Subtract(Derefof(Refof(s604)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 49, Local0, 0xc179b0dd)
+
+ Subtract(Derefof(Refof(s601)), Derefof(Refof(s604)), Local0)
+ m600(arg0, 50, Local0, 0x3e864f23)
+
+ Subtract(Derefof(Refof(s604)), Derefof(Refof(s601)), Local0)
+ m600(arg0, 51, Local0, 0xc179b0dd)
+ }
+
+ // XOr, common 32-bit/64-bit test
+ Method(m022, 1)
+ {
+ // Conversion of the first operand
+
+ Store(XOr(Derefof(Refof(s601)), 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(XOr(Derefof(Refof(s601)), 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xfffffffffffffcde)
+
+ Store(XOr(Derefof(Refof(s601)), aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(XOr(Derefof(Refof(s601)), auij), Local0)
+ m600(arg0, 3, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ Store(XOr(Derefof(Refof(s601)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(XOr(Derefof(Refof(s601)), Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xfffffffffffffcde)
+ }
+
+ Store(XOr(Derefof(Refof(s601)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(XOr(Derefof(Refof(s601)), Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ Store(XOr(Derefof(Refof(s601)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(XOr(Derefof(Refof(s601)), m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(Derefof(Refof(s601)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(XOr(Derefof(Refof(s601)), Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfffffffffffffcde)
+ }
+
+ XOr(Derefof(Refof(s601)), 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ XOr(Derefof(Refof(s601)), 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xfffffffffffffcde)
+
+ XOr(Derefof(Refof(s601)), aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ XOr(Derefof(Refof(s601)), auij, Local0)
+ m600(arg0, 15, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ XOr(Derefof(Refof(s601)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ XOr(Derefof(Refof(s601)), Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xfffffffffffffcde)
+ }
+
+ XOr(Derefof(Refof(s601)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ XOr(Derefof(Refof(s601)), Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ XOr(Derefof(Refof(s601)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ XOr(Derefof(Refof(s601)), m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(Derefof(Refof(s601)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ XOr(Derefof(Refof(s601)), Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfffffffffffffcde)
+ }
+
+ // Conversion of the second operand
+
+ Store(XOr(0, Derefof(Refof(s601))), Local0)
+ m600(arg0, 24, Local0, 0x321)
+
+ Store(XOr(0xffffffffffffffff, Derefof(Refof(s601))), Local0)
+ m600(arg0, 25, Local0, 0xfffffffffffffcde)
+
+ Store(XOr(aui5, Derefof(Refof(s601))), Local0)
+ m600(arg0, 26, Local0, 0x321)
+
+ Store(XOr(auij, Derefof(Refof(s601))), Local0)
+ m600(arg0, 27, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ Store(XOr(Derefof(Refof(aui5)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 28, Local0, 0x321)
+
+ Store(XOr(Derefof(Refof(auij)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 29, Local0, 0xfffffffffffffcde)
+ }
+
+ Store(XOr(Derefof(Index(paui, 5)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 30, Local0, 0x321)
+
+ Store(XOr(Derefof(Index(paui, 19)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 31, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ Store(XOr(m601(1, 5), Derefof(Refof(s601))), Local0)
+ m600(arg0, 32, Local0, 0x321)
+
+ Store(XOr(m601(1, 19), Derefof(Refof(s601))), Local0)
+ m600(arg0, 33, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(Derefof(m602(1, 5, 1)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 34, Local0, 0x321)
+
+ Store(XOr(Derefof(m602(1, 19, 1)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 35, Local0, 0xfffffffffffffcde)
+ }
+
+ XOr(0, Derefof(Refof(s601)), Local0)
+ m600(arg0, 36, Local0, 0x321)
+
+ XOr(0xffffffffffffffff, Derefof(Refof(s601)), Local0)
+ m600(arg0, 37, Local0, 0xfffffffffffffcde)
+
+ XOr(aui5, Derefof(Refof(s601)), Local0)
+ m600(arg0, 38, Local0, 0x321)
+
+ XOr(auij, Derefof(Refof(s601)), Local0)
+ m600(arg0, 39, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ XOr(Derefof(Refof(aui5)), Derefof(Refof(s601)), Local0)
+ m600(arg0, 40, Local0, 0x321)
+
+ XOr(Derefof(Refof(auij)), Derefof(Refof(s601)), Local0)
+ m600(arg0, 41, Local0, 0xfffffffffffffcde)
+ }
+
+ XOr(Derefof(Index(paui, 5)), Derefof(Refof(s601)), Local0)
+ m600(arg0, 42, Local0, 0x321)
+
+ XOr(Derefof(Index(paui, 19)), Derefof(Refof(s601)), Local0)
+ m600(arg0, 43, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ XOr(m601(1, 5), Derefof(Refof(s601)), Local0)
+ m600(arg0, 44, Local0, 0x321)
+
+ XOr(m601(1, 19), Derefof(Refof(s601)), Local0)
+ m600(arg0, 45, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(Derefof(m602(1, 5, 1)), Derefof(Refof(s601)), Local0)
+ m600(arg0, 46, Local0, 0x321)
+
+ XOr(Derefof(m602(1, 19, 1)), Derefof(Refof(s601)), Local0)
+ m600(arg0, 47, Local0, 0xfffffffffffffcde)
+ }
+ }
+
+ // XOr, 64-bit
+ Method(m023, 1)
+ {
+ // Conversion of the first operand
+
+ Store(XOr(Derefof(Refof(s605)), 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(Refof(s605)), 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0x01834c6e29af5d7b)
+
+ Store(XOr(Derefof(Refof(s605)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(Refof(s605)), auij), Local0)
+ m600(arg0, 3, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ Store(XOr(Derefof(Refof(s605)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(Refof(s605)), Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Store(XOr(Derefof(Refof(s605)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(Refof(s605)), Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ Store(XOr(Derefof(Refof(s605)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(Refof(s605)), m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(Derefof(Refof(s605)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(Refof(s605)), Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0x01834c6e29af5d7b)
+ }
+
+ XOr(Derefof(Refof(s605)), 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(Refof(s605)), 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0x01834c6e29af5d7b)
+
+ XOr(Derefof(Refof(s605)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(Refof(s605)), auij, Local0)
+ m600(arg0, 15, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ XOr(Derefof(Refof(s605)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(Refof(s605)), Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0x01834c6e29af5d7b)
+ }
+
+ XOr(Derefof(Refof(s605)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(Refof(s605)), Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ XOr(Derefof(Refof(s605)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(Refof(s605)), m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(Derefof(Refof(s605)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(Refof(s605)), Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0x01834c6e29af5d7b)
+ }
+
+ // Conversion of the second operand
+
+ Store(XOr(0, Derefof(Refof(s605))), Local0)
+ m600(arg0, 24, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(0xffffffffffffffff, Derefof(Refof(s605))), Local0)
+ m600(arg0, 25, Local0, 0x01834c6e29af5d7b)
+
+ Store(XOr(aui5, Derefof(Refof(s605))), Local0)
+ m600(arg0, 26, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(auij, Derefof(Refof(s605))), Local0)
+ m600(arg0, 27, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ Store(XOr(Derefof(Refof(aui5)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 28, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(Refof(auij)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 29, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Store(XOr(Derefof(Index(paui, 5)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 30, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(Index(paui, 19)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 31, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ Store(XOr(m601(1, 5), Derefof(Refof(s605))), Local0)
+ m600(arg0, 32, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(m601(1, 19), Derefof(Refof(s605))), Local0)
+ m600(arg0, 33, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(Derefof(m602(1, 5, 1)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 34, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(m602(1, 19, 1)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 35, Local0, 0x01834c6e29af5d7b)
+ }
+
+ XOr(0, Derefof(Refof(s605)), Local0)
+ m600(arg0, 36, Local0, 0xfe7cb391d650a284)
+
+ XOr(0xffffffffffffffff, Derefof(Refof(s605)), Local0)
+ m600(arg0, 37, Local0, 0x01834c6e29af5d7b)
+
+ XOr(aui5, Derefof(Refof(s605)), Local0)
+ m600(arg0, 38, Local0, 0xfe7cb391d650a284)
+
+ XOr(auij, Derefof(Refof(s605)), Local0)
+ m600(arg0, 39, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ XOr(Derefof(Refof(aui5)), Derefof(Refof(s605)), Local0)
+ m600(arg0, 40, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(Refof(auij)), Derefof(Refof(s605)), Local0)
+ m600(arg0, 41, Local0, 0x01834c6e29af5d7b)
+ }
+
+ XOr(Derefof(Index(paui, 5)), Derefof(Refof(s605)), Local0)
+ m600(arg0, 42, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(Index(paui, 19)), Derefof(Refof(s605)), Local0)
+ m600(arg0, 43, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ XOr(m601(1, 5), Derefof(Refof(s605)), Local0)
+ m600(arg0, 44, Local0, 0xfe7cb391d650a284)
+
+ XOr(m601(1, 19), Derefof(Refof(s605)), Local0)
+ m600(arg0, 45, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(Derefof(m602(1, 5, 1)), Derefof(Refof(s605)), Local0)
+ m600(arg0, 46, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(m602(1, 19, 1)), Derefof(Refof(s605)), Local0)
+ m600(arg0, 47, Local0, 0x01834c6e29af5d7b)
+ }
+
+ // Conversion of the both operands
+
+ Store(XOr(Derefof(Refof(s601)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 48, Local0, 0xfe7cb391d650a1a5)
+
+ Store(XOr(Derefof(Refof(s605)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 49, Local0, 0xfe7cb391d650a1a5)
+
+ XOr(Derefof(Refof(s601)), Derefof(Refof(s605)), Local0)
+ m600(arg0, 50, Local0, 0xfe7cb391d650a1a5)
+
+ XOr(Derefof(Refof(s605)), Derefof(Refof(s601)), Local0)
+ m600(arg0, 51, Local0, 0xfe7cb391d650a1a5)
+ }
+
+ // XOr, 32-bit
+ Method(m024, 1)
+ {
+ // Conversion of the first operand
+
+ Store(XOr(Derefof(Refof(s604)), 0), Local0)
+ m600(arg0, 0, Local0, 0xc179b3fe)
+
+ Store(XOr(Derefof(Refof(s604)), 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0x3e864c01)
+
+ Store(XOr(Derefof(Refof(s604)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xc179b3fe)
+
+ Store(XOr(Derefof(Refof(s604)), auii), Local0)
+ m600(arg0, 3, Local0, 0x3e864c01)
+
+ if (y078) {
+ Store(XOr(Derefof(Refof(s604)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xc179b3fe)
+
+ Store(XOr(Derefof(Refof(s604)), Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0x3e864c01)
+ }
+
+ Store(XOr(Derefof(Refof(s604)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xc179b3fe)
+
+ Store(XOr(Derefof(Refof(s604)), Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0x3e864c01)
+
+ // Method returns Integer
+
+ Store(XOr(Derefof(Refof(s604)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xc179b3fe)
+
+ Store(XOr(Derefof(Refof(s604)), m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0x3e864c01)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(Derefof(Refof(s604)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xc179b3fe)
+
+ Store(XOr(Derefof(Refof(s604)), Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0x3e864c01)
+ }
+
+ XOr(Derefof(Refof(s604)), 0, Local0)
+ m600(arg0, 12, Local0, 0xc179b3fe)
+
+ XOr(Derefof(Refof(s604)), 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0x3e864c01)
+
+ XOr(Derefof(Refof(s604)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xc179b3fe)
+
+ XOr(Derefof(Refof(s604)), auii, Local0)
+ m600(arg0, 15, Local0, 0x3e864c01)
+
+ if (y078) {
+ XOr(Derefof(Refof(s604)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xc179b3fe)
+
+ XOr(Derefof(Refof(s604)), Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0x3e864c01)
+ }
+
+ XOr(Derefof(Refof(s604)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xc179b3fe)
+
+ XOr(Derefof(Refof(s604)), Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0x3e864c01)
+
+ // Method returns Integer
+
+ XOr(Derefof(Refof(s604)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xc179b3fe)
+
+ XOr(Derefof(Refof(s604)), m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0x3e864c01)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(Derefof(Refof(s604)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xc179b3fe)
+
+ XOr(Derefof(Refof(s604)), Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0x3e864c01)
+ }
+
+ // Conversion of the second operand
+
+ Store(XOr(0, Derefof(Refof(s604))), Local0)
+ m600(arg0, 24, Local0, 0xc179b3fe)
+
+ Store(XOr(0xffffffff, Derefof(Refof(s604))), Local0)
+ m600(arg0, 25, Local0, 0x3e864c01)
+
+ Store(XOr(aui5, Derefof(Refof(s604))), Local0)
+ m600(arg0, 26, Local0, 0xc179b3fe)
+
+ Store(XOr(auii, Derefof(Refof(s604))), Local0)
+ m600(arg0, 27, Local0, 0x3e864c01)
+
+ if (y078) {
+ Store(XOr(Derefof(Refof(aui5)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 28, Local0, 0xc179b3fe)
+
+ Store(XOr(Derefof(Refof(auii)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 29, Local0, 0x3e864c01)
+ }
+
+ Store(XOr(Derefof(Index(paui, 5)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 30, Local0, 0xc179b3fe)
+
+ Store(XOr(Derefof(Index(paui, 18)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 31, Local0, 0x3e864c01)
+
+ // Method returns Integer
+
+ Store(XOr(m601(1, 5), Derefof(Refof(s604))), Local0)
+ m600(arg0, 32, Local0, 0xc179b3fe)
+
+ Store(XOr(m601(1, 18), Derefof(Refof(s604))), Local0)
+ m600(arg0, 33, Local0, 0x3e864c01)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(Derefof(m602(1, 5, 1)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 34, Local0, 0xc179b3fe)
+
+ Store(XOr(Derefof(m602(1, 18, 1)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 35, Local0, 0x3e864c01)
+ }
+
+ XOr(0, Derefof(Refof(s604)), Local0)
+ m600(arg0, 36, Local0, 0xc179b3fe)
+
+ XOr(0xffffffff, Derefof(Refof(s604)), Local0)
+ m600(arg0, 37, Local0, 0x3e864c01)
+
+ XOr(aui5, Derefof(Refof(s604)), Local0)
+ m600(arg0, 38, Local0, 0xc179b3fe)
+
+ XOr(auii, Derefof(Refof(s604)), Local0)
+ m600(arg0, 39, Local0, 0x3e864c01)
+
+ if (y078) {
+ XOr(Derefof(Refof(aui5)), Derefof(Refof(s604)), Local0)
+ m600(arg0, 40, Local0, 0xc179b3fe)
+
+ XOr(Derefof(Refof(auii)), Derefof(Refof(s604)), Local0)
+ m600(arg0, 41, Local0, 0x3e864c01)
+ }
+
+ XOr(Derefof(Index(paui, 5)), Derefof(Refof(s604)), Local0)
+ m600(arg0, 42, Local0, 0xc179b3fe)
+
+ XOr(Derefof(Index(paui, 18)), Derefof(Refof(s604)), Local0)
+ m600(arg0, 43, Local0, 0x3e864c01)
+
+ // Method returns Integer
+
+ XOr(m601(1, 5), Derefof(Refof(s604)), Local0)
+ m600(arg0, 44, Local0, 0xc179b3fe)
+
+ XOr(m601(1, 18), Derefof(Refof(s604)), Local0)
+ m600(arg0, 45, Local0, 0x3e864c01)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(Derefof(m602(1, 5, 1)), Derefof(Refof(s604)), Local0)
+ m600(arg0, 46, Local0, 0xc179b3fe)
+
+ XOr(Derefof(m602(1, 18, 1)), Derefof(Refof(s604)), Local0)
+ m600(arg0, 47, Local0, 0x3e864c01)
+ }
+
+ // Conversion of the both operands
+
+ Store(XOr(Derefof(Refof(s601)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 48, Local0, 0xc179b0df)
+
+ Store(XOr(Derefof(Refof(s604)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 49, Local0, 0xc179b0df)
+
+ XOr(Derefof(Refof(s601)), Derefof(Refof(s604)), Local0)
+ m600(arg0, 50, Local0, 0xc179b0df)
+
+ XOr(Derefof(Refof(s604)), Derefof(Refof(s601)), Local0)
+ m600(arg0, 51, Local0, 0xc179b0df)
+ }
+
+ // Add, And, Divide, Mod, Multiply, NAnd, NOr, Or,
+ // ShiftLeft, ShiftRight, Subtract, Xor
+
+ Method(m64d, 1)
+ {
+ // Add
+ Concatenate(arg0, "-m001", Local0)
+ SRMT(Local0)
+ m001(Local0)
+ Concatenate(arg0, "-m002", Local0)
+ SRMT(Local0)
+ m002(Local0)
+
+ // And
+ Concatenate(arg0, "-m004", Local0)
+ SRMT(Local0)
+ m004(Local0)
+ Concatenate(arg0, "-m005", Local0)
+ SRMT(Local0)
+ m005(Local0)
+
+ // Divide
+ Concatenate(arg0, "-m007", Local0)
+ SRMT(Local0)
+ m007(Local0)
+ Concatenate(arg0, "-m008", Local0)
+ SRMT(Local0)
+ m008(Local0)
+
+ // Mod
+ Concatenate(arg0, "-m00a", Local0)
+ SRMT(Local0)
+ m00a(Local0)
+ Concatenate(arg0, "-m00b", Local0)
+ SRMT(Local0)
+ m00b(Local0)
+
+ // Multiply
+ Concatenate(arg0, "-m00d", Local0)
+ SRMT(Local0)
+ m00d(Local0)
+ Concatenate(arg0, "-m00e", Local0)
+ SRMT(Local0)
+ m00e(Local0)
+
+ // NAnd
+ Concatenate(arg0, "-m010", Local0)
+ SRMT(Local0)
+ m010(Local0)
+ Concatenate(arg0, "-m011", Local0)
+ SRMT(Local0)
+ m011(Local0)
+
+ // NOr
+ Concatenate(arg0, "-m013", Local0)
+ SRMT(Local0)
+ m013(Local0)
+ Concatenate(arg0, "-m014", Local0)
+ SRMT(Local0)
+ m014(Local0)
+
+ // Or
+ Concatenate(arg0, "-m016", Local0)
+ SRMT(Local0)
+ m016(Local0)
+ Concatenate(arg0, "-m017", Local0)
+ SRMT(Local0)
+ m017(Local0)
+
+ // ShiftLeft
+ Concatenate(arg0, "-m019", Local0)
+ SRMT(Local0)
+ m019(Local0)
+ Concatenate(arg0, "-m01a", Local0)
+ SRMT(Local0)
+ m01a(Local0)
+
+ // ShiftRight
+ Concatenate(arg0, "-m01c", Local0)
+ SRMT(Local0)
+ m01c(Local0)
+ Concatenate(arg0, "-m01d", Local0)
+ SRMT(Local0)
+ m01d(Local0)
+
+ // Subtract
+ Concatenate(arg0, "-m01f", Local0)
+ SRMT(Local0)
+ m01f(Local0)
+ Concatenate(arg0, "-m020", Local0)
+ SRMT(Local0)
+ m020(Local0)
+
+ // XOr
+ Concatenate(arg0, "-m022", Local0)
+ SRMT(Local0)
+ m022(Local0)
+ Concatenate(arg0, "-m023", Local0)
+ SRMT(Local0)
+ m023(Local0)
+ }
+
+ Method(m32d, 1)
+ {
+ // Add
+ Concatenate(arg0, "-m001", Local0)
+ SRMT(Local0)
+ m001(Local0)
+ Concatenate(arg0, "-m003", Local0)
+ SRMT(Local0)
+ m003(Local0)
+
+ // And
+ Concatenate(arg0, "-m004", Local0)
+ SRMT(Local0)
+ m004(Local0)
+ Concatenate(arg0, "-m006", Local0)
+ SRMT(Local0)
+ m006(Local0)
+
+ // Divide
+ Concatenate(arg0, "-m007", Local0)
+ SRMT(Local0)
+ m007(Local0)
+ Concatenate(arg0, "-m009", Local0)
+ SRMT(Local0)
+ m009(Local0)
+
+ // Mod
+ Concatenate(arg0, "-m00a", Local0)
+ SRMT(Local0)
+ m00a(Local0)
+ Concatenate(arg0, "-m00c", Local0)
+ SRMT(Local0)
+ m00c(Local0)
+
+ // Multiply
+ Concatenate(arg0, "-m00d", Local0)
+ SRMT(Local0)
+ m00d(Local0)
+ Concatenate(arg0, "-m00f", Local0)
+ SRMT(Local0)
+ m00f(Local0)
+
+ // NAnd
+ Concatenate(arg0, "-m010", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m010(Local0)
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m012", Local0)
+ SRMT(Local0)
+ m012(Local0)
+
+ // NOr
+ Concatenate(arg0, "-m013", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m013(Local0)
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m015", Local0)
+ SRMT(Local0)
+ m015(Local0)
+
+ // Or
+ Concatenate(arg0, "-m016", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m016(Local0)
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m018", Local0)
+ SRMT(Local0)
+ m018(Local0)
+
+ // ShiftLeft
+ Concatenate(arg0, "-m019", Local0)
+ SRMT(Local0)
+ m019(Local0)
+ Concatenate(arg0, "-m01b", Local0)
+ SRMT(Local0)
+ m01b(Local0)
+
+ // ShiftRight
+ Concatenate(arg0, "-m01c", Local0)
+ SRMT(Local0)
+ m01c(Local0)
+ Concatenate(arg0, "-m01e", Local0)
+ SRMT(Local0)
+ m01e(Local0)
+
+ // Subtract
+ Concatenate(arg0, "-m01f", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m01f(Local0)
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m021", Local0)
+ SRMT(Local0)
+ m021(Local0)
+
+ // XOr
+ Concatenate(arg0, "-m022", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m022(Local0)
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m024", Local0)
+ SRMT(Local0)
+ m024(Local0)
+ }
+
+
+ // String to Integer conversion of each String operand
+ // of the 2-parameter Logical Integer operators LAnd and LOr
+
+ // LAnd, common 32-bit/64-bit test
+ Method(m025, 1)
+ {
+ // Conversion of the first operand
+
+ Store(LAnd(Derefof(Refof(s601)), 0), Local0)
+ m600(arg0, 0, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(s601)), 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(LAnd(Derefof(Refof(s601)), aui5), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(s601)), aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(Derefof(Refof(s601)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(s601)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(LAnd(Derefof(Refof(s601)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(s601)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(Derefof(Refof(s601)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(s601)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(Derefof(Refof(s601)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(s601)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(LAnd(0, Derefof(Refof(s601))), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LAnd(1, Derefof(Refof(s601))), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LAnd(aui5, Derefof(Refof(s601))), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LAnd(aui6, Derefof(Refof(s601))), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(Derefof(Refof(aui5)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(aui6)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(LAnd(Derefof(Index(paui, 5)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LAnd(Derefof(Index(paui, 6)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(m601(1, 5), Derefof(Refof(s601))), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LAnd(m601(1, 6), Derefof(Refof(s601))), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(Derefof(m602(1, 5, 1)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LAnd(Derefof(m602(1, 6, 1)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+ }
+
+ // LAnd, 64-bit
+ Method(m026, 1)
+ {
+ // Conversion of the first operand
+
+ Store(LAnd(Derefof(Refof(s605)), 0), Local0)
+ m600(arg0, 0, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(s605)), 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(LAnd(Derefof(Refof(s605)), aui5), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(s605)), aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(Derefof(Refof(s605)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(s605)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(LAnd(Derefof(Refof(s605)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(s605)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(Derefof(Refof(s605)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(s605)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(Derefof(Refof(s605)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(s605)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(LAnd(0, Derefof(Refof(s605))), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LAnd(1, Derefof(Refof(s605))), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LAnd(aui5, Derefof(Refof(s605))), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LAnd(aui6, Derefof(Refof(s605))), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(Derefof(Refof(aui5)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(aui6)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(LAnd(Derefof(Index(paui, 5)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LAnd(Derefof(Index(paui, 6)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(m601(1, 5), Derefof(Refof(s605))), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LAnd(m601(1, 6), Derefof(Refof(s605))), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(Derefof(m602(1, 5, 1)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LAnd(Derefof(m602(1, 6, 1)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+
+ // Conversion of the both operands
+
+ Store(LAnd(Derefof(Refof(s601)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 24, Local0, Ones)
+
+ Store(LAnd(Derefof(Refof(s605)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // LAnd, 32-bit
+ Method(m027, 1)
+ {
+ // Conversion of the first operand
+
+ Store(LAnd(Derefof(Refof(s604)), 0), Local0)
+ m600(arg0, 0, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(s604)), 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(LAnd(Derefof(Refof(s604)), aui5), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(s604)), aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(Derefof(Refof(s604)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(s604)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(LAnd(Derefof(Refof(s604)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(s604)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(Derefof(Refof(s604)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(s604)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(Derefof(Refof(s604)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(s604)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(LAnd(0, Derefof(Refof(s604))), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LAnd(1, Derefof(Refof(s604))), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LAnd(aui5, Derefof(Refof(s604))), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LAnd(aui6, Derefof(Refof(s604))), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(Derefof(Refof(aui5)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(aui6)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(LAnd(Derefof(Index(paui, 5)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LAnd(Derefof(Index(paui, 6)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(m601(1, 5), Derefof(Refof(s604))), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LAnd(m601(1, 6), Derefof(Refof(s604))), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(Derefof(m602(1, 5, 1)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LAnd(Derefof(m602(1, 6, 1)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+
+ // Conversion of the both operands
+
+ Store(LAnd(Derefof(Refof(s601)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 24, Local0, Ones)
+
+ Store(LAnd(Derefof(Refof(s604)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // Lor, common 32-bit/64-bit test
+ Method(m028, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Lor(Derefof(Refof(s600)), 0), Local0)
+ m600(arg0, 0, Local0, Zero)
+
+ Store(Lor(Derefof(Refof(s600)), 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(Lor(Derefof(Refof(s600)), aui5), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(Lor(Derefof(Refof(s600)), aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(Derefof(Refof(s600)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(Lor(Derefof(Refof(s600)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(Lor(Derefof(Refof(s600)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Zero)
+
+ Store(Lor(Derefof(Refof(s600)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(Derefof(Refof(s600)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Zero)
+
+ Store(Lor(Derefof(Refof(s600)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(Derefof(Refof(s600)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(Lor(Derefof(Refof(s600)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(Lor(0, Derefof(Refof(s600))), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(Lor(1, Derefof(Refof(s600))), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(Lor(aui5, Derefof(Refof(s600))), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(Lor(aui6, Derefof(Refof(s600))), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(Derefof(Refof(aui5)), Derefof(Refof(s600))), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(Lor(Derefof(Refof(aui6)), Derefof(Refof(s600))), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(Lor(Derefof(Index(paui, 5)), Derefof(Refof(s600))), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(Lor(Derefof(Index(paui, 6)), Derefof(Refof(s600))), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(m601(1, 5), Derefof(Refof(s600))), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(Lor(m601(1, 6), Derefof(Refof(s600))), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(Derefof(m602(1, 5, 1)), Derefof(Refof(s600))), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(Lor(Derefof(m602(1, 6, 1)), Derefof(Refof(s600))), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+ }
+
+ // Lor, 64-bit
+ Method(m029, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Lor(Derefof(Refof(s605)), 0), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(Lor(Derefof(Refof(s605)), 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(Lor(Derefof(Refof(s605)), aui5), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(Lor(Derefof(Refof(s605)), aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(Derefof(Refof(s605)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(Lor(Derefof(Refof(s605)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(Lor(Derefof(Refof(s605)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(Lor(Derefof(Refof(s605)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(Derefof(Refof(s605)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(Lor(Derefof(Refof(s605)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(Derefof(Refof(s605)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(Lor(Derefof(Refof(s605)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(Lor(0, Derefof(Refof(s605))), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(Lor(1, Derefof(Refof(s605))), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(Lor(aui5, Derefof(Refof(s605))), Local0)
+ m600(arg0, 14, Local0, Ones)
+
+ Store(Lor(aui6, Derefof(Refof(s605))), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(Derefof(Refof(aui5)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 16, Local0, Ones)
+
+ Store(Lor(Derefof(Refof(aui6)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(Lor(Derefof(Index(paui, 5)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 18, Local0, Ones)
+
+ Store(Lor(Derefof(Index(paui, 6)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(m601(1, 5), Derefof(Refof(s605))), Local0)
+ m600(arg0, 20, Local0, Ones)
+
+ Store(Lor(m601(1, 6), Derefof(Refof(s605))), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(Derefof(m602(1, 5, 1)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(Lor(Derefof(m602(1, 6, 1)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+
+ // Conversion of the both operands
+
+ Store(Lor(Derefof(Refof(s600)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 24, Local0, Ones)
+
+ Store(Lor(Derefof(Refof(s605)), Derefof(Refof(s600))), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // Lor, 32-bit
+ Method(m02a, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Lor(Derefof(Refof(s604)), 0), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(Lor(Derefof(Refof(s604)), 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(Lor(Derefof(Refof(s604)), aui5), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(Lor(Derefof(Refof(s604)), aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(Derefof(Refof(s604)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(Lor(Derefof(Refof(s604)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(Lor(Derefof(Refof(s604)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(Lor(Derefof(Refof(s604)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(Derefof(Refof(s604)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(Lor(Derefof(Refof(s604)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(Derefof(Refof(s604)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(Lor(Derefof(Refof(s604)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(Lor(0, Derefof(Refof(s604))), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(Lor(1, Derefof(Refof(s604))), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(Lor(aui5, Derefof(Refof(s604))), Local0)
+ m600(arg0, 14, Local0, Ones)
+
+ Store(Lor(aui6, Derefof(Refof(s604))), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(Derefof(Refof(aui5)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 16, Local0, Ones)
+
+ Store(Lor(Derefof(Refof(aui6)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(Lor(Derefof(Index(paui, 5)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 18, Local0, Ones)
+
+ Store(Lor(Derefof(Index(paui, 6)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(m601(1, 5), Derefof(Refof(s604))), Local0)
+ m600(arg0, 20, Local0, Ones)
+
+ Store(Lor(m601(1, 6), Derefof(Refof(s604))), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(Derefof(m602(1, 5, 1)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(Lor(Derefof(m602(1, 6, 1)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+
+ // Conversion of the both operands
+
+ Store(Lor(Derefof(Refof(s600)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 24, Local0, Ones)
+
+ Store(Lor(Derefof(Refof(s604)), Derefof(Refof(s600))), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ Method(m64e, 1)
+ {
+ // LAnd
+ Concatenate(arg0, "-m025", Local0)
+ SRMT(Local0)
+ m025(Local0)
+ Concatenate(arg0, "-m026", Local0)
+ SRMT(Local0)
+ m026(Local0)
+
+ // LOr
+ Concatenate(arg0, "-m028", Local0)
+ SRMT(Local0)
+ m028(Local0)
+ Concatenate(arg0, "-m029", Local0)
+ SRMT(Local0)
+ m029(Local0)
+ }
+
+ Method(m32e, 1)
+ {
+ // LAnd
+ Concatenate(arg0, "-m025", Local0)
+ SRMT(Local0)
+ m025(Local0)
+ Concatenate(arg0, "-m027", Local0)
+ SRMT(Local0)
+ m027(Local0)
+
+ // LOr
+ Concatenate(arg0, "-m028", Local0)
+ SRMT(Local0)
+ m028(Local0)
+ Concatenate(arg0, "-m02a", Local0)
+ SRMT(Local0)
+ m02a(Local0)
+ }
+
+
+ // String to Integer conversion of the String second operand of
+ // Logical operators when the first operand is evaluated as Integer
+ // (LEqual, LGreater, LGreaterEqual, LLess, LLessEqual, LNotEqual)
+
+ Method(m64f, 1)
+ {
+ // LEqual
+
+ Store(LEqual(0xfe7cb391d650a284, Derefof(Refof(s605))), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual(0xfe7cb391d650a285, Derefof(Refof(s605))), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(0xfe7cb391d650a283, Derefof(Refof(s605))), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LEqual(aui4, Derefof(Refof(s605))), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ Store(LEqual(auid, Derefof(Refof(s605))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LEqual(auif, Derefof(Refof(s605))), Local0)
+ m600(arg0, 5, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aui4)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(auid)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ Store(LEqual(Derefof(Refof(auif)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 8, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paui, 4)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paui, 13)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LEqual(Derefof(Index(paui, 15)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 11, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LEqual(m601(1, 4), Derefof(Refof(s605))), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(LEqual(m601(1, 13), Derefof(Refof(s605))), Local0)
+ m600(arg0, 13, Local0, Zero)
+
+ Store(LEqual(m601(1, 15), Derefof(Refof(s605))), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(1, 4, 1)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(1, 13, 1)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LEqual(Derefof(m602(1, 15, 1)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 17, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater(0xfe7cb391d650a284, Derefof(Refof(s605))), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(0xfe7cb391d650a285, Derefof(Refof(s605))), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ Store(LGreater(0xfe7cb391d650a283, Derefof(Refof(s605))), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(aui4, Derefof(Refof(s605))), Local0)
+ m600(arg0, 21, Local0, Zero)
+
+ Store(LGreater(auid, Derefof(Refof(s605))), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(LGreater(auif, Derefof(Refof(s605))), Local0)
+ m600(arg0, 23, Local0, Zero)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aui4)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(auid)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 25, Local0, Ones)
+
+ Store(LGreater(Derefof(Refof(auif)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 26, Local0, Zero)
+ }
+
+ Store(LGreater(Derefof(Index(paui, 4)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 27, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paui, 13)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 28, Local0, Ones)
+
+ Store(LGreater(Derefof(Index(paui, 15)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 29, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreater(m601(1, 4), Derefof(Refof(s605))), Local0)
+ m600(arg0, 30, Local0, Zero)
+
+ Store(LGreater(m601(1, 13), Derefof(Refof(s605))), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ Store(LGreater(m601(1, 15), Derefof(Refof(s605))), Local0)
+ m600(arg0, 32, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(1, 4, 1)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 33, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(1, 13, 1)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreater(Derefof(m602(1, 15, 1)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 35, Local0, Zero)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual(0xfe7cb391d650a284, Derefof(Refof(s605))), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(0xfe7cb391d650a285, Derefof(Refof(s605))), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ Store(LGreaterEqual(0xfe7cb391d650a283, Derefof(Refof(s605))), Local0)
+ m600(arg0, 38, Local0, Zero)
+
+ Store(LGreaterEqual(aui4, Derefof(Refof(s605))), Local0)
+ m600(arg0, 39, Local0, Ones)
+
+ Store(LGreaterEqual(auid, Derefof(Refof(s605))), Local0)
+ m600(arg0, 40, Local0, Ones)
+
+ Store(LGreaterEqual(auif, Derefof(Refof(s605))), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aui4)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auid)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 43, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auif)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 44, Local0, Zero)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paui, 4)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 45, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 13)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 46, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 15)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 47, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreaterEqual(m601(1, 4), Derefof(Refof(s605))), Local0)
+ m600(arg0, 48, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 13), Derefof(Refof(s605))), Local0)
+ m600(arg0, 49, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 15), Derefof(Refof(s605))), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(1, 4, 1)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 51, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 13, 1)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 52, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 15, 1)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLess
+
+ Store(LLess(0xfe7cb391d650a284, Derefof(Refof(s605))), Local0)
+ m600(arg0, 54, Local0, Zero)
+
+ Store(LLess(0xfe7cb391d650a285, Derefof(Refof(s605))), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLess(0xfe7cb391d650a283, Derefof(Refof(s605))), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLess(aui4, Derefof(Refof(s605))), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLess(auid, Derefof(Refof(s605))), Local0)
+ m600(arg0, 58, Local0, Zero)
+
+ Store(LLess(auif, Derefof(Refof(s605))), Local0)
+ m600(arg0, 59, Local0, Ones)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aui4)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 60, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auid)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 61, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auif)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 62, Local0, Ones)
+ }
+
+ Store(LLess(Derefof(Index(paui, 4)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 13)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 64, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 15)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 65, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLess(m601(1, 4), Derefof(Refof(s605))), Local0)
+ m600(arg0, 66, Local0, Zero)
+
+ Store(LLess(m601(1, 13), Derefof(Refof(s605))), Local0)
+ m600(arg0, 67, Local0, Zero)
+
+ Store(LLess(m601(1, 15), Derefof(Refof(s605))), Local0)
+ m600(arg0, 68, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLess(Derefof(m602(1, 4, 1)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 69, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 13, 1)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 70, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 15, 1)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 71, Local0, Ones)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual(0xfe7cb391d650a284, Derefof(Refof(s605))), Local0)
+ m600(arg0, 72, Local0, Ones)
+
+ Store(LLessEqual(0xfe7cb391d650a285, Derefof(Refof(s605))), Local0)
+ m600(arg0, 73, Local0, Zero)
+
+ Store(LLessEqual(0xfe7cb391d650a283, Derefof(Refof(s605))), Local0)
+ m600(arg0, 74, Local0, Ones)
+
+ Store(LLessEqual(aui4, Derefof(Refof(s605))), Local0)
+ m600(arg0, 75, Local0, Ones)
+
+ Store(LLessEqual(auid, Derefof(Refof(s605))), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LLessEqual(auif, Derefof(Refof(s605))), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aui4)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 78, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(auid)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 79, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Refof(auif)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 80, Local0, Ones)
+ }
+
+ Store(LLessEqual(Derefof(Index(paui, 4)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 81, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paui, 13)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 82, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Index(paui, 15)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 83, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLessEqual(m601(1, 4), Derefof(Refof(s605))), Local0)
+ m600(arg0, 84, Local0, Ones)
+
+ Store(LLessEqual(m601(1, 13), Derefof(Refof(s605))), Local0)
+ m600(arg0, 85, Local0, Zero)
+
+ Store(LLessEqual(m601(1, 15), Derefof(Refof(s605))), Local0)
+ m600(arg0, 86, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(1, 4, 1)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 87, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(1, 13, 1)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 88, Local0, Zero)
+
+ Store(LLessEqual(Derefof(m602(1, 15, 1)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 89, Local0, Ones)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual(0xfe7cb391d650a284, Derefof(Refof(s605))), Local0)
+ m600(arg0, 90, Local0, Zero)
+
+ Store(LNotEqual(0xfe7cb391d650a285, Derefof(Refof(s605))), Local0)
+ m600(arg0, 91, Local0, Ones)
+
+ Store(LNotEqual(0xfe7cb391d650a283, Derefof(Refof(s605))), Local0)
+ m600(arg0, 92, Local0, Ones)
+
+ Store(LNotEqual(aui4, Derefof(Refof(s605))), Local0)
+ m600(arg0, 93, Local0, Zero)
+
+ Store(LNotEqual(auid, Derefof(Refof(s605))), Local0)
+ m600(arg0, 94, Local0, Ones)
+
+ Store(LNotEqual(auif, Derefof(Refof(s605))), Local0)
+ m600(arg0, 95, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aui4)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 96, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(auid)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 97, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Refof(auif)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 98, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paui, 4)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 99, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paui, 13)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 100, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Index(paui, 15)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 101, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LNotEqual(m601(1, 4), Derefof(Refof(s605))), Local0)
+ m600(arg0, 102, Local0, Zero)
+
+ Store(LNotEqual(m601(1, 13), Derefof(Refof(s605))), Local0)
+ m600(arg0, 103, Local0, Ones)
+
+ Store(LNotEqual(m601(1, 15), Derefof(Refof(s605))), Local0)
+ m600(arg0, 104, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(1, 4, 1)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 105, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(1, 13, 1)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 106, Local0, Ones)
+
+ Store(LNotEqual(Derefof(m602(1, 15, 1)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 107, Local0, Ones)
+ }
+ }
+
+ Method(m32f, 1)
+ {
+ // LEqual
+
+ Store(LEqual(0xc179b3fe, Derefof(Refof(s604))), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual(0xc179b3ff, Derefof(Refof(s604))), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(0xc179b3fd, Derefof(Refof(s604))), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LEqual(aui3, Derefof(Refof(s604))), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ Store(LEqual(auic, Derefof(Refof(s604))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LEqual(auie, Derefof(Refof(s604))), Local0)
+ m600(arg0, 5, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aui3)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(auic)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ Store(LEqual(Derefof(Refof(auie)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 8, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paui, 3)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paui, 12)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LEqual(Derefof(Index(paui, 14)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 11, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LEqual(m601(1, 3), Derefof(Refof(s604))), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(LEqual(m601(1, 12), Derefof(Refof(s604))), Local0)
+ m600(arg0, 13, Local0, Zero)
+
+ Store(LEqual(m601(1, 14), Derefof(Refof(s604))), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(1, 3, 1)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(1, 12, 1)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LEqual(Derefof(m602(1, 14, 1)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 17, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater(0xc179b3fe, Derefof(Refof(s604))), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(0xc179b3ff, Derefof(Refof(s604))), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ Store(LGreater(0xc179b3fd, Derefof(Refof(s604))), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(aui3, Derefof(Refof(s604))), Local0)
+ m600(arg0, 21, Local0, Zero)
+
+ Store(LGreater(auic, Derefof(Refof(s604))), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(LGreater(auie, Derefof(Refof(s604))), Local0)
+ m600(arg0, 23, Local0, Zero)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aui3)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(auic)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 25, Local0, Ones)
+
+ Store(LGreater(Derefof(Refof(auie)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 26, Local0, Zero)
+ }
+
+ Store(LGreater(Derefof(Index(paui, 3)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 27, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paui, 12)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 28, Local0, Ones)
+
+ Store(LGreater(Derefof(Index(paui, 14)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 29, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreater(m601(1, 3), Derefof(Refof(s604))), Local0)
+ m600(arg0, 30, Local0, Zero)
+
+ Store(LGreater(m601(1, 12), Derefof(Refof(s604))), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ Store(LGreater(m601(1, 14), Derefof(Refof(s604))), Local0)
+ m600(arg0, 32, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(1, 3, 1)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 33, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(1, 12, 1)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreater(Derefof(m602(1, 14, 1)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 35, Local0, Zero)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual(0xc179b3fe, Derefof(Refof(s604))), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(0xc179b3ff, Derefof(Refof(s604))), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ Store(LGreaterEqual(0xc179b3fd, Derefof(Refof(s604))), Local0)
+ m600(arg0, 38, Local0, Zero)
+
+ Store(LGreaterEqual(aui3, Derefof(Refof(s604))), Local0)
+ m600(arg0, 39, Local0, Ones)
+
+ Store(LGreaterEqual(auic, Derefof(Refof(s604))), Local0)
+ m600(arg0, 40, Local0, Ones)
+
+ Store(LGreaterEqual(auie, Derefof(Refof(s604))), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aui3)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auic)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 43, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auie)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 44, Local0, Zero)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paui, 3)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 45, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 12)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 46, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 14)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 47, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreaterEqual(m601(1, 3), Derefof(Refof(s604))), Local0)
+ m600(arg0, 48, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 12), Derefof(Refof(s604))), Local0)
+ m600(arg0, 49, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 14), Derefof(Refof(s604))), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(1, 3, 1)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 51, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 12, 1)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 52, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 14, 1)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLess
+
+ Store(LLess(0xc179b3fe, Derefof(Refof(s604))), Local0)
+ m600(arg0, 54, Local0, Zero)
+
+ Store(LLess(0xc179b3ff, Derefof(Refof(s604))), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLess(0xc179b3fd, Derefof(Refof(s604))), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLess(aui3, Derefof(Refof(s604))), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLess(auic, Derefof(Refof(s604))), Local0)
+ m600(arg0, 58, Local0, Zero)
+
+ Store(LLess(auie, Derefof(Refof(s604))), Local0)
+ m600(arg0, 59, Local0, Ones)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aui3)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 60, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auic)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 61, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auie)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 62, Local0, Ones)
+ }
+
+ Store(LLess(Derefof(Index(paui, 3)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 12)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 64, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 14)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 65, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLess(m601(1, 3), Derefof(Refof(s604))), Local0)
+ m600(arg0, 66, Local0, Zero)
+
+ Store(LLess(m601(1, 12), Derefof(Refof(s604))), Local0)
+ m600(arg0, 67, Local0, Zero)
+
+ Store(LLess(m601(1, 14), Derefof(Refof(s604))), Local0)
+ m600(arg0, 68, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLess(Derefof(m602(1, 3, 1)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 69, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 12, 1)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 70, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 14, 1)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 71, Local0, Ones)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual(0xc179b3fe, Derefof(Refof(s604))), Local0)
+ m600(arg0, 72, Local0, Ones)
+
+ Store(LLessEqual(0xc179b3ff, Derefof(Refof(s604))), Local0)
+ m600(arg0, 73, Local0, Zero)
+
+ Store(LLessEqual(0xc179b3fd, Derefof(Refof(s604))), Local0)
+ m600(arg0, 74, Local0, Ones)
+
+ Store(LLessEqual(aui3, Derefof(Refof(s604))), Local0)
+ m600(arg0, 75, Local0, Ones)
+
+ Store(LLessEqual(auic, Derefof(Refof(s604))), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LLessEqual(auie, Derefof(Refof(s604))), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aui3)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 78, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(auic)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 79, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Refof(auie)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 80, Local0, Ones)
+ }
+
+ Store(LLessEqual(Derefof(Index(paui, 3)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 81, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paui, 12)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 82, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Index(paui, 14)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 83, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLessEqual(m601(1, 3), Derefof(Refof(s604))), Local0)
+ m600(arg0, 84, Local0, Ones)
+
+ Store(LLessEqual(m601(1, 12), Derefof(Refof(s604))), Local0)
+ m600(arg0, 85, Local0, Zero)
+
+ Store(LLessEqual(m601(1, 14), Derefof(Refof(s604))), Local0)
+ m600(arg0, 86, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(1, 3, 1)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 87, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(1, 12, 1)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 88, Local0, Zero)
+
+ Store(LLessEqual(Derefof(m602(1, 14, 1)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 89, Local0, Ones)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual(0xc179b3fe, Derefof(Refof(s604))), Local0)
+ m600(arg0, 90, Local0, Zero)
+
+ Store(LNotEqual(0xc179b3ff, Derefof(Refof(s604))), Local0)
+ m600(arg0, 91, Local0, Ones)
+
+ Store(LNotEqual(0xc179b3fd, Derefof(Refof(s604))), Local0)
+ m600(arg0, 92, Local0, Ones)
+
+ Store(LNotEqual(aui3, Derefof(Refof(s604))), Local0)
+ m600(arg0, 93, Local0, Zero)
+
+ Store(LNotEqual(auic, Derefof(Refof(s604))), Local0)
+ m600(arg0, 94, Local0, Ones)
+
+ Store(LNotEqual(auie, Derefof(Refof(s604))), Local0)
+ m600(arg0, 95, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aui3)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 96, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(auic)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 97, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Refof(auie)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 98, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paui, 3)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 99, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paui, 12)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 100, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Index(paui, 14)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 101, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LNotEqual(m601(1, 3), Derefof(Refof(s604))), Local0)
+ m600(arg0, 102, Local0, Zero)
+
+ Store(LNotEqual(m601(1, 12), Derefof(Refof(s604))), Local0)
+ m600(arg0, 103, Local0, Ones)
+
+ Store(LNotEqual(m601(1, 14), Derefof(Refof(s604))), Local0)
+ m600(arg0, 104, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(1, 3, 1)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 105, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(1, 12, 1)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 106, Local0, Ones)
+
+ Store(LNotEqual(Derefof(m602(1, 14, 1)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 107, Local0, Ones)
+ }
+ }
+
+ Method(m02b, 1)
+ {
+ // LEqual
+
+ Store(LEqual(0x321, Derefof(Refof(s601))), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual(0x322, Derefof(Refof(s601))), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(0x320, Derefof(Refof(s601))), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LEqual(aui1, Derefof(Refof(s601))), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ Store(LEqual(auig, Derefof(Refof(s601))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LEqual(auih, Derefof(Refof(s601))), Local0)
+ m600(arg0, 5, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aui1)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(auig)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ Store(LEqual(Derefof(Refof(auih)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 8, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paui, 1)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paui, 16)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LEqual(Derefof(Index(paui, 17)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 11, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LEqual(m601(1, 1), Derefof(Refof(s601))), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(LEqual(m601(1, 16), Derefof(Refof(s601))), Local0)
+ m600(arg0, 13, Local0, Zero)
+
+ Store(LEqual(m601(1, 17), Derefof(Refof(s601))), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(1, 1, 1)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(1, 16, 1)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LEqual(Derefof(m602(1, 17, 1)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 17, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater(0x321, Derefof(Refof(s601))), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(0x322, Derefof(Refof(s601))), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ Store(LGreater(0x320, Derefof(Refof(s601))), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(aui1, Derefof(Refof(s601))), Local0)
+ m600(arg0, 21, Local0, Zero)
+
+ Store(LGreater(auig, Derefof(Refof(s601))), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(LGreater(auih, Derefof(Refof(s601))), Local0)
+ m600(arg0, 23, Local0, Zero)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aui1)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(auig)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 25, Local0, Ones)
+
+ Store(LGreater(Derefof(Refof(auih)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 26, Local0, Zero)
+ }
+
+ Store(LGreater(Derefof(Index(paui, 1)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 27, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paui, 16)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 28, Local0, Ones)
+
+ Store(LGreater(Derefof(Index(paui, 17)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 29, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreater(m601(1, 1), Derefof(Refof(s601))), Local0)
+ m600(arg0, 30, Local0, Zero)
+
+ Store(LGreater(m601(1, 16), Derefof(Refof(s601))), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ Store(LGreater(m601(1, 17), Derefof(Refof(s601))), Local0)
+ m600(arg0, 32, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(1, 1, 1)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 33, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(1, 16, 1)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreater(Derefof(m602(1, 17, 1)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 35, Local0, Zero)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual(0x321, Derefof(Refof(s601))), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(0x322, Derefof(Refof(s601))), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ Store(LGreaterEqual(0x320, Derefof(Refof(s601))), Local0)
+ m600(arg0, 38, Local0, Zero)
+
+ Store(LGreaterEqual(aui1, Derefof(Refof(s601))), Local0)
+ m600(arg0, 39, Local0, Ones)
+
+ Store(LGreaterEqual(auig, Derefof(Refof(s601))), Local0)
+ m600(arg0, 40, Local0, Ones)
+
+ Store(LGreaterEqual(auih, Derefof(Refof(s601))), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aui1)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auig)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 43, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auih)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 44, Local0, Zero)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paui, 1)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 45, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 16)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 46, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 17)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 47, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreaterEqual(m601(1, 1), Derefof(Refof(s601))), Local0)
+ m600(arg0, 48, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 16), Derefof(Refof(s601))), Local0)
+ m600(arg0, 49, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 17), Derefof(Refof(s601))), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(1, 1, 1)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 51, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 16, 1)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 52, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 17, 1)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLess
+
+ Store(LLess(0x321, Derefof(Refof(s601))), Local0)
+ m600(arg0, 54, Local0, Zero)
+
+ Store(LLess(0x322, Derefof(Refof(s601))), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLess(0x320, Derefof(Refof(s601))), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLess(aui1, Derefof(Refof(s601))), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLess(auig, Derefof(Refof(s601))), Local0)
+ m600(arg0, 58, Local0, Zero)
+
+ Store(LLess(auih, Derefof(Refof(s601))), Local0)
+ m600(arg0, 59, Local0, Ones)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aui1)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 60, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auig)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 61, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auih)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 62, Local0, Ones)
+ }
+
+ Store(LLess(Derefof(Index(paui, 1)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 16)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 64, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 17)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 65, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLess(m601(1, 1), Derefof(Refof(s601))), Local0)
+ m600(arg0, 66, Local0, Zero)
+
+ Store(LLess(m601(1, 16), Derefof(Refof(s601))), Local0)
+ m600(arg0, 67, Local0, Zero)
+
+ Store(LLess(m601(1, 17), Derefof(Refof(s601))), Local0)
+ m600(arg0, 68, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLess(Derefof(m602(1, 1, 1)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 69, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 16, 1)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 70, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 17, 1)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 71, Local0, Ones)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual(0x321, Derefof(Refof(s601))), Local0)
+ m600(arg0, 72, Local0, Ones)
+
+ Store(LLessEqual(0x322, Derefof(Refof(s601))), Local0)
+ m600(arg0, 73, Local0, Zero)
+
+ Store(LLessEqual(0x320, Derefof(Refof(s601))), Local0)
+ m600(arg0, 74, Local0, Ones)
+
+ Store(LLessEqual(aui1, Derefof(Refof(s601))), Local0)
+ m600(arg0, 75, Local0, Ones)
+
+ Store(LLessEqual(auig, Derefof(Refof(s601))), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LLessEqual(auih, Derefof(Refof(s601))), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aui1)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 78, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(auig)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 79, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Refof(auih)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 80, Local0, Ones)
+ }
+
+ Store(LLessEqual(Derefof(Index(paui, 1)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 81, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paui, 16)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 82, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Index(paui, 17)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 83, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLessEqual(m601(1, 1), Derefof(Refof(s601))), Local0)
+ m600(arg0, 84, Local0, Ones)
+
+ Store(LLessEqual(m601(1, 16), Derefof(Refof(s601))), Local0)
+ m600(arg0, 85, Local0, Zero)
+
+ Store(LLessEqual(m601(1, 17), Derefof(Refof(s601))), Local0)
+ m600(arg0, 86, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(1, 1, 1)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 87, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(1, 16, 1)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 88, Local0, Zero)
+
+ Store(LLessEqual(Derefof(m602(1, 17, 1)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 89, Local0, Ones)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual(0x321, Derefof(Refof(s601))), Local0)
+ m600(arg0, 90, Local0, Zero)
+
+ Store(LNotEqual(0x322, Derefof(Refof(s601))), Local0)
+ m600(arg0, 91, Local0, Ones)
+
+ Store(LNotEqual(0x320, Derefof(Refof(s601))), Local0)
+ m600(arg0, 92, Local0, Ones)
+
+ Store(LNotEqual(aui1, Derefof(Refof(s601))), Local0)
+ m600(arg0, 93, Local0, Zero)
+
+ Store(LNotEqual(auig, Derefof(Refof(s601))), Local0)
+ m600(arg0, 94, Local0, Ones)
+
+ Store(LNotEqual(auih, Derefof(Refof(s601))), Local0)
+ m600(arg0, 95, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aui1)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 96, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(auig)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 97, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Refof(auih)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 98, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paui, 1)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 99, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paui, 16)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 100, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Index(paui, 17)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 101, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LNotEqual(m601(1, 1), Derefof(Refof(s601))), Local0)
+ m600(arg0, 102, Local0, Zero)
+
+ Store(LNotEqual(m601(1, 16), Derefof(Refof(s601))), Local0)
+ m600(arg0, 103, Local0, Ones)
+
+ Store(LNotEqual(m601(1, 17), Derefof(Refof(s601))), Local0)
+ m600(arg0, 104, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(1, 1, 1)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 105, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(1, 16, 1)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 106, Local0, Ones)
+
+ Store(LNotEqual(Derefof(m602(1, 17, 1)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 107, Local0, Ones)
+ }
+ }
+
+ // String to Integer intermediate conversion of the String second
+ // operand of Concatenate operator in case the first one is Integer
+
+ Method(m64g, 1)
+ {
+ Store(Concatenate(0x321, Derefof(Refof(s601))), Local0)
+ m600(arg0, 0, Local0, bb26)
+
+ Store(Concatenate(0x321, Derefof(Refof(s605))), Local0)
+ m600(arg0, 1, Local0, bb21)
+
+
+ Store(Concatenate(aui1, Derefof(Refof(s601))), Local0)
+ m600(arg0, 2, Local0, bb26)
+
+ Store(Concatenate(aui1, Derefof(Refof(s605))), Local0)
+ m600(arg0, 3, Local0, bb21)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aui1)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 4, Local0, bb26)
+
+ Store(Concatenate(Derefof(Refof(aui1)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 5, Local0, bb21)
+ }
+
+ Store(Concatenate(Derefof(Index(paui, 1)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 6, Local0, bb26)
+
+ Store(Concatenate(Derefof(Index(paui, 1)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 7, Local0, bb21)
+
+ // Method returns Integer
+
+ Store(Concatenate(m601(1, 1), Derefof(Refof(s601))), Local0)
+ m600(arg0, 8, Local0, bb26)
+
+ Store(Concatenate(m601(1, 1), Derefof(Refof(s605))), Local0)
+ m600(arg0, 9, Local0, bb21)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(1, 1, 1)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 10, Local0, bb26)
+
+ Store(Concatenate(Derefof(m602(1, 1, 1)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 11, Local0, bb21)
+ }
+
+ Concatenate(0x321, Derefof(Refof(s601)), Local0)
+ m600(arg0, 12, Local0, bb26)
+
+ Concatenate(0x321, Derefof(Refof(s605)), Local0)
+ m600(arg0, 13, Local0, bb21)
+
+
+ Concatenate(aui1, Derefof(Refof(s601)), Local0)
+ m600(arg0, 14, Local0, bb26)
+
+ Concatenate(aui1, Derefof(Refof(s605)), Local0)
+ m600(arg0, 15, Local0, bb21)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aui1)), Derefof(Refof(s601)), Local0)
+ m600(arg0, 16, Local0, bb26)
+
+ Concatenate(Derefof(Refof(aui1)), Derefof(Refof(s605)), Local0)
+ m600(arg0, 17, Local0, bb21)
+ }
+
+ Concatenate(Derefof(Index(paui, 1)), Derefof(Refof(s601)), Local0)
+ m600(arg0, 18, Local0, bb26)
+
+ Concatenate(Derefof(Index(paui, 1)), Derefof(Refof(s605)), Local0)
+ m600(arg0, 19, Local0, bb21)
+
+ // Method returns Integer
+
+ Concatenate(m601(1, 1), Derefof(Refof(s601)), Local0)
+ m600(arg0, 20, Local0, bb26)
+
+ Concatenate(m601(1, 1), Derefof(Refof(s605)), Local0)
+ m600(arg0, 21, Local0, bb21)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Concatenate(Derefof(m602(1, 1, 1)), Derefof(Refof(s601)), Local0)
+ m600(arg0, 22, Local0, bb26)
+
+ Concatenate(Derefof(m602(1, 1, 1)), Derefof(Refof(s605)), Local0)
+ m600(arg0, 23, Local0, bb21)
+ }
+ }
+
+ Method(m32g, 1)
+ {
+ Store(Concatenate(0x321, Derefof(Refof(s601))), Local0)
+ m600(arg0, 0, Local0, bb27)
+
+ Store(Concatenate(0x321, Derefof(Refof(s604))), Local0)
+ m600(arg0, 1, Local0, bb24)
+
+
+ Store(Concatenate(aui1, Derefof(Refof(s601))), Local0)
+ m600(arg0, 2, Local0, bb27)
+
+ Store(Concatenate(aui1, Derefof(Refof(s604))), Local0)
+ m600(arg0, 3, Local0, bb24)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aui1)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 4, Local0, bb27)
+
+ Store(Concatenate(Derefof(Refof(aui1)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 5, Local0, bb24)
+ }
+
+ Store(Concatenate(Derefof(Index(paui, 1)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 6, Local0, bb27)
+
+ Store(Concatenate(Derefof(Index(paui, 1)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 7, Local0, bb24)
+
+ // Method returns Integer
+
+ Store(Concatenate(m601(1, 1), Derefof(Refof(s601))), Local0)
+ m600(arg0, 8, Local0, bb27)
+
+ Store(Concatenate(m601(1, 1), Derefof(Refof(s604))), Local0)
+ m600(arg0, 9, Local0, bb24)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(1, 1, 1)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 10, Local0, bb27)
+
+ Store(Concatenate(Derefof(m602(1, 1, 1)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 11, Local0, bb24)
+ }
+
+ Concatenate(0x321, Derefof(Refof(s601)), Local0)
+ m600(arg0, 12, Local0, bb27)
+
+ Concatenate(0x321, Derefof(Refof(s604)), Local0)
+ m600(arg0, 13, Local0, bb24)
+
+
+ Concatenate(aui1, Derefof(Refof(s601)), Local0)
+ m600(arg0, 14, Local0, bb27)
+
+ Concatenate(aui1, Derefof(Refof(s604)), Local0)
+ m600(arg0, 15, Local0, bb24)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aui1)), Derefof(Refof(s601)), Local0)
+ m600(arg0, 16, Local0, bb27)
+
+ Concatenate(Derefof(Refof(aui1)), Derefof(Refof(s604)), Local0)
+ m600(arg0, 17, Local0, bb24)
+ }
+
+ Concatenate(Derefof(Index(paui, 1)), Derefof(Refof(s601)), Local0)
+ m600(arg0, 18, Local0, bb27)
+
+ Concatenate(Derefof(Index(paui, 1)), Derefof(Refof(s604)), Local0)
+ m600(arg0, 20, Local0, bb24)
+
+ // Method returns Integer
+
+ Concatenate(m601(1, 1), Derefof(Refof(s601)), Local0)
+ m600(arg0, 21, Local0, bb27)
+
+ Concatenate(m601(1, 1), Derefof(Refof(s604)), Local0)
+ m600(arg0, 22, Local0, bb24)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Concatenate(Derefof(m602(1, 1, 1)), Derefof(Refof(s601)), Local0)
+ m600(arg0, 23, Local0, bb27)
+
+ Concatenate(Derefof(m602(1, 1, 1)), Derefof(Refof(s604)), Local0)
+ m600(arg0, 24, Local0, bb24)
+ }
+ }
+
+ // String to Integer conversion of the String Length (second)
+ // operand of the ToString operator
+
+ // Common 32-bit/64-bit test
+ Method(m02c, 1)
+ {
+ Store(ToString(Buffer() {"This is auxiliary Buffer"},
+ Derefof(Refof(s614))), Local0)
+ m600(arg0, 0, Local0, bs1b)
+
+ Store(ToString(Buffer() {"This is auxiliary Buffer"},
+ Derefof(Refof(s601))), Local0)
+ m600(arg0, 1, Local0, bs1c)
+
+ Store(ToString(aub6, Derefof(Refof(s614))), Local0)
+ m600(arg0, 2, Local0, bs1b)
+
+ Store(ToString(aub6, Derefof(Refof(s601))), Local0)
+ m600(arg0, 3, Local0, bs1c)
+
+ if (y078) {
+ Store(ToString(Derefof(Refof(aub6)), Derefof(Refof(s614))), Local0)
+ m600(arg0, 4, Local0, bs1b)
+
+ Store(ToString(Derefof(Refof(aub6)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 5, Local0, bs1c)
+ }
+
+ Store(ToString(Derefof(Index(paub, 6)), Derefof(Refof(s614))), Local0)
+ m600(arg0, 6, Local0, bs1b)
+
+ Store(ToString(Derefof(Index(paub, 6)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 7, Local0, bs1c)
+
+ // Method returns Buffer
+
+ Store(ToString(m601(3, 6), Derefof(Refof(s614))), Local0)
+ m600(arg0, 8, Local0, bs1b)
+
+ Store(ToString(m601(3, 6), Derefof(Refof(s601))), Local0)
+ m600(arg0, 9, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(ToString(Derefof(m602(3, 6, 1)), Derefof(Refof(s614))), Local0)
+ m600(arg0, 10, Local0, bs1b)
+
+ Store(ToString(Derefof(m602(3, 6, 1)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 11, Local0, bs1c)
+ }
+
+ ToString(Buffer() {"This is auxiliary Buffer"},
+ Derefof(Refof(s614)), Local0)
+ m600(arg0, 12, Local0, bs1b)
+
+ ToString(Buffer() {"This is auxiliary Buffer"},
+ Derefof(Refof(s601)), Local0)
+ m600(arg0, 13, Local0, bs1c)
+
+ ToString(aub6, Derefof(Refof(s614)), Local0)
+ m600(arg0, 14, Local0, bs1b)
+
+ ToString(aub6, Derefof(Refof(s601)), Local0)
+ m600(arg0, 15, Local0, bs1c)
+
+ if (y078) {
+ ToString(Derefof(Refof(aub6)), Derefof(Refof(s614)), Local0)
+ m600(arg0, 16, Local0, bs1b)
+
+ ToString(Derefof(Refof(aub6)), Derefof(Refof(s601)), Local0)
+ m600(arg0, 17, Local0, bs1c)
+ }
+
+ ToString(Derefof(Index(paub, 6)), Derefof(Refof(s614)), Local0)
+ m600(arg0, 18, Local0, bs1b)
+
+ ToString(Derefof(Index(paub, 6)), Derefof(Refof(s601)), Local0)
+ m600(arg0, 19, Local0, bs1c)
+
+ // Method returns Buffer
+
+ ToString(m601(3, 6), Derefof(Refof(s614)), Local0)
+ m600(arg0, 20, Local0, bs1b)
+
+ ToString(m601(3, 6), Derefof(Refof(s601)), Local0)
+ m600(arg0, 21, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ ToString(Derefof(m602(3, 6, 1)), Derefof(Refof(s614)), Local0)
+ m600(arg0, 22, Local0, bs1b)
+
+ ToString(Derefof(m602(3, 6, 1)), Derefof(Refof(s601)), Local0)
+ m600(arg0, 23, Local0, bs1c)
+ }
+ }
+
+ Method(m64h, 1)
+ {
+ Store(ToString(Buffer() {"This is auxiliary Buffer"},
+ Derefof(Refof(s605))), Local0)
+ m600(arg0, 0, Local0, bs1c)
+
+ Store(ToString(aub6, Derefof(Refof(s605))), Local0)
+ m600(arg0, 1, Local0, bs1c)
+
+ if (y078) {
+ Store(ToString(Derefof(Refof(aub6)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 2, Local0, bs1c)
+ }
+
+ Store(ToString(Derefof(Index(paub, 6)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 3, Local0, bs1c)
+
+ // Method returns Buffer
+
+ Store(ToString(m601(3, 6), Derefof(Refof(s605))), Local0)
+ m600(arg0, 4, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(ToString(Derefof(m602(3, 6, 1)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 5, Local0, bs1c)
+ }
+
+ ToString(Buffer() {"This is auxiliary Buffer"},
+ Derefof(Refof(s605)), Local0)
+ m600(arg0, 6, Local0, bs1c)
+
+ ToString(aub6, Derefof(Refof(s605)), Local0)
+ m600(arg0, 7, Local0, bs1c)
+
+ if (y078) {
+ ToString(Derefof(Refof(aub6)), Derefof(Refof(s605)), Local0)
+ m600(arg0, 8, Local0, bs1c)
+ }
+
+ ToString(Derefof(Index(paub, 6)), Derefof(Refof(s605)), Local0)
+ m600(arg0, 9, Local0, bs1c)
+
+ // Method returns Buffer
+
+ ToString(m601(3, 6), Derefof(Refof(s605)), Local0)
+ m600(arg0, 10, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ ToString(Derefof(m602(3, 6, 1)), Derefof(Refof(s605)), Local0)
+ m600(arg0, 11, Local0, bs1c)
+ }
+ }
+
+ Method(m32h, 1)
+ {
+ Store(ToString(Buffer() {"This is auxiliary Buffer"},
+ Derefof(Refof(s604))), Local0)
+ m600(arg0, 0, Local0, bs1c)
+
+ Store(ToString(aub6, Derefof(Refof(s604))), Local0)
+ m600(arg0, 1, Local0, bs1c)
+
+ if (y078) {
+ Store(ToString(Derefof(Refof(aub6)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 2, Local0, bs1c)
+ }
+
+ Store(ToString(Derefof(Index(paub, 6)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 3, Local0, bs1c)
+
+ // Method returns Buffer
+
+ Store(ToString(m601(3, 6), Derefof(Refof(s604))), Local0)
+ m600(arg0, 4, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(ToString(Derefof(m602(3, 6, 1)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 5, Local0, bs1c)
+ }
+
+ ToString(Buffer() {"This is auxiliary Buffer"},
+ Derefof(Refof(s604)), Local0)
+ m600(arg0, 6, Local0, bs1c)
+
+ ToString(aub6, Derefof(Refof(s604)), Local0)
+ m600(arg0, 7, Local0, bs1c)
+
+ if (y078) {
+ ToString(Derefof(Refof(aub6)), Derefof(Refof(s604)), Local0)
+ m600(arg0, 8, Local0, bs1c)
+ }
+
+ ToString(Derefof(Index(paub, 6)), Derefof(Refof(s604)), Local0)
+ m600(arg0, 9, Local0, bs1c)
+
+ // Method returns Buffer
+
+ ToString(m601(3, 6), Derefof(Refof(s604)), Local0)
+ m600(arg0, 10, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ ToString(Derefof(m602(3, 6, 1)), Derefof(Refof(s604)), Local0)
+ m600(arg0, 11, Local0, bs1c)
+ }
+ }
+
+ // String to Integer conversion of the String Index (second)
+ // operand of the Index operator
+ Method(m02d, 1)
+ {
+ Store(Index(aus6, Derefof(Refof(s614))), Local0)
+ m600(arg0, 0, Derefof(Local0), bi10)
+
+ Store(Index(aub6, Derefof(Refof(s614))), Local0)
+ m600(arg0, 1, Derefof(Local0), bi10)
+
+ Store(Index(aup0, Derefof(Refof(s614))), Local0)
+ m600(arg0, 2, Derefof(Local0), bi11)
+
+ if (y078) {
+ Store(Index(Derefof(Refof(aus6)), Derefof(Refof(s614))), Local0)
+ m600(arg0, 3, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Refof(aub6)), Derefof(Refof(s614))), Local0)
+ m600(arg0, 4, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Refof(aup0)), Derefof(Refof(s614))), Local0)
+ m600(arg0, 5, Derefof(Local0), bi11)
+ }
+
+ Store(Index(Derefof(Index(paus, 6)), Derefof(Refof(s614))), Local0)
+ m600(arg0, 6, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Index(paub, 6)), Derefof(Refof(s614))), Local0)
+ m600(arg0, 7, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Index(paup, 0)), Derefof(Refof(s614))), Local0)
+ m600(arg0, 8, Derefof(Local0), bi11)
+
+
+ // Method returns Object
+
+ if (y900) {
+ Store(Index(m601(2, 6), Derefof(Refof(s614))), Local0)
+ m600(arg0, 9, Derefof(Local0), bi10)
+
+ Store(Index(m601(3, 6), Derefof(Refof(s614))), Local0)
+ m600(arg0, 10, Derefof(Local0), bi10)
+
+ Store(Index(m601(4, 0), Derefof(Refof(s614))), Local0)
+ m600(arg0, 11, Derefof(Local0), bi11)
+ } else {
+
+ CH03(arg0, z091, 0, 0, 0)
+
+ Index(m601(2, 6), Derefof(Refof(s614)))
+ CH04(arg0, 0, 85, z091, 9, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+
+ Index(m601(3, 6), Derefof(Refof(s614)))
+ CH04(arg0, 0, 85, z091, 10, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+
+ Index(m601(4, 0), Derefof(Refof(s614)))
+ CH04(arg0, 0, 85, z091, 11, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+ }
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Index(Derefof(m602(2, 6, 1)), Derefof(Refof(s614))), Local0)
+ m600(arg0, 12, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(m602(3, 6, 1)), Derefof(Refof(s614))), Local0)
+ m600(arg0, 13, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(m602(4, 0, 1)), Derefof(Refof(s614))), Local0)
+ m600(arg0, 14, Derefof(Local0), bi11)
+ }
+
+ Index(aus6, Derefof(Refof(s614)), Local0)
+ m600(arg0, 15, Derefof(Local0), bi10)
+
+ Index(aub6, Derefof(Refof(s614)), Local0)
+ m600(arg0, 16, Derefof(Local0), bi10)
+
+ Index(aup0, Derefof(Refof(s614)), Local0)
+ m600(arg0, 17, Derefof(Local0), bi11)
+
+ if (y078) {
+ Index(Derefof(Refof(aus6)), Derefof(Refof(s614)), Local0)
+ m600(arg0, 18, Derefof(Local0), bi10)
+
+ Index(Derefof(Refof(aub6)), Derefof(Refof(s614)), Local0)
+ m600(arg0, 19, Derefof(Local0), bi10)
+
+ Index(Derefof(Refof(aup0)), Derefof(Refof(s614)), Local0)
+ m600(arg0, 20, Derefof(Local0), bi11)
+ }
+
+ Index(Derefof(Index(paus, 6)), Derefof(Refof(s614)), Local0)
+ m600(arg0, 21, Derefof(Local0), bi10)
+
+ Index(Derefof(Index(paub, 6)), Derefof(Refof(s614)), Local0)
+ m600(arg0, 22, Derefof(Local0), bi10)
+
+ Index(Derefof(Index(paup, 0)), Derefof(Refof(s614)), Local0)
+ m600(arg0, 23, Derefof(Local0), bi11)
+
+
+ // Method returns Object
+
+ if (y900) {
+ Index(m601(2, 6), Derefof(Refof(s614)), Local0)
+ m600(arg0, 24, Derefof(Local0), bi10)
+
+ Index(m601(3, 6), Derefof(Refof(s614)), Local0)
+ m600(arg0, 25, Derefof(Local0), bi10)
+
+ Index(m601(4, 0), Derefof(Refof(s614)), Local0)
+ m600(arg0, 26, Derefof(Local0), bi11)
+ } else {
+
+ CH03(arg0, z091, 0, 0, 0)
+
+ Index(m601(2, 6), Derefof(Refof(s614)), Local0)
+ CH04(arg0, 0, 85, z091, 24, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+
+ Index(m601(3, 6), Derefof(Refof(s614)), Local0)
+ CH04(arg0, 0, 85, z091, 25, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+
+ Index(m601(4, 0), Derefof(Refof(s614)), Local0)
+ CH04(arg0, 0, 85, z091, 26, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+ }
+
+ // Method returns Reference
+
+ if (y500) {
+ Index(Derefof(m602(2, 6, 1)), Derefof(Refof(s614)), Local0)
+ m600(arg0, 27, Derefof(Local0), bi10)
+
+ Index(Derefof(m602(3, 6, 1)), Derefof(Refof(s614)), Local0)
+ m600(arg0, 28, Derefof(Local0), bi10)
+
+ Index(Derefof(m602(4, 0, 1)), Derefof(Refof(s614)), Local0)
+ m600(arg0, 29, Derefof(Local0), bi11)
+ }
+
+ if (y098) {
+ Store(Index(aus6, Derefof(Refof(s614)), Local1), Local0)
+ m600(arg0, 30, Derefof(Local0), bi10)
+
+ Store(Index(aub6, Derefof(Refof(s614)), Local1), Local0)
+ m600(arg0, 31, Derefof(Local0), bi10)
+
+ Store(Index(aup0, Derefof(Refof(s614)), Local1), Local0)
+ m600(arg0, 32, Derefof(Local0), bi11)
+ }
+
+ if (y078) {
+ Store(Index(Derefof(Refof(aus6)), Derefof(Refof(s614)), Local1), Local0)
+ m600(arg0, 33, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Refof(aub6)), Derefof(Refof(s614)), Local1), Local0)
+ m600(arg0, 34, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Refof(aup0)), Derefof(Refof(s614)), Local1), Local0)
+ m600(arg0, 35, Derefof(Local0), bi11)
+ }
+
+ if (y098) {
+ Store(Index(Derefof(Index(paus, 6)), Derefof(Refof(s614)), Local1), Local0)
+ m600(arg0, 36, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Index(paub, 6)), Derefof(Refof(s614)), Local1), Local0)
+ m600(arg0, 37, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Index(paup, 0)), Derefof(Refof(s614)), Local1), Local0)
+ m600(arg0, 38, Derefof(Local0), bi11)
+ }
+
+ // Method returns Object
+
+ if (LAnd(y900, y098)) {
+ Store(Index(m601(2, 6), Derefof(Refof(s614)), Local1), Local0)
+ m600(arg0, 39, Derefof(Local0), bi10)
+
+ Store(Index(m601(3, 6), Derefof(Refof(s614)), Local1), Local0)
+ m600(arg0, 40, Derefof(Local0), bi10)
+
+ Store(Index(m601(4, 0), Derefof(Refof(s614)), Local1), Local0)
+ m600(arg0, 41, Derefof(Local0), bi11)
+ }
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Index(Derefof(m602(2, 6, 1)), Derefof(Refof(s614)), Local1), Local0)
+ m600(arg0, 42, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(m602(3, 6, 1)), Derefof(Refof(s614)), Local1), Local0)
+ m600(arg0, 43, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(m602(4, 0, 1)), Derefof(Refof(s614)), Local1), Local0)
+ m600(arg0, 44, Derefof(Local0), bi11)
+ }
+ }
+
+ // String to Integer conversion of the String Arg (third)
+ // operand of the Fatal operator
+ // (it can only be checked an exception does not occur)
+ Method(m02e, 1)
+ {
+ CH03(arg0, z091, 0, 0, 0)
+ Fatal(0xff, 0xffffffff, Derefof(Refof(s601)))
+ if (F64) {
+ Fatal(0xff, 0xffffffff, Derefof(Refof(s605)))
+ } else {
+ Fatal(0xff, 0xffffffff, Derefof(Refof(s604)))
+ }
+ CH03(arg0, z091, 1, 0, 0)
+ }
+
+ // String to Integer conversion of the String Index and Length
+ // operands of the Mid operator
+
+ // Common 32-bit/64-bit test
+ Method(m02f, 1)
+ {
+ // String to Integer conversion of the String Index operand
+
+ Store(Mid("This is auxiliary String", Derefof(Refof(s614)), 10), Local0)
+ m600(arg0, 0, Local0, bs1d)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, Derefof(Refof(s614)), 10), Local0)
+ m600(arg0, 1, Local0, bb32)
+
+ Store(Mid(aus6, Derefof(Refof(s614)), 10), Local0)
+ m600(arg0, 2, Local0, bs1d)
+
+ Store(Mid(aub6, Derefof(Refof(s614)), 10), Local0)
+ m600(arg0, 3, Local0, bb32)
+
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), Derefof(Refof(s614)), 10), Local0)
+ m600(arg0, 4, Local0, bs1d)
+
+ Store(Mid(Derefof(Refof(aub6)), Derefof(Refof(s614)), 10), Local0)
+ m600(arg0, 5, Local0, bb32)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), Derefof(Refof(s614)), 10), Local0)
+ m600(arg0, 6, Local0, bs1d)
+
+ Store(Mid(Derefof(Index(paub, 6)), Derefof(Refof(s614)), 10), Local0)
+ m600(arg0, 7, Local0, bb32)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), Derefof(Refof(s614)), 10), Local0)
+ m600(arg0, 8, Local0, bs1d)
+
+ Store(Mid(m601(3, 6), Derefof(Refof(s614)), 10), Local0)
+ m600(arg0, 9, Local0, bb32)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), Derefof(Refof(s614)), 10), Local0)
+ m600(arg0, 10, Local0, bs1d)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), Derefof(Refof(s614)), 10), Local0)
+ m600(arg0, 11, Local0, bb32)
+ }
+
+ Mid("This is auxiliary String", Derefof(Refof(s614)), 10, Local0)
+ m600(arg0, 12, Local0, bs1d)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, Derefof(Refof(s614)), 10, Local0)
+ m600(arg0, 13, Local0, bb32)
+
+ Mid(aus6, Derefof(Refof(s614)), 10, Local0)
+ m600(arg0, 14, Local0, bs1d)
+
+ Mid(aub6, Derefof(Refof(s614)), 10, Local0)
+ m600(arg0, 15, Local0, bb32)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), Derefof(Refof(s614)), 10, Local0)
+ m600(arg0, 16, Local0, bs1d)
+
+ Mid(Derefof(Refof(aub6)), Derefof(Refof(s614)), 10, Local0)
+ m600(arg0, 17, Local0, bb32)
+ }
+
+ Mid(Derefof(Index(paus, 6)), Derefof(Refof(s614)), 10, Local0)
+ m600(arg0, 18, Local0, bs1d)
+
+ Mid(Derefof(Index(paub, 6)), Derefof(Refof(s614)), 10, Local0)
+ m600(arg0, 19, Local0, bb32)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), Derefof(Refof(s614)), 10, Local0)
+ m600(arg0, 20, Local0, bs1d)
+
+ Mid(m601(3, 6), Derefof(Refof(s614)), 10, Local0)
+ m600(arg0, 21, Local0, bb32)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), Derefof(Refof(s614)), 10, Local0)
+ m600(arg0, 22, Local0, bs1d)
+
+ Mid(Derefof(m602(3, 6, 1)), Derefof(Refof(s614)), 10, Local0)
+ m600(arg0, 23, Local0, bb32)
+ }
+
+ // String to Integer conversion of the String Length operand
+
+ Store(Mid("This is auxiliary String", 0, Derefof(Refof(s614))), Local0)
+ m600(arg0, 24, Local0, bs1b)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, 0, Derefof(Refof(s614))), Local0)
+ m600(arg0, 25, Local0, bb33)
+
+ Store(Mid(aus6, 0, Derefof(Refof(s614))), Local0)
+ m600(arg0, 26, Local0, bs1b)
+
+ Store(Mid(aub6, 0, Derefof(Refof(s614))), Local0)
+ m600(arg0, 27, Local0, bb33)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), 0, Derefof(Refof(s614))), Local0)
+ m600(arg0, 28, Local0, bs1b)
+
+ Store(Mid(Derefof(Refof(aub6)), 0, Derefof(Refof(s614))), Local0)
+ m600(arg0, 29, Local0, bb33)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), 0, Derefof(Refof(s614))), Local0)
+ m600(arg0, 30, Local0, bs1b)
+
+ Store(Mid(Derefof(Index(paub, 6)), 0, Derefof(Refof(s614))), Local0)
+ m600(arg0, 31, Local0, bb33)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), 0, Derefof(Refof(s614))), Local0)
+ m600(arg0, 32, Local0, bs1b)
+
+ Store(Mid(m601(3, 6), 0, Derefof(Refof(s614))), Local0)
+ m600(arg0, 33, Local0, bb33)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), 0, Derefof(Refof(s614))), Local0)
+ m600(arg0, 34, Local0, bs1b)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), 0, Derefof(Refof(s614))), Local0)
+ m600(arg0, 35, Local0, bb33)
+ }
+
+ Mid("This is auxiliary String", 0, Derefof(Refof(s614)), Local0)
+ m600(arg0, 36, Local0, bs1b)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, 0, Derefof(Refof(s614)), Local0)
+ m600(arg0, 37, Local0, bb33)
+
+ Mid(aus6, 0, Derefof(Refof(s614)), Local0)
+ m600(arg0, 37, Local0, bs1b)
+
+ Mid(aub6, 0, Derefof(Refof(s614)), Local0)
+ m600(arg0, 39, Local0, bb33)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), 0, Derefof(Refof(s614)), Local0)
+ m600(arg0, 40, Local0, bs1b)
+
+ Mid(Derefof(Refof(aub6)), 0, Derefof(Refof(s614)), Local0)
+ m600(arg0, 41, Local0, bb33)
+ }
+
+ Mid(Derefof(Index(paus, 6)), 0, Derefof(Refof(s614)), Local0)
+ m600(arg0, 42, Local0, bs1b)
+
+ Mid(Derefof(Index(paub, 6)), 0, Derefof(Refof(s614)), Local0)
+ m600(arg0, 43, Local0, bb33)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), 0, Derefof(Refof(s614)), Local0)
+ m600(arg0, 44, Local0, bs1b)
+
+ Mid(m601(3, 6), 0, Derefof(Refof(s614)), Local0)
+ m600(arg0, 45, Local0, bb33)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), 0, Derefof(Refof(s614)), Local0)
+ m600(arg0, 46, Local0, bs1b)
+
+ Mid(Derefof(m602(3, 6, 1)), 0, Derefof(Refof(s614)), Local0)
+ m600(arg0, 47, Local0, bb33)
+ }
+ }
+
+ Method(m64i, 1)
+ {
+ // String to Integer conversion of the String Length operand
+
+ Store(Mid("This is auxiliary String", 0, Derefof(Refof(s605))), Local0)
+ m600(arg0, 0, Local0, bs1e)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, 0, Derefof(Refof(s605))), Local0)
+ m600(arg0, 1, Local0, bb34)
+
+ Store(Mid(aus6, 0, Derefof(Refof(s605))), Local0)
+ m600(arg0, 2, Local0, bs1e)
+
+ Store(Mid(aub6, 0, Derefof(Refof(s605))), Local0)
+ m600(arg0, 3, Local0, bb34)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), 0, Derefof(Refof(s605))), Local0)
+ m600(arg0, 4, Local0, bs1e)
+
+ Store(Mid(Derefof(Refof(aub6)), 0, Derefof(Refof(s605))), Local0)
+ m600(arg0, 5, Local0, bb34)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), 0, Derefof(Refof(s605))), Local0)
+ m600(arg0, 6, Local0, bs1e)
+
+ Store(Mid(Derefof(Index(paub, 6)), 0, Derefof(Refof(s605))), Local0)
+ m600(arg0, 7, Local0, bb34)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), 0, Derefof(Refof(s605))), Local0)
+ m600(arg0, 8, Local0, bs1e)
+
+ Store(Mid(m601(3, 6), 0, Derefof(Refof(s605))), Local0)
+ m600(arg0, 9, Local0, bb34)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), 0, Derefof(Refof(s605))), Local0)
+ m600(arg0, 10, Local0, bs1e)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), 0, Derefof(Refof(s605))), Local0)
+ m600(arg0, 11, Local0, bb34)
+ }
+
+ Mid("This is auxiliary String", 0, Derefof(Refof(s605)), Local0)
+ m600(arg0, 12, Local0, bs1e)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, 0, Derefof(Refof(s605)), Local0)
+ m600(arg0, 13, Local0, bb34)
+
+ Mid(aus6, 0, Derefof(Refof(s605)), Local0)
+ m600(arg0, 14, Local0, bs1e)
+
+ Mid(aub6, 0, Derefof(Refof(s605)), Local0)
+ m600(arg0, 15, Local0, bb34)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), 0, Derefof(Refof(s605)), Local0)
+ m600(arg0, 16, Local0, bs1e)
+
+ Mid(Derefof(Refof(aub6)), 0, Derefof(Refof(s605)), Local0)
+ m600(arg0, 17, Local0, bb34)
+ }
+
+ Mid(Derefof(Index(paus, 6)), 0, Derefof(Refof(s605)), Local0)
+ m600(arg0, 18, Local0, bs1e)
+
+ Mid(Derefof(Index(paub, 6)), 0, Derefof(Refof(s605)), Local0)
+ m600(arg0, 19, Local0, bb34)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), 0, Derefof(Refof(s605)), Local0)
+ m600(arg0, 20, Local0, bs1e)
+
+ Mid(m601(3, 6), 0, Derefof(Refof(s605)), Local0)
+ m600(arg0, 21, Local0, bb34)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), 0, Derefof(Refof(s605)), Local0)
+ m600(arg0, 22, Local0, bs1e)
+
+ Mid(Derefof(m602(3, 6, 1)), 0, Derefof(Refof(s605)), Local0)
+ m600(arg0, 23, Local0, bb34)
+ }
+
+ // String to Integer conversion of the both String operands
+
+ Store(Mid("This is auxiliary String", Derefof(Refof(s614)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 24, Local0, bs1f)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, Derefof(Refof(s614)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 25, Local0, bb35)
+
+ Store(Mid(aus6, Derefof(Refof(s614)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 26, Local0, bs1f)
+
+ Store(Mid(aub6, Derefof(Refof(s614)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 27, Local0, bb35)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), Derefof(Refof(s614)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 28, Local0, bs1f)
+
+ Store(Mid(Derefof(Refof(aub6)), Derefof(Refof(s614)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 29, Local0, bb35)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), Derefof(Refof(s614)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 30, Local0, bs1f)
+
+ Store(Mid(Derefof(Index(paub, 6)), Derefof(Refof(s614)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 31, Local0, bb35)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), Derefof(Refof(s614)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 32, Local0, bs1f)
+
+ Store(Mid(m601(3, 6), Derefof(Refof(s614)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 33, Local0, bb35)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), Derefof(Refof(s614)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 34, Local0, bs1f)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), Derefof(Refof(s614)), Derefof(Refof(s605))), Local0)
+ m600(arg0, 35, Local0, bb35)
+ }
+
+ Mid("This is auxiliary String", Derefof(Refof(s614)), Derefof(Refof(s605)), Local0)
+ m600(arg0, 36, Local0, bs1f)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, Derefof(Refof(s614)), Derefof(Refof(s605)), Local0)
+ m600(arg0, 37, Local0, bb35)
+
+ Mid(aus6, Derefof(Refof(s614)), Derefof(Refof(s605)), Local0)
+ m600(arg0, 38, Local0, bs1f)
+
+ Mid(aub6, Derefof(Refof(s614)), Derefof(Refof(s605)), Local0)
+ m600(arg0, 39, Local0, bb35)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), Derefof(Refof(s614)), Derefof(Refof(s605)), Local0)
+ m600(arg0, 40, Local0, bs1f)
+
+ Mid(Derefof(Refof(aub6)), Derefof(Refof(s614)), Derefof(Refof(s605)), Local0)
+ m600(arg0, 41, Local0, bb35)
+ }
+
+ Mid(Derefof(Index(paus, 6)), Derefof(Refof(s614)), Derefof(Refof(s605)), Local0)
+ m600(arg0, 42, Local0, bs1f)
+
+ Mid(Derefof(Index(paub, 6)), Derefof(Refof(s614)), Derefof(Refof(s605)), Local0)
+ m600(arg0, 43, Local0, bb35)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), Derefof(Refof(s614)), Derefof(Refof(s605)), Local0)
+ m600(arg0, 44, Local0, bs1f)
+
+ Mid(m601(3, 6), Derefof(Refof(s614)), Derefof(Refof(s605)), Local0)
+ m600(arg0, 45, Local0, bb35)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), Derefof(Refof(s614)), Derefof(Refof(s605)), Local0)
+ m600(arg0, 46, Local0, bs1f)
+
+ Mid(Derefof(m602(3, 6, 1)), Derefof(Refof(s614)), Derefof(Refof(s605)), Local0)
+ m600(arg0, 47, Local0, bb35)
+ }
+ }
+
+ Method(m32i, 1)
+ {
+ // String to Integer conversion of the String Length operand
+
+ Store(Mid("This is auxiliary String", 0, Derefof(Refof(s604))), Local0)
+ m600(arg0, 0, Local0, bs1e)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, 0, Derefof(Refof(s604))), Local0)
+ m600(arg0, 1, Local0, bb34)
+
+ Store(Mid(aus6, 0, Derefof(Refof(s604))), Local0)
+ m600(arg0, 2, Local0, bs1e)
+
+ Store(Mid(aub6, 0, Derefof(Refof(s604))), Local0)
+ m600(arg0, 3, Local0, bb34)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), 0, Derefof(Refof(s604))), Local0)
+ m600(arg0, 4, Local0, bs1e)
+
+ Store(Mid(Derefof(Refof(aub6)), 0, Derefof(Refof(s604))), Local0)
+ m600(arg0, 5, Local0, bb34)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), 0, Derefof(Refof(s604))), Local0)
+ m600(arg0, 6, Local0, bs1e)
+
+ Store(Mid(Derefof(Index(paub, 6)), 0, Derefof(Refof(s604))), Local0)
+ m600(arg0, 7, Local0, bb34)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), 0, Derefof(Refof(s604))), Local0)
+ m600(arg0, 8, Local0, bs1e)
+
+ Store(Mid(m601(3, 6), 0, Derefof(Refof(s604))), Local0)
+ m600(arg0, 9, Local0, bb34)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), 0, Derefof(Refof(s604))), Local0)
+ m600(arg0, 10, Local0, bs1e)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), 0, Derefof(Refof(s604))), Local0)
+ m600(arg0, 11, Local0, bb34)
+ }
+
+ Mid("This is auxiliary String", 0, Derefof(Refof(s604)), Local0)
+ m600(arg0, 12, Local0, bs1e)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, 0, Derefof(Refof(s604)), Local0)
+ m600(arg0, 13, Local0, bb34)
+
+ Mid(aus6, 0, Derefof(Refof(s604)), Local0)
+ m600(arg0, 14, Local0, bs1e)
+
+ Mid(aub6, 0, Derefof(Refof(s604)), Local0)
+ m600(arg0, 15, Local0, bb34)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), 0, Derefof(Refof(s604)), Local0)
+ m600(arg0, 16, Local0, bs1e)
+
+ Mid(Derefof(Refof(aub6)), 0, Derefof(Refof(s604)), Local0)
+ m600(arg0, 17, Local0, bb34)
+ }
+
+ Mid(Derefof(Index(paus, 6)), 0, Derefof(Refof(s604)), Local0)
+ m600(arg0, 18, Local0, bs1e)
+
+ Mid(Derefof(Index(paub, 6)), 0, Derefof(Refof(s604)), Local0)
+ m600(arg0, 19, Local0, bb34)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), 0, Derefof(Refof(s604)), Local0)
+ m600(arg0, 20, Local0, bs1e)
+
+ Mid(m601(3, 6), 0, Derefof(Refof(s604)), Local0)
+ m600(arg0, 21, Local0, bb34)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), 0, Derefof(Refof(s604)), Local0)
+ m600(arg0, 22, Local0, bs1e)
+
+ Mid(Derefof(m602(3, 6, 1)), 0, Derefof(Refof(s604)), Local0)
+ m600(arg0, 23, Local0, bb34)
+ }
+
+ // String to Integer conversion of the both String operands
+
+ Store(Mid("This is auxiliary String", Derefof(Refof(s614)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 24, Local0, bs1f)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, Derefof(Refof(s614)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 25, Local0, bb35)
+
+ Store(Mid(aus6, Derefof(Refof(s614)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 26, Local0, bs1f)
+
+ Store(Mid(aub6, Derefof(Refof(s614)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 27, Local0, bb35)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), Derefof(Refof(s614)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 28, Local0, bs1f)
+
+ Store(Mid(Derefof(Refof(aub6)), Derefof(Refof(s614)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 29, Local0, bb35)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), Derefof(Refof(s614)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 30, Local0, bs1f)
+
+ Store(Mid(Derefof(Index(paub, 6)), Derefof(Refof(s614)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 31, Local0, bb35)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), Derefof(Refof(s614)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 32, Local0, bs1f)
+
+ Store(Mid(m601(3, 6), Derefof(Refof(s614)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 33, Local0, bb35)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), Derefof(Refof(s614)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 34, Local0, bs1f)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), Derefof(Refof(s614)), Derefof(Refof(s604))), Local0)
+ m600(arg0, 35, Local0, bb35)
+ }
+
+ Mid("This is auxiliary String", Derefof(Refof(s614)), Derefof(Refof(s604)), Local0)
+ m600(arg0, 36, Local0, bs1f)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, Derefof(Refof(s614)), Derefof(Refof(s604)), Local0)
+ m600(arg0, 37, Local0, bb35)
+
+ Mid(aus6, Derefof(Refof(s614)), Derefof(Refof(s604)), Local0)
+ m600(arg0, 38, Local0, bs1f)
+
+ Mid(aub6, Derefof(Refof(s614)), Derefof(Refof(s604)), Local0)
+ m600(arg0, 39, Local0, bb35)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), Derefof(Refof(s614)), Derefof(Refof(s604)), Local0)
+ m600(arg0, 40, Local0, bs1f)
+
+ Mid(Derefof(Refof(aub6)), Derefof(Refof(s614)), Derefof(Refof(s604)), Local0)
+ m600(arg0, 41, Local0, bb35)
+ }
+
+ Mid(Derefof(Index(paus, 6)), Derefof(Refof(s614)), Derefof(Refof(s604)), Local0)
+ m600(arg0, 42, Local0, bs1f)
+
+ Mid(Derefof(Index(paub, 6)), Derefof(Refof(s614)), Derefof(Refof(s604)), Local0)
+ m600(arg0, 43, Local0, bb35)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), Derefof(Refof(s614)), Derefof(Refof(s604)), Local0)
+ m600(arg0, 44, Local0, bs1f)
+
+ Mid(m601(3, 6), Derefof(Refof(s614)), Derefof(Refof(s604)), Local0)
+ m600(arg0, 45, Local0, bb35)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), Derefof(Refof(s614)), Derefof(Refof(s604)), Local0)
+ m600(arg0, 46, Local0, bs1f)
+
+ Mid(Derefof(m602(3, 6, 1)), Derefof(Refof(s614)), Derefof(Refof(s604)), Local0)
+ m600(arg0, 47, Local0, bb35)
+ }
+ }
+
+ // String to Integer conversion of the String StartIndex
+ // operand of the Match operator
+ Method(m030, 1)
+ {
+ Store(Match(
+ Package(){
+ 0xa50, 0xa51, 0xa52, 0xa53, 0xa54, 0xa55, 0xa56, 0xa57,
+ 0xa58, 0xa59, 0xa5a, 0xa5b, 0xa5c, 0xa5d, 0xa5e,},
+ MEQ, 0xa5d, MTR, 0, Derefof(Refof(s614))), Local0)
+ m600(arg0, 0, Local0, 0xd)
+
+ Store(Match(
+ Package(){
+ 0xa50, 0xa51, 0xa52, 0xa53, 0xa54, 0xa55, 0xa56, 0xa57,
+ 0xa58, 0xa59, 0xa5a, 0xa5b, 0xa5c, 0xa5d, 0xa5e,},
+ MEQ, 0xa5a, MTR, 0, Derefof(Refof(s614))), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(Match(aup0, MEQ, 0xa5d, MTR, 0, Derefof(Refof(s614))), Local0)
+ m600(arg0, 2, Local0, 0xd)
+
+ Store(Match(aup0, MEQ, 0xa5a, MTR, 0, Derefof(Refof(s614))), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(Match(Derefof(Refof(aup0)), MEQ, 0xa5d, MTR, 0, Derefof(Refof(s614))), Local0)
+ m600(arg0, 4, Local0, 0xd)
+
+ Store(Match(Derefof(Refof(aup0)), MEQ, 0xa5a, MTR, 0, Derefof(Refof(s614))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(Match(Derefof(Index(paup, 0)), MEQ, 0xa5d, MTR, 0, Derefof(Refof(s614))), Local0)
+ m600(arg0, 6, Local0, 0xd)
+
+ Store(Match(Derefof(Index(paup, 0)), MEQ, 0xa5a, MTR, 0, Derefof(Refof(s614))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Object
+
+ Store(Match(m601(4, 0), MEQ, 0xa5d, MTR, 0, Derefof(Refof(s614))), Local0)
+ m600(arg0, 8, Local0, 0xd)
+
+ Store(Match(m601(4, 0), MEQ, 0xa5a, MTR, 0, Derefof(Refof(s614))), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Match(Derefof(m602(4, 0, 1)), MEQ, 0xa5d, MTR, 0, Derefof(Refof(s614))), Local0)
+ m600(arg0, 10, Local0, 0xd)
+
+ Store(Match(Derefof(m602(4, 0, 1)), MEQ, 0xa5a, MTR, 0, Derefof(Refof(s614))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+ }
+
+// Method(m64j, 1)
+
+// Method(m32j, 1)
+
+ // String to Integer conversion of the String sole operand
+ // of the Method execution control operators (Sleep, Stall)
+ Method(m031, 1)
+ {
+ CH03(arg0, z091, 2, 0, 0)
+
+ // Sleep
+
+ Store(Timer, Local0)
+
+ Sleep(Derefof(Refof(s601)))
+ CH03(arg0, z091, 3, 0, 0)
+
+ Store(Timer, Local1)
+ Subtract(Local1, Local0, Local2)
+ if (LLess(Local2, c08c)) {
+ err(arg0, z091, 0, 0, 0, Local2, c08c)
+ }
+
+ // Stall
+
+ Store(Timer, Local0)
+
+ Stall(Derefof(Refof(s61b)))
+ CH03(arg0, z091, 4, 0, 0)
+
+ Store(Timer, Local1)
+ Subtract(Local1, Local0, Local2)
+ if (LLess(Local2, 990)) {
+ err(arg0, z091, 1, 0, 0, Local2, 990)
+ }
+ }
+
+ // String to Integer conversion of the String TimeoutValue
+ // (second) operand of the Acquire operator ???
+ Method(m032, 1)
+ {
+ Mutex(MTX0, 0)
+
+ Acquire(MTX0, 0)
+ CH03(arg0, z091, 5, 0, 0)
+
+ Store(Timer, Local0)
+
+/* Compiler allows only Integer constant as TimeoutValue (Bug 1)
+ Acquire(MTX0, Derefof(Refof(s601)))
+*/
+ CH03(arg0, z091, 6, 0, 0)
+
+ Store(Timer, Local1)
+ Subtract(Local1, Local0, Local2)
+ if (LLess(Local2, c08c)) {
+ err(arg0, z091, 0, 0, 0, Local2, c08c)
+ }
+ }
+
+ // String to Integer conversion of the String TimeoutValue
+ // (second) operand of the Wait operator
+ Method(m033, 1)
+ {
+ Event(EVT0)
+
+ CH03(arg0, z091, 7, 0, 0)
+
+ Store(Timer, Local0)
+
+ Wait(EVT0, Derefof(Refof(s601)))
+ CH03(arg0, z091, 8, 0, 0)
+
+ Store(Timer, Local1)
+ Subtract(Local1, Local0, Local2)
+ if (LLess(Local2, c08c)) {
+ err(arg0, z091, 0, 0, 0, Local2, c08c)
+ }
+ }
+
+ // String to Integer conversion of the String value
+ // of Predicate of the Method execution control statements
+ // (If, ElseIf, While)
+ Method(m034, 1)
+ {
+ Name(ist0, 0)
+
+ Method(m001)
+ {
+ if (Derefof(Refof(s600))) {
+ Store(0, ist0)
+ }
+ }
+
+ Method(m002)
+ {
+ if (Derefof(Refof(s601))) {
+ Store(2, ist0)
+ }
+ }
+
+ Method(m003)
+ {
+ if (Derefof(Refof(s604))) {
+ Store(3, ist0)
+ }
+ }
+
+ Method(m004)
+ {
+ if (Derefof(Refof(s605))) {
+ Store(4, ist0)
+ }
+ }
+
+ Method(m005, 1)
+ {
+ if (arg0) {
+ Store(0xff, ist0)
+ } elseif (Derefof(Refof(s600))) {
+ Store(0, ist0)
+ }
+ }
+
+ Method(m006, 1)
+ {
+ if (arg0) {
+ Store(0xff, ist0)
+ } elseif (Derefof(Refof(s601))) {
+ Store(6, ist0)
+ }
+ }
+
+ Method(m007, 1)
+ {
+ if (arg0) {
+ Store(0xff, ist0)
+ } elseif (Derefof(Refof(s604))) {
+ Store(7, ist0)
+ }
+ }
+
+ Method(m008, 1)
+ {
+ if (arg0) {
+ Store(0xff, ist0)
+ } elseif (Derefof(Refof(s605))) {
+ Store(8, ist0)
+ }
+ }
+
+ Method(m009)
+ {
+ while (Derefof(Refof(s600))) {
+ Store(0, ist0)
+ }
+ }
+
+ // If
+
+ Store(1, ist0)
+ m001()
+ m600(arg0, 0, ist0, 1)
+
+ m002()
+ m600(arg0, 1, ist0, 2)
+
+ m003()
+ m600(arg0, 2, ist0, 3)
+
+ m004()
+ m600(arg0, 3, ist0, 4)
+
+ // ElseIf
+
+ Store(5, ist0)
+ m005(0)
+ m600(arg0, 4, ist0, 5)
+
+ m006(0)
+ m600(arg0, 5, ist0, 6)
+
+ m007(0)
+ m600(arg0, 6, ist0, 7)
+
+ m008(0)
+ m600(arg0, 7, ist0, 8)
+
+ // While
+
+ Store(9, ist0)
+ m009()
+ m600(arg0, 8, ist0, 9)
+ }
+
+// Method(m64k, 1)
+
+// Method(m32k, 1)
+
+ // String to Buffer implicit conversion Cases.
+
+ // String to Buffer conversion of the String second operand of
+ // Logical operators when the first operand is evaluated as Buffer
+ // (LEqual, LGreater, LGreaterEqual, LLess, LLessEqual, LNotEqual)
+
+ Method(m035, 1)
+ {
+ // LEqual
+
+ Store(LEqual(Buffer() {0x30, 0x33, 0x32, 0x31, 0x00}, Derefof(Refof(s601))), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual(Buffer() {0x30, 0x33, 0x32, 0x31, 0x01}, Derefof(Refof(s601))), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(aub7, Derefof(Refof(s601))), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(LEqual(aub3, Derefof(Refof(s601))), Local0)
+ m600(arg0, 3, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aub7)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(aub3)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 5, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paub, 7)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paub, 3)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ // Method returns Buffer
+
+ Store(LEqual(m601(3, 7), Derefof(Refof(s601))), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(LEqual(m601(3, 3), Derefof(Refof(s601))), Local0)
+ m600(arg0, 9, Local0, Zero)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(3, 7, 1)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(3, 3, 1)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 11, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater(Buffer() {0x30, 0x33, 0x32, 0x31, 0x00}, Derefof(Refof(s601))), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LGreater(Buffer() {0x30, 0x33, 0x32, 0x31, 0x01}, Derefof(Refof(s601))), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LGreater(Buffer() {0x30, 0x33, 0x32, 0x31}, Derefof(Refof(s601))), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LGreater(Buffer() {0x30, 0x33, 0x32, 0x31, 0x00, 0x01}, Derefof(Refof(s601))), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LGreater(aub7, Derefof(Refof(s601))), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LGreater(aub8, Derefof(Refof(s601))), Local0)
+ m600(arg0, 17, Local0, Ones)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aub7)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(aub8)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 19, Local0, Ones)
+ }
+
+ Store(LGreater(Derefof(Index(paub, 7)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paub, 8)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Buffer
+
+ Store(LGreater(m601(3, 7), Derefof(Refof(s601))), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LGreater(m601(3, 8), Derefof(Refof(s601))), Local0)
+ m600(arg0, 23, Local0, Ones)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(3, 7, 1)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(3, 8, 1)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual(Buffer() {0x30, 0x33, 0x32, 0x31, 0x00}, Derefof(Refof(s601))), Local0)
+ m600(arg0, 26, Local0, Ones)
+
+ Store(LGreaterEqual(Buffer() {0x30, 0x33, 0x32, 0x31, 0x01}, Derefof(Refof(s601))), Local0)
+ m600(arg0, 27, Local0, Ones)
+
+ Store(LGreaterEqual(Buffer() {0x30, 0x33, 0x32, 0x31}, Derefof(Refof(s601))), Local0)
+ m600(arg0, 28, Local0, Zero)
+
+ Store(LGreaterEqual(Buffer() {0x30, 0x33, 0x32, 0x31, 0x00, 0x01}, Derefof(Refof(s601))), Local0)
+ m600(arg0, 29, Local0, Ones)
+
+ Store(LGreaterEqual(aub7, Derefof(Refof(s601))), Local0)
+ m600(arg0, 30, Local0, Ones)
+
+ Store(LGreaterEqual(aub8, Derefof(Refof(s601))), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aub7)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 32, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(aub8)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 33, Local0, Ones)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paub, 7)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paub, 8)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 35, Local0, Ones)
+
+ // Method returns Buffer
+
+ Store(LGreaterEqual(m601(3, 7), Derefof(Refof(s601))), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(m601(3, 8), Derefof(Refof(s601))), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(3, 7, 1)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 38, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(3, 8, 1)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 39, Local0, Ones)
+ }
+
+ // LLess
+
+ Store(LLess(Buffer() {0x30, 0x33, 0x32, 0x31, 0x00}, Derefof(Refof(s601))), Local0)
+ m600(arg0, 40, Local0, Zero)
+
+ Store(LLess(Buffer() {0x30, 0x33, 0x32, 0x31, 0x01}, Derefof(Refof(s601))), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ Store(LLess(Buffer() {0x30, 0x33, 0x32, 0x31}, Derefof(Refof(s601))), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LLess(Buffer() {0x30, 0x33, 0x32, 0x31, 0x00, 0x01}, Derefof(Refof(s601))), Local0)
+ m600(arg0, 43, Local0, Zero)
+
+ Store(LLess(aub7, Derefof(Refof(s601))), Local0)
+ m600(arg0, 44, Local0, Zero)
+
+ Store(LLess(aub8, Derefof(Refof(s601))), Local0)
+ m600(arg0, 45, Local0, Zero)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aub7)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 46, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(aub8)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 47, Local0, Zero)
+ }
+
+ Store(LLess(Derefof(Index(paub, 7)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 48, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paub, 8)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 49, Local0, Zero)
+
+ // Method returns Buffer
+
+ Store(LLess(m601(3, 7), Derefof(Refof(s601))), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ Store(LLess(m601(3, 8), Derefof(Refof(s601))), Local0)
+ m600(arg0, 51, Local0, Zero)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LLess(Derefof(m602(3, 7, 1)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 52, Local0, Zero)
+
+ Store(LLess(Derefof(m602(3, 8, 1)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual(Buffer() {0x30, 0x33, 0x32, 0x31, 0x00}, Derefof(Refof(s601))), Local0)
+ m600(arg0, 54, Local0, Ones)
+
+ Store(LLessEqual(Buffer() {0x30, 0x33, 0x32, 0x31, 0x01}, Derefof(Refof(s601))), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLessEqual(Buffer() {0x30, 0x33, 0x32, 0x31}, Derefof(Refof(s601))), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLessEqual(Buffer() {0x30, 0x33, 0x32, 0x31, 0x00, 0x01}, Derefof(Refof(s601))), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLessEqual(aub7, Derefof(Refof(s601))), Local0)
+ m600(arg0, 58, Local0, Ones)
+
+ Store(LLessEqual(aub8, Derefof(Refof(s601))), Local0)
+ m600(arg0, 59, Local0, Zero)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aub7)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 60, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(aub8)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 61, Local0, Zero)
+ }
+
+ Store(LLessEqual(Derefof(Index(paub, 7)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 62, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paub, 8)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ // Method returns Buffer
+
+ Store(LLessEqual(m601(3, 7), Derefof(Refof(s601))), Local0)
+ m600(arg0, 64, Local0, Ones)
+
+ Store(LLessEqual(m601(3, 8), Derefof(Refof(s601))), Local0)
+ m600(arg0, 65, Local0, Zero)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(3, 7, 1)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 66, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(3, 8, 1)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 67, Local0, Zero)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual(Buffer() {0x30, 0x33, 0x32, 0x31, 0x00}, Derefof(Refof(s601))), Local0)
+ m600(arg0, 68, Local0, Zero)
+
+ Store(LNotEqual(Buffer() {0x30, 0x33, 0x32, 0x31, 0x01}, Derefof(Refof(s601))), Local0)
+ m600(arg0, 69, Local0, Ones)
+
+ Store(LNotEqual(Buffer() {0x30, 0x33, 0x32, 0x31}, Derefof(Refof(s601))), Local0)
+ m600(arg0, 70, Local0, Ones)
+
+ Store(LNotEqual(Buffer() {0x30, 0x33, 0x32, 0x31, 0x00, 0x01}, Derefof(Refof(s601))), Local0)
+ m600(arg0, 71, Local0, Ones)
+
+ Store(LNotEqual(aub7, Derefof(Refof(s601))), Local0)
+ m600(arg0, 72, Local0, Zero)
+
+ Store(LNotEqual(aub8, Derefof(Refof(s601))), Local0)
+ m600(arg0, 73, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aub7)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 74, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(aub8)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 75, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paub, 7)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paub, 8)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ // Method returns Buffer
+
+ Store(LNotEqual(m601(3, 7), Derefof(Refof(s601))), Local0)
+ m600(arg0, 78, Local0, Zero)
+
+ Store(LNotEqual(m601(3, 8), Derefof(Refof(s601))), Local0)
+ m600(arg0, 79, Local0, Ones)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(3, 7, 1)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 80, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(3, 8, 1)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 81, Local0, Ones)
+ }
+
+ // Boundary Cases
+
+ Store(LEqual(Buffer() {0x00}, Derefof(Refof(s60c))), Local0)
+ m600(arg0, 82, Local0, Ones)
+
+ Store(LEqual(Buffer() {0x01}, Derefof(Refof(s60c))), Local0)
+ m600(arg0, 83, Local0, Zero)
+
+ Store(LGreater(Buffer() {0x00}, Derefof(Refof(s60c))), Local0)
+ m600(arg0, 84, Local0, Zero)
+
+ Store(LGreater(Buffer() {0x01}, Derefof(Refof(s60c))), Local0)
+ m600(arg0, 85, Local0, Ones)
+
+ Store(LGreaterEqual(Buffer() {0x00}, Derefof(Refof(s60c))), Local0)
+ m600(arg0, 86, Local0, Ones)
+
+ Store(LGreater(Buffer() {0x01}, Derefof(Refof(s60c))), Local0)
+ m600(arg0, 87, Local0, Ones)
+
+ Store(LLess(Buffer() {0x00}, Derefof(Refof(s60c))), Local0)
+ m600(arg0, 88, Local0, Zero)
+
+ Store(LLess(Buffer() {0x01}, Derefof(Refof(s60c))), Local0)
+ m600(arg0, 89, Local0, Zero)
+
+ Store(LLessEqual(Buffer() {0x00}, Derefof(Refof(s60c))), Local0)
+ m600(arg0, 90, Local0, Ones)
+
+ Store(LLessEqual(Buffer() {0x01}, Derefof(Refof(s60c))), Local0)
+ m600(arg0, 91, Local0, Zero)
+
+ Store(LNotEqual(Buffer() {0x00}, Derefof(Refof(s60c))), Local0)
+ m600(arg0, 92, Local0, Zero)
+
+ Store(LNotEqual(Buffer() {0x01}, Derefof(Refof(s60c))), Local0)
+ m600(arg0, 93, Local0, Ones)
+
+ Store(LEqual(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x00,},
+ Derefof(Refof(s60e))),
+ Local0)
+ m600(arg0, 94, Local0, Ones)
+
+ Store(LEqual(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x01,},
+ Derefof(Refof(s60e))),
+ Local0)
+ m600(arg0, 95, Local0, Zero)
+
+ Store(LGreater(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x00,},
+ Derefof(Refof(s60e))),
+ Local0)
+ m600(arg0, 96, Local0, Zero)
+
+ Store(LGreater(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x01,},
+ Derefof(Refof(s60e))),
+ Local0)
+ m600(arg0, 97, Local0, Ones)
+
+ Store(LGreaterEqual(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x00,},
+ Derefof(Refof(s60e))),
+ Local0)
+ m600(arg0, 98, Local0, Ones)
+
+ Store(LGreater(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x01,},
+ Derefof(Refof(s60e))),
+ Local0)
+ m600(arg0, 99, Local0, Ones)
+
+ Store(LLess(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x00,},
+ Derefof(Refof(s60e))),
+ Local0)
+ m600(arg0, 100, Local0, Zero)
+
+ Store(LLess(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x01,},
+ Derefof(Refof(s60e))),
+ Local0)
+ m600(arg0, 101, Local0, Zero)
+
+ Store(LLessEqual(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x00,},
+ Derefof(Refof(s60e))),
+ Local0)
+ m600(arg0, 102, Local0, Ones)
+
+ Store(LLessEqual(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x01,},
+ Derefof(Refof(s60e))),
+ Local0)
+ m600(arg0, 103, Local0, Zero)
+
+ Store(LNotEqual(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x00,},
+ Derefof(Refof(s60e))),
+ Local0)
+ m600(arg0, 104, Local0, Zero)
+
+ Store(LNotEqual(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x01,},
+ Derefof(Refof(s60e))),
+ Local0)
+ m600(arg0, 105, Local0, Ones)
+ }
+
+ // String to Buffer conversion of the String second operand of
+ // Concatenate operator when the first operand is evaluated as Buffer
+
+ Method(m036, 1)
+ {
+ Store(Concatenate(Buffer(){0x5a}, Derefof(Refof(s601))), Local0)
+ m600(arg0, 0, Local0, bb29)
+
+ Store(Concatenate(Buffer(){0x5a, 0x00}, Derefof(Refof(s601))), Local0)
+ m600(arg0, 1, Local0, bb2a)
+
+ Store(Concatenate(aub0, Derefof(Refof(s601))), Local0)
+ m600(arg0, 2, Local0, bb29)
+
+ Store(Concatenate(aub1, Derefof(Refof(s601))), Local0)
+ m600(arg0, 3, Local0, bb2a)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aub0)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 4, Local0, bb29)
+
+ Store(Concatenate(Derefof(Refof(aub1)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 5, Local0, bb2a)
+ }
+
+ Store(Concatenate(Derefof(Index(paub, 0)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 6, Local0, bb29)
+
+ Store(Concatenate(Derefof(Index(paub, 1)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 7, Local0, bb2a)
+
+ // Method returns Buffer
+
+ Store(Concatenate(m601(3, 0), Derefof(Refof(s601))), Local0)
+ m600(arg0, 8, Local0, bb29)
+
+ Store(Concatenate(m601(3, 1), Derefof(Refof(s601))), Local0)
+ m600(arg0, 9, Local0, bb2a)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(3, 0, 1)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 10, Local0, bb29)
+
+ Store(Concatenate(Derefof(m602(3, 1, 1)), Derefof(Refof(s601))), Local0)
+ m600(arg0, 11, Local0, bb2a)
+ }
+
+ Concatenate(Buffer(){0x5a}, Derefof(Refof(s601)), Local0)
+ m600(arg0, 12, Local0, bb29)
+
+ Concatenate(Buffer(){0x5a, 0x00}, Derefof(Refof(s601)), Local0)
+ m600(arg0, 13, Local0, bb2a)
+
+ Concatenate(aub0, Derefof(Refof(s601)), Local0)
+ m600(arg0, 14, Local0, bb29)
+
+ Concatenate(aub1, Derefof(Refof(s601)), Local0)
+ m600(arg0, 15, Local0, bb2a)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aub0)), Derefof(Refof(s601)), Local0)
+ m600(arg0, 16, Local0, bb29)
+
+ Concatenate(Derefof(Refof(aub1)), Derefof(Refof(s601)), Local0)
+ m600(arg0, 17, Local0, bb2a)
+ }
+
+ Concatenate(Derefof(Index(paub, 0)), Derefof(Refof(s601)), Local0)
+ m600(arg0, 18, Local0, bb29)
+
+ Concatenate(Derefof(Index(paub, 1)), Derefof(Refof(s601)), Local0)
+ m600(arg0, 19, Local0, bb2a)
+
+ // Method returns Buffer
+
+ Concatenate(m601(3, 0), Derefof(Refof(s601)), Local0)
+ m600(arg0, 20, Local0, bb29)
+
+ Concatenate(m601(3, 1), Derefof(Refof(s601)), Local0)
+ m600(arg0, 21, Local0, bb2a)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Concatenate(Derefof(m602(3, 0, 1)), Derefof(Refof(s601)), Local0)
+ m600(arg0, 22, Local0, bb29)
+
+ Concatenate(Derefof(m602(3, 1, 1)), Derefof(Refof(s601)), Local0)
+ m600(arg0, 23, Local0, bb2a)
+ }
+
+ // Boundary Cases
+
+ Store(Concatenate(Buffer(){0x5a}, Derefof(Refof(s60c))), Local0)
+ m600(arg0, 24, Local0, bb2b)
+
+ Store(Concatenate(Buffer(){0x5a, 0x00}, Derefof(Refof(s60c))), Local0)
+ m600(arg0, 25, Local0, bb2c)
+
+ Store(0, Local1)
+ Store(Concatenate(Buffer(Local1){}, Derefof(Refof(s60e))), Local0)
+ m600(arg0, 26, Local0, bb2d)
+ }
+
+ // String to Buffer conversion of the String Source operand of
+ // ToString operator (has a visual effect in shortening of the
+ // String taken the null character, that is impossible to show
+ // with an immediate String constant).
+
+ Method(m037, 1)
+ {
+ Store(ToString(Derefof(Refof(s601)), Ones), Local0)
+ m600(arg0, 0, Local0, bs20)
+
+ Store(ToString(Derefof(Refof(s601)), 3), Local0)
+ m600(arg0, 1, Local0, bs21)
+
+ Store(ToString(Derefof(Refof(s601)), aui0), Local0)
+ m600(arg0, 2, Local0, bs20)
+
+ Store(ToString(Derefof(Refof(s601)), aui7), Local0)
+ m600(arg0, 3, Local0, bs21)
+
+ if (y078) {
+ Store(ToString(Derefof(Refof(s601)), Derefof(Refof(aui0))), Local0)
+ m600(arg0, 4, Local0, bs20)
+
+ Store(ToString(Derefof(Refof(s601)), Derefof(Refof(aui7))), Local0)
+ m600(arg0, 5, Local0, bs21)
+ }
+
+ Store(ToString(Derefof(Refof(s601)), Derefof(Index(paui, 0))), Local0)
+ m600(arg0, 6, Local0, bs20)
+
+ Store(ToString(Derefof(Refof(s601)), Derefof(Index(paui, 7))), Local0)
+ m600(arg0, 7, Local0, bs21)
+
+ // Method returns Length parameter
+
+ Store(ToString(Derefof(Refof(s601)), m601(1, 0)), Local0)
+ m600(arg0, 8, Local0, bs20)
+
+ Store(ToString(Derefof(Refof(s601)), m601(1, 7)), Local0)
+ m600(arg0, 9, Local0, bs21)
+
+ // Method returns Reference to Length parameter
+
+ if (y500) {
+ Store(ToString(Derefof(Refof(s601)), Derefof(m601(1, 0))), Local0)
+ m600(arg0, 10, Local0, bs20)
+
+ Store(ToString(Derefof(Refof(s601)), Derefof(m601(1, 7))), Local0)
+ m600(arg0, 11, Local0, bs21)
+ }
+
+ ToString(Derefof(Refof(s601)), Ones, Local0)
+ m600(arg0, 12, Local0, bs20)
+
+ ToString(Derefof(Refof(s601)), 3, Local0)
+ m600(arg0, 13, Local0, bs21)
+
+ ToString(Derefof(Refof(s601)), aui0, Local0)
+ m600(arg0, 14, Local0, bs20)
+
+ ToString(Derefof(Refof(s601)), aui7, Local0)
+ m600(arg0, 15, Local0, bs21)
+
+ if (y078) {
+ ToString(Derefof(Refof(s601)), Derefof(Refof(aui0)), Local0)
+ m600(arg0, 16, Local0, bs20)
+
+ ToString(Derefof(Refof(s601)), Derefof(Refof(aui7)), Local0)
+ m600(arg0, 17, Local0, bs21)
+ }
+
+ ToString(Derefof(Refof(s601)), Derefof(Index(paui, 0)), Local0)
+ m600(arg0, 18, Local0, bs20)
+
+ ToString(Derefof(Refof(s601)), Derefof(Index(paui, 7)), Local0)
+ m600(arg0, 19, Local0, bs21)
+
+ // Method returns Length parameter
+
+ ToString(Derefof(Refof(s601)), m601(1, 0), Local0)
+ m600(arg0, 20, Local0, bs20)
+
+ ToString(Derefof(Refof(s601)), m601(1, 7), Local0)
+ m600(arg0, 21, Local0, bs21)
+
+ // Method returns Reference to Length parameter
+
+ if (y500) {
+ ToString(Derefof(Refof(s601)), Derefof(m601(1, 0)), Local0)
+ m600(arg0, 22, Local0, bs20)
+
+ ToString(Derefof(Refof(s601)), Derefof(m601(1, 7)), Local0)
+ m600(arg0, 23, Local0, bs21)
+ }
+
+ // Boundary Cases
+
+ Store(ToString(Derefof(Refof(s60c)), Ones), Local0)
+ m600(arg0, 24, Local0, bs22)
+
+ Store(ToString(Derefof(Refof(s60c)), 3), Local0)
+ m600(arg0, 25, Local0, bs22)
+
+ Store(ToString(
+ Derefof(Refof(s60e)),
+ Ones), Local0)
+ m600(arg0, 26, Local0, bs23)
+
+ Store(ToString(
+ Derefof(Refof(s60e)),
+ 3), Local0)
+ m600(arg0, 27, Local0, bs24)
+ }
+
+// Method(m038, 1)
+
+// Method(m039, 1)
+
+ // Buffer to Integer implicit conversion Cases.
+
+ // Buffer to Integer conversion of the Buffer sole operand
+ // of the 1-parameter Integer arithmetic operators
+ // (Decrement, Increment, FindSetLeftBit, FindSetRightBit, Not)
+
+ Method(m64l, 1)
+ {
+ // Decrement
+ if (y501) {
+ Store(Decrement(Derefof(Refof(b606))), Local0)
+ m600(arg0, 0, Local0, bi12)
+
+ Store(Decrement(Derefof(Refof(b60a))), Local0)
+ m600(arg0, 1, Local0, bi16)
+ }
+
+ // Increment
+ if (y501) {
+ Store(Increment(Derefof(Refof(b606))), Local0)
+ m600(arg0, 2, Local0, bi13)
+
+ Store(Increment(Derefof(Refof(b60a))), Local0)
+ m600(arg0, 3, Local0, bi17)
+ }
+
+ // FindSetLeftBit
+
+ Store(FindSetLeftBit(Derefof(Refof(b606))), Local0)
+ m600(arg0, 4, Local0, 10)
+
+ Store(FindSetLeftBit(Derefof(Refof(b60a))), Local0)
+ m600(arg0, 5, Local0, 64)
+
+ // FindSetRightBit
+
+ Store(FindSetRightBit(Derefof(Refof(b606))), Local0)
+ m600(arg0, 6, Local0, 1)
+
+ Store(FindSetRightBit(Derefof(Refof(b60a))), Local0)
+ m600(arg0, 7, Local0, 3)
+
+ // Not
+
+ Store(Not(Derefof(Refof(b606))), Local0)
+ m600(arg0, 8, Local0, 0xfffffffffffffcde)
+
+ Store(Not(Derefof(Refof(b60a))), Local0)
+ m600(arg0, 9, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Method(m32l, 1)
+ {
+ // Decrement
+ if (y501) {
+ Store(Decrement(Derefof(Refof(b606))), Local0)
+ m600(arg0, 0, Local0, bi12)
+
+ Store(Decrement(Derefof(Refof(b60a))), Local0)
+ m600(arg0, 1, Local0, bi18)
+ }
+
+ // Increment
+ if (y501) {
+ Store(Increment(Derefof(Refof(b606))), Local0)
+ m600(arg0, 2, Local0, bi13)
+
+ Store(Increment(Derefof(Refof(b60a))), Local0)
+ m600(arg0, 3, Local0, bi19)
+ }
+
+ // FindSetLeftBit
+
+ Store(FindSetLeftBit(Derefof(Refof(b606))), Local0)
+ m600(arg0, 4, Local0, 10)
+
+ Store(FindSetLeftBit(Derefof(Refof(b60a))), Local0)
+ m600(arg0, 5, Local0, 32)
+
+ // FindSetRightBit
+
+ Store(FindSetRightBit(Derefof(Refof(b606))), Local0)
+ m600(arg0, 6, Local0, 1)
+
+ Store(FindSetRightBit(Derefof(Refof(b60a))), Local0)
+ m600(arg0, 7, Local0, 3)
+
+ // Not
+
+ Store(Not(Derefof(Refof(b606))), Local0)
+ m600(arg0, 8, Local0, 0xfffffcde)
+
+ Store(Not(Derefof(Refof(b60a))), Local0)
+ m600(arg0, 9, Local0, 0x29af5d7b)
+ }
+
+ // Buffer to Integer conversion of the Buffer sole operand
+ // of the LNot Logical Integer operator
+ Method(m03a, 1)
+ {
+ Store(LNot(Derefof(Refof(b600))), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LNot(Derefof(Refof(b606))), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ if (F64) {
+ Store(LNot(Derefof(Refof(b60a))), Local0)
+ m600(arg0, 2, Local0, Zero)
+ } else {
+ Store(LNot(Derefof(Refof(b60a))), Local0)
+ m600(arg0, 3, Local0, Zero)
+ }
+ }
+
+ // Buffer to Integer conversion of the Buffer sole operand
+ // of the FromBCD and ToBCD conversion operators
+
+ Method(m64m, 1)
+ {
+ // FromBCD
+
+ Store(FromBCD(Derefof(Refof(b606))), Local0)
+ m600(arg0, 2, Local0, 0x141)
+
+ Store(FromBCD(Derefof(Refof(b60f))), Local0)
+ m600(arg0, 3, Local0, 0xd76162ee9ec35)
+
+ FromBCD(Derefof(Refof(b606)), Local0)
+ m600(arg0, 2, Local0, 0x141)
+
+ FromBCD(Derefof(Refof(b60f)), Local0)
+ m600(arg0, 3, Local0, 0xd76162ee9ec35)
+
+ // ToBCD
+
+ Store(ToBCD(Derefof(Refof(b606))), Local0)
+ m600(arg0, 4, Local0, 0x801)
+
+// ??? No error of iASL on constant folding
+ Store(ToBCD(Derefof(Refof(b610))), Local0)
+ m600(arg0, 5, Local0, 0x3789012345678901)
+
+ ToBCD(Derefof(Refof(b606)), Local0)
+ m600(arg0, 4, Local0, 0x801)
+
+ ToBCD(Derefof(Refof(b610)), Local0)
+ m600(arg0, 5, Local0, 0x3789012345678901)
+ }
+
+ Method(m32m, 1)
+ {
+ // FromBCD
+
+ Store(FromBCD(Derefof(Refof(b606))), Local0)
+ m600(arg0, 2, Local0, 0x141)
+
+ Store(FromBCD(Derefof(Refof(b611))), Local0)
+ m600(arg0, 3, Local0, 0x55f2cc0)
+
+ FromBCD(Derefof(Refof(b606)), Local0)
+ m600(arg0, 2, Local0, 0x141)
+
+ FromBCD(Derefof(Refof(b611)), Local0)
+ m600(arg0, 3, Local0, 0x55f2cc0)
+
+ // ToBCD
+
+ Store(ToBCD(Derefof(Refof(b606))), Local0)
+ m600(arg0, 4, Local0, 0x801)
+
+ Store(ToBCD(Derefof(Refof(b612))), Local0)
+ m600(arg0, 5, Local0, 0x90123456)
+
+ ToBCD(Derefof(Refof(b606)), Local0)
+ m600(arg0, 4, Local0, 0x801)
+
+ ToBCD(Derefof(Refof(b612)), Local0)
+ m600(arg0, 5, Local0, 0x90123456)
+ }
+
+ // Buffer to Integer conversion of each Buffer operand
+ // of the 2-parameter Integer arithmetic operators
+ // Add, And, Divide, Mod, Multiply, NAnd, NOr, Or,
+ // ShiftLeft, ShiftRight, Subtract, Xor
+
+ // Add, common 32-bit/64-bit test
+ Method(m03b, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Add(Derefof(Refof(b606)), 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Add(Derefof(Refof(b606)), 1), Local0)
+ m600(arg0, 1, Local0, 0x322)
+
+ Store(Add(Derefof(Refof(b606)), aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Add(Derefof(Refof(b606)), aui6), Local0)
+ m600(arg0, 3, Local0, 0x322)
+
+ if (y078) {
+ Store(Add(Derefof(Refof(b606)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Add(Derefof(Refof(b606)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x322)
+ }
+
+ Store(Add(Derefof(Refof(b606)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Add(Derefof(Refof(b606)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x322)
+
+ // Method returns Integer
+
+ Store(Add(Derefof(Refof(b606)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Add(Derefof(Refof(b606)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x322)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(Derefof(Refof(b606)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Add(Derefof(Refof(b606)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x322)
+ }
+
+ Add(Derefof(Refof(b606)), 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Add(Derefof(Refof(b606)), 1, Local0)
+ m600(arg0, 13, Local0, 0x322)
+
+ Add(Derefof(Refof(b606)), aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Add(Derefof(Refof(b606)), aui6, Local0)
+ m600(arg0, 15, Local0, 0x322)
+
+ if (y078) {
+ Add(Derefof(Refof(b606)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Add(Derefof(Refof(b606)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x322)
+ }
+
+ Add(Derefof(Refof(b606)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Add(Derefof(Refof(b606)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x322)
+
+ // Method returns Integer
+
+ Add(Derefof(Refof(b606)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Add(Derefof(Refof(b606)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x322)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(Derefof(Refof(b606)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Add(Derefof(Refof(b606)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x322)
+ }
+
+ // Conversion of the second operand
+
+ Store(Add(0, Derefof(Refof(b606))), Local0)
+ m600(arg0, 24, Local0, 0x321)
+
+ Store(Add(1, Derefof(Refof(b606))), Local0)
+ m600(arg0, 25, Local0, 0x322)
+
+ Store(Add(aui5, Derefof(Refof(b606))), Local0)
+ m600(arg0, 26, Local0, 0x321)
+
+ Store(Add(aui6, Derefof(Refof(b606))), Local0)
+ m600(arg0, 27, Local0, 0x322)
+
+ if (y078) {
+ Store(Add(Derefof(Refof(aui5)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 28, Local0, 0x321)
+
+ Store(Add(Derefof(Refof(aui6)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 29, Local0, 0x322)
+ }
+
+ Store(Add(Derefof(Index(paui, 5)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 30, Local0, 0x321)
+
+ Store(Add(Derefof(Index(paui, 6)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 31, Local0, 0x322)
+
+ // Method returns Integer
+
+ Store(Add(m601(1, 5), Derefof(Refof(b606))), Local0)
+ m600(arg0, 32, Local0, 0x321)
+
+ Store(Add(m601(1, 6), Derefof(Refof(b606))), Local0)
+ m600(arg0, 33, Local0, 0x322)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(Derefof(m602(1, 5, 1)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 34, Local0, 0x321)
+
+ Store(Add(Derefof(m602(1, 6, 1)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 35, Local0, 0x322)
+ }
+
+ Add(0, Derefof(Refof(b606)), Local0)
+ m600(arg0, 36, Local0, 0x321)
+
+ Add(1, Derefof(Refof(b606)), Local0)
+ m600(arg0, 37, Local0, 0x322)
+
+ Add(aui5, Derefof(Refof(b606)), Local0)
+ m600(arg0, 38, Local0, 0x321)
+
+ Add(aui6, Derefof(Refof(b606)), Local0)
+ m600(arg0, 39, Local0, 0x322)
+
+ if (y078) {
+ Add(Derefof(Refof(aui5)), Derefof(Refof(b606)), Local0)
+ m600(arg0, 40, Local0, 0x321)
+
+ Add(Derefof(Refof(aui6)), Derefof(Refof(b606)), Local0)
+ m600(arg0, 41, Local0, 0x322)
+ }
+
+ Add(Derefof(Index(paui, 5)), Derefof(Refof(b606)), Local0)
+ m600(arg0, 42, Local0, 0x321)
+
+ Add(Derefof(Index(paui, 6)), Derefof(Refof(b606)), Local0)
+ m600(arg0, 43, Local0, 0x322)
+
+ // Method returns Integer
+
+ Add(m601(1, 5), Derefof(Refof(b606)), Local0)
+ m600(arg0, 44, Local0, 0x321)
+
+ Add(m601(1, 6), Derefof(Refof(b606)), Local0)
+ m600(arg0, 45, Local0, 0x322)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(Derefof(m602(1, 5, 1)), Derefof(Refof(b606)), Local0)
+ m600(arg0, 46, Local0, 0x321)
+
+ Add(Derefof(m602(1, 6, 1)), Derefof(Refof(b606)), Local0)
+ m600(arg0, 47, Local0, 0x322)
+ }
+ }
+
+ // Add, 64-bit
+ Method(m03c, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Add(Derefof(Refof(b60a)), 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(Refof(b60a)), 1), Local0)
+ m600(arg0, 1, Local0, 0xfe7cb391d650a285)
+
+ Store(Add(Derefof(Refof(b60a)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(Refof(b60a)), aui6), Local0)
+ m600(arg0, 3, Local0, 0xfe7cb391d650a285)
+
+ if (y078) {
+ Store(Add(Derefof(Refof(b60a)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(Refof(b60a)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xfe7cb391d650a285)
+ }
+
+ Store(Add(Derefof(Refof(b60a)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(Refof(b60a)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Integer
+
+ Store(Add(Derefof(Refof(b60a)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(Refof(b60a)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(Derefof(Refof(b60a)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(Refof(b60a)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfe7cb391d650a285)
+ }
+
+ Add(Derefof(Refof(b60a)), 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(Refof(b60a)), 1, Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a285)
+
+ Add(Derefof(Refof(b60a)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(Refof(b60a)), aui6, Local0)
+ m600(arg0, 15, Local0, 0xfe7cb391d650a285)
+
+ if (y078) {
+ Add(Derefof(Refof(b60a)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(Refof(b60a)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xfe7cb391d650a285)
+ }
+
+ Add(Derefof(Refof(b60a)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(Refof(b60a)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Integer
+
+ Add(Derefof(Refof(b60a)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(Refof(b60a)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(Derefof(Refof(b60a)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(Refof(b60a)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfe7cb391d650a285)
+ }
+
+ // Conversion of the second operand
+
+ Store(Add(0, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 24, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(1, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 25, Local0, 0xfe7cb391d650a285)
+
+ Store(Add(aui5, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 26, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(aui6, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 27, Local0, 0xfe7cb391d650a285)
+
+ if (y078) {
+ Store(Add(Derefof(Refof(aui5)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 28, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(Refof(aui6)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 29, Local0, 0xfe7cb391d650a285)
+ }
+
+ Store(Add(Derefof(Index(paui, 5)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 30, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(Index(paui, 6)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 31, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Integer
+
+ Store(Add(m601(1, 5), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 32, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(m601(1, 6), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 33, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(Derefof(m602(1, 5, 1)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 34, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(m602(1, 6, 1)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 35, Local0, 0xfe7cb391d650a285)
+ }
+
+ Add(0, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 36, Local0, 0xfe7cb391d650a284)
+
+ Add(1, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 37, Local0, 0xfe7cb391d650a285)
+
+ Add(aui5, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 38, Local0, 0xfe7cb391d650a284)
+
+ Add(aui6, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 39, Local0, 0xfe7cb391d650a285)
+
+ if (y078) {
+ Add(Derefof(Refof(aui5)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 40, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(Refof(aui6)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 41, Local0, 0xfe7cb391d650a285)
+ }
+
+ Add(Derefof(Index(paui, 5)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 42, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(Index(paui, 6)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 43, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Integer
+
+ Add(m601(1, 5), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 44, Local0, 0xfe7cb391d650a284)
+
+ Add(m601(1, 6), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 45, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(Derefof(m602(1, 5, 1)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 46, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(m602(1, 6, 1)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 47, Local0, 0xfe7cb391d650a285)
+ }
+
+ // Conversion of the both operands
+
+ Store(Add(Derefof(Refof(b606)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 48, Local0, 0xfe7cb391d650a5a5)
+
+ Store(Add(Derefof(Refof(b60a)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 49, Local0, 0xfe7cb391d650a5a5)
+
+ Add(Derefof(Refof(b606)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 50, Local0, 0xfe7cb391d650a5a5)
+
+ Add(Derefof(Refof(b60a)), Derefof(Refof(b606)), Local0)
+ m600(arg0, 51, Local0, 0xfe7cb391d650a5a5)
+ }
+
+ // Add, 32-bit
+ Method(m03d, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Add(Derefof(Refof(b60a)), 0), Local0)
+ m600(arg0, 0, Local0, 0xd650a284)
+
+ Store(Add(Derefof(Refof(b60a)), 1), Local0)
+ m600(arg0, 1, Local0, 0xd650a285)
+
+ Store(Add(Derefof(Refof(b60a)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xd650a284)
+
+ Store(Add(Derefof(Refof(b60a)), aui6), Local0)
+ m600(arg0, 3, Local0, 0xd650a285)
+
+ if (y078) {
+ Store(Add(Derefof(Refof(b60a)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xd650a284)
+
+ Store(Add(Derefof(Refof(b60a)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xd650a285)
+ }
+
+ Store(Add(Derefof(Refof(b60a)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xd650a284)
+
+ Store(Add(Derefof(Refof(b60a)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xd650a285)
+
+ // Method returns Integer
+
+ Store(Add(Derefof(Refof(b60a)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xd650a284)
+
+ Store(Add(Derefof(Refof(b60a)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xd650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(Derefof(Refof(b60a)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xd650a284)
+
+ Store(Add(Derefof(Refof(b60a)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xd650a285)
+ }
+
+ Add(Derefof(Refof(b60a)), 0, Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ Add(Derefof(Refof(b60a)), 1, Local0)
+ m600(arg0, 13, Local0, 0xd650a285)
+
+ Add(Derefof(Refof(b60a)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xd650a284)
+
+ Add(Derefof(Refof(b60a)), aui6, Local0)
+ m600(arg0, 15, Local0, 0xd650a285)
+
+ if (y078) {
+ Add(Derefof(Refof(b60a)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xd650a284)
+
+ Add(Derefof(Refof(b60a)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xd650a285)
+ }
+
+ Add(Derefof(Refof(b60a)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xd650a284)
+
+ Add(Derefof(Refof(b60a)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xd650a285)
+
+ // Method returns Integer
+
+ Add(Derefof(Refof(b60a)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xd650a284)
+
+ Add(Derefof(Refof(b60a)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xd650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(Derefof(Refof(b60a)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xd650a284)
+
+ Add(Derefof(Refof(b60a)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xd650a285)
+ }
+
+ // Conversion of the second operand
+
+ Store(Add(0, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 24, Local0, 0xd650a284)
+
+ Store(Add(1, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 25, Local0, 0xd650a285)
+
+ Store(Add(aui5, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 26, Local0, 0xd650a284)
+
+ Store(Add(aui6, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 27, Local0, 0xd650a285)
+
+ if (y078) {
+ Store(Add(Derefof(Refof(aui5)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 28, Local0, 0xd650a284)
+
+ Store(Add(Derefof(Refof(aui6)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 29, Local0, 0xd650a285)
+ }
+
+ Store(Add(Derefof(Index(paui, 5)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 30, Local0, 0xd650a284)
+
+ Store(Add(Derefof(Index(paui, 6)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 31, Local0, 0xd650a285)
+
+ // Method returns Integer
+
+ Store(Add(m601(1, 5), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 32, Local0, 0xd650a284)
+
+ Store(Add(m601(1, 6), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 33, Local0, 0xd650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(Derefof(m602(1, 5, 1)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 34, Local0, 0xd650a284)
+
+ Store(Add(Derefof(m602(1, 6, 1)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 35, Local0, 0xd650a285)
+ }
+
+ Add(0, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 36, Local0, 0xd650a284)
+
+ Add(1, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 37, Local0, 0xd650a285)
+
+ Add(aui5, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 38, Local0, 0xd650a284)
+
+ Add(aui6, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 39, Local0, 0xd650a285)
+
+ if (y078) {
+ Add(Derefof(Refof(aui5)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 40, Local0, 0xd650a284)
+
+ Add(Derefof(Refof(aui6)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 41, Local0, 0xd650a285)
+ }
+
+ Add(Derefof(Index(paui, 5)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 42, Local0, 0xd650a284)
+
+ Add(Derefof(Index(paui, 6)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 43, Local0, 0xd650a285)
+
+ // Method returns Integer
+
+ Add(m601(1, 5), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 44, Local0, 0xd650a284)
+
+ Add(m601(1, 6), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 45, Local0, 0xd650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(Derefof(m602(1, 5, 1)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 46, Local0, 0xd650a284)
+
+ Add(Derefof(m602(1, 6, 1)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 47, Local0, 0xd650a285)
+ }
+
+ // Conversion of the both operands
+
+ Store(Add(Derefof(Refof(b606)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 48, Local0, 0xd650a5a5)
+
+ Store(Add(Derefof(Refof(b60a)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 49, Local0, 0xd650a5a5)
+
+ Add(Derefof(Refof(b606)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 50, Local0, 0xd650a5a5)
+
+ Add(Derefof(Refof(b60a)), Derefof(Refof(b606)), Local0)
+ m600(arg0, 51, Local0, 0xd650a5a5)
+ }
+
+ // And, common 32-bit/64-bit test
+ Method(m03e, 1)
+ {
+ // Conversion of the first operand
+
+ Store(And(Derefof(Refof(b606)), 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(And(Derefof(Refof(b606)), 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0x321)
+
+ Store(And(Derefof(Refof(b606)), aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(And(Derefof(Refof(b606)), auij), Local0)
+ m600(arg0, 3, Local0, 0x321)
+
+ if (y078) {
+ Store(And(Derefof(Refof(b606)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(And(Derefof(Refof(b606)), Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0x321)
+ }
+
+ Store(And(Derefof(Refof(b606)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(And(Derefof(Refof(b606)), Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0x321)
+
+ // Method returns Integer
+
+ Store(And(Derefof(Refof(b606)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(And(Derefof(Refof(b606)), m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(Derefof(Refof(b606)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(And(Derefof(Refof(b606)), Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0x321)
+ }
+
+ And(Derefof(Refof(b606)), 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ And(Derefof(Refof(b606)), 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0x321)
+
+ And(Derefof(Refof(b606)), aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ And(Derefof(Refof(b606)), auij, Local0)
+ m600(arg0, 15, Local0, 0x321)
+
+ if (y078) {
+ And(Derefof(Refof(b606)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ And(Derefof(Refof(b606)), Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0x321)
+ }
+
+ And(Derefof(Refof(b606)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ And(Derefof(Refof(b606)), Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0x321)
+
+ // Method returns Integer
+
+ And(Derefof(Refof(b606)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ And(Derefof(Refof(b606)), m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(Derefof(Refof(b606)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ And(Derefof(Refof(b606)), Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0x321)
+ }
+
+ // Conversion of the second operand
+
+ Store(And(0, Derefof(Refof(b606))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(And(0xffffffffffffffff, Derefof(Refof(b606))), Local0)
+ m600(arg0, 25, Local0, 0x321)
+
+ Store(And(aui5, Derefof(Refof(b606))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(And(auij, Derefof(Refof(b606))), Local0)
+ m600(arg0, 27, Local0, 0x321)
+
+ if (y078) {
+ Store(And(Derefof(Refof(aui5)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(And(Derefof(Refof(auij)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 29, Local0, 0x321)
+ }
+
+ Store(And(Derefof(Index(paui, 5)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(And(Derefof(Index(paui, 19)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 31, Local0, 0x321)
+
+ // Method returns Integer
+
+ Store(And(m601(1, 5), Derefof(Refof(b606))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(And(m601(1, 19), Derefof(Refof(b606))), Local0)
+ m600(arg0, 33, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(Derefof(m602(1, 5, 1)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(And(Derefof(m602(1, 19, 1)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 35, Local0, 0x321)
+ }
+
+ And(0, Derefof(Refof(b606)), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ And(0xffffffffffffffff, Derefof(Refof(b606)), Local0)
+ m600(arg0, 37, Local0, 0x321)
+
+ And(aui5, Derefof(Refof(b606)), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ And(auij, Derefof(Refof(b606)), Local0)
+ m600(arg0, 39, Local0, 0x321)
+
+ if (y078) {
+ And(Derefof(Refof(aui5)), Derefof(Refof(b606)), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ And(Derefof(Refof(auij)), Derefof(Refof(b606)), Local0)
+ m600(arg0, 41, Local0, 0x321)
+ }
+
+ And(Derefof(Index(paui, 5)), Derefof(Refof(b606)), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ And(Derefof(Index(paui, 19)), Derefof(Refof(b606)), Local0)
+ m600(arg0, 43, Local0, 0x321)
+
+ // Method returns Integer
+
+ And(m601(1, 5), Derefof(Refof(b606)), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ And(m601(1, 19), Derefof(Refof(b606)), Local0)
+ m600(arg0, 45, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(Derefof(m602(1, 5, 1)), Derefof(Refof(b606)), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ And(Derefof(m602(1, 19, 1)), Derefof(Refof(b606)), Local0)
+ m600(arg0, 47, Local0, 0x321)
+ }
+ }
+
+ // And, 64-bit
+ Method(m03f, 1)
+ {
+ // Conversion of the first operand
+
+ Store(And(Derefof(Refof(b60a)), 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(And(Derefof(Refof(b60a)), 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xfe7cb391d650a284)
+
+ Store(And(Derefof(Refof(b60a)), aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(And(Derefof(Refof(b60a)), auij), Local0)
+ m600(arg0, 3, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Store(And(Derefof(Refof(b60a)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(And(Derefof(Refof(b60a)), Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xfe7cb391d650a284)
+ }
+
+ Store(And(Derefof(Refof(b60a)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(And(Derefof(Refof(b60a)), Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Store(And(Derefof(Refof(b60a)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(And(Derefof(Refof(b60a)), m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(Derefof(Refof(b60a)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(And(Derefof(Refof(b60a)), Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfe7cb391d650a284)
+ }
+
+ And(Derefof(Refof(b60a)), 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ And(Derefof(Refof(b60a)), 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a284)
+
+ And(Derefof(Refof(b60a)), aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ And(Derefof(Refof(b60a)), auij, Local0)
+ m600(arg0, 15, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ And(Derefof(Refof(b60a)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ And(Derefof(Refof(b60a)), Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xfe7cb391d650a284)
+ }
+
+ And(Derefof(Refof(b60a)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ And(Derefof(Refof(b60a)), Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ And(Derefof(Refof(b60a)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ And(Derefof(Refof(b60a)), m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(Derefof(Refof(b60a)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ And(Derefof(Refof(b60a)), Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfe7cb391d650a284)
+ }
+
+ // Conversion of the second operand
+
+ Store(And(0, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(And(0xffffffffffffffff, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 25, Local0, 0xfe7cb391d650a284)
+
+ Store(And(aui5, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(And(auij, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 27, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Store(And(Derefof(Refof(aui5)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(And(Derefof(Refof(auij)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 29, Local0, 0xfe7cb391d650a284)
+ }
+
+ Store(And(Derefof(Index(paui, 5)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(And(Derefof(Index(paui, 19)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 31, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Store(And(m601(1, 5), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(And(m601(1, 19), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 33, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(Derefof(m602(1, 5, 1)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(And(Derefof(m602(1, 19, 1)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 35, Local0, 0xfe7cb391d650a284)
+ }
+
+ And(0, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ And(0xffffffffffffffff, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 37, Local0, 0xfe7cb391d650a284)
+
+ And(aui5, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ And(auij, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 39, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ And(Derefof(Refof(aui5)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ And(Derefof(Refof(auij)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 41, Local0, 0xfe7cb391d650a284)
+ }
+
+ And(Derefof(Index(paui, 5)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ And(Derefof(Index(paui, 19)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 43, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ And(m601(1, 5), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ And(m601(1, 19), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 45, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(Derefof(m602(1, 5, 1)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ And(Derefof(m602(1, 19, 1)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 47, Local0, 0xfe7cb391d650a284)
+ }
+
+ // Conversion of the both operands
+
+ Store(And(Derefof(Refof(b606)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 48, Local0, 0x200)
+
+ Store(And(Derefof(Refof(b60a)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 49, Local0, 0x200)
+
+ And(Derefof(Refof(b606)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 50, Local0, 0x200)
+
+ And(Derefof(Refof(b60a)), Derefof(Refof(b606)), Local0)
+ m600(arg0, 51, Local0, 0x200)
+ }
+
+ // And, 32-bit
+ Method(m040, 1)
+ {
+ // Conversion of the first operand
+
+ Store(And(Derefof(Refof(b60a)), 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(And(Derefof(Refof(b60a)), 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0xd650a284)
+
+ Store(And(Derefof(Refof(b60a)), aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(And(Derefof(Refof(b60a)), auii), Local0)
+ m600(arg0, 3, Local0, 0xd650a284)
+
+ if (y078) {
+ Store(And(Derefof(Refof(b60a)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(And(Derefof(Refof(b60a)), Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0xd650a284)
+ }
+
+ Store(And(Derefof(Refof(b60a)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(And(Derefof(Refof(b60a)), Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0xd650a284)
+
+ // Method returns Integer
+
+ Store(And(Derefof(Refof(b60a)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(And(Derefof(Refof(b60a)), m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0xd650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(Derefof(Refof(b60a)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(And(Derefof(Refof(b60a)), Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0xd650a284)
+ }
+
+ And(Derefof(Refof(b60a)), 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ And(Derefof(Refof(b60a)), 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0xd650a284)
+
+ And(Derefof(Refof(b60a)), aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ And(Derefof(Refof(b60a)), auii, Local0)
+ m600(arg0, 15, Local0, 0xd650a284)
+
+ if (y078) {
+ And(Derefof(Refof(b60a)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ And(Derefof(Refof(b60a)), Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0xd650a284)
+ }
+
+ And(Derefof(Refof(b60a)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ And(Derefof(Refof(b60a)), Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0xd650a284)
+
+ // Method returns Integer
+
+ And(Derefof(Refof(b60a)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ And(Derefof(Refof(b60a)), m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0xd650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(Derefof(Refof(b60a)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ And(Derefof(Refof(b60a)), Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0xd650a284)
+ }
+
+ // Conversion of the second operand
+
+ Store(And(0, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(And(0xffffffff, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 25, Local0, 0xd650a284)
+
+ Store(And(aui5, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(And(auii, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 27, Local0, 0xd650a284)
+
+ if (y078) {
+ Store(And(Derefof(Refof(aui5)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(And(Derefof(Refof(auii)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 29, Local0, 0xd650a284)
+ }
+
+ Store(And(Derefof(Index(paui, 5)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(And(Derefof(Index(paui, 18)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 31, Local0, 0xd650a284)
+
+ // Method returns Integer
+
+ Store(And(m601(1, 5), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(And(m601(1, 18), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 33, Local0, 0xd650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(Derefof(m602(1, 5, 1)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(And(Derefof(m602(1, 18, 1)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 35, Local0, 0xd650a284)
+ }
+
+ And(0, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ And(0xffffffff, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 37, Local0, 0xd650a284)
+
+ And(aui5, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ And(auii, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 39, Local0, 0xd650a284)
+
+ if (y078) {
+ And(Derefof(Refof(aui5)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ And(Derefof(Refof(auii)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 41, Local0, 0xd650a284)
+ }
+
+ And(Derefof(Index(paui, 5)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ And(Derefof(Index(paui, 18)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 43, Local0, 0xd650a284)
+
+ // Method returns Integer
+
+ And(m601(1, 5), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ And(m601(1, 18), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 45, Local0, 0xd650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(Derefof(m602(1, 5, 1)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ And(Derefof(m602(1, 18, 1)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 47, Local0, 0xd650a284)
+ }
+
+ // Conversion of the both operands
+
+ Store(And(Derefof(Refof(b606)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 48, Local0, 0x200)
+
+ Store(And(Derefof(Refof(b60a)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 49, Local0, 0x200)
+
+ And(Derefof(Refof(b606)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 50, Local0, 0x200)
+
+ And(Derefof(Refof(b60a)), Derefof(Refof(b606)), Local0)
+ m600(arg0, 51, Local0, 0x200)
+ }
+
+ // Divide, common 32-bit/64-bit test
+ Method(m041, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Divide(Derefof(Refof(b606)), 1), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Divide(Derefof(Refof(b606)), 0x321), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Divide(Derefof(Refof(b606)), aui6), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Divide(Derefof(Refof(b606)), aui1), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Divide(Derefof(Refof(b606)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Divide(Derefof(Refof(b606)), Derefof(Refof(aui1))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Divide(Derefof(Refof(b606)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Divide(Derefof(Refof(b606)), Derefof(Index(paui, 1))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(Derefof(Refof(b606)), m601(1, 6)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Divide(Derefof(Refof(b606)), m601(1, 1)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(Derefof(Refof(b606)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Divide(Derefof(Refof(b606)), Derefof(m602(1, 1, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Divide(Derefof(Refof(b606)), 1, Local1, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Divide(Derefof(Refof(b606)), 0x321, Local1, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Divide(Derefof(Refof(b606)), aui6, Local1, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Divide(Derefof(Refof(b606)), aui1, Local1, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Divide(Derefof(Refof(b606)), Derefof(Refof(aui6)), Local1, Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Divide(Derefof(Refof(b606)), Derefof(Refof(aui1)), Local1, Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Divide(Derefof(Refof(b606)), Derefof(Index(paui, 6)), Local1, Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Divide(Derefof(Refof(b606)), Derefof(Index(paui, 1)), Local1, Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(Derefof(Refof(b606)), m601(1, 6), Local1, Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Divide(Derefof(Refof(b606)), m601(1, 1), Local1, Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(Derefof(Refof(b606)), Derefof(m602(1, 6, 1)), Local1, Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Divide(Derefof(Refof(b606)), Derefof(m602(1, 1, 1)), Local1, Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Divide(1, Derefof(Refof(b606))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Divide(0x321, Derefof(Refof(b606))), Local0)
+ m600(arg0, 25, Local0, 1)
+
+ Store(Divide(aui6, Derefof(Refof(b606))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Divide(aui1, Derefof(Refof(b606))), Local0)
+ m600(arg0, 27, Local0, 1)
+
+ if (y078) {
+ Store(Divide(Derefof(Refof(aui6)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Divide(Derefof(Refof(aui1)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 29, Local0, 1)
+ }
+
+ Store(Divide(Derefof(Index(paui, 6)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Divide(Derefof(Index(paui, 1)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 31, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(m601(1, 6), Derefof(Refof(b606))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Divide(m601(1, 1), Derefof(Refof(b606))), Local0)
+ m600(arg0, 33, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(Derefof(m602(1, 6, 1)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Divide(Derefof(m602(1, 1, 1)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 35, Local0, 1)
+ }
+
+ Divide(1, Derefof(Refof(b606)), Local1, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Divide(0x321, Derefof(Refof(b606)), Local1, Local0)
+ m600(arg0, 37, Local0, 1)
+
+ Divide(aui6, Derefof(Refof(b606)), Local1, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Divide(aui1, Derefof(Refof(b606)), Local1, Local0)
+ m600(arg0, 39, Local0, 1)
+
+ if (y078) {
+ Divide(Derefof(Refof(aui6)), Derefof(Refof(b606)), Local1, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Divide(Derefof(Refof(aui1)), Derefof(Refof(b606)), Local1, Local0)
+ m600(arg0, 41, Local0, 1)
+ }
+
+ Divide(Derefof(Index(paui, 6)), Derefof(Refof(b606)), Local1, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Divide(Derefof(Index(paui, 1)), Derefof(Refof(b606)), Local1, Local0)
+ m600(arg0, 43, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(m601(1, 6), Derefof(Refof(b606)), Local1, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Divide(m601(1, 1), Derefof(Refof(b606)), Local1, Local0)
+ m600(arg0, 45, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(Derefof(m602(1, 6, 1)), Derefof(Refof(b606)), Local1, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Divide(Derefof(m602(1, 1, 1)), Derefof(Refof(b606)), Local1, Local0)
+ m600(arg0, 47, Local0, 1)
+ }
+ }
+
+ // Divide, 64-bit
+ Method(m042, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Divide(Derefof(Refof(b60a)), 1), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(Derefof(Refof(b60a)), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Divide(Derefof(Refof(b60a)), aui6), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(Derefof(Refof(b60a)), aui4), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Divide(Derefof(Refof(b60a)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(Derefof(Refof(b60a)), Derefof(Refof(aui4))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Divide(Derefof(Refof(b60a)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(Derefof(Refof(b60a)), Derefof(Index(paui, 4))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(Derefof(Refof(b60a)), m601(1, 6)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(Derefof(Refof(b60a)), m601(1, 4)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(Derefof(Refof(b60a)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(Derefof(Refof(b60a)), Derefof(m602(1, 4, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Divide(Derefof(Refof(b60a)), 1, Local1, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Divide(Derefof(Refof(b60a)), 0xfe7cb391d650a284, Local1, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Divide(Derefof(Refof(b60a)), aui6, Local1, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Divide(Derefof(Refof(b60a)), aui4, Local1, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Divide(Derefof(Refof(b60a)), Derefof(Refof(aui6)), Local1, Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Divide(Derefof(Refof(b60a)), Derefof(Refof(aui4)), Local1, Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Divide(Derefof(Refof(b60a)), Derefof(Index(paui, 6)), Local1, Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Divide(Derefof(Refof(b60a)), Derefof(Index(paui, 4)), Local1, Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(Derefof(Refof(b60a)), m601(1, 6), Local1, Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Divide(Derefof(Refof(b60a)), m601(1, 4), Local1, Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(Derefof(Refof(b60a)), Derefof(m602(1, 6, 1)), Local1, Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Divide(Derefof(Refof(b60a)), Derefof(m602(1, 4, 1)), Local1, Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Divide(1, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Divide(0xfe7cb391d650a284, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 25, Local0, 1)
+
+ Store(Divide(aui6, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Divide(aui4, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 27, Local0, 1)
+
+ if (y078) {
+ Store(Divide(Derefof(Refof(aui6)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Divide(Derefof(Refof(aui4)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 29, Local0, 1)
+ }
+
+ Store(Divide(Derefof(Index(paui, 6)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Divide(Derefof(Index(paui, 4)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 31, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(m601(1, 6), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Divide(m601(1, 4), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 33, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(Derefof(m602(1, 6, 1)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Divide(Derefof(m602(1, 4, 1)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 35, Local0, 1)
+ }
+
+ Divide(1, Derefof(Refof(b60a)), Local1, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Divide(0xfe7cb391d650a284, Derefof(Refof(b60a)), Local1, Local0)
+ m600(arg0, 37, Local0, 1)
+
+ Divide(aui6, Derefof(Refof(b60a)), Local1, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Divide(aui4, Derefof(Refof(b60a)), Local1, Local0)
+ m600(arg0, 39, Local0, 1)
+
+ if (y078) {
+ Divide(Derefof(Refof(aui6)), Derefof(Refof(b60a)), Local1, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Divide(Derefof(Refof(aui4)), Derefof(Refof(b60a)), Local1, Local0)
+ m600(arg0, 41, Local0, 1)
+ }
+
+ Divide(Derefof(Index(paui, 6)), Derefof(Refof(b60a)), Local1, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Divide(Derefof(Index(paui, 4)), Derefof(Refof(b60a)), Local1, Local0)
+ m600(arg0, 43, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(m601(1, 6), Derefof(Refof(b60a)), Local1, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Divide(m601(1, 4), Derefof(Refof(b60a)), Local1, Local0)
+ m600(arg0, 45, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(Derefof(m602(1, 6, 1)), Derefof(Refof(b60a)), Local1, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Divide(Derefof(m602(1, 4, 1)), Derefof(Refof(b60a)), Local1, Local0)
+ m600(arg0, 47, Local0, 1)
+ }
+
+ // Conversion of the both operands
+
+ Store(Divide(Derefof(Refof(b606)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 48, Local0, 0)
+
+ Store(Divide(Derefof(Refof(b60a)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 49, Local0, 0x0051558eb950f5a7)
+
+ Divide(Derefof(Refof(b606)), Derefof(Refof(b60a)), Local1, Local0)
+ m600(arg0, 50, Local0, 0)
+
+ Divide(Derefof(Refof(b60a)), Derefof(Refof(b606)), Local1, Local0)
+ m600(arg0, 51, Local0, 0x0051558eb950f5a7)
+ }
+
+ // Divide, 32-bit
+ Method(m043, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Divide(Derefof(Refof(b60a)), 1), Local0)
+ m600(arg0, 0, Local0, 0xd650a284)
+
+ Store(Divide(Derefof(Refof(b60a)), 0xd650a284), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Divide(Derefof(Refof(b60a)), aui6), Local0)
+ m600(arg0, 2, Local0, 0xd650a284)
+
+ Store(Divide(Derefof(Refof(b60a)), auik), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Divide(Derefof(Refof(b60a)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 4, Local0, 0xd650a284)
+
+ Store(Divide(Derefof(Refof(b60a)), Derefof(Refof(auik))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Divide(Derefof(Refof(b60a)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 6, Local0, 0xd650a284)
+
+ Store(Divide(Derefof(Refof(b60a)), Derefof(Index(paui, 20))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(Derefof(Refof(b60a)), m601(1, 6)), Local0)
+ m600(arg0, 8, Local0, 0xd650a284)
+
+ Store(Divide(Derefof(Refof(b60a)), m601(1, 20)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(Derefof(Refof(b60a)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 10, Local0, 0xd650a284)
+
+ Store(Divide(Derefof(Refof(b60a)), Derefof(m602(1, 20, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Divide(Derefof(Refof(b60a)), 1, Local1, Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ Divide(Derefof(Refof(b60a)), 0xd650a284, Local1, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Divide(Derefof(Refof(b60a)), aui6, Local1, Local0)
+ m600(arg0, 14, Local0, 0xd650a284)
+
+ Divide(Derefof(Refof(b60a)), auik, Local1, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Divide(Derefof(Refof(b60a)), Derefof(Refof(aui6)), Local1, Local0)
+ m600(arg0, 16, Local0, 0xd650a284)
+
+ Divide(Derefof(Refof(b60a)), Derefof(Refof(auik)), Local1, Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Divide(Derefof(Refof(b60a)), Derefof(Index(paui, 6)), Local1, Local0)
+ m600(arg0, 18, Local0, 0xd650a284)
+
+ Divide(Derefof(Refof(b60a)), Derefof(Index(paui, 20)), Local1, Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(Derefof(Refof(b60a)), m601(1, 6), Local1, Local0)
+ m600(arg0, 20, Local0, 0xd650a284)
+
+ Divide(Derefof(Refof(b60a)), m601(1, 20), Local1, Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(Derefof(Refof(b60a)), Derefof(m602(1, 6, 1)), Local1, Local0)
+ m600(arg0, 22, Local0, 0xd650a284)
+
+ Divide(Derefof(Refof(b60a)), Derefof(m602(1, 20, 1)), Local1, Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Divide(1, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Divide(0xd650a284, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 25, Local0, 1)
+
+ Store(Divide(aui6, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Divide(auik, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 27, Local0, 1)
+
+ if (y078) {
+ Store(Divide(Derefof(Refof(aui6)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Divide(Derefof(Refof(auik)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 29, Local0, 1)
+ }
+
+ Store(Divide(Derefof(Index(paui, 6)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Divide(Derefof(Index(paui, 20)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 31, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(m601(1, 6), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Divide(m601(1, 20), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 33, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(Derefof(m602(1, 6, 1)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Divide(Derefof(m602(1, 20, 1)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 35, Local0, 1)
+ }
+
+ Divide(1, Derefof(Refof(b60a)), Local1, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Divide(0xd650a284, Derefof(Refof(b60a)), Local1, Local0)
+ m600(arg0, 37, Local0, 1)
+
+ Divide(aui6, Derefof(Refof(b60a)), Local1, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Divide(auik, Derefof(Refof(b60a)), Local1, Local0)
+ m600(arg0, 39, Local0, 1)
+
+ if (y078) {
+ Divide(Derefof(Refof(aui6)), Derefof(Refof(b60a)), Local1, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Divide(Derefof(Refof(auik)), Derefof(Refof(b60a)), Local1, Local0)
+ m600(arg0, 41, Local0, 1)
+ }
+
+ Divide(Derefof(Index(paui, 6)), Derefof(Refof(b60a)), Local1, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Divide(Derefof(Index(paui, 20)), Derefof(Refof(b60a)), Local1, Local0)
+ m600(arg0, 43, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(m601(1, 6), Derefof(Refof(b60a)), Local1, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Divide(m601(1, 20), Derefof(Refof(b60a)), Local1, Local0)
+ m600(arg0, 45, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(Derefof(m602(1, 6, 1)), Derefof(Refof(b60a)), Local1, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Divide(Derefof(m602(1, 20, 1)), Derefof(Refof(b60a)), Local1, Local0)
+ m600(arg0, 47, Local0, 1)
+ }
+
+ // Conversion of the both operands
+
+ Store(Divide(Derefof(Refof(b606)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 48, Local0, 0)
+
+ Store(Divide(Derefof(Refof(b60a)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 49, Local0, 0x00447ec3)
+
+ Divide(Derefof(Refof(b606)), Derefof(Refof(b60a)), Local1, Local0)
+ m600(arg0, 50, Local0, 0)
+
+ Divide(Derefof(Refof(b60a)), Derefof(Refof(b606)), Local1, Local0)
+ m600(arg0, 51, Local0, 0x00447ec3)
+ }
+
+ // Mod, common 32-bit/64-bit test
+ Method(m044, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Mod(Derefof(Refof(b606)), 0x322), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Mod(Derefof(Refof(b606)), 0x320), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Mod(Derefof(Refof(b606)), auig), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Mod(Derefof(Refof(b606)), auih), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Mod(Derefof(Refof(b606)), Derefof(Refof(auig))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Mod(Derefof(Refof(b606)), Derefof(Refof(auih))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Mod(Derefof(Refof(b606)), Derefof(Index(paui, 16))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Mod(Derefof(Refof(b606)), Derefof(Index(paui, 17))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Mod(Derefof(Refof(b606)), m601(1, 16)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Mod(Derefof(Refof(b606)), m601(1, 17)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(Derefof(Refof(b606)), Derefof(m602(1, 16, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Mod(Derefof(Refof(b606)), Derefof(m602(1, 17, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Mod(Derefof(Refof(b606)), 0x322, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Mod(Derefof(Refof(b606)), 0x320, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Mod(Derefof(Refof(b606)), auig, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Mod(Derefof(Refof(b606)), auih, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Mod(Derefof(Refof(b606)), Derefof(Refof(auig)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Mod(Derefof(Refof(b606)), Derefof(Refof(auih)), Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Mod(Derefof(Refof(b606)), Derefof(Index(paui, 16)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Mod(Derefof(Refof(b606)), Derefof(Index(paui, 17)), Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Mod(Derefof(Refof(b606)), m601(1, 16), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Mod(Derefof(Refof(b606)), m601(1, 17), Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(Derefof(Refof(b606)), Derefof(m602(1, 16, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Mod(Derefof(Refof(b606)), Derefof(m602(1, 17, 1)), Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Mod(0x322, Derefof(Refof(b606))), Local0)
+ m600(arg0, 24, Local0, 1)
+
+ Store(Mod(0x320, Derefof(Refof(b606))), Local0)
+ m600(arg0, 25, Local0, 0x320)
+
+ Store(Mod(auig, Derefof(Refof(b606))), Local0)
+ m600(arg0, 26, Local0, 1)
+
+ Store(Mod(auih, Derefof(Refof(b606))), Local0)
+ m600(arg0, 27, Local0, 0x320)
+
+ if (y078) {
+ Store(Mod(Derefof(Refof(auig)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 28, Local0, 1)
+
+ Store(Mod(Derefof(Refof(auih)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 29, Local0, 0x320)
+ }
+
+ Store(Mod(Derefof(Index(paui, 16)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 30, Local0, 1)
+
+ Store(Mod(Derefof(Index(paui, 17)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 31, Local0, 0x320)
+
+ // Method returns Integer
+
+ Store(Mod(m601(1, 16), Derefof(Refof(b606))), Local0)
+ m600(arg0, 32, Local0, 1)
+
+ Store(Mod(m601(1, 17), Derefof(Refof(b606))), Local0)
+ m600(arg0, 33, Local0, 0x320)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(Derefof(m602(1, 16, 1)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 34, Local0, 1)
+
+ Store(Mod(Derefof(m602(1, 17, 1)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 35, Local0, 0x320)
+ }
+
+ Mod(0x322, Derefof(Refof(b606)), Local0)
+ m600(arg0, 36, Local0, 1)
+
+ Mod(0x320, Derefof(Refof(b606)), Local0)
+ m600(arg0, 37, Local0, 0x320)
+
+ Mod(auig, Derefof(Refof(b606)), Local0)
+ m600(arg0, 38, Local0, 1)
+
+ Mod(auih, Derefof(Refof(b606)), Local0)
+ m600(arg0, 39, Local0, 0x320)
+
+ if (y078) {
+ Mod(Derefof(Refof(auig)), Derefof(Refof(b606)), Local0)
+ m600(arg0, 40, Local0, 1)
+
+ Mod(Derefof(Refof(auih)), Derefof(Refof(b606)), Local0)
+ m600(arg0, 41, Local0, 0x320)
+ }
+
+ Mod(Derefof(Index(paui, 16)), Derefof(Refof(b606)), Local0)
+ m600(arg0, 42, Local0, 1)
+
+ Mod(Derefof(Index(paui, 17)), Derefof(Refof(b606)), Local0)
+ m600(arg0, 43, Local0, 0x320)
+
+ // Method returns Integer
+
+ Mod(m601(1, 16), Derefof(Refof(b606)), Local0)
+ m600(arg0, 44, Local0, 1)
+
+ Mod(m601(1, 17), Derefof(Refof(b606)), Local0)
+ m600(arg0, 45, Local0, 0x320)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(Derefof(m602(1, 16, 1)), Derefof(Refof(b606)), Local0)
+ m600(arg0, 46, Local0, 1)
+
+ Mod(Derefof(m602(1, 17, 1)), Derefof(Refof(b606)), Local0)
+ m600(arg0, 47, Local0, 0x320)
+ }
+ }
+
+ // Mod, 64-bit
+ Method(m045, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Mod(Derefof(Refof(b60a)), 0xfe7cb391d650a285), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(Derefof(Refof(b60a)), 0xfe7cb391d650a283), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Mod(Derefof(Refof(b60a)), auid), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(Derefof(Refof(b60a)), auif), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Mod(Derefof(Refof(b60a)), Derefof(Refof(auid))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(Derefof(Refof(b60a)), Derefof(Refof(auif))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Mod(Derefof(Refof(b60a)), Derefof(Index(paui, 13))), Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(Derefof(Refof(b60a)), Derefof(Index(paui, 15))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Mod(Derefof(Refof(b60a)), m601(1, 13)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(Derefof(Refof(b60a)), m601(1, 15)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(Derefof(Refof(b60a)), Derefof(m602(1, 13, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(Derefof(Refof(b60a)), Derefof(m602(1, 15, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Mod(Derefof(Refof(b60a)), 0xfe7cb391d650a285, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Mod(Derefof(Refof(b60a)), 0xfe7cb391d650a283, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Mod(Derefof(Refof(b60a)), auid, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Mod(Derefof(Refof(b60a)), auif, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Mod(Derefof(Refof(b60a)), Derefof(Refof(auid)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Mod(Derefof(Refof(b60a)), Derefof(Refof(auif)), Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Mod(Derefof(Refof(b60a)), Derefof(Index(paui, 13)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Mod(Derefof(Refof(b60a)), Derefof(Index(paui, 15)), Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Mod(Derefof(Refof(b60a)), m601(1, 13), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Mod(Derefof(Refof(b60a)), m601(1, 15), Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(Derefof(Refof(b60a)), Derefof(m602(1, 13, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Mod(Derefof(Refof(b60a)), Derefof(m602(1, 15, 1)), Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Mod(0xfe7cb391d650a285, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 24, Local0, 1)
+
+ Store(Mod(0xfe7cb391d650a283, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 25, Local0, 0xfe7cb391d650a283)
+
+ Store(Mod(auid, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 26, Local0, 1)
+
+ Store(Mod(auif, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 27, Local0, 0xfe7cb391d650a283)
+
+ if (y078) {
+ Store(Mod(Derefof(Refof(auid)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 28, Local0, 1)
+
+ Store(Mod(Derefof(Refof(auif)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 29, Local0, 0xfe7cb391d650a283)
+ }
+
+ Store(Mod(Derefof(Index(paui, 13)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 30, Local0, 1)
+
+ Store(Mod(Derefof(Index(paui, 15)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 31, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Integer
+
+ Store(Mod(m601(1, 13), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 32, Local0, 1)
+
+ Store(Mod(m601(1, 15), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 33, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(Derefof(m602(1, 13, 1)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 34, Local0, 1)
+
+ Store(Mod(Derefof(m602(1, 15, 1)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 35, Local0, 0xfe7cb391d650a283)
+ }
+
+ Mod(0xfe7cb391d650a285, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 36, Local0, 1)
+
+ Mod(0xfe7cb391d650a283, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 37, Local0, 0xfe7cb391d650a283)
+
+ Mod(auid, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 38, Local0, 1)
+
+ Mod(auif, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 39, Local0, 0xfe7cb391d650a283)
+
+ if (y078) {
+ Mod(Derefof(Refof(auid)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 40, Local0, 1)
+
+ Mod(Derefof(Refof(auif)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 41, Local0, 0xfe7cb391d650a283)
+ }
+
+ Mod(Derefof(Index(paui, 13)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 42, Local0, 1)
+
+ Mod(Derefof(Index(paui, 15)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 43, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Integer
+
+ Mod(m601(1, 13), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 44, Local0, 1)
+
+ Mod(m601(1, 15), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 45, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(Derefof(m602(1, 13, 1)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 46, Local0, 1)
+
+ Mod(Derefof(m602(1, 15, 1)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 47, Local0, 0xfe7cb391d650a283)
+ }
+
+ // Conversion of the both operands
+
+ Store(Mod(Derefof(Refof(b606)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 48, Local0, 0x321)
+
+ Store(Mod(Derefof(Refof(b60a)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 49, Local0, 0x2fd)
+
+ Mod(Derefof(Refof(b606)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 50, Local0, 0x321)
+
+ Mod(Derefof(Refof(b60a)), Derefof(Refof(b606)), Local0)
+ m600(arg0, 51, Local0, 0x2fd)
+ }
+
+ // Mod, 32-bit
+ Method(m046, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Mod(Derefof(Refof(b60a)), 0xd650a285), Local0)
+ m600(arg0, 0, Local0, 0xd650a284)
+
+ Store(Mod(Derefof(Refof(b60a)), 0xd650a283), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Mod(Derefof(Refof(b60a)), auil), Local0)
+ m600(arg0, 2, Local0, 0xd650a284)
+
+ Store(Mod(Derefof(Refof(b60a)), auim), Local0)
+ m600(arg0, 14, Local0, 1)
+
+ if (y078) {
+ Store(Mod(Derefof(Refof(b60a)), Derefof(Refof(auil))), Local0)
+ m600(arg0, 4, Local0, 0xd650a284)
+
+ Store(Mod(Derefof(Refof(b60a)), Derefof(Refof(auim))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Mod(Derefof(Refof(b60a)), Derefof(Index(paui, 21))), Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ Store(Mod(Derefof(Refof(b60a)), Derefof(Index(paui, 22))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Mod(Derefof(Refof(b60a)), m601(1, 21)), Local0)
+ m600(arg0, 8, Local0, 0xd650a284)
+
+ Store(Mod(Derefof(Refof(b60a)), m601(1, 22)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(Derefof(Refof(b60a)), Derefof(m601(1, 21, 1))), Local0)
+ m600(arg0, 10, Local0, 0xd650a284)
+
+ Store(Mod(Derefof(Refof(b60a)), Derefof(m601(1, 22, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Mod(Derefof(Refof(b60a)), 0xd650a285, Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ Mod(Derefof(Refof(b60a)), 0xd650a283, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Mod(Derefof(Refof(b60a)), auil, Local0)
+ m600(arg0, 14, Local0, 0xd650a284)
+
+ Mod(Derefof(Refof(b60a)), auim, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Mod(Derefof(Refof(b60a)), Derefof(Refof(auil)), Local0)
+ m600(arg0, 16, Local0, 0xd650a284)
+
+ Mod(Derefof(Refof(b60a)), Derefof(Refof(auim)), Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Mod(Derefof(Refof(b60a)), Derefof(Index(paui, 21)), Local0)
+ m600(arg0, 18, Local0, 0xd650a284)
+
+ Mod(Derefof(Refof(b60a)), Derefof(Index(paui, 22)), Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Mod(Derefof(Refof(b60a)), m601(1, 21), Local0)
+ m600(arg0, 20, Local0, 0xd650a284)
+
+ Mod(Derefof(Refof(b60a)), m601(1, 22), Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(Derefof(Refof(b60a)), Derefof(m601(1, 21, 1)), Local0)
+ m600(arg0, 22, Local0, 0xd650a284)
+
+ Mod(Derefof(Refof(b60a)), Derefof(m601(1, 22, 1)), Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Mod(0xd650a285, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 24, Local0, 1)
+
+ Store(Mod(0xd650a283, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 25, Local0, 0xd650a283)
+
+ Store(Mod(auil, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 26, Local0, 1)
+
+ Store(Mod(auim, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 27, Local0, 0xd650a283)
+
+ if (y078) {
+ Store(Mod(Derefof(Refof(auil)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 28, Local0, 1)
+
+ Store(Mod(Derefof(Refof(auim)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 29, Local0, 0xd650a283)
+ }
+
+ Store(Mod(Derefof(Index(paui, 21)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 30, Local0, 1)
+
+ Store(Mod(Derefof(Index(paui, 22)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 31, Local0, 0xd650a283)
+
+ // Method returns Integer
+
+ Store(Mod(m601(1, 21), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 32, Local0, 1)
+
+ Store(Mod(m601(1, 22), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 33, Local0, 0xd650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(Derefof(m601(1, 21, 1)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 34, Local0, 1)
+
+ Store(Mod(Derefof(m601(1, 22, 1)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 35, Local0, 0xd650a283)
+ }
+
+ Mod(0xd650a285, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 36, Local0, 1)
+
+ Mod(0xd650a283, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 37, Local0, 0xd650a283)
+
+ Mod(auil, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 38, Local0, 1)
+
+ Mod(auim, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 39, Local0, 0xd650a283)
+
+ if (y078) {
+ Mod(Derefof(Refof(auil)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 40, Local0, 1)
+
+ Mod(Derefof(Refof(auim)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 41, Local0, 0xd650a283)
+ }
+
+ Mod(Derefof(Index(paui, 21)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 42, Local0, 1)
+
+ Mod(Derefof(Index(paui, 22)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 43, Local0, 0xd650a283)
+
+ // Method returns Integer
+
+ Mod(m601(1, 21), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 44, Local0, 1)
+
+ Mod(m601(1, 22), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 45, Local0, 0xd650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(Derefof(m601(1, 21, 1)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 46, Local0, 1)
+
+ Mod(Derefof(m601(1, 22, 1)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 47, Local0, 0xd650a283)
+ }
+
+ // Conversion of the both operands
+
+ Store(Mod(Derefof(Refof(b606)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 48, Local0, 0x321)
+
+ Store(Mod(Derefof(Refof(b60a)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 49, Local0, 0x261)
+
+ Mod(Derefof(Refof(b606)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 50, Local0, 0x321)
+
+ Mod(Derefof(Refof(b60a)), Derefof(Refof(b606)), Local0)
+ m600(arg0, 51, Local0, 0x261)
+ }
+
+ // Multiply, common 32-bit/64-bit test
+ Method(m047, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Multiply(Derefof(Refof(b606)), 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(b606)), 1), Local0)
+ m600(arg0, 1, Local0, 0x321)
+
+ Store(Multiply(Derefof(Refof(b606)), aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(b606)), aui6), Local0)
+ m600(arg0, 3, Local0, 0x321)
+
+ if (y078) {
+ Store(Multiply(Derefof(Refof(b606)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(b606)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x321)
+ }
+
+ Store(Multiply(Derefof(Refof(b606)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(b606)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x321)
+
+ // Method returns Integer
+
+ Store(Multiply(Derefof(Refof(b606)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(b606)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(Derefof(Refof(b606)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(b606)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x321)
+ }
+
+ Multiply(Derefof(Refof(b606)), 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ Multiply(Derefof(Refof(b606)), 1, Local0)
+ m600(arg0, 13, Local0, 0x321)
+
+ Multiply(Derefof(Refof(b606)), aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ Multiply(Derefof(Refof(b606)), aui6, Local0)
+ m600(arg0, 15, Local0, 0x321)
+
+ if (y078) {
+ Multiply(Derefof(Refof(b606)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ Multiply(Derefof(Refof(b606)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x321)
+ }
+
+ Multiply(Derefof(Refof(b606)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ Multiply(Derefof(Refof(b606)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x321)
+
+ // Method returns Integer
+
+ Multiply(Derefof(Refof(b606)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ Multiply(Derefof(Refof(b606)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(Derefof(Refof(b606)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ Multiply(Derefof(Refof(b606)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x321)
+ }
+
+ // Conversion of the second operand
+
+ Store(Multiply(0, Derefof(Refof(b606))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Multiply(1, Derefof(Refof(b606))), Local0)
+ m600(arg0, 25, Local0, 0x321)
+
+ Store(Multiply(aui5, Derefof(Refof(b606))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Multiply(aui6, Derefof(Refof(b606))), Local0)
+ m600(arg0, 27, Local0, 0x321)
+
+ if (y078) {
+ Store(Multiply(Derefof(Refof(aui5)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(aui6)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 29, Local0, 0x321)
+ }
+
+ Store(Multiply(Derefof(Index(paui, 5)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Multiply(Derefof(Index(paui, 6)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 31, Local0, 0x321)
+
+ // Method returns Integer
+
+ Store(Multiply(m601(1, 5), Derefof(Refof(b606))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Multiply(m601(1, 6), Derefof(Refof(b606))), Local0)
+ m600(arg0, 33, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(Derefof(m602(1, 5, 1)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Multiply(Derefof(m602(1, 6, 1)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 35, Local0, 0x321)
+ }
+
+ Multiply(0, Derefof(Refof(b606)), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Multiply(1, Derefof(Refof(b606)), Local0)
+ m600(arg0, 37, Local0, 0x321)
+
+ Multiply(aui5, Derefof(Refof(b606)), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Multiply(aui6, Derefof(Refof(b606)), Local0)
+ m600(arg0, 39, Local0, 0x321)
+
+ if (y078) {
+ Multiply(Derefof(Refof(aui5)), Derefof(Refof(b606)), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Multiply(Derefof(Refof(aui6)), Derefof(Refof(b606)), Local0)
+ m600(arg0, 41, Local0, 0x321)
+ }
+
+ Multiply(Derefof(Index(paui, 5)), Derefof(Refof(b606)), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Multiply(Derefof(Index(paui, 6)), Derefof(Refof(b606)), Local0)
+ m600(arg0, 43, Local0, 0x321)
+
+ // Method returns Integer
+
+ Multiply(m601(1, 5), Derefof(Refof(b606)), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Multiply(m601(1, 6), Derefof(Refof(b606)), Local0)
+ m600(arg0, 45, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(Derefof(m602(1, 5, 1)), Derefof(Refof(b606)), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Multiply(Derefof(m602(1, 6, 1)), Derefof(Refof(b606)), Local0)
+ m600(arg0, 47, Local0, 0x321)
+ }
+ }
+
+ // Multiply, 64-bit
+ Method(m048, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Multiply(Derefof(Refof(b60a)), 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(b60a)), 1), Local0)
+ m600(arg0, 1, Local0, 0xfe7cb391d650a284)
+
+ Store(Multiply(Derefof(Refof(b60a)), aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(b60a)), aui6), Local0)
+ m600(arg0, 3, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Store(Multiply(Derefof(Refof(b60a)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(b60a)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xfe7cb391d650a284)
+ }
+
+ Store(Multiply(Derefof(Refof(b60a)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(b60a)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Store(Multiply(Derefof(Refof(b60a)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(b60a)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(Derefof(Refof(b60a)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(b60a)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfe7cb391d650a284)
+ }
+
+ Multiply(Derefof(Refof(b60a)), 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ Multiply(Derefof(Refof(b60a)), 1, Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a284)
+
+ Multiply(Derefof(Refof(b60a)), aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ Multiply(Derefof(Refof(b60a)), aui6, Local0)
+ m600(arg0, 15, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Multiply(Derefof(Refof(b60a)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ Multiply(Derefof(Refof(b60a)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xfe7cb391d650a284)
+ }
+
+ Multiply(Derefof(Refof(b60a)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ Multiply(Derefof(Refof(b60a)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Multiply(Derefof(Refof(b60a)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ Multiply(Derefof(Refof(b60a)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(Derefof(Refof(b60a)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ Multiply(Derefof(Refof(b60a)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfe7cb391d650a284)
+ }
+
+ // Conversion of the second operand
+
+ Store(Multiply(0, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Multiply(1, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 25, Local0, 0xfe7cb391d650a284)
+
+ Store(Multiply(aui5, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Multiply(aui6, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 27, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Store(Multiply(Derefof(Refof(aui5)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(aui6)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 29, Local0, 0xfe7cb391d650a284)
+ }
+
+ Store(Multiply(Derefof(Index(paui, 5)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Multiply(Derefof(Index(paui, 6)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 31, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Store(Multiply(m601(1, 5), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Multiply(m601(1, 6), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 33, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(Derefof(m602(1, 5, 1)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Multiply(Derefof(m602(1, 6, 1)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 35, Local0, 0xfe7cb391d650a284)
+ }
+
+ Multiply(0, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Multiply(1, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 37, Local0, 0xfe7cb391d650a284)
+
+ Multiply(aui5, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Multiply(aui6, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 39, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Multiply(Derefof(Refof(aui5)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Multiply(Derefof(Refof(aui6)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 41, Local0, 0xfe7cb391d650a284)
+ }
+
+ Multiply(Derefof(Index(paui, 5)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Multiply(Derefof(Index(paui, 6)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 43, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Multiply(m601(1, 5), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Multiply(m601(1, 6), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 45, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(Derefof(m602(1, 5, 1)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Multiply(Derefof(m602(1, 6, 1)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 47, Local0, 0xfe7cb391d650a284)
+ }
+
+ // Conversion of the both operands
+
+ Store(Multiply(Derefof(Refof(b606)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 48, Local0, 0x442ddb4f924c7f04)
+
+ Store(Multiply(Derefof(Refof(b60a)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 49, Local0, 0x442ddb4f924c7f04)
+
+ Multiply(Derefof(Refof(b606)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 50, Local0, 0x442ddb4f924c7f04)
+
+ Multiply(Derefof(Refof(b60a)), Derefof(Refof(b606)), Local0)
+ m600(arg0, 51, Local0, 0x442ddb4f924c7f04)
+ }
+
+ // Multiply, 32-bit
+ Method(m049, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Multiply(Derefof(Refof(b60a)), 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(b60a)), 1), Local0)
+ m600(arg0, 1, Local0, 0xd650a284)
+
+ Store(Multiply(Derefof(Refof(b60a)), aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(b60a)), aui6), Local0)
+ m600(arg0, 3, Local0, 0xd650a284)
+
+ if (y078) {
+ Store(Multiply(Derefof(Refof(b60a)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(b60a)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xd650a284)
+ }
+
+ Store(Multiply(Derefof(Refof(b60a)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(b60a)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xd650a284)
+
+ // Method returns Integer
+
+ Store(Multiply(Derefof(Refof(b60a)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(b60a)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xd650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(Derefof(Refof(b60a)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(b60a)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xd650a284)
+ }
+
+ Multiply(Derefof(Refof(b60a)), 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ Multiply(Derefof(Refof(b60a)), 1, Local0)
+ m600(arg0, 13, Local0, 0xd650a284)
+
+ Multiply(Derefof(Refof(b60a)), aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ Multiply(Derefof(Refof(b60a)), aui6, Local0)
+ m600(arg0, 15, Local0, 0xd650a284)
+
+ if (y078) {
+ Multiply(Derefof(Refof(b60a)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ Multiply(Derefof(Refof(b60a)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xd650a284)
+ }
+
+ Multiply(Derefof(Refof(b60a)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ Multiply(Derefof(Refof(b60a)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xd650a284)
+
+ // Method returns Integer
+
+ Multiply(Derefof(Refof(b60a)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ Multiply(Derefof(Refof(b60a)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xd650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(Derefof(Refof(b60a)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ Multiply(Derefof(Refof(b60a)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xd650a284)
+ }
+
+ // Conversion of the second operand
+
+ Store(Multiply(0, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Multiply(1, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 25, Local0, 0xd650a284)
+
+ Store(Multiply(aui5, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Multiply(aui6, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 27, Local0, 0xd650a284)
+
+ if (y078) {
+ Store(Multiply(Derefof(Refof(aui5)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(aui6)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 29, Local0, 0xd650a284)
+ }
+
+ Store(Multiply(Derefof(Index(paui, 5)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Multiply(Derefof(Index(paui, 6)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 31, Local0, 0xd650a284)
+
+ // Method returns Integer
+
+ Store(Multiply(m601(1, 5), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Multiply(m601(1, 6), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 33, Local0, 0xd650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(Derefof(m602(1, 5, 1)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Multiply(Derefof(m602(1, 6, 1)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 35, Local0, 0xd650a284)
+ }
+
+ Multiply(0, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Multiply(1, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 37, Local0, 0xd650a284)
+
+ Multiply(aui5, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Multiply(aui6, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 39, Local0, 0xd650a284)
+
+ if (y078) {
+ Multiply(Derefof(Refof(aui5)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Multiply(Derefof(Refof(aui6)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 41, Local0, 0xd650a284)
+ }
+
+ Multiply(Derefof(Index(paui, 5)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Multiply(Derefof(Index(paui, 6)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 43, Local0, 0xd650a284)
+
+ // Method returns Integer
+
+ Multiply(m601(1, 5), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Multiply(m601(1, 6), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 45, Local0, 0xd650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(Derefof(m602(1, 5, 1)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Multiply(Derefof(m602(1, 6, 1)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 47, Local0, 0xd650a284)
+ }
+
+ // Conversion of the both operands
+
+ Store(Multiply(Derefof(Refof(b606)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 48, Local0, 0x924c7f04)
+
+ Store(Multiply(Derefof(Refof(b60a)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 49, Local0, 0x924c7f04)
+
+ Multiply(Derefof(Refof(b606)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 50, Local0, 0x924c7f04)
+
+ Multiply(Derefof(Refof(b60a)), Derefof(Refof(b606)), Local0)
+ m600(arg0, 51, Local0, 0x924c7f04)
+ }
+
+ // NAnd, common 32-bit/64-bit test
+ Method(m04a, 1)
+ {
+ // Conversion of the first operand
+
+ Store(NAnd(Derefof(Refof(b606)), 0), Local0)
+ m600(arg0, 0, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Refof(b606)), 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xfffffffffffffcde)
+
+ Store(NAnd(Derefof(Refof(b606)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Refof(b606)), auij), Local0)
+ m600(arg0, 3, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ Store(NAnd(Derefof(Refof(b606)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Refof(b606)), Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xfffffffffffffcde)
+ }
+
+ Store(NAnd(Derefof(Refof(b606)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Refof(b606)), Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ Store(NAnd(Derefof(Refof(b606)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Refof(b606)), m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(Derefof(Refof(b606)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Refof(b606)), Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfffffffffffffcde)
+ }
+
+ NAnd(Derefof(Refof(b606)), 0, Local0)
+ m600(arg0, 12, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Refof(b606)), 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xfffffffffffffcde)
+
+ NAnd(Derefof(Refof(b606)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Refof(b606)), auij, Local0)
+ m600(arg0, 15, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ NAnd(Derefof(Refof(b606)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Refof(b606)), Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xfffffffffffffcde)
+ }
+
+ NAnd(Derefof(Refof(b606)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Refof(b606)), Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ NAnd(Derefof(Refof(b606)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Refof(b606)), m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(Derefof(Refof(b606)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Refof(b606)), Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfffffffffffffcde)
+ }
+
+ // Conversion of the second operand
+
+ Store(NAnd(0, Derefof(Refof(b606))), Local0)
+ m600(arg0, 24, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(0xffffffffffffffff, Derefof(Refof(b606))), Local0)
+ m600(arg0, 25, Local0, 0xfffffffffffffcde)
+
+ Store(NAnd(aui5, Derefof(Refof(b606))), Local0)
+ m600(arg0, 26, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(auij, Derefof(Refof(b606))), Local0)
+ m600(arg0, 27, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ Store(NAnd(Derefof(Refof(aui5)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 28, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Refof(auij)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 29, Local0, 0xfffffffffffffcde)
+ }
+
+ Store(NAnd(Derefof(Index(paui, 5)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 30, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Index(paui, 19)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 31, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ Store(NAnd(m601(1, 5), Derefof(Refof(b606))), Local0)
+ m600(arg0, 32, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(m601(1, 19), Derefof(Refof(b606))), Local0)
+ m600(arg0, 33, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(Derefof(m602(1, 5, 1)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 34, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(m602(1, 19, 1)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 35, Local0, 0xfffffffffffffcde)
+ }
+
+ NAnd(0, Derefof(Refof(b606)), Local0)
+ m600(arg0, 36, Local0, 0xffffffffffffffff)
+
+ NAnd(0xffffffffffffffff, Derefof(Refof(b606)), Local0)
+ m600(arg0, 37, Local0, 0xfffffffffffffcde)
+
+ NAnd(aui5, Derefof(Refof(b606)), Local0)
+ m600(arg0, 38, Local0, 0xffffffffffffffff)
+
+ NAnd(auij, Derefof(Refof(b606)), Local0)
+ m600(arg0, 39, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ NAnd(Derefof(Refof(aui5)), Derefof(Refof(b606)), Local0)
+ m600(arg0, 40, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Refof(auij)), Derefof(Refof(b606)), Local0)
+ m600(arg0, 41, Local0, 0xfffffffffffffcde)
+ }
+
+ NAnd(Derefof(Index(paui, 5)), Derefof(Refof(b606)), Local0)
+ m600(arg0, 42, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Index(paui, 19)), Derefof(Refof(b606)), Local0)
+ m600(arg0, 43, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ NAnd(m601(1, 5), Derefof(Refof(b606)), Local0)
+ m600(arg0, 44, Local0, 0xffffffffffffffff)
+
+ NAnd(m601(1, 19), Derefof(Refof(b606)), Local0)
+ m600(arg0, 45, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(Derefof(m602(1, 5, 1)), Derefof(Refof(b606)), Local0)
+ m600(arg0, 46, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(m602(1, 19, 1)), Derefof(Refof(b606)), Local0)
+ m600(arg0, 47, Local0, 0xfffffffffffffcde)
+ }
+ }
+
+ // NAnd, 64-bit
+ Method(m04b, 1)
+ {
+ // Conversion of the first operand
+
+ Store(NAnd(Derefof(Refof(b60a)), 0), Local0)
+ m600(arg0, 0, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Refof(b60a)), 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0x01834c6e29af5d7b)
+
+ Store(NAnd(Derefof(Refof(b60a)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Refof(b60a)), auij), Local0)
+ m600(arg0, 3, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ Store(NAnd(Derefof(Refof(b60a)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Refof(b60a)), Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Store(NAnd(Derefof(Refof(b60a)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Refof(b60a)), Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ Store(NAnd(Derefof(Refof(b60a)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Refof(b60a)), m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(Derefof(Refof(b60a)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Refof(b60a)), Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0x01834c6e29af5d7b)
+ }
+
+ NAnd(Derefof(Refof(b60a)), 0, Local0)
+ m600(arg0, 12, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Refof(b60a)), 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0x01834c6e29af5d7b)
+
+ NAnd(Derefof(Refof(b60a)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Refof(b60a)), auij, Local0)
+ m600(arg0, 15, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ NAnd(Derefof(Refof(b60a)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Refof(b60a)), Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0x01834c6e29af5d7b)
+ }
+
+ NAnd(Derefof(Refof(b60a)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Refof(b60a)), Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ NAnd(Derefof(Refof(b60a)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Refof(b60a)), m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(Derefof(Refof(b60a)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Refof(b60a)), Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0x01834c6e29af5d7b)
+ }
+
+ // Conversion of the second operand
+
+ Store(NAnd(0, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 24, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(0xffffffffffffffff, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 25, Local0, 0x01834c6e29af5d7b)
+
+ Store(NAnd(aui5, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 26, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(auij, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 27, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ Store(NAnd(Derefof(Refof(aui5)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 28, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Refof(auij)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 29, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Store(NAnd(Derefof(Index(paui, 5)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 30, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Index(paui, 19)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 31, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ Store(NAnd(m601(1, 5), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 32, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(m601(1, 19), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 33, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(Derefof(m602(1, 5, 1)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 34, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(m602(1, 19, 1)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 35, Local0, 0x01834c6e29af5d7b)
+ }
+
+ NAnd(0, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 36, Local0, 0xffffffffffffffff)
+
+ NAnd(0xffffffffffffffff, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 37, Local0, 0x01834c6e29af5d7b)
+
+ NAnd(aui5, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 38, Local0, 0xffffffffffffffff)
+
+ NAnd(auij, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 39, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ NAnd(Derefof(Refof(aui5)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 40, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Refof(auij)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 41, Local0, 0x01834c6e29af5d7b)
+ }
+
+ NAnd(Derefof(Index(paui, 5)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 42, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Index(paui, 19)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 43, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ NAnd(m601(1, 5), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 44, Local0, 0xffffffffffffffff)
+
+ NAnd(m601(1, 19), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 45, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(Derefof(m602(1, 5, 1)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 46, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(m602(1, 19, 1)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 47, Local0, 0x01834c6e29af5d7b)
+ }
+
+ // Conversion of the both operands
+
+ Store(NAnd(Derefof(Refof(b606)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 48, Local0, 0xfffffffffffffdff)
+
+ Store(NAnd(Derefof(Refof(b60a)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 49, Local0, 0xfffffffffffffdff)
+
+ NAnd(Derefof(Refof(b606)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 50, Local0, 0xfffffffffffffdff)
+
+ NAnd(Derefof(Refof(b60a)), Derefof(Refof(b606)), Local0)
+ m600(arg0, 51, Local0, 0xfffffffffffffdff)
+ }
+
+ // NAnd, 32-bit
+ Method(m04c, 1)
+ {
+ // Conversion of the first operand
+
+ Store(NAnd(Derefof(Refof(b60a)), 0), Local0)
+ m600(arg0, 0, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(Refof(b60a)), 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0x29af5d7b)
+
+ Store(NAnd(Derefof(Refof(b60a)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(Refof(b60a)), auii), Local0)
+ m600(arg0, 3, Local0, 0x29af5d7b)
+
+ if (y078) {
+ Store(NAnd(Derefof(Refof(b60a)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(Refof(b60a)), Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0x29af5d7b)
+ }
+
+ Store(NAnd(Derefof(Refof(b60a)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(Refof(b60a)), Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0x29af5d7b)
+
+ // Method returns Integer
+
+ Store(NAnd(Derefof(Refof(b60a)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(Refof(b60a)), m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0x29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(Derefof(Refof(b60a)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(Refof(b60a)), Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0x29af5d7b)
+ }
+
+ NAnd(Derefof(Refof(b60a)), 0, Local0)
+ m600(arg0, 12, Local0, 0xffffffff)
+
+ NAnd(Derefof(Refof(b60a)), 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0x29af5d7b)
+
+ NAnd(Derefof(Refof(b60a)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xffffffff)
+
+ NAnd(Derefof(Refof(b60a)), auii, Local0)
+ m600(arg0, 15, Local0, 0x29af5d7b)
+
+ if (y078) {
+ NAnd(Derefof(Refof(b60a)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xffffffff)
+
+ NAnd(Derefof(Refof(b60a)), Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0x29af5d7b)
+ }
+
+ NAnd(Derefof(Refof(b60a)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xffffffff)
+
+ NAnd(Derefof(Refof(b60a)), Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0x29af5d7b)
+
+ // Method returns Integer
+
+ NAnd(Derefof(Refof(b60a)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xffffffff)
+
+ NAnd(Derefof(Refof(b60a)), m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0x29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(Derefof(Refof(b60a)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xffffffff)
+
+ NAnd(Derefof(Refof(b60a)), Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0x29af5d7b)
+ }
+
+ // Conversion of the second operand
+
+ Store(NAnd(0, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 24, Local0, 0xffffffff)
+
+ Store(NAnd(0xffffffff, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 25, Local0, 0x29af5d7b)
+
+ Store(NAnd(aui5, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 26, Local0, 0xffffffff)
+
+ Store(NAnd(auii, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 27, Local0, 0x29af5d7b)
+
+ if (y078) {
+ Store(NAnd(Derefof(Refof(aui5)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 28, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(Refof(auii)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 29, Local0, 0x29af5d7b)
+ }
+
+ Store(NAnd(Derefof(Index(paui, 5)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 30, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(Index(paui, 18)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 31, Local0, 0x29af5d7b)
+
+ // Method returns Integer
+
+ Store(NAnd(m601(1, 5), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 32, Local0, 0xffffffff)
+
+ Store(NAnd(m601(1, 18), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 33, Local0, 0x29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(Derefof(m602(1, 5, 1)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 34, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(m602(1, 18, 1)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 35, Local0, 0x29af5d7b)
+ }
+
+ NAnd(0, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 36, Local0, 0xffffffff)
+
+ NAnd(0xffffffff, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 37, Local0, 0x29af5d7b)
+
+ NAnd(aui5, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 38, Local0, 0xffffffff)
+
+ NAnd(auii, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 39, Local0, 0x29af5d7b)
+
+ if (y078) {
+ NAnd(Derefof(Refof(aui5)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 40, Local0, 0xffffffff)
+
+ NAnd(Derefof(Refof(auii)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 41, Local0, 0x29af5d7b)
+ }
+
+ NAnd(Derefof(Index(paui, 5)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 42, Local0, 0xffffffff)
+
+ NAnd(Derefof(Index(paui, 18)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 43, Local0, 0x29af5d7b)
+
+ // Method returns Integer
+
+ NAnd(m601(1, 5), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 44, Local0, 0xffffffff)
+
+ NAnd(m601(1, 18), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 45, Local0, 0x29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(Derefof(m602(1, 5, 1)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 46, Local0, 0xffffffff)
+
+ NAnd(Derefof(m602(1, 18, 1)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 47, Local0, 0x29af5d7b)
+ }
+
+ // Conversion of the both operands
+
+ Store(NAnd(Derefof(Refof(b606)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 48, Local0, 0xfffffdff)
+
+ Store(NAnd(Derefof(Refof(b60a)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 49, Local0, 0xfffffdff)
+
+ NAnd(Derefof(Refof(b606)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 50, Local0, 0xfffffdff)
+
+ NAnd(Derefof(Refof(b60a)), Derefof(Refof(b606)), Local0)
+ m600(arg0, 51, Local0, 0xfffffdff)
+ }
+
+ // NOr, common 32-bit/64-bit test
+ Method(m04d, 1)
+ {
+ // Conversion of the first operand
+
+ Store(NOr(Derefof(Refof(b606)), 0), Local0)
+ m600(arg0, 0, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(Refof(b606)), 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0)
+
+ Store(NOr(Derefof(Refof(b606)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(Refof(b606)), auij), Local0)
+ m600(arg0, 3, Local0, 0)
+
+ if (y078) {
+ Store(NOr(Derefof(Refof(b606)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(Refof(b606)), Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0)
+ }
+
+ Store(NOr(Derefof(Refof(b606)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(Refof(b606)), Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(Derefof(Refof(b606)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(Refof(b606)), m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(Derefof(Refof(b606)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(Refof(b606)), Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0)
+ }
+
+ NOr(Derefof(Refof(b606)), 0, Local0)
+ m600(arg0, 12, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(Refof(b606)), 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0)
+
+ NOr(Derefof(Refof(b606)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(Refof(b606)), auij, Local0)
+ m600(arg0, 15, Local0, 0)
+
+ if (y078) {
+ NOr(Derefof(Refof(b606)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(Refof(b606)), Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0)
+ }
+
+ NOr(Derefof(Refof(b606)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(Refof(b606)), Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(Derefof(Refof(b606)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(Refof(b606)), m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(Derefof(Refof(b606)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(Refof(b606)), Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0)
+ }
+
+ // Conversion of the second operand
+
+ Store(NOr(0, Derefof(Refof(b606))), Local0)
+ m600(arg0, 24, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(0xffffffffffffffff, Derefof(Refof(b606))), Local0)
+ m600(arg0, 25, Local0, 0)
+
+ Store(NOr(aui5, Derefof(Refof(b606))), Local0)
+ m600(arg0, 26, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(auij, Derefof(Refof(b606))), Local0)
+ m600(arg0, 27, Local0, 0)
+
+ if (y078) {
+ Store(NOr(Derefof(Refof(aui5)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 28, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(Refof(auij)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 29, Local0, 0)
+ }
+
+ Store(NOr(Derefof(Index(paui, 5)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 30, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(Index(paui, 19)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 31, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(m601(1, 5), Derefof(Refof(b606))), Local0)
+ m600(arg0, 32, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(m601(1, 19), Derefof(Refof(b606))), Local0)
+ m600(arg0, 33, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(Derefof(m602(1, 5, 1)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 34, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(m602(1, 19, 1)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 35, Local0, 0)
+ }
+
+ NOr(0, Derefof(Refof(b606)), Local0)
+ m600(arg0, 36, Local0, 0xfffffffffffffcde)
+
+ NOr(0xffffffffffffffff, Derefof(Refof(b606)), Local0)
+ m600(arg0, 37, Local0, 0)
+
+ NOr(aui5, Derefof(Refof(b606)), Local0)
+ m600(arg0, 38, Local0, 0xfffffffffffffcde)
+
+ NOr(auij, Derefof(Refof(b606)), Local0)
+ m600(arg0, 39, Local0, 0)
+
+ if (y078) {
+ NOr(Derefof(Refof(aui5)), Derefof(Refof(b606)), Local0)
+ m600(arg0, 40, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(Refof(auij)), Derefof(Refof(b606)), Local0)
+ m600(arg0, 41, Local0, 0)
+ }
+
+ NOr(Derefof(Index(paui, 5)), Derefof(Refof(b606)), Local0)
+ m600(arg0, 42, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(Index(paui, 19)), Derefof(Refof(b606)), Local0)
+ m600(arg0, 43, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(m601(1, 5), Derefof(Refof(b606)), Local0)
+ m600(arg0, 44, Local0, 0xfffffffffffffcde)
+
+ NOr(m601(1, 19), Derefof(Refof(b606)), Local0)
+ m600(arg0, 45, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(Derefof(m602(1, 5, 1)), Derefof(Refof(b606)), Local0)
+ m600(arg0, 46, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(m602(1, 19, 1)), Derefof(Refof(b606)), Local0)
+ m600(arg0, 47, Local0, 0)
+ }
+ }
+
+ // NOr, 64-bit
+ Method(m04e, 1)
+ {
+ // Conversion of the first operand
+
+ Store(NOr(Derefof(Refof(b60a)), 0), Local0)
+ m600(arg0, 0, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(Refof(b60a)), 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0)
+
+ Store(NOr(Derefof(Refof(b60a)), aui5), Local0)
+ m600(arg0, 2, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(Refof(b60a)), auij), Local0)
+ m600(arg0, 3, Local0, 0)
+
+ if (y078) {
+ Store(NOr(Derefof(Refof(b60a)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(Refof(b60a)), Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0)
+ }
+
+ Store(NOr(Derefof(Refof(b60a)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(Refof(b60a)), Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(Derefof(Refof(b60a)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(Refof(b60a)), m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(Derefof(Refof(b60a)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(Refof(b60a)), Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0)
+ }
+
+ NOr(Derefof(Refof(b60a)), 0, Local0)
+ m600(arg0, 12, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(Refof(b60a)), 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0)
+
+ NOr(Derefof(Refof(b60a)), aui5, Local0)
+ m600(arg0, 14, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(Refof(b60a)), auij, Local0)
+ m600(arg0, 15, Local0, 0)
+
+ if (y078) {
+ NOr(Derefof(Refof(b60a)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(Refof(b60a)), Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0)
+ }
+
+ NOr(Derefof(Refof(b60a)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(Refof(b60a)), Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(Derefof(Refof(b60a)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(Refof(b60a)), m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(Derefof(Refof(b60a)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(Refof(b60a)), Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0)
+ }
+
+ // Conversion of the second operand
+
+ Store(NOr(0, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 24, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(0xffffffffffffffff, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 25, Local0, 0)
+
+ Store(NOr(aui5, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 26, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(auij, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 27, Local0, 0)
+
+ if (y078) {
+ Store(NOr(Derefof(Refof(aui5)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 28, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(Refof(auij)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 29, Local0, 0)
+ }
+
+ Store(NOr(Derefof(Index(paui, 5)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 30, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(Index(paui, 19)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 31, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(m601(1, 5), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 32, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(m601(1, 19), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 33, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(Derefof(m602(1, 5, 1)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 34, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(m602(1, 19, 1)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 35, Local0, 0)
+ }
+
+ NOr(0, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 36, Local0, 0x01834c6e29af5d7b)
+
+ NOr(0xffffffffffffffff, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 37, Local0, 0)
+
+ NOr(aui5, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 38, Local0, 0x01834c6e29af5d7b)
+
+ NOr(auij, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 39, Local0, 0)
+
+ if (y078) {
+ NOr(Derefof(Refof(aui5)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 40, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(Refof(auij)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 41, Local0, 0)
+ }
+
+ NOr(Derefof(Index(paui, 5)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 42, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(Index(paui, 19)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 43, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(m601(1, 5), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 44, Local0, 0x01834c6e29af5d7b)
+
+ NOr(m601(1, 19), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 45, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(Derefof(m602(1, 5, 1)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 46, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(m602(1, 19, 1)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 47, Local0, 0)
+ }
+
+ // Conversion of the both operands
+
+ Store(NOr(Derefof(Refof(b606)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 48, Local0, 0x01834c6e29af5c5a)
+
+ Store(NOr(Derefof(Refof(b60a)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 49, Local0, 0x01834c6e29af5c5a)
+
+ NOr(Derefof(Refof(b606)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 50, Local0, 0x01834c6e29af5c5a)
+
+ NOr(Derefof(Refof(b60a)), Derefof(Refof(b606)), Local0)
+ m600(arg0, 51, Local0, 0x01834c6e29af5c5a)
+ }
+
+ // NOr, 32-bit
+ Method(m04f, 1)
+ {
+ // Conversion of the first operand
+
+ Store(NOr(Derefof(Refof(b60a)), 0), Local0)
+ m600(arg0, 0, Local0, 0x29af5d7b)
+
+ Store(NOr(Derefof(Refof(b60a)), 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0)
+
+ Store(NOr(Derefof(Refof(b60a)), aui5), Local0)
+ m600(arg0, 2, Local0, 0x29af5d7b)
+
+ Store(NOr(Derefof(Refof(b60a)), auii), Local0)
+ m600(arg0, 3, Local0, 0)
+
+ if (y078) {
+ Store(NOr(Derefof(Refof(b60a)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x29af5d7b)
+
+ Store(NOr(Derefof(Refof(b60a)), Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0)
+ }
+
+ Store(NOr(Derefof(Refof(b60a)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x29af5d7b)
+
+ Store(NOr(Derefof(Refof(b60a)), Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(Derefof(Refof(b60a)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x29af5d7b)
+
+ Store(NOr(Derefof(Refof(b60a)), m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(Derefof(Refof(b60a)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x29af5d7b)
+
+ Store(NOr(Derefof(Refof(b60a)), Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0)
+ }
+
+ NOr(Derefof(Refof(b60a)), 0, Local0)
+ m600(arg0, 12, Local0, 0x29af5d7b)
+
+ NOr(Derefof(Refof(b60a)), 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0)
+
+ NOr(Derefof(Refof(b60a)), aui5, Local0)
+ m600(arg0, 14, Local0, 0x29af5d7b)
+
+ NOr(Derefof(Refof(b60a)), auii, Local0)
+ m600(arg0, 15, Local0, 0)
+
+ if (y078) {
+ NOr(Derefof(Refof(b60a)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x29af5d7b)
+
+ NOr(Derefof(Refof(b60a)), Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0)
+ }
+
+ NOr(Derefof(Refof(b60a)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x29af5d7b)
+
+ NOr(Derefof(Refof(b60a)), Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(Derefof(Refof(b60a)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x29af5d7b)
+
+ NOr(Derefof(Refof(b60a)), m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(Derefof(Refof(b60a)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x29af5d7b)
+
+ NOr(Derefof(Refof(b60a)), Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0)
+ }
+
+ // Conversion of the second operand
+
+ Store(NOr(0, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 24, Local0, 0x29af5d7b)
+
+ Store(NOr(0xffffffff, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 25, Local0, 0)
+
+ Store(NOr(aui5, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 26, Local0, 0x29af5d7b)
+
+ Store(NOr(auii, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 27, Local0, 0)
+
+ if (y078) {
+ Store(NOr(Derefof(Refof(aui5)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 28, Local0, 0x29af5d7b)
+
+ Store(NOr(Derefof(Refof(auii)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 29, Local0, 0)
+ }
+
+ Store(NOr(Derefof(Index(paui, 5)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 30, Local0, 0x29af5d7b)
+
+ Store(NOr(Derefof(Index(paui, 18)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 31, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(m601(1, 5), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 32, Local0, 0x29af5d7b)
+
+ Store(NOr(m601(1, 18), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 33, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(Derefof(m602(1, 5, 1)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 34, Local0, 0x29af5d7b)
+
+ Store(NOr(Derefof(m602(1, 18, 1)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 35, Local0, 0)
+ }
+
+ NOr(0, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 36, Local0, 0x29af5d7b)
+
+ NOr(0xffffffff, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 37, Local0, 0)
+
+ NOr(aui5, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 38, Local0, 0x29af5d7b)
+
+ NOr(auii, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 39, Local0, 0)
+
+ if (y078) {
+ NOr(Derefof(Refof(aui5)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 40, Local0, 0x29af5d7b)
+
+ NOr(Derefof(Refof(auii)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 41, Local0, 0)
+ }
+
+ NOr(Derefof(Index(paui, 5)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 42, Local0, 0x29af5d7b)
+
+ NOr(Derefof(Index(paui, 18)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 43, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(m601(1, 5), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 44, Local0, 0x29af5d7b)
+
+ NOr(m601(1, 18), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 45, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(Derefof(m602(1, 5, 1)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 46, Local0, 0x29af5d7b)
+
+ NOr(Derefof(m602(1, 18, 1)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 47, Local0, 0)
+ }
+
+ // Conversion of the both operands
+
+ Store(NOr(Derefof(Refof(b606)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 48, Local0, 0x29af5c5a)
+
+ Store(NOr(Derefof(Refof(b60a)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 49, Local0, 0x29af5c5a)
+
+ NOr(Derefof(Refof(b606)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 50, Local0, 0x29af5c5a)
+
+ NOr(Derefof(Refof(b60a)), Derefof(Refof(b606)), Local0)
+ m600(arg0, 51, Local0, 0x29af5c5a)
+ }
+
+ // Or, common 32-bit/64-bit test
+ Method(m050, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Or(Derefof(Refof(b606)), 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Or(Derefof(Refof(b606)), 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xffffffffffffffff)
+
+ Store(Or(Derefof(Refof(b606)), aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Or(Derefof(Refof(b606)), auij), Local0)
+ m600(arg0, 3, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Store(Or(Derefof(Refof(b606)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Or(Derefof(Refof(b606)), Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xffffffffffffffff)
+ }
+
+ Store(Or(Derefof(Refof(b606)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Or(Derefof(Refof(b606)), Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Store(Or(Derefof(Refof(b606)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Or(Derefof(Refof(b606)), m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(Derefof(Refof(b606)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Or(Derefof(Refof(b606)), Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xffffffffffffffff)
+ }
+
+ Or(Derefof(Refof(b606)), 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Or(Derefof(Refof(b606)), 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xffffffffffffffff)
+
+ Or(Derefof(Refof(b606)), aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Or(Derefof(Refof(b606)), auij, Local0)
+ m600(arg0, 15, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Or(Derefof(Refof(b606)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Or(Derefof(Refof(b606)), Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xffffffffffffffff)
+ }
+
+ Or(Derefof(Refof(b606)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Or(Derefof(Refof(b606)), Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Or(Derefof(Refof(b606)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Or(Derefof(Refof(b606)), m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(Derefof(Refof(b606)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Or(Derefof(Refof(b606)), Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xffffffffffffffff)
+ }
+
+ // Conversion of the second operand
+
+ Store(Or(0, Derefof(Refof(b606))), Local0)
+ m600(arg0, 24, Local0, 0x321)
+
+ Store(Or(0xffffffffffffffff, Derefof(Refof(b606))), Local0)
+ m600(arg0, 25, Local0, 0xffffffffffffffff)
+
+ Store(Or(aui5, Derefof(Refof(b606))), Local0)
+ m600(arg0, 26, Local0, 0x321)
+
+ Store(Or(auij, Derefof(Refof(b606))), Local0)
+ m600(arg0, 27, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Store(Or(Derefof(Refof(aui5)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 28, Local0, 0x321)
+
+ Store(Or(Derefof(Refof(auij)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 29, Local0, 0xffffffffffffffff)
+ }
+
+ Store(Or(Derefof(Index(paui, 5)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 30, Local0, 0x321)
+
+ Store(Or(Derefof(Index(paui, 19)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 31, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Store(Or(m601(1, 5), Derefof(Refof(b606))), Local0)
+ m600(arg0, 32, Local0, 0x321)
+
+ Store(Or(m601(1, 19), Derefof(Refof(b606))), Local0)
+ m600(arg0, 33, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(Derefof(m602(1, 5, 1)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 34, Local0, 0x321)
+
+ Store(Or(Derefof(m602(1, 19, 1)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 35, Local0, 0xffffffffffffffff)
+ }
+
+ Or(0, Derefof(Refof(b606)), Local0)
+ m600(arg0, 36, Local0, 0x321)
+
+ Or(0xffffffffffffffff, Derefof(Refof(b606)), Local0)
+ m600(arg0, 37, Local0, 0xffffffffffffffff)
+
+ Or(aui5, Derefof(Refof(b606)), Local0)
+ m600(arg0, 38, Local0, 0x321)
+
+ Or(auij, Derefof(Refof(b606)), Local0)
+ m600(arg0, 39, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Or(Derefof(Refof(aui5)), Derefof(Refof(b606)), Local0)
+ m600(arg0, 40, Local0, 0x321)
+
+ Or(Derefof(Refof(auij)), Derefof(Refof(b606)), Local0)
+ m600(arg0, 41, Local0, 0xffffffffffffffff)
+ }
+
+ Or(Derefof(Index(paui, 5)), Derefof(Refof(b606)), Local0)
+ m600(arg0, 42, Local0, 0x321)
+
+ Or(Derefof(Index(paui, 19)), Derefof(Refof(b606)), Local0)
+ m600(arg0, 43, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Or(m601(1, 5), Derefof(Refof(b606)), Local0)
+ m600(arg0, 44, Local0, 0x321)
+
+ Or(m601(1, 19), Derefof(Refof(b606)), Local0)
+ m600(arg0, 45, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(Derefof(m602(1, 5, 1)), Derefof(Refof(b606)), Local0)
+ m600(arg0, 46, Local0, 0x321)
+
+ Or(Derefof(m602(1, 19, 1)), Derefof(Refof(b606)), Local0)
+ m600(arg0, 47, Local0, 0xffffffffffffffff)
+ }
+ }
+
+ // Or, 64-bit
+ Method(m051, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Or(Derefof(Refof(b60a)), 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(Refof(b60a)), 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xffffffffffffffff)
+
+ Store(Or(Derefof(Refof(b60a)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(Refof(b60a)), auij), Local0)
+ m600(arg0, 3, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Store(Or(Derefof(Refof(b60a)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(Refof(b60a)), Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xffffffffffffffff)
+ }
+
+ Store(Or(Derefof(Refof(b60a)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(Refof(b60a)), Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Store(Or(Derefof(Refof(b60a)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(Refof(b60a)), m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(Derefof(Refof(b60a)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(Refof(b60a)), Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xffffffffffffffff)
+ }
+
+ Or(Derefof(Refof(b60a)), 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(Refof(b60a)), 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xffffffffffffffff)
+
+ Or(Derefof(Refof(b60a)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(Refof(b60a)), auij, Local0)
+ m600(arg0, 15, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Or(Derefof(Refof(b60a)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(Refof(b60a)), Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xffffffffffffffff)
+ }
+
+ Or(Derefof(Refof(b60a)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(Refof(b60a)), Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Or(Derefof(Refof(b60a)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(Refof(b60a)), m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(Derefof(Refof(b60a)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(Refof(b60a)), Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xffffffffffffffff)
+ }
+
+ // Conversion of the second operand
+
+ Store(Or(0, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 24, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(0xffffffffffffffff, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 25, Local0, 0xffffffffffffffff)
+
+ Store(Or(aui5, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 26, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(auij, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 27, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Store(Or(Derefof(Refof(aui5)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 28, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(Refof(auij)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 29, Local0, 0xffffffffffffffff)
+ }
+
+ Store(Or(Derefof(Index(paui, 5)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 30, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(Index(paui, 19)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 31, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Store(Or(m601(1, 5), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 32, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(m601(1, 19), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 33, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(Derefof(m602(1, 5, 1)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 34, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(m602(1, 19, 1)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 35, Local0, 0xffffffffffffffff)
+ }
+
+ Or(0, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 36, Local0, 0xfe7cb391d650a284)
+
+ Or(0xffffffffffffffff, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 37, Local0, 0xffffffffffffffff)
+
+ Or(aui5, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 38, Local0, 0xfe7cb391d650a284)
+
+ Or(auij, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 39, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Or(Derefof(Refof(aui5)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 40, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(Refof(auij)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 41, Local0, 0xffffffffffffffff)
+ }
+
+ Or(Derefof(Index(paui, 5)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 42, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(Index(paui, 19)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 43, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Or(m601(1, 5), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 44, Local0, 0xfe7cb391d650a284)
+
+ Or(m601(1, 19), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 45, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(Derefof(m602(1, 5, 1)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 46, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(m602(1, 19, 1)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 47, Local0, 0xffffffffffffffff)
+ }
+
+ // Conversion of the both operands
+
+ Store(Or(Derefof(Refof(b606)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 48, Local0, 0xfe7cb391d650a3a5)
+
+ Store(Or(Derefof(Refof(b60a)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 49, Local0, 0xfe7cb391d650a3a5)
+
+ Or(Derefof(Refof(b606)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 50, Local0, 0xfe7cb391d650a3a5)
+
+ Or(Derefof(Refof(b60a)), Derefof(Refof(b606)), Local0)
+ m600(arg0, 51, Local0, 0xfe7cb391d650a3a5)
+ }
+
+ // Or, 32-bit
+ Method(m052, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Or(Derefof(Refof(b60a)), 0), Local0)
+ m600(arg0, 0, Local0, 0xd650a284)
+
+ Store(Or(Derefof(Refof(b60a)), 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0xffffffff)
+
+ Store(Or(Derefof(Refof(b60a)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xd650a284)
+
+ Store(Or(Derefof(Refof(b60a)), auii), Local0)
+ m600(arg0, 3, Local0, 0xffffffff)
+
+ if (y078) {
+ Store(Or(Derefof(Refof(b60a)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xd650a284)
+
+ Store(Or(Derefof(Refof(b60a)), Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0xffffffff)
+ }
+
+ Store(Or(Derefof(Refof(b60a)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xd650a284)
+
+ Store(Or(Derefof(Refof(b60a)), Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0xffffffff)
+
+ // Method returns Integer
+
+ Store(Or(Derefof(Refof(b60a)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xd650a284)
+
+ Store(Or(Derefof(Refof(b60a)), m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0xffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(Derefof(Refof(b60a)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xd650a284)
+
+ Store(Or(Derefof(Refof(b60a)), Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0xffffffff)
+ }
+
+ Or(Derefof(Refof(b60a)), 0, Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ Or(Derefof(Refof(b60a)), 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0xffffffff)
+
+ Or(Derefof(Refof(b60a)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xd650a284)
+
+ Or(Derefof(Refof(b60a)), auii, Local0)
+ m600(arg0, 15, Local0, 0xffffffff)
+
+ if (y078) {
+ Or(Derefof(Refof(b60a)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xd650a284)
+
+ Or(Derefof(Refof(b60a)), Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0xffffffff)
+ }
+
+ Or(Derefof(Refof(b60a)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xd650a284)
+
+ Or(Derefof(Refof(b60a)), Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0xffffffff)
+
+ // Method returns Integer
+
+ Or(Derefof(Refof(b60a)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xd650a284)
+
+ Or(Derefof(Refof(b60a)), m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0xffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(Derefof(Refof(b60a)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xd650a284)
+
+ Or(Derefof(Refof(b60a)), Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0xffffffff)
+ }
+
+ // Conversion of the second operand
+
+ Store(Or(0, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 24, Local0, 0xd650a284)
+
+ Store(Or(0xffffffff, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 25, Local0, 0xffffffff)
+
+ Store(Or(aui5, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 26, Local0, 0xd650a284)
+
+ Store(Or(auii, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 27, Local0, 0xffffffff)
+
+ if (y078) {
+ Store(Or(Derefof(Refof(aui5)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 28, Local0, 0xd650a284)
+
+ Store(Or(Derefof(Refof(auii)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 29, Local0, 0xffffffff)
+ }
+
+ Store(Or(Derefof(Index(paui, 5)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 30, Local0, 0xd650a284)
+
+ Store(Or(Derefof(Index(paui, 18)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 31, Local0, 0xffffffff)
+
+ // Method returns Integer
+
+ Store(Or(m601(1, 5), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 32, Local0, 0xd650a284)
+
+ Store(Or(m601(1, 18), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 33, Local0, 0xffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(Derefof(m602(1, 5, 1)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 34, Local0, 0xd650a284)
+
+ Store(Or(Derefof(m602(1, 18, 1)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 35, Local0, 0xffffffff)
+ }
+
+ Or(0, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 36, Local0, 0xd650a284)
+
+ Or(0xffffffff, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 37, Local0, 0xffffffff)
+
+ Or(aui5, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 38, Local0, 0xd650a284)
+
+ Or(auii, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 39, Local0, 0xffffffff)
+
+ if (y078) {
+ Or(Derefof(Refof(aui5)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 40, Local0, 0xd650a284)
+
+ Or(Derefof(Refof(auii)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 41, Local0, 0xffffffff)
+ }
+
+ Or(Derefof(Index(paui, 5)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 42, Local0, 0xd650a284)
+
+ Or(Derefof(Index(paui, 18)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 43, Local0, 0xffffffff)
+
+ // Method returns Integer
+
+ Or(m601(1, 5), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 44, Local0, 0xd650a284)
+
+ Or(m601(1, 18), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 45, Local0, 0xffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(Derefof(m602(1, 5, 1)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 46, Local0, 0xd650a284)
+
+ Or(Derefof(m602(1, 18, 1)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 47, Local0, 0xffffffff)
+ }
+
+ // Conversion of the both operands
+
+ Store(Or(Derefof(Refof(b606)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 48, Local0, 0xd650a3a5)
+
+ Store(Or(Derefof(Refof(b60a)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 49, Local0, 0xd650a3a5)
+
+ Or(Derefof(Refof(b606)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 50, Local0, 0xd650a3a5)
+
+ Or(Derefof(Refof(b60a)), Derefof(Refof(b606)), Local0)
+ m600(arg0, 51, Local0, 0xd650a3a5)
+ }
+
+ // ShiftLeft, common 32-bit/64-bit test
+ Method(m053, 1)
+ {
+ // Conversion of the first operand
+
+ Store(ShiftLeft(Derefof(Refof(b606)), 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(ShiftLeft(Derefof(Refof(b606)), 1), Local0)
+ m600(arg0, 1, Local0, 0x642)
+
+ Store(ShiftLeft(Derefof(Refof(b606)), aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(ShiftLeft(Derefof(Refof(b606)), aui6), Local0)
+ m600(arg0, 3, Local0, 0x642)
+
+ if (y078) {
+ Store(ShiftLeft(Derefof(Refof(b606)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(ShiftLeft(Derefof(Refof(b606)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x642)
+ }
+
+ Store(ShiftLeft(Derefof(Refof(b606)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(ShiftLeft(Derefof(Refof(b606)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x642)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(Derefof(Refof(b606)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(ShiftLeft(Derefof(Refof(b606)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x642)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(Derefof(Refof(b606)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(ShiftLeft(Derefof(Refof(b606)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x642)
+ }
+
+ ShiftLeft(Derefof(Refof(b606)), 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ ShiftLeft(Derefof(Refof(b606)), 1, Local0)
+ m600(arg0, 13, Local0, 0x642)
+
+ ShiftLeft(Derefof(Refof(b606)), aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ ShiftLeft(Derefof(Refof(b606)), aui6, Local0)
+ m600(arg0, 15, Local0, 0x642)
+
+ if (y078) {
+ ShiftLeft(Derefof(Refof(b606)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ ShiftLeft(Derefof(Refof(b606)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x642)
+ }
+
+ ShiftLeft(Derefof(Refof(b606)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ ShiftLeft(Derefof(Refof(b606)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x642)
+
+ // Method returns Integer
+
+ ShiftLeft(Derefof(Refof(b606)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ ShiftLeft(Derefof(Refof(b606)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x642)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(Derefof(Refof(b606)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ ShiftLeft(Derefof(Refof(b606)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x642)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftLeft(0, Derefof(Refof(b60e))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftLeft(1, Derefof(Refof(b60e))), Local0)
+ m600(arg0, 25, Local0, 0x800)
+
+ Store(ShiftLeft(aui5, Derefof(Refof(b60e))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftLeft(aui6, Derefof(Refof(b60e))), Local0)
+ m600(arg0, 27, Local0, 0x800)
+
+ if (y078) {
+ Store(ShiftLeft(Derefof(Refof(aui5)), Derefof(Refof(b60e))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Refof(aui6)), Derefof(Refof(b60e))), Local0)
+ m600(arg0, 29, Local0, 0x800)
+ }
+
+ Store(ShiftLeft(Derefof(Index(paui, 5)), Derefof(Refof(b60e))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Index(paui, 6)), Derefof(Refof(b60e))), Local0)
+ m600(arg0, 31, Local0, 0x800)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(m601(1, 5), Derefof(Refof(b60e))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftLeft(m601(1, 6), Derefof(Refof(b60e))), Local0)
+ m600(arg0, 33, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(Derefof(m602(1, 5, 1)), Derefof(Refof(b60e))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftLeft(Derefof(m602(1, 6, 1)), Derefof(Refof(b60e))), Local0)
+ m600(arg0, 35, Local0, 0x800)
+ }
+
+ ShiftLeft(0, Derefof(Refof(b60e)), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftLeft(1, Derefof(Refof(b60e)), Local0)
+ m600(arg0, 37, Local0, 0x800)
+
+ ShiftLeft(aui5, Derefof(Refof(b60e)), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftLeft(aui6, Derefof(Refof(b60e)), Local0)
+ m600(arg0, 39, Local0, 0x800)
+
+ if (y078) {
+ ShiftLeft(Derefof(Refof(aui5)), Derefof(Refof(b60e)), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftLeft(Derefof(Refof(aui6)), Derefof(Refof(b60e)), Local0)
+ m600(arg0, 41, Local0, 0x800)
+ }
+
+ ShiftLeft(Derefof(Index(paui, 5)), Derefof(Refof(b60e)), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftLeft(Derefof(Index(paui, 6)), Derefof(Refof(b60e)), Local0)
+ m600(arg0, 43, Local0, 0x800)
+
+ // Method returns Integer
+
+ ShiftLeft(m601(1, 5), Derefof(Refof(b60e)), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftLeft(m601(1, 6), Derefof(Refof(b60e)), Local0)
+ m600(arg0, 45, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(Derefof(m602(1, 5, 1)), Derefof(Refof(b60e)), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftLeft(Derefof(m602(1, 6, 1)), Derefof(Refof(b60e)), Local0)
+ m600(arg0, 47, Local0, 0x800)
+ }
+ }
+
+ // ShiftLeft, 64-bit
+ Method(m054, 1)
+ {
+ // Conversion of the first operand
+
+ Store(ShiftLeft(Derefof(Refof(b60a)), 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(Derefof(Refof(b60a)), 1), Local0)
+ m600(arg0, 1, Local0, 0xfcf96723aca14508)
+
+ Store(ShiftLeft(Derefof(Refof(b60a)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(Derefof(Refof(b60a)), aui6), Local0)
+ m600(arg0, 3, Local0, 0xfcf96723aca14508)
+
+ if (y078) {
+ Store(ShiftLeft(Derefof(Refof(b60a)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(Derefof(Refof(b60a)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xfcf96723aca14508)
+ }
+
+ Store(ShiftLeft(Derefof(Refof(b60a)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(Derefof(Refof(b60a)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xfcf96723aca14508)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(Derefof(Refof(b60a)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(Derefof(Refof(b60a)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xfcf96723aca14508)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(Derefof(Refof(b60a)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(Derefof(Refof(b60a)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfcf96723aca14508)
+ }
+
+ ShiftLeft(Derefof(Refof(b60a)), 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(Derefof(Refof(b60a)), 1, Local0)
+ m600(arg0, 13, Local0, 0xfcf96723aca14508)
+
+ ShiftLeft(Derefof(Refof(b60a)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(Derefof(Refof(b60a)), aui6, Local0)
+ m600(arg0, 15, Local0, 0xfcf96723aca14508)
+
+ if (y078) {
+ ShiftLeft(Derefof(Refof(b60a)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(Derefof(Refof(b60a)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xfcf96723aca14508)
+ }
+
+ ShiftLeft(Derefof(Refof(b60a)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(Derefof(Refof(b60a)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xfcf96723aca14508)
+
+ // Method returns Integer
+
+ ShiftLeft(Derefof(Refof(b60a)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(Derefof(Refof(b60a)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xfcf96723aca14508)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(Derefof(Refof(b60a)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(Derefof(Refof(b60a)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfcf96723aca14508)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftLeft(0, Derefof(Refof(b60e))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftLeft(1, Derefof(Refof(b60e))), Local0)
+ m600(arg0, 25, Local0, 0x800)
+
+ Store(ShiftLeft(aui5, Derefof(Refof(b60e))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftLeft(aui6, Derefof(Refof(b60e))), Local0)
+ m600(arg0, 27, Local0, 0x800)
+
+ if (y078) {
+ Store(ShiftLeft(Derefof(Refof(aui5)), Derefof(Refof(b60e))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Refof(aui6)), Derefof(Refof(b60e))), Local0)
+ m600(arg0, 29, Local0, 0x800)
+ }
+
+ Store(ShiftLeft(Derefof(Index(paui, 5)), Derefof(Refof(b60e))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Index(paui, 6)), Derefof(Refof(b60e))), Local0)
+ m600(arg0, 31, Local0, 0x800)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(m601(1, 5), Derefof(Refof(b60e))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftLeft(m601(1, 6), Derefof(Refof(b60e))), Local0)
+ m600(arg0, 33, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(Derefof(m602(1, 5, 1)), Derefof(Refof(b60e))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftLeft(Derefof(m602(1, 6, 1)), Derefof(Refof(b60e))), Local0)
+ m600(arg0, 35, Local0, 0x800)
+ }
+
+ ShiftLeft(0, Derefof(Refof(b60e)), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftLeft(1, Derefof(Refof(b60e)), Local0)
+ m600(arg0, 37, Local0, 0x800)
+
+ ShiftLeft(aui5, Derefof(Refof(b60e)), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftLeft(aui6, Derefof(Refof(b60e)), Local0)
+ m600(arg0, 39, Local0, 0x800)
+
+ if (y078) {
+ ShiftLeft(Derefof(Refof(aui5)), Derefof(Refof(b60e)), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftLeft(Derefof(Refof(aui6)), Derefof(Refof(b60e)), Local0)
+ m600(arg0, 41, Local0, 0x800)
+ }
+
+ ShiftLeft(Derefof(Index(paui, 5)), Derefof(Refof(b60e)), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftLeft(Derefof(Index(paui, 6)), Derefof(Refof(b60e)), Local0)
+ m600(arg0, 43, Local0, 0x800)
+
+ // Method returns Integer
+
+ ShiftLeft(m601(1, 5), Derefof(Refof(b60e)), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftLeft(m601(1, 6), Derefof(Refof(b60e)), Local0)
+ m600(arg0, 45, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(Derefof(m602(1, 5, 1)), Derefof(Refof(b60e)), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftLeft(Derefof(m602(1, 6, 1)), Derefof(Refof(b60e)), Local0)
+ m600(arg0, 47, Local0, 0x800)
+ }
+
+ // Conversion of the both operands
+
+ Store(ShiftLeft(Derefof(Refof(b606)), Derefof(Refof(b60e))), Local0)
+ m600(arg0, 48, Local0, 0x190800)
+
+ Store(ShiftLeft(Derefof(Refof(b60a)), Derefof(Refof(b60e))), Local0)
+ m600(arg0, 49, Local0, 0xE59C8EB285142000)
+
+ ShiftLeft(Derefof(Refof(b606)), Derefof(Refof(b60e)), Local0)
+ m600(arg0, 50, Local0, 0x190800)
+
+ ShiftLeft(Derefof(Refof(b60a)), Derefof(Refof(b60e)), Local0)
+ m600(arg0, 51, Local0, 0xE59C8EB285142000)
+ }
+
+ // ShiftLeft, 32-bit
+ Method(m055, 1)
+ {
+ // Conversion of the first operand
+
+ Store(ShiftLeft(Derefof(Refof(b60a)), 0), Local0)
+ m600(arg0, 0, Local0, 0xd650a284)
+
+ Store(ShiftLeft(Derefof(Refof(b60a)), 1), Local0)
+ m600(arg0, 1, Local0, 0xaca14508)
+
+ Store(ShiftLeft(Derefof(Refof(b60a)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xd650a284)
+
+ Store(ShiftLeft(Derefof(Refof(b60a)), aui6), Local0)
+ m600(arg0, 3, Local0, 0xaca14508)
+
+ if (y078) {
+ Store(ShiftLeft(Derefof(Refof(b60a)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xd650a284)
+
+ Store(ShiftLeft(Derefof(Refof(b60a)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xaca14508)
+ }
+
+ Store(ShiftLeft(Derefof(Refof(b60a)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xd650a284)
+
+ Store(ShiftLeft(Derefof(Refof(b60a)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xaca14508)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(Derefof(Refof(b60a)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xd650a284)
+
+ Store(ShiftLeft(Derefof(Refof(b60a)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xaca14508)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(Derefof(Refof(b60a)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xd650a284)
+
+ Store(ShiftLeft(Derefof(Refof(b60a)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xaca14508)
+ }
+
+ ShiftLeft(Derefof(Refof(b60a)), 0, Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ ShiftLeft(Derefof(Refof(b60a)), 1, Local0)
+ m600(arg0, 13, Local0, 0xaca14508)
+
+ ShiftLeft(Derefof(Refof(b60a)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xd650a284)
+
+ ShiftLeft(Derefof(Refof(b60a)), aui6, Local0)
+ m600(arg0, 15, Local0, 0xaca14508)
+
+ if (y078) {
+ ShiftLeft(Derefof(Refof(b60a)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xd650a284)
+
+ ShiftLeft(Derefof(Refof(b60a)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xaca14508)
+ }
+
+ ShiftLeft(Derefof(Refof(b60a)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xd650a284)
+
+ ShiftLeft(Derefof(Refof(b60a)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xaca14508)
+
+ // Method returns Integer
+
+ ShiftLeft(Derefof(Refof(b60a)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xd650a284)
+
+ ShiftLeft(Derefof(Refof(b60a)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xaca14508)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(Derefof(Refof(b60a)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xd650a284)
+
+ ShiftLeft(Derefof(Refof(b60a)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xaca14508)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftLeft(0, Derefof(Refof(b60e))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftLeft(1, Derefof(Refof(b60e))), Local0)
+ m600(arg0, 25, Local0, 0x800)
+
+ Store(ShiftLeft(aui5, Derefof(Refof(b60e))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftLeft(aui6, Derefof(Refof(b60e))), Local0)
+ m600(arg0, 27, Local0, 0x800)
+
+ if (y078) {
+ Store(ShiftLeft(Derefof(Refof(aui5)), Derefof(Refof(b60e))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Refof(aui6)), Derefof(Refof(b60e))), Local0)
+ m600(arg0, 29, Local0, 0x800)
+ }
+
+ Store(ShiftLeft(Derefof(Index(paui, 5)), Derefof(Refof(b60e))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Index(paui, 6)), Derefof(Refof(b60e))), Local0)
+ m600(arg0, 31, Local0, 0x800)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(m601(1, 5), Derefof(Refof(b60e))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftLeft(m601(1, 6), Derefof(Refof(b60e))), Local0)
+ m600(arg0, 33, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(Derefof(m602(1, 5, 1)), Derefof(Refof(b60e))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftLeft(Derefof(m602(1, 6, 1)), Derefof(Refof(b60e))), Local0)
+ m600(arg0, 35, Local0, 0x800)
+ }
+
+ ShiftLeft(0, Derefof(Refof(b60e)), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftLeft(1, Derefof(Refof(b60e)), Local0)
+ m600(arg0, 37, Local0, 0x800)
+
+ ShiftLeft(aui5, Derefof(Refof(b60e)), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftLeft(aui6, Derefof(Refof(b60e)), Local0)
+ m600(arg0, 39, Local0, 0x800)
+
+ if (y078) {
+ ShiftLeft(Derefof(Refof(aui5)), Derefof(Refof(b60e)), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftLeft(Derefof(Refof(aui6)), Derefof(Refof(b60e)), Local0)
+ m600(arg0, 41, Local0, 0x800)
+ }
+
+ ShiftLeft(Derefof(Index(paui, 5)), Derefof(Refof(b60e)), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftLeft(Derefof(Index(paui, 6)), Derefof(Refof(b60e)), Local0)
+ m600(arg0, 43, Local0, 0x800)
+
+ // Method returns Integer
+
+ ShiftLeft(m601(1, 5), Derefof(Refof(b60e)), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftLeft(m601(1, 6), Derefof(Refof(b60e)), Local0)
+ m600(arg0, 45, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(Derefof(m602(1, 5, 1)), Derefof(Refof(b60e)), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftLeft(Derefof(m602(1, 6, 1)), Derefof(Refof(b60e)), Local0)
+ m600(arg0, 47, Local0, 0x800)
+ }
+
+ // Conversion of the both operands
+
+ Store(ShiftLeft(Derefof(Refof(b606)), Derefof(Refof(b60e))), Local0)
+ m600(arg0, 48, Local0, 0x190800)
+
+ Store(ShiftLeft(Derefof(Refof(b60a)), Derefof(Refof(b60e))), Local0)
+ m600(arg0, 49, Local0, 0x85142000)
+
+ ShiftLeft(Derefof(Refof(b606)), Derefof(Refof(b60e)), Local0)
+ m600(arg0, 50, Local0, 0x190800)
+
+ ShiftLeft(Derefof(Refof(b60a)), Derefof(Refof(b60e)), Local0)
+ m600(arg0, 51, Local0, 0x85142000)
+ }
+
+ // ShiftRight, common 32-bit/64-bit test
+ Method(m056, 1)
+ {
+ // Conversion of the first operand
+
+ Store(ShiftRight(Derefof(Refof(b606)), 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(ShiftRight(Derefof(Refof(b606)), 1), Local0)
+ m600(arg0, 1, Local0, 0x190)
+
+ Store(ShiftRight(Derefof(Refof(b606)), aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(ShiftRight(Derefof(Refof(b606)), aui6), Local0)
+ m600(arg0, 3, Local0, 0x190)
+
+ if (y078) {
+ Store(ShiftRight(Derefof(Refof(b606)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(ShiftRight(Derefof(Refof(b606)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x190)
+ }
+
+ Store(ShiftRight(Derefof(Refof(b606)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(ShiftRight(Derefof(Refof(b606)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x190)
+
+ // Method returns Integer
+
+ Store(ShiftRight(Derefof(Refof(b606)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(ShiftRight(Derefof(Refof(b606)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x190)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(Derefof(Refof(b606)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(ShiftRight(Derefof(Refof(b606)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x190)
+ }
+
+ ShiftRight(Derefof(Refof(b606)), 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ ShiftRight(Derefof(Refof(b606)), 1, Local0)
+ m600(arg0, 13, Local0, 0x190)
+
+ ShiftRight(Derefof(Refof(b606)), aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ ShiftRight(Derefof(Refof(b606)), aui6, Local0)
+ m600(arg0, 15, Local0, 0x190)
+
+ if (y078) {
+ ShiftRight(Derefof(Refof(b606)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ ShiftRight(Derefof(Refof(b606)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x190)
+ }
+
+ ShiftRight(Derefof(Refof(b606)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ ShiftRight(Derefof(Refof(b606)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x190)
+
+ // Method returns Integer
+
+ ShiftRight(Derefof(Refof(b606)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ ShiftRight(Derefof(Refof(b606)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x190)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(Derefof(Refof(b606)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ ShiftRight(Derefof(Refof(b606)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x190)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftRight(0x321, Derefof(Refof(b60e))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftRight(0xd650a284, Derefof(Refof(b60e))), Local0)
+ m600(arg0, 25, Local0, 0x1aca14)
+
+ Store(ShiftRight(aui1, Derefof(Refof(b60e))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftRight(auik, Derefof(Refof(b60e))), Local0)
+ m600(arg0, 27, Local0, 0x1aca14)
+
+ if (y078) {
+ Store(ShiftRight(Derefof(Refof(aui1)), Derefof(Refof(b60e))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftRight(Derefof(Refof(auik)), Derefof(Refof(b60e))), Local0)
+ m600(arg0, 29, Local0, 0x1aca14)
+ }
+
+ Store(ShiftRight(Derefof(Index(paui, 1)), Derefof(Refof(b60e))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftRight(Derefof(Index(paui, 20)), Derefof(Refof(b60e))), Local0)
+ m600(arg0, 31, Local0, 0x1aca14)
+
+ // Method returns Integer
+
+ Store(ShiftRight(m601(1, 1), Derefof(Refof(b60e))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftRight(m601(1, 20), Derefof(Refof(b60e))), Local0)
+ m600(arg0, 33, Local0, 0x1aca14)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(Derefof(m602(1, 1, 1)), Derefof(Refof(b60e))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftRight(Derefof(m602(1, 20, 1)), Derefof(Refof(b60e))), Local0)
+ m600(arg0, 35, Local0, 0x1aca14)
+ }
+
+ ShiftRight(0x321, Derefof(Refof(b60e)), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftRight(0xd650a284, Derefof(Refof(b60e)), Local0)
+ m600(arg0, 37, Local0, 0x1aca14)
+
+ ShiftRight(aui1, Derefof(Refof(b60e)), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftRight(auik, Derefof(Refof(b60e)), Local0)
+ m600(arg0, 39, Local0, 0x1aca14)
+
+ if (y078) {
+ ShiftRight(Derefof(Refof(aui1)), Derefof(Refof(b60e)), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftRight(Derefof(Refof(auik)), Derefof(Refof(b60e)), Local0)
+ m600(arg0, 41, Local0, 0x1aca14)
+ }
+
+ ShiftRight(Derefof(Index(paui, 1)), Derefof(Refof(b60e)), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftRight(Derefof(Index(paui, 20)), Derefof(Refof(b60e)), Local0)
+ m600(arg0, 43, Local0, 0x1aca14)
+
+ // Method returns Integer
+
+ ShiftRight(m601(1, 1), Derefof(Refof(b60e)), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftRight(m601(1, 20), Derefof(Refof(b60e)), Local0)
+ m600(arg0, 45, Local0, 0x1aca14)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(Derefof(m602(1, 1, 1)), Derefof(Refof(b60e)), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftRight(Derefof(m602(1, 20, 1)), Derefof(Refof(b60e)), Local0)
+ m600(arg0, 47, Local0, 0x1aca14)
+ }
+ }
+
+ // ShiftRight, 64-bit
+ Method(m057, 1)
+ {
+ // Conversion of the first operand
+
+ Store(ShiftRight(Derefof(Refof(b60a)), 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(Derefof(Refof(b60a)), 1), Local0)
+ m600(arg0, 1, Local0, 0x7f3e59c8eb285142)
+
+ Store(ShiftRight(Derefof(Refof(b60a)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(Derefof(Refof(b60a)), aui6), Local0)
+ m600(arg0, 3, Local0, 0x7f3e59c8eb285142)
+
+ if (y078) {
+ Store(ShiftRight(Derefof(Refof(b60a)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(Derefof(Refof(b60a)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x7f3e59c8eb285142)
+ }
+
+ Store(ShiftRight(Derefof(Refof(b60a)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(Derefof(Refof(b60a)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x7f3e59c8eb285142)
+
+ // Method returns Integer
+
+ Store(ShiftRight(Derefof(Refof(b60a)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(Derefof(Refof(b60a)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x7f3e59c8eb285142)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(Derefof(Refof(b60a)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(Derefof(Refof(b60a)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x7f3e59c8eb285142)
+ }
+
+ ShiftRight(Derefof(Refof(b60a)), 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(Derefof(Refof(b60a)), 1, Local0)
+ m600(arg0, 13, Local0, 0x7f3e59c8eb285142)
+
+ ShiftRight(Derefof(Refof(b60a)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(Derefof(Refof(b60a)), aui6, Local0)
+ m600(arg0, 15, Local0, 0x7f3e59c8eb285142)
+
+ if (y078) {
+ ShiftRight(Derefof(Refof(b60a)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(Derefof(Refof(b60a)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x7f3e59c8eb285142)
+ }
+
+ ShiftRight(Derefof(Refof(b60a)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(Derefof(Refof(b60a)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x7f3e59c8eb285142)
+
+ // Method returns Integer
+
+ ShiftRight(Derefof(Refof(b60a)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(Derefof(Refof(b60a)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x7f3e59c8eb285142)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(Derefof(Refof(b60a)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(Derefof(Refof(b60a)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x7f3e59c8eb285142)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftRight(0x321, Derefof(Refof(b60e))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftRight(0xfe7cb391d650a284, Derefof(Refof(b60e))), Local0)
+ m600(arg0, 25, Local0, 0x1fcf96723aca14)
+
+ Store(ShiftRight(aui1, Derefof(Refof(b60e))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftRight(aui4, Derefof(Refof(b60e))), Local0)
+ m600(arg0, 27, Local0, 0x1fcf96723aca14)
+
+ if (y078) {
+ Store(ShiftRight(Derefof(Refof(aui1)), Derefof(Refof(b60e))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftRight(Derefof(Refof(aui4)), Derefof(Refof(b60e))), Local0)
+ m600(arg0, 29, Local0, 0x1fcf96723aca14)
+ }
+
+ Store(ShiftRight(Derefof(Index(paui, 1)), Derefof(Refof(b60e))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftRight(Derefof(Index(paui, 4)), Derefof(Refof(b60e))), Local0)
+ m600(arg0, 31, Local0, 0x1fcf96723aca14)
+
+ // Method returns Integer
+
+ Store(ShiftRight(m601(1, 1), Derefof(Refof(b60e))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftRight(m601(1, 4), Derefof(Refof(b60e))), Local0)
+ m600(arg0, 33, Local0, 0x1fcf96723aca14)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(Derefof(m602(1, 1, 1)), Derefof(Refof(b60e))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftRight(Derefof(m602(1, 4, 1)), Derefof(Refof(b60e))), Local0)
+ m600(arg0, 35, Local0, 0x1fcf96723aca14)
+ }
+
+ ShiftRight(0x321, Derefof(Refof(b60e)), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftRight(0xfe7cb391d650a284, Derefof(Refof(b60e)), Local0)
+ m600(arg0, 37, Local0, 0x1fcf96723aca14)
+
+ ShiftRight(aui1, Derefof(Refof(b60e)), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftRight(aui4, Derefof(Refof(b60e)), Local0)
+ m600(arg0, 39, Local0, 0x1fcf96723aca14)
+
+ if (y078) {
+ ShiftRight(Derefof(Refof(aui1)), Derefof(Refof(b60e)), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftRight(Derefof(Refof(aui4)), Derefof(Refof(b60e)), Local0)
+ m600(arg0, 41, Local0, 0x1fcf96723aca14)
+ }
+
+ ShiftRight(Derefof(Index(paui, 1)), Derefof(Refof(b60e)), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftRight(Derefof(Index(paui, 4)), Derefof(Refof(b60e)), Local0)
+ m600(arg0, 43, Local0, 0x1fcf96723aca14)
+
+ // Method returns Integer
+
+ ShiftRight(m601(1, 1), Derefof(Refof(b60e)), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftRight(m601(1, 4), Derefof(Refof(b60e)), Local0)
+ m600(arg0, 45, Local0, 0x1fcf96723aca14)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(Derefof(m602(1, 1, 1)), Derefof(Refof(b60e)), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftRight(Derefof(m602(1, 4, 1)), Derefof(Refof(b60e)), Local0)
+ m600(arg0, 47, Local0, 0x1fcf96723aca14)
+ }
+
+ // Conversion of the both operands
+
+ Store(ShiftRight(Derefof(Refof(b606)), Derefof(Refof(b60e))), Local0)
+ m600(arg0, 48, Local0, 0)
+
+ Store(ShiftRight(Derefof(Refof(b60a)), Derefof(Refof(b60e))), Local0)
+ m600(arg0, 49, Local0, 0x1fcf96723aca14)
+
+ ShiftRight(Derefof(Refof(b606)), Derefof(Refof(b60e)), Local0)
+ m600(arg0, 50, Local0, 0)
+
+ ShiftRight(Derefof(Refof(b60a)), Derefof(Refof(b60e)), Local0)
+ m600(arg0, 51, Local0, 0x1fcf96723aca14)
+ }
+
+ // ShiftRight, 32-bit
+ Method(m058, 1)
+ {
+ // Conversion of the first operand
+
+ Store(ShiftRight(Derefof(Refof(b60a)), 0), Local0)
+ m600(arg0, 0, Local0, 0xd650a284)
+
+ Store(ShiftRight(Derefof(Refof(b60a)), 1), Local0)
+ m600(arg0, 1, Local0, 0x6b285142)
+
+ Store(ShiftRight(Derefof(Refof(b60a)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xd650a284)
+
+ Store(ShiftRight(Derefof(Refof(b60a)), aui6), Local0)
+ m600(arg0, 3, Local0, 0x6b285142)
+
+ if (y078) {
+ Store(ShiftRight(Derefof(Refof(b60a)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xd650a284)
+
+ Store(ShiftRight(Derefof(Refof(b60a)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x6b285142)
+ }
+
+ Store(ShiftRight(Derefof(Refof(b60a)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xd650a284)
+
+ Store(ShiftRight(Derefof(Refof(b60a)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x6b285142)
+
+ // Method returns Integer
+
+ Store(ShiftRight(Derefof(Refof(b60a)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xd650a284)
+
+ Store(ShiftRight(Derefof(Refof(b60a)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x6b285142)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(Derefof(Refof(b60a)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xd650a284)
+
+ Store(ShiftRight(Derefof(Refof(b60a)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x6b285142)
+ }
+
+ ShiftRight(Derefof(Refof(b60a)), 0, Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ ShiftRight(Derefof(Refof(b60a)), 1, Local0)
+ m600(arg0, 13, Local0, 0x6b285142)
+
+ ShiftRight(Derefof(Refof(b60a)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xd650a284)
+
+ ShiftRight(Derefof(Refof(b60a)), aui6, Local0)
+ m600(arg0, 15, Local0, 0x6b285142)
+
+ if (y078) {
+ ShiftRight(Derefof(Refof(b60a)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xd650a284)
+
+ ShiftRight(Derefof(Refof(b60a)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x6b285142)
+ }
+
+ ShiftRight(Derefof(Refof(b60a)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xd650a284)
+
+ ShiftRight(Derefof(Refof(b60a)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x6b285142)
+
+ // Method returns Integer
+
+ ShiftRight(Derefof(Refof(b60a)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xd650a284)
+
+ ShiftRight(Derefof(Refof(b60a)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x6b285142)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(Derefof(Refof(b60a)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xd650a284)
+
+ ShiftRight(Derefof(Refof(b60a)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x6b285142)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftRight(0x321, Derefof(Refof(b60e))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftRight(0xd650a284, Derefof(Refof(b60e))), Local0)
+ m600(arg0, 25, Local0, 0x1aca14)
+
+ Store(ShiftRight(aui1, Derefof(Refof(b60e))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftRight(auik, Derefof(Refof(b60e))), Local0)
+ m600(arg0, 27, Local0, 0x1aca14)
+
+ if (y078) {
+ Store(ShiftRight(Derefof(Refof(aui1)), Derefof(Refof(b60e))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftRight(Derefof(Refof(auik)), Derefof(Refof(b60e))), Local0)
+ m600(arg0, 29, Local0, 0x1aca14)
+ }
+
+ Store(ShiftRight(Derefof(Index(paui, 1)), Derefof(Refof(b60e))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftRight(Derefof(Index(paui, 20)), Derefof(Refof(b60e))), Local0)
+ m600(arg0, 31, Local0, 0x1aca14)
+
+ // Method returns Integer
+
+ Store(ShiftRight(m601(1, 1), Derefof(Refof(b60e))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftRight(m601(1, 20), Derefof(Refof(b60e))), Local0)
+ m600(arg0, 33, Local0, 0x1aca14)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(Derefof(m602(1, 1, 1)), Derefof(Refof(b60e))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftRight(Derefof(m602(1, 20, 1)), Derefof(Refof(b60e))), Local0)
+ m600(arg0, 35, Local0, 0x1aca14)
+ }
+
+ ShiftRight(0x321, Derefof(Refof(b60e)), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftRight(0xd650a284, Derefof(Refof(b60e)), Local0)
+ m600(arg0, 37, Local0, 0x1aca14)
+
+ ShiftRight(aui1, Derefof(Refof(b60e)), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftRight(auik, Derefof(Refof(b60e)), Local0)
+ m600(arg0, 39, Local0, 0x1aca14)
+
+ if (y078) {
+ ShiftRight(Derefof(Refof(aui1)), Derefof(Refof(b60e)), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftRight(Derefof(Refof(auik)), Derefof(Refof(b60e)), Local0)
+ m600(arg0, 41, Local0, 0x1aca14)
+ }
+
+ ShiftRight(Derefof(Index(paui, 1)), Derefof(Refof(b60e)), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftRight(Derefof(Index(paui, 20)), Derefof(Refof(b60e)), Local0)
+ m600(arg0, 43, Local0, 0x1aca14)
+
+ // Method returns Integer
+
+ ShiftRight(m601(1, 1), Derefof(Refof(b60e)), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftRight(m601(1, 20), Derefof(Refof(b60e)), Local0)
+ m600(arg0, 45, Local0, 0x1aca14)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(Derefof(m602(1, 1, 1)), Derefof(Refof(b60e)), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftRight(Derefof(m602(1, 20, 1)), Derefof(Refof(b60e)), Local0)
+ m600(arg0, 47, Local0, 0x1aca14)
+ }
+
+ // Conversion of the both operands
+
+ Store(ShiftRight(Derefof(Refof(b606)), Derefof(Refof(b60e))), Local0)
+ m600(arg0, 48, Local0, 0)
+
+ Store(ShiftRight(Derefof(Refof(b60a)), Derefof(Refof(b60e))), Local0)
+ m600(arg0, 49, Local0, 0x1aca14)
+
+ ShiftRight(Derefof(Refof(b606)), Derefof(Refof(b60e)), Local0)
+ m600(arg0, 50, Local0, 0)
+
+ ShiftRight(Derefof(Refof(b60a)), Derefof(Refof(b60e)), Local0)
+ m600(arg0, 51, Local0, 0x1aca14)
+ }
+
+ // Subtract, common 32-bit/64-bit test
+ Method(m059, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Subtract(Derefof(Refof(b606)), 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Subtract(Derefof(Refof(b606)), 1), Local0)
+ m600(arg0, 1, Local0, 0x320)
+
+ Store(Subtract(Derefof(Refof(b606)), aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Subtract(Derefof(Refof(b606)), aui6), Local0)
+ m600(arg0, 3, Local0, 0x320)
+
+ if (y078) {
+ Store(Subtract(Derefof(Refof(b606)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Subtract(Derefof(Refof(b606)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x320)
+ }
+
+ Store(Subtract(Derefof(Refof(b606)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Subtract(Derefof(Refof(b606)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x320)
+
+ // Method returns Integer
+
+ Store(Subtract(Derefof(Refof(b606)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Subtract(Derefof(Refof(b606)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x320)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(Derefof(Refof(b606)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Subtract(Derefof(Refof(b606)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x320)
+ }
+
+ Subtract(Derefof(Refof(b606)), 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Subtract(Derefof(Refof(b606)), 1, Local0)
+ m600(arg0, 13, Local0, 0x320)
+
+ Subtract(Derefof(Refof(b606)), aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Subtract(Derefof(Refof(b606)), aui6, Local0)
+ m600(arg0, 15, Local0, 0x320)
+
+ if (y078) {
+ Subtract(Derefof(Refof(b606)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Subtract(Derefof(Refof(b606)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x320)
+ }
+
+ Subtract(Derefof(Refof(b606)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Subtract(Derefof(Refof(b606)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x320)
+
+ // Method returns Integer
+
+ Subtract(Derefof(Refof(b606)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Subtract(Derefof(Refof(b606)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x320)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(Derefof(Refof(b606)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Subtract(Derefof(Refof(b606)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x320)
+ }
+
+ // Conversion of the second operand
+
+ Store(Subtract(0, Derefof(Refof(b606))), Local0)
+ m600(arg0, 24, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(1, Derefof(Refof(b606))), Local0)
+ m600(arg0, 25, Local0, 0xfffffffffffffce0)
+
+ Store(Subtract(aui5, Derefof(Refof(b606))), Local0)
+ m600(arg0, 26, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(aui6, Derefof(Refof(b606))), Local0)
+ m600(arg0, 27, Local0, 0xfffffffffffffce0)
+
+ if (y078) {
+ Store(Subtract(Derefof(Refof(aui5)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 28, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(Derefof(Refof(aui6)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 29, Local0, 0xfffffffffffffce0)
+ }
+
+ Store(Subtract(Derefof(Index(paui, 5)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 30, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(Derefof(Index(paui, 6)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 31, Local0, 0xfffffffffffffce0)
+
+ // Method returns Integer
+
+ Store(Subtract(m601(1, 5), Derefof(Refof(b606))), Local0)
+ m600(arg0, 32, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(m601(1, 6), Derefof(Refof(b606))), Local0)
+ m600(arg0, 33, Local0, 0xfffffffffffffce0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(Derefof(m602(1, 5, 1)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 34, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(Derefof(m602(1, 6, 1)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 35, Local0, 0xfffffffffffffce0)
+ }
+
+ Subtract(0, Derefof(Refof(b606)), Local0)
+ m600(arg0, 36, Local0, 0xfffffffffffffcdf)
+
+ Subtract(1, Derefof(Refof(b606)), Local0)
+ m600(arg0, 37, Local0, 0xfffffffffffffce0)
+
+ Subtract(aui5, Derefof(Refof(b606)), Local0)
+ m600(arg0, 38, Local0, 0xfffffffffffffcdf)
+
+ Subtract(aui6, Derefof(Refof(b606)), Local0)
+ m600(arg0, 39, Local0, 0xfffffffffffffce0)
+
+ if (y078) {
+ Subtract(Derefof(Refof(aui5)), Derefof(Refof(b606)), Local0)
+ m600(arg0, 40, Local0, 0xfffffffffffffcdf)
+
+ Subtract(Derefof(Refof(aui6)), Derefof(Refof(b606)), Local0)
+ m600(arg0, 41, Local0, 0xfffffffffffffce0)
+ }
+
+ Subtract(Derefof(Index(paui, 5)), Derefof(Refof(b606)), Local0)
+ m600(arg0, 42, Local0, 0xfffffffffffffcdf)
+
+ Subtract(Derefof(Index(paui, 6)), Derefof(Refof(b606)), Local0)
+ m600(arg0, 43, Local0, 0xfffffffffffffce0)
+
+ // Method returns Integer
+
+ Subtract(m601(1, 5), Derefof(Refof(b606)), Local0)
+ m600(arg0, 44, Local0, 0xfffffffffffffcdf)
+
+ Subtract(m601(1, 6), Derefof(Refof(b606)), Local0)
+ m600(arg0, 45, Local0, 0xfffffffffffffce0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(Derefof(m602(1, 5, 1)), Derefof(Refof(b606)), Local0)
+ m600(arg0, 46, Local0, 0xfffffffffffffcdf)
+
+ Subtract(Derefof(m602(1, 6, 1)), Derefof(Refof(b606)), Local0)
+ m600(arg0, 47, Local0, 0xfffffffffffffce0)
+ }
+ }
+
+ // Subtract, 64-bit
+ Method(m05a, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Subtract(Derefof(Refof(b60a)), 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(Derefof(Refof(b60a)), 1), Local0)
+ m600(arg0, 1, Local0, 0xfe7cb391d650a283)
+
+ Store(Subtract(Derefof(Refof(b60a)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(Derefof(Refof(b60a)), aui6), Local0)
+ m600(arg0, 3, Local0, 0xfe7cb391d650a283)
+
+ if (y078) {
+ Store(Subtract(Derefof(Refof(b60a)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(Derefof(Refof(b60a)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xfe7cb391d650a283)
+ }
+
+ Store(Subtract(Derefof(Refof(b60a)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(Derefof(Refof(b60a)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Integer
+
+ Store(Subtract(Derefof(Refof(b60a)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(Derefof(Refof(b60a)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(Derefof(Refof(b60a)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(Derefof(Refof(b60a)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfe7cb391d650a283)
+ }
+
+ Subtract(Derefof(Refof(b60a)), 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Subtract(Derefof(Refof(b60a)), 1, Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a283)
+
+ Subtract(Derefof(Refof(b60a)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Subtract(Derefof(Refof(b60a)), aui6, Local0)
+ m600(arg0, 15, Local0, 0xfe7cb391d650a283)
+
+ if (y078) {
+ Subtract(Derefof(Refof(b60a)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Subtract(Derefof(Refof(b60a)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xfe7cb391d650a283)
+ }
+
+ Subtract(Derefof(Refof(b60a)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Subtract(Derefof(Refof(b60a)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Integer
+
+ Subtract(Derefof(Refof(b60a)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Subtract(Derefof(Refof(b60a)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(Derefof(Refof(b60a)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Subtract(Derefof(Refof(b60a)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfe7cb391d650a283)
+ }
+
+ // Conversion of the second operand
+
+ Store(Subtract(0, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 24, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(1, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 25, Local0, 0x01834c6e29af5d7d)
+
+ Store(Subtract(aui5, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 26, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(aui6, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 27, Local0, 0x01834c6e29af5d7d)
+
+ if (y078) {
+ Store(Subtract(Derefof(Refof(aui5)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 28, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(Derefof(Refof(aui6)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 29, Local0, 0x01834c6e29af5d7d)
+ }
+
+ Store(Subtract(Derefof(Index(paui, 5)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 30, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(Derefof(Index(paui, 6)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 31, Local0, 0x01834c6e29af5d7d)
+
+ // Method returns Integer
+
+ Store(Subtract(m601(1, 5), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 32, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(m601(1, 6), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 33, Local0, 0x01834c6e29af5d7d)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(Derefof(m602(1, 5, 1)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 34, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(Derefof(m602(1, 6, 1)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 35, Local0, 0x01834c6e29af5d7d)
+ }
+
+ Subtract(0, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 36, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(1, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 37, Local0, 0x01834c6e29af5d7d)
+
+ Subtract(aui5, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 38, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(aui6, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 39, Local0, 0x01834c6e29af5d7d)
+
+ if (y078) {
+ Subtract(Derefof(Refof(aui5)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 40, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(Derefof(Refof(aui6)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 41, Local0, 0x01834c6e29af5d7d)
+ }
+
+ Subtract(Derefof(Index(paui, 5)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 42, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(Derefof(Index(paui, 6)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 43, Local0, 0x01834c6e29af5d7d)
+
+ // Method returns Integer
+
+ Subtract(m601(1, 5), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 44, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(m601(1, 6), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 45, Local0, 0x01834c6e29af5d7d)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(Derefof(m602(1, 5, 1)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 46, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(Derefof(m602(1, 6, 1)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 47, Local0, 0x01834c6e29af5d7d)
+ }
+
+ // Conversion of the both operands
+
+ Store(Subtract(Derefof(Refof(b606)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 48, Local0, 0x01834c6e29af609d)
+
+ Store(Subtract(Derefof(Refof(b60a)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 49, Local0, 0xfe7cb391d6509f63)
+
+ Subtract(Derefof(Refof(b606)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 50, Local0, 0x01834c6e29af609d)
+
+ Subtract(Derefof(Refof(b60a)), Derefof(Refof(b606)), Local0)
+ m600(arg0, 51, Local0, 0xfe7cb391d6509f63)
+ }
+
+ // Subtract, 32-bit
+ Method(m05b, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Subtract(Derefof(Refof(b60a)), 0), Local0)
+ m600(arg0, 0, Local0, 0xd650a284)
+
+ Store(Subtract(Derefof(Refof(b60a)), 1), Local0)
+ m600(arg0, 1, Local0, 0xd650a283)
+
+ Store(Subtract(Derefof(Refof(b60a)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xd650a284)
+
+ Store(Subtract(Derefof(Refof(b60a)), aui6), Local0)
+ m600(arg0, 3, Local0, 0xd650a283)
+
+ if (y078) {
+ Store(Subtract(Derefof(Refof(b60a)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xd650a284)
+
+ Store(Subtract(Derefof(Refof(b60a)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xd650a283)
+ }
+
+ Store(Subtract(Derefof(Refof(b60a)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xd650a284)
+
+ Store(Subtract(Derefof(Refof(b60a)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xd650a283)
+
+ // Method returns Integer
+
+ Store(Subtract(Derefof(Refof(b60a)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xd650a284)
+
+ Store(Subtract(Derefof(Refof(b60a)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xd650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(Derefof(Refof(b60a)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xd650a284)
+
+ Store(Subtract(Derefof(Refof(b60a)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xd650a283)
+ }
+
+ Subtract(Derefof(Refof(b60a)), 0, Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ Subtract(Derefof(Refof(b60a)), 1, Local0)
+ m600(arg0, 13, Local0, 0xd650a283)
+
+ Subtract(Derefof(Refof(b60a)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xd650a284)
+
+ Subtract(Derefof(Refof(b60a)), aui6, Local0)
+ m600(arg0, 15, Local0, 0xd650a283)
+
+ if (y078) {
+ Subtract(Derefof(Refof(b60a)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xd650a284)
+
+ Subtract(Derefof(Refof(b60a)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xd650a283)
+ }
+
+ Subtract(Derefof(Refof(b60a)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xd650a284)
+
+ Subtract(Derefof(Refof(b60a)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xd650a283)
+
+ // Method returns Integer
+
+ Subtract(Derefof(Refof(b60a)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xd650a284)
+
+ Subtract(Derefof(Refof(b60a)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xd650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(Derefof(Refof(b60a)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xd650a284)
+
+ Subtract(Derefof(Refof(b60a)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xd650a283)
+ }
+
+ // Conversion of the second operand
+
+ Store(Subtract(0, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 24, Local0, 0x29af5d7c)
+
+ Store(Subtract(1, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 25, Local0, 0x29af5d7d)
+
+ Store(Subtract(aui5, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 26, Local0, 0x29af5d7c)
+
+ Store(Subtract(aui6, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 27, Local0, 0x29af5d7d)
+
+ if (y078) {
+ Store(Subtract(Derefof(Refof(aui5)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 28, Local0, 0x29af5d7c)
+
+ Store(Subtract(Derefof(Refof(aui6)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 29, Local0, 0x29af5d7d)
+ }
+
+ Store(Subtract(Derefof(Index(paui, 5)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 30, Local0, 0x29af5d7c)
+
+ Store(Subtract(Derefof(Index(paui, 6)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 31, Local0, 0x29af5d7d)
+
+ // Method returns Integer
+
+ Store(Subtract(m601(1, 5), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 32, Local0, 0x29af5d7c)
+
+ Store(Subtract(m601(1, 6), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 33, Local0, 0x29af5d7d)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(Derefof(m602(1, 5, 1)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 34, Local0, 0x29af5d7c)
+
+ Store(Subtract(Derefof(m602(1, 6, 1)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 35, Local0, 0x29af5d7d)
+ }
+
+ Subtract(0, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 36, Local0, 0x29af5d7c)
+
+ Subtract(1, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 37, Local0, 0x29af5d7d)
+
+ Subtract(aui5, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 38, Local0, 0x29af5d7c)
+
+ Subtract(aui6, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 39, Local0, 0x29af5d7d)
+
+ if (y078) {
+ Subtract(Derefof(Refof(aui5)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 40, Local0, 0x29af5d7c)
+
+ Subtract(Derefof(Refof(aui6)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 41, Local0, 0x29af5d7d)
+ }
+
+ Subtract(Derefof(Index(paui, 5)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 42, Local0, 0x29af5d7c)
+
+ Subtract(Derefof(Index(paui, 6)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 43, Local0, 0x29af5d7d)
+
+ // Method returns Integer
+
+ Subtract(m601(1, 5), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 44, Local0, 0x29af5d7c)
+
+ Subtract(m601(1, 6), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 45, Local0, 0x29af5d7d)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(Derefof(m602(1, 5, 1)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 46, Local0, 0x29af5d7c)
+
+ Subtract(Derefof(m602(1, 6, 1)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 47, Local0, 0x29af5d7d)
+ }
+
+ // Conversion of the both operands
+
+ Store(Subtract(Derefof(Refof(b606)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 48, Local0, 0x29af609d)
+
+ Store(Subtract(Derefof(Refof(b60a)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 49, Local0, 0xd6509f63)
+
+ Subtract(Derefof(Refof(b606)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 50, Local0, 0x29af609d)
+
+ Subtract(Derefof(Refof(b60a)), Derefof(Refof(b606)), Local0)
+ m600(arg0, 51, Local0, 0xd6509f63)
+ }
+
+ // XOr, common 32-bit/64-bit test
+ Method(m05c, 1)
+ {
+ // Conversion of the first operand
+
+ Store(XOr(Derefof(Refof(b606)), 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(XOr(Derefof(Refof(b606)), 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xfffffffffffffcde)
+
+ Store(XOr(Derefof(Refof(b606)), aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(XOr(Derefof(Refof(b606)), auij), Local0)
+ m600(arg0, 3, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ Store(XOr(Derefof(Refof(b606)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(XOr(Derefof(Refof(b606)), Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xfffffffffffffcde)
+ }
+
+ Store(XOr(Derefof(Refof(b606)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(XOr(Derefof(Refof(b606)), Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ Store(XOr(Derefof(Refof(b606)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(XOr(Derefof(Refof(b606)), m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(Derefof(Refof(b606)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(XOr(Derefof(Refof(b606)), Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfffffffffffffcde)
+ }
+
+ XOr(Derefof(Refof(b606)), 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ XOr(Derefof(Refof(b606)), 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xfffffffffffffcde)
+
+ XOr(Derefof(Refof(b606)), aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ XOr(Derefof(Refof(b606)), auij, Local0)
+ m600(arg0, 15, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ XOr(Derefof(Refof(b606)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ XOr(Derefof(Refof(b606)), Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xfffffffffffffcde)
+ }
+
+ XOr(Derefof(Refof(b606)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ XOr(Derefof(Refof(b606)), Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ XOr(Derefof(Refof(b606)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ XOr(Derefof(Refof(b606)), m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(Derefof(Refof(b606)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ XOr(Derefof(Refof(b606)), Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfffffffffffffcde)
+ }
+
+ // Conversion of the second operand
+
+ Store(XOr(0, Derefof(Refof(b606))), Local0)
+ m600(arg0, 24, Local0, 0x321)
+
+ Store(XOr(0xffffffffffffffff, Derefof(Refof(b606))), Local0)
+ m600(arg0, 25, Local0, 0xfffffffffffffcde)
+
+ Store(XOr(aui5, Derefof(Refof(b606))), Local0)
+ m600(arg0, 26, Local0, 0x321)
+
+ Store(XOr(auij, Derefof(Refof(b606))), Local0)
+ m600(arg0, 27, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ Store(XOr(Derefof(Refof(aui5)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 28, Local0, 0x321)
+
+ Store(XOr(Derefof(Refof(auij)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 29, Local0, 0xfffffffffffffcde)
+ }
+
+ Store(XOr(Derefof(Index(paui, 5)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 30, Local0, 0x321)
+
+ Store(XOr(Derefof(Index(paui, 19)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 31, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ Store(XOr(m601(1, 5), Derefof(Refof(b606))), Local0)
+ m600(arg0, 32, Local0, 0x321)
+
+ Store(XOr(m601(1, 19), Derefof(Refof(b606))), Local0)
+ m600(arg0, 33, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(Derefof(m602(1, 5, 1)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 34, Local0, 0x321)
+
+ Store(XOr(Derefof(m602(1, 19, 1)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 35, Local0, 0xfffffffffffffcde)
+ }
+
+ XOr(0, Derefof(Refof(b606)), Local0)
+ m600(arg0, 36, Local0, 0x321)
+
+ XOr(0xffffffffffffffff, Derefof(Refof(b606)), Local0)
+ m600(arg0, 37, Local0, 0xfffffffffffffcde)
+
+ XOr(aui5, Derefof(Refof(b606)), Local0)
+ m600(arg0, 38, Local0, 0x321)
+
+ XOr(auij, Derefof(Refof(b606)), Local0)
+ m600(arg0, 39, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ XOr(Derefof(Refof(aui5)), Derefof(Refof(b606)), Local0)
+ m600(arg0, 40, Local0, 0x321)
+
+ XOr(Derefof(Refof(auij)), Derefof(Refof(b606)), Local0)
+ m600(arg0, 41, Local0, 0xfffffffffffffcde)
+ }
+
+ XOr(Derefof(Index(paui, 5)), Derefof(Refof(b606)), Local0)
+ m600(arg0, 42, Local0, 0x321)
+
+ XOr(Derefof(Index(paui, 19)), Derefof(Refof(b606)), Local0)
+ m600(arg0, 43, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ XOr(m601(1, 5), Derefof(Refof(b606)), Local0)
+ m600(arg0, 44, Local0, 0x321)
+
+ XOr(m601(1, 19), Derefof(Refof(b606)), Local0)
+ m600(arg0, 45, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(Derefof(m602(1, 5, 1)), Derefof(Refof(b606)), Local0)
+ m600(arg0, 46, Local0, 0x321)
+
+ XOr(Derefof(m602(1, 19, 1)), Derefof(Refof(b606)), Local0)
+ m600(arg0, 47, Local0, 0xfffffffffffffcde)
+ }
+ }
+
+ // XOr, 64-bit
+ Method(m05d, 1)
+ {
+ // Conversion of the first operand
+
+ Store(XOr(Derefof(Refof(b60a)), 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(Refof(b60a)), 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0x01834c6e29af5d7b)
+
+ Store(XOr(Derefof(Refof(b60a)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(Refof(b60a)), auij), Local0)
+ m600(arg0, 3, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ Store(XOr(Derefof(Refof(b60a)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(Refof(b60a)), Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Store(XOr(Derefof(Refof(b60a)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(Refof(b60a)), Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ Store(XOr(Derefof(Refof(b60a)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(Refof(b60a)), m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(Derefof(Refof(b60a)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(Refof(b60a)), Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0x01834c6e29af5d7b)
+ }
+
+ XOr(Derefof(Refof(b60a)), 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(Refof(b60a)), 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0x01834c6e29af5d7b)
+
+ XOr(Derefof(Refof(b60a)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(Refof(b60a)), auij, Local0)
+ m600(arg0, 15, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ XOr(Derefof(Refof(b60a)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(Refof(b60a)), Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0x01834c6e29af5d7b)
+ }
+
+ XOr(Derefof(Refof(b60a)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(Refof(b60a)), Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ XOr(Derefof(Refof(b60a)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(Refof(b60a)), m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(Derefof(Refof(b60a)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(Refof(b60a)), Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0x01834c6e29af5d7b)
+ }
+
+ // Conversion of the second operand
+
+ Store(XOr(0, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 24, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(0xffffffffffffffff, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 25, Local0, 0x01834c6e29af5d7b)
+
+ Store(XOr(aui5, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 26, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(auij, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 27, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ Store(XOr(Derefof(Refof(aui5)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 28, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(Refof(auij)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 29, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Store(XOr(Derefof(Index(paui, 5)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 30, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(Index(paui, 19)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 31, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ Store(XOr(m601(1, 5), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 32, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(m601(1, 19), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 33, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(Derefof(m602(1, 5, 1)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 34, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(m602(1, 19, 1)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 35, Local0, 0x01834c6e29af5d7b)
+ }
+
+ XOr(0, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 36, Local0, 0xfe7cb391d650a284)
+
+ XOr(0xffffffffffffffff, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 37, Local0, 0x01834c6e29af5d7b)
+
+ XOr(aui5, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 38, Local0, 0xfe7cb391d650a284)
+
+ XOr(auij, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 39, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ XOr(Derefof(Refof(aui5)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 40, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(Refof(auij)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 41, Local0, 0x01834c6e29af5d7b)
+ }
+
+ XOr(Derefof(Index(paui, 5)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 42, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(Index(paui, 19)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 43, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ XOr(m601(1, 5), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 44, Local0, 0xfe7cb391d650a284)
+
+ XOr(m601(1, 19), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 45, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(Derefof(m602(1, 5, 1)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 46, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(m602(1, 19, 1)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 47, Local0, 0x01834c6e29af5d7b)
+ }
+
+ // Conversion of the both operands
+
+ Store(XOr(Derefof(Refof(b606)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 48, Local0, 0xfe7cb391d650a1a5)
+
+ Store(XOr(Derefof(Refof(b60a)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 49, Local0, 0xfe7cb391d650a1a5)
+
+ XOr(Derefof(Refof(b606)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 50, Local0, 0xfe7cb391d650a1a5)
+
+ XOr(Derefof(Refof(b60a)), Derefof(Refof(b606)), Local0)
+ m600(arg0, 51, Local0, 0xfe7cb391d650a1a5)
+ }
+
+ // XOr, 32-bit
+ Method(m05e, 1)
+ {
+ // Conversion of the first operand
+
+ Store(XOr(Derefof(Refof(b60a)), 0), Local0)
+ m600(arg0, 0, Local0, 0xd650a284)
+
+ Store(XOr(Derefof(Refof(b60a)), 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0x29af5d7b)
+
+ Store(XOr(Derefof(Refof(b60a)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xd650a284)
+
+ Store(XOr(Derefof(Refof(b60a)), auii), Local0)
+ m600(arg0, 3, Local0, 0x29af5d7b)
+
+ if (y078) {
+ Store(XOr(Derefof(Refof(b60a)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xd650a284)
+
+ Store(XOr(Derefof(Refof(b60a)), Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0x29af5d7b)
+ }
+
+ Store(XOr(Derefof(Refof(b60a)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xd650a284)
+
+ Store(XOr(Derefof(Refof(b60a)), Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0x29af5d7b)
+
+ // Method returns Integer
+
+ Store(XOr(Derefof(Refof(b60a)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xd650a284)
+
+ Store(XOr(Derefof(Refof(b60a)), m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0x29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(Derefof(Refof(b60a)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xd650a284)
+
+ Store(XOr(Derefof(Refof(b60a)), Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0x29af5d7b)
+ }
+
+ XOr(Derefof(Refof(b60a)), 0, Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ XOr(Derefof(Refof(b60a)), 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0x29af5d7b)
+
+ XOr(Derefof(Refof(b60a)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xd650a284)
+
+ XOr(Derefof(Refof(b60a)), auii, Local0)
+ m600(arg0, 15, Local0, 0x29af5d7b)
+
+ if (y078) {
+ XOr(Derefof(Refof(b60a)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xd650a284)
+
+ XOr(Derefof(Refof(b60a)), Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0x29af5d7b)
+ }
+
+ XOr(Derefof(Refof(b60a)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xd650a284)
+
+ XOr(Derefof(Refof(b60a)), Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0x29af5d7b)
+
+ // Method returns Integer
+
+ XOr(Derefof(Refof(b60a)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xd650a284)
+
+ XOr(Derefof(Refof(b60a)), m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0x29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(Derefof(Refof(b60a)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xd650a284)
+
+ XOr(Derefof(Refof(b60a)), Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0x29af5d7b)
+ }
+
+ // Conversion of the second operand
+
+ Store(XOr(0, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 24, Local0, 0xd650a284)
+
+ Store(XOr(0xffffffff, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 25, Local0, 0x29af5d7b)
+
+ Store(XOr(aui5, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 26, Local0, 0xd650a284)
+
+ Store(XOr(auii, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 27, Local0, 0x29af5d7b)
+
+ if (y078) {
+ Store(XOr(Derefof(Refof(aui5)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 28, Local0, 0xd650a284)
+
+ Store(XOr(Derefof(Refof(auii)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 29, Local0, 0x29af5d7b)
+ }
+
+ Store(XOr(Derefof(Index(paui, 5)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 30, Local0, 0xd650a284)
+
+ Store(XOr(Derefof(Index(paui, 18)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 31, Local0, 0x29af5d7b)
+
+ // Method returns Integer
+
+ Store(XOr(m601(1, 5), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 32, Local0, 0xd650a284)
+
+ Store(XOr(m601(1, 18), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 33, Local0, 0x29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(Derefof(m602(1, 5, 1)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 34, Local0, 0xd650a284)
+
+ Store(XOr(Derefof(m602(1, 18, 1)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 35, Local0, 0x29af5d7b)
+ }
+
+ XOr(0, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 36, Local0, 0xd650a284)
+
+ XOr(0xffffffff, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 37, Local0, 0x29af5d7b)
+
+ XOr(aui5, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 38, Local0, 0xd650a284)
+
+ XOr(auii, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 39, Local0, 0x29af5d7b)
+
+ if (y078) {
+ XOr(Derefof(Refof(aui5)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 40, Local0, 0xd650a284)
+
+ XOr(Derefof(Refof(auii)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 41, Local0, 0x29af5d7b)
+ }
+
+ XOr(Derefof(Index(paui, 5)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 42, Local0, 0xd650a284)
+
+ XOr(Derefof(Index(paui, 18)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 43, Local0, 0x29af5d7b)
+
+ // Method returns Integer
+
+ XOr(m601(1, 5), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 44, Local0, 0xd650a284)
+
+ XOr(m601(1, 18), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 45, Local0, 0x29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(Derefof(m602(1, 5, 1)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 46, Local0, 0xd650a284)
+
+ XOr(Derefof(m602(1, 18, 1)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 47, Local0, 0x29af5d7b)
+ }
+
+ // Conversion of the both operands
+
+ Store(XOr(Derefof(Refof(b606)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 48, Local0, 0xd650a1a5)
+
+ Store(XOr(Derefof(Refof(b60a)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 49, Local0, 0xd650a1a5)
+
+ XOr(Derefof(Refof(b606)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 50, Local0, 0xd650a1a5)
+
+ XOr(Derefof(Refof(b60a)), Derefof(Refof(b606)), Local0)
+ m600(arg0, 51, Local0, 0xd650a1a5)
+ }
+
+ // Add, And, Divide, Mod, Multiply, NAnd, NOr, Or,
+ // ShiftLeft, ShiftRight, Subtract, Xor
+
+ Method(m64n, 1)
+ {
+ // Add
+ Concatenate(arg0, "-m03b", Local0)
+ SRMT(Local0)
+ m03b(Local0)
+ Concatenate(arg0, "-m03c", Local0)
+ SRMT(Local0)
+ m03c(Local0)
+
+ // And
+ Concatenate(arg0, "-m03e", Local0)
+ SRMT(Local0)
+ m03e(Local0)
+ Concatenate(arg0, "-m03f", Local0)
+ SRMT(Local0)
+ m03f(Local0)
+
+ // Divide
+ Concatenate(arg0, "-m041", Local0)
+ SRMT(Local0)
+ m041(Local0)
+ Concatenate(arg0, "-m042", Local0)
+ SRMT(Local0)
+ m042(Local0)
+
+ // Mod
+ Concatenate(arg0, "-m044", Local0)
+ SRMT(Local0)
+ m044(Local0)
+ Concatenate(arg0, "-m045", Local0)
+ SRMT(Local0)
+ m045(Local0)
+
+ // Multiply
+ Concatenate(arg0, "-m047", Local0)
+ SRMT(Local0)
+ m047(Local0)
+ Concatenate(arg0, "-m048", Local0)
+ SRMT(Local0)
+ m048(Local0)
+
+ // NAnd
+ Concatenate(arg0, "-m04a", Local0)
+ SRMT(Local0)
+ m04a(Local0)
+ Concatenate(arg0, "-m04b", Local0)
+ SRMT(Local0)
+ m04b(Local0)
+
+ // NOr
+ Concatenate(arg0, "-m04d", Local0)
+ SRMT(Local0)
+ m04d(Local0)
+ Concatenate(arg0, "-m04e", Local0)
+ SRMT(Local0)
+ m04e(Local0)
+
+ // Or
+ Concatenate(arg0, "-m050", Local0)
+ SRMT(Local0)
+ m050(Local0)
+ Concatenate(arg0, "-m051", Local0)
+ SRMT(Local0)
+ m051(Local0)
+
+ // ShiftLeft
+ Concatenate(arg0, "-m053", Local0)
+ SRMT(Local0)
+ m053(Local0)
+ Concatenate(arg0, "-m054", Local0)
+ SRMT(Local0)
+ m054(Local0)
+
+ // ShiftRight
+ Concatenate(arg0, "-m056", Local0)
+ SRMT(Local0)
+ m056(Local0)
+ Concatenate(arg0, "-m057", Local0)
+ SRMT(Local0)
+ m057(Local0)
+
+ // Subtract
+ Concatenate(arg0, "-m059", Local0)
+ SRMT(Local0)
+ m059(Local0)
+ Concatenate(arg0, "-m05a", Local0)
+ SRMT(Local0)
+ m05a(Local0)
+
+ // XOr
+ Concatenate(arg0, "-m05c", Local0)
+ SRMT(Local0)
+ m05c(Local0)
+ Concatenate(arg0, "-m05d", Local0)
+ SRMT(Local0)
+ m05d(Local0)
+ }
+
+ Method(m32n, 1)
+ {
+ // Add
+ Concatenate(arg0, "-m03b", Local0)
+ SRMT(Local0)
+ m03b(Local0)
+ Concatenate(arg0, "-m03d", Local0)
+ SRMT(Local0)
+ m03d(Local0)
+
+ // And
+ Concatenate(arg0, "-m03e", Local0)
+ SRMT(Local0)
+ m03e(Local0)
+ Concatenate(arg0, "-m040", Local0)
+ SRMT(Local0)
+ m040(Local0)
+
+ // Divide
+ Concatenate(arg0, "-m041", Local0)
+ SRMT(Local0)
+ m041(Local0)
+ Concatenate(arg0, "-m043", Local0)
+ SRMT(Local0)
+ m043(Local0)
+
+ // Mod
+ Concatenate(arg0, "-m044", Local0)
+ SRMT(Local0)
+ m044(Local0)
+ Concatenate(arg0, "-m046", Local0)
+ SRMT(Local0)
+ m046(Local0)
+
+ // Multiply
+ Concatenate(arg0, "-m047", Local0)
+ SRMT(Local0)
+ m047(Local0)
+ Concatenate(arg0, "-m049", Local0)
+ SRMT(Local0)
+ m049(Local0)
+
+ // NAnd
+ Concatenate(arg0, "-m04a", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m04a(Local0)
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m04c", Local0)
+ SRMT(Local0)
+ m04c(Local0)
+
+ // NOr
+ Concatenate(arg0, "-m04d", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m04d(Local0)
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m04f", Local0)
+ SRMT(Local0)
+ m04f(Local0)
+
+ // Or
+ Concatenate(arg0, "-m050", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m050(Local0)
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m052", Local0)
+ SRMT(Local0)
+ m052(Local0)
+
+ // ShiftLeft
+ Concatenate(arg0, "-m053", Local0)
+ SRMT(Local0)
+ m053(Local0)
+ Concatenate(arg0, "-m055", Local0)
+ SRMT(Local0)
+ m055(Local0)
+
+ // ShiftRight
+ Concatenate(arg0, "-m056", Local0)
+ SRMT(Local0)
+ m056(Local0)
+ Concatenate(arg0, "-m058", Local0)
+ SRMT(Local0)
+ m058(Local0)
+
+ // Subtract
+ Concatenate(arg0, "-m059", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m059(Local0)
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m05b", Local0)
+ SRMT(Local0)
+ m05b(Local0)
+
+ // XOr
+ Concatenate(arg0, "-m05c", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m05c(Local0)
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m05e", Local0)
+ SRMT(Local0)
+ m05e(Local0)
+ }
+
+
+ // Buffer to Integer conversion of each Buffer operand
+ // of the 2-parameter Logical Integer operators LAnd and LOr
+
+ // LAnd, common 32-bit/64-bit test
+ Method(m05f, 1)
+ {
+ // Conversion of the first operand
+
+ Store(LAnd(Derefof(Refof(b606)), 0), Local0)
+ m600(arg0, 0, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(b606)), 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(LAnd(Derefof(Refof(b606)), aui5), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(b606)), aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(Derefof(Refof(b606)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(b606)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(LAnd(Derefof(Refof(b606)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(b606)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(Derefof(Refof(b606)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(b606)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(Derefof(Refof(b606)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(b606)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(LAnd(0, Derefof(Refof(b606))), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LAnd(1, Derefof(Refof(b606))), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LAnd(aui5, Derefof(Refof(b606))), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LAnd(aui6, Derefof(Refof(b606))), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(Derefof(Refof(aui5)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(aui6)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(LAnd(Derefof(Index(paui, 5)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LAnd(Derefof(Index(paui, 6)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(m601(1, 5), Derefof(Refof(b606))), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LAnd(m601(1, 6), Derefof(Refof(b606))), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(Derefof(m602(1, 5, 1)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LAnd(Derefof(m602(1, 6, 1)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+ }
+
+ // LAnd, 64-bit
+ Method(m060, 1)
+ {
+ // Conversion of the first operand
+
+ Store(LAnd(Derefof(Refof(b60a)), 0), Local0)
+ m600(arg0, 0, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(b60a)), 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(LAnd(Derefof(Refof(b60a)), aui5), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(b60a)), aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(Derefof(Refof(b60a)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(b60a)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(LAnd(Derefof(Refof(b60a)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(b60a)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(Derefof(Refof(b60a)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(b60a)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(Derefof(Refof(b60a)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(b60a)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(LAnd(0, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LAnd(1, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LAnd(aui5, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LAnd(aui6, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(Derefof(Refof(aui5)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(aui6)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(LAnd(Derefof(Index(paui, 5)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LAnd(Derefof(Index(paui, 6)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(m601(1, 5), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LAnd(m601(1, 6), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(Derefof(m602(1, 5, 1)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LAnd(Derefof(m602(1, 6, 1)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+
+ // Conversion of the both operands
+
+ Store(LAnd(Derefof(Refof(b606)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 24, Local0, Ones)
+
+ Store(LAnd(Derefof(Refof(b60a)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // LAnd, 32-bit
+ Method(m061, 1)
+ {
+ // Conversion of the first operand
+
+ Store(LAnd(Derefof(Refof(b60a)), 0), Local0)
+ m600(arg0, 0, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(b60a)), 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(LAnd(Derefof(Refof(b60a)), aui5), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(b60a)), aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(Derefof(Refof(b60a)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(b60a)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(LAnd(Derefof(Refof(b60a)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(b60a)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(Derefof(Refof(b60a)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(b60a)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(Derefof(Refof(b60a)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(b60a)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(LAnd(0, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LAnd(1, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LAnd(aui5, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LAnd(aui6, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(Derefof(Refof(aui5)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(aui6)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(LAnd(Derefof(Index(paui, 5)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LAnd(Derefof(Index(paui, 6)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(m601(1, 5), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LAnd(m601(1, 6), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(Derefof(m602(1, 5, 1)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LAnd(Derefof(m602(1, 6, 1)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+
+ // Conversion of the both operands
+
+ Store(LAnd(Derefof(Refof(b606)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 24, Local0, Ones)
+
+ Store(LAnd(Derefof(Refof(b60a)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // Lor, common 32-bit/64-bit test
+ Method(m062, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Lor(Derefof(Refof(b600)), 0), Local0)
+ m600(arg0, 0, Local0, Zero)
+
+ Store(Lor(Derefof(Refof(b600)), 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(Lor(Derefof(Refof(b600)), aui5), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(Lor(Derefof(Refof(b600)), aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(Derefof(Refof(b600)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(Lor(Derefof(Refof(b600)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(Lor(Derefof(Refof(b600)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Zero)
+
+ Store(Lor(Derefof(Refof(b600)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(Derefof(Refof(b600)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Zero)
+
+ Store(Lor(Derefof(Refof(b600)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(Derefof(Refof(b600)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(Lor(Derefof(Refof(b600)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(Lor(0, Derefof(Refof(b600))), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(Lor(1, Derefof(Refof(b600))), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(Lor(aui5, Derefof(Refof(b600))), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(Lor(aui6, Derefof(Refof(b600))), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(Derefof(Refof(aui5)), Derefof(Refof(b600))), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(Lor(Derefof(Refof(aui6)), Derefof(Refof(b600))), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(Lor(Derefof(Index(paui, 5)), Derefof(Refof(b600))), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(Lor(Derefof(Index(paui, 6)), Derefof(Refof(b600))), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(m601(1, 5), Derefof(Refof(b600))), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(Lor(m601(1, 6), Derefof(Refof(b600))), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(Derefof(m602(1, 5, 1)), Derefof(Refof(b600))), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(Lor(Derefof(m602(1, 6, 1)), Derefof(Refof(b600))), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+ }
+
+ // Lor, 64-bit
+ Method(m063, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Lor(Derefof(Refof(b60a)), 0), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(Lor(Derefof(Refof(b60a)), 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(Lor(Derefof(Refof(b60a)), aui5), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(Lor(Derefof(Refof(b60a)), aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(Derefof(Refof(b60a)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(Lor(Derefof(Refof(b60a)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(Lor(Derefof(Refof(b60a)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(Lor(Derefof(Refof(b60a)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(Derefof(Refof(b60a)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(Lor(Derefof(Refof(b60a)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(Derefof(Refof(b60a)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(Lor(Derefof(Refof(b60a)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(Lor(0, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(Lor(1, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(Lor(aui5, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 14, Local0, Ones)
+
+ Store(Lor(aui6, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(Derefof(Refof(aui5)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 16, Local0, Ones)
+
+ Store(Lor(Derefof(Refof(aui6)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(Lor(Derefof(Index(paui, 5)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 18, Local0, Ones)
+
+ Store(Lor(Derefof(Index(paui, 6)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(m601(1, 5), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 20, Local0, Ones)
+
+ Store(Lor(m601(1, 6), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(Derefof(m602(1, 5, 1)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(Lor(Derefof(m602(1, 6, 1)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+
+ // Conversion of the both operands
+
+ Store(Lor(Derefof(Refof(b600)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 24, Local0, Ones)
+
+ Store(Lor(Derefof(Refof(b60a)), Derefof(Refof(b600))), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // Lor, 32-bit
+ Method(m064, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Lor(Derefof(Refof(b60a)), 0), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(Lor(Derefof(Refof(b60a)), 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(Lor(Derefof(Refof(b60a)), aui5), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(Lor(Derefof(Refof(b60a)), aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(Derefof(Refof(b60a)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(Lor(Derefof(Refof(b60a)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(Lor(Derefof(Refof(b60a)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(Lor(Derefof(Refof(b60a)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(Derefof(Refof(b60a)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(Lor(Derefof(Refof(b60a)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(Derefof(Refof(b60a)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(Lor(Derefof(Refof(b60a)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(Lor(0, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(Lor(1, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(Lor(aui5, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 14, Local0, Ones)
+
+ Store(Lor(aui6, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(Derefof(Refof(aui5)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 16, Local0, Ones)
+
+ Store(Lor(Derefof(Refof(aui6)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(Lor(Derefof(Index(paui, 5)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 18, Local0, Ones)
+
+ Store(Lor(Derefof(Index(paui, 6)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(m601(1, 5), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 20, Local0, Ones)
+
+ Store(Lor(m601(1, 6), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(Derefof(m602(1, 5, 1)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(Lor(Derefof(m602(1, 6, 1)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+
+ // Conversion of the both operands
+
+ Store(Lor(Derefof(Refof(b600)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 24, Local0, Ones)
+
+ Store(Lor(Derefof(Refof(b60a)), Derefof(Refof(b600))), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ Method(m64o, 1)
+ {
+ // LAnd
+ Concatenate(arg0, "-m05f", Local0)
+ SRMT(Local0)
+ m05f(Local0)
+ Concatenate(arg0, "-m060", Local0)
+ SRMT(Local0)
+ m060(Local0)
+
+ // LOr
+ Concatenate(arg0, "-m062", Local0)
+ SRMT(Local0)
+ m062(Local0)
+ Concatenate(arg0, "-m063", Local0)
+ SRMT(Local0)
+ m063(Local0)
+ }
+
+ Method(m32o, 1)
+ {
+ // LAnd
+ Concatenate(arg0, "-m05f", Local0)
+ SRMT(Local0)
+ m05f(Local0)
+ Concatenate(arg0, "-m061", Local0)
+ SRMT(Local0)
+ m061(Local0)
+
+ // LOr
+ Concatenate(arg0, "-m062", Local0)
+ SRMT(Local0)
+ m062(Local0)
+ Concatenate(arg0, "-m064", Local0)
+ SRMT(Local0)
+ m064(Local0)
+ }
+
+
+ // Buffer to Integer conversion of the Buffer second operand of
+ // Logical operators when the first operand is evaluated as Integer
+ // (LEqual, LGreater, LGreaterEqual, LLess, LLessEqual, LNotEqual)
+
+ Method(m64p, 1)
+ {
+ // LEqual
+
+ Store(LEqual(0xfe7cb391d650a284, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual(0xfe7cb391d650a285, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(0xfe7cb391d650a283, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LEqual(aui4, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ Store(LEqual(auid, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LEqual(auif, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 5, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aui4)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(auid)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ Store(LEqual(Derefof(Refof(auif)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 8, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paui, 4)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paui, 13)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LEqual(Derefof(Index(paui, 15)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 11, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LEqual(m601(1, 4), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(LEqual(m601(1, 13), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 13, Local0, Zero)
+
+ Store(LEqual(m601(1, 15), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(1, 4, 1)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(1, 13, 1)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LEqual(Derefof(m602(1, 15, 1)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 17, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater(0xfe7cb391d650a284, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(0xfe7cb391d650a285, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ Store(LGreater(0xfe7cb391d650a283, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(aui4, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 21, Local0, Zero)
+
+ Store(LGreater(auid, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(LGreater(auif, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 23, Local0, Zero)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aui4)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(auid)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 25, Local0, Ones)
+
+ Store(LGreater(Derefof(Refof(auif)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 26, Local0, Zero)
+ }
+
+ Store(LGreater(Derefof(Index(paui, 4)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 27, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paui, 13)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 28, Local0, Ones)
+
+ Store(LGreater(Derefof(Index(paui, 15)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 29, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreater(m601(1, 4), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 30, Local0, Zero)
+
+ Store(LGreater(m601(1, 13), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ Store(LGreater(m601(1, 15), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 32, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(1, 4, 1)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 33, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(1, 13, 1)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreater(Derefof(m602(1, 15, 1)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 35, Local0, Zero)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual(0xfe7cb391d650a284, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(0xfe7cb391d650a285, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ Store(LGreaterEqual(0xfe7cb391d650a283, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 38, Local0, Zero)
+
+ Store(LGreaterEqual(aui4, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 39, Local0, Ones)
+
+ Store(LGreaterEqual(auid, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 40, Local0, Ones)
+
+ Store(LGreaterEqual(auif, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aui4)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auid)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 43, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auif)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 44, Local0, Zero)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paui, 4)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 45, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 13)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 46, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 15)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 47, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreaterEqual(m601(1, 4), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 48, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 13), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 49, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 15), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(1, 4, 1)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 51, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 13, 1)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 52, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 15, 1)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLess
+
+ Store(LLess(0xfe7cb391d650a284, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 54, Local0, Zero)
+
+ Store(LLess(0xfe7cb391d650a285, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLess(0xfe7cb391d650a283, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLess(aui4, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLess(auid, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 58, Local0, Zero)
+
+ Store(LLess(auif, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 59, Local0, Ones)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aui4)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 60, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auid)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 61, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auif)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 62, Local0, Ones)
+ }
+
+ Store(LLess(Derefof(Index(paui, 4)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 13)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 64, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 15)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 65, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLess(m601(1, 4), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 66, Local0, Zero)
+
+ Store(LLess(m601(1, 13), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 67, Local0, Zero)
+
+ Store(LLess(m601(1, 15), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 68, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLess(Derefof(m602(1, 4, 1)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 69, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 13, 1)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 70, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 15, 1)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 71, Local0, Ones)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual(0xfe7cb391d650a284, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 72, Local0, Ones)
+
+ Store(LLessEqual(0xfe7cb391d650a285, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 73, Local0, Zero)
+
+ Store(LLessEqual(0xfe7cb391d650a283, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 74, Local0, Ones)
+
+ Store(LLessEqual(aui4, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 75, Local0, Ones)
+
+ Store(LLessEqual(auid, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LLessEqual(auif, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aui4)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 78, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(auid)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 79, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Refof(auif)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 80, Local0, Ones)
+ }
+
+ Store(LLessEqual(Derefof(Index(paui, 4)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 81, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paui, 13)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 82, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Index(paui, 15)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 83, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLessEqual(m601(1, 4), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 84, Local0, Ones)
+
+ Store(LLessEqual(m601(1, 13), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 85, Local0, Zero)
+
+ Store(LLessEqual(m601(1, 15), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 86, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(1, 4, 1)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 87, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(1, 13, 1)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 88, Local0, Zero)
+
+ Store(LLessEqual(Derefof(m602(1, 15, 1)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 89, Local0, Ones)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual(0xfe7cb391d650a284, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 90, Local0, Zero)
+
+ Store(LNotEqual(0xfe7cb391d650a285, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 91, Local0, Ones)
+
+ Store(LNotEqual(0xfe7cb391d650a283, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 92, Local0, Ones)
+
+ Store(LNotEqual(aui4, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 93, Local0, Zero)
+
+ Store(LNotEqual(auid, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 94, Local0, Ones)
+
+ Store(LNotEqual(auif, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 95, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aui4)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 96, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(auid)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 97, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Refof(auif)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 98, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paui, 4)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 99, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paui, 13)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 100, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Index(paui, 15)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 101, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LNotEqual(m601(1, 4), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 102, Local0, Zero)
+
+ Store(LNotEqual(m601(1, 13), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 103, Local0, Ones)
+
+ Store(LNotEqual(m601(1, 15), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 104, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(1, 4, 1)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 105, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(1, 13, 1)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 106, Local0, Ones)
+
+ Store(LNotEqual(Derefof(m602(1, 15, 1)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 107, Local0, Ones)
+ }
+ }
+
+ Method(m32p, 1)
+ {
+ // LEqual
+
+ Store(LEqual(0xd650a284, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual(0xd650a285, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(0xd650a283, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LEqual(auik, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ Store(LEqual(auil, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LEqual(auim, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 5, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(auik)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(auil)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ Store(LEqual(Derefof(Refof(auim)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 8, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paui, 20)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paui, 21)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LEqual(Derefof(Index(paui, 22)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 11, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LEqual(m601(1, 20), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(LEqual(m601(1, 21), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 13, Local0, Zero)
+
+ Store(LEqual(m601(1, 22), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(1, 20, 1)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LEqual(Derefof(m601(1, 21, 1)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LEqual(Derefof(m601(1, 22, 1)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 17, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater(0xd650a284, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(0xd650a285, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ Store(LGreater(0xd650a283, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(auik, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 21, Local0, Zero)
+
+ Store(LGreater(auil, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(LGreater(auim, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 23, Local0, Zero)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(auik)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(auil)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 25, Local0, Ones)
+
+ Store(LGreater(Derefof(Refof(auim)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 26, Local0, Zero)
+ }
+
+ Store(LGreater(Derefof(Index(paui, 20)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 27, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paui, 21)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 28, Local0, Ones)
+
+ Store(LGreater(Derefof(Index(paui, 22)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 29, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreater(m601(1, 20), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 30, Local0, Zero)
+
+ Store(LGreater(m601(1, 21), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ Store(LGreater(m601(1, 22), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 32, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(1, 20, 1)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 33, Local0, Zero)
+
+ Store(LGreater(Derefof(m601(1, 21, 1)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreater(Derefof(m601(1, 22, 1)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 35, Local0, Zero)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual(0xd650a284, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(0xd650a285, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ Store(LGreaterEqual(0xd650a283, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 38, Local0, Zero)
+
+ Store(LGreaterEqual(auik, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 39, Local0, Ones)
+
+ Store(LGreaterEqual(auil, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 40, Local0, Ones)
+
+ Store(LGreaterEqual(auim, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(auik)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auil)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 43, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auim)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 44, Local0, Zero)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paui, 20)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 45, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 21)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 46, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 22)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 47, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreaterEqual(m601(1, 20), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 48, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 21), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 49, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 22), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(1, 20, 1)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 51, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m601(1, 21, 1)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 52, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m601(1, 22, 1)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLess
+
+ Store(LLess(0xd650a284, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 54, Local0, Zero)
+
+ Store(LLess(0xd650a285, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLess(0xd650a283, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLess(auik, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLess(auil, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 58, Local0, Zero)
+
+ Store(LLess(auim, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 59, Local0, Ones)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(auik)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 60, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auil)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 61, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auim)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 62, Local0, Ones)
+ }
+
+ Store(LLess(Derefof(Index(paui, 20)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 21)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 64, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 22)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 65, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLess(m601(1, 20), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 66, Local0, Zero)
+
+ Store(LLess(m601(1, 21), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 67, Local0, Zero)
+
+ Store(LLess(m601(1, 22), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 68, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLess(Derefof(m602(1, 20, 1)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 69, Local0, Zero)
+
+ Store(LLess(Derefof(m601(1, 21, 1)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 70, Local0, Zero)
+
+ Store(LLess(Derefof(m601(1, 22, 1)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 71, Local0, Ones)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual(0xd650a284, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 72, Local0, Ones)
+
+ Store(LLessEqual(0xd650a285, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 73, Local0, Zero)
+
+ Store(LLessEqual(0xd650a283, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 74, Local0, Ones)
+
+ Store(LLessEqual(auik, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 75, Local0, Ones)
+
+ Store(LLessEqual(auil, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LLessEqual(auim, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(auik)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 78, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(auil)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 79, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Refof(auim)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 80, Local0, Ones)
+ }
+
+ Store(LLessEqual(Derefof(Index(paui, 20)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 81, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paui, 21)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 82, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Index(paui, 22)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 83, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLessEqual(m601(1, 20), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 84, Local0, Ones)
+
+ Store(LLessEqual(m601(1, 21), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 85, Local0, Zero)
+
+ Store(LLessEqual(m601(1, 22), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 86, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(1, 20, 1)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 87, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m601(1, 21, 1)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 88, Local0, Zero)
+
+ Store(LLessEqual(Derefof(m601(1, 22, 1)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 89, Local0, Ones)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual(0xd650a284, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 90, Local0, Zero)
+
+ Store(LNotEqual(0xd650a285, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 91, Local0, Ones)
+
+ Store(LNotEqual(0xd650a283, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 92, Local0, Ones)
+
+ Store(LNotEqual(auik, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 93, Local0, Zero)
+
+ Store(LNotEqual(auil, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 94, Local0, Ones)
+
+ Store(LNotEqual(auim, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 95, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(auik)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 96, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(auil)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 97, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Refof(auim)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 98, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paui, 20)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 99, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paui, 21)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 100, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Index(paui, 22)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 101, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LNotEqual(m601(1, 20), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 102, Local0, Zero)
+
+ Store(LNotEqual(m601(1, 21), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 103, Local0, Ones)
+
+ Store(LNotEqual(m601(1, 22), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 104, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(1, 20, 1)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 105, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m601(1, 21, 1)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 106, Local0, Ones)
+
+ Store(LNotEqual(Derefof(m601(1, 22, 1)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 107, Local0, Ones)
+ }
+ }
+
+ Method(m065, 1)
+ {
+ // LEqual
+
+ Store(LEqual(0x321, Derefof(Refof(b606))), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual(0x322, Derefof(Refof(b606))), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(0x320, Derefof(Refof(b606))), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LEqual(aui1, Derefof(Refof(b606))), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ Store(LEqual(auig, Derefof(Refof(b606))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LEqual(auih, Derefof(Refof(b606))), Local0)
+ m600(arg0, 5, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aui1)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(auig)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ Store(LEqual(Derefof(Refof(auih)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 8, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paui, 1)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paui, 16)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LEqual(Derefof(Index(paui, 17)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 11, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LEqual(m601(1, 1), Derefof(Refof(b606))), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(LEqual(m601(1, 16), Derefof(Refof(b606))), Local0)
+ m600(arg0, 13, Local0, Zero)
+
+ Store(LEqual(m601(1, 17), Derefof(Refof(b606))), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(1, 1, 1)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(1, 16, 1)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LEqual(Derefof(m602(1, 17, 1)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 17, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater(0x321, Derefof(Refof(b606))), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(0x322, Derefof(Refof(b606))), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ Store(LGreater(0x320, Derefof(Refof(b606))), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(aui1, Derefof(Refof(b606))), Local0)
+ m600(arg0, 21, Local0, Zero)
+
+ Store(LGreater(auig, Derefof(Refof(b606))), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(LGreater(auih, Derefof(Refof(b606))), Local0)
+ m600(arg0, 23, Local0, Zero)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aui1)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(auig)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 25, Local0, Ones)
+
+ Store(LGreater(Derefof(Refof(auih)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 26, Local0, Zero)
+ }
+
+ Store(LGreater(Derefof(Index(paui, 1)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 27, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paui, 16)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 28, Local0, Ones)
+
+ Store(LGreater(Derefof(Index(paui, 17)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 29, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreater(m601(1, 1), Derefof(Refof(b606))), Local0)
+ m600(arg0, 30, Local0, Zero)
+
+ Store(LGreater(m601(1, 16), Derefof(Refof(b606))), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ Store(LGreater(m601(1, 17), Derefof(Refof(b606))), Local0)
+ m600(arg0, 32, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(1, 1, 1)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 33, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(1, 16, 1)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreater(Derefof(m602(1, 17, 1)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 35, Local0, Zero)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual(0x321, Derefof(Refof(b606))), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(0x322, Derefof(Refof(b606))), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ Store(LGreaterEqual(0x320, Derefof(Refof(b606))), Local0)
+ m600(arg0, 38, Local0, Zero)
+
+ Store(LGreaterEqual(aui1, Derefof(Refof(b606))), Local0)
+ m600(arg0, 39, Local0, Ones)
+
+ Store(LGreaterEqual(auig, Derefof(Refof(b606))), Local0)
+ m600(arg0, 40, Local0, Ones)
+
+ Store(LGreaterEqual(auih, Derefof(Refof(b606))), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aui1)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auig)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 43, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auih)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 44, Local0, Zero)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paui, 1)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 45, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 16)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 46, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 17)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 47, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreaterEqual(m601(1, 1), Derefof(Refof(b606))), Local0)
+ m600(arg0, 48, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 16), Derefof(Refof(b606))), Local0)
+ m600(arg0, 49, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 17), Derefof(Refof(b606))), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(1, 1, 1)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 51, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 16, 1)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 52, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 17, 1)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLess
+
+ Store(LLess(0x321, Derefof(Refof(b606))), Local0)
+ m600(arg0, 54, Local0, Zero)
+
+ Store(LLess(0x322, Derefof(Refof(b606))), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLess(0x320, Derefof(Refof(b606))), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLess(aui1, Derefof(Refof(b606))), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLess(auig, Derefof(Refof(b606))), Local0)
+ m600(arg0, 58, Local0, Zero)
+
+ Store(LLess(auih, Derefof(Refof(b606))), Local0)
+ m600(arg0, 59, Local0, Ones)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aui1)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 60, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auig)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 61, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auih)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 62, Local0, Ones)
+ }
+
+ Store(LLess(Derefof(Index(paui, 1)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 16)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 64, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 17)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 65, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLess(m601(1, 1), Derefof(Refof(b606))), Local0)
+ m600(arg0, 66, Local0, Zero)
+
+ Store(LLess(m601(1, 16), Derefof(Refof(b606))), Local0)
+ m600(arg0, 67, Local0, Zero)
+
+ Store(LLess(m601(1, 17), Derefof(Refof(b606))), Local0)
+ m600(arg0, 68, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLess(Derefof(m602(1, 1, 1)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 69, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 16, 1)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 70, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 17, 1)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 71, Local0, Ones)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual(0x321, Derefof(Refof(b606))), Local0)
+ m600(arg0, 72, Local0, Ones)
+
+ Store(LLessEqual(0x322, Derefof(Refof(b606))), Local0)
+ m600(arg0, 73, Local0, Zero)
+
+ Store(LLessEqual(0x320, Derefof(Refof(b606))), Local0)
+ m600(arg0, 74, Local0, Ones)
+
+ Store(LLessEqual(aui1, Derefof(Refof(b606))), Local0)
+ m600(arg0, 75, Local0, Ones)
+
+ Store(LLessEqual(auig, Derefof(Refof(b606))), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LLessEqual(auih, Derefof(Refof(b606))), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aui1)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 78, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(auig)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 79, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Refof(auih)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 80, Local0, Ones)
+ }
+
+ Store(LLessEqual(Derefof(Index(paui, 1)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 81, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paui, 16)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 82, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Index(paui, 17)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 83, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLessEqual(m601(1, 1), Derefof(Refof(b606))), Local0)
+ m600(arg0, 84, Local0, Ones)
+
+ Store(LLessEqual(m601(1, 16), Derefof(Refof(b606))), Local0)
+ m600(arg0, 85, Local0, Zero)
+
+ Store(LLessEqual(m601(1, 17), Derefof(Refof(b606))), Local0)
+ m600(arg0, 86, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(1, 1, 1)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 87, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(1, 16, 1)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 88, Local0, Zero)
+
+ Store(LLessEqual(Derefof(m602(1, 17, 1)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 89, Local0, Ones)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual(0x321, Derefof(Refof(b606))), Local0)
+ m600(arg0, 90, Local0, Zero)
+
+ Store(LNotEqual(0x322, Derefof(Refof(b606))), Local0)
+ m600(arg0, 91, Local0, Ones)
+
+ Store(LNotEqual(0x320, Derefof(Refof(b606))), Local0)
+ m600(arg0, 92, Local0, Ones)
+
+ Store(LNotEqual(aui1, Derefof(Refof(b606))), Local0)
+ m600(arg0, 93, Local0, Zero)
+
+ Store(LNotEqual(auig, Derefof(Refof(b606))), Local0)
+ m600(arg0, 94, Local0, Ones)
+
+ Store(LNotEqual(auih, Derefof(Refof(b606))), Local0)
+ m600(arg0, 95, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aui1)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 96, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(auig)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 97, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Refof(auih)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 98, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paui, 1)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 99, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paui, 16)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 100, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Index(paui, 17)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 101, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LNotEqual(m601(1, 1), Derefof(Refof(b606))), Local0)
+ m600(arg0, 102, Local0, Zero)
+
+ Store(LNotEqual(m601(1, 16), Derefof(Refof(b606))), Local0)
+ m600(arg0, 103, Local0, Ones)
+
+ Store(LNotEqual(m601(1, 17), Derefof(Refof(b606))), Local0)
+ m600(arg0, 104, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(1, 1, 1)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 105, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(1, 16, 1)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 106, Local0, Ones)
+
+ Store(LNotEqual(Derefof(m602(1, 17, 1)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 107, Local0, Ones)
+ }
+ }
+
+ // Buffer to Integer intermediate conversion of the Buffer second
+ // operand of Concatenate operator in case the first one is Integer
+
+ Method(m64q, 1)
+ {
+ Store(Concatenate(0x321, Derefof(Refof(b606))), Local0)
+ m600(arg0, 0, Local0, bb26)
+
+ Store(Concatenate(0x321, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 1, Local0, bb21)
+
+
+ Store(Concatenate(aui1, Derefof(Refof(b606))), Local0)
+ m600(arg0, 2, Local0, bb26)
+
+ Store(Concatenate(aui1, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 3, Local0, bb21)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aui1)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 4, Local0, bb26)
+
+ Store(Concatenate(Derefof(Refof(aui1)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 5, Local0, bb21)
+ }
+
+ Store(Concatenate(Derefof(Index(paui, 1)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 6, Local0, bb26)
+
+ Store(Concatenate(Derefof(Index(paui, 1)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 7, Local0, bb21)
+
+ // Method returns Integer
+
+ Store(Concatenate(m601(1, 1), Derefof(Refof(b606))), Local0)
+ m600(arg0, 8, Local0, bb26)
+
+ Store(Concatenate(m601(1, 1), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 9, Local0, bb21)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(1, 1, 1)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 10, Local0, bb26)
+
+ Store(Concatenate(Derefof(m602(1, 1, 1)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 11, Local0, bb21)
+ }
+
+ Concatenate(0x321, Derefof(Refof(b606)), Local0)
+ m600(arg0, 12, Local0, bb26)
+
+ Concatenate(0x321, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 13, Local0, bb21)
+
+
+ Concatenate(aui1, Derefof(Refof(b606)), Local0)
+ m600(arg0, 14, Local0, bb26)
+
+ Concatenate(aui1, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 15, Local0, bb21)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aui1)), Derefof(Refof(b606)), Local0)
+ m600(arg0, 16, Local0, bb26)
+
+ Concatenate(Derefof(Refof(aui1)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 17, Local0, bb21)
+ }
+
+ Concatenate(Derefof(Index(paui, 1)), Derefof(Refof(b606)), Local0)
+ m600(arg0, 18, Local0, bb26)
+
+ Concatenate(Derefof(Index(paui, 1)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 19, Local0, bb21)
+
+ // Method returns Integer
+
+ Concatenate(m601(1, 1), Derefof(Refof(b606)), Local0)
+ m600(arg0, 20, Local0, bb26)
+
+ Concatenate(m601(1, 1), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 21, Local0, bb21)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Concatenate(Derefof(m602(1, 1, 1)), Derefof(Refof(b606)), Local0)
+ m600(arg0, 22, Local0, bb26)
+
+ Concatenate(Derefof(m602(1, 1, 1)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 23, Local0, bb21)
+ }
+ }
+
+ Method(m32q, 1)
+ {
+ Store(Concatenate(0x321, Derefof(Refof(b606))), Local0)
+ m600(arg0, 0, Local0, bb27)
+
+ Store(Concatenate(0x321, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 1, Local0, bb28)
+
+
+ Store(Concatenate(aui1, Derefof(Refof(b606))), Local0)
+ m600(arg0, 2, Local0, bb27)
+
+ Store(Concatenate(aui1, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 3, Local0, bb28)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aui1)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 4, Local0, bb27)
+
+ Store(Concatenate(Derefof(Refof(aui1)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 5, Local0, bb28)
+ }
+
+ Store(Concatenate(Derefof(Index(paui, 1)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 6, Local0, bb27)
+
+ Store(Concatenate(Derefof(Index(paui, 1)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 7, Local0, bb28)
+
+ // Method returns Integer
+
+ Store(Concatenate(m601(1, 1), Derefof(Refof(b606))), Local0)
+ m600(arg0, 8, Local0, bb27)
+
+ Store(Concatenate(m601(1, 1), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 9, Local0, bb28)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(1, 1, 1)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 10, Local0, bb27)
+
+ Store(Concatenate(Derefof(m602(1, 1, 1)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 11, Local0, bb28)
+ }
+
+ Concatenate(0x321, Derefof(Refof(b606)), Local0)
+ m600(arg0, 12, Local0, bb27)
+
+ Concatenate(0x321, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 13, Local0, bb28)
+
+
+ Concatenate(aui1, Derefof(Refof(b606)), Local0)
+ m600(arg0, 14, Local0, bb27)
+
+ Concatenate(aui1, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 15, Local0, bb28)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aui1)), Derefof(Refof(b606)), Local0)
+ m600(arg0, 16, Local0, bb27)
+
+ Concatenate(Derefof(Refof(aui1)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 17, Local0, bb28)
+ }
+
+ Concatenate(Derefof(Index(paui, 1)), Derefof(Refof(b606)), Local0)
+ m600(arg0, 18, Local0, bb27)
+
+ Concatenate(Derefof(Index(paui, 1)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 20, Local0, bb28)
+
+ // Method returns Integer
+
+ Concatenate(m601(1, 1), Derefof(Refof(b606)), Local0)
+ m600(arg0, 21, Local0, bb27)
+
+ Concatenate(m601(1, 1), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 22, Local0, bb28)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Concatenate(Derefof(m602(1, 1, 1)), Derefof(Refof(b606)), Local0)
+ m600(arg0, 23, Local0, bb27)
+
+ Concatenate(Derefof(m602(1, 1, 1)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 24, Local0, bb28)
+ }
+ }
+
+ // Buffer to Integer conversion of the Buffer Length (second)
+ // operand of the ToString operator
+
+ // Common 32-bit/64-bit test
+ Method(m066, 1)
+ {
+ Store(ToString(Buffer() {"This is auxiliary Buffer"},
+ Derefof(Refof(b60e))), Local0)
+ m600(arg0, 0, Local0, bs1b)
+
+ Store(ToString(Buffer() {"This is auxiliary Buffer"},
+ Derefof(Refof(b606))), Local0)
+ m600(arg0, 1, Local0, bs1c)
+
+ Store(ToString(aub6, Derefof(Refof(b60e))), Local0)
+ m600(arg0, 2, Local0, bs1b)
+
+ Store(ToString(aub6, Derefof(Refof(b606))), Local0)
+ m600(arg0, 3, Local0, bs1c)
+
+ if (y078) {
+ Store(ToString(Derefof(Refof(aub6)), Derefof(Refof(b60e))), Local0)
+ m600(arg0, 4, Local0, bs1b)
+
+ Store(ToString(Derefof(Refof(aub6)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 5, Local0, bs1c)
+ }
+
+ Store(ToString(Derefof(Index(paub, 6)), Derefof(Refof(b60e))), Local0)
+ m600(arg0, 6, Local0, bs1b)
+
+ Store(ToString(Derefof(Index(paub, 6)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 7, Local0, bs1c)
+
+ // Method returns Buffer
+
+ Store(ToString(m601(3, 6), Derefof(Refof(b60e))), Local0)
+ m600(arg0, 8, Local0, bs1b)
+
+ Store(ToString(m601(3, 6), Derefof(Refof(b606))), Local0)
+ m600(arg0, 9, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(ToString(Derefof(m602(3, 6, 1)), Derefof(Refof(b60e))), Local0)
+ m600(arg0, 10, Local0, bs1b)
+
+ Store(ToString(Derefof(m602(3, 6, 1)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 11, Local0, bs1c)
+ }
+
+ ToString(Buffer() {"This is auxiliary Buffer"},
+ Derefof(Refof(b60e)), Local0)
+ m600(arg0, 12, Local0, bs1b)
+
+ ToString(Buffer() {"This is auxiliary Buffer"},
+ Derefof(Refof(b606)), Local0)
+ m600(arg0, 13, Local0, bs1c)
+
+ ToString(aub6, Derefof(Refof(b60e)), Local0)
+ m600(arg0, 14, Local0, bs1b)
+
+ ToString(aub6, Derefof(Refof(b606)), Local0)
+ m600(arg0, 15, Local0, bs1c)
+
+ if (y078) {
+ ToString(Derefof(Refof(aub6)), Derefof(Refof(b60e)), Local0)
+ m600(arg0, 16, Local0, bs1b)
+
+ ToString(Derefof(Refof(aub6)), Derefof(Refof(b606)), Local0)
+ m600(arg0, 17, Local0, bs1c)
+ }
+
+ ToString(Derefof(Index(paub, 6)), Derefof(Refof(b60e)), Local0)
+ m600(arg0, 18, Local0, bs1b)
+
+ ToString(Derefof(Index(paub, 6)), Derefof(Refof(b606)), Local0)
+ m600(arg0, 19, Local0, bs1c)
+
+ // Method returns Buffer
+
+ ToString(m601(3, 6), Derefof(Refof(b60e)), Local0)
+ m600(arg0, 20, Local0, bs1b)
+
+ ToString(m601(3, 6), Derefof(Refof(b606)), Local0)
+ m600(arg0, 21, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ ToString(Derefof(m602(3, 6, 1)), Derefof(Refof(b60e)), Local0)
+ m600(arg0, 22, Local0, bs1b)
+
+ ToString(Derefof(m602(3, 6, 1)), Derefof(Refof(b606)), Local0)
+ m600(arg0, 23, Local0, bs1c)
+ }
+ }
+
+ Method(m64r, 1)
+ {
+ Store(ToString(Buffer() {"This is auxiliary Buffer"},
+ Derefof(Refof(b60a))), Local0)
+ m600(arg0, 0, Local0, bs1c)
+
+ Store(ToString(aub6, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 1, Local0, bs1c)
+
+ if (y078) {
+ Store(ToString(Derefof(Refof(aub6)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 2, Local0, bs1c)
+ }
+
+ Store(ToString(Derefof(Index(paub, 6)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 3, Local0, bs1c)
+
+ // Method returns Buffer
+
+ Store(ToString(m601(3, 6), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 4, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(ToString(Derefof(m602(3, 6, 1)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 5, Local0, bs1c)
+ }
+
+ ToString(Buffer() {"This is auxiliary Buffer"},
+ Derefof(Refof(b60a)), Local0)
+ m600(arg0, 6, Local0, bs1c)
+
+ ToString(aub6, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 7, Local0, bs1c)
+
+ if (y078) {
+ ToString(Derefof(Refof(aub6)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 8, Local0, bs1c)
+ }
+
+ ToString(Derefof(Index(paub, 6)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 9, Local0, bs1c)
+
+ // Method returns Buffer
+
+ ToString(m601(3, 6), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 10, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ ToString(Derefof(m602(3, 6, 1)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 11, Local0, bs1c)
+ }
+ }
+
+ Method(m32r, 1)
+ {
+ Store(ToString(Buffer() {"This is auxiliary Buffer"},
+ Derefof(Refof(b60a))), Local0)
+ m600(arg0, 0, Local0, bs1c)
+
+ Store(ToString(aub6, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 1, Local0, bs1c)
+
+ if (y078) {
+ Store(ToString(Derefof(Refof(aub6)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 2, Local0, bs1c)
+ }
+
+ Store(ToString(Derefof(Index(paub, 6)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 3, Local0, bs1c)
+
+ // Method returns Buffer
+
+ Store(ToString(m601(3, 6), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 4, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(ToString(Derefof(m602(3, 6, 1)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 5, Local0, bs1c)
+ }
+
+ ToString(Buffer() {"This is auxiliary Buffer"},
+ Derefof(Refof(b60a)), Local0)
+ m600(arg0, 6, Local0, bs1c)
+
+ ToString(aub6, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 7, Local0, bs1c)
+
+ if (y078) {
+ ToString(Derefof(Refof(aub6)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 8, Local0, bs1c)
+ }
+
+ ToString(Derefof(Index(paub, 6)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 9, Local0, bs1c)
+
+ // Method returns Buffer
+
+ ToString(m601(3, 6), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 10, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ ToString(Derefof(m602(3, 6, 1)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 11, Local0, bs1c)
+ }
+ }
+
+ // Buffer to Integer conversion of the Buffer Index (second)
+ // operand of the Index operator
+ Method(m067, 1)
+ {
+ Store(Index(aus6, Derefof(Refof(b60e))), Local0)
+ m600(arg0, 0, Derefof(Local0), bi10)
+
+ Store(Index(aub6, Derefof(Refof(b60e))), Local0)
+ m600(arg0, 1, Derefof(Local0), bi10)
+
+ Store(Index(aup0, Derefof(Refof(b60e))), Local0)
+ m600(arg0, 2, Derefof(Local0), bi11)
+
+ if (y078) {
+ Store(Index(Derefof(Refof(aus6)), Derefof(Refof(b60e))), Local0)
+ m600(arg0, 3, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Refof(aub6)), Derefof(Refof(b60e))), Local0)
+ m600(arg0, 4, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Refof(aup0)), Derefof(Refof(b60e))), Local0)
+ m600(arg0, 5, Derefof(Local0), bi11)
+ }
+
+ Store(Index(Derefof(Index(paus, 6)), Derefof(Refof(b60e))), Local0)
+ m600(arg0, 6, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Index(paub, 6)), Derefof(Refof(b60e))), Local0)
+ m600(arg0, 7, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Index(paup, 0)), Derefof(Refof(b60e))), Local0)
+ m600(arg0, 8, Derefof(Local0), bi11)
+
+
+ // Method returns Object
+
+ if (y900) {
+ Store(Index(m601(2, 6), Derefof(Refof(b60e))), Local0)
+ m600(arg0, 9, Derefof(Local0), bi10)
+
+ Store(Index(m601(3, 6), Derefof(Refof(b60e))), Local0)
+ m600(arg0, 10, Derefof(Local0), bi10)
+
+ Store(Index(m601(4, 0), Derefof(Refof(b60e))), Local0)
+ m600(arg0, 11, Derefof(Local0), bi11)
+ } else {
+
+ CH03(arg0, z091, 0, 0, 0)
+
+ Index(m601(2, 6), Derefof(Refof(b60e)))
+ CH04(arg0, 0, 85, z091, 9, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+
+ Index(m601(3, 6), Derefof(Refof(b60e)))
+ CH04(arg0, 0, 85, z091, 10, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+
+ Index(m601(4, 0), Derefof(Refof(b60e)))
+ CH04(arg0, 0, 85, z091, 11, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+ }
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Index(Derefof(m602(2, 6, 1)), Derefof(Refof(b60e))), Local0)
+ m600(arg0, 12, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(m602(3, 6, 1)), Derefof(Refof(b60e))), Local0)
+ m600(arg0, 13, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(m602(4, 0, 1)), Derefof(Refof(b60e))), Local0)
+ m600(arg0, 14, Derefof(Local0), bi11)
+ }
+
+ Index(aus6, Derefof(Refof(b60e)), Local0)
+ m600(arg0, 15, Derefof(Local0), bi10)
+
+ Index(aub6, Derefof(Refof(b60e)), Local0)
+ m600(arg0, 16, Derefof(Local0), bi10)
+
+ Index(aup0, Derefof(Refof(b60e)), Local0)
+ m600(arg0, 17, Derefof(Local0), bi11)
+
+ if (y078) {
+ Index(Derefof(Refof(aus6)), Derefof(Refof(b60e)), Local0)
+ m600(arg0, 18, Derefof(Local0), bi10)
+
+ Index(Derefof(Refof(aub6)), Derefof(Refof(b60e)), Local0)
+ m600(arg0, 19, Derefof(Local0), bi10)
+
+ Index(Derefof(Refof(aup0)), Derefof(Refof(b60e)), Local0)
+ m600(arg0, 20, Derefof(Local0), bi11)
+ }
+
+ Index(Derefof(Index(paus, 6)), Derefof(Refof(b60e)), Local0)
+ m600(arg0, 21, Derefof(Local0), bi10)
+
+ Index(Derefof(Index(paub, 6)), Derefof(Refof(b60e)), Local0)
+ m600(arg0, 22, Derefof(Local0), bi10)
+
+ Index(Derefof(Index(paup, 0)), Derefof(Refof(b60e)), Local0)
+ m600(arg0, 23, Derefof(Local0), bi11)
+
+
+ // Method returns Object
+
+ if (y900) {
+ Index(m601(2, 6), Derefof(Refof(b60e)), Local0)
+ m600(arg0, 24, Derefof(Local0), bi10)
+
+ Index(m601(3, 6), Derefof(Refof(b60e)), Local0)
+ m600(arg0, 25, Derefof(Local0), bi10)
+
+ Index(m601(4, 0), Derefof(Refof(b60e)), Local0)
+ m600(arg0, 26, Derefof(Local0), bi11)
+ } else {
+
+ CH03(arg0, z091, 0, 0, 0)
+
+ Index(m601(2, 6), Derefof(Refof(b60e)), Local0)
+ CH04(arg0, 0, 85, z091, 24, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+
+ Index(m601(3, 6), Derefof(Refof(b60e)), Local0)
+ CH04(arg0, 0, 85, z091, 25, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+
+ Index(m601(4, 0), Derefof(Refof(b60e)), Local0)
+ CH04(arg0, 0, 85, z091, 26, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+ }
+
+ // Method returns Reference
+
+ if (y500) {
+ Index(Derefof(m602(2, 6, 1)), Derefof(Refof(b60e)), Local0)
+ m600(arg0, 27, Derefof(Local0), bi10)
+
+ Index(Derefof(m602(3, 6, 1)), Derefof(Refof(b60e)), Local0)
+ m600(arg0, 28, Derefof(Local0), bi10)
+
+ Index(Derefof(m602(4, 0, 1)), Derefof(Refof(b60e)), Local0)
+ m600(arg0, 29, Derefof(Local0), bi11)
+ }
+
+ if (y098) {
+ Store(Index(aus6, Derefof(Refof(b60e)), Local1), Local0)
+ m600(arg0, 30, Derefof(Local0), bi10)
+
+ Store(Index(aub6, Derefof(Refof(b60e)), Local1), Local0)
+ m600(arg0, 31, Derefof(Local0), bi10)
+
+ Store(Index(aup0, Derefof(Refof(b60e)), Local1), Local0)
+ m600(arg0, 32, Derefof(Local0), bi11)
+ }
+
+ if (y078) {
+ Store(Index(Derefof(Refof(aus6)), Derefof(Refof(b60e)), Local1), Local0)
+ m600(arg0, 33, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Refof(aub6)), Derefof(Refof(b60e)), Local1), Local0)
+ m600(arg0, 34, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Refof(aup0)), Derefof(Refof(b60e)), Local1), Local0)
+ m600(arg0, 35, Derefof(Local0), bi11)
+ }
+
+ if (y098) {
+ Store(Index(Derefof(Index(paus, 6)), Derefof(Refof(b60e)), Local1), Local0)
+ m600(arg0, 36, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Index(paub, 6)), Derefof(Refof(b60e)), Local1), Local0)
+ m600(arg0, 37, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Index(paup, 0)), Derefof(Refof(b60e)), Local1), Local0)
+ m600(arg0, 38, Derefof(Local0), bi11)
+ }
+
+ // Method returns Object
+
+ if (LAnd(y900, y098)) {
+ Store(Index(m601(2, 6), Derefof(Refof(b60e)), Local1), Local0)
+ m600(arg0, 39, Derefof(Local0), bi10)
+
+ Store(Index(m601(3, 6), Derefof(Refof(b60e)), Local1), Local0)
+ m600(arg0, 40, Derefof(Local0), bi10)
+
+ Store(Index(m601(4, 0), Derefof(Refof(b60e)), Local1), Local0)
+ m600(arg0, 41, Derefof(Local0), bi11)
+ }
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Index(Derefof(m602(2, 6, 1)), Derefof(Refof(b60e)), Local1), Local0)
+ m600(arg0, 42, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(m602(3, 6, 1)), Derefof(Refof(b60e)), Local1), Local0)
+ m600(arg0, 43, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(m602(4, 0, 1)), Derefof(Refof(b60e)), Local1), Local0)
+ m600(arg0, 44, Derefof(Local0), bi11)
+ }
+ }
+
+ // Buffer to Integer conversion of the String Arg (third)
+ // operand of the Fatal operator
+ // (it can only be checked an exception does not occur)
+ Method(m068, 1)
+ {
+ CH03(arg0, z091, 9, 0, 0)
+ Fatal(0xff, 0xffffffff, Derefof(Refof(b606)))
+ if (F64) {
+ Fatal(0xff, 0xffffffff, Derefof(Refof(b60a)))
+ } else {
+ Fatal(0xff, 0xffffffff, Derefof(Refof(b60a)))
+ }
+ CH03(arg0, z091, 10, 0, 0)
+ }
+
+ // Buffer to Integer conversion of the Buffer Index and Length
+ // operands of the Mid operator
+
+ // Common 32-bit/64-bit test
+ Method(m069, 1)
+ {
+ // String to Integer conversion of the String Index operand
+
+ Store(Mid("This is auxiliary String", Derefof(Refof(b60e)), 10), Local0)
+ m600(arg0, 0, Local0, bs1d)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, Derefof(Refof(b60e)), 10), Local0)
+ m600(arg0, 1, Local0, bb32)
+
+ Store(Mid(aus6, Derefof(Refof(b60e)), 10), Local0)
+ m600(arg0, 2, Local0, bs1d)
+
+ Store(Mid(aub6, Derefof(Refof(b60e)), 10), Local0)
+ m600(arg0, 3, Local0, bb32)
+
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), Derefof(Refof(b60e)), 10), Local0)
+ m600(arg0, 4, Local0, bs1d)
+
+ Store(Mid(Derefof(Refof(aub6)), Derefof(Refof(b60e)), 10), Local0)
+ m600(arg0, 5, Local0, bb32)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), Derefof(Refof(b60e)), 10), Local0)
+ m600(arg0, 6, Local0, bs1d)
+
+ Store(Mid(Derefof(Index(paub, 6)), Derefof(Refof(b60e)), 10), Local0)
+ m600(arg0, 7, Local0, bb32)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), Derefof(Refof(b60e)), 10), Local0)
+ m600(arg0, 8, Local0, bs1d)
+
+ Store(Mid(m601(3, 6), Derefof(Refof(b60e)), 10), Local0)
+ m600(arg0, 9, Local0, bb32)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), Derefof(Refof(b60e)), 10), Local0)
+ m600(arg0, 10, Local0, bs1d)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), Derefof(Refof(b60e)), 10), Local0)
+ m600(arg0, 11, Local0, bb32)
+ }
+
+ Mid("This is auxiliary String", Derefof(Refof(b60e)), 10, Local0)
+ m600(arg0, 12, Local0, bs1d)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, Derefof(Refof(b60e)), 10, Local0)
+ m600(arg0, 13, Local0, bb32)
+
+ Mid(aus6, Derefof(Refof(b60e)), 10, Local0)
+ m600(arg0, 14, Local0, bs1d)
+
+ Mid(aub6, Derefof(Refof(b60e)), 10, Local0)
+ m600(arg0, 15, Local0, bb32)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), Derefof(Refof(b60e)), 10, Local0)
+ m600(arg0, 16, Local0, bs1d)
+
+ Mid(Derefof(Refof(aub6)), Derefof(Refof(b60e)), 10, Local0)
+ m600(arg0, 17, Local0, bb32)
+ }
+
+ Mid(Derefof(Index(paus, 6)), Derefof(Refof(b60e)), 10, Local0)
+ m600(arg0, 18, Local0, bs1d)
+
+ Mid(Derefof(Index(paub, 6)), Derefof(Refof(b60e)), 10, Local0)
+ m600(arg0, 19, Local0, bb32)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), Derefof(Refof(b60e)), 10, Local0)
+ m600(arg0, 20, Local0, bs1d)
+
+ Mid(m601(3, 6), Derefof(Refof(b60e)), 10, Local0)
+ m600(arg0, 21, Local0, bb32)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), Derefof(Refof(b60e)), 10, Local0)
+ m600(arg0, 22, Local0, bs1d)
+
+ Mid(Derefof(m602(3, 6, 1)), Derefof(Refof(b60e)), 10, Local0)
+ m600(arg0, 23, Local0, bb32)
+ }
+
+ // String to Integer conversion of the String Length operand
+
+ Store(Mid("This is auxiliary String", 0, Derefof(Refof(b60e))), Local0)
+ m600(arg0, 24, Local0, bs1b)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, 0, Derefof(Refof(b60e))), Local0)
+ m600(arg0, 25, Local0, bb33)
+
+ Store(Mid(aus6, 0, Derefof(Refof(b60e))), Local0)
+ m600(arg0, 26, Local0, bs1b)
+
+ Store(Mid(aub6, 0, Derefof(Refof(b60e))), Local0)
+ m600(arg0, 27, Local0, bb33)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), 0, Derefof(Refof(b60e))), Local0)
+ m600(arg0, 28, Local0, bs1b)
+
+ Store(Mid(Derefof(Refof(aub6)), 0, Derefof(Refof(b60e))), Local0)
+ m600(arg0, 29, Local0, bb33)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), 0, Derefof(Refof(b60e))), Local0)
+ m600(arg0, 30, Local0, bs1b)
+
+ Store(Mid(Derefof(Index(paub, 6)), 0, Derefof(Refof(b60e))), Local0)
+ m600(arg0, 31, Local0, bb33)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), 0, Derefof(Refof(b60e))), Local0)
+ m600(arg0, 32, Local0, bs1b)
+
+ Store(Mid(m601(3, 6), 0, Derefof(Refof(b60e))), Local0)
+ m600(arg0, 33, Local0, bb33)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), 0, Derefof(Refof(b60e))), Local0)
+ m600(arg0, 34, Local0, bs1b)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), 0, Derefof(Refof(b60e))), Local0)
+ m600(arg0, 35, Local0, bb33)
+ }
+
+ Mid("This is auxiliary String", 0, Derefof(Refof(b60e)), Local0)
+ m600(arg0, 36, Local0, bs1b)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, 0, Derefof(Refof(b60e)), Local0)
+ m600(arg0, 37, Local0, bb33)
+
+ Mid(aus6, 0, Derefof(Refof(b60e)), Local0)
+ m600(arg0, 37, Local0, bs1b)
+
+ Mid(aub6, 0, Derefof(Refof(b60e)), Local0)
+ m600(arg0, 39, Local0, bb33)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), 0, Derefof(Refof(b60e)), Local0)
+ m600(arg0, 40, Local0, bs1b)
+
+ Mid(Derefof(Refof(aub6)), 0, Derefof(Refof(b60e)), Local0)
+ m600(arg0, 41, Local0, bb33)
+ }
+
+ Mid(Derefof(Index(paus, 6)), 0, Derefof(Refof(b60e)), Local0)
+ m600(arg0, 42, Local0, bs1b)
+
+ Mid(Derefof(Index(paub, 6)), 0, Derefof(Refof(b60e)), Local0)
+ m600(arg0, 43, Local0, bb33)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), 0, Derefof(Refof(b60e)), Local0)
+ m600(arg0, 44, Local0, bs1b)
+
+ Mid(m601(3, 6), 0, Derefof(Refof(b60e)), Local0)
+ m600(arg0, 45, Local0, bb33)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), 0, Derefof(Refof(b60e)), Local0)
+ m600(arg0, 46, Local0, bs1b)
+
+ Mid(Derefof(m602(3, 6, 1)), 0, Derefof(Refof(b60e)), Local0)
+ m600(arg0, 47, Local0, bb33)
+ }
+ }
+
+ Method(m64s, 1)
+ {
+ // String to Integer conversion of the String Length operand
+
+ Store(Mid("This is auxiliary String", 0, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 0, Local0, bs1e)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, 0, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 1, Local0, bb34)
+
+ Store(Mid(aus6, 0, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 2, Local0, bs1e)
+
+ Store(Mid(aub6, 0, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 3, Local0, bb34)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), 0, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 4, Local0, bs1e)
+
+ Store(Mid(Derefof(Refof(aub6)), 0, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 5, Local0, bb34)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), 0, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 6, Local0, bs1e)
+
+ Store(Mid(Derefof(Index(paub, 6)), 0, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 7, Local0, bb34)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), 0, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 8, Local0, bs1e)
+
+ Store(Mid(m601(3, 6), 0, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 9, Local0, bb34)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), 0, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 10, Local0, bs1e)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), 0, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 11, Local0, bb34)
+ }
+
+ Mid("This is auxiliary String", 0, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 12, Local0, bs1e)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, 0, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 13, Local0, bb34)
+
+ Mid(aus6, 0, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 14, Local0, bs1e)
+
+ Mid(aub6, 0, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 15, Local0, bb34)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), 0, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 16, Local0, bs1e)
+
+ Mid(Derefof(Refof(aub6)), 0, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 17, Local0, bb34)
+ }
+
+ Mid(Derefof(Index(paus, 6)), 0, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 18, Local0, bs1e)
+
+ Mid(Derefof(Index(paub, 6)), 0, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 19, Local0, bb34)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), 0, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 20, Local0, bs1e)
+
+ Mid(m601(3, 6), 0, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 21, Local0, bb34)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), 0, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 22, Local0, bs1e)
+
+ Mid(Derefof(m602(3, 6, 1)), 0, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 23, Local0, bb34)
+ }
+
+ // String to Integer conversion of the both String operands
+
+ Store(Mid("This is auxiliary String", Derefof(Refof(b60e)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 24, Local0, bs1f)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, Derefof(Refof(b60e)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 25, Local0, bb35)
+
+ Store(Mid(aus6, Derefof(Refof(b60e)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 26, Local0, bs1f)
+
+ Store(Mid(aub6, Derefof(Refof(b60e)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 27, Local0, bb35)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), Derefof(Refof(b60e)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 28, Local0, bs1f)
+
+ Store(Mid(Derefof(Refof(aub6)), Derefof(Refof(b60e)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 29, Local0, bb35)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), Derefof(Refof(b60e)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 30, Local0, bs1f)
+
+ Store(Mid(Derefof(Index(paub, 6)), Derefof(Refof(b60e)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 31, Local0, bb35)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), Derefof(Refof(b60e)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 32, Local0, bs1f)
+
+ Store(Mid(m601(3, 6), Derefof(Refof(b60e)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 33, Local0, bb35)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), Derefof(Refof(b60e)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 34, Local0, bs1f)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), Derefof(Refof(b60e)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 35, Local0, bb35)
+ }
+
+ Mid("This is auxiliary String", Derefof(Refof(b60e)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 36, Local0, bs1f)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, Derefof(Refof(b60e)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 37, Local0, bb35)
+
+ Mid(aus6, Derefof(Refof(b60e)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 38, Local0, bs1f)
+
+ Mid(aub6, Derefof(Refof(b60e)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 39, Local0, bb35)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), Derefof(Refof(b60e)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 40, Local0, bs1f)
+
+ Mid(Derefof(Refof(aub6)), Derefof(Refof(b60e)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 41, Local0, bb35)
+ }
+
+ Mid(Derefof(Index(paus, 6)), Derefof(Refof(b60e)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 42, Local0, bs1f)
+
+ Mid(Derefof(Index(paub, 6)), Derefof(Refof(b60e)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 43, Local0, bb35)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), Derefof(Refof(b60e)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 44, Local0, bs1f)
+
+ Mid(m601(3, 6), Derefof(Refof(b60e)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 45, Local0, bb35)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), Derefof(Refof(b60e)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 46, Local0, bs1f)
+
+ Mid(Derefof(m602(3, 6, 1)), Derefof(Refof(b60e)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 47, Local0, bb35)
+ }
+ }
+
+ Method(m32s, 1)
+ {
+ // String to Integer conversion of the String Length operand
+
+ Store(Mid("This is auxiliary String", 0, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 0, Local0, bs1e)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, 0, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 1, Local0, bb34)
+
+ Store(Mid(aus6, 0, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 2, Local0, bs1e)
+
+ Store(Mid(aub6, 0, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 3, Local0, bb34)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), 0, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 4, Local0, bs1e)
+
+ Store(Mid(Derefof(Refof(aub6)), 0, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 5, Local0, bb34)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), 0, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 6, Local0, bs1e)
+
+ Store(Mid(Derefof(Index(paub, 6)), 0, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 7, Local0, bb34)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), 0, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 8, Local0, bs1e)
+
+ Store(Mid(m601(3, 6), 0, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 9, Local0, bb34)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), 0, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 10, Local0, bs1e)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), 0, Derefof(Refof(b60a))), Local0)
+ m600(arg0, 11, Local0, bb34)
+ }
+
+ Mid("This is auxiliary String", 0, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 12, Local0, bs1e)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, 0, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 13, Local0, bb34)
+
+ Mid(aus6, 0, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 14, Local0, bs1e)
+
+ Mid(aub6, 0, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 15, Local0, bb34)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), 0, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 16, Local0, bs1e)
+
+ Mid(Derefof(Refof(aub6)), 0, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 17, Local0, bb34)
+ }
+
+ Mid(Derefof(Index(paus, 6)), 0, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 18, Local0, bs1e)
+
+ Mid(Derefof(Index(paub, 6)), 0, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 19, Local0, bb34)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), 0, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 20, Local0, bs1e)
+
+ Mid(m601(3, 6), 0, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 21, Local0, bb34)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), 0, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 22, Local0, bs1e)
+
+ Mid(Derefof(m602(3, 6, 1)), 0, Derefof(Refof(b60a)), Local0)
+ m600(arg0, 23, Local0, bb34)
+ }
+
+ // String to Integer conversion of the both String operands
+
+ Store(Mid("This is auxiliary String", Derefof(Refof(b60e)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 24, Local0, bs1f)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, Derefof(Refof(b60e)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 25, Local0, bb35)
+
+ Store(Mid(aus6, Derefof(Refof(b60e)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 26, Local0, bs1f)
+
+ Store(Mid(aub6, Derefof(Refof(b60e)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 27, Local0, bb35)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), Derefof(Refof(b60e)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 28, Local0, bs1f)
+
+ Store(Mid(Derefof(Refof(aub6)), Derefof(Refof(b60e)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 29, Local0, bb35)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), Derefof(Refof(b60e)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 30, Local0, bs1f)
+
+ Store(Mid(Derefof(Index(paub, 6)), Derefof(Refof(b60e)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 31, Local0, bb35)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), Derefof(Refof(b60e)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 32, Local0, bs1f)
+
+ Store(Mid(m601(3, 6), Derefof(Refof(b60e)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 33, Local0, bb35)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), Derefof(Refof(b60e)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 34, Local0, bs1f)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), Derefof(Refof(b60e)), Derefof(Refof(b60a))), Local0)
+ m600(arg0, 35, Local0, bb35)
+ }
+
+ Mid("This is auxiliary String", Derefof(Refof(b60e)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 36, Local0, bs1f)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, Derefof(Refof(b60e)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 37, Local0, bb35)
+
+ Mid(aus6, Derefof(Refof(b60e)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 38, Local0, bs1f)
+
+ Mid(aub6, Derefof(Refof(b60e)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 39, Local0, bb35)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), Derefof(Refof(b60e)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 40, Local0, bs1f)
+
+ Mid(Derefof(Refof(aub6)), Derefof(Refof(b60e)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 41, Local0, bb35)
+ }
+
+ Mid(Derefof(Index(paus, 6)), Derefof(Refof(b60e)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 42, Local0, bs1f)
+
+ Mid(Derefof(Index(paub, 6)), Derefof(Refof(b60e)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 43, Local0, bb35)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), Derefof(Refof(b60e)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 44, Local0, bs1f)
+
+ Mid(m601(3, 6), Derefof(Refof(b60e)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 45, Local0, bb35)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), Derefof(Refof(b60e)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 46, Local0, bs1f)
+
+ Mid(Derefof(m602(3, 6, 1)), Derefof(Refof(b60e)), Derefof(Refof(b60a)), Local0)
+ m600(arg0, 47, Local0, bb35)
+ }
+ }
+
+ // Buffer to Integer conversion of the Buffer StartIndex
+ // operand of the Match operator
+ Method(m06a, 1)
+ {
+ Store(Match(
+ Package(){
+ 0xa50, 0xa51, 0xa52, 0xa53, 0xa54, 0xa55, 0xa56, 0xa57,
+ 0xa58, 0xa59, 0xa5a, 0xa5b, 0xa5c, 0xa5d, 0xa5e,},
+ MEQ, 0xa5d, MTR, 0, Derefof(Refof(b60e))), Local0)
+ m600(arg0, 0, Local0, 0xd)
+
+ Store(Match(
+ Package(){
+ 0xa50, 0xa51, 0xa52, 0xa53, 0xa54, 0xa55, 0xa56, 0xa57,
+ 0xa58, 0xa59, 0xa5a, 0xa5b, 0xa5c, 0xa5d, 0xa5e,},
+ MEQ, 0xa5a, MTR, 0, Derefof(Refof(b60e))), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(Match(aup0, MEQ, 0xa5d, MTR, 0, Derefof(Refof(b60e))), Local0)
+ m600(arg0, 2, Local0, 0xd)
+
+ Store(Match(aup0, MEQ, 0xa5a, MTR, 0, Derefof(Refof(b60e))), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(Match(Derefof(Refof(aup0)), MEQ, 0xa5d, MTR, 0, Derefof(Refof(b60e))), Local0)
+ m600(arg0, 4, Local0, 0xd)
+
+ Store(Match(Derefof(Refof(aup0)), MEQ, 0xa5a, MTR, 0, Derefof(Refof(b60e))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(Match(Derefof(Index(paup, 0)), MEQ, 0xa5d, MTR, 0, Derefof(Refof(b60e))), Local0)
+ m600(arg0, 6, Local0, 0xd)
+
+ Store(Match(Derefof(Index(paup, 0)), MEQ, 0xa5a, MTR, 0, Derefof(Refof(b60e))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Object
+
+ Store(Match(m601(4, 0), MEQ, 0xa5d, MTR, 0, Derefof(Refof(b60e))), Local0)
+ m600(arg0, 8, Local0, 0xd)
+
+ Store(Match(m601(4, 0), MEQ, 0xa5a, MTR, 0, Derefof(Refof(b60e))), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Match(Derefof(m602(4, 0, 1)), MEQ, 0xa5d, MTR, 0, Derefof(Refof(b60e))), Local0)
+ m600(arg0, 10, Local0, 0xd)
+
+ Store(Match(Derefof(m602(4, 0, 1)), MEQ, 0xa5a, MTR, 0, Derefof(Refof(b60e))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+ }
+
+// Method(m64t, 1)
+
+// Method(m32t, 1)
+
+ // Buffer to Integer conversion of the Buffer sole operand
+ // of the Method execution control operators (Sleep, Stall)
+ Method(m06b, 1)
+ {
+ CH03(arg0, z091, 11, 0, 0)
+
+ // Sleep
+
+ Store(Timer, Local0)
+
+ Sleep(Derefof(Refof(b606)))
+ CH03(arg0, z091, 12, 0, 0)
+
+ Store(Timer, Local1)
+ Subtract(Local1, Local0, Local2)
+ if (LLess(Local2, c08c)) {
+ err(arg0, z091, 0, 0, 0, Local2, c08c)
+ }
+
+ // Stall
+
+ Store(Timer, Local0)
+
+ Stall(Derefof(Refof(b613)))
+ CH03(arg0, z091, 13, 0, 0)
+
+ Store(Timer, Local1)
+ Subtract(Local1, Local0, Local2)
+ if (LLess(Local2, 990)) {
+ err(arg0, z091, 1, 0, 0, Local2, 990)
+ }
+ }
+
+ // Buffer to Integer conversion of the Buffer TimeoutValue
+ // (second) operand of the Acquire operator
+
+ Method(m06c, 1)
+ {
+ Mutex(MTX0, 0)
+
+ Acquire(MTX0, 0)
+ CH03(arg0, z091, 14, 0, 0)
+
+ Store(Timer, Local0)
+
+/* Compiler allows only Integer constant as TimeoutValue (Bug 1)
+ Acquire(MTX0, Derefof(Refof(b606)))
+*/
+ CH03(arg0, z091, 15, 0, 0)
+
+ Store(Timer, Local1)
+ Subtract(Local1, Local0, Local2)
+ if (LLess(Local2, c08c)) {
+ err(arg0, z091, 0, 0, 0, Local2, c08c)
+ }
+ }
+
+ // Buffer to Integer conversion of the Buffer TimeoutValue
+ // (second) operand of the Wait operator
+ Method(m06d, 1)
+ {
+ Event(EVT0)
+
+ CH03(arg0, z091, 16, 0, 0)
+
+ Store(Timer, Local0)
+
+ Wait(EVT0, Derefof(Refof(b606)))
+ CH03(arg0, z091, 17, 0, 0)
+
+ Store(Timer, Local1)
+ Subtract(Local1, Local0, Local2)
+ if (LLess(Local2, c08c)) {
+ err(arg0, z091, 0, 0, 0, Local2, c08c)
+ }
+ }
+
+ // Buffer to Integer conversion of the Buffer value
+ // of Predicate of the Method execution control statements
+ // (If, ElseIf, While)
+ Method(m06e, 1)
+ {
+ Name(ist0, 0)
+
+ Method(m001)
+ {
+ if (Derefof(Refof(b600))) {
+ Store(0, ist0)
+ }
+ }
+
+ Method(m002)
+ {
+ if (Derefof(Refof(b606))) {
+ Store(2, ist0)
+ }
+ }
+
+ Method(m003)
+ {
+ if (Derefof(Refof(b60a))) {
+ Store(3, ist0)
+ }
+ }
+
+ Method(m004)
+ {
+ if (Derefof(Refof(b60a))) {
+ Store(4, ist0)
+ }
+ }
+
+ Method(m005, 1)
+ {
+ if (arg0) {
+ Store(0xff, ist0)
+ } elseif (Derefof(Refof(b600))) {
+ Store(0, ist0)
+ }
+ }
+
+ Method(m006, 1)
+ {
+ if (arg0) {
+ Store(0xff, ist0)
+ } elseif (Derefof(Refof(b606))) {
+ Store(6, ist0)
+ }
+ }
+
+ Method(m007, 1)
+ {
+ if (arg0) {
+ Store(0xff, ist0)
+ } elseif (Derefof(Refof(b60a))) {
+ Store(7, ist0)
+ }
+ }
+
+ Method(m008, 1)
+ {
+ if (arg0) {
+ Store(0xff, ist0)
+ } elseif (Derefof(Refof(b60a))) {
+ Store(8, ist0)
+ }
+ }
+
+ Method(m009)
+ {
+ while (Derefof(Refof(b600))) {
+ Store(0, ist0)
+ }
+ }
+
+ // If
+
+ Store(1, ist0)
+ m001()
+ m600(arg0, 0, ist0, 1)
+
+ m002()
+ m600(arg0, 1, ist0, 2)
+
+ m003()
+ m600(arg0, 2, ist0, 3)
+
+ m004()
+ m600(arg0, 3, ist0, 4)
+
+ // ElseIf
+
+ Store(5, ist0)
+ m005(0)
+ m600(arg0, 4, ist0, 5)
+
+ m006(0)
+ m600(arg0, 5, ist0, 6)
+
+ m007(0)
+ m600(arg0, 6, ist0, 7)
+
+ m008(0)
+ m600(arg0, 7, ist0, 8)
+
+ // While
+
+ Store(9, ist0)
+ m009()
+ m600(arg0, 8, ist0, 9)
+ }
+
+// Method(m64u, 1)
+
+// Method(m32u, 1)
+
+ // Buffer to String implicit conversion Cases.
+
+ // Buffer to String conversion of the Buffer second operand of
+ // Logical operators when the first operand is evaluated as String.
+ // LEqual LGreater LGreaterEqual LLess LLessEqual LNotEqual
+ Method(m06f, 1)
+ {
+ // LEqual
+
+ Store(LEqual("21 03 00", Derefof(Refof(b606))), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual("21 03 01", Derefof(Refof(b606))), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(aus9, Derefof(Refof(b606))), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(LEqual(ausa, Derefof(Refof(b606))), Local0)
+ m600(arg0, 3, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aus9)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(ausa)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 5, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paus, 9)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paus, 10)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ // Method returns String
+
+ Store(LEqual(m601(2, 9), Derefof(Refof(b606))), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(LEqual(m601(2, 10), Derefof(Refof(b606))), Local0)
+ m600(arg0, 9, Local0, Zero)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(2, 9, 1)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(2, 10, 1)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 11, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater("21 03 00", Derefof(Refof(b606))), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LGreater("21 03 01", Derefof(Refof(b606))), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LGreater("21 03 0 ", Derefof(Refof(b606))), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LGreater("21 03 00q", Derefof(Refof(b606))), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LGreater(aus9, Derefof(Refof(b606))), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LGreater(ausa, Derefof(Refof(b606))), Local0)
+ m600(arg0, 17, Local0, Ones)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aus9)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(ausa)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 19, Local0, Ones)
+ }
+
+ Store(LGreater(Derefof(Index(paus, 9)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paus, 10)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns String
+
+ Store(LGreater(m601(2, 9), Derefof(Refof(b606))), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LGreater(m601(2, 10), Derefof(Refof(b606))), Local0)
+ m600(arg0, 23, Local0, Ones)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(2, 9, 1)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(2, 10, 1)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual("21 03 00", Derefof(Refof(b606))), Local0)
+ m600(arg0, 26, Local0, Ones)
+
+ Store(LGreaterEqual("21 03 01", Derefof(Refof(b606))), Local0)
+ m600(arg0, 27, Local0, Ones)
+
+ Store(LGreaterEqual("21 03 0 ", Derefof(Refof(b606))), Local0)
+ m600(arg0, 28, Local0, Zero)
+
+ Store(LGreaterEqual("21 03 00q", Derefof(Refof(b606))), Local0)
+ m600(arg0, 29, Local0, Ones)
+
+ Store(LGreaterEqual(aus9, Derefof(Refof(b606))), Local0)
+ m600(arg0, 30, Local0, Ones)
+
+ Store(LGreaterEqual(ausa, Derefof(Refof(b606))), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aus9)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 32, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(ausa)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 33, Local0, Ones)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paus, 9)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paus, 10)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 35, Local0, Ones)
+
+ // Method returns String
+
+ Store(LGreaterEqual(m601(2, 9),
+ Derefof(Refof(b606))), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(m601(2, 10), Derefof(Refof(b606))), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(2, 9, 1)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 38, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(2, 10, 1)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 39, Local0, Ones)
+ }
+
+ // LLess
+
+ Store(LLess("21 03 00", Derefof(Refof(b606))), Local0)
+ m600(arg0, 40, Local0, Zero)
+
+ Store(LLess("21 03 01", Derefof(Refof(b606))), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ Store(LLess("21 03 0 ", Derefof(Refof(b606))), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LLess("21 03 00q", Derefof(Refof(b606))), Local0)
+ m600(arg0, 43, Local0, Zero)
+
+ Store(LLess(aus9, Derefof(Refof(b606))), Local0)
+ m600(arg0, 44, Local0, Zero)
+
+ Store(LLess(ausa, Derefof(Refof(b606))), Local0)
+ m600(arg0, 45, Local0, Zero)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aus9)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 46, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(ausa)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 47, Local0, Zero)
+ }
+
+ Store(LLess(Derefof(Index(paus, 9)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 48, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paus, 10)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 49, Local0, Zero)
+
+ // Method returns String
+
+ Store(LLess(m601(2, 9), Derefof(Refof(b606))), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ Store(LLess(m601(2, 10), Derefof(Refof(b606))), Local0)
+ m600(arg0, 51, Local0, Zero)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LLess(Derefof(m602(2, 9, 1)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 52, Local0, Zero)
+
+ Store(LLess(Derefof(m602(2, 10, 1)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual("21 03 00", Derefof(Refof(b606))), Local0)
+ m600(arg0, 54, Local0, Ones)
+
+ Store(LLessEqual("21 03 01", Derefof(Refof(b606))), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLessEqual("21 03 0 ", Derefof(Refof(b606))), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLessEqual("21 03 00q", Derefof(Refof(b606))), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLessEqual(aus9, Derefof(Refof(b606))), Local0)
+ m600(arg0, 58, Local0, Ones)
+
+ Store(LLessEqual(ausa, Derefof(Refof(b606))), Local0)
+ m600(arg0, 59, Local0, Zero)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aus9)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 60, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(ausa)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 61, Local0, Zero)
+ }
+
+ Store(LLessEqual(Derefof(Index(paus, 9)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 62, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paus, 10)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ // Method returns String
+
+ Store(LLessEqual(m601(2, 9), Derefof(Refof(b606))), Local0)
+ m600(arg0, 64, Local0, Ones)
+
+ Store(LLessEqual(m601(2, 10), Derefof(Refof(b606))), Local0)
+ m600(arg0, 65, Local0, Zero)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(2, 9, 1)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 66, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(2, 10, 1)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 67, Local0, Zero)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual("21 03 00", Derefof(Refof(b606))), Local0)
+ m600(arg0, 68, Local0, Zero)
+
+ Store(LNotEqual("21 03 01", Derefof(Refof(b606))), Local0)
+ m600(arg0, 69, Local0, Ones)
+
+ Store(LNotEqual("21 03 0 ", Derefof(Refof(b606))), Local0)
+ m600(arg0, 70, Local0, Ones)
+
+ Store(LNotEqual("21 03 00q", Derefof(Refof(b606))), Local0)
+ m600(arg0, 71, Local0, Ones)
+
+ Store(LNotEqual(aus9, Derefof(Refof(b606))), Local0)
+ m600(arg0, 72, Local0, Zero)
+
+ Store(LNotEqual(ausa, Derefof(Refof(b606))), Local0)
+ m600(arg0, 73, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aus9)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 74, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(ausa)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 75, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paus, 9)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paus, 10)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ // Method returns String
+
+ Store(LNotEqual(m601(2, 9), Derefof(Refof(b606))), Local0)
+ m600(arg0, 78, Local0, Zero)
+
+ Store(LNotEqual(m601(2, 10), Derefof(Refof(b606))), Local0)
+ m600(arg0, 79, Local0, Ones)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(2, 9, 1)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 80, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(2, 10, 1)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 81, Local0, Ones)
+ }
+
+ // Boundary Cases
+
+ Store(LEqual("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63",
+ Derefof(Refof(b60c))),
+ Local0)
+ m600(arg0, 82, Local0, Ones)
+
+ Store(LEqual("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 64",
+ Derefof(Refof(b60c))),
+ Local0)
+ m600(arg0, 83, Local0, Zero)
+
+ Store(LGreater("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63",
+ Derefof(Refof(b60c))),
+ Local0)
+ m600(arg0, 84, Local0, Zero)
+
+ Store(LGreater("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 64",
+ Derefof(Refof(b60c))),
+ Local0)
+ m600(arg0, 85, Local0, Ones)
+
+ Store(LGreaterEqual("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63",
+ Derefof(Refof(b60c))),
+ Local0)
+ m600(arg0, 86, Local0, Ones)
+
+ Store(LGreaterEqual("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 64",
+ Derefof(Refof(b60c))),
+ Local0)
+ m600(arg0, 87, Local0, Ones)
+
+ Store(LLess("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63",
+ Derefof(Refof(b60c))),
+ Local0)
+ m600(arg0, 88, Local0, Zero)
+
+ Store(LLess("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 64",
+ Derefof(Refof(b60c))),
+ Local0)
+ m600(arg0, 89, Local0, Zero)
+
+ Store(LLessEqual("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63",
+ Derefof(Refof(b60c))),
+ Local0)
+ m600(arg0, 90, Local0, Ones)
+
+ Store(LLessEqual("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 64",
+ Derefof(Refof(b60c))),
+ Local0)
+ m600(arg0, 91, Local0, Zero)
+
+
+ Store(LNotEqual("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63",
+ Derefof(Refof(b60c))),
+ Local0)
+ m600(arg0, 92, Local0, Zero)
+
+ Store(LNotEqual("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 64",
+ Derefof(Refof(b60c))),
+ Local0)
+ m600(arg0, 93, Local0, Ones)
+ }
+
+ // Buffer to String conversion of the Buffer second operand of
+ // Concatenate operator when the first operand is evaluated as String
+ Method(m070, 1)
+ {
+ Store(Concatenate("", Derefof(Refof(b606))), Local0)
+ m600(arg0, 0, Local0, bs25)
+
+ Store(Concatenate("1234q", Derefof(Refof(b606))), Local0)
+ m600(arg0, 1, Local0, bs26)
+
+ Store(Concatenate(aus0, Derefof(Refof(b606))), Local0)
+ m600(arg0, 2, Local0, bs25)
+
+ Store(Concatenate(aus1, Derefof(Refof(b606))), Local0)
+ m600(arg0, 3, Local0, bs26)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aus0)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 4, Local0, bs25)
+
+ Store(Concatenate(Derefof(Refof(aus1)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 5, Local0, bs26)
+ }
+
+ Store(Concatenate(Derefof(Index(paus, 0)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 6, Local0, bs25)
+
+ Store(Concatenate(Derefof(Index(paus, 1)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 7, Local0, bs26)
+
+ // Method returns String
+
+ Store(Concatenate(m601(2, 0), Derefof(Refof(b606))), Local0)
+ m600(arg0, 8, Local0, bs25)
+
+ Store(Concatenate(m601(2, 1), Derefof(Refof(b606))), Local0)
+ m600(arg0, 9, Local0, bs26)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(2, 0, 1)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 10, Local0, bs25)
+
+ Store(Concatenate(Derefof(m602(2, 1, 1)), Derefof(Refof(b606))), Local0)
+ m600(arg0, 11, Local0, bs26)
+ }
+
+ Concatenate("", Derefof(Refof(b606)), Local0)
+ m600(arg0, 12, Local0, bs25)
+
+ Concatenate("1234q", Derefof(Refof(b606)), Local0)
+ m600(arg0, 13, Local0, bs26)
+
+ Concatenate(aus0, Derefof(Refof(b606)), Local0)
+ m600(arg0, 14, Local0, bs25)
+
+ Concatenate(aus1, Derefof(Refof(b606)), Local0)
+ m600(arg0, 15, Local0, bs26)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aus0)), Derefof(Refof(b606)), Local0)
+ m600(arg0, 16, Local0, bs25)
+
+ Concatenate(Derefof(Refof(aus1)), Derefof(Refof(b606)), Local0)
+ m600(arg0, 17, Local0, bs26)
+ }
+
+ Concatenate(Derefof(Index(paus, 0)), Derefof(Refof(b606)), Local0)
+ m600(arg0, 18, Local0, bs25)
+
+ Concatenate(Derefof(Index(paus, 1)), Derefof(Refof(b606)), Local0)
+ m600(arg0, 19, Local0, bs26)
+
+ // Method returns String
+
+ Concatenate(m601(2, 0), Derefof(Refof(b606)), Local0)
+ m600(arg0, 20, Local0, bs25)
+
+ Concatenate(m601(2, 1), Derefof(Refof(b606)), Local0)
+ m600(arg0, 21, Local0, bs26)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Concatenate(Derefof(m602(2, 0, 1)), Derefof(Refof(b606)), Local0)
+ m600(arg0, 22, Local0, bs25)
+
+ Concatenate(Derefof(m602(2, 1, 1)), Derefof(Refof(b606)), Local0)
+ m600(arg0, 23, Local0, bs26)
+ }
+
+ // Boundary Cases
+
+ Store(Concatenate("",
+ Derefof(Refof(b60c))),
+ Local0)
+ m600(arg0, 24, Local0, bs27)
+ }
+
+// Method(m071, 1)
+
+// Method(m072, 1)
+
+ /*
+ * Begin of the test body
+ */
+
+ // Integer to String implicit conversion Cases.
+
+ // Integer to String conversion of the Integer second operand of
+ // Logical operators when the first operand is evaluated as String.
+ // LEqual LGreater LGreaterEqual LLess LLessEqual LNotEqual
+ if (F64) {
+ Concatenate(ts, "-m640", Local0)
+ SRMT(Local0)
+ m640(Local0)
+ } else {
+ Concatenate(ts, "-m320", Local0)
+ SRMT(Local0)
+ m320(Local0)
+ }
+
+ // Integer to String conversion of the Integer second operand of
+ // Concatenate operator when the first operand is evaluated as String
+ if (F64) {
+ Concatenate(ts, "-m641", Local0)
+ SRMT(Local0)
+ m641(Local0)
+ } else {
+ Concatenate(ts, "-m321", Local0)
+ SRMT(Local0)
+ m321(Local0)
+ }
+
+
+ // Integer to Buffer implicit conversion Cases.
+
+ // Integer to Buffer conversion of the Integer second operand of
+ // Logical operators when the first operand is evaluated as Buffer
+ // (LEqual, LGreater, LGreaterEqual, LLess, LLessEqual, LNotEqual)
+ if (F64) {
+ Concatenate(ts, "-m644", Local0)
+ SRMT(Local0)
+ m644(Local0)
+ } else {
+ Concatenate(ts, "-m324", Local0)
+ SRMT(Local0)
+ m324(Local0)
+ }
+
+ // Integer to Buffer conversion of the both Integer operands of
+ // Concatenate operator
+ if (F64) {
+ Concatenate(ts, "-m645", Local0)
+ SRMT(Local0)
+ m645(Local0)
+ } else {
+ Concatenate(ts, "-m325", Local0)
+ SRMT(Local0)
+ m325(Local0)
+ }
+
+ // Integer to Buffer conversion of the Integer second operand of
+ // Concatenate operator when the first operand is evaluated as Buffer
+ if (F64) {
+ Concatenate(ts, "-m646", Local0)
+ SRMT(Local0)
+ m646(Local0)
+ } else {
+ Concatenate(ts, "-m326", Local0)
+ SRMT(Local0)
+ m326(Local0)
+ }
+
+ // Integer to Buffer conversion of the Integer Source operand of
+ // ToString operator
+ if (F64) {
+ Concatenate(ts, "-m647", Local0)
+ SRMT(Local0)
+ m647(Local0)
+ } else {
+ Concatenate(ts, "-m327", Local0)
+ SRMT(Local0)
+ m327(Local0)
+ }
+
+ // Integer to Buffer conversion of the Integer Source operand of
+ // Mid operator
+ if (F64) {
+ Concatenate(ts, "-m648", Local0)
+ SRMT(Local0)
+ m648(Local0)
+ } else {
+ Concatenate(ts, "-m328", Local0)
+ SRMT(Local0)
+ m328(Local0)
+ }
+
+
+ // String to Integer implicit conversion Cases.
+
+ // String to Integer conversion of the String sole operand
+ // of the 1-parameter Integer arithmetic operators
+ // (Decrement, Increment, FindSetLeftBit, FindSetRightBit, Not)
+ if (F64) {
+ Concatenate(ts, "-m64b", Local0)
+ SRMT(Local0)
+ m64b(Local0)
+ } else {
+ Concatenate(ts, "-m32b", Local0)
+ SRMT(Local0)
+ m32b(Local0)
+ }
+
+ // String to Integer conversion of the String sole operand
+ // of the LNot Logical Integer operator
+ Concatenate(ts, "-m000", Local0)
+ SRMT(Local0)
+ m000(Local0)
+
+ // String to Integer conversion of the String sole operand
+ // of the FromBCD and ToBCD conversion operators
+ if (F64) {
+ Concatenate(ts, "-m64c", Local0)
+ SRMT(Local0)
+ m64c(Local0)
+ } else {
+ Concatenate(ts, "-m32c", Local0)
+ SRMT(Local0)
+ m32c(Local0)
+ }
+
+ // String to Integer conversion of each String operand
+ // of the 2-parameter Integer arithmetic operators
+ // Add, And, Divide, Mod, Multiply, NAnd, NOr, Or,
+ // ShiftLeft, ShiftRight, Subtract, Xor
+ if (F64) {
+ m64d(Concatenate(ts, "-m64d"))
+ } else {
+ m32d(Concatenate(ts, "-m32d"))
+ }
+
+ // String to Integer conversion of each String operand
+ // of the 2-parameter Logical Integer operators LAnd and LOr
+ if (F64) {
+ m64e(Concatenate(ts, "-m64e"))
+ } else {
+ m32e(Concatenate(ts, "-m32e"))
+ }
+
+ // String to Integer conversion of the String second operand of
+ // Logical operators when the first operand is evaluated as Integer
+ // (LEqual, LGreater, LGreaterEqual, LLess, LLessEqual, LNotEqual)
+
+ Concatenate(ts, "-m02b", Local0)
+ SRMT(Local0)
+ m02b(Local0)
+
+ if (F64) {
+ Concatenate(ts, "-m64f", Local0)
+ SRMT(Local0)
+ m64f(Local0)
+ } else {
+ Concatenate(ts, "-m32f", Local0)
+ SRMT(Local0)
+ m32f(Local0)
+ }
+
+ // String to Integer intermediate conversion of the String second
+ // operand of Concatenate operator in case the first one is Integer
+ if (F64) {
+ Concatenate(ts, "-m64g", Local0)
+ SRMT(Local0)
+ m64g(Local0)
+ } else {
+ Concatenate(ts, "-m32g", Local0)
+ SRMT(Local0)
+ m32g(Local0)
+ }
+
+ // String to Integer conversion of the String Length (second)
+ // operand of the ToString operator
+
+ Concatenate(ts, "-m02c", Local0)
+ SRMT(Local0)
+ m02c(Local0)
+
+ if (F64) {
+ Concatenate(ts, "-m64h", Local0)
+ SRMT(Local0)
+ m64h(Local0)
+ } else {
+ Concatenate(ts, "-m32h", Local0)
+ SRMT(Local0)
+ m32h(Local0)
+ }
+
+ // String to Integer conversion of the String Index (second)
+ // operand of the Index operator
+ Concatenate(ts, "-m02d", Local0)
+ SRMT(Local0)
+ m02d(Local0)
+
+ // String to Integer conversion of the String Arg (third)
+ // operand of the Fatal operator
+ // (it can only be checked an exception does not occur)
+ Concatenate(ts, "-m02e", Local0)
+ SRMT(Local0)
+ m02e(Local0)
+
+ // String to Integer conversion of the String Index and Length
+ // operands of the Mid operator
+
+ Concatenate(ts, "-m02f", Local0)
+ SRMT(Local0)
+ m02f(Local0)
+
+ if (F64) {
+ Concatenate(ts, "-m64i", Local0)
+ SRMT(Local0)
+ m64i(Local0)
+ } else {
+ Concatenate(ts, "-m32i", Local0)
+ SRMT(Local0)
+ m32i(Local0)
+ }
+
+ // String to Integer conversion of the String StartIndex
+ // operand of the Match operator
+ Concatenate(ts, "-m030", Local0)
+ SRMT(Local0)
+ m030(Local0)
+
+ // String to Integer conversion of the String sole operand
+ // of the Method execution control operators (Sleep, Stall)
+ Concatenate(ts, "-m031", Local0)
+ SRMT(Local0)
+ m031(Local0)
+
+ // String to Integer conversion of the String TimeoutValue
+ // (second) operand of the Acquire operator
+/* Compiler allows only Integer constant as TimeoutValue (Bug 1)
+ Concatenate(ts, "-m032", Local0)
+ SRMT(Local0)
+ m032(Local0)
+*/
+
+ // String to Integer conversion of the String TimeoutValue
+ // (second) operand of the Wait operator
+ Concatenate(ts, "-m033", Local0)
+ SRMT(Local0)
+ m033(Local0)
+
+ // String to Integer conversion of the String value
+ // of Predicate of the Method execution control statements
+ // (If, ElseIf, While)
+ Concatenate(ts, "-m034", Local0)
+ SRMT(Local0)
+ if (y111) {
+ m034(Local0)
+ } else {
+ BLCK()
+ }
+
+ // String to Integer conversion of the String value
+ // of Expression of Case statement when Expression in
+ // Switch is evaluated as Integer
+ //
+ // Note: Expression of Case can be only static data
+
+ // String to Buffer implicit conversion Cases.
+
+ // String to Buffer conversion of the String second operand of
+ // Logical operators when the first operand is evaluated as Buffer
+ // (LEqual, LGreater, LGreaterEqual, LLess, LLessEqual, LNotEqual)
+ Concatenate(ts, "-m035", Local0)
+ SRMT(Local0)
+ m035(Local0)
+
+ // String to Buffer conversion of the String second operand of
+ // Concatenate operator when the first operand is evaluated as Buffer
+ Concatenate(ts, "-m036", Local0)
+ SRMT(Local0)
+ m036(Local0)
+
+ // String to Buffer conversion of the String Source operand of
+ // ToString operator (has a visual effect in shortening of the
+ // String taken the null character)
+ Concatenate(ts, "-m037", Local0)
+ SRMT(Local0)
+ m037(Local0)
+
+
+ // Buffer to Integer implicit conversion Cases.
+
+ // Buffer to Integer conversion of the Buffer sole operand
+ // of the 1-parameter Integer arithmetic operators
+ // (Decrement, Increment, FindSetLeftBit, FindSetRightBit, Not)
+ if (F64) {
+ Concatenate(ts, "-m64l", Local0)
+ SRMT(Local0)
+ m64l(Local0)
+ } else {
+ Concatenate(ts, "-m32l", Local0)
+ SRMT(Local0)
+ m32l(Local0)
+ }
+
+ // Buffer to Integer conversion of the Buffer sole operand
+ // of the LNot Logical Integer operator
+ Concatenate(ts, "-m03a", Local0)
+ SRMT(Local0)
+ m03a(Local0)
+
+ // Buffer to Integer conversion of the Buffer sole operand
+ // of the FromBCD and ToBCD conversion operators
+ if (F64) {
+ Concatenate(ts, "-m64m", Local0)
+ SRMT(Local0)
+ m64m(Local0)
+ } else {
+ Concatenate(ts, "-m32m", Local0)
+ SRMT(Local0)
+ m32m(Local0)
+ }
+
+ // Buffer to Integer conversion of each Buffer operand
+ // of the 2-parameter Integer arithmetic operators
+ // Add, And, Divide, Mod, Multiply, NAnd, NOr, Or,
+ // ShiftLeft, ShiftRight, Subtract, Xor
+ if (F64) {
+ m64n(Concatenate(ts, "-m64n"))
+ } else {
+ m32n(Concatenate(ts, "-m32n"))
+ }
+
+ // Buffer to Integer conversion of each Buffer operand
+ // of the 2-parameter Logical Integer operators LAnd and LOr
+ if (F64) {
+ m64o(Concatenate(ts, "-m64o"))
+ } else {
+ m32o(Concatenate(ts, "-m32o"))
+ }
+
+ // Buffer to Integer conversion of the Buffer second operand of
+ // Logical operators when the first operand is evaluated as Integer
+ // (LEqual, LGreater, LGreaterEqual, LLess, LLessEqual, LNotEqual)
+
+ Concatenate(ts, "-m065", Local0)
+ SRMT(Local0)
+ m065(Local0)
+
+ if (F64) {
+ Concatenate(ts, "-m64p", Local0)
+ SRMT(Local0)
+ m64p(Local0)
+ } else {
+ Concatenate(ts, "-m32p", Local0)
+ SRMT(Local0)
+ m32p(Local0)
+ }
+
+ // Buffer to Integer intermediate conversion of the Buffer second
+ // operand of Concatenate operator in case the first one is Integer
+ if (F64) {
+ Concatenate(ts, "-m64q", Local0)
+ SRMT(Local0)
+ m64q(Local0)
+ } else {
+ Concatenate(ts, "-m32q", Local0)
+ SRMT(Local0)
+ m32q(Local0)
+ }
+
+ // Buffer to Integer conversion of the Buffer Length (second)
+ // operand of the ToString operator
+
+ Concatenate(ts, "-m066", Local0)
+ SRMT(Local0)
+ m066(Local0)
+
+ if (F64) {
+ Concatenate(ts, "-m64r", Local0)
+ SRMT(Local0)
+ m64r(Local0)
+ } else {
+ Concatenate(ts, "-m32r", Local0)
+ SRMT(Local0)
+ m32r(Local0)
+ }
+
+ // Buffer to Integer conversion of the Buffer Index (second)
+ // operand of the Index operator
+ Concatenate(ts, "-m067", Local0)
+ SRMT(Local0)
+ m067(Local0)
+
+ // Buffer to Integer conversion of the String Arg (third)
+ // operand of the Fatal operator
+ // (it can only be checked an exception does not occur)
+ Concatenate(ts, "-m068", Local0)
+ SRMT(Local0)
+ m068(Local0)
+
+ // Buffer to Integer conversion of the Buffer Index and Length
+ // operands of the Mid operator
+
+ Concatenate(ts, "-m069", Local0)
+ SRMT(Local0)
+ m069(Local0)
+
+ if (F64) {
+ Concatenate(ts, "-m64s", Local0)
+ SRMT(Local0)
+ m64s(Local0)
+ } else {
+ Concatenate(ts, "-m32s", Local0)
+ SRMT(Local0)
+ m32s(Local0)
+ }
+
+ // Buffer to Integer conversion of the Buffer StartIndex
+ // operand of the Match operator
+ Concatenate(ts, "-m06a", Local0)
+ SRMT(Local0)
+ m06a(Local0)
+
+ // Buffer to Integer conversion of the Buffer sole operand
+ // of the Method execution control operators (Sleep, Stall)
+ Concatenate(ts, "-m06b", Local0)
+ SRMT(Local0)
+ m06b(Local0)
+
+ // Buffer to Integer conversion of the Buffer TimeoutValue
+ // (second) operand of the Acquire operator
+/* Compiler allows only Integer constant as TimeoutValue (Bug 1)
+ Concatenate(ts, "-m06c", Local0)
+ SRMT(Local0)
+ m06c(Local0)
+*/
+
+ // Buffer to Integer conversion of the Buffer TimeoutValue
+ // (second) operand of the Wait operator
+ Concatenate(ts, "-m06d", Local0)
+ SRMT(Local0)
+ m06d(Local0)
+
+ // Buffer to Integer conversion of the Buffer value
+ // of Predicate of the Method execution control statements
+ // (If, ElseIf, While)
+ Concatenate(ts, "-m06e", Local0)
+ SRMT(Local0)
+ if (y111) {
+ m06e(Local0)
+ } else {
+ BLCK()
+ }
+
+ // Buffer to Integer conversion of the Buffer value
+ // of Expression of Case statement when Expression in
+ // Switch is evaluated as Integer
+ //
+ // Note: Expression of Case can be only static data
+
+ // Buffer to String implicit conversion Cases.
+
+ // Buffer to String conversion of the Buffer second operand of
+ // Logical operators when the first operand is evaluated as String.
+ // LEqual LGreater LGreaterEqual LLess LLessEqual LNotEqual
+ Concatenate(ts, "-m06f", Local0)
+ SRMT(Local0)
+ m06f(Local0)
+
+ // Buffer to String conversion of the Buffer second operand of
+ // Concatenate operator when the first operand is evaluated as String
+ Concatenate(ts, "-m070", Local0)
+ SRMT(Local0)
+ m070(Local0)
+
+ // Check consistency of the test Named Objects
+ // in the root Scope of the Global ACPI namespace
+ Concatenate(ts, "-m606", Local0)
+ SRMT(Local0)
+ m606(Local0)
+}
+
+// Run-method
+Method(OPR4)
+{
+ Store("TEST: OPR4, Source Operand", Debug)
+
+ m616()
+ m61b()
+}
diff --git a/tests/aslts/src/runtime/collections/complex/operand/tests/oreftonamed/oreftonamed2.asl b/tests/aslts/src/runtime/collections/complex/operand/tests/oreftonamed/oreftonamed2.asl
new file mode 100644
index 000000000..8c1d18676
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/operand/tests/oreftonamed/oreftonamed2.asl
@@ -0,0 +1,12418 @@
+/*
+ * 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.
+ */
+
+/*
+ * Check implicit conversion being applied to Buffer Field Objects'
+ * values obtained by dereference of the references to these Objects.
+ */
+
+Name(z120, 120)
+
+Method(m61b)
+{
+ Name(ts, "m61b")
+
+ // Buffer Field to Buffer implicit conversion Cases.
+
+ // Buffer Field to Buffer conversion of the Buffer Field second operand
+ // of Logical operators when the first operand is evaluated as Buffer
+ // (LEqual, LGreater, LGreaterEqual, LLess, LLessEqual, LNotEqual)
+
+ Method(m644, 1)
+ {
+ // LEqual
+
+ Store(LEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFF}, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(aub4, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(LEqual(aub3, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 3, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aub4)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(aub3)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 5, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paub, 4)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paub, 3)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ // Method returns Buffer
+
+ Store(LEqual(m601(3, 4), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(LEqual(m601(3, 3), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 9, Local0, Zero)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(3, 4, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(3, 3, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 11, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LGreater(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFF}, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LGreater(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFD}, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LGreater(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0x01}, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LGreater(aub4, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LGreater(aub5, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 17, Local0, Ones)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aub4)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(aub5)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 19, Local0, Ones)
+ }
+
+ Store(LGreater(Derefof(Index(paub, 4)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paub, 5)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Buffer
+
+ Store(LGreater(m601(3, 4), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LGreater(m601(3, 5), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 23, Local0, Ones)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(3, 4, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(3, 5, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 26, Local0, Ones)
+
+ Store(LGreaterEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFF}, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 27, Local0, Ones)
+
+ Store(LGreaterEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFD}, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 28, Local0, Zero)
+
+ Store(LGreaterEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0x01}, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 29, Local0, Ones)
+
+ Store(LGreaterEqual(aub4, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 30, Local0, Ones)
+
+ Store(LGreaterEqual(aub5, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aub4)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 32, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(aub5)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 33, Local0, Ones)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paub, 4)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paub, 5)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 35, Local0, Ones)
+
+ // Method returns Buffer
+
+ Store(LGreaterEqual(m601(3, 4), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(m601(3, 5), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(3, 4, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 38, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(3, 5, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 39, Local0, Ones)
+ }
+
+ // LLess
+
+ Store(LLess(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 40, Local0, Zero)
+
+ Store(LLess(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFF}, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ Store(LLess(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFD}, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LLess(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0x01}, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 43, Local0, Zero)
+
+ Store(LLess(aub4, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 44, Local0, Zero)
+
+ Store(LLess(aub5, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 45, Local0, Zero)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aub4)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 46, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(aub5)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 47, Local0, Zero)
+ }
+
+ Store(LLess(Derefof(Index(paub, 4)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 48, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paub, 5)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 49, Local0, Zero)
+
+ // Method returns Buffer
+
+ Store(LLess(m601(3, 4), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ Store(LLess(m601(3, 5), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 51, Local0, Zero)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LLess(Derefof(m602(3, 4, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 52, Local0, Zero)
+
+ Store(LLess(Derefof(m602(3, 5, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 54, Local0, Ones)
+
+ Store(LLessEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFF}, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLessEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFD}, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLessEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0x01}, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLessEqual(aub4, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 58, Local0, Ones)
+
+ Store(LLessEqual(aub5, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 59, Local0, Zero)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aub4)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 60, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(aub5)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 61, Local0, Zero)
+ }
+
+ Store(LLessEqual(Derefof(Index(paub, 4)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 62, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paub, 5)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ // Method returns Buffer
+
+ Store(LLessEqual(m601(3, 4), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 64, Local0, Ones)
+
+ Store(LLessEqual(m601(3, 5), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 65, Local0, Zero)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(3, 4, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 66, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(3, 5, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 67, Local0, Zero)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 68, Local0, Zero)
+
+ Store(LNotEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFF}, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 69, Local0, Ones)
+
+ Store(LNotEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFD}, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 70, Local0, Ones)
+
+ Store(LNotEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0x01}, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 71, Local0, Ones)
+
+ Store(LNotEqual(aub4, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 72, Local0, Zero)
+
+ Store(LNotEqual(aub5, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 73, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aub4)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 74, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(aub5)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 75, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paub, 4)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paub, 5)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ // Method returns Buffer
+
+ Store(LNotEqual(m601(3, 4), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 78, Local0, Zero)
+
+ Store(LNotEqual(m601(3, 5), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 79, Local0, Ones)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(3, 4, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 80, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(3, 5, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 81, Local0, Ones)
+ }
+ }
+
+ Method(m324, 1)
+ {
+ // LEqual
+
+ Store(LEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC1}, Derefof(Refof(bf62))), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC0}, Derefof(Refof(bf62))), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(aub3, Derefof(Refof(bf62))), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(LEqual(aub2, Derefof(Refof(bf62))), Local0)
+ m600(arg0, 3, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aub3)), Derefof(Refof(bf62))), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(aub2)), Derefof(Refof(bf62))), Local0)
+ m600(arg0, 5, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paub, 3)), Derefof(Refof(bf62))), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paub, 2)), Derefof(Refof(bf62))), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ // Method returns Buffer
+
+ Store(LEqual(m601(3, 3), Derefof(Refof(bf62))), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(LEqual(m601(3, 2), Derefof(Refof(bf62))), Local0)
+ m600(arg0, 9, Local0, Zero)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(3, 3, 1)), Derefof(Refof(bf62))), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(3, 2, 1)), Derefof(Refof(bf62))), Local0)
+ m600(arg0, 11, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater(Buffer() {0xFE, 0xB3, 0x79, 0xC1}, Derefof(Refof(bf62))), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LGreater(Buffer() {0xFE, 0xB3, 0x79, 0xC2}, Derefof(Refof(bf62))), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LGreater(Buffer() {0xFE, 0xB3, 0x79, 0xC0}, Derefof(Refof(bf62))), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LGreater(Buffer() {0xFE, 0xB3, 0x79, 0xC1, 0x01}, Derefof(Refof(bf62))), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LGreater(aub3, Derefof(Refof(bf62))), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LGreater(aub2, Derefof(Refof(bf62))), Local0)
+ m600(arg0, 17, Local0, Ones)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aub3)), Derefof(Refof(bf62))), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(aub2)), Derefof(Refof(bf62))), Local0)
+ m600(arg0, 19, Local0, Ones)
+ }
+
+ Store(LGreater(Derefof(Index(paub, 3)), Derefof(Refof(bf62))), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paub, 2)), Derefof(Refof(bf62))), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Buffer
+
+ Store(LGreater(m601(3, 3), Derefof(Refof(bf62))), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LGreater(m601(3, 2), Derefof(Refof(bf62))), Local0)
+ m600(arg0, 23, Local0, Ones)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(3, 3, 1)), Derefof(Refof(bf62))), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(3, 2, 1)), Derefof(Refof(bf62))), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC1}, Derefof(Refof(bf62))), Local0)
+ m600(arg0, 26, Local0, Ones)
+
+ Store(LGreaterEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC2}, Derefof(Refof(bf62))), Local0)
+ m600(arg0, 27, Local0, Ones)
+
+ Store(LGreaterEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC0}, Derefof(Refof(bf62))), Local0)
+ m600(arg0, 28, Local0, Zero)
+
+ Store(LGreaterEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC1, 0x01}, Derefof(Refof(bf62))), Local0)
+ m600(arg0, 29, Local0, Ones)
+
+ Store(LGreaterEqual(aub3, Derefof(Refof(bf62))), Local0)
+ m600(arg0, 30, Local0, Ones)
+
+ Store(LGreaterEqual(aub2, Derefof(Refof(bf62))), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aub3)), Derefof(Refof(bf62))), Local0)
+ m600(arg0, 32, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(aub2)), Derefof(Refof(bf62))), Local0)
+ m600(arg0, 33, Local0, Ones)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paub, 3)), Derefof(Refof(bf62))), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paub, 2)), Derefof(Refof(bf62))), Local0)
+ m600(arg0, 35, Local0, Ones)
+
+ // Method returns Buffer
+
+ Store(LGreaterEqual(m601(3, 3), Derefof(Refof(bf62))), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(m601(3, 2), Derefof(Refof(bf62))), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(3, 3, 1)), Derefof(Refof(bf62))), Local0)
+ m600(arg0, 38, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(3, 2, 1)), Derefof(Refof(bf62))), Local0)
+ m600(arg0, 39, Local0, Ones)
+ }
+
+ // LLess
+
+ Store(LLess(Buffer() {0xFE, 0xB3, 0x79, 0xC1}, Derefof(Refof(bf62))), Local0)
+ m600(arg0, 40, Local0, Zero)
+
+ Store(LLess(Buffer() {0xFE, 0xB3, 0x79, 0xC2}, Derefof(Refof(bf62))), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ Store(LLess(Buffer() {0xFE, 0xB3, 0x79, 0xC0}, Derefof(Refof(bf62))), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LLess(Buffer() {0xFE, 0xB3, 0x79, 0xC1, 0x01}, Derefof(Refof(bf62))), Local0)
+ m600(arg0, 43, Local0, Zero)
+
+ Store(LLess(aub3, Derefof(Refof(bf62))), Local0)
+ m600(arg0, 44, Local0, Zero)
+
+ Store(LLess(aub2, Derefof(Refof(bf62))), Local0)
+ m600(arg0, 45, Local0, Zero)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aub3)), Derefof(Refof(bf62))), Local0)
+ m600(arg0, 46, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(aub2)), Derefof(Refof(bf62))), Local0)
+ m600(arg0, 47, Local0, Zero)
+ }
+
+ Store(LLess(Derefof(Index(paub, 3)), Derefof(Refof(bf62))), Local0)
+ m600(arg0, 48, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paub, 2)), Derefof(Refof(bf62))), Local0)
+ m600(arg0, 49, Local0, Zero)
+
+ // Method returns Buffer
+
+ Store(LLess(m601(3, 3), Derefof(Refof(bf62))), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ Store(LLess(m601(3, 2), Derefof(Refof(bf62))), Local0)
+ m600(arg0, 51, Local0, Zero)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LLess(Derefof(m602(3, 3, 1)), Derefof(Refof(bf62))), Local0)
+ m600(arg0, 52, Local0, Zero)
+
+ Store(LLess(Derefof(m602(3, 2, 1)), Derefof(Refof(bf62))), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC1}, Derefof(Refof(bf62))), Local0)
+ m600(arg0, 54, Local0, Ones)
+
+ Store(LLessEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC2}, Derefof(Refof(bf62))), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLessEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC0}, Derefof(Refof(bf62))), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLessEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC1, 0x01}, Derefof(Refof(bf62))), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLessEqual(aub3, Derefof(Refof(bf62))), Local0)
+ m600(arg0, 58, Local0, Ones)
+
+ Store(LLessEqual(aub2, Derefof(Refof(bf62))), Local0)
+ m600(arg0, 59, Local0, Zero)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aub3)), Derefof(Refof(bf62))), Local0)
+ m600(arg0, 60, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(aub2)), Derefof(Refof(bf62))), Local0)
+ m600(arg0, 61, Local0, Zero)
+ }
+
+ Store(LLessEqual(Derefof(Index(paub, 3)), Derefof(Refof(bf62))), Local0)
+ m600(arg0, 62, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paub, 2)), Derefof(Refof(bf62))), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ // Method returns Buffer
+
+ Store(LLessEqual(m601(3, 3), Derefof(Refof(bf62))), Local0)
+ m600(arg0, 64, Local0, Ones)
+
+ Store(LLessEqual(m601(3, 2), Derefof(Refof(bf62))), Local0)
+ m600(arg0, 65, Local0, Zero)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(3, 3, 1)), Derefof(Refof(bf62))), Local0)
+ m600(arg0, 66, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(3, 2, 1)), Derefof(Refof(bf62))), Local0)
+ m600(arg0, 67, Local0, Zero)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC1}, Derefof(Refof(bf62))), Local0)
+ m600(arg0, 68, Local0, Zero)
+
+ Store(LNotEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC2}, Derefof(Refof(bf62))), Local0)
+ m600(arg0, 69, Local0, Ones)
+
+ Store(LNotEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC0}, Derefof(Refof(bf62))), Local0)
+ m600(arg0, 70, Local0, Ones)
+
+ Store(LNotEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC1, 0x01}, Derefof(Refof(bf62))), Local0)
+ m600(arg0, 71, Local0, Ones)
+
+ Store(LNotEqual(aub3, Derefof(Refof(bf62))), Local0)
+ m600(arg0, 72, Local0, Zero)
+
+ Store(LNotEqual(aub2, Derefof(Refof(bf62))), Local0)
+ m600(arg0, 73, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aub3)), Derefof(Refof(bf62))), Local0)
+ m600(arg0, 74, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(aub2)), Derefof(Refof(bf62))), Local0)
+ m600(arg0, 75, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paub, 3)), Derefof(Refof(bf62))), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paub, 2)), Derefof(Refof(bf62))), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ // Method returns Buffer
+
+ Store(LNotEqual(m601(3, 3), Derefof(Refof(bf62))), Local0)
+ m600(arg0, 78, Local0, Zero)
+
+ Store(LNotEqual(m601(3, 2), Derefof(Refof(bf62))), Local0)
+ m600(arg0, 79, Local0, Ones)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(3, 3, 1)), Derefof(Refof(bf62))), Local0)
+ m600(arg0, 80, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(3, 2, 1)), Derefof(Refof(bf62))), Local0)
+ m600(arg0, 81, Local0, Ones)
+ }
+ }
+
+
+ // Buffer Field to Buffer conversion of the both Integer operands
+ // of Concatenate operator
+
+ Method(m645, 1)
+ {
+ Store(Concatenate(Derefof(Refof(bf65)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 0, Local0, bb20)
+
+ Store(Concatenate(0x321, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 1, Local0, bb21)
+
+ Store(Concatenate(Derefof(Refof(bf65)), 0x321), Local0)
+ m600(arg0, 1, Local0, bb22)
+
+ Concatenate(Derefof(Refof(bf65)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 0, Local0, bb20)
+
+ Concatenate(0x321, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 1, Local0, bb21)
+
+ Concatenate(Derefof(Refof(bf65)), 0x321, Local0)
+ m600(arg0, 1, Local0, bb22)
+ }
+
+ Method(m325, 1)
+ {
+ Store(Concatenate(Derefof(Refof(bf62)), Derefof(Refof(bf62))), Local0)
+ m600(arg0, 0, Local0, bb23)
+
+ Store(Concatenate(0x321, Derefof(Refof(bf62))), Local0)
+ m600(arg0, 1, Local0, bb24)
+
+ Store(Concatenate(Derefof(Refof(bf62)), 0x321), Local0)
+ m600(arg0, 1, Local0, bb25)
+
+ Concatenate(Derefof(Refof(bf62)), Derefof(Refof(bf62)), Local0)
+ m600(arg0, 0, Local0, bb23)
+
+ Concatenate(0x321, Derefof(Refof(bf62)), Local0)
+ m600(arg0, 1, Local0, bb24)
+
+ Concatenate(Derefof(Refof(bf62)), 0x321, Local0)
+ m600(arg0, 1, Local0, bb25)
+ }
+
+ // Buffer Field to Buffer conversion of the Buffer Field second operand
+ // of Concatenate operator when the first operand is evaluated as Buffer
+
+ Method(m646, 1)
+ {
+ Store(Concatenate(Buffer(){0x5a}, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 0, Local0, bb10)
+
+ Store(Concatenate(Buffer(){0x5a, 0x00}, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 1, Local0, bb11)
+
+ Store(Concatenate(aub0, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 2, Local0, bb10)
+
+ Store(Concatenate(aub1, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 3, Local0, bb11)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aub0)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 4, Local0, bb10)
+
+ Store(Concatenate(Derefof(Refof(aub1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 5, Local0, bb11)
+ }
+
+ Store(Concatenate(Derefof(Index(paub, 0)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 6, Local0, bb10)
+
+ Store(Concatenate(Derefof(Index(paub, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 7, Local0, bb11)
+
+ // Method returns Buffer
+
+ Store(Concatenate(m601(3, 0), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 8, Local0, bb10)
+
+ Store(Concatenate(m601(3, 1), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 9, Local0, bb11)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(3, 0, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 10, Local0, bb10)
+
+ Store(Concatenate(Derefof(m602(3, 1, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 11, Local0, bb11)
+ }
+
+ Concatenate(Buffer(){0x5a}, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 12, Local0, bb10)
+
+ Concatenate(Buffer(){0x5a, 0x00}, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 13, Local0, bb11)
+
+ Concatenate(aub0, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 14, Local0, bb10)
+
+ Concatenate(aub1, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 15, Local0, bb11)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aub0)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 16, Local0, bb10)
+
+ Concatenate(Derefof(Refof(aub1)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 17, Local0, bb11)
+ }
+
+ Concatenate(Derefof(Index(paub, 0)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 18, Local0, bb10)
+
+ Concatenate(Derefof(Index(paub, 1)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 19, Local0, bb11)
+
+ // Method returns Buffer
+
+ Concatenate(m601(3, 0), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 20, Local0, bb10)
+
+ Concatenate(m601(3, 1), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 21, Local0, bb11)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Concatenate(Derefof(m602(3, 0, 1)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 22, Local0, bb10)
+
+ Concatenate(Derefof(m602(3, 1, 1)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 23, Local0, bb11)
+ }
+ }
+
+ Method(m326, 1)
+ {
+
+ Store(Concatenate(Buffer(){0x5a}, Derefof(Refof(bf62))), Local0)
+ m600(arg0, 0, Local0, bb12)
+
+ Store(Concatenate(Buffer(){0x5a, 0x00}, Derefof(Refof(bf62))), Local0)
+ m600(arg0, 1, Local0, bb13)
+
+ Store(Concatenate(aub0, Derefof(Refof(bf62))), Local0)
+ m600(arg0, 2, Local0, bb12)
+
+ Store(Concatenate(aub1, Derefof(Refof(bf62))), Local0)
+ m600(arg0, 3, Local0, bb13)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aub0)), Derefof(Refof(bf62))), Local0)
+ m600(arg0, 4, Local0, bb12)
+
+ Store(Concatenate(Derefof(Refof(aub1)), Derefof(Refof(bf62))), Local0)
+ m600(arg0, 5, Local0, bb13)
+ }
+
+ Store(Concatenate(Derefof(Index(paub, 0)), Derefof(Refof(bf62))), Local0)
+ m600(arg0, 6, Local0, bb12)
+
+ Store(Concatenate(Derefof(Index(paub, 1)), Derefof(Refof(bf62))), Local0)
+ m600(arg0, 7, Local0, bb13)
+
+ // Method returns Buffer
+
+ Store(Concatenate(m601(3, 0), Derefof(Refof(bf62))), Local0)
+ m600(arg0, 8, Local0, bb12)
+
+ Store(Concatenate(m601(3, 1), Derefof(Refof(bf62))), Local0)
+ m600(arg0, 9, Local0, bb13)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(3, 0, 1)), Derefof(Refof(bf62))), Local0)
+ m600(arg0, 10, Local0, bb12)
+
+ Store(Concatenate(Derefof(m602(3, 1, 1)), Derefof(Refof(bf62))), Local0)
+ m600(arg0, 11, Local0, bb13)
+ }
+
+
+ Store(Concatenate(Buffer(){0x5a}, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 12, Local0, bb10)
+
+ Store(Concatenate(Buffer(){0x5a, 0x00}, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 13, Local0, bb11)
+
+
+ Concatenate(Buffer(){0x5a}, Derefof(Refof(bf62)), Local0)
+ m600(arg0, 14, Local0, bb12)
+
+ Concatenate(Buffer(){0x5a, 0x00}, Derefof(Refof(bf62)), Local0)
+ m600(arg0, 15, Local0, bb13)
+
+ Concatenate(aub0, Derefof(Refof(bf62)), Local0)
+ m600(arg0, 16, Local0, bb12)
+
+ Concatenate(aub1, Derefof(Refof(bf62)), Local0)
+ m600(arg0, 17, Local0, bb13)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aub0)), Derefof(Refof(bf62)), Local0)
+ m600(arg0, 18, Local0, bb12)
+
+ Concatenate(Derefof(Refof(aub1)), Derefof(Refof(bf62)), Local0)
+ m600(arg0, 19, Local0, bb13)
+ }
+
+ Concatenate(Derefof(Index(paub, 0)), Derefof(Refof(bf62)), Local0)
+ m600(arg0, 20, Local0, bb12)
+
+ Concatenate(Derefof(Index(paub, 1)), Derefof(Refof(bf62)), Local0)
+ m600(arg0, 21, Local0, bb13)
+
+ // Method returns Buffer
+
+ Concatenate(m601(3, 0), Derefof(Refof(bf62)), Local0)
+ m600(arg0, 22, Local0, bb12)
+
+ Concatenate(m601(3, 1), Derefof(Refof(bf62)), Local0)
+ m600(arg0, 23, Local0, bb13)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Concatenate(Derefof(m602(3, 0, 1)), Derefof(Refof(bf62)), Local0)
+ m600(arg0, 24, Local0, bb12)
+
+ Concatenate(Derefof(m602(3, 1, 1)), Derefof(Refof(bf62)), Local0)
+ m600(arg0, 25, Local0, bb13)
+ }
+
+ Concatenate(Buffer(){0x5a}, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 26, Local0, bb10)
+
+ Concatenate(Buffer(){0x5a, 0x00}, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 27, Local0, bb11)
+
+ }
+
+
+ // Buffer Field to Buffer conversion of the Buffer Field Source operand
+ // of ToString operator
+
+ Method(m647, 1)
+ {
+ Store(ToString(Derefof(Refof(bf71)), Ones), Local0)
+ m600(arg0, 0, Local0, bs18)
+
+ Store(ToString(Derefof(Refof(bf71)), 3), Local0)
+ m600(arg0, 1, Local0, bs19)
+
+ Store(ToString(Derefof(Refof(bf72)), Ones), Local0)
+ m600(arg0, 2, Local0, bs1a)
+
+ Store(ToString(Derefof(Refof(bf71)), aui0), Local0)
+ m600(arg0, 3, Local0, bs18)
+
+ Store(ToString(Derefof(Refof(bf71)), aui7), Local0)
+ m600(arg0, 4, Local0, bs19)
+
+ Store(ToString(Derefof(Refof(bf72)), aui0), Local0)
+ m600(arg0, 5, Local0, bs1a)
+
+ if (y078) {
+ Store(ToString(Derefof(Refof(bf71)), Derefof(Refof(aui0))), Local0)
+ m600(arg0, 6, Local0, bs18)
+
+ Store(ToString(Derefof(Refof(bf71)), Derefof(Refof(aui7))), Local0)
+ m600(arg0, 7, Local0, bs19)
+
+ Store(ToString(Derefof(Refof(bf72)), Derefof(Refof(aui0))), Local0)
+ m600(arg0, 8, Local0, bs1a)
+ }
+
+ Store(ToString(Derefof(Refof(bf71)), Derefof(Index(paui, 0))), Local0)
+ m600(arg0, 9, Local0, bs18)
+
+ Store(ToString(Derefof(Refof(bf71)), Derefof(Index(paui, 7))), Local0)
+ m600(arg0, 10, Local0, bs19)
+
+ Store(ToString(Derefof(Refof(bf72)), Derefof(Index(paui, 0))), Local0)
+ m600(arg0, 11, Local0, bs1a)
+
+ // Method returns Length parameter
+
+ Store(ToString(Derefof(Refof(bf71)), m601(1, 0)), Local0)
+ m600(arg0, 12, Local0, bs18)
+
+ Store(ToString(Derefof(Refof(bf71)), m601(1, 7)), Local0)
+ m600(arg0, 13, Local0, bs19)
+
+ Store(ToString(Derefof(Refof(bf72)), m601(1, 0)), Local0)
+ m600(arg0, 14, Local0, bs1a)
+
+ // Method returns Reference to Length parameter
+
+ if (y500) {
+ Store(ToString(Derefof(Refof(bf71)), Derefof(m601(1, 0))), Local0)
+ m600(arg0, 15, Local0, bs18)
+
+ Store(ToString(Derefof(Refof(bf71)), Derefof(m601(1, 7))), Local0)
+ m600(arg0, 16, Local0, bs19)
+
+ Store(ToString(Derefof(Refof(bf72)), Derefof(m601(1, 0))), Local0)
+ m600(arg0, 17, Local0, bs1a)
+ }
+
+ ToString(Derefof(Refof(bf71)), Ones, Local0)
+ m600(arg0, 18, Local0, bs18)
+
+ ToString(Derefof(Refof(bf71)), 3, Local0)
+ m600(arg0, 19, Local0, bs19)
+
+ ToString(Derefof(Refof(bf72)), Ones, Local0)
+ m600(arg0, 20, Local0, bs1a)
+
+ ToString(Derefof(Refof(bf71)), aui0, Local0)
+ m600(arg0, 21, Local0, bs18)
+
+ ToString(Derefof(Refof(bf71)), aui7, Local0)
+ m600(arg0, 22, Local0, bs19)
+
+ ToString(Derefof(Refof(bf72)), aui0, Local0)
+ m600(arg0, 23, Local0, bs1a)
+
+ if (y078) {
+ ToString(Derefof(Refof(bf71)), Derefof(Refof(aui0)), Local0)
+ m600(arg0, 24, Local0, bs18)
+
+ ToString(Derefof(Refof(bf71)), Derefof(Refof(aui7)), Local0)
+ m600(arg0, 25, Local0, bs19)
+
+ ToString(Derefof(Refof(bf72)), Derefof(Refof(aui0)), Local0)
+ m600(arg0, 26, Local0, bs1a)
+ }
+
+ ToString(Derefof(Refof(bf71)), Derefof(Index(paui, 0)), Local0)
+ m600(arg0, 27, Local0, bs18)
+
+ ToString(Derefof(Refof(bf71)), Derefof(Index(paui, 7)), Local0)
+ m600(arg0, 28, Local0, bs19)
+
+ ToString(Derefof(Refof(bf72)), Derefof(Index(paui, 0)), Local0)
+ m600(arg0, 29, Local0, bs1a)
+
+ // Method returns Length parameter
+
+ ToString(Derefof(Refof(bf71)), m601(1, 0), Local0)
+ m600(arg0, 30, Local0, bs18)
+
+ ToString(Derefof(Refof(bf71)), m601(1, 7), Local0)
+ m600(arg0, 31, Local0, bs19)
+
+ ToString(Derefof(Refof(bf72)), m601(1, 0), Local0)
+ m600(arg0, 32, Local0, bs1a)
+
+ // Method returns Reference to Length parameter
+
+ if (y500) {
+ ToString(Derefof(Refof(bf71)), Derefof(m601(1, 0)), Local0)
+ m600(arg0, 33, Local0, bs18)
+
+ ToString(Derefof(Refof(bf71)), Derefof(m601(1, 7)), Local0)
+ m600(arg0, 34, Local0, bs19)
+
+ ToString(Derefof(Refof(bf72)), Derefof(m601(1, 0)), Local0)
+ m600(arg0, 35, Local0, bs1a)
+ }
+ }
+
+ Method(m327, 1)
+ {
+ Store(ToString(Derefof(Refof(bf70)), Ones), Local0)
+ m600(arg0, 0, Local0, bs16)
+
+ Store(ToString(Derefof(Refof(bf70)), 3), Local0)
+ m600(arg0, 1, Local0, bs17)
+
+ Store(ToString(Derefof(Refof(bf73)), Ones), Local0)
+ m600(arg0, 2, Local0, bs1a)
+
+ Store(ToString(Derefof(Refof(bf70)), aui0), Local0)
+ m600(arg0, 3, Local0, bs16)
+
+ Store(ToString(Derefof(Refof(bf70)), aui7), Local0)
+ m600(arg0, 4, Local0, bs17)
+
+ Store(ToString(Derefof(Refof(bf73)), aui0), Local0)
+ m600(arg0, 5, Local0, bs1a)
+
+ if (y078) {
+ Store(ToString(Derefof(Refof(bf70)), Derefof(Refof(aui0))), Local0)
+ m600(arg0, 6, Local0, bs16)
+
+ Store(ToString(Derefof(Refof(bf70)), Derefof(Refof(aui7))), Local0)
+ m600(arg0, 7, Local0, bs17)
+
+ Store(ToString(Derefof(Refof(bf73)), Derefof(Refof(aui0))), Local0)
+ m600(arg0, 8, Local0, bs1a)
+ }
+
+ Store(ToString(Derefof(Refof(bf70)), Derefof(Index(paui, 0))), Local0)
+ m600(arg0, 9, Local0, bs16)
+
+ Store(ToString(Derefof(Refof(bf70)), Derefof(Index(paui, 7))), Local0)
+ m600(arg0, 10, Local0, bs17)
+
+ Store(ToString(Derefof(Refof(bf73)), Derefof(Index(paui, 0))), Local0)
+ m600(arg0, 11, Local0, bs1a)
+
+ // Method returns Length parameter
+
+ Store(ToString(Derefof(Refof(bf70)), m601(1, 0)), Local0)
+ m600(arg0, 12, Local0, bs16)
+
+ Store(ToString(Derefof(Refof(bf70)), m601(1, 7)), Local0)
+ m600(arg0, 13, Local0, bs17)
+
+ Store(ToString(Derefof(Refof(bf73)), m601(1, 0)), Local0)
+ m600(arg0, 14, Local0, bs1a)
+
+ // Method returns Reference to Length parameter
+
+ if (y500) {
+ Store(ToString(Derefof(Refof(bf70)), Derefof(m601(1, 0))), Local0)
+ m600(arg0, 15, Local0, bs16)
+
+ Store(ToString(Derefof(Refof(bf70)), Derefof(m601(1, 7))), Local0)
+ m600(arg0, 16, Local0, bs17)
+
+ Store(ToString(Derefof(Refof(bf73)), Derefof(m601(1, 0))), Local0)
+ m600(arg0, 17, Local0, bs1a)
+ }
+
+ ToString(Derefof(Refof(bf70)), Ones, Local0)
+ m600(arg0, 18, Local0, bs16)
+
+ ToString(Derefof(Refof(bf70)), 3, Local0)
+ m600(arg0, 19, Local0, bs17)
+
+ ToString(Derefof(Refof(bf73)), Ones, Local0)
+ m600(arg0, 20, Local0, bs1a)
+
+ ToString(Derefof(Refof(bf70)), aui0, Local0)
+ m600(arg0, 21, Local0, bs16)
+
+ ToString(Derefof(Refof(bf70)), aui7, Local0)
+ m600(arg0, 22, Local0, bs17)
+
+ ToString(Derefof(Refof(bf73)), aui0, Local0)
+ m600(arg0, 23, Local0, bs1a)
+
+ if (y078) {
+ ToString(Derefof(Refof(bf70)), Derefof(Refof(aui0)), Local0)
+ m600(arg0, 24, Local0, bs16)
+
+ ToString(Derefof(Refof(bf70)), Derefof(Refof(aui7)), Local0)
+ m600(arg0, 25, Local0, bs17)
+
+ ToString(Derefof(Refof(bf73)), Derefof(Refof(aui0)), Local0)
+ m600(arg0, 26, Local0, bs1a)
+ }
+
+ ToString(Derefof(Refof(bf70)), Derefof(Index(paui, 0)), Local0)
+ m600(arg0, 27, Local0, bs16)
+
+ ToString(Derefof(Refof(bf70)), Derefof(Index(paui, 7)), Local0)
+ m600(arg0, 28, Local0, bs17)
+
+ ToString(Derefof(Refof(bf73)), Derefof(Index(paui, 0)), Local0)
+ m600(arg0, 29, Local0, bs1a)
+
+ // Method returns Length parameter
+
+ ToString(Derefof(Refof(bf70)), m601(1, 0), Local0)
+ m600(arg0, 30, Local0, bs16)
+
+ ToString(Derefof(Refof(bf70)), m601(1, 7), Local0)
+ m600(arg0, 31, Local0, bs17)
+
+ ToString(Derefof(Refof(bf73)), m601(1, 0), Local0)
+ m600(arg0, 32, Local0, bs1a)
+
+ // Method returns Reference to Length parameter
+
+ if (y500) {
+ ToString(Derefof(Refof(bf70)), Derefof(m601(1, 0)), Local0)
+ m600(arg0, 33, Local0, bs16)
+
+ ToString(Derefof(Refof(bf70)), Derefof(m601(1, 7)), Local0)
+ m600(arg0, 34, Local0, bs17)
+
+ ToString(Derefof(Refof(bf73)), Derefof(m601(1, 0)), Local0)
+ m600(arg0, 35, Local0, bs1a)
+ }
+ }
+
+ // Buffer Field to Buffer conversion of the Buffer Field Source operand
+ // of Mid operator
+
+ Method(m648, 1)
+ {
+ Store(Mid(Derefof(Refof(bf65)), 0, 9), Local0)
+ m600(arg0, 0, Local0, bb1d)
+
+ Store(Mid(Derefof(Refof(bf66)), 0, 9), Local0)
+ m600(arg0, 1, Local0, bb1f)
+
+ Store(Mid(Derefof(Refof(bf73)), 1, 8), Local0)
+ m600(arg0, 2, Local0, bb30)
+
+ Store(Mid(Derefof(Refof(bf65)), aui5, auib), Local0)
+ m600(arg0, 3, Local0, bb1d)
+
+ Store(Mid(Derefof(Refof(bf66)), aui5, auib), Local0)
+ m600(arg0, 4, Local0, bb1f)
+
+ Store(Mid(Derefof(Refof(bf73)), aui6, auia), Local0)
+ m600(arg0, 5, Local0, bb30)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(bf65)), Derefof(Refof(aui5)), Derefof(Refof(auib))), Local0)
+ m600(arg0, 6, Local0, bb1d)
+
+ Store(Mid(Derefof(Refof(bf66)), Derefof(Refof(aui5)), Derefof(Refof(auib))), Local0)
+ m600(arg0, 7, Local0, bb1f)
+
+ Store(Mid(Derefof(Refof(bf73)), Derefof(Refof(aui6)), Derefof(Refof(auia))), Local0)
+ m600(arg0, 8, Local0, bb30)
+ }
+
+ Store(Mid(Derefof(Refof(bf65)), Derefof(Index(paui, 5)), Derefof(Index(paui, 11))), Local0)
+ m600(arg0, 9, Local0, bb1d)
+
+ Store(Mid(Derefof(Refof(bf66)), Derefof(Index(paui, 5)), Derefof(Index(paui, 11))), Local0)
+ m600(arg0, 10, Local0, bb1f)
+
+ Store(Mid(Derefof(Refof(bf73)), Derefof(Index(paui, 6)), Derefof(Index(paui, 10))), Local0)
+ m600(arg0, 11, Local0, bb30)
+
+ // Method returns Index and Length parameters
+
+ Store(Mid(Derefof(Refof(bf65)), m601(1, 5), m601(1, 11)), Local0)
+ m600(arg0, 12, Local0, bb1d)
+
+ Store(Mid(Derefof(Refof(bf66)), m601(1, 5), m601(1, 11)), Local0)
+ m600(arg0, 13, Local0, bb1f)
+
+ Store(Mid(Derefof(Refof(bf73)), m601(1, 6), m601(1, 10)), Local0)
+ m600(arg0, 14, Local0, bb30)
+
+ // Method returns Reference to Index and Length parameters
+
+ if (y500) {
+ Store(Mid(Derefof(Refof(bf65)), Derefof(m601(1, 5)), Derefof(m601(1, 11))), Local0)
+ m600(arg0, 15, Local0, bb1d)
+
+ Store(Mid(Derefof(Refof(bf66)), Derefof(m601(1, 5)), Derefof(m601(1, 11))), Local0)
+ m600(arg0, 16, Local0, bb1f)
+
+ Store(Mid(Derefof(Refof(bf73)), Derefof(m601(1, 6)), Derefof(m601(1, 10))), Local0)
+ m600(arg0, 17, Local0, bb30)
+ }
+
+ Mid(Derefof(Refof(bf65)), 0, 9, Local0)
+ m600(arg0, 18, Local0, bb1d)
+
+ Mid(Derefof(Refof(bf66)), 0, 9, Local0)
+ m600(arg0, 19, Local0, bb1f)
+
+ Mid(Derefof(Refof(bf73)), 1, 8, Local0)
+ m600(arg0, 20, Local0, bb30)
+
+ Mid(Derefof(Refof(bf65)), aui5, auib, Local0)
+ m600(arg0, 21, Local0, bb1d)
+
+ Mid(Derefof(Refof(bf66)), aui5, auib, Local0)
+ m600(arg0, 22, Local0, bb1f)
+
+ Mid(Derefof(Refof(bf73)), aui6, auia, Local0)
+ m600(arg0, 23, Local0, bb30)
+
+ if (y078) {
+ Mid(Derefof(Refof(bf65)), Derefof(Refof(aui5)), Derefof(Refof(auib)), Local0)
+ m600(arg0, 24, Local0, bb1d)
+
+ Mid(Derefof(Refof(bf66)), Derefof(Refof(aui5)), Derefof(Refof(auib)), Local0)
+ m600(arg0, 25, Local0, bb1f)
+
+ Mid(Derefof(Refof(bf73)), Derefof(Refof(aui6)), Derefof(Refof(auia)), Local0)
+ m600(arg0, 26, Local0, bb30)
+ }
+
+ Mid(Derefof(Refof(bf65)), Derefof(Index(paui, 5)), Derefof(Index(paui, 11)), Local0)
+ m600(arg0, 27, Local0, bb1d)
+
+ Mid(Derefof(Refof(bf66)), Derefof(Index(paui, 5)), Derefof(Index(paui, 11)), Local0)
+ m600(arg0, 28, Local0, bb1f)
+
+ Mid(Derefof(Refof(bf73)), Derefof(Index(paui, 6)), Derefof(Index(paui, 10)), Local0)
+ m600(arg0, 29, Local0, bb30)
+
+ // Method returns Index and Length parameters
+
+ Mid(Derefof(Refof(bf65)), m601(1, 5), m601(1, 11), Local0)
+ m600(arg0, 30, Local0, bb1d)
+
+ Mid(Derefof(Refof(bf66)), m601(1, 5), m601(1, 11), Local0)
+ m600(arg0, 31, Local0, bb1f)
+
+ Mid(Derefof(Refof(bf73)), m601(1, 6), m601(1, 10), Local0)
+ m600(arg0, 32, Local0, bb30)
+
+ // Method returns Reference to Index and Length parameters
+
+ if (y500) {
+ Mid(Derefof(Refof(bf65)), Derefof(m601(1, 5)), Derefof(m601(1, 11)), Local0)
+ m600(arg0, 33, Local0, bb1d)
+
+ Mid(Derefof(Refof(bf66)), Derefof(m601(1, 5)), Derefof(m601(1, 11)), Local0)
+ m600(arg0, 34, Local0, bb1f)
+
+ Mid(Derefof(Refof(bf73)), Derefof(m601(1, 6)), Derefof(m601(1, 10)), Local0)
+ m600(arg0, 35, Local0, bb30)
+ }
+ }
+
+ Method(m328, 1)
+ {
+ Store(Mid(Derefof(Refof(bf62)), 0, 5), Local0)
+ m600(arg0, 0, Local0, bb1c)
+
+ Store(Mid(Derefof(Refof(bf63)), 0, 5), Local0)
+ m600(arg0, 1, Local0, bb1e)
+
+ Store(Mid(Derefof(Refof(bf77)), 1, 4), Local0)
+ m600(arg0, 2, Local0, bb31)
+
+ Store(Mid(Derefof(Refof(bf62)), aui5, aui9), Local0)
+ m600(arg0, 3, Local0, bb1c)
+
+ Store(Mid(Derefof(Refof(bf63)), aui5, aui9), Local0)
+ m600(arg0, 4, Local0, bb1e)
+
+ Store(Mid(Derefof(Refof(bf77)), aui6, aui8), Local0)
+ m600(arg0, 5, Local0, bb31)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(bf62)), Derefof(Refof(aui5)), Derefof(Refof(aui9))), Local0)
+ m600(arg0, 6, Local0, bb1c)
+
+ Store(Mid(Derefof(Refof(bf63)), Derefof(Refof(aui5)), Derefof(Refof(aui9))), Local0)
+ m600(arg0, 7, Local0, bb1e)
+
+ Store(Mid(Derefof(Refof(bf77)), Derefof(Refof(aui6)), Derefof(Refof(aui8))), Local0)
+ m600(arg0, 8, Local0, bb31)
+ }
+
+ Store(Mid(Derefof(Refof(bf62)), Derefof(Index(paui, 5)), Derefof(Index(paui, 9))), Local0)
+ m600(arg0, 9, Local0, bb1c)
+
+ Store(Mid(Derefof(Refof(bf63)), Derefof(Index(paui, 5)), Derefof(Index(paui, 9))), Local0)
+ m600(arg0, 10, Local0, bb1e)
+
+ Store(Mid(Derefof(Refof(bf77)), Derefof(Index(paui, 6)), Derefof(Index(paui, 8))), Local0)
+ m600(arg0, 11, Local0, bb31)
+
+ // Method returns Index and Length parameters
+
+ Store(Mid(Derefof(Refof(bf62)), m601(1, 5), m601(1, 9)), Local0)
+ m600(arg0, 12, Local0, bb1c)
+
+ Store(Mid(Derefof(Refof(bf63)), m601(1, 5), m601(1, 9)), Local0)
+ m600(arg0, 13, Local0, bb1e)
+
+ Store(Mid(Derefof(Refof(bf77)), m601(1, 6), m601(1, 8)), Local0)
+ m600(arg0, 14, Local0, bb31)
+
+ // Method returns Reference to Index and Length parameters
+
+ if (y500) {
+ Store(Mid(Derefof(Refof(bf62)), Derefof(m601(1, 5)), Derefof(m601(1, 9))), Local0)
+ m600(arg0, 15, Local0, bb1c)
+
+ Store(Mid(Derefof(Refof(bf63)), Derefof(m601(1, 5)), Derefof(m601(1, 9))), Local0)
+ m600(arg0, 16, Local0, bb1e)
+
+ Store(Mid(Derefof(Refof(bf77)), Derefof(m601(1, 6)), Derefof(m601(1, 8))), Local0)
+ m600(arg0, 17, Local0, bb31)
+ }
+
+ Mid(Derefof(Refof(bf62)), 0, 5, Local0)
+ m600(arg0, 18, Local0, bb1c)
+
+ Mid(Derefof(Refof(bf63)), 0, 5, Local0)
+ m600(arg0, 19, Local0, bb1e)
+
+ Mid(Derefof(Refof(bf77)), 1, 4, Local0)
+ m600(arg0, 20, Local0, bb31)
+
+ Mid(Derefof(Refof(bf62)), aui5, aui9, Local0)
+ m600(arg0, 21, Local0, bb1c)
+
+ Mid(Derefof(Refof(bf63)), aui5, aui9, Local0)
+ m600(arg0, 22, Local0, bb1e)
+
+ Mid(Derefof(Refof(bf77)), aui6, aui8, Local0)
+ m600(arg0, 23, Local0, bb31)
+
+ if (y078) {
+ Mid(Derefof(Refof(bf62)), Derefof(Refof(aui5)), Derefof(Refof(aui9)), Local0)
+ m600(arg0, 24, Local0, bb1c)
+
+ Mid(Derefof(Refof(bf63)), Derefof(Refof(aui5)), Derefof(Refof(aui9)), Local0)
+ m600(arg0, 25, Local0, bb1e)
+
+ Mid(Derefof(Refof(bf77)), Derefof(Refof(aui6)), Derefof(Refof(aui8)), Local0)
+ m600(arg0, 26, Local0, bb31)
+ }
+
+ Mid(Derefof(Refof(bf62)), Derefof(Index(paui, 5)), Derefof(Index(paui, 9)), Local0)
+ m600(arg0, 27, Local0, bb1c)
+
+ Mid(Derefof(Refof(bf63)), Derefof(Index(paui, 5)), Derefof(Index(paui, 9)), Local0)
+ m600(arg0, 28, Local0, bb1e)
+
+ Mid(Derefof(Refof(bf77)), Derefof(Index(paui, 6)), Derefof(Index(paui, 8)), Local0)
+ m600(arg0, 29, Local0, bb31)
+
+ // Method returns Index and Length parameters
+
+ Mid(Derefof(Refof(bf62)), m601(1, 5), m601(1, 9), Local0)
+ m600(arg0, 30, Local0, bb1c)
+
+ Mid(Derefof(Refof(bf63)), m601(1, 5), m601(1, 9), Local0)
+ m600(arg0, 31, Local0, bb1e)
+
+ Mid(Derefof(Refof(bf77)), m601(1, 6), m601(1, 8), Local0)
+ m600(arg0, 32, Local0, bb31)
+
+ // Method returns Reference to Index and Length parameters
+
+ if (y500) {
+ Mid(Derefof(Refof(bf62)), Derefof(m601(1, 5)), Derefof(m601(1, 9)), Local0)
+ m600(arg0, 33, Local0, bb1c)
+
+ Mid(Derefof(Refof(bf63)), Derefof(m601(1, 5)), Derefof(m601(1, 9)), Local0)
+ m600(arg0, 34, Local0, bb1e)
+
+ Mid(Derefof(Refof(bf77)), Derefof(m601(1, 6)), Derefof(m601(1, 8)), Local0)
+ m600(arg0, 35, Local0, bb31)
+ }
+ }
+
+
+ // Buffer Field to Integer implicit conversion Cases.
+
+ // Buffer Field to Integer conversion of the Buffer Field sole operand
+ // of the 1-parameter Integer arithmetic operators
+ // (Decrement, Increment, FindSetLeftBit, FindSetRightBit, Not)
+
+ Method(m64l, 1)
+ {
+ if (y365) {
+ // Decrement
+
+ Store(Decrement(Derefof(Refof(bf91))), Local0)
+ m600(arg0, 0, Local0, bi12)
+
+ Store(Decrement(Derefof(Refof(bf95))), Local0)
+ m600(arg0, 1, Local0, bi16)
+
+ // Increment
+
+ Store(Increment(Derefof(Refof(bfa1))), Local0)
+ m600(arg0, 2, Local0, bi23)
+
+ Store(Increment(Derefof(Refof(bfa5))), Local0)
+ m600(arg0, 3, Local0, bi27)
+ }
+
+ // FindSetLeftBit
+
+ Store(FindSetLeftBit(Derefof(Refof(bf61))), Local0)
+ m600(arg0, 0, Local0, 10)
+
+ Store(FindSetLeftBit(Derefof(Refof(bf65))), Local0)
+ m600(arg0, 1, Local0, 64)
+
+ // FindSetRightBit
+
+ Store(FindSetRightBit(Derefof(Refof(bf61))), Local0)
+ m600(arg0, 2, Local0, 1)
+
+ Store(FindSetRightBit(Derefof(Refof(bf65))), Local0)
+ m600(arg0, 3, Local0, 3)
+
+ // Not
+
+ Store(Not(Derefof(Refof(bf61))), Local0)
+ m600(arg0, 4, Local0, 0xfffffffffffffcde)
+
+ Store(Not(Derefof(Refof(bf65))), Local0)
+ m600(arg0, 5, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Method(m32l, 1)
+ {
+ if (y365) {
+ // Decrement
+
+ Store(Decrement(Derefof(Refof(bf91))), Local0)
+ m600(arg0, 0, Local0, bi12)
+
+ Store(Decrement(Derefof(Refof(bf95))), Local0)
+ m600(arg0, 1, Local0, bi18)
+
+ // Increment
+
+ Store(Increment(Derefof(Refof(bfa1))), Local0)
+ m600(arg0, 2, Local0, bi23)
+
+ Store(Increment(Derefof(Refof(bfa5))), Local0)
+ m600(arg0, 3, Local0, bi29)
+ }
+
+ // FindSetLeftBit
+
+ Store(FindSetLeftBit(Derefof(Refof(bf61))), Local0)
+ m600(arg0, 0, Local0, 10)
+
+ Store(FindSetLeftBit(Derefof(Refof(bf65))), Local0)
+ m600(arg0, 1, Local0, 32)
+
+ // FindSetRightBit
+
+ Store(FindSetRightBit(Derefof(Refof(bf61))), Local0)
+ m600(arg0, 2, Local0, 1)
+
+ Store(FindSetRightBit(Derefof(Refof(bf65))), Local0)
+ m600(arg0, 3, Local0, 3)
+
+ // Not
+
+ Store(Not(Derefof(Refof(bf61))), Local0)
+ m600(arg0, 4, Local0, 0xfffffcde)
+
+ Store(Not(Derefof(Refof(bf65))), Local0)
+ m600(arg0, 5, Local0, 0x29af5d7b)
+ }
+
+ // Buffer Field to Integer conversion of the Buffer Field sole operand
+ // of the LNot Logical Integer operator
+ Method(m03a, 1)
+ {
+ Store(LNot(Derefof(Refof(bf76))), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LNot(Derefof(Refof(bf61))), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ if (F64) {
+ Store(LNot(Derefof(Refof(bf65))), Local0)
+ m600(arg0, 2, Local0, Zero)
+ } else {
+ Store(LNot(Derefof(Refof(bf65))), Local0)
+ m600(arg0, 3, Local0, Zero)
+ }
+ }
+
+ // Buffer Field to Integer conversion of the Buffer Field sole operand
+ // of the FromBCD and ToBCD conversion operators
+
+ Method(m64m, 1)
+ {
+ // FromBCD
+
+ Store(FromBCD(Derefof(Refof(bf61))), Local0)
+ m600(arg0, 2, Local0, 0x141)
+
+ Store(FromBCD(Derefof(Refof(bf6c))), Local0)
+ m600(arg0, 3, Local0, 0xd76162ee9ec35)
+
+ FromBCD(Derefof(Refof(bf61)), Local0)
+ m600(arg0, 2, Local0, 0x141)
+
+ FromBCD(Derefof(Refof(bf6c)), Local0)
+ m600(arg0, 3, Local0, 0xd76162ee9ec35)
+
+ // ToBCD
+
+ Store(ToBCD(Derefof(Refof(bf61))), Local0)
+ m600(arg0, 4, Local0, 0x801)
+
+// ??? No error of iASL on constant folding
+ Store(ToBCD(Derefof(Refof(bf6d))), Local0)
+ m600(arg0, 5, Local0, 0x3789012345678901)
+
+ ToBCD(Derefof(Refof(bf61)), Local0)
+ m600(arg0, 4, Local0, 0x801)
+
+ ToBCD(Derefof(Refof(bf6d)), Local0)
+ m600(arg0, 5, Local0, 0x3789012345678901)
+ }
+
+ Method(m32m, 1)
+ {
+ // FromBCD
+
+ Store(FromBCD(Derefof(Refof(bf61))), Local0)
+ m600(arg0, 2, Local0, 0x141)
+
+ Store(FromBCD(Derefof(Refof(bf6e))), Local0)
+ m600(arg0, 3, Local0, 0x55f2cc0)
+
+ FromBCD(Derefof(Refof(bf61)), Local0)
+ m600(arg0, 2, Local0, 0x141)
+
+ FromBCD(Derefof(Refof(bf6e)), Local0)
+ m600(arg0, 3, Local0, 0x55f2cc0)
+
+ // ToBCD
+
+ Store(ToBCD(Derefof(Refof(bf61))), Local0)
+ m600(arg0, 4, Local0, 0x801)
+
+ Store(ToBCD(Derefof(Refof(bf6f))), Local0)
+ m600(arg0, 5, Local0, 0x90123456)
+
+ ToBCD(Derefof(Refof(bf61)), Local0)
+ m600(arg0, 4, Local0, 0x801)
+
+ ToBCD(Derefof(Refof(bf6f)), Local0)
+ m600(arg0, 5, Local0, 0x90123456)
+ }
+
+ // Buffer Field to Integer conversion of each Buffer operand
+ // of the 2-parameter Integer arithmetic operators
+ // Add, And, Divide, Mod, Multiply, NAnd, NOr, Or,
+ // ShiftLeft, ShiftRight, Subtract, Xor
+
+ // Add, common 32-bit/64-bit test
+ Method(m03b, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Add(Derefof(Refof(bf61)), 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Add(Derefof(Refof(bf61)), 1), Local0)
+ m600(arg0, 1, Local0, 0x322)
+
+ Store(Add(Derefof(Refof(bf61)), aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Add(Derefof(Refof(bf61)), aui6), Local0)
+ m600(arg0, 3, Local0, 0x322)
+
+ if (y078) {
+ Store(Add(Derefof(Refof(bf61)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Add(Derefof(Refof(bf61)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x322)
+ }
+
+ Store(Add(Derefof(Refof(bf61)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Add(Derefof(Refof(bf61)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x322)
+
+ // Method returns Integer
+
+ Store(Add(Derefof(Refof(bf61)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Add(Derefof(Refof(bf61)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x322)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(Derefof(Refof(bf61)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Add(Derefof(Refof(bf61)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x322)
+ }
+
+ Add(Derefof(Refof(bf61)), 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Add(Derefof(Refof(bf61)), 1, Local0)
+ m600(arg0, 13, Local0, 0x322)
+
+ Add(Derefof(Refof(bf61)), aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Add(Derefof(Refof(bf61)), aui6, Local0)
+ m600(arg0, 15, Local0, 0x322)
+
+ if (y078) {
+ Add(Derefof(Refof(bf61)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Add(Derefof(Refof(bf61)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x322)
+ }
+
+ Add(Derefof(Refof(bf61)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Add(Derefof(Refof(bf61)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x322)
+
+ // Method returns Integer
+
+ Add(Derefof(Refof(bf61)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Add(Derefof(Refof(bf61)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x322)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(Derefof(Refof(bf61)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Add(Derefof(Refof(bf61)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x322)
+ }
+
+ // Conversion of the second operand
+
+ Store(Add(0, Derefof(Refof(bf61))), Local0)
+ m600(arg0, 24, Local0, 0x321)
+
+ Store(Add(1, Derefof(Refof(bf61))), Local0)
+ m600(arg0, 25, Local0, 0x322)
+
+ Store(Add(aui5, Derefof(Refof(bf61))), Local0)
+ m600(arg0, 26, Local0, 0x321)
+
+ Store(Add(aui6, Derefof(Refof(bf61))), Local0)
+ m600(arg0, 27, Local0, 0x322)
+
+ if (y078) {
+ Store(Add(Derefof(Refof(aui5)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 28, Local0, 0x321)
+
+ Store(Add(Derefof(Refof(aui6)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 29, Local0, 0x322)
+ }
+
+ Store(Add(Derefof(Index(paui, 5)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 30, Local0, 0x321)
+
+ Store(Add(Derefof(Index(paui, 6)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 31, Local0, 0x322)
+
+ // Method returns Integer
+
+ Store(Add(m601(1, 5), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 32, Local0, 0x321)
+
+ Store(Add(m601(1, 6), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 33, Local0, 0x322)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(Derefof(m602(1, 5, 1)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 34, Local0, 0x321)
+
+ Store(Add(Derefof(m602(1, 6, 1)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 35, Local0, 0x322)
+ }
+
+ Add(0, Derefof(Refof(bf61)), Local0)
+ m600(arg0, 36, Local0, 0x321)
+
+ Add(1, Derefof(Refof(bf61)), Local0)
+ m600(arg0, 37, Local0, 0x322)
+
+ Add(aui5, Derefof(Refof(bf61)), Local0)
+ m600(arg0, 38, Local0, 0x321)
+
+ Add(aui6, Derefof(Refof(bf61)), Local0)
+ m600(arg0, 39, Local0, 0x322)
+
+ if (y078) {
+ Add(Derefof(Refof(aui5)), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 40, Local0, 0x321)
+
+ Add(Derefof(Refof(aui6)), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 41, Local0, 0x322)
+ }
+
+ Add(Derefof(Index(paui, 5)), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 42, Local0, 0x321)
+
+ Add(Derefof(Index(paui, 6)), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 43, Local0, 0x322)
+
+ // Method returns Integer
+
+ Add(m601(1, 5), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 44, Local0, 0x321)
+
+ Add(m601(1, 6), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 45, Local0, 0x322)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(Derefof(m602(1, 5, 1)), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 46, Local0, 0x321)
+
+ Add(Derefof(m602(1, 6, 1)), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 47, Local0, 0x322)
+ }
+ }
+
+ // Add, 64-bit
+ Method(m03c, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Add(Derefof(Refof(bf65)), 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(Refof(bf65)), 1), Local0)
+ m600(arg0, 1, Local0, 0xfe7cb391d650a285)
+
+ Store(Add(Derefof(Refof(bf65)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(Refof(bf65)), aui6), Local0)
+ m600(arg0, 3, Local0, 0xfe7cb391d650a285)
+
+ if (y078) {
+ Store(Add(Derefof(Refof(bf65)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(Refof(bf65)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xfe7cb391d650a285)
+ }
+
+ Store(Add(Derefof(Refof(bf65)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(Refof(bf65)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Integer
+
+ Store(Add(Derefof(Refof(bf65)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(Refof(bf65)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(Derefof(Refof(bf65)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(Refof(bf65)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfe7cb391d650a285)
+ }
+
+ Add(Derefof(Refof(bf65)), 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(Refof(bf65)), 1, Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a285)
+
+ Add(Derefof(Refof(bf65)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(Refof(bf65)), aui6, Local0)
+ m600(arg0, 15, Local0, 0xfe7cb391d650a285)
+
+ if (y078) {
+ Add(Derefof(Refof(bf65)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(Refof(bf65)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xfe7cb391d650a285)
+ }
+
+ Add(Derefof(Refof(bf65)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(Refof(bf65)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Integer
+
+ Add(Derefof(Refof(bf65)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(Refof(bf65)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(Derefof(Refof(bf65)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(Refof(bf65)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfe7cb391d650a285)
+ }
+
+ // Conversion of the second operand
+
+ Store(Add(0, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 24, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(1, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 25, Local0, 0xfe7cb391d650a285)
+
+ Store(Add(aui5, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 26, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(aui6, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 27, Local0, 0xfe7cb391d650a285)
+
+ if (y078) {
+ Store(Add(Derefof(Refof(aui5)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 28, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(Refof(aui6)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 29, Local0, 0xfe7cb391d650a285)
+ }
+
+ Store(Add(Derefof(Index(paui, 5)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 30, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(Index(paui, 6)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 31, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Integer
+
+ Store(Add(m601(1, 5), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 32, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(m601(1, 6), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 33, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(Derefof(m602(1, 5, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 34, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(m602(1, 6, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 35, Local0, 0xfe7cb391d650a285)
+ }
+
+ Add(0, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 36, Local0, 0xfe7cb391d650a284)
+
+ Add(1, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 37, Local0, 0xfe7cb391d650a285)
+
+ Add(aui5, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 38, Local0, 0xfe7cb391d650a284)
+
+ Add(aui6, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 39, Local0, 0xfe7cb391d650a285)
+
+ if (y078) {
+ Add(Derefof(Refof(aui5)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 40, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(Refof(aui6)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 41, Local0, 0xfe7cb391d650a285)
+ }
+
+ Add(Derefof(Index(paui, 5)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 42, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(Index(paui, 6)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 43, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Integer
+
+ Add(m601(1, 5), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 44, Local0, 0xfe7cb391d650a284)
+
+ Add(m601(1, 6), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 45, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(Derefof(m602(1, 5, 1)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 46, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(m602(1, 6, 1)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 47, Local0, 0xfe7cb391d650a285)
+ }
+
+ // Conversion of the both operands
+
+ Store(Add(Derefof(Refof(bf61)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 48, Local0, 0xfe7cb391d650a5a5)
+
+ Store(Add(Derefof(Refof(bf65)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 49, Local0, 0xfe7cb391d650a5a5)
+
+ Add(Derefof(Refof(bf61)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 50, Local0, 0xfe7cb391d650a5a5)
+
+ Add(Derefof(Refof(bf65)), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 51, Local0, 0xfe7cb391d650a5a5)
+ }
+
+ // Add, 32-bit
+ Method(m03d, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Add(Derefof(Refof(bf65)), 0), Local0)
+ m600(arg0, 0, Local0, 0xd650a284)
+
+ Store(Add(Derefof(Refof(bf65)), 1), Local0)
+ m600(arg0, 1, Local0, 0xd650a285)
+
+ Store(Add(Derefof(Refof(bf65)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xd650a284)
+
+ Store(Add(Derefof(Refof(bf65)), aui6), Local0)
+ m600(arg0, 3, Local0, 0xd650a285)
+
+ if (y078) {
+ Store(Add(Derefof(Refof(bf65)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xd650a284)
+
+ Store(Add(Derefof(Refof(bf65)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xd650a285)
+ }
+
+ Store(Add(Derefof(Refof(bf65)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xd650a284)
+
+ Store(Add(Derefof(Refof(bf65)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xd650a285)
+
+ // Method returns Integer
+
+ Store(Add(Derefof(Refof(bf65)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xd650a284)
+
+ Store(Add(Derefof(Refof(bf65)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xd650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(Derefof(Refof(bf65)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xd650a284)
+
+ Store(Add(Derefof(Refof(bf65)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xd650a285)
+ }
+
+ Add(Derefof(Refof(bf65)), 0, Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ Add(Derefof(Refof(bf65)), 1, Local0)
+ m600(arg0, 13, Local0, 0xd650a285)
+
+ Add(Derefof(Refof(bf65)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xd650a284)
+
+ Add(Derefof(Refof(bf65)), aui6, Local0)
+ m600(arg0, 15, Local0, 0xd650a285)
+
+ if (y078) {
+ Add(Derefof(Refof(bf65)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xd650a284)
+
+ Add(Derefof(Refof(bf65)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xd650a285)
+ }
+
+ Add(Derefof(Refof(bf65)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xd650a284)
+
+ Add(Derefof(Refof(bf65)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xd650a285)
+
+ // Method returns Integer
+
+ Add(Derefof(Refof(bf65)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xd650a284)
+
+ Add(Derefof(Refof(bf65)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xd650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(Derefof(Refof(bf65)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xd650a284)
+
+ Add(Derefof(Refof(bf65)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xd650a285)
+ }
+
+ // Conversion of the second operand
+
+ Store(Add(0, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 24, Local0, 0xd650a284)
+
+ Store(Add(1, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 25, Local0, 0xd650a285)
+
+ Store(Add(aui5, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 26, Local0, 0xd650a284)
+
+ Store(Add(aui6, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 27, Local0, 0xd650a285)
+
+ if (y078) {
+ Store(Add(Derefof(Refof(aui5)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 28, Local0, 0xd650a284)
+
+ Store(Add(Derefof(Refof(aui6)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 29, Local0, 0xd650a285)
+ }
+
+ Store(Add(Derefof(Index(paui, 5)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 30, Local0, 0xd650a284)
+
+ Store(Add(Derefof(Index(paui, 6)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 31, Local0, 0xd650a285)
+
+ // Method returns Integer
+
+ Store(Add(m601(1, 5), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 32, Local0, 0xd650a284)
+
+ Store(Add(m601(1, 6), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 33, Local0, 0xd650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(Derefof(m602(1, 5, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 34, Local0, 0xd650a284)
+
+ Store(Add(Derefof(m602(1, 6, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 35, Local0, 0xd650a285)
+ }
+
+ Add(0, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 36, Local0, 0xd650a284)
+
+ Add(1, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 37, Local0, 0xd650a285)
+
+ Add(aui5, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 38, Local0, 0xd650a284)
+
+ Add(aui6, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 39, Local0, 0xd650a285)
+
+ if (y078) {
+ Add(Derefof(Refof(aui5)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 40, Local0, 0xd650a284)
+
+ Add(Derefof(Refof(aui6)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 41, Local0, 0xd650a285)
+ }
+
+ Add(Derefof(Index(paui, 5)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 42, Local0, 0xd650a284)
+
+ Add(Derefof(Index(paui, 6)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 43, Local0, 0xd650a285)
+
+ // Method returns Integer
+
+ Add(m601(1, 5), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 44, Local0, 0xd650a284)
+
+ Add(m601(1, 6), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 45, Local0, 0xd650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(Derefof(m602(1, 5, 1)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 46, Local0, 0xd650a284)
+
+ Add(Derefof(m602(1, 6, 1)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 47, Local0, 0xd650a285)
+ }
+
+ // Conversion of the both operands
+
+ Store(Add(Derefof(Refof(bf61)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 48, Local0, 0xd650a5a5)
+
+ Store(Add(Derefof(Refof(bf65)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 49, Local0, 0xd650a5a5)
+
+ Add(Derefof(Refof(bf61)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 50, Local0, 0xd650a5a5)
+
+ Add(Derefof(Refof(bf65)), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 51, Local0, 0xd650a5a5)
+ }
+
+ // And, common 32-bit/64-bit test
+ Method(m03e, 1)
+ {
+ // Conversion of the first operand
+
+ Store(And(Derefof(Refof(bf61)), 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(And(Derefof(Refof(bf61)), 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0x321)
+
+ Store(And(Derefof(Refof(bf61)), aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(And(Derefof(Refof(bf61)), auij), Local0)
+ m600(arg0, 3, Local0, 0x321)
+
+ if (y078) {
+ Store(And(Derefof(Refof(bf61)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(And(Derefof(Refof(bf61)), Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0x321)
+ }
+
+ Store(And(Derefof(Refof(bf61)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(And(Derefof(Refof(bf61)), Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0x321)
+
+ // Method returns Integer
+
+ Store(And(Derefof(Refof(bf61)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(And(Derefof(Refof(bf61)), m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(Derefof(Refof(bf61)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(And(Derefof(Refof(bf61)), Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0x321)
+ }
+
+ And(Derefof(Refof(bf61)), 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ And(Derefof(Refof(bf61)), 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0x321)
+
+ And(Derefof(Refof(bf61)), aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ And(Derefof(Refof(bf61)), auij, Local0)
+ m600(arg0, 15, Local0, 0x321)
+
+ if (y078) {
+ And(Derefof(Refof(bf61)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ And(Derefof(Refof(bf61)), Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0x321)
+ }
+
+ And(Derefof(Refof(bf61)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ And(Derefof(Refof(bf61)), Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0x321)
+
+ // Method returns Integer
+
+ And(Derefof(Refof(bf61)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ And(Derefof(Refof(bf61)), m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(Derefof(Refof(bf61)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ And(Derefof(Refof(bf61)), Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0x321)
+ }
+
+ // Conversion of the second operand
+
+ Store(And(0, Derefof(Refof(bf61))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(And(0xffffffffffffffff, Derefof(Refof(bf61))), Local0)
+ m600(arg0, 25, Local0, 0x321)
+
+ Store(And(aui5, Derefof(Refof(bf61))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(And(auij, Derefof(Refof(bf61))), Local0)
+ m600(arg0, 27, Local0, 0x321)
+
+ if (y078) {
+ Store(And(Derefof(Refof(aui5)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(And(Derefof(Refof(auij)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 29, Local0, 0x321)
+ }
+
+ Store(And(Derefof(Index(paui, 5)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(And(Derefof(Index(paui, 19)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 31, Local0, 0x321)
+
+ // Method returns Integer
+
+ Store(And(m601(1, 5), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(And(m601(1, 19), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 33, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(Derefof(m602(1, 5, 1)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(And(Derefof(m602(1, 19, 1)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 35, Local0, 0x321)
+ }
+
+ And(0, Derefof(Refof(bf61)), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ And(0xffffffffffffffff, Derefof(Refof(bf61)), Local0)
+ m600(arg0, 37, Local0, 0x321)
+
+ And(aui5, Derefof(Refof(bf61)), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ And(auij, Derefof(Refof(bf61)), Local0)
+ m600(arg0, 39, Local0, 0x321)
+
+ if (y078) {
+ And(Derefof(Refof(aui5)), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ And(Derefof(Refof(auij)), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 41, Local0, 0x321)
+ }
+
+ And(Derefof(Index(paui, 5)), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ And(Derefof(Index(paui, 19)), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 43, Local0, 0x321)
+
+ // Method returns Integer
+
+ And(m601(1, 5), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ And(m601(1, 19), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 45, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(Derefof(m602(1, 5, 1)), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ And(Derefof(m602(1, 19, 1)), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 47, Local0, 0x321)
+ }
+ }
+
+ // And, 64-bit
+ Method(m03f, 1)
+ {
+ // Conversion of the first operand
+
+ Store(And(Derefof(Refof(bf65)), 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(And(Derefof(Refof(bf65)), 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xfe7cb391d650a284)
+
+ Store(And(Derefof(Refof(bf65)), aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(And(Derefof(Refof(bf65)), auij), Local0)
+ m600(arg0, 3, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Store(And(Derefof(Refof(bf65)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(And(Derefof(Refof(bf65)), Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xfe7cb391d650a284)
+ }
+
+ Store(And(Derefof(Refof(bf65)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(And(Derefof(Refof(bf65)), Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Store(And(Derefof(Refof(bf65)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(And(Derefof(Refof(bf65)), m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(Derefof(Refof(bf65)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(And(Derefof(Refof(bf65)), Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfe7cb391d650a284)
+ }
+
+ And(Derefof(Refof(bf65)), 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ And(Derefof(Refof(bf65)), 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a284)
+
+ And(Derefof(Refof(bf65)), aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ And(Derefof(Refof(bf65)), auij, Local0)
+ m600(arg0, 15, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ And(Derefof(Refof(bf65)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ And(Derefof(Refof(bf65)), Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xfe7cb391d650a284)
+ }
+
+ And(Derefof(Refof(bf65)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ And(Derefof(Refof(bf65)), Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ And(Derefof(Refof(bf65)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ And(Derefof(Refof(bf65)), m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(Derefof(Refof(bf65)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ And(Derefof(Refof(bf65)), Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfe7cb391d650a284)
+ }
+
+ // Conversion of the second operand
+
+ Store(And(0, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(And(0xffffffffffffffff, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 25, Local0, 0xfe7cb391d650a284)
+
+ Store(And(aui5, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(And(auij, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 27, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Store(And(Derefof(Refof(aui5)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(And(Derefof(Refof(auij)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 29, Local0, 0xfe7cb391d650a284)
+ }
+
+ Store(And(Derefof(Index(paui, 5)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(And(Derefof(Index(paui, 19)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 31, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Store(And(m601(1, 5), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(And(m601(1, 19), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 33, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(Derefof(m602(1, 5, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(And(Derefof(m602(1, 19, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 35, Local0, 0xfe7cb391d650a284)
+ }
+
+ And(0, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ And(0xffffffffffffffff, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 37, Local0, 0xfe7cb391d650a284)
+
+ And(aui5, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ And(auij, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 39, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ And(Derefof(Refof(aui5)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ And(Derefof(Refof(auij)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 41, Local0, 0xfe7cb391d650a284)
+ }
+
+ And(Derefof(Index(paui, 5)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ And(Derefof(Index(paui, 19)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 43, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ And(m601(1, 5), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ And(m601(1, 19), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 45, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(Derefof(m602(1, 5, 1)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ And(Derefof(m602(1, 19, 1)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 47, Local0, 0xfe7cb391d650a284)
+ }
+
+ // Conversion of the both operands
+
+ Store(And(Derefof(Refof(bf61)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 48, Local0, 0x200)
+
+ Store(And(Derefof(Refof(bf65)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 49, Local0, 0x200)
+
+ And(Derefof(Refof(bf61)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 50, Local0, 0x200)
+
+ And(Derefof(Refof(bf65)), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 51, Local0, 0x200)
+ }
+
+ // And, 32-bit
+ Method(m040, 1)
+ {
+ // Conversion of the first operand
+
+ Store(And(Derefof(Refof(bf65)), 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(And(Derefof(Refof(bf65)), 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0xd650a284)
+
+ Store(And(Derefof(Refof(bf65)), aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(And(Derefof(Refof(bf65)), auii), Local0)
+ m600(arg0, 3, Local0, 0xd650a284)
+
+ if (y078) {
+ Store(And(Derefof(Refof(bf65)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(And(Derefof(Refof(bf65)), Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0xd650a284)
+ }
+
+ Store(And(Derefof(Refof(bf65)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(And(Derefof(Refof(bf65)), Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0xd650a284)
+
+ // Method returns Integer
+
+ Store(And(Derefof(Refof(bf65)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(And(Derefof(Refof(bf65)), m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0xd650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(Derefof(Refof(bf65)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(And(Derefof(Refof(bf65)), Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0xd650a284)
+ }
+
+ And(Derefof(Refof(bf65)), 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ And(Derefof(Refof(bf65)), 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0xd650a284)
+
+ And(Derefof(Refof(bf65)), aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ And(Derefof(Refof(bf65)), auii, Local0)
+ m600(arg0, 15, Local0, 0xd650a284)
+
+ if (y078) {
+ And(Derefof(Refof(bf65)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ And(Derefof(Refof(bf65)), Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0xd650a284)
+ }
+
+ And(Derefof(Refof(bf65)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ And(Derefof(Refof(bf65)), Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0xd650a284)
+
+ // Method returns Integer
+
+ And(Derefof(Refof(bf65)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ And(Derefof(Refof(bf65)), m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0xd650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(Derefof(Refof(bf65)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ And(Derefof(Refof(bf65)), Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0xd650a284)
+ }
+
+ // Conversion of the second operand
+
+ Store(And(0, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(And(0xffffffff, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 25, Local0, 0xd650a284)
+
+ Store(And(aui5, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(And(auii, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 27, Local0, 0xd650a284)
+
+ if (y078) {
+ Store(And(Derefof(Refof(aui5)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(And(Derefof(Refof(auii)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 29, Local0, 0xd650a284)
+ }
+
+ Store(And(Derefof(Index(paui, 5)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(And(Derefof(Index(paui, 18)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 31, Local0, 0xd650a284)
+
+ // Method returns Integer
+
+ Store(And(m601(1, 5), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(And(m601(1, 18), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 33, Local0, 0xd650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(Derefof(m602(1, 5, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(And(Derefof(m602(1, 18, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 35, Local0, 0xd650a284)
+ }
+
+ And(0, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ And(0xffffffff, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 37, Local0, 0xd650a284)
+
+ And(aui5, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ And(auii, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 39, Local0, 0xd650a284)
+
+ if (y078) {
+ And(Derefof(Refof(aui5)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ And(Derefof(Refof(auii)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 41, Local0, 0xd650a284)
+ }
+
+ And(Derefof(Index(paui, 5)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ And(Derefof(Index(paui, 18)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 43, Local0, 0xd650a284)
+
+ // Method returns Integer
+
+ And(m601(1, 5), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ And(m601(1, 18), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 45, Local0, 0xd650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(Derefof(m602(1, 5, 1)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ And(Derefof(m602(1, 18, 1)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 47, Local0, 0xd650a284)
+ }
+
+ // Conversion of the both operands
+
+ Store(And(Derefof(Refof(bf61)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 48, Local0, 0x200)
+
+ Store(And(Derefof(Refof(bf65)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 49, Local0, 0x200)
+
+ And(Derefof(Refof(bf61)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 50, Local0, 0x200)
+
+ And(Derefof(Refof(bf65)), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 51, Local0, 0x200)
+ }
+
+ // Divide, common 32-bit/64-bit test
+ Method(m041, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Divide(Derefof(Refof(bf61)), 1), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Divide(Derefof(Refof(bf61)), 0x321), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Divide(Derefof(Refof(bf61)), aui6), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Divide(Derefof(Refof(bf61)), aui1), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Divide(Derefof(Refof(bf61)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Divide(Derefof(Refof(bf61)), Derefof(Refof(aui1))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Divide(Derefof(Refof(bf61)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Divide(Derefof(Refof(bf61)), Derefof(Index(paui, 1))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(Derefof(Refof(bf61)), m601(1, 6)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Divide(Derefof(Refof(bf61)), m601(1, 1)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(Derefof(Refof(bf61)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Divide(Derefof(Refof(bf61)), Derefof(m602(1, 1, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Divide(Derefof(Refof(bf61)), 1, Local1, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Divide(Derefof(Refof(bf61)), 0x321, Local1, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Divide(Derefof(Refof(bf61)), aui6, Local1, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Divide(Derefof(Refof(bf61)), aui1, Local1, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Divide(Derefof(Refof(bf61)), Derefof(Refof(aui6)), Local1, Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Divide(Derefof(Refof(bf61)), Derefof(Refof(aui1)), Local1, Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Divide(Derefof(Refof(bf61)), Derefof(Index(paui, 6)), Local1, Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Divide(Derefof(Refof(bf61)), Derefof(Index(paui, 1)), Local1, Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(Derefof(Refof(bf61)), m601(1, 6), Local1, Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Divide(Derefof(Refof(bf61)), m601(1, 1), Local1, Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(Derefof(Refof(bf61)), Derefof(m602(1, 6, 1)), Local1, Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Divide(Derefof(Refof(bf61)), Derefof(m602(1, 1, 1)), Local1, Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Divide(1, Derefof(Refof(bf61))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Divide(0x321, Derefof(Refof(bf61))), Local0)
+ m600(arg0, 25, Local0, 1)
+
+ Store(Divide(aui6, Derefof(Refof(bf61))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Divide(aui1, Derefof(Refof(bf61))), Local0)
+ m600(arg0, 27, Local0, 1)
+
+ if (y078) {
+ Store(Divide(Derefof(Refof(aui6)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Divide(Derefof(Refof(aui1)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 29, Local0, 1)
+ }
+
+ Store(Divide(Derefof(Index(paui, 6)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Divide(Derefof(Index(paui, 1)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 31, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(m601(1, 6), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Divide(m601(1, 1), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 33, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(Derefof(m602(1, 6, 1)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Divide(Derefof(m602(1, 1, 1)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 35, Local0, 1)
+ }
+
+ Divide(1, Derefof(Refof(bf61)), Local1, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Divide(0x321, Derefof(Refof(bf61)), Local1, Local0)
+ m600(arg0, 37, Local0, 1)
+
+ Divide(aui6, Derefof(Refof(bf61)), Local1, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Divide(aui1, Derefof(Refof(bf61)), Local1, Local0)
+ m600(arg0, 39, Local0, 1)
+
+ if (y078) {
+ Divide(Derefof(Refof(aui6)), Derefof(Refof(bf61)), Local1, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Divide(Derefof(Refof(aui1)), Derefof(Refof(bf61)), Local1, Local0)
+ m600(arg0, 41, Local0, 1)
+ }
+
+ Divide(Derefof(Index(paui, 6)), Derefof(Refof(bf61)), Local1, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Divide(Derefof(Index(paui, 1)), Derefof(Refof(bf61)), Local1, Local0)
+ m600(arg0, 43, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(m601(1, 6), Derefof(Refof(bf61)), Local1, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Divide(m601(1, 1), Derefof(Refof(bf61)), Local1, Local0)
+ m600(arg0, 45, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(Derefof(m602(1, 6, 1)), Derefof(Refof(bf61)), Local1, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Divide(Derefof(m602(1, 1, 1)), Derefof(Refof(bf61)), Local1, Local0)
+ m600(arg0, 47, Local0, 1)
+ }
+ }
+
+ // Divide, 64-bit
+ Method(m042, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Divide(Derefof(Refof(bf65)), 1), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(Derefof(Refof(bf65)), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Divide(Derefof(Refof(bf65)), aui6), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(Derefof(Refof(bf65)), aui4), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Divide(Derefof(Refof(bf65)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(Derefof(Refof(bf65)), Derefof(Refof(aui4))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Divide(Derefof(Refof(bf65)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(Derefof(Refof(bf65)), Derefof(Index(paui, 4))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(Derefof(Refof(bf65)), m601(1, 6)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(Derefof(Refof(bf65)), m601(1, 4)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(Derefof(Refof(bf65)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(Derefof(Refof(bf65)), Derefof(m602(1, 4, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Divide(Derefof(Refof(bf65)), 1, Local1, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Divide(Derefof(Refof(bf65)), 0xfe7cb391d650a284, Local1, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Divide(Derefof(Refof(bf65)), aui6, Local1, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Divide(Derefof(Refof(bf65)), aui4, Local1, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Divide(Derefof(Refof(bf65)), Derefof(Refof(aui6)), Local1, Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Divide(Derefof(Refof(bf65)), Derefof(Refof(aui4)), Local1, Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Divide(Derefof(Refof(bf65)), Derefof(Index(paui, 6)), Local1, Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Divide(Derefof(Refof(bf65)), Derefof(Index(paui, 4)), Local1, Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(Derefof(Refof(bf65)), m601(1, 6), Local1, Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Divide(Derefof(Refof(bf65)), m601(1, 4), Local1, Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(Derefof(Refof(bf65)), Derefof(m602(1, 6, 1)), Local1, Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Divide(Derefof(Refof(bf65)), Derefof(m602(1, 4, 1)), Local1, Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Divide(1, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Divide(0xfe7cb391d650a284, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 25, Local0, 1)
+
+ Store(Divide(aui6, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Divide(aui4, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 27, Local0, 1)
+
+ if (y078) {
+ Store(Divide(Derefof(Refof(aui6)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Divide(Derefof(Refof(aui4)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 29, Local0, 1)
+ }
+
+ Store(Divide(Derefof(Index(paui, 6)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Divide(Derefof(Index(paui, 4)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 31, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(m601(1, 6), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Divide(m601(1, 4), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 33, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(Derefof(m602(1, 6, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Divide(Derefof(m602(1, 4, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 35, Local0, 1)
+ }
+
+ Divide(1, Derefof(Refof(bf65)), Local1, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Divide(0xfe7cb391d650a284, Derefof(Refof(bf65)), Local1, Local0)
+ m600(arg0, 37, Local0, 1)
+
+ Divide(aui6, Derefof(Refof(bf65)), Local1, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Divide(aui4, Derefof(Refof(bf65)), Local1, Local0)
+ m600(arg0, 39, Local0, 1)
+
+ if (y078) {
+ Divide(Derefof(Refof(aui6)), Derefof(Refof(bf65)), Local1, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Divide(Derefof(Refof(aui4)), Derefof(Refof(bf65)), Local1, Local0)
+ m600(arg0, 41, Local0, 1)
+ }
+
+ Divide(Derefof(Index(paui, 6)), Derefof(Refof(bf65)), Local1, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Divide(Derefof(Index(paui, 4)), Derefof(Refof(bf65)), Local1, Local0)
+ m600(arg0, 43, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(m601(1, 6), Derefof(Refof(bf65)), Local1, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Divide(m601(1, 4), Derefof(Refof(bf65)), Local1, Local0)
+ m600(arg0, 45, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(Derefof(m602(1, 6, 1)), Derefof(Refof(bf65)), Local1, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Divide(Derefof(m602(1, 4, 1)), Derefof(Refof(bf65)), Local1, Local0)
+ m600(arg0, 47, Local0, 1)
+ }
+
+ // Conversion of the both operands
+
+ Store(Divide(Derefof(Refof(bf61)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 48, Local0, 0)
+
+ Store(Divide(Derefof(Refof(bf65)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 49, Local0, 0x0051558eb950f5a7)
+
+ Divide(Derefof(Refof(bf61)), Derefof(Refof(bf65)), Local1, Local0)
+ m600(arg0, 50, Local0, 0)
+
+ Divide(Derefof(Refof(bf65)), Derefof(Refof(bf61)), Local1, Local0)
+ m600(arg0, 51, Local0, 0x0051558eb950f5a7)
+ }
+
+ // Divide, 32-bit
+ Method(m043, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Divide(Derefof(Refof(bf65)), 1), Local0)
+ m600(arg0, 0, Local0, 0xd650a284)
+
+ Store(Divide(Derefof(Refof(bf65)), 0xd650a284), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Divide(Derefof(Refof(bf65)), aui6), Local0)
+ m600(arg0, 2, Local0, 0xd650a284)
+
+ Store(Divide(Derefof(Refof(bf65)), auik), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Divide(Derefof(Refof(bf65)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 4, Local0, 0xd650a284)
+
+ Store(Divide(Derefof(Refof(bf65)), Derefof(Refof(auik))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Divide(Derefof(Refof(bf65)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 6, Local0, 0xd650a284)
+
+ Store(Divide(Derefof(Refof(bf65)), Derefof(Index(paui, 20))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(Derefof(Refof(bf65)), m601(1, 6)), Local0)
+ m600(arg0, 8, Local0, 0xd650a284)
+
+ Store(Divide(Derefof(Refof(bf65)), m601(1, 20)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(Derefof(Refof(bf65)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 10, Local0, 0xd650a284)
+
+ Store(Divide(Derefof(Refof(bf65)), Derefof(m602(1, 20, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Divide(Derefof(Refof(bf65)), 1, Local1, Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ Divide(Derefof(Refof(bf65)), 0xd650a284, Local1, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Divide(Derefof(Refof(bf65)), aui6, Local1, Local0)
+ m600(arg0, 14, Local0, 0xd650a284)
+
+ Divide(Derefof(Refof(bf65)), auik, Local1, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Divide(Derefof(Refof(bf65)), Derefof(Refof(aui6)), Local1, Local0)
+ m600(arg0, 16, Local0, 0xd650a284)
+
+ Divide(Derefof(Refof(bf65)), Derefof(Refof(auik)), Local1, Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Divide(Derefof(Refof(bf65)), Derefof(Index(paui, 6)), Local1, Local0)
+ m600(arg0, 18, Local0, 0xd650a284)
+
+ Divide(Derefof(Refof(bf65)), Derefof(Index(paui, 20)), Local1, Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(Derefof(Refof(bf65)), m601(1, 6), Local1, Local0)
+ m600(arg0, 20, Local0, 0xd650a284)
+
+ Divide(Derefof(Refof(bf65)), m601(1, 20), Local1, Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(Derefof(Refof(bf65)), Derefof(m602(1, 6, 1)), Local1, Local0)
+ m600(arg0, 22, Local0, 0xd650a284)
+
+ Divide(Derefof(Refof(bf65)), Derefof(m602(1, 20, 1)), Local1, Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Divide(1, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Divide(0xd650a284, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 25, Local0, 1)
+
+ Store(Divide(aui6, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Divide(auik, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 27, Local0, 1)
+
+ if (y078) {
+ Store(Divide(Derefof(Refof(aui6)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Divide(Derefof(Refof(auik)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 29, Local0, 1)
+ }
+
+ Store(Divide(Derefof(Index(paui, 6)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Divide(Derefof(Index(paui, 20)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 31, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(m601(1, 6), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Divide(m601(1, 20), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 33, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(Derefof(m602(1, 6, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Divide(Derefof(m602(1, 20, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 35, Local0, 1)
+ }
+
+ Divide(1, Derefof(Refof(bf65)), Local1, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Divide(0xd650a284, Derefof(Refof(bf65)), Local1, Local0)
+ m600(arg0, 37, Local0, 1)
+
+ Divide(aui6, Derefof(Refof(bf65)), Local1, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Divide(auik, Derefof(Refof(bf65)), Local1, Local0)
+ m600(arg0, 39, Local0, 1)
+
+ if (y078) {
+ Divide(Derefof(Refof(aui6)), Derefof(Refof(bf65)), Local1, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Divide(Derefof(Refof(auik)), Derefof(Refof(bf65)), Local1, Local0)
+ m600(arg0, 41, Local0, 1)
+ }
+
+ Divide(Derefof(Index(paui, 6)), Derefof(Refof(bf65)), Local1, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Divide(Derefof(Index(paui, 20)), Derefof(Refof(bf65)), Local1, Local0)
+ m600(arg0, 43, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(m601(1, 6), Derefof(Refof(bf65)), Local1, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Divide(m601(1, 20), Derefof(Refof(bf65)), Local1, Local0)
+ m600(arg0, 45, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(Derefof(m602(1, 6, 1)), Derefof(Refof(bf65)), Local1, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Divide(Derefof(m602(1, 20, 1)), Derefof(Refof(bf65)), Local1, Local0)
+ m600(arg0, 47, Local0, 1)
+ }
+
+ // Conversion of the both operands
+
+ Store(Divide(Derefof(Refof(bf61)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 48, Local0, 0)
+
+ Store(Divide(Derefof(Refof(bf65)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 49, Local0, 0x00447ec3)
+
+ Divide(Derefof(Refof(bf61)), Derefof(Refof(bf65)), Local1, Local0)
+ m600(arg0, 50, Local0, 0)
+
+ Divide(Derefof(Refof(bf65)), Derefof(Refof(bf61)), Local1, Local0)
+ m600(arg0, 51, Local0, 0x00447ec3)
+ }
+
+ // Mod, common 32-bit/64-bit test
+ Method(m044, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Mod(Derefof(Refof(bf61)), 0x322), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Mod(Derefof(Refof(bf61)), 0x320), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Mod(Derefof(Refof(bf61)), auig), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Mod(Derefof(Refof(bf61)), auih), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Mod(Derefof(Refof(bf61)), Derefof(Refof(auig))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Mod(Derefof(Refof(bf61)), Derefof(Refof(auih))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Mod(Derefof(Refof(bf61)), Derefof(Index(paui, 16))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Mod(Derefof(Refof(bf61)), Derefof(Index(paui, 17))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Mod(Derefof(Refof(bf61)), m601(1, 16)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Mod(Derefof(Refof(bf61)), m601(1, 17)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(Derefof(Refof(bf61)), Derefof(m602(1, 16, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Mod(Derefof(Refof(bf61)), Derefof(m602(1, 17, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Mod(Derefof(Refof(bf61)), 0x322, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Mod(Derefof(Refof(bf61)), 0x320, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Mod(Derefof(Refof(bf61)), auig, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Mod(Derefof(Refof(bf61)), auih, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Mod(Derefof(Refof(bf61)), Derefof(Refof(auig)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Mod(Derefof(Refof(bf61)), Derefof(Refof(auih)), Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Mod(Derefof(Refof(bf61)), Derefof(Index(paui, 16)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Mod(Derefof(Refof(bf61)), Derefof(Index(paui, 17)), Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Mod(Derefof(Refof(bf61)), m601(1, 16), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Mod(Derefof(Refof(bf61)), m601(1, 17), Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(Derefof(Refof(bf61)), Derefof(m602(1, 16, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Mod(Derefof(Refof(bf61)), Derefof(m602(1, 17, 1)), Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Mod(0x322, Derefof(Refof(bf61))), Local0)
+ m600(arg0, 24, Local0, 1)
+
+ Store(Mod(0x320, Derefof(Refof(bf61))), Local0)
+ m600(arg0, 25, Local0, 0x320)
+
+ Store(Mod(auig, Derefof(Refof(bf61))), Local0)
+ m600(arg0, 26, Local0, 1)
+
+ Store(Mod(auih, Derefof(Refof(bf61))), Local0)
+ m600(arg0, 27, Local0, 0x320)
+
+ if (y078) {
+ Store(Mod(Derefof(Refof(auig)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 28, Local0, 1)
+
+ Store(Mod(Derefof(Refof(auih)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 29, Local0, 0x320)
+ }
+
+ Store(Mod(Derefof(Index(paui, 16)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 30, Local0, 1)
+
+ Store(Mod(Derefof(Index(paui, 17)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 31, Local0, 0x320)
+
+ // Method returns Integer
+
+ Store(Mod(m601(1, 16), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 32, Local0, 1)
+
+ Store(Mod(m601(1, 17), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 33, Local0, 0x320)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(Derefof(m602(1, 16, 1)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 34, Local0, 1)
+
+ Store(Mod(Derefof(m602(1, 17, 1)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 35, Local0, 0x320)
+ }
+
+ Mod(0x322, Derefof(Refof(bf61)), Local0)
+ m600(arg0, 36, Local0, 1)
+
+ Mod(0x320, Derefof(Refof(bf61)), Local0)
+ m600(arg0, 37, Local0, 0x320)
+
+ Mod(auig, Derefof(Refof(bf61)), Local0)
+ m600(arg0, 38, Local0, 1)
+
+ Mod(auih, Derefof(Refof(bf61)), Local0)
+ m600(arg0, 39, Local0, 0x320)
+
+ if (y078) {
+ Mod(Derefof(Refof(auig)), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 40, Local0, 1)
+
+ Mod(Derefof(Refof(auih)), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 41, Local0, 0x320)
+ }
+
+ Mod(Derefof(Index(paui, 16)), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 42, Local0, 1)
+
+ Mod(Derefof(Index(paui, 17)), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 43, Local0, 0x320)
+
+ // Method returns Integer
+
+ Mod(m601(1, 16), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 44, Local0, 1)
+
+ Mod(m601(1, 17), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 45, Local0, 0x320)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(Derefof(m602(1, 16, 1)), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 46, Local0, 1)
+
+ Mod(Derefof(m602(1, 17, 1)), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 47, Local0, 0x320)
+ }
+ }
+
+ // Mod, 64-bit
+ Method(m045, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Mod(Derefof(Refof(bf65)), 0xfe7cb391d650a285), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(Derefof(Refof(bf65)), 0xfe7cb391d650a283), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Mod(Derefof(Refof(bf65)), auid), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(Derefof(Refof(bf65)), auif), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Mod(Derefof(Refof(bf65)), Derefof(Refof(auid))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(Derefof(Refof(bf65)), Derefof(Refof(auif))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Mod(Derefof(Refof(bf65)), Derefof(Index(paui, 13))), Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(Derefof(Refof(bf65)), Derefof(Index(paui, 15))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Mod(Derefof(Refof(bf65)), m601(1, 13)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(Derefof(Refof(bf65)), m601(1, 15)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(Derefof(Refof(bf65)), Derefof(m602(1, 13, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(Derefof(Refof(bf65)), Derefof(m602(1, 15, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Mod(Derefof(Refof(bf65)), 0xfe7cb391d650a285, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Mod(Derefof(Refof(bf65)), 0xfe7cb391d650a283, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Mod(Derefof(Refof(bf65)), auid, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Mod(Derefof(Refof(bf65)), auif, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Mod(Derefof(Refof(bf65)), Derefof(Refof(auid)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Mod(Derefof(Refof(bf65)), Derefof(Refof(auif)), Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Mod(Derefof(Refof(bf65)), Derefof(Index(paui, 13)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Mod(Derefof(Refof(bf65)), Derefof(Index(paui, 15)), Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Mod(Derefof(Refof(bf65)), m601(1, 13), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Mod(Derefof(Refof(bf65)), m601(1, 15), Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(Derefof(Refof(bf65)), Derefof(m602(1, 13, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Mod(Derefof(Refof(bf65)), Derefof(m602(1, 15, 1)), Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Mod(0xfe7cb391d650a285, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 24, Local0, 1)
+
+ Store(Mod(0xfe7cb391d650a283, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 25, Local0, 0xfe7cb391d650a283)
+
+ Store(Mod(auid, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 26, Local0, 1)
+
+ Store(Mod(auif, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 27, Local0, 0xfe7cb391d650a283)
+
+ if (y078) {
+ Store(Mod(Derefof(Refof(auid)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 28, Local0, 1)
+
+ Store(Mod(Derefof(Refof(auif)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 29, Local0, 0xfe7cb391d650a283)
+ }
+
+ Store(Mod(Derefof(Index(paui, 13)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 30, Local0, 1)
+
+ Store(Mod(Derefof(Index(paui, 15)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 31, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Integer
+
+ Store(Mod(m601(1, 13), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 32, Local0, 1)
+
+ Store(Mod(m601(1, 15), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 33, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(Derefof(m602(1, 13, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 34, Local0, 1)
+
+ Store(Mod(Derefof(m602(1, 15, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 35, Local0, 0xfe7cb391d650a283)
+ }
+
+ Mod(0xfe7cb391d650a285, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 36, Local0, 1)
+
+ Mod(0xfe7cb391d650a283, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 37, Local0, 0xfe7cb391d650a283)
+
+ Mod(auid, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 38, Local0, 1)
+
+ Mod(auif, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 39, Local0, 0xfe7cb391d650a283)
+
+ if (y078) {
+ Mod(Derefof(Refof(auid)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 40, Local0, 1)
+
+ Mod(Derefof(Refof(auif)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 41, Local0, 0xfe7cb391d650a283)
+ }
+
+ Mod(Derefof(Index(paui, 13)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 42, Local0, 1)
+
+ Mod(Derefof(Index(paui, 15)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 43, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Integer
+
+ Mod(m601(1, 13), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 44, Local0, 1)
+
+ Mod(m601(1, 15), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 45, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(Derefof(m602(1, 13, 1)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 46, Local0, 1)
+
+ Mod(Derefof(m602(1, 15, 1)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 47, Local0, 0xfe7cb391d650a283)
+ }
+
+ // Conversion of the both operands
+
+ Store(Mod(Derefof(Refof(bf61)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 48, Local0, 0x321)
+
+ Store(Mod(Derefof(Refof(bf65)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 49, Local0, 0x2fd)
+
+ Mod(Derefof(Refof(bf61)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 50, Local0, 0x321)
+
+ Mod(Derefof(Refof(bf65)), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 51, Local0, 0x2fd)
+ }
+
+ // Mod, 32-bit
+ Method(m046, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Mod(Derefof(Refof(bf65)), 0xd650a285), Local0)
+ m600(arg0, 0, Local0, 0xd650a284)
+
+ Store(Mod(Derefof(Refof(bf65)), 0xd650a283), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Mod(Derefof(Refof(bf65)), auil), Local0)
+ m600(arg0, 2, Local0, 0xd650a284)
+
+ Store(Mod(Derefof(Refof(bf65)), auim), Local0)
+ m600(arg0, 14, Local0, 1)
+
+ if (y078) {
+ Store(Mod(Derefof(Refof(bf65)), Derefof(Refof(auil))), Local0)
+ m600(arg0, 4, Local0, 0xd650a284)
+
+ Store(Mod(Derefof(Refof(bf65)), Derefof(Refof(auim))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Mod(Derefof(Refof(bf65)), Derefof(Index(paui, 21))), Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ Store(Mod(Derefof(Refof(bf65)), Derefof(Index(paui, 22))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Mod(Derefof(Refof(bf65)), m601(1, 21)), Local0)
+ m600(arg0, 8, Local0, 0xd650a284)
+
+ Store(Mod(Derefof(Refof(bf65)), m601(1, 22)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(Derefof(Refof(bf65)), Derefof(m601(1, 21, 1))), Local0)
+ m600(arg0, 10, Local0, 0xd650a284)
+
+ Store(Mod(Derefof(Refof(bf65)), Derefof(m601(1, 22, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Mod(Derefof(Refof(bf65)), 0xd650a285, Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ Mod(Derefof(Refof(bf65)), 0xd650a283, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Mod(Derefof(Refof(bf65)), auil, Local0)
+ m600(arg0, 14, Local0, 0xd650a284)
+
+ Mod(Derefof(Refof(bf65)), auim, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Mod(Derefof(Refof(bf65)), Derefof(Refof(auil)), Local0)
+ m600(arg0, 16, Local0, 0xd650a284)
+
+ Mod(Derefof(Refof(bf65)), Derefof(Refof(auim)), Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Mod(Derefof(Refof(bf65)), Derefof(Index(paui, 21)), Local0)
+ m600(arg0, 18, Local0, 0xd650a284)
+
+ Mod(Derefof(Refof(bf65)), Derefof(Index(paui, 22)), Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Mod(Derefof(Refof(bf65)), m601(1, 21), Local0)
+ m600(arg0, 20, Local0, 0xd650a284)
+
+ Mod(Derefof(Refof(bf65)), m601(1, 22), Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(Derefof(Refof(bf65)), Derefof(m601(1, 21, 1)), Local0)
+ m600(arg0, 22, Local0, 0xd650a284)
+
+ Mod(Derefof(Refof(bf65)), Derefof(m601(1, 22, 1)), Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Mod(0xd650a285, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 24, Local0, 1)
+
+ Store(Mod(0xd650a283, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 25, Local0, 0xd650a283)
+
+ Store(Mod(auil, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 26, Local0, 1)
+
+ Store(Mod(auim, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 27, Local0, 0xd650a283)
+
+ if (y078) {
+ Store(Mod(Derefof(Refof(auil)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 28, Local0, 1)
+
+ Store(Mod(Derefof(Refof(auim)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 29, Local0, 0xd650a283)
+ }
+
+ Store(Mod(Derefof(Index(paui, 21)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 30, Local0, 1)
+
+ Store(Mod(Derefof(Index(paui, 22)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 31, Local0, 0xd650a283)
+
+ // Method returns Integer
+
+ Store(Mod(m601(1, 21), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 32, Local0, 1)
+
+ Store(Mod(m601(1, 22), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 33, Local0, 0xd650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(Derefof(m601(1, 21, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 34, Local0, 1)
+
+ Store(Mod(Derefof(m601(1, 22, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 35, Local0, 0xd650a283)
+ }
+
+ Mod(0xd650a285, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 36, Local0, 1)
+
+ Mod(0xd650a283, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 37, Local0, 0xd650a283)
+
+ Mod(auil, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 38, Local0, 1)
+
+ Mod(auim, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 39, Local0, 0xd650a283)
+
+ if (y078) {
+ Mod(Derefof(Refof(auil)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 40, Local0, 1)
+
+ Mod(Derefof(Refof(auim)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 41, Local0, 0xd650a283)
+ }
+
+ Mod(Derefof(Index(paui, 21)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 42, Local0, 1)
+
+ Mod(Derefof(Index(paui, 22)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 43, Local0, 0xd650a283)
+
+ // Method returns Integer
+
+ Mod(m601(1, 21), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 44, Local0, 1)
+
+ Mod(m601(1, 22), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 45, Local0, 0xd650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(Derefof(m601(1, 21, 1)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 46, Local0, 1)
+
+ Mod(Derefof(m601(1, 22, 1)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 47, Local0, 0xd650a283)
+ }
+
+ // Conversion of the both operands
+
+ Store(Mod(Derefof(Refof(bf61)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 48, Local0, 0x321)
+
+ Store(Mod(Derefof(Refof(bf65)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 49, Local0, 0x261)
+
+ Mod(Derefof(Refof(bf61)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 50, Local0, 0x321)
+
+ Mod(Derefof(Refof(bf65)), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 51, Local0, 0x261)
+ }
+
+ // Multiply, common 32-bit/64-bit test
+ Method(m047, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Multiply(Derefof(Refof(bf61)), 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(bf61)), 1), Local0)
+ m600(arg0, 1, Local0, 0x321)
+
+ Store(Multiply(Derefof(Refof(bf61)), aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(bf61)), aui6), Local0)
+ m600(arg0, 3, Local0, 0x321)
+
+ if (y078) {
+ Store(Multiply(Derefof(Refof(bf61)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(bf61)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x321)
+ }
+
+ Store(Multiply(Derefof(Refof(bf61)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(bf61)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x321)
+
+ // Method returns Integer
+
+ Store(Multiply(Derefof(Refof(bf61)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(bf61)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(Derefof(Refof(bf61)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(bf61)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x321)
+ }
+
+ Multiply(Derefof(Refof(bf61)), 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ Multiply(Derefof(Refof(bf61)), 1, Local0)
+ m600(arg0, 13, Local0, 0x321)
+
+ Multiply(Derefof(Refof(bf61)), aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ Multiply(Derefof(Refof(bf61)), aui6, Local0)
+ m600(arg0, 15, Local0, 0x321)
+
+ if (y078) {
+ Multiply(Derefof(Refof(bf61)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ Multiply(Derefof(Refof(bf61)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x321)
+ }
+
+ Multiply(Derefof(Refof(bf61)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ Multiply(Derefof(Refof(bf61)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x321)
+
+ // Method returns Integer
+
+ Multiply(Derefof(Refof(bf61)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ Multiply(Derefof(Refof(bf61)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(Derefof(Refof(bf61)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ Multiply(Derefof(Refof(bf61)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x321)
+ }
+
+ // Conversion of the second operand
+
+ Store(Multiply(0, Derefof(Refof(bf61))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Multiply(1, Derefof(Refof(bf61))), Local0)
+ m600(arg0, 25, Local0, 0x321)
+
+ Store(Multiply(aui5, Derefof(Refof(bf61))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Multiply(aui6, Derefof(Refof(bf61))), Local0)
+ m600(arg0, 27, Local0, 0x321)
+
+ if (y078) {
+ Store(Multiply(Derefof(Refof(aui5)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(aui6)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 29, Local0, 0x321)
+ }
+
+ Store(Multiply(Derefof(Index(paui, 5)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Multiply(Derefof(Index(paui, 6)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 31, Local0, 0x321)
+
+ // Method returns Integer
+
+ Store(Multiply(m601(1, 5), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Multiply(m601(1, 6), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 33, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(Derefof(m602(1, 5, 1)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Multiply(Derefof(m602(1, 6, 1)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 35, Local0, 0x321)
+ }
+
+ Multiply(0, Derefof(Refof(bf61)), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Multiply(1, Derefof(Refof(bf61)), Local0)
+ m600(arg0, 37, Local0, 0x321)
+
+ Multiply(aui5, Derefof(Refof(bf61)), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Multiply(aui6, Derefof(Refof(bf61)), Local0)
+ m600(arg0, 39, Local0, 0x321)
+
+ if (y078) {
+ Multiply(Derefof(Refof(aui5)), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Multiply(Derefof(Refof(aui6)), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 41, Local0, 0x321)
+ }
+
+ Multiply(Derefof(Index(paui, 5)), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Multiply(Derefof(Index(paui, 6)), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 43, Local0, 0x321)
+
+ // Method returns Integer
+
+ Multiply(m601(1, 5), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Multiply(m601(1, 6), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 45, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(Derefof(m602(1, 5, 1)), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Multiply(Derefof(m602(1, 6, 1)), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 47, Local0, 0x321)
+ }
+ }
+
+ // Multiply, 64-bit
+ Method(m048, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Multiply(Derefof(Refof(bf65)), 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(bf65)), 1), Local0)
+ m600(arg0, 1, Local0, 0xfe7cb391d650a284)
+
+ Store(Multiply(Derefof(Refof(bf65)), aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(bf65)), aui6), Local0)
+ m600(arg0, 3, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Store(Multiply(Derefof(Refof(bf65)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(bf65)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xfe7cb391d650a284)
+ }
+
+ Store(Multiply(Derefof(Refof(bf65)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(bf65)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Store(Multiply(Derefof(Refof(bf65)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(bf65)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(Derefof(Refof(bf65)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(bf65)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfe7cb391d650a284)
+ }
+
+ Multiply(Derefof(Refof(bf65)), 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ Multiply(Derefof(Refof(bf65)), 1, Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a284)
+
+ Multiply(Derefof(Refof(bf65)), aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ Multiply(Derefof(Refof(bf65)), aui6, Local0)
+ m600(arg0, 15, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Multiply(Derefof(Refof(bf65)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ Multiply(Derefof(Refof(bf65)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xfe7cb391d650a284)
+ }
+
+ Multiply(Derefof(Refof(bf65)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ Multiply(Derefof(Refof(bf65)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Multiply(Derefof(Refof(bf65)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ Multiply(Derefof(Refof(bf65)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(Derefof(Refof(bf65)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ Multiply(Derefof(Refof(bf65)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfe7cb391d650a284)
+ }
+
+ // Conversion of the second operand
+
+ Store(Multiply(0, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Multiply(1, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 25, Local0, 0xfe7cb391d650a284)
+
+ Store(Multiply(aui5, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Multiply(aui6, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 27, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Store(Multiply(Derefof(Refof(aui5)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(aui6)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 29, Local0, 0xfe7cb391d650a284)
+ }
+
+ Store(Multiply(Derefof(Index(paui, 5)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Multiply(Derefof(Index(paui, 6)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 31, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Store(Multiply(m601(1, 5), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Multiply(m601(1, 6), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 33, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(Derefof(m602(1, 5, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Multiply(Derefof(m602(1, 6, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 35, Local0, 0xfe7cb391d650a284)
+ }
+
+ Multiply(0, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Multiply(1, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 37, Local0, 0xfe7cb391d650a284)
+
+ Multiply(aui5, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Multiply(aui6, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 39, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Multiply(Derefof(Refof(aui5)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Multiply(Derefof(Refof(aui6)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 41, Local0, 0xfe7cb391d650a284)
+ }
+
+ Multiply(Derefof(Index(paui, 5)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Multiply(Derefof(Index(paui, 6)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 43, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Multiply(m601(1, 5), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Multiply(m601(1, 6), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 45, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(Derefof(m602(1, 5, 1)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Multiply(Derefof(m602(1, 6, 1)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 47, Local0, 0xfe7cb391d650a284)
+ }
+
+ // Conversion of the both operands
+
+ Store(Multiply(Derefof(Refof(bf61)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 48, Local0, 0x442ddb4f924c7f04)
+
+ Store(Multiply(Derefof(Refof(bf65)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 49, Local0, 0x442ddb4f924c7f04)
+
+ Multiply(Derefof(Refof(bf61)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 50, Local0, 0x442ddb4f924c7f04)
+
+ Multiply(Derefof(Refof(bf65)), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 51, Local0, 0x442ddb4f924c7f04)
+ }
+
+ // Multiply, 32-bit
+ Method(m049, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Multiply(Derefof(Refof(bf65)), 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(bf65)), 1), Local0)
+ m600(arg0, 1, Local0, 0xd650a284)
+
+ Store(Multiply(Derefof(Refof(bf65)), aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(bf65)), aui6), Local0)
+ m600(arg0, 3, Local0, 0xd650a284)
+
+ if (y078) {
+ Store(Multiply(Derefof(Refof(bf65)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(bf65)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xd650a284)
+ }
+
+ Store(Multiply(Derefof(Refof(bf65)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(bf65)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xd650a284)
+
+ // Method returns Integer
+
+ Store(Multiply(Derefof(Refof(bf65)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(bf65)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xd650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(Derefof(Refof(bf65)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(bf65)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xd650a284)
+ }
+
+ Multiply(Derefof(Refof(bf65)), 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ Multiply(Derefof(Refof(bf65)), 1, Local0)
+ m600(arg0, 13, Local0, 0xd650a284)
+
+ Multiply(Derefof(Refof(bf65)), aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ Multiply(Derefof(Refof(bf65)), aui6, Local0)
+ m600(arg0, 15, Local0, 0xd650a284)
+
+ if (y078) {
+ Multiply(Derefof(Refof(bf65)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ Multiply(Derefof(Refof(bf65)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xd650a284)
+ }
+
+ Multiply(Derefof(Refof(bf65)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ Multiply(Derefof(Refof(bf65)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xd650a284)
+
+ // Method returns Integer
+
+ Multiply(Derefof(Refof(bf65)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ Multiply(Derefof(Refof(bf65)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xd650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(Derefof(Refof(bf65)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ Multiply(Derefof(Refof(bf65)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xd650a284)
+ }
+
+ // Conversion of the second operand
+
+ Store(Multiply(0, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Multiply(1, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 25, Local0, 0xd650a284)
+
+ Store(Multiply(aui5, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Multiply(aui6, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 27, Local0, 0xd650a284)
+
+ if (y078) {
+ Store(Multiply(Derefof(Refof(aui5)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(aui6)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 29, Local0, 0xd650a284)
+ }
+
+ Store(Multiply(Derefof(Index(paui, 5)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Multiply(Derefof(Index(paui, 6)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 31, Local0, 0xd650a284)
+
+ // Method returns Integer
+
+ Store(Multiply(m601(1, 5), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Multiply(m601(1, 6), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 33, Local0, 0xd650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(Derefof(m602(1, 5, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Multiply(Derefof(m602(1, 6, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 35, Local0, 0xd650a284)
+ }
+
+ Multiply(0, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Multiply(1, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 37, Local0, 0xd650a284)
+
+ Multiply(aui5, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Multiply(aui6, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 39, Local0, 0xd650a284)
+
+ if (y078) {
+ Multiply(Derefof(Refof(aui5)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Multiply(Derefof(Refof(aui6)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 41, Local0, 0xd650a284)
+ }
+
+ Multiply(Derefof(Index(paui, 5)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Multiply(Derefof(Index(paui, 6)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 43, Local0, 0xd650a284)
+
+ // Method returns Integer
+
+ Multiply(m601(1, 5), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Multiply(m601(1, 6), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 45, Local0, 0xd650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(Derefof(m602(1, 5, 1)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Multiply(Derefof(m602(1, 6, 1)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 47, Local0, 0xd650a284)
+ }
+
+ // Conversion of the both operands
+
+ Store(Multiply(Derefof(Refof(bf61)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 48, Local0, 0x924c7f04)
+
+ Store(Multiply(Derefof(Refof(bf65)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 49, Local0, 0x924c7f04)
+
+ Multiply(Derefof(Refof(bf61)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 50, Local0, 0x924c7f04)
+
+ Multiply(Derefof(Refof(bf65)), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 51, Local0, 0x924c7f04)
+ }
+
+ // NAnd, common 32-bit/64-bit test
+ Method(m04a, 1)
+ {
+ // Conversion of the first operand
+
+ Store(NAnd(Derefof(Refof(bf61)), 0), Local0)
+ m600(arg0, 0, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Refof(bf61)), 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xfffffffffffffcde)
+
+ Store(NAnd(Derefof(Refof(bf61)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Refof(bf61)), auij), Local0)
+ m600(arg0, 3, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ Store(NAnd(Derefof(Refof(bf61)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Refof(bf61)), Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xfffffffffffffcde)
+ }
+
+ Store(NAnd(Derefof(Refof(bf61)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Refof(bf61)), Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ Store(NAnd(Derefof(Refof(bf61)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Refof(bf61)), m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(Derefof(Refof(bf61)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Refof(bf61)), Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfffffffffffffcde)
+ }
+
+ NAnd(Derefof(Refof(bf61)), 0, Local0)
+ m600(arg0, 12, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Refof(bf61)), 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xfffffffffffffcde)
+
+ NAnd(Derefof(Refof(bf61)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Refof(bf61)), auij, Local0)
+ m600(arg0, 15, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ NAnd(Derefof(Refof(bf61)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Refof(bf61)), Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xfffffffffffffcde)
+ }
+
+ NAnd(Derefof(Refof(bf61)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Refof(bf61)), Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ NAnd(Derefof(Refof(bf61)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Refof(bf61)), m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(Derefof(Refof(bf61)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Refof(bf61)), Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfffffffffffffcde)
+ }
+
+ // Conversion of the second operand
+
+ Store(NAnd(0, Derefof(Refof(bf61))), Local0)
+ m600(arg0, 24, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(0xffffffffffffffff, Derefof(Refof(bf61))), Local0)
+ m600(arg0, 25, Local0, 0xfffffffffffffcde)
+
+ Store(NAnd(aui5, Derefof(Refof(bf61))), Local0)
+ m600(arg0, 26, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(auij, Derefof(Refof(bf61))), Local0)
+ m600(arg0, 27, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ Store(NAnd(Derefof(Refof(aui5)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 28, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Refof(auij)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 29, Local0, 0xfffffffffffffcde)
+ }
+
+ Store(NAnd(Derefof(Index(paui, 5)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 30, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Index(paui, 19)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 31, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ Store(NAnd(m601(1, 5), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 32, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(m601(1, 19), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 33, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(Derefof(m602(1, 5, 1)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 34, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(m602(1, 19, 1)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 35, Local0, 0xfffffffffffffcde)
+ }
+
+ NAnd(0, Derefof(Refof(bf61)), Local0)
+ m600(arg0, 36, Local0, 0xffffffffffffffff)
+
+ NAnd(0xffffffffffffffff, Derefof(Refof(bf61)), Local0)
+ m600(arg0, 37, Local0, 0xfffffffffffffcde)
+
+ NAnd(aui5, Derefof(Refof(bf61)), Local0)
+ m600(arg0, 38, Local0, 0xffffffffffffffff)
+
+ NAnd(auij, Derefof(Refof(bf61)), Local0)
+ m600(arg0, 39, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ NAnd(Derefof(Refof(aui5)), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 40, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Refof(auij)), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 41, Local0, 0xfffffffffffffcde)
+ }
+
+ NAnd(Derefof(Index(paui, 5)), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 42, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Index(paui, 19)), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 43, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ NAnd(m601(1, 5), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 44, Local0, 0xffffffffffffffff)
+
+ NAnd(m601(1, 19), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 45, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(Derefof(m602(1, 5, 1)), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 46, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(m602(1, 19, 1)), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 47, Local0, 0xfffffffffffffcde)
+ }
+ }
+
+ // NAnd, 64-bit
+ Method(m04b, 1)
+ {
+ // Conversion of the first operand
+
+ Store(NAnd(Derefof(Refof(bf65)), 0), Local0)
+ m600(arg0, 0, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Refof(bf65)), 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0x01834c6e29af5d7b)
+
+ Store(NAnd(Derefof(Refof(bf65)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Refof(bf65)), auij), Local0)
+ m600(arg0, 3, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ Store(NAnd(Derefof(Refof(bf65)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Refof(bf65)), Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Store(NAnd(Derefof(Refof(bf65)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Refof(bf65)), Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ Store(NAnd(Derefof(Refof(bf65)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Refof(bf65)), m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(Derefof(Refof(bf65)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Refof(bf65)), Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0x01834c6e29af5d7b)
+ }
+
+ NAnd(Derefof(Refof(bf65)), 0, Local0)
+ m600(arg0, 12, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Refof(bf65)), 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0x01834c6e29af5d7b)
+
+ NAnd(Derefof(Refof(bf65)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Refof(bf65)), auij, Local0)
+ m600(arg0, 15, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ NAnd(Derefof(Refof(bf65)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Refof(bf65)), Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0x01834c6e29af5d7b)
+ }
+
+ NAnd(Derefof(Refof(bf65)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Refof(bf65)), Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ NAnd(Derefof(Refof(bf65)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Refof(bf65)), m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(Derefof(Refof(bf65)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Refof(bf65)), Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0x01834c6e29af5d7b)
+ }
+
+ // Conversion of the second operand
+
+ Store(NAnd(0, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 24, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(0xffffffffffffffff, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 25, Local0, 0x01834c6e29af5d7b)
+
+ Store(NAnd(aui5, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 26, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(auij, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 27, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ Store(NAnd(Derefof(Refof(aui5)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 28, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Refof(auij)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 29, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Store(NAnd(Derefof(Index(paui, 5)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 30, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Index(paui, 19)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 31, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ Store(NAnd(m601(1, 5), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 32, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(m601(1, 19), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 33, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(Derefof(m602(1, 5, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 34, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(m602(1, 19, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 35, Local0, 0x01834c6e29af5d7b)
+ }
+
+ NAnd(0, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 36, Local0, 0xffffffffffffffff)
+
+ NAnd(0xffffffffffffffff, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 37, Local0, 0x01834c6e29af5d7b)
+
+ NAnd(aui5, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 38, Local0, 0xffffffffffffffff)
+
+ NAnd(auij, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 39, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ NAnd(Derefof(Refof(aui5)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 40, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Refof(auij)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 41, Local0, 0x01834c6e29af5d7b)
+ }
+
+ NAnd(Derefof(Index(paui, 5)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 42, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Index(paui, 19)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 43, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ NAnd(m601(1, 5), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 44, Local0, 0xffffffffffffffff)
+
+ NAnd(m601(1, 19), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 45, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(Derefof(m602(1, 5, 1)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 46, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(m602(1, 19, 1)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 47, Local0, 0x01834c6e29af5d7b)
+ }
+
+ // Conversion of the both operands
+
+ Store(NAnd(Derefof(Refof(bf61)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 48, Local0, 0xfffffffffffffdff)
+
+ Store(NAnd(Derefof(Refof(bf65)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 49, Local0, 0xfffffffffffffdff)
+
+ NAnd(Derefof(Refof(bf61)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 50, Local0, 0xfffffffffffffdff)
+
+ NAnd(Derefof(Refof(bf65)), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 51, Local0, 0xfffffffffffffdff)
+ }
+
+ // NAnd, 32-bit
+ Method(m04c, 1)
+ {
+ // Conversion of the first operand
+
+ Store(NAnd(Derefof(Refof(bf65)), 0), Local0)
+ m600(arg0, 0, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(Refof(bf65)), 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0x29af5d7b)
+
+ Store(NAnd(Derefof(Refof(bf65)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(Refof(bf65)), auii), Local0)
+ m600(arg0, 3, Local0, 0x29af5d7b)
+
+ if (y078) {
+ Store(NAnd(Derefof(Refof(bf65)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(Refof(bf65)), Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0x29af5d7b)
+ }
+
+ Store(NAnd(Derefof(Refof(bf65)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(Refof(bf65)), Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0x29af5d7b)
+
+ // Method returns Integer
+
+ Store(NAnd(Derefof(Refof(bf65)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(Refof(bf65)), m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0x29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(Derefof(Refof(bf65)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(Refof(bf65)), Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0x29af5d7b)
+ }
+
+ NAnd(Derefof(Refof(bf65)), 0, Local0)
+ m600(arg0, 12, Local0, 0xffffffff)
+
+ NAnd(Derefof(Refof(bf65)), 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0x29af5d7b)
+
+ NAnd(Derefof(Refof(bf65)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xffffffff)
+
+ NAnd(Derefof(Refof(bf65)), auii, Local0)
+ m600(arg0, 15, Local0, 0x29af5d7b)
+
+ if (y078) {
+ NAnd(Derefof(Refof(bf65)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xffffffff)
+
+ NAnd(Derefof(Refof(bf65)), Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0x29af5d7b)
+ }
+
+ NAnd(Derefof(Refof(bf65)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xffffffff)
+
+ NAnd(Derefof(Refof(bf65)), Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0x29af5d7b)
+
+ // Method returns Integer
+
+ NAnd(Derefof(Refof(bf65)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xffffffff)
+
+ NAnd(Derefof(Refof(bf65)), m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0x29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(Derefof(Refof(bf65)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xffffffff)
+
+ NAnd(Derefof(Refof(bf65)), Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0x29af5d7b)
+ }
+
+ // Conversion of the second operand
+
+ Store(NAnd(0, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 24, Local0, 0xffffffff)
+
+ Store(NAnd(0xffffffff, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 25, Local0, 0x29af5d7b)
+
+ Store(NAnd(aui5, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 26, Local0, 0xffffffff)
+
+ Store(NAnd(auii, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 27, Local0, 0x29af5d7b)
+
+ if (y078) {
+ Store(NAnd(Derefof(Refof(aui5)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 28, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(Refof(auii)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 29, Local0, 0x29af5d7b)
+ }
+
+ Store(NAnd(Derefof(Index(paui, 5)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 30, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(Index(paui, 18)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 31, Local0, 0x29af5d7b)
+
+ // Method returns Integer
+
+ Store(NAnd(m601(1, 5), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 32, Local0, 0xffffffff)
+
+ Store(NAnd(m601(1, 18), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 33, Local0, 0x29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(Derefof(m602(1, 5, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 34, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(m602(1, 18, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 35, Local0, 0x29af5d7b)
+ }
+
+ NAnd(0, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 36, Local0, 0xffffffff)
+
+ NAnd(0xffffffff, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 37, Local0, 0x29af5d7b)
+
+ NAnd(aui5, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 38, Local0, 0xffffffff)
+
+ NAnd(auii, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 39, Local0, 0x29af5d7b)
+
+ if (y078) {
+ NAnd(Derefof(Refof(aui5)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 40, Local0, 0xffffffff)
+
+ NAnd(Derefof(Refof(auii)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 41, Local0, 0x29af5d7b)
+ }
+
+ NAnd(Derefof(Index(paui, 5)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 42, Local0, 0xffffffff)
+
+ NAnd(Derefof(Index(paui, 18)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 43, Local0, 0x29af5d7b)
+
+ // Method returns Integer
+
+ NAnd(m601(1, 5), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 44, Local0, 0xffffffff)
+
+ NAnd(m601(1, 18), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 45, Local0, 0x29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(Derefof(m602(1, 5, 1)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 46, Local0, 0xffffffff)
+
+ NAnd(Derefof(m602(1, 18, 1)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 47, Local0, 0x29af5d7b)
+ }
+
+ // Conversion of the both operands
+
+ Store(NAnd(Derefof(Refof(bf61)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 48, Local0, 0xfffffdff)
+
+ Store(NAnd(Derefof(Refof(bf65)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 49, Local0, 0xfffffdff)
+
+ NAnd(Derefof(Refof(bf61)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 50, Local0, 0xfffffdff)
+
+ NAnd(Derefof(Refof(bf65)), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 51, Local0, 0xfffffdff)
+ }
+
+ // NOr, common 32-bit/64-bit test
+ Method(m04d, 1)
+ {
+ // Conversion of the first operand
+
+ Store(NOr(Derefof(Refof(bf61)), 0), Local0)
+ m600(arg0, 0, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(Refof(bf61)), 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0)
+
+ Store(NOr(Derefof(Refof(bf61)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(Refof(bf61)), auij), Local0)
+ m600(arg0, 3, Local0, 0)
+
+ if (y078) {
+ Store(NOr(Derefof(Refof(bf61)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(Refof(bf61)), Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0)
+ }
+
+ Store(NOr(Derefof(Refof(bf61)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(Refof(bf61)), Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(Derefof(Refof(bf61)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(Refof(bf61)), m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(Derefof(Refof(bf61)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(Refof(bf61)), Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0)
+ }
+
+ NOr(Derefof(Refof(bf61)), 0, Local0)
+ m600(arg0, 12, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(Refof(bf61)), 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0)
+
+ NOr(Derefof(Refof(bf61)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(Refof(bf61)), auij, Local0)
+ m600(arg0, 15, Local0, 0)
+
+ if (y078) {
+ NOr(Derefof(Refof(bf61)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(Refof(bf61)), Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0)
+ }
+
+ NOr(Derefof(Refof(bf61)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(Refof(bf61)), Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(Derefof(Refof(bf61)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(Refof(bf61)), m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(Derefof(Refof(bf61)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(Refof(bf61)), Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0)
+ }
+
+ // Conversion of the second operand
+
+ Store(NOr(0, Derefof(Refof(bf61))), Local0)
+ m600(arg0, 24, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(0xffffffffffffffff, Derefof(Refof(bf61))), Local0)
+ m600(arg0, 25, Local0, 0)
+
+ Store(NOr(aui5, Derefof(Refof(bf61))), Local0)
+ m600(arg0, 26, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(auij, Derefof(Refof(bf61))), Local0)
+ m600(arg0, 27, Local0, 0)
+
+ if (y078) {
+ Store(NOr(Derefof(Refof(aui5)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 28, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(Refof(auij)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 29, Local0, 0)
+ }
+
+ Store(NOr(Derefof(Index(paui, 5)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 30, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(Index(paui, 19)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 31, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(m601(1, 5), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 32, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(m601(1, 19), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 33, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(Derefof(m602(1, 5, 1)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 34, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(m602(1, 19, 1)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 35, Local0, 0)
+ }
+
+ NOr(0, Derefof(Refof(bf61)), Local0)
+ m600(arg0, 36, Local0, 0xfffffffffffffcde)
+
+ NOr(0xffffffffffffffff, Derefof(Refof(bf61)), Local0)
+ m600(arg0, 37, Local0, 0)
+
+ NOr(aui5, Derefof(Refof(bf61)), Local0)
+ m600(arg0, 38, Local0, 0xfffffffffffffcde)
+
+ NOr(auij, Derefof(Refof(bf61)), Local0)
+ m600(arg0, 39, Local0, 0)
+
+ if (y078) {
+ NOr(Derefof(Refof(aui5)), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 40, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(Refof(auij)), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 41, Local0, 0)
+ }
+
+ NOr(Derefof(Index(paui, 5)), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 42, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(Index(paui, 19)), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 43, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(m601(1, 5), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 44, Local0, 0xfffffffffffffcde)
+
+ NOr(m601(1, 19), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 45, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(Derefof(m602(1, 5, 1)), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 46, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(m602(1, 19, 1)), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 47, Local0, 0)
+ }
+ }
+
+ // NOr, 64-bit
+ Method(m04e, 1)
+ {
+ // Conversion of the first operand
+
+ Store(NOr(Derefof(Refof(bf65)), 0), Local0)
+ m600(arg0, 0, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(Refof(bf65)), 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0)
+
+ Store(NOr(Derefof(Refof(bf65)), aui5), Local0)
+ m600(arg0, 2, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(Refof(bf65)), auij), Local0)
+ m600(arg0, 3, Local0, 0)
+
+ if (y078) {
+ Store(NOr(Derefof(Refof(bf65)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(Refof(bf65)), Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0)
+ }
+
+ Store(NOr(Derefof(Refof(bf65)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(Refof(bf65)), Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(Derefof(Refof(bf65)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(Refof(bf65)), m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(Derefof(Refof(bf65)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(Refof(bf65)), Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0)
+ }
+
+ NOr(Derefof(Refof(bf65)), 0, Local0)
+ m600(arg0, 12, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(Refof(bf65)), 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0)
+
+ NOr(Derefof(Refof(bf65)), aui5, Local0)
+ m600(arg0, 14, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(Refof(bf65)), auij, Local0)
+ m600(arg0, 15, Local0, 0)
+
+ if (y078) {
+ NOr(Derefof(Refof(bf65)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(Refof(bf65)), Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0)
+ }
+
+ NOr(Derefof(Refof(bf65)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(Refof(bf65)), Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(Derefof(Refof(bf65)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(Refof(bf65)), m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(Derefof(Refof(bf65)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(Refof(bf65)), Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0)
+ }
+
+ // Conversion of the second operand
+
+ Store(NOr(0, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 24, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(0xffffffffffffffff, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 25, Local0, 0)
+
+ Store(NOr(aui5, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 26, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(auij, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 27, Local0, 0)
+
+ if (y078) {
+ Store(NOr(Derefof(Refof(aui5)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 28, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(Refof(auij)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 29, Local0, 0)
+ }
+
+ Store(NOr(Derefof(Index(paui, 5)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 30, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(Index(paui, 19)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 31, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(m601(1, 5), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 32, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(m601(1, 19), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 33, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(Derefof(m602(1, 5, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 34, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(m602(1, 19, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 35, Local0, 0)
+ }
+
+ NOr(0, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 36, Local0, 0x01834c6e29af5d7b)
+
+ NOr(0xffffffffffffffff, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 37, Local0, 0)
+
+ NOr(aui5, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 38, Local0, 0x01834c6e29af5d7b)
+
+ NOr(auij, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 39, Local0, 0)
+
+ if (y078) {
+ NOr(Derefof(Refof(aui5)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 40, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(Refof(auij)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 41, Local0, 0)
+ }
+
+ NOr(Derefof(Index(paui, 5)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 42, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(Index(paui, 19)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 43, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(m601(1, 5), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 44, Local0, 0x01834c6e29af5d7b)
+
+ NOr(m601(1, 19), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 45, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(Derefof(m602(1, 5, 1)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 46, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(m602(1, 19, 1)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 47, Local0, 0)
+ }
+
+ // Conversion of the both operands
+
+ Store(NOr(Derefof(Refof(bf61)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 48, Local0, 0x01834c6e29af5c5a)
+
+ Store(NOr(Derefof(Refof(bf65)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 49, Local0, 0x01834c6e29af5c5a)
+
+ NOr(Derefof(Refof(bf61)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 50, Local0, 0x01834c6e29af5c5a)
+
+ NOr(Derefof(Refof(bf65)), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 51, Local0, 0x01834c6e29af5c5a)
+ }
+
+ // NOr, 32-bit
+ Method(m04f, 1)
+ {
+ // Conversion of the first operand
+
+ Store(NOr(Derefof(Refof(bf65)), 0), Local0)
+ m600(arg0, 0, Local0, 0x29af5d7b)
+
+ Store(NOr(Derefof(Refof(bf65)), 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0)
+
+ Store(NOr(Derefof(Refof(bf65)), aui5), Local0)
+ m600(arg0, 2, Local0, 0x29af5d7b)
+
+ Store(NOr(Derefof(Refof(bf65)), auii), Local0)
+ m600(arg0, 3, Local0, 0)
+
+ if (y078) {
+ Store(NOr(Derefof(Refof(bf65)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x29af5d7b)
+
+ Store(NOr(Derefof(Refof(bf65)), Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0)
+ }
+
+ Store(NOr(Derefof(Refof(bf65)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x29af5d7b)
+
+ Store(NOr(Derefof(Refof(bf65)), Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(Derefof(Refof(bf65)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x29af5d7b)
+
+ Store(NOr(Derefof(Refof(bf65)), m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(Derefof(Refof(bf65)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x29af5d7b)
+
+ Store(NOr(Derefof(Refof(bf65)), Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0)
+ }
+
+ NOr(Derefof(Refof(bf65)), 0, Local0)
+ m600(arg0, 12, Local0, 0x29af5d7b)
+
+ NOr(Derefof(Refof(bf65)), 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0)
+
+ NOr(Derefof(Refof(bf65)), aui5, Local0)
+ m600(arg0, 14, Local0, 0x29af5d7b)
+
+ NOr(Derefof(Refof(bf65)), auii, Local0)
+ m600(arg0, 15, Local0, 0)
+
+ if (y078) {
+ NOr(Derefof(Refof(bf65)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x29af5d7b)
+
+ NOr(Derefof(Refof(bf65)), Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0)
+ }
+
+ NOr(Derefof(Refof(bf65)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x29af5d7b)
+
+ NOr(Derefof(Refof(bf65)), Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(Derefof(Refof(bf65)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x29af5d7b)
+
+ NOr(Derefof(Refof(bf65)), m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(Derefof(Refof(bf65)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x29af5d7b)
+
+ NOr(Derefof(Refof(bf65)), Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0)
+ }
+
+ // Conversion of the second operand
+
+ Store(NOr(0, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 24, Local0, 0x29af5d7b)
+
+ Store(NOr(0xffffffff, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 25, Local0, 0)
+
+ Store(NOr(aui5, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 26, Local0, 0x29af5d7b)
+
+ Store(NOr(auii, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 27, Local0, 0)
+
+ if (y078) {
+ Store(NOr(Derefof(Refof(aui5)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 28, Local0, 0x29af5d7b)
+
+ Store(NOr(Derefof(Refof(auii)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 29, Local0, 0)
+ }
+
+ Store(NOr(Derefof(Index(paui, 5)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 30, Local0, 0x29af5d7b)
+
+ Store(NOr(Derefof(Index(paui, 18)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 31, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(m601(1, 5), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 32, Local0, 0x29af5d7b)
+
+ Store(NOr(m601(1, 18), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 33, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(Derefof(m602(1, 5, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 34, Local0, 0x29af5d7b)
+
+ Store(NOr(Derefof(m602(1, 18, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 35, Local0, 0)
+ }
+
+ NOr(0, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 36, Local0, 0x29af5d7b)
+
+ NOr(0xffffffff, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 37, Local0, 0)
+
+ NOr(aui5, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 38, Local0, 0x29af5d7b)
+
+ NOr(auii, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 39, Local0, 0)
+
+ if (y078) {
+ NOr(Derefof(Refof(aui5)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 40, Local0, 0x29af5d7b)
+
+ NOr(Derefof(Refof(auii)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 41, Local0, 0)
+ }
+
+ NOr(Derefof(Index(paui, 5)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 42, Local0, 0x29af5d7b)
+
+ NOr(Derefof(Index(paui, 18)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 43, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(m601(1, 5), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 44, Local0, 0x29af5d7b)
+
+ NOr(m601(1, 18), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 45, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(Derefof(m602(1, 5, 1)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 46, Local0, 0x29af5d7b)
+
+ NOr(Derefof(m602(1, 18, 1)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 47, Local0, 0)
+ }
+
+ // Conversion of the both operands
+
+ Store(NOr(Derefof(Refof(bf61)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 48, Local0, 0x29af5c5a)
+
+ Store(NOr(Derefof(Refof(bf65)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 49, Local0, 0x29af5c5a)
+
+ NOr(Derefof(Refof(bf61)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 50, Local0, 0x29af5c5a)
+
+ NOr(Derefof(Refof(bf65)), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 51, Local0, 0x29af5c5a)
+ }
+
+ // Or, common 32-bit/64-bit test
+ Method(m050, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Or(Derefof(Refof(bf61)), 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Or(Derefof(Refof(bf61)), 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xffffffffffffffff)
+
+ Store(Or(Derefof(Refof(bf61)), aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Or(Derefof(Refof(bf61)), auij), Local0)
+ m600(arg0, 3, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Store(Or(Derefof(Refof(bf61)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Or(Derefof(Refof(bf61)), Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xffffffffffffffff)
+ }
+
+ Store(Or(Derefof(Refof(bf61)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Or(Derefof(Refof(bf61)), Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Store(Or(Derefof(Refof(bf61)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Or(Derefof(Refof(bf61)), m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(Derefof(Refof(bf61)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Or(Derefof(Refof(bf61)), Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xffffffffffffffff)
+ }
+
+ Or(Derefof(Refof(bf61)), 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Or(Derefof(Refof(bf61)), 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xffffffffffffffff)
+
+ Or(Derefof(Refof(bf61)), aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Or(Derefof(Refof(bf61)), auij, Local0)
+ m600(arg0, 15, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Or(Derefof(Refof(bf61)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Or(Derefof(Refof(bf61)), Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xffffffffffffffff)
+ }
+
+ Or(Derefof(Refof(bf61)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Or(Derefof(Refof(bf61)), Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Or(Derefof(Refof(bf61)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Or(Derefof(Refof(bf61)), m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(Derefof(Refof(bf61)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Or(Derefof(Refof(bf61)), Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xffffffffffffffff)
+ }
+
+ // Conversion of the second operand
+
+ Store(Or(0, Derefof(Refof(bf61))), Local0)
+ m600(arg0, 24, Local0, 0x321)
+
+ Store(Or(0xffffffffffffffff, Derefof(Refof(bf61))), Local0)
+ m600(arg0, 25, Local0, 0xffffffffffffffff)
+
+ Store(Or(aui5, Derefof(Refof(bf61))), Local0)
+ m600(arg0, 26, Local0, 0x321)
+
+ Store(Or(auij, Derefof(Refof(bf61))), Local0)
+ m600(arg0, 27, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Store(Or(Derefof(Refof(aui5)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 28, Local0, 0x321)
+
+ Store(Or(Derefof(Refof(auij)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 29, Local0, 0xffffffffffffffff)
+ }
+
+ Store(Or(Derefof(Index(paui, 5)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 30, Local0, 0x321)
+
+ Store(Or(Derefof(Index(paui, 19)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 31, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Store(Or(m601(1, 5), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 32, Local0, 0x321)
+
+ Store(Or(m601(1, 19), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 33, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(Derefof(m602(1, 5, 1)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 34, Local0, 0x321)
+
+ Store(Or(Derefof(m602(1, 19, 1)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 35, Local0, 0xffffffffffffffff)
+ }
+
+ Or(0, Derefof(Refof(bf61)), Local0)
+ m600(arg0, 36, Local0, 0x321)
+
+ Or(0xffffffffffffffff, Derefof(Refof(bf61)), Local0)
+ m600(arg0, 37, Local0, 0xffffffffffffffff)
+
+ Or(aui5, Derefof(Refof(bf61)), Local0)
+ m600(arg0, 38, Local0, 0x321)
+
+ Or(auij, Derefof(Refof(bf61)), Local0)
+ m600(arg0, 39, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Or(Derefof(Refof(aui5)), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 40, Local0, 0x321)
+
+ Or(Derefof(Refof(auij)), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 41, Local0, 0xffffffffffffffff)
+ }
+
+ Or(Derefof(Index(paui, 5)), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 42, Local0, 0x321)
+
+ Or(Derefof(Index(paui, 19)), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 43, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Or(m601(1, 5), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 44, Local0, 0x321)
+
+ Or(m601(1, 19), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 45, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(Derefof(m602(1, 5, 1)), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 46, Local0, 0x321)
+
+ Or(Derefof(m602(1, 19, 1)), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 47, Local0, 0xffffffffffffffff)
+ }
+ }
+
+ // Or, 64-bit
+ Method(m051, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Or(Derefof(Refof(bf65)), 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(Refof(bf65)), 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xffffffffffffffff)
+
+ Store(Or(Derefof(Refof(bf65)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(Refof(bf65)), auij), Local0)
+ m600(arg0, 3, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Store(Or(Derefof(Refof(bf65)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(Refof(bf65)), Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xffffffffffffffff)
+ }
+
+ Store(Or(Derefof(Refof(bf65)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(Refof(bf65)), Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Store(Or(Derefof(Refof(bf65)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(Refof(bf65)), m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(Derefof(Refof(bf65)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(Refof(bf65)), Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xffffffffffffffff)
+ }
+
+ Or(Derefof(Refof(bf65)), 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(Refof(bf65)), 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xffffffffffffffff)
+
+ Or(Derefof(Refof(bf65)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(Refof(bf65)), auij, Local0)
+ m600(arg0, 15, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Or(Derefof(Refof(bf65)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(Refof(bf65)), Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xffffffffffffffff)
+ }
+
+ Or(Derefof(Refof(bf65)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(Refof(bf65)), Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Or(Derefof(Refof(bf65)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(Refof(bf65)), m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(Derefof(Refof(bf65)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(Refof(bf65)), Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xffffffffffffffff)
+ }
+
+ // Conversion of the second operand
+
+ Store(Or(0, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 24, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(0xffffffffffffffff, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 25, Local0, 0xffffffffffffffff)
+
+ Store(Or(aui5, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 26, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(auij, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 27, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Store(Or(Derefof(Refof(aui5)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 28, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(Refof(auij)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 29, Local0, 0xffffffffffffffff)
+ }
+
+ Store(Or(Derefof(Index(paui, 5)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 30, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(Index(paui, 19)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 31, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Store(Or(m601(1, 5), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 32, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(m601(1, 19), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 33, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(Derefof(m602(1, 5, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 34, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(m602(1, 19, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 35, Local0, 0xffffffffffffffff)
+ }
+
+ Or(0, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 36, Local0, 0xfe7cb391d650a284)
+
+ Or(0xffffffffffffffff, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 37, Local0, 0xffffffffffffffff)
+
+ Or(aui5, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 38, Local0, 0xfe7cb391d650a284)
+
+ Or(auij, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 39, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Or(Derefof(Refof(aui5)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 40, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(Refof(auij)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 41, Local0, 0xffffffffffffffff)
+ }
+
+ Or(Derefof(Index(paui, 5)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 42, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(Index(paui, 19)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 43, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Or(m601(1, 5), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 44, Local0, 0xfe7cb391d650a284)
+
+ Or(m601(1, 19), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 45, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(Derefof(m602(1, 5, 1)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 46, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(m602(1, 19, 1)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 47, Local0, 0xffffffffffffffff)
+ }
+
+ // Conversion of the both operands
+
+ Store(Or(Derefof(Refof(bf61)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 48, Local0, 0xfe7cb391d650a3a5)
+
+ Store(Or(Derefof(Refof(bf65)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 49, Local0, 0xfe7cb391d650a3a5)
+
+ Or(Derefof(Refof(bf61)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 50, Local0, 0xfe7cb391d650a3a5)
+
+ Or(Derefof(Refof(bf65)), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 51, Local0, 0xfe7cb391d650a3a5)
+ }
+
+ // Or, 32-bit
+ Method(m052, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Or(Derefof(Refof(bf65)), 0), Local0)
+ m600(arg0, 0, Local0, 0xd650a284)
+
+ Store(Or(Derefof(Refof(bf65)), 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0xffffffff)
+
+ Store(Or(Derefof(Refof(bf65)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xd650a284)
+
+ Store(Or(Derefof(Refof(bf65)), auii), Local0)
+ m600(arg0, 3, Local0, 0xffffffff)
+
+ if (y078) {
+ Store(Or(Derefof(Refof(bf65)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xd650a284)
+
+ Store(Or(Derefof(Refof(bf65)), Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0xffffffff)
+ }
+
+ Store(Or(Derefof(Refof(bf65)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xd650a284)
+
+ Store(Or(Derefof(Refof(bf65)), Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0xffffffff)
+
+ // Method returns Integer
+
+ Store(Or(Derefof(Refof(bf65)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xd650a284)
+
+ Store(Or(Derefof(Refof(bf65)), m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0xffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(Derefof(Refof(bf65)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xd650a284)
+
+ Store(Or(Derefof(Refof(bf65)), Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0xffffffff)
+ }
+
+ Or(Derefof(Refof(bf65)), 0, Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ Or(Derefof(Refof(bf65)), 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0xffffffff)
+
+ Or(Derefof(Refof(bf65)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xd650a284)
+
+ Or(Derefof(Refof(bf65)), auii, Local0)
+ m600(arg0, 15, Local0, 0xffffffff)
+
+ if (y078) {
+ Or(Derefof(Refof(bf65)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xd650a284)
+
+ Or(Derefof(Refof(bf65)), Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0xffffffff)
+ }
+
+ Or(Derefof(Refof(bf65)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xd650a284)
+
+ Or(Derefof(Refof(bf65)), Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0xffffffff)
+
+ // Method returns Integer
+
+ Or(Derefof(Refof(bf65)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xd650a284)
+
+ Or(Derefof(Refof(bf65)), m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0xffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(Derefof(Refof(bf65)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xd650a284)
+
+ Or(Derefof(Refof(bf65)), Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0xffffffff)
+ }
+
+ // Conversion of the second operand
+
+ Store(Or(0, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 24, Local0, 0xd650a284)
+
+ Store(Or(0xffffffff, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 25, Local0, 0xffffffff)
+
+ Store(Or(aui5, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 26, Local0, 0xd650a284)
+
+ Store(Or(auii, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 27, Local0, 0xffffffff)
+
+ if (y078) {
+ Store(Or(Derefof(Refof(aui5)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 28, Local0, 0xd650a284)
+
+ Store(Or(Derefof(Refof(auii)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 29, Local0, 0xffffffff)
+ }
+
+ Store(Or(Derefof(Index(paui, 5)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 30, Local0, 0xd650a284)
+
+ Store(Or(Derefof(Index(paui, 18)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 31, Local0, 0xffffffff)
+
+ // Method returns Integer
+
+ Store(Or(m601(1, 5), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 32, Local0, 0xd650a284)
+
+ Store(Or(m601(1, 18), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 33, Local0, 0xffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(Derefof(m602(1, 5, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 34, Local0, 0xd650a284)
+
+ Store(Or(Derefof(m602(1, 18, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 35, Local0, 0xffffffff)
+ }
+
+ Or(0, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 36, Local0, 0xd650a284)
+
+ Or(0xffffffff, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 37, Local0, 0xffffffff)
+
+ Or(aui5, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 38, Local0, 0xd650a284)
+
+ Or(auii, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 39, Local0, 0xffffffff)
+
+ if (y078) {
+ Or(Derefof(Refof(aui5)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 40, Local0, 0xd650a284)
+
+ Or(Derefof(Refof(auii)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 41, Local0, 0xffffffff)
+ }
+
+ Or(Derefof(Index(paui, 5)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 42, Local0, 0xd650a284)
+
+ Or(Derefof(Index(paui, 18)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 43, Local0, 0xffffffff)
+
+ // Method returns Integer
+
+ Or(m601(1, 5), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 44, Local0, 0xd650a284)
+
+ Or(m601(1, 18), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 45, Local0, 0xffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(Derefof(m602(1, 5, 1)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 46, Local0, 0xd650a284)
+
+ Or(Derefof(m602(1, 18, 1)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 47, Local0, 0xffffffff)
+ }
+
+ // Conversion of the both operands
+
+ Store(Or(Derefof(Refof(bf61)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 48, Local0, 0xd650a3a5)
+
+ Store(Or(Derefof(Refof(bf65)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 49, Local0, 0xd650a3a5)
+
+ Or(Derefof(Refof(bf61)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 50, Local0, 0xd650a3a5)
+
+ Or(Derefof(Refof(bf65)), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 51, Local0, 0xd650a3a5)
+ }
+
+ // ShiftLeft, common 32-bit/64-bit test
+ Method(m053, 1)
+ {
+ // Conversion of the first operand
+
+ Store(ShiftLeft(Derefof(Refof(bf61)), 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(ShiftLeft(Derefof(Refof(bf61)), 1), Local0)
+ m600(arg0, 1, Local0, 0x642)
+
+ Store(ShiftLeft(Derefof(Refof(bf61)), aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(ShiftLeft(Derefof(Refof(bf61)), aui6), Local0)
+ m600(arg0, 3, Local0, 0x642)
+
+ if (y078) {
+ Store(ShiftLeft(Derefof(Refof(bf61)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(ShiftLeft(Derefof(Refof(bf61)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x642)
+ }
+
+ Store(ShiftLeft(Derefof(Refof(bf61)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(ShiftLeft(Derefof(Refof(bf61)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x642)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(Derefof(Refof(bf61)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(ShiftLeft(Derefof(Refof(bf61)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x642)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(Derefof(Refof(bf61)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(ShiftLeft(Derefof(Refof(bf61)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x642)
+ }
+
+ ShiftLeft(Derefof(Refof(bf61)), 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ ShiftLeft(Derefof(Refof(bf61)), 1, Local0)
+ m600(arg0, 13, Local0, 0x642)
+
+ ShiftLeft(Derefof(Refof(bf61)), aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ ShiftLeft(Derefof(Refof(bf61)), aui6, Local0)
+ m600(arg0, 15, Local0, 0x642)
+
+ if (y078) {
+ ShiftLeft(Derefof(Refof(bf61)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ ShiftLeft(Derefof(Refof(bf61)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x642)
+ }
+
+ ShiftLeft(Derefof(Refof(bf61)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ ShiftLeft(Derefof(Refof(bf61)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x642)
+
+ // Method returns Integer
+
+ ShiftLeft(Derefof(Refof(bf61)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ ShiftLeft(Derefof(Refof(bf61)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x642)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(Derefof(Refof(bf61)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ ShiftLeft(Derefof(Refof(bf61)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x642)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftLeft(0, Derefof(Refof(bf74))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftLeft(1, Derefof(Refof(bf74))), Local0)
+ m600(arg0, 25, Local0, 0x800)
+
+ Store(ShiftLeft(aui5, Derefof(Refof(bf74))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftLeft(aui6, Derefof(Refof(bf74))), Local0)
+ m600(arg0, 27, Local0, 0x800)
+
+ if (y078) {
+ Store(ShiftLeft(Derefof(Refof(aui5)), Derefof(Refof(bf74))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Refof(aui6)), Derefof(Refof(bf74))), Local0)
+ m600(arg0, 29, Local0, 0x800)
+ }
+
+ Store(ShiftLeft(Derefof(Index(paui, 5)), Derefof(Refof(bf74))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Index(paui, 6)), Derefof(Refof(bf74))), Local0)
+ m600(arg0, 31, Local0, 0x800)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(m601(1, 5), Derefof(Refof(bf74))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftLeft(m601(1, 6), Derefof(Refof(bf74))), Local0)
+ m600(arg0, 33, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(Derefof(m602(1, 5, 1)), Derefof(Refof(bf74))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftLeft(Derefof(m602(1, 6, 1)), Derefof(Refof(bf74))), Local0)
+ m600(arg0, 35, Local0, 0x800)
+ }
+
+ ShiftLeft(0, Derefof(Refof(bf74)), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftLeft(1, Derefof(Refof(bf74)), Local0)
+ m600(arg0, 37, Local0, 0x800)
+
+ ShiftLeft(aui5, Derefof(Refof(bf74)), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftLeft(aui6, Derefof(Refof(bf74)), Local0)
+ m600(arg0, 39, Local0, 0x800)
+
+ if (y078) {
+ ShiftLeft(Derefof(Refof(aui5)), Derefof(Refof(bf74)), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftLeft(Derefof(Refof(aui6)), Derefof(Refof(bf74)), Local0)
+ m600(arg0, 41, Local0, 0x800)
+ }
+
+ ShiftLeft(Derefof(Index(paui, 5)), Derefof(Refof(bf74)), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftLeft(Derefof(Index(paui, 6)), Derefof(Refof(bf74)), Local0)
+ m600(arg0, 43, Local0, 0x800)
+
+ // Method returns Integer
+
+ ShiftLeft(m601(1, 5), Derefof(Refof(bf74)), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftLeft(m601(1, 6), Derefof(Refof(bf74)), Local0)
+ m600(arg0, 45, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(Derefof(m602(1, 5, 1)), Derefof(Refof(bf74)), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftLeft(Derefof(m602(1, 6, 1)), Derefof(Refof(bf74)), Local0)
+ m600(arg0, 47, Local0, 0x800)
+ }
+ }
+
+ // ShiftLeft, 64-bit
+ Method(m054, 1)
+ {
+ // Conversion of the first operand
+
+ Store(ShiftLeft(Derefof(Refof(bf65)), 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(Derefof(Refof(bf65)), 1), Local0)
+ m600(arg0, 1, Local0, 0xfcf96723aca14508)
+
+ Store(ShiftLeft(Derefof(Refof(bf65)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(Derefof(Refof(bf65)), aui6), Local0)
+ m600(arg0, 3, Local0, 0xfcf96723aca14508)
+
+ if (y078) {
+ Store(ShiftLeft(Derefof(Refof(bf65)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(Derefof(Refof(bf65)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xfcf96723aca14508)
+ }
+
+ Store(ShiftLeft(Derefof(Refof(bf65)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(Derefof(Refof(bf65)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xfcf96723aca14508)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(Derefof(Refof(bf65)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(Derefof(Refof(bf65)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xfcf96723aca14508)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(Derefof(Refof(bf65)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(Derefof(Refof(bf65)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfcf96723aca14508)
+ }
+
+ ShiftLeft(Derefof(Refof(bf65)), 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(Derefof(Refof(bf65)), 1, Local0)
+ m600(arg0, 13, Local0, 0xfcf96723aca14508)
+
+ ShiftLeft(Derefof(Refof(bf65)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(Derefof(Refof(bf65)), aui6, Local0)
+ m600(arg0, 15, Local0, 0xfcf96723aca14508)
+
+ if (y078) {
+ ShiftLeft(Derefof(Refof(bf65)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(Derefof(Refof(bf65)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xfcf96723aca14508)
+ }
+
+ ShiftLeft(Derefof(Refof(bf65)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(Derefof(Refof(bf65)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xfcf96723aca14508)
+
+ // Method returns Integer
+
+ ShiftLeft(Derefof(Refof(bf65)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(Derefof(Refof(bf65)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xfcf96723aca14508)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(Derefof(Refof(bf65)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(Derefof(Refof(bf65)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfcf96723aca14508)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftLeft(0, Derefof(Refof(bf74))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftLeft(1, Derefof(Refof(bf74))), Local0)
+ m600(arg0, 25, Local0, 0x800)
+
+ Store(ShiftLeft(aui5, Derefof(Refof(bf74))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftLeft(aui6, Derefof(Refof(bf74))), Local0)
+ m600(arg0, 27, Local0, 0x800)
+
+ if (y078) {
+ Store(ShiftLeft(Derefof(Refof(aui5)), Derefof(Refof(bf74))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Refof(aui6)), Derefof(Refof(bf74))), Local0)
+ m600(arg0, 29, Local0, 0x800)
+ }
+
+ Store(ShiftLeft(Derefof(Index(paui, 5)), Derefof(Refof(bf74))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Index(paui, 6)), Derefof(Refof(bf74))), Local0)
+ m600(arg0, 31, Local0, 0x800)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(m601(1, 5), Derefof(Refof(bf74))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftLeft(m601(1, 6), Derefof(Refof(bf74))), Local0)
+ m600(arg0, 33, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(Derefof(m602(1, 5, 1)), Derefof(Refof(bf74))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftLeft(Derefof(m602(1, 6, 1)), Derefof(Refof(bf74))), Local0)
+ m600(arg0, 35, Local0, 0x800)
+ }
+
+ ShiftLeft(0, Derefof(Refof(bf74)), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftLeft(1, Derefof(Refof(bf74)), Local0)
+ m600(arg0, 37, Local0, 0x800)
+
+ ShiftLeft(aui5, Derefof(Refof(bf74)), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftLeft(aui6, Derefof(Refof(bf74)), Local0)
+ m600(arg0, 39, Local0, 0x800)
+
+ if (y078) {
+ ShiftLeft(Derefof(Refof(aui5)), Derefof(Refof(bf74)), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftLeft(Derefof(Refof(aui6)), Derefof(Refof(bf74)), Local0)
+ m600(arg0, 41, Local0, 0x800)
+ }
+
+ ShiftLeft(Derefof(Index(paui, 5)), Derefof(Refof(bf74)), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftLeft(Derefof(Index(paui, 6)), Derefof(Refof(bf74)), Local0)
+ m600(arg0, 43, Local0, 0x800)
+
+ // Method returns Integer
+
+ ShiftLeft(m601(1, 5), Derefof(Refof(bf74)), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftLeft(m601(1, 6), Derefof(Refof(bf74)), Local0)
+ m600(arg0, 45, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(Derefof(m602(1, 5, 1)), Derefof(Refof(bf74)), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftLeft(Derefof(m602(1, 6, 1)), Derefof(Refof(bf74)), Local0)
+ m600(arg0, 47, Local0, 0x800)
+ }
+
+ // Conversion of the both operands
+
+ Store(ShiftLeft(Derefof(Refof(bf61)), Derefof(Refof(bf74))), Local0)
+ m600(arg0, 48, Local0, 0x190800)
+
+ Store(ShiftLeft(Derefof(Refof(bf65)), Derefof(Refof(bf74))), Local0)
+ m600(arg0, 49, Local0, 0xE59C8EB285142000)
+
+ ShiftLeft(Derefof(Refof(bf61)), Derefof(Refof(bf74)), Local0)
+ m600(arg0, 50, Local0, 0x190800)
+
+ ShiftLeft(Derefof(Refof(bf65)), Derefof(Refof(bf74)), Local0)
+ m600(arg0, 51, Local0, 0xE59C8EB285142000)
+ }
+
+ // ShiftLeft, 32-bit
+ Method(m055, 1)
+ {
+ // Conversion of the first operand
+
+ Store(ShiftLeft(Derefof(Refof(bf65)), 0), Local0)
+ m600(arg0, 0, Local0, 0xd650a284)
+
+ Store(ShiftLeft(Derefof(Refof(bf65)), 1), Local0)
+ m600(arg0, 1, Local0, 0xaca14508)
+
+ Store(ShiftLeft(Derefof(Refof(bf65)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xd650a284)
+
+ Store(ShiftLeft(Derefof(Refof(bf65)), aui6), Local0)
+ m600(arg0, 3, Local0, 0xaca14508)
+
+ if (y078) {
+ Store(ShiftLeft(Derefof(Refof(bf65)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xd650a284)
+
+ Store(ShiftLeft(Derefof(Refof(bf65)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xaca14508)
+ }
+
+ Store(ShiftLeft(Derefof(Refof(bf65)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xd650a284)
+
+ Store(ShiftLeft(Derefof(Refof(bf65)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xaca14508)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(Derefof(Refof(bf65)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xd650a284)
+
+ Store(ShiftLeft(Derefof(Refof(bf65)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xaca14508)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(Derefof(Refof(bf65)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xd650a284)
+
+ Store(ShiftLeft(Derefof(Refof(bf65)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xaca14508)
+ }
+
+ ShiftLeft(Derefof(Refof(bf65)), 0, Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ ShiftLeft(Derefof(Refof(bf65)), 1, Local0)
+ m600(arg0, 13, Local0, 0xaca14508)
+
+ ShiftLeft(Derefof(Refof(bf65)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xd650a284)
+
+ ShiftLeft(Derefof(Refof(bf65)), aui6, Local0)
+ m600(arg0, 15, Local0, 0xaca14508)
+
+ if (y078) {
+ ShiftLeft(Derefof(Refof(bf65)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xd650a284)
+
+ ShiftLeft(Derefof(Refof(bf65)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xaca14508)
+ }
+
+ ShiftLeft(Derefof(Refof(bf65)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xd650a284)
+
+ ShiftLeft(Derefof(Refof(bf65)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xaca14508)
+
+ // Method returns Integer
+
+ ShiftLeft(Derefof(Refof(bf65)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xd650a284)
+
+ ShiftLeft(Derefof(Refof(bf65)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xaca14508)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(Derefof(Refof(bf65)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xd650a284)
+
+ ShiftLeft(Derefof(Refof(bf65)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xaca14508)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftLeft(0, Derefof(Refof(bf74))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftLeft(1, Derefof(Refof(bf74))), Local0)
+ m600(arg0, 25, Local0, 0x800)
+
+ Store(ShiftLeft(aui5, Derefof(Refof(bf74))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftLeft(aui6, Derefof(Refof(bf74))), Local0)
+ m600(arg0, 27, Local0, 0x800)
+
+ if (y078) {
+ Store(ShiftLeft(Derefof(Refof(aui5)), Derefof(Refof(bf74))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Refof(aui6)), Derefof(Refof(bf74))), Local0)
+ m600(arg0, 29, Local0, 0x800)
+ }
+
+ Store(ShiftLeft(Derefof(Index(paui, 5)), Derefof(Refof(bf74))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Index(paui, 6)), Derefof(Refof(bf74))), Local0)
+ m600(arg0, 31, Local0, 0x800)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(m601(1, 5), Derefof(Refof(bf74))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftLeft(m601(1, 6), Derefof(Refof(bf74))), Local0)
+ m600(arg0, 33, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(Derefof(m602(1, 5, 1)), Derefof(Refof(bf74))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftLeft(Derefof(m602(1, 6, 1)), Derefof(Refof(bf74))), Local0)
+ m600(arg0, 35, Local0, 0x800)
+ }
+
+ ShiftLeft(0, Derefof(Refof(bf74)), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftLeft(1, Derefof(Refof(bf74)), Local0)
+ m600(arg0, 37, Local0, 0x800)
+
+ ShiftLeft(aui5, Derefof(Refof(bf74)), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftLeft(aui6, Derefof(Refof(bf74)), Local0)
+ m600(arg0, 39, Local0, 0x800)
+
+ if (y078) {
+ ShiftLeft(Derefof(Refof(aui5)), Derefof(Refof(bf74)), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftLeft(Derefof(Refof(aui6)), Derefof(Refof(bf74)), Local0)
+ m600(arg0, 41, Local0, 0x800)
+ }
+
+ ShiftLeft(Derefof(Index(paui, 5)), Derefof(Refof(bf74)), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftLeft(Derefof(Index(paui, 6)), Derefof(Refof(bf74)), Local0)
+ m600(arg0, 43, Local0, 0x800)
+
+ // Method returns Integer
+
+ ShiftLeft(m601(1, 5), Derefof(Refof(bf74)), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftLeft(m601(1, 6), Derefof(Refof(bf74)), Local0)
+ m600(arg0, 45, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(Derefof(m602(1, 5, 1)), Derefof(Refof(bf74)), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftLeft(Derefof(m602(1, 6, 1)), Derefof(Refof(bf74)), Local0)
+ m600(arg0, 47, Local0, 0x800)
+ }
+
+ // Conversion of the both operands
+
+ Store(ShiftLeft(Derefof(Refof(bf61)), Derefof(Refof(bf74))), Local0)
+ m600(arg0, 48, Local0, 0x190800)
+
+ Store(ShiftLeft(Derefof(Refof(bf65)), Derefof(Refof(bf74))), Local0)
+ m600(arg0, 49, Local0, 0x85142000)
+
+ ShiftLeft(Derefof(Refof(bf61)), Derefof(Refof(bf74)), Local0)
+ m600(arg0, 50, Local0, 0x190800)
+
+ ShiftLeft(Derefof(Refof(bf65)), Derefof(Refof(bf74)), Local0)
+ m600(arg0, 51, Local0, 0x85142000)
+ }
+
+ // ShiftRight, common 32-bit/64-bit test
+ Method(m056, 1)
+ {
+ // Conversion of the first operand
+
+ Store(ShiftRight(Derefof(Refof(bf61)), 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(ShiftRight(Derefof(Refof(bf61)), 1), Local0)
+ m600(arg0, 1, Local0, 0x190)
+
+ Store(ShiftRight(Derefof(Refof(bf61)), aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(ShiftRight(Derefof(Refof(bf61)), aui6), Local0)
+ m600(arg0, 3, Local0, 0x190)
+
+ if (y078) {
+ Store(ShiftRight(Derefof(Refof(bf61)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(ShiftRight(Derefof(Refof(bf61)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x190)
+ }
+
+ Store(ShiftRight(Derefof(Refof(bf61)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(ShiftRight(Derefof(Refof(bf61)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x190)
+
+ // Method returns Integer
+
+ Store(ShiftRight(Derefof(Refof(bf61)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(ShiftRight(Derefof(Refof(bf61)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x190)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(Derefof(Refof(bf61)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(ShiftRight(Derefof(Refof(bf61)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x190)
+ }
+
+ ShiftRight(Derefof(Refof(bf61)), 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ ShiftRight(Derefof(Refof(bf61)), 1, Local0)
+ m600(arg0, 13, Local0, 0x190)
+
+ ShiftRight(Derefof(Refof(bf61)), aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ ShiftRight(Derefof(Refof(bf61)), aui6, Local0)
+ m600(arg0, 15, Local0, 0x190)
+
+ if (y078) {
+ ShiftRight(Derefof(Refof(bf61)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ ShiftRight(Derefof(Refof(bf61)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x190)
+ }
+
+ ShiftRight(Derefof(Refof(bf61)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ ShiftRight(Derefof(Refof(bf61)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x190)
+
+ // Method returns Integer
+
+ ShiftRight(Derefof(Refof(bf61)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ ShiftRight(Derefof(Refof(bf61)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x190)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(Derefof(Refof(bf61)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ ShiftRight(Derefof(Refof(bf61)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x190)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftRight(0x321, Derefof(Refof(bf74))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftRight(0xd650a284, Derefof(Refof(bf74))), Local0)
+ m600(arg0, 25, Local0, 0x1aca14)
+
+ Store(ShiftRight(aui1, Derefof(Refof(bf74))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftRight(auik, Derefof(Refof(bf74))), Local0)
+ m600(arg0, 27, Local0, 0x1aca14)
+
+ if (y078) {
+ Store(ShiftRight(Derefof(Refof(aui1)), Derefof(Refof(bf74))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftRight(Derefof(Refof(auik)), Derefof(Refof(bf74))), Local0)
+ m600(arg0, 29, Local0, 0x1aca14)
+ }
+
+ Store(ShiftRight(Derefof(Index(paui, 1)), Derefof(Refof(bf74))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftRight(Derefof(Index(paui, 20)), Derefof(Refof(bf74))), Local0)
+ m600(arg0, 31, Local0, 0x1aca14)
+
+ // Method returns Integer
+
+ Store(ShiftRight(m601(1, 1), Derefof(Refof(bf74))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftRight(m601(1, 20), Derefof(Refof(bf74))), Local0)
+ m600(arg0, 33, Local0, 0x1aca14)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(Derefof(m602(1, 1, 1)), Derefof(Refof(bf74))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftRight(Derefof(m602(1, 20, 1)), Derefof(Refof(bf74))), Local0)
+ m600(arg0, 35, Local0, 0x1aca14)
+ }
+
+ ShiftRight(0x321, Derefof(Refof(bf74)), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftRight(0xd650a284, Derefof(Refof(bf74)), Local0)
+ m600(arg0, 37, Local0, 0x1aca14)
+
+ ShiftRight(aui1, Derefof(Refof(bf74)), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftRight(auik, Derefof(Refof(bf74)), Local0)
+ m600(arg0, 39, Local0, 0x1aca14)
+
+ if (y078) {
+ ShiftRight(Derefof(Refof(aui1)), Derefof(Refof(bf74)), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftRight(Derefof(Refof(auik)), Derefof(Refof(bf74)), Local0)
+ m600(arg0, 41, Local0, 0x1aca14)
+ }
+
+ ShiftRight(Derefof(Index(paui, 1)), Derefof(Refof(bf74)), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftRight(Derefof(Index(paui, 20)), Derefof(Refof(bf74)), Local0)
+ m600(arg0, 43, Local0, 0x1aca14)
+
+ // Method returns Integer
+
+ ShiftRight(m601(1, 1), Derefof(Refof(bf74)), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftRight(m601(1, 20), Derefof(Refof(bf74)), Local0)
+ m600(arg0, 45, Local0, 0x1aca14)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(Derefof(m602(1, 1, 1)), Derefof(Refof(bf74)), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftRight(Derefof(m602(1, 20, 1)), Derefof(Refof(bf74)), Local0)
+ m600(arg0, 47, Local0, 0x1aca14)
+ }
+ }
+
+ // ShiftRight, 64-bit
+ Method(m057, 1)
+ {
+ // Conversion of the first operand
+
+ Store(ShiftRight(Derefof(Refof(bf65)), 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(Derefof(Refof(bf65)), 1), Local0)
+ m600(arg0, 1, Local0, 0x7f3e59c8eb285142)
+
+ Store(ShiftRight(Derefof(Refof(bf65)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(Derefof(Refof(bf65)), aui6), Local0)
+ m600(arg0, 3, Local0, 0x7f3e59c8eb285142)
+
+ if (y078) {
+ Store(ShiftRight(Derefof(Refof(bf65)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(Derefof(Refof(bf65)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x7f3e59c8eb285142)
+ }
+
+ Store(ShiftRight(Derefof(Refof(bf65)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(Derefof(Refof(bf65)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x7f3e59c8eb285142)
+
+ // Method returns Integer
+
+ Store(ShiftRight(Derefof(Refof(bf65)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(Derefof(Refof(bf65)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x7f3e59c8eb285142)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(Derefof(Refof(bf65)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(Derefof(Refof(bf65)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x7f3e59c8eb285142)
+ }
+
+ ShiftRight(Derefof(Refof(bf65)), 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(Derefof(Refof(bf65)), 1, Local0)
+ m600(arg0, 13, Local0, 0x7f3e59c8eb285142)
+
+ ShiftRight(Derefof(Refof(bf65)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(Derefof(Refof(bf65)), aui6, Local0)
+ m600(arg0, 15, Local0, 0x7f3e59c8eb285142)
+
+ if (y078) {
+ ShiftRight(Derefof(Refof(bf65)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(Derefof(Refof(bf65)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x7f3e59c8eb285142)
+ }
+
+ ShiftRight(Derefof(Refof(bf65)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(Derefof(Refof(bf65)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x7f3e59c8eb285142)
+
+ // Method returns Integer
+
+ ShiftRight(Derefof(Refof(bf65)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(Derefof(Refof(bf65)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x7f3e59c8eb285142)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(Derefof(Refof(bf65)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(Derefof(Refof(bf65)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x7f3e59c8eb285142)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftRight(0x321, Derefof(Refof(bf74))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftRight(0xfe7cb391d650a284, Derefof(Refof(bf74))), Local0)
+ m600(arg0, 25, Local0, 0x1fcf96723aca14)
+
+ Store(ShiftRight(aui1, Derefof(Refof(bf74))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftRight(aui4, Derefof(Refof(bf74))), Local0)
+ m600(arg0, 27, Local0, 0x1fcf96723aca14)
+
+ if (y078) {
+ Store(ShiftRight(Derefof(Refof(aui1)), Derefof(Refof(bf74))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftRight(Derefof(Refof(aui4)), Derefof(Refof(bf74))), Local0)
+ m600(arg0, 29, Local0, 0x1fcf96723aca14)
+ }
+
+ Store(ShiftRight(Derefof(Index(paui, 1)), Derefof(Refof(bf74))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftRight(Derefof(Index(paui, 4)), Derefof(Refof(bf74))), Local0)
+ m600(arg0, 31, Local0, 0x1fcf96723aca14)
+
+ // Method returns Integer
+
+ Store(ShiftRight(m601(1, 1), Derefof(Refof(bf74))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftRight(m601(1, 4), Derefof(Refof(bf74))), Local0)
+ m600(arg0, 33, Local0, 0x1fcf96723aca14)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(Derefof(m602(1, 1, 1)), Derefof(Refof(bf74))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftRight(Derefof(m602(1, 4, 1)), Derefof(Refof(bf74))), Local0)
+ m600(arg0, 35, Local0, 0x1fcf96723aca14)
+ }
+
+ ShiftRight(0x321, Derefof(Refof(bf74)), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftRight(0xfe7cb391d650a284, Derefof(Refof(bf74)), Local0)
+ m600(arg0, 37, Local0, 0x1fcf96723aca14)
+
+ ShiftRight(aui1, Derefof(Refof(bf74)), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftRight(aui4, Derefof(Refof(bf74)), Local0)
+ m600(arg0, 39, Local0, 0x1fcf96723aca14)
+
+ if (y078) {
+ ShiftRight(Derefof(Refof(aui1)), Derefof(Refof(bf74)), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftRight(Derefof(Refof(aui4)), Derefof(Refof(bf74)), Local0)
+ m600(arg0, 41, Local0, 0x1fcf96723aca14)
+ }
+
+ ShiftRight(Derefof(Index(paui, 1)), Derefof(Refof(bf74)), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftRight(Derefof(Index(paui, 4)), Derefof(Refof(bf74)), Local0)
+ m600(arg0, 43, Local0, 0x1fcf96723aca14)
+
+ // Method returns Integer
+
+ ShiftRight(m601(1, 1), Derefof(Refof(bf74)), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftRight(m601(1, 4), Derefof(Refof(bf74)), Local0)
+ m600(arg0, 45, Local0, 0x1fcf96723aca14)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(Derefof(m602(1, 1, 1)), Derefof(Refof(bf74)), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftRight(Derefof(m602(1, 4, 1)), Derefof(Refof(bf74)), Local0)
+ m600(arg0, 47, Local0, 0x1fcf96723aca14)
+ }
+
+ // Conversion of the both operands
+
+ Store(ShiftRight(Derefof(Refof(bf61)), Derefof(Refof(bf74))), Local0)
+ m600(arg0, 48, Local0, 0)
+
+ Store(ShiftRight(Derefof(Refof(bf65)), Derefof(Refof(bf74))), Local0)
+ m600(arg0, 49, Local0, 0x1fcf96723aca14)
+
+ ShiftRight(Derefof(Refof(bf61)), Derefof(Refof(bf74)), Local0)
+ m600(arg0, 50, Local0, 0)
+
+ ShiftRight(Derefof(Refof(bf65)), Derefof(Refof(bf74)), Local0)
+ m600(arg0, 51, Local0, 0x1fcf96723aca14)
+ }
+
+ // ShiftRight, 32-bit
+ Method(m058, 1)
+ {
+ // Conversion of the first operand
+
+ Store(ShiftRight(Derefof(Refof(bf65)), 0), Local0)
+ m600(arg0, 0, Local0, 0xd650a284)
+
+ Store(ShiftRight(Derefof(Refof(bf65)), 1), Local0)
+ m600(arg0, 1, Local0, 0x6b285142)
+
+ Store(ShiftRight(Derefof(Refof(bf65)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xd650a284)
+
+ Store(ShiftRight(Derefof(Refof(bf65)), aui6), Local0)
+ m600(arg0, 3, Local0, 0x6b285142)
+
+ if (y078) {
+ Store(ShiftRight(Derefof(Refof(bf65)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xd650a284)
+
+ Store(ShiftRight(Derefof(Refof(bf65)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x6b285142)
+ }
+
+ Store(ShiftRight(Derefof(Refof(bf65)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xd650a284)
+
+ Store(ShiftRight(Derefof(Refof(bf65)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x6b285142)
+
+ // Method returns Integer
+
+ Store(ShiftRight(Derefof(Refof(bf65)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xd650a284)
+
+ Store(ShiftRight(Derefof(Refof(bf65)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x6b285142)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(Derefof(Refof(bf65)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xd650a284)
+
+ Store(ShiftRight(Derefof(Refof(bf65)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x6b285142)
+ }
+
+ ShiftRight(Derefof(Refof(bf65)), 0, Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ ShiftRight(Derefof(Refof(bf65)), 1, Local0)
+ m600(arg0, 13, Local0, 0x6b285142)
+
+ ShiftRight(Derefof(Refof(bf65)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xd650a284)
+
+ ShiftRight(Derefof(Refof(bf65)), aui6, Local0)
+ m600(arg0, 15, Local0, 0x6b285142)
+
+ if (y078) {
+ ShiftRight(Derefof(Refof(bf65)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xd650a284)
+
+ ShiftRight(Derefof(Refof(bf65)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x6b285142)
+ }
+
+ ShiftRight(Derefof(Refof(bf65)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xd650a284)
+
+ ShiftRight(Derefof(Refof(bf65)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x6b285142)
+
+ // Method returns Integer
+
+ ShiftRight(Derefof(Refof(bf65)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xd650a284)
+
+ ShiftRight(Derefof(Refof(bf65)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x6b285142)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(Derefof(Refof(bf65)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xd650a284)
+
+ ShiftRight(Derefof(Refof(bf65)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x6b285142)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftRight(0x321, Derefof(Refof(bf74))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftRight(0xd650a284, Derefof(Refof(bf74))), Local0)
+ m600(arg0, 25, Local0, 0x1aca14)
+
+ Store(ShiftRight(aui1, Derefof(Refof(bf74))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftRight(auik, Derefof(Refof(bf74))), Local0)
+ m600(arg0, 27, Local0, 0x1aca14)
+
+ if (y078) {
+ Store(ShiftRight(Derefof(Refof(aui1)), Derefof(Refof(bf74))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftRight(Derefof(Refof(auik)), Derefof(Refof(bf74))), Local0)
+ m600(arg0, 29, Local0, 0x1aca14)
+ }
+
+ Store(ShiftRight(Derefof(Index(paui, 1)), Derefof(Refof(bf74))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftRight(Derefof(Index(paui, 20)), Derefof(Refof(bf74))), Local0)
+ m600(arg0, 31, Local0, 0x1aca14)
+
+ // Method returns Integer
+
+ Store(ShiftRight(m601(1, 1), Derefof(Refof(bf74))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftRight(m601(1, 20), Derefof(Refof(bf74))), Local0)
+ m600(arg0, 33, Local0, 0x1aca14)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(Derefof(m602(1, 1, 1)), Derefof(Refof(bf74))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftRight(Derefof(m602(1, 20, 1)), Derefof(Refof(bf74))), Local0)
+ m600(arg0, 35, Local0, 0x1aca14)
+ }
+
+ ShiftRight(0x321, Derefof(Refof(bf74)), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftRight(0xd650a284, Derefof(Refof(bf74)), Local0)
+ m600(arg0, 37, Local0, 0x1aca14)
+
+ ShiftRight(aui1, Derefof(Refof(bf74)), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftRight(auik, Derefof(Refof(bf74)), Local0)
+ m600(arg0, 39, Local0, 0x1aca14)
+
+ if (y078) {
+ ShiftRight(Derefof(Refof(aui1)), Derefof(Refof(bf74)), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftRight(Derefof(Refof(auik)), Derefof(Refof(bf74)), Local0)
+ m600(arg0, 41, Local0, 0x1aca14)
+ }
+
+ ShiftRight(Derefof(Index(paui, 1)), Derefof(Refof(bf74)), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftRight(Derefof(Index(paui, 20)), Derefof(Refof(bf74)), Local0)
+ m600(arg0, 43, Local0, 0x1aca14)
+
+ // Method returns Integer
+
+ ShiftRight(m601(1, 1), Derefof(Refof(bf74)), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftRight(m601(1, 20), Derefof(Refof(bf74)), Local0)
+ m600(arg0, 45, Local0, 0x1aca14)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(Derefof(m602(1, 1, 1)), Derefof(Refof(bf74)), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftRight(Derefof(m602(1, 20, 1)), Derefof(Refof(bf74)), Local0)
+ m600(arg0, 47, Local0, 0x1aca14)
+ }
+
+ // Conversion of the both operands
+
+ Store(ShiftRight(Derefof(Refof(bf61)), Derefof(Refof(bf74))), Local0)
+ m600(arg0, 48, Local0, 0)
+
+ Store(ShiftRight(Derefof(Refof(bf65)), Derefof(Refof(bf74))), Local0)
+ m600(arg0, 49, Local0, 0x1aca14)
+
+ ShiftRight(Derefof(Refof(bf61)), Derefof(Refof(bf74)), Local0)
+ m600(arg0, 50, Local0, 0)
+
+ ShiftRight(Derefof(Refof(bf65)), Derefof(Refof(bf74)), Local0)
+ m600(arg0, 51, Local0, 0x1aca14)
+ }
+
+ // Subtract, common 32-bit/64-bit test
+ Method(m059, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Subtract(Derefof(Refof(bf61)), 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Subtract(Derefof(Refof(bf61)), 1), Local0)
+ m600(arg0, 1, Local0, 0x320)
+
+ Store(Subtract(Derefof(Refof(bf61)), aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Subtract(Derefof(Refof(bf61)), aui6), Local0)
+ m600(arg0, 3, Local0, 0x320)
+
+ if (y078) {
+ Store(Subtract(Derefof(Refof(bf61)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Subtract(Derefof(Refof(bf61)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x320)
+ }
+
+ Store(Subtract(Derefof(Refof(bf61)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Subtract(Derefof(Refof(bf61)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x320)
+
+ // Method returns Integer
+
+ Store(Subtract(Derefof(Refof(bf61)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Subtract(Derefof(Refof(bf61)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x320)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(Derefof(Refof(bf61)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Subtract(Derefof(Refof(bf61)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x320)
+ }
+
+ Subtract(Derefof(Refof(bf61)), 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Subtract(Derefof(Refof(bf61)), 1, Local0)
+ m600(arg0, 13, Local0, 0x320)
+
+ Subtract(Derefof(Refof(bf61)), aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Subtract(Derefof(Refof(bf61)), aui6, Local0)
+ m600(arg0, 15, Local0, 0x320)
+
+ if (y078) {
+ Subtract(Derefof(Refof(bf61)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Subtract(Derefof(Refof(bf61)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x320)
+ }
+
+ Subtract(Derefof(Refof(bf61)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Subtract(Derefof(Refof(bf61)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x320)
+
+ // Method returns Integer
+
+ Subtract(Derefof(Refof(bf61)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Subtract(Derefof(Refof(bf61)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x320)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(Derefof(Refof(bf61)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Subtract(Derefof(Refof(bf61)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x320)
+ }
+
+ // Conversion of the second operand
+
+ Store(Subtract(0, Derefof(Refof(bf61))), Local0)
+ m600(arg0, 24, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(1, Derefof(Refof(bf61))), Local0)
+ m600(arg0, 25, Local0, 0xfffffffffffffce0)
+
+ Store(Subtract(aui5, Derefof(Refof(bf61))), Local0)
+ m600(arg0, 26, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(aui6, Derefof(Refof(bf61))), Local0)
+ m600(arg0, 27, Local0, 0xfffffffffffffce0)
+
+ if (y078) {
+ Store(Subtract(Derefof(Refof(aui5)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 28, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(Derefof(Refof(aui6)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 29, Local0, 0xfffffffffffffce0)
+ }
+
+ Store(Subtract(Derefof(Index(paui, 5)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 30, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(Derefof(Index(paui, 6)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 31, Local0, 0xfffffffffffffce0)
+
+ // Method returns Integer
+
+ Store(Subtract(m601(1, 5), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 32, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(m601(1, 6), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 33, Local0, 0xfffffffffffffce0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(Derefof(m602(1, 5, 1)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 34, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(Derefof(m602(1, 6, 1)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 35, Local0, 0xfffffffffffffce0)
+ }
+
+ Subtract(0, Derefof(Refof(bf61)), Local0)
+ m600(arg0, 36, Local0, 0xfffffffffffffcdf)
+
+ Subtract(1, Derefof(Refof(bf61)), Local0)
+ m600(arg0, 37, Local0, 0xfffffffffffffce0)
+
+ Subtract(aui5, Derefof(Refof(bf61)), Local0)
+ m600(arg0, 38, Local0, 0xfffffffffffffcdf)
+
+ Subtract(aui6, Derefof(Refof(bf61)), Local0)
+ m600(arg0, 39, Local0, 0xfffffffffffffce0)
+
+ if (y078) {
+ Subtract(Derefof(Refof(aui5)), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 40, Local0, 0xfffffffffffffcdf)
+
+ Subtract(Derefof(Refof(aui6)), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 41, Local0, 0xfffffffffffffce0)
+ }
+
+ Subtract(Derefof(Index(paui, 5)), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 42, Local0, 0xfffffffffffffcdf)
+
+ Subtract(Derefof(Index(paui, 6)), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 43, Local0, 0xfffffffffffffce0)
+
+ // Method returns Integer
+
+ Subtract(m601(1, 5), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 44, Local0, 0xfffffffffffffcdf)
+
+ Subtract(m601(1, 6), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 45, Local0, 0xfffffffffffffce0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(Derefof(m602(1, 5, 1)), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 46, Local0, 0xfffffffffffffcdf)
+
+ Subtract(Derefof(m602(1, 6, 1)), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 47, Local0, 0xfffffffffffffce0)
+ }
+ }
+
+ // Subtract, 64-bit
+ Method(m05a, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Subtract(Derefof(Refof(bf65)), 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(Derefof(Refof(bf65)), 1), Local0)
+ m600(arg0, 1, Local0, 0xfe7cb391d650a283)
+
+ Store(Subtract(Derefof(Refof(bf65)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(Derefof(Refof(bf65)), aui6), Local0)
+ m600(arg0, 3, Local0, 0xfe7cb391d650a283)
+
+ if (y078) {
+ Store(Subtract(Derefof(Refof(bf65)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(Derefof(Refof(bf65)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xfe7cb391d650a283)
+ }
+
+ Store(Subtract(Derefof(Refof(bf65)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(Derefof(Refof(bf65)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Integer
+
+ Store(Subtract(Derefof(Refof(bf65)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(Derefof(Refof(bf65)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(Derefof(Refof(bf65)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(Derefof(Refof(bf65)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfe7cb391d650a283)
+ }
+
+ Subtract(Derefof(Refof(bf65)), 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Subtract(Derefof(Refof(bf65)), 1, Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a283)
+
+ Subtract(Derefof(Refof(bf65)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Subtract(Derefof(Refof(bf65)), aui6, Local0)
+ m600(arg0, 15, Local0, 0xfe7cb391d650a283)
+
+ if (y078) {
+ Subtract(Derefof(Refof(bf65)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Subtract(Derefof(Refof(bf65)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xfe7cb391d650a283)
+ }
+
+ Subtract(Derefof(Refof(bf65)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Subtract(Derefof(Refof(bf65)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Integer
+
+ Subtract(Derefof(Refof(bf65)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Subtract(Derefof(Refof(bf65)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(Derefof(Refof(bf65)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Subtract(Derefof(Refof(bf65)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfe7cb391d650a283)
+ }
+
+ // Conversion of the second operand
+
+ Store(Subtract(0, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 24, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(1, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 25, Local0, 0x01834c6e29af5d7d)
+
+ Store(Subtract(aui5, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 26, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(aui6, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 27, Local0, 0x01834c6e29af5d7d)
+
+ if (y078) {
+ Store(Subtract(Derefof(Refof(aui5)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 28, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(Derefof(Refof(aui6)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 29, Local0, 0x01834c6e29af5d7d)
+ }
+
+ Store(Subtract(Derefof(Index(paui, 5)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 30, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(Derefof(Index(paui, 6)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 31, Local0, 0x01834c6e29af5d7d)
+
+ // Method returns Integer
+
+ Store(Subtract(m601(1, 5), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 32, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(m601(1, 6), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 33, Local0, 0x01834c6e29af5d7d)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(Derefof(m602(1, 5, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 34, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(Derefof(m602(1, 6, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 35, Local0, 0x01834c6e29af5d7d)
+ }
+
+ Subtract(0, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 36, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(1, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 37, Local0, 0x01834c6e29af5d7d)
+
+ Subtract(aui5, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 38, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(aui6, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 39, Local0, 0x01834c6e29af5d7d)
+
+ if (y078) {
+ Subtract(Derefof(Refof(aui5)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 40, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(Derefof(Refof(aui6)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 41, Local0, 0x01834c6e29af5d7d)
+ }
+
+ Subtract(Derefof(Index(paui, 5)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 42, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(Derefof(Index(paui, 6)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 43, Local0, 0x01834c6e29af5d7d)
+
+ // Method returns Integer
+
+ Subtract(m601(1, 5), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 44, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(m601(1, 6), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 45, Local0, 0x01834c6e29af5d7d)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(Derefof(m602(1, 5, 1)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 46, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(Derefof(m602(1, 6, 1)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 47, Local0, 0x01834c6e29af5d7d)
+ }
+
+ // Conversion of the both operands
+
+ Store(Subtract(Derefof(Refof(bf61)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 48, Local0, 0x01834c6e29af609d)
+
+ Store(Subtract(Derefof(Refof(bf65)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 49, Local0, 0xfe7cb391d6509f63)
+
+ Subtract(Derefof(Refof(bf61)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 50, Local0, 0x01834c6e29af609d)
+
+ Subtract(Derefof(Refof(bf65)), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 51, Local0, 0xfe7cb391d6509f63)
+ }
+
+ // Subtract, 32-bit
+ Method(m05b, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Subtract(Derefof(Refof(bf65)), 0), Local0)
+ m600(arg0, 0, Local0, 0xd650a284)
+
+ Store(Subtract(Derefof(Refof(bf65)), 1), Local0)
+ m600(arg0, 1, Local0, 0xd650a283)
+
+ Store(Subtract(Derefof(Refof(bf65)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xd650a284)
+
+ Store(Subtract(Derefof(Refof(bf65)), aui6), Local0)
+ m600(arg0, 3, Local0, 0xd650a283)
+
+ if (y078) {
+ Store(Subtract(Derefof(Refof(bf65)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xd650a284)
+
+ Store(Subtract(Derefof(Refof(bf65)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xd650a283)
+ }
+
+ Store(Subtract(Derefof(Refof(bf65)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xd650a284)
+
+ Store(Subtract(Derefof(Refof(bf65)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xd650a283)
+
+ // Method returns Integer
+
+ Store(Subtract(Derefof(Refof(bf65)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xd650a284)
+
+ Store(Subtract(Derefof(Refof(bf65)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xd650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(Derefof(Refof(bf65)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xd650a284)
+
+ Store(Subtract(Derefof(Refof(bf65)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xd650a283)
+ }
+
+ Subtract(Derefof(Refof(bf65)), 0, Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ Subtract(Derefof(Refof(bf65)), 1, Local0)
+ m600(arg0, 13, Local0, 0xd650a283)
+
+ Subtract(Derefof(Refof(bf65)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xd650a284)
+
+ Subtract(Derefof(Refof(bf65)), aui6, Local0)
+ m600(arg0, 15, Local0, 0xd650a283)
+
+ if (y078) {
+ Subtract(Derefof(Refof(bf65)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xd650a284)
+
+ Subtract(Derefof(Refof(bf65)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xd650a283)
+ }
+
+ Subtract(Derefof(Refof(bf65)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xd650a284)
+
+ Subtract(Derefof(Refof(bf65)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xd650a283)
+
+ // Method returns Integer
+
+ Subtract(Derefof(Refof(bf65)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xd650a284)
+
+ Subtract(Derefof(Refof(bf65)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xd650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(Derefof(Refof(bf65)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xd650a284)
+
+ Subtract(Derefof(Refof(bf65)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xd650a283)
+ }
+
+ // Conversion of the second operand
+
+ Store(Subtract(0, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 24, Local0, 0x29af5d7c)
+
+ Store(Subtract(1, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 25, Local0, 0x29af5d7d)
+
+ Store(Subtract(aui5, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 26, Local0, 0x29af5d7c)
+
+ Store(Subtract(aui6, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 27, Local0, 0x29af5d7d)
+
+ if (y078) {
+ Store(Subtract(Derefof(Refof(aui5)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 28, Local0, 0x29af5d7c)
+
+ Store(Subtract(Derefof(Refof(aui6)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 29, Local0, 0x29af5d7d)
+ }
+
+ Store(Subtract(Derefof(Index(paui, 5)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 30, Local0, 0x29af5d7c)
+
+ Store(Subtract(Derefof(Index(paui, 6)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 31, Local0, 0x29af5d7d)
+
+ // Method returns Integer
+
+ Store(Subtract(m601(1, 5), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 32, Local0, 0x29af5d7c)
+
+ Store(Subtract(m601(1, 6), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 33, Local0, 0x29af5d7d)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(Derefof(m602(1, 5, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 34, Local0, 0x29af5d7c)
+
+ Store(Subtract(Derefof(m602(1, 6, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 35, Local0, 0x29af5d7d)
+ }
+
+ Subtract(0, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 36, Local0, 0x29af5d7c)
+
+ Subtract(1, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 37, Local0, 0x29af5d7d)
+
+ Subtract(aui5, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 38, Local0, 0x29af5d7c)
+
+ Subtract(aui6, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 39, Local0, 0x29af5d7d)
+
+ if (y078) {
+ Subtract(Derefof(Refof(aui5)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 40, Local0, 0x29af5d7c)
+
+ Subtract(Derefof(Refof(aui6)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 41, Local0, 0x29af5d7d)
+ }
+
+ Subtract(Derefof(Index(paui, 5)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 42, Local0, 0x29af5d7c)
+
+ Subtract(Derefof(Index(paui, 6)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 43, Local0, 0x29af5d7d)
+
+ // Method returns Integer
+
+ Subtract(m601(1, 5), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 44, Local0, 0x29af5d7c)
+
+ Subtract(m601(1, 6), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 45, Local0, 0x29af5d7d)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(Derefof(m602(1, 5, 1)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 46, Local0, 0x29af5d7c)
+
+ Subtract(Derefof(m602(1, 6, 1)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 47, Local0, 0x29af5d7d)
+ }
+
+ // Conversion of the both operands
+
+ Store(Subtract(Derefof(Refof(bf61)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 48, Local0, 0x29af609d)
+
+ Store(Subtract(Derefof(Refof(bf65)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 49, Local0, 0xd6509f63)
+
+ Subtract(Derefof(Refof(bf61)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 50, Local0, 0x29af609d)
+
+ Subtract(Derefof(Refof(bf65)), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 51, Local0, 0xd6509f63)
+ }
+
+ // XOr, common 32-bit/64-bit test
+ Method(m05c, 1)
+ {
+ // Conversion of the first operand
+
+ Store(XOr(Derefof(Refof(bf61)), 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(XOr(Derefof(Refof(bf61)), 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xfffffffffffffcde)
+
+ Store(XOr(Derefof(Refof(bf61)), aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(XOr(Derefof(Refof(bf61)), auij), Local0)
+ m600(arg0, 3, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ Store(XOr(Derefof(Refof(bf61)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(XOr(Derefof(Refof(bf61)), Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xfffffffffffffcde)
+ }
+
+ Store(XOr(Derefof(Refof(bf61)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(XOr(Derefof(Refof(bf61)), Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ Store(XOr(Derefof(Refof(bf61)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(XOr(Derefof(Refof(bf61)), m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(Derefof(Refof(bf61)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(XOr(Derefof(Refof(bf61)), Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfffffffffffffcde)
+ }
+
+ XOr(Derefof(Refof(bf61)), 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ XOr(Derefof(Refof(bf61)), 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xfffffffffffffcde)
+
+ XOr(Derefof(Refof(bf61)), aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ XOr(Derefof(Refof(bf61)), auij, Local0)
+ m600(arg0, 15, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ XOr(Derefof(Refof(bf61)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ XOr(Derefof(Refof(bf61)), Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xfffffffffffffcde)
+ }
+
+ XOr(Derefof(Refof(bf61)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ XOr(Derefof(Refof(bf61)), Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ XOr(Derefof(Refof(bf61)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ XOr(Derefof(Refof(bf61)), m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(Derefof(Refof(bf61)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ XOr(Derefof(Refof(bf61)), Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfffffffffffffcde)
+ }
+
+ // Conversion of the second operand
+
+ Store(XOr(0, Derefof(Refof(bf61))), Local0)
+ m600(arg0, 24, Local0, 0x321)
+
+ Store(XOr(0xffffffffffffffff, Derefof(Refof(bf61))), Local0)
+ m600(arg0, 25, Local0, 0xfffffffffffffcde)
+
+ Store(XOr(aui5, Derefof(Refof(bf61))), Local0)
+ m600(arg0, 26, Local0, 0x321)
+
+ Store(XOr(auij, Derefof(Refof(bf61))), Local0)
+ m600(arg0, 27, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ Store(XOr(Derefof(Refof(aui5)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 28, Local0, 0x321)
+
+ Store(XOr(Derefof(Refof(auij)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 29, Local0, 0xfffffffffffffcde)
+ }
+
+ Store(XOr(Derefof(Index(paui, 5)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 30, Local0, 0x321)
+
+ Store(XOr(Derefof(Index(paui, 19)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 31, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ Store(XOr(m601(1, 5), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 32, Local0, 0x321)
+
+ Store(XOr(m601(1, 19), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 33, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(Derefof(m602(1, 5, 1)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 34, Local0, 0x321)
+
+ Store(XOr(Derefof(m602(1, 19, 1)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 35, Local0, 0xfffffffffffffcde)
+ }
+
+ XOr(0, Derefof(Refof(bf61)), Local0)
+ m600(arg0, 36, Local0, 0x321)
+
+ XOr(0xffffffffffffffff, Derefof(Refof(bf61)), Local0)
+ m600(arg0, 37, Local0, 0xfffffffffffffcde)
+
+ XOr(aui5, Derefof(Refof(bf61)), Local0)
+ m600(arg0, 38, Local0, 0x321)
+
+ XOr(auij, Derefof(Refof(bf61)), Local0)
+ m600(arg0, 39, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ XOr(Derefof(Refof(aui5)), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 40, Local0, 0x321)
+
+ XOr(Derefof(Refof(auij)), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 41, Local0, 0xfffffffffffffcde)
+ }
+
+ XOr(Derefof(Index(paui, 5)), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 42, Local0, 0x321)
+
+ XOr(Derefof(Index(paui, 19)), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 43, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ XOr(m601(1, 5), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 44, Local0, 0x321)
+
+ XOr(m601(1, 19), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 45, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(Derefof(m602(1, 5, 1)), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 46, Local0, 0x321)
+
+ XOr(Derefof(m602(1, 19, 1)), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 47, Local0, 0xfffffffffffffcde)
+ }
+ }
+
+ // XOr, 64-bit
+ Method(m05d, 1)
+ {
+ // Conversion of the first operand
+
+ Store(XOr(Derefof(Refof(bf65)), 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(Refof(bf65)), 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0x01834c6e29af5d7b)
+
+ Store(XOr(Derefof(Refof(bf65)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(Refof(bf65)), auij), Local0)
+ m600(arg0, 3, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ Store(XOr(Derefof(Refof(bf65)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(Refof(bf65)), Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Store(XOr(Derefof(Refof(bf65)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(Refof(bf65)), Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ Store(XOr(Derefof(Refof(bf65)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(Refof(bf65)), m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(Derefof(Refof(bf65)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(Refof(bf65)), Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0x01834c6e29af5d7b)
+ }
+
+ XOr(Derefof(Refof(bf65)), 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(Refof(bf65)), 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0x01834c6e29af5d7b)
+
+ XOr(Derefof(Refof(bf65)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(Refof(bf65)), auij, Local0)
+ m600(arg0, 15, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ XOr(Derefof(Refof(bf65)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(Refof(bf65)), Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0x01834c6e29af5d7b)
+ }
+
+ XOr(Derefof(Refof(bf65)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(Refof(bf65)), Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ XOr(Derefof(Refof(bf65)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(Refof(bf65)), m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(Derefof(Refof(bf65)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(Refof(bf65)), Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0x01834c6e29af5d7b)
+ }
+
+ // Conversion of the second operand
+
+ Store(XOr(0, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 24, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(0xffffffffffffffff, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 25, Local0, 0x01834c6e29af5d7b)
+
+ Store(XOr(aui5, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 26, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(auij, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 27, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ Store(XOr(Derefof(Refof(aui5)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 28, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(Refof(auij)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 29, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Store(XOr(Derefof(Index(paui, 5)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 30, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(Index(paui, 19)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 31, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ Store(XOr(m601(1, 5), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 32, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(m601(1, 19), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 33, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(Derefof(m602(1, 5, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 34, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(m602(1, 19, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 35, Local0, 0x01834c6e29af5d7b)
+ }
+
+ XOr(0, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 36, Local0, 0xfe7cb391d650a284)
+
+ XOr(0xffffffffffffffff, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 37, Local0, 0x01834c6e29af5d7b)
+
+ XOr(aui5, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 38, Local0, 0xfe7cb391d650a284)
+
+ XOr(auij, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 39, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ XOr(Derefof(Refof(aui5)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 40, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(Refof(auij)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 41, Local0, 0x01834c6e29af5d7b)
+ }
+
+ XOr(Derefof(Index(paui, 5)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 42, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(Index(paui, 19)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 43, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ XOr(m601(1, 5), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 44, Local0, 0xfe7cb391d650a284)
+
+ XOr(m601(1, 19), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 45, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(Derefof(m602(1, 5, 1)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 46, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(m602(1, 19, 1)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 47, Local0, 0x01834c6e29af5d7b)
+ }
+
+ // Conversion of the both operands
+
+ Store(XOr(Derefof(Refof(bf61)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 48, Local0, 0xfe7cb391d650a1a5)
+
+ Store(XOr(Derefof(Refof(bf65)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 49, Local0, 0xfe7cb391d650a1a5)
+
+ XOr(Derefof(Refof(bf61)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 50, Local0, 0xfe7cb391d650a1a5)
+
+ XOr(Derefof(Refof(bf65)), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 51, Local0, 0xfe7cb391d650a1a5)
+ }
+
+ // XOr, 32-bit
+ Method(m05e, 1)
+ {
+ // Conversion of the first operand
+
+ Store(XOr(Derefof(Refof(bf65)), 0), Local0)
+ m600(arg0, 0, Local0, 0xd650a284)
+
+ Store(XOr(Derefof(Refof(bf65)), 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0x29af5d7b)
+
+ Store(XOr(Derefof(Refof(bf65)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xd650a284)
+
+ Store(XOr(Derefof(Refof(bf65)), auii), Local0)
+ m600(arg0, 3, Local0, 0x29af5d7b)
+
+ if (y078) {
+ Store(XOr(Derefof(Refof(bf65)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xd650a284)
+
+ Store(XOr(Derefof(Refof(bf65)), Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0x29af5d7b)
+ }
+
+ Store(XOr(Derefof(Refof(bf65)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xd650a284)
+
+ Store(XOr(Derefof(Refof(bf65)), Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0x29af5d7b)
+
+ // Method returns Integer
+
+ Store(XOr(Derefof(Refof(bf65)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xd650a284)
+
+ Store(XOr(Derefof(Refof(bf65)), m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0x29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(Derefof(Refof(bf65)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xd650a284)
+
+ Store(XOr(Derefof(Refof(bf65)), Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0x29af5d7b)
+ }
+
+ XOr(Derefof(Refof(bf65)), 0, Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ XOr(Derefof(Refof(bf65)), 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0x29af5d7b)
+
+ XOr(Derefof(Refof(bf65)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xd650a284)
+
+ XOr(Derefof(Refof(bf65)), auii, Local0)
+ m600(arg0, 15, Local0, 0x29af5d7b)
+
+ if (y078) {
+ XOr(Derefof(Refof(bf65)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xd650a284)
+
+ XOr(Derefof(Refof(bf65)), Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0x29af5d7b)
+ }
+
+ XOr(Derefof(Refof(bf65)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xd650a284)
+
+ XOr(Derefof(Refof(bf65)), Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0x29af5d7b)
+
+ // Method returns Integer
+
+ XOr(Derefof(Refof(bf65)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xd650a284)
+
+ XOr(Derefof(Refof(bf65)), m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0x29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(Derefof(Refof(bf65)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xd650a284)
+
+ XOr(Derefof(Refof(bf65)), Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0x29af5d7b)
+ }
+
+ // Conversion of the second operand
+
+ Store(XOr(0, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 24, Local0, 0xd650a284)
+
+ Store(XOr(0xffffffff, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 25, Local0, 0x29af5d7b)
+
+ Store(XOr(aui5, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 26, Local0, 0xd650a284)
+
+ Store(XOr(auii, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 27, Local0, 0x29af5d7b)
+
+ if (y078) {
+ Store(XOr(Derefof(Refof(aui5)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 28, Local0, 0xd650a284)
+
+ Store(XOr(Derefof(Refof(auii)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 29, Local0, 0x29af5d7b)
+ }
+
+ Store(XOr(Derefof(Index(paui, 5)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 30, Local0, 0xd650a284)
+
+ Store(XOr(Derefof(Index(paui, 18)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 31, Local0, 0x29af5d7b)
+
+ // Method returns Integer
+
+ Store(XOr(m601(1, 5), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 32, Local0, 0xd650a284)
+
+ Store(XOr(m601(1, 18), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 33, Local0, 0x29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(Derefof(m602(1, 5, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 34, Local0, 0xd650a284)
+
+ Store(XOr(Derefof(m602(1, 18, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 35, Local0, 0x29af5d7b)
+ }
+
+ XOr(0, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 36, Local0, 0xd650a284)
+
+ XOr(0xffffffff, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 37, Local0, 0x29af5d7b)
+
+ XOr(aui5, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 38, Local0, 0xd650a284)
+
+ XOr(auii, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 39, Local0, 0x29af5d7b)
+
+ if (y078) {
+ XOr(Derefof(Refof(aui5)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 40, Local0, 0xd650a284)
+
+ XOr(Derefof(Refof(auii)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 41, Local0, 0x29af5d7b)
+ }
+
+ XOr(Derefof(Index(paui, 5)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 42, Local0, 0xd650a284)
+
+ XOr(Derefof(Index(paui, 18)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 43, Local0, 0x29af5d7b)
+
+ // Method returns Integer
+
+ XOr(m601(1, 5), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 44, Local0, 0xd650a284)
+
+ XOr(m601(1, 18), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 45, Local0, 0x29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(Derefof(m602(1, 5, 1)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 46, Local0, 0xd650a284)
+
+ XOr(Derefof(m602(1, 18, 1)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 47, Local0, 0x29af5d7b)
+ }
+
+ // Conversion of the both operands
+
+ Store(XOr(Derefof(Refof(bf61)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 48, Local0, 0xd650a1a5)
+
+ Store(XOr(Derefof(Refof(bf65)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 49, Local0, 0xd650a1a5)
+
+ XOr(Derefof(Refof(bf61)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 50, Local0, 0xd650a1a5)
+
+ XOr(Derefof(Refof(bf65)), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 51, Local0, 0xd650a1a5)
+ }
+
+ // Add, And, Divide, Mod, Multiply, NAnd, NOr, Or,
+ // ShiftLeft, ShiftRight, Subtract, Xor
+
+ Method(m64n, 1)
+ {
+ // Add
+ Concatenate(arg0, "-m03b", Local0)
+ SRMT(Local0)
+ m03b(Local0)
+ Concatenate(arg0, "-m03c", Local0)
+ SRMT(Local0)
+ m03c(Local0)
+
+ // And
+ Concatenate(arg0, "-m03e", Local0)
+ SRMT(Local0)
+ m03e(Local0)
+ Concatenate(arg0, "-m03f", Local0)
+ SRMT(Local0)
+ m03f(Local0)
+
+ // Divide
+ Concatenate(arg0, "-m041", Local0)
+ SRMT(Local0)
+ m041(Local0)
+ Concatenate(arg0, "-m042", Local0)
+ SRMT(Local0)
+ m042(Local0)
+
+ // Mod
+ Concatenate(arg0, "-m044", Local0)
+ SRMT(Local0)
+ m044(Local0)
+ Concatenate(arg0, "-m045", Local0)
+ SRMT(Local0)
+ m045(Local0)
+
+ // Multiply
+ Concatenate(arg0, "-m047", Local0)
+ SRMT(Local0)
+ m047(Local0)
+ Concatenate(arg0, "-m048", Local0)
+ SRMT(Local0)
+ m048(Local0)
+
+ // NAnd
+ Concatenate(arg0, "-m04a", Local0)
+ SRMT(Local0)
+ m04a(Local0)
+ Concatenate(arg0, "-m04b", Local0)
+ SRMT(Local0)
+ m04b(Local0)
+
+ // NOr
+ Concatenate(arg0, "-m04d", Local0)
+ SRMT(Local0)
+ m04d(Local0)
+ Concatenate(arg0, "-m04e", Local0)
+ SRMT(Local0)
+ m04e(Local0)
+
+ // Or
+ Concatenate(arg0, "-m050", Local0)
+ SRMT(Local0)
+ m050(Local0)
+ Concatenate(arg0, "-m051", Local0)
+ SRMT(Local0)
+ m051(Local0)
+
+ // ShiftLeft
+ Concatenate(arg0, "-m053", Local0)
+ SRMT(Local0)
+ m053(Local0)
+ Concatenate(arg0, "-m054", Local0)
+ SRMT(Local0)
+ m054(Local0)
+
+ // ShiftRight
+ Concatenate(arg0, "-m056", Local0)
+ SRMT(Local0)
+ m056(Local0)
+ Concatenate(arg0, "-m057", Local0)
+ SRMT(Local0)
+ m057(Local0)
+
+ // Subtract
+ Concatenate(arg0, "-m059", Local0)
+ SRMT(Local0)
+ m059(Local0)
+ Concatenate(arg0, "-m05a", Local0)
+ SRMT(Local0)
+ m05a(Local0)
+
+ // XOr
+ Concatenate(arg0, "-m05c", Local0)
+ SRMT(Local0)
+ m05c(Local0)
+ Concatenate(arg0, "-m05d", Local0)
+ SRMT(Local0)
+ m05d(Local0)
+ }
+
+ Method(m32n, 1)
+ {
+ // Add
+ Concatenate(arg0, "-m03b", Local0)
+ SRMT(Local0)
+ m03b(Local0)
+ Concatenate(arg0, "-m03d", Local0)
+ SRMT(Local0)
+ m03d(Local0)
+
+ // And
+ Concatenate(arg0, "-m03e", Local0)
+ SRMT(Local0)
+ m03e(Local0)
+ Concatenate(arg0, "-m040", Local0)
+ SRMT(Local0)
+ m040(Local0)
+
+ // Divide
+ Concatenate(arg0, "-m041", Local0)
+ SRMT(Local0)
+ m041(Local0)
+ Concatenate(arg0, "-m043", Local0)
+ SRMT(Local0)
+ m043(Local0)
+
+ // Mod
+ Concatenate(arg0, "-m044", Local0)
+ SRMT(Local0)
+ m044(Local0)
+ Concatenate(arg0, "-m046", Local0)
+ SRMT(Local0)
+ m046(Local0)
+
+ // Multiply
+ Concatenate(arg0, "-m047", Local0)
+ SRMT(Local0)
+ m047(Local0)
+ Concatenate(arg0, "-m049", Local0)
+ SRMT(Local0)
+ m049(Local0)
+
+ // NAnd
+ Concatenate(arg0, "-m04a", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m04a(Local0)
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m04c", Local0)
+ SRMT(Local0)
+ m04c(Local0)
+
+ // NOr
+ Concatenate(arg0, "-m04d", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m04d(Local0)
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m04f", Local0)
+ SRMT(Local0)
+ m04f(Local0)
+
+ // Or
+ Concatenate(arg0, "-m050", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m050(Local0)
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m052", Local0)
+ SRMT(Local0)
+ m052(Local0)
+
+ // ShiftLeft
+ Concatenate(arg0, "-m053", Local0)
+ SRMT(Local0)
+ m053(Local0)
+ Concatenate(arg0, "-m055", Local0)
+ SRMT(Local0)
+ m055(Local0)
+
+ // ShiftRight
+ Concatenate(arg0, "-m056", Local0)
+ SRMT(Local0)
+ m056(Local0)
+ Concatenate(arg0, "-m058", Local0)
+ SRMT(Local0)
+ m058(Local0)
+
+ // Subtract
+ Concatenate(arg0, "-m059", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m059(Local0)
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m05b", Local0)
+ SRMT(Local0)
+ m05b(Local0)
+
+ // XOr
+ Concatenate(arg0, "-m05c", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m05c(Local0)
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m05e", Local0)
+ SRMT(Local0)
+ m05e(Local0)
+ }
+
+
+ // Buffer Field to Integer conversion of each Buffer operand
+ // of the 2-parameter Logical Integer operators LAnd and LOr
+
+ // LAnd, common 32-bit/64-bit test
+ Method(m05f, 1)
+ {
+ // Conversion of the first operand
+
+ Store(LAnd(Derefof(Refof(bf61)), 0), Local0)
+ m600(arg0, 0, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(bf61)), 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(LAnd(Derefof(Refof(bf61)), aui5), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(bf61)), aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(Derefof(Refof(bf61)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(bf61)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(LAnd(Derefof(Refof(bf61)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(bf61)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(Derefof(Refof(bf61)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(bf61)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(Derefof(Refof(bf61)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(bf61)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(LAnd(0, Derefof(Refof(bf61))), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LAnd(1, Derefof(Refof(bf61))), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LAnd(aui5, Derefof(Refof(bf61))), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LAnd(aui6, Derefof(Refof(bf61))), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(Derefof(Refof(aui5)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(aui6)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(LAnd(Derefof(Index(paui, 5)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LAnd(Derefof(Index(paui, 6)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(m601(1, 5), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LAnd(m601(1, 6), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(Derefof(m602(1, 5, 1)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LAnd(Derefof(m602(1, 6, 1)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+ }
+
+ // LAnd, 64-bit
+ Method(m060, 1)
+ {
+ // Conversion of the first operand
+
+ Store(LAnd(Derefof(Refof(bf65)), 0), Local0)
+ m600(arg0, 0, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(bf65)), 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(LAnd(Derefof(Refof(bf65)), aui5), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(bf65)), aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(Derefof(Refof(bf65)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(bf65)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(LAnd(Derefof(Refof(bf65)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(bf65)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(Derefof(Refof(bf65)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(bf65)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(Derefof(Refof(bf65)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(bf65)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(LAnd(0, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LAnd(1, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LAnd(aui5, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LAnd(aui6, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(Derefof(Refof(aui5)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(aui6)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(LAnd(Derefof(Index(paui, 5)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LAnd(Derefof(Index(paui, 6)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(m601(1, 5), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LAnd(m601(1, 6), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(Derefof(m602(1, 5, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LAnd(Derefof(m602(1, 6, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+
+ // Conversion of the both operands
+
+ Store(LAnd(Derefof(Refof(bf61)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 24, Local0, Ones)
+
+ Store(LAnd(Derefof(Refof(bf65)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // LAnd, 32-bit
+ Method(m061, 1)
+ {
+ // Conversion of the first operand
+
+ Store(LAnd(Derefof(Refof(bf65)), 0), Local0)
+ m600(arg0, 0, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(bf65)), 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(LAnd(Derefof(Refof(bf65)), aui5), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(bf65)), aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(Derefof(Refof(bf65)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(bf65)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(LAnd(Derefof(Refof(bf65)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(bf65)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(Derefof(Refof(bf65)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(bf65)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(Derefof(Refof(bf65)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(bf65)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(LAnd(0, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LAnd(1, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LAnd(aui5, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LAnd(aui6, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(Derefof(Refof(aui5)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(aui6)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(LAnd(Derefof(Index(paui, 5)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LAnd(Derefof(Index(paui, 6)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(m601(1, 5), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LAnd(m601(1, 6), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(Derefof(m602(1, 5, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LAnd(Derefof(m602(1, 6, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+
+ // Conversion of the both operands
+
+ Store(LAnd(Derefof(Refof(bf61)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 24, Local0, Ones)
+
+ Store(LAnd(Derefof(Refof(bf65)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // Lor, common 32-bit/64-bit test
+ Method(m062, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Lor(Derefof(Refof(bf76)), 0), Local0)
+ m600(arg0, 0, Local0, Zero)
+
+ Store(Lor(Derefof(Refof(bf76)), 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(Lor(Derefof(Refof(bf76)), aui5), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(Lor(Derefof(Refof(bf76)), aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(Derefof(Refof(bf76)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(Lor(Derefof(Refof(bf76)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(Lor(Derefof(Refof(bf76)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Zero)
+
+ Store(Lor(Derefof(Refof(bf76)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(Derefof(Refof(bf76)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Zero)
+
+ Store(Lor(Derefof(Refof(bf76)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(Derefof(Refof(bf76)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(Lor(Derefof(Refof(bf76)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(Lor(0, Derefof(Refof(bf76))), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(Lor(1, Derefof(Refof(bf76))), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(Lor(aui5, Derefof(Refof(bf76))), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(Lor(aui6, Derefof(Refof(bf76))), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(Derefof(Refof(aui5)), Derefof(Refof(bf76))), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(Lor(Derefof(Refof(aui6)), Derefof(Refof(bf76))), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(Lor(Derefof(Index(paui, 5)), Derefof(Refof(bf76))), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(Lor(Derefof(Index(paui, 6)), Derefof(Refof(bf76))), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(m601(1, 5), Derefof(Refof(bf76))), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(Lor(m601(1, 6), Derefof(Refof(bf76))), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(Derefof(m602(1, 5, 1)), Derefof(Refof(bf76))), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(Lor(Derefof(m602(1, 6, 1)), Derefof(Refof(bf76))), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+ }
+
+ // Lor, 64-bit
+ Method(m063, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Lor(Derefof(Refof(bf65)), 0), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(Lor(Derefof(Refof(bf65)), 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(Lor(Derefof(Refof(bf65)), aui5), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(Lor(Derefof(Refof(bf65)), aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(Derefof(Refof(bf65)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(Lor(Derefof(Refof(bf65)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(Lor(Derefof(Refof(bf65)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(Lor(Derefof(Refof(bf65)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(Derefof(Refof(bf65)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(Lor(Derefof(Refof(bf65)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(Derefof(Refof(bf65)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(Lor(Derefof(Refof(bf65)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(Lor(0, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(Lor(1, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(Lor(aui5, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 14, Local0, Ones)
+
+ Store(Lor(aui6, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(Derefof(Refof(aui5)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 16, Local0, Ones)
+
+ Store(Lor(Derefof(Refof(aui6)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(Lor(Derefof(Index(paui, 5)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 18, Local0, Ones)
+
+ Store(Lor(Derefof(Index(paui, 6)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(m601(1, 5), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 20, Local0, Ones)
+
+ Store(Lor(m601(1, 6), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(Derefof(m602(1, 5, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(Lor(Derefof(m602(1, 6, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+
+ // Conversion of the both operands
+
+ Store(Lor(Derefof(Refof(bf76)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 24, Local0, Ones)
+
+ Store(Lor(Derefof(Refof(bf65)), Derefof(Refof(bf76))), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // Lor, 32-bit
+ Method(m064, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Lor(Derefof(Refof(bf65)), 0), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(Lor(Derefof(Refof(bf65)), 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(Lor(Derefof(Refof(bf65)), aui5), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(Lor(Derefof(Refof(bf65)), aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(Derefof(Refof(bf65)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(Lor(Derefof(Refof(bf65)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(Lor(Derefof(Refof(bf65)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(Lor(Derefof(Refof(bf65)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(Derefof(Refof(bf65)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(Lor(Derefof(Refof(bf65)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(Derefof(Refof(bf65)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(Lor(Derefof(Refof(bf65)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(Lor(0, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(Lor(1, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(Lor(aui5, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 14, Local0, Ones)
+
+ Store(Lor(aui6, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(Derefof(Refof(aui5)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 16, Local0, Ones)
+
+ Store(Lor(Derefof(Refof(aui6)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(Lor(Derefof(Index(paui, 5)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 18, Local0, Ones)
+
+ Store(Lor(Derefof(Index(paui, 6)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(m601(1, 5), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 20, Local0, Ones)
+
+ Store(Lor(m601(1, 6), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(Derefof(m602(1, 5, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(Lor(Derefof(m602(1, 6, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+
+ // Conversion of the both operands
+
+ Store(Lor(Derefof(Refof(bf76)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 24, Local0, Ones)
+
+ Store(Lor(Derefof(Refof(bf65)), Derefof(Refof(bf76))), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ Method(m64o, 1)
+ {
+ // LAnd
+ Concatenate(arg0, "-m05f", Local0)
+ SRMT(Local0)
+ m05f(Local0)
+ Concatenate(arg0, "-m060", Local0)
+ SRMT(Local0)
+ m060(Local0)
+
+ // LOr
+ Concatenate(arg0, "-m062", Local0)
+ SRMT(Local0)
+ m062(Local0)
+ Concatenate(arg0, "-m063", Local0)
+ SRMT(Local0)
+ m063(Local0)
+ }
+
+ Method(m32o, 1)
+ {
+ // LAnd
+ Concatenate(arg0, "-m05f", Local0)
+ SRMT(Local0)
+ m05f(Local0)
+ Concatenate(arg0, "-m061", Local0)
+ SRMT(Local0)
+ m061(Local0)
+
+ // LOr
+ Concatenate(arg0, "-m062", Local0)
+ SRMT(Local0)
+ m062(Local0)
+ Concatenate(arg0, "-m064", Local0)
+ SRMT(Local0)
+ m064(Local0)
+ }
+
+
+ // Buffer Field to Integer conversion of the Buffer Field second operand
+ // of Logical operators when the first operand is evaluated as Integer
+ // (LEqual, LGreater, LGreaterEqual, LLess, LLessEqual, LNotEqual)
+
+ Method(m64p, 1)
+ {
+ // LEqual
+
+ Store(LEqual(0xfe7cb391d650a284, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual(0xfe7cb391d650a285, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(0xfe7cb391d650a283, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LEqual(aui4, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ Store(LEqual(auid, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LEqual(auif, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 5, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aui4)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(auid)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ Store(LEqual(Derefof(Refof(auif)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 8, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paui, 4)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paui, 13)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LEqual(Derefof(Index(paui, 15)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 11, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LEqual(m601(1, 4), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(LEqual(m601(1, 13), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 13, Local0, Zero)
+
+ Store(LEqual(m601(1, 15), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(1, 4, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(1, 13, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LEqual(Derefof(m602(1, 15, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 17, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater(0xfe7cb391d650a284, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(0xfe7cb391d650a285, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ Store(LGreater(0xfe7cb391d650a283, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(aui4, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 21, Local0, Zero)
+
+ Store(LGreater(auid, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(LGreater(auif, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 23, Local0, Zero)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aui4)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(auid)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 25, Local0, Ones)
+
+ Store(LGreater(Derefof(Refof(auif)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 26, Local0, Zero)
+ }
+
+ Store(LGreater(Derefof(Index(paui, 4)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 27, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paui, 13)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 28, Local0, Ones)
+
+ Store(LGreater(Derefof(Index(paui, 15)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 29, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreater(m601(1, 4), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 30, Local0, Zero)
+
+ Store(LGreater(m601(1, 13), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ Store(LGreater(m601(1, 15), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 32, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(1, 4, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 33, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(1, 13, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreater(Derefof(m602(1, 15, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 35, Local0, Zero)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual(0xfe7cb391d650a284, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(0xfe7cb391d650a285, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ Store(LGreaterEqual(0xfe7cb391d650a283, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 38, Local0, Zero)
+
+ Store(LGreaterEqual(aui4, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 39, Local0, Ones)
+
+ Store(LGreaterEqual(auid, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 40, Local0, Ones)
+
+ Store(LGreaterEqual(auif, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aui4)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auid)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 43, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auif)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 44, Local0, Zero)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paui, 4)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 45, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 13)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 46, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 15)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 47, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreaterEqual(m601(1, 4), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 48, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 13), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 49, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 15), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(1, 4, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 51, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 13, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 52, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 15, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLess
+
+ Store(LLess(0xfe7cb391d650a284, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 54, Local0, Zero)
+
+ Store(LLess(0xfe7cb391d650a285, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLess(0xfe7cb391d650a283, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLess(aui4, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLess(auid, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 58, Local0, Zero)
+
+ Store(LLess(auif, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 59, Local0, Ones)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aui4)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 60, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auid)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 61, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auif)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 62, Local0, Ones)
+ }
+
+ Store(LLess(Derefof(Index(paui, 4)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 13)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 64, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 15)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 65, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLess(m601(1, 4), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 66, Local0, Zero)
+
+ Store(LLess(m601(1, 13), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 67, Local0, Zero)
+
+ Store(LLess(m601(1, 15), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 68, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLess(Derefof(m602(1, 4, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 69, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 13, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 70, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 15, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 71, Local0, Ones)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual(0xfe7cb391d650a284, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 72, Local0, Ones)
+
+ Store(LLessEqual(0xfe7cb391d650a285, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 73, Local0, Zero)
+
+ Store(LLessEqual(0xfe7cb391d650a283, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 74, Local0, Ones)
+
+ Store(LLessEqual(aui4, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 75, Local0, Ones)
+
+ Store(LLessEqual(auid, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LLessEqual(auif, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aui4)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 78, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(auid)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 79, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Refof(auif)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 80, Local0, Ones)
+ }
+
+ Store(LLessEqual(Derefof(Index(paui, 4)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 81, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paui, 13)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 82, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Index(paui, 15)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 83, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLessEqual(m601(1, 4), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 84, Local0, Ones)
+
+ Store(LLessEqual(m601(1, 13), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 85, Local0, Zero)
+
+ Store(LLessEqual(m601(1, 15), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 86, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(1, 4, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 87, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(1, 13, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 88, Local0, Zero)
+
+ Store(LLessEqual(Derefof(m602(1, 15, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 89, Local0, Ones)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual(0xfe7cb391d650a284, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 90, Local0, Zero)
+
+ Store(LNotEqual(0xfe7cb391d650a285, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 91, Local0, Ones)
+
+ Store(LNotEqual(0xfe7cb391d650a283, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 92, Local0, Ones)
+
+ Store(LNotEqual(aui4, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 93, Local0, Zero)
+
+ Store(LNotEqual(auid, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 94, Local0, Ones)
+
+ Store(LNotEqual(auif, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 95, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aui4)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 96, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(auid)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 97, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Refof(auif)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 98, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paui, 4)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 99, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paui, 13)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 100, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Index(paui, 15)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 101, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LNotEqual(m601(1, 4), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 102, Local0, Zero)
+
+ Store(LNotEqual(m601(1, 13), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 103, Local0, Ones)
+
+ Store(LNotEqual(m601(1, 15), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 104, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(1, 4, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 105, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(1, 13, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 106, Local0, Ones)
+
+ Store(LNotEqual(Derefof(m602(1, 15, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 107, Local0, Ones)
+ }
+ }
+
+ Method(m32p, 1)
+ {
+ // LEqual
+
+ Store(LEqual(0xd650a284, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual(0xd650a285, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(0xd650a283, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LEqual(auik, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ Store(LEqual(auil, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LEqual(auim, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 5, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(auik)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(auil)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ Store(LEqual(Derefof(Refof(auim)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 8, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paui, 20)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paui, 21)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LEqual(Derefof(Index(paui, 22)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 11, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LEqual(m601(1, 20), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(LEqual(m601(1, 21), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 13, Local0, Zero)
+
+ Store(LEqual(m601(1, 22), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(1, 20, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LEqual(Derefof(m601(1, 21, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LEqual(Derefof(m601(1, 22, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 17, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater(0xd650a284, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(0xd650a285, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ Store(LGreater(0xd650a283, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(auik, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 21, Local0, Zero)
+
+ Store(LGreater(auil, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(LGreater(auim, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 23, Local0, Zero)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(auik)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(auil)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 25, Local0, Ones)
+
+ Store(LGreater(Derefof(Refof(auim)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 26, Local0, Zero)
+ }
+
+ Store(LGreater(Derefof(Index(paui, 20)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 27, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paui, 21)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 28, Local0, Ones)
+
+ Store(LGreater(Derefof(Index(paui, 22)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 29, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreater(m601(1, 20), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 30, Local0, Zero)
+
+ Store(LGreater(m601(1, 21), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ Store(LGreater(m601(1, 22), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 32, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(1, 20, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 33, Local0, Zero)
+
+ Store(LGreater(Derefof(m601(1, 21, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreater(Derefof(m601(1, 22, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 35, Local0, Zero)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual(0xd650a284, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(0xd650a285, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ Store(LGreaterEqual(0xd650a283, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 38, Local0, Zero)
+
+ Store(LGreaterEqual(auik, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 39, Local0, Ones)
+
+ Store(LGreaterEqual(auil, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 40, Local0, Ones)
+
+ Store(LGreaterEqual(auim, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(auik)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auil)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 43, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auim)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 44, Local0, Zero)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paui, 20)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 45, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 21)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 46, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 22)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 47, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreaterEqual(m601(1, 20), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 48, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 21), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 49, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 22), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(1, 20, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 51, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m601(1, 21, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 52, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m601(1, 22, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLess
+
+ Store(LLess(0xd650a284, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 54, Local0, Zero)
+
+ Store(LLess(0xd650a285, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLess(0xd650a283, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLess(auik, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLess(auil, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 58, Local0, Zero)
+
+ Store(LLess(auim, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 59, Local0, Ones)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(auik)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 60, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auil)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 61, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auim)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 62, Local0, Ones)
+ }
+
+ Store(LLess(Derefof(Index(paui, 20)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 21)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 64, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 22)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 65, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLess(m601(1, 20), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 66, Local0, Zero)
+
+ Store(LLess(m601(1, 21), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 67, Local0, Zero)
+
+ Store(LLess(m601(1, 22), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 68, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLess(Derefof(m602(1, 20, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 69, Local0, Zero)
+
+ Store(LLess(Derefof(m601(1, 21, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 70, Local0, Zero)
+
+ Store(LLess(Derefof(m601(1, 22, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 71, Local0, Ones)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual(0xd650a284, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 72, Local0, Ones)
+
+ Store(LLessEqual(0xd650a285, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 73, Local0, Zero)
+
+ Store(LLessEqual(0xd650a283, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 74, Local0, Ones)
+
+ Store(LLessEqual(auik, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 75, Local0, Ones)
+
+ Store(LLessEqual(auil, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LLessEqual(auim, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(auik)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 78, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(auil)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 79, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Refof(auim)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 80, Local0, Ones)
+ }
+
+ Store(LLessEqual(Derefof(Index(paui, 20)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 81, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paui, 21)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 82, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Index(paui, 22)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 83, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLessEqual(m601(1, 20), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 84, Local0, Ones)
+
+ Store(LLessEqual(m601(1, 21), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 85, Local0, Zero)
+
+ Store(LLessEqual(m601(1, 22), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 86, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(1, 20, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 87, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m601(1, 21, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 88, Local0, Zero)
+
+ Store(LLessEqual(Derefof(m601(1, 22, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 89, Local0, Ones)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual(0xd650a284, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 90, Local0, Zero)
+
+ Store(LNotEqual(0xd650a285, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 91, Local0, Ones)
+
+ Store(LNotEqual(0xd650a283, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 92, Local0, Ones)
+
+ Store(LNotEqual(auik, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 93, Local0, Zero)
+
+ Store(LNotEqual(auil, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 94, Local0, Ones)
+
+ Store(LNotEqual(auim, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 95, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(auik)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 96, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(auil)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 97, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Refof(auim)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 98, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paui, 20)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 99, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paui, 21)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 100, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Index(paui, 22)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 101, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LNotEqual(m601(1, 20), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 102, Local0, Zero)
+
+ Store(LNotEqual(m601(1, 21), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 103, Local0, Ones)
+
+ Store(LNotEqual(m601(1, 22), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 104, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(1, 20, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 105, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m601(1, 21, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 106, Local0, Ones)
+
+ Store(LNotEqual(Derefof(m601(1, 22, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 107, Local0, Ones)
+ }
+ }
+
+ Method(m065, 1)
+ {
+ // LEqual
+
+ Store(LEqual(0x321, Derefof(Refof(bf61))), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual(0x322, Derefof(Refof(bf61))), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(0x320, Derefof(Refof(bf61))), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LEqual(aui1, Derefof(Refof(bf61))), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ Store(LEqual(auig, Derefof(Refof(bf61))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LEqual(auih, Derefof(Refof(bf61))), Local0)
+ m600(arg0, 5, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aui1)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(auig)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ Store(LEqual(Derefof(Refof(auih)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 8, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paui, 1)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paui, 16)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LEqual(Derefof(Index(paui, 17)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 11, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LEqual(m601(1, 1), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(LEqual(m601(1, 16), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 13, Local0, Zero)
+
+ Store(LEqual(m601(1, 17), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(1, 1, 1)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(1, 16, 1)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LEqual(Derefof(m602(1, 17, 1)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 17, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater(0x321, Derefof(Refof(bf61))), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(0x322, Derefof(Refof(bf61))), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ Store(LGreater(0x320, Derefof(Refof(bf61))), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(aui1, Derefof(Refof(bf61))), Local0)
+ m600(arg0, 21, Local0, Zero)
+
+ Store(LGreater(auig, Derefof(Refof(bf61))), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(LGreater(auih, Derefof(Refof(bf61))), Local0)
+ m600(arg0, 23, Local0, Zero)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aui1)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(auig)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 25, Local0, Ones)
+
+ Store(LGreater(Derefof(Refof(auih)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 26, Local0, Zero)
+ }
+
+ Store(LGreater(Derefof(Index(paui, 1)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 27, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paui, 16)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 28, Local0, Ones)
+
+ Store(LGreater(Derefof(Index(paui, 17)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 29, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreater(m601(1, 1), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 30, Local0, Zero)
+
+ Store(LGreater(m601(1, 16), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ Store(LGreater(m601(1, 17), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 32, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(1, 1, 1)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 33, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(1, 16, 1)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreater(Derefof(m602(1, 17, 1)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 35, Local0, Zero)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual(0x321, Derefof(Refof(bf61))), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(0x322, Derefof(Refof(bf61))), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ Store(LGreaterEqual(0x320, Derefof(Refof(bf61))), Local0)
+ m600(arg0, 38, Local0, Zero)
+
+ Store(LGreaterEqual(aui1, Derefof(Refof(bf61))), Local0)
+ m600(arg0, 39, Local0, Ones)
+
+ Store(LGreaterEqual(auig, Derefof(Refof(bf61))), Local0)
+ m600(arg0, 40, Local0, Ones)
+
+ Store(LGreaterEqual(auih, Derefof(Refof(bf61))), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aui1)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auig)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 43, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auih)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 44, Local0, Zero)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paui, 1)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 45, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 16)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 46, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 17)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 47, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreaterEqual(m601(1, 1), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 48, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 16), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 49, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 17), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(1, 1, 1)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 51, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 16, 1)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 52, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 17, 1)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLess
+
+ Store(LLess(0x321, Derefof(Refof(bf61))), Local0)
+ m600(arg0, 54, Local0, Zero)
+
+ Store(LLess(0x322, Derefof(Refof(bf61))), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLess(0x320, Derefof(Refof(bf61))), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLess(aui1, Derefof(Refof(bf61))), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLess(auig, Derefof(Refof(bf61))), Local0)
+ m600(arg0, 58, Local0, Zero)
+
+ Store(LLess(auih, Derefof(Refof(bf61))), Local0)
+ m600(arg0, 59, Local0, Ones)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aui1)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 60, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auig)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 61, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auih)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 62, Local0, Ones)
+ }
+
+ Store(LLess(Derefof(Index(paui, 1)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 16)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 64, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 17)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 65, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLess(m601(1, 1), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 66, Local0, Zero)
+
+ Store(LLess(m601(1, 16), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 67, Local0, Zero)
+
+ Store(LLess(m601(1, 17), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 68, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLess(Derefof(m602(1, 1, 1)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 69, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 16, 1)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 70, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 17, 1)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 71, Local0, Ones)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual(0x321, Derefof(Refof(bf61))), Local0)
+ m600(arg0, 72, Local0, Ones)
+
+ Store(LLessEqual(0x322, Derefof(Refof(bf61))), Local0)
+ m600(arg0, 73, Local0, Zero)
+
+ Store(LLessEqual(0x320, Derefof(Refof(bf61))), Local0)
+ m600(arg0, 74, Local0, Ones)
+
+ Store(LLessEqual(aui1, Derefof(Refof(bf61))), Local0)
+ m600(arg0, 75, Local0, Ones)
+
+ Store(LLessEqual(auig, Derefof(Refof(bf61))), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LLessEqual(auih, Derefof(Refof(bf61))), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aui1)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 78, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(auig)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 79, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Refof(auih)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 80, Local0, Ones)
+ }
+
+ Store(LLessEqual(Derefof(Index(paui, 1)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 81, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paui, 16)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 82, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Index(paui, 17)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 83, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLessEqual(m601(1, 1), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 84, Local0, Ones)
+
+ Store(LLessEqual(m601(1, 16), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 85, Local0, Zero)
+
+ Store(LLessEqual(m601(1, 17), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 86, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(1, 1, 1)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 87, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(1, 16, 1)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 88, Local0, Zero)
+
+ Store(LLessEqual(Derefof(m602(1, 17, 1)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 89, Local0, Ones)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual(0x321, Derefof(Refof(bf61))), Local0)
+ m600(arg0, 90, Local0, Zero)
+
+ Store(LNotEqual(0x322, Derefof(Refof(bf61))), Local0)
+ m600(arg0, 91, Local0, Ones)
+
+ Store(LNotEqual(0x320, Derefof(Refof(bf61))), Local0)
+ m600(arg0, 92, Local0, Ones)
+
+ Store(LNotEqual(aui1, Derefof(Refof(bf61))), Local0)
+ m600(arg0, 93, Local0, Zero)
+
+ Store(LNotEqual(auig, Derefof(Refof(bf61))), Local0)
+ m600(arg0, 94, Local0, Ones)
+
+ Store(LNotEqual(auih, Derefof(Refof(bf61))), Local0)
+ m600(arg0, 95, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aui1)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 96, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(auig)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 97, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Refof(auih)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 98, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paui, 1)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 99, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paui, 16)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 100, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Index(paui, 17)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 101, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LNotEqual(m601(1, 1), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 102, Local0, Zero)
+
+ Store(LNotEqual(m601(1, 16), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 103, Local0, Ones)
+
+ Store(LNotEqual(m601(1, 17), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 104, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(1, 1, 1)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 105, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(1, 16, 1)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 106, Local0, Ones)
+
+ Store(LNotEqual(Derefof(m602(1, 17, 1)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 107, Local0, Ones)
+ }
+ }
+
+ // Buffer Field to Integer intermediate conversion of the Buffer Field
+ // second operand of Concatenate operator in case the first one is Integer
+
+ Method(m64q, 1)
+ {
+ Store(Concatenate(0x321, Derefof(Refof(bf61))), Local0)
+ m600(arg0, 0, Local0, bb26)
+
+ Store(Concatenate(0x321, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 1, Local0, bb21)
+
+
+ Store(Concatenate(aui1, Derefof(Refof(bf61))), Local0)
+ m600(arg0, 2, Local0, bb26)
+
+ Store(Concatenate(aui1, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 3, Local0, bb21)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aui1)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 4, Local0, bb26)
+
+ Store(Concatenate(Derefof(Refof(aui1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 5, Local0, bb21)
+ }
+
+ Store(Concatenate(Derefof(Index(paui, 1)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 6, Local0, bb26)
+
+ Store(Concatenate(Derefof(Index(paui, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 7, Local0, bb21)
+
+ // Method returns Integer
+
+ Store(Concatenate(m601(1, 1), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 8, Local0, bb26)
+
+ Store(Concatenate(m601(1, 1), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 9, Local0, bb21)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(1, 1, 1)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 10, Local0, bb26)
+
+ Store(Concatenate(Derefof(m602(1, 1, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 11, Local0, bb21)
+ }
+
+ Concatenate(0x321, Derefof(Refof(bf61)), Local0)
+ m600(arg0, 12, Local0, bb26)
+
+ Concatenate(0x321, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 13, Local0, bb21)
+
+
+ Concatenate(aui1, Derefof(Refof(bf61)), Local0)
+ m600(arg0, 14, Local0, bb26)
+
+ Concatenate(aui1, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 15, Local0, bb21)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aui1)), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 16, Local0, bb26)
+
+ Concatenate(Derefof(Refof(aui1)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 17, Local0, bb21)
+ }
+
+ Concatenate(Derefof(Index(paui, 1)), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 18, Local0, bb26)
+
+ Concatenate(Derefof(Index(paui, 1)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 19, Local0, bb21)
+
+ // Method returns Integer
+
+ Concatenate(m601(1, 1), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 20, Local0, bb26)
+
+ Concatenate(m601(1, 1), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 21, Local0, bb21)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Concatenate(Derefof(m602(1, 1, 1)), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 22, Local0, bb26)
+
+ Concatenate(Derefof(m602(1, 1, 1)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 23, Local0, bb21)
+ }
+ }
+
+ Method(m32q, 1)
+ {
+ Store(Concatenate(0x321, Derefof(Refof(bf61))), Local0)
+ m600(arg0, 0, Local0, bb27)
+
+ Store(Concatenate(0x321, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 1, Local0, bb28)
+
+
+ Store(Concatenate(aui1, Derefof(Refof(bf61))), Local0)
+ m600(arg0, 2, Local0, bb27)
+
+ Store(Concatenate(aui1, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 3, Local0, bb28)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aui1)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 4, Local0, bb27)
+
+ Store(Concatenate(Derefof(Refof(aui1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 5, Local0, bb28)
+ }
+
+ Store(Concatenate(Derefof(Index(paui, 1)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 6, Local0, bb27)
+
+ Store(Concatenate(Derefof(Index(paui, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 7, Local0, bb28)
+
+ // Method returns Integer
+
+ Store(Concatenate(m601(1, 1), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 8, Local0, bb27)
+
+ Store(Concatenate(m601(1, 1), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 9, Local0, bb28)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(1, 1, 1)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 10, Local0, bb27)
+
+ Store(Concatenate(Derefof(m602(1, 1, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 11, Local0, bb28)
+ }
+
+ Concatenate(0x321, Derefof(Refof(bf61)), Local0)
+ m600(arg0, 12, Local0, bb27)
+
+ Concatenate(0x321, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 13, Local0, bb28)
+
+
+ Concatenate(aui1, Derefof(Refof(bf61)), Local0)
+ m600(arg0, 14, Local0, bb27)
+
+ Concatenate(aui1, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 15, Local0, bb28)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aui1)), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 16, Local0, bb27)
+
+ Concatenate(Derefof(Refof(aui1)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 17, Local0, bb28)
+ }
+
+ Concatenate(Derefof(Index(paui, 1)), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 18, Local0, bb27)
+
+ Concatenate(Derefof(Index(paui, 1)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 20, Local0, bb28)
+
+ // Method returns Integer
+
+ Concatenate(m601(1, 1), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 21, Local0, bb27)
+
+ Concatenate(m601(1, 1), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 22, Local0, bb28)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Concatenate(Derefof(m602(1, 1, 1)), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 23, Local0, bb27)
+
+ Concatenate(Derefof(m602(1, 1, 1)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 24, Local0, bb28)
+ }
+ }
+
+ // Buffer Field to Integer conversion of the Buffer Field Length
+ // (second) operand of the ToString operator
+
+ // Common 32-bit/64-bit test
+ Method(m066, 1)
+ {
+ Store(ToString(Buffer() {"This is auxiliary Buffer"},
+ Derefof(Refof(bf74))), Local0)
+ m600(arg0, 0, Local0, bs1b)
+
+ Store(ToString(Buffer() {"This is auxiliary Buffer"},
+ Derefof(Refof(bf61))), Local0)
+ m600(arg0, 1, Local0, bs1c)
+
+ Store(ToString(aub6, Derefof(Refof(bf74))), Local0)
+ m600(arg0, 2, Local0, bs1b)
+
+ Store(ToString(aub6, Derefof(Refof(bf61))), Local0)
+ m600(arg0, 3, Local0, bs1c)
+
+ if (y078) {
+ Store(ToString(Derefof(Refof(aub6)), Derefof(Refof(bf74))), Local0)
+ m600(arg0, 4, Local0, bs1b)
+
+ Store(ToString(Derefof(Refof(aub6)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 5, Local0, bs1c)
+ }
+
+ Store(ToString(Derefof(Index(paub, 6)), Derefof(Refof(bf74))), Local0)
+ m600(arg0, 6, Local0, bs1b)
+
+ Store(ToString(Derefof(Index(paub, 6)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 7, Local0, bs1c)
+
+ // Method returns Buffer
+
+ Store(ToString(m601(3, 6), Derefof(Refof(bf74))), Local0)
+ m600(arg0, 8, Local0, bs1b)
+
+ Store(ToString(m601(3, 6), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 9, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(ToString(Derefof(m602(3, 6, 1)), Derefof(Refof(bf74))), Local0)
+ m600(arg0, 10, Local0, bs1b)
+
+ Store(ToString(Derefof(m602(3, 6, 1)), Derefof(Refof(bf61))), Local0)
+ m600(arg0, 11, Local0, bs1c)
+ }
+
+ ToString(Buffer() {"This is auxiliary Buffer"},
+ Derefof(Refof(bf74)), Local0)
+ m600(arg0, 12, Local0, bs1b)
+
+ ToString(Buffer() {"This is auxiliary Buffer"},
+ Derefof(Refof(bf61)), Local0)
+ m600(arg0, 13, Local0, bs1c)
+
+ ToString(aub6, Derefof(Refof(bf74)), Local0)
+ m600(arg0, 14, Local0, bs1b)
+
+ ToString(aub6, Derefof(Refof(bf61)), Local0)
+ m600(arg0, 15, Local0, bs1c)
+
+ if (y078) {
+ ToString(Derefof(Refof(aub6)), Derefof(Refof(bf74)), Local0)
+ m600(arg0, 16, Local0, bs1b)
+
+ ToString(Derefof(Refof(aub6)), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 17, Local0, bs1c)
+ }
+
+ ToString(Derefof(Index(paub, 6)), Derefof(Refof(bf74)), Local0)
+ m600(arg0, 18, Local0, bs1b)
+
+ ToString(Derefof(Index(paub, 6)), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 19, Local0, bs1c)
+
+ // Method returns Buffer
+
+ ToString(m601(3, 6), Derefof(Refof(bf74)), Local0)
+ m600(arg0, 20, Local0, bs1b)
+
+ ToString(m601(3, 6), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 21, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ ToString(Derefof(m602(3, 6, 1)), Derefof(Refof(bf74)), Local0)
+ m600(arg0, 22, Local0, bs1b)
+
+ ToString(Derefof(m602(3, 6, 1)), Derefof(Refof(bf61)), Local0)
+ m600(arg0, 23, Local0, bs1c)
+ }
+ }
+
+ Method(m64r, 1)
+ {
+ Store(ToString(Buffer() {"This is auxiliary Buffer"},
+ Derefof(Refof(bf65))), Local0)
+ m600(arg0, 0, Local0, bs1c)
+
+ Store(ToString(aub6, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 1, Local0, bs1c)
+
+ if (y078) {
+ Store(ToString(Derefof(Refof(aub6)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 2, Local0, bs1c)
+ }
+
+ Store(ToString(Derefof(Index(paub, 6)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 3, Local0, bs1c)
+
+ // Method returns Buffer
+
+ Store(ToString(m601(3, 6), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 4, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(ToString(Derefof(m602(3, 6, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 5, Local0, bs1c)
+ }
+
+ ToString(Buffer() {"This is auxiliary Buffer"},
+ Derefof(Refof(bf65)), Local0)
+ m600(arg0, 6, Local0, bs1c)
+
+ ToString(aub6, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 7, Local0, bs1c)
+
+ if (y078) {
+ ToString(Derefof(Refof(aub6)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 8, Local0, bs1c)
+ }
+
+ ToString(Derefof(Index(paub, 6)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 9, Local0, bs1c)
+
+ // Method returns Buffer
+
+ ToString(m601(3, 6), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 10, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ ToString(Derefof(m602(3, 6, 1)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 11, Local0, bs1c)
+ }
+ }
+
+ Method(m32r, 1)
+ {
+ Store(ToString(Buffer() {"This is auxiliary Buffer"},
+ Derefof(Refof(bf65))), Local0)
+ m600(arg0, 0, Local0, bs1c)
+
+ Store(ToString(aub6, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 1, Local0, bs1c)
+
+ if (y078) {
+ Store(ToString(Derefof(Refof(aub6)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 2, Local0, bs1c)
+ }
+
+ Store(ToString(Derefof(Index(paub, 6)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 3, Local0, bs1c)
+
+ // Method returns Buffer
+
+ Store(ToString(m601(3, 6), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 4, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(ToString(Derefof(m602(3, 6, 1)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 5, Local0, bs1c)
+ }
+
+ ToString(Buffer() {"This is auxiliary Buffer"},
+ Derefof(Refof(bf65)), Local0)
+ m600(arg0, 6, Local0, bs1c)
+
+ ToString(aub6, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 7, Local0, bs1c)
+
+ if (y078) {
+ ToString(Derefof(Refof(aub6)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 8, Local0, bs1c)
+ }
+
+ ToString(Derefof(Index(paub, 6)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 9, Local0, bs1c)
+
+ // Method returns Buffer
+
+ ToString(m601(3, 6), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 10, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ ToString(Derefof(m602(3, 6, 1)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 11, Local0, bs1c)
+ }
+ }
+
+ // Buffer Field to Integer conversion of the Buffer Field Index
+ // (second) operand of the Index operator
+ Method(m067, 1)
+ {
+ Store(Index(aus6, Derefof(Refof(bf74))), Local0)
+ m600(arg0, 0, Derefof(Local0), bi10)
+
+ Store(Index(aub6, Derefof(Refof(bf74))), Local0)
+ m600(arg0, 1, Derefof(Local0), bi10)
+
+ Store(Index(aup0, Derefof(Refof(bf74))), Local0)
+ m600(arg0, 2, Derefof(Local0), bi11)
+
+ if (y078) {
+ Store(Index(Derefof(Refof(aus6)), Derefof(Refof(bf74))), Local0)
+ m600(arg0, 3, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Refof(aub6)), Derefof(Refof(bf74))), Local0)
+ m600(arg0, 4, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Refof(aup0)), Derefof(Refof(bf74))), Local0)
+ m600(arg0, 5, Derefof(Local0), bi11)
+ }
+
+ Store(Index(Derefof(Index(paus, 6)), Derefof(Refof(bf74))), Local0)
+ m600(arg0, 6, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Index(paub, 6)), Derefof(Refof(bf74))), Local0)
+ m600(arg0, 7, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Index(paup, 0)), Derefof(Refof(bf74))), Local0)
+ m600(arg0, 8, Derefof(Local0), bi11)
+
+
+ // Method returns Object
+
+ if (y900) {
+ Store(Index(m601(2, 6), Derefof(Refof(bf74))), Local0)
+ m600(arg0, 9, Derefof(Local0), bi10)
+
+ Store(Index(m601(3, 6), Derefof(Refof(bf74))), Local0)
+ m600(arg0, 10, Derefof(Local0), bi10)
+
+ Store(Index(m601(4, 0), Derefof(Refof(bf74))), Local0)
+ m600(arg0, 11, Derefof(Local0), bi11)
+ } else {
+
+ CH03(arg0, z120, 0, 0, 0)
+
+ Index(m601(2, 6), Derefof(Refof(bf74)))
+ CH04(arg0, 0, 85, z120, 9, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+
+ Index(m601(3, 6), Derefof(Refof(bf74)))
+ CH04(arg0, 0, 85, z120, 10, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+
+ Index(m601(4, 0), Derefof(Refof(bf74)))
+ CH04(arg0, 0, 85, z120, 11, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+ }
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Index(Derefof(m602(2, 6, 1)), Derefof(Refof(bf74))), Local0)
+ m600(arg0, 12, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(m602(3, 6, 1)), Derefof(Refof(bf74))), Local0)
+ m600(arg0, 13, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(m602(4, 0, 1)), Derefof(Refof(bf74))), Local0)
+ m600(arg0, 14, Derefof(Local0), bi11)
+ }
+
+ Index(aus6, Derefof(Refof(bf74)), Local0)
+ m600(arg0, 15, Derefof(Local0), bi10)
+
+ Index(aub6, Derefof(Refof(bf74)), Local0)
+ m600(arg0, 16, Derefof(Local0), bi10)
+
+ Index(aup0, Derefof(Refof(bf74)), Local0)
+ m600(arg0, 17, Derefof(Local0), bi11)
+
+ if (y078) {
+ Index(Derefof(Refof(aus6)), Derefof(Refof(bf74)), Local0)
+ m600(arg0, 18, Derefof(Local0), bi10)
+
+ Index(Derefof(Refof(aub6)), Derefof(Refof(bf74)), Local0)
+ m600(arg0, 19, Derefof(Local0), bi10)
+
+ Index(Derefof(Refof(aup0)), Derefof(Refof(bf74)), Local0)
+ m600(arg0, 20, Derefof(Local0), bi11)
+ }
+
+ Index(Derefof(Index(paus, 6)), Derefof(Refof(bf74)), Local0)
+ m600(arg0, 21, Derefof(Local0), bi10)
+
+ Index(Derefof(Index(paub, 6)), Derefof(Refof(bf74)), Local0)
+ m600(arg0, 22, Derefof(Local0), bi10)
+
+ Index(Derefof(Index(paup, 0)), Derefof(Refof(bf74)), Local0)
+ m600(arg0, 23, Derefof(Local0), bi11)
+
+
+ // Method returns Object
+
+ if (y900) {
+ Index(m601(2, 6), Derefof(Refof(bf74)), Local0)
+ m600(arg0, 24, Derefof(Local0), bi10)
+
+ Index(m601(3, 6), Derefof(Refof(bf74)), Local0)
+ m600(arg0, 25, Derefof(Local0), bi10)
+
+ Index(m601(4, 0), Derefof(Refof(bf74)), Local0)
+ m600(arg0, 26, Derefof(Local0), bi11)
+ } else {
+
+ CH03(arg0, z120, 0, 0, 0)
+
+ Index(m601(2, 6), Derefof(Refof(bf74)), Local0)
+ CH04(arg0, 0, 85, z120, 26, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+
+ Index(m601(3, 6), Derefof(Refof(bf74)), Local0)
+ CH04(arg0, 0, 85, z120, 26, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+
+ Index(m601(4, 0), Derefof(Refof(bf74)), Local0)
+ CH04(arg0, 0, 85, z120, 26, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+ }
+
+ // Method returns Reference
+
+ if (y500) {
+ Index(Derefof(m602(2, 6, 1)), Derefof(Refof(bf74)), Local0)
+ m600(arg0, 27, Derefof(Local0), bi10)
+
+ Index(Derefof(m602(3, 6, 1)), Derefof(Refof(bf74)), Local0)
+ m600(arg0, 28, Derefof(Local0), bi10)
+
+ Index(Derefof(m602(4, 0, 1)), Derefof(Refof(bf74)), Local0)
+ m600(arg0, 29, Derefof(Local0), bi11)
+ }
+
+ if (y098) {
+ Store(Index(aus6, Derefof(Refof(bf74)), Local1), Local0)
+ m600(arg0, 30, Derefof(Local0), bi10)
+
+ Store(Index(aub6, Derefof(Refof(bf74)), Local1), Local0)
+ m600(arg0, 31, Derefof(Local0), bi10)
+
+ Store(Index(aup0, Derefof(Refof(bf74)), Local1), Local0)
+ m600(arg0, 32, Derefof(Local0), bi11)
+ }
+
+ if (y078) {
+ Store(Index(Derefof(Refof(aus6)), Derefof(Refof(bf74)), Local1), Local0)
+ m600(arg0, 33, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Refof(aub6)), Derefof(Refof(bf74)), Local1), Local0)
+ m600(arg0, 34, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Refof(aup0)), Derefof(Refof(bf74)), Local1), Local0)
+ m600(arg0, 35, Derefof(Local0), bi11)
+ }
+
+ if (y098) {
+ Store(Index(Derefof(Index(paus, 6)), Derefof(Refof(bf74)), Local1), Local0)
+ m600(arg0, 36, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Index(paub, 6)), Derefof(Refof(bf74)), Local1), Local0)
+ m600(arg0, 37, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Index(paup, 0)), Derefof(Refof(bf74)), Local1), Local0)
+ m600(arg0, 38, Derefof(Local0), bi11)
+ }
+
+ // Method returns Object
+
+ if (LAnd(y900, y098)) {
+ Store(Index(m601(2, 6), Derefof(Refof(bf74)), Local1), Local0)
+ m600(arg0, 39, Derefof(Local0), bi10)
+
+ Store(Index(m601(3, 6), Derefof(Refof(bf74)), Local1), Local0)
+ m600(arg0, 40, Derefof(Local0), bi10)
+
+ Store(Index(m601(4, 0), Derefof(Refof(bf74)), Local1), Local0)
+ m600(arg0, 41, Derefof(Local0), bi11)
+ }
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Index(Derefof(m602(2, 6, 1)), Derefof(Refof(bf74)), Local1), Local0)
+ m600(arg0, 42, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(m602(3, 6, 1)), Derefof(Refof(bf74)), Local1), Local0)
+ m600(arg0, 43, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(m602(4, 0, 1)), Derefof(Refof(bf74)), Local1), Local0)
+ m600(arg0, 44, Derefof(Local0), bi11)
+ }
+ }
+
+ // Buffer Field to Integer conversion of the Buffer Field Arg (third)
+ // operand of the Fatal operator
+ // (it can only be checked an exception does not occur)
+ Method(m068, 1)
+ {
+ CH03(arg0, z120, 0, 0, 0)
+ Fatal(0xff, 0xffffffff, Derefof(Refof(bf61)))
+ if (F64) {
+ Fatal(0xff, 0xffffffff, Derefof(Refof(bf65)))
+ } else {
+ Fatal(0xff, 0xffffffff, Derefof(Refof(bf65)))
+ }
+ CH03(arg0, z120, 1, 0, 0)
+ }
+
+ // Buffer Field to Integer conversion of the Buffer Field Index
+ // and Length operands of the Mid operator
+
+ // Common 32-bit/64-bit test
+ Method(m069, 1)
+ {
+ // Buffer Field to Integer conversion of the Buffer Field Index operand
+
+ Store(Mid("This is auxiliary String", Derefof(Refof(bf74)), 10), Local0)
+ m600(arg0, 0, Local0, bs1d)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, Derefof(Refof(bf74)), 10), Local0)
+ m600(arg0, 1, Local0, bb32)
+
+ Store(Mid(aus6, Derefof(Refof(bf74)), 10), Local0)
+ m600(arg0, 2, Local0, bs1d)
+
+ Store(Mid(aub6, Derefof(Refof(bf74)), 10), Local0)
+ m600(arg0, 3, Local0, bb32)
+
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), Derefof(Refof(bf74)), 10), Local0)
+ m600(arg0, 4, Local0, bs1d)
+
+ Store(Mid(Derefof(Refof(aub6)), Derefof(Refof(bf74)), 10), Local0)
+ m600(arg0, 5, Local0, bb32)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), Derefof(Refof(bf74)), 10), Local0)
+ m600(arg0, 6, Local0, bs1d)
+
+ Store(Mid(Derefof(Index(paub, 6)), Derefof(Refof(bf74)), 10), Local0)
+ m600(arg0, 7, Local0, bb32)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), Derefof(Refof(bf74)), 10), Local0)
+ m600(arg0, 8, Local0, bs1d)
+
+ Store(Mid(m601(3, 6), Derefof(Refof(bf74)), 10), Local0)
+ m600(arg0, 9, Local0, bb32)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), Derefof(Refof(bf74)), 10), Local0)
+ m600(arg0, 10, Local0, bs1d)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), Derefof(Refof(bf74)), 10), Local0)
+ m600(arg0, 11, Local0, bb32)
+ }
+
+ Mid("This is auxiliary String", Derefof(Refof(bf74)), 10, Local0)
+ m600(arg0, 12, Local0, bs1d)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, Derefof(Refof(bf74)), 10, Local0)
+ m600(arg0, 13, Local0, bb32)
+
+ Mid(aus6, Derefof(Refof(bf74)), 10, Local0)
+ m600(arg0, 14, Local0, bs1d)
+
+ Mid(aub6, Derefof(Refof(bf74)), 10, Local0)
+ m600(arg0, 15, Local0, bb32)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), Derefof(Refof(bf74)), 10, Local0)
+ m600(arg0, 16, Local0, bs1d)
+
+ Mid(Derefof(Refof(aub6)), Derefof(Refof(bf74)), 10, Local0)
+ m600(arg0, 17, Local0, bb32)
+ }
+
+ Mid(Derefof(Index(paus, 6)), Derefof(Refof(bf74)), 10, Local0)
+ m600(arg0, 18, Local0, bs1d)
+
+ Mid(Derefof(Index(paub, 6)), Derefof(Refof(bf74)), 10, Local0)
+ m600(arg0, 19, Local0, bb32)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), Derefof(Refof(bf74)), 10, Local0)
+ m600(arg0, 20, Local0, bs1d)
+
+ Mid(m601(3, 6), Derefof(Refof(bf74)), 10, Local0)
+ m600(arg0, 21, Local0, bb32)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), Derefof(Refof(bf74)), 10, Local0)
+ m600(arg0, 22, Local0, bs1d)
+
+ Mid(Derefof(m602(3, 6, 1)), Derefof(Refof(bf74)), 10, Local0)
+ m600(arg0, 23, Local0, bb32)
+ }
+
+ // Buffer Field to Integer conversion of the Buffer Field Length operand
+
+ Store(Mid("This is auxiliary String", 0, Derefof(Refof(bf74))), Local0)
+ m600(arg0, 24, Local0, bs1b)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, 0, Derefof(Refof(bf74))), Local0)
+ m600(arg0, 25, Local0, bb33)
+
+ Store(Mid(aus6, 0, Derefof(Refof(bf74))), Local0)
+ m600(arg0, 26, Local0, bs1b)
+
+ Store(Mid(aub6, 0, Derefof(Refof(bf74))), Local0)
+ m600(arg0, 27, Local0, bb33)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), 0, Derefof(Refof(bf74))), Local0)
+ m600(arg0, 28, Local0, bs1b)
+
+ Store(Mid(Derefof(Refof(aub6)), 0, Derefof(Refof(bf74))), Local0)
+ m600(arg0, 29, Local0, bb33)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), 0, Derefof(Refof(bf74))), Local0)
+ m600(arg0, 30, Local0, bs1b)
+
+ Store(Mid(Derefof(Index(paub, 6)), 0, Derefof(Refof(bf74))), Local0)
+ m600(arg0, 31, Local0, bb33)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), 0, Derefof(Refof(bf74))), Local0)
+ m600(arg0, 32, Local0, bs1b)
+
+ Store(Mid(m601(3, 6), 0, Derefof(Refof(bf74))), Local0)
+ m600(arg0, 33, Local0, bb33)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), 0, Derefof(Refof(bf74))), Local0)
+ m600(arg0, 34, Local0, bs1b)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), 0, Derefof(Refof(bf74))), Local0)
+ m600(arg0, 35, Local0, bb33)
+ }
+
+ Mid("This is auxiliary String", 0, Derefof(Refof(bf74)), Local0)
+ m600(arg0, 36, Local0, bs1b)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, 0, Derefof(Refof(bf74)), Local0)
+ m600(arg0, 37, Local0, bb33)
+
+ Mid(aus6, 0, Derefof(Refof(bf74)), Local0)
+ m600(arg0, 37, Local0, bs1b)
+
+ Mid(aub6, 0, Derefof(Refof(bf74)), Local0)
+ m600(arg0, 39, Local0, bb33)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), 0, Derefof(Refof(bf74)), Local0)
+ m600(arg0, 40, Local0, bs1b)
+
+ Mid(Derefof(Refof(aub6)), 0, Derefof(Refof(bf74)), Local0)
+ m600(arg0, 41, Local0, bb33)
+ }
+
+ Mid(Derefof(Index(paus, 6)), 0, Derefof(Refof(bf74)), Local0)
+ m600(arg0, 42, Local0, bs1b)
+
+ Mid(Derefof(Index(paub, 6)), 0, Derefof(Refof(bf74)), Local0)
+ m600(arg0, 43, Local0, bb33)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), 0, Derefof(Refof(bf74)), Local0)
+ m600(arg0, 44, Local0, bs1b)
+
+ Mid(m601(3, 6), 0, Derefof(Refof(bf74)), Local0)
+ m600(arg0, 45, Local0, bb33)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), 0, Derefof(Refof(bf74)), Local0)
+ m600(arg0, 46, Local0, bs1b)
+
+ Mid(Derefof(m602(3, 6, 1)), 0, Derefof(Refof(bf74)), Local0)
+ m600(arg0, 47, Local0, bb33)
+ }
+ }
+
+ Method(m64s, 1)
+ {
+ // Buffer Field to Integer conversion of the Buffer Field Length operand
+
+ Store(Mid("This is auxiliary String", 0, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 0, Local0, bs1e)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, 0, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 1, Local0, bb34)
+
+ Store(Mid(aus6, 0, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 2, Local0, bs1e)
+
+ Store(Mid(aub6, 0, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 3, Local0, bb34)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), 0, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 4, Local0, bs1e)
+
+ Store(Mid(Derefof(Refof(aub6)), 0, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 5, Local0, bb34)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), 0, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 6, Local0, bs1e)
+
+ Store(Mid(Derefof(Index(paub, 6)), 0, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 7, Local0, bb34)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), 0, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 8, Local0, bs1e)
+
+ Store(Mid(m601(3, 6), 0, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 9, Local0, bb34)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), 0, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 10, Local0, bs1e)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), 0, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 11, Local0, bb34)
+ }
+
+ Mid("This is auxiliary String", 0, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 12, Local0, bs1e)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, 0, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 13, Local0, bb34)
+
+ Mid(aus6, 0, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 14, Local0, bs1e)
+
+ Mid(aub6, 0, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 15, Local0, bb34)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), 0, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 16, Local0, bs1e)
+
+ Mid(Derefof(Refof(aub6)), 0, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 17, Local0, bb34)
+ }
+
+ Mid(Derefof(Index(paus, 6)), 0, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 18, Local0, bs1e)
+
+ Mid(Derefof(Index(paub, 6)), 0, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 19, Local0, bb34)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), 0, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 20, Local0, bs1e)
+
+ Mid(m601(3, 6), 0, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 21, Local0, bb34)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), 0, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 22, Local0, bs1e)
+
+ Mid(Derefof(m602(3, 6, 1)), 0, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 23, Local0, bb34)
+ }
+
+ // Buffer Field to Integer conversion of the both String operands
+
+ Store(Mid("This is auxiliary String", Derefof(Refof(bf74)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 24, Local0, bs1f)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, Derefof(Refof(bf74)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 25, Local0, bb35)
+
+ Store(Mid(aus6, Derefof(Refof(bf74)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 26, Local0, bs1f)
+
+ Store(Mid(aub6, Derefof(Refof(bf74)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 27, Local0, bb35)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), Derefof(Refof(bf74)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 28, Local0, bs1f)
+
+ Store(Mid(Derefof(Refof(aub6)), Derefof(Refof(bf74)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 29, Local0, bb35)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), Derefof(Refof(bf74)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 30, Local0, bs1f)
+
+ Store(Mid(Derefof(Index(paub, 6)), Derefof(Refof(bf74)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 31, Local0, bb35)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), Derefof(Refof(bf74)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 32, Local0, bs1f)
+
+ Store(Mid(m601(3, 6), Derefof(Refof(bf74)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 33, Local0, bb35)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), Derefof(Refof(bf74)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 34, Local0, bs1f)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), Derefof(Refof(bf74)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 35, Local0, bb35)
+ }
+
+ Mid("This is auxiliary String", Derefof(Refof(bf74)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 36, Local0, bs1f)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, Derefof(Refof(bf74)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 37, Local0, bb35)
+
+ Mid(aus6, Derefof(Refof(bf74)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 38, Local0, bs1f)
+
+ Mid(aub6, Derefof(Refof(bf74)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 39, Local0, bb35)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), Derefof(Refof(bf74)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 40, Local0, bs1f)
+
+ Mid(Derefof(Refof(aub6)), Derefof(Refof(bf74)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 41, Local0, bb35)
+ }
+
+ Mid(Derefof(Index(paus, 6)), Derefof(Refof(bf74)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 42, Local0, bs1f)
+
+ Mid(Derefof(Index(paub, 6)), Derefof(Refof(bf74)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 43, Local0, bb35)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), Derefof(Refof(bf74)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 44, Local0, bs1f)
+
+ Mid(m601(3, 6), Derefof(Refof(bf74)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 45, Local0, bb35)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), Derefof(Refof(bf74)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 46, Local0, bs1f)
+
+ Mid(Derefof(m602(3, 6, 1)), Derefof(Refof(bf74)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 47, Local0, bb35)
+ }
+ }
+
+ Method(m32s, 1)
+ {
+ // Buffer Field to Integer conversion of the Buffer Field Length operand
+
+ Store(Mid("This is auxiliary String", 0, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 0, Local0, bs1e)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, 0, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 1, Local0, bb34)
+
+ Store(Mid(aus6, 0, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 2, Local0, bs1e)
+
+ Store(Mid(aub6, 0, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 3, Local0, bb34)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), 0, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 4, Local0, bs1e)
+
+ Store(Mid(Derefof(Refof(aub6)), 0, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 5, Local0, bb34)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), 0, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 6, Local0, bs1e)
+
+ Store(Mid(Derefof(Index(paub, 6)), 0, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 7, Local0, bb34)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), 0, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 8, Local0, bs1e)
+
+ Store(Mid(m601(3, 6), 0, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 9, Local0, bb34)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), 0, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 10, Local0, bs1e)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), 0, Derefof(Refof(bf65))), Local0)
+ m600(arg0, 11, Local0, bb34)
+ }
+
+ Mid("This is auxiliary String", 0, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 12, Local0, bs1e)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, 0, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 13, Local0, bb34)
+
+ Mid(aus6, 0, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 14, Local0, bs1e)
+
+ Mid(aub6, 0, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 15, Local0, bb34)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), 0, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 16, Local0, bs1e)
+
+ Mid(Derefof(Refof(aub6)), 0, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 17, Local0, bb34)
+ }
+
+ Mid(Derefof(Index(paus, 6)), 0, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 18, Local0, bs1e)
+
+ Mid(Derefof(Index(paub, 6)), 0, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 19, Local0, bb34)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), 0, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 20, Local0, bs1e)
+
+ Mid(m601(3, 6), 0, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 21, Local0, bb34)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), 0, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 22, Local0, bs1e)
+
+ Mid(Derefof(m602(3, 6, 1)), 0, Derefof(Refof(bf65)), Local0)
+ m600(arg0, 23, Local0, bb34)
+ }
+
+ // Buffer Field to Integer conversion of the both String operands
+
+ Store(Mid("This is auxiliary String", Derefof(Refof(bf74)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 24, Local0, bs1f)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, Derefof(Refof(bf74)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 25, Local0, bb35)
+
+ Store(Mid(aus6, Derefof(Refof(bf74)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 26, Local0, bs1f)
+
+ Store(Mid(aub6, Derefof(Refof(bf74)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 27, Local0, bb35)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), Derefof(Refof(bf74)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 28, Local0, bs1f)
+
+ Store(Mid(Derefof(Refof(aub6)), Derefof(Refof(bf74)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 29, Local0, bb35)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), Derefof(Refof(bf74)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 30, Local0, bs1f)
+
+ Store(Mid(Derefof(Index(paub, 6)), Derefof(Refof(bf74)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 31, Local0, bb35)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), Derefof(Refof(bf74)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 32, Local0, bs1f)
+
+ Store(Mid(m601(3, 6), Derefof(Refof(bf74)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 33, Local0, bb35)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), Derefof(Refof(bf74)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 34, Local0, bs1f)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), Derefof(Refof(bf74)), Derefof(Refof(bf65))), Local0)
+ m600(arg0, 35, Local0, bb35)
+ }
+
+ Mid("This is auxiliary String", Derefof(Refof(bf74)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 36, Local0, bs1f)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, Derefof(Refof(bf74)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 37, Local0, bb35)
+
+ Mid(aus6, Derefof(Refof(bf74)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 38, Local0, bs1f)
+
+ Mid(aub6, Derefof(Refof(bf74)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 39, Local0, bb35)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), Derefof(Refof(bf74)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 40, Local0, bs1f)
+
+ Mid(Derefof(Refof(aub6)), Derefof(Refof(bf74)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 41, Local0, bb35)
+ }
+
+ Mid(Derefof(Index(paus, 6)), Derefof(Refof(bf74)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 42, Local0, bs1f)
+
+ Mid(Derefof(Index(paub, 6)), Derefof(Refof(bf74)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 43, Local0, bb35)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), Derefof(Refof(bf74)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 44, Local0, bs1f)
+
+ Mid(m601(3, 6), Derefof(Refof(bf74)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 45, Local0, bb35)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), Derefof(Refof(bf74)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 46, Local0, bs1f)
+
+ Mid(Derefof(m602(3, 6, 1)), Derefof(Refof(bf74)), Derefof(Refof(bf65)), Local0)
+ m600(arg0, 47, Local0, bb35)
+ }
+ }
+
+ // Buffer Field to Integer conversion of the Buffer Field StartIndex
+ // operand of the Match operator
+ Method(m06a, 1)
+ {
+ Store(Match(
+ Package(){
+ 0xa50, 0xa51, 0xa52, 0xa53, 0xa54, 0xa55, 0xa56, 0xa57,
+ 0xa58, 0xa59, 0xa5a, 0xa5b, 0xa5c, 0xa5d, 0xa5e,},
+ MEQ, 0xa5d, MTR, 0, Derefof(Refof(bf74))), Local0)
+ m600(arg0, 0, Local0, 0xd)
+
+ Store(Match(
+ Package(){
+ 0xa50, 0xa51, 0xa52, 0xa53, 0xa54, 0xa55, 0xa56, 0xa57,
+ 0xa58, 0xa59, 0xa5a, 0xa5b, 0xa5c, 0xa5d, 0xa5e,},
+ MEQ, 0xa5a, MTR, 0, Derefof(Refof(bf74))), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(Match(aup0, MEQ, 0xa5d, MTR, 0, Derefof(Refof(bf74))), Local0)
+ m600(arg0, 2, Local0, 0xd)
+
+ Store(Match(aup0, MEQ, 0xa5a, MTR, 0, Derefof(Refof(bf74))), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(Match(Derefof(Refof(aup0)), MEQ, 0xa5d, MTR, 0, Derefof(Refof(bf74))), Local0)
+ m600(arg0, 4, Local0, 0xd)
+
+ Store(Match(Derefof(Refof(aup0)), MEQ, 0xa5a, MTR, 0, Derefof(Refof(bf74))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(Match(Derefof(Index(paup, 0)), MEQ, 0xa5d, MTR, 0, Derefof(Refof(bf74))), Local0)
+ m600(arg0, 6, Local0, 0xd)
+
+ Store(Match(Derefof(Index(paup, 0)), MEQ, 0xa5a, MTR, 0, Derefof(Refof(bf74))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Object
+
+ Store(Match(m601(4, 0), MEQ, 0xa5d, MTR, 0, Derefof(Refof(bf74))), Local0)
+ m600(arg0, 8, Local0, 0xd)
+
+ Store(Match(m601(4, 0), MEQ, 0xa5a, MTR, 0, Derefof(Refof(bf74))), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Match(Derefof(m602(4, 0, 1)), MEQ, 0xa5d, MTR, 0, Derefof(Refof(bf74))), Local0)
+ m600(arg0, 10, Local0, 0xd)
+
+ Store(Match(Derefof(m602(4, 0, 1)), MEQ, 0xa5a, MTR, 0, Derefof(Refof(bf74))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+ }
+
+ // Buffer Field to Integer conversion of the Buffer Field sole operand
+ // of the Method execution control operators (Sleep, Stall)
+ Method(m06b, 1)
+ {
+ CH03(arg0, z120, 2, 0, 0)
+
+ // Sleep
+
+ Store(Timer, Local0)
+
+ Sleep(Derefof(Refof(bf61)))
+ CH03(arg0, z120, 3, 0, 0)
+
+ Store(Timer, Local1)
+ Subtract(Local1, Local0, Local2)
+ if (LLess(Local2, c08c)) {
+ err(arg0, z120, 0, 0, 0, Local2, c08c)
+ }
+
+ // Stall
+
+ Store(Timer, Local0)
+
+ Stall(Derefof(Refof(bf75)))
+ CH03(arg0, z120, 4, 0, 0)
+
+ Store(Timer, Local1)
+ Subtract(Local1, Local0, Local2)
+ if (LLess(Local2, 990)) {
+ err(arg0, z120, 1, 0, 0, Local2, 990)
+ }
+ }
+
+ // Buffer Field to Integer conversion of the Buffer Field TimeoutValue
+ // (second) operand of the Acquire operator
+
+ Method(m06c, 1)
+ {
+ Mutex(MTX0, 0)
+
+ Acquire(MTX0, 0)
+ CH03(arg0, z120, 5, 0, 0)
+
+ Store(Timer, Local0)
+
+/* Compiler allows only Integer constant as TimeoutValue (Bug 1)
+ Acquire(MTX0, Derefof(Refof(bf61)))
+*/
+ CH03(arg0, z120, 6, 0, 0)
+
+ Store(Timer, Local1)
+ Subtract(Local1, Local0, Local2)
+ if (LLess(Local2, c08c)) {
+ err(arg0, z120, 0, 0, 0, Local2, c08c)
+ }
+ }
+
+ // Buffer Field to Integer conversion of the Buffer Field TimeoutValue
+ // (second) operand of the Wait operator
+ Method(m06d, 1)
+ {
+ Event(EVT0)
+
+ CH03(arg0, z120, 7, 0, 0)
+
+ Store(Timer, Local0)
+
+ Wait(EVT0, Derefof(Refof(bf61)))
+ CH03(arg0, z120, 8, 0, 0)
+
+ Store(Timer, Local1)
+ Subtract(Local1, Local0, Local2)
+ if (LLess(Local2, c08c)) {
+ err(arg0, z120, 0, 0, 0, Local2, c08c)
+ }
+ }
+
+ // Buffer Field to Integer conversion of the Buffer Field value
+ // of Predicate of the Method execution control statements
+ // (If, ElseIf, While)
+ Method(m06e, 1)
+ {
+ Name(ist0, 0)
+
+ Method(m001)
+ {
+ if (Derefof(Refof(bf76))) {
+ Store(0, ist0)
+ }
+ }
+
+ Method(m002)
+ {
+ if (Derefof(Refof(bf61))) {
+ Store(2, ist0)
+ }
+ }
+
+ Method(m003)
+ {
+ if (Derefof(Refof(bf65))) {
+ Store(3, ist0)
+ }
+ }
+
+ Method(m004)
+ {
+ if (Derefof(Refof(bf65))) {
+ Store(4, ist0)
+ }
+ }
+
+ Method(m005, 1)
+ {
+ if (arg0) {
+ Store(0xff, ist0)
+ } elseif (Derefof(Refof(bf76))) {
+ Store(0, ist0)
+ }
+ }
+
+ Method(m006, 1)
+ {
+ if (arg0) {
+ Store(0xff, ist0)
+ } elseif (Derefof(Refof(bf61))) {
+ Store(6, ist0)
+ }
+ }
+
+ Method(m007, 1)
+ {
+ if (arg0) {
+ Store(0xff, ist0)
+ } elseif (Derefof(Refof(bf65))) {
+ Store(7, ist0)
+ }
+ }
+
+ Method(m008, 1)
+ {
+ if (arg0) {
+ Store(0xff, ist0)
+ } elseif (Derefof(Refof(bf65))) {
+ Store(8, ist0)
+ }
+ }
+
+ Method(m009)
+ {
+ while (Derefof(Refof(bf76))) {
+ Store(0, ist0)
+ Break
+ }
+ }
+
+ // If
+
+ Store(1, ist0)
+ m001()
+ m600(arg0, 0, ist0, 1)
+
+ m002()
+ m600(arg0, 1, ist0, 2)
+
+ m003()
+ m600(arg0, 2, ist0, 3)
+
+ m004()
+ m600(arg0, 3, ist0, 4)
+
+ // ElseIf
+
+ Store(5, ist0)
+ m005(0)
+ m600(arg0, 4, ist0, 5)
+
+ m006(0)
+ m600(arg0, 5, ist0, 6)
+
+ m007(0)
+ m600(arg0, 6, ist0, 7)
+
+ m008(0)
+ m600(arg0, 7, ist0, 8)
+
+ // While
+
+ Store(9, ist0)
+ m009()
+ m600(arg0, 8, ist0, 9)
+ }
+
+ // Initialize Buffer Fields
+ Method(m073)
+ {
+ Store(Buffer(3){0x21, 0x03, 0x00}, bf61)
+ Store(Buffer(4){0xFE, 0xB3, 0x79, 0xC1}, bf62)
+ Store(Buffer(5){0xFE, 0xB3, 0x79, 0xC1, 0xa5}, bf63)
+ Store(Buffer(8){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, bf64)
+ Store(Buffer(8){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, bf65)
+ Store(Buffer(9){0x21, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01}, bf66)
+ Store(
+ Buffer(67){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,},
+ bf69)
+
+ Store(Buffer() {0x01, 0x89, 0x67, 0x45, 0x23, 0x01, 0x89, 0x37}, bf6c)
+ Store(Buffer() {0x35, 0xec, 0xe9, 0x2e, 0x16, 0x76, 0x0d}, bf6d)
+ Store(Buffer() {0x56, 0x34, 0x12, 0x90}, bf6e)
+ Store(Buffer() {0xc0, 0x2c, 0x5f, 0x05}, bf6f)
+
+ Store(0x6179534e, bf70)
+ Store(Buffer() {0x14, 0x22, 0x50, 0x36, 0x41, 0x53, 0x7c, 0x6e}, bf71)
+ Store(Buffer() {0x14, 0x22, 0x00, 0x36, 0x41, 0x53, 0x00, 0x6e}, bf72)
+ Store(Buffer() {0x14, 0x22, 0x00, 0x36, 0x41, 0x53, 0x7c, 0x6e}, bf73)
+
+ Store(0xb, bf74)
+ Store(0x3f, bf75)
+ Store(0, bf76)
+ Store(0x36002214, bf77)
+
+ if (y365) {
+ Store(Buffer(3){0x21, 0x03, 0x00}, bf91)
+ Store(Buffer(8){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, bf95)
+ Store(Buffer(3){0x21, 0x03, 0x00}, bfa1)
+ Store(Buffer(8){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, bfa5)
+ }
+ }
+
+ // Check Buffer Fields consistency
+ Method(m074, 1)
+ {
+ m600(arg0, 0, bf61, 0x321)
+
+ m600(arg0, 1, bf62, 0xc179b3fe)
+
+ if (F64) {
+ m600(arg0, 2, bf63, 0x1c179b3fe)
+ } else {
+ m600(arg0, 2, bf63, Buffer(5){0xFE, 0xB3, 0x79, 0xC1, 0x01})
+ }
+
+ if (F64) {
+ m600(arg0, 3, bf64, 0x7e7cb391d650a284)
+ } else {
+ m600(arg0, 3, bf64, Buffer(8){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0x7E})
+ }
+
+ if (F64) {
+ m600(arg0, 4, bf65, 0xfe7cb391d650a284)
+ } else {
+ m600(arg0, 4, bf65, Buffer(8){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ }
+
+ m600(arg0, 5, bf66, Buffer(9){0x21, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01})
+
+ m600(arg0, 6, bf69, Buffer(67){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,})
+
+ m600(arg0, 7, bf6c, Buffer() {0x01, 0x89, 0x67, 0x45, 0x23, 0x01, 0x89, 0x37, 0x00})
+
+ m600(arg0, 8, bf6d, Buffer() {0x35, 0xec, 0xe9, 0x2e, 0x16, 0x76, 0x0d, 0x00, 0x00})
+
+ if (F64) {
+ m600(arg0, 9, bf6e, 0x90123456)
+ } else {
+ m600(arg0, 9, bf6e, Buffer() {0x56, 0x34, 0x12, 0x90, 0x00})
+ }
+
+ if (F64) {
+ m600(arg0, 10, bf6f, 0x055f2cc0)
+ } else {
+ m600(arg0, 10, bf6f, Buffer() {0xc0, 0x2c, 0x5f, 0x05, 0x00})
+ }
+
+ m600(arg0, 11, bf70, 0x6179534e)
+
+ if (F64) {
+ m600(arg0, 12, bf71, 0x6e7c534136502214)
+ } else {
+ m600(arg0, 12, bf71, Buffer() {0x14, 0x22, 0x50, 0x36, 0x41, 0x53, 0x7c, 0x6e})
+ }
+
+ if (F64) {
+ m600(arg0, 13, bf72, 0x6e00534136002214)
+ } else {
+ m600(arg0, 13, bf72, Buffer() {0x14, 0x22, 0x00, 0x36, 0x41, 0x53, 0x00, 0x6e})
+ }
+
+ if (F64) {
+ m600(arg0, 14, bf73, 0x6e7c534136002214)
+ } else {
+ m600(arg0, 14, bf73, Buffer() {0x14, 0x22, 0x00, 0x36, 0x41, 0x53, 0x7c, 0x6e})
+ }
+
+ if (F64) {
+ m600(arg0, 15, bf74, 0xb)
+ } else {
+ m600(arg0, 15, bf74, Buffer() {0xb, 0x00, 0x00, 0x00, 0x00})
+ }
+
+ if (F64) {
+ m600(arg0, 16, bf75, 0x3f)
+ } else {
+ m600(arg0, 16, bf75, Buffer() {0x3f, 0x00, 0x00, 0x00, 0x00})
+ }
+
+ if (F64) {
+ m600(arg0, 17, bf76, 0)
+ } else {
+ m600(arg0, 17, bf76, Buffer() {0x00, 0x00, 0x00, 0x00, 0x00})
+ }
+
+ m600(arg0, 18, bf77, 0x36002214)
+
+ if (y365) {
+ m600(arg0, 19, bf91, 0x320)
+ m600(arg0, 20, bfa1, 0x322)
+ if (F64) {
+ m600(arg0, 21, bf95, 0xfe7cb391d650a283)
+ } else {
+ m600(arg0, 21, bf95, Buffer(8){0x83, 0xA2, 0x50, 0xD6, 0x00, 0x00, 0x00, 0x00})
+ }
+ if (F64) {
+ m600(arg0, 22, bfa5, 0xfe7cb391d650a285)
+ } else {
+ m600(arg0, 22, bfa5, Buffer(8){0x85, 0xA2, 0x50, 0xD6, 0x00, 0x00, 0x00, 0x00})
+ }
+ }
+ }
+
+ /*
+ * Begin of the test body
+ */
+
+ m073()
+
+ // Buffer Field to Buffer implicit conversion Cases.
+
+ // Buffer Field to Buffer conversion of the Buffer Field second operand
+ // of Logical operators when the first operand is evaluated as Buffer
+ // (LEqual, LGreater, LGreaterEqual, LLess, LLessEqual, LNotEqual)
+ if (F64) {
+ Concatenate(ts, "-m644", Local0)
+ SRMT(Local0)
+ m644(Local0)
+ } else {
+ Concatenate(ts, "-m324", Local0)
+ SRMT(Local0)
+ m324(Local0)
+ }
+
+ // Buffer Field to Buffer conversion of the both Integer operands
+ // of Concatenate operator
+ if (F64) {
+ Concatenate(ts, "-m645", Local0)
+ SRMT(Local0)
+ m645(Local0)
+ } else {
+ Concatenate(ts, "-m325", Local0)
+ SRMT(Local0)
+ m325(Local0)
+ }
+
+ // Buffer Field to Buffer conversion of the Buffer Field second operand
+ // of Concatenate operator when the first operand is evaluated as Buffer
+ if (F64) {
+ Concatenate(ts, "-m646", Local0)
+ SRMT(Local0)
+ m646(Local0)
+ } else {
+ Concatenate(ts, "-m326", Local0)
+ SRMT(Local0)
+ m326(Local0)
+ }
+
+ // Buffer Field to Buffer conversion of the Buffer Field Source operand
+ // of ToString operator
+ if (F64) {
+ Concatenate(ts, "-m647", Local0)
+ SRMT(Local0)
+ m647(Local0)
+ } else {
+ Concatenate(ts, "-m327", Local0)
+ SRMT(Local0)
+ m327(Local0)
+ }
+
+ // Buffer Field to Buffer conversion of the Buffer Field Source operand
+ // of Mid operator
+ if (F64) {
+ Concatenate(ts, "-m648", Local0)
+ SRMT(Local0)
+ m648(Local0)
+ } else {
+ Concatenate(ts, "-m328", Local0)
+ SRMT(Local0)
+ m328(Local0)
+ }
+
+
+ // Buffer Field to Integer implicit conversion Cases.
+
+ // Buffer Field to Integer conversion of the Buffer Field sole operand
+ // of the 1-parameter Integer arithmetic operators
+ // (Decrement, Increment, FindSetLeftBit, FindSetRightBit, Not)
+ if (F64) {
+ Concatenate(ts, "-m64l", Local0)
+ SRMT(Local0)
+ m64l(Local0)
+ } else {
+ Concatenate(ts, "-m32l", Local0)
+ SRMT(Local0)
+ m32l(Local0)
+ }
+
+ // Buffer Field to Integer conversion of the Buffer Field sole operand
+ // of the LNot Logical Integer operator
+ Concatenate(ts, "-m03a", Local0)
+ SRMT(Local0)
+ m03a(Local0)
+
+ // Buffer Field to Integer conversion of the Buffer Field sole operand
+ // of the FromBCD and ToBCD conversion operators
+ if (F64) {
+ Concatenate(ts, "-m64m", Local0)
+ SRMT(Local0)
+ m64m(Local0)
+ } else {
+ Concatenate(ts, "-m32m", Local0)
+ SRMT(Local0)
+ m32m(Local0)
+ }
+
+ // Buffer Field to Integer conversion of each Buffer operand
+ // of the 2-parameter Integer arithmetic operators
+ // Add, And, Divide, Mod, Multiply, NAnd, NOr, Or,
+ // ShiftLeft, ShiftRight, Subtract, Xor
+ if (F64) {
+ m64n(Concatenate(ts, "-m64n"))
+ } else {
+ m32n(Concatenate(ts, "-m32n"))
+ }
+
+ // Buffer Field to Integer conversion of each Buffer operand
+ // of the 2-parameter Logical Integer operators LAnd and LOr
+ if (F64) {
+ m64o(Concatenate(ts, "-m64o"))
+ } else {
+ m32o(Concatenate(ts, "-m32o"))
+ }
+
+ // Buffer Field to Integer conversion of the Buffer Field second operand
+ // of Logical operators when the first operand is evaluated as Integer
+ // (LEqual, LGreater, LGreaterEqual, LLess, LLessEqual, LNotEqual)
+
+ Concatenate(ts, "-m065", Local0)
+ SRMT(Local0)
+ m065(Local0)
+
+ if (F64) {
+ Concatenate(ts, "-m64p", Local0)
+ SRMT(Local0)
+ m64p(Local0)
+ } else {
+ Concatenate(ts, "-m32p", Local0)
+ SRMT(Local0)
+ m32p(Local0)
+ }
+
+ // Buffer Field to Integer intermediate conversion of the Buffer Field
+ // second operand of Concatenate operator in case the first one is Integer
+ if (F64) {
+ Concatenate(ts, "-m64q", Local0)
+ SRMT(Local0)
+ m64q(Local0)
+ } else {
+ Concatenate(ts, "-m32q", Local0)
+ SRMT(Local0)
+ m32q(Local0)
+ }
+
+ // Buffer Field to Integer conversion of the Buffer Field Length
+ // (second) operand of the ToString operator
+
+ Concatenate(ts, "-m066", Local0)
+ SRMT(Local0)
+ m066(Local0)
+
+ if (F64) {
+ Concatenate(ts, "-m64r", Local0)
+ SRMT(Local0)
+ m64r(Local0)
+ } else {
+ Concatenate(ts, "-m32r", Local0)
+ SRMT(Local0)
+ m32r(Local0)
+ }
+
+ // Buffer Field to Integer conversion of the Buffer Field Index
+ // (second) operand of the Index operator
+ Concatenate(ts, "-m067", Local0)
+ SRMT(Local0)
+ m067(Local0)
+
+ // Buffer Field to Integer conversion of the Buffer Field Arg (third)
+ // operand of the Fatal operator
+ // (it can only be checked an exception does not occur)
+ Concatenate(ts, "-m068", Local0)
+ SRMT(Local0)
+ m068(Local0)
+
+ // Buffer Field to Integer conversion of the Buffer Field Index
+ // and Length operands of the Mid operator
+
+ Concatenate(ts, "-m069", Local0)
+ SRMT(Local0)
+ m069(Local0)
+
+ if (F64) {
+ Concatenate(ts, "-m64s", Local0)
+ SRMT(Local0)
+ m64s(Local0)
+ } else {
+ Concatenate(ts, "-m32s", Local0)
+ SRMT(Local0)
+ m32s(Local0)
+ }
+
+ // Buffer Field to Integer conversion of the Buffer Field StartIndex
+ // operand of the Match operator
+ Concatenate(ts, "-m06a", Local0)
+ SRMT(Local0)
+ m06a(Local0)
+
+ // Buffer Field to Integer conversion of the Buffer Field sole operand
+ // of the Method execution control operators (Sleep, Stall)
+ Concatenate(ts, "-m06b", Local0)
+ SRMT(Local0)
+ m06b(Local0)
+
+ // Buffer Field to Integer conversion of the Buffer Field TimeoutValue
+ // (second) operand of the Wait operator
+ Concatenate(ts, "-m06d", Local0)
+ SRMT(Local0)
+ m06d(Local0)
+
+ // Buffer Field to Integer conversion of the Buffer Field value
+ // of Predicate of the Method execution control statements
+ // (If, ElseIf, While)
+ Concatenate(ts, "-m06e", Local0)
+ SRMT(Local0)
+ if (y364) {
+ m06e(Local0)
+ } else {
+ BLCK()
+ }
+
+ // Check Buffer Fields consistency
+ Concatenate(ts, "-m074", Local0)
+ SRMT(Local0)
+ m074(Local0)
+}
+
diff --git a/tests/aslts/src/runtime/collections/complex/operand/tests/oreftopackageel/MAIN.asl b/tests/aslts/src/runtime/collections/complex/operand/tests/oreftopackageel/MAIN.asl
new file mode 100644
index 000000000..238cb5ddd
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/operand/tests/oreftopackageel/MAIN.asl
@@ -0,0 +1,58 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "oreftopackageel.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../../runtime/cntl/DECL_6UP.asl")
+ Include("../../../../../../runtime/collections/complex/operand/common/ocommon.asl")
+ Include("../../../../../../runtime/collections/complex/operand/tests/oreftopackageel/oreftopackageel.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../../runtime/collections/complex/operand/tests/oreftopackageel/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/complex/operand/tests/oreftopackageel/Makefile b/tests/aslts/src/runtime/collections/complex/operand/tests/oreftopackageel/Makefile
new file mode 100644
index 000000000..9c1129af5
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/operand/tests/oreftopackageel/Makefile
@@ -0,0 +1,7 @@
+# oreftopackageel
+
+AMLMOD= oreftopackageel
+COLL= ../../../..
+
+TOP= $(COLL)/../../..
+include $(COLL)/Makefile.install
diff --git a/tests/aslts/src/runtime/collections/complex/operand/tests/oreftopackageel/RUN.asl b/tests/aslts/src/runtime/collections/complex/operand/tests/oreftopackageel/RUN.asl
new file mode 100644
index 000000000..de4227cd1
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/operand/tests/oreftopackageel/RUN.asl
@@ -0,0 +1,35 @@
+/*
+ * 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.
+ */
+
+
+if (STTT("Source Operand, element of package by Ref returned from the called Method", TCLC, 11, W010)) {
+ OPR8()
+}
+FTTT()
diff --git a/tests/aslts/src/runtime/collections/complex/operand/tests/oreftopackageel/oreftopackageel.asl b/tests/aslts/src/runtime/collections/complex/operand/tests/oreftopackageel/oreftopackageel.asl
new file mode 100644
index 000000000..d963c173e
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/operand/tests/oreftopackageel/oreftopackageel.asl
@@ -0,0 +1,25202 @@
+/*
+ * 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.
+ */
+
+/*
+ * Check implicit conversion being applied to the Objects
+ * addressed by immediately returned from the called Method
+ * indexed reference
+ */
+
+Name(z119, 119)
+
+Method(m61a)
+{
+ Name(ts, "m61a")
+
+ // Integer to String implicit conversion Cases.
+
+ // Integer to String conversion of the Integer second operand of
+ // Logical operators when the first operand is evaluated as String.
+ // LEqual LGreater LGreaterEqual LLess LLessEqual LNotEqual
+
+ Method(m640, 1)
+ {
+ // LEqual
+
+ Store(LEqual("FE7CB391D650A284", Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual("fE7CB391D650A284", Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(aus4, Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(LEqual(aus5, Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 3, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aus4)), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(aus5)), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 5, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paus, 4)), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paus, 5)), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ // Method returns String
+
+ Store(LEqual(m601(2, 4), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(LEqual(m601(2, 5), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 9, Local0, Zero)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(2, 4, 1)), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(2, 5, 1)), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 11, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater("FE7CB391D650A284", Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LGreater("fE7CB391D650A284", Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LGreater("FE7CB391D650A28 ", Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LGreater("FE7CB391D650A284q", Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LGreater(aus4, Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LGreater(aus5, Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 17, Local0, Ones)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aus4)), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(aus5)), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 19, Local0, Ones)
+ }
+
+ Store(LGreater(Derefof(Index(paus, 4)), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paus, 5)), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns String
+
+ Store(LGreater(m601(2, 4), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LGreater(m601(2, 5), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 23, Local0, Ones)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(2, 4, 1)), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(2, 5, 1)), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual("FE7CB391D650A284", Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 26, Local0, Ones)
+
+ Store(LGreaterEqual("fE7CB391D650A284", Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 27, Local0, Ones)
+
+ Store(LGreaterEqual("FE7CB391D650A28 ", Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 28, Local0, Zero)
+
+ Store(LGreaterEqual("FE7CB391D650A284q", Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 29, Local0, Ones)
+
+ Store(LGreaterEqual(aus4, Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 30, Local0, Ones)
+
+ Store(LGreaterEqual(aus5, Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aus4)), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 32, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(aus5)), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 33, Local0, Ones)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paus, 4)), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paus, 5)), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 35, Local0, Ones)
+
+ // Method returns String
+
+ Store(LGreaterEqual(m601(2, 4), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(m601(2, 5), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(2, 4, 1)), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 38, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(2, 5, 1)), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 39, Local0, Ones)
+ }
+
+ // LLess
+
+ Store(LLess("FE7CB391D650A284", Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 40, Local0, Zero)
+
+ Store(LLess("fE7CB391D650A284", Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ Store(LLess("FE7CB391D650A28 ", Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LLess("FE7CB391D650A284q", Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 43, Local0, Zero)
+
+ Store(LLess(aus4, Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 44, Local0, Zero)
+
+ Store(LLess(aus5, Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 45, Local0, Zero)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aus4)), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 46, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(aus5)), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 47, Local0, Zero)
+ }
+
+ Store(LLess(Derefof(Index(paus, 4)), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 48, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paus, 5)), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 49, Local0, Zero)
+
+ // Method returns String
+
+ Store(LLess(m601(2, 4), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ Store(LLess(m601(2, 5), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 51, Local0, Zero)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LLess(Derefof(m602(2, 4, 1)), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 52, Local0, Zero)
+
+ Store(LLess(Derefof(m602(2, 5, 1)), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual("FE7CB391D650A284", Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 54, Local0, Ones)
+
+ Store(LLessEqual("fE7CB391D650A284", Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLessEqual("FE7CB391D650A28 ", Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLessEqual("FE7CB391D650A284q", Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLessEqual(aus4, Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 58, Local0, Ones)
+
+ Store(LLessEqual(aus5, Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 59, Local0, Zero)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aus4)), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 60, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(aus5)), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 61, Local0, Zero)
+ }
+
+ Store(LLessEqual(Derefof(Index(paus, 4)), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 62, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paus, 5)), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ // Method returns String
+
+ Store(LLessEqual(m601(2, 4), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 64, Local0, Ones)
+
+ Store(LLessEqual(m601(2, 5), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 65, Local0, Zero)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(2, 4, 1)), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 66, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(2, 5, 1)), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 67, Local0, Zero)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual("FE7CB391D650A284", Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 68, Local0, Zero)
+
+ Store(LNotEqual("fE7CB391D650A284", Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 69, Local0, Ones)
+
+ Store(LNotEqual("FE7CB391D650A28 ", Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 70, Local0, Ones)
+
+ Store(LNotEqual("FE7CB391D650A284q", Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 71, Local0, Ones)
+
+ Store(LNotEqual(aus4, Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 72, Local0, Zero)
+
+ Store(LNotEqual(aus5, Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 73, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aus4)), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 74, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(aus5)), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 75, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paus, 4)), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paus, 5)), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ // Method returns String
+
+ Store(LNotEqual(m601(2, 4), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 78, Local0, Zero)
+
+ Store(LNotEqual(m601(2, 5), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 79, Local0, Ones)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(2, 4, 1)), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 80, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(2, 5, 1)), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 81, Local0, Ones)
+ }
+ }
+
+ Method(m320, 1)
+ {
+ // LEqual
+
+ Store(LEqual("C179B3FE", Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual("c179B3FE", Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(aus3, Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(LEqual(aus2, Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 3, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aus3)), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(aus2)), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 5, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paus, 3)), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paus, 2)), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ // Method returns String
+
+ Store(LEqual(m601(2, 3), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(LEqual(m601(2, 2), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 9, Local0, Zero)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(2, 3, 1)), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(2, 2, 1)), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 11, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater("C179B3FE", Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LGreater("c179B3FE", Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LGreater("C179B3F ", Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LGreater("C179B3FEq", Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LGreater(aus3, Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LGreater(aus2, Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 17, Local0, Ones)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aus3)), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(aus2)), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 19, Local0, Ones)
+ }
+
+ Store(LGreater(Derefof(Index(paus, 3)), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paus, 2)), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns String
+
+ Store(LGreater(m601(2, 3), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LGreater(m601(2, 2), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 23, Local0, Ones)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(2, 3, 1)), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(2, 2, 1)), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual("C179B3FE", Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 26, Local0, Ones)
+
+ Store(LGreaterEqual("c179B3FE", Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 27, Local0, Ones)
+
+ Store(LGreaterEqual("C179B3F ", Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 28, Local0, Zero)
+
+ Store(LGreaterEqual("C179B3FEq", Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 29, Local0, Ones)
+
+ Store(LGreaterEqual(aus3, Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 30, Local0, Ones)
+
+ Store(LGreaterEqual(aus2, Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aus3)), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 32, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(aus2)), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 33, Local0, Ones)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paus, 3)), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paus, 2)), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 35, Local0, Ones)
+
+ // Method returns String
+
+ Store(LGreaterEqual(m601(2, 3), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(m601(2, 2), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(2, 3, 1)), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 38, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(2, 2, 1)), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 39, Local0, Ones)
+ }
+
+ // LLess
+
+ Store(LLess("C179B3FE", Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 40, Local0, Zero)
+
+ Store(LLess("c179B3FE", Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ Store(LLess("C179B3F ", Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LLess("C179B3FEq", Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 43, Local0, Zero)
+
+ Store(LLess(aus3, Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 44, Local0, Zero)
+
+ Store(LLess(aus2, Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 45, Local0, Zero)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aus3)), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 46, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(aus2)), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 47, Local0, Zero)
+ }
+
+ Store(LLess(Derefof(Index(paus, 3)), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 48, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paus, 2)), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 49, Local0, Zero)
+
+ // Method returns String
+
+ Store(LLess(m601(2, 3), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ Store(LLess(m601(2, 2), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 51, Local0, Zero)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LLess(Derefof(m602(2, 3, 1)), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 52, Local0, Zero)
+
+ Store(LLess(Derefof(m602(2, 2, 1)), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual("C179B3FE", Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 54, Local0, Ones)
+
+ Store(LLessEqual("c179B3FE", Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLessEqual("C179B3F ", Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLessEqual("C179B3FEq", Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLessEqual(aus3, Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 58, Local0, Ones)
+
+ Store(LLessEqual(aus2, Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 59, Local0, Zero)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aus3)), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 60, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(aus2)), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 61, Local0, Zero)
+ }
+
+ Store(LLessEqual(Derefof(Index(paus, 3)), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 62, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paus, 2)), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ // Method returns String
+
+ Store(LLessEqual(m601(2, 3), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 64, Local0, Ones)
+
+ Store(LLessEqual(m601(2, 2), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 65, Local0, Zero)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(2, 3, 1)), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 66, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(2, 2, 1)), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 67, Local0, Zero)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual("C179B3FE", Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 68, Local0, Zero)
+
+ Store(LNotEqual("c179B3FE", Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 69, Local0, Ones)
+
+ Store(LNotEqual("C179B3F ", Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 70, Local0, Ones)
+
+ Store(LNotEqual("C179B3FEq", Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 71, Local0, Ones)
+
+ Store(LNotEqual(aus3, Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 72, Local0, Zero)
+
+ Store(LNotEqual(aus2, Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 73, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aus3)), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 74, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(aus2)), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 75, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paus, 3)), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paus, 2)), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ // Method returns String
+
+ Store(LNotEqual(m601(2, 3), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 78, Local0, Zero)
+
+ Store(LNotEqual(m601(2, 2), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 79, Local0, Ones)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(2, 3, 1)), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 80, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(2, 2, 1)), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 81, Local0, Ones)
+ }
+ }
+
+ // Integer to String conversion of the Integer second operand of
+ // Concatenate operator when the first operand is evaluated as String
+
+ Method(m641, 1)
+ {
+ Store(Concatenate("", Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 0, Local0, bs10)
+
+ Store(Concatenate("1234q", Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 1, Local0, bs11)
+
+ Store(Concatenate(aus0, Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 2, Local0, bs10)
+
+ Store(Concatenate(aus1, Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 3, Local0, bs11)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aus0)), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 4, Local0, bs10)
+
+ Store(Concatenate(Derefof(Refof(aus1)), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 5, Local0, bs11)
+ }
+
+ Store(Concatenate(Derefof(Index(paus, 0)), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 6, Local0, bs10)
+
+ Store(Concatenate(Derefof(Index(paus, 1)), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 7, Local0, bs11)
+
+ // Method returns String
+
+ Store(Concatenate(m601(2, 0), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 8, Local0, bs10)
+
+ Store(Concatenate(m601(2, 1), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 9, Local0, bs11)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(2, 0, 1)), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 10, Local0, bs10)
+
+ Store(Concatenate(Derefof(m602(2, 1, 1)), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 11, Local0, bs11)
+ }
+
+ Concatenate("", Derefof(m604(2, 1, 4, 1)), Local0)
+ m600(arg0, 12, Local0, bs10)
+
+ Concatenate("1234q", Derefof(m604(2, 1, 4, 1)), Local0)
+ m600(arg0, 13, Local0, bs11)
+
+ Concatenate(aus0, Derefof(m604(2, 1, 4, 1)), Local0)
+ m600(arg0, 14, Local0, bs10)
+
+ Concatenate(aus1, Derefof(m604(2, 1, 4, 1)), Local0)
+ m600(arg0, 15, Local0, bs11)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aus0)), Derefof(m604(2, 1, 4, 1)), Local0)
+ m600(arg0, 16, Local0, bs10)
+
+ Concatenate(Derefof(Refof(aus1)), Derefof(m604(2, 1, 4, 1)), Local0)
+ m600(arg0, 17, Local0, bs11)
+ }
+
+ Concatenate(Derefof(Index(paus, 0)), Derefof(m604(2, 1, 4, 1)), Local0)
+ m600(arg0, 18, Local0, bs10)
+
+ Concatenate(Derefof(Index(paus, 1)), Derefof(m604(2, 1, 4, 1)), Local0)
+ m600(arg0, 19, Local0, bs11)
+
+ // Method returns String
+
+ Concatenate(m601(2, 0), Derefof(m604(2, 1, 4, 1)), Local0)
+ m600(arg0, 20, Local0, bs10)
+
+ Concatenate(m601(2, 1), Derefof(m604(2, 1, 4, 1)), Local0)
+ m600(arg0, 21, Local0, bs11)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Concatenate(Derefof(m602(2, 0, 1)), Derefof(m604(2, 1, 4, 1)), Local0)
+ m600(arg0, 22, Local0, bs10)
+
+ Concatenate(Derefof(m602(2, 1, 1)), Derefof(m604(2, 1, 4, 1)), Local0)
+ m600(arg0, 23, Local0, bs11)
+ }
+ }
+
+ Method(m321, 1)
+ {
+ Store(Concatenate("", Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 0, Local0, bs12)
+
+ Store(Concatenate("1234q", Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 1, Local0, bs13)
+
+ Store(Concatenate(aus0, Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 2, Local0, bs12)
+
+ Store(Concatenate(aus1, Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 3, Local0, bs13)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aus0)), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 4, Local0, bs12)
+
+ Store(Concatenate(Derefof(Refof(aus1)), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 5, Local0, bs13)
+ }
+
+ Store(Concatenate(Derefof(Index(paus, 0)), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 6, Local0, bs12)
+
+ Store(Concatenate(Derefof(Index(paus, 1)), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 7, Local0, bs13)
+
+ // Method returns String
+
+ Store(Concatenate(m601(2, 0), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 8, Local0, bs12)
+
+ Store(Concatenate(m601(2, 1), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 9, Local0, bs13)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(2, 0, 1)), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 10, Local0, bs12)
+
+ Store(Concatenate(Derefof(m602(2, 1, 1)), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 11, Local0, bs13)
+ }
+
+ Store(Concatenate("", Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 12, Local0, bs14)
+
+ Store(Concatenate("1234q", Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 13, Local0, bs15)
+
+ Concatenate("", Derefof(m604(2, 1, 3, 1)), Local0)
+ m600(arg0, 14, Local0, bs12)
+
+ Concatenate("1234q", Derefof(m604(2, 1, 3, 1)), Local0)
+ m600(arg0, 15, Local0, bs13)
+
+ Concatenate(aus0, Derefof(m604(2, 1, 3, 1)), Local0)
+ m600(arg0, 16, Local0, bs12)
+
+ Concatenate(aus1, Derefof(m604(2, 1, 3, 1)), Local0)
+ m600(arg0, 17, Local0, bs13)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aus0)), Derefof(m604(2, 1, 3, 1)), Local0)
+ m600(arg0, 18, Local0, bs12)
+
+ Concatenate(Derefof(Refof(aus1)), Derefof(m604(2, 1, 3, 1)), Local0)
+ m600(arg0, 19, Local0, bs13)
+ }
+
+ Concatenate(Derefof(Index(paus, 0)), Derefof(m604(2, 1, 3, 1)), Local0)
+ m600(arg0, 20, Local0, bs12)
+
+ Concatenate(Derefof(Index(paus, 1)), Derefof(m604(2, 1, 3, 1)), Local0)
+ m600(arg0, 21, Local0, bs13)
+
+ // Method returns String
+
+ Concatenate(m601(2, 0), Derefof(m604(2, 1, 3, 1)), Local0)
+ m600(arg0, 22, Local0, bs12)
+
+ Concatenate(m601(2, 1), Derefof(m604(2, 1, 3, 1)), Local0)
+ m600(arg0, 23, Local0, bs13)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Concatenate(Derefof(m602(2, 0, 1)), Derefof(m604(2, 1, 3, 1)), Local0)
+ m600(arg0, 24, Local0, bs12)
+
+ Concatenate(Derefof(m602(2, 1, 1)), Derefof(m604(2, 1, 3, 1)), Local0)
+ m600(arg0, 25, Local0, bs13)
+ }
+
+ Concatenate("", Derefof(m604(2, 1, 4, 1)), Local0)
+ m600(arg0, 26, Local0, bs14)
+
+ Concatenate("1234q", Derefof(m604(2, 1, 4, 1)), Local0)
+ m600(arg0, 27, Local0, bs15)
+ }
+
+// Method(m642, 1)
+
+// Method(m322, 1)
+
+// Method(m643, 1)
+
+// Method(m323, 1)
+
+ // Integer to Buffer implicit conversion Cases.
+
+ // Integer to Buffer conversion of the Integer second operand of
+ // Logical operators when the first operand is evaluated as Buffer
+ // (LEqual, LGreater, LGreaterEqual, LLess, LLessEqual, LNotEqual)
+
+ Method(m644, 1)
+ {
+ // LEqual
+
+ Store(LEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFF}, Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(aub4, Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(LEqual(aub3, Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 3, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aub4)), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(aub3)), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 5, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paub, 4)), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paub, 3)), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ // Method returns Buffer
+
+ Store(LEqual(m601(3, 4), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(LEqual(m601(3, 3), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 9, Local0, Zero)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(3, 4, 1)), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(3, 3, 1)), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 11, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LGreater(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFF}, Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LGreater(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFD}, Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LGreater(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0x01}, Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LGreater(aub4, Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LGreater(aub5, Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 17, Local0, Ones)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aub4)), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(aub5)), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 19, Local0, Ones)
+ }
+
+ Store(LGreater(Derefof(Index(paub, 4)), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paub, 5)), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Buffer
+
+ Store(LGreater(m601(3, 4), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LGreater(m601(3, 5), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 23, Local0, Ones)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(3, 4, 1)), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(3, 5, 1)), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 26, Local0, Ones)
+
+ Store(LGreaterEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFF}, Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 27, Local0, Ones)
+
+ Store(LGreaterEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFD}, Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 28, Local0, Zero)
+
+ Store(LGreaterEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0x01}, Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 29, Local0, Ones)
+
+ Store(LGreaterEqual(aub4, Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 30, Local0, Ones)
+
+ Store(LGreaterEqual(aub5, Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aub4)), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 32, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(aub5)), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 33, Local0, Ones)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paub, 4)), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paub, 5)), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 35, Local0, Ones)
+
+ // Method returns Buffer
+
+ Store(LGreaterEqual(m601(3, 4), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(m601(3, 5), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(3, 4, 1)), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 38, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(3, 5, 1)), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 39, Local0, Ones)
+ }
+
+ // LLess
+
+ Store(LLess(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 40, Local0, Zero)
+
+ Store(LLess(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFF}, Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ Store(LLess(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFD}, Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LLess(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0x01}, Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 43, Local0, Zero)
+
+ Store(LLess(aub4, Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 44, Local0, Zero)
+
+ Store(LLess(aub5, Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 45, Local0, Zero)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aub4)), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 46, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(aub5)), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 47, Local0, Zero)
+ }
+
+ Store(LLess(Derefof(Index(paub, 4)), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 48, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paub, 5)), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 49, Local0, Zero)
+
+ // Method returns Buffer
+
+ Store(LLess(m601(3, 4), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ Store(LLess(m601(3, 5), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 51, Local0, Zero)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LLess(Derefof(m602(3, 4, 1)), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 52, Local0, Zero)
+
+ Store(LLess(Derefof(m602(3, 5, 1)), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 54, Local0, Ones)
+
+ Store(LLessEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFF}, Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLessEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFD}, Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLessEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0x01}, Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLessEqual(aub4, Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 58, Local0, Ones)
+
+ Store(LLessEqual(aub5, Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 59, Local0, Zero)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aub4)), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 60, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(aub5)), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 61, Local0, Zero)
+ }
+
+ Store(LLessEqual(Derefof(Index(paub, 4)), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 62, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paub, 5)), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ // Method returns Buffer
+
+ Store(LLessEqual(m601(3, 4), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 64, Local0, Ones)
+
+ Store(LLessEqual(m601(3, 5), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 65, Local0, Zero)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(3, 4, 1)), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 66, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(3, 5, 1)), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 67, Local0, Zero)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 68, Local0, Zero)
+
+ Store(LNotEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFF}, Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 69, Local0, Ones)
+
+ Store(LNotEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFD}, Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 70, Local0, Ones)
+
+ Store(LNotEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0x01}, Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 71, Local0, Ones)
+
+ Store(LNotEqual(aub4, Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 72, Local0, Zero)
+
+ Store(LNotEqual(aub5, Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 73, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aub4)), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 74, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(aub5)), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 75, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paub, 4)), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paub, 5)), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ // Method returns Buffer
+
+ Store(LNotEqual(m601(3, 4), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 78, Local0, Zero)
+
+ Store(LNotEqual(m601(3, 5), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 79, Local0, Ones)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(3, 4, 1)), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 80, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(3, 5, 1)), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 81, Local0, Ones)
+ }
+ }
+
+ Method(m324, 1)
+ {
+ // LEqual
+
+ Store(LEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC1}, Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC0}, Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(aub3, Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(LEqual(aub2, Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 3, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aub3)), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(aub2)), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 5, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paub, 3)), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paub, 2)), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ // Method returns Buffer
+
+ Store(LEqual(m601(3, 3), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(LEqual(m601(3, 2), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 9, Local0, Zero)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(3, 3, 1)), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(3, 2, 1)), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 11, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater(Buffer() {0xFE, 0xB3, 0x79, 0xC1}, Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LGreater(Buffer() {0xFE, 0xB3, 0x79, 0xC2}, Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LGreater(Buffer() {0xFE, 0xB3, 0x79, 0xC0}, Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LGreater(Buffer() {0xFE, 0xB3, 0x79, 0xC1, 0x01}, Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LGreater(aub3, Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LGreater(aub2, Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 17, Local0, Ones)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aub3)), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(aub2)), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 19, Local0, Ones)
+ }
+
+ Store(LGreater(Derefof(Index(paub, 3)), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paub, 2)), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Buffer
+
+ Store(LGreater(m601(3, 3), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LGreater(m601(3, 2), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 23, Local0, Ones)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(3, 3, 1)), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(3, 2, 1)), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC1}, Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 26, Local0, Ones)
+
+ Store(LGreaterEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC2}, Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 27, Local0, Ones)
+
+ Store(LGreaterEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC0}, Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 28, Local0, Zero)
+
+ Store(LGreaterEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC1, 0x01}, Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 29, Local0, Ones)
+
+ Store(LGreaterEqual(aub3, Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 30, Local0, Ones)
+
+ Store(LGreaterEqual(aub2, Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aub3)), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 32, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(aub2)), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 33, Local0, Ones)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paub, 3)), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paub, 2)), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 35, Local0, Ones)
+
+ // Method returns Buffer
+
+ Store(LGreaterEqual(m601(3, 3), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(m601(3, 2), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(3, 3, 1)), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 38, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(3, 2, 1)), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 39, Local0, Ones)
+ }
+
+ // LLess
+
+ Store(LLess(Buffer() {0xFE, 0xB3, 0x79, 0xC1}, Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 40, Local0, Zero)
+
+ Store(LLess(Buffer() {0xFE, 0xB3, 0x79, 0xC2}, Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ Store(LLess(Buffer() {0xFE, 0xB3, 0x79, 0xC0}, Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LLess(Buffer() {0xFE, 0xB3, 0x79, 0xC1, 0x01}, Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 43, Local0, Zero)
+
+ Store(LLess(aub3, Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 44, Local0, Zero)
+
+ Store(LLess(aub2, Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 45, Local0, Zero)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aub3)), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 46, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(aub2)), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 47, Local0, Zero)
+ }
+
+ Store(LLess(Derefof(Index(paub, 3)), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 48, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paub, 2)), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 49, Local0, Zero)
+
+ // Method returns Buffer
+
+ Store(LLess(m601(3, 3), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ Store(LLess(m601(3, 2), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 51, Local0, Zero)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LLess(Derefof(m602(3, 3, 1)), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 52, Local0, Zero)
+
+ Store(LLess(Derefof(m602(3, 2, 1)), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC1}, Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 54, Local0, Ones)
+
+ Store(LLessEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC2}, Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLessEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC0}, Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLessEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC1, 0x01}, Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLessEqual(aub3, Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 58, Local0, Ones)
+
+ Store(LLessEqual(aub2, Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 59, Local0, Zero)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aub3)), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 60, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(aub2)), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 61, Local0, Zero)
+ }
+
+ Store(LLessEqual(Derefof(Index(paub, 3)), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 62, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paub, 2)), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ // Method returns Buffer
+
+ Store(LLessEqual(m601(3, 3), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 64, Local0, Ones)
+
+ Store(LLessEqual(m601(3, 2), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 65, Local0, Zero)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(3, 3, 1)), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 66, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(3, 2, 1)), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 67, Local0, Zero)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC1}, Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 68, Local0, Zero)
+
+ Store(LNotEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC2}, Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 69, Local0, Ones)
+
+ Store(LNotEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC0}, Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 70, Local0, Ones)
+
+ Store(LNotEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC1, 0x01}, Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 71, Local0, Ones)
+
+ Store(LNotEqual(aub3, Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 72, Local0, Zero)
+
+ Store(LNotEqual(aub2, Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 73, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aub3)), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 74, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(aub2)), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 75, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paub, 3)), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paub, 2)), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ // Method returns Buffer
+
+ Store(LNotEqual(m601(3, 3), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 78, Local0, Zero)
+
+ Store(LNotEqual(m601(3, 2), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 79, Local0, Ones)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(3, 3, 1)), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 80, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(3, 2, 1)), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 81, Local0, Ones)
+ }
+ }
+
+
+ // Integer to Buffer conversion of the both Integer operands of
+ // Concatenate operator
+
+ Method(m645, 1)
+ {
+ Store(Concatenate(Derefof(m604(2, 1, 4, 1)), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 0, Local0, bb20)
+
+ Store(Concatenate(0x321, Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 1, Local0, bb21)
+
+ Store(Concatenate(Derefof(m604(2, 1, 4, 1)), 0x321), Local0)
+ m600(arg0, 1, Local0, bb22)
+
+ Concatenate(Derefof(m604(2, 1, 4, 1)), Derefof(m604(2, 1, 4, 1)), Local0)
+ m600(arg0, 0, Local0, bb20)
+
+ Concatenate(0x321, Derefof(m604(2, 1, 4, 1)), Local0)
+ m600(arg0, 1, Local0, bb21)
+
+ Concatenate(Derefof(m604(2, 1, 4, 1)), 0x321, Local0)
+ m600(arg0, 1, Local0, bb22)
+ }
+
+ Method(m325, 1)
+ {
+ Store(Concatenate(Derefof(m604(2, 1, 3, 1)), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 0, Local0, bb23)
+
+ Store(Concatenate(0x321, Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 1, Local0, bb24)
+
+ Store(Concatenate(Derefof(m604(2, 1, 3, 1)), 0x321), Local0)
+ m600(arg0, 1, Local0, bb25)
+
+ Concatenate(Derefof(m604(2, 1, 3, 1)), Derefof(m604(2, 1, 3, 1)), Local0)
+ m600(arg0, 0, Local0, bb23)
+
+ Concatenate(0x321, Derefof(m604(2, 1, 3, 1)), Local0)
+ m600(arg0, 1, Local0, bb24)
+
+ Concatenate(Derefof(m604(2, 1, 3, 1)), 0x321, Local0)
+ m600(arg0, 1, Local0, bb25)
+ }
+
+ // Integer to Buffer conversion of the Integer second operand of
+ // Concatenate operator when the first operand is evaluated as Buffer
+
+ Method(m646, 1)
+ {
+ Store(Concatenate(Buffer(){0x5a}, Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 0, Local0, bb10)
+
+ Store(Concatenate(Buffer(){0x5a, 0x00}, Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 1, Local0, bb11)
+
+ Store(Concatenate(aub0, Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 2, Local0, bb10)
+
+ Store(Concatenate(aub1, Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 3, Local0, bb11)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aub0)), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 4, Local0, bb10)
+
+ Store(Concatenate(Derefof(Refof(aub1)), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 5, Local0, bb11)
+ }
+
+ Store(Concatenate(Derefof(Index(paub, 0)), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 6, Local0, bb10)
+
+ Store(Concatenate(Derefof(Index(paub, 1)), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 7, Local0, bb11)
+
+ // Method returns Buffer
+
+ Store(Concatenate(m601(3, 0), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 8, Local0, bb10)
+
+ Store(Concatenate(m601(3, 1), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 9, Local0, bb11)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(3, 0, 1)), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 10, Local0, bb10)
+
+ Store(Concatenate(Derefof(m602(3, 1, 1)), Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 11, Local0, bb11)
+ }
+
+ Concatenate(Buffer(){0x5a}, Derefof(m604(2, 1, 4, 1)), Local0)
+ m600(arg0, 12, Local0, bb10)
+
+ Concatenate(Buffer(){0x5a, 0x00}, Derefof(m604(2, 1, 4, 1)), Local0)
+ m600(arg0, 13, Local0, bb11)
+
+ Concatenate(aub0, Derefof(m604(2, 1, 4, 1)), Local0)
+ m600(arg0, 14, Local0, bb10)
+
+ Concatenate(aub1, Derefof(m604(2, 1, 4, 1)), Local0)
+ m600(arg0, 15, Local0, bb11)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aub0)), Derefof(m604(2, 1, 4, 1)), Local0)
+ m600(arg0, 16, Local0, bb10)
+
+ Concatenate(Derefof(Refof(aub1)), Derefof(m604(2, 1, 4, 1)), Local0)
+ m600(arg0, 17, Local0, bb11)
+ }
+
+ Concatenate(Derefof(Index(paub, 0)), Derefof(m604(2, 1, 4, 1)), Local0)
+ m600(arg0, 18, Local0, bb10)
+
+ Concatenate(Derefof(Index(paub, 1)), Derefof(m604(2, 1, 4, 1)), Local0)
+ m600(arg0, 19, Local0, bb11)
+
+ // Method returns Buffer
+
+ Concatenate(m601(3, 0), Derefof(m604(2, 1, 4, 1)), Local0)
+ m600(arg0, 20, Local0, bb10)
+
+ Concatenate(m601(3, 1), Derefof(m604(2, 1, 4, 1)), Local0)
+ m600(arg0, 21, Local0, bb11)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Concatenate(Derefof(m602(3, 0, 1)), Derefof(m604(2, 1, 4, 1)), Local0)
+ m600(arg0, 22, Local0, bb10)
+
+ Concatenate(Derefof(m602(3, 1, 1)), Derefof(m604(2, 1, 4, 1)), Local0)
+ m600(arg0, 23, Local0, bb11)
+ }
+ }
+
+ Method(m326, 1)
+ {
+
+ Store(Concatenate(Buffer(){0x5a}, Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 0, Local0, bb12)
+
+ Store(Concatenate(Buffer(){0x5a, 0x00}, Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 1, Local0, bb13)
+
+ Store(Concatenate(aub0, Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 2, Local0, bb12)
+
+ Store(Concatenate(aub1, Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 3, Local0, bb13)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aub0)), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 4, Local0, bb12)
+
+ Store(Concatenate(Derefof(Refof(aub1)), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 5, Local0, bb13)
+ }
+
+ Store(Concatenate(Derefof(Index(paub, 0)), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 6, Local0, bb12)
+
+ Store(Concatenate(Derefof(Index(paub, 1)), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 7, Local0, bb13)
+
+ // Method returns Buffer
+
+ Store(Concatenate(m601(3, 0), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 8, Local0, bb12)
+
+ Store(Concatenate(m601(3, 1), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 9, Local0, bb13)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(3, 0, 1)), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 10, Local0, bb12)
+
+ Store(Concatenate(Derefof(m602(3, 1, 1)), Derefof(m604(2, 1, 3, 1))), Local0)
+ m600(arg0, 11, Local0, bb13)
+ }
+
+ Store(Concatenate(Buffer(){0x5a}, Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 12, Local0, bb14)
+
+ Store(Concatenate(Buffer(){0x5a, 0x00}, Derefof(m604(2, 1, 4, 1))), Local0)
+ m600(arg0, 13, Local0, bb15)
+
+ Concatenate(Buffer(){0x5a}, Derefof(m604(2, 1, 3, 1)), Local0)
+ m600(arg0, 14, Local0, bb12)
+
+ Concatenate(Buffer(){0x5a, 0x00}, Derefof(m604(2, 1, 3, 1)), Local0)
+ m600(arg0, 15, Local0, bb13)
+
+ Concatenate(aub0, Derefof(m604(2, 1, 3, 1)), Local0)
+ m600(arg0, 16, Local0, bb12)
+
+ Concatenate(aub1, Derefof(m604(2, 1, 3, 1)), Local0)
+ m600(arg0, 17, Local0, bb13)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aub0)), Derefof(m604(2, 1, 3, 1)), Local0)
+ m600(arg0, 18, Local0, bb12)
+
+ Concatenate(Derefof(Refof(aub1)), Derefof(m604(2, 1, 3, 1)), Local0)
+ m600(arg0, 19, Local0, bb13)
+ }
+
+ Concatenate(Derefof(Index(paub, 0)), Derefof(m604(2, 1, 3, 1)), Local0)
+ m600(arg0, 20, Local0, bb12)
+
+ Concatenate(Derefof(Index(paub, 1)), Derefof(m604(2, 1, 3, 1)), Local0)
+ m600(arg0, 21, Local0, bb13)
+
+ // Method returns Buffer
+
+ Concatenate(m601(3, 0), Derefof(m604(2, 1, 3, 1)), Local0)
+ m600(arg0, 22, Local0, bb12)
+
+ Concatenate(m601(3, 1), Derefof(m604(2, 1, 3, 1)), Local0)
+ m600(arg0, 23, Local0, bb13)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Concatenate(Derefof(m602(3, 0, 1)), Derefof(m604(2, 1, 3, 1)), Local0)
+ m600(arg0, 24, Local0, bb12)
+
+ Concatenate(Derefof(m602(3, 1, 1)), Derefof(m604(2, 1, 3, 1)), Local0)
+ m600(arg0, 25, Local0, bb13)
+ }
+
+ Concatenate(Buffer(){0x5a}, Derefof(m604(2, 1, 4, 1)), Local0)
+ m600(arg0, 26, Local0, bb14)
+
+ Concatenate(Buffer(){0x5a, 0x00}, Derefof(m604(2, 1, 4, 1)), Local0)
+ m600(arg0, 27, Local0, bb15)
+ }
+
+
+ // Integer to Buffer conversion of the Integer Source operand of
+ // ToString operator
+
+ Method(m647, 1)
+ {
+ Store(ToString(Derefof(m604(2, 1, 13, 1)), Ones), Local0)
+ m600(arg0, 0, Local0, bs18)
+
+ Store(ToString(Derefof(m604(2, 1, 13, 1)), 3), Local0)
+ m600(arg0, 1, Local0, bs19)
+
+ Store(ToString(Derefof(m604(2, 1, 14, 1)), Ones), Local0)
+ m600(arg0, 2, Local0, bs1a)
+
+ Store(ToString(Derefof(m604(2, 1, 13, 1)), aui0), Local0)
+ m600(arg0, 3, Local0, bs18)
+
+ Store(ToString(Derefof(m604(2, 1, 13, 1)), aui7), Local0)
+ m600(arg0, 4, Local0, bs19)
+
+ Store(ToString(Derefof(m604(2, 1, 14, 1)), aui0), Local0)
+ m600(arg0, 5, Local0, bs1a)
+
+ if (y078) {
+ Store(ToString(Derefof(m604(2, 1, 13, 1)), Derefof(Refof(aui0))), Local0)
+ m600(arg0, 6, Local0, bs18)
+
+ Store(ToString(Derefof(m604(2, 1, 13, 1)), Derefof(Refof(aui7))), Local0)
+ m600(arg0, 7, Local0, bs19)
+
+ Store(ToString(Derefof(m604(2, 1, 14, 1)), Derefof(Refof(aui0))), Local0)
+ m600(arg0, 8, Local0, bs1a)
+ }
+
+ Store(ToString(Derefof(m604(2, 1, 13, 1)), Derefof(Index(paui, 0))), Local0)
+ m600(arg0, 9, Local0, bs18)
+
+ Store(ToString(Derefof(m604(2, 1, 13, 1)), Derefof(Index(paui, 7))), Local0)
+ m600(arg0, 10, Local0, bs19)
+
+ Store(ToString(Derefof(m604(2, 1, 14, 1)), Derefof(Index(paui, 0))), Local0)
+ m600(arg0, 11, Local0, bs1a)
+
+ // Method returns Length parameter
+
+ Store(ToString(Derefof(m604(2, 1, 13, 1)), m601(1, 0)), Local0)
+ m600(arg0, 12, Local0, bs18)
+
+ Store(ToString(Derefof(m604(2, 1, 13, 1)), m601(1, 7)), Local0)
+ m600(arg0, 13, Local0, bs19)
+
+ Store(ToString(Derefof(m604(2, 1, 14, 1)), m601(1, 0)), Local0)
+ m600(arg0, 14, Local0, bs1a)
+
+ // Method returns Reference to Length parameter
+
+ if (y500) {
+ Store(ToString(Derefof(m604(2, 1, 13, 1)), Derefof(m601(1, 0))), Local0)
+ m600(arg0, 15, Local0, bs18)
+
+ Store(ToString(Derefof(m604(2, 1, 13, 1)), Derefof(m601(1, 7))), Local0)
+ m600(arg0, 16, Local0, bs19)
+
+ Store(ToString(Derefof(m604(2, 1, 14, 1)), Derefof(m601(1, 0))), Local0)
+ m600(arg0, 17, Local0, bs1a)
+ }
+
+ ToString(Derefof(m604(2, 1, 13, 1)), Ones, Local0)
+ m600(arg0, 18, Local0, bs18)
+
+ ToString(Derefof(m604(2, 1, 13, 1)), 3, Local0)
+ m600(arg0, 19, Local0, bs19)
+
+ ToString(Derefof(m604(2, 1, 14, 1)), Ones, Local0)
+ m600(arg0, 20, Local0, bs1a)
+
+ ToString(Derefof(m604(2, 1, 13, 1)), aui0, Local0)
+ m600(arg0, 21, Local0, bs18)
+
+ ToString(Derefof(m604(2, 1, 13, 1)), aui7, Local0)
+ m600(arg0, 22, Local0, bs19)
+
+ ToString(Derefof(m604(2, 1, 14, 1)), aui0, Local0)
+ m600(arg0, 23, Local0, bs1a)
+
+ if (y078) {
+ ToString(Derefof(m604(2, 1, 13, 1)), Derefof(Refof(aui0)), Local0)
+ m600(arg0, 24, Local0, bs18)
+
+ ToString(Derefof(m604(2, 1, 13, 1)), Derefof(Refof(aui7)), Local0)
+ m600(arg0, 25, Local0, bs19)
+
+ ToString(Derefof(m604(2, 1, 14, 1)), Derefof(Refof(aui0)), Local0)
+ m600(arg0, 26, Local0, bs1a)
+ }
+
+ ToString(Derefof(m604(2, 1, 13, 1)), Derefof(Index(paui, 0)), Local0)
+ m600(arg0, 27, Local0, bs18)
+
+ ToString(Derefof(m604(2, 1, 13, 1)), Derefof(Index(paui, 7)), Local0)
+ m600(arg0, 28, Local0, bs19)
+
+ ToString(Derefof(m604(2, 1, 14, 1)), Derefof(Index(paui, 0)), Local0)
+ m600(arg0, 29, Local0, bs1a)
+
+ // Method returns Length parameter
+
+ ToString(Derefof(m604(2, 1, 13, 1)), m601(1, 0), Local0)
+ m600(arg0, 30, Local0, bs18)
+
+ ToString(Derefof(m604(2, 1, 13, 1)), m601(1, 7), Local0)
+ m600(arg0, 31, Local0, bs19)
+
+ ToString(Derefof(m604(2, 1, 14, 1)), m601(1, 0), Local0)
+ m600(arg0, 32, Local0, bs1a)
+
+ // Method returns Reference to Length parameter
+
+ if (y500) {
+ ToString(Derefof(m604(2, 1, 13, 1)), Derefof(m601(1, 0)), Local0)
+ m600(arg0, 33, Local0, bs18)
+
+ ToString(Derefof(m604(2, 1, 13, 1)), Derefof(m601(1, 7)), Local0)
+ m600(arg0, 34, Local0, bs19)
+
+ ToString(Derefof(m604(2, 1, 14, 1)), Derefof(m601(1, 0)), Local0)
+ m600(arg0, 35, Local0, bs1a)
+ }
+ }
+
+ Method(m327, 1)
+ {
+ Store(ToString(Derefof(m604(2, 1, 12, 1)), Ones), Local0)
+ m600(arg0, 0, Local0, bs16)
+
+ Store(ToString(Derefof(m604(2, 1, 12, 1)), 3), Local0)
+ m600(arg0, 1, Local0, bs17)
+
+ Store(ToString(Derefof(m604(2, 1, 15, 1)), Ones), Local0)
+ m600(arg0, 2, Local0, bs1a)
+
+ Store(ToString(Derefof(m604(2, 1, 12, 1)), aui0), Local0)
+ m600(arg0, 3, Local0, bs16)
+
+ Store(ToString(Derefof(m604(2, 1, 12, 1)), aui7), Local0)
+ m600(arg0, 4, Local0, bs17)
+
+ Store(ToString(Derefof(m604(2, 1, 15, 1)), aui0), Local0)
+ m600(arg0, 5, Local0, bs1a)
+
+ if (y078) {
+ Store(ToString(Derefof(m604(2, 1, 12, 1)), Derefof(Refof(aui0))), Local0)
+ m600(arg0, 6, Local0, bs16)
+
+ Store(ToString(Derefof(m604(2, 1, 12, 1)), Derefof(Refof(aui7))), Local0)
+ m600(arg0, 7, Local0, bs17)
+
+ Store(ToString(Derefof(m604(2, 1, 15, 1)), Derefof(Refof(aui0))), Local0)
+ m600(arg0, 8, Local0, bs1a)
+ }
+
+ Store(ToString(Derefof(m604(2, 1, 12, 1)), Derefof(Index(paui, 0))), Local0)
+ m600(arg0, 9, Local0, bs16)
+
+ Store(ToString(Derefof(m604(2, 1, 12, 1)), Derefof(Index(paui, 7))), Local0)
+ m600(arg0, 10, Local0, bs17)
+
+ Store(ToString(Derefof(m604(2, 1, 15, 1)), Derefof(Index(paui, 0))), Local0)
+ m600(arg0, 11, Local0, bs1a)
+
+ // Method returns Length parameter
+
+ Store(ToString(Derefof(m604(2, 1, 12, 1)), m601(1, 0)), Local0)
+ m600(arg0, 12, Local0, bs16)
+
+ Store(ToString(Derefof(m604(2, 1, 12, 1)), m601(1, 7)), Local0)
+ m600(arg0, 13, Local0, bs17)
+
+ Store(ToString(Derefof(m604(2, 1, 15, 1)), m601(1, 0)), Local0)
+ m600(arg0, 14, Local0, bs1a)
+
+ // Method returns Reference to Length parameter
+
+ if (y500) {
+ Store(ToString(Derefof(m604(2, 1, 12, 1)), Derefof(m601(1, 0))), Local0)
+ m600(arg0, 15, Local0, bs16)
+
+ Store(ToString(Derefof(m604(2, 1, 12, 1)), Derefof(m601(1, 7))), Local0)
+ m600(arg0, 16, Local0, bs17)
+
+ Store(ToString(Derefof(m604(2, 1, 15, 1)), Derefof(m601(1, 0))), Local0)
+ m600(arg0, 17, Local0, bs1a)
+ }
+
+ ToString(Derefof(m604(2, 1, 12, 1)), Ones, Local0)
+ m600(arg0, 18, Local0, bs16)
+
+ ToString(Derefof(m604(2, 1, 12, 1)), 3, Local0)
+ m600(arg0, 19, Local0, bs17)
+
+ ToString(Derefof(m604(2, 1, 15, 1)), Ones, Local0)
+ m600(arg0, 20, Local0, bs1a)
+
+ ToString(Derefof(m604(2, 1, 12, 1)), aui0, Local0)
+ m600(arg0, 21, Local0, bs16)
+
+ ToString(Derefof(m604(2, 1, 12, 1)), aui7, Local0)
+ m600(arg0, 22, Local0, bs17)
+
+ ToString(Derefof(m604(2, 1, 15, 1)), aui0, Local0)
+ m600(arg0, 23, Local0, bs1a)
+
+ if (y078) {
+ ToString(Derefof(m604(2, 1, 12, 1)), Derefof(Refof(aui0)), Local0)
+ m600(arg0, 24, Local0, bs16)
+
+ ToString(Derefof(m604(2, 1, 12, 1)), Derefof(Refof(aui7)), Local0)
+ m600(arg0, 25, Local0, bs17)
+
+ ToString(Derefof(m604(2, 1, 15, 1)), Derefof(Refof(aui0)), Local0)
+ m600(arg0, 26, Local0, bs1a)
+ }
+
+ ToString(Derefof(m604(2, 1, 12, 1)), Derefof(Index(paui, 0)), Local0)
+ m600(arg0, 27, Local0, bs16)
+
+ ToString(Derefof(m604(2, 1, 12, 1)), Derefof(Index(paui, 7)), Local0)
+ m600(arg0, 28, Local0, bs17)
+
+ ToString(Derefof(m604(2, 1, 15, 1)), Derefof(Index(paui, 0)), Local0)
+ m600(arg0, 29, Local0, bs1a)
+
+ // Method returns Length parameter
+
+ ToString(Derefof(m604(2, 1, 12, 1)), m601(1, 0), Local0)
+ m600(arg0, 30, Local0, bs16)
+
+ ToString(Derefof(m604(2, 1, 12, 1)), m601(1, 7), Local0)
+ m600(arg0, 31, Local0, bs17)
+
+ ToString(Derefof(m604(2, 1, 15, 1)), m601(1, 0), Local0)
+ m600(arg0, 32, Local0, bs1a)
+
+ // Method returns Reference to Length parameter
+
+ if (y500) {
+ ToString(Derefof(m604(2, 1, 12, 1)), Derefof(m601(1, 0)), Local0)
+ m600(arg0, 33, Local0, bs16)
+
+ ToString(Derefof(m604(2, 1, 12, 1)), Derefof(m601(1, 7)), Local0)
+ m600(arg0, 34, Local0, bs17)
+
+ ToString(Derefof(m604(2, 1, 15, 1)), Derefof(m601(1, 0)), Local0)
+ m600(arg0, 35, Local0, bs1a)
+ }
+ }
+
+ // Integer to Buffer conversion of the Integer Source operand of
+ // Mid operator
+
+ Method(m648, 1)
+ {
+ Store(Mid(Derefof(m604(2, 1, 4, 1)), 0, 9), Local0)
+ m600(arg0, 0, Local0, bb1d)
+
+ Store(Mid(Derefof(m604(2, 1, 15, 1)), 1, 8), Local0)
+ m600(arg0, 1, Local0, bb30)
+
+ Store(Mid(Derefof(m604(2, 1, 4, 1)), aui5, auib), Local0)
+ m600(arg0, 2, Local0, bb1d)
+
+ Store(Mid(Derefof(m604(2, 1, 15, 1)), aui6, auia), Local0)
+ m600(arg0, 3, Local0, bb30)
+
+ if (y078) {
+ Store(Mid(Derefof(m604(2, 1, 4, 1)), Derefof(Refof(aui5)), Derefof(Refof(auib))), Local0)
+ m600(arg0, 4, Local0, bb1d)
+
+ Store(Mid(Derefof(m604(2, 1, 15, 1)), Derefof(Refof(aui6)), Derefof(Refof(auia))), Local0)
+ m600(arg0, 5, Local0, bb30)
+ }
+
+ Store(Mid(Derefof(m604(2, 1, 4, 1)), Derefof(Index(paui, 5)), Derefof(Index(paui, 11))), Local0)
+ m600(arg0, 6, Local0, bb1d)
+
+ Store(Mid(Derefof(m604(2, 1, 15, 1)), Derefof(Index(paui, 6)), Derefof(Index(paui, 10))), Local0)
+ m600(arg0, 7, Local0, bb30)
+
+ // Method returns Index and Length parameters
+
+ Store(Mid(Derefof(m604(2, 1, 4, 1)), m601(1, 5), m601(1, 11)), Local0)
+ m600(arg0, 8, Local0, bb1d)
+
+ Store(Mid(Derefof(m604(2, 1, 15, 1)), m601(1, 6), m601(1, 10)), Local0)
+ m600(arg0, 9, Local0, bb30)
+
+ // Method returns Reference to Index and Length parameters
+
+ if (y500) {
+ Store(Mid(Derefof(m604(2, 1, 4, 1)), Derefof(m601(1, 5)), Derefof(m601(1, 11))), Local0)
+ m600(arg0, 10, Local0, bb1d)
+
+ Store(Mid(Derefof(m604(2, 1, 15, 1)), Derefof(m601(1, 6)), Derefof(m601(1, 10))), Local0)
+ m600(arg0, 11, Local0, bb30)
+ }
+
+ Mid(Derefof(m604(2, 1, 4, 1)), 0, 9, Local0)
+ m600(arg0, 12, Local0, bb1d)
+
+ Mid(Derefof(m604(2, 1, 15, 1)), 1, 8, Local0)
+ m600(arg0, 13, Local0, bb30)
+
+ Mid(Derefof(m604(2, 1, 4, 1)), aui5, auib, Local0)
+ m600(arg0, 14, Local0, bb1d)
+
+ Mid(Derefof(m604(2, 1, 15, 1)), aui6, auia, Local0)
+ m600(arg0, 15, Local0, bb30)
+
+ if (y078) {
+ Mid(Derefof(m604(2, 1, 4, 1)), Derefof(Refof(aui5)), Derefof(Refof(auib)), Local0)
+ m600(arg0, 16, Local0, bb1d)
+
+ Mid(Derefof(m604(2, 1, 15, 1)), Derefof(Refof(aui6)), Derefof(Refof(auia)), Local0)
+ m600(arg0, 17, Local0, bb30)
+ }
+
+ Mid(Derefof(m604(2, 1, 4, 1)), Derefof(Index(paui, 5)), Derefof(Index(paui, 11)), Local0)
+ m600(arg0, 18, Local0, bb1d)
+
+ Mid(Derefof(m604(2, 1, 15, 1)), Derefof(Index(paui, 6)), Derefof(Index(paui, 10)), Local0)
+ m600(arg0, 19, Local0, bb30)
+
+ // Method returns Index and Length parameters
+
+ Mid(Derefof(m604(2, 1, 4, 1)), m601(1, 5), m601(1, 11), Local0)
+ m600(arg0, 20, Local0, bb1d)
+
+ Mid(Derefof(m604(2, 1, 15, 1)), m601(1, 6), m601(1, 10), Local0)
+ m600(arg0, 21, Local0, bb30)
+
+ // Method returns Reference to Index and Length parameters
+
+ if (y500) {
+ Mid(Derefof(m604(2, 1, 4, 1)), Derefof(m601(1, 5)), Derefof(m601(1, 11)), Local0)
+ m600(arg0, 22, Local0, bb1d)
+
+ Mid(Derefof(m604(2, 1, 15, 1)), Derefof(m601(1, 6)), Derefof(m601(1, 10)), Local0)
+ m600(arg0, 23, Local0, bb30)
+ }
+ }
+
+ Method(m328, 1)
+ {
+ Store(Mid(Derefof(m604(2, 1, 3, 1)), 0, 5), Local0)
+ m600(arg0, 0, Local0, bb1c)
+
+ Store(Mid(Derefof(m604(2, 1, 15, 1)), 1, 4), Local0)
+ m600(arg0, 1, Local0, bb31)
+
+ Store(Mid(Derefof(m604(2, 1, 3, 1)), aui5, aui9), Local0)
+ m600(arg0, 2, Local0, bb1c)
+
+ Store(Mid(Derefof(m604(2, 1, 15, 1)), aui6, aui8), Local0)
+ m600(arg0, 3, Local0, bb31)
+
+ if (y078) {
+ Store(Mid(Derefof(m604(2, 1, 3, 1)), Derefof(Refof(aui5)), Derefof(Refof(aui9))), Local0)
+ m600(arg0, 4, Local0, bb1c)
+
+ Store(Mid(Derefof(m604(2, 1, 15, 1)), Derefof(Refof(aui6)), Derefof(Refof(aui8))), Local0)
+ m600(arg0, 5, Local0, bb31)
+ }
+
+ Store(Mid(Derefof(m604(2, 1, 3, 1)), Derefof(Index(paui, 5)), Derefof(Index(paui, 9))), Local0)
+ m600(arg0, 6, Local0, bb1c)
+
+ Store(Mid(Derefof(m604(2, 1, 15, 1)), Derefof(Index(paui, 6)), Derefof(Index(paui, 8))), Local0)
+ m600(arg0, 7, Local0, bb31)
+
+ // Method returns Index and Length parameters
+
+ Store(Mid(Derefof(m604(2, 1, 3, 1)), m601(1, 5), m601(1, 9)), Local0)
+ m600(arg0, 8, Local0, bb1c)
+
+ Store(Mid(Derefof(m604(2, 1, 15, 1)), m601(1, 6), m601(1, 8)), Local0)
+ m600(arg0, 9, Local0, bb31)
+
+ // Method returns Reference to Index and Length parameters
+
+ if (y500) {
+ Store(Mid(Derefof(m604(2, 1, 3, 1)), Derefof(m601(1, 5)), Derefof(m601(1, 9))), Local0)
+ m600(arg0, 10, Local0, bb1c)
+
+ Store(Mid(Derefof(m604(2, 1, 15, 1)), Derefof(m601(1, 6)), Derefof(m601(1, 8))), Local0)
+ m600(arg0, 11, Local0, bb31)
+ }
+
+ Mid(Derefof(m604(2, 1, 3, 1)), 0, 5, Local0)
+ m600(arg0, 12, Local0, bb1c)
+
+ Mid(Derefof(m604(2, 1, 15, 1)), 1, 4, Local0)
+ m600(arg0, 13, Local0, bb31)
+
+ Mid(Derefof(m604(2, 1, 3, 1)), aui5, aui9, Local0)
+ m600(arg0, 14, Local0, bb1c)
+
+ Mid(Derefof(m604(2, 1, 15, 1)), aui6, aui8, Local0)
+ m600(arg0, 15, Local0, bb31)
+
+ if (y078) {
+ Mid(Derefof(m604(2, 1, 3, 1)), Derefof(Refof(aui5)), Derefof(Refof(aui9)), Local0)
+ m600(arg0, 16, Local0, bb1c)
+
+ Mid(Derefof(m604(2, 1, 15, 1)), Derefof(Refof(aui6)), Derefof(Refof(aui8)), Local0)
+ m600(arg0, 17, Local0, bb31)
+ }
+
+ Mid(Derefof(m604(2, 1, 3, 1)), Derefof(Index(paui, 5)), Derefof(Index(paui, 9)), Local0)
+ m600(arg0, 18, Local0, bb1c)
+
+ Mid(Derefof(m604(2, 1, 15, 1)), Derefof(Index(paui, 6)), Derefof(Index(paui, 8)), Local0)
+ m600(arg0, 19, Local0, bb31)
+
+ // Method returns Index and Length parameters
+
+ Mid(Derefof(m604(2, 1, 3, 1)), m601(1, 5), m601(1, 9), Local0)
+ m600(arg0, 20, Local0, bb1c)
+
+ Mid(Derefof(m604(2, 1, 15, 1)), m601(1, 6), m601(1, 8), Local0)
+ m600(arg0, 21, Local0, bb31)
+
+ // Method returns Reference to Index and Length parameters
+
+ if (y500) {
+ Mid(Derefof(m604(2, 1, 3, 1)), Derefof(m601(1, 5)), Derefof(m601(1, 9)), Local0)
+ m600(arg0, 22, Local0, bb1c)
+
+ Mid(Derefof(m604(2, 1, 15, 1)), Derefof(m601(1, 6)), Derefof(m601(1, 8)), Local0)
+ m600(arg0, 23, Local0, bb31)
+ }
+ }
+
+// Method(m649, 1)
+
+// Method(m329, 1)
+
+// Method(m64a, 1)
+
+// Method(m32a, 1)
+
+ // String to Integer implicit conversion Cases.
+
+ // String to Integer conversion of the String sole operand
+ // of the 1-parameter Integer arithmetic operators
+ // (Decrement, Increment, FindSetLeftBit, FindSetRightBit, Not)
+
+ Method(m64b, 1)
+ {
+ // Decrement
+ if (y501) {
+ Store(Decrement(Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 0, Local0, bi12)
+
+ Store(Decrement(Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 1, Local0, bi16)
+ }
+
+ // Increment
+ if (y501) {
+ Store(Increment(Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 2, Local0, bi13)
+
+ Store(Increment(Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 3, Local0, bi17)
+ }
+
+ // FindSetLeftBit
+ Store(FindSetLeftBit(Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 4, Local0, 10)
+
+ Store(FindSetLeftBit(Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 5, Local0, 64)
+
+ // FindSetRightBit
+
+ Store(FindSetRightBit(Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 6, Local0, 1)
+
+ Store(FindSetRightBit(Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 7, Local0, 3)
+
+ // Not
+
+ Store(Not(Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 8, Local0, 0xfffffffffffffcde)
+
+ Store(Not(Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 9, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Method(m32b, 1)
+ {
+ // Decrement
+ if (y501) {
+ Store(Decrement(Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 0, Local0, bi12)
+
+ Store(Decrement(Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 1, Local0, bi14)
+ }
+
+ // Increment
+ if (y501) {
+ Store(Increment(Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 2, Local0, bi13)
+
+ Store(Increment(Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 3, Local0, bi15)
+ }
+
+ // FindSetLeftBit
+
+ Store(FindSetLeftBit(Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 4, Local0, 10)
+
+ Store(FindSetLeftBit(Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 5, Local0, 32)
+
+ // FindSetRightBit
+
+ Store(FindSetRightBit(Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 6, Local0, 1)
+
+ Store(FindSetRightBit(Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 7, Local0, 2)
+
+ // Not
+
+ Store(Not(Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 8, Local0, 0xfffffcde)
+
+ Store(Not(Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 9, Local0, 0x3e864c01)
+ }
+
+ // String to Integer conversion of the String sole operand
+ // of the LNot Logical Integer operator
+ Method(m000, 1)
+ {
+ Store(LNot(Derefof(m604(2, 2, 0, 1))), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LNot(Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ if (F64) {
+ Store(LNot(Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 2, Local0, Zero)
+ } else {
+ Store(LNot(Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 3, Local0, Zero)
+ }
+ }
+
+ // String to Integer conversion of the String sole operand
+ // of the FromBCD and ToBCD conversion operators
+
+ Method(m64c, 1)
+ {
+ // FromBCD
+
+ Store(FromBCD(Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 2, Local0, 0x141)
+
+ Store(FromBCD(Derefof(m604(2, 2, 21, 1))), Local0)
+ m600(arg0, 3, Local0, 0xd76162ee9ec35)
+
+ FromBCD(Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 2, Local0, 0x141)
+
+ FromBCD(Derefof(m604(2, 2, 21, 1)), Local0)
+ m600(arg0, 3, Local0, 0xd76162ee9ec35)
+
+ // ToBCD
+
+ Store(ToBCD(Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 4, Local0, 0x801)
+
+/* Error of iASL on constant folding
+ Store(ToBCD(Derefof(m604(2, 2, 22, 1))), Local0)
+ m600(arg0, 5, Local0, 0x3789012345678901)
+*/
+
+ ToBCD(Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 4, Local0, 0x801)
+
+ ToBCD(Derefof(m604(2, 2, 22, 1)), Local0)
+ m600(arg0, 5, Local0, 0x3789012345678901)
+ }
+
+ Method(m32c, 1)
+ {
+ // FromBCD
+
+ Store(FromBCD(Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 2, Local0, 0x141)
+
+ Store(FromBCD(Derefof(m604(2, 2, 23, 1))), Local0)
+ m600(arg0, 3, Local0, 0x55f2cc0)
+
+ FromBCD(Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 2, Local0, 0x141)
+
+ FromBCD(Derefof(m604(2, 2, 23, 1)), Local0)
+ m600(arg0, 3, Local0, 0x55f2cc0)
+
+ // ToBCD
+
+ Store(ToBCD(Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 4, Local0, 0x801)
+
+ Store(ToBCD(Derefof(m604(2, 2, 24, 1))), Local0)
+ m600(arg0, 5, Local0, 0x90123456)
+
+ ToBCD(Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 4, Local0, 0x801)
+
+ ToBCD(Derefof(m604(2, 2, 24, 1)), Local0)
+ m600(arg0, 5, Local0, 0x90123456)
+ }
+
+ // String to Integer conversion of each String operand
+ // of the 2-parameter Integer arithmetic operators
+ // Add, And, Divide, Mod, Multiply, NAnd, NOr, Or,
+ // ShiftLeft, ShiftRight, Subtract, Xor
+
+ // Add, common 32-bit/64-bit test
+ Method(m001, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Add(Derefof(m604(2, 2, 1, 1)), 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Add(Derefof(m604(2, 2, 1, 1)), 1), Local0)
+ m600(arg0, 1, Local0, 0x322)
+
+ Store(Add(Derefof(m604(2, 2, 1, 1)), aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Add(Derefof(m604(2, 2, 1, 1)), aui6), Local0)
+ m600(arg0, 3, Local0, 0x322)
+
+ if (y078) {
+ Store(Add(Derefof(m604(2, 2, 1, 1)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Add(Derefof(m604(2, 2, 1, 1)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x322)
+ }
+
+ Store(Add(Derefof(m604(2, 2, 1, 1)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Add(Derefof(m604(2, 2, 1, 1)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x322)
+
+ // Method returns Integer
+
+ Store(Add(Derefof(m604(2, 2, 1, 1)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Add(Derefof(m604(2, 2, 1, 1)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x322)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(Derefof(m604(2, 2, 1, 1)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Add(Derefof(m604(2, 2, 1, 1)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x322)
+ }
+
+ Add(Derefof(m604(2, 2, 1, 1)), 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Add(Derefof(m604(2, 2, 1, 1)), 1, Local0)
+ m600(arg0, 13, Local0, 0x322)
+
+ Add(Derefof(m604(2, 2, 1, 1)), aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Add(Derefof(m604(2, 2, 1, 1)), aui6, Local0)
+ m600(arg0, 15, Local0, 0x322)
+
+ if (y078) {
+ Add(Derefof(m604(2, 2, 1, 1)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Add(Derefof(m604(2, 2, 1, 1)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x322)
+ }
+
+ Add(Derefof(m604(2, 2, 1, 1)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Add(Derefof(m604(2, 2, 1, 1)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x322)
+
+ // Method returns Integer
+
+ Add(Derefof(m604(2, 2, 1, 1)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Add(Derefof(m604(2, 2, 1, 1)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x322)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(Derefof(m604(2, 2, 1, 1)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Add(Derefof(m604(2, 2, 1, 1)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x322)
+ }
+
+ // Conversion of the second operand
+
+ Store(Add(0, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 24, Local0, 0x321)
+
+ Store(Add(1, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 25, Local0, 0x322)
+
+ Store(Add(aui5, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 26, Local0, 0x321)
+
+ Store(Add(aui6, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 27, Local0, 0x322)
+
+ if (y078) {
+ Store(Add(Derefof(Refof(aui5)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 28, Local0, 0x321)
+
+ Store(Add(Derefof(Refof(aui6)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 29, Local0, 0x322)
+ }
+
+ Store(Add(Derefof(Index(paui, 5)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 30, Local0, 0x321)
+
+ Store(Add(Derefof(Index(paui, 6)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 31, Local0, 0x322)
+
+ // Method returns Integer
+
+ Store(Add(m601(1, 5), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 32, Local0, 0x321)
+
+ Store(Add(m601(1, 6), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 33, Local0, 0x322)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(Derefof(m602(1, 5, 1)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 34, Local0, 0x321)
+
+ Store(Add(Derefof(m602(1, 6, 1)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 35, Local0, 0x322)
+ }
+
+ Add(0, Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 36, Local0, 0x321)
+
+ Add(1, Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 37, Local0, 0x322)
+
+ Add(aui5, Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 38, Local0, 0x321)
+
+ Add(aui6, Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 39, Local0, 0x322)
+
+ if (y078) {
+ Add(Derefof(Refof(aui5)), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 40, Local0, 0x321)
+
+ Add(Derefof(Refof(aui6)), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 41, Local0, 0x322)
+ }
+
+ Add(Derefof(Index(paui, 5)), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 42, Local0, 0x321)
+
+ Add(Derefof(Index(paui, 6)), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 43, Local0, 0x322)
+
+ // Method returns Integer
+
+ Add(m601(1, 5), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 44, Local0, 0x321)
+
+ Add(m601(1, 6), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 45, Local0, 0x322)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(Derefof(m602(1, 5, 1)), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 46, Local0, 0x321)
+
+ Add(Derefof(m602(1, 6, 1)), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 47, Local0, 0x322)
+ }
+ }
+
+ // Add, 64-bit
+ Method(m002, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Add(Derefof(m604(2, 2, 5, 1)), 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(m604(2, 2, 5, 1)), 1), Local0)
+ m600(arg0, 1, Local0, 0xfe7cb391d650a285)
+
+ Store(Add(Derefof(m604(2, 2, 5, 1)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(m604(2, 2, 5, 1)), aui6), Local0)
+ m600(arg0, 3, Local0, 0xfe7cb391d650a285)
+
+ if (y078) {
+ Store(Add(Derefof(m604(2, 2, 5, 1)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(m604(2, 2, 5, 1)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xfe7cb391d650a285)
+ }
+
+ Store(Add(Derefof(m604(2, 2, 5, 1)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(m604(2, 2, 5, 1)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Integer
+
+ Store(Add(Derefof(m604(2, 2, 5, 1)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(m604(2, 2, 5, 1)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(Derefof(m604(2, 2, 5, 1)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(m604(2, 2, 5, 1)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfe7cb391d650a285)
+ }
+
+ Add(Derefof(m604(2, 2, 5, 1)), 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(m604(2, 2, 5, 1)), 1, Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a285)
+
+ Add(Derefof(m604(2, 2, 5, 1)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(m604(2, 2, 5, 1)), aui6, Local0)
+ m600(arg0, 15, Local0, 0xfe7cb391d650a285)
+
+ if (y078) {
+ Add(Derefof(m604(2, 2, 5, 1)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(m604(2, 2, 5, 1)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xfe7cb391d650a285)
+ }
+
+ Add(Derefof(m604(2, 2, 5, 1)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(m604(2, 2, 5, 1)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Integer
+
+ Add(Derefof(m604(2, 2, 5, 1)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(m604(2, 2, 5, 1)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(Derefof(m604(2, 2, 5, 1)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(m604(2, 2, 5, 1)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfe7cb391d650a285)
+ }
+
+ // Conversion of the second operand
+
+ Store(Add(0, Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 24, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(1, Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 25, Local0, 0xfe7cb391d650a285)
+
+ Store(Add(aui5, Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 26, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(aui6, Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 27, Local0, 0xfe7cb391d650a285)
+
+ if (y078) {
+ Store(Add(Derefof(Refof(aui5)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 28, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(Refof(aui6)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 29, Local0, 0xfe7cb391d650a285)
+ }
+
+ Store(Add(Derefof(Index(paui, 5)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 30, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(Index(paui, 6)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 31, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Integer
+
+ Store(Add(m601(1, 5), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 32, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(m601(1, 6), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 33, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(Derefof(m602(1, 5, 1)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 34, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(m602(1, 6, 1)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 35, Local0, 0xfe7cb391d650a285)
+ }
+
+ Add(0, Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 36, Local0, 0xfe7cb391d650a284)
+
+ Add(1, Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 37, Local0, 0xfe7cb391d650a285)
+
+ Add(aui5, Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 38, Local0, 0xfe7cb391d650a284)
+
+ Add(aui6, Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 39, Local0, 0xfe7cb391d650a285)
+
+ if (y078) {
+ Add(Derefof(Refof(aui5)), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 40, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(Refof(aui6)), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 41, Local0, 0xfe7cb391d650a285)
+ }
+
+ Add(Derefof(Index(paui, 5)), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 42, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(Index(paui, 6)), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 43, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Integer
+
+ Add(m601(1, 5), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 44, Local0, 0xfe7cb391d650a284)
+
+ Add(m601(1, 6), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 45, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(Derefof(m602(1, 5, 1)), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 46, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(m602(1, 6, 1)), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 47, Local0, 0xfe7cb391d650a285)
+ }
+
+ // Conversion of the both operands
+
+ Store(Add(Derefof(m604(2, 2, 1, 1)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 48, Local0, 0xfe7cb391d650a5a5)
+
+ Store(Add(Derefof(m604(2, 2, 5, 1)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 49, Local0, 0xfe7cb391d650a5a5)
+
+ Add(Derefof(m604(2, 2, 1, 1)), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 50, Local0, 0xfe7cb391d650a5a5)
+
+ Add(Derefof(m604(2, 2, 5, 1)), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 51, Local0, 0xfe7cb391d650a5a5)
+ }
+
+ // Add, 32-bit
+ Method(m003, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Add(Derefof(m604(2, 2, 4, 1)), 0), Local0)
+ m600(arg0, 0, Local0, 0xc179b3fe)
+
+ Store(Add(Derefof(m604(2, 2, 4, 1)), 1), Local0)
+ m600(arg0, 1, Local0, 0xc179b3ff)
+
+ Store(Add(Derefof(m604(2, 2, 4, 1)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xc179b3fe)
+
+ Store(Add(Derefof(m604(2, 2, 4, 1)), aui6), Local0)
+ m600(arg0, 3, Local0, 0xc179b3ff)
+
+ if (y078) {
+ Store(Add(Derefof(m604(2, 2, 4, 1)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xc179b3fe)
+
+ Store(Add(Derefof(m604(2, 2, 4, 1)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xc179b3ff)
+ }
+
+ Store(Add(Derefof(m604(2, 2, 4, 1)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xc179b3fe)
+
+ Store(Add(Derefof(m604(2, 2, 4, 1)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xc179b3ff)
+
+ // Method returns Integer
+
+ Store(Add(Derefof(m604(2, 2, 4, 1)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xc179b3fe)
+
+ Store(Add(Derefof(m604(2, 2, 4, 1)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xc179b3ff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(Derefof(m604(2, 2, 4, 1)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xc179b3fe)
+
+ Store(Add(Derefof(m604(2, 2, 4, 1)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xc179b3ff)
+ }
+
+ Add(Derefof(m604(2, 2, 4, 1)), 0, Local0)
+ m600(arg0, 12, Local0, 0xc179b3fe)
+
+ Add(Derefof(m604(2, 2, 4, 1)), 1, Local0)
+ m600(arg0, 13, Local0, 0xc179b3ff)
+
+ Add(Derefof(m604(2, 2, 4, 1)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xc179b3fe)
+
+ Add(Derefof(m604(2, 2, 4, 1)), aui6, Local0)
+ m600(arg0, 15, Local0, 0xc179b3ff)
+
+ if (y078) {
+ Add(Derefof(m604(2, 2, 4, 1)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xc179b3fe)
+
+ Add(Derefof(m604(2, 2, 4, 1)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xc179b3ff)
+ }
+
+ Add(Derefof(m604(2, 2, 4, 1)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xc179b3fe)
+
+ Add(Derefof(m604(2, 2, 4, 1)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xc179b3ff)
+
+ // Method returns Integer
+
+ Add(Derefof(m604(2, 2, 4, 1)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xc179b3fe)
+
+ Add(Derefof(m604(2, 2, 4, 1)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xc179b3ff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(Derefof(m604(2, 2, 4, 1)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xc179b3fe)
+
+ Add(Derefof(m604(2, 2, 4, 1)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xc179b3ff)
+ }
+
+ // Conversion of the second operand
+
+ Store(Add(0, Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 24, Local0, 0xc179b3fe)
+
+ Store(Add(1, Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 25, Local0, 0xc179b3ff)
+
+ Store(Add(aui5, Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 26, Local0, 0xc179b3fe)
+
+ Store(Add(aui6, Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 27, Local0, 0xc179b3ff)
+
+ if (y078) {
+ Store(Add(Derefof(Refof(aui5)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 28, Local0, 0xc179b3fe)
+
+ Store(Add(Derefof(Refof(aui6)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 29, Local0, 0xc179b3ff)
+ }
+
+ Store(Add(Derefof(Index(paui, 5)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 30, Local0, 0xc179b3fe)
+
+ Store(Add(Derefof(Index(paui, 6)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 31, Local0, 0xc179b3ff)
+
+ // Method returns Integer
+
+ Store(Add(m601(1, 5), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 32, Local0, 0xc179b3fe)
+
+ Store(Add(m601(1, 6), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 33, Local0, 0xc179b3ff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(Derefof(m602(1, 5, 1)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 34, Local0, 0xc179b3fe)
+
+ Store(Add(Derefof(m602(1, 6, 1)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 35, Local0, 0xc179b3ff)
+ }
+
+ Add(0, Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 36, Local0, 0xc179b3fe)
+
+ Add(1, Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 37, Local0, 0xc179b3ff)
+
+ Add(aui5, Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 38, Local0, 0xc179b3fe)
+
+ Add(aui6, Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 39, Local0, 0xc179b3ff)
+
+ if (y078) {
+ Add(Derefof(Refof(aui5)), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 40, Local0, 0xc179b3fe)
+
+ Add(Derefof(Refof(aui6)), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 41, Local0, 0xc179b3ff)
+ }
+
+ Add(Derefof(Index(paui, 5)), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 42, Local0, 0xc179b3fe)
+
+ Add(Derefof(Index(paui, 6)), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 43, Local0, 0xc179b3ff)
+
+ // Method returns Integer
+
+ Add(m601(1, 5), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 44, Local0, 0xc179b3fe)
+
+ Add(m601(1, 6), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 45, Local0, 0xc179b3ff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(Derefof(m602(1, 5, 1)), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 46, Local0, 0xc179b3fe)
+
+ Add(Derefof(m602(1, 6, 1)), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 47, Local0, 0xc179b3ff)
+ }
+
+ // Conversion of the both operands
+
+ Store(Add(Derefof(m604(2, 2, 1, 1)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 48, Local0, 0xc179b71f)
+
+ Store(Add(Derefof(m604(2, 2, 4, 1)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 49, Local0, 0xc179b71f)
+
+ Add(Derefof(m604(2, 2, 1, 1)), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 50, Local0, 0xc179b71f)
+
+ Add(Derefof(m604(2, 2, 4, 1)), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 51, Local0, 0xc179b71f)
+ }
+
+ // And, common 32-bit/64-bit test
+ Method(m004, 1)
+ {
+ // Conversion of the first operand
+
+ Store(And(Derefof(m604(2, 2, 1, 1)), 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(And(Derefof(m604(2, 2, 1, 1)), 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0x321)
+
+ Store(And(Derefof(m604(2, 2, 1, 1)), aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(And(Derefof(m604(2, 2, 1, 1)), auij), Local0)
+ m600(arg0, 3, Local0, 0x321)
+
+ if (y078) {
+ Store(And(Derefof(m604(2, 2, 1, 1)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(And(Derefof(m604(2, 2, 1, 1)), Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0x321)
+ }
+
+ Store(And(Derefof(m604(2, 2, 1, 1)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(And(Derefof(m604(2, 2, 1, 1)), Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0x321)
+
+ // Method returns Integer
+
+ Store(And(Derefof(m604(2, 2, 1, 1)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(And(Derefof(m604(2, 2, 1, 1)), m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(Derefof(m604(2, 2, 1, 1)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(And(Derefof(m604(2, 2, 1, 1)), Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0x321)
+ }
+
+ And(Derefof(m604(2, 2, 1, 1)), 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ And(Derefof(m604(2, 2, 1, 1)), 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0x321)
+
+ And(Derefof(m604(2, 2, 1, 1)), aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ And(Derefof(m604(2, 2, 1, 1)), auij, Local0)
+ m600(arg0, 15, Local0, 0x321)
+
+ if (y078) {
+ And(Derefof(m604(2, 2, 1, 1)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ And(Derefof(m604(2, 2, 1, 1)), Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0x321)
+ }
+
+ And(Derefof(m604(2, 2, 1, 1)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ And(Derefof(m604(2, 2, 1, 1)), Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0x321)
+
+ // Method returns Integer
+
+ And(Derefof(m604(2, 2, 1, 1)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ And(Derefof(m604(2, 2, 1, 1)), m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(Derefof(m604(2, 2, 1, 1)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ And(Derefof(m604(2, 2, 1, 1)), Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0x321)
+ }
+
+ // Conversion of the second operand
+
+ Store(And(0, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(And(0xffffffffffffffff, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 25, Local0, 0x321)
+
+ Store(And(aui5, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(And(auij, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 27, Local0, 0x321)
+
+ if (y078) {
+ Store(And(Derefof(Refof(aui5)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(And(Derefof(Refof(auij)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 29, Local0, 0x321)
+ }
+
+ Store(And(Derefof(Index(paui, 5)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(And(Derefof(Index(paui, 19)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 31, Local0, 0x321)
+
+ // Method returns Integer
+
+ Store(And(m601(1, 5), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(And(m601(1, 19), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 33, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(Derefof(m602(1, 5, 1)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(And(Derefof(m602(1, 19, 1)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 35, Local0, 0x321)
+ }
+
+ And(0, Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ And(0xffffffffffffffff, Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 37, Local0, 0x321)
+
+ And(aui5, Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ And(auij, Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 39, Local0, 0x321)
+
+ if (y078) {
+ And(Derefof(Refof(aui5)), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ And(Derefof(Refof(auij)), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 41, Local0, 0x321)
+ }
+
+ And(Derefof(Index(paui, 5)), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ And(Derefof(Index(paui, 19)), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 43, Local0, 0x321)
+
+ // Method returns Integer
+
+ And(m601(1, 5), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ And(m601(1, 19), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 45, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(Derefof(m602(1, 5, 1)), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ And(Derefof(m602(1, 19, 1)), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 47, Local0, 0x321)
+ }
+ }
+
+ // And, 64-bit
+ Method(m005, 1)
+ {
+ // Conversion of the first operand
+
+ Store(And(Derefof(m604(2, 2, 5, 1)), 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(And(Derefof(m604(2, 2, 5, 1)), 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xfe7cb391d650a284)
+
+ Store(And(Derefof(m604(2, 2, 5, 1)), aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(And(Derefof(m604(2, 2, 5, 1)), auij), Local0)
+ m600(arg0, 3, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Store(And(Derefof(m604(2, 2, 5, 1)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(And(Derefof(m604(2, 2, 5, 1)), Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xfe7cb391d650a284)
+ }
+
+ Store(And(Derefof(m604(2, 2, 5, 1)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(And(Derefof(m604(2, 2, 5, 1)), Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Store(And(Derefof(m604(2, 2, 5, 1)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(And(Derefof(m604(2, 2, 5, 1)), m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(Derefof(m604(2, 2, 5, 1)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(And(Derefof(m604(2, 2, 5, 1)), Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfe7cb391d650a284)
+ }
+
+ And(Derefof(m604(2, 2, 5, 1)), 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ And(Derefof(m604(2, 2, 5, 1)), 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a284)
+
+ And(Derefof(m604(2, 2, 5, 1)), aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ And(Derefof(m604(2, 2, 5, 1)), auij, Local0)
+ m600(arg0, 15, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ And(Derefof(m604(2, 2, 5, 1)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ And(Derefof(m604(2, 2, 5, 1)), Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xfe7cb391d650a284)
+ }
+
+ And(Derefof(m604(2, 2, 5, 1)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ And(Derefof(m604(2, 2, 5, 1)), Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ And(Derefof(m604(2, 2, 5, 1)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ And(Derefof(m604(2, 2, 5, 1)), m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(Derefof(m604(2, 2, 5, 1)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ And(Derefof(m604(2, 2, 5, 1)), Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfe7cb391d650a284)
+ }
+
+ // Conversion of the second operand
+
+ Store(And(0, Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(And(0xffffffffffffffff, Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 25, Local0, 0xfe7cb391d650a284)
+
+ Store(And(aui5, Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(And(auij, Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 27, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Store(And(Derefof(Refof(aui5)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(And(Derefof(Refof(auij)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 29, Local0, 0xfe7cb391d650a284)
+ }
+
+ Store(And(Derefof(Index(paui, 5)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(And(Derefof(Index(paui, 19)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 31, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Store(And(m601(1, 5), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(And(m601(1, 19), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 33, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(Derefof(m602(1, 5, 1)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(And(Derefof(m602(1, 19, 1)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 35, Local0, 0xfe7cb391d650a284)
+ }
+
+ And(0, Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ And(0xffffffffffffffff, Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 37, Local0, 0xfe7cb391d650a284)
+
+ And(aui5, Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ And(auij, Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 39, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ And(Derefof(Refof(aui5)), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ And(Derefof(Refof(auij)), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 41, Local0, 0xfe7cb391d650a284)
+ }
+
+ And(Derefof(Index(paui, 5)), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ And(Derefof(Index(paui, 19)), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 43, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ And(m601(1, 5), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ And(m601(1, 19), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 45, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(Derefof(m602(1, 5, 1)), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ And(Derefof(m602(1, 19, 1)), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 47, Local0, 0xfe7cb391d650a284)
+ }
+
+ // Conversion of the both operands
+
+ Store(And(Derefof(m604(2, 2, 1, 1)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 48, Local0, 0x200)
+
+ Store(And(Derefof(m604(2, 2, 5, 1)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 49, Local0, 0x200)
+
+ And(Derefof(m604(2, 2, 1, 1)), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 50, Local0, 0x200)
+
+ And(Derefof(m604(2, 2, 5, 1)), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 51, Local0, 0x200)
+ }
+
+ // And, 32-bit
+ Method(m006, 1)
+ {
+ // Conversion of the first operand
+
+ Store(And(Derefof(m604(2, 2, 4, 1)), 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(And(Derefof(m604(2, 2, 4, 1)), 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0xc179b3fe)
+
+ Store(And(Derefof(m604(2, 2, 4, 1)), aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(And(Derefof(m604(2, 2, 4, 1)), auii), Local0)
+ m600(arg0, 3, Local0, 0xc179b3fe)
+
+ if (y078) {
+ Store(And(Derefof(m604(2, 2, 4, 1)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(And(Derefof(m604(2, 2, 4, 1)), Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0xc179b3fe)
+ }
+
+ Store(And(Derefof(m604(2, 2, 4, 1)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(And(Derefof(m604(2, 2, 4, 1)), Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0xc179b3fe)
+
+ // Method returns Integer
+
+ Store(And(Derefof(m604(2, 2, 4, 1)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(And(Derefof(m604(2, 2, 4, 1)), m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0xc179b3fe)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(Derefof(m604(2, 2, 4, 1)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(And(Derefof(m604(2, 2, 4, 1)), Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0xc179b3fe)
+ }
+
+ And(Derefof(m604(2, 2, 4, 1)), 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ And(Derefof(m604(2, 2, 4, 1)), 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0xc179b3fe)
+
+ And(Derefof(m604(2, 2, 4, 1)), aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ And(Derefof(m604(2, 2, 4, 1)), auii, Local0)
+ m600(arg0, 15, Local0, 0xc179b3fe)
+
+ if (y078) {
+ And(Derefof(m604(2, 2, 4, 1)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ And(Derefof(m604(2, 2, 4, 1)), Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0xc179b3fe)
+ }
+
+ And(Derefof(m604(2, 2, 4, 1)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ And(Derefof(m604(2, 2, 4, 1)), Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0xc179b3fe)
+
+ // Method returns Integer
+
+ And(Derefof(m604(2, 2, 4, 1)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ And(Derefof(m604(2, 2, 4, 1)), m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0xc179b3fe)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(Derefof(m604(2, 2, 4, 1)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ And(Derefof(m604(2, 2, 4, 1)), Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0xc179b3fe)
+ }
+
+ // Conversion of the second operand
+
+ Store(And(0, Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(And(0xffffffff, Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 25, Local0, 0xc179b3fe)
+
+ Store(And(aui5, Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(And(auii, Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 27, Local0, 0xc179b3fe)
+
+ if (y078) {
+ Store(And(Derefof(Refof(aui5)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(And(Derefof(Refof(auii)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 29, Local0, 0xc179b3fe)
+ }
+
+ Store(And(Derefof(Index(paui, 5)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(And(Derefof(Index(paui, 18)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 31, Local0, 0xc179b3fe)
+
+ // Method returns Integer
+
+ Store(And(m601(1, 5), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(And(m601(1, 18), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 33, Local0, 0xc179b3fe)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(Derefof(m602(1, 5, 1)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(And(Derefof(m602(1, 18, 1)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 35, Local0, 0xc179b3fe)
+ }
+
+ And(0, Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ And(0xffffffff, Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 37, Local0, 0xc179b3fe)
+
+ And(aui5, Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ And(auii, Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 39, Local0, 0xc179b3fe)
+
+ if (y078) {
+ And(Derefof(Refof(aui5)), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ And(Derefof(Refof(auii)), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 41, Local0, 0xc179b3fe)
+ }
+
+ And(Derefof(Index(paui, 5)), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ And(Derefof(Index(paui, 18)), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 43, Local0, 0xc179b3fe)
+
+ // Method returns Integer
+
+ And(m601(1, 5), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ And(m601(1, 18), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 45, Local0, 0xc179b3fe)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(Derefof(m602(1, 5, 1)), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ And(Derefof(m602(1, 18, 1)), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 47, Local0, 0xc179b3fe)
+ }
+
+ // Conversion of the both operands
+
+ Store(And(Derefof(m604(2, 2, 1, 1)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 48, Local0, 0x320)
+
+ Store(And(Derefof(m604(2, 2, 4, 1)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 49, Local0, 0x320)
+
+ And(Derefof(m604(2, 2, 1, 1)), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 50, Local0, 0x320)
+
+ And(Derefof(m604(2, 2, 4, 1)), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 51, Local0, 0x320)
+ }
+
+ // Divide, common 32-bit/64-bit test
+ Method(m007, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Divide(Derefof(m604(2, 2, 1, 1)), 1), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Divide(Derefof(m604(2, 2, 1, 1)), 0x321), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Divide(Derefof(m604(2, 2, 1, 1)), aui6), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Divide(Derefof(m604(2, 2, 1, 1)), aui1), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Divide(Derefof(m604(2, 2, 1, 1)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Divide(Derefof(m604(2, 2, 1, 1)), Derefof(Refof(aui1))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Divide(Derefof(m604(2, 2, 1, 1)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Divide(Derefof(m604(2, 2, 1, 1)), Derefof(Index(paui, 1))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(Derefof(m604(2, 2, 1, 1)), m601(1, 6)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Divide(Derefof(m604(2, 2, 1, 1)), m601(1, 1)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(Derefof(m604(2, 2, 1, 1)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Divide(Derefof(m604(2, 2, 1, 1)), Derefof(m602(1, 1, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Divide(Derefof(m604(2, 2, 1, 1)), 1, Local1, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Divide(Derefof(m604(2, 2, 1, 1)), 0x321, Local1, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Divide(Derefof(m604(2, 2, 1, 1)), aui6, Local1, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Divide(Derefof(m604(2, 2, 1, 1)), aui1, Local1, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Divide(Derefof(m604(2, 2, 1, 1)), Derefof(Refof(aui6)), Local1, Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Divide(Derefof(m604(2, 2, 1, 1)), Derefof(Refof(aui1)), Local1, Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Divide(Derefof(m604(2, 2, 1, 1)), Derefof(Index(paui, 6)), Local1, Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Divide(Derefof(m604(2, 2, 1, 1)), Derefof(Index(paui, 1)), Local1, Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(Derefof(m604(2, 2, 1, 1)), m601(1, 6), Local1, Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Divide(Derefof(m604(2, 2, 1, 1)), m601(1, 1), Local1, Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(Derefof(m604(2, 2, 1, 1)), Derefof(m602(1, 6, 1)), Local1, Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Divide(Derefof(m604(2, 2, 1, 1)), Derefof(m602(1, 1, 1)), Local1, Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Divide(1, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Divide(0x321, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 25, Local0, 1)
+
+ Store(Divide(aui6, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Divide(aui1, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 27, Local0, 1)
+
+ if (y078) {
+ Store(Divide(Derefof(Refof(aui6)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Divide(Derefof(Refof(aui1)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 29, Local0, 1)
+ }
+
+ Store(Divide(Derefof(Index(paui, 6)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Divide(Derefof(Index(paui, 1)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 31, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(m601(1, 6), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Divide(m601(1, 1), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 33, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(Derefof(m602(1, 6, 1)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Divide(Derefof(m602(1, 1, 1)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 35, Local0, 1)
+ }
+
+ Divide(1, Derefof(m604(2, 2, 1, 1)), Local1, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Divide(0x321, Derefof(m604(2, 2, 1, 1)), Local1, Local0)
+ m600(arg0, 37, Local0, 1)
+
+ Divide(aui6, Derefof(m604(2, 2, 1, 1)), Local1, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Divide(aui1, Derefof(m604(2, 2, 1, 1)), Local1, Local0)
+ m600(arg0, 39, Local0, 1)
+
+ if (y078) {
+ Divide(Derefof(Refof(aui6)), Derefof(m604(2, 2, 1, 1)), Local1, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Divide(Derefof(Refof(aui1)), Derefof(m604(2, 2, 1, 1)), Local1, Local0)
+ m600(arg0, 41, Local0, 1)
+ }
+
+ Divide(Derefof(Index(paui, 6)), Derefof(m604(2, 2, 1, 1)), Local1, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Divide(Derefof(Index(paui, 1)), Derefof(m604(2, 2, 1, 1)), Local1, Local0)
+ m600(arg0, 43, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(m601(1, 6), Derefof(m604(2, 2, 1, 1)), Local1, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Divide(m601(1, 1), Derefof(m604(2, 2, 1, 1)), Local1, Local0)
+ m600(arg0, 45, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(Derefof(m602(1, 6, 1)), Derefof(m604(2, 2, 1, 1)), Local1, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Divide(Derefof(m602(1, 1, 1)), Derefof(m604(2, 2, 1, 1)), Local1, Local0)
+ m600(arg0, 47, Local0, 1)
+ }
+ }
+
+ // Divide, 64-bit
+ Method(m008, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Divide(Derefof(m604(2, 2, 5, 1)), 1), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(Derefof(m604(2, 2, 5, 1)), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Divide(Derefof(m604(2, 2, 5, 1)), aui6), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(Derefof(m604(2, 2, 5, 1)), aui4), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Divide(Derefof(m604(2, 2, 5, 1)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(Derefof(m604(2, 2, 5, 1)), Derefof(Refof(aui4))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Divide(Derefof(m604(2, 2, 5, 1)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(Derefof(m604(2, 2, 5, 1)), Derefof(Index(paui, 4))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(Derefof(m604(2, 2, 5, 1)), m601(1, 6)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(Derefof(m604(2, 2, 5, 1)), m601(1, 4)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(Derefof(m604(2, 2, 5, 1)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(Derefof(m604(2, 2, 5, 1)), Derefof(m602(1, 4, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Divide(Derefof(m604(2, 2, 5, 1)), 1, Local1, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Divide(Derefof(m604(2, 2, 5, 1)), 0xfe7cb391d650a284, Local1, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Divide(Derefof(m604(2, 2, 5, 1)), aui6, Local1, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Divide(Derefof(m604(2, 2, 5, 1)), aui4, Local1, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Divide(Derefof(m604(2, 2, 5, 1)), Derefof(Refof(aui6)), Local1, Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Divide(Derefof(m604(2, 2, 5, 1)), Derefof(Refof(aui4)), Local1, Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Divide(Derefof(m604(2, 2, 5, 1)), Derefof(Index(paui, 6)), Local1, Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Divide(Derefof(m604(2, 2, 5, 1)), Derefof(Index(paui, 4)), Local1, Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(Derefof(m604(2, 2, 5, 1)), m601(1, 6), Local1, Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Divide(Derefof(m604(2, 2, 5, 1)), m601(1, 4), Local1, Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(Derefof(m604(2, 2, 5, 1)), Derefof(m602(1, 6, 1)), Local1, Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Divide(Derefof(m604(2, 2, 5, 1)), Derefof(m602(1, 4, 1)), Local1, Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Divide(1, Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Divide(0xfe7cb391d650a284, Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 25, Local0, 1)
+
+ Store(Divide(aui6, Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Divide(aui4, Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 27, Local0, 1)
+
+ if (y078) {
+ Store(Divide(Derefof(Refof(aui6)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Divide(Derefof(Refof(aui4)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 29, Local0, 1)
+ }
+
+ Store(Divide(Derefof(Index(paui, 6)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Divide(Derefof(Index(paui, 4)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 31, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(m601(1, 6), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Divide(m601(1, 4), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 33, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(Derefof(m602(1, 6, 1)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Divide(Derefof(m602(1, 4, 1)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 35, Local0, 1)
+ }
+
+ Divide(1, Derefof(m604(2, 2, 5, 1)), Local1, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Divide(0xfe7cb391d650a284, Derefof(m604(2, 2, 5, 1)), Local1, Local0)
+ m600(arg0, 37, Local0, 1)
+
+ Divide(aui6, Derefof(m604(2, 2, 5, 1)), Local1, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Divide(aui4, Derefof(m604(2, 2, 5, 1)), Local1, Local0)
+ m600(arg0, 39, Local0, 1)
+
+ if (y078) {
+ Divide(Derefof(Refof(aui6)), Derefof(m604(2, 2, 5, 1)), Local1, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Divide(Derefof(Refof(aui4)), Derefof(m604(2, 2, 5, 1)), Local1, Local0)
+ m600(arg0, 41, Local0, 1)
+ }
+
+ Divide(Derefof(Index(paui, 6)), Derefof(m604(2, 2, 5, 1)), Local1, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Divide(Derefof(Index(paui, 4)), Derefof(m604(2, 2, 5, 1)), Local1, Local0)
+ m600(arg0, 43, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(m601(1, 6), Derefof(m604(2, 2, 5, 1)), Local1, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Divide(m601(1, 4), Derefof(m604(2, 2, 5, 1)), Local1, Local0)
+ m600(arg0, 45, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(Derefof(m602(1, 6, 1)), Derefof(m604(2, 2, 5, 1)), Local1, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Divide(Derefof(m602(1, 4, 1)), Derefof(m604(2, 2, 5, 1)), Local1, Local0)
+ m600(arg0, 47, Local0, 1)
+ }
+
+ // Conversion of the both operands
+
+ Store(Divide(Derefof(m604(2, 2, 1, 1)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 48, Local0, 0)
+
+ Store(Divide(Derefof(m604(2, 2, 5, 1)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 49, Local0, 0x0051558eb950f5a7)
+
+ Divide(Derefof(m604(2, 2, 1, 1)), Derefof(m604(2, 2, 5, 1)), Local1, Local0)
+ m600(arg0, 50, Local0, 0)
+
+ Divide(Derefof(m604(2, 2, 5, 1)), Derefof(m604(2, 2, 1, 1)), Local1, Local0)
+ m600(arg0, 51, Local0, 0x0051558eb950f5a7)
+ }
+
+ // Divide, 32-bit
+ Method(m009, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Divide(Derefof(m604(2, 2, 4, 1)), 1), Local0)
+ m600(arg0, 0, Local0, 0xc179b3fe)
+
+ Store(Divide(Derefof(m604(2, 2, 4, 1)), 0xc179b3fe), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Divide(Derefof(m604(2, 2, 4, 1)), aui6), Local0)
+ m600(arg0, 2, Local0, 0xc179b3fe)
+
+ Store(Divide(Derefof(m604(2, 2, 4, 1)), aui3), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Divide(Derefof(m604(2, 2, 4, 1)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 4, Local0, 0xc179b3fe)
+
+ Store(Divide(Derefof(m604(2, 2, 4, 1)), Derefof(Refof(aui3))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Divide(Derefof(m604(2, 2, 4, 1)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 6, Local0, 0xc179b3fe)
+
+ Store(Divide(Derefof(m604(2, 2, 4, 1)), Derefof(Index(paui, 3))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(Derefof(m604(2, 2, 4, 1)), m601(1, 6)), Local0)
+ m600(arg0, 8, Local0, 0xc179b3fe)
+
+ Store(Divide(Derefof(m604(2, 2, 4, 1)), m601(1, 3)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(Derefof(m604(2, 2, 4, 1)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 10, Local0, 0xc179b3fe)
+
+ Store(Divide(Derefof(m604(2, 2, 4, 1)), Derefof(m602(1, 3, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Divide(Derefof(m604(2, 2, 4, 1)), 1, Local1, Local0)
+ m600(arg0, 12, Local0, 0xc179b3fe)
+
+ Divide(Derefof(m604(2, 2, 4, 1)), 0xc179b3fe, Local1, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Divide(Derefof(m604(2, 2, 4, 1)), aui6, Local1, Local0)
+ m600(arg0, 14, Local0, 0xc179b3fe)
+
+ Divide(Derefof(m604(2, 2, 4, 1)), aui3, Local1, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Divide(Derefof(m604(2, 2, 4, 1)), Derefof(Refof(aui6)), Local1, Local0)
+ m600(arg0, 16, Local0, 0xc179b3fe)
+
+ Divide(Derefof(m604(2, 2, 4, 1)), Derefof(Refof(aui3)), Local1, Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Divide(Derefof(m604(2, 2, 4, 1)), Derefof(Index(paui, 6)), Local1, Local0)
+ m600(arg0, 18, Local0, 0xc179b3fe)
+
+ Divide(Derefof(m604(2, 2, 4, 1)), Derefof(Index(paui, 3)), Local1, Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(Derefof(m604(2, 2, 4, 1)), m601(1, 6), Local1, Local0)
+ m600(arg0, 20, Local0, 0xc179b3fe)
+
+ Divide(Derefof(m604(2, 2, 4, 1)), m601(1, 3), Local1, Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(Derefof(m604(2, 2, 4, 1)), Derefof(m602(1, 6, 1)), Local1, Local0)
+ m600(arg0, 22, Local0, 0xc179b3fe)
+
+ Divide(Derefof(m604(2, 2, 4, 1)), Derefof(m602(1, 3, 1)), Local1, Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Divide(1, Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Divide(0xc179b3fe, Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 25, Local0, 1)
+
+ Store(Divide(aui6, Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Divide(aui3, Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 27, Local0, 1)
+
+ if (y078) {
+ Store(Divide(Derefof(Refof(aui6)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Divide(Derefof(Refof(aui3)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 29, Local0, 1)
+ }
+
+ Store(Divide(Derefof(Index(paui, 6)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Divide(Derefof(Index(paui, 3)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 31, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(m601(1, 6), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Divide(m601(1, 3), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 33, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(Derefof(m602(1, 6, 1)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Divide(Derefof(m602(1, 3, 1)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 35, Local0, 1)
+ }
+
+ Divide(1, Derefof(m604(2, 2, 4, 1)), Local1, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Divide(0xc179b3fe, Derefof(m604(2, 2, 4, 1)), Local1, Local0)
+ m600(arg0, 37, Local0, 1)
+
+ Divide(aui6, Derefof(m604(2, 2, 4, 1)), Local1, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Divide(aui3, Derefof(m604(2, 2, 4, 1)), Local1, Local0)
+ m600(arg0, 39, Local0, 1)
+
+ if (y078) {
+ Divide(Derefof(Refof(aui6)), Derefof(m604(2, 2, 4, 1)), Local1, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Divide(Derefof(Refof(aui3)), Derefof(m604(2, 2, 4, 1)), Local1, Local0)
+ m600(arg0, 41, Local0, 1)
+ }
+
+ Divide(Derefof(Index(paui, 6)), Derefof(m604(2, 2, 4, 1)), Local1, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Divide(Derefof(Index(paui, 3)), Derefof(m604(2, 2, 4, 1)), Local1, Local0)
+ m600(arg0, 43, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(m601(1, 6), Derefof(m604(2, 2, 4, 1)), Local1, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Divide(m601(1, 3), Derefof(m604(2, 2, 4, 1)), Local1, Local0)
+ m600(arg0, 45, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(Derefof(m602(1, 6, 1)), Derefof(m604(2, 2, 4, 1)), Local1, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Divide(Derefof(m602(1, 3, 1)), Derefof(m604(2, 2, 4, 1)), Local1, Local0)
+ m600(arg0, 47, Local0, 1)
+ }
+
+ // Conversion of the both operands
+
+ Store(Divide(Derefof(m604(2, 2, 1, 1)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 48, Local0, 0)
+
+ Store(Divide(Derefof(m604(2, 2, 4, 1)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 49, Local0, 0x003dd5b7)
+
+ Divide(Derefof(m604(2, 2, 1, 1)), Derefof(m604(2, 2, 4, 1)), Local1, Local0)
+ m600(arg0, 50, Local0, 0)
+
+ Divide(Derefof(m604(2, 2, 4, 1)), Derefof(m604(2, 2, 1, 1)), Local1, Local0)
+ m600(arg0, 51, Local0, 0x003dd5b7)
+ }
+
+ // Mod, common 32-bit/64-bit test
+ Method(m00a, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Mod(Derefof(m604(2, 2, 1, 1)), 0x322), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Mod(Derefof(m604(2, 2, 1, 1)), 0x320), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Mod(Derefof(m604(2, 2, 1, 1)), auig), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Mod(Derefof(m604(2, 2, 1, 1)), auih), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Mod(Derefof(m604(2, 2, 1, 1)), Derefof(Refof(auig))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Mod(Derefof(m604(2, 2, 1, 1)), Derefof(Refof(auih))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Mod(Derefof(m604(2, 2, 1, 1)), Derefof(Index(paui, 16))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Mod(Derefof(m604(2, 2, 1, 1)), Derefof(Index(paui, 17))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Mod(Derefof(m604(2, 2, 1, 1)), m601(1, 16)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Mod(Derefof(m604(2, 2, 1, 1)), m601(1, 17)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(Derefof(m604(2, 2, 1, 1)), Derefof(m602(1, 16, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Mod(Derefof(m604(2, 2, 1, 1)), Derefof(m602(1, 17, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Mod(Derefof(m604(2, 2, 1, 1)), 0x322, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Mod(Derefof(m604(2, 2, 1, 1)), 0x320, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Mod(Derefof(m604(2, 2, 1, 1)), auig, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Mod(Derefof(m604(2, 2, 1, 1)), auih, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Mod(Derefof(m604(2, 2, 1, 1)), Derefof(Refof(auig)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Mod(Derefof(m604(2, 2, 1, 1)), Derefof(Refof(auih)), Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Mod(Derefof(m604(2, 2, 1, 1)), Derefof(Index(paui, 16)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Mod(Derefof(m604(2, 2, 1, 1)), Derefof(Index(paui, 17)), Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Mod(Derefof(m604(2, 2, 1, 1)), m601(1, 16), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Mod(Derefof(m604(2, 2, 1, 1)), m601(1, 17), Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(Derefof(m604(2, 2, 1, 1)), Derefof(m602(1, 16, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Mod(Derefof(m604(2, 2, 1, 1)), Derefof(m602(1, 17, 1)), Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Mod(0x322, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 24, Local0, 1)
+
+ Store(Mod(0x320, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 25, Local0, 0x320)
+
+ Store(Mod(auig, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 26, Local0, 1)
+
+ Store(Mod(auih, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 27, Local0, 0x320)
+
+ if (y078) {
+ Store(Mod(Derefof(Refof(auig)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 28, Local0, 1)
+
+ Store(Mod(Derefof(Refof(auih)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 29, Local0, 0x320)
+ }
+
+ Store(Mod(Derefof(Index(paui, 16)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 30, Local0, 1)
+
+ Store(Mod(Derefof(Index(paui, 17)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 31, Local0, 0x320)
+
+ // Method returns Integer
+
+ Store(Mod(m601(1, 16), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 32, Local0, 1)
+
+ Store(Mod(m601(1, 17), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 33, Local0, 0x320)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(Derefof(m602(1, 16, 1)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 34, Local0, 1)
+
+ Store(Mod(Derefof(m602(1, 17, 1)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 35, Local0, 0x320)
+ }
+
+ Mod(0x322, Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 36, Local0, 1)
+
+ Mod(0x320, Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 37, Local0, 0x320)
+
+ Mod(auig, Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 38, Local0, 1)
+
+ Mod(auih, Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 39, Local0, 0x320)
+
+ if (y078) {
+ Mod(Derefof(Refof(auig)), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 40, Local0, 1)
+
+ Mod(Derefof(Refof(auih)), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 41, Local0, 0x320)
+ }
+
+ Mod(Derefof(Index(paui, 16)), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 42, Local0, 1)
+
+ Mod(Derefof(Index(paui, 17)), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 43, Local0, 0x320)
+
+ // Method returns Integer
+
+ Mod(m601(1, 16), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 44, Local0, 1)
+
+ Mod(m601(1, 17), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 45, Local0, 0x320)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(Derefof(m602(1, 16, 1)), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 46, Local0, 1)
+
+ Mod(Derefof(m602(1, 17, 1)), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 47, Local0, 0x320)
+ }
+ }
+
+ // Mod, 64-bit
+ Method(m00b, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Mod(Derefof(m604(2, 2, 5, 1)), 0xfe7cb391d650a285), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(Derefof(m604(2, 2, 5, 1)), 0xfe7cb391d650a283), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Mod(Derefof(m604(2, 2, 5, 1)), auid), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(Derefof(m604(2, 2, 5, 1)), auif), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Mod(Derefof(m604(2, 2, 5, 1)), Derefof(Refof(auid))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(Derefof(m604(2, 2, 5, 1)), Derefof(Refof(auif))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Mod(Derefof(m604(2, 2, 5, 1)), Derefof(Index(paui, 13))), Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(Derefof(m604(2, 2, 5, 1)), Derefof(Index(paui, 15))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Mod(Derefof(m604(2, 2, 5, 1)), m601(1, 13)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(Derefof(m604(2, 2, 5, 1)), m601(1, 15)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(Derefof(m604(2, 2, 5, 1)), Derefof(m602(1, 13, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(Derefof(m604(2, 2, 5, 1)), Derefof(m602(1, 15, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Mod(Derefof(m604(2, 2, 5, 1)), 0xfe7cb391d650a285, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Mod(Derefof(m604(2, 2, 5, 1)), 0xfe7cb391d650a283, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Mod(Derefof(m604(2, 2, 5, 1)), auid, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Mod(Derefof(m604(2, 2, 5, 1)), auif, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Mod(Derefof(m604(2, 2, 5, 1)), Derefof(Refof(auid)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Mod(Derefof(m604(2, 2, 5, 1)), Derefof(Refof(auif)), Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Mod(Derefof(m604(2, 2, 5, 1)), Derefof(Index(paui, 13)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Mod(Derefof(m604(2, 2, 5, 1)), Derefof(Index(paui, 15)), Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Mod(Derefof(m604(2, 2, 5, 1)), m601(1, 13), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Mod(Derefof(m604(2, 2, 5, 1)), m601(1, 15), Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(Derefof(m604(2, 2, 5, 1)), Derefof(m602(1, 13, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Mod(Derefof(m604(2, 2, 5, 1)), Derefof(m602(1, 15, 1)), Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Mod(0xfe7cb391d650a285, Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 24, Local0, 1)
+
+ Store(Mod(0xfe7cb391d650a283, Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 25, Local0, 0xfe7cb391d650a283)
+
+ Store(Mod(auid, Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 26, Local0, 1)
+
+ Store(Mod(auif, Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 27, Local0, 0xfe7cb391d650a283)
+
+ if (y078) {
+ Store(Mod(Derefof(Refof(auid)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 28, Local0, 1)
+
+ Store(Mod(Derefof(Refof(auif)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 29, Local0, 0xfe7cb391d650a283)
+ }
+
+ Store(Mod(Derefof(Index(paui, 13)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 30, Local0, 1)
+
+ Store(Mod(Derefof(Index(paui, 15)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 31, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Integer
+
+ Store(Mod(m601(1, 13), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 32, Local0, 1)
+
+ Store(Mod(m601(1, 15), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 33, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(Derefof(m602(1, 13, 1)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 34, Local0, 1)
+
+ Store(Mod(Derefof(m602(1, 15, 1)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 35, Local0, 0xfe7cb391d650a283)
+ }
+
+ Mod(0xfe7cb391d650a285, Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 36, Local0, 1)
+
+ Mod(0xfe7cb391d650a283, Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 37, Local0, 0xfe7cb391d650a283)
+
+ Mod(auid, Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 38, Local0, 1)
+
+ Mod(auif, Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 39, Local0, 0xfe7cb391d650a283)
+
+ if (y078) {
+ Mod(Derefof(Refof(auid)), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 40, Local0, 1)
+
+ Mod(Derefof(Refof(auif)), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 41, Local0, 0xfe7cb391d650a283)
+ }
+
+ Mod(Derefof(Index(paui, 13)), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 42, Local0, 1)
+
+ Mod(Derefof(Index(paui, 15)), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 43, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Integer
+
+ Mod(m601(1, 13), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 44, Local0, 1)
+
+ Mod(m601(1, 15), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 45, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(Derefof(m602(1, 13, 1)), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 46, Local0, 1)
+
+ Mod(Derefof(m602(1, 15, 1)), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 47, Local0, 0xfe7cb391d650a283)
+ }
+
+ // Conversion of the both operands
+
+ Store(Mod(Derefof(m604(2, 2, 1, 1)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 48, Local0, 0x321)
+
+ Store(Mod(Derefof(m604(2, 2, 5, 1)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 49, Local0, 0x2fd)
+
+ Mod(Derefof(m604(2, 2, 1, 1)), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 50, Local0, 0x321)
+
+ Mod(Derefof(m604(2, 2, 5, 1)), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 51, Local0, 0x2fd)
+ }
+
+ // Mod, 32-bit
+ Method(m00c, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Mod(Derefof(m604(2, 2, 4, 1)), 0xc179b3ff), Local0)
+ m600(arg0, 0, Local0, 0xc179b3fe)
+
+ Store(Mod(Derefof(m604(2, 2, 4, 1)), 0xc179b3fd), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Mod(Derefof(m604(2, 2, 4, 1)), auic), Local0)
+ m600(arg0, 2, Local0, 0xc179b3fe)
+
+ Store(Mod(Derefof(m604(2, 2, 4, 1)), auie), Local0)
+ m600(arg0, 14, Local0, 1)
+
+ if (y078) {
+ Store(Mod(Derefof(m604(2, 2, 4, 1)), Derefof(Refof(auic))), Local0)
+ m600(arg0, 4, Local0, 0xc179b3fe)
+
+ Store(Mod(Derefof(m604(2, 2, 4, 1)), Derefof(Refof(auie))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Mod(Derefof(m604(2, 2, 4, 1)), Derefof(Index(paui, 12))), Local0)
+ m600(arg0, 12, Local0, 0xc179b3fe)
+
+ Store(Mod(Derefof(m604(2, 2, 4, 1)), Derefof(Index(paui, 14))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Mod(Derefof(m604(2, 2, 4, 1)), m601(1, 12)), Local0)
+ m600(arg0, 8, Local0, 0xc179b3fe)
+
+ Store(Mod(Derefof(m604(2, 2, 4, 1)), m601(1, 14)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(Derefof(m604(2, 2, 4, 1)), Derefof(m602(1, 12, 1))), Local0)
+ m600(arg0, 10, Local0, 0xc179b3fe)
+
+ Store(Mod(Derefof(m604(2, 2, 4, 1)), Derefof(m602(1, 14, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Mod(Derefof(m604(2, 2, 4, 1)), 0xc179b3ff, Local0)
+ m600(arg0, 12, Local0, 0xc179b3fe)
+
+ Mod(Derefof(m604(2, 2, 4, 1)), 0xc179b3fd, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Mod(Derefof(m604(2, 2, 4, 1)), auic, Local0)
+ m600(arg0, 14, Local0, 0xc179b3fe)
+
+ Mod(Derefof(m604(2, 2, 4, 1)), auie, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Mod(Derefof(m604(2, 2, 4, 1)), Derefof(Refof(auic)), Local0)
+ m600(arg0, 16, Local0, 0xc179b3fe)
+
+ Mod(Derefof(m604(2, 2, 4, 1)), Derefof(Refof(auie)), Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Mod(Derefof(m604(2, 2, 4, 1)), Derefof(Index(paui, 12)), Local0)
+ m600(arg0, 18, Local0, 0xc179b3fe)
+
+ Mod(Derefof(m604(2, 2, 4, 1)), Derefof(Index(paui, 14)), Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Mod(Derefof(m604(2, 2, 4, 1)), m601(1, 12), Local0)
+ m600(arg0, 20, Local0, 0xc179b3fe)
+
+ Mod(Derefof(m604(2, 2, 4, 1)), m601(1, 14), Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(Derefof(m604(2, 2, 4, 1)), Derefof(m602(1, 12, 1)), Local0)
+ m600(arg0, 22, Local0, 0xc179b3fe)
+
+ Mod(Derefof(m604(2, 2, 4, 1)), Derefof(m602(1, 14, 1)), Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Mod(0xc179b3ff, Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 24, Local0, 1)
+
+ Store(Mod(0xc179b3fd, Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 25, Local0, 0xc179b3fd)
+
+ Store(Mod(auic, Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 26, Local0, 1)
+
+ Store(Mod(auie, Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 27, Local0, 0xc179b3fd)
+
+ if (y078) {
+ Store(Mod(Derefof(Refof(auic)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 28, Local0, 1)
+
+ Store(Mod(Derefof(Refof(auie)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 29, Local0, 0xc179b3fd)
+ }
+
+ Store(Mod(Derefof(Index(paui, 12)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 30, Local0, 1)
+
+ Store(Mod(Derefof(Index(paui, 14)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 31, Local0, 0xc179b3fd)
+
+ // Method returns Integer
+
+ Store(Mod(m601(1, 12), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 32, Local0, 1)
+
+ Store(Mod(m601(1, 14), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 33, Local0, 0xc179b3fd)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(Derefof(m602(1, 12, 1)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 34, Local0, 1)
+
+ Store(Mod(Derefof(m602(1, 14, 1)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 35, Local0, 0xc179b3fd)
+ }
+
+ Mod(0xc179b3ff, Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 36, Local0, 1)
+
+ Mod(0xc179b3fd, Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 37, Local0, 0xc179b3fd)
+
+ Mod(auic, Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 38, Local0, 1)
+
+ Mod(auie, Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 39, Local0, 0xc179b3fd)
+
+ if (y078) {
+ Mod(Derefof(Refof(auic)), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 40, Local0, 1)
+
+ Mod(Derefof(Refof(auie)), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 41, Local0, 0xc179b3fd)
+ }
+
+ Mod(Derefof(Index(paui, 12)), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 42, Local0, 1)
+
+ Mod(Derefof(Index(paui, 14)), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 43, Local0, 0xc179b3fd)
+
+ // Method returns Integer
+
+ Mod(m601(1, 12), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 44, Local0, 1)
+
+ Mod(m601(1, 14), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 45, Local0, 0xc179b3fd)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(Derefof(m602(1, 12, 1)), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 46, Local0, 1)
+
+ Mod(Derefof(m602(1, 14, 1)), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 47, Local0, 0xc179b3fd)
+ }
+
+ // Conversion of the both operands
+
+ Store(Mod(Derefof(m604(2, 2, 1, 1)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 48, Local0, 0x321)
+
+ Store(Mod(Derefof(m604(2, 2, 4, 1)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 49, Local0, 0x267)
+
+ Mod(Derefof(m604(2, 2, 1, 1)), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 50, Local0, 0x321)
+
+ Mod(Derefof(m604(2, 2, 4, 1)), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 51, Local0, 0x267)
+ }
+
+ // Multiply, common 32-bit/64-bit test
+ Method(m00d, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Multiply(Derefof(m604(2, 2, 1, 1)), 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(Multiply(Derefof(m604(2, 2, 1, 1)), 1), Local0)
+ m600(arg0, 1, Local0, 0x321)
+
+ Store(Multiply(Derefof(m604(2, 2, 1, 1)), aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(Multiply(Derefof(m604(2, 2, 1, 1)), aui6), Local0)
+ m600(arg0, 3, Local0, 0x321)
+
+ if (y078) {
+ Store(Multiply(Derefof(m604(2, 2, 1, 1)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(Multiply(Derefof(m604(2, 2, 1, 1)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x321)
+ }
+
+ Store(Multiply(Derefof(m604(2, 2, 1, 1)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(Multiply(Derefof(m604(2, 2, 1, 1)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x321)
+
+ // Method returns Integer
+
+ Store(Multiply(Derefof(m604(2, 2, 1, 1)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(Multiply(Derefof(m604(2, 2, 1, 1)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(Derefof(m604(2, 2, 1, 1)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(Multiply(Derefof(m604(2, 2, 1, 1)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x321)
+ }
+
+ Multiply(Derefof(m604(2, 2, 1, 1)), 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ Multiply(Derefof(m604(2, 2, 1, 1)), 1, Local0)
+ m600(arg0, 13, Local0, 0x321)
+
+ Multiply(Derefof(m604(2, 2, 1, 1)), aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ Multiply(Derefof(m604(2, 2, 1, 1)), aui6, Local0)
+ m600(arg0, 15, Local0, 0x321)
+
+ if (y078) {
+ Multiply(Derefof(m604(2, 2, 1, 1)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ Multiply(Derefof(m604(2, 2, 1, 1)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x321)
+ }
+
+ Multiply(Derefof(m604(2, 2, 1, 1)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ Multiply(Derefof(m604(2, 2, 1, 1)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x321)
+
+ // Method returns Integer
+
+ Multiply(Derefof(m604(2, 2, 1, 1)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ Multiply(Derefof(m604(2, 2, 1, 1)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(Derefof(m604(2, 2, 1, 1)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ Multiply(Derefof(m604(2, 2, 1, 1)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x321)
+ }
+
+ // Conversion of the second operand
+
+ Store(Multiply(0, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Multiply(1, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 25, Local0, 0x321)
+
+ Store(Multiply(aui5, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Multiply(aui6, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 27, Local0, 0x321)
+
+ if (y078) {
+ Store(Multiply(Derefof(Refof(aui5)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(aui6)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 29, Local0, 0x321)
+ }
+
+ Store(Multiply(Derefof(Index(paui, 5)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Multiply(Derefof(Index(paui, 6)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 31, Local0, 0x321)
+
+ // Method returns Integer
+
+ Store(Multiply(m601(1, 5), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Multiply(m601(1, 6), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 33, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(Derefof(m602(1, 5, 1)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Multiply(Derefof(m602(1, 6, 1)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 35, Local0, 0x321)
+ }
+
+ Multiply(0, Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Multiply(1, Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 37, Local0, 0x321)
+
+ Multiply(aui5, Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Multiply(aui6, Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 39, Local0, 0x321)
+
+ if (y078) {
+ Multiply(Derefof(Refof(aui5)), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Multiply(Derefof(Refof(aui6)), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 41, Local0, 0x321)
+ }
+
+ Multiply(Derefof(Index(paui, 5)), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Multiply(Derefof(Index(paui, 6)), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 43, Local0, 0x321)
+
+ // Method returns Integer
+
+ Multiply(m601(1, 5), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Multiply(m601(1, 6), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 45, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(Derefof(m602(1, 5, 1)), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Multiply(Derefof(m602(1, 6, 1)), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 47, Local0, 0x321)
+ }
+ }
+
+ // Multiply, 64-bit
+ Method(m00e, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Multiply(Derefof(m604(2, 2, 5, 1)), 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(Multiply(Derefof(m604(2, 2, 5, 1)), 1), Local0)
+ m600(arg0, 1, Local0, 0xfe7cb391d650a284)
+
+ Store(Multiply(Derefof(m604(2, 2, 5, 1)), aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(Multiply(Derefof(m604(2, 2, 5, 1)), aui6), Local0)
+ m600(arg0, 3, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Store(Multiply(Derefof(m604(2, 2, 5, 1)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(Multiply(Derefof(m604(2, 2, 5, 1)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xfe7cb391d650a284)
+ }
+
+ Store(Multiply(Derefof(m604(2, 2, 5, 1)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(Multiply(Derefof(m604(2, 2, 5, 1)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Store(Multiply(Derefof(m604(2, 2, 5, 1)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(Multiply(Derefof(m604(2, 2, 5, 1)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(Derefof(m604(2, 2, 5, 1)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(Multiply(Derefof(m604(2, 2, 5, 1)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfe7cb391d650a284)
+ }
+
+ Multiply(Derefof(m604(2, 2, 5, 1)), 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ Multiply(Derefof(m604(2, 2, 5, 1)), 1, Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a284)
+
+ Multiply(Derefof(m604(2, 2, 5, 1)), aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ Multiply(Derefof(m604(2, 2, 5, 1)), aui6, Local0)
+ m600(arg0, 15, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Multiply(Derefof(m604(2, 2, 5, 1)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ Multiply(Derefof(m604(2, 2, 5, 1)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xfe7cb391d650a284)
+ }
+
+ Multiply(Derefof(m604(2, 2, 5, 1)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ Multiply(Derefof(m604(2, 2, 5, 1)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Multiply(Derefof(m604(2, 2, 5, 1)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ Multiply(Derefof(m604(2, 2, 5, 1)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(Derefof(m604(2, 2, 5, 1)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ Multiply(Derefof(m604(2, 2, 5, 1)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfe7cb391d650a284)
+ }
+
+ // Conversion of the second operand
+
+ Store(Multiply(0, Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Multiply(1, Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 25, Local0, 0xfe7cb391d650a284)
+
+ Store(Multiply(aui5, Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Multiply(aui6, Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 27, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Store(Multiply(Derefof(Refof(aui5)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(aui6)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 29, Local0, 0xfe7cb391d650a284)
+ }
+
+ Store(Multiply(Derefof(Index(paui, 5)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Multiply(Derefof(Index(paui, 6)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 31, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Store(Multiply(m601(1, 5), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Multiply(m601(1, 6), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 33, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(Derefof(m602(1, 5, 1)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Multiply(Derefof(m602(1, 6, 1)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 35, Local0, 0xfe7cb391d650a284)
+ }
+
+ Multiply(0, Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Multiply(1, Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 37, Local0, 0xfe7cb391d650a284)
+
+ Multiply(aui5, Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Multiply(aui6, Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 39, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Multiply(Derefof(Refof(aui5)), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Multiply(Derefof(Refof(aui6)), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 41, Local0, 0xfe7cb391d650a284)
+ }
+
+ Multiply(Derefof(Index(paui, 5)), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Multiply(Derefof(Index(paui, 6)), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 43, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Multiply(m601(1, 5), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Multiply(m601(1, 6), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 45, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(Derefof(m602(1, 5, 1)), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Multiply(Derefof(m602(1, 6, 1)), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 47, Local0, 0xfe7cb391d650a284)
+ }
+
+ // Conversion of the both operands
+
+ Store(Multiply(Derefof(m604(2, 2, 1, 1)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 48, Local0, 0x442ddb4f924c7f04)
+
+ Store(Multiply(Derefof(m604(2, 2, 5, 1)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 49, Local0, 0x442ddb4f924c7f04)
+
+ Multiply(Derefof(m604(2, 2, 1, 1)), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 50, Local0, 0x442ddb4f924c7f04)
+
+ Multiply(Derefof(m604(2, 2, 5, 1)), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 51, Local0, 0x442ddb4f924c7f04)
+ }
+
+ // Multiply, 32-bit
+ Method(m00f, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Multiply(Derefof(m604(2, 2, 4, 1)), 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(Multiply(Derefof(m604(2, 2, 4, 1)), 1), Local0)
+ m600(arg0, 1, Local0, 0xc179b3fe)
+
+ Store(Multiply(Derefof(m604(2, 2, 4, 1)), aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(Multiply(Derefof(m604(2, 2, 4, 1)), aui6), Local0)
+ m600(arg0, 3, Local0, 0xc179b3fe)
+
+ if (y078) {
+ Store(Multiply(Derefof(m604(2, 2, 4, 1)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(Multiply(Derefof(m604(2, 2, 4, 1)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xc179b3fe)
+ }
+
+ Store(Multiply(Derefof(m604(2, 2, 4, 1)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(Multiply(Derefof(m604(2, 2, 4, 1)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xc179b3fe)
+
+ // Method returns Integer
+
+ Store(Multiply(Derefof(m604(2, 2, 4, 1)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(Multiply(Derefof(m604(2, 2, 4, 1)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xc179b3fe)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(Derefof(m604(2, 2, 4, 1)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(Multiply(Derefof(m604(2, 2, 4, 1)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xc179b3fe)
+ }
+
+ Multiply(Derefof(m604(2, 2, 4, 1)), 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ Multiply(Derefof(m604(2, 2, 4, 1)), 1, Local0)
+ m600(arg0, 13, Local0, 0xc179b3fe)
+
+ Multiply(Derefof(m604(2, 2, 4, 1)), aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ Multiply(Derefof(m604(2, 2, 4, 1)), aui6, Local0)
+ m600(arg0, 15, Local0, 0xc179b3fe)
+
+ if (y078) {
+ Multiply(Derefof(m604(2, 2, 4, 1)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ Multiply(Derefof(m604(2, 2, 4, 1)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xc179b3fe)
+ }
+
+ Multiply(Derefof(m604(2, 2, 4, 1)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ Multiply(Derefof(m604(2, 2, 4, 1)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xc179b3fe)
+
+ // Method returns Integer
+
+ Multiply(Derefof(m604(2, 2, 4, 1)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ Multiply(Derefof(m604(2, 2, 4, 1)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xc179b3fe)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(Derefof(m604(2, 2, 4, 1)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ Multiply(Derefof(m604(2, 2, 4, 1)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xc179b3fe)
+ }
+
+ // Conversion of the second operand
+
+ Store(Multiply(0, Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Multiply(1, Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 25, Local0, 0xc179b3fe)
+
+ Store(Multiply(aui5, Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Multiply(aui6, Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 27, Local0, 0xc179b3fe)
+
+ if (y078) {
+ Store(Multiply(Derefof(Refof(aui5)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(aui6)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 29, Local0, 0xc179b3fe)
+ }
+
+ Store(Multiply(Derefof(Index(paui, 5)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Multiply(Derefof(Index(paui, 6)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 31, Local0, 0xc179b3fe)
+
+ // Method returns Integer
+
+ Store(Multiply(m601(1, 5), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Multiply(m601(1, 6), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 33, Local0, 0xc179b3fe)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(Derefof(m602(1, 5, 1)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Multiply(Derefof(m602(1, 6, 1)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 35, Local0, 0xc179b3fe)
+ }
+
+ Multiply(0, Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Multiply(1, Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 37, Local0, 0xc179b3fe)
+
+ Multiply(aui5, Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Multiply(aui6, Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 39, Local0, 0xc179b3fe)
+
+ if (y078) {
+ Multiply(Derefof(Refof(aui5)), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Multiply(Derefof(Refof(aui6)), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 41, Local0, 0xc179b3fe)
+ }
+
+ Multiply(Derefof(Index(paui, 5)), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Multiply(Derefof(Index(paui, 6)), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 43, Local0, 0xc179b3fe)
+
+ // Method returns Integer
+
+ Multiply(m601(1, 5), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Multiply(m601(1, 6), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 45, Local0, 0xc179b3fe)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(Derefof(m602(1, 5, 1)), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Multiply(Derefof(m602(1, 6, 1)), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 47, Local0, 0xc179b3fe)
+ }
+
+ // Conversion of the both operands
+
+ Store(Multiply(Derefof(m604(2, 2, 1, 1)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 48, Local0, 0x5dcc2dbe)
+
+ Store(Multiply(Derefof(m604(2, 2, 4, 1)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 49, Local0, 0x5dcc2dbe)
+
+ Multiply(Derefof(m604(2, 2, 1, 1)), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 50, Local0, 0x5dcc2dbe)
+
+ Multiply(Derefof(m604(2, 2, 4, 1)), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 51, Local0, 0x5dcc2dbe)
+ }
+
+ // NAnd, common 32-bit/64-bit test
+ Method(m010, 1)
+ {
+ // Conversion of the first operand
+
+ Store(NAnd(Derefof(m604(2, 2, 1, 1)), 0), Local0)
+ m600(arg0, 0, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(m604(2, 2, 1, 1)), 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xfffffffffffffcde)
+
+ Store(NAnd(Derefof(m604(2, 2, 1, 1)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(m604(2, 2, 1, 1)), auij), Local0)
+ m600(arg0, 3, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ Store(NAnd(Derefof(m604(2, 2, 1, 1)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(m604(2, 2, 1, 1)), Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xfffffffffffffcde)
+ }
+
+ Store(NAnd(Derefof(m604(2, 2, 1, 1)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(m604(2, 2, 1, 1)), Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ Store(NAnd(Derefof(m604(2, 2, 1, 1)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(m604(2, 2, 1, 1)), m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(Derefof(m604(2, 2, 1, 1)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(m604(2, 2, 1, 1)), Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfffffffffffffcde)
+ }
+
+ NAnd(Derefof(m604(2, 2, 1, 1)), 0, Local0)
+ m600(arg0, 12, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(m604(2, 2, 1, 1)), 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xfffffffffffffcde)
+
+ NAnd(Derefof(m604(2, 2, 1, 1)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(m604(2, 2, 1, 1)), auij, Local0)
+ m600(arg0, 15, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ NAnd(Derefof(m604(2, 2, 1, 1)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(m604(2, 2, 1, 1)), Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xfffffffffffffcde)
+ }
+
+ NAnd(Derefof(m604(2, 2, 1, 1)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(m604(2, 2, 1, 1)), Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ NAnd(Derefof(m604(2, 2, 1, 1)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(m604(2, 2, 1, 1)), m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(Derefof(m604(2, 2, 1, 1)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(m604(2, 2, 1, 1)), Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfffffffffffffcde)
+ }
+
+ // Conversion of the second operand
+
+ Store(NAnd(0, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 24, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(0xffffffffffffffff, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 25, Local0, 0xfffffffffffffcde)
+
+ Store(NAnd(aui5, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 26, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(auij, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 27, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ Store(NAnd(Derefof(Refof(aui5)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 28, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Refof(auij)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 29, Local0, 0xfffffffffffffcde)
+ }
+
+ Store(NAnd(Derefof(Index(paui, 5)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 30, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Index(paui, 19)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 31, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ Store(NAnd(m601(1, 5), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 32, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(m601(1, 19), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 33, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(Derefof(m602(1, 5, 1)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 34, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(m602(1, 19, 1)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 35, Local0, 0xfffffffffffffcde)
+ }
+
+ NAnd(0, Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 36, Local0, 0xffffffffffffffff)
+
+ NAnd(0xffffffffffffffff, Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 37, Local0, 0xfffffffffffffcde)
+
+ NAnd(aui5, Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 38, Local0, 0xffffffffffffffff)
+
+ NAnd(auij, Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 39, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ NAnd(Derefof(Refof(aui5)), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 40, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Refof(auij)), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 41, Local0, 0xfffffffffffffcde)
+ }
+
+ NAnd(Derefof(Index(paui, 5)), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 42, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Index(paui, 19)), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 43, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ NAnd(m601(1, 5), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 44, Local0, 0xffffffffffffffff)
+
+ NAnd(m601(1, 19), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 45, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(Derefof(m602(1, 5, 1)), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 46, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(m602(1, 19, 1)), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 47, Local0, 0xfffffffffffffcde)
+ }
+ }
+
+ // NAnd, 64-bit
+ Method(m011, 1)
+ {
+ // Conversion of the first operand
+
+ Store(NAnd(Derefof(m604(2, 2, 5, 1)), 0), Local0)
+ m600(arg0, 0, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(m604(2, 2, 5, 1)), 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0x01834c6e29af5d7b)
+
+ Store(NAnd(Derefof(m604(2, 2, 5, 1)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(m604(2, 2, 5, 1)), auij), Local0)
+ m600(arg0, 3, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ Store(NAnd(Derefof(m604(2, 2, 5, 1)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(m604(2, 2, 5, 1)), Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Store(NAnd(Derefof(m604(2, 2, 5, 1)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(m604(2, 2, 5, 1)), Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ Store(NAnd(Derefof(m604(2, 2, 5, 1)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(m604(2, 2, 5, 1)), m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(Derefof(m604(2, 2, 5, 1)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(m604(2, 2, 5, 1)), Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0x01834c6e29af5d7b)
+ }
+
+ NAnd(Derefof(m604(2, 2, 5, 1)), 0, Local0)
+ m600(arg0, 12, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(m604(2, 2, 5, 1)), 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0x01834c6e29af5d7b)
+
+ NAnd(Derefof(m604(2, 2, 5, 1)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(m604(2, 2, 5, 1)), auij, Local0)
+ m600(arg0, 15, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ NAnd(Derefof(m604(2, 2, 5, 1)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(m604(2, 2, 5, 1)), Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0x01834c6e29af5d7b)
+ }
+
+ NAnd(Derefof(m604(2, 2, 5, 1)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(m604(2, 2, 5, 1)), Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ NAnd(Derefof(m604(2, 2, 5, 1)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(m604(2, 2, 5, 1)), m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(Derefof(m604(2, 2, 5, 1)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(m604(2, 2, 5, 1)), Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0x01834c6e29af5d7b)
+ }
+
+ // Conversion of the second operand
+
+ Store(NAnd(0, Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 24, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(0xffffffffffffffff, Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 25, Local0, 0x01834c6e29af5d7b)
+
+ Store(NAnd(aui5, Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 26, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(auij, Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 27, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ Store(NAnd(Derefof(Refof(aui5)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 28, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Refof(auij)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 29, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Store(NAnd(Derefof(Index(paui, 5)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 30, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Index(paui, 19)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 31, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ Store(NAnd(m601(1, 5), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 32, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(m601(1, 19), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 33, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(Derefof(m602(1, 5, 1)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 34, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(m602(1, 19, 1)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 35, Local0, 0x01834c6e29af5d7b)
+ }
+
+ NAnd(0, Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 36, Local0, 0xffffffffffffffff)
+
+ NAnd(0xffffffffffffffff, Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 37, Local0, 0x01834c6e29af5d7b)
+
+ NAnd(aui5, Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 38, Local0, 0xffffffffffffffff)
+
+ NAnd(auij, Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 39, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ NAnd(Derefof(Refof(aui5)), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 40, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Refof(auij)), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 41, Local0, 0x01834c6e29af5d7b)
+ }
+
+ NAnd(Derefof(Index(paui, 5)), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 42, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Index(paui, 19)), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 43, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ NAnd(m601(1, 5), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 44, Local0, 0xffffffffffffffff)
+
+ NAnd(m601(1, 19), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 45, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(Derefof(m602(1, 5, 1)), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 46, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(m602(1, 19, 1)), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 47, Local0, 0x01834c6e29af5d7b)
+ }
+
+ // Conversion of the both operands
+
+ Store(NAnd(Derefof(m604(2, 2, 1, 1)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 48, Local0, 0xfffffffffffffdff)
+
+ Store(NAnd(Derefof(m604(2, 2, 5, 1)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 49, Local0, 0xfffffffffffffdff)
+
+ NAnd(Derefof(m604(2, 2, 1, 1)), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 50, Local0, 0xfffffffffffffdff)
+
+ NAnd(Derefof(m604(2, 2, 5, 1)), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 51, Local0, 0xfffffffffffffdff)
+ }
+
+ // NAnd, 32-bit
+ Method(m012, 1)
+ {
+ // Conversion of the first operand
+
+ Store(NAnd(Derefof(m604(2, 2, 4, 1)), 0), Local0)
+ m600(arg0, 0, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(m604(2, 2, 4, 1)), 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0x3e864c01)
+
+ Store(NAnd(Derefof(m604(2, 2, 4, 1)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(m604(2, 2, 4, 1)), auii), Local0)
+ m600(arg0, 3, Local0, 0x3e864c01)
+
+ if (y078) {
+ Store(NAnd(Derefof(m604(2, 2, 4, 1)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(m604(2, 2, 4, 1)), Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0x3e864c01)
+ }
+
+ Store(NAnd(Derefof(m604(2, 2, 4, 1)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(m604(2, 2, 4, 1)), Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0x3e864c01)
+
+ // Method returns Integer
+
+ Store(NAnd(Derefof(m604(2, 2, 4, 1)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(m604(2, 2, 4, 1)), m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0x3e864c01)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(Derefof(m604(2, 2, 4, 1)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(m604(2, 2, 4, 1)), Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0x3e864c01)
+ }
+
+ NAnd(Derefof(m604(2, 2, 4, 1)), 0, Local0)
+ m600(arg0, 12, Local0, 0xffffffff)
+
+ NAnd(Derefof(m604(2, 2, 4, 1)), 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0x3e864c01)
+
+ NAnd(Derefof(m604(2, 2, 4, 1)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xffffffff)
+
+ NAnd(Derefof(m604(2, 2, 4, 1)), auii, Local0)
+ m600(arg0, 15, Local0, 0x3e864c01)
+
+ if (y078) {
+ NAnd(Derefof(m604(2, 2, 4, 1)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xffffffff)
+
+ NAnd(Derefof(m604(2, 2, 4, 1)), Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0x3e864c01)
+ }
+
+ NAnd(Derefof(m604(2, 2, 4, 1)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xffffffff)
+
+ NAnd(Derefof(m604(2, 2, 4, 1)), Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0x3e864c01)
+
+ // Method returns Integer
+
+ NAnd(Derefof(m604(2, 2, 4, 1)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xffffffff)
+
+ NAnd(Derefof(m604(2, 2, 4, 1)), m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0x3e864c01)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(Derefof(m604(2, 2, 4, 1)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xffffffff)
+
+ NAnd(Derefof(m604(2, 2, 4, 1)), Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0x3e864c01)
+ }
+
+ // Conversion of the second operand
+
+ Store(NAnd(0, Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 24, Local0, 0xffffffff)
+
+ Store(NAnd(0xffffffff, Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 25, Local0, 0x3e864c01)
+
+ Store(NAnd(aui5, Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 26, Local0, 0xffffffff)
+
+ Store(NAnd(auii, Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 27, Local0, 0x3e864c01)
+
+ if (y078) {
+ Store(NAnd(Derefof(Refof(aui5)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 28, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(Refof(auii)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 29, Local0, 0x3e864c01)
+ }
+
+ Store(NAnd(Derefof(Index(paui, 5)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 30, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(Index(paui, 18)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 31, Local0, 0x3e864c01)
+
+ // Method returns Integer
+
+ Store(NAnd(m601(1, 5), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 32, Local0, 0xffffffff)
+
+ Store(NAnd(m601(1, 18), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 33, Local0, 0x3e864c01)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(Derefof(m602(1, 5, 1)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 34, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(m602(1, 18, 1)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 35, Local0, 0x3e864c01)
+ }
+
+ NAnd(0, Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 36, Local0, 0xffffffff)
+
+ NAnd(0xffffffff, Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 37, Local0, 0x3e864c01)
+
+ NAnd(aui5, Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 38, Local0, 0xffffffff)
+
+ NAnd(auii, Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 39, Local0, 0x3e864c01)
+
+ if (y078) {
+ NAnd(Derefof(Refof(aui5)), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 40, Local0, 0xffffffff)
+
+ NAnd(Derefof(Refof(auii)), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 41, Local0, 0x3e864c01)
+ }
+
+ NAnd(Derefof(Index(paui, 5)), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 42, Local0, 0xffffffff)
+
+ NAnd(Derefof(Index(paui, 18)), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 43, Local0, 0x3e864c01)
+
+ // Method returns Integer
+
+ NAnd(m601(1, 5), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 44, Local0, 0xffffffff)
+
+ NAnd(m601(1, 18), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 45, Local0, 0x3e864c01)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(Derefof(m602(1, 5, 1)), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 46, Local0, 0xffffffff)
+
+ NAnd(Derefof(m602(1, 18, 1)), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 47, Local0, 0x3e864c01)
+ }
+
+ // Conversion of the both operands
+
+ Store(NAnd(Derefof(m604(2, 2, 1, 1)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 48, Local0, 0xfffffcdf)
+
+ Store(NAnd(Derefof(m604(2, 2, 4, 1)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 49, Local0, 0xfffffcdf)
+
+ NAnd(Derefof(m604(2, 2, 1, 1)), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 50, Local0, 0xfffffcdf)
+
+ NAnd(Derefof(m604(2, 2, 4, 1)), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 51, Local0, 0xfffffcdf)
+ }
+
+ // NOr, common 32-bit/64-bit test
+ Method(m013, 1)
+ {
+ // Conversion of the first operand
+
+ Store(NOr(Derefof(m604(2, 2, 1, 1)), 0), Local0)
+ m600(arg0, 0, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(m604(2, 2, 1, 1)), 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0)
+
+ Store(NOr(Derefof(m604(2, 2, 1, 1)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(m604(2, 2, 1, 1)), auij), Local0)
+ m600(arg0, 3, Local0, 0)
+
+ if (y078) {
+ Store(NOr(Derefof(m604(2, 2, 1, 1)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(m604(2, 2, 1, 1)), Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0)
+ }
+
+ Store(NOr(Derefof(m604(2, 2, 1, 1)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(m604(2, 2, 1, 1)), Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(Derefof(m604(2, 2, 1, 1)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(m604(2, 2, 1, 1)), m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(Derefof(m604(2, 2, 1, 1)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(m604(2, 2, 1, 1)), Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0)
+ }
+
+ NOr(Derefof(m604(2, 2, 1, 1)), 0, Local0)
+ m600(arg0, 12, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(m604(2, 2, 1, 1)), 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0)
+
+ NOr(Derefof(m604(2, 2, 1, 1)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(m604(2, 2, 1, 1)), auij, Local0)
+ m600(arg0, 15, Local0, 0)
+
+ if (y078) {
+ NOr(Derefof(m604(2, 2, 1, 1)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(m604(2, 2, 1, 1)), Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0)
+ }
+
+ NOr(Derefof(m604(2, 2, 1, 1)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(m604(2, 2, 1, 1)), Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(Derefof(m604(2, 2, 1, 1)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(m604(2, 2, 1, 1)), m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(Derefof(m604(2, 2, 1, 1)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(m604(2, 2, 1, 1)), Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0)
+ }
+
+ // Conversion of the second operand
+
+ Store(NOr(0, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 24, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(0xffffffffffffffff, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 25, Local0, 0)
+
+ Store(NOr(aui5, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 26, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(auij, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 27, Local0, 0)
+
+ if (y078) {
+ Store(NOr(Derefof(Refof(aui5)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 28, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(Refof(auij)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 29, Local0, 0)
+ }
+
+ Store(NOr(Derefof(Index(paui, 5)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 30, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(Index(paui, 19)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 31, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(m601(1, 5), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 32, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(m601(1, 19), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 33, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(Derefof(m602(1, 5, 1)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 34, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(m602(1, 19, 1)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 35, Local0, 0)
+ }
+
+ NOr(0, Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 36, Local0, 0xfffffffffffffcde)
+
+ NOr(0xffffffffffffffff, Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 37, Local0, 0)
+
+ NOr(aui5, Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 38, Local0, 0xfffffffffffffcde)
+
+ NOr(auij, Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 39, Local0, 0)
+
+ if (y078) {
+ NOr(Derefof(Refof(aui5)), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 40, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(Refof(auij)), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 41, Local0, 0)
+ }
+
+ NOr(Derefof(Index(paui, 5)), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 42, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(Index(paui, 19)), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 43, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(m601(1, 5), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 44, Local0, 0xfffffffffffffcde)
+
+ NOr(m601(1, 19), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 45, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(Derefof(m602(1, 5, 1)), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 46, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(m602(1, 19, 1)), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 47, Local0, 0)
+ }
+ }
+
+ // NOr, 64-bit
+ Method(m014, 1)
+ {
+ // Conversion of the first operand
+
+ Store(NOr(Derefof(m604(2, 2, 5, 1)), 0), Local0)
+ m600(arg0, 0, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(m604(2, 2, 5, 1)), 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0)
+
+ Store(NOr(Derefof(m604(2, 2, 5, 1)), aui5), Local0)
+ m600(arg0, 2, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(m604(2, 2, 5, 1)), auij), Local0)
+ m600(arg0, 3, Local0, 0)
+
+ if (y078) {
+ Store(NOr(Derefof(m604(2, 2, 5, 1)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(m604(2, 2, 5, 1)), Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0)
+ }
+
+ Store(NOr(Derefof(m604(2, 2, 5, 1)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(m604(2, 2, 5, 1)), Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(Derefof(m604(2, 2, 5, 1)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(m604(2, 2, 5, 1)), m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(Derefof(m604(2, 2, 5, 1)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(m604(2, 2, 5, 1)), Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0)
+ }
+
+ NOr(Derefof(m604(2, 2, 5, 1)), 0, Local0)
+ m600(arg0, 12, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(m604(2, 2, 5, 1)), 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0)
+
+ NOr(Derefof(m604(2, 2, 5, 1)), aui5, Local0)
+ m600(arg0, 14, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(m604(2, 2, 5, 1)), auij, Local0)
+ m600(arg0, 15, Local0, 0)
+
+ if (y078) {
+ NOr(Derefof(m604(2, 2, 5, 1)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(m604(2, 2, 5, 1)), Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0)
+ }
+
+ NOr(Derefof(m604(2, 2, 5, 1)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(m604(2, 2, 5, 1)), Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(Derefof(m604(2, 2, 5, 1)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(m604(2, 2, 5, 1)), m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(Derefof(m604(2, 2, 5, 1)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(m604(2, 2, 5, 1)), Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0)
+ }
+
+ // Conversion of the second operand
+
+ Store(NOr(0, Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 24, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(0xffffffffffffffff, Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 25, Local0, 0)
+
+ Store(NOr(aui5, Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 26, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(auij, Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 27, Local0, 0)
+
+ if (y078) {
+ Store(NOr(Derefof(Refof(aui5)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 28, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(Refof(auij)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 29, Local0, 0)
+ }
+
+ Store(NOr(Derefof(Index(paui, 5)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 30, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(Index(paui, 19)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 31, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(m601(1, 5), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 32, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(m601(1, 19), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 33, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(Derefof(m602(1, 5, 1)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 34, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(m602(1, 19, 1)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 35, Local0, 0)
+ }
+
+ NOr(0, Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 36, Local0, 0x01834c6e29af5d7b)
+
+ NOr(0xffffffffffffffff, Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 37, Local0, 0)
+
+ NOr(aui5, Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 38, Local0, 0x01834c6e29af5d7b)
+
+ NOr(auij, Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 39, Local0, 0)
+
+ if (y078) {
+ NOr(Derefof(Refof(aui5)), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 40, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(Refof(auij)), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 41, Local0, 0)
+ }
+
+ NOr(Derefof(Index(paui, 5)), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 42, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(Index(paui, 19)), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 43, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(m601(1, 5), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 44, Local0, 0x01834c6e29af5d7b)
+
+ NOr(m601(1, 19), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 45, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(Derefof(m602(1, 5, 1)), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 46, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(m602(1, 19, 1)), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 47, Local0, 0)
+ }
+
+ // Conversion of the both operands
+
+ Store(NOr(Derefof(m604(2, 2, 1, 1)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 48, Local0, 0x01834c6e29af5c5a)
+
+ Store(NOr(Derefof(m604(2, 2, 5, 1)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 49, Local0, 0x01834c6e29af5c5a)
+
+ NOr(Derefof(m604(2, 2, 1, 1)), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 50, Local0, 0x01834c6e29af5c5a)
+
+ NOr(Derefof(m604(2, 2, 5, 1)), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 51, Local0, 0x01834c6e29af5c5a)
+ }
+
+ // NOr, 32-bit
+ Method(m015, 1)
+ {
+ // Conversion of the first operand
+
+ Store(NOr(Derefof(m604(2, 2, 4, 1)), 0), Local0)
+ m600(arg0, 0, Local0, 0x3e864c01)
+
+ Store(NOr(Derefof(m604(2, 2, 4, 1)), 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0)
+
+ Store(NOr(Derefof(m604(2, 2, 4, 1)), aui5), Local0)
+ m600(arg0, 2, Local0, 0x3e864c01)
+
+ Store(NOr(Derefof(m604(2, 2, 4, 1)), auii), Local0)
+ m600(arg0, 3, Local0, 0)
+
+ if (y078) {
+ Store(NOr(Derefof(m604(2, 2, 4, 1)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x3e864c01)
+
+ Store(NOr(Derefof(m604(2, 2, 4, 1)), Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0)
+ }
+
+ Store(NOr(Derefof(m604(2, 2, 4, 1)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x3e864c01)
+
+ Store(NOr(Derefof(m604(2, 2, 4, 1)), Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(Derefof(m604(2, 2, 4, 1)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x3e864c01)
+
+ Store(NOr(Derefof(m604(2, 2, 4, 1)), m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(Derefof(m604(2, 2, 4, 1)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x3e864c01)
+
+ Store(NOr(Derefof(m604(2, 2, 4, 1)), Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0)
+ }
+
+ NOr(Derefof(m604(2, 2, 4, 1)), 0, Local0)
+ m600(arg0, 12, Local0, 0x3e864c01)
+
+ NOr(Derefof(m604(2, 2, 4, 1)), 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0)
+
+ NOr(Derefof(m604(2, 2, 4, 1)), aui5, Local0)
+ m600(arg0, 14, Local0, 0x3e864c01)
+
+ NOr(Derefof(m604(2, 2, 4, 1)), auii, Local0)
+ m600(arg0, 15, Local0, 0)
+
+ if (y078) {
+ NOr(Derefof(m604(2, 2, 4, 1)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x3e864c01)
+
+ NOr(Derefof(m604(2, 2, 4, 1)), Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0)
+ }
+
+ NOr(Derefof(m604(2, 2, 4, 1)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x3e864c01)
+
+ NOr(Derefof(m604(2, 2, 4, 1)), Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(Derefof(m604(2, 2, 4, 1)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x3e864c01)
+
+ NOr(Derefof(m604(2, 2, 4, 1)), m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(Derefof(m604(2, 2, 4, 1)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x3e864c01)
+
+ NOr(Derefof(m604(2, 2, 4, 1)), Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0)
+ }
+
+ // Conversion of the second operand
+
+ Store(NOr(0, Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 24, Local0, 0x3e864c01)
+
+ Store(NOr(0xffffffff, Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 25, Local0, 0)
+
+ Store(NOr(aui5, Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 26, Local0, 0x3e864c01)
+
+ Store(NOr(auii, Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 27, Local0, 0)
+
+ if (y078) {
+ Store(NOr(Derefof(Refof(aui5)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 28, Local0, 0x3e864c01)
+
+ Store(NOr(Derefof(Refof(auii)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 29, Local0, 0)
+ }
+
+ Store(NOr(Derefof(Index(paui, 5)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 30, Local0, 0x3e864c01)
+
+ Store(NOr(Derefof(Index(paui, 18)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 31, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(m601(1, 5), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 32, Local0, 0x3e864c01)
+
+ Store(NOr(m601(1, 18), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 33, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(Derefof(m602(1, 5, 1)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 34, Local0, 0x3e864c01)
+
+ Store(NOr(Derefof(m602(1, 18, 1)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 35, Local0, 0)
+ }
+
+ NOr(0, Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 36, Local0, 0x3e864c01)
+
+ NOr(0xffffffff, Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 37, Local0, 0)
+
+ NOr(aui5, Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 38, Local0, 0x3e864c01)
+
+ NOr(auii, Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 39, Local0, 0)
+
+ if (y078) {
+ NOr(Derefof(Refof(aui5)), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 40, Local0, 0x3e864c01)
+
+ NOr(Derefof(Refof(auii)), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 41, Local0, 0)
+ }
+
+ NOr(Derefof(Index(paui, 5)), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 42, Local0, 0x3e864c01)
+
+ NOr(Derefof(Index(paui, 18)), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 43, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(m601(1, 5), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 44, Local0, 0x3e864c01)
+
+ NOr(m601(1, 18), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 45, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(Derefof(m602(1, 5, 1)), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 46, Local0, 0x3e864c01)
+
+ NOr(Derefof(m602(1, 18, 1)), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 47, Local0, 0)
+ }
+
+ // Conversion of the both operands
+
+ Store(NOr(Derefof(m604(2, 2, 1, 1)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 48, Local0, 0x3e864c00)
+
+ Store(NOr(Derefof(m604(2, 2, 4, 1)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 49, Local0, 0x3e864c00)
+
+ NOr(Derefof(m604(2, 2, 1, 1)), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 50, Local0, 0x3e864c00)
+
+ NOr(Derefof(m604(2, 2, 4, 1)), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 51, Local0, 0x3e864c00)
+ }
+
+ // Or, common 32-bit/64-bit test
+ Method(m016, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Or(Derefof(m604(2, 2, 1, 1)), 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Or(Derefof(m604(2, 2, 1, 1)), 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xffffffffffffffff)
+
+ Store(Or(Derefof(m604(2, 2, 1, 1)), aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Or(Derefof(m604(2, 2, 1, 1)), auij), Local0)
+ m600(arg0, 3, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Store(Or(Derefof(m604(2, 2, 1, 1)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Or(Derefof(m604(2, 2, 1, 1)), Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xffffffffffffffff)
+ }
+
+ Store(Or(Derefof(m604(2, 2, 1, 1)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Or(Derefof(m604(2, 2, 1, 1)), Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Store(Or(Derefof(m604(2, 2, 1, 1)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Or(Derefof(m604(2, 2, 1, 1)), m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(Derefof(m604(2, 2, 1, 1)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Or(Derefof(m604(2, 2, 1, 1)), Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xffffffffffffffff)
+ }
+
+ Or(Derefof(m604(2, 2, 1, 1)), 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Or(Derefof(m604(2, 2, 1, 1)), 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xffffffffffffffff)
+
+ Or(Derefof(m604(2, 2, 1, 1)), aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Or(Derefof(m604(2, 2, 1, 1)), auij, Local0)
+ m600(arg0, 15, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Or(Derefof(m604(2, 2, 1, 1)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Or(Derefof(m604(2, 2, 1, 1)), Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xffffffffffffffff)
+ }
+
+ Or(Derefof(m604(2, 2, 1, 1)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Or(Derefof(m604(2, 2, 1, 1)), Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Or(Derefof(m604(2, 2, 1, 1)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Or(Derefof(m604(2, 2, 1, 1)), m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(Derefof(m604(2, 2, 1, 1)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Or(Derefof(m604(2, 2, 1, 1)), Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xffffffffffffffff)
+ }
+
+ // Conversion of the second operand
+
+ Store(Or(0, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 24, Local0, 0x321)
+
+ Store(Or(0xffffffffffffffff, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 25, Local0, 0xffffffffffffffff)
+
+ Store(Or(aui5, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 26, Local0, 0x321)
+
+ Store(Or(auij, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 27, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Store(Or(Derefof(Refof(aui5)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 28, Local0, 0x321)
+
+ Store(Or(Derefof(Refof(auij)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 29, Local0, 0xffffffffffffffff)
+ }
+
+ Store(Or(Derefof(Index(paui, 5)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 30, Local0, 0x321)
+
+ Store(Or(Derefof(Index(paui, 19)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 31, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Store(Or(m601(1, 5), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 32, Local0, 0x321)
+
+ Store(Or(m601(1, 19), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 33, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(Derefof(m602(1, 5, 1)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 34, Local0, 0x321)
+
+ Store(Or(Derefof(m602(1, 19, 1)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 35, Local0, 0xffffffffffffffff)
+ }
+
+ Or(0, Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 36, Local0, 0x321)
+
+ Or(0xffffffffffffffff, Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 37, Local0, 0xffffffffffffffff)
+
+ Or(aui5, Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 38, Local0, 0x321)
+
+ Or(auij, Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 39, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Or(Derefof(Refof(aui5)), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 40, Local0, 0x321)
+
+ Or(Derefof(Refof(auij)), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 41, Local0, 0xffffffffffffffff)
+ }
+
+ Or(Derefof(Index(paui, 5)), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 42, Local0, 0x321)
+
+ Or(Derefof(Index(paui, 19)), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 43, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Or(m601(1, 5), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 44, Local0, 0x321)
+
+ Or(m601(1, 19), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 45, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(Derefof(m602(1, 5, 1)), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 46, Local0, 0x321)
+
+ Or(Derefof(m602(1, 19, 1)), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 47, Local0, 0xffffffffffffffff)
+ }
+ }
+
+ // Or, 64-bit
+ Method(m017, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Or(Derefof(m604(2, 2, 5, 1)), 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(m604(2, 2, 5, 1)), 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xffffffffffffffff)
+
+ Store(Or(Derefof(m604(2, 2, 5, 1)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(m604(2, 2, 5, 1)), auij), Local0)
+ m600(arg0, 3, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Store(Or(Derefof(m604(2, 2, 5, 1)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(m604(2, 2, 5, 1)), Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xffffffffffffffff)
+ }
+
+ Store(Or(Derefof(m604(2, 2, 5, 1)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(m604(2, 2, 5, 1)), Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Store(Or(Derefof(m604(2, 2, 5, 1)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(m604(2, 2, 5, 1)), m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(Derefof(m604(2, 2, 5, 1)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(m604(2, 2, 5, 1)), Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xffffffffffffffff)
+ }
+
+ Or(Derefof(m604(2, 2, 5, 1)), 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(m604(2, 2, 5, 1)), 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xffffffffffffffff)
+
+ Or(Derefof(m604(2, 2, 5, 1)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(m604(2, 2, 5, 1)), auij, Local0)
+ m600(arg0, 15, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Or(Derefof(m604(2, 2, 5, 1)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(m604(2, 2, 5, 1)), Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xffffffffffffffff)
+ }
+
+ Or(Derefof(m604(2, 2, 5, 1)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(m604(2, 2, 5, 1)), Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Or(Derefof(m604(2, 2, 5, 1)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(m604(2, 2, 5, 1)), m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(Derefof(m604(2, 2, 5, 1)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(m604(2, 2, 5, 1)), Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xffffffffffffffff)
+ }
+
+ // Conversion of the second operand
+
+ Store(Or(0, Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 24, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(0xffffffffffffffff, Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 25, Local0, 0xffffffffffffffff)
+
+ Store(Or(aui5, Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 26, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(auij, Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 27, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Store(Or(Derefof(Refof(aui5)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 28, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(Refof(auij)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 29, Local0, 0xffffffffffffffff)
+ }
+
+ Store(Or(Derefof(Index(paui, 5)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 30, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(Index(paui, 19)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 31, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Store(Or(m601(1, 5), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 32, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(m601(1, 19), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 33, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(Derefof(m602(1, 5, 1)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 34, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(m602(1, 19, 1)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 35, Local0, 0xffffffffffffffff)
+ }
+
+ Or(0, Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 36, Local0, 0xfe7cb391d650a284)
+
+ Or(0xffffffffffffffff, Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 37, Local0, 0xffffffffffffffff)
+
+ Or(aui5, Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 38, Local0, 0xfe7cb391d650a284)
+
+ Or(auij, Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 39, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Or(Derefof(Refof(aui5)), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 40, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(Refof(auij)), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 41, Local0, 0xffffffffffffffff)
+ }
+
+ Or(Derefof(Index(paui, 5)), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 42, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(Index(paui, 19)), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 43, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Or(m601(1, 5), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 44, Local0, 0xfe7cb391d650a284)
+
+ Or(m601(1, 19), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 45, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(Derefof(m602(1, 5, 1)), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 46, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(m602(1, 19, 1)), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 47, Local0, 0xffffffffffffffff)
+ }
+
+ // Conversion of the both operands
+
+ Store(Or(Derefof(m604(2, 2, 1, 1)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 48, Local0, 0xfe7cb391d650a3a5)
+
+ Store(Or(Derefof(m604(2, 2, 5, 1)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 49, Local0, 0xfe7cb391d650a3a5)
+
+ Or(Derefof(m604(2, 2, 1, 1)), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 50, Local0, 0xfe7cb391d650a3a5)
+
+ Or(Derefof(m604(2, 2, 5, 1)), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 51, Local0, 0xfe7cb391d650a3a5)
+ }
+
+ // Or, 32-bit
+ Method(m018, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Or(Derefof(m604(2, 2, 4, 1)), 0), Local0)
+ m600(arg0, 0, Local0, 0xc179b3fe)
+
+ Store(Or(Derefof(m604(2, 2, 4, 1)), 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0xffffffff)
+
+ Store(Or(Derefof(m604(2, 2, 4, 1)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xc179b3fe)
+
+ Store(Or(Derefof(m604(2, 2, 4, 1)), auii), Local0)
+ m600(arg0, 3, Local0, 0xffffffff)
+
+ if (y078) {
+ Store(Or(Derefof(m604(2, 2, 4, 1)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xc179b3fe)
+
+ Store(Or(Derefof(m604(2, 2, 4, 1)), Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0xffffffff)
+ }
+
+ Store(Or(Derefof(m604(2, 2, 4, 1)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xc179b3fe)
+
+ Store(Or(Derefof(m604(2, 2, 4, 1)), Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0xffffffff)
+
+ // Method returns Integer
+
+ Store(Or(Derefof(m604(2, 2, 4, 1)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xc179b3fe)
+
+ Store(Or(Derefof(m604(2, 2, 4, 1)), m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0xffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(Derefof(m604(2, 2, 4, 1)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xc179b3fe)
+
+ Store(Or(Derefof(m604(2, 2, 4, 1)), Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0xffffffff)
+ }
+
+ Or(Derefof(m604(2, 2, 4, 1)), 0, Local0)
+ m600(arg0, 12, Local0, 0xc179b3fe)
+
+ Or(Derefof(m604(2, 2, 4, 1)), 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0xffffffff)
+
+ Or(Derefof(m604(2, 2, 4, 1)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xc179b3fe)
+
+ Or(Derefof(m604(2, 2, 4, 1)), auii, Local0)
+ m600(arg0, 15, Local0, 0xffffffff)
+
+ if (y078) {
+ Or(Derefof(m604(2, 2, 4, 1)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xc179b3fe)
+
+ Or(Derefof(m604(2, 2, 4, 1)), Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0xffffffff)
+ }
+
+ Or(Derefof(m604(2, 2, 4, 1)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xc179b3fe)
+
+ Or(Derefof(m604(2, 2, 4, 1)), Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0xffffffff)
+
+ // Method returns Integer
+
+ Or(Derefof(m604(2, 2, 4, 1)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xc179b3fe)
+
+ Or(Derefof(m604(2, 2, 4, 1)), m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0xffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(Derefof(m604(2, 2, 4, 1)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xc179b3fe)
+
+ Or(Derefof(m604(2, 2, 4, 1)), Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0xffffffff)
+ }
+
+ // Conversion of the second operand
+
+ Store(Or(0, Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 24, Local0, 0xc179b3fe)
+
+ Store(Or(0xffffffff, Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 25, Local0, 0xffffffff)
+
+ Store(Or(aui5, Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 26, Local0, 0xc179b3fe)
+
+ Store(Or(auii, Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 27, Local0, 0xffffffff)
+
+ if (y078) {
+ Store(Or(Derefof(Refof(aui5)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 28, Local0, 0xc179b3fe)
+
+ Store(Or(Derefof(Refof(auii)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 29, Local0, 0xffffffff)
+ }
+
+ Store(Or(Derefof(Index(paui, 5)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 30, Local0, 0xc179b3fe)
+
+ Store(Or(Derefof(Index(paui, 18)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 31, Local0, 0xffffffff)
+
+ // Method returns Integer
+
+ Store(Or(m601(1, 5), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 32, Local0, 0xc179b3fe)
+
+ Store(Or(m601(1, 18), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 33, Local0, 0xffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(Derefof(m602(1, 5, 1)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 34, Local0, 0xc179b3fe)
+
+ Store(Or(Derefof(m602(1, 18, 1)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 35, Local0, 0xffffffff)
+ }
+
+ Or(0, Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 36, Local0, 0xc179b3fe)
+
+ Or(0xffffffff, Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 37, Local0, 0xffffffff)
+
+ Or(aui5, Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 38, Local0, 0xc179b3fe)
+
+ Or(auii, Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 39, Local0, 0xffffffff)
+
+ if (y078) {
+ Or(Derefof(Refof(aui5)), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 40, Local0, 0xc179b3fe)
+
+ Or(Derefof(Refof(auii)), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 41, Local0, 0xffffffff)
+ }
+
+ Or(Derefof(Index(paui, 5)), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 42, Local0, 0xc179b3fe)
+
+ Or(Derefof(Index(paui, 18)), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 43, Local0, 0xffffffff)
+
+ // Method returns Integer
+
+ Or(m601(1, 5), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 44, Local0, 0xc179b3fe)
+
+ Or(m601(1, 18), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 45, Local0, 0xffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(Derefof(m602(1, 5, 1)), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 46, Local0, 0xc179b3fe)
+
+ Or(Derefof(m602(1, 18, 1)), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 47, Local0, 0xffffffff)
+ }
+
+ // Conversion of the both operands
+
+ Store(Or(Derefof(m604(2, 2, 1, 1)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 48, Local0, 0xc179b3ff)
+
+ Store(Or(Derefof(m604(2, 2, 4, 1)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 49, Local0, 0xc179b3ff)
+
+ Or(Derefof(m604(2, 2, 1, 1)), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 50, Local0, 0xc179b3ff)
+
+ Or(Derefof(m604(2, 2, 4, 1)), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 51, Local0, 0xc179b3ff)
+ }
+
+ // ShiftLeft, common 32-bit/64-bit test
+ Method(m019, 1)
+ {
+ // Conversion of the first operand
+
+ Store(ShiftLeft(Derefof(m604(2, 2, 1, 1)), 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(ShiftLeft(Derefof(m604(2, 2, 1, 1)), 1), Local0)
+ m600(arg0, 1, Local0, 0x642)
+
+ Store(ShiftLeft(Derefof(m604(2, 2, 1, 1)), aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(ShiftLeft(Derefof(m604(2, 2, 1, 1)), aui6), Local0)
+ m600(arg0, 3, Local0, 0x642)
+
+ if (y078) {
+ Store(ShiftLeft(Derefof(m604(2, 2, 1, 1)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(ShiftLeft(Derefof(m604(2, 2, 1, 1)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x642)
+ }
+
+ Store(ShiftLeft(Derefof(m604(2, 2, 1, 1)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(ShiftLeft(Derefof(m604(2, 2, 1, 1)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x642)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(Derefof(m604(2, 2, 1, 1)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(ShiftLeft(Derefof(m604(2, 2, 1, 1)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x642)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(Derefof(m604(2, 2, 1, 1)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(ShiftLeft(Derefof(m604(2, 2, 1, 1)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x642)
+ }
+
+ ShiftLeft(Derefof(m604(2, 2, 1, 1)), 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ ShiftLeft(Derefof(m604(2, 2, 1, 1)), 1, Local0)
+ m600(arg0, 13, Local0, 0x642)
+
+ ShiftLeft(Derefof(m604(2, 2, 1, 1)), aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ ShiftLeft(Derefof(m604(2, 2, 1, 1)), aui6, Local0)
+ m600(arg0, 15, Local0, 0x642)
+
+ if (y078) {
+ ShiftLeft(Derefof(m604(2, 2, 1, 1)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ ShiftLeft(Derefof(m604(2, 2, 1, 1)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x642)
+ }
+
+ ShiftLeft(Derefof(m604(2, 2, 1, 1)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ ShiftLeft(Derefof(m604(2, 2, 1, 1)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x642)
+
+ // Method returns Integer
+
+ ShiftLeft(Derefof(m604(2, 2, 1, 1)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ ShiftLeft(Derefof(m604(2, 2, 1, 1)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x642)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(Derefof(m604(2, 2, 1, 1)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ ShiftLeft(Derefof(m604(2, 2, 1, 1)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x642)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftLeft(0, Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftLeft(1, Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 25, Local0, 0x800)
+
+ Store(ShiftLeft(aui5, Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftLeft(aui6, Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 27, Local0, 0x800)
+
+ if (y078) {
+ Store(ShiftLeft(Derefof(Refof(aui5)), Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Refof(aui6)), Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 29, Local0, 0x800)
+ }
+
+ Store(ShiftLeft(Derefof(Index(paui, 5)), Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Index(paui, 6)), Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 31, Local0, 0x800)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(m601(1, 5), Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftLeft(m601(1, 6), Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 33, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(Derefof(m602(1, 5, 1)), Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftLeft(Derefof(m602(1, 6, 1)), Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 35, Local0, 0x800)
+ }
+
+ ShiftLeft(0, Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftLeft(1, Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 37, Local0, 0x800)
+
+ ShiftLeft(aui5, Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftLeft(aui6, Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 39, Local0, 0x800)
+
+ if (y078) {
+ ShiftLeft(Derefof(Refof(aui5)), Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftLeft(Derefof(Refof(aui6)), Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 41, Local0, 0x800)
+ }
+
+ ShiftLeft(Derefof(Index(paui, 5)), Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftLeft(Derefof(Index(paui, 6)), Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 43, Local0, 0x800)
+
+ // Method returns Integer
+
+ ShiftLeft(m601(1, 5), Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftLeft(m601(1, 6), Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 45, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(Derefof(m602(1, 5, 1)), Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftLeft(Derefof(m602(1, 6, 1)), Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 47, Local0, 0x800)
+ }
+ }
+
+ // ShiftLeft, 64-bit
+ Method(m01a, 1)
+ {
+ // Conversion of the first operand
+
+ Store(ShiftLeft(Derefof(m604(2, 2, 5, 1)), 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(Derefof(m604(2, 2, 5, 1)), 1), Local0)
+ m600(arg0, 1, Local0, 0xfcf96723aca14508)
+
+ Store(ShiftLeft(Derefof(m604(2, 2, 5, 1)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(Derefof(m604(2, 2, 5, 1)), aui6), Local0)
+ m600(arg0, 3, Local0, 0xfcf96723aca14508)
+
+ if (y078) {
+ Store(ShiftLeft(Derefof(m604(2, 2, 5, 1)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(Derefof(m604(2, 2, 5, 1)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xfcf96723aca14508)
+ }
+
+ Store(ShiftLeft(Derefof(m604(2, 2, 5, 1)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(Derefof(m604(2, 2, 5, 1)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xfcf96723aca14508)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(Derefof(m604(2, 2, 5, 1)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(Derefof(m604(2, 2, 5, 1)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xfcf96723aca14508)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(Derefof(m604(2, 2, 5, 1)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(Derefof(m604(2, 2, 5, 1)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfcf96723aca14508)
+ }
+
+ ShiftLeft(Derefof(m604(2, 2, 5, 1)), 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(Derefof(m604(2, 2, 5, 1)), 1, Local0)
+ m600(arg0, 13, Local0, 0xfcf96723aca14508)
+
+ ShiftLeft(Derefof(m604(2, 2, 5, 1)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(Derefof(m604(2, 2, 5, 1)), aui6, Local0)
+ m600(arg0, 15, Local0, 0xfcf96723aca14508)
+
+ if (y078) {
+ ShiftLeft(Derefof(m604(2, 2, 5, 1)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(Derefof(m604(2, 2, 5, 1)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xfcf96723aca14508)
+ }
+
+ ShiftLeft(Derefof(m604(2, 2, 5, 1)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(Derefof(m604(2, 2, 5, 1)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xfcf96723aca14508)
+
+ // Method returns Integer
+
+ ShiftLeft(Derefof(m604(2, 2, 5, 1)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(Derefof(m604(2, 2, 5, 1)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xfcf96723aca14508)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(Derefof(m604(2, 2, 5, 1)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(Derefof(m604(2, 2, 5, 1)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfcf96723aca14508)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftLeft(0, Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftLeft(1, Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 25, Local0, 0x800)
+
+ Store(ShiftLeft(aui5, Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftLeft(aui6, Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 27, Local0, 0x800)
+
+ if (y078) {
+ Store(ShiftLeft(Derefof(Refof(aui5)), Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Refof(aui6)), Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 29, Local0, 0x800)
+ }
+
+ Store(ShiftLeft(Derefof(Index(paui, 5)), Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Index(paui, 6)), Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 31, Local0, 0x800)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(m601(1, 5), Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftLeft(m601(1, 6), Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 33, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(Derefof(m602(1, 5, 1)), Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftLeft(Derefof(m602(1, 6, 1)), Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 35, Local0, 0x800)
+ }
+
+ ShiftLeft(0, Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftLeft(1, Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 37, Local0, 0x800)
+
+ ShiftLeft(aui5, Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftLeft(aui6, Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 39, Local0, 0x800)
+
+ if (y078) {
+ ShiftLeft(Derefof(Refof(aui5)), Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftLeft(Derefof(Refof(aui6)), Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 41, Local0, 0x800)
+ }
+
+ ShiftLeft(Derefof(Index(paui, 5)), Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftLeft(Derefof(Index(paui, 6)), Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 43, Local0, 0x800)
+
+ // Method returns Integer
+
+ ShiftLeft(m601(1, 5), Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftLeft(m601(1, 6), Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 45, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(Derefof(m602(1, 5, 1)), Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftLeft(Derefof(m602(1, 6, 1)), Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 47, Local0, 0x800)
+ }
+
+ // Conversion of the both operands
+
+ Store(ShiftLeft(Derefof(m604(2, 2, 1, 1)), Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 48, Local0, 0x190800)
+
+ Store(ShiftLeft(Derefof(m604(2, 2, 5, 1)), Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 49, Local0, 0xE59C8EB285142000)
+
+ ShiftLeft(Derefof(m604(2, 2, 1, 1)), Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 50, Local0, 0x190800)
+
+ ShiftLeft(Derefof(m604(2, 2, 5, 1)), Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 51, Local0, 0xE59C8EB285142000)
+ }
+
+ // ShiftLeft, 32-bit
+ Method(m01b, 1)
+ {
+ // Conversion of the first operand
+
+ Store(ShiftLeft(Derefof(m604(2, 2, 4, 1)), 0), Local0)
+ m600(arg0, 0, Local0, 0xc179b3fe)
+
+ Store(ShiftLeft(Derefof(m604(2, 2, 4, 1)), 1), Local0)
+ m600(arg0, 1, Local0, 0x82f367fc)
+
+ Store(ShiftLeft(Derefof(m604(2, 2, 4, 1)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xc179b3fe)
+
+ Store(ShiftLeft(Derefof(m604(2, 2, 4, 1)), aui6), Local0)
+ m600(arg0, 3, Local0, 0x82f367fc)
+
+ if (y078) {
+ Store(ShiftLeft(Derefof(m604(2, 2, 4, 1)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xc179b3fe)
+
+ Store(ShiftLeft(Derefof(m604(2, 2, 4, 1)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x82f367fc)
+ }
+
+ Store(ShiftLeft(Derefof(m604(2, 2, 4, 1)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xc179b3fe)
+
+ Store(ShiftLeft(Derefof(m604(2, 2, 4, 1)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x82f367fc)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(Derefof(m604(2, 2, 4, 1)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xc179b3fe)
+
+ Store(ShiftLeft(Derefof(m604(2, 2, 4, 1)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x82f367fc)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(Derefof(m604(2, 2, 4, 1)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xc179b3fe)
+
+ Store(ShiftLeft(Derefof(m604(2, 2, 4, 1)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x82f367fc)
+ }
+
+ ShiftLeft(Derefof(m604(2, 2, 4, 1)), 0, Local0)
+ m600(arg0, 12, Local0, 0xc179b3fe)
+
+ ShiftLeft(Derefof(m604(2, 2, 4, 1)), 1, Local0)
+ m600(arg0, 13, Local0, 0x82f367fc)
+
+ ShiftLeft(Derefof(m604(2, 2, 4, 1)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xc179b3fe)
+
+ ShiftLeft(Derefof(m604(2, 2, 4, 1)), aui6, Local0)
+ m600(arg0, 15, Local0, 0x82f367fc)
+
+ if (y078) {
+ ShiftLeft(Derefof(m604(2, 2, 4, 1)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xc179b3fe)
+
+ ShiftLeft(Derefof(m604(2, 2, 4, 1)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x82f367fc)
+ }
+
+ ShiftLeft(Derefof(m604(2, 2, 4, 1)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xc179b3fe)
+
+ ShiftLeft(Derefof(m604(2, 2, 4, 1)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x82f367fc)
+
+ // Method returns Integer
+
+ ShiftLeft(Derefof(m604(2, 2, 4, 1)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xc179b3fe)
+
+ ShiftLeft(Derefof(m604(2, 2, 4, 1)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x82f367fc)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(Derefof(m604(2, 2, 4, 1)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xc179b3fe)
+
+ ShiftLeft(Derefof(m604(2, 2, 4, 1)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x82f367fc)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftLeft(0, Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftLeft(1, Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 25, Local0, 0x800)
+
+ Store(ShiftLeft(aui5, Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftLeft(aui6, Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 27, Local0, 0x800)
+
+ if (y078) {
+ Store(ShiftLeft(Derefof(Refof(aui5)), Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Refof(aui6)), Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 29, Local0, 0x800)
+ }
+
+ Store(ShiftLeft(Derefof(Index(paui, 5)), Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Index(paui, 6)), Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 31, Local0, 0x800)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(m601(1, 5), Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftLeft(m601(1, 6), Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 33, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(Derefof(m602(1, 5, 1)), Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftLeft(Derefof(m602(1, 6, 1)), Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 35, Local0, 0x800)
+ }
+
+ ShiftLeft(0, Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftLeft(1, Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 37, Local0, 0x800)
+
+ ShiftLeft(aui5, Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftLeft(aui6, Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 39, Local0, 0x800)
+
+ if (y078) {
+ ShiftLeft(Derefof(Refof(aui5)), Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftLeft(Derefof(Refof(aui6)), Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 41, Local0, 0x800)
+ }
+
+ ShiftLeft(Derefof(Index(paui, 5)), Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftLeft(Derefof(Index(paui, 6)), Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 43, Local0, 0x800)
+
+ // Method returns Integer
+
+ ShiftLeft(m601(1, 5), Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftLeft(m601(1, 6), Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 45, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(Derefof(m602(1, 5, 1)), Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftLeft(Derefof(m602(1, 6, 1)), Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 47, Local0, 0x800)
+ }
+
+ // Conversion of the both operands
+
+ Store(ShiftLeft(Derefof(m604(2, 2, 1, 1)), Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 48, Local0, 0x190800)
+
+ Store(ShiftLeft(Derefof(m604(2, 2, 4, 1)), Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 49, Local0, 0xcd9ff000)
+
+ ShiftLeft(Derefof(m604(2, 2, 1, 1)), Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 50, Local0, 0x190800)
+
+ ShiftLeft(Derefof(m604(2, 2, 4, 1)), Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 51, Local0, 0xcd9ff000)
+ }
+
+ // ShiftRight, common 32-bit/64-bit test
+ Method(m01c, 1)
+ {
+ // Conversion of the first operand
+
+ Store(ShiftRight(Derefof(m604(2, 2, 1, 1)), 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(ShiftRight(Derefof(m604(2, 2, 1, 1)), 1), Local0)
+ m600(arg0, 1, Local0, 0x190)
+
+ Store(ShiftRight(Derefof(m604(2, 2, 1, 1)), aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(ShiftRight(Derefof(m604(2, 2, 1, 1)), aui6), Local0)
+ m600(arg0, 3, Local0, 0x190)
+
+ if (y078) {
+ Store(ShiftRight(Derefof(m604(2, 2, 1, 1)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(ShiftRight(Derefof(m604(2, 2, 1, 1)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x190)
+ }
+
+ Store(ShiftRight(Derefof(m604(2, 2, 1, 1)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(ShiftRight(Derefof(m604(2, 2, 1, 1)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x190)
+
+ // Method returns Integer
+
+ Store(ShiftRight(Derefof(m604(2, 2, 1, 1)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(ShiftRight(Derefof(m604(2, 2, 1, 1)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x190)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(Derefof(m604(2, 2, 1, 1)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(ShiftRight(Derefof(m604(2, 2, 1, 1)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x190)
+ }
+
+ ShiftRight(Derefof(m604(2, 2, 1, 1)), 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ ShiftRight(Derefof(m604(2, 2, 1, 1)), 1, Local0)
+ m600(arg0, 13, Local0, 0x190)
+
+ ShiftRight(Derefof(m604(2, 2, 1, 1)), aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ ShiftRight(Derefof(m604(2, 2, 1, 1)), aui6, Local0)
+ m600(arg0, 15, Local0, 0x190)
+
+ if (y078) {
+ ShiftRight(Derefof(m604(2, 2, 1, 1)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ ShiftRight(Derefof(m604(2, 2, 1, 1)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x190)
+ }
+
+ ShiftRight(Derefof(m604(2, 2, 1, 1)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ ShiftRight(Derefof(m604(2, 2, 1, 1)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x190)
+
+ // Method returns Integer
+
+ ShiftRight(Derefof(m604(2, 2, 1, 1)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ ShiftRight(Derefof(m604(2, 2, 1, 1)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x190)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(Derefof(m604(2, 2, 1, 1)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ ShiftRight(Derefof(m604(2, 2, 1, 1)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x190)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftRight(0x321, Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftRight(0xc179b3fe, Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 25, Local0, 0x182f36)
+
+ Store(ShiftRight(aui1, Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftRight(aui3, Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 27, Local0, 0x182f36)
+
+ if (y078) {
+ Store(ShiftRight(Derefof(Refof(aui1)), Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftRight(Derefof(Refof(aui3)), Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 29, Local0, 0x182f36)
+ }
+
+ Store(ShiftRight(Derefof(Index(paui, 1)), Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftRight(Derefof(Index(paui, 3)), Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 31, Local0, 0x182f36)
+
+ // Method returns Integer
+
+ Store(ShiftRight(m601(1, 1), Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftRight(m601(1, 3), Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 33, Local0, 0x182f36)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(Derefof(m602(1, 1, 1)), Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftRight(Derefof(m602(1, 3, 1)), Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 35, Local0, 0x182f36)
+ }
+
+ ShiftRight(0x321, Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftRight(0xc179b3fe, Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 37, Local0, 0x182f36)
+
+ ShiftRight(aui1, Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftRight(aui3, Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 39, Local0, 0x182f36)
+
+ if (y078) {
+ ShiftRight(Derefof(Refof(aui1)), Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftRight(Derefof(Refof(aui3)), Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 41, Local0, 0x182f36)
+ }
+
+ ShiftRight(Derefof(Index(paui, 1)), Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftRight(Derefof(Index(paui, 3)), Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 43, Local0, 0x182f36)
+
+ // Method returns Integer
+
+ ShiftRight(m601(1, 1), Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftRight(m601(1, 3), Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 45, Local0, 0x182f36)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(Derefof(m602(1, 1, 1)), Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftRight(Derefof(m602(1, 3, 1)), Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 47, Local0, 0x182f36)
+ }
+ }
+
+ // ShiftRight, 64-bit
+ Method(m01d, 1)
+ {
+ // Conversion of the first operand
+
+ Store(ShiftRight(Derefof(m604(2, 2, 5, 1)), 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(Derefof(m604(2, 2, 5, 1)), 1), Local0)
+ m600(arg0, 1, Local0, 0x7f3e59c8eb285142)
+
+ Store(ShiftRight(Derefof(m604(2, 2, 5, 1)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(Derefof(m604(2, 2, 5, 1)), aui6), Local0)
+ m600(arg0, 3, Local0, 0x7f3e59c8eb285142)
+
+ if (y078) {
+ Store(ShiftRight(Derefof(m604(2, 2, 5, 1)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(Derefof(m604(2, 2, 5, 1)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x7f3e59c8eb285142)
+ }
+
+ Store(ShiftRight(Derefof(m604(2, 2, 5, 1)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(Derefof(m604(2, 2, 5, 1)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x7f3e59c8eb285142)
+
+ // Method returns Integer
+
+ Store(ShiftRight(Derefof(m604(2, 2, 5, 1)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(Derefof(m604(2, 2, 5, 1)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x7f3e59c8eb285142)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(Derefof(m604(2, 2, 5, 1)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(Derefof(m604(2, 2, 5, 1)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x7f3e59c8eb285142)
+ }
+
+ ShiftRight(Derefof(m604(2, 2, 5, 1)), 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(Derefof(m604(2, 2, 5, 1)), 1, Local0)
+ m600(arg0, 13, Local0, 0x7f3e59c8eb285142)
+
+ ShiftRight(Derefof(m604(2, 2, 5, 1)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(Derefof(m604(2, 2, 5, 1)), aui6, Local0)
+ m600(arg0, 15, Local0, 0x7f3e59c8eb285142)
+
+ if (y078) {
+ ShiftRight(Derefof(m604(2, 2, 5, 1)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(Derefof(m604(2, 2, 5, 1)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x7f3e59c8eb285142)
+ }
+
+ ShiftRight(Derefof(m604(2, 2, 5, 1)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(Derefof(m604(2, 2, 5, 1)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x7f3e59c8eb285142)
+
+ // Method returns Integer
+
+ ShiftRight(Derefof(m604(2, 2, 5, 1)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(Derefof(m604(2, 2, 5, 1)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x7f3e59c8eb285142)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(Derefof(m604(2, 2, 5, 1)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(Derefof(m604(2, 2, 5, 1)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x7f3e59c8eb285142)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftRight(0x321, Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftRight(0xfe7cb391d650a284, Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 25, Local0, 0x1fcf96723aca14)
+
+ Store(ShiftRight(aui1, Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftRight(aui4, Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 27, Local0, 0x1fcf96723aca14)
+
+ if (y078) {
+ Store(ShiftRight(Derefof(Refof(aui1)), Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftRight(Derefof(Refof(aui4)), Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 29, Local0, 0x1fcf96723aca14)
+ }
+
+ Store(ShiftRight(Derefof(Index(paui, 1)), Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftRight(Derefof(Index(paui, 4)), Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 31, Local0, 0x1fcf96723aca14)
+
+ // Method returns Integer
+
+ Store(ShiftRight(m601(1, 1), Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftRight(m601(1, 4), Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 33, Local0, 0x1fcf96723aca14)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(Derefof(m602(1, 1, 1)), Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftRight(Derefof(m602(1, 4, 1)), Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 35, Local0, 0x1fcf96723aca14)
+ }
+
+ ShiftRight(0x321, Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftRight(0xfe7cb391d650a284, Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 37, Local0, 0x1fcf96723aca14)
+
+ ShiftRight(aui1, Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftRight(aui4, Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 39, Local0, 0x1fcf96723aca14)
+
+ if (y078) {
+ ShiftRight(Derefof(Refof(aui1)), Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftRight(Derefof(Refof(aui4)), Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 41, Local0, 0x1fcf96723aca14)
+ }
+
+ ShiftRight(Derefof(Index(paui, 1)), Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftRight(Derefof(Index(paui, 4)), Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 43, Local0, 0x1fcf96723aca14)
+
+ // Method returns Integer
+
+ ShiftRight(m601(1, 1), Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftRight(m601(1, 4), Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 45, Local0, 0x1fcf96723aca14)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(Derefof(m602(1, 1, 1)), Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftRight(Derefof(m602(1, 4, 1)), Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 47, Local0, 0x1fcf96723aca14)
+ }
+
+ // Conversion of the both operands
+
+ Store(ShiftRight(Derefof(m604(2, 2, 1, 1)), Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 48, Local0, 0)
+
+ Store(ShiftRight(Derefof(m604(2, 2, 5, 1)), Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 49, Local0, 0x1fcf96723aca14)
+
+ ShiftRight(Derefof(m604(2, 2, 1, 1)), Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 50, Local0, 0)
+
+ ShiftRight(Derefof(m604(2, 2, 5, 1)), Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 51, Local0, 0x1fcf96723aca14)
+ }
+
+ // ShiftRight, 32-bit
+ Method(m01e, 1)
+ {
+ // Conversion of the first operand
+
+ Store(ShiftRight(Derefof(m604(2, 2, 4, 1)), 0), Local0)
+ m600(arg0, 0, Local0, 0xc179b3fe)
+
+ Store(ShiftRight(Derefof(m604(2, 2, 4, 1)), 1), Local0)
+ m600(arg0, 1, Local0, 0x60bcd9ff)
+
+ Store(ShiftRight(Derefof(m604(2, 2, 4, 1)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xc179b3fe)
+
+ Store(ShiftRight(Derefof(m604(2, 2, 4, 1)), aui6), Local0)
+ m600(arg0, 3, Local0, 0x60bcd9ff)
+
+ if (y078) {
+ Store(ShiftRight(Derefof(m604(2, 2, 4, 1)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xc179b3fe)
+
+ Store(ShiftRight(Derefof(m604(2, 2, 4, 1)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x60bcd9ff)
+ }
+
+ Store(ShiftRight(Derefof(m604(2, 2, 4, 1)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xc179b3fe)
+
+ Store(ShiftRight(Derefof(m604(2, 2, 4, 1)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x60bcd9ff)
+
+ // Method returns Integer
+
+ Store(ShiftRight(Derefof(m604(2, 2, 4, 1)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xc179b3fe)
+
+ Store(ShiftRight(Derefof(m604(2, 2, 4, 1)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x60bcd9ff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(Derefof(m604(2, 2, 4, 1)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xc179b3fe)
+
+ Store(ShiftRight(Derefof(m604(2, 2, 4, 1)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x60bcd9ff)
+ }
+
+ ShiftRight(Derefof(m604(2, 2, 4, 1)), 0, Local0)
+ m600(arg0, 12, Local0, 0xc179b3fe)
+
+ ShiftRight(Derefof(m604(2, 2, 4, 1)), 1, Local0)
+ m600(arg0, 13, Local0, 0x60bcd9ff)
+
+ ShiftRight(Derefof(m604(2, 2, 4, 1)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xc179b3fe)
+
+ ShiftRight(Derefof(m604(2, 2, 4, 1)), aui6, Local0)
+ m600(arg0, 15, Local0, 0x60bcd9ff)
+
+ if (y078) {
+ ShiftRight(Derefof(m604(2, 2, 4, 1)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xc179b3fe)
+
+ ShiftRight(Derefof(m604(2, 2, 4, 1)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x60bcd9ff)
+ }
+
+ ShiftRight(Derefof(m604(2, 2, 4, 1)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xc179b3fe)
+
+ ShiftRight(Derefof(m604(2, 2, 4, 1)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x60bcd9ff)
+
+ // Method returns Integer
+
+ ShiftRight(Derefof(m604(2, 2, 4, 1)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xc179b3fe)
+
+ ShiftRight(Derefof(m604(2, 2, 4, 1)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x60bcd9ff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(Derefof(m604(2, 2, 4, 1)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xc179b3fe)
+
+ ShiftRight(Derefof(m604(2, 2, 4, 1)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x60bcd9ff)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftRight(0x321, Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftRight(0xc179b3fe, Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 25, Local0, 0x182f36)
+
+ Store(ShiftRight(aui1, Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftRight(aui3, Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 27, Local0, 0x182f36)
+
+ if (y078) {
+ Store(ShiftRight(Derefof(Refof(aui1)), Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftRight(Derefof(Refof(aui3)), Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 29, Local0, 0x182f36)
+ }
+
+ Store(ShiftRight(Derefof(Index(paui, 1)), Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftRight(Derefof(Index(paui, 3)), Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 31, Local0, 0x182f36)
+
+ // Method returns Integer
+
+ Store(ShiftRight(m601(1, 1), Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftRight(m601(1, 3), Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 33, Local0, 0x182f36)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(Derefof(m602(1, 1, 1)), Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftRight(Derefof(m602(1, 3, 1)), Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 35, Local0, 0x182f36)
+ }
+
+ ShiftRight(0x321, Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftRight(0xc179b3fe, Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 37, Local0, 0x182f36)
+
+ ShiftRight(aui1, Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftRight(aui3, Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 39, Local0, 0x182f36)
+
+ if (y078) {
+ ShiftRight(Derefof(Refof(aui1)), Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftRight(Derefof(Refof(aui3)), Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 41, Local0, 0x182f36)
+ }
+
+ ShiftRight(Derefof(Index(paui, 1)), Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftRight(Derefof(Index(paui, 3)), Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 43, Local0, 0x182f36)
+
+ // Method returns Integer
+
+ ShiftRight(m601(1, 1), Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftRight(m601(1, 3), Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 45, Local0, 0x182f36)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(Derefof(m602(1, 1, 1)), Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftRight(Derefof(m602(1, 3, 1)), Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 47, Local0, 0x182f36)
+ }
+
+ // Conversion of the both operands
+
+ Store(ShiftRight(Derefof(m604(2, 2, 1, 1)), Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 48, Local0, 0)
+
+ Store(ShiftRight(Derefof(m604(2, 2, 4, 1)), Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 49, Local0, 0x182f36)
+
+ ShiftRight(Derefof(m604(2, 2, 1, 1)), Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 50, Local0, 0)
+
+ ShiftRight(Derefof(m604(2, 2, 4, 1)), Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 51, Local0, 0x182f36)
+ }
+
+ // Subtract, common 32-bit/64-bit test
+ Method(m01f, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Subtract(Derefof(m604(2, 2, 1, 1)), 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Subtract(Derefof(m604(2, 2, 1, 1)), 1), Local0)
+ m600(arg0, 1, Local0, 0x320)
+
+ Store(Subtract(Derefof(m604(2, 2, 1, 1)), aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Subtract(Derefof(m604(2, 2, 1, 1)), aui6), Local0)
+ m600(arg0, 3, Local0, 0x320)
+
+ if (y078) {
+ Store(Subtract(Derefof(m604(2, 2, 1, 1)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Subtract(Derefof(m604(2, 2, 1, 1)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x320)
+ }
+
+ Store(Subtract(Derefof(m604(2, 2, 1, 1)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Subtract(Derefof(m604(2, 2, 1, 1)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x320)
+
+ // Method returns Integer
+
+ Store(Subtract(Derefof(m604(2, 2, 1, 1)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Subtract(Derefof(m604(2, 2, 1, 1)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x320)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(Derefof(m604(2, 2, 1, 1)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Subtract(Derefof(m604(2, 2, 1, 1)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x320)
+ }
+
+ Subtract(Derefof(m604(2, 2, 1, 1)), 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Subtract(Derefof(m604(2, 2, 1, 1)), 1, Local0)
+ m600(arg0, 13, Local0, 0x320)
+
+ Subtract(Derefof(m604(2, 2, 1, 1)), aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Subtract(Derefof(m604(2, 2, 1, 1)), aui6, Local0)
+ m600(arg0, 15, Local0, 0x320)
+
+ if (y078) {
+ Subtract(Derefof(m604(2, 2, 1, 1)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Subtract(Derefof(m604(2, 2, 1, 1)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x320)
+ }
+
+ Subtract(Derefof(m604(2, 2, 1, 1)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Subtract(Derefof(m604(2, 2, 1, 1)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x320)
+
+ // Method returns Integer
+
+ Subtract(Derefof(m604(2, 2, 1, 1)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Subtract(Derefof(m604(2, 2, 1, 1)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x320)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(Derefof(m604(2, 2, 1, 1)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Subtract(Derefof(m604(2, 2, 1, 1)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x320)
+ }
+
+ // Conversion of the second operand
+
+ Store(Subtract(0, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 24, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(1, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 25, Local0, 0xfffffffffffffce0)
+
+ Store(Subtract(aui5, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 26, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(aui6, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 27, Local0, 0xfffffffffffffce0)
+
+ if (y078) {
+ Store(Subtract(Derefof(Refof(aui5)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 28, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(Derefof(Refof(aui6)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 29, Local0, 0xfffffffffffffce0)
+ }
+
+ Store(Subtract(Derefof(Index(paui, 5)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 30, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(Derefof(Index(paui, 6)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 31, Local0, 0xfffffffffffffce0)
+
+ // Method returns Integer
+
+ Store(Subtract(m601(1, 5), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 32, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(m601(1, 6), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 33, Local0, 0xfffffffffffffce0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(Derefof(m602(1, 5, 1)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 34, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(Derefof(m602(1, 6, 1)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 35, Local0, 0xfffffffffffffce0)
+ }
+
+ Subtract(0, Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 36, Local0, 0xfffffffffffffcdf)
+
+ Subtract(1, Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 37, Local0, 0xfffffffffffffce0)
+
+ Subtract(aui5, Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 38, Local0, 0xfffffffffffffcdf)
+
+ Subtract(aui6, Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 39, Local0, 0xfffffffffffffce0)
+
+ if (y078) {
+ Subtract(Derefof(Refof(aui5)), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 40, Local0, 0xfffffffffffffcdf)
+
+ Subtract(Derefof(Refof(aui6)), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 41, Local0, 0xfffffffffffffce0)
+ }
+
+ Subtract(Derefof(Index(paui, 5)), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 42, Local0, 0xfffffffffffffcdf)
+
+ Subtract(Derefof(Index(paui, 6)), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 43, Local0, 0xfffffffffffffce0)
+
+ // Method returns Integer
+
+ Subtract(m601(1, 5), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 44, Local0, 0xfffffffffffffcdf)
+
+ Subtract(m601(1, 6), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 45, Local0, 0xfffffffffffffce0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(Derefof(m602(1, 5, 1)), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 46, Local0, 0xfffffffffffffcdf)
+
+ Subtract(Derefof(m602(1, 6, 1)), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 47, Local0, 0xfffffffffffffce0)
+ }
+ }
+
+ // Subtract, 64-bit
+ Method(m020, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Subtract(Derefof(m604(2, 2, 5, 1)), 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(Derefof(m604(2, 2, 5, 1)), 1), Local0)
+ m600(arg0, 1, Local0, 0xfe7cb391d650a283)
+
+ Store(Subtract(Derefof(m604(2, 2, 5, 1)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(Derefof(m604(2, 2, 5, 1)), aui6), Local0)
+ m600(arg0, 3, Local0, 0xfe7cb391d650a283)
+
+ if (y078) {
+ Store(Subtract(Derefof(m604(2, 2, 5, 1)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(Derefof(m604(2, 2, 5, 1)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xfe7cb391d650a283)
+ }
+
+ Store(Subtract(Derefof(m604(2, 2, 5, 1)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(Derefof(m604(2, 2, 5, 1)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Integer
+
+ Store(Subtract(Derefof(m604(2, 2, 5, 1)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(Derefof(m604(2, 2, 5, 1)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(Derefof(m604(2, 2, 5, 1)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(Derefof(m604(2, 2, 5, 1)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfe7cb391d650a283)
+ }
+
+ Subtract(Derefof(m604(2, 2, 5, 1)), 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Subtract(Derefof(m604(2, 2, 5, 1)), 1, Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a283)
+
+ Subtract(Derefof(m604(2, 2, 5, 1)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Subtract(Derefof(m604(2, 2, 5, 1)), aui6, Local0)
+ m600(arg0, 15, Local0, 0xfe7cb391d650a283)
+
+ if (y078) {
+ Subtract(Derefof(m604(2, 2, 5, 1)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Subtract(Derefof(m604(2, 2, 5, 1)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xfe7cb391d650a283)
+ }
+
+ Subtract(Derefof(m604(2, 2, 5, 1)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Subtract(Derefof(m604(2, 2, 5, 1)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Integer
+
+ Subtract(Derefof(m604(2, 2, 5, 1)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Subtract(Derefof(m604(2, 2, 5, 1)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(Derefof(m604(2, 2, 5, 1)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Subtract(Derefof(m604(2, 2, 5, 1)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfe7cb391d650a283)
+ }
+
+ // Conversion of the second operand
+
+ Store(Subtract(0, Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 24, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(1, Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 25, Local0, 0x01834c6e29af5d7d)
+
+ Store(Subtract(aui5, Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 26, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(aui6, Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 27, Local0, 0x01834c6e29af5d7d)
+
+ if (y078) {
+ Store(Subtract(Derefof(Refof(aui5)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 28, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(Derefof(Refof(aui6)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 29, Local0, 0x01834c6e29af5d7d)
+ }
+
+ Store(Subtract(Derefof(Index(paui, 5)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 30, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(Derefof(Index(paui, 6)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 31, Local0, 0x01834c6e29af5d7d)
+
+ // Method returns Integer
+
+ Store(Subtract(m601(1, 5), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 32, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(m601(1, 6), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 33, Local0, 0x01834c6e29af5d7d)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(Derefof(m602(1, 5, 1)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 34, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(Derefof(m602(1, 6, 1)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 35, Local0, 0x01834c6e29af5d7d)
+ }
+
+ Subtract(0, Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 36, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(1, Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 37, Local0, 0x01834c6e29af5d7d)
+
+ Subtract(aui5, Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 38, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(aui6, Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 39, Local0, 0x01834c6e29af5d7d)
+
+ if (y078) {
+ Subtract(Derefof(Refof(aui5)), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 40, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(Derefof(Refof(aui6)), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 41, Local0, 0x01834c6e29af5d7d)
+ }
+
+ Subtract(Derefof(Index(paui, 5)), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 42, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(Derefof(Index(paui, 6)), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 43, Local0, 0x01834c6e29af5d7d)
+
+ // Method returns Integer
+
+ Subtract(m601(1, 5), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 44, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(m601(1, 6), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 45, Local0, 0x01834c6e29af5d7d)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(Derefof(m602(1, 5, 1)), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 46, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(Derefof(m602(1, 6, 1)), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 47, Local0, 0x01834c6e29af5d7d)
+ }
+
+ // Conversion of the both operands
+
+ Store(Subtract(Derefof(m604(2, 2, 1, 1)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 48, Local0, 0x01834c6e29af609d)
+
+ Store(Subtract(Derefof(m604(2, 2, 5, 1)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 49, Local0, 0xfe7cb391d6509f63)
+
+ Subtract(Derefof(m604(2, 2, 1, 1)), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 50, Local0, 0x01834c6e29af609d)
+
+ Subtract(Derefof(m604(2, 2, 5, 1)), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 51, Local0, 0xfe7cb391d6509f63)
+ }
+
+ // Subtract, 32-bit
+ Method(m021, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Subtract(Derefof(m604(2, 2, 4, 1)), 0), Local0)
+ m600(arg0, 0, Local0, 0xc179b3fe)
+
+ Store(Subtract(Derefof(m604(2, 2, 4, 1)), 1), Local0)
+ m600(arg0, 1, Local0, 0xc179b3fd)
+
+ Store(Subtract(Derefof(m604(2, 2, 4, 1)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xc179b3fe)
+
+ Store(Subtract(Derefof(m604(2, 2, 4, 1)), aui6), Local0)
+ m600(arg0, 3, Local0, 0xc179b3fd)
+
+ if (y078) {
+ Store(Subtract(Derefof(m604(2, 2, 4, 1)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xc179b3fe)
+
+ Store(Subtract(Derefof(m604(2, 2, 4, 1)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xc179b3fd)
+ }
+
+ Store(Subtract(Derefof(m604(2, 2, 4, 1)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xc179b3fe)
+
+ Store(Subtract(Derefof(m604(2, 2, 4, 1)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xc179b3fd)
+
+ // Method returns Integer
+
+ Store(Subtract(Derefof(m604(2, 2, 4, 1)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xc179b3fe)
+
+ Store(Subtract(Derefof(m604(2, 2, 4, 1)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xc179b3fd)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(Derefof(m604(2, 2, 4, 1)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xc179b3fe)
+
+ Store(Subtract(Derefof(m604(2, 2, 4, 1)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xc179b3fd)
+ }
+
+ Subtract(Derefof(m604(2, 2, 4, 1)), 0, Local0)
+ m600(arg0, 12, Local0, 0xc179b3fe)
+
+ Subtract(Derefof(m604(2, 2, 4, 1)), 1, Local0)
+ m600(arg0, 13, Local0, 0xc179b3fd)
+
+ Subtract(Derefof(m604(2, 2, 4, 1)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xc179b3fe)
+
+ Subtract(Derefof(m604(2, 2, 4, 1)), aui6, Local0)
+ m600(arg0, 15, Local0, 0xc179b3fd)
+
+ if (y078) {
+ Subtract(Derefof(m604(2, 2, 4, 1)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xc179b3fe)
+
+ Subtract(Derefof(m604(2, 2, 4, 1)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xc179b3fd)
+ }
+
+ Subtract(Derefof(m604(2, 2, 4, 1)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xc179b3fe)
+
+ Subtract(Derefof(m604(2, 2, 4, 1)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xc179b3fd)
+
+ // Method returns Integer
+
+ Subtract(Derefof(m604(2, 2, 4, 1)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xc179b3fe)
+
+ Subtract(Derefof(m604(2, 2, 4, 1)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xc179b3fd)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(Derefof(m604(2, 2, 4, 1)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xc179b3fe)
+
+ Subtract(Derefof(m604(2, 2, 4, 1)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xc179b3fd)
+ }
+
+ // Conversion of the second operand
+
+ Store(Subtract(0, Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 24, Local0, 0x3e864c02)
+
+ Store(Subtract(1, Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 25, Local0, 0x3e864c03)
+
+ Store(Subtract(aui5, Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 26, Local0, 0x3e864c02)
+
+ Store(Subtract(aui6, Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 27, Local0, 0x3e864c03)
+
+ if (y078) {
+ Store(Subtract(Derefof(Refof(aui5)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 28, Local0, 0x3e864c02)
+
+ Store(Subtract(Derefof(Refof(aui6)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 29, Local0, 0x3e864c03)
+ }
+
+ Store(Subtract(Derefof(Index(paui, 5)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 30, Local0, 0x3e864c02)
+
+ Store(Subtract(Derefof(Index(paui, 6)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 31, Local0, 0x3e864c03)
+
+ // Method returns Integer
+
+ Store(Subtract(m601(1, 5), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 32, Local0, 0x3e864c02)
+
+ Store(Subtract(m601(1, 6), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 33, Local0, 0x3e864c03)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(Derefof(m602(1, 5, 1)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 34, Local0, 0x3e864c02)
+
+ Store(Subtract(Derefof(m602(1, 6, 1)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 35, Local0, 0x3e864c03)
+ }
+
+ Subtract(0, Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 36, Local0, 0x3e864c02)
+
+ Subtract(1, Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 37, Local0, 0x3e864c03)
+
+ Subtract(aui5, Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 38, Local0, 0x3e864c02)
+
+ Subtract(aui6, Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 39, Local0, 0x3e864c03)
+
+ if (y078) {
+ Subtract(Derefof(Refof(aui5)), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 40, Local0, 0x3e864c02)
+
+ Subtract(Derefof(Refof(aui6)), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 41, Local0, 0x3e864c03)
+ }
+
+ Subtract(Derefof(Index(paui, 5)), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 42, Local0, 0x3e864c02)
+
+ Subtract(Derefof(Index(paui, 6)), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 43, Local0, 0x3e864c03)
+
+ // Method returns Integer
+
+ Subtract(m601(1, 5), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 44, Local0, 0x3e864c02)
+
+ Subtract(m601(1, 6), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 45, Local0, 0x3e864c03)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(Derefof(m602(1, 5, 1)), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 46, Local0, 0x3e864c02)
+
+ Subtract(Derefof(m602(1, 6, 1)), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 47, Local0, 0x3e864c03)
+ }
+
+ // Conversion of the both operands
+
+ Store(Subtract(Derefof(m604(2, 2, 1, 1)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 48, Local0, 0x3e864f23)
+
+ Store(Subtract(Derefof(m604(2, 2, 4, 1)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 49, Local0, 0xc179b0dd)
+
+ Subtract(Derefof(m604(2, 2, 1, 1)), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 50, Local0, 0x3e864f23)
+
+ Subtract(Derefof(m604(2, 2, 4, 1)), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 51, Local0, 0xc179b0dd)
+ }
+
+ // XOr, common 32-bit/64-bit test
+ Method(m022, 1)
+ {
+ // Conversion of the first operand
+
+ Store(XOr(Derefof(m604(2, 2, 1, 1)), 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(XOr(Derefof(m604(2, 2, 1, 1)), 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xfffffffffffffcde)
+
+ Store(XOr(Derefof(m604(2, 2, 1, 1)), aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(XOr(Derefof(m604(2, 2, 1, 1)), auij), Local0)
+ m600(arg0, 3, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ Store(XOr(Derefof(m604(2, 2, 1, 1)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(XOr(Derefof(m604(2, 2, 1, 1)), Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xfffffffffffffcde)
+ }
+
+ Store(XOr(Derefof(m604(2, 2, 1, 1)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(XOr(Derefof(m604(2, 2, 1, 1)), Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ Store(XOr(Derefof(m604(2, 2, 1, 1)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(XOr(Derefof(m604(2, 2, 1, 1)), m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(Derefof(m604(2, 2, 1, 1)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(XOr(Derefof(m604(2, 2, 1, 1)), Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfffffffffffffcde)
+ }
+
+ XOr(Derefof(m604(2, 2, 1, 1)), 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ XOr(Derefof(m604(2, 2, 1, 1)), 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xfffffffffffffcde)
+
+ XOr(Derefof(m604(2, 2, 1, 1)), aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ XOr(Derefof(m604(2, 2, 1, 1)), auij, Local0)
+ m600(arg0, 15, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ XOr(Derefof(m604(2, 2, 1, 1)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ XOr(Derefof(m604(2, 2, 1, 1)), Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xfffffffffffffcde)
+ }
+
+ XOr(Derefof(m604(2, 2, 1, 1)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ XOr(Derefof(m604(2, 2, 1, 1)), Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ XOr(Derefof(m604(2, 2, 1, 1)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ XOr(Derefof(m604(2, 2, 1, 1)), m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(Derefof(m604(2, 2, 1, 1)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ XOr(Derefof(m604(2, 2, 1, 1)), Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfffffffffffffcde)
+ }
+
+ // Conversion of the second operand
+
+ Store(XOr(0, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 24, Local0, 0x321)
+
+ Store(XOr(0xffffffffffffffff, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 25, Local0, 0xfffffffffffffcde)
+
+ Store(XOr(aui5, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 26, Local0, 0x321)
+
+ Store(XOr(auij, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 27, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ Store(XOr(Derefof(Refof(aui5)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 28, Local0, 0x321)
+
+ Store(XOr(Derefof(Refof(auij)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 29, Local0, 0xfffffffffffffcde)
+ }
+
+ Store(XOr(Derefof(Index(paui, 5)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 30, Local0, 0x321)
+
+ Store(XOr(Derefof(Index(paui, 19)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 31, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ Store(XOr(m601(1, 5), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 32, Local0, 0x321)
+
+ Store(XOr(m601(1, 19), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 33, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(Derefof(m602(1, 5, 1)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 34, Local0, 0x321)
+
+ Store(XOr(Derefof(m602(1, 19, 1)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 35, Local0, 0xfffffffffffffcde)
+ }
+
+ XOr(0, Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 36, Local0, 0x321)
+
+ XOr(0xffffffffffffffff, Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 37, Local0, 0xfffffffffffffcde)
+
+ XOr(aui5, Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 38, Local0, 0x321)
+
+ XOr(auij, Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 39, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ XOr(Derefof(Refof(aui5)), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 40, Local0, 0x321)
+
+ XOr(Derefof(Refof(auij)), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 41, Local0, 0xfffffffffffffcde)
+ }
+
+ XOr(Derefof(Index(paui, 5)), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 42, Local0, 0x321)
+
+ XOr(Derefof(Index(paui, 19)), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 43, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ XOr(m601(1, 5), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 44, Local0, 0x321)
+
+ XOr(m601(1, 19), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 45, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(Derefof(m602(1, 5, 1)), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 46, Local0, 0x321)
+
+ XOr(Derefof(m602(1, 19, 1)), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 47, Local0, 0xfffffffffffffcde)
+ }
+ }
+
+ // XOr, 64-bit
+ Method(m023, 1)
+ {
+ // Conversion of the first operand
+
+ Store(XOr(Derefof(m604(2, 2, 5, 1)), 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(m604(2, 2, 5, 1)), 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0x01834c6e29af5d7b)
+
+ Store(XOr(Derefof(m604(2, 2, 5, 1)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(m604(2, 2, 5, 1)), auij), Local0)
+ m600(arg0, 3, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ Store(XOr(Derefof(m604(2, 2, 5, 1)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(m604(2, 2, 5, 1)), Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Store(XOr(Derefof(m604(2, 2, 5, 1)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(m604(2, 2, 5, 1)), Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ Store(XOr(Derefof(m604(2, 2, 5, 1)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(m604(2, 2, 5, 1)), m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(Derefof(m604(2, 2, 5, 1)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(m604(2, 2, 5, 1)), Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0x01834c6e29af5d7b)
+ }
+
+ XOr(Derefof(m604(2, 2, 5, 1)), 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(m604(2, 2, 5, 1)), 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0x01834c6e29af5d7b)
+
+ XOr(Derefof(m604(2, 2, 5, 1)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(m604(2, 2, 5, 1)), auij, Local0)
+ m600(arg0, 15, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ XOr(Derefof(m604(2, 2, 5, 1)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(m604(2, 2, 5, 1)), Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0x01834c6e29af5d7b)
+ }
+
+ XOr(Derefof(m604(2, 2, 5, 1)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(m604(2, 2, 5, 1)), Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ XOr(Derefof(m604(2, 2, 5, 1)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(m604(2, 2, 5, 1)), m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(Derefof(m604(2, 2, 5, 1)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(m604(2, 2, 5, 1)), Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0x01834c6e29af5d7b)
+ }
+
+ // Conversion of the second operand
+
+ Store(XOr(0, Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 24, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(0xffffffffffffffff, Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 25, Local0, 0x01834c6e29af5d7b)
+
+ Store(XOr(aui5, Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 26, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(auij, Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 27, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ Store(XOr(Derefof(Refof(aui5)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 28, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(Refof(auij)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 29, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Store(XOr(Derefof(Index(paui, 5)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 30, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(Index(paui, 19)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 31, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ Store(XOr(m601(1, 5), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 32, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(m601(1, 19), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 33, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(Derefof(m602(1, 5, 1)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 34, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(m602(1, 19, 1)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 35, Local0, 0x01834c6e29af5d7b)
+ }
+
+ XOr(0, Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 36, Local0, 0xfe7cb391d650a284)
+
+ XOr(0xffffffffffffffff, Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 37, Local0, 0x01834c6e29af5d7b)
+
+ XOr(aui5, Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 38, Local0, 0xfe7cb391d650a284)
+
+ XOr(auij, Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 39, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ XOr(Derefof(Refof(aui5)), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 40, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(Refof(auij)), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 41, Local0, 0x01834c6e29af5d7b)
+ }
+
+ XOr(Derefof(Index(paui, 5)), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 42, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(Index(paui, 19)), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 43, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ XOr(m601(1, 5), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 44, Local0, 0xfe7cb391d650a284)
+
+ XOr(m601(1, 19), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 45, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(Derefof(m602(1, 5, 1)), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 46, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(m602(1, 19, 1)), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 47, Local0, 0x01834c6e29af5d7b)
+ }
+
+ // Conversion of the both operands
+
+ Store(XOr(Derefof(m604(2, 2, 1, 1)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 48, Local0, 0xfe7cb391d650a1a5)
+
+ Store(XOr(Derefof(m604(2, 2, 5, 1)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 49, Local0, 0xfe7cb391d650a1a5)
+
+ XOr(Derefof(m604(2, 2, 1, 1)), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 50, Local0, 0xfe7cb391d650a1a5)
+
+ XOr(Derefof(m604(2, 2, 5, 1)), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 51, Local0, 0xfe7cb391d650a1a5)
+ }
+
+ // XOr, 32-bit
+ Method(m024, 1)
+ {
+ // Conversion of the first operand
+
+ Store(XOr(Derefof(m604(2, 2, 4, 1)), 0), Local0)
+ m600(arg0, 0, Local0, 0xc179b3fe)
+
+ Store(XOr(Derefof(m604(2, 2, 4, 1)), 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0x3e864c01)
+
+ Store(XOr(Derefof(m604(2, 2, 4, 1)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xc179b3fe)
+
+ Store(XOr(Derefof(m604(2, 2, 4, 1)), auii), Local0)
+ m600(arg0, 3, Local0, 0x3e864c01)
+
+ if (y078) {
+ Store(XOr(Derefof(m604(2, 2, 4, 1)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xc179b3fe)
+
+ Store(XOr(Derefof(m604(2, 2, 4, 1)), Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0x3e864c01)
+ }
+
+ Store(XOr(Derefof(m604(2, 2, 4, 1)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xc179b3fe)
+
+ Store(XOr(Derefof(m604(2, 2, 4, 1)), Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0x3e864c01)
+
+ // Method returns Integer
+
+ Store(XOr(Derefof(m604(2, 2, 4, 1)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xc179b3fe)
+
+ Store(XOr(Derefof(m604(2, 2, 4, 1)), m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0x3e864c01)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(Derefof(m604(2, 2, 4, 1)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xc179b3fe)
+
+ Store(XOr(Derefof(m604(2, 2, 4, 1)), Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0x3e864c01)
+ }
+
+ XOr(Derefof(m604(2, 2, 4, 1)), 0, Local0)
+ m600(arg0, 12, Local0, 0xc179b3fe)
+
+ XOr(Derefof(m604(2, 2, 4, 1)), 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0x3e864c01)
+
+ XOr(Derefof(m604(2, 2, 4, 1)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xc179b3fe)
+
+ XOr(Derefof(m604(2, 2, 4, 1)), auii, Local0)
+ m600(arg0, 15, Local0, 0x3e864c01)
+
+ if (y078) {
+ XOr(Derefof(m604(2, 2, 4, 1)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xc179b3fe)
+
+ XOr(Derefof(m604(2, 2, 4, 1)), Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0x3e864c01)
+ }
+
+ XOr(Derefof(m604(2, 2, 4, 1)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xc179b3fe)
+
+ XOr(Derefof(m604(2, 2, 4, 1)), Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0x3e864c01)
+
+ // Method returns Integer
+
+ XOr(Derefof(m604(2, 2, 4, 1)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xc179b3fe)
+
+ XOr(Derefof(m604(2, 2, 4, 1)), m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0x3e864c01)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(Derefof(m604(2, 2, 4, 1)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xc179b3fe)
+
+ XOr(Derefof(m604(2, 2, 4, 1)), Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0x3e864c01)
+ }
+
+ // Conversion of the second operand
+
+ Store(XOr(0, Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 24, Local0, 0xc179b3fe)
+
+ Store(XOr(0xffffffff, Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 25, Local0, 0x3e864c01)
+
+ Store(XOr(aui5, Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 26, Local0, 0xc179b3fe)
+
+ Store(XOr(auii, Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 27, Local0, 0x3e864c01)
+
+ if (y078) {
+ Store(XOr(Derefof(Refof(aui5)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 28, Local0, 0xc179b3fe)
+
+ Store(XOr(Derefof(Refof(auii)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 29, Local0, 0x3e864c01)
+ }
+
+ Store(XOr(Derefof(Index(paui, 5)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 30, Local0, 0xc179b3fe)
+
+ Store(XOr(Derefof(Index(paui, 18)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 31, Local0, 0x3e864c01)
+
+ // Method returns Integer
+
+ Store(XOr(m601(1, 5), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 32, Local0, 0xc179b3fe)
+
+ Store(XOr(m601(1, 18), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 33, Local0, 0x3e864c01)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(Derefof(m602(1, 5, 1)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 34, Local0, 0xc179b3fe)
+
+ Store(XOr(Derefof(m602(1, 18, 1)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 35, Local0, 0x3e864c01)
+ }
+
+ XOr(0, Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 36, Local0, 0xc179b3fe)
+
+ XOr(0xffffffff, Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 37, Local0, 0x3e864c01)
+
+ XOr(aui5, Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 38, Local0, 0xc179b3fe)
+
+ XOr(auii, Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 39, Local0, 0x3e864c01)
+
+ if (y078) {
+ XOr(Derefof(Refof(aui5)), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 40, Local0, 0xc179b3fe)
+
+ XOr(Derefof(Refof(auii)), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 41, Local0, 0x3e864c01)
+ }
+
+ XOr(Derefof(Index(paui, 5)), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 42, Local0, 0xc179b3fe)
+
+ XOr(Derefof(Index(paui, 18)), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 43, Local0, 0x3e864c01)
+
+ // Method returns Integer
+
+ XOr(m601(1, 5), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 44, Local0, 0xc179b3fe)
+
+ XOr(m601(1, 18), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 45, Local0, 0x3e864c01)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(Derefof(m602(1, 5, 1)), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 46, Local0, 0xc179b3fe)
+
+ XOr(Derefof(m602(1, 18, 1)), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 47, Local0, 0x3e864c01)
+ }
+
+ // Conversion of the both operands
+
+ Store(XOr(Derefof(m604(2, 2, 1, 1)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 48, Local0, 0xc179b0df)
+
+ Store(XOr(Derefof(m604(2, 2, 4, 1)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 49, Local0, 0xc179b0df)
+
+ XOr(Derefof(m604(2, 2, 1, 1)), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 50, Local0, 0xc179b0df)
+
+ XOr(Derefof(m604(2, 2, 4, 1)), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 51, Local0, 0xc179b0df)
+ }
+
+ // Add, And, Divide, Mod, Multiply, NAnd, NOr, Or,
+ // ShiftLeft, ShiftRight, Subtract, Xor
+
+ Method(m64d, 1)
+ {
+ // Add
+ Concatenate(arg0, "-m001", Local0)
+ SRMT(Local0)
+ m001(Local0)
+ Concatenate(arg0, "-m002", Local0)
+ SRMT(Local0)
+ m002(Local0)
+
+ // And
+ Concatenate(arg0, "-m004", Local0)
+ SRMT(Local0)
+ m004(Local0)
+ Concatenate(arg0, "-m005", Local0)
+ SRMT(Local0)
+ m005(Local0)
+
+ // Divide
+ Concatenate(arg0, "-m007", Local0)
+ SRMT(Local0)
+ m007(Local0)
+ Concatenate(arg0, "-m008", Local0)
+ SRMT(Local0)
+ m008(Local0)
+
+ // Mod
+ Concatenate(arg0, "-m00a", Local0)
+ SRMT(Local0)
+ m00a(Local0)
+ Concatenate(arg0, "-m00b", Local0)
+ SRMT(Local0)
+ m00b(Local0)
+
+ // Multiply
+ Concatenate(arg0, "-m00d", Local0)
+ SRMT(Local0)
+ m00d(Local0)
+ Concatenate(arg0, "-m00e", Local0)
+ SRMT(Local0)
+ m00e(Local0)
+
+ // NAnd
+ Concatenate(arg0, "-m010", Local0)
+ SRMT(Local0)
+ m010(Local0)
+ Concatenate(arg0, "-m011", Local0)
+ SRMT(Local0)
+ m011(Local0)
+
+ // NOr
+ Concatenate(arg0, "-m013", Local0)
+ SRMT(Local0)
+ m013(Local0)
+ Concatenate(arg0, "-m014", Local0)
+ SRMT(Local0)
+ m014(Local0)
+
+ // Or
+ Concatenate(arg0, "-m016", Local0)
+ SRMT(Local0)
+ m016(Local0)
+ Concatenate(arg0, "-m017", Local0)
+ SRMT(Local0)
+ m017(Local0)
+
+ // ShiftLeft
+ Concatenate(arg0, "-m019", Local0)
+ SRMT(Local0)
+ m019(Local0)
+ Concatenate(arg0, "-m01a", Local0)
+ SRMT(Local0)
+ m01a(Local0)
+
+ // ShiftRight
+ Concatenate(arg0, "-m01c", Local0)
+ SRMT(Local0)
+ m01c(Local0)
+ Concatenate(arg0, "-m01d", Local0)
+ SRMT(Local0)
+ m01d(Local0)
+
+ // Subtract
+ Concatenate(arg0, "-m01f", Local0)
+ SRMT(Local0)
+ m01f(Local0)
+ Concatenate(arg0, "-m020", Local0)
+ SRMT(Local0)
+ m020(Local0)
+
+ // XOr
+ Concatenate(arg0, "-m022", Local0)
+ SRMT(Local0)
+ m022(Local0)
+ Concatenate(arg0, "-m023", Local0)
+ SRMT(Local0)
+ m023(Local0)
+ }
+
+ Method(m32d, 1)
+ {
+ // Add
+ Concatenate(arg0, "-m001", Local0)
+ SRMT(Local0)
+ m001(Local0)
+ Concatenate(arg0, "-m003", Local0)
+ SRMT(Local0)
+ m003(Local0)
+
+ // And
+ Concatenate(arg0, "-m004", Local0)
+ SRMT(Local0)
+ m004(Local0)
+ Concatenate(arg0, "-m006", Local0)
+ SRMT(Local0)
+ m006(Local0)
+
+ // Divide
+ Concatenate(arg0, "-m007", Local0)
+ SRMT(Local0)
+ m007(Local0)
+ Concatenate(arg0, "-m009", Local0)
+ SRMT(Local0)
+ m009(Local0)
+
+ // Mod
+ Concatenate(arg0, "-m00a", Local0)
+ SRMT(Local0)
+ m00a(Local0)
+ Concatenate(arg0, "-m00c", Local0)
+ SRMT(Local0)
+ m00c(Local0)
+
+ // Multiply
+ Concatenate(arg0, "-m00d", Local0)
+ SRMT(Local0)
+ m00d(Local0)
+ Concatenate(arg0, "-m00f", Local0)
+ SRMT(Local0)
+ m00f(Local0)
+
+ // NAnd
+ Concatenate(arg0, "-m010", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m010(Local0)
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m012", Local0)
+ SRMT(Local0)
+ m012(Local0)
+
+ // NOr
+ Concatenate(arg0, "-m013", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m013(Local0)
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m015", Local0)
+ SRMT(Local0)
+ m015(Local0)
+
+ // Or
+ Concatenate(arg0, "-m016", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m016(Local0)
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m018", Local0)
+ SRMT(Local0)
+ m018(Local0)
+
+ // ShiftLeft
+ Concatenate(arg0, "-m019", Local0)
+ SRMT(Local0)
+ m019(Local0)
+ Concatenate(arg0, "-m01b", Local0)
+ SRMT(Local0)
+ m01b(Local0)
+
+ // ShiftRight
+ Concatenate(arg0, "-m01c", Local0)
+ SRMT(Local0)
+ m01c(Local0)
+ Concatenate(arg0, "-m01e", Local0)
+ SRMT(Local0)
+ m01e(Local0)
+
+ // Subtract
+ Concatenate(arg0, "-m01f", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m01f(Local0)
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m021", Local0)
+ SRMT(Local0)
+ m021(Local0)
+
+ // XOr
+ Concatenate(arg0, "-m022", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m022(Local0)
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m024", Local0)
+ SRMT(Local0)
+ m024(Local0)
+ }
+
+
+ // String to Integer conversion of each String operand
+ // of the 2-parameter Logical Integer operators LAnd and LOr
+
+ // LAnd, common 32-bit/64-bit test
+ Method(m025, 1)
+ {
+ // Conversion of the first operand
+
+ Store(LAnd(Derefof(m604(2, 2, 1, 1)), 0), Local0)
+ m600(arg0, 0, Local0, Zero)
+
+ Store(LAnd(Derefof(m604(2, 2, 1, 1)), 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(LAnd(Derefof(m604(2, 2, 1, 1)), aui5), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LAnd(Derefof(m604(2, 2, 1, 1)), aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(Derefof(m604(2, 2, 1, 1)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LAnd(Derefof(m604(2, 2, 1, 1)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(LAnd(Derefof(m604(2, 2, 1, 1)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Zero)
+
+ Store(LAnd(Derefof(m604(2, 2, 1, 1)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(Derefof(m604(2, 2, 1, 1)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Zero)
+
+ Store(LAnd(Derefof(m604(2, 2, 1, 1)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(Derefof(m604(2, 2, 1, 1)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LAnd(Derefof(m604(2, 2, 1, 1)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(LAnd(0, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LAnd(1, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LAnd(aui5, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LAnd(aui6, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(Derefof(Refof(aui5)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(aui6)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(LAnd(Derefof(Index(paui, 5)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LAnd(Derefof(Index(paui, 6)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(m601(1, 5), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LAnd(m601(1, 6), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(Derefof(m602(1, 5, 1)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LAnd(Derefof(m602(1, 6, 1)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+ }
+
+ // LAnd, 64-bit
+ Method(m026, 1)
+ {
+ // Conversion of the first operand
+
+ Store(LAnd(Derefof(m604(2, 2, 5, 1)), 0), Local0)
+ m600(arg0, 0, Local0, Zero)
+
+ Store(LAnd(Derefof(m604(2, 2, 5, 1)), 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(LAnd(Derefof(m604(2, 2, 5, 1)), aui5), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LAnd(Derefof(m604(2, 2, 5, 1)), aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(Derefof(m604(2, 2, 5, 1)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LAnd(Derefof(m604(2, 2, 5, 1)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(LAnd(Derefof(m604(2, 2, 5, 1)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Zero)
+
+ Store(LAnd(Derefof(m604(2, 2, 5, 1)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(Derefof(m604(2, 2, 5, 1)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Zero)
+
+ Store(LAnd(Derefof(m604(2, 2, 5, 1)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(Derefof(m604(2, 2, 5, 1)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LAnd(Derefof(m604(2, 2, 5, 1)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(LAnd(0, Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LAnd(1, Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LAnd(aui5, Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LAnd(aui6, Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(Derefof(Refof(aui5)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(aui6)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(LAnd(Derefof(Index(paui, 5)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LAnd(Derefof(Index(paui, 6)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(m601(1, 5), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LAnd(m601(1, 6), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(Derefof(m602(1, 5, 1)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LAnd(Derefof(m602(1, 6, 1)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+
+ // Conversion of the both operands
+
+ Store(LAnd(Derefof(m604(2, 2, 1, 1)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 24, Local0, Ones)
+
+ Store(LAnd(Derefof(m604(2, 2, 5, 1)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // LAnd, 32-bit
+ Method(m027, 1)
+ {
+ // Conversion of the first operand
+
+ Store(LAnd(Derefof(m604(2, 2, 4, 1)), 0), Local0)
+ m600(arg0, 0, Local0, Zero)
+
+ Store(LAnd(Derefof(m604(2, 2, 4, 1)), 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(LAnd(Derefof(m604(2, 2, 4, 1)), aui5), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LAnd(Derefof(m604(2, 2, 4, 1)), aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(Derefof(m604(2, 2, 4, 1)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LAnd(Derefof(m604(2, 2, 4, 1)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(LAnd(Derefof(m604(2, 2, 4, 1)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Zero)
+
+ Store(LAnd(Derefof(m604(2, 2, 4, 1)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(Derefof(m604(2, 2, 4, 1)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Zero)
+
+ Store(LAnd(Derefof(m604(2, 2, 4, 1)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(Derefof(m604(2, 2, 4, 1)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LAnd(Derefof(m604(2, 2, 4, 1)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(LAnd(0, Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LAnd(1, Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LAnd(aui5, Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LAnd(aui6, Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(Derefof(Refof(aui5)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(aui6)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(LAnd(Derefof(Index(paui, 5)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LAnd(Derefof(Index(paui, 6)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(m601(1, 5), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LAnd(m601(1, 6), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(Derefof(m602(1, 5, 1)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LAnd(Derefof(m602(1, 6, 1)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+
+ // Conversion of the both operands
+
+ Store(LAnd(Derefof(m604(2, 2, 1, 1)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 24, Local0, Ones)
+
+ Store(LAnd(Derefof(m604(2, 2, 4, 1)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // Lor, common 32-bit/64-bit test
+ Method(m028, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Lor(Derefof(m604(2, 2, 0, 1)), 0), Local0)
+ m600(arg0, 0, Local0, Zero)
+
+ Store(Lor(Derefof(m604(2, 2, 0, 1)), 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(Lor(Derefof(m604(2, 2, 0, 1)), aui5), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(Lor(Derefof(m604(2, 2, 0, 1)), aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(Derefof(m604(2, 2, 0, 1)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(Lor(Derefof(m604(2, 2, 0, 1)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(Lor(Derefof(m604(2, 2, 0, 1)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Zero)
+
+ Store(Lor(Derefof(m604(2, 2, 0, 1)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(Derefof(m604(2, 2, 0, 1)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Zero)
+
+ Store(Lor(Derefof(m604(2, 2, 0, 1)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(Derefof(m604(2, 2, 0, 1)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(Lor(Derefof(m604(2, 2, 0, 1)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(Lor(0, Derefof(m604(2, 2, 0, 1))), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(Lor(1, Derefof(m604(2, 2, 0, 1))), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(Lor(aui5, Derefof(m604(2, 2, 0, 1))), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(Lor(aui6, Derefof(m604(2, 2, 0, 1))), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(Derefof(Refof(aui5)), Derefof(m604(2, 2, 0, 1))), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(Lor(Derefof(Refof(aui6)), Derefof(m604(2, 2, 0, 1))), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(Lor(Derefof(Index(paui, 5)), Derefof(m604(2, 2, 0, 1))), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(Lor(Derefof(Index(paui, 6)), Derefof(m604(2, 2, 0, 1))), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(m601(1, 5), Derefof(m604(2, 2, 0, 1))), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(Lor(m601(1, 6), Derefof(m604(2, 2, 0, 1))), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(Derefof(m602(1, 5, 1)), Derefof(m604(2, 2, 0, 1))), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(Lor(Derefof(m602(1, 6, 1)), Derefof(m604(2, 2, 0, 1))), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+ }
+
+ // Lor, 64-bit
+ Method(m029, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Lor(Derefof(m604(2, 2, 5, 1)), 0), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(Lor(Derefof(m604(2, 2, 5, 1)), 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(Lor(Derefof(m604(2, 2, 5, 1)), aui5), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(Lor(Derefof(m604(2, 2, 5, 1)), aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(Derefof(m604(2, 2, 5, 1)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(Lor(Derefof(m604(2, 2, 5, 1)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(Lor(Derefof(m604(2, 2, 5, 1)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(Lor(Derefof(m604(2, 2, 5, 1)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(Derefof(m604(2, 2, 5, 1)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(Lor(Derefof(m604(2, 2, 5, 1)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(Derefof(m604(2, 2, 5, 1)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(Lor(Derefof(m604(2, 2, 5, 1)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(Lor(0, Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(Lor(1, Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(Lor(aui5, Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 14, Local0, Ones)
+
+ Store(Lor(aui6, Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(Derefof(Refof(aui5)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 16, Local0, Ones)
+
+ Store(Lor(Derefof(Refof(aui6)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(Lor(Derefof(Index(paui, 5)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 18, Local0, Ones)
+
+ Store(Lor(Derefof(Index(paui, 6)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(m601(1, 5), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 20, Local0, Ones)
+
+ Store(Lor(m601(1, 6), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(Derefof(m602(1, 5, 1)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(Lor(Derefof(m602(1, 6, 1)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+
+ // Conversion of the both operands
+
+ Store(Lor(Derefof(m604(2, 2, 0, 1)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 24, Local0, Ones)
+
+ Store(Lor(Derefof(m604(2, 2, 5, 1)), Derefof(m604(2, 2, 0, 1))), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // Lor, 32-bit
+ Method(m02a, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Lor(Derefof(m604(2, 2, 4, 1)), 0), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(Lor(Derefof(m604(2, 2, 4, 1)), 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(Lor(Derefof(m604(2, 2, 4, 1)), aui5), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(Lor(Derefof(m604(2, 2, 4, 1)), aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(Derefof(m604(2, 2, 4, 1)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(Lor(Derefof(m604(2, 2, 4, 1)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(Lor(Derefof(m604(2, 2, 4, 1)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(Lor(Derefof(m604(2, 2, 4, 1)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(Derefof(m604(2, 2, 4, 1)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(Lor(Derefof(m604(2, 2, 4, 1)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(Derefof(m604(2, 2, 4, 1)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(Lor(Derefof(m604(2, 2, 4, 1)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(Lor(0, Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(Lor(1, Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(Lor(aui5, Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 14, Local0, Ones)
+
+ Store(Lor(aui6, Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(Derefof(Refof(aui5)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 16, Local0, Ones)
+
+ Store(Lor(Derefof(Refof(aui6)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(Lor(Derefof(Index(paui, 5)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 18, Local0, Ones)
+
+ Store(Lor(Derefof(Index(paui, 6)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(m601(1, 5), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 20, Local0, Ones)
+
+ Store(Lor(m601(1, 6), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(Derefof(m602(1, 5, 1)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(Lor(Derefof(m602(1, 6, 1)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+
+ // Conversion of the both operands
+
+ Store(Lor(Derefof(m604(2, 2, 0, 1)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 24, Local0, Ones)
+
+ Store(Lor(Derefof(m604(2, 2, 4, 1)), Derefof(m604(2, 2, 0, 1))), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ Method(m64e, 1)
+ {
+ // LAnd
+ Concatenate(arg0, "-m025", Local0)
+ SRMT(Local0)
+ m025(Local0)
+ Concatenate(arg0, "-m026", Local0)
+ SRMT(Local0)
+ m026(Local0)
+
+ // LOr
+ Concatenate(arg0, "-m028", Local0)
+ SRMT(Local0)
+ m028(Local0)
+ Concatenate(arg0, "-m029", Local0)
+ SRMT(Local0)
+ m029(Local0)
+ }
+
+ Method(m32e, 1)
+ {
+ // LAnd
+ Concatenate(arg0, "-m025", Local0)
+ SRMT(Local0)
+ m025(Local0)
+ Concatenate(arg0, "-m027", Local0)
+ SRMT(Local0)
+ m027(Local0)
+
+ // LOr
+ Concatenate(arg0, "-m028", Local0)
+ SRMT(Local0)
+ m028(Local0)
+ Concatenate(arg0, "-m02a", Local0)
+ SRMT(Local0)
+ m02a(Local0)
+ }
+
+
+ // String to Integer conversion of the String second operand of
+ // Logical operators when the first operand is evaluated as Integer
+ // (LEqual, LGreater, LGreaterEqual, LLess, LLessEqual, LNotEqual)
+
+ Method(m64f, 1)
+ {
+ // LEqual
+
+ Store(LEqual(0xfe7cb391d650a284, Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual(0xfe7cb391d650a285, Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(0xfe7cb391d650a283, Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LEqual(aui4, Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ Store(LEqual(auid, Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LEqual(auif, Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 5, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aui4)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(auid)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ Store(LEqual(Derefof(Refof(auif)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 8, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paui, 4)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paui, 13)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LEqual(Derefof(Index(paui, 15)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 11, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LEqual(m601(1, 4), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(LEqual(m601(1, 13), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 13, Local0, Zero)
+
+ Store(LEqual(m601(1, 15), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(1, 4, 1)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(1, 13, 1)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LEqual(Derefof(m602(1, 15, 1)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 17, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater(0xfe7cb391d650a284, Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(0xfe7cb391d650a285, Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ Store(LGreater(0xfe7cb391d650a283, Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(aui4, Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 21, Local0, Zero)
+
+ Store(LGreater(auid, Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(LGreater(auif, Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 23, Local0, Zero)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aui4)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(auid)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 25, Local0, Ones)
+
+ Store(LGreater(Derefof(Refof(auif)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 26, Local0, Zero)
+ }
+
+ Store(LGreater(Derefof(Index(paui, 4)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 27, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paui, 13)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 28, Local0, Ones)
+
+ Store(LGreater(Derefof(Index(paui, 15)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 29, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreater(m601(1, 4), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 30, Local0, Zero)
+
+ Store(LGreater(m601(1, 13), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ Store(LGreater(m601(1, 15), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 32, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(1, 4, 1)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 33, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(1, 13, 1)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreater(Derefof(m602(1, 15, 1)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 35, Local0, Zero)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual(0xfe7cb391d650a284, Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(0xfe7cb391d650a285, Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ Store(LGreaterEqual(0xfe7cb391d650a283, Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 38, Local0, Zero)
+
+ Store(LGreaterEqual(aui4, Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 39, Local0, Ones)
+
+ Store(LGreaterEqual(auid, Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 40, Local0, Ones)
+
+ Store(LGreaterEqual(auif, Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aui4)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auid)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 43, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auif)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 44, Local0, Zero)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paui, 4)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 45, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 13)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 46, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 15)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 47, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreaterEqual(m601(1, 4), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 48, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 13), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 49, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 15), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(1, 4, 1)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 51, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 13, 1)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 52, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 15, 1)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLess
+
+ Store(LLess(0xfe7cb391d650a284, Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 54, Local0, Zero)
+
+ Store(LLess(0xfe7cb391d650a285, Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLess(0xfe7cb391d650a283, Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLess(aui4, Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLess(auid, Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 58, Local0, Zero)
+
+ Store(LLess(auif, Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 59, Local0, Ones)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aui4)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 60, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auid)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 61, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auif)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 62, Local0, Ones)
+ }
+
+ Store(LLess(Derefof(Index(paui, 4)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 13)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 64, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 15)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 65, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLess(m601(1, 4), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 66, Local0, Zero)
+
+ Store(LLess(m601(1, 13), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 67, Local0, Zero)
+
+ Store(LLess(m601(1, 15), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 68, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLess(Derefof(m602(1, 4, 1)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 69, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 13, 1)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 70, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 15, 1)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 71, Local0, Ones)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual(0xfe7cb391d650a284, Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 72, Local0, Ones)
+
+ Store(LLessEqual(0xfe7cb391d650a285, Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 73, Local0, Zero)
+
+ Store(LLessEqual(0xfe7cb391d650a283, Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 74, Local0, Ones)
+
+ Store(LLessEqual(aui4, Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 75, Local0, Ones)
+
+ Store(LLessEqual(auid, Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LLessEqual(auif, Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aui4)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 78, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(auid)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 79, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Refof(auif)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 80, Local0, Ones)
+ }
+
+ Store(LLessEqual(Derefof(Index(paui, 4)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 81, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paui, 13)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 82, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Index(paui, 15)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 83, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLessEqual(m601(1, 4), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 84, Local0, Ones)
+
+ Store(LLessEqual(m601(1, 13), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 85, Local0, Zero)
+
+ Store(LLessEqual(m601(1, 15), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 86, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(1, 4, 1)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 87, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(1, 13, 1)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 88, Local0, Zero)
+
+ Store(LLessEqual(Derefof(m602(1, 15, 1)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 89, Local0, Ones)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual(0xfe7cb391d650a284, Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 90, Local0, Zero)
+
+ Store(LNotEqual(0xfe7cb391d650a285, Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 91, Local0, Ones)
+
+ Store(LNotEqual(0xfe7cb391d650a283, Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 92, Local0, Ones)
+
+ Store(LNotEqual(aui4, Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 93, Local0, Zero)
+
+ Store(LNotEqual(auid, Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 94, Local0, Ones)
+
+ Store(LNotEqual(auif, Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 95, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aui4)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 96, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(auid)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 97, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Refof(auif)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 98, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paui, 4)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 99, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paui, 13)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 100, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Index(paui, 15)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 101, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LNotEqual(m601(1, 4), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 102, Local0, Zero)
+
+ Store(LNotEqual(m601(1, 13), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 103, Local0, Ones)
+
+ Store(LNotEqual(m601(1, 15), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 104, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(1, 4, 1)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 105, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(1, 13, 1)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 106, Local0, Ones)
+
+ Store(LNotEqual(Derefof(m602(1, 15, 1)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 107, Local0, Ones)
+ }
+ }
+
+ Method(m32f, 1)
+ {
+ // LEqual
+
+ Store(LEqual(0xc179b3fe, Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual(0xc179b3ff, Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(0xc179b3fd, Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LEqual(aui3, Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ Store(LEqual(auic, Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LEqual(auie, Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 5, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aui3)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(auic)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ Store(LEqual(Derefof(Refof(auie)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 8, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paui, 3)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paui, 12)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LEqual(Derefof(Index(paui, 14)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 11, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LEqual(m601(1, 3), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(LEqual(m601(1, 12), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 13, Local0, Zero)
+
+ Store(LEqual(m601(1, 14), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(1, 3, 1)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(1, 12, 1)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LEqual(Derefof(m602(1, 14, 1)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 17, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater(0xc179b3fe, Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(0xc179b3ff, Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ Store(LGreater(0xc179b3fd, Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(aui3, Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 21, Local0, Zero)
+
+ Store(LGreater(auic, Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(LGreater(auie, Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 23, Local0, Zero)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aui3)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(auic)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 25, Local0, Ones)
+
+ Store(LGreater(Derefof(Refof(auie)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 26, Local0, Zero)
+ }
+
+ Store(LGreater(Derefof(Index(paui, 3)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 27, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paui, 12)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 28, Local0, Ones)
+
+ Store(LGreater(Derefof(Index(paui, 14)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 29, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreater(m601(1, 3), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 30, Local0, Zero)
+
+ Store(LGreater(m601(1, 12), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ Store(LGreater(m601(1, 14), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 32, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(1, 3, 1)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 33, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(1, 12, 1)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreater(Derefof(m602(1, 14, 1)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 35, Local0, Zero)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual(0xc179b3fe, Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(0xc179b3ff, Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ Store(LGreaterEqual(0xc179b3fd, Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 38, Local0, Zero)
+
+ Store(LGreaterEqual(aui3, Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 39, Local0, Ones)
+
+ Store(LGreaterEqual(auic, Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 40, Local0, Ones)
+
+ Store(LGreaterEqual(auie, Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aui3)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auic)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 43, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auie)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 44, Local0, Zero)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paui, 3)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 45, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 12)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 46, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 14)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 47, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreaterEqual(m601(1, 3), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 48, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 12), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 49, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 14), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(1, 3, 1)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 51, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 12, 1)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 52, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 14, 1)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLess
+
+ Store(LLess(0xc179b3fe, Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 54, Local0, Zero)
+
+ Store(LLess(0xc179b3ff, Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLess(0xc179b3fd, Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLess(aui3, Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLess(auic, Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 58, Local0, Zero)
+
+ Store(LLess(auie, Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 59, Local0, Ones)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aui3)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 60, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auic)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 61, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auie)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 62, Local0, Ones)
+ }
+
+ Store(LLess(Derefof(Index(paui, 3)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 12)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 64, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 14)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 65, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLess(m601(1, 3), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 66, Local0, Zero)
+
+ Store(LLess(m601(1, 12), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 67, Local0, Zero)
+
+ Store(LLess(m601(1, 14), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 68, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLess(Derefof(m602(1, 3, 1)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 69, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 12, 1)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 70, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 14, 1)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 71, Local0, Ones)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual(0xc179b3fe, Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 72, Local0, Ones)
+
+ Store(LLessEqual(0xc179b3ff, Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 73, Local0, Zero)
+
+ Store(LLessEqual(0xc179b3fd, Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 74, Local0, Ones)
+
+ Store(LLessEqual(aui3, Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 75, Local0, Ones)
+
+ Store(LLessEqual(auic, Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LLessEqual(auie, Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aui3)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 78, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(auic)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 79, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Refof(auie)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 80, Local0, Ones)
+ }
+
+ Store(LLessEqual(Derefof(Index(paui, 3)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 81, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paui, 12)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 82, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Index(paui, 14)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 83, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLessEqual(m601(1, 3), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 84, Local0, Ones)
+
+ Store(LLessEqual(m601(1, 12), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 85, Local0, Zero)
+
+ Store(LLessEqual(m601(1, 14), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 86, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(1, 3, 1)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 87, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(1, 12, 1)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 88, Local0, Zero)
+
+ Store(LLessEqual(Derefof(m602(1, 14, 1)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 89, Local0, Ones)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual(0xc179b3fe, Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 90, Local0, Zero)
+
+ Store(LNotEqual(0xc179b3ff, Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 91, Local0, Ones)
+
+ Store(LNotEqual(0xc179b3fd, Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 92, Local0, Ones)
+
+ Store(LNotEqual(aui3, Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 93, Local0, Zero)
+
+ Store(LNotEqual(auic, Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 94, Local0, Ones)
+
+ Store(LNotEqual(auie, Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 95, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aui3)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 96, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(auic)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 97, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Refof(auie)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 98, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paui, 3)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 99, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paui, 12)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 100, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Index(paui, 14)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 101, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LNotEqual(m601(1, 3), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 102, Local0, Zero)
+
+ Store(LNotEqual(m601(1, 12), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 103, Local0, Ones)
+
+ Store(LNotEqual(m601(1, 14), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 104, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(1, 3, 1)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 105, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(1, 12, 1)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 106, Local0, Ones)
+
+ Store(LNotEqual(Derefof(m602(1, 14, 1)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 107, Local0, Ones)
+ }
+ }
+
+ Method(m02b, 1)
+ {
+ // LEqual
+
+ Store(LEqual(0x321, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual(0x322, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(0x320, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LEqual(aui1, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ Store(LEqual(auig, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LEqual(auih, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 5, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aui1)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(auig)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ Store(LEqual(Derefof(Refof(auih)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 8, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paui, 1)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paui, 16)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LEqual(Derefof(Index(paui, 17)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 11, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LEqual(m601(1, 1), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(LEqual(m601(1, 16), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 13, Local0, Zero)
+
+ Store(LEqual(m601(1, 17), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(1, 1, 1)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(1, 16, 1)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LEqual(Derefof(m602(1, 17, 1)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 17, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater(0x321, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(0x322, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ Store(LGreater(0x320, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(aui1, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 21, Local0, Zero)
+
+ Store(LGreater(auig, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(LGreater(auih, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 23, Local0, Zero)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aui1)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(auig)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 25, Local0, Ones)
+
+ Store(LGreater(Derefof(Refof(auih)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 26, Local0, Zero)
+ }
+
+ Store(LGreater(Derefof(Index(paui, 1)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 27, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paui, 16)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 28, Local0, Ones)
+
+ Store(LGreater(Derefof(Index(paui, 17)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 29, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreater(m601(1, 1), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 30, Local0, Zero)
+
+ Store(LGreater(m601(1, 16), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ Store(LGreater(m601(1, 17), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 32, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(1, 1, 1)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 33, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(1, 16, 1)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreater(Derefof(m602(1, 17, 1)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 35, Local0, Zero)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual(0x321, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(0x322, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ Store(LGreaterEqual(0x320, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 38, Local0, Zero)
+
+ Store(LGreaterEqual(aui1, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 39, Local0, Ones)
+
+ Store(LGreaterEqual(auig, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 40, Local0, Ones)
+
+ Store(LGreaterEqual(auih, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aui1)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auig)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 43, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auih)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 44, Local0, Zero)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paui, 1)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 45, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 16)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 46, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 17)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 47, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreaterEqual(m601(1, 1), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 48, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 16), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 49, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 17), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(1, 1, 1)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 51, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 16, 1)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 52, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 17, 1)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLess
+
+ Store(LLess(0x321, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 54, Local0, Zero)
+
+ Store(LLess(0x322, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLess(0x320, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLess(aui1, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLess(auig, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 58, Local0, Zero)
+
+ Store(LLess(auih, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 59, Local0, Ones)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aui1)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 60, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auig)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 61, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auih)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 62, Local0, Ones)
+ }
+
+ Store(LLess(Derefof(Index(paui, 1)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 16)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 64, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 17)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 65, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLess(m601(1, 1), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 66, Local0, Zero)
+
+ Store(LLess(m601(1, 16), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 67, Local0, Zero)
+
+ Store(LLess(m601(1, 17), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 68, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLess(Derefof(m602(1, 1, 1)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 69, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 16, 1)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 70, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 17, 1)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 71, Local0, Ones)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual(0x321, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 72, Local0, Ones)
+
+ Store(LLessEqual(0x322, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 73, Local0, Zero)
+
+ Store(LLessEqual(0x320, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 74, Local0, Ones)
+
+ Store(LLessEqual(aui1, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 75, Local0, Ones)
+
+ Store(LLessEqual(auig, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LLessEqual(auih, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aui1)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 78, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(auig)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 79, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Refof(auih)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 80, Local0, Ones)
+ }
+
+ Store(LLessEqual(Derefof(Index(paui, 1)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 81, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paui, 16)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 82, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Index(paui, 17)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 83, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLessEqual(m601(1, 1), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 84, Local0, Ones)
+
+ Store(LLessEqual(m601(1, 16), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 85, Local0, Zero)
+
+ Store(LLessEqual(m601(1, 17), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 86, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(1, 1, 1)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 87, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(1, 16, 1)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 88, Local0, Zero)
+
+ Store(LLessEqual(Derefof(m602(1, 17, 1)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 89, Local0, Ones)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual(0x321, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 90, Local0, Zero)
+
+ Store(LNotEqual(0x322, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 91, Local0, Ones)
+
+ Store(LNotEqual(0x320, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 92, Local0, Ones)
+
+ Store(LNotEqual(aui1, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 93, Local0, Zero)
+
+ Store(LNotEqual(auig, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 94, Local0, Ones)
+
+ Store(LNotEqual(auih, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 95, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aui1)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 96, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(auig)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 97, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Refof(auih)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 98, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paui, 1)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 99, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paui, 16)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 100, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Index(paui, 17)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 101, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LNotEqual(m601(1, 1), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 102, Local0, Zero)
+
+ Store(LNotEqual(m601(1, 16), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 103, Local0, Ones)
+
+ Store(LNotEqual(m601(1, 17), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 104, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(1, 1, 1)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 105, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(1, 16, 1)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 106, Local0, Ones)
+
+ Store(LNotEqual(Derefof(m602(1, 17, 1)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 107, Local0, Ones)
+ }
+ }
+
+ // String to Integer intermediate conversion of the String second
+ // operand of Concatenate operator in case the first one is Integer
+
+ Method(m64g, 1)
+ {
+ Store(Concatenate(0x321, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 0, Local0, bb26)
+
+ Store(Concatenate(0x321, Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 1, Local0, bb21)
+
+
+ Store(Concatenate(aui1, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 2, Local0, bb26)
+
+ Store(Concatenate(aui1, Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 3, Local0, bb21)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aui1)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 4, Local0, bb26)
+
+ Store(Concatenate(Derefof(Refof(aui1)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 5, Local0, bb21)
+ }
+
+ Store(Concatenate(Derefof(Index(paui, 1)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 6, Local0, bb26)
+
+ Store(Concatenate(Derefof(Index(paui, 1)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 7, Local0, bb21)
+
+ // Method returns Integer
+
+ Store(Concatenate(m601(1, 1), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 8, Local0, bb26)
+
+ Store(Concatenate(m601(1, 1), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 9, Local0, bb21)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(1, 1, 1)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 10, Local0, bb26)
+
+ Store(Concatenate(Derefof(m602(1, 1, 1)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 11, Local0, bb21)
+ }
+
+ Concatenate(0x321, Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 12, Local0, bb26)
+
+ Concatenate(0x321, Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 13, Local0, bb21)
+
+
+ Concatenate(aui1, Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 14, Local0, bb26)
+
+ Concatenate(aui1, Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 15, Local0, bb21)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aui1)), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 16, Local0, bb26)
+
+ Concatenate(Derefof(Refof(aui1)), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 17, Local0, bb21)
+ }
+
+ Concatenate(Derefof(Index(paui, 1)), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 18, Local0, bb26)
+
+ Concatenate(Derefof(Index(paui, 1)), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 19, Local0, bb21)
+
+ // Method returns Integer
+
+ Concatenate(m601(1, 1), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 20, Local0, bb26)
+
+ Concatenate(m601(1, 1), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 21, Local0, bb21)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Concatenate(Derefof(m602(1, 1, 1)), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 22, Local0, bb26)
+
+ Concatenate(Derefof(m602(1, 1, 1)), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 23, Local0, bb21)
+ }
+ }
+
+ Method(m32g, 1)
+ {
+ Store(Concatenate(0x321, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 0, Local0, bb27)
+
+ Store(Concatenate(0x321, Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 1, Local0, bb24)
+
+
+ Store(Concatenate(aui1, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 2, Local0, bb27)
+
+ Store(Concatenate(aui1, Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 3, Local0, bb24)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aui1)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 4, Local0, bb27)
+
+ Store(Concatenate(Derefof(Refof(aui1)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 5, Local0, bb24)
+ }
+
+ Store(Concatenate(Derefof(Index(paui, 1)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 6, Local0, bb27)
+
+ Store(Concatenate(Derefof(Index(paui, 1)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 7, Local0, bb24)
+
+ // Method returns Integer
+
+ Store(Concatenate(m601(1, 1), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 8, Local0, bb27)
+
+ Store(Concatenate(m601(1, 1), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 9, Local0, bb24)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(1, 1, 1)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 10, Local0, bb27)
+
+ Store(Concatenate(Derefof(m602(1, 1, 1)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 11, Local0, bb24)
+ }
+
+ Concatenate(0x321, Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 12, Local0, bb27)
+
+ Concatenate(0x321, Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 13, Local0, bb24)
+
+
+ Concatenate(aui1, Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 14, Local0, bb27)
+
+ Concatenate(aui1, Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 15, Local0, bb24)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aui1)), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 16, Local0, bb27)
+
+ Concatenate(Derefof(Refof(aui1)), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 17, Local0, bb24)
+ }
+
+ Concatenate(Derefof(Index(paui, 1)), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 18, Local0, bb27)
+
+ Concatenate(Derefof(Index(paui, 1)), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 20, Local0, bb24)
+
+ // Method returns Integer
+
+ Concatenate(m601(1, 1), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 21, Local0, bb27)
+
+ Concatenate(m601(1, 1), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 22, Local0, bb24)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Concatenate(Derefof(m602(1, 1, 1)), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 23, Local0, bb27)
+
+ Concatenate(Derefof(m602(1, 1, 1)), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 24, Local0, bb24)
+ }
+ }
+
+ // String to Integer conversion of the String Length (second)
+ // operand of the ToString operator
+
+ // Common 32-bit/64-bit test
+ Method(m02c, 1)
+ {
+ Store(ToString(Buffer() {"This is auxiliary Buffer"},
+ Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 0, Local0, bs1b)
+
+ Store(ToString(Buffer() {"This is auxiliary Buffer"},
+ Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 1, Local0, bs1c)
+
+ Store(ToString(aub6, Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 2, Local0, bs1b)
+
+ Store(ToString(aub6, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 3, Local0, bs1c)
+
+ if (y078) {
+ Store(ToString(Derefof(Refof(aub6)), Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 4, Local0, bs1b)
+
+ Store(ToString(Derefof(Refof(aub6)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 5, Local0, bs1c)
+ }
+
+ Store(ToString(Derefof(Index(paub, 6)), Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 6, Local0, bs1b)
+
+ Store(ToString(Derefof(Index(paub, 6)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 7, Local0, bs1c)
+
+ // Method returns Buffer
+
+ Store(ToString(m601(3, 6), Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 8, Local0, bs1b)
+
+ Store(ToString(m601(3, 6), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 9, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(ToString(Derefof(m602(3, 6, 1)), Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 10, Local0, bs1b)
+
+ Store(ToString(Derefof(m602(3, 6, 1)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 11, Local0, bs1c)
+ }
+
+ ToString(Buffer() {"This is auxiliary Buffer"},
+ Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 12, Local0, bs1b)
+
+ ToString(Buffer() {"This is auxiliary Buffer"},
+ Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 13, Local0, bs1c)
+
+ ToString(aub6, Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 14, Local0, bs1b)
+
+ ToString(aub6, Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 15, Local0, bs1c)
+
+ if (y078) {
+ ToString(Derefof(Refof(aub6)), Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 16, Local0, bs1b)
+
+ ToString(Derefof(Refof(aub6)), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 17, Local0, bs1c)
+ }
+
+ ToString(Derefof(Index(paub, 6)), Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 18, Local0, bs1b)
+
+ ToString(Derefof(Index(paub, 6)), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 19, Local0, bs1c)
+
+ // Method returns Buffer
+
+ ToString(m601(3, 6), Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 20, Local0, bs1b)
+
+ ToString(m601(3, 6), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 21, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ ToString(Derefof(m602(3, 6, 1)), Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 22, Local0, bs1b)
+
+ ToString(Derefof(m602(3, 6, 1)), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 23, Local0, bs1c)
+ }
+ }
+
+ Method(m64h, 1)
+ {
+ Store(ToString(Buffer() {"This is auxiliary Buffer"},
+ Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 0, Local0, bs1c)
+
+ Store(ToString(aub6, Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 1, Local0, bs1c)
+
+ if (y078) {
+ Store(ToString(Derefof(Refof(aub6)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 2, Local0, bs1c)
+ }
+
+ Store(ToString(Derefof(Index(paub, 6)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 3, Local0, bs1c)
+
+ // Method returns Buffer
+
+ Store(ToString(m601(3, 6), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 4, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(ToString(Derefof(m602(3, 6, 1)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 5, Local0, bs1c)
+ }
+
+ ToString(Buffer() {"This is auxiliary Buffer"},
+ Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 6, Local0, bs1c)
+
+ ToString(aub6, Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 7, Local0, bs1c)
+
+ if (y078) {
+ ToString(Derefof(Refof(aub6)), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 8, Local0, bs1c)
+ }
+
+ ToString(Derefof(Index(paub, 6)), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 9, Local0, bs1c)
+
+ // Method returns Buffer
+
+ ToString(m601(3, 6), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 10, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ ToString(Derefof(m602(3, 6, 1)), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 11, Local0, bs1c)
+ }
+ }
+
+ Method(m32h, 1)
+ {
+ Store(ToString(Buffer() {"This is auxiliary Buffer"},
+ Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 0, Local0, bs1c)
+
+ Store(ToString(aub6, Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 1, Local0, bs1c)
+
+ if (y078) {
+ Store(ToString(Derefof(Refof(aub6)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 2, Local0, bs1c)
+ }
+
+ Store(ToString(Derefof(Index(paub, 6)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 3, Local0, bs1c)
+
+ // Method returns Buffer
+
+ Store(ToString(m601(3, 6), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 4, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(ToString(Derefof(m602(3, 6, 1)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 5, Local0, bs1c)
+ }
+
+ ToString(Buffer() {"This is auxiliary Buffer"},
+ Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 6, Local0, bs1c)
+
+ ToString(aub6, Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 7, Local0, bs1c)
+
+ if (y078) {
+ ToString(Derefof(Refof(aub6)), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 8, Local0, bs1c)
+ }
+
+ ToString(Derefof(Index(paub, 6)), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 9, Local0, bs1c)
+
+ // Method returns Buffer
+
+ ToString(m601(3, 6), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 10, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ ToString(Derefof(m602(3, 6, 1)), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 11, Local0, bs1c)
+ }
+ }
+
+ // String to Integer conversion of the String Index (second)
+ // operand of the Index operator
+ Method(m02d, 1)
+ {
+ Store(Index(aus6, Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 0, Derefof(Local0), bi10)
+
+ Store(Index(aub6, Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 1, Derefof(Local0), bi10)
+
+ Store(Index(aup0, Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 2, Derefof(Local0), bi11)
+
+ if (y078) {
+ Store(Index(Derefof(Refof(aus6)), Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 3, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Refof(aub6)), Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 4, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Refof(aup0)), Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 5, Derefof(Local0), bi11)
+ }
+
+ Store(Index(Derefof(Index(paus, 6)), Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 6, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Index(paub, 6)), Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 7, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Index(paup, 0)), Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 8, Derefof(Local0), bi11)
+
+
+ // Method returns Object
+
+ if (y900) {
+ Store(Index(m601(2, 6), Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 9, Derefof(Local0), bi10)
+
+ Store(Index(m601(3, 6), Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 10, Derefof(Local0), bi10)
+
+ Store(Index(m601(4, 0), Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 11, Derefof(Local0), bi11)
+ } else {
+
+ CH03(arg0, z119, 0, 0, 0)
+
+ Index(m601(2, 6), Derefof(m604(2, 2, 20, 1)))
+ CH04(arg0, 0, 85, z119, 9, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+
+ Index(m601(3, 6), Derefof(m604(2, 2, 20, 1)))
+ CH04(arg0, 0, 85, z119, 10, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+
+ Index(m601(4, 0), Derefof(m604(2, 2, 20, 1)))
+ CH04(arg0, 0, 85, z119, 11, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+ }
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Index(Derefof(m602(2, 6, 1)), Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 12, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(m602(3, 6, 1)), Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 13, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(m602(4, 0, 1)), Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 14, Derefof(Local0), bi11)
+ }
+
+ Index(aus6, Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 15, Derefof(Local0), bi10)
+
+ Index(aub6, Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 16, Derefof(Local0), bi10)
+
+ Index(aup0, Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 17, Derefof(Local0), bi11)
+
+ if (y078) {
+ Index(Derefof(Refof(aus6)), Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 18, Derefof(Local0), bi10)
+
+ Index(Derefof(Refof(aub6)), Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 19, Derefof(Local0), bi10)
+
+ Index(Derefof(Refof(aup0)), Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 20, Derefof(Local0), bi11)
+ }
+
+ Index(Derefof(Index(paus, 6)), Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 21, Derefof(Local0), bi10)
+
+ Index(Derefof(Index(paub, 6)), Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 22, Derefof(Local0), bi10)
+
+ Index(Derefof(Index(paup, 0)), Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 23, Derefof(Local0), bi11)
+
+
+ // Method returns Object
+
+ if (y900) {
+ Index(m601(2, 6), Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 24, Derefof(Local0), bi10)
+
+ Index(m601(3, 6), Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 25, Derefof(Local0), bi10)
+
+ Index(m601(4, 0), Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 26, Derefof(Local0), bi11)
+ } else {
+
+ CH03(arg0, z119, 0, 0, 0)
+
+ Index(m601(2, 6), Derefof(m604(2, 2, 20, 1)), Local0)
+ CH04(arg0, 0, 85, z119, 24, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+
+ Index(m601(3, 6), Derefof(m604(2, 2, 20, 1)), Local0)
+ CH04(arg0, 0, 85, z119, 25, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+
+ Index(m601(4, 0), Derefof(m604(2, 2, 20, 1)), Local0)
+ CH04(arg0, 0, 85, z119, 26, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+ }
+
+ // Method returns Reference
+
+ if (y500) {
+ Index(Derefof(m602(2, 6, 1)), Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 27, Derefof(Local0), bi10)
+
+ Index(Derefof(m602(3, 6, 1)), Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 28, Derefof(Local0), bi10)
+
+ Index(Derefof(m602(4, 0, 1)), Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 29, Derefof(Local0), bi11)
+ }
+
+ if (y098) {
+ Store(Index(aus6, Derefof(m604(2, 2, 20, 1)), Local1), Local0)
+ m600(arg0, 30, Derefof(Local0), bi10)
+
+ Store(Index(aub6, Derefof(m604(2, 2, 20, 1)), Local1), Local0)
+ m600(arg0, 31, Derefof(Local0), bi10)
+
+ Store(Index(aup0, Derefof(m604(2, 2, 20, 1)), Local1), Local0)
+ m600(arg0, 32, Derefof(Local0), bi11)
+ }
+
+ if (y078) {
+ Store(Index(Derefof(Refof(aus6)), Derefof(m604(2, 2, 20, 1)), Local1), Local0)
+ m600(arg0, 33, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Refof(aub6)), Derefof(m604(2, 2, 20, 1)), Local1), Local0)
+ m600(arg0, 34, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Refof(aup0)), Derefof(m604(2, 2, 20, 1)), Local1), Local0)
+ m600(arg0, 35, Derefof(Local0), bi11)
+ }
+
+ if (y098) {
+ Store(Index(Derefof(Index(paus, 6)), Derefof(m604(2, 2, 20, 1)), Local1), Local0)
+ m600(arg0, 36, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Index(paub, 6)), Derefof(m604(2, 2, 20, 1)), Local1), Local0)
+ m600(arg0, 37, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Index(paup, 0)), Derefof(m604(2, 2, 20, 1)), Local1), Local0)
+ m600(arg0, 38, Derefof(Local0), bi11)
+ }
+
+ // Method returns Object
+
+ if (LAnd(y900, y098)) {
+ Store(Index(m601(2, 6), Derefof(m604(2, 2, 20, 1)), Local1), Local0)
+ m600(arg0, 39, Derefof(Local0), bi10)
+
+ Store(Index(m601(3, 6), Derefof(m604(2, 2, 20, 1)), Local1), Local0)
+ m600(arg0, 40, Derefof(Local0), bi10)
+
+ Store(Index(m601(4, 0), Derefof(m604(2, 2, 20, 1)), Local1), Local0)
+ m600(arg0, 41, Derefof(Local0), bi11)
+ }
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Index(Derefof(m602(2, 6, 1)), Derefof(m604(2, 2, 20, 1)), Local1), Local0)
+ m600(arg0, 42, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(m602(3, 6, 1)), Derefof(m604(2, 2, 20, 1)), Local1), Local0)
+ m600(arg0, 43, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(m602(4, 0, 1)), Derefof(m604(2, 2, 20, 1)), Local1), Local0)
+ m600(arg0, 44, Derefof(Local0), bi11)
+ }
+ }
+
+ // String to Integer conversion of the String Arg (third)
+ // operand of the Fatal operator
+ // (it can only be checked an exception does not occur)
+ Method(m02e, 1)
+ {
+ CH03(arg0, z119, 0, 0, 0)
+ Fatal(0xff, 0xffffffff, Derefof(m604(2, 2, 1, 1)))
+ if (F64) {
+ Fatal(0xff, 0xffffffff, Derefof(m604(2, 2, 5, 1)))
+ } else {
+ Fatal(0xff, 0xffffffff, Derefof(m604(2, 2, 4, 1)))
+ }
+ CH03(arg0, z119, 1, 0, 0)
+ }
+
+ // String to Integer conversion of the String Index and Length
+ // operands of the Mid operator
+
+ // Common 32-bit/64-bit test
+ Method(m02f, 1)
+ {
+ // String to Integer conversion of the String Index operand
+
+ Store(Mid("This is auxiliary String", Derefof(m604(2, 2, 20, 1)), 10), Local0)
+ m600(arg0, 0, Local0, bs1d)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, Derefof(m604(2, 2, 20, 1)), 10), Local0)
+ m600(arg0, 1, Local0, bb32)
+
+ Store(Mid(aus6, Derefof(m604(2, 2, 20, 1)), 10), Local0)
+ m600(arg0, 2, Local0, bs1d)
+
+ Store(Mid(aub6, Derefof(m604(2, 2, 20, 1)), 10), Local0)
+ m600(arg0, 3, Local0, bb32)
+
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), Derefof(m604(2, 2, 20, 1)), 10), Local0)
+ m600(arg0, 4, Local0, bs1d)
+
+ Store(Mid(Derefof(Refof(aub6)), Derefof(m604(2, 2, 20, 1)), 10), Local0)
+ m600(arg0, 5, Local0, bb32)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), Derefof(m604(2, 2, 20, 1)), 10), Local0)
+ m600(arg0, 6, Local0, bs1d)
+
+ Store(Mid(Derefof(Index(paub, 6)), Derefof(m604(2, 2, 20, 1)), 10), Local0)
+ m600(arg0, 7, Local0, bb32)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), Derefof(m604(2, 2, 20, 1)), 10), Local0)
+ m600(arg0, 8, Local0, bs1d)
+
+ Store(Mid(m601(3, 6), Derefof(m604(2, 2, 20, 1)), 10), Local0)
+ m600(arg0, 9, Local0, bb32)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), Derefof(m604(2, 2, 20, 1)), 10), Local0)
+ m600(arg0, 10, Local0, bs1d)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), Derefof(m604(2, 2, 20, 1)), 10), Local0)
+ m600(arg0, 11, Local0, bb32)
+ }
+
+ Mid("This is auxiliary String", Derefof(m604(2, 2, 20, 1)), 10, Local0)
+ m600(arg0, 12, Local0, bs1d)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, Derefof(m604(2, 2, 20, 1)), 10, Local0)
+ m600(arg0, 13, Local0, bb32)
+
+ Mid(aus6, Derefof(m604(2, 2, 20, 1)), 10, Local0)
+ m600(arg0, 14, Local0, bs1d)
+
+ Mid(aub6, Derefof(m604(2, 2, 20, 1)), 10, Local0)
+ m600(arg0, 15, Local0, bb32)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), Derefof(m604(2, 2, 20, 1)), 10, Local0)
+ m600(arg0, 16, Local0, bs1d)
+
+ Mid(Derefof(Refof(aub6)), Derefof(m604(2, 2, 20, 1)), 10, Local0)
+ m600(arg0, 17, Local0, bb32)
+ }
+
+ Mid(Derefof(Index(paus, 6)), Derefof(m604(2, 2, 20, 1)), 10, Local0)
+ m600(arg0, 18, Local0, bs1d)
+
+ Mid(Derefof(Index(paub, 6)), Derefof(m604(2, 2, 20, 1)), 10, Local0)
+ m600(arg0, 19, Local0, bb32)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), Derefof(m604(2, 2, 20, 1)), 10, Local0)
+ m600(arg0, 20, Local0, bs1d)
+
+ Mid(m601(3, 6), Derefof(m604(2, 2, 20, 1)), 10, Local0)
+ m600(arg0, 21, Local0, bb32)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), Derefof(m604(2, 2, 20, 1)), 10, Local0)
+ m600(arg0, 22, Local0, bs1d)
+
+ Mid(Derefof(m602(3, 6, 1)), Derefof(m604(2, 2, 20, 1)), 10, Local0)
+ m600(arg0, 23, Local0, bb32)
+ }
+
+ // String to Integer conversion of the String Length operand
+
+ Store(Mid("This is auxiliary String", 0, Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 24, Local0, bs1b)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, 0, Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 25, Local0, bb33)
+
+ Store(Mid(aus6, 0, Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 26, Local0, bs1b)
+
+ Store(Mid(aub6, 0, Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 27, Local0, bb33)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), 0, Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 28, Local0, bs1b)
+
+ Store(Mid(Derefof(Refof(aub6)), 0, Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 29, Local0, bb33)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), 0, Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 30, Local0, bs1b)
+
+ Store(Mid(Derefof(Index(paub, 6)), 0, Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 31, Local0, bb33)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), 0, Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 32, Local0, bs1b)
+
+ Store(Mid(m601(3, 6), 0, Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 33, Local0, bb33)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), 0, Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 34, Local0, bs1b)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), 0, Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 35, Local0, bb33)
+ }
+
+ Mid("This is auxiliary String", 0, Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 36, Local0, bs1b)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, 0, Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 37, Local0, bb33)
+
+ Mid(aus6, 0, Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 37, Local0, bs1b)
+
+ Mid(aub6, 0, Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 39, Local0, bb33)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), 0, Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 40, Local0, bs1b)
+
+ Mid(Derefof(Refof(aub6)), 0, Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 41, Local0, bb33)
+ }
+
+ Mid(Derefof(Index(paus, 6)), 0, Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 42, Local0, bs1b)
+
+ Mid(Derefof(Index(paub, 6)), 0, Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 43, Local0, bb33)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), 0, Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 44, Local0, bs1b)
+
+ Mid(m601(3, 6), 0, Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 45, Local0, bb33)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), 0, Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 46, Local0, bs1b)
+
+ Mid(Derefof(m602(3, 6, 1)), 0, Derefof(m604(2, 2, 20, 1)), Local0)
+ m600(arg0, 47, Local0, bb33)
+ }
+ }
+
+ Method(m64i, 1)
+ {
+ // String to Integer conversion of the String Length operand
+
+ Store(Mid("This is auxiliary String", 0, Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 0, Local0, bs1e)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, 0, Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 1, Local0, bb34)
+
+ Store(Mid(aus6, 0, Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 2, Local0, bs1e)
+
+ Store(Mid(aub6, 0, Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 3, Local0, bb34)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), 0, Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 4, Local0, bs1e)
+
+ Store(Mid(Derefof(Refof(aub6)), 0, Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 5, Local0, bb34)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), 0, Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 6, Local0, bs1e)
+
+ Store(Mid(Derefof(Index(paub, 6)), 0, Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 7, Local0, bb34)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), 0, Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 8, Local0, bs1e)
+
+ Store(Mid(m601(3, 6), 0, Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 9, Local0, bb34)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), 0, Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 10, Local0, bs1e)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), 0, Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 11, Local0, bb34)
+ }
+
+ Mid("This is auxiliary String", 0, Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 12, Local0, bs1e)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, 0, Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 13, Local0, bb34)
+
+ Mid(aus6, 0, Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 14, Local0, bs1e)
+
+ Mid(aub6, 0, Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 15, Local0, bb34)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), 0, Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 16, Local0, bs1e)
+
+ Mid(Derefof(Refof(aub6)), 0, Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 17, Local0, bb34)
+ }
+
+ Mid(Derefof(Index(paus, 6)), 0, Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 18, Local0, bs1e)
+
+ Mid(Derefof(Index(paub, 6)), 0, Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 19, Local0, bb34)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), 0, Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 20, Local0, bs1e)
+
+ Mid(m601(3, 6), 0, Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 21, Local0, bb34)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), 0, Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 22, Local0, bs1e)
+
+ Mid(Derefof(m602(3, 6, 1)), 0, Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 23, Local0, bb34)
+ }
+
+ // String to Integer conversion of the both String operands
+
+ Store(Mid("This is auxiliary String", Derefof(m604(2, 2, 20, 1)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 24, Local0, bs1f)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, Derefof(m604(2, 2, 20, 1)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 25, Local0, bb35)
+
+ Store(Mid(aus6, Derefof(m604(2, 2, 20, 1)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 26, Local0, bs1f)
+
+ Store(Mid(aub6, Derefof(m604(2, 2, 20, 1)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 27, Local0, bb35)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), Derefof(m604(2, 2, 20, 1)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 28, Local0, bs1f)
+
+ Store(Mid(Derefof(Refof(aub6)), Derefof(m604(2, 2, 20, 1)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 29, Local0, bb35)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), Derefof(m604(2, 2, 20, 1)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 30, Local0, bs1f)
+
+ Store(Mid(Derefof(Index(paub, 6)), Derefof(m604(2, 2, 20, 1)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 31, Local0, bb35)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), Derefof(m604(2, 2, 20, 1)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 32, Local0, bs1f)
+
+ Store(Mid(m601(3, 6), Derefof(m604(2, 2, 20, 1)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 33, Local0, bb35)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), Derefof(m604(2, 2, 20, 1)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 34, Local0, bs1f)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), Derefof(m604(2, 2, 20, 1)), Derefof(m604(2, 2, 5, 1))), Local0)
+ m600(arg0, 35, Local0, bb35)
+ }
+
+ Mid("This is auxiliary String", Derefof(m604(2, 2, 20, 1)), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 36, Local0, bs1f)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, Derefof(m604(2, 2, 20, 1)), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 37, Local0, bb35)
+
+ Mid(aus6, Derefof(m604(2, 2, 20, 1)), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 38, Local0, bs1f)
+
+ Mid(aub6, Derefof(m604(2, 2, 20, 1)), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 39, Local0, bb35)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), Derefof(m604(2, 2, 20, 1)), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 40, Local0, bs1f)
+
+ Mid(Derefof(Refof(aub6)), Derefof(m604(2, 2, 20, 1)), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 41, Local0, bb35)
+ }
+
+ Mid(Derefof(Index(paus, 6)), Derefof(m604(2, 2, 20, 1)), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 42, Local0, bs1f)
+
+ Mid(Derefof(Index(paub, 6)), Derefof(m604(2, 2, 20, 1)), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 43, Local0, bb35)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), Derefof(m604(2, 2, 20, 1)), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 44, Local0, bs1f)
+
+ Mid(m601(3, 6), Derefof(m604(2, 2, 20, 1)), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 45, Local0, bb35)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), Derefof(m604(2, 2, 20, 1)), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 46, Local0, bs1f)
+
+ Mid(Derefof(m602(3, 6, 1)), Derefof(m604(2, 2, 20, 1)), Derefof(m604(2, 2, 5, 1)), Local0)
+ m600(arg0, 47, Local0, bb35)
+ }
+ }
+
+ Method(m32i, 1)
+ {
+ // String to Integer conversion of the String Length operand
+
+ Store(Mid("This is auxiliary String", 0, Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 0, Local0, bs1e)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, 0, Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 1, Local0, bb34)
+
+ Store(Mid(aus6, 0, Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 2, Local0, bs1e)
+
+ Store(Mid(aub6, 0, Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 3, Local0, bb34)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), 0, Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 4, Local0, bs1e)
+
+ Store(Mid(Derefof(Refof(aub6)), 0, Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 5, Local0, bb34)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), 0, Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 6, Local0, bs1e)
+
+ Store(Mid(Derefof(Index(paub, 6)), 0, Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 7, Local0, bb34)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), 0, Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 8, Local0, bs1e)
+
+ Store(Mid(m601(3, 6), 0, Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 9, Local0, bb34)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), 0, Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 10, Local0, bs1e)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), 0, Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 11, Local0, bb34)
+ }
+
+ Mid("This is auxiliary String", 0, Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 12, Local0, bs1e)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, 0, Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 13, Local0, bb34)
+
+ Mid(aus6, 0, Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 14, Local0, bs1e)
+
+ Mid(aub6, 0, Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 15, Local0, bb34)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), 0, Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 16, Local0, bs1e)
+
+ Mid(Derefof(Refof(aub6)), 0, Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 17, Local0, bb34)
+ }
+
+ Mid(Derefof(Index(paus, 6)), 0, Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 18, Local0, bs1e)
+
+ Mid(Derefof(Index(paub, 6)), 0, Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 19, Local0, bb34)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), 0, Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 20, Local0, bs1e)
+
+ Mid(m601(3, 6), 0, Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 21, Local0, bb34)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), 0, Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 22, Local0, bs1e)
+
+ Mid(Derefof(m602(3, 6, 1)), 0, Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 23, Local0, bb34)
+ }
+
+ // String to Integer conversion of the both String operands
+
+ Store(Mid("This is auxiliary String", Derefof(m604(2, 2, 20, 1)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 24, Local0, bs1f)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, Derefof(m604(2, 2, 20, 1)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 25, Local0, bb35)
+
+ Store(Mid(aus6, Derefof(m604(2, 2, 20, 1)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 26, Local0, bs1f)
+
+ Store(Mid(aub6, Derefof(m604(2, 2, 20, 1)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 27, Local0, bb35)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), Derefof(m604(2, 2, 20, 1)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 28, Local0, bs1f)
+
+ Store(Mid(Derefof(Refof(aub6)), Derefof(m604(2, 2, 20, 1)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 29, Local0, bb35)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), Derefof(m604(2, 2, 20, 1)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 30, Local0, bs1f)
+
+ Store(Mid(Derefof(Index(paub, 6)), Derefof(m604(2, 2, 20, 1)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 31, Local0, bb35)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), Derefof(m604(2, 2, 20, 1)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 32, Local0, bs1f)
+
+ Store(Mid(m601(3, 6), Derefof(m604(2, 2, 20, 1)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 33, Local0, bb35)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), Derefof(m604(2, 2, 20, 1)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 34, Local0, bs1f)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), Derefof(m604(2, 2, 20, 1)), Derefof(m604(2, 2, 4, 1))), Local0)
+ m600(arg0, 35, Local0, bb35)
+ }
+
+ Mid("This is auxiliary String", Derefof(m604(2, 2, 20, 1)), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 36, Local0, bs1f)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, Derefof(m604(2, 2, 20, 1)), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 37, Local0, bb35)
+
+ Mid(aus6, Derefof(m604(2, 2, 20, 1)), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 38, Local0, bs1f)
+
+ Mid(aub6, Derefof(m604(2, 2, 20, 1)), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 39, Local0, bb35)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), Derefof(m604(2, 2, 20, 1)), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 40, Local0, bs1f)
+
+ Mid(Derefof(Refof(aub6)), Derefof(m604(2, 2, 20, 1)), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 41, Local0, bb35)
+ }
+
+ Mid(Derefof(Index(paus, 6)), Derefof(m604(2, 2, 20, 1)), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 42, Local0, bs1f)
+
+ Mid(Derefof(Index(paub, 6)), Derefof(m604(2, 2, 20, 1)), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 43, Local0, bb35)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), Derefof(m604(2, 2, 20, 1)), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 44, Local0, bs1f)
+
+ Mid(m601(3, 6), Derefof(m604(2, 2, 20, 1)), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 45, Local0, bb35)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), Derefof(m604(2, 2, 20, 1)), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 46, Local0, bs1f)
+
+ Mid(Derefof(m602(3, 6, 1)), Derefof(m604(2, 2, 20, 1)), Derefof(m604(2, 2, 4, 1)), Local0)
+ m600(arg0, 47, Local0, bb35)
+ }
+ }
+
+ // String to Integer conversion of the String StartIndex
+ // operand of the Match operator
+ Method(m030, 1)
+ {
+ Store(Match(
+ Package(){
+ 0xa50, 0xa51, 0xa52, 0xa53, 0xa54, 0xa55, 0xa56, 0xa57,
+ 0xa58, 0xa59, 0xa5a, 0xa5b, 0xa5c, 0xa5d, 0xa5e,},
+ MEQ, 0xa5d, MTR, 0, Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 0, Local0, 0xd)
+
+ Store(Match(
+ Package(){
+ 0xa50, 0xa51, 0xa52, 0xa53, 0xa54, 0xa55, 0xa56, 0xa57,
+ 0xa58, 0xa59, 0xa5a, 0xa5b, 0xa5c, 0xa5d, 0xa5e,},
+ MEQ, 0xa5a, MTR, 0, Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(Match(aup0, MEQ, 0xa5d, MTR, 0, Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 2, Local0, 0xd)
+
+ Store(Match(aup0, MEQ, 0xa5a, MTR, 0, Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(Match(Derefof(Refof(aup0)), MEQ, 0xa5d, MTR, 0, Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 4, Local0, 0xd)
+
+ Store(Match(Derefof(Refof(aup0)), MEQ, 0xa5a, MTR, 0, Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(Match(Derefof(Index(paup, 0)), MEQ, 0xa5d, MTR, 0, Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 6, Local0, 0xd)
+
+ Store(Match(Derefof(Index(paup, 0)), MEQ, 0xa5a, MTR, 0, Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Object
+
+ Store(Match(m601(4, 0), MEQ, 0xa5d, MTR, 0, Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 8, Local0, 0xd)
+
+ Store(Match(m601(4, 0), MEQ, 0xa5a, MTR, 0, Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Match(Derefof(m602(4, 0, 1)), MEQ, 0xa5d, MTR, 0, Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 10, Local0, 0xd)
+
+ Store(Match(Derefof(m602(4, 0, 1)), MEQ, 0xa5a, MTR, 0, Derefof(m604(2, 2, 20, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+ }
+
+// Method(m64j, 1)
+
+// Method(m32j, 1)
+
+ // String to Integer conversion of the String sole operand
+ // of the Method execution control operators (Sleep, Stall)
+ Method(m031, 1)
+ {
+ CH03(arg0, z119, 2, 0, 0)
+
+ // Sleep
+
+ Store(Timer, Local0)
+
+ Sleep(Derefof(m604(2, 2, 1, 1)))
+ CH03(arg0, z119, 3, 0, 0)
+
+ Store(Timer, Local1)
+ Subtract(Local1, Local0, Local2)
+ if (LLess(Local2, c08c)) {
+ err(arg0, z119, 0, 0, 0, Local2, c08c)
+ }
+
+ // Stall
+
+ Store(Timer, Local0)
+
+ Stall(Derefof(m604(2, 2, 27, 1)))
+ CH03(arg0, z119, 4, 0, 0)
+
+ Store(Timer, Local1)
+ Subtract(Local1, Local0, Local2)
+ if (LLess(Local2, 990)) {
+ err(arg0, z119, 1, 0, 0, Local2, 990)
+ }
+ }
+
+ // String to Integer conversion of the String TimeoutValue
+ // (second) operand of the Acquire operator ???
+ Method(m032, 1)
+ {
+ Mutex(MTX0, 0)
+
+ Acquire(MTX0, 0)
+ CH03(arg0, z119, 5, 0, 0)
+
+ Store(Timer, Local0)
+
+/* Compiler allows only Integer constant as TimeoutValue (Bug 1)
+ Acquire(MTX0, Derefof(m604(2, 2, 1, 1)))
+*/
+ CH03(arg0, z119, 6, 0, 0)
+
+ Store(Timer, Local1)
+ Subtract(Local1, Local0, Local2)
+ if (LLess(Local2, c08c)) {
+ err(arg0, z119, 0, 0, 0, Local2, c08c)
+ }
+ }
+
+ // String to Integer conversion of the String TimeoutValue
+ // (second) operand of the Wait operator
+ Method(m033, 1)
+ {
+ Event(EVT0)
+
+ CH03(arg0, z119, 7, 0, 0)
+
+ Store(Timer, Local0)
+
+ Wait(EVT0, Derefof(m604(2, 2, 1, 1)))
+ CH03(arg0, z119, 8, 0, 0)
+
+ Store(Timer, Local1)
+ Subtract(Local1, Local0, Local2)
+ if (LLess(Local2, c08c)) {
+ err(arg0, z119, 0, 0, 0, Local2, c08c)
+ }
+ }
+
+ // String to Integer conversion of the String value
+ // of Predicate of the Method execution control statements
+ // (If, ElseIf, While)
+ Method(m034, 1)
+ {
+ Name(ist0, 0)
+
+ Method(m001)
+ {
+ if (Derefof(m604(2, 2, 0, 1))) {
+ Store(0, ist0)
+ }
+ }
+
+ Method(m002)
+ {
+ if (Derefof(m604(2, 2, 1, 1))) {
+ Store(2, ist0)
+ }
+ }
+
+ Method(m003)
+ {
+ if (Derefof(m604(2, 2, 4, 1))) {
+ Store(3, ist0)
+ }
+ }
+
+ Method(m004)
+ {
+ if (Derefof(m604(2, 2, 5, 1))) {
+ Store(4, ist0)
+ }
+ }
+
+ Method(m005, 1)
+ {
+ if (arg0) {
+ Store(0xff, ist0)
+ } elseif (Derefof(m604(2, 2, 0, 1))) {
+ Store(0, ist0)
+ }
+ }
+
+ Method(m006, 1)
+ {
+ if (arg0) {
+ Store(0xff, ist0)
+ } elseif (Derefof(m604(2, 2, 1, 1))) {
+ Store(6, ist0)
+ }
+ }
+
+ Method(m007, 1)
+ {
+ if (arg0) {
+ Store(0xff, ist0)
+ } elseif (Derefof(m604(2, 2, 4, 1))) {
+ Store(7, ist0)
+ }
+ }
+
+ Method(m008, 1)
+ {
+ if (arg0) {
+ Store(0xff, ist0)
+ } elseif (Derefof(m604(2, 2, 5, 1))) {
+ Store(8, ist0)
+ }
+ }
+
+ Method(m009)
+ {
+ while (Derefof(m604(2, 2, 0, 1))) {
+ Store(0, ist0)
+ Break
+ }
+ }
+
+ // If
+
+ Store(1, ist0)
+ m001()
+ m600(arg0, 0, ist0, 1)
+
+ m002()
+ m600(arg0, 1, ist0, 2)
+
+ m003()
+ m600(arg0, 2, ist0, 3)
+
+ m004()
+ m600(arg0, 3, ist0, 4)
+
+ // ElseIf
+
+ Store(5, ist0)
+ m005(0)
+ m600(arg0, 4, ist0, 5)
+
+ m006(0)
+ m600(arg0, 5, ist0, 6)
+
+ m007(0)
+ m600(arg0, 6, ist0, 7)
+
+ m008(0)
+ m600(arg0, 7, ist0, 8)
+
+ // While
+
+ Store(9, ist0)
+ m009()
+ m600(arg0, 8, ist0, 9)
+ }
+
+// Method(m64k, 1)
+
+// Method(m32k, 1)
+
+ // String to Buffer implicit conversion Cases.
+
+ // String to Buffer conversion of the String second operand of
+ // Logical operators when the first operand is evaluated as Buffer
+ // (LEqual, LGreater, LGreaterEqual, LLess, LLessEqual, LNotEqual)
+
+ Method(m035, 1)
+ {
+ // LEqual
+
+ Store(LEqual(Buffer() {0x30, 0x33, 0x32, 0x31, 0x00}, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual(Buffer() {0x30, 0x33, 0x32, 0x31, 0x01}, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(aub7, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(LEqual(aub3, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 3, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aub7)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(aub3)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 5, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paub, 7)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paub, 3)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ // Method returns Buffer
+
+ Store(LEqual(m601(3, 7), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(LEqual(m601(3, 3), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 9, Local0, Zero)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(3, 7, 1)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(3, 3, 1)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 11, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater(Buffer() {0x30, 0x33, 0x32, 0x31, 0x00}, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LGreater(Buffer() {0x30, 0x33, 0x32, 0x31, 0x01}, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LGreater(Buffer() {0x30, 0x33, 0x32, 0x31}, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LGreater(Buffer() {0x30, 0x33, 0x32, 0x31, 0x00, 0x01}, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LGreater(aub7, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LGreater(aub8, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 17, Local0, Ones)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aub7)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(aub8)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 19, Local0, Ones)
+ }
+
+ Store(LGreater(Derefof(Index(paub, 7)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paub, 8)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Buffer
+
+ Store(LGreater(m601(3, 7), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LGreater(m601(3, 8), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 23, Local0, Ones)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(3, 7, 1)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(3, 8, 1)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual(Buffer() {0x30, 0x33, 0x32, 0x31, 0x00}, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 26, Local0, Ones)
+
+ Store(LGreaterEqual(Buffer() {0x30, 0x33, 0x32, 0x31, 0x01}, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 27, Local0, Ones)
+
+ Store(LGreaterEqual(Buffer() {0x30, 0x33, 0x32, 0x31}, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 28, Local0, Zero)
+
+ Store(LGreaterEqual(Buffer() {0x30, 0x33, 0x32, 0x31, 0x00, 0x01}, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 29, Local0, Ones)
+
+ Store(LGreaterEqual(aub7, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 30, Local0, Ones)
+
+ Store(LGreaterEqual(aub8, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aub7)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 32, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(aub8)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 33, Local0, Ones)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paub, 7)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paub, 8)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 35, Local0, Ones)
+
+ // Method returns Buffer
+
+ Store(LGreaterEqual(m601(3, 7), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(m601(3, 8), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(3, 7, 1)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 38, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(3, 8, 1)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 39, Local0, Ones)
+ }
+
+ // LLess
+
+ Store(LLess(Buffer() {0x30, 0x33, 0x32, 0x31, 0x00}, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 40, Local0, Zero)
+
+ Store(LLess(Buffer() {0x30, 0x33, 0x32, 0x31, 0x01}, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ Store(LLess(Buffer() {0x30, 0x33, 0x32, 0x31}, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LLess(Buffer() {0x30, 0x33, 0x32, 0x31, 0x00, 0x01}, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 43, Local0, Zero)
+
+ Store(LLess(aub7, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 44, Local0, Zero)
+
+ Store(LLess(aub8, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 45, Local0, Zero)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aub7)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 46, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(aub8)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 47, Local0, Zero)
+ }
+
+ Store(LLess(Derefof(Index(paub, 7)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 48, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paub, 8)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 49, Local0, Zero)
+
+ // Method returns Buffer
+
+ Store(LLess(m601(3, 7), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ Store(LLess(m601(3, 8), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 51, Local0, Zero)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LLess(Derefof(m602(3, 7, 1)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 52, Local0, Zero)
+
+ Store(LLess(Derefof(m602(3, 8, 1)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual(Buffer() {0x30, 0x33, 0x32, 0x31, 0x00}, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 54, Local0, Ones)
+
+ Store(LLessEqual(Buffer() {0x30, 0x33, 0x32, 0x31, 0x01}, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLessEqual(Buffer() {0x30, 0x33, 0x32, 0x31}, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLessEqual(Buffer() {0x30, 0x33, 0x32, 0x31, 0x00, 0x01}, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLessEqual(aub7, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 58, Local0, Ones)
+
+ Store(LLessEqual(aub8, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 59, Local0, Zero)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aub7)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 60, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(aub8)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 61, Local0, Zero)
+ }
+
+ Store(LLessEqual(Derefof(Index(paub, 7)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 62, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paub, 8)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ // Method returns Buffer
+
+ Store(LLessEqual(m601(3, 7), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 64, Local0, Ones)
+
+ Store(LLessEqual(m601(3, 8), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 65, Local0, Zero)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(3, 7, 1)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 66, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(3, 8, 1)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 67, Local0, Zero)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual(Buffer() {0x30, 0x33, 0x32, 0x31, 0x00}, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 68, Local0, Zero)
+
+ Store(LNotEqual(Buffer() {0x30, 0x33, 0x32, 0x31, 0x01}, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 69, Local0, Ones)
+
+ Store(LNotEqual(Buffer() {0x30, 0x33, 0x32, 0x31}, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 70, Local0, Ones)
+
+ Store(LNotEqual(Buffer() {0x30, 0x33, 0x32, 0x31, 0x00, 0x01}, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 71, Local0, Ones)
+
+ Store(LNotEqual(aub7, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 72, Local0, Zero)
+
+ Store(LNotEqual(aub8, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 73, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aub7)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 74, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(aub8)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 75, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paub, 7)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paub, 8)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ // Method returns Buffer
+
+ Store(LNotEqual(m601(3, 7), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 78, Local0, Zero)
+
+ Store(LNotEqual(m601(3, 8), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 79, Local0, Ones)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(3, 7, 1)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 80, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(3, 8, 1)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 81, Local0, Ones)
+ }
+
+ // Boundary Cases
+
+ Store(LEqual(Buffer() {0x00}, Derefof(m604(2, 2, 12, 1))), Local0)
+ m600(arg0, 82, Local0, Ones)
+
+ Store(LEqual(Buffer() {0x01}, Derefof(m604(2, 2, 12, 1))), Local0)
+ m600(arg0, 83, Local0, Zero)
+
+ Store(LGreater(Buffer() {0x00}, Derefof(m604(2, 2, 12, 1))), Local0)
+ m600(arg0, 84, Local0, Zero)
+
+ Store(LGreater(Buffer() {0x01}, Derefof(m604(2, 2, 12, 1))), Local0)
+ m600(arg0, 85, Local0, Ones)
+
+ Store(LGreaterEqual(Buffer() {0x00}, Derefof(m604(2, 2, 12, 1))), Local0)
+ m600(arg0, 86, Local0, Ones)
+
+ Store(LGreater(Buffer() {0x01}, Derefof(m604(2, 2, 12, 1))), Local0)
+ m600(arg0, 87, Local0, Ones)
+
+ Store(LLess(Buffer() {0x00}, Derefof(m604(2, 2, 12, 1))), Local0)
+ m600(arg0, 88, Local0, Zero)
+
+ Store(LLess(Buffer() {0x01}, Derefof(m604(2, 2, 12, 1))), Local0)
+ m600(arg0, 89, Local0, Zero)
+
+ Store(LLessEqual(Buffer() {0x00}, Derefof(m604(2, 2, 12, 1))), Local0)
+ m600(arg0, 90, Local0, Ones)
+
+ Store(LLessEqual(Buffer() {0x01}, Derefof(m604(2, 2, 12, 1))), Local0)
+ m600(arg0, 91, Local0, Zero)
+
+ Store(LNotEqual(Buffer() {0x00}, Derefof(m604(2, 2, 12, 1))), Local0)
+ m600(arg0, 92, Local0, Zero)
+
+ Store(LNotEqual(Buffer() {0x01}, Derefof(m604(2, 2, 12, 1))), Local0)
+ m600(arg0, 93, Local0, Ones)
+
+ Store(LEqual(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x00,},
+ Derefof(m604(2, 2, 14, 1))),
+ Local0)
+ m600(arg0, 94, Local0, Ones)
+
+ Store(LEqual(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x01,},
+ Derefof(m604(2, 2, 14, 1))),
+ Local0)
+ m600(arg0, 95, Local0, Zero)
+
+ Store(LGreater(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x00,},
+ Derefof(m604(2, 2, 14, 1))),
+ Local0)
+ m600(arg0, 96, Local0, Zero)
+
+ Store(LGreater(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x01,},
+ Derefof(m604(2, 2, 14, 1))),
+ Local0)
+ m600(arg0, 97, Local0, Ones)
+
+ Store(LGreaterEqual(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x00,},
+ Derefof(m604(2, 2, 14, 1))),
+ Local0)
+ m600(arg0, 98, Local0, Ones)
+
+ Store(LGreater(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x01,},
+ Derefof(m604(2, 2, 14, 1))),
+ Local0)
+ m600(arg0, 99, Local0, Ones)
+
+ Store(LLess(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x00,},
+ Derefof(m604(2, 2, 14, 1))),
+ Local0)
+ m600(arg0, 100, Local0, Zero)
+
+ Store(LLess(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x01,},
+ Derefof(m604(2, 2, 14, 1))),
+ Local0)
+ m600(arg0, 101, Local0, Zero)
+
+ Store(LLessEqual(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x00,},
+ Derefof(m604(2, 2, 14, 1))),
+ Local0)
+ m600(arg0, 102, Local0, Ones)
+
+ Store(LLessEqual(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x01,},
+ Derefof(m604(2, 2, 14, 1))),
+ Local0)
+ m600(arg0, 103, Local0, Zero)
+
+ Store(LNotEqual(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x00,},
+ Derefof(m604(2, 2, 14, 1))),
+ Local0)
+ m600(arg0, 104, Local0, Zero)
+
+ Store(LNotEqual(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x01,},
+ Derefof(m604(2, 2, 14, 1))),
+ Local0)
+ m600(arg0, 105, Local0, Ones)
+ }
+
+ // String to Buffer conversion of the String second operand of
+ // Concatenate operator when the first operand is evaluated as Buffer
+
+ Method(m036, 1)
+ {
+ Store(Concatenate(Buffer(){0x5a}, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 0, Local0, bb29)
+
+ Store(Concatenate(Buffer(){0x5a, 0x00}, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 1, Local0, bb2a)
+
+ Store(Concatenate(aub0, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 2, Local0, bb29)
+
+ Store(Concatenate(aub1, Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 3, Local0, bb2a)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aub0)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 4, Local0, bb29)
+
+ Store(Concatenate(Derefof(Refof(aub1)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 5, Local0, bb2a)
+ }
+
+ Store(Concatenate(Derefof(Index(paub, 0)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 6, Local0, bb29)
+
+ Store(Concatenate(Derefof(Index(paub, 1)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 7, Local0, bb2a)
+
+ // Method returns Buffer
+
+ Store(Concatenate(m601(3, 0), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 8, Local0, bb29)
+
+ Store(Concatenate(m601(3, 1), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 9, Local0, bb2a)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(3, 0, 1)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 10, Local0, bb29)
+
+ Store(Concatenate(Derefof(m602(3, 1, 1)), Derefof(m604(2, 2, 1, 1))), Local0)
+ m600(arg0, 11, Local0, bb2a)
+ }
+
+ Concatenate(Buffer(){0x5a}, Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 12, Local0, bb29)
+
+ Concatenate(Buffer(){0x5a, 0x00}, Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 13, Local0, bb2a)
+
+ Concatenate(aub0, Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 14, Local0, bb29)
+
+ Concatenate(aub1, Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 15, Local0, bb2a)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aub0)), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 16, Local0, bb29)
+
+ Concatenate(Derefof(Refof(aub1)), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 17, Local0, bb2a)
+ }
+
+ Concatenate(Derefof(Index(paub, 0)), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 18, Local0, bb29)
+
+ Concatenate(Derefof(Index(paub, 1)), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 19, Local0, bb2a)
+
+ // Method returns Buffer
+
+ Concatenate(m601(3, 0), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 20, Local0, bb29)
+
+ Concatenate(m601(3, 1), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 21, Local0, bb2a)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Concatenate(Derefof(m602(3, 0, 1)), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 22, Local0, bb29)
+
+ Concatenate(Derefof(m602(3, 1, 1)), Derefof(m604(2, 2, 1, 1)), Local0)
+ m600(arg0, 23, Local0, bb2a)
+ }
+
+ // Boundary Cases
+
+ Store(Concatenate(Buffer(){0x5a}, Derefof(m604(2, 2, 12, 1))), Local0)
+ m600(arg0, 24, Local0, bb2b)
+
+ Store(Concatenate(Buffer(){0x5a, 0x00}, Derefof(m604(2, 2, 12, 1))), Local0)
+ m600(arg0, 25, Local0, bb2c)
+
+ Store(0, Local1)
+ Store(Concatenate(Buffer(Local1){}, Derefof(m604(2, 2, 14, 1))), Local0)
+ m600(arg0, 26, Local0, bb2d)
+ }
+
+ // String to Buffer conversion of the String Source operand of
+ // ToString operator (has a visual effect in shortening of the
+ // String taken the null character, that is impossible to show
+ // with an immediate String constant).
+
+ Method(m037, 1)
+ {
+ Store(ToString(Derefof(m604(2, 2, 1, 1)), Ones), Local0)
+ m600(arg0, 0, Local0, bs20)
+
+ Store(ToString(Derefof(m604(2, 2, 1, 1)), 3), Local0)
+ m600(arg0, 1, Local0, bs21)
+
+ Store(ToString(Derefof(m604(2, 2, 1, 1)), aui0), Local0)
+ m600(arg0, 2, Local0, bs20)
+
+ Store(ToString(Derefof(m604(2, 2, 1, 1)), aui7), Local0)
+ m600(arg0, 3, Local0, bs21)
+
+ if (y078) {
+ Store(ToString(Derefof(m604(2, 2, 1, 1)), Derefof(Refof(aui0))), Local0)
+ m600(arg0, 4, Local0, bs20)
+
+ Store(ToString(Derefof(m604(2, 2, 1, 1)), Derefof(Refof(aui7))), Local0)
+ m600(arg0, 5, Local0, bs21)
+ }
+
+ Store(ToString(Derefof(m604(2, 2, 1, 1)), Derefof(Index(paui, 0))), Local0)
+ m600(arg0, 6, Local0, bs20)
+
+ Store(ToString(Derefof(m604(2, 2, 1, 1)), Derefof(Index(paui, 7))), Local0)
+ m600(arg0, 7, Local0, bs21)
+
+ // Method returns Length parameter
+
+ Store(ToString(Derefof(m604(2, 2, 1, 1)), m601(1, 0)), Local0)
+ m600(arg0, 8, Local0, bs20)
+
+ Store(ToString(Derefof(m604(2, 2, 1, 1)), m601(1, 7)), Local0)
+ m600(arg0, 9, Local0, bs21)
+
+ // Method returns Reference to Length parameter
+
+ if (y500) {
+ Store(ToString(Derefof(m604(2, 2, 1, 1)), Derefof(m601(1, 0))), Local0)
+ m600(arg0, 10, Local0, bs20)
+
+ Store(ToString(Derefof(m604(2, 2, 1, 1)), Derefof(m601(1, 7))), Local0)
+ m600(arg0, 11, Local0, bs21)
+ }
+
+ ToString(Derefof(m604(2, 2, 1, 1)), Ones, Local0)
+ m600(arg0, 12, Local0, bs20)
+
+ ToString(Derefof(m604(2, 2, 1, 1)), 3, Local0)
+ m600(arg0, 13, Local0, bs21)
+
+ ToString(Derefof(m604(2, 2, 1, 1)), aui0, Local0)
+ m600(arg0, 14, Local0, bs20)
+
+ ToString(Derefof(m604(2, 2, 1, 1)), aui7, Local0)
+ m600(arg0, 15, Local0, bs21)
+
+ if (y078) {
+ ToString(Derefof(m604(2, 2, 1, 1)), Derefof(Refof(aui0)), Local0)
+ m600(arg0, 16, Local0, bs20)
+
+ ToString(Derefof(m604(2, 2, 1, 1)), Derefof(Refof(aui7)), Local0)
+ m600(arg0, 17, Local0, bs21)
+ }
+
+ ToString(Derefof(m604(2, 2, 1, 1)), Derefof(Index(paui, 0)), Local0)
+ m600(arg0, 18, Local0, bs20)
+
+ ToString(Derefof(m604(2, 2, 1, 1)), Derefof(Index(paui, 7)), Local0)
+ m600(arg0, 19, Local0, bs21)
+
+ // Method returns Length parameter
+
+ ToString(Derefof(m604(2, 2, 1, 1)), m601(1, 0), Local0)
+ m600(arg0, 20, Local0, bs20)
+
+ ToString(Derefof(m604(2, 2, 1, 1)), m601(1, 7), Local0)
+ m600(arg0, 21, Local0, bs21)
+
+ // Method returns Reference to Length parameter
+
+ if (y500) {
+ ToString(Derefof(m604(2, 2, 1, 1)), Derefof(m601(1, 0)), Local0)
+ m600(arg0, 22, Local0, bs20)
+
+ ToString(Derefof(m604(2, 2, 1, 1)), Derefof(m601(1, 7)), Local0)
+ m600(arg0, 23, Local0, bs21)
+ }
+
+ // Boundary Cases
+
+ Store(ToString(Derefof(m604(2, 2, 12, 1)), Ones), Local0)
+ m600(arg0, 24, Local0, bs22)
+
+ Store(ToString(Derefof(m604(2, 2, 12, 1)), 3), Local0)
+ m600(arg0, 25, Local0, bs22)
+
+ Store(ToString(
+ Derefof(m604(2, 2, 14, 1)),
+ Ones), Local0)
+ m600(arg0, 26, Local0, bs23)
+
+ Store(ToString(
+ Derefof(m604(2, 2, 14, 1)),
+ 3), Local0)
+ m600(arg0, 27, Local0, bs24)
+ }
+
+// Method(m038, 1)
+
+// Method(m039, 1)
+
+ // Buffer to Integer implicit conversion Cases.
+
+ // Buffer to Integer conversion of the Buffer sole operand
+ // of the 1-parameter Integer arithmetic operators
+ // (Decrement, Increment, FindSetLeftBit, FindSetRightBit, Not)
+
+ Method(m64l, 1)
+ {
+ // Decrement
+ if (y501) {
+ Store(Decrement(Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 0, Local0, bi12)
+
+ Store(Decrement(Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 1, Local0, bi16)
+ }
+
+ // Increment
+ if (y501) {
+ Store(Increment(Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 2, Local0, bi13)
+
+ Store(Increment(Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 3, Local0, bi17)
+ }
+
+ // FindSetLeftBit
+
+ Store(FindSetLeftBit(Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 4, Local0, 10)
+
+ Store(FindSetLeftBit(Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 5, Local0, 64)
+
+ // FindSetRightBit
+
+ Store(FindSetRightBit(Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 6, Local0, 1)
+
+ Store(FindSetRightBit(Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 7, Local0, 3)
+
+ // Not
+
+ Store(Not(Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 8, Local0, 0xfffffffffffffcde)
+
+ Store(Not(Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 9, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Method(m32l, 1)
+ {
+ // Decrement
+ if (y501) {
+ Store(Decrement(Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 0, Local0, bi12)
+
+ Store(Decrement(Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 1, Local0, bi18)
+ }
+
+ // Increment
+ if (y501) {
+ Store(Increment(Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 2, Local0, bi13)
+
+ Store(Increment(Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 3, Local0, bi19)
+ }
+
+ // FindSetLeftBit
+
+ Store(FindSetLeftBit(Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 4, Local0, 10)
+
+ Store(FindSetLeftBit(Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 5, Local0, 32)
+
+ // FindSetRightBit
+
+ Store(FindSetRightBit(Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 6, Local0, 1)
+
+ Store(FindSetRightBit(Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 7, Local0, 3)
+
+ // Not
+
+ Store(Not(Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 8, Local0, 0xfffffcde)
+
+ Store(Not(Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 9, Local0, 0x29af5d7b)
+ }
+
+ // Buffer to Integer conversion of the Buffer sole operand
+ // of the LNot Logical Integer operator
+ Method(m03a, 1)
+ {
+ Store(LNot(Derefof(m604(2, 3, 0, 1))), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LNot(Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ if (F64) {
+ Store(LNot(Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 2, Local0, Zero)
+ } else {
+ Store(LNot(Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 3, Local0, Zero)
+ }
+ }
+
+ // Buffer to Integer conversion of the Buffer sole operand
+ // of the FromBCD and ToBCD conversion operators
+
+ Method(m64m, 1)
+ {
+ // FromBCD
+
+ Store(FromBCD(Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 2, Local0, 0x141)
+
+ Store(FromBCD(Derefof(m604(2, 3, 15, 1))), Local0)
+ m600(arg0, 3, Local0, 0xd76162ee9ec35)
+
+ FromBCD(Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 2, Local0, 0x141)
+
+ FromBCD(Derefof(m604(2, 3, 15, 1)), Local0)
+ m600(arg0, 3, Local0, 0xd76162ee9ec35)
+
+ // ToBCD
+
+ Store(ToBCD(Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 4, Local0, 0x801)
+
+// ??? No error of iASL on constant folding
+ Store(ToBCD(Derefof(m604(2, 3, 16, 1))), Local0)
+ m600(arg0, 5, Local0, 0x3789012345678901)
+
+ ToBCD(Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 4, Local0, 0x801)
+
+ ToBCD(Derefof(m604(2, 3, 16, 1)), Local0)
+ m600(arg0, 5, Local0, 0x3789012345678901)
+ }
+
+ Method(m32m, 1)
+ {
+ // FromBCD
+
+ Store(FromBCD(Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 2, Local0, 0x141)
+
+ Store(FromBCD(Derefof(m604(2, 3, 17, 1))), Local0)
+ m600(arg0, 3, Local0, 0x55f2cc0)
+
+ FromBCD(Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 2, Local0, 0x141)
+
+ FromBCD(Derefof(m604(2, 3, 17, 1)), Local0)
+ m600(arg0, 3, Local0, 0x55f2cc0)
+
+ // ToBCD
+
+ Store(ToBCD(Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 4, Local0, 0x801)
+
+ Store(ToBCD(Derefof(m604(2, 3, 18, 1))), Local0)
+ m600(arg0, 5, Local0, 0x90123456)
+
+ ToBCD(Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 4, Local0, 0x801)
+
+ ToBCD(Derefof(m604(2, 3, 18, 1)), Local0)
+ m600(arg0, 5, Local0, 0x90123456)
+ }
+
+ // Buffer to Integer conversion of each Buffer operand
+ // of the 2-parameter Integer arithmetic operators
+ // Add, And, Divide, Mod, Multiply, NAnd, NOr, Or,
+ // ShiftLeft, ShiftRight, Subtract, Xor
+
+ // Add, common 32-bit/64-bit test
+ Method(m03b, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Add(Derefof(m604(2, 3, 6, 1)), 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Add(Derefof(m604(2, 3, 6, 1)), 1), Local0)
+ m600(arg0, 1, Local0, 0x322)
+
+ Store(Add(Derefof(m604(2, 3, 6, 1)), aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Add(Derefof(m604(2, 3, 6, 1)), aui6), Local0)
+ m600(arg0, 3, Local0, 0x322)
+
+ if (y078) {
+ Store(Add(Derefof(m604(2, 3, 6, 1)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Add(Derefof(m604(2, 3, 6, 1)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x322)
+ }
+
+ Store(Add(Derefof(m604(2, 3, 6, 1)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Add(Derefof(m604(2, 3, 6, 1)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x322)
+
+ // Method returns Integer
+
+ Store(Add(Derefof(m604(2, 3, 6, 1)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Add(Derefof(m604(2, 3, 6, 1)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x322)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(Derefof(m604(2, 3, 6, 1)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Add(Derefof(m604(2, 3, 6, 1)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x322)
+ }
+
+ Add(Derefof(m604(2, 3, 6, 1)), 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Add(Derefof(m604(2, 3, 6, 1)), 1, Local0)
+ m600(arg0, 13, Local0, 0x322)
+
+ Add(Derefof(m604(2, 3, 6, 1)), aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Add(Derefof(m604(2, 3, 6, 1)), aui6, Local0)
+ m600(arg0, 15, Local0, 0x322)
+
+ if (y078) {
+ Add(Derefof(m604(2, 3, 6, 1)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Add(Derefof(m604(2, 3, 6, 1)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x322)
+ }
+
+ Add(Derefof(m604(2, 3, 6, 1)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Add(Derefof(m604(2, 3, 6, 1)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x322)
+
+ // Method returns Integer
+
+ Add(Derefof(m604(2, 3, 6, 1)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Add(Derefof(m604(2, 3, 6, 1)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x322)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(Derefof(m604(2, 3, 6, 1)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Add(Derefof(m604(2, 3, 6, 1)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x322)
+ }
+
+ // Conversion of the second operand
+
+ Store(Add(0, Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 24, Local0, 0x321)
+
+ Store(Add(1, Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 25, Local0, 0x322)
+
+ Store(Add(aui5, Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 26, Local0, 0x321)
+
+ Store(Add(aui6, Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 27, Local0, 0x322)
+
+ if (y078) {
+ Store(Add(Derefof(Refof(aui5)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 28, Local0, 0x321)
+
+ Store(Add(Derefof(Refof(aui6)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 29, Local0, 0x322)
+ }
+
+ Store(Add(Derefof(Index(paui, 5)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 30, Local0, 0x321)
+
+ Store(Add(Derefof(Index(paui, 6)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 31, Local0, 0x322)
+
+ // Method returns Integer
+
+ Store(Add(m601(1, 5), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 32, Local0, 0x321)
+
+ Store(Add(m601(1, 6), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 33, Local0, 0x322)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(Derefof(m602(1, 5, 1)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 34, Local0, 0x321)
+
+ Store(Add(Derefof(m602(1, 6, 1)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 35, Local0, 0x322)
+ }
+
+ Add(0, Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 36, Local0, 0x321)
+
+ Add(1, Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 37, Local0, 0x322)
+
+ Add(aui5, Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 38, Local0, 0x321)
+
+ Add(aui6, Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 39, Local0, 0x322)
+
+ if (y078) {
+ Add(Derefof(Refof(aui5)), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 40, Local0, 0x321)
+
+ Add(Derefof(Refof(aui6)), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 41, Local0, 0x322)
+ }
+
+ Add(Derefof(Index(paui, 5)), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 42, Local0, 0x321)
+
+ Add(Derefof(Index(paui, 6)), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 43, Local0, 0x322)
+
+ // Method returns Integer
+
+ Add(m601(1, 5), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 44, Local0, 0x321)
+
+ Add(m601(1, 6), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 45, Local0, 0x322)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(Derefof(m602(1, 5, 1)), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 46, Local0, 0x321)
+
+ Add(Derefof(m602(1, 6, 1)), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 47, Local0, 0x322)
+ }
+ }
+
+ // Add, 64-bit
+ Method(m03c, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Add(Derefof(m604(2, 3, 10, 1)), 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(m604(2, 3, 10, 1)), 1), Local0)
+ m600(arg0, 1, Local0, 0xfe7cb391d650a285)
+
+ Store(Add(Derefof(m604(2, 3, 10, 1)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(m604(2, 3, 10, 1)), aui6), Local0)
+ m600(arg0, 3, Local0, 0xfe7cb391d650a285)
+
+ if (y078) {
+ Store(Add(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xfe7cb391d650a285)
+ }
+
+ Store(Add(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Integer
+
+ Store(Add(Derefof(m604(2, 3, 10, 1)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(m604(2, 3, 10, 1)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(Derefof(m604(2, 3, 10, 1)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(m604(2, 3, 10, 1)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfe7cb391d650a285)
+ }
+
+ Add(Derefof(m604(2, 3, 10, 1)), 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(m604(2, 3, 10, 1)), 1, Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a285)
+
+ Add(Derefof(m604(2, 3, 10, 1)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(m604(2, 3, 10, 1)), aui6, Local0)
+ m600(arg0, 15, Local0, 0xfe7cb391d650a285)
+
+ if (y078) {
+ Add(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xfe7cb391d650a285)
+ }
+
+ Add(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Integer
+
+ Add(Derefof(m604(2, 3, 10, 1)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(m604(2, 3, 10, 1)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(Derefof(m604(2, 3, 10, 1)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(m604(2, 3, 10, 1)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfe7cb391d650a285)
+ }
+
+ // Conversion of the second operand
+
+ Store(Add(0, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 24, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(1, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 25, Local0, 0xfe7cb391d650a285)
+
+ Store(Add(aui5, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 26, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(aui6, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 27, Local0, 0xfe7cb391d650a285)
+
+ if (y078) {
+ Store(Add(Derefof(Refof(aui5)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 28, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(Refof(aui6)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 29, Local0, 0xfe7cb391d650a285)
+ }
+
+ Store(Add(Derefof(Index(paui, 5)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 30, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(Index(paui, 6)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 31, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Integer
+
+ Store(Add(m601(1, 5), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 32, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(m601(1, 6), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 33, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(Derefof(m602(1, 5, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 34, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(m602(1, 6, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 35, Local0, 0xfe7cb391d650a285)
+ }
+
+ Add(0, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 36, Local0, 0xfe7cb391d650a284)
+
+ Add(1, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 37, Local0, 0xfe7cb391d650a285)
+
+ Add(aui5, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 38, Local0, 0xfe7cb391d650a284)
+
+ Add(aui6, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 39, Local0, 0xfe7cb391d650a285)
+
+ if (y078) {
+ Add(Derefof(Refof(aui5)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 40, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(Refof(aui6)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 41, Local0, 0xfe7cb391d650a285)
+ }
+
+ Add(Derefof(Index(paui, 5)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 42, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(Index(paui, 6)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 43, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Integer
+
+ Add(m601(1, 5), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 44, Local0, 0xfe7cb391d650a284)
+
+ Add(m601(1, 6), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 45, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(Derefof(m602(1, 5, 1)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 46, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(m602(1, 6, 1)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 47, Local0, 0xfe7cb391d650a285)
+ }
+
+ // Conversion of the both operands
+
+ Store(Add(Derefof(m604(2, 3, 6, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 48, Local0, 0xfe7cb391d650a5a5)
+
+ Store(Add(Derefof(m604(2, 3, 10, 1)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 49, Local0, 0xfe7cb391d650a5a5)
+
+ Add(Derefof(m604(2, 3, 6, 1)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 50, Local0, 0xfe7cb391d650a5a5)
+
+ Add(Derefof(m604(2, 3, 10, 1)), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 51, Local0, 0xfe7cb391d650a5a5)
+ }
+
+ // Add, 32-bit
+ Method(m03d, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Add(Derefof(m604(2, 3, 10, 1)), 0), Local0)
+ m600(arg0, 0, Local0, 0xd650a284)
+
+ Store(Add(Derefof(m604(2, 3, 10, 1)), 1), Local0)
+ m600(arg0, 1, Local0, 0xd650a285)
+
+ Store(Add(Derefof(m604(2, 3, 10, 1)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xd650a284)
+
+ Store(Add(Derefof(m604(2, 3, 10, 1)), aui6), Local0)
+ m600(arg0, 3, Local0, 0xd650a285)
+
+ if (y078) {
+ Store(Add(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xd650a284)
+
+ Store(Add(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xd650a285)
+ }
+
+ Store(Add(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xd650a284)
+
+ Store(Add(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xd650a285)
+
+ // Method returns Integer
+
+ Store(Add(Derefof(m604(2, 3, 10, 1)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xd650a284)
+
+ Store(Add(Derefof(m604(2, 3, 10, 1)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xd650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(Derefof(m604(2, 3, 10, 1)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xd650a284)
+
+ Store(Add(Derefof(m604(2, 3, 10, 1)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xd650a285)
+ }
+
+ Add(Derefof(m604(2, 3, 10, 1)), 0, Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ Add(Derefof(m604(2, 3, 10, 1)), 1, Local0)
+ m600(arg0, 13, Local0, 0xd650a285)
+
+ Add(Derefof(m604(2, 3, 10, 1)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xd650a284)
+
+ Add(Derefof(m604(2, 3, 10, 1)), aui6, Local0)
+ m600(arg0, 15, Local0, 0xd650a285)
+
+ if (y078) {
+ Add(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xd650a284)
+
+ Add(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xd650a285)
+ }
+
+ Add(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xd650a284)
+
+ Add(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xd650a285)
+
+ // Method returns Integer
+
+ Add(Derefof(m604(2, 3, 10, 1)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xd650a284)
+
+ Add(Derefof(m604(2, 3, 10, 1)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xd650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(Derefof(m604(2, 3, 10, 1)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xd650a284)
+
+ Add(Derefof(m604(2, 3, 10, 1)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xd650a285)
+ }
+
+ // Conversion of the second operand
+
+ Store(Add(0, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 24, Local0, 0xd650a284)
+
+ Store(Add(1, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 25, Local0, 0xd650a285)
+
+ Store(Add(aui5, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 26, Local0, 0xd650a284)
+
+ Store(Add(aui6, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 27, Local0, 0xd650a285)
+
+ if (y078) {
+ Store(Add(Derefof(Refof(aui5)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 28, Local0, 0xd650a284)
+
+ Store(Add(Derefof(Refof(aui6)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 29, Local0, 0xd650a285)
+ }
+
+ Store(Add(Derefof(Index(paui, 5)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 30, Local0, 0xd650a284)
+
+ Store(Add(Derefof(Index(paui, 6)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 31, Local0, 0xd650a285)
+
+ // Method returns Integer
+
+ Store(Add(m601(1, 5), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 32, Local0, 0xd650a284)
+
+ Store(Add(m601(1, 6), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 33, Local0, 0xd650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(Derefof(m602(1, 5, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 34, Local0, 0xd650a284)
+
+ Store(Add(Derefof(m602(1, 6, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 35, Local0, 0xd650a285)
+ }
+
+ Add(0, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 36, Local0, 0xd650a284)
+
+ Add(1, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 37, Local0, 0xd650a285)
+
+ Add(aui5, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 38, Local0, 0xd650a284)
+
+ Add(aui6, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 39, Local0, 0xd650a285)
+
+ if (y078) {
+ Add(Derefof(Refof(aui5)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 40, Local0, 0xd650a284)
+
+ Add(Derefof(Refof(aui6)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 41, Local0, 0xd650a285)
+ }
+
+ Add(Derefof(Index(paui, 5)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 42, Local0, 0xd650a284)
+
+ Add(Derefof(Index(paui, 6)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 43, Local0, 0xd650a285)
+
+ // Method returns Integer
+
+ Add(m601(1, 5), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 44, Local0, 0xd650a284)
+
+ Add(m601(1, 6), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 45, Local0, 0xd650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(Derefof(m602(1, 5, 1)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 46, Local0, 0xd650a284)
+
+ Add(Derefof(m602(1, 6, 1)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 47, Local0, 0xd650a285)
+ }
+
+ // Conversion of the both operands
+
+ Store(Add(Derefof(m604(2, 3, 6, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 48, Local0, 0xd650a5a5)
+
+ Store(Add(Derefof(m604(2, 3, 10, 1)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 49, Local0, 0xd650a5a5)
+
+ Add(Derefof(m604(2, 3, 6, 1)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 50, Local0, 0xd650a5a5)
+
+ Add(Derefof(m604(2, 3, 10, 1)), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 51, Local0, 0xd650a5a5)
+ }
+
+ // And, common 32-bit/64-bit test
+ Method(m03e, 1)
+ {
+ // Conversion of the first operand
+
+ Store(And(Derefof(m604(2, 3, 6, 1)), 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(And(Derefof(m604(2, 3, 6, 1)), 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0x321)
+
+ Store(And(Derefof(m604(2, 3, 6, 1)), aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(And(Derefof(m604(2, 3, 6, 1)), auij), Local0)
+ m600(arg0, 3, Local0, 0x321)
+
+ if (y078) {
+ Store(And(Derefof(m604(2, 3, 6, 1)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(And(Derefof(m604(2, 3, 6, 1)), Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0x321)
+ }
+
+ Store(And(Derefof(m604(2, 3, 6, 1)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(And(Derefof(m604(2, 3, 6, 1)), Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0x321)
+
+ // Method returns Integer
+
+ Store(And(Derefof(m604(2, 3, 6, 1)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(And(Derefof(m604(2, 3, 6, 1)), m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(Derefof(m604(2, 3, 6, 1)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(And(Derefof(m604(2, 3, 6, 1)), Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0x321)
+ }
+
+ And(Derefof(m604(2, 3, 6, 1)), 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ And(Derefof(m604(2, 3, 6, 1)), 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0x321)
+
+ And(Derefof(m604(2, 3, 6, 1)), aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ And(Derefof(m604(2, 3, 6, 1)), auij, Local0)
+ m600(arg0, 15, Local0, 0x321)
+
+ if (y078) {
+ And(Derefof(m604(2, 3, 6, 1)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ And(Derefof(m604(2, 3, 6, 1)), Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0x321)
+ }
+
+ And(Derefof(m604(2, 3, 6, 1)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ And(Derefof(m604(2, 3, 6, 1)), Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0x321)
+
+ // Method returns Integer
+
+ And(Derefof(m604(2, 3, 6, 1)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ And(Derefof(m604(2, 3, 6, 1)), m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(Derefof(m604(2, 3, 6, 1)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ And(Derefof(m604(2, 3, 6, 1)), Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0x321)
+ }
+
+ // Conversion of the second operand
+
+ Store(And(0, Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(And(0xffffffffffffffff, Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 25, Local0, 0x321)
+
+ Store(And(aui5, Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(And(auij, Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 27, Local0, 0x321)
+
+ if (y078) {
+ Store(And(Derefof(Refof(aui5)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(And(Derefof(Refof(auij)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 29, Local0, 0x321)
+ }
+
+ Store(And(Derefof(Index(paui, 5)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(And(Derefof(Index(paui, 19)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 31, Local0, 0x321)
+
+ // Method returns Integer
+
+ Store(And(m601(1, 5), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(And(m601(1, 19), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 33, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(Derefof(m602(1, 5, 1)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(And(Derefof(m602(1, 19, 1)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 35, Local0, 0x321)
+ }
+
+ And(0, Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ And(0xffffffffffffffff, Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 37, Local0, 0x321)
+
+ And(aui5, Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ And(auij, Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 39, Local0, 0x321)
+
+ if (y078) {
+ And(Derefof(Refof(aui5)), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ And(Derefof(Refof(auij)), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 41, Local0, 0x321)
+ }
+
+ And(Derefof(Index(paui, 5)), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ And(Derefof(Index(paui, 19)), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 43, Local0, 0x321)
+
+ // Method returns Integer
+
+ And(m601(1, 5), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ And(m601(1, 19), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 45, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(Derefof(m602(1, 5, 1)), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ And(Derefof(m602(1, 19, 1)), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 47, Local0, 0x321)
+ }
+ }
+
+ // And, 64-bit
+ Method(m03f, 1)
+ {
+ // Conversion of the first operand
+
+ Store(And(Derefof(m604(2, 3, 10, 1)), 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(And(Derefof(m604(2, 3, 10, 1)), 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xfe7cb391d650a284)
+
+ Store(And(Derefof(m604(2, 3, 10, 1)), aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(And(Derefof(m604(2, 3, 10, 1)), auij), Local0)
+ m600(arg0, 3, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Store(And(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(And(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xfe7cb391d650a284)
+ }
+
+ Store(And(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(And(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Store(And(Derefof(m604(2, 3, 10, 1)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(And(Derefof(m604(2, 3, 10, 1)), m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(Derefof(m604(2, 3, 10, 1)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(And(Derefof(m604(2, 3, 10, 1)), Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfe7cb391d650a284)
+ }
+
+ And(Derefof(m604(2, 3, 10, 1)), 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ And(Derefof(m604(2, 3, 10, 1)), 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a284)
+
+ And(Derefof(m604(2, 3, 10, 1)), aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ And(Derefof(m604(2, 3, 10, 1)), auij, Local0)
+ m600(arg0, 15, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ And(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ And(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xfe7cb391d650a284)
+ }
+
+ And(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ And(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ And(Derefof(m604(2, 3, 10, 1)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ And(Derefof(m604(2, 3, 10, 1)), m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(Derefof(m604(2, 3, 10, 1)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ And(Derefof(m604(2, 3, 10, 1)), Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfe7cb391d650a284)
+ }
+
+ // Conversion of the second operand
+
+ Store(And(0, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(And(0xffffffffffffffff, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 25, Local0, 0xfe7cb391d650a284)
+
+ Store(And(aui5, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(And(auij, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 27, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Store(And(Derefof(Refof(aui5)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(And(Derefof(Refof(auij)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 29, Local0, 0xfe7cb391d650a284)
+ }
+
+ Store(And(Derefof(Index(paui, 5)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(And(Derefof(Index(paui, 19)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 31, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Store(And(m601(1, 5), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(And(m601(1, 19), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 33, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(Derefof(m602(1, 5, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(And(Derefof(m602(1, 19, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 35, Local0, 0xfe7cb391d650a284)
+ }
+
+ And(0, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ And(0xffffffffffffffff, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 37, Local0, 0xfe7cb391d650a284)
+
+ And(aui5, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ And(auij, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 39, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ And(Derefof(Refof(aui5)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ And(Derefof(Refof(auij)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 41, Local0, 0xfe7cb391d650a284)
+ }
+
+ And(Derefof(Index(paui, 5)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ And(Derefof(Index(paui, 19)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 43, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ And(m601(1, 5), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ And(m601(1, 19), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 45, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(Derefof(m602(1, 5, 1)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ And(Derefof(m602(1, 19, 1)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 47, Local0, 0xfe7cb391d650a284)
+ }
+
+ // Conversion of the both operands
+
+ Store(And(Derefof(m604(2, 3, 6, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 48, Local0, 0x200)
+
+ Store(And(Derefof(m604(2, 3, 10, 1)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 49, Local0, 0x200)
+
+ And(Derefof(m604(2, 3, 6, 1)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 50, Local0, 0x200)
+
+ And(Derefof(m604(2, 3, 10, 1)), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 51, Local0, 0x200)
+ }
+
+ // And, 32-bit
+ Method(m040, 1)
+ {
+ // Conversion of the first operand
+
+ Store(And(Derefof(m604(2, 3, 10, 1)), 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(And(Derefof(m604(2, 3, 10, 1)), 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0xd650a284)
+
+ Store(And(Derefof(m604(2, 3, 10, 1)), aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(And(Derefof(m604(2, 3, 10, 1)), auii), Local0)
+ m600(arg0, 3, Local0, 0xd650a284)
+
+ if (y078) {
+ Store(And(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(And(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0xd650a284)
+ }
+
+ Store(And(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(And(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0xd650a284)
+
+ // Method returns Integer
+
+ Store(And(Derefof(m604(2, 3, 10, 1)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(And(Derefof(m604(2, 3, 10, 1)), m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0xd650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(Derefof(m604(2, 3, 10, 1)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(And(Derefof(m604(2, 3, 10, 1)), Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0xd650a284)
+ }
+
+ And(Derefof(m604(2, 3, 10, 1)), 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ And(Derefof(m604(2, 3, 10, 1)), 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0xd650a284)
+
+ And(Derefof(m604(2, 3, 10, 1)), aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ And(Derefof(m604(2, 3, 10, 1)), auii, Local0)
+ m600(arg0, 15, Local0, 0xd650a284)
+
+ if (y078) {
+ And(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ And(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0xd650a284)
+ }
+
+ And(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ And(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0xd650a284)
+
+ // Method returns Integer
+
+ And(Derefof(m604(2, 3, 10, 1)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ And(Derefof(m604(2, 3, 10, 1)), m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0xd650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(Derefof(m604(2, 3, 10, 1)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ And(Derefof(m604(2, 3, 10, 1)), Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0xd650a284)
+ }
+
+ // Conversion of the second operand
+
+ Store(And(0, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(And(0xffffffff, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 25, Local0, 0xd650a284)
+
+ Store(And(aui5, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(And(auii, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 27, Local0, 0xd650a284)
+
+ if (y078) {
+ Store(And(Derefof(Refof(aui5)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(And(Derefof(Refof(auii)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 29, Local0, 0xd650a284)
+ }
+
+ Store(And(Derefof(Index(paui, 5)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(And(Derefof(Index(paui, 18)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 31, Local0, 0xd650a284)
+
+ // Method returns Integer
+
+ Store(And(m601(1, 5), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(And(m601(1, 18), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 33, Local0, 0xd650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(Derefof(m602(1, 5, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(And(Derefof(m602(1, 18, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 35, Local0, 0xd650a284)
+ }
+
+ And(0, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ And(0xffffffff, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 37, Local0, 0xd650a284)
+
+ And(aui5, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ And(auii, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 39, Local0, 0xd650a284)
+
+ if (y078) {
+ And(Derefof(Refof(aui5)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ And(Derefof(Refof(auii)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 41, Local0, 0xd650a284)
+ }
+
+ And(Derefof(Index(paui, 5)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ And(Derefof(Index(paui, 18)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 43, Local0, 0xd650a284)
+
+ // Method returns Integer
+
+ And(m601(1, 5), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ And(m601(1, 18), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 45, Local0, 0xd650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(Derefof(m602(1, 5, 1)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ And(Derefof(m602(1, 18, 1)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 47, Local0, 0xd650a284)
+ }
+
+ // Conversion of the both operands
+
+ Store(And(Derefof(m604(2, 3, 6, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 48, Local0, 0x200)
+
+ Store(And(Derefof(m604(2, 3, 10, 1)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 49, Local0, 0x200)
+
+ And(Derefof(m604(2, 3, 6, 1)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 50, Local0, 0x200)
+
+ And(Derefof(m604(2, 3, 10, 1)), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 51, Local0, 0x200)
+ }
+
+ // Divide, common 32-bit/64-bit test
+ Method(m041, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Divide(Derefof(m604(2, 3, 6, 1)), 1), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Divide(Derefof(m604(2, 3, 6, 1)), 0x321), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Divide(Derefof(m604(2, 3, 6, 1)), aui6), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Divide(Derefof(m604(2, 3, 6, 1)), aui1), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Divide(Derefof(m604(2, 3, 6, 1)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Divide(Derefof(m604(2, 3, 6, 1)), Derefof(Refof(aui1))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Divide(Derefof(m604(2, 3, 6, 1)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Divide(Derefof(m604(2, 3, 6, 1)), Derefof(Index(paui, 1))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(Derefof(m604(2, 3, 6, 1)), m601(1, 6)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Divide(Derefof(m604(2, 3, 6, 1)), m601(1, 1)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(Derefof(m604(2, 3, 6, 1)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Divide(Derefof(m604(2, 3, 6, 1)), Derefof(m602(1, 1, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Divide(Derefof(m604(2, 3, 6, 1)), 1, Local1, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Divide(Derefof(m604(2, 3, 6, 1)), 0x321, Local1, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Divide(Derefof(m604(2, 3, 6, 1)), aui6, Local1, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Divide(Derefof(m604(2, 3, 6, 1)), aui1, Local1, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Divide(Derefof(m604(2, 3, 6, 1)), Derefof(Refof(aui6)), Local1, Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Divide(Derefof(m604(2, 3, 6, 1)), Derefof(Refof(aui1)), Local1, Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Divide(Derefof(m604(2, 3, 6, 1)), Derefof(Index(paui, 6)), Local1, Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Divide(Derefof(m604(2, 3, 6, 1)), Derefof(Index(paui, 1)), Local1, Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(Derefof(m604(2, 3, 6, 1)), m601(1, 6), Local1, Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Divide(Derefof(m604(2, 3, 6, 1)), m601(1, 1), Local1, Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(Derefof(m604(2, 3, 6, 1)), Derefof(m602(1, 6, 1)), Local1, Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Divide(Derefof(m604(2, 3, 6, 1)), Derefof(m602(1, 1, 1)), Local1, Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Divide(1, Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Divide(0x321, Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 25, Local0, 1)
+
+ Store(Divide(aui6, Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Divide(aui1, Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 27, Local0, 1)
+
+ if (y078) {
+ Store(Divide(Derefof(Refof(aui6)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Divide(Derefof(Refof(aui1)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 29, Local0, 1)
+ }
+
+ Store(Divide(Derefof(Index(paui, 6)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Divide(Derefof(Index(paui, 1)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 31, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(m601(1, 6), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Divide(m601(1, 1), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 33, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(Derefof(m602(1, 6, 1)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Divide(Derefof(m602(1, 1, 1)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 35, Local0, 1)
+ }
+
+ Divide(1, Derefof(m604(2, 3, 6, 1)), Local1, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Divide(0x321, Derefof(m604(2, 3, 6, 1)), Local1, Local0)
+ m600(arg0, 37, Local0, 1)
+
+ Divide(aui6, Derefof(m604(2, 3, 6, 1)), Local1, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Divide(aui1, Derefof(m604(2, 3, 6, 1)), Local1, Local0)
+ m600(arg0, 39, Local0, 1)
+
+ if (y078) {
+ Divide(Derefof(Refof(aui6)), Derefof(m604(2, 3, 6, 1)), Local1, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Divide(Derefof(Refof(aui1)), Derefof(m604(2, 3, 6, 1)), Local1, Local0)
+ m600(arg0, 41, Local0, 1)
+ }
+
+ Divide(Derefof(Index(paui, 6)), Derefof(m604(2, 3, 6, 1)), Local1, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Divide(Derefof(Index(paui, 1)), Derefof(m604(2, 3, 6, 1)), Local1, Local0)
+ m600(arg0, 43, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(m601(1, 6), Derefof(m604(2, 3, 6, 1)), Local1, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Divide(m601(1, 1), Derefof(m604(2, 3, 6, 1)), Local1, Local0)
+ m600(arg0, 45, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(Derefof(m602(1, 6, 1)), Derefof(m604(2, 3, 6, 1)), Local1, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Divide(Derefof(m602(1, 1, 1)), Derefof(m604(2, 3, 6, 1)), Local1, Local0)
+ m600(arg0, 47, Local0, 1)
+ }
+ }
+
+ // Divide, 64-bit
+ Method(m042, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Divide(Derefof(m604(2, 3, 10, 1)), 1), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(Derefof(m604(2, 3, 10, 1)), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Divide(Derefof(m604(2, 3, 10, 1)), aui6), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(Derefof(m604(2, 3, 10, 1)), aui4), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Divide(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(aui4))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Divide(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 4))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(Derefof(m604(2, 3, 10, 1)), m601(1, 6)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(Derefof(m604(2, 3, 10, 1)), m601(1, 4)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(Derefof(m604(2, 3, 10, 1)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(Derefof(m604(2, 3, 10, 1)), Derefof(m602(1, 4, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Divide(Derefof(m604(2, 3, 10, 1)), 1, Local1, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Divide(Derefof(m604(2, 3, 10, 1)), 0xfe7cb391d650a284, Local1, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Divide(Derefof(m604(2, 3, 10, 1)), aui6, Local1, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Divide(Derefof(m604(2, 3, 10, 1)), aui4, Local1, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Divide(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(aui6)), Local1, Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Divide(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(aui4)), Local1, Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Divide(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 6)), Local1, Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Divide(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 4)), Local1, Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(Derefof(m604(2, 3, 10, 1)), m601(1, 6), Local1, Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Divide(Derefof(m604(2, 3, 10, 1)), m601(1, 4), Local1, Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(Derefof(m604(2, 3, 10, 1)), Derefof(m602(1, 6, 1)), Local1, Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Divide(Derefof(m604(2, 3, 10, 1)), Derefof(m602(1, 4, 1)), Local1, Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Divide(1, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Divide(0xfe7cb391d650a284, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 25, Local0, 1)
+
+ Store(Divide(aui6, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Divide(aui4, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 27, Local0, 1)
+
+ if (y078) {
+ Store(Divide(Derefof(Refof(aui6)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Divide(Derefof(Refof(aui4)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 29, Local0, 1)
+ }
+
+ Store(Divide(Derefof(Index(paui, 6)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Divide(Derefof(Index(paui, 4)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 31, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(m601(1, 6), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Divide(m601(1, 4), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 33, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(Derefof(m602(1, 6, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Divide(Derefof(m602(1, 4, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 35, Local0, 1)
+ }
+
+ Divide(1, Derefof(m604(2, 3, 10, 1)), Local1, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Divide(0xfe7cb391d650a284, Derefof(m604(2, 3, 10, 1)), Local1, Local0)
+ m600(arg0, 37, Local0, 1)
+
+ Divide(aui6, Derefof(m604(2, 3, 10, 1)), Local1, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Divide(aui4, Derefof(m604(2, 3, 10, 1)), Local1, Local0)
+ m600(arg0, 39, Local0, 1)
+
+ if (y078) {
+ Divide(Derefof(Refof(aui6)), Derefof(m604(2, 3, 10, 1)), Local1, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Divide(Derefof(Refof(aui4)), Derefof(m604(2, 3, 10, 1)), Local1, Local0)
+ m600(arg0, 41, Local0, 1)
+ }
+
+ Divide(Derefof(Index(paui, 6)), Derefof(m604(2, 3, 10, 1)), Local1, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Divide(Derefof(Index(paui, 4)), Derefof(m604(2, 3, 10, 1)), Local1, Local0)
+ m600(arg0, 43, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(m601(1, 6), Derefof(m604(2, 3, 10, 1)), Local1, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Divide(m601(1, 4), Derefof(m604(2, 3, 10, 1)), Local1, Local0)
+ m600(arg0, 45, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(Derefof(m602(1, 6, 1)), Derefof(m604(2, 3, 10, 1)), Local1, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Divide(Derefof(m602(1, 4, 1)), Derefof(m604(2, 3, 10, 1)), Local1, Local0)
+ m600(arg0, 47, Local0, 1)
+ }
+
+ // Conversion of the both operands
+
+ Store(Divide(Derefof(m604(2, 3, 6, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 48, Local0, 0)
+
+ Store(Divide(Derefof(m604(2, 3, 10, 1)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 49, Local0, 0x0051558eb950f5a7)
+
+ Divide(Derefof(m604(2, 3, 6, 1)), Derefof(m604(2, 3, 10, 1)), Local1, Local0)
+ m600(arg0, 50, Local0, 0)
+
+ Divide(Derefof(m604(2, 3, 10, 1)), Derefof(m604(2, 3, 6, 1)), Local1, Local0)
+ m600(arg0, 51, Local0, 0x0051558eb950f5a7)
+ }
+
+ // Divide, 32-bit
+ Method(m043, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Divide(Derefof(m604(2, 3, 10, 1)), 1), Local0)
+ m600(arg0, 0, Local0, 0xd650a284)
+
+ Store(Divide(Derefof(m604(2, 3, 10, 1)), 0xd650a284), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Divide(Derefof(m604(2, 3, 10, 1)), aui6), Local0)
+ m600(arg0, 2, Local0, 0xd650a284)
+
+ Store(Divide(Derefof(m604(2, 3, 10, 1)), auik), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Divide(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 4, Local0, 0xd650a284)
+
+ Store(Divide(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(auik))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Divide(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 6, Local0, 0xd650a284)
+
+ Store(Divide(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 20))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(Derefof(m604(2, 3, 10, 1)), m601(1, 6)), Local0)
+ m600(arg0, 8, Local0, 0xd650a284)
+
+ Store(Divide(Derefof(m604(2, 3, 10, 1)), m601(1, 20)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(Derefof(m604(2, 3, 10, 1)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 10, Local0, 0xd650a284)
+
+ Store(Divide(Derefof(m604(2, 3, 10, 1)), Derefof(m602(1, 20, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Divide(Derefof(m604(2, 3, 10, 1)), 1, Local1, Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ Divide(Derefof(m604(2, 3, 10, 1)), 0xd650a284, Local1, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Divide(Derefof(m604(2, 3, 10, 1)), aui6, Local1, Local0)
+ m600(arg0, 14, Local0, 0xd650a284)
+
+ Divide(Derefof(m604(2, 3, 10, 1)), auik, Local1, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Divide(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(aui6)), Local1, Local0)
+ m600(arg0, 16, Local0, 0xd650a284)
+
+ Divide(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(auik)), Local1, Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Divide(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 6)), Local1, Local0)
+ m600(arg0, 18, Local0, 0xd650a284)
+
+ Divide(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 20)), Local1, Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(Derefof(m604(2, 3, 10, 1)), m601(1, 6), Local1, Local0)
+ m600(arg0, 20, Local0, 0xd650a284)
+
+ Divide(Derefof(m604(2, 3, 10, 1)), m601(1, 20), Local1, Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(Derefof(m604(2, 3, 10, 1)), Derefof(m602(1, 6, 1)), Local1, Local0)
+ m600(arg0, 22, Local0, 0xd650a284)
+
+ Divide(Derefof(m604(2, 3, 10, 1)), Derefof(m602(1, 20, 1)), Local1, Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Divide(1, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Divide(0xd650a284, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 25, Local0, 1)
+
+ Store(Divide(aui6, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Divide(auik, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 27, Local0, 1)
+
+ if (y078) {
+ Store(Divide(Derefof(Refof(aui6)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Divide(Derefof(Refof(auik)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 29, Local0, 1)
+ }
+
+ Store(Divide(Derefof(Index(paui, 6)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Divide(Derefof(Index(paui, 20)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 31, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(m601(1, 6), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Divide(m601(1, 20), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 33, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(Derefof(m602(1, 6, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Divide(Derefof(m602(1, 20, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 35, Local0, 1)
+ }
+
+ Divide(1, Derefof(m604(2, 3, 10, 1)), Local1, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Divide(0xd650a284, Derefof(m604(2, 3, 10, 1)), Local1, Local0)
+ m600(arg0, 37, Local0, 1)
+
+ Divide(aui6, Derefof(m604(2, 3, 10, 1)), Local1, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Divide(auik, Derefof(m604(2, 3, 10, 1)), Local1, Local0)
+ m600(arg0, 39, Local0, 1)
+
+ if (y078) {
+ Divide(Derefof(Refof(aui6)), Derefof(m604(2, 3, 10, 1)), Local1, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Divide(Derefof(Refof(auik)), Derefof(m604(2, 3, 10, 1)), Local1, Local0)
+ m600(arg0, 41, Local0, 1)
+ }
+
+ Divide(Derefof(Index(paui, 6)), Derefof(m604(2, 3, 10, 1)), Local1, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Divide(Derefof(Index(paui, 20)), Derefof(m604(2, 3, 10, 1)), Local1, Local0)
+ m600(arg0, 43, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(m601(1, 6), Derefof(m604(2, 3, 10, 1)), Local1, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Divide(m601(1, 20), Derefof(m604(2, 3, 10, 1)), Local1, Local0)
+ m600(arg0, 45, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(Derefof(m602(1, 6, 1)), Derefof(m604(2, 3, 10, 1)), Local1, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Divide(Derefof(m602(1, 20, 1)), Derefof(m604(2, 3, 10, 1)), Local1, Local0)
+ m600(arg0, 47, Local0, 1)
+ }
+
+ // Conversion of the both operands
+
+ Store(Divide(Derefof(m604(2, 3, 6, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 48, Local0, 0)
+
+ Store(Divide(Derefof(m604(2, 3, 10, 1)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 49, Local0, 0x00447ec3)
+
+ Divide(Derefof(m604(2, 3, 6, 1)), Derefof(m604(2, 3, 10, 1)), Local1, Local0)
+ m600(arg0, 50, Local0, 0)
+
+ Divide(Derefof(m604(2, 3, 10, 1)), Derefof(m604(2, 3, 6, 1)), Local1, Local0)
+ m600(arg0, 51, Local0, 0x00447ec3)
+ }
+
+ // Mod, common 32-bit/64-bit test
+ Method(m044, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Mod(Derefof(m604(2, 3, 6, 1)), 0x322), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Mod(Derefof(m604(2, 3, 6, 1)), 0x320), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Mod(Derefof(m604(2, 3, 6, 1)), auig), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Mod(Derefof(m604(2, 3, 6, 1)), auih), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Mod(Derefof(m604(2, 3, 6, 1)), Derefof(Refof(auig))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Mod(Derefof(m604(2, 3, 6, 1)), Derefof(Refof(auih))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Mod(Derefof(m604(2, 3, 6, 1)), Derefof(Index(paui, 16))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Mod(Derefof(m604(2, 3, 6, 1)), Derefof(Index(paui, 17))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Mod(Derefof(m604(2, 3, 6, 1)), m601(1, 16)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Mod(Derefof(m604(2, 3, 6, 1)), m601(1, 17)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(Derefof(m604(2, 3, 6, 1)), Derefof(m602(1, 16, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Mod(Derefof(m604(2, 3, 6, 1)), Derefof(m602(1, 17, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Mod(Derefof(m604(2, 3, 6, 1)), 0x322, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Mod(Derefof(m604(2, 3, 6, 1)), 0x320, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Mod(Derefof(m604(2, 3, 6, 1)), auig, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Mod(Derefof(m604(2, 3, 6, 1)), auih, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Mod(Derefof(m604(2, 3, 6, 1)), Derefof(Refof(auig)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Mod(Derefof(m604(2, 3, 6, 1)), Derefof(Refof(auih)), Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Mod(Derefof(m604(2, 3, 6, 1)), Derefof(Index(paui, 16)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Mod(Derefof(m604(2, 3, 6, 1)), Derefof(Index(paui, 17)), Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Mod(Derefof(m604(2, 3, 6, 1)), m601(1, 16), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Mod(Derefof(m604(2, 3, 6, 1)), m601(1, 17), Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(Derefof(m604(2, 3, 6, 1)), Derefof(m602(1, 16, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Mod(Derefof(m604(2, 3, 6, 1)), Derefof(m602(1, 17, 1)), Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Mod(0x322, Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 24, Local0, 1)
+
+ Store(Mod(0x320, Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 25, Local0, 0x320)
+
+ Store(Mod(auig, Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 26, Local0, 1)
+
+ Store(Mod(auih, Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 27, Local0, 0x320)
+
+ if (y078) {
+ Store(Mod(Derefof(Refof(auig)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 28, Local0, 1)
+
+ Store(Mod(Derefof(Refof(auih)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 29, Local0, 0x320)
+ }
+
+ Store(Mod(Derefof(Index(paui, 16)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 30, Local0, 1)
+
+ Store(Mod(Derefof(Index(paui, 17)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 31, Local0, 0x320)
+
+ // Method returns Integer
+
+ Store(Mod(m601(1, 16), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 32, Local0, 1)
+
+ Store(Mod(m601(1, 17), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 33, Local0, 0x320)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(Derefof(m602(1, 16, 1)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 34, Local0, 1)
+
+ Store(Mod(Derefof(m602(1, 17, 1)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 35, Local0, 0x320)
+ }
+
+ Mod(0x322, Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 36, Local0, 1)
+
+ Mod(0x320, Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 37, Local0, 0x320)
+
+ Mod(auig, Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 38, Local0, 1)
+
+ Mod(auih, Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 39, Local0, 0x320)
+
+ if (y078) {
+ Mod(Derefof(Refof(auig)), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 40, Local0, 1)
+
+ Mod(Derefof(Refof(auih)), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 41, Local0, 0x320)
+ }
+
+ Mod(Derefof(Index(paui, 16)), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 42, Local0, 1)
+
+ Mod(Derefof(Index(paui, 17)), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 43, Local0, 0x320)
+
+ // Method returns Integer
+
+ Mod(m601(1, 16), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 44, Local0, 1)
+
+ Mod(m601(1, 17), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 45, Local0, 0x320)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(Derefof(m602(1, 16, 1)), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 46, Local0, 1)
+
+ Mod(Derefof(m602(1, 17, 1)), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 47, Local0, 0x320)
+ }
+ }
+
+ // Mod, 64-bit
+ Method(m045, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Mod(Derefof(m604(2, 3, 10, 1)), 0xfe7cb391d650a285), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(Derefof(m604(2, 3, 10, 1)), 0xfe7cb391d650a283), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Mod(Derefof(m604(2, 3, 10, 1)), auid), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(Derefof(m604(2, 3, 10, 1)), auif), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Mod(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(auid))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(auif))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Mod(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 13))), Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 15))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Mod(Derefof(m604(2, 3, 10, 1)), m601(1, 13)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(Derefof(m604(2, 3, 10, 1)), m601(1, 15)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(Derefof(m604(2, 3, 10, 1)), Derefof(m602(1, 13, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(Derefof(m604(2, 3, 10, 1)), Derefof(m602(1, 15, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Mod(Derefof(m604(2, 3, 10, 1)), 0xfe7cb391d650a285, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Mod(Derefof(m604(2, 3, 10, 1)), 0xfe7cb391d650a283, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Mod(Derefof(m604(2, 3, 10, 1)), auid, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Mod(Derefof(m604(2, 3, 10, 1)), auif, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Mod(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(auid)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Mod(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(auif)), Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Mod(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 13)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Mod(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 15)), Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Mod(Derefof(m604(2, 3, 10, 1)), m601(1, 13), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Mod(Derefof(m604(2, 3, 10, 1)), m601(1, 15), Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(Derefof(m604(2, 3, 10, 1)), Derefof(m602(1, 13, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Mod(Derefof(m604(2, 3, 10, 1)), Derefof(m602(1, 15, 1)), Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Mod(0xfe7cb391d650a285, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 24, Local0, 1)
+
+ Store(Mod(0xfe7cb391d650a283, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 25, Local0, 0xfe7cb391d650a283)
+
+ Store(Mod(auid, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 26, Local0, 1)
+
+ Store(Mod(auif, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 27, Local0, 0xfe7cb391d650a283)
+
+ if (y078) {
+ Store(Mod(Derefof(Refof(auid)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 28, Local0, 1)
+
+ Store(Mod(Derefof(Refof(auif)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 29, Local0, 0xfe7cb391d650a283)
+ }
+
+ Store(Mod(Derefof(Index(paui, 13)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 30, Local0, 1)
+
+ Store(Mod(Derefof(Index(paui, 15)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 31, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Integer
+
+ Store(Mod(m601(1, 13), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 32, Local0, 1)
+
+ Store(Mod(m601(1, 15), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 33, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(Derefof(m602(1, 13, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 34, Local0, 1)
+
+ Store(Mod(Derefof(m602(1, 15, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 35, Local0, 0xfe7cb391d650a283)
+ }
+
+ Mod(0xfe7cb391d650a285, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 36, Local0, 1)
+
+ Mod(0xfe7cb391d650a283, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 37, Local0, 0xfe7cb391d650a283)
+
+ Mod(auid, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 38, Local0, 1)
+
+ Mod(auif, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 39, Local0, 0xfe7cb391d650a283)
+
+ if (y078) {
+ Mod(Derefof(Refof(auid)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 40, Local0, 1)
+
+ Mod(Derefof(Refof(auif)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 41, Local0, 0xfe7cb391d650a283)
+ }
+
+ Mod(Derefof(Index(paui, 13)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 42, Local0, 1)
+
+ Mod(Derefof(Index(paui, 15)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 43, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Integer
+
+ Mod(m601(1, 13), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 44, Local0, 1)
+
+ Mod(m601(1, 15), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 45, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(Derefof(m602(1, 13, 1)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 46, Local0, 1)
+
+ Mod(Derefof(m602(1, 15, 1)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 47, Local0, 0xfe7cb391d650a283)
+ }
+
+ // Conversion of the both operands
+
+ Store(Mod(Derefof(m604(2, 3, 6, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 48, Local0, 0x321)
+
+ Store(Mod(Derefof(m604(2, 3, 10, 1)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 49, Local0, 0x2fd)
+
+ Mod(Derefof(m604(2, 3, 6, 1)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 50, Local0, 0x321)
+
+ Mod(Derefof(m604(2, 3, 10, 1)), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 51, Local0, 0x2fd)
+ }
+
+ // Mod, 32-bit
+ Method(m046, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Mod(Derefof(m604(2, 3, 10, 1)), 0xd650a285), Local0)
+ m600(arg0, 0, Local0, 0xd650a284)
+
+ Store(Mod(Derefof(m604(2, 3, 10, 1)), 0xd650a283), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Mod(Derefof(m604(2, 3, 10, 1)), auil), Local0)
+ m600(arg0, 2, Local0, 0xd650a284)
+
+ Store(Mod(Derefof(m604(2, 3, 10, 1)), auim), Local0)
+ m600(arg0, 14, Local0, 1)
+
+ if (y078) {
+ Store(Mod(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(auil))), Local0)
+ m600(arg0, 4, Local0, 0xd650a284)
+
+ Store(Mod(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(auim))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Mod(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 21))), Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ Store(Mod(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 22))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Mod(Derefof(m604(2, 3, 10, 1)), m601(1, 21)), Local0)
+ m600(arg0, 8, Local0, 0xd650a284)
+
+ Store(Mod(Derefof(m604(2, 3, 10, 1)), m601(1, 22)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(Derefof(m604(2, 3, 10, 1)), Derefof(m601(1, 21, 1))), Local0)
+ m600(arg0, 10, Local0, 0xd650a284)
+
+ Store(Mod(Derefof(m604(2, 3, 10, 1)), Derefof(m601(1, 22, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Mod(Derefof(m604(2, 3, 10, 1)), 0xd650a285, Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ Mod(Derefof(m604(2, 3, 10, 1)), 0xd650a283, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Mod(Derefof(m604(2, 3, 10, 1)), auil, Local0)
+ m600(arg0, 14, Local0, 0xd650a284)
+
+ Mod(Derefof(m604(2, 3, 10, 1)), auim, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Mod(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(auil)), Local0)
+ m600(arg0, 16, Local0, 0xd650a284)
+
+ Mod(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(auim)), Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Mod(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 21)), Local0)
+ m600(arg0, 18, Local0, 0xd650a284)
+
+ Mod(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 22)), Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Mod(Derefof(m604(2, 3, 10, 1)), m601(1, 21), Local0)
+ m600(arg0, 20, Local0, 0xd650a284)
+
+ Mod(Derefof(m604(2, 3, 10, 1)), m601(1, 22), Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(Derefof(m604(2, 3, 10, 1)), Derefof(m601(1, 21, 1)), Local0)
+ m600(arg0, 22, Local0, 0xd650a284)
+
+ Mod(Derefof(m604(2, 3, 10, 1)), Derefof(m601(1, 22, 1)), Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Mod(0xd650a285, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 24, Local0, 1)
+
+ Store(Mod(0xd650a283, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 25, Local0, 0xd650a283)
+
+ Store(Mod(auil, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 26, Local0, 1)
+
+ Store(Mod(auim, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 27, Local0, 0xd650a283)
+
+ if (y078) {
+ Store(Mod(Derefof(Refof(auil)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 28, Local0, 1)
+
+ Store(Mod(Derefof(Refof(auim)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 29, Local0, 0xd650a283)
+ }
+
+ Store(Mod(Derefof(Index(paui, 21)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 30, Local0, 1)
+
+ Store(Mod(Derefof(Index(paui, 22)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 31, Local0, 0xd650a283)
+
+ // Method returns Integer
+
+ Store(Mod(m601(1, 21), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 32, Local0, 1)
+
+ Store(Mod(m601(1, 22), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 33, Local0, 0xd650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(Derefof(m601(1, 21, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 34, Local0, 1)
+
+ Store(Mod(Derefof(m601(1, 22, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 35, Local0, 0xd650a283)
+ }
+
+ Mod(0xd650a285, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 36, Local0, 1)
+
+ Mod(0xd650a283, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 37, Local0, 0xd650a283)
+
+ Mod(auil, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 38, Local0, 1)
+
+ Mod(auim, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 39, Local0, 0xd650a283)
+
+ if (y078) {
+ Mod(Derefof(Refof(auil)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 40, Local0, 1)
+
+ Mod(Derefof(Refof(auim)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 41, Local0, 0xd650a283)
+ }
+
+ Mod(Derefof(Index(paui, 21)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 42, Local0, 1)
+
+ Mod(Derefof(Index(paui, 22)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 43, Local0, 0xd650a283)
+
+ // Method returns Integer
+
+ Mod(m601(1, 21), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 44, Local0, 1)
+
+ Mod(m601(1, 22), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 45, Local0, 0xd650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(Derefof(m601(1, 21, 1)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 46, Local0, 1)
+
+ Mod(Derefof(m601(1, 22, 1)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 47, Local0, 0xd650a283)
+ }
+
+ // Conversion of the both operands
+
+ Store(Mod(Derefof(m604(2, 3, 6, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 48, Local0, 0x321)
+
+ Store(Mod(Derefof(m604(2, 3, 10, 1)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 49, Local0, 0x261)
+
+ Mod(Derefof(m604(2, 3, 6, 1)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 50, Local0, 0x321)
+
+ Mod(Derefof(m604(2, 3, 10, 1)), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 51, Local0, 0x261)
+ }
+
+ // Multiply, common 32-bit/64-bit test
+ Method(m047, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Multiply(Derefof(m604(2, 3, 6, 1)), 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(Multiply(Derefof(m604(2, 3, 6, 1)), 1), Local0)
+ m600(arg0, 1, Local0, 0x321)
+
+ Store(Multiply(Derefof(m604(2, 3, 6, 1)), aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(Multiply(Derefof(m604(2, 3, 6, 1)), aui6), Local0)
+ m600(arg0, 3, Local0, 0x321)
+
+ if (y078) {
+ Store(Multiply(Derefof(m604(2, 3, 6, 1)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(Multiply(Derefof(m604(2, 3, 6, 1)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x321)
+ }
+
+ Store(Multiply(Derefof(m604(2, 3, 6, 1)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(Multiply(Derefof(m604(2, 3, 6, 1)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x321)
+
+ // Method returns Integer
+
+ Store(Multiply(Derefof(m604(2, 3, 6, 1)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(Multiply(Derefof(m604(2, 3, 6, 1)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(Derefof(m604(2, 3, 6, 1)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(Multiply(Derefof(m604(2, 3, 6, 1)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x321)
+ }
+
+ Multiply(Derefof(m604(2, 3, 6, 1)), 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ Multiply(Derefof(m604(2, 3, 6, 1)), 1, Local0)
+ m600(arg0, 13, Local0, 0x321)
+
+ Multiply(Derefof(m604(2, 3, 6, 1)), aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ Multiply(Derefof(m604(2, 3, 6, 1)), aui6, Local0)
+ m600(arg0, 15, Local0, 0x321)
+
+ if (y078) {
+ Multiply(Derefof(m604(2, 3, 6, 1)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ Multiply(Derefof(m604(2, 3, 6, 1)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x321)
+ }
+
+ Multiply(Derefof(m604(2, 3, 6, 1)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ Multiply(Derefof(m604(2, 3, 6, 1)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x321)
+
+ // Method returns Integer
+
+ Multiply(Derefof(m604(2, 3, 6, 1)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ Multiply(Derefof(m604(2, 3, 6, 1)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(Derefof(m604(2, 3, 6, 1)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ Multiply(Derefof(m604(2, 3, 6, 1)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x321)
+ }
+
+ // Conversion of the second operand
+
+ Store(Multiply(0, Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Multiply(1, Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 25, Local0, 0x321)
+
+ Store(Multiply(aui5, Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Multiply(aui6, Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 27, Local0, 0x321)
+
+ if (y078) {
+ Store(Multiply(Derefof(Refof(aui5)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(aui6)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 29, Local0, 0x321)
+ }
+
+ Store(Multiply(Derefof(Index(paui, 5)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Multiply(Derefof(Index(paui, 6)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 31, Local0, 0x321)
+
+ // Method returns Integer
+
+ Store(Multiply(m601(1, 5), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Multiply(m601(1, 6), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 33, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(Derefof(m602(1, 5, 1)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Multiply(Derefof(m602(1, 6, 1)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 35, Local0, 0x321)
+ }
+
+ Multiply(0, Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Multiply(1, Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 37, Local0, 0x321)
+
+ Multiply(aui5, Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Multiply(aui6, Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 39, Local0, 0x321)
+
+ if (y078) {
+ Multiply(Derefof(Refof(aui5)), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Multiply(Derefof(Refof(aui6)), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 41, Local0, 0x321)
+ }
+
+ Multiply(Derefof(Index(paui, 5)), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Multiply(Derefof(Index(paui, 6)), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 43, Local0, 0x321)
+
+ // Method returns Integer
+
+ Multiply(m601(1, 5), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Multiply(m601(1, 6), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 45, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(Derefof(m602(1, 5, 1)), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Multiply(Derefof(m602(1, 6, 1)), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 47, Local0, 0x321)
+ }
+ }
+
+ // Multiply, 64-bit
+ Method(m048, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Multiply(Derefof(m604(2, 3, 10, 1)), 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(Multiply(Derefof(m604(2, 3, 10, 1)), 1), Local0)
+ m600(arg0, 1, Local0, 0xfe7cb391d650a284)
+
+ Store(Multiply(Derefof(m604(2, 3, 10, 1)), aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(Multiply(Derefof(m604(2, 3, 10, 1)), aui6), Local0)
+ m600(arg0, 3, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Store(Multiply(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(Multiply(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xfe7cb391d650a284)
+ }
+
+ Store(Multiply(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(Multiply(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Store(Multiply(Derefof(m604(2, 3, 10, 1)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(Multiply(Derefof(m604(2, 3, 10, 1)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(Derefof(m604(2, 3, 10, 1)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(Multiply(Derefof(m604(2, 3, 10, 1)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfe7cb391d650a284)
+ }
+
+ Multiply(Derefof(m604(2, 3, 10, 1)), 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ Multiply(Derefof(m604(2, 3, 10, 1)), 1, Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a284)
+
+ Multiply(Derefof(m604(2, 3, 10, 1)), aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ Multiply(Derefof(m604(2, 3, 10, 1)), aui6, Local0)
+ m600(arg0, 15, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Multiply(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ Multiply(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xfe7cb391d650a284)
+ }
+
+ Multiply(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ Multiply(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Multiply(Derefof(m604(2, 3, 10, 1)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ Multiply(Derefof(m604(2, 3, 10, 1)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(Derefof(m604(2, 3, 10, 1)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ Multiply(Derefof(m604(2, 3, 10, 1)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfe7cb391d650a284)
+ }
+
+ // Conversion of the second operand
+
+ Store(Multiply(0, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Multiply(1, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 25, Local0, 0xfe7cb391d650a284)
+
+ Store(Multiply(aui5, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Multiply(aui6, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 27, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Store(Multiply(Derefof(Refof(aui5)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(aui6)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 29, Local0, 0xfe7cb391d650a284)
+ }
+
+ Store(Multiply(Derefof(Index(paui, 5)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Multiply(Derefof(Index(paui, 6)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 31, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Store(Multiply(m601(1, 5), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Multiply(m601(1, 6), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 33, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(Derefof(m602(1, 5, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Multiply(Derefof(m602(1, 6, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 35, Local0, 0xfe7cb391d650a284)
+ }
+
+ Multiply(0, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Multiply(1, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 37, Local0, 0xfe7cb391d650a284)
+
+ Multiply(aui5, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Multiply(aui6, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 39, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Multiply(Derefof(Refof(aui5)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Multiply(Derefof(Refof(aui6)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 41, Local0, 0xfe7cb391d650a284)
+ }
+
+ Multiply(Derefof(Index(paui, 5)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Multiply(Derefof(Index(paui, 6)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 43, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Multiply(m601(1, 5), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Multiply(m601(1, 6), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 45, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(Derefof(m602(1, 5, 1)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Multiply(Derefof(m602(1, 6, 1)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 47, Local0, 0xfe7cb391d650a284)
+ }
+
+ // Conversion of the both operands
+
+ Store(Multiply(Derefof(m604(2, 3, 6, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 48, Local0, 0x442ddb4f924c7f04)
+
+ Store(Multiply(Derefof(m604(2, 3, 10, 1)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 49, Local0, 0x442ddb4f924c7f04)
+
+ Multiply(Derefof(m604(2, 3, 6, 1)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 50, Local0, 0x442ddb4f924c7f04)
+
+ Multiply(Derefof(m604(2, 3, 10, 1)), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 51, Local0, 0x442ddb4f924c7f04)
+ }
+
+ // Multiply, 32-bit
+ Method(m049, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Multiply(Derefof(m604(2, 3, 10, 1)), 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(Multiply(Derefof(m604(2, 3, 10, 1)), 1), Local0)
+ m600(arg0, 1, Local0, 0xd650a284)
+
+ Store(Multiply(Derefof(m604(2, 3, 10, 1)), aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(Multiply(Derefof(m604(2, 3, 10, 1)), aui6), Local0)
+ m600(arg0, 3, Local0, 0xd650a284)
+
+ if (y078) {
+ Store(Multiply(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(Multiply(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xd650a284)
+ }
+
+ Store(Multiply(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(Multiply(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xd650a284)
+
+ // Method returns Integer
+
+ Store(Multiply(Derefof(m604(2, 3, 10, 1)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(Multiply(Derefof(m604(2, 3, 10, 1)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xd650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(Derefof(m604(2, 3, 10, 1)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(Multiply(Derefof(m604(2, 3, 10, 1)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xd650a284)
+ }
+
+ Multiply(Derefof(m604(2, 3, 10, 1)), 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ Multiply(Derefof(m604(2, 3, 10, 1)), 1, Local0)
+ m600(arg0, 13, Local0, 0xd650a284)
+
+ Multiply(Derefof(m604(2, 3, 10, 1)), aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ Multiply(Derefof(m604(2, 3, 10, 1)), aui6, Local0)
+ m600(arg0, 15, Local0, 0xd650a284)
+
+ if (y078) {
+ Multiply(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ Multiply(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xd650a284)
+ }
+
+ Multiply(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ Multiply(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xd650a284)
+
+ // Method returns Integer
+
+ Multiply(Derefof(m604(2, 3, 10, 1)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ Multiply(Derefof(m604(2, 3, 10, 1)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xd650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(Derefof(m604(2, 3, 10, 1)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ Multiply(Derefof(m604(2, 3, 10, 1)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xd650a284)
+ }
+
+ // Conversion of the second operand
+
+ Store(Multiply(0, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Multiply(1, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 25, Local0, 0xd650a284)
+
+ Store(Multiply(aui5, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Multiply(aui6, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 27, Local0, 0xd650a284)
+
+ if (y078) {
+ Store(Multiply(Derefof(Refof(aui5)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(aui6)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 29, Local0, 0xd650a284)
+ }
+
+ Store(Multiply(Derefof(Index(paui, 5)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Multiply(Derefof(Index(paui, 6)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 31, Local0, 0xd650a284)
+
+ // Method returns Integer
+
+ Store(Multiply(m601(1, 5), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Multiply(m601(1, 6), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 33, Local0, 0xd650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(Derefof(m602(1, 5, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Multiply(Derefof(m602(1, 6, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 35, Local0, 0xd650a284)
+ }
+
+ Multiply(0, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Multiply(1, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 37, Local0, 0xd650a284)
+
+ Multiply(aui5, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Multiply(aui6, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 39, Local0, 0xd650a284)
+
+ if (y078) {
+ Multiply(Derefof(Refof(aui5)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Multiply(Derefof(Refof(aui6)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 41, Local0, 0xd650a284)
+ }
+
+ Multiply(Derefof(Index(paui, 5)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Multiply(Derefof(Index(paui, 6)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 43, Local0, 0xd650a284)
+
+ // Method returns Integer
+
+ Multiply(m601(1, 5), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Multiply(m601(1, 6), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 45, Local0, 0xd650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(Derefof(m602(1, 5, 1)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Multiply(Derefof(m602(1, 6, 1)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 47, Local0, 0xd650a284)
+ }
+
+ // Conversion of the both operands
+
+ Store(Multiply(Derefof(m604(2, 3, 6, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 48, Local0, 0x924c7f04)
+
+ Store(Multiply(Derefof(m604(2, 3, 10, 1)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 49, Local0, 0x924c7f04)
+
+ Multiply(Derefof(m604(2, 3, 6, 1)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 50, Local0, 0x924c7f04)
+
+ Multiply(Derefof(m604(2, 3, 10, 1)), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 51, Local0, 0x924c7f04)
+ }
+
+ // NAnd, common 32-bit/64-bit test
+ Method(m04a, 1)
+ {
+ // Conversion of the first operand
+
+ Store(NAnd(Derefof(m604(2, 3, 6, 1)), 0), Local0)
+ m600(arg0, 0, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(m604(2, 3, 6, 1)), 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xfffffffffffffcde)
+
+ Store(NAnd(Derefof(m604(2, 3, 6, 1)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(m604(2, 3, 6, 1)), auij), Local0)
+ m600(arg0, 3, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ Store(NAnd(Derefof(m604(2, 3, 6, 1)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(m604(2, 3, 6, 1)), Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xfffffffffffffcde)
+ }
+
+ Store(NAnd(Derefof(m604(2, 3, 6, 1)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(m604(2, 3, 6, 1)), Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ Store(NAnd(Derefof(m604(2, 3, 6, 1)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(m604(2, 3, 6, 1)), m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(Derefof(m604(2, 3, 6, 1)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(m604(2, 3, 6, 1)), Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfffffffffffffcde)
+ }
+
+ NAnd(Derefof(m604(2, 3, 6, 1)), 0, Local0)
+ m600(arg0, 12, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(m604(2, 3, 6, 1)), 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xfffffffffffffcde)
+
+ NAnd(Derefof(m604(2, 3, 6, 1)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(m604(2, 3, 6, 1)), auij, Local0)
+ m600(arg0, 15, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ NAnd(Derefof(m604(2, 3, 6, 1)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(m604(2, 3, 6, 1)), Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xfffffffffffffcde)
+ }
+
+ NAnd(Derefof(m604(2, 3, 6, 1)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(m604(2, 3, 6, 1)), Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ NAnd(Derefof(m604(2, 3, 6, 1)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(m604(2, 3, 6, 1)), m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(Derefof(m604(2, 3, 6, 1)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(m604(2, 3, 6, 1)), Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfffffffffffffcde)
+ }
+
+ // Conversion of the second operand
+
+ Store(NAnd(0, Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 24, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(0xffffffffffffffff, Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 25, Local0, 0xfffffffffffffcde)
+
+ Store(NAnd(aui5, Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 26, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(auij, Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 27, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ Store(NAnd(Derefof(Refof(aui5)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 28, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Refof(auij)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 29, Local0, 0xfffffffffffffcde)
+ }
+
+ Store(NAnd(Derefof(Index(paui, 5)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 30, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Index(paui, 19)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 31, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ Store(NAnd(m601(1, 5), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 32, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(m601(1, 19), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 33, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(Derefof(m602(1, 5, 1)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 34, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(m602(1, 19, 1)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 35, Local0, 0xfffffffffffffcde)
+ }
+
+ NAnd(0, Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 36, Local0, 0xffffffffffffffff)
+
+ NAnd(0xffffffffffffffff, Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 37, Local0, 0xfffffffffffffcde)
+
+ NAnd(aui5, Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 38, Local0, 0xffffffffffffffff)
+
+ NAnd(auij, Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 39, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ NAnd(Derefof(Refof(aui5)), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 40, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Refof(auij)), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 41, Local0, 0xfffffffffffffcde)
+ }
+
+ NAnd(Derefof(Index(paui, 5)), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 42, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Index(paui, 19)), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 43, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ NAnd(m601(1, 5), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 44, Local0, 0xffffffffffffffff)
+
+ NAnd(m601(1, 19), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 45, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(Derefof(m602(1, 5, 1)), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 46, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(m602(1, 19, 1)), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 47, Local0, 0xfffffffffffffcde)
+ }
+ }
+
+ // NAnd, 64-bit
+ Method(m04b, 1)
+ {
+ // Conversion of the first operand
+
+ Store(NAnd(Derefof(m604(2, 3, 10, 1)), 0), Local0)
+ m600(arg0, 0, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(m604(2, 3, 10, 1)), 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0x01834c6e29af5d7b)
+
+ Store(NAnd(Derefof(m604(2, 3, 10, 1)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(m604(2, 3, 10, 1)), auij), Local0)
+ m600(arg0, 3, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ Store(NAnd(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Store(NAnd(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ Store(NAnd(Derefof(m604(2, 3, 10, 1)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(m604(2, 3, 10, 1)), m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(Derefof(m604(2, 3, 10, 1)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(m604(2, 3, 10, 1)), Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0x01834c6e29af5d7b)
+ }
+
+ NAnd(Derefof(m604(2, 3, 10, 1)), 0, Local0)
+ m600(arg0, 12, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(m604(2, 3, 10, 1)), 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0x01834c6e29af5d7b)
+
+ NAnd(Derefof(m604(2, 3, 10, 1)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(m604(2, 3, 10, 1)), auij, Local0)
+ m600(arg0, 15, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ NAnd(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0x01834c6e29af5d7b)
+ }
+
+ NAnd(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ NAnd(Derefof(m604(2, 3, 10, 1)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(m604(2, 3, 10, 1)), m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(Derefof(m604(2, 3, 10, 1)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(m604(2, 3, 10, 1)), Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0x01834c6e29af5d7b)
+ }
+
+ // Conversion of the second operand
+
+ Store(NAnd(0, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 24, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(0xffffffffffffffff, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 25, Local0, 0x01834c6e29af5d7b)
+
+ Store(NAnd(aui5, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 26, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(auij, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 27, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ Store(NAnd(Derefof(Refof(aui5)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 28, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Refof(auij)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 29, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Store(NAnd(Derefof(Index(paui, 5)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 30, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Index(paui, 19)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 31, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ Store(NAnd(m601(1, 5), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 32, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(m601(1, 19), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 33, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(Derefof(m602(1, 5, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 34, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(m602(1, 19, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 35, Local0, 0x01834c6e29af5d7b)
+ }
+
+ NAnd(0, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 36, Local0, 0xffffffffffffffff)
+
+ NAnd(0xffffffffffffffff, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 37, Local0, 0x01834c6e29af5d7b)
+
+ NAnd(aui5, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 38, Local0, 0xffffffffffffffff)
+
+ NAnd(auij, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 39, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ NAnd(Derefof(Refof(aui5)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 40, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Refof(auij)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 41, Local0, 0x01834c6e29af5d7b)
+ }
+
+ NAnd(Derefof(Index(paui, 5)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 42, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Index(paui, 19)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 43, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ NAnd(m601(1, 5), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 44, Local0, 0xffffffffffffffff)
+
+ NAnd(m601(1, 19), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 45, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(Derefof(m602(1, 5, 1)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 46, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(m602(1, 19, 1)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 47, Local0, 0x01834c6e29af5d7b)
+ }
+
+ // Conversion of the both operands
+
+ Store(NAnd(Derefof(m604(2, 3, 6, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 48, Local0, 0xfffffffffffffdff)
+
+ Store(NAnd(Derefof(m604(2, 3, 10, 1)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 49, Local0, 0xfffffffffffffdff)
+
+ NAnd(Derefof(m604(2, 3, 6, 1)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 50, Local0, 0xfffffffffffffdff)
+
+ NAnd(Derefof(m604(2, 3, 10, 1)), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 51, Local0, 0xfffffffffffffdff)
+ }
+
+ // NAnd, 32-bit
+ Method(m04c, 1)
+ {
+ // Conversion of the first operand
+
+ Store(NAnd(Derefof(m604(2, 3, 10, 1)), 0), Local0)
+ m600(arg0, 0, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(m604(2, 3, 10, 1)), 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0x29af5d7b)
+
+ Store(NAnd(Derefof(m604(2, 3, 10, 1)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(m604(2, 3, 10, 1)), auii), Local0)
+ m600(arg0, 3, Local0, 0x29af5d7b)
+
+ if (y078) {
+ Store(NAnd(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0x29af5d7b)
+ }
+
+ Store(NAnd(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0x29af5d7b)
+
+ // Method returns Integer
+
+ Store(NAnd(Derefof(m604(2, 3, 10, 1)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(m604(2, 3, 10, 1)), m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0x29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(Derefof(m604(2, 3, 10, 1)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(m604(2, 3, 10, 1)), Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0x29af5d7b)
+ }
+
+ NAnd(Derefof(m604(2, 3, 10, 1)), 0, Local0)
+ m600(arg0, 12, Local0, 0xffffffff)
+
+ NAnd(Derefof(m604(2, 3, 10, 1)), 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0x29af5d7b)
+
+ NAnd(Derefof(m604(2, 3, 10, 1)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xffffffff)
+
+ NAnd(Derefof(m604(2, 3, 10, 1)), auii, Local0)
+ m600(arg0, 15, Local0, 0x29af5d7b)
+
+ if (y078) {
+ NAnd(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xffffffff)
+
+ NAnd(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0x29af5d7b)
+ }
+
+ NAnd(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xffffffff)
+
+ NAnd(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0x29af5d7b)
+
+ // Method returns Integer
+
+ NAnd(Derefof(m604(2, 3, 10, 1)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xffffffff)
+
+ NAnd(Derefof(m604(2, 3, 10, 1)), m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0x29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(Derefof(m604(2, 3, 10, 1)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xffffffff)
+
+ NAnd(Derefof(m604(2, 3, 10, 1)), Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0x29af5d7b)
+ }
+
+ // Conversion of the second operand
+
+ Store(NAnd(0, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 24, Local0, 0xffffffff)
+
+ Store(NAnd(0xffffffff, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 25, Local0, 0x29af5d7b)
+
+ Store(NAnd(aui5, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 26, Local0, 0xffffffff)
+
+ Store(NAnd(auii, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 27, Local0, 0x29af5d7b)
+
+ if (y078) {
+ Store(NAnd(Derefof(Refof(aui5)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 28, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(Refof(auii)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 29, Local0, 0x29af5d7b)
+ }
+
+ Store(NAnd(Derefof(Index(paui, 5)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 30, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(Index(paui, 18)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 31, Local0, 0x29af5d7b)
+
+ // Method returns Integer
+
+ Store(NAnd(m601(1, 5), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 32, Local0, 0xffffffff)
+
+ Store(NAnd(m601(1, 18), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 33, Local0, 0x29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(Derefof(m602(1, 5, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 34, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(m602(1, 18, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 35, Local0, 0x29af5d7b)
+ }
+
+ NAnd(0, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 36, Local0, 0xffffffff)
+
+ NAnd(0xffffffff, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 37, Local0, 0x29af5d7b)
+
+ NAnd(aui5, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 38, Local0, 0xffffffff)
+
+ NAnd(auii, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 39, Local0, 0x29af5d7b)
+
+ if (y078) {
+ NAnd(Derefof(Refof(aui5)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 40, Local0, 0xffffffff)
+
+ NAnd(Derefof(Refof(auii)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 41, Local0, 0x29af5d7b)
+ }
+
+ NAnd(Derefof(Index(paui, 5)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 42, Local0, 0xffffffff)
+
+ NAnd(Derefof(Index(paui, 18)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 43, Local0, 0x29af5d7b)
+
+ // Method returns Integer
+
+ NAnd(m601(1, 5), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 44, Local0, 0xffffffff)
+
+ NAnd(m601(1, 18), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 45, Local0, 0x29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(Derefof(m602(1, 5, 1)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 46, Local0, 0xffffffff)
+
+ NAnd(Derefof(m602(1, 18, 1)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 47, Local0, 0x29af5d7b)
+ }
+
+ // Conversion of the both operands
+
+ Store(NAnd(Derefof(m604(2, 3, 6, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 48, Local0, 0xfffffdff)
+
+ Store(NAnd(Derefof(m604(2, 3, 10, 1)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 49, Local0, 0xfffffdff)
+
+ NAnd(Derefof(m604(2, 3, 6, 1)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 50, Local0, 0xfffffdff)
+
+ NAnd(Derefof(m604(2, 3, 10, 1)), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 51, Local0, 0xfffffdff)
+ }
+
+ // NOr, common 32-bit/64-bit test
+ Method(m04d, 1)
+ {
+ // Conversion of the first operand
+
+ Store(NOr(Derefof(m604(2, 3, 6, 1)), 0), Local0)
+ m600(arg0, 0, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(m604(2, 3, 6, 1)), 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0)
+
+ Store(NOr(Derefof(m604(2, 3, 6, 1)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(m604(2, 3, 6, 1)), auij), Local0)
+ m600(arg0, 3, Local0, 0)
+
+ if (y078) {
+ Store(NOr(Derefof(m604(2, 3, 6, 1)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(m604(2, 3, 6, 1)), Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0)
+ }
+
+ Store(NOr(Derefof(m604(2, 3, 6, 1)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(m604(2, 3, 6, 1)), Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(Derefof(m604(2, 3, 6, 1)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(m604(2, 3, 6, 1)), m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(Derefof(m604(2, 3, 6, 1)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(m604(2, 3, 6, 1)), Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0)
+ }
+
+ NOr(Derefof(m604(2, 3, 6, 1)), 0, Local0)
+ m600(arg0, 12, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(m604(2, 3, 6, 1)), 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0)
+
+ NOr(Derefof(m604(2, 3, 6, 1)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(m604(2, 3, 6, 1)), auij, Local0)
+ m600(arg0, 15, Local0, 0)
+
+ if (y078) {
+ NOr(Derefof(m604(2, 3, 6, 1)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(m604(2, 3, 6, 1)), Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0)
+ }
+
+ NOr(Derefof(m604(2, 3, 6, 1)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(m604(2, 3, 6, 1)), Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(Derefof(m604(2, 3, 6, 1)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(m604(2, 3, 6, 1)), m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(Derefof(m604(2, 3, 6, 1)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(m604(2, 3, 6, 1)), Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0)
+ }
+
+ // Conversion of the second operand
+
+ Store(NOr(0, Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 24, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(0xffffffffffffffff, Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 25, Local0, 0)
+
+ Store(NOr(aui5, Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 26, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(auij, Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 27, Local0, 0)
+
+ if (y078) {
+ Store(NOr(Derefof(Refof(aui5)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 28, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(Refof(auij)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 29, Local0, 0)
+ }
+
+ Store(NOr(Derefof(Index(paui, 5)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 30, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(Index(paui, 19)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 31, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(m601(1, 5), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 32, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(m601(1, 19), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 33, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(Derefof(m602(1, 5, 1)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 34, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(m602(1, 19, 1)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 35, Local0, 0)
+ }
+
+ NOr(0, Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 36, Local0, 0xfffffffffffffcde)
+
+ NOr(0xffffffffffffffff, Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 37, Local0, 0)
+
+ NOr(aui5, Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 38, Local0, 0xfffffffffffffcde)
+
+ NOr(auij, Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 39, Local0, 0)
+
+ if (y078) {
+ NOr(Derefof(Refof(aui5)), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 40, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(Refof(auij)), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 41, Local0, 0)
+ }
+
+ NOr(Derefof(Index(paui, 5)), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 42, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(Index(paui, 19)), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 43, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(m601(1, 5), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 44, Local0, 0xfffffffffffffcde)
+
+ NOr(m601(1, 19), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 45, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(Derefof(m602(1, 5, 1)), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 46, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(m602(1, 19, 1)), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 47, Local0, 0)
+ }
+ }
+
+ // NOr, 64-bit
+ Method(m04e, 1)
+ {
+ // Conversion of the first operand
+
+ Store(NOr(Derefof(m604(2, 3, 10, 1)), 0), Local0)
+ m600(arg0, 0, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(m604(2, 3, 10, 1)), 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0)
+
+ Store(NOr(Derefof(m604(2, 3, 10, 1)), aui5), Local0)
+ m600(arg0, 2, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(m604(2, 3, 10, 1)), auij), Local0)
+ m600(arg0, 3, Local0, 0)
+
+ if (y078) {
+ Store(NOr(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0)
+ }
+
+ Store(NOr(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(Derefof(m604(2, 3, 10, 1)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(m604(2, 3, 10, 1)), m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(Derefof(m604(2, 3, 10, 1)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(m604(2, 3, 10, 1)), Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0)
+ }
+
+ NOr(Derefof(m604(2, 3, 10, 1)), 0, Local0)
+ m600(arg0, 12, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(m604(2, 3, 10, 1)), 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0)
+
+ NOr(Derefof(m604(2, 3, 10, 1)), aui5, Local0)
+ m600(arg0, 14, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(m604(2, 3, 10, 1)), auij, Local0)
+ m600(arg0, 15, Local0, 0)
+
+ if (y078) {
+ NOr(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0)
+ }
+
+ NOr(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(Derefof(m604(2, 3, 10, 1)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(m604(2, 3, 10, 1)), m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(Derefof(m604(2, 3, 10, 1)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(m604(2, 3, 10, 1)), Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0)
+ }
+
+ // Conversion of the second operand
+
+ Store(NOr(0, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 24, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(0xffffffffffffffff, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 25, Local0, 0)
+
+ Store(NOr(aui5, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 26, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(auij, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 27, Local0, 0)
+
+ if (y078) {
+ Store(NOr(Derefof(Refof(aui5)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 28, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(Refof(auij)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 29, Local0, 0)
+ }
+
+ Store(NOr(Derefof(Index(paui, 5)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 30, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(Index(paui, 19)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 31, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(m601(1, 5), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 32, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(m601(1, 19), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 33, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(Derefof(m602(1, 5, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 34, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(m602(1, 19, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 35, Local0, 0)
+ }
+
+ NOr(0, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 36, Local0, 0x01834c6e29af5d7b)
+
+ NOr(0xffffffffffffffff, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 37, Local0, 0)
+
+ NOr(aui5, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 38, Local0, 0x01834c6e29af5d7b)
+
+ NOr(auij, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 39, Local0, 0)
+
+ if (y078) {
+ NOr(Derefof(Refof(aui5)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 40, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(Refof(auij)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 41, Local0, 0)
+ }
+
+ NOr(Derefof(Index(paui, 5)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 42, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(Index(paui, 19)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 43, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(m601(1, 5), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 44, Local0, 0x01834c6e29af5d7b)
+
+ NOr(m601(1, 19), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 45, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(Derefof(m602(1, 5, 1)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 46, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(m602(1, 19, 1)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 47, Local0, 0)
+ }
+
+ // Conversion of the both operands
+
+ Store(NOr(Derefof(m604(2, 3, 6, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 48, Local0, 0x01834c6e29af5c5a)
+
+ Store(NOr(Derefof(m604(2, 3, 10, 1)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 49, Local0, 0x01834c6e29af5c5a)
+
+ NOr(Derefof(m604(2, 3, 6, 1)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 50, Local0, 0x01834c6e29af5c5a)
+
+ NOr(Derefof(m604(2, 3, 10, 1)), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 51, Local0, 0x01834c6e29af5c5a)
+ }
+
+ // NOr, 32-bit
+ Method(m04f, 1)
+ {
+ // Conversion of the first operand
+
+ Store(NOr(Derefof(m604(2, 3, 10, 1)), 0), Local0)
+ m600(arg0, 0, Local0, 0x29af5d7b)
+
+ Store(NOr(Derefof(m604(2, 3, 10, 1)), 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0)
+
+ Store(NOr(Derefof(m604(2, 3, 10, 1)), aui5), Local0)
+ m600(arg0, 2, Local0, 0x29af5d7b)
+
+ Store(NOr(Derefof(m604(2, 3, 10, 1)), auii), Local0)
+ m600(arg0, 3, Local0, 0)
+
+ if (y078) {
+ Store(NOr(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x29af5d7b)
+
+ Store(NOr(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0)
+ }
+
+ Store(NOr(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x29af5d7b)
+
+ Store(NOr(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(Derefof(m604(2, 3, 10, 1)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x29af5d7b)
+
+ Store(NOr(Derefof(m604(2, 3, 10, 1)), m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(Derefof(m604(2, 3, 10, 1)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x29af5d7b)
+
+ Store(NOr(Derefof(m604(2, 3, 10, 1)), Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0)
+ }
+
+ NOr(Derefof(m604(2, 3, 10, 1)), 0, Local0)
+ m600(arg0, 12, Local0, 0x29af5d7b)
+
+ NOr(Derefof(m604(2, 3, 10, 1)), 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0)
+
+ NOr(Derefof(m604(2, 3, 10, 1)), aui5, Local0)
+ m600(arg0, 14, Local0, 0x29af5d7b)
+
+ NOr(Derefof(m604(2, 3, 10, 1)), auii, Local0)
+ m600(arg0, 15, Local0, 0)
+
+ if (y078) {
+ NOr(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x29af5d7b)
+
+ NOr(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0)
+ }
+
+ NOr(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x29af5d7b)
+
+ NOr(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(Derefof(m604(2, 3, 10, 1)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x29af5d7b)
+
+ NOr(Derefof(m604(2, 3, 10, 1)), m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(Derefof(m604(2, 3, 10, 1)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x29af5d7b)
+
+ NOr(Derefof(m604(2, 3, 10, 1)), Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0)
+ }
+
+ // Conversion of the second operand
+
+ Store(NOr(0, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 24, Local0, 0x29af5d7b)
+
+ Store(NOr(0xffffffff, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 25, Local0, 0)
+
+ Store(NOr(aui5, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 26, Local0, 0x29af5d7b)
+
+ Store(NOr(auii, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 27, Local0, 0)
+
+ if (y078) {
+ Store(NOr(Derefof(Refof(aui5)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 28, Local0, 0x29af5d7b)
+
+ Store(NOr(Derefof(Refof(auii)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 29, Local0, 0)
+ }
+
+ Store(NOr(Derefof(Index(paui, 5)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 30, Local0, 0x29af5d7b)
+
+ Store(NOr(Derefof(Index(paui, 18)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 31, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(m601(1, 5), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 32, Local0, 0x29af5d7b)
+
+ Store(NOr(m601(1, 18), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 33, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(Derefof(m602(1, 5, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 34, Local0, 0x29af5d7b)
+
+ Store(NOr(Derefof(m602(1, 18, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 35, Local0, 0)
+ }
+
+ NOr(0, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 36, Local0, 0x29af5d7b)
+
+ NOr(0xffffffff, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 37, Local0, 0)
+
+ NOr(aui5, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 38, Local0, 0x29af5d7b)
+
+ NOr(auii, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 39, Local0, 0)
+
+ if (y078) {
+ NOr(Derefof(Refof(aui5)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 40, Local0, 0x29af5d7b)
+
+ NOr(Derefof(Refof(auii)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 41, Local0, 0)
+ }
+
+ NOr(Derefof(Index(paui, 5)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 42, Local0, 0x29af5d7b)
+
+ NOr(Derefof(Index(paui, 18)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 43, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(m601(1, 5), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 44, Local0, 0x29af5d7b)
+
+ NOr(m601(1, 18), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 45, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(Derefof(m602(1, 5, 1)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 46, Local0, 0x29af5d7b)
+
+ NOr(Derefof(m602(1, 18, 1)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 47, Local0, 0)
+ }
+
+ // Conversion of the both operands
+
+ Store(NOr(Derefof(m604(2, 3, 6, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 48, Local0, 0x29af5c5a)
+
+ Store(NOr(Derefof(m604(2, 3, 10, 1)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 49, Local0, 0x29af5c5a)
+
+ NOr(Derefof(m604(2, 3, 6, 1)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 50, Local0, 0x29af5c5a)
+
+ NOr(Derefof(m604(2, 3, 10, 1)), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 51, Local0, 0x29af5c5a)
+ }
+
+ // Or, common 32-bit/64-bit test
+ Method(m050, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Or(Derefof(m604(2, 3, 6, 1)), 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Or(Derefof(m604(2, 3, 6, 1)), 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xffffffffffffffff)
+
+ Store(Or(Derefof(m604(2, 3, 6, 1)), aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Or(Derefof(m604(2, 3, 6, 1)), auij), Local0)
+ m600(arg0, 3, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Store(Or(Derefof(m604(2, 3, 6, 1)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Or(Derefof(m604(2, 3, 6, 1)), Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xffffffffffffffff)
+ }
+
+ Store(Or(Derefof(m604(2, 3, 6, 1)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Or(Derefof(m604(2, 3, 6, 1)), Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Store(Or(Derefof(m604(2, 3, 6, 1)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Or(Derefof(m604(2, 3, 6, 1)), m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(Derefof(m604(2, 3, 6, 1)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Or(Derefof(m604(2, 3, 6, 1)), Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xffffffffffffffff)
+ }
+
+ Or(Derefof(m604(2, 3, 6, 1)), 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Or(Derefof(m604(2, 3, 6, 1)), 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xffffffffffffffff)
+
+ Or(Derefof(m604(2, 3, 6, 1)), aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Or(Derefof(m604(2, 3, 6, 1)), auij, Local0)
+ m600(arg0, 15, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Or(Derefof(m604(2, 3, 6, 1)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Or(Derefof(m604(2, 3, 6, 1)), Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xffffffffffffffff)
+ }
+
+ Or(Derefof(m604(2, 3, 6, 1)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Or(Derefof(m604(2, 3, 6, 1)), Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Or(Derefof(m604(2, 3, 6, 1)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Or(Derefof(m604(2, 3, 6, 1)), m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(Derefof(m604(2, 3, 6, 1)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Or(Derefof(m604(2, 3, 6, 1)), Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xffffffffffffffff)
+ }
+
+ // Conversion of the second operand
+
+ Store(Or(0, Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 24, Local0, 0x321)
+
+ Store(Or(0xffffffffffffffff, Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 25, Local0, 0xffffffffffffffff)
+
+ Store(Or(aui5, Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 26, Local0, 0x321)
+
+ Store(Or(auij, Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 27, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Store(Or(Derefof(Refof(aui5)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 28, Local0, 0x321)
+
+ Store(Or(Derefof(Refof(auij)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 29, Local0, 0xffffffffffffffff)
+ }
+
+ Store(Or(Derefof(Index(paui, 5)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 30, Local0, 0x321)
+
+ Store(Or(Derefof(Index(paui, 19)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 31, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Store(Or(m601(1, 5), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 32, Local0, 0x321)
+
+ Store(Or(m601(1, 19), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 33, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(Derefof(m602(1, 5, 1)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 34, Local0, 0x321)
+
+ Store(Or(Derefof(m602(1, 19, 1)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 35, Local0, 0xffffffffffffffff)
+ }
+
+ Or(0, Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 36, Local0, 0x321)
+
+ Or(0xffffffffffffffff, Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 37, Local0, 0xffffffffffffffff)
+
+ Or(aui5, Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 38, Local0, 0x321)
+
+ Or(auij, Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 39, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Or(Derefof(Refof(aui5)), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 40, Local0, 0x321)
+
+ Or(Derefof(Refof(auij)), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 41, Local0, 0xffffffffffffffff)
+ }
+
+ Or(Derefof(Index(paui, 5)), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 42, Local0, 0x321)
+
+ Or(Derefof(Index(paui, 19)), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 43, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Or(m601(1, 5), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 44, Local0, 0x321)
+
+ Or(m601(1, 19), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 45, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(Derefof(m602(1, 5, 1)), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 46, Local0, 0x321)
+
+ Or(Derefof(m602(1, 19, 1)), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 47, Local0, 0xffffffffffffffff)
+ }
+ }
+
+ // Or, 64-bit
+ Method(m051, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Or(Derefof(m604(2, 3, 10, 1)), 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(m604(2, 3, 10, 1)), 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xffffffffffffffff)
+
+ Store(Or(Derefof(m604(2, 3, 10, 1)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(m604(2, 3, 10, 1)), auij), Local0)
+ m600(arg0, 3, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Store(Or(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xffffffffffffffff)
+ }
+
+ Store(Or(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Store(Or(Derefof(m604(2, 3, 10, 1)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(m604(2, 3, 10, 1)), m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(Derefof(m604(2, 3, 10, 1)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(m604(2, 3, 10, 1)), Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xffffffffffffffff)
+ }
+
+ Or(Derefof(m604(2, 3, 10, 1)), 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(m604(2, 3, 10, 1)), 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xffffffffffffffff)
+
+ Or(Derefof(m604(2, 3, 10, 1)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(m604(2, 3, 10, 1)), auij, Local0)
+ m600(arg0, 15, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Or(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xffffffffffffffff)
+ }
+
+ Or(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Or(Derefof(m604(2, 3, 10, 1)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(m604(2, 3, 10, 1)), m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(Derefof(m604(2, 3, 10, 1)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(m604(2, 3, 10, 1)), Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xffffffffffffffff)
+ }
+
+ // Conversion of the second operand
+
+ Store(Or(0, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 24, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(0xffffffffffffffff, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 25, Local0, 0xffffffffffffffff)
+
+ Store(Or(aui5, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 26, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(auij, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 27, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Store(Or(Derefof(Refof(aui5)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 28, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(Refof(auij)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 29, Local0, 0xffffffffffffffff)
+ }
+
+ Store(Or(Derefof(Index(paui, 5)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 30, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(Index(paui, 19)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 31, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Store(Or(m601(1, 5), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 32, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(m601(1, 19), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 33, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(Derefof(m602(1, 5, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 34, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(m602(1, 19, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 35, Local0, 0xffffffffffffffff)
+ }
+
+ Or(0, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 36, Local0, 0xfe7cb391d650a284)
+
+ Or(0xffffffffffffffff, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 37, Local0, 0xffffffffffffffff)
+
+ Or(aui5, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 38, Local0, 0xfe7cb391d650a284)
+
+ Or(auij, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 39, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Or(Derefof(Refof(aui5)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 40, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(Refof(auij)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 41, Local0, 0xffffffffffffffff)
+ }
+
+ Or(Derefof(Index(paui, 5)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 42, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(Index(paui, 19)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 43, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Or(m601(1, 5), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 44, Local0, 0xfe7cb391d650a284)
+
+ Or(m601(1, 19), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 45, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(Derefof(m602(1, 5, 1)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 46, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(m602(1, 19, 1)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 47, Local0, 0xffffffffffffffff)
+ }
+
+ // Conversion of the both operands
+
+ Store(Or(Derefof(m604(2, 3, 6, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 48, Local0, 0xfe7cb391d650a3a5)
+
+ Store(Or(Derefof(m604(2, 3, 10, 1)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 49, Local0, 0xfe7cb391d650a3a5)
+
+ Or(Derefof(m604(2, 3, 6, 1)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 50, Local0, 0xfe7cb391d650a3a5)
+
+ Or(Derefof(m604(2, 3, 10, 1)), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 51, Local0, 0xfe7cb391d650a3a5)
+ }
+
+ // Or, 32-bit
+ Method(m052, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Or(Derefof(m604(2, 3, 10, 1)), 0), Local0)
+ m600(arg0, 0, Local0, 0xd650a284)
+
+ Store(Or(Derefof(m604(2, 3, 10, 1)), 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0xffffffff)
+
+ Store(Or(Derefof(m604(2, 3, 10, 1)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xd650a284)
+
+ Store(Or(Derefof(m604(2, 3, 10, 1)), auii), Local0)
+ m600(arg0, 3, Local0, 0xffffffff)
+
+ if (y078) {
+ Store(Or(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xd650a284)
+
+ Store(Or(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0xffffffff)
+ }
+
+ Store(Or(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xd650a284)
+
+ Store(Or(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0xffffffff)
+
+ // Method returns Integer
+
+ Store(Or(Derefof(m604(2, 3, 10, 1)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xd650a284)
+
+ Store(Or(Derefof(m604(2, 3, 10, 1)), m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0xffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(Derefof(m604(2, 3, 10, 1)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xd650a284)
+
+ Store(Or(Derefof(m604(2, 3, 10, 1)), Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0xffffffff)
+ }
+
+ Or(Derefof(m604(2, 3, 10, 1)), 0, Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ Or(Derefof(m604(2, 3, 10, 1)), 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0xffffffff)
+
+ Or(Derefof(m604(2, 3, 10, 1)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xd650a284)
+
+ Or(Derefof(m604(2, 3, 10, 1)), auii, Local0)
+ m600(arg0, 15, Local0, 0xffffffff)
+
+ if (y078) {
+ Or(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xd650a284)
+
+ Or(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0xffffffff)
+ }
+
+ Or(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xd650a284)
+
+ Or(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0xffffffff)
+
+ // Method returns Integer
+
+ Or(Derefof(m604(2, 3, 10, 1)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xd650a284)
+
+ Or(Derefof(m604(2, 3, 10, 1)), m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0xffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(Derefof(m604(2, 3, 10, 1)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xd650a284)
+
+ Or(Derefof(m604(2, 3, 10, 1)), Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0xffffffff)
+ }
+
+ // Conversion of the second operand
+
+ Store(Or(0, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 24, Local0, 0xd650a284)
+
+ Store(Or(0xffffffff, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 25, Local0, 0xffffffff)
+
+ Store(Or(aui5, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 26, Local0, 0xd650a284)
+
+ Store(Or(auii, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 27, Local0, 0xffffffff)
+
+ if (y078) {
+ Store(Or(Derefof(Refof(aui5)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 28, Local0, 0xd650a284)
+
+ Store(Or(Derefof(Refof(auii)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 29, Local0, 0xffffffff)
+ }
+
+ Store(Or(Derefof(Index(paui, 5)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 30, Local0, 0xd650a284)
+
+ Store(Or(Derefof(Index(paui, 18)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 31, Local0, 0xffffffff)
+
+ // Method returns Integer
+
+ Store(Or(m601(1, 5), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 32, Local0, 0xd650a284)
+
+ Store(Or(m601(1, 18), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 33, Local0, 0xffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(Derefof(m602(1, 5, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 34, Local0, 0xd650a284)
+
+ Store(Or(Derefof(m602(1, 18, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 35, Local0, 0xffffffff)
+ }
+
+ Or(0, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 36, Local0, 0xd650a284)
+
+ Or(0xffffffff, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 37, Local0, 0xffffffff)
+
+ Or(aui5, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 38, Local0, 0xd650a284)
+
+ Or(auii, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 39, Local0, 0xffffffff)
+
+ if (y078) {
+ Or(Derefof(Refof(aui5)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 40, Local0, 0xd650a284)
+
+ Or(Derefof(Refof(auii)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 41, Local0, 0xffffffff)
+ }
+
+ Or(Derefof(Index(paui, 5)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 42, Local0, 0xd650a284)
+
+ Or(Derefof(Index(paui, 18)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 43, Local0, 0xffffffff)
+
+ // Method returns Integer
+
+ Or(m601(1, 5), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 44, Local0, 0xd650a284)
+
+ Or(m601(1, 18), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 45, Local0, 0xffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(Derefof(m602(1, 5, 1)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 46, Local0, 0xd650a284)
+
+ Or(Derefof(m602(1, 18, 1)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 47, Local0, 0xffffffff)
+ }
+
+ // Conversion of the both operands
+
+ Store(Or(Derefof(m604(2, 3, 6, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 48, Local0, 0xd650a3a5)
+
+ Store(Or(Derefof(m604(2, 3, 10, 1)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 49, Local0, 0xd650a3a5)
+
+ Or(Derefof(m604(2, 3, 6, 1)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 50, Local0, 0xd650a3a5)
+
+ Or(Derefof(m604(2, 3, 10, 1)), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 51, Local0, 0xd650a3a5)
+ }
+
+ // ShiftLeft, common 32-bit/64-bit test
+ Method(m053, 1)
+ {
+ // Conversion of the first operand
+
+ Store(ShiftLeft(Derefof(m604(2, 3, 6, 1)), 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(ShiftLeft(Derefof(m604(2, 3, 6, 1)), 1), Local0)
+ m600(arg0, 1, Local0, 0x642)
+
+ Store(ShiftLeft(Derefof(m604(2, 3, 6, 1)), aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(ShiftLeft(Derefof(m604(2, 3, 6, 1)), aui6), Local0)
+ m600(arg0, 3, Local0, 0x642)
+
+ if (y078) {
+ Store(ShiftLeft(Derefof(m604(2, 3, 6, 1)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(ShiftLeft(Derefof(m604(2, 3, 6, 1)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x642)
+ }
+
+ Store(ShiftLeft(Derefof(m604(2, 3, 6, 1)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(ShiftLeft(Derefof(m604(2, 3, 6, 1)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x642)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(Derefof(m604(2, 3, 6, 1)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(ShiftLeft(Derefof(m604(2, 3, 6, 1)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x642)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(Derefof(m604(2, 3, 6, 1)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(ShiftLeft(Derefof(m604(2, 3, 6, 1)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x642)
+ }
+
+ ShiftLeft(Derefof(m604(2, 3, 6, 1)), 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ ShiftLeft(Derefof(m604(2, 3, 6, 1)), 1, Local0)
+ m600(arg0, 13, Local0, 0x642)
+
+ ShiftLeft(Derefof(m604(2, 3, 6, 1)), aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ ShiftLeft(Derefof(m604(2, 3, 6, 1)), aui6, Local0)
+ m600(arg0, 15, Local0, 0x642)
+
+ if (y078) {
+ ShiftLeft(Derefof(m604(2, 3, 6, 1)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ ShiftLeft(Derefof(m604(2, 3, 6, 1)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x642)
+ }
+
+ ShiftLeft(Derefof(m604(2, 3, 6, 1)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ ShiftLeft(Derefof(m604(2, 3, 6, 1)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x642)
+
+ // Method returns Integer
+
+ ShiftLeft(Derefof(m604(2, 3, 6, 1)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ ShiftLeft(Derefof(m604(2, 3, 6, 1)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x642)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(Derefof(m604(2, 3, 6, 1)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ ShiftLeft(Derefof(m604(2, 3, 6, 1)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x642)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftLeft(0, Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftLeft(1, Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 25, Local0, 0x800)
+
+ Store(ShiftLeft(aui5, Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftLeft(aui6, Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 27, Local0, 0x800)
+
+ if (y078) {
+ Store(ShiftLeft(Derefof(Refof(aui5)), Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Refof(aui6)), Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 29, Local0, 0x800)
+ }
+
+ Store(ShiftLeft(Derefof(Index(paui, 5)), Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Index(paui, 6)), Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 31, Local0, 0x800)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(m601(1, 5), Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftLeft(m601(1, 6), Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 33, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(Derefof(m602(1, 5, 1)), Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftLeft(Derefof(m602(1, 6, 1)), Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 35, Local0, 0x800)
+ }
+
+ ShiftLeft(0, Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftLeft(1, Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 37, Local0, 0x800)
+
+ ShiftLeft(aui5, Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftLeft(aui6, Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 39, Local0, 0x800)
+
+ if (y078) {
+ ShiftLeft(Derefof(Refof(aui5)), Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftLeft(Derefof(Refof(aui6)), Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 41, Local0, 0x800)
+ }
+
+ ShiftLeft(Derefof(Index(paui, 5)), Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftLeft(Derefof(Index(paui, 6)), Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 43, Local0, 0x800)
+
+ // Method returns Integer
+
+ ShiftLeft(m601(1, 5), Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftLeft(m601(1, 6), Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 45, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(Derefof(m602(1, 5, 1)), Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftLeft(Derefof(m602(1, 6, 1)), Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 47, Local0, 0x800)
+ }
+ }
+
+ // ShiftLeft, 64-bit
+ Method(m054, 1)
+ {
+ // Conversion of the first operand
+
+ Store(ShiftLeft(Derefof(m604(2, 3, 10, 1)), 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(Derefof(m604(2, 3, 10, 1)), 1), Local0)
+ m600(arg0, 1, Local0, 0xfcf96723aca14508)
+
+ Store(ShiftLeft(Derefof(m604(2, 3, 10, 1)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(Derefof(m604(2, 3, 10, 1)), aui6), Local0)
+ m600(arg0, 3, Local0, 0xfcf96723aca14508)
+
+ if (y078) {
+ Store(ShiftLeft(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xfcf96723aca14508)
+ }
+
+ Store(ShiftLeft(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xfcf96723aca14508)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(Derefof(m604(2, 3, 10, 1)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(Derefof(m604(2, 3, 10, 1)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xfcf96723aca14508)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(Derefof(m604(2, 3, 10, 1)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(Derefof(m604(2, 3, 10, 1)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfcf96723aca14508)
+ }
+
+ ShiftLeft(Derefof(m604(2, 3, 10, 1)), 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(Derefof(m604(2, 3, 10, 1)), 1, Local0)
+ m600(arg0, 13, Local0, 0xfcf96723aca14508)
+
+ ShiftLeft(Derefof(m604(2, 3, 10, 1)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(Derefof(m604(2, 3, 10, 1)), aui6, Local0)
+ m600(arg0, 15, Local0, 0xfcf96723aca14508)
+
+ if (y078) {
+ ShiftLeft(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xfcf96723aca14508)
+ }
+
+ ShiftLeft(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xfcf96723aca14508)
+
+ // Method returns Integer
+
+ ShiftLeft(Derefof(m604(2, 3, 10, 1)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(Derefof(m604(2, 3, 10, 1)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xfcf96723aca14508)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(Derefof(m604(2, 3, 10, 1)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(Derefof(m604(2, 3, 10, 1)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfcf96723aca14508)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftLeft(0, Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftLeft(1, Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 25, Local0, 0x800)
+
+ Store(ShiftLeft(aui5, Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftLeft(aui6, Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 27, Local0, 0x800)
+
+ if (y078) {
+ Store(ShiftLeft(Derefof(Refof(aui5)), Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Refof(aui6)), Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 29, Local0, 0x800)
+ }
+
+ Store(ShiftLeft(Derefof(Index(paui, 5)), Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Index(paui, 6)), Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 31, Local0, 0x800)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(m601(1, 5), Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftLeft(m601(1, 6), Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 33, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(Derefof(m602(1, 5, 1)), Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftLeft(Derefof(m602(1, 6, 1)), Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 35, Local0, 0x800)
+ }
+
+ ShiftLeft(0, Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftLeft(1, Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 37, Local0, 0x800)
+
+ ShiftLeft(aui5, Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftLeft(aui6, Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 39, Local0, 0x800)
+
+ if (y078) {
+ ShiftLeft(Derefof(Refof(aui5)), Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftLeft(Derefof(Refof(aui6)), Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 41, Local0, 0x800)
+ }
+
+ ShiftLeft(Derefof(Index(paui, 5)), Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftLeft(Derefof(Index(paui, 6)), Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 43, Local0, 0x800)
+
+ // Method returns Integer
+
+ ShiftLeft(m601(1, 5), Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftLeft(m601(1, 6), Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 45, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(Derefof(m602(1, 5, 1)), Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftLeft(Derefof(m602(1, 6, 1)), Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 47, Local0, 0x800)
+ }
+
+ // Conversion of the both operands
+
+ Store(ShiftLeft(Derefof(m604(2, 3, 6, 1)), Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 48, Local0, 0x190800)
+
+ Store(ShiftLeft(Derefof(m604(2, 3, 10, 1)), Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 49, Local0, 0xE59C8EB285142000)
+
+ ShiftLeft(Derefof(m604(2, 3, 6, 1)), Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 50, Local0, 0x190800)
+
+ ShiftLeft(Derefof(m604(2, 3, 10, 1)), Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 51, Local0, 0xE59C8EB285142000)
+ }
+
+ // ShiftLeft, 32-bit
+ Method(m055, 1)
+ {
+ // Conversion of the first operand
+
+ Store(ShiftLeft(Derefof(m604(2, 3, 10, 1)), 0), Local0)
+ m600(arg0, 0, Local0, 0xd650a284)
+
+ Store(ShiftLeft(Derefof(m604(2, 3, 10, 1)), 1), Local0)
+ m600(arg0, 1, Local0, 0xaca14508)
+
+ Store(ShiftLeft(Derefof(m604(2, 3, 10, 1)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xd650a284)
+
+ Store(ShiftLeft(Derefof(m604(2, 3, 10, 1)), aui6), Local0)
+ m600(arg0, 3, Local0, 0xaca14508)
+
+ if (y078) {
+ Store(ShiftLeft(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xd650a284)
+
+ Store(ShiftLeft(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xaca14508)
+ }
+
+ Store(ShiftLeft(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xd650a284)
+
+ Store(ShiftLeft(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xaca14508)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(Derefof(m604(2, 3, 10, 1)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xd650a284)
+
+ Store(ShiftLeft(Derefof(m604(2, 3, 10, 1)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xaca14508)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(Derefof(m604(2, 3, 10, 1)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xd650a284)
+
+ Store(ShiftLeft(Derefof(m604(2, 3, 10, 1)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xaca14508)
+ }
+
+ ShiftLeft(Derefof(m604(2, 3, 10, 1)), 0, Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ ShiftLeft(Derefof(m604(2, 3, 10, 1)), 1, Local0)
+ m600(arg0, 13, Local0, 0xaca14508)
+
+ ShiftLeft(Derefof(m604(2, 3, 10, 1)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xd650a284)
+
+ ShiftLeft(Derefof(m604(2, 3, 10, 1)), aui6, Local0)
+ m600(arg0, 15, Local0, 0xaca14508)
+
+ if (y078) {
+ ShiftLeft(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xd650a284)
+
+ ShiftLeft(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xaca14508)
+ }
+
+ ShiftLeft(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xd650a284)
+
+ ShiftLeft(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xaca14508)
+
+ // Method returns Integer
+
+ ShiftLeft(Derefof(m604(2, 3, 10, 1)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xd650a284)
+
+ ShiftLeft(Derefof(m604(2, 3, 10, 1)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xaca14508)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(Derefof(m604(2, 3, 10, 1)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xd650a284)
+
+ ShiftLeft(Derefof(m604(2, 3, 10, 1)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xaca14508)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftLeft(0, Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftLeft(1, Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 25, Local0, 0x800)
+
+ Store(ShiftLeft(aui5, Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftLeft(aui6, Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 27, Local0, 0x800)
+
+ if (y078) {
+ Store(ShiftLeft(Derefof(Refof(aui5)), Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Refof(aui6)), Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 29, Local0, 0x800)
+ }
+
+ Store(ShiftLeft(Derefof(Index(paui, 5)), Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Index(paui, 6)), Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 31, Local0, 0x800)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(m601(1, 5), Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftLeft(m601(1, 6), Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 33, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(Derefof(m602(1, 5, 1)), Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftLeft(Derefof(m602(1, 6, 1)), Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 35, Local0, 0x800)
+ }
+
+ ShiftLeft(0, Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftLeft(1, Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 37, Local0, 0x800)
+
+ ShiftLeft(aui5, Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftLeft(aui6, Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 39, Local0, 0x800)
+
+ if (y078) {
+ ShiftLeft(Derefof(Refof(aui5)), Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftLeft(Derefof(Refof(aui6)), Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 41, Local0, 0x800)
+ }
+
+ ShiftLeft(Derefof(Index(paui, 5)), Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftLeft(Derefof(Index(paui, 6)), Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 43, Local0, 0x800)
+
+ // Method returns Integer
+
+ ShiftLeft(m601(1, 5), Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftLeft(m601(1, 6), Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 45, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(Derefof(m602(1, 5, 1)), Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftLeft(Derefof(m602(1, 6, 1)), Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 47, Local0, 0x800)
+ }
+
+ // Conversion of the both operands
+
+ Store(ShiftLeft(Derefof(m604(2, 3, 6, 1)), Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 48, Local0, 0x190800)
+
+ Store(ShiftLeft(Derefof(m604(2, 3, 10, 1)), Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 49, Local0, 0x85142000)
+
+ ShiftLeft(Derefof(m604(2, 3, 6, 1)), Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 50, Local0, 0x190800)
+
+ ShiftLeft(Derefof(m604(2, 3, 10, 1)), Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 51, Local0, 0x85142000)
+ }
+
+ // ShiftRight, common 32-bit/64-bit test
+ Method(m056, 1)
+ {
+ // Conversion of the first operand
+
+ Store(ShiftRight(Derefof(m604(2, 3, 6, 1)), 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(ShiftRight(Derefof(m604(2, 3, 6, 1)), 1), Local0)
+ m600(arg0, 1, Local0, 0x190)
+
+ Store(ShiftRight(Derefof(m604(2, 3, 6, 1)), aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(ShiftRight(Derefof(m604(2, 3, 6, 1)), aui6), Local0)
+ m600(arg0, 3, Local0, 0x190)
+
+ if (y078) {
+ Store(ShiftRight(Derefof(m604(2, 3, 6, 1)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(ShiftRight(Derefof(m604(2, 3, 6, 1)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x190)
+ }
+
+ Store(ShiftRight(Derefof(m604(2, 3, 6, 1)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(ShiftRight(Derefof(m604(2, 3, 6, 1)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x190)
+
+ // Method returns Integer
+
+ Store(ShiftRight(Derefof(m604(2, 3, 6, 1)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(ShiftRight(Derefof(m604(2, 3, 6, 1)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x190)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(Derefof(m604(2, 3, 6, 1)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(ShiftRight(Derefof(m604(2, 3, 6, 1)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x190)
+ }
+
+ ShiftRight(Derefof(m604(2, 3, 6, 1)), 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ ShiftRight(Derefof(m604(2, 3, 6, 1)), 1, Local0)
+ m600(arg0, 13, Local0, 0x190)
+
+ ShiftRight(Derefof(m604(2, 3, 6, 1)), aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ ShiftRight(Derefof(m604(2, 3, 6, 1)), aui6, Local0)
+ m600(arg0, 15, Local0, 0x190)
+
+ if (y078) {
+ ShiftRight(Derefof(m604(2, 3, 6, 1)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ ShiftRight(Derefof(m604(2, 3, 6, 1)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x190)
+ }
+
+ ShiftRight(Derefof(m604(2, 3, 6, 1)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ ShiftRight(Derefof(m604(2, 3, 6, 1)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x190)
+
+ // Method returns Integer
+
+ ShiftRight(Derefof(m604(2, 3, 6, 1)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ ShiftRight(Derefof(m604(2, 3, 6, 1)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x190)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(Derefof(m604(2, 3, 6, 1)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ ShiftRight(Derefof(m604(2, 3, 6, 1)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x190)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftRight(0x321, Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftRight(0xd650a284, Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 25, Local0, 0x1aca14)
+
+ Store(ShiftRight(aui1, Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftRight(auik, Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 27, Local0, 0x1aca14)
+
+ if (y078) {
+ Store(ShiftRight(Derefof(Refof(aui1)), Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftRight(Derefof(Refof(auik)), Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 29, Local0, 0x1aca14)
+ }
+
+ Store(ShiftRight(Derefof(Index(paui, 1)), Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftRight(Derefof(Index(paui, 20)), Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 31, Local0, 0x1aca14)
+
+ // Method returns Integer
+
+ Store(ShiftRight(m601(1, 1), Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftRight(m601(1, 20), Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 33, Local0, 0x1aca14)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(Derefof(m602(1, 1, 1)), Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftRight(Derefof(m602(1, 20, 1)), Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 35, Local0, 0x1aca14)
+ }
+
+ ShiftRight(0x321, Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftRight(0xd650a284, Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 37, Local0, 0x1aca14)
+
+ ShiftRight(aui1, Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftRight(auik, Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 39, Local0, 0x1aca14)
+
+ if (y078) {
+ ShiftRight(Derefof(Refof(aui1)), Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftRight(Derefof(Refof(auik)), Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 41, Local0, 0x1aca14)
+ }
+
+ ShiftRight(Derefof(Index(paui, 1)), Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftRight(Derefof(Index(paui, 20)), Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 43, Local0, 0x1aca14)
+
+ // Method returns Integer
+
+ ShiftRight(m601(1, 1), Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftRight(m601(1, 20), Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 45, Local0, 0x1aca14)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(Derefof(m602(1, 1, 1)), Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftRight(Derefof(m602(1, 20, 1)), Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 47, Local0, 0x1aca14)
+ }
+ }
+
+ // ShiftRight, 64-bit
+ Method(m057, 1)
+ {
+ // Conversion of the first operand
+
+ Store(ShiftRight(Derefof(m604(2, 3, 10, 1)), 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(Derefof(m604(2, 3, 10, 1)), 1), Local0)
+ m600(arg0, 1, Local0, 0x7f3e59c8eb285142)
+
+ Store(ShiftRight(Derefof(m604(2, 3, 10, 1)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(Derefof(m604(2, 3, 10, 1)), aui6), Local0)
+ m600(arg0, 3, Local0, 0x7f3e59c8eb285142)
+
+ if (y078) {
+ Store(ShiftRight(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x7f3e59c8eb285142)
+ }
+
+ Store(ShiftRight(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x7f3e59c8eb285142)
+
+ // Method returns Integer
+
+ Store(ShiftRight(Derefof(m604(2, 3, 10, 1)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(Derefof(m604(2, 3, 10, 1)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x7f3e59c8eb285142)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(Derefof(m604(2, 3, 10, 1)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(Derefof(m604(2, 3, 10, 1)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x7f3e59c8eb285142)
+ }
+
+ ShiftRight(Derefof(m604(2, 3, 10, 1)), 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(Derefof(m604(2, 3, 10, 1)), 1, Local0)
+ m600(arg0, 13, Local0, 0x7f3e59c8eb285142)
+
+ ShiftRight(Derefof(m604(2, 3, 10, 1)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(Derefof(m604(2, 3, 10, 1)), aui6, Local0)
+ m600(arg0, 15, Local0, 0x7f3e59c8eb285142)
+
+ if (y078) {
+ ShiftRight(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x7f3e59c8eb285142)
+ }
+
+ ShiftRight(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x7f3e59c8eb285142)
+
+ // Method returns Integer
+
+ ShiftRight(Derefof(m604(2, 3, 10, 1)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(Derefof(m604(2, 3, 10, 1)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x7f3e59c8eb285142)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(Derefof(m604(2, 3, 10, 1)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(Derefof(m604(2, 3, 10, 1)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x7f3e59c8eb285142)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftRight(0x321, Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftRight(0xfe7cb391d650a284, Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 25, Local0, 0x1fcf96723aca14)
+
+ Store(ShiftRight(aui1, Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftRight(aui4, Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 27, Local0, 0x1fcf96723aca14)
+
+ if (y078) {
+ Store(ShiftRight(Derefof(Refof(aui1)), Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftRight(Derefof(Refof(aui4)), Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 29, Local0, 0x1fcf96723aca14)
+ }
+
+ Store(ShiftRight(Derefof(Index(paui, 1)), Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftRight(Derefof(Index(paui, 4)), Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 31, Local0, 0x1fcf96723aca14)
+
+ // Method returns Integer
+
+ Store(ShiftRight(m601(1, 1), Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftRight(m601(1, 4), Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 33, Local0, 0x1fcf96723aca14)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(Derefof(m602(1, 1, 1)), Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftRight(Derefof(m602(1, 4, 1)), Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 35, Local0, 0x1fcf96723aca14)
+ }
+
+ ShiftRight(0x321, Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftRight(0xfe7cb391d650a284, Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 37, Local0, 0x1fcf96723aca14)
+
+ ShiftRight(aui1, Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftRight(aui4, Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 39, Local0, 0x1fcf96723aca14)
+
+ if (y078) {
+ ShiftRight(Derefof(Refof(aui1)), Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftRight(Derefof(Refof(aui4)), Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 41, Local0, 0x1fcf96723aca14)
+ }
+
+ ShiftRight(Derefof(Index(paui, 1)), Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftRight(Derefof(Index(paui, 4)), Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 43, Local0, 0x1fcf96723aca14)
+
+ // Method returns Integer
+
+ ShiftRight(m601(1, 1), Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftRight(m601(1, 4), Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 45, Local0, 0x1fcf96723aca14)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(Derefof(m602(1, 1, 1)), Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftRight(Derefof(m602(1, 4, 1)), Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 47, Local0, 0x1fcf96723aca14)
+ }
+
+ // Conversion of the both operands
+
+ Store(ShiftRight(Derefof(m604(2, 3, 6, 1)), Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 48, Local0, 0)
+
+ Store(ShiftRight(Derefof(m604(2, 3, 10, 1)), Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 49, Local0, 0x1fcf96723aca14)
+
+ ShiftRight(Derefof(m604(2, 3, 6, 1)), Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 50, Local0, 0)
+
+ ShiftRight(Derefof(m604(2, 3, 10, 1)), Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 51, Local0, 0x1fcf96723aca14)
+ }
+
+ // ShiftRight, 32-bit
+ Method(m058, 1)
+ {
+ // Conversion of the first operand
+
+ Store(ShiftRight(Derefof(m604(2, 3, 10, 1)), 0), Local0)
+ m600(arg0, 0, Local0, 0xd650a284)
+
+ Store(ShiftRight(Derefof(m604(2, 3, 10, 1)), 1), Local0)
+ m600(arg0, 1, Local0, 0x6b285142)
+
+ Store(ShiftRight(Derefof(m604(2, 3, 10, 1)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xd650a284)
+
+ Store(ShiftRight(Derefof(m604(2, 3, 10, 1)), aui6), Local0)
+ m600(arg0, 3, Local0, 0x6b285142)
+
+ if (y078) {
+ Store(ShiftRight(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xd650a284)
+
+ Store(ShiftRight(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x6b285142)
+ }
+
+ Store(ShiftRight(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xd650a284)
+
+ Store(ShiftRight(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x6b285142)
+
+ // Method returns Integer
+
+ Store(ShiftRight(Derefof(m604(2, 3, 10, 1)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xd650a284)
+
+ Store(ShiftRight(Derefof(m604(2, 3, 10, 1)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x6b285142)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(Derefof(m604(2, 3, 10, 1)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xd650a284)
+
+ Store(ShiftRight(Derefof(m604(2, 3, 10, 1)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x6b285142)
+ }
+
+ ShiftRight(Derefof(m604(2, 3, 10, 1)), 0, Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ ShiftRight(Derefof(m604(2, 3, 10, 1)), 1, Local0)
+ m600(arg0, 13, Local0, 0x6b285142)
+
+ ShiftRight(Derefof(m604(2, 3, 10, 1)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xd650a284)
+
+ ShiftRight(Derefof(m604(2, 3, 10, 1)), aui6, Local0)
+ m600(arg0, 15, Local0, 0x6b285142)
+
+ if (y078) {
+ ShiftRight(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xd650a284)
+
+ ShiftRight(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x6b285142)
+ }
+
+ ShiftRight(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xd650a284)
+
+ ShiftRight(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x6b285142)
+
+ // Method returns Integer
+
+ ShiftRight(Derefof(m604(2, 3, 10, 1)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xd650a284)
+
+ ShiftRight(Derefof(m604(2, 3, 10, 1)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x6b285142)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(Derefof(m604(2, 3, 10, 1)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xd650a284)
+
+ ShiftRight(Derefof(m604(2, 3, 10, 1)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x6b285142)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftRight(0x321, Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftRight(0xd650a284, Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 25, Local0, 0x1aca14)
+
+ Store(ShiftRight(aui1, Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftRight(auik, Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 27, Local0, 0x1aca14)
+
+ if (y078) {
+ Store(ShiftRight(Derefof(Refof(aui1)), Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftRight(Derefof(Refof(auik)), Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 29, Local0, 0x1aca14)
+ }
+
+ Store(ShiftRight(Derefof(Index(paui, 1)), Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftRight(Derefof(Index(paui, 20)), Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 31, Local0, 0x1aca14)
+
+ // Method returns Integer
+
+ Store(ShiftRight(m601(1, 1), Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftRight(m601(1, 20), Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 33, Local0, 0x1aca14)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(Derefof(m602(1, 1, 1)), Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftRight(Derefof(m602(1, 20, 1)), Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 35, Local0, 0x1aca14)
+ }
+
+ ShiftRight(0x321, Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftRight(0xd650a284, Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 37, Local0, 0x1aca14)
+
+ ShiftRight(aui1, Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftRight(auik, Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 39, Local0, 0x1aca14)
+
+ if (y078) {
+ ShiftRight(Derefof(Refof(aui1)), Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftRight(Derefof(Refof(auik)), Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 41, Local0, 0x1aca14)
+ }
+
+ ShiftRight(Derefof(Index(paui, 1)), Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftRight(Derefof(Index(paui, 20)), Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 43, Local0, 0x1aca14)
+
+ // Method returns Integer
+
+ ShiftRight(m601(1, 1), Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftRight(m601(1, 20), Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 45, Local0, 0x1aca14)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(Derefof(m602(1, 1, 1)), Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftRight(Derefof(m602(1, 20, 1)), Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 47, Local0, 0x1aca14)
+ }
+
+ // Conversion of the both operands
+
+ Store(ShiftRight(Derefof(m604(2, 3, 6, 1)), Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 48, Local0, 0)
+
+ Store(ShiftRight(Derefof(m604(2, 3, 10, 1)), Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 49, Local0, 0x1aca14)
+
+ ShiftRight(Derefof(m604(2, 3, 6, 1)), Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 50, Local0, 0)
+
+ ShiftRight(Derefof(m604(2, 3, 10, 1)), Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 51, Local0, 0x1aca14)
+ }
+
+ // Subtract, common 32-bit/64-bit test
+ Method(m059, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Subtract(Derefof(m604(2, 3, 6, 1)), 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Subtract(Derefof(m604(2, 3, 6, 1)), 1), Local0)
+ m600(arg0, 1, Local0, 0x320)
+
+ Store(Subtract(Derefof(m604(2, 3, 6, 1)), aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Subtract(Derefof(m604(2, 3, 6, 1)), aui6), Local0)
+ m600(arg0, 3, Local0, 0x320)
+
+ if (y078) {
+ Store(Subtract(Derefof(m604(2, 3, 6, 1)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Subtract(Derefof(m604(2, 3, 6, 1)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x320)
+ }
+
+ Store(Subtract(Derefof(m604(2, 3, 6, 1)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Subtract(Derefof(m604(2, 3, 6, 1)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x320)
+
+ // Method returns Integer
+
+ Store(Subtract(Derefof(m604(2, 3, 6, 1)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Subtract(Derefof(m604(2, 3, 6, 1)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x320)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(Derefof(m604(2, 3, 6, 1)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Subtract(Derefof(m604(2, 3, 6, 1)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x320)
+ }
+
+ Subtract(Derefof(m604(2, 3, 6, 1)), 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Subtract(Derefof(m604(2, 3, 6, 1)), 1, Local0)
+ m600(arg0, 13, Local0, 0x320)
+
+ Subtract(Derefof(m604(2, 3, 6, 1)), aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Subtract(Derefof(m604(2, 3, 6, 1)), aui6, Local0)
+ m600(arg0, 15, Local0, 0x320)
+
+ if (y078) {
+ Subtract(Derefof(m604(2, 3, 6, 1)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Subtract(Derefof(m604(2, 3, 6, 1)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x320)
+ }
+
+ Subtract(Derefof(m604(2, 3, 6, 1)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Subtract(Derefof(m604(2, 3, 6, 1)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x320)
+
+ // Method returns Integer
+
+ Subtract(Derefof(m604(2, 3, 6, 1)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Subtract(Derefof(m604(2, 3, 6, 1)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x320)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(Derefof(m604(2, 3, 6, 1)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Subtract(Derefof(m604(2, 3, 6, 1)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x320)
+ }
+
+ // Conversion of the second operand
+
+ Store(Subtract(0, Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 24, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(1, Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 25, Local0, 0xfffffffffffffce0)
+
+ Store(Subtract(aui5, Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 26, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(aui6, Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 27, Local0, 0xfffffffffffffce0)
+
+ if (y078) {
+ Store(Subtract(Derefof(Refof(aui5)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 28, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(Derefof(Refof(aui6)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 29, Local0, 0xfffffffffffffce0)
+ }
+
+ Store(Subtract(Derefof(Index(paui, 5)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 30, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(Derefof(Index(paui, 6)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 31, Local0, 0xfffffffffffffce0)
+
+ // Method returns Integer
+
+ Store(Subtract(m601(1, 5), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 32, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(m601(1, 6), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 33, Local0, 0xfffffffffffffce0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(Derefof(m602(1, 5, 1)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 34, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(Derefof(m602(1, 6, 1)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 35, Local0, 0xfffffffffffffce0)
+ }
+
+ Subtract(0, Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 36, Local0, 0xfffffffffffffcdf)
+
+ Subtract(1, Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 37, Local0, 0xfffffffffffffce0)
+
+ Subtract(aui5, Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 38, Local0, 0xfffffffffffffcdf)
+
+ Subtract(aui6, Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 39, Local0, 0xfffffffffffffce0)
+
+ if (y078) {
+ Subtract(Derefof(Refof(aui5)), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 40, Local0, 0xfffffffffffffcdf)
+
+ Subtract(Derefof(Refof(aui6)), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 41, Local0, 0xfffffffffffffce0)
+ }
+
+ Subtract(Derefof(Index(paui, 5)), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 42, Local0, 0xfffffffffffffcdf)
+
+ Subtract(Derefof(Index(paui, 6)), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 43, Local0, 0xfffffffffffffce0)
+
+ // Method returns Integer
+
+ Subtract(m601(1, 5), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 44, Local0, 0xfffffffffffffcdf)
+
+ Subtract(m601(1, 6), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 45, Local0, 0xfffffffffffffce0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(Derefof(m602(1, 5, 1)), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 46, Local0, 0xfffffffffffffcdf)
+
+ Subtract(Derefof(m602(1, 6, 1)), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 47, Local0, 0xfffffffffffffce0)
+ }
+ }
+
+ // Subtract, 64-bit
+ Method(m05a, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Subtract(Derefof(m604(2, 3, 10, 1)), 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(Derefof(m604(2, 3, 10, 1)), 1), Local0)
+ m600(arg0, 1, Local0, 0xfe7cb391d650a283)
+
+ Store(Subtract(Derefof(m604(2, 3, 10, 1)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(Derefof(m604(2, 3, 10, 1)), aui6), Local0)
+ m600(arg0, 3, Local0, 0xfe7cb391d650a283)
+
+ if (y078) {
+ Store(Subtract(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xfe7cb391d650a283)
+ }
+
+ Store(Subtract(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Integer
+
+ Store(Subtract(Derefof(m604(2, 3, 10, 1)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(Derefof(m604(2, 3, 10, 1)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(Derefof(m604(2, 3, 10, 1)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(Derefof(m604(2, 3, 10, 1)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfe7cb391d650a283)
+ }
+
+ Subtract(Derefof(m604(2, 3, 10, 1)), 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Subtract(Derefof(m604(2, 3, 10, 1)), 1, Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a283)
+
+ Subtract(Derefof(m604(2, 3, 10, 1)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Subtract(Derefof(m604(2, 3, 10, 1)), aui6, Local0)
+ m600(arg0, 15, Local0, 0xfe7cb391d650a283)
+
+ if (y078) {
+ Subtract(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Subtract(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xfe7cb391d650a283)
+ }
+
+ Subtract(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Subtract(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Integer
+
+ Subtract(Derefof(m604(2, 3, 10, 1)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Subtract(Derefof(m604(2, 3, 10, 1)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(Derefof(m604(2, 3, 10, 1)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Subtract(Derefof(m604(2, 3, 10, 1)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfe7cb391d650a283)
+ }
+
+ // Conversion of the second operand
+
+ Store(Subtract(0, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 24, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(1, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 25, Local0, 0x01834c6e29af5d7d)
+
+ Store(Subtract(aui5, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 26, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(aui6, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 27, Local0, 0x01834c6e29af5d7d)
+
+ if (y078) {
+ Store(Subtract(Derefof(Refof(aui5)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 28, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(Derefof(Refof(aui6)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 29, Local0, 0x01834c6e29af5d7d)
+ }
+
+ Store(Subtract(Derefof(Index(paui, 5)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 30, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(Derefof(Index(paui, 6)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 31, Local0, 0x01834c6e29af5d7d)
+
+ // Method returns Integer
+
+ Store(Subtract(m601(1, 5), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 32, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(m601(1, 6), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 33, Local0, 0x01834c6e29af5d7d)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(Derefof(m602(1, 5, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 34, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(Derefof(m602(1, 6, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 35, Local0, 0x01834c6e29af5d7d)
+ }
+
+ Subtract(0, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 36, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(1, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 37, Local0, 0x01834c6e29af5d7d)
+
+ Subtract(aui5, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 38, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(aui6, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 39, Local0, 0x01834c6e29af5d7d)
+
+ if (y078) {
+ Subtract(Derefof(Refof(aui5)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 40, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(Derefof(Refof(aui6)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 41, Local0, 0x01834c6e29af5d7d)
+ }
+
+ Subtract(Derefof(Index(paui, 5)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 42, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(Derefof(Index(paui, 6)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 43, Local0, 0x01834c6e29af5d7d)
+
+ // Method returns Integer
+
+ Subtract(m601(1, 5), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 44, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(m601(1, 6), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 45, Local0, 0x01834c6e29af5d7d)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(Derefof(m602(1, 5, 1)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 46, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(Derefof(m602(1, 6, 1)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 47, Local0, 0x01834c6e29af5d7d)
+ }
+
+ // Conversion of the both operands
+
+ Store(Subtract(Derefof(m604(2, 3, 6, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 48, Local0, 0x01834c6e29af609d)
+
+ Store(Subtract(Derefof(m604(2, 3, 10, 1)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 49, Local0, 0xfe7cb391d6509f63)
+
+ Subtract(Derefof(m604(2, 3, 6, 1)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 50, Local0, 0x01834c6e29af609d)
+
+ Subtract(Derefof(m604(2, 3, 10, 1)), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 51, Local0, 0xfe7cb391d6509f63)
+ }
+
+ // Subtract, 32-bit
+ Method(m05b, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Subtract(Derefof(m604(2, 3, 10, 1)), 0), Local0)
+ m600(arg0, 0, Local0, 0xd650a284)
+
+ Store(Subtract(Derefof(m604(2, 3, 10, 1)), 1), Local0)
+ m600(arg0, 1, Local0, 0xd650a283)
+
+ Store(Subtract(Derefof(m604(2, 3, 10, 1)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xd650a284)
+
+ Store(Subtract(Derefof(m604(2, 3, 10, 1)), aui6), Local0)
+ m600(arg0, 3, Local0, 0xd650a283)
+
+ if (y078) {
+ Store(Subtract(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xd650a284)
+
+ Store(Subtract(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xd650a283)
+ }
+
+ Store(Subtract(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xd650a284)
+
+ Store(Subtract(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xd650a283)
+
+ // Method returns Integer
+
+ Store(Subtract(Derefof(m604(2, 3, 10, 1)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xd650a284)
+
+ Store(Subtract(Derefof(m604(2, 3, 10, 1)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xd650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(Derefof(m604(2, 3, 10, 1)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xd650a284)
+
+ Store(Subtract(Derefof(m604(2, 3, 10, 1)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xd650a283)
+ }
+
+ Subtract(Derefof(m604(2, 3, 10, 1)), 0, Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ Subtract(Derefof(m604(2, 3, 10, 1)), 1, Local0)
+ m600(arg0, 13, Local0, 0xd650a283)
+
+ Subtract(Derefof(m604(2, 3, 10, 1)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xd650a284)
+
+ Subtract(Derefof(m604(2, 3, 10, 1)), aui6, Local0)
+ m600(arg0, 15, Local0, 0xd650a283)
+
+ if (y078) {
+ Subtract(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xd650a284)
+
+ Subtract(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xd650a283)
+ }
+
+ Subtract(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xd650a284)
+
+ Subtract(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xd650a283)
+
+ // Method returns Integer
+
+ Subtract(Derefof(m604(2, 3, 10, 1)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xd650a284)
+
+ Subtract(Derefof(m604(2, 3, 10, 1)), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xd650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(Derefof(m604(2, 3, 10, 1)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xd650a284)
+
+ Subtract(Derefof(m604(2, 3, 10, 1)), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xd650a283)
+ }
+
+ // Conversion of the second operand
+
+ Store(Subtract(0, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 24, Local0, 0x29af5d7c)
+
+ Store(Subtract(1, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 25, Local0, 0x29af5d7d)
+
+ Store(Subtract(aui5, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 26, Local0, 0x29af5d7c)
+
+ Store(Subtract(aui6, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 27, Local0, 0x29af5d7d)
+
+ if (y078) {
+ Store(Subtract(Derefof(Refof(aui5)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 28, Local0, 0x29af5d7c)
+
+ Store(Subtract(Derefof(Refof(aui6)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 29, Local0, 0x29af5d7d)
+ }
+
+ Store(Subtract(Derefof(Index(paui, 5)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 30, Local0, 0x29af5d7c)
+
+ Store(Subtract(Derefof(Index(paui, 6)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 31, Local0, 0x29af5d7d)
+
+ // Method returns Integer
+
+ Store(Subtract(m601(1, 5), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 32, Local0, 0x29af5d7c)
+
+ Store(Subtract(m601(1, 6), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 33, Local0, 0x29af5d7d)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(Derefof(m602(1, 5, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 34, Local0, 0x29af5d7c)
+
+ Store(Subtract(Derefof(m602(1, 6, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 35, Local0, 0x29af5d7d)
+ }
+
+ Subtract(0, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 36, Local0, 0x29af5d7c)
+
+ Subtract(1, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 37, Local0, 0x29af5d7d)
+
+ Subtract(aui5, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 38, Local0, 0x29af5d7c)
+
+ Subtract(aui6, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 39, Local0, 0x29af5d7d)
+
+ if (y078) {
+ Subtract(Derefof(Refof(aui5)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 40, Local0, 0x29af5d7c)
+
+ Subtract(Derefof(Refof(aui6)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 41, Local0, 0x29af5d7d)
+ }
+
+ Subtract(Derefof(Index(paui, 5)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 42, Local0, 0x29af5d7c)
+
+ Subtract(Derefof(Index(paui, 6)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 43, Local0, 0x29af5d7d)
+
+ // Method returns Integer
+
+ Subtract(m601(1, 5), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 44, Local0, 0x29af5d7c)
+
+ Subtract(m601(1, 6), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 45, Local0, 0x29af5d7d)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(Derefof(m602(1, 5, 1)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 46, Local0, 0x29af5d7c)
+
+ Subtract(Derefof(m602(1, 6, 1)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 47, Local0, 0x29af5d7d)
+ }
+
+ // Conversion of the both operands
+
+ Store(Subtract(Derefof(m604(2, 3, 6, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 48, Local0, 0x29af609d)
+
+ Store(Subtract(Derefof(m604(2, 3, 10, 1)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 49, Local0, 0xd6509f63)
+
+ Subtract(Derefof(m604(2, 3, 6, 1)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 50, Local0, 0x29af609d)
+
+ Subtract(Derefof(m604(2, 3, 10, 1)), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 51, Local0, 0xd6509f63)
+ }
+
+ // XOr, common 32-bit/64-bit test
+ Method(m05c, 1)
+ {
+ // Conversion of the first operand
+
+ Store(XOr(Derefof(m604(2, 3, 6, 1)), 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(XOr(Derefof(m604(2, 3, 6, 1)), 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xfffffffffffffcde)
+
+ Store(XOr(Derefof(m604(2, 3, 6, 1)), aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(XOr(Derefof(m604(2, 3, 6, 1)), auij), Local0)
+ m600(arg0, 3, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ Store(XOr(Derefof(m604(2, 3, 6, 1)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(XOr(Derefof(m604(2, 3, 6, 1)), Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xfffffffffffffcde)
+ }
+
+ Store(XOr(Derefof(m604(2, 3, 6, 1)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(XOr(Derefof(m604(2, 3, 6, 1)), Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ Store(XOr(Derefof(m604(2, 3, 6, 1)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(XOr(Derefof(m604(2, 3, 6, 1)), m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(Derefof(m604(2, 3, 6, 1)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(XOr(Derefof(m604(2, 3, 6, 1)), Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfffffffffffffcde)
+ }
+
+ XOr(Derefof(m604(2, 3, 6, 1)), 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ XOr(Derefof(m604(2, 3, 6, 1)), 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xfffffffffffffcde)
+
+ XOr(Derefof(m604(2, 3, 6, 1)), aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ XOr(Derefof(m604(2, 3, 6, 1)), auij, Local0)
+ m600(arg0, 15, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ XOr(Derefof(m604(2, 3, 6, 1)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ XOr(Derefof(m604(2, 3, 6, 1)), Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xfffffffffffffcde)
+ }
+
+ XOr(Derefof(m604(2, 3, 6, 1)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ XOr(Derefof(m604(2, 3, 6, 1)), Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ XOr(Derefof(m604(2, 3, 6, 1)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ XOr(Derefof(m604(2, 3, 6, 1)), m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(Derefof(m604(2, 3, 6, 1)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ XOr(Derefof(m604(2, 3, 6, 1)), Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfffffffffffffcde)
+ }
+
+ // Conversion of the second operand
+
+ Store(XOr(0, Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 24, Local0, 0x321)
+
+ Store(XOr(0xffffffffffffffff, Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 25, Local0, 0xfffffffffffffcde)
+
+ Store(XOr(aui5, Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 26, Local0, 0x321)
+
+ Store(XOr(auij, Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 27, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ Store(XOr(Derefof(Refof(aui5)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 28, Local0, 0x321)
+
+ Store(XOr(Derefof(Refof(auij)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 29, Local0, 0xfffffffffffffcde)
+ }
+
+ Store(XOr(Derefof(Index(paui, 5)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 30, Local0, 0x321)
+
+ Store(XOr(Derefof(Index(paui, 19)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 31, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ Store(XOr(m601(1, 5), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 32, Local0, 0x321)
+
+ Store(XOr(m601(1, 19), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 33, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(Derefof(m602(1, 5, 1)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 34, Local0, 0x321)
+
+ Store(XOr(Derefof(m602(1, 19, 1)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 35, Local0, 0xfffffffffffffcde)
+ }
+
+ XOr(0, Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 36, Local0, 0x321)
+
+ XOr(0xffffffffffffffff, Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 37, Local0, 0xfffffffffffffcde)
+
+ XOr(aui5, Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 38, Local0, 0x321)
+
+ XOr(auij, Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 39, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ XOr(Derefof(Refof(aui5)), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 40, Local0, 0x321)
+
+ XOr(Derefof(Refof(auij)), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 41, Local0, 0xfffffffffffffcde)
+ }
+
+ XOr(Derefof(Index(paui, 5)), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 42, Local0, 0x321)
+
+ XOr(Derefof(Index(paui, 19)), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 43, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ XOr(m601(1, 5), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 44, Local0, 0x321)
+
+ XOr(m601(1, 19), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 45, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(Derefof(m602(1, 5, 1)), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 46, Local0, 0x321)
+
+ XOr(Derefof(m602(1, 19, 1)), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 47, Local0, 0xfffffffffffffcde)
+ }
+ }
+
+ // XOr, 64-bit
+ Method(m05d, 1)
+ {
+ // Conversion of the first operand
+
+ Store(XOr(Derefof(m604(2, 3, 10, 1)), 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(m604(2, 3, 10, 1)), 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0x01834c6e29af5d7b)
+
+ Store(XOr(Derefof(m604(2, 3, 10, 1)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(m604(2, 3, 10, 1)), auij), Local0)
+ m600(arg0, 3, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ Store(XOr(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Store(XOr(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ Store(XOr(Derefof(m604(2, 3, 10, 1)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(m604(2, 3, 10, 1)), m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(Derefof(m604(2, 3, 10, 1)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(m604(2, 3, 10, 1)), Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0x01834c6e29af5d7b)
+ }
+
+ XOr(Derefof(m604(2, 3, 10, 1)), 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(m604(2, 3, 10, 1)), 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0x01834c6e29af5d7b)
+
+ XOr(Derefof(m604(2, 3, 10, 1)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(m604(2, 3, 10, 1)), auij, Local0)
+ m600(arg0, 15, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ XOr(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0x01834c6e29af5d7b)
+ }
+
+ XOr(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ XOr(Derefof(m604(2, 3, 10, 1)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(m604(2, 3, 10, 1)), m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(Derefof(m604(2, 3, 10, 1)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(m604(2, 3, 10, 1)), Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0x01834c6e29af5d7b)
+ }
+
+ // Conversion of the second operand
+
+ Store(XOr(0, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 24, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(0xffffffffffffffff, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 25, Local0, 0x01834c6e29af5d7b)
+
+ Store(XOr(aui5, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 26, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(auij, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 27, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ Store(XOr(Derefof(Refof(aui5)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 28, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(Refof(auij)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 29, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Store(XOr(Derefof(Index(paui, 5)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 30, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(Index(paui, 19)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 31, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ Store(XOr(m601(1, 5), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 32, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(m601(1, 19), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 33, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(Derefof(m602(1, 5, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 34, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(m602(1, 19, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 35, Local0, 0x01834c6e29af5d7b)
+ }
+
+ XOr(0, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 36, Local0, 0xfe7cb391d650a284)
+
+ XOr(0xffffffffffffffff, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 37, Local0, 0x01834c6e29af5d7b)
+
+ XOr(aui5, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 38, Local0, 0xfe7cb391d650a284)
+
+ XOr(auij, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 39, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ XOr(Derefof(Refof(aui5)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 40, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(Refof(auij)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 41, Local0, 0x01834c6e29af5d7b)
+ }
+
+ XOr(Derefof(Index(paui, 5)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 42, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(Index(paui, 19)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 43, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ XOr(m601(1, 5), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 44, Local0, 0xfe7cb391d650a284)
+
+ XOr(m601(1, 19), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 45, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(Derefof(m602(1, 5, 1)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 46, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(m602(1, 19, 1)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 47, Local0, 0x01834c6e29af5d7b)
+ }
+
+ // Conversion of the both operands
+
+ Store(XOr(Derefof(m604(2, 3, 6, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 48, Local0, 0xfe7cb391d650a1a5)
+
+ Store(XOr(Derefof(m604(2, 3, 10, 1)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 49, Local0, 0xfe7cb391d650a1a5)
+
+ XOr(Derefof(m604(2, 3, 6, 1)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 50, Local0, 0xfe7cb391d650a1a5)
+
+ XOr(Derefof(m604(2, 3, 10, 1)), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 51, Local0, 0xfe7cb391d650a1a5)
+ }
+
+ // XOr, 32-bit
+ Method(m05e, 1)
+ {
+ // Conversion of the first operand
+
+ Store(XOr(Derefof(m604(2, 3, 10, 1)), 0), Local0)
+ m600(arg0, 0, Local0, 0xd650a284)
+
+ Store(XOr(Derefof(m604(2, 3, 10, 1)), 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0x29af5d7b)
+
+ Store(XOr(Derefof(m604(2, 3, 10, 1)), aui5), Local0)
+ m600(arg0, 2, Local0, 0xd650a284)
+
+ Store(XOr(Derefof(m604(2, 3, 10, 1)), auii), Local0)
+ m600(arg0, 3, Local0, 0x29af5d7b)
+
+ if (y078) {
+ Store(XOr(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xd650a284)
+
+ Store(XOr(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0x29af5d7b)
+ }
+
+ Store(XOr(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xd650a284)
+
+ Store(XOr(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0x29af5d7b)
+
+ // Method returns Integer
+
+ Store(XOr(Derefof(m604(2, 3, 10, 1)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xd650a284)
+
+ Store(XOr(Derefof(m604(2, 3, 10, 1)), m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0x29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(Derefof(m604(2, 3, 10, 1)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xd650a284)
+
+ Store(XOr(Derefof(m604(2, 3, 10, 1)), Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0x29af5d7b)
+ }
+
+ XOr(Derefof(m604(2, 3, 10, 1)), 0, Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ XOr(Derefof(m604(2, 3, 10, 1)), 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0x29af5d7b)
+
+ XOr(Derefof(m604(2, 3, 10, 1)), aui5, Local0)
+ m600(arg0, 14, Local0, 0xd650a284)
+
+ XOr(Derefof(m604(2, 3, 10, 1)), auii, Local0)
+ m600(arg0, 15, Local0, 0x29af5d7b)
+
+ if (y078) {
+ XOr(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xd650a284)
+
+ XOr(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0x29af5d7b)
+ }
+
+ XOr(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xd650a284)
+
+ XOr(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0x29af5d7b)
+
+ // Method returns Integer
+
+ XOr(Derefof(m604(2, 3, 10, 1)), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xd650a284)
+
+ XOr(Derefof(m604(2, 3, 10, 1)), m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0x29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(Derefof(m604(2, 3, 10, 1)), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xd650a284)
+
+ XOr(Derefof(m604(2, 3, 10, 1)), Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0x29af5d7b)
+ }
+
+ // Conversion of the second operand
+
+ Store(XOr(0, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 24, Local0, 0xd650a284)
+
+ Store(XOr(0xffffffff, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 25, Local0, 0x29af5d7b)
+
+ Store(XOr(aui5, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 26, Local0, 0xd650a284)
+
+ Store(XOr(auii, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 27, Local0, 0x29af5d7b)
+
+ if (y078) {
+ Store(XOr(Derefof(Refof(aui5)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 28, Local0, 0xd650a284)
+
+ Store(XOr(Derefof(Refof(auii)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 29, Local0, 0x29af5d7b)
+ }
+
+ Store(XOr(Derefof(Index(paui, 5)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 30, Local0, 0xd650a284)
+
+ Store(XOr(Derefof(Index(paui, 18)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 31, Local0, 0x29af5d7b)
+
+ // Method returns Integer
+
+ Store(XOr(m601(1, 5), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 32, Local0, 0xd650a284)
+
+ Store(XOr(m601(1, 18), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 33, Local0, 0x29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(Derefof(m602(1, 5, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 34, Local0, 0xd650a284)
+
+ Store(XOr(Derefof(m602(1, 18, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 35, Local0, 0x29af5d7b)
+ }
+
+ XOr(0, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 36, Local0, 0xd650a284)
+
+ XOr(0xffffffff, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 37, Local0, 0x29af5d7b)
+
+ XOr(aui5, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 38, Local0, 0xd650a284)
+
+ XOr(auii, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 39, Local0, 0x29af5d7b)
+
+ if (y078) {
+ XOr(Derefof(Refof(aui5)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 40, Local0, 0xd650a284)
+
+ XOr(Derefof(Refof(auii)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 41, Local0, 0x29af5d7b)
+ }
+
+ XOr(Derefof(Index(paui, 5)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 42, Local0, 0xd650a284)
+
+ XOr(Derefof(Index(paui, 18)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 43, Local0, 0x29af5d7b)
+
+ // Method returns Integer
+
+ XOr(m601(1, 5), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 44, Local0, 0xd650a284)
+
+ XOr(m601(1, 18), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 45, Local0, 0x29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(Derefof(m602(1, 5, 1)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 46, Local0, 0xd650a284)
+
+ XOr(Derefof(m602(1, 18, 1)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 47, Local0, 0x29af5d7b)
+ }
+
+ // Conversion of the both operands
+
+ Store(XOr(Derefof(m604(2, 3, 6, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 48, Local0, 0xd650a1a5)
+
+ Store(XOr(Derefof(m604(2, 3, 10, 1)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 49, Local0, 0xd650a1a5)
+
+ XOr(Derefof(m604(2, 3, 6, 1)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 50, Local0, 0xd650a1a5)
+
+ XOr(Derefof(m604(2, 3, 10, 1)), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 51, Local0, 0xd650a1a5)
+ }
+
+ // Add, And, Divide, Mod, Multiply, NAnd, NOr, Or,
+ // ShiftLeft, ShiftRight, Subtract, Xor
+
+ Method(m64n, 1)
+ {
+ // Add
+ Concatenate(arg0, "-m03b", Local0)
+ SRMT(Local0)
+ m03b(Local0)
+ Concatenate(arg0, "-m03c", Local0)
+ SRMT(Local0)
+ m03c(Local0)
+
+ // And
+ Concatenate(arg0, "-m03e", Local0)
+ SRMT(Local0)
+ m03e(Local0)
+ Concatenate(arg0, "-m03f", Local0)
+ SRMT(Local0)
+ m03f(Local0)
+
+ // Divide
+ Concatenate(arg0, "-m041", Local0)
+ SRMT(Local0)
+ m041(Local0)
+ Concatenate(arg0, "-m042", Local0)
+ SRMT(Local0)
+ m042(Local0)
+
+ // Mod
+ Concatenate(arg0, "-m044", Local0)
+ SRMT(Local0)
+ m044(Local0)
+ Concatenate(arg0, "-m045", Local0)
+ SRMT(Local0)
+ m045(Local0)
+
+ // Multiply
+ Concatenate(arg0, "-m047", Local0)
+ SRMT(Local0)
+ m047(Local0)
+ Concatenate(arg0, "-m048", Local0)
+ SRMT(Local0)
+ m048(Local0)
+
+ // NAnd
+ Concatenate(arg0, "-m04a", Local0)
+ SRMT(Local0)
+ m04a(Local0)
+ Concatenate(arg0, "-m04b", Local0)
+ SRMT(Local0)
+ m04b(Local0)
+
+ // NOr
+ Concatenate(arg0, "-m04d", Local0)
+ SRMT(Local0)
+ m04d(Local0)
+ Concatenate(arg0, "-m04e", Local0)
+ SRMT(Local0)
+ m04e(Local0)
+
+ // Or
+ Concatenate(arg0, "-m050", Local0)
+ SRMT(Local0)
+ m050(Local0)
+ Concatenate(arg0, "-m051", Local0)
+ SRMT(Local0)
+ m051(Local0)
+
+ // ShiftLeft
+ Concatenate(arg0, "-m053", Local0)
+ SRMT(Local0)
+ m053(Local0)
+ Concatenate(arg0, "-m054", Local0)
+ SRMT(Local0)
+ m054(Local0)
+
+ // ShiftRight
+ Concatenate(arg0, "-m056", Local0)
+ SRMT(Local0)
+ m056(Local0)
+ Concatenate(arg0, "-m057", Local0)
+ SRMT(Local0)
+ m057(Local0)
+
+ // Subtract
+ Concatenate(arg0, "-m059", Local0)
+ SRMT(Local0)
+ m059(Local0)
+ Concatenate(arg0, "-m05a", Local0)
+ SRMT(Local0)
+ m05a(Local0)
+
+ // XOr
+ Concatenate(arg0, "-m05c", Local0)
+ SRMT(Local0)
+ m05c(Local0)
+ Concatenate(arg0, "-m05d", Local0)
+ SRMT(Local0)
+ m05d(Local0)
+ }
+
+ Method(m32n, 1)
+ {
+ // Add
+ Concatenate(arg0, "-m03b", Local0)
+ SRMT(Local0)
+ m03b(Local0)
+ Concatenate(arg0, "-m03d", Local0)
+ SRMT(Local0)
+ m03d(Local0)
+
+ // And
+ Concatenate(arg0, "-m03e", Local0)
+ SRMT(Local0)
+ m03e(Local0)
+ Concatenate(arg0, "-m040", Local0)
+ SRMT(Local0)
+ m040(Local0)
+
+ // Divide
+ Concatenate(arg0, "-m041", Local0)
+ SRMT(Local0)
+ m041(Local0)
+ Concatenate(arg0, "-m043", Local0)
+ SRMT(Local0)
+ m043(Local0)
+
+ // Mod
+ Concatenate(arg0, "-m044", Local0)
+ SRMT(Local0)
+ m044(Local0)
+ Concatenate(arg0, "-m046", Local0)
+ SRMT(Local0)
+ m046(Local0)
+
+ // Multiply
+ Concatenate(arg0, "-m047", Local0)
+ SRMT(Local0)
+ m047(Local0)
+ Concatenate(arg0, "-m049", Local0)
+ SRMT(Local0)
+ m049(Local0)
+
+ // NAnd
+ Concatenate(arg0, "-m04a", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m04a(Local0)
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m04c", Local0)
+ SRMT(Local0)
+ m04c(Local0)
+
+ // NOr
+ Concatenate(arg0, "-m04d", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m04d(Local0)
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m04f", Local0)
+ SRMT(Local0)
+ m04f(Local0)
+
+ // Or
+ Concatenate(arg0, "-m050", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m050(Local0)
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m052", Local0)
+ SRMT(Local0)
+ m052(Local0)
+
+ // ShiftLeft
+ Concatenate(arg0, "-m053", Local0)
+ SRMT(Local0)
+ m053(Local0)
+ Concatenate(arg0, "-m055", Local0)
+ SRMT(Local0)
+ m055(Local0)
+
+ // ShiftRight
+ Concatenate(arg0, "-m056", Local0)
+ SRMT(Local0)
+ m056(Local0)
+ Concatenate(arg0, "-m058", Local0)
+ SRMT(Local0)
+ m058(Local0)
+
+ // Subtract
+ Concatenate(arg0, "-m059", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m059(Local0)
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m05b", Local0)
+ SRMT(Local0)
+ m05b(Local0)
+
+ // XOr
+ Concatenate(arg0, "-m05c", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m05c(Local0)
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m05e", Local0)
+ SRMT(Local0)
+ m05e(Local0)
+ }
+
+
+ // Buffer to Integer conversion of each Buffer operand
+ // of the 2-parameter Logical Integer operators LAnd and LOr
+
+ // LAnd, common 32-bit/64-bit test
+ Method(m05f, 1)
+ {
+ // Conversion of the first operand
+
+ Store(LAnd(Derefof(m604(2, 3, 6, 1)), 0), Local0)
+ m600(arg0, 0, Local0, Zero)
+
+ Store(LAnd(Derefof(m604(2, 3, 6, 1)), 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(LAnd(Derefof(m604(2, 3, 6, 1)), aui5), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LAnd(Derefof(m604(2, 3, 6, 1)), aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(Derefof(m604(2, 3, 6, 1)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LAnd(Derefof(m604(2, 3, 6, 1)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(LAnd(Derefof(m604(2, 3, 6, 1)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Zero)
+
+ Store(LAnd(Derefof(m604(2, 3, 6, 1)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(Derefof(m604(2, 3, 6, 1)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Zero)
+
+ Store(LAnd(Derefof(m604(2, 3, 6, 1)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(Derefof(m604(2, 3, 6, 1)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LAnd(Derefof(m604(2, 3, 6, 1)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(LAnd(0, Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LAnd(1, Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LAnd(aui5, Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LAnd(aui6, Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(Derefof(Refof(aui5)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(aui6)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(LAnd(Derefof(Index(paui, 5)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LAnd(Derefof(Index(paui, 6)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(m601(1, 5), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LAnd(m601(1, 6), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(Derefof(m602(1, 5, 1)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LAnd(Derefof(m602(1, 6, 1)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+ }
+
+ // LAnd, 64-bit
+ Method(m060, 1)
+ {
+ // Conversion of the first operand
+
+ Store(LAnd(Derefof(m604(2, 3, 10, 1)), 0), Local0)
+ m600(arg0, 0, Local0, Zero)
+
+ Store(LAnd(Derefof(m604(2, 3, 10, 1)), 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(LAnd(Derefof(m604(2, 3, 10, 1)), aui5), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LAnd(Derefof(m604(2, 3, 10, 1)), aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LAnd(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(LAnd(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Zero)
+
+ Store(LAnd(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(Derefof(m604(2, 3, 10, 1)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Zero)
+
+ Store(LAnd(Derefof(m604(2, 3, 10, 1)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(Derefof(m604(2, 3, 10, 1)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LAnd(Derefof(m604(2, 3, 10, 1)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(LAnd(0, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LAnd(1, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LAnd(aui5, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LAnd(aui6, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(Derefof(Refof(aui5)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(aui6)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(LAnd(Derefof(Index(paui, 5)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LAnd(Derefof(Index(paui, 6)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(m601(1, 5), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LAnd(m601(1, 6), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(Derefof(m602(1, 5, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LAnd(Derefof(m602(1, 6, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+
+ // Conversion of the both operands
+
+ Store(LAnd(Derefof(m604(2, 3, 6, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 24, Local0, Ones)
+
+ Store(LAnd(Derefof(m604(2, 3, 10, 1)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // LAnd, 32-bit
+ Method(m061, 1)
+ {
+ // Conversion of the first operand
+
+ Store(LAnd(Derefof(m604(2, 3, 10, 1)), 0), Local0)
+ m600(arg0, 0, Local0, Zero)
+
+ Store(LAnd(Derefof(m604(2, 3, 10, 1)), 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(LAnd(Derefof(m604(2, 3, 10, 1)), aui5), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LAnd(Derefof(m604(2, 3, 10, 1)), aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LAnd(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(LAnd(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Zero)
+
+ Store(LAnd(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(Derefof(m604(2, 3, 10, 1)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Zero)
+
+ Store(LAnd(Derefof(m604(2, 3, 10, 1)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(Derefof(m604(2, 3, 10, 1)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LAnd(Derefof(m604(2, 3, 10, 1)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(LAnd(0, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LAnd(1, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LAnd(aui5, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LAnd(aui6, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(Derefof(Refof(aui5)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(aui6)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(LAnd(Derefof(Index(paui, 5)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LAnd(Derefof(Index(paui, 6)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(m601(1, 5), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LAnd(m601(1, 6), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(Derefof(m602(1, 5, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LAnd(Derefof(m602(1, 6, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+
+ // Conversion of the both operands
+
+ Store(LAnd(Derefof(m604(2, 3, 6, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 24, Local0, Ones)
+
+ Store(LAnd(Derefof(m604(2, 3, 10, 1)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // Lor, common 32-bit/64-bit test
+ Method(m062, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Lor(Derefof(m604(2, 3, 0, 1)), 0), Local0)
+ m600(arg0, 0, Local0, Zero)
+
+ Store(Lor(Derefof(m604(2, 3, 0, 1)), 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(Lor(Derefof(m604(2, 3, 0, 1)), aui5), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(Lor(Derefof(m604(2, 3, 0, 1)), aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(Derefof(m604(2, 3, 0, 1)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(Lor(Derefof(m604(2, 3, 0, 1)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(Lor(Derefof(m604(2, 3, 0, 1)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Zero)
+
+ Store(Lor(Derefof(m604(2, 3, 0, 1)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(Derefof(m604(2, 3, 0, 1)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Zero)
+
+ Store(Lor(Derefof(m604(2, 3, 0, 1)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(Derefof(m604(2, 3, 0, 1)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(Lor(Derefof(m604(2, 3, 0, 1)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(Lor(0, Derefof(m604(2, 3, 0, 1))), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(Lor(1, Derefof(m604(2, 3, 0, 1))), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(Lor(aui5, Derefof(m604(2, 3, 0, 1))), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(Lor(aui6, Derefof(m604(2, 3, 0, 1))), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(Derefof(Refof(aui5)), Derefof(m604(2, 3, 0, 1))), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(Lor(Derefof(Refof(aui6)), Derefof(m604(2, 3, 0, 1))), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(Lor(Derefof(Index(paui, 5)), Derefof(m604(2, 3, 0, 1))), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(Lor(Derefof(Index(paui, 6)), Derefof(m604(2, 3, 0, 1))), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(m601(1, 5), Derefof(m604(2, 3, 0, 1))), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(Lor(m601(1, 6), Derefof(m604(2, 3, 0, 1))), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(Derefof(m602(1, 5, 1)), Derefof(m604(2, 3, 0, 1))), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(Lor(Derefof(m602(1, 6, 1)), Derefof(m604(2, 3, 0, 1))), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+ }
+
+ // Lor, 64-bit
+ Method(m063, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Lor(Derefof(m604(2, 3, 10, 1)), 0), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(Lor(Derefof(m604(2, 3, 10, 1)), 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(Lor(Derefof(m604(2, 3, 10, 1)), aui5), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(Lor(Derefof(m604(2, 3, 10, 1)), aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(Lor(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(Lor(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(Lor(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(Derefof(m604(2, 3, 10, 1)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(Lor(Derefof(m604(2, 3, 10, 1)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(Derefof(m604(2, 3, 10, 1)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(Lor(Derefof(m604(2, 3, 10, 1)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(Lor(0, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(Lor(1, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(Lor(aui5, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 14, Local0, Ones)
+
+ Store(Lor(aui6, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(Derefof(Refof(aui5)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 16, Local0, Ones)
+
+ Store(Lor(Derefof(Refof(aui6)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(Lor(Derefof(Index(paui, 5)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 18, Local0, Ones)
+
+ Store(Lor(Derefof(Index(paui, 6)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(m601(1, 5), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 20, Local0, Ones)
+
+ Store(Lor(m601(1, 6), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(Derefof(m602(1, 5, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(Lor(Derefof(m602(1, 6, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+
+ // Conversion of the both operands
+
+ Store(Lor(Derefof(m604(2, 3, 0, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 24, Local0, Ones)
+
+ Store(Lor(Derefof(m604(2, 3, 10, 1)), Derefof(m604(2, 3, 0, 1))), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // Lor, 32-bit
+ Method(m064, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Lor(Derefof(m604(2, 3, 10, 1)), 0), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(Lor(Derefof(m604(2, 3, 10, 1)), 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(Lor(Derefof(m604(2, 3, 10, 1)), aui5), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(Lor(Derefof(m604(2, 3, 10, 1)), aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(Lor(Derefof(m604(2, 3, 10, 1)), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(Lor(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(Lor(Derefof(m604(2, 3, 10, 1)), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(Derefof(m604(2, 3, 10, 1)), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(Lor(Derefof(m604(2, 3, 10, 1)), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(Derefof(m604(2, 3, 10, 1)), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(Lor(Derefof(m604(2, 3, 10, 1)), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(Lor(0, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(Lor(1, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(Lor(aui5, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 14, Local0, Ones)
+
+ Store(Lor(aui6, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(Derefof(Refof(aui5)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 16, Local0, Ones)
+
+ Store(Lor(Derefof(Refof(aui6)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(Lor(Derefof(Index(paui, 5)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 18, Local0, Ones)
+
+ Store(Lor(Derefof(Index(paui, 6)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(m601(1, 5), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 20, Local0, Ones)
+
+ Store(Lor(m601(1, 6), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(Derefof(m602(1, 5, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(Lor(Derefof(m602(1, 6, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+
+ // Conversion of the both operands
+
+ Store(Lor(Derefof(m604(2, 3, 0, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 24, Local0, Ones)
+
+ Store(Lor(Derefof(m604(2, 3, 10, 1)), Derefof(m604(2, 3, 0, 1))), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ Method(m64o, 1)
+ {
+ // LAnd
+ Concatenate(arg0, "-m05f", Local0)
+ SRMT(Local0)
+ m05f(Local0)
+ Concatenate(arg0, "-m060", Local0)
+ SRMT(Local0)
+ m060(Local0)
+
+ // LOr
+ Concatenate(arg0, "-m062", Local0)
+ SRMT(Local0)
+ m062(Local0)
+ Concatenate(arg0, "-m063", Local0)
+ SRMT(Local0)
+ m063(Local0)
+ }
+
+ Method(m32o, 1)
+ {
+ // LAnd
+ Concatenate(arg0, "-m05f", Local0)
+ SRMT(Local0)
+ m05f(Local0)
+ Concatenate(arg0, "-m061", Local0)
+ SRMT(Local0)
+ m061(Local0)
+
+ // LOr
+ Concatenate(arg0, "-m062", Local0)
+ SRMT(Local0)
+ m062(Local0)
+ Concatenate(arg0, "-m064", Local0)
+ SRMT(Local0)
+ m064(Local0)
+ }
+
+
+ // Buffer to Integer conversion of the Buffer second operand of
+ // Logical operators when the first operand is evaluated as Integer
+ // (LEqual, LGreater, LGreaterEqual, LLess, LLessEqual, LNotEqual)
+
+ Method(m64p, 1)
+ {
+ // LEqual
+
+ Store(LEqual(0xfe7cb391d650a284, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual(0xfe7cb391d650a285, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(0xfe7cb391d650a283, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LEqual(aui4, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ Store(LEqual(auid, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LEqual(auif, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 5, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aui4)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(auid)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ Store(LEqual(Derefof(Refof(auif)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 8, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paui, 4)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paui, 13)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LEqual(Derefof(Index(paui, 15)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 11, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LEqual(m601(1, 4), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(LEqual(m601(1, 13), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 13, Local0, Zero)
+
+ Store(LEqual(m601(1, 15), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(1, 4, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(1, 13, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LEqual(Derefof(m602(1, 15, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 17, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater(0xfe7cb391d650a284, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(0xfe7cb391d650a285, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ Store(LGreater(0xfe7cb391d650a283, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(aui4, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 21, Local0, Zero)
+
+ Store(LGreater(auid, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(LGreater(auif, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 23, Local0, Zero)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aui4)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(auid)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 25, Local0, Ones)
+
+ Store(LGreater(Derefof(Refof(auif)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 26, Local0, Zero)
+ }
+
+ Store(LGreater(Derefof(Index(paui, 4)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 27, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paui, 13)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 28, Local0, Ones)
+
+ Store(LGreater(Derefof(Index(paui, 15)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 29, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreater(m601(1, 4), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 30, Local0, Zero)
+
+ Store(LGreater(m601(1, 13), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ Store(LGreater(m601(1, 15), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 32, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(1, 4, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 33, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(1, 13, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreater(Derefof(m602(1, 15, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 35, Local0, Zero)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual(0xfe7cb391d650a284, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(0xfe7cb391d650a285, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ Store(LGreaterEqual(0xfe7cb391d650a283, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 38, Local0, Zero)
+
+ Store(LGreaterEqual(aui4, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 39, Local0, Ones)
+
+ Store(LGreaterEqual(auid, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 40, Local0, Ones)
+
+ Store(LGreaterEqual(auif, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aui4)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auid)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 43, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auif)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 44, Local0, Zero)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paui, 4)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 45, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 13)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 46, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 15)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 47, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreaterEqual(m601(1, 4), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 48, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 13), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 49, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 15), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(1, 4, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 51, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 13, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 52, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 15, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLess
+
+ Store(LLess(0xfe7cb391d650a284, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 54, Local0, Zero)
+
+ Store(LLess(0xfe7cb391d650a285, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLess(0xfe7cb391d650a283, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLess(aui4, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLess(auid, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 58, Local0, Zero)
+
+ Store(LLess(auif, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 59, Local0, Ones)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aui4)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 60, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auid)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 61, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auif)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 62, Local0, Ones)
+ }
+
+ Store(LLess(Derefof(Index(paui, 4)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 13)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 64, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 15)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 65, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLess(m601(1, 4), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 66, Local0, Zero)
+
+ Store(LLess(m601(1, 13), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 67, Local0, Zero)
+
+ Store(LLess(m601(1, 15), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 68, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLess(Derefof(m602(1, 4, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 69, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 13, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 70, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 15, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 71, Local0, Ones)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual(0xfe7cb391d650a284, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 72, Local0, Ones)
+
+ Store(LLessEqual(0xfe7cb391d650a285, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 73, Local0, Zero)
+
+ Store(LLessEqual(0xfe7cb391d650a283, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 74, Local0, Ones)
+
+ Store(LLessEqual(aui4, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 75, Local0, Ones)
+
+ Store(LLessEqual(auid, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LLessEqual(auif, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aui4)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 78, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(auid)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 79, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Refof(auif)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 80, Local0, Ones)
+ }
+
+ Store(LLessEqual(Derefof(Index(paui, 4)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 81, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paui, 13)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 82, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Index(paui, 15)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 83, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLessEqual(m601(1, 4), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 84, Local0, Ones)
+
+ Store(LLessEqual(m601(1, 13), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 85, Local0, Zero)
+
+ Store(LLessEqual(m601(1, 15), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 86, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(1, 4, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 87, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(1, 13, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 88, Local0, Zero)
+
+ Store(LLessEqual(Derefof(m602(1, 15, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 89, Local0, Ones)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual(0xfe7cb391d650a284, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 90, Local0, Zero)
+
+ Store(LNotEqual(0xfe7cb391d650a285, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 91, Local0, Ones)
+
+ Store(LNotEqual(0xfe7cb391d650a283, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 92, Local0, Ones)
+
+ Store(LNotEqual(aui4, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 93, Local0, Zero)
+
+ Store(LNotEqual(auid, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 94, Local0, Ones)
+
+ Store(LNotEqual(auif, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 95, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aui4)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 96, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(auid)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 97, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Refof(auif)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 98, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paui, 4)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 99, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paui, 13)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 100, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Index(paui, 15)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 101, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LNotEqual(m601(1, 4), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 102, Local0, Zero)
+
+ Store(LNotEqual(m601(1, 13), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 103, Local0, Ones)
+
+ Store(LNotEqual(m601(1, 15), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 104, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(1, 4, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 105, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(1, 13, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 106, Local0, Ones)
+
+ Store(LNotEqual(Derefof(m602(1, 15, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 107, Local0, Ones)
+ }
+ }
+
+ Method(m32p, 1)
+ {
+ // LEqual
+
+ Store(LEqual(0xd650a284, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual(0xd650a285, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(0xd650a283, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LEqual(auik, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ Store(LEqual(auil, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LEqual(auim, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 5, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(auik)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(auil)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ Store(LEqual(Derefof(Refof(auim)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 8, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paui, 20)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paui, 21)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LEqual(Derefof(Index(paui, 22)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 11, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LEqual(m601(1, 20), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(LEqual(m601(1, 21), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 13, Local0, Zero)
+
+ Store(LEqual(m601(1, 22), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(1, 20, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LEqual(Derefof(m601(1, 21, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LEqual(Derefof(m601(1, 22, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 17, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater(0xd650a284, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(0xd650a285, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ Store(LGreater(0xd650a283, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(auik, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 21, Local0, Zero)
+
+ Store(LGreater(auil, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(LGreater(auim, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 23, Local0, Zero)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(auik)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(auil)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 25, Local0, Ones)
+
+ Store(LGreater(Derefof(Refof(auim)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 26, Local0, Zero)
+ }
+
+ Store(LGreater(Derefof(Index(paui, 20)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 27, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paui, 21)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 28, Local0, Ones)
+
+ Store(LGreater(Derefof(Index(paui, 22)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 29, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreater(m601(1, 20), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 30, Local0, Zero)
+
+ Store(LGreater(m601(1, 21), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ Store(LGreater(m601(1, 22), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 32, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(1, 20, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 33, Local0, Zero)
+
+ Store(LGreater(Derefof(m601(1, 21, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreater(Derefof(m601(1, 22, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 35, Local0, Zero)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual(0xd650a284, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(0xd650a285, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ Store(LGreaterEqual(0xd650a283, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 38, Local0, Zero)
+
+ Store(LGreaterEqual(auik, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 39, Local0, Ones)
+
+ Store(LGreaterEqual(auil, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 40, Local0, Ones)
+
+ Store(LGreaterEqual(auim, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(auik)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auil)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 43, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auim)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 44, Local0, Zero)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paui, 20)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 45, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 21)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 46, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 22)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 47, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreaterEqual(m601(1, 20), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 48, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 21), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 49, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 22), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(1, 20, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 51, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m601(1, 21, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 52, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m601(1, 22, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLess
+
+ Store(LLess(0xd650a284, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 54, Local0, Zero)
+
+ Store(LLess(0xd650a285, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLess(0xd650a283, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLess(auik, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLess(auil, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 58, Local0, Zero)
+
+ Store(LLess(auim, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 59, Local0, Ones)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(auik)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 60, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auil)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 61, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auim)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 62, Local0, Ones)
+ }
+
+ Store(LLess(Derefof(Index(paui, 20)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 21)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 64, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 22)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 65, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLess(m601(1, 20), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 66, Local0, Zero)
+
+ Store(LLess(m601(1, 21), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 67, Local0, Zero)
+
+ Store(LLess(m601(1, 22), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 68, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLess(Derefof(m602(1, 20, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 69, Local0, Zero)
+
+ Store(LLess(Derefof(m601(1, 21, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 70, Local0, Zero)
+
+ Store(LLess(Derefof(m601(1, 22, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 71, Local0, Ones)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual(0xd650a284, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 72, Local0, Ones)
+
+ Store(LLessEqual(0xd650a285, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 73, Local0, Zero)
+
+ Store(LLessEqual(0xd650a283, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 74, Local0, Ones)
+
+ Store(LLessEqual(auik, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 75, Local0, Ones)
+
+ Store(LLessEqual(auil, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LLessEqual(auim, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(auik)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 78, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(auil)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 79, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Refof(auim)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 80, Local0, Ones)
+ }
+
+ Store(LLessEqual(Derefof(Index(paui, 20)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 81, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paui, 21)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 82, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Index(paui, 22)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 83, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLessEqual(m601(1, 20), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 84, Local0, Ones)
+
+ Store(LLessEqual(m601(1, 21), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 85, Local0, Zero)
+
+ Store(LLessEqual(m601(1, 22), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 86, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(1, 20, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 87, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m601(1, 21, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 88, Local0, Zero)
+
+ Store(LLessEqual(Derefof(m601(1, 22, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 89, Local0, Ones)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual(0xd650a284, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 90, Local0, Zero)
+
+ Store(LNotEqual(0xd650a285, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 91, Local0, Ones)
+
+ Store(LNotEqual(0xd650a283, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 92, Local0, Ones)
+
+ Store(LNotEqual(auik, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 93, Local0, Zero)
+
+ Store(LNotEqual(auil, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 94, Local0, Ones)
+
+ Store(LNotEqual(auim, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 95, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(auik)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 96, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(auil)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 97, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Refof(auim)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 98, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paui, 20)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 99, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paui, 21)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 100, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Index(paui, 22)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 101, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LNotEqual(m601(1, 20), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 102, Local0, Zero)
+
+ Store(LNotEqual(m601(1, 21), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 103, Local0, Ones)
+
+ Store(LNotEqual(m601(1, 22), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 104, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(1, 20, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 105, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m601(1, 21, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 106, Local0, Ones)
+
+ Store(LNotEqual(Derefof(m601(1, 22, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 107, Local0, Ones)
+ }
+ }
+
+ Method(m065, 1)
+ {
+ // LEqual
+
+ Store(LEqual(0x321, Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual(0x322, Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(0x320, Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LEqual(aui1, Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ Store(LEqual(auig, Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LEqual(auih, Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 5, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aui1)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(auig)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ Store(LEqual(Derefof(Refof(auih)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 8, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paui, 1)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paui, 16)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LEqual(Derefof(Index(paui, 17)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LEqual(m601(1, 1), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(LEqual(m601(1, 16), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 13, Local0, Zero)
+
+ Store(LEqual(m601(1, 17), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(1, 1, 1)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(1, 16, 1)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LEqual(Derefof(m602(1, 17, 1)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 17, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater(0x321, Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(0x322, Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ Store(LGreater(0x320, Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(aui1, Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 21, Local0, Zero)
+
+ Store(LGreater(auig, Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(LGreater(auih, Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 23, Local0, Zero)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aui1)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(auig)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 25, Local0, Ones)
+
+ Store(LGreater(Derefof(Refof(auih)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 26, Local0, Zero)
+ }
+
+ Store(LGreater(Derefof(Index(paui, 1)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 27, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paui, 16)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 28, Local0, Ones)
+
+ Store(LGreater(Derefof(Index(paui, 17)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 29, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreater(m601(1, 1), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 30, Local0, Zero)
+
+ Store(LGreater(m601(1, 16), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ Store(LGreater(m601(1, 17), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 32, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(1, 1, 1)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 33, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(1, 16, 1)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreater(Derefof(m602(1, 17, 1)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 35, Local0, Zero)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual(0x321, Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(0x322, Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ Store(LGreaterEqual(0x320, Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 38, Local0, Zero)
+
+ Store(LGreaterEqual(aui1, Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 39, Local0, Ones)
+
+ Store(LGreaterEqual(auig, Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 40, Local0, Ones)
+
+ Store(LGreaterEqual(auih, Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aui1)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auig)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 43, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auih)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 44, Local0, Zero)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paui, 1)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 45, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 16)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 46, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 17)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 47, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreaterEqual(m601(1, 1), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 48, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 16), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 49, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 17), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(1, 1, 1)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 51, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 16, 1)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 52, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 17, 1)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLess
+
+ Store(LLess(0x321, Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 54, Local0, Zero)
+
+ Store(LLess(0x322, Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLess(0x320, Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLess(aui1, Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLess(auig, Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 58, Local0, Zero)
+
+ Store(LLess(auih, Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 59, Local0, Ones)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aui1)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 60, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auig)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 61, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auih)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 62, Local0, Ones)
+ }
+
+ Store(LLess(Derefof(Index(paui, 1)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 16)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 64, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 17)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 65, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLess(m601(1, 1), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 66, Local0, Zero)
+
+ Store(LLess(m601(1, 16), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 67, Local0, Zero)
+
+ Store(LLess(m601(1, 17), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 68, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLess(Derefof(m602(1, 1, 1)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 69, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 16, 1)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 70, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 17, 1)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 71, Local0, Ones)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual(0x321, Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 72, Local0, Ones)
+
+ Store(LLessEqual(0x322, Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 73, Local0, Zero)
+
+ Store(LLessEqual(0x320, Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 74, Local0, Ones)
+
+ Store(LLessEqual(aui1, Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 75, Local0, Ones)
+
+ Store(LLessEqual(auig, Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LLessEqual(auih, Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aui1)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 78, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(auig)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 79, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Refof(auih)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 80, Local0, Ones)
+ }
+
+ Store(LLessEqual(Derefof(Index(paui, 1)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 81, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paui, 16)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 82, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Index(paui, 17)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 83, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLessEqual(m601(1, 1), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 84, Local0, Ones)
+
+ Store(LLessEqual(m601(1, 16), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 85, Local0, Zero)
+
+ Store(LLessEqual(m601(1, 17), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 86, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(1, 1, 1)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 87, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(1, 16, 1)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 88, Local0, Zero)
+
+ Store(LLessEqual(Derefof(m602(1, 17, 1)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 89, Local0, Ones)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual(0x321, Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 90, Local0, Zero)
+
+ Store(LNotEqual(0x322, Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 91, Local0, Ones)
+
+ Store(LNotEqual(0x320, Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 92, Local0, Ones)
+
+ Store(LNotEqual(aui1, Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 93, Local0, Zero)
+
+ Store(LNotEqual(auig, Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 94, Local0, Ones)
+
+ Store(LNotEqual(auih, Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 95, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aui1)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 96, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(auig)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 97, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Refof(auih)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 98, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paui, 1)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 99, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paui, 16)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 100, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Index(paui, 17)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 101, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LNotEqual(m601(1, 1), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 102, Local0, Zero)
+
+ Store(LNotEqual(m601(1, 16), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 103, Local0, Ones)
+
+ Store(LNotEqual(m601(1, 17), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 104, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(1, 1, 1)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 105, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(1, 16, 1)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 106, Local0, Ones)
+
+ Store(LNotEqual(Derefof(m602(1, 17, 1)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 107, Local0, Ones)
+ }
+ }
+
+ // Buffer to Integer intermediate conversion of the Buffer second
+ // operand of Concatenate operator in case the first one is Integer
+
+ Method(m64q, 1)
+ {
+ Store(Concatenate(0x321, Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 0, Local0, bb26)
+
+ Store(Concatenate(0x321, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 1, Local0, bb21)
+
+
+ Store(Concatenate(aui1, Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 2, Local0, bb26)
+
+ Store(Concatenate(aui1, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 3, Local0, bb21)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aui1)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 4, Local0, bb26)
+
+ Store(Concatenate(Derefof(Refof(aui1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 5, Local0, bb21)
+ }
+
+ Store(Concatenate(Derefof(Index(paui, 1)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 6, Local0, bb26)
+
+ Store(Concatenate(Derefof(Index(paui, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 7, Local0, bb21)
+
+ // Method returns Integer
+
+ Store(Concatenate(m601(1, 1), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 8, Local0, bb26)
+
+ Store(Concatenate(m601(1, 1), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 9, Local0, bb21)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(1, 1, 1)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 10, Local0, bb26)
+
+ Store(Concatenate(Derefof(m602(1, 1, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 11, Local0, bb21)
+ }
+
+ Concatenate(0x321, Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 12, Local0, bb26)
+
+ Concatenate(0x321, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 13, Local0, bb21)
+
+
+ Concatenate(aui1, Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 14, Local0, bb26)
+
+ Concatenate(aui1, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 15, Local0, bb21)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aui1)), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 16, Local0, bb26)
+
+ Concatenate(Derefof(Refof(aui1)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 17, Local0, bb21)
+ }
+
+ Concatenate(Derefof(Index(paui, 1)), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 18, Local0, bb26)
+
+ Concatenate(Derefof(Index(paui, 1)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 19, Local0, bb21)
+
+ // Method returns Integer
+
+ Concatenate(m601(1, 1), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 20, Local0, bb26)
+
+ Concatenate(m601(1, 1), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 21, Local0, bb21)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Concatenate(Derefof(m602(1, 1, 1)), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 22, Local0, bb26)
+
+ Concatenate(Derefof(m602(1, 1, 1)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 23, Local0, bb21)
+ }
+ }
+
+ Method(m32q, 1)
+ {
+ Store(Concatenate(0x321, Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 0, Local0, bb27)
+
+ Store(Concatenate(0x321, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 1, Local0, bb28)
+
+
+ Store(Concatenate(aui1, Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 2, Local0, bb27)
+
+ Store(Concatenate(aui1, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 3, Local0, bb28)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aui1)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 4, Local0, bb27)
+
+ Store(Concatenate(Derefof(Refof(aui1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 5, Local0, bb28)
+ }
+
+ Store(Concatenate(Derefof(Index(paui, 1)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 6, Local0, bb27)
+
+ Store(Concatenate(Derefof(Index(paui, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 7, Local0, bb28)
+
+ // Method returns Integer
+
+ Store(Concatenate(m601(1, 1), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 8, Local0, bb27)
+
+ Store(Concatenate(m601(1, 1), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 9, Local0, bb28)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(1, 1, 1)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 10, Local0, bb27)
+
+ Store(Concatenate(Derefof(m602(1, 1, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 11, Local0, bb28)
+ }
+
+ Concatenate(0x321, Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 12, Local0, bb27)
+
+ Concatenate(0x321, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 13, Local0, bb28)
+
+
+ Concatenate(aui1, Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 14, Local0, bb27)
+
+ Concatenate(aui1, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 15, Local0, bb28)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aui1)), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 16, Local0, bb27)
+
+ Concatenate(Derefof(Refof(aui1)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 17, Local0, bb28)
+ }
+
+ Concatenate(Derefof(Index(paui, 1)), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 18, Local0, bb27)
+
+ Concatenate(Derefof(Index(paui, 1)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 20, Local0, bb28)
+
+ // Method returns Integer
+
+ Concatenate(m601(1, 1), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 21, Local0, bb27)
+
+ Concatenate(m601(1, 1), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 22, Local0, bb28)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Concatenate(Derefof(m602(1, 1, 1)), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 23, Local0, bb27)
+
+ Concatenate(Derefof(m602(1, 1, 1)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 24, Local0, bb28)
+ }
+ }
+
+ // Buffer to Integer conversion of the Buffer Length (second)
+ // operand of the ToString operator
+
+ // Common 32-bit/64-bit test
+ Method(m066, 1)
+ {
+ Store(ToString(Buffer() {"This is auxiliary Buffer"},
+ Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 0, Local0, bs1b)
+
+ Store(ToString(Buffer() {"This is auxiliary Buffer"},
+ Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 1, Local0, bs1c)
+
+ Store(ToString(aub6, Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 2, Local0, bs1b)
+
+ Store(ToString(aub6, Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 3, Local0, bs1c)
+
+ if (y078) {
+ Store(ToString(Derefof(Refof(aub6)), Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 4, Local0, bs1b)
+
+ Store(ToString(Derefof(Refof(aub6)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 5, Local0, bs1c)
+ }
+
+ Store(ToString(Derefof(Index(paub, 6)), Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 6, Local0, bs1b)
+
+ Store(ToString(Derefof(Index(paub, 6)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 7, Local0, bs1c)
+
+ // Method returns Buffer
+
+ Store(ToString(m601(3, 6), Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 8, Local0, bs1b)
+
+ Store(ToString(m601(3, 6), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 9, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(ToString(Derefof(m602(3, 6, 1)), Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 10, Local0, bs1b)
+
+ Store(ToString(Derefof(m602(3, 6, 1)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 11, Local0, bs1c)
+ }
+
+ ToString(Buffer() {"This is auxiliary Buffer"},
+ Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 12, Local0, bs1b)
+
+ ToString(Buffer() {"This is auxiliary Buffer"},
+ Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 13, Local0, bs1c)
+
+ ToString(aub6, Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 14, Local0, bs1b)
+
+ ToString(aub6, Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 15, Local0, bs1c)
+
+ if (y078) {
+ ToString(Derefof(Refof(aub6)), Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 16, Local0, bs1b)
+
+ ToString(Derefof(Refof(aub6)), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 17, Local0, bs1c)
+ }
+
+ ToString(Derefof(Index(paub, 6)), Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 18, Local0, bs1b)
+
+ ToString(Derefof(Index(paub, 6)), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 19, Local0, bs1c)
+
+ // Method returns Buffer
+
+ ToString(m601(3, 6), Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 20, Local0, bs1b)
+
+ ToString(m601(3, 6), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 21, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ ToString(Derefof(m602(3, 6, 1)), Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 22, Local0, bs1b)
+
+ ToString(Derefof(m602(3, 6, 1)), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 23, Local0, bs1c)
+ }
+ }
+
+ Method(m64r, 1)
+ {
+ Store(ToString(Buffer() {"This is auxiliary Buffer"},
+ Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 0, Local0, bs1c)
+
+ Store(ToString(aub6, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 1, Local0, bs1c)
+
+ if (y078) {
+ Store(ToString(Derefof(Refof(aub6)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 2, Local0, bs1c)
+ }
+
+ Store(ToString(Derefof(Index(paub, 6)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 3, Local0, bs1c)
+
+ // Method returns Buffer
+
+ Store(ToString(m601(3, 6), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 4, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(ToString(Derefof(m602(3, 6, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 5, Local0, bs1c)
+ }
+
+ ToString(Buffer() {"This is auxiliary Buffer"},
+ Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 6, Local0, bs1c)
+
+ ToString(aub6, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 7, Local0, bs1c)
+
+ if (y078) {
+ ToString(Derefof(Refof(aub6)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 8, Local0, bs1c)
+ }
+
+ ToString(Derefof(Index(paub, 6)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 9, Local0, bs1c)
+
+ // Method returns Buffer
+
+ ToString(m601(3, 6), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 10, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ ToString(Derefof(m602(3, 6, 1)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 11, Local0, bs1c)
+ }
+ }
+
+ Method(m32r, 1)
+ {
+ Store(ToString(Buffer() {"This is auxiliary Buffer"},
+ Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 0, Local0, bs1c)
+
+ Store(ToString(aub6, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 1, Local0, bs1c)
+
+ if (y078) {
+ Store(ToString(Derefof(Refof(aub6)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 2, Local0, bs1c)
+ }
+
+ Store(ToString(Derefof(Index(paub, 6)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 3, Local0, bs1c)
+
+ // Method returns Buffer
+
+ Store(ToString(m601(3, 6), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 4, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(ToString(Derefof(m602(3, 6, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 5, Local0, bs1c)
+ }
+
+ ToString(Buffer() {"This is auxiliary Buffer"},
+ Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 6, Local0, bs1c)
+
+ ToString(aub6, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 7, Local0, bs1c)
+
+ if (y078) {
+ ToString(Derefof(Refof(aub6)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 8, Local0, bs1c)
+ }
+
+ ToString(Derefof(Index(paub, 6)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 9, Local0, bs1c)
+
+ // Method returns Buffer
+
+ ToString(m601(3, 6), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 10, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ ToString(Derefof(m602(3, 6, 1)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 11, Local0, bs1c)
+ }
+ }
+
+ // Buffer to Integer conversion of the Buffer Index (second)
+ // operand of the Index operator
+ Method(m067, 1)
+ {
+ Store(Index(aus6, Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 0, Derefof(Local0), bi10)
+
+ Store(Index(aub6, Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 1, Derefof(Local0), bi10)
+
+ Store(Index(aup0, Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 2, Derefof(Local0), bi11)
+
+ if (y078) {
+ Store(Index(Derefof(Refof(aus6)), Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 3, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Refof(aub6)), Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 4, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Refof(aup0)), Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 5, Derefof(Local0), bi11)
+ }
+
+ Store(Index(Derefof(Index(paus, 6)), Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 6, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Index(paub, 6)), Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 7, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Index(paup, 0)), Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 8, Derefof(Local0), bi11)
+
+
+ // Method returns Object
+
+ if (y900) {
+ Store(Index(m601(2, 6), Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 9, Derefof(Local0), bi10)
+
+ Store(Index(m601(3, 6), Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 10, Derefof(Local0), bi10)
+
+ Store(Index(m601(4, 0), Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 11, Derefof(Local0), bi11)
+ } else {
+
+ CH03(arg0, z119, 0, 0, 0)
+
+ Index(m601(2, 6), Derefof(m604(2, 3, 14, 1)))
+ CH04(arg0, 0, 85, z119, 9, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+
+ Index(m601(3, 6), Derefof(m604(2, 3, 14, 1)))
+ CH04(arg0, 0, 85, z119, 10, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+
+ Index(m601(4, 0), Derefof(m604(2, 3, 14, 1)))
+ CH04(arg0, 0, 85, z119, 11, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+ }
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Index(Derefof(m602(2, 6, 1)), Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 12, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(m602(3, 6, 1)), Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 13, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(m602(4, 0, 1)), Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 14, Derefof(Local0), bi11)
+ }
+
+ Index(aus6, Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 15, Derefof(Local0), bi10)
+
+ Index(aub6, Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 16, Derefof(Local0), bi10)
+
+ Index(aup0, Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 17, Derefof(Local0), bi11)
+
+ if (y078) {
+ Index(Derefof(Refof(aus6)), Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 18, Derefof(Local0), bi10)
+
+ Index(Derefof(Refof(aub6)), Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 19, Derefof(Local0), bi10)
+
+ Index(Derefof(Refof(aup0)), Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 20, Derefof(Local0), bi11)
+ }
+
+ Index(Derefof(Index(paus, 6)), Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 21, Derefof(Local0), bi10)
+
+ Index(Derefof(Index(paub, 6)), Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 22, Derefof(Local0), bi10)
+
+ Index(Derefof(Index(paup, 0)), Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 23, Derefof(Local0), bi11)
+
+
+ // Method returns Object
+
+ if (y900) {
+ Index(m601(2, 6), Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 24, Derefof(Local0), bi10)
+
+ Index(m601(3, 6), Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 25, Derefof(Local0), bi10)
+
+ Index(m601(4, 0), Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 26, Derefof(Local0), bi11)
+ } else {
+
+ CH03(arg0, z119, 0, 0, 0)
+
+ Index(m601(2, 6), Derefof(m604(2, 3, 14, 1)), Local0)
+ CH04(arg0, 0, 85, z119, 24, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+
+ Index(m601(3, 6), Derefof(m604(2, 3, 14, 1)), Local0)
+ CH04(arg0, 0, 85, z119, 25, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+
+ Index(m601(4, 0), Derefof(m604(2, 3, 14, 1)), Local0)
+ CH04(arg0, 0, 85, z119, 26, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+ }
+
+ // Method returns Reference
+
+ if (y500) {
+ Index(Derefof(m602(2, 6, 1)), Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 27, Derefof(Local0), bi10)
+
+ Index(Derefof(m602(3, 6, 1)), Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 28, Derefof(Local0), bi10)
+
+ Index(Derefof(m602(4, 0, 1)), Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 29, Derefof(Local0), bi11)
+ }
+
+ if (y098) {
+ Store(Index(aus6, Derefof(m604(2, 3, 14, 1)), Local1), Local0)
+ m600(arg0, 30, Derefof(Local0), bi10)
+
+ Store(Index(aub6, Derefof(m604(2, 3, 14, 1)), Local1), Local0)
+ m600(arg0, 31, Derefof(Local0), bi10)
+
+ Store(Index(aup0, Derefof(m604(2, 3, 14, 1)), Local1), Local0)
+ m600(arg0, 32, Derefof(Local0), bi11)
+ }
+
+ if (y078) {
+ Store(Index(Derefof(Refof(aus6)), Derefof(m604(2, 3, 14, 1)), Local1), Local0)
+ m600(arg0, 33, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Refof(aub6)), Derefof(m604(2, 3, 14, 1)), Local1), Local0)
+ m600(arg0, 34, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Refof(aup0)), Derefof(m604(2, 3, 14, 1)), Local1), Local0)
+ m600(arg0, 35, Derefof(Local0), bi11)
+ }
+
+ if (y098) {
+ Store(Index(Derefof(Index(paus, 6)), Derefof(m604(2, 3, 14, 1)), Local1), Local0)
+ m600(arg0, 36, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Index(paub, 6)), Derefof(m604(2, 3, 14, 1)), Local1), Local0)
+ m600(arg0, 37, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Index(paup, 0)), Derefof(m604(2, 3, 14, 1)), Local1), Local0)
+ m600(arg0, 38, Derefof(Local0), bi11)
+ }
+
+ // Method returns Object
+
+ if (LAnd(y900, y098)) {
+ Store(Index(m601(2, 6), Derefof(m604(2, 3, 14, 1)), Local1), Local0)
+ m600(arg0, 39, Derefof(Local0), bi10)
+
+ Store(Index(m601(3, 6), Derefof(m604(2, 3, 14, 1)), Local1), Local0)
+ m600(arg0, 40, Derefof(Local0), bi10)
+
+ Store(Index(m601(4, 0), Derefof(m604(2, 3, 14, 1)), Local1), Local0)
+ m600(arg0, 41, Derefof(Local0), bi11)
+ }
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Index(Derefof(m602(2, 6, 1)), Derefof(m604(2, 3, 14, 1)), Local1), Local0)
+ m600(arg0, 42, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(m602(3, 6, 1)), Derefof(m604(2, 3, 14, 1)), Local1), Local0)
+ m600(arg0, 43, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(m602(4, 0, 1)), Derefof(m604(2, 3, 14, 1)), Local1), Local0)
+ m600(arg0, 44, Derefof(Local0), bi11)
+ }
+ }
+
+ // Buffer to Integer conversion of the String Arg (third)
+ // operand of the Fatal operator
+ // (it can only be checked an exception does not occur)
+ Method(m068, 1)
+ {
+ CH03(arg0, z119, 9, 0, 0)
+ Fatal(0xff, 0xffffffff, Derefof(m604(2, 3, 6, 1)))
+ if (F64) {
+ Fatal(0xff, 0xffffffff, Derefof(m604(2, 3, 10, 1)))
+ } else {
+ Fatal(0xff, 0xffffffff, Derefof(m604(2, 3, 10, 1)))
+ }
+ CH03(arg0, z119, 10, 0, 0)
+ }
+
+ // Buffer to Integer conversion of the Buffer Index and Length
+ // operands of the Mid operator
+
+ // Common 32-bit/64-bit test
+ Method(m069, 1)
+ {
+ // String to Integer conversion of the String Index operand
+
+ Store(Mid("This is auxiliary String", Derefof(m604(2, 3, 14, 1)), 10), Local0)
+ m600(arg0, 0, Local0, bs1d)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, Derefof(m604(2, 3, 14, 1)), 10), Local0)
+ m600(arg0, 1, Local0, bb32)
+
+ Store(Mid(aus6, Derefof(m604(2, 3, 14, 1)), 10), Local0)
+ m600(arg0, 2, Local0, bs1d)
+
+ Store(Mid(aub6, Derefof(m604(2, 3, 14, 1)), 10), Local0)
+ m600(arg0, 3, Local0, bb32)
+
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), Derefof(m604(2, 3, 14, 1)), 10), Local0)
+ m600(arg0, 4, Local0, bs1d)
+
+ Store(Mid(Derefof(Refof(aub6)), Derefof(m604(2, 3, 14, 1)), 10), Local0)
+ m600(arg0, 5, Local0, bb32)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), Derefof(m604(2, 3, 14, 1)), 10), Local0)
+ m600(arg0, 6, Local0, bs1d)
+
+ Store(Mid(Derefof(Index(paub, 6)), Derefof(m604(2, 3, 14, 1)), 10), Local0)
+ m600(arg0, 7, Local0, bb32)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), Derefof(m604(2, 3, 14, 1)), 10), Local0)
+ m600(arg0, 8, Local0, bs1d)
+
+ Store(Mid(m601(3, 6), Derefof(m604(2, 3, 14, 1)), 10), Local0)
+ m600(arg0, 9, Local0, bb32)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), Derefof(m604(2, 3, 14, 1)), 10), Local0)
+ m600(arg0, 10, Local0, bs1d)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), Derefof(m604(2, 3, 14, 1)), 10), Local0)
+ m600(arg0, 11, Local0, bb32)
+ }
+
+ Mid("This is auxiliary String", Derefof(m604(2, 3, 14, 1)), 10, Local0)
+ m600(arg0, 12, Local0, bs1d)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, Derefof(m604(2, 3, 14, 1)), 10, Local0)
+ m600(arg0, 13, Local0, bb32)
+
+ Mid(aus6, Derefof(m604(2, 3, 14, 1)), 10, Local0)
+ m600(arg0, 14, Local0, bs1d)
+
+ Mid(aub6, Derefof(m604(2, 3, 14, 1)), 10, Local0)
+ m600(arg0, 15, Local0, bb32)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), Derefof(m604(2, 3, 14, 1)), 10, Local0)
+ m600(arg0, 16, Local0, bs1d)
+
+ Mid(Derefof(Refof(aub6)), Derefof(m604(2, 3, 14, 1)), 10, Local0)
+ m600(arg0, 17, Local0, bb32)
+ }
+
+ Mid(Derefof(Index(paus, 6)), Derefof(m604(2, 3, 14, 1)), 10, Local0)
+ m600(arg0, 18, Local0, bs1d)
+
+ Mid(Derefof(Index(paub, 6)), Derefof(m604(2, 3, 14, 1)), 10, Local0)
+ m600(arg0, 19, Local0, bb32)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), Derefof(m604(2, 3, 14, 1)), 10, Local0)
+ m600(arg0, 20, Local0, bs1d)
+
+ Mid(m601(3, 6), Derefof(m604(2, 3, 14, 1)), 10, Local0)
+ m600(arg0, 21, Local0, bb32)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), Derefof(m604(2, 3, 14, 1)), 10, Local0)
+ m600(arg0, 22, Local0, bs1d)
+
+ Mid(Derefof(m602(3, 6, 1)), Derefof(m604(2, 3, 14, 1)), 10, Local0)
+ m600(arg0, 23, Local0, bb32)
+ }
+
+ // String to Integer conversion of the String Length operand
+
+ Store(Mid("This is auxiliary String", 0, Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 24, Local0, bs1b)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, 0, Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 25, Local0, bb33)
+
+ Store(Mid(aus6, 0, Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 26, Local0, bs1b)
+
+ Store(Mid(aub6, 0, Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 27, Local0, bb33)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), 0, Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 28, Local0, bs1b)
+
+ Store(Mid(Derefof(Refof(aub6)), 0, Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 29, Local0, bb33)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), 0, Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 30, Local0, bs1b)
+
+ Store(Mid(Derefof(Index(paub, 6)), 0, Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 31, Local0, bb33)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), 0, Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 32, Local0, bs1b)
+
+ Store(Mid(m601(3, 6), 0, Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 33, Local0, bb33)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), 0, Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 34, Local0, bs1b)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), 0, Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 35, Local0, bb33)
+ }
+
+ Mid("This is auxiliary String", 0, Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 36, Local0, bs1b)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, 0, Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 37, Local0, bb33)
+
+ Mid(aus6, 0, Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 37, Local0, bs1b)
+
+ Mid(aub6, 0, Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 39, Local0, bb33)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), 0, Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 40, Local0, bs1b)
+
+ Mid(Derefof(Refof(aub6)), 0, Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 41, Local0, bb33)
+ }
+
+ Mid(Derefof(Index(paus, 6)), 0, Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 42, Local0, bs1b)
+
+ Mid(Derefof(Index(paub, 6)), 0, Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 43, Local0, bb33)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), 0, Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 44, Local0, bs1b)
+
+ Mid(m601(3, 6), 0, Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 45, Local0, bb33)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), 0, Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 46, Local0, bs1b)
+
+ Mid(Derefof(m602(3, 6, 1)), 0, Derefof(m604(2, 3, 14, 1)), Local0)
+ m600(arg0, 47, Local0, bb33)
+ }
+ }
+
+ Method(m64s, 1)
+ {
+ // String to Integer conversion of the String Length operand
+
+ Store(Mid("This is auxiliary String", 0, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 0, Local0, bs1e)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, 0, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 1, Local0, bb34)
+
+ Store(Mid(aus6, 0, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 2, Local0, bs1e)
+
+ Store(Mid(aub6, 0, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 3, Local0, bb34)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), 0, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 4, Local0, bs1e)
+
+ Store(Mid(Derefof(Refof(aub6)), 0, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 5, Local0, bb34)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), 0, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 6, Local0, bs1e)
+
+ Store(Mid(Derefof(Index(paub, 6)), 0, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 7, Local0, bb34)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), 0, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 8, Local0, bs1e)
+
+ Store(Mid(m601(3, 6), 0, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 9, Local0, bb34)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), 0, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 10, Local0, bs1e)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), 0, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 11, Local0, bb34)
+ }
+
+ Mid("This is auxiliary String", 0, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 12, Local0, bs1e)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, 0, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 13, Local0, bb34)
+
+ Mid(aus6, 0, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 14, Local0, bs1e)
+
+ Mid(aub6, 0, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 15, Local0, bb34)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), 0, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 16, Local0, bs1e)
+
+ Mid(Derefof(Refof(aub6)), 0, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 17, Local0, bb34)
+ }
+
+ Mid(Derefof(Index(paus, 6)), 0, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 18, Local0, bs1e)
+
+ Mid(Derefof(Index(paub, 6)), 0, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 19, Local0, bb34)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), 0, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 20, Local0, bs1e)
+
+ Mid(m601(3, 6), 0, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 21, Local0, bb34)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), 0, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 22, Local0, bs1e)
+
+ Mid(Derefof(m602(3, 6, 1)), 0, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 23, Local0, bb34)
+ }
+
+ // String to Integer conversion of the both String operands
+
+ Store(Mid("This is auxiliary String", Derefof(m604(2, 3, 14, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 24, Local0, bs1f)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, Derefof(m604(2, 3, 14, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 25, Local0, bb35)
+
+ Store(Mid(aus6, Derefof(m604(2, 3, 14, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 26, Local0, bs1f)
+
+ Store(Mid(aub6, Derefof(m604(2, 3, 14, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 27, Local0, bb35)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), Derefof(m604(2, 3, 14, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 28, Local0, bs1f)
+
+ Store(Mid(Derefof(Refof(aub6)), Derefof(m604(2, 3, 14, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 29, Local0, bb35)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), Derefof(m604(2, 3, 14, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 30, Local0, bs1f)
+
+ Store(Mid(Derefof(Index(paub, 6)), Derefof(m604(2, 3, 14, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 31, Local0, bb35)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), Derefof(m604(2, 3, 14, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 32, Local0, bs1f)
+
+ Store(Mid(m601(3, 6), Derefof(m604(2, 3, 14, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 33, Local0, bb35)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), Derefof(m604(2, 3, 14, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 34, Local0, bs1f)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), Derefof(m604(2, 3, 14, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 35, Local0, bb35)
+ }
+
+ Mid("This is auxiliary String", Derefof(m604(2, 3, 14, 1)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 36, Local0, bs1f)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, Derefof(m604(2, 3, 14, 1)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 37, Local0, bb35)
+
+ Mid(aus6, Derefof(m604(2, 3, 14, 1)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 38, Local0, bs1f)
+
+ Mid(aub6, Derefof(m604(2, 3, 14, 1)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 39, Local0, bb35)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), Derefof(m604(2, 3, 14, 1)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 40, Local0, bs1f)
+
+ Mid(Derefof(Refof(aub6)), Derefof(m604(2, 3, 14, 1)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 41, Local0, bb35)
+ }
+
+ Mid(Derefof(Index(paus, 6)), Derefof(m604(2, 3, 14, 1)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 42, Local0, bs1f)
+
+ Mid(Derefof(Index(paub, 6)), Derefof(m604(2, 3, 14, 1)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 43, Local0, bb35)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), Derefof(m604(2, 3, 14, 1)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 44, Local0, bs1f)
+
+ Mid(m601(3, 6), Derefof(m604(2, 3, 14, 1)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 45, Local0, bb35)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), Derefof(m604(2, 3, 14, 1)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 46, Local0, bs1f)
+
+ Mid(Derefof(m602(3, 6, 1)), Derefof(m604(2, 3, 14, 1)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 47, Local0, bb35)
+ }
+ }
+
+ Method(m32s, 1)
+ {
+ // String to Integer conversion of the String Length operand
+
+ Store(Mid("This is auxiliary String", 0, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 0, Local0, bs1e)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, 0, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 1, Local0, bb34)
+
+ Store(Mid(aus6, 0, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 2, Local0, bs1e)
+
+ Store(Mid(aub6, 0, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 3, Local0, bb34)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), 0, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 4, Local0, bs1e)
+
+ Store(Mid(Derefof(Refof(aub6)), 0, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 5, Local0, bb34)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), 0, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 6, Local0, bs1e)
+
+ Store(Mid(Derefof(Index(paub, 6)), 0, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 7, Local0, bb34)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), 0, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 8, Local0, bs1e)
+
+ Store(Mid(m601(3, 6), 0, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 9, Local0, bb34)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), 0, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 10, Local0, bs1e)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), 0, Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 11, Local0, bb34)
+ }
+
+ Mid("This is auxiliary String", 0, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 12, Local0, bs1e)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, 0, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 13, Local0, bb34)
+
+ Mid(aus6, 0, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 14, Local0, bs1e)
+
+ Mid(aub6, 0, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 15, Local0, bb34)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), 0, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 16, Local0, bs1e)
+
+ Mid(Derefof(Refof(aub6)), 0, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 17, Local0, bb34)
+ }
+
+ Mid(Derefof(Index(paus, 6)), 0, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 18, Local0, bs1e)
+
+ Mid(Derefof(Index(paub, 6)), 0, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 19, Local0, bb34)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), 0, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 20, Local0, bs1e)
+
+ Mid(m601(3, 6), 0, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 21, Local0, bb34)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), 0, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 22, Local0, bs1e)
+
+ Mid(Derefof(m602(3, 6, 1)), 0, Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 23, Local0, bb34)
+ }
+
+ // String to Integer conversion of the both String operands
+
+ Store(Mid("This is auxiliary String", Derefof(m604(2, 3, 14, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 24, Local0, bs1f)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, Derefof(m604(2, 3, 14, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 25, Local0, bb35)
+
+ Store(Mid(aus6, Derefof(m604(2, 3, 14, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 26, Local0, bs1f)
+
+ Store(Mid(aub6, Derefof(m604(2, 3, 14, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 27, Local0, bb35)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), Derefof(m604(2, 3, 14, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 28, Local0, bs1f)
+
+ Store(Mid(Derefof(Refof(aub6)), Derefof(m604(2, 3, 14, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 29, Local0, bb35)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), Derefof(m604(2, 3, 14, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 30, Local0, bs1f)
+
+ Store(Mid(Derefof(Index(paub, 6)), Derefof(m604(2, 3, 14, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 31, Local0, bb35)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), Derefof(m604(2, 3, 14, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 32, Local0, bs1f)
+
+ Store(Mid(m601(3, 6), Derefof(m604(2, 3, 14, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 33, Local0, bb35)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), Derefof(m604(2, 3, 14, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 34, Local0, bs1f)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), Derefof(m604(2, 3, 14, 1)), Derefof(m604(2, 3, 10, 1))), Local0)
+ m600(arg0, 35, Local0, bb35)
+ }
+
+ Mid("This is auxiliary String", Derefof(m604(2, 3, 14, 1)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 36, Local0, bs1f)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, Derefof(m604(2, 3, 14, 1)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 37, Local0, bb35)
+
+ Mid(aus6, Derefof(m604(2, 3, 14, 1)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 38, Local0, bs1f)
+
+ Mid(aub6, Derefof(m604(2, 3, 14, 1)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 39, Local0, bb35)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), Derefof(m604(2, 3, 14, 1)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 40, Local0, bs1f)
+
+ Mid(Derefof(Refof(aub6)), Derefof(m604(2, 3, 14, 1)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 41, Local0, bb35)
+ }
+
+ Mid(Derefof(Index(paus, 6)), Derefof(m604(2, 3, 14, 1)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 42, Local0, bs1f)
+
+ Mid(Derefof(Index(paub, 6)), Derefof(m604(2, 3, 14, 1)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 43, Local0, bb35)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), Derefof(m604(2, 3, 14, 1)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 44, Local0, bs1f)
+
+ Mid(m601(3, 6), Derefof(m604(2, 3, 14, 1)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 45, Local0, bb35)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), Derefof(m604(2, 3, 14, 1)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 46, Local0, bs1f)
+
+ Mid(Derefof(m602(3, 6, 1)), Derefof(m604(2, 3, 14, 1)), Derefof(m604(2, 3, 10, 1)), Local0)
+ m600(arg0, 47, Local0, bb35)
+ }
+ }
+
+ // Buffer to Integer conversion of the Buffer StartIndex
+ // operand of the Match operator
+ Method(m06a, 1)
+ {
+ Store(Match(
+ Package(){
+ 0xa50, 0xa51, 0xa52, 0xa53, 0xa54, 0xa55, 0xa56, 0xa57,
+ 0xa58, 0xa59, 0xa5a, 0xa5b, 0xa5c, 0xa5d, 0xa5e,},
+ MEQ, 0xa5d, MTR, 0, Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 0, Local0, 0xd)
+
+ Store(Match(
+ Package(){
+ 0xa50, 0xa51, 0xa52, 0xa53, 0xa54, 0xa55, 0xa56, 0xa57,
+ 0xa58, 0xa59, 0xa5a, 0xa5b, 0xa5c, 0xa5d, 0xa5e,},
+ MEQ, 0xa5a, MTR, 0, Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(Match(aup0, MEQ, 0xa5d, MTR, 0, Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 2, Local0, 0xd)
+
+ Store(Match(aup0, MEQ, 0xa5a, MTR, 0, Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(Match(Derefof(Refof(aup0)), MEQ, 0xa5d, MTR, 0, Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 4, Local0, 0xd)
+
+ Store(Match(Derefof(Refof(aup0)), MEQ, 0xa5a, MTR, 0, Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(Match(Derefof(Index(paup, 0)), MEQ, 0xa5d, MTR, 0, Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 6, Local0, 0xd)
+
+ Store(Match(Derefof(Index(paup, 0)), MEQ, 0xa5a, MTR, 0, Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Object
+
+ Store(Match(m601(4, 0), MEQ, 0xa5d, MTR, 0, Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 8, Local0, 0xd)
+
+ Store(Match(m601(4, 0), MEQ, 0xa5a, MTR, 0, Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Match(Derefof(m602(4, 0, 1)), MEQ, 0xa5d, MTR, 0, Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 10, Local0, 0xd)
+
+ Store(Match(Derefof(m602(4, 0, 1)), MEQ, 0xa5a, MTR, 0, Derefof(m604(2, 3, 14, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+ }
+
+// Method(m64t, 1)
+
+// Method(m32t, 1)
+
+ // Buffer to Integer conversion of the Buffer sole operand
+ // of the Method execution control operators (Sleep, Stall)
+ Method(m06b, 1)
+ {
+ CH03(arg0, z119, 11, 0, 0)
+
+ // Sleep
+
+ Store(Timer, Local0)
+
+ Sleep(Derefof(m604(2, 3, 6, 1)))
+ CH03(arg0, z119, 12, 0, 0)
+
+ Store(Timer, Local1)
+ Subtract(Local1, Local0, Local2)
+ if (LLess(Local2, c08c)) {
+ err(arg0, z119, 0, 0, 0, Local2, c08c)
+ }
+
+ // Stall
+
+ Store(Timer, Local0)
+
+ Stall(Derefof(m604(2, 3, 19, 1)))
+ CH03(arg0, z119, 13, 0, 0)
+
+ Store(Timer, Local1)
+ Subtract(Local1, Local0, Local2)
+ if (LLess(Local2, 990)) {
+ err(arg0, z119, 1, 0, 0, Local2, 990)
+ }
+ }
+
+ // Buffer to Integer conversion of the Buffer TimeoutValue
+ // (second) operand of the Acquire operator
+
+ Method(m06c, 1)
+ {
+ Mutex(MTX0, 0)
+
+ Acquire(MTX0, 0)
+ CH03(arg0, z119, 14, 0, 0)
+
+ Store(Timer, Local0)
+
+/* Compiler allows only Integer constant as TimeoutValue (Bug 1)
+ Acquire(MTX0, Derefof(m604(2, 3, 6, 1)))
+*/
+ CH03(arg0, z119, 15, 0, 0)
+
+ Store(Timer, Local1)
+ Subtract(Local1, Local0, Local2)
+ if (LLess(Local2, c08c)) {
+ err(arg0, z119, 0, 0, 0, Local2, c08c)
+ }
+ }
+
+ // Buffer to Integer conversion of the Buffer TimeoutValue
+ // (second) operand of the Wait operator
+ Method(m06d, 1)
+ {
+ Event(EVT0)
+
+ CH03(arg0, z119, 16, 0, 0)
+
+ Store(Timer, Local0)
+
+ Wait(EVT0, Derefof(m604(2, 3, 6, 1)))
+ CH03(arg0, z119, 17, 0, 0)
+
+ Store(Timer, Local1)
+ Subtract(Local1, Local0, Local2)
+ if (LLess(Local2, c08c)) {
+ err(arg0, z119, 0, 0, 0, Local2, c08c)
+ }
+ }
+
+ // Buffer to Integer conversion of the Buffer value
+ // of Predicate of the Method execution control statements
+ // (If, ElseIf, While)
+ Method(m06e, 1)
+ {
+ Name(ist0, 0)
+
+ Method(m001)
+ {
+ if (Derefof(m604(2, 3, 0, 1))) {
+ Store(0, ist0)
+ }
+ }
+
+ Method(m002)
+ {
+ if (Derefof(m604(2, 3, 6, 1))) {
+ Store(2, ist0)
+ }
+ }
+
+ Method(m003)
+ {
+ if (Derefof(m604(2, 3, 10, 1))) {
+ Store(3, ist0)
+ }
+ }
+
+ Method(m004)
+ {
+ if (Derefof(m604(2, 3, 10, 1))) {
+ Store(4, ist0)
+ }
+ }
+
+ Method(m005, 1)
+ {
+ if (arg0) {
+ Store(0xff, ist0)
+ } elseif (Derefof(m604(2, 3, 0, 1))) {
+ Store(0, ist0)
+ }
+ }
+
+ Method(m006, 1)
+ {
+ if (arg0) {
+ Store(0xff, ist0)
+ } elseif (Derefof(m604(2, 3, 6, 1))) {
+ Store(6, ist0)
+ }
+ }
+
+ Method(m007, 1)
+ {
+ if (arg0) {
+ Store(0xff, ist0)
+ } elseif (Derefof(m604(2, 3, 10, 1))) {
+ Store(7, ist0)
+ }
+ }
+
+ Method(m008, 1)
+ {
+ if (arg0) {
+ Store(0xff, ist0)
+ } elseif (Derefof(m604(2, 3, 10, 1))) {
+ Store(8, ist0)
+ }
+ }
+
+ Method(m009)
+ {
+ while (Derefof(m604(2, 3, 0, 1))) {
+ Store(0, ist0)
+ Break
+ }
+ }
+
+ // If
+
+ Store(1, ist0)
+ m001()
+ m600(arg0, 0, ist0, 1)
+
+ m002()
+ m600(arg0, 1, ist0, 2)
+
+ m003()
+ m600(arg0, 2, ist0, 3)
+
+ m004()
+ m600(arg0, 3, ist0, 4)
+
+ // ElseIf
+
+ Store(5, ist0)
+ m005(0)
+ m600(arg0, 4, ist0, 5)
+
+ m006(0)
+ m600(arg0, 5, ist0, 6)
+
+ m007(0)
+ m600(arg0, 6, ist0, 7)
+
+ m008(0)
+ m600(arg0, 7, ist0, 8)
+
+ // While
+
+ Store(9, ist0)
+ m009()
+ m600(arg0, 8, ist0, 9)
+ }
+
+// Method(m64u, 1)
+
+// Method(m32u, 1)
+
+ // Buffer to String implicit conversion Cases.
+
+ // Buffer to String conversion of the Buffer second operand of
+ // Logical operators when the first operand is evaluated as String.
+ // LEqual LGreater LGreaterEqual LLess LLessEqual LNotEqual
+ Method(m06f, 1)
+ {
+ // LEqual
+
+ Store(LEqual("21 03 00", Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual("21 03 01", Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(aus9, Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(LEqual(ausa, Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 3, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aus9)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(ausa)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 5, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paus, 9)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paus, 10)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ // Method returns String
+
+ Store(LEqual(m601(2, 9), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(LEqual(m601(2, 10), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 9, Local0, Zero)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(2, 9, 1)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(2, 10, 1)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater("21 03 00", Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LGreater("21 03 01", Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LGreater("21 03 0 ", Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LGreater("21 03 00q", Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LGreater(aus9, Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LGreater(ausa, Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 17, Local0, Ones)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aus9)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(ausa)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 19, Local0, Ones)
+ }
+
+ Store(LGreater(Derefof(Index(paus, 9)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paus, 10)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns String
+
+ Store(LGreater(m601(2, 9), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LGreater(m601(2, 10), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 23, Local0, Ones)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(2, 9, 1)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(2, 10, 1)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual("21 03 00", Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 26, Local0, Ones)
+
+ Store(LGreaterEqual("21 03 01", Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 27, Local0, Ones)
+
+ Store(LGreaterEqual("21 03 0 ", Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 28, Local0, Zero)
+
+ Store(LGreaterEqual("21 03 00q", Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 29, Local0, Ones)
+
+ Store(LGreaterEqual(aus9, Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 30, Local0, Ones)
+
+ Store(LGreaterEqual(ausa, Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aus9)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 32, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(ausa)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 33, Local0, Ones)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paus, 9)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paus, 10)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 35, Local0, Ones)
+
+ // Method returns String
+
+ Store(LGreaterEqual(m601(2, 9),
+ Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(m601(2, 10), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(2, 9, 1)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 38, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(2, 10, 1)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 39, Local0, Ones)
+ }
+
+ // LLess
+
+ Store(LLess("21 03 00", Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 40, Local0, Zero)
+
+ Store(LLess("21 03 01", Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ Store(LLess("21 03 0 ", Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LLess("21 03 00q", Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 43, Local0, Zero)
+
+ Store(LLess(aus9, Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 44, Local0, Zero)
+
+ Store(LLess(ausa, Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 45, Local0, Zero)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aus9)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 46, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(ausa)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 47, Local0, Zero)
+ }
+
+ Store(LLess(Derefof(Index(paus, 9)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 48, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paus, 10)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 49, Local0, Zero)
+
+ // Method returns String
+
+ Store(LLess(m601(2, 9), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ Store(LLess(m601(2, 10), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 51, Local0, Zero)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LLess(Derefof(m602(2, 9, 1)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 52, Local0, Zero)
+
+ Store(LLess(Derefof(m602(2, 10, 1)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual("21 03 00", Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 54, Local0, Ones)
+
+ Store(LLessEqual("21 03 01", Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLessEqual("21 03 0 ", Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLessEqual("21 03 00q", Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLessEqual(aus9, Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 58, Local0, Ones)
+
+ Store(LLessEqual(ausa, Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 59, Local0, Zero)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aus9)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 60, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(ausa)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 61, Local0, Zero)
+ }
+
+ Store(LLessEqual(Derefof(Index(paus, 9)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 62, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paus, 10)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ // Method returns String
+
+ Store(LLessEqual(m601(2, 9), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 64, Local0, Ones)
+
+ Store(LLessEqual(m601(2, 10), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 65, Local0, Zero)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(2, 9, 1)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 66, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(2, 10, 1)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 67, Local0, Zero)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual("21 03 00", Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 68, Local0, Zero)
+
+ Store(LNotEqual("21 03 01", Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 69, Local0, Ones)
+
+ Store(LNotEqual("21 03 0 ", Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 70, Local0, Ones)
+
+ Store(LNotEqual("21 03 00q", Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 71, Local0, Ones)
+
+ Store(LNotEqual(aus9, Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 72, Local0, Zero)
+
+ Store(LNotEqual(ausa, Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 73, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aus9)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 74, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(ausa)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 75, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paus, 9)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paus, 10)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ // Method returns String
+
+ Store(LNotEqual(m601(2, 9), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 78, Local0, Zero)
+
+ Store(LNotEqual(m601(2, 10), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 79, Local0, Ones)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(2, 9, 1)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 80, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(2, 10, 1)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 81, Local0, Ones)
+ }
+
+ // Boundary Cases
+
+ Store(LEqual("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63",
+ Derefof(m604(2, 3, 12, 1))),
+ Local0)
+ m600(arg0, 82, Local0, Ones)
+
+ Store(LEqual("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 64",
+ Derefof(m604(2, 3, 12, 1))),
+ Local0)
+ m600(arg0, 83, Local0, Zero)
+
+ Store(LGreater("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63",
+ Derefof(m604(2, 3, 12, 1))),
+ Local0)
+ m600(arg0, 84, Local0, Zero)
+
+ Store(LGreater("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 64",
+ Derefof(m604(2, 3, 12, 1))),
+ Local0)
+ m600(arg0, 85, Local0, Ones)
+
+ Store(LGreaterEqual("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63",
+ Derefof(m604(2, 3, 12, 1))),
+ Local0)
+ m600(arg0, 86, Local0, Ones)
+
+ Store(LGreaterEqual("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 64",
+ Derefof(m604(2, 3, 12, 1))),
+ Local0)
+ m600(arg0, 87, Local0, Ones)
+
+ Store(LLess("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63",
+ Derefof(m604(2, 3, 12, 1))),
+ Local0)
+ m600(arg0, 88, Local0, Zero)
+
+ Store(LLess("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 64",
+ Derefof(m604(2, 3, 12, 1))),
+ Local0)
+ m600(arg0, 89, Local0, Zero)
+
+ Store(LLessEqual("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63",
+ Derefof(m604(2, 3, 12, 1))),
+ Local0)
+ m600(arg0, 90, Local0, Ones)
+
+ Store(LLessEqual("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 64",
+ Derefof(m604(2, 3, 12, 1))),
+ Local0)
+ m600(arg0, 91, Local0, Zero)
+
+
+ Store(LNotEqual("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63",
+ Derefof(m604(2, 3, 12, 1))),
+ Local0)
+ m600(arg0, 92, Local0, Zero)
+
+ Store(LNotEqual("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 64",
+ Derefof(m604(2, 3, 12, 1))),
+ Local0)
+ m600(arg0, 93, Local0, Ones)
+ }
+
+ // Buffer to String conversion of the Buffer second operand of
+ // Concatenate operator when the first operand is evaluated as String
+ Method(m070, 1)
+ {
+ Store(Concatenate("", Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 0, Local0, bs25)
+
+ Store(Concatenate("1234q", Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 1, Local0, bs26)
+
+ Store(Concatenate(aus0, Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 2, Local0, bs25)
+
+ Store(Concatenate(aus1, Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 3, Local0, bs26)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aus0)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 4, Local0, bs25)
+
+ Store(Concatenate(Derefof(Refof(aus1)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 5, Local0, bs26)
+ }
+
+ Store(Concatenate(Derefof(Index(paus, 0)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 6, Local0, bs25)
+
+ Store(Concatenate(Derefof(Index(paus, 1)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 7, Local0, bs26)
+
+ // Method returns String
+
+ Store(Concatenate(m601(2, 0), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 8, Local0, bs25)
+
+ Store(Concatenate(m601(2, 1), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 9, Local0, bs26)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(2, 0, 1)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 10, Local0, bs25)
+
+ Store(Concatenate(Derefof(m602(2, 1, 1)), Derefof(m604(2, 3, 6, 1))), Local0)
+ m600(arg0, 11, Local0, bs26)
+ }
+
+ Concatenate("", Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 12, Local0, bs25)
+
+ Concatenate("1234q", Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 13, Local0, bs26)
+
+ Concatenate(aus0, Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 14, Local0, bs25)
+
+ Concatenate(aus1, Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 15, Local0, bs26)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aus0)), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 16, Local0, bs25)
+
+ Concatenate(Derefof(Refof(aus1)), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 17, Local0, bs26)
+ }
+
+ Concatenate(Derefof(Index(paus, 0)), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 18, Local0, bs25)
+
+ Concatenate(Derefof(Index(paus, 1)), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 19, Local0, bs26)
+
+ // Method returns String
+
+ Concatenate(m601(2, 0), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 20, Local0, bs25)
+
+ Concatenate(m601(2, 1), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 21, Local0, bs26)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Concatenate(Derefof(m602(2, 0, 1)), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 22, Local0, bs25)
+
+ Concatenate(Derefof(m602(2, 1, 1)), Derefof(m604(2, 3, 6, 1)), Local0)
+ m600(arg0, 23, Local0, bs26)
+ }
+
+ // Boundary Cases
+
+ Store(Concatenate("",
+ Derefof(m604(2, 3, 12, 1))),
+ Local0)
+ m600(arg0, 24, Local0, bs27)
+ }
+
+// Method(m071, 1)
+
+// Method(m072, 1)
+
+ /*
+ * Begin of the test body
+ */
+
+ // Integer to String implicit conversion Cases.
+
+ // Integer to String conversion of the Integer second operand of
+ // Logical operators when the first operand is evaluated as String.
+ // LEqual LGreater LGreaterEqual LLess LLessEqual LNotEqual
+ if (F64) {
+ Concatenate(ts, "-m640", Local0)
+ SRMT(Local0)
+ m640(Local0)
+ } else {
+ Concatenate(ts, "-m320", Local0)
+ SRMT(Local0)
+ m320(Local0)
+ }
+
+ // Integer to String conversion of the Integer second operand of
+ // Concatenate operator when the first operand is evaluated as String
+ if (F64) {
+ Concatenate(ts, "-m641", Local0)
+ SRMT(Local0)
+ m641(Local0)
+ } else {
+ Concatenate(ts, "-m321", Local0)
+ SRMT(Local0)
+ m321(Local0)
+ }
+
+
+ // Integer to Buffer implicit conversion Cases.
+
+ // Integer to Buffer conversion of the Integer second operand of
+ // Logical operators when the first operand is evaluated as Buffer
+ // (LEqual, LGreater, LGreaterEqual, LLess, LLessEqual, LNotEqual)
+ if (F64) {
+ Concatenate(ts, "-m644", Local0)
+ SRMT(Local0)
+ m644(Local0)
+ } else {
+ Concatenate(ts, "-m324", Local0)
+ SRMT(Local0)
+ m324(Local0)
+ }
+
+ // Integer to Buffer conversion of the both Integer operands of
+ // Concatenate operator
+ if (F64) {
+ Concatenate(ts, "-m645", Local0)
+ SRMT(Local0)
+ m645(Local0)
+ } else {
+ Concatenate(ts, "-m325", Local0)
+ SRMT(Local0)
+ m325(Local0)
+ }
+
+ // Integer to Buffer conversion of the Integer second operand of
+ // Concatenate operator when the first operand is evaluated as Buffer
+ if (F64) {
+ Concatenate(ts, "-m646", Local0)
+ SRMT(Local0)
+ m646(Local0)
+ } else {
+ Concatenate(ts, "-m326", Local0)
+ SRMT(Local0)
+ m326(Local0)
+ }
+
+ // Integer to Buffer conversion of the Integer Source operand of
+ // ToString operator
+ if (F64) {
+ Concatenate(ts, "-m647", Local0)
+ SRMT(Local0)
+ m647(Local0)
+ } else {
+ Concatenate(ts, "-m327", Local0)
+ SRMT(Local0)
+ m327(Local0)
+ }
+
+ // Integer to Buffer conversion of the Integer Source operand of
+ // Mid operator
+ if (F64) {
+ Concatenate(ts, "-m648", Local0)
+ SRMT(Local0)
+ m648(Local0)
+ } else {
+ Concatenate(ts, "-m328", Local0)
+ SRMT(Local0)
+ m328(Local0)
+ }
+
+
+ // String to Integer implicit conversion Cases.
+
+ // String to Integer conversion of the String sole operand
+ // of the 1-parameter Integer arithmetic operators
+ // (Decrement, Increment, FindSetLeftBit, FindSetRightBit, Not)
+ if (F64) {
+ Concatenate(ts, "-m64b", Local0)
+ SRMT(Local0)
+ m64b(Local0)
+ } else {
+ Concatenate(ts, "-m32b", Local0)
+ SRMT(Local0)
+ m32b(Local0)
+ }
+
+ // String to Integer conversion of the String sole operand
+ // of the LNot Logical Integer operator
+ Concatenate(ts, "-m000", Local0)
+ SRMT(Local0)
+ m000(Local0)
+
+ // String to Integer conversion of the String sole operand
+ // of the FromBCD and ToBCD conversion operators
+ if (F64) {
+ Concatenate(ts, "-m64c", Local0)
+ SRMT(Local0)
+ m64c(Local0)
+ } else {
+ Concatenate(ts, "-m32c", Local0)
+ SRMT(Local0)
+ m32c(Local0)
+ }
+
+ // String to Integer conversion of each String operand
+ // of the 2-parameter Integer arithmetic operators
+ // Add, And, Divide, Mod, Multiply, NAnd, NOr, Or,
+ // ShiftLeft, ShiftRight, Subtract, Xor
+ if (F64) {
+ m64d(Concatenate(ts, "-m64d"))
+ } else {
+ m32d(Concatenate(ts, "-m32d"))
+ }
+
+ // String to Integer conversion of each String operand
+ // of the 2-parameter Logical Integer operators LAnd and LOr
+ if (F64) {
+ m64e(Concatenate(ts, "-m64e"))
+ } else {
+ m32e(Concatenate(ts, "-m32e"))
+ }
+
+ // String to Integer conversion of the String second operand of
+ // Logical operators when the first operand is evaluated as Integer
+ // (LEqual, LGreater, LGreaterEqual, LLess, LLessEqual, LNotEqual)
+
+ Concatenate(ts, "-m02b", Local0)
+ SRMT(Local0)
+ m02b(Local0)
+
+ if (F64) {
+ Concatenate(ts, "-m64f", Local0)
+ SRMT(Local0)
+ m64f(Local0)
+ } else {
+ Concatenate(ts, "-m32f", Local0)
+ SRMT(Local0)
+ m32f(Local0)
+ }
+
+ // String to Integer intermediate conversion of the String second
+ // operand of Concatenate operator in case the first one is Integer
+ if (F64) {
+ Concatenate(ts, "-m64g", Local0)
+ SRMT(Local0)
+ m64g(Local0)
+ } else {
+ Concatenate(ts, "-m32g", Local0)
+ SRMT(Local0)
+ m32g(Local0)
+ }
+
+ // String to Integer conversion of the String Length (second)
+ // operand of the ToString operator
+
+ Concatenate(ts, "-m02c", Local0)
+ SRMT(Local0)
+ m02c(Local0)
+
+ if (F64) {
+ Concatenate(ts, "-m64h", Local0)
+ SRMT(Local0)
+ m64h(Local0)
+ } else {
+ Concatenate(ts, "-m32h", Local0)
+ SRMT(Local0)
+ m32h(Local0)
+ }
+
+ // String to Integer conversion of the String Index (second)
+ // operand of the Index operator
+ Concatenate(ts, "-m02d", Local0)
+ SRMT(Local0)
+ m02d(Local0)
+
+ // String to Integer conversion of the String Arg (third)
+ // operand of the Fatal operator
+ // (it can only be checked an exception does not occur)
+ Concatenate(ts, "-m02e", Local0)
+ SRMT(Local0)
+ m02e(Local0)
+
+ // String to Integer conversion of the String Index and Length
+ // operands of the Mid operator
+
+ Concatenate(ts, "-m02f", Local0)
+ SRMT(Local0)
+ m02f(Local0)
+
+ if (F64) {
+ Concatenate(ts, "-m64i", Local0)
+ SRMT(Local0)
+ m64i(Local0)
+ } else {
+ Concatenate(ts, "-m32i", Local0)
+ SRMT(Local0)
+ m32i(Local0)
+ }
+
+ // String to Integer conversion of the String StartIndex
+ // operand of the Match operator
+ Concatenate(ts, "-m030", Local0)
+ SRMT(Local0)
+ m030(Local0)
+
+ // String to Integer conversion of the String sole operand
+ // of the Method execution control operators (Sleep, Stall)
+ Concatenate(ts, "-m031", Local0)
+ SRMT(Local0)
+ m031(Local0)
+
+ // String to Integer conversion of the String TimeoutValue
+ // (second) operand of the Acquire operator
+/* Compiler allows only Integer constant as TimeoutValue (Bug 1)
+ Concatenate(ts, "-m032", Local0)
+ SRMT(Local0)
+ m032(Local0)
+*/
+
+ // String to Integer conversion of the String TimeoutValue
+ // (second) operand of the Wait operator
+ Concatenate(ts, "-m033", Local0)
+ SRMT(Local0)
+ m033(Local0)
+
+ // String to Integer conversion of the String value
+ // of Predicate of the Method execution control statements
+ // (If, ElseIf, While)
+ Concatenate(ts, "-m034", Local0)
+ SRMT(Local0)
+ if (y111) {
+ m034(Local0)
+ } else {
+ BLCK()
+ }
+
+ // String to Integer conversion of the String value
+ // of Expression of Case statement when Expression in
+ // Switch is evaluated as Integer
+ //
+ // Note: Expression of Case can be only static data
+
+ // String to Buffer implicit conversion Cases.
+
+ // String to Buffer conversion of the String second operand of
+ // Logical operators when the first operand is evaluated as Buffer
+ // (LEqual, LGreater, LGreaterEqual, LLess, LLessEqual, LNotEqual)
+ Concatenate(ts, "-m035", Local0)
+ SRMT(Local0)
+ m035(Local0)
+
+ // String to Buffer conversion of the String second operand of
+ // Concatenate operator when the first operand is evaluated as Buffer
+ Concatenate(ts, "-m036", Local0)
+ SRMT(Local0)
+ m036(Local0)
+
+ // String to Buffer conversion of the String Source operand of
+ // ToString operator (has a visual effect in shortening of the
+ // String taken the null character)
+ Concatenate(ts, "-m037", Local0)
+ SRMT(Local0)
+ m037(Local0)
+
+
+ // Buffer to Integer implicit conversion Cases.
+
+ // Buffer to Integer conversion of the Buffer sole operand
+ // of the 1-parameter Integer arithmetic operators
+ // (Decrement, Increment, FindSetLeftBit, FindSetRightBit, Not)
+ if (F64) {
+ Concatenate(ts, "-m64l", Local0)
+ SRMT(Local0)
+ m64l(Local0)
+ } else {
+ Concatenate(ts, "-m32l", Local0)
+ SRMT(Local0)
+ m32l(Local0)
+ }
+
+ // Buffer to Integer conversion of the Buffer sole operand
+ // of the LNot Logical Integer operator
+ Concatenate(ts, "-m03a", Local0)
+ SRMT(Local0)
+ m03a(Local0)
+
+ // Buffer to Integer conversion of the Buffer sole operand
+ // of the FromBCD and ToBCD conversion operators
+ if (F64) {
+ Concatenate(ts, "-m64m", Local0)
+ SRMT(Local0)
+ m64m(Local0)
+ } else {
+ Concatenate(ts, "-m32m", Local0)
+ SRMT(Local0)
+ m32m(Local0)
+ }
+
+ // Buffer to Integer conversion of each Buffer operand
+ // of the 2-parameter Integer arithmetic operators
+ // Add, And, Divide, Mod, Multiply, NAnd, NOr, Or,
+ // ShiftLeft, ShiftRight, Subtract, Xor
+ if (F64) {
+ m64n(Concatenate(ts, "-m64n"))
+ } else {
+ m32n(Concatenate(ts, "-m32n"))
+ }
+
+ // Buffer to Integer conversion of each Buffer operand
+ // of the 2-parameter Logical Integer operators LAnd and LOr
+ if (F64) {
+ m64o(Concatenate(ts, "-m64o"))
+ } else {
+ m32o(Concatenate(ts, "-m32o"))
+ }
+
+ // Buffer to Integer conversion of the Buffer second operand of
+ // Logical operators when the first operand is evaluated as Integer
+ // (LEqual, LGreater, LGreaterEqual, LLess, LLessEqual, LNotEqual)
+
+ Concatenate(ts, "-m065", Local0)
+ SRMT(Local0)
+ m065(Local0)
+
+ if (F64) {
+ Concatenate(ts, "-m64p", Local0)
+ SRMT(Local0)
+ m64p(Local0)
+ } else {
+ Concatenate(ts, "-m32p", Local0)
+ SRMT(Local0)
+ m32p(Local0)
+ }
+
+ // Buffer to Integer intermediate conversion of the Buffer second
+ // operand of Concatenate operator in case the first one is Integer
+ if (F64) {
+ Concatenate(ts, "-m64q", Local0)
+ SRMT(Local0)
+ m64q(Local0)
+ } else {
+ Concatenate(ts, "-m32q", Local0)
+ SRMT(Local0)
+ m32q(Local0)
+ }
+
+ // Buffer to Integer conversion of the Buffer Length (second)
+ // operand of the ToString operator
+
+ Concatenate(ts, "-m066", Local0)
+ SRMT(Local0)
+ m066(Local0)
+
+ if (F64) {
+ Concatenate(ts, "-m64r", Local0)
+ SRMT(Local0)
+ m64r(Local0)
+ } else {
+ Concatenate(ts, "-m32r", Local0)
+ SRMT(Local0)
+ m32r(Local0)
+ }
+
+ // Buffer to Integer conversion of the Buffer Index (second)
+ // operand of the Index operator
+ Concatenate(ts, "-m067", Local0)
+ SRMT(Local0)
+ m067(Local0)
+
+ // Buffer to Integer conversion of the String Arg (third)
+ // operand of the Fatal operator
+ // (it can only be checked an exception does not occur)
+ Concatenate(ts, "-m068", Local0)
+ SRMT(Local0)
+ m068(Local0)
+
+ // Buffer to Integer conversion of the Buffer Index and Length
+ // operands of the Mid operator
+
+ Concatenate(ts, "-m069", Local0)
+ SRMT(Local0)
+ m069(Local0)
+
+ if (F64) {
+ Concatenate(ts, "-m64s", Local0)
+ SRMT(Local0)
+ m64s(Local0)
+ } else {
+ Concatenate(ts, "-m32s", Local0)
+ SRMT(Local0)
+ m32s(Local0)
+ }
+
+ // Buffer to Integer conversion of the Buffer StartIndex
+ // operand of the Match operator
+ Concatenate(ts, "-m06a", Local0)
+ SRMT(Local0)
+ m06a(Local0)
+
+ // Buffer to Integer conversion of the Buffer sole operand
+ // of the Method execution control operators (Sleep, Stall)
+ Concatenate(ts, "-m06b", Local0)
+ SRMT(Local0)
+ m06b(Local0)
+
+ // Buffer to Integer conversion of the Buffer TimeoutValue
+ // (second) operand of the Acquire operator
+/* Compiler allows only Integer constant as TimeoutValue (Bug 1)
+ Concatenate(ts, "-m06c", Local0)
+ SRMT(Local0)
+ m06c(Local0)
+*/
+
+ // Buffer to Integer conversion of the Buffer TimeoutValue
+ // (second) operand of the Wait operator
+ Concatenate(ts, "-m06d", Local0)
+ SRMT(Local0)
+ m06d(Local0)
+
+ // Buffer to Integer conversion of the Buffer value
+ // of Predicate of the Method execution control statements
+ // (If, ElseIf, While)
+ Concatenate(ts, "-m06e", Local0)
+ SRMT(Local0)
+ if (y111) {
+ m06e(Local0)
+ } else {
+ BLCK()
+ }
+
+ // Buffer to Integer conversion of the Buffer value
+ // of Expression of Case statement when Expression in
+ // Switch is evaluated as Integer
+ //
+ // Note: Expression of Case can be only static data
+
+ // Buffer to String implicit conversion Cases.
+
+ // Buffer to String conversion of the Buffer second operand of
+ // Logical operators when the first operand is evaluated as String.
+ // LEqual LGreater LGreaterEqual LLess LLessEqual LNotEqual
+ Concatenate(ts, "-m06f", Local0)
+ SRMT(Local0)
+ m06f(Local0)
+
+ // Buffer to String conversion of the Buffer second operand of
+ // Concatenate operator when the first operand is evaluated as String
+ Concatenate(ts, "-m070", Local0)
+ SRMT(Local0)
+ m070(Local0)
+
+ // Check consistency of the test Named Objects
+ // in the root Scope of the Global ACPI namespace
+ Concatenate(ts, "-m606", Local0)
+ SRMT(Local0)
+ m606(Local0)
+}
+
+// Run-method
+Method(OPR8)
+{
+ Store("TEST: OPR8, Source Operand", Debug)
+
+ m61a()
+}
diff --git a/tests/aslts/src/runtime/collections/complex/operand/tests/oreturn/MAIN.asl b/tests/aslts/src/runtime/collections/complex/operand/tests/oreturn/MAIN.asl
new file mode 100644
index 000000000..ed32e2901
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/operand/tests/oreturn/MAIN.asl
@@ -0,0 +1,58 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "oreturn.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../../runtime/cntl/DECL_6UP.asl")
+ Include("../../../../../../runtime/collections/complex/operand/common/ocommon.asl")
+ Include("../../../../../../runtime/collections/complex/operand/tests/oreturn/oreturn.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../../runtime/collections/complex/operand/tests/oreturn/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/complex/operand/tests/oreturn/Makefile b/tests/aslts/src/runtime/collections/complex/operand/tests/oreturn/Makefile
new file mode 100644
index 000000000..4a35e033c
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/operand/tests/oreturn/Makefile
@@ -0,0 +1,7 @@
+# oreturn
+
+AMLMOD= oreturn
+COLL= ../../../..
+
+TOP= $(COLL)/../../..
+include $(COLL)/Makefile.install
diff --git a/tests/aslts/src/runtime/collections/complex/operand/tests/oreturn/RUN.asl b/tests/aslts/src/runtime/collections/complex/operand/tests/oreturn/RUN.asl
new file mode 100644
index 000000000..48dcd21fd
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/operand/tests/oreturn/RUN.asl
@@ -0,0 +1,35 @@
+/*
+ * 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.
+ */
+
+
+if (STTT("Source Operand, object returned from the called Method", TCLC, 5, W010)) {
+ OPR7()
+}
+FTTT()
diff --git a/tests/aslts/src/runtime/collections/complex/operand/tests/oreturn/oreturn.asl b/tests/aslts/src/runtime/collections/complex/operand/tests/oreturn/oreturn.asl
new file mode 100644
index 000000000..494e405af
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/operand/tests/oreturn/oreturn.asl
@@ -0,0 +1,25200 @@
+/*
+ * 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.
+ */
+
+/*
+ * Check implicit conversion being applied to the Objects
+ * immediately returned from the called Method
+ */
+
+Name(z118, 118)
+
+Method(m619)
+{
+ Name(ts, "m619")
+
+ // Integer to String implicit conversion Cases.
+
+ // Integer to String conversion of the Integer second operand of
+ // Logical operators when the first operand is evaluated as String.
+ // LEqual LGreater LGreaterEqual LLess LLessEqual LNotEqual
+
+ Method(m640, 1)
+ {
+ // LEqual
+
+ Store(LEqual("FE7CB391D650A284", m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual("fE7CB391D650A284", m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(aus4, m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(LEqual(aus5, m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 3, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aus4)), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(aus5)), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 5, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paus, 4)), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paus, 5)), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ // Method returns String
+
+ Store(LEqual(m601(2, 4), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(LEqual(m601(2, 5), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 9, Local0, Zero)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(2, 4, 1)), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(2, 5, 1)), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 11, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater("FE7CB391D650A284", m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LGreater("fE7CB391D650A284", m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LGreater("FE7CB391D650A28 ", m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LGreater("FE7CB391D650A284q", m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LGreater(aus4, m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LGreater(aus5, m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 17, Local0, Ones)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aus4)), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(aus5)), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 19, Local0, Ones)
+ }
+
+ Store(LGreater(Derefof(Index(paus, 4)), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paus, 5)), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns String
+
+ Store(LGreater(m601(2, 4), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LGreater(m601(2, 5), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 23, Local0, Ones)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(2, 4, 1)), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(2, 5, 1)), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual("FE7CB391D650A284", m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 26, Local0, Ones)
+
+ Store(LGreaterEqual("fE7CB391D650A284", m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 27, Local0, Ones)
+
+ Store(LGreaterEqual("FE7CB391D650A28 ", m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 28, Local0, Zero)
+
+ Store(LGreaterEqual("FE7CB391D650A284q", m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 29, Local0, Ones)
+
+ Store(LGreaterEqual(aus4, m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 30, Local0, Ones)
+
+ Store(LGreaterEqual(aus5, m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aus4)), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 32, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(aus5)), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 33, Local0, Ones)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paus, 4)), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paus, 5)), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 35, Local0, Ones)
+
+ // Method returns String
+
+ Store(LGreaterEqual(m601(2, 4), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(m601(2, 5), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(2, 4, 1)), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 38, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(2, 5, 1)), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 39, Local0, Ones)
+ }
+
+ // LLess
+
+ Store(LLess("FE7CB391D650A284", m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 40, Local0, Zero)
+
+ Store(LLess("fE7CB391D650A284", m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ Store(LLess("FE7CB391D650A28 ", m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LLess("FE7CB391D650A284q", m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 43, Local0, Zero)
+
+ Store(LLess(aus4, m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 44, Local0, Zero)
+
+ Store(LLess(aus5, m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 45, Local0, Zero)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aus4)), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 46, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(aus5)), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 47, Local0, Zero)
+ }
+
+ Store(LLess(Derefof(Index(paus, 4)), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 48, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paus, 5)), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 49, Local0, Zero)
+
+ // Method returns String
+
+ Store(LLess(m601(2, 4), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ Store(LLess(m601(2, 5), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 51, Local0, Zero)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LLess(Derefof(m602(2, 4, 1)), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 52, Local0, Zero)
+
+ Store(LLess(Derefof(m602(2, 5, 1)), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual("FE7CB391D650A284", m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 54, Local0, Ones)
+
+ Store(LLessEqual("fE7CB391D650A284", m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLessEqual("FE7CB391D650A28 ", m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLessEqual("FE7CB391D650A284q", m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLessEqual(aus4, m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 58, Local0, Ones)
+
+ Store(LLessEqual(aus5, m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 59, Local0, Zero)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aus4)), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 60, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(aus5)), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 61, Local0, Zero)
+ }
+
+ Store(LLessEqual(Derefof(Index(paus, 4)), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 62, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paus, 5)), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ // Method returns String
+
+ Store(LLessEqual(m601(2, 4), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 64, Local0, Ones)
+
+ Store(LLessEqual(m601(2, 5), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 65, Local0, Zero)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(2, 4, 1)), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 66, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(2, 5, 1)), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 67, Local0, Zero)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual("FE7CB391D650A284", m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 68, Local0, Zero)
+
+ Store(LNotEqual("fE7CB391D650A284", m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 69, Local0, Ones)
+
+ Store(LNotEqual("FE7CB391D650A28 ", m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 70, Local0, Ones)
+
+ Store(LNotEqual("FE7CB391D650A284q", m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 71, Local0, Ones)
+
+ Store(LNotEqual(aus4, m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 72, Local0, Zero)
+
+ Store(LNotEqual(aus5, m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 73, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aus4)), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 74, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(aus5)), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 75, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paus, 4)), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paus, 5)), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ // Method returns String
+
+ Store(LNotEqual(m601(2, 4), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 78, Local0, Zero)
+
+ Store(LNotEqual(m601(2, 5), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 79, Local0, Ones)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(2, 4, 1)), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 80, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(2, 5, 1)), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 81, Local0, Ones)
+ }
+ }
+
+ Method(m320, 1)
+ {
+ // LEqual
+
+ Store(LEqual("C179B3FE", m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual("c179B3FE", m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(aus3, m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(LEqual(aus2, m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 3, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aus3)), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(aus2)), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 5, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paus, 3)), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paus, 2)), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ // Method returns String
+
+ Store(LEqual(m601(2, 3), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(LEqual(m601(2, 2), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 9, Local0, Zero)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(2, 3, 1)), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(2, 2, 1)), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 11, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater("C179B3FE", m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LGreater("c179B3FE", m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LGreater("C179B3F ", m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LGreater("C179B3FEq", m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LGreater(aus3, m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LGreater(aus2, m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 17, Local0, Ones)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aus3)), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(aus2)), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 19, Local0, Ones)
+ }
+
+ Store(LGreater(Derefof(Index(paus, 3)), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paus, 2)), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns String
+
+ Store(LGreater(m601(2, 3), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LGreater(m601(2, 2), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 23, Local0, Ones)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(2, 3, 1)), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(2, 2, 1)), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual("C179B3FE", m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 26, Local0, Ones)
+
+ Store(LGreaterEqual("c179B3FE", m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 27, Local0, Ones)
+
+ Store(LGreaterEqual("C179B3F ", m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 28, Local0, Zero)
+
+ Store(LGreaterEqual("C179B3FEq", m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 29, Local0, Ones)
+
+ Store(LGreaterEqual(aus3, m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 30, Local0, Ones)
+
+ Store(LGreaterEqual(aus2, m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aus3)), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 32, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(aus2)), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 33, Local0, Ones)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paus, 3)), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paus, 2)), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 35, Local0, Ones)
+
+ // Method returns String
+
+ Store(LGreaterEqual(m601(2, 3), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(m601(2, 2), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(2, 3, 1)), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 38, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(2, 2, 1)), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 39, Local0, Ones)
+ }
+
+ // LLess
+
+ Store(LLess("C179B3FE", m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 40, Local0, Zero)
+
+ Store(LLess("c179B3FE", m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ Store(LLess("C179B3F ", m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LLess("C179B3FEq", m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 43, Local0, Zero)
+
+ Store(LLess(aus3, m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 44, Local0, Zero)
+
+ Store(LLess(aus2, m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 45, Local0, Zero)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aus3)), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 46, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(aus2)), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 47, Local0, Zero)
+ }
+
+ Store(LLess(Derefof(Index(paus, 3)), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 48, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paus, 2)), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 49, Local0, Zero)
+
+ // Method returns String
+
+ Store(LLess(m601(2, 3), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ Store(LLess(m601(2, 2), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 51, Local0, Zero)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LLess(Derefof(m602(2, 3, 1)), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 52, Local0, Zero)
+
+ Store(LLess(Derefof(m602(2, 2, 1)), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual("C179B3FE", m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 54, Local0, Ones)
+
+ Store(LLessEqual("c179B3FE", m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLessEqual("C179B3F ", m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLessEqual("C179B3FEq", m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLessEqual(aus3, m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 58, Local0, Ones)
+
+ Store(LLessEqual(aus2, m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 59, Local0, Zero)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aus3)), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 60, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(aus2)), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 61, Local0, Zero)
+ }
+
+ Store(LLessEqual(Derefof(Index(paus, 3)), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 62, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paus, 2)), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ // Method returns String
+
+ Store(LLessEqual(m601(2, 3), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 64, Local0, Ones)
+
+ Store(LLessEqual(m601(2, 2), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 65, Local0, Zero)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(2, 3, 1)), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 66, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(2, 2, 1)), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 67, Local0, Zero)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual("C179B3FE", m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 68, Local0, Zero)
+
+ Store(LNotEqual("c179B3FE", m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 69, Local0, Ones)
+
+ Store(LNotEqual("C179B3F ", m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 70, Local0, Ones)
+
+ Store(LNotEqual("C179B3FEq", m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 71, Local0, Ones)
+
+ Store(LNotEqual(aus3, m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 72, Local0, Zero)
+
+ Store(LNotEqual(aus2, m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 73, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aus3)), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 74, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(aus2)), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 75, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paus, 3)), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paus, 2)), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ // Method returns String
+
+ Store(LNotEqual(m601(2, 3), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 78, Local0, Zero)
+
+ Store(LNotEqual(m601(2, 2), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 79, Local0, Ones)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(2, 3, 1)), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 80, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(2, 2, 1)), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 81, Local0, Ones)
+ }
+ }
+
+ // Integer to String conversion of the Integer second operand of
+ // Concatenate operator when the first operand is evaluated as String
+
+ Method(m641, 1)
+ {
+ Store(Concatenate("", m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 0, Local0, bs10)
+
+ Store(Concatenate("1234q", m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 1, Local0, bs11)
+
+ Store(Concatenate(aus0, m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 2, Local0, bs10)
+
+ Store(Concatenate(aus1, m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 3, Local0, bs11)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aus0)), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 4, Local0, bs10)
+
+ Store(Concatenate(Derefof(Refof(aus1)), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 5, Local0, bs11)
+ }
+
+ Store(Concatenate(Derefof(Index(paus, 0)), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 6, Local0, bs10)
+
+ Store(Concatenate(Derefof(Index(paus, 1)), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 7, Local0, bs11)
+
+ // Method returns String
+
+ Store(Concatenate(m601(2, 0), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 8, Local0, bs10)
+
+ Store(Concatenate(m601(2, 1), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 9, Local0, bs11)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(2, 0, 1)), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 10, Local0, bs10)
+
+ Store(Concatenate(Derefof(m602(2, 1, 1)), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 11, Local0, bs11)
+ }
+
+ Concatenate("", m604(0, 1, 4, 0), Local0)
+ m600(arg0, 12, Local0, bs10)
+
+ Concatenate("1234q", m604(0, 1, 4, 0), Local0)
+ m600(arg0, 13, Local0, bs11)
+
+ Concatenate(aus0, m604(0, 1, 4, 0), Local0)
+ m600(arg0, 14, Local0, bs10)
+
+ Concatenate(aus1, m604(0, 1, 4, 0), Local0)
+ m600(arg0, 15, Local0, bs11)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aus0)), m604(0, 1, 4, 0), Local0)
+ m600(arg0, 16, Local0, bs10)
+
+ Concatenate(Derefof(Refof(aus1)), m604(0, 1, 4, 0), Local0)
+ m600(arg0, 17, Local0, bs11)
+ }
+
+ Concatenate(Derefof(Index(paus, 0)), m604(0, 1, 4, 0), Local0)
+ m600(arg0, 18, Local0, bs10)
+
+ Concatenate(Derefof(Index(paus, 1)), m604(0, 1, 4, 0), Local0)
+ m600(arg0, 19, Local0, bs11)
+
+ // Method returns String
+
+ Concatenate(m601(2, 0), m604(0, 1, 4, 0), Local0)
+ m600(arg0, 20, Local0, bs10)
+
+ Concatenate(m601(2, 1), m604(0, 1, 4, 0), Local0)
+ m600(arg0, 21, Local0, bs11)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Concatenate(Derefof(m602(2, 0, 1)), m604(0, 1, 4, 0), Local0)
+ m600(arg0, 22, Local0, bs10)
+
+ Concatenate(Derefof(m602(2, 1, 1)), m604(0, 1, 4, 0), Local0)
+ m600(arg0, 23, Local0, bs11)
+ }
+ }
+
+ Method(m321, 1)
+ {
+ Store(Concatenate("", m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 0, Local0, bs12)
+
+ Store(Concatenate("1234q", m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 1, Local0, bs13)
+
+ Store(Concatenate(aus0, m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 2, Local0, bs12)
+
+ Store(Concatenate(aus1, m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 3, Local0, bs13)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aus0)), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 4, Local0, bs12)
+
+ Store(Concatenate(Derefof(Refof(aus1)), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 5, Local0, bs13)
+ }
+
+ Store(Concatenate(Derefof(Index(paus, 0)), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 6, Local0, bs12)
+
+ Store(Concatenate(Derefof(Index(paus, 1)), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 7, Local0, bs13)
+
+ // Method returns String
+
+ Store(Concatenate(m601(2, 0), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 8, Local0, bs12)
+
+ Store(Concatenate(m601(2, 1), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 9, Local0, bs13)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(2, 0, 1)), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 10, Local0, bs12)
+
+ Store(Concatenate(Derefof(m602(2, 1, 1)), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 11, Local0, bs13)
+ }
+
+ Store(Concatenate("", m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 12, Local0, bs14)
+
+ Store(Concatenate("1234q", m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 13, Local0, bs15)
+
+ Concatenate("", m604(0, 1, 3, 0), Local0)
+ m600(arg0, 14, Local0, bs12)
+
+ Concatenate("1234q", m604(0, 1, 3, 0), Local0)
+ m600(arg0, 15, Local0, bs13)
+
+ Concatenate(aus0, m604(0, 1, 3, 0), Local0)
+ m600(arg0, 16, Local0, bs12)
+
+ Concatenate(aus1, m604(0, 1, 3, 0), Local0)
+ m600(arg0, 17, Local0, bs13)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aus0)), m604(0, 1, 3, 0), Local0)
+ m600(arg0, 18, Local0, bs12)
+
+ Concatenate(Derefof(Refof(aus1)), m604(0, 1, 3, 0), Local0)
+ m600(arg0, 19, Local0, bs13)
+ }
+
+ Concatenate(Derefof(Index(paus, 0)), m604(0, 1, 3, 0), Local0)
+ m600(arg0, 20, Local0, bs12)
+
+ Concatenate(Derefof(Index(paus, 1)), m604(0, 1, 3, 0), Local0)
+ m600(arg0, 21, Local0, bs13)
+
+ // Method returns String
+
+ Concatenate(m601(2, 0), m604(0, 1, 3, 0), Local0)
+ m600(arg0, 22, Local0, bs12)
+
+ Concatenate(m601(2, 1), m604(0, 1, 3, 0), Local0)
+ m600(arg0, 23, Local0, bs13)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Concatenate(Derefof(m602(2, 0, 1)), m604(0, 1, 3, 0), Local0)
+ m600(arg0, 24, Local0, bs12)
+
+ Concatenate(Derefof(m602(2, 1, 1)), m604(0, 1, 3, 0), Local0)
+ m600(arg0, 25, Local0, bs13)
+ }
+
+ Concatenate("", m604(0, 1, 4, 0), Local0)
+ m600(arg0, 26, Local0, bs14)
+
+ Concatenate("1234q", m604(0, 1, 4, 0), Local0)
+ m600(arg0, 27, Local0, bs15)
+ }
+
+// Method(m642, 1)
+
+// Method(m322, 1)
+
+// Method(m643, 1)
+
+// Method(m323, 1)
+
+ // Integer to Buffer implicit conversion Cases.
+
+ // Integer to Buffer conversion of the Integer second operand of
+ // Logical operators when the first operand is evaluated as Buffer
+ // (LEqual, LGreater, LGreaterEqual, LLess, LLessEqual, LNotEqual)
+
+ Method(m644, 1)
+ {
+ // LEqual
+
+ Store(LEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFF}, m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(aub4, m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(LEqual(aub3, m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 3, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aub4)), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(aub3)), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 5, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paub, 4)), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paub, 3)), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ // Method returns Buffer
+
+ Store(LEqual(m601(3, 4), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(LEqual(m601(3, 3), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 9, Local0, Zero)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(3, 4, 1)), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(3, 3, 1)), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 11, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LGreater(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFF}, m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LGreater(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFD}, m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LGreater(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0x01}, m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LGreater(aub4, m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LGreater(aub5, m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 17, Local0, Ones)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aub4)), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(aub5)), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 19, Local0, Ones)
+ }
+
+ Store(LGreater(Derefof(Index(paub, 4)), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paub, 5)), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Buffer
+
+ Store(LGreater(m601(3, 4), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LGreater(m601(3, 5), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 23, Local0, Ones)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(3, 4, 1)), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(3, 5, 1)), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 26, Local0, Ones)
+
+ Store(LGreaterEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFF}, m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 27, Local0, Ones)
+
+ Store(LGreaterEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFD}, m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 28, Local0, Zero)
+
+ Store(LGreaterEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0x01}, m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 29, Local0, Ones)
+
+ Store(LGreaterEqual(aub4, m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 30, Local0, Ones)
+
+ Store(LGreaterEqual(aub5, m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aub4)), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 32, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(aub5)), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 33, Local0, Ones)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paub, 4)), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paub, 5)), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 35, Local0, Ones)
+
+ // Method returns Buffer
+
+ Store(LGreaterEqual(m601(3, 4), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(m601(3, 5), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(3, 4, 1)), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 38, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(3, 5, 1)), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 39, Local0, Ones)
+ }
+
+ // LLess
+
+ Store(LLess(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 40, Local0, Zero)
+
+ Store(LLess(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFF}, m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ Store(LLess(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFD}, m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LLess(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0x01}, m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 43, Local0, Zero)
+
+ Store(LLess(aub4, m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 44, Local0, Zero)
+
+ Store(LLess(aub5, m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 45, Local0, Zero)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aub4)), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 46, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(aub5)), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 47, Local0, Zero)
+ }
+
+ Store(LLess(Derefof(Index(paub, 4)), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 48, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paub, 5)), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 49, Local0, Zero)
+
+ // Method returns Buffer
+
+ Store(LLess(m601(3, 4), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ Store(LLess(m601(3, 5), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 51, Local0, Zero)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LLess(Derefof(m602(3, 4, 1)), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 52, Local0, Zero)
+
+ Store(LLess(Derefof(m602(3, 5, 1)), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 54, Local0, Ones)
+
+ Store(LLessEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFF}, m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLessEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFD}, m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLessEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0x01}, m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLessEqual(aub4, m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 58, Local0, Ones)
+
+ Store(LLessEqual(aub5, m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 59, Local0, Zero)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aub4)), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 60, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(aub5)), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 61, Local0, Zero)
+ }
+
+ Store(LLessEqual(Derefof(Index(paub, 4)), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 62, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paub, 5)), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ // Method returns Buffer
+
+ Store(LLessEqual(m601(3, 4), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 64, Local0, Ones)
+
+ Store(LLessEqual(m601(3, 5), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 65, Local0, Zero)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(3, 4, 1)), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 66, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(3, 5, 1)), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 67, Local0, Zero)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 68, Local0, Zero)
+
+ Store(LNotEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFF}, m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 69, Local0, Ones)
+
+ Store(LNotEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFD}, m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 70, Local0, Ones)
+
+ Store(LNotEqual(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0x01}, m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 71, Local0, Ones)
+
+ Store(LNotEqual(aub4, m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 72, Local0, Zero)
+
+ Store(LNotEqual(aub5, m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 73, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aub4)), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 74, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(aub5)), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 75, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paub, 4)), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paub, 5)), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ // Method returns Buffer
+
+ Store(LNotEqual(m601(3, 4), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 78, Local0, Zero)
+
+ Store(LNotEqual(m601(3, 5), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 79, Local0, Ones)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(3, 4, 1)), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 80, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(3, 5, 1)), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 81, Local0, Ones)
+ }
+ }
+
+ Method(m324, 1)
+ {
+ // LEqual
+
+ Store(LEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC1}, m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC0}, m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(aub3, m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(LEqual(aub2, m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 3, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aub3)), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(aub2)), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 5, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paub, 3)), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paub, 2)), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ // Method returns Buffer
+
+ Store(LEqual(m601(3, 3), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(LEqual(m601(3, 2), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 9, Local0, Zero)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(3, 3, 1)), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(3, 2, 1)), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 11, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater(Buffer() {0xFE, 0xB3, 0x79, 0xC1}, m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LGreater(Buffer() {0xFE, 0xB3, 0x79, 0xC2}, m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LGreater(Buffer() {0xFE, 0xB3, 0x79, 0xC0}, m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LGreater(Buffer() {0xFE, 0xB3, 0x79, 0xC1, 0x01}, m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LGreater(aub3, m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LGreater(aub2, m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 17, Local0, Ones)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aub3)), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(aub2)), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 19, Local0, Ones)
+ }
+
+ Store(LGreater(Derefof(Index(paub, 3)), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paub, 2)), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Buffer
+
+ Store(LGreater(m601(3, 3), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LGreater(m601(3, 2), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 23, Local0, Ones)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(3, 3, 1)), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(3, 2, 1)), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC1}, m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 26, Local0, Ones)
+
+ Store(LGreaterEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC2}, m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 27, Local0, Ones)
+
+ Store(LGreaterEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC0}, m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 28, Local0, Zero)
+
+ Store(LGreaterEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC1, 0x01}, m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 29, Local0, Ones)
+
+ Store(LGreaterEqual(aub3, m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 30, Local0, Ones)
+
+ Store(LGreaterEqual(aub2, m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aub3)), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 32, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(aub2)), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 33, Local0, Ones)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paub, 3)), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paub, 2)), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 35, Local0, Ones)
+
+ // Method returns Buffer
+
+ Store(LGreaterEqual(m601(3, 3), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(m601(3, 2), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(3, 3, 1)), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 38, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(3, 2, 1)), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 39, Local0, Ones)
+ }
+
+ // LLess
+
+ Store(LLess(Buffer() {0xFE, 0xB3, 0x79, 0xC1}, m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 40, Local0, Zero)
+
+ Store(LLess(Buffer() {0xFE, 0xB3, 0x79, 0xC2}, m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ Store(LLess(Buffer() {0xFE, 0xB3, 0x79, 0xC0}, m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LLess(Buffer() {0xFE, 0xB3, 0x79, 0xC1, 0x01}, m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 43, Local0, Zero)
+
+ Store(LLess(aub3, m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 44, Local0, Zero)
+
+ Store(LLess(aub2, m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 45, Local0, Zero)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aub3)), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 46, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(aub2)), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 47, Local0, Zero)
+ }
+
+ Store(LLess(Derefof(Index(paub, 3)), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 48, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paub, 2)), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 49, Local0, Zero)
+
+ // Method returns Buffer
+
+ Store(LLess(m601(3, 3), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ Store(LLess(m601(3, 2), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 51, Local0, Zero)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LLess(Derefof(m602(3, 3, 1)), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 52, Local0, Zero)
+
+ Store(LLess(Derefof(m602(3, 2, 1)), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC1}, m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 54, Local0, Ones)
+
+ Store(LLessEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC2}, m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLessEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC0}, m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLessEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC1, 0x01}, m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLessEqual(aub3, m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 58, Local0, Ones)
+
+ Store(LLessEqual(aub2, m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 59, Local0, Zero)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aub3)), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 60, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(aub2)), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 61, Local0, Zero)
+ }
+
+ Store(LLessEqual(Derefof(Index(paub, 3)), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 62, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paub, 2)), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ // Method returns Buffer
+
+ Store(LLessEqual(m601(3, 3), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 64, Local0, Ones)
+
+ Store(LLessEqual(m601(3, 2), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 65, Local0, Zero)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(3, 3, 1)), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 66, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(3, 2, 1)), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 67, Local0, Zero)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC1}, m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 68, Local0, Zero)
+
+ Store(LNotEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC2}, m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 69, Local0, Ones)
+
+ Store(LNotEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC0}, m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 70, Local0, Ones)
+
+ Store(LNotEqual(Buffer() {0xFE, 0xB3, 0x79, 0xC1, 0x01}, m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 71, Local0, Ones)
+
+ Store(LNotEqual(aub3, m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 72, Local0, Zero)
+
+ Store(LNotEqual(aub2, m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 73, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aub3)), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 74, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(aub2)), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 75, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paub, 3)), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paub, 2)), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ // Method returns Buffer
+
+ Store(LNotEqual(m601(3, 3), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 78, Local0, Zero)
+
+ Store(LNotEqual(m601(3, 2), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 79, Local0, Ones)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(3, 3, 1)), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 80, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(3, 2, 1)), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 81, Local0, Ones)
+ }
+ }
+
+
+ // Integer to Buffer conversion of the both Integer operands of
+ // Concatenate operator
+
+ Method(m645, 1)
+ {
+ Store(Concatenate(m604(0, 1, 4, 0), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 0, Local0, bb20)
+
+ Store(Concatenate(0x321, m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 1, Local0, bb21)
+
+ Store(Concatenate(m604(0, 1, 4, 0), 0x321), Local0)
+ m600(arg0, 1, Local0, bb22)
+
+ Concatenate(m604(0, 1, 4, 0), m604(0, 1, 4, 0), Local0)
+ m600(arg0, 0, Local0, bb20)
+
+ Concatenate(0x321, m604(0, 1, 4, 0), Local0)
+ m600(arg0, 1, Local0, bb21)
+
+ Concatenate(m604(0, 1, 4, 0), 0x321, Local0)
+ m600(arg0, 1, Local0, bb22)
+ }
+
+ Method(m325, 1)
+ {
+ Store(Concatenate(m604(0, 1, 3, 0), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 0, Local0, bb23)
+
+ Store(Concatenate(0x321, m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 1, Local0, bb24)
+
+ Store(Concatenate(m604(0, 1, 3, 0), 0x321), Local0)
+ m600(arg0, 1, Local0, bb25)
+
+ Concatenate(m604(0, 1, 3, 0), m604(0, 1, 3, 0), Local0)
+ m600(arg0, 0, Local0, bb23)
+
+ Concatenate(0x321, m604(0, 1, 3, 0), Local0)
+ m600(arg0, 1, Local0, bb24)
+
+ Concatenate(m604(0, 1, 3, 0), 0x321, Local0)
+ m600(arg0, 1, Local0, bb25)
+ }
+
+ // Integer to Buffer conversion of the Integer second operand of
+ // Concatenate operator when the first operand is evaluated as Buffer
+
+ Method(m646, 1)
+ {
+ Store(Concatenate(Buffer(){0x5a}, m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 0, Local0, bb10)
+
+ Store(Concatenate(Buffer(){0x5a, 0x00}, m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 1, Local0, bb11)
+
+ Store(Concatenate(aub0, m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 2, Local0, bb10)
+
+ Store(Concatenate(aub1, m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 3, Local0, bb11)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aub0)), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 4, Local0, bb10)
+
+ Store(Concatenate(Derefof(Refof(aub1)), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 5, Local0, bb11)
+ }
+
+ Store(Concatenate(Derefof(Index(paub, 0)), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 6, Local0, bb10)
+
+ Store(Concatenate(Derefof(Index(paub, 1)), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 7, Local0, bb11)
+
+ // Method returns Buffer
+
+ Store(Concatenate(m601(3, 0), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 8, Local0, bb10)
+
+ Store(Concatenate(m601(3, 1), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 9, Local0, bb11)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(3, 0, 1)), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 10, Local0, bb10)
+
+ Store(Concatenate(Derefof(m602(3, 1, 1)), m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 11, Local0, bb11)
+ }
+
+ Concatenate(Buffer(){0x5a}, m604(0, 1, 4, 0), Local0)
+ m600(arg0, 12, Local0, bb10)
+
+ Concatenate(Buffer(){0x5a, 0x00}, m604(0, 1, 4, 0), Local0)
+ m600(arg0, 13, Local0, bb11)
+
+ Concatenate(aub0, m604(0, 1, 4, 0), Local0)
+ m600(arg0, 14, Local0, bb10)
+
+ Concatenate(aub1, m604(0, 1, 4, 0), Local0)
+ m600(arg0, 15, Local0, bb11)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aub0)), m604(0, 1, 4, 0), Local0)
+ m600(arg0, 16, Local0, bb10)
+
+ Concatenate(Derefof(Refof(aub1)), m604(0, 1, 4, 0), Local0)
+ m600(arg0, 17, Local0, bb11)
+ }
+
+ Concatenate(Derefof(Index(paub, 0)), m604(0, 1, 4, 0), Local0)
+ m600(arg0, 18, Local0, bb10)
+
+ Concatenate(Derefof(Index(paub, 1)), m604(0, 1, 4, 0), Local0)
+ m600(arg0, 19, Local0, bb11)
+
+ // Method returns Buffer
+
+ Concatenate(m601(3, 0), m604(0, 1, 4, 0), Local0)
+ m600(arg0, 20, Local0, bb10)
+
+ Concatenate(m601(3, 1), m604(0, 1, 4, 0), Local0)
+ m600(arg0, 21, Local0, bb11)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Concatenate(Derefof(m602(3, 0, 1)), m604(0, 1, 4, 0), Local0)
+ m600(arg0, 22, Local0, bb10)
+
+ Concatenate(Derefof(m602(3, 1, 1)), m604(0, 1, 4, 0), Local0)
+ m600(arg0, 23, Local0, bb11)
+ }
+ }
+
+ Method(m326, 1)
+ {
+
+ Store(Concatenate(Buffer(){0x5a}, m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 0, Local0, bb12)
+
+ Store(Concatenate(Buffer(){0x5a, 0x00}, m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 1, Local0, bb13)
+
+ Store(Concatenate(aub0, m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 2, Local0, bb12)
+
+ Store(Concatenate(aub1, m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 3, Local0, bb13)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aub0)), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 4, Local0, bb12)
+
+ Store(Concatenate(Derefof(Refof(aub1)), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 5, Local0, bb13)
+ }
+
+ Store(Concatenate(Derefof(Index(paub, 0)), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 6, Local0, bb12)
+
+ Store(Concatenate(Derefof(Index(paub, 1)), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 7, Local0, bb13)
+
+ // Method returns Buffer
+
+ Store(Concatenate(m601(3, 0), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 8, Local0, bb12)
+
+ Store(Concatenate(m601(3, 1), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 9, Local0, bb13)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(3, 0, 1)), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 10, Local0, bb12)
+
+ Store(Concatenate(Derefof(m602(3, 1, 1)), m604(0, 1, 3, 0)), Local0)
+ m600(arg0, 11, Local0, bb13)
+ }
+
+ Store(Concatenate(Buffer(){0x5a}, m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 12, Local0, bb14)
+
+ Store(Concatenate(Buffer(){0x5a, 0x00}, m604(0, 1, 4, 0)), Local0)
+ m600(arg0, 13, Local0, bb15)
+
+ Concatenate(Buffer(){0x5a}, m604(0, 1, 3, 0), Local0)
+ m600(arg0, 14, Local0, bb12)
+
+ Concatenate(Buffer(){0x5a, 0x00}, m604(0, 1, 3, 0), Local0)
+ m600(arg0, 15, Local0, bb13)
+
+ Concatenate(aub0, m604(0, 1, 3, 0), Local0)
+ m600(arg0, 16, Local0, bb12)
+
+ Concatenate(aub1, m604(0, 1, 3, 0), Local0)
+ m600(arg0, 17, Local0, bb13)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aub0)), m604(0, 1, 3, 0), Local0)
+ m600(arg0, 18, Local0, bb12)
+
+ Concatenate(Derefof(Refof(aub1)), m604(0, 1, 3, 0), Local0)
+ m600(arg0, 19, Local0, bb13)
+ }
+
+ Concatenate(Derefof(Index(paub, 0)), m604(0, 1, 3, 0), Local0)
+ m600(arg0, 20, Local0, bb12)
+
+ Concatenate(Derefof(Index(paub, 1)), m604(0, 1, 3, 0), Local0)
+ m600(arg0, 21, Local0, bb13)
+
+ // Method returns Buffer
+
+ Concatenate(m601(3, 0), m604(0, 1, 3, 0), Local0)
+ m600(arg0, 22, Local0, bb12)
+
+ Concatenate(m601(3, 1), m604(0, 1, 3, 0), Local0)
+ m600(arg0, 23, Local0, bb13)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Concatenate(Derefof(m602(3, 0, 1)), m604(0, 1, 3, 0), Local0)
+ m600(arg0, 24, Local0, bb12)
+
+ Concatenate(Derefof(m602(3, 1, 1)), m604(0, 1, 3, 0), Local0)
+ m600(arg0, 25, Local0, bb13)
+ }
+
+ Concatenate(Buffer(){0x5a}, m604(0, 1, 4, 0), Local0)
+ m600(arg0, 26, Local0, bb14)
+
+ Concatenate(Buffer(){0x5a, 0x00}, m604(0, 1, 4, 0), Local0)
+ m600(arg0, 27, Local0, bb15)
+ }
+
+
+ // Integer to Buffer conversion of the Integer Source operand of
+ // ToString operator
+
+ Method(m647, 1)
+ {
+ Store(ToString(m604(0, 1, 13, 0), Ones), Local0)
+ m600(arg0, 0, Local0, bs18)
+
+ Store(ToString(m604(0, 1, 13, 0), 3), Local0)
+ m600(arg0, 1, Local0, bs19)
+
+ Store(ToString(m604(0, 1, 14, 0), Ones), Local0)
+ m600(arg0, 2, Local0, bs1a)
+
+ Store(ToString(m604(0, 1, 13, 0), aui0), Local0)
+ m600(arg0, 3, Local0, bs18)
+
+ Store(ToString(m604(0, 1, 13, 0), aui7), Local0)
+ m600(arg0, 4, Local0, bs19)
+
+ Store(ToString(m604(0, 1, 14, 0), aui0), Local0)
+ m600(arg0, 5, Local0, bs1a)
+
+ if (y078) {
+ Store(ToString(m604(0, 1, 13, 0), Derefof(Refof(aui0))), Local0)
+ m600(arg0, 6, Local0, bs18)
+
+ Store(ToString(m604(0, 1, 13, 0), Derefof(Refof(aui7))), Local0)
+ m600(arg0, 7, Local0, bs19)
+
+ Store(ToString(m604(0, 1, 14, 0), Derefof(Refof(aui0))), Local0)
+ m600(arg0, 8, Local0, bs1a)
+ }
+
+ Store(ToString(m604(0, 1, 13, 0), Derefof(Index(paui, 0))), Local0)
+ m600(arg0, 9, Local0, bs18)
+
+ Store(ToString(m604(0, 1, 13, 0), Derefof(Index(paui, 7))), Local0)
+ m600(arg0, 10, Local0, bs19)
+
+ Store(ToString(m604(0, 1, 14, 0), Derefof(Index(paui, 0))), Local0)
+ m600(arg0, 11, Local0, bs1a)
+
+ // Method returns Length parameter
+
+ Store(ToString(m604(0, 1, 13, 0), m601(1, 0)), Local0)
+ m600(arg0, 12, Local0, bs18)
+
+ Store(ToString(m604(0, 1, 13, 0), m601(1, 7)), Local0)
+ m600(arg0, 13, Local0, bs19)
+
+ Store(ToString(m604(0, 1, 14, 0), m601(1, 0)), Local0)
+ m600(arg0, 14, Local0, bs1a)
+
+ // Method returns Reference to Length parameter
+
+ if (y500) {
+ Store(ToString(m604(0, 1, 13, 0), Derefof(m601(1, 0))), Local0)
+ m600(arg0, 15, Local0, bs18)
+
+ Store(ToString(m604(0, 1, 13, 0), Derefof(m601(1, 7))), Local0)
+ m600(arg0, 16, Local0, bs19)
+
+ Store(ToString(m604(0, 1, 14, 0), Derefof(m601(1, 0))), Local0)
+ m600(arg0, 17, Local0, bs1a)
+ }
+
+ ToString(m604(0, 1, 13, 0), Ones, Local0)
+ m600(arg0, 18, Local0, bs18)
+
+ ToString(m604(0, 1, 13, 0), 3, Local0)
+ m600(arg0, 19, Local0, bs19)
+
+ ToString(m604(0, 1, 14, 0), Ones, Local0)
+ m600(arg0, 20, Local0, bs1a)
+
+ ToString(m604(0, 1, 13, 0), aui0, Local0)
+ m600(arg0, 21, Local0, bs18)
+
+ ToString(m604(0, 1, 13, 0), aui7, Local0)
+ m600(arg0, 22, Local0, bs19)
+
+ ToString(m604(0, 1, 14, 0), aui0, Local0)
+ m600(arg0, 23, Local0, bs1a)
+
+ if (y078) {
+ ToString(m604(0, 1, 13, 0), Derefof(Refof(aui0)), Local0)
+ m600(arg0, 24, Local0, bs18)
+
+ ToString(m604(0, 1, 13, 0), Derefof(Refof(aui7)), Local0)
+ m600(arg0, 25, Local0, bs19)
+
+ ToString(m604(0, 1, 14, 0), Derefof(Refof(aui0)), Local0)
+ m600(arg0, 26, Local0, bs1a)
+ }
+
+ ToString(m604(0, 1, 13, 0), Derefof(Index(paui, 0)), Local0)
+ m600(arg0, 27, Local0, bs18)
+
+ ToString(m604(0, 1, 13, 0), Derefof(Index(paui, 7)), Local0)
+ m600(arg0, 28, Local0, bs19)
+
+ ToString(m604(0, 1, 14, 0), Derefof(Index(paui, 0)), Local0)
+ m600(arg0, 29, Local0, bs1a)
+
+ // Method returns Length parameter
+
+ ToString(m604(0, 1, 13, 0), m601(1, 0), Local0)
+ m600(arg0, 30, Local0, bs18)
+
+ ToString(m604(0, 1, 13, 0), m601(1, 7), Local0)
+ m600(arg0, 31, Local0, bs19)
+
+ ToString(m604(0, 1, 14, 0), m601(1, 0), Local0)
+ m600(arg0, 32, Local0, bs1a)
+
+ // Method returns Reference to Length parameter
+
+ if (y500) {
+ ToString(m604(0, 1, 13, 0), Derefof(m601(1, 0)), Local0)
+ m600(arg0, 33, Local0, bs18)
+
+ ToString(m604(0, 1, 13, 0), Derefof(m601(1, 7)), Local0)
+ m600(arg0, 34, Local0, bs19)
+
+ ToString(m604(0, 1, 14, 0), Derefof(m601(1, 0)), Local0)
+ m600(arg0, 35, Local0, bs1a)
+ }
+ }
+
+ Method(m327, 1)
+ {
+ Store(ToString(m604(0, 1, 12, 0), Ones), Local0)
+ m600(arg0, 0, Local0, bs16)
+
+ Store(ToString(m604(0, 1, 12, 0), 3), Local0)
+ m600(arg0, 1, Local0, bs17)
+
+ Store(ToString(m604(0, 1, 15, 0), Ones), Local0)
+ m600(arg0, 2, Local0, bs1a)
+
+ Store(ToString(m604(0, 1, 12, 0), aui0), Local0)
+ m600(arg0, 3, Local0, bs16)
+
+ Store(ToString(m604(0, 1, 12, 0), aui7), Local0)
+ m600(arg0, 4, Local0, bs17)
+
+ Store(ToString(m604(0, 1, 15, 0), aui0), Local0)
+ m600(arg0, 5, Local0, bs1a)
+
+ if (y078) {
+ Store(ToString(m604(0, 1, 12, 0), Derefof(Refof(aui0))), Local0)
+ m600(arg0, 6, Local0, bs16)
+
+ Store(ToString(m604(0, 1, 12, 0), Derefof(Refof(aui7))), Local0)
+ m600(arg0, 7, Local0, bs17)
+
+ Store(ToString(m604(0, 1, 15, 0), Derefof(Refof(aui0))), Local0)
+ m600(arg0, 8, Local0, bs1a)
+ }
+
+ Store(ToString(m604(0, 1, 12, 0), Derefof(Index(paui, 0))), Local0)
+ m600(arg0, 9, Local0, bs16)
+
+ Store(ToString(m604(0, 1, 12, 0), Derefof(Index(paui, 7))), Local0)
+ m600(arg0, 10, Local0, bs17)
+
+ Store(ToString(m604(0, 1, 15, 0), Derefof(Index(paui, 0))), Local0)
+ m600(arg0, 11, Local0, bs1a)
+
+ // Method returns Length parameter
+
+ Store(ToString(m604(0, 1, 12, 0), m601(1, 0)), Local0)
+ m600(arg0, 12, Local0, bs16)
+
+ Store(ToString(m604(0, 1, 12, 0), m601(1, 7)), Local0)
+ m600(arg0, 13, Local0, bs17)
+
+ Store(ToString(m604(0, 1, 15, 0), m601(1, 0)), Local0)
+ m600(arg0, 14, Local0, bs1a)
+
+ // Method returns Reference to Length parameter
+
+ if (y500) {
+ Store(ToString(m604(0, 1, 12, 0), Derefof(m601(1, 0))), Local0)
+ m600(arg0, 15, Local0, bs16)
+
+ Store(ToString(m604(0, 1, 12, 0), Derefof(m601(1, 7))), Local0)
+ m600(arg0, 16, Local0, bs17)
+
+ Store(ToString(m604(0, 1, 15, 0), Derefof(m601(1, 0))), Local0)
+ m600(arg0, 17, Local0, bs1a)
+ }
+
+ ToString(m604(0, 1, 12, 0), Ones, Local0)
+ m600(arg0, 18, Local0, bs16)
+
+ ToString(m604(0, 1, 12, 0), 3, Local0)
+ m600(arg0, 19, Local0, bs17)
+
+ ToString(m604(0, 1, 15, 0), Ones, Local0)
+ m600(arg0, 20, Local0, bs1a)
+
+ ToString(m604(0, 1, 12, 0), aui0, Local0)
+ m600(arg0, 21, Local0, bs16)
+
+ ToString(m604(0, 1, 12, 0), aui7, Local0)
+ m600(arg0, 22, Local0, bs17)
+
+ ToString(m604(0, 1, 15, 0), aui0, Local0)
+ m600(arg0, 23, Local0, bs1a)
+
+ if (y078) {
+ ToString(m604(0, 1, 12, 0), Derefof(Refof(aui0)), Local0)
+ m600(arg0, 24, Local0, bs16)
+
+ ToString(m604(0, 1, 12, 0), Derefof(Refof(aui7)), Local0)
+ m600(arg0, 25, Local0, bs17)
+
+ ToString(m604(0, 1, 15, 0), Derefof(Refof(aui0)), Local0)
+ m600(arg0, 26, Local0, bs1a)
+ }
+
+ ToString(m604(0, 1, 12, 0), Derefof(Index(paui, 0)), Local0)
+ m600(arg0, 27, Local0, bs16)
+
+ ToString(m604(0, 1, 12, 0), Derefof(Index(paui, 7)), Local0)
+ m600(arg0, 28, Local0, bs17)
+
+ ToString(m604(0, 1, 15, 0), Derefof(Index(paui, 0)), Local0)
+ m600(arg0, 29, Local0, bs1a)
+
+ // Method returns Length parameter
+
+ ToString(m604(0, 1, 12, 0), m601(1, 0), Local0)
+ m600(arg0, 30, Local0, bs16)
+
+ ToString(m604(0, 1, 12, 0), m601(1, 7), Local0)
+ m600(arg0, 31, Local0, bs17)
+
+ ToString(m604(0, 1, 15, 0), m601(1, 0), Local0)
+ m600(arg0, 32, Local0, bs1a)
+
+ // Method returns Reference to Length parameter
+
+ if (y500) {
+ ToString(m604(0, 1, 12, 0), Derefof(m601(1, 0)), Local0)
+ m600(arg0, 33, Local0, bs16)
+
+ ToString(m604(0, 1, 12, 0), Derefof(m601(1, 7)), Local0)
+ m600(arg0, 34, Local0, bs17)
+
+ ToString(m604(0, 1, 15, 0), Derefof(m601(1, 0)), Local0)
+ m600(arg0, 35, Local0, bs1a)
+ }
+ }
+
+ // Integer to Buffer conversion of the Integer Source operand of
+ // Mid operator
+
+ Method(m648, 1)
+ {
+ Store(Mid(m604(0, 1, 4, 0), 0, 9), Local0)
+ m600(arg0, 0, Local0, bb1d)
+
+ Store(Mid(m604(0, 1, 15, 0), 1, 8), Local0)
+ m600(arg0, 1, Local0, bb30)
+
+ Store(Mid(m604(0, 1, 4, 0), aui5, auib), Local0)
+ m600(arg0, 2, Local0, bb1d)
+
+ Store(Mid(m604(0, 1, 15, 0), aui6, auia), Local0)
+ m600(arg0, 3, Local0, bb30)
+
+ if (y078) {
+ Store(Mid(m604(0, 1, 4, 0), Derefof(Refof(aui5)), Derefof(Refof(auib))), Local0)
+ m600(arg0, 4, Local0, bb1d)
+
+ Store(Mid(m604(0, 1, 15, 0), Derefof(Refof(aui6)), Derefof(Refof(auia))), Local0)
+ m600(arg0, 5, Local0, bb30)
+ }
+
+ Store(Mid(m604(0, 1, 4, 0), Derefof(Index(paui, 5)), Derefof(Index(paui, 11))), Local0)
+ m600(arg0, 6, Local0, bb1d)
+
+ Store(Mid(m604(0, 1, 15, 0), Derefof(Index(paui, 6)), Derefof(Index(paui, 10))), Local0)
+ m600(arg0, 7, Local0, bb30)
+
+ // Method returns Index and Length parameters
+
+ Store(Mid(m604(0, 1, 4, 0), m601(1, 5), m601(1, 11)), Local0)
+ m600(arg0, 8, Local0, bb1d)
+
+ Store(Mid(m604(0, 1, 15, 0), m601(1, 6), m601(1, 10)), Local0)
+ m600(arg0, 9, Local0, bb30)
+
+ // Method returns Reference to Index and Length parameters
+
+ if (y500) {
+ Store(Mid(m604(0, 1, 4, 0), Derefof(m601(1, 5)), Derefof(m601(1, 11))), Local0)
+ m600(arg0, 10, Local0, bb1d)
+
+ Store(Mid(m604(0, 1, 15, 0), Derefof(m601(1, 6)), Derefof(m601(1, 10))), Local0)
+ m600(arg0, 11, Local0, bb30)
+ }
+
+ Mid(m604(0, 1, 4, 0), 0, 9, Local0)
+ m600(arg0, 12, Local0, bb1d)
+
+ Mid(m604(0, 1, 15, 0), 1, 8, Local0)
+ m600(arg0, 13, Local0, bb30)
+
+ Mid(m604(0, 1, 4, 0), aui5, auib, Local0)
+ m600(arg0, 14, Local0, bb1d)
+
+ Mid(m604(0, 1, 15, 0), aui6, auia, Local0)
+ m600(arg0, 15, Local0, bb30)
+
+ if (y078) {
+ Mid(m604(0, 1, 4, 0), Derefof(Refof(aui5)), Derefof(Refof(auib)), Local0)
+ m600(arg0, 16, Local0, bb1d)
+
+ Mid(m604(0, 1, 15, 0), Derefof(Refof(aui6)), Derefof(Refof(auia)), Local0)
+ m600(arg0, 17, Local0, bb30)
+ }
+
+ Mid(m604(0, 1, 4, 0), Derefof(Index(paui, 5)), Derefof(Index(paui, 11)), Local0)
+ m600(arg0, 18, Local0, bb1d)
+
+ Mid(m604(0, 1, 15, 0), Derefof(Index(paui, 6)), Derefof(Index(paui, 10)), Local0)
+ m600(arg0, 19, Local0, bb30)
+
+ // Method returns Index and Length parameters
+
+ Mid(m604(0, 1, 4, 0), m601(1, 5), m601(1, 11), Local0)
+ m600(arg0, 20, Local0, bb1d)
+
+ Mid(m604(0, 1, 15, 0), m601(1, 6), m601(1, 10), Local0)
+ m600(arg0, 21, Local0, bb30)
+
+ // Method returns Reference to Index and Length parameters
+
+ if (y500) {
+ Mid(m604(0, 1, 4, 0), Derefof(m601(1, 5)), Derefof(m601(1, 11)), Local0)
+ m600(arg0, 22, Local0, bb1d)
+
+ Mid(m604(0, 1, 15, 0), Derefof(m601(1, 6)), Derefof(m601(1, 10)), Local0)
+ m600(arg0, 23, Local0, bb30)
+ }
+ }
+
+ Method(m328, 1)
+ {
+ Store(Mid(m604(0, 1, 3, 0), 0, 5), Local0)
+ m600(arg0, 0, Local0, bb1c)
+
+ Store(Mid(m604(0, 1, 15, 0), 1, 4), Local0)
+ m600(arg0, 1, Local0, bb31)
+
+ Store(Mid(m604(0, 1, 3, 0), aui5, aui9), Local0)
+ m600(arg0, 2, Local0, bb1c)
+
+ Store(Mid(m604(0, 1, 15, 0), aui6, aui8), Local0)
+ m600(arg0, 3, Local0, bb31)
+
+ if (y078) {
+ Store(Mid(m604(0, 1, 3, 0), Derefof(Refof(aui5)), Derefof(Refof(aui9))), Local0)
+ m600(arg0, 4, Local0, bb1c)
+
+ Store(Mid(m604(0, 1, 15, 0), Derefof(Refof(aui6)), Derefof(Refof(aui8))), Local0)
+ m600(arg0, 5, Local0, bb31)
+ }
+
+ Store(Mid(m604(0, 1, 3, 0), Derefof(Index(paui, 5)), Derefof(Index(paui, 9))), Local0)
+ m600(arg0, 6, Local0, bb1c)
+
+ Store(Mid(m604(0, 1, 15, 0), Derefof(Index(paui, 6)), Derefof(Index(paui, 8))), Local0)
+ m600(arg0, 7, Local0, bb31)
+
+ // Method returns Index and Length parameters
+
+ Store(Mid(m604(0, 1, 3, 0), m601(1, 5), m601(1, 9)), Local0)
+ m600(arg0, 8, Local0, bb1c)
+
+ Store(Mid(m604(0, 1, 15, 0), m601(1, 6), m601(1, 8)), Local0)
+ m600(arg0, 9, Local0, bb31)
+
+ // Method returns Reference to Index and Length parameters
+
+ if (y500) {
+ Store(Mid(m604(0, 1, 3, 0), Derefof(m601(1, 5)), Derefof(m601(1, 9))), Local0)
+ m600(arg0, 10, Local0, bb1c)
+
+ Store(Mid(m604(0, 1, 15, 0), Derefof(m601(1, 6)), Derefof(m601(1, 8))), Local0)
+ m600(arg0, 11, Local0, bb31)
+ }
+
+ Mid(m604(0, 1, 3, 0), 0, 5, Local0)
+ m600(arg0, 12, Local0, bb1c)
+
+ Mid(m604(0, 1, 15, 0), 1, 4, Local0)
+ m600(arg0, 13, Local0, bb31)
+
+ Mid(m604(0, 1, 3, 0), aui5, aui9, Local0)
+ m600(arg0, 14, Local0, bb1c)
+
+ Mid(m604(0, 1, 15, 0), aui6, aui8, Local0)
+ m600(arg0, 15, Local0, bb31)
+
+ if (y078) {
+ Mid(m604(0, 1, 3, 0), Derefof(Refof(aui5)), Derefof(Refof(aui9)), Local0)
+ m600(arg0, 16, Local0, bb1c)
+
+ Mid(m604(0, 1, 15, 0), Derefof(Refof(aui6)), Derefof(Refof(aui8)), Local0)
+ m600(arg0, 17, Local0, bb31)
+ }
+
+ Mid(m604(0, 1, 3, 0), Derefof(Index(paui, 5)), Derefof(Index(paui, 9)), Local0)
+ m600(arg0, 18, Local0, bb1c)
+
+ Mid(m604(0, 1, 15, 0), Derefof(Index(paui, 6)), Derefof(Index(paui, 8)), Local0)
+ m600(arg0, 19, Local0, bb31)
+
+ // Method returns Index and Length parameters
+
+ Mid(m604(0, 1, 3, 0), m601(1, 5), m601(1, 9), Local0)
+ m600(arg0, 20, Local0, bb1c)
+
+ Mid(m604(0, 1, 15, 0), m601(1, 6), m601(1, 8), Local0)
+ m600(arg0, 21, Local0, bb31)
+
+ // Method returns Reference to Index and Length parameters
+
+ if (y500) {
+ Mid(m604(0, 1, 3, 0), Derefof(m601(1, 5)), Derefof(m601(1, 9)), Local0)
+ m600(arg0, 22, Local0, bb1c)
+
+ Mid(m604(0, 1, 15, 0), Derefof(m601(1, 6)), Derefof(m601(1, 8)), Local0)
+ m600(arg0, 23, Local0, bb31)
+ }
+ }
+
+// Method(m649, 1)
+
+// Method(m329, 1)
+
+// Method(m64a, 1)
+
+// Method(m32a, 1)
+
+ // String to Integer implicit conversion Cases.
+
+ // String to Integer conversion of the String sole operand
+ // of the 1-parameter Integer arithmetic operators
+ // (Decrement, Increment, FindSetLeftBit, FindSetRightBit, Not)
+
+ Method(m64b, 1)
+ {
+ // Decrement
+ if (y501) {
+ Store(Decrement(m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 0, Local0, bi12)
+
+ Store(Decrement(m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 1, Local0, bi16)
+ }
+
+ // Increment
+ if (y501) {
+ Store(Increment(m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 2, Local0, bi13)
+
+ Store(Increment(m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 3, Local0, bi17)
+ }
+
+ // FindSetLeftBit
+ Store(FindSetLeftBit(m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 4, Local0, 10)
+
+ Store(FindSetLeftBit(m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 5, Local0, 64)
+
+ // FindSetRightBit
+
+ Store(FindSetRightBit(m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 6, Local0, 1)
+
+ Store(FindSetRightBit(m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 7, Local0, 3)
+
+ // Not
+
+ Store(Not(m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 8, Local0, 0xfffffffffffffcde)
+
+ Store(Not(m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 9, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Method(m32b, 1)
+ {
+ // Decrement
+ if (y501) {
+ Store(Decrement(m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 0, Local0, bi12)
+
+ Store(Decrement(m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 1, Local0, bi14)
+ }
+
+ // Increment
+ if (y501) {
+ Store(Increment(m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 2, Local0, bi13)
+
+ Store(Increment(m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 3, Local0, bi15)
+ }
+
+ // FindSetLeftBit
+
+ Store(FindSetLeftBit(m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 4, Local0, 10)
+
+ Store(FindSetLeftBit(m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 5, Local0, 32)
+
+ // FindSetRightBit
+
+ Store(FindSetRightBit(m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 6, Local0, 1)
+
+ Store(FindSetRightBit(m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 7, Local0, 2)
+
+ // Not
+
+ Store(Not(m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 8, Local0, 0xfffffcde)
+
+ Store(Not(m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 9, Local0, 0x3e864c01)
+ }
+
+ // String to Integer conversion of the String sole operand
+ // of the LNot Logical Integer operator
+ Method(m000, 1)
+ {
+ Store(LNot(m604(0, 2, 0, 0)), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LNot(m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ if (F64) {
+ Store(LNot(m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 2, Local0, Zero)
+ } else {
+ Store(LNot(m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 3, Local0, Zero)
+ }
+ }
+
+ // String to Integer conversion of the String sole operand
+ // of the FromBCD and ToBCD conversion operators
+
+ Method(m64c, 1)
+ {
+ // FromBCD
+
+ Store(FromBCD(m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 2, Local0, 0x141)
+
+ Store(FromBCD(m604(0, 2, 21, 0)), Local0)
+ m600(arg0, 3, Local0, 0xd76162ee9ec35)
+
+ FromBCD(m604(0, 2, 1, 0), Local0)
+ m600(arg0, 2, Local0, 0x141)
+
+ FromBCD(m604(0, 2, 21, 0), Local0)
+ m600(arg0, 3, Local0, 0xd76162ee9ec35)
+
+ // ToBCD
+
+ Store(ToBCD(m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 4, Local0, 0x801)
+
+/* Error of iASL on constant folding
+ Store(ToBCD(m604(0, 2, 22, 0)), Local0)
+ m600(arg0, 5, Local0, 0x3789012345678901)
+*/
+
+ ToBCD(m604(0, 2, 1, 0), Local0)
+ m600(arg0, 4, Local0, 0x801)
+
+ ToBCD(m604(0, 2, 22, 0), Local0)
+ m600(arg0, 5, Local0, 0x3789012345678901)
+ }
+
+ Method(m32c, 1)
+ {
+ // FromBCD
+
+ Store(FromBCD(m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 2, Local0, 0x141)
+
+ Store(FromBCD(m604(0, 2, 23, 0)), Local0)
+ m600(arg0, 3, Local0, 0x55f2cc0)
+
+ FromBCD(m604(0, 2, 1, 0), Local0)
+ m600(arg0, 2, Local0, 0x141)
+
+ FromBCD(m604(0, 2, 23, 0), Local0)
+ m600(arg0, 3, Local0, 0x55f2cc0)
+
+ // ToBCD
+
+ Store(ToBCD(m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 4, Local0, 0x801)
+
+ Store(ToBCD(m604(0, 2, 24, 0)), Local0)
+ m600(arg0, 5, Local0, 0x90123456)
+
+ ToBCD(m604(0, 2, 1, 0), Local0)
+ m600(arg0, 4, Local0, 0x801)
+
+ ToBCD(m604(0, 2, 24, 0), Local0)
+ m600(arg0, 5, Local0, 0x90123456)
+ }
+
+ // String to Integer conversion of each String operand
+ // of the 2-parameter Integer arithmetic operators
+ // Add, And, Divide, Mod, Multiply, NAnd, NOr, Or,
+ // ShiftLeft, ShiftRight, Subtract, Xor
+
+ // Add, common 32-bit/64-bit test
+ Method(m001, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Add(m604(0, 2, 1, 0), 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Add(m604(0, 2, 1, 0), 1), Local0)
+ m600(arg0, 1, Local0, 0x322)
+
+ Store(Add(m604(0, 2, 1, 0), aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Add(m604(0, 2, 1, 0), aui6), Local0)
+ m600(arg0, 3, Local0, 0x322)
+
+ if (y078) {
+ Store(Add(m604(0, 2, 1, 0), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Add(m604(0, 2, 1, 0), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x322)
+ }
+
+ Store(Add(m604(0, 2, 1, 0), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Add(m604(0, 2, 1, 0), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x322)
+
+ // Method returns Integer
+
+ Store(Add(m604(0, 2, 1, 0), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Add(m604(0, 2, 1, 0), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x322)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(m604(0, 2, 1, 0), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Add(m604(0, 2, 1, 0), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x322)
+ }
+
+ Add(m604(0, 2, 1, 0), 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Add(m604(0, 2, 1, 0), 1, Local0)
+ m600(arg0, 13, Local0, 0x322)
+
+ Add(m604(0, 2, 1, 0), aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Add(m604(0, 2, 1, 0), aui6, Local0)
+ m600(arg0, 15, Local0, 0x322)
+
+ if (y078) {
+ Add(m604(0, 2, 1, 0), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Add(m604(0, 2, 1, 0), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x322)
+ }
+
+ Add(m604(0, 2, 1, 0), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Add(m604(0, 2, 1, 0), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x322)
+
+ // Method returns Integer
+
+ Add(m604(0, 2, 1, 0), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Add(m604(0, 2, 1, 0), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x322)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(m604(0, 2, 1, 0), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Add(m604(0, 2, 1, 0), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x322)
+ }
+
+ // Conversion of the second operand
+
+ Store(Add(0, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 24, Local0, 0x321)
+
+ Store(Add(1, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 25, Local0, 0x322)
+
+ Store(Add(aui5, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 26, Local0, 0x321)
+
+ Store(Add(aui6, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 27, Local0, 0x322)
+
+ if (y078) {
+ Store(Add(Derefof(Refof(aui5)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 28, Local0, 0x321)
+
+ Store(Add(Derefof(Refof(aui6)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 29, Local0, 0x322)
+ }
+
+ Store(Add(Derefof(Index(paui, 5)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 30, Local0, 0x321)
+
+ Store(Add(Derefof(Index(paui, 6)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 31, Local0, 0x322)
+
+ // Method returns Integer
+
+ Store(Add(m601(1, 5), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 32, Local0, 0x321)
+
+ Store(Add(m601(1, 6), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 33, Local0, 0x322)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(Derefof(m602(1, 5, 1)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 34, Local0, 0x321)
+
+ Store(Add(Derefof(m602(1, 6, 1)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 35, Local0, 0x322)
+ }
+
+ Add(0, m604(0, 2, 1, 0), Local0)
+ m600(arg0, 36, Local0, 0x321)
+
+ Add(1, m604(0, 2, 1, 0), Local0)
+ m600(arg0, 37, Local0, 0x322)
+
+ Add(aui5, m604(0, 2, 1, 0), Local0)
+ m600(arg0, 38, Local0, 0x321)
+
+ Add(aui6, m604(0, 2, 1, 0), Local0)
+ m600(arg0, 39, Local0, 0x322)
+
+ if (y078) {
+ Add(Derefof(Refof(aui5)), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 40, Local0, 0x321)
+
+ Add(Derefof(Refof(aui6)), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 41, Local0, 0x322)
+ }
+
+ Add(Derefof(Index(paui, 5)), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 42, Local0, 0x321)
+
+ Add(Derefof(Index(paui, 6)), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 43, Local0, 0x322)
+
+ // Method returns Integer
+
+ Add(m601(1, 5), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 44, Local0, 0x321)
+
+ Add(m601(1, 6), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 45, Local0, 0x322)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(Derefof(m602(1, 5, 1)), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 46, Local0, 0x321)
+
+ Add(Derefof(m602(1, 6, 1)), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 47, Local0, 0x322)
+ }
+ }
+
+ // Add, 64-bit
+ Method(m002, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Add(m604(0, 2, 5, 0), 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(m604(0, 2, 5, 0), 1), Local0)
+ m600(arg0, 1, Local0, 0xfe7cb391d650a285)
+
+ Store(Add(m604(0, 2, 5, 0), aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(m604(0, 2, 5, 0), aui6), Local0)
+ m600(arg0, 3, Local0, 0xfe7cb391d650a285)
+
+ if (y078) {
+ Store(Add(m604(0, 2, 5, 0), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(m604(0, 2, 5, 0), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xfe7cb391d650a285)
+ }
+
+ Store(Add(m604(0, 2, 5, 0), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(m604(0, 2, 5, 0), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Integer
+
+ Store(Add(m604(0, 2, 5, 0), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(m604(0, 2, 5, 0), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(m604(0, 2, 5, 0), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(m604(0, 2, 5, 0), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfe7cb391d650a285)
+ }
+
+ Add(m604(0, 2, 5, 0), 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Add(m604(0, 2, 5, 0), 1, Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a285)
+
+ Add(m604(0, 2, 5, 0), aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Add(m604(0, 2, 5, 0), aui6, Local0)
+ m600(arg0, 15, Local0, 0xfe7cb391d650a285)
+
+ if (y078) {
+ Add(m604(0, 2, 5, 0), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Add(m604(0, 2, 5, 0), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xfe7cb391d650a285)
+ }
+
+ Add(m604(0, 2, 5, 0), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Add(m604(0, 2, 5, 0), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Integer
+
+ Add(m604(0, 2, 5, 0), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Add(m604(0, 2, 5, 0), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(m604(0, 2, 5, 0), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Add(m604(0, 2, 5, 0), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfe7cb391d650a285)
+ }
+
+ // Conversion of the second operand
+
+ Store(Add(0, m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 24, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(1, m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 25, Local0, 0xfe7cb391d650a285)
+
+ Store(Add(aui5, m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 26, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(aui6, m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 27, Local0, 0xfe7cb391d650a285)
+
+ if (y078) {
+ Store(Add(Derefof(Refof(aui5)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 28, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(Refof(aui6)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 29, Local0, 0xfe7cb391d650a285)
+ }
+
+ Store(Add(Derefof(Index(paui, 5)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 30, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(Index(paui, 6)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 31, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Integer
+
+ Store(Add(m601(1, 5), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 32, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(m601(1, 6), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 33, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(Derefof(m602(1, 5, 1)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 34, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(m602(1, 6, 1)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 35, Local0, 0xfe7cb391d650a285)
+ }
+
+ Add(0, m604(0, 2, 5, 0), Local0)
+ m600(arg0, 36, Local0, 0xfe7cb391d650a284)
+
+ Add(1, m604(0, 2, 5, 0), Local0)
+ m600(arg0, 37, Local0, 0xfe7cb391d650a285)
+
+ Add(aui5, m604(0, 2, 5, 0), Local0)
+ m600(arg0, 38, Local0, 0xfe7cb391d650a284)
+
+ Add(aui6, m604(0, 2, 5, 0), Local0)
+ m600(arg0, 39, Local0, 0xfe7cb391d650a285)
+
+ if (y078) {
+ Add(Derefof(Refof(aui5)), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 40, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(Refof(aui6)), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 41, Local0, 0xfe7cb391d650a285)
+ }
+
+ Add(Derefof(Index(paui, 5)), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 42, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(Index(paui, 6)), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 43, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Integer
+
+ Add(m601(1, 5), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 44, Local0, 0xfe7cb391d650a284)
+
+ Add(m601(1, 6), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 45, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(Derefof(m602(1, 5, 1)), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 46, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(m602(1, 6, 1)), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 47, Local0, 0xfe7cb391d650a285)
+ }
+
+ // Conversion of the both operands
+
+ Store(Add(m604(0, 2, 1, 0), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 48, Local0, 0xfe7cb391d650a5a5)
+
+ Store(Add(m604(0, 2, 5, 0), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 49, Local0, 0xfe7cb391d650a5a5)
+
+ Add(m604(0, 2, 1, 0), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 50, Local0, 0xfe7cb391d650a5a5)
+
+ Add(m604(0, 2, 5, 0), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 51, Local0, 0xfe7cb391d650a5a5)
+ }
+
+ // Add, 32-bit
+ Method(m003, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Add(m604(0, 2, 4, 0), 0), Local0)
+ m600(arg0, 0, Local0, 0xc179b3fe)
+
+ Store(Add(m604(0, 2, 4, 0), 1), Local0)
+ m600(arg0, 1, Local0, 0xc179b3ff)
+
+ Store(Add(m604(0, 2, 4, 0), aui5), Local0)
+ m600(arg0, 2, Local0, 0xc179b3fe)
+
+ Store(Add(m604(0, 2, 4, 0), aui6), Local0)
+ m600(arg0, 3, Local0, 0xc179b3ff)
+
+ if (y078) {
+ Store(Add(m604(0, 2, 4, 0), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xc179b3fe)
+
+ Store(Add(m604(0, 2, 4, 0), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xc179b3ff)
+ }
+
+ Store(Add(m604(0, 2, 4, 0), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xc179b3fe)
+
+ Store(Add(m604(0, 2, 4, 0), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xc179b3ff)
+
+ // Method returns Integer
+
+ Store(Add(m604(0, 2, 4, 0), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xc179b3fe)
+
+ Store(Add(m604(0, 2, 4, 0), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xc179b3ff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(m604(0, 2, 4, 0), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xc179b3fe)
+
+ Store(Add(m604(0, 2, 4, 0), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xc179b3ff)
+ }
+
+ Add(m604(0, 2, 4, 0), 0, Local0)
+ m600(arg0, 12, Local0, 0xc179b3fe)
+
+ Add(m604(0, 2, 4, 0), 1, Local0)
+ m600(arg0, 13, Local0, 0xc179b3ff)
+
+ Add(m604(0, 2, 4, 0), aui5, Local0)
+ m600(arg0, 14, Local0, 0xc179b3fe)
+
+ Add(m604(0, 2, 4, 0), aui6, Local0)
+ m600(arg0, 15, Local0, 0xc179b3ff)
+
+ if (y078) {
+ Add(m604(0, 2, 4, 0), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xc179b3fe)
+
+ Add(m604(0, 2, 4, 0), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xc179b3ff)
+ }
+
+ Add(m604(0, 2, 4, 0), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xc179b3fe)
+
+ Add(m604(0, 2, 4, 0), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xc179b3ff)
+
+ // Method returns Integer
+
+ Add(m604(0, 2, 4, 0), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xc179b3fe)
+
+ Add(m604(0, 2, 4, 0), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xc179b3ff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(m604(0, 2, 4, 0), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xc179b3fe)
+
+ Add(m604(0, 2, 4, 0), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xc179b3ff)
+ }
+
+ // Conversion of the second operand
+
+ Store(Add(0, m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 24, Local0, 0xc179b3fe)
+
+ Store(Add(1, m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 25, Local0, 0xc179b3ff)
+
+ Store(Add(aui5, m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 26, Local0, 0xc179b3fe)
+
+ Store(Add(aui6, m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 27, Local0, 0xc179b3ff)
+
+ if (y078) {
+ Store(Add(Derefof(Refof(aui5)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 28, Local0, 0xc179b3fe)
+
+ Store(Add(Derefof(Refof(aui6)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 29, Local0, 0xc179b3ff)
+ }
+
+ Store(Add(Derefof(Index(paui, 5)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 30, Local0, 0xc179b3fe)
+
+ Store(Add(Derefof(Index(paui, 6)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 31, Local0, 0xc179b3ff)
+
+ // Method returns Integer
+
+ Store(Add(m601(1, 5), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 32, Local0, 0xc179b3fe)
+
+ Store(Add(m601(1, 6), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 33, Local0, 0xc179b3ff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(Derefof(m602(1, 5, 1)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 34, Local0, 0xc179b3fe)
+
+ Store(Add(Derefof(m602(1, 6, 1)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 35, Local0, 0xc179b3ff)
+ }
+
+ Add(0, m604(0, 2, 4, 0), Local0)
+ m600(arg0, 36, Local0, 0xc179b3fe)
+
+ Add(1, m604(0, 2, 4, 0), Local0)
+ m600(arg0, 37, Local0, 0xc179b3ff)
+
+ Add(aui5, m604(0, 2, 4, 0), Local0)
+ m600(arg0, 38, Local0, 0xc179b3fe)
+
+ Add(aui6, m604(0, 2, 4, 0), Local0)
+ m600(arg0, 39, Local0, 0xc179b3ff)
+
+ if (y078) {
+ Add(Derefof(Refof(aui5)), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 40, Local0, 0xc179b3fe)
+
+ Add(Derefof(Refof(aui6)), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 41, Local0, 0xc179b3ff)
+ }
+
+ Add(Derefof(Index(paui, 5)), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 42, Local0, 0xc179b3fe)
+
+ Add(Derefof(Index(paui, 6)), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 43, Local0, 0xc179b3ff)
+
+ // Method returns Integer
+
+ Add(m601(1, 5), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 44, Local0, 0xc179b3fe)
+
+ Add(m601(1, 6), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 45, Local0, 0xc179b3ff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(Derefof(m602(1, 5, 1)), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 46, Local0, 0xc179b3fe)
+
+ Add(Derefof(m602(1, 6, 1)), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 47, Local0, 0xc179b3ff)
+ }
+
+ // Conversion of the both operands
+
+ Store(Add(m604(0, 2, 1, 0), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 48, Local0, 0xc179b71f)
+
+ Store(Add(m604(0, 2, 4, 0), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 49, Local0, 0xc179b71f)
+
+ Add(m604(0, 2, 1, 0), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 50, Local0, 0xc179b71f)
+
+ Add(m604(0, 2, 4, 0), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 51, Local0, 0xc179b71f)
+ }
+
+ // And, common 32-bit/64-bit test
+ Method(m004, 1)
+ {
+ // Conversion of the first operand
+
+ Store(And(m604(0, 2, 1, 0), 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(And(m604(0, 2, 1, 0), 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0x321)
+
+ Store(And(m604(0, 2, 1, 0), aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(And(m604(0, 2, 1, 0), auij), Local0)
+ m600(arg0, 3, Local0, 0x321)
+
+ if (y078) {
+ Store(And(m604(0, 2, 1, 0), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(And(m604(0, 2, 1, 0), Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0x321)
+ }
+
+ Store(And(m604(0, 2, 1, 0), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(And(m604(0, 2, 1, 0), Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0x321)
+
+ // Method returns Integer
+
+ Store(And(m604(0, 2, 1, 0), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(And(m604(0, 2, 1, 0), m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(m604(0, 2, 1, 0), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(And(m604(0, 2, 1, 0), Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0x321)
+ }
+
+ And(m604(0, 2, 1, 0), 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ And(m604(0, 2, 1, 0), 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0x321)
+
+ And(m604(0, 2, 1, 0), aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ And(m604(0, 2, 1, 0), auij, Local0)
+ m600(arg0, 15, Local0, 0x321)
+
+ if (y078) {
+ And(m604(0, 2, 1, 0), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ And(m604(0, 2, 1, 0), Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0x321)
+ }
+
+ And(m604(0, 2, 1, 0), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ And(m604(0, 2, 1, 0), Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0x321)
+
+ // Method returns Integer
+
+ And(m604(0, 2, 1, 0), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ And(m604(0, 2, 1, 0), m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(m604(0, 2, 1, 0), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ And(m604(0, 2, 1, 0), Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0x321)
+ }
+
+ // Conversion of the second operand
+
+ Store(And(0, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(And(0xffffffffffffffff, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 25, Local0, 0x321)
+
+ Store(And(aui5, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(And(auij, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 27, Local0, 0x321)
+
+ if (y078) {
+ Store(And(Derefof(Refof(aui5)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(And(Derefof(Refof(auij)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 29, Local0, 0x321)
+ }
+
+ Store(And(Derefof(Index(paui, 5)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(And(Derefof(Index(paui, 19)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 31, Local0, 0x321)
+
+ // Method returns Integer
+
+ Store(And(m601(1, 5), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(And(m601(1, 19), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 33, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(Derefof(m602(1, 5, 1)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(And(Derefof(m602(1, 19, 1)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 35, Local0, 0x321)
+ }
+
+ And(0, m604(0, 2, 1, 0), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ And(0xffffffffffffffff, m604(0, 2, 1, 0), Local0)
+ m600(arg0, 37, Local0, 0x321)
+
+ And(aui5, m604(0, 2, 1, 0), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ And(auij, m604(0, 2, 1, 0), Local0)
+ m600(arg0, 39, Local0, 0x321)
+
+ if (y078) {
+ And(Derefof(Refof(aui5)), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ And(Derefof(Refof(auij)), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 41, Local0, 0x321)
+ }
+
+ And(Derefof(Index(paui, 5)), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ And(Derefof(Index(paui, 19)), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 43, Local0, 0x321)
+
+ // Method returns Integer
+
+ And(m601(1, 5), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ And(m601(1, 19), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 45, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(Derefof(m602(1, 5, 1)), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ And(Derefof(m602(1, 19, 1)), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 47, Local0, 0x321)
+ }
+ }
+
+ // And, 64-bit
+ Method(m005, 1)
+ {
+ // Conversion of the first operand
+
+ Store(And(m604(0, 2, 5, 0), 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(And(m604(0, 2, 5, 0), 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xfe7cb391d650a284)
+
+ Store(And(m604(0, 2, 5, 0), aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(And(m604(0, 2, 5, 0), auij), Local0)
+ m600(arg0, 3, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Store(And(m604(0, 2, 5, 0), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(And(m604(0, 2, 5, 0), Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xfe7cb391d650a284)
+ }
+
+ Store(And(m604(0, 2, 5, 0), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(And(m604(0, 2, 5, 0), Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Store(And(m604(0, 2, 5, 0), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(And(m604(0, 2, 5, 0), m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(m604(0, 2, 5, 0), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(And(m604(0, 2, 5, 0), Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfe7cb391d650a284)
+ }
+
+ And(m604(0, 2, 5, 0), 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ And(m604(0, 2, 5, 0), 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a284)
+
+ And(m604(0, 2, 5, 0), aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ And(m604(0, 2, 5, 0), auij, Local0)
+ m600(arg0, 15, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ And(m604(0, 2, 5, 0), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ And(m604(0, 2, 5, 0), Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xfe7cb391d650a284)
+ }
+
+ And(m604(0, 2, 5, 0), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ And(m604(0, 2, 5, 0), Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ And(m604(0, 2, 5, 0), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ And(m604(0, 2, 5, 0), m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(m604(0, 2, 5, 0), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ And(m604(0, 2, 5, 0), Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfe7cb391d650a284)
+ }
+
+ // Conversion of the second operand
+
+ Store(And(0, m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(And(0xffffffffffffffff, m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 25, Local0, 0xfe7cb391d650a284)
+
+ Store(And(aui5, m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(And(auij, m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 27, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Store(And(Derefof(Refof(aui5)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(And(Derefof(Refof(auij)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 29, Local0, 0xfe7cb391d650a284)
+ }
+
+ Store(And(Derefof(Index(paui, 5)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(And(Derefof(Index(paui, 19)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 31, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Store(And(m601(1, 5), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(And(m601(1, 19), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 33, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(Derefof(m602(1, 5, 1)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(And(Derefof(m602(1, 19, 1)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 35, Local0, 0xfe7cb391d650a284)
+ }
+
+ And(0, m604(0, 2, 5, 0), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ And(0xffffffffffffffff, m604(0, 2, 5, 0), Local0)
+ m600(arg0, 37, Local0, 0xfe7cb391d650a284)
+
+ And(aui5, m604(0, 2, 5, 0), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ And(auij, m604(0, 2, 5, 0), Local0)
+ m600(arg0, 39, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ And(Derefof(Refof(aui5)), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ And(Derefof(Refof(auij)), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 41, Local0, 0xfe7cb391d650a284)
+ }
+
+ And(Derefof(Index(paui, 5)), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ And(Derefof(Index(paui, 19)), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 43, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ And(m601(1, 5), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ And(m601(1, 19), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 45, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(Derefof(m602(1, 5, 1)), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ And(Derefof(m602(1, 19, 1)), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 47, Local0, 0xfe7cb391d650a284)
+ }
+
+ // Conversion of the both operands
+
+ Store(And(m604(0, 2, 1, 0), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 48, Local0, 0x200)
+
+ Store(And(m604(0, 2, 5, 0), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 49, Local0, 0x200)
+
+ And(m604(0, 2, 1, 0), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 50, Local0, 0x200)
+
+ And(m604(0, 2, 5, 0), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 51, Local0, 0x200)
+ }
+
+ // And, 32-bit
+ Method(m006, 1)
+ {
+ // Conversion of the first operand
+
+ Store(And(m604(0, 2, 4, 0), 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(And(m604(0, 2, 4, 0), 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0xc179b3fe)
+
+ Store(And(m604(0, 2, 4, 0), aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(And(m604(0, 2, 4, 0), auii), Local0)
+ m600(arg0, 3, Local0, 0xc179b3fe)
+
+ if (y078) {
+ Store(And(m604(0, 2, 4, 0), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(And(m604(0, 2, 4, 0), Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0xc179b3fe)
+ }
+
+ Store(And(m604(0, 2, 4, 0), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(And(m604(0, 2, 4, 0), Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0xc179b3fe)
+
+ // Method returns Integer
+
+ Store(And(m604(0, 2, 4, 0), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(And(m604(0, 2, 4, 0), m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0xc179b3fe)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(m604(0, 2, 4, 0), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(And(m604(0, 2, 4, 0), Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0xc179b3fe)
+ }
+
+ And(m604(0, 2, 4, 0), 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ And(m604(0, 2, 4, 0), 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0xc179b3fe)
+
+ And(m604(0, 2, 4, 0), aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ And(m604(0, 2, 4, 0), auii, Local0)
+ m600(arg0, 15, Local0, 0xc179b3fe)
+
+ if (y078) {
+ And(m604(0, 2, 4, 0), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ And(m604(0, 2, 4, 0), Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0xc179b3fe)
+ }
+
+ And(m604(0, 2, 4, 0), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ And(m604(0, 2, 4, 0), Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0xc179b3fe)
+
+ // Method returns Integer
+
+ And(m604(0, 2, 4, 0), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ And(m604(0, 2, 4, 0), m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0xc179b3fe)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(m604(0, 2, 4, 0), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ And(m604(0, 2, 4, 0), Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0xc179b3fe)
+ }
+
+ // Conversion of the second operand
+
+ Store(And(0, m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(And(0xffffffff, m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 25, Local0, 0xc179b3fe)
+
+ Store(And(aui5, m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(And(auii, m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 27, Local0, 0xc179b3fe)
+
+ if (y078) {
+ Store(And(Derefof(Refof(aui5)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(And(Derefof(Refof(auii)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 29, Local0, 0xc179b3fe)
+ }
+
+ Store(And(Derefof(Index(paui, 5)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(And(Derefof(Index(paui, 18)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 31, Local0, 0xc179b3fe)
+
+ // Method returns Integer
+
+ Store(And(m601(1, 5), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(And(m601(1, 18), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 33, Local0, 0xc179b3fe)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(Derefof(m602(1, 5, 1)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(And(Derefof(m602(1, 18, 1)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 35, Local0, 0xc179b3fe)
+ }
+
+ And(0, m604(0, 2, 4, 0), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ And(0xffffffff, m604(0, 2, 4, 0), Local0)
+ m600(arg0, 37, Local0, 0xc179b3fe)
+
+ And(aui5, m604(0, 2, 4, 0), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ And(auii, m604(0, 2, 4, 0), Local0)
+ m600(arg0, 39, Local0, 0xc179b3fe)
+
+ if (y078) {
+ And(Derefof(Refof(aui5)), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ And(Derefof(Refof(auii)), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 41, Local0, 0xc179b3fe)
+ }
+
+ And(Derefof(Index(paui, 5)), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ And(Derefof(Index(paui, 18)), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 43, Local0, 0xc179b3fe)
+
+ // Method returns Integer
+
+ And(m601(1, 5), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ And(m601(1, 18), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 45, Local0, 0xc179b3fe)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(Derefof(m602(1, 5, 1)), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ And(Derefof(m602(1, 18, 1)), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 47, Local0, 0xc179b3fe)
+ }
+
+ // Conversion of the both operands
+
+ Store(And(m604(0, 2, 1, 0), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 48, Local0, 0x320)
+
+ Store(And(m604(0, 2, 4, 0), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 49, Local0, 0x320)
+
+ And(m604(0, 2, 1, 0), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 50, Local0, 0x320)
+
+ And(m604(0, 2, 4, 0), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 51, Local0, 0x320)
+ }
+
+ // Divide, common 32-bit/64-bit test
+ Method(m007, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Divide(m604(0, 2, 1, 0), 1), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Divide(m604(0, 2, 1, 0), 0x321), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Divide(m604(0, 2, 1, 0), aui6), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Divide(m604(0, 2, 1, 0), aui1), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Divide(m604(0, 2, 1, 0), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Divide(m604(0, 2, 1, 0), Derefof(Refof(aui1))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Divide(m604(0, 2, 1, 0), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Divide(m604(0, 2, 1, 0), Derefof(Index(paui, 1))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(m604(0, 2, 1, 0), m601(1, 6)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Divide(m604(0, 2, 1, 0), m601(1, 1)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(m604(0, 2, 1, 0), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Divide(m604(0, 2, 1, 0), Derefof(m602(1, 1, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Divide(m604(0, 2, 1, 0), 1, Local1, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Divide(m604(0, 2, 1, 0), 0x321, Local1, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Divide(m604(0, 2, 1, 0), aui6, Local1, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Divide(m604(0, 2, 1, 0), aui1, Local1, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Divide(m604(0, 2, 1, 0), Derefof(Refof(aui6)), Local1, Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Divide(m604(0, 2, 1, 0), Derefof(Refof(aui1)), Local1, Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Divide(m604(0, 2, 1, 0), Derefof(Index(paui, 6)), Local1, Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Divide(m604(0, 2, 1, 0), Derefof(Index(paui, 1)), Local1, Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(m604(0, 2, 1, 0), m601(1, 6), Local1, Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Divide(m604(0, 2, 1, 0), m601(1, 1), Local1, Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(m604(0, 2, 1, 0), Derefof(m602(1, 6, 1)), Local1, Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Divide(m604(0, 2, 1, 0), Derefof(m602(1, 1, 1)), Local1, Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Divide(1, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Divide(0x321, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 25, Local0, 1)
+
+ Store(Divide(aui6, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Divide(aui1, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 27, Local0, 1)
+
+ if (y078) {
+ Store(Divide(Derefof(Refof(aui6)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Divide(Derefof(Refof(aui1)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 29, Local0, 1)
+ }
+
+ Store(Divide(Derefof(Index(paui, 6)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Divide(Derefof(Index(paui, 1)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 31, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(m601(1, 6), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Divide(m601(1, 1), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 33, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(Derefof(m602(1, 6, 1)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Divide(Derefof(m602(1, 1, 1)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 35, Local0, 1)
+ }
+
+ Divide(1, m604(0, 2, 1, 0), Local1, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Divide(0x321, m604(0, 2, 1, 0), Local1, Local0)
+ m600(arg0, 37, Local0, 1)
+
+ Divide(aui6, m604(0, 2, 1, 0), Local1, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Divide(aui1, m604(0, 2, 1, 0), Local1, Local0)
+ m600(arg0, 39, Local0, 1)
+
+ if (y078) {
+ Divide(Derefof(Refof(aui6)), m604(0, 2, 1, 0), Local1, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Divide(Derefof(Refof(aui1)), m604(0, 2, 1, 0), Local1, Local0)
+ m600(arg0, 41, Local0, 1)
+ }
+
+ Divide(Derefof(Index(paui, 6)), m604(0, 2, 1, 0), Local1, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Divide(Derefof(Index(paui, 1)), m604(0, 2, 1, 0), Local1, Local0)
+ m600(arg0, 43, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(m601(1, 6), m604(0, 2, 1, 0), Local1, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Divide(m601(1, 1), m604(0, 2, 1, 0), Local1, Local0)
+ m600(arg0, 45, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(Derefof(m602(1, 6, 1)), m604(0, 2, 1, 0), Local1, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Divide(Derefof(m602(1, 1, 1)), m604(0, 2, 1, 0), Local1, Local0)
+ m600(arg0, 47, Local0, 1)
+ }
+ }
+
+ // Divide, 64-bit
+ Method(m008, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Divide(m604(0, 2, 5, 0), 1), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(m604(0, 2, 5, 0), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Divide(m604(0, 2, 5, 0), aui6), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(m604(0, 2, 5, 0), aui4), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Divide(m604(0, 2, 5, 0), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(m604(0, 2, 5, 0), Derefof(Refof(aui4))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Divide(m604(0, 2, 5, 0), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(m604(0, 2, 5, 0), Derefof(Index(paui, 4))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(m604(0, 2, 5, 0), m601(1, 6)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(m604(0, 2, 5, 0), m601(1, 4)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(m604(0, 2, 5, 0), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(m604(0, 2, 5, 0), Derefof(m602(1, 4, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Divide(m604(0, 2, 5, 0), 1, Local1, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Divide(m604(0, 2, 5, 0), 0xfe7cb391d650a284, Local1, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Divide(m604(0, 2, 5, 0), aui6, Local1, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Divide(m604(0, 2, 5, 0), aui4, Local1, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Divide(m604(0, 2, 5, 0), Derefof(Refof(aui6)), Local1, Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Divide(m604(0, 2, 5, 0), Derefof(Refof(aui4)), Local1, Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Divide(m604(0, 2, 5, 0), Derefof(Index(paui, 6)), Local1, Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Divide(m604(0, 2, 5, 0), Derefof(Index(paui, 4)), Local1, Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(m604(0, 2, 5, 0), m601(1, 6), Local1, Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Divide(m604(0, 2, 5, 0), m601(1, 4), Local1, Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(m604(0, 2, 5, 0), Derefof(m602(1, 6, 1)), Local1, Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Divide(m604(0, 2, 5, 0), Derefof(m602(1, 4, 1)), Local1, Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Divide(1, m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Divide(0xfe7cb391d650a284, m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 25, Local0, 1)
+
+ Store(Divide(aui6, m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Divide(aui4, m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 27, Local0, 1)
+
+ if (y078) {
+ Store(Divide(Derefof(Refof(aui6)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Divide(Derefof(Refof(aui4)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 29, Local0, 1)
+ }
+
+ Store(Divide(Derefof(Index(paui, 6)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Divide(Derefof(Index(paui, 4)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 31, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(m601(1, 6), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Divide(m601(1, 4), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 33, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(Derefof(m602(1, 6, 1)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Divide(Derefof(m602(1, 4, 1)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 35, Local0, 1)
+ }
+
+ Divide(1, m604(0, 2, 5, 0), Local1, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Divide(0xfe7cb391d650a284, m604(0, 2, 5, 0), Local1, Local0)
+ m600(arg0, 37, Local0, 1)
+
+ Divide(aui6, m604(0, 2, 5, 0), Local1, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Divide(aui4, m604(0, 2, 5, 0), Local1, Local0)
+ m600(arg0, 39, Local0, 1)
+
+ if (y078) {
+ Divide(Derefof(Refof(aui6)), m604(0, 2, 5, 0), Local1, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Divide(Derefof(Refof(aui4)), m604(0, 2, 5, 0), Local1, Local0)
+ m600(arg0, 41, Local0, 1)
+ }
+
+ Divide(Derefof(Index(paui, 6)), m604(0, 2, 5, 0), Local1, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Divide(Derefof(Index(paui, 4)), m604(0, 2, 5, 0), Local1, Local0)
+ m600(arg0, 43, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(m601(1, 6), m604(0, 2, 5, 0), Local1, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Divide(m601(1, 4), m604(0, 2, 5, 0), Local1, Local0)
+ m600(arg0, 45, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(Derefof(m602(1, 6, 1)), m604(0, 2, 5, 0), Local1, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Divide(Derefof(m602(1, 4, 1)), m604(0, 2, 5, 0), Local1, Local0)
+ m600(arg0, 47, Local0, 1)
+ }
+
+ // Conversion of the both operands
+
+ Store(Divide(m604(0, 2, 1, 0), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 48, Local0, 0)
+
+ Store(Divide(m604(0, 2, 5, 0), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 49, Local0, 0x0051558eb950f5a7)
+
+ Divide(m604(0, 2, 1, 0), m604(0, 2, 5, 0), Local1, Local0)
+ m600(arg0, 50, Local0, 0)
+
+ Divide(m604(0, 2, 5, 0), m604(0, 2, 1, 0), Local1, Local0)
+ m600(arg0, 51, Local0, 0x0051558eb950f5a7)
+ }
+
+ // Divide, 32-bit
+ Method(m009, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Divide(m604(0, 2, 4, 0), 1), Local0)
+ m600(arg0, 0, Local0, 0xc179b3fe)
+
+ Store(Divide(m604(0, 2, 4, 0), 0xc179b3fe), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Divide(m604(0, 2, 4, 0), aui6), Local0)
+ m600(arg0, 2, Local0, 0xc179b3fe)
+
+ Store(Divide(m604(0, 2, 4, 0), aui3), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Divide(m604(0, 2, 4, 0), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 4, Local0, 0xc179b3fe)
+
+ Store(Divide(m604(0, 2, 4, 0), Derefof(Refof(aui3))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Divide(m604(0, 2, 4, 0), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 6, Local0, 0xc179b3fe)
+
+ Store(Divide(m604(0, 2, 4, 0), Derefof(Index(paui, 3))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(m604(0, 2, 4, 0), m601(1, 6)), Local0)
+ m600(arg0, 8, Local0, 0xc179b3fe)
+
+ Store(Divide(m604(0, 2, 4, 0), m601(1, 3)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(m604(0, 2, 4, 0), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 10, Local0, 0xc179b3fe)
+
+ Store(Divide(m604(0, 2, 4, 0), Derefof(m602(1, 3, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Divide(m604(0, 2, 4, 0), 1, Local1, Local0)
+ m600(arg0, 12, Local0, 0xc179b3fe)
+
+ Divide(m604(0, 2, 4, 0), 0xc179b3fe, Local1, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Divide(m604(0, 2, 4, 0), aui6, Local1, Local0)
+ m600(arg0, 14, Local0, 0xc179b3fe)
+
+ Divide(m604(0, 2, 4, 0), aui3, Local1, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Divide(m604(0, 2, 4, 0), Derefof(Refof(aui6)), Local1, Local0)
+ m600(arg0, 16, Local0, 0xc179b3fe)
+
+ Divide(m604(0, 2, 4, 0), Derefof(Refof(aui3)), Local1, Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Divide(m604(0, 2, 4, 0), Derefof(Index(paui, 6)), Local1, Local0)
+ m600(arg0, 18, Local0, 0xc179b3fe)
+
+ Divide(m604(0, 2, 4, 0), Derefof(Index(paui, 3)), Local1, Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(m604(0, 2, 4, 0), m601(1, 6), Local1, Local0)
+ m600(arg0, 20, Local0, 0xc179b3fe)
+
+ Divide(m604(0, 2, 4, 0), m601(1, 3), Local1, Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(m604(0, 2, 4, 0), Derefof(m602(1, 6, 1)), Local1, Local0)
+ m600(arg0, 22, Local0, 0xc179b3fe)
+
+ Divide(m604(0, 2, 4, 0), Derefof(m602(1, 3, 1)), Local1, Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Divide(1, m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Divide(0xc179b3fe, m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 25, Local0, 1)
+
+ Store(Divide(aui6, m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Divide(aui3, m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 27, Local0, 1)
+
+ if (y078) {
+ Store(Divide(Derefof(Refof(aui6)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Divide(Derefof(Refof(aui3)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 29, Local0, 1)
+ }
+
+ Store(Divide(Derefof(Index(paui, 6)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Divide(Derefof(Index(paui, 3)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 31, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(m601(1, 6), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Divide(m601(1, 3), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 33, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(Derefof(m602(1, 6, 1)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Divide(Derefof(m602(1, 3, 1)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 35, Local0, 1)
+ }
+
+ Divide(1, m604(0, 2, 4, 0), Local1, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Divide(0xc179b3fe, m604(0, 2, 4, 0), Local1, Local0)
+ m600(arg0, 37, Local0, 1)
+
+ Divide(aui6, m604(0, 2, 4, 0), Local1, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Divide(aui3, m604(0, 2, 4, 0), Local1, Local0)
+ m600(arg0, 39, Local0, 1)
+
+ if (y078) {
+ Divide(Derefof(Refof(aui6)), m604(0, 2, 4, 0), Local1, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Divide(Derefof(Refof(aui3)), m604(0, 2, 4, 0), Local1, Local0)
+ m600(arg0, 41, Local0, 1)
+ }
+
+ Divide(Derefof(Index(paui, 6)), m604(0, 2, 4, 0), Local1, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Divide(Derefof(Index(paui, 3)), m604(0, 2, 4, 0), Local1, Local0)
+ m600(arg0, 43, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(m601(1, 6), m604(0, 2, 4, 0), Local1, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Divide(m601(1, 3), m604(0, 2, 4, 0), Local1, Local0)
+ m600(arg0, 45, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(Derefof(m602(1, 6, 1)), m604(0, 2, 4, 0), Local1, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Divide(Derefof(m602(1, 3, 1)), m604(0, 2, 4, 0), Local1, Local0)
+ m600(arg0, 47, Local0, 1)
+ }
+
+ // Conversion of the both operands
+
+ Store(Divide(m604(0, 2, 1, 0), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 48, Local0, 0)
+
+ Store(Divide(m604(0, 2, 4, 0), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 49, Local0, 0x003dd5b7)
+
+ Divide(m604(0, 2, 1, 0), m604(0, 2, 4, 0), Local1, Local0)
+ m600(arg0, 50, Local0, 0)
+
+ Divide(m604(0, 2, 4, 0), m604(0, 2, 1, 0), Local1, Local0)
+ m600(arg0, 51, Local0, 0x003dd5b7)
+ }
+
+ // Mod, common 32-bit/64-bit test
+ Method(m00a, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Mod(m604(0, 2, 1, 0), 0x322), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Mod(m604(0, 2, 1, 0), 0x320), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Mod(m604(0, 2, 1, 0), auig), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Mod(m604(0, 2, 1, 0), auih), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Mod(m604(0, 2, 1, 0), Derefof(Refof(auig))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Mod(m604(0, 2, 1, 0), Derefof(Refof(auih))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Mod(m604(0, 2, 1, 0), Derefof(Index(paui, 16))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Mod(m604(0, 2, 1, 0), Derefof(Index(paui, 17))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Mod(m604(0, 2, 1, 0), m601(1, 16)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Mod(m604(0, 2, 1, 0), m601(1, 17)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(m604(0, 2, 1, 0), Derefof(m602(1, 16, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Mod(m604(0, 2, 1, 0), Derefof(m602(1, 17, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Mod(m604(0, 2, 1, 0), 0x322, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Mod(m604(0, 2, 1, 0), 0x320, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Mod(m604(0, 2, 1, 0), auig, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Mod(m604(0, 2, 1, 0), auih, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Mod(m604(0, 2, 1, 0), Derefof(Refof(auig)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Mod(m604(0, 2, 1, 0), Derefof(Refof(auih)), Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Mod(m604(0, 2, 1, 0), Derefof(Index(paui, 16)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Mod(m604(0, 2, 1, 0), Derefof(Index(paui, 17)), Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Mod(m604(0, 2, 1, 0), m601(1, 16), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Mod(m604(0, 2, 1, 0), m601(1, 17), Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(m604(0, 2, 1, 0), Derefof(m602(1, 16, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Mod(m604(0, 2, 1, 0), Derefof(m602(1, 17, 1)), Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Mod(0x322, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 24, Local0, 1)
+
+ Store(Mod(0x320, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 25, Local0, 0x320)
+
+ Store(Mod(auig, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 26, Local0, 1)
+
+ Store(Mod(auih, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 27, Local0, 0x320)
+
+ if (y078) {
+ Store(Mod(Derefof(Refof(auig)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 28, Local0, 1)
+
+ Store(Mod(Derefof(Refof(auih)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 29, Local0, 0x320)
+ }
+
+ Store(Mod(Derefof(Index(paui, 16)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 30, Local0, 1)
+
+ Store(Mod(Derefof(Index(paui, 17)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 31, Local0, 0x320)
+
+ // Method returns Integer
+
+ Store(Mod(m601(1, 16), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 32, Local0, 1)
+
+ Store(Mod(m601(1, 17), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 33, Local0, 0x320)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(Derefof(m602(1, 16, 1)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 34, Local0, 1)
+
+ Store(Mod(Derefof(m602(1, 17, 1)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 35, Local0, 0x320)
+ }
+
+ Mod(0x322, m604(0, 2, 1, 0), Local0)
+ m600(arg0, 36, Local0, 1)
+
+ Mod(0x320, m604(0, 2, 1, 0), Local0)
+ m600(arg0, 37, Local0, 0x320)
+
+ Mod(auig, m604(0, 2, 1, 0), Local0)
+ m600(arg0, 38, Local0, 1)
+
+ Mod(auih, m604(0, 2, 1, 0), Local0)
+ m600(arg0, 39, Local0, 0x320)
+
+ if (y078) {
+ Mod(Derefof(Refof(auig)), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 40, Local0, 1)
+
+ Mod(Derefof(Refof(auih)), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 41, Local0, 0x320)
+ }
+
+ Mod(Derefof(Index(paui, 16)), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 42, Local0, 1)
+
+ Mod(Derefof(Index(paui, 17)), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 43, Local0, 0x320)
+
+ // Method returns Integer
+
+ Mod(m601(1, 16), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 44, Local0, 1)
+
+ Mod(m601(1, 17), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 45, Local0, 0x320)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(Derefof(m602(1, 16, 1)), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 46, Local0, 1)
+
+ Mod(Derefof(m602(1, 17, 1)), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 47, Local0, 0x320)
+ }
+ }
+
+ // Mod, 64-bit
+ Method(m00b, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Mod(m604(0, 2, 5, 0), 0xfe7cb391d650a285), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(m604(0, 2, 5, 0), 0xfe7cb391d650a283), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Mod(m604(0, 2, 5, 0), auid), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(m604(0, 2, 5, 0), auif), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Mod(m604(0, 2, 5, 0), Derefof(Refof(auid))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(m604(0, 2, 5, 0), Derefof(Refof(auif))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Mod(m604(0, 2, 5, 0), Derefof(Index(paui, 13))), Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(m604(0, 2, 5, 0), Derefof(Index(paui, 15))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Mod(m604(0, 2, 5, 0), m601(1, 13)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(m604(0, 2, 5, 0), m601(1, 15)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(m604(0, 2, 5, 0), Derefof(m602(1, 13, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(m604(0, 2, 5, 0), Derefof(m602(1, 15, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Mod(m604(0, 2, 5, 0), 0xfe7cb391d650a285, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Mod(m604(0, 2, 5, 0), 0xfe7cb391d650a283, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Mod(m604(0, 2, 5, 0), auid, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Mod(m604(0, 2, 5, 0), auif, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Mod(m604(0, 2, 5, 0), Derefof(Refof(auid)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Mod(m604(0, 2, 5, 0), Derefof(Refof(auif)), Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Mod(m604(0, 2, 5, 0), Derefof(Index(paui, 13)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Mod(m604(0, 2, 5, 0), Derefof(Index(paui, 15)), Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Mod(m604(0, 2, 5, 0), m601(1, 13), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Mod(m604(0, 2, 5, 0), m601(1, 15), Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(m604(0, 2, 5, 0), Derefof(m602(1, 13, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Mod(m604(0, 2, 5, 0), Derefof(m602(1, 15, 1)), Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Mod(0xfe7cb391d650a285, m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 24, Local0, 1)
+
+ Store(Mod(0xfe7cb391d650a283, m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 25, Local0, 0xfe7cb391d650a283)
+
+ Store(Mod(auid, m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 26, Local0, 1)
+
+ Store(Mod(auif, m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 27, Local0, 0xfe7cb391d650a283)
+
+ if (y078) {
+ Store(Mod(Derefof(Refof(auid)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 28, Local0, 1)
+
+ Store(Mod(Derefof(Refof(auif)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 29, Local0, 0xfe7cb391d650a283)
+ }
+
+ Store(Mod(Derefof(Index(paui, 13)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 30, Local0, 1)
+
+ Store(Mod(Derefof(Index(paui, 15)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 31, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Integer
+
+ Store(Mod(m601(1, 13), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 32, Local0, 1)
+
+ Store(Mod(m601(1, 15), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 33, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(Derefof(m602(1, 13, 1)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 34, Local0, 1)
+
+ Store(Mod(Derefof(m602(1, 15, 1)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 35, Local0, 0xfe7cb391d650a283)
+ }
+
+ Mod(0xfe7cb391d650a285, m604(0, 2, 5, 0), Local0)
+ m600(arg0, 36, Local0, 1)
+
+ Mod(0xfe7cb391d650a283, m604(0, 2, 5, 0), Local0)
+ m600(arg0, 37, Local0, 0xfe7cb391d650a283)
+
+ Mod(auid, m604(0, 2, 5, 0), Local0)
+ m600(arg0, 38, Local0, 1)
+
+ Mod(auif, m604(0, 2, 5, 0), Local0)
+ m600(arg0, 39, Local0, 0xfe7cb391d650a283)
+
+ if (y078) {
+ Mod(Derefof(Refof(auid)), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 40, Local0, 1)
+
+ Mod(Derefof(Refof(auif)), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 41, Local0, 0xfe7cb391d650a283)
+ }
+
+ Mod(Derefof(Index(paui, 13)), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 42, Local0, 1)
+
+ Mod(Derefof(Index(paui, 15)), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 43, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Integer
+
+ Mod(m601(1, 13), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 44, Local0, 1)
+
+ Mod(m601(1, 15), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 45, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(Derefof(m602(1, 13, 1)), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 46, Local0, 1)
+
+ Mod(Derefof(m602(1, 15, 1)), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 47, Local0, 0xfe7cb391d650a283)
+ }
+
+ // Conversion of the both operands
+
+ Store(Mod(m604(0, 2, 1, 0), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 48, Local0, 0x321)
+
+ Store(Mod(m604(0, 2, 5, 0), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 49, Local0, 0x2fd)
+
+ Mod(m604(0, 2, 1, 0), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 50, Local0, 0x321)
+
+ Mod(m604(0, 2, 5, 0), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 51, Local0, 0x2fd)
+ }
+
+ // Mod, 32-bit
+ Method(m00c, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Mod(m604(0, 2, 4, 0), 0xc179b3ff), Local0)
+ m600(arg0, 0, Local0, 0xc179b3fe)
+
+ Store(Mod(m604(0, 2, 4, 0), 0xc179b3fd), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Mod(m604(0, 2, 4, 0), auic), Local0)
+ m600(arg0, 2, Local0, 0xc179b3fe)
+
+ Store(Mod(m604(0, 2, 4, 0), auie), Local0)
+ m600(arg0, 14, Local0, 1)
+
+ if (y078) {
+ Store(Mod(m604(0, 2, 4, 0), Derefof(Refof(auic))), Local0)
+ m600(arg0, 4, Local0, 0xc179b3fe)
+
+ Store(Mod(m604(0, 2, 4, 0), Derefof(Refof(auie))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Mod(m604(0, 2, 4, 0), Derefof(Index(paui, 12))), Local0)
+ m600(arg0, 12, Local0, 0xc179b3fe)
+
+ Store(Mod(m604(0, 2, 4, 0), Derefof(Index(paui, 14))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Mod(m604(0, 2, 4, 0), m601(1, 12)), Local0)
+ m600(arg0, 8, Local0, 0xc179b3fe)
+
+ Store(Mod(m604(0, 2, 4, 0), m601(1, 14)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(m604(0, 2, 4, 0), Derefof(m602(1, 12, 1))), Local0)
+ m600(arg0, 10, Local0, 0xc179b3fe)
+
+ Store(Mod(m604(0, 2, 4, 0), Derefof(m602(1, 14, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Mod(m604(0, 2, 4, 0), 0xc179b3ff, Local0)
+ m600(arg0, 12, Local0, 0xc179b3fe)
+
+ Mod(m604(0, 2, 4, 0), 0xc179b3fd, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Mod(m604(0, 2, 4, 0), auic, Local0)
+ m600(arg0, 14, Local0, 0xc179b3fe)
+
+ Mod(m604(0, 2, 4, 0), auie, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Mod(m604(0, 2, 4, 0), Derefof(Refof(auic)), Local0)
+ m600(arg0, 16, Local0, 0xc179b3fe)
+
+ Mod(m604(0, 2, 4, 0), Derefof(Refof(auie)), Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Mod(m604(0, 2, 4, 0), Derefof(Index(paui, 12)), Local0)
+ m600(arg0, 18, Local0, 0xc179b3fe)
+
+ Mod(m604(0, 2, 4, 0), Derefof(Index(paui, 14)), Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Mod(m604(0, 2, 4, 0), m601(1, 12), Local0)
+ m600(arg0, 20, Local0, 0xc179b3fe)
+
+ Mod(m604(0, 2, 4, 0), m601(1, 14), Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(m604(0, 2, 4, 0), Derefof(m602(1, 12, 1)), Local0)
+ m600(arg0, 22, Local0, 0xc179b3fe)
+
+ Mod(m604(0, 2, 4, 0), Derefof(m602(1, 14, 1)), Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Mod(0xc179b3ff, m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 24, Local0, 1)
+
+ Store(Mod(0xc179b3fd, m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 25, Local0, 0xc179b3fd)
+
+ Store(Mod(auic, m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 26, Local0, 1)
+
+ Store(Mod(auie, m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 27, Local0, 0xc179b3fd)
+
+ if (y078) {
+ Store(Mod(Derefof(Refof(auic)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 28, Local0, 1)
+
+ Store(Mod(Derefof(Refof(auie)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 29, Local0, 0xc179b3fd)
+ }
+
+ Store(Mod(Derefof(Index(paui, 12)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 30, Local0, 1)
+
+ Store(Mod(Derefof(Index(paui, 14)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 31, Local0, 0xc179b3fd)
+
+ // Method returns Integer
+
+ Store(Mod(m601(1, 12), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 32, Local0, 1)
+
+ Store(Mod(m601(1, 14), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 33, Local0, 0xc179b3fd)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(Derefof(m602(1, 12, 1)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 34, Local0, 1)
+
+ Store(Mod(Derefof(m602(1, 14, 1)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 35, Local0, 0xc179b3fd)
+ }
+
+ Mod(0xc179b3ff, m604(0, 2, 4, 0), Local0)
+ m600(arg0, 36, Local0, 1)
+
+ Mod(0xc179b3fd, m604(0, 2, 4, 0), Local0)
+ m600(arg0, 37, Local0, 0xc179b3fd)
+
+ Mod(auic, m604(0, 2, 4, 0), Local0)
+ m600(arg0, 38, Local0, 1)
+
+ Mod(auie, m604(0, 2, 4, 0), Local0)
+ m600(arg0, 39, Local0, 0xc179b3fd)
+
+ if (y078) {
+ Mod(Derefof(Refof(auic)), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 40, Local0, 1)
+
+ Mod(Derefof(Refof(auie)), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 41, Local0, 0xc179b3fd)
+ }
+
+ Mod(Derefof(Index(paui, 12)), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 42, Local0, 1)
+
+ Mod(Derefof(Index(paui, 14)), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 43, Local0, 0xc179b3fd)
+
+ // Method returns Integer
+
+ Mod(m601(1, 12), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 44, Local0, 1)
+
+ Mod(m601(1, 14), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 45, Local0, 0xc179b3fd)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(Derefof(m602(1, 12, 1)), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 46, Local0, 1)
+
+ Mod(Derefof(m602(1, 14, 1)), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 47, Local0, 0xc179b3fd)
+ }
+
+ // Conversion of the both operands
+
+ Store(Mod(m604(0, 2, 1, 0), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 48, Local0, 0x321)
+
+ Store(Mod(m604(0, 2, 4, 0), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 49, Local0, 0x267)
+
+ Mod(m604(0, 2, 1, 0), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 50, Local0, 0x321)
+
+ Mod(m604(0, 2, 4, 0), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 51, Local0, 0x267)
+ }
+
+ // Multiply, common 32-bit/64-bit test
+ Method(m00d, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Multiply(m604(0, 2, 1, 0), 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(Multiply(m604(0, 2, 1, 0), 1), Local0)
+ m600(arg0, 1, Local0, 0x321)
+
+ Store(Multiply(m604(0, 2, 1, 0), aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(Multiply(m604(0, 2, 1, 0), aui6), Local0)
+ m600(arg0, 3, Local0, 0x321)
+
+ if (y078) {
+ Store(Multiply(m604(0, 2, 1, 0), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(Multiply(m604(0, 2, 1, 0), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x321)
+ }
+
+ Store(Multiply(m604(0, 2, 1, 0), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(Multiply(m604(0, 2, 1, 0), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x321)
+
+ // Method returns Integer
+
+ Store(Multiply(m604(0, 2, 1, 0), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(Multiply(m604(0, 2, 1, 0), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(m604(0, 2, 1, 0), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(Multiply(m604(0, 2, 1, 0), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x321)
+ }
+
+ Multiply(m604(0, 2, 1, 0), 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ Multiply(m604(0, 2, 1, 0), 1, Local0)
+ m600(arg0, 13, Local0, 0x321)
+
+ Multiply(m604(0, 2, 1, 0), aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ Multiply(m604(0, 2, 1, 0), aui6, Local0)
+ m600(arg0, 15, Local0, 0x321)
+
+ if (y078) {
+ Multiply(m604(0, 2, 1, 0), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ Multiply(m604(0, 2, 1, 0), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x321)
+ }
+
+ Multiply(m604(0, 2, 1, 0), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ Multiply(m604(0, 2, 1, 0), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x321)
+
+ // Method returns Integer
+
+ Multiply(m604(0, 2, 1, 0), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ Multiply(m604(0, 2, 1, 0), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(m604(0, 2, 1, 0), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ Multiply(m604(0, 2, 1, 0), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x321)
+ }
+
+ // Conversion of the second operand
+
+ Store(Multiply(0, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Multiply(1, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 25, Local0, 0x321)
+
+ Store(Multiply(aui5, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Multiply(aui6, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 27, Local0, 0x321)
+
+ if (y078) {
+ Store(Multiply(Derefof(Refof(aui5)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(aui6)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 29, Local0, 0x321)
+ }
+
+ Store(Multiply(Derefof(Index(paui, 5)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Multiply(Derefof(Index(paui, 6)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 31, Local0, 0x321)
+
+ // Method returns Integer
+
+ Store(Multiply(m601(1, 5), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Multiply(m601(1, 6), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 33, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(Derefof(m602(1, 5, 1)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Multiply(Derefof(m602(1, 6, 1)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 35, Local0, 0x321)
+ }
+
+ Multiply(0, m604(0, 2, 1, 0), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Multiply(1, m604(0, 2, 1, 0), Local0)
+ m600(arg0, 37, Local0, 0x321)
+
+ Multiply(aui5, m604(0, 2, 1, 0), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Multiply(aui6, m604(0, 2, 1, 0), Local0)
+ m600(arg0, 39, Local0, 0x321)
+
+ if (y078) {
+ Multiply(Derefof(Refof(aui5)), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Multiply(Derefof(Refof(aui6)), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 41, Local0, 0x321)
+ }
+
+ Multiply(Derefof(Index(paui, 5)), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Multiply(Derefof(Index(paui, 6)), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 43, Local0, 0x321)
+
+ // Method returns Integer
+
+ Multiply(m601(1, 5), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Multiply(m601(1, 6), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 45, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(Derefof(m602(1, 5, 1)), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Multiply(Derefof(m602(1, 6, 1)), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 47, Local0, 0x321)
+ }
+ }
+
+ // Multiply, 64-bit
+ Method(m00e, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Multiply(m604(0, 2, 5, 0), 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(Multiply(m604(0, 2, 5, 0), 1), Local0)
+ m600(arg0, 1, Local0, 0xfe7cb391d650a284)
+
+ Store(Multiply(m604(0, 2, 5, 0), aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(Multiply(m604(0, 2, 5, 0), aui6), Local0)
+ m600(arg0, 3, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Store(Multiply(m604(0, 2, 5, 0), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(Multiply(m604(0, 2, 5, 0), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xfe7cb391d650a284)
+ }
+
+ Store(Multiply(m604(0, 2, 5, 0), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(Multiply(m604(0, 2, 5, 0), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Store(Multiply(m604(0, 2, 5, 0), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(Multiply(m604(0, 2, 5, 0), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(m604(0, 2, 5, 0), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(Multiply(m604(0, 2, 5, 0), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfe7cb391d650a284)
+ }
+
+ Multiply(m604(0, 2, 5, 0), 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ Multiply(m604(0, 2, 5, 0), 1, Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a284)
+
+ Multiply(m604(0, 2, 5, 0), aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ Multiply(m604(0, 2, 5, 0), aui6, Local0)
+ m600(arg0, 15, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Multiply(m604(0, 2, 5, 0), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ Multiply(m604(0, 2, 5, 0), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xfe7cb391d650a284)
+ }
+
+ Multiply(m604(0, 2, 5, 0), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ Multiply(m604(0, 2, 5, 0), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Multiply(m604(0, 2, 5, 0), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ Multiply(m604(0, 2, 5, 0), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(m604(0, 2, 5, 0), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ Multiply(m604(0, 2, 5, 0), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfe7cb391d650a284)
+ }
+
+ // Conversion of the second operand
+
+ Store(Multiply(0, m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Multiply(1, m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 25, Local0, 0xfe7cb391d650a284)
+
+ Store(Multiply(aui5, m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Multiply(aui6, m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 27, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Store(Multiply(Derefof(Refof(aui5)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(aui6)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 29, Local0, 0xfe7cb391d650a284)
+ }
+
+ Store(Multiply(Derefof(Index(paui, 5)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Multiply(Derefof(Index(paui, 6)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 31, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Store(Multiply(m601(1, 5), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Multiply(m601(1, 6), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 33, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(Derefof(m602(1, 5, 1)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Multiply(Derefof(m602(1, 6, 1)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 35, Local0, 0xfe7cb391d650a284)
+ }
+
+ Multiply(0, m604(0, 2, 5, 0), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Multiply(1, m604(0, 2, 5, 0), Local0)
+ m600(arg0, 37, Local0, 0xfe7cb391d650a284)
+
+ Multiply(aui5, m604(0, 2, 5, 0), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Multiply(aui6, m604(0, 2, 5, 0), Local0)
+ m600(arg0, 39, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Multiply(Derefof(Refof(aui5)), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Multiply(Derefof(Refof(aui6)), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 41, Local0, 0xfe7cb391d650a284)
+ }
+
+ Multiply(Derefof(Index(paui, 5)), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Multiply(Derefof(Index(paui, 6)), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 43, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Multiply(m601(1, 5), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Multiply(m601(1, 6), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 45, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(Derefof(m602(1, 5, 1)), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Multiply(Derefof(m602(1, 6, 1)), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 47, Local0, 0xfe7cb391d650a284)
+ }
+
+ // Conversion of the both operands
+
+ Store(Multiply(m604(0, 2, 1, 0), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 48, Local0, 0x442ddb4f924c7f04)
+
+ Store(Multiply(m604(0, 2, 5, 0), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 49, Local0, 0x442ddb4f924c7f04)
+
+ Multiply(m604(0, 2, 1, 0), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 50, Local0, 0x442ddb4f924c7f04)
+
+ Multiply(m604(0, 2, 5, 0), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 51, Local0, 0x442ddb4f924c7f04)
+ }
+
+ // Multiply, 32-bit
+ Method(m00f, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Multiply(m604(0, 2, 4, 0), 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(Multiply(m604(0, 2, 4, 0), 1), Local0)
+ m600(arg0, 1, Local0, 0xc179b3fe)
+
+ Store(Multiply(m604(0, 2, 4, 0), aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(Multiply(m604(0, 2, 4, 0), aui6), Local0)
+ m600(arg0, 3, Local0, 0xc179b3fe)
+
+ if (y078) {
+ Store(Multiply(m604(0, 2, 4, 0), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(Multiply(m604(0, 2, 4, 0), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xc179b3fe)
+ }
+
+ Store(Multiply(m604(0, 2, 4, 0), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(Multiply(m604(0, 2, 4, 0), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xc179b3fe)
+
+ // Method returns Integer
+
+ Store(Multiply(m604(0, 2, 4, 0), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(Multiply(m604(0, 2, 4, 0), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xc179b3fe)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(m604(0, 2, 4, 0), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(Multiply(m604(0, 2, 4, 0), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xc179b3fe)
+ }
+
+ Multiply(m604(0, 2, 4, 0), 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ Multiply(m604(0, 2, 4, 0), 1, Local0)
+ m600(arg0, 13, Local0, 0xc179b3fe)
+
+ Multiply(m604(0, 2, 4, 0), aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ Multiply(m604(0, 2, 4, 0), aui6, Local0)
+ m600(arg0, 15, Local0, 0xc179b3fe)
+
+ if (y078) {
+ Multiply(m604(0, 2, 4, 0), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ Multiply(m604(0, 2, 4, 0), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xc179b3fe)
+ }
+
+ Multiply(m604(0, 2, 4, 0), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ Multiply(m604(0, 2, 4, 0), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xc179b3fe)
+
+ // Method returns Integer
+
+ Multiply(m604(0, 2, 4, 0), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ Multiply(m604(0, 2, 4, 0), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xc179b3fe)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(m604(0, 2, 4, 0), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ Multiply(m604(0, 2, 4, 0), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xc179b3fe)
+ }
+
+ // Conversion of the second operand
+
+ Store(Multiply(0, m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Multiply(1, m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 25, Local0, 0xc179b3fe)
+
+ Store(Multiply(aui5, m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Multiply(aui6, m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 27, Local0, 0xc179b3fe)
+
+ if (y078) {
+ Store(Multiply(Derefof(Refof(aui5)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(aui6)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 29, Local0, 0xc179b3fe)
+ }
+
+ Store(Multiply(Derefof(Index(paui, 5)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Multiply(Derefof(Index(paui, 6)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 31, Local0, 0xc179b3fe)
+
+ // Method returns Integer
+
+ Store(Multiply(m601(1, 5), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Multiply(m601(1, 6), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 33, Local0, 0xc179b3fe)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(Derefof(m602(1, 5, 1)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Multiply(Derefof(m602(1, 6, 1)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 35, Local0, 0xc179b3fe)
+ }
+
+ Multiply(0, m604(0, 2, 4, 0), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Multiply(1, m604(0, 2, 4, 0), Local0)
+ m600(arg0, 37, Local0, 0xc179b3fe)
+
+ Multiply(aui5, m604(0, 2, 4, 0), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Multiply(aui6, m604(0, 2, 4, 0), Local0)
+ m600(arg0, 39, Local0, 0xc179b3fe)
+
+ if (y078) {
+ Multiply(Derefof(Refof(aui5)), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Multiply(Derefof(Refof(aui6)), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 41, Local0, 0xc179b3fe)
+ }
+
+ Multiply(Derefof(Index(paui, 5)), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Multiply(Derefof(Index(paui, 6)), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 43, Local0, 0xc179b3fe)
+
+ // Method returns Integer
+
+ Multiply(m601(1, 5), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Multiply(m601(1, 6), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 45, Local0, 0xc179b3fe)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(Derefof(m602(1, 5, 1)), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Multiply(Derefof(m602(1, 6, 1)), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 47, Local0, 0xc179b3fe)
+ }
+
+ // Conversion of the both operands
+
+ Store(Multiply(m604(0, 2, 1, 0), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 48, Local0, 0x5dcc2dbe)
+
+ Store(Multiply(m604(0, 2, 4, 0), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 49, Local0, 0x5dcc2dbe)
+
+ Multiply(m604(0, 2, 1, 0), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 50, Local0, 0x5dcc2dbe)
+
+ Multiply(m604(0, 2, 4, 0), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 51, Local0, 0x5dcc2dbe)
+ }
+
+ // NAnd, common 32-bit/64-bit test
+ Method(m010, 1)
+ {
+ // Conversion of the first operand
+
+ Store(NAnd(m604(0, 2, 1, 0), 0), Local0)
+ m600(arg0, 0, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(m604(0, 2, 1, 0), 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xfffffffffffffcde)
+
+ Store(NAnd(m604(0, 2, 1, 0), aui5), Local0)
+ m600(arg0, 2, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(m604(0, 2, 1, 0), auij), Local0)
+ m600(arg0, 3, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ Store(NAnd(m604(0, 2, 1, 0), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(m604(0, 2, 1, 0), Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xfffffffffffffcde)
+ }
+
+ Store(NAnd(m604(0, 2, 1, 0), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(m604(0, 2, 1, 0), Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ Store(NAnd(m604(0, 2, 1, 0), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(m604(0, 2, 1, 0), m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(m604(0, 2, 1, 0), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(m604(0, 2, 1, 0), Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfffffffffffffcde)
+ }
+
+ NAnd(m604(0, 2, 1, 0), 0, Local0)
+ m600(arg0, 12, Local0, 0xffffffffffffffff)
+
+ NAnd(m604(0, 2, 1, 0), 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xfffffffffffffcde)
+
+ NAnd(m604(0, 2, 1, 0), aui5, Local0)
+ m600(arg0, 14, Local0, 0xffffffffffffffff)
+
+ NAnd(m604(0, 2, 1, 0), auij, Local0)
+ m600(arg0, 15, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ NAnd(m604(0, 2, 1, 0), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xffffffffffffffff)
+
+ NAnd(m604(0, 2, 1, 0), Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xfffffffffffffcde)
+ }
+
+ NAnd(m604(0, 2, 1, 0), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xffffffffffffffff)
+
+ NAnd(m604(0, 2, 1, 0), Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ NAnd(m604(0, 2, 1, 0), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xffffffffffffffff)
+
+ NAnd(m604(0, 2, 1, 0), m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(m604(0, 2, 1, 0), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xffffffffffffffff)
+
+ NAnd(m604(0, 2, 1, 0), Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfffffffffffffcde)
+ }
+
+ // Conversion of the second operand
+
+ Store(NAnd(0, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 24, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(0xffffffffffffffff, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 25, Local0, 0xfffffffffffffcde)
+
+ Store(NAnd(aui5, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 26, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(auij, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 27, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ Store(NAnd(Derefof(Refof(aui5)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 28, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Refof(auij)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 29, Local0, 0xfffffffffffffcde)
+ }
+
+ Store(NAnd(Derefof(Index(paui, 5)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 30, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Index(paui, 19)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 31, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ Store(NAnd(m601(1, 5), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 32, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(m601(1, 19), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 33, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(Derefof(m602(1, 5, 1)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 34, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(m602(1, 19, 1)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 35, Local0, 0xfffffffffffffcde)
+ }
+
+ NAnd(0, m604(0, 2, 1, 0), Local0)
+ m600(arg0, 36, Local0, 0xffffffffffffffff)
+
+ NAnd(0xffffffffffffffff, m604(0, 2, 1, 0), Local0)
+ m600(arg0, 37, Local0, 0xfffffffffffffcde)
+
+ NAnd(aui5, m604(0, 2, 1, 0), Local0)
+ m600(arg0, 38, Local0, 0xffffffffffffffff)
+
+ NAnd(auij, m604(0, 2, 1, 0), Local0)
+ m600(arg0, 39, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ NAnd(Derefof(Refof(aui5)), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 40, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Refof(auij)), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 41, Local0, 0xfffffffffffffcde)
+ }
+
+ NAnd(Derefof(Index(paui, 5)), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 42, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Index(paui, 19)), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 43, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ NAnd(m601(1, 5), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 44, Local0, 0xffffffffffffffff)
+
+ NAnd(m601(1, 19), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 45, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(Derefof(m602(1, 5, 1)), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 46, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(m602(1, 19, 1)), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 47, Local0, 0xfffffffffffffcde)
+ }
+ }
+
+ // NAnd, 64-bit
+ Method(m011, 1)
+ {
+ // Conversion of the first operand
+
+ Store(NAnd(m604(0, 2, 5, 0), 0), Local0)
+ m600(arg0, 0, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(m604(0, 2, 5, 0), 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0x01834c6e29af5d7b)
+
+ Store(NAnd(m604(0, 2, 5, 0), aui5), Local0)
+ m600(arg0, 2, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(m604(0, 2, 5, 0), auij), Local0)
+ m600(arg0, 3, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ Store(NAnd(m604(0, 2, 5, 0), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(m604(0, 2, 5, 0), Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Store(NAnd(m604(0, 2, 5, 0), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(m604(0, 2, 5, 0), Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ Store(NAnd(m604(0, 2, 5, 0), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(m604(0, 2, 5, 0), m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(m604(0, 2, 5, 0), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(m604(0, 2, 5, 0), Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0x01834c6e29af5d7b)
+ }
+
+ NAnd(m604(0, 2, 5, 0), 0, Local0)
+ m600(arg0, 12, Local0, 0xffffffffffffffff)
+
+ NAnd(m604(0, 2, 5, 0), 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0x01834c6e29af5d7b)
+
+ NAnd(m604(0, 2, 5, 0), aui5, Local0)
+ m600(arg0, 14, Local0, 0xffffffffffffffff)
+
+ NAnd(m604(0, 2, 5, 0), auij, Local0)
+ m600(arg0, 15, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ NAnd(m604(0, 2, 5, 0), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xffffffffffffffff)
+
+ NAnd(m604(0, 2, 5, 0), Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0x01834c6e29af5d7b)
+ }
+
+ NAnd(m604(0, 2, 5, 0), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xffffffffffffffff)
+
+ NAnd(m604(0, 2, 5, 0), Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ NAnd(m604(0, 2, 5, 0), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xffffffffffffffff)
+
+ NAnd(m604(0, 2, 5, 0), m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(m604(0, 2, 5, 0), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xffffffffffffffff)
+
+ NAnd(m604(0, 2, 5, 0), Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0x01834c6e29af5d7b)
+ }
+
+ // Conversion of the second operand
+
+ Store(NAnd(0, m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 24, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(0xffffffffffffffff, m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 25, Local0, 0x01834c6e29af5d7b)
+
+ Store(NAnd(aui5, m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 26, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(auij, m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 27, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ Store(NAnd(Derefof(Refof(aui5)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 28, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Refof(auij)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 29, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Store(NAnd(Derefof(Index(paui, 5)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 30, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Index(paui, 19)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 31, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ Store(NAnd(m601(1, 5), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 32, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(m601(1, 19), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 33, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(Derefof(m602(1, 5, 1)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 34, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(m602(1, 19, 1)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 35, Local0, 0x01834c6e29af5d7b)
+ }
+
+ NAnd(0, m604(0, 2, 5, 0), Local0)
+ m600(arg0, 36, Local0, 0xffffffffffffffff)
+
+ NAnd(0xffffffffffffffff, m604(0, 2, 5, 0), Local0)
+ m600(arg0, 37, Local0, 0x01834c6e29af5d7b)
+
+ NAnd(aui5, m604(0, 2, 5, 0), Local0)
+ m600(arg0, 38, Local0, 0xffffffffffffffff)
+
+ NAnd(auij, m604(0, 2, 5, 0), Local0)
+ m600(arg0, 39, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ NAnd(Derefof(Refof(aui5)), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 40, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Refof(auij)), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 41, Local0, 0x01834c6e29af5d7b)
+ }
+
+ NAnd(Derefof(Index(paui, 5)), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 42, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Index(paui, 19)), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 43, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ NAnd(m601(1, 5), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 44, Local0, 0xffffffffffffffff)
+
+ NAnd(m601(1, 19), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 45, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(Derefof(m602(1, 5, 1)), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 46, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(m602(1, 19, 1)), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 47, Local0, 0x01834c6e29af5d7b)
+ }
+
+ // Conversion of the both operands
+
+ Store(NAnd(m604(0, 2, 1, 0), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 48, Local0, 0xfffffffffffffdff)
+
+ Store(NAnd(m604(0, 2, 5, 0), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 49, Local0, 0xfffffffffffffdff)
+
+ NAnd(m604(0, 2, 1, 0), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 50, Local0, 0xfffffffffffffdff)
+
+ NAnd(m604(0, 2, 5, 0), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 51, Local0, 0xfffffffffffffdff)
+ }
+
+ // NAnd, 32-bit
+ Method(m012, 1)
+ {
+ // Conversion of the first operand
+
+ Store(NAnd(m604(0, 2, 4, 0), 0), Local0)
+ m600(arg0, 0, Local0, 0xffffffff)
+
+ Store(NAnd(m604(0, 2, 4, 0), 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0x3e864c01)
+
+ Store(NAnd(m604(0, 2, 4, 0), aui5), Local0)
+ m600(arg0, 2, Local0, 0xffffffff)
+
+ Store(NAnd(m604(0, 2, 4, 0), auii), Local0)
+ m600(arg0, 3, Local0, 0x3e864c01)
+
+ if (y078) {
+ Store(NAnd(m604(0, 2, 4, 0), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xffffffff)
+
+ Store(NAnd(m604(0, 2, 4, 0), Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0x3e864c01)
+ }
+
+ Store(NAnd(m604(0, 2, 4, 0), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xffffffff)
+
+ Store(NAnd(m604(0, 2, 4, 0), Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0x3e864c01)
+
+ // Method returns Integer
+
+ Store(NAnd(m604(0, 2, 4, 0), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xffffffff)
+
+ Store(NAnd(m604(0, 2, 4, 0), m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0x3e864c01)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(m604(0, 2, 4, 0), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xffffffff)
+
+ Store(NAnd(m604(0, 2, 4, 0), Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0x3e864c01)
+ }
+
+ NAnd(m604(0, 2, 4, 0), 0, Local0)
+ m600(arg0, 12, Local0, 0xffffffff)
+
+ NAnd(m604(0, 2, 4, 0), 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0x3e864c01)
+
+ NAnd(m604(0, 2, 4, 0), aui5, Local0)
+ m600(arg0, 14, Local0, 0xffffffff)
+
+ NAnd(m604(0, 2, 4, 0), auii, Local0)
+ m600(arg0, 15, Local0, 0x3e864c01)
+
+ if (y078) {
+ NAnd(m604(0, 2, 4, 0), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xffffffff)
+
+ NAnd(m604(0, 2, 4, 0), Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0x3e864c01)
+ }
+
+ NAnd(m604(0, 2, 4, 0), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xffffffff)
+
+ NAnd(m604(0, 2, 4, 0), Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0x3e864c01)
+
+ // Method returns Integer
+
+ NAnd(m604(0, 2, 4, 0), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xffffffff)
+
+ NAnd(m604(0, 2, 4, 0), m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0x3e864c01)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(m604(0, 2, 4, 0), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xffffffff)
+
+ NAnd(m604(0, 2, 4, 0), Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0x3e864c01)
+ }
+
+ // Conversion of the second operand
+
+ Store(NAnd(0, m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 24, Local0, 0xffffffff)
+
+ Store(NAnd(0xffffffff, m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 25, Local0, 0x3e864c01)
+
+ Store(NAnd(aui5, m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 26, Local0, 0xffffffff)
+
+ Store(NAnd(auii, m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 27, Local0, 0x3e864c01)
+
+ if (y078) {
+ Store(NAnd(Derefof(Refof(aui5)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 28, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(Refof(auii)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 29, Local0, 0x3e864c01)
+ }
+
+ Store(NAnd(Derefof(Index(paui, 5)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 30, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(Index(paui, 18)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 31, Local0, 0x3e864c01)
+
+ // Method returns Integer
+
+ Store(NAnd(m601(1, 5), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 32, Local0, 0xffffffff)
+
+ Store(NAnd(m601(1, 18), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 33, Local0, 0x3e864c01)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(Derefof(m602(1, 5, 1)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 34, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(m602(1, 18, 1)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 35, Local0, 0x3e864c01)
+ }
+
+ NAnd(0, m604(0, 2, 4, 0), Local0)
+ m600(arg0, 36, Local0, 0xffffffff)
+
+ NAnd(0xffffffff, m604(0, 2, 4, 0), Local0)
+ m600(arg0, 37, Local0, 0x3e864c01)
+
+ NAnd(aui5, m604(0, 2, 4, 0), Local0)
+ m600(arg0, 38, Local0, 0xffffffff)
+
+ NAnd(auii, m604(0, 2, 4, 0), Local0)
+ m600(arg0, 39, Local0, 0x3e864c01)
+
+ if (y078) {
+ NAnd(Derefof(Refof(aui5)), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 40, Local0, 0xffffffff)
+
+ NAnd(Derefof(Refof(auii)), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 41, Local0, 0x3e864c01)
+ }
+
+ NAnd(Derefof(Index(paui, 5)), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 42, Local0, 0xffffffff)
+
+ NAnd(Derefof(Index(paui, 18)), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 43, Local0, 0x3e864c01)
+
+ // Method returns Integer
+
+ NAnd(m601(1, 5), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 44, Local0, 0xffffffff)
+
+ NAnd(m601(1, 18), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 45, Local0, 0x3e864c01)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(Derefof(m602(1, 5, 1)), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 46, Local0, 0xffffffff)
+
+ NAnd(Derefof(m602(1, 18, 1)), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 47, Local0, 0x3e864c01)
+ }
+
+ // Conversion of the both operands
+
+ Store(NAnd(m604(0, 2, 1, 0), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 48, Local0, 0xfffffcdf)
+
+ Store(NAnd(m604(0, 2, 4, 0), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 49, Local0, 0xfffffcdf)
+
+ NAnd(m604(0, 2, 1, 0), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 50, Local0, 0xfffffcdf)
+
+ NAnd(m604(0, 2, 4, 0), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 51, Local0, 0xfffffcdf)
+ }
+
+ // NOr, common 32-bit/64-bit test
+ Method(m013, 1)
+ {
+ // Conversion of the first operand
+
+ Store(NOr(m604(0, 2, 1, 0), 0), Local0)
+ m600(arg0, 0, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(m604(0, 2, 1, 0), 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0)
+
+ Store(NOr(m604(0, 2, 1, 0), aui5), Local0)
+ m600(arg0, 2, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(m604(0, 2, 1, 0), auij), Local0)
+ m600(arg0, 3, Local0, 0)
+
+ if (y078) {
+ Store(NOr(m604(0, 2, 1, 0), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(m604(0, 2, 1, 0), Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0)
+ }
+
+ Store(NOr(m604(0, 2, 1, 0), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(m604(0, 2, 1, 0), Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(m604(0, 2, 1, 0), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(m604(0, 2, 1, 0), m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(m604(0, 2, 1, 0), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(m604(0, 2, 1, 0), Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0)
+ }
+
+ NOr(m604(0, 2, 1, 0), 0, Local0)
+ m600(arg0, 12, Local0, 0xfffffffffffffcde)
+
+ NOr(m604(0, 2, 1, 0), 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0)
+
+ NOr(m604(0, 2, 1, 0), aui5, Local0)
+ m600(arg0, 14, Local0, 0xfffffffffffffcde)
+
+ NOr(m604(0, 2, 1, 0), auij, Local0)
+ m600(arg0, 15, Local0, 0)
+
+ if (y078) {
+ NOr(m604(0, 2, 1, 0), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfffffffffffffcde)
+
+ NOr(m604(0, 2, 1, 0), Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0)
+ }
+
+ NOr(m604(0, 2, 1, 0), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfffffffffffffcde)
+
+ NOr(m604(0, 2, 1, 0), Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(m604(0, 2, 1, 0), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfffffffffffffcde)
+
+ NOr(m604(0, 2, 1, 0), m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(m604(0, 2, 1, 0), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfffffffffffffcde)
+
+ NOr(m604(0, 2, 1, 0), Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0)
+ }
+
+ // Conversion of the second operand
+
+ Store(NOr(0, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 24, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(0xffffffffffffffff, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 25, Local0, 0)
+
+ Store(NOr(aui5, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 26, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(auij, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 27, Local0, 0)
+
+ if (y078) {
+ Store(NOr(Derefof(Refof(aui5)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 28, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(Refof(auij)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 29, Local0, 0)
+ }
+
+ Store(NOr(Derefof(Index(paui, 5)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 30, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(Index(paui, 19)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 31, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(m601(1, 5), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 32, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(m601(1, 19), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 33, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(Derefof(m602(1, 5, 1)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 34, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(m602(1, 19, 1)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 35, Local0, 0)
+ }
+
+ NOr(0, m604(0, 2, 1, 0), Local0)
+ m600(arg0, 36, Local0, 0xfffffffffffffcde)
+
+ NOr(0xffffffffffffffff, m604(0, 2, 1, 0), Local0)
+ m600(arg0, 37, Local0, 0)
+
+ NOr(aui5, m604(0, 2, 1, 0), Local0)
+ m600(arg0, 38, Local0, 0xfffffffffffffcde)
+
+ NOr(auij, m604(0, 2, 1, 0), Local0)
+ m600(arg0, 39, Local0, 0)
+
+ if (y078) {
+ NOr(Derefof(Refof(aui5)), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 40, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(Refof(auij)), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 41, Local0, 0)
+ }
+
+ NOr(Derefof(Index(paui, 5)), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 42, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(Index(paui, 19)), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 43, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(m601(1, 5), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 44, Local0, 0xfffffffffffffcde)
+
+ NOr(m601(1, 19), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 45, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(Derefof(m602(1, 5, 1)), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 46, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(m602(1, 19, 1)), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 47, Local0, 0)
+ }
+ }
+
+ // NOr, 64-bit
+ Method(m014, 1)
+ {
+ // Conversion of the first operand
+
+ Store(NOr(m604(0, 2, 5, 0), 0), Local0)
+ m600(arg0, 0, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(m604(0, 2, 5, 0), 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0)
+
+ Store(NOr(m604(0, 2, 5, 0), aui5), Local0)
+ m600(arg0, 2, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(m604(0, 2, 5, 0), auij), Local0)
+ m600(arg0, 3, Local0, 0)
+
+ if (y078) {
+ Store(NOr(m604(0, 2, 5, 0), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(m604(0, 2, 5, 0), Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0)
+ }
+
+ Store(NOr(m604(0, 2, 5, 0), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(m604(0, 2, 5, 0), Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(m604(0, 2, 5, 0), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(m604(0, 2, 5, 0), m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(m604(0, 2, 5, 0), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(m604(0, 2, 5, 0), Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0)
+ }
+
+ NOr(m604(0, 2, 5, 0), 0, Local0)
+ m600(arg0, 12, Local0, 0x01834c6e29af5d7b)
+
+ NOr(m604(0, 2, 5, 0), 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0)
+
+ NOr(m604(0, 2, 5, 0), aui5, Local0)
+ m600(arg0, 14, Local0, 0x01834c6e29af5d7b)
+
+ NOr(m604(0, 2, 5, 0), auij, Local0)
+ m600(arg0, 15, Local0, 0)
+
+ if (y078) {
+ NOr(m604(0, 2, 5, 0), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x01834c6e29af5d7b)
+
+ NOr(m604(0, 2, 5, 0), Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0)
+ }
+
+ NOr(m604(0, 2, 5, 0), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x01834c6e29af5d7b)
+
+ NOr(m604(0, 2, 5, 0), Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(m604(0, 2, 5, 0), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x01834c6e29af5d7b)
+
+ NOr(m604(0, 2, 5, 0), m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(m604(0, 2, 5, 0), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x01834c6e29af5d7b)
+
+ NOr(m604(0, 2, 5, 0), Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0)
+ }
+
+ // Conversion of the second operand
+
+ Store(NOr(0, m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 24, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(0xffffffffffffffff, m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 25, Local0, 0)
+
+ Store(NOr(aui5, m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 26, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(auij, m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 27, Local0, 0)
+
+ if (y078) {
+ Store(NOr(Derefof(Refof(aui5)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 28, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(Refof(auij)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 29, Local0, 0)
+ }
+
+ Store(NOr(Derefof(Index(paui, 5)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 30, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(Index(paui, 19)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 31, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(m601(1, 5), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 32, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(m601(1, 19), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 33, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(Derefof(m602(1, 5, 1)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 34, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(m602(1, 19, 1)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 35, Local0, 0)
+ }
+
+ NOr(0, m604(0, 2, 5, 0), Local0)
+ m600(arg0, 36, Local0, 0x01834c6e29af5d7b)
+
+ NOr(0xffffffffffffffff, m604(0, 2, 5, 0), Local0)
+ m600(arg0, 37, Local0, 0)
+
+ NOr(aui5, m604(0, 2, 5, 0), Local0)
+ m600(arg0, 38, Local0, 0x01834c6e29af5d7b)
+
+ NOr(auij, m604(0, 2, 5, 0), Local0)
+ m600(arg0, 39, Local0, 0)
+
+ if (y078) {
+ NOr(Derefof(Refof(aui5)), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 40, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(Refof(auij)), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 41, Local0, 0)
+ }
+
+ NOr(Derefof(Index(paui, 5)), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 42, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(Index(paui, 19)), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 43, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(m601(1, 5), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 44, Local0, 0x01834c6e29af5d7b)
+
+ NOr(m601(1, 19), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 45, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(Derefof(m602(1, 5, 1)), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 46, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(m602(1, 19, 1)), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 47, Local0, 0)
+ }
+
+ // Conversion of the both operands
+
+ Store(NOr(m604(0, 2, 1, 0), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 48, Local0, 0x01834c6e29af5c5a)
+
+ Store(NOr(m604(0, 2, 5, 0), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 49, Local0, 0x01834c6e29af5c5a)
+
+ NOr(m604(0, 2, 1, 0), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 50, Local0, 0x01834c6e29af5c5a)
+
+ NOr(m604(0, 2, 5, 0), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 51, Local0, 0x01834c6e29af5c5a)
+ }
+
+ // NOr, 32-bit
+ Method(m015, 1)
+ {
+ // Conversion of the first operand
+
+ Store(NOr(m604(0, 2, 4, 0), 0), Local0)
+ m600(arg0, 0, Local0, 0x3e864c01)
+
+ Store(NOr(m604(0, 2, 4, 0), 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0)
+
+ Store(NOr(m604(0, 2, 4, 0), aui5), Local0)
+ m600(arg0, 2, Local0, 0x3e864c01)
+
+ Store(NOr(m604(0, 2, 4, 0), auii), Local0)
+ m600(arg0, 3, Local0, 0)
+
+ if (y078) {
+ Store(NOr(m604(0, 2, 4, 0), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x3e864c01)
+
+ Store(NOr(m604(0, 2, 4, 0), Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0)
+ }
+
+ Store(NOr(m604(0, 2, 4, 0), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x3e864c01)
+
+ Store(NOr(m604(0, 2, 4, 0), Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(m604(0, 2, 4, 0), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x3e864c01)
+
+ Store(NOr(m604(0, 2, 4, 0), m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(m604(0, 2, 4, 0), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x3e864c01)
+
+ Store(NOr(m604(0, 2, 4, 0), Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0)
+ }
+
+ NOr(m604(0, 2, 4, 0), 0, Local0)
+ m600(arg0, 12, Local0, 0x3e864c01)
+
+ NOr(m604(0, 2, 4, 0), 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0)
+
+ NOr(m604(0, 2, 4, 0), aui5, Local0)
+ m600(arg0, 14, Local0, 0x3e864c01)
+
+ NOr(m604(0, 2, 4, 0), auii, Local0)
+ m600(arg0, 15, Local0, 0)
+
+ if (y078) {
+ NOr(m604(0, 2, 4, 0), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x3e864c01)
+
+ NOr(m604(0, 2, 4, 0), Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0)
+ }
+
+ NOr(m604(0, 2, 4, 0), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x3e864c01)
+
+ NOr(m604(0, 2, 4, 0), Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(m604(0, 2, 4, 0), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x3e864c01)
+
+ NOr(m604(0, 2, 4, 0), m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(m604(0, 2, 4, 0), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x3e864c01)
+
+ NOr(m604(0, 2, 4, 0), Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0)
+ }
+
+ // Conversion of the second operand
+
+ Store(NOr(0, m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 24, Local0, 0x3e864c01)
+
+ Store(NOr(0xffffffff, m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 25, Local0, 0)
+
+ Store(NOr(aui5, m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 26, Local0, 0x3e864c01)
+
+ Store(NOr(auii, m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 27, Local0, 0)
+
+ if (y078) {
+ Store(NOr(Derefof(Refof(aui5)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 28, Local0, 0x3e864c01)
+
+ Store(NOr(Derefof(Refof(auii)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 29, Local0, 0)
+ }
+
+ Store(NOr(Derefof(Index(paui, 5)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 30, Local0, 0x3e864c01)
+
+ Store(NOr(Derefof(Index(paui, 18)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 31, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(m601(1, 5), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 32, Local0, 0x3e864c01)
+
+ Store(NOr(m601(1, 18), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 33, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(Derefof(m602(1, 5, 1)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 34, Local0, 0x3e864c01)
+
+ Store(NOr(Derefof(m602(1, 18, 1)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 35, Local0, 0)
+ }
+
+ NOr(0, m604(0, 2, 4, 0), Local0)
+ m600(arg0, 36, Local0, 0x3e864c01)
+
+ NOr(0xffffffff, m604(0, 2, 4, 0), Local0)
+ m600(arg0, 37, Local0, 0)
+
+ NOr(aui5, m604(0, 2, 4, 0), Local0)
+ m600(arg0, 38, Local0, 0x3e864c01)
+
+ NOr(auii, m604(0, 2, 4, 0), Local0)
+ m600(arg0, 39, Local0, 0)
+
+ if (y078) {
+ NOr(Derefof(Refof(aui5)), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 40, Local0, 0x3e864c01)
+
+ NOr(Derefof(Refof(auii)), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 41, Local0, 0)
+ }
+
+ NOr(Derefof(Index(paui, 5)), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 42, Local0, 0x3e864c01)
+
+ NOr(Derefof(Index(paui, 18)), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 43, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(m601(1, 5), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 44, Local0, 0x3e864c01)
+
+ NOr(m601(1, 18), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 45, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(Derefof(m602(1, 5, 1)), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 46, Local0, 0x3e864c01)
+
+ NOr(Derefof(m602(1, 18, 1)), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 47, Local0, 0)
+ }
+
+ // Conversion of the both operands
+
+ Store(NOr(m604(0, 2, 1, 0), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 48, Local0, 0x3e864c00)
+
+ Store(NOr(m604(0, 2, 4, 0), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 49, Local0, 0x3e864c00)
+
+ NOr(m604(0, 2, 1, 0), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 50, Local0, 0x3e864c00)
+
+ NOr(m604(0, 2, 4, 0), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 51, Local0, 0x3e864c00)
+ }
+
+ // Or, common 32-bit/64-bit test
+ Method(m016, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Or(m604(0, 2, 1, 0), 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Or(m604(0, 2, 1, 0), 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xffffffffffffffff)
+
+ Store(Or(m604(0, 2, 1, 0), aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Or(m604(0, 2, 1, 0), auij), Local0)
+ m600(arg0, 3, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Store(Or(m604(0, 2, 1, 0), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Or(m604(0, 2, 1, 0), Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xffffffffffffffff)
+ }
+
+ Store(Or(m604(0, 2, 1, 0), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Or(m604(0, 2, 1, 0), Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Store(Or(m604(0, 2, 1, 0), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Or(m604(0, 2, 1, 0), m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(m604(0, 2, 1, 0), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Or(m604(0, 2, 1, 0), Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xffffffffffffffff)
+ }
+
+ Or(m604(0, 2, 1, 0), 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Or(m604(0, 2, 1, 0), 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xffffffffffffffff)
+
+ Or(m604(0, 2, 1, 0), aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Or(m604(0, 2, 1, 0), auij, Local0)
+ m600(arg0, 15, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Or(m604(0, 2, 1, 0), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Or(m604(0, 2, 1, 0), Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xffffffffffffffff)
+ }
+
+ Or(m604(0, 2, 1, 0), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Or(m604(0, 2, 1, 0), Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Or(m604(0, 2, 1, 0), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Or(m604(0, 2, 1, 0), m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(m604(0, 2, 1, 0), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Or(m604(0, 2, 1, 0), Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xffffffffffffffff)
+ }
+
+ // Conversion of the second operand
+
+ Store(Or(0, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 24, Local0, 0x321)
+
+ Store(Or(0xffffffffffffffff, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 25, Local0, 0xffffffffffffffff)
+
+ Store(Or(aui5, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 26, Local0, 0x321)
+
+ Store(Or(auij, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 27, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Store(Or(Derefof(Refof(aui5)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 28, Local0, 0x321)
+
+ Store(Or(Derefof(Refof(auij)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 29, Local0, 0xffffffffffffffff)
+ }
+
+ Store(Or(Derefof(Index(paui, 5)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 30, Local0, 0x321)
+
+ Store(Or(Derefof(Index(paui, 19)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 31, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Store(Or(m601(1, 5), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 32, Local0, 0x321)
+
+ Store(Or(m601(1, 19), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 33, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(Derefof(m602(1, 5, 1)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 34, Local0, 0x321)
+
+ Store(Or(Derefof(m602(1, 19, 1)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 35, Local0, 0xffffffffffffffff)
+ }
+
+ Or(0, m604(0, 2, 1, 0), Local0)
+ m600(arg0, 36, Local0, 0x321)
+
+ Or(0xffffffffffffffff, m604(0, 2, 1, 0), Local0)
+ m600(arg0, 37, Local0, 0xffffffffffffffff)
+
+ Or(aui5, m604(0, 2, 1, 0), Local0)
+ m600(arg0, 38, Local0, 0x321)
+
+ Or(auij, m604(0, 2, 1, 0), Local0)
+ m600(arg0, 39, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Or(Derefof(Refof(aui5)), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 40, Local0, 0x321)
+
+ Or(Derefof(Refof(auij)), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 41, Local0, 0xffffffffffffffff)
+ }
+
+ Or(Derefof(Index(paui, 5)), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 42, Local0, 0x321)
+
+ Or(Derefof(Index(paui, 19)), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 43, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Or(m601(1, 5), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 44, Local0, 0x321)
+
+ Or(m601(1, 19), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 45, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(Derefof(m602(1, 5, 1)), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 46, Local0, 0x321)
+
+ Or(Derefof(m602(1, 19, 1)), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 47, Local0, 0xffffffffffffffff)
+ }
+ }
+
+ // Or, 64-bit
+ Method(m017, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Or(m604(0, 2, 5, 0), 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(m604(0, 2, 5, 0), 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xffffffffffffffff)
+
+ Store(Or(m604(0, 2, 5, 0), aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(m604(0, 2, 5, 0), auij), Local0)
+ m600(arg0, 3, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Store(Or(m604(0, 2, 5, 0), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(m604(0, 2, 5, 0), Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xffffffffffffffff)
+ }
+
+ Store(Or(m604(0, 2, 5, 0), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(m604(0, 2, 5, 0), Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Store(Or(m604(0, 2, 5, 0), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(m604(0, 2, 5, 0), m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(m604(0, 2, 5, 0), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(m604(0, 2, 5, 0), Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xffffffffffffffff)
+ }
+
+ Or(m604(0, 2, 5, 0), 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Or(m604(0, 2, 5, 0), 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xffffffffffffffff)
+
+ Or(m604(0, 2, 5, 0), aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Or(m604(0, 2, 5, 0), auij, Local0)
+ m600(arg0, 15, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Or(m604(0, 2, 5, 0), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Or(m604(0, 2, 5, 0), Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xffffffffffffffff)
+ }
+
+ Or(m604(0, 2, 5, 0), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Or(m604(0, 2, 5, 0), Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Or(m604(0, 2, 5, 0), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Or(m604(0, 2, 5, 0), m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(m604(0, 2, 5, 0), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Or(m604(0, 2, 5, 0), Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xffffffffffffffff)
+ }
+
+ // Conversion of the second operand
+
+ Store(Or(0, m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 24, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(0xffffffffffffffff, m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 25, Local0, 0xffffffffffffffff)
+
+ Store(Or(aui5, m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 26, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(auij, m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 27, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Store(Or(Derefof(Refof(aui5)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 28, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(Refof(auij)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 29, Local0, 0xffffffffffffffff)
+ }
+
+ Store(Or(Derefof(Index(paui, 5)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 30, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(Index(paui, 19)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 31, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Store(Or(m601(1, 5), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 32, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(m601(1, 19), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 33, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(Derefof(m602(1, 5, 1)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 34, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(m602(1, 19, 1)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 35, Local0, 0xffffffffffffffff)
+ }
+
+ Or(0, m604(0, 2, 5, 0), Local0)
+ m600(arg0, 36, Local0, 0xfe7cb391d650a284)
+
+ Or(0xffffffffffffffff, m604(0, 2, 5, 0), Local0)
+ m600(arg0, 37, Local0, 0xffffffffffffffff)
+
+ Or(aui5, m604(0, 2, 5, 0), Local0)
+ m600(arg0, 38, Local0, 0xfe7cb391d650a284)
+
+ Or(auij, m604(0, 2, 5, 0), Local0)
+ m600(arg0, 39, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Or(Derefof(Refof(aui5)), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 40, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(Refof(auij)), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 41, Local0, 0xffffffffffffffff)
+ }
+
+ Or(Derefof(Index(paui, 5)), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 42, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(Index(paui, 19)), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 43, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Or(m601(1, 5), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 44, Local0, 0xfe7cb391d650a284)
+
+ Or(m601(1, 19), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 45, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(Derefof(m602(1, 5, 1)), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 46, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(m602(1, 19, 1)), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 47, Local0, 0xffffffffffffffff)
+ }
+
+ // Conversion of the both operands
+
+ Store(Or(m604(0, 2, 1, 0), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 48, Local0, 0xfe7cb391d650a3a5)
+
+ Store(Or(m604(0, 2, 5, 0), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 49, Local0, 0xfe7cb391d650a3a5)
+
+ Or(m604(0, 2, 1, 0), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 50, Local0, 0xfe7cb391d650a3a5)
+
+ Or(m604(0, 2, 5, 0), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 51, Local0, 0xfe7cb391d650a3a5)
+ }
+
+ // Or, 32-bit
+ Method(m018, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Or(m604(0, 2, 4, 0), 0), Local0)
+ m600(arg0, 0, Local0, 0xc179b3fe)
+
+ Store(Or(m604(0, 2, 4, 0), 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0xffffffff)
+
+ Store(Or(m604(0, 2, 4, 0), aui5), Local0)
+ m600(arg0, 2, Local0, 0xc179b3fe)
+
+ Store(Or(m604(0, 2, 4, 0), auii), Local0)
+ m600(arg0, 3, Local0, 0xffffffff)
+
+ if (y078) {
+ Store(Or(m604(0, 2, 4, 0), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xc179b3fe)
+
+ Store(Or(m604(0, 2, 4, 0), Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0xffffffff)
+ }
+
+ Store(Or(m604(0, 2, 4, 0), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xc179b3fe)
+
+ Store(Or(m604(0, 2, 4, 0), Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0xffffffff)
+
+ // Method returns Integer
+
+ Store(Or(m604(0, 2, 4, 0), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xc179b3fe)
+
+ Store(Or(m604(0, 2, 4, 0), m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0xffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(m604(0, 2, 4, 0), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xc179b3fe)
+
+ Store(Or(m604(0, 2, 4, 0), Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0xffffffff)
+ }
+
+ Or(m604(0, 2, 4, 0), 0, Local0)
+ m600(arg0, 12, Local0, 0xc179b3fe)
+
+ Or(m604(0, 2, 4, 0), 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0xffffffff)
+
+ Or(m604(0, 2, 4, 0), aui5, Local0)
+ m600(arg0, 14, Local0, 0xc179b3fe)
+
+ Or(m604(0, 2, 4, 0), auii, Local0)
+ m600(arg0, 15, Local0, 0xffffffff)
+
+ if (y078) {
+ Or(m604(0, 2, 4, 0), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xc179b3fe)
+
+ Or(m604(0, 2, 4, 0), Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0xffffffff)
+ }
+
+ Or(m604(0, 2, 4, 0), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xc179b3fe)
+
+ Or(m604(0, 2, 4, 0), Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0xffffffff)
+
+ // Method returns Integer
+
+ Or(m604(0, 2, 4, 0), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xc179b3fe)
+
+ Or(m604(0, 2, 4, 0), m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0xffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(m604(0, 2, 4, 0), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xc179b3fe)
+
+ Or(m604(0, 2, 4, 0), Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0xffffffff)
+ }
+
+ // Conversion of the second operand
+
+ Store(Or(0, m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 24, Local0, 0xc179b3fe)
+
+ Store(Or(0xffffffff, m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 25, Local0, 0xffffffff)
+
+ Store(Or(aui5, m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 26, Local0, 0xc179b3fe)
+
+ Store(Or(auii, m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 27, Local0, 0xffffffff)
+
+ if (y078) {
+ Store(Or(Derefof(Refof(aui5)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 28, Local0, 0xc179b3fe)
+
+ Store(Or(Derefof(Refof(auii)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 29, Local0, 0xffffffff)
+ }
+
+ Store(Or(Derefof(Index(paui, 5)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 30, Local0, 0xc179b3fe)
+
+ Store(Or(Derefof(Index(paui, 18)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 31, Local0, 0xffffffff)
+
+ // Method returns Integer
+
+ Store(Or(m601(1, 5), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 32, Local0, 0xc179b3fe)
+
+ Store(Or(m601(1, 18), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 33, Local0, 0xffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(Derefof(m602(1, 5, 1)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 34, Local0, 0xc179b3fe)
+
+ Store(Or(Derefof(m602(1, 18, 1)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 35, Local0, 0xffffffff)
+ }
+
+ Or(0, m604(0, 2, 4, 0), Local0)
+ m600(arg0, 36, Local0, 0xc179b3fe)
+
+ Or(0xffffffff, m604(0, 2, 4, 0), Local0)
+ m600(arg0, 37, Local0, 0xffffffff)
+
+ Or(aui5, m604(0, 2, 4, 0), Local0)
+ m600(arg0, 38, Local0, 0xc179b3fe)
+
+ Or(auii, m604(0, 2, 4, 0), Local0)
+ m600(arg0, 39, Local0, 0xffffffff)
+
+ if (y078) {
+ Or(Derefof(Refof(aui5)), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 40, Local0, 0xc179b3fe)
+
+ Or(Derefof(Refof(auii)), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 41, Local0, 0xffffffff)
+ }
+
+ Or(Derefof(Index(paui, 5)), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 42, Local0, 0xc179b3fe)
+
+ Or(Derefof(Index(paui, 18)), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 43, Local0, 0xffffffff)
+
+ // Method returns Integer
+
+ Or(m601(1, 5), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 44, Local0, 0xc179b3fe)
+
+ Or(m601(1, 18), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 45, Local0, 0xffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(Derefof(m602(1, 5, 1)), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 46, Local0, 0xc179b3fe)
+
+ Or(Derefof(m602(1, 18, 1)), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 47, Local0, 0xffffffff)
+ }
+
+ // Conversion of the both operands
+
+ Store(Or(m604(0, 2, 1, 0), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 48, Local0, 0xc179b3ff)
+
+ Store(Or(m604(0, 2, 4, 0), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 49, Local0, 0xc179b3ff)
+
+ Or(m604(0, 2, 1, 0), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 50, Local0, 0xc179b3ff)
+
+ Or(m604(0, 2, 4, 0), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 51, Local0, 0xc179b3ff)
+ }
+
+ // ShiftLeft, common 32-bit/64-bit test
+ Method(m019, 1)
+ {
+ // Conversion of the first operand
+
+ Store(ShiftLeft(m604(0, 2, 1, 0), 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(ShiftLeft(m604(0, 2, 1, 0), 1), Local0)
+ m600(arg0, 1, Local0, 0x642)
+
+ Store(ShiftLeft(m604(0, 2, 1, 0), aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(ShiftLeft(m604(0, 2, 1, 0), aui6), Local0)
+ m600(arg0, 3, Local0, 0x642)
+
+ if (y078) {
+ Store(ShiftLeft(m604(0, 2, 1, 0), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(ShiftLeft(m604(0, 2, 1, 0), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x642)
+ }
+
+ Store(ShiftLeft(m604(0, 2, 1, 0), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(ShiftLeft(m604(0, 2, 1, 0), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x642)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(m604(0, 2, 1, 0), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(ShiftLeft(m604(0, 2, 1, 0), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x642)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(m604(0, 2, 1, 0), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(ShiftLeft(m604(0, 2, 1, 0), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x642)
+ }
+
+ ShiftLeft(m604(0, 2, 1, 0), 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ ShiftLeft(m604(0, 2, 1, 0), 1, Local0)
+ m600(arg0, 13, Local0, 0x642)
+
+ ShiftLeft(m604(0, 2, 1, 0), aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ ShiftLeft(m604(0, 2, 1, 0), aui6, Local0)
+ m600(arg0, 15, Local0, 0x642)
+
+ if (y078) {
+ ShiftLeft(m604(0, 2, 1, 0), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ ShiftLeft(m604(0, 2, 1, 0), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x642)
+ }
+
+ ShiftLeft(m604(0, 2, 1, 0), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ ShiftLeft(m604(0, 2, 1, 0), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x642)
+
+ // Method returns Integer
+
+ ShiftLeft(m604(0, 2, 1, 0), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ ShiftLeft(m604(0, 2, 1, 0), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x642)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(m604(0, 2, 1, 0), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ ShiftLeft(m604(0, 2, 1, 0), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x642)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftLeft(0, m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftLeft(1, m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 25, Local0, 0x800)
+
+ Store(ShiftLeft(aui5, m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftLeft(aui6, m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 27, Local0, 0x800)
+
+ if (y078) {
+ Store(ShiftLeft(Derefof(Refof(aui5)), m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Refof(aui6)), m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 29, Local0, 0x800)
+ }
+
+ Store(ShiftLeft(Derefof(Index(paui, 5)), m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Index(paui, 6)), m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 31, Local0, 0x800)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(m601(1, 5), m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftLeft(m601(1, 6), m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 33, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(Derefof(m602(1, 5, 1)), m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftLeft(Derefof(m602(1, 6, 1)), m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 35, Local0, 0x800)
+ }
+
+ ShiftLeft(0, m604(0, 2, 20, 0), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftLeft(1, m604(0, 2, 20, 0), Local0)
+ m600(arg0, 37, Local0, 0x800)
+
+ ShiftLeft(aui5, m604(0, 2, 20, 0), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftLeft(aui6, m604(0, 2, 20, 0), Local0)
+ m600(arg0, 39, Local0, 0x800)
+
+ if (y078) {
+ ShiftLeft(Derefof(Refof(aui5)), m604(0, 2, 20, 0), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftLeft(Derefof(Refof(aui6)), m604(0, 2, 20, 0), Local0)
+ m600(arg0, 41, Local0, 0x800)
+ }
+
+ ShiftLeft(Derefof(Index(paui, 5)), m604(0, 2, 20, 0), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftLeft(Derefof(Index(paui, 6)), m604(0, 2, 20, 0), Local0)
+ m600(arg0, 43, Local0, 0x800)
+
+ // Method returns Integer
+
+ ShiftLeft(m601(1, 5), m604(0, 2, 20, 0), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftLeft(m601(1, 6), m604(0, 2, 20, 0), Local0)
+ m600(arg0, 45, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(Derefof(m602(1, 5, 1)), m604(0, 2, 20, 0), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftLeft(Derefof(m602(1, 6, 1)), m604(0, 2, 20, 0), Local0)
+ m600(arg0, 47, Local0, 0x800)
+ }
+ }
+
+ // ShiftLeft, 64-bit
+ Method(m01a, 1)
+ {
+ // Conversion of the first operand
+
+ Store(ShiftLeft(m604(0, 2, 5, 0), 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(m604(0, 2, 5, 0), 1), Local0)
+ m600(arg0, 1, Local0, 0xfcf96723aca14508)
+
+ Store(ShiftLeft(m604(0, 2, 5, 0), aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(m604(0, 2, 5, 0), aui6), Local0)
+ m600(arg0, 3, Local0, 0xfcf96723aca14508)
+
+ if (y078) {
+ Store(ShiftLeft(m604(0, 2, 5, 0), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(m604(0, 2, 5, 0), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xfcf96723aca14508)
+ }
+
+ Store(ShiftLeft(m604(0, 2, 5, 0), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(m604(0, 2, 5, 0), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xfcf96723aca14508)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(m604(0, 2, 5, 0), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(m604(0, 2, 5, 0), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xfcf96723aca14508)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(m604(0, 2, 5, 0), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(m604(0, 2, 5, 0), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfcf96723aca14508)
+ }
+
+ ShiftLeft(m604(0, 2, 5, 0), 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(m604(0, 2, 5, 0), 1, Local0)
+ m600(arg0, 13, Local0, 0xfcf96723aca14508)
+
+ ShiftLeft(m604(0, 2, 5, 0), aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(m604(0, 2, 5, 0), aui6, Local0)
+ m600(arg0, 15, Local0, 0xfcf96723aca14508)
+
+ if (y078) {
+ ShiftLeft(m604(0, 2, 5, 0), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(m604(0, 2, 5, 0), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xfcf96723aca14508)
+ }
+
+ ShiftLeft(m604(0, 2, 5, 0), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(m604(0, 2, 5, 0), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xfcf96723aca14508)
+
+ // Method returns Integer
+
+ ShiftLeft(m604(0, 2, 5, 0), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(m604(0, 2, 5, 0), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xfcf96723aca14508)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(m604(0, 2, 5, 0), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(m604(0, 2, 5, 0), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfcf96723aca14508)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftLeft(0, m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftLeft(1, m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 25, Local0, 0x800)
+
+ Store(ShiftLeft(aui5, m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftLeft(aui6, m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 27, Local0, 0x800)
+
+ if (y078) {
+ Store(ShiftLeft(Derefof(Refof(aui5)), m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Refof(aui6)), m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 29, Local0, 0x800)
+ }
+
+ Store(ShiftLeft(Derefof(Index(paui, 5)), m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Index(paui, 6)), m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 31, Local0, 0x800)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(m601(1, 5), m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftLeft(m601(1, 6), m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 33, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(Derefof(m602(1, 5, 1)), m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftLeft(Derefof(m602(1, 6, 1)), m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 35, Local0, 0x800)
+ }
+
+ ShiftLeft(0, m604(0, 2, 20, 0), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftLeft(1, m604(0, 2, 20, 0), Local0)
+ m600(arg0, 37, Local0, 0x800)
+
+ ShiftLeft(aui5, m604(0, 2, 20, 0), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftLeft(aui6, m604(0, 2, 20, 0), Local0)
+ m600(arg0, 39, Local0, 0x800)
+
+ if (y078) {
+ ShiftLeft(Derefof(Refof(aui5)), m604(0, 2, 20, 0), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftLeft(Derefof(Refof(aui6)), m604(0, 2, 20, 0), Local0)
+ m600(arg0, 41, Local0, 0x800)
+ }
+
+ ShiftLeft(Derefof(Index(paui, 5)), m604(0, 2, 20, 0), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftLeft(Derefof(Index(paui, 6)), m604(0, 2, 20, 0), Local0)
+ m600(arg0, 43, Local0, 0x800)
+
+ // Method returns Integer
+
+ ShiftLeft(m601(1, 5), m604(0, 2, 20, 0), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftLeft(m601(1, 6), m604(0, 2, 20, 0), Local0)
+ m600(arg0, 45, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(Derefof(m602(1, 5, 1)), m604(0, 2, 20, 0), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftLeft(Derefof(m602(1, 6, 1)), m604(0, 2, 20, 0), Local0)
+ m600(arg0, 47, Local0, 0x800)
+ }
+
+ // Conversion of the both operands
+
+ Store(ShiftLeft(m604(0, 2, 1, 0), m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 48, Local0, 0x190800)
+
+ Store(ShiftLeft(m604(0, 2, 5, 0), m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 49, Local0, 0xE59C8EB285142000)
+
+ ShiftLeft(m604(0, 2, 1, 0), m604(0, 2, 20, 0), Local0)
+ m600(arg0, 50, Local0, 0x190800)
+
+ ShiftLeft(m604(0, 2, 5, 0), m604(0, 2, 20, 0), Local0)
+ m600(arg0, 51, Local0, 0xE59C8EB285142000)
+ }
+
+ // ShiftLeft, 32-bit
+ Method(m01b, 1)
+ {
+ // Conversion of the first operand
+
+ Store(ShiftLeft(m604(0, 2, 4, 0), 0), Local0)
+ m600(arg0, 0, Local0, 0xc179b3fe)
+
+ Store(ShiftLeft(m604(0, 2, 4, 0), 1), Local0)
+ m600(arg0, 1, Local0, 0x82f367fc)
+
+ Store(ShiftLeft(m604(0, 2, 4, 0), aui5), Local0)
+ m600(arg0, 2, Local0, 0xc179b3fe)
+
+ Store(ShiftLeft(m604(0, 2, 4, 0), aui6), Local0)
+ m600(arg0, 3, Local0, 0x82f367fc)
+
+ if (y078) {
+ Store(ShiftLeft(m604(0, 2, 4, 0), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xc179b3fe)
+
+ Store(ShiftLeft(m604(0, 2, 4, 0), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x82f367fc)
+ }
+
+ Store(ShiftLeft(m604(0, 2, 4, 0), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xc179b3fe)
+
+ Store(ShiftLeft(m604(0, 2, 4, 0), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x82f367fc)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(m604(0, 2, 4, 0), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xc179b3fe)
+
+ Store(ShiftLeft(m604(0, 2, 4, 0), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x82f367fc)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(m604(0, 2, 4, 0), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xc179b3fe)
+
+ Store(ShiftLeft(m604(0, 2, 4, 0), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x82f367fc)
+ }
+
+ ShiftLeft(m604(0, 2, 4, 0), 0, Local0)
+ m600(arg0, 12, Local0, 0xc179b3fe)
+
+ ShiftLeft(m604(0, 2, 4, 0), 1, Local0)
+ m600(arg0, 13, Local0, 0x82f367fc)
+
+ ShiftLeft(m604(0, 2, 4, 0), aui5, Local0)
+ m600(arg0, 14, Local0, 0xc179b3fe)
+
+ ShiftLeft(m604(0, 2, 4, 0), aui6, Local0)
+ m600(arg0, 15, Local0, 0x82f367fc)
+
+ if (y078) {
+ ShiftLeft(m604(0, 2, 4, 0), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xc179b3fe)
+
+ ShiftLeft(m604(0, 2, 4, 0), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x82f367fc)
+ }
+
+ ShiftLeft(m604(0, 2, 4, 0), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xc179b3fe)
+
+ ShiftLeft(m604(0, 2, 4, 0), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x82f367fc)
+
+ // Method returns Integer
+
+ ShiftLeft(m604(0, 2, 4, 0), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xc179b3fe)
+
+ ShiftLeft(m604(0, 2, 4, 0), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x82f367fc)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(m604(0, 2, 4, 0), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xc179b3fe)
+
+ ShiftLeft(m604(0, 2, 4, 0), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x82f367fc)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftLeft(0, m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftLeft(1, m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 25, Local0, 0x800)
+
+ Store(ShiftLeft(aui5, m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftLeft(aui6, m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 27, Local0, 0x800)
+
+ if (y078) {
+ Store(ShiftLeft(Derefof(Refof(aui5)), m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Refof(aui6)), m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 29, Local0, 0x800)
+ }
+
+ Store(ShiftLeft(Derefof(Index(paui, 5)), m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Index(paui, 6)), m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 31, Local0, 0x800)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(m601(1, 5), m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftLeft(m601(1, 6), m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 33, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(Derefof(m602(1, 5, 1)), m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftLeft(Derefof(m602(1, 6, 1)), m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 35, Local0, 0x800)
+ }
+
+ ShiftLeft(0, m604(0, 2, 20, 0), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftLeft(1, m604(0, 2, 20, 0), Local0)
+ m600(arg0, 37, Local0, 0x800)
+
+ ShiftLeft(aui5, m604(0, 2, 20, 0), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftLeft(aui6, m604(0, 2, 20, 0), Local0)
+ m600(arg0, 39, Local0, 0x800)
+
+ if (y078) {
+ ShiftLeft(Derefof(Refof(aui5)), m604(0, 2, 20, 0), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftLeft(Derefof(Refof(aui6)), m604(0, 2, 20, 0), Local0)
+ m600(arg0, 41, Local0, 0x800)
+ }
+
+ ShiftLeft(Derefof(Index(paui, 5)), m604(0, 2, 20, 0), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftLeft(Derefof(Index(paui, 6)), m604(0, 2, 20, 0), Local0)
+ m600(arg0, 43, Local0, 0x800)
+
+ // Method returns Integer
+
+ ShiftLeft(m601(1, 5), m604(0, 2, 20, 0), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftLeft(m601(1, 6), m604(0, 2, 20, 0), Local0)
+ m600(arg0, 45, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(Derefof(m602(1, 5, 1)), m604(0, 2, 20, 0), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftLeft(Derefof(m602(1, 6, 1)), m604(0, 2, 20, 0), Local0)
+ m600(arg0, 47, Local0, 0x800)
+ }
+
+ // Conversion of the both operands
+
+ Store(ShiftLeft(m604(0, 2, 1, 0), m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 48, Local0, 0x190800)
+
+ Store(ShiftLeft(m604(0, 2, 4, 0), m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 49, Local0, 0xcd9ff000)
+
+ ShiftLeft(m604(0, 2, 1, 0), m604(0, 2, 20, 0), Local0)
+ m600(arg0, 50, Local0, 0x190800)
+
+ ShiftLeft(m604(0, 2, 4, 0), m604(0, 2, 20, 0), Local0)
+ m600(arg0, 51, Local0, 0xcd9ff000)
+ }
+
+ // ShiftRight, common 32-bit/64-bit test
+ Method(m01c, 1)
+ {
+ // Conversion of the first operand
+
+ Store(ShiftRight(m604(0, 2, 1, 0), 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(ShiftRight(m604(0, 2, 1, 0), 1), Local0)
+ m600(arg0, 1, Local0, 0x190)
+
+ Store(ShiftRight(m604(0, 2, 1, 0), aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(ShiftRight(m604(0, 2, 1, 0), aui6), Local0)
+ m600(arg0, 3, Local0, 0x190)
+
+ if (y078) {
+ Store(ShiftRight(m604(0, 2, 1, 0), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(ShiftRight(m604(0, 2, 1, 0), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x190)
+ }
+
+ Store(ShiftRight(m604(0, 2, 1, 0), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(ShiftRight(m604(0, 2, 1, 0), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x190)
+
+ // Method returns Integer
+
+ Store(ShiftRight(m604(0, 2, 1, 0), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(ShiftRight(m604(0, 2, 1, 0), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x190)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(m604(0, 2, 1, 0), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(ShiftRight(m604(0, 2, 1, 0), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x190)
+ }
+
+ ShiftRight(m604(0, 2, 1, 0), 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ ShiftRight(m604(0, 2, 1, 0), 1, Local0)
+ m600(arg0, 13, Local0, 0x190)
+
+ ShiftRight(m604(0, 2, 1, 0), aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ ShiftRight(m604(0, 2, 1, 0), aui6, Local0)
+ m600(arg0, 15, Local0, 0x190)
+
+ if (y078) {
+ ShiftRight(m604(0, 2, 1, 0), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ ShiftRight(m604(0, 2, 1, 0), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x190)
+ }
+
+ ShiftRight(m604(0, 2, 1, 0), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ ShiftRight(m604(0, 2, 1, 0), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x190)
+
+ // Method returns Integer
+
+ ShiftRight(m604(0, 2, 1, 0), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ ShiftRight(m604(0, 2, 1, 0), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x190)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(m604(0, 2, 1, 0), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ ShiftRight(m604(0, 2, 1, 0), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x190)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftRight(0x321, m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftRight(0xc179b3fe, m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 25, Local0, 0x182f36)
+
+ Store(ShiftRight(aui1, m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftRight(aui3, m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 27, Local0, 0x182f36)
+
+ if (y078) {
+ Store(ShiftRight(Derefof(Refof(aui1)), m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftRight(Derefof(Refof(aui3)), m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 29, Local0, 0x182f36)
+ }
+
+ Store(ShiftRight(Derefof(Index(paui, 1)), m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftRight(Derefof(Index(paui, 3)), m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 31, Local0, 0x182f36)
+
+ // Method returns Integer
+
+ Store(ShiftRight(m601(1, 1), m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftRight(m601(1, 3), m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 33, Local0, 0x182f36)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(Derefof(m602(1, 1, 1)), m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftRight(Derefof(m602(1, 3, 1)), m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 35, Local0, 0x182f36)
+ }
+
+ ShiftRight(0x321, m604(0, 2, 20, 0), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftRight(0xc179b3fe, m604(0, 2, 20, 0), Local0)
+ m600(arg0, 37, Local0, 0x182f36)
+
+ ShiftRight(aui1, m604(0, 2, 20, 0), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftRight(aui3, m604(0, 2, 20, 0), Local0)
+ m600(arg0, 39, Local0, 0x182f36)
+
+ if (y078) {
+ ShiftRight(Derefof(Refof(aui1)), m604(0, 2, 20, 0), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftRight(Derefof(Refof(aui3)), m604(0, 2, 20, 0), Local0)
+ m600(arg0, 41, Local0, 0x182f36)
+ }
+
+ ShiftRight(Derefof(Index(paui, 1)), m604(0, 2, 20, 0), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftRight(Derefof(Index(paui, 3)), m604(0, 2, 20, 0), Local0)
+ m600(arg0, 43, Local0, 0x182f36)
+
+ // Method returns Integer
+
+ ShiftRight(m601(1, 1), m604(0, 2, 20, 0), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftRight(m601(1, 3), m604(0, 2, 20, 0), Local0)
+ m600(arg0, 45, Local0, 0x182f36)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(Derefof(m602(1, 1, 1)), m604(0, 2, 20, 0), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftRight(Derefof(m602(1, 3, 1)), m604(0, 2, 20, 0), Local0)
+ m600(arg0, 47, Local0, 0x182f36)
+ }
+ }
+
+ // ShiftRight, 64-bit
+ Method(m01d, 1)
+ {
+ // Conversion of the first operand
+
+ Store(ShiftRight(m604(0, 2, 5, 0), 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(m604(0, 2, 5, 0), 1), Local0)
+ m600(arg0, 1, Local0, 0x7f3e59c8eb285142)
+
+ Store(ShiftRight(m604(0, 2, 5, 0), aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(m604(0, 2, 5, 0), aui6), Local0)
+ m600(arg0, 3, Local0, 0x7f3e59c8eb285142)
+
+ if (y078) {
+ Store(ShiftRight(m604(0, 2, 5, 0), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(m604(0, 2, 5, 0), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x7f3e59c8eb285142)
+ }
+
+ Store(ShiftRight(m604(0, 2, 5, 0), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(m604(0, 2, 5, 0), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x7f3e59c8eb285142)
+
+ // Method returns Integer
+
+ Store(ShiftRight(m604(0, 2, 5, 0), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(m604(0, 2, 5, 0), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x7f3e59c8eb285142)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(m604(0, 2, 5, 0), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(m604(0, 2, 5, 0), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x7f3e59c8eb285142)
+ }
+
+ ShiftRight(m604(0, 2, 5, 0), 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(m604(0, 2, 5, 0), 1, Local0)
+ m600(arg0, 13, Local0, 0x7f3e59c8eb285142)
+
+ ShiftRight(m604(0, 2, 5, 0), aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(m604(0, 2, 5, 0), aui6, Local0)
+ m600(arg0, 15, Local0, 0x7f3e59c8eb285142)
+
+ if (y078) {
+ ShiftRight(m604(0, 2, 5, 0), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(m604(0, 2, 5, 0), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x7f3e59c8eb285142)
+ }
+
+ ShiftRight(m604(0, 2, 5, 0), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(m604(0, 2, 5, 0), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x7f3e59c8eb285142)
+
+ // Method returns Integer
+
+ ShiftRight(m604(0, 2, 5, 0), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(m604(0, 2, 5, 0), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x7f3e59c8eb285142)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(m604(0, 2, 5, 0), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(m604(0, 2, 5, 0), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x7f3e59c8eb285142)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftRight(0x321, m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftRight(0xfe7cb391d650a284, m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 25, Local0, 0x1fcf96723aca14)
+
+ Store(ShiftRight(aui1, m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftRight(aui4, m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 27, Local0, 0x1fcf96723aca14)
+
+ if (y078) {
+ Store(ShiftRight(Derefof(Refof(aui1)), m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftRight(Derefof(Refof(aui4)), m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 29, Local0, 0x1fcf96723aca14)
+ }
+
+ Store(ShiftRight(Derefof(Index(paui, 1)), m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftRight(Derefof(Index(paui, 4)), m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 31, Local0, 0x1fcf96723aca14)
+
+ // Method returns Integer
+
+ Store(ShiftRight(m601(1, 1), m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftRight(m601(1, 4), m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 33, Local0, 0x1fcf96723aca14)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(Derefof(m602(1, 1, 1)), m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftRight(Derefof(m602(1, 4, 1)), m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 35, Local0, 0x1fcf96723aca14)
+ }
+
+ ShiftRight(0x321, m604(0, 2, 20, 0), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftRight(0xfe7cb391d650a284, m604(0, 2, 20, 0), Local0)
+ m600(arg0, 37, Local0, 0x1fcf96723aca14)
+
+ ShiftRight(aui1, m604(0, 2, 20, 0), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftRight(aui4, m604(0, 2, 20, 0), Local0)
+ m600(arg0, 39, Local0, 0x1fcf96723aca14)
+
+ if (y078) {
+ ShiftRight(Derefof(Refof(aui1)), m604(0, 2, 20, 0), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftRight(Derefof(Refof(aui4)), m604(0, 2, 20, 0), Local0)
+ m600(arg0, 41, Local0, 0x1fcf96723aca14)
+ }
+
+ ShiftRight(Derefof(Index(paui, 1)), m604(0, 2, 20, 0), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftRight(Derefof(Index(paui, 4)), m604(0, 2, 20, 0), Local0)
+ m600(arg0, 43, Local0, 0x1fcf96723aca14)
+
+ // Method returns Integer
+
+ ShiftRight(m601(1, 1), m604(0, 2, 20, 0), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftRight(m601(1, 4), m604(0, 2, 20, 0), Local0)
+ m600(arg0, 45, Local0, 0x1fcf96723aca14)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(Derefof(m602(1, 1, 1)), m604(0, 2, 20, 0), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftRight(Derefof(m602(1, 4, 1)), m604(0, 2, 20, 0), Local0)
+ m600(arg0, 47, Local0, 0x1fcf96723aca14)
+ }
+
+ // Conversion of the both operands
+
+ Store(ShiftRight(m604(0, 2, 1, 0), m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 48, Local0, 0)
+
+ Store(ShiftRight(m604(0, 2, 5, 0), m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 49, Local0, 0x1fcf96723aca14)
+
+ ShiftRight(m604(0, 2, 1, 0), m604(0, 2, 20, 0), Local0)
+ m600(arg0, 50, Local0, 0)
+
+ ShiftRight(m604(0, 2, 5, 0), m604(0, 2, 20, 0), Local0)
+ m600(arg0, 51, Local0, 0x1fcf96723aca14)
+ }
+
+ // ShiftRight, 32-bit
+ Method(m01e, 1)
+ {
+ // Conversion of the first operand
+
+ Store(ShiftRight(m604(0, 2, 4, 0), 0), Local0)
+ m600(arg0, 0, Local0, 0xc179b3fe)
+
+ Store(ShiftRight(m604(0, 2, 4, 0), 1), Local0)
+ m600(arg0, 1, Local0, 0x60bcd9ff)
+
+ Store(ShiftRight(m604(0, 2, 4, 0), aui5), Local0)
+ m600(arg0, 2, Local0, 0xc179b3fe)
+
+ Store(ShiftRight(m604(0, 2, 4, 0), aui6), Local0)
+ m600(arg0, 3, Local0, 0x60bcd9ff)
+
+ if (y078) {
+ Store(ShiftRight(m604(0, 2, 4, 0), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xc179b3fe)
+
+ Store(ShiftRight(m604(0, 2, 4, 0), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x60bcd9ff)
+ }
+
+ Store(ShiftRight(m604(0, 2, 4, 0), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xc179b3fe)
+
+ Store(ShiftRight(m604(0, 2, 4, 0), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x60bcd9ff)
+
+ // Method returns Integer
+
+ Store(ShiftRight(m604(0, 2, 4, 0), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xc179b3fe)
+
+ Store(ShiftRight(m604(0, 2, 4, 0), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x60bcd9ff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(m604(0, 2, 4, 0), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xc179b3fe)
+
+ Store(ShiftRight(m604(0, 2, 4, 0), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x60bcd9ff)
+ }
+
+ ShiftRight(m604(0, 2, 4, 0), 0, Local0)
+ m600(arg0, 12, Local0, 0xc179b3fe)
+
+ ShiftRight(m604(0, 2, 4, 0), 1, Local0)
+ m600(arg0, 13, Local0, 0x60bcd9ff)
+
+ ShiftRight(m604(0, 2, 4, 0), aui5, Local0)
+ m600(arg0, 14, Local0, 0xc179b3fe)
+
+ ShiftRight(m604(0, 2, 4, 0), aui6, Local0)
+ m600(arg0, 15, Local0, 0x60bcd9ff)
+
+ if (y078) {
+ ShiftRight(m604(0, 2, 4, 0), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xc179b3fe)
+
+ ShiftRight(m604(0, 2, 4, 0), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x60bcd9ff)
+ }
+
+ ShiftRight(m604(0, 2, 4, 0), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xc179b3fe)
+
+ ShiftRight(m604(0, 2, 4, 0), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x60bcd9ff)
+
+ // Method returns Integer
+
+ ShiftRight(m604(0, 2, 4, 0), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xc179b3fe)
+
+ ShiftRight(m604(0, 2, 4, 0), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x60bcd9ff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(m604(0, 2, 4, 0), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xc179b3fe)
+
+ ShiftRight(m604(0, 2, 4, 0), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x60bcd9ff)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftRight(0x321, m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftRight(0xc179b3fe, m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 25, Local0, 0x182f36)
+
+ Store(ShiftRight(aui1, m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftRight(aui3, m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 27, Local0, 0x182f36)
+
+ if (y078) {
+ Store(ShiftRight(Derefof(Refof(aui1)), m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftRight(Derefof(Refof(aui3)), m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 29, Local0, 0x182f36)
+ }
+
+ Store(ShiftRight(Derefof(Index(paui, 1)), m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftRight(Derefof(Index(paui, 3)), m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 31, Local0, 0x182f36)
+
+ // Method returns Integer
+
+ Store(ShiftRight(m601(1, 1), m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftRight(m601(1, 3), m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 33, Local0, 0x182f36)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(Derefof(m602(1, 1, 1)), m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftRight(Derefof(m602(1, 3, 1)), m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 35, Local0, 0x182f36)
+ }
+
+ ShiftRight(0x321, m604(0, 2, 20, 0), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftRight(0xc179b3fe, m604(0, 2, 20, 0), Local0)
+ m600(arg0, 37, Local0, 0x182f36)
+
+ ShiftRight(aui1, m604(0, 2, 20, 0), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftRight(aui3, m604(0, 2, 20, 0), Local0)
+ m600(arg0, 39, Local0, 0x182f36)
+
+ if (y078) {
+ ShiftRight(Derefof(Refof(aui1)), m604(0, 2, 20, 0), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftRight(Derefof(Refof(aui3)), m604(0, 2, 20, 0), Local0)
+ m600(arg0, 41, Local0, 0x182f36)
+ }
+
+ ShiftRight(Derefof(Index(paui, 1)), m604(0, 2, 20, 0), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftRight(Derefof(Index(paui, 3)), m604(0, 2, 20, 0), Local0)
+ m600(arg0, 43, Local0, 0x182f36)
+
+ // Method returns Integer
+
+ ShiftRight(m601(1, 1), m604(0, 2, 20, 0), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftRight(m601(1, 3), m604(0, 2, 20, 0), Local0)
+ m600(arg0, 45, Local0, 0x182f36)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(Derefof(m602(1, 1, 1)), m604(0, 2, 20, 0), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftRight(Derefof(m602(1, 3, 1)), m604(0, 2, 20, 0), Local0)
+ m600(arg0, 47, Local0, 0x182f36)
+ }
+
+ // Conversion of the both operands
+
+ Store(ShiftRight(m604(0, 2, 1, 0), m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 48, Local0, 0)
+
+ Store(ShiftRight(m604(0, 2, 4, 0), m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 49, Local0, 0x182f36)
+
+ ShiftRight(m604(0, 2, 1, 0), m604(0, 2, 20, 0), Local0)
+ m600(arg0, 50, Local0, 0)
+
+ ShiftRight(m604(0, 2, 4, 0), m604(0, 2, 20, 0), Local0)
+ m600(arg0, 51, Local0, 0x182f36)
+ }
+
+ // Subtract, common 32-bit/64-bit test
+ Method(m01f, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Subtract(m604(0, 2, 1, 0), 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Subtract(m604(0, 2, 1, 0), 1), Local0)
+ m600(arg0, 1, Local0, 0x320)
+
+ Store(Subtract(m604(0, 2, 1, 0), aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Subtract(m604(0, 2, 1, 0), aui6), Local0)
+ m600(arg0, 3, Local0, 0x320)
+
+ if (y078) {
+ Store(Subtract(m604(0, 2, 1, 0), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Subtract(m604(0, 2, 1, 0), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x320)
+ }
+
+ Store(Subtract(m604(0, 2, 1, 0), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Subtract(m604(0, 2, 1, 0), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x320)
+
+ // Method returns Integer
+
+ Store(Subtract(m604(0, 2, 1, 0), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Subtract(m604(0, 2, 1, 0), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x320)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(m604(0, 2, 1, 0), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Subtract(m604(0, 2, 1, 0), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x320)
+ }
+
+ Subtract(m604(0, 2, 1, 0), 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Subtract(m604(0, 2, 1, 0), 1, Local0)
+ m600(arg0, 13, Local0, 0x320)
+
+ Subtract(m604(0, 2, 1, 0), aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Subtract(m604(0, 2, 1, 0), aui6, Local0)
+ m600(arg0, 15, Local0, 0x320)
+
+ if (y078) {
+ Subtract(m604(0, 2, 1, 0), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Subtract(m604(0, 2, 1, 0), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x320)
+ }
+
+ Subtract(m604(0, 2, 1, 0), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Subtract(m604(0, 2, 1, 0), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x320)
+
+ // Method returns Integer
+
+ Subtract(m604(0, 2, 1, 0), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Subtract(m604(0, 2, 1, 0), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x320)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(m604(0, 2, 1, 0), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Subtract(m604(0, 2, 1, 0), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x320)
+ }
+
+ // Conversion of the second operand
+
+ Store(Subtract(0, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 24, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(1, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 25, Local0, 0xfffffffffffffce0)
+
+ Store(Subtract(aui5, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 26, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(aui6, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 27, Local0, 0xfffffffffffffce0)
+
+ if (y078) {
+ Store(Subtract(Derefof(Refof(aui5)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 28, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(Derefof(Refof(aui6)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 29, Local0, 0xfffffffffffffce0)
+ }
+
+ Store(Subtract(Derefof(Index(paui, 5)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 30, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(Derefof(Index(paui, 6)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 31, Local0, 0xfffffffffffffce0)
+
+ // Method returns Integer
+
+ Store(Subtract(m601(1, 5), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 32, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(m601(1, 6), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 33, Local0, 0xfffffffffffffce0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(Derefof(m602(1, 5, 1)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 34, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(Derefof(m602(1, 6, 1)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 35, Local0, 0xfffffffffffffce0)
+ }
+
+ Subtract(0, m604(0, 2, 1, 0), Local0)
+ m600(arg0, 36, Local0, 0xfffffffffffffcdf)
+
+ Subtract(1, m604(0, 2, 1, 0), Local0)
+ m600(arg0, 37, Local0, 0xfffffffffffffce0)
+
+ Subtract(aui5, m604(0, 2, 1, 0), Local0)
+ m600(arg0, 38, Local0, 0xfffffffffffffcdf)
+
+ Subtract(aui6, m604(0, 2, 1, 0), Local0)
+ m600(arg0, 39, Local0, 0xfffffffffffffce0)
+
+ if (y078) {
+ Subtract(Derefof(Refof(aui5)), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 40, Local0, 0xfffffffffffffcdf)
+
+ Subtract(Derefof(Refof(aui6)), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 41, Local0, 0xfffffffffffffce0)
+ }
+
+ Subtract(Derefof(Index(paui, 5)), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 42, Local0, 0xfffffffffffffcdf)
+
+ Subtract(Derefof(Index(paui, 6)), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 43, Local0, 0xfffffffffffffce0)
+
+ // Method returns Integer
+
+ Subtract(m601(1, 5), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 44, Local0, 0xfffffffffffffcdf)
+
+ Subtract(m601(1, 6), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 45, Local0, 0xfffffffffffffce0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(Derefof(m602(1, 5, 1)), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 46, Local0, 0xfffffffffffffcdf)
+
+ Subtract(Derefof(m602(1, 6, 1)), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 47, Local0, 0xfffffffffffffce0)
+ }
+ }
+
+ // Subtract, 64-bit
+ Method(m020, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Subtract(m604(0, 2, 5, 0), 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(m604(0, 2, 5, 0), 1), Local0)
+ m600(arg0, 1, Local0, 0xfe7cb391d650a283)
+
+ Store(Subtract(m604(0, 2, 5, 0), aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(m604(0, 2, 5, 0), aui6), Local0)
+ m600(arg0, 3, Local0, 0xfe7cb391d650a283)
+
+ if (y078) {
+ Store(Subtract(m604(0, 2, 5, 0), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(m604(0, 2, 5, 0), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xfe7cb391d650a283)
+ }
+
+ Store(Subtract(m604(0, 2, 5, 0), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(m604(0, 2, 5, 0), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Integer
+
+ Store(Subtract(m604(0, 2, 5, 0), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(m604(0, 2, 5, 0), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(m604(0, 2, 5, 0), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(m604(0, 2, 5, 0), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfe7cb391d650a283)
+ }
+
+ Subtract(m604(0, 2, 5, 0), 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Subtract(m604(0, 2, 5, 0), 1, Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a283)
+
+ Subtract(m604(0, 2, 5, 0), aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Subtract(m604(0, 2, 5, 0), aui6, Local0)
+ m600(arg0, 15, Local0, 0xfe7cb391d650a283)
+
+ if (y078) {
+ Subtract(m604(0, 2, 5, 0), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Subtract(m604(0, 2, 5, 0), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xfe7cb391d650a283)
+ }
+
+ Subtract(m604(0, 2, 5, 0), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Subtract(m604(0, 2, 5, 0), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Integer
+
+ Subtract(m604(0, 2, 5, 0), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Subtract(m604(0, 2, 5, 0), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(m604(0, 2, 5, 0), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Subtract(m604(0, 2, 5, 0), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfe7cb391d650a283)
+ }
+
+ // Conversion of the second operand
+
+ Store(Subtract(0, m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 24, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(1, m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 25, Local0, 0x01834c6e29af5d7d)
+
+ Store(Subtract(aui5, m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 26, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(aui6, m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 27, Local0, 0x01834c6e29af5d7d)
+
+ if (y078) {
+ Store(Subtract(Derefof(Refof(aui5)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 28, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(Derefof(Refof(aui6)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 29, Local0, 0x01834c6e29af5d7d)
+ }
+
+ Store(Subtract(Derefof(Index(paui, 5)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 30, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(Derefof(Index(paui, 6)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 31, Local0, 0x01834c6e29af5d7d)
+
+ // Method returns Integer
+
+ Store(Subtract(m601(1, 5), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 32, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(m601(1, 6), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 33, Local0, 0x01834c6e29af5d7d)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(Derefof(m602(1, 5, 1)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 34, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(Derefof(m602(1, 6, 1)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 35, Local0, 0x01834c6e29af5d7d)
+ }
+
+ Subtract(0, m604(0, 2, 5, 0), Local0)
+ m600(arg0, 36, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(1, m604(0, 2, 5, 0), Local0)
+ m600(arg0, 37, Local0, 0x01834c6e29af5d7d)
+
+ Subtract(aui5, m604(0, 2, 5, 0), Local0)
+ m600(arg0, 38, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(aui6, m604(0, 2, 5, 0), Local0)
+ m600(arg0, 39, Local0, 0x01834c6e29af5d7d)
+
+ if (y078) {
+ Subtract(Derefof(Refof(aui5)), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 40, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(Derefof(Refof(aui6)), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 41, Local0, 0x01834c6e29af5d7d)
+ }
+
+ Subtract(Derefof(Index(paui, 5)), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 42, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(Derefof(Index(paui, 6)), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 43, Local0, 0x01834c6e29af5d7d)
+
+ // Method returns Integer
+
+ Subtract(m601(1, 5), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 44, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(m601(1, 6), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 45, Local0, 0x01834c6e29af5d7d)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(Derefof(m602(1, 5, 1)), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 46, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(Derefof(m602(1, 6, 1)), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 47, Local0, 0x01834c6e29af5d7d)
+ }
+
+ // Conversion of the both operands
+
+ Store(Subtract(m604(0, 2, 1, 0), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 48, Local0, 0x01834c6e29af609d)
+
+ Store(Subtract(m604(0, 2, 5, 0), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 49, Local0, 0xfe7cb391d6509f63)
+
+ Subtract(m604(0, 2, 1, 0), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 50, Local0, 0x01834c6e29af609d)
+
+ Subtract(m604(0, 2, 5, 0), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 51, Local0, 0xfe7cb391d6509f63)
+ }
+
+ // Subtract, 32-bit
+ Method(m021, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Subtract(m604(0, 2, 4, 0), 0), Local0)
+ m600(arg0, 0, Local0, 0xc179b3fe)
+
+ Store(Subtract(m604(0, 2, 4, 0), 1), Local0)
+ m600(arg0, 1, Local0, 0xc179b3fd)
+
+ Store(Subtract(m604(0, 2, 4, 0), aui5), Local0)
+ m600(arg0, 2, Local0, 0xc179b3fe)
+
+ Store(Subtract(m604(0, 2, 4, 0), aui6), Local0)
+ m600(arg0, 3, Local0, 0xc179b3fd)
+
+ if (y078) {
+ Store(Subtract(m604(0, 2, 4, 0), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xc179b3fe)
+
+ Store(Subtract(m604(0, 2, 4, 0), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xc179b3fd)
+ }
+
+ Store(Subtract(m604(0, 2, 4, 0), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xc179b3fe)
+
+ Store(Subtract(m604(0, 2, 4, 0), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xc179b3fd)
+
+ // Method returns Integer
+
+ Store(Subtract(m604(0, 2, 4, 0), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xc179b3fe)
+
+ Store(Subtract(m604(0, 2, 4, 0), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xc179b3fd)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(m604(0, 2, 4, 0), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xc179b3fe)
+
+ Store(Subtract(m604(0, 2, 4, 0), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xc179b3fd)
+ }
+
+ Subtract(m604(0, 2, 4, 0), 0, Local0)
+ m600(arg0, 12, Local0, 0xc179b3fe)
+
+ Subtract(m604(0, 2, 4, 0), 1, Local0)
+ m600(arg0, 13, Local0, 0xc179b3fd)
+
+ Subtract(m604(0, 2, 4, 0), aui5, Local0)
+ m600(arg0, 14, Local0, 0xc179b3fe)
+
+ Subtract(m604(0, 2, 4, 0), aui6, Local0)
+ m600(arg0, 15, Local0, 0xc179b3fd)
+
+ if (y078) {
+ Subtract(m604(0, 2, 4, 0), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xc179b3fe)
+
+ Subtract(m604(0, 2, 4, 0), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xc179b3fd)
+ }
+
+ Subtract(m604(0, 2, 4, 0), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xc179b3fe)
+
+ Subtract(m604(0, 2, 4, 0), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xc179b3fd)
+
+ // Method returns Integer
+
+ Subtract(m604(0, 2, 4, 0), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xc179b3fe)
+
+ Subtract(m604(0, 2, 4, 0), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xc179b3fd)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(m604(0, 2, 4, 0), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xc179b3fe)
+
+ Subtract(m604(0, 2, 4, 0), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xc179b3fd)
+ }
+
+ // Conversion of the second operand
+
+ Store(Subtract(0, m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 24, Local0, 0x3e864c02)
+
+ Store(Subtract(1, m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 25, Local0, 0x3e864c03)
+
+ Store(Subtract(aui5, m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 26, Local0, 0x3e864c02)
+
+ Store(Subtract(aui6, m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 27, Local0, 0x3e864c03)
+
+ if (y078) {
+ Store(Subtract(Derefof(Refof(aui5)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 28, Local0, 0x3e864c02)
+
+ Store(Subtract(Derefof(Refof(aui6)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 29, Local0, 0x3e864c03)
+ }
+
+ Store(Subtract(Derefof(Index(paui, 5)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 30, Local0, 0x3e864c02)
+
+ Store(Subtract(Derefof(Index(paui, 6)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 31, Local0, 0x3e864c03)
+
+ // Method returns Integer
+
+ Store(Subtract(m601(1, 5), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 32, Local0, 0x3e864c02)
+
+ Store(Subtract(m601(1, 6), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 33, Local0, 0x3e864c03)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(Derefof(m602(1, 5, 1)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 34, Local0, 0x3e864c02)
+
+ Store(Subtract(Derefof(m602(1, 6, 1)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 35, Local0, 0x3e864c03)
+ }
+
+ Subtract(0, m604(0, 2, 4, 0), Local0)
+ m600(arg0, 36, Local0, 0x3e864c02)
+
+ Subtract(1, m604(0, 2, 4, 0), Local0)
+ m600(arg0, 37, Local0, 0x3e864c03)
+
+ Subtract(aui5, m604(0, 2, 4, 0), Local0)
+ m600(arg0, 38, Local0, 0x3e864c02)
+
+ Subtract(aui6, m604(0, 2, 4, 0), Local0)
+ m600(arg0, 39, Local0, 0x3e864c03)
+
+ if (y078) {
+ Subtract(Derefof(Refof(aui5)), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 40, Local0, 0x3e864c02)
+
+ Subtract(Derefof(Refof(aui6)), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 41, Local0, 0x3e864c03)
+ }
+
+ Subtract(Derefof(Index(paui, 5)), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 42, Local0, 0x3e864c02)
+
+ Subtract(Derefof(Index(paui, 6)), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 43, Local0, 0x3e864c03)
+
+ // Method returns Integer
+
+ Subtract(m601(1, 5), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 44, Local0, 0x3e864c02)
+
+ Subtract(m601(1, 6), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 45, Local0, 0x3e864c03)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(Derefof(m602(1, 5, 1)), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 46, Local0, 0x3e864c02)
+
+ Subtract(Derefof(m602(1, 6, 1)), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 47, Local0, 0x3e864c03)
+ }
+
+ // Conversion of the both operands
+
+ Store(Subtract(m604(0, 2, 1, 0), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 48, Local0, 0x3e864f23)
+
+ Store(Subtract(m604(0, 2, 4, 0), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 49, Local0, 0xc179b0dd)
+
+ Subtract(m604(0, 2, 1, 0), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 50, Local0, 0x3e864f23)
+
+ Subtract(m604(0, 2, 4, 0), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 51, Local0, 0xc179b0dd)
+ }
+
+ // XOr, common 32-bit/64-bit test
+ Method(m022, 1)
+ {
+ // Conversion of the first operand
+
+ Store(XOr(m604(0, 2, 1, 0), 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(XOr(m604(0, 2, 1, 0), 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xfffffffffffffcde)
+
+ Store(XOr(m604(0, 2, 1, 0), aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(XOr(m604(0, 2, 1, 0), auij), Local0)
+ m600(arg0, 3, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ Store(XOr(m604(0, 2, 1, 0), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(XOr(m604(0, 2, 1, 0), Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xfffffffffffffcde)
+ }
+
+ Store(XOr(m604(0, 2, 1, 0), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(XOr(m604(0, 2, 1, 0), Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ Store(XOr(m604(0, 2, 1, 0), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(XOr(m604(0, 2, 1, 0), m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(m604(0, 2, 1, 0), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(XOr(m604(0, 2, 1, 0), Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfffffffffffffcde)
+ }
+
+ XOr(m604(0, 2, 1, 0), 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ XOr(m604(0, 2, 1, 0), 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xfffffffffffffcde)
+
+ XOr(m604(0, 2, 1, 0), aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ XOr(m604(0, 2, 1, 0), auij, Local0)
+ m600(arg0, 15, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ XOr(m604(0, 2, 1, 0), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ XOr(m604(0, 2, 1, 0), Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xfffffffffffffcde)
+ }
+
+ XOr(m604(0, 2, 1, 0), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ XOr(m604(0, 2, 1, 0), Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ XOr(m604(0, 2, 1, 0), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ XOr(m604(0, 2, 1, 0), m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(m604(0, 2, 1, 0), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ XOr(m604(0, 2, 1, 0), Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfffffffffffffcde)
+ }
+
+ // Conversion of the second operand
+
+ Store(XOr(0, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 24, Local0, 0x321)
+
+ Store(XOr(0xffffffffffffffff, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 25, Local0, 0xfffffffffffffcde)
+
+ Store(XOr(aui5, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 26, Local0, 0x321)
+
+ Store(XOr(auij, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 27, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ Store(XOr(Derefof(Refof(aui5)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 28, Local0, 0x321)
+
+ Store(XOr(Derefof(Refof(auij)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 29, Local0, 0xfffffffffffffcde)
+ }
+
+ Store(XOr(Derefof(Index(paui, 5)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 30, Local0, 0x321)
+
+ Store(XOr(Derefof(Index(paui, 19)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 31, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ Store(XOr(m601(1, 5), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 32, Local0, 0x321)
+
+ Store(XOr(m601(1, 19), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 33, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(Derefof(m602(1, 5, 1)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 34, Local0, 0x321)
+
+ Store(XOr(Derefof(m602(1, 19, 1)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 35, Local0, 0xfffffffffffffcde)
+ }
+
+ XOr(0, m604(0, 2, 1, 0), Local0)
+ m600(arg0, 36, Local0, 0x321)
+
+ XOr(0xffffffffffffffff, m604(0, 2, 1, 0), Local0)
+ m600(arg0, 37, Local0, 0xfffffffffffffcde)
+
+ XOr(aui5, m604(0, 2, 1, 0), Local0)
+ m600(arg0, 38, Local0, 0x321)
+
+ XOr(auij, m604(0, 2, 1, 0), Local0)
+ m600(arg0, 39, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ XOr(Derefof(Refof(aui5)), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 40, Local0, 0x321)
+
+ XOr(Derefof(Refof(auij)), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 41, Local0, 0xfffffffffffffcde)
+ }
+
+ XOr(Derefof(Index(paui, 5)), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 42, Local0, 0x321)
+
+ XOr(Derefof(Index(paui, 19)), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 43, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ XOr(m601(1, 5), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 44, Local0, 0x321)
+
+ XOr(m601(1, 19), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 45, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(Derefof(m602(1, 5, 1)), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 46, Local0, 0x321)
+
+ XOr(Derefof(m602(1, 19, 1)), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 47, Local0, 0xfffffffffffffcde)
+ }
+ }
+
+ // XOr, 64-bit
+ Method(m023, 1)
+ {
+ // Conversion of the first operand
+
+ Store(XOr(m604(0, 2, 5, 0), 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(m604(0, 2, 5, 0), 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0x01834c6e29af5d7b)
+
+ Store(XOr(m604(0, 2, 5, 0), aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(m604(0, 2, 5, 0), auij), Local0)
+ m600(arg0, 3, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ Store(XOr(m604(0, 2, 5, 0), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(m604(0, 2, 5, 0), Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Store(XOr(m604(0, 2, 5, 0), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(m604(0, 2, 5, 0), Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ Store(XOr(m604(0, 2, 5, 0), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(m604(0, 2, 5, 0), m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(m604(0, 2, 5, 0), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(m604(0, 2, 5, 0), Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0x01834c6e29af5d7b)
+ }
+
+ XOr(m604(0, 2, 5, 0), 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ XOr(m604(0, 2, 5, 0), 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0x01834c6e29af5d7b)
+
+ XOr(m604(0, 2, 5, 0), aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ XOr(m604(0, 2, 5, 0), auij, Local0)
+ m600(arg0, 15, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ XOr(m604(0, 2, 5, 0), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ XOr(m604(0, 2, 5, 0), Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0x01834c6e29af5d7b)
+ }
+
+ XOr(m604(0, 2, 5, 0), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ XOr(m604(0, 2, 5, 0), Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ XOr(m604(0, 2, 5, 0), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ XOr(m604(0, 2, 5, 0), m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(m604(0, 2, 5, 0), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ XOr(m604(0, 2, 5, 0), Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0x01834c6e29af5d7b)
+ }
+
+ // Conversion of the second operand
+
+ Store(XOr(0, m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 24, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(0xffffffffffffffff, m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 25, Local0, 0x01834c6e29af5d7b)
+
+ Store(XOr(aui5, m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 26, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(auij, m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 27, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ Store(XOr(Derefof(Refof(aui5)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 28, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(Refof(auij)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 29, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Store(XOr(Derefof(Index(paui, 5)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 30, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(Index(paui, 19)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 31, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ Store(XOr(m601(1, 5), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 32, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(m601(1, 19), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 33, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(Derefof(m602(1, 5, 1)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 34, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(m602(1, 19, 1)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 35, Local0, 0x01834c6e29af5d7b)
+ }
+
+ XOr(0, m604(0, 2, 5, 0), Local0)
+ m600(arg0, 36, Local0, 0xfe7cb391d650a284)
+
+ XOr(0xffffffffffffffff, m604(0, 2, 5, 0), Local0)
+ m600(arg0, 37, Local0, 0x01834c6e29af5d7b)
+
+ XOr(aui5, m604(0, 2, 5, 0), Local0)
+ m600(arg0, 38, Local0, 0xfe7cb391d650a284)
+
+ XOr(auij, m604(0, 2, 5, 0), Local0)
+ m600(arg0, 39, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ XOr(Derefof(Refof(aui5)), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 40, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(Refof(auij)), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 41, Local0, 0x01834c6e29af5d7b)
+ }
+
+ XOr(Derefof(Index(paui, 5)), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 42, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(Index(paui, 19)), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 43, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ XOr(m601(1, 5), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 44, Local0, 0xfe7cb391d650a284)
+
+ XOr(m601(1, 19), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 45, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(Derefof(m602(1, 5, 1)), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 46, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(m602(1, 19, 1)), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 47, Local0, 0x01834c6e29af5d7b)
+ }
+
+ // Conversion of the both operands
+
+ Store(XOr(m604(0, 2, 1, 0), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 48, Local0, 0xfe7cb391d650a1a5)
+
+ Store(XOr(m604(0, 2, 5, 0), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 49, Local0, 0xfe7cb391d650a1a5)
+
+ XOr(m604(0, 2, 1, 0), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 50, Local0, 0xfe7cb391d650a1a5)
+
+ XOr(m604(0, 2, 5, 0), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 51, Local0, 0xfe7cb391d650a1a5)
+ }
+
+ // XOr, 32-bit
+ Method(m024, 1)
+ {
+ // Conversion of the first operand
+
+ Store(XOr(m604(0, 2, 4, 0), 0), Local0)
+ m600(arg0, 0, Local0, 0xc179b3fe)
+
+ Store(XOr(m604(0, 2, 4, 0), 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0x3e864c01)
+
+ Store(XOr(m604(0, 2, 4, 0), aui5), Local0)
+ m600(arg0, 2, Local0, 0xc179b3fe)
+
+ Store(XOr(m604(0, 2, 4, 0), auii), Local0)
+ m600(arg0, 3, Local0, 0x3e864c01)
+
+ if (y078) {
+ Store(XOr(m604(0, 2, 4, 0), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xc179b3fe)
+
+ Store(XOr(m604(0, 2, 4, 0), Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0x3e864c01)
+ }
+
+ Store(XOr(m604(0, 2, 4, 0), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xc179b3fe)
+
+ Store(XOr(m604(0, 2, 4, 0), Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0x3e864c01)
+
+ // Method returns Integer
+
+ Store(XOr(m604(0, 2, 4, 0), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xc179b3fe)
+
+ Store(XOr(m604(0, 2, 4, 0), m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0x3e864c01)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(m604(0, 2, 4, 0), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xc179b3fe)
+
+ Store(XOr(m604(0, 2, 4, 0), Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0x3e864c01)
+ }
+
+ XOr(m604(0, 2, 4, 0), 0, Local0)
+ m600(arg0, 12, Local0, 0xc179b3fe)
+
+ XOr(m604(0, 2, 4, 0), 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0x3e864c01)
+
+ XOr(m604(0, 2, 4, 0), aui5, Local0)
+ m600(arg0, 14, Local0, 0xc179b3fe)
+
+ XOr(m604(0, 2, 4, 0), auii, Local0)
+ m600(arg0, 15, Local0, 0x3e864c01)
+
+ if (y078) {
+ XOr(m604(0, 2, 4, 0), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xc179b3fe)
+
+ XOr(m604(0, 2, 4, 0), Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0x3e864c01)
+ }
+
+ XOr(m604(0, 2, 4, 0), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xc179b3fe)
+
+ XOr(m604(0, 2, 4, 0), Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0x3e864c01)
+
+ // Method returns Integer
+
+ XOr(m604(0, 2, 4, 0), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xc179b3fe)
+
+ XOr(m604(0, 2, 4, 0), m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0x3e864c01)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(m604(0, 2, 4, 0), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xc179b3fe)
+
+ XOr(m604(0, 2, 4, 0), Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0x3e864c01)
+ }
+
+ // Conversion of the second operand
+
+ Store(XOr(0, m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 24, Local0, 0xc179b3fe)
+
+ Store(XOr(0xffffffff, m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 25, Local0, 0x3e864c01)
+
+ Store(XOr(aui5, m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 26, Local0, 0xc179b3fe)
+
+ Store(XOr(auii, m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 27, Local0, 0x3e864c01)
+
+ if (y078) {
+ Store(XOr(Derefof(Refof(aui5)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 28, Local0, 0xc179b3fe)
+
+ Store(XOr(Derefof(Refof(auii)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 29, Local0, 0x3e864c01)
+ }
+
+ Store(XOr(Derefof(Index(paui, 5)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 30, Local0, 0xc179b3fe)
+
+ Store(XOr(Derefof(Index(paui, 18)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 31, Local0, 0x3e864c01)
+
+ // Method returns Integer
+
+ Store(XOr(m601(1, 5), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 32, Local0, 0xc179b3fe)
+
+ Store(XOr(m601(1, 18), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 33, Local0, 0x3e864c01)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(Derefof(m602(1, 5, 1)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 34, Local0, 0xc179b3fe)
+
+ Store(XOr(Derefof(m602(1, 18, 1)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 35, Local0, 0x3e864c01)
+ }
+
+ XOr(0, m604(0, 2, 4, 0), Local0)
+ m600(arg0, 36, Local0, 0xc179b3fe)
+
+ XOr(0xffffffff, m604(0, 2, 4, 0), Local0)
+ m600(arg0, 37, Local0, 0x3e864c01)
+
+ XOr(aui5, m604(0, 2, 4, 0), Local0)
+ m600(arg0, 38, Local0, 0xc179b3fe)
+
+ XOr(auii, m604(0, 2, 4, 0), Local0)
+ m600(arg0, 39, Local0, 0x3e864c01)
+
+ if (y078) {
+ XOr(Derefof(Refof(aui5)), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 40, Local0, 0xc179b3fe)
+
+ XOr(Derefof(Refof(auii)), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 41, Local0, 0x3e864c01)
+ }
+
+ XOr(Derefof(Index(paui, 5)), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 42, Local0, 0xc179b3fe)
+
+ XOr(Derefof(Index(paui, 18)), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 43, Local0, 0x3e864c01)
+
+ // Method returns Integer
+
+ XOr(m601(1, 5), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 44, Local0, 0xc179b3fe)
+
+ XOr(m601(1, 18), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 45, Local0, 0x3e864c01)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(Derefof(m602(1, 5, 1)), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 46, Local0, 0xc179b3fe)
+
+ XOr(Derefof(m602(1, 18, 1)), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 47, Local0, 0x3e864c01)
+ }
+
+ // Conversion of the both operands
+
+ Store(XOr(m604(0, 2, 1, 0), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 48, Local0, 0xc179b0df)
+
+ Store(XOr(m604(0, 2, 4, 0), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 49, Local0, 0xc179b0df)
+
+ XOr(m604(0, 2, 1, 0), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 50, Local0, 0xc179b0df)
+
+ XOr(m604(0, 2, 4, 0), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 51, Local0, 0xc179b0df)
+ }
+
+ // Add, And, Divide, Mod, Multiply, NAnd, NOr, Or,
+ // ShiftLeft, ShiftRight, Subtract, Xor
+
+ Method(m64d, 1)
+ {
+ // Add
+ Concatenate(arg0, "-m001", Local0)
+ SRMT(Local0)
+ m001(Local0)
+ Concatenate(arg0, "-m002", Local0)
+ SRMT(Local0)
+ m002(Local0)
+
+ // And
+ Concatenate(arg0, "-m004", Local0)
+ SRMT(Local0)
+ m004(Local0)
+ Concatenate(arg0, "-m005", Local0)
+ SRMT(Local0)
+ m005(Local0)
+
+ // Divide
+ Concatenate(arg0, "-m007", Local0)
+ SRMT(Local0)
+ m007(Local0)
+ Concatenate(arg0, "-m008", Local0)
+ SRMT(Local0)
+ m008(Local0)
+
+ // Mod
+ Concatenate(arg0, "-m00a", Local0)
+ SRMT(Local0)
+ m00a(Local0)
+ Concatenate(arg0, "-m00b", Local0)
+ SRMT(Local0)
+ m00b(Local0)
+
+ // Multiply
+ Concatenate(arg0, "-m00d", Local0)
+ SRMT(Local0)
+ m00d(Local0)
+ Concatenate(arg0, "-m00e", Local0)
+ SRMT(Local0)
+ m00e(Local0)
+
+ // NAnd
+ Concatenate(arg0, "-m010", Local0)
+ SRMT(Local0)
+ m010(Local0)
+ Concatenate(arg0, "-m011", Local0)
+ SRMT(Local0)
+ m011(Local0)
+
+ // NOr
+ Concatenate(arg0, "-m013", Local0)
+ SRMT(Local0)
+ m013(Local0)
+ Concatenate(arg0, "-m014", Local0)
+ SRMT(Local0)
+ m014(Local0)
+
+ // Or
+ Concatenate(arg0, "-m016", Local0)
+ SRMT(Local0)
+ m016(Local0)
+ Concatenate(arg0, "-m017", Local0)
+ SRMT(Local0)
+ m017(Local0)
+
+ // ShiftLeft
+ Concatenate(arg0, "-m019", Local0)
+ SRMT(Local0)
+ m019(Local0)
+ Concatenate(arg0, "-m01a", Local0)
+ SRMT(Local0)
+ m01a(Local0)
+
+ // ShiftRight
+ Concatenate(arg0, "-m01c", Local0)
+ SRMT(Local0)
+ m01c(Local0)
+ Concatenate(arg0, "-m01d", Local0)
+ SRMT(Local0)
+ m01d(Local0)
+
+ // Subtract
+ Concatenate(arg0, "-m01f", Local0)
+ SRMT(Local0)
+ m01f(Local0)
+ Concatenate(arg0, "-m020", Local0)
+ SRMT(Local0)
+ m020(Local0)
+
+ // XOr
+ Concatenate(arg0, "-m022", Local0)
+ SRMT(Local0)
+ m022(Local0)
+ Concatenate(arg0, "-m023", Local0)
+ SRMT(Local0)
+ m023(Local0)
+ }
+
+ Method(m32d, 1)
+ {
+ // Add
+ Concatenate(arg0, "-m001", Local0)
+ SRMT(Local0)
+ m001(Local0)
+ Concatenate(arg0, "-m003", Local0)
+ SRMT(Local0)
+ m003(Local0)
+
+ // And
+ Concatenate(arg0, "-m004", Local0)
+ SRMT(Local0)
+ m004(Local0)
+ Concatenate(arg0, "-m006", Local0)
+ SRMT(Local0)
+ m006(Local0)
+
+ // Divide
+ Concatenate(arg0, "-m007", Local0)
+ SRMT(Local0)
+ m007(Local0)
+ Concatenate(arg0, "-m009", Local0)
+ SRMT(Local0)
+ m009(Local0)
+
+ // Mod
+ Concatenate(arg0, "-m00a", Local0)
+ SRMT(Local0)
+ m00a(Local0)
+ Concatenate(arg0, "-m00c", Local0)
+ SRMT(Local0)
+ m00c(Local0)
+
+ // Multiply
+ Concatenate(arg0, "-m00d", Local0)
+ SRMT(Local0)
+ m00d(Local0)
+ Concatenate(arg0, "-m00f", Local0)
+ SRMT(Local0)
+ m00f(Local0)
+
+ // NAnd
+ Concatenate(arg0, "-m010", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m010(Local0)
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m012", Local0)
+ SRMT(Local0)
+ m012(Local0)
+
+ // NOr
+ Concatenate(arg0, "-m013", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m013(Local0)
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m015", Local0)
+ SRMT(Local0)
+ m015(Local0)
+
+ // Or
+ Concatenate(arg0, "-m016", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m016(Local0)
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m018", Local0)
+ SRMT(Local0)
+ m018(Local0)
+
+ // ShiftLeft
+ Concatenate(arg0, "-m019", Local0)
+ SRMT(Local0)
+ m019(Local0)
+ Concatenate(arg0, "-m01b", Local0)
+ SRMT(Local0)
+ m01b(Local0)
+
+ // ShiftRight
+ Concatenate(arg0, "-m01c", Local0)
+ SRMT(Local0)
+ m01c(Local0)
+ Concatenate(arg0, "-m01e", Local0)
+ SRMT(Local0)
+ m01e(Local0)
+
+ // Subtract
+ Concatenate(arg0, "-m01f", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m01f(Local0)
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m021", Local0)
+ SRMT(Local0)
+ m021(Local0)
+
+ // XOr
+ Concatenate(arg0, "-m022", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m022(Local0)
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m024", Local0)
+ SRMT(Local0)
+ m024(Local0)
+ }
+
+
+ // String to Integer conversion of each String operand
+ // of the 2-parameter Logical Integer operators LAnd and LOr
+
+ // LAnd, common 32-bit/64-bit test
+ Method(m025, 1)
+ {
+ // Conversion of the first operand
+
+ Store(LAnd(m604(0, 2, 1, 0), 0), Local0)
+ m600(arg0, 0, Local0, Zero)
+
+ Store(LAnd(m604(0, 2, 1, 0), 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(LAnd(m604(0, 2, 1, 0), aui5), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LAnd(m604(0, 2, 1, 0), aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(m604(0, 2, 1, 0), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LAnd(m604(0, 2, 1, 0), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(LAnd(m604(0, 2, 1, 0), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Zero)
+
+ Store(LAnd(m604(0, 2, 1, 0), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(m604(0, 2, 1, 0), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Zero)
+
+ Store(LAnd(m604(0, 2, 1, 0), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(m604(0, 2, 1, 0), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LAnd(m604(0, 2, 1, 0), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(LAnd(0, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LAnd(1, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LAnd(aui5, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LAnd(aui6, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(Derefof(Refof(aui5)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(aui6)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(LAnd(Derefof(Index(paui, 5)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LAnd(Derefof(Index(paui, 6)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(m601(1, 5), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LAnd(m601(1, 6), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(Derefof(m602(1, 5, 1)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LAnd(Derefof(m602(1, 6, 1)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+ }
+
+ // LAnd, 64-bit
+ Method(m026, 1)
+ {
+ // Conversion of the first operand
+
+ Store(LAnd(m604(0, 2, 5, 0), 0), Local0)
+ m600(arg0, 0, Local0, Zero)
+
+ Store(LAnd(m604(0, 2, 5, 0), 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(LAnd(m604(0, 2, 5, 0), aui5), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LAnd(m604(0, 2, 5, 0), aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(m604(0, 2, 5, 0), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LAnd(m604(0, 2, 5, 0), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(LAnd(m604(0, 2, 5, 0), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Zero)
+
+ Store(LAnd(m604(0, 2, 5, 0), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(m604(0, 2, 5, 0), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Zero)
+
+ Store(LAnd(m604(0, 2, 5, 0), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(m604(0, 2, 5, 0), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LAnd(m604(0, 2, 5, 0), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(LAnd(0, m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LAnd(1, m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LAnd(aui5, m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LAnd(aui6, m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(Derefof(Refof(aui5)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(aui6)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(LAnd(Derefof(Index(paui, 5)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LAnd(Derefof(Index(paui, 6)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(m601(1, 5), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LAnd(m601(1, 6), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(Derefof(m602(1, 5, 1)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LAnd(Derefof(m602(1, 6, 1)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+
+ // Conversion of the both operands
+
+ Store(LAnd(m604(0, 2, 1, 0), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 24, Local0, Ones)
+
+ Store(LAnd(m604(0, 2, 5, 0), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // LAnd, 32-bit
+ Method(m027, 1)
+ {
+ // Conversion of the first operand
+
+ Store(LAnd(m604(0, 2, 4, 0), 0), Local0)
+ m600(arg0, 0, Local0, Zero)
+
+ Store(LAnd(m604(0, 2, 4, 0), 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(LAnd(m604(0, 2, 4, 0), aui5), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LAnd(m604(0, 2, 4, 0), aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(m604(0, 2, 4, 0), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LAnd(m604(0, 2, 4, 0), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(LAnd(m604(0, 2, 4, 0), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Zero)
+
+ Store(LAnd(m604(0, 2, 4, 0), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(m604(0, 2, 4, 0), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Zero)
+
+ Store(LAnd(m604(0, 2, 4, 0), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(m604(0, 2, 4, 0), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LAnd(m604(0, 2, 4, 0), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(LAnd(0, m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LAnd(1, m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LAnd(aui5, m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LAnd(aui6, m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(Derefof(Refof(aui5)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(aui6)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(LAnd(Derefof(Index(paui, 5)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LAnd(Derefof(Index(paui, 6)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(m601(1, 5), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LAnd(m601(1, 6), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(Derefof(m602(1, 5, 1)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LAnd(Derefof(m602(1, 6, 1)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+
+ // Conversion of the both operands
+
+ Store(LAnd(m604(0, 2, 1, 0), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 24, Local0, Ones)
+
+ Store(LAnd(m604(0, 2, 4, 0), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // Lor, common 32-bit/64-bit test
+ Method(m028, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Lor(m604(0, 2, 0, 0), 0), Local0)
+ m600(arg0, 0, Local0, Zero)
+
+ Store(Lor(m604(0, 2, 0, 0), 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(Lor(m604(0, 2, 0, 0), aui5), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(Lor(m604(0, 2, 0, 0), aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(m604(0, 2, 0, 0), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(Lor(m604(0, 2, 0, 0), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(Lor(m604(0, 2, 0, 0), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Zero)
+
+ Store(Lor(m604(0, 2, 0, 0), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(m604(0, 2, 0, 0), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Zero)
+
+ Store(Lor(m604(0, 2, 0, 0), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(m604(0, 2, 0, 0), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(Lor(m604(0, 2, 0, 0), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(Lor(0, m604(0, 2, 0, 0)), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(Lor(1, m604(0, 2, 0, 0)), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(Lor(aui5, m604(0, 2, 0, 0)), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(Lor(aui6, m604(0, 2, 0, 0)), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(Derefof(Refof(aui5)), m604(0, 2, 0, 0)), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(Lor(Derefof(Refof(aui6)), m604(0, 2, 0, 0)), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(Lor(Derefof(Index(paui, 5)), m604(0, 2, 0, 0)), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(Lor(Derefof(Index(paui, 6)), m604(0, 2, 0, 0)), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(m601(1, 5), m604(0, 2, 0, 0)), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(Lor(m601(1, 6), m604(0, 2, 0, 0)), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(Derefof(m602(1, 5, 1)), m604(0, 2, 0, 0)), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(Lor(Derefof(m602(1, 6, 1)), m604(0, 2, 0, 0)), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+ }
+
+ // Lor, 64-bit
+ Method(m029, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Lor(m604(0, 2, 5, 0), 0), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(Lor(m604(0, 2, 5, 0), 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(Lor(m604(0, 2, 5, 0), aui5), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(Lor(m604(0, 2, 5, 0), aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(m604(0, 2, 5, 0), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(Lor(m604(0, 2, 5, 0), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(Lor(m604(0, 2, 5, 0), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(Lor(m604(0, 2, 5, 0), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(m604(0, 2, 5, 0), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(Lor(m604(0, 2, 5, 0), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(m604(0, 2, 5, 0), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(Lor(m604(0, 2, 5, 0), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(Lor(0, m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(Lor(1, m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(Lor(aui5, m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 14, Local0, Ones)
+
+ Store(Lor(aui6, m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(Derefof(Refof(aui5)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 16, Local0, Ones)
+
+ Store(Lor(Derefof(Refof(aui6)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(Lor(Derefof(Index(paui, 5)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 18, Local0, Ones)
+
+ Store(Lor(Derefof(Index(paui, 6)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(m601(1, 5), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 20, Local0, Ones)
+
+ Store(Lor(m601(1, 6), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(Derefof(m602(1, 5, 1)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(Lor(Derefof(m602(1, 6, 1)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+
+ // Conversion of the both operands
+
+ Store(Lor(m604(0, 2, 0, 0), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 24, Local0, Ones)
+
+ Store(Lor(m604(0, 2, 5, 0), m604(0, 2, 0, 0)), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // Lor, 32-bit
+ Method(m02a, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Lor(m604(0, 2, 4, 0), 0), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(Lor(m604(0, 2, 4, 0), 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(Lor(m604(0, 2, 4, 0), aui5), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(Lor(m604(0, 2, 4, 0), aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(m604(0, 2, 4, 0), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(Lor(m604(0, 2, 4, 0), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(Lor(m604(0, 2, 4, 0), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(Lor(m604(0, 2, 4, 0), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(m604(0, 2, 4, 0), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(Lor(m604(0, 2, 4, 0), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(m604(0, 2, 4, 0), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(Lor(m604(0, 2, 4, 0), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(Lor(0, m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(Lor(1, m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(Lor(aui5, m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 14, Local0, Ones)
+
+ Store(Lor(aui6, m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(Derefof(Refof(aui5)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 16, Local0, Ones)
+
+ Store(Lor(Derefof(Refof(aui6)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(Lor(Derefof(Index(paui, 5)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 18, Local0, Ones)
+
+ Store(Lor(Derefof(Index(paui, 6)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(m601(1, 5), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 20, Local0, Ones)
+
+ Store(Lor(m601(1, 6), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(Derefof(m602(1, 5, 1)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(Lor(Derefof(m602(1, 6, 1)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+
+ // Conversion of the both operands
+
+ Store(Lor(m604(0, 2, 0, 0), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 24, Local0, Ones)
+
+ Store(Lor(m604(0, 2, 4, 0), m604(0, 2, 0, 0)), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ Method(m64e, 1)
+ {
+ // LAnd
+ Concatenate(arg0, "-m025", Local0)
+ SRMT(Local0)
+ m025(Local0)
+ Concatenate(arg0, "-m026", Local0)
+ SRMT(Local0)
+ m026(Local0)
+
+ // LOr
+ Concatenate(arg0, "-m028", Local0)
+ SRMT(Local0)
+ m028(Local0)
+ Concatenate(arg0, "-m029", Local0)
+ SRMT(Local0)
+ m029(Local0)
+ }
+
+ Method(m32e, 1)
+ {
+ // LAnd
+ Concatenate(arg0, "-m025", Local0)
+ SRMT(Local0)
+ m025(Local0)
+ Concatenate(arg0, "-m027", Local0)
+ SRMT(Local0)
+ m027(Local0)
+
+ // LOr
+ Concatenate(arg0, "-m028", Local0)
+ SRMT(Local0)
+ m028(Local0)
+ Concatenate(arg0, "-m02a", Local0)
+ SRMT(Local0)
+ m02a(Local0)
+ }
+
+
+ // String to Integer conversion of the String second operand of
+ // Logical operators when the first operand is evaluated as Integer
+ // (LEqual, LGreater, LGreaterEqual, LLess, LLessEqual, LNotEqual)
+
+ Method(m64f, 1)
+ {
+ // LEqual
+
+ Store(LEqual(0xfe7cb391d650a284, m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual(0xfe7cb391d650a285, m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(0xfe7cb391d650a283, m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LEqual(aui4, m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ Store(LEqual(auid, m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LEqual(auif, m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 5, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aui4)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(auid)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ Store(LEqual(Derefof(Refof(auif)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 8, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paui, 4)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paui, 13)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LEqual(Derefof(Index(paui, 15)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 11, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LEqual(m601(1, 4), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(LEqual(m601(1, 13), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 13, Local0, Zero)
+
+ Store(LEqual(m601(1, 15), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(1, 4, 1)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(1, 13, 1)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LEqual(Derefof(m602(1, 15, 1)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 17, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater(0xfe7cb391d650a284, m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(0xfe7cb391d650a285, m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ Store(LGreater(0xfe7cb391d650a283, m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(aui4, m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 21, Local0, Zero)
+
+ Store(LGreater(auid, m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(LGreater(auif, m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 23, Local0, Zero)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aui4)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(auid)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 25, Local0, Ones)
+
+ Store(LGreater(Derefof(Refof(auif)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 26, Local0, Zero)
+ }
+
+ Store(LGreater(Derefof(Index(paui, 4)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 27, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paui, 13)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 28, Local0, Ones)
+
+ Store(LGreater(Derefof(Index(paui, 15)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 29, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreater(m601(1, 4), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 30, Local0, Zero)
+
+ Store(LGreater(m601(1, 13), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ Store(LGreater(m601(1, 15), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 32, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(1, 4, 1)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 33, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(1, 13, 1)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreater(Derefof(m602(1, 15, 1)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 35, Local0, Zero)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual(0xfe7cb391d650a284, m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(0xfe7cb391d650a285, m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ Store(LGreaterEqual(0xfe7cb391d650a283, m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 38, Local0, Zero)
+
+ Store(LGreaterEqual(aui4, m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 39, Local0, Ones)
+
+ Store(LGreaterEqual(auid, m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 40, Local0, Ones)
+
+ Store(LGreaterEqual(auif, m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aui4)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auid)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 43, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auif)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 44, Local0, Zero)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paui, 4)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 45, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 13)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 46, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 15)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 47, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreaterEqual(m601(1, 4), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 48, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 13), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 49, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 15), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(1, 4, 1)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 51, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 13, 1)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 52, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 15, 1)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLess
+
+ Store(LLess(0xfe7cb391d650a284, m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 54, Local0, Zero)
+
+ Store(LLess(0xfe7cb391d650a285, m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLess(0xfe7cb391d650a283, m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLess(aui4, m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLess(auid, m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 58, Local0, Zero)
+
+ Store(LLess(auif, m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 59, Local0, Ones)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aui4)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 60, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auid)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 61, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auif)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 62, Local0, Ones)
+ }
+
+ Store(LLess(Derefof(Index(paui, 4)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 13)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 64, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 15)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 65, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLess(m601(1, 4), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 66, Local0, Zero)
+
+ Store(LLess(m601(1, 13), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 67, Local0, Zero)
+
+ Store(LLess(m601(1, 15), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 68, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLess(Derefof(m602(1, 4, 1)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 69, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 13, 1)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 70, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 15, 1)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 71, Local0, Ones)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual(0xfe7cb391d650a284, m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 72, Local0, Ones)
+
+ Store(LLessEqual(0xfe7cb391d650a285, m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 73, Local0, Zero)
+
+ Store(LLessEqual(0xfe7cb391d650a283, m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 74, Local0, Ones)
+
+ Store(LLessEqual(aui4, m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 75, Local0, Ones)
+
+ Store(LLessEqual(auid, m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LLessEqual(auif, m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aui4)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 78, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(auid)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 79, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Refof(auif)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 80, Local0, Ones)
+ }
+
+ Store(LLessEqual(Derefof(Index(paui, 4)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 81, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paui, 13)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 82, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Index(paui, 15)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 83, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLessEqual(m601(1, 4), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 84, Local0, Ones)
+
+ Store(LLessEqual(m601(1, 13), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 85, Local0, Zero)
+
+ Store(LLessEqual(m601(1, 15), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 86, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(1, 4, 1)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 87, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(1, 13, 1)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 88, Local0, Zero)
+
+ Store(LLessEqual(Derefof(m602(1, 15, 1)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 89, Local0, Ones)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual(0xfe7cb391d650a284, m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 90, Local0, Zero)
+
+ Store(LNotEqual(0xfe7cb391d650a285, m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 91, Local0, Ones)
+
+ Store(LNotEqual(0xfe7cb391d650a283, m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 92, Local0, Ones)
+
+ Store(LNotEqual(aui4, m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 93, Local0, Zero)
+
+ Store(LNotEqual(auid, m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 94, Local0, Ones)
+
+ Store(LNotEqual(auif, m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 95, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aui4)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 96, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(auid)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 97, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Refof(auif)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 98, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paui, 4)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 99, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paui, 13)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 100, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Index(paui, 15)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 101, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LNotEqual(m601(1, 4), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 102, Local0, Zero)
+
+ Store(LNotEqual(m601(1, 13), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 103, Local0, Ones)
+
+ Store(LNotEqual(m601(1, 15), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 104, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(1, 4, 1)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 105, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(1, 13, 1)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 106, Local0, Ones)
+
+ Store(LNotEqual(Derefof(m602(1, 15, 1)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 107, Local0, Ones)
+ }
+ }
+
+ Method(m32f, 1)
+ {
+ // LEqual
+
+ Store(LEqual(0xc179b3fe, m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual(0xc179b3ff, m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(0xc179b3fd, m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LEqual(aui3, m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ Store(LEqual(auic, m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LEqual(auie, m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 5, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aui3)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(auic)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ Store(LEqual(Derefof(Refof(auie)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 8, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paui, 3)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paui, 12)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LEqual(Derefof(Index(paui, 14)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 11, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LEqual(m601(1, 3), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(LEqual(m601(1, 12), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 13, Local0, Zero)
+
+ Store(LEqual(m601(1, 14), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(1, 3, 1)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(1, 12, 1)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LEqual(Derefof(m602(1, 14, 1)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 17, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater(0xc179b3fe, m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(0xc179b3ff, m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ Store(LGreater(0xc179b3fd, m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(aui3, m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 21, Local0, Zero)
+
+ Store(LGreater(auic, m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(LGreater(auie, m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 23, Local0, Zero)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aui3)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(auic)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 25, Local0, Ones)
+
+ Store(LGreater(Derefof(Refof(auie)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 26, Local0, Zero)
+ }
+
+ Store(LGreater(Derefof(Index(paui, 3)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 27, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paui, 12)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 28, Local0, Ones)
+
+ Store(LGreater(Derefof(Index(paui, 14)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 29, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreater(m601(1, 3), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 30, Local0, Zero)
+
+ Store(LGreater(m601(1, 12), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ Store(LGreater(m601(1, 14), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 32, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(1, 3, 1)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 33, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(1, 12, 1)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreater(Derefof(m602(1, 14, 1)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 35, Local0, Zero)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual(0xc179b3fe, m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(0xc179b3ff, m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ Store(LGreaterEqual(0xc179b3fd, m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 38, Local0, Zero)
+
+ Store(LGreaterEqual(aui3, m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 39, Local0, Ones)
+
+ Store(LGreaterEqual(auic, m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 40, Local0, Ones)
+
+ Store(LGreaterEqual(auie, m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aui3)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auic)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 43, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auie)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 44, Local0, Zero)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paui, 3)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 45, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 12)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 46, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 14)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 47, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreaterEqual(m601(1, 3), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 48, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 12), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 49, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 14), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(1, 3, 1)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 51, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 12, 1)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 52, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 14, 1)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLess
+
+ Store(LLess(0xc179b3fe, m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 54, Local0, Zero)
+
+ Store(LLess(0xc179b3ff, m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLess(0xc179b3fd, m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLess(aui3, m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLess(auic, m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 58, Local0, Zero)
+
+ Store(LLess(auie, m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 59, Local0, Ones)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aui3)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 60, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auic)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 61, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auie)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 62, Local0, Ones)
+ }
+
+ Store(LLess(Derefof(Index(paui, 3)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 12)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 64, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 14)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 65, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLess(m601(1, 3), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 66, Local0, Zero)
+
+ Store(LLess(m601(1, 12), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 67, Local0, Zero)
+
+ Store(LLess(m601(1, 14), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 68, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLess(Derefof(m602(1, 3, 1)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 69, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 12, 1)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 70, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 14, 1)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 71, Local0, Ones)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual(0xc179b3fe, m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 72, Local0, Ones)
+
+ Store(LLessEqual(0xc179b3ff, m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 73, Local0, Zero)
+
+ Store(LLessEqual(0xc179b3fd, m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 74, Local0, Ones)
+
+ Store(LLessEqual(aui3, m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 75, Local0, Ones)
+
+ Store(LLessEqual(auic, m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LLessEqual(auie, m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aui3)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 78, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(auic)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 79, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Refof(auie)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 80, Local0, Ones)
+ }
+
+ Store(LLessEqual(Derefof(Index(paui, 3)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 81, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paui, 12)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 82, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Index(paui, 14)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 83, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLessEqual(m601(1, 3), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 84, Local0, Ones)
+
+ Store(LLessEqual(m601(1, 12), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 85, Local0, Zero)
+
+ Store(LLessEqual(m601(1, 14), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 86, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(1, 3, 1)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 87, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(1, 12, 1)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 88, Local0, Zero)
+
+ Store(LLessEqual(Derefof(m602(1, 14, 1)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 89, Local0, Ones)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual(0xc179b3fe, m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 90, Local0, Zero)
+
+ Store(LNotEqual(0xc179b3ff, m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 91, Local0, Ones)
+
+ Store(LNotEqual(0xc179b3fd, m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 92, Local0, Ones)
+
+ Store(LNotEqual(aui3, m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 93, Local0, Zero)
+
+ Store(LNotEqual(auic, m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 94, Local0, Ones)
+
+ Store(LNotEqual(auie, m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 95, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aui3)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 96, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(auic)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 97, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Refof(auie)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 98, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paui, 3)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 99, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paui, 12)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 100, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Index(paui, 14)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 101, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LNotEqual(m601(1, 3), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 102, Local0, Zero)
+
+ Store(LNotEqual(m601(1, 12), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 103, Local0, Ones)
+
+ Store(LNotEqual(m601(1, 14), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 104, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(1, 3, 1)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 105, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(1, 12, 1)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 106, Local0, Ones)
+
+ Store(LNotEqual(Derefof(m602(1, 14, 1)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 107, Local0, Ones)
+ }
+ }
+
+ Method(m02b, 1)
+ {
+ // LEqual
+
+ Store(LEqual(0x321, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual(0x322, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(0x320, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LEqual(aui1, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ Store(LEqual(auig, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LEqual(auih, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 5, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aui1)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(auig)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ Store(LEqual(Derefof(Refof(auih)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 8, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paui, 1)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paui, 16)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LEqual(Derefof(Index(paui, 17)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 11, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LEqual(m601(1, 1), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(LEqual(m601(1, 16), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 13, Local0, Zero)
+
+ Store(LEqual(m601(1, 17), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(1, 1, 1)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(1, 16, 1)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LEqual(Derefof(m602(1, 17, 1)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 17, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater(0x321, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(0x322, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ Store(LGreater(0x320, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(aui1, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 21, Local0, Zero)
+
+ Store(LGreater(auig, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(LGreater(auih, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 23, Local0, Zero)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aui1)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(auig)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 25, Local0, Ones)
+
+ Store(LGreater(Derefof(Refof(auih)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 26, Local0, Zero)
+ }
+
+ Store(LGreater(Derefof(Index(paui, 1)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 27, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paui, 16)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 28, Local0, Ones)
+
+ Store(LGreater(Derefof(Index(paui, 17)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 29, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreater(m601(1, 1), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 30, Local0, Zero)
+
+ Store(LGreater(m601(1, 16), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ Store(LGreater(m601(1, 17), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 32, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(1, 1, 1)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 33, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(1, 16, 1)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreater(Derefof(m602(1, 17, 1)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 35, Local0, Zero)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual(0x321, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(0x322, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ Store(LGreaterEqual(0x320, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 38, Local0, Zero)
+
+ Store(LGreaterEqual(aui1, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 39, Local0, Ones)
+
+ Store(LGreaterEqual(auig, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 40, Local0, Ones)
+
+ Store(LGreaterEqual(auih, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aui1)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auig)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 43, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auih)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 44, Local0, Zero)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paui, 1)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 45, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 16)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 46, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 17)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 47, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreaterEqual(m601(1, 1), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 48, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 16), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 49, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 17), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(1, 1, 1)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 51, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 16, 1)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 52, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 17, 1)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLess
+
+ Store(LLess(0x321, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 54, Local0, Zero)
+
+ Store(LLess(0x322, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLess(0x320, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLess(aui1, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLess(auig, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 58, Local0, Zero)
+
+ Store(LLess(auih, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 59, Local0, Ones)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aui1)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 60, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auig)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 61, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auih)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 62, Local0, Ones)
+ }
+
+ Store(LLess(Derefof(Index(paui, 1)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 16)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 64, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 17)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 65, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLess(m601(1, 1), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 66, Local0, Zero)
+
+ Store(LLess(m601(1, 16), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 67, Local0, Zero)
+
+ Store(LLess(m601(1, 17), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 68, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLess(Derefof(m602(1, 1, 1)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 69, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 16, 1)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 70, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 17, 1)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 71, Local0, Ones)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual(0x321, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 72, Local0, Ones)
+
+ Store(LLessEqual(0x322, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 73, Local0, Zero)
+
+ Store(LLessEqual(0x320, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 74, Local0, Ones)
+
+ Store(LLessEqual(aui1, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 75, Local0, Ones)
+
+ Store(LLessEqual(auig, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LLessEqual(auih, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aui1)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 78, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(auig)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 79, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Refof(auih)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 80, Local0, Ones)
+ }
+
+ Store(LLessEqual(Derefof(Index(paui, 1)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 81, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paui, 16)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 82, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Index(paui, 17)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 83, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLessEqual(m601(1, 1), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 84, Local0, Ones)
+
+ Store(LLessEqual(m601(1, 16), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 85, Local0, Zero)
+
+ Store(LLessEqual(m601(1, 17), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 86, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(1, 1, 1)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 87, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(1, 16, 1)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 88, Local0, Zero)
+
+ Store(LLessEqual(Derefof(m602(1, 17, 1)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 89, Local0, Ones)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual(0x321, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 90, Local0, Zero)
+
+ Store(LNotEqual(0x322, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 91, Local0, Ones)
+
+ Store(LNotEqual(0x320, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 92, Local0, Ones)
+
+ Store(LNotEqual(aui1, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 93, Local0, Zero)
+
+ Store(LNotEqual(auig, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 94, Local0, Ones)
+
+ Store(LNotEqual(auih, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 95, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aui1)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 96, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(auig)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 97, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Refof(auih)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 98, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paui, 1)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 99, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paui, 16)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 100, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Index(paui, 17)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 101, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LNotEqual(m601(1, 1), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 102, Local0, Zero)
+
+ Store(LNotEqual(m601(1, 16), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 103, Local0, Ones)
+
+ Store(LNotEqual(m601(1, 17), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 104, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(1, 1, 1)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 105, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(1, 16, 1)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 106, Local0, Ones)
+
+ Store(LNotEqual(Derefof(m602(1, 17, 1)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 107, Local0, Ones)
+ }
+ }
+
+ // String to Integer intermediate conversion of the String second
+ // operand of Concatenate operator in case the first one is Integer
+
+ Method(m64g, 1)
+ {
+ Store(Concatenate(0x321, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 0, Local0, bb26)
+
+ Store(Concatenate(0x321, m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 1, Local0, bb21)
+
+
+ Store(Concatenate(aui1, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 2, Local0, bb26)
+
+ Store(Concatenate(aui1, m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 3, Local0, bb21)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aui1)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 4, Local0, bb26)
+
+ Store(Concatenate(Derefof(Refof(aui1)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 5, Local0, bb21)
+ }
+
+ Store(Concatenate(Derefof(Index(paui, 1)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 6, Local0, bb26)
+
+ Store(Concatenate(Derefof(Index(paui, 1)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 7, Local0, bb21)
+
+ // Method returns Integer
+
+ Store(Concatenate(m601(1, 1), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 8, Local0, bb26)
+
+ Store(Concatenate(m601(1, 1), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 9, Local0, bb21)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(1, 1, 1)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 10, Local0, bb26)
+
+ Store(Concatenate(Derefof(m602(1, 1, 1)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 11, Local0, bb21)
+ }
+
+ Concatenate(0x321, m604(0, 2, 1, 0), Local0)
+ m600(arg0, 12, Local0, bb26)
+
+ Concatenate(0x321, m604(0, 2, 5, 0), Local0)
+ m600(arg0, 13, Local0, bb21)
+
+
+ Concatenate(aui1, m604(0, 2, 1, 0), Local0)
+ m600(arg0, 14, Local0, bb26)
+
+ Concatenate(aui1, m604(0, 2, 5, 0), Local0)
+ m600(arg0, 15, Local0, bb21)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aui1)), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 16, Local0, bb26)
+
+ Concatenate(Derefof(Refof(aui1)), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 17, Local0, bb21)
+ }
+
+ Concatenate(Derefof(Index(paui, 1)), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 18, Local0, bb26)
+
+ Concatenate(Derefof(Index(paui, 1)), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 19, Local0, bb21)
+
+ // Method returns Integer
+
+ Concatenate(m601(1, 1), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 20, Local0, bb26)
+
+ Concatenate(m601(1, 1), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 21, Local0, bb21)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Concatenate(Derefof(m602(1, 1, 1)), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 22, Local0, bb26)
+
+ Concatenate(Derefof(m602(1, 1, 1)), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 23, Local0, bb21)
+ }
+ }
+
+ Method(m32g, 1)
+ {
+ Store(Concatenate(0x321, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 0, Local0, bb27)
+
+ Store(Concatenate(0x321, m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 1, Local0, bb24)
+
+
+ Store(Concatenate(aui1, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 2, Local0, bb27)
+
+ Store(Concatenate(aui1, m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 3, Local0, bb24)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aui1)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 4, Local0, bb27)
+
+ Store(Concatenate(Derefof(Refof(aui1)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 5, Local0, bb24)
+ }
+
+ Store(Concatenate(Derefof(Index(paui, 1)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 6, Local0, bb27)
+
+ Store(Concatenate(Derefof(Index(paui, 1)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 7, Local0, bb24)
+
+ // Method returns Integer
+
+ Store(Concatenate(m601(1, 1), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 8, Local0, bb27)
+
+ Store(Concatenate(m601(1, 1), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 9, Local0, bb24)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(1, 1, 1)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 10, Local0, bb27)
+
+ Store(Concatenate(Derefof(m602(1, 1, 1)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 11, Local0, bb24)
+ }
+
+ Concatenate(0x321, m604(0, 2, 1, 0), Local0)
+ m600(arg0, 12, Local0, bb27)
+
+ Concatenate(0x321, m604(0, 2, 4, 0), Local0)
+ m600(arg0, 13, Local0, bb24)
+
+
+ Concatenate(aui1, m604(0, 2, 1, 0), Local0)
+ m600(arg0, 14, Local0, bb27)
+
+ Concatenate(aui1, m604(0, 2, 4, 0), Local0)
+ m600(arg0, 15, Local0, bb24)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aui1)), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 16, Local0, bb27)
+
+ Concatenate(Derefof(Refof(aui1)), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 17, Local0, bb24)
+ }
+
+ Concatenate(Derefof(Index(paui, 1)), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 18, Local0, bb27)
+
+ Concatenate(Derefof(Index(paui, 1)), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 20, Local0, bb24)
+
+ // Method returns Integer
+
+ Concatenate(m601(1, 1), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 21, Local0, bb27)
+
+ Concatenate(m601(1, 1), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 22, Local0, bb24)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Concatenate(Derefof(m602(1, 1, 1)), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 23, Local0, bb27)
+
+ Concatenate(Derefof(m602(1, 1, 1)), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 24, Local0, bb24)
+ }
+ }
+
+ // String to Integer conversion of the String Length (second)
+ // operand of the ToString operator
+
+ // Common 32-bit/64-bit test
+ Method(m02c, 1)
+ {
+ Store(ToString(Buffer() {"This is auxiliary Buffer"},
+ m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 0, Local0, bs1b)
+
+ Store(ToString(Buffer() {"This is auxiliary Buffer"},
+ m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 1, Local0, bs1c)
+
+ Store(ToString(aub6, m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 2, Local0, bs1b)
+
+ Store(ToString(aub6, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 3, Local0, bs1c)
+
+ if (y078) {
+ Store(ToString(Derefof(Refof(aub6)), m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 4, Local0, bs1b)
+
+ Store(ToString(Derefof(Refof(aub6)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 5, Local0, bs1c)
+ }
+
+ Store(ToString(Derefof(Index(paub, 6)), m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 6, Local0, bs1b)
+
+ Store(ToString(Derefof(Index(paub, 6)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 7, Local0, bs1c)
+
+ // Method returns Buffer
+
+ Store(ToString(m601(3, 6), m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 8, Local0, bs1b)
+
+ Store(ToString(m601(3, 6), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 9, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(ToString(Derefof(m602(3, 6, 1)), m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 10, Local0, bs1b)
+
+ Store(ToString(Derefof(m602(3, 6, 1)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 11, Local0, bs1c)
+ }
+
+ ToString(Buffer() {"This is auxiliary Buffer"},
+ m604(0, 2, 20, 0), Local0)
+ m600(arg0, 12, Local0, bs1b)
+
+ ToString(Buffer() {"This is auxiliary Buffer"},
+ m604(0, 2, 1, 0), Local0)
+ m600(arg0, 13, Local0, bs1c)
+
+ ToString(aub6, m604(0, 2, 20, 0), Local0)
+ m600(arg0, 14, Local0, bs1b)
+
+ ToString(aub6, m604(0, 2, 1, 0), Local0)
+ m600(arg0, 15, Local0, bs1c)
+
+ if (y078) {
+ ToString(Derefof(Refof(aub6)), m604(0, 2, 20, 0), Local0)
+ m600(arg0, 16, Local0, bs1b)
+
+ ToString(Derefof(Refof(aub6)), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 17, Local0, bs1c)
+ }
+
+ ToString(Derefof(Index(paub, 6)), m604(0, 2, 20, 0), Local0)
+ m600(arg0, 18, Local0, bs1b)
+
+ ToString(Derefof(Index(paub, 6)), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 19, Local0, bs1c)
+
+ // Method returns Buffer
+
+ ToString(m601(3, 6), m604(0, 2, 20, 0), Local0)
+ m600(arg0, 20, Local0, bs1b)
+
+ ToString(m601(3, 6), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 21, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ ToString(Derefof(m602(3, 6, 1)), m604(0, 2, 20, 0), Local0)
+ m600(arg0, 22, Local0, bs1b)
+
+ ToString(Derefof(m602(3, 6, 1)), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 23, Local0, bs1c)
+ }
+ }
+
+ Method(m64h, 1)
+ {
+ Store(ToString(Buffer() {"This is auxiliary Buffer"},
+ m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 0, Local0, bs1c)
+
+ Store(ToString(aub6, m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 1, Local0, bs1c)
+
+ if (y078) {
+ Store(ToString(Derefof(Refof(aub6)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 2, Local0, bs1c)
+ }
+
+ Store(ToString(Derefof(Index(paub, 6)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 3, Local0, bs1c)
+
+ // Method returns Buffer
+
+ Store(ToString(m601(3, 6), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 4, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(ToString(Derefof(m602(3, 6, 1)), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 5, Local0, bs1c)
+ }
+
+ ToString(Buffer() {"This is auxiliary Buffer"},
+ m604(0, 2, 5, 0), Local0)
+ m600(arg0, 6, Local0, bs1c)
+
+ ToString(aub6, m604(0, 2, 5, 0), Local0)
+ m600(arg0, 7, Local0, bs1c)
+
+ if (y078) {
+ ToString(Derefof(Refof(aub6)), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 8, Local0, bs1c)
+ }
+
+ ToString(Derefof(Index(paub, 6)), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 9, Local0, bs1c)
+
+ // Method returns Buffer
+
+ ToString(m601(3, 6), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 10, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ ToString(Derefof(m602(3, 6, 1)), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 11, Local0, bs1c)
+ }
+ }
+
+ Method(m32h, 1)
+ {
+ Store(ToString(Buffer() {"This is auxiliary Buffer"},
+ m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 0, Local0, bs1c)
+
+ Store(ToString(aub6, m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 1, Local0, bs1c)
+
+ if (y078) {
+ Store(ToString(Derefof(Refof(aub6)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 2, Local0, bs1c)
+ }
+
+ Store(ToString(Derefof(Index(paub, 6)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 3, Local0, bs1c)
+
+ // Method returns Buffer
+
+ Store(ToString(m601(3, 6), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 4, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(ToString(Derefof(m602(3, 6, 1)), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 5, Local0, bs1c)
+ }
+
+ ToString(Buffer() {"This is auxiliary Buffer"},
+ m604(0, 2, 4, 0), Local0)
+ m600(arg0, 6, Local0, bs1c)
+
+ ToString(aub6, m604(0, 2, 4, 0), Local0)
+ m600(arg0, 7, Local0, bs1c)
+
+ if (y078) {
+ ToString(Derefof(Refof(aub6)), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 8, Local0, bs1c)
+ }
+
+ ToString(Derefof(Index(paub, 6)), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 9, Local0, bs1c)
+
+ // Method returns Buffer
+
+ ToString(m601(3, 6), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 10, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ ToString(Derefof(m602(3, 6, 1)), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 11, Local0, bs1c)
+ }
+ }
+
+ // String to Integer conversion of the String Index (second)
+ // operand of the Index operator
+ Method(m02d, 1)
+ {
+ Store(Index(aus6, m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 0, Derefof(Local0), bi10)
+
+ Store(Index(aub6, m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 1, Derefof(Local0), bi10)
+
+ Store(Index(aup0, m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 2, Derefof(Local0), bi11)
+
+ if (y078) {
+ Store(Index(Derefof(Refof(aus6)), m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 3, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Refof(aub6)), m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 4, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Refof(aup0)), m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 5, Derefof(Local0), bi11)
+ }
+
+ Store(Index(Derefof(Index(paus, 6)), m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 6, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Index(paub, 6)), m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 7, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Index(paup, 0)), m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 8, Derefof(Local0), bi11)
+
+
+ // Method returns Object
+
+ if (y900) {
+ Store(Index(m601(2, 6), m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 9, Derefof(Local0), bi10)
+
+ Store(Index(m601(3, 6), m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 10, Derefof(Local0), bi10)
+
+ Store(Index(m601(4, 0), m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 11, Derefof(Local0), bi11)
+ } else {
+
+ CH03(arg0, z118, 0, 0, 0)
+
+ Index(m601(2, 6), m604(0, 2, 20, 0))
+ CH04(arg0, 0, 85, z118, 9, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+
+ Index(m601(3, 6), m604(0, 2, 20, 0))
+ CH04(arg0, 0, 85, z118, 10, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+
+ Index(m601(4, 0), m604(0, 2, 20, 0))
+ CH04(arg0, 0, 85, z118, 11, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+ }
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Index(Derefof(m602(2, 6, 1)), m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 12, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(m602(3, 6, 1)), m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 13, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(m602(4, 0, 1)), m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 14, Derefof(Local0), bi11)
+ }
+
+ Index(aus6, m604(0, 2, 20, 0), Local0)
+ m600(arg0, 15, Derefof(Local0), bi10)
+
+ Index(aub6, m604(0, 2, 20, 0), Local0)
+ m600(arg0, 16, Derefof(Local0), bi10)
+
+ Index(aup0, m604(0, 2, 20, 0), Local0)
+ m600(arg0, 17, Derefof(Local0), bi11)
+
+ if (y078) {
+ Index(Derefof(Refof(aus6)), m604(0, 2, 20, 0), Local0)
+ m600(arg0, 18, Derefof(Local0), bi10)
+
+ Index(Derefof(Refof(aub6)), m604(0, 2, 20, 0), Local0)
+ m600(arg0, 19, Derefof(Local0), bi10)
+
+ Index(Derefof(Refof(aup0)), m604(0, 2, 20, 0), Local0)
+ m600(arg0, 20, Derefof(Local0), bi11)
+ }
+
+ Index(Derefof(Index(paus, 6)), m604(0, 2, 20, 0), Local0)
+ m600(arg0, 21, Derefof(Local0), bi10)
+
+ Index(Derefof(Index(paub, 6)), m604(0, 2, 20, 0), Local0)
+ m600(arg0, 22, Derefof(Local0), bi10)
+
+ Index(Derefof(Index(paup, 0)), m604(0, 2, 20, 0), Local0)
+ m600(arg0, 23, Derefof(Local0), bi11)
+
+
+ // Method returns Object
+
+ if (y900) {
+ Index(m601(2, 6), m604(0, 2, 20, 0), Local0)
+ m600(arg0, 24, Derefof(Local0), bi10)
+
+ Index(m601(3, 6), m604(0, 2, 20, 0), Local0)
+ m600(arg0, 25, Derefof(Local0), bi10)
+
+ Index(m601(4, 0), m604(0, 2, 20, 0), Local0)
+ m600(arg0, 26, Derefof(Local0), bi11)
+ } else {
+
+ CH03(arg0, z118, 0, 0, 0)
+
+ Index(m601(2, 6), m604(0, 2, 20, 0), Local0)
+ CH04(arg0, 0, 85, z118, 24, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+
+ Index(m601(3, 6), m604(0, 2, 20, 0), Local0)
+ CH04(arg0, 0, 85, z118, 25, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+
+ Index(m601(4, 0), m604(0, 2, 20, 0), Local0)
+ CH04(arg0, 0, 85, z118, 26, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+ }
+
+ // Method returns Reference
+
+ if (y500) {
+ Index(Derefof(m602(2, 6, 1)), m604(0, 2, 20, 0), Local0)
+ m600(arg0, 27, Derefof(Local0), bi10)
+
+ Index(Derefof(m602(3, 6, 1)), m604(0, 2, 20, 0), Local0)
+ m600(arg0, 28, Derefof(Local0), bi10)
+
+ Index(Derefof(m602(4, 0, 1)), m604(0, 2, 20, 0), Local0)
+ m600(arg0, 29, Derefof(Local0), bi11)
+ }
+
+ if (y098) {
+ Store(Index(aus6, m604(0, 2, 20, 0), Local1), Local0)
+ m600(arg0, 30, Derefof(Local0), bi10)
+
+ Store(Index(aub6, m604(0, 2, 20, 0), Local1), Local0)
+ m600(arg0, 31, Derefof(Local0), bi10)
+
+ Store(Index(aup0, m604(0, 2, 20, 0), Local1), Local0)
+ m600(arg0, 32, Derefof(Local0), bi11)
+ }
+
+ if (y078) {
+ Store(Index(Derefof(Refof(aus6)), m604(0, 2, 20, 0), Local1), Local0)
+ m600(arg0, 33, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Refof(aub6)), m604(0, 2, 20, 0), Local1), Local0)
+ m600(arg0, 34, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Refof(aup0)), m604(0, 2, 20, 0), Local1), Local0)
+ m600(arg0, 35, Derefof(Local0), bi11)
+ }
+
+ if (y098) {
+ Store(Index(Derefof(Index(paus, 6)), m604(0, 2, 20, 0), Local1), Local0)
+ m600(arg0, 36, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Index(paub, 6)), m604(0, 2, 20, 0), Local1), Local0)
+ m600(arg0, 37, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Index(paup, 0)), m604(0, 2, 20, 0), Local1), Local0)
+ m600(arg0, 38, Derefof(Local0), bi11)
+ }
+
+ // Method returns Object
+
+ if (LAnd(y900, y098)) {
+ Store(Index(m601(2, 6), m604(0, 2, 20, 0), Local1), Local0)
+ m600(arg0, 39, Derefof(Local0), bi10)
+
+ Store(Index(m601(3, 6), m604(0, 2, 20, 0), Local1), Local0)
+ m600(arg0, 40, Derefof(Local0), bi10)
+
+ Store(Index(m601(4, 0), m604(0, 2, 20, 0), Local1), Local0)
+ m600(arg0, 41, Derefof(Local0), bi11)
+ }
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Index(Derefof(m602(2, 6, 1)), m604(0, 2, 20, 0), Local1), Local0)
+ m600(arg0, 42, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(m602(3, 6, 1)), m604(0, 2, 20, 0), Local1), Local0)
+ m600(arg0, 43, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(m602(4, 0, 1)), m604(0, 2, 20, 0), Local1), Local0)
+ m600(arg0, 44, Derefof(Local0), bi11)
+ }
+ }
+
+ // String to Integer conversion of the String Arg (third)
+ // operand of the Fatal operator
+ // (it can only be checked an exception does not occur)
+ Method(m02e, 1)
+ {
+ CH03(arg0, z118, 0, 0, 0)
+ Fatal(0xff, 0xffffffff, m604(0, 2, 1, 0))
+ if (F64) {
+ Fatal(0xff, 0xffffffff, m604(0, 2, 5, 0))
+ } else {
+ Fatal(0xff, 0xffffffff, m604(0, 2, 4, 0))
+ }
+ CH03(arg0, z118, 1, 0, 0)
+ }
+
+ // String to Integer conversion of the String Index and Length
+ // operands of the Mid operator
+
+ // Common 32-bit/64-bit test
+ Method(m02f, 1)
+ {
+ // String to Integer conversion of the String Index operand
+
+ Store(Mid("This is auxiliary String", m604(0, 2, 20, 0), 10), Local0)
+ m600(arg0, 0, Local0, bs1d)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, m604(0, 2, 20, 0), 10), Local0)
+ m600(arg0, 1, Local0, bb32)
+
+ Store(Mid(aus6, m604(0, 2, 20, 0), 10), Local0)
+ m600(arg0, 2, Local0, bs1d)
+
+ Store(Mid(aub6, m604(0, 2, 20, 0), 10), Local0)
+ m600(arg0, 3, Local0, bb32)
+
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), m604(0, 2, 20, 0), 10), Local0)
+ m600(arg0, 4, Local0, bs1d)
+
+ Store(Mid(Derefof(Refof(aub6)), m604(0, 2, 20, 0), 10), Local0)
+ m600(arg0, 5, Local0, bb32)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), m604(0, 2, 20, 0), 10), Local0)
+ m600(arg0, 6, Local0, bs1d)
+
+ Store(Mid(Derefof(Index(paub, 6)), m604(0, 2, 20, 0), 10), Local0)
+ m600(arg0, 7, Local0, bb32)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), m604(0, 2, 20, 0), 10), Local0)
+ m600(arg0, 8, Local0, bs1d)
+
+ Store(Mid(m601(3, 6), m604(0, 2, 20, 0), 10), Local0)
+ m600(arg0, 9, Local0, bb32)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), m604(0, 2, 20, 0), 10), Local0)
+ m600(arg0, 10, Local0, bs1d)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), m604(0, 2, 20, 0), 10), Local0)
+ m600(arg0, 11, Local0, bb32)
+ }
+
+ Mid("This is auxiliary String", m604(0, 2, 20, 0), 10, Local0)
+ m600(arg0, 12, Local0, bs1d)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, m604(0, 2, 20, 0), 10, Local0)
+ m600(arg0, 13, Local0, bb32)
+
+ Mid(aus6, m604(0, 2, 20, 0), 10, Local0)
+ m600(arg0, 14, Local0, bs1d)
+
+ Mid(aub6, m604(0, 2, 20, 0), 10, Local0)
+ m600(arg0, 15, Local0, bb32)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), m604(0, 2, 20, 0), 10, Local0)
+ m600(arg0, 16, Local0, bs1d)
+
+ Mid(Derefof(Refof(aub6)), m604(0, 2, 20, 0), 10, Local0)
+ m600(arg0, 17, Local0, bb32)
+ }
+
+ Mid(Derefof(Index(paus, 6)), m604(0, 2, 20, 0), 10, Local0)
+ m600(arg0, 18, Local0, bs1d)
+
+ Mid(Derefof(Index(paub, 6)), m604(0, 2, 20, 0), 10, Local0)
+ m600(arg0, 19, Local0, bb32)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), m604(0, 2, 20, 0), 10, Local0)
+ m600(arg0, 20, Local0, bs1d)
+
+ Mid(m601(3, 6), m604(0, 2, 20, 0), 10, Local0)
+ m600(arg0, 21, Local0, bb32)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), m604(0, 2, 20, 0), 10, Local0)
+ m600(arg0, 22, Local0, bs1d)
+
+ Mid(Derefof(m602(3, 6, 1)), m604(0, 2, 20, 0), 10, Local0)
+ m600(arg0, 23, Local0, bb32)
+ }
+
+ // String to Integer conversion of the String Length operand
+
+ Store(Mid("This is auxiliary String", 0, m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 24, Local0, bs1b)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, 0, m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 25, Local0, bb33)
+
+ Store(Mid(aus6, 0, m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 26, Local0, bs1b)
+
+ Store(Mid(aub6, 0, m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 27, Local0, bb33)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), 0, m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 28, Local0, bs1b)
+
+ Store(Mid(Derefof(Refof(aub6)), 0, m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 29, Local0, bb33)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), 0, m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 30, Local0, bs1b)
+
+ Store(Mid(Derefof(Index(paub, 6)), 0, m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 31, Local0, bb33)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), 0, m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 32, Local0, bs1b)
+
+ Store(Mid(m601(3, 6), 0, m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 33, Local0, bb33)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), 0, m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 34, Local0, bs1b)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), 0, m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 35, Local0, bb33)
+ }
+
+ Mid("This is auxiliary String", 0, m604(0, 2, 20, 0), Local0)
+ m600(arg0, 36, Local0, bs1b)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, 0, m604(0, 2, 20, 0), Local0)
+ m600(arg0, 37, Local0, bb33)
+
+ Mid(aus6, 0, m604(0, 2, 20, 0), Local0)
+ m600(arg0, 37, Local0, bs1b)
+
+ Mid(aub6, 0, m604(0, 2, 20, 0), Local0)
+ m600(arg0, 39, Local0, bb33)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), 0, m604(0, 2, 20, 0), Local0)
+ m600(arg0, 40, Local0, bs1b)
+
+ Mid(Derefof(Refof(aub6)), 0, m604(0, 2, 20, 0), Local0)
+ m600(arg0, 41, Local0, bb33)
+ }
+
+ Mid(Derefof(Index(paus, 6)), 0, m604(0, 2, 20, 0), Local0)
+ m600(arg0, 42, Local0, bs1b)
+
+ Mid(Derefof(Index(paub, 6)), 0, m604(0, 2, 20, 0), Local0)
+ m600(arg0, 43, Local0, bb33)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), 0, m604(0, 2, 20, 0), Local0)
+ m600(arg0, 44, Local0, bs1b)
+
+ Mid(m601(3, 6), 0, m604(0, 2, 20, 0), Local0)
+ m600(arg0, 45, Local0, bb33)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), 0, m604(0, 2, 20, 0), Local0)
+ m600(arg0, 46, Local0, bs1b)
+
+ Mid(Derefof(m602(3, 6, 1)), 0, m604(0, 2, 20, 0), Local0)
+ m600(arg0, 47, Local0, bb33)
+ }
+ }
+
+ Method(m64i, 1)
+ {
+ // String to Integer conversion of the String Length operand
+
+ Store(Mid("This is auxiliary String", 0, m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 0, Local0, bs1e)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, 0, m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 1, Local0, bb34)
+
+ Store(Mid(aus6, 0, m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 2, Local0, bs1e)
+
+ Store(Mid(aub6, 0, m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 3, Local0, bb34)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), 0, m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 4, Local0, bs1e)
+
+ Store(Mid(Derefof(Refof(aub6)), 0, m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 5, Local0, bb34)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), 0, m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 6, Local0, bs1e)
+
+ Store(Mid(Derefof(Index(paub, 6)), 0, m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 7, Local0, bb34)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), 0, m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 8, Local0, bs1e)
+
+ Store(Mid(m601(3, 6), 0, m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 9, Local0, bb34)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), 0, m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 10, Local0, bs1e)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), 0, m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 11, Local0, bb34)
+ }
+
+ Mid("This is auxiliary String", 0, m604(0, 2, 5, 0), Local0)
+ m600(arg0, 12, Local0, bs1e)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, 0, m604(0, 2, 5, 0), Local0)
+ m600(arg0, 13, Local0, bb34)
+
+ Mid(aus6, 0, m604(0, 2, 5, 0), Local0)
+ m600(arg0, 14, Local0, bs1e)
+
+ Mid(aub6, 0, m604(0, 2, 5, 0), Local0)
+ m600(arg0, 15, Local0, bb34)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), 0, m604(0, 2, 5, 0), Local0)
+ m600(arg0, 16, Local0, bs1e)
+
+ Mid(Derefof(Refof(aub6)), 0, m604(0, 2, 5, 0), Local0)
+ m600(arg0, 17, Local0, bb34)
+ }
+
+ Mid(Derefof(Index(paus, 6)), 0, m604(0, 2, 5, 0), Local0)
+ m600(arg0, 18, Local0, bs1e)
+
+ Mid(Derefof(Index(paub, 6)), 0, m604(0, 2, 5, 0), Local0)
+ m600(arg0, 19, Local0, bb34)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), 0, m604(0, 2, 5, 0), Local0)
+ m600(arg0, 20, Local0, bs1e)
+
+ Mid(m601(3, 6), 0, m604(0, 2, 5, 0), Local0)
+ m600(arg0, 21, Local0, bb34)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), 0, m604(0, 2, 5, 0), Local0)
+ m600(arg0, 22, Local0, bs1e)
+
+ Mid(Derefof(m602(3, 6, 1)), 0, m604(0, 2, 5, 0), Local0)
+ m600(arg0, 23, Local0, bb34)
+ }
+
+ // String to Integer conversion of the both String operands
+
+ Store(Mid("This is auxiliary String", m604(0, 2, 20, 0), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 24, Local0, bs1f)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, m604(0, 2, 20, 0), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 25, Local0, bb35)
+
+ Store(Mid(aus6, m604(0, 2, 20, 0), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 26, Local0, bs1f)
+
+ Store(Mid(aub6, m604(0, 2, 20, 0), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 27, Local0, bb35)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), m604(0, 2, 20, 0), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 28, Local0, bs1f)
+
+ Store(Mid(Derefof(Refof(aub6)), m604(0, 2, 20, 0), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 29, Local0, bb35)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), m604(0, 2, 20, 0), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 30, Local0, bs1f)
+
+ Store(Mid(Derefof(Index(paub, 6)), m604(0, 2, 20, 0), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 31, Local0, bb35)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), m604(0, 2, 20, 0), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 32, Local0, bs1f)
+
+ Store(Mid(m601(3, 6), m604(0, 2, 20, 0), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 33, Local0, bb35)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), m604(0, 2, 20, 0), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 34, Local0, bs1f)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), m604(0, 2, 20, 0), m604(0, 2, 5, 0)), Local0)
+ m600(arg0, 35, Local0, bb35)
+ }
+
+ Mid("This is auxiliary String", m604(0, 2, 20, 0), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 36, Local0, bs1f)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, m604(0, 2, 20, 0), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 37, Local0, bb35)
+
+ Mid(aus6, m604(0, 2, 20, 0), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 38, Local0, bs1f)
+
+ Mid(aub6, m604(0, 2, 20, 0), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 39, Local0, bb35)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), m604(0, 2, 20, 0), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 40, Local0, bs1f)
+
+ Mid(Derefof(Refof(aub6)), m604(0, 2, 20, 0), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 41, Local0, bb35)
+ }
+
+ Mid(Derefof(Index(paus, 6)), m604(0, 2, 20, 0), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 42, Local0, bs1f)
+
+ Mid(Derefof(Index(paub, 6)), m604(0, 2, 20, 0), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 43, Local0, bb35)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), m604(0, 2, 20, 0), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 44, Local0, bs1f)
+
+ Mid(m601(3, 6), m604(0, 2, 20, 0), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 45, Local0, bb35)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), m604(0, 2, 20, 0), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 46, Local0, bs1f)
+
+ Mid(Derefof(m602(3, 6, 1)), m604(0, 2, 20, 0), m604(0, 2, 5, 0), Local0)
+ m600(arg0, 47, Local0, bb35)
+ }
+ }
+
+ Method(m32i, 1)
+ {
+ // String to Integer conversion of the String Length operand
+
+ Store(Mid("This is auxiliary String", 0, m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 0, Local0, bs1e)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, 0, m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 1, Local0, bb34)
+
+ Store(Mid(aus6, 0, m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 2, Local0, bs1e)
+
+ Store(Mid(aub6, 0, m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 3, Local0, bb34)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), 0, m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 4, Local0, bs1e)
+
+ Store(Mid(Derefof(Refof(aub6)), 0, m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 5, Local0, bb34)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), 0, m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 6, Local0, bs1e)
+
+ Store(Mid(Derefof(Index(paub, 6)), 0, m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 7, Local0, bb34)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), 0, m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 8, Local0, bs1e)
+
+ Store(Mid(m601(3, 6), 0, m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 9, Local0, bb34)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), 0, m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 10, Local0, bs1e)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), 0, m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 11, Local0, bb34)
+ }
+
+ Mid("This is auxiliary String", 0, m604(0, 2, 4, 0), Local0)
+ m600(arg0, 12, Local0, bs1e)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, 0, m604(0, 2, 4, 0), Local0)
+ m600(arg0, 13, Local0, bb34)
+
+ Mid(aus6, 0, m604(0, 2, 4, 0), Local0)
+ m600(arg0, 14, Local0, bs1e)
+
+ Mid(aub6, 0, m604(0, 2, 4, 0), Local0)
+ m600(arg0, 15, Local0, bb34)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), 0, m604(0, 2, 4, 0), Local0)
+ m600(arg0, 16, Local0, bs1e)
+
+ Mid(Derefof(Refof(aub6)), 0, m604(0, 2, 4, 0), Local0)
+ m600(arg0, 17, Local0, bb34)
+ }
+
+ Mid(Derefof(Index(paus, 6)), 0, m604(0, 2, 4, 0), Local0)
+ m600(arg0, 18, Local0, bs1e)
+
+ Mid(Derefof(Index(paub, 6)), 0, m604(0, 2, 4, 0), Local0)
+ m600(arg0, 19, Local0, bb34)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), 0, m604(0, 2, 4, 0), Local0)
+ m600(arg0, 20, Local0, bs1e)
+
+ Mid(m601(3, 6), 0, m604(0, 2, 4, 0), Local0)
+ m600(arg0, 21, Local0, bb34)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), 0, m604(0, 2, 4, 0), Local0)
+ m600(arg0, 22, Local0, bs1e)
+
+ Mid(Derefof(m602(3, 6, 1)), 0, m604(0, 2, 4, 0), Local0)
+ m600(arg0, 23, Local0, bb34)
+ }
+
+ // String to Integer conversion of the both String operands
+
+ Store(Mid("This is auxiliary String", m604(0, 2, 20, 0), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 24, Local0, bs1f)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, m604(0, 2, 20, 0), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 25, Local0, bb35)
+
+ Store(Mid(aus6, m604(0, 2, 20, 0), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 26, Local0, bs1f)
+
+ Store(Mid(aub6, m604(0, 2, 20, 0), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 27, Local0, bb35)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), m604(0, 2, 20, 0), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 28, Local0, bs1f)
+
+ Store(Mid(Derefof(Refof(aub6)), m604(0, 2, 20, 0), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 29, Local0, bb35)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), m604(0, 2, 20, 0), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 30, Local0, bs1f)
+
+ Store(Mid(Derefof(Index(paub, 6)), m604(0, 2, 20, 0), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 31, Local0, bb35)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), m604(0, 2, 20, 0), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 32, Local0, bs1f)
+
+ Store(Mid(m601(3, 6), m604(0, 2, 20, 0), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 33, Local0, bb35)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), m604(0, 2, 20, 0), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 34, Local0, bs1f)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), m604(0, 2, 20, 0), m604(0, 2, 4, 0)), Local0)
+ m600(arg0, 35, Local0, bb35)
+ }
+
+ Mid("This is auxiliary String", m604(0, 2, 20, 0), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 36, Local0, bs1f)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, m604(0, 2, 20, 0), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 37, Local0, bb35)
+
+ Mid(aus6, m604(0, 2, 20, 0), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 38, Local0, bs1f)
+
+ Mid(aub6, m604(0, 2, 20, 0), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 39, Local0, bb35)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), m604(0, 2, 20, 0), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 40, Local0, bs1f)
+
+ Mid(Derefof(Refof(aub6)), m604(0, 2, 20, 0), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 41, Local0, bb35)
+ }
+
+ Mid(Derefof(Index(paus, 6)), m604(0, 2, 20, 0), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 42, Local0, bs1f)
+
+ Mid(Derefof(Index(paub, 6)), m604(0, 2, 20, 0), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 43, Local0, bb35)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), m604(0, 2, 20, 0), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 44, Local0, bs1f)
+
+ Mid(m601(3, 6), m604(0, 2, 20, 0), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 45, Local0, bb35)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), m604(0, 2, 20, 0), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 46, Local0, bs1f)
+
+ Mid(Derefof(m602(3, 6, 1)), m604(0, 2, 20, 0), m604(0, 2, 4, 0), Local0)
+ m600(arg0, 47, Local0, bb35)
+ }
+ }
+
+ // String to Integer conversion of the String StartIndex
+ // operand of the Match operator
+ Method(m030, 1)
+ {
+ Store(Match(
+ Package(){
+ 0xa50, 0xa51, 0xa52, 0xa53, 0xa54, 0xa55, 0xa56, 0xa57,
+ 0xa58, 0xa59, 0xa5a, 0xa5b, 0xa5c, 0xa5d, 0xa5e,},
+ MEQ, 0xa5d, MTR, 0, m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 0, Local0, 0xd)
+
+ Store(Match(
+ Package(){
+ 0xa50, 0xa51, 0xa52, 0xa53, 0xa54, 0xa55, 0xa56, 0xa57,
+ 0xa58, 0xa59, 0xa5a, 0xa5b, 0xa5c, 0xa5d, 0xa5e,},
+ MEQ, 0xa5a, MTR, 0, m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(Match(aup0, MEQ, 0xa5d, MTR, 0, m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 2, Local0, 0xd)
+
+ Store(Match(aup0, MEQ, 0xa5a, MTR, 0, m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(Match(Derefof(Refof(aup0)), MEQ, 0xa5d, MTR, 0, m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 4, Local0, 0xd)
+
+ Store(Match(Derefof(Refof(aup0)), MEQ, 0xa5a, MTR, 0, m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(Match(Derefof(Index(paup, 0)), MEQ, 0xa5d, MTR, 0, m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 6, Local0, 0xd)
+
+ Store(Match(Derefof(Index(paup, 0)), MEQ, 0xa5a, MTR, 0, m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Object
+
+ Store(Match(m601(4, 0), MEQ, 0xa5d, MTR, 0, m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 8, Local0, 0xd)
+
+ Store(Match(m601(4, 0), MEQ, 0xa5a, MTR, 0, m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Match(Derefof(m602(4, 0, 1)), MEQ, 0xa5d, MTR, 0, m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 10, Local0, 0xd)
+
+ Store(Match(Derefof(m602(4, 0, 1)), MEQ, 0xa5a, MTR, 0, m604(0, 2, 20, 0)), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+ }
+
+// Method(m64j, 1)
+
+// Method(m32j, 1)
+
+ // String to Integer conversion of the String sole operand
+ // of the Method execution control operators (Sleep, Stall)
+ Method(m031, 1)
+ {
+ CH03(arg0, z118, 2, 0, 0)
+
+ // Sleep
+
+ Store(Timer, Local0)
+
+ Sleep(m604(0, 2, 1, 0))
+ CH03(arg0, z118, 3, 0, 0)
+
+ Store(Timer, Local1)
+ Subtract(Local1, Local0, Local2)
+ if (LLess(Local2, c08c)) {
+ err(arg0, z118, 0, 0, 0, Local2, c08c)
+ }
+
+ // Stall
+
+ Store(Timer, Local0)
+
+ Stall(m604(0, 2, 27, 0))
+ CH03(arg0, z118, 4, 0, 0)
+
+ Store(Timer, Local1)
+ Subtract(Local1, Local0, Local2)
+ if (LLess(Local2, 990)) {
+ err(arg0, z118, 1, 0, 0, Local2, 990)
+ }
+ }
+
+ // String to Integer conversion of the String TimeoutValue
+ // (second) operand of the Acquire operator ???
+ Method(m032, 1)
+ {
+ Mutex(MTX0, 0)
+
+ Acquire(MTX0, 0)
+ CH03(arg0, z118, 5, 0, 0)
+
+ Store(Timer, Local0)
+
+/* Compiler allows only Integer constant as TimeoutValue (Bug 1)
+ Acquire(MTX0, m604(0, 2, 1, 0))
+*/
+ CH03(arg0, z118, 6, 0, 0)
+
+ Store(Timer, Local1)
+ Subtract(Local1, Local0, Local2)
+ if (LLess(Local2, c08c)) {
+ err(arg0, z118, 0, 0, 0, Local2, c08c)
+ }
+ }
+
+ // String to Integer conversion of the String TimeoutValue
+ // (second) operand of the Wait operator
+ Method(m033, 1)
+ {
+ Event(EVT0)
+
+ CH03(arg0, z118, 7, 0, 0)
+
+ Store(Timer, Local0)
+
+ Wait(EVT0, m604(0, 2, 1, 0))
+ CH03(arg0, z118, 8, 0, 0)
+
+ Store(Timer, Local1)
+ Subtract(Local1, Local0, Local2)
+ if (LLess(Local2, c08c)) {
+ err(arg0, z118, 0, 0, 0, Local2, c08c)
+ }
+ }
+
+ // String to Integer conversion of the String value
+ // of Predicate of the Method execution control statements
+ // (If, ElseIf, While)
+ Method(m034, 1)
+ {
+ Name(ist0, 0)
+
+ Method(m001)
+ {
+ if (m604(0, 2, 0, 0)) {
+ Store(0, ist0)
+ }
+ }
+
+ Method(m002)
+ {
+ if (m604(0, 2, 1, 0)) {
+ Store(2, ist0)
+ }
+ }
+
+ Method(m003)
+ {
+ if (m604(0, 2, 4, 0)) {
+ Store(3, ist0)
+ }
+ }
+
+ Method(m004)
+ {
+ if (m604(0, 2, 5, 0)) {
+ Store(4, ist0)
+ }
+ }
+
+ Method(m005, 1)
+ {
+ if (arg0) {
+ Store(0xff, ist0)
+ } elseif (m604(0, 2, 0, 0)) {
+ Store(0, ist0)
+ }
+ }
+
+ Method(m006, 1)
+ {
+ if (arg0) {
+ Store(0xff, ist0)
+ } elseif (m604(0, 2, 1, 0)) {
+ Store(6, ist0)
+ }
+ }
+
+ Method(m007, 1)
+ {
+ if (arg0) {
+ Store(0xff, ist0)
+ } elseif (m604(0, 2, 4, 0)) {
+ Store(7, ist0)
+ }
+ }
+
+ Method(m008, 1)
+ {
+ if (arg0) {
+ Store(0xff, ist0)
+ } elseif (m604(0, 2, 5, 0)) {
+ Store(8, ist0)
+ }
+ }
+
+ Method(m009)
+ {
+ while (m604(0, 2, 0, 0)) {
+ Store(0, ist0)
+ Break
+ }
+ }
+
+ // If
+
+ Store(1, ist0)
+ m001()
+ m600(arg0, 0, ist0, 1)
+
+ m002()
+ m600(arg0, 1, ist0, 2)
+
+ m003()
+ m600(arg0, 2, ist0, 3)
+
+ m004()
+ m600(arg0, 3, ist0, 4)
+
+ // ElseIf
+
+ Store(5, ist0)
+ m005(0)
+ m600(arg0, 4, ist0, 5)
+
+ m006(0)
+ m600(arg0, 5, ist0, 6)
+
+ m007(0)
+ m600(arg0, 6, ist0, 7)
+
+ m008(0)
+ m600(arg0, 7, ist0, 8)
+
+ // While
+
+ Store(9, ist0)
+ m009()
+ m600(arg0, 8, ist0, 9)
+ }
+
+// Method(m64k, 1)
+
+// Method(m32k, 1)
+
+ // String to Buffer implicit conversion Cases.
+
+ // String to Buffer conversion of the String second operand of
+ // Logical operators when the first operand is evaluated as Buffer
+ // (LEqual, LGreater, LGreaterEqual, LLess, LLessEqual, LNotEqual)
+
+ Method(m035, 1)
+ {
+ // LEqual
+
+ Store(LEqual(Buffer() {0x30, 0x33, 0x32, 0x31, 0x00}, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual(Buffer() {0x30, 0x33, 0x32, 0x31, 0x01}, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(aub7, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(LEqual(aub3, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 3, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aub7)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(aub3)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 5, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paub, 7)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paub, 3)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ // Method returns Buffer
+
+ Store(LEqual(m601(3, 7), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(LEqual(m601(3, 3), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 9, Local0, Zero)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(3, 7, 1)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(3, 3, 1)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 11, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater(Buffer() {0x30, 0x33, 0x32, 0x31, 0x00}, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LGreater(Buffer() {0x30, 0x33, 0x32, 0x31, 0x01}, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LGreater(Buffer() {0x30, 0x33, 0x32, 0x31}, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LGreater(Buffer() {0x30, 0x33, 0x32, 0x31, 0x00, 0x01}, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LGreater(aub7, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LGreater(aub8, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 17, Local0, Ones)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aub7)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(aub8)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 19, Local0, Ones)
+ }
+
+ Store(LGreater(Derefof(Index(paub, 7)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paub, 8)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Buffer
+
+ Store(LGreater(m601(3, 7), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LGreater(m601(3, 8), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 23, Local0, Ones)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(3, 7, 1)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(3, 8, 1)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual(Buffer() {0x30, 0x33, 0x32, 0x31, 0x00}, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 26, Local0, Ones)
+
+ Store(LGreaterEqual(Buffer() {0x30, 0x33, 0x32, 0x31, 0x01}, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 27, Local0, Ones)
+
+ Store(LGreaterEqual(Buffer() {0x30, 0x33, 0x32, 0x31}, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 28, Local0, Zero)
+
+ Store(LGreaterEqual(Buffer() {0x30, 0x33, 0x32, 0x31, 0x00, 0x01}, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 29, Local0, Ones)
+
+ Store(LGreaterEqual(aub7, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 30, Local0, Ones)
+
+ Store(LGreaterEqual(aub8, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aub7)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 32, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(aub8)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 33, Local0, Ones)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paub, 7)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paub, 8)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 35, Local0, Ones)
+
+ // Method returns Buffer
+
+ Store(LGreaterEqual(m601(3, 7), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(m601(3, 8), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(3, 7, 1)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 38, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(3, 8, 1)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 39, Local0, Ones)
+ }
+
+ // LLess
+
+ Store(LLess(Buffer() {0x30, 0x33, 0x32, 0x31, 0x00}, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 40, Local0, Zero)
+
+ Store(LLess(Buffer() {0x30, 0x33, 0x32, 0x31, 0x01}, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ Store(LLess(Buffer() {0x30, 0x33, 0x32, 0x31}, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LLess(Buffer() {0x30, 0x33, 0x32, 0x31, 0x00, 0x01}, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 43, Local0, Zero)
+
+ Store(LLess(aub7, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 44, Local0, Zero)
+
+ Store(LLess(aub8, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 45, Local0, Zero)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aub7)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 46, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(aub8)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 47, Local0, Zero)
+ }
+
+ Store(LLess(Derefof(Index(paub, 7)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 48, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paub, 8)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 49, Local0, Zero)
+
+ // Method returns Buffer
+
+ Store(LLess(m601(3, 7), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ Store(LLess(m601(3, 8), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 51, Local0, Zero)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LLess(Derefof(m602(3, 7, 1)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 52, Local0, Zero)
+
+ Store(LLess(Derefof(m602(3, 8, 1)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual(Buffer() {0x30, 0x33, 0x32, 0x31, 0x00}, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 54, Local0, Ones)
+
+ Store(LLessEqual(Buffer() {0x30, 0x33, 0x32, 0x31, 0x01}, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLessEqual(Buffer() {0x30, 0x33, 0x32, 0x31}, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLessEqual(Buffer() {0x30, 0x33, 0x32, 0x31, 0x00, 0x01}, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLessEqual(aub7, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 58, Local0, Ones)
+
+ Store(LLessEqual(aub8, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 59, Local0, Zero)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aub7)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 60, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(aub8)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 61, Local0, Zero)
+ }
+
+ Store(LLessEqual(Derefof(Index(paub, 7)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 62, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paub, 8)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ // Method returns Buffer
+
+ Store(LLessEqual(m601(3, 7), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 64, Local0, Ones)
+
+ Store(LLessEqual(m601(3, 8), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 65, Local0, Zero)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(3, 7, 1)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 66, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(3, 8, 1)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 67, Local0, Zero)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual(Buffer() {0x30, 0x33, 0x32, 0x31, 0x00}, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 68, Local0, Zero)
+
+ Store(LNotEqual(Buffer() {0x30, 0x33, 0x32, 0x31, 0x01}, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 69, Local0, Ones)
+
+ Store(LNotEqual(Buffer() {0x30, 0x33, 0x32, 0x31}, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 70, Local0, Ones)
+
+ Store(LNotEqual(Buffer() {0x30, 0x33, 0x32, 0x31, 0x00, 0x01}, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 71, Local0, Ones)
+
+ Store(LNotEqual(aub7, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 72, Local0, Zero)
+
+ Store(LNotEqual(aub8, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 73, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aub7)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 74, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(aub8)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 75, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paub, 7)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paub, 8)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ // Method returns Buffer
+
+ Store(LNotEqual(m601(3, 7), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 78, Local0, Zero)
+
+ Store(LNotEqual(m601(3, 8), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 79, Local0, Ones)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(3, 7, 1)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 80, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(3, 8, 1)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 81, Local0, Ones)
+ }
+
+ // Boundary Cases
+
+ Store(LEqual(Buffer() {0x00}, m604(0, 2, 12, 0)), Local0)
+ m600(arg0, 82, Local0, Ones)
+
+ Store(LEqual(Buffer() {0x01}, m604(0, 2, 12, 0)), Local0)
+ m600(arg0, 83, Local0, Zero)
+
+ Store(LGreater(Buffer() {0x00}, m604(0, 2, 12, 0)), Local0)
+ m600(arg0, 84, Local0, Zero)
+
+ Store(LGreater(Buffer() {0x01}, m604(0, 2, 12, 0)), Local0)
+ m600(arg0, 85, Local0, Ones)
+
+ Store(LGreaterEqual(Buffer() {0x00}, m604(0, 2, 12, 0)), Local0)
+ m600(arg0, 86, Local0, Ones)
+
+ Store(LGreater(Buffer() {0x01}, m604(0, 2, 12, 0)), Local0)
+ m600(arg0, 87, Local0, Ones)
+
+ Store(LLess(Buffer() {0x00}, m604(0, 2, 12, 0)), Local0)
+ m600(arg0, 88, Local0, Zero)
+
+ Store(LLess(Buffer() {0x01}, m604(0, 2, 12, 0)), Local0)
+ m600(arg0, 89, Local0, Zero)
+
+ Store(LLessEqual(Buffer() {0x00}, m604(0, 2, 12, 0)), Local0)
+ m600(arg0, 90, Local0, Ones)
+
+ Store(LLessEqual(Buffer() {0x01}, m604(0, 2, 12, 0)), Local0)
+ m600(arg0, 91, Local0, Zero)
+
+ Store(LNotEqual(Buffer() {0x00}, m604(0, 2, 12, 0)), Local0)
+ m600(arg0, 92, Local0, Zero)
+
+ Store(LNotEqual(Buffer() {0x01}, m604(0, 2, 12, 0)), Local0)
+ m600(arg0, 93, Local0, Ones)
+
+ Store(LEqual(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x00,},
+ m604(0, 2, 14, 0)),
+ Local0)
+ m600(arg0, 94, Local0, Ones)
+
+ Store(LEqual(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x01,},
+ m604(0, 2, 14, 0)),
+ Local0)
+ m600(arg0, 95, Local0, Zero)
+
+ Store(LGreater(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x00,},
+ m604(0, 2, 14, 0)),
+ Local0)
+ m600(arg0, 96, Local0, Zero)
+
+ Store(LGreater(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x01,},
+ m604(0, 2, 14, 0)),
+ Local0)
+ m600(arg0, 97, Local0, Ones)
+
+ Store(LGreaterEqual(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x00,},
+ m604(0, 2, 14, 0)),
+ Local0)
+ m600(arg0, 98, Local0, Ones)
+
+ Store(LGreater(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x01,},
+ m604(0, 2, 14, 0)),
+ Local0)
+ m600(arg0, 99, Local0, Ones)
+
+ Store(LLess(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x00,},
+ m604(0, 2, 14, 0)),
+ Local0)
+ m600(arg0, 100, Local0, Zero)
+
+ Store(LLess(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x01,},
+ m604(0, 2, 14, 0)),
+ Local0)
+ m600(arg0, 101, Local0, Zero)
+
+ Store(LLessEqual(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x00,},
+ m604(0, 2, 14, 0)),
+ Local0)
+ m600(arg0, 102, Local0, Ones)
+
+ Store(LLessEqual(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x01,},
+ m604(0, 2, 14, 0)),
+ Local0)
+ m600(arg0, 103, Local0, Zero)
+
+ Store(LNotEqual(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x00,},
+ m604(0, 2, 14, 0)),
+ Local0)
+ m600(arg0, 104, Local0, Zero)
+
+ Store(LNotEqual(
+ Buffer(){
+ 0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,
+ 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,
+ 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,
+ 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,
+ 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,
+ 0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,
+ 0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,
+ 0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,
+ 0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,
+ 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,
+ 0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,
+ 0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x20,0x21,0x22,
+ 0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x01,},
+ m604(0, 2, 14, 0)),
+ Local0)
+ m600(arg0, 105, Local0, Ones)
+ }
+
+ // String to Buffer conversion of the String second operand of
+ // Concatenate operator when the first operand is evaluated as Buffer
+
+ Method(m036, 1)
+ {
+ Store(Concatenate(Buffer(){0x5a}, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 0, Local0, bb29)
+
+ Store(Concatenate(Buffer(){0x5a, 0x00}, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 1, Local0, bb2a)
+
+ Store(Concatenate(aub0, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 2, Local0, bb29)
+
+ Store(Concatenate(aub1, m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 3, Local0, bb2a)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aub0)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 4, Local0, bb29)
+
+ Store(Concatenate(Derefof(Refof(aub1)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 5, Local0, bb2a)
+ }
+
+ Store(Concatenate(Derefof(Index(paub, 0)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 6, Local0, bb29)
+
+ Store(Concatenate(Derefof(Index(paub, 1)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 7, Local0, bb2a)
+
+ // Method returns Buffer
+
+ Store(Concatenate(m601(3, 0), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 8, Local0, bb29)
+
+ Store(Concatenate(m601(3, 1), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 9, Local0, bb2a)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(3, 0, 1)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 10, Local0, bb29)
+
+ Store(Concatenate(Derefof(m602(3, 1, 1)), m604(0, 2, 1, 0)), Local0)
+ m600(arg0, 11, Local0, bb2a)
+ }
+
+ Concatenate(Buffer(){0x5a}, m604(0, 2, 1, 0), Local0)
+ m600(arg0, 12, Local0, bb29)
+
+ Concatenate(Buffer(){0x5a, 0x00}, m604(0, 2, 1, 0), Local0)
+ m600(arg0, 13, Local0, bb2a)
+
+ Concatenate(aub0, m604(0, 2, 1, 0), Local0)
+ m600(arg0, 14, Local0, bb29)
+
+ Concatenate(aub1, m604(0, 2, 1, 0), Local0)
+ m600(arg0, 15, Local0, bb2a)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aub0)), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 16, Local0, bb29)
+
+ Concatenate(Derefof(Refof(aub1)), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 17, Local0, bb2a)
+ }
+
+ Concatenate(Derefof(Index(paub, 0)), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 18, Local0, bb29)
+
+ Concatenate(Derefof(Index(paub, 1)), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 19, Local0, bb2a)
+
+ // Method returns Buffer
+
+ Concatenate(m601(3, 0), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 20, Local0, bb29)
+
+ Concatenate(m601(3, 1), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 21, Local0, bb2a)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Concatenate(Derefof(m602(3, 0, 1)), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 22, Local0, bb29)
+
+ Concatenate(Derefof(m602(3, 1, 1)), m604(0, 2, 1, 0), Local0)
+ m600(arg0, 23, Local0, bb2a)
+ }
+
+ // Boundary Cases
+
+ Store(Concatenate(Buffer(){0x5a}, m604(0, 2, 12, 0)), Local0)
+ m600(arg0, 24, Local0, bb2b)
+
+ Store(Concatenate(Buffer(){0x5a, 0x00}, m604(0, 2, 12, 0)), Local0)
+ m600(arg0, 25, Local0, bb2c)
+
+ Store(0, Local1)
+ Store(Concatenate(Buffer(Local1){}, m604(0, 2, 14, 0)), Local0)
+ m600(arg0, 26, Local0, bb2d)
+ }
+
+ // String to Buffer conversion of the String Source operand of
+ // ToString operator (has a visual effect in shortening of the
+ // String taken the null character, that is impossible to show
+ // with an immediate String constant).
+
+ Method(m037, 1)
+ {
+ Store(ToString(m604(0, 2, 1, 0), Ones), Local0)
+ m600(arg0, 0, Local0, bs20)
+
+ Store(ToString(m604(0, 2, 1, 0), 3), Local0)
+ m600(arg0, 1, Local0, bs21)
+
+ Store(ToString(m604(0, 2, 1, 0), aui0), Local0)
+ m600(arg0, 2, Local0, bs20)
+
+ Store(ToString(m604(0, 2, 1, 0), aui7), Local0)
+ m600(arg0, 3, Local0, bs21)
+
+ if (y078) {
+ Store(ToString(m604(0, 2, 1, 0), Derefof(Refof(aui0))), Local0)
+ m600(arg0, 4, Local0, bs20)
+
+ Store(ToString(m604(0, 2, 1, 0), Derefof(Refof(aui7))), Local0)
+ m600(arg0, 5, Local0, bs21)
+ }
+
+ Store(ToString(m604(0, 2, 1, 0), Derefof(Index(paui, 0))), Local0)
+ m600(arg0, 6, Local0, bs20)
+
+ Store(ToString(m604(0, 2, 1, 0), Derefof(Index(paui, 7))), Local0)
+ m600(arg0, 7, Local0, bs21)
+
+ // Method returns Length parameter
+
+ Store(ToString(m604(0, 2, 1, 0), m601(1, 0)), Local0)
+ m600(arg0, 8, Local0, bs20)
+
+ Store(ToString(m604(0, 2, 1, 0), m601(1, 7)), Local0)
+ m600(arg0, 9, Local0, bs21)
+
+ // Method returns Reference to Length parameter
+
+ if (y500) {
+ Store(ToString(m604(0, 2, 1, 0), Derefof(m601(1, 0))), Local0)
+ m600(arg0, 10, Local0, bs20)
+
+ Store(ToString(m604(0, 2, 1, 0), Derefof(m601(1, 7))), Local0)
+ m600(arg0, 11, Local0, bs21)
+ }
+
+ ToString(m604(0, 2, 1, 0), Ones, Local0)
+ m600(arg0, 12, Local0, bs20)
+
+ ToString(m604(0, 2, 1, 0), 3, Local0)
+ m600(arg0, 13, Local0, bs21)
+
+ ToString(m604(0, 2, 1, 0), aui0, Local0)
+ m600(arg0, 14, Local0, bs20)
+
+ ToString(m604(0, 2, 1, 0), aui7, Local0)
+ m600(arg0, 15, Local0, bs21)
+
+ if (y078) {
+ ToString(m604(0, 2, 1, 0), Derefof(Refof(aui0)), Local0)
+ m600(arg0, 16, Local0, bs20)
+
+ ToString(m604(0, 2, 1, 0), Derefof(Refof(aui7)), Local0)
+ m600(arg0, 17, Local0, bs21)
+ }
+
+ ToString(m604(0, 2, 1, 0), Derefof(Index(paui, 0)), Local0)
+ m600(arg0, 18, Local0, bs20)
+
+ ToString(m604(0, 2, 1, 0), Derefof(Index(paui, 7)), Local0)
+ m600(arg0, 19, Local0, bs21)
+
+ // Method returns Length parameter
+
+ ToString(m604(0, 2, 1, 0), m601(1, 0), Local0)
+ m600(arg0, 20, Local0, bs20)
+
+ ToString(m604(0, 2, 1, 0), m601(1, 7), Local0)
+ m600(arg0, 21, Local0, bs21)
+
+ // Method returns Reference to Length parameter
+
+ if (y500) {
+ ToString(m604(0, 2, 1, 0), Derefof(m601(1, 0)), Local0)
+ m600(arg0, 22, Local0, bs20)
+
+ ToString(m604(0, 2, 1, 0), Derefof(m601(1, 7)), Local0)
+ m600(arg0, 23, Local0, bs21)
+ }
+
+ // Boundary Cases
+
+ Store(ToString(m604(0, 2, 12, 0), Ones), Local0)
+ m600(arg0, 24, Local0, bs22)
+
+ Store(ToString(m604(0, 2, 12, 0), 3), Local0)
+ m600(arg0, 25, Local0, bs22)
+
+ Store(ToString(
+ m604(0, 2, 14, 0),
+ Ones), Local0)
+ m600(arg0, 26, Local0, bs23)
+
+ Store(ToString(
+ m604(0, 2, 14, 0),
+ 3), Local0)
+ m600(arg0, 27, Local0, bs24)
+ }
+
+// Method(m038, 1)
+
+// Method(m039, 1)
+
+ // Buffer to Integer implicit conversion Cases.
+
+ // Buffer to Integer conversion of the Buffer sole operand
+ // of the 1-parameter Integer arithmetic operators
+ // (Decrement, Increment, FindSetLeftBit, FindSetRightBit, Not)
+
+ Method(m64l, 1)
+ {
+ // Decrement
+ if (y501) {
+ Store(Decrement(m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 0, Local0, bi12)
+
+ Store(Decrement(m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 1, Local0, bi16)
+ }
+
+ // Increment
+ if (y501) {
+ Store(Increment(m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 2, Local0, bi13)
+
+ Store(Increment(m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 3, Local0, bi17)
+ }
+
+ // FindSetLeftBit
+
+ Store(FindSetLeftBit(m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 4, Local0, 10)
+
+ Store(FindSetLeftBit(m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 5, Local0, 64)
+
+ // FindSetRightBit
+
+ Store(FindSetRightBit(m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 6, Local0, 1)
+
+ Store(FindSetRightBit(m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 7, Local0, 3)
+
+ // Not
+
+ Store(Not(m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 8, Local0, 0xfffffffffffffcde)
+
+ Store(Not(m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 9, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Method(m32l, 1)
+ {
+ // Decrement
+ if (y501) {
+ Store(Decrement(m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 0, Local0, bi12)
+
+ Store(Decrement(m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 1, Local0, bi18)
+ }
+
+ // Increment
+ if (y501) {
+ Store(Increment(m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 2, Local0, bi13)
+
+ Store(Increment(m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 3, Local0, bi19)
+ }
+
+ // FindSetLeftBit
+
+ Store(FindSetLeftBit(m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 4, Local0, 10)
+
+ Store(FindSetLeftBit(m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 5, Local0, 32)
+
+ // FindSetRightBit
+
+ Store(FindSetRightBit(m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 6, Local0, 1)
+
+ Store(FindSetRightBit(m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 7, Local0, 3)
+
+ // Not
+
+ Store(Not(m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 8, Local0, 0xfffffcde)
+
+ Store(Not(m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 9, Local0, 0x29af5d7b)
+ }
+
+ // Buffer to Integer conversion of the Buffer sole operand
+ // of the LNot Logical Integer operator
+ Method(m03a, 1)
+ {
+ Store(LNot(m604(0, 3, 0, 0)), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LNot(m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ if (F64) {
+ Store(LNot(m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 2, Local0, Zero)
+ } else {
+ Store(LNot(m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 3, Local0, Zero)
+ }
+ }
+
+ // Buffer to Integer conversion of the Buffer sole operand
+ // of the FromBCD and ToBCD conversion operators
+
+ Method(m64m, 1)
+ {
+ // FromBCD
+
+ Store(FromBCD(m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 2, Local0, 0x141)
+
+ Store(FromBCD(m604(0, 3, 15, 0)), Local0)
+ m600(arg0, 3, Local0, 0xd76162ee9ec35)
+
+ FromBCD(m604(0, 3, 6, 0), Local0)
+ m600(arg0, 2, Local0, 0x141)
+
+ FromBCD(m604(0, 3, 15, 0), Local0)
+ m600(arg0, 3, Local0, 0xd76162ee9ec35)
+
+ // ToBCD
+
+ Store(ToBCD(m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 4, Local0, 0x801)
+
+// ??? No error of iASL on constant folding
+ Store(ToBCD(m604(0, 3, 16, 0)), Local0)
+ m600(arg0, 5, Local0, 0x3789012345678901)
+
+ ToBCD(m604(0, 3, 6, 0), Local0)
+ m600(arg0, 4, Local0, 0x801)
+
+ ToBCD(m604(0, 3, 16, 0), Local0)
+ m600(arg0, 5, Local0, 0x3789012345678901)
+ }
+
+ Method(m32m, 1)
+ {
+ // FromBCD
+
+ Store(FromBCD(m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 2, Local0, 0x141)
+
+ Store(FromBCD(m604(0, 3, 17, 0)), Local0)
+ m600(arg0, 3, Local0, 0x55f2cc0)
+
+ FromBCD(m604(0, 3, 6, 0), Local0)
+ m600(arg0, 2, Local0, 0x141)
+
+ FromBCD(m604(0, 3, 17, 0), Local0)
+ m600(arg0, 3, Local0, 0x55f2cc0)
+
+ // ToBCD
+
+ Store(ToBCD(m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 4, Local0, 0x801)
+
+ Store(ToBCD(m604(0, 3, 18, 0)), Local0)
+ m600(arg0, 5, Local0, 0x90123456)
+
+ ToBCD(m604(0, 3, 6, 0), Local0)
+ m600(arg0, 4, Local0, 0x801)
+
+ ToBCD(m604(0, 3, 18, 0), Local0)
+ m600(arg0, 5, Local0, 0x90123456)
+ }
+
+ // Buffer to Integer conversion of each Buffer operand
+ // of the 2-parameter Integer arithmetic operators
+ // Add, And, Divide, Mod, Multiply, NAnd, NOr, Or,
+ // ShiftLeft, ShiftRight, Subtract, Xor
+
+ // Add, common 32-bit/64-bit test
+ Method(m03b, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Add(m604(0, 3, 6, 0), 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Add(m604(0, 3, 6, 0), 1), Local0)
+ m600(arg0, 1, Local0, 0x322)
+
+ Store(Add(m604(0, 3, 6, 0), aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Add(m604(0, 3, 6, 0), aui6), Local0)
+ m600(arg0, 3, Local0, 0x322)
+
+ if (y078) {
+ Store(Add(m604(0, 3, 6, 0), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Add(m604(0, 3, 6, 0), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x322)
+ }
+
+ Store(Add(m604(0, 3, 6, 0), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Add(m604(0, 3, 6, 0), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x322)
+
+ // Method returns Integer
+
+ Store(Add(m604(0, 3, 6, 0), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Add(m604(0, 3, 6, 0), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x322)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(m604(0, 3, 6, 0), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Add(m604(0, 3, 6, 0), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x322)
+ }
+
+ Add(m604(0, 3, 6, 0), 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Add(m604(0, 3, 6, 0), 1, Local0)
+ m600(arg0, 13, Local0, 0x322)
+
+ Add(m604(0, 3, 6, 0), aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Add(m604(0, 3, 6, 0), aui6, Local0)
+ m600(arg0, 15, Local0, 0x322)
+
+ if (y078) {
+ Add(m604(0, 3, 6, 0), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Add(m604(0, 3, 6, 0), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x322)
+ }
+
+ Add(m604(0, 3, 6, 0), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Add(m604(0, 3, 6, 0), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x322)
+
+ // Method returns Integer
+
+ Add(m604(0, 3, 6, 0), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Add(m604(0, 3, 6, 0), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x322)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(m604(0, 3, 6, 0), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Add(m604(0, 3, 6, 0), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x322)
+ }
+
+ // Conversion of the second operand
+
+ Store(Add(0, m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 24, Local0, 0x321)
+
+ Store(Add(1, m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 25, Local0, 0x322)
+
+ Store(Add(aui5, m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 26, Local0, 0x321)
+
+ Store(Add(aui6, m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 27, Local0, 0x322)
+
+ if (y078) {
+ Store(Add(Derefof(Refof(aui5)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 28, Local0, 0x321)
+
+ Store(Add(Derefof(Refof(aui6)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 29, Local0, 0x322)
+ }
+
+ Store(Add(Derefof(Index(paui, 5)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 30, Local0, 0x321)
+
+ Store(Add(Derefof(Index(paui, 6)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 31, Local0, 0x322)
+
+ // Method returns Integer
+
+ Store(Add(m601(1, 5), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 32, Local0, 0x321)
+
+ Store(Add(m601(1, 6), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 33, Local0, 0x322)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(Derefof(m602(1, 5, 1)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 34, Local0, 0x321)
+
+ Store(Add(Derefof(m602(1, 6, 1)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 35, Local0, 0x322)
+ }
+
+ Add(0, m604(0, 3, 6, 0), Local0)
+ m600(arg0, 36, Local0, 0x321)
+
+ Add(1, m604(0, 3, 6, 0), Local0)
+ m600(arg0, 37, Local0, 0x322)
+
+ Add(aui5, m604(0, 3, 6, 0), Local0)
+ m600(arg0, 38, Local0, 0x321)
+
+ Add(aui6, m604(0, 3, 6, 0), Local0)
+ m600(arg0, 39, Local0, 0x322)
+
+ if (y078) {
+ Add(Derefof(Refof(aui5)), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 40, Local0, 0x321)
+
+ Add(Derefof(Refof(aui6)), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 41, Local0, 0x322)
+ }
+
+ Add(Derefof(Index(paui, 5)), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 42, Local0, 0x321)
+
+ Add(Derefof(Index(paui, 6)), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 43, Local0, 0x322)
+
+ // Method returns Integer
+
+ Add(m601(1, 5), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 44, Local0, 0x321)
+
+ Add(m601(1, 6), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 45, Local0, 0x322)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(Derefof(m602(1, 5, 1)), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 46, Local0, 0x321)
+
+ Add(Derefof(m602(1, 6, 1)), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 47, Local0, 0x322)
+ }
+ }
+
+ // Add, 64-bit
+ Method(m03c, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Add(m604(0, 3, 10, 0), 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(m604(0, 3, 10, 0), 1), Local0)
+ m600(arg0, 1, Local0, 0xfe7cb391d650a285)
+
+ Store(Add(m604(0, 3, 10, 0), aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(m604(0, 3, 10, 0), aui6), Local0)
+ m600(arg0, 3, Local0, 0xfe7cb391d650a285)
+
+ if (y078) {
+ Store(Add(m604(0, 3, 10, 0), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(m604(0, 3, 10, 0), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xfe7cb391d650a285)
+ }
+
+ Store(Add(m604(0, 3, 10, 0), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(m604(0, 3, 10, 0), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Integer
+
+ Store(Add(m604(0, 3, 10, 0), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(m604(0, 3, 10, 0), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(m604(0, 3, 10, 0), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(m604(0, 3, 10, 0), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfe7cb391d650a285)
+ }
+
+ Add(m604(0, 3, 10, 0), 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Add(m604(0, 3, 10, 0), 1, Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a285)
+
+ Add(m604(0, 3, 10, 0), aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Add(m604(0, 3, 10, 0), aui6, Local0)
+ m600(arg0, 15, Local0, 0xfe7cb391d650a285)
+
+ if (y078) {
+ Add(m604(0, 3, 10, 0), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Add(m604(0, 3, 10, 0), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xfe7cb391d650a285)
+ }
+
+ Add(m604(0, 3, 10, 0), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Add(m604(0, 3, 10, 0), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Integer
+
+ Add(m604(0, 3, 10, 0), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Add(m604(0, 3, 10, 0), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(m604(0, 3, 10, 0), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Add(m604(0, 3, 10, 0), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfe7cb391d650a285)
+ }
+
+ // Conversion of the second operand
+
+ Store(Add(0, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 24, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(1, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 25, Local0, 0xfe7cb391d650a285)
+
+ Store(Add(aui5, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 26, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(aui6, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 27, Local0, 0xfe7cb391d650a285)
+
+ if (y078) {
+ Store(Add(Derefof(Refof(aui5)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 28, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(Refof(aui6)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 29, Local0, 0xfe7cb391d650a285)
+ }
+
+ Store(Add(Derefof(Index(paui, 5)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 30, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(Index(paui, 6)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 31, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Integer
+
+ Store(Add(m601(1, 5), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 32, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(m601(1, 6), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 33, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(Derefof(m602(1, 5, 1)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 34, Local0, 0xfe7cb391d650a284)
+
+ Store(Add(Derefof(m602(1, 6, 1)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 35, Local0, 0xfe7cb391d650a285)
+ }
+
+ Add(0, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 36, Local0, 0xfe7cb391d650a284)
+
+ Add(1, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 37, Local0, 0xfe7cb391d650a285)
+
+ Add(aui5, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 38, Local0, 0xfe7cb391d650a284)
+
+ Add(aui6, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 39, Local0, 0xfe7cb391d650a285)
+
+ if (y078) {
+ Add(Derefof(Refof(aui5)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 40, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(Refof(aui6)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 41, Local0, 0xfe7cb391d650a285)
+ }
+
+ Add(Derefof(Index(paui, 5)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 42, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(Index(paui, 6)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 43, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Integer
+
+ Add(m601(1, 5), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 44, Local0, 0xfe7cb391d650a284)
+
+ Add(m601(1, 6), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 45, Local0, 0xfe7cb391d650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(Derefof(m602(1, 5, 1)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 46, Local0, 0xfe7cb391d650a284)
+
+ Add(Derefof(m602(1, 6, 1)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 47, Local0, 0xfe7cb391d650a285)
+ }
+
+ // Conversion of the both operands
+
+ Store(Add(m604(0, 3, 6, 0), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 48, Local0, 0xfe7cb391d650a5a5)
+
+ Store(Add(m604(0, 3, 10, 0), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 49, Local0, 0xfe7cb391d650a5a5)
+
+ Add(m604(0, 3, 6, 0), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 50, Local0, 0xfe7cb391d650a5a5)
+
+ Add(m604(0, 3, 10, 0), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 51, Local0, 0xfe7cb391d650a5a5)
+ }
+
+ // Add, 32-bit
+ Method(m03d, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Add(m604(0, 3, 10, 0), 0), Local0)
+ m600(arg0, 0, Local0, 0xd650a284)
+
+ Store(Add(m604(0, 3, 10, 0), 1), Local0)
+ m600(arg0, 1, Local0, 0xd650a285)
+
+ Store(Add(m604(0, 3, 10, 0), aui5), Local0)
+ m600(arg0, 2, Local0, 0xd650a284)
+
+ Store(Add(m604(0, 3, 10, 0), aui6), Local0)
+ m600(arg0, 3, Local0, 0xd650a285)
+
+ if (y078) {
+ Store(Add(m604(0, 3, 10, 0), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xd650a284)
+
+ Store(Add(m604(0, 3, 10, 0), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xd650a285)
+ }
+
+ Store(Add(m604(0, 3, 10, 0), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xd650a284)
+
+ Store(Add(m604(0, 3, 10, 0), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xd650a285)
+
+ // Method returns Integer
+
+ Store(Add(m604(0, 3, 10, 0), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xd650a284)
+
+ Store(Add(m604(0, 3, 10, 0), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xd650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(m604(0, 3, 10, 0), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xd650a284)
+
+ Store(Add(m604(0, 3, 10, 0), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xd650a285)
+ }
+
+ Add(m604(0, 3, 10, 0), 0, Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ Add(m604(0, 3, 10, 0), 1, Local0)
+ m600(arg0, 13, Local0, 0xd650a285)
+
+ Add(m604(0, 3, 10, 0), aui5, Local0)
+ m600(arg0, 14, Local0, 0xd650a284)
+
+ Add(m604(0, 3, 10, 0), aui6, Local0)
+ m600(arg0, 15, Local0, 0xd650a285)
+
+ if (y078) {
+ Add(m604(0, 3, 10, 0), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xd650a284)
+
+ Add(m604(0, 3, 10, 0), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xd650a285)
+ }
+
+ Add(m604(0, 3, 10, 0), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xd650a284)
+
+ Add(m604(0, 3, 10, 0), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xd650a285)
+
+ // Method returns Integer
+
+ Add(m604(0, 3, 10, 0), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xd650a284)
+
+ Add(m604(0, 3, 10, 0), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xd650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(m604(0, 3, 10, 0), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xd650a284)
+
+ Add(m604(0, 3, 10, 0), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xd650a285)
+ }
+
+ // Conversion of the second operand
+
+ Store(Add(0, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 24, Local0, 0xd650a284)
+
+ Store(Add(1, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 25, Local0, 0xd650a285)
+
+ Store(Add(aui5, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 26, Local0, 0xd650a284)
+
+ Store(Add(aui6, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 27, Local0, 0xd650a285)
+
+ if (y078) {
+ Store(Add(Derefof(Refof(aui5)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 28, Local0, 0xd650a284)
+
+ Store(Add(Derefof(Refof(aui6)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 29, Local0, 0xd650a285)
+ }
+
+ Store(Add(Derefof(Index(paui, 5)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 30, Local0, 0xd650a284)
+
+ Store(Add(Derefof(Index(paui, 6)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 31, Local0, 0xd650a285)
+
+ // Method returns Integer
+
+ Store(Add(m601(1, 5), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 32, Local0, 0xd650a284)
+
+ Store(Add(m601(1, 6), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 33, Local0, 0xd650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Add(Derefof(m602(1, 5, 1)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 34, Local0, 0xd650a284)
+
+ Store(Add(Derefof(m602(1, 6, 1)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 35, Local0, 0xd650a285)
+ }
+
+ Add(0, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 36, Local0, 0xd650a284)
+
+ Add(1, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 37, Local0, 0xd650a285)
+
+ Add(aui5, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 38, Local0, 0xd650a284)
+
+ Add(aui6, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 39, Local0, 0xd650a285)
+
+ if (y078) {
+ Add(Derefof(Refof(aui5)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 40, Local0, 0xd650a284)
+
+ Add(Derefof(Refof(aui6)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 41, Local0, 0xd650a285)
+ }
+
+ Add(Derefof(Index(paui, 5)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 42, Local0, 0xd650a284)
+
+ Add(Derefof(Index(paui, 6)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 43, Local0, 0xd650a285)
+
+ // Method returns Integer
+
+ Add(m601(1, 5), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 44, Local0, 0xd650a284)
+
+ Add(m601(1, 6), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 45, Local0, 0xd650a285)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Add(Derefof(m602(1, 5, 1)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 46, Local0, 0xd650a284)
+
+ Add(Derefof(m602(1, 6, 1)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 47, Local0, 0xd650a285)
+ }
+
+ // Conversion of the both operands
+
+ Store(Add(m604(0, 3, 6, 0), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 48, Local0, 0xd650a5a5)
+
+ Store(Add(m604(0, 3, 10, 0), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 49, Local0, 0xd650a5a5)
+
+ Add(m604(0, 3, 6, 0), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 50, Local0, 0xd650a5a5)
+
+ Add(m604(0, 3, 10, 0), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 51, Local0, 0xd650a5a5)
+ }
+
+ // And, common 32-bit/64-bit test
+ Method(m03e, 1)
+ {
+ // Conversion of the first operand
+
+ Store(And(m604(0, 3, 6, 0), 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(And(m604(0, 3, 6, 0), 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0x321)
+
+ Store(And(m604(0, 3, 6, 0), aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(And(m604(0, 3, 6, 0), auij), Local0)
+ m600(arg0, 3, Local0, 0x321)
+
+ if (y078) {
+ Store(And(m604(0, 3, 6, 0), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(And(m604(0, 3, 6, 0), Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0x321)
+ }
+
+ Store(And(m604(0, 3, 6, 0), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(And(m604(0, 3, 6, 0), Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0x321)
+
+ // Method returns Integer
+
+ Store(And(m604(0, 3, 6, 0), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(And(m604(0, 3, 6, 0), m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(m604(0, 3, 6, 0), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(And(m604(0, 3, 6, 0), Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0x321)
+ }
+
+ And(m604(0, 3, 6, 0), 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ And(m604(0, 3, 6, 0), 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0x321)
+
+ And(m604(0, 3, 6, 0), aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ And(m604(0, 3, 6, 0), auij, Local0)
+ m600(arg0, 15, Local0, 0x321)
+
+ if (y078) {
+ And(m604(0, 3, 6, 0), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ And(m604(0, 3, 6, 0), Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0x321)
+ }
+
+ And(m604(0, 3, 6, 0), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ And(m604(0, 3, 6, 0), Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0x321)
+
+ // Method returns Integer
+
+ And(m604(0, 3, 6, 0), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ And(m604(0, 3, 6, 0), m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(m604(0, 3, 6, 0), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ And(m604(0, 3, 6, 0), Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0x321)
+ }
+
+ // Conversion of the second operand
+
+ Store(And(0, m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(And(0xffffffffffffffff, m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 25, Local0, 0x321)
+
+ Store(And(aui5, m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(And(auij, m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 27, Local0, 0x321)
+
+ if (y078) {
+ Store(And(Derefof(Refof(aui5)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(And(Derefof(Refof(auij)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 29, Local0, 0x321)
+ }
+
+ Store(And(Derefof(Index(paui, 5)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(And(Derefof(Index(paui, 19)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 31, Local0, 0x321)
+
+ // Method returns Integer
+
+ Store(And(m601(1, 5), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(And(m601(1, 19), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 33, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(Derefof(m602(1, 5, 1)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(And(Derefof(m602(1, 19, 1)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 35, Local0, 0x321)
+ }
+
+ And(0, m604(0, 3, 6, 0), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ And(0xffffffffffffffff, m604(0, 3, 6, 0), Local0)
+ m600(arg0, 37, Local0, 0x321)
+
+ And(aui5, m604(0, 3, 6, 0), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ And(auij, m604(0, 3, 6, 0), Local0)
+ m600(arg0, 39, Local0, 0x321)
+
+ if (y078) {
+ And(Derefof(Refof(aui5)), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ And(Derefof(Refof(auij)), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 41, Local0, 0x321)
+ }
+
+ And(Derefof(Index(paui, 5)), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ And(Derefof(Index(paui, 19)), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 43, Local0, 0x321)
+
+ // Method returns Integer
+
+ And(m601(1, 5), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ And(m601(1, 19), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 45, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(Derefof(m602(1, 5, 1)), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ And(Derefof(m602(1, 19, 1)), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 47, Local0, 0x321)
+ }
+ }
+
+ // And, 64-bit
+ Method(m03f, 1)
+ {
+ // Conversion of the first operand
+
+ Store(And(m604(0, 3, 10, 0), 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(And(m604(0, 3, 10, 0), 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xfe7cb391d650a284)
+
+ Store(And(m604(0, 3, 10, 0), aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(And(m604(0, 3, 10, 0), auij), Local0)
+ m600(arg0, 3, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Store(And(m604(0, 3, 10, 0), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(And(m604(0, 3, 10, 0), Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xfe7cb391d650a284)
+ }
+
+ Store(And(m604(0, 3, 10, 0), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(And(m604(0, 3, 10, 0), Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Store(And(m604(0, 3, 10, 0), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(And(m604(0, 3, 10, 0), m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(m604(0, 3, 10, 0), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(And(m604(0, 3, 10, 0), Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfe7cb391d650a284)
+ }
+
+ And(m604(0, 3, 10, 0), 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ And(m604(0, 3, 10, 0), 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a284)
+
+ And(m604(0, 3, 10, 0), aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ And(m604(0, 3, 10, 0), auij, Local0)
+ m600(arg0, 15, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ And(m604(0, 3, 10, 0), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ And(m604(0, 3, 10, 0), Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xfe7cb391d650a284)
+ }
+
+ And(m604(0, 3, 10, 0), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ And(m604(0, 3, 10, 0), Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ And(m604(0, 3, 10, 0), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ And(m604(0, 3, 10, 0), m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(m604(0, 3, 10, 0), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ And(m604(0, 3, 10, 0), Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfe7cb391d650a284)
+ }
+
+ // Conversion of the second operand
+
+ Store(And(0, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(And(0xffffffffffffffff, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 25, Local0, 0xfe7cb391d650a284)
+
+ Store(And(aui5, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(And(auij, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 27, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Store(And(Derefof(Refof(aui5)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(And(Derefof(Refof(auij)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 29, Local0, 0xfe7cb391d650a284)
+ }
+
+ Store(And(Derefof(Index(paui, 5)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(And(Derefof(Index(paui, 19)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 31, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Store(And(m601(1, 5), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(And(m601(1, 19), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 33, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(Derefof(m602(1, 5, 1)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(And(Derefof(m602(1, 19, 1)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 35, Local0, 0xfe7cb391d650a284)
+ }
+
+ And(0, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ And(0xffffffffffffffff, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 37, Local0, 0xfe7cb391d650a284)
+
+ And(aui5, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ And(auij, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 39, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ And(Derefof(Refof(aui5)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ And(Derefof(Refof(auij)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 41, Local0, 0xfe7cb391d650a284)
+ }
+
+ And(Derefof(Index(paui, 5)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ And(Derefof(Index(paui, 19)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 43, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ And(m601(1, 5), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ And(m601(1, 19), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 45, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(Derefof(m602(1, 5, 1)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ And(Derefof(m602(1, 19, 1)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 47, Local0, 0xfe7cb391d650a284)
+ }
+
+ // Conversion of the both operands
+
+ Store(And(m604(0, 3, 6, 0), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 48, Local0, 0x200)
+
+ Store(And(m604(0, 3, 10, 0), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 49, Local0, 0x200)
+
+ And(m604(0, 3, 6, 0), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 50, Local0, 0x200)
+
+ And(m604(0, 3, 10, 0), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 51, Local0, 0x200)
+ }
+
+ // And, 32-bit
+ Method(m040, 1)
+ {
+ // Conversion of the first operand
+
+ Store(And(m604(0, 3, 10, 0), 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(And(m604(0, 3, 10, 0), 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0xd650a284)
+
+ Store(And(m604(0, 3, 10, 0), aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(And(m604(0, 3, 10, 0), auii), Local0)
+ m600(arg0, 3, Local0, 0xd650a284)
+
+ if (y078) {
+ Store(And(m604(0, 3, 10, 0), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(And(m604(0, 3, 10, 0), Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0xd650a284)
+ }
+
+ Store(And(m604(0, 3, 10, 0), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(And(m604(0, 3, 10, 0), Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0xd650a284)
+
+ // Method returns Integer
+
+ Store(And(m604(0, 3, 10, 0), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(And(m604(0, 3, 10, 0), m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0xd650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(m604(0, 3, 10, 0), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(And(m604(0, 3, 10, 0), Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0xd650a284)
+ }
+
+ And(m604(0, 3, 10, 0), 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ And(m604(0, 3, 10, 0), 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0xd650a284)
+
+ And(m604(0, 3, 10, 0), aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ And(m604(0, 3, 10, 0), auii, Local0)
+ m600(arg0, 15, Local0, 0xd650a284)
+
+ if (y078) {
+ And(m604(0, 3, 10, 0), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ And(m604(0, 3, 10, 0), Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0xd650a284)
+ }
+
+ And(m604(0, 3, 10, 0), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ And(m604(0, 3, 10, 0), Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0xd650a284)
+
+ // Method returns Integer
+
+ And(m604(0, 3, 10, 0), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ And(m604(0, 3, 10, 0), m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0xd650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(m604(0, 3, 10, 0), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ And(m604(0, 3, 10, 0), Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0xd650a284)
+ }
+
+ // Conversion of the second operand
+
+ Store(And(0, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(And(0xffffffff, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 25, Local0, 0xd650a284)
+
+ Store(And(aui5, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(And(auii, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 27, Local0, 0xd650a284)
+
+ if (y078) {
+ Store(And(Derefof(Refof(aui5)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(And(Derefof(Refof(auii)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 29, Local0, 0xd650a284)
+ }
+
+ Store(And(Derefof(Index(paui, 5)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(And(Derefof(Index(paui, 18)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 31, Local0, 0xd650a284)
+
+ // Method returns Integer
+
+ Store(And(m601(1, 5), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(And(m601(1, 18), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 33, Local0, 0xd650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(And(Derefof(m602(1, 5, 1)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(And(Derefof(m602(1, 18, 1)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 35, Local0, 0xd650a284)
+ }
+
+ And(0, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ And(0xffffffff, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 37, Local0, 0xd650a284)
+
+ And(aui5, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ And(auii, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 39, Local0, 0xd650a284)
+
+ if (y078) {
+ And(Derefof(Refof(aui5)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ And(Derefof(Refof(auii)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 41, Local0, 0xd650a284)
+ }
+
+ And(Derefof(Index(paui, 5)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ And(Derefof(Index(paui, 18)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 43, Local0, 0xd650a284)
+
+ // Method returns Integer
+
+ And(m601(1, 5), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ And(m601(1, 18), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 45, Local0, 0xd650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ And(Derefof(m602(1, 5, 1)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ And(Derefof(m602(1, 18, 1)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 47, Local0, 0xd650a284)
+ }
+
+ // Conversion of the both operands
+
+ Store(And(m604(0, 3, 6, 0), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 48, Local0, 0x200)
+
+ Store(And(m604(0, 3, 10, 0), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 49, Local0, 0x200)
+
+ And(m604(0, 3, 6, 0), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 50, Local0, 0x200)
+
+ And(m604(0, 3, 10, 0), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 51, Local0, 0x200)
+ }
+
+ // Divide, common 32-bit/64-bit test
+ Method(m041, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Divide(m604(0, 3, 6, 0), 1), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Divide(m604(0, 3, 6, 0), 0x321), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Divide(m604(0, 3, 6, 0), aui6), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Divide(m604(0, 3, 6, 0), aui1), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Divide(m604(0, 3, 6, 0), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Divide(m604(0, 3, 6, 0), Derefof(Refof(aui1))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Divide(m604(0, 3, 6, 0), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Divide(m604(0, 3, 6, 0), Derefof(Index(paui, 1))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(m604(0, 3, 6, 0), m601(1, 6)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Divide(m604(0, 3, 6, 0), m601(1, 1)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(m604(0, 3, 6, 0), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Divide(m604(0, 3, 6, 0), Derefof(m602(1, 1, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Divide(m604(0, 3, 6, 0), 1, Local1, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Divide(m604(0, 3, 6, 0), 0x321, Local1, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Divide(m604(0, 3, 6, 0), aui6, Local1, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Divide(m604(0, 3, 6, 0), aui1, Local1, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Divide(m604(0, 3, 6, 0), Derefof(Refof(aui6)), Local1, Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Divide(m604(0, 3, 6, 0), Derefof(Refof(aui1)), Local1, Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Divide(m604(0, 3, 6, 0), Derefof(Index(paui, 6)), Local1, Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Divide(m604(0, 3, 6, 0), Derefof(Index(paui, 1)), Local1, Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(m604(0, 3, 6, 0), m601(1, 6), Local1, Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Divide(m604(0, 3, 6, 0), m601(1, 1), Local1, Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(m604(0, 3, 6, 0), Derefof(m602(1, 6, 1)), Local1, Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Divide(m604(0, 3, 6, 0), Derefof(m602(1, 1, 1)), Local1, Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Divide(1, m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Divide(0x321, m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 25, Local0, 1)
+
+ Store(Divide(aui6, m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Divide(aui1, m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 27, Local0, 1)
+
+ if (y078) {
+ Store(Divide(Derefof(Refof(aui6)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Divide(Derefof(Refof(aui1)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 29, Local0, 1)
+ }
+
+ Store(Divide(Derefof(Index(paui, 6)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Divide(Derefof(Index(paui, 1)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 31, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(m601(1, 6), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Divide(m601(1, 1), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 33, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(Derefof(m602(1, 6, 1)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Divide(Derefof(m602(1, 1, 1)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 35, Local0, 1)
+ }
+
+ Divide(1, m604(0, 3, 6, 0), Local1, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Divide(0x321, m604(0, 3, 6, 0), Local1, Local0)
+ m600(arg0, 37, Local0, 1)
+
+ Divide(aui6, m604(0, 3, 6, 0), Local1, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Divide(aui1, m604(0, 3, 6, 0), Local1, Local0)
+ m600(arg0, 39, Local0, 1)
+
+ if (y078) {
+ Divide(Derefof(Refof(aui6)), m604(0, 3, 6, 0), Local1, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Divide(Derefof(Refof(aui1)), m604(0, 3, 6, 0), Local1, Local0)
+ m600(arg0, 41, Local0, 1)
+ }
+
+ Divide(Derefof(Index(paui, 6)), m604(0, 3, 6, 0), Local1, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Divide(Derefof(Index(paui, 1)), m604(0, 3, 6, 0), Local1, Local0)
+ m600(arg0, 43, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(m601(1, 6), m604(0, 3, 6, 0), Local1, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Divide(m601(1, 1), m604(0, 3, 6, 0), Local1, Local0)
+ m600(arg0, 45, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(Derefof(m602(1, 6, 1)), m604(0, 3, 6, 0), Local1, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Divide(Derefof(m602(1, 1, 1)), m604(0, 3, 6, 0), Local1, Local0)
+ m600(arg0, 47, Local0, 1)
+ }
+ }
+
+ // Divide, 64-bit
+ Method(m042, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Divide(m604(0, 3, 10, 0), 1), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(m604(0, 3, 10, 0), 0xfe7cb391d650a284), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Divide(m604(0, 3, 10, 0), aui6), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(m604(0, 3, 10, 0), aui4), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Divide(m604(0, 3, 10, 0), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(m604(0, 3, 10, 0), Derefof(Refof(aui4))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Divide(m604(0, 3, 10, 0), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(m604(0, 3, 10, 0), Derefof(Index(paui, 4))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(m604(0, 3, 10, 0), m601(1, 6)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(m604(0, 3, 10, 0), m601(1, 4)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(m604(0, 3, 10, 0), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Divide(m604(0, 3, 10, 0), Derefof(m602(1, 4, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Divide(m604(0, 3, 10, 0), 1, Local1, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Divide(m604(0, 3, 10, 0), 0xfe7cb391d650a284, Local1, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Divide(m604(0, 3, 10, 0), aui6, Local1, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Divide(m604(0, 3, 10, 0), aui4, Local1, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Divide(m604(0, 3, 10, 0), Derefof(Refof(aui6)), Local1, Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Divide(m604(0, 3, 10, 0), Derefof(Refof(aui4)), Local1, Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Divide(m604(0, 3, 10, 0), Derefof(Index(paui, 6)), Local1, Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Divide(m604(0, 3, 10, 0), Derefof(Index(paui, 4)), Local1, Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(m604(0, 3, 10, 0), m601(1, 6), Local1, Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Divide(m604(0, 3, 10, 0), m601(1, 4), Local1, Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(m604(0, 3, 10, 0), Derefof(m602(1, 6, 1)), Local1, Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Divide(m604(0, 3, 10, 0), Derefof(m602(1, 4, 1)), Local1, Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Divide(1, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Divide(0xfe7cb391d650a284, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 25, Local0, 1)
+
+ Store(Divide(aui6, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Divide(aui4, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 27, Local0, 1)
+
+ if (y078) {
+ Store(Divide(Derefof(Refof(aui6)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Divide(Derefof(Refof(aui4)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 29, Local0, 1)
+ }
+
+ Store(Divide(Derefof(Index(paui, 6)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Divide(Derefof(Index(paui, 4)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 31, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(m601(1, 6), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Divide(m601(1, 4), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 33, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(Derefof(m602(1, 6, 1)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Divide(Derefof(m602(1, 4, 1)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 35, Local0, 1)
+ }
+
+ Divide(1, m604(0, 3, 10, 0), Local1, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Divide(0xfe7cb391d650a284, m604(0, 3, 10, 0), Local1, Local0)
+ m600(arg0, 37, Local0, 1)
+
+ Divide(aui6, m604(0, 3, 10, 0), Local1, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Divide(aui4, m604(0, 3, 10, 0), Local1, Local0)
+ m600(arg0, 39, Local0, 1)
+
+ if (y078) {
+ Divide(Derefof(Refof(aui6)), m604(0, 3, 10, 0), Local1, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Divide(Derefof(Refof(aui4)), m604(0, 3, 10, 0), Local1, Local0)
+ m600(arg0, 41, Local0, 1)
+ }
+
+ Divide(Derefof(Index(paui, 6)), m604(0, 3, 10, 0), Local1, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Divide(Derefof(Index(paui, 4)), m604(0, 3, 10, 0), Local1, Local0)
+ m600(arg0, 43, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(m601(1, 6), m604(0, 3, 10, 0), Local1, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Divide(m601(1, 4), m604(0, 3, 10, 0), Local1, Local0)
+ m600(arg0, 45, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(Derefof(m602(1, 6, 1)), m604(0, 3, 10, 0), Local1, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Divide(Derefof(m602(1, 4, 1)), m604(0, 3, 10, 0), Local1, Local0)
+ m600(arg0, 47, Local0, 1)
+ }
+
+ // Conversion of the both operands
+
+ Store(Divide(m604(0, 3, 6, 0), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 48, Local0, 0)
+
+ Store(Divide(m604(0, 3, 10, 0), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 49, Local0, 0x0051558eb950f5a7)
+
+ Divide(m604(0, 3, 6, 0), m604(0, 3, 10, 0), Local1, Local0)
+ m600(arg0, 50, Local0, 0)
+
+ Divide(m604(0, 3, 10, 0), m604(0, 3, 6, 0), Local1, Local0)
+ m600(arg0, 51, Local0, 0x0051558eb950f5a7)
+ }
+
+ // Divide, 32-bit
+ Method(m043, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Divide(m604(0, 3, 10, 0), 1), Local0)
+ m600(arg0, 0, Local0, 0xd650a284)
+
+ Store(Divide(m604(0, 3, 10, 0), 0xd650a284), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Divide(m604(0, 3, 10, 0), aui6), Local0)
+ m600(arg0, 2, Local0, 0xd650a284)
+
+ Store(Divide(m604(0, 3, 10, 0), auik), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Divide(m604(0, 3, 10, 0), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 4, Local0, 0xd650a284)
+
+ Store(Divide(m604(0, 3, 10, 0), Derefof(Refof(auik))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Divide(m604(0, 3, 10, 0), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 6, Local0, 0xd650a284)
+
+ Store(Divide(m604(0, 3, 10, 0), Derefof(Index(paui, 20))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(m604(0, 3, 10, 0), m601(1, 6)), Local0)
+ m600(arg0, 8, Local0, 0xd650a284)
+
+ Store(Divide(m604(0, 3, 10, 0), m601(1, 20)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(m604(0, 3, 10, 0), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 10, Local0, 0xd650a284)
+
+ Store(Divide(m604(0, 3, 10, 0), Derefof(m602(1, 20, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Divide(m604(0, 3, 10, 0), 1, Local1, Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ Divide(m604(0, 3, 10, 0), 0xd650a284, Local1, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Divide(m604(0, 3, 10, 0), aui6, Local1, Local0)
+ m600(arg0, 14, Local0, 0xd650a284)
+
+ Divide(m604(0, 3, 10, 0), auik, Local1, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Divide(m604(0, 3, 10, 0), Derefof(Refof(aui6)), Local1, Local0)
+ m600(arg0, 16, Local0, 0xd650a284)
+
+ Divide(m604(0, 3, 10, 0), Derefof(Refof(auik)), Local1, Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Divide(m604(0, 3, 10, 0), Derefof(Index(paui, 6)), Local1, Local0)
+ m600(arg0, 18, Local0, 0xd650a284)
+
+ Divide(m604(0, 3, 10, 0), Derefof(Index(paui, 20)), Local1, Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(m604(0, 3, 10, 0), m601(1, 6), Local1, Local0)
+ m600(arg0, 20, Local0, 0xd650a284)
+
+ Divide(m604(0, 3, 10, 0), m601(1, 20), Local1, Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(m604(0, 3, 10, 0), Derefof(m602(1, 6, 1)), Local1, Local0)
+ m600(arg0, 22, Local0, 0xd650a284)
+
+ Divide(m604(0, 3, 10, 0), Derefof(m602(1, 20, 1)), Local1, Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Divide(1, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Divide(0xd650a284, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 25, Local0, 1)
+
+ Store(Divide(aui6, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Divide(auik, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 27, Local0, 1)
+
+ if (y078) {
+ Store(Divide(Derefof(Refof(aui6)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Divide(Derefof(Refof(auik)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 29, Local0, 1)
+ }
+
+ Store(Divide(Derefof(Index(paui, 6)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Divide(Derefof(Index(paui, 20)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 31, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Divide(m601(1, 6), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Divide(m601(1, 20), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 33, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Divide(Derefof(m602(1, 6, 1)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Divide(Derefof(m602(1, 20, 1)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 35, Local0, 1)
+ }
+
+ Divide(1, m604(0, 3, 10, 0), Local1, Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Divide(0xd650a284, m604(0, 3, 10, 0), Local1, Local0)
+ m600(arg0, 37, Local0, 1)
+
+ Divide(aui6, m604(0, 3, 10, 0), Local1, Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Divide(auik, m604(0, 3, 10, 0), Local1, Local0)
+ m600(arg0, 39, Local0, 1)
+
+ if (y078) {
+ Divide(Derefof(Refof(aui6)), m604(0, 3, 10, 0), Local1, Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Divide(Derefof(Refof(auik)), m604(0, 3, 10, 0), Local1, Local0)
+ m600(arg0, 41, Local0, 1)
+ }
+
+ Divide(Derefof(Index(paui, 6)), m604(0, 3, 10, 0), Local1, Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Divide(Derefof(Index(paui, 20)), m604(0, 3, 10, 0), Local1, Local0)
+ m600(arg0, 43, Local0, 1)
+
+ // Method returns Integer
+
+ Divide(m601(1, 6), m604(0, 3, 10, 0), Local1, Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Divide(m601(1, 20), m604(0, 3, 10, 0), Local1, Local0)
+ m600(arg0, 45, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Divide(Derefof(m602(1, 6, 1)), m604(0, 3, 10, 0), Local1, Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Divide(Derefof(m602(1, 20, 1)), m604(0, 3, 10, 0), Local1, Local0)
+ m600(arg0, 47, Local0, 1)
+ }
+
+ // Conversion of the both operands
+
+ Store(Divide(m604(0, 3, 6, 0), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 48, Local0, 0)
+
+ Store(Divide(m604(0, 3, 10, 0), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 49, Local0, 0x00447ec3)
+
+ Divide(m604(0, 3, 6, 0), m604(0, 3, 10, 0), Local1, Local0)
+ m600(arg0, 50, Local0, 0)
+
+ Divide(m604(0, 3, 10, 0), m604(0, 3, 6, 0), Local1, Local0)
+ m600(arg0, 51, Local0, 0x00447ec3)
+ }
+
+ // Mod, common 32-bit/64-bit test
+ Method(m044, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Mod(m604(0, 3, 6, 0), 0x322), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Mod(m604(0, 3, 6, 0), 0x320), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Mod(m604(0, 3, 6, 0), auig), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Mod(m604(0, 3, 6, 0), auih), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Mod(m604(0, 3, 6, 0), Derefof(Refof(auig))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Mod(m604(0, 3, 6, 0), Derefof(Refof(auih))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Mod(m604(0, 3, 6, 0), Derefof(Index(paui, 16))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Mod(m604(0, 3, 6, 0), Derefof(Index(paui, 17))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Mod(m604(0, 3, 6, 0), m601(1, 16)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Mod(m604(0, 3, 6, 0), m601(1, 17)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(m604(0, 3, 6, 0), Derefof(m602(1, 16, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Mod(m604(0, 3, 6, 0), Derefof(m602(1, 17, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Mod(m604(0, 3, 6, 0), 0x322, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Mod(m604(0, 3, 6, 0), 0x320, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Mod(m604(0, 3, 6, 0), auig, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Mod(m604(0, 3, 6, 0), auih, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Mod(m604(0, 3, 6, 0), Derefof(Refof(auig)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Mod(m604(0, 3, 6, 0), Derefof(Refof(auih)), Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Mod(m604(0, 3, 6, 0), Derefof(Index(paui, 16)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Mod(m604(0, 3, 6, 0), Derefof(Index(paui, 17)), Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Mod(m604(0, 3, 6, 0), m601(1, 16), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Mod(m604(0, 3, 6, 0), m601(1, 17), Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(m604(0, 3, 6, 0), Derefof(m602(1, 16, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Mod(m604(0, 3, 6, 0), Derefof(m602(1, 17, 1)), Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Mod(0x322, m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 24, Local0, 1)
+
+ Store(Mod(0x320, m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 25, Local0, 0x320)
+
+ Store(Mod(auig, m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 26, Local0, 1)
+
+ Store(Mod(auih, m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 27, Local0, 0x320)
+
+ if (y078) {
+ Store(Mod(Derefof(Refof(auig)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 28, Local0, 1)
+
+ Store(Mod(Derefof(Refof(auih)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 29, Local0, 0x320)
+ }
+
+ Store(Mod(Derefof(Index(paui, 16)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 30, Local0, 1)
+
+ Store(Mod(Derefof(Index(paui, 17)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 31, Local0, 0x320)
+
+ // Method returns Integer
+
+ Store(Mod(m601(1, 16), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 32, Local0, 1)
+
+ Store(Mod(m601(1, 17), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 33, Local0, 0x320)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(Derefof(m602(1, 16, 1)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 34, Local0, 1)
+
+ Store(Mod(Derefof(m602(1, 17, 1)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 35, Local0, 0x320)
+ }
+
+ Mod(0x322, m604(0, 3, 6, 0), Local0)
+ m600(arg0, 36, Local0, 1)
+
+ Mod(0x320, m604(0, 3, 6, 0), Local0)
+ m600(arg0, 37, Local0, 0x320)
+
+ Mod(auig, m604(0, 3, 6, 0), Local0)
+ m600(arg0, 38, Local0, 1)
+
+ Mod(auih, m604(0, 3, 6, 0), Local0)
+ m600(arg0, 39, Local0, 0x320)
+
+ if (y078) {
+ Mod(Derefof(Refof(auig)), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 40, Local0, 1)
+
+ Mod(Derefof(Refof(auih)), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 41, Local0, 0x320)
+ }
+
+ Mod(Derefof(Index(paui, 16)), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 42, Local0, 1)
+
+ Mod(Derefof(Index(paui, 17)), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 43, Local0, 0x320)
+
+ // Method returns Integer
+
+ Mod(m601(1, 16), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 44, Local0, 1)
+
+ Mod(m601(1, 17), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 45, Local0, 0x320)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(Derefof(m602(1, 16, 1)), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 46, Local0, 1)
+
+ Mod(Derefof(m602(1, 17, 1)), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 47, Local0, 0x320)
+ }
+ }
+
+ // Mod, 64-bit
+ Method(m045, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Mod(m604(0, 3, 10, 0), 0xfe7cb391d650a285), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(m604(0, 3, 10, 0), 0xfe7cb391d650a283), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Mod(m604(0, 3, 10, 0), auid), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(m604(0, 3, 10, 0), auif), Local0)
+ m600(arg0, 3, Local0, 1)
+
+ if (y078) {
+ Store(Mod(m604(0, 3, 10, 0), Derefof(Refof(auid))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(m604(0, 3, 10, 0), Derefof(Refof(auif))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Mod(m604(0, 3, 10, 0), Derefof(Index(paui, 13))), Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(m604(0, 3, 10, 0), Derefof(Index(paui, 15))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Mod(m604(0, 3, 10, 0), m601(1, 13)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(m604(0, 3, 10, 0), m601(1, 15)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(m604(0, 3, 10, 0), Derefof(m602(1, 13, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Mod(m604(0, 3, 10, 0), Derefof(m602(1, 15, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Mod(m604(0, 3, 10, 0), 0xfe7cb391d650a285, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Mod(m604(0, 3, 10, 0), 0xfe7cb391d650a283, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Mod(m604(0, 3, 10, 0), auid, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Mod(m604(0, 3, 10, 0), auif, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Mod(m604(0, 3, 10, 0), Derefof(Refof(auid)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Mod(m604(0, 3, 10, 0), Derefof(Refof(auif)), Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Mod(m604(0, 3, 10, 0), Derefof(Index(paui, 13)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Mod(m604(0, 3, 10, 0), Derefof(Index(paui, 15)), Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Mod(m604(0, 3, 10, 0), m601(1, 13), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Mod(m604(0, 3, 10, 0), m601(1, 15), Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(m604(0, 3, 10, 0), Derefof(m602(1, 13, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Mod(m604(0, 3, 10, 0), Derefof(m602(1, 15, 1)), Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Mod(0xfe7cb391d650a285, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 24, Local0, 1)
+
+ Store(Mod(0xfe7cb391d650a283, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 25, Local0, 0xfe7cb391d650a283)
+
+ Store(Mod(auid, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 26, Local0, 1)
+
+ Store(Mod(auif, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 27, Local0, 0xfe7cb391d650a283)
+
+ if (y078) {
+ Store(Mod(Derefof(Refof(auid)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 28, Local0, 1)
+
+ Store(Mod(Derefof(Refof(auif)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 29, Local0, 0xfe7cb391d650a283)
+ }
+
+ Store(Mod(Derefof(Index(paui, 13)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 30, Local0, 1)
+
+ Store(Mod(Derefof(Index(paui, 15)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 31, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Integer
+
+ Store(Mod(m601(1, 13), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 32, Local0, 1)
+
+ Store(Mod(m601(1, 15), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 33, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(Derefof(m602(1, 13, 1)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 34, Local0, 1)
+
+ Store(Mod(Derefof(m602(1, 15, 1)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 35, Local0, 0xfe7cb391d650a283)
+ }
+
+ Mod(0xfe7cb391d650a285, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 36, Local0, 1)
+
+ Mod(0xfe7cb391d650a283, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 37, Local0, 0xfe7cb391d650a283)
+
+ Mod(auid, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 38, Local0, 1)
+
+ Mod(auif, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 39, Local0, 0xfe7cb391d650a283)
+
+ if (y078) {
+ Mod(Derefof(Refof(auid)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 40, Local0, 1)
+
+ Mod(Derefof(Refof(auif)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 41, Local0, 0xfe7cb391d650a283)
+ }
+
+ Mod(Derefof(Index(paui, 13)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 42, Local0, 1)
+
+ Mod(Derefof(Index(paui, 15)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 43, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Integer
+
+ Mod(m601(1, 13), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 44, Local0, 1)
+
+ Mod(m601(1, 15), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 45, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(Derefof(m602(1, 13, 1)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 46, Local0, 1)
+
+ Mod(Derefof(m602(1, 15, 1)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 47, Local0, 0xfe7cb391d650a283)
+ }
+
+ // Conversion of the both operands
+
+ Store(Mod(m604(0, 3, 6, 0), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 48, Local0, 0x321)
+
+ Store(Mod(m604(0, 3, 10, 0), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 49, Local0, 0x2fd)
+
+ Mod(m604(0, 3, 6, 0), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 50, Local0, 0x321)
+
+ Mod(m604(0, 3, 10, 0), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 51, Local0, 0x2fd)
+ }
+
+ // Mod, 32-bit
+ Method(m046, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Mod(m604(0, 3, 10, 0), 0xd650a285), Local0)
+ m600(arg0, 0, Local0, 0xd650a284)
+
+ Store(Mod(m604(0, 3, 10, 0), 0xd650a283), Local0)
+ m600(arg0, 1, Local0, 1)
+
+ Store(Mod(m604(0, 3, 10, 0), auil), Local0)
+ m600(arg0, 2, Local0, 0xd650a284)
+
+ Store(Mod(m604(0, 3, 10, 0), auim), Local0)
+ m600(arg0, 14, Local0, 1)
+
+ if (y078) {
+ Store(Mod(m604(0, 3, 10, 0), Derefof(Refof(auil))), Local0)
+ m600(arg0, 4, Local0, 0xd650a284)
+
+ Store(Mod(m604(0, 3, 10, 0), Derefof(Refof(auim))), Local0)
+ m600(arg0, 5, Local0, 1)
+ }
+
+ Store(Mod(m604(0, 3, 10, 0), Derefof(Index(paui, 21))), Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ Store(Mod(m604(0, 3, 10, 0), Derefof(Index(paui, 22))), Local0)
+ m600(arg0, 7, Local0, 1)
+
+ // Method returns Integer
+
+ Store(Mod(m604(0, 3, 10, 0), m601(1, 21)), Local0)
+ m600(arg0, 8, Local0, 0xd650a284)
+
+ Store(Mod(m604(0, 3, 10, 0), m601(1, 22)), Local0)
+ m600(arg0, 9, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(m604(0, 3, 10, 0), Derefof(m601(1, 21, 1))), Local0)
+ m600(arg0, 10, Local0, 0xd650a284)
+
+ Store(Mod(m604(0, 3, 10, 0), Derefof(m601(1, 22, 1))), Local0)
+ m600(arg0, 11, Local0, 1)
+ }
+
+ Mod(m604(0, 3, 10, 0), 0xd650a285, Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ Mod(m604(0, 3, 10, 0), 0xd650a283, Local0)
+ m600(arg0, 13, Local0, 1)
+
+ Mod(m604(0, 3, 10, 0), auil, Local0)
+ m600(arg0, 14, Local0, 0xd650a284)
+
+ Mod(m604(0, 3, 10, 0), auim, Local0)
+ m600(arg0, 15, Local0, 1)
+
+ if (y078) {
+ Mod(m604(0, 3, 10, 0), Derefof(Refof(auil)), Local0)
+ m600(arg0, 16, Local0, 0xd650a284)
+
+ Mod(m604(0, 3, 10, 0), Derefof(Refof(auim)), Local0)
+ m600(arg0, 17, Local0, 1)
+ }
+
+ Mod(m604(0, 3, 10, 0), Derefof(Index(paui, 21)), Local0)
+ m600(arg0, 18, Local0, 0xd650a284)
+
+ Mod(m604(0, 3, 10, 0), Derefof(Index(paui, 22)), Local0)
+ m600(arg0, 19, Local0, 1)
+
+ // Method returns Integer
+
+ Mod(m604(0, 3, 10, 0), m601(1, 21), Local0)
+ m600(arg0, 20, Local0, 0xd650a284)
+
+ Mod(m604(0, 3, 10, 0), m601(1, 22), Local0)
+ m600(arg0, 21, Local0, 1)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(m604(0, 3, 10, 0), Derefof(m601(1, 21, 1)), Local0)
+ m600(arg0, 22, Local0, 0xd650a284)
+
+ Mod(m604(0, 3, 10, 0), Derefof(m601(1, 22, 1)), Local0)
+ m600(arg0, 23, Local0, 1)
+ }
+
+ // Conversion of the second operand
+
+ Store(Mod(0xd650a285, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 24, Local0, 1)
+
+ Store(Mod(0xd650a283, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 25, Local0, 0xd650a283)
+
+ Store(Mod(auil, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 26, Local0, 1)
+
+ Store(Mod(auim, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 27, Local0, 0xd650a283)
+
+ if (y078) {
+ Store(Mod(Derefof(Refof(auil)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 28, Local0, 1)
+
+ Store(Mod(Derefof(Refof(auim)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 29, Local0, 0xd650a283)
+ }
+
+ Store(Mod(Derefof(Index(paui, 21)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 30, Local0, 1)
+
+ Store(Mod(Derefof(Index(paui, 22)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 31, Local0, 0xd650a283)
+
+ // Method returns Integer
+
+ Store(Mod(m601(1, 21), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 32, Local0, 1)
+
+ Store(Mod(m601(1, 22), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 33, Local0, 0xd650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Mod(Derefof(m601(1, 21, 1)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 34, Local0, 1)
+
+ Store(Mod(Derefof(m601(1, 22, 1)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 35, Local0, 0xd650a283)
+ }
+
+ Mod(0xd650a285, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 36, Local0, 1)
+
+ Mod(0xd650a283, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 37, Local0, 0xd650a283)
+
+ Mod(auil, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 38, Local0, 1)
+
+ Mod(auim, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 39, Local0, 0xd650a283)
+
+ if (y078) {
+ Mod(Derefof(Refof(auil)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 40, Local0, 1)
+
+ Mod(Derefof(Refof(auim)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 41, Local0, 0xd650a283)
+ }
+
+ Mod(Derefof(Index(paui, 21)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 42, Local0, 1)
+
+ Mod(Derefof(Index(paui, 22)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 43, Local0, 0xd650a283)
+
+ // Method returns Integer
+
+ Mod(m601(1, 21), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 44, Local0, 1)
+
+ Mod(m601(1, 22), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 45, Local0, 0xd650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Mod(Derefof(m601(1, 21, 1)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 46, Local0, 1)
+
+ Mod(Derefof(m601(1, 22, 1)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 47, Local0, 0xd650a283)
+ }
+
+ // Conversion of the both operands
+
+ Store(Mod(m604(0, 3, 6, 0), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 48, Local0, 0x321)
+
+ Store(Mod(m604(0, 3, 10, 0), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 49, Local0, 0x261)
+
+ Mod(m604(0, 3, 6, 0), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 50, Local0, 0x321)
+
+ Mod(m604(0, 3, 10, 0), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 51, Local0, 0x261)
+ }
+
+ // Multiply, common 32-bit/64-bit test
+ Method(m047, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Multiply(m604(0, 3, 6, 0), 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(Multiply(m604(0, 3, 6, 0), 1), Local0)
+ m600(arg0, 1, Local0, 0x321)
+
+ Store(Multiply(m604(0, 3, 6, 0), aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(Multiply(m604(0, 3, 6, 0), aui6), Local0)
+ m600(arg0, 3, Local0, 0x321)
+
+ if (y078) {
+ Store(Multiply(m604(0, 3, 6, 0), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(Multiply(m604(0, 3, 6, 0), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x321)
+ }
+
+ Store(Multiply(m604(0, 3, 6, 0), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(Multiply(m604(0, 3, 6, 0), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x321)
+
+ // Method returns Integer
+
+ Store(Multiply(m604(0, 3, 6, 0), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(Multiply(m604(0, 3, 6, 0), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(m604(0, 3, 6, 0), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(Multiply(m604(0, 3, 6, 0), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x321)
+ }
+
+ Multiply(m604(0, 3, 6, 0), 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ Multiply(m604(0, 3, 6, 0), 1, Local0)
+ m600(arg0, 13, Local0, 0x321)
+
+ Multiply(m604(0, 3, 6, 0), aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ Multiply(m604(0, 3, 6, 0), aui6, Local0)
+ m600(arg0, 15, Local0, 0x321)
+
+ if (y078) {
+ Multiply(m604(0, 3, 6, 0), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ Multiply(m604(0, 3, 6, 0), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x321)
+ }
+
+ Multiply(m604(0, 3, 6, 0), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ Multiply(m604(0, 3, 6, 0), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x321)
+
+ // Method returns Integer
+
+ Multiply(m604(0, 3, 6, 0), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ Multiply(m604(0, 3, 6, 0), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(m604(0, 3, 6, 0), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ Multiply(m604(0, 3, 6, 0), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x321)
+ }
+
+ // Conversion of the second operand
+
+ Store(Multiply(0, m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Multiply(1, m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 25, Local0, 0x321)
+
+ Store(Multiply(aui5, m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Multiply(aui6, m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 27, Local0, 0x321)
+
+ if (y078) {
+ Store(Multiply(Derefof(Refof(aui5)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(aui6)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 29, Local0, 0x321)
+ }
+
+ Store(Multiply(Derefof(Index(paui, 5)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Multiply(Derefof(Index(paui, 6)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 31, Local0, 0x321)
+
+ // Method returns Integer
+
+ Store(Multiply(m601(1, 5), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Multiply(m601(1, 6), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 33, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(Derefof(m602(1, 5, 1)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Multiply(Derefof(m602(1, 6, 1)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 35, Local0, 0x321)
+ }
+
+ Multiply(0, m604(0, 3, 6, 0), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Multiply(1, m604(0, 3, 6, 0), Local0)
+ m600(arg0, 37, Local0, 0x321)
+
+ Multiply(aui5, m604(0, 3, 6, 0), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Multiply(aui6, m604(0, 3, 6, 0), Local0)
+ m600(arg0, 39, Local0, 0x321)
+
+ if (y078) {
+ Multiply(Derefof(Refof(aui5)), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Multiply(Derefof(Refof(aui6)), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 41, Local0, 0x321)
+ }
+
+ Multiply(Derefof(Index(paui, 5)), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Multiply(Derefof(Index(paui, 6)), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 43, Local0, 0x321)
+
+ // Method returns Integer
+
+ Multiply(m601(1, 5), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Multiply(m601(1, 6), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 45, Local0, 0x321)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(Derefof(m602(1, 5, 1)), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Multiply(Derefof(m602(1, 6, 1)), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 47, Local0, 0x321)
+ }
+ }
+
+ // Multiply, 64-bit
+ Method(m048, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Multiply(m604(0, 3, 10, 0), 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(Multiply(m604(0, 3, 10, 0), 1), Local0)
+ m600(arg0, 1, Local0, 0xfe7cb391d650a284)
+
+ Store(Multiply(m604(0, 3, 10, 0), aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(Multiply(m604(0, 3, 10, 0), aui6), Local0)
+ m600(arg0, 3, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Store(Multiply(m604(0, 3, 10, 0), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(Multiply(m604(0, 3, 10, 0), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xfe7cb391d650a284)
+ }
+
+ Store(Multiply(m604(0, 3, 10, 0), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(Multiply(m604(0, 3, 10, 0), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Store(Multiply(m604(0, 3, 10, 0), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(Multiply(m604(0, 3, 10, 0), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(m604(0, 3, 10, 0), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(Multiply(m604(0, 3, 10, 0), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfe7cb391d650a284)
+ }
+
+ Multiply(m604(0, 3, 10, 0), 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ Multiply(m604(0, 3, 10, 0), 1, Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a284)
+
+ Multiply(m604(0, 3, 10, 0), aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ Multiply(m604(0, 3, 10, 0), aui6, Local0)
+ m600(arg0, 15, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Multiply(m604(0, 3, 10, 0), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ Multiply(m604(0, 3, 10, 0), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xfe7cb391d650a284)
+ }
+
+ Multiply(m604(0, 3, 10, 0), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ Multiply(m604(0, 3, 10, 0), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Multiply(m604(0, 3, 10, 0), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ Multiply(m604(0, 3, 10, 0), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(m604(0, 3, 10, 0), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ Multiply(m604(0, 3, 10, 0), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfe7cb391d650a284)
+ }
+
+ // Conversion of the second operand
+
+ Store(Multiply(0, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Multiply(1, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 25, Local0, 0xfe7cb391d650a284)
+
+ Store(Multiply(aui5, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Multiply(aui6, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 27, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Store(Multiply(Derefof(Refof(aui5)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(aui6)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 29, Local0, 0xfe7cb391d650a284)
+ }
+
+ Store(Multiply(Derefof(Index(paui, 5)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Multiply(Derefof(Index(paui, 6)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 31, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Store(Multiply(m601(1, 5), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Multiply(m601(1, 6), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 33, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(Derefof(m602(1, 5, 1)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Multiply(Derefof(m602(1, 6, 1)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 35, Local0, 0xfe7cb391d650a284)
+ }
+
+ Multiply(0, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Multiply(1, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 37, Local0, 0xfe7cb391d650a284)
+
+ Multiply(aui5, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Multiply(aui6, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 39, Local0, 0xfe7cb391d650a284)
+
+ if (y078) {
+ Multiply(Derefof(Refof(aui5)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Multiply(Derefof(Refof(aui6)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 41, Local0, 0xfe7cb391d650a284)
+ }
+
+ Multiply(Derefof(Index(paui, 5)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Multiply(Derefof(Index(paui, 6)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 43, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Integer
+
+ Multiply(m601(1, 5), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Multiply(m601(1, 6), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 45, Local0, 0xfe7cb391d650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(Derefof(m602(1, 5, 1)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Multiply(Derefof(m602(1, 6, 1)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 47, Local0, 0xfe7cb391d650a284)
+ }
+
+ // Conversion of the both operands
+
+ Store(Multiply(m604(0, 3, 6, 0), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 48, Local0, 0x442ddb4f924c7f04)
+
+ Store(Multiply(m604(0, 3, 10, 0), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 49, Local0, 0x442ddb4f924c7f04)
+
+ Multiply(m604(0, 3, 6, 0), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 50, Local0, 0x442ddb4f924c7f04)
+
+ Multiply(m604(0, 3, 10, 0), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 51, Local0, 0x442ddb4f924c7f04)
+ }
+
+ // Multiply, 32-bit
+ Method(m049, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Multiply(m604(0, 3, 10, 0), 0), Local0)
+ m600(arg0, 0, Local0, 0)
+
+ Store(Multiply(m604(0, 3, 10, 0), 1), Local0)
+ m600(arg0, 1, Local0, 0xd650a284)
+
+ Store(Multiply(m604(0, 3, 10, 0), aui5), Local0)
+ m600(arg0, 2, Local0, 0)
+
+ Store(Multiply(m604(0, 3, 10, 0), aui6), Local0)
+ m600(arg0, 3, Local0, 0xd650a284)
+
+ if (y078) {
+ Store(Multiply(m604(0, 3, 10, 0), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0)
+
+ Store(Multiply(m604(0, 3, 10, 0), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xd650a284)
+ }
+
+ Store(Multiply(m604(0, 3, 10, 0), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0)
+
+ Store(Multiply(m604(0, 3, 10, 0), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xd650a284)
+
+ // Method returns Integer
+
+ Store(Multiply(m604(0, 3, 10, 0), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0)
+
+ Store(Multiply(m604(0, 3, 10, 0), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xd650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(m604(0, 3, 10, 0), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0)
+
+ Store(Multiply(m604(0, 3, 10, 0), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xd650a284)
+ }
+
+ Multiply(m604(0, 3, 10, 0), 0, Local0)
+ m600(arg0, 12, Local0, 0)
+
+ Multiply(m604(0, 3, 10, 0), 1, Local0)
+ m600(arg0, 13, Local0, 0xd650a284)
+
+ Multiply(m604(0, 3, 10, 0), aui5, Local0)
+ m600(arg0, 14, Local0, 0)
+
+ Multiply(m604(0, 3, 10, 0), aui6, Local0)
+ m600(arg0, 15, Local0, 0xd650a284)
+
+ if (y078) {
+ Multiply(m604(0, 3, 10, 0), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0)
+
+ Multiply(m604(0, 3, 10, 0), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xd650a284)
+ }
+
+ Multiply(m604(0, 3, 10, 0), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0)
+
+ Multiply(m604(0, 3, 10, 0), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xd650a284)
+
+ // Method returns Integer
+
+ Multiply(m604(0, 3, 10, 0), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0)
+
+ Multiply(m604(0, 3, 10, 0), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xd650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(m604(0, 3, 10, 0), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0)
+
+ Multiply(m604(0, 3, 10, 0), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xd650a284)
+ }
+
+ // Conversion of the second operand
+
+ Store(Multiply(0, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(Multiply(1, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 25, Local0, 0xd650a284)
+
+ Store(Multiply(aui5, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(Multiply(aui6, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 27, Local0, 0xd650a284)
+
+ if (y078) {
+ Store(Multiply(Derefof(Refof(aui5)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(Multiply(Derefof(Refof(aui6)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 29, Local0, 0xd650a284)
+ }
+
+ Store(Multiply(Derefof(Index(paui, 5)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(Multiply(Derefof(Index(paui, 6)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 31, Local0, 0xd650a284)
+
+ // Method returns Integer
+
+ Store(Multiply(m601(1, 5), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(Multiply(m601(1, 6), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 33, Local0, 0xd650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Multiply(Derefof(m602(1, 5, 1)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(Multiply(Derefof(m602(1, 6, 1)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 35, Local0, 0xd650a284)
+ }
+
+ Multiply(0, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ Multiply(1, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 37, Local0, 0xd650a284)
+
+ Multiply(aui5, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ Multiply(aui6, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 39, Local0, 0xd650a284)
+
+ if (y078) {
+ Multiply(Derefof(Refof(aui5)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ Multiply(Derefof(Refof(aui6)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 41, Local0, 0xd650a284)
+ }
+
+ Multiply(Derefof(Index(paui, 5)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ Multiply(Derefof(Index(paui, 6)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 43, Local0, 0xd650a284)
+
+ // Method returns Integer
+
+ Multiply(m601(1, 5), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ Multiply(m601(1, 6), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 45, Local0, 0xd650a284)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Multiply(Derefof(m602(1, 5, 1)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ Multiply(Derefof(m602(1, 6, 1)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 47, Local0, 0xd650a284)
+ }
+
+ // Conversion of the both operands
+
+ Store(Multiply(m604(0, 3, 6, 0), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 48, Local0, 0x924c7f04)
+
+ Store(Multiply(m604(0, 3, 10, 0), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 49, Local0, 0x924c7f04)
+
+ Multiply(m604(0, 3, 6, 0), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 50, Local0, 0x924c7f04)
+
+ Multiply(m604(0, 3, 10, 0), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 51, Local0, 0x924c7f04)
+ }
+
+ // NAnd, common 32-bit/64-bit test
+ Method(m04a, 1)
+ {
+ // Conversion of the first operand
+
+ Store(NAnd(m604(0, 3, 6, 0), 0), Local0)
+ m600(arg0, 0, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(m604(0, 3, 6, 0), 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xfffffffffffffcde)
+
+ Store(NAnd(m604(0, 3, 6, 0), aui5), Local0)
+ m600(arg0, 2, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(m604(0, 3, 6, 0), auij), Local0)
+ m600(arg0, 3, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ Store(NAnd(m604(0, 3, 6, 0), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(m604(0, 3, 6, 0), Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xfffffffffffffcde)
+ }
+
+ Store(NAnd(m604(0, 3, 6, 0), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(m604(0, 3, 6, 0), Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ Store(NAnd(m604(0, 3, 6, 0), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(m604(0, 3, 6, 0), m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(m604(0, 3, 6, 0), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(m604(0, 3, 6, 0), Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfffffffffffffcde)
+ }
+
+ NAnd(m604(0, 3, 6, 0), 0, Local0)
+ m600(arg0, 12, Local0, 0xffffffffffffffff)
+
+ NAnd(m604(0, 3, 6, 0), 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xfffffffffffffcde)
+
+ NAnd(m604(0, 3, 6, 0), aui5, Local0)
+ m600(arg0, 14, Local0, 0xffffffffffffffff)
+
+ NAnd(m604(0, 3, 6, 0), auij, Local0)
+ m600(arg0, 15, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ NAnd(m604(0, 3, 6, 0), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xffffffffffffffff)
+
+ NAnd(m604(0, 3, 6, 0), Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xfffffffffffffcde)
+ }
+
+ NAnd(m604(0, 3, 6, 0), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xffffffffffffffff)
+
+ NAnd(m604(0, 3, 6, 0), Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ NAnd(m604(0, 3, 6, 0), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xffffffffffffffff)
+
+ NAnd(m604(0, 3, 6, 0), m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(m604(0, 3, 6, 0), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xffffffffffffffff)
+
+ NAnd(m604(0, 3, 6, 0), Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfffffffffffffcde)
+ }
+
+ // Conversion of the second operand
+
+ Store(NAnd(0, m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 24, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(0xffffffffffffffff, m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 25, Local0, 0xfffffffffffffcde)
+
+ Store(NAnd(aui5, m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 26, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(auij, m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 27, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ Store(NAnd(Derefof(Refof(aui5)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 28, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Refof(auij)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 29, Local0, 0xfffffffffffffcde)
+ }
+
+ Store(NAnd(Derefof(Index(paui, 5)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 30, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Index(paui, 19)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 31, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ Store(NAnd(m601(1, 5), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 32, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(m601(1, 19), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 33, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(Derefof(m602(1, 5, 1)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 34, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(m602(1, 19, 1)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 35, Local0, 0xfffffffffffffcde)
+ }
+
+ NAnd(0, m604(0, 3, 6, 0), Local0)
+ m600(arg0, 36, Local0, 0xffffffffffffffff)
+
+ NAnd(0xffffffffffffffff, m604(0, 3, 6, 0), Local0)
+ m600(arg0, 37, Local0, 0xfffffffffffffcde)
+
+ NAnd(aui5, m604(0, 3, 6, 0), Local0)
+ m600(arg0, 38, Local0, 0xffffffffffffffff)
+
+ NAnd(auij, m604(0, 3, 6, 0), Local0)
+ m600(arg0, 39, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ NAnd(Derefof(Refof(aui5)), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 40, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Refof(auij)), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 41, Local0, 0xfffffffffffffcde)
+ }
+
+ NAnd(Derefof(Index(paui, 5)), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 42, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Index(paui, 19)), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 43, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ NAnd(m601(1, 5), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 44, Local0, 0xffffffffffffffff)
+
+ NAnd(m601(1, 19), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 45, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(Derefof(m602(1, 5, 1)), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 46, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(m602(1, 19, 1)), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 47, Local0, 0xfffffffffffffcde)
+ }
+ }
+
+ // NAnd, 64-bit
+ Method(m04b, 1)
+ {
+ // Conversion of the first operand
+
+ Store(NAnd(m604(0, 3, 10, 0), 0), Local0)
+ m600(arg0, 0, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(m604(0, 3, 10, 0), 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0x01834c6e29af5d7b)
+
+ Store(NAnd(m604(0, 3, 10, 0), aui5), Local0)
+ m600(arg0, 2, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(m604(0, 3, 10, 0), auij), Local0)
+ m600(arg0, 3, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ Store(NAnd(m604(0, 3, 10, 0), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(m604(0, 3, 10, 0), Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Store(NAnd(m604(0, 3, 10, 0), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(m604(0, 3, 10, 0), Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ Store(NAnd(m604(0, 3, 10, 0), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(m604(0, 3, 10, 0), m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(m604(0, 3, 10, 0), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(m604(0, 3, 10, 0), Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0x01834c6e29af5d7b)
+ }
+
+ NAnd(m604(0, 3, 10, 0), 0, Local0)
+ m600(arg0, 12, Local0, 0xffffffffffffffff)
+
+ NAnd(m604(0, 3, 10, 0), 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0x01834c6e29af5d7b)
+
+ NAnd(m604(0, 3, 10, 0), aui5, Local0)
+ m600(arg0, 14, Local0, 0xffffffffffffffff)
+
+ NAnd(m604(0, 3, 10, 0), auij, Local0)
+ m600(arg0, 15, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ NAnd(m604(0, 3, 10, 0), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xffffffffffffffff)
+
+ NAnd(m604(0, 3, 10, 0), Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0x01834c6e29af5d7b)
+ }
+
+ NAnd(m604(0, 3, 10, 0), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xffffffffffffffff)
+
+ NAnd(m604(0, 3, 10, 0), Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ NAnd(m604(0, 3, 10, 0), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xffffffffffffffff)
+
+ NAnd(m604(0, 3, 10, 0), m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(m604(0, 3, 10, 0), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xffffffffffffffff)
+
+ NAnd(m604(0, 3, 10, 0), Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0x01834c6e29af5d7b)
+ }
+
+ // Conversion of the second operand
+
+ Store(NAnd(0, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 24, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(0xffffffffffffffff, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 25, Local0, 0x01834c6e29af5d7b)
+
+ Store(NAnd(aui5, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 26, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(auij, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 27, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ Store(NAnd(Derefof(Refof(aui5)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 28, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Refof(auij)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 29, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Store(NAnd(Derefof(Index(paui, 5)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 30, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(Index(paui, 19)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 31, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ Store(NAnd(m601(1, 5), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 32, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(m601(1, 19), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 33, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(Derefof(m602(1, 5, 1)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 34, Local0, 0xffffffffffffffff)
+
+ Store(NAnd(Derefof(m602(1, 19, 1)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 35, Local0, 0x01834c6e29af5d7b)
+ }
+
+ NAnd(0, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 36, Local0, 0xffffffffffffffff)
+
+ NAnd(0xffffffffffffffff, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 37, Local0, 0x01834c6e29af5d7b)
+
+ NAnd(aui5, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 38, Local0, 0xffffffffffffffff)
+
+ NAnd(auij, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 39, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ NAnd(Derefof(Refof(aui5)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 40, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Refof(auij)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 41, Local0, 0x01834c6e29af5d7b)
+ }
+
+ NAnd(Derefof(Index(paui, 5)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 42, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(Index(paui, 19)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 43, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ NAnd(m601(1, 5), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 44, Local0, 0xffffffffffffffff)
+
+ NAnd(m601(1, 19), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 45, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(Derefof(m602(1, 5, 1)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 46, Local0, 0xffffffffffffffff)
+
+ NAnd(Derefof(m602(1, 19, 1)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 47, Local0, 0x01834c6e29af5d7b)
+ }
+
+ // Conversion of the both operands
+
+ Store(NAnd(m604(0, 3, 6, 0), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 48, Local0, 0xfffffffffffffdff)
+
+ Store(NAnd(m604(0, 3, 10, 0), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 49, Local0, 0xfffffffffffffdff)
+
+ NAnd(m604(0, 3, 6, 0), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 50, Local0, 0xfffffffffffffdff)
+
+ NAnd(m604(0, 3, 10, 0), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 51, Local0, 0xfffffffffffffdff)
+ }
+
+ // NAnd, 32-bit
+ Method(m04c, 1)
+ {
+ // Conversion of the first operand
+
+ Store(NAnd(m604(0, 3, 10, 0), 0), Local0)
+ m600(arg0, 0, Local0, 0xffffffff)
+
+ Store(NAnd(m604(0, 3, 10, 0), 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0x29af5d7b)
+
+ Store(NAnd(m604(0, 3, 10, 0), aui5), Local0)
+ m600(arg0, 2, Local0, 0xffffffff)
+
+ Store(NAnd(m604(0, 3, 10, 0), auii), Local0)
+ m600(arg0, 3, Local0, 0x29af5d7b)
+
+ if (y078) {
+ Store(NAnd(m604(0, 3, 10, 0), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xffffffff)
+
+ Store(NAnd(m604(0, 3, 10, 0), Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0x29af5d7b)
+ }
+
+ Store(NAnd(m604(0, 3, 10, 0), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xffffffff)
+
+ Store(NAnd(m604(0, 3, 10, 0), Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0x29af5d7b)
+
+ // Method returns Integer
+
+ Store(NAnd(m604(0, 3, 10, 0), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xffffffff)
+
+ Store(NAnd(m604(0, 3, 10, 0), m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0x29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(m604(0, 3, 10, 0), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xffffffff)
+
+ Store(NAnd(m604(0, 3, 10, 0), Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0x29af5d7b)
+ }
+
+ NAnd(m604(0, 3, 10, 0), 0, Local0)
+ m600(arg0, 12, Local0, 0xffffffff)
+
+ NAnd(m604(0, 3, 10, 0), 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0x29af5d7b)
+
+ NAnd(m604(0, 3, 10, 0), aui5, Local0)
+ m600(arg0, 14, Local0, 0xffffffff)
+
+ NAnd(m604(0, 3, 10, 0), auii, Local0)
+ m600(arg0, 15, Local0, 0x29af5d7b)
+
+ if (y078) {
+ NAnd(m604(0, 3, 10, 0), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xffffffff)
+
+ NAnd(m604(0, 3, 10, 0), Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0x29af5d7b)
+ }
+
+ NAnd(m604(0, 3, 10, 0), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xffffffff)
+
+ NAnd(m604(0, 3, 10, 0), Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0x29af5d7b)
+
+ // Method returns Integer
+
+ NAnd(m604(0, 3, 10, 0), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xffffffff)
+
+ NAnd(m604(0, 3, 10, 0), m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0x29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(m604(0, 3, 10, 0), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xffffffff)
+
+ NAnd(m604(0, 3, 10, 0), Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0x29af5d7b)
+ }
+
+ // Conversion of the second operand
+
+ Store(NAnd(0, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 24, Local0, 0xffffffff)
+
+ Store(NAnd(0xffffffff, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 25, Local0, 0x29af5d7b)
+
+ Store(NAnd(aui5, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 26, Local0, 0xffffffff)
+
+ Store(NAnd(auii, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 27, Local0, 0x29af5d7b)
+
+ if (y078) {
+ Store(NAnd(Derefof(Refof(aui5)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 28, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(Refof(auii)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 29, Local0, 0x29af5d7b)
+ }
+
+ Store(NAnd(Derefof(Index(paui, 5)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 30, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(Index(paui, 18)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 31, Local0, 0x29af5d7b)
+
+ // Method returns Integer
+
+ Store(NAnd(m601(1, 5), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 32, Local0, 0xffffffff)
+
+ Store(NAnd(m601(1, 18), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 33, Local0, 0x29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NAnd(Derefof(m602(1, 5, 1)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 34, Local0, 0xffffffff)
+
+ Store(NAnd(Derefof(m602(1, 18, 1)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 35, Local0, 0x29af5d7b)
+ }
+
+ NAnd(0, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 36, Local0, 0xffffffff)
+
+ NAnd(0xffffffff, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 37, Local0, 0x29af5d7b)
+
+ NAnd(aui5, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 38, Local0, 0xffffffff)
+
+ NAnd(auii, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 39, Local0, 0x29af5d7b)
+
+ if (y078) {
+ NAnd(Derefof(Refof(aui5)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 40, Local0, 0xffffffff)
+
+ NAnd(Derefof(Refof(auii)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 41, Local0, 0x29af5d7b)
+ }
+
+ NAnd(Derefof(Index(paui, 5)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 42, Local0, 0xffffffff)
+
+ NAnd(Derefof(Index(paui, 18)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 43, Local0, 0x29af5d7b)
+
+ // Method returns Integer
+
+ NAnd(m601(1, 5), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 44, Local0, 0xffffffff)
+
+ NAnd(m601(1, 18), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 45, Local0, 0x29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NAnd(Derefof(m602(1, 5, 1)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 46, Local0, 0xffffffff)
+
+ NAnd(Derefof(m602(1, 18, 1)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 47, Local0, 0x29af5d7b)
+ }
+
+ // Conversion of the both operands
+
+ Store(NAnd(m604(0, 3, 6, 0), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 48, Local0, 0xfffffdff)
+
+ Store(NAnd(m604(0, 3, 10, 0), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 49, Local0, 0xfffffdff)
+
+ NAnd(m604(0, 3, 6, 0), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 50, Local0, 0xfffffdff)
+
+ NAnd(m604(0, 3, 10, 0), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 51, Local0, 0xfffffdff)
+ }
+
+ // NOr, common 32-bit/64-bit test
+ Method(m04d, 1)
+ {
+ // Conversion of the first operand
+
+ Store(NOr(m604(0, 3, 6, 0), 0), Local0)
+ m600(arg0, 0, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(m604(0, 3, 6, 0), 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0)
+
+ Store(NOr(m604(0, 3, 6, 0), aui5), Local0)
+ m600(arg0, 2, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(m604(0, 3, 6, 0), auij), Local0)
+ m600(arg0, 3, Local0, 0)
+
+ if (y078) {
+ Store(NOr(m604(0, 3, 6, 0), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(m604(0, 3, 6, 0), Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0)
+ }
+
+ Store(NOr(m604(0, 3, 6, 0), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(m604(0, 3, 6, 0), Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(m604(0, 3, 6, 0), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(m604(0, 3, 6, 0), m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(m604(0, 3, 6, 0), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(m604(0, 3, 6, 0), Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0)
+ }
+
+ NOr(m604(0, 3, 6, 0), 0, Local0)
+ m600(arg0, 12, Local0, 0xfffffffffffffcde)
+
+ NOr(m604(0, 3, 6, 0), 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0)
+
+ NOr(m604(0, 3, 6, 0), aui5, Local0)
+ m600(arg0, 14, Local0, 0xfffffffffffffcde)
+
+ NOr(m604(0, 3, 6, 0), auij, Local0)
+ m600(arg0, 15, Local0, 0)
+
+ if (y078) {
+ NOr(m604(0, 3, 6, 0), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfffffffffffffcde)
+
+ NOr(m604(0, 3, 6, 0), Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0)
+ }
+
+ NOr(m604(0, 3, 6, 0), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfffffffffffffcde)
+
+ NOr(m604(0, 3, 6, 0), Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(m604(0, 3, 6, 0), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfffffffffffffcde)
+
+ NOr(m604(0, 3, 6, 0), m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(m604(0, 3, 6, 0), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfffffffffffffcde)
+
+ NOr(m604(0, 3, 6, 0), Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0)
+ }
+
+ // Conversion of the second operand
+
+ Store(NOr(0, m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 24, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(0xffffffffffffffff, m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 25, Local0, 0)
+
+ Store(NOr(aui5, m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 26, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(auij, m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 27, Local0, 0)
+
+ if (y078) {
+ Store(NOr(Derefof(Refof(aui5)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 28, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(Refof(auij)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 29, Local0, 0)
+ }
+
+ Store(NOr(Derefof(Index(paui, 5)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 30, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(Index(paui, 19)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 31, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(m601(1, 5), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 32, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(m601(1, 19), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 33, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(Derefof(m602(1, 5, 1)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 34, Local0, 0xfffffffffffffcde)
+
+ Store(NOr(Derefof(m602(1, 19, 1)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 35, Local0, 0)
+ }
+
+ NOr(0, m604(0, 3, 6, 0), Local0)
+ m600(arg0, 36, Local0, 0xfffffffffffffcde)
+
+ NOr(0xffffffffffffffff, m604(0, 3, 6, 0), Local0)
+ m600(arg0, 37, Local0, 0)
+
+ NOr(aui5, m604(0, 3, 6, 0), Local0)
+ m600(arg0, 38, Local0, 0xfffffffffffffcde)
+
+ NOr(auij, m604(0, 3, 6, 0), Local0)
+ m600(arg0, 39, Local0, 0)
+
+ if (y078) {
+ NOr(Derefof(Refof(aui5)), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 40, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(Refof(auij)), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 41, Local0, 0)
+ }
+
+ NOr(Derefof(Index(paui, 5)), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 42, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(Index(paui, 19)), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 43, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(m601(1, 5), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 44, Local0, 0xfffffffffffffcde)
+
+ NOr(m601(1, 19), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 45, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(Derefof(m602(1, 5, 1)), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 46, Local0, 0xfffffffffffffcde)
+
+ NOr(Derefof(m602(1, 19, 1)), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 47, Local0, 0)
+ }
+ }
+
+ // NOr, 64-bit
+ Method(m04e, 1)
+ {
+ // Conversion of the first operand
+
+ Store(NOr(m604(0, 3, 10, 0), 0), Local0)
+ m600(arg0, 0, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(m604(0, 3, 10, 0), 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0)
+
+ Store(NOr(m604(0, 3, 10, 0), aui5), Local0)
+ m600(arg0, 2, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(m604(0, 3, 10, 0), auij), Local0)
+ m600(arg0, 3, Local0, 0)
+
+ if (y078) {
+ Store(NOr(m604(0, 3, 10, 0), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(m604(0, 3, 10, 0), Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0)
+ }
+
+ Store(NOr(m604(0, 3, 10, 0), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(m604(0, 3, 10, 0), Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(m604(0, 3, 10, 0), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(m604(0, 3, 10, 0), m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(m604(0, 3, 10, 0), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(m604(0, 3, 10, 0), Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0)
+ }
+
+ NOr(m604(0, 3, 10, 0), 0, Local0)
+ m600(arg0, 12, Local0, 0x01834c6e29af5d7b)
+
+ NOr(m604(0, 3, 10, 0), 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0)
+
+ NOr(m604(0, 3, 10, 0), aui5, Local0)
+ m600(arg0, 14, Local0, 0x01834c6e29af5d7b)
+
+ NOr(m604(0, 3, 10, 0), auij, Local0)
+ m600(arg0, 15, Local0, 0)
+
+ if (y078) {
+ NOr(m604(0, 3, 10, 0), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x01834c6e29af5d7b)
+
+ NOr(m604(0, 3, 10, 0), Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0)
+ }
+
+ NOr(m604(0, 3, 10, 0), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x01834c6e29af5d7b)
+
+ NOr(m604(0, 3, 10, 0), Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(m604(0, 3, 10, 0), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x01834c6e29af5d7b)
+
+ NOr(m604(0, 3, 10, 0), m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(m604(0, 3, 10, 0), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x01834c6e29af5d7b)
+
+ NOr(m604(0, 3, 10, 0), Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0)
+ }
+
+ // Conversion of the second operand
+
+ Store(NOr(0, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 24, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(0xffffffffffffffff, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 25, Local0, 0)
+
+ Store(NOr(aui5, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 26, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(auij, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 27, Local0, 0)
+
+ if (y078) {
+ Store(NOr(Derefof(Refof(aui5)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 28, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(Refof(auij)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 29, Local0, 0)
+ }
+
+ Store(NOr(Derefof(Index(paui, 5)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 30, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(Index(paui, 19)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 31, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(m601(1, 5), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 32, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(m601(1, 19), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 33, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(Derefof(m602(1, 5, 1)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 34, Local0, 0x01834c6e29af5d7b)
+
+ Store(NOr(Derefof(m602(1, 19, 1)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 35, Local0, 0)
+ }
+
+ NOr(0, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 36, Local0, 0x01834c6e29af5d7b)
+
+ NOr(0xffffffffffffffff, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 37, Local0, 0)
+
+ NOr(aui5, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 38, Local0, 0x01834c6e29af5d7b)
+
+ NOr(auij, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 39, Local0, 0)
+
+ if (y078) {
+ NOr(Derefof(Refof(aui5)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 40, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(Refof(auij)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 41, Local0, 0)
+ }
+
+ NOr(Derefof(Index(paui, 5)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 42, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(Index(paui, 19)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 43, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(m601(1, 5), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 44, Local0, 0x01834c6e29af5d7b)
+
+ NOr(m601(1, 19), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 45, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(Derefof(m602(1, 5, 1)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 46, Local0, 0x01834c6e29af5d7b)
+
+ NOr(Derefof(m602(1, 19, 1)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 47, Local0, 0)
+ }
+
+ // Conversion of the both operands
+
+ Store(NOr(m604(0, 3, 6, 0), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 48, Local0, 0x01834c6e29af5c5a)
+
+ Store(NOr(m604(0, 3, 10, 0), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 49, Local0, 0x01834c6e29af5c5a)
+
+ NOr(m604(0, 3, 6, 0), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 50, Local0, 0x01834c6e29af5c5a)
+
+ NOr(m604(0, 3, 10, 0), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 51, Local0, 0x01834c6e29af5c5a)
+ }
+
+ // NOr, 32-bit
+ Method(m04f, 1)
+ {
+ // Conversion of the first operand
+
+ Store(NOr(m604(0, 3, 10, 0), 0), Local0)
+ m600(arg0, 0, Local0, 0x29af5d7b)
+
+ Store(NOr(m604(0, 3, 10, 0), 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0)
+
+ Store(NOr(m604(0, 3, 10, 0), aui5), Local0)
+ m600(arg0, 2, Local0, 0x29af5d7b)
+
+ Store(NOr(m604(0, 3, 10, 0), auii), Local0)
+ m600(arg0, 3, Local0, 0)
+
+ if (y078) {
+ Store(NOr(m604(0, 3, 10, 0), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x29af5d7b)
+
+ Store(NOr(m604(0, 3, 10, 0), Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0)
+ }
+
+ Store(NOr(m604(0, 3, 10, 0), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x29af5d7b)
+
+ Store(NOr(m604(0, 3, 10, 0), Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(m604(0, 3, 10, 0), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x29af5d7b)
+
+ Store(NOr(m604(0, 3, 10, 0), m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(m604(0, 3, 10, 0), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x29af5d7b)
+
+ Store(NOr(m604(0, 3, 10, 0), Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0)
+ }
+
+ NOr(m604(0, 3, 10, 0), 0, Local0)
+ m600(arg0, 12, Local0, 0x29af5d7b)
+
+ NOr(m604(0, 3, 10, 0), 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0)
+
+ NOr(m604(0, 3, 10, 0), aui5, Local0)
+ m600(arg0, 14, Local0, 0x29af5d7b)
+
+ NOr(m604(0, 3, 10, 0), auii, Local0)
+ m600(arg0, 15, Local0, 0)
+
+ if (y078) {
+ NOr(m604(0, 3, 10, 0), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x29af5d7b)
+
+ NOr(m604(0, 3, 10, 0), Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0)
+ }
+
+ NOr(m604(0, 3, 10, 0), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x29af5d7b)
+
+ NOr(m604(0, 3, 10, 0), Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(m604(0, 3, 10, 0), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x29af5d7b)
+
+ NOr(m604(0, 3, 10, 0), m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(m604(0, 3, 10, 0), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x29af5d7b)
+
+ NOr(m604(0, 3, 10, 0), Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0)
+ }
+
+ // Conversion of the second operand
+
+ Store(NOr(0, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 24, Local0, 0x29af5d7b)
+
+ Store(NOr(0xffffffff, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 25, Local0, 0)
+
+ Store(NOr(aui5, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 26, Local0, 0x29af5d7b)
+
+ Store(NOr(auii, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 27, Local0, 0)
+
+ if (y078) {
+ Store(NOr(Derefof(Refof(aui5)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 28, Local0, 0x29af5d7b)
+
+ Store(NOr(Derefof(Refof(auii)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 29, Local0, 0)
+ }
+
+ Store(NOr(Derefof(Index(paui, 5)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 30, Local0, 0x29af5d7b)
+
+ Store(NOr(Derefof(Index(paui, 18)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 31, Local0, 0)
+
+ // Method returns Integer
+
+ Store(NOr(m601(1, 5), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 32, Local0, 0x29af5d7b)
+
+ Store(NOr(m601(1, 18), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 33, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(NOr(Derefof(m602(1, 5, 1)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 34, Local0, 0x29af5d7b)
+
+ Store(NOr(Derefof(m602(1, 18, 1)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 35, Local0, 0)
+ }
+
+ NOr(0, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 36, Local0, 0x29af5d7b)
+
+ NOr(0xffffffff, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 37, Local0, 0)
+
+ NOr(aui5, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 38, Local0, 0x29af5d7b)
+
+ NOr(auii, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 39, Local0, 0)
+
+ if (y078) {
+ NOr(Derefof(Refof(aui5)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 40, Local0, 0x29af5d7b)
+
+ NOr(Derefof(Refof(auii)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 41, Local0, 0)
+ }
+
+ NOr(Derefof(Index(paui, 5)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 42, Local0, 0x29af5d7b)
+
+ NOr(Derefof(Index(paui, 18)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 43, Local0, 0)
+
+ // Method returns Integer
+
+ NOr(m601(1, 5), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 44, Local0, 0x29af5d7b)
+
+ NOr(m601(1, 18), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 45, Local0, 0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ NOr(Derefof(m602(1, 5, 1)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 46, Local0, 0x29af5d7b)
+
+ NOr(Derefof(m602(1, 18, 1)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 47, Local0, 0)
+ }
+
+ // Conversion of the both operands
+
+ Store(NOr(m604(0, 3, 6, 0), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 48, Local0, 0x29af5c5a)
+
+ Store(NOr(m604(0, 3, 10, 0), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 49, Local0, 0x29af5c5a)
+
+ NOr(m604(0, 3, 6, 0), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 50, Local0, 0x29af5c5a)
+
+ NOr(m604(0, 3, 10, 0), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 51, Local0, 0x29af5c5a)
+ }
+
+ // Or, common 32-bit/64-bit test
+ Method(m050, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Or(m604(0, 3, 6, 0), 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Or(m604(0, 3, 6, 0), 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xffffffffffffffff)
+
+ Store(Or(m604(0, 3, 6, 0), aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Or(m604(0, 3, 6, 0), auij), Local0)
+ m600(arg0, 3, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Store(Or(m604(0, 3, 6, 0), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Or(m604(0, 3, 6, 0), Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xffffffffffffffff)
+ }
+
+ Store(Or(m604(0, 3, 6, 0), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Or(m604(0, 3, 6, 0), Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Store(Or(m604(0, 3, 6, 0), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Or(m604(0, 3, 6, 0), m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(m604(0, 3, 6, 0), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Or(m604(0, 3, 6, 0), Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xffffffffffffffff)
+ }
+
+ Or(m604(0, 3, 6, 0), 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Or(m604(0, 3, 6, 0), 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xffffffffffffffff)
+
+ Or(m604(0, 3, 6, 0), aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Or(m604(0, 3, 6, 0), auij, Local0)
+ m600(arg0, 15, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Or(m604(0, 3, 6, 0), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Or(m604(0, 3, 6, 0), Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xffffffffffffffff)
+ }
+
+ Or(m604(0, 3, 6, 0), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Or(m604(0, 3, 6, 0), Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Or(m604(0, 3, 6, 0), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Or(m604(0, 3, 6, 0), m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(m604(0, 3, 6, 0), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Or(m604(0, 3, 6, 0), Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xffffffffffffffff)
+ }
+
+ // Conversion of the second operand
+
+ Store(Or(0, m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 24, Local0, 0x321)
+
+ Store(Or(0xffffffffffffffff, m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 25, Local0, 0xffffffffffffffff)
+
+ Store(Or(aui5, m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 26, Local0, 0x321)
+
+ Store(Or(auij, m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 27, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Store(Or(Derefof(Refof(aui5)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 28, Local0, 0x321)
+
+ Store(Or(Derefof(Refof(auij)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 29, Local0, 0xffffffffffffffff)
+ }
+
+ Store(Or(Derefof(Index(paui, 5)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 30, Local0, 0x321)
+
+ Store(Or(Derefof(Index(paui, 19)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 31, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Store(Or(m601(1, 5), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 32, Local0, 0x321)
+
+ Store(Or(m601(1, 19), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 33, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(Derefof(m602(1, 5, 1)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 34, Local0, 0x321)
+
+ Store(Or(Derefof(m602(1, 19, 1)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 35, Local0, 0xffffffffffffffff)
+ }
+
+ Or(0, m604(0, 3, 6, 0), Local0)
+ m600(arg0, 36, Local0, 0x321)
+
+ Or(0xffffffffffffffff, m604(0, 3, 6, 0), Local0)
+ m600(arg0, 37, Local0, 0xffffffffffffffff)
+
+ Or(aui5, m604(0, 3, 6, 0), Local0)
+ m600(arg0, 38, Local0, 0x321)
+
+ Or(auij, m604(0, 3, 6, 0), Local0)
+ m600(arg0, 39, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Or(Derefof(Refof(aui5)), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 40, Local0, 0x321)
+
+ Or(Derefof(Refof(auij)), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 41, Local0, 0xffffffffffffffff)
+ }
+
+ Or(Derefof(Index(paui, 5)), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 42, Local0, 0x321)
+
+ Or(Derefof(Index(paui, 19)), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 43, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Or(m601(1, 5), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 44, Local0, 0x321)
+
+ Or(m601(1, 19), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 45, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(Derefof(m602(1, 5, 1)), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 46, Local0, 0x321)
+
+ Or(Derefof(m602(1, 19, 1)), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 47, Local0, 0xffffffffffffffff)
+ }
+ }
+
+ // Or, 64-bit
+ Method(m051, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Or(m604(0, 3, 10, 0), 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(m604(0, 3, 10, 0), 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xffffffffffffffff)
+
+ Store(Or(m604(0, 3, 10, 0), aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(m604(0, 3, 10, 0), auij), Local0)
+ m600(arg0, 3, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Store(Or(m604(0, 3, 10, 0), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(m604(0, 3, 10, 0), Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xffffffffffffffff)
+ }
+
+ Store(Or(m604(0, 3, 10, 0), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(m604(0, 3, 10, 0), Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Store(Or(m604(0, 3, 10, 0), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(m604(0, 3, 10, 0), m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(m604(0, 3, 10, 0), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(m604(0, 3, 10, 0), Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xffffffffffffffff)
+ }
+
+ Or(m604(0, 3, 10, 0), 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Or(m604(0, 3, 10, 0), 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xffffffffffffffff)
+
+ Or(m604(0, 3, 10, 0), aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Or(m604(0, 3, 10, 0), auij, Local0)
+ m600(arg0, 15, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Or(m604(0, 3, 10, 0), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Or(m604(0, 3, 10, 0), Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xffffffffffffffff)
+ }
+
+ Or(m604(0, 3, 10, 0), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Or(m604(0, 3, 10, 0), Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Or(m604(0, 3, 10, 0), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Or(m604(0, 3, 10, 0), m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(m604(0, 3, 10, 0), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Or(m604(0, 3, 10, 0), Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xffffffffffffffff)
+ }
+
+ // Conversion of the second operand
+
+ Store(Or(0, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 24, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(0xffffffffffffffff, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 25, Local0, 0xffffffffffffffff)
+
+ Store(Or(aui5, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 26, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(auij, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 27, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Store(Or(Derefof(Refof(aui5)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 28, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(Refof(auij)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 29, Local0, 0xffffffffffffffff)
+ }
+
+ Store(Or(Derefof(Index(paui, 5)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 30, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(Index(paui, 19)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 31, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Store(Or(m601(1, 5), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 32, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(m601(1, 19), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 33, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(Derefof(m602(1, 5, 1)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 34, Local0, 0xfe7cb391d650a284)
+
+ Store(Or(Derefof(m602(1, 19, 1)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 35, Local0, 0xffffffffffffffff)
+ }
+
+ Or(0, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 36, Local0, 0xfe7cb391d650a284)
+
+ Or(0xffffffffffffffff, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 37, Local0, 0xffffffffffffffff)
+
+ Or(aui5, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 38, Local0, 0xfe7cb391d650a284)
+
+ Or(auij, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 39, Local0, 0xffffffffffffffff)
+
+ if (y078) {
+ Or(Derefof(Refof(aui5)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 40, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(Refof(auij)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 41, Local0, 0xffffffffffffffff)
+ }
+
+ Or(Derefof(Index(paui, 5)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 42, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(Index(paui, 19)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 43, Local0, 0xffffffffffffffff)
+
+ // Method returns Integer
+
+ Or(m601(1, 5), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 44, Local0, 0xfe7cb391d650a284)
+
+ Or(m601(1, 19), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 45, Local0, 0xffffffffffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(Derefof(m602(1, 5, 1)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 46, Local0, 0xfe7cb391d650a284)
+
+ Or(Derefof(m602(1, 19, 1)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 47, Local0, 0xffffffffffffffff)
+ }
+
+ // Conversion of the both operands
+
+ Store(Or(m604(0, 3, 6, 0), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 48, Local0, 0xfe7cb391d650a3a5)
+
+ Store(Or(m604(0, 3, 10, 0), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 49, Local0, 0xfe7cb391d650a3a5)
+
+ Or(m604(0, 3, 6, 0), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 50, Local0, 0xfe7cb391d650a3a5)
+
+ Or(m604(0, 3, 10, 0), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 51, Local0, 0xfe7cb391d650a3a5)
+ }
+
+ // Or, 32-bit
+ Method(m052, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Or(m604(0, 3, 10, 0), 0), Local0)
+ m600(arg0, 0, Local0, 0xd650a284)
+
+ Store(Or(m604(0, 3, 10, 0), 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0xffffffff)
+
+ Store(Or(m604(0, 3, 10, 0), aui5), Local0)
+ m600(arg0, 2, Local0, 0xd650a284)
+
+ Store(Or(m604(0, 3, 10, 0), auii), Local0)
+ m600(arg0, 3, Local0, 0xffffffff)
+
+ if (y078) {
+ Store(Or(m604(0, 3, 10, 0), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xd650a284)
+
+ Store(Or(m604(0, 3, 10, 0), Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0xffffffff)
+ }
+
+ Store(Or(m604(0, 3, 10, 0), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xd650a284)
+
+ Store(Or(m604(0, 3, 10, 0), Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0xffffffff)
+
+ // Method returns Integer
+
+ Store(Or(m604(0, 3, 10, 0), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xd650a284)
+
+ Store(Or(m604(0, 3, 10, 0), m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0xffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(m604(0, 3, 10, 0), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xd650a284)
+
+ Store(Or(m604(0, 3, 10, 0), Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0xffffffff)
+ }
+
+ Or(m604(0, 3, 10, 0), 0, Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ Or(m604(0, 3, 10, 0), 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0xffffffff)
+
+ Or(m604(0, 3, 10, 0), aui5, Local0)
+ m600(arg0, 14, Local0, 0xd650a284)
+
+ Or(m604(0, 3, 10, 0), auii, Local0)
+ m600(arg0, 15, Local0, 0xffffffff)
+
+ if (y078) {
+ Or(m604(0, 3, 10, 0), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xd650a284)
+
+ Or(m604(0, 3, 10, 0), Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0xffffffff)
+ }
+
+ Or(m604(0, 3, 10, 0), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xd650a284)
+
+ Or(m604(0, 3, 10, 0), Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0xffffffff)
+
+ // Method returns Integer
+
+ Or(m604(0, 3, 10, 0), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xd650a284)
+
+ Or(m604(0, 3, 10, 0), m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0xffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(m604(0, 3, 10, 0), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xd650a284)
+
+ Or(m604(0, 3, 10, 0), Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0xffffffff)
+ }
+
+ // Conversion of the second operand
+
+ Store(Or(0, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 24, Local0, 0xd650a284)
+
+ Store(Or(0xffffffff, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 25, Local0, 0xffffffff)
+
+ Store(Or(aui5, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 26, Local0, 0xd650a284)
+
+ Store(Or(auii, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 27, Local0, 0xffffffff)
+
+ if (y078) {
+ Store(Or(Derefof(Refof(aui5)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 28, Local0, 0xd650a284)
+
+ Store(Or(Derefof(Refof(auii)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 29, Local0, 0xffffffff)
+ }
+
+ Store(Or(Derefof(Index(paui, 5)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 30, Local0, 0xd650a284)
+
+ Store(Or(Derefof(Index(paui, 18)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 31, Local0, 0xffffffff)
+
+ // Method returns Integer
+
+ Store(Or(m601(1, 5), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 32, Local0, 0xd650a284)
+
+ Store(Or(m601(1, 18), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 33, Local0, 0xffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Or(Derefof(m602(1, 5, 1)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 34, Local0, 0xd650a284)
+
+ Store(Or(Derefof(m602(1, 18, 1)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 35, Local0, 0xffffffff)
+ }
+
+ Or(0, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 36, Local0, 0xd650a284)
+
+ Or(0xffffffff, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 37, Local0, 0xffffffff)
+
+ Or(aui5, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 38, Local0, 0xd650a284)
+
+ Or(auii, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 39, Local0, 0xffffffff)
+
+ if (y078) {
+ Or(Derefof(Refof(aui5)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 40, Local0, 0xd650a284)
+
+ Or(Derefof(Refof(auii)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 41, Local0, 0xffffffff)
+ }
+
+ Or(Derefof(Index(paui, 5)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 42, Local0, 0xd650a284)
+
+ Or(Derefof(Index(paui, 18)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 43, Local0, 0xffffffff)
+
+ // Method returns Integer
+
+ Or(m601(1, 5), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 44, Local0, 0xd650a284)
+
+ Or(m601(1, 18), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 45, Local0, 0xffffffff)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Or(Derefof(m602(1, 5, 1)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 46, Local0, 0xd650a284)
+
+ Or(Derefof(m602(1, 18, 1)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 47, Local0, 0xffffffff)
+ }
+
+ // Conversion of the both operands
+
+ Store(Or(m604(0, 3, 6, 0), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 48, Local0, 0xd650a3a5)
+
+ Store(Or(m604(0, 3, 10, 0), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 49, Local0, 0xd650a3a5)
+
+ Or(m604(0, 3, 6, 0), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 50, Local0, 0xd650a3a5)
+
+ Or(m604(0, 3, 10, 0), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 51, Local0, 0xd650a3a5)
+ }
+
+ // ShiftLeft, common 32-bit/64-bit test
+ Method(m053, 1)
+ {
+ // Conversion of the first operand
+
+ Store(ShiftLeft(m604(0, 3, 6, 0), 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(ShiftLeft(m604(0, 3, 6, 0), 1), Local0)
+ m600(arg0, 1, Local0, 0x642)
+
+ Store(ShiftLeft(m604(0, 3, 6, 0), aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(ShiftLeft(m604(0, 3, 6, 0), aui6), Local0)
+ m600(arg0, 3, Local0, 0x642)
+
+ if (y078) {
+ Store(ShiftLeft(m604(0, 3, 6, 0), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(ShiftLeft(m604(0, 3, 6, 0), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x642)
+ }
+
+ Store(ShiftLeft(m604(0, 3, 6, 0), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(ShiftLeft(m604(0, 3, 6, 0), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x642)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(m604(0, 3, 6, 0), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(ShiftLeft(m604(0, 3, 6, 0), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x642)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(m604(0, 3, 6, 0), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(ShiftLeft(m604(0, 3, 6, 0), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x642)
+ }
+
+ ShiftLeft(m604(0, 3, 6, 0), 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ ShiftLeft(m604(0, 3, 6, 0), 1, Local0)
+ m600(arg0, 13, Local0, 0x642)
+
+ ShiftLeft(m604(0, 3, 6, 0), aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ ShiftLeft(m604(0, 3, 6, 0), aui6, Local0)
+ m600(arg0, 15, Local0, 0x642)
+
+ if (y078) {
+ ShiftLeft(m604(0, 3, 6, 0), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ ShiftLeft(m604(0, 3, 6, 0), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x642)
+ }
+
+ ShiftLeft(m604(0, 3, 6, 0), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ ShiftLeft(m604(0, 3, 6, 0), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x642)
+
+ // Method returns Integer
+
+ ShiftLeft(m604(0, 3, 6, 0), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ ShiftLeft(m604(0, 3, 6, 0), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x642)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(m604(0, 3, 6, 0), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ ShiftLeft(m604(0, 3, 6, 0), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x642)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftLeft(0, m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftLeft(1, m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 25, Local0, 0x800)
+
+ Store(ShiftLeft(aui5, m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftLeft(aui6, m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 27, Local0, 0x800)
+
+ if (y078) {
+ Store(ShiftLeft(Derefof(Refof(aui5)), m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Refof(aui6)), m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 29, Local0, 0x800)
+ }
+
+ Store(ShiftLeft(Derefof(Index(paui, 5)), m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Index(paui, 6)), m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 31, Local0, 0x800)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(m601(1, 5), m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftLeft(m601(1, 6), m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 33, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(Derefof(m602(1, 5, 1)), m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftLeft(Derefof(m602(1, 6, 1)), m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 35, Local0, 0x800)
+ }
+
+ ShiftLeft(0, m604(0, 3, 14, 0), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftLeft(1, m604(0, 3, 14, 0), Local0)
+ m600(arg0, 37, Local0, 0x800)
+
+ ShiftLeft(aui5, m604(0, 3, 14, 0), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftLeft(aui6, m604(0, 3, 14, 0), Local0)
+ m600(arg0, 39, Local0, 0x800)
+
+ if (y078) {
+ ShiftLeft(Derefof(Refof(aui5)), m604(0, 3, 14, 0), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftLeft(Derefof(Refof(aui6)), m604(0, 3, 14, 0), Local0)
+ m600(arg0, 41, Local0, 0x800)
+ }
+
+ ShiftLeft(Derefof(Index(paui, 5)), m604(0, 3, 14, 0), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftLeft(Derefof(Index(paui, 6)), m604(0, 3, 14, 0), Local0)
+ m600(arg0, 43, Local0, 0x800)
+
+ // Method returns Integer
+
+ ShiftLeft(m601(1, 5), m604(0, 3, 14, 0), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftLeft(m601(1, 6), m604(0, 3, 14, 0), Local0)
+ m600(arg0, 45, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(Derefof(m602(1, 5, 1)), m604(0, 3, 14, 0), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftLeft(Derefof(m602(1, 6, 1)), m604(0, 3, 14, 0), Local0)
+ m600(arg0, 47, Local0, 0x800)
+ }
+ }
+
+ // ShiftLeft, 64-bit
+ Method(m054, 1)
+ {
+ // Conversion of the first operand
+
+ Store(ShiftLeft(m604(0, 3, 10, 0), 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(m604(0, 3, 10, 0), 1), Local0)
+ m600(arg0, 1, Local0, 0xfcf96723aca14508)
+
+ Store(ShiftLeft(m604(0, 3, 10, 0), aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(m604(0, 3, 10, 0), aui6), Local0)
+ m600(arg0, 3, Local0, 0xfcf96723aca14508)
+
+ if (y078) {
+ Store(ShiftLeft(m604(0, 3, 10, 0), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(m604(0, 3, 10, 0), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xfcf96723aca14508)
+ }
+
+ Store(ShiftLeft(m604(0, 3, 10, 0), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(m604(0, 3, 10, 0), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xfcf96723aca14508)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(m604(0, 3, 10, 0), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(m604(0, 3, 10, 0), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xfcf96723aca14508)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(m604(0, 3, 10, 0), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftLeft(m604(0, 3, 10, 0), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfcf96723aca14508)
+ }
+
+ ShiftLeft(m604(0, 3, 10, 0), 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(m604(0, 3, 10, 0), 1, Local0)
+ m600(arg0, 13, Local0, 0xfcf96723aca14508)
+
+ ShiftLeft(m604(0, 3, 10, 0), aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(m604(0, 3, 10, 0), aui6, Local0)
+ m600(arg0, 15, Local0, 0xfcf96723aca14508)
+
+ if (y078) {
+ ShiftLeft(m604(0, 3, 10, 0), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(m604(0, 3, 10, 0), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xfcf96723aca14508)
+ }
+
+ ShiftLeft(m604(0, 3, 10, 0), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(m604(0, 3, 10, 0), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xfcf96723aca14508)
+
+ // Method returns Integer
+
+ ShiftLeft(m604(0, 3, 10, 0), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(m604(0, 3, 10, 0), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xfcf96723aca14508)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(m604(0, 3, 10, 0), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ ShiftLeft(m604(0, 3, 10, 0), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfcf96723aca14508)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftLeft(0, m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftLeft(1, m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 25, Local0, 0x800)
+
+ Store(ShiftLeft(aui5, m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftLeft(aui6, m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 27, Local0, 0x800)
+
+ if (y078) {
+ Store(ShiftLeft(Derefof(Refof(aui5)), m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Refof(aui6)), m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 29, Local0, 0x800)
+ }
+
+ Store(ShiftLeft(Derefof(Index(paui, 5)), m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Index(paui, 6)), m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 31, Local0, 0x800)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(m601(1, 5), m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftLeft(m601(1, 6), m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 33, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(Derefof(m602(1, 5, 1)), m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftLeft(Derefof(m602(1, 6, 1)), m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 35, Local0, 0x800)
+ }
+
+ ShiftLeft(0, m604(0, 3, 14, 0), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftLeft(1, m604(0, 3, 14, 0), Local0)
+ m600(arg0, 37, Local0, 0x800)
+
+ ShiftLeft(aui5, m604(0, 3, 14, 0), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftLeft(aui6, m604(0, 3, 14, 0), Local0)
+ m600(arg0, 39, Local0, 0x800)
+
+ if (y078) {
+ ShiftLeft(Derefof(Refof(aui5)), m604(0, 3, 14, 0), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftLeft(Derefof(Refof(aui6)), m604(0, 3, 14, 0), Local0)
+ m600(arg0, 41, Local0, 0x800)
+ }
+
+ ShiftLeft(Derefof(Index(paui, 5)), m604(0, 3, 14, 0), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftLeft(Derefof(Index(paui, 6)), m604(0, 3, 14, 0), Local0)
+ m600(arg0, 43, Local0, 0x800)
+
+ // Method returns Integer
+
+ ShiftLeft(m601(1, 5), m604(0, 3, 14, 0), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftLeft(m601(1, 6), m604(0, 3, 14, 0), Local0)
+ m600(arg0, 45, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(Derefof(m602(1, 5, 1)), m604(0, 3, 14, 0), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftLeft(Derefof(m602(1, 6, 1)), m604(0, 3, 14, 0), Local0)
+ m600(arg0, 47, Local0, 0x800)
+ }
+
+ // Conversion of the both operands
+
+ Store(ShiftLeft(m604(0, 3, 6, 0), m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 48, Local0, 0x190800)
+
+ Store(ShiftLeft(m604(0, 3, 10, 0), m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 49, Local0, 0xE59C8EB285142000)
+
+ ShiftLeft(m604(0, 3, 6, 0), m604(0, 3, 14, 0), Local0)
+ m600(arg0, 50, Local0, 0x190800)
+
+ ShiftLeft(m604(0, 3, 10, 0), m604(0, 3, 14, 0), Local0)
+ m600(arg0, 51, Local0, 0xE59C8EB285142000)
+ }
+
+ // ShiftLeft, 32-bit
+ Method(m055, 1)
+ {
+ // Conversion of the first operand
+
+ Store(ShiftLeft(m604(0, 3, 10, 0), 0), Local0)
+ m600(arg0, 0, Local0, 0xd650a284)
+
+ Store(ShiftLeft(m604(0, 3, 10, 0), 1), Local0)
+ m600(arg0, 1, Local0, 0xaca14508)
+
+ Store(ShiftLeft(m604(0, 3, 10, 0), aui5), Local0)
+ m600(arg0, 2, Local0, 0xd650a284)
+
+ Store(ShiftLeft(m604(0, 3, 10, 0), aui6), Local0)
+ m600(arg0, 3, Local0, 0xaca14508)
+
+ if (y078) {
+ Store(ShiftLeft(m604(0, 3, 10, 0), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xd650a284)
+
+ Store(ShiftLeft(m604(0, 3, 10, 0), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xaca14508)
+ }
+
+ Store(ShiftLeft(m604(0, 3, 10, 0), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xd650a284)
+
+ Store(ShiftLeft(m604(0, 3, 10, 0), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xaca14508)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(m604(0, 3, 10, 0), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xd650a284)
+
+ Store(ShiftLeft(m604(0, 3, 10, 0), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xaca14508)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(m604(0, 3, 10, 0), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xd650a284)
+
+ Store(ShiftLeft(m604(0, 3, 10, 0), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xaca14508)
+ }
+
+ ShiftLeft(m604(0, 3, 10, 0), 0, Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ ShiftLeft(m604(0, 3, 10, 0), 1, Local0)
+ m600(arg0, 13, Local0, 0xaca14508)
+
+ ShiftLeft(m604(0, 3, 10, 0), aui5, Local0)
+ m600(arg0, 14, Local0, 0xd650a284)
+
+ ShiftLeft(m604(0, 3, 10, 0), aui6, Local0)
+ m600(arg0, 15, Local0, 0xaca14508)
+
+ if (y078) {
+ ShiftLeft(m604(0, 3, 10, 0), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xd650a284)
+
+ ShiftLeft(m604(0, 3, 10, 0), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xaca14508)
+ }
+
+ ShiftLeft(m604(0, 3, 10, 0), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xd650a284)
+
+ ShiftLeft(m604(0, 3, 10, 0), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xaca14508)
+
+ // Method returns Integer
+
+ ShiftLeft(m604(0, 3, 10, 0), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xd650a284)
+
+ ShiftLeft(m604(0, 3, 10, 0), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xaca14508)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(m604(0, 3, 10, 0), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xd650a284)
+
+ ShiftLeft(m604(0, 3, 10, 0), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xaca14508)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftLeft(0, m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftLeft(1, m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 25, Local0, 0x800)
+
+ Store(ShiftLeft(aui5, m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftLeft(aui6, m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 27, Local0, 0x800)
+
+ if (y078) {
+ Store(ShiftLeft(Derefof(Refof(aui5)), m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Refof(aui6)), m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 29, Local0, 0x800)
+ }
+
+ Store(ShiftLeft(Derefof(Index(paui, 5)), m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftLeft(Derefof(Index(paui, 6)), m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 31, Local0, 0x800)
+
+ // Method returns Integer
+
+ Store(ShiftLeft(m601(1, 5), m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftLeft(m601(1, 6), m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 33, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftLeft(Derefof(m602(1, 5, 1)), m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftLeft(Derefof(m602(1, 6, 1)), m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 35, Local0, 0x800)
+ }
+
+ ShiftLeft(0, m604(0, 3, 14, 0), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftLeft(1, m604(0, 3, 14, 0), Local0)
+ m600(arg0, 37, Local0, 0x800)
+
+ ShiftLeft(aui5, m604(0, 3, 14, 0), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftLeft(aui6, m604(0, 3, 14, 0), Local0)
+ m600(arg0, 39, Local0, 0x800)
+
+ if (y078) {
+ ShiftLeft(Derefof(Refof(aui5)), m604(0, 3, 14, 0), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftLeft(Derefof(Refof(aui6)), m604(0, 3, 14, 0), Local0)
+ m600(arg0, 41, Local0, 0x800)
+ }
+
+ ShiftLeft(Derefof(Index(paui, 5)), m604(0, 3, 14, 0), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftLeft(Derefof(Index(paui, 6)), m604(0, 3, 14, 0), Local0)
+ m600(arg0, 43, Local0, 0x800)
+
+ // Method returns Integer
+
+ ShiftLeft(m601(1, 5), m604(0, 3, 14, 0), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftLeft(m601(1, 6), m604(0, 3, 14, 0), Local0)
+ m600(arg0, 45, Local0, 0x800)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftLeft(Derefof(m602(1, 5, 1)), m604(0, 3, 14, 0), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftLeft(Derefof(m602(1, 6, 1)), m604(0, 3, 14, 0), Local0)
+ m600(arg0, 47, Local0, 0x800)
+ }
+
+ // Conversion of the both operands
+
+ Store(ShiftLeft(m604(0, 3, 6, 0), m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 48, Local0, 0x190800)
+
+ Store(ShiftLeft(m604(0, 3, 10, 0), m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 49, Local0, 0x85142000)
+
+ ShiftLeft(m604(0, 3, 6, 0), m604(0, 3, 14, 0), Local0)
+ m600(arg0, 50, Local0, 0x190800)
+
+ ShiftLeft(m604(0, 3, 10, 0), m604(0, 3, 14, 0), Local0)
+ m600(arg0, 51, Local0, 0x85142000)
+ }
+
+ // ShiftRight, common 32-bit/64-bit test
+ Method(m056, 1)
+ {
+ // Conversion of the first operand
+
+ Store(ShiftRight(m604(0, 3, 6, 0), 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(ShiftRight(m604(0, 3, 6, 0), 1), Local0)
+ m600(arg0, 1, Local0, 0x190)
+
+ Store(ShiftRight(m604(0, 3, 6, 0), aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(ShiftRight(m604(0, 3, 6, 0), aui6), Local0)
+ m600(arg0, 3, Local0, 0x190)
+
+ if (y078) {
+ Store(ShiftRight(m604(0, 3, 6, 0), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(ShiftRight(m604(0, 3, 6, 0), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x190)
+ }
+
+ Store(ShiftRight(m604(0, 3, 6, 0), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(ShiftRight(m604(0, 3, 6, 0), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x190)
+
+ // Method returns Integer
+
+ Store(ShiftRight(m604(0, 3, 6, 0), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(ShiftRight(m604(0, 3, 6, 0), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x190)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(m604(0, 3, 6, 0), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(ShiftRight(m604(0, 3, 6, 0), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x190)
+ }
+
+ ShiftRight(m604(0, 3, 6, 0), 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ ShiftRight(m604(0, 3, 6, 0), 1, Local0)
+ m600(arg0, 13, Local0, 0x190)
+
+ ShiftRight(m604(0, 3, 6, 0), aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ ShiftRight(m604(0, 3, 6, 0), aui6, Local0)
+ m600(arg0, 15, Local0, 0x190)
+
+ if (y078) {
+ ShiftRight(m604(0, 3, 6, 0), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ ShiftRight(m604(0, 3, 6, 0), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x190)
+ }
+
+ ShiftRight(m604(0, 3, 6, 0), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ ShiftRight(m604(0, 3, 6, 0), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x190)
+
+ // Method returns Integer
+
+ ShiftRight(m604(0, 3, 6, 0), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ ShiftRight(m604(0, 3, 6, 0), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x190)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(m604(0, 3, 6, 0), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ ShiftRight(m604(0, 3, 6, 0), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x190)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftRight(0x321, m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftRight(0xd650a284, m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 25, Local0, 0x1aca14)
+
+ Store(ShiftRight(aui1, m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftRight(auik, m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 27, Local0, 0x1aca14)
+
+ if (y078) {
+ Store(ShiftRight(Derefof(Refof(aui1)), m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftRight(Derefof(Refof(auik)), m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 29, Local0, 0x1aca14)
+ }
+
+ Store(ShiftRight(Derefof(Index(paui, 1)), m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftRight(Derefof(Index(paui, 20)), m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 31, Local0, 0x1aca14)
+
+ // Method returns Integer
+
+ Store(ShiftRight(m601(1, 1), m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftRight(m601(1, 20), m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 33, Local0, 0x1aca14)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(Derefof(m602(1, 1, 1)), m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftRight(Derefof(m602(1, 20, 1)), m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 35, Local0, 0x1aca14)
+ }
+
+ ShiftRight(0x321, m604(0, 3, 14, 0), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftRight(0xd650a284, m604(0, 3, 14, 0), Local0)
+ m600(arg0, 37, Local0, 0x1aca14)
+
+ ShiftRight(aui1, m604(0, 3, 14, 0), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftRight(auik, m604(0, 3, 14, 0), Local0)
+ m600(arg0, 39, Local0, 0x1aca14)
+
+ if (y078) {
+ ShiftRight(Derefof(Refof(aui1)), m604(0, 3, 14, 0), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftRight(Derefof(Refof(auik)), m604(0, 3, 14, 0), Local0)
+ m600(arg0, 41, Local0, 0x1aca14)
+ }
+
+ ShiftRight(Derefof(Index(paui, 1)), m604(0, 3, 14, 0), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftRight(Derefof(Index(paui, 20)), m604(0, 3, 14, 0), Local0)
+ m600(arg0, 43, Local0, 0x1aca14)
+
+ // Method returns Integer
+
+ ShiftRight(m601(1, 1), m604(0, 3, 14, 0), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftRight(m601(1, 20), m604(0, 3, 14, 0), Local0)
+ m600(arg0, 45, Local0, 0x1aca14)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(Derefof(m602(1, 1, 1)), m604(0, 3, 14, 0), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftRight(Derefof(m602(1, 20, 1)), m604(0, 3, 14, 0), Local0)
+ m600(arg0, 47, Local0, 0x1aca14)
+ }
+ }
+
+ // ShiftRight, 64-bit
+ Method(m057, 1)
+ {
+ // Conversion of the first operand
+
+ Store(ShiftRight(m604(0, 3, 10, 0), 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(m604(0, 3, 10, 0), 1), Local0)
+ m600(arg0, 1, Local0, 0x7f3e59c8eb285142)
+
+ Store(ShiftRight(m604(0, 3, 10, 0), aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(m604(0, 3, 10, 0), aui6), Local0)
+ m600(arg0, 3, Local0, 0x7f3e59c8eb285142)
+
+ if (y078) {
+ Store(ShiftRight(m604(0, 3, 10, 0), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(m604(0, 3, 10, 0), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x7f3e59c8eb285142)
+ }
+
+ Store(ShiftRight(m604(0, 3, 10, 0), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(m604(0, 3, 10, 0), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x7f3e59c8eb285142)
+
+ // Method returns Integer
+
+ Store(ShiftRight(m604(0, 3, 10, 0), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(m604(0, 3, 10, 0), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x7f3e59c8eb285142)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(m604(0, 3, 10, 0), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(ShiftRight(m604(0, 3, 10, 0), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x7f3e59c8eb285142)
+ }
+
+ ShiftRight(m604(0, 3, 10, 0), 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(m604(0, 3, 10, 0), 1, Local0)
+ m600(arg0, 13, Local0, 0x7f3e59c8eb285142)
+
+ ShiftRight(m604(0, 3, 10, 0), aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(m604(0, 3, 10, 0), aui6, Local0)
+ m600(arg0, 15, Local0, 0x7f3e59c8eb285142)
+
+ if (y078) {
+ ShiftRight(m604(0, 3, 10, 0), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(m604(0, 3, 10, 0), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x7f3e59c8eb285142)
+ }
+
+ ShiftRight(m604(0, 3, 10, 0), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(m604(0, 3, 10, 0), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x7f3e59c8eb285142)
+
+ // Method returns Integer
+
+ ShiftRight(m604(0, 3, 10, 0), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(m604(0, 3, 10, 0), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x7f3e59c8eb285142)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(m604(0, 3, 10, 0), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ ShiftRight(m604(0, 3, 10, 0), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x7f3e59c8eb285142)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftRight(0x321, m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftRight(0xfe7cb391d650a284, m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 25, Local0, 0x1fcf96723aca14)
+
+ Store(ShiftRight(aui1, m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftRight(aui4, m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 27, Local0, 0x1fcf96723aca14)
+
+ if (y078) {
+ Store(ShiftRight(Derefof(Refof(aui1)), m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftRight(Derefof(Refof(aui4)), m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 29, Local0, 0x1fcf96723aca14)
+ }
+
+ Store(ShiftRight(Derefof(Index(paui, 1)), m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftRight(Derefof(Index(paui, 4)), m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 31, Local0, 0x1fcf96723aca14)
+
+ // Method returns Integer
+
+ Store(ShiftRight(m601(1, 1), m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftRight(m601(1, 4), m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 33, Local0, 0x1fcf96723aca14)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(Derefof(m602(1, 1, 1)), m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftRight(Derefof(m602(1, 4, 1)), m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 35, Local0, 0x1fcf96723aca14)
+ }
+
+ ShiftRight(0x321, m604(0, 3, 14, 0), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftRight(0xfe7cb391d650a284, m604(0, 3, 14, 0), Local0)
+ m600(arg0, 37, Local0, 0x1fcf96723aca14)
+
+ ShiftRight(aui1, m604(0, 3, 14, 0), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftRight(aui4, m604(0, 3, 14, 0), Local0)
+ m600(arg0, 39, Local0, 0x1fcf96723aca14)
+
+ if (y078) {
+ ShiftRight(Derefof(Refof(aui1)), m604(0, 3, 14, 0), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftRight(Derefof(Refof(aui4)), m604(0, 3, 14, 0), Local0)
+ m600(arg0, 41, Local0, 0x1fcf96723aca14)
+ }
+
+ ShiftRight(Derefof(Index(paui, 1)), m604(0, 3, 14, 0), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftRight(Derefof(Index(paui, 4)), m604(0, 3, 14, 0), Local0)
+ m600(arg0, 43, Local0, 0x1fcf96723aca14)
+
+ // Method returns Integer
+
+ ShiftRight(m601(1, 1), m604(0, 3, 14, 0), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftRight(m601(1, 4), m604(0, 3, 14, 0), Local0)
+ m600(arg0, 45, Local0, 0x1fcf96723aca14)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(Derefof(m602(1, 1, 1)), m604(0, 3, 14, 0), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftRight(Derefof(m602(1, 4, 1)), m604(0, 3, 14, 0), Local0)
+ m600(arg0, 47, Local0, 0x1fcf96723aca14)
+ }
+
+ // Conversion of the both operands
+
+ Store(ShiftRight(m604(0, 3, 6, 0), m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 48, Local0, 0)
+
+ Store(ShiftRight(m604(0, 3, 10, 0), m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 49, Local0, 0x1fcf96723aca14)
+
+ ShiftRight(m604(0, 3, 6, 0), m604(0, 3, 14, 0), Local0)
+ m600(arg0, 50, Local0, 0)
+
+ ShiftRight(m604(0, 3, 10, 0), m604(0, 3, 14, 0), Local0)
+ m600(arg0, 51, Local0, 0x1fcf96723aca14)
+ }
+
+ // ShiftRight, 32-bit
+ Method(m058, 1)
+ {
+ // Conversion of the first operand
+
+ Store(ShiftRight(m604(0, 3, 10, 0), 0), Local0)
+ m600(arg0, 0, Local0, 0xd650a284)
+
+ Store(ShiftRight(m604(0, 3, 10, 0), 1), Local0)
+ m600(arg0, 1, Local0, 0x6b285142)
+
+ Store(ShiftRight(m604(0, 3, 10, 0), aui5), Local0)
+ m600(arg0, 2, Local0, 0xd650a284)
+
+ Store(ShiftRight(m604(0, 3, 10, 0), aui6), Local0)
+ m600(arg0, 3, Local0, 0x6b285142)
+
+ if (y078) {
+ Store(ShiftRight(m604(0, 3, 10, 0), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xd650a284)
+
+ Store(ShiftRight(m604(0, 3, 10, 0), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x6b285142)
+ }
+
+ Store(ShiftRight(m604(0, 3, 10, 0), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xd650a284)
+
+ Store(ShiftRight(m604(0, 3, 10, 0), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x6b285142)
+
+ // Method returns Integer
+
+ Store(ShiftRight(m604(0, 3, 10, 0), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xd650a284)
+
+ Store(ShiftRight(m604(0, 3, 10, 0), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x6b285142)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(m604(0, 3, 10, 0), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xd650a284)
+
+ Store(ShiftRight(m604(0, 3, 10, 0), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x6b285142)
+ }
+
+ ShiftRight(m604(0, 3, 10, 0), 0, Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ ShiftRight(m604(0, 3, 10, 0), 1, Local0)
+ m600(arg0, 13, Local0, 0x6b285142)
+
+ ShiftRight(m604(0, 3, 10, 0), aui5, Local0)
+ m600(arg0, 14, Local0, 0xd650a284)
+
+ ShiftRight(m604(0, 3, 10, 0), aui6, Local0)
+ m600(arg0, 15, Local0, 0x6b285142)
+
+ if (y078) {
+ ShiftRight(m604(0, 3, 10, 0), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xd650a284)
+
+ ShiftRight(m604(0, 3, 10, 0), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x6b285142)
+ }
+
+ ShiftRight(m604(0, 3, 10, 0), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xd650a284)
+
+ ShiftRight(m604(0, 3, 10, 0), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x6b285142)
+
+ // Method returns Integer
+
+ ShiftRight(m604(0, 3, 10, 0), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xd650a284)
+
+ ShiftRight(m604(0, 3, 10, 0), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x6b285142)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(m604(0, 3, 10, 0), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xd650a284)
+
+ ShiftRight(m604(0, 3, 10, 0), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x6b285142)
+ }
+
+ // Conversion of the second operand
+
+ Store(ShiftRight(0x321, m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 24, Local0, 0)
+
+ Store(ShiftRight(0xd650a284, m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 25, Local0, 0x1aca14)
+
+ Store(ShiftRight(aui1, m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 26, Local0, 0)
+
+ Store(ShiftRight(auik, m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 27, Local0, 0x1aca14)
+
+ if (y078) {
+ Store(ShiftRight(Derefof(Refof(aui1)), m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 28, Local0, 0)
+
+ Store(ShiftRight(Derefof(Refof(auik)), m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 29, Local0, 0x1aca14)
+ }
+
+ Store(ShiftRight(Derefof(Index(paui, 1)), m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 30, Local0, 0)
+
+ Store(ShiftRight(Derefof(Index(paui, 20)), m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 31, Local0, 0x1aca14)
+
+ // Method returns Integer
+
+ Store(ShiftRight(m601(1, 1), m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 32, Local0, 0)
+
+ Store(ShiftRight(m601(1, 20), m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 33, Local0, 0x1aca14)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(ShiftRight(Derefof(m602(1, 1, 1)), m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 34, Local0, 0)
+
+ Store(ShiftRight(Derefof(m602(1, 20, 1)), m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 35, Local0, 0x1aca14)
+ }
+
+ ShiftRight(0x321, m604(0, 3, 14, 0), Local0)
+ m600(arg0, 36, Local0, 0)
+
+ ShiftRight(0xd650a284, m604(0, 3, 14, 0), Local0)
+ m600(arg0, 37, Local0, 0x1aca14)
+
+ ShiftRight(aui1, m604(0, 3, 14, 0), Local0)
+ m600(arg0, 38, Local0, 0)
+
+ ShiftRight(auik, m604(0, 3, 14, 0), Local0)
+ m600(arg0, 39, Local0, 0x1aca14)
+
+ if (y078) {
+ ShiftRight(Derefof(Refof(aui1)), m604(0, 3, 14, 0), Local0)
+ m600(arg0, 40, Local0, 0)
+
+ ShiftRight(Derefof(Refof(auik)), m604(0, 3, 14, 0), Local0)
+ m600(arg0, 41, Local0, 0x1aca14)
+ }
+
+ ShiftRight(Derefof(Index(paui, 1)), m604(0, 3, 14, 0), Local0)
+ m600(arg0, 42, Local0, 0)
+
+ ShiftRight(Derefof(Index(paui, 20)), m604(0, 3, 14, 0), Local0)
+ m600(arg0, 43, Local0, 0x1aca14)
+
+ // Method returns Integer
+
+ ShiftRight(m601(1, 1), m604(0, 3, 14, 0), Local0)
+ m600(arg0, 44, Local0, 0)
+
+ ShiftRight(m601(1, 20), m604(0, 3, 14, 0), Local0)
+ m600(arg0, 45, Local0, 0x1aca14)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ ShiftRight(Derefof(m602(1, 1, 1)), m604(0, 3, 14, 0), Local0)
+ m600(arg0, 46, Local0, 0)
+
+ ShiftRight(Derefof(m602(1, 20, 1)), m604(0, 3, 14, 0), Local0)
+ m600(arg0, 47, Local0, 0x1aca14)
+ }
+
+ // Conversion of the both operands
+
+ Store(ShiftRight(m604(0, 3, 6, 0), m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 48, Local0, 0)
+
+ Store(ShiftRight(m604(0, 3, 10, 0), m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 49, Local0, 0x1aca14)
+
+ ShiftRight(m604(0, 3, 6, 0), m604(0, 3, 14, 0), Local0)
+ m600(arg0, 50, Local0, 0)
+
+ ShiftRight(m604(0, 3, 10, 0), m604(0, 3, 14, 0), Local0)
+ m600(arg0, 51, Local0, 0x1aca14)
+ }
+
+ // Subtract, common 32-bit/64-bit test
+ Method(m059, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Subtract(m604(0, 3, 6, 0), 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(Subtract(m604(0, 3, 6, 0), 1), Local0)
+ m600(arg0, 1, Local0, 0x320)
+
+ Store(Subtract(m604(0, 3, 6, 0), aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(Subtract(m604(0, 3, 6, 0), aui6), Local0)
+ m600(arg0, 3, Local0, 0x320)
+
+ if (y078) {
+ Store(Subtract(m604(0, 3, 6, 0), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(Subtract(m604(0, 3, 6, 0), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0x320)
+ }
+
+ Store(Subtract(m604(0, 3, 6, 0), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(Subtract(m604(0, 3, 6, 0), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0x320)
+
+ // Method returns Integer
+
+ Store(Subtract(m604(0, 3, 6, 0), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(Subtract(m604(0, 3, 6, 0), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0x320)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(m604(0, 3, 6, 0), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(Subtract(m604(0, 3, 6, 0), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0x320)
+ }
+
+ Subtract(m604(0, 3, 6, 0), 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ Subtract(m604(0, 3, 6, 0), 1, Local0)
+ m600(arg0, 13, Local0, 0x320)
+
+ Subtract(m604(0, 3, 6, 0), aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ Subtract(m604(0, 3, 6, 0), aui6, Local0)
+ m600(arg0, 15, Local0, 0x320)
+
+ if (y078) {
+ Subtract(m604(0, 3, 6, 0), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ Subtract(m604(0, 3, 6, 0), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0x320)
+ }
+
+ Subtract(m604(0, 3, 6, 0), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ Subtract(m604(0, 3, 6, 0), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0x320)
+
+ // Method returns Integer
+
+ Subtract(m604(0, 3, 6, 0), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ Subtract(m604(0, 3, 6, 0), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0x320)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(m604(0, 3, 6, 0), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ Subtract(m604(0, 3, 6, 0), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0x320)
+ }
+
+ // Conversion of the second operand
+
+ Store(Subtract(0, m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 24, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(1, m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 25, Local0, 0xfffffffffffffce0)
+
+ Store(Subtract(aui5, m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 26, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(aui6, m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 27, Local0, 0xfffffffffffffce0)
+
+ if (y078) {
+ Store(Subtract(Derefof(Refof(aui5)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 28, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(Derefof(Refof(aui6)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 29, Local0, 0xfffffffffffffce0)
+ }
+
+ Store(Subtract(Derefof(Index(paui, 5)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 30, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(Derefof(Index(paui, 6)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 31, Local0, 0xfffffffffffffce0)
+
+ // Method returns Integer
+
+ Store(Subtract(m601(1, 5), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 32, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(m601(1, 6), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 33, Local0, 0xfffffffffffffce0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(Derefof(m602(1, 5, 1)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 34, Local0, 0xfffffffffffffcdf)
+
+ Store(Subtract(Derefof(m602(1, 6, 1)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 35, Local0, 0xfffffffffffffce0)
+ }
+
+ Subtract(0, m604(0, 3, 6, 0), Local0)
+ m600(arg0, 36, Local0, 0xfffffffffffffcdf)
+
+ Subtract(1, m604(0, 3, 6, 0), Local0)
+ m600(arg0, 37, Local0, 0xfffffffffffffce0)
+
+ Subtract(aui5, m604(0, 3, 6, 0), Local0)
+ m600(arg0, 38, Local0, 0xfffffffffffffcdf)
+
+ Subtract(aui6, m604(0, 3, 6, 0), Local0)
+ m600(arg0, 39, Local0, 0xfffffffffffffce0)
+
+ if (y078) {
+ Subtract(Derefof(Refof(aui5)), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 40, Local0, 0xfffffffffffffcdf)
+
+ Subtract(Derefof(Refof(aui6)), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 41, Local0, 0xfffffffffffffce0)
+ }
+
+ Subtract(Derefof(Index(paui, 5)), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 42, Local0, 0xfffffffffffffcdf)
+
+ Subtract(Derefof(Index(paui, 6)), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 43, Local0, 0xfffffffffffffce0)
+
+ // Method returns Integer
+
+ Subtract(m601(1, 5), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 44, Local0, 0xfffffffffffffcdf)
+
+ Subtract(m601(1, 6), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 45, Local0, 0xfffffffffffffce0)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(Derefof(m602(1, 5, 1)), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 46, Local0, 0xfffffffffffffcdf)
+
+ Subtract(Derefof(m602(1, 6, 1)), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 47, Local0, 0xfffffffffffffce0)
+ }
+ }
+
+ // Subtract, 64-bit
+ Method(m05a, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Subtract(m604(0, 3, 10, 0), 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(m604(0, 3, 10, 0), 1), Local0)
+ m600(arg0, 1, Local0, 0xfe7cb391d650a283)
+
+ Store(Subtract(m604(0, 3, 10, 0), aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(m604(0, 3, 10, 0), aui6), Local0)
+ m600(arg0, 3, Local0, 0xfe7cb391d650a283)
+
+ if (y078) {
+ Store(Subtract(m604(0, 3, 10, 0), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(m604(0, 3, 10, 0), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xfe7cb391d650a283)
+ }
+
+ Store(Subtract(m604(0, 3, 10, 0), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(m604(0, 3, 10, 0), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Integer
+
+ Store(Subtract(m604(0, 3, 10, 0), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(m604(0, 3, 10, 0), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(m604(0, 3, 10, 0), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(Subtract(m604(0, 3, 10, 0), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfe7cb391d650a283)
+ }
+
+ Subtract(m604(0, 3, 10, 0), 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ Subtract(m604(0, 3, 10, 0), 1, Local0)
+ m600(arg0, 13, Local0, 0xfe7cb391d650a283)
+
+ Subtract(m604(0, 3, 10, 0), aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ Subtract(m604(0, 3, 10, 0), aui6, Local0)
+ m600(arg0, 15, Local0, 0xfe7cb391d650a283)
+
+ if (y078) {
+ Subtract(m604(0, 3, 10, 0), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ Subtract(m604(0, 3, 10, 0), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xfe7cb391d650a283)
+ }
+
+ Subtract(m604(0, 3, 10, 0), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ Subtract(m604(0, 3, 10, 0), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Integer
+
+ Subtract(m604(0, 3, 10, 0), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ Subtract(m604(0, 3, 10, 0), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xfe7cb391d650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(m604(0, 3, 10, 0), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ Subtract(m604(0, 3, 10, 0), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfe7cb391d650a283)
+ }
+
+ // Conversion of the second operand
+
+ Store(Subtract(0, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 24, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(1, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 25, Local0, 0x01834c6e29af5d7d)
+
+ Store(Subtract(aui5, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 26, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(aui6, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 27, Local0, 0x01834c6e29af5d7d)
+
+ if (y078) {
+ Store(Subtract(Derefof(Refof(aui5)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 28, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(Derefof(Refof(aui6)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 29, Local0, 0x01834c6e29af5d7d)
+ }
+
+ Store(Subtract(Derefof(Index(paui, 5)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 30, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(Derefof(Index(paui, 6)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 31, Local0, 0x01834c6e29af5d7d)
+
+ // Method returns Integer
+
+ Store(Subtract(m601(1, 5), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 32, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(m601(1, 6), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 33, Local0, 0x01834c6e29af5d7d)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(Derefof(m602(1, 5, 1)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 34, Local0, 0x01834c6e29af5d7c)
+
+ Store(Subtract(Derefof(m602(1, 6, 1)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 35, Local0, 0x01834c6e29af5d7d)
+ }
+
+ Subtract(0, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 36, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(1, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 37, Local0, 0x01834c6e29af5d7d)
+
+ Subtract(aui5, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 38, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(aui6, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 39, Local0, 0x01834c6e29af5d7d)
+
+ if (y078) {
+ Subtract(Derefof(Refof(aui5)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 40, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(Derefof(Refof(aui6)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 41, Local0, 0x01834c6e29af5d7d)
+ }
+
+ Subtract(Derefof(Index(paui, 5)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 42, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(Derefof(Index(paui, 6)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 43, Local0, 0x01834c6e29af5d7d)
+
+ // Method returns Integer
+
+ Subtract(m601(1, 5), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 44, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(m601(1, 6), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 45, Local0, 0x01834c6e29af5d7d)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(Derefof(m602(1, 5, 1)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 46, Local0, 0x01834c6e29af5d7c)
+
+ Subtract(Derefof(m602(1, 6, 1)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 47, Local0, 0x01834c6e29af5d7d)
+ }
+
+ // Conversion of the both operands
+
+ Store(Subtract(m604(0, 3, 6, 0), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 48, Local0, 0x01834c6e29af609d)
+
+ Store(Subtract(m604(0, 3, 10, 0), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 49, Local0, 0xfe7cb391d6509f63)
+
+ Subtract(m604(0, 3, 6, 0), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 50, Local0, 0x01834c6e29af609d)
+
+ Subtract(m604(0, 3, 10, 0), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 51, Local0, 0xfe7cb391d6509f63)
+ }
+
+ // Subtract, 32-bit
+ Method(m05b, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Subtract(m604(0, 3, 10, 0), 0), Local0)
+ m600(arg0, 0, Local0, 0xd650a284)
+
+ Store(Subtract(m604(0, 3, 10, 0), 1), Local0)
+ m600(arg0, 1, Local0, 0xd650a283)
+
+ Store(Subtract(m604(0, 3, 10, 0), aui5), Local0)
+ m600(arg0, 2, Local0, 0xd650a284)
+
+ Store(Subtract(m604(0, 3, 10, 0), aui6), Local0)
+ m600(arg0, 3, Local0, 0xd650a283)
+
+ if (y078) {
+ Store(Subtract(m604(0, 3, 10, 0), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xd650a284)
+
+ Store(Subtract(m604(0, 3, 10, 0), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, 0xd650a283)
+ }
+
+ Store(Subtract(m604(0, 3, 10, 0), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xd650a284)
+
+ Store(Subtract(m604(0, 3, 10, 0), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, 0xd650a283)
+
+ // Method returns Integer
+
+ Store(Subtract(m604(0, 3, 10, 0), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xd650a284)
+
+ Store(Subtract(m604(0, 3, 10, 0), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, 0xd650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(m604(0, 3, 10, 0), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xd650a284)
+
+ Store(Subtract(m604(0, 3, 10, 0), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, 0xd650a283)
+ }
+
+ Subtract(m604(0, 3, 10, 0), 0, Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ Subtract(m604(0, 3, 10, 0), 1, Local0)
+ m600(arg0, 13, Local0, 0xd650a283)
+
+ Subtract(m604(0, 3, 10, 0), aui5, Local0)
+ m600(arg0, 14, Local0, 0xd650a284)
+
+ Subtract(m604(0, 3, 10, 0), aui6, Local0)
+ m600(arg0, 15, Local0, 0xd650a283)
+
+ if (y078) {
+ Subtract(m604(0, 3, 10, 0), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xd650a284)
+
+ Subtract(m604(0, 3, 10, 0), Derefof(Refof(aui6)), Local0)
+ m600(arg0, 17, Local0, 0xd650a283)
+ }
+
+ Subtract(m604(0, 3, 10, 0), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xd650a284)
+
+ Subtract(m604(0, 3, 10, 0), Derefof(Index(paui, 6)), Local0)
+ m600(arg0, 19, Local0, 0xd650a283)
+
+ // Method returns Integer
+
+ Subtract(m604(0, 3, 10, 0), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xd650a284)
+
+ Subtract(m604(0, 3, 10, 0), m601(1, 6), Local0)
+ m600(arg0, 21, Local0, 0xd650a283)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(m604(0, 3, 10, 0), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xd650a284)
+
+ Subtract(m604(0, 3, 10, 0), Derefof(m602(1, 6, 1)), Local0)
+ m600(arg0, 23, Local0, 0xd650a283)
+ }
+
+ // Conversion of the second operand
+
+ Store(Subtract(0, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 24, Local0, 0x29af5d7c)
+
+ Store(Subtract(1, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 25, Local0, 0x29af5d7d)
+
+ Store(Subtract(aui5, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 26, Local0, 0x29af5d7c)
+
+ Store(Subtract(aui6, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 27, Local0, 0x29af5d7d)
+
+ if (y078) {
+ Store(Subtract(Derefof(Refof(aui5)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 28, Local0, 0x29af5d7c)
+
+ Store(Subtract(Derefof(Refof(aui6)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 29, Local0, 0x29af5d7d)
+ }
+
+ Store(Subtract(Derefof(Index(paui, 5)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 30, Local0, 0x29af5d7c)
+
+ Store(Subtract(Derefof(Index(paui, 6)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 31, Local0, 0x29af5d7d)
+
+ // Method returns Integer
+
+ Store(Subtract(m601(1, 5), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 32, Local0, 0x29af5d7c)
+
+ Store(Subtract(m601(1, 6), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 33, Local0, 0x29af5d7d)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Subtract(Derefof(m602(1, 5, 1)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 34, Local0, 0x29af5d7c)
+
+ Store(Subtract(Derefof(m602(1, 6, 1)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 35, Local0, 0x29af5d7d)
+ }
+
+ Subtract(0, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 36, Local0, 0x29af5d7c)
+
+ Subtract(1, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 37, Local0, 0x29af5d7d)
+
+ Subtract(aui5, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 38, Local0, 0x29af5d7c)
+
+ Subtract(aui6, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 39, Local0, 0x29af5d7d)
+
+ if (y078) {
+ Subtract(Derefof(Refof(aui5)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 40, Local0, 0x29af5d7c)
+
+ Subtract(Derefof(Refof(aui6)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 41, Local0, 0x29af5d7d)
+ }
+
+ Subtract(Derefof(Index(paui, 5)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 42, Local0, 0x29af5d7c)
+
+ Subtract(Derefof(Index(paui, 6)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 43, Local0, 0x29af5d7d)
+
+ // Method returns Integer
+
+ Subtract(m601(1, 5), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 44, Local0, 0x29af5d7c)
+
+ Subtract(m601(1, 6), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 45, Local0, 0x29af5d7d)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Subtract(Derefof(m602(1, 5, 1)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 46, Local0, 0x29af5d7c)
+
+ Subtract(Derefof(m602(1, 6, 1)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 47, Local0, 0x29af5d7d)
+ }
+
+ // Conversion of the both operands
+
+ Store(Subtract(m604(0, 3, 6, 0), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 48, Local0, 0x29af609d)
+
+ Store(Subtract(m604(0, 3, 10, 0), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 49, Local0, 0xd6509f63)
+
+ Subtract(m604(0, 3, 6, 0), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 50, Local0, 0x29af609d)
+
+ Subtract(m604(0, 3, 10, 0), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 51, Local0, 0xd6509f63)
+ }
+
+ // XOr, common 32-bit/64-bit test
+ Method(m05c, 1)
+ {
+ // Conversion of the first operand
+
+ Store(XOr(m604(0, 3, 6, 0), 0), Local0)
+ m600(arg0, 0, Local0, 0x321)
+
+ Store(XOr(m604(0, 3, 6, 0), 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0xfffffffffffffcde)
+
+ Store(XOr(m604(0, 3, 6, 0), aui5), Local0)
+ m600(arg0, 2, Local0, 0x321)
+
+ Store(XOr(m604(0, 3, 6, 0), auij), Local0)
+ m600(arg0, 3, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ Store(XOr(m604(0, 3, 6, 0), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0x321)
+
+ Store(XOr(m604(0, 3, 6, 0), Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0xfffffffffffffcde)
+ }
+
+ Store(XOr(m604(0, 3, 6, 0), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0x321)
+
+ Store(XOr(m604(0, 3, 6, 0), Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ Store(XOr(m604(0, 3, 6, 0), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0x321)
+
+ Store(XOr(m604(0, 3, 6, 0), m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(m604(0, 3, 6, 0), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0x321)
+
+ Store(XOr(m604(0, 3, 6, 0), Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0xfffffffffffffcde)
+ }
+
+ XOr(m604(0, 3, 6, 0), 0, Local0)
+ m600(arg0, 12, Local0, 0x321)
+
+ XOr(m604(0, 3, 6, 0), 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0xfffffffffffffcde)
+
+ XOr(m604(0, 3, 6, 0), aui5, Local0)
+ m600(arg0, 14, Local0, 0x321)
+
+ XOr(m604(0, 3, 6, 0), auij, Local0)
+ m600(arg0, 15, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ XOr(m604(0, 3, 6, 0), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0x321)
+
+ XOr(m604(0, 3, 6, 0), Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0xfffffffffffffcde)
+ }
+
+ XOr(m604(0, 3, 6, 0), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0x321)
+
+ XOr(m604(0, 3, 6, 0), Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ XOr(m604(0, 3, 6, 0), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0x321)
+
+ XOr(m604(0, 3, 6, 0), m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(m604(0, 3, 6, 0), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0x321)
+
+ XOr(m604(0, 3, 6, 0), Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0xfffffffffffffcde)
+ }
+
+ // Conversion of the second operand
+
+ Store(XOr(0, m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 24, Local0, 0x321)
+
+ Store(XOr(0xffffffffffffffff, m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 25, Local0, 0xfffffffffffffcde)
+
+ Store(XOr(aui5, m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 26, Local0, 0x321)
+
+ Store(XOr(auij, m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 27, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ Store(XOr(Derefof(Refof(aui5)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 28, Local0, 0x321)
+
+ Store(XOr(Derefof(Refof(auij)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 29, Local0, 0xfffffffffffffcde)
+ }
+
+ Store(XOr(Derefof(Index(paui, 5)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 30, Local0, 0x321)
+
+ Store(XOr(Derefof(Index(paui, 19)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 31, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ Store(XOr(m601(1, 5), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 32, Local0, 0x321)
+
+ Store(XOr(m601(1, 19), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 33, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(Derefof(m602(1, 5, 1)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 34, Local0, 0x321)
+
+ Store(XOr(Derefof(m602(1, 19, 1)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 35, Local0, 0xfffffffffffffcde)
+ }
+
+ XOr(0, m604(0, 3, 6, 0), Local0)
+ m600(arg0, 36, Local0, 0x321)
+
+ XOr(0xffffffffffffffff, m604(0, 3, 6, 0), Local0)
+ m600(arg0, 37, Local0, 0xfffffffffffffcde)
+
+ XOr(aui5, m604(0, 3, 6, 0), Local0)
+ m600(arg0, 38, Local0, 0x321)
+
+ XOr(auij, m604(0, 3, 6, 0), Local0)
+ m600(arg0, 39, Local0, 0xfffffffffffffcde)
+
+ if (y078) {
+ XOr(Derefof(Refof(aui5)), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 40, Local0, 0x321)
+
+ XOr(Derefof(Refof(auij)), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 41, Local0, 0xfffffffffffffcde)
+ }
+
+ XOr(Derefof(Index(paui, 5)), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 42, Local0, 0x321)
+
+ XOr(Derefof(Index(paui, 19)), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 43, Local0, 0xfffffffffffffcde)
+
+ // Method returns Integer
+
+ XOr(m601(1, 5), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 44, Local0, 0x321)
+
+ XOr(m601(1, 19), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 45, Local0, 0xfffffffffffffcde)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(Derefof(m602(1, 5, 1)), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 46, Local0, 0x321)
+
+ XOr(Derefof(m602(1, 19, 1)), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 47, Local0, 0xfffffffffffffcde)
+ }
+ }
+
+ // XOr, 64-bit
+ Method(m05d, 1)
+ {
+ // Conversion of the first operand
+
+ Store(XOr(m604(0, 3, 10, 0), 0), Local0)
+ m600(arg0, 0, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(m604(0, 3, 10, 0), 0xffffffffffffffff), Local0)
+ m600(arg0, 1, Local0, 0x01834c6e29af5d7b)
+
+ Store(XOr(m604(0, 3, 10, 0), aui5), Local0)
+ m600(arg0, 2, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(m604(0, 3, 10, 0), auij), Local0)
+ m600(arg0, 3, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ Store(XOr(m604(0, 3, 10, 0), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(m604(0, 3, 10, 0), Derefof(Refof(auij))), Local0)
+ m600(arg0, 5, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Store(XOr(m604(0, 3, 10, 0), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(m604(0, 3, 10, 0), Derefof(Index(paui, 19))), Local0)
+ m600(arg0, 7, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ Store(XOr(m604(0, 3, 10, 0), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(m604(0, 3, 10, 0), m601(1, 19)), Local0)
+ m600(arg0, 9, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(m604(0, 3, 10, 0), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(m604(0, 3, 10, 0), Derefof(m602(1, 19, 1))), Local0)
+ m600(arg0, 11, Local0, 0x01834c6e29af5d7b)
+ }
+
+ XOr(m604(0, 3, 10, 0), 0, Local0)
+ m600(arg0, 12, Local0, 0xfe7cb391d650a284)
+
+ XOr(m604(0, 3, 10, 0), 0xffffffffffffffff, Local0)
+ m600(arg0, 13, Local0, 0x01834c6e29af5d7b)
+
+ XOr(m604(0, 3, 10, 0), aui5, Local0)
+ m600(arg0, 14, Local0, 0xfe7cb391d650a284)
+
+ XOr(m604(0, 3, 10, 0), auij, Local0)
+ m600(arg0, 15, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ XOr(m604(0, 3, 10, 0), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xfe7cb391d650a284)
+
+ XOr(m604(0, 3, 10, 0), Derefof(Refof(auij)), Local0)
+ m600(arg0, 17, Local0, 0x01834c6e29af5d7b)
+ }
+
+ XOr(m604(0, 3, 10, 0), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xfe7cb391d650a284)
+
+ XOr(m604(0, 3, 10, 0), Derefof(Index(paui, 19)), Local0)
+ m600(arg0, 19, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ XOr(m604(0, 3, 10, 0), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xfe7cb391d650a284)
+
+ XOr(m604(0, 3, 10, 0), m601(1, 19), Local0)
+ m600(arg0, 21, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(m604(0, 3, 10, 0), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xfe7cb391d650a284)
+
+ XOr(m604(0, 3, 10, 0), Derefof(m602(1, 19, 1)), Local0)
+ m600(arg0, 23, Local0, 0x01834c6e29af5d7b)
+ }
+
+ // Conversion of the second operand
+
+ Store(XOr(0, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 24, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(0xffffffffffffffff, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 25, Local0, 0x01834c6e29af5d7b)
+
+ Store(XOr(aui5, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 26, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(auij, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 27, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ Store(XOr(Derefof(Refof(aui5)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 28, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(Refof(auij)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 29, Local0, 0x01834c6e29af5d7b)
+ }
+
+ Store(XOr(Derefof(Index(paui, 5)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 30, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(Index(paui, 19)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 31, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ Store(XOr(m601(1, 5), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 32, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(m601(1, 19), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 33, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(Derefof(m602(1, 5, 1)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 34, Local0, 0xfe7cb391d650a284)
+
+ Store(XOr(Derefof(m602(1, 19, 1)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 35, Local0, 0x01834c6e29af5d7b)
+ }
+
+ XOr(0, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 36, Local0, 0xfe7cb391d650a284)
+
+ XOr(0xffffffffffffffff, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 37, Local0, 0x01834c6e29af5d7b)
+
+ XOr(aui5, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 38, Local0, 0xfe7cb391d650a284)
+
+ XOr(auij, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 39, Local0, 0x01834c6e29af5d7b)
+
+ if (y078) {
+ XOr(Derefof(Refof(aui5)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 40, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(Refof(auij)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 41, Local0, 0x01834c6e29af5d7b)
+ }
+
+ XOr(Derefof(Index(paui, 5)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 42, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(Index(paui, 19)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 43, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Integer
+
+ XOr(m601(1, 5), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 44, Local0, 0xfe7cb391d650a284)
+
+ XOr(m601(1, 19), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 45, Local0, 0x01834c6e29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(Derefof(m602(1, 5, 1)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 46, Local0, 0xfe7cb391d650a284)
+
+ XOr(Derefof(m602(1, 19, 1)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 47, Local0, 0x01834c6e29af5d7b)
+ }
+
+ // Conversion of the both operands
+
+ Store(XOr(m604(0, 3, 6, 0), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 48, Local0, 0xfe7cb391d650a1a5)
+
+ Store(XOr(m604(0, 3, 10, 0), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 49, Local0, 0xfe7cb391d650a1a5)
+
+ XOr(m604(0, 3, 6, 0), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 50, Local0, 0xfe7cb391d650a1a5)
+
+ XOr(m604(0, 3, 10, 0), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 51, Local0, 0xfe7cb391d650a1a5)
+ }
+
+ // XOr, 32-bit
+ Method(m05e, 1)
+ {
+ // Conversion of the first operand
+
+ Store(XOr(m604(0, 3, 10, 0), 0), Local0)
+ m600(arg0, 0, Local0, 0xd650a284)
+
+ Store(XOr(m604(0, 3, 10, 0), 0xffffffff), Local0)
+ m600(arg0, 1, Local0, 0x29af5d7b)
+
+ Store(XOr(m604(0, 3, 10, 0), aui5), Local0)
+ m600(arg0, 2, Local0, 0xd650a284)
+
+ Store(XOr(m604(0, 3, 10, 0), auii), Local0)
+ m600(arg0, 3, Local0, 0x29af5d7b)
+
+ if (y078) {
+ Store(XOr(m604(0, 3, 10, 0), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, 0xd650a284)
+
+ Store(XOr(m604(0, 3, 10, 0), Derefof(Refof(auii))), Local0)
+ m600(arg0, 5, Local0, 0x29af5d7b)
+ }
+
+ Store(XOr(m604(0, 3, 10, 0), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, 0xd650a284)
+
+ Store(XOr(m604(0, 3, 10, 0), Derefof(Index(paui, 18))), Local0)
+ m600(arg0, 7, Local0, 0x29af5d7b)
+
+ // Method returns Integer
+
+ Store(XOr(m604(0, 3, 10, 0), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, 0xd650a284)
+
+ Store(XOr(m604(0, 3, 10, 0), m601(1, 18)), Local0)
+ m600(arg0, 9, Local0, 0x29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(m604(0, 3, 10, 0), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, 0xd650a284)
+
+ Store(XOr(m604(0, 3, 10, 0), Derefof(m602(1, 18, 1))), Local0)
+ m600(arg0, 11, Local0, 0x29af5d7b)
+ }
+
+ XOr(m604(0, 3, 10, 0), 0, Local0)
+ m600(arg0, 12, Local0, 0xd650a284)
+
+ XOr(m604(0, 3, 10, 0), 0xffffffff, Local0)
+ m600(arg0, 13, Local0, 0x29af5d7b)
+
+ XOr(m604(0, 3, 10, 0), aui5, Local0)
+ m600(arg0, 14, Local0, 0xd650a284)
+
+ XOr(m604(0, 3, 10, 0), auii, Local0)
+ m600(arg0, 15, Local0, 0x29af5d7b)
+
+ if (y078) {
+ XOr(m604(0, 3, 10, 0), Derefof(Refof(aui5)), Local0)
+ m600(arg0, 16, Local0, 0xd650a284)
+
+ XOr(m604(0, 3, 10, 0), Derefof(Refof(auii)), Local0)
+ m600(arg0, 17, Local0, 0x29af5d7b)
+ }
+
+ XOr(m604(0, 3, 10, 0), Derefof(Index(paui, 5)), Local0)
+ m600(arg0, 18, Local0, 0xd650a284)
+
+ XOr(m604(0, 3, 10, 0), Derefof(Index(paui, 18)), Local0)
+ m600(arg0, 19, Local0, 0x29af5d7b)
+
+ // Method returns Integer
+
+ XOr(m604(0, 3, 10, 0), m601(1, 5), Local0)
+ m600(arg0, 20, Local0, 0xd650a284)
+
+ XOr(m604(0, 3, 10, 0), m601(1, 18), Local0)
+ m600(arg0, 21, Local0, 0x29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(m604(0, 3, 10, 0), Derefof(m602(1, 5, 1)), Local0)
+ m600(arg0, 22, Local0, 0xd650a284)
+
+ XOr(m604(0, 3, 10, 0), Derefof(m602(1, 18, 1)), Local0)
+ m600(arg0, 23, Local0, 0x29af5d7b)
+ }
+
+ // Conversion of the second operand
+
+ Store(XOr(0, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 24, Local0, 0xd650a284)
+
+ Store(XOr(0xffffffff, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 25, Local0, 0x29af5d7b)
+
+ Store(XOr(aui5, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 26, Local0, 0xd650a284)
+
+ Store(XOr(auii, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 27, Local0, 0x29af5d7b)
+
+ if (y078) {
+ Store(XOr(Derefof(Refof(aui5)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 28, Local0, 0xd650a284)
+
+ Store(XOr(Derefof(Refof(auii)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 29, Local0, 0x29af5d7b)
+ }
+
+ Store(XOr(Derefof(Index(paui, 5)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 30, Local0, 0xd650a284)
+
+ Store(XOr(Derefof(Index(paui, 18)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 31, Local0, 0x29af5d7b)
+
+ // Method returns Integer
+
+ Store(XOr(m601(1, 5), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 32, Local0, 0xd650a284)
+
+ Store(XOr(m601(1, 18), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 33, Local0, 0x29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(XOr(Derefof(m602(1, 5, 1)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 34, Local0, 0xd650a284)
+
+ Store(XOr(Derefof(m602(1, 18, 1)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 35, Local0, 0x29af5d7b)
+ }
+
+ XOr(0, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 36, Local0, 0xd650a284)
+
+ XOr(0xffffffff, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 37, Local0, 0x29af5d7b)
+
+ XOr(aui5, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 38, Local0, 0xd650a284)
+
+ XOr(auii, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 39, Local0, 0x29af5d7b)
+
+ if (y078) {
+ XOr(Derefof(Refof(aui5)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 40, Local0, 0xd650a284)
+
+ XOr(Derefof(Refof(auii)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 41, Local0, 0x29af5d7b)
+ }
+
+ XOr(Derefof(Index(paui, 5)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 42, Local0, 0xd650a284)
+
+ XOr(Derefof(Index(paui, 18)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 43, Local0, 0x29af5d7b)
+
+ // Method returns Integer
+
+ XOr(m601(1, 5), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 44, Local0, 0xd650a284)
+
+ XOr(m601(1, 18), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 45, Local0, 0x29af5d7b)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ XOr(Derefof(m602(1, 5, 1)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 46, Local0, 0xd650a284)
+
+ XOr(Derefof(m602(1, 18, 1)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 47, Local0, 0x29af5d7b)
+ }
+
+ // Conversion of the both operands
+
+ Store(XOr(m604(0, 3, 6, 0), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 48, Local0, 0xd650a1a5)
+
+ Store(XOr(m604(0, 3, 10, 0), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 49, Local0, 0xd650a1a5)
+
+ XOr(m604(0, 3, 6, 0), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 50, Local0, 0xd650a1a5)
+
+ XOr(m604(0, 3, 10, 0), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 51, Local0, 0xd650a1a5)
+ }
+
+ // Add, And, Divide, Mod, Multiply, NAnd, NOr, Or,
+ // ShiftLeft, ShiftRight, Subtract, Xor
+
+ Method(m64n, 1)
+ {
+ // Add
+ Concatenate(arg0, "-m03b", Local0)
+ SRMT(Local0)
+ m03b(Local0)
+ Concatenate(arg0, "-m03c", Local0)
+ SRMT(Local0)
+ m03c(Local0)
+
+ // And
+ Concatenate(arg0, "-m03e", Local0)
+ SRMT(Local0)
+ m03e(Local0)
+ Concatenate(arg0, "-m03f", Local0)
+ SRMT(Local0)
+ m03f(Local0)
+
+ // Divide
+ Concatenate(arg0, "-m041", Local0)
+ SRMT(Local0)
+ m041(Local0)
+ Concatenate(arg0, "-m042", Local0)
+ SRMT(Local0)
+ m042(Local0)
+
+ // Mod
+ Concatenate(arg0, "-m044", Local0)
+ SRMT(Local0)
+ m044(Local0)
+ Concatenate(arg0, "-m045", Local0)
+ SRMT(Local0)
+ m045(Local0)
+
+ // Multiply
+ Concatenate(arg0, "-m047", Local0)
+ SRMT(Local0)
+ m047(Local0)
+ Concatenate(arg0, "-m048", Local0)
+ SRMT(Local0)
+ m048(Local0)
+
+ // NAnd
+ Concatenate(arg0, "-m04a", Local0)
+ SRMT(Local0)
+ m04a(Local0)
+ Concatenate(arg0, "-m04b", Local0)
+ SRMT(Local0)
+ m04b(Local0)
+
+ // NOr
+ Concatenate(arg0, "-m04d", Local0)
+ SRMT(Local0)
+ m04d(Local0)
+ Concatenate(arg0, "-m04e", Local0)
+ SRMT(Local0)
+ m04e(Local0)
+
+ // Or
+ Concatenate(arg0, "-m050", Local0)
+ SRMT(Local0)
+ m050(Local0)
+ Concatenate(arg0, "-m051", Local0)
+ SRMT(Local0)
+ m051(Local0)
+
+ // ShiftLeft
+ Concatenate(arg0, "-m053", Local0)
+ SRMT(Local0)
+ m053(Local0)
+ Concatenate(arg0, "-m054", Local0)
+ SRMT(Local0)
+ m054(Local0)
+
+ // ShiftRight
+ Concatenate(arg0, "-m056", Local0)
+ SRMT(Local0)
+ m056(Local0)
+ Concatenate(arg0, "-m057", Local0)
+ SRMT(Local0)
+ m057(Local0)
+
+ // Subtract
+ Concatenate(arg0, "-m059", Local0)
+ SRMT(Local0)
+ m059(Local0)
+ Concatenate(arg0, "-m05a", Local0)
+ SRMT(Local0)
+ m05a(Local0)
+
+ // XOr
+ Concatenate(arg0, "-m05c", Local0)
+ SRMT(Local0)
+ m05c(Local0)
+ Concatenate(arg0, "-m05d", Local0)
+ SRMT(Local0)
+ m05d(Local0)
+ }
+
+ Method(m32n, 1)
+ {
+ // Add
+ Concatenate(arg0, "-m03b", Local0)
+ SRMT(Local0)
+ m03b(Local0)
+ Concatenate(arg0, "-m03d", Local0)
+ SRMT(Local0)
+ m03d(Local0)
+
+ // And
+ Concatenate(arg0, "-m03e", Local0)
+ SRMT(Local0)
+ m03e(Local0)
+ Concatenate(arg0, "-m040", Local0)
+ SRMT(Local0)
+ m040(Local0)
+
+ // Divide
+ Concatenate(arg0, "-m041", Local0)
+ SRMT(Local0)
+ m041(Local0)
+ Concatenate(arg0, "-m043", Local0)
+ SRMT(Local0)
+ m043(Local0)
+
+ // Mod
+ Concatenate(arg0, "-m044", Local0)
+ SRMT(Local0)
+ m044(Local0)
+ Concatenate(arg0, "-m046", Local0)
+ SRMT(Local0)
+ m046(Local0)
+
+ // Multiply
+ Concatenate(arg0, "-m047", Local0)
+ SRMT(Local0)
+ m047(Local0)
+ Concatenate(arg0, "-m049", Local0)
+ SRMT(Local0)
+ m049(Local0)
+
+ // NAnd
+ Concatenate(arg0, "-m04a", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m04a(Local0)
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m04c", Local0)
+ SRMT(Local0)
+ m04c(Local0)
+
+ // NOr
+ Concatenate(arg0, "-m04d", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m04d(Local0)
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m04f", Local0)
+ SRMT(Local0)
+ m04f(Local0)
+
+ // Or
+ Concatenate(arg0, "-m050", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m050(Local0)
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m052", Local0)
+ SRMT(Local0)
+ m052(Local0)
+
+ // ShiftLeft
+ Concatenate(arg0, "-m053", Local0)
+ SRMT(Local0)
+ m053(Local0)
+ Concatenate(arg0, "-m055", Local0)
+ SRMT(Local0)
+ m055(Local0)
+
+ // ShiftRight
+ Concatenate(arg0, "-m056", Local0)
+ SRMT(Local0)
+ m056(Local0)
+ Concatenate(arg0, "-m058", Local0)
+ SRMT(Local0)
+ m058(Local0)
+
+ // Subtract
+ Concatenate(arg0, "-m059", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m059(Local0)
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m05b", Local0)
+ SRMT(Local0)
+ m05b(Local0)
+
+ // XOr
+ Concatenate(arg0, "-m05c", Local0)
+ SRMT(Local0)
+ if (y119) {
+ m05c(Local0)
+ } else {
+ BLCK()
+ }
+ Concatenate(arg0, "-m05e", Local0)
+ SRMT(Local0)
+ m05e(Local0)
+ }
+
+
+ // Buffer to Integer conversion of each Buffer operand
+ // of the 2-parameter Logical Integer operators LAnd and LOr
+
+ // LAnd, common 32-bit/64-bit test
+ Method(m05f, 1)
+ {
+ // Conversion of the first operand
+
+ Store(LAnd(m604(0, 3, 6, 0), 0), Local0)
+ m600(arg0, 0, Local0, Zero)
+
+ Store(LAnd(m604(0, 3, 6, 0), 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(LAnd(m604(0, 3, 6, 0), aui5), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LAnd(m604(0, 3, 6, 0), aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(m604(0, 3, 6, 0), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LAnd(m604(0, 3, 6, 0), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(LAnd(m604(0, 3, 6, 0), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Zero)
+
+ Store(LAnd(m604(0, 3, 6, 0), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(m604(0, 3, 6, 0), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Zero)
+
+ Store(LAnd(m604(0, 3, 6, 0), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(m604(0, 3, 6, 0), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LAnd(m604(0, 3, 6, 0), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(LAnd(0, m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LAnd(1, m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LAnd(aui5, m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LAnd(aui6, m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(Derefof(Refof(aui5)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(aui6)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(LAnd(Derefof(Index(paui, 5)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LAnd(Derefof(Index(paui, 6)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(m601(1, 5), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LAnd(m601(1, 6), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(Derefof(m602(1, 5, 1)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LAnd(Derefof(m602(1, 6, 1)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+ }
+
+ // LAnd, 64-bit
+ Method(m060, 1)
+ {
+ // Conversion of the first operand
+
+ Store(LAnd(m604(0, 3, 10, 0), 0), Local0)
+ m600(arg0, 0, Local0, Zero)
+
+ Store(LAnd(m604(0, 3, 10, 0), 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(LAnd(m604(0, 3, 10, 0), aui5), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LAnd(m604(0, 3, 10, 0), aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(m604(0, 3, 10, 0), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LAnd(m604(0, 3, 10, 0), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(LAnd(m604(0, 3, 10, 0), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Zero)
+
+ Store(LAnd(m604(0, 3, 10, 0), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(m604(0, 3, 10, 0), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Zero)
+
+ Store(LAnd(m604(0, 3, 10, 0), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(m604(0, 3, 10, 0), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LAnd(m604(0, 3, 10, 0), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(LAnd(0, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LAnd(1, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LAnd(aui5, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LAnd(aui6, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(Derefof(Refof(aui5)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(aui6)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(LAnd(Derefof(Index(paui, 5)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LAnd(Derefof(Index(paui, 6)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(m601(1, 5), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LAnd(m601(1, 6), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(Derefof(m602(1, 5, 1)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LAnd(Derefof(m602(1, 6, 1)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+
+ // Conversion of the both operands
+
+ Store(LAnd(m604(0, 3, 6, 0), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 24, Local0, Ones)
+
+ Store(LAnd(m604(0, 3, 10, 0), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // LAnd, 32-bit
+ Method(m061, 1)
+ {
+ // Conversion of the first operand
+
+ Store(LAnd(m604(0, 3, 10, 0), 0), Local0)
+ m600(arg0, 0, Local0, Zero)
+
+ Store(LAnd(m604(0, 3, 10, 0), 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(LAnd(m604(0, 3, 10, 0), aui5), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LAnd(m604(0, 3, 10, 0), aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(m604(0, 3, 10, 0), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LAnd(m604(0, 3, 10, 0), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(LAnd(m604(0, 3, 10, 0), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Zero)
+
+ Store(LAnd(m604(0, 3, 10, 0), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(m604(0, 3, 10, 0), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Zero)
+
+ Store(LAnd(m604(0, 3, 10, 0), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(m604(0, 3, 10, 0), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LAnd(m604(0, 3, 10, 0), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(LAnd(0, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LAnd(1, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LAnd(aui5, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LAnd(aui6, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(LAnd(Derefof(Refof(aui5)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LAnd(Derefof(Refof(aui6)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(LAnd(Derefof(Index(paui, 5)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LAnd(Derefof(Index(paui, 6)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LAnd(m601(1, 5), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LAnd(m601(1, 6), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LAnd(Derefof(m602(1, 5, 1)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LAnd(Derefof(m602(1, 6, 1)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+
+ // Conversion of the both operands
+
+ Store(LAnd(m604(0, 3, 6, 0), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 24, Local0, Ones)
+
+ Store(LAnd(m604(0, 3, 10, 0), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // Lor, common 32-bit/64-bit test
+ Method(m062, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Lor(m604(0, 3, 0, 0), 0), Local0)
+ m600(arg0, 0, Local0, Zero)
+
+ Store(Lor(m604(0, 3, 0, 0), 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(Lor(m604(0, 3, 0, 0), aui5), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(Lor(m604(0, 3, 0, 0), aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(m604(0, 3, 0, 0), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(Lor(m604(0, 3, 0, 0), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(Lor(m604(0, 3, 0, 0), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Zero)
+
+ Store(Lor(m604(0, 3, 0, 0), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(m604(0, 3, 0, 0), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Zero)
+
+ Store(Lor(m604(0, 3, 0, 0), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(m604(0, 3, 0, 0), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(Lor(m604(0, 3, 0, 0), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(Lor(0, m604(0, 3, 0, 0)), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(Lor(1, m604(0, 3, 0, 0)), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(Lor(aui5, m604(0, 3, 0, 0)), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(Lor(aui6, m604(0, 3, 0, 0)), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(Derefof(Refof(aui5)), m604(0, 3, 0, 0)), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(Lor(Derefof(Refof(aui6)), m604(0, 3, 0, 0)), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(Lor(Derefof(Index(paui, 5)), m604(0, 3, 0, 0)), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(Lor(Derefof(Index(paui, 6)), m604(0, 3, 0, 0)), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(m601(1, 5), m604(0, 3, 0, 0)), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(Lor(m601(1, 6), m604(0, 3, 0, 0)), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(Derefof(m602(1, 5, 1)), m604(0, 3, 0, 0)), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(Lor(Derefof(m602(1, 6, 1)), m604(0, 3, 0, 0)), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+ }
+
+ // Lor, 64-bit
+ Method(m063, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Lor(m604(0, 3, 10, 0), 0), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(Lor(m604(0, 3, 10, 0), 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(Lor(m604(0, 3, 10, 0), aui5), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(Lor(m604(0, 3, 10, 0), aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(m604(0, 3, 10, 0), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(Lor(m604(0, 3, 10, 0), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(Lor(m604(0, 3, 10, 0), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(Lor(m604(0, 3, 10, 0), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(m604(0, 3, 10, 0), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(Lor(m604(0, 3, 10, 0), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(m604(0, 3, 10, 0), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(Lor(m604(0, 3, 10, 0), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(Lor(0, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(Lor(1, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(Lor(aui5, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 14, Local0, Ones)
+
+ Store(Lor(aui6, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(Derefof(Refof(aui5)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 16, Local0, Ones)
+
+ Store(Lor(Derefof(Refof(aui6)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(Lor(Derefof(Index(paui, 5)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 18, Local0, Ones)
+
+ Store(Lor(Derefof(Index(paui, 6)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(m601(1, 5), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 20, Local0, Ones)
+
+ Store(Lor(m601(1, 6), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(Derefof(m602(1, 5, 1)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(Lor(Derefof(m602(1, 6, 1)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+
+ // Conversion of the both operands
+
+ Store(Lor(m604(0, 3, 0, 0), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 24, Local0, Ones)
+
+ Store(Lor(m604(0, 3, 10, 0), m604(0, 3, 0, 0)), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // Lor, 32-bit
+ Method(m064, 1)
+ {
+ // Conversion of the first operand
+
+ Store(Lor(m604(0, 3, 10, 0), 0), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(Lor(m604(0, 3, 10, 0), 1), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(Lor(m604(0, 3, 10, 0), aui5), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(Lor(m604(0, 3, 10, 0), aui6), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(m604(0, 3, 10, 0), Derefof(Refof(aui5))), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(Lor(m604(0, 3, 10, 0), Derefof(Refof(aui6))), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(Lor(m604(0, 3, 10, 0), Derefof(Index(paui, 5))), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(Lor(m604(0, 3, 10, 0), Derefof(Index(paui, 6))), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(m604(0, 3, 10, 0), m601(1, 5)), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(Lor(m604(0, 3, 10, 0), m601(1, 6)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(m604(0, 3, 10, 0), Derefof(m602(1, 5, 1))), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(Lor(m604(0, 3, 10, 0), Derefof(m602(1, 6, 1))), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+
+ // Conversion of the second operand
+
+ Store(Lor(0, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(Lor(1, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(Lor(aui5, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 14, Local0, Ones)
+
+ Store(Lor(aui6, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ if (y078) {
+ Store(Lor(Derefof(Refof(aui5)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 16, Local0, Ones)
+
+ Store(Lor(Derefof(Refof(aui6)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 17, Local0, Ones)
+ }
+
+ Store(Lor(Derefof(Index(paui, 5)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 18, Local0, Ones)
+
+ Store(Lor(Derefof(Index(paui, 6)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(Lor(m601(1, 5), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 20, Local0, Ones)
+
+ Store(Lor(m601(1, 6), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Lor(Derefof(m602(1, 5, 1)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(Lor(Derefof(m602(1, 6, 1)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 23, Local0, Ones)
+ }
+
+ // Conversion of the both operands
+
+ Store(Lor(m604(0, 3, 0, 0), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 24, Local0, Ones)
+
+ Store(Lor(m604(0, 3, 10, 0), m604(0, 3, 0, 0)), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ Method(m64o, 1)
+ {
+ // LAnd
+ Concatenate(arg0, "-m05f", Local0)
+ SRMT(Local0)
+ m05f(Local0)
+ Concatenate(arg0, "-m060", Local0)
+ SRMT(Local0)
+ m060(Local0)
+
+ // LOr
+ Concatenate(arg0, "-m062", Local0)
+ SRMT(Local0)
+ m062(Local0)
+ Concatenate(arg0, "-m063", Local0)
+ SRMT(Local0)
+ m063(Local0)
+ }
+
+ Method(m32o, 1)
+ {
+ // LAnd
+ Concatenate(arg0, "-m05f", Local0)
+ SRMT(Local0)
+ m05f(Local0)
+ Concatenate(arg0, "-m061", Local0)
+ SRMT(Local0)
+ m061(Local0)
+
+ // LOr
+ Concatenate(arg0, "-m062", Local0)
+ SRMT(Local0)
+ m062(Local0)
+ Concatenate(arg0, "-m064", Local0)
+ SRMT(Local0)
+ m064(Local0)
+ }
+
+ // Buffer to Integer conversion of the Buffer second operand of
+ // Logical operators when the first operand is evaluated as Integer
+ // (LEqual, LGreater, LGreaterEqual, LLess, LLessEqual, LNotEqual)
+
+ Method(m64p, 1)
+ {
+ // LEqual
+
+ Store(LEqual(0xfe7cb391d650a284, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual(0xfe7cb391d650a285, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(0xfe7cb391d650a283, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LEqual(aui4, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ Store(LEqual(auid, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LEqual(auif, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 5, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aui4)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(auid)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ Store(LEqual(Derefof(Refof(auif)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 8, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paui, 4)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paui, 13)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LEqual(Derefof(Index(paui, 15)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 11, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LEqual(m601(1, 4), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(LEqual(m601(1, 13), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 13, Local0, Zero)
+
+ Store(LEqual(m601(1, 15), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(1, 4, 1)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(1, 13, 1)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LEqual(Derefof(m602(1, 15, 1)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 17, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater(0xfe7cb391d650a284, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(0xfe7cb391d650a285, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ Store(LGreater(0xfe7cb391d650a283, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(aui4, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 21, Local0, Zero)
+
+ Store(LGreater(auid, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(LGreater(auif, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 23, Local0, Zero)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aui4)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(auid)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 25, Local0, Ones)
+
+ Store(LGreater(Derefof(Refof(auif)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 26, Local0, Zero)
+ }
+
+ Store(LGreater(Derefof(Index(paui, 4)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 27, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paui, 13)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 28, Local0, Ones)
+
+ Store(LGreater(Derefof(Index(paui, 15)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 29, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreater(m601(1, 4), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 30, Local0, Zero)
+
+ Store(LGreater(m601(1, 13), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ Store(LGreater(m601(1, 15), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 32, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(1, 4, 1)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 33, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(1, 13, 1)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreater(Derefof(m602(1, 15, 1)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 35, Local0, Zero)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual(0xfe7cb391d650a284, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(0xfe7cb391d650a285, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ Store(LGreaterEqual(0xfe7cb391d650a283, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 38, Local0, Zero)
+
+ Store(LGreaterEqual(aui4, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 39, Local0, Ones)
+
+ Store(LGreaterEqual(auid, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 40, Local0, Ones)
+
+ Store(LGreaterEqual(auif, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aui4)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auid)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 43, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auif)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 44, Local0, Zero)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paui, 4)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 45, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 13)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 46, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 15)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 47, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreaterEqual(m601(1, 4), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 48, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 13), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 49, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 15), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(1, 4, 1)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 51, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 13, 1)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 52, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 15, 1)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLess
+
+ Store(LLess(0xfe7cb391d650a284, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 54, Local0, Zero)
+
+ Store(LLess(0xfe7cb391d650a285, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLess(0xfe7cb391d650a283, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLess(aui4, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLess(auid, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 58, Local0, Zero)
+
+ Store(LLess(auif, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 59, Local0, Ones)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aui4)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 60, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auid)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 61, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auif)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 62, Local0, Ones)
+ }
+
+ Store(LLess(Derefof(Index(paui, 4)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 13)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 64, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 15)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 65, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLess(m601(1, 4), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 66, Local0, Zero)
+
+ Store(LLess(m601(1, 13), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 67, Local0, Zero)
+
+ Store(LLess(m601(1, 15), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 68, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLess(Derefof(m602(1, 4, 1)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 69, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 13, 1)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 70, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 15, 1)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 71, Local0, Ones)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual(0xfe7cb391d650a284, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 72, Local0, Ones)
+
+ Store(LLessEqual(0xfe7cb391d650a285, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 73, Local0, Zero)
+
+ Store(LLessEqual(0xfe7cb391d650a283, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 74, Local0, Ones)
+
+ Store(LLessEqual(aui4, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 75, Local0, Ones)
+
+ Store(LLessEqual(auid, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LLessEqual(auif, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aui4)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 78, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(auid)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 79, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Refof(auif)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 80, Local0, Ones)
+ }
+
+ Store(LLessEqual(Derefof(Index(paui, 4)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 81, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paui, 13)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 82, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Index(paui, 15)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 83, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLessEqual(m601(1, 4), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 84, Local0, Ones)
+
+ Store(LLessEqual(m601(1, 13), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 85, Local0, Zero)
+
+ Store(LLessEqual(m601(1, 15), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 86, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(1, 4, 1)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 87, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(1, 13, 1)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 88, Local0, Zero)
+
+ Store(LLessEqual(Derefof(m602(1, 15, 1)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 89, Local0, Ones)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual(0xfe7cb391d650a284, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 90, Local0, Zero)
+
+ Store(LNotEqual(0xfe7cb391d650a285, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 91, Local0, Ones)
+
+ Store(LNotEqual(0xfe7cb391d650a283, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 92, Local0, Ones)
+
+ Store(LNotEqual(aui4, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 93, Local0, Zero)
+
+ Store(LNotEqual(auid, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 94, Local0, Ones)
+
+ Store(LNotEqual(auif, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 95, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aui4)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 96, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(auid)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 97, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Refof(auif)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 98, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paui, 4)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 99, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paui, 13)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 100, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Index(paui, 15)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 101, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LNotEqual(m601(1, 4), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 102, Local0, Zero)
+
+ Store(LNotEqual(m601(1, 13), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 103, Local0, Ones)
+
+ Store(LNotEqual(m601(1, 15), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 104, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(1, 4, 1)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 105, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(1, 13, 1)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 106, Local0, Ones)
+
+ Store(LNotEqual(Derefof(m602(1, 15, 1)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 107, Local0, Ones)
+ }
+ }
+
+ Method(m32p, 1)
+ {
+ // LEqual
+
+ Store(LEqual(0xd650a284, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual(0xd650a285, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(0xd650a283, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LEqual(auik, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ Store(LEqual(auil, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LEqual(auim, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 5, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(auik)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(auil)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ Store(LEqual(Derefof(Refof(auim)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 8, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paui, 20)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paui, 21)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LEqual(Derefof(Index(paui, 22)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 11, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LEqual(m601(1, 20), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(LEqual(m601(1, 21), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 13, Local0, Zero)
+
+ Store(LEqual(m601(1, 22), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(1, 20, 1)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LEqual(Derefof(m601(1, 21, 1)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LEqual(Derefof(m601(1, 22, 1)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 17, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater(0xd650a284, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(0xd650a285, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ Store(LGreater(0xd650a283, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(auik, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 21, Local0, Zero)
+
+ Store(LGreater(auil, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(LGreater(auim, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 23, Local0, Zero)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(auik)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(auil)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 25, Local0, Ones)
+
+ Store(LGreater(Derefof(Refof(auim)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 26, Local0, Zero)
+ }
+
+ Store(LGreater(Derefof(Index(paui, 20)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 27, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paui, 21)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 28, Local0, Ones)
+
+ Store(LGreater(Derefof(Index(paui, 22)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 29, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreater(m601(1, 20), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 30, Local0, Zero)
+
+ Store(LGreater(m601(1, 21), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ Store(LGreater(m601(1, 22), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 32, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(1, 20, 1)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 33, Local0, Zero)
+
+ Store(LGreater(Derefof(m601(1, 21, 1)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreater(Derefof(m601(1, 22, 1)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 35, Local0, Zero)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual(0xd650a284, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(0xd650a285, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ Store(LGreaterEqual(0xd650a283, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 38, Local0, Zero)
+
+ Store(LGreaterEqual(auik, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 39, Local0, Ones)
+
+ Store(LGreaterEqual(auil, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 40, Local0, Ones)
+
+ Store(LGreaterEqual(auim, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(auik)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auil)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 43, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auim)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 44, Local0, Zero)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paui, 20)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 45, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 21)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 46, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 22)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 47, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreaterEqual(m601(1, 20), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 48, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 21), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 49, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 22), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(1, 20, 1)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 51, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m601(1, 21, 1)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 52, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m601(1, 22, 1)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLess
+
+ Store(LLess(0xd650a284, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 54, Local0, Zero)
+
+ Store(LLess(0xd650a285, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLess(0xd650a283, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLess(auik, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLess(auil, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 58, Local0, Zero)
+
+ Store(LLess(auim, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 59, Local0, Ones)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(auik)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 60, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auil)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 61, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auim)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 62, Local0, Ones)
+ }
+
+ Store(LLess(Derefof(Index(paui, 20)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 21)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 64, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 22)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 65, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLess(m601(1, 20), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 66, Local0, Zero)
+
+ Store(LLess(m601(1, 21), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 67, Local0, Zero)
+
+ Store(LLess(m601(1, 22), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 68, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLess(Derefof(m602(1, 20, 1)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 69, Local0, Zero)
+
+ Store(LLess(Derefof(m601(1, 21, 1)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 70, Local0, Zero)
+
+ Store(LLess(Derefof(m601(1, 22, 1)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 71, Local0, Ones)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual(0xd650a284, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 72, Local0, Ones)
+
+ Store(LLessEqual(0xd650a285, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 73, Local0, Zero)
+
+ Store(LLessEqual(0xd650a283, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 74, Local0, Ones)
+
+ Store(LLessEqual(auik, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 75, Local0, Ones)
+
+ Store(LLessEqual(auil, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LLessEqual(auim, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(auik)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 78, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(auil)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 79, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Refof(auim)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 80, Local0, Ones)
+ }
+
+ Store(LLessEqual(Derefof(Index(paui, 20)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 81, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paui, 21)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 82, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Index(paui, 22)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 83, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLessEqual(m601(1, 20), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 84, Local0, Ones)
+
+ Store(LLessEqual(m601(1, 21), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 85, Local0, Zero)
+
+ Store(LLessEqual(m601(1, 22), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 86, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(1, 20, 1)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 87, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m601(1, 21, 1)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 88, Local0, Zero)
+
+ Store(LLessEqual(Derefof(m601(1, 22, 1)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 89, Local0, Ones)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual(0xd650a284, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 90, Local0, Zero)
+
+ Store(LNotEqual(0xd650a285, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 91, Local0, Ones)
+
+ Store(LNotEqual(0xd650a283, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 92, Local0, Ones)
+
+ Store(LNotEqual(auik, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 93, Local0, Zero)
+
+ Store(LNotEqual(auil, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 94, Local0, Ones)
+
+ Store(LNotEqual(auim, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 95, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(auik)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 96, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(auil)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 97, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Refof(auim)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 98, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paui, 20)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 99, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paui, 21)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 100, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Index(paui, 22)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 101, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LNotEqual(m601(1, 20), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 102, Local0, Zero)
+
+ Store(LNotEqual(m601(1, 21), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 103, Local0, Ones)
+
+ Store(LNotEqual(m601(1, 22), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 104, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(1, 20, 1)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 105, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m601(1, 21, 1)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 106, Local0, Ones)
+
+ Store(LNotEqual(Derefof(m601(1, 22, 1)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 107, Local0, Ones)
+ }
+ }
+
+ Method(m065, 1)
+ {
+ // LEqual
+
+ Store(LEqual(0x321, m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual(0x322, m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(0x320, m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 2, Local0, Zero)
+
+ Store(LEqual(aui1, m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ Store(LEqual(auig, m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 4, Local0, Zero)
+
+ Store(LEqual(auih, m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 5, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aui1)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(auig)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ Store(LEqual(Derefof(Refof(auih)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 8, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paui, 1)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paui, 16)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 10, Local0, Zero)
+
+ Store(LEqual(Derefof(Index(paui, 17)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 11, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LEqual(m601(1, 1), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 12, Local0, Ones)
+
+ Store(LEqual(m601(1, 16), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 13, Local0, Zero)
+
+ Store(LEqual(m601(1, 17), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(1, 1, 1)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(1, 16, 1)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LEqual(Derefof(m602(1, 17, 1)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 17, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater(0x321, m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(0x322, m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 19, Local0, Ones)
+
+ Store(LGreater(0x320, m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(aui1, m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 21, Local0, Zero)
+
+ Store(LGreater(auig, m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 22, Local0, Ones)
+
+ Store(LGreater(auih, m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 23, Local0, Zero)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aui1)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(auig)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 25, Local0, Ones)
+
+ Store(LGreater(Derefof(Refof(auih)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 26, Local0, Zero)
+ }
+
+ Store(LGreater(Derefof(Index(paui, 1)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 27, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paui, 16)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 28, Local0, Ones)
+
+ Store(LGreater(Derefof(Index(paui, 17)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 29, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreater(m601(1, 1), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 30, Local0, Zero)
+
+ Store(LGreater(m601(1, 16), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ Store(LGreater(m601(1, 17), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 32, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(1, 1, 1)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 33, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(1, 16, 1)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreater(Derefof(m602(1, 17, 1)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 35, Local0, Zero)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual(0x321, m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(0x322, m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ Store(LGreaterEqual(0x320, m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 38, Local0, Zero)
+
+ Store(LGreaterEqual(aui1, m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 39, Local0, Ones)
+
+ Store(LGreaterEqual(auig, m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 40, Local0, Ones)
+
+ Store(LGreaterEqual(auih, m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aui1)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auig)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 43, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(auih)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 44, Local0, Zero)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paui, 1)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 45, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 16)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 46, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paui, 17)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 47, Local0, Zero)
+
+ // Method returns Integer
+
+ Store(LGreaterEqual(m601(1, 1), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 48, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 16), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 49, Local0, Ones)
+
+ Store(LGreaterEqual(m601(1, 17), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(1, 1, 1)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 51, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 16, 1)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 52, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(1, 17, 1)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLess
+
+ Store(LLess(0x321, m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 54, Local0, Zero)
+
+ Store(LLess(0x322, m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLess(0x320, m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLess(aui1, m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLess(auig, m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 58, Local0, Zero)
+
+ Store(LLess(auih, m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 59, Local0, Ones)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aui1)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 60, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auig)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 61, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(auih)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 62, Local0, Ones)
+ }
+
+ Store(LLess(Derefof(Index(paui, 1)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 16)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 64, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paui, 17)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 65, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLess(m601(1, 1), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 66, Local0, Zero)
+
+ Store(LLess(m601(1, 16), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 67, Local0, Zero)
+
+ Store(LLess(m601(1, 17), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 68, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLess(Derefof(m602(1, 1, 1)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 69, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 16, 1)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 70, Local0, Zero)
+
+ Store(LLess(Derefof(m602(1, 17, 1)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 71, Local0, Ones)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual(0x321, m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 72, Local0, Ones)
+
+ Store(LLessEqual(0x322, m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 73, Local0, Zero)
+
+ Store(LLessEqual(0x320, m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 74, Local0, Ones)
+
+ Store(LLessEqual(aui1, m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 75, Local0, Ones)
+
+ Store(LLessEqual(auig, m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LLessEqual(auih, m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aui1)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 78, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(auig)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 79, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Refof(auih)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 80, Local0, Ones)
+ }
+
+ Store(LLessEqual(Derefof(Index(paui, 1)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 81, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paui, 16)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 82, Local0, Zero)
+
+ Store(LLessEqual(Derefof(Index(paui, 17)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 83, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LLessEqual(m601(1, 1), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 84, Local0, Ones)
+
+ Store(LLessEqual(m601(1, 16), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 85, Local0, Zero)
+
+ Store(LLessEqual(m601(1, 17), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 86, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(1, 1, 1)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 87, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(1, 16, 1)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 88, Local0, Zero)
+
+ Store(LLessEqual(Derefof(m602(1, 17, 1)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 89, Local0, Ones)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual(0x321, m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 90, Local0, Zero)
+
+ Store(LNotEqual(0x322, m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 91, Local0, Ones)
+
+ Store(LNotEqual(0x320, m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 92, Local0, Ones)
+
+ Store(LNotEqual(aui1, m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 93, Local0, Zero)
+
+ Store(LNotEqual(auig, m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 94, Local0, Ones)
+
+ Store(LNotEqual(auih, m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 95, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aui1)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 96, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(auig)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 97, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Refof(auih)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 98, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paui, 1)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 99, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paui, 16)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 100, Local0, Ones)
+
+ Store(LNotEqual(Derefof(Index(paui, 17)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 101, Local0, Ones)
+
+ // Method returns Integer
+
+ Store(LNotEqual(m601(1, 1), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 102, Local0, Zero)
+
+ Store(LNotEqual(m601(1, 16), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 103, Local0, Ones)
+
+ Store(LNotEqual(m601(1, 17), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 104, Local0, Ones)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(1, 1, 1)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 105, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(1, 16, 1)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 106, Local0, Ones)
+
+ Store(LNotEqual(Derefof(m602(1, 17, 1)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 107, Local0, Ones)
+ }
+ }
+
+ // Buffer to Integer intermediate conversion of the Buffer second
+ // operand of Concatenate operator in case the first one is Integer
+
+ Method(m64q, 1)
+ {
+ Store(Concatenate(0x321, m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 0, Local0, bb26)
+
+ Store(Concatenate(0x321, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 1, Local0, bb21)
+
+
+ Store(Concatenate(aui1, m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 2, Local0, bb26)
+
+ Store(Concatenate(aui1, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 3, Local0, bb21)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aui1)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 4, Local0, bb26)
+
+ Store(Concatenate(Derefof(Refof(aui1)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 5, Local0, bb21)
+ }
+
+ Store(Concatenate(Derefof(Index(paui, 1)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 6, Local0, bb26)
+
+ Store(Concatenate(Derefof(Index(paui, 1)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 7, Local0, bb21)
+
+ // Method returns Integer
+
+ Store(Concatenate(m601(1, 1), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 8, Local0, bb26)
+
+ Store(Concatenate(m601(1, 1), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 9, Local0, bb21)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(1, 1, 1)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 10, Local0, bb26)
+
+ Store(Concatenate(Derefof(m602(1, 1, 1)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 11, Local0, bb21)
+ }
+
+ Concatenate(0x321, m604(0, 3, 6, 0), Local0)
+ m600(arg0, 12, Local0, bb26)
+
+ Concatenate(0x321, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 13, Local0, bb21)
+
+
+ Concatenate(aui1, m604(0, 3, 6, 0), Local0)
+ m600(arg0, 14, Local0, bb26)
+
+ Concatenate(aui1, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 15, Local0, bb21)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aui1)), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 16, Local0, bb26)
+
+ Concatenate(Derefof(Refof(aui1)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 17, Local0, bb21)
+ }
+
+ Concatenate(Derefof(Index(paui, 1)), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 18, Local0, bb26)
+
+ Concatenate(Derefof(Index(paui, 1)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 19, Local0, bb21)
+
+ // Method returns Integer
+
+ Concatenate(m601(1, 1), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 20, Local0, bb26)
+
+ Concatenate(m601(1, 1), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 21, Local0, bb21)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Concatenate(Derefof(m602(1, 1, 1)), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 22, Local0, bb26)
+
+ Concatenate(Derefof(m602(1, 1, 1)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 23, Local0, bb21)
+ }
+ }
+
+ Method(m32q, 1)
+ {
+ Store(Concatenate(0x321, m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 0, Local0, bb27)
+
+ Store(Concatenate(0x321, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 1, Local0, bb28)
+
+
+ Store(Concatenate(aui1, m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 2, Local0, bb27)
+
+ Store(Concatenate(aui1, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 3, Local0, bb28)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aui1)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 4, Local0, bb27)
+
+ Store(Concatenate(Derefof(Refof(aui1)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 5, Local0, bb28)
+ }
+
+ Store(Concatenate(Derefof(Index(paui, 1)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 6, Local0, bb27)
+
+ Store(Concatenate(Derefof(Index(paui, 1)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 7, Local0, bb28)
+
+ // Method returns Integer
+
+ Store(Concatenate(m601(1, 1), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 8, Local0, bb27)
+
+ Store(Concatenate(m601(1, 1), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 9, Local0, bb28)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(1, 1, 1)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 10, Local0, bb27)
+
+ Store(Concatenate(Derefof(m602(1, 1, 1)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 11, Local0, bb28)
+ }
+
+ Concatenate(0x321, m604(0, 3, 6, 0), Local0)
+ m600(arg0, 12, Local0, bb27)
+
+ Concatenate(0x321, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 13, Local0, bb28)
+
+
+ Concatenate(aui1, m604(0, 3, 6, 0), Local0)
+ m600(arg0, 14, Local0, bb27)
+
+ Concatenate(aui1, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 15, Local0, bb28)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aui1)), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 16, Local0, bb27)
+
+ Concatenate(Derefof(Refof(aui1)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 17, Local0, bb28)
+ }
+
+ Concatenate(Derefof(Index(paui, 1)), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 18, Local0, bb27)
+
+ Concatenate(Derefof(Index(paui, 1)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 20, Local0, bb28)
+
+ // Method returns Integer
+
+ Concatenate(m601(1, 1), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 21, Local0, bb27)
+
+ Concatenate(m601(1, 1), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 22, Local0, bb28)
+
+ // Method returns Reference to Integer
+
+ if (y500) {
+ Concatenate(Derefof(m602(1, 1, 1)), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 23, Local0, bb27)
+
+ Concatenate(Derefof(m602(1, 1, 1)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 24, Local0, bb28)
+ }
+ }
+
+ // Buffer to Integer conversion of the Buffer Length (second)
+ // operand of the ToString operator
+
+ // Common 32-bit/64-bit test
+ Method(m066, 1)
+ {
+ Store(ToString(Buffer() {"This is auxiliary Buffer"},
+ m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 0, Local0, bs1b)
+
+ Store(ToString(Buffer() {"This is auxiliary Buffer"},
+ m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 1, Local0, bs1c)
+
+ Store(ToString(aub6, m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 2, Local0, bs1b)
+
+ Store(ToString(aub6, m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 3, Local0, bs1c)
+
+ if (y078) {
+ Store(ToString(Derefof(Refof(aub6)), m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 4, Local0, bs1b)
+
+ Store(ToString(Derefof(Refof(aub6)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 5, Local0, bs1c)
+ }
+
+ Store(ToString(Derefof(Index(paub, 6)), m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 6, Local0, bs1b)
+
+ Store(ToString(Derefof(Index(paub, 6)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 7, Local0, bs1c)
+
+ // Method returns Buffer
+
+ Store(ToString(m601(3, 6), m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 8, Local0, bs1b)
+
+ Store(ToString(m601(3, 6), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 9, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(ToString(Derefof(m602(3, 6, 1)), m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 10, Local0, bs1b)
+
+ Store(ToString(Derefof(m602(3, 6, 1)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 11, Local0, bs1c)
+ }
+
+ ToString(Buffer() {"This is auxiliary Buffer"},
+ m604(0, 3, 14, 0), Local0)
+ m600(arg0, 12, Local0, bs1b)
+
+ ToString(Buffer() {"This is auxiliary Buffer"},
+ m604(0, 3, 6, 0), Local0)
+ m600(arg0, 13, Local0, bs1c)
+
+ ToString(aub6, m604(0, 3, 14, 0), Local0)
+ m600(arg0, 14, Local0, bs1b)
+
+ ToString(aub6, m604(0, 3, 6, 0), Local0)
+ m600(arg0, 15, Local0, bs1c)
+
+ if (y078) {
+ ToString(Derefof(Refof(aub6)), m604(0, 3, 14, 0), Local0)
+ m600(arg0, 16, Local0, bs1b)
+
+ ToString(Derefof(Refof(aub6)), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 17, Local0, bs1c)
+ }
+
+ ToString(Derefof(Index(paub, 6)), m604(0, 3, 14, 0), Local0)
+ m600(arg0, 18, Local0, bs1b)
+
+ ToString(Derefof(Index(paub, 6)), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 19, Local0, bs1c)
+
+ // Method returns Buffer
+
+ ToString(m601(3, 6), m604(0, 3, 14, 0), Local0)
+ m600(arg0, 20, Local0, bs1b)
+
+ ToString(m601(3, 6), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 21, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ ToString(Derefof(m602(3, 6, 1)), m604(0, 3, 14, 0), Local0)
+ m600(arg0, 22, Local0, bs1b)
+
+ ToString(Derefof(m602(3, 6, 1)), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 23, Local0, bs1c)
+ }
+ }
+
+ Method(m64r, 1)
+ {
+ Store(ToString(Buffer() {"This is auxiliary Buffer"},
+ m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 0, Local0, bs1c)
+
+ Store(ToString(aub6, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 1, Local0, bs1c)
+
+ if (y078) {
+ Store(ToString(Derefof(Refof(aub6)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 2, Local0, bs1c)
+ }
+
+ Store(ToString(Derefof(Index(paub, 6)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 3, Local0, bs1c)
+
+ // Method returns Buffer
+
+ Store(ToString(m601(3, 6), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 4, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(ToString(Derefof(m602(3, 6, 1)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 5, Local0, bs1c)
+ }
+
+ ToString(Buffer() {"This is auxiliary Buffer"},
+ m604(0, 3, 10, 0), Local0)
+ m600(arg0, 6, Local0, bs1c)
+
+ ToString(aub6, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 7, Local0, bs1c)
+
+ if (y078) {
+ ToString(Derefof(Refof(aub6)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 8, Local0, bs1c)
+ }
+
+ ToString(Derefof(Index(paub, 6)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 9, Local0, bs1c)
+
+ // Method returns Buffer
+
+ ToString(m601(3, 6), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 10, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ ToString(Derefof(m602(3, 6, 1)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 11, Local0, bs1c)
+ }
+ }
+
+ Method(m32r, 1)
+ {
+ Store(ToString(Buffer() {"This is auxiliary Buffer"},
+ m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 0, Local0, bs1c)
+
+ Store(ToString(aub6, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 1, Local0, bs1c)
+
+ if (y078) {
+ Store(ToString(Derefof(Refof(aub6)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 2, Local0, bs1c)
+ }
+
+ Store(ToString(Derefof(Index(paub, 6)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 3, Local0, bs1c)
+
+ // Method returns Buffer
+
+ Store(ToString(m601(3, 6), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 4, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ Store(ToString(Derefof(m602(3, 6, 1)), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 5, Local0, bs1c)
+ }
+
+ ToString(Buffer() {"This is auxiliary Buffer"},
+ m604(0, 3, 10, 0), Local0)
+ m600(arg0, 6, Local0, bs1c)
+
+ ToString(aub6, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 7, Local0, bs1c)
+
+ if (y078) {
+ ToString(Derefof(Refof(aub6)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 8, Local0, bs1c)
+ }
+
+ ToString(Derefof(Index(paub, 6)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 9, Local0, bs1c)
+
+ // Method returns Buffer
+
+ ToString(m601(3, 6), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 10, Local0, bs1c)
+
+ // Method returns Reference to Buffer
+
+ if (y500) {
+ ToString(Derefof(m602(3, 6, 1)), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 11, Local0, bs1c)
+ }
+ }
+
+ // Buffer to Integer conversion of the Buffer Index (second)
+ // operand of the Index operator
+ Method(m067, 1)
+ {
+ Store(Index(aus6, m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 0, Derefof(Local0), bi10)
+
+ Store(Index(aub6, m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 1, Derefof(Local0), bi10)
+
+ Store(Index(aup0, m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 2, Derefof(Local0), bi11)
+
+ if (y078) {
+ Store(Index(Derefof(Refof(aus6)), m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 3, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Refof(aub6)), m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 4, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Refof(aup0)), m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 5, Derefof(Local0), bi11)
+ }
+
+ Store(Index(Derefof(Index(paus, 6)), m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 6, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Index(paub, 6)), m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 7, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Index(paup, 0)), m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 8, Derefof(Local0), bi11)
+
+
+ // Method returns Object
+
+ if (y900) {
+ Store(Index(m601(2, 6), m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 9, Derefof(Local0), bi10)
+
+ Store(Index(m601(3, 6), m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 10, Derefof(Local0), bi10)
+
+ Store(Index(m601(4, 0), m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 11, Derefof(Local0), bi11)
+ } else {
+
+ CH03(arg0, z118, 0, 0, 0)
+
+ Index(m601(2, 6), m604(0, 3, 14, 0))
+ CH04(arg0, 0, 85, z118, 9, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+
+ Index(m601(3, 6), m604(0, 3, 14, 0))
+ CH04(arg0, 0, 85, z118, 10, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+
+ Index(m601(4, 0), m604(0, 3, 14, 0))
+ CH04(arg0, 0, 85, z118, 11, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+ }
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Index(Derefof(m602(2, 6, 1)), m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 12, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(m602(3, 6, 1)), m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 13, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(m602(4, 0, 1)), m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 14, Derefof(Local0), bi11)
+ }
+
+ Index(aus6, m604(0, 3, 14, 0), Local0)
+ m600(arg0, 15, Derefof(Local0), bi10)
+
+ Index(aub6, m604(0, 3, 14, 0), Local0)
+ m600(arg0, 16, Derefof(Local0), bi10)
+
+ Index(aup0, m604(0, 3, 14, 0), Local0)
+ m600(arg0, 17, Derefof(Local0), bi11)
+
+ if (y078) {
+ Index(Derefof(Refof(aus6)), m604(0, 3, 14, 0), Local0)
+ m600(arg0, 18, Derefof(Local0), bi10)
+
+ Index(Derefof(Refof(aub6)), m604(0, 3, 14, 0), Local0)
+ m600(arg0, 19, Derefof(Local0), bi10)
+
+ Index(Derefof(Refof(aup0)), m604(0, 3, 14, 0), Local0)
+ m600(arg0, 20, Derefof(Local0), bi11)
+ }
+
+ Index(Derefof(Index(paus, 6)), m604(0, 3, 14, 0), Local0)
+ m600(arg0, 21, Derefof(Local0), bi10)
+
+ Index(Derefof(Index(paub, 6)), m604(0, 3, 14, 0), Local0)
+ m600(arg0, 22, Derefof(Local0), bi10)
+
+ Index(Derefof(Index(paup, 0)), m604(0, 3, 14, 0), Local0)
+ m600(arg0, 23, Derefof(Local0), bi11)
+
+
+ // Method returns Object
+
+ if (y900) {
+ Index(m601(2, 6), m604(0, 3, 14, 0), Local0)
+ m600(arg0, 24, Derefof(Local0), bi10)
+
+ Index(m601(3, 6), m604(0, 3, 14, 0), Local0)
+ m600(arg0, 25, Derefof(Local0), bi10)
+
+ Index(m601(4, 0), m604(0, 3, 14, 0), Local0)
+ m600(arg0, 26, Derefof(Local0), bi11)
+ } else {
+
+ CH03(arg0, z118, 0, 0, 0)
+
+ Index(m601(2, 6), m604(0, 3, 14, 0), Local0)
+ CH04(arg0, 0, 85, z118, 24, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+
+ Index(m601(3, 6), m604(0, 3, 14, 0), Local0)
+ CH04(arg0, 0, 85, z118, 25, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+
+ Index(m601(4, 0), m604(0, 3, 14, 0), Local0)
+ CH04(arg0, 0, 85, z118, 26, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+ }
+
+ // Method returns Reference
+
+ if (y500) {
+ Index(Derefof(m602(2, 6, 1)), m604(0, 3, 14, 0), Local0)
+ m600(arg0, 27, Derefof(Local0), bi10)
+
+ Index(Derefof(m602(3, 6, 1)), m604(0, 3, 14, 0), Local0)
+ m600(arg0, 28, Derefof(Local0), bi10)
+
+ Index(Derefof(m602(4, 0, 1)), m604(0, 3, 14, 0), Local0)
+ m600(arg0, 29, Derefof(Local0), bi11)
+ }
+
+ if (y098) {
+ Store(Index(aus6, m604(0, 3, 14, 0), Local1), Local0)
+ m600(arg0, 30, Derefof(Local0), bi10)
+
+ Store(Index(aub6, m604(0, 3, 14, 0), Local1), Local0)
+ m600(arg0, 31, Derefof(Local0), bi10)
+
+ Store(Index(aup0, m604(0, 3, 14, 0), Local1), Local0)
+ m600(arg0, 32, Derefof(Local0), bi11)
+ }
+
+ if (y078) {
+ Store(Index(Derefof(Refof(aus6)), m604(0, 3, 14, 0), Local1), Local0)
+ m600(arg0, 33, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Refof(aub6)), m604(0, 3, 14, 0), Local1), Local0)
+ m600(arg0, 34, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Refof(aup0)), m604(0, 3, 14, 0), Local1), Local0)
+ m600(arg0, 35, Derefof(Local0), bi11)
+ }
+
+ if (y098) {
+ Store(Index(Derefof(Index(paus, 6)), m604(0, 3, 14, 0), Local1), Local0)
+ m600(arg0, 36, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Index(paub, 6)), m604(0, 3, 14, 0), Local1), Local0)
+ m600(arg0, 37, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(Index(paup, 0)), m604(0, 3, 14, 0), Local1), Local0)
+ m600(arg0, 38, Derefof(Local0), bi11)
+ }
+
+ // Method returns Object
+
+ if (LAnd(y900, y098)) {
+ Store(Index(m601(2, 6), m604(0, 3, 14, 0), Local1), Local0)
+ m600(arg0, 39, Derefof(Local0), bi10)
+
+ Store(Index(m601(3, 6), m604(0, 3, 14, 0), Local1), Local0)
+ m600(arg0, 40, Derefof(Local0), bi10)
+
+ Store(Index(m601(4, 0), m604(0, 3, 14, 0), Local1), Local0)
+ m600(arg0, 41, Derefof(Local0), bi11)
+ }
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Index(Derefof(m602(2, 6, 1)), m604(0, 3, 14, 0), Local1), Local0)
+ m600(arg0, 42, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(m602(3, 6, 1)), m604(0, 3, 14, 0), Local1), Local0)
+ m600(arg0, 43, Derefof(Local0), bi10)
+
+ Store(Index(Derefof(m602(4, 0, 1)), m604(0, 3, 14, 0), Local1), Local0)
+ m600(arg0, 44, Derefof(Local0), bi11)
+ }
+ }
+
+ // Buffer to Integer conversion of the String Arg (third)
+ // operand of the Fatal operator
+ // (it can only be checked an exception does not occur)
+ Method(m068, 1)
+ {
+ CH03(arg0, z118, 9, 0, 0)
+ Fatal(0xff, 0xffffffff, m604(0, 3, 6, 0))
+ if (F64) {
+ Fatal(0xff, 0xffffffff, m604(0, 3, 10, 0))
+ } else {
+ Fatal(0xff, 0xffffffff, m604(0, 3, 10, 0))
+ }
+ CH03(arg0, z118, 10, 0, 0)
+ }
+
+ // Buffer to Integer conversion of the Buffer Index and Length
+ // operands of the Mid operator
+
+ // Common 32-bit/64-bit test
+ Method(m069, 1)
+ {
+ // String to Integer conversion of the String Index operand
+
+ Store(Mid("This is auxiliary String", m604(0, 3, 14, 0), 10), Local0)
+ m600(arg0, 0, Local0, bs1d)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, m604(0, 3, 14, 0), 10), Local0)
+ m600(arg0, 1, Local0, bb32)
+
+ Store(Mid(aus6, m604(0, 3, 14, 0), 10), Local0)
+ m600(arg0, 2, Local0, bs1d)
+
+ Store(Mid(aub6, m604(0, 3, 14, 0), 10), Local0)
+ m600(arg0, 3, Local0, bb32)
+
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), m604(0, 3, 14, 0), 10), Local0)
+ m600(arg0, 4, Local0, bs1d)
+
+ Store(Mid(Derefof(Refof(aub6)), m604(0, 3, 14, 0), 10), Local0)
+ m600(arg0, 5, Local0, bb32)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), m604(0, 3, 14, 0), 10), Local0)
+ m600(arg0, 6, Local0, bs1d)
+
+ Store(Mid(Derefof(Index(paub, 6)), m604(0, 3, 14, 0), 10), Local0)
+ m600(arg0, 7, Local0, bb32)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), m604(0, 3, 14, 0), 10), Local0)
+ m600(arg0, 8, Local0, bs1d)
+
+ Store(Mid(m601(3, 6), m604(0, 3, 14, 0), 10), Local0)
+ m600(arg0, 9, Local0, bb32)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), m604(0, 3, 14, 0), 10), Local0)
+ m600(arg0, 10, Local0, bs1d)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), m604(0, 3, 14, 0), 10), Local0)
+ m600(arg0, 11, Local0, bb32)
+ }
+
+ Mid("This is auxiliary String", m604(0, 3, 14, 0), 10, Local0)
+ m600(arg0, 12, Local0, bs1d)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, m604(0, 3, 14, 0), 10, Local0)
+ m600(arg0, 13, Local0, bb32)
+
+ Mid(aus6, m604(0, 3, 14, 0), 10, Local0)
+ m600(arg0, 14, Local0, bs1d)
+
+ Mid(aub6, m604(0, 3, 14, 0), 10, Local0)
+ m600(arg0, 15, Local0, bb32)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), m604(0, 3, 14, 0), 10, Local0)
+ m600(arg0, 16, Local0, bs1d)
+
+ Mid(Derefof(Refof(aub6)), m604(0, 3, 14, 0), 10, Local0)
+ m600(arg0, 17, Local0, bb32)
+ }
+
+ Mid(Derefof(Index(paus, 6)), m604(0, 3, 14, 0), 10, Local0)
+ m600(arg0, 18, Local0, bs1d)
+
+ Mid(Derefof(Index(paub, 6)), m604(0, 3, 14, 0), 10, Local0)
+ m600(arg0, 19, Local0, bb32)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), m604(0, 3, 14, 0), 10, Local0)
+ m600(arg0, 20, Local0, bs1d)
+
+ Mid(m601(3, 6), m604(0, 3, 14, 0), 10, Local0)
+ m600(arg0, 21, Local0, bb32)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), m604(0, 3, 14, 0), 10, Local0)
+ m600(arg0, 22, Local0, bs1d)
+
+ Mid(Derefof(m602(3, 6, 1)), m604(0, 3, 14, 0), 10, Local0)
+ m600(arg0, 23, Local0, bb32)
+ }
+
+ // String to Integer conversion of the String Length operand
+
+ Store(Mid("This is auxiliary String", 0, m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 24, Local0, bs1b)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, 0, m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 25, Local0, bb33)
+
+ Store(Mid(aus6, 0, m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 26, Local0, bs1b)
+
+ Store(Mid(aub6, 0, m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 27, Local0, bb33)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), 0, m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 28, Local0, bs1b)
+
+ Store(Mid(Derefof(Refof(aub6)), 0, m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 29, Local0, bb33)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), 0, m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 30, Local0, bs1b)
+
+ Store(Mid(Derefof(Index(paub, 6)), 0, m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 31, Local0, bb33)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), 0, m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 32, Local0, bs1b)
+
+ Store(Mid(m601(3, 6), 0, m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 33, Local0, bb33)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), 0, m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 34, Local0, bs1b)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), 0, m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 35, Local0, bb33)
+ }
+
+ Mid("This is auxiliary String", 0, m604(0, 3, 14, 0), Local0)
+ m600(arg0, 36, Local0, bs1b)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, 0, m604(0, 3, 14, 0), Local0)
+ m600(arg0, 37, Local0, bb33)
+
+ Mid(aus6, 0, m604(0, 3, 14, 0), Local0)
+ m600(arg0, 37, Local0, bs1b)
+
+ Mid(aub6, 0, m604(0, 3, 14, 0), Local0)
+ m600(arg0, 39, Local0, bb33)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), 0, m604(0, 3, 14, 0), Local0)
+ m600(arg0, 40, Local0, bs1b)
+
+ Mid(Derefof(Refof(aub6)), 0, m604(0, 3, 14, 0), Local0)
+ m600(arg0, 41, Local0, bb33)
+ }
+
+ Mid(Derefof(Index(paus, 6)), 0, m604(0, 3, 14, 0), Local0)
+ m600(arg0, 42, Local0, bs1b)
+
+ Mid(Derefof(Index(paub, 6)), 0, m604(0, 3, 14, 0), Local0)
+ m600(arg0, 43, Local0, bb33)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), 0, m604(0, 3, 14, 0), Local0)
+ m600(arg0, 44, Local0, bs1b)
+
+ Mid(m601(3, 6), 0, m604(0, 3, 14, 0), Local0)
+ m600(arg0, 45, Local0, bb33)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), 0, m604(0, 3, 14, 0), Local0)
+ m600(arg0, 46, Local0, bs1b)
+
+ Mid(Derefof(m602(3, 6, 1)), 0, m604(0, 3, 14, 0), Local0)
+ m600(arg0, 47, Local0, bb33)
+ }
+ }
+
+ Method(m64s, 1)
+ {
+ // String to Integer conversion of the String Length operand
+
+ Store(Mid("This is auxiliary String", 0, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 0, Local0, bs1e)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, 0, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 1, Local0, bb34)
+
+ Store(Mid(aus6, 0, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 2, Local0, bs1e)
+
+ Store(Mid(aub6, 0, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 3, Local0, bb34)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), 0, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 4, Local0, bs1e)
+
+ Store(Mid(Derefof(Refof(aub6)), 0, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 5, Local0, bb34)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), 0, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 6, Local0, bs1e)
+
+ Store(Mid(Derefof(Index(paub, 6)), 0, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 7, Local0, bb34)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), 0, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 8, Local0, bs1e)
+
+ Store(Mid(m601(3, 6), 0, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 9, Local0, bb34)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), 0, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 10, Local0, bs1e)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), 0, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 11, Local0, bb34)
+ }
+
+ Mid("This is auxiliary String", 0, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 12, Local0, bs1e)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, 0, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 13, Local0, bb34)
+
+ Mid(aus6, 0, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 14, Local0, bs1e)
+
+ Mid(aub6, 0, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 15, Local0, bb34)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), 0, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 16, Local0, bs1e)
+
+ Mid(Derefof(Refof(aub6)), 0, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 17, Local0, bb34)
+ }
+
+ Mid(Derefof(Index(paus, 6)), 0, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 18, Local0, bs1e)
+
+ Mid(Derefof(Index(paub, 6)), 0, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 19, Local0, bb34)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), 0, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 20, Local0, bs1e)
+
+ Mid(m601(3, 6), 0, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 21, Local0, bb34)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), 0, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 22, Local0, bs1e)
+
+ Mid(Derefof(m602(3, 6, 1)), 0, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 23, Local0, bb34)
+ }
+
+ // String to Integer conversion of the both String operands
+
+ Store(Mid("This is auxiliary String", m604(0, 3, 14, 0), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 24, Local0, bs1f)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, m604(0, 3, 14, 0), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 25, Local0, bb35)
+
+ Store(Mid(aus6, m604(0, 3, 14, 0), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 26, Local0, bs1f)
+
+ Store(Mid(aub6, m604(0, 3, 14, 0), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 27, Local0, bb35)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), m604(0, 3, 14, 0), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 28, Local0, bs1f)
+
+ Store(Mid(Derefof(Refof(aub6)), m604(0, 3, 14, 0), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 29, Local0, bb35)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), m604(0, 3, 14, 0), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 30, Local0, bs1f)
+
+ Store(Mid(Derefof(Index(paub, 6)), m604(0, 3, 14, 0), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 31, Local0, bb35)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), m604(0, 3, 14, 0), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 32, Local0, bs1f)
+
+ Store(Mid(m601(3, 6), m604(0, 3, 14, 0), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 33, Local0, bb35)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), m604(0, 3, 14, 0), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 34, Local0, bs1f)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), m604(0, 3, 14, 0), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 35, Local0, bb35)
+ }
+
+ Mid("This is auxiliary String", m604(0, 3, 14, 0), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 36, Local0, bs1f)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, m604(0, 3, 14, 0), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 37, Local0, bb35)
+
+ Mid(aus6, m604(0, 3, 14, 0), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 38, Local0, bs1f)
+
+ Mid(aub6, m604(0, 3, 14, 0), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 39, Local0, bb35)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), m604(0, 3, 14, 0), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 40, Local0, bs1f)
+
+ Mid(Derefof(Refof(aub6)), m604(0, 3, 14, 0), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 41, Local0, bb35)
+ }
+
+ Mid(Derefof(Index(paus, 6)), m604(0, 3, 14, 0), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 42, Local0, bs1f)
+
+ Mid(Derefof(Index(paub, 6)), m604(0, 3, 14, 0), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 43, Local0, bb35)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), m604(0, 3, 14, 0), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 44, Local0, bs1f)
+
+ Mid(m601(3, 6), m604(0, 3, 14, 0), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 45, Local0, bb35)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), m604(0, 3, 14, 0), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 46, Local0, bs1f)
+
+ Mid(Derefof(m602(3, 6, 1)), m604(0, 3, 14, 0), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 47, Local0, bb35)
+ }
+ }
+
+ Method(m32s, 1)
+ {
+ // String to Integer conversion of the String Length operand
+
+ Store(Mid("This is auxiliary String", 0, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 0, Local0, bs1e)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, 0, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 1, Local0, bb34)
+
+ Store(Mid(aus6, 0, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 2, Local0, bs1e)
+
+ Store(Mid(aub6, 0, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 3, Local0, bb34)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), 0, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 4, Local0, bs1e)
+
+ Store(Mid(Derefof(Refof(aub6)), 0, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 5, Local0, bb34)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), 0, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 6, Local0, bs1e)
+
+ Store(Mid(Derefof(Index(paub, 6)), 0, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 7, Local0, bb34)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), 0, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 8, Local0, bs1e)
+
+ Store(Mid(m601(3, 6), 0, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 9, Local0, bb34)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), 0, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 10, Local0, bs1e)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), 0, m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 11, Local0, bb34)
+ }
+
+ Mid("This is auxiliary String", 0, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 12, Local0, bs1e)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, 0, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 13, Local0, bb34)
+
+ Mid(aus6, 0, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 14, Local0, bs1e)
+
+ Mid(aub6, 0, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 15, Local0, bb34)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), 0, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 16, Local0, bs1e)
+
+ Mid(Derefof(Refof(aub6)), 0, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 17, Local0, bb34)
+ }
+
+ Mid(Derefof(Index(paus, 6)), 0, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 18, Local0, bs1e)
+
+ Mid(Derefof(Index(paub, 6)), 0, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 19, Local0, bb34)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), 0, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 20, Local0, bs1e)
+
+ Mid(m601(3, 6), 0, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 21, Local0, bb34)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), 0, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 22, Local0, bs1e)
+
+ Mid(Derefof(m602(3, 6, 1)), 0, m604(0, 3, 10, 0), Local0)
+ m600(arg0, 23, Local0, bb34)
+ }
+
+ // String to Integer conversion of the both String operands
+
+ Store(Mid("This is auxiliary String", m604(0, 3, 14, 0), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 24, Local0, bs1f)
+
+ Store(Mid(Buffer(){"This is auxiliary Buffer"}, m604(0, 3, 14, 0), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 25, Local0, bb35)
+
+ Store(Mid(aus6, m604(0, 3, 14, 0), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 26, Local0, bs1f)
+
+ Store(Mid(aub6, m604(0, 3, 14, 0), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 27, Local0, bb35)
+
+ if (y078) {
+ Store(Mid(Derefof(Refof(aus6)), m604(0, 3, 14, 0), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 28, Local0, bs1f)
+
+ Store(Mid(Derefof(Refof(aub6)), m604(0, 3, 14, 0), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 29, Local0, bb35)
+ }
+
+ Store(Mid(Derefof(Index(paus, 6)), m604(0, 3, 14, 0), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 30, Local0, bs1f)
+
+ Store(Mid(Derefof(Index(paub, 6)), m604(0, 3, 14, 0), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 31, Local0, bb35)
+
+ // Method returns Object
+
+ Store(Mid(m601(2, 6), m604(0, 3, 14, 0), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 32, Local0, bs1f)
+
+ Store(Mid(m601(3, 6), m604(0, 3, 14, 0), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 33, Local0, bb35)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Mid(Derefof(m602(2, 6, 1)), m604(0, 3, 14, 0), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 34, Local0, bs1f)
+
+ Store(Mid(Derefof(m602(3, 6, 1)), m604(0, 3, 14, 0), m604(0, 3, 10, 0)), Local0)
+ m600(arg0, 35, Local0, bb35)
+ }
+
+ Mid("This is auxiliary String", m604(0, 3, 14, 0), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 36, Local0, bs1f)
+
+ Mid(Buffer(){"This is auxiliary Buffer"}, m604(0, 3, 14, 0), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 37, Local0, bb35)
+
+ Mid(aus6, m604(0, 3, 14, 0), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 38, Local0, bs1f)
+
+ Mid(aub6, m604(0, 3, 14, 0), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 39, Local0, bb35)
+
+
+ if (y078) {
+ Mid(Derefof(Refof(aus6)), m604(0, 3, 14, 0), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 40, Local0, bs1f)
+
+ Mid(Derefof(Refof(aub6)), m604(0, 3, 14, 0), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 41, Local0, bb35)
+ }
+
+ Mid(Derefof(Index(paus, 6)), m604(0, 3, 14, 0), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 42, Local0, bs1f)
+
+ Mid(Derefof(Index(paub, 6)), m604(0, 3, 14, 0), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 43, Local0, bb35)
+
+ // Method returns Object
+
+ Mid(m601(2, 6), m604(0, 3, 14, 0), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 44, Local0, bs1f)
+
+ Mid(m601(3, 6), m604(0, 3, 14, 0), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 45, Local0, bb35)
+
+ // Method returns Reference
+
+ if (y500) {
+ Mid(Derefof(m602(2, 6, 1)), m604(0, 3, 14, 0), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 46, Local0, bs1f)
+
+ Mid(Derefof(m602(3, 6, 1)), m604(0, 3, 14, 0), m604(0, 3, 10, 0), Local0)
+ m600(arg0, 47, Local0, bb35)
+ }
+ }
+
+ // Buffer to Integer conversion of the Buffer StartIndex
+ // operand of the Match operator
+ Method(m06a, 1)
+ {
+ Store(Match(
+ Package(){
+ 0xa50, 0xa51, 0xa52, 0xa53, 0xa54, 0xa55, 0xa56, 0xa57,
+ 0xa58, 0xa59, 0xa5a, 0xa5b, 0xa5c, 0xa5d, 0xa5e,},
+ MEQ, 0xa5d, MTR, 0, m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 0, Local0, 0xd)
+
+ Store(Match(
+ Package(){
+ 0xa50, 0xa51, 0xa52, 0xa53, 0xa54, 0xa55, 0xa56, 0xa57,
+ 0xa58, 0xa59, 0xa5a, 0xa5b, 0xa5c, 0xa5d, 0xa5e,},
+ MEQ, 0xa5a, MTR, 0, m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 1, Local0, Ones)
+
+ Store(Match(aup0, MEQ, 0xa5d, MTR, 0, m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 2, Local0, 0xd)
+
+ Store(Match(aup0, MEQ, 0xa5a, MTR, 0, m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 3, Local0, Ones)
+
+ if (y078) {
+ Store(Match(Derefof(Refof(aup0)), MEQ, 0xa5d, MTR, 0, m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 4, Local0, 0xd)
+
+ Store(Match(Derefof(Refof(aup0)), MEQ, 0xa5a, MTR, 0, m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 5, Local0, Ones)
+ }
+
+ Store(Match(Derefof(Index(paup, 0)), MEQ, 0xa5d, MTR, 0, m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 6, Local0, 0xd)
+
+ Store(Match(Derefof(Index(paup, 0)), MEQ, 0xa5a, MTR, 0, m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 7, Local0, Ones)
+
+ // Method returns Object
+
+ Store(Match(m601(4, 0), MEQ, 0xa5d, MTR, 0, m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 8, Local0, 0xd)
+
+ Store(Match(m601(4, 0), MEQ, 0xa5a, MTR, 0, m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 9, Local0, Ones)
+
+ // Method returns Reference
+
+ if (y500) {
+ Store(Match(Derefof(m602(4, 0, 1)), MEQ, 0xa5d, MTR, 0, m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 10, Local0, 0xd)
+
+ Store(Match(Derefof(m602(4, 0, 1)), MEQ, 0xa5a, MTR, 0, m604(0, 3, 14, 0)), Local0)
+ m600(arg0, 11, Local0, Ones)
+ }
+ }
+
+// Method(m64t, 1)
+
+// Method(m32t, 1)
+
+ // Buffer to Integer conversion of the Buffer sole operand
+ // of the Method execution control operators (Sleep, Stall)
+ Method(m06b, 1)
+ {
+ CH03(arg0, z118, 11, 0, 0)
+
+ // Sleep
+
+ Store(Timer, Local0)
+
+ Sleep(m604(0, 3, 6, 0))
+ CH03(arg0, z118, 12, 0, 0)
+
+ Store(Timer, Local1)
+ Subtract(Local1, Local0, Local2)
+ if (LLess(Local2, c08c)) {
+ err(arg0, z118, 0, 0, 0, Local2, c08c)
+ }
+
+ // Stall
+
+ Store(Timer, Local0)
+
+ Stall(m604(0, 3, 19, 0))
+ CH03(arg0, z118, 13, 0, 0)
+
+ Store(Timer, Local1)
+ Subtract(Local1, Local0, Local2)
+ if (LLess(Local2, 990)) {
+ err(arg0, z118, 1, 0, 0, Local2, 990)
+ }
+ }
+
+ // Buffer to Integer conversion of the Buffer TimeoutValue
+ // (second) operand of the Acquire operator
+
+ Method(m06c, 1)
+ {
+ Mutex(MTX0, 0)
+
+ Acquire(MTX0, 0)
+ CH03(arg0, z118, 14, 0, 0)
+
+ Store(Timer, Local0)
+
+/* Compiler allows only Integer constant as TimeoutValue (Bug 1)
+ Acquire(MTX0, m604(0, 3, 6, 0))
+*/
+ CH03(arg0, z118, 15, 0, 0)
+
+ Store(Timer, Local1)
+ Subtract(Local1, Local0, Local2)
+ if (LLess(Local2, c08c)) {
+ err(arg0, z118, 0, 0, 0, Local2, c08c)
+ }
+ }
+
+ // Buffer to Integer conversion of the Buffer TimeoutValue
+ // (second) operand of the Wait operator
+ Method(m06d, 1)
+ {
+ Event(EVT0)
+
+ CH03(arg0, z118, 16, 0, 0)
+
+ Store(Timer, Local0)
+
+ Wait(EVT0, m604(0, 3, 6, 0))
+ CH03(arg0, z118, 17, 0, 0)
+
+ Store(Timer, Local1)
+ Subtract(Local1, Local0, Local2)
+ if (LLess(Local2, c08c)) {
+ err(arg0, z118, 0, 0, 0, Local2, c08c)
+ }
+ }
+
+ // Buffer to Integer conversion of the Buffer value
+ // of Predicate of the Method execution control statements
+ // (If, ElseIf, While)
+ Method(m06e, 1)
+ {
+ Name(ist0, 0)
+
+ Method(m001)
+ {
+ if (m604(0, 3, 0, 0)) {
+ Store(0, ist0)
+ }
+ }
+
+ Method(m002)
+ {
+ if (m604(0, 3, 6, 0)) {
+ Store(2, ist0)
+ }
+ }
+
+ Method(m003)
+ {
+ if (m604(0, 3, 10, 0)) {
+ Store(3, ist0)
+ }
+ }
+
+ Method(m004)
+ {
+ if (m604(0, 3, 10, 0)) {
+ Store(4, ist0)
+ }
+ }
+
+ Method(m005, 1)
+ {
+ if (arg0) {
+ Store(0xff, ist0)
+ } elseif (m604(0, 3, 0, 0)) {
+ Store(0, ist0)
+ }
+ }
+
+ Method(m006, 1)
+ {
+ if (arg0) {
+ Store(0xff, ist0)
+ } elseif (m604(0, 3, 6, 0)) {
+ Store(6, ist0)
+ }
+ }
+
+ Method(m007, 1)
+ {
+ if (arg0) {
+ Store(0xff, ist0)
+ } elseif (m604(0, 3, 10, 0)) {
+ Store(7, ist0)
+ }
+ }
+
+ Method(m008, 1)
+ {
+ if (arg0) {
+ Store(0xff, ist0)
+ } elseif (m604(0, 3, 10, 0)) {
+ Store(8, ist0)
+ }
+ }
+
+ Method(m009)
+ {
+ while (m604(0, 3, 0, 0)) {
+ Store(0, ist0)
+ Break
+ }
+ }
+
+ // If
+
+ Store(1, ist0)
+ m001()
+ m600(arg0, 0, ist0, 1)
+
+ m002()
+ m600(arg0, 1, ist0, 2)
+
+ m003()
+ m600(arg0, 2, ist0, 3)
+
+ m004()
+ m600(arg0, 3, ist0, 4)
+
+ // ElseIf
+
+ Store(5, ist0)
+ m005(0)
+ m600(arg0, 4, ist0, 5)
+
+ m006(0)
+ m600(arg0, 5, ist0, 6)
+
+ m007(0)
+ m600(arg0, 6, ist0, 7)
+
+ m008(0)
+ m600(arg0, 7, ist0, 8)
+
+ // While
+
+ Store(9, ist0)
+ m009()
+ m600(arg0, 8, ist0, 9)
+ }
+
+// Method(m64u, 1)
+
+// Method(m32u, 1)
+
+ // Buffer to String implicit conversion Cases.
+
+ // Buffer to String conversion of the Buffer second operand of
+ // Logical operators when the first operand is evaluated as String.
+ // LEqual LGreater LGreaterEqual LLess LLessEqual LNotEqual
+ Method(m06f, 1)
+ {
+ // LEqual
+
+ Store(LEqual("21 03 00", m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 0, Local0, Ones)
+
+ Store(LEqual("21 03 01", m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 1, Local0, Zero)
+
+ Store(LEqual(aus9, m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 2, Local0, Ones)
+
+ Store(LEqual(ausa, m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 3, Local0, Zero)
+
+ if (y078) {
+ Store(LEqual(Derefof(Refof(aus9)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 4, Local0, Ones)
+
+ Store(LEqual(Derefof(Refof(ausa)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 5, Local0, Zero)
+ }
+
+ Store(LEqual(Derefof(Index(paus, 9)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 6, Local0, Ones)
+
+ Store(LEqual(Derefof(Index(paus, 10)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 7, Local0, Zero)
+
+ // Method returns String
+
+ Store(LEqual(m601(2, 9), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 8, Local0, Ones)
+
+ Store(LEqual(m601(2, 10), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 9, Local0, Zero)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LEqual(Derefof(m602(2, 9, 1)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 10, Local0, Ones)
+
+ Store(LEqual(Derefof(m602(2, 10, 1)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 11, Local0, Zero)
+ }
+
+ // LGreater
+
+ Store(LGreater("21 03 00", m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 12, Local0, Zero)
+
+ Store(LGreater("21 03 01", m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 13, Local0, Ones)
+
+ Store(LGreater("21 03 0 ", m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 14, Local0, Zero)
+
+ Store(LGreater("21 03 00q", m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 15, Local0, Ones)
+
+ Store(LGreater(aus9, m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 16, Local0, Zero)
+
+ Store(LGreater(ausa, m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 17, Local0, Ones)
+
+ if (y078) {
+ Store(LGreater(Derefof(Refof(aus9)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 18, Local0, Zero)
+
+ Store(LGreater(Derefof(Refof(ausa)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 19, Local0, Ones)
+ }
+
+ Store(LGreater(Derefof(Index(paus, 9)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 20, Local0, Zero)
+
+ Store(LGreater(Derefof(Index(paus, 10)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 21, Local0, Ones)
+
+ // Method returns String
+
+ Store(LGreater(m601(2, 9), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 22, Local0, Zero)
+
+ Store(LGreater(m601(2, 10), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 23, Local0, Ones)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LGreater(Derefof(m602(2, 9, 1)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 24, Local0, Zero)
+
+ Store(LGreater(Derefof(m602(2, 10, 1)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 25, Local0, Ones)
+ }
+
+ // LGreaterEqual
+
+ Store(LGreaterEqual("21 03 00", m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 26, Local0, Ones)
+
+ Store(LGreaterEqual("21 03 01", m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 27, Local0, Ones)
+
+ Store(LGreaterEqual("21 03 0 ", m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 28, Local0, Zero)
+
+ Store(LGreaterEqual("21 03 00q", m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 29, Local0, Ones)
+
+ Store(LGreaterEqual(aus9, m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 30, Local0, Ones)
+
+ Store(LGreaterEqual(ausa, m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 31, Local0, Ones)
+
+ if (y078) {
+ Store(LGreaterEqual(Derefof(Refof(aus9)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 32, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Refof(ausa)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 33, Local0, Ones)
+ }
+
+ Store(LGreaterEqual(Derefof(Index(paus, 9)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 34, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(Index(paus, 10)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 35, Local0, Ones)
+
+ // Method returns String
+
+ Store(LGreaterEqual(m601(2, 9),
+ m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 36, Local0, Ones)
+
+ Store(LGreaterEqual(m601(2, 10), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 37, Local0, Ones)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LGreaterEqual(Derefof(m602(2, 9, 1)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 38, Local0, Ones)
+
+ Store(LGreaterEqual(Derefof(m602(2, 10, 1)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 39, Local0, Ones)
+ }
+
+ // LLess
+
+ Store(LLess("21 03 00", m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 40, Local0, Zero)
+
+ Store(LLess("21 03 01", m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 41, Local0, Zero)
+
+ Store(LLess("21 03 0 ", m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 42, Local0, Ones)
+
+ Store(LLess("21 03 00q", m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 43, Local0, Zero)
+
+ Store(LLess(aus9, m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 44, Local0, Zero)
+
+ Store(LLess(ausa, m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 45, Local0, Zero)
+
+ if (y078) {
+ Store(LLess(Derefof(Refof(aus9)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 46, Local0, Zero)
+
+ Store(LLess(Derefof(Refof(ausa)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 47, Local0, Zero)
+ }
+
+ Store(LLess(Derefof(Index(paus, 9)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 48, Local0, Zero)
+
+ Store(LLess(Derefof(Index(paus, 10)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 49, Local0, Zero)
+
+ // Method returns String
+
+ Store(LLess(m601(2, 9), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 50, Local0, Zero)
+
+ Store(LLess(m601(2, 10), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 51, Local0, Zero)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LLess(Derefof(m602(2, 9, 1)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 52, Local0, Zero)
+
+ Store(LLess(Derefof(m602(2, 10, 1)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 53, Local0, Zero)
+ }
+
+ // LLessEqual
+
+ Store(LLessEqual("21 03 00", m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 54, Local0, Ones)
+
+ Store(LLessEqual("21 03 01", m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 55, Local0, Zero)
+
+ Store(LLessEqual("21 03 0 ", m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 56, Local0, Ones)
+
+ Store(LLessEqual("21 03 00q", m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 57, Local0, Zero)
+
+ Store(LLessEqual(aus9, m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 58, Local0, Ones)
+
+ Store(LLessEqual(ausa, m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 59, Local0, Zero)
+
+ if (y078) {
+ Store(LLessEqual(Derefof(Refof(aus9)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 60, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Refof(ausa)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 61, Local0, Zero)
+ }
+
+ Store(LLessEqual(Derefof(Index(paus, 9)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 62, Local0, Ones)
+
+ Store(LLessEqual(Derefof(Index(paus, 10)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 63, Local0, Zero)
+
+ // Method returns String
+
+ Store(LLessEqual(m601(2, 9), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 64, Local0, Ones)
+
+ Store(LLessEqual(m601(2, 10), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 65, Local0, Zero)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LLessEqual(Derefof(m602(2, 9, 1)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 66, Local0, Ones)
+
+ Store(LLessEqual(Derefof(m602(2, 10, 1)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 67, Local0, Zero)
+ }
+
+ // LNotEqual
+
+ Store(LNotEqual("21 03 00", m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 68, Local0, Zero)
+
+ Store(LNotEqual("21 03 01", m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 69, Local0, Ones)
+
+ Store(LNotEqual("21 03 0 ", m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 70, Local0, Ones)
+
+ Store(LNotEqual("21 03 00q", m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 71, Local0, Ones)
+
+ Store(LNotEqual(aus9, m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 72, Local0, Zero)
+
+ Store(LNotEqual(ausa, m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 73, Local0, Ones)
+
+ if (y078) {
+ Store(LNotEqual(Derefof(Refof(aus9)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 74, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Refof(ausa)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 75, Local0, Ones)
+ }
+
+ Store(LNotEqual(Derefof(Index(paus, 9)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 76, Local0, Zero)
+
+ Store(LNotEqual(Derefof(Index(paus, 10)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 77, Local0, Ones)
+
+ // Method returns String
+
+ Store(LNotEqual(m601(2, 9), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 78, Local0, Zero)
+
+ Store(LNotEqual(m601(2, 10), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 79, Local0, Ones)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(LNotEqual(Derefof(m602(2, 9, 1)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 80, Local0, Zero)
+
+ Store(LNotEqual(Derefof(m602(2, 10, 1)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 81, Local0, Ones)
+ }
+
+ // Boundary Cases
+
+ Store(LEqual("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63",
+ m604(0, 3, 12, 0)),
+ Local0)
+ m600(arg0, 82, Local0, Ones)
+
+ Store(LEqual("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 64",
+ m604(0, 3, 12, 0)),
+ Local0)
+ m600(arg0, 83, Local0, Zero)
+
+ Store(LGreater("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63",
+ m604(0, 3, 12, 0)),
+ Local0)
+ m600(arg0, 84, Local0, Zero)
+
+ Store(LGreater("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 64",
+ m604(0, 3, 12, 0)),
+ Local0)
+ m600(arg0, 85, Local0, Ones)
+
+ Store(LGreaterEqual("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63",
+ m604(0, 3, 12, 0)),
+ Local0)
+ m600(arg0, 86, Local0, Ones)
+
+ Store(LGreaterEqual("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 64",
+ m604(0, 3, 12, 0)),
+ Local0)
+ m600(arg0, 87, Local0, Ones)
+
+ Store(LLess("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63",
+ m604(0, 3, 12, 0)),
+ Local0)
+ m600(arg0, 88, Local0, Zero)
+
+ Store(LLess("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 64",
+ m604(0, 3, 12, 0)),
+ Local0)
+ m600(arg0, 89, Local0, Zero)
+
+ Store(LLessEqual("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63",
+ m604(0, 3, 12, 0)),
+ Local0)
+ m600(arg0, 90, Local0, Ones)
+
+ Store(LLessEqual("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 64",
+ m604(0, 3, 12, 0)),
+ Local0)
+ m600(arg0, 91, Local0, Zero)
+
+
+ Store(LNotEqual("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63",
+ m604(0, 3, 12, 0)),
+ Local0)
+ m600(arg0, 92, Local0, Zero)
+
+ Store(LNotEqual("21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 64",
+ m604(0, 3, 12, 0)),
+ Local0)
+ m600(arg0, 93, Local0, Ones)
+ }
+
+ // Buffer to String conversion of the Buffer second operand of
+ // Concatenate operator when the first operand is evaluated as String
+ Method(m070, 1)
+ {
+ Store(Concatenate("", m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 0, Local0, bs25)
+
+ Store(Concatenate("1234q", m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 1, Local0, bs26)
+
+ Store(Concatenate(aus0, m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 2, Local0, bs25)
+
+ Store(Concatenate(aus1, m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 3, Local0, bs26)
+
+ if (y078) {
+ Store(Concatenate(Derefof(Refof(aus0)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 4, Local0, bs25)
+
+ Store(Concatenate(Derefof(Refof(aus1)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 5, Local0, bs26)
+ }
+
+ Store(Concatenate(Derefof(Index(paus, 0)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 6, Local0, bs25)
+
+ Store(Concatenate(Derefof(Index(paus, 1)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 7, Local0, bs26)
+
+ // Method returns String
+
+ Store(Concatenate(m601(2, 0), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 8, Local0, bs25)
+
+ Store(Concatenate(m601(2, 1), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 9, Local0, bs26)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Store(Concatenate(Derefof(m602(2, 0, 1)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 10, Local0, bs25)
+
+ Store(Concatenate(Derefof(m602(2, 1, 1)), m604(0, 3, 6, 0)), Local0)
+ m600(arg0, 11, Local0, bs26)
+ }
+
+ Concatenate("", m604(0, 3, 6, 0), Local0)
+ m600(arg0, 12, Local0, bs25)
+
+ Concatenate("1234q", m604(0, 3, 6, 0), Local0)
+ m600(arg0, 13, Local0, bs26)
+
+ Concatenate(aus0, m604(0, 3, 6, 0), Local0)
+ m600(arg0, 14, Local0, bs25)
+
+ Concatenate(aus1, m604(0, 3, 6, 0), Local0)
+ m600(arg0, 15, Local0, bs26)
+
+ if (y078) {
+ Concatenate(Derefof(Refof(aus0)), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 16, Local0, bs25)
+
+ Concatenate(Derefof(Refof(aus1)), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 17, Local0, bs26)
+ }
+
+ Concatenate(Derefof(Index(paus, 0)), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 18, Local0, bs25)
+
+ Concatenate(Derefof(Index(paus, 1)), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 19, Local0, bs26)
+
+ // Method returns String
+
+ Concatenate(m601(2, 0), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 20, Local0, bs25)
+
+ Concatenate(m601(2, 1), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 21, Local0, bs26)
+
+ // Method returns Reference to String
+
+ if (y500) {
+ Concatenate(Derefof(m602(2, 0, 1)), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 22, Local0, bs25)
+
+ Concatenate(Derefof(m602(2, 1, 1)), m604(0, 3, 6, 0), Local0)
+ m600(arg0, 23, Local0, bs26)
+ }
+
+ // Boundary Cases
+
+ Store(Concatenate("",
+ m604(0, 3, 12, 0)),
+ Local0)
+ m600(arg0, 24, Local0, bs27)
+ }
+
+// Method(m071, 1)
+
+// Method(m072, 1)
+
+ /*
+ * Begin of the test body
+ */
+
+ // Integer to String implicit conversion Cases.
+
+ // Integer to String conversion of the Integer second operand of
+ // Logical operators when the first operand is evaluated as String.
+ // LEqual LGreater LGreaterEqual LLess LLessEqual LNotEqual
+ if (F64) {
+ Concatenate(ts, "-m640", Local0)
+ SRMT(Local0)
+ m640(Local0)
+ } else {
+ Concatenate(ts, "-m320", Local0)
+ SRMT(Local0)
+ m320(Local0)
+ }
+
+ // Integer to String conversion of the Integer second operand of
+ // Concatenate operator when the first operand is evaluated as String
+ if (F64) {
+ Concatenate(ts, "-m641", Local0)
+ SRMT(Local0)
+ m641(Local0)
+ } else {
+ Concatenate(ts, "-m321", Local0)
+ SRMT(Local0)
+ m321(Local0)
+ }
+
+
+ // Integer to Buffer implicit conversion Cases.
+
+ // Integer to Buffer conversion of the Integer second operand of
+ // Logical operators when the first operand is evaluated as Buffer
+ // (LEqual, LGreater, LGreaterEqual, LLess, LLessEqual, LNotEqual)
+ if (F64) {
+ Concatenate(ts, "-m644", Local0)
+ SRMT(Local0)
+ m644(Local0)
+ } else {
+ Concatenate(ts, "-m324", Local0)
+ SRMT(Local0)
+ m324(Local0)
+ }
+
+ // Integer to Buffer conversion of the both Integer operands of
+ // Concatenate operator
+ if (F64) {
+ Concatenate(ts, "-m645", Local0)
+ SRMT(Local0)
+ m645(Local0)
+ } else {
+ Concatenate(ts, "-m325", Local0)
+ SRMT(Local0)
+ m325(Local0)
+ }
+
+ // Integer to Buffer conversion of the Integer second operand of
+ // Concatenate operator when the first operand is evaluated as Buffer
+ if (F64) {
+ Concatenate(ts, "-m646", Local0)
+ SRMT(Local0)
+ m646(Local0)
+ } else {
+ Concatenate(ts, "-m326", Local0)
+ SRMT(Local0)
+ m326(Local0)
+ }
+
+ // Integer to Buffer conversion of the Integer Source operand of
+ // ToString operator
+ if (F64) {
+ Concatenate(ts, "-m647", Local0)
+ SRMT(Local0)
+ m647(Local0)
+ } else {
+ Concatenate(ts, "-m327", Local0)
+ SRMT(Local0)
+ m327(Local0)
+ }
+
+ // Integer to Buffer conversion of the Integer Source operand of
+ // Mid operator
+ if (F64) {
+ Concatenate(ts, "-m648", Local0)
+ SRMT(Local0)
+ m648(Local0)
+ } else {
+ Concatenate(ts, "-m328", Local0)
+ SRMT(Local0)
+ m328(Local0)
+ }
+
+
+ // String to Integer implicit conversion Cases.
+
+ // String to Integer conversion of the String sole operand
+ // of the 1-parameter Integer arithmetic operators
+ // (Decrement, Increment, FindSetLeftBit, FindSetRightBit, Not)
+ if (F64) {
+ Concatenate(ts, "-m64b", Local0)
+ SRMT(Local0)
+ m64b(Local0)
+ } else {
+ Concatenate(ts, "-m32b", Local0)
+ SRMT(Local0)
+ m32b(Local0)
+ }
+
+ // String to Integer conversion of the String sole operand
+ // of the LNot Logical Integer operator
+ Concatenate(ts, "-m000", Local0)
+ SRMT(Local0)
+ m000(Local0)
+
+ // String to Integer conversion of the String sole operand
+ // of the FromBCD and ToBCD conversion operators
+ if (F64) {
+ Concatenate(ts, "-m64c", Local0)
+ SRMT(Local0)
+ m64c(Local0)
+ } else {
+ Concatenate(ts, "-m32c", Local0)
+ SRMT(Local0)
+ m32c(Local0)
+ }
+
+ // String to Integer conversion of each String operand
+ // of the 2-parameter Integer arithmetic operators
+ // Add, And, Divide, Mod, Multiply, NAnd, NOr, Or,
+ // ShiftLeft, ShiftRight, Subtract, Xor
+ if (F64) {
+ m64d(Concatenate(ts, "-m64d"))
+ } else {
+ m32d(Concatenate(ts, "-m32d"))
+ }
+
+ // String to Integer conversion of each String operand
+ // of the 2-parameter Logical Integer operators LAnd and LOr
+ if (F64) {
+ m64e(Concatenate(ts, "-m64e"))
+ } else {
+ m32e(Concatenate(ts, "-m32e"))
+ }
+
+ // String to Integer conversion of the String second operand of
+ // Logical operators when the first operand is evaluated as Integer
+ // (LEqual, LGreater, LGreaterEqual, LLess, LLessEqual, LNotEqual)
+
+ Concatenate(ts, "-m02b", Local0)
+ SRMT(Local0)
+ m02b(Local0)
+
+ if (F64) {
+ Concatenate(ts, "-m64f", Local0)
+ SRMT(Local0)
+ m64f(Local0)
+ } else {
+ Concatenate(ts, "-m32f", Local0)
+ SRMT(Local0)
+ m32f(Local0)
+ }
+
+ // String to Integer intermediate conversion of the String second
+ // operand of Concatenate operator in case the first one is Integer
+ if (F64) {
+ Concatenate(ts, "-m64g", Local0)
+ SRMT(Local0)
+ m64g(Local0)
+ } else {
+ Concatenate(ts, "-m32g", Local0)
+ SRMT(Local0)
+ m32g(Local0)
+ }
+
+ // String to Integer conversion of the String Length (second)
+ // operand of the ToString operator
+
+ Concatenate(ts, "-m02c", Local0)
+ SRMT(Local0)
+ m02c(Local0)
+
+ if (F64) {
+ Concatenate(ts, "-m64h", Local0)
+ SRMT(Local0)
+ m64h(Local0)
+ } else {
+ Concatenate(ts, "-m32h", Local0)
+ SRMT(Local0)
+ m32h(Local0)
+ }
+
+ // String to Integer conversion of the String Index (second)
+ // operand of the Index operator
+ Concatenate(ts, "-m02d", Local0)
+ SRMT(Local0)
+ m02d(Local0)
+
+ // String to Integer conversion of the String Arg (third)
+ // operand of the Fatal operator
+ // (it can only be checked an exception does not occur)
+ Concatenate(ts, "-m02e", Local0)
+ SRMT(Local0)
+ m02e(Local0)
+
+ // String to Integer conversion of the String Index and Length
+ // operands of the Mid operator
+
+ Concatenate(ts, "-m02f", Local0)
+ SRMT(Local0)
+ m02f(Local0)
+
+ if (F64) {
+ Concatenate(ts, "-m64i", Local0)
+ SRMT(Local0)
+ m64i(Local0)
+ } else {
+ Concatenate(ts, "-m32i", Local0)
+ SRMT(Local0)
+ m32i(Local0)
+ }
+
+ // String to Integer conversion of the String StartIndex
+ // operand of the Match operator
+ Concatenate(ts, "-m030", Local0)
+ SRMT(Local0)
+ m030(Local0)
+
+ // String to Integer conversion of the String sole operand
+ // of the Method execution control operators (Sleep, Stall)
+ Concatenate(ts, "-m031", Local0)
+ SRMT(Local0)
+ m031(Local0)
+
+ // String to Integer conversion of the String TimeoutValue
+ // (second) operand of the Acquire operator
+/* Compiler allows only Integer constant as TimeoutValue (Bug 1)
+ Concatenate(ts, "-m032", Local0)
+ SRMT(Local0)
+ m032(Local0)
+*/
+
+ // String to Integer conversion of the String TimeoutValue
+ // (second) operand of the Wait operator
+ Concatenate(ts, "-m033", Local0)
+ SRMT(Local0)
+ m033(Local0)
+
+ // String to Integer conversion of the String value
+ // of Predicate of the Method execution control statements
+ // (If, ElseIf, While)
+ Concatenate(ts, "-m034", Local0)
+ SRMT(Local0)
+ if (y111) {
+ m034(Local0)
+ } else {
+ BLCK()
+ }
+
+ // String to Integer conversion of the String value
+ // of Expression of Case statement when Expression in
+ // Switch is evaluated as Integer
+ //
+ // Note: Expression of Case can be only static data
+
+ // String to Buffer implicit conversion Cases.
+
+ // String to Buffer conversion of the String second operand of
+ // Logical operators when the first operand is evaluated as Buffer
+ // (LEqual, LGreater, LGreaterEqual, LLess, LLessEqual, LNotEqual)
+ Concatenate(ts, "-m035", Local0)
+ SRMT(Local0)
+ m035(Local0)
+
+ // String to Buffer conversion of the String second operand of
+ // Concatenate operator when the first operand is evaluated as Buffer
+ Concatenate(ts, "-m036", Local0)
+ SRMT(Local0)
+ m036(Local0)
+
+ // String to Buffer conversion of the String Source operand of
+ // ToString operator (has a visual effect in shortening of the
+ // String taken the null character)
+ Concatenate(ts, "-m037", Local0)
+ SRMT(Local0)
+ m037(Local0)
+
+
+ // Buffer to Integer implicit conversion Cases.
+
+ // Buffer to Integer conversion of the Buffer sole operand
+ // of the 1-parameter Integer arithmetic operators
+ // (Decrement, Increment, FindSetLeftBit, FindSetRightBit, Not)
+ if (F64) {
+ Concatenate(ts, "-m64l", Local0)
+ SRMT(Local0)
+ m64l(Local0)
+ } else {
+ Concatenate(ts, "-m32l", Local0)
+ SRMT(Local0)
+ m32l(Local0)
+ }
+
+ // Buffer to Integer conversion of the Buffer sole operand
+ // of the LNot Logical Integer operator
+ Concatenate(ts, "-m03a", Local0)
+ SRMT(Local0)
+ m03a(Local0)
+
+ // Buffer to Integer conversion of the Buffer sole operand
+ // of the FromBCD and ToBCD conversion operators
+ if (F64) {
+ Concatenate(ts, "-m64m", Local0)
+ SRMT(Local0)
+ m64m(Local0)
+ } else {
+ Concatenate(ts, "-m32m", Local0)
+ SRMT(Local0)
+ m32m(Local0)
+ }
+
+ // Buffer to Integer conversion of each Buffer operand
+ // of the 2-parameter Integer arithmetic operators
+ // Add, And, Divide, Mod, Multiply, NAnd, NOr, Or,
+ // ShiftLeft, ShiftRight, Subtract, Xor
+ if (F64) {
+ m64n(Concatenate(ts, "-m64n"))
+ } else {
+ m32n(Concatenate(ts, "-m32n"))
+ }
+
+ // Buffer to Integer conversion of each Buffer operand
+ // of the 2-parameter Logical Integer operators LAnd and LOr
+ if (F64) {
+ m64o(Concatenate(ts, "-m64o"))
+ } else {
+ m32o(Concatenate(ts, "-m32o"))
+ }
+
+ // Buffer to Integer conversion of the Buffer second operand of
+ // Logical operators when the first operand is evaluated as Integer
+ // (LEqual, LGreater, LGreaterEqual, LLess, LLessEqual, LNotEqual)
+
+ Concatenate(ts, "-m065", Local0)
+ SRMT(Local0)
+ m065(Local0)
+
+ if (F64) {
+ Concatenate(ts, "-m64p", Local0)
+ SRMT(Local0)
+ m64p(Local0)
+ } else {
+ Concatenate(ts, "-m32p", Local0)
+ SRMT(Local0)
+ m32p(Local0)
+ }
+
+ // Buffer to Integer intermediate conversion of the Buffer second
+ // operand of Concatenate operator in case the first one is Integer
+ if (F64) {
+ Concatenate(ts, "-m64q", Local0)
+ SRMT(Local0)
+ m64q(Local0)
+ } else {
+ Concatenate(ts, "-m32q", Local0)
+ SRMT(Local0)
+ m32q(Local0)
+ }
+
+ // Buffer to Integer conversion of the Buffer Length (second)
+ // operand of the ToString operator
+
+ Concatenate(ts, "-m066", Local0)
+ SRMT(Local0)
+ m066(Local0)
+
+ if (F64) {
+ Concatenate(ts, "-m64r", Local0)
+ SRMT(Local0)
+ m64r(Local0)
+ } else {
+ Concatenate(ts, "-m32r", Local0)
+ SRMT(Local0)
+ m32r(Local0)
+ }
+
+ // Buffer to Integer conversion of the Buffer Index (second)
+ // operand of the Index operator
+ Concatenate(ts, "-m067", Local0)
+ SRMT(Local0)
+ m067(Local0)
+
+ // Buffer to Integer conversion of the String Arg (third)
+ // operand of the Fatal operator
+ // (it can only be checked an exception does not occur)
+ Concatenate(ts, "-m068", Local0)
+ SRMT(Local0)
+ m068(Local0)
+
+ // Buffer to Integer conversion of the Buffer Index and Length
+ // operands of the Mid operator
+
+ Concatenate(ts, "-m069", Local0)
+ SRMT(Local0)
+ m069(Local0)
+
+ if (F64) {
+ Concatenate(ts, "-m64s", Local0)
+ SRMT(Local0)
+ m64s(Local0)
+ } else {
+ Concatenate(ts, "-m32s", Local0)
+ SRMT(Local0)
+ m32s(Local0)
+ }
+
+ // Buffer to Integer conversion of the Buffer StartIndex
+ // operand of the Match operator
+ Concatenate(ts, "-m06a", Local0)
+ SRMT(Local0)
+ m06a(Local0)
+
+ // Buffer to Integer conversion of the Buffer sole operand
+ // of the Method execution control operators (Sleep, Stall)
+ Concatenate(ts, "-m06b", Local0)
+ SRMT(Local0)
+ m06b(Local0)
+
+ // Buffer to Integer conversion of the Buffer TimeoutValue
+ // (second) operand of the Acquire operator
+/* Compiler allows only Integer constant as TimeoutValue (Bug 1)
+ Concatenate(ts, "-m06c", Local0)
+ SRMT(Local0)
+ m06c(Local0)
+*/
+
+ // Buffer to Integer conversion of the Buffer TimeoutValue
+ // (second) operand of the Wait operator
+ Concatenate(ts, "-m06d", Local0)
+ SRMT(Local0)
+ m06d(Local0)
+
+ // Buffer to Integer conversion of the Buffer value
+ // of Predicate of the Method execution control statements
+ // (If, ElseIf, While)
+ Concatenate(ts, "-m06e", Local0)
+ SRMT(Local0)
+ if (y111) {
+ m06e(Local0)
+ } else {
+ BLCK()
+ }
+
+ // Buffer to Integer conversion of the Buffer value
+ // of Expression of Case statement when Expression in
+ // Switch is evaluated as Integer
+ //
+ // Note: Expression of Case can be only static data
+
+ // Buffer to String implicit conversion Cases.
+
+ // Buffer to String conversion of the Buffer second operand of
+ // Logical operators when the first operand is evaluated as String.
+ // LEqual LGreater LGreaterEqual LLess LLessEqual LNotEqual
+ Concatenate(ts, "-m06f", Local0)
+ SRMT(Local0)
+ m06f(Local0)
+
+ // Buffer to String conversion of the Buffer second operand of
+ // Concatenate operator when the first operand is evaluated as String
+ Concatenate(ts, "-m070", Local0)
+ SRMT(Local0)
+ m070(Local0)
+
+ // Check consistency of the test Named Objects
+ // in the root Scope of the Global ACPI namespace
+ Concatenate(ts, "-m606", Local0)
+ SRMT(Local0)
+ m606(Local0)
+}
+
+// Run-method
+Method(OPR7)
+{
+ Store("TEST: OPR7, Source Operand", Debug)
+
+ m619()
+}
diff --git a/tests/aslts/src/runtime/collections/complex/provoke/MAIN.asl b/tests/aslts/src/runtime/collections/complex/provoke/MAIN.asl
new file mode 100644
index 000000000..8ea3dca50
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/provoke/MAIN.asl
@@ -0,0 +1,58 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "provoke.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../runtime/cntl/DECL.asl")
+ Include("../../../../runtime/collections/complex/provoke/provoke.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+
+ Include("../../../../runtime/collections/complex/provoke/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/complex/provoke/Makefile b/tests/aslts/src/runtime/collections/complex/provoke/Makefile
new file mode 100644
index 000000000..a86e64cc9
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/provoke/Makefile
@@ -0,0 +1,7 @@
+# provoke
+
+AMLMOD= provoke
+COLL= ../..
+
+TOP= $(COLL)/../../..
+include $(COLL)/Makefile.install
diff --git a/tests/aslts/src/runtime/collections/complex/provoke/RUN.asl b/tests/aslts/src/runtime/collections/complex/provoke/RUN.asl
new file mode 100644
index 000000000..77cb34e46
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/provoke/RUN.asl
@@ -0,0 +1,35 @@
+/*
+ * 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.
+ */
+
+
+if (STTT("Check operators under the known critical conditions", TCLC, 1, W00f)) {
+ PRV0()
+}
+FTTT()
diff --git a/tests/aslts/src/runtime/collections/complex/provoke/provoke.asl b/tests/aslts/src/runtime/collections/complex/provoke/provoke.asl
new file mode 100644
index 000000000..e477ec749
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/provoke/provoke.asl
@@ -0,0 +1,136 @@
+/*
+ * 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.
+ */
+
+/*
+ * Check operators under the known critical conditions
+ *
+ * Collection of the tests which exersice the operators under the
+ * known conditions. If some operator was observed failing under some
+ * conditions, do the similar checkings for other operators under the
+ * similar conditions too.
+ */
+
+Name(z055, 55)
+
+// Meaningless zero valued parameter
+
+Method(m130, 1)
+{
+ Name(B000, Buffer(2) {0x21, 0x21})
+
+ Store(0, Local0)
+
+ ToString(B000, Local0)
+
+ if (LNotequal(Local0, 0)) {
+ err(arg0, z055, 0, 0, 0, Local0, 0)
+ }
+
+ CH03(arg0, z055, 1, 0, 0)
+}
+
+// Store-like actions affect the source objects passed as parameter
+
+Method(m131, 1)
+{
+ Decrement(arg0)
+ // Store(9, arg0)
+}
+
+// Operator updates the source object passed to method directly,
+// NOT as a reference to it.
+Method(m132, 1)
+{
+ Store(10, Local0)
+ m131(Local0)
+ if (LNotEqual(Local0, 10)){
+ err(arg0, z055, 2, 0, 0, Local0, 10)
+ }
+
+ CH03(arg0, z055, 3, 0, 0)
+}
+
+// Operator doesn't update the source object passed to method as a REFERENCE
+// to the object.
+Method(m133, 1)
+{
+ Store(10, Local0)
+ Store(RefOf(Local0), Local1)
+ m131(Local1)
+ if (LNotEqual(Local0, 9)){
+ err(arg0, z055, 4, 0, 0, Local0, 9)
+ }
+
+ CH03(arg0, z055, 5, 0, 0)
+}
+
+Method(m134, 1)
+{
+ Store(10, Local0)
+ m131(RefOf(Local0))
+ if (LNotEqual(Local0, 9)){
+ err(arg0, z055, 6, 0, 0, Local0, 9)
+ }
+
+ CH03(arg0, z055, 7, 0, 0)
+}
+
+Method(m135, 1)
+{
+ Store(5, arg0)
+}
+
+Method(m136, 1)
+{
+ Store(10, Local0)
+ m135(RefOf(Local0))
+ if (LNotEqual(Local0, 5)){
+ err(arg0, z055, 8, 0, 0, Local0, 5)
+ }
+
+ CH03(arg0, z055, 9, 0, 0)
+}
+
+// Run-method
+Method(PRV0)
+{
+ Name(ts, "PRV0")
+
+ SRMT("m130")
+ m130(ts)
+ SRMT("m132")
+ m132(ts)
+ SRMT("m133")
+ m133(ts)
+ SRMT("m134")
+ m134(ts)
+ SRMT("m136")
+ m136(ts)
+}
diff --git a/tests/aslts/src/runtime/collections/complex/result/Makefile b/tests/aslts/src/runtime/collections/complex/result/Makefile
new file mode 100644
index 000000000..5a859a96a
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/result/Makefile
@@ -0,0 +1,6 @@
+# result
+
+MDIRS = tests
+
+TOP= ../../../../..
+include $(TOP)/Makefile.switch
diff --git a/tests/aslts/src/runtime/collections/complex/result/common/rcommon.asl b/tests/aslts/src/runtime/collections/complex/result/common/rcommon.asl
new file mode 100644
index 000000000..28faf5536
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/result/common/rcommon.asl
@@ -0,0 +1,4494 @@
+/*
+ * 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.
+ */
+
+/*
+ * Check implicit conversion being applied to data images
+ */
+
+Name(z122, 122)
+
+// Flags of types can be used in Index Operator
+Name(b66f, Buffer() {0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0})
+
+// Not invalid types for testing to store in,
+// excluded: Field Unit, Op.Region, Thermal Zone,
+// DDB handle, Debug, Reference
+Name(b670, Buffer() {1,1,1,1,1,0,1,1,1,1,0,1,1,0,1,0,0,0})
+
+// Not invalid types for testing to be stored,
+// excluded: Field Unit, Op.Region, Thermal Zone,
+// DDB handle, Debug, Reference
+Name(b671, Buffer() {1,1,1,1,1,0,1,1,1,1,0,1,1,0,1,0,0,0})
+
+// Flags of types of non-Computational Data Objects
+Name(b674, Buffer() {1,0,0,0,1,0,1,1,1,1,1,1,1,1,0,1,1,1})
+
+// Possible types of the Named Object
+Name(b676, Buffer() {0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1})
+
+// Possible types of the LocalX Object
+Name(b677, Buffer() {1,1,1,1,1,0,1,1,1,1,1,1,1,1,0,1,0,1})
+
+// Flags of types of Fixed type Data Objects (Fields)
+Name(b678, Buffer() {0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0})
+
+// Flags of types of Computational Data Objects
+// (Fields and Integer, String, Buffer)
+Name(b679, Buffer() {0,1,1,1,0,1,0,0,0,0,0,0,0,0,1,0,0,0})
+
+// Type group numbers according with the type of an Object
+Name(b67a, Buffer() {0,2,2,2,3,1,5,5,4,5,5,5,5,5,1,0,0,6})
+
+// Flags of types not causing exceptins on Increment/Decrement
+// (~ Computational Data Objects)
+Name(b67b, Buffer() {0,1,1,1,0,1,0,0,0,0,0,0,0,0,1,0,0,0})
+
+// Flags of types that can be verified only by ObjectType
+// (Not Computational Data, Package and Method Objects)
+Name(b67c, Buffer() {1,0,0,0,0,0,1,1,0,1,1,1,1,1,0,1,1,1})
+
+// Possible types of Package Elements
+Name(b67d, Buffer() {1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1})
+
+// Not invalid types for Store taking into
+// account the ACPICA exresop restriction:
+// Needed Integer/Buffer/String/Package/Ref/Ddb
+Name(b67f, Buffer() {0,1,1,1,1,1,0,0,0,0,0,0,0,0,1,0,0,1})
+
+// Testing Destination Named Objects
+
+// Integers
+
+Name(i680, 0xa0a1a2a35f5e5d80)
+Name(i681, 0xa0a1a2a35f5e5d81)
+Name(i682, 0xa0a1a2a35f5e5d82)
+Name(i683, 0xa0a1a2a35f5e5d83)
+Name(i684, 0xa0a1a2a35f5e5d84)
+Name(i685, 0xa0a1a2a35f5e5d85)
+Name(i686, 0xa0a1a2a35f5e5d86)
+Name(i687, 0xa0a1a2a35f5e5d87)
+Name(i688, 0xa0a1a2a35f5e5d88)
+Name(i689, 0xa0a1a2a35f5e5d89)
+Name(i68a, 0xa0a1a2a35f5e5d8a)
+Name(i68b, 0xa0a1a2a35f5e5d8b)
+Name(i68c, 0xa0a1a2a35f5e5d8c)
+Name(i68d, 0xa0a1a2a35f5e5d8d)
+Name(i68e, 0xa0a1a2a35f5e5d8e)
+Name(i68f, 0xa0a1a2a35f5e5d8f)
+
+Name(i690, 0xa0a1a2a35f5e5d90)
+Name(i691, 0xa0a1a2a35f5e5d91)
+Name(i692, 0xa0a1a2a35f5e5d92)
+Name(i693, 0xa0a1a2a35f5e5d93)
+Name(i694, 0xa0a1a2a35f5e5d94)
+Name(i695, 0xa0a1a2a35f5e5d95)
+Name(i696, 0xa0a1a2a35f5e5d96)
+Name(i697, 0xa0a1a2a35f5e5d97)
+Name(i698, 0xa0a1a2a35f5e5d98)
+Name(i699, 0xa0a1a2a35f5e5d99)
+Name(i69a, 0xa0a1a2a35f5e5d9a)
+Name(i69b, 0xa0a1a2a35f5e5d9b)
+Name(i69c, 0xa0a1a2a35f5e5d9c)
+Name(i69d, 0xa0a1a2a35f5e5d9d)
+Name(i69e, 0xa0a1a2a35f5e5d9e)
+Name(i69f, 0xa0a1a2a35f5e5d9f)
+
+// Strings
+
+Name(s680, "initial named string80")
+Name(s681, "initial named string81")
+Name(s682, "initial named string82")
+Name(s683, "initial named string83")
+Name(s684, "initial named string84")
+Name(s685, "initial named string85")
+Name(s686, "initial named string86")
+Name(s687, "initial named string87")
+Name(s688, "initial named string88")
+Name(s689, "initial named string89")
+Name(s68a, "initial named string8a")
+Name(s68b, "initial named string8b")
+Name(s68c, "initial named string8c")
+Name(s68d, "initial named string8d")
+Name(s68e, "initial named string8e")
+Name(s68f, "initial named string8f")
+
+Name(s690, "initial named string90")
+Name(s691, "initial named string91")
+Name(s692, "initial named string92")
+Name(s693, "initial named string93")
+Name(s694, "initial named string94")
+Name(s695, "initial named string95")
+Name(s696, "initial named string96")
+Name(s697, "initial named string97")
+Name(s698, "initial named string98")
+Name(s699, "initial named string99")
+Name(s69a, "initial named string9a")
+Name(s69b, "initial named string9b")
+Name(s69c, "initial named string9c")
+Name(s69d, "initial named string9d")
+Name(s69e, "initial named string9e")
+Name(s69f, "initial named string9f")
+
+// Buffers
+
+Name(b680, Buffer(9){0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0x80})
+Name(b681, Buffer(9){0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0x81})
+Name(b682, Buffer(9){0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0x82})
+Name(b683, Buffer(9){0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0x83})
+Name(b684, Buffer(9){0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0x84})
+Name(b685, Buffer(9){0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0x85})
+Name(b686, Buffer(9){0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0x86})
+Name(b687, Buffer(9){0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0x87})
+Name(b688, Buffer(9){0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0x88})
+Name(b689, Buffer(9){0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0x89})
+Name(b68a, Buffer(9){0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0x8a})
+Name(b68b, Buffer(9){0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0x8b})
+Name(b68c, Buffer(9){0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0x8c})
+Name(b68d, Buffer(9){0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0x8d})
+Name(b68e, Buffer(9){0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0x8e})
+Name(b68f, Buffer(9){0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0x8f})
+
+Name(b690, Buffer(9){0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0x90})
+Name(b691, Buffer(9){0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0x91})
+Name(b692, Buffer(9){0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0x92})
+Name(b693, Buffer(9){0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0x93})
+Name(b694, Buffer(9){0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0x94})
+Name(b695, Buffer(9){0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0x95})
+Name(b696, Buffer(9){0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0x96})
+Name(b697, Buffer(9){0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0x97})
+Name(b698, Buffer(9){0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0x98})
+Name(b699, Buffer(9){0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0x99})
+Name(b69a, Buffer(9){0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0x9a})
+Name(b69b, Buffer(9){0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0x9b})
+Name(b69c, Buffer(9){0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0x9c})
+Name(b69d, Buffer(9){0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0x9d})
+Name(b69e, Buffer(9){0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0x9e})
+Name(b69f, Buffer(9){0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0x9f})
+
+// Packages
+
+Name(p680, Package(1){0})
+
+// Buffer Fields
+
+Name(b675, Buffer(23){})
+
+CreateField(b675, 0, 31, bf80)
+CreateField(b675, 35, 63, bf81)
+CreateField(b675, 110, 69, bf82)
+
+// Auxiliary Source Named Objects
+
+Name(i6e0, 0xfe7cb391d650a284)
+Name(i6e1, 0xfe7cb391d650a284)
+Name(i6e2, 0xfe7cb391d650a284)
+Name(i6e3, 0xfe7cb391d650a284)
+Name(i6e4, 0xfe7cb391d650a284)
+Name(i6e5, 0xfe7cb391d650a284)
+Name(i6e6, 0xfe7cb391d650a284)
+Name(i6e7, 0xfe7cb391d650a284)
+Name(i6e8, 0xfe7cb391d650a284)
+Name(i6e9, 0xfe7cb391d650a284)
+
+Name(p690, Package(){
+ 0xfe7cb391d650a284,
+ "FE7CB391D650A284",
+ Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE},
+ 0xfe7cb391d650a284,
+ "FE7CB391D650A284",
+ Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE},
+ 0xfe7cb391d650a284,
+ "FE7CB391D650A284",
+ Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE},
+ 0xfe7cb391d650a284,
+ "FE7CB391D650A284",
+ Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE},
+ 0xfe7cb391d650a284,
+ "FE7CB391D650A284",
+ Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE},
+ 0xfe7cb391d650a284,
+ "FE7CB391D650A284",
+ Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE},
+})
+
+Name(p691, Package(1){})
+
+Name(s6e0, "FE7CB391D650A284")
+Name(s6e1, "FE7CB391D650A284")
+Name(s6e2, "FE7CB391D650A284")
+Name(s6e3, "FE7CB391D650A284")
+Name(s6e4, "FE7CB391D650A284")
+Name(s6e5, "FE7CB391D650A284")
+Name(s6e6, "FE7CB391D650A284")
+Name(s6e7, "FE7CB391D650A284")
+Name(s6e8, "FE7CB391D650A284")
+Name(s6e9, "FE7CB391D650A284")
+
+Name(b6e0, Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+Name(b6e1, Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+Name(b6e2, Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+Name(b6e3, Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+Name(b6e4, Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+Name(b6e5, Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+Name(b6e6, Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+Name(b6e7, Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+Name(b6e8, Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+Name(b6e9, Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+
+// Matrixes of exceptions expected during an attempt to make
+// a copy of the Result Object by some storing operator,
+// a raw relies to the type group of a Target Object,
+// a column relies to the type group of a Result Object
+// (uninitialized, fixed, other computational data types,
+// Package, Method, others, reference)
+
+// Store to Named Object
+Name(p6a0, Package(){
+ Buffer() {1,0,0,0,1,1,0},
+ Buffer() {1,0,0,1,1,1,1},
+ Buffer() {1,0,0,1,1,1,1},
+ Buffer() {1,0,0,0,1,1,0},
+ Buffer() {1,0,0,0,1,1,0},
+ Buffer() {1,0,0,0,1,1,0},
+ Buffer() {1,0,0,0,1,1,0},
+})
+
+// Store in other cases and CopyObject
+Name(p6a1, Package(){
+ Buffer() {1,0,0,0,0,0,0},
+ Buffer() {1,0,0,1,1,1,1},
+ Buffer() {1,0,0,0,0,0,0},
+ Buffer() {1,0,0,0,0,0,0},
+ Buffer() {1,0,0,0,0,0,0},
+ Buffer() {1,0,0,0,0,0,0},
+ Buffer() {1,0,0,0,0,0,0},
+})
+
+// Matrixes of saving Target type storings
+// (have sense in absence of exceptions)
+
+// Store to Named Object
+Name(p6a2, Package(){
+ Buffer() {0,0,0,0,0,0,0},
+ Buffer() {0,1,1,0,1,0,0},
+ Buffer() {0,1,1,0,1,0,0},
+ Buffer() {0,0,0,1,0,0,0},
+ Buffer() {0,0,0,0,0,0,0},
+ Buffer() {0,0,0,0,0,0,0},
+ Buffer() {0,0,0,0,0,0,0},
+})
+
+// Store in other cases and CopyObject
+Name(p6a3, Package(){
+ Buffer() {0,0,0,0,0,0,0},
+ Buffer() {0,1,1,0,0,0,0},
+ Buffer() {0,0,0,0,0,0,0},
+ Buffer() {0,0,0,0,0,0,0},
+ Buffer() {0,0,0,0,0,0,0},
+ Buffer() {0,0,0,0,0,0,0},
+ Buffer() {0,0,0,0,0,0,0},
+})
+
+// Check Result of operation on equal to Benchmark value
+// m680(<method name>,
+// <internal type of error if it occurs>,
+// <internal subtype>,
+// <Result>,
+// <Benchmark value>)
+Method(m680, 5)
+{
+ Store(ObjectType(arg3), Local0)
+ Store(ObjectType(arg4), Local1)
+ if (LNotEqual(Local0, Local1)) {
+ err(Concatenate(arg0, "-OType"), z122, arg1, arg2, 0, Local0, Local1)
+ Return (1)
+ } elseif (Derefof(Index(b679, Local0))) {
+ if (LNotEqual(arg3, arg4)) {
+ err(arg0, z122, arg1, arg2, 0, arg3, arg4)
+ Return (1)
+ }
+ }
+ Return (0)
+}
+
+// Return Indexed reference
+// m681(<source>, <index>)
+Method(m681, 2)
+{
+ Return (Index(arg0, arg1))
+}
+
+// Return the value of an Auxiliary Source Named Object
+// m682(<type>, <index>)
+Method(m682, 2)
+{
+ Switch(arg0) {
+ Case(1) {
+ Switch(arg1) {
+ Case(0) {Return (i6e0)}
+ Case(1) {Return (i6e1)}
+ Case(2) {Return (i6e2)}
+ Case(3) {Return (i6e3)}
+ Case(4) {Return (i6e4)}
+ Case(5) {Return (i6e5)}
+ Case(6) {Return (i6e6)}
+ Case(7) {Return (i6e7)}
+ Case(8) {Return (i6e8)}
+ Case(9) {Return (i6e9)}
+ }
+ }
+ Case(2) {
+ Switch(arg1) {
+ Case(0) {Return (s6e0)}
+ Case(1) {Return (s6e1)}
+ Case(2) {Return (s6e2)}
+ Case(3) {Return (s6e3)}
+ Case(4) {Return (s6e4)}
+ Case(5) {Return (s6e5)}
+ Case(6) {Return (s6e6)}
+ Case(7) {Return (s6e7)}
+ Case(8) {Return (s6e8)}
+ Case(9) {Return (s6e9)}
+ }
+ }
+ Case(3) {
+ Switch(arg1) {
+ Case(0) {Return (b6e0)}
+ Case(1) {Return (b6e1)}
+ Case(2) {Return (b6e2)}
+ Case(3) {Return (b6e3)}
+ Case(4) {Return (b6e4)}
+ Case(5) {Return (b6e5)}
+ Case(6) {Return (b6e6)}
+ Case(7) {Return (b6e7)}
+ Case(8) {Return (b6e8)}
+ Case(9) {Return (b6e9)}
+ }
+ }
+ Case(0xff) {Store(0, Local0)}
+ }
+ Return (Local0)
+}
+
+// Initialize the bytes of the buffer in the range of bits
+// m683(<buffer>, <bit1>, <length>, <byte>)
+Method(m683, 4)
+{
+ // First byte
+ Divide(arg1, 8,,Local1)
+
+ //Last byte
+ Divide(Subtract(Add(arg1, arg2), 1), 8,,Local2)
+
+ Subtract(Add(Local2, 1), Local1 ,Local0)
+
+ While (Local0) {
+ Store(arg3, Index(arg0, Local1))
+ Increment(Local1)
+ Decrement(Local0)
+ }
+}
+
+// Return the number of the type group
+Method(m684, 1)
+{
+ Return (Derefof(Index(b67a, arg0)))
+}
+
+// Return flag of exception on storing
+// m685(<opcode>, <target type>, <result type>,
+// <flag of being Named Source>, <flag of being Named Target>)
+Method(m685, 5)
+{
+ if (arg0) {
+ // CopyObject issue
+ Return (Derefof(Index(Derefof(Index(p6a1, m684(arg1))), m684(arg2))))
+ } else {
+ // Store issue
+ if (LAnd(arg3, LEqual(arg2, 8))) {
+ // Store Named of type Method causes invocation of the Method
+ // which returns a String in the test
+ Store(2, arg2)
+ }
+ if (Derefof(Index(b67f, arg2))) {
+ // Data can be stored
+ if (Lor(arg4, Derefof(Index(b678, arg1)))) {
+ // Store to Named or to Fixed Type
+ // Result Object Conversion issue
+ Return (Derefof(Index(Derefof(Index(p6a0, m684(arg1))), m684(arg2))))
+ } else {
+ Return (0)
+ }
+ } else {
+ Return (1)
+ }
+ }
+}
+
+// Return flag of type saving on storing
+// m686(<opcode>, <target type>, <result type>)
+Method(m686, 3)
+{
+ if (arg0) {
+ if (LEqual(arg0, 2)) {
+ // CopyObject to Named Object issue
+ Return (Derefof(Index(Derefof(Index(p6a3, m684(arg1))), m684(arg2))))
+ } else {
+ Return (0)
+ }
+ } else {
+ // Store to Named Object issue
+ Return (Derefof(Index(Derefof(Index(p6a2, m684(arg1))), m684(arg2))))
+ }
+}
+
+// Store the Object by the reference
+// m687(<source>, <reference>)
+Method(m687, 2)
+{
+ Store(arg0, arg1)
+}
+
+// Gathers simple statistics of Store/CopyObject operators
+// m688(<name>)
+Method(m688, 1)
+{
+ // Objects are used as Source
+
+ // Integer
+ Name(INT0, 0xfedcba9876543210)
+
+ // String
+ Name(STR0, "source string")
+
+ // Buffer
+ Name(BUF0, Buffer(9){9,8,7,6,5,4,3,2,1})
+
+ // Base of Buffer Fields
+ Name(BUFZ, Buffer(20){})
+
+ // Package
+ Name(PAC0, Package(3) {
+ 0xfedcba987654321f,
+ "test package",
+ Buffer(9){19,18,17,16,15,14,13,12,11},
+ })
+
+if (y361) {
+ // Field Unit
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ FLU0, 69,
+ }
+}
+
+ // Device
+ Device(DEV0) {Name(s000, "DEV0")}
+
+ // Event
+ Event(EVE0)
+
+ // Method
+ Name(MM00, "ff0X") // Value, returned from MMMX
+ Method(MMM0) {Return (MM00)}
+
+ // Mutex
+ Mutex(MTX0, 0)
+
+if (y361) {
+ // Operation Region
+ OperationRegion(OPR0, SystemMemory, 0, 20)
+}
+
+ // Power Resource
+ PowerResource(PWR0, 0, 0) {Name(s000, "PWR0")}
+
+ // Processor
+ Processor(CPU0, 0x0, 0xFFFFFFFF, 0x0) {Name(s000, "CPU0")}
+
+ // Thermal Zone
+ ThermalZone(TZN0) {Name(s000, "TZN0")}
+
+ // Buffer Field
+ Createfield(BUFZ, 0, 69, BFL0)
+
+ // Data to gather statistics
+
+ Name(STCS, 0)
+
+ Name(INDM, 255)
+
+ Name(PAC2, Package(1) {})
+ Name(IND2, 0)
+
+ Name(PAC3, Package(1) {})
+ Name(IND3, 0)
+
+
+ // Update statistics
+ // m000(<type>, <shift>, <low>, <up>)
+ Method(m000, 4)
+ {
+ if (LEqual(arg0, 2)) {
+ if (LLess(IND2, INDM)) {
+ Store(Add(Multiply(arg3, arg1), arg2), Index(PAC2, IND2))
+ Increment(IND2)
+ }
+ } elseif (LEqual(arg0, 3)) {
+ if (LLess(IND3, INDM)) {
+ Store(Add(Multiply(arg3, arg1), arg2), Index(PAC3, IND3))
+ Increment(IND3)
+ }
+ }
+ }
+
+ // Initialize statistics
+ Method(m001)
+ {
+ if (STCS) {
+ Store(Package(255) {}, PAC2)
+ Store(0, IND2)
+ Store(Package(255) {}, PAC3)
+ Store(0, IND3)
+ }
+ }
+
+ // Output statistics
+ Method(m002, 1)
+ {
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+
+ if (STCS) {
+ Store(arg0, Debug)
+
+ if (IND2) {
+ Store("Run-time exceptions:", Debug)
+ Store(IND2, Debug)
+ Store("Types:", Debug)
+
+ Store(IND2, lpN0)
+ Store(0, lpC0)
+
+ While (lpN0) {
+ Store(Derefof(Index(PAC2, lpC0)), Debug)
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+ }
+
+ if (IND3) {
+ Store("Type mismatch:", Debug)
+ Store(IND3, Debug)
+
+ Store(IND3, lpN0)
+ Store(0, lpC0)
+
+ While (lpN0) {
+ Store(Derefof(Index(PAC3, lpC0)), Debug)
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+ }
+ }
+ }
+
+ // Check exceptions
+ Method(m003, 1)
+ {
+ if (CH03(arg0, z122, 1, arg0, 0)) {
+ if (STCS) {
+ if (LLess(IND2, INDM)) {
+ Store(arg0, Index(PAC2, IND2))
+ Increment(IND2)
+ }
+ }
+ }
+ }
+
+ // Check equality
+ Method(m004, 3)
+ {
+ if (LNotEqual(arg0, arg1)) {
+ err(arg0, z122, 2, 0, 0, arg0, arg1)
+ if (STCS) {m000(3, 0x100, arg2, arg1)}
+ }
+ }
+
+
+ // Gathers statistics of Store to Local
+ Method(m010, 2)
+ {
+ // Initialize statistics
+ m001()
+
+ if (arg1) {Store(0, Local1)}
+
+ Store(Local1, Local0)
+ m003(ObjectType(Local1))
+
+ Store(INT0, Local0)
+ m003(ObjectType(INT0))
+
+ Store(STR0, Local0)
+ m003(ObjectType(STR0))
+
+ Store(BUF0, Local0)
+ m003(ObjectType(BUF0))
+
+ Store(PAC0, Local0)
+ m003(ObjectType(PAC0))
+
+ Store(FLU0, Local0)
+ m003(ObjectType(FLU0))
+
+ Store(DEV0, Local0)
+ m003(ObjectType(DEV0))
+
+ Store(EVE0, Local0)
+ m003(ObjectType(EVE0))
+
+ Store(MTX0, Local0)
+ m003(ObjectType(MTX0))
+
+ Store(OPR0, Local0)
+ m003(ObjectType(OPR0))
+
+ Store(PWR0, Local0)
+ m003(ObjectType(PWR0))
+
+ Store(CPU0, Local0)
+ m003(ObjectType(CPU0))
+
+ Store(TZN0, Local0)
+ m003(ObjectType(TZN0))
+
+ Store(BFL0, Local0)
+ m003(ObjectType(BFL0))
+
+ // Output statistics
+ m002("Store to LocalX")
+ }
+
+ // Gathers statistics of CopyObject to Local
+ Method(m011, 2)
+ {
+ // Initialize statistics
+ m001()
+
+ if (arg1) {Store(0, Local1)}
+
+ CopyObject(Local1, Local0)
+ m003(ObjectType(Local1))
+
+ CopyObject(INT0, Local0)
+ m003(ObjectType(INT0))
+
+ CopyObject(STR0, Local0)
+ m003(ObjectType(STR0))
+
+ CopyObject(BUF0, Local0)
+ m003(ObjectType(BUF0))
+
+ CopyObject(PAC0, Local0)
+ m003(ObjectType(PAC0))
+
+ CopyObject(FLU0, Local0)
+ m003(ObjectType(FLU0))
+
+ CopyObject(DEV0, Local0)
+ m003(ObjectType(DEV0))
+
+ CopyObject(EVE0, Local0)
+ m003(ObjectType(EVE0))
+
+ CopyObject(MMM0, Local0)
+ m003(ObjectType(MMM0))
+
+ CopyObject(MTX0, Local0)
+ m003(ObjectType(MTX0))
+
+ CopyObject(OPR0, Local0)
+ m003(ObjectType(OPR0))
+
+ CopyObject(PWR0, Local0)
+ m003(ObjectType(PWR0))
+
+ CopyObject(CPU0, Local0)
+ m003(ObjectType(CPU0))
+
+ CopyObject(TZN0, Local0)
+ m003(ObjectType(TZN0))
+
+ CopyObject(BFL0, Local0)
+ m003(ObjectType(BFL0))
+
+ // Output statistics
+ m002("CopyObject to LocalX")
+ }
+
+ // Gathers statistics of CopyObject to Integer
+ Method(m012, 2)
+ {
+ // Integer
+ Name(INT1, 0xfedcba9876543211)
+ Name(INT2, 0xfedcba9876543212)
+ Name(INT3, 0xfedcba9876543213)
+ Name(INT4, 0xfedcba9876543214)
+ Name(INT5, 0xfedcba9876543215)
+ Name(INT6, 0xfedcba9876543216)
+ Name(INT7, 0xfedcba9876543217)
+ Name(INT8, 0xfedcba9876543218)
+ Name(INT9, 0xfedcba9876543219)
+ Name(INTa, 0xfedcba987654321a)
+ Name(INTb, 0xfedcba987654321b)
+ Name(INTc, 0xfedcba987654321c)
+ Name(INTd, 0xfedcba987654321d)
+ Name(INTe, 0xfedcba987654321e)
+ Name(INTf, 0xfedcba987654321f)
+
+ // Initialize statistics
+ m001()
+
+ if (arg1) {Store(0, Local1)}
+
+ CopyObject(Local1, INTf)
+ m003(ObjectType(Local1))
+ m004(arg0, ObjectType(INTf), 0)
+
+ CopyObject(INT0, INT1)
+ m003(ObjectType(INT0))
+ m004(arg0, ObjectType(INT1), 1)
+
+ CopyObject(STR0, INT2)
+ m003(ObjectType(STR0))
+ m004(arg0, ObjectType(INT2), 2)
+
+ CopyObject(BUF0, INT3)
+ m003(ObjectType(BUF0))
+ m004(arg0, ObjectType(INT3), 3)
+
+ CopyObject(PAC0, INT4)
+ m003(ObjectType(PAC0))
+ m004(arg0, ObjectType(INT4), 4)
+
+ CopyObject(FLU0, INT5)
+ m003(ObjectType(FLU0))
+ m004(arg0, ObjectType(INT5), 5)
+
+ CopyObject(DEV0, INT6)
+ m003(ObjectType(DEV0))
+ m004(arg0, ObjectType(INT6), 6)
+
+ CopyObject(EVE0, INT7)
+ m003(ObjectType(EVE0))
+ m004(arg0, ObjectType(INT7), 7)
+
+ CopyObject(MMM0, INT8)
+ m003(ObjectType(MMM0))
+ m004(arg0, ObjectType(INT8), 8)
+
+ CopyObject(MTX0, INT9)
+ m003(ObjectType(MTX0))
+ m004(arg0, ObjectType(INT9), 9)
+
+ CopyObject(OPR0, INTa)
+ m003(ObjectType(OPR0))
+ m004(arg0, ObjectType(INTa), 10)
+
+ CopyObject(PWR0, INTb)
+ m003(ObjectType(PWR0))
+ m004(arg0, ObjectType(INTb), 11)
+
+ CopyObject(CPU0, INTc)
+ m003(ObjectType(CPU0))
+ m004(arg0, ObjectType(INTc), 12)
+
+ CopyObject(TZN0, INTd)
+ m003(ObjectType(TZN0))
+ m004(arg0, ObjectType(INTd), 13)
+
+ CopyObject(BFL0, INTe)
+ m003(ObjectType(BFL0))
+ m004(arg0, ObjectType(INTe), 14)
+
+ // Output statistics
+ m002("CopyObject to Integer Named Object")
+ }
+
+ m010(Concatenate(arg0, "-m010"), 0)
+ m011(Concatenate(arg0, "-m011"), 0)
+ m012(Concatenate(arg0, "-m012"), 0)
+}
+
+// Verify storing of an immediate Source Object into different kinds
+// of Target Objects by means of the specified operator (Store/CopyObject)
+// m689(<name>, <store op>, <exc. conditions>)
+Method(m689, 3)
+{
+ // Object-initializers are used either with Source or Target
+ // (names ended by 0 and 1 respectively)
+
+ // Integer
+ Name(INT0, 0xfedcba9876543210)
+ Name(INT1, 0xfedcba9876543211)
+
+ // String
+ Name(STR0, "source string")
+ Name(STR1, "target string")
+
+ // Buffer
+ Name(BUF0, Buffer(9){9,8,7,6,5,4,3,2,1})
+ Name(BUF1, Buffer(17){0xc3})
+
+ // Initializer of Fields
+ Name(BUF2, Buffer(9){0x95,0x85,0x75,0x65,0x55,0x45,0x35,0x25,0x15})
+
+ // Base of Buffer Fields
+ Name(BUFZ, Buffer(48){})
+
+ // Package
+ Name(PAC0, Package(3) {
+ 0xfedcba987654321f,
+ "test package",
+ Buffer(9){19,18,17,16,15,14,13,12,11},
+ })
+
+ Name(PAC1, Package(1) {"target package"})
+
+if (y361) {
+ // Field Unit
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ FLU0, 69,
+ FLU2, 64,
+ FLU4, 32,
+ }
+}
+
+ // Device
+ Device(DEV0) {Name(s000, "DEV0")}
+ Device(DEV1) {Name(s000, "DEV1")}
+
+ // Event
+ Event(EVE0)
+ Event(EVE1)
+
+ // Method
+ Name(MM00, "ff0X") // Value, returned from MMMX
+ Name(MM01, "ff1Y") // Value, returned from MMMY
+ Name(MMM0, 0) // Method as Source Object
+ Name(MMM1, 0) // Method as Target Object
+ Method(MMMX) {Return (MM00)}
+ Method(MMMY) {Return (MM01)}
+
+ // Mutex
+ Mutex(MTX0, 0)
+ Mutex(MTX1, 0)
+
+if (y361) {
+ // Operation Region
+ OperationRegion(OPR0, SystemMemory, 0, 48)
+ OperationRegion(OPR1, SystemMemory, 0, 24)
+}
+ // Power Resource
+ PowerResource(PWR0, 0, 0) {Name(s000, "PWR0")}
+ PowerResource(PWR1, 0, 0) {Name(s000, "PWR1")}
+
+ // Processor
+ Processor(CPU0, 0x0, 0xFFFFFFFF, 0x0) {Name(s000, "CPU0")}
+ Processor(CPU1, 0x0, 0xFFFFFFFF, 0x0) {Name(s000, "CPU1")}
+
+ // Thermal Zone
+ ThermalZone(TZN0) {Name(s000, "TZN0")}
+ ThermalZone(TZN1) {Name(s000, "TZN1")}
+
+ // Buffer Field
+ Createfield(BUFZ, 0, 69, BFL0)
+ Createfield(BUFZ, 80, 64, BFL2)
+ Createfield(BUFZ, 160, 32, BFL4)
+
+ // Reference
+ Name(ORF0, "ORF0")
+ Name(REF0, Package(1){})
+ Name(ORF1, "ORF0")
+ Name(REF1, Package(1){})
+
+ // Data to gather statistics
+
+ Name(STCS, 0)
+
+ Name(INDM, 255)
+
+ Name(PAC2, Package(1) {})
+ Name(IND2, 0)
+
+ Name(PAC3, Package(1) {})
+ Name(IND3, 0)
+
+ Name(PAC4, Package(2) {
+ "Store",
+ "Copyobject",
+ })
+
+ Name(PAC5, Package(7) {
+ "Storing Named-Named with ",
+ "Storing Named-LocalX with ",
+ "Storing LocalX-Named with ",
+ "Storing LocalX-LocalX with ",
+ "Storing Named-ArgX(Named on read-only argument rule) with ",
+ "Storing Named-ArgX(Named by reference) with ",
+ "Storing LocalX-Element of Package with ",
+ })
+
+ Name(terr, "-test error")
+
+ // Update statistics
+ // m000(<type>, <shift>, <low>, <up>)
+ Method(m000, 4)
+ {
+ if (LEqual(arg0, 2)) {
+ if (LLess(IND2, INDM)) {
+ Store(Add(Multiply(arg3, arg1), arg2), Index(PAC2, IND2))
+ Increment(IND2)
+ }
+ } elseif (LEqual(arg0, 3)) {
+ if (LLess(IND3, INDM)) {
+ Store(Add(Multiply(arg3, arg1), arg2), Index(PAC3, IND3))
+ Increment(IND3)
+ }
+ }
+ }
+
+ // Initialize statistics
+ Method(m001)
+ {
+ if (STCS) {
+ Store(Package(INDM) {}, PAC2)
+ Store(0, IND2)
+ Store(Package(INDM) {}, PAC3)
+ Store(0, IND3)
+ }
+ }
+
+ // Output statistics
+ Method(m002, 1)
+ {
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+
+ if (STCS) {
+ Store(arg0, Debug)
+
+ if (IND2) {
+ Store("Run-time exceptions:", Debug)
+ Store(IND2, Debug)
+ Store("Types:", Debug)
+
+ Store(IND2, lpN0)
+ Store(0, lpC0)
+
+ While (lpN0) {
+ Store(Derefof(Index(PAC2, lpC0)), Debug)
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+ }
+
+ if (IND3) {
+ Store("Type mismatch:", Debug)
+ Store(IND3, Debug)
+
+ Store(IND3, lpN0)
+ Store(0, lpC0)
+
+ While (lpN0) {
+ Store(Derefof(Index(PAC3, lpC0)), Debug)
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+ }
+ }
+ }
+
+ // Prepare Target of specified type
+ Method(m003, 4)
+ {
+ Switch(arg1) {
+ Case(0) { // Only check
+ }
+ Case(1) {
+ CopyObject(Derefof(arg3), INT1)
+ CopyObject(INT1, arg2)
+ }
+ Case(2) {
+ CopyObject(Derefof(arg3), STR1)
+ CopyObject(STR1, arg2)
+ }
+ Case(3) {
+ if (y136) {
+ CopyObject(Derefof(arg3), BUF1)
+ } else {
+ m687(Derefof(arg3), Refof(BUF1))
+ }
+ CopyObject(BUF1, arg2)
+ }
+ Case(4) {
+ CopyObject(Derefof(arg3), PAC1)
+ CopyObject(PAC1, arg2)
+ }
+ Case(5) { // Check only
+ }
+ Case(6) {
+ CopyObject(DEV1, arg2)
+ }
+ Case(7) {
+ CopyObject(EVE1, arg2)
+ }
+ Case(8) {
+ CopyObject(Derefof(Index(Derefof(arg3), 0)), MMM1)
+ CopyObject(Derefof(Index(Derefof(arg3), 1)), MM01)
+ CopyObject(Derefof(Refof(MMM1)), arg2)
+ }
+ Case(9) {
+ CopyObject(MTX1, arg2)
+ }
+ Case(10) {
+ CopyObject(OPR1, arg2)
+ }
+ Case(11) {
+ CopyObject(PWR1, arg2)
+ }
+ Case(12) {
+ CopyObject(CPU1, arg2)
+ }
+ Case(13) {
+ CopyObject(TZN1, arg2)
+ }
+ Case(14) { // Check only
+ }
+ Case(17) {
+ CopyObject(Refof(ORF1), REF1)
+ if (y522) {
+ CopyObject(REF1, arg2)
+ } else {
+ CopyObject(DeRefof(REF1), arg2)
+ }
+ }
+ Default {
+ // Unexpected Target Type
+ err(Concatenate(arg0, terr), z122, 4, 0, 0, arg1, 0)
+ Return (1)
+ }
+ }
+ if (CH03(arg0, z122, 5, arg1, 0)) {
+ //Exception during preparing of Target Object
+ Return (1)
+ }
+
+ if (LEqual(arg1, 17)) {
+ // Reference
+ Return (0)
+ }
+
+ Store(ObjectType(arg2), Local0)
+ if (LNotEqual(Local0, arg1)) {
+ // ObjectType of Target can not be set up
+ err(arg0, z122, 6, 0, 0, Local0, arg1)
+ Return (1)
+ }
+
+ Return (0)
+ }
+
+ // Prepare Source of specified type
+ Method(m004, 4)
+ {
+ Switch(arg1) {
+ Case(0) {
+ }
+ Case(1) {
+ CopyObject(Derefof(arg3), INT0)
+ CopyObject(INT0, arg2)
+ }
+ Case(2) {
+ CopyObject(Derefof(arg3), STR0)
+ CopyObject(STR0, arg2)
+ }
+ Case(3) {
+ if (y136) {
+ CopyObject(Derefof(arg3), BUF0)
+ } else {
+ m687(Derefof(arg3), Refof(BUF0))
+ }
+ CopyObject(BUF0, arg2)
+ }
+ Case(4) {
+ CopyObject(Derefof(arg3), PAC0)
+ CopyObject(PAC0, arg2)
+ }
+ Case(5) {
+ Store(Derefof(Index(Derefof(arg3), 0)), Local0)
+ if (LEqual(Local0, 0)) {
+ Store(Derefof(Index(Derefof(arg3), 1)), FLU0)
+ } elseif (LEqual(Local0, 1)) {
+ Store(Derefof(Index(Derefof(arg3), 1)), FLU2)
+ } else {
+ Store(Derefof(Index(Derefof(arg3), 1)), FLU4)
+ }
+ }
+ Case(6) {
+ CopyObject(DEV0, arg2)
+ }
+ Case(7) {
+ CopyObject(EVE0, arg2)
+ }
+ Case(8) {
+ CopyObject(Derefof(Index(Derefof(arg3), 0)), MMM0)
+ CopyObject(Derefof(Index(Derefof(arg3), 1)), MM00)
+ CopyObject(Derefof(Refof(MMM0)), arg2)
+ }
+ Case(9) {
+ CopyObject(MTX0, arg2)
+ }
+ Case(10) {
+ CopyObject(OPR0, arg2)
+ }
+ Case(11) {
+ CopyObject(PWR0, arg2)
+ }
+ Case(12) {
+ CopyObject(CPU0, arg2)
+ }
+ Case(13) {
+ CopyObject(TZN0, arg2)
+ }
+ Case(14) {
+ Store(Derefof(Index(Derefof(arg3), 0)), Local0)
+ if (LEqual(Local0, 0)) {
+ Store(Derefof(Index(Derefof(arg3), 1)), BFL0)
+ } elseif (LEqual(Local0, 1)) {
+ Store(Derefof(Index(Derefof(arg3), 1)), BFL2)
+ } else {
+ Store(Derefof(Index(Derefof(arg3), 1)), BFL4)
+ }
+ }
+ Case(17) {
+ CopyObject(Refof(ORF0), REF0)
+ if (y522) {
+ CopyObject(REF0, arg2)
+ } else {
+ CopyObject(DeRefof(REF0), arg2)
+ }
+ }
+ Default {
+ // Unexpected Source Type
+ err(Concatenate(arg0, terr), z122, 7, 0, 0, arg1, 0)
+ Return (1)
+ }
+ }
+ if (CH03(arg0, z122, 8, arg1, 0)) {
+ // Exception during preparing of Source Object
+ Return (1)
+ }
+
+ if (LEqual(arg1, 17)) {
+ // Reference
+ Return (0)
+ }
+
+ Store(ObjectType(arg2), Local0)
+ if (LNotEqual(Local0, arg1)) {
+ // ObjectType of Source can not be set up
+ err(arg0, z122, 9, 0, 0, Local0, arg1)
+ Return (1)
+ }
+
+ Return (0)
+ }
+
+ // Check Source Object type is not corrupted after storing,
+ // for the computational data types verify its value against
+ // the Object-initializer value
+ Method(m005, 4)
+ {
+ Name(MMM2, 0) // An auxiliary Object to invoke Method
+
+ if (LEqual(arg1, 17)) {
+ // Source object is a reference
+ // Check that it can be used as reference
+ Store(Derefof(arg2), Local0)
+ Derefof(Local0)
+ if (CH03(arg0, z122, 10, arg1, Local0)) {
+ // Derefof caused unexpected exception
+ Return (1)
+ }
+ Return (0)
+ }
+
+ Store(ObjectType(arg2), Local0)
+ if (LNotEqual(Local0, arg1)) {
+ // ObjectType of Source object is corrupted
+ err(arg0, z122, 11, 0, 0, Local0, arg1)
+ Return (1)
+ }
+
+ Switch(arg1) {
+ Case(0) {
+ Return (0)
+ }
+ Case(1) {
+ Store(ObjectType(INT0), Local0)
+ }
+ Case(2) {
+ Store(ObjectType(STR0), Local0)
+ }
+ Case(3) {
+ Store(ObjectType(BUF0), Local0)
+ }
+ Case(4) {
+ Store(ObjectType(PAC0), Local0)
+ }
+ Case(5) {
+ Store(Derefof(Index(Derefof(arg3), 0)), Local0)
+ if (LEqual(Local0, 0)) {
+ Store(ObjectType(FLU0), Local0)
+ } elseif (LEqual(Local0, 1)) {
+ Store(ObjectType(FLU2), Local0)
+ } else {
+ Store(ObjectType(FLU4), Local0)
+ }
+ }
+ Case(6) {
+ Store(ObjectType(DEV0), Local0)
+ }
+ Case(7) {
+ Store(ObjectType(EVE0), Local0)
+ }
+ Case(8) {
+ Store(ObjectType(MMM0), Local0)
+ }
+ Case(9) {
+ Store(ObjectType(MTX0), Local0)
+ }
+ Case(10) {
+ Store(ObjectType(OPR0), Local0)
+ }
+ Case(11) {
+ Store(ObjectType(PWR0), Local0)
+ }
+ Case(12) {
+ Store(ObjectType(CPU0), Local0)
+ }
+ Case(13) {
+ Store(ObjectType(TZN0), Local0)
+ }
+ Case(14) {
+ Store(Derefof(Index(Derefof(arg3), 0)), Local0)
+ if (LEqual(Local0, 0)) {
+ Store(ObjectType(BFL0), Local0)
+ } elseif (LEqual(Local0, 1)) {
+ Store(ObjectType(BFL2), Local0)
+ } else {
+ Store(ObjectType(BFL4), Local0)
+ }
+ }
+ Default {
+ // Unexpected Result Type
+ err(arg0, z122, 12, 0, 0, arg1, 0)
+ Return (1)
+ }
+ }
+
+ if (LNotEqual(Local0, arg1)) {
+ // Mismatch of Source Type against specified Result Type
+ err(arg0, z122, 13, 0, 0, Local0, arg1)
+
+ if (STCS) {m000(3, 0x1000000, Local0, arg1)}
+
+ Return (1)
+ } else {
+ // Check equality of the Source value to the Object-initializer one
+ Switch(arg1) {
+ Case(1) {
+ if (LNotEqual(INT0, Derefof(arg3))) {
+ err(arg0, z122, 14, 0, 0, INT0, Derefof(arg3))
+ Return (1)
+ }
+ if (LNotEqual(Derefof(arg2), INT0)) {
+ err(arg0, z122, 15, 0, 0, Derefof(arg2), INT0)
+ Return (1)
+ }
+ }
+ Case(2) {
+ if (LNotEqual(STR0, Derefof(arg3))) {
+ err(arg0, z122, 16, 0, 0, STR0, Derefof(arg3))
+ Return (1)
+ }
+ if (LNotEqual(Derefof(arg2), STR0)) {
+ err(arg0, z122, 17, 0, 0, Derefof(arg2), STR0)
+ Return (1)
+ }
+ }
+ Case(3) {
+ if (LNotEqual(BUF0, Derefof(arg3))) {
+ err(arg0, z122, 18, 0, 0, BUF0, Derefof(arg3))
+ Return (1)
+ }
+ if (LNotEqual(Derefof(arg2), BUF0)) {
+ err(arg0, z122, 19, 0, 0, Derefof(arg2), BUF0)
+ Return (1)
+ }
+ }
+ Case(4) {
+
+ Store(Sizeof(PAC0), Local0)
+ if (LNotEqual(Sizeof(arg3), Local0)) {
+ err(arg0, z122, 20, 0, 0, Sizeof(arg3), Local0)
+ Return (1)
+ }
+ While (Local0) {
+ Decrement(Local0)
+ Store(ObjectType(Derefof(Index(Derefof(arg3), Local0))), Local1)
+ Store(ObjectType(Derefof(Index(PAC0, Local0))), Local2)
+ if (LNotEqual(Local1, Local2)) {
+ // ObjectType is corrupted
+ err(arg0, z122, 21, 0, 0, Local1, Local2)
+ Return (1)
+ } elseif (Derefof(Index(b679, Local1))) {
+ // the computational data type
+ if (LNotEqual(
+ Derefof(Index(Derefof(arg3), Local0)),
+ Derefof(Index(PAC0, Local0)))) {
+ // The value is corrupted
+ err(arg0, z122, 22, 0, 0, Derefof(Index(Derefof(arg3), Local0)), Local0)
+ Return (1)
+ }
+ }
+ }
+
+ Store(Sizeof(PAC0), Local0)
+ if (LNotEqual(Sizeof(arg2), Local0)) {
+ err(arg0, z122, 23, 0, 0, Sizeof(arg2), Local0)
+ Return (1)
+ }
+ While (Local0) {
+ Decrement(Local0)
+ Store(ObjectType(Derefof(Index(Derefof(arg2), Local0))), Local1)
+ Store(ObjectType(Derefof(Index(PAC0, Local0))), Local2)
+ if (LNotEqual(Local1, Local2)) {
+ // ObjectType is corrupted
+ err(arg0, z122, 24, 0, 0, Local1, Local2)
+ Return (1)
+ } elseif (Derefof(Index(b679, Local1))) {
+ // the computational data type
+ if (LNotEqual(
+ Derefof(Index(Derefof(arg2), Local0)),
+ Derefof(Index(PAC0, Local0)))) {
+ // The value is corrupted
+ err(arg0, z122, 25, 0, 0, Derefof(Index(Derefof(arg2), Local0)), Local0)
+ Return (1)
+ }
+ }
+ }
+ }
+ Case(5) {
+ Store(Derefof(Index(Derefof(arg3), 0)), Local0)
+ if (LEqual(Local0, 0)) {
+ if (LNotEqual(FLU0, Derefof(Index(Derefof(arg3), 1)))) {
+ err(arg0, z122, 26, 0, 0, FLU0, Derefof(Index(Derefof(arg3), 1)))
+ Return (1)
+ }
+ if (LNotEqual(Derefof(arg2), FLU0)) {
+ err(arg0, z122, 27, 0, 0, Derefof(arg2), FLU0)
+ Return (1)
+ }
+ } elseif (LEqual(Local0, 1)) {
+ if (LNotEqual(FLU2, Derefof(Index(Derefof(arg3), 1)))) {
+ err(arg0, z122, 28, 0, 0, FLU2, Derefof(Index(Derefof(arg3), 1)))
+ Return (1)
+ }
+ if (LNotEqual(Derefof(arg2), FLU2)) {
+ err(arg0, z122, 29, 0, 0, Derefof(arg2), FLU2)
+ Return (1)
+ }
+ } else {
+ if (LNotEqual(FLU4, Derefof(Index(Derefof(arg3), 1)))) {
+ err(arg0, z122, 30, 0, 0, FLU4, Derefof(Index(Derefof(arg3), 1)))
+ Return (1)
+ }
+ if (LNotEqual(Derefof(arg2), FLU4)) {
+ err(arg0, z122, 31, 0, 0, Derefof(arg2), FLU4)
+ Return (1)
+ }
+ }
+ }
+ Case(8) {
+ CopyObject(Derefof(arg2), MMM2)
+ if (LNotEqual(MMM2, MMM0)) {
+ err(arg0, z122, 32, 0, 0, MMM2, MMM0)
+ Return (1)
+ }
+ }
+ Case(14) {
+ Store(Derefof(Index(Derefof(arg3), 0)), Local0)
+ if (LEqual(Local0, 0)) {
+ if (LNotEqual(BFL0, Derefof(Index(Derefof(arg3), 1)))) {
+ err(arg0, z122, 33, 0, 0, BFL0, Derefof(Index(Derefof(arg3), 1)))
+ Return (1)
+ }
+ if (LNotEqual(Derefof(arg2), BFL0)) {
+ err(arg0, z122, 34, 0, 0, Derefof(arg2), BFL0)
+ Return (1)
+ }
+ } elseif (LEqual(Local0, 1)) {
+ if (LNotEqual(BFL2, Derefof(Index(Derefof(arg3), 1)))) {
+ err(arg0, z122, 35, 0, 0, BFL2, Derefof(Index(Derefof(arg3), 1)))
+ Return (1)
+ }
+ if (LNotEqual(Derefof(arg2), BFL2)) {
+ err(arg0, z122, 36, 0, 0, Derefof(arg2), BFL2)
+ Return (1)
+ }
+ } else {
+ if (LNotEqual(BFL4, Derefof(Index(Derefof(arg3), 1)))) {
+ err(arg0, z122, 37, 0, 0, BFL4, Derefof(Index(Derefof(arg3), 1)))
+ Return (1)
+ }
+ if (LNotEqual(Derefof(arg2), BFL4)) {
+ err(arg0, z122, 38, 0, 0, Derefof(arg2), BFL4)
+ Return (1)
+ }
+ }
+ }
+ }
+ }
+ Return (0)
+ }
+
+ // Check Target Object to have the expected type and value
+ // m006(<msg>, <ref to target>, <target type>, <result object type>,
+ // <op>, <target save type>, <test data package>)
+ Method(m006, 7)
+ {
+ Name(MMM2, 0) // An auxiliary Object to invoke Method
+
+ Store(ObjectType(arg1), Local2)
+
+ if (LNotEqual(Local2, arg2)) {
+ if (STCS) {m000(3, 0x10000, arg2, Local2)}
+ }
+
+ if (m686(arg5, arg2, arg3)) {
+ // Target must save type
+ if (LNotEqual(Local2, arg2)) {
+ // Types mismatch Target/Target on storing
+ if (LEqual(arg2, c016)) {
+ if (X170) {
+ err(arg0, z122, 39, 0, 0, Local2, arg2)
+ }
+ } else {
+ err(arg0, z122, 39, 0, 0, Local2, arg2)
+ }
+
+ if (STCS) {m000(3, 0x100, arg2, Local2)}
+
+ Return (1)
+ }
+ } else {
+ // Target if it is not of fixed type
+ // must accept type of the Result Object
+
+ if (LNotEqual(Local2, arg3)) {
+ if (LEqual(m684(arg3), 6)) {
+ // Result object is a reference
+ // Check that Target can be used as reference
+ Store(Derefof(arg1), Local0)
+ Derefof(Local0)
+ if (CH03(arg0, z122, 40, Local2, arg3)) {
+ // Derefof caused unexpected exception
+ Return (1)
+ }
+ } elseif (LNotEqual(m684(arg3), 1)) {
+ // Types mismatch Result/Target on storing
+ err(arg0, z122, 41, 0, 0, Local2, arg3)
+ Return (1)
+ } elseif (LNotEqual(Local2, 3)) {
+ // Types mismatch Result/Target on storing
+ // Test fixed type Objects are converted to Buffer
+ err(arg0, z122, 42, 0, 0, Local2, 3)
+ Return (1)
+ }
+ if (STCS) {m000(3, 0x100, arg3, Local2)}
+ }
+ }
+
+ // Retrieve the benchmark value
+ if (m686(arg5, arg2, arg3)) {
+ // Save type of Target
+
+ if (Derefof(Index(b67c, arg2))) {
+ // Types that can be verified only by ObjectType
+ Return (0)
+ }
+
+ // Retrieve the benchmark value
+ Store(Derefof(Index(Derefof(Index(arg6, 5)), arg2)), Local7)
+
+ } else {
+ // Accept type of Result
+
+ if (Derefof(Index(b67c, arg3))) {
+ // Types that can be verified only by ObjectType
+ Return (0)
+ }
+
+ Store(Derefof(Index(arg6, 4)), Local7)
+ }
+
+ if (LEqual(arg3, 8)) { // Method
+ CopyObject(Derefof(arg1), MMM2)
+ if (LNotEqual(MMM2, Local7)) {
+ err(arg0, z122, 43, 0, 0, MMM2, Local7)
+ Return (1)
+ }
+ } elseif (LNotEqual(arg3, 4)) { // Not Package
+ if (LNotEqual(Derefof(arg1), Local7)) {
+ err(arg0, z122, 44, 0, 0, Derefof(arg1), Local7)
+ Return (1)
+ }
+ } else { // Package
+ Store(Sizeof(Local7), Local0)
+ if (LNotEqual(Sizeof(arg1), Local0)) {
+ err(arg0, z122, 45, 0, 0, Sizeof(arg1), Local0)
+ Return (1)
+ }
+ While (Local0) {
+ Decrement(Local0)
+ Store(ObjectType(Derefof(Index(Derefof(arg1), Local0))), Local1)
+ Store(ObjectType(Derefof(Index(Local7, Local0))), Local2)
+ if (LNotEqual(Local1, Local2)) {
+ // ObjectType is corrupted
+ err(arg0, z122, 46, 0, 0, Local1, Local2)
+ Return (1)
+ } elseif (Derefof(Index(b679, Local1))) {
+ // the computational data type
+ if (LNotEqual(
+ Derefof(Index(Derefof(arg1), Local0)),
+ Derefof(Index(Local7, Local0)))) {
+ // The value is corrupted
+ err(arg0, z122, 47, 0, 0, Derefof(Index(Derefof(arg1), Local0)), Derefof(Index(Local7, Local0)))
+ Return (1)
+ }
+ }
+ }
+ }
+ Return (0)
+ }
+
+
+ // Update specified Object
+ // m007(<msg>, <ref to target>)
+ Method(m007, 2)
+ {
+ Store(ObjectType(arg1), Local0)
+
+ if (Derefof(Index(b66f, Local0))) {
+ // Can be used in Index Operator
+ Store(Sizeof(arg1), Local1)
+ if (Local1) {
+ // Update the last Member Object
+ Decrement(Local1)
+ Index(Derefof(arg1), Local1, Local2)
+ Store(Refof(Local2), Local3)
+ Store(Derefof(Local2), Local4)
+ if (LEqual(ObjectType(Local4), 1)) {
+ // Integer
+ Store(Not(Local4), Derefof(Local3))
+ } else {
+ Store(Ones, Derefof(Local3))
+ if (CH03(arg0, z122, 48, Local1, arg1)) {
+ // Store caused unexpected exception
+ Return (1)
+ }
+ }
+ if (Local1) {
+ // Update the First Member Object
+ Index(Derefof(arg1), 0, Local2)
+ Store(Derefof(Local2), Local4)
+ if (LEqual(ObjectType(Local4), 1)) {
+ // Integer
+ Store(Not(Local4), Derefof(Local3))
+ } else {
+ Store(Ones, Derefof(Local3))
+ if (CH03(arg0, z122, 49, Local1, arg1)) {
+ // Store caused unexpected exception
+ Return (1)
+ }
+ }
+ }
+ } elseif (LEqual(Local0, 4)) {
+ // Empty Package
+ Store(Package(1){"update string"}, arg1)
+ } else {
+ // Empty String/Buffer
+ Store("update string", arg1)
+ }
+ } elseif (Derefof(Index(b674, Local0))) {
+ // Non-Computational Data Objects
+ CopyObject("update string", arg1)
+ } else {
+ Store(Not(ToInteger(Derefof(arg1))), arg1)
+ }
+
+ if (CH03(arg0, z122, 50, Local0, arg1)) {
+ // Update caused unexpected exception
+ Return (1)
+ }
+
+ Return (0)
+ }
+
+ // Check processing of an Source Named Object of the specified type
+ // on immediate storing to a Target Named Object of the specified type
+ // m008(<msg>, <aux>, <target type>, <source type>,
+ // <op>, <exc. condition>, <test data package>)
+ Method(m008, 7)
+ {
+ // Source Named Object
+ Name(SRC0, 0)
+ // Target Named Object
+ Name(DST0, 0)
+
+ Name(scl0, Buffer() {0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0})
+ Name(scl1, Buffer() {0,0,0,0,1,0,1,1,1,1,0,1,1,0,0,0,0,0})
+
+ Concatenate(arg0, "-", arg0)
+ Concatenate(arg0, Concatenate(Mid(arg4,0,2), Concatenate(Mid(arg2,0,2), Mid(arg3,0,2))), arg0)
+ if (STCS) {Store(arg0, Debug)}
+
+ // Choose expected Result Object type
+// if (LAnd(LEqual(arg4, 0), LEqual(arg3, 8))) {
+ if (LEqual(arg3, 8)) {
+ // Method expected to be invoked and result in String
+ Store(2, Local5)
+ } else {
+ Store(arg3, Local5)
+ }
+
+ // Prepare Source of specified type
+ Store(Index(arg6, 2), Local7)
+ if (LEqual(arg3, 5)) { // Field Unit Source
+ Store(Derefof(Index(Derefof(Local7), 0)), Local0)
+ if (LEqual(Local0, 0)) {
+ Store(Refof(FLU0), Local6)
+ Store(3, Local5)
+ } elseif (LEqual(Local0, 1)) {
+ Store(Refof(FLU2), Local6)
+ if (F64) {
+ Store(1, Local5)
+ } else {
+ Store(3, Local5)
+ }
+ } else {
+ Store(Refof(FLU4), Local6)
+ Store(1, Local5)
+ }
+ } elseif (LEqual(arg3, 14)) { // Buffer Field Source
+ Store(Derefof(Index(Derefof(Local7), 0)), Local0)
+ if (LEqual(Local0, 0)) {
+ Store(Refof(BFL0), Local6)
+ Store(3, Local5)
+ } elseif (LEqual(Local0, 1)) {
+ Store(Refof(BFL2), Local6)
+ if (F64) {
+ Store(1, Local5)
+ } else {
+ Store(3, Local5)
+ }
+ } else {
+ Store(Refof(BFL4), Local6)
+ Store(1, Local5)
+ }
+ } else {
+ Store(Refof(SRC0), Local6)
+ }
+ if (m004(Concatenate(arg0, "-m004"), arg3, Local6, Local7)) {
+ // Source Object can not be prepared
+ err(Concatenate(arg0, terr), z122, 51, 0, 0, arg3, 0)
+ Return (1)
+ }
+
+ // Prepare Target of specified type
+ Store(Index(Derefof(Index(arg6, 3)), arg2), Local7)
+ if (LEqual(arg2, 5)) { // Field Unit Target
+ Field(OPR0, ByteAcc, NoLock, Preserve) {FLUX, 192, FLU1, 69}
+ Store(Refof(FLU1), Local1)
+ } elseif (LEqual(arg2, 14)) { // Buffer Field Target
+ Createfield(BUFZ, 192, 69, BFL1)
+ Store(Refof(BFL1), Local1)
+ } else {
+ Store(Refof(DST0), Local1)
+ }
+ if (m003(Concatenate(arg0, "-m003"), arg2, Local1, Local7)) {
+ // Target Object can not be prepared
+ err(Concatenate(arg0, terr), z122, 52, 0, 0, arg2, 0)
+ Return (1)
+ }
+
+ if (CH03(arg0, z122, 53, arg3, arg2)) {
+ // Unexpected exception during preparation
+ Return (1)
+ }
+
+ // Use a Source Object to immediately store into the Target
+ Store(Index(arg6, 2), Local7)
+ if (LEqual(arg2, 5)) { // Field Unit Target
+ if (LEqual(arg4, 0)) { // Store
+ if (LEqual(arg3, 5)) { // Field Unit Source
+ Store(Derefof(Index(Derefof(Local7), 0)), Local0)
+ if (LEqual(Local0, 0)) {
+ Store(FLU0, FLU1)
+ } elseif (LEqual(Local0, 1)) {
+ Store(FLU2, FLU1)
+ } else {
+ Store(FLU4, FLU1)
+ }
+ } elseif (LEqual(arg3, 14)) { // Buffer Field Source
+ Store(Derefof(Index(Derefof(Local7), 0)), Local0)
+ if (LEqual(Local0, 0)) {
+ Store(BFL0, FLU1)
+ } elseif (LEqual(Local0, 1)) {
+ Store(BFL2, FLU1)
+ } else {
+ Store(BFL4, FLU1)
+ }
+ } else {
+ Store(SRC0, FLU1)
+ }
+ } elseif (LEqual(arg4, 1)) { // CopyObject
+ if (LEqual(arg3, 5)) { // Field Unit Source
+ Store(Derefof(Index(Derefof(Local7), 0)), Local0)
+ if (LEqual(Local0, 0)) {
+ CopyObject(FLU0, FLU1)
+ } elseif (LEqual(Local0, 1)) {
+ CopyObject(FLU2, FLU1)
+ } else {
+ CopyObject(FLU4, FLU1)
+ }
+ } elseif (LEqual(arg3, 14)) { // Buffer Field Source
+ Store(Derefof(Index(Derefof(Local7), 0)), Local0)
+ if (LEqual(Local0, 0)) {
+ CopyObject(BFL0, FLU1)
+ } elseif (LEqual(Local0, 1)) {
+ CopyObject(BFL2, FLU1)
+ } else {
+ CopyObject(BFL4, FLU1)
+ }
+ } else {
+ CopyObject(SRC0, FLU1)
+ }
+ } else {
+ // Unexpected Kind of Op (0 - Store, ...)
+ err(Concatenate(arg0, terr), z122, 54, 0, 0, arg4, 0)
+ Return (1)
+ }
+ } elseif (LEqual(arg2, 14)) { // Buffer Field Target
+ if (LEqual(arg4, 0)) { // Store
+ if (LEqual(arg3, 5)) { // Field Unit Source
+ Store(Derefof(Index(Derefof(Local7), 0)), Local0)
+ if (LEqual(Local0, 0)) {
+ Store(FLU0, BFL1)
+ } elseif (LEqual(Local0, 1)) {
+ Store(FLU2, BFL1)
+ } else {
+ Store(FLU4, BFL1)
+ }
+ } elseif (LEqual(arg3, 14)) { // Buffer Field Source
+ Store(Derefof(Index(Derefof(Local7), 0)), Local0)
+ if (LEqual(Local0, 0)) {
+ Store(BFL0, BFL1)
+ } elseif (LEqual(Local0, 1)) {
+ Store(BFL2, BFL1)
+ } else {
+ Store(BFL4, BFL1)
+ }
+ } else {
+ Store(SRC0, BFL1)
+ }
+ } elseif (LEqual(arg4, 1)) { // CopyObject
+ if (LEqual(arg3, 5)) { // Field Unit Source
+ Store(Derefof(Index(Derefof(Local7), 0)), Local0)
+ if (LEqual(Local0, 0)) {
+ CopyObject(FLU0, BFL1)
+ } elseif (LEqual(Local0, 1)) {
+ CopyObject(FLU2, BFL1)
+ } else {
+ CopyObject(FLU4, BFL1)
+ }
+ } elseif (LEqual(arg3, 14)) { // Buffer Field Source
+ Store(Derefof(Index(Derefof(Local7), 0)), Local0)
+ if (LEqual(Local0, 0)) {
+ CopyObject(BFL0, BFL1)
+ } elseif (LEqual(Local0, 1)) {
+ CopyObject(BFL2, BFL1)
+ } else {
+ CopyObject(BFL4, BFL1)
+ }
+ } else {
+ CopyObject(SRC0, BFL1)
+ }
+ } else {
+ // Unexpected Kind of Op (0 - Store, ...)
+ err(Concatenate(arg0, terr), z122, 55, 0, 0, arg4, 0)
+ Return (1)
+ }
+
+ } elseif (LEqual(arg4, 0)) { // Store
+ if (LEqual(arg3, 5)) { // Field Unit Source
+ Store(Derefof(Index(Derefof(Local7), 0)), Local0)
+ if (LEqual(Local0, 0)) {
+ Store(FLU0, DST0)
+ } elseif (LEqual(Local0, 1)) {
+ Store(FLU2, DST0)
+ } else {
+ Store(FLU4, DST0)
+ }
+ } elseif (LEqual(arg3, 14)) { // Buffer Field Source
+ Store(Derefof(Index(Derefof(Local7), 0)), Local0)
+ if (LEqual(Local0, 0)) {
+ Store(BFL0, DST0)
+ } elseif (LEqual(Local0, 1)) {
+ Store(BFL2, DST0)
+ } else {
+ Store(BFL4, DST0)
+ }
+ } else {
+ Store(SRC0, DST0)
+ }
+
+ } elseif (LEqual(arg4, 1)) { // CopyObject
+ if (LEqual(arg3, 5)) { // Field Unit Source
+ Store(Derefof(Index(Derefof(Local7), 0)), Local0)
+ if (LEqual(Local0, 0)) {
+ CopyObject(FLU0, DST0)
+ } elseif (LEqual(Local0, 1)) {
+ CopyObject(FLU2, DST0)
+ } else {
+ CopyObject(FLU4, DST0)
+ }
+ } elseif (LEqual(arg3, 14)) { // Buffer Field Source
+ Store(Derefof(Index(Derefof(Local7), 0)), Local0)
+ if (LEqual(Local0, 0)) {
+ CopyObject(BFL0, DST0)
+ } elseif (LEqual(Local0, 1)) {
+ CopyObject(BFL2, DST0)
+ } else {
+ CopyObject(BFL4, DST0)
+ }
+ } else {
+ CopyObject(SRC0, DST0)
+ }
+
+ } else {
+ // Unexpected Kind of Op (0 - Store, ...)
+ err(Concatenate(arg0, terr), z122, 56, 0, 0, arg4, 0)
+ Return (1)
+ }
+
+ if (arg5) {
+ // Exception is expected
+ if (LAnd(LEqual(arg4, 1), LEqual(arg2, c016))) {
+ if (X170) {
+ if (LNot(CH06(arg0, 57, 0xff))) {
+ if (STCS) {m000(2, 0x100, arg2, arg3)}
+ }
+ } else {
+ CH03(arg0, z122, 57, arg3, arg2)
+ }
+ } else {
+ if (LNot(CH06(arg0, 57, 0xff))) {
+ if (STCS) {m000(2, 0x100, arg2, arg3)}
+ }
+ }
+ } elseif (CH03(arg0, z122, 58, arg3, arg2)) {
+ // Storing caused unexpected exception
+ if (STCS) {m000(2, 0x100, arg2, arg3)}
+ } else {
+ // Check Target Object to have the expected type and value
+
+ // Target accept type on storing to Named by Store operator is 0
+ if (arg4) {
+ Store(2, Local0)
+ } else {
+ Store(0, Local0)
+ }
+
+ m006(Concatenate(arg0, "-m006"), Local1, arg2, Local5, arg4, Local0, arg6)
+ }
+
+ // Check Source Object value and type is not corrupted after storing
+ Store(Index(arg6, 2), Local7)
+ if (m005(Concatenate(arg0, "-m005"), arg3, Local6, Local7)) {
+ if (STCS) {
+ Store("m008, Source Object has been corrupted during storing", Debug)
+ }
+ Return (1)
+ }
+
+ // Check auxiliary Target Object to have the initial type and value
+ Store(Index(Derefof(Index(arg6, 3)), arg2), Local7)
+ if (m016(Concatenate(arg0, "-m016"), arg2, 0, Local7)) {
+ if (STCS) {
+ Store("m008, auxiliary Target Object has been corrupted during storing", Debug)
+ }
+ Return (1)
+ }
+
+ // Update Target Object
+ if (m007(Concatenate(arg0, "-m007"), Local1)) {
+ if (STCS) {
+ Store("m008, Error during update of Target", Debug)
+ }
+ Return (1)
+ }
+
+ // Check Source Object value and type is not corrupted after updating the copy
+
+ Store(Index(arg6, 2), Local7)
+
+ if (y900) {
+ if (LAnd(LEqual(arg4, 0), LAnd( // Store
+ // Source type is 2-4
+ Derefof(Index(Buffer() {0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0}, arg3)),
+ // Target type is 4, 6-9, 11-12
+ Derefof(Index(Buffer() {0,0,0,0,1,0,1,1,1,1,0,1,1,0,0,0,0,0}, arg2))))) {
+ if (X153) {
+ if (m005(Concatenate(arg0, "-m005"), arg3, Local6, Local7)) {
+ if (STCS) {
+ Store("m008, Source Object has been corrupted during update of Target", Debug)
+ }
+ }
+ }
+ } else {
+ if (m005(Concatenate(arg0, "-m005"), arg3, Local6, Local7)) {
+ if (STCS) {
+ Store("m008, Source Object has been corrupted during update of Target", Debug)
+ }
+ }
+ }
+ } else {
+ if (LAnd(LEqual(arg4, 0), LAnd( // Store
+ // Source type is 2-4
+ Derefof(Index(scl0, arg3)),
+ // Target type is 4, 6-9, 11-12
+ Derefof(Index(scl1, arg2))))) {
+ if (X153) {
+ if (m005(Concatenate(arg0, "-m005"), arg3, Local6, Local7)) {
+ if (STCS) {
+ Store("m008, Source Object has been corrupted during update of Target", Debug)
+ }
+ }
+ }
+ } else {
+ if (m005(Concatenate(arg0, "-m005"), arg3, Local6, Local7)) {
+ if (STCS) {
+ Store("m008, Source Object has been corrupted during update of Target", Debug)
+ }
+ }
+ }
+ }
+
+ // Check auxiliary Target Object to have the initial type and value
+ Store(Index(Derefof(Index(arg6, 3)), arg2), Local7)
+ if (m016(Concatenate(arg0, "-m016"), arg2, 0, Local7)) {
+ if (STCS) {
+ Store("m008, auxiliary Target Object has been corrupted during update of Target", Debug)
+ }
+ Return (1)
+ }
+
+ Return (0)
+ }
+
+ // Check processing of an Source Named Object of the specified type
+ // on immediate storing to a Target LocalX Object of the specified type
+ // m009(<msg>, <aux>, <target type>, <source type>,
+ // <op>, <exc. condition>, <test data package>)
+ Method(m009, 7)
+ {
+ // Source Named Object
+ Name(SRC0, 0)
+ // Target LocalX Object: Local4
+
+ Concatenate(arg0, "-", arg0)
+ Concatenate(arg0, Concatenate(Mid(arg4,0,2), Concatenate(Mid(arg2,0,2), Mid(arg3,0,2))), arg0)
+ if (STCS) {Store(arg0, Debug)}
+
+ // Choose expected Result Object type
+// if (LAnd(LEqual(arg4, 0), LEqual(arg3, 8))) {
+ if (LEqual(arg3, 8)) {
+ // Method expected to be invoked and result in String
+ Store(2, Local5)
+ } else {
+ Store(arg3, Local5)
+ }
+
+ // Prepare Source of specified type
+ Store(Index(arg6, 2), Local7)
+ if (LEqual(arg3, 5)) { // Field Unit Source
+ Store(Derefof(Index(Derefof(Local7), 0)), Local0)
+ if (LEqual(Local0, 0)) {
+ Store(Refof(FLU0), Local6)
+ } elseif (LEqual(Local0, 1)) {
+ Store(Refof(FLU2), Local6)
+ Store(3, Local5)
+ if (F64) {
+ Store(1, Local5)
+ } else {
+ Store(3, Local5)
+ }
+ } else {
+ Store(Refof(FLU4), Local6)
+ Store(1, Local5)
+ }
+ } elseif (LEqual(arg3, 14)) { // Buffer Field Source
+ Store(Derefof(Index(Derefof(Local7), 0)), Local0)
+ if (LEqual(Local0, 0)) {
+ Store(Refof(BFL0), Local6)
+ Store(3, Local5)
+ } elseif (LEqual(Local0, 1)) {
+ Store(Refof(BFL2), Local6)
+ if (F64) {
+ Store(1, Local5)
+ } else {
+ Store(3, Local5)
+ }
+ } else {
+ Store(Refof(BFL4), Local6)
+ Store(1, Local5)
+ }
+ } else {
+ Store(Refof(SRC0), Local6)
+ }
+ if (m004(Concatenate(arg0, "-m004"), arg3, Local6, Local7)) {
+ // Source Object can not be prepared
+ err(Concatenate(arg0, terr), z122, 59, 0, 0, arg3, 0)
+ Return (1)
+ }
+
+ // Prepare Target of specified type
+ Store(Index(Derefof(Index(arg6, 3)), arg2), Local7)
+ if (m003(Concatenate(arg0, "-m003"), arg2, Refof(Local4), Local7)) {
+ // Target Object can not be prepared
+ err(Concatenate(arg0, terr), z122, 60, 0, 0, arg2, 0)
+ Return (1)
+ }
+
+ if (CH03(arg0, z122, 61, arg3, arg2)) {
+ // Unexpected exception during preparation
+ Return (1)
+ }
+
+ // Use a Source Object to immediately store into the Target
+ Store(Index(arg6, 2), Local7)
+ if (LEqual(arg4, 0)) { // Store
+ if (LEqual(arg3, 5)) { // Field Unit Source
+ Store(Derefof(Index(Derefof(Local7), 0)), Local0)
+ if (LEqual(Local0, 0)) {
+ Store(FLU0, Local4)
+ } elseif (LEqual(Local0, 1)) {
+ Store(FLU2, Local4)
+ } else {
+ Store(FLU4, Local4)
+ }
+ } elseif (LEqual(arg3, 14)) { // Buffer Field Source
+ Store(Derefof(Index(Derefof(Local7), 0)), Local0)
+ if (LEqual(Local0, 0)) {
+ Store(BFL0, Local4)
+ } elseif (LEqual(Local0, 1)) {
+ Store(BFL2, Local4)
+ } else {
+ Store(BFL4, Local4)
+ }
+ } else {
+ Store(SRC0, Local4)
+ }
+ } elseif (LEqual(arg4, 1)) { // CopyObject
+ if (LEqual(arg3, 5)) { // Field Unit Source
+ Store(Derefof(Index(Derefof(Local7), 0)), Local0)
+ if (LEqual(Local0, 0)) {
+ CopyObject(FLU0, Local4)
+ } elseif (LEqual(Local0, 1)) {
+ CopyObject(FLU2, Local4)
+ } else {
+ CopyObject(FLU4, Local4)
+ }
+ } elseif (LEqual(arg3, 14)) { // Buffer Field Source
+ Store(Derefof(Index(Derefof(Local7), 0)), Local0)
+ if (LEqual(Local0, 0)) {
+ CopyObject(BFL0, Local4)
+ } elseif (LEqual(Local0, 1)) {
+ CopyObject(BFL2, Local4)
+ } else {
+ CopyObject(BFL4, Local4)
+ }
+ } else {
+ CopyObject(SRC0, Local4)
+ }
+ } else {
+ // Unexpected Kind of Op (0 - Store, ...)
+ err(Concatenate(arg0, terr), z122, 62, 0, 0, arg4, 0)
+ Return (1)
+ }
+
+ if (arg5) {
+ // Exception is expected
+ if (LNot(CH06(arg0, 15, 0xff))) {
+ if (STCS) {m000(2, 0x100, arg2, arg3)}
+ }
+ } elseif (CH03(arg0, z122, 63, arg3, arg2)) {
+ // Storing caused unexpected exception
+ if (STCS) {m000(2, 0x100, arg2, arg3)}
+ } else {
+ // Check Target Object to have the expected type and value
+
+ // Target accept type on storing to LocalX is 1
+ Store(1, Local0)
+
+ m006(Concatenate(arg0, "-m006"), Refof(Local4), arg2, Local5, arg4, Local0, arg6)
+ }
+
+ // Check Source Object value and type is not corrupted after storing
+ Store(Index(arg6, 2), Local7)
+ if (m005(Concatenate(arg0, "-m005"), arg3, Local6, Local7)) {
+ if (STCS) {
+ Store("m009, Source Object has been corrupted during storing", Debug)
+ }
+ }
+
+ // Check auxiliary Target Object to have the initial type and value
+ Store(Index(Derefof(Index(arg6, 3)), arg2), Local7)
+ if (m016(Concatenate(arg0, "-m016"), arg2, 0, Local7)) {
+ if (STCS) {
+ Store("m009, auxiliary Target Object has been corrupted during storing", Debug)
+ }
+ Return (1)
+ }
+
+ // Update Target Object
+ if (m007(Concatenate(arg0, "-m007"), Refof(Local4))) {
+ if (STCS) {
+ Store("m009, Error during update of Target", Debug)
+ }
+ Return (1)
+ }
+
+ // Check Source Object value and type is not corrupted after updating the copy
+ Store(Index(arg6, 2), Local7)
+ if (m005(Concatenate(arg0, "-m005"), arg3, Local6, Local7)) {
+ if (STCS) {
+ Store("m009, Source Object has been corrupted during update of Target", Debug)
+ }
+ }
+
+ // Check auxiliary Target Object to have the initial type and value
+ Store(Index(Derefof(Index(arg6, 3)), arg2), Local7)
+ if (m016(Concatenate(arg0, "-m016"), arg2, 0, Local7)) {
+ if (STCS) {
+ Store("m009, auxiliary Target Object has been corrupted during update of Target", Debug)
+ }
+ Return (1)
+ }
+
+ Return (0)
+ }
+
+ // Check processing of an Source LocalX Object of the specified type
+ // on immediate storing to a Target Named Object of the specified type
+ // m00a(<msg>, <aux>, <target type>, <source type>,
+ // <op>, <exc. condition>, <test data package>)
+ Method(m00a, 7)
+ {
+ // Source Object: Local1
+ // Target Named Object (or the reference to it in case of Fields)
+ Name(DST0, 0)
+
+ Name(scl0, Buffer() {0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0})
+ Name(scl1, Buffer() {0,0,0,0,1,0,1,1,1,1,0,1,1,0,0,0,0,0})
+
+ Concatenate(arg0, "-", arg0)
+ Concatenate(arg0, Concatenate(Mid(arg4,0,2), Concatenate(Mid(arg2,0,2), Mid(arg3,0,2))), arg0)
+ if (STCS) {Store(arg0, Debug)}
+
+ // Prepare Source of specified type
+ Store(Index(arg6, 2), Local7)
+ if (m004(Concatenate(arg0, "-m004"), arg3, Refof(Local1), Local7)) {
+ // Source Object can not be prepared
+ err(Concatenate(arg0, terr), z122, 64, 0, 0, arg3, 0)
+ Return (1)
+ }
+
+ // Prepare Target of specified type
+ Store(Index(Derefof(Index(arg6, 3)), arg2), Local7)
+ if (LEqual(arg2, 5)) { // Field Unit Target
+ Field(OPR0, ByteAcc, NoLock, Preserve) {FLUX, 192, FLU1, 69}
+ Store(Refof(FLU1), Local4)
+ } elseif (LEqual(arg2, 14)) { // Buffer Field Target
+ Createfield(BUFZ, 192, 69, BFL1)
+ Store(Refof(BFL1), Local4)
+ } else {
+ Store(Refof(DST0), Local4)
+ }
+ if (m003(Concatenate(arg0, "-m003"), arg2, Local4, Local7)) {
+ // Target Object can not be prepared
+ err(Concatenate(arg0, terr), z122, 65, 0, 0, arg2, 0)
+ Return (1)
+ }
+
+ if (CH03(arg0, z122, 66, arg3, arg2)) {
+ // Unexpected exception during preparation
+ Return (1)
+ }
+
+ // Use a Source Object to immediately store into the Target
+ if (LEqual(arg2, 5)) { // Field Unit Target
+ if (LEqual(arg4, 0)) { // Store
+ Store(Local1, FLU1)
+ } elseif (LEqual(arg4, 1)) { // CopyObject
+ CopyObject(Local1, FLU1)
+ } else {
+ // Unexpected Kind of Op (0 - Store, ...)
+ err(Concatenate(arg0, terr), z122, 67, 0, 0, arg4, 0)
+ Return (1)
+ }
+ } elseif (LEqual(arg2, 14)) { // Buffer Field Target
+ if (LEqual(arg4, 0)) { // Store
+ Store(Local1, BFL1)
+ } elseif (LEqual(arg4, 1)) { // CopyObject
+ CopyObject(Local1, BFL1)
+ } else {
+ // Unexpected Kind of Op (0 - Store, ...)
+ err(Concatenate(arg0, terr), z122, 68, 0, 0, arg4, 0)
+ Return (1)
+ }
+
+ } elseif (LEqual(arg4, 0)) { // Store
+ Store(Local1, DST0)
+
+ } elseif (LEqual(arg4, 1)) { // CopyObject
+ CopyObject(Local1, DST0)
+
+ } else {
+ // Unexpected Kind of Op (0 - Store, ...)
+ err(Concatenate(arg0, terr), z122, 69, 0, 0, arg4, 0)
+ Return (1)
+ }
+
+ if (arg5) {
+ // Exception is expected
+ if (LAnd(LEqual(arg4, 1), LAnd(LEqual(arg2, c016), LNotEqual(arg3, c008)))) {
+ if (X170) {
+ if (LNot(CH06(arg0, 70, 0xff))) {
+ if (STCS) {m000(2, 0x100, arg2, arg3)}
+ }
+ } else {
+ CH03(arg0, z122, 70, arg3, arg2)
+ }
+ } else {
+ if (LNot(CH06(arg0, 70, 0xff))) {
+ if (STCS) {m000(2, 0x100, arg2, arg3)}
+ }
+ }
+ } elseif (CH03(arg0, z122, 71, arg3, arg2)) {
+ // Storing caused unexpected exception
+ if (STCS) {m000(2, 0x100, arg2, arg3)}
+ } else {
+ // Check Target Object to have the expected type and value
+
+ // Target accept type on storing to Named of Store operator is 0
+ if (arg4) {
+ Store(2, Local0)
+ } else {
+ Store(0, Local0)
+ }
+
+ m006(Concatenate(arg0, "-m006"), Local4, arg2, arg3, arg4, Local0, arg6)
+ }
+
+ // Check Source Object value and type is not corrupted after storing
+ Store(Index(arg6, 2), Local7)
+ if (m005(Concatenate(arg0, "-m005"), arg3, Refof(Local1), Local7)) {
+ if (STCS) {
+ Store("m00a, Source Object has been corrupted during storing", Debug)
+ }
+ }
+
+ // Check auxiliary Target Object to have the initial type and value
+ Store(Index(Derefof(Index(arg6, 3)), arg2), Local7)
+ if (m016(Concatenate(arg0, "-m016"), arg2, 0, Local7)) {
+ if (STCS) {
+ Store("m00a, auxiliary Target Object has been corrupted during storing", Debug)
+ }
+ Return (1)
+ }
+
+ // Update Target Object
+ if (m007(Concatenate(arg0, "-m007"), Local4)) {
+ if (STCS) {
+ Store("m00a, Error during update of Target", Debug)
+ }
+ Return (1)
+ }
+
+ // Check Source Object value and type is not corrupted after updating the copy
+
+ Store(Index(arg6, 2), Local7)
+
+ if (y900) {
+
+ if (LAnd(LEqual(arg4, 0), LAnd( // Store
+ // Source type is 2-4
+ Derefof(Index(Buffer() {0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0}, arg3)),
+ // Target type is 4, 6-9, 11-12
+ Derefof(Index(Buffer() {0,0,0,0,1,0,1,1,1,1,0,1,1,0,0,0,0,0}, arg2))))) {
+ if (X153) {
+ if (m005(Concatenate(arg0, "-m005"), arg3, Refof(Local1), Local7)) {
+ if (STCS) {
+ Store("m00a, Source Object has been corrupted during update of Target", Debug)
+ }
+ }
+ }
+ } else {
+ if (m005(Concatenate(arg0, "-m005"), arg3, Refof(Local1), Local7)) {
+ if (STCS) {
+ Store("m00a, Source Object has been corrupted during update of Target", Debug)
+ }
+ }
+ }
+
+ } else { // if (y900)
+
+ if (LAnd(LEqual(arg4, 0), LAnd( // Store
+ // Source type is 2-4
+ Derefof(Index(scl0, arg3)),
+ // Target type is 4, 6-9, 11-12
+ Derefof(Index(scl1, arg2))))) {
+ if (X153) {
+ if (m005(Concatenate(arg0, "-m005"), arg3, Refof(Local1), Local7)) {
+ if (STCS) {
+ Store("m00a, Source Object has been corrupted during update of Target", Debug)
+ }
+ }
+ }
+ } else {
+ if (m005(Concatenate(arg0, "-m005"), arg3, Refof(Local1), Local7)) {
+ if (STCS) {
+ Store("m00a, Source Object has been corrupted during update of Target", Debug)
+ }
+ }
+ }
+ } // if (y900)
+
+ // Check auxiliary Target Object to have the initial type and value
+ Store(Index(Derefof(Index(arg6, 3)), arg2), Local7)
+ if (m016(Concatenate(arg0, "-m016"), arg2, 0, Local7)) {
+ if (STCS) {
+ Store("m00a, auxiliary Target Object has been corrupted during update of Target", Debug)
+ }
+ Return (1)
+ }
+
+ Return (0)
+ }
+
+ // Check processing of an Source LocalX Object of the specified type
+ // on immediate storing to a Target LocalX Object of the specified type
+ // m00b(<msg>, <aux>, <target type>, <source type>,
+ // <op>, <exc. condition>, <test data package>)
+ Method(m00b, 7)
+ {
+ // Source LocalX Object: Local1
+ // Target LocalX Object: Local4
+
+ Concatenate(arg0, "-", arg0)
+ Concatenate(arg0, Concatenate(Mid(arg4,0,2), Concatenate(Mid(arg2,0,2), Mid(arg3,0,2))), arg0)
+ if (STCS) {Store(arg0, Debug)}
+
+ // Prepare Source of specified type
+ Store(Index(arg6, 2), Local7)
+ if (m004(Concatenate(arg0, "-m004"), arg3, Refof(Local1), Local7)) {
+ // Source Object can not be prepared
+ err(Concatenate(arg0, terr), z122, 72, 0, 0, arg3, 0)
+ Return (1)
+ }
+
+ // Prepare Target of specified type
+ Store(Index(Derefof(Index(arg6, 3)), arg2), Local7)
+ if (m003(Concatenate(arg0, "-m003"), arg2, Refof(Local4), Local7)) {
+ // Target Object can not be prepared
+ err(Concatenate(arg0, terr), z122, 73, 0, 0, arg2, 0)
+ Return (1)
+ }
+
+ if (CH03(arg0, z122, 74, arg3, arg2)) {
+ // Unexpected exception during preparation
+ Return (1)
+ }
+
+ // Use a Source Object to immediately store into the Target
+ if (LEqual(arg4, 0)) { // Store
+ Store(Local1, Local4)
+ } elseif (LEqual(arg4, 1)) { // CopyObject
+ CopyObject(Local1, Local4)
+ } else {
+ // Unexpected Kind of Op (0 - Store, ...)
+ err(Concatenate(arg0, terr), z122, 75, 0, 0, arg4, 0)
+ Return (1)
+ }
+
+ if (arg5) {
+ // Exception is expected
+ if (LNot(CH06(arg0, 15, 0xff))) {
+ if (STCS) {m000(2, 0x100, arg2, arg3)}
+ }
+ } elseif (CH03(arg0, z122, 76, arg3, arg2)) {
+ // Storing caused unexpected exception
+ if (STCS) {m000(2, 0x100, arg2, arg3)}
+ } else {
+ // Check Target Object to have the expected type and value
+
+ // Target accept type on storing to LocalX is 1
+ Store(1, Local0)
+
+ m006(Concatenate(arg0, "-m006"), Refof(Local4), arg2, arg3, arg4, Local0, arg6)
+ }
+
+ // Check Source Object value and type is not corrupted after storing
+ Store(Index(arg6, 2), Local7)
+ if (m005(Concatenate(arg0, "-m005"), arg3, Refof(Local1), Local7)) {
+ if (STCS) {
+ Store("m00b, Source Object has been corrupted during storing", Debug)
+ }
+ }
+
+ // Check auxiliary Target Object to have the initial type and value
+ Store(Index(Derefof(Index(arg6, 3)), arg2), Local7)
+ if (m016(Concatenate(arg0, "-m016"), arg2, 0, Local7)) {
+ if (STCS) {
+ Store("m00b, auxiliary Target Object has been corrupted during storing", Debug)
+ }
+ Return (1)
+ }
+
+ // Update Target Object
+ if (m007(Concatenate(arg0, "-m007"), Refof(Local4))) {
+ if (STCS) {
+ Store("m00b, Error during update of Target", Debug)
+ }
+ Return (1)
+ }
+
+ // Check Source Object value and type is not corrupted after updating the copy
+ Store(Index(arg6, 2), Local7)
+ if (m005(Concatenate(arg0, "-m005"), arg3, Refof(Local1), Local7)) {
+ if (STCS) {
+ Store("m00b, Source Object has been corrupted during update of Target", Debug)
+ }
+ }
+
+ // Check auxiliary Target Object to have the initial type and value
+ Store(Index(Derefof(Index(arg6, 3)), arg2), Local7)
+ if (m016(Concatenate(arg0, "-m016"), arg2, 0, Local7)) {
+ if (STCS) {
+ Store("m00b, auxiliary Target Object has been corrupted during update of Target", Debug)
+ }
+ Return (1)
+ }
+
+ Return (0)
+ }
+
+ // Check processing of an Source Named Object of the specified type
+ // on immediate storing to an argument of Method passed to as immediate
+ // Named Object of another specified type
+ // m00c(<msg>, <aux>, <target type>, <source type>,
+ // <op>, <exc. condition>, <test data package>)
+ Method(m00c, 7)
+ {
+ Method(m10c, 7)
+ {
+ // Source Named Object
+ Name(SRC0, 0)
+ // Target Named Object: ARG1
+
+ // Choose expected Result Object type
+// if (LAnd(LEqual(arg4, 0), LEqual(arg3, 8))) {
+ if (LEqual(arg3, 8)) {
+ // Method expected to be invoked and result in String
+ Store(2, Local5)
+ } else {
+ Store(arg3, Local5)
+ }
+
+ // Prepare Source of specified type
+ Store(Index(arg6, 2), Local7)
+ if (LEqual(arg3, 5)) { // Field Unit Source
+ Store(Derefof(Index(Derefof(Local7), 0)), Local0)
+ if (LEqual(Local0, 0)) {
+ Store(Refof(FLU0), Local6)
+ Store(3, Local5)
+ } elseif (LEqual(Local0, 1)) {
+ Store(Refof(FLU2), Local6)
+ if (F64) {
+ Store(1, Local5)
+ } else {
+ Store(3, Local5)
+ }
+ } else {
+ Store(Refof(FLU4), Local6)
+ Store(1, Local5)
+ }
+ } elseif (LEqual(arg3, 14)) { // Buffer Field Source
+ Store(Derefof(Index(Derefof(Local7), 0)), Local0)
+ if (LEqual(Local0, 0)) {
+ Store(Refof(BFL0), Local6)
+ Store(3, Local5)
+ } elseif (LEqual(Local0, 1)) {
+ Store(Refof(BFL2), Local6)
+ if (F64) {
+ Store(1, Local5)
+ } else {
+ Store(3, Local5)
+ }
+ } else {
+ Store(Refof(BFL4), Local6)
+ Store(1, Local5)
+ }
+ } else {
+ Store(Refof(SRC0), Local6)
+ }
+ if (m004(Concatenate(arg0, "-m004"), arg3, Local6, Local7)) {
+ // Source Object can not be prepared
+ err(Concatenate(arg0, terr), z122, 77, 0, 0, arg3, 0)
+ Return (1)
+ }
+
+ Store(Refof(ARG1), Local1)
+
+ if (CH03(arg0, z122, 78, arg3, arg2)) {
+ // Unexpected exception during preparation
+ Return (1)
+ }
+
+ // Use a Source Object to immediately store into the Target
+ Store(Index(arg6, 2), Local7)
+ if (LEqual(arg4, 0)) { // Store
+ if (LEqual(arg3, 5)) { // Field Unit Source
+ Store(Derefof(Index(Derefof(Local7), 0)), Local0)
+ if (LEqual(Local0, 0)) {
+ Store(FLU0, ARG1)
+ } elseif (LEqual(Local0, 1)) {
+ Store(FLU2, ARG1)
+ } else {
+ Store(FLU4, ARG1)
+ }
+ } elseif (LEqual(arg3, 14)) { // Buffer Field Source
+ Store(Derefof(Index(Derefof(Local7), 0)), Local0)
+ if (LEqual(Local0, 0)) {
+ Store(BFL0, ARG1)
+ } elseif (LEqual(Local0, 1)) {
+ Store(BFL2, ARG1)
+ } else {
+ Store(BFL4, ARG1)
+ }
+ } else {
+ Store(SRC0, ARG1)
+ }
+
+ } elseif (LEqual(arg4, 1)) { // CopyObject
+ if (LEqual(arg3, 5)) { // Field Unit Source
+ Store(Derefof(Index(Derefof(Local7), 0)), Local0)
+ if (LEqual(Local0, 0)) {
+ CopyObject(FLU0, ARG1)
+ } elseif (LEqual(Local0, 1)) {
+ CopyObject(FLU2, ARG1)
+ } else {
+ CopyObject(FLU4, ARG1)
+ }
+ } elseif (LEqual(arg3, 14)) { // Buffer Field Source
+ Store(Derefof(Index(Derefof(Local7), 0)), Local0)
+ if (LEqual(Local0, 0)) {
+ CopyObject(BFL0, ARG1)
+ } elseif (LEqual(Local0, 1)) {
+ CopyObject(BFL2, ARG1)
+ } else {
+ CopyObject(BFL4, ARG1)
+ }
+ } else {
+ CopyObject(SRC0, ARG1)
+ }
+
+ } else {
+ // Unexpected Kind of Op (0 - Store, ...)
+ err(Concatenate(arg0, terr), z122, 79, 0, 0, arg4, 0)
+ Return (1)
+ }
+
+ if (arg5) {
+ // Exception is expected
+ if (LOr(
+ LAnd(LEqual(arg4, 0), LAnd(LEqual(arg2, c016), LEqual(arg3, c00c))),
+ LAnd(LEqual(arg4, 1), LAnd(LEqual(arg2, c016), LNotEqual(arg3, c008))))) {
+ if (X170) {
+ if (LNot(CH06(arg0, 80, 0xff))) {
+ if (STCS) {m000(2, 0x100, arg2, arg3)}
+ }
+ } else {
+ CH03(arg0, z122, 80, arg3, arg2)
+ }
+ } else {
+ if (LNot(CH06(arg0, 80, 0xff))) {
+ if (STCS) {m000(2, 0x100, arg2, arg3)}
+ }
+ }
+ } elseif (CH03(arg0, z122, 81, arg3, arg2)) {
+ // Storing caused unexpected exception
+ if (STCS) {m000(2, 0x100, arg2, arg3)}
+ } else {
+ // Check Target Object to have the expected type and value
+
+ // Target accept type on storing to read-only ArgX is 1
+ Store(1, Local0)
+
+ m006(Concatenate(arg0, "-m006"), Local1, arg2, Local5, arg4, Local0, arg6)
+ }
+
+ // Check Source Object value and type is not corrupted after storing
+ Store(Index(arg6, 2), Local7)
+ if (m005(Concatenate(arg0, "-m005"), arg3, Local6, Local7)) {
+ if (STCS) {
+ Store("m00c, Source Object has been corrupted during storing", Debug)
+ }
+ Return (1)
+ }
+
+ // Check auxiliary Target Object to have the initial type and value
+ Store(Index(Derefof(Index(arg6, 3)), arg2), Local7)
+ if (m016(Concatenate(arg0, "-m016"), arg2, 0, Local7)) {
+ if (STCS) {
+ Store("m00c, auxiliary Target Object has been corrupted during storing", Debug)
+ }
+ Return (1)
+ }
+
+ // Update Target Object
+ if (m007(Concatenate(arg0, "-m007"), Local1)) {
+ if (STCS) {
+ Store("m00c, Error during update of Target", Debug)
+ }
+ Return (1)
+ }
+
+ // Check Source Object value and type is not corrupted after updating the copy
+ Store(Index(arg6, 2), Local7)
+ if (m005(Concatenate(arg0, "-m005"), arg3, Local6, Local7)) {
+ if (STCS) {
+ Store("m00c, Source Object has been corrupted during update of Target", Debug)
+ }
+ }
+
+ // Check auxiliary Target Object to have the initial type and value
+ Store(Index(Derefof(Index(arg6, 3)), arg2), Local7)
+ if (m016(Concatenate(arg0, "-m016"), arg2, 0, Local7)) {
+ if (STCS) {
+ Store("m00c, auxiliary Target Object has been corrupted during update of Target", Debug)
+ }
+ Return (1)
+ }
+
+ Return (0)
+ }
+
+ // Target Named Object
+ Name(DST0, 0)
+
+ Concatenate(arg0, "-", arg0)
+ Concatenate(arg0, Concatenate(Mid(arg4,0,2), Concatenate(Mid(arg2,0,2), Mid(arg3,0,2))), arg0)
+ if (STCS) {Store(arg0, Debug)}
+
+ // Prepare Target of specified type
+ Store(Index(Derefof(Index(arg6, 3)), arg2), Local7)
+ if (LEqual(arg2, 5)) { // Field Unit Target
+ Field(OPR0, ByteAcc, NoLock, Preserve) {FLUX, 192, FLU1, 69}
+ Store(Refof(FLU1), Local1)
+ Store(Derefof(Local7), FLU1)
+ } elseif (LEqual(arg2, 14)) { // Buffer Field Target
+ Createfield(BUFZ, 192, 69, BFL1)
+ Store(Refof(BFL1), Local1)
+ Store(Derefof(Local7), BFL1)
+ } else {
+ Store(Refof(DST0), Local1)
+ }
+ if (m003(Concatenate(arg0, "-m003"), arg2, Local1, Local7)) {
+ // Target Object can not be prepared
+ err(Concatenate(arg0, terr), z122, 82, 0, 0, arg2, 0)
+ Return (1)
+ }
+
+ if (CH03(arg0, z122, 83, arg3, arg2)) {
+ // Unexpected exception during preparation
+ Return (1)
+ }
+
+ // Use the Target Object to be the ArgX Object
+ if (m10c(Concatenate(arg0, "-m10c"), DST0, arg2, arg3, arg4, arg5, arg6)) {
+ if (STCS) {
+ Store("m00c, error on using the Target Object as the ArgX Object", Debug)
+ }
+ Return (1)
+ }
+
+ if (arg5) {
+ // Exception is expected
+ Return (0)
+ }
+
+ // Check Target Object to be saving the initial type and value
+ Store(Index(Derefof(Index(arg6, 3)), arg2), Local7)
+ if (m015(Concatenate(arg0, "-m015"), arg2, Local1, Local7)) {
+ if (STCS) {
+ Store("m00c, Target Object has been corrupted during storing to ArgX", Debug)
+ }
+ Return (1)
+ }
+
+ Return (0)
+ }
+
+ // Check processing of an Source Named Object of the specified type
+ // on immediate storing to an argument of Method passed to as reference
+ // to the Named Object of another specified type
+ // m00d(<msg>, <aux>, <target type>, <source type>,
+ // <op>, <exc. condition>, <test data package>)
+ Method(m00d, 7)
+ {
+ Method(m10d, 7)
+ {
+ // Source Named Object
+ Name(SRC0, 0)
+ // Target Named Object: ARG1
+
+ // Choose expected Result Object type
+// if (LAnd(LEqual(arg4, 0), LEqual(arg3, 8))) {
+ if (LEqual(arg3, 8)) {
+ // Method expected to be invoked and result in String
+ Store(2, Local5)
+ } else {
+ Store(arg3, Local5)
+ }
+
+ // Prepare Source of specified type
+ Store(Index(arg6, 2), Local7)
+ if (LEqual(arg3, 5)) { // Field Unit Source
+ Store(Derefof(Index(Derefof(Local7), 0)), Local0)
+ if (LEqual(Local0, 0)) {
+ Store(Refof(FLU0), Local6)
+ Store(3, Local5)
+ } elseif (LEqual(Local0, 1)) {
+ Store(Refof(FLU2), Local6)
+ if (F64) {
+ Store(1, Local5)
+ } else {
+ Store(3, Local5)
+ }
+ } else {
+ Store(Refof(FLU4), Local6)
+ Store(1, Local5)
+ }
+ } elseif (LEqual(arg3, 14)) { // Buffer Field Source
+ Store(Derefof(Index(Derefof(Local7), 0)), Local0)
+ if (LEqual(Local0, 0)) {
+ Store(Refof(BFL0), Local6)
+ Store(3, Local5)
+ } elseif (LEqual(Local0, 1)) {
+ Store(Refof(BFL2), Local6)
+ if (F64) {
+ Store(1, Local5)
+ } else {
+ Store(3, Local5)
+ }
+ } else {
+ Store(Refof(BFL4), Local6)
+ Store(1, Local5)
+ }
+ } else {
+ Store(Refof(SRC0), Local6)
+ }
+ if (m004(Concatenate(arg0, "-m004"), arg3, Local6, Local7)) {
+ // Source Object can not be prepared
+ err(Concatenate(arg0, terr), z122, 84, 0, 0, arg3, 0)
+ Return (1)
+ }
+
+ if (CH03(arg0, z122, 85, arg3, arg2)) {
+ // Unexpected exception during preparation
+ Return (1)
+ }
+
+ // Use a Source Object to immediately store into the Target
+ Store(Index(arg6, 2), Local7)
+ if (LEqual(arg4, 0)) { // Store
+ if (LEqual(arg3, 5)) { // Field Unit Source
+ Store(Derefof(Index(Derefof(Local7), 0)), Local0)
+ if (LEqual(Local0, 0)) {
+ Store(FLU0, ARG1)
+ } elseif (LEqual(Local0, 1)) {
+ Store(FLU2, ARG1)
+ } else {
+ Store(FLU4, ARG1)
+ }
+ } elseif (LEqual(arg3, 14)) { // Buffer Field Source
+ Store(Derefof(Index(Derefof(Local7), 0)), Local0)
+ if (LEqual(Local0, 0)) {
+ Store(BFL0, ARG1)
+ } elseif (LEqual(Local0, 1)) {
+ Store(BFL2, ARG1)
+ } else {
+ Store(BFL4, ARG1)
+ }
+ } else {
+ Store(SRC0, ARG1)
+ }
+
+ } elseif (LEqual(arg4, 1)) { // CopyObject
+ if (LEqual(arg3, 5)) { // Field Unit Source
+ Store(Derefof(Index(Derefof(Local7), 0)), Local0)
+ if (LEqual(Local0, 0)) {
+ CopyObject(FLU0, ARG1)
+ } elseif (LEqual(Local0, 1)) {
+ CopyObject(FLU2, ARG1)
+ } else {
+ CopyObject(FLU4, ARG1)
+ }
+ } elseif (LEqual(arg3, 14)) { // Buffer Field Source
+ Store(Derefof(Index(Derefof(Local7), 0)), Local0)
+ if (LEqual(Local0, 0)) {
+ CopyObject(BFL0, ARG1)
+ } elseif (LEqual(Local0, 1)) {
+ CopyObject(BFL2, ARG1)
+ } else {
+ CopyObject(BFL4, ARG1)
+ }
+ } else {
+ CopyObject(SRC0, ARG1)
+ }
+
+ } else {
+ // Unexpected Kind of Op (0 - Store, ...)
+ err(Concatenate(arg0, terr), z122, 86, 0, 0, arg4, 0)
+ Return (1)
+ }
+
+ if (arg5) {
+ // Exception is expected
+ if (LAnd(LEqual(arg4, 1), LEqual(arg2, c016))) {
+ if (X170) {
+ if (LNot(CH06(arg0, 87, 0xff))) {
+ if (STCS) {m000(2, 0x100, arg2, arg3)}
+ }
+ } else {
+ CH03(arg0, z122, 87, arg3, arg2)
+ }
+ } else {
+ if (LNot(CH06(arg0, 87, 0xff))) {
+ if (STCS) {m000(2, 0x100, arg2, arg3)}
+ }
+ }
+ } elseif (CH03(arg0, z122, 88, arg3, arg2)) {
+ // Storing caused unexpected exception
+ if (STCS) {m000(2, 0x100, arg2, arg3)}
+ } else {
+ // Check Target Object to have the expected type and value
+
+ // Target accept type on storing to ArgX containing reference is 1
+ // (besides Store() to fixed types)
+ if (LAnd(LEqual(arg4, 0), Derefof(Index(b678, arg2)))) {
+ Store(0, Local0)
+ } else {
+ Store(1, Local0)
+ }
+
+ m006(Concatenate(arg0, "-m006"), ARG1, arg2, Local5, arg4, Local0, arg6)
+ }
+
+ // Check Source Object value and type is not corrupted after storing
+ Store(Index(arg6, 2), Local7)
+ if (m005(Concatenate(arg0, "-m005"), arg3, Local6, Local7)) {
+ if (STCS) {
+ Store("m00d, Source Object has been corrupted during storing", Debug)
+ }
+ Return (1)
+ }
+
+ // Check auxiliary Target Object to have the initial type and value
+ Store(Index(Derefof(Index(arg6, 3)), arg2), Local7)
+ if (m016(Concatenate(arg0, "-m016"), arg2, 0, Local7)) {
+ if (STCS) {
+ Store("m00d, auxiliary Target Object has been corrupted during storing", Debug)
+ }
+ Return (1)
+ }
+
+ // Update Target Object
+ if (m007(Concatenate(arg0, "-m007"), ARG1)) {
+ if (STCS) {
+ Store("m00d, Error during update of Target", Debug)
+ }
+ Return (1)
+ }
+
+ // Check Source Object value and type is not corrupted after updating the copy
+ Store(Index(arg6, 2), Local7)
+ if (m005(Concatenate(arg0, "-m005"), arg3, Local6, Local7)) {
+ if (STCS) {
+ Store("m00d, Source Object has been corrupted during update of Target", Debug)
+ }
+ }
+
+ // Check auxiliary Target Object to have the initial type and value
+ Store(Index(Derefof(Index(arg6, 3)), arg2), Local7)
+ if (m016(Concatenate(arg0, "-m016"), arg2, 0, Local7)) {
+ if (STCS) {
+ Store("m00d, auxiliary Target Object has been corrupted during update of Target", Debug)
+ }
+ Return (1)
+ }
+
+ Return (0)
+ }
+
+ // Target Named Object
+ Name(DST0, 0)
+
+ Concatenate(arg0, "-", arg0)
+ Concatenate(arg0, Concatenate(Mid(arg4,0,2), Concatenate(Mid(arg2,0,2), Mid(arg3,0,2))), arg0)
+ if (STCS) {Store(arg0, Debug)}
+
+ // Prepare Target of specified type
+ Store(Index(Derefof(Index(arg6, 3)), arg2), Local7)
+ if (LEqual(arg2, 5)) { // Field Unit Target
+ Field(OPR0, ByteAcc, NoLock, Preserve) {FLUX, 192, FLU1, 69}
+ Store(Refof(FLU1), Local1)
+ Store(Derefof(Local7), FLU1)
+ } elseif (LEqual(arg2, 14)) { // Buffer Field Target
+ Createfield(BUFZ, 192, 69, BFL1)
+ Store(Refof(BFL1), Local1)
+ Store(Derefof(Local7), BFL1)
+ } else {
+ Store(Refof(DST0), Local1)
+ }
+ if (m003(Concatenate(arg0, "-m003"), arg2, Local1, Local7)) {
+ // Target Object can not be prepared
+ err(Concatenate(arg0, terr), z122, 89, 0, 0, arg2, 0)
+ Return (1)
+ }
+
+ if (CH03(arg0, z122, 90, arg3, arg2)) {
+ // Unexpected exception during preparation
+ Return (1)
+ }
+
+ // Use the reference to Target Object to be the ArgX Object
+ if (m10d(Concatenate(arg0, "-m10d"), Refof(DST0), arg2, arg3, arg4, arg5, arg6)) {
+ if (STCS) {
+ Store("m00d, error on using the Target Object as the ArgX Object", Debug)
+ }
+ Return (1)
+ }
+
+ Return (0)
+ }
+
+ // Check processing of an Source LocalX Object of the specified type
+ // on immediate storing to an Element of Package of the specified type
+ // m00e(<msg>, <aux>, <target type>, <source type>,
+ // <op>, <exc. condition>, <test data package>)
+ Method(m00e, 7)
+ {
+ // Source LocalX Object: Local1
+ // Target Package
+ Name(DST0, Package(1){})
+
+ Concatenate(arg0, "-", arg0)
+ Concatenate(arg0, Concatenate(Mid(arg4,0,2), Concatenate(Mid(arg2,0,2), Mid(arg3,0,2))), arg0)
+ if (STCS) {Store(arg0, Debug)}
+
+ // Prepare Source of specified type
+ Store(Index(arg6, 2), Local7)
+ if (m004(Concatenate(arg0, "-m004"), arg3, Refof(Local1), Local7)) {
+ // Source Object can not be prepared
+ err(Concatenate(arg0, terr), z122, 91, 0, 0, arg3, 0)
+ Return (1)
+ }
+
+ // Prepare Target of specified type
+ Index(DST0, 0, Local4)
+ Store(Index(Derefof(Index(arg6, 3)), arg2), Local7)
+ if (m013(Concatenate(arg0, "-m003"), arg2, DST0, Local7)) {
+ // Target Object can not be prepared
+ err(Concatenate(arg0, terr), z122, 92, 0, 0, arg2, 0)
+ Return (1)
+ }
+
+ if (CH03(arg0, z122, 93, arg3, arg2)) {
+ // Unexpected exception during preparation
+ Return (1)
+ }
+
+ // Check Target Object to have the initial type and value
+ if (m015(Concatenate(arg0, "-m015"), arg2, Local4, Local7)) {
+ // Target Object can not be prepared
+ err(Concatenate(arg0, terr), z122, 94, 0, 0, arg2, 0)
+ Return (1)
+ }
+
+ // Use a Source Object to immediately store into the Target
+ if (LEqual(arg4, 0)) { // Store
+ Store(Local1, Index(DST0, 0))
+ //} elseif (LEqual(arg4, 1)) { // CopyObject
+ // CopyObject(Local1, Index(DST0, 0))
+ } else {
+ // Unexpected Kind of Op (0 - Store, ...)
+ err(Concatenate(arg0, terr), z122, 95, 0, 0, arg4, 0)
+ Return (1)
+ }
+
+ if (arg5) {
+ // Exception is expected
+ if (LNot(CH06(arg0, 96, 0xff))) {
+ if (STCS) {m000(2, 0x100, arg2, arg3)}
+ }
+ } elseif (CH03(arg0, z122, 97, arg3, arg2)) {
+ // Storing caused unexpected exception
+ if (STCS) {m000(2, 0x100, arg2, arg3)}
+ } else {
+ // Check Target Object to have the expected type and value
+
+ // Target accept type on storing to an Element of Package is 1
+ Store(1, Local0)
+
+ m006(Concatenate(arg0, "-m006"), Local4, arg2, arg3, arg4, Local0, arg6)
+ }
+
+ // Check Source Object value and type is not corrupted after storing
+ Store(Index(arg6, 2), Local7)
+ if (m005(Concatenate(arg0, "-m005"), arg3, Refof(Local1), Local7)) {
+ if (STCS) {
+ Store("m00e, Source Object has been corrupted during storing", Debug)
+ }
+ }
+
+ // Check auxiliary Target Object to have the initial type and value
+ Store(Index(Derefof(Index(arg6, 3)), arg2), Local7)
+ if (m016(Concatenate(arg0, "-m016"), arg2, 0, Local7)) {
+ if (STCS) {
+ Store("m00e, auxiliary Target Object has been corrupted during storing", Debug)
+ }
+ Return (1)
+ }
+
+ // Update Target Object
+ if (m017(Concatenate(arg0, "-m007"), DST0)) {
+ if (STCS) {
+ Store("m00e, Error during update of Target", Debug)
+ }
+ Return (1)
+ }
+
+ // Check Source Object value and type is not corrupted after updating the copy
+ Store(Index(arg6, 2), Local7)
+ if (m005(Concatenate(arg0, "-m005"), arg3, Refof(Local1), Local7)) {
+ if (STCS) {
+ Store("m00e, Source Object has been corrupted during update of Target", Debug)
+ }
+ }
+
+ // Check auxiliary Target Object to have the initial type and value
+ Store(Index(Derefof(Index(arg6, 3)), arg2), Local7)
+ if (m016(Concatenate(arg0, "-m016"), arg2, 0, Local7)) {
+ if (STCS) {
+ Store("m00e, auxiliary Target Object has been corrupted during update of Target", Debug)
+ }
+ Return (1)
+ }
+
+ Return (0)
+ }
+
+ // Prepare Target as Package Element of specified type
+ Method(m013, 4)
+ {
+ Switch(arg1) {
+ Case(0) { // Only check
+ }
+ Case(1) {
+ CopyObject(Derefof(arg3), INT1)
+ Store(INT1, Index(arg2, 0))
+ }
+ Case(2) {
+ CopyObject(Derefof(arg3), STR1)
+ Store(STR1, Index(arg2, 0))
+ }
+ Case(3) {
+ if (y136) {
+ CopyObject(Derefof(arg3), BUF1)
+ } else {
+ m687(Derefof(arg3), Refof(BUF1))
+ }
+ Store(BUF1, Index(arg2, 0))
+ }
+ Case(4) {
+ CopyObject(Derefof(arg3), PAC1)
+ Store(PAC1, Index(arg2, 0))
+ }
+ Case(17) {
+ CopyObject(Refof(ORF1), REF1)
+ if (y522) {
+ Store(REF1, Index(arg2, 0))
+ } else {
+ Store(DeRefof(REF1), Index(arg2, 0))
+ }
+ }
+ Default {
+ // Unexpected Target Type
+ err(Concatenate(arg0, terr), z122, 98, 0, 0, arg1, 0)
+ Return (1)
+ }
+ }
+ if (CH03(arg0, z122, 99, arg1, 0)) {
+ //Exception during preparing of Target Object
+ Return (1)
+ }
+
+ if (LEqual(arg1, 17)) {
+ // Reference
+ Return (0)
+ }
+
+ Store(ObjectType(Index(arg2, 0)), Local0)
+ if (LNotEqual(Local0, arg1)) {
+ // ObjectType of Target can not be set up
+ err(arg0, z122, 100, 0, 0, Local0, arg1)
+ Return (1)
+ }
+
+ Return (0)
+ }
+
+ // Check Target Object type is not corrupted after storing,
+ // for the computational data types verify its value against
+ // the Object-initializer value
+ Method(m015, 4)
+ {
+ Name(MMM2, 0) // An auxiliary Object to invoke Method
+
+ if (LEqual(arg1, 17)) {
+ // Target object is a reference
+ // Check that it can be used as reference
+ Store(Derefof(arg2), Local0)
+ Derefof(Local0)
+ if (CH03(arg0, z122, 101, arg1, Local0)) {
+ // Derefof caused unexpected exception
+ Return (1)
+ }
+ } else {
+ Store(ObjectType(arg2), Local0)
+ if (LNotEqual(Local0, arg1)) {
+ // ObjectType of Target object is corrupted
+ err(arg0, z122, 102, 0, 0, Local0, arg1)
+ Return (1)
+ }
+ }
+
+ Switch(arg1) {
+ Case(0) {
+ Return (0)
+ }
+ Case(1) {
+ Store(ObjectType(INT1), Local0)
+ }
+ Case(2) {
+ Store(ObjectType(STR1), Local0)
+ }
+ Case(3) {
+ Store(ObjectType(BUF1), Local0)
+ }
+ Case(4) {
+ Store(ObjectType(PAC1), Local0)
+ }
+ Case(5) {
+ Store(5, Local0)
+ }
+ Case(6) {
+ Store(ObjectType(DEV1), Local0)
+ }
+ Case(7) {
+ Store(ObjectType(EVE1), Local0)
+ }
+ Case(8) {
+ Store(ObjectType(MMM1), Local0)
+ }
+ Case(9) {
+ Store(ObjectType(MTX1), Local0)
+ }
+ Case(10) {
+ Store(ObjectType(OPR1), Local0)
+ }
+ Case(11) {
+ Store(ObjectType(PWR1), Local0)
+ }
+ Case(12) {
+ Store(ObjectType(CPU1), Local0)
+ }
+ Case(13) {
+ Store(ObjectType(TZN1), Local0)
+ }
+ Case(14) {
+ Store(14, Local0)
+ }
+ Case(17) {
+ Derefof(REF1)
+ if (CH03(arg0, z122, 103, arg1, Local0)) {
+ // Derefof caused unexpected exception
+ Return (1)
+ }
+ Return (0)
+ }
+ Default {
+ // Unexpected Result Type
+ err(arg0, z122, 104, 0, 0, arg1, 0)
+ Return (1)
+ }
+ }
+
+ if (LNotEqual(Local0, arg1)) {
+ // Mismatch of Target Type against the specified one
+ err(arg0, z122, 105, 0, 0, Local0, arg1)
+
+ if (STCS) {m000(3, 0x1000000, Local0, arg1)}
+
+ Return (1)
+ } else {
+ // Check equality of the Source value to the Object-initializer one
+ Switch(arg1) {
+ Case(1) {
+ if (LNotEqual(INT1, Derefof(arg3))) {
+ err(arg0, z122, 106, 0, 0, INT1, Derefof(arg3))
+ Return (1)
+ }
+ if (LNotEqual(Derefof(arg2), INT1)) {
+ err(arg0, z122, 107, 0, 0, Derefof(arg2), INT1)
+ Return (1)
+ }
+ }
+ Case(2) {
+ if (LNotEqual(STR1, Derefof(arg3))) {
+ err(arg0, z122, 108, 0, 0, STR1, Derefof(arg3))
+ Return (1)
+ }
+ if (LNotEqual(Derefof(arg2), STR1)) {
+ err(arg0, z122, 109, 0, 0, Derefof(arg2), STR1)
+ Return (1)
+ }
+ }
+ Case(3) {
+ if (LNotEqual(BUF1, Derefof(arg3))) {
+ err(arg0, z122, 110, 0, 0, BUF1, Derefof(arg3))
+ Return (1)
+ }
+ if (LNotEqual(Derefof(arg2), BUF1)) {
+ err(arg0, z122, 111, 0, 0, Derefof(arg2), BUF1)
+ Return (1)
+ }
+ }
+ Case(4) {
+
+ Store(Sizeof(PAC1), Local0)
+ if (LNotEqual(Sizeof(arg3), Local0)) {
+ err(arg0, z122, 112, 0, 0, Sizeof(arg3), Local0)
+ Return (1)
+ }
+ While (Local0) {
+ Decrement(Local0)
+ Store(ObjectType(Derefof(Index(Derefof(arg3), Local0))), Local1)
+ Store(ObjectType(Derefof(Index(PAC1, Local0))), Local2)
+ if (LNotEqual(Local1, Local2)) {
+ // ObjectType is corrupted
+ err(arg0, z122, 113, 0, 0, Local1, Local2)
+ Return (1)
+ } elseif (Derefof(Index(b679, Local1))) {
+ // the computational data type
+ if (LNotEqual(
+ Derefof(Index(Derefof(arg3), Local0)),
+ Derefof(Index(PAC1, Local0)))) {
+ // The value is corrupted
+ err(arg0, z122, 114, 0, 0, Derefof(Index(Derefof(arg3), Local0)), Local0)
+ Return (1)
+ }
+ }
+ }
+
+ Store(Sizeof(PAC1), Local0)
+ if (LNotEqual(Sizeof(arg2), Local0)) {
+ err(arg0, z122, 115, 0, 0, Sizeof(arg2), Local0)
+ Return (1)
+ }
+ While (Local0) {
+ Decrement(Local0)
+ Store(ObjectType(Derefof(Index(Derefof(arg2), Local0))), Local1)
+ Store(ObjectType(Derefof(Index(PAC1, Local0))), Local2)
+ if (LNotEqual(Local1, Local2)) {
+ // ObjectType is corrupted
+ err(arg0, z122, 116, 0, 0, Local1, Local2)
+ Return (1)
+ } elseif (Derefof(Index(b679, Local1))) {
+ // the computational data type
+ if (LNotEqual(
+ Derefof(Index(Derefof(arg2), Local0)),
+ Derefof(Index(PAC1, Local0)))) {
+ // The value is corrupted
+ err(arg0, z122, 117, 0, 0, Derefof(Index(Derefof(arg2), Local0)), Local0)
+ Return (1)
+ }
+ }
+ }
+ }
+ Case(5) {
+ if (LNotEqual(Derefof(arg2), Derefof(arg3))) {
+ err(arg0, z122, 118, 0, 0, Derefof(arg2), Derefof(arg3))
+ Return (1)
+ }
+ }
+ Case(8) {
+ CopyObject(Derefof(arg2), MMM2)
+ if (LNotEqual(MMM2, MMM1)) {
+ err(arg0, z122, 119, 0, 0, MMM2, MMM1)
+ Return (1)
+ }
+ }
+ Case(14) {
+ if (LNotEqual(Derefof(arg2), Derefof(arg3))) {
+ err(arg0, z122, 120, 0, 0, Derefof(arg2), Derefof(arg3))
+ Return (1)
+ }
+ }
+ }
+ }
+ Return (0)
+ }
+
+ // Check auxiliary Target Named Object type is not corrupted,
+ // for the computational data types verify its value against
+ // the Object-initializer value
+ Method(m016, 4)
+ {
+ Switch(arg1) {
+ Case(0) {
+ Return (0)
+ }
+ Case(1) {
+ Store(ObjectType(INT1), Local0)
+ }
+ Case(2) {
+ Store(ObjectType(STR1), Local0)
+ }
+ Case(3) {
+ Store(ObjectType(BUF1), Local0)
+ }
+ Case(4) {
+ Store(ObjectType(PAC1), Local0)
+ }
+ Case(5) {
+ Store(5, Local0)
+ }
+ Case(6) {
+ Store(ObjectType(DEV1), Local0)
+ }
+ Case(7) {
+ Store(ObjectType(EVE1), Local0)
+ }
+ Case(8) {
+ Store(ObjectType(MMM1), Local0)
+ }
+ Case(9) {
+ Store(ObjectType(MTX1), Local0)
+ }
+ Case(10) {
+ Store(ObjectType(OPR1), Local0)
+ }
+ Case(11) {
+ Store(ObjectType(PWR1), Local0)
+ }
+ Case(12) {
+ Store(ObjectType(CPU1), Local0)
+ }
+ Case(13) {
+ Store(ObjectType(TZN1), Local0)
+ }
+ Case(14) {
+ Store(14, Local0)
+ }
+ Case(17) {
+ Derefof(REF1)
+ if (CH03(arg0, z122, 121, arg1, 0)) {
+ // Derefof caused unexpected exception
+ Return (1)
+ }
+ Return (0)
+ }
+ Default {
+ // Unexpected Result Type
+ err(arg0, z122, 122, 0, 0, arg1, 0)
+ Return (1)
+ }
+ }
+
+ if (LNotEqual(Local0, arg1)) {
+ // Mismatch of Target Type against the specified one
+ err(arg0, z122, 123, 0, 0, Local0, arg1)
+
+ if (STCS) {m000(3, 0x1000000, Local0, arg1)}
+
+ Return (1)
+ } else {
+ // Check equality of the Source value to the Object-initializer one
+ Switch(arg1) {
+ Case(1) {
+ if (LNotEqual(INT1, Derefof(arg3))) {
+ err(arg0, z122, 124, 0, 0, INT1, Derefof(arg3))
+ Return (1)
+ }
+ }
+ Case(2) {
+ if (LNotEqual(STR1, Derefof(arg3))) {
+ err(arg0, z122, 125, 0, 0, STR1, Derefof(arg3))
+ Return (1)
+ }
+ }
+ Case(3) {
+ if (LNotEqual(BUF1, Derefof(arg3))) {
+ err(arg0, z122, 126, 0, 0, BUF1, Derefof(arg3))
+ Return (1)
+ }
+ }
+ Case(4) {
+
+ Store(Sizeof(PAC1), Local0)
+ if (LNotEqual(Sizeof(arg3), Local0)) {
+ err(arg0, z122, 127, 0, 0, Sizeof(arg3), Local0)
+ Return (1)
+ }
+ While (Local0) {
+ Decrement(Local0)
+ Store(ObjectType(Derefof(Index(Derefof(arg3), Local0))), Local1)
+ Store(ObjectType(Derefof(Index(PAC1, Local0))), Local2)
+ if (LNotEqual(Local1, Local2)) {
+ // ObjectType is corrupted
+ err(arg0, z122, 128, 0, 0, Local1, Local2)
+ Return (1)
+ } elseif (Derefof(Index(b679, Local1))) {
+ // the computational data type
+ if (LNotEqual(
+ Derefof(Index(Derefof(arg3), Local0)),
+ Derefof(Index(PAC1, Local0)))) {
+ // The value is corrupted
+ err(arg0, z122, 129, 0, 0, Derefof(Index(Derefof(arg3), Local0)), Local0)
+ Return (1)
+ }
+ }
+ }
+ }
+ }
+ }
+ Return (0)
+ }
+
+ // Update the first element of specified Package
+ // m017(<msg>, <Package>)
+ Method(m017, 2)
+ {
+ Store(ObjectType(Index(arg1, 0)), Local0)
+
+ if (Derefof(Index(b66f, Local0))) {
+ // Can be used in Index Operator
+ Store(Sizeof(Index(arg1, 0)), Local1)
+ if (Local1) {
+ // Update the last Member Object
+ Decrement(Local1)
+ Index(Derefof(Index(arg1, 0)), Local1, Local2)
+ Store(Refof(Local2), Local3)
+ Store(Derefof(Local2), Local4)
+ if (LEqual(ObjectType(Local4), 1)) {
+ // Integer
+ Store(Not(Local4), Derefof(Local3))
+ } else {
+ Store(Ones, Derefof(Local3))
+ if (CH03(arg0, z122, 130, Local1, Index(arg1, 0))) {
+ // Store caused unexpected exception
+ Return (1)
+ }
+ }
+ if (Local1) {
+ // Update the First Member Object
+ Index(Derefof(Index(arg1, 0)), 0, Local2)
+ Store(Derefof(Local2), Local4)
+ if (LEqual(ObjectType(Local4), 1)) {
+ // Integer
+ Store(Not(Local4), Derefof(Local3))
+ } else {
+ Store(Ones, Derefof(Local3))
+ if (CH03(arg0, z122, 131, Local1, Index(arg1, 0))) {
+ // Store caused unexpected exception
+ Return (1)
+ }
+ }
+ }
+ } elseif (LEqual(Local0, 4)) {
+ // Empty Package
+ Store(Package(1){"update string"}, Index(arg1, 0))
+ } else {
+ // Empty String/Buffer
+ Store("update string", Index(arg1, 0))
+ }
+ } elseif (Derefof(Index(b674, Local0))) {
+ // Non-Computational Data Objects
+ Store("update string", Index(arg1, 0))
+ } else {
+ Store(Not(ToInteger(Derefof(Index(arg1, 0)))), Index(arg1, 0))
+ }
+
+ if (CH03(arg0, z122, 132, Local0, Index(arg1, 0))) {
+ // Update caused unexpected exception
+ Return (1)
+ }
+
+ Return (0)
+ }
+
+ // Test data packages for each type of the Result Object
+
+ // Empty Package
+ Name(p000, Package(18){})
+
+ // Target Objects initial values for common use
+ Name(p001, Package(18) {
+ 0,
+ 0xfedcba9876543211,
+ "target string",
+ Buffer(17){0xc3,0xc4,0xc5,0x00,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xc0,0xc1,0xc2,},
+ Package(2) {
+ "target package",
+ 0xfedcba9876543210,
+ },
+ Buffer(9){0x9a,0x8a,0x7a,0x6a,0x5a,0x4a,0x3a,0x2a,0x1a,},
+ 0, 0,
+ Package() {MMMY, "ff0Y"},
+ 0, 0, 0, 0, 0,
+ Buffer(9){0x9a,0x8a,0x7a,0x6a,0x5a,0x4a,0x3a,0x2a,0x1a,},
+ 0, 0, 0,})
+
+ // Uninitialized
+
+ Name(p002, Package() {
+ // Type of the Result(Source) Object
+ 0,
+ // Number of different initial values
+ 1,
+ // SRC0 initial value
+ 0,
+ // Target Objects initial values
+ p001,
+ // Benchmark Result object value
+ 0,
+ // Benchmark Result object converted to Target type values
+ p000,
+ })
+
+ // Integer
+
+ Name(p132, Package() {
+ // Type of the Result(Source) Object
+ 1,
+ // Number of different initial values
+ 1,
+ // SRC0 initial value
+ 0xfedcba9876543210,
+ // Target Objects initial values
+ p001,
+ // Benchmark Result object value
+ 0xfedcba9876543210,
+ // Benchmark Result object converted to Target type values
+ Package(18) {
+ 0,
+ 0xfedcba9876543210,
+ "76543210",
+ Buffer(17){0x10, 0x32, 0x54, 0x76,},
+ 0,
+ Buffer(9){0x10, 0x32, 0x54, 0x76,},
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ Buffer(9){0x10, 0x32, 0x54, 0x76,},
+ 0, 0, 0,},
+ })
+
+ Name(p164, Package() {
+ // Type of the Result(Source) Object
+ 1,
+ // Number of different initial values
+ 1,
+ // SRC0 initial value
+ 0xfedcba9876543210,
+ // Target Objects initial values
+ p001,
+ // Benchmark Result object value
+ 0xfedcba9876543210,
+ // Benchmark Result object converted to Target type values
+ Package(18) {
+ 0,
+ 0xfedcba9876543210,
+ "FEDCBA9876543210",
+ Buffer(17){0x10, 0x32, 0x54, 0x76, 0x98, 0xBA, 0xDC, 0xFE,},
+ 0,
+ Buffer(9){0x10, 0x32, 0x54, 0x76, 0x98, 0xBA, 0xDC, 0xFE,},
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ Buffer(9){0x10, 0x32, 0x54, 0x76, 0x98, 0xBA, 0xDC, 0xFE,},
+ 0, 0, 0,},
+ })
+
+ // String
+
+ Name(p201, Package() {
+ // Type of the Result(Source) Object
+ 2,
+ // Number of different initial values
+ 1,
+ // SRC0 initial value
+ "\x01",
+ // Target Objects initial values
+ p001,
+ // Benchmark Result object value
+ "\x01",
+ // Benchmark Result object converted to Target type values
+ Package(18) {
+ 0,
+ 0,
+ "\x01",
+ Buffer(17){1,},
+ 0,
+ Buffer(9){1,},
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ Buffer(9){1,},
+ 0, 0, 0,},
+ })
+
+ Name(p202, Package() {
+ // Type of the Result(Source) Object
+ 2,
+ // Number of different initial values
+ 2,
+ // SRC0 initial value
+ "!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*",
+ // Target Objects initial values
+ p001,
+ // Benchmark Result object value
+ "!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*",
+ // Benchmark Result object converted to Target type values
+ Package(18) {
+ 0,
+ 0,
+ "!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*",
+ Buffer(17){0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,},
+ 0,
+ Buffer(9){0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x09,},
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ Buffer(9){0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x09,},
+ 0, 0, 0,},
+ })
+
+ Name(p232, Package() {
+ // Type of the Result(Source) Object
+ 2,
+ // Number of different initial values
+ 2,
+ Package() {
+ // Type of the Result(Source) Object
+ 3,
+ // Number of different initial values
+ 0,
+ // SRC0 initial value
+ "fedcba98 string",
+ // Target Objects initial values
+ p001,
+ // Benchmark Result object value
+ "fedcba98 string",
+ // Benchmark Result object converted to Target type values
+ Package(18) {
+ 0,
+ 0xfedcba98,
+ "fedcba98 string",
+ Buffer(17){0x66, 0x65, 0x64, 0x63, 0x62, 0x61, 0x39, 0x38, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6E, 0x67,},
+ 0,
+ Buffer(9){0x66, 0x65, 0x64, 0x63, 0x62, 0x61, 0x39, 0x38,},
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ Buffer(9){0x66, 0x65, 0x64, 0x63, 0x62, 0x61, 0x39, 0x38,},
+ 0, 0, 0,},
+ },
+ p201,
+ p202,
+ })
+
+ Name(p264, Package() {
+ // Type of the Result(Source) Object
+ 2,
+ // Number of different initial values
+ 3,
+ Package() {
+ // Type of the Result(Source) Object
+ 2,
+ // Number of different initial values
+ 0,
+ // SRC0 initial value
+ "fedcba9876543210 string",
+ // Target Objects initial values
+ p001,
+ // Benchmark Result object value
+ "fedcba9876543210 string",
+ // Benchmark Result object converted to Target type values
+ Package(18) {
+ 0,
+ 0xfedcba9876543210,
+ "fedcba9876543210 string",
+ Buffer(17){0x66, 0x65, 0x64, 0x63, 0x62, 0x61, 0x39, 0x38, 0x37, 0x36, 0x35, 0x34, 0x33, 0x32, 0x31, 0x30, 0x20,},
+ 0,
+ Buffer(9){0x66, 0x65, 0x64, 0x63, 0x62, 0x61, 0x39, 0x38, 0x17,},
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ Buffer(9){0x66, 0x65, 0x64, 0x63, 0x62, 0x61, 0x39, 0x38, 0x17,},
+ 0, 0, 0,},
+ },
+ p201,
+ p202,
+ })
+
+ // Buffer
+
+ Name(p301, Package() {
+ // Type of the Result(Source) Object
+ 3,
+ // Number of different initial values
+ 1,
+ // SRC0 initial value
+ Buffer(67) {
+ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
+ 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
+ 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
+ 65, 66, 67},
+ // Target Objects initial values
+ p001,
+ // Benchmark Result object value
+ Buffer(67) {
+ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
+ 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
+ 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
+ 65, 66, 67},
+ // Benchmark Result object converted to Target type values
+ Package(18) {
+ 0,
+ 0x0807060504030201,
+ "01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43",
+ Buffer(17) {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,},
+ 0,
+ Buffer(9){1, 2, 3, 4, 5, 6, 7, 8, 9},
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ Buffer(9){1, 2, 3, 4, 5, 6, 7, 8, 9},
+ 0, 0, 0,},
+ })
+
+ Name(p300, Package() {
+ // Type of the Result(Source) Object
+ 3,
+ // Number of different initial values
+ 2,
+ Package() {
+ // Type of the Result(Source) Object
+ 3,
+ // Number of different initial values
+ 0,
+ // SRC0 initial value
+ Buffer(9){0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0x88},
+ // Target Objects initial values
+ p001,
+ // Benchmark Result object value
+ Buffer(9){0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0x88},
+ // Benchmark Result object converted to Target type values
+ Package(18) {
+ 0,
+ 0xf1f2f3f4f5f6f7f8,
+ "F8 F7 F6 F5 F4 F3 F2 F1 88",
+ Buffer(17){0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0x88},
+ 0,
+ Buffer(9){0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0x08},
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ Buffer(9){0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0x08},
+ 0, 0, 0,},
+ },
+ p301,
+ })
+
+ // Package
+
+ Name(p401, Package() {
+ // Type of the Result(Source) Object
+ 4,
+ // Number of different initial values
+ 1,
+ // SRC0 initial value
+ Package(1) {
+ "test p401 package",
+ },
+ // Target Objects initial values
+ p001,
+ // Benchmark Result object value
+ Package(1) {
+ "test p401 package",
+ },
+ // Benchmark Result object converted to Target type values
+ Package(18) {
+ 0, 0, 0, 0,
+ Package(1) {
+ "test p401 package",
+ },
+ 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,
+ 0, 0, 0,},
+ })
+
+ Name(p400, Package() {
+ // Type of the Result(Source) Object
+ 4,
+ // Number of different initial values
+ 2,
+ Package() {
+ // Type of the Result(Source) Object
+ 4,
+ // Number of different initial values
+ 0,
+ // SRC0 initial value
+ Package(3) {
+ 0xfedcba987654321f,
+ "test package",
+ Buffer(9){19,18,17,16,15,14,13,12,11},},
+ // Target Objects initial values
+ p001,
+ // Benchmark Result object value
+ Package(3) {
+ 0xfedcba987654321f,
+ "test package",
+ Buffer(9){19,18,17,16,15,14,13,12,11},},
+ // Benchmark Result object converted to Target type values
+ Package(18) {
+ 0, 0, 0, 0,
+ Package(3) {
+ 0xfedcba987654321f,
+ "test package",
+ Buffer(9){19,18,17,16,15,14,13,12,11},},
+ 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,
+ 0, 0, 0,},
+ },
+ p401,
+ })
+
+ // Field Unit
+
+ Name(p500, Package() {
+ // Type of the Result(Source) Object
+ 5,
+ // Number of different initial values
+ 1,
+ // SRC0 initial value
+ Package(2){0, Buffer(9){0x95,0x85,0x75,0x65,0x55,0x45,0x35,0x25,0x15,}},
+ // Target Objects initial values
+ p001,
+ // Benchmark Result object value
+ Buffer(9){0x95,0x85,0x75,0x65,0x55,0x45,0x35,0x25,0x15,},
+ // Benchmark Result object converted to Target type values
+ Package(18) {
+ 0,
+ 0x2535455565758595,
+ "95 85 75 65 55 45 35 25 15",
+ Buffer(17){0x95,0x85,0x75,0x65,0x55,0x45,0x35,0x25,0x15,},
+ 0,
+ Buffer(9){0x95,0x85,0x75,0x65,0x55,0x45,0x35,0x25,0x15,},
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ Buffer(9){0x95,0x85,0x75,0x65,0x55,0x45,0x35,0x25,0x15,},
+ 0, 0, 0,},
+ })
+
+ // Device
+
+ Name(p600, Package() {
+ // Type of the Result(Source) Object
+ 6,
+ // Number of different initial values
+ 1,
+ // SRC0 initial value
+ ResourceTemplate(){},
+ // Target Objects initial values
+ p001,
+ // Benchmark Result object value
+ 0,
+ // Benchmark Result object converted to Target type values
+ p000,
+ })
+
+ // Event
+
+ Name(p700, Package() {
+ // Type of the Result(Source) Object
+ 7,
+ // Number of different initial values
+ 1,
+ // SRC0 initial value
+ 0,
+ // Target Objects initial values
+ p001,
+ // Benchmark Result object value
+ 0,
+ // Benchmark Result object converted to Target type values
+ p000,
+ })
+
+ // Method
+
+ Name(p800, Package() {
+ // Type of the Result(Source) Object
+ 8,
+ // Number of different initial values
+ 1,
+ // SRC0 initial value
+ Package() {MMMX, "ff0X"},
+ // Target Objects initial values
+ p001,
+ // Benchmark Result object value
+ "ff0X",
+ // Benchmark Result object converted to Target type values
+ Package(18) {
+ 0,
+ 0xff0,
+ "ff0X",
+ Buffer(17){0x66, 0x66, 0x30, 0x58,},
+ 0,
+ Buffer(9){0x66, 0x66, 0x30, 0x58,},
+ 0, 0,
+ "ff0X",
+ 0, 0, 0, 0, 0,
+ Buffer(9){0x66, 0x66, 0x30, 0x58,},
+ 0, 0, 0,},
+ })
+
+ // Mutex
+
+ Name(p900, Package() {
+ // Type of the Result(Source) Object
+ 9,
+ // Number of different initial values
+ 1,
+ // SRC0 initial value
+ 0,
+ // Target Objects initial values
+ p001,
+ // Benchmark Result object value
+ 0,
+ // Benchmark Result object converted to Target type values
+ p000,
+ })
+
+ // Operation Region
+
+ Name(pa00, Package() {
+ // Type of the Result(Source) Object
+ 10,
+ // Number of different initial values
+ 1,
+ // SRC0 initial value
+ 0,
+ // Target Objects initial values
+ p001,
+ // Benchmark Result object value
+ 0,
+ // Benchmark Result object converted to Target type values
+ p000,
+ })
+
+ // Power Resource
+
+ Name(pb00, Package() {
+ // Type of the Result(Source) Object
+ 11,
+ // Number of different initial values
+ 1,
+ // SRC0 initial value
+ 0,
+ // Target Objects initial values
+ p001,
+ // Benchmark Result object value
+ 0,
+ // Benchmark Result object converted to Target type values
+ p000,
+ })
+
+ // Processor
+
+ Name(pc00, Package() {
+ // Type of the Result(Source) Object
+ 12,
+ // Number of different initial values
+ 1,
+ // SRC0 initial value
+ 0,
+ // Target Objects initial values
+ p001,
+ // Benchmark Result object value
+ 0,
+ // Benchmark Result object converted to Target type values
+ p000,
+ })
+
+ // Thermal Zone
+
+ Name(pd00, Package() {
+ // Type of the Result(Source) Object
+ 13,
+ // Number of different initial values
+ 1,
+ // SRC0 initial value
+ 0,
+ // Target Objects initial values
+ p001,
+ // Benchmark Result object value
+ 0,
+ // Benchmark Result object converted to Target type values
+ p000,
+ })
+
+ // Buffer Field
+
+ Name(pe00, Package() {
+ // Type of the Result(Source) Object
+ 14,
+ // Number of different initial values
+ 0,
+ // SRC0 initial value
+ Package(2){0, Buffer(9){0x95,0x85,0x75,0x65,0x55,0x45,0x35,0x25,0x15,}},
+ // Target Objects initial values
+ p001,
+ // Benchmark Result object value
+ Buffer(9){0x95,0x85,0x75,0x65,0x55,0x45,0x35,0x25,0x15,},
+ // Benchmark Result object converted to Target type values
+ Package(18) {
+ 0,
+ 0x2535455565758595,
+ "95 85 75 65 55 45 35 25 15",
+ Buffer(17){0x95,0x85,0x75,0x65,0x55,0x45,0x35,0x25,0x15,},
+ 0,
+ Buffer(9){0x95,0x85,0x75,0x65,0x55,0x45,0x35,0x25,0x15,},
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ Buffer(9){0x95,0x85,0x75,0x65,0x55,0x45,0x35,0x25,0x15,},
+ 0, 0, 0,},
+ })
+
+ Name(pe01, Package() {
+ // Type of the Result(Source) Object
+ 14,
+ // Number of different initial values
+ 1,
+ // SRC0 initial value
+ Package(2){1, Buffer(8){0x95,0x85,0x75,0x65,0x55,0x45,0x35,0x25,}},
+ // Target Objects initial values
+ p001,
+ // Benchmark Result object value
+ Buffer(8){0x95,0x85,0x75,0x65,0x55,0x45,0x35,0x25},
+ // Benchmark Result object converted to Target type values
+ Package(18) {
+ 0,
+ 0x2535455565758595,
+ "95 85 75 65 55 45 35 25",
+ Buffer(17){0x95,0x85,0x75,0x65,0x55,0x45,0x35,0x25,},
+ 0,
+ Buffer(9){0x95,0x85,0x75,0x65,0x55,0x45,0x35,0x25,},
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ Buffer(9){0x95,0x85,0x75,0x65,0x55,0x45,0x35,0x25,},
+ 0, 0, 0,},
+ })
+
+ Name(pe02, Package() {
+ // Type of the Result(Source) Object
+ 14,
+ // Number of different initial values
+ 1,
+ // SRC0 initial value
+ Package(2){1, Buffer(8){0x95,0x85,0x75,0x65,0x55,0x45,0x35,0x25,}},
+ // Target Objects initial values
+ p001,
+ // Benchmark Result object value
+ 0x2535455565758595,
+ // Benchmark Result object converted to Target type values
+ Package(18) {
+ 0,
+ 0x2535455565758595,
+ "2535455565758595",
+ Buffer(17){0x95,0x85,0x75,0x65,0x55,0x45,0x35,0x25,},
+ 0,
+ Buffer(9){0x95,0x85,0x75,0x65,0x55,0x45,0x35,0x25,},
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ Buffer(9){0x95,0x85,0x75,0x65,0x55,0x45,0x35,0x25,},
+ 0, 0, 0,},
+ })
+
+ Name(pe03, Package() {
+ // Type of the Result(Source) Object
+ 14,
+ // Number of different initial values
+ 2,
+ // SRC0 initial value
+ Package(2){2, Buffer(4){0x95,0x85,0x75,0x65,}},
+ // Target Objects initial values
+ p001,
+ // Benchmark Result object value
+ 0x65758595,
+ // Benchmark Result object converted to Target type values
+ Package(18) {
+ 0,
+ 0x65758595,
+ "65758595",
+ Buffer(17){0x95,0x85,0x75,0x65,},
+ 0,
+ Buffer(9){0x95,0x85,0x75,0x65,},
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ Buffer(9){0x95,0x85,0x75,0x65,},
+ 0, 0, 0,},
+ })
+
+ Name(pe04, Package() {
+ // Type of the Result(Source) Object
+ 14,
+ // Number of different initial values
+ 2,
+ // SRC0 initial value
+ Package(2){2, Buffer(4){0x95,0x85,0x75,0x65,}},
+ // Target Objects initial values
+ p001,
+ // Benchmark Result object value
+ 0x65758595,
+ // Benchmark Result object converted to Target type values
+ Package(18) {
+ 0,
+ 0x65758595,
+ "0000000065758595",
+ Buffer(17){0x95,0x85,0x75,0x65,},
+ 0,
+ Buffer(9){0x95,0x85,0x75,0x65,},
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ Buffer(9){0x95,0x85,0x75,0x65,},
+ 0, 0, 0,},
+ })
+
+ Name(pe32, Package() {
+ // Type of the Result(Source) Object
+ 14,
+ // Number of different initial values
+ 3,
+ // Data
+ pe00,
+ pe01,
+ pe03,
+ })
+
+ Name(pe64, Package() {
+ // Type of the Result(Source) Object
+ 14,
+ // Number of different initial values
+ 3,
+ // Data
+ pe00,
+ pe02,
+ pe04,
+ })
+
+ // DDB Handle
+
+ Name(pf00, Package() {
+ // Type of the Result(Source) Object
+ 15,
+ // Number of different initial values
+ 1,
+ // SRC0 initial value
+ 0,
+ // Target Objects initial values
+ p001,
+ // Benchmark Result object value
+ 0,
+ // Benchmark Result object converted to Target type values
+ p000,
+ })
+
+ // Debug
+
+ Name(pg00, Package() {
+ // Type of the Result(Source) Object
+ 16,
+ // Number of different initial values
+ 1,
+ // SRC0 initial value
+ 0,
+ // Target Objects initial values
+ p001,
+ // Benchmark Result object value
+ 0,
+ // Benchmark Result object converted to Target type values
+ p000,
+ })
+
+ // Reference
+
+ Name(ph00, Package() {
+ // Type of the Result(Source) Object
+ 17,
+ // Number of different initial values
+ 1,
+ // SRC0 initial value
+ 0,
+ // Target Objects initial values
+ p001,
+ // Benchmark Result object value
+ 0,
+ // Benchmark Result object converted to Target type values
+ p000,
+ })
+
+ Name(p320, Package(18) {
+ p002, p132, p232, p300, p400, p500, p600, p700, p800, p900,
+ pa00, pb00, pc00, pd00, pe32, pf00, pg00, ph00,})
+ Name(p640, Package(18) {
+ p002, p164, p264, p300, p400, p500, p600, p700, p800, p900,
+ pa00, pb00, pc00, pd00, pe64, pf00, pg00, ph00,})
+
+ // m020(<msg>, <store op>, <exc. conditions>,
+ // <Target scale>, <Result scale>, <kind of Source-Target pair>)
+ Method(m020, 6)
+ {
+ // Initialize statistics
+ m001()
+ Name(scl0, Buffer() {0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0})
+
+ Name(lpN0, 18)
+ Name(lpC0, 0)
+
+ Name(lpN1, 0)
+ Name(lpC1, 0)
+ Name(lpN2, 0)
+ Name(lpC2, 0)
+
+ SRMT(arg0)
+
+ if (LGreater(arg1, 1)) {
+ // Unexpected Kind of Op (0 - Store, ...)
+ err(Concatenate(arg0, terr), z122, 133, 0, 0, arg1, 0)
+ Return (1)
+ }
+
+ if (LGreater(arg5, 6)) {
+ // Unexpected Kind of Source-Target pair
+ err(Concatenate(arg0, terr), z122, 134, 0, 0, arg5, 0)
+ Return (1)
+ }
+
+ // Flags of Store from and to Named to check
+ // exceptional conditions on storing
+ if (arg1) {
+ Store(0, Local0)
+ Store(0, Local1)
+ } else {
+ Store(Lor(LEqual(arg5, 0), LEqual(arg5, 1)), Local0)
+ Store(Lor(Local0, LEqual(arg5, 4)), Local0)
+ Store(Lor(Local0, LEqual(arg5, 5)), Local0)
+ Store(Lor(LEqual(arg5, 0), LEqual(arg5, 2)), Local1)
+ }
+
+ // Enumerate Target types
+ While (lpN0) {
+ if (LAnd(Derefof(Index(b670, lpC0)), Derefof(Index(arg3, lpC0)))) {
+ // Not invalid type of the Target Object to store in
+
+ Store(18, lpN1)
+ Store(0, lpC1)
+
+ // Enumerate Source types
+ While (lpN1) {
+ if (LAnd(Derefof(Index(b671, lpC1)), Derefof(Index(arg4, lpC1)))) {
+ // Not invalid type of the result Object to be stored
+ if (arg2) {
+ // Skip cases without exceptional conditions
+ if (LNot(m685(arg1, lpC0, lpC1, Local0, Local1))) {
+ Decrement(lpN1)
+ Increment(lpC1)
+ Continue
+ }
+ } else {
+ // Skip cases with exceptional conditions
+ if (m685(arg1, lpC0, lpC1, Local0, Local1)) {
+ Decrement(lpN1)
+ Increment(lpC1)
+ Continue
+ }
+ }
+ if (F64) {
+ Store(Derefof(Index(p640, lpC1)), Local2)
+ } else {
+ Store(Derefof(Index(p320, lpC1)), Local2)
+ }
+ Store(Derefof(Index(Local2, 0)), Local3)
+ if (LNotEqual(Local3, lpC1)) {
+ // Unexpected data package
+ err(Concatenate(arg0, terr), z122, 135, 0, 0, arg1, lpC1)
+ Return (1)
+ }
+ Store(Derefof(Index(Local2, 1)), Local3)
+
+ Store(Local3, lpN2)
+ Store(0, lpC2)
+
+ // Enumerate Result values
+ While (lpN2) {
+ if (LGreater(Local3, 1)) {
+ // Complex test data
+ Index(Local2, Add(lpC2, 2), Local4)
+ } else {
+ Store(Refof(Local2), Local4)
+ }
+
+ if (LEqual(arg5, 0)) {
+ // Named-Named
+ m008(Concatenate(arg0, "-m008"), 0, lpC0, lpC1, arg1, arg2, Derefof(Local4))
+ } elseif (LEqual(arg5, 1)) {
+ // Named-LocalX
+ m009(Concatenate(arg0, "-m009"), 0, lpC0, lpC1, arg1, arg2, Derefof(Local4))
+ } elseif (LEqual(arg5, 2)) {
+ // LocalX-Named
+ m00a(Concatenate(arg0, "-m00a"), 0, lpC0, lpC1, arg1, arg2, Derefof(Local4))
+ } elseif (LEqual(arg5, 3)) {
+ // LocalX-LocalX
+ m00b(Concatenate(arg0, "-m00b"), 0, lpC0, lpC1, arg1, arg2, Derefof(Local4))
+ } elseif (LEqual(arg5, 4)) {
+ // Named-ArgX(Named read-only)
+ m00c(Concatenate(arg0, "-m00c"), 0, lpC0, lpC1, arg1, arg2, Derefof(Local4))
+ } elseif (LEqual(arg5, 5)) {
+ // Named-ArgX(Named by reference)
+ if (y900) {
+ if (LAnd(LEqual(lpC1, 4), // Source type is 4
+ // Target type is 1-3
+ Derefof(Index(Buffer() {0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, lpC0)))) {
+ if (y366) {
+ m00d(Concatenate(arg0, "-m00d"), 0, lpC0, lpC1, arg1, arg2, Derefof(Local4))
+ }
+ } else {
+ m00d(Concatenate(arg0, "-m00d"), 0, lpC0, lpC1, arg1, arg2, Derefof(Local4))
+ }
+ } else { // if (y900)
+ if (LAnd(LEqual(lpC1, 4), // Source type is 4
+ // Target type is 1-3
+ Derefof(Index(scl0, lpC0)))) {
+ if (y366) {
+ m00d(Concatenate(arg0, "-m00d"), 0, lpC0, lpC1, arg1, arg2, Derefof(Local4))
+ }
+ } else {
+ m00d(Concatenate(arg0, "-m00d"), 0, lpC0, lpC1, arg1, arg2, Derefof(Local4))
+ }
+ } // if (y900)
+
+ } elseif (LEqual(arg5, 6)) {
+ // LocalX-Element of Package
+ m00e(Concatenate(arg0, "-m00e"), 0, lpC0, lpC1, arg1, arg2, Derefof(Local4))
+ }
+ Decrement(lpN2)
+ Increment(lpC2)
+ }
+ }
+ Decrement(lpN1)
+ Increment(lpC1)
+ }
+ }
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+
+ // Output statistics
+ m002(Concatenate(Derefof(Index(PAC5, arg5)), Derefof(Index(PAC4, arg1))))
+
+ Return (0)
+ }
+
+ Concatenate(arg0, "-m020", arg0)
+
+ // Named-Named
+ m020(Concatenate(arg0, "-NN"), arg1, arg2, b676, b676, 0)
+
+ // Named-LocalX
+ m020(Concatenate(arg0, "-NL"), arg1, arg2, b677, b676, 1)
+
+ // LocalX-Named
+ m020(Concatenate(arg0, "-LN"), arg1, arg2, b676, b677, 2)
+
+ // LocalX-LocalX
+ m020(Concatenate(arg0, "-LL"), arg1, arg2, b677, b677, 3)
+
+ // Named-ArgX(Named read-only)
+ m020(Concatenate(arg0, "-NA-RO"), arg1, arg2, b676, b676, 4)
+
+ // Named-ArgX(Named by reference)
+ m020(Concatenate(arg0, "-NA-REF"), arg1, arg2, b676, b676, 5)
+
+ // LocalX-Element of Package
+ if (LEqual(arg1, 0)) {
+ m020(Concatenate(arg0, "-LP"), arg1, arg2, b67d, b677, 6)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/complex/result/tests/FULL/DECL.asl b/tests/aslts/src/runtime/collections/complex/result/tests/FULL/DECL.asl
new file mode 100644
index 000000000..fa88756cb
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/result/tests/FULL/DECL.asl
@@ -0,0 +1,37 @@
+/*
+ * 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.
+ */
+
+
+Include("../../../../../../runtime/collections/complex/result/tests/rconversion/rconversion.asl")
+Include("../../../../../../runtime/collections/complex/result/tests/rstore/rstore.asl")
+Include("../../../../../../runtime/collections/complex/result/tests/rcopyobject/rcopyobject.asl")
+Include("../../../../../../runtime/collections/complex/result/tests/rindecrement/rindecrement.asl")
+Include("../../../../../../runtime/collections/complex/result/tests/rexplicitconv/rexplicitconv.asl")
+Include("../../../../../../runtime/collections/complex/result/tests/roptional/roptional.asl")
diff --git a/tests/aslts/src/runtime/collections/complex/result/tests/FULL/MAIN.asl b/tests/aslts/src/runtime/collections/complex/result/tests/FULL/MAIN.asl
new file mode 100644
index 000000000..242ce32a4
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/result/tests/FULL/MAIN.asl
@@ -0,0 +1,61 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "result.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../../runtime/cntl/DECL_6UP.asl")
+ Include("../../../../../../runtime/common/operations.asl")
+ Include("../../../../../../runtime/common/conversion/rproc.asl")
+ Include("../../../../../../runtime/common/conversion/rtest.asl")
+ Include("../../../../../../runtime/collections/complex/result/common/rcommon.asl")
+ Include("../../../../../../runtime/collections/complex/result/tests/FULL/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../../runtime/collections/complex/result/tests/FULL/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/complex/result/tests/FULL/RUN.asl b/tests/aslts/src/runtime/collections/complex/result/tests/FULL/RUN.asl
new file mode 100644
index 000000000..db390960a
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/result/tests/FULL/RUN.asl
@@ -0,0 +1,38 @@
+/*
+ * 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.
+ */
+
+Store("COLLECTION: all tests of Result object", Debug)
+
+//Include("../../../../../../runtime/collections/complex/result/tests/rconversion/RUN.asl")
+Include("../../../../../../runtime/collections/complex/result/tests/rstore/RUN.asl")
+Include("../../../../../../runtime/collections/complex/result/tests/rcopyobject/RUN.asl")
+Include("../../../../../../runtime/collections/complex/result/tests/rindecrement/RUN.asl")
+Include("../../../../../../runtime/collections/complex/result/tests/rexplicitconv/RUN.asl")
+Include("../../../../../../runtime/collections/complex/result/tests/roptional/RUN.asl")
diff --git a/tests/aslts/src/runtime/collections/complex/result/tests/Makefile b/tests/aslts/src/runtime/collections/complex/result/tests/Makefile
new file mode 100644
index 000000000..82bcf4505
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/result/tests/Makefile
@@ -0,0 +1,14 @@
+# tests
+
+MDIRS = \
+ rconversion \
+ rcopyobject \
+ rexplicitconv \
+ rindecrement \
+ roptional \
+ rstore
+
+# FULL
+
+TOP= ../../../../../..
+include $(TOP)/Makefile.switch
diff --git a/tests/aslts/src/runtime/collections/complex/result/tests/SPEC b/tests/aslts/src/runtime/collections/complex/result/tests/SPEC
new file mode 100644
index 000000000..781815eb0
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/result/tests/SPEC
@@ -0,0 +1,477 @@
+ Result Object Complex test specification
+
+ I. Test goals
+
+ The intention of the test is to verify all the ASL grammar
+rules of specifying, receiving and proccessing of Result objects
+in ASL operators. The main goal of the test is checking that saving
+of Result objects in target (destination) ones for the next use is
+provided as determined by the Advanced Configuration and Power Interface
+(ACPI) Specification and there are no side effects. Temporary existence
+of the initial Result object while there are any objects referred to it
+can be a subject for another test.
+
+ The chapters of ACPI Specification which the test specification
+is based on are enumerated in the Appendix I.
+
+ The document represents a wide range of testing aspects and describes
+using of them in tests.
+
+ There are the following main issues in Result object proccessing:
+
+ - intermediate creation of an object of a specified type as a copy
+ of the immediate Source Object or the result either of some operator
+ or a called method,
+
+ - deletion of the result object if it is not used after the method
+ invocation or processing of any ASL operator (not considered in this
+ test)
+
+ - deletion of the existing target object on storing a new one
+ (disregard of both target object was specified by its Name or by
+ a reference to it and kind of storing - Store, CopyObject, optional):
+ = to Named Object which is not Field object
+ = to initialized method LocalX (ArgX) object
+ = to the initialized Elements of a Package
+
+ - creation of an object of a specified type, if none target object
+ exists or it was deleted, the cases:
+ = declaration of a Named Object of any type
+ = declaration of the Elements of a Package
+ = storing to Named Object which is not Field object
+ = storing to the Elements of a Package
+ = storing to an ArgX object containing a reference
+ = storing to method LocalX object (or ArgX object not
+ containing a reference)
+
+ - overwriting of the existing object on storing a new one to any
+ Field object (Buffer Field or Field Unit) specified by
+ = Name of some Object of the relevant type
+ = a reference to some Named Object of the relevant type
+ = an indexed reference to a byte of some Buffer or String
+ Named Object
+ = an indexed reference to a byte of some Buffer or String
+ Elements of a Package
+
+ - overwriting of the existing Package Object on storing a new one
+
+ - none of implicit result conversion:
+ = if the target of Store() is a initialized method local or argument
+ (LocalX or ArgX),
+ = if the target of Store() is an initialized Elements of a Package,
+ = on copying by means of CopyObject() when target is not Field object,
+ = on optional storing if the ASL operator is one of the explicit
+ conversion operators (ToString, ToInteger, etc.)
+
+ - implicit result conversion on storing to the target of a fixed type
+ such as a Named object or Field object
+ = in Store operator
+ = on optional storing in any operator besides the explicit conversion
+ operators
+ = on internal storing in Increment and Decrement operators
+ = on copying by means of CopyObject() when target is Field object,
+
+ - an exception should occur if implicit result conversion is impossible:
+ = the data type of destination is not relevant to type of the result
+ = String to Integer conversion when number of significant hex digits
+ is more than 8 for 32-bit Integers or 16 for 64-bit Integers
+ = Buffer to String conversion when buffer contains more than 67 bytes
+
+ - an exception should occur on an attempt to write into a literal constant,
+
+ - storing any object to a constant is a noop, not an error
+
+ II. The implicit Result conversion rules
+
+ There are following cases to apply Result conversion:
+ - Integer (DDB Handle) to String
+ - Integer (DDB Handle) to Buffer
+ - Integer (DDB Handle) to Buffer Field
+ - Integer (DDB Handle) to Field Unit
+ - String to Integer
+ - String to Buffer
+ - String to Buffer Field
+ - String to Field Unit
+ - Buffer to Integer
+ - Buffer to String
+ - Buffer to Buffer Field
+ - Buffer to Field Unit
+ - Package to Package
+
+ Particularities of the conversion are enumerated in the Appendix II.
+
+ III. Additional special questions
+
+ There are several additional questions related to the issues above:
+ - consequences of deletion - should or not any references to the deleted
+ object be being applied to the new one or somehow else:
+ = a reference to a whole object obtained trough Refof (Condrefof)
+ = a reference to some part of a object obtained trough creation of
+ a field or Index operator
+ - consequences of overwriting on shortening of memory occupied by an
+ Object (String, Package (Buffer can not be shortened?))- should or
+ not any references to the released part of the object be somehow being
+ applied,
+ - any source objects should be different from the resulting object
+ (new created or old modified) so that modification or deletion of
+ the target should not corrupt the source objects and otherwise,
+ - all corner cases of making a copy of the result object should
+ be evaluated, they include (especially cases when there is no need
+ in result object conversion):
+ = size of the either result or target object is zero
+ = size of the either result or target String object is 200
+ = size of the either result or target Package object is 255
+ = result object is shorter than target one
+ = result object is longer than target one
+ = sizes of the both result and target objects are the same
+ - all corner cases of applying the result object conversion rules should
+ be evaluated, they include:
+ = String to Buffer conversion of zero length and 200 bytes length strings
+ = String to Integer conversion of 16 (8) length hexadecimal strings
+ = Buffer to String conversion of zero length and 67 bytes length buffers
+ - particularities of Integer representation on 32-bit/64-bit modes
+ should be taken into account,
+ - the special AML object type - reference (Indexed Reference) - should
+ be verified.
+ - references, obtained through the NameString as an element of a Package
+ should be verified,
+ - some cases of applying both the source operand conversion and the result
+ conversion rules should be evaluated,
+ - some cases of using the same object both as the source operand(s) and
+ the target object,
+ - storing to Argx particularity should be evaluated: in this case ArgX
+ effectively becomes a LocalX,
+ - simultaneous storing by the Store operator and optional storing in any
+ other operator in both the same and different target objects.
+
+ IV. Enumeration of test aspects
+
+ So, wide variety of the different aspects can be considered on testing.
+
+1. All three ways to store a copy of some object:
+ - Store operator
+ Store(Expr(Src0, ...), Dst0)
+ - CopyObject operator
+ CopyObject(Expr(Src0, ...), Dst0)
+ - Internal storing in the Increment/Decrement operators
+ Increment(Dst0)
+ - Optional storing when the ASL operator is one of the explicit
+ conversion operators (ToString, ToInteger, etc.)
+ ToBuffer(Src0, Dst0)
+ - Any other operator with optional storing
+ Op(Expr(Src0, ...), Dst0)
+
+2. Objects of all ASL data types should be exercised as destinations
+ to store result including objects containing an reference.
+
+3. Destinations should be represented by all possible ways:
+ - Named Object
+ - Method ArgX Object
+ - Method LocalX Object
+ - Reference to Named Object, Method ArgX and LocalX Object:
+ = immediate ArgX
+ = Derefof(Source of reference)
+ - Indexed reference to Elements of Package, Buffer and String:
+ = immediate ArgX
+ = immediate Index(...)
+ = Derefof(Source of reference)
+ - Reference, obtained through the NameString as an element of a Package
+
+4. Objects of all ASL data types should be exercised as result objects
+ to store including objects containing an reference.
+
+5. Obtaining of the result objects should be represented by all
+ possible ways:
+ - Result object can be represented immediately by Source Object as:
+ = Data Image
+ = Named Object
+ = Method ArgX Object
+ = Method LocalX Object
+ - Source Objects can be represented by reference and used through
+ Derefof to be obtained as Result object:
+ = immediate Refof for
+ ~ Named Object
+ ~ Method ArgX Object
+ ~ Method LocalX Object
+ = intermediate Object containing reference obtained through Refof
+ or CondRefof:
+ ~ Named Object
+ ~ Method ArgX Object
+ ~ Method LocalX Object
+ ~ Element of a Package
+ = Reference returned by called Method and obtained by any
+ enumerated way
+ - Source Objects can be represented as Element of some complex
+ objects (String, Buffer, Package) and used through Derefof to
+ be obtained as Result object:
+ = immediate Index(...) applied to
+ ~ String
+ ~ Buffer
+ ~ Package
+ = intermediate Object containing reference obtained through Index
+ ~ Named Object
+ ~ Method ArgX Object
+ ~ Method LocalX Object
+ ~ Element of a Package
+ = Indexed Reference returned by called Method and obtained by any
+ enumerated way
+ - Result Object returned by called Method and obtained by any
+ enumerated way
+ = Data Image
+ = Named Object
+ = Method ArgX Object
+ = Method LocalX Object
+ = immediate Derefof for normal Reference
+ = immediate Derefof for Indexed Reference
+ - immediate Result Object returned by any Operator
+ = Op(Expr(Src0, ...) => Object
+ - types of Source Objects should be chosen so that different kinds of
+ implicit source operand conversion rules were used.
+
+ V. Order of testing actions
+
+ Testing actions should be performed in the next order:
+
+ - choose a way to store a copy of some object:
+ = Store operator
+ = CopyObject operator
+ = Internal storing in the Increment/Decrement operators
+ = Optional storing when the ASL operator is one of the explicit
+ conversion operators (ToString, ToInteger, etc.)
+ = Any operator with optional storing
+
+ - choose a type of the Object to store into:
+ = Uninitialized
+ = Integer
+ = String
+ = Buffer
+ = Package
+ ...
+
+ - choose a value of the Object to store into
+
+ - choose kind of the Object to store into:
+ = Named Object
+ = Method ArgX Object
+ = Method LocalX Object
+ = Reference to Named Object, Method ArgX and LocalX Object:
+ ~ immediate ArgX
+ ~ Derefof(Source of reference)
+ = Indexed reference to Elements of Package, Buffer and String:
+ ~ immediate ArgX
+ ~ immediate Index(...)
+ ~ Derefof(Source of reference)
+
+ - determine the destination Object to store into: it should exist
+ and be initialized or reinitialized with the chosen value (Dst0)
+
+ - choose a way to obtain some result object (Expr):
+ = Data Image
+ = Named Object
+ = Method ArgX Object
+ = Method LocalX Object
+ = Derefof of immediate Refof
+ = Derefof of intermediate Object
+ = Derefof of Reference returned by called Method
+ = Derefof of immediate Index(...)
+ = Derefof of intermediate Object containing Indexed reference
+ = Derefof of Indexed Reference returned by called Method
+ = Result Object returned by called Method
+ = Result Object returned by any Operator (Op)
+
+ - choose a type of the result Object
+
+ - choose specific source objects to obtain the result Object of
+ the specified type: it should exist and be initialized (Src0, ...)
+
+ - choose a benchmark value according to a storing expression,
+ chosen source objects, the value of the target object and
+ relevant result conversion rule (if any) - Bval
+
+ - check that the destination Object Dst0 is properly initialized
+
+ - perform storing expression:
+ Store(Expr(Src0, ...), Dst0)
+ CopyObject(Expr(Src0, ...), Dst0)
+ Op(Expr(Src0, ...), Dst0)
+
+ - check that the benchmark value Bval is equal to the updated
+ destination Object Dst0:
+
+ - check that the source objects are not updated:
+
+ - update the destination Object again and check that the source
+ objects are not updated
+
+ - repeat test action for all variety of test aspects
+
+ Additional efforts should be spent to check:
+ - consequences of deletion,
+ - consequences of overwriting
+ - corner cases
+
+ VI. Design strategy
+
+ Thus the storing of a copy of an Object will be verified
+for all possible conditions that could appear in valid AML code.
+The only problem is that implementaion of all testing aspects
+can require too much efforts. So, the minimal set of testing
+aspects to verify should be determined. This set must include
+verifying of the following issues:
+ - all ways to store a copy of some object:
+ - Store operator
+ - CopyObject operator
+ - Internal storing in the Increment/Decrement operators
+ - Particular optional storing when the ASL operator is one
+ of the explicit conversion operators (ToString, ToInteger, etc.)
+ - The other operators with normal optional storing
+ - implicit result conversion rules for all possible conversions
+ - storing of result objects represented immediately as:
+ = Data Image
+ = Named Object
+ = Method ArgX Object
+ = Method LocalX Object
+ = returned by called Method
+ - storing of result objects obtained by immediate Derefof of reference
+ (it should be obtained by Refof, Condrefof, Index or be returned by
+ called Method) to:
+ = Named Object
+ = Method ArgX Object
+ = Method LocalX Object
+ = Element of a Package
+ - storing of immediate Result Object returned by several Operators
+ = CondRefOf(any) => Boolean
+ = Not (int) => Integer
+ = ToBuffer ({int|str|buf}) => Buffer
+ = Add (int, int) => Integer
+ = Concatenate({int|str|buf}, {int|str|buf})
+ => ComputationalData
+ = Index ({str|buf|pkg}, int) => ObjectReference
+ = Mid ({str|buf}, int, int) => Buffer or String
+
+
+Appendix I. Chapters of ACPI Specification involved in the test.
+
+ The test specification is based on the following chapters of
+ACPI Specification, Revision 3.0:
+ 5.5.2.2 Arguments
+ 5.5.2.3 Method Calling Convention
+ 5.5.2.4 Local Variables and Locally Created Data Objects
+ 17.2.2 ASL Literal Constants,
+ 17.2.5.2 Explicit Data Type Conversions,
+ 17.2.5.3 Implicit Data Type Conversions,
+ 17.2.5.5 Implicit Result Object Conversion,
+ 17.2.5.6 Data Types and Type Conversions,
+ 17.2.5.7 Data Type Conversion Rules,
+ 17.2.5.8 Rules for Storing and Copying Objects,
+ 17.2.5.9 Rules for Reading and Writing Objects,
+ 17.5.5 Argx (Method Argument Data Objects)
+ 17.5.9 Buffer (Declare Buffer Object)
+ 17.5.13 CondRefOf (Create Object Reference Conditionally)
+ 17.5.15 CopyObject (Copy and Store Object)
+ 17.5.24 Decrement (Integer Decrement)
+ 17.5.27 DerefOf (Dereference an Object Reference)
+ 17.5.52 Increment (Integer Increment)
+ 17.5.53 Index (Indexed Reference To Member Object)
+ 17.5.54 IndexField (Declare Index/Data Fields)
+ 17.5.69 Localx (Method Local Data Objects)
+ 17.5.80 Name (Declare Named Object)
+ 17.5.89 OperationRegion (Declare Operation Region)
+ 17.5.91 Package (Declare Package Object)
+ 17.5.97 RefOf (Create Object Reference)
+ 17.5.102 Return (Return from Method Execution)
+ 17.5.113 Store (Store an Object)
+ The other ASL Operator Reference chapters allowing optional storing
+ and/or providing Result objects.
+ The chapters dealing with creation of Buffer Field, Field Unit
+ and objects of the other types.
+
+
+Appendix II. The implicit Result conversion rules
+
+ There are none cases to apply conversion to Buffer Field,
+Field Unit or Package to Package on Source conversion therefore
+they should be enumerated here (others are reviewed in the Source
+Operand complex test specification):
+
+ - Integer (DDB Handle) to Buffer Field
+ The Integer overwrites the entire Buffer Field. If the integer is
+ smaller than the size of the buffer field, it is zero-extended. If
+ the integer is larger than the size of the buffer field, the upper
+ bits are truncated.
+ - Integer (DDB Handle) to Field Unit
+ The Integer overwrites the entire Field Unit. If the integer is smaller
+ than the size of the Field Unit, it is zero-extended. If the integer is
+ larger than the size of the Field Unit, the upper bits are truncated
+ - String to Buffer Field
+ The string is treated as a buffer. If this buffer is smaller than
+ the size of the buffer field, it is zero extended. If the buffer is
+ larger than the size of the buffer field, the upper bits are truncated.
+ - String to Field Unit
+ Each character of the string is written, starting with the first, to
+ the Field Unit. If the Field Unit is less than eight bits, then the
+ upper bits of each character are lost. If the Field Unit is greater
+ than eight bits, then the additional bits are zeroed.
+ - Buffer to Buffer Field (see String to Buffer Field)
+ - Buffer to Field Unit
+ The entire contents of the buffer are copied to the Field Unit.
+ If the buffer is larger (in bits) than the size of the Field Unit,
+ it is broken into pieces and completely written to the Field Unit,
+ lower chunks first. If the buffer (or the last piece of the buffer,
+ if broken up) is smaller than the size of the Field Unit, it is zero
+ extended before being written.
+ - Package to Package
+ If no package object exists, a new package object is created.
+ If the package already exists, it is completely overwritten and
+ truncated or extended to accommodate the source package exactly.
+ Any and all existing valid (non-null) package elements of the target
+ package are deleted, and the entire contents of the source package
+ are copied into the target package.
+
+ There are specific in conversion on writing to other existing objects:
+ - Integer (DDB Handle) to String
+ If the string already exists, it is completely overwritten and
+ truncated or extended to accommodate the converted integer exactly.
+ In either case, the entire integer is converted to a string of
+ hexadecimal ASCII characters.
+ - Integer (DDB Handle) to Buffer
+ If a buffer object already exists, the Integer overwrites the entire
+ Buffer object. If the integer requires more bits than the size of the
+ Buffer, then the integer is truncated before being copied to the Buffer.
+ If the integer contains fewer bits than the size of the buffer, the
+ Integer is zero-extended to fill the entire buffer.
+ - String to Integer
+ The integer is initialized to the value zero and the ASCII string
+ is interpreted as a hexadecimal constant. Each string character
+ is interpreted as a hexadecimal value ('0'-'9', 'A'-'F', 'a'-'f'),
+ starting with the first character as the most significant digit and
+ ending with the first non-hexadecimal character, end-of-string, or
+ when the size of an integer is reached (8 characters for 32-bit
+ integers and 16 characters for 64-bit integers). Note: the first
+ non-hex character terminates the conversion without error, and a
+ "0x" prefix is not allowed.
+ - String to Buffer
+ If a buffer object already exists, it is completely overwritten.
+ If the string is longer than the buffer, the string is truncated
+ before copying. If the string is shorter than the buffer, the
+ remaining buffer bytes are set to zero. In either case, the string
+ is treated as a buffer, with each ASCII string character copied to
+ one buffer byte, including the null terminator.
+ - Buffer to Integer
+ The contents of the buffer are copied to the Integer, starting
+ with the least-significant bit and continuing until the buffer
+ has been completely copied - up to the maximum number of bits in
+ an Integer. The size of an Integer is indicated by the Definition
+ Block table header's Revision field. A Revision field value less
+ than 2 indicates that the size of an Integer is 32-bits. A value
+ greater than or equal to 2 signifies that the size of an Integer
+ is 64-bits. If the buffer is smaller than the size of an integer,
+ it is zero extended. If the buffer is larger than the size of an
+ integer, it is truncated.
+ - Buffer to String
+ If the string already exists, it is completely overwritten and
+ truncated or extended to accommodate the converted buffer exactly.
+ The entire contents of the buffer are converted to a string of
+ two-character hexadecimal numbers, each separated by a space.
+ A fatal error is generated if greater than two hundred ASCII
+ characters are created.
diff --git a/tests/aslts/src/runtime/collections/complex/result/tests/rconversion/MAIN.asl b/tests/aslts/src/runtime/collections/complex/result/tests/rconversion/MAIN.asl
new file mode 100644
index 000000000..02a6d3c0d
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/result/tests/rconversion/MAIN.asl
@@ -0,0 +1,60 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "rconversion.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../../runtime/cntl/DECL_6UP.asl")
+ Include("../../../../../../runtime/common/operations.asl")
+ Include("../../../../../../runtime/common/conversion/rproc.asl")
+ Include("../../../../../../runtime/common/conversion/rtest.asl")
+ Include("../../../../../../runtime/collections/complex/result/tests/rconversion/rconversion.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../../runtime/collections/complex/result/tests/rconversion/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/complex/result/tests/rconversion/Makefile b/tests/aslts/src/runtime/collections/complex/result/tests/rconversion/Makefile
new file mode 100644
index 000000000..76aad4438
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/result/tests/rconversion/Makefile
@@ -0,0 +1,7 @@
+# rconversion
+
+AMLMOD= rconversion
+COLL= ../../../..
+
+TOP= $(COLL)/../../..
+include $(COLL)/Makefile.install
diff --git a/tests/aslts/src/runtime/collections/complex/result/tests/rconversion/RUN.asl b/tests/aslts/src/runtime/collections/complex/result/tests/rconversion/RUN.asl
new file mode 100644
index 000000000..54bc34a4e
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/result/tests/rconversion/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+
+if (STTT("Implicit Result Object Conversion", TCLC, 14, W011)) {
+ SRMT("OCV2")
+ OCV2()
+}
+FTTT()
diff --git a/tests/aslts/src/runtime/collections/complex/result/tests/rconversion/rconversion.asl b/tests/aslts/src/runtime/collections/complex/result/tests/rconversion/rconversion.asl
new file mode 100644
index 000000000..d49641957
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/result/tests/rconversion/rconversion.asl
@@ -0,0 +1,44 @@
+/*
+ * 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.
+ */
+
+/*
+ * This test should be investigated and probably fixed because
+ * it most likely not conforms with the changed functionality of
+ * the Store operator - storing of non-computational data and
+ * BufferFields and Fields was once diasbled.
+ *
+ * Such are exc_operand1, exc_result, oconversion and rconversion tests.
+ */
+
+// Run-method
+Method(OCV2)
+{
+ m560(0)
+}
diff --git a/tests/aslts/src/runtime/collections/complex/result/tests/rcopyobject/MAIN.asl b/tests/aslts/src/runtime/collections/complex/result/tests/rcopyobject/MAIN.asl
new file mode 100644
index 000000000..b955b13a4
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/result/tests/rcopyobject/MAIN.asl
@@ -0,0 +1,58 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "rcopyobject.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../../runtime/cntl/DECL_6UP.asl")
+ Include("../../../../../../runtime/collections/complex/result/common/rcommon.asl")
+ Include("../../../../../../runtime/collections/complex/result/tests/rcopyobject/rcopyobject.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../../runtime/collections/complex/result/tests/rcopyobject/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/complex/result/tests/rcopyobject/Makefile b/tests/aslts/src/runtime/collections/complex/result/tests/rcopyobject/Makefile
new file mode 100644
index 000000000..e86d224f7
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/result/tests/rcopyobject/Makefile
@@ -0,0 +1,7 @@
+# rcopyobject
+
+AMLMOD= rcopyobject
+COLL= ../../../..
+
+TOP= $(COLL)/../../..
+include $(COLL)/Makefile.install
diff --git a/tests/aslts/src/runtime/collections/complex/result/tests/rcopyobject/RUN.asl b/tests/aslts/src/runtime/collections/complex/result/tests/rcopyobject/RUN.asl
new file mode 100644
index 000000000..8b20e7364
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/result/tests/rcopyobject/RUN.asl
@@ -0,0 +1,35 @@
+/*
+ * 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.
+ */
+
+
+if (STTT("Result Object proccessing in CopyObject()", TCLC, 15, W011)) {
+ RES1()
+}
+FTTT()
diff --git a/tests/aslts/src/runtime/collections/complex/result/tests/rcopyobject/rcopyobject.asl b/tests/aslts/src/runtime/collections/complex/result/tests/rcopyobject/rcopyobject.asl
new file mode 100644
index 000000000..50629ec58
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/result/tests/rcopyobject/rcopyobject.asl
@@ -0,0 +1,45 @@
+/*
+ * 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.
+ */
+
+/*
+ * Check Result Object proccessing on CopyObject
+ */
+
+Name(z124, 124)
+
+// Run-method
+Method(RES1)
+{
+ Store("TEST: RES1, Result Object processing in CopyObject", Debug)
+
+ // Check storing of immediate Source Objects by CopyObject()
+ m689("RES1-m689", 1, 0)
+}
+
diff --git a/tests/aslts/src/runtime/collections/complex/result/tests/rexplicitconv/MAIN.asl b/tests/aslts/src/runtime/collections/complex/result/tests/rexplicitconv/MAIN.asl
new file mode 100644
index 000000000..eacf864b0
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/result/tests/rexplicitconv/MAIN.asl
@@ -0,0 +1,58 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "rexplicitconv.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../../runtime/cntl/DECL_6UP.asl")
+ Include("../../../../../../runtime/collections/complex/result/common/rcommon.asl")
+ Include("../../../../../../runtime/collections/complex/result/tests/rexplicitconv/rexplicitconv.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../../runtime/collections/complex/result/tests/rexplicitconv/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/complex/result/tests/rexplicitconv/Makefile b/tests/aslts/src/runtime/collections/complex/result/tests/rexplicitconv/Makefile
new file mode 100644
index 000000000..8649e570b
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/result/tests/rexplicitconv/Makefile
@@ -0,0 +1,7 @@
+# rexplicitconv
+
+AMLMOD= rexplicitconv
+COLL= ../../../..
+
+TOP= $(COLL)/../../..
+include $(COLL)/Makefile.install
diff --git a/tests/aslts/src/runtime/collections/complex/result/tests/rexplicitconv/RUN.asl b/tests/aslts/src/runtime/collections/complex/result/tests/rexplicitconv/RUN.asl
new file mode 100644
index 000000000..08b8c4a2b
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/result/tests/rexplicitconv/RUN.asl
@@ -0,0 +1,35 @@
+/*
+ * 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.
+ */
+
+
+if (STTT("Result Object optional storing in the explicit conversion operators", TCLC, 17, W011)) {
+ RES3()
+}
+FTTT()
diff --git a/tests/aslts/src/runtime/collections/complex/result/tests/rexplicitconv/rexplicitconv.asl b/tests/aslts/src/runtime/collections/complex/result/tests/rexplicitconv/rexplicitconv.asl
new file mode 100644
index 000000000..d7cb3a67f
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/result/tests/rexplicitconv/rexplicitconv.asl
@@ -0,0 +1,1402 @@
+/*
+ * 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.
+ */
+
+/*
+ * Check Result Object proccessing on optional storing
+ * in the explicit conversion operators
+ */
+
+Name(z126, 126)
+
+// m693(<store op>, <exc. conditions>,
+// <Target scale>, <Result scale>, <kind of Source-Target pair>)
+Method(m693, 5)
+{
+ Name(ts, "m693")
+
+/*
+ - choose a type of the Object to store into:
+ = Uninitialized
+ = Integer
+ = String
+ = Buffer
+ = Package
+ ...
+
+ - choose a value of the Object to store into
+
+ - choose kind of the Object to store into:
+ = Named Object
+ = Method LocalX Object
+
+ - determine the destination Object to store into: it should exist
+ and be initialized with the chosen value (Dst0)
+
+ - choose a way to obtain some result object (Expr ~ Result Object
+ returned by any Explicit conversion Operator (Op)):
+ = ToInteger
+ = ToBCD
+ = FromBCD
+ = ToString
+ = ToHexString
+ = ToDecimalString
+ = ToBuffer
+
+ - choose storing expression:
+ = Store(Op(Src0, ...), Dst0)
+ = CopyObject(Op(Src0, ...), Dst0)
+ = Op(Src0, ..., Dst0)
+
+ - the type of the result Object depend on the Operator
+
+ - choose specific source objects to obtain the result Object of
+ the specified type: it should exist and be initialized (Src0, ...)
+
+ - choose a benchmark value according to a storing expression,
+ chosen source objects, the value of the target object and
+ relevant result conversion rule (if any) - Bval
+
+ - check that the destination Object Dst0 is properly initialized
+
+ - perform storing expression:
+ Store(Expr(Src0, ...), Dst0)
+ CopyObject(Expr(Src0, ...), Dst0)
+ Op(Expr(Src0, ...), Dst0)
+
+ - check that the benchmark value Bval is equal to the updated
+ destination Object Dst0:
+
+ - check that the source objects are not updated:
+
+ - update the destination Object again and check that the source
+ objects are not updated
+*/
+
+ // Object-initializers are used either with Source or Target
+ // (names ended by 0 and 1 respectively)
+
+ // Integer
+ Name(INT0, 0xfedcba9876543210)
+ Name(INT1, 0xfedcba9876543211)
+
+ // String
+ Name(STR0, "source string")
+ Name(STR1, "target string")
+
+ // Buffer
+ Name(BUF0, Buffer(9){9,8,7,6,5,4,3,2,1})
+ Name(BUF1, Buffer(17){0xc3})
+
+ // Base of Buffer Fields
+ Name(BUFZ, Buffer(20){})
+
+ Name(PAC1, Package(1) {"target package"})
+
+ // Device
+ Device(DEV1) {Name(s000, "DEV1")}
+
+ // Event
+ Event(EVE1)
+
+ // Method
+ Name(MM01, "ff1Y") // Value, returned from MMMY
+ Name(MMM1, 0) // Method as Target Object
+ Method(MMMY) {Return (MM01)}
+
+ // Mutex
+ Mutex(MTX1, 0)
+
+ if (y361) {
+ // Operation Region
+ OperationRegion(OPR0, SystemMemory, 0, 20)
+ OperationRegion(OPR1, SystemMemory, 0, 20)
+ }
+
+ // Power Resource
+ PowerResource(PWR1, 0, 0) {Name(s000, "PWR1")}
+
+ // Processor
+ Processor(CPU1, 0x0, 0xFFFFFFFF, 0x0) {Name(s000, "CPU1")}
+
+ // Thermal Zone
+ ThermalZone(TZN1) {Name(s000, "TZN1")}
+
+ // Reference
+ Name(REF0, Package(1){})
+ Name(REF1, Package(1){})
+
+ // Data to gather statistics
+
+ Name(STCS, 0)
+
+ Name(INDM, 255)
+
+ Name(PAC2, Package(1) {})
+ Name(IND2, 0)
+
+ Name(PAC3, Package(1) {})
+ Name(IND3, 0)
+
+ Name(PAC4, Package(3) {
+ "Store",
+ "Copyobject",
+ "Optional",
+ })
+
+ Name(terr, "-test error")
+
+ // Update statistics
+ // m000(<type>, <shift>, <low>, <up>)
+ Method(m000, 4)
+ {
+ if (LEqual(arg0, 2)) {
+ if (LLess(IND2, INDM)) {
+ Store(Add(Multiply(arg3, arg1), arg2), Index(PAC2, IND2))
+ Increment(IND2)
+ }
+ } elseif (LEqual(arg0, 3)) {
+ if (LLess(IND3, INDM)) {
+ Store(Add(Multiply(arg3, arg1), arg2), Index(PAC3, IND3))
+ Increment(IND3)
+ }
+ }
+ }
+
+ // Initialize statistics
+ Method(m001)
+ {
+ if (STCS) {
+ Store(Package(255) {}, PAC2)
+ Store(0, IND2)
+ Store(Package(255) {}, PAC3)
+ Store(0, IND3)
+ }
+ }
+
+ // Output statistics
+ Method(m002, 1)
+ {
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+
+ if (STCS) {
+ Store(arg0, Debug)
+
+ if (IND2) {
+ Store("Run-time exceptions:", Debug)
+ Store(IND2, Debug)
+ Store("Types:", Debug)
+
+ Store(IND2, lpN0)
+ Store(0, lpC0)
+
+ While (lpN0) {
+ Store(Derefof(Index(PAC2, lpC0)), Debug)
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+ }
+
+ if (IND3) {
+ Store("Type mismatch:", Debug)
+ Store(IND3, Debug)
+
+ Store(IND3, lpN0)
+ Store(0, lpC0)
+
+ While (lpN0) {
+ Store(Derefof(Index(PAC3, lpC0)), Debug)
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+ }
+ }
+ }
+
+ // Prepare Target of specified type
+ Method(m003, 4)
+ {
+ Switch(ToInteger(arg1)) {
+ Case(0) { // Only check
+ }
+ Case(1) {
+ CopyObject(Derefof(arg3), INT1)
+ CopyObject(INT1, arg2)
+ }
+ Case(2) {
+ CopyObject(Derefof(arg3), STR1)
+ CopyObject(STR1, arg2)
+ }
+ Case(3) {
+ CopyObject(Derefof(arg3), BUF1)
+ Store(Sizeof(BUF1), Local0)
+ if (LNotEqual(Local0, 17)) {
+ err(Concatenate(arg0, terr), z126, 1, 0, 0, Local0, 17)
+ Return (1)
+ }
+ CopyObject(BUF1, arg2)
+ }
+ Case(4) {
+ CopyObject(Derefof(arg3), PAC1)
+ CopyObject(PAC1, arg2)
+ }
+ Case(5) { // Check only
+ }
+ Case(6) {
+ CopyObject(DEV1, arg2)
+ }
+ Case(7) {
+ CopyObject(EVE1, arg2)
+ }
+ Case(8) {
+ CopyObject(Derefof(Refof(MMMY)), MMM1)
+ CopyObject(Derefof(Refof(MMM1)), arg2)
+ }
+ Case(9) {
+ CopyObject(MTX1, arg2)
+ }
+ Case(10) {
+ CopyObject(OPR1, arg2)
+ }
+ Case(11) {
+ CopyObject(PWR1, arg2)
+ }
+ Case(12) {
+ CopyObject(CPU1, arg2)
+ }
+ Case(13) {
+ CopyObject(TZN1, arg2)
+ }
+ Case(14) { // Check only
+ }
+ Case(17) {
+ CopyObject(Refof(REF0), REF1)
+ if (y522) {
+ CopyObject(REF1, arg2)
+ } else {
+ CopyObject(DeRefof(REF1), arg2)
+ }
+ }
+ Default {
+ // Unexpected Target Type
+ err(Concatenate(arg0, terr), z126, 2, 0, 0, arg1, 0)
+ Return (1)
+ }
+ }
+ if (CH03(arg0, z126, 3, arg1, 0)) {
+ //Exception during preparing of Target Object
+ Return (1)
+ }
+
+ Store(ObjectType(arg2), Local0)
+ if (LNotEqual(Local0, arg1)) {
+ // ObjectType of Target can not be set up
+ err(arg0, z126, 4, 0, 0, Local0, arg1)
+ Return (1)
+ }
+
+ Return (0)
+ }
+
+ // Prepare Source of specified type
+ Method(m004, 4)
+ {
+ Switch(ToInteger(arg1)) {
+ Case(1) {
+ CopyObject(Derefof(arg3), INT0)
+ CopyObject(INT0, arg2)
+ }
+ Case(2) {
+ CopyObject(Derefof(arg3), STR0)
+ CopyObject(STR0, arg2)
+ }
+ Case(3) {
+ if (y136) {
+ CopyObject(Derefof(arg3), BUF0)
+ } else {
+ m687(Derefof(arg3), Refof(BUF0))
+ }
+ CopyObject(BUF0, arg2)
+ }
+ Default {
+ // Unexpected Source Type
+ err(Concatenate(arg0, terr), z126, 5, 0, 0, arg1, 0)
+ Return (1)
+ }
+ }
+ if (CH03(arg0, z126, 6, arg1, 0)) {
+ // Exception during preparing of Source Object
+ Return (1)
+ }
+
+ Store(ObjectType(arg2), Local0)
+ if (LNotEqual(Local0, arg1)) {
+ // ObjectType of Source can not be set up
+ err(arg0, z126, 7, 0, 0, Local0, arg1)
+ Return (1)
+ }
+
+ Return (0)
+ }
+
+ // Check Source Object type is not corrupted after storing,
+ // for the computational data types verify its value against
+ // the Object-initializer value
+ Method(m005, 4)
+ {
+ Store(ObjectType(arg2), Local0)
+ if (LNotEqual(Local0, arg1)) {
+ // ObjectType of Source object is corrupted
+ err(arg0, z126, 8, 0, 0, Local0, arg1)
+ Return (1)
+ }
+
+ Switch(ToInteger(arg1)) {
+ Case(1) {
+ Store(ObjectType(INT0), Local0)
+ }
+ Case(2) {
+ Store(ObjectType(STR0), Local0)
+ }
+ Case(3) {
+ Store(ObjectType(BUF0), Local0)
+ }
+ Default {
+ // Unexpected Result Type
+ err(arg0, z126, 9, 0, 0, arg1, 0)
+ Return (1)
+ }
+ }
+
+ if (LNotEqual(Local0, arg1)) {
+ // Mismatch of Source Type against specified one
+ err(arg0, z126, 10, 0, 0, Local0, arg1)
+ if (STCS) {m000(3, 0x1000000, Local0, arg0)}
+ Return (1)
+ } else {
+ // Check equality of the Source value to the Object-initializer one
+ Switch(ToInteger(arg1)) {
+ Case(1) {
+ if (LNotEqual(INT0, Derefof(arg3))) {
+ err(arg0, z126, 11, 0, 0, INT0, Derefof(arg3))
+ Return (1)
+ }
+ if (LNotEqual(Derefof(arg2), INT0)) {
+ err(arg0, z126, 12, 0, 0, Derefof(arg2), INT0)
+ Return (1)
+ }
+ }
+ Case(2) {
+ if (LNotEqual(STR0, Derefof(arg3))) {
+ err(arg0, z126, 13, 0, 0, STR0, Derefof(arg3))
+ Return (1)
+ }
+ if (LNotEqual(Derefof(arg2), STR0)) {
+ err(arg0, z126, 14, 0, 0, Derefof(arg2), STR0)
+ Return (1)
+ }
+ }
+ Case(3) {
+ if (LNotEqual(BUF0, Derefof(arg3))) {
+ err(arg0, z126, 15, 0, 0, BUF0, Derefof(arg3))
+ Return (1)
+ }
+ if (LNotEqual(Derefof(arg2), BUF0)) {
+ err(arg0, z126, 16, 0, 0, Derefof(arg2), BUF0)
+ Return (1)
+ }
+ }
+ }
+ }
+ Return (0)
+ }
+
+ // Check Target Object to have the expected type and value
+ // m006(<msg>, <ref to target>, <target type>, <source type>,
+ // <op>, <target save type>, <test data package>)
+ Method(m006, 7)
+ {
+ Name(MMM2, 0) // The auxiliary Object to invoke Method
+
+ Store(ObjectType(arg1), Local2)
+
+ if (LNotEqual(Local2, arg2)) {
+ if (STCS) {m000(3, 0x10000, arg2, Local2)}
+ }
+
+ if (m686(arg5, arg2, arg3)) {
+ // Target must save type
+ if (LNotEqual(Local2, arg2)) {
+ // Types mismatch Target/Target on storing
+ if (LEqual(arg2, c016)) {
+ if (X170) {
+ err(arg0, z126, 17, 0, 0, Local2, arg2)
+ }
+ } else {
+ err(arg0, z126, 17, 0, 0, Local2, arg2)
+ }
+ if (STCS) {m000(3, 0x100, arg2, Local2)}
+ Return (1)
+ }
+ } else {
+ // Target must accept type of the Result Object
+
+ if (LNotEqual(Local2, arg3)) {
+ if (LNotEqual(m684(arg3), 1)) {
+ // Types mismatch Result/Target on storing
+ err(arg0, z126, 18, 0, 0, Local2, arg3)
+ Return (1)
+ } elseif (LNotEqual(Local2, 3)) {
+ // Types mismatch Result/Target on storing
+ // Test fixed type Objects are converted to Buffer
+ err(arg0, z126, 19, 0, 0, Local2, 3)
+ Return (1)
+ }
+ if (STCS) {m000(3, 0x100, arg3, Local2)}
+ }
+ }
+
+ // Retrieve the benchmark value
+ if (m686(arg5, arg2, arg3)) {
+ // Save type of Target
+
+ // Retrieve the benchmark value
+ Store(Derefof(Index(Derefof(Index(arg6, 4)), arg2)), Local7)
+ } else {
+ Store(Derefof(Index(arg6, 3)), Local7)
+ }
+
+ if (LNotEqual(Derefof(arg1), Local7)) {
+ if (LAnd(LEqual(arg2, c00b), LEqual(arg3, c00b))) {
+ if (X194) {
+ err(arg0, z126, 20, 0, 0, Derefof(arg1), Local7)
+ }
+ } else {
+ err(arg0, z126, 20, 0, 0, Derefof(arg1), Local7)
+ }
+ Return (1)
+ }
+
+ Return (0)
+ }
+
+ // Check processing of an Source Named Object of the specified type
+ // on immediate storing to a Target Named Object of the specified type
+ // m008(<msg>, <aux>, <target type>, <source type>,
+ // <op>, <exc. condition>, <test data package>)
+ Method(m008, 7)
+ {
+ // Source Named Object
+ Name(SRC0, 0)
+ // Target Named Object
+ Name(DST0, 0)
+
+ // Retrieve index of the verified Explicit conversion Operator
+ Store(Derefof(Index(arg6, 0)), Local6)
+
+ Concatenate(arg0, "-", arg0)
+ Concatenate(arg0, Concatenate(Mid(Local6,0,2), Concatenate(Mid(arg4,0,2), Concatenate(Mid(arg2,0,2), Mid(arg3,0,2)))), arg0)
+ if (STCS) {Store(arg0, Debug)}
+
+ // Prepare Source of specified type and value
+ Store(Index(arg6, 1), Local7)
+ if (m004(Concatenate(arg0, "-m004"), arg3, Refof(SRC0), Local7)) {
+ // Source Object can not be prepared
+ err(Concatenate(arg0, terr), z126, 21, 0, 0, arg3, 0)
+ Return (1)
+ }
+
+ // Prepare Target of specified type
+ Store(Index(Derefof(Index(arg6, 2)), arg2), Local7)
+ if (LEqual(arg2, 5)) { // Field Unit Target
+ Field(OPR0, ByteAcc, NoLock, Preserve) {FLUX, 69, FLU1, 69}
+ Store(Refof(FLU1), Local1)
+ } elseif (LEqual(arg2, 14)) { // Buffer Field Target
+ Createfield(BUFZ, 80, 69, BFL1)
+ Store(Refof(BFL1), Local1)
+ } else {
+ Store(Refof(DST0), Local1)
+ }
+ if (m003(Concatenate(arg0, "-m003"), arg2, Local1, Local7)) {
+ // Target Object can not be prepared
+ err(Concatenate(arg0, terr), z126, 22, 0, 0, arg2, 0)
+ Return (1)
+ }
+
+ // Use a Source Object to immediately store into the Target
+ if (LEqual(arg2, 5)) { // Field Unit Target
+ if (LEqual(arg4, 0)) { // Store
+ Switch(Local6) {
+ Case(0) {Store(ToInteger(SRC0), FLU1)}
+ Case(1) {Store(ToBCD(SRC0), FLU1)}
+ Case(2) {Store(FromBCD(SRC0), FLU1)}
+ Case(3) {Store(ToString(SRC0), FLU1)}
+ Case(4) {Store(ToHexString(SRC0), FLU1)}
+ Case(5) {Store(ToDecimalString(SRC0), FLU1)}
+ Case(6) {Store(ToBuffer(SRC0), FLU1)}
+ }
+ } elseif (LEqual(arg4, 1)) { // CopyObject
+ Switch(Local6) {
+ Case(0) {CopyObject(ToInteger(SRC0), FLU1)}
+ Case(1) {CopyObject(ToBCD(SRC0), FLU1)}
+ Case(2) {CopyObject(FromBCD(SRC0), FLU1)}
+ Case(3) {CopyObject(ToString(SRC0), FLU1)}
+ Case(4) {CopyObject(ToHexString(SRC0), FLU1)}
+ Case(5) {CopyObject(ToDecimalString(SRC0), FLU1)}
+ Case(6) {CopyObject(ToBuffer(SRC0), FLU1)}
+ }
+ } elseif (LEqual(arg4, 2)) { // Optional storing
+ Switch(Local6) {
+ Case(0) {ToInteger(SRC0, FLU1)}
+ Case(1) {ToBCD(SRC0, FLU1)}
+ Case(2) {FromBCD(SRC0, FLU1)}
+ Case(3) {ToString(SRC0, Ones, FLU1)}
+ Case(4) {ToHexString(SRC0, FLU1)}
+ Case(5) {ToDecimalString(SRC0, FLU1)}
+ Case(6) {ToBuffer(SRC0, FLU1)}
+ }
+ } else {
+ // Unexpected Kind of Op (0 - Store, ...)
+ err(Concatenate(arg0, terr), z126, 23, 0, 0, arg4, 0)
+ Return (1)
+ }
+ } elseif (LEqual(arg2, 14)) { // Buffer Field Target
+ if (LEqual(arg4, 0)) { // Store
+ Switch(Local6) {
+ Case(0) {Store(ToInteger(SRC0), BFL1)}
+ Case(1) {Store(ToBCD(SRC0), BFL1)}
+ Case(2) {Store(FromBCD(SRC0), BFL1)}
+ Case(3) {Store(ToString(SRC0), BFL1)}
+ Case(4) {Store(ToHexString(SRC0), BFL1)}
+ Case(5) {Store(ToDecimalString(SRC0), BFL1)}
+ Case(6) {Store(ToBuffer(SRC0), BFL1)}
+ }
+ } elseif (LEqual(arg4, 1)) { // CopyObject
+ Switch(Local6) {
+ Case(0) {CopyObject(ToInteger(SRC0), BFL1)}
+ Case(1) {CopyObject(ToBCD(SRC0), BFL1)}
+ Case(2) {CopyObject(FromBCD(SRC0), BFL1)}
+ Case(3) {CopyObject(ToString(SRC0), BFL1)}
+ Case(4) {CopyObject(ToHexString(SRC0), BFL1)}
+ Case(5) {CopyObject(ToDecimalString(SRC0), BFL1)}
+ Case(6) {CopyObject(ToBuffer(SRC0), BFL1)}
+ }
+ } elseif (LEqual(arg4, 2)) { // Optional storing
+ Switch(Local6) {
+ Case(0) {ToInteger(SRC0, BFL1)}
+ Case(1) {ToBCD(SRC0, BFL1)}
+ Case(2) {FromBCD(SRC0, BFL1)}
+ Case(3) {ToString(SRC0, Ones, BFL1)}
+ Case(4) {ToHexString(SRC0, BFL1)}
+ Case(5) {ToDecimalString(SRC0, BFL1)}
+ Case(6) {ToBuffer(SRC0, BFL1)}
+ }
+ } else {
+ // Unexpected Kind of Op (0 - Store, ...)
+ err(Concatenate(arg0, terr), z126, 24, 0, 0, arg4, 0)
+ Return (1)
+ }
+
+ } elseif (LEqual(arg4, 0)) { // Store
+ Switch(Local6) {
+ Case(0) {Store(ToInteger(SRC0), DST0)}
+ Case(1) {Store(ToBCD(SRC0), DST0)}
+ Case(2) {Store(FromBCD(SRC0), DST0)}
+ Case(3) {Store(ToString(SRC0), DST0)}
+ Case(4) {Store(ToHexString(SRC0), DST0)}
+ Case(5) {Store(ToDecimalString(SRC0), DST0)}
+ Case(6) {Store(ToBuffer(SRC0), DST0)}
+ }
+ } elseif (LEqual(arg4, 1)) { // CopyObject
+ Switch(Local6) {
+ Case(0) {CopyObject(ToInteger(SRC0), DST0)}
+ Case(1) {CopyObject(ToBCD(SRC0), DST0)}
+ Case(2) {CopyObject(FromBCD(SRC0), DST0)}
+ Case(3) {CopyObject(ToString(SRC0), DST0)}
+ Case(4) {CopyObject(ToHexString(SRC0), DST0)}
+ Case(5) {CopyObject(ToDecimalString(SRC0), DST0)}
+ Case(6) {CopyObject(ToBuffer(SRC0), DST0)}
+ }
+ } elseif (LEqual(arg4, 2)) { // Optional storing
+ Switch(Local6) {
+ Case(0) {ToInteger(SRC0, DST0)}
+ Case(1) {ToBCD(SRC0, DST0)}
+ Case(2) {FromBCD(SRC0, DST0)}
+ Case(3) {ToString(SRC0, Ones, DST0)}
+ Case(4) {ToHexString(SRC0, DST0)}
+ Case(5) {ToDecimalString(SRC0, DST0)}
+ Case(6) {ToBuffer(SRC0, DST0)}
+ }
+ } else {
+ // Unexpected Kind of Op (0 - Store, ...)
+ err(Concatenate(arg0, terr), z126, 25, 0, 0, arg4, 0)
+ Return (1)
+ }
+
+ if (arg5) {
+ // Exception is expected
+ if (LNot(CH06(arg0, 26, 0xff))) {
+ if (STCS) {m000(2, 0x100, arg2, arg3)}
+ }
+ } elseif (CH03(arg0, z126, 27, arg3, arg2)) {
+ // Storing caused unexpected exception
+ if (STCS) {m000(2, 0x100, arg2, arg3)}
+ } else {
+ // Check Target Object to have the expected type and value
+
+ // Target accept type on storing to Named of Store operator is 0
+ if (LEqual(arg4, 0)) {
+ Store(0, Local0)
+ } else {
+ Store(2, Local0)
+ }
+
+ m006(Concatenate(arg0, "-m006"), Local1, arg2, arg3, arg4, Local0, arg6)
+ }
+
+ // Check Source Object type is not corrupted after storing
+ Store(Index(arg6, 1), Local7)
+ if (m005(Concatenate(arg0, "-m005"), arg3, Refof(SRC0), Local7)) {
+ if (STCS) {
+ Store("m008, Source Object has been corrupted during storing", Debug)
+ }
+ }
+
+ Return (0)
+ }
+
+ // Check processing of an Source Named Object of the specified type
+ // on immediate storing to a Target LocalX Object of the specified type
+ // m009(<msg>, <aux>, <target type>, <source type>,
+ // <op>, <exc. condition>, <test data package>)
+ Method(m009, 7)
+ {
+ // Source Named Object
+ Name(SRC0, 0)
+ // Target Named Object: Local4
+
+ // Retrieve index of the verified Explicit conversion Operator
+ Store(Derefof(Index(arg6, 0)), Local6)
+
+ Concatenate(arg0, "-", arg0)
+ Concatenate(arg0, Concatenate(Mid(Local6,0,2), Concatenate(Mid(arg4,0,2), Concatenate(Mid(arg2,0,2), Mid(arg3,0,2)))), arg0)
+ if (STCS) {Store(arg0, Debug)}
+
+ // Prepare Source of specified type and value
+ Store(Index(arg6, 1), Local7)
+ if (m004(Concatenate(arg0, "-m004"), arg3, Refof(SRC0), Local7)) {
+ // Source Object can not be prepared
+ err(Concatenate(arg0, terr), z126, 28, 0, 0, arg3, 0)
+ Return (1)
+ }
+
+ // Prepare Target of specified type
+ Store(Index(Derefof(Index(arg6, 2)), arg2), Local7)
+ if (m003(Concatenate(arg0, "-m003"), arg2, Refof(Local4), Local7)) {
+ // Target Object can not be prepared
+ err(Concatenate(arg0, terr), z126, 29, 0, 0, arg2, 0)
+ Return (1)
+ }
+
+ // Use a Source Object to immediately store into the Target
+ if (LEqual(arg4, 0)) { // Store
+ Switch(Local6) {
+ Case(0) {Store(ToInteger(SRC0), Local4)}
+ Case(1) {Store(ToBCD(SRC0), Local4)}
+ Case(2) {Store(FromBCD(SRC0), Local4)}
+ Case(3) {Store(ToString(SRC0), Local4)}
+ Case(4) {Store(ToHexString(SRC0), Local4)}
+ Case(5) {Store(ToDecimalString(SRC0), Local4)}
+ Case(6) {Store(ToBuffer(SRC0), Local4)}
+ }
+ } elseif (LEqual(arg4, 1)) { // CopyObject
+ Switch(Local6) {
+ Case(0) {CopyObject(ToInteger(SRC0), Local4)}
+ Case(1) {CopyObject(ToBCD(SRC0), Local4)}
+ Case(2) {CopyObject(FromBCD(SRC0), Local4)}
+ Case(3) {CopyObject(ToString(SRC0), Local4)}
+ Case(4) {CopyObject(ToHexString(SRC0), Local4)}
+ Case(5) {CopyObject(ToDecimalString(SRC0), Local4)}
+ Case(6) {CopyObject(ToBuffer(SRC0), Local4)}
+ }
+ } elseif (LEqual(arg4, 2)) { // Optional storing
+ Switch(Local6) {
+ Case(0) {ToInteger(SRC0, Local4)}
+ Case(1) {ToBCD(SRC0, Local4)}
+ Case(2) {FromBCD(SRC0, Local4)}
+ Case(3) {ToString(SRC0, Ones, Local4)}
+ Case(4) {ToHexString(SRC0, Local4)}
+ Case(5) {ToDecimalString(SRC0, Local4)}
+ Case(6) {ToBuffer(SRC0, Local4)}
+ }
+ } else {
+ // Unexpected Kind of Op (0 - Store, ...)
+ err(Concatenate(arg0, terr), z126, 30, 0, 0, arg4, 0)
+ Return (1)
+ }
+
+ if (arg5) {
+ // Exception is expected
+ if (LNot(CH06(arg0, 31, 0xff))) {
+ if (STCS) {m000(2, 0x100, arg2, arg3)}
+ }
+ } elseif (CH03(arg0, z126, 32, arg3, arg2)) {
+ // Storing caused unexpected exception
+ if (STCS) {m000(2, 0x100, arg2, arg3)}
+ } else {
+ // Check Target Object to have the expected type and value
+
+ // Target accept type on storing to LocalX is 1
+ Store(1, Local0)
+
+ m006(Concatenate(arg0, "-m006"), Refof(Local4), arg2, arg3, arg4, Local0, arg6)
+ }
+
+ // Check Source Object type is not corrupted after storing
+ Store(Index(arg6, 1), Local7)
+ if (m005(Concatenate(arg0, "-m005"), arg3, Refof(SRC0), Local7)) {
+ if (STCS) {
+ Store("m009, Source Object has been corrupted during storing", Debug)
+ }
+ }
+
+ Return (0)
+ }
+
+ // Test data packages
+
+ // ToInteger
+
+ Name(p032, Package(17) {
+ // index of the Operator
+ 0,
+ // SRC0 initial value
+ 0xfedcba9876543210,
+ // Target Objects initial values
+ Package(17) {
+ 0,
+ 0xfedcba9876543211,
+ "target string",
+ Buffer(17){0xc3},
+ Package(1) {
+ "target package"},
+ 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,
+ 0, 0,},
+ // Benchmark Result object value
+ 0xfedcba9876543210,
+ // Benchmark Result object converted to Target type values
+ Package(17) {
+ 0,
+ 0xfedcba9876543210,
+ "76543210",
+ Buffer(17){0x10, 0x32, 0x54, 0x76,},
+ 0,
+ Buffer(9){0x10, 0x32, 0x54, 0x76,},
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ Buffer(9){0x10, 0x32, 0x54, 0x76,},
+ 0, 0,},
+ })
+
+ Name(p064, Package(17) {
+ // index of the Operator
+ 0,
+ // SRC0 initial value
+ 0xfedcba9876543210,
+ // Target Objects initial values
+ Package(17) {
+ 0,
+ 0xfedcba9876543211,
+ "target string",
+ Buffer(17){0xc3},
+ Package(1) {
+ "target package"},
+ 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,
+ 0, 0,},
+ // Benchmark Result object value
+ 0xfedcba9876543210,
+ // Benchmark Result object converted to Target type values
+ Package(17) {
+ 0,
+ 0xfedcba9876543210,
+ "FEDCBA9876543210",
+ Buffer(17){0x10, 0x32, 0x54, 0x76, 0x98, 0xBA, 0xDC, 0xFE,},
+ 0,
+ Buffer(9){0x10, 0x32, 0x54, 0x76, 0x98, 0xBA, 0xDC, 0xFE,},
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ Buffer(9){0x10, 0x32, 0x54, 0x76, 0x98, 0xBA, 0xDC, 0xFE,},
+ 0, 0,},
+ })
+
+ // ToBCD
+
+ Name(p132, Package(17) {
+ // index of the Operator
+ 1,
+ // SRC0 initial value
+ 90123456,
+ // Target Objects initial values
+ Package(17) {
+ 0,
+ 0xfedcba9876543211,
+ "target string",
+ Buffer(17){0xc3},
+ Package(1) {
+ "target package"},
+ 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,
+ 0, 0,},
+ // Benchmark Result object value
+ 0x90123456,
+ // Benchmark Result object converted to Target type values
+ Package(17) {
+ 0,
+ 0x90123456,
+ "90123456",
+ Buffer(17){0x56, 0x34, 0x12, 0x90,},
+ 0,
+ Buffer(9){0x56, 0x34, 0x12, 0x90,},
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ Buffer(9){0x56, 0x34, 0x12, 0x90,},
+ 0, 0,},
+ })
+
+ Name(p164, Package(17) {
+ // index of the Operator
+ 1,
+ // SRC0 initial value
+ 3789012345678901,
+ // Target Objects initial values
+ Package(17) {
+ 0,
+ 0xfedcba9876543211,
+ "target string",
+ Buffer(17){0xc3},
+ Package(1) {
+ "target package"},
+ 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,
+ 0, 0,},
+ // Benchmark Result object value
+ 0x3789012345678901,
+ // Benchmark Result object converted to Target type values
+ Package(17) {
+ 0,
+ 0x3789012345678901,
+ "3789012345678901",
+ Buffer(17){0x01, 0x89, 0x67, 0x45, 0x23, 0x01, 0x89, 0x37,},
+ 0,
+ Buffer(9){0x01, 0x89, 0x67, 0x45, 0x23, 0x01, 0x89, 0x37,},
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ Buffer(9){0x01, 0x89, 0x67, 0x45, 0x23, 0x01, 0x89, 0x37,},
+ 0, 0,},
+ })
+
+ // FromBCD
+
+ Name(p232, Package(17) {
+ // index of the Operator
+ 2,
+ // SRC0 initial value
+ 0x90123456,
+ // Target Objects initial values
+ Package(17) {
+ 0,
+ 0xfedcba9876543211,
+ "target string",
+ Buffer(17){0xc3},
+ Package(1) {
+ "target package"},
+ 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,
+ 0, 0,},
+ // Benchmark Result object value
+ 90123456,
+ // Benchmark Result object converted to Target type values
+ Package(17) {
+ 0,
+ 90123456,
+ "055F2CC0",
+ Buffer(17){0xC0, 0x2C, 0x5F, 0x05,},
+ 0,
+ Buffer(9){0xC0, 0x2C, 0x5F, 0x05,},
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ Buffer(9){0xC0, 0x2C, 0x5F, 0x05,},
+ 0, 0,},
+ })
+
+ Name(p264, Package(17) {
+ // index of the Operator
+ 2,
+ // SRC0 initial value
+ 0x3789012345678901,
+ // Target Objects initial values
+ Package(17) {
+ 0,
+ 0xfedcba9876543211,
+ "target string",
+ Buffer(17){0xc3},
+ Package(1) {
+ "target package"},
+ 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,
+ 0, 0,},
+ // Benchmark Result object value
+ 3789012345678901,
+ // Benchmark Result object converted to Target type values
+ Package(17) {
+ 0,
+ 3789012345678901,
+ "000D76162EE9EC35",
+ Buffer(17){0x35, 0xEC, 0xE9, 0x2E, 0x16, 0x76, 0x0D,},
+ 0,
+ Buffer(9){0x35, 0xEC, 0xE9, 0x2E, 0x16, 0x76, 0x0D,},
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ Buffer(9){0x35, 0xEC, 0xE9, 0x2E, 0x16, 0x76, 0x0D,},
+ 0, 0,},
+ })
+
+ // ToString
+
+ Name(p332, Package(17) {
+ // index of the Operator
+ 3,
+ // SRC0 initial value
+ "fedcba98 string",
+ // Target Objects initial values
+ Package(17) {
+ 0,
+ 0xfedcba9876543211,
+ "target string",
+ Buffer(17){0xc3},
+ Package(1) {
+ "target package"},
+ 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,
+ 0, 0,},
+ // Benchmark Result object value
+ "fedcba98 string",
+ // Benchmark Result object converted to Target type values
+ Package(17) {
+ 0,
+ 0xfedcba98,
+ "fedcba98 string",
+ Buffer(17){0x66, 0x65, 0x64, 0x63, 0x62, 0x61, 0x39, 0x38, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6E, 0x67,},
+ 0,
+ Buffer(9){0x66, 0x65, 0x64, 0x63, 0x62, 0x61, 0x39, 0x38,},
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ Buffer(9){0x66, 0x65, 0x64, 0x63, 0x62, 0x61, 0x39, 0x38,},
+ 0, 0,},
+ })
+
+ Name(p364, Package(17) {
+ // index of the Operator
+ 3,
+ // SRC0 initial value
+ "fedcba9876543210 string",
+ // Target Objects initial values
+ Package(17) {
+ 0,
+ 0xfedcba9876543211,
+ "target string",
+ Buffer(17){0xc3},
+ Package(1) {
+ "target package"},
+ 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,
+ 0, 0,},
+ // Benchmark Result object value
+ "fedcba9876543210 string",
+ // Benchmark Result object converted to Target type values
+ Package(17) {
+ 0,
+ 0xfedcba9876543210,
+ "fedcba9876543210 string",
+ Buffer(17){0x66, 0x65, 0x64, 0x63, 0x62, 0x61, 0x39, 0x38, 0x37, 0x36, 0x35, 0x34, 0x33, 0x32, 0x31, 0x30, 0x20,},
+ 0,
+ Buffer(9){0x66, 0x65, 0x64, 0x63, 0x62, 0x61, 0x39, 0x38, 0x17,},
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ Buffer(9){0x66, 0x65, 0x64, 0x63, 0x62, 0x61, 0x39, 0x38, 0x17,},
+ 0, 0,},
+ })
+
+ // ToHexString
+
+ Name(p432, Package(17) {
+ // index of the Operator
+ 4,
+ // SRC0 initial value
+ "fedcba98 string",
+ // Target Objects initial values
+ Package(17) {
+ 0,
+ 0xfedcba9876543211,
+ "target string",
+ Buffer(17){0xc3},
+ Package(1) {
+ "target package"},
+ 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,
+ 0, 0,},
+ // Benchmark Result object value
+ "fedcba98 string",
+ // Benchmark Result object converted to Target type values
+ Package(17) {
+ 0,
+ 0xfedcba98,
+ "fedcba98 string",
+ Buffer(17){0x66, 0x65, 0x64, 0x63, 0x62, 0x61, 0x39, 0x38, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6E, 0x67,},
+ 0,
+ Buffer(9){0x66, 0x65, 0x64, 0x63, 0x62, 0x61, 0x39, 0x38,},
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ Buffer(9){0x66, 0x65, 0x64, 0x63, 0x62, 0x61, 0x39, 0x38,},
+ 0, 0,},
+ })
+
+ Name(p464, Package(17) {
+ // index of the Operator
+ 4,
+ // SRC0 initial value
+ "fedcba9876543210 string",
+ // Target Objects initial values
+ Package(17) {
+ 0,
+ 0xfedcba9876543211,
+ "target string",
+ Buffer(17){0xc3},
+ Package(1) {
+ "target package"},
+ 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,
+ 0, 0,},
+ // Benchmark Result object value
+ "fedcba9876543210 string",
+ // Benchmark Result object converted to Target type values
+ Package(17) {
+ 0,
+ 0xfedcba9876543210,
+ "fedcba9876543210 string",
+ Buffer(17){0x66, 0x65, 0x64, 0x63, 0x62, 0x61, 0x39, 0x38, 0x37, 0x36, 0x35, 0x34, 0x33, 0x32, 0x31, 0x30, 0x20,},
+ 0,
+ Buffer(9){0x66, 0x65, 0x64, 0x63, 0x62, 0x61, 0x39, 0x38, 0x17,},
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ Buffer(9){0x66, 0x65, 0x64, 0x63, 0x62, 0x61, 0x39, 0x38, 0x17,},
+ 0, 0,},
+ })
+
+ // ToDecimalString
+
+ Name(p532, Package(17) {
+ // index of the Operator
+ 5,
+ // SRC0 initial value
+ "fedcba98 string",
+ // Target Objects initial values
+ Package(17) {
+ 0,
+ 0xfedcba9876543211,
+ "target string",
+ Buffer(17){0xc3},
+ Package(1) {
+ "target package"},
+ 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,
+ 0, 0,},
+ // Benchmark Result object value
+ "fedcba98 string",
+ // Benchmark Result object converted to Target type values
+ Package(17) {
+ 0,
+ 0xfedcba98,
+ "fedcba98 string",
+ Buffer(17){0x66, 0x65, 0x64, 0x63, 0x62, 0x61, 0x39, 0x38, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6E, 0x67,},
+ 0,
+ Buffer(9){0x66, 0x65, 0x64, 0x63, 0x62, 0x61, 0x39, 0x38,},
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ Buffer(9){0x66, 0x65, 0x64, 0x63, 0x62, 0x61, 0x39, 0x38,},
+ 0, 0,},
+ })
+
+ Name(p564, Package(17) {
+ // index of the Operator
+ 5,
+ // SRC0 initial value
+ "fedcba9876543210 string",
+ // Target Objects initial values
+ Package(17) {
+ 0,
+ 0xfedcba9876543211,
+ "target string",
+ Buffer(17){0xc3},
+ Package(1) {
+ "target package"},
+ 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,
+ 0, 0,},
+ // Benchmark Result object value
+ "fedcba9876543210 string",
+ // Benchmark Result object converted to Target type values
+ Package(17) {
+ 0,
+ 0xfedcba9876543210,
+ "fedcba9876543210 string",
+ Buffer(17){0x66, 0x65, 0x64, 0x63, 0x62, 0x61, 0x39, 0x38, 0x37, 0x36, 0x35, 0x34, 0x33, 0x32, 0x31, 0x30, 0x20,},
+ 0,
+ Buffer(9){0x66, 0x65, 0x64, 0x63, 0x62, 0x61, 0x39, 0x38, 0x17,},
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ Buffer(9){0x66, 0x65, 0x64, 0x63, 0x62, 0x61, 0x39, 0x38, 0x17,},
+ 0, 0,},
+ })
+
+ // ToBuffer
+
+ Name(p632, Package(17) {
+ // index of the Operator
+ 6,
+ // SRC0 initial value
+ Buffer(7){7,6,5,4,3,2,1},
+ // Target Objects initial values
+ Package(17) {
+ 0,
+ 0xfedcba9876543211,
+ "target string",
+ Buffer(17){0xc3},
+ Package(1) {
+ "target package"},
+ 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,
+ 0, 0,},
+ // Benchmark Result object value
+ Buffer(7){7,6,5,4,3,2,1},
+ // Benchmark Result object converted to Target type values
+ Package(17) {
+ 0,
+ 0x4050607,
+ "07 06 05 04 03 02 01",
+ Buffer(17){7,6,5,4,3,2,1},
+ 0,
+ Buffer(9){7,6,5,4,3,2,1},
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ Buffer(9){7,6,5,4,3,2,1},
+ 0, 0,},
+ })
+
+ Name(p664, Package(17) {
+ // index of the Operator
+ 6,
+ // SRC0 initial value
+ Buffer(7){7,6,5,4,3,2,1},
+ // Target Objects initial values
+ Package(17) {
+ 0,
+ 0xfedcba9876543211,
+ "target string",
+ Buffer(17){0xc3},
+ Package(1) {
+ "target package"},
+ 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,
+ 0, 0,},
+ // Benchmark Result object value
+ Buffer(7){7,6,5,4,3,2,1},
+ // Benchmark Result object converted to Target type values
+ Package(17) {
+ 0,
+ 0x1020304050607,
+ "07 06 05 04 03 02 01",
+ Buffer(17){7,6,5,4,3,2,1},
+ 0,
+ Buffer(9){7,6,5,4,3,2,1},
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ Buffer(9){7,6,5,4,3,2,1},
+ 0, 0,},
+ })
+
+ Name(p320, Package(7) {p032, p132, p232, p332, p432, p532, p632})
+ Name(p640, Package(7) {p064, p164, p264, p364, p464, p564, p664})
+
+ Name(scl0, Buffer(){1,1,1,2,2,2,3})
+
+ Name(lpN0, 17)
+ Name(lpC0, 0)
+
+ Name(lpN1, 0)
+ Name(lpC1, 0)
+
+ if (LEqual(arg0, 0)) {
+ Concatenate(ts, "-S", ts)
+ } elseif (LEqual(arg0, 1)){
+ Concatenate(ts, "-C", ts)
+ } elseif (LEqual(arg0, 2)){
+ Concatenate(ts, "-O", ts)
+ }
+
+ if (LEqual(arg4, 0)) {
+ Concatenate(ts, "-N", ts)
+ } else {
+ Concatenate(ts, "-L", ts)
+ }
+
+ if (arg1) {
+ Concatenate(ts, "-Exc", ts)
+ }
+
+ SRMT(ts)
+
+ // Initialize statistics
+ m001()
+
+ if (LGreater(arg0, 2)) {
+ // Unexpected Kind of Op (0 - Store, ...)
+ err(Concatenate(ts, terr), z126, 33, 0, 0, arg0, 0)
+ Return (1)
+ }
+
+ if (LGreater(arg4, 1)) {
+ // Unexpected Kind of Source-Target pair
+ err(Concatenate(ts, terr), z126, 34, 0, 0, arg4, 0)
+ Return (1)
+ }
+
+ // Flags of Store from and to Named to check
+ // exceptional conditions on storing
+ if (LNotEqual(arg0, 0)) {
+ Store(0, Local0)
+ Store(0, Local1)
+ } else {
+ Store(1, Local0)
+ Store(LEqual(arg4, 0), Local1)
+ }
+
+ // Enumerate Target types
+ While (lpN0) {
+ if (LAnd(Derefof(Index(b670, lpC0)), Derefof(Index(arg2, lpC0)))) {
+ // Not invalid type of the Target Object to store in
+
+ Store(7, lpN1)
+ Store(0, lpC1)
+
+ // Enumerate the Explicit conversion operators
+ // which determine expected Result types
+ While (lpN1) {
+ // Choose expected Result type
+
+ if (y900) {
+ Store(Derefof(Index(Buffer(){1,1,1,2,2,2,3}, lpC1)), Local2)
+ } else {
+ Store(Derefof(Index(scl0, lpC1)), Local2)
+ }
+
+ if (LAnd(Derefof(Index(b671, Local2)), Derefof(Index(arg3, Local2)))) {
+ // Not invalid type of the result Object to be stored
+ if (F64) {
+ Store(Derefof(Index(p640, lpC1)), Local3)
+ } else {
+ Store(Derefof(Index(p320, lpC1)), Local3)
+ }
+
+ if (arg1) {
+ // Skip cases without exceptional conditions
+ if (LNot(m685(LNotEqual(arg0, 0), lpC0, Local2, Local0, Local1))) {
+ Decrement(lpN1)
+ Increment(lpC1)
+ Continue
+ }
+ } else {
+ // Skip cases with exceptional conditions
+ if (m685(LNotEqual(arg0, 0), lpC0, Local2, Local0, Local1)) {
+ Decrement(lpN1)
+ Increment(lpC1)
+ Continue
+ }
+ }
+
+ if (LEqual(arg4, 0)) {
+ // Named Source and Target
+ m008(Concatenate(ts, "-m008"), 0, lpC0, Local2, arg0, arg1, Local3)
+ } elseif (LEqual(arg4, 1)) {
+ // LocalX Target
+ m009(Concatenate(ts, "-m009"), 0, lpC0, Local2, arg0, arg1, Local3)
+ }
+ }
+ Decrement(lpN1)
+ Increment(lpC1)
+ }
+ }
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+
+ // Output statistics
+ m002(Concatenate("Storing of the result of Explicit conversion to Named Object with ",
+ Derefof(Index(PAC4, arg0))))
+
+ Return (0)
+}
+
+// Run-method
+Method(RES3)
+{
+ Store("TEST: RES3, Result Object optional storing in the explicit conversion operators", Debug)
+
+ // Named Source and Target
+
+ // Store the result of the explicit conversion operators
+ m693(0, 0, b676, b676, 0)
+ // CopyObject the result of the explicit conversion operators
+ m693(1, 0, b676, b676, 0)
+ // Optional storing of the result of the explicit conversion operators
+ m693(2, 0, b676, b676, 0)
+
+ // LocalX Target
+
+ // Store the result of the explicit conversion operators
+ m693(0, 0, b677, b676, 1)
+ // CopyObject the result of the explicit conversion operators
+ m693(1, 0, b677, b676, 1)
+ // Optional storing of the result of the explicit conversion operators
+ m693(2, 0, b677, b676, 1)
+}
+
diff --git a/tests/aslts/src/runtime/collections/complex/result/tests/rindecrement/MAIN.asl b/tests/aslts/src/runtime/collections/complex/result/tests/rindecrement/MAIN.asl
new file mode 100644
index 000000000..008eaf74a
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/result/tests/rindecrement/MAIN.asl
@@ -0,0 +1,58 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "rindecrement.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../../runtime/cntl/DECL_6UP.asl")
+ Include("../../../../../../runtime/collections/complex/result/common/rcommon.asl")
+ Include("../../../../../../runtime/collections/complex/result/tests/rindecrement/rindecrement.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../../runtime/collections/complex/result/tests/rindecrement/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/complex/result/tests/rindecrement/Makefile b/tests/aslts/src/runtime/collections/complex/result/tests/rindecrement/Makefile
new file mode 100644
index 000000000..38aba9a01
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/result/tests/rindecrement/Makefile
@@ -0,0 +1,7 @@
+# rindecrement
+
+AMLMOD= rindecrement
+COLL= ../../../..
+
+TOP= $(COLL)/../../..
+include $(COLL)/Makefile.install
diff --git a/tests/aslts/src/runtime/collections/complex/result/tests/rindecrement/RUN.asl b/tests/aslts/src/runtime/collections/complex/result/tests/rindecrement/RUN.asl
new file mode 100644
index 000000000..3f4f3b243
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/result/tests/rindecrement/RUN.asl
@@ -0,0 +1,35 @@
+/*
+ * 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.
+ */
+
+
+if (STTT("Result Object proccessing in Increment/Decrement", TCLC, 16, W011)) {
+ RES2()
+}
+FTTT()
diff --git a/tests/aslts/src/runtime/collections/complex/result/tests/rindecrement/rindecrement.asl b/tests/aslts/src/runtime/collections/complex/result/tests/rindecrement/rindecrement.asl
new file mode 100644
index 000000000..3b7e01535
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/result/tests/rindecrement/rindecrement.asl
@@ -0,0 +1,823 @@
+/*
+ * 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.
+ */
+
+/*
+ * Check Result Object proccessing on Increment/Decrement
+ */
+
+Name(z125, 125)
+
+// Test verifying Result Object processing on storing of the resilt
+// into different kinds of Target Objects by means of the specified
+// either Increment or Decrement operator
+// m692(<op (Increment/Decrement)>, <exc. conditions>)
+Method(m692, 2)
+{
+ Name(ts, "m692")
+
+/*
+ - choose a type of the destination operand Object (Dst0):
+ = Uninitialized
+ = Integer
+ = String
+ = Buffer
+ = Package
+ ...
+
+ - choose kind of the operand Object:
+ = Named Object
+ = Method ArgX Object
+ = Method LocalX Object
+
+ - choose a value to initialize Dst0,
+
+ - choose a benchmark value according to the initialized value - Bval
+
+ - check that the Dst0 is properly initialized
+
+ - perform storing expression:
+ Increment(Expr(Dst0))
+ Decrement(Expr(Dst0))
+
+ - check that the benchmark value Bval is equal to the updated
+ destination operand Object Dst0
+
+*/
+ // Object-initializers are used with Source~Target
+
+ // Integer
+ Name(INT0, 0xfedcba9876543210)
+
+ // String
+ Name(STR0, "76543210")
+ Name(STR1, "76543210")
+
+ // Buffer
+ Name(BUF0, Buffer(9){9,8,7,6,5,4,3,2,1})
+ Name(BUF1, Buffer(9){9,8,7,6,5,4,3,2,1})
+
+ // Initializer of Fields
+ Name(BUF2, Buffer(9){0x95,0x85,0x75,0x65,0x55,0x45,0x35,0x25,0x15})
+
+ // Base of Buffer Fields
+ Name(BUFZ, Buffer(20){})
+
+ // Package
+ Name(PAC0, Package(3) {
+ 0xfedcba987654321f,
+ "test package",
+ Buffer(9){19,18,17,16,15,14,13,12,11},
+ })
+
+ if (y361) {
+ // Field Unit
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ FLU0, 69,
+ FLU1, 69,
+ }
+ }
+
+ // Device
+ Device(DEV0) {Name(s000, "DEV0")}
+
+ // Event
+ Event(EVE0)
+
+ // Method
+ Name(MMM0, 0) // Method as Source Object
+ Method(MMMX) {Return ("abcd")}
+
+ // Mutex
+ Mutex(MTX0, 0)
+
+ if (y361) {
+ // Operation Region
+ OperationRegion(OPR0, SystemMemory, 0, 20)
+ }
+
+ // Power Resource
+ PowerResource(PWR0, 0, 0) {Name(s000, "PWR0")}
+
+ // Processor
+ Processor(CPU0, 0x0, 0xFFFFFFFF, 0x0) {Name(s000, "CPU0")}
+
+ // Thermal Zone
+ ThermalZone(TZN0) {Name(s000, "TZN0")}
+
+ // Buffer Field
+ Createfield(BUFZ, 0, 69, BFL0)
+ Createfield(BUFZ, 0, 69, BFL1)
+
+ // Data to gather statistics
+
+ Name(STCS, 0)
+
+ Name(INDM, 255)
+
+ Name(PAC2, Package(1) {})
+ Name(IND2, 0)
+
+ Name(PAC3, Package(1) {})
+ Name(IND3, 0)
+
+ Name(PAC4, Package(2) {
+ "Increment",
+ "Decrement",
+ })
+
+ Name(terr, "-test error")
+
+ // Update statistics
+ // m000(<type>, <shift>, <low>, <up>)
+ Method(m000, 4)
+ {
+ if (LEqual(arg0, 2)) {
+ if (LLess(IND2, INDM)) {
+ Store(Add(Multiply(arg3, arg1), arg2), Index(PAC2, IND2))
+ Increment(IND2)
+ }
+ } elseif (LEqual(arg0, 3)) {
+ if (LLess(IND3, INDM)) {
+ Store(Add(Multiply(arg3, arg1), arg2), Index(PAC3, IND3))
+ Increment(IND3)
+ }
+ }
+ }
+
+ // Initialize statistics
+ Method(m001)
+ {
+ if (STCS) {
+ Store(Package(255) {}, PAC2)
+ Store(0, IND2)
+ Store(Package(255) {}, PAC3)
+ Store(0, IND3)
+ }
+ }
+
+ // Output statistics
+ Method(m002, 1)
+ {
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+
+ if (STCS) {
+ Store(arg0, Debug)
+
+ if (IND2) {
+ Store("Run-time exceptions:", Debug)
+ Store(IND2, Debug)
+ Store("Types:", Debug)
+
+ Store(IND2, lpN0)
+ Store(0, lpC0)
+
+ While (lpN0) {
+ Store(Derefof(Index(PAC2, lpC0)), Debug)
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+ }
+
+ if (IND3) {
+ Store("Type mismatch:", Debug)
+ Store(IND3, Debug)
+
+ Store(IND3, lpN0)
+ Store(0, lpC0)
+
+ While (lpN0) {
+ Store(Derefof(Index(PAC3, lpC0)), Debug)
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+ }
+ }
+ }
+
+ // Prepare Source of specified type
+ Method(m004, 3)
+ {
+ Switch(ToInteger(arg1)) {
+ Case(0) {
+ }
+ Case(1) {
+ CopyObject(INT0, arg2)
+ }
+ Case(2) {
+ CopyObject(STR0, arg2)
+ }
+ Case(3) {
+ CopyObject(BUF0, arg2)
+ }
+ Case(4) {
+ CopyObject(PAC0, arg2)
+ }
+ Case(5) {
+ Store(BUF2, FLU0)
+ }
+ Case(6) {
+ CopyObject(DEV0, arg2)
+ }
+ Case(7) {
+ CopyObject(EVE0, arg2)
+ }
+ Case(8) {
+ CopyObject(Derefof(Refof(MMMX)), MMM0)
+ CopyObject(Derefof(Refof(MMM0)), arg2)
+ }
+ Case(9) {
+ CopyObject(MTX0, arg2)
+ }
+ Case(10) {
+ CopyObject(OPR0, arg2)
+ }
+ Case(11) {
+ CopyObject(PWR0, arg2)
+ }
+ Case(12) {
+ CopyObject(CPU0, arg2)
+ }
+ Case(13) {
+ CopyObject(TZN0, arg2)
+ }
+ Case(14) {
+ Store(BUF2, BFL0)
+ }
+ Default {
+ // Unexpected Source Type
+ err(Concatenate(arg0, terr), z125, 1, 0, 0, arg1, 0)
+ Return (1)
+ }
+ }
+ if (CH03(arg0, z125, 2, arg1, 0)) {
+ // Exception during preparing of Source Object
+ Return (1)
+ }
+
+ Store(ObjectType(arg2), Local0)
+ if (LNotEqual(Local0, arg1)) {
+ // ObjectType of Source can not be set up
+ err(arg0, z125, 3, 0, 0, Local0, arg1)
+ Return (1)
+ }
+
+ Return (0)
+ }
+
+ // Check Target Object to have the expected type and value
+ // m006(<msg>, <ref to target>, <target type>, <source type>,
+ // <op>, <target save type>)
+ Method(m006, 6)
+ {
+ Name(MMM2, 0) // The auxiliary Object to invoke Method
+
+ Store(ObjectType(arg1), Local2)
+
+ // Target must save type
+ if (LNotEqual(Local2, arg2)) {
+ // Types mismatch Target/Target on storing
+ if (LAnd(LEqual(arg2, c009), // Target (Result) type is Integer
+ // Source (Target) type is String, Buffer
+ Lor(LEqual(arg3, c00a), LEqual(arg3, c00b)))) {
+ if (X195) {
+ err(arg0, z125, 4, 0, 0, Local2, arg2)
+ }
+ } else {
+ err(arg0, z125, 4, 0, 0, Local2, arg2)
+ }
+ if (STCS) {m000(3, 0x100, arg2, Local2)}
+ Return (1)
+ }
+
+ Switch(ToInteger(arg2)) {
+ Case(1) {
+ Switch(ToInteger(arg3)) {
+ Case(1) {
+ if (LEqual(arg4, 0)) {
+ // Increment
+ Add(INT0, 1, Local0)
+ } elseif (LEqual(arg4, 1)) {
+ Subtract(INT0, 1, Local0)
+ } else {
+ Store(INT0, Local0)
+ }
+ if (LNotEqual(Derefof(arg1), Local0)) {
+ err(arg0, z125, 5, 0, 0, Derefof(arg1), Local0)
+ Return (1)
+ }
+ }
+ Case(2) {
+ if (LEqual(arg4, 0)) {
+ // Increment
+ Add(STR0, 1, Local0)
+ } elseif (LEqual(arg4, 1)) {
+ Subtract(STR0, 1, Local0)
+ } else {
+ Store(STR0, Local0)
+ }
+ if (LNotEqual(Derefof(arg1), Local0)) {
+ err(arg0, z125, 6, 0, 0, Derefof(arg1), Local0)
+ Return (1)
+ }
+ }
+ Case(3) {
+ if (LEqual(arg4, 0)) {
+ // Increment
+ Add(BUF0, 1, Local0)
+ } elseif (LEqual(arg4, 1)) {
+ Subtract(BUF0, 1, Local0)
+ } else {
+ Store(BUF0, Local0)
+ }
+ if (LNotEqual(Derefof(arg1), Local0)) {
+ err(arg0, z125, 7, 0, 0, Derefof(arg1), Local0)
+ Return (1)
+ }
+ }
+ Default{
+ err(Concatenate(arg0, terr), z125, 8, 0, 0, arg1, arg3)
+ Return (1)
+ }
+ }
+ }
+ Case(2) {
+ Switch(ToInteger(arg3)) {
+ Case(2) {
+ if (LEqual(arg4, 0)) {
+ // Increment
+ Add(STR0, 1, STR1)
+ } elseif (LEqual(arg4, 1)) {
+ Subtract(STR0, 1, STR1)
+ } else {
+ Store(STR0, STR1)
+ }
+ if (LNotEqual(Derefof(arg1), STR1)) {
+ err(arg0, z125, 9, 0, 0, Derefof(arg1), STR1)
+ Return (1)
+ }
+ }
+ Default{
+ err(Concatenate(arg0, terr), z125, 10, 0, 0, arg1, arg3)
+ Return (1)
+ }
+ }
+ }
+ Case(3) {
+ Switch(ToInteger(arg3)) {
+ Case(3) {
+ if (LEqual(arg4, 0)) {
+ // Increment
+ Add(BUF0, 1, BUF1)
+ } elseif (LEqual(arg4, 1)) {
+ Subtract(BUF0, 1, BUF1)
+ } else {
+ Store(BUF0, BUF1)
+ }
+ if (LNotEqual(Derefof(arg1), BUF1)) {
+ err(arg0, z125, 11, 0, 0, Derefof(arg1), BUF1)
+ Return (1)
+ }
+ }
+ Default{
+ err(Concatenate(arg0, terr), z125, 12, 0, 0, arg1, arg3)
+ Return (1)
+ }
+ }
+ }
+ Case(5) {
+ Switch(ToInteger(arg3)) {
+ Case(5) {
+ if (LEqual(arg4, 0)) {
+ // Increment
+ Add(FLU0, 1, FLU1)
+ } elseif (LEqual(arg4, 1)) {
+ Subtract(FLU0, 1, FLU1)
+ } else {
+ Store(FLU0, FLU1)
+ }
+ if (LNotEqual(Derefof(arg1), FLU1)) {
+ err(arg0, z125, 13, 0, 0, Derefof(arg1), FLU1)
+ Return (1)
+ }
+ }
+ Default{
+ err(Concatenate(arg0, terr), z125, 14, 0, 0, arg1, arg3)
+ Return (1)
+ }
+ }
+ }
+ Case(14) {
+ Switch(ToInteger(arg3)) {
+ Case(14) {
+ if (LEqual(arg4, 0)) {
+ // Increment
+ Add(BFL0, 1, BFL1)
+ } elseif (LEqual(arg4, 1)) {
+ Subtract(BFL0, 1, BFL1)
+ } else {
+ Store(BFL0, BFL1)
+ }
+ if (LNotEqual(Derefof(arg1), BFL1)) {
+ err(arg0, z125, 15, 0, 0, Derefof(arg1), BFL1)
+ Return (1)
+ }
+ }
+ Default{
+ err(Concatenate(arg0, terr), z125, 16, 0, 0, arg1, arg3)
+ Return (1)
+ }
+ }
+ }
+ Default{
+ err(Concatenate(arg0, terr), z125, 17, 0, 0, arg1, arg3)
+ Return (1)
+ }
+ }
+ Return (0)
+ }
+
+ // Check processing of an Source Named Object of the specified type
+ // as an immediate operand in Increment/Decrement operators
+ // m008(<msg>, <aux>, <target type>, <source type>,
+ // <op>, <exc. condition>)
+ Method(m008, 6)
+ {
+ // Source Named Object
+ Name(SRC0, 0)
+
+ Concatenate(arg0, "-", arg0)
+ Concatenate(arg0, Concatenate(Mid(arg4,0,2), Concatenate(Mid(arg2,0,2), Mid(arg3,0,2))), arg0)
+ if (STCS) {Store(arg0, Debug)}
+
+ // Target save type of Increment/Decrement operators is 0
+ // (Target should take a type of Integer)
+ Store(0, Local0)
+
+ if (LEqual(arg3, 5)) { // Field Unit Source/Target
+ Store(Refof(FLU0), Local3)
+ } elseif (LEqual(arg3, 14)) { // Buffer Field Source/Target
+ Store(Refof(BFL0), Local3)
+ } else {
+ Store(Refof(SRC0), Local3)
+ }
+
+ // Prepare Source of specified type
+ if (m004(Concatenate(arg0, "-m004"), arg3, Local3)) {
+ // Source Object can not be prepared
+ err(Concatenate(arg0, terr), z125, 18, 0, 0, arg3, 0)
+ Return (1)
+ }
+
+ // Use a Source Object immediately in the Operator
+ if (LEqual(arg3, 5)) { // Field Unit Source/Target
+ if (LEqual(arg4, 0)) { // Increment
+ Increment(FLU0)
+ } elseif (LEqual(arg4, 1)) { // Decrement
+ Decrement(FLU0)
+ } else {
+ // Unexpected Kind of Op (0 - Increment, 1 - Decrement)
+ err(Concatenate(arg0, terr), z125, 19, 0, 0, arg4, 0)
+ Return (1)
+ }
+ } elseif (LEqual(arg3, 14)) { // Buffer Source/Field Target
+ if (LEqual(arg4, 0)) { // Increment
+ Increment(BFL0)
+ } elseif (LEqual(arg4, 1)) { // Decrement
+ Decrement(BFL0)
+ } else {
+ // Unexpected Kind of Op (0 - Increment, 1 - Decrement)
+ err(Concatenate(arg0, terr), z125, 20, 0, 0, arg4, 0)
+ Return (1)
+ }
+ } elseif (LEqual(arg4, 0)) { // Increment
+ Increment(SRC0)
+ } elseif (LEqual(arg4, 1)) { // Decrement
+ Decrement(SRC0)
+ } else {
+ // Unexpected Kind of Op (0 - Increment, 1 - Decrement)
+ err(Concatenate(arg0, terr), z125, 21, 0, 0, arg4, 0)
+ Return (1)
+ }
+
+ if (arg5) {
+ // Exception is expected
+ if (LNot(CH06(arg0, 22, 0xff))) {
+ if (STCS) {m000(2, 0x100, arg2, arg3)}
+ }
+ } elseif (CH03(arg0, z125, 23, arg3, arg2)) {
+ // Processing caused unexpected exception
+ if (STCS) {m000(2, 0x100, arg2, arg3)}
+ } else {
+ // Check Target Object to have the expected type and value
+ m006(Concatenate(arg0, "-m006"), Local3, arg2, arg3, arg4, Local0)
+ }
+ Return (0)
+ }
+
+ // Check processing of an Source LocalX Object of the specified type
+ // as an immediate operand in Increment/Decrement operators
+ // m009(<msg>, <aux>, <target type>, <source type>,
+ // <op>, <exc. condition>)
+ Method(m009, 6)
+ {
+ // Source LocalX Object: Local1
+
+ Concatenate(arg0, "-", arg0)
+ Concatenate(arg0, Concatenate(Mid(arg4,0,2), Concatenate(Mid(arg2,0,2), Mid(arg3,0,2))), arg0)
+ if (STCS) {Store(arg0, Debug)}
+
+ // Target save type of Increment/Decrement operators is 0
+ // (Target should take a type of Integer)
+ Store(0, Local0)
+
+ if (m004(Concatenate(arg0, "-m004"), arg3, Refof(Local1))) {
+ // Source Object can not be prepared
+ err(Concatenate(arg0, terr), z125, 24, 0, 0, arg3, 0)
+ Return (1)
+ }
+
+ if (LEqual(arg4, 0)) { // Increment
+ Increment(Local1)
+ } elseif (LEqual(arg4, 1)) { // Decrement
+ Decrement(Local1)
+ } else {
+ // Unexpected Kind of Op (0 - Increment, 1 - Decrement)
+ err(Concatenate(arg0, terr), z125, 25, 0, 0, arg4, 0)
+ Return (1)
+ }
+
+ if (arg5) {
+ // Exception is expected
+ if (LNot(CH06(arg0, 26, 0xff))) {
+ if (STCS) {m000(2, 0x100, arg2, arg3)}
+ }
+ } elseif (CH03(arg0, z125, 27, arg3, arg2)) {
+ // Processing caused unexpected exception
+ if (STCS) {m000(2, 0x100, arg2, arg3)}
+ } else {
+ // Check Target Object to have the expected type and value
+ m006(Concatenate(arg0, "-m006"), Refof(Local1), arg2, arg3, arg4, Local0)
+ }
+ Return (0)
+ }
+
+ // Check processing of an Source LocalX Object of the specified type
+ // as an immediate argument of the Method in which it is used
+ // as an immediate operand in Increment/Decrement operators
+ // m00a(<msg>, <aux>, <target type>, <source type>,
+ // <op>, <exc. condition>)
+ Method(m00a, 6)
+ {
+ // Source LocalX Object: Local1
+
+ Method(m100, 1)
+ {
+ Increment(arg0)
+ Return (arg0)
+ }
+
+ Method(m101, 1)
+ {
+ Decrement(arg0)
+ Return (arg0)
+ }
+
+ Concatenate(arg0, "-", arg0)
+ Concatenate(arg0, Concatenate(Mid(arg4,0,2), Concatenate(Mid(arg2,0,2), Mid(arg3,0,2))), arg0)
+ if (STCS) {Store(arg0, Debug)}
+
+ // Target save type of Increment/Decrement operators is 0
+ // (Target should take a type of Integer)
+ Store(0, Local0)
+
+ if (m004(Concatenate(arg0, "-m004"), arg3, Refof(Local1))) {
+ // Source Object can not be prepared
+ err(Concatenate(arg0, terr), z125, 28, 0, 0, arg3, 0)
+ Return (1)
+ }
+
+ if (LEqual(arg4, 0)) { // Increment
+ Store(m100(Local1), Local2)
+ } elseif (LEqual(arg4, 1)) { // Decrement
+ Store(m101(Local1), Local2)
+ } else {
+ // Unexpected Kind of Op (0 - Increment, 1 - Decrement)
+ err(Concatenate(arg0, terr), z125, 29, 0, 0, arg4, 0)
+ Return (1)
+ }
+
+ if (arg5) {
+ // Exception is expected
+ if (LNot(CH06(arg0, 30, 0xff))) {
+ if (STCS) {m000(2, 0x100, arg2, arg3)}
+ }
+ } elseif (CH03(arg0, z125, 31, arg3, arg2)) {
+ // Processing caused unexpected exception
+ if (STCS) {m000(2, 0x100, arg2, arg3)}
+ } else {
+ // Check Target Object to have the expected type and value
+ m006(Concatenate(arg0, "-m006"), Refof(Local2), arg2, arg3, arg4, Local0)
+ m006(Concatenate(arg0, "-m006"), Refof(Local1), arg2, arg3, 2, Local0)
+ }
+ Return (0)
+ }
+
+ // Check processing of an Source Named Object of the specified type
+ // passed by a reference as an argument of the Method in which it is used
+ // as an immediate operand in Increment/Decrement operators
+ // m00b(<msg>, <aux>, <target type>, <source type>,
+ // <op>, <exc. condition>)
+ Method(m00b, 6)
+ {
+ // Source Named Object
+ Name(SRC0, 0)
+
+ Method(m100, 1)
+ {
+ Increment(arg0)
+ }
+
+ Method(m101, 1)
+ {
+ Decrement(arg0)
+ }
+
+ Concatenate(arg0, "-", arg0)
+ Concatenate(arg0, Concatenate(Mid(arg4,0,2), Concatenate(Mid(arg2,0,2), Mid(arg3,0,2))), arg0)
+ if (STCS) {Store(arg0, Debug)}
+
+ // Target save type of Increment/Decrement operators is 0
+ // (Target should take a type of Integer)
+ Store(0, Local0)
+
+ if (LEqual(arg3, 5)) { // Field Unit Source/Target
+ Store(Refof(FLU0), Local3)
+ } elseif (LEqual(arg3, 14)) { // Buffer Field Source/Target
+ Store(Refof(BFL0), Local3)
+ } else {
+ Store(Refof(SRC0), Local3)
+ }
+
+ // Prepare Source of specified type
+ if (m004(Concatenate(arg0, "-m004"), arg3, Local3)) {
+ // Source Object can not be prepared
+ err(Concatenate(arg0, terr), z125, 32, 0, 0, arg3, 0)
+ Return (1)
+ }
+
+ // Use a reference to Source Object in the Operator
+ if (LEqual(arg4, 0)) { // Increment
+ m100(Local3)
+ } elseif (LEqual(arg4, 1)) { // Decrement
+ m101(Local3)
+ } else {
+ // Unexpected Kind of Op (0 - Increment, 1 - Decrement)
+ err(Concatenate(arg0, terr), z125, 33, 0, 0, arg4, 0)
+ Return (1)
+ }
+
+ if (arg5) {
+ // Exception is expected
+ if (LNot(CH06(arg0, 34, 0xff))) {
+ if (STCS) {m000(2, 0x100, arg2, arg3)}
+ }
+ } elseif (CH03(arg0, z125, 35, arg3, arg2)) {
+ // Processing caused unexpected exception
+ if (STCS) {m000(2, 0x100, arg2, arg3)}
+ } else {
+ // Check Target Object to have the expected type and value
+ m006(Concatenate(arg0, "-m006"), Local3, arg2, arg3, arg4, Local0)
+ }
+ Return (0)
+ }
+
+ Name(lpC0, 1)
+
+ Name(lpN1, 17)
+ Name(lpC1, 0)
+
+ if (LEqual(arg0, 0)) {
+ Concatenate(ts, "-Inc", ts)
+ } else {
+ Concatenate(ts, "-Dec", ts)
+ }
+
+ if (arg1) {
+ Concatenate(ts, "-Exc", ts)
+ }
+
+ SRMT(ts)
+
+ // Initialize statistics
+ m001()
+
+ if (LGreater(arg0, 1)) {
+ // Unexpected Kind of Op (0 - Increment, 1 - Decrement)
+ err(Concatenate(ts, terr), z125, 36, 0, 0, arg0, 0)
+ Return (1)
+ }
+
+ // Enumerate Result types
+ While (lpN1) {
+
+ if (LAnd(Derefof(Index(b677, lpC1)),
+ Derefof(Index(b671, lpC1)))) {
+ // Not invalid type of the result Object
+
+ // Determine Target type
+ Store(lpC1, lpC0)
+
+ if (LNot(y501)) {
+ // The question: should Increment/Decrement save the Target type?
+ if (LNot(Derefof(Index(b678, lpC0)))) {
+ // Not fixed type, Target type is Integer
+ Store(1, lpC0)
+ }
+ }
+
+ if (arg1) {
+ // Skip cases without exceptional conditions
+ if (Derefof(Index(b67b, lpC1))) {
+ Decrement(lpN1)
+ Increment(lpC1)
+ Continue
+ }
+ } else {
+ // Skip cases with exceptional conditions
+ if (LNot(Derefof(Index(b67b, lpC1)))) {
+ Decrement(lpN1)
+ Increment(lpC1)
+ Continue
+ }
+ }
+ // Named Source
+ if (LNotEqual(lpC1, c008)) {
+ // Named can not be set up to Uninitialized
+ m008(Concatenate(ts, "-m008"), 0, lpC0, lpC1, arg0, arg1)
+ }
+
+ // LocalX Source
+ if (LNot(Derefof(Index(b678, lpC1)))) {
+ // LocalX can not be set up to Fixed types
+ m009(Concatenate(ts, "-m009"), 0, lpC0, lpC1, arg0, arg1)
+ m00a(Concatenate(ts, "-m00a"), 0, lpC0, lpC1, arg0, arg1)
+ }
+
+ // Reference to Named
+ if (y367) {
+ if (LNotEqual(lpC1, c008)) {
+ // Named can not be set up to Uninitialized
+ m00b(Concatenate(ts, "-m00b"), 0, lpC0, lpC1, arg0, arg1)
+ }
+ }
+ }
+ Decrement(lpN1)
+ Increment(lpC1)
+ }
+
+ // Output statistics
+ m002(Concatenate("Result Object proccessing with ", Derefof(Index(PAC4, arg0))))
+
+ Return (0)
+}
+
+// Run-method
+Method(RES2)
+{
+ Store("TEST: RES2, Result Object proccessing on Increment/Decrement", Debug)
+
+ // Increment
+ m692(0, 0)
+
+ // Decrement
+ m692(1, 0)
+}
+
diff --git a/tests/aslts/src/runtime/collections/complex/result/tests/roptional/MAIN.asl b/tests/aslts/src/runtime/collections/complex/result/tests/roptional/MAIN.asl
new file mode 100644
index 000000000..1473c4892
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/result/tests/roptional/MAIN.asl
@@ -0,0 +1,58 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "roptional.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../../runtime/cntl/DECL_6UP.asl")
+ Include("../../../../../../runtime/collections/complex/result/common/rcommon.asl")
+ Include("../../../../../../runtime/collections/complex/result/tests/roptional/roptional.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../../runtime/collections/complex/result/tests/roptional/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/complex/result/tests/roptional/Makefile b/tests/aslts/src/runtime/collections/complex/result/tests/roptional/Makefile
new file mode 100644
index 000000000..9873a646e
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/result/tests/roptional/Makefile
@@ -0,0 +1,7 @@
+# roptional
+
+AMLMOD= roptional
+COLL= ../../../..
+
+TOP= $(COLL)/../../..
+include $(COLL)/Makefile.install
diff --git a/tests/aslts/src/runtime/collections/complex/result/tests/roptional/RUN.asl b/tests/aslts/src/runtime/collections/complex/result/tests/roptional/RUN.asl
new file mode 100644
index 000000000..ba204123d
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/result/tests/roptional/RUN.asl
@@ -0,0 +1,35 @@
+/*
+ * 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.
+ */
+
+
+if (STTT("Result Object processing in the normal operators", TCLC, 13, W011)) {
+ RES4()
+}
+FTTT()
diff --git a/tests/aslts/src/runtime/collections/complex/result/tests/roptional/roptional.asl b/tests/aslts/src/runtime/collections/complex/result/tests/roptional/roptional.asl
new file mode 100644
index 000000000..28ab94566
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/result/tests/roptional/roptional.asl
@@ -0,0 +1,2363 @@
+/*
+ * 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.
+ */
+
+/*
+ * Check Result Object processing in the normal operators
+ * providing optional storing (the ones besides Store, CopyObject,
+ * explicit conversion operators)
+ */
+
+Name(z127, 127)
+
+// m694(<store op>, <exc. conditions>,
+// <Target scale>, <Result scale>, <kind of Source-Target pair>)
+Method(m694, 5)
+{
+ Name(ts, "m694")
+
+/*
+ - choose a type of the Object to store into:
+ = Uninitialized
+ = Integer
+ = String
+ = Buffer
+ = Package
+ ...
+
+ - choose a value of the Object to store into
+
+ - choose kind of the Object to store into:
+ = Named Object
+ = Method LocalX Object
+
+ - determine the destination Object to store into: it should exist
+ and be initialized with the chosen value (Dst0)
+
+ - choose a way to obtain some result object (Expr ~ Result Object
+ returned by any normal Operator providing optional storing (Op)):
+
+ = CondRefOf (any, Result) => Boolean
+ = FindSetLeftBit (int, Result) => Integer
+ = FindSetRightBit (int, Result) => Integer
+ = Not (int, Result) => Integer
+
+ = Add (int, int, Result) => Integer
+ = And (int, int, Result) => Integer
+ = Concatenate ({int|str|buf}, {int|str|buf}, Result) => ComputationalData
+ = ConcatenateResTempl (rtb, rtb, Result) => Buffer
+ = Divide (int, int, Remainder, Result) => Integer
+ = Index ({str|buf|pkg}, int, Destination) => ObjectReference
+ = Mod (int, int, Result) => Integer
+ = Multiply (int, int, Result) => Integer
+ = NAnd (int, int, Result) => Integer
+ = NOr (int, int, Result) => Integer
+ = Or (int, int, Result) => Integer
+ = ShiftLeft (int, int, Result) => Integer
+ = ShiftRight (int, int, Result) => Integer
+ = Subtract (int, int, Result) => Integer
+ = XOr (int, int, Result) => Integer
+
+ = Mid ({str|buf}, int, int, Result) => Buffer or String
+
+ - choose storing expression:
+ = Store(Op(Src0, ...), Dst0)
+ = CopyObject(Op(Src0, ...), Dst0)
+ = Op(Src0, ..., Dst0)
+
+ - the type of the result Object depend on the Operator
+
+ - choose specific source objects to obtain the result Object of
+ the specified type: it should exist and be initialized (Src0, ...)
+
+ - choose a benchmark value according to a storing expression,
+ chosen source objects, the value of the target object and
+ relevant result conversion rule (if any) - Bval
+
+ - check that the destination Object Dst0 is properly initialized
+
+ - perform storing expression:
+ Store(Expr(Src0, ...), Dst0)
+ CopyObject(Expr(Src0, ...), Dst0)
+ Op(Expr(Src0, ...), Dst0)
+
+ - check that the benchmark value Bval is equal to the updated
+ destination Object Dst0:
+
+ - check that the source objects are not updated:
+
+ - update the destination Object again and check that the source
+ objects are not updated
+*/
+
+ // Object-initializers are used either with Source or Target
+ // (names ended by 0 and 1 respectively)
+
+ // Integer
+ Name(INT0, 0xfedcba9876543210)
+ Name(INT1, 0xfedcba9876543211)
+
+ // String
+ Name(STR0, "source string")
+ Name(STR1, "target string")
+
+ // Buffer
+ Name(BUF0, Buffer(9){9,8,7,6,5,4,3,2,1})
+ Name(BUF1, Buffer(17){0xc3})
+
+ // Base of Buffer Fields
+ Name(BUFZ, Buffer(20){})
+
+ // Package
+ Name(PAC0, Package(3) {
+ 0xfedcba987654321f,
+ "test package",
+ Buffer(9){19,18,17,16,15,14,13,12,11},
+ })
+ Name(PAC1, Package(1) {"target package"})
+
+ // Device
+ Device(DEV1) {Name(s000, "DEV1")}
+
+ // Event
+ Event(EVE1)
+
+ // Method
+ Name(MM01, "ff1Y") // Value, returned from MMMY
+ Name(MMM1, 0) // Method as Target Object
+ Method(MMMY) {Return (MM01)}
+
+ // Mutex
+ Mutex(MTX1, 0)
+
+ if (y361) {
+ // Operation Region
+ OperationRegion(OPR0, SystemMemory, 0, 20)
+ OperationRegion(OPR1, SystemMemory, 0, 20)
+ }
+
+ // Power Resource
+ PowerResource(PWR1, 0, 0) {Name(s000, "PWR1")}
+
+ // Processor
+ Processor(CPU1, 0x0, 0xFFFFFFFF, 0x0) {Name(s000, "CPU1")}
+
+ // Thermal Zone
+ ThermalZone(TZN1) {Name(s000, "TZN1")}
+
+ // Reference
+ Name(REF0, Package(1){})
+ Name(REF1, Package(1){})
+
+ // Specified types of the Source Objects
+ Name(BUFS, Buffer(19){1,1,1,1,1,2,3,1,4,1,1,1,1,1,1,1,1,1,2})
+
+ // Expected types of the Result Objects
+ Name(BUFR, Buffer(19){1,1,1,1,1,2,3,1,17,1,1,1,1,1,1,1,1,1,2})
+
+ // Data to gather statistics
+
+ Name(STCS, 0)
+
+ Name(INDM, 255)
+
+ Name(PAC2, Package(1) {})
+ Name(IND2, 0)
+
+ Name(PAC3, Package(1) {})
+ Name(IND3, 0)
+
+ Name(PAC4, Package(3) {
+ "Store",
+ "Copyobject",
+ "Optional",
+ })
+
+ Name(terr, "-test error")
+
+ // Update statistics
+ // m000(<type>, <shift>, <low>, <up>)
+ Method(m000, 4)
+ {
+ if (LEqual(arg0, 2)) {
+ if (LLess(IND2, INDM)) {
+ Store(Add(Multiply(arg3, arg1), arg2), Index(PAC2, IND2))
+ Increment(IND2)
+ }
+ } elseif (LEqual(arg0, 3)) {
+ if (LLess(IND3, INDM)) {
+ Store(Add(Multiply(arg3, arg1), arg2), Index(PAC3, IND3))
+ Increment(IND3)
+ }
+ }
+ }
+
+ // Initialize statistics
+ Method(m001)
+ {
+ if (STCS) {
+ Store(Package(INDM) {}, PAC2)
+ Store(0, IND2)
+ Store(Package(INDM) {}, PAC3)
+ Store(0, IND3)
+ }
+ }
+
+ // Output statistics
+ Method(m002, 1)
+ {
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+
+ if (STCS) {
+ Store(arg0, Debug)
+
+ if (IND2) {
+ Store("Run-time exceptions:", Debug)
+ Store(IND2, Debug)
+ Store("Types:", Debug)
+
+ Store(IND2, lpN0)
+ Store(0, lpC0)
+
+ While (lpN0) {
+ Store(Derefof(Index(PAC2, lpC0)), Debug)
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+ }
+
+ if (IND3) {
+ Store("Type mismatch:", Debug)
+ Store(IND3, Debug)
+
+ Store(IND3, lpN0)
+ Store(0, lpC0)
+
+ While (lpN0) {
+ Store(Derefof(Index(PAC3, lpC0)), Debug)
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+ }
+ }
+ }
+
+ // Prepare Target of specified type
+ Method(m003, 4)
+ {
+ Switch(ToInteger(arg1)) {
+ Case(0) { // Only check
+ }
+ Case(1) {
+ CopyObject(Derefof(arg3), INT1)
+ CopyObject(INT1, arg2)
+ }
+ Case(2) {
+ CopyObject(Derefof(arg3), STR1)
+ CopyObject(STR1, arg2)
+ }
+ Case(3) {
+ CopyObject(Derefof(arg3), BUF1)
+ Store(Sizeof(BUF1), Local0)
+ if (LNotEqual(Local0, 17)) {
+ err(Concatenate(arg0, terr), z127, 1, 0, 0, Local0, 17)
+ Return (1)
+ }
+ CopyObject(BUF1, arg2)
+ }
+ Case(4) {
+ CopyObject(Derefof(arg3), PAC1)
+ CopyObject(PAC1, arg2)
+ }
+ Case(5) { // Check only
+ }
+ Case(6) {
+ CopyObject(DEV1, arg2)
+ }
+ Case(7) {
+ CopyObject(EVE1, arg2)
+ }
+ Case(8) {
+ CopyObject(Derefof(Refof(MMMY)), MMM1)
+ CopyObject(Derefof(Refof(MMM1)), arg2)
+ }
+ Case(9) {
+ CopyObject(MTX1, arg2)
+ }
+ Case(10) {
+ CopyObject(OPR1, arg2)
+ }
+ Case(11) {
+ CopyObject(PWR1, arg2)
+ }
+ Case(12) {
+ CopyObject(CPU1, arg2)
+ }
+ Case(13) {
+ CopyObject(TZN1, arg2)
+ }
+ Case(14) { // Check only
+ }
+ Case(17) {
+ CopyObject(Refof(REF0), REF1)
+ if (y522) {
+ CopyObject(REF1, arg2)
+ } else {
+ CopyObject(DeRefof(REF1), arg2)
+ }
+ }
+ Default {
+ // Unexpected Target Type
+ err(Concatenate(arg0, terr), z127, 2, 0, 0, arg1, 0)
+ Return (1)
+ }
+ }
+ if (CH03(arg0, z127, 3, arg1, 0)) {
+ //Exception during preparing of Target Object
+ Return (1)
+ }
+
+ if (LEqual(arg1, 17)) {
+ // Reference
+ Return (0)
+ }
+
+ Store(ObjectType(arg2), Local0)
+ if (LNotEqual(Local0, arg1)) {
+ // ObjectType of Target can not be set up
+ err(arg0, z127, 4, 0, 0, Local0, arg1)
+ Return (1)
+ }
+
+ Return (0)
+ }
+
+ // Prepare Source of specified type
+ Method(m004, 4)
+ {
+ Switch(ToInteger(arg1)) {
+ Case(1) {
+ CopyObject(Derefof(arg3), INT0)
+ CopyObject(INT0, arg2)
+ }
+ Case(2) {
+ CopyObject(Derefof(arg3), STR0)
+ CopyObject(STR0, arg2)
+ }
+ Case(3) {
+ if (y136) {
+ CopyObject(Derefof(arg3), BUF0)
+ } else {
+ m687(Derefof(arg3), Refof(BUF0))
+ }
+ CopyObject(BUF0, arg2)
+ }
+ Case(4) {
+ CopyObject(Derefof(arg3), PAC0)
+ CopyObject(PAC0, arg2)
+ }
+ Default {
+ // Unexpected Source Type
+ err(Concatenate(arg0, terr), z127, 5, 0, 0, arg1, 0)
+ Return (1)
+ }
+ }
+ if (CH03(arg0, z127, 6, arg1, 0)) {
+ // Exception during preparing of Source Object
+ Return (1)
+ }
+
+ Store(ObjectType(arg2), Local0)
+ if (LNotEqual(Local0, arg1)) {
+ // ObjectType of Source can not be set up
+ err(arg0, z127, 7, 0, 0, Local0, arg1)
+ Return (1)
+ }
+
+ Return (0)
+ }
+
+ // Check Source Object type is not corrupted after storing,
+ // for the computational data types verify its value against
+ // the Object-initializer value
+ Method(m005, 4)
+ {
+ Store(ObjectType(arg2), Local0)
+ if (LNotEqual(Local0, arg1)) {
+ // ObjectType of Source object is corrupted
+ err(arg0, z127, 8, 0, 0, Local0, arg1)
+ Return (1)
+ }
+
+ Switch(ToInteger(arg1)) {
+ Case(1) {
+ Store(ObjectType(INT0), Local0)
+ }
+ Case(2) {
+ Store(ObjectType(STR0), Local0)
+ }
+ Case(3) {
+ Store(ObjectType(BUF0), Local0)
+ }
+ Case(4) {
+ Store(ObjectType(PAC0), Local0)
+ }
+ Default {
+ // Unexpected Source Type
+ err(arg0, z127, 9, 0, 0, arg1, 0)
+ Return (1)
+ }
+ }
+
+ if (LNotEqual(Local0, arg1)) {
+ // Mismatch of Source Type against specified one
+ err(arg0, z127, 10, 0, 0, Local0, arg1)
+ if (STCS) {m000(3, 0x1000000, Local0, arg0)}
+ Return (1)
+ } else {
+ // Check equality of the Source value to the Object-initializer one
+ Switch(ToInteger(arg1)) {
+ Case(1) {
+ if (LNotEqual(INT0, Derefof(arg3))) {
+ err(arg0, z127, 11, 0, 0, INT0, Derefof(arg3))
+ Return (1)
+ }
+ if (LNotEqual(Derefof(arg2), INT0)) {
+ err(arg0, z127, 12, 0, 0, Derefof(arg2), INT0)
+ Return (1)
+ }
+ }
+ Case(2) {
+ if (LNotEqual(STR0, Derefof(arg3))) {
+ err(arg0, z127, 13, 0, 0, STR0, Derefof(arg3))
+ Return (1)
+ }
+ if (LNotEqual(Derefof(arg2), STR0)) {
+ err(arg0, z127, 14, 0, 0, Derefof(arg2), STR0)
+ Return (1)
+ }
+ }
+ Case(3) {
+ if (LNotEqual(BUF0, Derefof(arg3))) {
+ err(arg0, z127, 15, 0, 0, BUF0, Derefof(arg3))
+ Return (1)
+ }
+ if (LNotEqual(Derefof(arg2), BUF0)) {
+ err(arg0, z127, 16, 0, 0, Derefof(arg2), BUF0)
+ Return (1)
+ }
+ }
+ }
+ }
+ Return (0)
+ }
+
+ // Check Target Object to have the expected type and value
+ // m006(<msg>, <ref to target>, <target type>, <result object type>,
+ // <op>, <target save type>, <test data package>)
+ Method(m006, 7)
+ {
+ Store(ObjectType(arg1), Local2)
+
+ if (LNotEqual(Local2, arg2)) {
+ if (STCS) {m000(3, 0x10000, arg2, Local2)}
+ }
+
+ if (m686(arg5, arg2, arg3)) {
+ // Target must save type
+ if (LNotEqual(Local2, arg2)) {
+ // Types mismatch Target/Target on storing
+ if (LEqual(arg2, c016)) {
+ if (X170) {
+ err(arg0, z127, 17, 0, 0, Local2, arg2)
+ }
+ } else {
+ err(arg0, z127, 17, 0, 0, Local2, arg2)
+ }
+
+ if (STCS) {m000(3, 0x100, arg2, Local2)}
+ Return (1)
+ }
+ } else {
+ // Target must accept type of the Result Object
+
+ if (LNotEqual(Local2, arg3)) {
+ if (LEqual(m684(arg3), 6)) {
+ // Result object is a reference
+ // Check that Target can be used as reference
+ Store(Derefof(arg1), Local0)
+ Derefof(Local0)
+ if (CH03(arg0, z127, 18, Local2, arg3)) {
+ // Derefof caused unexpected exception
+ Return (1)
+ }
+ } elseif (LNotEqual(m684(arg3), 1)) {
+ // Types mismatch Result/Target on storing
+ err(arg0, z127, 19, 0, 0, Local2, arg3)
+ Return (1)
+ } elseif (LNotEqual(Local2, 3)) {
+ // Types mismatch Result/Target on storing
+ // Test fixed type Objects are converted to Buffer
+ err(arg0, z127, 20, 0, 0, Local2, 3)
+ Return (1)
+ }
+ if (STCS) {m000(3, 0x100, arg3, Local2)}
+ }
+ }
+
+ // Retrieve the benchmark value
+ if (m686(arg5, arg2, arg3)) {
+ // Save type of Target
+
+ // Retrieve the benchmark value
+ Store(Derefof(Index(Derefof(Index(arg6, 4)), arg2)), Local7)
+ } else {
+ Store(Derefof(Index(arg6, 3)), Local7)
+ }
+
+ if (LNotEqual(Derefof(arg1), Local7)) {
+ if (LEqual(arg2, c016)) {
+ if (X193) {
+ err(arg0, z127, 21, 0, 0, Derefof(arg1), Local7)
+ }
+ } else {
+ err(arg0, z127, 21, 0, 0, Derefof(arg1), Local7)
+ }
+ Return (1)
+ }
+ Return (0)
+ }
+
+ // Check processing of an Source Named Object of the specified type
+ // on immediate storing to a Target Named Object of the specified type
+ // m008(<msg>, <aux>, <target type>, <source type>,
+ // <op>, <exc. condition>, <test data package>)
+ Method(m008, 7)
+ {
+ // Source Named Object
+ Name(SRC0, 0)
+ // Target Named Object
+ Name(DST0, 0)
+
+ // Retrieve index of the verified Operator
+ Store(Derefof(Index(arg6, 0)), Local6)
+
+ Concatenate(arg0, "-", arg0)
+ Concatenate(arg0, Concatenate(Mid(Local6,0,2), Concatenate(Mid(arg4,0,2), Concatenate(Mid(arg2,0,2), Mid(arg3,0,2)))), arg0)
+ if (STCS) {Store(arg0, Debug)}
+
+ // Target accept type on storing to Named of CopyObject operator is 2
+ if (LEqual(arg4, 1)) {
+ Store(2, Local0)
+ } else {
+ Store(0, Local0)
+ }
+
+ // Prepare Source of specified type and value
+ Store(Index(arg6, 1), Local7)
+ if (m004(Concatenate(arg0, "-m004"), arg3, Refof(SRC0), Local7)) {
+ // Source Object can not be prepared
+ err(Concatenate(arg0, terr), z127, 22, 0, 0, arg3, 0)
+ Return (1)
+ }
+
+ // Prepare Target of specified type
+ Store(Index(Derefof(Index(arg6, 2)), arg2), Local7)
+ if (LEqual(arg2, 5)) { // Field Unit Target
+ Field(OPR0, ByteAcc, NoLock, Preserve) {FLUX, 69, FLU1, 69}
+ Store(Refof(FLU1), Local1)
+ } elseif (LEqual(arg2, 14)) { // Buffer Field Target
+ Createfield(BUFZ, 80, 69, BFL1)
+ Store(Refof(BFL1), Local1)
+ } else {
+ Store(Refof(DST0), Local1)
+ }
+ if (m003(Concatenate(arg0, "-m003"), arg2, Local1, Local7)) {
+ // Target Object can not be prepared
+ err(Concatenate(arg0, terr), z127, 23, 0, 0, arg2, 0)
+ Return (1)
+ }
+
+ // Use a Source Object to immediately store into the Target
+ if (LEqual(arg2, 5)) { // Field Unit Target
+ if (LEqual(arg4, 0)) { // Store
+ Switch(Local6) {
+ Case(0) {Store(FindSetLeftBit(SRC0), FLU1)}
+ Case(1) {Store(FindSetRightBit(SRC0), FLU1)}
+ Case(2) {Store(Not(SRC0), FLU1)}
+ Case(3) {Store(Add(SRC0, 0), FLU1)}
+ Case(4) {Store(And(SRC0, Ones), FLU1)}
+ Case(5) {Store(Concatenate(SRC0, ""), FLU1)}
+ Case(6) {Store(ConcatenateResTemplate(SRC0, ResourceTemplate(){}), FLU1)}
+ Case(7) {Store(Divide(SRC0, 1), FLU1)}
+ Case(8) {Store(Index(SRC0, 0), FLU1)}
+ Case(9) {Store(Mod(SRC0, Ones), FLU1)}
+ Case(10) {Store(Multiply(SRC0, 1), FLU1)}
+ Case(11) {Store(NAnd(SRC0, Ones), FLU1)}
+ Case(12) {Store(NOr(SRC0, 0), FLU1)}
+ Case(13) {Store(Or(SRC0, 0), FLU1)}
+ Case(14) {Store(ShiftLeft(SRC0, 0), FLU1)}
+ Case(15) {Store(ShiftRight(SRC0, 0), FLU1)}
+ Case(16) {Store(Subtract(SRC0, 0), FLU1)}
+ Case(17) {Store(XOr(SRC0, 0), FLU1)}
+ Case(18) {Store(Mid(SRC0, 0, Ones), FLU1)}
+ }
+ } elseif (LEqual(arg4, 1)) { // CopyObject
+ Switch(Local6) {
+ Case(0) {CopyObject(FindSetLeftBit(SRC0), FLU1)}
+ Case(1) {CopyObject(FindSetRightBit(SRC0), FLU1)}
+ Case(2) {CopyObject(Not(SRC0), FLU1)}
+ Case(3) {CopyObject(Add(SRC0, 0), FLU1)}
+ Case(4) {CopyObject(And(SRC0, Ones), FLU1)}
+ Case(5) {CopyObject(Concatenate(SRC0, ""), FLU1)}
+ Case(6) {CopyObject(ConcatenateResTemplate(SRC0, ResourceTemplate(){}), FLU1)}
+ Case(7) {CopyObject(Divide(SRC0, 1), FLU1)}
+ Case(8) {CopyObject(Index(SRC0, 0), FLU1)}
+ Case(9) {CopyObject(Mod(SRC0, Ones), FLU1)}
+ Case(10) {CopyObject(Multiply(SRC0, 1), FLU1)}
+ Case(11) {CopyObject(NAnd(SRC0, Ones), FLU1)}
+ Case(12) {CopyObject(NOr(SRC0, 0), FLU1)}
+ Case(13) {CopyObject(Or(SRC0, 0), FLU1)}
+ Case(14) {CopyObject(ShiftLeft(SRC0, 0), FLU1)}
+ Case(15) {CopyObject(ShiftRight(SRC0, 0), FLU1)}
+ Case(16) {CopyObject(Subtract(SRC0, 0), FLU1)}
+ Case(17) {CopyObject(XOr(SRC0, 0), FLU1)}
+ Case(18) {CopyObject(Mid(SRC0, 0, Ones), FLU1)}
+ }
+ } elseif (LEqual(arg4, 2)) { // Optional storing
+ Switch(Local6) {
+ Case(0) {FindSetLeftBit(SRC0, FLU1)}
+ Case(1) {FindSetRightBit(SRC0, FLU1)}
+ Case(2) {Not(SRC0, FLU1)}
+ Case(3) {Add(SRC0, 0, FLU1)}
+ Case(4) {And(SRC0, Ones, FLU1)}
+ Case(5) {Concatenate(SRC0, "", FLU1)}
+ Case(6) {ConcatenateResTemplate(SRC0, ResourceTemplate(){}, FLU1)}
+ Case(7) {Divide(SRC0, 1, , FLU1)}
+ Case(8) {Index(SRC0, 0, FLU1)}
+ Case(9) {Mod(SRC0, Ones, FLU1)}
+ Case(10) {Multiply(SRC0, 1, FLU1)}
+ Case(11) {NAnd(SRC0, Ones, FLU1)}
+ Case(12) {NOr(SRC0, 0, FLU1)}
+ Case(13) {Or(SRC0, 0, FLU1)}
+ Case(14) {ShiftLeft(SRC0, 0, FLU1)}
+ Case(15) {ShiftRight(SRC0, 0, FLU1)}
+ Case(16) {Subtract(SRC0, 0, FLU1)}
+ Case(17) {XOr(SRC0, 0, FLU1)}
+ Case(18) {Mid(SRC0, 0, Ones, FLU1)}
+ }
+ } else {
+ // Unexpected Kind of Op (0 - Store, ...)
+ err(Concatenate(arg0, terr), z127, 24, 0, 0, arg4, 0)
+ Return (1)
+ }
+ } elseif (LEqual(arg2, 14)) { // Buffer Field Target
+ if (LEqual(arg4, 0)) { // Store
+ Switch(Local6) {
+ Case(0) {Store(FindSetLeftBit(SRC0), BFL1)}
+ Case(1) {Store(FindSetRightBit(SRC0), BFL1)}
+ Case(2) {Store(Not(SRC0), BFL1)}
+ Case(3) {Store(Add(SRC0, 0), BFL1)}
+ Case(4) {Store(And(SRC0, Ones), BFL1)}
+ Case(5) {Store(Concatenate(SRC0, ""), BFL1)}
+ Case(6) {Store(ConcatenateResTemplate(SRC0, ResourceTemplate(){}), BFL1)}
+ Case(7) {Store(Divide(SRC0, 1), BFL1)}
+ Case(8) {Store(Index(SRC0, 0), BFL1)}
+ Case(9) {Store(Mod(SRC0, Ones), BFL1)}
+ Case(10) {Store(Multiply(SRC0, 1), BFL1)}
+ Case(11) {Store(NAnd(SRC0, Ones), BFL1)}
+ Case(12) {Store(NOr(SRC0, 0), BFL1)}
+ Case(13) {Store(Or(SRC0, 0), BFL1)}
+ Case(14) {Store(ShiftLeft(SRC0, 0), BFL1)}
+ Case(15) {Store(ShiftRight(SRC0, 0), BFL1)}
+ Case(16) {Store(Subtract(SRC0, 0), BFL1)}
+ Case(17) {Store(XOr(SRC0, 0), BFL1)}
+ Case(18) {Store(Mid(SRC0, 0, Ones), BFL1)}
+ }
+ } elseif (LEqual(arg4, 1)) { // CopyObject
+ Switch(Local6) {
+ Case(0) {CopyObject(FindSetLeftBit(SRC0), BFL1)}
+ Case(1) {CopyObject(FindSetRightBit(SRC0), BFL1)}
+ Case(2) {CopyObject(Not(SRC0), BFL1)}
+ Case(3) {CopyObject(Add(SRC0, 0), BFL1)}
+ Case(4) {CopyObject(And(SRC0, Ones), BFL1)}
+ Case(5) {CopyObject(Concatenate(SRC0, ""), BFL1)}
+ Case(6) {CopyObject(ConcatenateResTemplate(SRC0, ResourceTemplate(){}), BFL1)}
+ Case(7) {CopyObject(Divide(SRC0, 1), BFL1)}
+ Case(8) {CopyObject(Index(SRC0, 0), BFL1)}
+ Case(9) {CopyObject(Mod(SRC0, Ones), BFL1)}
+ Case(10) {CopyObject(Multiply(SRC0, 1), BFL1)}
+ Case(11) {CopyObject(NAnd(SRC0, Ones), BFL1)}
+ Case(12) {CopyObject(NOr(SRC0, 0), BFL1)}
+ Case(13) {CopyObject(Or(SRC0, 0), BFL1)}
+ Case(14) {CopyObject(ShiftLeft(SRC0, 0), BFL1)}
+ Case(15) {CopyObject(ShiftRight(SRC0, 0), BFL1)}
+ Case(16) {CopyObject(Subtract(SRC0, 0), BFL1)}
+ Case(17) {CopyObject(XOr(SRC0, 0), BFL1)}
+ Case(18) {CopyObject(Mid(SRC0, 0, Ones), BFL1)}
+ }
+ } elseif (LEqual(arg4, 2)) { // Optional storing
+ Switch(Local6) {
+ Case(0) {FindSetLeftBit(SRC0, BFL1)}
+ Case(1) {FindSetRightBit(SRC0, BFL1)}
+ Case(2) {Not(SRC0, BFL1)}
+ Case(3) {Add(SRC0, 0, BFL1)}
+ Case(4) {And(SRC0, Ones, BFL1)}
+ Case(5) {Concatenate(SRC0, "", BFL1)}
+ Case(6) {ConcatenateResTemplate(SRC0, ResourceTemplate(){}, BFL1)}
+ Case(7) {Divide(SRC0, 1, , BFL1)}
+ Case(8) {Index(SRC0, 0, BFL1)}
+ Case(9) {Mod(SRC0, Ones, BFL1)}
+ Case(10) {Multiply(SRC0, 1, BFL1)}
+ Case(11) {NAnd(SRC0, Ones, BFL1)}
+ Case(12) {NOr(SRC0, 0, BFL1)}
+ Case(13) {Or(SRC0, 0, BFL1)}
+ Case(14) {ShiftLeft(SRC0, 0, BFL1)}
+ Case(15) {ShiftRight(SRC0, 0, BFL1)}
+ Case(16) {Subtract(SRC0, 0, BFL1)}
+ Case(17) {XOr(SRC0, 0, BFL1)}
+ Case(18) {Mid(SRC0, 0, Ones, BFL1)}
+ }
+ } else {
+ // Unexpected Kind of Op (0 - Store, ...)
+ err(Concatenate(arg0, terr), z127, 25, 0, 0, arg4, 0)
+ Return (1)
+ }
+
+ } elseif (LEqual(arg4, 0)) { // Store
+ Switch(Local6) {
+ Case(0) {Store(FindSetLeftBit(SRC0), DST0)}
+ Case(1) {Store(FindSetRightBit(SRC0), DST0)}
+ Case(2) {Store(Not(SRC0), DST0)}
+ Case(3) {Store(Add(SRC0, 0), DST0)}
+ Case(4) {Store(And(SRC0, Ones), DST0)}
+ Case(5) {Store(Concatenate(SRC0, ""), DST0)}
+ Case(6) {Store(ConcatenateResTemplate(SRC0, ResourceTemplate(){}), DST0)}
+ Case(7) {Store(Divide(SRC0, 1), DST0)}
+ Case(8) {Store(Index(SRC0, 0), DST0)}
+ Case(9) {Store(Mod(SRC0, Ones), DST0)}
+ Case(10) {Store(Multiply(SRC0, 1), DST0)}
+ Case(11) {Store(NAnd(SRC0, Ones), DST0)}
+ Case(12) {Store(NOr(SRC0, 0), DST0)}
+ Case(13) {Store(Or(SRC0, 0), DST0)}
+ Case(14) {Store(ShiftLeft(SRC0, 0), DST0)}
+ Case(15) {Store(ShiftRight(SRC0, 0), DST0)}
+ Case(16) {Store(Subtract(SRC0, 0), DST0)}
+ Case(17) {Store(XOr(SRC0, 0), DST0)}
+ Case(18) {Store(Mid(SRC0, 0, Ones), DST0)}
+ }
+ } elseif (LEqual(arg4, 1)) { // CopyObject
+ Switch(Local6) {
+ Case(0) {CopyObject(FindSetLeftBit(SRC0), DST0)}
+ Case(1) {CopyObject(FindSetRightBit(SRC0), DST0)}
+ Case(2) {CopyObject(Not(SRC0), DST0)}
+ Case(3) {CopyObject(Add(SRC0, 0), DST0)}
+ Case(4) {CopyObject(And(SRC0, Ones), DST0)}
+ Case(5) {CopyObject(Concatenate(SRC0, ""), DST0)}
+ Case(6) {CopyObject(ConcatenateResTemplate(SRC0, ResourceTemplate(){}), DST0)}
+ Case(7) {CopyObject(Divide(SRC0, 1), DST0)}
+ Case(8) {CopyObject(Index(SRC0, 0), DST0)}
+ Case(9) {CopyObject(Mod(SRC0, Ones), DST0)}
+ Case(10) {CopyObject(Multiply(SRC0, 1), DST0)}
+ Case(11) {CopyObject(NAnd(SRC0, Ones), DST0)}
+ Case(12) {CopyObject(NOr(SRC0, 0), DST0)}
+ Case(13) {CopyObject(Or(SRC0, 0), DST0)}
+ Case(14) {CopyObject(ShiftLeft(SRC0, 0), DST0)}
+ Case(15) {CopyObject(ShiftRight(SRC0, 0), DST0)}
+ Case(16) {CopyObject(Subtract(SRC0, 0), DST0)}
+ Case(17) {CopyObject(XOr(SRC0, 0), DST0)}
+ Case(18) {CopyObject(Mid(SRC0, 0, Ones), DST0)}
+ }
+ } elseif (LEqual(arg4, 2)) { // Optional storing
+ Switch(Local6) {
+ Case(0) {FindSetLeftBit(SRC0, DST0)}
+ Case(1) {FindSetRightBit(SRC0, DST0)}
+ Case(2) {Not(SRC0, DST0)}
+ Case(3) {Add(SRC0, 0, DST0)}
+ Case(4) {And(SRC0, Ones, DST0)}
+ Case(5) {Concatenate(SRC0, "", DST0)}
+ Case(6) {ConcatenateResTemplate(SRC0, ResourceTemplate(){}, DST0)}
+ Case(7) {Divide(SRC0, 1, , DST0)}
+ Case(8) {Index(SRC0, 0, DST0)}
+ Case(9) {Mod(SRC0, Ones, DST0)}
+ Case(10) {Multiply(SRC0, 1, DST0)}
+ Case(11) {NAnd(SRC0, Ones, DST0)}
+ Case(12) {NOr(SRC0, 0, DST0)}
+ Case(13) {Or(SRC0, 0, DST0)}
+ Case(14) {ShiftLeft(SRC0, 0, DST0)}
+ Case(15) {ShiftRight(SRC0, 0, DST0)}
+ Case(16) {Subtract(SRC0, 0, DST0)}
+ Case(17) {XOr(SRC0, 0, DST0)}
+ Case(18) {Mid(SRC0, 0, Ones, DST0)}
+ }
+ } else {
+ // Unexpected Kind of Op (0 - Store, ...)
+ err(Concatenate(arg0, terr), z127, 26, 0, 0, arg4, 0)
+ Return (1)
+ }
+
+ // Choose expected Result type
+ Store(Derefof(Index(BUFR, Local6)), Local5)
+
+ if (arg5) {
+ // Exception is expected
+ if (LNot(CH06(arg0, 27, 0xff))) {
+ if (STCS) {m000(2, 0x100, arg2, Local5)}
+ }
+ } elseif (CH03(arg0, z127, 28, Local5, arg2)) {
+ // Storing caused unexpected exception
+ if (STCS) {m000(2, 0x100, arg2, Local5)}
+ } else {
+ // Check Target Object to have the expected type and value
+ if (LOr(y127, LNotEqual(Local6, 8))) {
+ m006(Concatenate(arg0, "-m006"), Local1, arg2, Local5, arg4, Local0, arg6)
+ }
+ }
+
+ // Check Source Object type is not corrupted after storing
+ Store(Index(arg6, 1), Local7)
+ if (m005(Concatenate(arg0, "-m005"), arg3, Refof(SRC0), Local7)) {
+ if (STCS) {
+ Store("m008, Source Object has been corrupted during storing", Debug)
+ }
+ }
+
+ Return (0)
+ }
+
+ // Check processing of an Source Named Object of the specified type
+ // on immediate storing to a Target LocalX Object of the specified type
+ // m009(<msg>, <aux>, <target type>, <source type>,
+ // <op>, <exc. condition>, <test data package>)
+ Method(m009, 7)
+ {
+ // Source Named Object
+ Name(SRC0, 0)
+ // Target LocalX Object: Local4
+
+ // Retrieve index of the verified Operator
+ Store(Derefof(Index(arg6, 0)), Local6)
+
+ Concatenate(arg0, "-", arg0)
+ Concatenate(arg0, Concatenate(Mid(Local6,0,2), Concatenate(Mid(arg4,0,2), Concatenate(Mid(arg2,0,2), Mid(arg3,0,2)))), arg0)
+ if (STCS) {Store(arg0, Debug)}
+
+ // Prepare Source of specified type and value
+ Store(Index(arg6, 1), Local7)
+ if (m004(Concatenate(arg0, "-m004"), arg3, Refof(SRC0), Local7)) {
+ // Source Object can not be prepared
+ err(Concatenate(arg0, terr), z127, 29, 0, 0, arg3, 0)
+ Return (1)
+ }
+
+ // Prepare Target of specified type and value
+ Store(Index(Derefof(Index(arg6, 2)), arg2), Local7)
+ if (m003(Concatenate(arg0, "-m003"), arg2, Refof(Local4), Local7)) {
+ // Target Object can not be prepared
+ err(Concatenate(arg0, terr), z127, 30, 0, 0, arg2, 0)
+ Return (1)
+ }
+
+ // Use a Source Object to immediately store into the Target
+ if (LEqual(arg4, 0)) { // Store
+ Switch(Local6) {
+ Case(0) {Store(FindSetLeftBit(SRC0), Local4)}
+ Case(1) {Store(FindSetRightBit(SRC0), Local4)}
+ Case(2) {Store(Not(SRC0), Local4)}
+ Case(3) {Store(Add(SRC0, 0), Local4)}
+ Case(4) {Store(And(SRC0, Ones), Local4)}
+ Case(5) {Store(Concatenate(SRC0, ""), Local4)}
+ Case(6) {Store(ConcatenateResTemplate(SRC0, ResourceTemplate(){}), Local4)}
+ Case(7) {Store(Divide(SRC0, 1), Local4)}
+ Case(8) {Store(Index(SRC0, 0), Local4)}
+ Case(9) {Store(Mod(SRC0, Ones), Local4)}
+ Case(10) {Store(Multiply(SRC0, 1), Local4)}
+ Case(11) {Store(NAnd(SRC0, Ones), Local4)}
+ Case(12) {Store(NOr(SRC0, 0), Local4)}
+ Case(13) {Store(Or(SRC0, 0), Local4)}
+ Case(14) {Store(ShiftLeft(SRC0, 0), Local4)}
+ Case(15) {Store(ShiftRight(SRC0, 0), Local4)}
+ Case(16) {Store(Subtract(SRC0, 0), Local4)}
+ Case(17) {Store(XOr(SRC0, 0), Local4)}
+ Case(18) {Store(Mid(SRC0, 0, Ones), Local4)}
+ }
+ } elseif (LEqual(arg4, 1)) { // CopyObject
+ Switch(Local6) {
+ Case(0) {CopyObject(FindSetLeftBit(SRC0), Local4)}
+ Case(1) {CopyObject(FindSetRightBit(SRC0), Local4)}
+ Case(2) {CopyObject(Not(SRC0), Local4)}
+ Case(3) {CopyObject(Add(SRC0, 0), Local4)}
+ Case(4) {CopyObject(And(SRC0, Ones), Local4)}
+ Case(5) {CopyObject(Concatenate(SRC0, ""), Local4)}
+ Case(6) {CopyObject(ConcatenateResTemplate(SRC0, ResourceTemplate(){}), Local4)}
+ Case(7) {CopyObject(Divide(SRC0, 1), Local4)}
+ Case(8) {CopyObject(Index(SRC0, 0), Local4)}
+ Case(9) {CopyObject(Mod(SRC0, Ones), Local4)}
+ Case(10) {CopyObject(Multiply(SRC0, 1), Local4)}
+ Case(11) {CopyObject(NAnd(SRC0, Ones), Local4)}
+ Case(12) {CopyObject(NOr(SRC0, 0), Local4)}
+ Case(13) {CopyObject(Or(SRC0, 0), Local4)}
+ Case(14) {CopyObject(ShiftLeft(SRC0, 0), Local4)}
+ Case(15) {CopyObject(ShiftRight(SRC0, 0), Local4)}
+ Case(16) {CopyObject(Subtract(SRC0, 0), Local4)}
+ Case(17) {CopyObject(XOr(SRC0, 0), Local4)}
+ Case(18) {CopyObject(Mid(SRC0, 0, Ones), Local4)}
+ }
+ } elseif (LEqual(arg4, 2)) { // Optional storing
+ Switch(Local6) {
+ Case(0) {FindSetLeftBit(SRC0, Local4)}
+ Case(1) {FindSetRightBit(SRC0, Local4)}
+ Case(2) {Not(SRC0, Local4)}
+ Case(3) {Add(SRC0, 0, Local4)}
+ Case(4) {And(SRC0, Ones, Local4)}
+ Case(5) {Concatenate(SRC0, "", Local4)}
+ Case(6) {ConcatenateResTemplate(SRC0, ResourceTemplate(){}, Local4)}
+ Case(7) {Divide(SRC0, 1, , Local4)}
+ Case(8) {Index(SRC0, 0, Local4)}
+ Case(9) {Mod(SRC0, Ones, Local4)}
+ Case(10) {Multiply(SRC0, 1, Local4)}
+ Case(11) {NAnd(SRC0, Ones, Local4)}
+ Case(12) {NOr(SRC0, 0, Local4)}
+ Case(13) {Or(SRC0, 0, Local4)}
+ Case(14) {ShiftLeft(SRC0, 0, Local4)}
+ Case(15) {ShiftRight(SRC0, 0, Local4)}
+ Case(16) {Subtract(SRC0, 0, Local4)}
+ Case(17) {XOr(SRC0, 0, Local4)}
+ Case(18) {Mid(SRC0, 0, Ones, Local4)}
+ }
+ } else {
+ // Unexpected Kind of Op (0 - Store, ...)
+ err(Concatenate(arg0, terr), z127, 31, 0, 0, arg4, 0)
+ Return (1)
+ }
+
+ // Choose expected Result type
+ Store(Derefof(Index(BUFR, Local6)), Local5)
+
+ if (arg5) {
+ // Exception is expected
+ if (LNot(CH06(arg0, 32, 0xff))) {
+ if (STCS) {m000(2, 0x100, arg2, Local5)}
+ }
+ } elseif (CH03(arg0, z127, 33, Local5, arg2)) {
+ // Storing caused unexpected exception
+ if (STCS) {m000(2, 0x100, arg2, Local5)}
+ } else {
+ // Check Target Object to have the expected type and value
+
+ // Target accept type on storing to LocalX is 1
+ Store(1, Local0)
+
+ if (LOr(y127, LNotEqual(Local6, 8))) {
+ m006(Concatenate(arg0, "-m006"), Refof(Local4), arg2, Local5, arg4, Local0, arg6)
+ }
+ }
+
+ // Check Source Object type is not corrupted after storing
+ Store(Index(arg6, 1), Local7)
+ if (m005(Concatenate(arg0, "-m005"), arg3, Refof(SRC0), Local7)) {
+ if (STCS) {
+ Store("m009, Source Object has been corrupted during storing", Debug)
+ }
+ }
+
+ Return (0)
+ }
+
+ // Test data packages
+
+ // FindSetLeftBit
+
+ Name(p032, Package(18) {
+ // index of the Operator
+ 0,
+ // SRC0 initial value
+ 0xfedcba9876543210,
+ // Target Objects initial values
+ Package(18) {
+ 0,
+ 0xfedcba9876543211,
+ "target string",
+ Buffer(17){0xc3},
+ Package(1) {
+ "target package"},
+ 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,
+ 0, 0, 0,},
+ // Benchmark Result object value
+ 31,
+ // Benchmark Result object converted to Target type values
+ Package(18) {
+ 0,
+ 31,
+ "0000001F",
+ Buffer(17){0x1F,},
+ 0,
+ Buffer(9){0x1F,},
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ Buffer(9){0x1F,},
+ 0, 0, 0,},
+ })
+
+ Name(p064, Package(18) {
+ // index of the Operator
+ 0,
+ // SRC0 initial value
+ 0xfedcba9876543210,
+ // Target Objects initial values
+ Package(18) {
+ 0,
+ 0xfedcba9876543211,
+ "target string",
+ Buffer(17){0xc3},
+ Package(1) {
+ "target package"},
+ 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,
+ 0, 0, 0,},
+ // Benchmark Result object value
+ 64,
+ // Benchmark Result object converted to Target type values
+ Package(18) {
+ 0,
+ 64,
+ "0000000000000040",
+ Buffer(17){0x40,},
+ 0,
+ Buffer(9){0x40,},
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ Buffer(9){0x40,},
+ 0, 0, 0,},
+ })
+
+ // FindSetRightBit
+
+ Name(p132, Package(18) {
+ // index of the Operator
+ 1,
+ // SRC0 initial value
+ 0xfedcba9876543210,
+ // Target Objects initial values
+ Package(18) {
+ 0,
+ 0xfedcba9876543211,
+ "target string",
+ Buffer(17){0xc3},
+ Package(1) {
+ "target package"},
+ 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,
+ 0, 0, 0,},
+ // Benchmark Result object value
+ 5,
+ // Benchmark Result object converted to Target type values
+ Package(18) {
+ 0,
+ 5,
+ "00000005",
+ Buffer(17){0x05,},
+ 0,
+ Buffer(9){0x05,},
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ Buffer(9){0x05,},
+ 0, 0, 0,},
+ })
+
+ Name(p164, Package(18) {
+ // index of the Operator
+ 1,
+ // SRC0 initial value
+ 0xfedcba9876543210,
+ // Target Objects initial values
+ Package(18) {
+ 0,
+ 0xfedcba9876543211,
+ "target string",
+ Buffer(17){0xc3},
+ Package(1) {
+ "target package"},
+ 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,
+ 0, 0, 0,},
+ // Benchmark Result object value
+ 5,
+ // Benchmark Result object converted to Target type values
+ Package(18) {
+ 0,
+ 5,
+ "0000000000000005",
+ Buffer(17){0x05,},
+ 0,
+ Buffer(9){0x05,},
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ Buffer(9){0x05,},
+ 0, 0, 0,},
+ })
+
+ // Not
+
+ Name(p232, Package(18) {
+ // index of the Operator
+ 2,
+ // SRC0 initial value
+ 0xfedcba9876543210,
+ // Target Objects initial values
+ Package(18) {
+ 0,
+ 0xfedcba9876543211,
+ "target string",
+ Buffer(17){0xc3},
+ Package(1) {
+ "target package"},
+ 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,
+ 0, 0, 0,},
+ // Benchmark Result object value
+ 0x123456789abcdef,
+ // Benchmark Result object converted to Target type values
+ Package(18) {
+ 0,
+ 0x123456789abcdef,
+ "89ABCDEF",
+ Buffer(17){0xef, 0xcd, 0xab, 0x89,},
+ 0,
+ Buffer(9){0xef, 0xcd, 0xab, 0x89,},
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ Buffer(9){0xef, 0xcd, 0xab, 0x89,},
+ 0, 0, 0,},
+ })
+
+ Name(p264, Package(18) {
+ // index of the Operator
+ 2,
+ // SRC0 initial value
+ 0xfedcba9876543210,
+ // Target Objects initial values
+ Package(18) {
+ 0,
+ 0xfedcba9876543211,
+ "target string",
+ Buffer(17){0xc3},
+ Package(1) {
+ "target package"},
+ 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,
+ 0, 0, 0,},
+ // Benchmark Result object value
+ 0x123456789abcdef,
+ // Benchmark Result object converted to Target type values
+ Package(18) {
+ 0,
+ 0x123456789abcdef,
+ "0123456789ABCDEF",
+ Buffer(17){0xef, 0xcd, 0xab, 0x89, 0x67, 0x45, 0x23, 0x01,},
+ 0,
+ Buffer(9){0xef, 0xcd, 0xab, 0x89, 0x67, 0x45, 0x23, 0x01,},
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ Buffer(9){0xef, 0xcd, 0xab, 0x89, 0x67, 0x45, 0x23, 0x01,},
+ 0, 0, 0,},
+ })
+
+ // Add
+
+ Name(p332, Package(18) {
+ // index of the Operator
+ 3,
+ // SRC0 initial value
+ 0xfedcba9876543210,
+ // Target Objects initial values
+ Package(18) {
+ 0,
+ 0xfedcba9876543211,
+ "target string",
+ Buffer(17){0xc3},
+ Package(1) {
+ "target package"},
+ 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,
+ 0, 0, 0,},
+ // Benchmark Result object value
+ 0xfedcba9876543210,
+ // Benchmark Result object converted to Target type values
+ Package(18) {
+ 0,
+ 0xfedcba9876543210,
+ "76543210",
+ Buffer(17){0x10, 0x32, 0x54, 0x76,},
+ 0,
+ Buffer(9){0x10, 0x32, 0x54, 0x76,},
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ Buffer(9){0x10, 0x32, 0x54, 0x76,},
+ 0, 0, 0,},
+ })
+
+ Name(p364, Package(18) {
+ // index of the Operator
+ 3,
+ // SRC0 initial value
+ 0xfedcba9876543210,
+ // Target Objects initial values
+ Package(18) {
+ 0,
+ 0xfedcba9876543211,
+ "target string",
+ Buffer(17){0xc3},
+ Package(1) {
+ "target package"},
+ 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,
+ 0, 0, 0,},
+ // Benchmark Result object value
+ 0xfedcba9876543210,
+ // Benchmark Result object converted to Target type values
+ Package(18) {
+ 0,
+ 0xfedcba9876543210,
+ "FEDCBA9876543210",
+ Buffer(17){0x10, 0x32, 0x54, 0x76, 0x98, 0xBA, 0xDC, 0xFE,},
+ 0,
+ Buffer(9){0x10, 0x32, 0x54, 0x76, 0x98, 0xBA, 0xDC, 0xFE,},
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ Buffer(9){0x10, 0x32, 0x54, 0x76, 0x98, 0xBA, 0xDC, 0xFE,},
+ 0, 0, 0,},
+ })
+
+ // And
+
+ Name(p432, Package(18) {
+ // index of the Operator
+ 4,
+ // SRC0 initial value
+ 0xfedcba9876543210,
+ // Target Objects initial values
+ Package(18) {
+ 0,
+ 0xfedcba9876543211,
+ "target string",
+ Buffer(17){0xc3},
+ Package(1) {
+ "target package"},
+ 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,
+ 0, 0, 0,},
+ // Benchmark Result object value
+ 0xfedcba9876543210,
+ // Benchmark Result object converted to Target type values
+ Package(18) {
+ 0,
+ 0xfedcba9876543210,
+ "76543210",
+ Buffer(17){0x10, 0x32, 0x54, 0x76,},
+ 0,
+ Buffer(9){0x10, 0x32, 0x54, 0x76,},
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ Buffer(9){0x10, 0x32, 0x54, 0x76,},
+ 0, 0, 0,},
+ })
+
+ Name(p464, Package(18) {
+ // index of the Operator
+ 4,
+ // SRC0 initial value
+ 0xfedcba9876543210,
+ // Target Objects initial values
+ Package(18) {
+ 0,
+ 0xfedcba9876543211,
+ "target string",
+ Buffer(17){0xc3},
+ Package(1) {
+ "target package"},
+ 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,
+ 0, 0, 0,},
+ // Benchmark Result object value
+ 0xfedcba9876543210,
+ // Benchmark Result object converted to Target type values
+ Package(18) {
+ 0,
+ 0xfedcba9876543210,
+ "FEDCBA9876543210",
+ Buffer(17){0x10, 0x32, 0x54, 0x76, 0x98, 0xBA, 0xDC, 0xFE,},
+ 0,
+ Buffer(9){0x10, 0x32, 0x54, 0x76, 0x98, 0xBA, 0xDC, 0xFE,},
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ Buffer(9){0x10, 0x32, 0x54, 0x76, 0x98, 0xBA, 0xDC, 0xFE,},
+ 0, 0, 0,},
+ })
+
+ // Concatenate
+
+ Name(p532, Package(18) {
+ // index of the Operator
+ 5,
+ // SRC0 initial value
+ "fedcba98 string",
+ // Target Objects initial values
+ Package(18) {
+ 0,
+ 0xfedcba9876543211,
+ "target string",
+ Buffer(17){0xc3},
+ Package(1) {
+ "target package"},
+ 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,
+ 0, 0, 0,},
+ // Benchmark Result object value
+ "fedcba98 string",
+ // Benchmark Result object converted to Target type values
+ Package(18) {
+ 0,
+ 0xfedcba98,
+ "fedcba98 string",
+ Buffer(17){0x66, 0x65, 0x64, 0x63, 0x62, 0x61, 0x39, 0x38, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6E, 0x67,},
+ 0,
+ Buffer(9){0x66, 0x65, 0x64, 0x63, 0x62, 0x61, 0x39, 0x38,},
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ Buffer(9){0x66, 0x65, 0x64, 0x63, 0x62, 0x61, 0x39, 0x38,},
+ 0, 0, 0,},
+ })
+
+ Name(p564, Package(18) {
+ // index of the Operator
+ 5,
+ // SRC0 initial value
+ "fedcba9876543210 string",
+ // Target Objects initial values
+ Package(18) {
+ 0,
+ 0xfedcba9876543211,
+ "target string",
+ Buffer(17){0xc3},
+ Package(1) {
+ "target package"},
+ 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,
+ 0, 0, 0,},
+ // Benchmark Result object value
+ "fedcba9876543210 string",
+ // Benchmark Result object converted to Target type values
+ Package(18) {
+ 0,
+ 0xfedcba9876543210,
+ "fedcba9876543210 string",
+ Buffer(17){0x66, 0x65, 0x64, 0x63, 0x62, 0x61, 0x39, 0x38, 0x37, 0x36, 0x35, 0x34, 0x33, 0x32, 0x31, 0x30, 0x20,},
+ 0,
+ Buffer(9){0x66, 0x65, 0x64, 0x63, 0x62, 0x61, 0x39, 0x38, 0x17,},
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ Buffer(9){0x66, 0x65, 0x64, 0x63, 0x62, 0x61, 0x39, 0x38, 0x17,},
+ 0, 0, 0,},
+ })
+
+ // ConcatenateResTempl
+
+ Name(p600, Package(18) {
+ // index of the Operator
+ 6,
+ // SRC0 initial value
+ ResourceTemplate(){},
+ // Target Objects initial values
+ Package(18) {
+ 0,
+ 0xfedcba9876543211,
+ "target string",
+ Buffer(17){0xc3},
+ Package(1) {
+ "target package"},
+ 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,
+ 0, 0, 0,},
+ // Benchmark Result object value
+ Buffer(2){0x79, 0},
+ // Benchmark Result object converted to Target type values
+ Package(18) {
+ 0,
+ 0x0079,
+ "79 00",
+ Buffer(17){0x79, 0},
+ 0,
+ Buffer(9){0x79, 0},
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ Buffer(9){0x79, 0},
+ 0, 0, 0,},
+ })
+
+ // Divide
+
+ Name(p732, Package(18) {
+ // index of the Operator
+ 7,
+ // SRC0 initial value
+ 0xfedcba9876543210,
+ // Target Objects initial values
+ Package(18) {
+ 0,
+ 0xfedcba9876543211,
+ "target string",
+ Buffer(17){0xc3},
+ Package(1) {
+ "target package"},
+ 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,
+ 0, 0, 0,},
+ // Benchmark Result object value
+ 0xfedcba9876543210,
+ // Benchmark Result object converted to Target type values
+ Package(18) {
+ 0,
+ 0xfedcba9876543210,
+ "76543210",
+ Buffer(17){0x10, 0x32, 0x54, 0x76,},
+ 0,
+ Buffer(9){0x10, 0x32, 0x54, 0x76,},
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ Buffer(9){0x10, 0x32, 0x54, 0x76,},
+ 0, 0, 0,},
+ })
+
+ Name(p764, Package(18) {
+ // index of the Operator
+ 7,
+ // SRC0 initial value
+ 0xfedcba9876543210,
+ // Target Objects initial values
+ Package(18) {
+ 0,
+ 0xfedcba9876543211,
+ "target string",
+ Buffer(17){0xc3},
+ Package(1) {
+ "target package"},
+ 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,
+ 0, 0, 0,},
+ // Benchmark Result object value
+ 0xfedcba9876543210,
+ // Benchmark Result object converted to Target type values
+ Package(18) {
+ 0,
+ 0xfedcba9876543210,
+ "FEDCBA9876543210",
+ Buffer(17){0x10, 0x32, 0x54, 0x76, 0x98, 0xBA, 0xDC, 0xFE,},
+ 0,
+ Buffer(9){0x10, 0x32, 0x54, 0x76, 0x98, 0xBA, 0xDC, 0xFE,},
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ Buffer(9){0x10, 0x32, 0x54, 0x76, 0x98, 0xBA, 0xDC, 0xFE,},
+ 0, 0, 0,},
+ })
+
+ // Index
+
+ Name(p832, Package(18) {
+ // index of the Operator
+ 8,
+ // SRC0 initial value
+ Package(1) {
+ 0xfedcba9876543210},
+ // Target Objects initial values
+ Package(18) {
+ 0,
+ 0xfedcba9876543211,
+ "target string",
+ Buffer(17){0xc3},
+ Package(1) {
+ "target package"},
+ 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,
+ 0, 0, 0,},
+ // Benchmark Result object value
+ 0xfedcba9876543210,
+ // Benchmark Result object converted to Target type values
+ Package(18) {
+ 0,
+ 0xfedcba9876543210,
+ "76543210",
+ Buffer(17){0x10, 0x32, 0x54, 0x76,},
+ 0,
+ Buffer(9){0x10, 0x32, 0x54, 0x76,},
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ Buffer(9){0x10, 0x32, 0x54, 0x76,},
+ 0, 0, 0,},
+ })
+
+ Name(p864, Package(18) {
+ // index of the Operator
+ 8,
+ // SRC0 initial value
+ Package(1) {
+ 0xfedcba9876543210},
+ // Target Objects initial values
+ Package(18) {
+ 0,
+ 0xfedcba9876543211,
+ "target string",
+ Buffer(17){0xc3},
+ Package(1) {
+ "target package"},
+ 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,
+ 0, 0, 0,},
+ // Benchmark Result object value
+ 0xfedcba9876543210,
+ // Benchmark Result object converted to Target type values
+ Package(18) {
+ 0,
+ 0xfedcba9876543210,
+ "FEDCBA9876543210",
+ Buffer(17){0x10, 0x32, 0x54, 0x76, 0x98, 0xBA, 0xDC, 0xFE,},
+ 0,
+ Buffer(9){0x10, 0x32, 0x54, 0x76, 0x98, 0xBA, 0xDC, 0xFE,},
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ Buffer(9){0x10, 0x32, 0x54, 0x76, 0x98, 0xBA, 0xDC, 0xFE,},
+ 0, 0, 0,},
+ })
+
+ // Mod
+
+ Name(p932, Package(18) {
+ // index of the Operator
+ 9,
+ // SRC0 initial value
+ 0xfedcba9876543210,
+ // Target Objects initial values
+ Package(18) {
+ 0,
+ 0xfedcba9876543211,
+ "target string",
+ Buffer(17){0xc3},
+ Package(1) {
+ "target package"},
+ 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,
+ 0, 0, 0,},
+ // Benchmark Result object value
+ 0xfedcba9876543210,
+ // Benchmark Result object converted to Target type values
+ Package(18) {
+ 0,
+ 0xfedcba9876543210,
+ "76543210",
+ Buffer(17){0x10, 0x32, 0x54, 0x76,},
+ 0,
+ Buffer(9){0x10, 0x32, 0x54, 0x76,},
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ Buffer(9){0x10, 0x32, 0x54, 0x76,},
+ 0, 0, 0,},
+ })
+
+ Name(p964, Package(18) {
+ // index of the Operator
+ 9,
+ // SRC0 initial value
+ 0xfedcba9876543210,
+ // Target Objects initial values
+ Package(18) {
+ 0,
+ 0xfedcba9876543211,
+ "target string",
+ Buffer(17){0xc3},
+ Package(1) {
+ "target package"},
+ 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,
+ 0, 0, 0,},
+ // Benchmark Result object value
+ 0xfedcba9876543210,
+ // Benchmark Result object converted to Target type values
+ Package(18) {
+ 0,
+ 0xfedcba9876543210,
+ "FEDCBA9876543210",
+ Buffer(17){0x10, 0x32, 0x54, 0x76, 0x98, 0xBA, 0xDC, 0xFE,},
+ 0,
+ Buffer(9){0x10, 0x32, 0x54, 0x76, 0x98, 0xBA, 0xDC, 0xFE,},
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ Buffer(9){0x10, 0x32, 0x54, 0x76, 0x98, 0xBA, 0xDC, 0xFE,},
+ 0, 0, 0,},
+ })
+
+ // Multiply
+
+ Name(pa32, Package(18) {
+ // index of the Operator
+ 10,
+ // SRC0 initial value
+ 0xfedcba9876543210,
+ // Target Objects initial values
+ Package(18) {
+ 0,
+ 0xfedcba9876543211,
+ "target string",
+ Buffer(17){0xc3},
+ Package(1) {
+ "target package"},
+ 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,
+ 0, 0, 0,},
+ // Benchmark Result object value
+ 0xfedcba9876543210,
+ // Benchmark Result object converted to Target type values
+ Package(18) {
+ 0,
+ 0xfedcba9876543210,
+ "76543210",
+ Buffer(17){0x10, 0x32, 0x54, 0x76,},
+ 0,
+ Buffer(9){0x10, 0x32, 0x54, 0x76,},
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ Buffer(9){0x10, 0x32, 0x54, 0x76,},
+ 0, 0, 0,},
+ })
+
+ Name(pa64, Package(18) {
+ // index of the Operator
+ 10,
+ // SRC0 initial value
+ 0xfedcba9876543210,
+ // Target Objects initial values
+ Package(18) {
+ 0,
+ 0xfedcba9876543211,
+ "target string",
+ Buffer(17){0xc3},
+ Package(1) {
+ "target package"},
+ 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,
+ 0, 0, 0,},
+ // Benchmark Result object value
+ 0xfedcba9876543210,
+ // Benchmark Result object converted to Target type values
+ Package(18) {
+ 0,
+ 0xfedcba9876543210,
+ "FEDCBA9876543210",
+ Buffer(17){0x10, 0x32, 0x54, 0x76, 0x98, 0xBA, 0xDC, 0xFE,},
+ 0,
+ Buffer(9){0x10, 0x32, 0x54, 0x76, 0x98, 0xBA, 0xDC, 0xFE,},
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ Buffer(9){0x10, 0x32, 0x54, 0x76, 0x98, 0xBA, 0xDC, 0xFE,},
+ 0, 0, 0,},
+ })
+
+ // NAnd
+
+ Name(pb32, Package(18) {
+ // index of the Operator
+ 11,
+ // SRC0 initial value
+ 0xfedcba9876543210,
+ // Target Objects initial values
+ Package(18) {
+ 0,
+ 0xfedcba9876543211,
+ "target string",
+ Buffer(17){0xc3},
+ Package(1) {
+ "target package"},
+ 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,
+ 0, 0, 0,},
+ // Benchmark Result object value
+ 0x123456789abcdef,
+ // Benchmark Result object converted to Target type values
+ Package(18) {
+ 0,
+ 0x123456789abcdef,
+ "89ABCDEF",
+ Buffer(17){0xef, 0xcd, 0xab, 0x89,},
+ 0,
+ Buffer(9){0xef, 0xcd, 0xab, 0x89,},
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ Buffer(9){0xef, 0xcd, 0xab, 0x89,},
+ 0, 0, 0,},
+ })
+
+ Name(pb64, Package(18) {
+ // index of the Operator
+ 11,
+ // SRC0 initial value
+ 0xfedcba9876543210,
+ // Target Objects initial values
+ Package(18) {
+ 0,
+ 0xfedcba9876543211,
+ "target string",
+ Buffer(17){0xc3},
+ Package(1) {
+ "target package"},
+ 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,
+ 0, 0, 0,},
+ // Benchmark Result object value
+ 0x123456789abcdef,
+ // Benchmark Result object converted to Target type values
+ Package(18) {
+ 0,
+ 0x123456789abcdef,
+ "0123456789ABCDEF",
+ Buffer(17){0xef, 0xcd, 0xab, 0x89, 0x67, 0x45, 0x23, 0x01,},
+ 0,
+ Buffer(9){0xef, 0xcd, 0xab, 0x89, 0x67, 0x45, 0x23, 0x01,},
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ Buffer(9){0xef, 0xcd, 0xab, 0x89, 0x67, 0x45, 0x23, 0x01,},
+ 0, 0, 0,},
+ })
+
+ // NOr
+
+ Name(pc32, Package(18) {
+ // index of the Operator
+ 12,
+ // SRC0 initial value
+ 0xfedcba9876543210,
+ // Target Objects initial values
+ Package(18) {
+ 0,
+ 0xfedcba9876543211,
+ "target string",
+ Buffer(17){0xc3},
+ Package(1) {
+ "target package"},
+ 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,
+ 0, 0, 0,},
+ // Benchmark Result object value
+ 0x123456789abcdef,
+ // Benchmark Result object converted to Target type values
+ Package(18) {
+ 0,
+ 0x123456789abcdef,
+ "89ABCDEF",
+ Buffer(17){0xef, 0xcd, 0xab, 0x89,},
+ 0,
+ Buffer(9){0xef, 0xcd, 0xab, 0x89,},
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ Buffer(9){0xef, 0xcd, 0xab, 0x89,},
+ 0, 0, 0,},
+ })
+
+ Name(pc64, Package(18) {
+ // index of the Operator
+ 12,
+ // SRC0 initial value
+ 0xfedcba9876543210,
+ // Target Objects initial values
+ Package(18) {
+ 0,
+ 0xfedcba9876543211,
+ "target string",
+ Buffer(17){0xc3},
+ Package(1) {
+ "target package"},
+ 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,
+ 0, 0, 0,},
+ // Benchmark Result object value
+ 0x123456789abcdef,
+ // Benchmark Result object converted to Target type values
+ Package(18) {
+ 0,
+ 0x123456789abcdef,
+ "0123456789ABCDEF",
+ Buffer(17){0xef, 0xcd, 0xab, 0x89, 0x67, 0x45, 0x23, 0x01,},
+ 0,
+ Buffer(9){0xef, 0xcd, 0xab, 0x89, 0x67, 0x45, 0x23, 0x01,},
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ Buffer(9){0xef, 0xcd, 0xab, 0x89, 0x67, 0x45, 0x23, 0x01,},
+ 0, 0, 0,},
+ })
+
+ // Or
+
+ Name(pd32, Package(18) {
+ // index of the Operator
+ 13,
+ // SRC0 initial value
+ 0xfedcba9876543210,
+ // Target Objects initial values
+ Package(18) {
+ 0,
+ 0xfedcba9876543211,
+ "target string",
+ Buffer(17){0xc3},
+ Package(1) {
+ "target package"},
+ 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,
+ 0, 0, 0,},
+ // Benchmark Result object value
+ 0xfedcba9876543210,
+ // Benchmark Result object converted to Target type values
+ Package(18) {
+ 0,
+ 0xfedcba9876543210,
+ "76543210",
+ Buffer(17){0x10, 0x32, 0x54, 0x76,},
+ 0,
+ Buffer(9){0x10, 0x32, 0x54, 0x76,},
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ Buffer(9){0x10, 0x32, 0x54, 0x76,},
+ 0, 0, 0,},
+ })
+
+ Name(pd64, Package(18) {
+ // index of the Operator
+ 13,
+ // SRC0 initial value
+ 0xfedcba9876543210,
+ // Target Objects initial values
+ Package(18) {
+ 0,
+ 0xfedcba9876543211,
+ "target string",
+ Buffer(17){0xc3},
+ Package(1) {
+ "target package"},
+ 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,
+ 0, 0, 0,},
+ // Benchmark Result object value
+ 0xfedcba9876543210,
+ // Benchmark Result object converted to Target type values
+ Package(18) {
+ 0,
+ 0xfedcba9876543210,
+ "FEDCBA9876543210",
+ Buffer(17){0x10, 0x32, 0x54, 0x76, 0x98, 0xBA, 0xDC, 0xFE,},
+ 0,
+ Buffer(9){0x10, 0x32, 0x54, 0x76, 0x98, 0xBA, 0xDC, 0xFE,},
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ Buffer(9){0x10, 0x32, 0x54, 0x76, 0x98, 0xBA, 0xDC, 0xFE,},
+ 0, 0, 0,},
+ })
+
+ // ShiftLeft
+
+ Name(pe32, Package(18) {
+ // index of the Operator
+ 14,
+ // SRC0 initial value
+ 0xfedcba9876543210,
+ // Target Objects initial values
+ Package(18) {
+ 0,
+ 0xfedcba9876543211,
+ "target string",
+ Buffer(17){0xc3},
+ Package(1) {
+ "target package"},
+ 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,
+ 0, 0, 0,},
+ // Benchmark Result object value
+ 0xfedcba9876543210,
+ // Benchmark Result object converted to Target type values
+ Package(18) {
+ 0,
+ 0xfedcba9876543210,
+ "76543210",
+ Buffer(17){0x10, 0x32, 0x54, 0x76,},
+ 0,
+ Buffer(9){0x10, 0x32, 0x54, 0x76,},
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ Buffer(9){0x10, 0x32, 0x54, 0x76,},
+ 0, 0, 0,},
+ })
+
+ Name(pe64, Package(18) {
+ // index of the Operator
+ 14,
+ // SRC0 initial value
+ 0xfedcba9876543210,
+ // Target Objects initial values
+ Package(18) {
+ 0,
+ 0xfedcba9876543211,
+ "target string",
+ Buffer(17){0xc3},
+ Package(1) {
+ "target package"},
+ 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,
+ 0, 0, 0,},
+ // Benchmark Result object value
+ 0xfedcba9876543210,
+ // Benchmark Result object converted to Target type values
+ Package(18) {
+ 0,
+ 0xfedcba9876543210,
+ "FEDCBA9876543210",
+ Buffer(17){0x10, 0x32, 0x54, 0x76, 0x98, 0xBA, 0xDC, 0xFE,},
+ 0,
+ Buffer(9){0x10, 0x32, 0x54, 0x76, 0x98, 0xBA, 0xDC, 0xFE,},
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ Buffer(9){0x10, 0x32, 0x54, 0x76, 0x98, 0xBA, 0xDC, 0xFE,},
+ 0, 0, 0,},
+ })
+
+ // ShiftRight
+
+ Name(pf32, Package(18) {
+ // index of the Operator
+ 15,
+ // SRC0 initial value
+ 0xfedcba9876543210,
+ // Target Objects initial values
+ Package(18) {
+ 0,
+ 0xfedcba9876543211,
+ "target string",
+ Buffer(17){0xc3},
+ Package(1) {
+ "target package"},
+ 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,
+ 0, 0, 0,},
+ // Benchmark Result object value
+ 0xfedcba9876543210,
+ // Benchmark Result object converted to Target type values
+ Package(18) {
+ 0,
+ 0xfedcba9876543210,
+ "76543210",
+ Buffer(17){0x10, 0x32, 0x54, 0x76,},
+ 0,
+ Buffer(9){0x10, 0x32, 0x54, 0x76,},
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ Buffer(9){0x10, 0x32, 0x54, 0x76,},
+ 0, 0, 0,},
+ })
+
+ Name(pf64, Package(18) {
+ // index of the Operator
+ 15,
+ // SRC0 initial value
+ 0xfedcba9876543210,
+ // Target Objects initial values
+ Package(18) {
+ 0,
+ 0xfedcba9876543211,
+ "target string",
+ Buffer(17){0xc3},
+ Package(1) {
+ "target package"},
+ 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,
+ 0, 0, 0,},
+ // Benchmark Result object value
+ 0xfedcba9876543210,
+ // Benchmark Result object converted to Target type values
+ Package(18) {
+ 0,
+ 0xfedcba9876543210,
+ "FEDCBA9876543210",
+ Buffer(17){0x10, 0x32, 0x54, 0x76, 0x98, 0xBA, 0xDC, 0xFE,},
+ 0,
+ Buffer(9){0x10, 0x32, 0x54, 0x76, 0x98, 0xBA, 0xDC, 0xFE,},
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ Buffer(9){0x10, 0x32, 0x54, 0x76, 0x98, 0xBA, 0xDC, 0xFE,},
+ 0, 0, 0,},
+ })
+
+ // Subtract
+
+ Name(pg32, Package(18) {
+ // index of the Operator
+ 16,
+ // SRC0 initial value
+ 0xfedcba9876543210,
+ // Target Objects initial values
+ Package(18) {
+ 0,
+ 0xfedcba9876543211,
+ "target string",
+ Buffer(17){0xc3},
+ Package(1) {
+ "target package"},
+ 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,
+ 0, 0, 0,},
+ // Benchmark Result object value
+ 0xfedcba9876543210,
+ // Benchmark Result object converted to Target type values
+ Package(18) {
+ 0,
+ 0xfedcba9876543210,
+ "76543210",
+ Buffer(17){0x10, 0x32, 0x54, 0x76,},
+ 0,
+ Buffer(9){0x10, 0x32, 0x54, 0x76,},
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ Buffer(9){0x10, 0x32, 0x54, 0x76,},
+ 0, 0, 0,},
+ })
+
+ Name(pg64, Package(18) {
+ // index of the Operator
+ 16,
+ // SRC0 initial value
+ 0xfedcba9876543210,
+ // Target Objects initial values
+ Package(18) {
+ 0,
+ 0xfedcba9876543211,
+ "target string",
+ Buffer(17){0xc3},
+ Package(1) {
+ "target package"},
+ 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,
+ 0, 0, 0,},
+ // Benchmark Result object value
+ 0xfedcba9876543210,
+ // Benchmark Result object converted to Target type values
+ Package(18) {
+ 0,
+ 0xfedcba9876543210,
+ "FEDCBA9876543210",
+ Buffer(17){0x10, 0x32, 0x54, 0x76, 0x98, 0xBA, 0xDC, 0xFE,},
+ 0,
+ Buffer(9){0x10, 0x32, 0x54, 0x76, 0x98, 0xBA, 0xDC, 0xFE,},
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ Buffer(9){0x10, 0x32, 0x54, 0x76, 0x98, 0xBA, 0xDC, 0xFE,},
+ 0, 0, 0,},
+ })
+
+ // XOr
+
+ Name(ph32, Package(18) {
+ // index of the Operator
+ 17,
+ // SRC0 initial value
+ 0xfedcba9876543210,
+ // Target Objects initial values
+ Package(18) {
+ 0,
+ 0xfedcba9876543211,
+ "target string",
+ Buffer(17){0xc3},
+ Package(1) {
+ "target package"},
+ 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,
+ 0, 0, 0,},
+ // Benchmark Result object value
+ 0xfedcba9876543210,
+ // Benchmark Result object converted to Target type values
+ Package(18) {
+ 0,
+ 0xfedcba9876543210,
+ "76543210",
+ Buffer(17){0x10, 0x32, 0x54, 0x76,},
+ 0,
+ Buffer(9){0x10, 0x32, 0x54, 0x76,},
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ Buffer(9){0x10, 0x32, 0x54, 0x76,},
+ 0, 0, 0,},
+ })
+
+ Name(ph64, Package(18) {
+ // index of the Operator
+ 17,
+ // SRC0 initial value
+ 0xfedcba9876543210,
+ // Target Objects initial values
+ Package(18) {
+ 0,
+ 0xfedcba9876543211,
+ "target string",
+ Buffer(17){0xc3},
+ Package(1) {
+ "target package"},
+ 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,
+ 0, 0, 0,},
+ // Benchmark Result object value
+ 0xfedcba9876543210,
+ // Benchmark Result object converted to Target type values
+ Package(18) {
+ 0,
+ 0xfedcba9876543210,
+ "FEDCBA9876543210",
+ Buffer(17){0x10, 0x32, 0x54, 0x76, 0x98, 0xBA, 0xDC, 0xFE,},
+ 0,
+ Buffer(9){0x10, 0x32, 0x54, 0x76, 0x98, 0xBA, 0xDC, 0xFE,},
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ Buffer(9){0x10, 0x32, 0x54, 0x76, 0x98, 0xBA, 0xDC, 0xFE,},
+ 0, 0, 0,},
+ })
+
+ // Mid
+
+ Name(pi32, Package(18) {
+ // index of the Operator
+ 18,
+ // SRC0 initial value
+ "fedcba98 string",
+ // Target Objects initial values
+ Package(18) {
+ 0,
+ 0xfedcba9876543211,
+ "target string",
+ Buffer(17){0xc3},
+ Package(1) {
+ "target package"},
+ 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,
+ 0, 0, 0,},
+ // Benchmark Result object value
+ "fedcba98 string",
+ // Benchmark Result object converted to Target type values
+ Package(18) {
+ 0,
+ 0xfedcba98,
+ "fedcba98 string",
+ Buffer(17){0x66, 0x65, 0x64, 0x63, 0x62, 0x61, 0x39, 0x38, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6E, 0x67,},
+ 0,
+ Buffer(9){0x66, 0x65, 0x64, 0x63, 0x62, 0x61, 0x39, 0x38,},
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ Buffer(9){0x66, 0x65, 0x64, 0x63, 0x62, 0x61, 0x39, 0x38,},
+ 0, 0, 0,},
+ })
+
+ Name(pi64, Package(18) {
+ // index of the Operator
+ 18,
+ // SRC0 initial value
+ "fedcba9876543210 string",
+ // Target Objects initial values
+ Package(18) {
+ 0,
+ 0xfedcba9876543211,
+ "target string",
+ Buffer(17){0xc3},
+ Package(1) {
+ "target package"},
+ 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,
+ 0, 0, 0,},
+ // Benchmark Result object value
+ "fedcba9876543210 string",
+ // Benchmark Result object converted to Target type values
+ Package(18) {
+ 0,
+ 0xfedcba9876543210,
+ "fedcba9876543210 string",
+ Buffer(17){0x66, 0x65, 0x64, 0x63, 0x62, 0x61, 0x39, 0x38, 0x37, 0x36, 0x35, 0x34, 0x33, 0x32, 0x31, 0x30, 0x20,},
+ 0,
+ Buffer(9){0x66, 0x65, 0x64, 0x63, 0x62, 0x61, 0x39, 0x38, 0x17,},
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ Buffer(9){0x66, 0x65, 0x64, 0x63, 0x62, 0x61, 0x39, 0x38, 0x17,},
+ 0, 0, 0,},
+ })
+
+ Name(p320, Package(19) {
+ p032, p132, p232, p332, p432, p532, p600, p732, p832, p932,
+ pa32, pb32, pc32, pd32, pe32, pf32, pg32, ph32, pi32,})
+ Name(p640, Package(19) {
+ p064, p164, p264, p364, p464, p564, p600, p764, p864, p964,
+ pa64, pb64, pc64, pd64, pe64, pf64, pg64, ph64, pi64,})
+
+ Name(lpN0, 18)
+ Name(lpC0, 0)
+
+ Name(lpN1, 0)
+ Name(lpC1, 0)
+
+ if (LEqual(arg0, 0)) {
+ Concatenate(ts, "-S", ts)
+ } elseif (LEqual(arg0, 1)){
+ Concatenate(ts, "-C", ts)
+ } elseif (LEqual(arg0, 2)){
+ Concatenate(ts, "-O", ts)
+ }
+
+ if (LEqual(arg4, 0)) {
+ Concatenate(ts, "-N", ts)
+ } else {
+ Concatenate(ts, "-L", ts)
+ }
+
+ if (arg1) {
+ Concatenate(ts, "-Exc", ts)
+ }
+
+ SRMT(ts)
+ // Initialize statistics
+ m001()
+
+ if (LGreater(arg0, 2)) {
+ // Unexpected Kind of Op (0 - Store, ...)
+ err(Concatenate(ts, terr), z127, 34, 0, 0, arg0, 0)
+ Return (1)
+ }
+
+ if (LGreater(arg4, 1)) {
+ // Unexpected Kind of Source-Target pair
+ err(Concatenate(ts, terr), z127, 35, 0, 0, arg4, 0)
+ Return (1)
+ }
+
+ // Flags of Store from and to Named to check
+ // exceptional conditions on storing
+ if (LEqual(arg0, 1)) {
+ Store(0, Local0)
+ Store(0, Local1)
+ } else {
+ Store(1, Local0)
+ Store(LEqual(arg4, 0), Local1)
+ }
+
+ // Enumerate Target types
+ While (lpN0) {
+ if (LAnd(Derefof(Index(b670, lpC0)), Derefof(Index(arg2, lpC0)))) {
+ // Not invalid type of the Target Object to store in
+
+ Store(19, lpN1)
+ Store(0, lpC1)
+
+ // Enumerate the operators
+ // which determine expected Result types
+ While (lpN1) {
+ // Choose expected Result type
+ Store(Derefof(Index(BUFR, lpC1)), Local2)
+
+ if (LAnd(Derefof(Index(b671, Local2)), Derefof(Index(arg3, Local2)))) {
+ // Not invalid type of the result Object to be stored
+ if (F64) {
+ Store(Derefof(Index(p640, lpC1)), Local3)
+ } else {
+ Store(Derefof(Index(p320, lpC1)), Local3)
+ }
+
+ if (arg1) {
+ // Skip cases without exceptional conditions
+ if (LNot(m685(LNotEqual(arg0, 1), lpC0, Local2, Local0, Local1))) {
+ Decrement(lpN1)
+ Increment(lpC1)
+ Continue
+ }
+ } else {
+ // Skip cases with exceptional conditions
+ if (m685(LNotEqual(arg0, 1), lpC0, Local2, Local0, Local1)) {
+ Decrement(lpN1)
+ Increment(lpC1)
+ Continue
+ }
+ }
+
+ if (LEqual(arg4, 0)) {
+ // Named Source and Target
+ m008(Concatenate(ts, "-m008"), 0, lpC0,
+ Derefof(Index(BUFS, lpC1)), arg0, arg1, Local3)
+ } elseif (LEqual(arg4, 1)) {
+ // LocalX Target
+ m009(Concatenate(ts, "-m009"), 0, lpC0,
+ Derefof(Index(BUFS, lpC1)), arg0, arg1, Local3)
+ }
+ }
+ Decrement(lpN1)
+ Increment(lpC1)
+ }
+ }
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+
+ // Output statistics
+ m002(Concatenate("Storing of the result of normal operator to Named Object with ",
+ Derefof(Index(PAC4, arg0))))
+
+ Return (0)
+}
+
+// Run-method
+Method(RES4)
+{
+ Store("TEST: RES4, Result Object processing in the normal operators", Debug)
+
+ // Named Source and Target
+
+ // Store the result of the normal operators
+ m694(0, 0, b676, b676, 0)
+ // CopyObject the result of the normal operators
+ m694(1, 0, b676, b676, 0)
+ // Optional storing of the result of the normal operators
+ m694(2, 0, b676, b676, 0)
+
+ // LocalX Target
+
+ // Store the result of the normal operators
+ m694(0, 0, b677, b676, 1)
+ // CopyObject the result of the normal operators
+ m694(1, 0, b677, b676, 1)
+ // Optional storing of the result of the normal operators
+ m694(2, 0, b677, b676, 1)
+}
+
diff --git a/tests/aslts/src/runtime/collections/complex/result/tests/rstore/MAIN.asl b/tests/aslts/src/runtime/collections/complex/result/tests/rstore/MAIN.asl
new file mode 100644
index 000000000..c97f75bf8
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/result/tests/rstore/MAIN.asl
@@ -0,0 +1,58 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "rstore.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../../runtime/cntl/DECL_6UP.asl")
+ Include("../../../../../../runtime/collections/complex/result/common/rcommon.asl")
+ Include("../../../../../../runtime/collections/complex/result/tests/rstore/rstore.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../../runtime/collections/complex/result/tests/rstore/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/complex/result/tests/rstore/Makefile b/tests/aslts/src/runtime/collections/complex/result/tests/rstore/Makefile
new file mode 100644
index 000000000..8c698255a
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/result/tests/rstore/Makefile
@@ -0,0 +1,7 @@
+# rstore
+
+AMLMOD= rstore
+COLL= ../../../..
+
+TOP= $(COLL)/../../..
+include $(COLL)/Makefile.install
diff --git a/tests/aslts/src/runtime/collections/complex/result/tests/rstore/RUN.asl b/tests/aslts/src/runtime/collections/complex/result/tests/rstore/RUN.asl
new file mode 100644
index 000000000..ac13a0321
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/result/tests/rstore/RUN.asl
@@ -0,0 +1,35 @@
+/*
+ * 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.
+ */
+
+
+if (STTT("Result Object processing in Store()", TCLC, 12, W011)) {
+ RES0()
+}
+FTTT()
diff --git a/tests/aslts/src/runtime/collections/complex/result/tests/rstore/rstore.asl b/tests/aslts/src/runtime/collections/complex/result/tests/rstore/rstore.asl
new file mode 100644
index 000000000..2736a1b29
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/complex/result/tests/rstore/rstore.asl
@@ -0,0 +1,3961 @@
+/*
+ * 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.
+ */
+
+/*
+ * Check Result Object processing (simultaneously verifying
+ * the Implicit Result Object Conversion Rules) in the Store operator
+ */
+
+Name(z123, 123)
+
+// Store to Global Named Objects, Constant and LocalX
+Method(m690)
+{
+ Name(ts, "m690")
+
+ Name(terr, "test error")
+
+ Name(i000, 0)
+
+ // Common testing control
+ Method(m100, 3)
+ {
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+ Name(lpN1, 0)
+ Name(lpC1, 0)
+
+ SRMT(arg0)
+
+ Store(9, lpN0)
+ Store(0, lpC0)
+
+ // Enumerate ways to obtain some result object
+ While (lpN0) {
+
+ Store(3, lpN1)
+ Store(1, lpC1)
+
+ // Enumerate types of the result Object
+ While (lpN1) {
+ // Choose a type and a value of the Object to store into
+ Switch (arg1) {
+ Case(0) { // Uninitialized
+ // Store(Src0, Local0)
+ }
+ Case(1) { // Integer
+ // Choose kind of the Object to store into:
+ if (LEqual(arg2, 0)) {
+ // Constant (like Store(Src0, Zero))
+ m010(Concatenate(ts, "-m010"), lpC0, lpC1)
+ } elseif (LEqual(arg2, 1)) {
+ // Named Object
+ m011(Concatenate(ts, "-m011"), lpC0, lpC1)
+ } elseif (LEqual(arg2, 2)) {
+ // ArgX Object
+ // Store(Src0, arg3)
+ Store("Not implemented", Debug)
+ err(terr, z123, 1, 0, 0, arg1, arg2)
+ Return (1)
+ } elseif (LEqual(arg2, 3)) {
+ // LocalX Object
+ m013(Concatenate(ts, "-m013"), lpC0, lpC1)
+ } elseif (LEqual(arg2, 4)) {
+ // Reference in ArgX Object
+ // Store(Src0, arg4)
+ Store("Not implemented", Debug)
+ err(terr, z123, 2, 0, 0, arg1, arg2)
+ Return (1)
+ } elseif (LEqual(arg2, 5)) {
+ // Elemenf of a Package
+ // Store(Src0, Index(p680, 0))
+ Store("Not implemented", Debug)
+ err(terr, z123, 3, 0, 0, arg1, arg2)
+ Return (1)
+ } else {
+ Store("Unexpected Kind of the Object to store into", Debug)
+ err(terr, z123, 4, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ }
+ Case(2) { // String
+ // choose kind of the Object to store into:
+ if (LEqual(arg2, 0)) {
+ // Constant
+ // Store(Src0, "")
+ Store("Not implemented", Debug)
+ err(terr, z123, 5, 0, 0, arg1, arg2)
+ Return (1)
+ } elseif (LEqual(arg2, 1)) {
+ // Named Object
+ m021(Concatenate(ts, "-m021"), lpC0, lpC1)
+ } elseif (LEqual(arg2, 2)) {
+ // ArgX Object
+ // Store(Src0, arg3)
+ Store("Not implemented", Debug)
+ err(terr, z123, 6, 0, 0, arg1, arg2)
+ Return (1)
+ } elseif (LEqual(arg2, 3)) {
+ // LocalX Object
+ m023(Concatenate(ts, "-m023"), lpC0, lpC1)
+ } elseif (LEqual(arg2, 4)) {
+ // Reference in ArgX Object
+ // Store(Src0, arg4)
+ Store("Not implemented", Debug)
+ err(terr, z123, 7, 0, 0, arg1, arg2)
+ Return (1)
+ } elseif (LEqual(arg2, 5)) {
+ // Elemenf of a Package
+ // Store(Src0, Index(p680, 0))
+ Store("Not implemented", Debug)
+ err(terr, z123, 8, 0, 0, arg1, arg2)
+ Return (1)
+ } else {
+ Store("Unexpected Kind of the Object to store into", Debug)
+ err(terr, z123, 9, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ }
+ Case(3) { // Buffer
+ // choose kind of the Object to store into:
+ if (LEqual(arg2, 0)) {
+ // Constant
+ // Store(Src0, Buffer(1){})
+ Store("Not implemented", Debug)
+ err(terr, z123, 10, 0, 0, arg1, arg2)
+ Return (1)
+ } elseif (LEqual(arg2, 1)) {
+ // Named Object
+ m031(Concatenate(ts, "-m031"), lpC0, lpC1)
+ } elseif (LEqual(arg2, 2)) {
+ // ArgX Object
+ // Store(Src0, arg3)
+ Store("Not implemented", Debug)
+ err(terr, z123, 11, 0, 0, arg1, arg2)
+ Return (1)
+ } elseif (LEqual(arg2, 3)) {
+ // LocalX Object
+ // Store(Src0, Local2)
+ Store("Not implemented", Debug)
+ err(terr, z123, 12, 0, 0, arg1, arg2)
+ Return (1)
+ } elseif (LEqual(arg2, 4)) {
+ // Reference in ArgX Object
+ // Store(Src0, arg4)
+ Store("Not implemented", Debug)
+ err(terr, z123, 13, 0, 0, arg1, arg2)
+ Return (1)
+ } elseif (LEqual(arg2, 5)) {
+ // Elemenf of a Package
+ // Store(Src0, Index(p680, 0))
+ Store("Not implemented", Debug)
+ err(terr, z123, 14, 0, 0, arg1, arg2)
+ Return (1)
+ } else {
+ Store("Unexpected Kind of the Object to store into", Debug)
+ err(terr, z123, 15, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ }
+ Case(4) { // Package
+ // Store(Src0, p680)
+ Store("Not implemented", Debug)
+ err(terr, z123, 16, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ Case(14) { // Buffer field
+ // Choose kind of the Object to store into:
+ if (LEqual(arg2, 0)) {
+ // Constant (like Store(Src0, Zero))
+ Store("Not implemented", Debug)
+ err(terr, z123, 17, 0, 0, arg1, arg2)
+ Return (1)
+ } elseif (LEqual(arg2, 1)) {
+ // Named Object
+ m0e0(Concatenate(ts, "-m0e0"), lpC0, lpC1)
+ m0e1(Concatenate(ts, "-m0e1"), lpC0, lpC1)
+ m0e2(Concatenate(ts, "-m0e2"), lpC0, lpC1)
+ } elseif (LEqual(arg2, 2)) {
+ // ArgX Object
+ // Store(Src0, arg3)
+ Store("Not implemented", Debug)
+ err(terr, z123, 18, 0, 0, arg1, arg2)
+ Return (1)
+ } elseif (LEqual(arg2, 3)) {
+ // LocalX Object
+ // Store(Src0, Local2)
+ Store("Not implemented", Debug)
+ err(terr, z123, 19, 0, 0, arg1, arg2)
+ Return (1)
+ } elseif (LEqual(arg2, 4)) {
+ // Reference in ArgX Object
+ // Store(Src0, arg4)
+ Store("Not implemented", Debug)
+ err(terr, z123, 20, 0, 0, arg1, arg2)
+ Return (1)
+ } elseif (LEqual(arg2, 5)) {
+ // Elemenf of a Package
+ // Store(Src0, Index(p680, 0))
+ Store("Not implemented", Debug)
+ err(terr, z123, 21, 0, 0, arg1, arg2)
+ Return (1)
+ } else {
+ Store("Unexpected Kind of the Object to store into", Debug)
+ err(terr, z123, 22, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ }
+ Default {
+ Store("Unexpected type of the Object to store into", Debug)
+ err(terr, z123, 23, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ }
+ Decrement(lpN1)
+ Increment(lpC1)
+ }
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+ Return (0)
+ }
+
+ // Store() Result Object to Integer Constant
+ Method(m010, 3)
+ {
+ Name(p000, Package(){Zero, One, Ones, 0xfe7cb391d650a284})
+
+ // Return Indexed reference to ASL constant specified
+ // by Name as an element of the Package for next applying
+ // through Derefof operator as Destination in Store operator
+ Method(m200, 1)
+ {
+ if (y900) {
+ Return(Index(Package(){Zero, One, Ones, 0xfe7cb391d650a284}, arg0))
+ }
+ Return(Index(p000, arg0))
+ }
+
+ // ArgX as a way to obtain some result object
+ Method(m000, 5)
+ {
+ Switch(arg1) {
+ Case(1) { // Integer
+ Store(arg2, Derefof(m200(1)))
+ m680(arg0, 24, 0, Derefof(m200(1)), 1)
+ m680(arg0, 25, 0, arg2, 0xfe7cb391d650a284)
+ }
+ Case(2) { // String
+ Store(arg3, Derefof(m200(1)))
+ m680(arg0, 26, 0, Derefof(m200(1)), 1)
+ m680(arg0, 27, 0, arg3, "FE7CB391D650A284")
+ }
+ Case(3) { // Buffer
+ Store(arg4, Derefof(m200(1)))
+ m680(arg0, 28, 0, Derefof(m200(1)), 1)
+ m680(arg0, 29, 0, arg4, Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ }
+ Case(5) { // Field Unit
+ Store("Not implemented", Debug)
+ err(terr, z123, 30, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ Case(14) { // Buffer Field
+ Store("Not implemented", Debug)
+ err(terr, z123, 31, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ }
+ Return (0)
+ }
+ // Reference in ArgX as a way to obtain some result object
+ Method(m001, 5)
+ {
+ Switch(arg1) {
+ Case(1) { // Integer
+ Store(Derefof(arg2), Derefof(m200(1)))
+ m680(arg0, 32, 0, Derefof(m200(1)), 1)
+ m680(arg0, 33, 0, Derefof(arg2), 0xfe7cb391d650a284)
+ }
+ Case(2) { // String
+ Store(Derefof(arg3), Derefof(m200(1)))
+ m680(arg0, 34, 0, Derefof(m200(1)), 1)
+ m680(arg0, 35, 0, Derefof(arg3), "FE7CB391D650A284")
+ }
+ Case(3) { // Buffer
+ Store(Derefof(arg4), Derefof(m200(1)))
+ m680(arg0, 36, 0, Derefof(m200(1)), 1)
+ m680(arg0, 37, 0, Derefof(arg4), Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ }
+ Case(5) { // Field Unit
+ Store("Not implemented", Debug)
+ err(terr, z123, 38, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ Case(14) { // Buffer Field
+ Store("Not implemented", Debug)
+ err(terr, z123, 39, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ }
+ Return (0)
+ }
+
+ m680(arg0, 40, 0, Derefof(m200(1)), 1)
+
+ // Choose a way to obtain some result object
+ Switch(arg1) {
+ Case(0) { // Data Image
+
+ // Choose a type of the result Object and specific source
+ // objects to obtain the result Object of the specified type.
+ // Check that the destination Object is properly initialized.
+ // Perform storing expression and check result.
+ Switch(arg2) {
+ Case(1) { // Integer
+ Store(0xfe7cb391d650a284, Derefof(m200(1)))
+ m680(arg0, 41, 0, Derefof(m200(1)), 1)
+ }
+ Case(2) { // String
+ Store("FE7CB391D650A284", Derefof(m200(1)))
+ m680(arg0, 42, 0, Derefof(m200(1)), 1)
+ }
+ Case(3) { // Buffer
+ Store(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, Derefof(m200(1)))
+ m680(arg0, 43, 0, Derefof(m200(1)), 1)
+ }
+ Case(5) { // Field Unit
+ Store("Not implemented", Debug)
+ err(terr, z123, 44, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ Case(14) { // Buffer Field
+ Store("Not implemented", Debug)
+ err(terr, z123, 45, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ }
+ }
+ Case(1) { // Named Object
+ Switch(arg2) {
+ Case(1) { // Integer
+ Store(i6e0, Derefof(m200(1)))
+ m680(arg0, 46, 0, Derefof(m200(1)), 1)
+ m680(arg0, 47, 0, i6e0, 0xfe7cb391d650a284)
+ }
+ Case(2) { // String
+ Store(s6e0, Derefof(m200(1)))
+ m680(arg0, 48, 0, Derefof(m200(1)), 1)
+ m680(arg0, 49, 0, s6e0, "FE7CB391D650A284")
+ }
+ Case(3) { // Buffer
+ Store(b6e0, Derefof(m200(1)))
+ m680(arg0, 50, 0, Derefof(m200(1)), 1)
+ m680(arg0, 51, 0, b6e0, Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ }
+ Case(5) { // Field Unit
+ Store("Not implemented", Debug)
+ err(terr, z123, 52, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ Case(14) { // Buffer Field
+ Store("Not implemented", Debug)
+ err(terr, z123, 53, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ }
+ }
+ Case(2) { // Method ArgX Object
+ m000(Concatenate(arg0, "-m000"), arg2,
+ 0xfe7cb391d650a284, "FE7CB391D650A284", Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ }
+ Case(3) { // Method LocalX Object
+ Switch(arg2) {
+ Case(1) { // Integer
+ Store(0xfe7cb391d650a284, Local0)
+ }
+ Case(2) { // String
+ Store("FE7CB391D650A284", Local0)
+ }
+ Case(3) { // Buffer
+ Store(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, Local0)
+ }
+ Case(5) { // Field Unit
+ Store("Not implemented", Debug)
+ err(terr, z123, 54, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ Case(14) { // Buffer Field
+ Store("Not implemented", Debug)
+ err(terr, z123, 55, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ }
+ Switch(arg2) {
+ Case(1) { // Integer
+ Store(Local0, Derefof(m200(1)))
+ m680(arg0, 56, 0, Derefof(m200(1)), 1)
+ m680(arg0, 57, 0, Local0, 0xfe7cb391d650a284)
+ }
+ Case(2) { // String
+ Store(Local0, Derefof(m200(1)))
+ m680(arg0, 58, 0, Derefof(m200(1)), 1)
+ m680(arg0, 59, 0, Local0, "FE7CB391D650A284")
+ }
+ Case(3) { // Buffer
+ Store(Local0, Derefof(m200(1)))
+ m680(arg0, 60, 0, Derefof(m200(1)), 1)
+ m680(arg0, 61, 0, Local0, Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ }
+ Case(5) { // Field Unit
+ Store("Not implemented", Debug)
+ err(terr, z123, 62, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ Case(14) { // Buffer Field
+ Store("Not implemented", Debug)
+ err(terr, z123, 63, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ }
+ }
+ Case(4) { // Derefof of intermediate Object (Method ArgX Object)
+ m001(Concatenate(arg0, "-m001"), arg2, Refof(i6e1), Refof(s6e1), Refof(b6e1))
+ }
+ Case(5) { // Derefof of immediate Index(...)
+ Switch(arg2) {
+ Case(1) { // Integer
+ Store(Derefof(Index(p690, 0)), Derefof(m200(1)))
+ m680(arg0, 64, 0, Derefof(m200(1)), 1)
+ m680(arg0, 65, 0, Derefof(Index(p690, 0)), 0xfe7cb391d650a284)
+ }
+ Case(2) { // String
+ Store(Derefof(Index(p690, 1)), Derefof(m200(1)))
+ m680(arg0, 66, 0, Derefof(m200(1)), 1)
+ m680(arg0, 67, 0, Derefof(Index(p690, 1)), "FE7CB391D650A284")
+ }
+ Case(3) { // Buffer
+ Store(Derefof(Index(p690, 2)), Derefof(m200(1)))
+ m680(arg0, 68, 0, Derefof(m200(1)), 1)
+ m680(arg0, 69, 0, Derefof(Index(p690, 2)), Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ }
+ Case(5) { // Field Unit
+ Store("Not implemented", Debug)
+ err(terr, z123, 70, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ Case(14) { // Buffer Field
+ Store("Not implemented", Debug)
+ err(terr, z123, 71, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ }
+ }
+ Case(6) { // Derefof of Indexed Reference returned by called Method
+ Switch(arg2) {
+ Case(1) { // Integer
+ Store(Derefof(m681(p690, 3)), Derefof(m200(1)))
+ m680(arg0, 72, 0, Derefof(m200(1)), 1)
+ m680(arg0, 73, 0, Derefof(Index(p690, 3)), 0xfe7cb391d650a284)
+ }
+ Case(2) { // String
+ Store(Derefof(m681(p690, 4)), Derefof(m200(1)))
+ m680(arg0, 74, 0, Derefof(m200(1)), 1)
+ m680(arg0, 75, 0, Derefof(Index(p690, 4)), "FE7CB391D650A284")
+ }
+ Case(3) { // Buffer
+ Store(Derefof(m681(p690, 5)), Derefof(m200(1)))
+ m680(arg0, 76, 0, Derefof(m200(1)), 1)
+ m680(arg0, 77, 0, Derefof(Index(p690, 5)), Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ }
+ Case(5) { // Field Unit
+ Store("Not implemented", Debug)
+ err(terr, z123, 78, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ Case(14) { // Buffer Field
+ Store("Not implemented", Debug)
+ err(terr, z123, 79, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ }
+ }
+ Case(7) { // Result Object returned by called Method
+ Switch(arg2) {
+ Case(1) { // Integer
+ Store(m682(arg2, 2), Derefof(m200(1)))
+ m680(arg0, 80, 0, Derefof(m200(1)), 1)
+ m680(arg0, 81, 0, i6e2, 0xfe7cb391d650a284)
+ }
+ Case(2) { // String
+ Store(m682(arg2, 2), Derefof(m200(1)))
+ m680(arg0, 82, 0, Derefof(m200(1)), 1)
+ m680(arg0, 83, 0, s6e2, "FE7CB391D650A284")
+ }
+ Case(3) { // Buffer
+ Store(m682(arg2, 2), Derefof(m200(1)))
+ m680(arg0, 84, 0, Derefof(m200(1)), 1)
+ m680(arg0, 85, 0, b6e2, Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ }
+ Case(5) { // Field Unit
+ Store("Not implemented", Debug)
+ err(terr, z123, 86, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ Case(14) { // Buffer Field
+ Store("Not implemented", Debug)
+ err(terr, z123, 87, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ }
+ }
+ Case(8) { // Result Object returned by any Operator (Op)
+ Switch(arg2) {
+ Case(1) { // Integer
+ Store(Add(i6e3, 0), Derefof(m200(1)))
+ m680(arg0, 88, 0, Derefof(m200(1)), 1)
+ m680(arg0, 89, 0, i6e3, 0xfe7cb391d650a284)
+ }
+ Case(2) { // String
+ Store(Mid(s6e3, 2, 14), Derefof(m200(1)))
+ m680(arg0, 90, 0, Derefof(m200(1)), 1)
+ m680(arg0, 91, 0, s6e3, "FE7CB391D650A284")
+ }
+ Case(3) { // Buffer
+ Store(Mid(b6e3, 1, 7), Derefof(m200(1)))
+ m680(arg0, 92, 0, Derefof(m200(1)), 1)
+ m680(arg0, 93, 0, b6e3, Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ }
+ Case(5) { // Field Unit
+ Store("Not implemented", Debug)
+ err(terr, z123, 94, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ Case(14) { // Buffer Field
+ Store("Not implemented", Debug)
+ err(terr, z123, 95, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ }
+ }
+ // Additionally can be implemented cases:
+ // Derefof of immediate Refof
+ // Derefof of intermediate Object
+ // Derefof of Reference returned by called Method
+ Default {
+ Store("Unexpected way to obtain some result Object", Debug)
+ err(terr, z123, 96, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ }
+ Return (0)
+ }
+
+ // Store() Result Object to Integer Named Object
+ Method(m011, 3)
+ {
+ // ArgX as a way to obtain some result object
+ Method(m000, 5)
+ {
+ Switch(arg1) {
+ Case(1) { // Integer
+ m680(arg0, 97, 0, i680, 0xa0a1a2a35f5e5d80)
+ Store(arg2, i680)
+ m680(arg0, 98, 0, i680, 0xfe7cb391d650a284)
+ Store(0xc179b3fe, i680)
+ m680(arg0, 99, 0, i680, 0xc179b3fe)
+ m680(arg0, 100, 0, arg2, 0xfe7cb391d650a284)
+ }
+ Case(2) { // String
+ m680(arg0, 101, 0, i681, 0xa0a1a2a35f5e5d81)
+ Store(arg3, i681)
+
+ if (y602) {
+ if (F64) {
+ Store(0xfe7cb391d650a284, i000)
+ } else {
+ Store(0xfe7cb391, i000)
+ }
+ } else {
+ Store(0xfe7cb391d650a284, i000)
+ }
+
+ m680(arg0, 102, 0, i681, i000)
+
+ Store("C179B3FE", i681)
+ m680(arg0, 103, 0, i681, 0xc179b3fe)
+ m680(arg0, 104, 0, arg3, "FE7CB391D650A284")
+ }
+ Case(3) { // Buffer
+ m680(arg0, 105, 0, i682, 0xa0a1a2a35f5e5d82)
+ Store(arg4, i682)
+ m680(arg0, 106, 0, i682, 0xfe7cb391d650a284)
+ Store(Buffer() {0xFE, 0xB3, 0x79, 0xC1}, i682)
+ m680(arg0, 107, 0, i682, 0xc179b3fe)
+ m680(arg0, 108, 0, arg4, Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ }
+ Case(5) { // Field Unit
+ Store("Not implemented", Debug)
+ err(terr, z123, 109, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ Case(14) { // Buffer Field
+ Store("Not implemented", Debug)
+ err(terr, z123, 110, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ }
+ Return (0)
+ }
+
+ // Reference in ArgX as a way to obtain some result object
+ Method(m001, 5)
+ {
+ Switch(arg1) {
+ Case(1) { // Integer
+ m680(arg0, 111, 0, i683, 0xa0a1a2a35f5e5d83)
+ Store(Derefof(arg2), i683)
+ m680(arg0, 112, 0, i683, 0xfe7cb391d650a284)
+ Store(0xc179b3fe, i683)
+ m680(arg0, 113, 0, i683, 0xc179b3fe)
+ m680(arg0, 114, 0, Derefof(arg2), 0xfe7cb391d650a284)
+ }
+ Case(2) { // String
+ m680(arg0, 115, 0, i684, 0xa0a1a2a35f5e5d84)
+ Store(Derefof(arg3), i684)
+
+ if (y602) {
+ if (F64) {
+ Store(0xfe7cb391d650a284, i000)
+ } else {
+ Store(0xfe7cb391, i000)
+ }
+ } else {
+ Store(0xfe7cb391d650a284, i000)
+ }
+
+ m680(arg0, 116, 0, i684, i000)
+
+ Store("C179B3FE", i684)
+ m680(arg0, 117, 0, i684, 0xc179b3fe)
+ m680(arg0, 118, 0, Derefof(arg3), "FE7CB391D650A284")
+ }
+ Case(3) { // Buffer
+ m680(arg0, 119, 0, i685, 0xa0a1a2a35f5e5d85)
+ Store(Derefof(arg4), i685)
+ m680(arg0, 120, 0, i685, 0xfe7cb391d650a284)
+ Store(Buffer() {0xFE, 0xB3, 0x79, 0xC1}, i685)
+ m680(arg0, 121, 0, i685, 0xc179b3fe)
+ m680(arg0, 122, 0, Derefof(arg4), Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ }
+ Case(5) { // Field Unit
+ Store("Not implemented", Debug)
+ err(terr, z123, 123, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ Case(14) { // Buffer Field
+ Store("Not implemented", Debug)
+ err(terr, z123, 124, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ }
+ Return (0)
+ }
+
+ // Choose a way to obtain some result object
+ Switch(arg1) {
+ Case(0) { // Data Image
+
+ // Choose a type of the result Object and specific source
+ // objects to obtain the result Object of the specified type.
+ // Check that the destination Object is properly initialized.
+ // Perform storing expression and check result.
+ Switch(arg2) {
+ Case(1) { // Integer
+ m680(arg0, 125, 0, i686, 0xa0a1a2a35f5e5d86)
+ Store(0xfe7cb391d650a284, i686)
+ m680(arg0, 126, 0, i686, 0xfe7cb391d650a284)
+ }
+ Case(2) { // String
+ m680(arg0, 127, 0, i687, 0xa0a1a2a35f5e5d87)
+ Store("FE7CB391D650A284", i687)
+
+ if (y602) {
+ if (F64) {
+ Store(0xfe7cb391d650a284, i000)
+ } else {
+ Store(0xfe7cb391, i000)
+ }
+ } else {
+ Store(0xfe7cb391d650a284, i000)
+ }
+
+ m680(arg0, 128, 0, i687, i000)
+
+ }
+ Case(3) { // Buffer
+ m680(arg0, 129, 0, i688, 0xa0a1a2a35f5e5d88)
+ Store(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, i688)
+ m680(arg0, 130, 0, i688, 0xfe7cb391d650a284)
+ }
+ Case(5) { // Field Unit
+ Store("Not implemented", Debug)
+ err(terr, z123, 131, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ Case(14) { // Buffer Field
+ Store("Not implemented", Debug)
+ err(terr, z123, 132, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ }
+ }
+ Case(1) { // Named Object
+ Switch(arg2) {
+ Case(1) { // Integer
+ m680(arg0, 133, 0, i689, 0xa0a1a2a35f5e5d89)
+ Store(i6e0, i689)
+ m680(arg0, 134, 0, i689, 0xfe7cb391d650a284)
+ Store(0xc179b3fe, i689)
+ m680(arg0, 135, 0, i689, 0xc179b3fe)
+ m680(arg0, 136, 0, i6e0, 0xfe7cb391d650a284)
+ }
+ Case(2) { // String
+ m680(arg0, 137, 0, i68a, 0xa0a1a2a35f5e5d8a)
+ Store(s6e0, i68a)
+
+ if (y602) {
+ if (F64) {
+ Store(0xfe7cb391d650a284, i000)
+ } else {
+ Store(0xfe7cb391, i000)
+ }
+ } else {
+ Store(0xfe7cb391d650a284, i000)
+ }
+
+ m680(arg0, 138, 0, i68a, i000)
+
+ Store("C179B3FE", i68a)
+ m680(arg0, 139, 0, i68a, 0xc179b3fe)
+ m680(arg0, 140, 0, s6e0, "FE7CB391D650A284")
+ }
+ Case(3) { // Buffer
+ m680(arg0, 141, 0, i68b, 0xa0a1a2a35f5e5d8b)
+ Store(b6e0, i68b)
+ m680(arg0, 142, 0, i68b, 0xfe7cb391d650a284)
+ Store(Buffer() {0xFE, 0xB3, 0x79, 0xC1}, i68b)
+ m680(arg0, 143, 0, i68b, 0xc179b3fe)
+ m680(arg0, 144, 0, b6e0, Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ }
+ Case(4) { // Package
+ Store(Package(){0xfe7cb391d650a284}, i684)
+ }
+ Case(5) { // Field Unit
+ Store("Not implemented", Debug)
+ err(terr, z123, 145, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ Case(14) { // Buffer Field
+ Store("Not implemented", Debug)
+ err(terr, z123, 146, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ }
+ }
+ Case(2) { // Method ArgX Object
+ m000(Concatenate(arg0, "-m000"), arg2,
+ 0xfe7cb391d650a284, "FE7CB391D650A284", Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ }
+ Case(3) { // Method LocalX Object
+ Switch(arg2) {
+ Case(1) { // Integer
+ Store(0xfe7cb391d650a284, Local0)
+ }
+ Case(2) { // String
+ Store("FE7CB391D650A284", Local0)
+ }
+ Case(3) { // Buffer
+ Store(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, Local0)
+ }
+ Case(5) { // Field Unit
+ Store("Not implemented", Debug)
+ err(terr, z123, 147, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ Case(14) { // Buffer Field
+ Store("Not implemented", Debug)
+ err(terr, z123, 148, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ }
+ Switch(arg2) {
+ Case(1) { // Integer
+ m680(arg0, 149, 0, i68c, 0xa0a1a2a35f5e5d8c)
+ Store(Local0, i68c)
+ m680(arg0, 150, 0, i68c, 0xfe7cb391d650a284)
+ Store(0xc179b3fe, i68c)
+ m680(arg0, 151, 0, i68c, 0xc179b3fe)
+ m680(arg0, 152, 0, Local0, 0xfe7cb391d650a284)
+ }
+ Case(2) { // String
+ m680(arg0, 153, 0, i68d, 0xa0a1a2a35f5e5d8d)
+ Store(Local0, i68d)
+
+ if (y602) {
+ if (F64) {
+ Store(0xfe7cb391d650a284, i000)
+ } else {
+ Store(0xfe7cb391, i000)
+ }
+ } else {
+ Store(0xfe7cb391d650a284, i000)
+ }
+
+ m680(arg0, 154, 0, i68d, i000)
+
+ Store("C179B3FE", i68d)
+ m680(arg0, 155, 0, i68d, 0xc179b3fe)
+ m680(arg0, 156, 0, Local0, "FE7CB391D650A284")
+ }
+ Case(3) { // Buffer
+ m680(arg0, 157, 0, i68e, 0xa0a1a2a35f5e5d8e)
+ Store(Local0, i68e)
+ m680(arg0, 158, 0, i68e, 0xfe7cb391d650a284)
+ Store(Buffer() {0xFE, 0xB3, 0x79, 0xC1}, i68e)
+ m680(arg0, 159, 0, i68e, 0xc179b3fe)
+ m680(arg0, 160, 0, Local0, Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ }
+ }
+ }
+ Case(4) { // Derefof of intermediate Object (Method ArgX Object)
+ m001(Concatenate(arg0, "-m001"), arg2, Refof(i6e1), Refof(s6e1), Refof(b6e1))
+ }
+ Case(5) { // Derefof of immediate Index(...)
+ Switch(arg2) {
+ Case(1) { // Integer
+ m680(arg0, 161, 0, i68f, 0xa0a1a2a35f5e5d8f)
+ Store(Derefof(Index(p690, 0)), i68f)
+ m680(arg0, 162, 0, i68f, 0xfe7cb391d650a284)
+ Store(0xc179b3fe, i68f)
+ m680(arg0, 163, 0, i68f, 0xc179b3fe)
+ m680(arg0, 164, 0, Derefof(Index(p690, 0)), 0xfe7cb391d650a284)
+ }
+ Case(2) { // String
+ m680(arg0, 165, 0, i690, 0xa0a1a2a35f5e5d90)
+ Store(Derefof(Index(p690, 1)), i690)
+
+ if (y602) {
+ if (F64) {
+ Store(0xfe7cb391d650a284, i000)
+ } else {
+ Store(0xfe7cb391, i000)
+ }
+ } else {
+ Store(0xfe7cb391d650a284, i000)
+ }
+
+ m680(arg0, 166, 0, i690, i000)
+
+ Store("C179B3FE", i690)
+ m680(arg0, 167, 0, i690, 0xc179b3fe)
+ m680(arg0, 168, 0, Derefof(Index(p690, 1)), "FE7CB391D650A284")
+ }
+ Case(3) { // Buffer
+ m680(arg0, 169, 0, i691, 0xa0a1a2a35f5e5d91)
+ Store(Derefof(Index(p690, 2)), i691)
+ m680(arg0, 170, 0, i691, 0xfe7cb391d650a284)
+ Store(Buffer() {0xFE, 0xB3, 0x79, 0xC1}, i691)
+ m680(arg0, 171, 0, i691, 0xc179b3fe)
+ m680(arg0, 172, 0, Derefof(Index(p690, 2)), Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ }
+ Case(5) { // Field Unit
+ Store("Not implemented", Debug)
+ err(terr, z123, 173, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ Case(14) { // Buffer Field
+ Store("Not implemented", Debug)
+ err(terr, z123, 174, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ }
+ }
+ Case(6) { // Derefof of Indexed Reference returned by called Method
+ Switch(arg2) {
+ Case(1) { // Integer
+ m680(arg0, 175, 0, i692, 0xa0a1a2a35f5e5d92)
+ Store(Derefof(m681(p690, 3)), i692)
+ m680(arg0, 176, 0, i692, 0xfe7cb391d650a284)
+ Store(0xc179b3fe, i692)
+ m680(arg0, 177, 0, i692, 0xc179b3fe)
+ m680(arg0, 178, 0, Derefof(Index(p690, 3)), 0xfe7cb391d650a284)
+ }
+ Case(2) { // String
+ m680(arg0, 179, 0, i693, 0xa0a1a2a35f5e5d93)
+ Store(Derefof(m681(p690, 4)), i693)
+
+ if (y602) {
+ if (F64) {
+ Store(0xfe7cb391d650a284, i000)
+ } else {
+ Store(0xfe7cb391, i000)
+ }
+ } else {
+ Store(0xfe7cb391d650a284, i000)
+ }
+
+ m680(arg0, 180, 0, i693, i000)
+
+ Store("C179B3FE", i693)
+ m680(arg0, 181, 0, i693, 0xc179b3fe)
+ m680(arg0, 182, 0, Derefof(Index(p690, 4)), "FE7CB391D650A284")
+ }
+ Case(3) { // Buffer
+ m680(arg0, 183, 0, i694, 0xa0a1a2a35f5e5d94)
+ Store(Derefof(m681(p690, 5)), i694)
+ m680(arg0, 184, 0, i694, 0xfe7cb391d650a284)
+ Store(Buffer() {0xFE, 0xB3, 0x79, 0xC1}, i694)
+ m680(arg0, 185, 0, i694, 0xc179b3fe)
+ m680(arg0, 186, 0, Derefof(Index(p690, 5)), Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ }
+ Case(5) { // Field Unit
+ Store("Not implemented", Debug)
+ err(terr, z123, 187, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ Case(14) { // Buffer Field
+ Store("Not implemented", Debug)
+ err(terr, z123, 188, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ }
+ }
+ Case(7) { // Result Object returned by called Method
+ Switch(arg2) {
+ Case(1) { // Integer
+ m680(arg0, 189, 0, i695, 0xa0a1a2a35f5e5d95)
+ Store(m682(arg2, 2), i695)
+ m680(arg0, 190, 0, i695, 0xfe7cb391d650a284)
+ Store(0xc179b3fe, i695)
+ m680(arg0, 191, 0, i695, 0xc179b3fe)
+ m680(arg0, 192, 0, i6e2, 0xfe7cb391d650a284)
+ }
+ Case(2) { // String
+ m680(arg0, 193, 0, i696, 0xa0a1a2a35f5e5d96)
+ Store(m682(arg2, 2), i696)
+
+ if (y602) {
+ if (F64) {
+ Store(0xfe7cb391d650a284, i000)
+ } else {
+ Store(0xfe7cb391, i000)
+ }
+ } else {
+ Store(0xfe7cb391d650a284, i000)
+ }
+
+ m680(arg0, 194, 0, i696, i000)
+
+ Store("C179B3FE", i696)
+ m680(arg0, 195, 0, i696, 0xc179b3fe)
+ m680(arg0, 196, 0, s6e2, "FE7CB391D650A284")
+ }
+ Case(3) { // Buffer
+ m680(arg0, 197, 0, i697, 0xa0a1a2a35f5e5d97)
+ Store(m682(arg2, 2), i697)
+ m680(arg0, 198, 0, i697, 0xfe7cb391d650a284)
+ Store(Buffer() {0xFE, 0xB3, 0x79, 0xC1}, i697)
+ m680(arg0, 199, 0, i697, 0xc179b3fe)
+ m680(arg0, 200, 0, b6e2, Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ }
+ Case(5) { // Field Unit
+ Store("Not implemented", Debug)
+ err(terr, z123, 201, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ Case(14) { // Buffer Field
+ Store("Not implemented", Debug)
+ err(terr, z123, 202, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ }
+ }
+ Case(8) { // Result Object returned by any Operator (Op)
+ Switch(arg2) {
+ Case(1) { // Integer
+ m680(arg0, 203, 0, i698, 0xa0a1a2a35f5e5d98)
+ Store(Add(i6e3, 0), i698)
+ m680(arg0, 204, 0, i698, 0xfe7cb391d650a284)
+ Store(0xc179b3fe, i698)
+ m680(arg0, 205, 0, i698, 0xc179b3fe)
+ m680(arg0, 206, 0, i6e3, 0xfe7cb391d650a284)
+ }
+ Case(2) { // String
+ m680(arg0, 207, 0, i699, 0xa0a1a2a35f5e5d99)
+ Store(Mid(s6e3, 2, 14), i699)
+
+ if (y602) {
+ if (F64) {
+ Store(0x7cb391d650a284, i000)
+ } else {
+ Store(0x7cb391d6, i000)
+ }
+ } else {
+ Store(0x7cb391d650a284, i000)
+ }
+
+ m680(arg0, 208, 0, i699, i000)
+
+ Store("C179B3FE", i699)
+ m680(arg0, 209, 0, i699, 0xc179b3fe)
+ m680(arg0, 210, 0, s6e3, "FE7CB391D650A284")
+ }
+ Case(3) { // Buffer
+ m680(arg0, 211, 0, i69a, 0xa0a1a2a35f5e5d9a)
+ Store(Mid(b6e3, 1, 7), i69a)
+ m680(arg0, 212, 0, i69a, 0xfe7cb391d650a2)
+ Store(Buffer() {0xFE, 0xB3, 0x79, 0xC1}, i69a)
+ m680(arg0, 213, 0, i69a, 0xc179b3fe)
+ m680(arg0, 214, 0, b6e3, Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ }
+ Case(5) { // Field Unit
+ Store("Not implemented", Debug)
+ err(terr, z123, 215, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ Case(14) { // Buffer Field
+ Store("Not implemented", Debug)
+ err(terr, z123, 216, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ }
+ }
+ // Additionally can be implemented cases:
+ // Derefof of immediate Refof
+ // Derefof of intermediate Object
+ // Derefof of Reference returned by called Method
+ Default {
+ Store("Unexpected way to obtain some result Object", Debug)
+ err(terr, z123, 217, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ }
+ Return (0)
+ }
+
+ // Store() Result Object to Integer Method LocalX Object
+ Method(m013, 3)
+ {
+ // ArgX as a way to obtain some result object
+ Method(m000, 5)
+ {
+ Store(0xa0a1a2a35f5e5d5c, Local1)
+
+ Switch(arg1) {
+ Case(1) { // Integer
+ m680(arg0, 218, 0, Local1, 0xa0a1a2a35f5e5d5c)
+ Store(arg2, Local1)
+ if (F64) {
+ m680(arg0, 219, 0, Local1, 0xfe7cb391d650a284)
+ } else {
+ m680(arg0, 220, 0, Local1, 0xd650a284)
+ }
+ Store(0xc179b3fe, Local1)
+ m680(arg0, 221, 0, Local1, 0xc179b3fe)
+ m680(arg0, 222, 0, arg2, 0xfe7cb391d650a284)
+ }
+ Case(2) { // String
+ m680(arg0, 223, 0, Local1, 0xa0a1a2a35f5e5d5c)
+ Store(arg3, Local1)
+ m680(arg0, 224, 0, Local1, "FE7CB391D650A284")
+ Store(0xb, Index(Local1, 3))
+ m680(arg0, 225, 0, Local1, "FE7\x0BB391D650A284")
+ m680(arg0, 226, 0, arg3, "FE7CB391D650A284")
+ }
+ Case(3) { // Buffer
+ m680(arg0, 227, 0, Local1, 0xa0a1a2a35f5e5d5c)
+ Store(arg4, Local1)
+ m680(arg0, 228, 0, Local1, Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ Store(0xb, Index(Local1, 3))
+ m680(arg0, 229, 0, Local1, Buffer() {0x84, 0xA2, 0x50, 0x0B, 0x91, 0xB3, 0x7C, 0xFE})
+ m680(arg0, 230, 0, arg4, Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ }
+ Case(5) { // Field Unit
+ Store("Not implemented", Debug)
+ err(terr, z123, 231, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ Case(14) { // Buffer Field
+ Store("Not implemented", Debug)
+ err(terr, z123, 232, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ }
+ Return (0)
+ }
+
+ // Reference in ArgX as a way to obtain some result object
+ Method(m001, 5)
+ {
+ Store(0xa0a1a2a35f5e5d5c, Local1)
+
+ Switch(arg1) {
+ Case(1) { // Integer
+ m680(arg0, 233, 0, Local1, 0xa0a1a2a35f5e5d5c)
+ Store(Derefof(arg2), Local1)
+ if (F64) {
+ m680(arg0, 234, 0, Local1, 0xfe7cb391d650a284)
+ } else {
+ m680(arg0, 235, 0, Local1, 0xd650a284)
+ }
+ Store(0xc179b3fe, Local1)
+ m680(arg0, 236, 0, Local1, 0xc179b3fe)
+ m680(arg0, 237, 0, Derefof(arg2), 0xfe7cb391d650a284)
+ }
+ Case(2) { // String
+ m680(arg0, 238, 0, Local1, 0xa0a1a2a35f5e5d5c)
+ Store(Derefof(arg3), Local1)
+ m680(arg0, 239, 0, Local1, "FE7CB391D650A284")
+ Store(0xb, Index(Local1, 3))
+ m680(arg0, 240, 0, Local1, "FE7\x0BB391D650A284")
+ m680(arg0, 241, 0, Derefof(arg3), "FE7CB391D650A284")
+ }
+ Case(3) { // Buffer
+ m680(arg0, 242, 0, Local1, 0xa0a1a2a35f5e5d5c)
+ Store(Derefof(arg4), Local1)
+ m680(arg0, 243, 0, Local1, Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ Store(0xb, Index(Local1, 3))
+ m680(arg0, 244, 0, Local1, Buffer() {0x84, 0xA2, 0x50, 0x0B, 0x91, 0xB3, 0x7C, 0xFE})
+ m680(arg0, 245, 0, Derefof(arg4), Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ }
+ Case(5) { // Field Unit
+ Store("Not implemented", Debug)
+ err(terr, z123, 246, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ Case(14) { // Buffer Field
+ Store("Not implemented", Debug)
+ err(terr, z123, 247, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ }
+ Return (0)
+ }
+
+ Store(0xa0a1a2a35f5e5d5c, Local1)
+
+ // Choose a way to obtain some result object
+ Switch(arg1) {
+ Case(0) { // Data Image
+
+ // Choose a type of the result Object and specific source
+ // objects to obtain the result Object of the specified type.
+ // Check that the destination Object is properly initialized.
+ // Perform storing expression and check result.
+ Switch(arg2) {
+ Case(1) { // Integer
+ m680(arg0, 248, 0, Local1, 0xa0a1a2a35f5e5d5c)
+ Store(0xfe7cb391d650a284, Local1)
+ if (F64) {
+ m680(arg0, 249, 0, Local1, 0xfe7cb391d650a284)
+ } else {
+ m680(arg0, 250, 0, Local1, 0xd650a284)
+ }
+ }
+ Case(2) { // String
+ m680(arg0, 251, 0, Local1, 0xa0a1a2a35f5e5d5c)
+ Store("FE7CB391D650A284", Local1)
+ m680(arg0, 252, 0, Local1, "FE7CB391D650A284")
+ }
+ Case(3) { // Buffer
+ m680(arg0, 253, 0, Local1, 0xa0a1a2a35f5e5d5c)
+ Store(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, Local1)
+ m680(arg0, 254, 0, Local1, Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ }
+ Case(5) { // Field Unit
+ Store("Not implemented", Debug)
+ err(terr, z123, 255, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ Case(14) { // Buffer Field
+ Store("Not implemented", Debug)
+ err(terr, z123, 256, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ }
+ }
+ Case(1) { // Named Object
+ Switch(arg2) {
+ Case(1) { // Integer
+ m680(arg0, 257, 0, Local1, 0xa0a1a2a35f5e5d5c)
+ Store(i6e4, Local1)
+ if (F64) {
+ m680(arg0, 258, 0, Local1, 0xfe7cb391d650a284)
+ } else {
+ m680(arg0, 259, 0, Local1, 0xd650a284)
+ }
+ Store(0xc179b3fe, Local1)
+ m680(arg0, 260, 0, Local1, 0xc179b3fe)
+ m680(arg0, 261, 0, i6e4, 0xfe7cb391d650a284)
+ }
+ Case(2) { // String
+ m680(arg0, 262, 0, Local1, 0xa0a1a2a35f5e5d5c)
+ Store(s6e4, Local1)
+ m680(arg0, 263, 0, Local1, "FE7CB391D650A284")
+ Store(0xb, Index(Local1, 3))
+ m680(arg0, 264, 0, Local1, "FE7\x0BB391D650A284")
+ m680(arg0, 265, 0, s6e4, "FE7CB391D650A284")
+ }
+ Case(3) { // Buffer
+ m680(arg0, 266, 0, Local1, 0xa0a1a2a35f5e5d5c)
+ Store(b6e4, Local1)
+ m680(arg0, 267, 0, Local1, Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ Store(0xb, Index(Local1, 3))
+ m680(arg0, 268, 0, Local1, Buffer() {0x84, 0xA2, 0x50, 0x0B, 0x91, 0xB3, 0x7C, 0xFE})
+ m680(arg0, 269, 0, b6e4, Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ }
+ Default {
+ Store("Unexpected type of the result Object to be stored", Debug)
+ err(terr, z123, 270, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ }
+ }
+ Case(2) { // Method ArgX Object
+ m000(Concatenate(arg0, "-m000"), arg2,
+ 0xfe7cb391d650a284, "FE7CB391D650A284", Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ }
+ Case(3) { // Method LocalX Object
+ Switch(arg2) {
+ Case(0) { // Stuff
+ Return (0)
+ }
+ Case(1) { // Integer
+ Store(0xfe7cb391d650a284, Local0)
+ }
+ Case(2) { // String
+ Store("FE7CB391D650A284", Local0)
+ }
+ Case(3) { // Buffer
+ Store(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, Local0)
+ }
+ Case(5) { // Field Unit
+ Store("Not implemented", Debug)
+ err(terr, z123, 271, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ Case(14) { // Buffer Field
+ Store("Not implemented", Debug)
+ err(terr, z123, 272, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ }
+ Switch(arg2) {
+ Case(1) { // Integer
+ m680(arg0, 273, 0, Local1, 0xa0a1a2a35f5e5d5c)
+ Store(Local0, Local1)
+ if (F64) {
+ m680(arg0, 274, 0, Local1, 0xfe7cb391d650a284)
+ } else {
+ m680(arg0, 275, 0, Local1, 0xd650a284)
+ }
+ Store(0xc179b3fe, Local1)
+ m680(arg0, 276, 0, Local1, 0xc179b3fe)
+ m680(arg0, 277, 0, Local0, 0xfe7cb391d650a284)
+ }
+ Case(2) { // String
+ m680(arg0, 278, 0, Local1, 0xa0a1a2a35f5e5d5c)
+ Store(Local0, Local1)
+ m680(arg0, 279, 0, Local1, "FE7CB391D650A284")
+ Store(0xb, Index(Local1, 3))
+ m680(arg0, 280, 0, Local1, "FE7\x0BB391D650A284")
+ m680(arg0, 281, 0, Local0, "FE7CB391D650A284")
+ }
+ Case(3) { // Buffer
+ m680(arg0, 282, 0, Local1, 0xa0a1a2a35f5e5d5c)
+ Store(Local0, Local1)
+ m680(arg0, 283, 0, Local1, Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ Store(0xb, Index(Local1, 3))
+ m680(arg0, 284, 0, Local1, Buffer() {0x84, 0xA2, 0x50, 0x0B, 0x91, 0xB3, 0x7C, 0xFE})
+ m680(arg0, 285, 0, Local0, Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ }
+ }
+ }
+ Case(4) { // Derefof of intermediate Object (Method ArgX Object)
+ m001(Concatenate(arg0, "-m001"), arg2, Refof(i6e5), Refof(s6e5), Refof(b6e5))
+ }
+ Case(5) { // Derefof of immediate Index(...)
+ Switch(arg2) {
+ Case(1) { // Integer
+ m680(arg0, 286, 0, Local1, 0xa0a1a2a35f5e5d5c)
+ Store(Derefof(Index(p690, 6)), Local1)
+ if (F64) {
+ m680(arg0, 287, 0, Local1, 0xfe7cb391d650a284)
+ } else {
+ m680(arg0, 288, 0, Local1, 0xd650a284)
+ }
+ Store(0xc179b3fe, Local1)
+ m680(arg0, 289, 0, Local1, 0xc179b3fe)
+ m680(arg0, 290, 0, Derefof(Index(p690, 6)), 0xfe7cb391d650a284)
+ }
+ Case(2) { // String
+ m680(arg0, 291, 0, Local1, 0xa0a1a2a35f5e5d5c)
+ Store(Derefof(Index(p690, 7)), Local1)
+ m680(arg0, 292, 0, Local1, "FE7CB391D650A284")
+ Store(0xb, Index(Local1, 3))
+ m680(arg0, 293, 0, Local1, "FE7\x0BB391D650A284")
+ m680(arg0, 294, 0, Derefof(Index(p690, 7)), "FE7CB391D650A284")
+ }
+ Case(3) { // Buffer
+ m680(arg0, 295, 0, Local1, 0xa0a1a2a35f5e5d5c)
+ Store(Derefof(Index(p690, 8)), Local1)
+ m680(arg0, 296, 0, Local1, Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ Store(0xb, Index(Local1, 3))
+ m680(arg0, 297, 0, Local1, Buffer() {0x84, 0xA2, 0x50, 0x0B, 0x91, 0xB3, 0x7C, 0xFE})
+ m680(arg0, 298, 0, Derefof(Index(p690, 8)), Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ }
+ Case(5) { // Field Unit
+ Store("Not implemented", Debug)
+ err(terr, z123, 299, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ Case(14) { // Buffer Field
+ Store("Not implemented", Debug)
+ err(terr, z123, 300, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ }
+ }
+ Case(6) { // Derefof of Indexed Reference returned by called Method
+ Switch(arg2) {
+ Case(1) { // Integer
+ m680(arg0, 301, 0, Local1, 0xa0a1a2a35f5e5d5c)
+ Store(Derefof(m681(p690, 9)), Local1)
+ if (F64) {
+ m680(arg0, 302, 0, Local1, 0xfe7cb391d650a284)
+ } else {
+ m680(arg0, 303, 0, Local1, 0xd650a284)
+ }
+ Store(0xc179b3fe, Local1)
+ m680(arg0, 304, 0, Local1, 0xc179b3fe)
+ m680(arg0, 305, 0, Derefof(Index(p690, 9)), 0xfe7cb391d650a284)
+ }
+ Case(2) { // String
+ m680(arg0, 306, 0, Local1, 0xa0a1a2a35f5e5d5c)
+ Store(Derefof(m681(p690, 10)), Local1)
+ m680(arg0, 307, 0, Local1, "FE7CB391D650A284")
+ Store(0xb, Index(Local1, 3))
+ m680(arg0, 308, 0, Local1, "FE7\x0BB391D650A284")
+ m680(arg0, 309, 0, Derefof(Index(p690, 10)), "FE7CB391D650A284")
+ }
+ Case(3) { // Buffer
+ m680(arg0, 310, 0, Local1, 0xa0a1a2a35f5e5d5c)
+ Store(Derefof(m681(p690, 11)), Local1)
+ m680(arg0, 311, 0, Local1, Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ Store(0xb, Index(Local1, 3))
+ m680(arg0, 312, 0, Local1, Buffer() {0x84, 0xA2, 0x50, 0x0B, 0x91, 0xB3, 0x7C, 0xFE})
+ m680(arg0, 313, 0, Derefof(Index(p690, 11)), Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ }
+ }
+ }
+ Case(7) { // Result Object returned by called Method
+ Switch(arg2) {
+ Case(1) { // Integer
+ m680(arg0, 314, 0, Local1, 0xa0a1a2a35f5e5d5c)
+ Store(m682(arg2, 6), Local1)
+ if (F64) {
+ m680(arg0, 315, 0, Local1, 0xfe7cb391d650a284)
+ } else {
+ m680(arg0, 316, 0, Local1, 0xd650a284)
+ }
+ Store(0xc179b3fe, Local1)
+ m680(arg0, 317, 0, Local1, 0xc179b3fe)
+ m680(arg0, 318, 0, i6e6, 0xfe7cb391d650a284)
+ }
+ Case(2) { // String
+ m680(arg0, 319, 0, Local1, 0xa0a1a2a35f5e5d5c)
+ Store(m682(arg2, 6), Local1)
+ m680(arg0, 320, 0, Local1, "FE7CB391D650A284")
+ Store(0xb, Index(Local1, 3))
+ m680(arg0, 321, 0, Local1, "FE7\x0BB391D650A284")
+ m680(arg0, 322, 0, s6e6, "FE7CB391D650A284")
+ }
+ Case(3) { // Buffer
+ m680(arg0, 323, 0, Local1, 0xa0a1a2a35f5e5d5c)
+ Store(m682(arg2, 6), Local1)
+ m680(arg0, 324, 0, Local1, Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ Store(0xb, Index(Local1, 3))
+ m680(arg0, 325, 0, Local1, Buffer() {0x84, 0xA2, 0x50, 0x0B, 0x91, 0xB3, 0x7C, 0xFE})
+ m680(arg0, 326, 0, b6e6, Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ }
+ Case(5) { // Field Unit
+ Store("Not implemented", Debug)
+ err(terr, z123, 327, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ Case(14) { // Buffer Field
+ Store("Not implemented", Debug)
+ err(terr, z123, 328, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ }
+ }
+ Case(8) { // Result Object returned by any Operator (Op):
+ // Add, Mid
+ Switch(arg2) {
+ Case(1) { // Integer
+ m680(arg0, 329, 0, Local1, 0xa0a1a2a35f5e5d5c)
+ Store(Add(i6e7, 0), Local1)
+ if (F64) {
+ m680(arg0, 330, 0, Local1, 0xfe7cb391d650a284)
+ } else {
+ m680(arg0, 331, 0, Local1, 0xd650a284)
+ }
+ Store(0xc179b3fe, Local1)
+ m680(arg0, 332, 0, Local1, 0xc179b3fe)
+ m680(arg0, 333, 0, i6e7, 0xfe7cb391d650a284)
+ }
+ Case(2) { // String
+ m680(arg0, 334, 0, Local1, 0xa0a1a2a35f5e5d5c)
+ Store(Mid(s6e7, 2, 14), Local1)
+ m680(arg0, 335, 0, Local1, "7CB391D650A284")
+ Store(0xb, Index(Local1, 3))
+ m680(arg0, 336, 0, Local1, "7CB\x0B91D650A284")
+ m680(arg0, 337, 0, s6e7, "FE7CB391D650A284")
+ }
+ Case(3) { // Buffer
+ m680(arg0, 338, 0, Local1, 0xa0a1a2a35f5e5d5c)
+ Store(Mid(b6e7, 1, 7), Local1)
+ m680(arg0, 339, 0, Local1, Buffer() {0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ Store(0xb, Index(Local1, 3))
+ m680(arg0, 340, 0, Local1, Buffer() {0xA2, 0x50, 0xD6, 0x0B, 0xB3, 0x7C, 0xFE})
+ m680(arg0, 341, 0, b6e7, Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ }
+ Case(5) { // Field Unit
+ Store("Not implemented", Debug)
+ err(terr, z123, 342, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ Case(14) { // Buffer Field
+ Store("Not implemented", Debug)
+ err(terr, z123, 343, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ }
+ }
+ // Additionally can be implemented cases:
+ // Derefof of immediate Refof
+ // Derefof of intermediate Object
+ // Derefof of Reference returned by called Method
+ Default {
+ Store("Unexpected way to obtain some result Object", Debug)
+ err(terr, z123, 344, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ }
+ Return (0)
+ }
+
+ // Store() Result Object to String Named Object
+ Method(m021, 3)
+ {
+ // ArgX as a way to obtain some result object
+ Method(m000, 5)
+ {
+ Switch(arg1) {
+ Case(1) { // Integer
+ m680(arg0, 345, 0, s680, "initial named string80")
+ Store(arg2, s680)
+ if (F64) {
+ m680(arg0, 346, 0, s680, "FE7CB391D650A284")
+ } else {
+ m680(arg0, 347, 0, s680, "D650A284")
+ }
+ Store(0xb, Index(s680, 3))
+ if (F64) {
+ m680(arg0, 348, 0, s680, "FE7\x0BB391D650A284")
+ } else {
+ m680(arg0, 349, 0, s680, "D65\x0BA284")
+ }
+ m680(arg0, 350, 0, arg2, 0xfe7cb391d650a284)
+ }
+ Case(2) { // String
+ m680(arg0, 351, 0, s681, "initial named string81")
+ Store(arg3, s681)
+ m680(arg0, 352, 0, s681, "FE7CB391D650A284")
+ Store(0xb, Index(s681, 3))
+ m680(arg0, 353, 0, s681, "FE7\x0BB391D650A284")
+ m680(arg0, 354, 0, arg3, "FE7CB391D650A284")
+ }
+ Case(3) { // Buffer
+ m680(arg0, 355, 0, s682, "initial named string82")
+ Store(arg4, s682)
+ m680(arg0, 356, 0, s682, "84 A2 50 D6 91 B3 7C FE")
+ Store(0xb, Index(s682, 3))
+ m680(arg0, 357, 0, s682, "84 \x0B2 50 D6 91 B3 7C FE")
+ m680(arg0, 358, 0, arg4, Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ }
+ Case(5) { // Field Unit
+ Store("Not implemented", Debug)
+ err(terr, z123, 359, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ Case(14) { // Buffer Field
+ Store("Not implemented", Debug)
+ err(terr, z123, 360, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ }
+ Return (0)
+ }
+
+ // Reference in ArgX as a way to obtain some result object
+ Method(m001, 5)
+ {
+ Switch(arg1) {
+ Case(1) { // Integer
+ m680(arg0, 361, 0, s683, "initial named string83")
+ Store(Derefof(arg2), s683)
+ if (F64) {
+ m680(arg0, 362, 0, s683, "FE7CB391D650A284")
+ } else {
+ m680(arg0, 363, 0, s683, "D650A284")
+ }
+ Store(0xb, Index(s683, 3))
+ if (F64) {
+ m680(arg0, 364, 0, s683, "FE7\x0BB391D650A284")
+ } else {
+ m680(arg0, 365, 0, s683, "D65\x0BA284")
+ }
+ m680(arg0, 366, 0, Derefof(arg2), 0xfe7cb391d650a284)
+ }
+ Case(2) { // String
+ m680(arg0, 367, 0, s684, "initial named string84")
+ Store(Derefof(arg3), s684)
+ m680(arg0, 368, 0, s684, "FE7CB391D650A284")
+ Store(0xb, Index(s684, 3))
+ m680(arg0, 369, 0, s684, "FE7\x0BB391D650A284")
+ m680(arg0, 370, 0, Derefof(arg3), "FE7CB391D650A284")
+ }
+ Case(3) { // Buffer
+ m680(arg0, 371, 0, s685, "initial named string85")
+ Store(Derefof(arg4), s685)
+ m680(arg0, 372, 0, s685, "84 A2 50 D6 91 B3 7C FE")
+ Store(0xb, Index(s685, 3))
+ m680(arg0, 373, 0, s685, "84 \x0B2 50 D6 91 B3 7C FE")
+ m680(arg0, 374, 0, Derefof(arg4), Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ }
+ Case(5) { // Field Unit
+ Store("Not implemented", Debug)
+ err(terr, z123, 375, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ Case(14) { // Buffer Field
+ Store("Not implemented", Debug)
+ err(terr, z123, 376, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ }
+ Return (0)
+ }
+
+ // Choose a way to obtain some result object
+ Switch(arg1) {
+ Case(0) { // Data Image
+
+ // Choose a type of the result Object and specific source
+ // objects to obtain the result Object of the specified type.
+ // Check that the destination Object is properly initialized.
+ // Perform storing expression and check result.
+ Switch(arg2) {
+ Case(1) { // Integer
+ m680(arg0, 377, 0, s686, "initial named string86")
+ Store(0xfe7cb391d650a284, s686)
+ if (F64) {
+ m680(arg0, 378, 0, s686, "FE7CB391D650A284")
+ } else {
+ m680(arg0, 379, 0, s686, "D650A284")
+ }
+ }
+ Case(2) { // String
+ m680(arg0, 380, 0, s687, "initial named string87")
+ Store("FE7CB391D650A284", s687)
+ m680(arg0, 381, 0, s687, "FE7CB391D650A284")
+ }
+ Case(3) { // Buffer
+ m680(arg0, 382, 0, s688, "initial named string88")
+ Store(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, s688)
+ m680(arg0, 383, 0, s688, "84 A2 50 D6 91 B3 7C FE")
+ }
+ Case(5) { // Field Unit
+ Store("Not implemented", Debug)
+ err(terr, z123, 384, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ Case(14) { // Buffer Field
+ Store("Not implemented", Debug)
+ err(terr, z123, 385, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ }
+ }
+ Case(1) { // Named Object
+ Switch(arg2) {
+ Case(1) { // Integer
+ m680(arg0, 386, 0, s689, "initial named string89")
+ Store(i6e4, s689)
+ if (F64) {
+ m680(arg0, 387, 0, s689, "FE7CB391D650A284")
+ } else {
+ m680(arg0, 388, 0, s689, "D650A284")
+ }
+ Store(0xb, Index(s689, 3))
+ if (F64) {
+ m680(arg0, 389, 0, s689, "FE7\x0BB391D650A284")
+ } else {
+ m680(arg0, 390, 0, s689, "D65\x0BA284")
+ }
+ m680(arg0, 391, 0, i6e4, 0xfe7cb391d650a284)
+ }
+ Case(2) { // String
+ m680(arg0, 392, 0, s68a, "initial named string8a")
+ Store(s6e4, s68a)
+ m680(arg0, 393, 0, s68a, "FE7CB391D650A284")
+ Store(0xb, Index(s68a, 3))
+ m680(arg0, 394, 0, s68a, "FE7\x0BB391D650A284")
+ m680(arg0, 395, 0, s6e4, "FE7CB391D650A284")
+ }
+ Case(3) { // Buffer
+ m680(arg0, 396, 0, s68b, "initial named string8b")
+ Store(b6e4, s68b)
+ m680(arg0, 397, 0, s68b, "84 A2 50 D6 91 B3 7C FE")
+ Store(0xb, Index(s68b, 3))
+ m680(arg0, 398, 0, s68b, "84 \x0B2 50 D6 91 B3 7C FE")
+ m680(arg0, 399, 0, b6e4, Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ }
+ Case(5) { // Field Unit
+ Store("Not implemented", Debug)
+ err(terr, z123, 400, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ Case(14) { // Buffer Field
+ Store("Not implemented", Debug)
+ err(terr, z123, 401, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ }
+ }
+ Case(2) { // Method ArgX Object
+ m000(Concatenate(arg0, "-m000"), arg2,
+ 0xfe7cb391d650a284, "FE7CB391D650A284", Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ }
+ Case(3) { // Method LocalX Object
+ Switch(arg2) {
+ Case(1) { // Integer
+ Store(0xfe7cb391d650a284, Local0)
+ }
+ Case(2) { // String
+ Store("FE7CB391D650A284", Local0)
+ }
+ Case(3) { // Buffer
+ Store(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, Local0)
+ }
+ Case(5) { // Field Unit
+ Store("Not implemented", Debug)
+ err(terr, z123, 402, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ Case(14) { // Buffer Field
+ Store("Not implemented", Debug)
+ err(terr, z123, 403, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ }
+ Switch(arg2) {
+ Case(1) { // Integer
+ m680(arg0, 404, 0, s68c, "initial named string8c")
+ Store(Local0, s68c)
+ if (F64) {
+ m680(arg0, 405, 0, s68c, "FE7CB391D650A284")
+ } else {
+ m680(arg0, 406, 0, s68c, "D650A284")
+ }
+ Store(0xb, Index(s68c, 3))
+ if (F64) {
+ m680(arg0, 407, 0, s68c, "FE7\x0BB391D650A284")
+ } else {
+ m680(arg0, 408, 0, s68c, "D65\x0BA284")
+ }
+ m680(arg0, 409, 0, Local0, 0xfe7cb391d650a284)
+ }
+ Case(2) { // String
+ m680(arg0, 410, 0, s68d, "initial named string8d")
+ Store(Local0, s68d)
+ m680(arg0, 411, 0, s68d, "FE7CB391D650A284")
+ Store(0xb, Index(s68d, 3))
+ m680(arg0, 412, 0, s68d, "FE7\x0BB391D650A284")
+ m680(arg0, 413, 0, Local0, "FE7CB391D650A284")
+ }
+ Case(3) { // Buffer
+ m680(arg0, 414, 0, s68e, "initial named string8e")
+ Store(Local0, s68e)
+ m680(arg0, 415, 0, s68e, "84 A2 50 D6 91 B3 7C FE")
+ Store(0xb, Index(s68e, 3))
+ m680(arg0, 416, 0, s68e, "84 \x0B2 50 D6 91 B3 7C FE")
+ m680(arg0, 417, 0, Local0, Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ }
+ }
+ }
+ Case(4) { // Derefof of intermediate Object (Method ArgX Object)
+ m001(Concatenate(arg0, "-m001"), arg2, Refof(i6e5), Refof(s6e5), Refof(b6e5))
+ }
+ Case(5) { // Derefof of immediate Index(...)
+ Switch(arg2) {
+ Case(1) { // Integer
+ m680(arg0, 418, 0, s68f, "initial named string8f")
+ Store(Derefof(Index(p690, 6)), s68f)
+ if (F64) {
+ m680(arg0, 419, 0, s68f, "FE7CB391D650A284")
+ } else {
+ m680(arg0, 420, 0, s68f, "D650A284")
+ }
+ Store(0xb, Index(s68f, 3))
+ if (F64) {
+ m680(arg0, 421, 0, s68f, "FE7\x0BB391D650A284")
+ } else {
+ m680(arg0, 422, 0, s68f, "D65\x0BA284")
+ }
+ m680(arg0, 423, 0, Derefof(Index(p690, 6)), 0xfe7cb391d650a284)
+ }
+ Case(2) { // String
+ m680(arg0, 424, 0, s690, "initial named string90")
+ Store(Derefof(Index(p690, 7)), s690)
+ m680(arg0, 425, 0, s690, "FE7CB391D650A284")
+ Store(0xb, Index(s690, 3))
+ m680(arg0, 426, 0, s690, "FE7\x0BB391D650A284")
+ m680(arg0, 427, 0, Derefof(Index(p690, 7)), "FE7CB391D650A284")
+ }
+ Case(3) { // Buffer
+ m680(arg0, 428, 0, s691, "initial named string91")
+ Store(Derefof(Index(p690, 8)), s691)
+ m680(arg0, 429, 0, s691, "84 A2 50 D6 91 B3 7C FE")
+ Store(0xb, Index(s691, 3))
+ m680(arg0, 430, 0, s691, "84 \x0B2 50 D6 91 B3 7C FE")
+ m680(arg0, 431, 0, Derefof(Index(p690, 8)), Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ }
+ Case(5) { // Field Unit
+ Store("Not implemented", Debug)
+ err(terr, z123, 432, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ Case(14) { // Buffer Field
+ Store("Not implemented", Debug)
+ err(terr, z123, 433, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ }
+ }
+ Case(6) { // Derefof of Indexed Reference returned by called Method
+ Switch(arg2) {
+ Case(1) { // Integer
+ m680(arg0, 434, 0, s692, "initial named string92")
+ Store(Derefof(m681(p690, 9)), s692)
+ if (F64) {
+ m680(arg0, 435, 0, s692, "FE7CB391D650A284")
+ } else {
+ m680(arg0, 436, 0, s692, "D650A284")
+ }
+ Store(0xb, Index(s692, 3))
+ if (F64) {
+ m680(arg0, 437, 0, s692, "FE7\x0BB391D650A284")
+ } else {
+ m680(arg0, 438, 0, s692, "D65\x0BA284")
+ }
+ m680(arg0, 439, 0, Derefof(Index(p690, 9)), 0xfe7cb391d650a284)
+ }
+ Case(2) { // String
+ m680(arg0, 440, 0, s693, "initial named string93")
+ Store(Derefof(m681(p690, 10)), s693)
+ m680(arg0, 441, 0, s693, "FE7CB391D650A284")
+ Store(0xb, Index(s693, 3))
+ m680(arg0, 442, 0, s693, "FE7\x0BB391D650A284")
+ m680(arg0, 443, 0, Derefof(Index(p690, 10)), "FE7CB391D650A284")
+ }
+ Case(3) { // Buffer
+ m680(arg0, 444, 0, s694, "initial named string94")
+ Store(Derefof(m681(p690, 11)), s694)
+ m680(arg0, 445, 0, s694, "84 A2 50 D6 91 B3 7C FE")
+ Store(0xb, Index(s694, 3))
+ m680(arg0, 446, 0, s694, "84 \x0B2 50 D6 91 B3 7C FE")
+ m680(arg0, 447, 0, Derefof(Index(p690, 11)), Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ }
+ Case(5) { // Field Unit
+ Store("Not implemented", Debug)
+ err(terr, z123, 448, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ Case(14) { // Buffer Field
+ Store("Not implemented", Debug)
+ err(terr, z123, 449, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ }
+ }
+ Case(7) { // Result Object returned by called Method
+ Switch(arg2) {
+ Case(1) { // Integer
+ m680(arg0, 450, 0, s695, "initial named string95")
+ Store(m682(arg2, 6), s695)
+ if (F64) {
+ m680(arg0, 451, 0, s695, "FE7CB391D650A284")
+ } else {
+ m680(arg0, 452, 0, s695, "D650A284")
+ }
+ Store(0xb, Index(s695, 3))
+ if (F64) {
+ m680(arg0, 453, 0, s695, "FE7\x0BB391D650A284")
+ } else {
+ m680(arg0, 454, 0, s695, "D65\x0BA284")
+ }
+ m680(arg0, 455, 0, i6e6, 0xfe7cb391d650a284)
+ }
+ Case(2) { // String
+ m680(arg0, 456, 0, s696, "initial named string96")
+ Store(m682(arg2, 6), s696)
+ m680(arg0, 457, 0, s696, "FE7CB391D650A284")
+ Store(0xb, Index(s696, 3))
+ m680(arg0, 458, 0, s696, "FE7\x0BB391D650A284")
+ m680(arg0, 459, 0, s6e6, "FE7CB391D650A284")
+ }
+ Case(3) { // Buffer
+ m680(arg0, 460, 0, s697, "initial named string97")
+ Store(m682(arg2, 6), s697)
+ m680(arg0, 461, 0, s697, "84 A2 50 D6 91 B3 7C FE")
+ Store(0xb, Index(s697, 3))
+ m680(arg0, 462, 0, s697, "84 \x0B2 50 D6 91 B3 7C FE")
+ m680(arg0, 463, 0, b6e6, Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ }
+ Case(5) { // Field Unit
+ Store("Not implemented", Debug)
+ err(terr, z123, 464, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ Case(14) { // Buffer Field
+ Store("Not implemented", Debug)
+ err(terr, z123, 465, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ }
+ }
+ Case(8) { // Result Object returned by any Operator (Op):
+ // Add, Mid
+ Switch(arg2) {
+ Case(1) { // Integer
+ m680(arg0, 466, 0, s698, "initial named string98")
+ Store(Add(i6e7, 0), s698)
+ if (F64) {
+ m680(arg0, 467, 0, s698, "FE7CB391D650A284")
+ } else {
+ m680(arg0, 468, 0, s698, "D650A284")
+ }
+ Store(0xb, Index(s698, 3))
+ if (F64) {
+ m680(arg0, 469, 0, s698, "FE7\x0BB391D650A284")
+ } else {
+ m680(arg0, 470, 0, s698, "D65\x0BA284")
+ }
+ m680(arg0, 471, 0, i6e7, 0xfe7cb391d650a284)
+ }
+ Case(2) { // String
+ m680(arg0, 472, 0, s699, "initial named string99")
+ Store(Mid(s6e7, 2, 14), s699)
+ m680(arg0, 473, 0, s699, "7CB391D650A284")
+ Store(0xb, Index(s699, 3))
+ m680(arg0, 474, 0, s699, "7CB\x0B91D650A284")
+ m680(arg0, 475, 0, s6e7, "FE7CB391D650A284")
+ }
+ Case(3) { // Buffer
+ m680(arg0, 476, 0, s69a, "initial named string9a")
+ Store(Mid(b6e7, 1, 7), s69a)
+ m680(arg0, 477, 0, s69a, "A2 50 D6 91 B3 7C FE")
+ Store(0xb, Index(s69a, 3))
+ m680(arg0, 478, 0, s69a, "A2 \x0B0 D6 91 B3 7C FE")
+ m680(arg0, 479, 0, b6e7, Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ }
+ Case(5) { // Field Unit
+ Store("Not implemented", Debug)
+ err(terr, z123, 480, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ Case(14) { // Buffer Field
+ Store("Not implemented", Debug)
+ err(terr, z123, 481, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ }
+ }
+ // Additionally can be implemented cases:
+ // Derefof of immediate Refof
+ // Derefof of intermediate Object
+ // Derefof of Reference returned by called Method
+ Default {
+ Store("Unexpected way to obtain some result Object", Debug)
+ err(terr, z123, 482, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ }
+ Return (0)
+ }
+
+ // Store() Result Object to Buffer Named Object
+ Method(m031, 3)
+ {
+ // ArgX as a way to obtain some result object
+ Method(m000, 5)
+ {
+ Switch(arg1) {
+ Case(1) { // Integer
+ m680(arg0, 483, 0, b680, Buffer(9){0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0x80})
+ Store(arg2, b680)
+ if (F64) {
+ m680(arg0, 484, 0, b680, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0x00})
+ } else {
+ m680(arg0, 485, 0, b680, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x00, 0x00, 0x00, 0x00, 0x00})
+ }
+ Store(0xb, Index(b680, 3))
+ if (F64) {
+ m680(arg0, 486, 0, b680, Buffer(9){0x84, 0xA2, 0x50, 0x0B, 0x91, 0xB3, 0x7C, 0xFE, 0x00})
+ } else {
+ m680(arg0, 487, 0, b680, Buffer(9){0x84, 0xA2, 0x50, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00})
+ }
+ m680(arg0, 488, 0, arg2, 0xfe7cb391d650a284)
+ }
+ Case(2) { // String
+ m680(arg0, 489, 0, b681, Buffer(9){0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0x81})
+ Store(arg3, b681)
+ m680(arg0, 490, 0, b681, Buffer(9){0x46, 0x45, 0x37, 0x43, 0x42, 0x33, 0x39, 0x31, 0x44})
+ Store(0xb, Index(b681, 3))
+ m680(arg0, 491, 0, b681, Buffer(9){0x46, 0x45, 0x37, 0x0B, 0x42, 0x33, 0x39, 0x31, 0x44})
+ m680(arg0, 492, 0, arg3, "FE7CB391D650A284")
+ }
+ Case(3) { // Buffer
+ m680(arg0, 493, 0, b682, Buffer(9){0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0x82})
+ Store(arg4, b682)
+ m680(arg0, 494, 0, b682, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0x00})
+ Store(0xb, Index(b682, 3))
+ m680(arg0, 495, 0, b682, Buffer(9){0x84, 0xA2, 0x50, 0x0B, 0x91, 0xB3, 0x7C, 0xFE, 0x00})
+ m680(arg0, 496, 0, arg4, Buffer(8){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ }
+ Case(5) { // Field Unit
+ Store("Not implemented", Debug)
+ err(terr, z123, 497, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ Case(14) { // Buffer Field
+ Store("Not implemented", Debug)
+ err(terr, z123, 498, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ }
+ Return (0)
+ }
+
+ // Reference in ArgX as a way to obtain some result object
+ Method(m001, 5)
+ {
+ Switch(arg1) {
+ Case(1) { // Integer
+ m680(arg0, 499, 0, b683, Buffer(9){0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0x83})
+ Store(Derefof(arg2), b683)
+ if (F64) {
+ m680(arg0, 500, 0, b683, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0x00})
+ } else {
+ m680(arg0, 501, 0, b683, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x00, 0x00, 0x00, 0x00, 0x00})
+ }
+ Store(0xb, Index(b683, 3))
+ if (F64) {
+ m680(arg0, 502, 0, b683, Buffer(9){0x84, 0xA2, 0x50, 0x0B, 0x91, 0xB3, 0x7C, 0xFE, 0x00})
+ } else {
+ m680(arg0, 503, 0, b683, Buffer(9){0x84, 0xA2, 0x50, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00})
+ }
+ m680(arg0, 504, 0, Derefof(arg2), 0xfe7cb391d650a284)
+ }
+ Case(2) { // String
+ m680(arg0, 505, 0, b684, Buffer(9){0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0x84})
+ Store(Derefof(arg3), b684)
+ m680(arg0, 506, 0, b684, Buffer(9){0x46, 0x45, 0x37, 0x43, 0x42, 0x33, 0x39, 0x31, 0x44})
+ Store(0xb, Index(b684, 3))
+ m680(arg0, 507, 0, b684, Buffer(9){0x46, 0x45, 0x37, 0x0B, 0x42, 0x33, 0x39, 0x31, 0x44})
+ m680(arg0, 508, 0, Derefof(arg3), "FE7CB391D650A284")
+ }
+ Case(3) { // Buffer
+ m680(arg0, 509, 0, b685, Buffer(9){0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0x85})
+ Store(Derefof(arg4), b685)
+ m680(arg0, 510, 0, b685, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0x00})
+ Store(0xb, Index(b685, 3))
+ m680(arg0, 511, 0, b685, Buffer(9){0x84, 0xA2, 0x50, 0x0B, 0x91, 0xB3, 0x7C, 0xFE, 0x00})
+ m680(arg0, 512, 0, Derefof(arg4), Buffer(8){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ }
+ Case(5) { // Field Unit
+ Store("Not implemented", Debug)
+ err(terr, z123, 513, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ Case(14) { // Buffer Field
+ Store("Not implemented", Debug)
+ err(terr, z123, 514, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ }
+ Return (0)
+ }
+
+// Store(Concatenate(Concatenate(arg0, arg1), arg2), Debug)
+
+ // Choose a way to obtain some result object
+ Switch(arg1) {
+ Case(0) { // Data Image
+
+ // Choose a type of the result Object and specific source
+ // objects to obtain the result Object of the specified type.
+ // Check that the destination Object is properly initialized.
+ // Perform storing expression and check result.
+ Switch(arg2) {
+ Case(1) { // Integer
+ m680(arg0, 515, 0, b686, Buffer(9){0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0x86})
+ Store(0xfe7cb391d650a284, b686)
+ if (F64) {
+ m680(arg0, 516, 0, b686, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0x00})
+ } else {
+ m680(arg0, 517, 0, b686, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x00, 0x00, 0x00, 0x00, 0x00})
+ }
+ }
+ Case(2) { // String
+ m680(arg0, 518, 0, b687, Buffer(9){0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0x87})
+ Store("FE7CB391D650A284", b687)
+ m680(arg0, 519, 0, b687, Buffer(9){0x46, 0x45, 0x37, 0x43, 0x42, 0x33, 0x39, 0x31, 0x44})
+ }
+ Case(3) { // Buffer
+ m680(arg0, 520, 0, b688, Buffer(9){0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0x88})
+ Store(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, b688)
+ m680(arg0, 521, 0, b688, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0x00})
+ }
+ Case(5) { // Field Unit
+ Store("Not implemented", Debug)
+ err(terr, z123, 522, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ Case(14) { // Buffer Field
+ Store("Not implemented", Debug)
+ err(terr, z123, 523, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ }
+ }
+ Case(1) { // Named Object
+ Switch(arg2) {
+ Case(1) { // Integer
+ m680(arg0, 524, 0, b689, Buffer(9){0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0x89})
+ Store(i6e4, b689)
+ if (F64) {
+ m680(arg0, 525, 0, b689, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0x00})
+ } else {
+ m680(arg0, 526, 0, b689, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x00, 0x00, 0x00, 0x00, 0x00})
+ }
+ Store(0xb, Index(b689, 3))
+ if (F64) {
+ m680(arg0, 527, 0, b689, Buffer(9){0x84, 0xA2, 0x50, 0x0B, 0x91, 0xB3, 0x7C, 0xFE, 0x00})
+ } else {
+ m680(arg0, 528, 0, b689, Buffer(9){0x84, 0xA2, 0x50, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00})
+ }
+ m680(arg0, 529, 0, i6e4, 0xfe7cb391d650a284)
+ }
+ Case(2) { // String
+ m680(arg0, 530, 0, b68a, Buffer(9){0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0x8a})
+ Store(s6e4, b68a)
+ m680(arg0, 531, 0, b68a, Buffer(9){0x46, 0x45, 0x37, 0x43, 0x42, 0x33, 0x39, 0x31, 0x44})
+ Store(0xb, Index(b68a, 3))
+ m680(arg0, 532, 0, b68a, Buffer(9){0x46, 0x45, 0x37, 0x0B, 0x42, 0x33, 0x39, 0x31, 0x44})
+ m680(arg0, 533, 0, s6e4, "FE7CB391D650A284")
+ }
+ Case(3) { // Buffer
+ m680(arg0, 534, 0, b68b, Buffer(9){0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0x8b})
+ Store(b6e4, b68b)
+ m680(arg0, 535, 0, b68b, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0x00})
+ Store(0xb, Index(b68b, 3))
+ m680(arg0, 536, 0, b68b, Buffer(9){0x84, 0xA2, 0x50, 0x0B, 0x91, 0xB3, 0x7C, 0xFE, 0x00})
+ m680(arg0, 537, 0, b6e4, Buffer(8){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ }
+ Case(5) { // Field Unit
+ Store("Not implemented", Debug)
+ err(terr, z123, 538, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ Case(14) { // Buffer Field
+ Store("Not implemented", Debug)
+ err(terr, z123, 539, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ }
+ }
+ Case(2) { // Method ArgX Object
+ m000(Concatenate(arg0, "-m000"), arg2,
+ 0xfe7cb391d650a284, "FE7CB391D650A284", Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ }
+ Case(3) { // Method LocalX Object
+ Switch(arg2) {
+ Case(1) { // Integer
+ Store(0xfe7cb391d650a284, Local0)
+ }
+ Case(2) { // String
+ Store("FE7CB391D650A284", Local0)
+ }
+ Case(3) { // Buffer
+ Store(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, Local0)
+ }
+ Case(5) { // Field Unit
+ Store("Not implemented", Debug)
+ err(terr, z123, 540, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ Case(14) { // Buffer Field
+ Store("Not implemented", Debug)
+ err(terr, z123, 541, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ }
+ Switch(arg2) {
+ Case(1) { // Integer
+ m680(arg0, 542, 0, b68c, Buffer(9){0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0x8c})
+ Store(Local0, b68c)
+ if (F64) {
+ m680(arg0, 543, 0, b68c, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0x00})
+ } else {
+ m680(arg0, 544, 0, b68c, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x00, 0x00, 0x00, 0x00, 0x00})
+ }
+ Store(0xb, Index(b68c, 3))
+ if (F64) {
+ m680(arg0, 545, 0, b68c, Buffer(9){0x84, 0xA2, 0x50, 0x0B, 0x91, 0xB3, 0x7C, 0xFE, 0x00})
+ } else {
+ m680(arg0, 546, 0, b68c, Buffer(9){0x84, 0xA2, 0x50, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00})
+ }
+ m680(arg0, 547, 0, Local0, 0xfe7cb391d650a284)
+ }
+ Case(2) { // String
+ m680(arg0, 548, 0, b68d, Buffer(9){0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0x8d})
+ Store(Local0, b68d)
+ m680(arg0, 549, 0, b68d, Buffer(9){0x46, 0x45, 0x37, 0x43, 0x42, 0x33, 0x39, 0x31, 0x44})
+ Store(0xb, Index(b68d, 3))
+ m680(arg0, 550, 0, b68d, Buffer(9){0x46, 0x45, 0x37, 0x0B, 0x42, 0x33, 0x39, 0x31, 0x44})
+ m680(arg0, 551, 0, Local0, "FE7CB391D650A284")
+ }
+ Case(3) { // Buffer
+ m680(arg0, 552, 0, b68e, Buffer(9){0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0x8e})
+ Store(Local0, b68e)
+ m680(arg0, 553, 0, b68e, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0x00})
+ Store(0xb, Index(b68e, 3))
+ m680(arg0, 554, 0, b68e, Buffer(9){0x84, 0xA2, 0x50, 0x0B, 0x91, 0xB3, 0x7C, 0xFE, 0x00})
+ m680(arg0, 555, 0, Local0, Buffer(8){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ }
+ }
+ }
+ Case(4) { // Derefof of intermediate Object (Method ArgX Object)
+ m001(Concatenate(arg0, "-m001"), arg2, Refof(i6e5), Refof(s6e5), Refof(b6e5))
+ }
+ Case(5) { // Derefof of immediate Index(...)
+ Switch(arg2) {
+ Case(1) { // Integer
+ m680(arg0, 556, 0, b68f, Buffer(9){0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0x8f})
+ Store(Derefof(Index(p690, 6)), b68f)
+ if (F64) {
+ m680(arg0, 557, 0, b68f, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0x00})
+ } else {
+ m680(arg0, 558, 0, b68f, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x00, 0x00, 0x00, 0x00, 0x00})
+ }
+ Store(0xb, Index(b68f, 3))
+ if (F64) {
+ m680(arg0, 559, 0, b68f, Buffer(9){0x84, 0xA2, 0x50, 0x0B, 0x91, 0xB3, 0x7C, 0xFE, 0x00})
+ } else {
+ m680(arg0, 560, 0, b68f, Buffer(9){0x84, 0xA2, 0x50, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00})
+ }
+ m680(arg0, 561, 0, Derefof(Index(p690, 6)), 0xfe7cb391d650a284)
+ }
+ Case(2) { // String
+ m680(arg0, 562, 0, b690, Buffer(9){0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0x90})
+ Store(Derefof(Index(p690, 7)), b690)
+ m680(arg0, 563, 0, b690, Buffer(9){0x46, 0x45, 0x37, 0x43, 0x42, 0x33, 0x39, 0x31, 0x44})
+ Store(0xb, Index(b690, 3))
+ m680(arg0, 564, 0, b690, Buffer(9){0x46, 0x45, 0x37, 0x0B, 0x42, 0x33, 0x39, 0x31, 0x44})
+ m680(arg0, 565, 0, Derefof(Index(p690, 7)), "FE7CB391D650A284")
+ }
+ Case(3) { // Buffer
+ m680(arg0, 566, 0, b691, Buffer(9){0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0x91})
+ Store(Derefof(Index(p690, 8)), b691)
+ m680(arg0, 567, 0, b691, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0x00})
+ Store(0xb, Index(b691, 3))
+ m680(arg0, 568, 0, b691, Buffer(9){0x84, 0xA2, 0x50, 0x0B, 0x91, 0xB3, 0x7C, 0xFE, 0x00})
+ m680(arg0, 569, 0, Derefof(Index(p690, 8)), Buffer(8){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ }
+ Case(5) { // Field Unit
+ Store("Not implemented", Debug)
+ err(terr, z123, 570, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ Case(14) { // Buffer Field
+ Store("Not implemented", Debug)
+ err(terr, z123, 571, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ }
+ }
+ Case(6) { // Derefof of Indexed Reference returned by called Method
+ Switch(arg2) {
+ Case(1) { // Integer
+ m680(arg0, 572, 0, b692, Buffer(9){0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0x92})
+ Store(Derefof(m681(p690, 9)), b692)
+ if (F64) {
+ m680(arg0, 573, 0, b692, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0x00})
+ } else {
+ m680(arg0, 574, 0, b692, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x00, 0x00, 0x00, 0x00, 0x00})
+ }
+ Store(0xb, Index(b692, 3))
+ if (F64) {
+ m680(arg0, 575, 0, b692, Buffer(9){0x84, 0xA2, 0x50, 0x0B, 0x91, 0xB3, 0x7C, 0xFE, 0x00})
+ } else {
+ m680(arg0, 576, 0, b692, Buffer(9){0x84, 0xA2, 0x50, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00})
+ }
+ m680(arg0, 577, 0, Derefof(Index(p690, 9)), 0xfe7cb391d650a284)
+ }
+ Case(2) { // String
+ m680(arg0, 578, 0, b693, Buffer(9){0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0x93})
+ Store(Derefof(m681(p690, 10)), b693)
+ m680(arg0, 579, 0, b693, Buffer(9){0x46, 0x45, 0x37, 0x43, 0x42, 0x33, 0x39, 0x31, 0x44})
+ Store(0xb, Index(b693, 3))
+ m680(arg0, 580, 0, b693, Buffer(9){0x46, 0x45, 0x37, 0x0B, 0x42, 0x33, 0x39, 0x31, 0x44})
+ m680(arg0, 581, 0, Derefof(Index(p690, 10)), "FE7CB391D650A284")
+ }
+ Case(3) { // Buffer
+ m680(arg0, 582, 0, b694, Buffer(9){0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0x94})
+ Store(Derefof(m681(p690, 11)), b694)
+ m680(arg0, 583, 0, b694, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0x00})
+ Store(0xb, Index(b694, 3))
+ m680(arg0, 584, 0, b694, Buffer(9){0x84, 0xA2, 0x50, 0x0B, 0x91, 0xB3, 0x7C, 0xFE, 0x00})
+ m680(arg0, 585, 0, Derefof(Index(p690, 11)), Buffer(8){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ }
+ Case(5) { // Field Unit
+ Store("Not implemented", Debug)
+ err(terr, z123, 586, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ Case(14) { // Buffer Field
+ Store("Not implemented", Debug)
+ err(terr, z123, 587, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ }
+ }
+ Case(7) { // Result Object returned by called Method
+ Switch(arg2) {
+ Case(1) { // Integer
+ m680(arg0, 588, 0, b695, Buffer(9){0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0x95})
+ Store(m682(arg2, 6), b695)
+ if (F64) {
+ m680(arg0, 589, 0, b695, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0x00})
+ } else {
+ m680(arg0, 590, 0, b695, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x00, 0x00, 0x00, 0x00, 0x00})
+ }
+ Store(0xb, Index(b695, 3))
+ if (F64) {
+ m680(arg0, 591, 0, b695, Buffer(9){0x84, 0xA2, 0x50, 0x0B, 0x91, 0xB3, 0x7C, 0xFE, 0x00})
+ } else {
+ m680(arg0, 592, 0, b695, Buffer(9){0x84, 0xA2, 0x50, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00})
+ }
+ m680(arg0, 593, 0, i6e6, 0xfe7cb391d650a284)
+ }
+ Case(2) { // String
+ m680(arg0, 594, 0, b696, Buffer(9){0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0x96})
+ Store(m682(arg2, 6), b696)
+ m680(arg0, 595, 0, b696, Buffer(9){0x46, 0x45, 0x37, 0x43, 0x42, 0x33, 0x39, 0x31, 0x44})
+ Store(0xb, Index(b696, 3))
+ m680(arg0, 596, 0, b696, Buffer(9){0x46, 0x45, 0x37, 0x0B, 0x42, 0x33, 0x39, 0x31, 0x44})
+ m680(arg0, 597, 0, s6e6, "FE7CB391D650A284")
+ }
+ Case(3) { // Buffer
+ m680(arg0, 598, 0, b697, Buffer(9){0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0x97})
+ Store(m682(arg2, 6), b697)
+ m680(arg0, 599, 0, b697, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0x00})
+ Store(0xb, Index(b697, 3))
+ m680(arg0, 600, 0, b697, Buffer(9){0x84, 0xA2, 0x50, 0x0B, 0x91, 0xB3, 0x7C, 0xFE, 0x00})
+ m680(arg0, 601, 0, b6e6, Buffer(8){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ }
+ Case(5) { // Field Unit
+ Store("Not implemented", Debug)
+ err(terr, z123, 602, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ Case(14) { // Buffer Field
+ Store("Not implemented", Debug)
+ err(terr, z123, 603, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ }
+ }
+ Case(8) { // Result Object returned by any Operator (Op):
+ // Add, Mid
+ Switch(arg2) {
+ Case(1) { // Integer
+ m680(arg0, 604, 0, b698, Buffer(9){0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0x98})
+ Store(Add(i6e7, 0), b698)
+ if (F64) {
+ m680(arg0, 605, 0, b698, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0x00})
+ } else {
+ m680(arg0, 606, 0, b698, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x00, 0x00, 0x00, 0x00, 0x00})
+ }
+ Store(0xb, Index(b698, 3))
+ if (F64) {
+ m680(arg0, 607, 0, b698, Buffer(9){0x84, 0xA2, 0x50, 0x0B, 0x91, 0xB3, 0x7C, 0xFE, 0x00})
+ } else {
+ m680(arg0, 608, 0, b698, Buffer(9){0x84, 0xA2, 0x50, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00})
+ }
+ m680(arg0, 609, 0, i6e7, 0xfe7cb391d650a284)
+ }
+ Case(2) { // String
+ m680(arg0, 610, 0, b699, Buffer(9){0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0x99})
+ Store(Mid(s6e7, 2, 14), b699)
+ m680(arg0, 611, 0, b699, Buffer(9){0x37, 0x43, 0x42, 0x33, 0x39, 0x31, 0x44, 0x36, 0x35})
+ Store(0xb, Index(b699, 3))
+ m680(arg0, 612, 0, b699, Buffer(9){0x37, 0x43, 0x42, 0x0B, 0x39, 0x31, 0x44, 0x36, 0x35})
+ m680(arg0, 613, 0, s6e7, "FE7CB391D650A284")
+ }
+ Case(3) { // Buffer
+ m680(arg0, 614, 0, b69a, Buffer(9){0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0x9a})
+ Store(Mid(b6e7, 1, 7), b69a)
+ m680(arg0, 615, 0, b69a, Buffer() {0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0x00, 0x00})
+ Store(0xb, Index(b69a, 3))
+ m680(arg0, 616, 0, b69a, Buffer() {0xA2, 0x50, 0xD6, 0x0B, 0xB3, 0x7C, 0xFE, 0x00, 0x00})
+ m680(arg0, 617, 0, b6e7, Buffer(8){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ }
+ Case(5) { // Field Unit
+ Store("Not implemented", Debug)
+ err(terr, z123, 618, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ Case(14) { // Buffer Field
+ Store("Not implemented", Debug)
+ err(terr, z123, 619, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ }
+ }
+ // Additionally can be implemented cases:
+ // Derefof of immediate Refof
+ // Derefof of intermediate Object
+ // Derefof of Reference returned by called Method
+ Default {
+ Store("Unexpected way to obtain some result Object", Debug)
+ err(terr, z123, 620, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ }
+ Return (0)
+ }
+
+ // Store() Result Object to Buffer Field Named Object,
+ // case of the field, which is 31-bit long (bf80)
+ Method(m0e0, 3)
+ {
+ // ArgX as a way to obtain some result object
+ Method(m000, 5)
+ {
+ Switch(arg1) {
+ Case(1) { // Integer
+ Store(arg2, bf80)
+ m010(arg0, 130, 1)
+ m680(arg0, 621, 0, arg2, 0xfe7cb391d650a284)
+ }
+ Case(2) { // String
+ Store(arg3, bf80)
+ m020(arg0, 137, 1)
+ m680(arg0, 622, 0, arg3, "FE7CB391D650A284")
+ }
+ Case(3) { // Buffer
+ Store(arg4, bf80)
+ m030(arg0, 144, 1)
+ m680(arg0, 623, 0, arg4, Buffer(8){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ }
+ Case(5) { // Field Unit
+ Store("Not implemented", Debug)
+ err(terr, z123, 624, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ Case(14) { // Buffer Field
+ Store("Not implemented", Debug)
+ err(terr, z123, 625, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ }
+ Return (0)
+ }
+
+ // Reference in ArgX as a way to obtain some result object
+ Method(m001, 5)
+ {
+ Switch(arg1) {
+ Case(1) { // Integer
+ Store(Derefof(arg2), bf80)
+ m010(arg0, 153, 1)
+ m680(arg0, 626, 0, Derefof(arg2), 0xfe7cb391d650a284)
+ }
+ Case(2) { // String
+ Store(Derefof(arg3), bf80)
+ m020(arg0, 160, 1)
+ m680(arg0, 627, 0, Derefof(arg3), "FE7CB391D650A284")
+ }
+ Case(3) { // Buffer
+ Store(Derefof(arg4), bf80)
+ m030(arg0, 167, 1)
+ m680(arg0, 628, 0, Derefof(arg4), Buffer(8){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ }
+ Case(5) { // Field Unit
+ Store("Not implemented", Debug)
+ err(terr, z123, 629, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ Case(14) { // Buffer Field
+ Store("Not implemented", Debug)
+ err(terr, z123, 630, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ }
+ Return (0)
+ }
+
+ // Check storing of 0xfe7cb391d650a284 to bf80,
+ // optionally perform an additional update and check
+ // m010(<errmsg>, <errnum>, <flag>)
+ Method(m010, 3)
+ {
+ m680(arg0, arg1, 0, ObjectType(bf80), 14)
+ m680(arg0, arg1, 1, bf80, 0x5650a284)
+ Store(0xc179b3fe, bf80)
+ m680(arg0, arg1, 2, ObjectType(bf80), 14)
+ m680(arg0, arg1, 3, bf80, 0x4179b3fe)
+ }
+
+ // Check storing of "FE7CB391D650A284" to bf80,
+ // optionally perform an additional update and check
+ // m020(<errmsg>, <errnum>, <flag>)
+ Method(m020, 3)
+ {
+ m680(arg0, arg1, 0, ObjectType(bf80), 14)
+ m680(arg0, arg1, 1, bf80, 0x43374546)
+ Store("C179B3FE", bf80)
+ m680(arg0, arg1, 2, ObjectType(bf80), 14)
+ m680(arg0, arg1, 3, bf80, 0x39373143)
+ }
+
+ // Check storing of Buffer(){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}
+ // to bf80, optionally perform an additional update and check
+ // m030(<errmsg>, <errnum>, <flag>)
+ Method(m030, 3)
+ {
+ m680(arg0, arg1, 0, ObjectType(bf80), 14)
+ m680(arg0, arg1, 1, bf80, 0x5650a284)
+ Store(Buffer() {0xFE, 0xB3, 0x79, 0xC1}, bf80)
+ m680(arg0, arg1, 2, ObjectType(bf80), 14)
+ m680(arg0, arg1, 3, bf80, 0x4179b3fe)
+ }
+
+ // Fill the bytes range of the Buffer Field in the SourceBuffer
+ m683(b675, 35, 63, 0xa5)
+
+ // Choose a way to obtain some result object
+ Switch(arg1) {
+ Case(0) { // Data Image
+
+ // Choose a type of the result Object and specific source
+ // objects to obtain the result Object of the specified type.
+ // Check that the destination Object is properly initialized.
+ // Perform storing expression and check result.
+ Switch(arg2) {
+ Case(1) { // Integer
+ Store(0xfe7cb391d650a284, bf80)
+ m010(arg0, 176, 0)
+ }
+ Case(2) { // String
+ Store("FE7CB391D650A284", bf80)
+ m020(arg0, 182, 0)
+ }
+ Case(3) { // Buffer
+ Store(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, bf80)
+ m030(arg0, 188, 0)
+ }
+ Case(5) { // Field Unit
+ Store("Not implemented", Debug)
+ err(terr, z123, 631, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ Case(14) { // Buffer Field
+ Store("Not implemented", Debug)
+ err(terr, z123, 632, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ }
+ }
+ Case(1) { // Named Object
+ Switch(arg2) {
+ Case(1) { // Integer
+ Store(i6e4, bf80)
+ m010(arg0, 196, 1)
+ m680(arg0, 633, 0, i6e4, 0xfe7cb391d650a284)
+ }
+ Case(2) { // String
+ Store(s6e4, bf80)
+ m020(arg0, 203, 1)
+ m680(arg0, 634, 0, s6e4, "FE7CB391D650A284")
+ }
+ Case(3) { // Buffer
+ Store(b6e4, bf80)
+ m030(arg0, 210, 1)
+ m680(arg0, 635, 0, b6e4, Buffer(8){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ }
+ Case(5) { // Field Unit
+ Store("Not implemented", Debug)
+ err(terr, z123, 636, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ Case(14) { // Buffer Field
+ Store("Not implemented", Debug)
+ err(terr, z123, 637, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ }
+ }
+ Case(2) { // Method ArgX Object
+ m000(Concatenate(arg0, "-m000"), arg2,
+ 0xfe7cb391d650a284, "FE7CB391D650A284", Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ }
+ Case(3) { // Method LocalX Object
+ Switch(arg2) {
+ Case(1) { // Integer
+ Store(0xfe7cb391d650a284, Local0)
+ }
+ Case(2) { // String
+ Store("FE7CB391D650A284", Local0)
+ }
+ Case(3) { // Buffer
+ Store(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, Local0)
+ }
+ Case(5) { // Field Unit
+ Store("Not implemented", Debug)
+ err(terr, z123, 638, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ Case(14) { // Buffer Field
+ Store("Not implemented", Debug)
+ err(terr, z123, 639, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ }
+ Switch(arg2) {
+ Case(1) { // Integer
+ Store(Local0, bf80)
+ m010(arg0, 221, 1)
+ m680(arg0, 640, 0, Local0, 0xfe7cb391d650a284)
+ }
+ Case(2) { // String
+ Store(Local0, bf80)
+ m020(arg0, 228, 1)
+ m680(arg0, 641, 0, Local0, "FE7CB391D650A284")
+ }
+ Case(3) { // Buffer
+ Store(Local0, bf80)
+ m030(arg0, 235, 1)
+ m680(arg0, 642, 0, Local0, Buffer(8){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ }
+ }
+ }
+ Case(4) { // Derefof of intermediate Object (Method ArgX Object)
+ m001(Concatenate(arg0, "-m001"), arg2, Refof(i6e5), Refof(s6e5), Refof(b6e5))
+ }
+ Case(5) { // Derefof of immediate Index(...)
+ Switch(arg2) {
+ Case(1) { // Integer
+ Store(Derefof(Index(p690, 6)), bf80)
+ m010(arg0, 242, 1)
+ m680(arg0, 643, 0, Derefof(Index(p690, 6)), 0xfe7cb391d650a284)
+ }
+ Case(2) { // String
+ Store(Derefof(Index(p690, 7)), bf80)
+ m020(arg0, 249, 1)
+ m680(arg0, 644, 0, Derefof(Index(p690, 7)), "FE7CB391D650A284")
+ }
+ Case(3) { // Buffer
+ Store(Derefof(Index(p690, 8)), bf80)
+ m030(arg0, 256, 1)
+ m680(arg0, 645, 0, Derefof(Index(p690, 8)), Buffer(8){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ }
+ Case(5) { // Field Unit
+ Store("Not implemented", Debug)
+ err(terr, z123, 646, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ Case(14) { // Buffer Field
+ Store("Not implemented", Debug)
+ err(terr, z123, 647, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ }
+ }
+ Case(6) { // Derefof of Indexed Reference returned by called Method
+ Switch(arg2) {
+ Case(1) { // Integer
+ Store(Derefof(m681(p690, 9)), bf80)
+ m010(arg0, 265, 1)
+ m680(arg0, 648, 0, Derefof(Index(p690, 9)), 0xfe7cb391d650a284)
+ }
+ Case(2) { // String
+ Store(Derefof(m681(p690, 10)), bf80)
+ m020(arg0, 272, 1)
+ m680(arg0, 649, 0, Derefof(Index(p690, 10)), "FE7CB391D650A284")
+ }
+ Case(3) { // Buffer
+ Store(Derefof(m681(p690, 11)), bf80)
+ m030(arg0, 284, 1)
+ m680(arg0, 650, 0, Derefof(Index(p690, 11)), Buffer(8){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ }
+ Case(5) { // Field Unit
+ Store("Not implemented", Debug)
+ err(terr, z123, 651, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ Case(14) { // Buffer Field
+ Store("Not implemented", Debug)
+ err(terr, z123, 652, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ }
+ }
+ Case(7) { // Result Object returned by called Method
+ Switch(arg2) {
+ Case(1) { // Integer
+ Store(m682(arg2, 6), bf80)
+ m010(arg0, 293, 1)
+ m680(arg0, 653, 0, i6e6, 0xfe7cb391d650a284)
+ }
+ Case(2) { // String
+ Store(m682(arg2, 6), bf80)
+ m020(arg0, 305, 1)
+ m680(arg0, 654, 0, s6e6, "FE7CB391D650A284")
+ }
+ Case(3) { // Buffer
+ Store(m682(arg2, 6), bf80)
+ m030(arg0, 312, 1)
+ m680(arg0, 655, 0, b6e6, Buffer(8){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ }
+ Case(5) { // Field Unit
+ Store("Not implemented", Debug)
+ err(terr, z123, 656, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ Case(14) { // Buffer Field
+ Store("Not implemented", Debug)
+ err(terr, z123, 657, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ }
+ }
+ Case(8) { // Result Object returned by any Operator (Op):
+ // Add, Mid
+ Switch(arg2) {
+ Case(1) { // Integer
+ Store(Add(i6e7, 0), bf80)
+ m010(arg0, 316, 1)
+ m680(arg0, 658, 0, i6e7, 0xfe7cb391d650a284)
+ }
+ Case(2) { // String
+ Store(Mid(s6e7, 2, 14), bf80)
+ m680(arg0, 659, 0, ObjectType(bf80), 14)
+ m680(arg0, 660, 0, bf80, 0x33424337)
+ Store("C179B3FE", bf80)
+ m680(arg0, 661, 0, ObjectType(bf80), 14)
+ m680(arg0, 662, 0, bf80, 0x39373143)
+ m680(arg0, 663, 0, s6e7, "FE7CB391D650A284")
+ }
+ Case(3) { // Buffer
+ Store(Mid(b6e7, 1, 7), bf80)
+ m680(arg0, 664, 0, ObjectType(bf80), 14)
+ m680(arg0, 665, 0, bf80, 0x11D650A2)
+ Store(Buffer() {0xFE, 0xB3, 0x79, 0xC1}, bf80)
+ m680(arg0, 666, 0, ObjectType(bf80), 14)
+ m680(arg0, 667, 0, bf80, 0x4179b3fe)
+ m680(arg0, 668, 0, b6e7, Buffer(8){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ }
+ Case(5) { // Field Unit
+ Store("Not implemented", Debug)
+ err(terr, z123, 669, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ Case(14) { // Buffer Field
+ Store("Not implemented", Debug)
+ err(terr, z123, 670, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ }
+ }
+ // Additionally can be implemented cases:
+ // Derefof of immediate Refof
+ // Derefof of intermediate Object
+ // Derefof of Reference returned by called Method
+ Default {
+ Store("Unexpected way to obtain some result Object", Debug)
+ err(terr, z123, 671, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ }
+ Return (0)
+ }
+
+ // Store() Result Object to Buffer Field Named Object
+ // case of the field, which is 63-bit long (bf81)
+ Method(m0e1, 3)
+ {
+ // ArgX as a way to obtain some result object
+ Method(m000, 5)
+ {
+ Switch(arg1) {
+ Case(1) { // Integer
+ Store(arg2, bf81)
+ m010(arg0, 130, 1)
+ m680(arg0, 672, 0, arg2, 0xfe7cb391d650a284)
+ }
+ Case(2) { // String
+ Store(arg3, bf81)
+ m020(arg0, 137, 1)
+ m680(arg0, 673, 0, arg3, "FE7CB391D650A284")
+ }
+ Case(3) { // Buffer
+ Store(arg4, bf81)
+ m030(arg0, 144, 1)
+ m680(arg0, 674, 0, arg4, Buffer(8){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ }
+ Case(5) { // Field Unit
+ Store("Not implemented", Debug)
+ err(terr, z123, 675, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ Case(14) { // Buffer Field
+ Store("Not implemented", Debug)
+ err(terr, z123, 676, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ }
+ Return (0)
+ }
+
+ // Reference in ArgX as a way to obtain some result object
+ Method(m001, 5)
+ {
+ Switch(arg1) {
+ Case(1) { // Integer
+ Store(Derefof(arg2), bf81)
+ m010(arg0, 153, 1)
+ m680(arg0, 677, 0, Derefof(arg2), 0xfe7cb391d650a284)
+ }
+ Case(2) { // String
+ Store(Derefof(arg3), bf81)
+ m020(arg0, 160, 1)
+ m680(arg0, 678, 0, Derefof(arg3), "FE7CB391D650A284")
+ }
+ Case(3) { // Buffer
+ Store(Derefof(arg4), bf81)
+ m030(arg0, 167, 1)
+ m680(arg0, 679, 0, Derefof(arg4), Buffer(8){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ }
+ Case(5) { // Field Unit
+ Store("Not implemented", Debug)
+ err(terr, z123, 680, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ Case(14) { // Buffer Field
+ Store("Not implemented", Debug)
+ err(terr, z123, 681, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ }
+ Return (0)
+ }
+
+ // Check storing of 0xfe7cb391d650a284 to bf81,
+ // optionally perform an additional update and check
+ // m010(<errmsg>, <errnum>, <flag>)
+ Method(m010, 3)
+ {
+ m680(arg0, arg1, 0, ObjectType(bf81), 14)
+ if (F64) {
+ m680(arg0, arg1, 1, bf81, 0x7e7cb391d650a284)
+ } else {
+ m680(arg0, arg1, 2, bf81, Buffer(8){0x84, 0xA2, 0x50, 0xD6, 0x00, 0x00, 0x00, 0x00})
+ }
+ if (arg2) {
+ Store(0xc179b3fe, bf81)
+ m680(arg0, arg1, 3, ObjectType(bf81), 14)
+ if (F64) {
+ m680(arg0, arg1, 4, bf81, 0xc179b3fe)
+ } else {
+ m680(arg0, arg1, 5, bf81, Buffer(8){0xFE, 0xB3, 0x79, 0xC1, 0x00, 0x00, 0x00, 0x00})
+ }
+ }
+ }
+
+ // Check storing of "FE7CB391D650A284" to bf81,
+ // optionally perform an additional update and check
+ // m020(<errmsg>, <errnum>, <flag>)
+ Method(m020, 3)
+ {
+ m680(arg0, arg1, 0, ObjectType(bf81), 14)
+ if (F64) {
+ m680(arg0, arg1, 1, bf81, 0x3139334243374546)
+ } else {
+ m680(arg0, arg1, 2, bf81, Buffer(8){0x46, 0x45, 0x37, 0x43, 0x42, 0x33, 0x39, 0x31})
+ }
+ if (arg2) {
+ Store("C179B3FE", bf81)
+ m680(arg0, arg1, 3, ObjectType(bf81), 14)
+ if (F64) {
+ m680(arg0, arg1, 4, bf81, 0x4546334239373143)
+ } else {
+ m680(arg0, arg1, 5, bf81, Buffer(8){0x43, 0x31, 0x37, 0x39, 0x42, 0x33, 0x46, 0x45})
+ }
+ }
+ }
+
+ // Check storing of Buffer(){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}
+ // to bf81, optionally perform an additional update and check
+ // m030(<errmsg>, <errnum>, <flag>)
+ Method(m030, 3)
+ {
+ m680(arg0, arg1, 0, ObjectType(bf81), 14)
+ if (F64) {
+ m680(arg0, arg1, 1, bf81, 0x7e7cb391d650a284)
+ } else {
+ m680(arg0, arg1, 2, bf81, Buffer(8){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0x7E})
+ }
+ if (arg2) {
+ Store(Buffer() {0xFE, 0xB3, 0x79, 0xC1}, bf81)
+ m680(arg0, arg1, 3, ObjectType(bf81), 14)
+ if (F64) {
+ m680(arg0, arg1, 4, bf81, 0xc179b3fe)
+ } else {
+ m680(arg0, arg1, 5, bf81, Buffer(8){0xFE, 0xB3, 0x79, 0xC1, 0x00, 0x00, 0x00, 0x00})
+ }
+ }
+ }
+
+ // Fill the bytes range of the Buffer Field in the SourceBuffer
+ m683(b675, 35, 63, 0xa5)
+
+ // Choose a way to obtain some result object
+ Switch(arg1) {
+ Case(0) { // Data Image
+
+ // Choose a type of the result Object and specific source
+ // objects to obtain the result Object of the specified type.
+ // Check that the destination Object is properly initialized.
+ // Perform storing expression and check result.
+ Switch(arg2) {
+ Case(1) { // Integer
+ Store(0xfe7cb391d650a284, bf81)
+ m010(arg0, 176, 0)
+ }
+ Case(2) { // String
+ Store("FE7CB391D650A284", bf81)
+ m020(arg0, 182, 0)
+ }
+ Case(3) { // Buffer
+ Store(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, bf81)
+ m030(arg0, 188, 0)
+ }
+ Case(5) { // Field Unit
+ Store("Not implemented", Debug)
+ err(terr, z123, 682, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ Case(14) { // Buffer Field
+ Store("Not implemented", Debug)
+ err(terr, z123, 683, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ }
+ }
+ Case(1) { // Named Object
+ Switch(arg2) {
+ Case(1) { // Integer
+ Store(i6e4, bf81)
+ m010(arg0, 196, 1)
+ m680(arg0, 684, 0, i6e4, 0xfe7cb391d650a284)
+ }
+ Case(2) { // String
+ Store(s6e4, bf81)
+ m020(arg0, 203, 1)
+ m680(arg0, 685, 0, s6e4, "FE7CB391D650A284")
+ }
+ Case(3) { // Buffer
+ Store(b6e4, bf81)
+ m030(arg0, 210, 1)
+ m680(arg0, 686, 0, b6e4, Buffer(8){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ }
+ Case(5) { // Field Unit
+ Store("Not implemented", Debug)
+ err(terr, z123, 687, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ Case(14) { // Buffer Field
+ Store("Not implemented", Debug)
+ err(terr, z123, 688, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ }
+ }
+ Case(2) { // Method ArgX Object
+ m000(Concatenate(arg0, "-m000"), arg2,
+ 0xfe7cb391d650a284, "FE7CB391D650A284", Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ }
+ Case(3) { // Method LocalX Object
+ Switch(arg2) {
+ Case(1) { // Integer
+ Store(0xfe7cb391d650a284, Local0)
+ }
+ Case(2) { // String
+ Store("FE7CB391D650A284", Local0)
+ }
+ Case(3) { // Buffer
+ Store(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, Local0)
+ }
+ Case(5) { // Field Unit
+ Store("Not implemented", Debug)
+ err(terr, z123, 689, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ Case(14) { // Buffer Field
+ Store("Not implemented", Debug)
+ err(terr, z123, 690, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ }
+ Switch(arg2) {
+ Case(1) { // Integer
+ Store(Local0, bf81)
+ m010(arg0, 221, 1)
+ m680(arg0, 691, 0, Local0, 0xfe7cb391d650a284)
+ }
+ Case(2) { // String
+ Store(Local0, bf81)
+ m020(arg0, 228, 1)
+ m680(arg0, 692, 0, Local0, "FE7CB391D650A284")
+ }
+ Case(3) { // Buffer
+ Store(Local0, bf81)
+ m030(arg0, 235, 1)
+ m680(arg0, 693, 0, Local0, Buffer(8){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ }
+ }
+ }
+ Case(4) { // Derefof of intermediate Object (Method ArgX Object)
+ m001(Concatenate(arg0, "-m001"), arg2, Refof(i6e5), Refof(s6e5), Refof(b6e5))
+ }
+ Case(5) { // Derefof of immediate Index(...)
+ Switch(arg2) {
+ Case(1) { // Integer
+ Store(Derefof(Index(p690, 6)), bf81)
+ m010(arg0, 242, 1)
+ m680(arg0, 694, 0, Derefof(Index(p690, 6)), 0xfe7cb391d650a284)
+ }
+ Case(2) { // String
+ Store(Derefof(Index(p690, 7)), bf81)
+ m020(arg0, 249, 1)
+ m680(arg0, 695, 0, Derefof(Index(p690, 7)), "FE7CB391D650A284")
+ }
+ Case(3) { // Buffer
+ Store(Derefof(Index(p690, 8)), bf81)
+ m030(arg0, 256, 1)
+ m680(arg0, 696, 0, Derefof(Index(p690, 8)), Buffer(8){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ }
+ Case(5) { // Field Unit
+ Store("Not implemented", Debug)
+ err(terr, z123, 697, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ Case(14) { // Buffer Field
+ Store("Not implemented", Debug)
+ err(terr, z123, 698, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ }
+ }
+ Case(6) { // Derefof of Indexed Reference returned by called Method
+ Switch(arg2) {
+ Case(1) { // Integer
+ Store(Derefof(m681(p690, 9)), bf81)
+ m010(arg0, 265, 1)
+ m680(arg0, 699, 0, Derefof(Index(p690, 9)), 0xfe7cb391d650a284)
+ }
+ Case(2) { // String
+ Store(Derefof(m681(p690, 10)), bf81)
+ m020(arg0, 272, 1)
+ m680(arg0, 700, 0, Derefof(Index(p690, 10)), "FE7CB391D650A284")
+ }
+ Case(3) { // Buffer
+ Store(Derefof(m681(p690, 11)), bf81)
+ m030(arg0, 284, 1)
+ m680(arg0, 701, 0, Derefof(Index(p690, 11)), Buffer(8){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ }
+ Case(5) { // Field Unit
+ Store("Not implemented", Debug)
+ err(terr, z123, 702, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ Case(14) { // Buffer Field
+ Store("Not implemented", Debug)
+ err(terr, z123, 703, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ }
+ }
+ Case(7) { // Result Object returned by called Method
+ Switch(arg2) {
+ Case(1) { // Integer
+ Store(m682(arg2, 6), bf81)
+ m010(arg0, 293, 1)
+ m680(arg0, 704, 0, i6e6, 0xfe7cb391d650a284)
+ }
+ Case(2) { // String
+ Store(m682(arg2, 6), bf81)
+ m020(arg0, 305, 1)
+ m680(arg0, 705, 0, s6e6, "FE7CB391D650A284")
+ }
+ Case(3) { // Buffer
+ Store(m682(arg2, 6), bf81)
+ m030(arg0, 312, 1)
+ m680(arg0, 706, 0, b6e6, Buffer(8){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ }
+ Case(5) { // Field Unit
+ Store("Not implemented", Debug)
+ err(terr, z123, 707, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ Case(14) { // Buffer Field
+ Store("Not implemented", Debug)
+ err(terr, z123, 708, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ }
+ }
+ Case(8) { // Result Object returned by any Operator (Op):
+ // Add, Mid
+ Switch(arg2) {
+ Case(1) { // Integer
+ Store(Add(i6e7, 0), bf81)
+ m010(arg0, 316, 1)
+ m680(arg0, 709, 0, i6e7, 0xfe7cb391d650a284)
+ }
+ Case(2) { // String
+ Store(Mid(s6e7, 2, 14), bf81)
+ m680(arg0, 710, 0, ObjectType(bf81), 14)
+ if (F64) {
+ m680(arg0, 711, 0, bf81, 0x3644313933424337)
+ } else {
+ m680(arg0, 712, 0, bf81, Buffer(8){0x37, 0x43, 0x42, 0x33, 0x39, 0x31, 0x44, 0x36})
+ }
+ Store("C179B3FE", bf81)
+ m680(arg0, 713, 0, ObjectType(bf81), 14)
+ if (F64) {
+ m680(arg0, 714, 0, bf81, 0x4546334239373143)
+ } else {
+ m680(arg0, 715, 0, bf81, Buffer(8){0x43, 0x31, 0x37, 0x39, 0x42, 0x33, 0x46, 0x45})
+ }
+ m680(arg0, 716, 0, s6e7, "FE7CB391D650A284")
+ }
+ Case(3) { // Buffer
+ Store(Mid(b6e7, 1, 7), bf81)
+ m680(arg0, 717, 0, ObjectType(bf81), 14)
+ if (F64) {
+ m680(arg0, 718, 0, bf81, 0xfe7cb391d650a2)
+ } else {
+ m680(arg0, 719, 0, bf81, Buffer(8){0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0x00})
+ }
+ Store(Buffer() {0xFE, 0xB3, 0x79, 0xC1}, bf81)
+ m680(arg0, 720, 0, ObjectType(bf81), 14)
+ if (F64) {
+ m680(arg0, 721, 0, bf81, 0xc179b3fe)
+ } else {
+ m680(arg0, 722, 0, bf81, Buffer(8){0xFE, 0xB3, 0x79, 0xC1, 0x00, 0x00, 0x00, 0x00})
+ }
+ m680(arg0, 723, 0, b6e7, Buffer(8){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ }
+ Case(5) { // Field Unit
+ Store("Not implemented", Debug)
+ err(terr, z123, 724, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ Case(14) { // Buffer Field
+ Store("Not implemented", Debug)
+ err(terr, z123, 725, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ }
+ }
+ // Additionally can be implemented cases:
+ // Derefof of immediate Refof
+ // Derefof of intermediate Object
+ // Derefof of Reference returned by called Method
+ Default {
+ Store("Unexpected way to obtain some result Object", Debug)
+ err(terr, z123, 726, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ }
+ Return (0)
+ }
+
+ // Store() Result Object to Buffer Field Named Object
+ // case of the field, which is 69-bit long (bf82)
+ Method(m0e2, 3)
+ {
+ // ArgX as a way to obtain some result object
+ Method(m000, 5)
+ {
+ Switch(arg1) {
+ Case(1) { // Integer
+ Store(arg2, bf82)
+ m010(arg0, 130, 1)
+ m680(arg0, 727, 0, arg2, 0xfe7cb391d650a284)
+ }
+ Case(2) { // String
+ Store(arg3, bf82)
+ m020(arg0, 137, 1)
+ m680(arg0, 728, 0, arg3, "FE7CB391D650A284")
+ }
+ Case(3) { // Buffer
+ Store(arg4, bf82)
+ m030(arg0, 144, 1)
+ m680(arg0, 729, 0, arg4, Buffer(8){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ }
+ Case(5) { // Field Unit
+ Store("Not implemented", Debug)
+ err(terr, z123, 730, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ Case(14) { // Buffer Field
+ Store("Not implemented", Debug)
+ err(terr, z123, 731, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ }
+ Return (0)
+ }
+
+ // Reference in ArgX as a way to obtain some result object
+ Method(m001, 5)
+ {
+ Switch(arg1) {
+ Case(1) { // Integer
+ Store(Derefof(arg2), bf82)
+ m010(arg0, 153, 1)
+ m680(arg0, 732, 0, Derefof(arg2), 0xfe7cb391d650a284)
+ }
+ Case(2) { // String
+ Store(Derefof(arg3), bf82)
+ m020(arg0, 160, 1)
+ m680(arg0, 733, 0, Derefof(arg3), "FE7CB391D650A284")
+ }
+ Case(3) { // Buffer
+ Store(Derefof(arg4), bf82)
+ m030(arg0, 167, 1)
+ m680(arg0, 734, 0, Derefof(arg4), Buffer(8){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ }
+ Case(5) { // Field Unit
+ Store("Not implemented", Debug)
+ err(terr, z123, 735, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ Case(14) { // Buffer Field
+ Store("Not implemented", Debug)
+ err(terr, z123, 736, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ }
+ Return (0)
+ }
+
+ // Check storing of 0xfe7cb391d650a284 to bf82,
+ // optionally perform an additional update and check
+ // m010(<errmsg>, <errnum>, <flag>)
+ Method(m010, 3)
+ {
+ m680(arg0, arg1, 0, ObjectType(bf82), 14)
+ if (F64) {
+ m680(arg0, arg1, 1, bf82, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xb3, 0x7c, 0xfe, 0x00})
+ } else {
+ m680(arg0, arg1, 2, bf82, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x00, 0x00, 0x00, 0x00, 0x00})
+ }
+ if (arg2) {
+ Store(0xc179b3fe, bf82)
+ m680(arg0, arg1, 3, ObjectType(bf82), 14)
+ m680(arg0, arg1, 4, bf82, Buffer(9){0xFE, 0xB3, 0x79, 0xC1, 0x00, 0x00, 0x00, 0x00, 0x00})
+ }
+ }
+
+ // Check storing of "FE7CB391D650A284" to bf82,
+ // optionally perform an additional update and check
+ // m020(<errmsg>, <errnum>, <flag>)
+ Method(m020, 3)
+ {
+ m680(arg0, arg1, 0, ObjectType(bf82), 14)
+ m680(arg0, arg1, 1, bf82, Buffer(9){0x46, 0x45, 0x37, 0x43, 0x42, 0x33, 0x39, 0x31, 0x04})
+ if (arg2) {
+ Store("C179B3FE", bf82)
+ m680(arg0, arg1, 2, ObjectType(bf82), 14)
+ m680(arg0, arg1, 3, bf82, Buffer(9){0x43, 0x31, 0x37, 0x39, 0x42, 0x33, 0x46, 0x45, 0x00})
+ }
+ }
+
+ // Check storing of Buffer(){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}
+ // to bf82, optionally perform an additional update and check
+ // m030(<errmsg>, <errnum>, <flag>)
+ Method(m030, 3)
+ {
+ m680(arg0, arg1, 0, ObjectType(bf82), 14)
+ m680(arg0, arg1, 1, bf82, Buffer(9){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0x00})
+ if (arg2) {
+ Store(Buffer() {0xFE, 0xB3, 0x79, 0xC1}, bf82)
+ m680(arg0, arg1, 2, ObjectType(bf82), 14)
+ m680(arg0, arg1, 3, bf82, Buffer(9){0xFE, 0xB3, 0x79, 0xC1, 0x00, 0x00, 0x00, 0x00, 0x00})
+ }
+ }
+
+ // Fill the bytes range of the Buffer Field in the SourceBuffer
+ m683(b675, 110, 69, 0xa5)
+
+ // Choose a way to obtain some result object
+ Switch(arg1) {
+ Case(0) { // Data Image
+
+ // Choose a type of the result Object and specific source
+ // objects to obtain the result Object of the specified type.
+ // Check that the destination Object is properly initialized.
+ // Perform storing expression and check result.
+ Switch(arg2) {
+ Case(1) { // Integer
+ Store(0xfe7cb391d650a284, bf82)
+ m010(arg0, 176, 0)
+ }
+ Case(2) { // String
+ Store("FE7CB391D650A284", bf82)
+ m020(arg0, 182, 0)
+ }
+ Case(3) { // Buffer
+ Store(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, bf82)
+ m030(arg0, 188, 0)
+ }
+ Case(5) { // Field Unit
+ Store("Not implemented", Debug)
+ err(terr, z123, 737, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ Case(14) { // Buffer Field
+ Store("Not implemented", Debug)
+ err(terr, z123, 738, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ }
+ }
+ Case(1) { // Named Object
+ Switch(arg2) {
+ Case(1) { // Integer
+ Store(i6e4, bf82)
+ m010(arg0, 196, 1)
+ m680(arg0, 739, 0, i6e4, 0xfe7cb391d650a284)
+ }
+ Case(2) { // String
+ Store(s6e4, bf82)
+ m020(arg0, 203, 1)
+ m680(arg0, 740, 0, s6e4, "FE7CB391D650A284")
+ }
+ Case(3) { // Buffer
+ Store(b6e4, bf82)
+ m030(arg0, 210, 1)
+ m680(arg0, 741, 0, b6e4, Buffer(8){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ }
+ Case(5) { // Field Unit
+ Store("Not implemented", Debug)
+ err(terr, z123, 742, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ Case(14) { // Buffer Field
+ Store("Not implemented", Debug)
+ err(terr, z123, 743, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ }
+ }
+ Case(2) { // Method ArgX Object
+ m000(Concatenate(arg0, "-m000"), arg2,
+ 0xfe7cb391d650a284, "FE7CB391D650A284", Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ }
+ Case(3) { // Method LocalX Object
+ Switch(arg2) {
+ Case(1) { // Integer
+ Store(0xfe7cb391d650a284, Local0)
+ }
+ Case(2) { // String
+ Store("FE7CB391D650A284", Local0)
+ }
+ Case(3) { // Buffer
+ Store(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, Local0)
+ }
+ Case(5) { // Field Unit
+ Store("Not implemented", Debug)
+ err(terr, z123, 744, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ Case(14) { // Buffer Field
+ Store("Not implemented", Debug)
+ err(terr, z123, 745, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ }
+ Switch(arg2) {
+ Case(1) { // Integer
+ Store(Local0, bf82)
+ m010(arg0, 221, 1)
+ m680(arg0, 746, 0, Local0, 0xfe7cb391d650a284)
+ }
+ Case(2) { // String
+ Store(Local0, bf82)
+ m020(arg0, 228, 1)
+ m680(arg0, 747, 0, Local0, "FE7CB391D650A284")
+ }
+ Case(3) { // Buffer
+ Store(Local0, bf82)
+ m030(arg0, 235, 1)
+ m680(arg0, 748, 0, Local0, Buffer(8){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ }
+ }
+ }
+ Case(4) { // Derefof of intermediate Object (Method ArgX Object)
+ m001(Concatenate(arg0, "-m001"), arg2, Refof(i6e5), Refof(s6e5), Refof(b6e5))
+ }
+ Case(5) { // Derefof of immediate Index(...)
+ Switch(arg2) {
+ Case(1) { // Integer
+ Store(Derefof(Index(p690, 6)), bf82)
+ m010(arg0, 242, 1)
+ m680(arg0, 749, 0, Derefof(Index(p690, 6)), 0xfe7cb391d650a284)
+ }
+ Case(2) { // String
+ Store(Derefof(Index(p690, 7)), bf82)
+ m020(arg0, 249, 1)
+ m680(arg0, 750, 0, Derefof(Index(p690, 7)), "FE7CB391D650A284")
+ }
+ Case(3) { // Buffer
+ Store(Derefof(Index(p690, 8)), bf82)
+ m030(arg0, 256, 1)
+ m680(arg0, 751, 0, Derefof(Index(p690, 8)), Buffer(8){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ }
+ Case(5) { // Field Unit
+ Store("Not implemented", Debug)
+ err(terr, z123, 752, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ Case(14) { // Buffer Field
+ Store("Not implemented", Debug)
+ err(terr, z123, 753, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ }
+ }
+ Case(6) { // Derefof of Indexed Reference returned by called Method
+ Switch(arg2) {
+ Case(1) { // Integer
+ Store(Derefof(m681(p690, 9)), bf82)
+ m010(arg0, 265, 1)
+ m680(arg0, 754, 0, Derefof(Index(p690, 9)), 0xfe7cb391d650a284)
+ }
+ Case(2) { // String
+ Store(Derefof(m681(p690, 10)), bf82)
+ m020(arg0, 272, 1)
+ m680(arg0, 755, 0, Derefof(Index(p690, 10)), "FE7CB391D650A284")
+ }
+ Case(3) { // Buffer
+ Store(Derefof(m681(p690, 11)), bf82)
+ m030(arg0, 284, 1)
+ m680(arg0, 756, 0, Derefof(Index(p690, 11)), Buffer(8){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ }
+ Case(5) { // Field Unit
+ Store("Not implemented", Debug)
+ err(terr, z123, 757, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ Case(14) { // Buffer Field
+ Store("Not implemented", Debug)
+ err(terr, z123, 758, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ }
+ }
+ Case(7) { // Result Object returned by called Method
+ Switch(arg2) {
+ Case(1) { // Integer
+ Store(m682(arg2, 6), bf82)
+ m010(arg0, 293, 1)
+ m680(arg0, 759, 0, i6e6, 0xfe7cb391d650a284)
+ }
+ Case(2) { // String
+ Store(m682(arg2, 6), bf82)
+ m020(arg0, 305, 1)
+ m680(arg0, 760, 0, s6e6, "FE7CB391D650A284")
+ }
+ Case(3) { // Buffer
+ Store(m682(arg2, 6), bf82)
+ m030(arg0, 312, 1)
+ m680(arg0, 761, 0, b6e6, Buffer(8){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ }
+ Case(5) { // Field Unit
+ Store("Not implemented", Debug)
+ err(terr, z123, 762, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ Case(14) { // Buffer Field
+ Store("Not implemented", Debug)
+ err(terr, z123, 763, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ }
+ }
+ Case(8) { // Result Object returned by any Operator (Op):
+ // Add, Mid
+ Switch(arg2) {
+ Case(1) { // Integer
+ Store(Add(i6e7, 0), bf82)
+ m010(arg0, 316, 1)
+ m680(arg0, 764, 0, i6e7, 0xfe7cb391d650a284)
+ }
+ Case(2) { // String
+ Store(Mid(s6e7, 2, 14), bf82)
+ m680(arg0, 765, 0, ObjectType(bf82), 14)
+ m680(arg0, 766, 0, bf82, Buffer(9){0x37, 0x43, 0x42, 0x33, 0x39, 0x31, 0x44, 0x36, 0x15})
+ Store("C179B3FE", bf82)
+ m680(arg0, 767, 0, ObjectType(bf82), 14)
+ m680(arg0, 768, 0, bf82, Buffer(9){0x43, 0x31, 0x37, 0x39, 0x42, 0x33, 0x46, 0x45, 0x00})
+ m680(arg0, 769, 0, s6e7, "FE7CB391D650A284")
+ }
+ Case(3) { // Buffer
+ Store(Mid(b6e7, 1, 7), bf82)
+ m680(arg0, 770, 0, ObjectType(bf82), 14)
+ m680(arg0, 771, 0, bf82, Buffer(9){0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE, 0x00, 0x00})
+ Store(Buffer() {0xFE, 0xB3, 0x79, 0xC1}, bf82)
+ m680(arg0, 772, 0, ObjectType(bf82), 14)
+ m680(arg0, 773, 0, bf82, Buffer(9){0xFE, 0xB3, 0x79, 0xC1, 0x00, 0x00, 0x00, 0x00, 0x00})
+ m680(arg0, 774, 0, b6e7, Buffer(8){0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ }
+ Case(5) { // Field Unit
+ Store("Not implemented", Debug)
+ err(terr, z123, 775, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ Case(14) { // Buffer Field
+ Store("Not implemented", Debug)
+ err(terr, z123, 776, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ }
+ }
+ // Additionally can be implemented cases:
+ // Derefof of immediate Refof
+ // Derefof of intermediate Object
+ // Derefof of Reference returned by called Method
+ Default {
+ Store("Unexpected way to obtain some result Object", Debug)
+ err(terr, z123, 777, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ }
+ Return (0)
+ }
+
+ // Store() Result Object to String Method LocalX Object
+ Method(m023, 3)
+ {
+ // ArgX as a way to obtain some result object
+ Method(m000, 5)
+ {
+ Store("initial named string", Local1)
+
+ Switch(arg1) {
+ Case(1) { // Integer
+ m680(arg0, 778, 0, Local1, "initial named string")
+ Store(arg2, Local1)
+ if (F64) {
+ m680(arg0, 779, 0, Local1, 0xfe7cb391d650a284)
+ } else {
+ m680(arg0, 780, 0, Local1, 0xd650a284)
+ }
+ Store(0xc179b3fe, Local1)
+ m680(arg0, 781, 0, Local1, 0xc179b3fe)
+ m680(arg0, 782, 0, arg2, 0xfe7cb391d650a284)
+ }
+ Case(2) { // String
+ m680(arg0, 783, 0, Local1, "initial named string")
+ Store(arg3, Local1)
+ m680(arg0, 784, 0, Local1, "FE7CB391D650A284")
+ Store(0xb, Index(Local1, 3))
+ m680(arg0, 785, 0, Local1, "FE7\x0BB391D650A284")
+ m680(arg0, 786, 0, arg3, "FE7CB391D650A284")
+ }
+ Case(3) { // Buffer
+ m680(arg0, 787, 0, Local1, "initial named string")
+ Store(arg4, Local1)
+ m680(arg0, 788, 0, Local1, Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ Store(0xb, Index(Local1, 3))
+ m680(arg0, 789, 0, Local1, Buffer() {0x84, 0xA2, 0x50, 0x0B, 0x91, 0xB3, 0x7C, 0xFE})
+ m680(arg0, 790, 0, arg4, Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ }
+ Case(5) { // Field Unit
+ Store("Not implemented", Debug)
+ err(terr, z123, 791, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ Case(14) { // Buffer Field
+ Store("Not implemented", Debug)
+ err(terr, z123, 792, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ }
+ Return (0)
+ }
+
+ // Reference in ArgX as a way to obtain some result object
+ Method(m001, 5)
+ {
+ Store("initial named string", Local1)
+
+ Switch(arg1) {
+ Case(1) { // Integer
+ m680(arg0, 793, 0, Local1, "initial named string")
+ Store(Derefof(arg2), Local1)
+ if (F64) {
+ m680(arg0, 794, 0, Local1, 0xfe7cb391d650a284)
+ } else {
+ m680(arg0, 795, 0, Local1, 0xd650a284)
+ }
+ Store(0xc179b3fe, Local1)
+ m680(arg0, 796, 0, Local1, 0xc179b3fe)
+ m680(arg0, 797, 0, Derefof(arg2), 0xfe7cb391d650a284)
+ }
+ Case(2) { // String
+ m680(arg0, 798, 0, Local1, "initial named string")
+ Store(Derefof(arg3), Local1)
+ m680(arg0, 799, 0, Local1, "FE7CB391D650A284")
+ Store(0xb, Index(Local1, 3))
+ m680(arg0, 800, 0, Local1, "FE7\x0BB391D650A284")
+ m680(arg0, 801, 0, Derefof(arg3), "FE7CB391D650A284")
+ }
+ Case(3) { // Buffer
+ m680(arg0, 802, 0, Local1, "initial named string")
+ Store(Derefof(arg4), Local1)
+ m680(arg0, 803, 0, Local1, Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ Store(0xb, Index(Local1, 3))
+ m680(arg0, 804, 0, Local1, Buffer() {0x84, 0xA2, 0x50, 0x0B, 0x91, 0xB3, 0x7C, 0xFE})
+ m680(arg0, 805, 0, Derefof(arg4), Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ }
+ Case(5) { // Field Unit
+ Store("Not implemented", Debug)
+ err(terr, z123, 806, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ Case(14) { // Buffer Field
+ Store("Not implemented", Debug)
+ err(terr, z123, 807, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ }
+ Return (0)
+ }
+
+ Store("initial named string", Local1)
+
+ // Choose a way to obtain some result object
+ Switch(arg1) {
+ Case(0) { // Data Image
+
+ // Choose a type of the result Object and specific source
+ // objects to obtain the result Object of the specified type.
+ // Check that the destination Object is properly initialized.
+ // Perform storing expression and check result.
+ Switch(arg2) {
+ Case(1) { // Integer
+ m680(arg0, 808, 0, Local1, "initial named string")
+ Store(0xfe7cb391d650a284, Local1)
+ if (F64) {
+ m680(arg0, 809, 0, Local1, 0xfe7cb391d650a284)
+ } else {
+ m680(arg0, 810, 0, Local1, 0xd650a284)
+ }
+ }
+ Case(2) { // String
+ m680(arg0, 811, 0, Local1, "initial named string")
+ Store("FE7CB391D650A284", Local1)
+ m680(arg0, 812, 0, Local1, "FE7CB391D650A284")
+ }
+ Case(3) { // Buffer
+ m680(arg0, 813, 0, Local1, "initial named string")
+ Store(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, Local1)
+ m680(arg0, 814, 0, Local1, Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ }
+ Case(5) { // Field Unit
+ Store("Not implemented", Debug)
+ err(terr, z123, 815, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ Case(14) { // Buffer Field
+ Store("Not implemented", Debug)
+ err(terr, z123, 816, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ }
+ }
+ Case(1) { // Named Object
+ Switch(arg2) {
+ Case(1) { // Integer
+ m680(arg0, 817, 0, Local1, "initial named string")
+ Store(i6e4, Local1)
+ if (F64) {
+ m680(arg0, 818, 0, Local1, 0xfe7cb391d650a284)
+ } else {
+ m680(arg0, 819, 0, Local1, 0xd650a284)
+ }
+ Store(0xc179b3fe, Local1)
+ m680(arg0, 820, 0, Local1, 0xc179b3fe)
+ m680(arg0, 821, 0, i6e4, 0xfe7cb391d650a284)
+ }
+ Case(2) { // String
+ m680(arg0, 822, 0, Local1, "initial named string")
+ Store(s6e4, Local1)
+ m680(arg0, 823, 0, Local1, "FE7CB391D650A284")
+ Store(0xb, Index(Local1, 3))
+ m680(arg0, 824, 0, Local1, "FE7\x0BB391D650A284")
+ m680(arg0, 825, 0, s6e4, "FE7CB391D650A284")
+ }
+ Case(3) { // Buffer
+ m680(arg0, 826, 0, Local1, "initial named string")
+ Store(b6e4, Local1)
+ m680(arg0, 827, 0, Local1, Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ Store(0xb, Index(Local1, 3))
+ m680(arg0, 828, 0, Local1, Buffer() {0x84, 0xA2, 0x50, 0x0B, 0x91, 0xB3, 0x7C, 0xFE})
+ m680(arg0, 829, 0, b6e4, Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ }
+ Default {
+ Store("Unexpected type of the result Object to be stored", Debug)
+ err(terr, z123, 830, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ }
+ }
+ Case(2) { // Method ArgX Object
+ m000(Concatenate(arg0, "-m000"), arg2,
+ 0xfe7cb391d650a284, "FE7CB391D650A284", Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ }
+ Case(3) { // Method LocalX Object
+ Switch(arg2) {
+ Case(0) { // Stuff
+ Return (0)
+ }
+ Case(1) { // Integer
+ Store(0xfe7cb391d650a284, Local0)
+ }
+ Case(2) { // String
+ Store("FE7CB391D650A284", Local0)
+ }
+ Case(3) { // Buffer
+ Store(Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE}, Local0)
+ }
+ Case(5) { // Field Unit
+ Store("Not implemented", Debug)
+ err(terr, z123, 831, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ Case(14) { // Buffer Field
+ Store("Not implemented", Debug)
+ err(terr, z123, 832, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ }
+ Switch(arg2) {
+ Case(1) { // Integer
+ m680(arg0, 833, 0, Local1, "initial named string")
+ Store(Local0, Local1)
+ if (F64) {
+ m680(arg0, 834, 0, Local1, 0xfe7cb391d650a284)
+ } else {
+ m680(arg0, 835, 0, Local1, 0xd650a284)
+ }
+ Store(0xc179b3fe, Local1)
+ m680(arg0, 836, 0, Local1, 0xc179b3fe)
+ m680(arg0, 837, 0, Local0, 0xfe7cb391d650a284)
+ }
+ Case(2) { // String
+ m680(arg0, 838, 0, Local1, "initial named string")
+ Store(Local0, Local1)
+ m680(arg0, 839, 0, Local1, "FE7CB391D650A284")
+ Store(0xb, Index(Local1, 3))
+ m680(arg0, 840, 0, Local1, "FE7\x0BB391D650A284")
+ m680(arg0, 841, 0, Local0, "FE7CB391D650A284")
+ }
+ Case(3) { // Buffer
+ m680(arg0, 842, 0, Local1, "initial named string")
+ Store(Local0, Local1)
+ m680(arg0, 843, 0, Local1, Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ Store(0xb, Index(Local1, 3))
+ m680(arg0, 844, 0, Local1, Buffer() {0x84, 0xA2, 0x50, 0x0B, 0x91, 0xB3, 0x7C, 0xFE})
+ m680(arg0, 845, 0, Local0, Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ }
+ }
+ }
+ Case(4) { // Derefof of intermediate Object (Method ArgX Object)
+ m001(Concatenate(arg0, "-m001"), arg2, Refof(i6e5), Refof(s6e5), Refof(b6e5))
+ }
+ Case(5) { // Derefof of immediate Index(...)
+ Switch(arg2) {
+ Case(1) { // Integer
+ m680(arg0, 846, 0, Local1, "initial named string")
+ Store(Derefof(Index(p690, 6)), Local1)
+ if (F64) {
+ m680(arg0, 847, 0, Local1, 0xfe7cb391d650a284)
+ } else {
+ m680(arg0, 848, 0, Local1, 0xd650a284)
+ }
+ Store(0xc179b3fe, Local1)
+ m680(arg0, 849, 0, Local1, 0xc179b3fe)
+ m680(arg0, 850, 0, Derefof(Index(p690, 6)), 0xfe7cb391d650a284)
+ }
+ Case(2) { // String
+ m680(arg0, 851, 0, Local1, "initial named string")
+ Store(Derefof(Index(p690, 7)), Local1)
+ m680(arg0, 852, 0, Local1, "FE7CB391D650A284")
+ Store(0xb, Index(Local1, 3))
+ m680(arg0, 853, 0, Local1, "FE7\x0BB391D650A284")
+ m680(arg0, 854, 0, Derefof(Index(p690, 7)), "FE7CB391D650A284")
+ }
+ Case(3) { // Buffer
+ m680(arg0, 855, 0, Local1, "initial named string")
+ Store(Derefof(Index(p690, 8)), Local1)
+ m680(arg0, 856, 0, Local1, Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ Store(0xb, Index(Local1, 3))
+ m680(arg0, 857, 0, Local1, Buffer() {0x84, 0xA2, 0x50, 0x0B, 0x91, 0xB3, 0x7C, 0xFE})
+ m680(arg0, 858, 0, Derefof(Index(p690, 8)), Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ }
+ Case(5) { // Field Unit
+ Store("Not implemented", Debug)
+ err(terr, z123, 859, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ Case(14) { // Buffer Field
+ Store("Not implemented", Debug)
+ err(terr, z123, 860, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ }
+ }
+ Case(6) { // Derefof of Indexed Reference returned by called Method
+ Switch(arg2) {
+ Case(1) { // Integer
+ m680(arg0, 861, 0, Local1, "initial named string")
+ Store(Derefof(m681(p690, 9)), Local1)
+ if (F64) {
+ m680(arg0, 862, 0, Local1, 0xfe7cb391d650a284)
+ } else {
+ m680(arg0, 863, 0, Local1, 0xd650a284)
+ }
+ Store(0xc179b3fe, Local1)
+ m680(arg0, 864, 0, Local1, 0xc179b3fe)
+ m680(arg0, 865, 0, Derefof(Index(p690, 9)), 0xfe7cb391d650a284)
+ }
+ Case(2) { // String
+ m680(arg0, 866, 0, Local1, "initial named string")
+ Store(Derefof(m681(p690, 10)), Local1)
+ m680(arg0, 867, 0, Local1, "FE7CB391D650A284")
+ Store(0xb, Index(Local1, 3))
+ m680(arg0, 868, 0, Local1, "FE7\x0BB391D650A284")
+ m680(arg0, 869, 0, Derefof(Index(p690, 10)), "FE7CB391D650A284")
+ }
+ Case(3) { // Buffer
+ m680(arg0, 870, 0, Local1, "initial named string")
+ Store(Derefof(m681(p690, 11)), Local1)
+ m680(arg0, 871, 0, Local1, Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ Store(0xb, Index(Local1, 3))
+ m680(arg0, 872, 0, Local1, Buffer() {0x84, 0xA2, 0x50, 0x0B, 0x91, 0xB3, 0x7C, 0xFE})
+ m680(arg0, 873, 0, Derefof(Index(p690, 11)), Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ }
+ }
+ }
+ Case(7) { // Result Object returned by called Method
+ Switch(arg2) {
+ Case(1) { // Integer
+ m680(arg0, 874, 0, Local1, "initial named string")
+ Store(m682(arg2, 6), Local1)
+ if (F64) {
+ m680(arg0, 875, 0, Local1, 0xfe7cb391d650a284)
+ } else {
+ m680(arg0, 876, 0, Local1, 0xd650a284)
+ }
+ Store(0xc179b3fe, Local1)
+ m680(arg0, 877, 0, Local1, 0xc179b3fe)
+ m680(arg0, 878, 0, i6e6, 0xfe7cb391d650a284)
+ }
+ Case(2) { // String
+ m680(arg0, 879, 0, Local1, "initial named string")
+ Store(m682(arg2, 6), Local1)
+ m680(arg0, 880, 0, Local1, "FE7CB391D650A284")
+ Store(0xb, Index(Local1, 3))
+ m680(arg0, 881, 0, Local1, "FE7\x0BB391D650A284")
+ m680(arg0, 882, 0, s6e6, "FE7CB391D650A284")
+ }
+ Case(3) { // Buffer
+ m680(arg0, 883, 0, Local1, "initial named string")
+ Store(m682(arg2, 6), Local1)
+ m680(arg0, 884, 0, Local1, Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ Store(0xb, Index(Local1, 3))
+ m680(arg0, 885, 0, Local1, Buffer() {0x84, 0xA2, 0x50, 0x0B, 0x91, 0xB3, 0x7C, 0xFE})
+ m680(arg0, 886, 0, b6e6, Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ }
+ Case(5) { // Field Unit
+ Store("Not implemented", Debug)
+ err(terr, z123, 887, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ Case(14) { // Buffer Field
+ Store("Not implemented", Debug)
+ err(terr, z123, 888, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ }
+ }
+ Case(8) { // Result Object returned by any Operator (Op):
+ // Add, Mid
+ Switch(arg2) {
+ Case(1) { // Integer
+ m680(arg0, 889, 0, Local1, "initial named string")
+ Store(Add(i6e7, 0), Local1)
+ if (F64) {
+ m680(arg0, 890, 0, Local1, 0xfe7cb391d650a284)
+ } else {
+ m680(arg0, 891, 0, Local1, 0xd650a284)
+ }
+ Store(0xc179b3fe, Local1)
+ m680(arg0, 892, 0, Local1, 0xc179b3fe)
+ m680(arg0, 893, 0, i6e7, 0xfe7cb391d650a284)
+ }
+ Case(2) { // String
+ m680(arg0, 894, 0, Local1, "initial named string")
+ Store(Mid(s6e7, 2, 14), Local1)
+ m680(arg0, 895, 0, Local1, "7CB391D650A284")
+ Store(0xb, Index(Local1, 3))
+ m680(arg0, 896, 0, Local1, "7CB\x0B91D650A284")
+ m680(arg0, 897, 0, s6e7, "FE7CB391D650A284")
+ }
+ Case(3) { // Buffer
+ m680(arg0, 898, 0, Local1, "initial named string")
+ Store(Mid(b6e7, 1, 7), Local1)
+ m680(arg0, 899, 0, Local1, Buffer() {0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ Store(0xb, Index(Local1, 3))
+ m680(arg0, 900, 0, Local1, Buffer() {0xA2, 0x50, 0xD6, 0x0B, 0xB3, 0x7C, 0xFE})
+ m680(arg0, 901, 0, b6e7, Buffer() {0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE})
+ }
+ Case(5) { // Field Unit
+ Store("Not implemented", Debug)
+ err(terr, z123, 902, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ Case(14) { // Buffer Field
+ Store("Not implemented", Debug)
+ err(terr, z123, 903, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ }
+ }
+ // Additionally can be implemented cases:
+ // Derefof of immediate Refof
+ // Derefof of intermediate Object
+ // Derefof of Reference returned by called Method
+ Default {
+ Store("Unexpected way to obtain some result Object", Debug)
+ err(terr, z123, 904, 0, 0, arg1, arg2)
+ Return (1)
+ }
+ }
+ Return (0)
+ }
+
+ m100(Concatenate(ts, "-m100-S-IntC"),
+ 1, 0)
+
+ m100(Concatenate(ts, "-m100-S-IntN"),
+ 1, 1)
+
+ m100(Concatenate(ts, "-m100-S-IntL"),
+ 1, 3)
+
+ m100(Concatenate(ts, "-m100-S-StrN"),
+ 2, 1)
+
+ m100(Concatenate(ts, "-m100-S-StrL"),
+ 2, 3)
+
+ m100(Concatenate(ts, "-m100-S-BufN"),
+ 3, 1)
+
+ m100(Concatenate(ts, "-m100-S-BFldN"),
+ 14, 1)
+}
+
+// Run-method
+Method(RES0)
+{
+ Store("TEST: RES0, Result Object processing in Store operator", Debug)
+
+ // Check storing of immediate Source Objects by Store()
+ m689("RES0-m689", 0, 0)
+
+ // Store() to Global Named Objects, Constant and LocalX
+ m690()
+}
+
diff --git a/tests/aslts/src/runtime/collections/exceptions/FULL/DECL.asl b/tests/aslts/src/runtime/collections/exceptions/FULL/DECL.asl
new file mode 100644
index 000000000..d47d5e681
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/exceptions/FULL/DECL.asl
@@ -0,0 +1,59 @@
+/*
+ * 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.
+ */
+
+// Exceptional conditions tests collection
+
+Include("../../../../runtime/collections/exceptions/exc/exc.asl")
+Include("../../../../runtime/collections/exceptions/exc_result/exc_result1/exc_result1.asl")
+Include("../../../../runtime/collections/complex/result/common/rcommon.asl")
+Include("../../../../runtime/collections/complex/result/tests/rindecrement/rindecrement.asl")
+Include("../../../../runtime/collections/complex/result/tests/rexplicitconv/rexplicitconv.asl")
+Include("../../../../runtime/collections/complex/result/tests/roptional/roptional.asl")
+Include("../../../../runtime/collections/exceptions/exc_result/exc_result2/exc_result2.asl")
+Include("../../../../runtime/collections/functional/reference/ref70.asl")
+Include("../../../../runtime/collections/functional/reference/ref71.asl")
+
+Include("../../../../runtime/collections/exceptions/exc_operand/exc_operand1/exc_operand1.asl")
+Include("../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_operand2.asl")
+Include("../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_00_undef.asl")
+Include("../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_01_int.asl")
+Include("../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_02_str.asl")
+Include("../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_03_buf.asl")
+Include("../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_04_pckg.asl")
+Include("../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_05_funit.asl")
+Include("../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_06_dev.asl")
+Include("../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_07_event.asl")
+Include("../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_08_method.asl")
+Include("../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_09_mux.asl")
+Include("../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_10_oreg.asl")
+Include("../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_11_pwr.asl")
+Include("../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_12_proc.asl")
+Include("../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_13_tzone.asl")
+Include("../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_14_bfield.asl")
diff --git a/tests/aslts/src/runtime/collections/exceptions/FULL/MAIN.asl b/tests/aslts/src/runtime/collections/exceptions/FULL/MAIN.asl
new file mode 100644
index 000000000..d0122fdfc
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/exceptions/FULL/MAIN.asl
@@ -0,0 +1,65 @@
+/*
+ * 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.
+ */
+
+// Run exceptional conditions tests collection
+
+DefinitionBlock(
+ "exceptions.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../runtime/cntl/DECL.asl")
+ Include("../../../../runtime/common/data.asl")
+ Include("../../../../runtime/common/dataproc.asl")
+ Include("../../../../runtime/common/datastproc.asl")
+ Include("../../../../runtime/common/conversion/oDECL.asl")
+ Include("../../../../runtime/common/conversion/rDECL.asl")
+ Include("../../../../runtime/collections/exceptions/FULL/DECL.asl")
+ Include("../../../../runtime/collections/functional/reference/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(1)
+
+ // Run verification methods
+ Include("../../../../runtime/collections/exceptions/FULL/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/exceptions/FULL/RUN.asl b/tests/aslts/src/runtime/collections/exceptions/FULL/RUN.asl
new file mode 100644
index 000000000..80595707b
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/exceptions/FULL/RUN.asl
@@ -0,0 +1,39 @@
+/*
+ * 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.
+ */
+
+Store("COLLECTION: all exceptional conditions complex tests", Debug)
+
+Include("../../../../runtime/collections/exceptions/exc/RUN.asl")
+Include("../../../../runtime/collections/exceptions/exc_result/exc_result1/RUN.asl")
+Include("../../../../runtime/collections/exceptions/exc_result/exc_result2/RUN.asl")
+Include("../../../../runtime/collections/exceptions/exc_ref/RUN.asl")
+
+Include("../../../../runtime/collections/exceptions/exc_operand/exc_operand1/RUN.asl")
+Include("../../../../runtime/collections/exceptions/exc_operand/exc_operand2/RUN.asl")
diff --git a/tests/aslts/src/runtime/collections/exceptions/Makefile b/tests/aslts/src/runtime/collections/exceptions/Makefile
new file mode 100644
index 000000000..7dc4e6cbb
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/exceptions/Makefile
@@ -0,0 +1,13 @@
+# exceptions
+
+MDIRS = \
+ exc \
+ exc_operand \
+ exc_ref \
+ exc_tbl \
+ exc_result
+
+# FULL
+
+TOP= ../../../..
+include $(TOP)/Makefile.switch
diff --git a/tests/aslts/src/runtime/collections/exceptions/README b/tests/aslts/src/runtime/collections/exceptions/README
new file mode 100644
index 000000000..9309eade1
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/exceptions/README
@@ -0,0 +1,30 @@
+
+CONTENTS
+
+ exceptional conditions test collection
+
+exc
+
+ initiate and verify exceptional conditions
+
+exc_operand
+
+ exceptions caused by inappropriate type of operands
+
+exc_result
+
+ exceptions caused by inappropriate type of destination
+
+exc_ref
+
+ exceptions caused by inappropriate use of references
+
+exc_tbl
+
+ exceptions caused by inappropriate use of table management
+
+FULL
+
+ full the exceptional conditions test collection - all
+ the tests of the exceptional conditions test collection
+ are compiled together as one DefinitionBlock
diff --git a/tests/aslts/src/runtime/collections/exceptions/exc/MAIN.asl b/tests/aslts/src/runtime/collections/exceptions/exc/MAIN.asl
new file mode 100644
index 000000000..de3abc3a7
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/exceptions/exc/MAIN.asl
@@ -0,0 +1,62 @@
+/*
+ * 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.
+ */
+
+// Run exceptional conditions complex test
+
+DefinitionBlock(
+ "exc.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../runtime/cntl/DECL.asl")
+ Include("../../../../runtime/common/data.asl")
+ Include("../../../../runtime/collections/exceptions/exc/exc.asl")
+ Include("../../../../runtime/collections/functional/reference/ref71.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+
+ Include("../../../../runtime/collections/exceptions/exc/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/exceptions/exc/Makefile b/tests/aslts/src/runtime/collections/exceptions/exc/Makefile
new file mode 100644
index 000000000..f48c15629
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/exceptions/exc/Makefile
@@ -0,0 +1,7 @@
+# exc
+
+AMLMOD= exc
+COLL= ../..
+
+TOP= $(COLL)/../../..
+include $(COLL)/Makefile.install
diff --git a/tests/aslts/src/runtime/collections/exceptions/exc/RUN.asl b/tests/aslts/src/runtime/collections/exceptions/exc/RUN.asl
new file mode 100644
index 000000000..97b51a492
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/exceptions/exc/RUN.asl
@@ -0,0 +1,35 @@
+/*
+ * 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.
+ */
+
+
+if (STTT("Initiate and verify exceptional conditions", TCLE, 0, W013)) {
+ EXCP()
+}
+FTTT()
diff --git a/tests/aslts/src/runtime/collections/exceptions/exc/exc.asl b/tests/aslts/src/runtime/collections/exceptions/exc/exc.asl
new file mode 100644
index 000000000..c3af36573
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/exceptions/exc/exc.asl
@@ -0,0 +1,1549 @@
+/*
+ * 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.
+ */
+
+/*
+ * Initiate exceptional conditions by all the known ways.
+ * Verify the reaction.
+ *
+ * Current max index of checking is 170
+ */
+
+Name(z058, 58)
+
+// Divide by zero
+Method(m140)
+{
+ Name(ts, "m140")
+
+ CH03(ts, z058, 0, 0, 0)
+
+ Store(1, Local1)
+ Store(2, Local0)
+ Divide(Local1, Local0, Local2)
+
+ CH03(ts, z058, 1, 0, 0)
+
+ Store(0, Local0)
+ Divide(Local1, Local0, Local2)
+
+ CH04(ts, 0, 56, z058, 2, 0, 0) // AE_AML_DIVIDE_BY_ZERO
+
+ Store(2, Local0)
+ Divide(Local1, Local0, Local2)
+
+ CH03(ts, z058, 3, 0, 0)
+}
+
+// Modulo divide by zero
+Method(m141)
+{
+ Name(ts, "m141")
+
+ CH03(ts, z058, 4, 0, 0)
+
+ Store(1, Local1)
+ Store(2, Local0)
+ Mod(Local1, Local0, Local2)
+
+ CH03(ts, z058, 5, 0, 0)
+
+ Store(0, Local0)
+ Mod(Local1, Local0, Local2)
+
+ CH04(ts, 0, 56, z058, 6, 0, 0) // AE_AML_DIVIDE_BY_ZERO
+
+ Store(2, Local0)
+ Mod(Local1, Local0, Local2)
+
+ CH03(ts, z058, 7, 0, 0)
+}
+
+// Release ownership on a Mutex that is not currently owned
+Method(m142)
+{
+ Name(ts, "m142")
+
+ Mutex(MTX0, 0)
+
+ CH03(ts, z058, 8, 0, 0)
+
+ Release(MTX0)
+
+ CH04(ts, 0, 65, z058, 9, 0, 0) // AE_AML_MUTEX_NOT_ACQUIRED
+}
+
+// SizeOf for data types not an Integer, Buffer, String or Package object
+Method(m143)
+{
+ Name(ts, "m143")
+
+ // Method
+ // DDB Handle
+ // Debug Object
+ // Uninitialized
+
+
+ // Integer
+ Name(INT0, 0)
+
+ // String
+ Name(STR0, "string")
+
+ // Buffer
+ Name(BUF0, Buffer(10) {0x00})
+
+ // Package
+ Name(PAC0, Package(1) {0})
+
+ // Device
+ Device(DEV0) {}
+
+ // Event
+ Event(EVE0)
+
+ // Mutex
+ Mutex(MTX0, 0)
+
+ // Operation Region
+ OperationRegion(OPR0, SystemMemory, 0, 4)
+
+ // Power Resource
+ PowerResource(PWR0, 0, 0) {}
+
+ // Processor
+ Processor(CPU0, 0x0, 0xFFFFFFFF, 0x0) {}
+
+ // Thermal Zone
+ ThermalZone(TZN0) {}
+
+ // Buffer Field
+ Index(BUF0, 0, Local0)
+
+ CH03(ts, z058, 10, 0, 0)
+
+ SizeOf (STR0)
+ SizeOf (BUF0)
+ SizeOf (PAC0)
+ SizeOf (INT0)
+
+ CH03(ts, z058, 11, 0, 0)
+
+ if (INT0) {
+ Store(0, Local1)
+ }
+ SizeOf (Local1)
+ CH04(ts, 0, 49, z058, 12, 0, 0) // AE_AML_UNINITIALIZED_LOCAL
+
+ SizeOf (DEV0)
+ CH04(ts, 0, 47, z058, 13, 0, 0) // AE_AML_OPERAND_TYPE
+
+ SizeOf (EVE0)
+ CH04(ts, 0, 47, z058, 14, 0, 0) // AE_AML_OPERAND_TYPE
+
+ SizeOf (MTX0)
+ CH04(ts, 0, 47, z058, 15, 0, 0) // AE_AML_OPERAND_TYPE
+
+ SizeOf (OPR0)
+ CH04(ts, 0, 47, z058, 16, 0, 0) // AE_AML_OPERAND_TYPE
+
+ SizeOf (PWR0)
+ CH04(ts, 0, 47, z058, 17, 0, 0) // AE_AML_OPERAND_TYPE
+
+ SizeOf (CPU0)
+ CH04(ts, 0, 47, z058, 18, 0, 0) // AE_AML_OPERAND_TYPE
+
+ SizeOf (TZN0)
+ CH04(ts, 0, 47, z058, 19, 0, 0) // AE_AML_OPERAND_TYPE
+}
+
+// ToString() when the number of characters copied from buffer exceeds 200
+Method(m144)
+{
+ Name(ts, "m144")
+
+ Name(b000, Buffer(200){})
+
+ Store(0, Local0)
+ While (LLess(Local0, 200)) {
+ Store(0xff, Index(b000, Local0))
+ Increment(Local0)
+ }
+
+ CH03(ts, z058, 20, 0, 0)
+
+ ToString(b000, Ones)
+
+ CH03(ts, z058, 21, 0, 0)
+
+ Name(b001, Buffer(201){})
+
+ Store(0, Local0)
+ While (LLess(Local0, 201)) {
+ Store(0xff, Index(b001, Local0))
+ Increment(Local0)
+ }
+
+ ToString(b001, Ones)
+
+ /*
+ * CH04(ts, 0, 61, z058, 22, 0, 0) // AE_AML_STRING_LIMIT
+ *
+ * 20.12.2005.
+ * No more limit of string size.
+ */
+ CH03(ts, z058, 22, 0, 0)
+}
+
+// Access out of Package
+Method(m145)
+{
+ Name(ts, "m145")
+
+ Name(p000, Package() {0,1,2})
+ Name(p001, Package(3) {0,1,2})
+
+ CH03(ts, z058, 23, 0, 0)
+
+ // Package()
+
+ Index(p000, 2)
+
+ CH03(ts, z058, 24, 0, 0)
+
+ Index(p000, 3)
+
+ CH04(ts, 0, 55, z058, 25, 0, 0) // AE_AML_PACKAGE_LIMIT
+
+ Index(p000, 2, Local0)
+
+ CH03(ts, z058, 26, 0, 0)
+
+ Index(p000, 3, Local0)
+
+ CH04(ts, 0, 55, z058, 27, 0, 0) // AE_AML_PACKAGE_LIMIT
+
+ // Package(3)
+
+ Index(p001, 2)
+
+ CH03(ts, z058, 28, 0, 0)
+
+ Index(p001, 3)
+
+ CH04(ts, 0, 55, z058, 29, 0, 0) // AE_AML_PACKAGE_LIMIT
+
+ Index(p001, 2, Local0)
+
+ CH03(ts, z058, 30, 0, 0)
+
+ Index(p001, 3, Local0)
+
+ CH04(ts, 0, 55, z058, 31, 0, 0) // AE_AML_PACKAGE_LIMIT
+}
+
+// Access out of String
+Method(m085)
+{
+ Name(ts, "m085")
+
+ Name(s000, "123")
+
+ CH03(ts, z058, 32, 0, 0)
+
+ Index(s000, 2)
+
+ CH03(ts, z058, 33, 0, 0)
+
+ Index(s000, 3)
+
+ // Bug 177, Bugzilla 5480.
+ CH04(ts, 0, 61, z058, 34, 0, 0) // AE_AML_STRING_LIMIT
+
+ Index(s000, 2, Local0)
+
+ CH03(ts, z058, 35, 0, 0)
+
+ Index(s000, 3, Local0)
+
+ CH04(ts, 0, 61, z058, 36, 0, 0) // AE_AML_STRING_LIMIT
+}
+
+// Access out of Buffer
+Method(m086)
+{
+ Name(ts, "m086")
+
+ Name(b000, Buffer() {0,1,2})
+ Name(b001, Buffer(3) {0,1,2})
+
+ CH03(ts, z058, 37, 0, 0)
+
+ // Buffer()
+
+ Index(b000, 2)
+
+ CH03(ts, z058, 38, 0, 0)
+
+ Index(b000, 3)
+
+ CH04(ts, 0, 54, z058, 39, 0, 0) // AE_AML_BUFFER_LIMIT
+
+ Index(b000, 2, Local0)
+
+ CH03(ts, z058, 40, 0, 0)
+
+ Index(b000, 3, Local0)
+
+ CH04(ts, 0, 54, z058, 41, 0, 0) // AE_AML_BUFFER_LIMIT
+
+ // Buffer(3)
+
+ Index(b001, 2)
+
+ CH03(ts, z058, 42, 0, 0)
+
+ Index(b001, 3)
+
+ CH04(ts, 0, 54, z058, 43, 0, 0) // AE_AML_BUFFER_LIMIT
+
+ Index(b001, 2, Local0)
+
+ CH03(ts, z058, 44, 0, 0)
+
+ Index(b001, 3, Local0)
+
+ CH04(ts, 0, 54, z058, 45, 0, 0) // AE_AML_BUFFER_LIMIT
+}
+
+// ToInteger() passed with an image of a number which value
+// exceeds the maximum of an integer for the current mode.
+Method(m146)
+{
+ Name(ts, "m146")
+
+ CH03(ts, z058, 46, 0, 0)
+
+ if (LEqual(F64, 1)) {
+ Store("0xffffffffffffffff", Local0)
+ } else {
+ Store("0xffffffff", Local0)
+ }
+ ToInteger(Local0)
+
+ CH03(ts, z058, 47, 0, 0)
+
+ if (LEqual(F64, 1)) {
+ Store("0x11111111111111111", Local0)
+ } else {
+ Store("0x111111111", Local0)
+ }
+ ToInteger(Local0)
+
+ CH04(ts, 0, 46, z058, 48, 0, 0) // AE_AML_NO_OPERAND
+}
+
+// [Uninitialized] None.
+// Causes a fatal error when used as a source
+// operand in any ASL statement.
+Method(m147, 1)
+{
+ Name(ts, "m147")
+
+ if (Arg0) {
+ Store(0, Local0)
+ }
+
+ CH03(ts, z058, 49, 0, 0)
+
+ Increment(Local0)
+
+ CH04(ts, 0, 49, z058, 50, 0, 0) // AE_AML_UNINITIALIZED_LOCAL
+}
+
+Method(m148)
+{
+ m147(0)
+}
+
+// Stall, Time parameter is too large (> 100)
+
+Method(m149, 1)
+{
+ Name(ts, "m149")
+
+ CH03(ts, z058, 51, 0, 0)
+
+ Stall(Arg0)
+
+ CH03(ts, z058, 52, 0, 0)
+}
+
+Method(m14a, 1)
+{
+ Name(ts, "m14a")
+
+ CH03(ts, z058, 53, 0, 0)
+
+ Stall(Arg0)
+
+ // It is now bug 14.
+ CH04(ts, 0, 48, z058, 54, 0, 0) // AE_AML_OPERAND_VALUE
+}
+
+// Bug 14.
+Method(m14b)
+{
+ m149(100)
+ m14a(101)
+}
+
+// Concatenate() when the number of result characters in string exceeds 200
+Method(m14c)
+{
+ Name(ts, "m14c")
+
+ // 100 characters
+ Store("0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789", Local0)
+
+ // 101 characters
+ Store("01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890", Local1)
+
+ CH03(ts, z058, 55, 0, 0)
+
+ Concatenate(Local0, Local0)
+
+ CH03(ts, z058, 56, 0, 0)
+
+ Concatenate(Local0, Local1)
+
+ /*
+ * CH04(ts, 0, 61, z058, 57, 0, 0) // AE_AML_STRING_LIMIT
+ *
+ * 20.12.2005.
+ * No more limit of string size.
+ */
+
+ CH03(ts, z058, 57, 0, 0)
+}
+
+// ToDecimalString() when the number of result characters in string exceeds 200
+Method(m14d)
+{
+ Name(ts, "m14d")
+
+ // Results into 200 (99 * 2 + 2) characters
+ Name(b000, Buffer() {
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 11})
+
+ // Results into 201 (100 * 2 + 1) characters
+ Name(b001, Buffer() {
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1})
+
+ CH03(ts, z058, 58, 0, 0)
+
+ ToDecimalString(b000)
+
+ CH03(ts, z058, 59, 0, 0)
+
+ ToDecimalString(b001)
+
+ /*
+ * CH04(ts, 0, 61, z058, 60, 0, 0) // AE_AML_STRING_LIMIT
+ *
+ * 20.12.2005.
+ * No more limit of string size.
+ */
+
+ CH03(ts, z058, 60, 0, 0)
+}
+
+// ToBCD() when a specified integer overflows a number of the BCD format
+Method(m14e)
+{
+ Name(ts, "m14e")
+
+ CH03(ts, z058, 61, 0, 0)
+
+ if (LEqual(F64, 1)) {
+ ToBCD(9999999999999999)
+ } else {
+ ToBCD(99999999)
+ }
+
+ CH03(ts, z058, 62, 0, 0)
+
+ if (LEqual(F64, 1)) {
+ ToBCD(10000000000000000)
+ } else {
+ ToBCD(100000000)
+ }
+
+ CH04(ts, 0, 52, z058, 63, 0, 0) // AE_AML_NUMERIC_OVERFLOW
+}
+
+// Create field out of buffer
+Method(m14f)
+{
+ Name(ts, "m14f")
+
+ Name(b001, Buffer(16) {})
+
+ CH03(ts, z058, 64, 0, 0)
+ CreateBitField(b001, 127, f000)
+ CH03(ts, z058, 65, 0, 0)
+ CreateBitField(b001, 128, f001)
+ CH04(ts, 0, 54, z058, 66, 0, 0) // AE_AML_BUFFER_LIMIT
+
+ CH03(ts, z058, 67, 0, 0)
+ CreateByteField(b001, 15, f002)
+ CH03(ts, z058, 68, 0, 0)
+ CreateByteField(b001, 16, f003)
+ CH04(ts, 0, 54, z058, 69, 0, 0) // AE_AML_BUFFER_LIMIT
+
+ CH03(ts, z058, 70, 0, 0)
+ CreateWordField(b001, 14, f004)
+ CH03(ts, z058, 71, 0, 0)
+ CreateWordField(b001, 15, f005)
+ CH04(ts, 0, 54, z058, 72, 0, 0) // AE_AML_BUFFER_LIMIT
+
+ CH03(ts, z058, 73, 0, 0)
+ CreateDWordField(b001, 12, f006)
+ CH03(ts, z058, 74, 0, 0)
+ CreateDWordField(b001, 13, f007)
+ CH04(ts, 0, 54, z058, 75, 0, 0) // AE_AML_BUFFER_LIMIT
+
+ CH03(ts, z058, 76, 0, 0)
+ CreateQWordField(b001, 8, f008)
+ CH03(ts, z058, 77, 0, 0)
+ CreateQWordField(b001, 9, f009)
+ CH04(ts, 0, 54, z058, 78, 0, 0) // AE_AML_BUFFER_LIMIT
+
+ CH03(ts, z058, 79, 0, 0)
+ CreateField(b001, 127, 1, f00a)
+ CH03(ts, z058, 80, 0, 0)
+ CreateField(b001, 128, 1, f00b)
+ CH04(ts, 0, 54, z058, 81, 0, 0) // AE_AML_BUFFER_LIMIT
+
+ CH03(ts, z058, 82, 0, 0)
+ CreateField(b001, 120, 8, f00c)
+ CH03(ts, z058, 83, 0, 0)
+ CreateField(b001, 120, 9, f00d)
+ CH04(ts, 0, 54, z058, 84, 0, 0) // AE_AML_BUFFER_LIMIT
+}
+
+// Access to uninitialized local
+Method(m150, 1)
+{
+ Name(ts, "m150")
+
+ if (arg0) {
+ Store(0, Local0)
+ }
+
+ CH03(ts, z058, 85, 0, 0)
+
+ Index(Local0, 0)
+
+ CH04(ts, 0, 49, z058, 86, 0, 0) // AE_AML_UNINITIALIZED_LOCAL
+}
+
+// Access to an uninitialized element of package
+Method(m151)
+{
+ Name(ts, "m151")
+
+ Name(p000, Package(4) {0,1,2})
+
+ CH03(ts, z058, 87, 0, 0)
+
+ DeRefOf(Index(p000, 2))
+
+ CH03(ts, z058, 88, 0, 0)
+
+ DeRefOf(Index(p000, 3))
+
+ /*
+ * Obsolete:
+ * CH04(ts, 0, 51, z058, 89, 0, 0) // AE_AML_UNINITIALIZED_ELEMENT
+ *
+ * Updated according to Bug 85 fix: no exception is expected
+ * since the value is not processed.
+ */
+ CH03(ts, z058, 89, 0, 0)
+
+ Add(DeRefOf(Index(p000, 3)), 1)
+
+ if (EXCV) {
+ CH04(ts, 0, 51, z058, 169, 0, 0) // AE_AML_UNINITIALIZED_ELEMENT
+ } else {
+ CH04(ts, 0, 0xff, z058, 169, 0, 0)
+ }
+
+ return (0)
+}
+
+// ToHexString() when the number of result characters in string exceeds 200
+Method(m152)
+{
+ Name(ts, "m152")
+
+ // Results into 200 (67 * 3 - 1) characters
+ Name(b000, Buffer() {
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1})
+
+ // Results into 203 (68 * 3 - 1) characters
+ Name(b001, Buffer() {
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1})
+
+ CH03(ts, z058, 90, 0, 0)
+
+ ToHexString(b000)
+
+ CH03(ts, z058, 91, 0, 0)
+
+ ToHexString(b001)
+
+ /*
+ * CH04(ts, 0, 61, z058, 92, 0, 0) // AE_AML_STRING_LIMIT
+ *
+ * 20.12.2005.
+ * No more limit of string size.
+ */
+
+ CH03(ts, z058, 92, 0, 0)
+}
+
+// StartIndex in Match greater than the package size
+Method(m153)
+{
+ Name(ts, "m153")
+
+ Name(PAC0, Package(1) {0})
+
+ CH03(ts, z058, 93, 0, 0)
+
+ Match(PAC0, MTR, 0, MTR, 0, 0)
+
+ CH03(ts, z058, 94, 0, 0)
+
+ Match(PAC0, MTR, 0, MTR, 0, 1)
+
+ CH04(ts, 0, 55, z058, 95, 0, 0) // AE_AML_PACKAGE_LIMIT
+}
+
+// Exeptional conditions of ConcatenateResTemplate
+Method(m154)
+{
+ Name(ts, "m154")
+
+ Name(RT00, ResourceTemplate () {
+ IRQNoFlags () {1}})
+
+ // Empty buffer
+
+ Store(0, Local0)
+ Store(Buffer(Local0){}, Local2)
+
+ CH03(ts, z058, 96, 0, 0)
+
+ ConcatenateResTemplate(RT00, RT00)
+
+ CH03(ts, z058, 97, 0, 0)
+
+ ConcatenateResTemplate(RT00, Local2)
+
+ // Bug 188.
+ CH03(ts, z058, 98, 0, 0)
+ // CH04(ts, 0, 71, z058, 98, 0, 0) // AE_AML_NO_RESOURCE_END_TAG
+
+ // One-element buffer
+
+ Store(Buffer(){0}, Local2)
+
+ ConcatenateResTemplate(RT00, Local2)
+
+ if (EXCV) {
+ CH04(ts, 0, 47, z058, 100, 0, 0) // AE_AML_OPERAND_TYPE
+ } else {
+ CH04(ts, 0, 0xff, z058, 100, 0, 0)
+ }
+
+ // One-element 0x79 buffer
+
+ Store(Buffer(){0x79}, Local2)
+
+ ConcatenateResTemplate(RT00, Local2)
+
+ // Bug 189.
+ CH04(ts, 0, 47, z058, 101, 0, 0) // AE_AML_OPERAND_TYPE
+
+ // Not resource template buffer
+
+ Store(Buffer(){0x2a, 0x04, 0x02}, Local2)
+
+ ConcatenateResTemplate(RT00, Local2)
+
+ if (EXCV) {
+ CH04(ts, 0, 47, z058, 102, 0, 0) // AE_AML_OPERAND_TYPE
+ } else {
+ CH04(ts, 0, 0xff, z058, 102, 0, 0)
+ }
+
+ // Nearly resource template buffer
+
+ Store(Buffer(){0x2a, 0x10, 0x05, 0x79}, Local2)
+
+ ConcatenateResTemplate(RT00, Local2)
+
+ // Bug 190.
+ CH04(ts, 0, 47, z058, 103, 0, 0) // AE_AML_OPERAND_TYPE
+
+ // Like resource template buffer
+
+ Store(Buffer(){0x00, 0x00, 0x00, 0x79, 0x00}, Local2)
+
+ ConcatenateResTemplate(RT00, Local2)
+
+ if (EXCV) {
+ CH04(ts, 0, 47, z058, 104, 0, 0) // AE_AML_OPERAND_TYPE
+ } else {
+ CH04(ts, 0, 0xff, z058, 104, 0, 0)
+ }
+
+ CH03(ts, z058, 171, 0, 0)
+}
+
+/*
+ * Obsolete:
+ * Bug 63: The following operation should initiate
+ * AE_BAD_HEX_CONSTANT exception
+ *
+ *
+ * Bug 63, Bugzilla 5329.
+ *
+ * Updated specs 12.03.05:
+ * "Note: the first non-hex character terminates the conversion
+ * without error, and a '0x' prefix is not allowed."
+ */
+Method(m155)
+{
+ Name(ts, "m155")
+
+ CH03(ts, z058, 105, 0, 0)
+
+ Add("0x1111", 0, Local0)
+
+ /*
+ * Obsolete:
+ * CH04(ts, 0, 34, z058, 106, 0, 0) // AE_BAD_HEX_CONSTANT
+ *
+ * New:
+ */
+ CH03(ts, z058, 106, 0, 0)
+ if (LNotEqual(Local0, 0)) {
+ // Bug 63, Bugzilla 5329.
+ err(ts, z058, 170, 0, 0, Local0, 0)
+ }
+}
+
+/*
+ * Bug 64: The following operations should initiate exceptions.
+ * AE_BAD_HEX_CONSTANT is the most appropreate, but it was decided
+ * to weaken demands - it is enough that some exception arises
+ * even if it is not the most appropreate one.
+ * See 111,112,113.
+ */
+Method(m156)
+{
+ Name(ts, "m156")
+
+ Store(0, Local0)
+ Name(b000, Buffer(Local0) {})
+
+ CH03(ts, z058, 107, 0, 0)
+
+ // Add, empty String
+ Add("", 0)
+
+// CH04(ts, 0, 34, z058, 108, 0, 0) // AE_BAD_HEX_CONSTANT
+ CH03(ts, z058, 108, 0, 0)
+
+ // Add, String filled with blanks
+ Add(" ", 0)
+
+// CH04(ts, 0, 34, z058, 109, 0, 0) // AE_BAD_HEX_CONSTANT
+ CH03(ts, z058, 109, 0, 0)
+
+ // ToInteger, empty String
+ ToInteger("")
+
+ CH04(ts, 0, 36, z058, 110, 0, 0) // AE_BAD_DECIMAL_CONSTANT
+
+ // ToInteger, String filled with blanks
+ ToInteger(" ")
+
+// CH04(ts, 0, 34, z058, 111, 0, 0) // AE_BAD_HEX_CONSTANT
+ CH04(ts, 0, 36, z058, 111, 0, 0) // AE_BAD_DECIMAL_CONSTANT
+
+ // Add, zero-length Buffer
+ Add(b000, 0)
+
+// CH04(ts, 0, 34, z058, 112, 0, 0) // AE_BAD_HEX_CONSTANT
+ CH04(ts, 0, 54, z058, 112, 0, 0) // AE_AML_BUFFER_LIMIT
+
+ // ToInteger, zero-length Buffer
+ ToInteger(b000)
+
+// CH04(ts, 0, 34, z058, 113, 0, 0) // AE_BAD_HEX_CONSTANT
+ CH04(ts, 0, 54, z058, 113, 0, 0) // AE_AML_BUFFER_LIMIT
+}
+
+// //////////////////////////////////////////////////////////
+//
+// Attempt to generate references upon an arbitrary addresses
+//
+// //////////////////////////////////////////////////////////
+
+// Index(Integer)
+Method(m157)
+{
+ Name(ts, "m157")
+
+ Name(i000, 0xaaaaaaaa)
+
+ CH03(ts, z058, 114, 0, 0)
+
+ Index(i000, 0)
+
+ CH04(ts, 0, 47, z058, 115, 0, 0) // AE_AML_OPERAND_TYPE
+
+ Index(i000, 0, Local0)
+
+ CH04(ts, 0, 47, z058, 116, 0, 0) // AE_AML_OPERAND_TYPE
+
+ Store(Index(i000, 0), Local0)
+
+ CH04(ts, 0, 0xff, z058, 117, 0, 0)
+
+ Store(Index(i000, 0, Local0), Local1)
+
+ CH04(ts, 0, 0xff, z058, 118, 0, 0)
+}
+
+// Bug 83
+// DerefOf(Integer)
+Method(m158)
+{
+ Name(ts, "m158")
+
+ Name(i000, 0xaaaaaaaa)
+
+ CH03(ts, z058, 119, 0, 0)
+
+ // Bug 83, Bugzilla 5387.
+ DerefOf(i000)
+
+ CH04(ts, 0, 0xff, z058, 120, 0, 0)
+
+ Store(DerefOf(i000), Local0)
+
+ // Bug 83, Bugzilla 5387.
+ CH04(ts, 0, 0xff, z058, 121, 0, 0)
+}
+
+// Index(Local7-Integer)
+// DerefOf(Integer)
+Method(m087)
+{
+ Name(ts, "m087")
+
+ Name(i000, 0xaaaaaaaa)
+
+ Store(i000, Local7)
+
+ CH03(ts, z058, 122, 0, 0)
+
+ // Index(Integer)
+
+ Index(Local7, 0)
+
+ CH04(ts, 0, 47, z058, 123, 0, 0) // AE_AML_OPERAND_TYPE
+
+ Index(Local7, 0, Local0)
+
+ CH04(ts, 0, 47, z058, 124, 0, 0) // AE_AML_OPERAND_TYPE
+
+ Store(Index(Local7, 0), Local0)
+
+ CH04(ts, 0, 0xff, z058, 125, 0, 0)
+
+ Store(Index(Local7, 0, Local0), Local1)
+
+ CH04(ts, 0, 0xff, z058, 126, 0, 0)
+
+ // DerefOf(Integer)
+
+ DerefOf(Local7)
+
+ CH04(ts, 0, 0xff, z058, 127, 0, 0)
+
+ Store(DerefOf(Local7), Local0)
+
+ CH04(ts, 0, 0xff, z058, 128, 0, 0)
+}
+
+// Index(Buffer Field)
+Method(m159)
+{
+ Name(ts, "m159")
+
+ Name(b000, Buffer() {1,2,3,4,5,6,7,8,9})
+ CreateField(b000, 0, 8, bf00)
+
+ CH03(ts, z058, 129, 0, 0)
+
+ Index(bf00, 0)
+
+ CH04(ts, 0, 47, z058, 130, 0, 0) // AE_AML_OPERAND_TYPE
+
+ Index(bf00, 0, Local0)
+
+ CH04(ts, 0, 47, z058, 131, 0, 0) // AE_AML_OPERAND_TYPE
+
+ Store(Index(bf00, 0), Local0)
+
+ CH04(ts, 0, 0xff, z058, 132, 0, 0)
+
+ Store(Index(bf00, 0), Local0)
+
+ CH04(ts, 0, 0xff, z058, 133, 0, 0)
+
+ Store(Index(bf00, 0, Local0), Local1)
+
+ CH04(ts, 0, 0xff, z058, 134, 0, 0)
+}
+
+// Bug 83
+// DerefOf(Buffer Field)
+Method(m15a)
+{
+ Name(ts, "m15a")
+
+ Name(b000, Buffer() {1,2,3,4,5,6,7,8,9})
+ CreateField(b000, 0, 8, bf00)
+
+ CH03(ts, z058, 135, 0, 0)
+
+ DerefOf(bf00)
+
+ // Bug 83, Bugzilla 5387.
+ CH04(ts, 0, 0xff, z058, 136, 0, 0)
+
+ Store(DerefOf(bf00), Local0)
+
+ // Bug 83, Bugzilla 5387.
+ CH04(ts, 0, 0xff, z058, 137, 0, 0)
+}
+
+// Index(Field Unit)
+Method(m15d)
+{
+ Name(ts, "m15d")
+
+ OperationRegion(r000, SystemMemory, 0x100, 0x100)
+ Field(r000, ByteAcc, NoLock, Preserve) {f000,8}
+ Field(r000, ByteAcc, NoLock, Preserve) {bnk0,8,f00a,8,f00b,8}
+ BankField(r000, bnk0, 0, ByteAcc, NoLock, Preserve) {bkf0,4}
+ IndexField(f00a, f00b, ByteAcc, NoLock, Preserve) {if00,1,if01,1}
+
+ CH03(ts, z058, 138, 0, 0)
+
+ // Field
+
+ Index(f000, 0)
+
+ CH04(ts, 0, 47, z058, 139, 0, 0) // AE_AML_OPERAND_TYPE
+
+ Index(f000, 0, Local0)
+
+ CH04(ts, 0, 47, z058, 140, 0, 0) // AE_AML_OPERAND_TYPE
+
+ Store(Index(f000, 0), Local0)
+
+ CH04(ts, 0, 0xff, z058, 141, 0, 0)
+
+ Store(Index(f000, 0), Local0)
+
+ CH04(ts, 0, 0xff, z058, 142, 0, 0)
+
+ Store(Index(f000, 0, Local0), Local1)
+
+ CH04(ts, 0, 0xff, z058, 143, 0, 0)
+
+ // BankField
+
+ Index(bkf0, 0)
+
+ CH04(ts, 0, 47, z058, 144, 0, 0) // AE_AML_OPERAND_TYPE
+
+ Index(bkf0, 0, Local0)
+
+ CH04(ts, 0, 47, z058, 145, 0, 0) // AE_AML_OPERAND_TYPE
+
+ Store(Index(bkf0, 0), Local0)
+
+ CH04(ts, 0, 0xff, z058, 146, 0, 0)
+
+ Store(Index(bkf0, 0), Local0)
+
+ CH04(ts, 0, 0xff, z058, 147, 0, 0)
+
+ Store(Index(bkf0, 0, Local0), Local1)
+
+ CH04(ts, 0, 0xff, z058, 148, 0, 0)
+
+ // IndexField
+
+ Index(if00, 0)
+
+ CH04(ts, 0, 47, z058, 149, 0, 0) // AE_AML_OPERAND_TYPE
+
+ Index(if00, 0, Local0)
+
+ CH04(ts, 0, 47, z058, 150, 0, 0) // AE_AML_OPERAND_TYPE
+
+ Store(Index(if00, 0), Local0)
+
+ CH04(ts, 0, 0xff, z058, 151, 0, 0)
+
+ Store(Index(if00, 0), Local0)
+
+ CH04(ts, 0, 0xff, z058, 152, 0, 0)
+
+ Store(Index(if00, 0, Local0), Local1)
+
+ CH04(ts, 0, 0xff, z058, 153, 0, 0)
+}
+
+// Bug 83
+// DerefOf(Field Unit)
+Method(m15e)
+{
+ Name(ts, "m15e")
+
+ OperationRegion(r000, SystemMemory, 0x100, 0x100)
+ Field(r000, ByteAcc, NoLock, Preserve) {f000,8}
+ Field(r000, ByteAcc, NoLock, Preserve) {bnk0,8,f00a,8,f00b,8}
+ BankField(r000, bnk0, 0, ByteAcc, NoLock, Preserve) {bkf0,4}
+ IndexField(f00a, f00b, ByteAcc, NoLock, Preserve) {if00,1,if01,1}
+
+ CH03(ts, z058, 154, 0, 0)
+
+ // Field
+
+ DerefOf(f000)
+
+ // Bug 83, Bugzilla 5387.
+ CH04(ts, 0, 0xff, z058, 155, 0, 0)
+
+ Store(DerefOf(f000), Local0)
+
+ // Bug 83, Bugzilla 5387.
+ CH04(ts, 0, 0xff, z058, 156, 0, 0)
+
+ // BankField
+
+ DerefOf(bkf0)
+
+ // Bug 83, Bugzilla 5387.
+ CH04(ts, 0, 0xff, z058, 157, 0, 0)
+
+ Store(DerefOf(bkf0), Local0)
+
+ // Bug 83, Bugzilla 5387.
+ CH04(ts, 0, 0xff, z058, 158, 0, 0)
+
+ // IndexField
+
+ DerefOf(if00)
+
+ // Bug 83, Bugzilla 5387.
+ CH04(ts, 0, 0xff, z058, 159, 0, 0)
+
+ Store(DerefOf(if00), Local0)
+
+ // Bug 83, Bugzilla 5387.
+ CH04(ts, 0, 0xff, z058, 160, 0, 0)
+}
+
+// UPDATE exc.m084: Implement this test for all the types of objects
+// (see for example ref.asl files about objects) and
+// all the types of operators.
+Method(m084, 1)
+{
+ Name(ts, "m084")
+
+ if (Arg0) {
+ Name(i000, 0x12345678)
+ Name(s000, "12345678")
+ Name(b000, Buffer() {0x12})
+ Name(p000, Package() {0x12345678})
+ }
+
+ CH03(ts, z058, 161, 0, 0)
+
+/*
+Discuss: now the ObjectType doesnt cause exception!
+Is it correct? Understand and discuss it.
+
+ Store(ObjectType(i000), Local0)
+ CH04(ts, 0, 46, z058, 162, 0, 0) // AE_AML_NO_OPERAND
+
+ Store(ObjectType(s000), Local0)
+ CH04(ts, 0, 46, z058, 163, 0, 0) // AE_AML_NO_OPERAND
+
+ Store(ObjectType(b000), Local0)
+ CH04(ts, 0, 46, z058, 164, 0, 0) // AE_AML_NO_OPERAND
+
+ Store(ObjectType(p000), Local0)
+ CH04(ts, 0, 46, z058, 165, 0, 0) // AE_AML_NO_OPERAND
+*/
+
+ Store(Index(p000, 0), Local0)
+ if (LNot(Arg0)) {
+ CH04(ts, 0, 0xFF, z058, 166, 0, 0)
+ } else {
+ CH03(ts, z058, 167, 0, 0)
+ }
+
+ CH03(ts, z058, 168, 0, 0)
+}
+
+Method(mf9d)
+{
+ Method(m000)
+ {
+ Store(0, Local7)
+ Divide(1, Local7, Local2)
+ if (LNotEqual(Local2, 0)) {
+ m002()
+ }
+ }
+
+ Method(m001)
+ {
+ Store(0, Local7)
+ if (Divide(1, Local7, Local2)) {
+ m002()
+ }
+ }
+
+ Method(m002)
+ {
+ }
+
+ CH03("mf9d", z058, 171, 0, 0)
+
+ m000()
+
+ CH04("mf9d", 0, 0xff, z058, 172, 0, 0)
+
+ CH03("mf9d", z058, 173, 0, 0)
+
+ m001()
+
+ CH04("mf9d", 0, 0xff, z058, 174, 0, 0)
+}
+
+// Access out of OpRegion and DataTableRegion
+Method(m708)
+{
+ Name(ts, "m708")
+
+ Method(m000, 1)
+ {
+ OperationRegion(RGN0, SystemMemory, 0, arg0)
+ OperationRegion(RGN1, SystemIO, 0x200, arg0)
+
+ // UserDefRegionSpace
+ OperationRegion(RGN2, 0x80, 0xd00, arg0)
+
+ DataTableRegion (DR00, "SSDT", "", "")
+
+ Field(RGN0, ByteAcc, NoLock, Preserve) {
+ FU00, 0x801}
+ Field(RGN1, ByteAcc, NoLock, Preserve) {
+ FU01, 0x801}
+ Field(RGN2, ByteAcc, NoLock, Preserve) {
+ FU02, 0x801}
+ Field(DR00, AnyAcc, NoLock, Preserve) {
+ FU03, 0x181}
+
+ Store(4, Local0)
+ Store(0, Local1)
+
+ While (Local0) {
+ switch(Local1) {
+ case(0) { Store(Refof(FU00), Local2) }
+ case(1) { Store(Refof(FU01), Local2) }
+ case(2) { Store(Refof(FU02), Local2) }
+ case(3) { Store(Refof(FU03), Local2) }
+ }
+
+ Store(Refof(Local2), Local3)
+
+ CH03(ts, z058, Add(175, Local1), 0, 0)
+
+ // Write: except DataTableRegion
+ if (LLess(Local1, 3)) {
+ Store(0x12345678, DeRefof(Local3))
+ CH04(ts, 0, 53, z058, Add(179, Local1), 0, 0)// AE_AML_REGION_LIMIT
+ }
+
+ // Read
+ Store(DeRefof(Local2), Local4)
+
+ CH04(ts, 0, 53, z058, Add(183, Local1), 0, 0) // AE_AML_REGION_LIMIT
+
+ Decrement(Local0)
+ Increment(Local1)
+ }
+ }
+
+ m000(0x100)
+}
+
+// Try non-copmputational data OpRegion arguments
+Method(m709)
+{
+ Name(ts, "m709")
+
+ Name(offp, Package(1){0xfedcba987654321f})
+ Name(lenp, Package(1){0x123})
+ Name(i000, 0x100)
+
+ Method(m000) {
+ OperationRegion(OPR0, SystemMemory, offp, 1)
+ }
+
+ CH03(ts, z058, 188, 0, 0)
+
+ m000()
+
+ CH04(ts, 0, 47, z058, 189, 0, 0) // AE_AML_OPERAND_TYPE
+
+ OperationRegion(OPR1, SystemMemory, 1, lenp)
+
+ CH04(ts, 0, 47, z058, 190, 0, 0) // AE_AML_OPERAND_TYPE
+}
+
+// Try OpRegion arguments when Offset + Length > MaxInteger
+Method(m70a)
+{
+ Name(ts, "m70a")
+
+ Name(off0, 0xfffffffffffffff0)
+ Name(len0, 0x11)
+
+ OperationRegion(OPR0, SystemMemory, off0, len0)
+
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ Offset(0x10), FU00, 8}
+
+ Store(0x12, FU00)
+
+ CH03(ts, z058, 191, 0, 0)
+
+ CH04(ts, 0, 53, z058, 192, 0, 0) // AE_AML_REGION_LIMIT
+}
+
+// Attempt to write into DataTableRegion
+Method(m70b)
+{
+ Name(ts, "m70b")
+
+ DataTableRegion (DR00, "SSDT", "", "")
+
+ Field(DR00, AnyAcc, NoLock, Preserve) {
+ FU00, 0x180}
+
+ Store(FU00, Local0)
+
+ CH03(ts, z058, 193, 0, 0)
+
+ Store(0, FU00)
+
+ CH04(ts, 0, 16, z058, 194, 0, 0) // AE_SUPPORT
+}
+
+// Check non-String DataTableRegion *String arguments
+Method(m7f5)
+{
+ Name(ts, "m7f5")
+
+ Name(b000, Buffer(1){0x12})
+ Name(i000, 0x12)
+ Name(p000, Package(1){0x12})
+
+ CH03(ts, z058, 193, 0, 0)
+
+ DataTableRegion (DR00, b000, "", "")
+ CH04(ts, 0, 5, z058, 195, 0, 0) // AE_NOT_FOUND
+
+ DataTableRegion (DR01, "SSDT", b000, "")
+ CH04(ts, 0, 5, z058, 196, 0, 0) // AE_NOT_FOUND
+
+ DataTableRegion (DR02, "SSDT", "", b000)
+ CH04(ts, 0, 5, z058, 197, 0, 0) // AE_NOT_FOUND
+
+ DataTableRegion (DR03, i000, "", "")
+ CH04(ts, 0, 5, z058, 198, 0, 0) // AE_NOT_FOUND
+
+ DataTableRegion (DR04, "SSDT", i000, "")
+ CH04(ts, 0, 5, z058, 199, 0, 0) // AE_NOT_FOUND
+
+ DataTableRegion (DR05, "SSDT", "", i000)
+ CH04(ts, 0, 5, z058, 200, 0, 0) // AE_NOT_FOUND
+
+ DataTableRegion (DR06, p000, "", i000)
+ CH04(ts, 0, 47, z058, 201, 0, 0) // AE_AML_OPERAND_TYPE
+
+ DataTableRegion (DR07, "SSDT", p000, "")
+ CH04(ts, 0, 47, z058, 202, 0, 0) // AE_AML_OPERAND_TYPE
+
+ DataTableRegion (DR08, "SSDT", "", p000)
+ CH04(ts, 0, 47, z058, 203, 0, 0) // AE_AML_OPERAND_TYPE
+}
+
+// Check SMBus OpRegion restictions
+Method(m7f6)
+{
+ Name(ts, "m7f6")
+
+ OperationRegion(SMBD, SMBus, 0x4200, 0x100)
+
+ Field(SMBD, BufferAcc, NoLock, Preserve) {
+ AccessAs(BufferAcc, SMBQuick),
+ FLD0, 8
+ }
+
+ // Create improper SMBus data buffer
+ Name(BUFF, Buffer(33){})
+
+ CH03(ts, z058, 204, 0, 0)
+
+ // Invoke Write Quick transaction
+ Store(BUFF, FLD0)
+
+ CH04(ts, 0, 54, z058, 205, 0, 0) // AE_AML_BUFFER_LIMIT
+}
+
+/* Name space issues */
+Method(m0bc)
+{
+ Name(ts, "m0bc")
+
+ Method(m000)
+ {
+ return (0xabcd0000)
+ }
+
+ Method(m001)
+ {
+ Store(m000(), Local0)
+
+ Method(m000)
+ {
+ return (0xabcd0001)
+ }
+
+ Store(m000(), Local1)
+
+ if (LNotEqual(Local0, 0xabcd0000)) {
+ err(ts, z058, 0x0ce, 0, 0, Local0, 0xabcd0000)
+ }
+
+ if (LNotEqual(Local1, 0xabcd0001)) {
+ err(ts, z058, 0x0cf, 0, 0, Local1, 0xabcd0001)
+ }
+ }
+
+ Method(m002)
+ {
+ CH03(ts, z058, 0x0d0, 0, 0)
+ m004()
+ CH04(ts, 0, 5, z058, 0x0d1, 0, 0) // AE_NOT_FOUND
+
+ Method(m004)
+ {
+ return (0xabcd0002)
+ }
+ }
+
+ Method(m003)
+ {
+ /* Recursion */
+ CH03(ts, z058, 0x0d0, 0, 0)
+ m003()
+ CH04(ts, 0, 84, z058, 0x0d1, 0, 0) // AE_AML_METHOD_LIMIT
+
+ Method(m003)
+ {
+ return (0xabcd0002)
+ }
+ }
+
+ m001()
+ m002()
+ // m003()
+}
+
+// Run-method
+Method(EXCP)
+{
+ SRMT("m140")
+ m140()
+ SRMT("m141")
+ m141()
+ SRMT("m142")
+ m142()
+ SRMT("m143")
+ m143()
+ SRMT("m144")
+ m144()
+ SRMT("m145")
+ m145()
+ SRMT("m085")
+ m085()
+ SRMT("m086")
+ m086()
+ SRMT("m148")
+ m148()
+ SRMT("m14b")
+ m14b()
+ SRMT("m14c")
+ m14c()
+ SRMT("m14d")
+ m14d()
+ SRMT("m14e")
+ m14e()
+ SRMT("m14f")
+ m14f()
+ SRMT("m150")
+ m150(0)
+ SRMT("m151")
+ m151()
+ SRMT("m152")
+ m152()
+ SRMT("m153")
+ m153()
+ SRMT("m154")
+ m154()
+ SRMT("m155")
+ m155()
+ SRMT("m156")
+ m156()
+ SRMT("m157")
+ m157()
+ SRMT("m158")
+ m158()
+ SRMT("m087")
+ m087()
+ SRMT("m159")
+ m159()
+ SRMT("m15a")
+ m15a()
+ SRMT("m15d")
+ m15d()
+ SRMT("m15e")
+ m15e()
+
+ // The sequence of calls below is important,
+ // since not initialized names can refer to
+ // the objects moved improperly into the cash
+ // between two calls to the same Method:
+
+ SRMT("m084-0")
+ m084(0)
+ SRMT("m084-1")
+ m084(1)
+ SRMT("m084-0-2")
+ m084(0)
+
+ SRMT("m1b3")
+ m1b3()
+
+ SRMT("mf9d")
+ if (y200) {
+ mf9d()
+ } else {
+ BLCK()
+ }
+
+ SRMT("m708")
+ m708()
+ SRMT("m709")
+ m709()
+ SRMT("m70a")
+ m70a()
+ SRMT("m70b")
+ m70b()
+ SRMT("m7f5")
+ if (y223) {
+ m7f5()
+ } else {
+ BLCK()
+ }
+ SRMT("m7f6")
+ m7f6()
+
+ SRMT("m0bc")
+ m0bc()
+}
diff --git a/tests/aslts/src/runtime/collections/exceptions/exc_operand/FULL/MAIN.asl b/tests/aslts/src/runtime/collections/exceptions/exc_operand/FULL/MAIN.asl
new file mode 100644
index 000000000..fc443657f
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/exceptions/exc_operand/FULL/MAIN.asl
@@ -0,0 +1,78 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "exc_operand.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/common/operations.asl")
+ Include("../../../../../runtime/common/conversion/oproc.asl")
+ Include("../../../../../runtime/common/conversion/otest.asl")
+ Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_00_undef.asl")
+ Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_01_int.asl")
+ Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_02_str.asl")
+ Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_03_buf.asl")
+ Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_04_pckg.asl")
+ Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_05_funit.asl")
+ Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_06_dev.asl")
+ Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_07_event.asl")
+ Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_08_method.asl")
+ Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_09_mux.asl")
+ Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_10_oreg.asl")
+ Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_11_pwr.asl")
+ Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_12_proc.asl")
+ Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_13_tzone.asl")
+ Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_14_bfield.asl")
+ Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_operand2.asl")
+ Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand1/exc_operand1.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+
+ Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand1/RUN.asl")
+ Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/exceptions/exc_operand/Makefile b/tests/aslts/src/runtime/collections/exceptions/exc_operand/Makefile
new file mode 100644
index 000000000..b90edb942
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/exceptions/exc_operand/Makefile
@@ -0,0 +1,10 @@
+# exc_operand
+
+MDIRS = \
+ exc_operand1 \
+ exc_operand2
+
+# FULL
+
+TOP= ../../../../..
+include $(TOP)/Makefile.switch
diff --git a/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand1/MAIN.asl b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand1/MAIN.asl
new file mode 100644
index 000000000..270f54e6b
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand1/MAIN.asl
@@ -0,0 +1,61 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "exc_operand1.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/common/operations.asl")
+ Include("../../../../../runtime/common/conversion/oproc.asl")
+ Include("../../../../../runtime/common/conversion/otest.asl")
+ Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand1/exc_operand1.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+
+ Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand1/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand1/Makefile b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand1/Makefile
new file mode 100644
index 000000000..8b8b23398
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand1/Makefile
@@ -0,0 +1,7 @@
+# exc_operand1
+
+AMLMOD= exc_operand1
+COLL= ../../..
+
+TOP= $(COLL)/../../..
+include $(COLL)/Makefile.install
diff --git a/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand1/RUN.asl b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand1/RUN.asl
new file mode 100644
index 000000000..566c22008
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand1/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+
+if (STTT("Exceptions caused by inappropriate type of operands", TCLE, 1, W014)) {
+ SRMT("EOP1")
+ EOP1()
+}
+FTTT()
diff --git a/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand1/exc_operand1.asl b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand1/exc_operand1.asl
new file mode 100644
index 000000000..a92230dbe
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand1/exc_operand1.asl
@@ -0,0 +1,44 @@
+/*
+ * 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.
+ */
+
+/*
+ * This test should be investigated and probably fixed because
+ * it most likely not conforms with the changed functionality of
+ * the Store operator - storing of non-computational data and
+ * BufferFields and Fields was once diasbled.
+ *
+ * Such are exc_operand1, exc_result, oconversion and rconversion tests.
+ */
+
+// Run-method
+Method(EOP1)
+{
+ m460(1)
+}
diff --git a/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/MAIN.asl b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/MAIN.asl
new file mode 100644
index 000000000..d248e3f15
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/MAIN.asl
@@ -0,0 +1,73 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "exc_operand2.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_00_undef.asl")
+ Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_01_int.asl")
+ Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_02_str.asl")
+ Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_03_buf.asl")
+ Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_04_pckg.asl")
+ Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_05_funit.asl")
+ Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_06_dev.asl")
+ Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_07_event.asl")
+ Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_08_method.asl")
+ Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_09_mux.asl")
+ Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_10_oreg.asl")
+ Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_11_pwr.asl")
+ Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_12_proc.asl")
+ Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_13_tzone.asl")
+ Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_14_bfield.asl")
+ Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_operand2.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+
+ Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/Makefile b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/Makefile
new file mode 100644
index 000000000..b3d99fdca
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/Makefile
@@ -0,0 +1,7 @@
+# exc_operand2
+
+AMLMOD= exc_operand2
+COLL= ../../..
+
+TOP= $(COLL)/../../..
+include $(COLL)/Makefile.install
diff --git a/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/RUN.asl b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/RUN.asl
new file mode 100644
index 000000000..d81fe20f4
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/RUN.asl
@@ -0,0 +1,35 @@
+/*
+ * 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.
+ */
+
+
+if (STTT("Exceptions caused by inappropriate type of operands", TCLE, 2, W014)) {
+ EOP2()
+}
+FTTT()
diff --git a/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_00_undef.asl b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_00_undef.asl
new file mode 100644
index 000000000..b867ad299
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_00_undef.asl
@@ -0,0 +1,2343 @@
+/*
+ * 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.
+ */
+
+/*
+ * Uninitialized Data
+ *
+ * (verify exceptions caused by use of Uninitialized Data)
+ */
+
+Name(z092, 92)
+
+// Expected exceptions:
+//
+// 49 - AE_AML_UNINITIALIZED_LOCAL
+// 50 - AE_AML_UNINITIALIZED_ARG
+// 51 - AE_AML_UNINITIALIZED_ELEMENT
+Method(m4b0, 1)
+{
+ Name(ts, "m4b0")
+
+ Name(i000, 0)
+ Event(e000)
+
+ // Uninitialized Local
+ Method(m000, 2)
+ {
+ if (arg1) {
+ Store(0, Local0)
+ }
+
+ // CondRefOf
+
+ CondRefOf(Local0)
+ CH03(ts, z092, 0, 0, 0)
+
+ CondRefOf(Local0, Local1)
+ CH03(ts, z092, 1, 0, 0)
+
+ // CopyObject
+
+ CopyObject(Local0, Local1)
+ CH06(arg0, 0, 49)
+
+ // Decrement
+
+ Decrement(Local0)
+ CH06(arg0, 1, 49)
+
+ // DerefOf
+
+ DerefOf(Local0)
+ CH06(arg0, 2, 49)
+
+ // FindSetLeftBit
+
+ FindSetLeftBit(Local0)
+ CH06(arg0, 3, 49)
+
+ FindSetLeftBit(Local0, Local1)
+ CH06(arg0, 4, 49)
+
+ // FindSetRightBit
+
+ FindSetRightBit(Local0)
+ CH06(arg0, 5, 49)
+
+ FindSetRightBit(Local0, Local1)
+ CH06(arg0, 6, 49)
+
+ // FromBCD
+
+ FromBCD(Local0)
+ CH06(arg0, 7, 49)
+
+ FromBCD(Local0, Local1)
+ CH06(arg0, 8, 49)
+
+ // Increment
+
+ Increment(Local0)
+ CH06(arg0, 9, 49)
+
+ // LNot
+
+ LNot(Local0)
+ CH06(arg0, 10, 49)
+
+ // Not
+
+ Not(Local0)
+ CH06(arg0, 11, 49)
+
+ Not(Local0, Local1)
+ CH06(arg0, 12, 49)
+
+ // ObjectType
+
+ ObjectType(Local0)
+ CH03(ts, z092, 2, 0, 0)
+
+ // RefOf
+
+ RefOf(Local0)
+ CH03(ts, z092, 3, 0, 0)
+
+ // Release
+
+ Release(Local0)
+ CH06(arg0, 13, 49)
+
+ // Reset
+
+ Reset(Local0)
+ CH06(arg0, 14, 49)
+
+ // Signal
+
+ Signal(Local0)
+ CH06(arg0, 15, 49)
+
+ // SizeOf
+
+ SizeOf(Local0)
+ CH06(arg0, 16, 49)
+
+ // Sleep
+
+ Sleep(Local0)
+ CH06(arg0, 17, 49)
+
+ // Stall
+
+ Stall(Local0)
+ CH06(arg0, 18, 49)
+
+ // Store
+
+ Store(Local0, Local1)
+ CH06(arg0, 19, 49)
+
+ // ToBCD
+
+ ToBCD(Local0)
+ CH06(arg0, 20, 49)
+
+ ToBCD(Local0, Local1)
+ CH06(arg0, 21, 49)
+
+ // ToBuffer
+
+ ToBuffer(Local0)
+ CH06(arg0, 22, 49)
+
+ ToBuffer(Local0, Local1)
+ CH06(arg0, 23, 49)
+
+ // ToDecimalString
+
+ ToDecimalString(Local0)
+ CH06(arg0, 24, 49)
+
+ ToDecimalString(Local0, Local1)
+ CH06(arg0, 25, 49)
+
+ // ToHexString
+
+ ToHexString(Local0)
+ CH06(arg0, 26, 49)
+
+ ToHexString(Local0, Local1)
+ CH06(arg0, 27, 49)
+
+ // ToInteger
+
+ ToInteger(Local0)
+ CH06(arg0, 28, 49)
+
+ ToInteger(Local0, Local1)
+ CH06(arg0, 29, 49)
+
+ // Acquire
+
+ Acquire(Local0, 100)
+ CH06(arg0, 30, 49)
+
+ // Add
+
+ Add(Local0, i000)
+ CH06(arg0, 31, 49)
+
+ Add(i000, Local0)
+ CH06(arg0, 32, 49)
+
+ Add(Local0, i000, Local1)
+ CH06(arg0, 33, 49)
+
+ Add(i000, Local0, Local1)
+ CH06(arg0, 34, 49)
+
+ // And
+
+ And(Local0, i000)
+ CH06(arg0, 35, 49)
+
+ And(i000, Local0)
+ CH06(arg0, 36, 49)
+
+ And(Local0, i000, Local1)
+ CH06(arg0, 37, 49)
+
+ And(i000, Local0, Local1)
+ CH06(arg0, 38, 49)
+
+ // Concatenate
+
+ Concatenate(Local0, i000)
+ CH06(arg0, 39, 49)
+
+ Concatenate(i000, Local0)
+ CH06(arg0, 40, 49)
+
+ Concatenate(Local0, i000, Local1)
+ CH06(arg0, 41, 49)
+
+ Concatenate(i000, Local0, Local1)
+ CH06(arg0, 42, 49)
+
+ // ConcatenateResTemplate
+
+ ConcatenateResTemplate(Local0, ResourceTemplate(){})
+ CH06(arg0, 43, 49)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, Local0)
+ CH06(arg0, 44, 49)
+
+ ConcatenateResTemplate(Local0, ResourceTemplate(){}, Local1)
+ CH06(arg0, 45, 49)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, Local0, Local1)
+ CH06(arg0, 46, 49)
+
+ // Divide
+
+ Divide(Local0, i000)
+ CH06(arg0, 47, 49)
+
+ Divide(i000, Local0)
+ CH06(arg0, 48, 49)
+
+ Divide(Local0, i000, Local2)
+ CH06(arg0, 49, 49)
+
+ Divide(i000, Local0, Local2)
+ CH06(arg0, 50, 49)
+
+ Divide(Local0, i000, Local2, Local1)
+ CH06(arg0, 51, 49)
+
+ Divide(i000, Local0, Local2, Local1)
+ CH06(arg0, 52, 49)
+
+ // Fatal
+
+ Fatal(0xff, 0xffffffff, Local0)
+ CH06(arg0, 53, 49)
+
+ // Index
+
+ Index(Local0, 0)
+ CH06(arg0, 54, 49)
+
+ Index("0", Local0)
+ CH06(arg0, 55, 49)
+
+ Index(Local0, 0, Local1)
+ CH06(arg0, 56, 49)
+
+ Index("0", Local0, Local1)
+ CH06(arg0, 57, 49)
+
+ // LEqual
+
+ LEqual(Local0, i000)
+ CH06(arg0, 58, 49)
+
+ LEqual(i000, Local0)
+ CH06(arg0, 59, 49)
+
+ // LGreater
+
+ LGreater(Local0, i000)
+ CH06(arg0, 60, 49)
+
+ LGreater(i000, Local0)
+ CH06(arg0, 61, 49)
+
+ // LGreaterEqual
+
+ LGreaterEqual(Local0, i000)
+ CH06(arg0, 62, 0xff)
+
+ LGreaterEqual(i000, Local0)
+ CH06(arg0, 63, 0xff)
+
+ // LLess
+
+ LLess(Local0, i000)
+ CH06(arg0, 64, 49)
+
+ LLess(i000, Local0)
+ CH06(arg0, 65, 49)
+
+ // LLessEqual
+
+ LLessEqual(Local0, i000)
+ CH06(arg0, 66, 0xff)
+
+ LLessEqual(i000, Local0)
+ CH06(arg0, 67, 0xff)
+
+ // LNotEqual
+
+ LNotEqual(Local0, i000)
+ CH06(arg0, 68, 0xff)
+
+ LNotEqual(i000, Local0)
+ CH06(arg0, 69, 0xff)
+
+ // LOr
+
+ LOr(Local0, i000)
+ CH06(arg0, 70, 49)
+
+ LOr(i000, Local0)
+ CH06(arg0, 71, 49)
+
+ // Mod
+
+ Mod(Local0, i000)
+ CH06(arg0, 72, 49)
+
+ Mod(i000, Local0)
+ CH06(arg0, 73, 49)
+
+ Mod(Local0, i000, Local1)
+ CH06(arg0, 74, 49)
+
+ Mod(i000, Local0, Local1)
+ CH06(arg0, 75, 49)
+
+ // Multiply
+
+ Multiply(Local0, i000)
+ CH06(arg0, 76, 49)
+
+ Multiply(i000, Local0)
+ CH06(arg0, 77, 49)
+
+ Multiply(Local0, i000, Local1)
+ CH06(arg0, 78, 49)
+
+ Multiply(i000, Local0, Local1)
+ CH06(arg0, 79, 49)
+
+ // NAnd
+
+ NAnd(Local0, i000)
+ CH06(arg0, 80, 49)
+
+ NAnd(i000, Local0)
+ CH06(arg0, 81, 49)
+
+ NAnd(Local0, i000, Local1)
+ CH06(arg0, 82, 49)
+
+ NAnd(i000, Local0, Local1)
+ CH06(arg0, 83, 49)
+
+ // NOr
+
+ NOr(Local0, i000)
+ CH06(arg0, 84, 49)
+
+ NOr(i000, Local0)
+ CH06(arg0, 85, 49)
+
+ NOr(Local0, i000, Local1)
+ CH06(arg0, 86, 49)
+
+ NOr(i000, Local0, Local1)
+ CH06(arg0, 87, 49)
+
+ // Or
+
+ Or(Local0, i000)
+ CH06(arg0, 88, 49)
+
+ Or(i000, Local0)
+ CH06(arg0, 89, 49)
+
+ Or(Local0, i000, Local1)
+ CH06(arg0, 90, 49)
+
+ Or(i000, Local0, Local1)
+ CH06(arg0, 91, 49)
+
+ // ShiftLeft
+
+ ShiftLeft(Local0, i000)
+ CH06(arg0, 92, 49)
+
+ ShiftLeft(i000, Local0)
+ CH06(arg0, 93, 49)
+
+ ShiftLeft(Local0, i000, Local1)
+ CH06(arg0, 94, 49)
+
+ ShiftLeft(i000, Local0, Local1)
+ CH06(arg0, 95, 49)
+
+ // ShiftRight
+
+ ShiftRight(Local0, i000)
+ CH06(arg0, 96, 49)
+
+ ShiftRight(i000, Local0)
+ CH06(arg0, 97, 49)
+
+ ShiftRight(Local0, i000, Local1)
+ CH06(arg0, 98, 49)
+
+ ShiftRight(i000, Local0, Local1)
+ CH06(arg0, 99, 49)
+
+ // Subtract
+
+ Subtract(Local0, i000)
+ CH06(arg0, 100, 49)
+
+ Subtract(i000, Local0)
+ CH06(arg0, 101, 49)
+
+ Subtract(Local0, i000, Local1)
+ CH06(arg0, 102, 49)
+
+ Subtract(i000, Local0, Local1)
+ CH06(arg0, 103, 49)
+
+ // ToString
+
+ ToString(Local0, 1)
+ CH06(arg0, 104, 49)
+
+ ToString(i000, Local0)
+ CH06(arg0, 105, 49)
+
+ ToString(Local0, 1, Local1)
+ CH06(arg0, 106, 49)
+
+ ToString(i000, Local0, Local1)
+ CH06(arg0, 107, 49)
+
+ // Wait
+
+ Wait(Local0, i000)
+ CH06(arg0, 108, 49)
+
+ Wait(e000, Local0)
+ CH06(arg0, 109, 49)
+
+ // XOr
+
+ XOr(Local0, i000)
+ CH06(arg0, 110, 49)
+
+ XOr(i000, Local0)
+ CH06(arg0, 111, 49)
+
+ XOr(Local0, i000, Local1)
+ CH06(arg0, 112, 49)
+
+ XOr(i000, Local0, Local1)
+ CH06(arg0, 113, 49)
+
+ // Mid
+
+ Mid(Local0, 1, 1)
+ CH06(arg0, 114, 49)
+
+ Mid("123", Local0, 1)
+ CH06(arg0, 115, 49)
+
+ Mid("123", 1, Local0)
+ CH06(arg0, 116, 49)
+
+ Mid(Local0, 1, 1, Local1)
+ CH06(arg0, 117, 49)
+
+ Mid("123", Local0, 1, Local1)
+ CH06(arg0, 118, 49)
+
+ Mid("123", 1, Local0, Local1)
+ CH06(arg0, 119, 49)
+
+ // Match
+
+ Match(Local0, MTR, 0, MTR, 0, 0)
+ CH06(arg0, 120, 49)
+
+ Match(Package(){1}, MTR, Local0, MTR, 0, 0)
+ CH06(arg0, 121, 49)
+
+ Match(Package(){1}, MTR, 0, MTR, Local0, 0)
+ CH06(arg0, 122, 49)
+
+ Match(Package(){1}, MTR, 0, MTR, 0, Local0)
+ CH06(arg0, 123, 49)
+ }
+
+ // Uninitialized element of Package
+ Method(m001, 1)
+ {
+ Name(p000, Package(1){})
+
+ // DeRefOf(Index(Package, Ind))
+
+ DeRefOf(Index(p000, 0))
+ CH03(ts, z092, 4, 0, 0)
+
+ // CondRefOf
+
+ CondRefOf(DeRefOf(Index(p000, 0)))
+ CH06(arg0, 0, 0xff)
+
+ CondRefOf(DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 1, 0xff)
+
+ // CopyObject
+
+ CopyObject(DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 2, 0xff)
+
+ // Decrement
+
+ Decrement(DeRefOf(Index(p000, 0)))
+ CH06(arg0, 3, 0xff)
+
+ // DerefOf
+
+ DerefOf(DeRefOf(Index(p000, 0)))
+ CH06(arg0, 4, 0xff)
+
+ // FindSetLeftBit
+
+ FindSetLeftBit(DeRefOf(Index(p000, 0)))
+ CH06(arg0, 5, 0xff)
+
+ FindSetLeftBit(DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 6, 0xff)
+
+ // FindSetRightBit
+
+ FindSetRightBit(DeRefOf(Index(p000, 0)))
+ CH06(arg0, 7, 0xff)
+
+ FindSetRightBit(DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 8, 0xff)
+
+ // FromBCD
+
+ FromBCD(DeRefOf(Index(p000, 0)))
+ CH06(arg0, 9, 0xff)
+
+ FromBCD(DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 10, 0xff)
+
+ // Increment
+
+ Increment(DeRefOf(Index(p000, 0)))
+ CH06(arg0, 11, 0xff)
+
+ // LNot
+
+ LNot(DeRefOf(Index(p000, 0)))
+ CH06(arg0, 12, 0xff)
+
+ // Not
+
+ Not(DeRefOf(Index(p000, 0)))
+ CH06(arg0, 13, 0xff)
+
+ Not(DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 14, 0xff)
+
+ // ObjectType
+
+ if (X104) {
+ ObjectType(DeRefOf(Index(p000, 0)))
+ CH03(ts, z092, 5, 0, 0)
+ }
+
+ // RefOf
+
+ RefOf(DeRefOf(Index(p000, 0)))
+ CH06(arg0, 15, 0xff)
+
+ // Release
+
+ // Reset
+
+ // Signal
+
+ // SizeOf
+
+ SizeOf(DeRefOf(Index(p000, 0)))
+ CH06(arg0, 16, 0xff)
+
+ // Sleep
+
+ Sleep(DeRefOf(Index(p000, 0)))
+ CH06(arg0, 17, 0xff)
+
+ // Stall
+
+ Stall(DeRefOf(Index(p000, 0)))
+ CH06(arg0, 18, 0xff)
+
+ // Store
+
+ Store(DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 19, 0xff)
+
+ // ToBCD
+
+ ToBCD(DeRefOf(Index(p000, 0)))
+ CH06(arg0, 20, 0xff)
+
+ ToBCD(DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 21, 0xff)
+
+ // ToBuffer
+
+ ToBuffer(DeRefOf(Index(p000, 0)))
+ CH06(arg0, 22, 0xff)
+
+ ToBuffer(DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 23, 0xff)
+
+ // ToDecimalString
+
+ ToDecimalString(DeRefOf(Index(p000, 0)))
+ CH06(arg0, 24, 0xff)
+
+ ToDecimalString(DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 25, 0xff)
+
+ // ToHexString
+
+ ToHexString(DeRefOf(Index(p000, 0)))
+ CH06(arg0, 26, 0xff)
+
+ ToHexString(DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 27, 0xff)
+
+ // ToInteger
+
+ ToInteger(DeRefOf(Index(p000, 0)))
+ CH06(arg0, 28, 0xff)
+
+ ToInteger(DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 29, 0xff)
+
+ // Acquire
+
+ // Add
+
+ Add(DeRefOf(Index(p000, 0)), i000)
+ CH06(arg0, 31, 0xff)
+
+ Add(i000, DeRefOf(Index(p000, 0)))
+ CH06(arg0, 32, 0xff)
+
+ Add(DeRefOf(Index(p000, 0)), i000, Local1)
+ CH06(arg0, 33, 0xff)
+
+ Add(i000, DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 34, 0xff)
+
+ // And
+
+ And(DeRefOf(Index(p000, 0)), i000)
+ CH06(arg0, 35, 0xff)
+
+ And(i000, DeRefOf(Index(p000, 0)))
+ CH06(arg0, 36, 0xff)
+
+ And(DeRefOf(Index(p000, 0)), i000, Local1)
+ CH06(arg0, 37, 0xff)
+
+ And(i000, DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 38, 0xff)
+
+ // Concatenate
+
+ Concatenate(DeRefOf(Index(p000, 0)), i000)
+ CH06(arg0, 39, 0xff)
+
+ Concatenate(i000, DeRefOf(Index(p000, 0)))
+ CH06(arg0, 40, 0xff)
+
+ Concatenate(DeRefOf(Index(p000, 0)), i000, Local1)
+ CH06(arg0, 41, 0xff)
+
+ Concatenate(i000, DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 42, 0xff)
+
+ // ConcatenateResTemplate
+
+ ConcatenateResTemplate(DeRefOf(Index(p000, 0)), ResourceTemplate(){})
+ CH06(arg0, 43, 0xff)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, DeRefOf(Index(p000, 0)))
+ CH06(arg0, 44, 0xff)
+
+ ConcatenateResTemplate(DeRefOf(Index(p000, 0)), ResourceTemplate(){}, Local1)
+ CH06(arg0, 45, 0xff)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 46, 0xff)
+
+ // Divide
+
+ Divide(DeRefOf(Index(p000, 0)), i000)
+ CH06(arg0, 47, 0xff)
+
+ Divide(i000, DeRefOf(Index(p000, 0)))
+ CH06(arg0, 48, 0xff)
+
+ Divide(DeRefOf(Index(p000, 0)), i000, Local2)
+ CH06(arg0, 49, 0xff)
+
+ Divide(i000, DeRefOf(Index(p000, 0)), Local2)
+ CH06(arg0, 50, 0xff)
+
+ Divide(DeRefOf(Index(p000, 0)), i000, Local2, Local1)
+ CH06(arg0, 51, 0xff)
+
+ Divide(i000, DeRefOf(Index(p000, 0)), Local2, Local1)
+ CH06(arg0, 52, 0xff)
+
+ // Fatal
+
+ Fatal(0xff, 0xffffffff, DeRefOf(Index(p000, 0)))
+ CH06(arg0, 53, 0xff)
+
+ // Index
+
+ Index(DeRefOf(Index(p000, 0)), 0)
+ CH06(arg0, 54, 0xff)
+
+ Index("0", DeRefOf(Index(p000, 0)))
+ CH06(arg0, 55, 0xff)
+
+ Index(DeRefOf(Index(p000, 0)), 0, Local1)
+ CH06(arg0, 56, 0xff)
+
+ Index("0", DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 57, 0xff)
+
+ // LEqual
+
+ LEqual(DeRefOf(Index(p000, 0)), i000)
+ CH06(arg0, 58, 0xff)
+
+ LEqual(i000, DeRefOf(Index(p000, 0)))
+ CH06(arg0, 59, 0xff)
+
+ // LGreater
+
+ LGreater(DeRefOf(Index(p000, 0)), i000)
+ CH06(arg0, 60, 0xff)
+
+ LGreater(i000, DeRefOf(Index(p000, 0)))
+ CH06(arg0, 61, 0xff)
+
+ // LGreaterEqual
+
+ LGreaterEqual(DeRefOf(Index(p000, 0)), i000)
+ CH06(arg0, 62, 0xff)
+
+ LGreaterEqual(i000, DeRefOf(Index(p000, 0)))
+ CH06(arg0, 63, 0xff)
+
+ // LLess
+
+ LLess(DeRefOf(Index(p000, 0)), i000)
+ CH06(arg0, 64, 0xff)
+
+ LLess(i000, DeRefOf(Index(p000, 0)))
+ CH06(arg0, 65, 0xff)
+
+ // LLessEqual
+
+ LLessEqual(DeRefOf(Index(p000, 0)), i000)
+ CH06(arg0, 66, 0xff)
+
+ LLessEqual(i000, DeRefOf(Index(p000, 0)))
+ CH06(arg0, 67, 0xff)
+
+ // LNotEqual
+
+ LNotEqual(DeRefOf(Index(p000, 0)), i000)
+ CH06(arg0, 68, 0xff)
+
+ LNotEqual(i000, DeRefOf(Index(p000, 0)))
+ CH06(arg0, 69, 0xff)
+
+ // LOr
+
+ LOr(DeRefOf(Index(p000, 0)), i000)
+ CH06(arg0, 70, 0xff)
+
+ LOr(i000, DeRefOf(Index(p000, 0)))
+ CH06(arg0, 71, 0xff)
+
+ // Mod
+
+ Mod(DeRefOf(Index(p000, 0)), i000)
+ CH06(arg0, 72, 0xff)
+
+ Mod(i000, DeRefOf(Index(p000, 0)))
+ CH06(arg0, 73, 0xff)
+
+ Mod(DeRefOf(Index(p000, 0)), i000, Local1)
+ CH06(arg0, 74, 0xff)
+
+ Mod(i000, DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 75, 0xff)
+
+ // Multiply
+
+ Multiply(DeRefOf(Index(p000, 0)), i000)
+ CH06(arg0, 76, 0xff)
+
+ Multiply(i000, DeRefOf(Index(p000, 0)))
+ CH06(arg0, 77, 0xff)
+
+ Multiply(DeRefOf(Index(p000, 0)), i000, Local1)
+ CH06(arg0, 78, 0xff)
+
+ Multiply(i000, DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 79, 0xff)
+
+ // NAnd
+
+ NAnd(DeRefOf(Index(p000, 0)), i000)
+ CH06(arg0, 80, 0xff)
+
+ NAnd(i000, DeRefOf(Index(p000, 0)))
+ CH06(arg0, 81, 0xff)
+
+ NAnd(DeRefOf(Index(p000, 0)), i000, Local1)
+ CH06(arg0, 82, 0xff)
+
+ NAnd(i000, DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 83, 0xff)
+
+ // NOr
+
+ NOr(DeRefOf(Index(p000, 0)), i000)
+ CH06(arg0, 84, 0xff)
+
+ NOr(i000, DeRefOf(Index(p000, 0)))
+ CH06(arg0, 85, 0xff)
+
+ NOr(DeRefOf(Index(p000, 0)), i000, Local1)
+ CH06(arg0, 86, 0xff)
+
+ NOr(i000, DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 87, 0xff)
+
+ // Or
+
+ Or(DeRefOf(Index(p000, 0)), i000)
+ CH06(arg0, 88, 0xff)
+
+ Or(i000, DeRefOf(Index(p000, 0)))
+ CH06(arg0, 89, 0xff)
+
+ Or(DeRefOf(Index(p000, 0)), i000, Local1)
+ CH06(arg0, 90, 0xff)
+
+ Or(i000, DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 91, 0xff)
+
+ // ShiftLeft
+
+ ShiftLeft(DeRefOf(Index(p000, 0)), i000)
+ CH06(arg0, 92, 0xff)
+
+ ShiftLeft(i000, DeRefOf(Index(p000, 0)))
+ CH06(arg0, 93, 0xff)
+
+ ShiftLeft(DeRefOf(Index(p000, 0)), i000, Local1)
+ CH06(arg0, 94, 0xff)
+
+ ShiftLeft(i000, DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 95, 0xff)
+
+ // ShiftRight
+
+ ShiftRight(DeRefOf(Index(p000, 0)), i000)
+ CH06(arg0, 96, 0xff)
+
+ ShiftRight(i000, DeRefOf(Index(p000, 0)))
+ CH06(arg0, 97, 0xff)
+
+ ShiftRight(DeRefOf(Index(p000, 0)), i000, Local1)
+ CH06(arg0, 98, 0xff)
+
+ ShiftRight(i000, DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 99, 0xff)
+
+ // Subtract
+
+ Subtract(DeRefOf(Index(p000, 0)), i000)
+ CH06(arg0, 100, 0xff)
+
+ Subtract(i000, DeRefOf(Index(p000, 0)))
+ CH06(arg0, 101, 0xff)
+
+ Subtract(DeRefOf(Index(p000, 0)), i000, Local1)
+ CH06(arg0, 102, 0xff)
+
+ Subtract(i000, DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 103, 0xff)
+
+ // ToString
+
+ ToString(DeRefOf(Index(p000, 0)), 1)
+ CH06(arg0, 104, 0xff)
+
+ ToString(i000, DeRefOf(Index(p000, 0)))
+ CH06(arg0, 105, 0xff)
+
+ ToString(DeRefOf(Index(p000, 0)), 1, Local1)
+ CH06(arg0, 106, 0xff)
+
+ ToString(i000, DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 107, 0xff)
+
+ // Wait
+
+ Wait(e000, DeRefOf(Index(p000, 0)))
+ CH06(arg0, 109, 0xff)
+
+ // XOr
+
+ XOr(DeRefOf(Index(p000, 0)), i000)
+ CH06(arg0, 110, 0xff)
+
+ XOr(i000, DeRefOf(Index(p000, 0)))
+ CH06(arg0, 111, 0xff)
+
+ XOr(DeRefOf(Index(p000, 0)), i000, Local1)
+ CH06(arg0, 112, 0xff)
+
+ XOr(i000, DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 113, 0xff)
+
+ // Mid
+
+ Mid(DeRefOf(Index(p000, 0)), 1, 1)
+ CH06(arg0, 114, 0xff)
+
+ Mid("123", DeRefOf(Index(p000, 0)), 1)
+ CH06(arg0, 115, 0xff)
+
+ Mid("123", 1, DeRefOf(Index(p000, 0)))
+ CH06(arg0, 116, 0xff)
+
+ Mid(DeRefOf(Index(p000, 0)), 1, 1, Local1)
+ CH06(arg0, 117, 0xff)
+
+ Mid("123", DeRefOf(Index(p000, 0)), 1, Local1)
+ CH06(arg0, 118, 0xff)
+
+ Mid("123", 1, DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 119, 0xff)
+
+ // Match
+
+ Match(DeRefOf(Index(p000, 0)), MTR, 0, MTR, 0, 0)
+ CH06(arg0, 120, 0xff)
+
+ Match(Package(){1}, MTR, DeRefOf(Index(p000, 0)), MTR, 0, 0)
+ CH06(arg0, 121, 0xff)
+
+ Match(Package(){1}, MTR, 0, MTR, DeRefOf(Index(p000, 0)), 0)
+ CH06(arg0, 122, 0xff)
+
+ Match(Package(){1}, MTR, 0, MTR, 0, DeRefOf(Index(p000, 0)))
+ CH06(arg0, 123, 0xff)
+
+ // DeRefOf(Index(Package, Ind, Dest))
+ // This should cause an exception
+ // on storing to Dest (see m001)
+
+ Return (0)
+ }
+
+/*
+// Causes Remark on compilation
+ // Uninitialized Arg
+ Method(m002, 2)
+ {
+ if (arg1) {
+ Store(0, arg2)
+ }
+
+ // CondRefOf
+
+ CondRefOf(arg2)
+ CH03(ts, z092, 6, 0, 0)
+
+ CondRefOf(arg2, Local1)
+ CH03(ts, z092, 7, 0, 0)
+
+ // CopyObject
+
+ CopyObject(arg2, Local1)
+ CH06(arg0, 0, 50)
+
+ // Decrement
+
+ Decrement(arg2)
+ CH06(arg0, 1, 50)
+
+ // DerefOf
+
+ DerefOf(arg2)
+ CH06(arg0, 2, 50)
+
+ // FindSetLeftBit
+
+ FindSetLeftBit(arg2)
+ CH06(arg0, 3, 50)
+
+ FindSetLeftBit(arg2, Local1)
+ CH06(arg0, 4, 50)
+
+ // FindSetRightBit
+
+ FindSetRightBit(arg2)
+ CH06(arg0, 5, 50)
+
+ FindSetRightBit(arg2, Local1)
+ CH06(arg0, 6, 50)
+
+ // FromBCD
+
+ FromBCD(arg2)
+ CH06(arg0, 7, 50)
+
+ FromBCD(arg2, Local1)
+ CH06(arg0, 8, 50)
+
+ // Increment
+
+ Increment(arg2)
+ CH06(arg0, 9, 50)
+
+ // LNot
+
+ LNot(arg2)
+ CH06(arg0, 10, 50)
+
+ // Not
+
+ Not(arg2)
+ CH06(arg0, 11, 50)
+
+ Not(arg2, Local1)
+ CH06(arg0, 12, 50)
+
+ // ObjectType
+
+ ObjectType(arg2)
+ CH03(ts, z092, 8, 0, 0)
+
+ // RefOf
+
+ RefOf(arg2)
+ CH03(ts, z092, 9, 0, 0)
+
+ // Release
+
+ Release(arg2)
+ CH06(arg0, 13, 50)
+
+ // Reset
+
+ Reset(arg2)
+ CH06(arg0, 14, 50)
+
+ // Signal
+
+ Signal(arg2)
+ CH06(arg0, 15, 50)
+
+ // SizeOf
+
+ SizeOf(arg2)
+ CH06(arg0, 16, 50)
+
+ // Sleep
+
+ Sleep(arg2)
+ CH06(arg0, 17, 50)
+
+ // Stall
+
+ Stall(arg2)
+ CH06(arg0, 18, 50)
+
+ // Store
+
+ Store(arg2, Local1)
+ CH06(arg0, 19, 50)
+
+ // ToBCD
+
+ ToBCD(arg2)
+ CH06(arg0, 20, 50)
+
+ ToBCD(arg2, Local1)
+ CH06(arg0, 21, 50)
+
+ // ToBuffer
+
+ ToBuffer(arg2)
+ CH06(arg0, 22, 50)
+
+ ToBuffer(arg2, Local1)
+ CH06(arg0, 23, 50)
+
+ // ToDecimalString
+
+ ToDecimalString(arg2)
+ CH06(arg0, 24, 50)
+
+ ToDecimalString(arg2, Local1)
+ CH06(arg0, 25, 50)
+
+ // ToHexString
+
+ ToHexString(arg2)
+ CH06(arg0, 26, 50)
+
+ ToHexString(arg2, Local1)
+ CH06(arg0, 27, 50)
+
+ // ToInteger
+
+ ToInteger(arg2)
+ CH06(arg0, 28, 50)
+
+ ToInteger(arg2, Local1)
+ CH06(arg0, 29, 50)
+
+ // Acquire
+
+ Acquire(arg2, 100)
+ CH06(arg0, 30, 50)
+
+ // Add
+
+ Add(arg2, i000)
+ CH06(arg0, 31, 50)
+
+ Add(i000, arg2)
+ CH06(arg0, 32, 50)
+
+ Add(arg2, i000, Local1)
+ CH06(arg0, 33, 50)
+
+ Add(i000, arg2, Local1)
+ CH06(arg0, 34, 50)
+
+ // And
+
+ And(arg2, i000)
+ CH06(arg0, 35, 50)
+
+ And(i000, arg2)
+ CH06(arg0, 36, 50)
+
+ And(arg2, i000, Local1)
+ CH06(arg0, 37, 50)
+
+ And(i000, arg2, Local1)
+ CH06(arg0, 38, 50)
+
+ // Concatenate
+
+ Concatenate(arg2, i000)
+ CH06(arg0, 39, 50)
+
+ Concatenate(i000, arg2)
+ CH06(arg0, 40, 50)
+
+ Concatenate(arg2, i000, Local1)
+ CH06(arg0, 41, 50)
+
+ Concatenate(i000, arg2, Local1)
+ CH06(arg0, 42, 50)
+
+ // ConcatenateResTemplate
+
+ ConcatenateResTemplate(arg2, ResourceTemplate(){})
+ CH06(arg0, 43, 50)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, arg2)
+ CH06(arg0, 44, 50)
+
+ ConcatenateResTemplate(arg2, ResourceTemplate(){}, Local1)
+ CH06(arg0, 45, 50)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, arg2, Local1)
+ CH06(arg0, 46, 50)
+
+ // Divide
+
+ Divide(arg2, i000)
+ CH06(arg0, 47, 50)
+
+ Divide(i000, arg2)
+ CH06(arg0, 48, 50)
+
+ Divide(arg2, i000, Local2)
+ CH06(arg0, 49, 50)
+
+ Divide(i000, arg2, Local2)
+ CH06(arg0, 50, 50)
+
+ Divide(arg2, i000, Local2, Local1)
+ CH06(arg0, 51, 50)
+
+ Divide(i000, arg2, Local2, Local1)
+ CH06(arg0, 52, 50)
+
+ // Fatal
+
+ Fatal(0xff, 0xffffffff, arg2)
+ CH06(arg0, 53, 50)
+
+ // Index
+
+ Index(arg2, 0)
+ CH06(arg0, 54, 50)
+
+ Index("0", arg2)
+ CH06(arg0, 55, 50)
+
+ Index(arg2, 0, Local1)
+ CH06(arg0, 56, 50)
+
+ Index("0", arg2, Local1)
+ CH06(arg0, 57, 50)
+
+ // LEqual
+
+ LEqual(arg2, i000)
+ CH06(arg0, 58, 50)
+
+ LEqual(i000, arg2)
+ CH06(arg0, 59, 50)
+
+ // LGreater
+
+ LGreater(arg2, i000)
+ CH06(arg0, 60, 50)
+
+ LGreater(i000, arg2)
+ CH06(arg0, 61, 50)
+
+ // LGreaterEqual
+
+ LGreaterEqual(arg2, i000)
+ CH06(arg0, 62, 0xff)
+
+ LGreaterEqual(i000, arg2)
+ CH06(arg0, 63, 0xff)
+
+ // LLess
+
+ LLess(arg2, i000)
+ CH06(arg0, 64, 50)
+
+ LLess(i000, arg2)
+ CH06(arg0, 65, 50)
+
+ // LLessEqual
+
+ LLessEqual(arg2, i000)
+ CH06(arg0, 66, 0xff)
+
+ LLessEqual(i000, arg2)
+ CH06(arg0, 67, 0xff)
+
+ // LNotEqual
+
+ LNotEqual(arg2, i000)
+ CH06(arg0, 68, 0xff)
+
+ LNotEqual(i000, arg2)
+ CH06(arg0, 69, 0xff)
+
+ // LOr
+
+ LOr(arg2, i000)
+ CH06(arg0, 70, 50)
+
+ LOr(i000, arg2)
+ CH06(arg0, 71, 50)
+
+ // Mod
+
+ Mod(arg2, i000)
+ CH06(arg0, 72, 50)
+
+ Mod(i000, arg2)
+ CH06(arg0, 73, 50)
+
+ Mod(arg2, i000, Local1)
+ CH06(arg0, 74, 50)
+
+ Mod(i000, arg2, Local1)
+ CH06(arg0, 75, 50)
+
+ // Multiply
+
+ Multiply(arg2, i000)
+ CH06(arg0, 76, 50)
+
+ Multiply(i000, arg2)
+ CH06(arg0, 77, 50)
+
+ Multiply(arg2, i000, Local1)
+ CH06(arg0, 78, 50)
+
+ Multiply(i000, arg2, Local1)
+ CH06(arg0, 79, 50)
+
+ // NAnd
+
+ NAnd(arg2, i000)
+ CH06(arg0, 80, 50)
+
+ NAnd(i000, arg2)
+ CH06(arg0, 81, 50)
+
+ NAnd(arg2, i000, Local1)
+ CH06(arg0, 82, 50)
+
+ NAnd(i000, arg2, Local1)
+ CH06(arg0, 83, 50)
+
+ // NOr
+
+ NOr(arg2, i000)
+ CH06(arg0, 84, 50)
+
+ NOr(i000, arg2)
+ CH06(arg0, 85, 50)
+
+ NOr(arg2, i000, Local1)
+ CH06(arg0, 86, 50)
+
+ NOr(i000, arg2, Local1)
+ CH06(arg0, 87, 50)
+
+ // Or
+
+ Or(arg2, i000)
+ CH06(arg0, 88, 50)
+
+ Or(i000, arg2)
+ CH06(arg0, 89, 50)
+
+ Or(arg2, i000, Local1)
+ CH06(arg0, 90, 50)
+
+ Or(i000, arg2, Local1)
+ CH06(arg0, 91, 50)
+
+ // ShiftLeft
+
+ ShiftLeft(arg2, i000)
+ CH06(arg0, 92, 50)
+
+ ShiftLeft(i000, arg2)
+ CH06(arg0, 93, 50)
+
+ ShiftLeft(arg2, i000, Local1)
+ CH06(arg0, 94, 50)
+
+ ShiftLeft(i000, arg2, Local1)
+ CH06(arg0, 95, 50)
+
+ // ShiftRight
+
+ ShiftRight(arg2, i000)
+ CH06(arg0, 96, 50)
+
+ ShiftRight(i000, arg2)
+ CH06(arg0, 97, 50)
+
+ ShiftRight(arg2, i000, Local1)
+ CH06(arg0, 98, 50)
+
+ ShiftRight(i000, arg2, Local1)
+ CH06(arg0, 99, 50)
+
+ // Subtract
+
+ Subtract(arg2, i000)
+ CH06(arg0, 100, 50)
+
+ Subtract(i000, arg2)
+ CH06(arg0, 101, 50)
+
+ Subtract(arg2, i000, Local1)
+ CH06(arg0, 102, 50)
+
+ Subtract(i000, arg2, Local1)
+ CH06(arg0, 103, 50)
+
+ // ToString
+
+ ToString(arg2, 1)
+ CH06(arg0, 104, 50)
+
+ ToString(i000, arg2)
+ CH06(arg0, 105, 50)
+
+ ToString(arg2, 1, Local1)
+ CH06(arg0, 106, 50)
+
+ ToString(i000, arg2, Local1)
+ CH06(arg0, 107, 50)
+
+ // Wait
+
+ Wait(arg2, i000)
+ CH06(arg0, 108, 50)
+
+ Wait(e000, arg2)
+ CH06(arg0, 109, 50)
+
+ // XOr
+
+ XOr(arg2, i000)
+ CH06(arg0, 110, 50)
+
+ XOr(i000, arg2)
+ CH06(arg0, 111, 50)
+
+ XOr(arg2, i000, Local1)
+ CH06(arg0, 112, 50)
+
+ XOr(i000, arg2, Local1)
+ CH06(arg0, 113, 50)
+
+ // Mid
+
+ Mid(arg2, 1, 1)
+ CH06(arg0, 114, 50)
+
+ Mid("123", arg2, 1)
+ CH06(arg0, 115, 50)
+
+ Mid("123", 1, arg2)
+ CH06(arg0, 116, 50)
+
+ Mid(arg2, 1, 1, Local1)
+ CH06(arg0, 117, 50)
+
+ Mid("123", arg2, 1, Local1)
+ CH06(arg0, 118, 50)
+
+ Mid("123", 1, arg2, Local1)
+ CH06(arg0, 119, 50)
+
+ // Match
+
+ Match(arg2, MTR, 0, MTR, 0, 0)
+ CH06(arg0, 120, 50)
+
+ Match(Package(){1}, MTR, arg2, MTR, 0, 0)
+ CH06(arg0, 121, 50)
+
+ Match(Package(){1}, MTR, 0, MTR, arg2, 0)
+ CH06(arg0, 122, 50)
+
+ Match(Package(){1}, MTR, 0, MTR, 0, arg2)
+ CH06(arg0, 123, 50)
+ }
+*/
+
+ // Reference to Uninitialized Object
+ Method(m003, 2)
+ {
+ Store(ObjectType(arg1), Local0)
+ if (LNotEqual(Local0, 0)) {
+ err(arg0, z092, 8, 0, 0, Local0, 0)
+ return (1)
+ }
+
+ DeRefOf(arg1)
+ CH03(ts, z092, 10, 0, 0)
+
+ // CondRefOf
+
+ CondRefOf(DeRefOf(arg1))
+ CH06(arg0, 0, 0xff)
+
+ CondRefOf(DeRefOf(arg1), Local1)
+ CH06(arg0, 1, 0xff)
+
+ // CopyObject
+
+ CopyObject(DeRefOf(arg1), Local1)
+ CH06(arg0, 2, 0xff)
+
+ // Decrement
+
+ Decrement(DeRefOf(arg1))
+ CH06(arg0, 3, 0xff)
+
+ // DerefOf
+
+ DerefOf(DeRefOf(arg1))
+ CH06(arg0, 4, 0xff)
+
+ // FindSetLeftBit
+
+ FindSetLeftBit(DeRefOf(arg1))
+ CH06(arg0, 5, 0xff)
+
+ FindSetLeftBit(DeRefOf(arg1), Local1)
+ CH06(arg0, 6, 0xff)
+
+ // FindSetRightBit
+
+ FindSetRightBit(DeRefOf(arg1))
+ CH06(arg0, 7, 0xff)
+
+ FindSetRightBit(DeRefOf(arg1), Local1)
+ CH06(arg0, 8, 0xff)
+
+ // FromBCD
+
+ FromBCD(DeRefOf(arg1))
+ CH06(arg0, 9, 0xff)
+
+ FromBCD(DeRefOf(arg1), Local1)
+ CH06(arg0, 10, 0xff)
+
+ // Increment
+
+ Increment(DeRefOf(arg1))
+ CH06(arg0, 11, 0xff)
+
+ // LNot
+
+ LNot(DeRefOf(arg1))
+ CH06(arg0, 12, 0xff)
+
+ // Not
+
+ Not(DeRefOf(arg1))
+ CH06(arg0, 13, 0xff)
+
+ Not(DeRefOf(arg1), Local1)
+ CH06(arg0, 14, 0xff)
+
+ // ObjectType
+
+ if (X104) {
+ ObjectType(DeRefOf(arg1))
+ CH03(ts, z092, 11, 0, 0)
+ }
+
+ // RefOf
+
+ RefOf(DeRefOf(arg1))
+ CH06(arg0, 15, 0xff)
+
+ // Release
+
+ // Reset
+
+ // Signal
+
+ // SizeOf
+
+ SizeOf(DeRefOf(arg1))
+ CH06(arg0, 16, 0xff)
+
+ // Sleep
+
+ Sleep(DeRefOf(arg1))
+ CH06(arg0, 17, 0xff)
+
+ // Stall
+
+ Stall(DeRefOf(arg1))
+ CH06(arg0, 18, 0xff)
+
+ // Store
+
+ Store(DeRefOf(arg1), Local1)
+ CH06(arg0, 19, 0xff)
+
+ // ToBCD
+
+ ToBCD(DeRefOf(arg1))
+ CH06(arg0, 20, 0xff)
+
+ ToBCD(DeRefOf(arg1), Local1)
+ CH06(arg0, 21, 0xff)
+
+ // ToBuffer
+
+ ToBuffer(DeRefOf(arg1))
+ CH06(arg0, 22, 0xff)
+
+ ToBuffer(DeRefOf(arg1), Local1)
+ CH06(arg0, 23, 0xff)
+
+ // ToDecimalString
+
+ ToDecimalString(DeRefOf(arg1))
+ CH06(arg0, 24, 0xff)
+
+ ToDecimalString(DeRefOf(arg1), Local1)
+ CH06(arg0, 25, 0xff)
+
+ // ToHexString
+
+ ToHexString(DeRefOf(arg1))
+ CH06(arg0, 26, 0xff)
+
+ ToHexString(DeRefOf(arg1), Local1)
+ CH06(arg0, 27, 0xff)
+
+ // ToInteger
+
+ ToInteger(DeRefOf(arg1))
+ CH06(arg0, 28, 0xff)
+
+ ToInteger(DeRefOf(arg1), Local1)
+ CH06(arg0, 29, 0xff)
+
+ // Acquire
+
+ // Add
+
+ Add(DeRefOf(arg1), i000)
+ CH06(arg0, 31, 0xff)
+
+ Add(i000, DeRefOf(arg1))
+ CH06(arg0, 32, 0xff)
+
+ Add(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 33, 0xff)
+
+ Add(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 34, 0xff)
+
+ // And
+
+ And(DeRefOf(arg1), i000)
+ CH06(arg0, 35, 0xff)
+
+ And(i000, DeRefOf(arg1))
+ CH06(arg0, 36, 0xff)
+
+ And(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 37, 0xff)
+
+ And(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 38, 0xff)
+
+ // Concatenate
+
+ Concatenate(DeRefOf(arg1), i000)
+ CH06(arg0, 39, 0xff)
+
+ Concatenate(i000, DeRefOf(arg1))
+ CH06(arg0, 40, 0xff)
+
+ Concatenate(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 41, 0xff)
+
+ Concatenate(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 42, 0xff)
+
+ // ConcatenateResTemplate
+
+ ConcatenateResTemplate(DeRefOf(arg1), ResourceTemplate(){})
+ CH06(arg0, 43, 0xff)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, DeRefOf(arg1))
+ CH06(arg0, 44, 0xff)
+
+ ConcatenateResTemplate(DeRefOf(arg1), ResourceTemplate(){}, Local1)
+ CH06(arg0, 45, 0xff)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, DeRefOf(arg1), Local1)
+ CH06(arg0, 46, 0xff)
+
+ // Divide
+
+ Divide(DeRefOf(arg1), i000)
+ CH06(arg0, 47, 0xff)
+
+ Divide(i000, DeRefOf(arg1))
+ CH06(arg0, 48, 0xff)
+
+ Divide(DeRefOf(arg1), i000, Local2)
+ CH06(arg0, 49, 0xff)
+
+ Divide(i000, DeRefOf(arg1), Local2)
+ CH06(arg0, 50, 0xff)
+
+ Divide(DeRefOf(arg1), i000, Local2, Local1)
+ CH06(arg0, 51, 0xff)
+
+ Divide(i000, DeRefOf(arg1), Local2, Local1)
+ CH06(arg0, 52, 0xff)
+
+ // Fatal
+
+ Fatal(0xff, 0xffffffff, DeRefOf(arg1))
+ CH06(arg0, 53, 0xff)
+
+ // Index
+
+ Index(DeRefOf(arg1), 0)
+ CH06(arg0, 54, 0xff)
+
+ Index("0", DeRefOf(arg1))
+ CH06(arg0, 55, 0xff)
+
+ Index(DeRefOf(arg1), 0, Local1)
+ CH06(arg0, 56, 0xff)
+
+ Index("0", DeRefOf(arg1), Local1)
+ CH06(arg0, 57, 0xff)
+
+ // LEqual
+
+ LEqual(DeRefOf(arg1), i000)
+ CH06(arg0, 58, 0xff)
+
+ LEqual(i000, DeRefOf(arg1))
+ CH06(arg0, 59, 0xff)
+
+ // LGreater
+
+ LGreater(DeRefOf(arg1), i000)
+ CH06(arg0, 60, 0xff)
+
+ LGreater(i000, DeRefOf(arg1))
+ CH06(arg0, 61, 0xff)
+
+ // LGreaterEqual
+
+ LGreaterEqual(DeRefOf(arg1), i000)
+ CH06(arg0, 62, 0xff)
+
+ LGreaterEqual(i000, DeRefOf(arg1))
+ CH06(arg0, 63, 0xff)
+
+ // LLess
+
+ LLess(DeRefOf(arg1), i000)
+ CH06(arg0, 64, 0xff)
+
+ LLess(i000, DeRefOf(arg1))
+ CH06(arg0, 65, 0xff)
+
+ // LLessEqual
+
+ LLessEqual(DeRefOf(arg1), i000)
+ CH06(arg0, 66, 0xff)
+
+ LLessEqual(i000, DeRefOf(arg1))
+ CH06(arg0, 67, 0xff)
+
+ // LNotEqual
+
+ LNotEqual(DeRefOf(arg1), i000)
+ CH06(arg0, 68, 0xff)
+
+ LNotEqual(i000, DeRefOf(arg1))
+ CH06(arg0, 69, 0xff)
+
+ // LOr
+
+ LOr(DeRefOf(arg1), i000)
+ CH06(arg0, 70, 0xff)
+
+ LOr(i000, DeRefOf(arg1))
+ CH06(arg0, 71, 0xff)
+
+ // Mod
+
+ Mod(DeRefOf(arg1), i000)
+ CH06(arg0, 72, 0xff)
+
+ Mod(i000, DeRefOf(arg1))
+ CH06(arg0, 73, 0xff)
+
+ Mod(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 74, 0xff)
+
+ Mod(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 75, 0xff)
+
+ // Multiply
+
+ Multiply(DeRefOf(arg1), i000)
+ CH06(arg0, 76, 0xff)
+
+ Multiply(i000, DeRefOf(arg1))
+ CH06(arg0, 77, 0xff)
+
+ Multiply(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 78, 0xff)
+
+ Multiply(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 79, 0xff)
+
+ // NAnd
+
+ NAnd(DeRefOf(arg1), i000)
+ CH06(arg0, 80, 0xff)
+
+ NAnd(i000, DeRefOf(arg1))
+ CH06(arg0, 81, 0xff)
+
+ NAnd(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 82, 0xff)
+
+ NAnd(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 83, 0xff)
+
+ // NOr
+
+ NOr(DeRefOf(arg1), i000)
+ CH06(arg0, 84, 0xff)
+
+ NOr(i000, DeRefOf(arg1))
+ CH06(arg0, 85, 0xff)
+
+ NOr(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 86, 0xff)
+
+ NOr(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 87, 0xff)
+
+ // Or
+
+ Or(DeRefOf(arg1), i000)
+ CH06(arg0, 88, 0xff)
+
+ Or(i000, DeRefOf(arg1))
+ CH06(arg0, 89, 0xff)
+
+ Or(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 90, 0xff)
+
+ Or(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 91, 0xff)
+
+ // ShiftLeft
+
+ ShiftLeft(DeRefOf(arg1), i000)
+ CH06(arg0, 92, 0xff)
+
+ ShiftLeft(i000, DeRefOf(arg1))
+ CH06(arg0, 93, 0xff)
+
+ ShiftLeft(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 94, 0xff)
+
+ ShiftLeft(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 95, 0xff)
+
+ // ShiftRight
+
+ ShiftRight(DeRefOf(arg1), i000)
+ CH06(arg0, 96, 0xff)
+
+ ShiftRight(i000, DeRefOf(arg1))
+ CH06(arg0, 97, 0xff)
+
+ ShiftRight(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 98, 0xff)
+
+ ShiftRight(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 99, 0xff)
+
+ // Subtract
+
+ Subtract(DeRefOf(arg1), i000)
+ CH06(arg0, 100, 0xff)
+
+ Subtract(i000, DeRefOf(arg1))
+ CH06(arg0, 101, 0xff)
+
+ Subtract(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 102, 0xff)
+
+ Subtract(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 103, 0xff)
+
+ // ToString
+
+ ToString(DeRefOf(arg1), 1)
+ CH06(arg0, 104, 0xff)
+
+ ToString(i000, DeRefOf(arg1))
+ CH06(arg0, 105, 0xff)
+
+ ToString(DeRefOf(arg1), 1, Local1)
+ CH06(arg0, 106, 0xff)
+
+ ToString(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 107, 0xff)
+
+ // Wait
+
+ Wait(e000, DeRefOf(arg1))
+ CH06(arg0, 109, 0xff)
+
+ // XOr
+
+ XOr(DeRefOf(arg1), i000)
+ CH06(arg0, 110, 0xff)
+
+ XOr(i000, DeRefOf(arg1))
+ CH06(arg0, 111, 0xff)
+
+ XOr(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 112, 0xff)
+
+ XOr(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 113, 0xff)
+
+ // Mid
+
+ Mid(DeRefOf(arg1), 1, 1)
+ CH06(arg0, 114, 0xff)
+
+ Mid("123", DeRefOf(arg1), 1)
+ CH06(arg0, 115, 0xff)
+
+ Mid("123", 1, DeRefOf(arg1))
+ CH06(arg0, 116, 0xff)
+
+ Mid(DeRefOf(arg1), 1, 1, Local1)
+ CH06(arg0, 117, 0xff)
+
+ Mid("123", DeRefOf(arg1), 1, Local1)
+ CH06(arg0, 118, 0xff)
+
+ Mid("123", 1, DeRefOf(arg1), Local1)
+ CH06(arg0, 119, 0xff)
+
+ // Match
+
+ Match(DeRefOf(arg1), MTR, 0, MTR, 0, 0)
+ CH06(arg0, 120, 0xff)
+
+ Match(Package(){1}, MTR, DeRefOf(arg1), MTR, 0, 0)
+ CH06(arg0, 121, 0xff)
+
+ Match(Package(){1}, MTR, 0, MTR, DeRefOf(arg1), 0)
+ CH06(arg0, 122, 0xff)
+
+ Match(Package(){1}, MTR, 0, MTR, 0, DeRefOf(arg1))
+ CH06(arg0, 123, 0xff)
+
+ return (0)
+ }
+
+ // Uninitialized Local in Return
+ Method(m004, 1)
+ {
+ if (arg0) {
+ Store(0, Local0)
+ }
+
+ Return (Local0)
+
+ }
+
+ // Uninitialized element of Package in Return
+ Method(m005)
+ {
+ Name(p000, Package(1){})
+
+ Return (DeRefOf(Index(p000, 0)))
+
+ }
+
+/*
+// Causes Remark on compilation
+ // Uninitialized Arg in Return
+ Method(m006, 1)
+ {
+ if (arg0) {
+ Store(0, arg1)
+ }
+
+ Return (arg1)
+
+ }
+*/
+
+ // Uninitialized Local in If
+ Method(m007, 1)
+ {
+ if (arg0) {
+ Store(0, Local0)
+ }
+
+ Store(0, Local1)
+
+ if (Local0) {
+ Store(1, Local1)
+ }
+
+ Return (Local1)
+
+ }
+
+ // Uninitialized element of Package in If
+ Method(m008)
+ {
+ Name(p000, Package(1){})
+
+ Store(0, Local1)
+
+ if (DeRefOf(Index(p000, 0))) {
+ Store(1, Local1)
+ }
+
+ Return (Local1)
+
+ }
+
+/*
+// Causes Remark on compilation
+ // Uninitialized Arg in If
+ Method(m009, 1)
+ {
+ if (arg0) {
+ Store(0, arg1)
+ }
+
+ Store(0, Local1)
+
+ if (arg1) {
+ Store(1, Local1)
+ }
+
+ Return (Local1)
+
+ }
+*/
+
+ // Uninitialized Local in Elseif
+ Method(m00a, 1)
+ {
+ if (arg0) {
+ Store(0, Local0)
+ }
+
+ Store(0, Local1)
+
+ if (arg0) {
+ Store(1, Local1)
+ } elseif (Local0) {
+ Store(2, Local1)
+ }
+
+ Return (Local1)
+
+ }
+
+ // Uninitialized element of Package in Elseif
+ Method(m00b, 1)
+ {
+ Name(p000, Package(1){})
+
+ Store(0, Local1)
+
+ if (arg0) {
+ Store(1, Local1)
+ } elseif (DeRefOf(Index(p000, 0))) {
+ Store(2, Local1)
+ }
+
+ Return (Local1)
+
+ }
+
+/*
+// Causes Remark on compilation
+ // Uninitialized Arg in If
+ Method(m00c, 1)
+ {
+ if (arg0) {
+ Store(0, arg1)
+ }
+
+ Store(0, Local1)
+
+ if (arg0) {
+ Store(1, Local1)
+ } elseif (arg1) {
+ Store(2, Local1)
+ }
+
+ Return (Local1)
+
+ }
+*/
+
+ Name(i001, 0)
+
+ Method(m00d, 1)
+ {
+ Store(1, i001)
+ }
+
+
+ // Uninitialized element of Package as parameter of a method
+ Method(m00e, 1)
+ {
+ Name(p000, Package(1){})
+
+ Store(0, i001)
+ m00d(Derefof(Index(p000, 0)))
+ CH06(arg0, 0, 51)
+ if (LNotEqual(i001, 0)) {
+ err(arg0, z092, 1, 0, 0, i001, 0)
+ }
+
+ Store(0, i001)
+ Store(Index(p000, 0), Local1)
+ m00d(Derefof(Local1))
+ CH06(arg0, 2, 51)
+ if (LNotEqual(i001, 0)) {
+ err(arg0, z092, 3, 0, 0, i001, 0)
+ }
+
+ Store(0, i001)
+ m00d(Derefof(Index(p000, 0, Local2)))
+ CH06(arg0, 4, 51)
+ if (LNotEqual(i001, 0)) {
+ err(arg0, z092, 5, 0, 0, i001, 0)
+ }
+
+ Store(0, i001)
+ Index(p000, 0, Local3)
+ m00d(Derefof(Local3))
+ CH06(arg0, 6, 51)
+ if (LNotEqual(i001, 0)) {
+ err(arg0, z092, 7, 0, 0, i001, 0)
+ }
+
+ Store(0, i001)
+ Store(Index(p000, 0, Local4), Local5)
+ m00d(Derefof(Local5))
+ CH06(arg0, 8, 51)
+ if (LNotEqual(i001, 0)) {
+ err(arg0, z092, 9, 0, 0, i001, 0)
+ }
+ }
+
+ CH03(ts, z092, 12, 0, 0)
+
+ // Uninitialized Local
+ m000(Concatenate(ts, "-m000"), 0)
+
+ // Uninitialized element of Package
+ m001(Concatenate(ts, "-m001"))
+
+/*
+// Causes Remark on compilation
+ // Uninitialized Arg
+ m002(Concatenate(ts, "-m002"), 0)
+*/
+
+ // Reference to Uninitialized Local
+
+ if (arg0) {
+ Store(0, Local0)
+ }
+
+ m003(Concatenate(ts, "-m003-RefLocal"), RefOf(Local0))
+
+ // Reference (Index) to Uninitialized element of Package
+
+ if (y502) {
+ Name(p000, Package(1){})
+
+ if (y113) {
+ m003(Concatenate(ts, "-m003-Index"), Index(p000, 0))
+ }
+
+ Store(Index(p000, 0), Local1)
+ m003(Concatenate(ts, "-m003-Index2"), Local1)
+
+ if (y113) {
+ m003(Concatenate(ts, "-m003-Index3"), Index(p000, 0, Local2))
+ }
+
+ Index(p000, 0, Local3)
+ m003(Concatenate(ts, "-m003-Index4"), Local3)
+
+ Store(Index(p000, 0, Local4), Local5)
+ m003(Concatenate(ts, "-m003-Index5"), Local5)
+ }
+
+ // Uninitialized Local in Return
+ m004(0)
+ CH06(ts, 0, 49)
+
+ // Uninitialized element of Package in Return
+ if (y502) {
+ m005()
+ CH06(ts, 1, 51)
+ }
+
+/*
+// Causes Remark on compilation
+ // Uninitialized Arg in Return
+ m006(0)
+ CH06(ts, 2, 50)
+*/
+
+ // Uninitialized Local in If
+ m007(0)
+ CH06(ts, 3, 49)
+
+ // Uninitialized element of Package in If
+ if (y502) {
+ m008()
+ CH06(ts, 4, 51)
+ }
+
+/*
+// Causes Remark on compilation
+ // Uninitialized Arg in If
+ m009(0)
+ CH06(ts, 5, 50)
+*/
+
+ // Uninitialized Local in Elseif
+ m00a(0)
+ CH06(ts, 6, 49)
+
+ // Uninitialized element of Package in Elseif
+ if (y502) {
+ m00b(0)
+ CH06(ts, 7, 51)
+ }
+
+/*
+// Causes Remark on compilation
+ // Uninitialized Arg in Elseif
+ m00c(0)
+ CH06(ts, 8, 50)
+*/
+
+ // Uninitialized Local as parameter of a method
+ Store(0, i001)
+ m00d(Local0)
+ CH06(ts, 9, 49)
+ if (LNotEqual(i001, 0)) {
+ err(ts, z092, 10, 0, 0, i001, 0)
+ }
+
+ // Uninitialized element of Package as parameter of a method
+ if (y502) {
+ m00e(Concatenate(ts, "-m00e"))
+ }
+
+/*
+// Causes Remark on compilation
+ // Uninitialized Arg as parameter of a method
+ Store(0, i001)
+ m00d(Arg1)
+ CH06(ts, 11, 50)
+ if (LNotEqual(i001, 0)) {
+ err(ts, z092, 12, i001, 0)
+ }
+*/
+}
diff --git a/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_01_int.asl b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_01_int.asl
new file mode 100644
index 000000000..dcfc57544
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_01_int.asl
@@ -0,0 +1,510 @@
+/*
+ * 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.
+ */
+
+/*
+ * Integer
+ *
+ * (verify exceptions caused by the imprope use of Integer type objects)
+ */
+
+Name(z093, 93)
+
+Name(i100, 0xabcd1234)
+
+// Expected exceptions:
+//
+// 47 - AE_AML_OPERAND_TYPE
+// Note: an object reference is defined by spec
+// to be an Integer, nevertheless it is supposed
+// that the product should distinguish Integer Data
+// from a reference.
+//
+Method(m4b1, 1)
+{
+ Name(ts, "m4b1")
+
+ Name(i000, 0x76543210)
+
+ Event(e000)
+
+ // Local Named Object
+ Method(m000, 1)
+ {
+ Name(i000, 0x89abcdef)
+
+ // DerefOf
+
+ if (y083) {
+ DerefOf(i000)
+ CH06(arg0, 0, 47)
+ }
+
+ // Index
+
+ Index(i000, 0)
+ CH06(arg0, 1, 47)
+
+ Index(i000, 0, Local1)
+ CH06(arg0, 2, 47)
+
+ // ConcatenateResTemplate
+
+ ConcatenateResTemplate(i000, ResourceTemplate(){})
+ CH06(arg0, 3, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, i000)
+ CH06(arg0, 4, 47)
+
+ ConcatenateResTemplate(i000, ResourceTemplate(){}, Local1)
+ CH06(arg0, 5, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, i000, Local1)
+ CH06(arg0, 6, 47)
+
+ }
+
+ // Global Named Object
+ Method(m001, 1)
+ {
+ // DerefOf
+
+ if (y083) {
+ DerefOf(i100)
+ CH06(arg0, 7, 47)
+ }
+
+ // Index
+
+ Index(i100, 0)
+ CH06(arg0, 8, 47)
+
+ Index(i100, 0, Local1)
+ CH06(arg0, 9, 47)
+
+ // ConcatenateResTemplate
+
+ ConcatenateResTemplate(i100, ResourceTemplate(){})
+ CH06(arg0, 10, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, i100)
+ CH06(arg0, 11, 47)
+
+ ConcatenateResTemplate(i100, ResourceTemplate(){}, Local1)
+ CH06(arg0, 12, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, i100, Local1)
+ CH06(arg0, 13, 47)
+ }
+
+ // Argument
+ Method(m002, 2)
+ {
+ // DerefOf
+
+ DerefOf(arg1)
+ CH06(arg0, 14, 47)
+
+ // Release
+
+ Release(arg1)
+ CH06(arg0, 15, 47)
+
+ // Reset
+
+ Reset(arg1)
+ CH06(arg0, 16, 47)
+
+ // Signal
+
+ Signal(arg1)
+ CH06(arg0, 17, 47)
+
+ // Acquire
+
+ Acquire(arg1, 0)
+ CH06(arg0, 18, 47)
+
+ // ConcatenateResTemplate
+
+ ConcatenateResTemplate(arg1, ResourceTemplate(){})
+ CH06(arg0, 19, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, arg1)
+ CH06(arg0, 20, 47)
+
+ ConcatenateResTemplate(arg1, ResourceTemplate(){}, Local1)
+ CH06(arg0, 21, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, arg1, Local1)
+ CH06(arg0, 22, 47)
+
+ // Index
+
+ Index(arg1, 0)
+ CH06(arg0, 23, 47)
+
+ Index(arg1, 0, Local1)
+ CH06(arg0, 24, 47)
+
+ // Wait
+
+ Wait(arg1, 0)
+ CH06(arg0, 25, 47)
+
+ // Match
+
+ Match(arg1, MTR, 0, MTR, 0, 0)
+ CH06(arg0, 26, 47)
+ }
+
+ // Local
+ Method(m003, 1)
+ {
+ Store(0x89abcdef, Local0)
+
+ // DerefOf
+
+ DerefOf(Local0)
+ CH06(arg0, 27, 47)
+
+ // Release
+
+ Release(Local0)
+ CH06(arg0, 28, 47)
+
+ // Reset
+
+ Reset(Local0)
+ CH06(arg0, 29, 47)
+
+ // Signal
+
+ Signal(Local0)
+ CH06(arg0, 30, 47)
+
+ // Acquire
+
+ Acquire(Local0, 0)
+ CH06(arg0, 31, 47)
+
+ // ConcatenateResTemplate
+
+ ConcatenateResTemplate(Local0, ResourceTemplate(){})
+ CH06(arg0, 32, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, Local0)
+ CH06(arg0, 33, 47)
+
+ ConcatenateResTemplate(Local0, ResourceTemplate(){}, Local1)
+ CH06(arg0, 34, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, Local0, Local1)
+ CH06(arg0, 35, 47)
+
+ // Index
+
+ Index(Local0, 0)
+ CH06(arg0, 36, 47)
+
+ Index(Local0, 0, Local1)
+ CH06(arg0, 37, 47)
+
+ // Wait
+
+ Wait(Local0, 0)
+ CH06(arg0, 38, 47)
+
+ // Match
+
+ Match(Local0, MTR, 0, MTR, 0, 0)
+ CH06(arg0, 39, 47)
+ }
+
+ // An element of Package
+ Method(m004, 1)
+ {
+ Name(p000, Package(){0x89abcdef})
+
+ // DeRefOf(Index(Package, Ind))
+
+ DerefOf(DeRefOf(Index(p000, 0)))
+ CH06(arg0, 40, 47)
+
+ Index(DeRefOf(Index(p000, 0)), 0)
+ CH06(arg0, 41, 47)
+
+ Match(DeRefOf(Index(p000, 0)), MTR, 0, MTR, 0, 0)
+ CH06(arg0, 42, 47)
+
+ // DeRefOf(Index(Package, Ind, Dest))
+
+ DerefOf(DeRefOf(Index(p000, 0, Local0)))
+ CH06(arg0, 43, 47)
+
+ Index(DeRefOf(Index(p000, 0, Local0)), 0)
+ CH06(arg0, 44, 47)
+
+ Match(DeRefOf(Index(p000, 0, Local0)), MTR, 0, MTR, 0, 0)
+ CH06(arg0, 45, 47)
+ }
+
+ // Reference to Object
+ Method(m005, 2)
+ {
+ Store(arg0, Debug)
+ Store(arg1, Debug)
+
+ Store(ObjectType(arg1), Local0)
+ if (LNotEqual(Local0, 1)) {
+ err(arg0, z093, 46, 0, 0, Local0, 1)
+ return (1)
+ }
+
+ DerefOf(arg1)
+ CH03(ts, z093, 0, 0, 0)
+
+ DerefOf(DerefOf(arg1))
+ CH06(arg0, 47, 47)
+
+ Index(DerefOf(arg1), 0)
+ CH06(arg0, 48, 47)
+
+ Match(DerefOf(arg1), MTR, 0, MTR, 0, 0)
+ CH06(arg0, 49, 47)
+
+ return (0)
+ }
+
+ // Result of Method invocation
+ Method(m006, 1)
+ {
+ Name(i000, 0) // Label to check m000 invocations
+
+ Method(m000, 1)
+ {
+ Store(arg0, i000)
+ Store(0x89abcdef, Local0)
+ Return (Local0)
+ }
+
+ Method(CH00, 2)
+ {
+ if (LNotEqual(i000, arg1)) {
+ err(arg0, z093, 50, 0, 0, i000, arg1)
+ }
+ }
+
+ DerefOf(m000(1))
+ CH06(arg0, 51, 47)
+ CH00(arg0, 1)
+
+ Release(m000(2))
+ CH06(arg0, 52, 47)
+ if (y600) {
+ CH00(arg0, 2)
+ }
+
+ Reset(m000(3))
+ CH06(arg0, 53, 47)
+ if (y600) {
+ CH00(arg0, 3)
+ }
+
+ Signal(m000(4))
+ CH06(arg0, 54, 47)
+ if (y600) {
+ CH00(arg0, 4)
+ }
+
+ Acquire(m000(5), 0)
+ CH06(arg0, 55, 47)
+ if (y600) {
+ CH00(arg0, 5)
+ }
+
+ Index(m000(6), 0)
+ CH06(arg0, 56, 47)
+ CH00(arg0, 6)
+
+ Wait(m000(7), 0)
+ CH06(arg0, 57, 47)
+ if (y600) {
+ CH00(arg0, 7)
+ }
+
+ Match(m000(8), MTR, 0, MTR, 0, 0)
+ CH06(arg0, 58, 47)
+ CH00(arg0, 8)
+ }
+
+ // Reference to Object as Result of Method invocation
+ Method(m007, 1)
+ {
+ Name(i000, 0x89abcdef)
+
+ Name(i001, 0) // Label to check m000 invocations
+
+ Method(m000, 2)
+ {
+ Store(arg0, i001)
+ if (LEqual(arg1, 0)) {
+ Store(Refof(i100), Local0)
+ } elseif (LEqual(arg1, 1)) {
+ Store(Refof(i000), Local0)
+ }
+ Return (Local0)
+ }
+
+ Method(CH00, 2)
+ {
+ if (LNotEqual(i001, arg1)) {
+ err(arg0, z093, 59, 0, 0, i000, arg1)
+ }
+ }
+
+ Name(lpN0, 2)
+ Name(lpC0, 0)
+
+ While (lpN0) {
+ Multiply(3, lpC0, Local0)
+
+ Store(0, i001)
+
+ DerefOf(m000(1, lpC0))
+ CH03(ts, z093, Add(1, lpC0), 0, 0)
+ CH00(arg0, 1)
+
+ DerefOf(DerefOf(m000(2, lpC0)))
+ CH06(arg0, Add(60, Local0), 47)
+ CH00(arg0, 2)
+
+ Index(DerefOf(m000(3, lpC0)), 0)
+ CH06(arg0, Add(61, Local0), 47)
+ CH00(arg0, 3)
+
+ Match(DerefOf(m000(4, lpC0)), MTR, 0, MTR, 0, 0)
+ CH06(arg0, Add(62, Local0), 47)
+ CH00(arg0, 4)
+
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+ }
+
+ CH03(ts, z093, 3, 0, 0)
+
+ // Local Named Object
+ m000(ts)
+
+ // Global Named Object
+ m001(ts)
+
+ // Argument
+ m002(ts, 0x76543210)
+
+ // Local
+ m003(ts)
+
+ // An element of Package
+ m004(ts)
+
+
+ // Reference to Local Named Object
+
+ m005(Concatenate(ts, "-m005-RefLocName"), RefOf(i000))
+
+ Store(RefOf(i000), Local0)
+ m005(Concatenate(ts, "-m005-RefLocName2"), Local0)
+
+ CondRefOf(i000, Local0)
+ m005(Concatenate(ts, "-m005-CondRefLocName"), Local0)
+
+ m005(Concatenate(ts, "-m005-RefGlobName"), RefOf(i100))
+
+ Store(RefOf(i100), Local0)
+ m005(Concatenate(ts, "-m005-RefGlobName2"), Local0)
+
+ CondRefOf(i100, Local0)
+ m005(Concatenate(ts, "-m005-CondRefGlobName"), Local0)
+
+
+ // Reference to Local
+
+ Store(0x89abcdef, Local0)
+
+ m005(Concatenate(ts, "-m005-RefLocal"), RefOf(Local0))
+
+ Store(RefOf(Local0), Local1)
+ m005(Concatenate(ts, "-m005-RefLocal2"), Local1)
+
+ CondRefOf(Local0, Local1)
+ m005(Concatenate(ts, "-m005-CondRefLocal"), Local1)
+
+
+ // Reference to Arg
+
+ m005(Concatenate(ts, "-m005-RefArg"), RefOf(arg0))
+
+ Store(RefOf(arg0), Local0)
+ m005(Concatenate(ts, "-m005-RefArg2"), Local0)
+
+ CondRefOf(arg0, Local0)
+ m005(Concatenate(ts, "-m005-CondRefArg"), Local0)
+
+
+ // Index to Package
+
+ Name(p000, Package(){0x76543210})
+
+ if (y113) {
+ m005(Concatenate(ts, "-m005-Index"), Index(p000, 0))
+ }
+
+ Store(Index(p000, 0), Local0)
+ m005(Concatenate(ts, "-m005-Index2"), Local0)
+
+ if (y113) {
+ m005(Concatenate(ts, "-m005-Index3"), Index(p000, 0, Local0))
+ }
+
+ Index(p000, 0, Local0)
+ m005(Concatenate(ts, "-m005-Index4"), Local0)
+
+ Store(Index(p000, 0, Local0), Local1)
+ m005(Concatenate(ts, "-m005-Index5"), Local1)
+
+ // Result of Method invocation
+ m006(ts)
+
+ // Reference to Object as Result of Method invocation
+ if (y500) {
+ m007(ts)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_02_str.asl b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_02_str.asl
new file mode 100644
index 000000000..6605f777c
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_02_str.asl
@@ -0,0 +1,510 @@
+/*
+ * 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.
+ */
+
+/*
+ * String
+ *
+ * (verify exceptions caused by the imprope use of String type objects)
+ */
+
+Name(z094, 94)
+
+Name(s100, "1")
+
+// Expected exceptions:
+//
+// 47 - AE_AML_OPERAND_TYPE
+// 5 - AE_NOT_FOUND (when DerefOf(String))
+//
+// Note: String can be used with DerefOf and Index
+Method(m4b2, 1)
+{
+ Name(ts, "m4b2")
+
+ Name(s000, "2")
+
+ // Local Named Object
+ Method(m000, 1)
+ {
+ Name(s000, "3")
+
+ // DerefOf
+
+ if (y083) {
+ DerefOf(s000)
+ CH06(arg0, 0, 47)
+ }
+
+ // Index
+
+ Index(s000, 0)
+ CH03(ts, z094, 0, 0, 0)
+
+ Index(s000, 0, Local1)
+ CH03(ts, z094, 1, 0, 0)
+
+ // ConcatenateResTemplate
+
+ ConcatenateResTemplate(s000, ResourceTemplate(){})
+ CH06(arg0, 1, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, s000)
+ CH06(arg0, 2, 47)
+
+ ConcatenateResTemplate(s000, ResourceTemplate(){}, Local1)
+ CH06(arg0, 3, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, s000, Local1)
+ CH06(arg0, 4, 47)
+
+ }
+
+ // Global Named Object
+ Method(m001, 1)
+ {
+ if (y083) {
+ DerefOf(s100)
+ CH06(arg0, 5, 47)
+ }
+
+ // Index
+
+ Index(s100, 0)
+ CH03(ts, z094, 2, 0, 0)
+
+ Index(s100, 0, Local1)
+ CH03(ts, z094, 3, 0, 0)
+
+ // ConcatenateResTemplate
+
+ ConcatenateResTemplate(s100, ResourceTemplate(){})
+ CH06(arg0, 6, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, s100)
+ CH06(arg0, 7, 47)
+
+ ConcatenateResTemplate(s100, ResourceTemplate(){}, Local1)
+ CH06(arg0, 8, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, s100, Local1)
+ CH06(arg0, 9, 47)
+
+ }
+
+ // Argument
+ Method(m002, 2)
+ {
+ // DerefOf
+
+ DerefOf(arg1)
+ CH06(arg0, 10, 47)
+
+ // Release
+
+ Release(arg1)
+ CH06(arg0, 11, 47)
+
+ // Reset
+
+ Reset(arg1)
+ CH06(arg0, 12, 47)
+
+ // Signal
+
+ Signal(arg1)
+ CH06(arg0, 13, 47)
+
+ // Acquire
+
+ Acquire(arg1, 0)
+ CH06(arg0, 14, 47)
+
+ // ConcatenateResTemplate
+
+ ConcatenateResTemplate(arg1, ResourceTemplate(){})
+ CH06(arg0, 15, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, arg1)
+ CH06(arg0, 16, 47)
+
+ ConcatenateResTemplate(arg1, ResourceTemplate(){}, Local1)
+ CH06(arg0, 17, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, arg1, Local1)
+ CH06(arg0, 18, 47)
+
+ // Index
+
+ Index(arg1, 0)
+ CH03(ts, z094, 4, 0, 0)
+
+ Index(arg1, 0, Local1)
+ CH03(ts, z094, 5, 0, 0)
+
+ // Wait
+
+ Wait(arg1, 0)
+ CH06(arg0, 19, 47)
+
+ // Match
+
+ Match(arg1, MTR, 0, MTR, 0, 0)
+ CH06(arg0, 20, 47)
+ }
+
+ // Local
+ Method(m003, 1)
+ {
+ Store("3", Local0)
+
+ // DerefOf
+
+ DerefOf(Local0)
+ CH06(arg0, 21, 47)
+
+ // Release
+
+ Release(Local0)
+ CH06(arg0, 22, 47)
+
+ // Reset
+
+ Reset(Local0)
+ CH06(arg0, 23, 47)
+
+ // Signal
+
+ Signal(Local0)
+ CH06(arg0, 24, 47)
+
+ // Acquire
+
+ Acquire(Local0, 0)
+ CH06(arg0, 25, 47)
+
+ // ConcatenateResTemplate
+
+ ConcatenateResTemplate(Local0, ResourceTemplate(){})
+ CH06(arg0, 26, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, Local0)
+ CH06(arg0, 27, 47)
+
+ ConcatenateResTemplate(Local0, ResourceTemplate(){}, Local1)
+ CH06(arg0, 28, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, Local0, Local1)
+ CH06(arg0, 29, 47)
+
+ // Index
+
+ Index(Local0, 0)
+ CH03(ts, z094, 6, 0, 0)
+
+ Index(Local0, 0, Local1)
+ CH03(ts, z094, 7, 0, 0)
+
+ // Wait
+
+ Wait(Local0, 0)
+ CH06(arg0, 30, 47)
+
+ // Match
+
+ Match(Local0, MTR, 0, MTR, 0, 0)
+ CH06(arg0, 31, 47)
+ }
+
+ // An element of Package
+ Method(m004, 1)
+ {
+ Name(p000, Package(){"3"})
+
+ // DeRefOf(Index(Package, Ind))
+
+ DerefOf(DeRefOf(Index(p000, 0)))
+ CH06(arg0, 32, 5)
+
+ Index(DeRefOf(Index(p000, 0)), 0)
+ CH03(ts, z094, 8, 0, 0)
+
+ Match(DeRefOf(Index(p000, 0)), MTR, 0, MTR, 0, 0)
+ CH06(arg0, 33, 47)
+
+ // DeRefOf(Index(Package, Ind, Dest))
+
+ DerefOf(DeRefOf(Index(p000, 0, Local0)))
+ CH06(arg0, 34, 5)
+
+ Index(DeRefOf(Index(p000, 0, Local0)), 0)
+ CH03(ts, z094, 9, 0, 0)
+
+ Match(DeRefOf(Index(p000, 0, Local0)), MTR, 0, MTR, 0, 0)
+ CH06(arg0, 35, 47)
+ }
+
+ // Reference to Object
+ Method(m005, 2)
+ {
+ Store(arg0, Debug)
+ Store(arg1, Debug)
+
+ Store(ObjectType(arg1), Local0)
+ if (LNotEqual(Local0, 2)) {
+ err(arg0, z094, 36, 0, 0, Local0, 2)
+ return (1)
+ }
+
+ DerefOf(arg1)
+ CH03(ts, z094, 10, 0, 0)
+
+ DerefOf(DerefOf(arg1))
+ CH06(arg0, 37, 5)
+
+ Index(DerefOf(arg1), 0)
+ CH03(ts, z094, 11, 0, 0)
+
+ Match(DerefOf(arg1), MTR, 0, MTR, 0, 0)
+ CH06(arg0, 38, 47)
+
+ return (0)
+ }
+
+ // Result of Method invocation
+ Method(m006, 1)
+ {
+ Name(i000, 0) // Label to check m000 invocations
+
+ Method(m000, 1)
+ {
+ Store(arg0, i000)
+ Store("3", Local0)
+ Return (Local0)
+ }
+
+ Method(CH00, 2)
+ {
+ if (LNotEqual(i000, arg1)) {
+ err(arg0, z094, 39, 0, 0, i000, arg1)
+ }
+ }
+
+ DerefOf(m000(1))
+ CH06(arg0, 40, 5)
+ CH00(arg0, 1)
+
+ Release(m000(2))
+ CH06(arg0, 41, 47)
+ if (y600) {
+ CH00(arg0, 2)
+ }
+
+ Reset(m000(3))
+ CH06(arg0, 42, 47)
+ if (y600) {
+ CH00(arg0, 3)
+ }
+
+ Signal(m000(4))
+ CH06(arg0, 43, 47)
+ if (y600) {
+ CH00(arg0, 4)
+ }
+
+ Acquire(m000(5), 0)
+ CH06(arg0, 44, 47)
+ if (y600) {
+ CH00(arg0, 5)
+ }
+
+ CH03(ts, z094, 12, 0, 0)
+ Index(m000(6), 0)
+ if (y900) {
+ CH03(ts, z094, 12, 0, 0)
+ CH00(arg0, 6)
+ } else {
+ CH04(ts, 0, 85, z094, 0x123, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+ }
+
+ Wait(m000(7), 0)
+ CH06(arg0, 45, 47)
+ if (y600) {
+ CH00(arg0, 7)
+ }
+
+ Match(m000(8), MTR, 0, MTR, 0, 0)
+ CH06(arg0, 46, 47)
+ CH00(arg0, 8)
+ }
+
+ // Reference to Object as Result of Method invocation
+ Method(m007, 1)
+ {
+ Name(s000, "3")
+
+ Name(i000, 0) // Label to check m000 invocations
+
+ Method(m000, 2)
+ {
+ Store(arg0, i000)
+ if (LEqual(arg1, 0)) {
+ Store(Refof(s100), Local0)
+ } elseif (LEqual(arg1, 1)) {
+ Store(Refof(s000), Local0)
+ }
+ Return (Local0)
+ }
+
+ Method(CH00, 2)
+ {
+ if (LNotEqual(i000, arg1)) {
+ err(arg0, z094, 47, 0, 0, i000, arg1)
+ }
+ }
+
+ Name(lpN0, 2)
+ Name(lpC0, 0)
+
+ While (lpN0) {
+ Multiply(3, lpC0, Local0)
+
+ Store(0, i000)
+
+ DerefOf(m000(1, lpC0))
+ CH03(ts, z094, Add(13, lpC0), 0, 0)
+ CH00(arg0, 1)
+
+ DerefOf(DerefOf(m000(2, lpC0)))
+ CH06(arg0, Add(48, Local0), 47)
+ CH00(arg0, 2)
+
+ Index(DerefOf(m000(3, lpC0)), 0)
+ CH06(arg0, Add(49, Local0), 47)
+ CH00(arg0, 3)
+
+ Match(DerefOf(m000(4, lpC0)), MTR, 0, MTR, 0, 0)
+ CH06(arg0, Add(50, Local0), 47)
+ CH00(arg0, 4)
+
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+ }
+
+ CH03(ts, z094, 15, 0, 0)
+
+ // Local Named Object
+ m000(ts)
+
+ // Global Named Object
+ m001(ts)
+
+ // Argument
+ m002(ts, "2")
+
+ // Local
+ m003(ts)
+
+ // An element of Package
+ m004(ts)
+
+
+ // Reference to Local Named Object
+
+ m005(Concatenate(ts, "-m005-RefLocName"), RefOf(s000))
+
+ Store(RefOf(s000), Local0)
+ m005(Concatenate(ts, "-m005-RefLocName2"), Local0)
+
+ CondRefOf(s000, Local0)
+ m005(Concatenate(ts, "-m005-CondRefLocName"), Local0)
+
+ m005(Concatenate(ts, "-m005-RefGlobName"), RefOf(s100))
+
+ Store(RefOf(s100), Local0)
+ m005(Concatenate(ts, "-m005-RefGlobName2"), Local0)
+
+ CondRefOf(s100, Local0)
+ m005(Concatenate(ts, "-m005-CondRefGlobName"), Local0)
+
+
+ // Reference to Local
+
+ Store("2", Local0)
+
+ m005(Concatenate(ts, "-m005-RefLocal"), RefOf(Local0))
+
+ Store(RefOf(Local0), Local1)
+ m005(Concatenate(ts, "-m005-RefLocal2"), Local1)
+
+ CondRefOf(Local0, Local1)
+ m005(Concatenate(ts, "-m005-CondRefLocal"), Local1)
+
+
+ // Reference to Arg
+
+ m005(Concatenate(ts, "-m005-RefArg"), RefOf(arg0))
+
+ Store(RefOf(arg0), Local0)
+ m005(Concatenate(ts, "-m005-RefArg2"), Local0)
+
+ CondRefOf(arg0, Local0)
+ m005(Concatenate(ts, "-m005-CondRefArg"), Local0)
+
+
+ // Index to Package
+
+ Name(p000, Package(){"2"})
+
+ if (y113) {
+ m005(Concatenate(ts, "-m005-Index"), Index(p000, 0))
+ }
+
+ Store(Index(p000, 0), Local0)
+ m005(Concatenate(ts, "-m005-Index2"), Local0)
+
+ if (y113) {
+ m005(Concatenate(ts, "-m005-Index3"), Index(p000, 0, Local0))
+ }
+
+ Index(p000, 0, Local0)
+ m005(Concatenate(ts, "-m005-Index4"), Local0)
+
+ Store(Index(p000, 0, Local0), Local1)
+ m005(Concatenate(ts, "-m005-Index5"), Local1)
+
+ // Result of Method invocation
+ m006(ts)
+
+ // Reference to Object as Result of Method invocation
+ if (y500) {
+ m007(ts)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_03_buf.asl b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_03_buf.asl
new file mode 100644
index 000000000..072d3180f
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_03_buf.asl
@@ -0,0 +1,400 @@
+/*
+ * 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.
+ */
+
+/*
+ * Buffer
+ *
+ * (verify exceptions caused by the imprope use of Buffer type objects)
+ */
+
+Name(z095, 95)
+
+Name(b100, Buffer(){0x61})
+
+// Expected exceptions:
+//
+// 47 - AE_AML_OPERAND_TYPE
+// Note: Buffer can be used with Index
+Method(m4b3, 1)
+{
+ Name(ts, "m4b3")
+
+ Name(b000, Buffer(){0x62})
+
+ // Local Named Object
+ Method(m000, 1)
+ {
+ Name(b000, Buffer(){0x63})
+
+ if (y083) {
+ DerefOf(b000)
+ CH06(arg0, 0, 47)
+ }
+
+ Index(b000, 0)
+ CH03(ts, z095, 0, 0, 0)
+ }
+
+ // Global Named Object
+ Method(m001, 1)
+ {
+ if (y083) {
+ DerefOf(b100)
+ CH06(arg0, 1, 47)
+ }
+
+ Index(b100, 0)
+ CH03(ts, z095, 1, 0, 0)
+ }
+
+ // Argument
+ Method(m002, 2)
+ {
+ DerefOf(arg1)
+ CH06(arg0, 2, 47)
+
+ Release(arg1)
+ CH06(arg0, 3, 47)
+
+ Reset(arg1)
+ CH06(arg0, 4, 47)
+
+ Signal(arg1)
+ CH06(arg0, 5, 47)
+
+ Acquire(arg1, 0)
+ CH06(arg0, 6, 47)
+
+ Index(arg1, 0)
+ CH03(ts, z095, 2, 0, 0)
+
+ Wait(arg1, 0)
+ CH06(arg0, 7, 47)
+
+ Match(arg1, MTR, 0, MTR, 0, 0)
+ CH06(arg0, 8, 47)
+ }
+
+ // Local
+ Method(m003, 1)
+ {
+ Store(Buffer(){0x63}, Local0)
+
+ DerefOf(Local0)
+ CH06(arg0, 9, 47)
+
+ Release(Local0)
+ CH06(arg0, 10, 47)
+
+ Reset(Local0)
+ CH06(arg0, 11, 47)
+
+ Signal(Local0)
+ CH06(arg0, 12, 47)
+
+ Acquire(Local0, 0)
+ CH06(arg0, 13, 47)
+
+ Index(Local0, 0)
+ CH03(ts, z095, 3, 0, 0)
+
+ Wait(Local0, 0)
+ CH06(arg0, 14, 47)
+
+ Match(Local0, MTR, 0, MTR, 0, 0)
+ CH06(arg0, 15, 47)
+ }
+
+ // An element of Package
+ Method(m004, 1)
+ {
+ Name(p000, Package(){Buffer(){0x63}})
+
+ // DeRefOf(Index(Package, Ind))
+
+ DerefOf(DeRefOf(Index(p000, 0)))
+ CH06(arg0, 16, 47)
+
+ Index(DeRefOf(Index(p000, 0)), 0)
+ CH03(ts, z095, 4, 0, 0)
+
+ Match(DeRefOf(Index(p000, 0)), MTR, 0, MTR, 0, 0)
+ CH06(arg0, 17, 47)
+
+ // DeRefOf(Index(Package, Ind, Dest))
+
+ DerefOf(DeRefOf(Index(p000, 0, Local0)))
+ CH06(arg0, 18, 47)
+
+ Index(DeRefOf(Index(p000, 0, Local0)), 0)
+ CH03(ts, z095, 5, 0, 0)
+
+ Match(DeRefOf(Index(p000, 0, Local0)), MTR, 0, MTR, 0, 0)
+ CH06(arg0, 19, 47)
+ }
+
+ // Reference to Object
+ Method(m005, 2)
+ {
+ Store(arg0, Debug)
+ Store(arg1, Debug)
+
+ Store(ObjectType(arg1), Local0)
+ if (LNotEqual(Local0, 3)) {
+ err(arg0, z095, 20, 0, 0, Local0, 3)
+ return (1)
+ }
+
+ DerefOf(arg1)
+ CH03(ts, z095, 6, 0, 0)
+
+ DerefOf(DerefOf(arg1))
+ CH06(arg0, 21, 47)
+
+ Index(DerefOf(arg1), 0)
+ CH03(ts, z095, 7, 0, 0)
+
+ Match(DerefOf(arg1), MTR, 0, MTR, 0, 0)
+ CH06(arg0, 22, 47)
+
+ return (0)
+ }
+
+ // Result of Method invocation
+ Method(m006, 1)
+ {
+ Name(i000, 0) // Label to check m000 invocations
+
+ Method(m000, 1)
+ {
+ Store(arg0, i000)
+ Store(Buffer(){0x63}, Local0)
+ Return (Local0)
+ }
+
+ Method(CH00, 2)
+ {
+ if (LNotEqual(i000, arg1)) {
+ err(arg0, z095, 23, 0, 0, i000, arg1)
+ }
+ }
+
+ DerefOf(m000(1))
+ CH06(arg0, 24, 47)
+ CH00(arg0, 1)
+
+ Release(m000(2))
+ CH06(arg0, 25, 47)
+ if (y600) {
+ CH00(arg0, 2)
+ }
+
+ Reset(m000(3))
+ CH06(arg0, 26, 47)
+ if (y600) {
+ CH00(arg0, 3)
+ }
+
+ Signal(m000(4))
+ CH06(arg0, 27, 47)
+ if (y600) {
+ CH00(arg0, 4)
+ }
+
+ Acquire(m000(5), 0)
+ CH06(arg0, 28, 47)
+ if (y600) {
+ CH00(arg0, 5)
+ }
+
+ CH03(ts, z095, 12, 0, 0)
+ Index(m000(6), 0)
+ if (y900) {
+ CH03(ts, z095, 8, 0, 0)
+ CH00(arg0, 6)
+ } else {
+ CH04(ts, 0, 85, z095, 0x123, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+ }
+
+ Wait(m000(7), 0)
+ CH06(arg0, 29, 47)
+ if (y600) {
+ CH00(arg0, 7)
+ }
+
+ Match(m000(8), MTR, 0, MTR, 0, 0)
+ CH06(arg0, 30, 47)
+ CH00(arg0, 8)
+ }
+
+ // Reference to Object as Result of Method invocation
+ Method(m007, 1)
+ {
+ Name(b000, Buffer(){0x63})
+
+ Name(i000, 0) // Label to check m000 invocations
+
+ Method(m000, 2)
+ {
+ Store(arg0, i000)
+ if (LEqual(arg1, 0)) {
+ Store(Refof(b100), Local0)
+ } elseif (LEqual(arg1, 1)) {
+ Store(Refof(b000), Local0)
+ }
+ Return (Local0)
+ }
+
+ Method(CH00, 2)
+ {
+ if (LNotEqual(i000, arg1)) {
+ err(arg0, z095, 31, 0, 0, i000, arg1)
+ }
+ }
+
+ Name(lpN0, 2)
+ Name(lpC0, 0)
+
+ While (lpN0) {
+ Multiply(3, lpC0, Local0)
+
+ Store(0, i000)
+
+ DerefOf(m000(1, lpC0))
+ CH03(ts, z095, Add(9, lpC0), 0, 0)
+ CH00(arg0, 1)
+
+ DerefOf(DerefOf(m000(2, lpC0)))
+ CH06(arg0, Add(32, Local0), 47)
+ CH00(arg0, 2)
+
+ Index(DerefOf(m000(3, lpC0)), 0)
+ CH06(arg0, Add(33, Local0), 47)
+ CH00(arg0, 3)
+
+ Match(DerefOf(m000(4, lpC0)), MTR, 0, MTR, 0, 0)
+ CH06(arg0, Add(34, Local0), 47)
+ CH00(arg0, 4)
+
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+ }
+
+ CH03(ts, z095, 11, 0, 0)
+
+ // Local Named Object
+ m000(ts)
+
+ // Global Named Object
+ m001(ts)
+
+ // Argument
+ m002(ts, Buffer(){0x62})
+
+ // Local
+ m003(ts)
+
+ // An element of Package
+ m004(ts)
+
+
+ // Reference to Local Named Object
+
+ m005(Concatenate(ts, "-m005-RefLocName"), RefOf(b000))
+
+ Store(RefOf(b000), Local0)
+ m005(Concatenate(ts, "-m005-RefLocName2"), Local0)
+
+ CondRefOf(b000, Local0)
+ m005(Concatenate(ts, "-m005-CondRefLocName"), Local0)
+
+ m005(Concatenate(ts, "-m005-RefGlobName"), RefOf(b100))
+
+ Store(RefOf(b100), Local0)
+ m005(Concatenate(ts, "-m005-RefGlobName2"), Local0)
+
+ CondRefOf(b100, Local0)
+ m005(Concatenate(ts, "-m005-CondRefGlobName"), Local0)
+
+
+ // Reference to Local
+
+ Store(Buffer(){0x62}, Local0)
+
+ m005(Concatenate(ts, "-m005-RefLocal"), RefOf(Local0))
+
+ Store(RefOf(Local0), Local1)
+ m005(Concatenate(ts, "-m005-RefLocal2"), Local1)
+
+ CondRefOf(Local0, Local1)
+ m005(Concatenate(ts, "-m005-CondRefLocal"), Local1)
+
+
+ // Reference to Arg
+
+ m005(Concatenate(ts, "-m005-RefArg"), RefOf(arg0))
+
+ Store(RefOf(arg0), Local0)
+ m005(Concatenate(ts, "-m005-RefArg2"), Local0)
+
+ CondRefOf(arg0, Local0)
+ m005(Concatenate(ts, "-m005-CondRefArg"), Local0)
+
+
+ // Index to Package
+
+ Name(p000, Package(){Buffer(){0x62}})
+
+ if (y113) {
+ m005(Concatenate(ts, "-m005-Index"), Index(p000, 0))
+ }
+
+ Store(Index(p000, 0), Local0)
+ m005(Concatenate(ts, "-m005-Index2"), Local0)
+
+ if (y113) {
+ m005(Concatenate(ts, "-m005-Index3"), Index(p000, 0, Local0))
+ }
+
+ Index(p000, 0, Local0)
+ m005(Concatenate(ts, "-m005-Index4"), Local0)
+
+ Store(Index(p000, 0, Local0), Local1)
+ m005(Concatenate(ts, "-m005-Index5"), Local1)
+
+ // Result of Method invocation
+ m006(ts)
+
+ // Reference to Object as Result of Method invocation
+ if (y500) {
+ m007(ts)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_04_pckg.asl b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_04_pckg.asl
new file mode 100644
index 000000000..53f4552ec
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_04_pckg.asl
@@ -0,0 +1,3566 @@
+/*
+ * 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.
+ */
+
+/*
+ * Package
+ *
+ * (verify exceptions caused by the imprope use of Package type objects)
+ */
+
+Name(z096, 96)
+
+Name(p100, Package(){0x61})
+
+// Expected exceptions:
+//
+// 47 - AE_AML_OPERAND_TYPE
+// Note: Package can be used with Index
+Method(m4b4, 1)
+{
+ Name(ts, "m4b4")
+
+ Name(p000, Package(){0x62})
+
+ Event(e000)
+
+ Name(i000, 0)
+
+ // Local Named Object
+ // ASL compiler prohibits to use Pakage
+ // Named Objects in the most of operators
+ Method(m000, 1)
+ {
+ Name(p000, Package(){0x63})
+
+ // CondRefOf
+
+ CondRefOf(p000)
+ CH03(ts, z096, 0, 0, 0)
+
+ CondRefOf(p000, Local1)
+ CH03(ts, z096, 1, 0, 0)
+
+ // CopyObject
+
+ CopyObject(p000, Local1)
+ CH03(ts, z096, 2, 0, 0)
+
+ // Decrement
+
+ // DerefOf
+
+ if (y083) {
+ DerefOf(p000)
+ CH06(arg0, 0, 47)
+ }
+
+ // FindSetLeftBit
+
+ // FindSetRightBit
+
+ // FromBCD
+
+ // Increment
+
+ // LNot
+
+ // Not
+
+ // ObjectType
+
+ ObjectType(p000)
+ CH03(ts, z096, 3, 0, 0)
+
+ // RefOf
+
+ RefOf(p000)
+ CH03(ts, z096, 4, 0, 0)
+
+ // Release
+
+ // Reset
+
+ // Signal
+
+ // SizeOf
+
+ SizeOf(p000)
+ CH03(ts, z096, 5, 0, 0)
+
+ // Sleep
+
+ // Stall
+
+ // Store
+
+ Store(p000, Local1)
+ CH03(ts, z096, 6, 0, 0)
+
+ // ToBCD
+
+ // ToBuffer
+
+ // ToDecimalString
+
+ // ToHexString
+
+ // ToInteger
+
+ // Acquire
+
+ // Add
+
+ // And
+
+ // Concatenate
+
+ // ConcatenateResTemplate
+
+ // Divide
+
+ // Fatal
+
+ // Index
+
+ Index(p000, 0)
+ CH03(ts, z096, 7, 0, 0)
+
+ Index(p000, 0, Local1)
+ CH03(ts, z096, 8, 0, 0)
+
+ // LEqual
+
+ // LGreater
+
+ // LGreaterEqual
+
+ // LLess
+
+ // LLessEqual
+
+ // LNotEqual
+
+ // LOr
+
+ // Mod
+
+ // Multiply
+
+ // NAnd
+
+ // NOr
+
+ // Or
+
+ // ShiftLeft
+
+ // ShiftRight
+
+ // Subtract
+
+ // ToString
+
+ // Wait
+
+ // XOr
+
+ // Mid
+
+ // Match
+
+ Match(p000, MTR, 0, MTR, 0, 0)
+ CH03(ts, z096, 9, 0, 0)
+ }
+
+ // Global Named Object
+ Method(m001, 1)
+ {
+ // CondRefOf
+
+ CondRefOf(p100)
+ CH03(ts, z096, 10, 0, 0)
+
+ CondRefOf(p100, Local1)
+ CH03(ts, z096, 11, 0, 0)
+
+ // CopyObject
+
+ CopyObject(p100, Local1)
+ CH03(ts, z096, 12, 0, 0)
+
+ // Decrement
+
+ // DerefOf
+
+ if (y083) {
+ DerefOf(p100)
+ CH06(arg0, 1, 47)
+ }
+
+ // FindSetLeftBit
+
+ // FindSetRightBit
+
+ // FromBCD
+
+ // Increment
+
+ // LNot
+
+ // Not
+
+ // ObjectType
+
+ ObjectType(p100)
+ CH03(ts, z096, 13, 0, 0)
+
+ // RefOf
+
+ RefOf(p100)
+ CH03(ts, z096, 14, 0, 0)
+
+ // Release
+
+ // Reset
+
+ // Signal
+
+ // SizeOf
+
+ SizeOf(p100)
+ CH03(ts, z096, 15, 0, 0)
+
+ // Sleep
+
+ // Stall
+
+ // Store
+
+ Store(p100, Local1)
+ CH03(ts, z096, 16, 0, 0)
+
+ // ToBCD
+
+ // ToBuffer
+
+ // ToDecimalString
+
+ // ToHexString
+
+ // ToInteger
+
+ // Acquire
+
+ // Add
+
+ // And
+
+ // Concatenate
+
+ // ConcatenateResTemplate
+
+ // Divide
+
+ // Fatal
+
+ // Index
+
+ Index(p100, 0)
+ CH03(ts, z096, 17, 0, 0)
+
+ Index(p100, 0, Local1)
+ CH03(ts, z096, 18, 0, 0)
+
+ // LEqual
+
+ // LGreater
+
+ // LGreaterEqual
+
+ // LLess
+
+ // LLessEqual
+
+ // LNotEqual
+
+ // LOr
+
+ // Mod
+
+ // Multiply
+
+ // NAnd
+
+ // NOr
+
+ // Or
+
+ // ShiftLeft
+
+ // ShiftRight
+
+ // Subtract
+
+ // ToString
+
+ // Wait
+
+ // XOr
+
+ // Mid
+
+ // Match
+
+ Match(p100, MTR, 0, MTR, 0, 0)
+ CH03(ts, z096, 19, 0, 0)
+ }
+
+ // Argument
+ Method(m002, 2)
+ {
+ Event(e000)
+
+ // CondRefOf
+
+ CondRefOf(arg1)
+ CH03(ts, z096, 20, 0, 0)
+
+ CondRefOf(arg1, Local1)
+ CH03(ts, z096, 21, 0, 0)
+
+ // CopyObject
+
+ CopyObject(arg1, Local1)
+ CH03(ts, z096, 22, 0, 0)
+
+ // Decrement
+
+ Decrement(arg1)
+ CH06(arg0, 2, 47)
+
+ // DerefOf
+
+ DerefOf(arg1)
+ CH06(arg0, 3, 47)
+
+ // FindSetLeftBit
+
+ FindSetLeftBit(arg1)
+ CH06(arg0, 4, 47)
+
+ FindSetLeftBit(arg1, Local1)
+ CH06(arg0, 5, 47)
+
+ // FindSetRightBit
+
+ FindSetRightBit(arg1)
+ CH06(arg0, 6, 47)
+
+ FindSetRightBit(arg1, Local1)
+ CH06(arg0, 7, 47)
+
+ // FromBCD
+
+ FromBCD(arg1)
+ CH06(arg0, 8, 47)
+
+ FromBCD(arg1, Local1)
+ CH06(arg0, 9, 47)
+
+ // Increment
+
+ Increment(arg1)
+ CH06(arg0, 10, 47)
+
+ // LNot
+
+ LNot(arg1)
+ CH06(arg0, 11, 47)
+
+ // Not
+
+ Not(arg1)
+ CH06(arg0, 12, 47)
+
+ Not(arg1, Local1)
+ CH06(arg0, 13, 47)
+
+ // ObjectType
+
+ ObjectType(arg1)
+ CH03(ts, z096, 23, 0, 0)
+
+ // RefOf
+
+ RefOf(arg1)
+ CH03(ts, z096, 24, 0, 0)
+
+ // Release
+
+ Release(arg1)
+ CH06(arg0, 14, 47)
+
+ // Reset
+
+ Reset(arg1)
+ CH06(arg0, 15, 47)
+
+ // Signal
+
+ Signal(arg1)
+ CH06(arg0, 16, 47)
+
+ // SizeOf
+
+ SizeOf(arg1)
+ CH03(ts, z096, 25, 0, 0)
+
+ // Sleep
+
+ Sleep(arg1)
+ CH06(arg0, 17, 47)
+
+ // Stall
+
+ Stall(arg1)
+ CH06(arg0, 18, 47)
+
+ // Store
+
+ Store(arg1, Local1)
+ CH03(ts, z096, 26, 0, 0)
+
+ // ToBCD
+
+ ToBCD(arg1)
+ CH06(arg0, 20, 47)
+
+ ToBCD(arg1, Local1)
+ CH06(arg0, 21, 47)
+
+ // ToBuffer
+
+ ToBuffer(arg1)
+ CH06(arg0, 22, 47)
+
+ ToBuffer(arg1, Local1)
+ CH06(arg0, 23, 47)
+
+ // ToDecimalString
+
+ ToDecimalString(arg1)
+ CH06(arg0, 24, 47)
+
+ ToDecimalString(arg1, Local1)
+ CH06(arg0, 25, 47)
+
+ // ToHexString
+
+ ToHexString(arg1)
+ CH06(arg0, 26, 47)
+
+ ToHexString(arg1, Local1)
+ CH06(arg0, 27, 47)
+
+ // ToInteger
+
+ ToInteger(arg1)
+ CH06(arg0, 28, 47)
+
+ ToInteger(arg1, Local1)
+ CH06(arg0, 29, 47)
+
+ // Acquire
+
+ Acquire(arg1, 100)
+ CH06(arg0, 30, 47)
+
+ // Add
+
+ Add(arg1, i000)
+ CH06(arg0, 31, 47)
+
+ Add(i000, arg1)
+ CH06(arg0, 32, 47)
+
+ Add(arg1, i000, Local1)
+ CH06(arg0, 33, 47)
+
+ Add(i000, arg1, Local1)
+ CH06(arg0, 34, 47)
+
+ // And
+
+ And(arg1, i000)
+ CH06(arg0, 35, 47)
+
+ And(i000, arg1)
+ CH06(arg0, 36, 47)
+
+ And(arg1, i000, Local1)
+ CH06(arg0, 37, 47)
+
+ And(i000, arg1, Local1)
+ CH06(arg0, 38, 47)
+
+ // Concatenate
+
+ Concatenate(arg1, i000)
+ CH06(arg0, 39, 47)
+
+ Concatenate(i000, arg1)
+ CH06(arg0, 40, 47)
+
+ Concatenate(arg1, i000, Local1)
+ CH06(arg0, 41, 47)
+
+ Concatenate(i000, arg1, Local1)
+ CH06(arg0, 42, 47)
+
+ // ConcatenateResTemplate
+
+ ConcatenateResTemplate(arg1, ResourceTemplate(){})
+ CH06(arg0, 43, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, arg1)
+ CH06(arg0, 44, 47)
+
+ ConcatenateResTemplate(arg1, ResourceTemplate(){}, Local1)
+ CH06(arg0, 45, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, arg1, Local1)
+ CH06(arg0, 46, 47)
+
+ // Divide
+
+ Divide(arg1, i000)
+ CH06(arg0, 47, 47)
+
+ Divide(i000, arg1)
+ CH06(arg0, 48, 47)
+
+ Divide(arg1, i000, Local2)
+ CH06(arg0, 49, 47)
+
+ Divide(i000, arg1, Local2)
+ CH06(arg0, 50, 47)
+
+ Divide(arg1, i000, Local2, Local1)
+ CH06(arg0, 51, 47)
+
+ Divide(i000, arg1, Local2, Local1)
+ CH06(arg0, 52, 47)
+
+ // Fatal
+
+ Fatal(0xff, 0xffffffff, arg1)
+ CH06(arg0, 53, 47)
+
+ // Index
+
+ Index(arg1, 0)
+ CH03(ts, z096, 27, 0, 0)
+
+ Index("0", arg1)
+ CH06(arg0, 55, 47)
+
+ Index(arg1, 0, Local1)
+ CH03(ts, z096, 28, 0, 0)
+
+ Index("0", arg1, Local1)
+ CH06(arg0, 57, 47)
+
+ // LEqual
+
+ LEqual(arg1, i000)
+ CH06(arg0, 58, 47)
+
+ LEqual(i000, arg1)
+ CH06(arg0, 59, 47)
+
+ // LGreater
+
+ LGreater(arg1, i000)
+ CH06(arg0, 60, 47)
+
+ LGreater(i000, arg1)
+ CH06(arg0, 61, 47)
+
+ // LGreaterEqual
+
+ LGreaterEqual(arg1, i000)
+ CH06(arg0, 62, 0xff)
+
+ LGreaterEqual(i000, arg1)
+ CH06(arg0, 63, 0xff)
+
+ // LLess
+
+ LLess(arg1, i000)
+ CH06(arg0, 64, 47)
+
+ LLess(i000, arg1)
+ CH06(arg0, 65, 47)
+
+ // LLessEqual
+
+ LLessEqual(arg1, i000)
+ CH06(arg0, 66, 0xff)
+
+ LLessEqual(i000, arg1)
+ CH06(arg0, 67, 0xff)
+
+ // LNotEqual
+
+ LNotEqual(arg1, i000)
+ CH06(arg0, 68, 0xff)
+
+ LNotEqual(i000, arg1)
+ CH06(arg0, 69, 0xff)
+
+ // LOr
+
+ LOr(arg1, i000)
+ CH06(arg0, 70, 47)
+
+ LOr(i000, arg1)
+ CH06(arg0, 71, 47)
+
+ // Mod
+
+ Mod(arg1, i000)
+ CH06(arg0, 72, 47)
+
+ Mod(i000, arg1)
+ CH06(arg0, 73, 47)
+
+ Mod(arg1, i000, Local1)
+ CH06(arg0, 74, 47)
+
+ Mod(i000, arg1, Local1)
+ CH06(arg0, 75, 47)
+
+ // Multiply
+
+ Multiply(arg1, i000)
+ CH06(arg0, 76, 47)
+
+ Multiply(i000, arg1)
+ CH06(arg0, 77, 47)
+
+ Multiply(arg1, i000, Local1)
+ CH06(arg0, 78, 47)
+
+ Multiply(i000, arg1, Local1)
+ CH06(arg0, 79, 47)
+
+ // NAnd
+
+ NAnd(arg1, i000)
+ CH06(arg0, 80, 47)
+
+ NAnd(i000, arg1)
+ CH06(arg0, 81, 47)
+
+ NAnd(arg1, i000, Local1)
+ CH06(arg0, 82, 47)
+
+ NAnd(i000, arg1, Local1)
+ CH06(arg0, 83, 47)
+
+ // NOr
+
+ NOr(arg1, i000)
+ CH06(arg0, 84, 47)
+
+ NOr(i000, arg1)
+ CH06(arg0, 85, 47)
+
+ NOr(arg1, i000, Local1)
+ CH06(arg0, 86, 47)
+
+ NOr(i000, arg1, Local1)
+ CH06(arg0, 87, 47)
+
+ // Or
+
+ Or(arg1, i000)
+ CH06(arg0, 88, 47)
+
+ Or(i000, arg1)
+ CH06(arg0, 89, 47)
+
+ Or(arg1, i000, Local1)
+ CH06(arg0, 90, 47)
+
+ Or(i000, arg1, Local1)
+ CH06(arg0, 91, 47)
+
+ // ShiftLeft
+
+ ShiftLeft(arg1, i000)
+ CH06(arg0, 92, 47)
+
+ ShiftLeft(i000, arg1)
+ CH06(arg0, 93, 47)
+
+ ShiftLeft(arg1, i000, Local1)
+ CH06(arg0, 94, 47)
+
+ ShiftLeft(i000, arg1, Local1)
+ CH06(arg0, 95, 47)
+
+ // ShiftRight
+
+ ShiftRight(arg1, i000)
+ CH06(arg0, 96, 47)
+
+ ShiftRight(i000, arg1)
+ CH06(arg0, 97, 47)
+
+ ShiftRight(arg1, i000, Local1)
+ CH06(arg0, 98, 47)
+
+ ShiftRight(i000, arg1, Local1)
+ CH06(arg0, 99, 47)
+
+ // Subtract
+
+ Subtract(arg1, i000)
+ CH06(arg0, 100, 47)
+
+ Subtract(i000, arg1)
+ CH06(arg0, 101, 47)
+
+ Subtract(arg1, i000, Local1)
+ CH06(arg0, 102, 47)
+
+ Subtract(i000, arg1, Local1)
+ CH06(arg0, 103, 47)
+
+ // ToString
+
+ ToString(arg1, 1)
+ CH06(arg0, 104, 47)
+
+ ToString(i000, arg1)
+ CH06(arg0, 105, 47)
+
+ ToString(arg1, 1, Local1)
+ CH06(arg0, 106, 47)
+
+ ToString(i000, arg1, Local1)
+ CH06(arg0, 107, 47)
+
+ // Wait
+
+ Wait(arg1, i000)
+ CH06(arg0, 108, 47)
+
+ Wait(e000, arg1)
+ CH06(arg0, 109, 47)
+
+ // XOr
+
+ XOr(arg1, i000)
+ CH06(arg0, 110, 47)
+
+ XOr(i000, arg1)
+ CH06(arg0, 111, 47)
+
+ XOr(arg1, i000, Local1)
+ CH06(arg0, 112, 47)
+
+ XOr(i000, arg1, Local1)
+ CH06(arg0, 113, 47)
+
+ // Mid
+
+ Mid(arg1, 1, 1)
+ CH06(arg0, 114, 47)
+
+ Mid("123", arg1, 1)
+ CH06(arg0, 115, 47)
+
+ Mid("123", 1, arg1)
+ CH06(arg0, 116, 47)
+
+ Mid(arg1, 1, 1, Local1)
+ CH06(arg0, 117, 47)
+
+ Mid("123", arg1, 1, Local1)
+ CH06(arg0, 118, 47)
+
+ Mid("123", 1, arg1, Local1)
+ CH06(arg0, 119, 47)
+
+ // Match
+
+ Match(arg1, MTR, 0, MTR, 0, 0)
+ CH03(ts, z096, 29, 0, 0)
+
+ Match(Package(){1}, MTR, arg1, MTR, 0, 0)
+ CH06(arg0, 121, 47)
+
+ Match(Package(){1}, MTR, 0, MTR, arg1, 0)
+ CH06(arg0, 122, 47)
+
+ Match(Package(){1}, MTR, 0, MTR, 0, arg1)
+ CH06(arg0, 123, 47)
+ }
+
+ // Local
+ Method(m003, 1)
+ {
+ Store(Package(){0x63}, Local0)
+
+ // CondRefOf
+
+ CondRefOf(Local0)
+ CH03(ts, z096, 30, 0, 0)
+
+ CondRefOf(Local0, Local1)
+ CH03(ts, z096, 31, 0, 0)
+
+ // CopyObject
+
+ CopyObject(Local0, Local1)
+ CH03(ts, z096, 32, 0, 0)
+
+ // Decrement
+
+ Decrement(Local0)
+ CH06(arg0, 1, 47)
+
+ // DerefOf
+
+ DerefOf(Local0)
+ CH06(arg0, 2, 47)
+
+ // FindSetLeftBit
+
+ FindSetLeftBit(Local0)
+ CH06(arg0, 3, 47)
+
+ FindSetLeftBit(Local0, Local1)
+ CH06(arg0, 4, 47)
+
+ // FindSetRightBit
+
+ FindSetRightBit(Local0)
+ CH06(arg0, 5, 47)
+
+ FindSetRightBit(Local0, Local1)
+ CH06(arg0, 6, 47)
+
+ // FromBCD
+
+ FromBCD(Local0)
+ CH06(arg0, 7, 47)
+
+ FromBCD(Local0, Local1)
+ CH06(arg0, 8, 47)
+
+ // Increment
+
+ Increment(Local0)
+ CH06(arg0, 9, 47)
+
+ // LNot
+
+ LNot(Local0)
+ CH06(arg0, 10, 47)
+
+ // Not
+
+ Not(Local0)
+ CH06(arg0, 11, 47)
+
+ Not(Local0, Local1)
+ CH06(arg0, 12, 47)
+
+ // ObjectType
+
+ ObjectType(Local0)
+ CH03(ts, z096, 33, 0, 0)
+
+ // RefOf
+
+ RefOf(Local0)
+ CH03(ts, z096, 34, 0, 0)
+
+ // Release
+
+ Release(Local0)
+ CH06(arg0, 13, 47)
+
+ // Reset
+
+ Reset(Local0)
+ CH06(arg0, 14, 47)
+
+ // Signal
+
+ Signal(Local0)
+ CH06(arg0, 15, 47)
+
+ // SizeOf
+
+ SizeOf(Local0)
+ CH03(ts, z096, 35, 0, 0)
+
+ // Sleep
+
+ Sleep(Local0)
+ CH06(arg0, 17, 47)
+
+ // Stall
+
+ Stall(Local0)
+ CH06(arg0, 18, 47)
+
+ // Store
+
+ Store(Local0, Local1)
+ CH03(ts, z096, 36, 0, 0)
+
+ // ToBCD
+
+ ToBCD(Local0)
+ CH06(arg0, 20, 47)
+
+ ToBCD(Local0, Local1)
+ CH06(arg0, 21, 47)
+
+ // ToBuffer
+
+ ToBuffer(Local0)
+ CH06(arg0, 22, 47)
+
+ ToBuffer(Local0, Local1)
+ CH06(arg0, 23, 47)
+
+ // ToDecimalString
+
+ ToDecimalString(Local0)
+ CH06(arg0, 24, 47)
+
+ ToDecimalString(Local0, Local1)
+ CH06(arg0, 25, 47)
+
+ // ToHexString
+
+ ToHexString(Local0)
+ CH06(arg0, 26, 47)
+
+ ToHexString(Local0, Local1)
+ CH06(arg0, 27, 47)
+
+ // ToInteger
+
+ ToInteger(Local0)
+ CH06(arg0, 28, 47)
+
+ ToInteger(Local0, Local1)
+ CH06(arg0, 29, 47)
+
+ // Acquire
+
+ Acquire(Local0, 100)
+ CH06(arg0, 30, 47)
+
+ // Add
+
+ Add(Local0, i000)
+ CH06(arg0, 31, 47)
+
+ Add(i000, Local0)
+ CH06(arg0, 32, 47)
+
+ Add(Local0, i000, Local1)
+ CH06(arg0, 33, 47)
+
+ Add(i000, Local0, Local1)
+ CH06(arg0, 34, 47)
+
+ // And
+
+ And(Local0, i000)
+ CH06(arg0, 35, 47)
+
+ And(i000, Local0)
+ CH06(arg0, 36, 47)
+
+ And(Local0, i000, Local1)
+ CH06(arg0, 37, 47)
+
+ And(i000, Local0, Local1)
+ CH06(arg0, 38, 47)
+
+ // Concatenate
+
+ Concatenate(Local0, i000)
+ CH06(arg0, 39, 47)
+
+ Concatenate(i000, Local0)
+ CH06(arg0, 40, 47)
+
+ Concatenate(Local0, i000, Local1)
+ CH06(arg0, 41, 47)
+
+ Concatenate(i000, Local0, Local1)
+ CH06(arg0, 42, 47)
+
+ // ConcatenateResTemplate
+
+ ConcatenateResTemplate(Local0, ResourceTemplate(){})
+ CH06(arg0, 43, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, Local0)
+ CH06(arg0, 44, 47)
+
+ ConcatenateResTemplate(Local0, ResourceTemplate(){}, Local1)
+ CH06(arg0, 45, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, Local0, Local1)
+ CH06(arg0, 46, 47)
+
+ // Divide
+
+ Divide(Local0, i000)
+ CH06(arg0, 47, 47)
+
+ Divide(i000, Local0)
+ CH06(arg0, 48, 47)
+
+ Divide(Local0, i000, Local2)
+ CH06(arg0, 49, 47)
+
+ Divide(i000, Local0, Local2)
+ CH06(arg0, 50, 47)
+
+ Divide(Local0, i000, Local2, Local1)
+ CH06(arg0, 51, 47)
+
+ Divide(i000, Local0, Local2, Local1)
+ CH06(arg0, 52, 47)
+
+ // Fatal
+
+ Fatal(0xff, 0xffffffff, Local0)
+ CH06(arg0, 53, 47)
+
+ // Index
+
+ Index(Local0, 0)
+ CH03(ts, z096, 37, 0, 0)
+
+ Index("0", Local0)
+ CH06(arg0, 55, 47)
+
+ Index(Local0, 0, Local1)
+ CH03(ts, z096, 38, 0, 0)
+
+ Index("0", Local0, Local1)
+ CH06(arg0, 57, 47)
+
+ // LEqual
+
+ LEqual(Local0, i000)
+ CH06(arg0, 58, 47)
+
+ LEqual(i000, Local0)
+ CH06(arg0, 59, 47)
+
+ // LGreater
+
+ LGreater(Local0, i000)
+ CH06(arg0, 60, 47)
+
+ LGreater(i000, Local0)
+ CH06(arg0, 61, 47)
+
+ // LGreaterEqual
+
+ LGreaterEqual(Local0, i000)
+ CH06(arg0, 62, 0xff)
+
+ LGreaterEqual(i000, Local0)
+ CH06(arg0, 63, 0xff)
+
+ // LLess
+
+ LLess(Local0, i000)
+ CH06(arg0, 64, 47)
+
+ LLess(i000, Local0)
+ CH06(arg0, 65, 47)
+
+ // LLessEqual
+
+ LLessEqual(Local0, i000)
+ CH06(arg0, 66, 0xff)
+
+ LLessEqual(i000, Local0)
+ CH06(arg0, 67, 0xff)
+
+ // LNotEqual
+
+ LNotEqual(Local0, i000)
+ CH06(arg0, 68, 0xff)
+
+ LNotEqual(i000, Local0)
+ CH06(arg0, 69, 0xff)
+
+ // LOr
+
+ LOr(Local0, i000)
+ CH06(arg0, 70, 47)
+
+ LOr(i000, Local0)
+ CH06(arg0, 71, 47)
+
+ // Mod
+
+ Mod(Local0, i000)
+ CH06(arg0, 72, 47)
+
+ Mod(i000, Local0)
+ CH06(arg0, 73, 47)
+
+ Mod(Local0, i000, Local1)
+ CH06(arg0, 74, 47)
+
+ Mod(i000, Local0, Local1)
+ CH06(arg0, 75, 47)
+
+ // Multiply
+
+ Multiply(Local0, i000)
+ CH06(arg0, 76, 47)
+
+ Multiply(i000, Local0)
+ CH06(arg0, 77, 47)
+
+ Multiply(Local0, i000, Local1)
+ CH06(arg0, 78, 47)
+
+ Multiply(i000, Local0, Local1)
+ CH06(arg0, 79, 47)
+
+ // NAnd
+
+ NAnd(Local0, i000)
+ CH06(arg0, 80, 47)
+
+ NAnd(i000, Local0)
+ CH06(arg0, 81, 47)
+
+ NAnd(Local0, i000, Local1)
+ CH06(arg0, 82, 47)
+
+ NAnd(i000, Local0, Local1)
+ CH06(arg0, 83, 47)
+
+ // NOr
+
+ NOr(Local0, i000)
+ CH06(arg0, 84, 47)
+
+ NOr(i000, Local0)
+ CH06(arg0, 85, 47)
+
+ NOr(Local0, i000, Local1)
+ CH06(arg0, 86, 47)
+
+ NOr(i000, Local0, Local1)
+ CH06(arg0, 87, 47)
+
+ // Or
+
+ Or(Local0, i000)
+ CH06(arg0, 88, 47)
+
+ Or(i000, Local0)
+ CH06(arg0, 89, 47)
+
+ Or(Local0, i000, Local1)
+ CH06(arg0, 90, 47)
+
+ Or(i000, Local0, Local1)
+ CH06(arg0, 91, 47)
+
+ // ShiftLeft
+
+ ShiftLeft(Local0, i000)
+ CH06(arg0, 92, 47)
+
+ ShiftLeft(i000, Local0)
+ CH06(arg0, 93, 47)
+
+ ShiftLeft(Local0, i000, Local1)
+ CH06(arg0, 94, 47)
+
+ ShiftLeft(i000, Local0, Local1)
+ CH06(arg0, 95, 47)
+
+ // ShiftRight
+
+ ShiftRight(Local0, i000)
+ CH06(arg0, 96, 47)
+
+ ShiftRight(i000, Local0)
+ CH06(arg0, 97, 47)
+
+ ShiftRight(Local0, i000, Local1)
+ CH06(arg0, 98, 47)
+
+ ShiftRight(i000, Local0, Local1)
+ CH06(arg0, 99, 47)
+
+ // Subtract
+
+ Subtract(Local0, i000)
+ CH06(arg0, 100, 47)
+
+ Subtract(i000, Local0)
+ CH06(arg0, 101, 47)
+
+ Subtract(Local0, i000, Local1)
+ CH06(arg0, 102, 47)
+
+ Subtract(i000, Local0, Local1)
+ CH06(arg0, 103, 47)
+
+ // ToString
+
+ ToString(Local0, 1)
+ CH06(arg0, 104, 47)
+
+ ToString(i000, Local0)
+ CH06(arg0, 105, 47)
+
+ ToString(Local0, 1, Local1)
+ CH06(arg0, 106, 47)
+
+ ToString(i000, Local0, Local1)
+ CH06(arg0, 107, 47)
+
+ // Wait
+
+ Wait(Local0, i000)
+ CH06(arg0, 108, 47)
+
+ Wait(e000, Local0)
+ CH06(arg0, 109, 47)
+
+ // XOr
+
+ XOr(Local0, i000)
+ CH06(arg0, 110, 47)
+
+ XOr(i000, Local0)
+ CH06(arg0, 111, 47)
+
+ XOr(Local0, i000, Local1)
+ CH06(arg0, 112, 47)
+
+ XOr(i000, Local0, Local1)
+ CH06(arg0, 113, 47)
+
+ // Mid
+
+ Mid(Local0, 1, 1)
+ CH06(arg0, 114, 47)
+
+ Mid("123", Local0, 1)
+ CH06(arg0, 115, 47)
+
+ Mid("123", 1, Local0)
+ CH06(arg0, 116, 47)
+
+ Mid(Local0, 1, 1, Local1)
+ CH06(arg0, 117, 47)
+
+ Mid("123", Local0, 1, Local1)
+ CH06(arg0, 118, 47)
+
+ Mid("123", 1, Local0, Local1)
+ CH06(arg0, 119, 47)
+
+ // Match
+
+ Match(Local0, MTR, 0, MTR, 0, 0)
+ CH03(ts, z096, 39, 0, 0)
+
+ Match(Package(){1}, MTR, Local0, MTR, 0, 0)
+ CH06(arg0, 121, 47)
+
+ Match(Package(){1}, MTR, 0, MTR, Local0, 0)
+ CH06(arg0, 122, 47)
+
+ Match(Package(){1}, MTR, 0, MTR, 0, Local0)
+ CH06(arg0, 123, 47)
+ }
+
+ // An element of Package
+ Method(m004, 1)
+ {
+ Name(p000, Package(){Package(){0x63}})
+
+ // DeRefOf(Index(Package, Ind))
+
+ // CondRefOf
+
+ CondRefOf(DeRefOf(Index(p000, 0)))
+ CH06(arg0, 0, 47)
+
+ CondRefOf(DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 1, 47)
+
+ // CopyObject
+
+ CopyObject(DeRefOf(Index(p000, 0)), Local1)
+ CH03(ts, z096, 40, 0, 0)
+
+ // Decrement
+
+ Decrement(DeRefOf(Index(p000, 0)))
+ CH06(arg0, 2, 47)
+
+ // DerefOf
+
+ DerefOf(DeRefOf(Index(p000, 0)))
+ CH06(arg0, 3, 47)
+
+ // FindSetLeftBit
+
+ FindSetLeftBit(DeRefOf(Index(p000, 0)))
+ CH06(arg0, 4, 47)
+
+ FindSetLeftBit(DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 5, 47)
+
+ // FindSetRightBit
+
+ FindSetRightBit(DeRefOf(Index(p000, 0)))
+ CH06(arg0, 6, 47)
+
+ FindSetRightBit(DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 7, 47)
+
+ // FromBCD
+
+ FromBCD(DeRefOf(Index(p000, 0)))
+ CH06(arg0, 8, 47)
+
+ FromBCD(DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 9, 47)
+
+ // Increment
+
+ Increment(DeRefOf(Index(p000, 0)))
+ CH06(arg0, 10, 47)
+
+ // LNot
+
+ LNot(DeRefOf(Index(p000, 0)))
+ CH06(arg0, 11, 47)
+
+ // Not
+
+ Not(DeRefOf(Index(p000, 0)))
+ CH06(arg0, 12, 47)
+
+ Not(DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 13, 47)
+
+ // ObjectType
+
+ ObjectType(DeRefOf(Index(p000, 0)))
+ CH03(ts, z096, 41, 0, 0)
+
+ // RefOf
+
+ RefOf(DeRefOf(Index(p000, 0)))
+ CH06(arg0, 14, 47)
+
+ // Release
+
+ // Reset
+
+ // Signal
+
+ // SizeOf
+
+ SizeOf(DeRefOf(Index(p000, 0)))
+ CH03(ts, z096, 42, 0, 0)
+
+ // Sleep
+
+ Sleep(DeRefOf(Index(p000, 0)))
+ CH06(arg0, 17, 47)
+
+ // Stall
+
+ Stall(DeRefOf(Index(p000, 0)))
+ CH06(arg0, 18, 47)
+
+ // Store
+
+ Store(DeRefOf(Index(p000, 0)), Local1)
+ CH03(ts, z096, 43, 0, 0)
+
+ // ToBCD
+
+ ToBCD(DeRefOf(Index(p000, 0)))
+ CH06(arg0, 20, 47)
+
+ ToBCD(DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 21, 47)
+
+ // ToBuffer
+
+ ToBuffer(DeRefOf(Index(p000, 0)))
+ CH06(arg0, 22, 47)
+
+ ToBuffer(DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 23, 47)
+
+ // ToDecimalString
+
+ ToDecimalString(DeRefOf(Index(p000, 0)))
+ CH06(arg0, 24, 47)
+
+ ToDecimalString(DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 25, 47)
+
+ // ToHexString
+
+ ToHexString(DeRefOf(Index(p000, 0)))
+ CH06(arg0, 26, 47)
+
+ ToHexString(DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 27, 47)
+
+ // ToInteger
+
+ ToInteger(DeRefOf(Index(p000, 0)))
+ CH06(arg0, 28, 47)
+
+ ToInteger(DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 29, 47)
+
+ // Acquire
+
+ // Add
+
+ Add(DeRefOf(Index(p000, 0)), i000)
+ CH06(arg0, 31, 47)
+
+ Add(i000, DeRefOf(Index(p000, 0)))
+ CH06(arg0, 32, 47)
+
+ Add(DeRefOf(Index(p000, 0)), i000, Local1)
+ CH06(arg0, 33, 47)
+
+ Add(i000, DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 34, 47)
+
+ // And
+
+ And(DeRefOf(Index(p000, 0)), i000)
+ CH06(arg0, 35, 47)
+
+ And(i000, DeRefOf(Index(p000, 0)))
+ CH06(arg0, 36, 47)
+
+ And(DeRefOf(Index(p000, 0)), i000, Local1)
+ CH06(arg0, 37, 47)
+
+ And(i000, DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 38, 47)
+
+ // Concatenate
+
+ Concatenate(DeRefOf(Index(p000, 0)), i000)
+ CH06(arg0, 39, 47)
+
+ Concatenate(i000, DeRefOf(Index(p000, 0)))
+ CH06(arg0, 40, 47)
+
+ Concatenate(DeRefOf(Index(p000, 0)), i000, Local1)
+ CH06(arg0, 41, 47)
+
+ Concatenate(i000, DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 42, 47)
+
+ // ConcatenateResTemplate
+
+ ConcatenateResTemplate(DeRefOf(Index(p000, 0)), ResourceTemplate(){})
+ CH06(arg0, 43, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, DeRefOf(Index(p000, 0)))
+ CH06(arg0, 44, 47)
+
+ ConcatenateResTemplate(DeRefOf(Index(p000, 0)), ResourceTemplate(){}, Local1)
+ CH06(arg0, 45, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 46, 47)
+
+ // Divide
+
+ Divide(DeRefOf(Index(p000, 0)), i000)
+ CH06(arg0, 47, 47)
+
+ Divide(i000, DeRefOf(Index(p000, 0)))
+ CH06(arg0, 48, 47)
+
+ Divide(DeRefOf(Index(p000, 0)), i000, Local2)
+ CH06(arg0, 49, 47)
+
+ Divide(i000, DeRefOf(Index(p000, 0)), Local2)
+ CH06(arg0, 50, 47)
+
+ Divide(DeRefOf(Index(p000, 0)), i000, Local2, Local1)
+ CH06(arg0, 51, 47)
+
+ Divide(i000, DeRefOf(Index(p000, 0)), Local2, Local1)
+ CH06(arg0, 52, 47)
+
+ // Fatal
+
+ Fatal(0xff, 0xffffffff, DeRefOf(Index(p000, 0)))
+ CH06(arg0, 53, 47)
+
+ // Index
+
+ Index(DeRefOf(Index(p000, 0)), 0)
+ CH03(ts, z096, 44, 0, 0)
+
+ Index("0", DeRefOf(Index(p000, 0)))
+ CH06(arg0, 55, 47)
+
+ Index(DeRefOf(Index(p000, 0)), 0, Local1)
+ CH03(ts, z096, 45, 0, 0)
+
+ Index("0", DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 57, 47)
+
+ // LEqual
+
+ LEqual(DeRefOf(Index(p000, 0)), i000)
+ CH06(arg0, 58, 47)
+
+ LEqual(i000, DeRefOf(Index(p000, 0)))
+ CH06(arg0, 59, 47)
+
+ // LGreater
+
+ LGreater(DeRefOf(Index(p000, 0)), i000)
+ CH06(arg0, 60, 47)
+
+ LGreater(i000, DeRefOf(Index(p000, 0)))
+ CH06(arg0, 61, 47)
+
+ // LGreaterEqual
+
+ LGreaterEqual(DeRefOf(Index(p000, 0)), i000)
+ CH06(arg0, 62, 0xff)
+
+ LGreaterEqual(i000, DeRefOf(Index(p000, 0)))
+ CH06(arg0, 63, 0xff)
+
+ // LLess
+
+ LLess(DeRefOf(Index(p000, 0)), i000)
+ CH06(arg0, 64, 47)
+
+ LLess(i000, DeRefOf(Index(p000, 0)))
+ CH06(arg0, 65, 47)
+
+ // LLessEqual
+
+ LLessEqual(DeRefOf(Index(p000, 0)), i000)
+ CH06(arg0, 66, 0xff)
+
+ LLessEqual(i000, DeRefOf(Index(p000, 0)))
+ CH06(arg0, 67, 0xff)
+
+ // LNotEqual
+
+ LNotEqual(DeRefOf(Index(p000, 0)), i000)
+ CH06(arg0, 68, 0xff)
+
+ LNotEqual(i000, DeRefOf(Index(p000, 0)))
+ CH06(arg0, 69, 0xff)
+
+ // LOr
+
+ LOr(DeRefOf(Index(p000, 0)), i000)
+ CH06(arg0, 70, 47)
+
+ LOr(i000, DeRefOf(Index(p000, 0)))
+ CH06(arg0, 71, 47)
+
+ // Mod
+
+ Mod(DeRefOf(Index(p000, 0)), i000)
+ CH06(arg0, 72, 47)
+
+ Mod(i000, DeRefOf(Index(p000, 0)))
+ CH06(arg0, 73, 47)
+
+ Mod(DeRefOf(Index(p000, 0)), i000, Local1)
+ CH06(arg0, 74, 47)
+
+ Mod(i000, DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 75, 47)
+
+ // Multiply
+
+ Multiply(DeRefOf(Index(p000, 0)), i000)
+ CH06(arg0, 76, 47)
+
+ Multiply(i000, DeRefOf(Index(p000, 0)))
+ CH06(arg0, 77, 47)
+
+ Multiply(DeRefOf(Index(p000, 0)), i000, Local1)
+ CH06(arg0, 78, 47)
+
+ Multiply(i000, DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 79, 47)
+
+ // NAnd
+
+ NAnd(DeRefOf(Index(p000, 0)), i000)
+ CH06(arg0, 80, 47)
+
+ NAnd(i000, DeRefOf(Index(p000, 0)))
+ CH06(arg0, 81, 47)
+
+ NAnd(DeRefOf(Index(p000, 0)), i000, Local1)
+ CH06(arg0, 82, 47)
+
+ NAnd(i000, DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 83, 47)
+
+ // NOr
+
+ NOr(DeRefOf(Index(p000, 0)), i000)
+ CH06(arg0, 84, 47)
+
+ NOr(i000, DeRefOf(Index(p000, 0)))
+ CH06(arg0, 85, 47)
+
+ NOr(DeRefOf(Index(p000, 0)), i000, Local1)
+ CH06(arg0, 86, 47)
+
+ NOr(i000, DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 87, 47)
+
+ // Or
+
+ Or(DeRefOf(Index(p000, 0)), i000)
+ CH06(arg0, 88, 47)
+
+ Or(i000, DeRefOf(Index(p000, 0)))
+ CH06(arg0, 89, 47)
+
+ Or(DeRefOf(Index(p000, 0)), i000, Local1)
+ CH06(arg0, 90, 47)
+
+ Or(i000, DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 91, 47)
+
+ // ShiftLeft
+
+ ShiftLeft(DeRefOf(Index(p000, 0)), i000)
+ CH06(arg0, 92, 47)
+
+ ShiftLeft(i000, DeRefOf(Index(p000, 0)))
+ CH06(arg0, 93, 47)
+
+ ShiftLeft(DeRefOf(Index(p000, 0)), i000, Local1)
+ CH06(arg0, 94, 47)
+
+ ShiftLeft(i000, DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 95, 47)
+
+ // ShiftRight
+
+ ShiftRight(DeRefOf(Index(p000, 0)), i000)
+ CH06(arg0, 96, 47)
+
+ ShiftRight(i000, DeRefOf(Index(p000, 0)))
+ CH06(arg0, 97, 47)
+
+ ShiftRight(DeRefOf(Index(p000, 0)), i000, Local1)
+ CH06(arg0, 98, 47)
+
+ ShiftRight(i000, DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 99, 47)
+
+ // Subtract
+
+ Subtract(DeRefOf(Index(p000, 0)), i000)
+ CH06(arg0, 100, 47)
+
+ Subtract(i000, DeRefOf(Index(p000, 0)))
+ CH06(arg0, 101, 47)
+
+ Subtract(DeRefOf(Index(p000, 0)), i000, Local1)
+ CH06(arg0, 102, 47)
+
+ Subtract(i000, DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 103, 47)
+
+ // ToString
+
+ ToString(DeRefOf(Index(p000, 0)), 1)
+ CH06(arg0, 104, 47)
+
+ ToString(i000, DeRefOf(Index(p000, 0)))
+ CH06(arg0, 105, 47)
+
+ ToString(DeRefOf(Index(p000, 0)), 1, Local1)
+ CH06(arg0, 106, 47)
+
+ ToString(i000, DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 107, 47)
+
+ // Wait
+
+ Wait(e000, DeRefOf(Index(p000, 0)))
+ CH06(arg0, 109, 47)
+
+ // XOr
+
+ XOr(DeRefOf(Index(p000, 0)), i000)
+ CH06(arg0, 110, 47)
+
+ XOr(i000, DeRefOf(Index(p000, 0)))
+ CH06(arg0, 111, 47)
+
+ XOr(DeRefOf(Index(p000, 0)), i000, Local1)
+ CH06(arg0, 112, 47)
+
+ XOr(i000, DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 113, 47)
+
+ // Mid
+
+ Mid(DeRefOf(Index(p000, 0)), 1, 1)
+ CH06(arg0, 114, 47)
+
+ Mid("123", DeRefOf(Index(p000, 0)), 1)
+ CH06(arg0, 115, 47)
+
+ Mid("123", 1, DeRefOf(Index(p000, 0)))
+ CH06(arg0, 116, 47)
+
+ Mid(DeRefOf(Index(p000, 0)), 1, 1, Local1)
+ CH06(arg0, 117, 47)
+
+ Mid("123", DeRefOf(Index(p000, 0)), 1, Local1)
+ CH06(arg0, 118, 47)
+
+ Mid("123", 1, DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 119, 47)
+
+ // Match
+
+ Match(DeRefOf(Index(p000, 0)), MTR, 0, MTR, 0, 0)
+ CH03(ts, z096, 46, 0, 0)
+
+ Match(Package(){1}, MTR, DeRefOf(Index(p000, 0)), MTR, 0, 0)
+ CH06(arg0, 121, 47)
+
+ Match(Package(){1}, MTR, 0, MTR, DeRefOf(Index(p000, 0)), 0)
+ CH06(arg0, 122, 47)
+
+ Match(Package(){1}, MTR, 0, MTR, 0, DeRefOf(Index(p000, 0)))
+ CH06(arg0, 123, 47)
+
+
+ // DeRefOf(Index(Package, Ind, Dest))
+
+ // CondRefOf
+
+ CondRefOf(DeRefOf(Index(p000, 0, Local0)))
+ CH06(arg0, 203, 47)
+
+ CondRefOf(DeRefOf(Index(p000, 0, Local0)), Local1)
+ CH06(arg0, 204, 47)
+
+ // CopyObject
+
+ CopyObject(DeRefOf(Index(p000, 0, Local0)), Local1)
+ CH03(ts, z096, 47, 0, 0)
+
+ // Decrement
+
+ Decrement(DeRefOf(Index(p000, 0, Local0)))
+ CH06(arg0, 1, 47)
+
+ // DerefOf
+
+ DerefOf(DeRefOf(Index(p000, 0, Local0)))
+ CH06(arg0, 2, 47)
+
+ // FindSetLeftBit
+
+ FindSetLeftBit(DeRefOf(Index(p000, 0, Local0)))
+ CH06(arg0, 3, 47)
+
+ FindSetLeftBit(DeRefOf(Index(p000, 0, Local0)), Local1)
+ CH06(arg0, 4, 47)
+
+ // FindSetRightBit
+
+ FindSetRightBit(DeRefOf(Index(p000, 0, Local0)))
+ CH06(arg0, 5, 47)
+
+ FindSetRightBit(DeRefOf(Index(p000, 0, Local0)), Local1)
+ CH06(arg0, 6, 47)
+
+ // FromBCD
+
+ FromBCD(DeRefOf(Index(p000, 0, Local0)))
+ CH06(arg0, 7, 47)
+
+ FromBCD(DeRefOf(Index(p000, 0, Local0)), Local1)
+ CH06(arg0, 8, 47)
+
+ // Increment
+
+ Increment(DeRefOf(Index(p000, 0, Local0)))
+ CH06(arg0, 9, 47)
+
+ // LNot
+
+ LNot(DeRefOf(Index(p000, 0, Local0)))
+ CH06(arg0, 10, 47)
+
+ // Not
+
+ Not(DeRefOf(Index(p000, 0, Local0)))
+ CH06(arg0, 11, 47)
+
+ Not(DeRefOf(Index(p000, 0, Local0)), Local1)
+ CH06(arg0, 12, 47)
+
+ // ObjectType
+
+ ObjectType(DeRefOf(Index(p000, 0, Local0)))
+ CH03(ts, z096, 48, 0, 0)
+
+ // RefOf
+
+ RefOf(DeRefOf(Index(p000, 0, Local0)))
+ CH06(arg0, 205, 47)
+
+ // Release
+
+ // Reset
+
+ // Signal
+
+ // SizeOf
+
+ SizeOf(DeRefOf(Index(p000, 0, Local0)))
+ CH03(ts, z096, 49, 0, 0)
+
+ // Sleep
+
+ Sleep(DeRefOf(Index(p000, 0, Local0)))
+ CH06(arg0, 17, 47)
+
+ // Stall
+
+ Stall(DeRefOf(Index(p000, 0, Local0)))
+ CH06(arg0, 18, 47)
+
+ // Store
+
+ Store(DeRefOf(Index(p000, 0, Local0)), Local1)
+ CH03(ts, z096, 50, 0, 0)
+
+ // ToBCD
+
+ ToBCD(DeRefOf(Index(p000, 0, Local0)))
+ CH06(arg0, 20, 47)
+
+ ToBCD(DeRefOf(Index(p000, 0, Local0)), Local1)
+ CH06(arg0, 21, 47)
+
+ // ToBuffer
+
+ ToBuffer(DeRefOf(Index(p000, 0, Local0)))
+ CH06(arg0, 22, 47)
+
+ ToBuffer(DeRefOf(Index(p000, 0, Local0)), Local1)
+ CH06(arg0, 23, 47)
+
+ // ToDecimalString
+
+ ToDecimalString(DeRefOf(Index(p000, 0, Local0)))
+ CH06(arg0, 24, 47)
+
+ ToDecimalString(DeRefOf(Index(p000, 0, Local0)), Local1)
+ CH06(arg0, 25, 47)
+
+ // ToHexString
+
+ ToHexString(DeRefOf(Index(p000, 0, Local0)))
+ CH06(arg0, 26, 47)
+
+ ToHexString(DeRefOf(Index(p000, 0, Local0)), Local1)
+ CH06(arg0, 27, 47)
+
+ // ToInteger
+
+ ToInteger(DeRefOf(Index(p000, 0, Local0)))
+ CH06(arg0, 28, 47)
+
+ ToInteger(DeRefOf(Index(p000, 0, Local0)), Local1)
+ CH06(arg0, 29, 47)
+
+ // Acquire
+
+ // Add
+
+ Add(DeRefOf(Index(p000, 0, Local0)), i000)
+ CH06(arg0, 31, 47)
+
+ Add(i000, DeRefOf(Index(p000, 0, Local0)))
+ CH06(arg0, 32, 47)
+
+ Add(DeRefOf(Index(p000, 0, Local0)), i000, Local1)
+ CH06(arg0, 33, 47)
+
+ Add(i000, DeRefOf(Index(p000, 0, Local0)), Local1)
+ CH06(arg0, 34, 47)
+
+ // And
+
+ And(DeRefOf(Index(p000, 0, Local0)), i000)
+ CH06(arg0, 35, 47)
+
+ And(i000, DeRefOf(Index(p000, 0, Local0)))
+ CH06(arg0, 36, 47)
+
+ And(DeRefOf(Index(p000, 0, Local0)), i000, Local1)
+ CH06(arg0, 37, 47)
+
+ And(i000, DeRefOf(Index(p000, 0, Local0)), Local1)
+ CH06(arg0, 38, 47)
+
+ // Concatenate
+
+ Concatenate(DeRefOf(Index(p000, 0, Local0)), i000)
+ CH06(arg0, 39, 47)
+
+ Concatenate(i000, DeRefOf(Index(p000, 0, Local0)))
+ CH06(arg0, 40, 47)
+
+ Concatenate(DeRefOf(Index(p000, 0, Local0)), i000, Local1)
+ CH06(arg0, 41, 47)
+
+ Concatenate(i000, DeRefOf(Index(p000, 0, Local0)), Local1)
+ CH06(arg0, 42, 47)
+
+ // ConcatenateResTemplate
+
+ ConcatenateResTemplate(DeRefOf(Index(p000, 0, Local0)), ResourceTemplate(){})
+ CH06(arg0, 43, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, DeRefOf(Index(p000, 0, Local0)))
+ CH06(arg0, 44, 47)
+
+ ConcatenateResTemplate(DeRefOf(Index(p000, 0, Local0)), ResourceTemplate(){}, Local1)
+ CH06(arg0, 45, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, DeRefOf(Index(p000, 0, Local0)), Local1)
+ CH06(arg0, 46, 47)
+
+ // Divide
+
+ Divide(DeRefOf(Index(p000, 0, Local0)), i000)
+ CH06(arg0, 47, 47)
+
+ Divide(i000, DeRefOf(Index(p000, 0, Local0)))
+ CH06(arg0, 48, 47)
+
+ Divide(DeRefOf(Index(p000, 0, Local0)), i000, Local2)
+ CH06(arg0, 49, 47)
+
+ Divide(i000, DeRefOf(Index(p000, 0, Local0)), Local2)
+ CH06(arg0, 50, 47)
+
+ Divide(DeRefOf(Index(p000, 0, Local0)), i000, Local2, Local1)
+ CH06(arg0, 51, 47)
+
+ Divide(i000, DeRefOf(Index(p000, 0, Local0)), Local2, Local1)
+ CH06(arg0, 52, 47)
+
+ // Fatal
+
+ Fatal(0xff, 0xffffffff, DeRefOf(Index(p000, 0, Local0)))
+ CH06(arg0, 53, 47)
+
+ // Index
+
+ Index(DeRefOf(Index(p000, 0, Local0)), 0)
+ CH03(ts, z096, 51, 0, 0)
+
+ Index("0", DeRefOf(Index(p000, 0, Local0)))
+ CH06(arg0, 55, 47)
+
+ Index(DeRefOf(Index(p000, 0, Local0)), 0, Local1)
+ CH03(ts, z096, 52, 0, 0)
+
+ Index("0", DeRefOf(Index(p000, 0, Local0)), Local1)
+ CH06(arg0, 57, 47)
+
+ // LEqual
+
+ LEqual(DeRefOf(Index(p000, 0, Local0)), i000)
+ CH06(arg0, 58, 47)
+
+ LEqual(i000, DeRefOf(Index(p000, 0, Local0)))
+ CH06(arg0, 59, 47)
+
+ // LGreater
+
+ LGreater(DeRefOf(Index(p000, 0, Local0)), i000)
+ CH06(arg0, 60, 47)
+
+ LGreater(i000, DeRefOf(Index(p000, 0, Local0)))
+ CH06(arg0, 61, 47)
+
+ // LGreaterEqual
+
+ LGreaterEqual(DeRefOf(Index(p000, 0, Local0)), i000)
+ CH06(arg0, 62, 0xff)
+
+ LGreaterEqual(i000, DeRefOf(Index(p000, 0, Local0)))
+ CH06(arg0, 63, 0xff)
+
+ // LLess
+
+ LLess(DeRefOf(Index(p000, 0, Local0)), i000)
+ CH06(arg0, 64, 47)
+
+ LLess(i000, DeRefOf(Index(p000, 0, Local0)))
+ CH06(arg0, 65, 47)
+
+ // LLessEqual
+
+ LLessEqual(DeRefOf(Index(p000, 0, Local0)), i000)
+ CH06(arg0, 66, 0xff)
+
+ LLessEqual(i000, DeRefOf(Index(p000, 0, Local0)))
+ CH06(arg0, 67, 0xff)
+
+ // LNotEqual
+
+ LNotEqual(DeRefOf(Index(p000, 0, Local0)), i000)
+ CH06(arg0, 68, 0xff)
+
+ LNotEqual(i000, DeRefOf(Index(p000, 0, Local0)))
+ CH06(arg0, 69, 0xff)
+
+ // LOr
+
+ LOr(DeRefOf(Index(p000, 0, Local0)), i000)
+ CH06(arg0, 70, 47)
+
+ LOr(i000, DeRefOf(Index(p000, 0, Local0)))
+ CH06(arg0, 71, 47)
+
+ // Mod
+
+ Mod(DeRefOf(Index(p000, 0, Local0)), i000)
+ CH06(arg0, 72, 47)
+
+ Mod(i000, DeRefOf(Index(p000, 0, Local0)))
+ CH06(arg0, 73, 47)
+
+ Mod(DeRefOf(Index(p000, 0, Local0)), i000, Local1)
+ CH06(arg0, 74, 47)
+
+ Mod(i000, DeRefOf(Index(p000, 0, Local0)), Local1)
+ CH06(arg0, 75, 47)
+
+ // Multiply
+
+ Multiply(DeRefOf(Index(p000, 0, Local0)), i000)
+ CH06(arg0, 76, 47)
+
+ Multiply(i000, DeRefOf(Index(p000, 0, Local0)))
+ CH06(arg0, 77, 47)
+
+ Multiply(DeRefOf(Index(p000, 0, Local0)), i000, Local1)
+ CH06(arg0, 78, 47)
+
+ Multiply(i000, DeRefOf(Index(p000, 0, Local0)), Local1)
+ CH06(arg0, 79, 47)
+
+ // NAnd
+
+ NAnd(DeRefOf(Index(p000, 0, Local0)), i000)
+ CH06(arg0, 80, 47)
+
+ NAnd(i000, DeRefOf(Index(p000, 0, Local0)))
+ CH06(arg0, 81, 47)
+
+ NAnd(DeRefOf(Index(p000, 0, Local0)), i000, Local1)
+ CH06(arg0, 82, 47)
+
+ NAnd(i000, DeRefOf(Index(p000, 0, Local0)), Local1)
+ CH06(arg0, 83, 47)
+
+ // NOr
+
+ NOr(DeRefOf(Index(p000, 0, Local0)), i000)
+ CH06(arg0, 84, 47)
+
+ NOr(i000, DeRefOf(Index(p000, 0, Local0)))
+ CH06(arg0, 85, 47)
+
+ NOr(DeRefOf(Index(p000, 0, Local0)), i000, Local1)
+ CH06(arg0, 86, 47)
+
+ NOr(i000, DeRefOf(Index(p000, 0, Local0)), Local1)
+ CH06(arg0, 87, 47)
+
+ // Or
+
+ Or(DeRefOf(Index(p000, 0, Local0)), i000)
+ CH06(arg0, 88, 47)
+
+ Or(i000, DeRefOf(Index(p000, 0, Local0)))
+ CH06(arg0, 89, 47)
+
+ Or(DeRefOf(Index(p000, 0, Local0)), i000, Local1)
+ CH06(arg0, 90, 47)
+
+ Or(i000, DeRefOf(Index(p000, 0, Local0)), Local1)
+ CH06(arg0, 91, 47)
+
+ // ShiftLeft
+
+ ShiftLeft(DeRefOf(Index(p000, 0, Local0)), i000)
+ CH06(arg0, 92, 47)
+
+ ShiftLeft(i000, DeRefOf(Index(p000, 0, Local0)))
+ CH06(arg0, 93, 47)
+
+ ShiftLeft(DeRefOf(Index(p000, 0, Local0)), i000, Local1)
+ CH06(arg0, 94, 47)
+
+ ShiftLeft(i000, DeRefOf(Index(p000, 0, Local0)), Local1)
+ CH06(arg0, 95, 47)
+
+ // ShiftRight
+
+ ShiftRight(DeRefOf(Index(p000, 0, Local0)), i000)
+ CH06(arg0, 96, 47)
+
+ ShiftRight(i000, DeRefOf(Index(p000, 0, Local0)))
+ CH06(arg0, 97, 47)
+
+ ShiftRight(DeRefOf(Index(p000, 0, Local0)), i000, Local1)
+ CH06(arg0, 98, 47)
+
+ ShiftRight(i000, DeRefOf(Index(p000, 0, Local0)), Local1)
+ CH06(arg0, 99, 47)
+
+ // Subtract
+
+ Subtract(DeRefOf(Index(p000, 0, Local0)), i000)
+ CH06(arg0, 100, 47)
+
+ Subtract(i000, DeRefOf(Index(p000, 0, Local0)))
+ CH06(arg0, 101, 47)
+
+ Subtract(DeRefOf(Index(p000, 0, Local0)), i000, Local1)
+ CH06(arg0, 102, 47)
+
+ Subtract(i000, DeRefOf(Index(p000, 0, Local0)), Local1)
+ CH06(arg0, 103, 47)
+
+ // ToString
+
+ ToString(DeRefOf(Index(p000, 0, Local0)), 1)
+ CH06(arg0, 104, 47)
+
+ ToString(i000, DeRefOf(Index(p000, 0, Local0)))
+ CH06(arg0, 105, 47)
+
+ ToString(DeRefOf(Index(p000, 0, Local0)), 1, Local1)
+ CH06(arg0, 106, 47)
+
+ ToString(i000, DeRefOf(Index(p000, 0, Local0)), Local1)
+ CH06(arg0, 107, 47)
+
+ // Wait
+
+ Wait(e000, DeRefOf(Index(p000, 0, Local0)))
+ CH06(arg0, 109, 47)
+
+ // XOr
+
+ XOr(DeRefOf(Index(p000, 0, Local0)), i000)
+ CH06(arg0, 110, 47)
+
+ XOr(i000, DeRefOf(Index(p000, 0, Local0)))
+ CH06(arg0, 111, 47)
+
+ XOr(DeRefOf(Index(p000, 0, Local0)), i000, Local1)
+ CH06(arg0, 112, 47)
+
+ XOr(i000, DeRefOf(Index(p000, 0, Local0)), Local1)
+ CH06(arg0, 113, 47)
+
+ // Mid
+
+ Mid(DeRefOf(Index(p000, 0, Local0)), 1, 1)
+ CH06(arg0, 114, 47)
+
+ Mid("123", DeRefOf(Index(p000, 0, Local0)), 1)
+ CH06(arg0, 115, 47)
+
+ Mid("123", 1, DeRefOf(Index(p000, 0, Local0)))
+ CH06(arg0, 116, 47)
+
+ Mid(DeRefOf(Index(p000, 0, Local0)), 1, 1, Local1)
+ CH06(arg0, 117, 47)
+
+ Mid("123", DeRefOf(Index(p000, 0, Local0)), 1, Local1)
+ CH06(arg0, 118, 47)
+
+ Mid("123", 1, DeRefOf(Index(p000, 0, Local0)), Local1)
+ CH06(arg0, 119, 47)
+
+ // Match
+
+ Match(DeRefOf(Index(p000, 0, Local0)), MTR, 0, MTR, 0, 0)
+ CH03(ts, z096, 53, 0, 0)
+
+ Match(Package(){1}, MTR, DeRefOf(Index(p000, 0, Local0)), MTR, 0, 0)
+ CH06(arg0, 121, 47)
+
+ Match(Package(){1}, MTR, 0, MTR, DeRefOf(Index(p000, 0, Local0)), 0)
+ CH06(arg0, 122, 47)
+
+ Match(Package(){1}, MTR, 0, MTR, 0, DeRefOf(Index(p000, 0, Local0)))
+ CH06(arg0, 123, 47)
+ }
+
+ // Reference to Object
+ Method(m005, 2)
+ {
+ Store(arg0, Debug)
+ Store(arg1, Debug)
+
+ Store(ObjectType(arg1), Local0)
+ if (LNotEqual(Local0, 4)) {
+ err(arg0, z096, 0, 0, 0, Local0, 4)
+ return (1)
+ }
+
+ DerefOf(arg1)
+ CH03(ts, z096, 54, 0, 0)
+
+ // CondRefOf
+
+ CondRefOf(DerefOf(arg1))
+ CH06(arg0, 1, 47)
+
+ CondRefOf(DerefOf(arg1), Local1)
+ CH06(arg0, 2, 47)
+
+ // CopyObject
+
+ CopyObject(DerefOf(arg1), Local1)
+ CH03(ts, z096, 55, 0, 0)
+
+ // Decrement
+
+ Decrement(DerefOf(arg1))
+ CH06(arg0, 3, 47)
+
+ // DerefOf
+
+ DerefOf(DerefOf(arg1))
+ CH06(arg0, 4, 47)
+
+ // FindSetLeftBit
+
+ FindSetLeftBit(DerefOf(arg1))
+ CH06(arg0, 5, 47)
+
+ FindSetLeftBit(DerefOf(arg1), Local1)
+ CH06(arg0, 6, 47)
+
+ // FindSetRightBit
+
+ FindSetRightBit(DerefOf(arg1))
+ CH06(arg0, 7, 47)
+
+ FindSetRightBit(DerefOf(arg1), Local1)
+ CH06(arg0, 8, 47)
+
+ // FromBCD
+
+ FromBCD(DerefOf(arg1))
+ CH06(arg0, 9, 47)
+
+ FromBCD(DerefOf(arg1), Local1)
+ CH06(arg0, 10, 47)
+
+ // Increment
+
+ Increment(DerefOf(arg1))
+ CH06(arg0, 11, 47)
+
+ // LNot
+
+ LNot(DerefOf(arg1))
+ CH06(arg0, 12, 47)
+
+ // Not
+
+ Not(DerefOf(arg1))
+ CH06(arg0, 13, 47)
+
+ Not(DerefOf(arg1), Local1)
+ CH06(arg0, 14, 47)
+
+ // ObjectType
+
+ ObjectType(DerefOf(arg1))
+ CH03(ts, z096, 56, 0, 0)
+
+ // RefOf
+
+ RefOf(DerefOf(arg1))
+ CH06(arg0, 15, 47)
+
+ // Release
+
+ // Reset
+
+ // Signal
+
+ // SizeOf
+
+ SizeOf(DerefOf(arg1))
+ CH03(ts, z096, 57, 0, 0)
+
+ // Sleep
+
+ Sleep(DerefOf(arg1))
+ CH06(arg0, 17, 47)
+
+ // Stall
+
+ Stall(DerefOf(arg1))
+ CH06(arg0, 18, 47)
+
+ // Store
+
+ Store(DerefOf(arg1), Local1)
+ CH03(ts, z096, 58, 0, 0)
+
+ // ToBCD
+
+ ToBCD(DerefOf(arg1))
+ CH06(arg0, 20, 47)
+
+ ToBCD(DerefOf(arg1), Local1)
+ CH06(arg0, 21, 47)
+
+ // ToBuffer
+
+ ToBuffer(DerefOf(arg1))
+ CH06(arg0, 22, 47)
+
+ ToBuffer(DerefOf(arg1), Local1)
+ CH06(arg0, 23, 47)
+
+ // ToDecimalString
+
+ ToDecimalString(DerefOf(arg1))
+ CH06(arg0, 24, 47)
+
+ ToDecimalString(DerefOf(arg1), Local1)
+ CH06(arg0, 25, 47)
+
+ // ToHexString
+
+ ToHexString(DerefOf(arg1))
+ CH06(arg0, 26, 47)
+
+ ToHexString(DerefOf(arg1), Local1)
+ CH06(arg0, 27, 47)
+
+ // ToInteger
+
+ ToInteger(DerefOf(arg1))
+ CH06(arg0, 28, 47)
+
+ ToInteger(DerefOf(arg1), Local1)
+ CH06(arg0, 29, 47)
+
+ // Acquire
+
+ // Add
+
+ Add(DerefOf(arg1), i000)
+ CH06(arg0, 31, 47)
+
+ Add(i000, DerefOf(arg1))
+ CH06(arg0, 32, 47)
+
+ Add(DerefOf(arg1), i000, Local1)
+ CH06(arg0, 33, 47)
+
+ Add(i000, DerefOf(arg1), Local1)
+ CH06(arg0, 34, 47)
+
+ // And
+
+ And(DerefOf(arg1), i000)
+ CH06(arg0, 35, 47)
+
+ And(i000, DerefOf(arg1))
+ CH06(arg0, 36, 47)
+
+ And(DerefOf(arg1), i000, Local1)
+ CH06(arg0, 37, 47)
+
+ And(i000, DerefOf(arg1), Local1)
+ CH06(arg0, 38, 47)
+
+ // Concatenate
+
+ Concatenate(DerefOf(arg1), i000)
+ CH06(arg0, 39, 47)
+
+ Concatenate(i000, DerefOf(arg1))
+ CH06(arg0, 40, 47)
+
+ Concatenate(DerefOf(arg1), i000, Local1)
+ CH06(arg0, 41, 47)
+
+ Concatenate(i000, DerefOf(arg1), Local1)
+ CH06(arg0, 42, 47)
+
+ // ConcatenateResTemplate
+
+ ConcatenateResTemplate(DerefOf(arg1), ResourceTemplate(){})
+ CH06(arg0, 43, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, DerefOf(arg1))
+ CH06(arg0, 44, 47)
+
+ ConcatenateResTemplate(DerefOf(arg1), ResourceTemplate(){}, Local1)
+ CH06(arg0, 45, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, DerefOf(arg1), Local1)
+ CH06(arg0, 46, 47)
+
+ // Divide
+
+ Divide(DerefOf(arg1), i000)
+ CH06(arg0, 47, 47)
+
+ Divide(i000, DerefOf(arg1))
+ CH06(arg0, 48, 47)
+
+ Divide(DerefOf(arg1), i000, Local2)
+ CH06(arg0, 49, 47)
+
+ Divide(i000, DerefOf(arg1), Local2)
+ CH06(arg0, 50, 47)
+
+ Divide(DerefOf(arg1), i000, Local2, Local1)
+ CH06(arg0, 51, 47)
+
+ Divide(i000, DerefOf(arg1), Local2, Local1)
+ CH06(arg0, 52, 47)
+
+ // Fatal
+
+ Fatal(0xff, 0xffffffff, DerefOf(arg1))
+ CH06(arg0, 53, 47)
+
+ // Index
+
+ Index(DerefOf(arg1), 0)
+ CH03(ts, z096, 59, 0, 0)
+
+ Index("0", DerefOf(arg1))
+ CH06(arg0, 55, 47)
+
+ Index(DerefOf(arg1), 0, Local1)
+ CH03(ts, z096, 60, 0, 0)
+
+ Index("0", DerefOf(arg1), Local1)
+ CH06(arg0, 57, 47)
+
+ // LEqual
+
+ LEqual(DerefOf(arg1), i000)
+ CH06(arg0, 58, 47)
+
+ LEqual(i000, DerefOf(arg1))
+ CH06(arg0, 59, 47)
+
+ // LGreater
+
+ LGreater(DerefOf(arg1), i000)
+ CH06(arg0, 60, 47)
+
+ LGreater(i000, DerefOf(arg1))
+ CH06(arg0, 61, 47)
+
+ // LGreaterEqual
+
+ LGreaterEqual(DerefOf(arg1), i000)
+ CH06(arg0, 62, 0xff)
+
+ LGreaterEqual(i000, DerefOf(arg1))
+ CH06(arg0, 63, 0xff)
+
+ // LLess
+
+ LLess(DerefOf(arg1), i000)
+ CH06(arg0, 64, 47)
+
+ LLess(i000, DerefOf(arg1))
+ CH06(arg0, 65, 47)
+
+ // LLessEqual
+
+ LLessEqual(DerefOf(arg1), i000)
+ CH06(arg0, 66, 0xff)
+
+ LLessEqual(i000, DerefOf(arg1))
+ CH06(arg0, 67, 0xff)
+
+ // LNotEqual
+
+ LNotEqual(DerefOf(arg1), i000)
+ CH06(arg0, 68, 0xff)
+
+ LNotEqual(i000, DerefOf(arg1))
+ CH06(arg0, 69, 0xff)
+
+ // LOr
+
+ LOr(DerefOf(arg1), i000)
+ CH06(arg0, 70, 47)
+
+ LOr(i000, DerefOf(arg1))
+ CH06(arg0, 71, 47)
+
+ // Mod
+
+ Mod(DerefOf(arg1), i000)
+ CH06(arg0, 72, 47)
+
+ Mod(i000, DerefOf(arg1))
+ CH06(arg0, 73, 47)
+
+ Mod(DerefOf(arg1), i000, Local1)
+ CH06(arg0, 74, 47)
+
+ Mod(i000, DerefOf(arg1), Local1)
+ CH06(arg0, 75, 47)
+
+ // Multiply
+
+ Multiply(DerefOf(arg1), i000)
+ CH06(arg0, 76, 47)
+
+ Multiply(i000, DerefOf(arg1))
+ CH06(arg0, 77, 47)
+
+ Multiply(DerefOf(arg1), i000, Local1)
+ CH06(arg0, 78, 47)
+
+ Multiply(i000, DerefOf(arg1), Local1)
+ CH06(arg0, 79, 47)
+
+ // NAnd
+
+ NAnd(DerefOf(arg1), i000)
+ CH06(arg0, 80, 47)
+
+ NAnd(i000, DerefOf(arg1))
+ CH06(arg0, 81, 47)
+
+ NAnd(DerefOf(arg1), i000, Local1)
+ CH06(arg0, 82, 47)
+
+ NAnd(i000, DerefOf(arg1), Local1)
+ CH06(arg0, 83, 47)
+
+ // NOr
+
+ NOr(DerefOf(arg1), i000)
+ CH06(arg0, 84, 47)
+
+ NOr(i000, DerefOf(arg1))
+ CH06(arg0, 85, 47)
+
+ NOr(DerefOf(arg1), i000, Local1)
+ CH06(arg0, 86, 47)
+
+ NOr(i000, DerefOf(arg1), Local1)
+ CH06(arg0, 87, 47)
+
+ // Or
+
+ Or(DerefOf(arg1), i000)
+ CH06(arg0, 88, 47)
+
+ Or(i000, DerefOf(arg1))
+ CH06(arg0, 89, 47)
+
+ Or(DerefOf(arg1), i000, Local1)
+ CH06(arg0, 90, 47)
+
+ Or(i000, DerefOf(arg1), Local1)
+ CH06(arg0, 91, 47)
+
+ // ShiftLeft
+
+ ShiftLeft(DerefOf(arg1), i000)
+ CH06(arg0, 92, 47)
+
+ ShiftLeft(i000, DerefOf(arg1))
+ CH06(arg0, 93, 47)
+
+ ShiftLeft(DerefOf(arg1), i000, Local1)
+ CH06(arg0, 94, 47)
+
+ ShiftLeft(i000, DerefOf(arg1), Local1)
+ CH06(arg0, 95, 47)
+
+ // ShiftRight
+
+ ShiftRight(DerefOf(arg1), i000)
+ CH06(arg0, 96, 47)
+
+ ShiftRight(i000, DerefOf(arg1))
+ CH06(arg0, 97, 47)
+
+ ShiftRight(DerefOf(arg1), i000, Local1)
+ CH06(arg0, 98, 47)
+
+ ShiftRight(i000, DerefOf(arg1), Local1)
+ CH06(arg0, 99, 47)
+
+ // Subtract
+
+ Subtract(DerefOf(arg1), i000)
+ CH06(arg0, 100, 47)
+
+ Subtract(i000, DerefOf(arg1))
+ CH06(arg0, 101, 47)
+
+ Subtract(DerefOf(arg1), i000, Local1)
+ CH06(arg0, 102, 47)
+
+ Subtract(i000, DerefOf(arg1), Local1)
+ CH06(arg0, 103, 47)
+
+ // ToString
+
+ ToString(DerefOf(arg1), 1)
+ CH06(arg0, 104, 47)
+
+ ToString(i000, DerefOf(arg1))
+ CH06(arg0, 105, 47)
+
+ ToString(DerefOf(arg1), 1, Local1)
+ CH06(arg0, 106, 47)
+
+ ToString(i000, DerefOf(arg1), Local1)
+ CH06(arg0, 107, 47)
+
+ // Wait
+
+ Wait(e000, DerefOf(arg1))
+ CH06(arg0, 109, 47)
+
+ // XOr
+
+ XOr(DerefOf(arg1), i000)
+ CH06(arg0, 110, 47)
+
+ XOr(i000, DerefOf(arg1))
+ CH06(arg0, 111, 47)
+
+ XOr(DerefOf(arg1), i000, Local1)
+ CH06(arg0, 112, 47)
+
+ XOr(i000, DerefOf(arg1), Local1)
+ CH06(arg0, 113, 47)
+
+ // Mid
+
+ Mid(DerefOf(arg1), 1, 1)
+ CH06(arg0, 114, 47)
+
+ Mid("123", DerefOf(arg1), 1)
+ CH06(arg0, 115, 47)
+
+ Mid("123", 1, DerefOf(arg1))
+ CH06(arg0, 116, 47)
+
+ Mid(DerefOf(arg1), 1, 1, Local1)
+ CH06(arg0, 117, 47)
+
+ Mid("123", DerefOf(arg1), 1, Local1)
+ CH06(arg0, 118, 47)
+
+ Mid("123", 1, DerefOf(arg1), Local1)
+ CH06(arg0, 119, 47)
+
+ // Match
+
+ Match(DerefOf(arg1), MTR, 0, MTR, 0, 0)
+ CH03(ts, z096, 61, 0, 0)
+
+ Match(Package(){1}, MTR, DerefOf(arg1), MTR, 0, 0)
+ CH06(arg0, 121, 47)
+
+ Match(Package(){1}, MTR, 0, MTR, DerefOf(arg1), 0)
+ CH06(arg0, 122, 47)
+
+ Match(Package(){1}, MTR, 0, MTR, 0, DerefOf(arg1))
+ CH06(arg0, 123, 47)
+
+ return (0)
+ }
+
+ // Result of Method invocation
+ Method(m006, 1)
+ {
+ Method(m000)
+ {
+ // intermediate storing to force ASL compiler
+ // not report "Invalid type (Method returns)"
+ Store(Package(){0x63}, Local0)
+ Return (Local0)
+ }
+
+ Name(ss00, "0")
+
+ // CondRefOf
+
+ if (y601) {
+ CondRefOf(m000())
+ CH06(arg0, 0, 47)
+
+ CondRefOf(m000(), Local1)
+ CH06(arg0, 1, 47)
+ }
+
+ // CopyObject
+
+ CopyObject(m000(), Local1)
+ CH03(ts, z096, 62, 0, 0)
+
+ // Decrement
+
+ Decrement(m000())
+ CH06(arg0, 2, 47)
+
+ // DerefOf
+
+ DerefOf(m000())
+ CH06(arg0, 3, 47)
+
+ // FindSetLeftBit
+
+ FindSetLeftBit(m000())
+ CH06(arg0, 4, 47)
+
+ FindSetLeftBit(m000(), Local1)
+ CH06(arg0, 5, 47)
+
+ // FindSetRightBit
+
+ FindSetRightBit(m000())
+ CH06(arg0, 6, 47)
+
+ FindSetRightBit(m000(), Local1)
+ CH06(arg0, 7, 47)
+
+ // FromBCD
+
+ FromBCD(m000())
+ CH06(arg0, 8, 47)
+
+ FromBCD(m000(), Local1)
+ CH06(arg0, 9, 47)
+
+ // Increment
+
+ Increment(m000())
+ CH06(arg0, 10, 47)
+
+ // LNot
+
+ LNot(m000())
+ CH06(arg0, 11, 47)
+
+ // Not
+
+ Not(m000())
+ CH06(arg0, 12, 47)
+
+ Not(m000(), Local1)
+ CH06(arg0, 13, 47)
+
+ // ObjectType
+
+ ObjectType(m000())
+ CH03(ts, z096, 63, 0, 0)
+
+ // RefOf
+
+ if (y601) {
+ RefOf(m000())
+ CH06(arg0, 14, 47)
+ }
+
+ // Release
+
+ Release(m000())
+ CH06(arg0, 13, 47)
+
+ // Reset
+
+ Reset(m000())
+ CH06(arg0, 14, 47)
+
+ // Signal
+
+ Signal(m000())
+ CH06(arg0, 15, 47)
+
+ // SizeOf
+
+ SizeOf(m000())
+ CH06(arg0, 16, 47)
+
+ // Sleep
+
+ Sleep(m000())
+ CH06(arg0, 17, 47)
+
+ // Stall
+
+ Stall(m000())
+ CH06(arg0, 18, 47)
+
+ // Store
+
+ // ToBCD
+
+ ToBCD(m000())
+ CH06(arg0, 20, 47)
+
+ ToBCD(m000(), Local1)
+ CH06(arg0, 21, 47)
+
+ // ToBuffer
+
+ ToBuffer(m000())
+ CH06(arg0, 22, 47)
+
+ ToBuffer(m000(), Local1)
+ CH06(arg0, 23, 47)
+
+ // ToDecimalString
+
+ ToDecimalString(m000())
+ CH06(arg0, 24, 47)
+
+ ToDecimalString(m000(), Local1)
+ CH06(arg0, 25, 47)
+
+ // ToHexString
+
+ ToHexString(m000())
+ CH06(arg0, 26, 47)
+
+ ToHexString(m000(), Local1)
+ CH06(arg0, 27, 47)
+
+ // ToInteger
+
+ ToInteger(m000())
+ CH06(arg0, 28, 47)
+
+ ToInteger(m000(), Local1)
+ CH06(arg0, 29, 47)
+
+ // Acquire
+
+ Acquire(m000(), 100)
+ CH06(arg0, 30, 47)
+
+ // Add
+
+ Add(m000(), i000)
+ CH06(arg0, 31, 47)
+
+ Add(i000, m000())
+ CH06(arg0, 32, 47)
+
+ Add(m000(), i000, Local1)
+ CH06(arg0, 33, 47)
+
+ Add(i000, m000(), Local1)
+ CH06(arg0, 34, 47)
+
+ // And
+
+ And(m000(), i000)
+ CH06(arg0, 35, 47)
+
+ And(i000, m000())
+ CH06(arg0, 36, 47)
+
+ And(m000(), i000, Local1)
+ CH06(arg0, 37, 47)
+
+ And(i000, m000(), Local1)
+ CH06(arg0, 38, 47)
+
+ // Concatenate
+
+ Concatenate(m000(), i000)
+ CH06(arg0, 39, 47)
+
+ Concatenate(i000, m000())
+ CH06(arg0, 40, 47)
+
+ Concatenate(m000(), i000, Local1)
+ CH06(arg0, 41, 47)
+
+ Concatenate(i000, m000(), Local1)
+ CH06(arg0, 42, 47)
+
+ // ConcatenateResTemplate
+
+ ConcatenateResTemplate(m000(), ResourceTemplate(){})
+ CH06(arg0, 43, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, m000())
+ CH06(arg0, 44, 47)
+
+ ConcatenateResTemplate(m000(), ResourceTemplate(){}, Local1)
+ CH06(arg0, 45, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, m000(), Local1)
+ CH06(arg0, 46, 47)
+
+ // Divide
+
+ Divide(m000(), i000)
+ CH06(arg0, 47, 47)
+
+ Divide(i000, m000())
+ CH06(arg0, 48, 47)
+
+ Divide(m000(), i000, Local2)
+ CH06(arg0, 49, 47)
+
+ Divide(i000, m000(), Local2)
+ CH06(arg0, 50, 47)
+
+ Divide(m000(), i000, Local2, Local1)
+ CH06(arg0, 51, 47)
+
+ Divide(i000, m000(), Local2, Local1)
+ CH06(arg0, 52, 47)
+
+ // Fatal
+
+ Fatal(0xff, 0xffffffff, m000())
+ CH06(arg0, 53, 47)
+
+ // Index
+
+ if (y900) {
+ Index(m000(), 0)
+ CH03(ts, z096, 64, 0, 0)
+
+ Index("0", m000())
+ CH06(arg0, 55, 47)
+
+ Index(m000(), 0, Local1)
+ CH03(ts, z096, 65, 0, 0)
+
+ Index("0", m000(), Local1)
+ CH06(arg0, 57, 47)
+ } else {
+ CH03(ts, z096, 0x123, 0, 0)
+ Index(m000(), 0)
+ CH04(ts, 0, 85, z094, 0x124, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+
+ CH03(ts, z096, 0x125, 0, 0)
+ Index("0", m000())
+ CH04(ts, 0, 0xff, z094, 0x126, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+
+ CH03(ts, z096, 0x127, 0, 0)
+ Index(m000(), 0, Local1)
+ CH04(ts, 0, 85, z094, 0x128, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+
+ CH03(ts, z096, 0x129, 0, 0)
+ Index("0", m000(), Local1)
+ CH04(ts, 0, 0xff, z094, 0x12a, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+
+
+ CH03(ts, z096, 0x125, 0, 0)
+ Index(ss00, m000())
+ CH04(ts, 0, 47, z094, 0x126, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+
+ CH03(ts, z096, 0x129, 0, 0)
+ Index(ss00, m000(), Local1)
+ CH04(ts, 0, 47, z094, 0x12a, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+ }
+
+ // LEqual
+
+ LEqual(m000(), i000)
+ CH06(arg0, 58, 47)
+
+ LEqual(i000, m000())
+ CH06(arg0, 59, 47)
+
+ // LGreater
+
+ LGreater(m000(), i000)
+ CH06(arg0, 60, 47)
+
+ LGreater(i000, m000())
+ CH06(arg0, 61, 47)
+
+ // LGreaterEqual
+
+ LGreaterEqual(m000(), i000)
+ CH06(arg0, 62, 0xff)
+
+ LGreaterEqual(i000, m000())
+ CH06(arg0, 63, 0xff)
+
+ // LLess
+
+ LLess(m000(), i000)
+ CH06(arg0, 64, 47)
+
+ LLess(i000, m000())
+ CH06(arg0, 65, 47)
+
+ // LLessEqual
+
+ LLessEqual(m000(), i000)
+ CH06(arg0, 66, 0xff)
+
+ LLessEqual(i000, m000())
+ CH06(arg0, 67, 0xff)
+
+ // LNotEqual
+
+ LNotEqual(m000(), i000)
+ CH06(arg0, 68, 0xff)
+
+ LNotEqual(i000, m000())
+ CH06(arg0, 69, 0xff)
+
+ // LOr
+
+ LOr(m000(), i000)
+ CH06(arg0, 70, 47)
+
+ LOr(i000, m000())
+ CH06(arg0, 71, 47)
+
+ // Mod
+
+ Mod(m000(), i000)
+ CH06(arg0, 72, 47)
+
+ Mod(i000, m000())
+ CH06(arg0, 73, 47)
+
+ Mod(m000(), i000, Local1)
+ CH06(arg0, 74, 47)
+
+ Mod(i000, m000(), Local1)
+ CH06(arg0, 75, 47)
+
+ // Multiply
+
+ Multiply(m000(), i000)
+ CH06(arg0, 76, 47)
+
+ Multiply(i000, m000())
+ CH06(arg0, 77, 47)
+
+ Multiply(m000(), i000, Local1)
+ CH06(arg0, 78, 47)
+
+ Multiply(i000, m000(), Local1)
+ CH06(arg0, 79, 47)
+
+ // NAnd
+
+ NAnd(m000(), i000)
+ CH06(arg0, 80, 47)
+
+ NAnd(i000, m000())
+ CH06(arg0, 81, 47)
+
+ NAnd(m000(), i000, Local1)
+ CH06(arg0, 82, 47)
+
+ NAnd(i000, m000(), Local1)
+ CH06(arg0, 83, 47)
+
+ // NOr
+
+ NOr(m000(), i000)
+ CH06(arg0, 84, 47)
+
+ NOr(i000, m000())
+ CH06(arg0, 85, 47)
+
+ NOr(m000(), i000, Local1)
+ CH06(arg0, 86, 47)
+
+ NOr(i000, m000(), Local1)
+ CH06(arg0, 87, 47)
+
+ // Or
+
+ Or(m000(), i000)
+ CH06(arg0, 88, 47)
+
+ Or(i000, m000())
+ CH06(arg0, 89, 47)
+
+ Or(m000(), i000, Local1)
+ CH06(arg0, 90, 47)
+
+ Or(i000, m000(), Local1)
+ CH06(arg0, 91, 47)
+
+ // ShiftLeft
+
+ ShiftLeft(m000(), i000)
+ CH06(arg0, 92, 47)
+
+ ShiftLeft(i000, m000())
+ CH06(arg0, 93, 47)
+
+ ShiftLeft(m000(), i000, Local1)
+ CH06(arg0, 94, 47)
+
+ ShiftLeft(i000, m000(), Local1)
+ CH06(arg0, 95, 47)
+
+ // ShiftRight
+
+ ShiftRight(m000(), i000)
+ CH06(arg0, 96, 47)
+
+ ShiftRight(i000, m000())
+ CH06(arg0, 97, 47)
+
+ ShiftRight(m000(), i000, Local1)
+ CH06(arg0, 98, 47)
+
+ ShiftRight(i000, m000(), Local1)
+ CH06(arg0, 99, 47)
+
+ // Subtract
+
+ Subtract(m000(), i000)
+ CH06(arg0, 100, 47)
+
+ Subtract(i000, m000())
+ CH06(arg0, 101, 47)
+
+ Subtract(m000(), i000, Local1)
+ CH06(arg0, 102, 47)
+
+ Subtract(i000, m000(), Local1)
+ CH06(arg0, 103, 47)
+
+ // ToString
+
+ ToString(m000(), 1)
+ CH06(arg0, 104, 47)
+
+ ToString(i000, m000())
+ CH06(arg0, 105, 47)
+
+ ToString(m000(), 1, Local1)
+ CH06(arg0, 106, 47)
+
+ ToString(i000, m000(), Local1)
+ CH06(arg0, 107, 47)
+
+ // Wait
+
+ Wait(m000(), i000)
+ CH06(arg0, 108, 47)
+
+ Wait(e000, m000())
+ CH06(arg0, 109, 47)
+
+ // XOr
+
+ XOr(m000(), i000)
+ CH06(arg0, 110, 47)
+
+ XOr(i000, m000())
+ CH06(arg0, 111, 47)
+
+ XOr(m000(), i000, Local1)
+ CH06(arg0, 112, 47)
+
+ XOr(i000, m000(), Local1)
+ CH06(arg0, 113, 47)
+
+ // Mid
+
+ Mid(m000(), 1, 1)
+ CH06(arg0, 114, 47)
+
+ Mid("123", m000(), 1)
+ CH06(arg0, 115, 47)
+
+ Mid("123", 1, m000())
+ CH06(arg0, 116, 47)
+
+ Mid(m000(), 1, 1, Local1)
+ CH06(arg0, 117, 47)
+
+ Mid("123", m000(), 1, Local1)
+ CH06(arg0, 118, 47)
+
+ Mid("123", 1, m000(), Local1)
+ CH06(arg0, 119, 47)
+
+ // Match
+
+ Match(m000(), MTR, 0, MTR, 0, 0)
+ CH03(ts, z096, 66, 0, 0)
+
+ Match(Package(){1}, MTR, m000(), MTR, 0, 0)
+ CH06(arg0, 121, 47)
+
+ Match(Package(){1}, MTR, 0, MTR, m000(), 0)
+ CH06(arg0, 122, 47)
+
+ Match(Package(){1}, MTR, 0, MTR, 0, m000())
+ CH06(arg0, 123, 47)
+ }
+
+ // Reference to Object as Result of Method invocation
+ Method(m007, 1)
+ {
+ Name(p000, Package(){0x63})
+
+ Name(i000, 0) // Label to check m000 invocations
+
+ Method(m000, 2)
+ {
+ Store(arg0, i000)
+ if (LEqual(arg1, 0)) {
+ Store(Refof(p100), Local0)
+ } elseif (LEqual(arg1, 1)) {
+ Store(Refof(p000), Local0)
+ }
+ Return (Local0)
+ }
+
+ Method(CH00, 2)
+ {
+ if (LNotEqual(i000, arg1)) {
+ err(arg0, z096, 0, 0, 0, i000, arg1)
+ }
+ }
+
+ Name(lpN0, 2)
+ Name(lpC0, 0)
+
+ While (lpN0) {
+ Multiply(3, lpC0, Local0)
+
+ Store(0, i000)
+
+ DerefOf(m000(1, lpC0))
+ CH03(ts, z096, Add(67, lpC0), 0, 0)
+ CH00(arg0, 1)
+
+ DerefOf(DerefOf(m000(2, lpC0)))
+ CH06(arg0, Add(1, Local0), 47)
+ CH00(arg0, 2)
+
+ Index(DerefOf(m000(3, lpC0)), 0)
+ CH06(arg0, Add(2, Local0), 47)
+ CH00(arg0, 3)
+
+ Match(DerefOf(m000(4, lpC0)), MTR, 0, MTR, 0, 0)
+ CH06(arg0, Add(3, Local0), 47)
+ CH00(arg0, 4)
+
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+ }
+
+ // Result of Method with checking of invocation
+ Method(m008, 1)
+ {
+ Name(i000, 0) // Label to check m000 invocations
+
+ Method(m000, 1)
+ {
+ Store(arg0, i000)
+ Store(Package(){0x63}, Local0)
+ Return (Local0)
+ }
+
+ Method(CH00, 2)
+ {
+ if (LNotEqual(i000, arg1)) {
+ err(arg0, z096, 0, 0, 0, i000, arg1)
+ }
+ }
+
+ // CondRefOf
+
+ if (y601) {
+ CondRefOf(m000(1))
+ CH06(arg0, 1, 47)
+ CH00(arg0, 1)
+ }
+
+ CondRefOf(m000(2), Local1)
+ CH06(arg0, 2, 47)
+ if (y600) {
+ CH00(arg0, 2)
+ }
+
+ // DerefOf
+
+ DerefOf(m000(3))
+ CH06(arg0, 3, 47)
+ CH00(arg0, 3)
+
+ // RefOf
+
+ if (y601) {
+ RefOf(m000(4))
+ CH06(arg0, 4, 47)
+ CH00(arg0, 4)
+ }
+
+ // Release
+
+ Release(m000(5))
+ CH06(arg0, 5, 47)
+ if (y600) {
+ CH00(arg0, 5)
+ }
+
+ // Reset
+
+ Reset(m000(6))
+ CH06(arg0, 6, 47)
+ if (y600) {
+ CH00(arg0, 6)
+ }
+
+ // Signal
+
+ Signal(m000(7))
+ CH06(arg0, 7, 47)
+ if (y600) {
+ CH00(arg0, 7)
+ }
+
+ // Acquire
+
+ Acquire(m000(8), 0)
+ CH06(arg0, 8, 47)
+ if (y600) {
+ CH00(arg0, 8)
+ }
+
+ // Index
+
+ CH03(ts, z094, 0x123, 0, 0)
+ Index(m000(9), 0)
+ if (y900) {
+ CH03(ts, z096, 69, 0, 0)
+ CH00(arg0, 9)
+ } else {
+ CH04(ts, 0, 85, z094, 0x124, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+ }
+
+ // Wait
+
+ Wait(m000(10), 0)
+ CH06(arg0, 9, 47)
+ if (y600) {
+ CH00(arg0, 10)
+ }
+
+ // Match
+
+ Match(m000(11), MTR, 0, MTR, 0, 0)
+ CH03(ts, z096, 70, 0, 0)
+ CH00(arg0, 11)
+ }
+
+ SET0(z096, ts, 0)
+
+ CH03(ts, z096, 70, 0, 0)
+
+ // Local Named Object
+ m000(ts)
+
+ // Global Named Object
+ m001(ts)
+
+ // Argument
+ m002(ts, Package(){0x62})
+
+ // Local
+ m003(Concatenate(ts, "-m003"))
+
+ // An element of Package
+ m004(Concatenate(ts, "-m004"))
+
+
+ // Reference to Local Named Object
+
+ m005(Concatenate(ts, "-m005-RefLocName"), RefOf(p000))
+
+ Store(RefOf(p000), Local0)
+ m005(Concatenate(ts, "-m005-RefLocName2"), Local0)
+
+ CondRefOf(p000, Local0)
+ m005(Concatenate(ts, "-m005-CondRefLocName"), Local0)
+
+ m005(Concatenate(ts, "-m005-RefGlobName"), RefOf(p100))
+
+ Store(RefOf(p100), Local0)
+ m005(Concatenate(ts, "-m005-RefGlobName2"), Local0)
+
+ CondRefOf(p100, Local0)
+ m005(Concatenate(ts, "-m005-CondRefGlobName"), Local0)
+
+
+ // Reference to Local
+
+ Store(Package(){0x62}, Local0)
+
+ m005(Concatenate(ts, "-m005-RefLocal"), RefOf(Local0))
+
+ Store(RefOf(Local0), Local1)
+ m005(Concatenate(ts, "-m005-RefLocal2"), Local1)
+
+ CondRefOf(Local0, Local1)
+ m005(Concatenate(ts, "-m005-CondRefLocal"), Local1)
+
+
+ // Reference to Arg
+
+ m005(Concatenate(ts, "-m005-RefArg"), RefOf(arg0))
+
+ Store(RefOf(arg0), Local0)
+ m005(Concatenate(ts, "-m005-RefArg2"), Local0)
+
+ CondRefOf(arg0, Local0)
+ m005(Concatenate(ts, "-m005-CondRefArg"), Local0)
+
+
+ // Index to Package
+
+ Name(pp00, Package(){Package(){0x62}})
+
+ if (y113) {
+ m005(Concatenate(ts, "-m005-Index"), Index(pp00, 0))
+ }
+
+ Store(Index(pp00, 0), Local0)
+ m005(Concatenate(ts, "-m005-Index2"), Local0)
+
+ if (y113) {
+ m005(Concatenate(ts, "-m005-Index3"), Index(pp00, 0, Local0))
+ }
+
+ Index(pp00, 0, Local0)
+ m005(Concatenate(ts, "-m005-Index4"), Local0)
+
+ Store(Index(pp00, 0, Local0), Local1)
+ m005(Concatenate(ts, "-m005-Index5"), Local1)
+
+ // Result of Method invocation
+ m006(Concatenate(ts, "-m006"))
+
+ // Reference to Object as Result of Method invocation
+ if (y500) {
+ m007(Concatenate(ts, "-m007"))
+ }
+
+ // Result of Method with checking of invocation
+ m008(Concatenate(ts, "-m008"))
+
+ RST0()
+}
diff --git a/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_05_funit.asl b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_05_funit.asl
new file mode 100644
index 000000000..00e6c8784
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_05_funit.asl
@@ -0,0 +1,294 @@
+/*
+ * 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.
+ */
+
+/*
+ * Field Unit
+ *
+ * (verify exceptions caused by the imprope use of Field Unit type objects)
+ */
+
+Name(z097, 97)
+
+OperationRegion(rg01, SystemMemory, 0x100, 0x100)
+
+Field(rg01, ByteAcc, NoLock, Preserve) {
+ fu00, 31,
+ fu01, 65}
+
+Name(ii70, 0xabcd1234)
+Name(bi00, Buffer() {0xa4,0xa5,0xa6,0xa7,0xb8,0xb9,0xba,0xbb,0xbc})
+
+// Expected exceptions:
+//
+// 47 - AE_AML_OPERAND_TYPE
+// See notes to m4b1 and m4b3
+//
+Method(m4b5)
+{
+ Name(ts, "m4b5")
+
+ Field(rg01, ByteAcc, NoLock, Preserve) {
+ Offset(12),
+ fu02, 31,
+ fu03, 65}
+
+ // Local Named Object
+ Method(m000, 1)
+ {
+ Field(rg01, ByteAcc, NoLock, Preserve) {
+ Offset(24),
+ fu02, 31,
+ fu03, 65}
+
+ Store(ii70, fu02)
+ Store(bi00, fu03)
+
+ // Like Integer behaviour
+
+ if (y083) {
+ DerefOf(fu02)
+ CH06(arg0, 0, 47)
+ }
+
+ Index(fu02, 0)
+ CH06(arg0, 1, 47)
+
+ // Like Buffer behaviour
+
+ if (y083) {
+ DerefOf(fu03)
+ CH06(arg0, 2, 47)
+ }
+
+ Index(fu03, 0)
+ if (y900) {
+ CH03(ts, z097, 0, 0, 0)
+ } else {
+ CH04(ts, 0, 85, z094, 0x123, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+ }
+ }
+
+ // Global Named Object
+ Method(m001, 1)
+ {
+ Store(ii70, fu00)
+ Store(bi00, fu01)
+
+ // Like Integer behaviour
+
+ if (y083) {
+ DerefOf(fu00)
+ CH06(arg0, 3, 47)
+ }
+
+ Index(fu00, 0)
+ CH06(arg0, 4, 47)
+
+ // Like Buffer behaviour
+
+ if (y083) {
+ DerefOf(fu01)
+ CH06(arg0, 5, 47)
+ }
+
+ Index(fu01, 0)
+ if (y900) {
+ CH03(ts, z097, 1, 0, 0)
+ } else {
+ CH04(ts, 0, 85, z094, 0x123, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+ }
+ }
+
+ // Reference to Object
+ Method(m002, 3)
+ {
+ Store(arg0, Debug)
+ Store(arg1, Debug)
+
+ Store(ObjectType(arg1), Local0)
+ if (LNotEqual(Local0, 5)) {
+ err(arg0, z097, 6, 0, 0, Local0, 5)
+ return (1)
+ }
+
+ DerefOf(arg1)
+ CH03(ts, z097, 2, 0, 0)
+
+ DerefOf(DerefOf(arg1))
+ CH06(arg0, 7, 47)
+
+ Index(DerefOf(arg1), 0)
+
+ if (arg2) {
+ // Like Buffer behaviour
+ if (y900) {
+ CH03(ts, z097, 3, 0, 0)
+ } else {
+ CH04(ts, 0, 85, z097, 0x123, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+ }
+ } else {
+ // Like Integer behaviour
+ CH06(arg0, 8, 47)
+ }
+
+ Match(DerefOf(arg1), MTR, 0, MTR, 0, 0)
+ CH06(arg0, 9, 47)
+
+ return (0)
+ }
+
+ // Reference to Object as Result of Method invocation
+ Method(m003, 1)
+ {
+ Field(rg01, ByteAcc, NoLock, Preserve) {
+ Offset(24),
+ fu02, 31,
+ fu03, 65}
+
+ Name(i000, 0) // Label to check m000 invocations
+
+ Method(m000, 2)
+ {
+ Store(arg0, i000)
+ if (LEqual(arg1, 0)) {
+ Store(Refof(fu00), Local0)
+ } elseif (LEqual(arg1, 1)) {
+ Store(Refof(fu01), Local0)
+ } elseif (LEqual(arg1, 2)) {
+ Store(Refof(fu02), Local0)
+ } elseif (LEqual(arg1, 3)) {
+ Store(Refof(fu03), Local0)
+ }
+ Return (Local0)
+ }
+
+ Method(CH00, 2)
+ {
+ if (LNotEqual(i000, arg1)) {
+ err(arg0, z097, 10, 0, 0, i000, arg1)
+ }
+ }
+
+ Name(lpN0, 4)
+ Name(lpC0, 0)
+
+ Store(ii70, fu00)
+ Store(bi00, fu01)
+ Store(ii70, fu02)
+ Store(bi00, fu03)
+
+ While (lpN0) {
+ Multiply(3, lpC0, Local0)
+
+ Store(0, i000)
+
+ DerefOf(m000(1, lpC0))
+ CH03(ts, z097, Add(4, lpC0), 0, 0)
+ CH00(arg0, 1)
+
+
+ DerefOf(DerefOf(m000(2, lpC0)))
+ CH06(arg0, Add(11, Local0), 47)
+ CH00(arg0, 2)
+
+ Index(DerefOf(m000(3, lpC0)), 0)
+ if (Mod(lpC0, 2)) {
+ // Like Buffer behaviour
+ if (y900) {
+ CH03(ts, z097, Add(8, lpC0), 0, 0)
+ } else {
+ CH04(ts, 0, 85, z097, 0x123, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+ }
+ } else {
+ // Like Integer behaviour
+ CH06(arg0, Add(12, Local0), 47)
+ }
+ CH00(arg0, 3)
+
+ Match(DerefOf(m000(4, lpC0)), MTR, 0, MTR, 0, 0)
+ CH06(arg0, Add(13, Local0), 47)
+ CH00(arg0, 4)
+
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+ }
+
+ CH03(ts, z097, 12, 0, 0)
+
+ // Local Named Object
+ m000(ts)
+
+ // Global Named Object
+ m001(ts)
+
+ // Reference to Local Named Object
+
+ Store(ii70, fu02)
+ Store(bi00, fu03)
+
+ m002(Concatenate(ts, "-m002-RefLocNameI"), RefOf(fu02), 0)
+
+ Store(RefOf(fu02), Local0)
+ m002(Concatenate(ts, "-m002-RefLocName2I"), Local0, 0)
+
+ CondRefOf(fu02, Local0)
+ m002(Concatenate(ts, "-m002-CondRefLocNameI"), Local0, 0)
+
+ m002(Concatenate(ts, "-m002-RefLocNameB"), RefOf(fu03), 1)
+
+ Store(RefOf(fu03), Local0)
+ m002(Concatenate(ts, "-m002-RefLocName2B"), Local0, 1)
+
+ CondRefOf(fu03, Local0)
+ m002(Concatenate(ts, "-m002-CondRefLocNameB"), Local0, 1)
+
+ Store(ii70, fu00)
+ Store(bi00, fu01)
+
+ m002(Concatenate(ts, "-m002-RefGlobNameI"), RefOf(fu00), 0)
+
+ Store(RefOf(fu00), Local0)
+ m002(Concatenate(ts, "-m002-RefGlobName2I"), Local0, 0)
+
+ CondRefOf(fu00, Local0)
+ m002(Concatenate(ts, "-m002-CondRefGlobNameI"), Local0, 0)
+
+ m002(Concatenate(ts, "-m002-RefGlobNameB"), RefOf(fu01), 1)
+
+ Store(RefOf(fu01), Local0)
+ m002(Concatenate(ts, "-m002-RefGlobName2B"), Local0, 1)
+
+ CondRefOf(fu01, Local0)
+ m002(Concatenate(ts, "-m002-CondRefGlobNameB"), Local0, 1)
+
+ // Reference to Object as Result of Method invocation
+ m003(ts)
+}
diff --git a/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_06_dev.asl b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_06_dev.asl
new file mode 100644
index 000000000..b4b47f4b2
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_06_dev.asl
@@ -0,0 +1,1676 @@
+/*
+ * 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.
+ */
+
+/*
+ * Device
+ *
+ * (verify exceptions caused by the imprope use of Device type objects)
+ */
+
+Name(z098, 98)
+
+Device(dev0) {}
+
+// Expected exceptions:
+//
+// 47 - AE_AML_OPERAND_TYPE
+//
+Method(m4b6)
+{
+ Name(ts, "m4b6")
+
+ Device(dev1) {}
+
+ Event(e000)
+
+ Name(i000, 0)
+
+ // Local Named Object
+ Method(m000, 1)
+ {
+ Device(dev2) {}
+
+ DerefOf(dev2)
+ CH06(arg0, 0, 47)
+ }
+
+ // Global Named Object
+ Method(m001, 1)
+ {
+ if (y083) {
+ DerefOf(dev0)
+ CH06(arg0, 1, 47)
+ }
+ }
+
+ // Local
+ Method(m002, 1)
+ {
+ Device(dev2) {}
+
+ Event(e000)
+
+ CopyObject(dev2, Local0)
+
+ // CondRefOf
+
+ CondRefOf(Local0)
+ CH03(ts, z098, 0, 0, 0)
+
+ CondRefOf(Local0, Local1)
+ CH03(ts, z098, 1, 0, 0)
+
+ // CopyObject
+
+ CopyObject(Local0, Local1)
+ CH03(ts, z098, 2, 0, 0)
+
+ // Decrement
+
+ Decrement(Local0)
+ CH06(arg0, 1, 47)
+
+ // DerefOf
+
+ DerefOf(Local0)
+ CH06(arg0, 2, 47)
+
+ // FindSetLeftBit
+
+ FindSetLeftBit(Local0)
+ CH06(arg0, 3, 47)
+
+ FindSetLeftBit(Local0, Local1)
+ CH06(arg0, 4, 47)
+
+ // FindSetRightBit
+
+ FindSetRightBit(Local0)
+ CH06(arg0, 5, 47)
+
+ FindSetRightBit(Local0, Local1)
+ CH06(arg0, 6, 47)
+
+ // FromBCD
+
+ FromBCD(Local0)
+ CH06(arg0, 7, 47)
+
+ FromBCD(Local0, Local1)
+ CH06(arg0, 8, 47)
+
+ // Increment
+
+ Increment(Local0)
+ CH06(arg0, 9, 47)
+
+ // LNot
+
+ LNot(Local0)
+ CH06(arg0, 10, 47)
+
+ // Not
+
+ Not(Local0)
+ CH06(arg0, 11, 47)
+
+ Not(Local0, Local1)
+ CH06(arg0, 12, 47)
+
+ // ObjectType
+
+ ObjectType(Local0)
+ CH03(ts, z098, 3, 0, 0)
+
+ // RefOf
+
+ RefOf(Local0)
+ CH03(ts, z098, 4, 0, 0)
+
+ // Release
+
+ Release(Local0)
+ CH06(arg0, 13, 47)
+
+ // Reset
+
+ Reset(Local0)
+ CH06(arg0, 14, 47)
+
+ // Signal
+
+ Signal(Local0)
+ CH06(arg0, 15, 47)
+
+ // SizeOf
+
+ SizeOf(Local0)
+ CH06(arg0, 16, 47)
+
+ // Sleep
+
+ Sleep(Local0)
+ CH06(arg0, 17, 47)
+
+ // Stall
+
+ Stall(Local0)
+ CH06(arg0, 18, 47)
+
+ // Store
+
+ Store(Local0, Local1)
+ CH06(arg0, 19, 47)
+
+ // ToBCD
+
+ ToBCD(Local0)
+ CH06(arg0, 20, 47)
+
+ ToBCD(Local0, Local1)
+ CH06(arg0, 21, 47)
+
+ // ToBuffer
+
+ ToBuffer(Local0)
+ CH06(arg0, 22, 47)
+
+ ToBuffer(Local0, Local1)
+ CH06(arg0, 23, 47)
+
+ // ToDecimalString
+
+ ToDecimalString(Local0)
+ CH06(arg0, 24, 47)
+
+ ToDecimalString(Local0, Local1)
+ CH06(arg0, 25, 47)
+
+ // ToHexString
+
+ ToHexString(Local0)
+ CH06(arg0, 26, 47)
+
+ ToHexString(Local0, Local1)
+ CH06(arg0, 27, 47)
+
+ // ToInteger
+
+ ToInteger(Local0)
+ CH06(arg0, 28, 47)
+
+ ToInteger(Local0, Local1)
+ CH06(arg0, 29, 47)
+
+ // Acquire
+
+ Acquire(Local0, 100)
+ CH06(arg0, 30, 47)
+
+ // Add
+
+ Add(Local0, i000)
+ CH06(arg0, 31, 47)
+
+ Add(i000, Local0)
+ CH06(arg0, 32, 47)
+
+ Add(Local0, i000, Local1)
+ CH06(arg0, 33, 47)
+
+ Add(i000, Local0, Local1)
+ CH06(arg0, 34, 47)
+
+ // And
+
+ And(Local0, i000)
+ CH06(arg0, 35, 47)
+
+ And(i000, Local0)
+ CH06(arg0, 36, 47)
+
+ And(Local0, i000, Local1)
+ CH06(arg0, 37, 47)
+
+ And(i000, Local0, Local1)
+ CH06(arg0, 38, 47)
+
+ // Concatenate
+
+ Concatenate(Local0, i000)
+ CH06(arg0, 39, 47)
+
+ Concatenate(i000, Local0)
+ CH06(arg0, 40, 47)
+
+ Concatenate(Local0, i000, Local1)
+ CH06(arg0, 41, 47)
+
+ Concatenate(i000, Local0, Local1)
+ CH06(arg0, 42, 47)
+
+ // ConcatenateResTemplate
+
+ ConcatenateResTemplate(Local0, ResourceTemplate(){})
+ CH06(arg0, 43, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, Local0)
+ CH06(arg0, 44, 47)
+
+ ConcatenateResTemplate(Local0, ResourceTemplate(){}, Local1)
+ CH06(arg0, 45, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, Local0, Local1)
+ CH06(arg0, 46, 47)
+
+ // Divide
+
+ Divide(Local0, i000)
+ CH06(arg0, 47, 47)
+
+ Divide(i000, Local0)
+ CH06(arg0, 48, 47)
+
+ Divide(Local0, i000, Local2)
+ CH06(arg0, 49, 47)
+
+ Divide(i000, Local0, Local2)
+ CH06(arg0, 50, 47)
+
+ Divide(Local0, i000, Local2, Local1)
+ CH06(arg0, 51, 47)
+
+ Divide(i000, Local0, Local2, Local1)
+ CH06(arg0, 52, 47)
+
+ // Fatal
+
+ Fatal(0xff, 0xffffffff, Local0)
+ CH06(arg0, 53, 47)
+
+ // Index
+
+ Index(Local0, 0)
+ CH06(arg0, 54, 47)
+
+ Index("0", Local0)
+ CH06(arg0, 55, 47)
+
+ Index(Local0, 0, Local1)
+ CH06(arg0, 56, 47)
+
+ Index("0", Local0, Local1)
+ CH06(arg0, 57, 47)
+
+ // LEqual
+
+ LEqual(Local0, i000)
+ CH06(arg0, 58, 47)
+
+ LEqual(i000, Local0)
+ CH06(arg0, 59, 47)
+
+ // LGreater
+
+ LGreater(Local0, i000)
+ CH06(arg0, 60, 47)
+
+ LGreater(i000, Local0)
+ CH06(arg0, 61, 47)
+
+ // LGreaterEqual
+
+ LGreaterEqual(Local0, i000)
+ CH06(arg0, 62, 0xff)
+
+ LGreaterEqual(i000, Local0)
+ CH06(arg0, 63, 0xff)
+
+ // LLess
+
+ LLess(Local0, i000)
+ CH06(arg0, 64, 47)
+
+ LLess(i000, Local0)
+ CH06(arg0, 65, 47)
+
+ // LLessEqual
+
+ LLessEqual(Local0, i000)
+ CH06(arg0, 66, 0xff)
+
+ LLessEqual(i000, Local0)
+ CH06(arg0, 67, 0xff)
+
+ // LNotEqual
+
+ LNotEqual(Local0, i000)
+ CH06(arg0, 68, 0xff)
+
+ LNotEqual(i000, Local0)
+ CH06(arg0, 69, 0xff)
+
+ // LOr
+
+ LOr(Local0, i000)
+ CH06(arg0, 70, 47)
+
+ LOr(i000, Local0)
+ CH06(arg0, 71, 47)
+
+ // Mod
+
+ Mod(Local0, i000)
+ CH06(arg0, 72, 47)
+
+ Mod(i000, Local0)
+ CH06(arg0, 73, 47)
+
+ Mod(Local0, i000, Local1)
+ CH06(arg0, 74, 47)
+
+ Mod(i000, Local0, Local1)
+ CH06(arg0, 75, 47)
+
+ // Multiply
+
+ Multiply(Local0, i000)
+ CH06(arg0, 76, 47)
+
+ Multiply(i000, Local0)
+ CH06(arg0, 77, 47)
+
+ Multiply(Local0, i000, Local1)
+ CH06(arg0, 78, 47)
+
+ Multiply(i000, Local0, Local1)
+ CH06(arg0, 79, 47)
+
+ // NAnd
+
+ NAnd(Local0, i000)
+ CH06(arg0, 80, 47)
+
+ NAnd(i000, Local0)
+ CH06(arg0, 81, 47)
+
+ NAnd(Local0, i000, Local1)
+ CH06(arg0, 82, 47)
+
+ NAnd(i000, Local0, Local1)
+ CH06(arg0, 83, 47)
+
+ // NOr
+
+ NOr(Local0, i000)
+ CH06(arg0, 84, 47)
+
+ NOr(i000, Local0)
+ CH06(arg0, 85, 47)
+
+ NOr(Local0, i000, Local1)
+ CH06(arg0, 86, 47)
+
+ NOr(i000, Local0, Local1)
+ CH06(arg0, 87, 47)
+
+ // Or
+
+ Or(Local0, i000)
+ CH06(arg0, 88, 47)
+
+ Or(i000, Local0)
+ CH06(arg0, 89, 47)
+
+ Or(Local0, i000, Local1)
+ CH06(arg0, 90, 47)
+
+ Or(i000, Local0, Local1)
+ CH06(arg0, 91, 47)
+
+ // ShiftLeft
+
+ ShiftLeft(Local0, i000)
+ CH06(arg0, 92, 47)
+
+ ShiftLeft(i000, Local0)
+ CH06(arg0, 93, 47)
+
+ ShiftLeft(Local0, i000, Local1)
+ CH06(arg0, 94, 47)
+
+ ShiftLeft(i000, Local0, Local1)
+ CH06(arg0, 95, 47)
+
+ // ShiftRight
+
+ ShiftRight(Local0, i000)
+ CH06(arg0, 96, 47)
+
+ ShiftRight(i000, Local0)
+ CH06(arg0, 97, 47)
+
+ ShiftRight(Local0, i000, Local1)
+ CH06(arg0, 98, 47)
+
+ ShiftRight(i000, Local0, Local1)
+ CH06(arg0, 99, 47)
+
+ // Subtract
+
+ Subtract(Local0, i000)
+ CH06(arg0, 100, 47)
+
+ Subtract(i000, Local0)
+ CH06(arg0, 101, 47)
+
+ Subtract(Local0, i000, Local1)
+ CH06(arg0, 102, 47)
+
+ Subtract(i000, Local0, Local1)
+ CH06(arg0, 103, 47)
+
+ // ToString
+
+ ToString(Local0, 1)
+ CH06(arg0, 104, 47)
+
+ ToString(i000, Local0)
+ CH06(arg0, 105, 47)
+
+ ToString(Local0, 1, Local1)
+ CH06(arg0, 106, 47)
+
+ ToString(i000, Local0, Local1)
+ CH06(arg0, 107, 47)
+
+ // Wait
+
+ Wait(Local0, i000)
+ CH06(arg0, 108, 47)
+
+ Wait(e000, Local0)
+ CH06(arg0, 109, 47)
+
+ // XOr
+
+ XOr(Local0, i000)
+ CH06(arg0, 110, 47)
+
+ XOr(i000, Local0)
+ CH06(arg0, 111, 47)
+
+ XOr(Local0, i000, Local1)
+ CH06(arg0, 112, 47)
+
+ XOr(i000, Local0, Local1)
+ CH06(arg0, 113, 47)
+
+ // Mid
+
+ Mid(Local0, 1, 1)
+ CH06(arg0, 114, 47)
+
+ Mid("123", Local0, 1)
+ CH06(arg0, 115, 47)
+
+ Mid("123", 1, Local0)
+ CH06(arg0, 116, 47)
+
+ Mid(Local0, 1, 1, Local1)
+ CH06(arg0, 117, 47)
+
+ Mid("123", Local0, 1, Local1)
+ CH06(arg0, 118, 47)
+
+ Mid("123", 1, Local0, Local1)
+ CH06(arg0, 119, 47)
+
+ // Match
+
+ Match(Local0, MTR, 0, MTR, 0, 0)
+ CH06(arg0, 120, 47)
+
+ Match(Package(){1}, MTR, Local0, MTR, 0, 0)
+ CH06(arg0, 121, 47)
+
+ Match(Package(){1}, MTR, 0, MTR, Local0, 0)
+ CH06(arg0, 122, 47)
+
+ Match(Package(){1}, MTR, 0, MTR, 0, Local0)
+ CH06(arg0, 123, 47)
+ }
+
+ // Reference to Object
+ Method(m003, 3)
+ {
+ Name(EXC0, 47) // AE_AML_OPERAND_TYPE
+
+ Store(ObjectType(arg1), Local0)
+ if (LNotEqual(Local0, 6)) {
+ err(arg0, z098, 200, 0, 0, Local0, 6)
+ return (1)
+ }
+
+ if (arg2) {
+ if (LNot(y503)) {
+ Store(62, EXC0) // AE_AML_NO_RETURN_VALUE
+ }
+ }
+
+ DeRefOf(arg1)
+ CH03(ts, z098, 5, 0, 0)
+
+ // CondRefOf
+
+ CondRefOf(DeRefOf(arg1))
+ CH06(arg0, 0, EXC0)
+
+ CondRefOf(DeRefOf(arg1), Local1)
+ CH06(arg0, 1, EXC0)
+
+ // CopyObject
+
+ CopyObject(DeRefOf(arg1), Local1)
+ CH06(arg0, 2, EXC0)
+
+ // Decrement
+
+ Decrement(DeRefOf(arg1))
+ CH06(arg0, 3, EXC0)
+
+ // DerefOf
+
+ DerefOf(DeRefOf(arg1))
+ CH06(arg0, 4, EXC0)
+
+ // FindSetLeftBit
+
+ FindSetLeftBit(DeRefOf(arg1))
+ CH06(arg0, 5, EXC0)
+
+ FindSetLeftBit(DeRefOf(arg1), Local1)
+ CH06(arg0, 6, EXC0)
+
+ // FindSetRightBit
+
+ FindSetRightBit(DeRefOf(arg1))
+ CH06(arg0, 7, EXC0)
+
+ FindSetRightBit(DeRefOf(arg1), Local1)
+ CH06(arg0, 8, EXC0)
+
+ // FromBCD
+
+ FromBCD(DeRefOf(arg1))
+ CH06(arg0, 9, EXC0)
+
+ FromBCD(DeRefOf(arg1), Local1)
+ CH06(arg0, 10, EXC0)
+
+ // Increment
+
+ Increment(DeRefOf(arg1))
+ CH06(arg0, 11, EXC0)
+
+ // LNot
+
+ LNot(DeRefOf(arg1))
+ CH06(arg0, 12, EXC0)
+
+ // Not
+
+ Not(DeRefOf(arg1))
+ CH06(arg0, 13, EXC0)
+
+ Not(DeRefOf(arg1), Local1)
+ CH06(arg0, 14, EXC0)
+
+ // ObjectType
+
+ ObjectType(DeRefOf(arg1))
+ CH03(ts, z098, 6, 0, 0)
+
+ // RefOf
+
+ RefOf(DeRefOf(arg1))
+ CH06(arg0, 15, EXC0)
+
+ // Release
+
+ // Reset
+
+ // Signal
+
+ // SizeOf
+
+ SizeOf(DeRefOf(arg1))
+ CH06(arg0, 16, EXC0)
+
+ // Sleep
+
+ Sleep(DeRefOf(arg1))
+ CH06(arg0, 17, EXC0)
+
+ // Stall
+
+ Stall(DeRefOf(arg1))
+ CH06(arg0, 18, EXC0)
+
+ // Store
+
+ Store(DeRefOf(arg1), Local1)
+ CH06(arg0, 19, EXC0)
+
+ // ToBCD
+
+ ToBCD(DeRefOf(arg1))
+ CH06(arg0, 20, EXC0)
+
+ ToBCD(DeRefOf(arg1), Local1)
+ CH06(arg0, 21, EXC0)
+
+ // ToBuffer
+
+ ToBuffer(DeRefOf(arg1))
+ CH06(arg0, 22, EXC0)
+
+ ToBuffer(DeRefOf(arg1), Local1)
+ CH06(arg0, 23, EXC0)
+
+ // ToDecimalString
+
+ ToDecimalString(DeRefOf(arg1))
+ CH06(arg0, 24, EXC0)
+
+ ToDecimalString(DeRefOf(arg1), Local1)
+ CH06(arg0, 25, EXC0)
+
+ // ToHexString
+
+ ToHexString(DeRefOf(arg1))
+ CH06(arg0, 26, EXC0)
+
+ ToHexString(DeRefOf(arg1), Local1)
+ CH06(arg0, 27, EXC0)
+
+ // ToInteger
+
+ ToInteger(DeRefOf(arg1))
+ CH06(arg0, 28, EXC0)
+
+ ToInteger(DeRefOf(arg1), Local1)
+ CH06(arg0, 29, EXC0)
+
+ // Acquire
+
+ // Add
+
+ Add(DeRefOf(arg1), i000)
+ CH06(arg0, 31, EXC0)
+
+ Add(i000, DeRefOf(arg1))
+ CH06(arg0, 32, EXC0)
+
+ Add(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 33, EXC0)
+
+ Add(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 34, EXC0)
+
+ // And
+
+ And(DeRefOf(arg1), i000)
+ CH06(arg0, 35, EXC0)
+
+ And(i000, DeRefOf(arg1))
+ CH06(arg0, 36, EXC0)
+
+ And(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 37, EXC0)
+
+ And(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 38, EXC0)
+
+ // Concatenate
+
+ Concatenate(DeRefOf(arg1), i000)
+ CH06(arg0, 39, EXC0)
+
+ Concatenate(i000, DeRefOf(arg1))
+ CH06(arg0, 40, EXC0)
+
+ Concatenate(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 41, EXC0)
+
+ Concatenate(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 42, EXC0)
+
+ // ConcatenateResTemplate
+
+ ConcatenateResTemplate(DeRefOf(arg1), ResourceTemplate(){})
+ CH06(arg0, 43, EXC0)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, DeRefOf(arg1))
+ CH06(arg0, 44, EXC0)
+
+ ConcatenateResTemplate(DeRefOf(arg1), ResourceTemplate(){}, Local1)
+ CH06(arg0, 45, EXC0)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, DeRefOf(arg1), Local1)
+ CH06(arg0, 46, EXC0)
+
+ // Divide
+
+ Divide(DeRefOf(arg1), i000)
+ CH06(arg0, 47, EXC0)
+
+ Divide(i000, DeRefOf(arg1))
+ CH06(arg0, 48, EXC0)
+
+ Divide(DeRefOf(arg1), i000, Local2)
+ CH06(arg0, 49, EXC0)
+
+ Divide(i000, DeRefOf(arg1), Local2)
+ CH06(arg0, 50, EXC0)
+
+ Divide(DeRefOf(arg1), i000, Local2, Local1)
+ CH06(arg0, 51, EXC0)
+
+ Divide(i000, DeRefOf(arg1), Local2, Local1)
+ CH06(arg0, 52, EXC0)
+
+ // Fatal
+
+ Fatal(0xff, 0xffffffff, DeRefOf(arg1))
+ CH06(arg0, 53, EXC0)
+
+ // Index
+
+ Index(DeRefOf(arg1), 0)
+ CH06(arg0, 54, EXC0)
+
+ Index("0", DeRefOf(arg1))
+ CH06(arg0, 55, EXC0)
+
+ Index(DeRefOf(arg1), 0, Local1)
+ CH06(arg0, 56, EXC0)
+
+ Index("0", DeRefOf(arg1), Local1)
+ CH06(arg0, 57, EXC0)
+
+ // LEqual
+
+ LEqual(DeRefOf(arg1), i000)
+ CH06(arg0, 58, EXC0)
+
+ LEqual(i000, DeRefOf(arg1))
+ CH06(arg0, 59, EXC0)
+
+ // LGreater
+
+ LGreater(DeRefOf(arg1), i000)
+ CH06(arg0, 60, EXC0)
+
+ LGreater(i000, DeRefOf(arg1))
+ CH06(arg0, 61, EXC0)
+
+ // LGreaterEqual
+
+ LGreaterEqual(DeRefOf(arg1), i000)
+ CH06(arg0, 62, 0xff)
+
+ LGreaterEqual(i000, DeRefOf(arg1))
+ CH06(arg0, 63, 0xff)
+
+ // LLess
+
+ LLess(DeRefOf(arg1), i000)
+ CH06(arg0, 64, EXC0)
+
+ LLess(i000, DeRefOf(arg1))
+ CH06(arg0, 65, EXC0)
+
+ // LLessEqual
+
+ LLessEqual(DeRefOf(arg1), i000)
+ CH06(arg0, 66, 0xff)
+
+ LLessEqual(i000, DeRefOf(arg1))
+ CH06(arg0, 67, 0xff)
+
+ // LNotEqual
+
+ LNotEqual(DeRefOf(arg1), i000)
+ CH06(arg0, 68, 0xff)
+
+ LNotEqual(i000, DeRefOf(arg1))
+ CH06(arg0, 69, 0xff)
+
+ // LOr
+
+ LOr(DeRefOf(arg1), i000)
+ CH06(arg0, 70, EXC0)
+
+ LOr(i000, DeRefOf(arg1))
+ CH06(arg0, 71, EXC0)
+
+ // Mod
+
+ Mod(DeRefOf(arg1), i000)
+ CH06(arg0, 72, EXC0)
+
+ Mod(i000, DeRefOf(arg1))
+ CH06(arg0, 73, EXC0)
+
+ Mod(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 74, EXC0)
+
+ Mod(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 75, EXC0)
+
+ // Multiply
+
+ Multiply(DeRefOf(arg1), i000)
+ CH06(arg0, 76, EXC0)
+
+ Multiply(i000, DeRefOf(arg1))
+ CH06(arg0, 77, EXC0)
+
+ Multiply(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 78, EXC0)
+
+ Multiply(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 79, EXC0)
+
+ // NAnd
+
+ NAnd(DeRefOf(arg1), i000)
+ CH06(arg0, 80, EXC0)
+
+ NAnd(i000, DeRefOf(arg1))
+ CH06(arg0, 81, EXC0)
+
+ NAnd(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 82, EXC0)
+
+ NAnd(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 83, EXC0)
+
+ // NOr
+
+ NOr(DeRefOf(arg1), i000)
+ CH06(arg0, 84, EXC0)
+
+ NOr(i000, DeRefOf(arg1))
+ CH06(arg0, 85, EXC0)
+
+ NOr(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 86, EXC0)
+
+ NOr(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 87, EXC0)
+
+ // Or
+
+ Or(DeRefOf(arg1), i000)
+ CH06(arg0, 88, EXC0)
+
+ Or(i000, DeRefOf(arg1))
+ CH06(arg0, 89, EXC0)
+
+ Or(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 90, EXC0)
+
+ Or(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 91, EXC0)
+
+ // ShiftLeft
+
+ ShiftLeft(DeRefOf(arg1), i000)
+ CH06(arg0, 92, EXC0)
+
+ ShiftLeft(i000, DeRefOf(arg1))
+ CH06(arg0, 93, EXC0)
+
+ ShiftLeft(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 94, EXC0)
+
+ ShiftLeft(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 95, EXC0)
+
+ // ShiftRight
+
+ ShiftRight(DeRefOf(arg1), i000)
+ CH06(arg0, 96, EXC0)
+
+ ShiftRight(i000, DeRefOf(arg1))
+ CH06(arg0, 97, EXC0)
+
+ ShiftRight(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 98, EXC0)
+
+ ShiftRight(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 99, EXC0)
+
+ // Subtract
+
+ Subtract(DeRefOf(arg1), i000)
+ CH06(arg0, 100, EXC0)
+
+ Subtract(i000, DeRefOf(arg1))
+ CH06(arg0, 101, EXC0)
+
+ Subtract(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 102, EXC0)
+
+ Subtract(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 103, EXC0)
+
+ // ToString
+
+ ToString(DeRefOf(arg1), 1)
+ CH06(arg0, 104, EXC0)
+
+ ToString(i000, DeRefOf(arg1))
+ CH06(arg0, 105, EXC0)
+
+ ToString(DeRefOf(arg1), 1, Local1)
+ CH06(arg0, 106, EXC0)
+
+ ToString(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 107, EXC0)
+
+ // Wait
+
+ Wait(e000, DeRefOf(arg1))
+ CH06(arg0, 109, EXC0)
+
+ // XOr
+
+ XOr(DeRefOf(arg1), i000)
+ CH06(arg0, 110, EXC0)
+
+ XOr(i000, DeRefOf(arg1))
+ CH06(arg0, 111, EXC0)
+
+ XOr(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 112, EXC0)
+
+ XOr(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 113, EXC0)
+
+ // Mid
+
+ Mid(DeRefOf(arg1), 1, 1)
+ CH06(arg0, 114, EXC0)
+
+ Mid("123", DeRefOf(arg1), 1)
+ CH06(arg0, 115, EXC0)
+
+ Mid("123", 1, DeRefOf(arg1))
+ CH06(arg0, 116, EXC0)
+
+ Mid(DeRefOf(arg1), 1, 1, Local1)
+ CH06(arg0, 117, EXC0)
+
+ Mid("123", DeRefOf(arg1), 1, Local1)
+ CH06(arg0, 118, EXC0)
+
+ Mid("123", 1, DeRefOf(arg1), Local1)
+ CH06(arg0, 119, EXC0)
+
+ // Match
+
+ Match(DeRefOf(arg1), MTR, 0, MTR, 0, 0)
+ CH06(arg0, 120, EXC0)
+
+ Match(Package(){1}, MTR, DeRefOf(arg1), MTR, 0, 0)
+ CH06(arg0, 121, EXC0)
+
+ Match(Package(){1}, MTR, 0, MTR, DeRefOf(arg1), 0)
+ CH06(arg0, 122, EXC0)
+
+ Match(Package(){1}, MTR, 0, MTR, 0, DeRefOf(arg1))
+ CH06(arg0, 123, EXC0)
+
+ return (0)
+ }
+
+ // Result of Method invocation
+ Method(m004, 1)
+ {
+ Name(i000, 0) // Label to check m000 invocations
+
+ Method(m000)
+ {
+ CopyObject(dev0, Local0)
+ Return (Local0)
+ }
+
+ // CondRefOf
+
+ CondRefOf(m000())
+ CH06(arg0, 0, 47)
+
+ CondRefOf(m000(), Local1)
+ CH06(arg0, 1, 47)
+
+ // CopyObject
+
+ CopyObject(m000(), Local1)
+ CH03(ts, z098, 7, 0, 0)
+
+ // Decrement
+
+ Decrement(m000())
+ CH06(arg0, 2, 47)
+
+ // DerefOf
+
+ DerefOf(m000())
+ CH06(arg0, 3, 47)
+
+ // FindSetLeftBit
+
+ FindSetLeftBit(m000())
+ CH06(arg0, 4, 47)
+
+ FindSetLeftBit(m000(), Local1)
+ CH06(arg0, 5, 47)
+
+ // FindSetRightBit
+
+ FindSetRightBit(m000())
+ CH06(arg0, 6, 47)
+
+ FindSetRightBit(m000(), Local1)
+ CH06(arg0, 7, 47)
+
+ // FromBCD
+
+ FromBCD(m000())
+ CH06(arg0, 8, 47)
+
+ FromBCD(m000(), Local1)
+ CH06(arg0, 9, 47)
+
+ // Increment
+
+ Increment(m000())
+ CH06(arg0, 10, 47)
+
+ // LNot
+
+ LNot(m000())
+ CH06(arg0, 11, 47)
+
+ // Not
+
+ Not(m000())
+ CH06(arg0, 12, 47)
+
+ Not(m000(), Local1)
+ CH06(arg0, 13, 47)
+
+ // ObjectType
+
+ ObjectType(m000())
+ CH03(ts, z098, 8, 0, 0)
+
+ // RefOf
+
+ RefOf(m000())
+ CH06(arg0, 14, 47)
+
+ // Release
+
+ Release(m000())
+ CH06(arg0, 13, 47)
+
+ // Reset
+
+ Reset(m000())
+ CH06(arg0, 14, 47)
+
+ // Signal
+
+ Signal(m000())
+ CH06(arg0, 15, 47)
+
+ // SizeOf
+
+ SizeOf(m000())
+ CH06(arg0, 16, 47)
+
+ // Sleep
+
+ Sleep(m000())
+ CH06(arg0, 17, 47)
+
+ // Stall
+
+ Stall(m000())
+ CH06(arg0, 18, 47)
+
+ // Store
+
+ Store(m000(), Local1)
+ CH06(arg0, 19, 47)
+
+ // ToBCD
+
+ ToBCD(m000())
+ CH06(arg0, 20, 47)
+
+ ToBCD(m000(), Local1)
+ CH06(arg0, 21, 47)
+
+ // ToBuffer
+
+ ToBuffer(m000())
+ CH06(arg0, 22, 47)
+
+ ToBuffer(m000(), Local1)
+ CH06(arg0, 23, 47)
+
+ // ToDecimalString
+
+ ToDecimalString(m000())
+ CH06(arg0, 24, 47)
+
+ ToDecimalString(m000(), Local1)
+ CH06(arg0, 25, 47)
+
+ // ToHexString
+
+ ToHexString(m000())
+ CH06(arg0, 26, 47)
+
+ ToHexString(m000(), Local1)
+ CH06(arg0, 27, 47)
+
+ // ToInteger
+
+ ToInteger(m000())
+ CH06(arg0, 28, 47)
+
+ ToInteger(m000(), Local1)
+ CH06(arg0, 29, 47)
+
+ // Acquire
+
+ Acquire(m000(), 100)
+ CH06(arg0, 30, 47)
+
+ // Add
+
+ Add(m000(), i000)
+ CH06(arg0, 31, 47)
+
+ Add(i000, m000())
+ CH06(arg0, 32, 47)
+
+ Add(m000(), i000, Local1)
+ CH06(arg0, 33, 47)
+
+ Add(i000, m000(), Local1)
+ CH06(arg0, 34, 47)
+
+ // And
+
+ And(m000(), i000)
+ CH06(arg0, 35, 47)
+
+ And(i000, m000())
+ CH06(arg0, 36, 47)
+
+ And(m000(), i000, Local1)
+ CH06(arg0, 37, 47)
+
+ And(i000, m000(), Local1)
+ CH06(arg0, 38, 47)
+
+ // Concatenate
+
+ Concatenate(m000(), i000)
+ CH06(arg0, 39, 47)
+
+ Concatenate(i000, m000())
+ CH06(arg0, 40, 47)
+
+ Concatenate(m000(), i000, Local1)
+ CH06(arg0, 41, 47)
+
+ Concatenate(i000, m000(), Local1)
+ CH06(arg0, 42, 47)
+
+ // ConcatenateResTemplate
+
+ ConcatenateResTemplate(m000(), ResourceTemplate(){})
+ CH06(arg0, 43, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, m000())
+ CH06(arg0, 44, 47)
+
+ ConcatenateResTemplate(m000(), ResourceTemplate(){}, Local1)
+ CH06(arg0, 45, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, m000(), Local1)
+ CH06(arg0, 46, 47)
+
+ // Divide
+
+ Divide(m000(), i000)
+ CH06(arg0, 47, 47)
+
+ Divide(i000, m000())
+ CH06(arg0, 48, 47)
+
+ Divide(m000(), i000, Local2)
+ CH06(arg0, 49, 47)
+
+ Divide(i000, m000(), Local2)
+ CH06(arg0, 50, 47)
+
+ Divide(m000(), i000, Local2, Local1)
+ CH06(arg0, 51, 47)
+
+ Divide(i000, m000(), Local2, Local1)
+ CH06(arg0, 52, 47)
+
+ // Fatal
+
+ Fatal(0xff, 0xffffffff, m000())
+ CH06(arg0, 53, 47)
+
+ // Index
+
+ Index(m000(), 0)
+ CH06(arg0, 54, 47)
+
+ Index("0", m000())
+ CH06(arg0, 55, 47)
+
+ Index(m000(), 0, Local1)
+ CH06(arg0, 56, 47)
+
+ Index("0", m000(), Local1)
+ CH06(arg0, 57, 47)
+
+ // LEqual
+
+ LEqual(m000(), i000)
+ CH06(arg0, 58, 47)
+
+ LEqual(i000, m000())
+ CH06(arg0, 59, 47)
+
+ // LGreater
+
+ LGreater(m000(), i000)
+ CH06(arg0, 60, 47)
+
+ LGreater(i000, m000())
+ CH06(arg0, 61, 47)
+
+ // LGreaterEqual
+
+ LGreaterEqual(m000(), i000)
+ CH06(arg0, 62, 0xff)
+
+ LGreaterEqual(i000, m000())
+ CH06(arg0, 63, 0xff)
+
+ // LLess
+
+ LLess(m000(), i000)
+ CH06(arg0, 64, 47)
+
+ LLess(i000, m000())
+ CH06(arg0, 65, 47)
+
+ // LLessEqual
+
+ LLessEqual(m000(), i000)
+ CH06(arg0, 66, 0xff)
+
+ LLessEqual(i000, m000())
+ CH06(arg0, 67, 0xff)
+
+ // LNotEqual
+
+ LNotEqual(m000(), i000)
+ CH06(arg0, 68, 0xff)
+
+ LNotEqual(i000, m000())
+ CH06(arg0, 69, 0xff)
+
+ // LOr
+
+ LOr(m000(), i000)
+ CH06(arg0, 70, 47)
+
+ LOr(i000, m000())
+ CH06(arg0, 71, 47)
+
+ // Mod
+
+ Mod(m000(), i000)
+ CH06(arg0, 72, 47)
+
+ Mod(i000, m000())
+ CH06(arg0, 73, 47)
+
+ Mod(m000(), i000, Local1)
+ CH06(arg0, 74, 47)
+
+ Mod(i000, m000(), Local1)
+ CH06(arg0, 75, 47)
+
+ // Multiply
+
+ Multiply(m000(), i000)
+ CH06(arg0, 76, 47)
+
+ Multiply(i000, m000())
+ CH06(arg0, 77, 47)
+
+ Multiply(m000(), i000, Local1)
+ CH06(arg0, 78, 47)
+
+ Multiply(i000, m000(), Local1)
+ CH06(arg0, 79, 47)
+
+ // NAnd
+
+ NAnd(m000(), i000)
+ CH06(arg0, 80, 47)
+
+ NAnd(i000, m000())
+ CH06(arg0, 81, 47)
+
+ NAnd(m000(), i000, Local1)
+ CH06(arg0, 82, 47)
+
+ NAnd(i000, m000(), Local1)
+ CH06(arg0, 83, 47)
+
+ // NOr
+
+ NOr(m000(), i000)
+ CH06(arg0, 84, 47)
+
+ NOr(i000, m000())
+ CH06(arg0, 85, 47)
+
+ NOr(m000(), i000, Local1)
+ CH06(arg0, 86, 47)
+
+ NOr(i000, m000(), Local1)
+ CH06(arg0, 87, 47)
+
+ // Or
+
+ Or(m000(), i000)
+ CH06(arg0, 88, 47)
+
+ Or(i000, m000())
+ CH06(arg0, 89, 47)
+
+ Or(m000(), i000, Local1)
+ CH06(arg0, 90, 47)
+
+ Or(i000, m000(), Local1)
+ CH06(arg0, 91, 47)
+
+ // ShiftLeft
+
+ ShiftLeft(m000(), i000)
+ CH06(arg0, 92, 47)
+
+ ShiftLeft(i000, m000())
+ CH06(arg0, 93, 47)
+
+ ShiftLeft(m000(), i000, Local1)
+ CH06(arg0, 94, 47)
+
+ ShiftLeft(i000, m000(), Local1)
+ CH06(arg0, 95, 47)
+
+ // ShiftRight
+
+ ShiftRight(m000(), i000)
+ CH06(arg0, 96, 47)
+
+ ShiftRight(i000, m000())
+ CH06(arg0, 97, 47)
+
+ ShiftRight(m000(), i000, Local1)
+ CH06(arg0, 98, 47)
+
+ ShiftRight(i000, m000(), Local1)
+ CH06(arg0, 99, 47)
+
+ // Subtract
+
+ Subtract(m000(), i000)
+ CH06(arg0, 100, 47)
+
+ Subtract(i000, m000())
+ CH06(arg0, 101, 47)
+
+ Subtract(m000(), i000, Local1)
+ CH06(arg0, 102, 47)
+
+ Subtract(i000, m000(), Local1)
+ CH06(arg0, 103, 47)
+
+ // ToString
+
+ ToString(m000(), 1)
+ CH06(arg0, 104, 47)
+
+ ToString(i000, m000())
+ CH06(arg0, 105, 47)
+
+ ToString(m000(), 1, Local1)
+ CH06(arg0, 106, 47)
+
+ ToString(i000, m000(), Local1)
+ CH06(arg0, 107, 47)
+
+ // Wait
+
+ Wait(m000(), i000)
+ CH06(arg0, 108, 47)
+
+ Wait(e000, m000())
+ CH06(arg0, 109, 47)
+
+ // XOr
+
+ XOr(m000(), i000)
+ CH06(arg0, 110, 47)
+
+ XOr(i000, m000())
+ CH06(arg0, 111, 47)
+
+ XOr(m000(), i000, Local1)
+ CH06(arg0, 112, 47)
+
+ XOr(i000, m000(), Local1)
+ CH06(arg0, 113, 47)
+
+ // Mid
+
+ Mid(m000(), 1, 1)
+ CH06(arg0, 114, 47)
+
+ Mid("123", m000(), 1)
+ CH06(arg0, 115, 47)
+
+ Mid("123", 1, m000())
+ CH06(arg0, 116, 47)
+
+ Mid(m000(), 1, 1, Local1)
+ CH06(arg0, 117, 47)
+
+ Mid("123", m000(), 1, Local1)
+ CH06(arg0, 118, 47)
+
+ Mid("123", 1, m000(), Local1)
+ CH06(arg0, 119, 47)
+
+ // Match
+
+ Match(m000(), MTR, 0, MTR, 0, 0)
+ CH06(arg0, 120, 47)
+
+ Match(Package(){1}, MTR, m000(), MTR, 0, 0)
+ CH06(arg0, 121, 47)
+
+ Match(Package(){1}, MTR, 0, MTR, m000(), 0)
+ CH06(arg0, 122, 47)
+
+ Match(Package(){1}, MTR, 0, MTR, 0, m000())
+ CH06(arg0, 123, 47)
+ }
+
+ // Reference to Object as Result of Method invocation
+ Method(m005, 1)
+ {
+ Device(dev2) {}
+
+ Name(i000, 0) // Label to check m000 invocations
+
+ Method(m000, 2)
+ {
+ Store(arg0, i000)
+ if (LEqual(arg1, 0)) {
+ Store(Refof(dev0), Local0)
+ } elseif (LEqual(arg1, 1)) {
+ Store(Refof(dev2), Local0)
+ }
+ Return (Local0)
+ }
+
+ Method(CH00, 2)
+ {
+ if (LNotEqual(i000, arg1)) {
+ err(arg0, z098, 0, 0, 0, i000, arg1)
+ }
+ }
+
+ Name(lpN0, 2)
+ Name(lpC0, 0)
+
+ While (lpN0) {
+ Multiply(3, lpC0, Local0)
+
+ Store(0, i000)
+
+ DerefOf(m000(1, lpC0))
+ CH03(ts, z098, Add(9, lpC0), 0, 0)
+ CH00(arg0, 1)
+
+ DerefOf(DerefOf(m000(2, lpC0)))
+ CH06(arg0, Add(1, Local0), 47)
+ CH00(arg0, 2)
+
+ Index(DerefOf(m000(3, lpC0)), 0)
+ CH06(arg0, Add(2, Local0), 47)
+ CH00(arg0, 3)
+
+ Match(DerefOf(m000(4, lpC0)), MTR, 0, MTR, 0, 0)
+ CH06(arg0, Add(3, Local0), 47)
+ CH00(arg0, 4)
+
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+ }
+
+ CH03(ts, z098, 11, 0, 0)
+
+ // Local Named Object
+ m000(ts)
+
+ // Global Named Object
+ m001(ts)
+
+ // Local
+ m002(Concatenate(ts, "-m002"))
+
+ // Reference to Local Named Object
+
+ m003(Concatenate(ts, "-m003-RefLocName"), RefOf(dev1), 1)
+
+ Store(RefOf(dev1), Local0)
+ m003(Concatenate(ts, "-m003-RefLocName2"), Local0, 1)
+
+ CondRefOf(dev1, Local0)
+ m003(Concatenate(ts, "-m003-CondRefLocName"), Local0, 1)
+
+ m003(Concatenate(ts, "-m003-RefGlobName"), RefOf(dev0), 1)
+
+ Store(RefOf(dev0), Local0)
+ m003(Concatenate(ts, "-m003-RefGlobName2"), Local0, 1)
+
+ CondRefOf(dev0, Local0)
+ m003(Concatenate(ts, "-m003-CondRefGlobName"), Local0, 1)
+
+ // Reference to Object as element of Package
+
+ Name(pp00, Package(){dev0})
+
+ if (y113) {
+ m003(Concatenate(ts, "-m003-Index"), Index(pp00, 0), 0)
+ }
+
+ Store(Index(pp00, 0), Local1)
+ m003(Concatenate(ts, "-m003-Index2"), Local1, 0)
+
+ if (y113) {
+ m003(Concatenate(ts, "-m003-Index3"), Index(pp00, 0, Local2), 0)
+ }
+
+ Index(pp00, 0, Local3)
+ m003(Concatenate(ts, "-m003-Index4"), Local3, 0)
+
+ Store(Index(pp00, 0, Local4), Local5)
+ m003(Concatenate(ts, "-m003-Index5"), Local5, 0)
+
+ // Result of Method invocation
+ m004(Concatenate(ts, "-m004"))
+
+ // Reference to Object as Result of Method invocation
+ m005(Concatenate(ts, "-m005"))
+}
diff --git a/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_07_event.asl b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_07_event.asl
new file mode 100644
index 000000000..f90b7b6b0
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_07_event.asl
@@ -0,0 +1,1678 @@
+/*
+ * 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.
+ */
+
+/*
+ * Event
+ *
+ * (verify exceptions caused by the imprope use of Event type objects)
+ */
+
+Name(z099, 99)
+
+Event(ev00)
+
+// Expected exceptions:
+//
+// 47 - AE_AML_OPERAND_TYPE
+//
+Method(m4b7)
+{
+ Name(ts, "m4b7")
+
+ Event(ev01)
+
+ Event(e000)
+
+ Name(i000, 0)
+
+ // Local Named Object
+ Method(m000, 1)
+ {
+ Event(ev02)
+
+ if (y083) {
+ DerefOf(ev02)
+ CH06(arg0, 0x100, 47)
+ }
+ }
+
+ // Global Named Object
+ Method(m001, 1)
+ {
+ if (y083) {
+ DerefOf(ev00)
+ CH06(arg0, 0x101, 47)
+ }
+ }
+
+ // Local
+ Method(m002, 1)
+ {
+ Event(ev02)
+
+ Event(e000)
+
+ CopyObject(ev02, Local0)
+
+ // CondRefOf
+
+ CondRefOf(Local0)
+ CH03(ts, z099, 0, 0, 0)
+
+ CondRefOf(Local0, Local1)
+ CH03(ts, z099, 1, 0, 0)
+
+ // CopyObject
+
+ CopyObject(Local0, Local1)
+ CH03(ts, z099, 2, 0, 0)
+
+ // Decrement
+
+ Decrement(Local0)
+ CH06(arg0, 1, 47)
+
+ // DerefOf
+
+ DerefOf(Local0)
+ CH06(arg0, 2, 47)
+
+ // FindSetLeftBit
+
+ FindSetLeftBit(Local0)
+ CH06(arg0, 3, 47)
+
+ FindSetLeftBit(Local0, Local1)
+ CH06(arg0, 4, 47)
+
+ // FindSetRightBit
+
+ FindSetRightBit(Local0)
+ CH06(arg0, 5, 47)
+
+ FindSetRightBit(Local0, Local1)
+ CH06(arg0, 6, 47)
+
+ // FromBCD
+
+ FromBCD(Local0)
+ CH06(arg0, 7, 47)
+
+ FromBCD(Local0, Local1)
+ CH06(arg0, 8, 47)
+
+ // Increment
+
+ Increment(Local0)
+ CH06(arg0, 9, 47)
+
+ // LNot
+
+ LNot(Local0)
+ CH06(arg0, 10, 47)
+
+ // Not
+
+ Not(Local0)
+ CH06(arg0, 11, 47)
+
+ Not(Local0, Local1)
+ CH06(arg0, 12, 47)
+
+ // ObjectType
+
+ ObjectType(Local0)
+ CH03(ts, z099, 3, 0, 0)
+
+ // RefOf
+
+ RefOf(Local0)
+ CH03(ts, z099, 4, 0, 0)
+
+ // Release
+
+ Release(Local0)
+ CH06(arg0, 13, 47)
+
+ // Reset
+
+ Reset(Local0)
+ CH03(ts, z099, 14, 0, 0)
+
+ // Signal
+
+ Signal(Local0)
+ CH03(ts, z099, 15, 0, 0)
+
+ // SizeOf
+
+ SizeOf(Local0)
+ CH06(arg0, 16, 47)
+
+ // Sleep
+
+ Sleep(Local0)
+ CH06(arg0, 17, 47)
+
+ // Stall
+
+ Stall(Local0)
+ CH06(arg0, 18, 47)
+
+ // Store
+
+ Store(Local0, Local1)
+ CH06(arg0, 19, 47)
+
+ // ToBCD
+
+ ToBCD(Local0)
+ CH06(arg0, 20, 47)
+
+ ToBCD(Local0, Local1)
+ CH06(arg0, 21, 47)
+
+ // ToBuffer
+
+ ToBuffer(Local0)
+ CH06(arg0, 22, 47)
+
+ ToBuffer(Local0, Local1)
+ CH06(arg0, 23, 47)
+
+ // ToDecimalString
+
+ ToDecimalString(Local0)
+ CH06(arg0, 24, 47)
+
+ ToDecimalString(Local0, Local1)
+ CH06(arg0, 25, 47)
+
+ // ToHexString
+
+ ToHexString(Local0)
+ CH06(arg0, 26, 47)
+
+ ToHexString(Local0, Local1)
+ CH06(arg0, 27, 47)
+
+ // ToInteger
+
+ ToInteger(Local0)
+ CH06(arg0, 28, 47)
+
+ ToInteger(Local0, Local1)
+ CH06(arg0, 29, 47)
+
+ // Acquire
+
+ Acquire(Local0, 100)
+ CH06(arg0, 30, 47)
+
+ // Add
+
+ Add(Local0, i000)
+ CH06(arg0, 31, 47)
+
+ Add(i000, Local0)
+ CH06(arg0, 32, 47)
+
+ Add(Local0, i000, Local1)
+ CH06(arg0, 33, 47)
+
+ Add(i000, Local0, Local1)
+ CH06(arg0, 34, 47)
+
+ // And
+
+ And(Local0, i000)
+ CH06(arg0, 35, 47)
+
+ And(i000, Local0)
+ CH06(arg0, 36, 47)
+
+ And(Local0, i000, Local1)
+ CH06(arg0, 37, 47)
+
+ And(i000, Local0, Local1)
+ CH06(arg0, 38, 47)
+
+ // Concatenate
+
+ Concatenate(Local0, i000)
+ CH06(arg0, 39, 47)
+
+ Concatenate(i000, Local0)
+ CH06(arg0, 40, 47)
+
+ Concatenate(Local0, i000, Local1)
+ CH06(arg0, 41, 47)
+
+ Concatenate(i000, Local0, Local1)
+ CH06(arg0, 42, 47)
+
+ // ConcatenateResTemplate
+
+ ConcatenateResTemplate(Local0, ResourceTemplate(){})
+ CH06(arg0, 43, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, Local0)
+ CH06(arg0, 44, 47)
+
+ ConcatenateResTemplate(Local0, ResourceTemplate(){}, Local1)
+ CH06(arg0, 45, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, Local0, Local1)
+ CH06(arg0, 46, 47)
+
+ // Divide
+
+ Divide(Local0, i000)
+ CH06(arg0, 47, 47)
+
+ Divide(i000, Local0)
+ CH06(arg0, 48, 47)
+
+ Divide(Local0, i000, Local2)
+ CH06(arg0, 49, 47)
+
+ Divide(i000, Local0, Local2)
+ CH06(arg0, 50, 47)
+
+ Divide(Local0, i000, Local2, Local1)
+ CH06(arg0, 51, 47)
+
+ Divide(i000, Local0, Local2, Local1)
+ CH06(arg0, 52, 47)
+
+ // Fatal
+
+ Fatal(0xff, 0xffffffff, Local0)
+ CH06(arg0, 53, 47)
+
+ // Index
+
+ Index(Local0, 0)
+ CH06(arg0, 54, 47)
+
+ Index("0", Local0)
+ CH06(arg0, 55, 47)
+
+ Index(Local0, 0, Local1)
+ CH06(arg0, 56, 47)
+
+ Index("0", Local0, Local1)
+ CH06(arg0, 57, 47)
+
+ // LEqual
+
+ LEqual(Local0, i000)
+ CH06(arg0, 58, 47)
+
+ LEqual(i000, Local0)
+ CH06(arg0, 59, 47)
+
+ // LGreater
+
+ LGreater(Local0, i000)
+ CH06(arg0, 60, 47)
+
+ LGreater(i000, Local0)
+ CH06(arg0, 61, 47)
+
+ // LGreaterEqual
+
+ LGreaterEqual(Local0, i000)
+ CH06(arg0, 62, 0xff)
+
+ LGreaterEqual(i000, Local0)
+ CH06(arg0, 63, 0xff)
+
+ // LLess
+
+ LLess(Local0, i000)
+ CH06(arg0, 64, 47)
+
+ LLess(i000, Local0)
+ CH06(arg0, 65, 47)
+
+ // LLessEqual
+
+ LLessEqual(Local0, i000)
+ CH06(arg0, 66, 0xff)
+
+ LLessEqual(i000, Local0)
+ CH06(arg0, 67, 0xff)
+
+ // LNotEqual
+
+ LNotEqual(Local0, i000)
+ CH06(arg0, 68, 0xff)
+
+ LNotEqual(i000, Local0)
+ CH06(arg0, 69, 0xff)
+
+ // LOr
+
+ LOr(Local0, i000)
+ CH06(arg0, 70, 47)
+
+ LOr(i000, Local0)
+ CH06(arg0, 71, 47)
+
+ // Mod
+
+ Mod(Local0, i000)
+ CH06(arg0, 72, 47)
+
+ Mod(i000, Local0)
+ CH06(arg0, 73, 47)
+
+ Mod(Local0, i000, Local1)
+ CH06(arg0, 74, 47)
+
+ Mod(i000, Local0, Local1)
+ CH06(arg0, 75, 47)
+
+ // Multiply
+
+ Multiply(Local0, i000)
+ CH06(arg0, 76, 47)
+
+ Multiply(i000, Local0)
+ CH06(arg0, 77, 47)
+
+ Multiply(Local0, i000, Local1)
+ CH06(arg0, 78, 47)
+
+ Multiply(i000, Local0, Local1)
+ CH06(arg0, 79, 47)
+
+ // NAnd
+
+ NAnd(Local0, i000)
+ CH06(arg0, 80, 47)
+
+ NAnd(i000, Local0)
+ CH06(arg0, 81, 47)
+
+ NAnd(Local0, i000, Local1)
+ CH06(arg0, 82, 47)
+
+ NAnd(i000, Local0, Local1)
+ CH06(arg0, 83, 47)
+
+ // NOr
+
+ NOr(Local0, i000)
+ CH06(arg0, 84, 47)
+
+ NOr(i000, Local0)
+ CH06(arg0, 85, 47)
+
+ NOr(Local0, i000, Local1)
+ CH06(arg0, 86, 47)
+
+ NOr(i000, Local0, Local1)
+ CH06(arg0, 87, 47)
+
+ // Or
+
+ Or(Local0, i000)
+ CH06(arg0, 88, 47)
+
+ Or(i000, Local0)
+ CH06(arg0, 89, 47)
+
+ Or(Local0, i000, Local1)
+ CH06(arg0, 90, 47)
+
+ Or(i000, Local0, Local1)
+ CH06(arg0, 91, 47)
+
+ // ShiftLeft
+
+ ShiftLeft(Local0, i000)
+ CH06(arg0, 92, 47)
+
+ ShiftLeft(i000, Local0)
+ CH06(arg0, 93, 47)
+
+ ShiftLeft(Local0, i000, Local1)
+ CH06(arg0, 94, 47)
+
+ ShiftLeft(i000, Local0, Local1)
+ CH06(arg0, 95, 47)
+
+ // ShiftRight
+
+ ShiftRight(Local0, i000)
+ CH06(arg0, 96, 47)
+
+ ShiftRight(i000, Local0)
+ CH06(arg0, 97, 47)
+
+ ShiftRight(Local0, i000, Local1)
+ CH06(arg0, 98, 47)
+
+ ShiftRight(i000, Local0, Local1)
+ CH06(arg0, 99, 47)
+
+ // Subtract
+
+ Subtract(Local0, i000)
+ CH06(arg0, 100, 47)
+
+ Subtract(i000, Local0)
+ CH06(arg0, 101, 47)
+
+ Subtract(Local0, i000, Local1)
+ CH06(arg0, 102, 47)
+
+ Subtract(i000, Local0, Local1)
+ CH06(arg0, 103, 47)
+
+ // ToString
+
+ ToString(Local0, 1)
+ CH06(arg0, 104, 47)
+
+ ToString(i000, Local0)
+ CH06(arg0, 105, 47)
+
+ ToString(Local0, 1, Local1)
+ CH06(arg0, 106, 47)
+
+ ToString(i000, Local0, Local1)
+ CH06(arg0, 107, 47)
+
+ // Wait
+
+ Wait(Local0, i000)
+ CH03(ts, z099, 108, 0, 0)
+
+ Wait(e000, Local0)
+ CH06(arg0, 109, 47)
+
+ // XOr
+
+ XOr(Local0, i000)
+ CH06(arg0, 110, 47)
+
+ XOr(i000, Local0)
+ CH06(arg0, 111, 47)
+
+ XOr(Local0, i000, Local1)
+ CH06(arg0, 112, 47)
+
+ XOr(i000, Local0, Local1)
+ CH06(arg0, 113, 47)
+
+ // Mid
+
+ Mid(Local0, 1, 1)
+ CH06(arg0, 114, 47)
+
+ Mid("123", Local0, 1)
+ CH06(arg0, 115, 47)
+
+ Mid("123", 1, Local0)
+ CH06(arg0, 116, 47)
+
+ Mid(Local0, 1, 1, Local1)
+ CH06(arg0, 117, 47)
+
+ Mid("123", Local0, 1, Local1)
+ CH06(arg0, 118, 47)
+
+ Mid("123", 1, Local0, Local1)
+ CH06(arg0, 119, 47)
+
+ // Match
+
+ Match(Local0, MTR, 0, MTR, 0, 0)
+ CH06(arg0, 120, 47)
+
+ Match(Package(){1}, MTR, Local0, MTR, 0, 0)
+ CH06(arg0, 121, 47)
+
+ Match(Package(){1}, MTR, 0, MTR, Local0, 0)
+ CH06(arg0, 122, 47)
+
+ Match(Package(){1}, MTR, 0, MTR, 0, Local0)
+ CH06(arg0, 123, 47)
+ }
+
+ // Reference to Object
+ Method(m003, 2)
+ {
+ Store(ObjectType(arg1), Local0)
+ if (LNotEqual(Local0, 7)) {
+ err(arg0, z099, 200, 0, 0, Local0, 7)
+ return (1)
+ }
+
+ DeRefOf(arg1)
+ CH03(ts, z099, 5, 0, 0)
+
+ // CondRefOf
+
+ CondRefOf(DeRefOf(arg1))
+ CH06(arg0, 0, 47)
+
+ CondRefOf(DeRefOf(arg1), Local1)
+ CH06(arg0, 1, 47)
+
+ // CopyObject
+
+ CopyObject(DeRefOf(arg1), Local1)
+ CH03(ts, z099, 2, 0, 0)
+
+ // Decrement
+
+ Decrement(DeRefOf(arg1))
+ CH06(arg0, 3, 47)
+
+ // DerefOf
+
+ DerefOf(DeRefOf(arg1))
+ CH06(arg0, 4, 47)
+
+ // FindSetLeftBit
+
+ FindSetLeftBit(DeRefOf(arg1))
+ CH06(arg0, 5, 47)
+
+ FindSetLeftBit(DeRefOf(arg1), Local1)
+ CH06(arg0, 6, 47)
+
+ // FindSetRightBit
+
+ FindSetRightBit(DeRefOf(arg1))
+ CH06(arg0, 7, 47)
+
+ FindSetRightBit(DeRefOf(arg1), Local1)
+ CH06(arg0, 8, 47)
+
+ // FromBCD
+
+ FromBCD(DeRefOf(arg1))
+ CH06(arg0, 9, 47)
+
+ FromBCD(DeRefOf(arg1), Local1)
+ CH06(arg0, 10, 47)
+
+ // Increment
+
+ Increment(DeRefOf(arg1))
+ CH06(arg0, 11, 47)
+
+ // LNot
+
+ LNot(DeRefOf(arg1))
+ CH06(arg0, 12, 47)
+
+ // Not
+
+ Not(DeRefOf(arg1))
+ CH06(arg0, 13, 47)
+
+ Not(DeRefOf(arg1), Local1)
+ CH06(arg0, 14, 47)
+
+ // ObjectType
+
+ ObjectType(DeRefOf(arg1))
+ CH03(ts, z099, 6, 0, 0)
+
+ // RefOf
+
+ RefOf(DeRefOf(arg1))
+ CH06(arg0, 15, 47)
+
+ // Release
+
+ // Reset
+
+ // Signal
+
+ // SizeOf
+
+ SizeOf(DeRefOf(arg1))
+ CH06(arg0, 16, 47)
+
+ // Sleep
+
+ Sleep(DeRefOf(arg1))
+ CH06(arg0, 17, 47)
+
+ // Stall
+
+ Stall(DeRefOf(arg1))
+ CH06(arg0, 18, 47)
+
+ // Store
+
+ Store(DeRefOf(arg1), Local1)
+ CH06(arg0, 19, 47)
+
+ // ToBCD
+
+ ToBCD(DeRefOf(arg1))
+ CH06(arg0, 20, 47)
+
+ ToBCD(DeRefOf(arg1), Local1)
+ CH06(arg0, 21, 47)
+
+ // ToBuffer
+
+ ToBuffer(DeRefOf(arg1))
+ CH06(arg0, 22, 47)
+
+ ToBuffer(DeRefOf(arg1), Local1)
+ CH06(arg0, 23, 47)
+
+ // ToDecimalString
+
+ ToDecimalString(DeRefOf(arg1))
+ CH06(arg0, 24, 47)
+
+ ToDecimalString(DeRefOf(arg1), Local1)
+ CH06(arg0, 25, 47)
+
+ // ToHexString
+
+ ToHexString(DeRefOf(arg1))
+ CH06(arg0, 26, 47)
+
+ ToHexString(DeRefOf(arg1), Local1)
+ CH06(arg0, 27, 47)
+
+ // ToInteger
+
+ ToInteger(DeRefOf(arg1))
+ CH06(arg0, 28, 47)
+
+ ToInteger(DeRefOf(arg1), Local1)
+ CH06(arg0, 29, 47)
+
+ // Acquire
+
+ // Add
+
+ Add(DeRefOf(arg1), i000)
+ CH06(arg0, 31, 47)
+
+ Add(i000, DeRefOf(arg1))
+ CH06(arg0, 32, 47)
+
+ Add(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 33, 47)
+
+ Add(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 34, 47)
+
+ // And
+
+ And(DeRefOf(arg1), i000)
+ CH06(arg0, 35, 47)
+
+ And(i000, DeRefOf(arg1))
+ CH06(arg0, 36, 47)
+
+ And(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 37, 47)
+
+ And(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 38, 47)
+
+ // Concatenate
+
+ Concatenate(DeRefOf(arg1), i000)
+ CH06(arg0, 39, 47)
+
+ Concatenate(i000, DeRefOf(arg1))
+ CH06(arg0, 40, 47)
+
+ Concatenate(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 41, 47)
+
+ Concatenate(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 42, 47)
+
+ // ConcatenateResTemplate
+
+ ConcatenateResTemplate(DeRefOf(arg1), ResourceTemplate(){})
+ CH06(arg0, 43, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, DeRefOf(arg1))
+ CH06(arg0, 44, 47)
+
+ ConcatenateResTemplate(DeRefOf(arg1), ResourceTemplate(){}, Local1)
+ CH06(arg0, 45, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, DeRefOf(arg1), Local1)
+ CH06(arg0, 46, 47)
+
+ // Divide
+
+ Divide(DeRefOf(arg1), i000)
+ CH06(arg0, 47, 47)
+
+ Divide(i000, DeRefOf(arg1))
+ CH06(arg0, 48, 47)
+
+ Divide(DeRefOf(arg1), i000, Local2)
+ CH06(arg0, 49, 47)
+
+ Divide(i000, DeRefOf(arg1), Local2)
+ CH06(arg0, 50, 47)
+
+ Divide(DeRefOf(arg1), i000, Local2, Local1)
+ CH06(arg0, 51, 47)
+
+ Divide(i000, DeRefOf(arg1), Local2, Local1)
+ CH06(arg0, 52, 47)
+
+ // Fatal
+
+ Fatal(0xff, 0xffffffff, DeRefOf(arg1))
+ CH06(arg0, 53, 47)
+
+ // Index
+
+ Index(DeRefOf(arg1), 0)
+ CH06(arg0, 54, 47)
+
+ Index("0", DeRefOf(arg1))
+ CH06(arg0, 55, 47)
+
+ Index(DeRefOf(arg1), 0, Local1)
+ CH06(arg0, 56, 47)
+
+ Index("0", DeRefOf(arg1), Local1)
+ CH06(arg0, 57, 47)
+
+ // LEqual
+
+ LEqual(DeRefOf(arg1), i000)
+ CH06(arg0, 58, 47)
+
+ LEqual(i000, DeRefOf(arg1))
+ CH06(arg0, 59, 47)
+
+ // LGreater
+
+ LGreater(DeRefOf(arg1), i000)
+ CH06(arg0, 60, 47)
+
+ LGreater(i000, DeRefOf(arg1))
+ CH06(arg0, 61, 47)
+
+ // LGreaterEqual
+
+ LGreaterEqual(DeRefOf(arg1), i000)
+ CH06(arg0, 62, 0xff)
+
+ LGreaterEqual(i000, DeRefOf(arg1))
+ CH06(arg0, 63, 0xff)
+
+ // LLess
+
+ LLess(DeRefOf(arg1), i000)
+ CH06(arg0, 64, 47)
+
+ LLess(i000, DeRefOf(arg1))
+ CH06(arg0, 65, 47)
+
+ // LLessEqual
+
+ LLessEqual(DeRefOf(arg1), i000)
+ CH06(arg0, 66, 0xff)
+
+ LLessEqual(i000, DeRefOf(arg1))
+ CH06(arg0, 67, 0xff)
+
+ // LNotEqual
+
+ LNotEqual(DeRefOf(arg1), i000)
+ CH06(arg0, 68, 0xff)
+
+ LNotEqual(i000, DeRefOf(arg1))
+ CH06(arg0, 69, 0xff)
+
+ // LOr
+
+ LOr(DeRefOf(arg1), i000)
+ CH06(arg0, 70, 47)
+
+ LOr(i000, DeRefOf(arg1))
+ CH06(arg0, 71, 47)
+
+ // Mod
+
+ Mod(DeRefOf(arg1), i000)
+ CH06(arg0, 72, 47)
+
+ Mod(i000, DeRefOf(arg1))
+ CH06(arg0, 73, 47)
+
+ Mod(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 74, 47)
+
+ Mod(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 75, 47)
+
+ // Multiply
+
+ Multiply(DeRefOf(arg1), i000)
+ CH06(arg0, 76, 47)
+
+ Multiply(i000, DeRefOf(arg1))
+ CH06(arg0, 77, 47)
+
+ Multiply(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 78, 47)
+
+ Multiply(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 79, 47)
+
+ // NAnd
+
+ NAnd(DeRefOf(arg1), i000)
+ CH06(arg0, 80, 47)
+
+ NAnd(i000, DeRefOf(arg1))
+ CH06(arg0, 81, 47)
+
+ NAnd(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 82, 47)
+
+ NAnd(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 83, 47)
+
+ // NOr
+
+ NOr(DeRefOf(arg1), i000)
+ CH06(arg0, 84, 47)
+
+ NOr(i000, DeRefOf(arg1))
+ CH06(arg0, 85, 47)
+
+ NOr(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 86, 47)
+
+ NOr(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 87, 47)
+
+ // Or
+
+ Or(DeRefOf(arg1), i000)
+ CH06(arg0, 88, 47)
+
+ Or(i000, DeRefOf(arg1))
+ CH06(arg0, 89, 47)
+
+ Or(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 90, 47)
+
+ Or(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 91, 47)
+
+ // ShiftLeft
+
+ ShiftLeft(DeRefOf(arg1), i000)
+ CH06(arg0, 92, 47)
+
+ ShiftLeft(i000, DeRefOf(arg1))
+ CH06(arg0, 93, 47)
+
+ ShiftLeft(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 94, 47)
+
+ ShiftLeft(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 95, 47)
+
+ // ShiftRight
+
+ ShiftRight(DeRefOf(arg1), i000)
+ CH06(arg0, 96, 47)
+
+ ShiftRight(i000, DeRefOf(arg1))
+ CH06(arg0, 97, 47)
+
+ ShiftRight(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 98, 47)
+
+ ShiftRight(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 99, 47)
+
+ // Subtract
+
+ Subtract(DeRefOf(arg1), i000)
+ CH06(arg0, 100, 47)
+
+ Subtract(i000, DeRefOf(arg1))
+ CH06(arg0, 101, 47)
+
+ Subtract(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 102, 47)
+
+ Subtract(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 103, 47)
+
+ // ToString
+
+ ToString(DeRefOf(arg1), 1)
+ CH06(arg0, 104, 47)
+
+ ToString(i000, DeRefOf(arg1))
+ CH06(arg0, 105, 47)
+
+ ToString(DeRefOf(arg1), 1, Local1)
+ CH06(arg0, 106, 47)
+
+ ToString(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 107, 47)
+
+ // Wait
+
+ Wait(e000, DeRefOf(arg1))
+ CH06(arg0, 109, 47)
+
+ // XOr
+
+ XOr(DeRefOf(arg1), i000)
+ CH06(arg0, 110, 47)
+
+ XOr(i000, DeRefOf(arg1))
+ CH06(arg0, 111, 47)
+
+ XOr(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 112, 47)
+
+ XOr(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 113, 47)
+
+ // Mid
+
+ Mid(DeRefOf(arg1), 1, 1)
+ CH06(arg0, 114, 47)
+
+ Mid("123", DeRefOf(arg1), 1)
+ CH06(arg0, 115, 47)
+
+ Mid("123", 1, DeRefOf(arg1))
+ CH06(arg0, 116, 47)
+
+ Mid(DeRefOf(arg1), 1, 1, Local1)
+ CH06(arg0, 117, 47)
+
+ Mid("123", DeRefOf(arg1), 1, Local1)
+ CH06(arg0, 118, 47)
+
+ Mid("123", 1, DeRefOf(arg1), Local1)
+ CH06(arg0, 119, 47)
+
+ // Match
+
+ Match(DeRefOf(arg1), MTR, 0, MTR, 0, 0)
+ CH06(arg0, 120, 47)
+
+ Match(Package(){1}, MTR, DeRefOf(arg1), MTR, 0, 0)
+ CH06(arg0, 121, 47)
+
+ Match(Package(){1}, MTR, 0, MTR, DeRefOf(arg1), 0)
+ CH06(arg0, 122, 47)
+
+ Match(Package(){1}, MTR, 0, MTR, 0, DeRefOf(arg1))
+ CH06(arg0, 123, 47)
+
+ return (0)
+ }
+
+ // Result of Method invocation
+ Method(m004, 1)
+ {
+ Name(i000, 0) // Label to check m000 invocations
+
+ Method(m000)
+ {
+ CopyObject(ev00, Local0)
+ Return (Local0)
+ }
+
+ // CondRefOf
+
+ if (y601) {
+ CondRefOf(m000())
+ CH06(arg0, 0, 47)
+
+ CondRefOf(m000(), Local1)
+ CH06(arg0, 1, 47)
+ }
+
+ // CopyObject
+
+ CopyObject(m000(), Local1)
+ CH03(ts, z099, 7, 0, 0)
+
+ // Decrement
+
+ Decrement(m000())
+ CH06(arg0, 2, 47)
+
+ // DerefOf
+
+ DerefOf(m000())
+ CH06(arg0, 3, 47)
+
+ // FindSetLeftBit
+
+ FindSetLeftBit(m000())
+ CH06(arg0, 4, 47)
+
+ FindSetLeftBit(m000(), Local1)
+ CH06(arg0, 5, 47)
+
+ // FindSetRightBit
+
+ FindSetRightBit(m000())
+ CH06(arg0, 6, 47)
+
+ FindSetRightBit(m000(), Local1)
+ CH06(arg0, 7, 47)
+
+ // FromBCD
+
+ FromBCD(m000())
+ CH06(arg0, 8, 47)
+
+ FromBCD(m000(), Local1)
+ CH06(arg0, 9, 47)
+
+ // Increment
+
+ Increment(m000())
+ CH06(arg0, 10, 47)
+
+ // LNot
+
+ LNot(m000())
+ CH06(arg0, 11, 47)
+
+ // Not
+
+ Not(m000())
+ CH06(arg0, 12, 47)
+
+ Not(m000(), Local1)
+ CH06(arg0, 13, 47)
+
+ // ObjectType
+
+ ObjectType(m000())
+ CH03(ts, z099, 8, 0, 0)
+
+ // RefOf
+
+ if (y601) {
+ RefOf(m000())
+ CH06(arg0, 14, 47)
+ }
+
+ // Release
+
+ Release(m000())
+ CH06(arg0, 13, 47)
+
+ // Reset
+
+ Reset(m000())
+ CH06(arg0, 14, 47)
+
+ // Signal
+
+ Signal(m000())
+ CH06(arg0, 15, 47)
+
+ // SizeOf
+
+ SizeOf(m000())
+ CH06(arg0, 16, 47)
+
+ // Sleep
+
+ Sleep(m000())
+ CH06(arg0, 17, 47)
+
+ // Stall
+
+ Stall(m000())
+ CH06(arg0, 18, 47)
+
+ // Store
+
+ Store(m000(), Local1)
+ CH06(arg0, 19, 47)
+
+ // ToBCD
+
+ ToBCD(m000())
+ CH06(arg0, 20, 47)
+
+ ToBCD(m000(), Local1)
+ CH06(arg0, 21, 47)
+
+ // ToBuffer
+
+ ToBuffer(m000())
+ CH06(arg0, 22, 47)
+
+ ToBuffer(m000(), Local1)
+ CH06(arg0, 23, 47)
+
+ // ToDecimalString
+
+ ToDecimalString(m000())
+ CH06(arg0, 24, 47)
+
+ ToDecimalString(m000(), Local1)
+ CH06(arg0, 25, 47)
+
+ // ToHexString
+
+ ToHexString(m000())
+ CH06(arg0, 26, 47)
+
+ ToHexString(m000(), Local1)
+ CH06(arg0, 27, 47)
+
+ // ToInteger
+
+ ToInteger(m000())
+ CH06(arg0, 28, 47)
+
+ ToInteger(m000(), Local1)
+ CH06(arg0, 29, 47)
+
+ // Acquire
+
+ Acquire(m000(), 100)
+ CH06(arg0, 30, 47)
+
+ // Add
+
+ Add(m000(), i000)
+ CH06(arg0, 31, 47)
+
+ Add(i000, m000())
+ CH06(arg0, 32, 47)
+
+ Add(m000(), i000, Local1)
+ CH06(arg0, 33, 47)
+
+ Add(i000, m000(), Local1)
+ CH06(arg0, 34, 47)
+
+ // And
+
+ And(m000(), i000)
+ CH06(arg0, 35, 47)
+
+ And(i000, m000())
+ CH06(arg0, 36, 47)
+
+ And(m000(), i000, Local1)
+ CH06(arg0, 37, 47)
+
+ And(i000, m000(), Local1)
+ CH06(arg0, 38, 47)
+
+ // Concatenate
+
+ Concatenate(m000(), i000)
+ CH06(arg0, 39, 47)
+
+ Concatenate(i000, m000())
+ CH06(arg0, 40, 47)
+
+ Concatenate(m000(), i000, Local1)
+ CH06(arg0, 41, 47)
+
+ Concatenate(i000, m000(), Local1)
+ CH06(arg0, 42, 47)
+
+ // ConcatenateResTemplate
+
+ ConcatenateResTemplate(m000(), ResourceTemplate(){})
+ CH06(arg0, 43, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, m000())
+ CH06(arg0, 44, 47)
+
+ ConcatenateResTemplate(m000(), ResourceTemplate(){}, Local1)
+ CH06(arg0, 45, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, m000(), Local1)
+ CH06(arg0, 46, 47)
+
+ // Divide
+
+ Divide(m000(), i000)
+ CH06(arg0, 47, 47)
+
+ Divide(i000, m000())
+ CH06(arg0, 48, 47)
+
+ Divide(m000(), i000, Local2)
+ CH06(arg0, 49, 47)
+
+ Divide(i000, m000(), Local2)
+ CH06(arg0, 50, 47)
+
+ Divide(m000(), i000, Local2, Local1)
+ CH06(arg0, 51, 47)
+
+ Divide(i000, m000(), Local2, Local1)
+ CH06(arg0, 52, 47)
+
+ // Fatal
+
+ Fatal(0xff, 0xffffffff, m000())
+ CH06(arg0, 53, 47)
+
+ // Index
+
+ Index(m000(), 0)
+ CH06(arg0, 54, 47)
+
+ Index("0", m000())
+ CH06(arg0, 55, 47)
+
+ Index(m000(), 0, Local1)
+ CH06(arg0, 56, 47)
+
+ Index("0", m000(), Local1)
+ CH06(arg0, 57, 47)
+
+ // LEqual
+
+ LEqual(m000(), i000)
+ CH06(arg0, 58, 47)
+
+ LEqual(i000, m000())
+ CH06(arg0, 59, 47)
+
+ // LGreater
+
+ LGreater(m000(), i000)
+ CH06(arg0, 60, 47)
+
+ LGreater(i000, m000())
+ CH06(arg0, 61, 47)
+
+ // LGreaterEqual
+
+ LGreaterEqual(m000(), i000)
+ CH06(arg0, 62, 0xff)
+
+ LGreaterEqual(i000, m000())
+ CH06(arg0, 63, 0xff)
+
+ // LLess
+
+ LLess(m000(), i000)
+ CH06(arg0, 64, 47)
+
+ LLess(i000, m000())
+ CH06(arg0, 65, 47)
+
+ // LLessEqual
+
+ LLessEqual(m000(), i000)
+ CH06(arg0, 66, 0xff)
+
+ LLessEqual(i000, m000())
+ CH06(arg0, 67, 0xff)
+
+ // LNotEqual
+
+ LNotEqual(m000(), i000)
+ CH06(arg0, 68, 0xff)
+
+ LNotEqual(i000, m000())
+ CH06(arg0, 69, 0xff)
+
+ // LOr
+
+ LOr(m000(), i000)
+ CH06(arg0, 70, 47)
+
+ LOr(i000, m000())
+ CH06(arg0, 71, 47)
+
+ // Mod
+
+ Mod(m000(), i000)
+ CH06(arg0, 72, 47)
+
+ Mod(i000, m000())
+ CH06(arg0, 73, 47)
+
+ Mod(m000(), i000, Local1)
+ CH06(arg0, 74, 47)
+
+ Mod(i000, m000(), Local1)
+ CH06(arg0, 75, 47)
+
+ // Multiply
+
+ Multiply(m000(), i000)
+ CH06(arg0, 76, 47)
+
+ Multiply(i000, m000())
+ CH06(arg0, 77, 47)
+
+ Multiply(m000(), i000, Local1)
+ CH06(arg0, 78, 47)
+
+ Multiply(i000, m000(), Local1)
+ CH06(arg0, 79, 47)
+
+ // NAnd
+
+ NAnd(m000(), i000)
+ CH06(arg0, 80, 47)
+
+ NAnd(i000, m000())
+ CH06(arg0, 81, 47)
+
+ NAnd(m000(), i000, Local1)
+ CH06(arg0, 82, 47)
+
+ NAnd(i000, m000(), Local1)
+ CH06(arg0, 83, 47)
+
+ // NOr
+
+ NOr(m000(), i000)
+ CH06(arg0, 84, 47)
+
+ NOr(i000, m000())
+ CH06(arg0, 85, 47)
+
+ NOr(m000(), i000, Local1)
+ CH06(arg0, 86, 47)
+
+ NOr(i000, m000(), Local1)
+ CH06(arg0, 87, 47)
+
+ // Or
+
+ Or(m000(), i000)
+ CH06(arg0, 88, 47)
+
+ Or(i000, m000())
+ CH06(arg0, 89, 47)
+
+ Or(m000(), i000, Local1)
+ CH06(arg0, 90, 47)
+
+ Or(i000, m000(), Local1)
+ CH06(arg0, 91, 47)
+
+ // ShiftLeft
+
+ ShiftLeft(m000(), i000)
+ CH06(arg0, 92, 47)
+
+ ShiftLeft(i000, m000())
+ CH06(arg0, 93, 47)
+
+ ShiftLeft(m000(), i000, Local1)
+ CH06(arg0, 94, 47)
+
+ ShiftLeft(i000, m000(), Local1)
+ CH06(arg0, 95, 47)
+
+ // ShiftRight
+
+ ShiftRight(m000(), i000)
+ CH06(arg0, 96, 47)
+
+ ShiftRight(i000, m000())
+ CH06(arg0, 97, 47)
+
+ ShiftRight(m000(), i000, Local1)
+ CH06(arg0, 98, 47)
+
+ ShiftRight(i000, m000(), Local1)
+ CH06(arg0, 99, 47)
+
+ // Subtract
+
+ Subtract(m000(), i000)
+ CH06(arg0, 100, 47)
+
+ Subtract(i000, m000())
+ CH06(arg0, 101, 47)
+
+ Subtract(m000(), i000, Local1)
+ CH06(arg0, 102, 47)
+
+ Subtract(i000, m000(), Local1)
+ CH06(arg0, 103, 47)
+
+ // ToString
+
+ ToString(m000(), 1)
+ CH06(arg0, 104, 47)
+
+ ToString(i000, m000())
+ CH06(arg0, 105, 47)
+
+ ToString(m000(), 1, Local1)
+ CH06(arg0, 106, 47)
+
+ ToString(i000, m000(), Local1)
+ CH06(arg0, 107, 47)
+
+ // Wait
+
+ Wait(m000(), i000)
+ CH06(arg0, 108, 47)
+
+ Wait(e000, m000())
+ CH06(arg0, 109, 47)
+
+ // XOr
+
+ XOr(m000(), i000)
+ CH06(arg0, 110, 47)
+
+ XOr(i000, m000())
+ CH06(arg0, 111, 47)
+
+ XOr(m000(), i000, Local1)
+ CH06(arg0, 112, 47)
+
+ XOr(i000, m000(), Local1)
+ CH06(arg0, 113, 47)
+
+ // Mid
+
+ Mid(m000(), 1, 1)
+ CH06(arg0, 114, 47)
+
+ Mid("123", m000(), 1)
+ CH06(arg0, 115, 47)
+
+ Mid("123", 1, m000())
+ CH06(arg0, 116, 47)
+
+ Mid(m000(), 1, 1, Local1)
+ CH06(arg0, 117, 47)
+
+ Mid("123", m000(), 1, Local1)
+ CH06(arg0, 118, 47)
+
+ Mid("123", 1, m000(), Local1)
+ CH06(arg0, 119, 47)
+
+ // Match
+
+ Match(m000(), MTR, 0, MTR, 0, 0)
+ CH06(arg0, 120, 47)
+
+ Match(Package(){1}, MTR, m000(), MTR, 0, 0)
+ CH06(arg0, 121, 47)
+
+ Match(Package(){1}, MTR, 0, MTR, m000(), 0)
+ CH06(arg0, 122, 47)
+
+ Match(Package(){1}, MTR, 0, MTR, 0, m000())
+ CH06(arg0, 123, 47)
+ }
+
+ // Reference to Object as Result of Method invocation
+ Method(m005, 1)
+ {
+ Event(ev02)
+
+ Name(i000, 0) // Label to check m000 invocations
+
+ Method(m000, 2)
+ {
+ Store(arg0, i000)
+ if (LEqual(arg1, 0)) {
+ Store(Refof(ev00), Local0)
+ } elseif (LEqual(arg1, 1)) {
+ Store(Refof(ev02), Local0)
+ }
+ Return (Local0)
+ }
+
+ Method(CH00, 2)
+ {
+ if (LNotEqual(i000, arg1)) {
+ err(arg0, z099, 0, 0, 0, i000, arg1)
+ }
+ }
+
+ Name(lpN0, 2)
+ Name(lpC0, 0)
+
+ While (lpN0) {
+ Multiply(3, lpC0, Local0)
+
+ Store(0, i000)
+
+ DerefOf(m000(1, lpC0))
+ CH03(ts, z099, Add(9, lpC0), 0, 0)
+ CH00(arg0, 1)
+
+ DerefOf(DerefOf(m000(2, lpC0)))
+ CH06(arg0, Add(1, Local0), 47)
+ CH00(arg0, 2)
+
+ Index(DerefOf(m000(3, lpC0)), 0)
+ CH06(arg0, Add(2, Local0), 47)
+ CH00(arg0, 3)
+
+ Match(DerefOf(m000(4, lpC0)), MTR, 0, MTR, 0, 0)
+ CH06(arg0, Add(3, Local0), 47)
+ CH00(arg0, 4)
+
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+ }
+
+ SET0(z099, ts, 0)
+
+ CH03(ts, z099, 11, 0, 0)
+
+ // Local Named Object
+ m000(ts)
+
+ // Global Named Object
+ m001(ts)
+
+ // Local
+ m002(Concatenate(ts, "-m002"))
+
+ // Reference to Local Named Object
+
+ m003(Concatenate(ts, "-m003-RefLocName"), RefOf(ev01))
+
+ Store(RefOf(ev01), Local0)
+ m003(Concatenate(ts, "-m003-RefLocName2"), Local0)
+
+ CondRefOf(ev01, Local0)
+ m003(Concatenate(ts, "-m003-CondRefLocName"), Local0)
+
+ m003(Concatenate(ts, "-m003-RefGlobName"), RefOf(ev00))
+
+ Store(RefOf(ev00), Local0)
+ m003(Concatenate(ts, "-m003-RefGlobName2"), Local0)
+
+ CondRefOf(ev00, Local0)
+ m003(Concatenate(ts, "-m003-CondRefGlobName"), Local0)
+
+ // Reference to Object as element of Package
+
+ Name(pp00, Package(){ev00})
+
+ if (y113) {
+ m003(Concatenate(ts, "-m003-Index"), Index(pp00, 0))
+ }
+
+ Store(Index(pp00, 0), Local1)
+ m003(Concatenate(ts, "-m003-Index2"), Local1)
+
+ if (y113) {
+ m003(Concatenate(ts, "-m003-Index3"), Index(pp00, 0, Local2))
+ }
+
+ Index(pp00, 0, Local3)
+ m003(Concatenate(ts, "-m003-Index4"), Local3)
+
+ Store(Index(pp00, 0, Local4), Local5)
+ m003(Concatenate(ts, "-m003-Index5"), Local5)
+
+ // Result of Method invocation
+ m004(Concatenate(ts, "-m004"))
+
+ // Reference to Object as Result of Method invocation
+ m005(Concatenate(ts, "-m005"))
+
+ RST0()
+}
diff --git a/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_08_method.asl b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_08_method.asl
new file mode 100644
index 000000000..924a20e0a
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_08_method.asl
@@ -0,0 +1,1678 @@
+/*
+ * 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.
+ */
+
+/*
+ * Method
+ *
+ * (verify exceptions caused by the imprope use of Method type objects)
+ */
+
+Name(z100, 100)
+
+Method(m4f0) {Return ("m4f0")}
+
+// Expected exceptions:
+//
+// 47 - AE_AML_OPERAND_TYPE
+//
+Method(m4b8)
+{
+ Name(ts, "m4b8")
+
+ Method(m4f1) {Return ("m4f1")}
+
+ Event(e000)
+
+ Name(i000, 0)
+
+ // Local Named Object
+ Method(m000, 1)
+ {
+ Method(m4f2) {Return ("m4f2")}
+
+ if (y083) {
+ DerefOf(m4f2)
+ CH06(arg0, 0, 47)
+ }
+ }
+
+ // Global Named Object
+ Method(m001, 1)
+ {
+ if (y083) {
+ DerefOf(m4f0)
+ CH06(arg0, 1, 47)
+ }
+ }
+
+ // Local
+ Method(m002, 1)
+ {
+ Method(m4f2) {Return ("m4f2")}
+
+ Event(e000)
+
+ CopyObject(Derefof(Refof(m4f2)), Local0)
+
+ // CondRefOf
+
+ CondRefOf(Local0)
+ CH03(ts, z100, 0, 0, 0)
+
+ CondRefOf(Local0, Local1)
+ CH03(ts, z100, 1, 0, 0)
+
+ // CopyObject
+
+ CopyObject(Local0, Local1)
+ CH03(ts, z100, 2, 0, 0)
+
+ // Decrement
+
+ Decrement(Local0)
+ CH06(arg0, 1, 47)
+
+ // DerefOf
+
+ DerefOf(Local0)
+ CH06(arg0, 2, 47)
+
+ // FindSetLeftBit
+
+ FindSetLeftBit(Local0)
+ CH06(arg0, 3, 47)
+
+ FindSetLeftBit(Local0, Local1)
+ CH06(arg0, 4, 47)
+
+ // FindSetRightBit
+
+ FindSetRightBit(Local0)
+ CH06(arg0, 5, 47)
+
+ FindSetRightBit(Local0, Local1)
+ CH06(arg0, 6, 47)
+
+ // FromBCD
+
+ FromBCD(Local0)
+ CH06(arg0, 7, 47)
+
+ FromBCD(Local0, Local1)
+ CH06(arg0, 8, 47)
+
+ // Increment
+
+ Increment(Local0)
+ CH06(arg0, 9, 47)
+
+ // LNot
+
+ LNot(Local0)
+ CH06(arg0, 10, 47)
+
+ // Not
+
+ Not(Local0)
+ CH06(arg0, 11, 47)
+
+ Not(Local0, Local1)
+ CH06(arg0, 12, 47)
+
+ // ObjectType
+
+ ObjectType(Local0)
+ CH03(ts, z100, 3, 0, 0)
+
+ // RefOf
+
+ RefOf(Local0)
+ CH03(ts, z100, 4, 0, 0)
+
+ // Release
+
+ Release(Local0)
+ CH06(arg0, 13, 47)
+
+ // Reset
+
+ Reset(Local0)
+ CH06(arg0, 14, 47)
+
+ // Signal
+
+ Signal(Local0)
+ CH06(arg0, 15, 47)
+
+ // SizeOf
+
+ SizeOf(Local0)
+ CH06(arg0, 16, 47)
+
+ // Sleep
+
+ Sleep(Local0)
+ CH06(arg0, 17, 47)
+
+ // Stall
+
+ Stall(Local0)
+ CH06(arg0, 18, 47)
+
+ // Store
+
+ Store(Local0, Local1)
+ CH06(arg0, 19, 47)
+
+ // ToBCD
+
+ ToBCD(Local0)
+ CH06(arg0, 20, 47)
+
+ ToBCD(Local0, Local1)
+ CH06(arg0, 21, 47)
+
+ // ToBuffer
+
+ ToBuffer(Local0)
+ CH06(arg0, 22, 47)
+
+ ToBuffer(Local0, Local1)
+ CH06(arg0, 23, 47)
+
+ // ToDecimalString
+
+ ToDecimalString(Local0)
+ CH06(arg0, 24, 47)
+
+ ToDecimalString(Local0, Local1)
+ CH06(arg0, 25, 47)
+
+ // ToHexString
+
+ ToHexString(Local0)
+ CH06(arg0, 26, 47)
+
+ ToHexString(Local0, Local1)
+ CH06(arg0, 27, 47)
+
+ // ToInteger
+
+ ToInteger(Local0)
+ CH06(arg0, 28, 47)
+
+ ToInteger(Local0, Local1)
+ CH06(arg0, 29, 47)
+
+ // Acquire
+
+ Acquire(Local0, 100)
+ CH06(arg0, 30, 47)
+
+ // Add
+
+ Add(Local0, i000)
+ CH06(arg0, 31, 47)
+
+ Add(i000, Local0)
+ CH06(arg0, 32, 47)
+
+ Add(Local0, i000, Local1)
+ CH06(arg0, 33, 47)
+
+ Add(i000, Local0, Local1)
+ CH06(arg0, 34, 47)
+
+ // And
+
+ And(Local0, i000)
+ CH06(arg0, 35, 47)
+
+ And(i000, Local0)
+ CH06(arg0, 36, 47)
+
+ And(Local0, i000, Local1)
+ CH06(arg0, 37, 47)
+
+ And(i000, Local0, Local1)
+ CH06(arg0, 38, 47)
+
+ // Concatenate
+
+ Concatenate(Local0, i000)
+ CH06(arg0, 39, 47)
+
+ Concatenate(i000, Local0)
+ CH06(arg0, 40, 47)
+
+ Concatenate(Local0, i000, Local1)
+ CH06(arg0, 41, 47)
+
+ Concatenate(i000, Local0, Local1)
+ CH06(arg0, 42, 47)
+
+ // ConcatenateResTemplate
+
+ ConcatenateResTemplate(Local0, ResourceTemplate(){})
+ CH06(arg0, 43, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, Local0)
+ CH06(arg0, 44, 47)
+
+ ConcatenateResTemplate(Local0, ResourceTemplate(){}, Local1)
+ CH06(arg0, 45, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, Local0, Local1)
+ CH06(arg0, 46, 47)
+
+ // Divide
+
+ Divide(Local0, i000)
+ CH06(arg0, 47, 47)
+
+ Divide(i000, Local0)
+ CH06(arg0, 48, 47)
+
+ Divide(Local0, i000, Local2)
+ CH06(arg0, 49, 47)
+
+ Divide(i000, Local0, Local2)
+ CH06(arg0, 50, 47)
+
+ Divide(Local0, i000, Local2, Local1)
+ CH06(arg0, 51, 47)
+
+ Divide(i000, Local0, Local2, Local1)
+ CH06(arg0, 52, 47)
+
+ // Fatal
+
+ Fatal(0xff, 0xffffffff, Local0)
+ CH06(arg0, 53, 47)
+
+ // Index
+
+ Index(Local0, 0)
+ CH06(arg0, 54, 47)
+
+ Index("0", Local0)
+ CH06(arg0, 55, 47)
+
+ Index(Local0, 0, Local1)
+ CH06(arg0, 56, 47)
+
+ Index("0", Local0, Local1)
+ CH06(arg0, 57, 47)
+
+ // LEqual
+
+ LEqual(Local0, i000)
+ CH06(arg0, 58, 47)
+
+ LEqual(i000, Local0)
+ CH06(arg0, 59, 47)
+
+ // LGreater
+
+ LGreater(Local0, i000)
+ CH06(arg0, 60, 47)
+
+ LGreater(i000, Local0)
+ CH06(arg0, 61, 47)
+
+ // LGreaterEqual
+
+ LGreaterEqual(Local0, i000)
+ CH06(arg0, 62, 0xff)
+
+ LGreaterEqual(i000, Local0)
+ CH06(arg0, 63, 0xff)
+
+ // LLess
+
+ LLess(Local0, i000)
+ CH06(arg0, 64, 47)
+
+ LLess(i000, Local0)
+ CH06(arg0, 65, 47)
+
+ // LLessEqual
+
+ LLessEqual(Local0, i000)
+ CH06(arg0, 66, 0xff)
+
+ LLessEqual(i000, Local0)
+ CH06(arg0, 67, 0xff)
+
+ // LNotEqual
+
+ LNotEqual(Local0, i000)
+ CH06(arg0, 68, 0xff)
+
+ LNotEqual(i000, Local0)
+ CH06(arg0, 69, 0xff)
+
+ // LOr
+
+ LOr(Local0, i000)
+ CH06(arg0, 70, 47)
+
+ LOr(i000, Local0)
+ CH06(arg0, 71, 47)
+
+ // Mod
+
+ Mod(Local0, i000)
+ CH06(arg0, 72, 47)
+
+ Mod(i000, Local0)
+ CH06(arg0, 73, 47)
+
+ Mod(Local0, i000, Local1)
+ CH06(arg0, 74, 47)
+
+ Mod(i000, Local0, Local1)
+ CH06(arg0, 75, 47)
+
+ // Multiply
+
+ Multiply(Local0, i000)
+ CH06(arg0, 76, 47)
+
+ Multiply(i000, Local0)
+ CH06(arg0, 77, 47)
+
+ Multiply(Local0, i000, Local1)
+ CH06(arg0, 78, 47)
+
+ Multiply(i000, Local0, Local1)
+ CH06(arg0, 79, 47)
+
+ // NAnd
+
+ NAnd(Local0, i000)
+ CH06(arg0, 80, 47)
+
+ NAnd(i000, Local0)
+ CH06(arg0, 81, 47)
+
+ NAnd(Local0, i000, Local1)
+ CH06(arg0, 82, 47)
+
+ NAnd(i000, Local0, Local1)
+ CH06(arg0, 83, 47)
+
+ // NOr
+
+ NOr(Local0, i000)
+ CH06(arg0, 84, 47)
+
+ NOr(i000, Local0)
+ CH06(arg0, 85, 47)
+
+ NOr(Local0, i000, Local1)
+ CH06(arg0, 86, 47)
+
+ NOr(i000, Local0, Local1)
+ CH06(arg0, 87, 47)
+
+ // Or
+
+ Or(Local0, i000)
+ CH06(arg0, 88, 47)
+
+ Or(i000, Local0)
+ CH06(arg0, 89, 47)
+
+ Or(Local0, i000, Local1)
+ CH06(arg0, 90, 47)
+
+ Or(i000, Local0, Local1)
+ CH06(arg0, 91, 47)
+
+ // ShiftLeft
+
+ ShiftLeft(Local0, i000)
+ CH06(arg0, 92, 47)
+
+ ShiftLeft(i000, Local0)
+ CH06(arg0, 93, 47)
+
+ ShiftLeft(Local0, i000, Local1)
+ CH06(arg0, 94, 47)
+
+ ShiftLeft(i000, Local0, Local1)
+ CH06(arg0, 95, 47)
+
+ // ShiftRight
+
+ ShiftRight(Local0, i000)
+ CH06(arg0, 96, 47)
+
+ ShiftRight(i000, Local0)
+ CH06(arg0, 97, 47)
+
+ ShiftRight(Local0, i000, Local1)
+ CH06(arg0, 98, 47)
+
+ ShiftRight(i000, Local0, Local1)
+ CH06(arg0, 99, 47)
+
+ // Subtract
+
+ Subtract(Local0, i000)
+ CH06(arg0, 100, 47)
+
+ Subtract(i000, Local0)
+ CH06(arg0, 101, 47)
+
+ Subtract(Local0, i000, Local1)
+ CH06(arg0, 102, 47)
+
+ Subtract(i000, Local0, Local1)
+ CH06(arg0, 103, 47)
+
+ // ToString
+
+ ToString(Local0, 1)
+ CH06(arg0, 104, 47)
+
+ ToString(i000, Local0)
+ CH06(arg0, 105, 47)
+
+ ToString(Local0, 1, Local1)
+ CH06(arg0, 106, 47)
+
+ ToString(i000, Local0, Local1)
+ CH06(arg0, 107, 47)
+
+ // Wait
+
+ Wait(Local0, i000)
+ CH06(arg0, 108, 47)
+
+ Wait(e000, Local0)
+ CH06(arg0, 109, 47)
+
+ // XOr
+
+ XOr(Local0, i000)
+ CH06(arg0, 110, 47)
+
+ XOr(i000, Local0)
+ CH06(arg0, 111, 47)
+
+ XOr(Local0, i000, Local1)
+ CH06(arg0, 112, 47)
+
+ XOr(i000, Local0, Local1)
+ CH06(arg0, 113, 47)
+
+ // Mid
+
+ Mid(Local0, 1, 1)
+ CH06(arg0, 114, 47)
+
+ Mid("123", Local0, 1)
+ CH06(arg0, 115, 47)
+
+ Mid("123", 1, Local0)
+ CH06(arg0, 116, 47)
+
+ Mid(Local0, 1, 1, Local1)
+ CH06(arg0, 117, 47)
+
+ Mid("123", Local0, 1, Local1)
+ CH06(arg0, 118, 47)
+
+ Mid("123", 1, Local0, Local1)
+ CH06(arg0, 119, 47)
+
+ // Match
+
+ Match(Local0, MTR, 0, MTR, 0, 0)
+ CH06(arg0, 120, 47)
+
+ Match(Package(){1}, MTR, Local0, MTR, 0, 0)
+ CH06(arg0, 121, 47)
+
+ Match(Package(){1}, MTR, 0, MTR, Local0, 0)
+ CH06(arg0, 122, 47)
+
+ Match(Package(){1}, MTR, 0, MTR, 0, Local0)
+ CH06(arg0, 123, 47)
+ }
+
+ // Reference to Object
+ Method(m003, 2)
+ {
+ Store(ObjectType(arg1), Local0)
+ if (LNotEqual(Local0, 8)) {
+ err(arg0, z100, 200, 0, 0, Local0, 8)
+ return (1)
+ }
+
+ DeRefOf(arg1)
+ CH03(ts, z100, 5, 0, 0)
+
+ // CondRefOf
+
+ CondRefOf(DeRefOf(arg1))
+ CH06(arg0, 0, 47)
+
+ CondRefOf(DeRefOf(arg1), Local1)
+ CH06(arg0, 1, 47)
+
+ // CopyObject
+
+ CopyObject(DeRefOf(arg1), Local1)
+ CH03(ts, z100, 2, 0, 0)
+
+ // Decrement
+
+ Decrement(DeRefOf(arg1))
+ CH06(arg0, 3, 47)
+
+ // DerefOf
+
+ DerefOf(DeRefOf(arg1))
+ CH06(arg0, 4, 47)
+
+ // FindSetLeftBit
+
+ FindSetLeftBit(DeRefOf(arg1))
+ CH06(arg0, 5, 47)
+
+ FindSetLeftBit(DeRefOf(arg1), Local1)
+ CH06(arg0, 6, 47)
+
+ // FindSetRightBit
+
+ FindSetRightBit(DeRefOf(arg1))
+ CH06(arg0, 7, 47)
+
+ FindSetRightBit(DeRefOf(arg1), Local1)
+ CH06(arg0, 8, 47)
+
+ // FromBCD
+
+ FromBCD(DeRefOf(arg1))
+ CH06(arg0, 9, 47)
+
+ FromBCD(DeRefOf(arg1), Local1)
+ CH06(arg0, 10, 47)
+
+ // Increment
+
+ Increment(DeRefOf(arg1))
+ CH06(arg0, 11, 47)
+
+ // LNot
+
+ LNot(DeRefOf(arg1))
+ CH06(arg0, 12, 47)
+
+ // Not
+
+ Not(DeRefOf(arg1))
+ CH06(arg0, 13, 47)
+
+ Not(DeRefOf(arg1), Local1)
+ CH06(arg0, 14, 47)
+
+ // ObjectType
+
+ ObjectType(DeRefOf(arg1))
+ CH03(ts, z100, 6, 0, 0)
+
+ // RefOf
+
+ RefOf(DeRefOf(arg1))
+ CH06(arg0, 15, 47)
+
+ // Release
+
+ // Reset
+
+ // Signal
+
+ // SizeOf
+
+ SizeOf(DeRefOf(arg1))
+ CH06(arg0, 16, 47)
+
+ // Sleep
+
+ Sleep(DeRefOf(arg1))
+ CH06(arg0, 17, 47)
+
+ // Stall
+
+ Stall(DeRefOf(arg1))
+ CH06(arg0, 18, 47)
+
+ // Store
+
+ Store(DeRefOf(arg1), Local1)
+ CH06(arg0, 19, 47)
+
+ // ToBCD
+
+ ToBCD(DeRefOf(arg1))
+ CH06(arg0, 20, 47)
+
+ ToBCD(DeRefOf(arg1), Local1)
+ CH06(arg0, 21, 47)
+
+ // ToBuffer
+
+ ToBuffer(DeRefOf(arg1))
+ CH06(arg0, 22, 47)
+
+ ToBuffer(DeRefOf(arg1), Local1)
+ CH06(arg0, 23, 47)
+
+ // ToDecimalString
+
+ ToDecimalString(DeRefOf(arg1))
+ CH06(arg0, 24, 47)
+
+ ToDecimalString(DeRefOf(arg1), Local1)
+ CH06(arg0, 25, 47)
+
+ // ToHexString
+
+ ToHexString(DeRefOf(arg1))
+ CH06(arg0, 26, 47)
+
+ ToHexString(DeRefOf(arg1), Local1)
+ CH06(arg0, 27, 47)
+
+ // ToInteger
+
+ ToInteger(DeRefOf(arg1))
+ CH06(arg0, 28, 47)
+
+ ToInteger(DeRefOf(arg1), Local1)
+ CH06(arg0, 29, 47)
+
+ // Acquire
+
+ // Add
+
+ Add(DeRefOf(arg1), i000)
+ CH06(arg0, 31, 47)
+
+ Add(i000, DeRefOf(arg1))
+ CH06(arg0, 32, 47)
+
+ Add(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 33, 47)
+
+ Add(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 34, 47)
+
+ // And
+
+ And(DeRefOf(arg1), i000)
+ CH06(arg0, 35, 47)
+
+ And(i000, DeRefOf(arg1))
+ CH06(arg0, 36, 47)
+
+ And(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 37, 47)
+
+ And(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 38, 47)
+
+ // Concatenate
+
+ Concatenate(DeRefOf(arg1), i000)
+ CH06(arg0, 39, 47)
+
+ Concatenate(i000, DeRefOf(arg1))
+ CH06(arg0, 40, 47)
+
+ Concatenate(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 41, 47)
+
+ Concatenate(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 42, 47)
+
+ // ConcatenateResTemplate
+
+ ConcatenateResTemplate(DeRefOf(arg1), ResourceTemplate(){})
+ CH06(arg0, 43, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, DeRefOf(arg1))
+ CH06(arg0, 44, 47)
+
+ ConcatenateResTemplate(DeRefOf(arg1), ResourceTemplate(){}, Local1)
+ CH06(arg0, 45, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, DeRefOf(arg1), Local1)
+ CH06(arg0, 46, 47)
+
+ // Divide
+
+ Divide(DeRefOf(arg1), i000)
+ CH06(arg0, 47, 47)
+
+ Divide(i000, DeRefOf(arg1))
+ CH06(arg0, 48, 47)
+
+ Divide(DeRefOf(arg1), i000, Local2)
+ CH06(arg0, 49, 47)
+
+ Divide(i000, DeRefOf(arg1), Local2)
+ CH06(arg0, 50, 47)
+
+ Divide(DeRefOf(arg1), i000, Local2, Local1)
+ CH06(arg0, 51, 47)
+
+ Divide(i000, DeRefOf(arg1), Local2, Local1)
+ CH06(arg0, 52, 47)
+
+ // Fatal
+
+ Fatal(0xff, 0xffffffff, DeRefOf(arg1))
+ CH06(arg0, 53, 47)
+
+ // Index
+
+ Index(DeRefOf(arg1), 0)
+ CH06(arg0, 54, 47)
+
+ Index("0", DeRefOf(arg1))
+ CH06(arg0, 55, 47)
+
+ Index(DeRefOf(arg1), 0, Local1)
+ CH06(arg0, 56, 47)
+
+ Index("0", DeRefOf(arg1), Local1)
+ CH06(arg0, 57, 47)
+
+ // LEqual
+
+ LEqual(DeRefOf(arg1), i000)
+ CH06(arg0, 58, 47)
+
+ LEqual(i000, DeRefOf(arg1))
+ CH06(arg0, 59, 47)
+
+ // LGreater
+
+ LGreater(DeRefOf(arg1), i000)
+ CH06(arg0, 60, 47)
+
+ LGreater(i000, DeRefOf(arg1))
+ CH06(arg0, 61, 47)
+
+ // LGreaterEqual
+
+ LGreaterEqual(DeRefOf(arg1), i000)
+ CH06(arg0, 62, 0xff)
+
+ LGreaterEqual(i000, DeRefOf(arg1))
+ CH06(arg0, 63, 0xff)
+
+ // LLess
+
+ LLess(DeRefOf(arg1), i000)
+ CH06(arg0, 64, 47)
+
+ LLess(i000, DeRefOf(arg1))
+ CH06(arg0, 65, 47)
+
+ // LLessEqual
+
+ LLessEqual(DeRefOf(arg1), i000)
+ CH06(arg0, 66, 0xff)
+
+ LLessEqual(i000, DeRefOf(arg1))
+ CH06(arg0, 67, 0xff)
+
+ // LNotEqual
+
+ LNotEqual(DeRefOf(arg1), i000)
+ CH06(arg0, 68, 0xff)
+
+ LNotEqual(i000, DeRefOf(arg1))
+ CH06(arg0, 69, 0xff)
+
+ // LOr
+
+ LOr(DeRefOf(arg1), i000)
+ CH06(arg0, 70, 47)
+
+ LOr(i000, DeRefOf(arg1))
+ CH06(arg0, 71, 47)
+
+ // Mod
+
+ Mod(DeRefOf(arg1), i000)
+ CH06(arg0, 72, 47)
+
+ Mod(i000, DeRefOf(arg1))
+ CH06(arg0, 73, 47)
+
+ Mod(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 74, 47)
+
+ Mod(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 75, 47)
+
+ // Multiply
+
+ Multiply(DeRefOf(arg1), i000)
+ CH06(arg0, 76, 47)
+
+ Multiply(i000, DeRefOf(arg1))
+ CH06(arg0, 77, 47)
+
+ Multiply(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 78, 47)
+
+ Multiply(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 79, 47)
+
+ // NAnd
+
+ NAnd(DeRefOf(arg1), i000)
+ CH06(arg0, 80, 47)
+
+ NAnd(i000, DeRefOf(arg1))
+ CH06(arg0, 81, 47)
+
+ NAnd(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 82, 47)
+
+ NAnd(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 83, 47)
+
+ // NOr
+
+ NOr(DeRefOf(arg1), i000)
+ CH06(arg0, 84, 47)
+
+ NOr(i000, DeRefOf(arg1))
+ CH06(arg0, 85, 47)
+
+ NOr(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 86, 47)
+
+ NOr(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 87, 47)
+
+ // Or
+
+ Or(DeRefOf(arg1), i000)
+ CH06(arg0, 88, 47)
+
+ Or(i000, DeRefOf(arg1))
+ CH06(arg0, 89, 47)
+
+ Or(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 90, 47)
+
+ Or(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 91, 47)
+
+ // ShiftLeft
+
+ ShiftLeft(DeRefOf(arg1), i000)
+ CH06(arg0, 92, 47)
+
+ ShiftLeft(i000, DeRefOf(arg1))
+ CH06(arg0, 93, 47)
+
+ ShiftLeft(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 94, 47)
+
+ ShiftLeft(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 95, 47)
+
+ // ShiftRight
+
+ ShiftRight(DeRefOf(arg1), i000)
+ CH06(arg0, 96, 47)
+
+ ShiftRight(i000, DeRefOf(arg1))
+ CH06(arg0, 97, 47)
+
+ ShiftRight(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 98, 47)
+
+ ShiftRight(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 99, 47)
+
+ // Subtract
+
+ Subtract(DeRefOf(arg1), i000)
+ CH06(arg0, 100, 47)
+
+ Subtract(i000, DeRefOf(arg1))
+ CH06(arg0, 101, 47)
+
+ Subtract(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 102, 47)
+
+ Subtract(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 103, 47)
+
+ // ToString
+
+ ToString(DeRefOf(arg1), 1)
+ CH06(arg0, 104, 47)
+
+ ToString(i000, DeRefOf(arg1))
+ CH06(arg0, 105, 47)
+
+ ToString(DeRefOf(arg1), 1, Local1)
+ CH06(arg0, 106, 47)
+
+ ToString(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 107, 47)
+
+ // Wait
+
+ Wait(e000, DeRefOf(arg1))
+ CH06(arg0, 109, 47)
+
+ // XOr
+
+ XOr(DeRefOf(arg1), i000)
+ CH06(arg0, 110, 47)
+
+ XOr(i000, DeRefOf(arg1))
+ CH06(arg0, 111, 47)
+
+ XOr(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 112, 47)
+
+ XOr(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 113, 47)
+
+ // Mid
+
+ Mid(DeRefOf(arg1), 1, 1)
+ CH06(arg0, 114, 47)
+
+ Mid("123", DeRefOf(arg1), 1)
+ CH06(arg0, 115, 47)
+
+ Mid("123", 1, DeRefOf(arg1))
+ CH06(arg0, 116, 47)
+
+ Mid(DeRefOf(arg1), 1, 1, Local1)
+ CH06(arg0, 117, 47)
+
+ Mid("123", DeRefOf(arg1), 1, Local1)
+ CH06(arg0, 118, 47)
+
+ Mid("123", 1, DeRefOf(arg1), Local1)
+ CH06(arg0, 119, 47)
+
+ // Match
+
+ Match(DeRefOf(arg1), MTR, 0, MTR, 0, 0)
+ CH06(arg0, 120, 47)
+
+ Match(Package(){1}, MTR, DeRefOf(arg1), MTR, 0, 0)
+ CH06(arg0, 121, 47)
+
+ Match(Package(){1}, MTR, 0, MTR, DeRefOf(arg1), 0)
+ CH06(arg0, 122, 47)
+
+ Match(Package(){1}, MTR, 0, MTR, 0, DeRefOf(arg1))
+ CH06(arg0, 123, 47)
+
+ return (0)
+ }
+
+ // Result of Method invocation
+ Method(m004, 1)
+ {
+ Name(i000, 0) // Label to check m000 invocations
+
+ Method(m000)
+ {
+ CopyObject(Derefof(Refof(m4f0)), Local0)
+ Return (Local0)
+ }
+
+ // CondRefOf
+
+ if (y601) {
+ CondRefOf(m000())
+ CH06(arg0, 0, 47)
+
+ CondRefOf(m000(), Local1)
+ CH06(arg0, 1, 47)
+ }
+
+ // CopyObject
+
+ CopyObject(m000(), Local1)
+ CH03(ts, z100, 7, 0, 0)
+
+ // Decrement
+
+ Decrement(m000())
+ CH06(arg0, 2, 47)
+
+ // DerefOf
+
+ DerefOf(m000())
+ CH06(arg0, 3, 47)
+
+ // FindSetLeftBit
+
+ FindSetLeftBit(m000())
+ CH06(arg0, 4, 47)
+
+ FindSetLeftBit(m000(), Local1)
+ CH06(arg0, 5, 47)
+
+ // FindSetRightBit
+
+ FindSetRightBit(m000())
+ CH06(arg0, 6, 47)
+
+ FindSetRightBit(m000(), Local1)
+ CH06(arg0, 7, 47)
+
+ // FromBCD
+
+ FromBCD(m000())
+ CH06(arg0, 8, 47)
+
+ FromBCD(m000(), Local1)
+ CH06(arg0, 9, 47)
+
+ // Increment
+
+ Increment(m000())
+ CH06(arg0, 10, 47)
+
+ // LNot
+
+ LNot(m000())
+ CH06(arg0, 11, 47)
+
+ // Not
+
+ Not(m000())
+ CH06(arg0, 12, 47)
+
+ Not(m000(), Local1)
+ CH06(arg0, 13, 47)
+
+ // ObjectType
+
+ ObjectType(m000())
+ CH03(ts, z100, 8, 0, 0)
+
+ // RefOf
+
+ if (y601) {
+ RefOf(m000())
+ CH06(arg0, 14, 47)
+ }
+
+ // Release
+
+ Release(m000())
+ CH06(arg0, 13, 47)
+
+ // Reset
+
+ Reset(m000())
+ CH06(arg0, 14, 47)
+
+ // Signal
+
+ Signal(m000())
+ CH06(arg0, 15, 47)
+
+ // SizeOf
+
+ SizeOf(m000())
+ CH06(arg0, 16, 47)
+
+ // Sleep
+
+ Sleep(m000())
+ CH06(arg0, 17, 47)
+
+ // Stall
+
+ Stall(m000())
+ CH06(arg0, 18, 47)
+
+ // Store
+
+ Store(m000(), Local1)
+ CH06(arg0, 19, 47)
+
+ // ToBCD
+
+ ToBCD(m000())
+ CH06(arg0, 20, 47)
+
+ ToBCD(m000(), Local1)
+ CH06(arg0, 21, 47)
+
+ // ToBuffer
+
+ ToBuffer(m000())
+ CH06(arg0, 22, 47)
+
+ ToBuffer(m000(), Local1)
+ CH06(arg0, 23, 47)
+
+ // ToDecimalString
+
+ ToDecimalString(m000())
+ CH06(arg0, 24, 47)
+
+ ToDecimalString(m000(), Local1)
+ CH06(arg0, 25, 47)
+
+ // ToHexString
+
+ ToHexString(m000())
+ CH06(arg0, 26, 47)
+
+ ToHexString(m000(), Local1)
+ CH06(arg0, 27, 47)
+
+ // ToInteger
+
+ ToInteger(m000())
+ CH06(arg0, 28, 47)
+
+ ToInteger(m000(), Local1)
+ CH06(arg0, 29, 47)
+
+ // Acquire
+
+ Acquire(m000(), 100)
+ CH06(arg0, 30, 47)
+
+ // Add
+
+ Add(m000(), i000)
+ CH06(arg0, 31, 47)
+
+ Add(i000, m000())
+ CH06(arg0, 32, 47)
+
+ Add(m000(), i000, Local1)
+ CH06(arg0, 33, 47)
+
+ Add(i000, m000(), Local1)
+ CH06(arg0, 34, 47)
+
+ // And
+
+ And(m000(), i000)
+ CH06(arg0, 35, 47)
+
+ And(i000, m000())
+ CH06(arg0, 36, 47)
+
+ And(m000(), i000, Local1)
+ CH06(arg0, 37, 47)
+
+ And(i000, m000(), Local1)
+ CH06(arg0, 38, 47)
+
+ // Concatenate
+
+ Concatenate(m000(), i000)
+ CH06(arg0, 39, 47)
+
+ Concatenate(i000, m000())
+ CH06(arg0, 40, 47)
+
+ Concatenate(m000(), i000, Local1)
+ CH06(arg0, 41, 47)
+
+ Concatenate(i000, m000(), Local1)
+ CH06(arg0, 42, 47)
+
+ // ConcatenateResTemplate
+
+ ConcatenateResTemplate(m000(), ResourceTemplate(){})
+ CH06(arg0, 43, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, m000())
+ CH06(arg0, 44, 47)
+
+ ConcatenateResTemplate(m000(), ResourceTemplate(){}, Local1)
+ CH06(arg0, 45, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, m000(), Local1)
+ CH06(arg0, 46, 47)
+
+ // Divide
+
+ Divide(m000(), i000)
+ CH06(arg0, 47, 47)
+
+ Divide(i000, m000())
+ CH06(arg0, 48, 47)
+
+ Divide(m000(), i000, Local2)
+ CH06(arg0, 49, 47)
+
+ Divide(i000, m000(), Local2)
+ CH06(arg0, 50, 47)
+
+ Divide(m000(), i000, Local2, Local1)
+ CH06(arg0, 51, 47)
+
+ Divide(i000, m000(), Local2, Local1)
+ CH06(arg0, 52, 47)
+
+ // Fatal
+
+ Fatal(0xff, 0xffffffff, m000())
+ CH06(arg0, 53, 47)
+
+ // Index
+
+ Index(m000(), 0)
+ CH06(arg0, 54, 47)
+
+ Index("0", m000())
+ CH06(arg0, 55, 47)
+
+ Index(m000(), 0, Local1)
+ CH06(arg0, 56, 47)
+
+ Index("0", m000(), Local1)
+ CH06(arg0, 57, 47)
+
+ // LEqual
+
+ LEqual(m000(), i000)
+ CH06(arg0, 58, 47)
+
+ LEqual(i000, m000())
+ CH06(arg0, 59, 47)
+
+ // LGreater
+
+ LGreater(m000(), i000)
+ CH06(arg0, 60, 47)
+
+ LGreater(i000, m000())
+ CH06(arg0, 61, 47)
+
+ // LGreaterEqual
+
+ LGreaterEqual(m000(), i000)
+ CH06(arg0, 62, 0xff)
+
+ LGreaterEqual(i000, m000())
+ CH06(arg0, 63, 0xff)
+
+ // LLess
+
+ LLess(m000(), i000)
+ CH06(arg0, 64, 47)
+
+ LLess(i000, m000())
+ CH06(arg0, 65, 47)
+
+ // LLessEqual
+
+ LLessEqual(m000(), i000)
+ CH06(arg0, 66, 0xff)
+
+ LLessEqual(i000, m000())
+ CH06(arg0, 67, 0xff)
+
+ // LNotEqual
+
+ LNotEqual(m000(), i000)
+ CH06(arg0, 68, 0xff)
+
+ LNotEqual(i000, m000())
+ CH06(arg0, 69, 0xff)
+
+ // LOr
+
+ LOr(m000(), i000)
+ CH06(arg0, 70, 47)
+
+ LOr(i000, m000())
+ CH06(arg0, 71, 47)
+
+ // Mod
+
+ Mod(m000(), i000)
+ CH06(arg0, 72, 47)
+
+ Mod(i000, m000())
+ CH06(arg0, 73, 47)
+
+ Mod(m000(), i000, Local1)
+ CH06(arg0, 74, 47)
+
+ Mod(i000, m000(), Local1)
+ CH06(arg0, 75, 47)
+
+ // Multiply
+
+ Multiply(m000(), i000)
+ CH06(arg0, 76, 47)
+
+ Multiply(i000, m000())
+ CH06(arg0, 77, 47)
+
+ Multiply(m000(), i000, Local1)
+ CH06(arg0, 78, 47)
+
+ Multiply(i000, m000(), Local1)
+ CH06(arg0, 79, 47)
+
+ // NAnd
+
+ NAnd(m000(), i000)
+ CH06(arg0, 80, 47)
+
+ NAnd(i000, m000())
+ CH06(arg0, 81, 47)
+
+ NAnd(m000(), i000, Local1)
+ CH06(arg0, 82, 47)
+
+ NAnd(i000, m000(), Local1)
+ CH06(arg0, 83, 47)
+
+ // NOr
+
+ NOr(m000(), i000)
+ CH06(arg0, 84, 47)
+
+ NOr(i000, m000())
+ CH06(arg0, 85, 47)
+
+ NOr(m000(), i000, Local1)
+ CH06(arg0, 86, 47)
+
+ NOr(i000, m000(), Local1)
+ CH06(arg0, 87, 47)
+
+ // Or
+
+ Or(m000(), i000)
+ CH06(arg0, 88, 47)
+
+ Or(i000, m000())
+ CH06(arg0, 89, 47)
+
+ Or(m000(), i000, Local1)
+ CH06(arg0, 90, 47)
+
+ Or(i000, m000(), Local1)
+ CH06(arg0, 91, 47)
+
+ // ShiftLeft
+
+ ShiftLeft(m000(), i000)
+ CH06(arg0, 92, 47)
+
+ ShiftLeft(i000, m000())
+ CH06(arg0, 93, 47)
+
+ ShiftLeft(m000(), i000, Local1)
+ CH06(arg0, 94, 47)
+
+ ShiftLeft(i000, m000(), Local1)
+ CH06(arg0, 95, 47)
+
+ // ShiftRight
+
+ ShiftRight(m000(), i000)
+ CH06(arg0, 96, 47)
+
+ ShiftRight(i000, m000())
+ CH06(arg0, 97, 47)
+
+ ShiftRight(m000(), i000, Local1)
+ CH06(arg0, 98, 47)
+
+ ShiftRight(i000, m000(), Local1)
+ CH06(arg0, 99, 47)
+
+ // Subtract
+
+ Subtract(m000(), i000)
+ CH06(arg0, 100, 47)
+
+ Subtract(i000, m000())
+ CH06(arg0, 101, 47)
+
+ Subtract(m000(), i000, Local1)
+ CH06(arg0, 102, 47)
+
+ Subtract(i000, m000(), Local1)
+ CH06(arg0, 103, 47)
+
+ // ToString
+
+ ToString(m000(), 1)
+ CH06(arg0, 104, 47)
+
+ ToString(i000, m000())
+ CH06(arg0, 105, 47)
+
+ ToString(m000(), 1, Local1)
+ CH06(arg0, 106, 47)
+
+ ToString(i000, m000(), Local1)
+ CH06(arg0, 107, 47)
+
+ // Wait
+
+ Wait(m000(), i000)
+ CH06(arg0, 108, 47)
+
+ Wait(e000, m000())
+ CH06(arg0, 109, 47)
+
+ // XOr
+
+ XOr(m000(), i000)
+ CH06(arg0, 110, 47)
+
+ XOr(i000, m000())
+ CH06(arg0, 111, 47)
+
+ XOr(m000(), i000, Local1)
+ CH06(arg0, 112, 47)
+
+ XOr(i000, m000(), Local1)
+ CH06(arg0, 113, 47)
+
+ // Mid
+
+ Mid(m000(), 1, 1)
+ CH06(arg0, 114, 47)
+
+ Mid("123", m000(), 1)
+ CH06(arg0, 115, 47)
+
+ Mid("123", 1, m000())
+ CH06(arg0, 116, 47)
+
+ Mid(m000(), 1, 1, Local1)
+ CH06(arg0, 117, 47)
+
+ Mid("123", m000(), 1, Local1)
+ CH06(arg0, 118, 47)
+
+ Mid("123", 1, m000(), Local1)
+ CH06(arg0, 119, 47)
+
+ // Match
+
+ Match(m000(), MTR, 0, MTR, 0, 0)
+ CH06(arg0, 120, 47)
+
+ Match(Package(){1}, MTR, m000(), MTR, 0, 0)
+ CH06(arg0, 121, 47)
+
+ Match(Package(){1}, MTR, 0, MTR, m000(), 0)
+ CH06(arg0, 122, 47)
+
+ Match(Package(){1}, MTR, 0, MTR, 0, m000())
+ CH06(arg0, 123, 47)
+ }
+
+ // Reference to Object as Result of Method invocation
+ Method(m005, 1)
+ {
+ Method(m4f2) {Return ("m4f2")}
+
+ Name(i000, 0) // Label to check m000 invocations
+
+ Method(m000, 2)
+ {
+ Store(arg0, i000)
+ if (LEqual(arg1, 0)) {
+ Store(Refof(m4f0), Local0)
+ } elseif (LEqual(arg1, 1)) {
+ Store(Refof(m4f2), Local0)
+ }
+ Return (Local0)
+ }
+
+ Method(CH00, 2)
+ {
+ if (LNotEqual(i000, arg1)) {
+ err(arg0, z100, 0, 0, 0, i000, arg1)
+ }
+ }
+
+ Name(lpN0, 2)
+ Name(lpC0, 0)
+
+ While (lpN0) {
+ Multiply(3, lpC0, Local0)
+
+ Store(0, i000)
+
+ DerefOf(m000(1, lpC0))
+ CH03(ts, z100, Add(9, lpC0), 0, 0)
+ CH00(arg0, 1)
+
+ DerefOf(DerefOf(m000(2, lpC0)))
+ CH06(arg0, Add(1, Local0), 47)
+ CH00(arg0, 2)
+
+ Index(DerefOf(m000(3, lpC0)), 0)
+ CH06(arg0, Add(2, Local0), 47)
+ CH00(arg0, 3)
+
+ Match(DerefOf(m000(4, lpC0)), MTR, 0, MTR, 0, 0)
+ CH06(arg0, Add(3, Local0), 47)
+ CH00(arg0, 4)
+
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+ }
+
+ SET0(z100, ts, 0)
+
+ CH03(ts, z100, 11, 0, 0)
+
+ // Local Named Object
+ m000(ts)
+
+ // Global Named Object
+ m001(ts)
+
+ // Local
+ m002(Concatenate(ts, "-m002"))
+
+ // Reference to Local Named Object
+
+ m003(Concatenate(ts, "-m003-RefLocName"), RefOf(m4f1))
+
+ Store(RefOf(m4f1), Local0)
+ m003(Concatenate(ts, "-m003-RefLocName2"), Local0)
+
+ CondRefOf(m4f1, Local0)
+ m003(Concatenate(ts, "-m003-CondRefLocName"), Local0)
+
+ m003(Concatenate(ts, "-m003-RefGlobName"), RefOf(m4f0))
+
+ Store(RefOf(m4f0), Local0)
+ m003(Concatenate(ts, "-m003-RefGlobName2"), Local0)
+
+ CondRefOf(m4f0, Local0)
+ m003(Concatenate(ts, "-m003-CondRefGlobName"), Local0)
+
+ // Reference to Object as element of Package
+
+ Name(pp00, Package(){m4f0})
+
+ if (y113) {
+ m003(Concatenate(ts, "-m003-Index"), Index(pp00, 0))
+ }
+
+ Store(Index(pp00, 0), Local1)
+ m003(Concatenate(ts, "-m003-Index2"), Local1)
+
+ if (y113) {
+ m003(Concatenate(ts, "-m003-Index3"), Index(pp00, 0, Local2))
+ }
+
+ Index(pp00, 0, Local3)
+ m003(Concatenate(ts, "-m003-Index4"), Local3)
+
+ Store(Index(pp00, 0, Local4), Local5)
+ m003(Concatenate(ts, "-m003-Index5"), Local5)
+
+ // Result of Method invocation
+ m004(Concatenate(ts, "-m004"))
+
+ // Reference to Object as Result of Method invocation
+ m005(Concatenate(ts, "-m005"))
+
+ RST0()
+}
diff --git a/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_09_mux.asl b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_09_mux.asl
new file mode 100644
index 000000000..8d2138c9e
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_09_mux.asl
@@ -0,0 +1,1678 @@
+/*
+ * 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.
+ */
+
+/*
+ * Mutex
+ *
+ * (verify exceptions caused by the imprope use of Mutex type objects)
+ */
+
+Name(z101, 101)
+
+Mutex(mx10, 0)
+
+// Expected exceptions:
+//
+// 47 - AE_AML_OPERAND_TYPE
+//
+Method(m4b9)
+{
+ Name(ts, "m4b9")
+
+ Mutex(mx01, 0)
+
+ Event(e000)
+
+ Name(i000, 0)
+
+ // Local Named Object
+ Method(m000, 1)
+ {
+ Mutex(mx02, 0)
+
+ if (y083) {
+ DerefOf(mx02)
+ CH06(arg0, 0, 47)
+ }
+ }
+
+ // Global Named Object
+ Method(m001, 1)
+ {
+ if (y083) {
+ DerefOf(mx10)
+ CH06(arg0, 1, 47)
+ }
+ }
+
+ // Local
+ Method(m002, 1)
+ {
+ Mutex(mx02, 0)
+
+ Event(e000)
+
+ CopyObject(mx02, Local0)
+
+ // CondRefOf
+
+ CondRefOf(Local0)
+ CH03(ts, z101, 0, 0, 0)
+
+ CondRefOf(Local0, Local1)
+ CH03(ts, z101, 1, 0, 0)
+
+ // CopyObject
+
+ CopyObject(Local0, Local1)
+ CH03(ts, z101, 2, 0, 0)
+
+ // Decrement
+
+ Decrement(Local0)
+ CH06(arg0, 1, 47)
+
+ // DerefOf
+
+ DerefOf(Local0)
+ CH06(arg0, 2, 47)
+
+ // FindSetLeftBit
+
+ FindSetLeftBit(Local0)
+ CH06(arg0, 3, 47)
+
+ FindSetLeftBit(Local0, Local1)
+ CH06(arg0, 4, 47)
+
+ // FindSetRightBit
+
+ FindSetRightBit(Local0)
+ CH06(arg0, 5, 47)
+
+ FindSetRightBit(Local0, Local1)
+ CH06(arg0, 6, 47)
+
+ // FromBCD
+
+ FromBCD(Local0)
+ CH06(arg0, 7, 47)
+
+ FromBCD(Local0, Local1)
+ CH06(arg0, 8, 47)
+
+ // Increment
+
+ Increment(Local0)
+ CH06(arg0, 9, 47)
+
+ // LNot
+
+ LNot(Local0)
+ CH06(arg0, 10, 47)
+
+ // Not
+
+ Not(Local0)
+ CH06(arg0, 11, 47)
+
+ Not(Local0, Local1)
+ CH06(arg0, 12, 47)
+
+ // ObjectType
+
+ ObjectType(Local0)
+ CH03(ts, z101, 3, 0, 0)
+
+ // RefOf
+
+ RefOf(Local0)
+ CH03(ts, z101, 4, 0, 0)
+
+ // Release
+
+ Release(Local0)
+ CH06(arg0, 13, 47)
+
+ // Reset
+
+ Reset(Local0)
+ CH06(arg0, 14, 47)
+
+ // Signal
+
+ Signal(Local0)
+ CH06(arg0, 15, 47)
+
+ // SizeOf
+
+ SizeOf(Local0)
+ CH06(arg0, 16, 47)
+
+ // Sleep
+
+ Sleep(Local0)
+ CH06(arg0, 17, 47)
+
+ // Stall
+
+ Stall(Local0)
+ CH06(arg0, 18, 47)
+
+ // Store
+
+ Store(Local0, Local1)
+ CH06(arg0, 19, 47)
+
+ // ToBCD
+
+ ToBCD(Local0)
+ CH06(arg0, 20, 47)
+
+ ToBCD(Local0, Local1)
+ CH06(arg0, 21, 47)
+
+ // ToBuffer
+
+ ToBuffer(Local0)
+ CH06(arg0, 22, 47)
+
+ ToBuffer(Local0, Local1)
+ CH06(arg0, 23, 47)
+
+ // ToDecimalString
+
+ ToDecimalString(Local0)
+ CH06(arg0, 24, 47)
+
+ ToDecimalString(Local0, Local1)
+ CH06(arg0, 25, 47)
+
+ // ToHexString
+
+ ToHexString(Local0)
+ CH06(arg0, 26, 47)
+
+ ToHexString(Local0, Local1)
+ CH06(arg0, 27, 47)
+
+ // ToInteger
+
+ ToInteger(Local0)
+ CH06(arg0, 28, 47)
+
+ ToInteger(Local0, Local1)
+ CH06(arg0, 29, 47)
+
+ // Acquire
+
+ Acquire(Local0, 100)
+ CH03(ts, z101, 30, 0, 0)
+
+ // Add
+
+ Add(Local0, i000)
+ CH06(arg0, 31, 47)
+
+ Add(i000, Local0)
+ CH06(arg0, 32, 47)
+
+ Add(Local0, i000, Local1)
+ CH06(arg0, 33, 47)
+
+ Add(i000, Local0, Local1)
+ CH06(arg0, 34, 47)
+
+ // And
+
+ And(Local0, i000)
+ CH06(arg0, 35, 47)
+
+ And(i000, Local0)
+ CH06(arg0, 36, 47)
+
+ And(Local0, i000, Local1)
+ CH06(arg0, 37, 47)
+
+ And(i000, Local0, Local1)
+ CH06(arg0, 38, 47)
+
+ // Concatenate
+
+ Concatenate(Local0, i000)
+ CH06(arg0, 39, 47)
+
+ Concatenate(i000, Local0)
+ CH06(arg0, 40, 47)
+
+ Concatenate(Local0, i000, Local1)
+ CH06(arg0, 41, 47)
+
+ Concatenate(i000, Local0, Local1)
+ CH06(arg0, 42, 47)
+
+ // ConcatenateResTemplate
+
+ ConcatenateResTemplate(Local0, ResourceTemplate(){})
+ CH06(arg0, 43, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, Local0)
+ CH06(arg0, 44, 47)
+
+ ConcatenateResTemplate(Local0, ResourceTemplate(){}, Local1)
+ CH06(arg0, 45, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, Local0, Local1)
+ CH06(arg0, 46, 47)
+
+ // Divide
+
+ Divide(Local0, i000)
+ CH06(arg0, 47, 47)
+
+ Divide(i000, Local0)
+ CH06(arg0, 48, 47)
+
+ Divide(Local0, i000, Local2)
+ CH06(arg0, 49, 47)
+
+ Divide(i000, Local0, Local2)
+ CH06(arg0, 50, 47)
+
+ Divide(Local0, i000, Local2, Local1)
+ CH06(arg0, 51, 47)
+
+ Divide(i000, Local0, Local2, Local1)
+ CH06(arg0, 52, 47)
+
+ // Fatal
+
+ Fatal(0xff, 0xffffffff, Local0)
+ CH06(arg0, 53, 47)
+
+ // Index
+
+ Index(Local0, 0)
+ CH06(arg0, 54, 47)
+
+ Index("0", Local0)
+ CH06(arg0, 55, 47)
+
+ Index(Local0, 0, Local1)
+ CH06(arg0, 56, 47)
+
+ Index("0", Local0, Local1)
+ CH06(arg0, 57, 47)
+
+ // LEqual
+
+ LEqual(Local0, i000)
+ CH06(arg0, 58, 47)
+
+ LEqual(i000, Local0)
+ CH06(arg0, 59, 47)
+
+ // LGreater
+
+ LGreater(Local0, i000)
+ CH06(arg0, 60, 47)
+
+ LGreater(i000, Local0)
+ CH06(arg0, 61, 47)
+
+ // LGreaterEqual
+
+ LGreaterEqual(Local0, i000)
+ CH06(arg0, 62, 0xff)
+
+ LGreaterEqual(i000, Local0)
+ CH06(arg0, 63, 0xff)
+
+ // LLess
+
+ LLess(Local0, i000)
+ CH06(arg0, 64, 47)
+
+ LLess(i000, Local0)
+ CH06(arg0, 65, 47)
+
+ // LLessEqual
+
+ LLessEqual(Local0, i000)
+ CH06(arg0, 66, 0xff)
+
+ LLessEqual(i000, Local0)
+ CH06(arg0, 67, 0xff)
+
+ // LNotEqual
+
+ LNotEqual(Local0, i000)
+ CH06(arg0, 68, 0xff)
+
+ LNotEqual(i000, Local0)
+ CH06(arg0, 69, 0xff)
+
+ // LOr
+
+ LOr(Local0, i000)
+ CH06(arg0, 70, 47)
+
+ LOr(i000, Local0)
+ CH06(arg0, 71, 47)
+
+ // Mod
+
+ Mod(Local0, i000)
+ CH06(arg0, 72, 47)
+
+ Mod(i000, Local0)
+ CH06(arg0, 73, 47)
+
+ Mod(Local0, i000, Local1)
+ CH06(arg0, 74, 47)
+
+ Mod(i000, Local0, Local1)
+ CH06(arg0, 75, 47)
+
+ // Multiply
+
+ Multiply(Local0, i000)
+ CH06(arg0, 76, 47)
+
+ Multiply(i000, Local0)
+ CH06(arg0, 77, 47)
+
+ Multiply(Local0, i000, Local1)
+ CH06(arg0, 78, 47)
+
+ Multiply(i000, Local0, Local1)
+ CH06(arg0, 79, 47)
+
+ // NAnd
+
+ NAnd(Local0, i000)
+ CH06(arg0, 80, 47)
+
+ NAnd(i000, Local0)
+ CH06(arg0, 81, 47)
+
+ NAnd(Local0, i000, Local1)
+ CH06(arg0, 82, 47)
+
+ NAnd(i000, Local0, Local1)
+ CH06(arg0, 83, 47)
+
+ // NOr
+
+ NOr(Local0, i000)
+ CH06(arg0, 84, 47)
+
+ NOr(i000, Local0)
+ CH06(arg0, 85, 47)
+
+ NOr(Local0, i000, Local1)
+ CH06(arg0, 86, 47)
+
+ NOr(i000, Local0, Local1)
+ CH06(arg0, 87, 47)
+
+ // Or
+
+ Or(Local0, i000)
+ CH06(arg0, 88, 47)
+
+ Or(i000, Local0)
+ CH06(arg0, 89, 47)
+
+ Or(Local0, i000, Local1)
+ CH06(arg0, 90, 47)
+
+ Or(i000, Local0, Local1)
+ CH06(arg0, 91, 47)
+
+ // ShiftLeft
+
+ ShiftLeft(Local0, i000)
+ CH06(arg0, 92, 47)
+
+ ShiftLeft(i000, Local0)
+ CH06(arg0, 93, 47)
+
+ ShiftLeft(Local0, i000, Local1)
+ CH06(arg0, 94, 47)
+
+ ShiftLeft(i000, Local0, Local1)
+ CH06(arg0, 95, 47)
+
+ // ShiftRight
+
+ ShiftRight(Local0, i000)
+ CH06(arg0, 96, 47)
+
+ ShiftRight(i000, Local0)
+ CH06(arg0, 97, 47)
+
+ ShiftRight(Local0, i000, Local1)
+ CH06(arg0, 98, 47)
+
+ ShiftRight(i000, Local0, Local1)
+ CH06(arg0, 99, 47)
+
+ // Subtract
+
+ Subtract(Local0, i000)
+ CH06(arg0, 100, 47)
+
+ Subtract(i000, Local0)
+ CH06(arg0, 101, 47)
+
+ Subtract(Local0, i000, Local1)
+ CH06(arg0, 102, 47)
+
+ Subtract(i000, Local0, Local1)
+ CH06(arg0, 103, 47)
+
+ // ToString
+
+ ToString(Local0, 1)
+ CH06(arg0, 104, 47)
+
+ ToString(i000, Local0)
+ CH06(arg0, 105, 47)
+
+ ToString(Local0, 1, Local1)
+ CH06(arg0, 106, 47)
+
+ ToString(i000, Local0, Local1)
+ CH06(arg0, 107, 47)
+
+ // Wait
+
+ Wait(Local0, i000)
+ CH06(arg0, 108, 47)
+
+ Wait(e000, Local0)
+ CH06(arg0, 109, 47)
+
+ // XOr
+
+ XOr(Local0, i000)
+ CH06(arg0, 110, 47)
+
+ XOr(i000, Local0)
+ CH06(arg0, 111, 47)
+
+ XOr(Local0, i000, Local1)
+ CH06(arg0, 112, 47)
+
+ XOr(i000, Local0, Local1)
+ CH06(arg0, 113, 47)
+
+ // Mid
+
+ Mid(Local0, 1, 1)
+ CH06(arg0, 114, 47)
+
+ Mid("123", Local0, 1)
+ CH06(arg0, 115, 47)
+
+ Mid("123", 1, Local0)
+ CH06(arg0, 116, 47)
+
+ Mid(Local0, 1, 1, Local1)
+ CH06(arg0, 117, 47)
+
+ Mid("123", Local0, 1, Local1)
+ CH06(arg0, 118, 47)
+
+ Mid("123", 1, Local0, Local1)
+ CH06(arg0, 119, 47)
+
+ // Match
+
+ Match(Local0, MTR, 0, MTR, 0, 0)
+ CH06(arg0, 120, 47)
+
+ Match(Package(){1}, MTR, Local0, MTR, 0, 0)
+ CH06(arg0, 121, 47)
+
+ Match(Package(){1}, MTR, 0, MTR, Local0, 0)
+ CH06(arg0, 122, 47)
+
+ Match(Package(){1}, MTR, 0, MTR, 0, Local0)
+ CH06(arg0, 123, 47)
+ }
+
+ // Reference to Object
+ Method(m003, 2)
+ {
+ Store(ObjectType(arg1), Local0)
+ if (LNotEqual(Local0, 9)) {
+ err(arg0, z101, 200, 0, 0, Local0, 9)
+ return (1)
+ }
+
+ DeRefOf(arg1)
+ CH03(ts, z101, 5, 0, 0)
+
+ // CondRefOf
+
+ CondRefOf(DeRefOf(arg1))
+ CH06(arg0, 0, 47)
+
+ CondRefOf(DeRefOf(arg1), Local1)
+ CH06(arg0, 1, 47)
+
+ // CopyObject
+
+ CopyObject(DeRefOf(arg1), Local1)
+ CH03(ts, z101, 2, 0, 0)
+
+ // Decrement
+
+ Decrement(DeRefOf(arg1))
+ CH06(arg0, 3, 47)
+
+ // DerefOf
+
+ DerefOf(DeRefOf(arg1))
+ CH06(arg0, 4, 47)
+
+ // FindSetLeftBit
+
+ FindSetLeftBit(DeRefOf(arg1))
+ CH06(arg0, 5, 47)
+
+ FindSetLeftBit(DeRefOf(arg1), Local1)
+ CH06(arg0, 6, 47)
+
+ // FindSetRightBit
+
+ FindSetRightBit(DeRefOf(arg1))
+ CH06(arg0, 7, 47)
+
+ FindSetRightBit(DeRefOf(arg1), Local1)
+ CH06(arg0, 8, 47)
+
+ // FromBCD
+
+ FromBCD(DeRefOf(arg1))
+ CH06(arg0, 9, 47)
+
+ FromBCD(DeRefOf(arg1), Local1)
+ CH06(arg0, 10, 47)
+
+ // Increment
+
+ Increment(DeRefOf(arg1))
+ CH06(arg0, 11, 47)
+
+ // LNot
+
+ LNot(DeRefOf(arg1))
+ CH06(arg0, 12, 47)
+
+ // Not
+
+ Not(DeRefOf(arg1))
+ CH06(arg0, 13, 47)
+
+ Not(DeRefOf(arg1), Local1)
+ CH06(arg0, 14, 47)
+
+ // ObjectType
+
+ ObjectType(DeRefOf(arg1))
+ CH03(ts, z101, 6, 0, 0)
+
+ // RefOf
+
+ RefOf(DeRefOf(arg1))
+ CH06(arg0, 15, 47)
+
+ // Release
+
+ // Reset
+
+ // Signal
+
+ // SizeOf
+
+ SizeOf(DeRefOf(arg1))
+ CH06(arg0, 16, 47)
+
+ // Sleep
+
+ Sleep(DeRefOf(arg1))
+ CH06(arg0, 17, 47)
+
+ // Stall
+
+ Stall(DeRefOf(arg1))
+ CH06(arg0, 18, 47)
+
+ // Store
+
+ Store(DeRefOf(arg1), Local1)
+ CH06(arg0, 19, 47)
+
+ // ToBCD
+
+ ToBCD(DeRefOf(arg1))
+ CH06(arg0, 20, 47)
+
+ ToBCD(DeRefOf(arg1), Local1)
+ CH06(arg0, 21, 47)
+
+ // ToBuffer
+
+ ToBuffer(DeRefOf(arg1))
+ CH06(arg0, 22, 47)
+
+ ToBuffer(DeRefOf(arg1), Local1)
+ CH06(arg0, 23, 47)
+
+ // ToDecimalString
+
+ ToDecimalString(DeRefOf(arg1))
+ CH06(arg0, 24, 47)
+
+ ToDecimalString(DeRefOf(arg1), Local1)
+ CH06(arg0, 25, 47)
+
+ // ToHexString
+
+ ToHexString(DeRefOf(arg1))
+ CH06(arg0, 26, 47)
+
+ ToHexString(DeRefOf(arg1), Local1)
+ CH06(arg0, 27, 47)
+
+ // ToInteger
+
+ ToInteger(DeRefOf(arg1))
+ CH06(arg0, 28, 47)
+
+ ToInteger(DeRefOf(arg1), Local1)
+ CH06(arg0, 29, 47)
+
+ // Acquire
+
+ // Add
+
+ Add(DeRefOf(arg1), i000)
+ CH06(arg0, 31, 47)
+
+ Add(i000, DeRefOf(arg1))
+ CH06(arg0, 32, 47)
+
+ Add(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 33, 47)
+
+ Add(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 34, 47)
+
+ // And
+
+ And(DeRefOf(arg1), i000)
+ CH06(arg0, 35, 47)
+
+ And(i000, DeRefOf(arg1))
+ CH06(arg0, 36, 47)
+
+ And(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 37, 47)
+
+ And(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 38, 47)
+
+ // Concatenate
+
+ Concatenate(DeRefOf(arg1), i000)
+ CH06(arg0, 39, 47)
+
+ Concatenate(i000, DeRefOf(arg1))
+ CH06(arg0, 40, 47)
+
+ Concatenate(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 41, 47)
+
+ Concatenate(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 42, 47)
+
+ // ConcatenateResTemplate
+
+ ConcatenateResTemplate(DeRefOf(arg1), ResourceTemplate(){})
+ CH06(arg0, 43, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, DeRefOf(arg1))
+ CH06(arg0, 44, 47)
+
+ ConcatenateResTemplate(DeRefOf(arg1), ResourceTemplate(){}, Local1)
+ CH06(arg0, 45, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, DeRefOf(arg1), Local1)
+ CH06(arg0, 46, 47)
+
+ // Divide
+
+ Divide(DeRefOf(arg1), i000)
+ CH06(arg0, 47, 47)
+
+ Divide(i000, DeRefOf(arg1))
+ CH06(arg0, 48, 47)
+
+ Divide(DeRefOf(arg1), i000, Local2)
+ CH06(arg0, 49, 47)
+
+ Divide(i000, DeRefOf(arg1), Local2)
+ CH06(arg0, 50, 47)
+
+ Divide(DeRefOf(arg1), i000, Local2, Local1)
+ CH06(arg0, 51, 47)
+
+ Divide(i000, DeRefOf(arg1), Local2, Local1)
+ CH06(arg0, 52, 47)
+
+ // Fatal
+
+ Fatal(0xff, 0xffffffff, DeRefOf(arg1))
+ CH06(arg0, 53, 47)
+
+ // Index
+
+ Index(DeRefOf(arg1), 0)
+ CH06(arg0, 54, 47)
+
+ Index("0", DeRefOf(arg1))
+ CH06(arg0, 55, 47)
+
+ Index(DeRefOf(arg1), 0, Local1)
+ CH06(arg0, 56, 47)
+
+ Index("0", DeRefOf(arg1), Local1)
+ CH06(arg0, 57, 47)
+
+ // LEqual
+
+ LEqual(DeRefOf(arg1), i000)
+ CH06(arg0, 58, 47)
+
+ LEqual(i000, DeRefOf(arg1))
+ CH06(arg0, 59, 47)
+
+ // LGreater
+
+ LGreater(DeRefOf(arg1), i000)
+ CH06(arg0, 60, 47)
+
+ LGreater(i000, DeRefOf(arg1))
+ CH06(arg0, 61, 47)
+
+ // LGreaterEqual
+
+ LGreaterEqual(DeRefOf(arg1), i000)
+ CH06(arg0, 62, 0xff)
+
+ LGreaterEqual(i000, DeRefOf(arg1))
+ CH06(arg0, 63, 0xff)
+
+ // LLess
+
+ LLess(DeRefOf(arg1), i000)
+ CH06(arg0, 64, 47)
+
+ LLess(i000, DeRefOf(arg1))
+ CH06(arg0, 65, 47)
+
+ // LLessEqual
+
+ LLessEqual(DeRefOf(arg1), i000)
+ CH06(arg0, 66, 0xff)
+
+ LLessEqual(i000, DeRefOf(arg1))
+ CH06(arg0, 67, 0xff)
+
+ // LNotEqual
+
+ LNotEqual(DeRefOf(arg1), i000)
+ CH06(arg0, 68, 0xff)
+
+ LNotEqual(i000, DeRefOf(arg1))
+ CH06(arg0, 69, 0xff)
+
+ // LOr
+
+ LOr(DeRefOf(arg1), i000)
+ CH06(arg0, 70, 47)
+
+ LOr(i000, DeRefOf(arg1))
+ CH06(arg0, 71, 47)
+
+ // Mod
+
+ Mod(DeRefOf(arg1), i000)
+ CH06(arg0, 72, 47)
+
+ Mod(i000, DeRefOf(arg1))
+ CH06(arg0, 73, 47)
+
+ Mod(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 74, 47)
+
+ Mod(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 75, 47)
+
+ // Multiply
+
+ Multiply(DeRefOf(arg1), i000)
+ CH06(arg0, 76, 47)
+
+ Multiply(i000, DeRefOf(arg1))
+ CH06(arg0, 77, 47)
+
+ Multiply(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 78, 47)
+
+ Multiply(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 79, 47)
+
+ // NAnd
+
+ NAnd(DeRefOf(arg1), i000)
+ CH06(arg0, 80, 47)
+
+ NAnd(i000, DeRefOf(arg1))
+ CH06(arg0, 81, 47)
+
+ NAnd(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 82, 47)
+
+ NAnd(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 83, 47)
+
+ // NOr
+
+ NOr(DeRefOf(arg1), i000)
+ CH06(arg0, 84, 47)
+
+ NOr(i000, DeRefOf(arg1))
+ CH06(arg0, 85, 47)
+
+ NOr(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 86, 47)
+
+ NOr(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 87, 47)
+
+ // Or
+
+ Or(DeRefOf(arg1), i000)
+ CH06(arg0, 88, 47)
+
+ Or(i000, DeRefOf(arg1))
+ CH06(arg0, 89, 47)
+
+ Or(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 90, 47)
+
+ Or(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 91, 47)
+
+ // ShiftLeft
+
+ ShiftLeft(DeRefOf(arg1), i000)
+ CH06(arg0, 92, 47)
+
+ ShiftLeft(i000, DeRefOf(arg1))
+ CH06(arg0, 93, 47)
+
+ ShiftLeft(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 94, 47)
+
+ ShiftLeft(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 95, 47)
+
+ // ShiftRight
+
+ ShiftRight(DeRefOf(arg1), i000)
+ CH06(arg0, 96, 47)
+
+ ShiftRight(i000, DeRefOf(arg1))
+ CH06(arg0, 97, 47)
+
+ ShiftRight(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 98, 47)
+
+ ShiftRight(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 99, 47)
+
+ // Subtract
+
+ Subtract(DeRefOf(arg1), i000)
+ CH06(arg0, 100, 47)
+
+ Subtract(i000, DeRefOf(arg1))
+ CH06(arg0, 101, 47)
+
+ Subtract(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 102, 47)
+
+ Subtract(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 103, 47)
+
+ // ToString
+
+ ToString(DeRefOf(arg1), 1)
+ CH06(arg0, 104, 47)
+
+ ToString(i000, DeRefOf(arg1))
+ CH06(arg0, 105, 47)
+
+ ToString(DeRefOf(arg1), 1, Local1)
+ CH06(arg0, 106, 47)
+
+ ToString(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 107, 47)
+
+ // Wait
+
+ Wait(e000, DeRefOf(arg1))
+ CH06(arg0, 109, 47)
+
+ // XOr
+
+ XOr(DeRefOf(arg1), i000)
+ CH06(arg0, 110, 47)
+
+ XOr(i000, DeRefOf(arg1))
+ CH06(arg0, 111, 47)
+
+ XOr(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 112, 47)
+
+ XOr(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 113, 47)
+
+ // Mid
+
+ Mid(DeRefOf(arg1), 1, 1)
+ CH06(arg0, 114, 47)
+
+ Mid("123", DeRefOf(arg1), 1)
+ CH06(arg0, 115, 47)
+
+ Mid("123", 1, DeRefOf(arg1))
+ CH06(arg0, 116, 47)
+
+ Mid(DeRefOf(arg1), 1, 1, Local1)
+ CH06(arg0, 117, 47)
+
+ Mid("123", DeRefOf(arg1), 1, Local1)
+ CH06(arg0, 118, 47)
+
+ Mid("123", 1, DeRefOf(arg1), Local1)
+ CH06(arg0, 119, 47)
+
+ // Match
+
+ Match(DeRefOf(arg1), MTR, 0, MTR, 0, 0)
+ CH06(arg0, 120, 47)
+
+ Match(Package(){1}, MTR, DeRefOf(arg1), MTR, 0, 0)
+ CH06(arg0, 121, 47)
+
+ Match(Package(){1}, MTR, 0, MTR, DeRefOf(arg1), 0)
+ CH06(arg0, 122, 47)
+
+ Match(Package(){1}, MTR, 0, MTR, 0, DeRefOf(arg1))
+ CH06(arg0, 123, 47)
+
+ return (0)
+ }
+
+ // Result of Method invocation
+ Method(m004, 1)
+ {
+ Name(i000, 0) // Label to check m000 invocations
+
+ Method(m000)
+ {
+ CopyObject(mx10, Local0)
+ Return (Local0)
+ }
+
+ // CondRefOf
+
+ if (y601) {
+ CondRefOf(m000())
+ CH06(arg0, 0, 47)
+
+ CondRefOf(m000(), Local1)
+ CH06(arg0, 1, 47)
+ }
+
+ // CopyObject
+
+ CopyObject(m000(), Local1)
+ CH03(ts, z101, 7, 0, 0)
+
+ // Decrement
+
+ Decrement(m000())
+ CH06(arg0, 2, 47)
+
+ // DerefOf
+
+ DerefOf(m000())
+ CH06(arg0, 3, 47)
+
+ // FindSetLeftBit
+
+ FindSetLeftBit(m000())
+ CH06(arg0, 4, 47)
+
+ FindSetLeftBit(m000(), Local1)
+ CH06(arg0, 5, 47)
+
+ // FindSetRightBit
+
+ FindSetRightBit(m000())
+ CH06(arg0, 6, 47)
+
+ FindSetRightBit(m000(), Local1)
+ CH06(arg0, 7, 47)
+
+ // FromBCD
+
+ FromBCD(m000())
+ CH06(arg0, 8, 47)
+
+ FromBCD(m000(), Local1)
+ CH06(arg0, 9, 47)
+
+ // Increment
+
+ Increment(m000())
+ CH06(arg0, 10, 47)
+
+ // LNot
+
+ LNot(m000())
+ CH06(arg0, 11, 47)
+
+ // Not
+
+ Not(m000())
+ CH06(arg0, 12, 47)
+
+ Not(m000(), Local1)
+ CH06(arg0, 13, 47)
+
+ // ObjectType
+
+ ObjectType(m000())
+ CH03(ts, z101, 8, 0, 0)
+
+ // RefOf
+
+ if (y601) {
+ RefOf(m000())
+ CH06(arg0, 14, 47)
+ }
+
+ // Release
+
+ Release(m000())
+ CH06(arg0, 13, 47)
+
+ // Reset
+
+ Reset(m000())
+ CH06(arg0, 14, 47)
+
+ // Signal
+
+ Signal(m000())
+ CH06(arg0, 15, 47)
+
+ // SizeOf
+
+ SizeOf(m000())
+ CH06(arg0, 16, 47)
+
+ // Sleep
+
+ Sleep(m000())
+ CH06(arg0, 17, 47)
+
+ // Stall
+
+ Stall(m000())
+ CH06(arg0, 18, 47)
+
+ // Store
+
+ Store(m000(), Local1)
+ CH06(arg0, 19, 47)
+
+ // ToBCD
+
+ ToBCD(m000())
+ CH06(arg0, 20, 47)
+
+ ToBCD(m000(), Local1)
+ CH06(arg0, 21, 47)
+
+ // ToBuffer
+
+ ToBuffer(m000())
+ CH06(arg0, 22, 47)
+
+ ToBuffer(m000(), Local1)
+ CH06(arg0, 23, 47)
+
+ // ToDecimalString
+
+ ToDecimalString(m000())
+ CH06(arg0, 24, 47)
+
+ ToDecimalString(m000(), Local1)
+ CH06(arg0, 25, 47)
+
+ // ToHexString
+
+ ToHexString(m000())
+ CH06(arg0, 26, 47)
+
+ ToHexString(m000(), Local1)
+ CH06(arg0, 27, 47)
+
+ // ToInteger
+
+ ToInteger(m000())
+ CH06(arg0, 28, 47)
+
+ ToInteger(m000(), Local1)
+ CH06(arg0, 29, 47)
+
+ // Acquire
+
+ Acquire(m000(), 100)
+ CH06(arg0, 30, 47)
+
+ // Add
+
+ Add(m000(), i000)
+ CH06(arg0, 31, 47)
+
+ Add(i000, m000())
+ CH06(arg0, 32, 47)
+
+ Add(m000(), i000, Local1)
+ CH06(arg0, 33, 47)
+
+ Add(i000, m000(), Local1)
+ CH06(arg0, 34, 47)
+
+ // And
+
+ And(m000(), i000)
+ CH06(arg0, 35, 47)
+
+ And(i000, m000())
+ CH06(arg0, 36, 47)
+
+ And(m000(), i000, Local1)
+ CH06(arg0, 37, 47)
+
+ And(i000, m000(), Local1)
+ CH06(arg0, 38, 47)
+
+ // Concatenate
+
+ Concatenate(m000(), i000)
+ CH06(arg0, 39, 47)
+
+ Concatenate(i000, m000())
+ CH06(arg0, 40, 47)
+
+ Concatenate(m000(), i000, Local1)
+ CH06(arg0, 41, 47)
+
+ Concatenate(i000, m000(), Local1)
+ CH06(arg0, 42, 47)
+
+ // ConcatenateResTemplate
+
+ ConcatenateResTemplate(m000(), ResourceTemplate(){})
+ CH06(arg0, 43, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, m000())
+ CH06(arg0, 44, 47)
+
+ ConcatenateResTemplate(m000(), ResourceTemplate(){}, Local1)
+ CH06(arg0, 45, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, m000(), Local1)
+ CH06(arg0, 46, 47)
+
+ // Divide
+
+ Divide(m000(), i000)
+ CH06(arg0, 47, 47)
+
+ Divide(i000, m000())
+ CH06(arg0, 48, 47)
+
+ Divide(m000(), i000, Local2)
+ CH06(arg0, 49, 47)
+
+ Divide(i000, m000(), Local2)
+ CH06(arg0, 50, 47)
+
+ Divide(m000(), i000, Local2, Local1)
+ CH06(arg0, 51, 47)
+
+ Divide(i000, m000(), Local2, Local1)
+ CH06(arg0, 52, 47)
+
+ // Fatal
+
+ Fatal(0xff, 0xffffffff, m000())
+ CH06(arg0, 53, 47)
+
+ // Index
+
+ Index(m000(), 0)
+ CH06(arg0, 54, 47)
+
+ Index("0", m000())
+ CH06(arg0, 55, 47)
+
+ Index(m000(), 0, Local1)
+ CH06(arg0, 56, 47)
+
+ Index("0", m000(), Local1)
+ CH06(arg0, 57, 47)
+
+ // LEqual
+
+ LEqual(m000(), i000)
+ CH06(arg0, 58, 47)
+
+ LEqual(i000, m000())
+ CH06(arg0, 59, 47)
+
+ // LGreater
+
+ LGreater(m000(), i000)
+ CH06(arg0, 60, 47)
+
+ LGreater(i000, m000())
+ CH06(arg0, 61, 47)
+
+ // LGreaterEqual
+
+ LGreaterEqual(m000(), i000)
+ CH06(arg0, 62, 0xff)
+
+ LGreaterEqual(i000, m000())
+ CH06(arg0, 63, 0xff)
+
+ // LLess
+
+ LLess(m000(), i000)
+ CH06(arg0, 64, 47)
+
+ LLess(i000, m000())
+ CH06(arg0, 65, 47)
+
+ // LLessEqual
+
+ LLessEqual(m000(), i000)
+ CH06(arg0, 66, 0xff)
+
+ LLessEqual(i000, m000())
+ CH06(arg0, 67, 0xff)
+
+ // LNotEqual
+
+ LNotEqual(m000(), i000)
+ CH06(arg0, 68, 0xff)
+
+ LNotEqual(i000, m000())
+ CH06(arg0, 69, 0xff)
+
+ // LOr
+
+ LOr(m000(), i000)
+ CH06(arg0, 70, 47)
+
+ LOr(i000, m000())
+ CH06(arg0, 71, 47)
+
+ // Mod
+
+ Mod(m000(), i000)
+ CH06(arg0, 72, 47)
+
+ Mod(i000, m000())
+ CH06(arg0, 73, 47)
+
+ Mod(m000(), i000, Local1)
+ CH06(arg0, 74, 47)
+
+ Mod(i000, m000(), Local1)
+ CH06(arg0, 75, 47)
+
+ // Multiply
+
+ Multiply(m000(), i000)
+ CH06(arg0, 76, 47)
+
+ Multiply(i000, m000())
+ CH06(arg0, 77, 47)
+
+ Multiply(m000(), i000, Local1)
+ CH06(arg0, 78, 47)
+
+ Multiply(i000, m000(), Local1)
+ CH06(arg0, 79, 47)
+
+ // NAnd
+
+ NAnd(m000(), i000)
+ CH06(arg0, 80, 47)
+
+ NAnd(i000, m000())
+ CH06(arg0, 81, 47)
+
+ NAnd(m000(), i000, Local1)
+ CH06(arg0, 82, 47)
+
+ NAnd(i000, m000(), Local1)
+ CH06(arg0, 83, 47)
+
+ // NOr
+
+ NOr(m000(), i000)
+ CH06(arg0, 84, 47)
+
+ NOr(i000, m000())
+ CH06(arg0, 85, 47)
+
+ NOr(m000(), i000, Local1)
+ CH06(arg0, 86, 47)
+
+ NOr(i000, m000(), Local1)
+ CH06(arg0, 87, 47)
+
+ // Or
+
+ Or(m000(), i000)
+ CH06(arg0, 88, 47)
+
+ Or(i000, m000())
+ CH06(arg0, 89, 47)
+
+ Or(m000(), i000, Local1)
+ CH06(arg0, 90, 47)
+
+ Or(i000, m000(), Local1)
+ CH06(arg0, 91, 47)
+
+ // ShiftLeft
+
+ ShiftLeft(m000(), i000)
+ CH06(arg0, 92, 47)
+
+ ShiftLeft(i000, m000())
+ CH06(arg0, 93, 47)
+
+ ShiftLeft(m000(), i000, Local1)
+ CH06(arg0, 94, 47)
+
+ ShiftLeft(i000, m000(), Local1)
+ CH06(arg0, 95, 47)
+
+ // ShiftRight
+
+ ShiftRight(m000(), i000)
+ CH06(arg0, 96, 47)
+
+ ShiftRight(i000, m000())
+ CH06(arg0, 97, 47)
+
+ ShiftRight(m000(), i000, Local1)
+ CH06(arg0, 98, 47)
+
+ ShiftRight(i000, m000(), Local1)
+ CH06(arg0, 99, 47)
+
+ // Subtract
+
+ Subtract(m000(), i000)
+ CH06(arg0, 100, 47)
+
+ Subtract(i000, m000())
+ CH06(arg0, 101, 47)
+
+ Subtract(m000(), i000, Local1)
+ CH06(arg0, 102, 47)
+
+ Subtract(i000, m000(), Local1)
+ CH06(arg0, 103, 47)
+
+ // ToString
+
+ ToString(m000(), 1)
+ CH06(arg0, 104, 47)
+
+ ToString(i000, m000())
+ CH06(arg0, 105, 47)
+
+ ToString(m000(), 1, Local1)
+ CH06(arg0, 106, 47)
+
+ ToString(i000, m000(), Local1)
+ CH06(arg0, 107, 47)
+
+ // Wait
+
+ Wait(m000(), i000)
+ CH06(arg0, 108, 47)
+
+ Wait(e000, m000())
+ CH06(arg0, 109, 47)
+
+ // XOr
+
+ XOr(m000(), i000)
+ CH06(arg0, 110, 47)
+
+ XOr(i000, m000())
+ CH06(arg0, 111, 47)
+
+ XOr(m000(), i000, Local1)
+ CH06(arg0, 112, 47)
+
+ XOr(i000, m000(), Local1)
+ CH06(arg0, 113, 47)
+
+ // Mid
+
+ Mid(m000(), 1, 1)
+ CH06(arg0, 114, 47)
+
+ Mid("123", m000(), 1)
+ CH06(arg0, 115, 47)
+
+ Mid("123", 1, m000())
+ CH06(arg0, 116, 47)
+
+ Mid(m000(), 1, 1, Local1)
+ CH06(arg0, 117, 47)
+
+ Mid("123", m000(), 1, Local1)
+ CH06(arg0, 118, 47)
+
+ Mid("123", 1, m000(), Local1)
+ CH06(arg0, 119, 47)
+
+ // Match
+
+ Match(m000(), MTR, 0, MTR, 0, 0)
+ CH06(arg0, 120, 47)
+
+ Match(Package(){1}, MTR, m000(), MTR, 0, 0)
+ CH06(arg0, 121, 47)
+
+ Match(Package(){1}, MTR, 0, MTR, m000(), 0)
+ CH06(arg0, 122, 47)
+
+ Match(Package(){1}, MTR, 0, MTR, 0, m000())
+ CH06(arg0, 123, 47)
+ }
+
+ // Reference to Object as Result of Method invocation
+ Method(m005, 1)
+ {
+ Mutex(mx02, 0)
+
+ Name(i000, 0) // Label to check m000 invocations
+
+ Method(m000, 2)
+ {
+ Store(arg0, i000)
+ if (LEqual(arg1, 0)) {
+ Store(Refof(mx10), Local0)
+ } elseif (LEqual(arg1, 1)) {
+ Store(Refof(mx02), Local0)
+ }
+ Return (Local0)
+ }
+
+ Method(CH00, 2)
+ {
+ if (LNotEqual(i000, arg1)) {
+ err(arg0, z101, 0, 0, 0, i000, arg1)
+ }
+ }
+
+ Name(lpN0, 2)
+ Name(lpC0, 0)
+
+ While (lpN0) {
+ Multiply(3, lpC0, Local0)
+
+ Store(0, i000)
+
+ DerefOf(m000(1, lpC0))
+ CH03(ts, z101, Add(9, lpC0), 0, 0)
+ CH00(arg0, 1)
+
+ DerefOf(DerefOf(m000(2, lpC0)))
+ CH06(arg0, Add(1, Local0), 47)
+ CH00(arg0, 2)
+
+ Index(DerefOf(m000(3, lpC0)), 0)
+ CH06(arg0, Add(2, Local0), 47)
+ CH00(arg0, 3)
+
+ Match(DerefOf(m000(4, lpC0)), MTR, 0, MTR, 0, 0)
+ CH06(arg0, Add(3, Local0), 47)
+ CH00(arg0, 4)
+
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+ }
+
+ SET0(z101, ts, 0)
+
+ CH03(ts, z101, 11, 0, 0)
+
+ // Local Named Object
+ m000(ts)
+
+ // Global Named Object
+ m001(ts)
+
+ // Local
+ m002(Concatenate(ts, "-m002"))
+
+ // Reference to Local Named Object
+
+ m003(Concatenate(ts, "-m003-RefLocName"), RefOf(mx01))
+
+ Store(RefOf(mx01), Local0)
+ m003(Concatenate(ts, "-m003-RefLocName2"), Local0)
+
+ CondRefOf(mx01, Local0)
+ m003(Concatenate(ts, "-m003-CondRefLocName"), Local0)
+
+ m003(Concatenate(ts, "-m003-RefGlobName"), RefOf(mx10))
+
+ Store(RefOf(mx10), Local0)
+ m003(Concatenate(ts, "-m003-RefGlobName2"), Local0)
+
+ CondRefOf(mx10, Local0)
+ m003(Concatenate(ts, "-m003-CondRefGlobName"), Local0)
+
+ // Reference to Object as element of Package
+
+ Name(pp00, Package(){mx10})
+
+ if (y113) {
+ m003(Concatenate(ts, "-m003-Index"), Index(pp00, 0))
+ }
+
+ Store(Index(pp00, 0), Local1)
+ m003(Concatenate(ts, "-m003-Index2"), Local1)
+
+ if (y113) {
+ m003(Concatenate(ts, "-m003-Index3"), Index(pp00, 0, Local2))
+ }
+
+ Index(pp00, 0, Local3)
+ m003(Concatenate(ts, "-m003-Index4"), Local3)
+
+ Store(Index(pp00, 0, Local4), Local5)
+ m003(Concatenate(ts, "-m003-Index5"), Local5)
+
+ // Result of Method invocation
+ m004(Concatenate(ts, "-m004"))
+
+ // Reference to Object as Result of Method invocation
+ m005(Concatenate(ts, "-m005"))
+
+ RST0()
+}
diff --git a/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_10_oreg.asl b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_10_oreg.asl
new file mode 100644
index 000000000..063718ac9
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_10_oreg.asl
@@ -0,0 +1,1668 @@
+/*
+ * 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.
+ */
+
+/*
+ * Operation Region
+ *
+ * (verify exceptions caused by the imprope use of Operation Region type objects)
+ */
+
+Name(z102, 102)
+
+OperationRegion(opr9, SystemMemory, 0x100, 0x100)
+
+// Expected exceptions:
+//
+// 47 - AE_AML_OPERAND_TYPE
+//
+Method(m4ba)
+{
+ Name(ts, "m4ba")
+
+ OperationRegion(opr1, SystemMemory, 0x100, 0x100)
+
+ Event(e000)
+
+ Name(i000, 0)
+
+ // Local Named Object
+ Method(m000, 1)
+ {
+ OperationRegion(opr2, SystemMemory, 0x100, 0x100)
+
+ DerefOf(opr2)
+ CH06(arg0, 0, 47)
+ }
+
+ // Global Named Object
+ Method(m001, 1)
+ {
+ if (y083) {
+ DerefOf(opr9)
+ CH06(arg0, 1, 47)
+ }
+ }
+
+ // Local
+ Method(m002, 1)
+ {
+ OperationRegion(opr2, SystemMemory, 0x100, 0x100)
+
+ Event(e000)
+
+ CopyObject(opr2, Local0)
+
+ // CondRefOf
+
+ CondRefOf(Local0)
+ CH03(ts, z102, 0, 0, 0)
+
+ CondRefOf(Local0, Local1)
+ CH03(ts, z102, 1, 0, 0)
+
+ // CopyObject
+
+ CopyObject(Local0, Local1)
+ CH03(ts, z102, 2, 0, 0)
+
+ // Decrement
+
+ Decrement(Local0)
+ CH06(arg0, 1, 47)
+
+ // DerefOf
+
+ DerefOf(Local0)
+ CH06(arg0, 2, 47)
+
+ // FindSetLeftBit
+
+ FindSetLeftBit(Local0)
+ CH06(arg0, 3, 47)
+
+ FindSetLeftBit(Local0, Local1)
+ CH06(arg0, 4, 47)
+
+ // FindSetRightBit
+
+ FindSetRightBit(Local0)
+ CH06(arg0, 5, 47)
+
+ FindSetRightBit(Local0, Local1)
+ CH06(arg0, 6, 47)
+
+ // FromBCD
+
+ FromBCD(Local0)
+ CH06(arg0, 7, 47)
+
+ FromBCD(Local0, Local1)
+ CH06(arg0, 8, 47)
+
+ // Increment
+
+ Increment(Local0)
+ CH06(arg0, 9, 47)
+
+ // LNot
+
+ LNot(Local0)
+ CH06(arg0, 10, 47)
+
+ // Not
+
+ Not(Local0)
+ CH06(arg0, 11, 47)
+
+ Not(Local0, Local1)
+ CH06(arg0, 12, 47)
+
+ // ObjectType
+
+ ObjectType(Local0)
+ CH03(ts, z102, 3, 0, 0)
+
+ // RefOf
+
+ RefOf(Local0)
+ CH03(ts, z102, 4, 0, 0)
+
+ // Release
+
+ Release(Local0)
+ CH06(arg0, 13, 47)
+
+ // Reset
+
+ Reset(Local0)
+ CH06(arg0, 14, 47)
+
+ // Signal
+
+ Signal(Local0)
+ CH06(arg0, 15, 47)
+
+ // SizeOf
+
+ SizeOf(Local0)
+ CH06(arg0, 16, 47)
+
+ // Sleep
+
+ Sleep(Local0)
+ CH06(arg0, 17, 47)
+
+ // Stall
+
+ Stall(Local0)
+ CH06(arg0, 18, 47)
+
+ // Store
+
+ Store(Local0, Local1)
+ CH06(arg0, 19, 47)
+
+ // ToBCD
+
+ ToBCD(Local0)
+ CH06(arg0, 20, 47)
+
+ ToBCD(Local0, Local1)
+ CH06(arg0, 21, 47)
+
+ // ToBuffer
+
+ ToBuffer(Local0)
+ CH06(arg0, 22, 47)
+
+ ToBuffer(Local0, Local1)
+ CH06(arg0, 23, 47)
+
+ // ToDecimalString
+
+ ToDecimalString(Local0)
+ CH06(arg0, 24, 47)
+
+ ToDecimalString(Local0, Local1)
+ CH06(arg0, 25, 47)
+
+ // ToHexString
+
+ ToHexString(Local0)
+ CH06(arg0, 26, 47)
+
+ ToHexString(Local0, Local1)
+ CH06(arg0, 27, 47)
+
+ // ToInteger
+
+ ToInteger(Local0)
+ CH06(arg0, 28, 47)
+
+ ToInteger(Local0, Local1)
+ CH06(arg0, 29, 47)
+
+ // Acquire
+
+ Acquire(Local0, 100)
+ CH06(arg0, 30, 47)
+
+ // Add
+
+ Add(Local0, i000)
+ CH06(arg0, 31, 47)
+
+ Add(i000, Local0)
+ CH06(arg0, 32, 47)
+
+ Add(Local0, i000, Local1)
+ CH06(arg0, 33, 47)
+
+ Add(i000, Local0, Local1)
+ CH06(arg0, 34, 47)
+
+ // And
+
+ And(Local0, i000)
+ CH06(arg0, 35, 47)
+
+ And(i000, Local0)
+ CH06(arg0, 36, 47)
+
+ And(Local0, i000, Local1)
+ CH06(arg0, 37, 47)
+
+ And(i000, Local0, Local1)
+ CH06(arg0, 38, 47)
+
+ // Concatenate
+
+ Concatenate(Local0, i000)
+ CH06(arg0, 39, 47)
+
+ Concatenate(i000, Local0)
+ CH06(arg0, 40, 47)
+
+ Concatenate(Local0, i000, Local1)
+ CH06(arg0, 41, 47)
+
+ Concatenate(i000, Local0, Local1)
+ CH06(arg0, 42, 47)
+
+ // ConcatenateResTemplate
+
+ ConcatenateResTemplate(Local0, ResourceTemplate(){})
+ CH06(arg0, 43, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, Local0)
+ CH06(arg0, 44, 47)
+
+ ConcatenateResTemplate(Local0, ResourceTemplate(){}, Local1)
+ CH06(arg0, 45, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, Local0, Local1)
+ CH06(arg0, 46, 47)
+
+ // Divide
+
+ Divide(Local0, i000)
+ CH06(arg0, 47, 47)
+
+ Divide(i000, Local0)
+ CH06(arg0, 48, 47)
+
+ Divide(Local0, i000, Local2)
+ CH06(arg0, 49, 47)
+
+ Divide(i000, Local0, Local2)
+ CH06(arg0, 50, 47)
+
+ Divide(Local0, i000, Local2, Local1)
+ CH06(arg0, 51, 47)
+
+ Divide(i000, Local0, Local2, Local1)
+ CH06(arg0, 52, 47)
+
+ // Fatal
+
+ Fatal(0xff, 0xffffffff, Local0)
+ CH06(arg0, 53, 47)
+
+ // Index
+
+ Index(Local0, 0)
+ CH06(arg0, 54, 47)
+
+ Index("0", Local0)
+ CH06(arg0, 55, 47)
+
+ Index(Local0, 0, Local1)
+ CH06(arg0, 56, 47)
+
+ Index("0", Local0, Local1)
+ CH06(arg0, 57, 47)
+
+ // LEqual
+
+ LEqual(Local0, i000)
+ CH06(arg0, 58, 47)
+
+ LEqual(i000, Local0)
+ CH06(arg0, 59, 47)
+
+ // LGreater
+
+ LGreater(Local0, i000)
+ CH06(arg0, 60, 47)
+
+ LGreater(i000, Local0)
+ CH06(arg0, 61, 47)
+
+ // LGreaterEqual
+
+ LGreaterEqual(Local0, i000)
+ CH06(arg0, 62, 0xff)
+
+ LGreaterEqual(i000, Local0)
+ CH06(arg0, 63, 0xff)
+
+ // LLess
+
+ LLess(Local0, i000)
+ CH06(arg0, 64, 47)
+
+ LLess(i000, Local0)
+ CH06(arg0, 65, 47)
+
+ // LLessEqual
+
+ LLessEqual(Local0, i000)
+ CH06(arg0, 66, 0xff)
+
+ LLessEqual(i000, Local0)
+ CH06(arg0, 67, 0xff)
+
+ // LNotEqual
+
+ LNotEqual(Local0, i000)
+ CH06(arg0, 68, 0xff)
+
+ LNotEqual(i000, Local0)
+ CH06(arg0, 69, 0xff)
+
+ // LOr
+
+ LOr(Local0, i000)
+ CH06(arg0, 70, 47)
+
+ LOr(i000, Local0)
+ CH06(arg0, 71, 47)
+
+ // Mod
+
+ Mod(Local0, i000)
+ CH06(arg0, 72, 47)
+
+ Mod(i000, Local0)
+ CH06(arg0, 73, 47)
+
+ Mod(Local0, i000, Local1)
+ CH06(arg0, 74, 47)
+
+ Mod(i000, Local0, Local1)
+ CH06(arg0, 75, 47)
+
+ // Multiply
+
+ Multiply(Local0, i000)
+ CH06(arg0, 76, 47)
+
+ Multiply(i000, Local0)
+ CH06(arg0, 77, 47)
+
+ Multiply(Local0, i000, Local1)
+ CH06(arg0, 78, 47)
+
+ Multiply(i000, Local0, Local1)
+ CH06(arg0, 79, 47)
+
+ // NAnd
+
+ NAnd(Local0, i000)
+ CH06(arg0, 80, 47)
+
+ NAnd(i000, Local0)
+ CH06(arg0, 81, 47)
+
+ NAnd(Local0, i000, Local1)
+ CH06(arg0, 82, 47)
+
+ NAnd(i000, Local0, Local1)
+ CH06(arg0, 83, 47)
+
+ // NOr
+
+ NOr(Local0, i000)
+ CH06(arg0, 84, 47)
+
+ NOr(i000, Local0)
+ CH06(arg0, 85, 47)
+
+ NOr(Local0, i000, Local1)
+ CH06(arg0, 86, 47)
+
+ NOr(i000, Local0, Local1)
+ CH06(arg0, 87, 47)
+
+ // Or
+
+ Or(Local0, i000)
+ CH06(arg0, 88, 47)
+
+ Or(i000, Local0)
+ CH06(arg0, 89, 47)
+
+ Or(Local0, i000, Local1)
+ CH06(arg0, 90, 47)
+
+ Or(i000, Local0, Local1)
+ CH06(arg0, 91, 47)
+
+ // ShiftLeft
+
+ ShiftLeft(Local0, i000)
+ CH06(arg0, 92, 47)
+
+ ShiftLeft(i000, Local0)
+ CH06(arg0, 93, 47)
+
+ ShiftLeft(Local0, i000, Local1)
+ CH06(arg0, 94, 47)
+
+ ShiftLeft(i000, Local0, Local1)
+ CH06(arg0, 95, 47)
+
+ // ShiftRight
+
+ ShiftRight(Local0, i000)
+ CH06(arg0, 96, 47)
+
+ ShiftRight(i000, Local0)
+ CH06(arg0, 97, 47)
+
+ ShiftRight(Local0, i000, Local1)
+ CH06(arg0, 98, 47)
+
+ ShiftRight(i000, Local0, Local1)
+ CH06(arg0, 99, 47)
+
+ // Subtract
+
+ Subtract(Local0, i000)
+ CH06(arg0, 100, 47)
+
+ Subtract(i000, Local0)
+ CH06(arg0, 101, 47)
+
+ Subtract(Local0, i000, Local1)
+ CH06(arg0, 102, 47)
+
+ Subtract(i000, Local0, Local1)
+ CH06(arg0, 103, 47)
+
+ // ToString
+
+ ToString(Local0, 1)
+ CH06(arg0, 104, 47)
+
+ ToString(i000, Local0)
+ CH06(arg0, 105, 47)
+
+ ToString(Local0, 1, Local1)
+ CH06(arg0, 106, 47)
+
+ ToString(i000, Local0, Local1)
+ CH06(arg0, 107, 47)
+
+ // Wait
+
+ Wait(Local0, i000)
+ CH06(arg0, 108, 47)
+
+ Wait(e000, Local0)
+ CH06(arg0, 109, 47)
+
+ // XOr
+
+ XOr(Local0, i000)
+ CH06(arg0, 110, 47)
+
+ XOr(i000, Local0)
+ CH06(arg0, 111, 47)
+
+ XOr(Local0, i000, Local1)
+ CH06(arg0, 112, 47)
+
+ XOr(i000, Local0, Local1)
+ CH06(arg0, 113, 47)
+
+ // Mid
+
+ Mid(Local0, 1, 1)
+ CH06(arg0, 114, 47)
+
+ Mid("123", Local0, 1)
+ CH06(arg0, 115, 47)
+
+ Mid("123", 1, Local0)
+ CH06(arg0, 116, 47)
+
+ Mid(Local0, 1, 1, Local1)
+ CH06(arg0, 117, 47)
+
+ Mid("123", Local0, 1, Local1)
+ CH06(arg0, 118, 47)
+
+ Mid("123", 1, Local0, Local1)
+ CH06(arg0, 119, 47)
+
+ // Match
+
+ Match(Local0, MTR, 0, MTR, 0, 0)
+ CH06(arg0, 120, 47)
+
+ Match(Package(){1}, MTR, Local0, MTR, 0, 0)
+ CH06(arg0, 121, 47)
+
+ Match(Package(){1}, MTR, 0, MTR, Local0, 0)
+ CH06(arg0, 122, 47)
+
+ Match(Package(){1}, MTR, 0, MTR, 0, Local0)
+ CH06(arg0, 123, 47)
+ }
+
+ // Reference to Object
+ Method(m003, 2)
+ {
+ Store(ObjectType(arg1), Local0)
+ if (LNotEqual(Local0, 10)) {
+ err(arg0, z102, 200, 0, 0, Local0, 10)
+ return (1)
+ }
+
+ DeRefOf(arg1)
+ CH03(ts, z102, 5, 0, 0)
+
+ // CondRefOf
+
+ CondRefOf(DeRefOf(arg1))
+ CH06(arg0, 0, 47)
+
+ CondRefOf(DeRefOf(arg1), Local1)
+ CH06(arg0, 1, 47)
+
+ // CopyObject
+
+ CopyObject(DeRefOf(arg1), Local1)
+ CH06(arg0, 2, 47)
+
+ // Decrement
+
+ Decrement(DeRefOf(arg1))
+ CH06(arg0, 3, 47)
+
+ // DerefOf
+
+ DerefOf(DeRefOf(arg1))
+ CH06(arg0, 4, 47)
+
+ // FindSetLeftBit
+
+ FindSetLeftBit(DeRefOf(arg1))
+ CH06(arg0, 5, 47)
+
+ FindSetLeftBit(DeRefOf(arg1), Local1)
+ CH06(arg0, 6, 47)
+
+ // FindSetRightBit
+
+ FindSetRightBit(DeRefOf(arg1))
+ CH06(arg0, 7, 47)
+
+ FindSetRightBit(DeRefOf(arg1), Local1)
+ CH06(arg0, 8, 47)
+
+ // FromBCD
+
+ FromBCD(DeRefOf(arg1))
+ CH06(arg0, 9, 47)
+
+ FromBCD(DeRefOf(arg1), Local1)
+ CH06(arg0, 10, 47)
+
+ // Increment
+
+ Increment(DeRefOf(arg1))
+ CH06(arg0, 11, 47)
+
+ // LNot
+
+ LNot(DeRefOf(arg1))
+ CH06(arg0, 12, 47)
+
+ // Not
+
+ Not(DeRefOf(arg1))
+ CH06(arg0, 13, 47)
+
+ Not(DeRefOf(arg1), Local1)
+ CH06(arg0, 14, 47)
+
+ // ObjectType
+
+ ObjectType(DeRefOf(arg1))
+ CH03(ts, z102, 6, 0, 0)
+
+ // RefOf
+
+ RefOf(DeRefOf(arg1))
+ CH06(arg0, 15, 47)
+
+ // Release
+
+ // Reset
+
+ // Signal
+
+ // SizeOf
+
+ SizeOf(DeRefOf(arg1))
+ CH06(arg0, 16, 47)
+
+ // Sleep
+
+ Sleep(DeRefOf(arg1))
+ CH06(arg0, 17, 47)
+
+ // Stall
+
+ Stall(DeRefOf(arg1))
+ CH06(arg0, 18, 47)
+
+ // Store
+
+ Store(DeRefOf(arg1), Local1)
+ CH06(arg0, 19, 47)
+
+ // ToBCD
+
+ ToBCD(DeRefOf(arg1))
+ CH06(arg0, 20, 47)
+
+ ToBCD(DeRefOf(arg1), Local1)
+ CH06(arg0, 21, 47)
+
+ // ToBuffer
+
+ ToBuffer(DeRefOf(arg1))
+ CH06(arg0, 22, 47)
+
+ ToBuffer(DeRefOf(arg1), Local1)
+ CH06(arg0, 23, 47)
+
+ // ToDecimalString
+
+ ToDecimalString(DeRefOf(arg1))
+ CH06(arg0, 24, 47)
+
+ ToDecimalString(DeRefOf(arg1), Local1)
+ CH06(arg0, 25, 47)
+
+ // ToHexString
+
+ ToHexString(DeRefOf(arg1))
+ CH06(arg0, 26, 47)
+
+ ToHexString(DeRefOf(arg1), Local1)
+ CH06(arg0, 27, 47)
+
+ // ToInteger
+
+ ToInteger(DeRefOf(arg1))
+ CH06(arg0, 28, 47)
+
+ ToInteger(DeRefOf(arg1), Local1)
+ CH06(arg0, 29, 47)
+
+ // Acquire
+
+ // Add
+
+ Add(DeRefOf(arg1), i000)
+ CH06(arg0, 31, 47)
+
+ Add(i000, DeRefOf(arg1))
+ CH06(arg0, 32, 47)
+
+ Add(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 33, 47)
+
+ Add(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 34, 47)
+
+ // And
+
+ And(DeRefOf(arg1), i000)
+ CH06(arg0, 35, 47)
+
+ And(i000, DeRefOf(arg1))
+ CH06(arg0, 36, 47)
+
+ And(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 37, 47)
+
+ And(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 38, 47)
+
+ // Concatenate
+
+ Concatenate(DeRefOf(arg1), i000)
+ CH06(arg0, 39, 47)
+
+ Concatenate(i000, DeRefOf(arg1))
+ CH06(arg0, 40, 47)
+
+ Concatenate(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 41, 47)
+
+ Concatenate(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 42, 47)
+
+ // ConcatenateResTemplate
+
+ ConcatenateResTemplate(DeRefOf(arg1), ResourceTemplate(){})
+ CH06(arg0, 43, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, DeRefOf(arg1))
+ CH06(arg0, 44, 47)
+
+ ConcatenateResTemplate(DeRefOf(arg1), ResourceTemplate(){}, Local1)
+ CH06(arg0, 45, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, DeRefOf(arg1), Local1)
+ CH06(arg0, 46, 47)
+
+ // Divide
+
+ Divide(DeRefOf(arg1), i000)
+ CH06(arg0, 47, 47)
+
+ Divide(i000, DeRefOf(arg1))
+ CH06(arg0, 48, 47)
+
+ Divide(DeRefOf(arg1), i000, Local2)
+ CH06(arg0, 49, 47)
+
+ Divide(i000, DeRefOf(arg1), Local2)
+ CH06(arg0, 50, 47)
+
+ Divide(DeRefOf(arg1), i000, Local2, Local1)
+ CH06(arg0, 51, 47)
+
+ Divide(i000, DeRefOf(arg1), Local2, Local1)
+ CH06(arg0, 52, 47)
+
+ // Fatal
+
+ Fatal(0xff, 0xffffffff, DeRefOf(arg1))
+ CH06(arg0, 53, 47)
+
+ // Index
+
+ Index(DeRefOf(arg1), 0)
+ CH06(arg0, 54, 47)
+
+ Index("0", DeRefOf(arg1))
+ CH06(arg0, 55, 47)
+
+ Index(DeRefOf(arg1), 0, Local1)
+ CH06(arg0, 56, 47)
+
+ Index("0", DeRefOf(arg1), Local1)
+ CH06(arg0, 57, 47)
+
+ // LEqual
+
+ LEqual(DeRefOf(arg1), i000)
+ CH06(arg0, 58, 47)
+
+ LEqual(i000, DeRefOf(arg1))
+ CH06(arg0, 59, 47)
+
+ // LGreater
+
+ LGreater(DeRefOf(arg1), i000)
+ CH06(arg0, 60, 47)
+
+ LGreater(i000, DeRefOf(arg1))
+ CH06(arg0, 61, 47)
+
+ // LGreaterEqual
+
+ LGreaterEqual(DeRefOf(arg1), i000)
+ CH06(arg0, 62, 0xff)
+
+ LGreaterEqual(i000, DeRefOf(arg1))
+ CH06(arg0, 63, 0xff)
+
+ // LLess
+
+ LLess(DeRefOf(arg1), i000)
+ CH06(arg0, 64, 47)
+
+ LLess(i000, DeRefOf(arg1))
+ CH06(arg0, 65, 47)
+
+ // LLessEqual
+
+ LLessEqual(DeRefOf(arg1), i000)
+ CH06(arg0, 66, 0xff)
+
+ LLessEqual(i000, DeRefOf(arg1))
+ CH06(arg0, 67, 0xff)
+
+ // LNotEqual
+
+ LNotEqual(DeRefOf(arg1), i000)
+ CH06(arg0, 68, 0xff)
+
+ LNotEqual(i000, DeRefOf(arg1))
+ CH06(arg0, 69, 0xff)
+
+ // LOr
+
+ LOr(DeRefOf(arg1), i000)
+ CH06(arg0, 70, 47)
+
+ LOr(i000, DeRefOf(arg1))
+ CH06(arg0, 71, 47)
+
+ // Mod
+
+ Mod(DeRefOf(arg1), i000)
+ CH06(arg0, 72, 47)
+
+ Mod(i000, DeRefOf(arg1))
+ CH06(arg0, 73, 47)
+
+ Mod(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 74, 47)
+
+ Mod(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 75, 47)
+
+ // Multiply
+
+ Multiply(DeRefOf(arg1), i000)
+ CH06(arg0, 76, 47)
+
+ Multiply(i000, DeRefOf(arg1))
+ CH06(arg0, 77, 47)
+
+ Multiply(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 78, 47)
+
+ Multiply(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 79, 47)
+
+ // NAnd
+
+ NAnd(DeRefOf(arg1), i000)
+ CH06(arg0, 80, 47)
+
+ NAnd(i000, DeRefOf(arg1))
+ CH06(arg0, 81, 47)
+
+ NAnd(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 82, 47)
+
+ NAnd(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 83, 47)
+
+ // NOr
+
+ NOr(DeRefOf(arg1), i000)
+ CH06(arg0, 84, 47)
+
+ NOr(i000, DeRefOf(arg1))
+ CH06(arg0, 85, 47)
+
+ NOr(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 86, 47)
+
+ NOr(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 87, 47)
+
+ // Or
+
+ Or(DeRefOf(arg1), i000)
+ CH06(arg0, 88, 47)
+
+ Or(i000, DeRefOf(arg1))
+ CH06(arg0, 89, 47)
+
+ Or(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 90, 47)
+
+ Or(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 91, 47)
+
+ // ShiftLeft
+
+ ShiftLeft(DeRefOf(arg1), i000)
+ CH06(arg0, 92, 47)
+
+ ShiftLeft(i000, DeRefOf(arg1))
+ CH06(arg0, 93, 47)
+
+ ShiftLeft(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 94, 47)
+
+ ShiftLeft(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 95, 47)
+
+ // ShiftRight
+
+ ShiftRight(DeRefOf(arg1), i000)
+ CH06(arg0, 96, 47)
+
+ ShiftRight(i000, DeRefOf(arg1))
+ CH06(arg0, 97, 47)
+
+ ShiftRight(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 98, 47)
+
+ ShiftRight(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 99, 47)
+
+ // Subtract
+
+ Subtract(DeRefOf(arg1), i000)
+ CH06(arg0, 100, 47)
+
+ Subtract(i000, DeRefOf(arg1))
+ CH06(arg0, 101, 47)
+
+ Subtract(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 102, 47)
+
+ Subtract(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 103, 47)
+
+ // ToString
+
+ ToString(DeRefOf(arg1), 1)
+ CH06(arg0, 104, 47)
+
+ ToString(i000, DeRefOf(arg1))
+ CH06(arg0, 105, 47)
+
+ ToString(DeRefOf(arg1), 1, Local1)
+ CH06(arg0, 106, 47)
+
+ ToString(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 107, 47)
+
+ // Wait
+
+ Wait(e000, DeRefOf(arg1))
+ CH06(arg0, 109, 47)
+
+ // XOr
+
+ XOr(DeRefOf(arg1), i000)
+ CH06(arg0, 110, 47)
+
+ XOr(i000, DeRefOf(arg1))
+ CH06(arg0, 111, 47)
+
+ XOr(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 112, 47)
+
+ XOr(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 113, 47)
+
+ // Mid
+
+ Mid(DeRefOf(arg1), 1, 1)
+ CH06(arg0, 114, 47)
+
+ Mid("123", DeRefOf(arg1), 1)
+ CH06(arg0, 115, 47)
+
+ Mid("123", 1, DeRefOf(arg1))
+ CH06(arg0, 116, 47)
+
+ Mid(DeRefOf(arg1), 1, 1, Local1)
+ CH06(arg0, 117, 47)
+
+ Mid("123", DeRefOf(arg1), 1, Local1)
+ CH06(arg0, 118, 47)
+
+ Mid("123", 1, DeRefOf(arg1), Local1)
+ CH06(arg0, 119, 47)
+
+ // Match
+
+ Match(DeRefOf(arg1), MTR, 0, MTR, 0, 0)
+ CH06(arg0, 120, 47)
+
+ Match(Package(){1}, MTR, DeRefOf(arg1), MTR, 0, 0)
+ CH06(arg0, 121, 47)
+
+ Match(Package(){1}, MTR, 0, MTR, DeRefOf(arg1), 0)
+ CH06(arg0, 122, 47)
+
+ Match(Package(){1}, MTR, 0, MTR, 0, DeRefOf(arg1))
+ CH06(arg0, 123, 47)
+
+ return (0)
+ }
+
+ // Result of Method invocation
+ Method(m004, 1)
+ {
+ Name(i000, 0) // Label to check m000 invocations
+
+ Method(m000)
+ {
+ CopyObject(opr9, Local0)
+ Return (Local0)
+ }
+
+ // CondRefOf
+
+ CondRefOf(m000())
+ CH06(arg0, 0, 47)
+
+ CondRefOf(m000(), Local1)
+ CH06(arg0, 1, 47)
+
+ // CopyObject
+
+ CopyObject(m000(), Local1)
+ CH03(ts, z102, 7, 0, 0)
+
+ // Decrement
+
+ Decrement(m000())
+ CH06(arg0, 2, 47)
+
+ // DerefOf
+
+ DerefOf(m000())
+ CH06(arg0, 3, 47)
+
+ // FindSetLeftBit
+
+ FindSetLeftBit(m000())
+ CH06(arg0, 4, 47)
+
+ FindSetLeftBit(m000(), Local1)
+ CH06(arg0, 5, 47)
+
+ // FindSetRightBit
+
+ FindSetRightBit(m000())
+ CH06(arg0, 6, 47)
+
+ FindSetRightBit(m000(), Local1)
+ CH06(arg0, 7, 47)
+
+ // FromBCD
+
+ FromBCD(m000())
+ CH06(arg0, 8, 47)
+
+ FromBCD(m000(), Local1)
+ CH06(arg0, 9, 47)
+
+ // Increment
+
+ Increment(m000())
+ CH06(arg0, 10, 47)
+
+ // LNot
+
+ LNot(m000())
+ CH06(arg0, 11, 47)
+
+ // Not
+
+ Not(m000())
+ CH06(arg0, 12, 47)
+
+ Not(m000(), Local1)
+ CH06(arg0, 13, 47)
+
+ // ObjectType
+
+ ObjectType(m000())
+ CH03(ts, z102, 8, 0, 0)
+
+ // RefOf
+
+ RefOf(m000())
+ CH06(arg0, 14, 47)
+
+ // Release
+
+ Release(m000())
+ CH06(arg0, 13, 47)
+
+ // Reset
+
+ Reset(m000())
+ CH06(arg0, 14, 47)
+
+ // Signal
+
+ Signal(m000())
+ CH06(arg0, 15, 47)
+
+ // SizeOf
+
+ SizeOf(m000())
+ CH06(arg0, 16, 47)
+
+ // Sleep
+
+ Sleep(m000())
+ CH06(arg0, 17, 47)
+
+ // Stall
+
+ Stall(m000())
+ CH06(arg0, 18, 47)
+
+ // Store
+
+ Store(m000(), Local1)
+ CH06(arg0, 19, 47)
+
+ // ToBCD
+
+ ToBCD(m000())
+ CH06(arg0, 20, 47)
+
+ ToBCD(m000(), Local1)
+ CH06(arg0, 21, 47)
+
+ // ToBuffer
+
+ ToBuffer(m000())
+ CH06(arg0, 22, 47)
+
+ ToBuffer(m000(), Local1)
+ CH06(arg0, 23, 47)
+
+ // ToDecimalString
+
+ ToDecimalString(m000())
+ CH06(arg0, 24, 47)
+
+ ToDecimalString(m000(), Local1)
+ CH06(arg0, 25, 47)
+
+ // ToHexString
+
+ ToHexString(m000())
+ CH06(arg0, 26, 47)
+
+ ToHexString(m000(), Local1)
+ CH06(arg0, 27, 47)
+
+ // ToInteger
+
+ ToInteger(m000())
+ CH06(arg0, 28, 47)
+
+ ToInteger(m000(), Local1)
+ CH06(arg0, 29, 47)
+
+ // Acquire
+
+ Acquire(m000(), 100)
+ CH06(arg0, 30, 47)
+
+ // Add
+
+ Add(m000(), i000)
+ CH06(arg0, 31, 47)
+
+ Add(i000, m000())
+ CH06(arg0, 32, 47)
+
+ Add(m000(), i000, Local1)
+ CH06(arg0, 33, 47)
+
+ Add(i000, m000(), Local1)
+ CH06(arg0, 34, 47)
+
+ // And
+
+ And(m000(), i000)
+ CH06(arg0, 35, 47)
+
+ And(i000, m000())
+ CH06(arg0, 36, 47)
+
+ And(m000(), i000, Local1)
+ CH06(arg0, 37, 47)
+
+ And(i000, m000(), Local1)
+ CH06(arg0, 38, 47)
+
+ // Concatenate
+
+ Concatenate(m000(), i000)
+ CH06(arg0, 39, 47)
+
+ Concatenate(i000, m000())
+ CH06(arg0, 40, 47)
+
+ Concatenate(m000(), i000, Local1)
+ CH06(arg0, 41, 47)
+
+ Concatenate(i000, m000(), Local1)
+ CH06(arg0, 42, 47)
+
+ // ConcatenateResTemplate
+
+ ConcatenateResTemplate(m000(), ResourceTemplate(){})
+ CH06(arg0, 43, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, m000())
+ CH06(arg0, 44, 47)
+
+ ConcatenateResTemplate(m000(), ResourceTemplate(){}, Local1)
+ CH06(arg0, 45, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, m000(), Local1)
+ CH06(arg0, 46, 47)
+
+ // Divide
+
+ Divide(m000(), i000)
+ CH06(arg0, 47, 47)
+
+ Divide(i000, m000())
+ CH06(arg0, 48, 47)
+
+ Divide(m000(), i000, Local2)
+ CH06(arg0, 49, 47)
+
+ Divide(i000, m000(), Local2)
+ CH06(arg0, 50, 47)
+
+ Divide(m000(), i000, Local2, Local1)
+ CH06(arg0, 51, 47)
+
+ Divide(i000, m000(), Local2, Local1)
+ CH06(arg0, 52, 47)
+
+ // Fatal
+
+ Fatal(0xff, 0xffffffff, m000())
+ CH06(arg0, 53, 47)
+
+ // Index
+
+ Index(m000(), 0)
+ CH06(arg0, 54, 47)
+
+ Index("0", m000())
+ CH06(arg0, 55, 47)
+
+ Index(m000(), 0, Local1)
+ CH06(arg0, 56, 47)
+
+ Index("0", m000(), Local1)
+ CH06(arg0, 57, 47)
+
+ // LEqual
+
+ LEqual(m000(), i000)
+ CH06(arg0, 58, 47)
+
+ LEqual(i000, m000())
+ CH06(arg0, 59, 47)
+
+ // LGreater
+
+ LGreater(m000(), i000)
+ CH06(arg0, 60, 47)
+
+ LGreater(i000, m000())
+ CH06(arg0, 61, 47)
+
+ // LGreaterEqual
+
+ LGreaterEqual(m000(), i000)
+ CH06(arg0, 62, 0xff)
+
+ LGreaterEqual(i000, m000())
+ CH06(arg0, 63, 0xff)
+
+ // LLess
+
+ LLess(m000(), i000)
+ CH06(arg0, 64, 47)
+
+ LLess(i000, m000())
+ CH06(arg0, 65, 47)
+
+ // LLessEqual
+
+ LLessEqual(m000(), i000)
+ CH06(arg0, 66, 0xff)
+
+ LLessEqual(i000, m000())
+ CH06(arg0, 67, 0xff)
+
+ // LNotEqual
+
+ LNotEqual(m000(), i000)
+ CH06(arg0, 68, 0xff)
+
+ LNotEqual(i000, m000())
+ CH06(arg0, 69, 0xff)
+
+ // LOr
+
+ LOr(m000(), i000)
+ CH06(arg0, 70, 47)
+
+ LOr(i000, m000())
+ CH06(arg0, 71, 47)
+
+ // Mod
+
+ Mod(m000(), i000)
+ CH06(arg0, 72, 47)
+
+ Mod(i000, m000())
+ CH06(arg0, 73, 47)
+
+ Mod(m000(), i000, Local1)
+ CH06(arg0, 74, 47)
+
+ Mod(i000, m000(), Local1)
+ CH06(arg0, 75, 47)
+
+ // Multiply
+
+ Multiply(m000(), i000)
+ CH06(arg0, 76, 47)
+
+ Multiply(i000, m000())
+ CH06(arg0, 77, 47)
+
+ Multiply(m000(), i000, Local1)
+ CH06(arg0, 78, 47)
+
+ Multiply(i000, m000(), Local1)
+ CH06(arg0, 79, 47)
+
+ // NAnd
+
+ NAnd(m000(), i000)
+ CH06(arg0, 80, 47)
+
+ NAnd(i000, m000())
+ CH06(arg0, 81, 47)
+
+ NAnd(m000(), i000, Local1)
+ CH06(arg0, 82, 47)
+
+ NAnd(i000, m000(), Local1)
+ CH06(arg0, 83, 47)
+
+ // NOr
+
+ NOr(m000(), i000)
+ CH06(arg0, 84, 47)
+
+ NOr(i000, m000())
+ CH06(arg0, 85, 47)
+
+ NOr(m000(), i000, Local1)
+ CH06(arg0, 86, 47)
+
+ NOr(i000, m000(), Local1)
+ CH06(arg0, 87, 47)
+
+ // Or
+
+ Or(m000(), i000)
+ CH06(arg0, 88, 47)
+
+ Or(i000, m000())
+ CH06(arg0, 89, 47)
+
+ Or(m000(), i000, Local1)
+ CH06(arg0, 90, 47)
+
+ Or(i000, m000(), Local1)
+ CH06(arg0, 91, 47)
+
+ // ShiftLeft
+
+ ShiftLeft(m000(), i000)
+ CH06(arg0, 92, 47)
+
+ ShiftLeft(i000, m000())
+ CH06(arg0, 93, 47)
+
+ ShiftLeft(m000(), i000, Local1)
+ CH06(arg0, 94, 47)
+
+ ShiftLeft(i000, m000(), Local1)
+ CH06(arg0, 95, 47)
+
+ // ShiftRight
+
+ ShiftRight(m000(), i000)
+ CH06(arg0, 96, 47)
+
+ ShiftRight(i000, m000())
+ CH06(arg0, 97, 47)
+
+ ShiftRight(m000(), i000, Local1)
+ CH06(arg0, 98, 47)
+
+ ShiftRight(i000, m000(), Local1)
+ CH06(arg0, 99, 47)
+
+ // Subtract
+
+ Subtract(m000(), i000)
+ CH06(arg0, 100, 47)
+
+ Subtract(i000, m000())
+ CH06(arg0, 101, 47)
+
+ Subtract(m000(), i000, Local1)
+ CH06(arg0, 102, 47)
+
+ Subtract(i000, m000(), Local1)
+ CH06(arg0, 103, 47)
+
+ // ToString
+
+ ToString(m000(), 1)
+ CH06(arg0, 104, 47)
+
+ ToString(i000, m000())
+ CH06(arg0, 105, 47)
+
+ ToString(m000(), 1, Local1)
+ CH06(arg0, 106, 47)
+
+ ToString(i000, m000(), Local1)
+ CH06(arg0, 107, 47)
+
+ // Wait
+
+ Wait(m000(), i000)
+ CH06(arg0, 108, 47)
+
+ Wait(e000, m000())
+ CH06(arg0, 109, 47)
+
+ // XOr
+
+ XOr(m000(), i000)
+ CH06(arg0, 110, 47)
+
+ XOr(i000, m000())
+ CH06(arg0, 111, 47)
+
+ XOr(m000(), i000, Local1)
+ CH06(arg0, 112, 47)
+
+ XOr(i000, m000(), Local1)
+ CH06(arg0, 113, 47)
+
+ // Mid
+
+ Mid(m000(), 1, 1)
+ CH06(arg0, 114, 47)
+
+ Mid("123", m000(), 1)
+ CH06(arg0, 115, 47)
+
+ Mid("123", 1, m000())
+ CH06(arg0, 116, 47)
+
+ Mid(m000(), 1, 1, Local1)
+ CH06(arg0, 117, 47)
+
+ Mid("123", m000(), 1, Local1)
+ CH06(arg0, 118, 47)
+
+ Mid("123", 1, m000(), Local1)
+ CH06(arg0, 119, 47)
+
+ // Match
+
+ Match(m000(), MTR, 0, MTR, 0, 0)
+ CH06(arg0, 120, 47)
+
+ Match(Package(){1}, MTR, m000(), MTR, 0, 0)
+ CH06(arg0, 121, 47)
+
+ Match(Package(){1}, MTR, 0, MTR, m000(), 0)
+ CH06(arg0, 122, 47)
+
+ Match(Package(){1}, MTR, 0, MTR, 0, m000())
+ CH06(arg0, 123, 47)
+ }
+
+ // Reference to Object as Result of Method invocation
+ Method(m005, 1)
+ {
+ OperationRegion(opr2, SystemMemory, 0x100, 0x100)
+
+ Name(i000, 0) // Label to check m000 invocations
+
+ Method(m000, 2)
+ {
+ Store(arg0, i000)
+ if (LEqual(arg1, 0)) {
+ Store(Refof(opr9), Local0)
+ } elseif (LEqual(arg1, 1)) {
+ Store(Refof(opr2), Local0)
+ }
+ Return (Local0)
+ }
+
+ Method(CH00, 2)
+ {
+ if (LNotEqual(i000, arg1)) {
+ err(arg0, z102, 0, 0, 0, i000, arg1)
+ }
+ }
+
+ Name(lpN0, 2)
+ Name(lpC0, 0)
+
+ While (lpN0) {
+ Multiply(3, lpC0, Local0)
+
+ Store(0, i000)
+
+ DerefOf(m000(1, lpC0))
+ CH03(ts, z102, Add(9, lpC0), 0, 0)
+ CH00(arg0, 1)
+
+ DerefOf(DerefOf(m000(2, lpC0)))
+ CH06(arg0, Add(1, Local0), 47)
+ CH00(arg0, 2)
+
+ Index(DerefOf(m000(3, lpC0)), 0)
+ CH06(arg0, Add(2, Local0), 47)
+ CH00(arg0, 3)
+
+ Match(DerefOf(m000(4, lpC0)), MTR, 0, MTR, 0, 0)
+ CH06(arg0, Add(3, Local0), 47)
+ CH00(arg0, 4)
+
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+ }
+
+ CH03(ts, z102, 11, 0, 0)
+
+ // Local Named Object
+ m000(ts)
+
+ // Global Named Object
+ m001(ts)
+
+ // Local
+ m002(Concatenate(ts, "-m002"))
+
+ // Reference to Local Named Object
+
+ m003(Concatenate(ts, "-m003-RefLocName"), RefOf(opr1))
+
+ Store(RefOf(opr1), Local0)
+ m003(Concatenate(ts, "-m003-RefLocName2"), Local0)
+
+ CondRefOf(opr1, Local0)
+ m003(Concatenate(ts, "-m003-CondRefLocName"), Local0)
+
+ m003(Concatenate(ts, "-m003-RefGlobName"), RefOf(opr9))
+
+ Store(RefOf(opr9), Local0)
+ m003(Concatenate(ts, "-m003-RefGlobName2"), Local0)
+
+ CondRefOf(opr9, Local0)
+ m003(Concatenate(ts, "-m003-CondRefGlobName"), Local0)
+
+ // Reference to Object as element of Package
+
+ Name(pp00, Package(){opr9})
+
+ if (y113) {
+ m003(Concatenate(ts, "-m003-Index"), Index(pp00, 0))
+ }
+
+ Store(Index(pp00, 0), Local1)
+ m003(Concatenate(ts, "-m003-Index2"), Local1)
+
+ if (y113) {
+ m003(Concatenate(ts, "-m003-Index3"), Index(pp00, 0, Local2))
+ }
+
+ Index(pp00, 0, Local3)
+ m003(Concatenate(ts, "-m003-Index4"), Local3)
+
+ Store(Index(pp00, 0, Local4), Local5)
+ m003(Concatenate(ts, "-m003-Index5"), Local5)
+
+ // Result of Method invocation
+ m004(Concatenate(ts, "-m004"))
+
+ // Reference to Object as Result of Method invocation
+ m005(Concatenate(ts, "-m005"))
+}
diff --git a/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_11_pwr.asl b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_11_pwr.asl
new file mode 100644
index 000000000..a1c502d8e
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_11_pwr.asl
@@ -0,0 +1,1678 @@
+/*
+ * 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.
+ */
+
+/*
+ * Power Resource
+ *
+ * (verify exceptions caused by the imprope use of Power Resource type objects)
+ */
+
+Name(z103, 103)
+
+PowerResource(pw00, 1, 0) {Method(m000){return (0)}}
+
+// Expected exceptions:
+//
+// 47 - AE_AML_OPERAND_TYPE
+//
+Method(m4bb)
+{
+ Name(ts, "m4bb")
+
+ PowerResource(pw01, 1, 0) {Method(m000){return (0)}}
+
+ Event(e000)
+
+ Name(i000, 0)
+
+ // Local Named Object
+ Method(m000, 1)
+ {
+ PowerResource(pw02, 1, 0) {Method(m000){return (0)}}
+
+ if (y083) {
+ DerefOf(pw02)
+ CH06(arg0, 0, 47)
+ }
+ }
+
+ // Global Named Object
+ Method(m001, 1)
+ {
+ if (y083) {
+ DerefOf(pw00)
+ CH06(arg0, 1, 47)
+ }
+ }
+
+ // Local
+ Method(m002, 1)
+ {
+ PowerResource(pw02, 1, 0) {Method(m000){return (0)}}
+
+ Event(e000)
+
+ CopyObject(pw02, Local0)
+
+ // CondRefOf
+
+ CondRefOf(Local0)
+ CH03(ts, z103, 0, 0, 0)
+
+ CondRefOf(Local0, Local1)
+ CH03(ts, z103, 1, 0, 0)
+
+ // CopyObject
+
+ CopyObject(Local0, Local1)
+ CH03(ts, z103, 2, 0, 0)
+
+ // Decrement
+
+ Decrement(Local0)
+ CH06(arg0, 1, 47)
+
+ // DerefOf
+
+ DerefOf(Local0)
+ CH06(arg0, 2, 47)
+
+ // FindSetLeftBit
+
+ FindSetLeftBit(Local0)
+ CH06(arg0, 3, 47)
+
+ FindSetLeftBit(Local0, Local1)
+ CH06(arg0, 4, 47)
+
+ // FindSetRightBit
+
+ FindSetRightBit(Local0)
+ CH06(arg0, 5, 47)
+
+ FindSetRightBit(Local0, Local1)
+ CH06(arg0, 6, 47)
+
+ // FromBCD
+
+ FromBCD(Local0)
+ CH06(arg0, 7, 47)
+
+ FromBCD(Local0, Local1)
+ CH06(arg0, 8, 47)
+
+ // Increment
+
+ Increment(Local0)
+ CH06(arg0, 9, 47)
+
+ // LNot
+
+ LNot(Local0)
+ CH06(arg0, 10, 47)
+
+ // Not
+
+ Not(Local0)
+ CH06(arg0, 11, 47)
+
+ Not(Local0, Local1)
+ CH06(arg0, 12, 47)
+
+ // ObjectType
+
+ ObjectType(Local0)
+ CH03(ts, z103, 3, 0, 0)
+
+ // RefOf
+
+ RefOf(Local0)
+ CH03(ts, z103, 4, 0, 0)
+
+ // Release
+
+ Release(Local0)
+ CH06(arg0, 13, 47)
+
+ // Reset
+
+ Reset(Local0)
+ CH06(arg0, 14, 47)
+
+ // Signal
+
+ Signal(Local0)
+ CH06(arg0, 15, 47)
+
+ // SizeOf
+
+ SizeOf(Local0)
+ CH06(arg0, 16, 47)
+
+ // Sleep
+
+ Sleep(Local0)
+ CH06(arg0, 17, 47)
+
+ // Stall
+
+ Stall(Local0)
+ CH06(arg0, 18, 47)
+
+ // Store
+
+ Store(Local0, Local1)
+ CH06(arg0, 19, 47)
+
+ // ToBCD
+
+ ToBCD(Local0)
+ CH06(arg0, 20, 47)
+
+ ToBCD(Local0, Local1)
+ CH06(arg0, 21, 47)
+
+ // ToBuffer
+
+ ToBuffer(Local0)
+ CH06(arg0, 22, 47)
+
+ ToBuffer(Local0, Local1)
+ CH06(arg0, 23, 47)
+
+ // ToDecimalString
+
+ ToDecimalString(Local0)
+ CH06(arg0, 24, 47)
+
+ ToDecimalString(Local0, Local1)
+ CH06(arg0, 25, 47)
+
+ // ToHexString
+
+ ToHexString(Local0)
+ CH06(arg0, 26, 47)
+
+ ToHexString(Local0, Local1)
+ CH06(arg0, 27, 47)
+
+ // ToInteger
+
+ ToInteger(Local0)
+ CH06(arg0, 28, 47)
+
+ ToInteger(Local0, Local1)
+ CH06(arg0, 29, 47)
+
+ // Acquire
+
+ Acquire(Local0, 100)
+ CH06(arg0, 30, 47)
+
+ // Add
+
+ Add(Local0, i000)
+ CH06(arg0, 31, 47)
+
+ Add(i000, Local0)
+ CH06(arg0, 32, 47)
+
+ Add(Local0, i000, Local1)
+ CH06(arg0, 33, 47)
+
+ Add(i000, Local0, Local1)
+ CH06(arg0, 34, 47)
+
+ // And
+
+ And(Local0, i000)
+ CH06(arg0, 35, 47)
+
+ And(i000, Local0)
+ CH06(arg0, 36, 47)
+
+ And(Local0, i000, Local1)
+ CH06(arg0, 37, 47)
+
+ And(i000, Local0, Local1)
+ CH06(arg0, 38, 47)
+
+ // Concatenate
+
+ Concatenate(Local0, i000)
+ CH06(arg0, 39, 47)
+
+ Concatenate(i000, Local0)
+ CH06(arg0, 40, 47)
+
+ Concatenate(Local0, i000, Local1)
+ CH06(arg0, 41, 47)
+
+ Concatenate(i000, Local0, Local1)
+ CH06(arg0, 42, 47)
+
+ // ConcatenateResTemplate
+
+ ConcatenateResTemplate(Local0, ResourceTemplate(){})
+ CH06(arg0, 43, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, Local0)
+ CH06(arg0, 44, 47)
+
+ ConcatenateResTemplate(Local0, ResourceTemplate(){}, Local1)
+ CH06(arg0, 45, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, Local0, Local1)
+ CH06(arg0, 46, 47)
+
+ // Divide
+
+ Divide(Local0, i000)
+ CH06(arg0, 47, 47)
+
+ Divide(i000, Local0)
+ CH06(arg0, 48, 47)
+
+ Divide(Local0, i000, Local2)
+ CH06(arg0, 49, 47)
+
+ Divide(i000, Local0, Local2)
+ CH06(arg0, 50, 47)
+
+ Divide(Local0, i000, Local2, Local1)
+ CH06(arg0, 51, 47)
+
+ Divide(i000, Local0, Local2, Local1)
+ CH06(arg0, 52, 47)
+
+ // Fatal
+
+ Fatal(0xff, 0xffffffff, Local0)
+ CH06(arg0, 53, 47)
+
+ // Index
+
+ Index(Local0, 0)
+ CH06(arg0, 54, 47)
+
+ Index("0", Local0)
+ CH06(arg0, 55, 47)
+
+ Index(Local0, 0, Local1)
+ CH06(arg0, 56, 47)
+
+ Index("0", Local0, Local1)
+ CH06(arg0, 57, 47)
+
+ // LEqual
+
+ LEqual(Local0, i000)
+ CH06(arg0, 58, 47)
+
+ LEqual(i000, Local0)
+ CH06(arg0, 59, 47)
+
+ // LGreater
+
+ LGreater(Local0, i000)
+ CH06(arg0, 60, 47)
+
+ LGreater(i000, Local0)
+ CH06(arg0, 61, 47)
+
+ // LGreaterEqual
+
+ LGreaterEqual(Local0, i000)
+ CH06(arg0, 62, 0xff)
+
+ LGreaterEqual(i000, Local0)
+ CH06(arg0, 63, 0xff)
+
+ // LLess
+
+ LLess(Local0, i000)
+ CH06(arg0, 64, 47)
+
+ LLess(i000, Local0)
+ CH06(arg0, 65, 47)
+
+ // LLessEqual
+
+ LLessEqual(Local0, i000)
+ CH06(arg0, 66, 0xff)
+
+ LLessEqual(i000, Local0)
+ CH06(arg0, 67, 0xff)
+
+ // LNotEqual
+
+ LNotEqual(Local0, i000)
+ CH06(arg0, 68, 0xff)
+
+ LNotEqual(i000, Local0)
+ CH06(arg0, 69, 0xff)
+
+ // LOr
+
+ LOr(Local0, i000)
+ CH06(arg0, 70, 47)
+
+ LOr(i000, Local0)
+ CH06(arg0, 71, 47)
+
+ // Mod
+
+ Mod(Local0, i000)
+ CH06(arg0, 72, 47)
+
+ Mod(i000, Local0)
+ CH06(arg0, 73, 47)
+
+ Mod(Local0, i000, Local1)
+ CH06(arg0, 74, 47)
+
+ Mod(i000, Local0, Local1)
+ CH06(arg0, 75, 47)
+
+ // Multiply
+
+ Multiply(Local0, i000)
+ CH06(arg0, 76, 47)
+
+ Multiply(i000, Local0)
+ CH06(arg0, 77, 47)
+
+ Multiply(Local0, i000, Local1)
+ CH06(arg0, 78, 47)
+
+ Multiply(i000, Local0, Local1)
+ CH06(arg0, 79, 47)
+
+ // NAnd
+
+ NAnd(Local0, i000)
+ CH06(arg0, 80, 47)
+
+ NAnd(i000, Local0)
+ CH06(arg0, 81, 47)
+
+ NAnd(Local0, i000, Local1)
+ CH06(arg0, 82, 47)
+
+ NAnd(i000, Local0, Local1)
+ CH06(arg0, 83, 47)
+
+ // NOr
+
+ NOr(Local0, i000)
+ CH06(arg0, 84, 47)
+
+ NOr(i000, Local0)
+ CH06(arg0, 85, 47)
+
+ NOr(Local0, i000, Local1)
+ CH06(arg0, 86, 47)
+
+ NOr(i000, Local0, Local1)
+ CH06(arg0, 87, 47)
+
+ // Or
+
+ Or(Local0, i000)
+ CH06(arg0, 88, 47)
+
+ Or(i000, Local0)
+ CH06(arg0, 89, 47)
+
+ Or(Local0, i000, Local1)
+ CH06(arg0, 90, 47)
+
+ Or(i000, Local0, Local1)
+ CH06(arg0, 91, 47)
+
+ // ShiftLeft
+
+ ShiftLeft(Local0, i000)
+ CH06(arg0, 92, 47)
+
+ ShiftLeft(i000, Local0)
+ CH06(arg0, 93, 47)
+
+ ShiftLeft(Local0, i000, Local1)
+ CH06(arg0, 94, 47)
+
+ ShiftLeft(i000, Local0, Local1)
+ CH06(arg0, 95, 47)
+
+ // ShiftRight
+
+ ShiftRight(Local0, i000)
+ CH06(arg0, 96, 47)
+
+ ShiftRight(i000, Local0)
+ CH06(arg0, 97, 47)
+
+ ShiftRight(Local0, i000, Local1)
+ CH06(arg0, 98, 47)
+
+ ShiftRight(i000, Local0, Local1)
+ CH06(arg0, 99, 47)
+
+ // Subtract
+
+ Subtract(Local0, i000)
+ CH06(arg0, 100, 47)
+
+ Subtract(i000, Local0)
+ CH06(arg0, 101, 47)
+
+ Subtract(Local0, i000, Local1)
+ CH06(arg0, 102, 47)
+
+ Subtract(i000, Local0, Local1)
+ CH06(arg0, 103, 47)
+
+ // ToString
+
+ ToString(Local0, 1)
+ CH06(arg0, 104, 47)
+
+ ToString(i000, Local0)
+ CH06(arg0, 105, 47)
+
+ ToString(Local0, 1, Local1)
+ CH06(arg0, 106, 47)
+
+ ToString(i000, Local0, Local1)
+ CH06(arg0, 107, 47)
+
+ // Wait
+
+ Wait(Local0, i000)
+ CH06(arg0, 108, 47)
+
+ Wait(e000, Local0)
+ CH06(arg0, 109, 47)
+
+ // XOr
+
+ XOr(Local0, i000)
+ CH06(arg0, 110, 47)
+
+ XOr(i000, Local0)
+ CH06(arg0, 111, 47)
+
+ XOr(Local0, i000, Local1)
+ CH06(arg0, 112, 47)
+
+ XOr(i000, Local0, Local1)
+ CH06(arg0, 113, 47)
+
+ // Mid
+
+ Mid(Local0, 1, 1)
+ CH06(arg0, 114, 47)
+
+ Mid("123", Local0, 1)
+ CH06(arg0, 115, 47)
+
+ Mid("123", 1, Local0)
+ CH06(arg0, 116, 47)
+
+ Mid(Local0, 1, 1, Local1)
+ CH06(arg0, 117, 47)
+
+ Mid("123", Local0, 1, Local1)
+ CH06(arg0, 118, 47)
+
+ Mid("123", 1, Local0, Local1)
+ CH06(arg0, 119, 47)
+
+ // Match
+
+ Match(Local0, MTR, 0, MTR, 0, 0)
+ CH06(arg0, 120, 47)
+
+ Match(Package(){1}, MTR, Local0, MTR, 0, 0)
+ CH06(arg0, 121, 47)
+
+ Match(Package(){1}, MTR, 0, MTR, Local0, 0)
+ CH06(arg0, 122, 47)
+
+ Match(Package(){1}, MTR, 0, MTR, 0, Local0)
+ CH06(arg0, 123, 47)
+ }
+
+ // Reference to Object
+ Method(m003, 2)
+ {
+ Store(ObjectType(arg1), Local0)
+ if (LNotEqual(Local0, 11)) {
+ err(arg0, z103, 200, 0, 0, Local0, 11)
+ return (1)
+ }
+
+ DeRefOf(arg1)
+ CH03(ts, z103, 5, 0, 0)
+
+ // CondRefOf
+
+ CondRefOf(DeRefOf(arg1))
+ CH06(arg0, 0, 47)
+
+ CondRefOf(DeRefOf(arg1), Local1)
+ CH06(arg0, 1, 47)
+
+ // CopyObject
+
+ CopyObject(DeRefOf(arg1), Local1)
+ CH03(ts, z103, 2, 0, 0)
+
+ // Decrement
+
+ Decrement(DeRefOf(arg1))
+ CH06(arg0, 3, 47)
+
+ // DerefOf
+
+ DerefOf(DeRefOf(arg1))
+ CH06(arg0, 4, 47)
+
+ // FindSetLeftBit
+
+ FindSetLeftBit(DeRefOf(arg1))
+ CH06(arg0, 5, 47)
+
+ FindSetLeftBit(DeRefOf(arg1), Local1)
+ CH06(arg0, 6, 47)
+
+ // FindSetRightBit
+
+ FindSetRightBit(DeRefOf(arg1))
+ CH06(arg0, 7, 47)
+
+ FindSetRightBit(DeRefOf(arg1), Local1)
+ CH06(arg0, 8, 47)
+
+ // FromBCD
+
+ FromBCD(DeRefOf(arg1))
+ CH06(arg0, 9, 47)
+
+ FromBCD(DeRefOf(arg1), Local1)
+ CH06(arg0, 10, 47)
+
+ // Increment
+
+ Increment(DeRefOf(arg1))
+ CH06(arg0, 11, 47)
+
+ // LNot
+
+ LNot(DeRefOf(arg1))
+ CH06(arg0, 12, 47)
+
+ // Not
+
+ Not(DeRefOf(arg1))
+ CH06(arg0, 13, 47)
+
+ Not(DeRefOf(arg1), Local1)
+ CH06(arg0, 14, 47)
+
+ // ObjectType
+
+ ObjectType(DeRefOf(arg1))
+ CH03(ts, z103, 6, 0, 0)
+
+ // RefOf
+
+ RefOf(DeRefOf(arg1))
+ CH06(arg0, 15, 47)
+
+ // Release
+
+ // Reset
+
+ // Signal
+
+ // SizeOf
+
+ SizeOf(DeRefOf(arg1))
+ CH06(arg0, 16, 47)
+
+ // Sleep
+
+ Sleep(DeRefOf(arg1))
+ CH06(arg0, 17, 47)
+
+ // Stall
+
+ Stall(DeRefOf(arg1))
+ CH06(arg0, 18, 47)
+
+ // Store
+
+ Store(DeRefOf(arg1), Local1)
+ CH06(arg0, 19, 47)
+
+ // ToBCD
+
+ ToBCD(DeRefOf(arg1))
+ CH06(arg0, 20, 47)
+
+ ToBCD(DeRefOf(arg1), Local1)
+ CH06(arg0, 21, 47)
+
+ // ToBuffer
+
+ ToBuffer(DeRefOf(arg1))
+ CH06(arg0, 22, 47)
+
+ ToBuffer(DeRefOf(arg1), Local1)
+ CH06(arg0, 23, 47)
+
+ // ToDecimalString
+
+ ToDecimalString(DeRefOf(arg1))
+ CH06(arg0, 24, 47)
+
+ ToDecimalString(DeRefOf(arg1), Local1)
+ CH06(arg0, 25, 47)
+
+ // ToHexString
+
+ ToHexString(DeRefOf(arg1))
+ CH06(arg0, 26, 47)
+
+ ToHexString(DeRefOf(arg1), Local1)
+ CH06(arg0, 27, 47)
+
+ // ToInteger
+
+ ToInteger(DeRefOf(arg1))
+ CH06(arg0, 28, 47)
+
+ ToInteger(DeRefOf(arg1), Local1)
+ CH06(arg0, 29, 47)
+
+ // Acquire
+
+ // Add
+
+ Add(DeRefOf(arg1), i000)
+ CH06(arg0, 31, 47)
+
+ Add(i000, DeRefOf(arg1))
+ CH06(arg0, 32, 47)
+
+ Add(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 33, 47)
+
+ Add(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 34, 47)
+
+ // And
+
+ And(DeRefOf(arg1), i000)
+ CH06(arg0, 35, 47)
+
+ And(i000, DeRefOf(arg1))
+ CH06(arg0, 36, 47)
+
+ And(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 37, 47)
+
+ And(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 38, 47)
+
+ // Concatenate
+
+ Concatenate(DeRefOf(arg1), i000)
+ CH06(arg0, 39, 47)
+
+ Concatenate(i000, DeRefOf(arg1))
+ CH06(arg0, 40, 47)
+
+ Concatenate(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 41, 47)
+
+ Concatenate(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 42, 47)
+
+ // ConcatenateResTemplate
+
+ ConcatenateResTemplate(DeRefOf(arg1), ResourceTemplate(){})
+ CH06(arg0, 43, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, DeRefOf(arg1))
+ CH06(arg0, 44, 47)
+
+ ConcatenateResTemplate(DeRefOf(arg1), ResourceTemplate(){}, Local1)
+ CH06(arg0, 45, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, DeRefOf(arg1), Local1)
+ CH06(arg0, 46, 47)
+
+ // Divide
+
+ Divide(DeRefOf(arg1), i000)
+ CH06(arg0, 47, 47)
+
+ Divide(i000, DeRefOf(arg1))
+ CH06(arg0, 48, 47)
+
+ Divide(DeRefOf(arg1), i000, Local2)
+ CH06(arg0, 49, 47)
+
+ Divide(i000, DeRefOf(arg1), Local2)
+ CH06(arg0, 50, 47)
+
+ Divide(DeRefOf(arg1), i000, Local2, Local1)
+ CH06(arg0, 51, 47)
+
+ Divide(i000, DeRefOf(arg1), Local2, Local1)
+ CH06(arg0, 52, 47)
+
+ // Fatal
+
+ Fatal(0xff, 0xffffffff, DeRefOf(arg1))
+ CH06(arg0, 53, 47)
+
+ // Index
+
+ Index(DeRefOf(arg1), 0)
+ CH06(arg0, 54, 47)
+
+ Index("0", DeRefOf(arg1))
+ CH06(arg0, 55, 47)
+
+ Index(DeRefOf(arg1), 0, Local1)
+ CH06(arg0, 56, 47)
+
+ Index("0", DeRefOf(arg1), Local1)
+ CH06(arg0, 57, 47)
+
+ // LEqual
+
+ LEqual(DeRefOf(arg1), i000)
+ CH06(arg0, 58, 47)
+
+ LEqual(i000, DeRefOf(arg1))
+ CH06(arg0, 59, 47)
+
+ // LGreater
+
+ LGreater(DeRefOf(arg1), i000)
+ CH06(arg0, 60, 47)
+
+ LGreater(i000, DeRefOf(arg1))
+ CH06(arg0, 61, 47)
+
+ // LGreaterEqual
+
+ LGreaterEqual(DeRefOf(arg1), i000)
+ CH06(arg0, 62, 0xff)
+
+ LGreaterEqual(i000, DeRefOf(arg1))
+ CH06(arg0, 63, 0xff)
+
+ // LLess
+
+ LLess(DeRefOf(arg1), i000)
+ CH06(arg0, 64, 47)
+
+ LLess(i000, DeRefOf(arg1))
+ CH06(arg0, 65, 47)
+
+ // LLessEqual
+
+ LLessEqual(DeRefOf(arg1), i000)
+ CH06(arg0, 66, 0xff)
+
+ LLessEqual(i000, DeRefOf(arg1))
+ CH06(arg0, 67, 0xff)
+
+ // LNotEqual
+
+ LNotEqual(DeRefOf(arg1), i000)
+ CH06(arg0, 68, 0xff)
+
+ LNotEqual(i000, DeRefOf(arg1))
+ CH06(arg0, 69, 0xff)
+
+ // LOr
+
+ LOr(DeRefOf(arg1), i000)
+ CH06(arg0, 70, 47)
+
+ LOr(i000, DeRefOf(arg1))
+ CH06(arg0, 71, 47)
+
+ // Mod
+
+ Mod(DeRefOf(arg1), i000)
+ CH06(arg0, 72, 47)
+
+ Mod(i000, DeRefOf(arg1))
+ CH06(arg0, 73, 47)
+
+ Mod(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 74, 47)
+
+ Mod(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 75, 47)
+
+ // Multiply
+
+ Multiply(DeRefOf(arg1), i000)
+ CH06(arg0, 76, 47)
+
+ Multiply(i000, DeRefOf(arg1))
+ CH06(arg0, 77, 47)
+
+ Multiply(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 78, 47)
+
+ Multiply(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 79, 47)
+
+ // NAnd
+
+ NAnd(DeRefOf(arg1), i000)
+ CH06(arg0, 80, 47)
+
+ NAnd(i000, DeRefOf(arg1))
+ CH06(arg0, 81, 47)
+
+ NAnd(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 82, 47)
+
+ NAnd(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 83, 47)
+
+ // NOr
+
+ NOr(DeRefOf(arg1), i000)
+ CH06(arg0, 84, 47)
+
+ NOr(i000, DeRefOf(arg1))
+ CH06(arg0, 85, 47)
+
+ NOr(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 86, 47)
+
+ NOr(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 87, 47)
+
+ // Or
+
+ Or(DeRefOf(arg1), i000)
+ CH06(arg0, 88, 47)
+
+ Or(i000, DeRefOf(arg1))
+ CH06(arg0, 89, 47)
+
+ Or(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 90, 47)
+
+ Or(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 91, 47)
+
+ // ShiftLeft
+
+ ShiftLeft(DeRefOf(arg1), i000)
+ CH06(arg0, 92, 47)
+
+ ShiftLeft(i000, DeRefOf(arg1))
+ CH06(arg0, 93, 47)
+
+ ShiftLeft(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 94, 47)
+
+ ShiftLeft(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 95, 47)
+
+ // ShiftRight
+
+ ShiftRight(DeRefOf(arg1), i000)
+ CH06(arg0, 96, 47)
+
+ ShiftRight(i000, DeRefOf(arg1))
+ CH06(arg0, 97, 47)
+
+ ShiftRight(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 98, 47)
+
+ ShiftRight(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 99, 47)
+
+ // Subtract
+
+ Subtract(DeRefOf(arg1), i000)
+ CH06(arg0, 100, 47)
+
+ Subtract(i000, DeRefOf(arg1))
+ CH06(arg0, 101, 47)
+
+ Subtract(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 102, 47)
+
+ Subtract(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 103, 47)
+
+ // ToString
+
+ ToString(DeRefOf(arg1), 1)
+ CH06(arg0, 104, 47)
+
+ ToString(i000, DeRefOf(arg1))
+ CH06(arg0, 105, 47)
+
+ ToString(DeRefOf(arg1), 1, Local1)
+ CH06(arg0, 106, 47)
+
+ ToString(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 107, 47)
+
+ // Wait
+
+ Wait(e000, DeRefOf(arg1))
+ CH06(arg0, 109, 47)
+
+ // XOr
+
+ XOr(DeRefOf(arg1), i000)
+ CH06(arg0, 110, 47)
+
+ XOr(i000, DeRefOf(arg1))
+ CH06(arg0, 111, 47)
+
+ XOr(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 112, 47)
+
+ XOr(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 113, 47)
+
+ // Mid
+
+ Mid(DeRefOf(arg1), 1, 1)
+ CH06(arg0, 114, 47)
+
+ Mid("123", DeRefOf(arg1), 1)
+ CH06(arg0, 115, 47)
+
+ Mid("123", 1, DeRefOf(arg1))
+ CH06(arg0, 116, 47)
+
+ Mid(DeRefOf(arg1), 1, 1, Local1)
+ CH06(arg0, 117, 47)
+
+ Mid("123", DeRefOf(arg1), 1, Local1)
+ CH06(arg0, 118, 47)
+
+ Mid("123", 1, DeRefOf(arg1), Local1)
+ CH06(arg0, 119, 47)
+
+ // Match
+
+ Match(DeRefOf(arg1), MTR, 0, MTR, 0, 0)
+ CH06(arg0, 120, 47)
+
+ Match(Package(){1}, MTR, DeRefOf(arg1), MTR, 0, 0)
+ CH06(arg0, 121, 47)
+
+ Match(Package(){1}, MTR, 0, MTR, DeRefOf(arg1), 0)
+ CH06(arg0, 122, 47)
+
+ Match(Package(){1}, MTR, 0, MTR, 0, DeRefOf(arg1))
+ CH06(arg0, 123, 47)
+
+ return (0)
+ }
+
+ // Result of Method invocation
+ Method(m004, 1)
+ {
+ Name(i000, 0) // Label to check m000 invocations
+
+ Method(m000)
+ {
+ CopyObject(pw00, Local0)
+ Return (Local0)
+ }
+
+ // CondRefOf
+
+ if (y601) {
+ CondRefOf(m000())
+ CH06(arg0, 0, 47)
+
+ CondRefOf(m000(), Local1)
+ CH06(arg0, 1, 47)
+ }
+
+ // CopyObject
+
+ CopyObject(m000(), Local1)
+ CH03(ts, z103, 7, 0, 0)
+
+ // Decrement
+
+ Decrement(m000())
+ CH06(arg0, 2, 47)
+
+ // DerefOf
+
+ DerefOf(m000())
+ CH06(arg0, 3, 47)
+
+ // FindSetLeftBit
+
+ FindSetLeftBit(m000())
+ CH06(arg0, 4, 47)
+
+ FindSetLeftBit(m000(), Local1)
+ CH06(arg0, 5, 47)
+
+ // FindSetRightBit
+
+ FindSetRightBit(m000())
+ CH06(arg0, 6, 47)
+
+ FindSetRightBit(m000(), Local1)
+ CH06(arg0, 7, 47)
+
+ // FromBCD
+
+ FromBCD(m000())
+ CH06(arg0, 8, 47)
+
+ FromBCD(m000(), Local1)
+ CH06(arg0, 9, 47)
+
+ // Increment
+
+ Increment(m000())
+ CH06(arg0, 10, 47)
+
+ // LNot
+
+ LNot(m000())
+ CH06(arg0, 11, 47)
+
+ // Not
+
+ Not(m000())
+ CH06(arg0, 12, 47)
+
+ Not(m000(), Local1)
+ CH06(arg0, 13, 47)
+
+ // ObjectType
+
+ ObjectType(m000())
+ CH03(ts, z103, 8, 0, 0)
+
+ // RefOf
+
+ if (y601) {
+ RefOf(m000())
+ CH06(arg0, 14, 47)
+ }
+
+ // Release
+
+ Release(m000())
+ CH06(arg0, 13, 47)
+
+ // Reset
+
+ Reset(m000())
+ CH06(arg0, 14, 47)
+
+ // Signal
+
+ Signal(m000())
+ CH06(arg0, 15, 47)
+
+ // SizeOf
+
+ SizeOf(m000())
+ CH06(arg0, 16, 47)
+
+ // Sleep
+
+ Sleep(m000())
+ CH06(arg0, 17, 47)
+
+ // Stall
+
+ Stall(m000())
+ CH06(arg0, 18, 47)
+
+ // Store
+
+ Store(m000(), Local1)
+ CH06(arg0, 19, 47)
+
+ // ToBCD
+
+ ToBCD(m000())
+ CH06(arg0, 20, 47)
+
+ ToBCD(m000(), Local1)
+ CH06(arg0, 21, 47)
+
+ // ToBuffer
+
+ ToBuffer(m000())
+ CH06(arg0, 22, 47)
+
+ ToBuffer(m000(), Local1)
+ CH06(arg0, 23, 47)
+
+ // ToDecimalString
+
+ ToDecimalString(m000())
+ CH06(arg0, 24, 47)
+
+ ToDecimalString(m000(), Local1)
+ CH06(arg0, 25, 47)
+
+ // ToHexString
+
+ ToHexString(m000())
+ CH06(arg0, 26, 47)
+
+ ToHexString(m000(), Local1)
+ CH06(arg0, 27, 47)
+
+ // ToInteger
+
+ ToInteger(m000())
+ CH06(arg0, 28, 47)
+
+ ToInteger(m000(), Local1)
+ CH06(arg0, 29, 47)
+
+ // Acquire
+
+ Acquire(m000(), 100)
+ CH06(arg0, 30, 47)
+
+ // Add
+
+ Add(m000(), i000)
+ CH06(arg0, 31, 47)
+
+ Add(i000, m000())
+ CH06(arg0, 32, 47)
+
+ Add(m000(), i000, Local1)
+ CH06(arg0, 33, 47)
+
+ Add(i000, m000(), Local1)
+ CH06(arg0, 34, 47)
+
+ // And
+
+ And(m000(), i000)
+ CH06(arg0, 35, 47)
+
+ And(i000, m000())
+ CH06(arg0, 36, 47)
+
+ And(m000(), i000, Local1)
+ CH06(arg0, 37, 47)
+
+ And(i000, m000(), Local1)
+ CH06(arg0, 38, 47)
+
+ // Concatenate
+
+ Concatenate(m000(), i000)
+ CH06(arg0, 39, 47)
+
+ Concatenate(i000, m000())
+ CH06(arg0, 40, 47)
+
+ Concatenate(m000(), i000, Local1)
+ CH06(arg0, 41, 47)
+
+ Concatenate(i000, m000(), Local1)
+ CH06(arg0, 42, 47)
+
+ // ConcatenateResTemplate
+
+ ConcatenateResTemplate(m000(), ResourceTemplate(){})
+ CH06(arg0, 43, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, m000())
+ CH06(arg0, 44, 47)
+
+ ConcatenateResTemplate(m000(), ResourceTemplate(){}, Local1)
+ CH06(arg0, 45, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, m000(), Local1)
+ CH06(arg0, 46, 47)
+
+ // Divide
+
+ Divide(m000(), i000)
+ CH06(arg0, 47, 47)
+
+ Divide(i000, m000())
+ CH06(arg0, 48, 47)
+
+ Divide(m000(), i000, Local2)
+ CH06(arg0, 49, 47)
+
+ Divide(i000, m000(), Local2)
+ CH06(arg0, 50, 47)
+
+ Divide(m000(), i000, Local2, Local1)
+ CH06(arg0, 51, 47)
+
+ Divide(i000, m000(), Local2, Local1)
+ CH06(arg0, 52, 47)
+
+ // Fatal
+
+ Fatal(0xff, 0xffffffff, m000())
+ CH06(arg0, 53, 47)
+
+ // Index
+
+ Index(m000(), 0)
+ CH06(arg0, 54, 47)
+
+ Index("0", m000())
+ CH06(arg0, 55, 47)
+
+ Index(m000(), 0, Local1)
+ CH06(arg0, 56, 47)
+
+ Index("0", m000(), Local1)
+ CH06(arg0, 57, 47)
+
+ // LEqual
+
+ LEqual(m000(), i000)
+ CH06(arg0, 58, 47)
+
+ LEqual(i000, m000())
+ CH06(arg0, 59, 47)
+
+ // LGreater
+
+ LGreater(m000(), i000)
+ CH06(arg0, 60, 47)
+
+ LGreater(i000, m000())
+ CH06(arg0, 61, 47)
+
+ // LGreaterEqual
+
+ LGreaterEqual(m000(), i000)
+ CH06(arg0, 62, 0xff)
+
+ LGreaterEqual(i000, m000())
+ CH06(arg0, 63, 0xff)
+
+ // LLess
+
+ LLess(m000(), i000)
+ CH06(arg0, 64, 47)
+
+ LLess(i000, m000())
+ CH06(arg0, 65, 47)
+
+ // LLessEqual
+
+ LLessEqual(m000(), i000)
+ CH06(arg0, 66, 0xff)
+
+ LLessEqual(i000, m000())
+ CH06(arg0, 67, 0xff)
+
+ // LNotEqual
+
+ LNotEqual(m000(), i000)
+ CH06(arg0, 68, 0xff)
+
+ LNotEqual(i000, m000())
+ CH06(arg0, 69, 0xff)
+
+ // LOr
+
+ LOr(m000(), i000)
+ CH06(arg0, 70, 47)
+
+ LOr(i000, m000())
+ CH06(arg0, 71, 47)
+
+ // Mod
+
+ Mod(m000(), i000)
+ CH06(arg0, 72, 47)
+
+ Mod(i000, m000())
+ CH06(arg0, 73, 47)
+
+ Mod(m000(), i000, Local1)
+ CH06(arg0, 74, 47)
+
+ Mod(i000, m000(), Local1)
+ CH06(arg0, 75, 47)
+
+ // Multiply
+
+ Multiply(m000(), i000)
+ CH06(arg0, 76, 47)
+
+ Multiply(i000, m000())
+ CH06(arg0, 77, 47)
+
+ Multiply(m000(), i000, Local1)
+ CH06(arg0, 78, 47)
+
+ Multiply(i000, m000(), Local1)
+ CH06(arg0, 79, 47)
+
+ // NAnd
+
+ NAnd(m000(), i000)
+ CH06(arg0, 80, 47)
+
+ NAnd(i000, m000())
+ CH06(arg0, 81, 47)
+
+ NAnd(m000(), i000, Local1)
+ CH06(arg0, 82, 47)
+
+ NAnd(i000, m000(), Local1)
+ CH06(arg0, 83, 47)
+
+ // NOr
+
+ NOr(m000(), i000)
+ CH06(arg0, 84, 47)
+
+ NOr(i000, m000())
+ CH06(arg0, 85, 47)
+
+ NOr(m000(), i000, Local1)
+ CH06(arg0, 86, 47)
+
+ NOr(i000, m000(), Local1)
+ CH06(arg0, 87, 47)
+
+ // Or
+
+ Or(m000(), i000)
+ CH06(arg0, 88, 47)
+
+ Or(i000, m000())
+ CH06(arg0, 89, 47)
+
+ Or(m000(), i000, Local1)
+ CH06(arg0, 90, 47)
+
+ Or(i000, m000(), Local1)
+ CH06(arg0, 91, 47)
+
+ // ShiftLeft
+
+ ShiftLeft(m000(), i000)
+ CH06(arg0, 92, 47)
+
+ ShiftLeft(i000, m000())
+ CH06(arg0, 93, 47)
+
+ ShiftLeft(m000(), i000, Local1)
+ CH06(arg0, 94, 47)
+
+ ShiftLeft(i000, m000(), Local1)
+ CH06(arg0, 95, 47)
+
+ // ShiftRight
+
+ ShiftRight(m000(), i000)
+ CH06(arg0, 96, 47)
+
+ ShiftRight(i000, m000())
+ CH06(arg0, 97, 47)
+
+ ShiftRight(m000(), i000, Local1)
+ CH06(arg0, 98, 47)
+
+ ShiftRight(i000, m000(), Local1)
+ CH06(arg0, 99, 47)
+
+ // Subtract
+
+ Subtract(m000(), i000)
+ CH06(arg0, 100, 47)
+
+ Subtract(i000, m000())
+ CH06(arg0, 101, 47)
+
+ Subtract(m000(), i000, Local1)
+ CH06(arg0, 102, 47)
+
+ Subtract(i000, m000(), Local1)
+ CH06(arg0, 103, 47)
+
+ // ToString
+
+ ToString(m000(), 1)
+ CH06(arg0, 104, 47)
+
+ ToString(i000, m000())
+ CH06(arg0, 105, 47)
+
+ ToString(m000(), 1, Local1)
+ CH06(arg0, 106, 47)
+
+ ToString(i000, m000(), Local1)
+ CH06(arg0, 107, 47)
+
+ // Wait
+
+ Wait(m000(), i000)
+ CH06(arg0, 108, 47)
+
+ Wait(e000, m000())
+ CH06(arg0, 109, 47)
+
+ // XOr
+
+ XOr(m000(), i000)
+ CH06(arg0, 110, 47)
+
+ XOr(i000, m000())
+ CH06(arg0, 111, 47)
+
+ XOr(m000(), i000, Local1)
+ CH06(arg0, 112, 47)
+
+ XOr(i000, m000(), Local1)
+ CH06(arg0, 113, 47)
+
+ // Mid
+
+ Mid(m000(), 1, 1)
+ CH06(arg0, 114, 47)
+
+ Mid("123", m000(), 1)
+ CH06(arg0, 115, 47)
+
+ Mid("123", 1, m000())
+ CH06(arg0, 116, 47)
+
+ Mid(m000(), 1, 1, Local1)
+ CH06(arg0, 117, 47)
+
+ Mid("123", m000(), 1, Local1)
+ CH06(arg0, 118, 47)
+
+ Mid("123", 1, m000(), Local1)
+ CH06(arg0, 119, 47)
+
+ // Match
+
+ Match(m000(), MTR, 0, MTR, 0, 0)
+ CH06(arg0, 120, 47)
+
+ Match(Package(){1}, MTR, m000(), MTR, 0, 0)
+ CH06(arg0, 121, 47)
+
+ Match(Package(){1}, MTR, 0, MTR, m000(), 0)
+ CH06(arg0, 122, 47)
+
+ Match(Package(){1}, MTR, 0, MTR, 0, m000())
+ CH06(arg0, 123, 47)
+ }
+
+ // Reference to Object as Result of Method invocation
+ Method(m005, 1)
+ {
+ PowerResource(pw02, 1, 0) {Method(m000){return (0)}}
+
+ Name(i000, 0) // Label to check m000 invocations
+
+ Method(m000, 2)
+ {
+ Store(arg0, i000)
+ if (LEqual(arg1, 0)) {
+ Store(Refof(pw00), Local0)
+ } elseif (LEqual(arg1, 1)) {
+ Store(Refof(pw02), Local0)
+ }
+ Return (Local0)
+ }
+
+ Method(CH00, 2)
+ {
+ if (LNotEqual(i000, arg1)) {
+ err(arg0, z103, 0, 0, 0, i000, arg1)
+ }
+ }
+
+ Name(lpN0, 2)
+ Name(lpC0, 0)
+
+ While (lpN0) {
+ Multiply(3, lpC0, Local0)
+
+ Store(0, i000)
+
+ DerefOf(m000(1, lpC0))
+ CH03(ts, z103, Add(9, lpC0), 0, 0)
+ CH00(arg0, 1)
+
+ DerefOf(DerefOf(m000(2, lpC0)))
+ CH06(arg0, Add(1, Local0), 47)
+ CH00(arg0, 2)
+
+ Index(DerefOf(m000(3, lpC0)), 0)
+ CH06(arg0, Add(2, Local0), 47)
+ CH00(arg0, 3)
+
+ Match(DerefOf(m000(4, lpC0)), MTR, 0, MTR, 0, 0)
+ CH06(arg0, Add(3, Local0), 47)
+ CH00(arg0, 4)
+
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+ }
+
+ SET0(z103, ts, 0)
+
+ CH03(ts, z103, 11, 0, 0)
+
+ // Local Named Object
+ m000(ts)
+
+ // Global Named Object
+ m001(ts)
+
+ // Local
+ m002(Concatenate(ts, "-m002"))
+
+ // Reference to Local Named Object
+
+ m003(Concatenate(ts, "-m003-RefLocName"), RefOf(pw01))
+
+ Store(RefOf(pw01), Local0)
+ m003(Concatenate(ts, "-m003-RefLocName2"), Local0)
+
+ CondRefOf(pw01, Local0)
+ m003(Concatenate(ts, "-m003-CondRefLocName"), Local0)
+
+ m003(Concatenate(ts, "-m003-RefGlobName"), RefOf(pw00))
+
+ Store(RefOf(pw00), Local0)
+ m003(Concatenate(ts, "-m003-RefGlobName2"), Local0)
+
+ CondRefOf(pw00, Local0)
+ m003(Concatenate(ts, "-m003-CondRefGlobName"), Local0)
+
+ // Reference to Object as element of Package
+
+ Name(pp00, Package(){pw00})
+
+ if (y113) {
+ m003(Concatenate(ts, "-m003-Index"), Index(pp00, 0))
+ }
+
+ Store(Index(pp00, 0), Local1)
+ m003(Concatenate(ts, "-m003-Index2"), Local1)
+
+ if (y113) {
+ m003(Concatenate(ts, "-m003-Index3"), Index(pp00, 0, Local2))
+ }
+
+ Index(pp00, 0, Local3)
+ m003(Concatenate(ts, "-m003-Index4"), Local3)
+
+ Store(Index(pp00, 0, Local4), Local5)
+ m003(Concatenate(ts, "-m003-Index5"), Local5)
+
+ // Result of Method invocation
+ m004(Concatenate(ts, "-m004"))
+
+ // Reference to Object as Result of Method invocation
+ m005(Concatenate(ts, "-m005"))
+
+ RST0()
+}
diff --git a/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_12_proc.asl b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_12_proc.asl
new file mode 100644
index 000000000..c2375d384
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_12_proc.asl
@@ -0,0 +1,1678 @@
+/*
+ * 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.
+ */
+
+/*
+ * Processor
+ *
+ * (verify exceptions caused by the imprope use of Processor type objects)
+ */
+
+Name(z104, 104)
+
+Processor(pr10, 0, 0xFFFFFFFF, 0) {}
+
+// Expected exceptions:
+//
+// 47 - AE_AML_OPERAND_TYPE
+//
+Method(m4bc)
+{
+ Name(ts, "m4bc")
+
+ Processor(prc1, 0, 0xFFFFFFFF, 0) {}
+
+ Event(e000)
+
+ Name(i000, 0)
+
+ // Local Named Object
+ Method(m000, 1)
+ {
+ Processor(prc2, 0, 0xFFFFFFFF, 0) {}
+
+ if (y083) {
+ DerefOf(prc2)
+ CH06(arg0, 0, 47)
+ }
+ }
+
+ // Global Named Object
+ Method(m001, 1)
+ {
+ if (y083) {
+ DerefOf(pr10)
+ CH06(arg0, 1, 47)
+ }
+ }
+
+ // Local
+ Method(m002, 1)
+ {
+ Processor(prc2, 0, 0xFFFFFFFF, 0) {}
+
+ Event(e000)
+
+ CopyObject(prc2, Local0)
+
+ // CondRefOf
+
+ CondRefOf(Local0)
+ CH03(ts, z104, 0, 0, 0)
+
+ CondRefOf(Local0, Local1)
+ CH03(ts, z104, 1, 0, 0)
+
+ // CopyObject
+
+ CopyObject(Local0, Local1)
+ CH03(ts, z104, 2, 0, 0)
+
+ // Decrement
+
+ Decrement(Local0)
+ CH06(arg0, 1, 47)
+
+ // DerefOf
+
+ DerefOf(Local0)
+ CH06(arg0, 2, 47)
+
+ // FindSetLeftBit
+
+ FindSetLeftBit(Local0)
+ CH06(arg0, 3, 47)
+
+ FindSetLeftBit(Local0, Local1)
+ CH06(arg0, 4, 47)
+
+ // FindSetRightBit
+
+ FindSetRightBit(Local0)
+ CH06(arg0, 5, 47)
+
+ FindSetRightBit(Local0, Local1)
+ CH06(arg0, 6, 47)
+
+ // FromBCD
+
+ FromBCD(Local0)
+ CH06(arg0, 7, 47)
+
+ FromBCD(Local0, Local1)
+ CH06(arg0, 8, 47)
+
+ // Increment
+
+ Increment(Local0)
+ CH06(arg0, 9, 47)
+
+ // LNot
+
+ LNot(Local0)
+ CH06(arg0, 10, 47)
+
+ // Not
+
+ Not(Local0)
+ CH06(arg0, 11, 47)
+
+ Not(Local0, Local1)
+ CH06(arg0, 12, 47)
+
+ // ObjectType
+
+ ObjectType(Local0)
+ CH03(ts, z104, 3, 0, 0)
+
+ // RefOf
+
+ RefOf(Local0)
+ CH03(ts, z104, 4, 0, 0)
+
+ // Release
+
+ Release(Local0)
+ CH06(arg0, 13, 47)
+
+ // Reset
+
+ Reset(Local0)
+ CH06(arg0, 14, 47)
+
+ // Signal
+
+ Signal(Local0)
+ CH06(arg0, 15, 47)
+
+ // SizeOf
+
+ SizeOf(Local0)
+ CH06(arg0, 16, 47)
+
+ // Sleep
+
+ Sleep(Local0)
+ CH06(arg0, 17, 47)
+
+ // Stall
+
+ Stall(Local0)
+ CH06(arg0, 18, 47)
+
+ // Store
+
+ Store(Local0, Local1)
+ CH06(arg0, 19, 47)
+
+ // ToBCD
+
+ ToBCD(Local0)
+ CH06(arg0, 20, 47)
+
+ ToBCD(Local0, Local1)
+ CH06(arg0, 21, 47)
+
+ // ToBuffer
+
+ ToBuffer(Local0)
+ CH06(arg0, 22, 47)
+
+ ToBuffer(Local0, Local1)
+ CH06(arg0, 23, 47)
+
+ // ToDecimalString
+
+ ToDecimalString(Local0)
+ CH06(arg0, 24, 47)
+
+ ToDecimalString(Local0, Local1)
+ CH06(arg0, 25, 47)
+
+ // ToHexString
+
+ ToHexString(Local0)
+ CH06(arg0, 26, 47)
+
+ ToHexString(Local0, Local1)
+ CH06(arg0, 27, 47)
+
+ // ToInteger
+
+ ToInteger(Local0)
+ CH06(arg0, 28, 47)
+
+ ToInteger(Local0, Local1)
+ CH06(arg0, 29, 47)
+
+ // Acquire
+
+ Acquire(Local0, 100)
+ CH06(arg0, 30, 47)
+
+ // Add
+
+ Add(Local0, i000)
+ CH06(arg0, 31, 47)
+
+ Add(i000, Local0)
+ CH06(arg0, 32, 47)
+
+ Add(Local0, i000, Local1)
+ CH06(arg0, 33, 47)
+
+ Add(i000, Local0, Local1)
+ CH06(arg0, 34, 47)
+
+ // And
+
+ And(Local0, i000)
+ CH06(arg0, 35, 47)
+
+ And(i000, Local0)
+ CH06(arg0, 36, 47)
+
+ And(Local0, i000, Local1)
+ CH06(arg0, 37, 47)
+
+ And(i000, Local0, Local1)
+ CH06(arg0, 38, 47)
+
+ // Concatenate
+
+ Concatenate(Local0, i000)
+ CH06(arg0, 39, 47)
+
+ Concatenate(i000, Local0)
+ CH06(arg0, 40, 47)
+
+ Concatenate(Local0, i000, Local1)
+ CH06(arg0, 41, 47)
+
+ Concatenate(i000, Local0, Local1)
+ CH06(arg0, 42, 47)
+
+ // ConcatenateResTemplate
+
+ ConcatenateResTemplate(Local0, ResourceTemplate(){})
+ CH06(arg0, 43, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, Local0)
+ CH06(arg0, 44, 47)
+
+ ConcatenateResTemplate(Local0, ResourceTemplate(){}, Local1)
+ CH06(arg0, 45, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, Local0, Local1)
+ CH06(arg0, 46, 47)
+
+ // Divide
+
+ Divide(Local0, i000)
+ CH06(arg0, 47, 47)
+
+ Divide(i000, Local0)
+ CH06(arg0, 48, 47)
+
+ Divide(Local0, i000, Local2)
+ CH06(arg0, 49, 47)
+
+ Divide(i000, Local0, Local2)
+ CH06(arg0, 50, 47)
+
+ Divide(Local0, i000, Local2, Local1)
+ CH06(arg0, 51, 47)
+
+ Divide(i000, Local0, Local2, Local1)
+ CH06(arg0, 52, 47)
+
+ // Fatal
+
+ Fatal(0xff, 0xffffffff, Local0)
+ CH06(arg0, 53, 47)
+
+ // Index
+
+ Index(Local0, 0)
+ CH06(arg0, 54, 47)
+
+ Index("0", Local0)
+ CH06(arg0, 55, 47)
+
+ Index(Local0, 0, Local1)
+ CH06(arg0, 56, 47)
+
+ Index("0", Local0, Local1)
+ CH06(arg0, 57, 47)
+
+ // LEqual
+
+ LEqual(Local0, i000)
+ CH06(arg0, 58, 47)
+
+ LEqual(i000, Local0)
+ CH06(arg0, 59, 47)
+
+ // LGreater
+
+ LGreater(Local0, i000)
+ CH06(arg0, 60, 47)
+
+ LGreater(i000, Local0)
+ CH06(arg0, 61, 47)
+
+ // LGreaterEqual
+
+ LGreaterEqual(Local0, i000)
+ CH06(arg0, 62, 0xff)
+
+ LGreaterEqual(i000, Local0)
+ CH06(arg0, 63, 0xff)
+
+ // LLess
+
+ LLess(Local0, i000)
+ CH06(arg0, 64, 47)
+
+ LLess(i000, Local0)
+ CH06(arg0, 65, 47)
+
+ // LLessEqual
+
+ LLessEqual(Local0, i000)
+ CH06(arg0, 66, 0xff)
+
+ LLessEqual(i000, Local0)
+ CH06(arg0, 67, 0xff)
+
+ // LNotEqual
+
+ LNotEqual(Local0, i000)
+ CH06(arg0, 68, 0xff)
+
+ LNotEqual(i000, Local0)
+ CH06(arg0, 69, 0xff)
+
+ // LOr
+
+ LOr(Local0, i000)
+ CH06(arg0, 70, 47)
+
+ LOr(i000, Local0)
+ CH06(arg0, 71, 47)
+
+ // Mod
+
+ Mod(Local0, i000)
+ CH06(arg0, 72, 47)
+
+ Mod(i000, Local0)
+ CH06(arg0, 73, 47)
+
+ Mod(Local0, i000, Local1)
+ CH06(arg0, 74, 47)
+
+ Mod(i000, Local0, Local1)
+ CH06(arg0, 75, 47)
+
+ // Multiply
+
+ Multiply(Local0, i000)
+ CH06(arg0, 76, 47)
+
+ Multiply(i000, Local0)
+ CH06(arg0, 77, 47)
+
+ Multiply(Local0, i000, Local1)
+ CH06(arg0, 78, 47)
+
+ Multiply(i000, Local0, Local1)
+ CH06(arg0, 79, 47)
+
+ // NAnd
+
+ NAnd(Local0, i000)
+ CH06(arg0, 80, 47)
+
+ NAnd(i000, Local0)
+ CH06(arg0, 81, 47)
+
+ NAnd(Local0, i000, Local1)
+ CH06(arg0, 82, 47)
+
+ NAnd(i000, Local0, Local1)
+ CH06(arg0, 83, 47)
+
+ // NOr
+
+ NOr(Local0, i000)
+ CH06(arg0, 84, 47)
+
+ NOr(i000, Local0)
+ CH06(arg0, 85, 47)
+
+ NOr(Local0, i000, Local1)
+ CH06(arg0, 86, 47)
+
+ NOr(i000, Local0, Local1)
+ CH06(arg0, 87, 47)
+
+ // Or
+
+ Or(Local0, i000)
+ CH06(arg0, 88, 47)
+
+ Or(i000, Local0)
+ CH06(arg0, 89, 47)
+
+ Or(Local0, i000, Local1)
+ CH06(arg0, 90, 47)
+
+ Or(i000, Local0, Local1)
+ CH06(arg0, 91, 47)
+
+ // ShiftLeft
+
+ ShiftLeft(Local0, i000)
+ CH06(arg0, 92, 47)
+
+ ShiftLeft(i000, Local0)
+ CH06(arg0, 93, 47)
+
+ ShiftLeft(Local0, i000, Local1)
+ CH06(arg0, 94, 47)
+
+ ShiftLeft(i000, Local0, Local1)
+ CH06(arg0, 95, 47)
+
+ // ShiftRight
+
+ ShiftRight(Local0, i000)
+ CH06(arg0, 96, 47)
+
+ ShiftRight(i000, Local0)
+ CH06(arg0, 97, 47)
+
+ ShiftRight(Local0, i000, Local1)
+ CH06(arg0, 98, 47)
+
+ ShiftRight(i000, Local0, Local1)
+ CH06(arg0, 99, 47)
+
+ // Subtract
+
+ Subtract(Local0, i000)
+ CH06(arg0, 100, 47)
+
+ Subtract(i000, Local0)
+ CH06(arg0, 101, 47)
+
+ Subtract(Local0, i000, Local1)
+ CH06(arg0, 102, 47)
+
+ Subtract(i000, Local0, Local1)
+ CH06(arg0, 103, 47)
+
+ // ToString
+
+ ToString(Local0, 1)
+ CH06(arg0, 104, 47)
+
+ ToString(i000, Local0)
+ CH06(arg0, 105, 47)
+
+ ToString(Local0, 1, Local1)
+ CH06(arg0, 106, 47)
+
+ ToString(i000, Local0, Local1)
+ CH06(arg0, 107, 47)
+
+ // Wait
+
+ Wait(Local0, i000)
+ CH06(arg0, 108, 47)
+
+ Wait(e000, Local0)
+ CH06(arg0, 109, 47)
+
+ // XOr
+
+ XOr(Local0, i000)
+ CH06(arg0, 110, 47)
+
+ XOr(i000, Local0)
+ CH06(arg0, 111, 47)
+
+ XOr(Local0, i000, Local1)
+ CH06(arg0, 112, 47)
+
+ XOr(i000, Local0, Local1)
+ CH06(arg0, 113, 47)
+
+ // Mid
+
+ Mid(Local0, 1, 1)
+ CH06(arg0, 114, 47)
+
+ Mid("123", Local0, 1)
+ CH06(arg0, 115, 47)
+
+ Mid("123", 1, Local0)
+ CH06(arg0, 116, 47)
+
+ Mid(Local0, 1, 1, Local1)
+ CH06(arg0, 117, 47)
+
+ Mid("123", Local0, 1, Local1)
+ CH06(arg0, 118, 47)
+
+ Mid("123", 1, Local0, Local1)
+ CH06(arg0, 119, 47)
+
+ // Match
+
+ Match(Local0, MTR, 0, MTR, 0, 0)
+ CH06(arg0, 120, 47)
+
+ Match(Package(){1}, MTR, Local0, MTR, 0, 0)
+ CH06(arg0, 121, 47)
+
+ Match(Package(){1}, MTR, 0, MTR, Local0, 0)
+ CH06(arg0, 122, 47)
+
+ Match(Package(){1}, MTR, 0, MTR, 0, Local0)
+ CH06(arg0, 123, 47)
+ }
+
+ // Reference to Object
+ Method(m003, 2)
+ {
+ Store(ObjectType(arg1), Local0)
+ if (LNotEqual(Local0, 12)) {
+ err(arg0, z104, 200, 0, 0, Local0, 12)
+ return (1)
+ }
+
+ DeRefOf(arg1)
+ CH03(ts, z104, 5, 0, 0)
+
+ // CondRefOf
+
+ CondRefOf(DeRefOf(arg1))
+ CH06(arg0, 0, 47)
+
+ CondRefOf(DeRefOf(arg1), Local1)
+ CH06(arg0, 1, 47)
+
+ // CopyObject
+
+ CopyObject(DeRefOf(arg1), Local1)
+ CH03(ts, z104, 2, 0, 0)
+
+ // Decrement
+
+ Decrement(DeRefOf(arg1))
+ CH06(arg0, 3, 47)
+
+ // DerefOf
+
+ DerefOf(DeRefOf(arg1))
+ CH06(arg0, 4, 47)
+
+ // FindSetLeftBit
+
+ FindSetLeftBit(DeRefOf(arg1))
+ CH06(arg0, 5, 47)
+
+ FindSetLeftBit(DeRefOf(arg1), Local1)
+ CH06(arg0, 6, 47)
+
+ // FindSetRightBit
+
+ FindSetRightBit(DeRefOf(arg1))
+ CH06(arg0, 7, 47)
+
+ FindSetRightBit(DeRefOf(arg1), Local1)
+ CH06(arg0, 8, 47)
+
+ // FromBCD
+
+ FromBCD(DeRefOf(arg1))
+ CH06(arg0, 9, 47)
+
+ FromBCD(DeRefOf(arg1), Local1)
+ CH06(arg0, 10, 47)
+
+ // Increment
+
+ Increment(DeRefOf(arg1))
+ CH06(arg0, 11, 47)
+
+ // LNot
+
+ LNot(DeRefOf(arg1))
+ CH06(arg0, 12, 47)
+
+ // Not
+
+ Not(DeRefOf(arg1))
+ CH06(arg0, 13, 47)
+
+ Not(DeRefOf(arg1), Local1)
+ CH06(arg0, 14, 47)
+
+ // ObjectType
+
+ ObjectType(DeRefOf(arg1))
+ CH03(ts, z104, 6, 0, 0)
+
+ // RefOf
+
+ RefOf(DeRefOf(arg1))
+ CH06(arg0, 15, 47)
+
+ // Release
+
+ // Reset
+
+ // Signal
+
+ // SizeOf
+
+ SizeOf(DeRefOf(arg1))
+ CH06(arg0, 16, 47)
+
+ // Sleep
+
+ Sleep(DeRefOf(arg1))
+ CH06(arg0, 17, 47)
+
+ // Stall
+
+ Stall(DeRefOf(arg1))
+ CH06(arg0, 18, 47)
+
+ // Store
+
+ Store(DeRefOf(arg1), Local1)
+ CH06(arg0, 19, 47)
+
+ // ToBCD
+
+ ToBCD(DeRefOf(arg1))
+ CH06(arg0, 20, 47)
+
+ ToBCD(DeRefOf(arg1), Local1)
+ CH06(arg0, 21, 47)
+
+ // ToBuffer
+
+ ToBuffer(DeRefOf(arg1))
+ CH06(arg0, 22, 47)
+
+ ToBuffer(DeRefOf(arg1), Local1)
+ CH06(arg0, 23, 47)
+
+ // ToDecimalString
+
+ ToDecimalString(DeRefOf(arg1))
+ CH06(arg0, 24, 47)
+
+ ToDecimalString(DeRefOf(arg1), Local1)
+ CH06(arg0, 25, 47)
+
+ // ToHexString
+
+ ToHexString(DeRefOf(arg1))
+ CH06(arg0, 26, 47)
+
+ ToHexString(DeRefOf(arg1), Local1)
+ CH06(arg0, 27, 47)
+
+ // ToInteger
+
+ ToInteger(DeRefOf(arg1))
+ CH06(arg0, 28, 47)
+
+ ToInteger(DeRefOf(arg1), Local1)
+ CH06(arg0, 29, 47)
+
+ // Acquire
+
+ // Add
+
+ Add(DeRefOf(arg1), i000)
+ CH06(arg0, 31, 47)
+
+ Add(i000, DeRefOf(arg1))
+ CH06(arg0, 32, 47)
+
+ Add(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 33, 47)
+
+ Add(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 34, 47)
+
+ // And
+
+ And(DeRefOf(arg1), i000)
+ CH06(arg0, 35, 47)
+
+ And(i000, DeRefOf(arg1))
+ CH06(arg0, 36, 47)
+
+ And(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 37, 47)
+
+ And(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 38, 47)
+
+ // Concatenate
+
+ Concatenate(DeRefOf(arg1), i000)
+ CH06(arg0, 39, 47)
+
+ Concatenate(i000, DeRefOf(arg1))
+ CH06(arg0, 40, 47)
+
+ Concatenate(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 41, 47)
+
+ Concatenate(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 42, 47)
+
+ // ConcatenateResTemplate
+
+ ConcatenateResTemplate(DeRefOf(arg1), ResourceTemplate(){})
+ CH06(arg0, 43, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, DeRefOf(arg1))
+ CH06(arg0, 44, 47)
+
+ ConcatenateResTemplate(DeRefOf(arg1), ResourceTemplate(){}, Local1)
+ CH06(arg0, 45, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, DeRefOf(arg1), Local1)
+ CH06(arg0, 46, 47)
+
+ // Divide
+
+ Divide(DeRefOf(arg1), i000)
+ CH06(arg0, 47, 47)
+
+ Divide(i000, DeRefOf(arg1))
+ CH06(arg0, 48, 47)
+
+ Divide(DeRefOf(arg1), i000, Local2)
+ CH06(arg0, 49, 47)
+
+ Divide(i000, DeRefOf(arg1), Local2)
+ CH06(arg0, 50, 47)
+
+ Divide(DeRefOf(arg1), i000, Local2, Local1)
+ CH06(arg0, 51, 47)
+
+ Divide(i000, DeRefOf(arg1), Local2, Local1)
+ CH06(arg0, 52, 47)
+
+ // Fatal
+
+ Fatal(0xff, 0xffffffff, DeRefOf(arg1))
+ CH06(arg0, 53, 47)
+
+ // Index
+
+ Index(DeRefOf(arg1), 0)
+ CH06(arg0, 54, 47)
+
+ Index("0", DeRefOf(arg1))
+ CH06(arg0, 55, 47)
+
+ Index(DeRefOf(arg1), 0, Local1)
+ CH06(arg0, 56, 47)
+
+ Index("0", DeRefOf(arg1), Local1)
+ CH06(arg0, 57, 47)
+
+ // LEqual
+
+ LEqual(DeRefOf(arg1), i000)
+ CH06(arg0, 58, 47)
+
+ LEqual(i000, DeRefOf(arg1))
+ CH06(arg0, 59, 47)
+
+ // LGreater
+
+ LGreater(DeRefOf(arg1), i000)
+ CH06(arg0, 60, 47)
+
+ LGreater(i000, DeRefOf(arg1))
+ CH06(arg0, 61, 47)
+
+ // LGreaterEqual
+
+ LGreaterEqual(DeRefOf(arg1), i000)
+ CH06(arg0, 62, 0xff)
+
+ LGreaterEqual(i000, DeRefOf(arg1))
+ CH06(arg0, 63, 0xff)
+
+ // LLess
+
+ LLess(DeRefOf(arg1), i000)
+ CH06(arg0, 64, 47)
+
+ LLess(i000, DeRefOf(arg1))
+ CH06(arg0, 65, 47)
+
+ // LLessEqual
+
+ LLessEqual(DeRefOf(arg1), i000)
+ CH06(arg0, 66, 0xff)
+
+ LLessEqual(i000, DeRefOf(arg1))
+ CH06(arg0, 67, 0xff)
+
+ // LNotEqual
+
+ LNotEqual(DeRefOf(arg1), i000)
+ CH06(arg0, 68, 0xff)
+
+ LNotEqual(i000, DeRefOf(arg1))
+ CH06(arg0, 69, 0xff)
+
+ // LOr
+
+ LOr(DeRefOf(arg1), i000)
+ CH06(arg0, 70, 47)
+
+ LOr(i000, DeRefOf(arg1))
+ CH06(arg0, 71, 47)
+
+ // Mod
+
+ Mod(DeRefOf(arg1), i000)
+ CH06(arg0, 72, 47)
+
+ Mod(i000, DeRefOf(arg1))
+ CH06(arg0, 73, 47)
+
+ Mod(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 74, 47)
+
+ Mod(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 75, 47)
+
+ // Multiply
+
+ Multiply(DeRefOf(arg1), i000)
+ CH06(arg0, 76, 47)
+
+ Multiply(i000, DeRefOf(arg1))
+ CH06(arg0, 77, 47)
+
+ Multiply(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 78, 47)
+
+ Multiply(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 79, 47)
+
+ // NAnd
+
+ NAnd(DeRefOf(arg1), i000)
+ CH06(arg0, 80, 47)
+
+ NAnd(i000, DeRefOf(arg1))
+ CH06(arg0, 81, 47)
+
+ NAnd(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 82, 47)
+
+ NAnd(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 83, 47)
+
+ // NOr
+
+ NOr(DeRefOf(arg1), i000)
+ CH06(arg0, 84, 47)
+
+ NOr(i000, DeRefOf(arg1))
+ CH06(arg0, 85, 47)
+
+ NOr(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 86, 47)
+
+ NOr(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 87, 47)
+
+ // Or
+
+ Or(DeRefOf(arg1), i000)
+ CH06(arg0, 88, 47)
+
+ Or(i000, DeRefOf(arg1))
+ CH06(arg0, 89, 47)
+
+ Or(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 90, 47)
+
+ Or(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 91, 47)
+
+ // ShiftLeft
+
+ ShiftLeft(DeRefOf(arg1), i000)
+ CH06(arg0, 92, 47)
+
+ ShiftLeft(i000, DeRefOf(arg1))
+ CH06(arg0, 93, 47)
+
+ ShiftLeft(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 94, 47)
+
+ ShiftLeft(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 95, 47)
+
+ // ShiftRight
+
+ ShiftRight(DeRefOf(arg1), i000)
+ CH06(arg0, 96, 47)
+
+ ShiftRight(i000, DeRefOf(arg1))
+ CH06(arg0, 97, 47)
+
+ ShiftRight(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 98, 47)
+
+ ShiftRight(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 99, 47)
+
+ // Subtract
+
+ Subtract(DeRefOf(arg1), i000)
+ CH06(arg0, 100, 47)
+
+ Subtract(i000, DeRefOf(arg1))
+ CH06(arg0, 101, 47)
+
+ Subtract(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 102, 47)
+
+ Subtract(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 103, 47)
+
+ // ToString
+
+ ToString(DeRefOf(arg1), 1)
+ CH06(arg0, 104, 47)
+
+ ToString(i000, DeRefOf(arg1))
+ CH06(arg0, 105, 47)
+
+ ToString(DeRefOf(arg1), 1, Local1)
+ CH06(arg0, 106, 47)
+
+ ToString(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 107, 47)
+
+ // Wait
+
+ Wait(e000, DeRefOf(arg1))
+ CH06(arg0, 109, 47)
+
+ // XOr
+
+ XOr(DeRefOf(arg1), i000)
+ CH06(arg0, 110, 47)
+
+ XOr(i000, DeRefOf(arg1))
+ CH06(arg0, 111, 47)
+
+ XOr(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 112, 47)
+
+ XOr(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 113, 47)
+
+ // Mid
+
+ Mid(DeRefOf(arg1), 1, 1)
+ CH06(arg0, 114, 47)
+
+ Mid("123", DeRefOf(arg1), 1)
+ CH06(arg0, 115, 47)
+
+ Mid("123", 1, DeRefOf(arg1))
+ CH06(arg0, 116, 47)
+
+ Mid(DeRefOf(arg1), 1, 1, Local1)
+ CH06(arg0, 117, 47)
+
+ Mid("123", DeRefOf(arg1), 1, Local1)
+ CH06(arg0, 118, 47)
+
+ Mid("123", 1, DeRefOf(arg1), Local1)
+ CH06(arg0, 119, 47)
+
+ // Match
+
+ Match(DeRefOf(arg1), MTR, 0, MTR, 0, 0)
+ CH06(arg0, 120, 47)
+
+ Match(Package(){1}, MTR, DeRefOf(arg1), MTR, 0, 0)
+ CH06(arg0, 121, 47)
+
+ Match(Package(){1}, MTR, 0, MTR, DeRefOf(arg1), 0)
+ CH06(arg0, 122, 47)
+
+ Match(Package(){1}, MTR, 0, MTR, 0, DeRefOf(arg1))
+ CH06(arg0, 123, 47)
+
+ return (0)
+ }
+
+ // Result of Method invocation
+ Method(m004, 1)
+ {
+ Name(i000, 0) // Label to check m000 invocations
+
+ Method(m000)
+ {
+ CopyObject(pr10, Local0)
+ Return (Local0)
+ }
+
+ // CondRefOf
+
+ if (y601) {
+ CondRefOf(m000())
+ CH06(arg0, 0, 47)
+
+ CondRefOf(m000(), Local1)
+ CH06(arg0, 1, 47)
+ }
+
+ // CopyObject
+
+ CopyObject(m000(), Local1)
+ CH03(ts, z104, 7, 0, 0)
+
+ // Decrement
+
+ Decrement(m000())
+ CH06(arg0, 2, 47)
+
+ // DerefOf
+
+ DerefOf(m000())
+ CH06(arg0, 3, 47)
+
+ // FindSetLeftBit
+
+ FindSetLeftBit(m000())
+ CH06(arg0, 4, 47)
+
+ FindSetLeftBit(m000(), Local1)
+ CH06(arg0, 5, 47)
+
+ // FindSetRightBit
+
+ FindSetRightBit(m000())
+ CH06(arg0, 6, 47)
+
+ FindSetRightBit(m000(), Local1)
+ CH06(arg0, 7, 47)
+
+ // FromBCD
+
+ FromBCD(m000())
+ CH06(arg0, 8, 47)
+
+ FromBCD(m000(), Local1)
+ CH06(arg0, 9, 47)
+
+ // Increment
+
+ Increment(m000())
+ CH06(arg0, 10, 47)
+
+ // LNot
+
+ LNot(m000())
+ CH06(arg0, 11, 47)
+
+ // Not
+
+ Not(m000())
+ CH06(arg0, 12, 47)
+
+ Not(m000(), Local1)
+ CH06(arg0, 13, 47)
+
+ // ObjectType
+
+ ObjectType(m000())
+ CH03(ts, z104, 8, 0, 0)
+
+ // RefOf
+
+ if (y601) {
+ RefOf(m000())
+ CH06(arg0, 14, 47)
+ }
+
+ // Release
+
+ Release(m000())
+ CH06(arg0, 13, 47)
+
+ // Reset
+
+ Reset(m000())
+ CH06(arg0, 14, 47)
+
+ // Signal
+
+ Signal(m000())
+ CH06(arg0, 15, 47)
+
+ // SizeOf
+
+ SizeOf(m000())
+ CH06(arg0, 16, 47)
+
+ // Sleep
+
+ Sleep(m000())
+ CH06(arg0, 17, 47)
+
+ // Stall
+
+ Stall(m000())
+ CH06(arg0, 18, 47)
+
+ // Store
+
+ Store(m000(), Local1)
+ CH06(arg0, 19, 47)
+
+ // ToBCD
+
+ ToBCD(m000())
+ CH06(arg0, 20, 47)
+
+ ToBCD(m000(), Local1)
+ CH06(arg0, 21, 47)
+
+ // ToBuffer
+
+ ToBuffer(m000())
+ CH06(arg0, 22, 47)
+
+ ToBuffer(m000(), Local1)
+ CH06(arg0, 23, 47)
+
+ // ToDecimalString
+
+ ToDecimalString(m000())
+ CH06(arg0, 24, 47)
+
+ ToDecimalString(m000(), Local1)
+ CH06(arg0, 25, 47)
+
+ // ToHexString
+
+ ToHexString(m000())
+ CH06(arg0, 26, 47)
+
+ ToHexString(m000(), Local1)
+ CH06(arg0, 27, 47)
+
+ // ToInteger
+
+ ToInteger(m000())
+ CH06(arg0, 28, 47)
+
+ ToInteger(m000(), Local1)
+ CH06(arg0, 29, 47)
+
+ // Acquire
+
+ Acquire(m000(), 100)
+ CH06(arg0, 30, 47)
+
+ // Add
+
+ Add(m000(), i000)
+ CH06(arg0, 31, 47)
+
+ Add(i000, m000())
+ CH06(arg0, 32, 47)
+
+ Add(m000(), i000, Local1)
+ CH06(arg0, 33, 47)
+
+ Add(i000, m000(), Local1)
+ CH06(arg0, 34, 47)
+
+ // And
+
+ And(m000(), i000)
+ CH06(arg0, 35, 47)
+
+ And(i000, m000())
+ CH06(arg0, 36, 47)
+
+ And(m000(), i000, Local1)
+ CH06(arg0, 37, 47)
+
+ And(i000, m000(), Local1)
+ CH06(arg0, 38, 47)
+
+ // Concatenate
+
+ Concatenate(m000(), i000)
+ CH06(arg0, 39, 47)
+
+ Concatenate(i000, m000())
+ CH06(arg0, 40, 47)
+
+ Concatenate(m000(), i000, Local1)
+ CH06(arg0, 41, 47)
+
+ Concatenate(i000, m000(), Local1)
+ CH06(arg0, 42, 47)
+
+ // ConcatenateResTemplate
+
+ ConcatenateResTemplate(m000(), ResourceTemplate(){})
+ CH06(arg0, 43, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, m000())
+ CH06(arg0, 44, 47)
+
+ ConcatenateResTemplate(m000(), ResourceTemplate(){}, Local1)
+ CH06(arg0, 45, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, m000(), Local1)
+ CH06(arg0, 46, 47)
+
+ // Divide
+
+ Divide(m000(), i000)
+ CH06(arg0, 47, 47)
+
+ Divide(i000, m000())
+ CH06(arg0, 48, 47)
+
+ Divide(m000(), i000, Local2)
+ CH06(arg0, 49, 47)
+
+ Divide(i000, m000(), Local2)
+ CH06(arg0, 50, 47)
+
+ Divide(m000(), i000, Local2, Local1)
+ CH06(arg0, 51, 47)
+
+ Divide(i000, m000(), Local2, Local1)
+ CH06(arg0, 52, 47)
+
+ // Fatal
+
+ Fatal(0xff, 0xffffffff, m000())
+ CH06(arg0, 53, 47)
+
+ // Index
+
+ Index(m000(), 0)
+ CH06(arg0, 54, 47)
+
+ Index("0", m000())
+ CH06(arg0, 55, 47)
+
+ Index(m000(), 0, Local1)
+ CH06(arg0, 56, 47)
+
+ Index("0", m000(), Local1)
+ CH06(arg0, 57, 47)
+
+ // LEqual
+
+ LEqual(m000(), i000)
+ CH06(arg0, 58, 47)
+
+ LEqual(i000, m000())
+ CH06(arg0, 59, 47)
+
+ // LGreater
+
+ LGreater(m000(), i000)
+ CH06(arg0, 60, 47)
+
+ LGreater(i000, m000())
+ CH06(arg0, 61, 47)
+
+ // LGreaterEqual
+
+ LGreaterEqual(m000(), i000)
+ CH06(arg0, 62, 0xff)
+
+ LGreaterEqual(i000, m000())
+ CH06(arg0, 63, 0xff)
+
+ // LLess
+
+ LLess(m000(), i000)
+ CH06(arg0, 64, 47)
+
+ LLess(i000, m000())
+ CH06(arg0, 65, 47)
+
+ // LLessEqual
+
+ LLessEqual(m000(), i000)
+ CH06(arg0, 66, 0xff)
+
+ LLessEqual(i000, m000())
+ CH06(arg0, 67, 0xff)
+
+ // LNotEqual
+
+ LNotEqual(m000(), i000)
+ CH06(arg0, 68, 0xff)
+
+ LNotEqual(i000, m000())
+ CH06(arg0, 69, 0xff)
+
+ // LOr
+
+ LOr(m000(), i000)
+ CH06(arg0, 70, 47)
+
+ LOr(i000, m000())
+ CH06(arg0, 71, 47)
+
+ // Mod
+
+ Mod(m000(), i000)
+ CH06(arg0, 72, 47)
+
+ Mod(i000, m000())
+ CH06(arg0, 73, 47)
+
+ Mod(m000(), i000, Local1)
+ CH06(arg0, 74, 47)
+
+ Mod(i000, m000(), Local1)
+ CH06(arg0, 75, 47)
+
+ // Multiply
+
+ Multiply(m000(), i000)
+ CH06(arg0, 76, 47)
+
+ Multiply(i000, m000())
+ CH06(arg0, 77, 47)
+
+ Multiply(m000(), i000, Local1)
+ CH06(arg0, 78, 47)
+
+ Multiply(i000, m000(), Local1)
+ CH06(arg0, 79, 47)
+
+ // NAnd
+
+ NAnd(m000(), i000)
+ CH06(arg0, 80, 47)
+
+ NAnd(i000, m000())
+ CH06(arg0, 81, 47)
+
+ NAnd(m000(), i000, Local1)
+ CH06(arg0, 82, 47)
+
+ NAnd(i000, m000(), Local1)
+ CH06(arg0, 83, 47)
+
+ // NOr
+
+ NOr(m000(), i000)
+ CH06(arg0, 84, 47)
+
+ NOr(i000, m000())
+ CH06(arg0, 85, 47)
+
+ NOr(m000(), i000, Local1)
+ CH06(arg0, 86, 47)
+
+ NOr(i000, m000(), Local1)
+ CH06(arg0, 87, 47)
+
+ // Or
+
+ Or(m000(), i000)
+ CH06(arg0, 88, 47)
+
+ Or(i000, m000())
+ CH06(arg0, 89, 47)
+
+ Or(m000(), i000, Local1)
+ CH06(arg0, 90, 47)
+
+ Or(i000, m000(), Local1)
+ CH06(arg0, 91, 47)
+
+ // ShiftLeft
+
+ ShiftLeft(m000(), i000)
+ CH06(arg0, 92, 47)
+
+ ShiftLeft(i000, m000())
+ CH06(arg0, 93, 47)
+
+ ShiftLeft(m000(), i000, Local1)
+ CH06(arg0, 94, 47)
+
+ ShiftLeft(i000, m000(), Local1)
+ CH06(arg0, 95, 47)
+
+ // ShiftRight
+
+ ShiftRight(m000(), i000)
+ CH06(arg0, 96, 47)
+
+ ShiftRight(i000, m000())
+ CH06(arg0, 97, 47)
+
+ ShiftRight(m000(), i000, Local1)
+ CH06(arg0, 98, 47)
+
+ ShiftRight(i000, m000(), Local1)
+ CH06(arg0, 99, 47)
+
+ // Subtract
+
+ Subtract(m000(), i000)
+ CH06(arg0, 100, 47)
+
+ Subtract(i000, m000())
+ CH06(arg0, 101, 47)
+
+ Subtract(m000(), i000, Local1)
+ CH06(arg0, 102, 47)
+
+ Subtract(i000, m000(), Local1)
+ CH06(arg0, 103, 47)
+
+ // ToString
+
+ ToString(m000(), 1)
+ CH06(arg0, 104, 47)
+
+ ToString(i000, m000())
+ CH06(arg0, 105, 47)
+
+ ToString(m000(), 1, Local1)
+ CH06(arg0, 106, 47)
+
+ ToString(i000, m000(), Local1)
+ CH06(arg0, 107, 47)
+
+ // Wait
+
+ Wait(m000(), i000)
+ CH06(arg0, 108, 47)
+
+ Wait(e000, m000())
+ CH06(arg0, 109, 47)
+
+ // XOr
+
+ XOr(m000(), i000)
+ CH06(arg0, 110, 47)
+
+ XOr(i000, m000())
+ CH06(arg0, 111, 47)
+
+ XOr(m000(), i000, Local1)
+ CH06(arg0, 112, 47)
+
+ XOr(i000, m000(), Local1)
+ CH06(arg0, 113, 47)
+
+ // Mid
+
+ Mid(m000(), 1, 1)
+ CH06(arg0, 114, 47)
+
+ Mid("123", m000(), 1)
+ CH06(arg0, 115, 47)
+
+ Mid("123", 1, m000())
+ CH06(arg0, 116, 47)
+
+ Mid(m000(), 1, 1, Local1)
+ CH06(arg0, 117, 47)
+
+ Mid("123", m000(), 1, Local1)
+ CH06(arg0, 118, 47)
+
+ Mid("123", 1, m000(), Local1)
+ CH06(arg0, 119, 47)
+
+ // Match
+
+ Match(m000(), MTR, 0, MTR, 0, 0)
+ CH06(arg0, 120, 47)
+
+ Match(Package(){1}, MTR, m000(), MTR, 0, 0)
+ CH06(arg0, 121, 47)
+
+ Match(Package(){1}, MTR, 0, MTR, m000(), 0)
+ CH06(arg0, 122, 47)
+
+ Match(Package(){1}, MTR, 0, MTR, 0, m000())
+ CH06(arg0, 123, 47)
+ }
+
+ // Reference to Object as Result of Method invocation
+ Method(m005, 1)
+ {
+ Processor(prc2, 0, 0xFFFFFFFF, 0) {}
+
+ Name(i000, 0) // Label to check m000 invocations
+
+ Method(m000, 2)
+ {
+ Store(arg0, i000)
+ if (LEqual(arg1, 0)) {
+ Store(Refof(pr10), Local0)
+ } elseif (LEqual(arg1, 1)) {
+ Store(Refof(prc2), Local0)
+ }
+ Return (Local0)
+ }
+
+ Method(CH00, 2)
+ {
+ if (LNotEqual(i000, arg1)) {
+ err(arg0, z104, 0, 0, 0, i000, arg1)
+ }
+ }
+
+ Name(lpN0, 2)
+ Name(lpC0, 0)
+
+ While (lpN0) {
+ Multiply(3, lpC0, Local0)
+
+ Store(0, i000)
+
+ DerefOf(m000(1, lpC0))
+ CH03(ts, z104, Add(9, lpC0), 0, 0)
+ CH00(arg0, 1)
+
+ DerefOf(DerefOf(m000(2, lpC0)))
+ CH06(arg0, Add(1, Local0), 47)
+ CH00(arg0, 2)
+
+ Index(DerefOf(m000(3, lpC0)), 0)
+ CH06(arg0, Add(2, Local0), 47)
+ CH00(arg0, 3)
+
+ Match(DerefOf(m000(4, lpC0)), MTR, 0, MTR, 0, 0)
+ CH06(arg0, Add(3, Local0), 47)
+ CH00(arg0, 4)
+
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+ }
+
+ SET0(z104, ts, 0)
+
+ CH03(ts, z104, 11, 0, 0)
+
+ // Local Named Object
+ m000(ts)
+
+ // Global Named Object
+ m001(ts)
+
+ // Local
+ m002(Concatenate(ts, "-m002"))
+
+ // Reference to Local Named Object
+
+ m003(Concatenate(ts, "-m003-RefLocName"), RefOf(prc1))
+
+ Store(RefOf(prc1), Local0)
+ m003(Concatenate(ts, "-m003-RefLocName2"), Local0)
+
+ CondRefOf(prc1, Local0)
+ m003(Concatenate(ts, "-m003-CondRefLocName"), Local0)
+
+ m003(Concatenate(ts, "-m003-RefGlobName"), RefOf(pr10))
+
+ Store(RefOf(pr10), Local0)
+ m003(Concatenate(ts, "-m003-RefGlobName2"), Local0)
+
+ CondRefOf(pr10, Local0)
+ m003(Concatenate(ts, "-m003-CondRefGlobName"), Local0)
+
+ // Reference to Object as element of Package
+
+ Name(pp00, Package(){pr10})
+
+ if (y113) {
+ m003(Concatenate(ts, "-m003-Index"), Index(pp00, 0))
+ }
+
+ Store(Index(pp00, 0), Local1)
+ m003(Concatenate(ts, "-m003-Index2"), Local1)
+
+ if (y113) {
+ m003(Concatenate(ts, "-m003-Index3"), Index(pp00, 0, Local2))
+ }
+
+ Index(pp00, 0, Local3)
+ m003(Concatenate(ts, "-m003-Index4"), Local3)
+
+ Store(Index(pp00, 0, Local4), Local5)
+ m003(Concatenate(ts, "-m003-Index5"), Local5)
+
+ // Result of Method invocation
+ m004(Concatenate(ts, "-m004"))
+
+ // Reference to Object as Result of Method invocation
+ m005(Concatenate(ts, "-m005"))
+
+ RST0()
+}
diff --git a/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_13_tzone.asl b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_13_tzone.asl
new file mode 100644
index 000000000..9e2c01c36
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_13_tzone.asl
@@ -0,0 +1,1680 @@
+/*
+ * 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.
+ */
+
+/*
+ * Thermal Zone
+ *
+ * (verify exceptions caused by the imprope use of Thermal Zone type objects)
+ */
+
+Name(z105, 105)
+
+ThermalZone (tz00) {Name(n000, "tz00")}
+
+// Expected exceptions:
+//
+// 47 - AE_AML_OPERAND_TYPE
+//
+Method(m4bd)
+{
+ Name(ts, "m4bd")
+
+ ThermalZone (tz01) {Name(n000, "tz01")}
+
+ Event(e000)
+
+ Name(i000, 0)
+
+ // Local Named Object
+ Method(m000, 1)
+ {
+ ThermalZone (tz02) {Name(n000, "tz02")}
+
+ DerefOf(tz02)
+ CH06(arg0, 0, 47)
+ }
+
+ // Global Named Object
+ Method(m001, 1)
+ {
+ if (y083) {
+ DerefOf(tz00)
+ CH06(arg0, 1, 47)
+ }
+ }
+
+ // Local
+ Method(m002, 1)
+ {
+ ThermalZone (tz02) {Name(n000, "tz02")}
+
+ Event(e000)
+
+ CopyObject(tz02, Local0)
+
+ // CondRefOf
+
+ CondRefOf(Local0)
+ CH03(ts, z105, 0, 0, 0)
+
+ CondRefOf(Local0, Local1)
+ CH03(ts, z105, 1, 0, 0)
+
+ // CopyObject
+
+ CopyObject(Local0, Local1)
+ CH03(ts, z105, 2, 0, 0)
+
+ // Decrement
+
+ Decrement(Local0)
+ CH06(arg0, 1, 47)
+
+ // DerefOf
+
+ DerefOf(Local0)
+ CH06(arg0, 2, 47)
+
+ // FindSetLeftBit
+
+ FindSetLeftBit(Local0)
+ CH06(arg0, 3, 47)
+
+ FindSetLeftBit(Local0, Local1)
+ CH06(arg0, 4, 47)
+
+ // FindSetRightBit
+
+ FindSetRightBit(Local0)
+ CH06(arg0, 5, 47)
+
+ FindSetRightBit(Local0, Local1)
+ CH06(arg0, 6, 47)
+
+ // FromBCD
+
+ FromBCD(Local0)
+ CH06(arg0, 7, 47)
+
+ FromBCD(Local0, Local1)
+ CH06(arg0, 8, 47)
+
+ // Increment
+
+ Increment(Local0)
+ CH06(arg0, 9, 47)
+
+ // LNot
+
+ LNot(Local0)
+ CH06(arg0, 10, 47)
+
+ // Not
+
+ Not(Local0)
+ CH06(arg0, 11, 47)
+
+ Not(Local0, Local1)
+ CH06(arg0, 12, 47)
+
+ // ObjectType
+
+ ObjectType(Local0)
+ CH03(ts, z105, 3, 0, 0)
+
+ // RefOf
+
+ RefOf(Local0)
+ CH03(ts, z105, 4, 0, 0)
+
+ // Release
+
+ Release(Local0)
+ CH06(arg0, 13, 47)
+
+ // Reset
+
+ Reset(Local0)
+ CH06(arg0, 14, 47)
+
+ // Signal
+
+ Signal(Local0)
+ CH06(arg0, 15, 47)
+
+ // SizeOf
+
+ SizeOf(Local0)
+ CH06(arg0, 16, 47)
+
+ // Sleep
+
+ Sleep(Local0)
+ CH06(arg0, 17, 47)
+
+ // Stall
+
+ Stall(Local0)
+ CH06(arg0, 18, 47)
+
+ // Store
+
+ Store(Local0, Local1)
+ CH06(arg0, 19, 47)
+
+ // ToBCD
+
+ ToBCD(Local0)
+ CH06(arg0, 20, 47)
+
+ ToBCD(Local0, Local1)
+ CH06(arg0, 21, 47)
+
+ // ToBuffer
+
+ ToBuffer(Local0)
+ CH06(arg0, 22, 47)
+
+ ToBuffer(Local0, Local1)
+ CH06(arg0, 23, 47)
+
+ // ToDecimalString
+
+ ToDecimalString(Local0)
+ CH06(arg0, 24, 47)
+
+ ToDecimalString(Local0, Local1)
+ CH06(arg0, 25, 47)
+
+ // ToHexString
+
+ ToHexString(Local0)
+ CH06(arg0, 26, 47)
+
+ ToHexString(Local0, Local1)
+ CH06(arg0, 27, 47)
+
+ // ToInteger
+
+ ToInteger(Local0)
+ CH06(arg0, 28, 47)
+
+ ToInteger(Local0, Local1)
+ CH06(arg0, 29, 47)
+
+ // Acquire
+
+ Acquire(Local0, 100)
+ CH06(arg0, 30, 47)
+
+ // Add
+
+ Add(Local0, i000)
+ CH06(arg0, 31, 47)
+
+ Add(i000, Local0)
+ CH06(arg0, 32, 47)
+
+ Add(Local0, i000, Local1)
+ CH06(arg0, 33, 47)
+
+ Add(i000, Local0, Local1)
+ CH06(arg0, 34, 47)
+
+ // And
+
+ And(Local0, i000)
+ CH06(arg0, 35, 47)
+
+ And(i000, Local0)
+ CH06(arg0, 36, 47)
+
+ And(Local0, i000, Local1)
+ CH06(arg0, 37, 47)
+
+ And(i000, Local0, Local1)
+ CH06(arg0, 38, 47)
+
+ // Concatenate
+
+ Concatenate(Local0, i000)
+ CH06(arg0, 39, 47)
+
+ Concatenate(i000, Local0)
+ CH06(arg0, 40, 47)
+
+ Concatenate(Local0, i000, Local1)
+ CH06(arg0, 41, 47)
+
+ Concatenate(i000, Local0, Local1)
+ CH06(arg0, 42, 47)
+
+ // ConcatenateResTemplate
+
+ ConcatenateResTemplate(Local0, ResourceTemplate(){})
+ CH06(arg0, 43, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, Local0)
+ CH06(arg0, 44, 47)
+
+ ConcatenateResTemplate(Local0, ResourceTemplate(){}, Local1)
+ CH06(arg0, 45, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, Local0, Local1)
+ CH06(arg0, 46, 47)
+
+ // Divide
+
+ Divide(Local0, i000)
+ CH06(arg0, 47, 47)
+
+ Divide(i000, Local0)
+ CH06(arg0, 48, 47)
+
+ Divide(Local0, i000, Local2)
+ CH06(arg0, 49, 47)
+
+ Divide(i000, Local0, Local2)
+ CH06(arg0, 50, 47)
+
+ Divide(Local0, i000, Local2, Local1)
+ CH06(arg0, 51, 47)
+
+ Divide(i000, Local0, Local2, Local1)
+ CH06(arg0, 52, 47)
+
+ // Fatal
+
+ Fatal(0xff, 0xffffffff, Local0)
+ CH06(arg0, 53, 47)
+
+ // Index
+
+ Index(Local0, 0)
+ CH06(arg0, 54, 47)
+
+ Index("0", Local0)
+ CH06(arg0, 55, 47)
+
+ Index(Local0, 0, Local1)
+ CH06(arg0, 56, 47)
+
+ Index("0", Local0, Local1)
+ CH06(arg0, 57, 47)
+
+ // LEqual
+
+ LEqual(Local0, i000)
+ CH06(arg0, 58, 47)
+
+ LEqual(i000, Local0)
+ CH06(arg0, 59, 47)
+
+ // LGreater
+
+ LGreater(Local0, i000)
+ CH06(arg0, 60, 47)
+
+ LGreater(i000, Local0)
+ CH06(arg0, 61, 47)
+
+ // LGreaterEqual
+
+ LGreaterEqual(Local0, i000)
+ CH06(arg0, 62, 0xff)
+
+ LGreaterEqual(i000, Local0)
+ CH06(arg0, 63, 0xff)
+
+ // LLess
+
+ LLess(Local0, i000)
+ CH06(arg0, 64, 47)
+
+ LLess(i000, Local0)
+ CH06(arg0, 65, 47)
+
+ // LLessEqual
+
+ LLessEqual(Local0, i000)
+ CH06(arg0, 66, 0xff)
+
+ LLessEqual(i000, Local0)
+ CH06(arg0, 67, 0xff)
+
+ // LNotEqual
+
+ LNotEqual(Local0, i000)
+ CH06(arg0, 68, 0xff)
+
+ LNotEqual(i000, Local0)
+ CH06(arg0, 69, 0xff)
+
+ // LOr
+
+ LOr(Local0, i000)
+ CH06(arg0, 70, 47)
+
+ LOr(i000, Local0)
+ CH06(arg0, 71, 47)
+
+ // Mod
+
+ Mod(Local0, i000)
+ CH06(arg0, 72, 47)
+
+ Mod(i000, Local0)
+ CH06(arg0, 73, 47)
+
+ Mod(Local0, i000, Local1)
+ CH06(arg0, 74, 47)
+
+ Mod(i000, Local0, Local1)
+ CH06(arg0, 75, 47)
+
+ // Multiply
+
+ Multiply(Local0, i000)
+ CH06(arg0, 76, 47)
+
+ Multiply(i000, Local0)
+ CH06(arg0, 77, 47)
+
+ Multiply(Local0, i000, Local1)
+ CH06(arg0, 78, 47)
+
+ Multiply(i000, Local0, Local1)
+ CH06(arg0, 79, 47)
+
+ // NAnd
+
+ NAnd(Local0, i000)
+ CH06(arg0, 80, 47)
+
+ NAnd(i000, Local0)
+ CH06(arg0, 81, 47)
+
+ NAnd(Local0, i000, Local1)
+ CH06(arg0, 82, 47)
+
+ NAnd(i000, Local0, Local1)
+ CH06(arg0, 83, 47)
+
+ // NOr
+
+ NOr(Local0, i000)
+ CH06(arg0, 84, 47)
+
+ NOr(i000, Local0)
+ CH06(arg0, 85, 47)
+
+ NOr(Local0, i000, Local1)
+ CH06(arg0, 86, 47)
+
+ NOr(i000, Local0, Local1)
+ CH06(arg0, 87, 47)
+
+ // Or
+
+ Or(Local0, i000)
+ CH06(arg0, 88, 47)
+
+ Or(i000, Local0)
+ CH06(arg0, 89, 47)
+
+ Or(Local0, i000, Local1)
+ CH06(arg0, 90, 47)
+
+ Or(i000, Local0, Local1)
+ CH06(arg0, 91, 47)
+
+ // ShiftLeft
+
+ ShiftLeft(Local0, i000)
+ CH06(arg0, 92, 47)
+
+ ShiftLeft(i000, Local0)
+ CH06(arg0, 93, 47)
+
+ ShiftLeft(Local0, i000, Local1)
+ CH06(arg0, 94, 47)
+
+ ShiftLeft(i000, Local0, Local1)
+ CH06(arg0, 95, 47)
+
+ // ShiftRight
+
+ ShiftRight(Local0, i000)
+ CH06(arg0, 96, 47)
+
+ ShiftRight(i000, Local0)
+ CH06(arg0, 97, 47)
+
+ ShiftRight(Local0, i000, Local1)
+ CH06(arg0, 98, 47)
+
+ ShiftRight(i000, Local0, Local1)
+ CH06(arg0, 99, 47)
+
+ // Subtract
+
+ Subtract(Local0, i000)
+ CH06(arg0, 100, 47)
+
+ Subtract(i000, Local0)
+ CH06(arg0, 101, 47)
+
+ Subtract(Local0, i000, Local1)
+ CH06(arg0, 102, 47)
+
+ Subtract(i000, Local0, Local1)
+ CH06(arg0, 103, 47)
+
+ // ToString
+
+ ToString(Local0, 1)
+ CH06(arg0, 104, 47)
+
+ ToString(i000, Local0)
+ CH06(arg0, 105, 47)
+
+ ToString(Local0, 1, Local1)
+ CH06(arg0, 106, 47)
+
+ ToString(i000, Local0, Local1)
+ CH06(arg0, 107, 47)
+
+ // Wait
+
+ Wait(Local0, i000)
+ CH06(arg0, 108, 47)
+
+ Wait(e000, Local0)
+ CH06(arg0, 109, 47)
+
+ // XOr
+
+ XOr(Local0, i000)
+ CH06(arg0, 110, 47)
+
+ XOr(i000, Local0)
+ CH06(arg0, 111, 47)
+
+ XOr(Local0, i000, Local1)
+ CH06(arg0, 112, 47)
+
+ XOr(i000, Local0, Local1)
+ CH06(arg0, 113, 47)
+
+ // Mid
+
+ Mid(Local0, 1, 1)
+ CH06(arg0, 114, 47)
+
+ Mid("123", Local0, 1)
+ CH06(arg0, 115, 47)
+
+ Mid("123", 1, Local0)
+ CH06(arg0, 116, 47)
+
+ Mid(Local0, 1, 1, Local1)
+ CH06(arg0, 117, 47)
+
+ Mid("123", Local0, 1, Local1)
+ CH06(arg0, 118, 47)
+
+ Mid("123", 1, Local0, Local1)
+ CH06(arg0, 119, 47)
+
+ // Match
+
+ Match(Local0, MTR, 0, MTR, 0, 0)
+ CH06(arg0, 120, 47)
+
+ Match(Package(){1}, MTR, Local0, MTR, 0, 0)
+ CH06(arg0, 121, 47)
+
+ Match(Package(){1}, MTR, 0, MTR, Local0, 0)
+ CH06(arg0, 122, 47)
+
+ Match(Package(){1}, MTR, 0, MTR, 0, Local0)
+ CH06(arg0, 123, 47)
+ }
+
+ // Reference to Object
+ Method(m003, 3)
+ {
+ Name(EXC0, 47) // AE_AML_OPERAND_TYPE
+
+ Store(ObjectType(arg1), Local0)
+ if (LNotEqual(Local0, 13)) {
+ err(arg0, z105, 200, 0, 0, Local0, 13)
+ return (1)
+ }
+
+ if (arg2) {
+ if (LNot(y503)) {
+ Store(62, EXC0) // AE_AML_NO_RETURN_VALUE
+ }
+ }
+
+ DeRefOf(arg1)
+ CH03(ts, z105, 5, 0, 0)
+
+ // CondRefOf
+
+ CondRefOf(DeRefOf(arg1))
+ CH06(arg0, 0, EXC0)
+
+ CondRefOf(DeRefOf(arg1), Local1)
+ CH06(arg0, 1, EXC0)
+
+ // CopyObject
+
+ CopyObject(DeRefOf(arg1), Local1)
+ CH06(arg0, 2, EXC0)
+
+ // Decrement
+
+ Decrement(DeRefOf(arg1))
+ CH06(arg0, 3, EXC0)
+
+ // DerefOf
+
+ DerefOf(DeRefOf(arg1))
+ CH06(arg0, 4, EXC0)
+
+ // FindSetLeftBit
+
+ FindSetLeftBit(DeRefOf(arg1))
+ CH06(arg0, 5, EXC0)
+
+ FindSetLeftBit(DeRefOf(arg1), Local1)
+ CH06(arg0, 6, EXC0)
+
+ // FindSetRightBit
+
+ FindSetRightBit(DeRefOf(arg1))
+ CH06(arg0, 7, EXC0)
+
+ FindSetRightBit(DeRefOf(arg1), Local1)
+ CH06(arg0, 8, EXC0)
+
+ // FromBCD
+
+ FromBCD(DeRefOf(arg1))
+ CH06(arg0, 9, EXC0)
+
+ FromBCD(DeRefOf(arg1), Local1)
+ CH06(arg0, 10, EXC0)
+
+ // Increment
+
+ Increment(DeRefOf(arg1))
+ CH06(arg0, 11, EXC0)
+
+ // LNot
+
+ LNot(DeRefOf(arg1))
+ CH06(arg0, 12, EXC0)
+
+ // Not
+
+ Not(DeRefOf(arg1))
+ CH06(arg0, 13, EXC0)
+
+ Not(DeRefOf(arg1), Local1)
+ CH06(arg0, 14, EXC0)
+
+ // ObjectType
+
+ ObjectType(DeRefOf(arg1))
+ CH03(ts, z105, 6, 0, 0)
+
+ // RefOf
+
+ RefOf(DeRefOf(arg1))
+ CH06(arg0, 15, EXC0)
+
+ // Release
+
+ // Reset
+
+ // Signal
+
+ // SizeOf
+
+ SizeOf(DeRefOf(arg1))
+ CH06(arg0, 16, EXC0)
+
+ // Sleep
+
+ Sleep(DeRefOf(arg1))
+ CH06(arg0, 17, EXC0)
+
+ // Stall
+
+ Stall(DeRefOf(arg1))
+ CH06(arg0, 18, EXC0)
+
+ // Store
+
+ Store(DeRefOf(arg1), Local1)
+ CH06(arg0, 19, EXC0)
+
+ // ToBCD
+
+ ToBCD(DeRefOf(arg1))
+ CH06(arg0, 20, EXC0)
+
+ ToBCD(DeRefOf(arg1), Local1)
+ CH06(arg0, 21, EXC0)
+
+ // ToBuffer
+
+ ToBuffer(DeRefOf(arg1))
+ CH06(arg0, 22, EXC0)
+
+ ToBuffer(DeRefOf(arg1), Local1)
+ CH06(arg0, 23, EXC0)
+
+ // ToDecimalString
+
+ ToDecimalString(DeRefOf(arg1))
+ CH06(arg0, 24, EXC0)
+
+ ToDecimalString(DeRefOf(arg1), Local1)
+ CH06(arg0, 25, EXC0)
+
+ // ToHexString
+
+ ToHexString(DeRefOf(arg1))
+ CH06(arg0, 26, EXC0)
+
+ ToHexString(DeRefOf(arg1), Local1)
+ CH06(arg0, 27, EXC0)
+
+ // ToInteger
+
+ ToInteger(DeRefOf(arg1))
+ CH06(arg0, 28, EXC0)
+
+ ToInteger(DeRefOf(arg1), Local1)
+ CH06(arg0, 29, EXC0)
+
+ // Acquire
+
+ // Add
+
+ Add(DeRefOf(arg1), i000)
+ CH06(arg0, 31, EXC0)
+
+ Add(i000, DeRefOf(arg1))
+ CH06(arg0, 32, EXC0)
+
+ Add(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 33, EXC0)
+
+ Add(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 34, EXC0)
+
+ // And
+
+ And(DeRefOf(arg1), i000)
+ CH06(arg0, 35, EXC0)
+
+ And(i000, DeRefOf(arg1))
+ CH06(arg0, 36, EXC0)
+
+ And(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 37, EXC0)
+
+ And(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 38, EXC0)
+
+ // Concatenate
+
+ Concatenate(DeRefOf(arg1), i000)
+ CH06(arg0, 39, EXC0)
+
+ Concatenate(i000, DeRefOf(arg1))
+ CH06(arg0, 40, EXC0)
+
+ Concatenate(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 41, EXC0)
+
+ Concatenate(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 42, EXC0)
+
+ // ConcatenateResTemplate
+
+ ConcatenateResTemplate(DeRefOf(arg1), ResourceTemplate(){})
+ CH06(arg0, 43, EXC0)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, DeRefOf(arg1))
+ CH06(arg0, 44, EXC0)
+
+ ConcatenateResTemplate(DeRefOf(arg1), ResourceTemplate(){}, Local1)
+ CH06(arg0, 45, EXC0)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, DeRefOf(arg1), Local1)
+ CH06(arg0, 46, EXC0)
+
+ // Divide
+
+ Divide(DeRefOf(arg1), i000)
+ CH06(arg0, 47, EXC0)
+
+ Divide(i000, DeRefOf(arg1))
+ CH06(arg0, 48, EXC0)
+
+ Divide(DeRefOf(arg1), i000, Local2)
+ CH06(arg0, 49, EXC0)
+
+ Divide(i000, DeRefOf(arg1), Local2)
+ CH06(arg0, 50, EXC0)
+
+ Divide(DeRefOf(arg1), i000, Local2, Local1)
+ CH06(arg0, 51, EXC0)
+
+ Divide(i000, DeRefOf(arg1), Local2, Local1)
+ CH06(arg0, 52, EXC0)
+
+ // Fatal
+
+ Fatal(0xff, 0xffffffff, DeRefOf(arg1))
+ CH06(arg0, 53, EXC0)
+
+ // Index
+
+ Index(DeRefOf(arg1), 0)
+ CH06(arg0, 54, EXC0)
+
+ Index("0", DeRefOf(arg1))
+ CH06(arg0, 55, EXC0)
+
+ Index(DeRefOf(arg1), 0, Local1)
+ CH06(arg0, 56, EXC0)
+
+ Index("0", DeRefOf(arg1), Local1)
+ CH06(arg0, 57, EXC0)
+
+ // LEqual
+
+ LEqual(DeRefOf(arg1), i000)
+ CH06(arg0, 58, EXC0)
+
+ LEqual(i000, DeRefOf(arg1))
+ CH06(arg0, 59, EXC0)
+
+ // LGreater
+
+ LGreater(DeRefOf(arg1), i000)
+ CH06(arg0, 60, EXC0)
+
+ LGreater(i000, DeRefOf(arg1))
+ CH06(arg0, 61, EXC0)
+
+ // LGreaterEqual
+
+ LGreaterEqual(DeRefOf(arg1), i000)
+ CH06(arg0, 62, 0xff)
+
+ LGreaterEqual(i000, DeRefOf(arg1))
+ CH06(arg0, 63, 0xff)
+
+ // LLess
+
+ LLess(DeRefOf(arg1), i000)
+ CH06(arg0, 64, EXC0)
+
+ LLess(i000, DeRefOf(arg1))
+ CH06(arg0, 65, EXC0)
+
+ // LLessEqual
+
+ LLessEqual(DeRefOf(arg1), i000)
+ CH06(arg0, 66, 0xff)
+
+ LLessEqual(i000, DeRefOf(arg1))
+ CH06(arg0, 67, 0xff)
+
+ // LNotEqual
+
+ LNotEqual(DeRefOf(arg1), i000)
+ CH06(arg0, 68, 0xff)
+
+ LNotEqual(i000, DeRefOf(arg1))
+ CH06(arg0, 69, 0xff)
+
+ // LOr
+
+ LOr(DeRefOf(arg1), i000)
+ CH06(arg0, 70, EXC0)
+
+ LOr(i000, DeRefOf(arg1))
+ CH06(arg0, 71, EXC0)
+
+ // Mod
+
+ Mod(DeRefOf(arg1), i000)
+ CH06(arg0, 72, EXC0)
+
+ Mod(i000, DeRefOf(arg1))
+ CH06(arg0, 73, EXC0)
+
+ Mod(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 74, EXC0)
+
+ Mod(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 75, EXC0)
+
+ // Multiply
+
+ Multiply(DeRefOf(arg1), i000)
+ CH06(arg0, 76, EXC0)
+
+ Multiply(i000, DeRefOf(arg1))
+ CH06(arg0, 77, EXC0)
+
+ Multiply(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 78, EXC0)
+
+ Multiply(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 79, EXC0)
+
+ // NAnd
+
+ NAnd(DeRefOf(arg1), i000)
+ CH06(arg0, 80, EXC0)
+
+ NAnd(i000, DeRefOf(arg1))
+ CH06(arg0, 81, EXC0)
+
+ NAnd(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 82, EXC0)
+
+ NAnd(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 83, EXC0)
+
+ // NOr
+
+ NOr(DeRefOf(arg1), i000)
+ CH06(arg0, 84, EXC0)
+
+ NOr(i000, DeRefOf(arg1))
+ CH06(arg0, 85, EXC0)
+
+ NOr(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 86, EXC0)
+
+ NOr(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 87, EXC0)
+
+ // Or
+
+ Or(DeRefOf(arg1), i000)
+ CH06(arg0, 88, EXC0)
+
+ Or(i000, DeRefOf(arg1))
+ CH06(arg0, 89, EXC0)
+
+ Or(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 90, EXC0)
+
+ Or(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 91, EXC0)
+
+ // ShiftLeft
+
+ ShiftLeft(DeRefOf(arg1), i000)
+ CH06(arg0, 92, EXC0)
+
+ ShiftLeft(i000, DeRefOf(arg1))
+ CH06(arg0, 93, EXC0)
+
+ ShiftLeft(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 94, EXC0)
+
+ ShiftLeft(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 95, EXC0)
+
+ // ShiftRight
+
+ ShiftRight(DeRefOf(arg1), i000)
+ CH06(arg0, 96, EXC0)
+
+ ShiftRight(i000, DeRefOf(arg1))
+ CH06(arg0, 97, EXC0)
+
+ ShiftRight(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 98, EXC0)
+
+ ShiftRight(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 99, EXC0)
+
+ // Subtract
+
+ Subtract(DeRefOf(arg1), i000)
+ CH06(arg0, 100, EXC0)
+
+ Subtract(i000, DeRefOf(arg1))
+ CH06(arg0, 101, EXC0)
+
+ Subtract(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 102, EXC0)
+
+ Subtract(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 103, EXC0)
+
+ // ToString
+
+ ToString(DeRefOf(arg1), 1)
+ CH06(arg0, 104, EXC0)
+
+ ToString(i000, DeRefOf(arg1))
+ CH06(arg0, 105, EXC0)
+
+ ToString(DeRefOf(arg1), 1, Local1)
+ CH06(arg0, 106, EXC0)
+
+ ToString(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 107, EXC0)
+
+ // Wait
+
+ Wait(e000, DeRefOf(arg1))
+ CH06(arg0, 109, EXC0)
+
+ // XOr
+
+ XOr(DeRefOf(arg1), i000)
+ CH06(arg0, 110, EXC0)
+
+ XOr(i000, DeRefOf(arg1))
+ CH06(arg0, 111, EXC0)
+
+ XOr(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 112, EXC0)
+
+ XOr(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 113, EXC0)
+
+ // Mid
+
+ Mid(DeRefOf(arg1), 1, 1)
+ CH06(arg0, 114, EXC0)
+
+ Mid("123", DeRefOf(arg1), 1)
+ CH06(arg0, 115, EXC0)
+
+ Mid("123", 1, DeRefOf(arg1))
+ CH06(arg0, 116, EXC0)
+
+ Mid(DeRefOf(arg1), 1, 1, Local1)
+ CH06(arg0, 117, EXC0)
+
+ Mid("123", DeRefOf(arg1), 1, Local1)
+ CH06(arg0, 118, EXC0)
+
+ Mid("123", 1, DeRefOf(arg1), Local1)
+ CH06(arg0, 119, EXC0)
+
+ // Match
+
+ Match(DeRefOf(arg1), MTR, 0, MTR, 0, 0)
+ CH06(arg0, 120, EXC0)
+
+ Match(Package(){1}, MTR, DeRefOf(arg1), MTR, 0, 0)
+ CH06(arg0, 121, EXC0)
+
+ Match(Package(){1}, MTR, 0, MTR, DeRefOf(arg1), 0)
+ CH06(arg0, 122, EXC0)
+
+ Match(Package(){1}, MTR, 0, MTR, 0, DeRefOf(arg1))
+ CH06(arg0, 123, EXC0)
+
+ return (0)
+ }
+
+ // Result of Method invocation
+ Method(m004, 1)
+ {
+ Name(i000, 0) // Label to check m000 invocations
+
+ Method(m000)
+ {
+ CopyObject(tz00, Local0)
+ Return (Local0)
+ }
+
+ // CondRefOf
+
+ CondRefOf(m000())
+ CH06(arg0, 0, 47)
+
+ CondRefOf(m000(), Local1)
+ CH06(arg0, 1, 47)
+
+ // CopyObject
+
+ CopyObject(m000(), Local1)
+ CH03(ts, z105, 7, 0, 0)
+
+ // Decrement
+
+ Decrement(m000())
+ CH06(arg0, 2, 47)
+
+ // DerefOf
+
+ DerefOf(m000())
+ CH06(arg0, 3, 47)
+
+ // FindSetLeftBit
+
+ FindSetLeftBit(m000())
+ CH06(arg0, 4, 47)
+
+ FindSetLeftBit(m000(), Local1)
+ CH06(arg0, 5, 47)
+
+ // FindSetRightBit
+
+ FindSetRightBit(m000())
+ CH06(arg0, 6, 47)
+
+ FindSetRightBit(m000(), Local1)
+ CH06(arg0, 7, 47)
+
+ // FromBCD
+
+ FromBCD(m000())
+ CH06(arg0, 8, 47)
+
+ FromBCD(m000(), Local1)
+ CH06(arg0, 9, 47)
+
+ // Increment
+
+ Increment(m000())
+ CH06(arg0, 10, 47)
+
+ // LNot
+
+ LNot(m000())
+ CH06(arg0, 11, 47)
+
+ // Not
+
+ Not(m000())
+ CH06(arg0, 12, 47)
+
+ Not(m000(), Local1)
+ CH06(arg0, 13, 47)
+
+ // ObjectType
+
+ ObjectType(m000())
+ CH03(ts, z105, 8, 0, 0)
+
+ // RefOf
+
+ RefOf(m000())
+ CH06(arg0, 14, 47)
+
+ // Release
+
+ Release(m000())
+ CH06(arg0, 13, 47)
+
+ // Reset
+
+ Reset(m000())
+ CH06(arg0, 14, 47)
+
+ // Signal
+
+ Signal(m000())
+ CH06(arg0, 15, 47)
+
+ // SizeOf
+
+ SizeOf(m000())
+ CH06(arg0, 16, 47)
+
+ // Sleep
+
+ Sleep(m000())
+ CH06(arg0, 17, 47)
+
+ // Stall
+
+ Stall(m000())
+ CH06(arg0, 18, 47)
+
+ // Store
+
+ Store(m000(), Local1)
+ CH06(arg0, 19, 47)
+
+ // ToBCD
+
+ ToBCD(m000())
+ CH06(arg0, 20, 47)
+
+ ToBCD(m000(), Local1)
+ CH06(arg0, 21, 47)
+
+ // ToBuffer
+
+ ToBuffer(m000())
+ CH06(arg0, 22, 47)
+
+ ToBuffer(m000(), Local1)
+ CH06(arg0, 23, 47)
+
+ // ToDecimalString
+
+ ToDecimalString(m000())
+ CH06(arg0, 24, 47)
+
+ ToDecimalString(m000(), Local1)
+ CH06(arg0, 25, 47)
+
+ // ToHexString
+
+ ToHexString(m000())
+ CH06(arg0, 26, 47)
+
+ ToHexString(m000(), Local1)
+ CH06(arg0, 27, 47)
+
+ // ToInteger
+
+ ToInteger(m000())
+ CH06(arg0, 28, 47)
+
+ ToInteger(m000(), Local1)
+ CH06(arg0, 29, 47)
+
+ // Acquire
+
+ Acquire(m000(), 100)
+ CH06(arg0, 30, 47)
+
+ // Add
+
+ Add(m000(), i000)
+ CH06(arg0, 31, 47)
+
+ Add(i000, m000())
+ CH06(arg0, 32, 47)
+
+ Add(m000(), i000, Local1)
+ CH06(arg0, 33, 47)
+
+ Add(i000, m000(), Local1)
+ CH06(arg0, 34, 47)
+
+ // And
+
+ And(m000(), i000)
+ CH06(arg0, 35, 47)
+
+ And(i000, m000())
+ CH06(arg0, 36, 47)
+
+ And(m000(), i000, Local1)
+ CH06(arg0, 37, 47)
+
+ And(i000, m000(), Local1)
+ CH06(arg0, 38, 47)
+
+ // Concatenate
+
+ Concatenate(m000(), i000)
+ CH06(arg0, 39, 47)
+
+ Concatenate(i000, m000())
+ CH06(arg0, 40, 47)
+
+ Concatenate(m000(), i000, Local1)
+ CH06(arg0, 41, 47)
+
+ Concatenate(i000, m000(), Local1)
+ CH06(arg0, 42, 47)
+
+ // ConcatenateResTemplate
+
+ ConcatenateResTemplate(m000(), ResourceTemplate(){})
+ CH06(arg0, 43, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, m000())
+ CH06(arg0, 44, 47)
+
+ ConcatenateResTemplate(m000(), ResourceTemplate(){}, Local1)
+ CH06(arg0, 45, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, m000(), Local1)
+ CH06(arg0, 46, 47)
+
+ // Divide
+
+ Divide(m000(), i000)
+ CH06(arg0, 47, 47)
+
+ Divide(i000, m000())
+ CH06(arg0, 48, 47)
+
+ Divide(m000(), i000, Local2)
+ CH06(arg0, 49, 47)
+
+ Divide(i000, m000(), Local2)
+ CH06(arg0, 50, 47)
+
+ Divide(m000(), i000, Local2, Local1)
+ CH06(arg0, 51, 47)
+
+ Divide(i000, m000(), Local2, Local1)
+ CH06(arg0, 52, 47)
+
+ // Fatal
+
+ Fatal(0xff, 0xffffffff, m000())
+ CH06(arg0, 53, 47)
+
+ // Index
+
+ Index(m000(), 0)
+ CH06(arg0, 54, 47)
+
+ Index("0", m000())
+ CH06(arg0, 55, 47)
+
+ Index(m000(), 0, Local1)
+ CH06(arg0, 56, 47)
+
+ Index("0", m000(), Local1)
+ CH06(arg0, 57, 47)
+
+ // LEqual
+
+ LEqual(m000(), i000)
+ CH06(arg0, 58, 47)
+
+ LEqual(i000, m000())
+ CH06(arg0, 59, 47)
+
+ // LGreater
+
+ LGreater(m000(), i000)
+ CH06(arg0, 60, 47)
+
+ LGreater(i000, m000())
+ CH06(arg0, 61, 47)
+
+ // LGreaterEqual
+
+ LGreaterEqual(m000(), i000)
+ CH06(arg0, 62, 0xff)
+
+ LGreaterEqual(i000, m000())
+ CH06(arg0, 63, 0xff)
+
+ // LLess
+
+ LLess(m000(), i000)
+ CH06(arg0, 64, 47)
+
+ LLess(i000, m000())
+ CH06(arg0, 65, 47)
+
+ // LLessEqual
+
+ LLessEqual(m000(), i000)
+ CH06(arg0, 66, 0xff)
+
+ LLessEqual(i000, m000())
+ CH06(arg0, 67, 0xff)
+
+ // LNotEqual
+
+ LNotEqual(m000(), i000)
+ CH06(arg0, 68, 0xff)
+
+ LNotEqual(i000, m000())
+ CH06(arg0, 69, 0xff)
+
+ // LOr
+
+ LOr(m000(), i000)
+ CH06(arg0, 70, 47)
+
+ LOr(i000, m000())
+ CH06(arg0, 71, 47)
+
+ // Mod
+
+ Mod(m000(), i000)
+ CH06(arg0, 72, 47)
+
+ Mod(i000, m000())
+ CH06(arg0, 73, 47)
+
+ Mod(m000(), i000, Local1)
+ CH06(arg0, 74, 47)
+
+ Mod(i000, m000(), Local1)
+ CH06(arg0, 75, 47)
+
+ // Multiply
+
+ Multiply(m000(), i000)
+ CH06(arg0, 76, 47)
+
+ Multiply(i000, m000())
+ CH06(arg0, 77, 47)
+
+ Multiply(m000(), i000, Local1)
+ CH06(arg0, 78, 47)
+
+ Multiply(i000, m000(), Local1)
+ CH06(arg0, 79, 47)
+
+ // NAnd
+
+ NAnd(m000(), i000)
+ CH06(arg0, 80, 47)
+
+ NAnd(i000, m000())
+ CH06(arg0, 81, 47)
+
+ NAnd(m000(), i000, Local1)
+ CH06(arg0, 82, 47)
+
+ NAnd(i000, m000(), Local1)
+ CH06(arg0, 83, 47)
+
+ // NOr
+
+ NOr(m000(), i000)
+ CH06(arg0, 84, 47)
+
+ NOr(i000, m000())
+ CH06(arg0, 85, 47)
+
+ NOr(m000(), i000, Local1)
+ CH06(arg0, 86, 47)
+
+ NOr(i000, m000(), Local1)
+ CH06(arg0, 87, 47)
+
+ // Or
+
+ Or(m000(), i000)
+ CH06(arg0, 88, 47)
+
+ Or(i000, m000())
+ CH06(arg0, 89, 47)
+
+ Or(m000(), i000, Local1)
+ CH06(arg0, 90, 47)
+
+ Or(i000, m000(), Local1)
+ CH06(arg0, 91, 47)
+
+ // ShiftLeft
+
+ ShiftLeft(m000(), i000)
+ CH06(arg0, 92, 47)
+
+ ShiftLeft(i000, m000())
+ CH06(arg0, 93, 47)
+
+ ShiftLeft(m000(), i000, Local1)
+ CH06(arg0, 94, 47)
+
+ ShiftLeft(i000, m000(), Local1)
+ CH06(arg0, 95, 47)
+
+ // ShiftRight
+
+ ShiftRight(m000(), i000)
+ CH06(arg0, 96, 47)
+
+ ShiftRight(i000, m000())
+ CH06(arg0, 97, 47)
+
+ ShiftRight(m000(), i000, Local1)
+ CH06(arg0, 98, 47)
+
+ ShiftRight(i000, m000(), Local1)
+ CH06(arg0, 99, 47)
+
+ // Subtract
+
+ Subtract(m000(), i000)
+ CH06(arg0, 100, 47)
+
+ Subtract(i000, m000())
+ CH06(arg0, 101, 47)
+
+ Subtract(m000(), i000, Local1)
+ CH06(arg0, 102, 47)
+
+ Subtract(i000, m000(), Local1)
+ CH06(arg0, 103, 47)
+
+ // ToString
+
+ ToString(m000(), 1)
+ CH06(arg0, 104, 47)
+
+ ToString(i000, m000())
+ CH06(arg0, 105, 47)
+
+ ToString(m000(), 1, Local1)
+ CH06(arg0, 106, 47)
+
+ ToString(i000, m000(), Local1)
+ CH06(arg0, 107, 47)
+
+ // Wait
+
+ Wait(m000(), i000)
+ CH06(arg0, 108, 47)
+
+ Wait(e000, m000())
+ CH06(arg0, 109, 47)
+
+ // XOr
+
+ XOr(m000(), i000)
+ CH06(arg0, 110, 47)
+
+ XOr(i000, m000())
+ CH06(arg0, 111, 47)
+
+ XOr(m000(), i000, Local1)
+ CH06(arg0, 112, 47)
+
+ XOr(i000, m000(), Local1)
+ CH06(arg0, 113, 47)
+
+ // Mid
+
+ Mid(m000(), 1, 1)
+ CH06(arg0, 114, 47)
+
+ Mid("123", m000(), 1)
+ CH06(arg0, 115, 47)
+
+ Mid("123", 1, m000())
+ CH06(arg0, 116, 47)
+
+ Mid(m000(), 1, 1, Local1)
+ CH06(arg0, 117, 47)
+
+ Mid("123", m000(), 1, Local1)
+ CH06(arg0, 118, 47)
+
+ Mid("123", 1, m000(), Local1)
+ CH06(arg0, 119, 47)
+
+ // Match
+
+ Match(m000(), MTR, 0, MTR, 0, 0)
+ CH06(arg0, 120, 47)
+
+ Match(Package(){1}, MTR, m000(), MTR, 0, 0)
+ CH06(arg0, 121, 47)
+
+ Match(Package(){1}, MTR, 0, MTR, m000(), 0)
+ CH06(arg0, 122, 47)
+
+ Match(Package(){1}, MTR, 0, MTR, 0, m000())
+ CH06(arg0, 123, 47)
+ }
+
+ // Reference to Object as Result of Method invocation
+ Method(m005, 1)
+ {
+ ThermalZone (tz02) {Name(n000, "tz02")}
+
+ Name(i000, 0) // Label to check m000 invocations
+
+ Method(m000, 2)
+ {
+ Store(arg0, i000)
+ if (LEqual(arg1, 0)) {
+ Store(Refof(tz00), Local0)
+ } elseif (LEqual(arg1, 1)) {
+ Store(Refof(tz02), Local0)
+ }
+ Return (Local0)
+ }
+
+ Method(CH00, 2)
+ {
+ if (LNotEqual(i000, arg1)) {
+ err(arg0, z105, 0, 0, 0, i000, arg1)
+ }
+ }
+
+ Name(lpN0, 2)
+ Name(lpC0, 0)
+
+ While (lpN0) {
+ Multiply(3, lpC0, Local0)
+
+ Store(0, i000)
+
+ DerefOf(m000(1, lpC0))
+ CH03(ts, z105, Add(9, lpC0), 0, 0)
+ CH00(arg0, 1)
+
+ DerefOf(DerefOf(m000(2, lpC0)))
+ CH06(arg0, Add(1, Local0), 47)
+ CH00(arg0, 2)
+
+ Index(DerefOf(m000(3, lpC0)), 0)
+ CH06(arg0, Add(2, Local0), 47)
+ CH00(arg0, 3)
+
+ Match(DerefOf(m000(4, lpC0)), MTR, 0, MTR, 0, 0)
+ CH06(arg0, Add(3, Local0), 47)
+ CH00(arg0, 4)
+
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+ }
+
+ CH03(ts, z105, 11, 0, 0)
+
+ // Local Named Object
+ m000(ts)
+
+ // Global Named Object
+ m001(ts)
+
+ // Local
+ if (y504) {
+ m002(Concatenate(ts, "-m002"))
+ }
+
+ // Reference to Local Named Object
+
+ m003(Concatenate(ts, "-m003-RefLocName"), RefOf(tz01), 1)
+
+ Store(RefOf(tz01), Local0)
+ m003(Concatenate(ts, "-m003-RefLocName2"), Local0, 1)
+
+ CondRefOf(tz01, Local0)
+ m003(Concatenate(ts, "-m003-CondRefLocName"), Local0, 1)
+
+ m003(Concatenate(ts, "-m003-RefGlobName"), RefOf(tz00), 1)
+
+ Store(RefOf(tz00), Local0)
+ m003(Concatenate(ts, "-m003-RefGlobName2"), Local0, 1)
+
+ CondRefOf(tz00, Local0)
+ m003(Concatenate(ts, "-m003-CondRefGlobName"), Local0, 1)
+
+ // Reference to Object as element of Package
+
+ Name(pp00, Package(){tz00})
+
+ if (y113) {
+ m003(Concatenate(ts, "-m003-Index"), Index(pp00, 0), 0)
+ }
+
+ Store(Index(pp00, 0), Local1)
+ m003(Concatenate(ts, "-m003-Index2"), Local1, 0)
+
+ if (y113) {
+ m003(Concatenate(ts, "-m003-Index3"), Index(pp00, 0, Local2), 0)
+ }
+
+ Index(pp00, 0, Local3)
+ m003(Concatenate(ts, "-m003-Index4"), Local3, 0)
+
+ Store(Index(pp00, 0, Local4), Local5)
+ m003(Concatenate(ts, "-m003-Index5"), Local5, 0)
+
+ // Result of Method invocation
+ if (y504) {
+ m004(Concatenate(ts, "-m004"))
+ }
+
+ // Reference to Object as Result of Method invocation
+ m005(Concatenate(ts, "-m005"))
+}
diff --git a/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_14_bfield.asl b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_14_bfield.asl
new file mode 100644
index 000000000..2750c4ac5
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_14_bfield.asl
@@ -0,0 +1,290 @@
+/*
+ * 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.
+ */
+
+/*
+ * Buffer Field
+ *
+ * (verify exceptions caused by the imprope use of Buffer Field type objects)
+ */
+
+Name(z106, 106)
+
+Name(b700, Buffer(20) {})
+CreateField(b700, 11, 31, bf20)
+CreateField(b700, 58, 65, bf21)
+
+Name(ii71, 0xabcd1234)
+Name(bi01, Buffer() {0xa4,0xa5,0xa6,0xa7,0xb8,0xb9,0xba,0xbb,0xbc})
+
+// Expected exceptions:
+//
+// 47 - AE_AML_OPERAND_TYPE
+// See notes to m4b1 and m4b3
+//
+Method(m4be)
+{
+ Name(ts, "m4be")
+
+ Name(bbf1, Buffer(20) {})
+ CreateField(bbf1, 11, 31, bf02)
+ CreateField(bbf1, 58, 65, bf03)
+
+ // Local Named Object
+ Method(m000, 1)
+ {
+ Name(bbf1, Buffer(20) {})
+ CreateField(bbf1, 11, 31, bf02)
+ CreateField(bbf1, 58, 65, bf03)
+
+ Store(ii71, bf02)
+ Store(bi01, bf03)
+
+ // Like Integer behaviour
+
+ if (y083) {
+ DerefOf(bf02)
+ CH06(arg0, 0, 47)
+ }
+
+ Index(bf02, 0)
+ CH06(arg0, 1, 47)
+
+ // Like Buffer behaviour
+
+ if (y083) {
+ DerefOf(bf03)
+ CH06(arg0, 2, 47)
+ }
+
+ Index(bf03, 0)
+ if (y900) {
+ CH03(ts, z106, 0, 0, 0)
+ } else {
+ CH04(ts, 0, 85, z106, 0x123, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+ }
+ }
+
+ // Global Named Object
+ Method(m001, 1)
+ {
+ Store(ii71, bf20)
+ Store(bi01, bf21)
+
+ // Like Integer behaviour
+
+ if (y083) {
+ DerefOf(bf20)
+ CH06(arg0, 3, 47)
+ }
+
+ Index(bf20, 0)
+ CH06(arg0, 4, 47)
+
+ // Like Buffer behaviour
+
+ if (y083) {
+ DerefOf(bf21)
+ CH06(arg0, 5, 47)
+ }
+
+ Index(bf21, 0)
+ if (y900) {
+ CH03(ts, z106, 1, 0, 0)
+ } else {
+ CH04(ts, 0, 85, z106, 0x123, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+ }
+
+ }
+
+ // Reference to Object
+ Method(m002, 3)
+ {
+ Store(arg0, Debug)
+ Store(arg1, Debug)
+
+ Store(ObjectType(arg1), Local0)
+ if (LNotEqual(Local0, 14)) {
+ err(arg0, z106, 6, 0, 0, Local0, 14)
+ return (1)
+ }
+
+ DerefOf(arg1)
+ CH03(ts, z106, 2, 0, 0)
+
+ DerefOf(DerefOf(arg1))
+ CH06(arg0, 7, 47)
+
+ Index(DerefOf(arg1), 0)
+
+ if (arg2) {
+ // Like Buffer behaviour
+ if (y900) {
+ CH03(ts, z106, 3, 0, 0)
+ } else {
+ CH04(ts, 0, 85, z106, 0x123, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+ }
+ } else {
+ // Like Integer behaviour
+ CH06(arg0, 8, 47)
+ }
+
+ Match(DerefOf(arg1), MTR, 0, MTR, 0, 0)
+ CH06(arg0, 9, 47)
+
+ return (0)
+ }
+
+ // Reference to Object as Result of Method invocation
+ Method(m003, 1)
+ {
+ Name(bbf1, Buffer(20) {})
+ CreateField(bbf1, 11, 31, bf02)
+ CreateField(bbf1, 58, 65, bf03)
+
+ Name(i000, 0) // Label to check m000 invocations
+
+ Method(m000, 2)
+ {
+ Store(arg0, i000)
+ if (LEqual(arg1, 0)) {
+ Store(Refof(bf20), Local0)
+ } elseif (LEqual(arg1, 1)) {
+ Store(Refof(bf21), Local0)
+ } elseif (LEqual(arg1, 2)) {
+ Store(Refof(bf02), Local0)
+ } elseif (LEqual(arg1, 3)) {
+ Store(Refof(bf03), Local0)
+ }
+ Return (Local0)
+ }
+
+ Method(CH00, 2)
+ {
+ if (LNotEqual(i000, arg1)) {
+ err(arg0, z106, 10, 0, 0, i000, arg1)
+ }
+ }
+
+ Name(lpN0, 4)
+ Name(lpC0, 0)
+
+ Store(ii71, bf20)
+ Store(bi01, bf21)
+ Store(ii71, bf02)
+ Store(bi01, bf03)
+
+ While (lpN0) {
+ Multiply(3, lpC0, Local0)
+
+ Store(0, i000)
+
+ DerefOf(m000(1, lpC0))
+ CH03(ts, z106, Add(4, lpC0), 0, 0)
+ CH00(arg0, 1)
+
+
+ DerefOf(DerefOf(m000(2, lpC0)))
+ CH06(arg0, Add(11, Local0), 47)
+ CH00(arg0, 2)
+
+ Index(DerefOf(m000(3, lpC0)), 0)
+ if (Mod(lpC0, 2)) {
+ // Like Buffer behaviour
+ if (y900) {
+ CH03(ts, z106, Add(8, lpC0), 0, 0)
+ } else {
+ CH04(ts, 0, 85, z106, 0x123, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+ }
+ } else {
+ // Like Integer behaviour
+ CH06(arg0, Add(12, Local0), 47)
+ }
+ CH00(arg0, 3)
+
+ Match(DerefOf(m000(4, lpC0)), MTR, 0, MTR, 0, 0)
+ CH06(arg0, Add(13, Local0), 47)
+ CH00(arg0, 4)
+
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+ }
+
+ CH03(ts, z106, 12, 0, 0)
+
+ // Local Named Object
+ m000(ts)
+
+ // Global Named Object
+ m001(ts)
+
+ // Reference to Local Named Object
+
+ Store(ii71, bf02)
+ Store(bi01, bf03)
+
+ m002(Concatenate(ts, "-m002-RefLocNameI"), RefOf(bf02), 0)
+
+ Store(RefOf(bf02), Local0)
+ m002(Concatenate(ts, "-m002-RefLocName2I"), Local0, 0)
+
+ CondRefOf(bf02, Local0)
+ m002(Concatenate(ts, "-m002-CondRefLocNameI"), Local0, 0)
+
+ m002(Concatenate(ts, "-m002-RefLocNameB"), RefOf(bf03), 1)
+
+ Store(RefOf(bf03), Local0)
+ m002(Concatenate(ts, "-m002-RefLocName2B"), Local0, 1)
+
+ CondRefOf(bf03, Local0)
+ m002(Concatenate(ts, "-m002-CondRefLocNameB"), Local0, 1)
+
+ Store(ii71, bf20)
+ Store(bi01, bf21)
+
+ m002(Concatenate(ts, "-m002-RefGlobNameI"), RefOf(bf20), 0)
+
+ Store(RefOf(bf20), Local0)
+ m002(Concatenate(ts, "-m002-RefGlobName2I"), Local0, 0)
+
+ CondRefOf(bf20, Local0)
+ m002(Concatenate(ts, "-m002-CondRefGlobNameI"), Local0, 0)
+
+ m002(Concatenate(ts, "-m002-RefGlobNameB"), RefOf(bf21), 1)
+
+ Store(RefOf(bf21), Local0)
+ m002(Concatenate(ts, "-m002-RefGlobName2B"), Local0, 1)
+
+ CondRefOf(bf21, Local0)
+ m002(Concatenate(ts, "-m002-CondRefGlobNameB"), Local0, 1)
+
+ // Reference to Object as Result of Method invocation
+ m003(ts)
+}
diff --git a/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_operand2.asl b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_operand2.asl
new file mode 100644
index 000000000..a8fe3db5c
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_operand2.asl
@@ -0,0 +1,96 @@
+/*
+ * 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.
+ */
+
+/*
+ * Exceptions caused by inappropriate type of operands
+ */
+
+Name(z107, 107)
+
+// Run-method
+Method(EOP2)
+{
+ SRMT("m4b0")
+ m4b0(0)
+
+ SRMT("m4b1")
+ m4b1(0x76543210)
+
+ SRMT("m4b2")
+ m4b2("2")
+
+ SRMT("m4b3")
+ m4b3(Buffer(){0x62})
+
+ SRMT("m4b4")
+ m4b4(Package(){0x62})
+
+ SRMT("m4b5")
+ m4b5()
+
+ SRMT("m4b6")
+ if (y120) {
+ m4b6()
+ } else {
+ BLCK()
+ }
+
+ SRMT("m4b7")
+ m4b7()
+
+ SRMT("m4b8")
+ m4b8()
+
+ SRMT("m4b9")
+ m4b9()
+
+ SRMT("m4ba")
+ if (y362) {
+ m4ba()
+ } else {
+ BLCK()
+ }
+
+ SRMT("m4bb")
+ m4bb()
+
+ SRMT("m4bc")
+ m4bc()
+
+ SRMT("m4bd")
+ if (y120) {
+ m4bd()
+ } else {
+ BLCK()
+ }
+
+ SRMT("m4be")
+ m4be()
+}
diff --git a/tests/aslts/src/runtime/collections/exceptions/exc_ref/MAIN.asl b/tests/aslts/src/runtime/collections/exceptions/exc_ref/MAIN.asl
new file mode 100644
index 000000000..95cd3e9c3
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/exceptions/exc_ref/MAIN.asl
@@ -0,0 +1,63 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "exc_ref.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../runtime/cntl/DECL.asl")
+ Include("../../../../runtime/common/data.asl")
+ Include("../../../../runtime/common/dataproc.asl")
+ Include("../../../../runtime/common/datastproc.asl")
+ Include("../../../../runtime/common/operations.asl")
+ Include("../../../../runtime/collections/functional/reference/DECL.asl")
+ Include("../../../../runtime/collections/functional/reference/ref70.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+
+ Include("../../../../runtime/collections/exceptions/exc_ref/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/exceptions/exc_ref/Makefile b/tests/aslts/src/runtime/collections/exceptions/exc_ref/Makefile
new file mode 100644
index 000000000..52de81c6f
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/exceptions/exc_ref/Makefile
@@ -0,0 +1,7 @@
+# exc_ref
+
+AMLMOD= exc_ref
+COLL= ../..
+
+TOP= $(COLL)/../../..
+include $(COLL)/Makefile.install
diff --git a/tests/aslts/src/runtime/collections/exceptions/exc_ref/RUN.asl b/tests/aslts/src/runtime/collections/exceptions/exc_ref/RUN.asl
new file mode 100644
index 000000000..6f9c8e770
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/exceptions/exc_ref/RUN.asl
@@ -0,0 +1,35 @@
+/*
+ * 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.
+ */
+
+
+if (STTT("Exceptions caused by inappropriate use of references", TCLE, 5, W016)) {
+ REF5()
+}
+FTTT()
diff --git a/tests/aslts/src/runtime/collections/exceptions/exc_result/Makefile b/tests/aslts/src/runtime/collections/exceptions/exc_result/Makefile
new file mode 100644
index 000000000..0874299f0
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/exceptions/exc_result/Makefile
@@ -0,0 +1,10 @@
+# exc_result
+
+MDIRS = \
+ exc_result1 \
+ exc_result2
+
+# FULL
+
+TOP= ../../../../..
+include $(TOP)/Makefile.switch
diff --git a/tests/aslts/src/runtime/collections/exceptions/exc_result/exc_result1/MAIN.asl b/tests/aslts/src/runtime/collections/exceptions/exc_result/exc_result1/MAIN.asl
new file mode 100644
index 000000000..d64118e14
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/exceptions/exc_result/exc_result1/MAIN.asl
@@ -0,0 +1,60 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "exc_result1.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/common/conversion/rproc.asl")
+ Include("../../../../../runtime/common/conversion/rtest.asl")
+ Include("../../../../../runtime/collections/exceptions/exc_result/exc_result1/exc_result1.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+
+ Include("../../../../../runtime/collections/exceptions/exc_result/exc_result1/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/exceptions/exc_result/exc_result1/Makefile b/tests/aslts/src/runtime/collections/exceptions/exc_result/exc_result1/Makefile
new file mode 100644
index 000000000..beadae410
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/exceptions/exc_result/exc_result1/Makefile
@@ -0,0 +1,7 @@
+# exc_result1
+
+AMLMOD= exc_result1
+COLL= ../../..
+
+TOP= $(COLL)/../../..
+include $(COLL)/Makefile.install
diff --git a/tests/aslts/src/runtime/collections/exceptions/exc_result/exc_result1/RUN.asl b/tests/aslts/src/runtime/collections/exceptions/exc_result/exc_result1/RUN.asl
new file mode 100644
index 000000000..3c9000cfc
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/exceptions/exc_result/exc_result1/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+
+if (STTT("Exceptions caused by inappropriate type of destination", TCLE, 3, W015)) {
+ SRMT("OCV3")
+ OCV3()
+}
+FTTT()
diff --git a/tests/aslts/src/runtime/collections/exceptions/exc_result/exc_result1/exc_result1.asl b/tests/aslts/src/runtime/collections/exceptions/exc_result/exc_result1/exc_result1.asl
new file mode 100644
index 000000000..23df611b6
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/exceptions/exc_result/exc_result1/exc_result1.asl
@@ -0,0 +1,44 @@
+/*
+ * 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.
+ */
+
+/*
+ * This test should be investigated and probably fixed because
+ * it most likely not conforms with the changed functionality of
+ * the Store operator - storing of non-computational data and
+ * BufferFields and Fields was once diasbled.
+ *
+ * Such are exc_operand1, exc_result, oconversion and rconversion tests.
+ */
+
+// Run-method
+Method(OCV3)
+{
+ m560(1)
+}
diff --git a/tests/aslts/src/runtime/collections/exceptions/exc_result/exc_result2/MAIN.asl b/tests/aslts/src/runtime/collections/exceptions/exc_result/exc_result2/MAIN.asl
new file mode 100644
index 000000000..eb466a095
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/exceptions/exc_result/exc_result2/MAIN.asl
@@ -0,0 +1,61 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "exc_result2.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/complex/result/common/rcommon.asl")
+ Include("../../../../../runtime/collections/complex/result/tests/rindecrement/rindecrement.asl")
+ Include("../../../../../runtime/collections/complex/result/tests/rexplicitconv/rexplicitconv.asl")
+ Include("../../../../../runtime/collections/complex/result/tests/roptional/roptional.asl")
+ Include("../../../../../runtime/collections/exceptions/exc_result/exc_result2/exc_result2.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/exceptions/exc_result/exc_result2/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/exceptions/exc_result/exc_result2/Makefile b/tests/aslts/src/runtime/collections/exceptions/exc_result/exc_result2/Makefile
new file mode 100644
index 000000000..ad070866a
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/exceptions/exc_result/exc_result2/Makefile
@@ -0,0 +1,7 @@
+# exc_result2
+
+AMLMOD= exc_result2
+COLL= ../../..
+
+TOP= $(COLL)/../../..
+include $(COLL)/Makefile.install
diff --git a/tests/aslts/src/runtime/collections/exceptions/exc_result/exc_result2/RUN.asl b/tests/aslts/src/runtime/collections/exceptions/exc_result/exc_result2/RUN.asl
new file mode 100644
index 000000000..277ef560e
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/exceptions/exc_result/exc_result2/RUN.asl
@@ -0,0 +1,35 @@
+/*
+ * 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.
+ */
+
+
+if (STTT("Exceptions on Result Object processing", TCLE, 4, W015)) {
+ RES5()
+}
+FTTT()
diff --git a/tests/aslts/src/runtime/collections/exceptions/exc_result/exc_result2/exc_result2.asl b/tests/aslts/src/runtime/collections/exceptions/exc_result/exc_result2/exc_result2.asl
new file mode 100644
index 000000000..01ad8db2c
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/exceptions/exc_result/exc_result2/exc_result2.asl
@@ -0,0 +1,76 @@
+/*
+ * 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.
+ */
+
+/*
+ * Check exceptions on storing
+ */
+
+// Run-method
+Method(RES5)
+{
+ Store("TEST: RES5, Exceptions on Result Object processing", Debug)
+
+ // Store
+ m689("RES5-m689", 0, 1)
+
+ //CopyObject
+ m689("RES5-m689", 1, 1)
+
+ // Increment
+ m692(0, 1)
+
+ // Decrement
+ m692(1, 1)
+
+ // Store the result of the explicit conversion operators
+ m693(0, 1, b676, b677, 0)
+ m693(0, 1, b67d, b677, 1)
+
+ // CopyObject the result of the explicit conversion operators
+ m693(1, 1, b676, b677, 0)
+ m693(1, 1, b67d, b677, 1)
+
+ // Optional storing of the result of the explicit conversion operators
+ m693(2, 1, b676, b677, 0)
+ m693(2, 1, b67d, b677, 1)
+
+ // Store the result of the normal operators
+ m694(0, 1, b676, b677, 0)
+ m694(0, 1, b67d, b677, 1)
+
+ // CopyObject the result of the normal operators
+ m694(1, 1, b676, b677, 0)
+ m694(1, 1, b67d, b677, 1)
+
+ // Optional storing of the result of the normal operators
+ m694(2, 1, b676, b677, 0)
+ m694(2, 1, b67d, b677, 1)
+}
+
diff --git a/tests/aslts/src/runtime/collections/exceptions/exc_tbl/MAIN.asl b/tests/aslts/src/runtime/collections/exceptions/exc_tbl/MAIN.asl
new file mode 100644
index 000000000..c23f0126c
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/exceptions/exc_tbl/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+DefinitionBlock(
+ "exc_tbl.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../runtime/cntl/DECL.asl")
+ Include("../../../../runtime/collections/functional/table/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+
+ Include("../../../../runtime/collections/exceptions/exc_tbl/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/exceptions/exc_tbl/Makefile b/tests/aslts/src/runtime/collections/exceptions/exc_tbl/Makefile
new file mode 100644
index 000000000..fcbc113d6
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/exceptions/exc_tbl/Makefile
@@ -0,0 +1,7 @@
+# exc_tbl
+
+AMLMOD= exc_tbl
+COLL= ../..
+
+TOP= $(COLL)/../../..
+include $(COLL)/Makefile.install
diff --git a/tests/aslts/src/runtime/collections/exceptions/exc_tbl/RUN.asl b/tests/aslts/src/runtime/collections/exceptions/exc_tbl/RUN.asl
new file mode 100644
index 000000000..5560c271e
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/exceptions/exc_tbl/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+
+if (STTT("Exceptions caused by inappropriate use of Load, UnLoad, LoadTable", TCLE, 6, W019)) {
+ TLD1()
+ TUL1()
+ TLT1()
+}
+FTTT()
diff --git a/tests/aslts/src/runtime/collections/functional/FULL/DECL.asl b/tests/aslts/src/runtime/collections/functional/FULL/DECL.asl
new file mode 100644
index 000000000..545be03d0
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/FULL/DECL.asl
@@ -0,0 +1,44 @@
+/*
+ * 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.
+ */
+
+// Functional tests collection, to be compiled all together as one module
+
+Include("../../../../runtime/collections/functional/arithmetic/DECL.asl")
+Include("../../../../runtime/collections/functional/bfield/DECL.asl")
+Include("../../../../runtime/collections/functional/constant/DECL.asl")
+Include("../../../../runtime/collections/functional/control/DECL.asl")
+Include("../../../../runtime/collections/functional/descriptor/DECL.asl")
+Include("../../../../runtime/collections/functional/logic/DECL.asl")
+Include("../../../../runtime/collections/functional/manipulation/DECL.asl")
+Include("../../../../runtime/collections/functional/name/DECL.asl")
+Include("../../../../runtime/collections/functional/reference/DECL.asl")
+Include("../../../../runtime/collections/functional/region/DECL.asl")
+Include("../../../../runtime/collections/functional/synchronization/DECL.asl")
+Include("../../../../runtime/collections/functional/table/DECL.asl")
diff --git a/tests/aslts/src/runtime/collections/functional/FULL/MAIN.asl b/tests/aslts/src/runtime/collections/functional/FULL/MAIN.asl
new file mode 100644
index 000000000..2b710ca51
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/FULL/MAIN.asl
@@ -0,0 +1,67 @@
+/*
+ * 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.
+ */
+
+// Run functional tests collection
+
+DefinitionBlock(
+ "functional.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../runtime/cntl/DECL.asl")
+ Include("../../../../runtime/common/data.asl")
+ Include("../../../../runtime/common/dataproc.asl")
+ Include("../../../../runtime/common/datastproc.asl")
+ Include("../../../../runtime/collections/functional/FULL/DECL.asl")
+
+ Method(m1a8, 3)
+ {
+ Store("It is implemented in exc_ref.asl, not used here", Debug)
+ }
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(1)
+
+ // Run verification methods
+ Include("../../../../runtime/collections/functional/FULL/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/functional/FULL/RUN.asl b/tests/aslts/src/runtime/collections/functional/FULL/RUN.asl
new file mode 100644
index 000000000..db9996298
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/FULL/RUN.asl
@@ -0,0 +1,44 @@
+/*
+ * 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.
+ */
+
+Store("COLLECTION: all functional tests", Debug)
+
+Include("../../../../runtime/collections/functional/arithmetic/RUN.asl")
+Include("../../../../runtime/collections/functional/bfield/RUN.asl")
+Include("../../../../runtime/collections/functional/constant/RUN.asl")
+Include("../../../../runtime/collections/functional/control/RUN.asl")
+Include("../../../../runtime/collections/functional/descriptor/RUN.asl")
+Include("../../../../runtime/collections/functional/logic/RUN.asl")
+Include("../../../../runtime/collections/functional/manipulation/RUN.asl")
+Include("../../../../runtime/collections/functional/name/RUN.asl")
+Include("../../../../runtime/collections/functional/reference/RUN.asl")
+Include("../../../../runtime/collections/functional/region/RUN.asl")
+Include("../../../../runtime/collections/functional/synchronization/RUN.asl")
+Include("../../../../runtime/collections/functional/table/RUN.asl")
diff --git a/tests/aslts/src/runtime/collections/functional/Makefile b/tests/aslts/src/runtime/collections/functional/Makefile
new file mode 100644
index 000000000..52c90b126
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/Makefile
@@ -0,0 +1,20 @@
+# functional
+
+MDIRS = \
+ arithmetic \
+ bfield \
+ constant \
+ control \
+ descriptor \
+ logic \
+ manipulation \
+ name \
+ reference \
+ region \
+ synchronization \
+ table
+
+# extern local FULL
+
+TOP= ../../../..
+include $(TOP)/Makefile.switch
diff --git a/tests/aslts/src/runtime/collections/functional/README b/tests/aslts/src/runtime/collections/functional/README
new file mode 100644
index 000000000..20b663249
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/README
@@ -0,0 +1,32 @@
+
+CONTENTS
+
+ Functional test collection
+
+ The following directories contain the functional tests
+ of groups of ASL operators.
+
+ Name of directory Name of group of ASL operators
+ (name of test)
+ ___________________________________________________________
+ 0 | arithmetic | Integer arithmetic |
+ 1 | bfield | Buffer Fields |
+ 2 | constant | Constants |
+ 3 | control | Method execution control |
+ 4 | descriptor | Resource Descriptor macros |
+ 5 | extern | ASL compiler controls |
+ 6 | local | Control method objects |
+ 7 | logic | Logical operators |
+ 8 | manipulation | Data type conversion and manipulation |
+ 9 | name | Miscellaneous named object creation |
+10 | reference | Object references |
+11 | region | Operation Regions |
+12 | synchronization | Synchronization |
+13 | table | ACPI table management |
+ ___________________________________________________________
+
+FULL
+
+ full the functional test collection - all the tests of
+ the functional test collection are compiled together as
+ one DefinitionBlock
diff --git a/tests/aslts/src/runtime/collections/functional/arithmetic/DECL.asl b/tests/aslts/src/runtime/collections/functional/arithmetic/DECL.asl
new file mode 100644
index 000000000..e3cd59669
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/arithmetic/DECL.asl
@@ -0,0 +1,32 @@
+/*
+ * 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.
+ */
+
+
+Include("../../../../runtime/collections/functional/arithmetic/arithmetic.asl")
diff --git a/tests/aslts/src/runtime/collections/functional/arithmetic/MAIN.asl b/tests/aslts/src/runtime/collections/functional/arithmetic/MAIN.asl
new file mode 100644
index 000000000..3344eba3b
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/arithmetic/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "arithmetic.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../runtime/cntl/DECL.asl")
+ Include("../../../../runtime/collections/functional/arithmetic/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../runtime/collections/functional/arithmetic/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/functional/arithmetic/Makefile b/tests/aslts/src/runtime/collections/functional/arithmetic/Makefile
new file mode 100644
index 000000000..77902cefd
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/arithmetic/Makefile
@@ -0,0 +1,7 @@
+# arithmetic
+
+AMLMOD= arithmetic
+COLL= ../..
+
+TOP= $(COLL)/../../..
+include $(COLL)/Makefile.install
diff --git a/tests/aslts/src/runtime/collections/functional/arithmetic/RUN.asl b/tests/aslts/src/runtime/collections/functional/arithmetic/RUN.asl
new file mode 100644
index 000000000..d0a4580f0
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/arithmetic/RUN.asl
@@ -0,0 +1,68 @@
+/*
+ * 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.
+ */
+
+
+if (STTT("Integer arithmetic", TCLF, 0, W000)) {
+ SRMT("ADD0")
+ ADD0()
+ SRMT("SUB0")
+ SUB0()
+ SRMT("MTP0")
+ MTP0()
+ SRMT("DVD0")
+ DVD0()
+ SRMT("ICR0")
+ ICR0()
+ SRMT("DCR0")
+ DCR0()
+ SRMT("AND0")
+ AND0()
+ SRMT("NAN0")
+ NAN0()
+ SRMT("NOR0")
+ NOR0()
+ SRMT("NOT0")
+ NOT0()
+ SRMT("OR00")
+ OR00()
+ SRMT("XOR0")
+ XOR0()
+ SRMT("MOD0")
+ MOD0()
+ SRMT("SHL0")
+ SHL0()
+ SRMT("SHR0")
+ SHR0()
+ SRMT("FSL0")
+ FSL0()
+ SRMT("FSR0")
+ FSR0()
+}
+FTTT()
diff --git a/tests/aslts/src/runtime/collections/functional/arithmetic/arithmetic.asl b/tests/aslts/src/runtime/collections/functional/arithmetic/arithmetic.asl
new file mode 100644
index 000000000..811f7de99
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/arithmetic/arithmetic.asl
@@ -0,0 +1,1512 @@
+/*
+ * 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.
+ */
+
+/*
+ * Integer arithmetic
+ */
+
+Name(z083, 83)
+
+// Verifying 2-parameters, 1-result operator
+Method(m000, 6)
+{
+ Store(0, Local5)
+ Store(arg1, Local3)
+
+ While(Local3) {
+
+ // Operands
+
+ Multiply(Local5, 2, Local6)
+ Store(DeRefOf(Index(arg3, Local6)), Local0)
+ Increment(Local6)
+ Store(DeRefOf(Index(arg3, Local6)), Local1)
+
+ // Expected result
+
+ Store(DeRefOf(Index(arg4, Local5)), Local2)
+
+ switch (arg5) {
+ case (0) {
+ Add(Local0, Local1, Local7)
+ if (LNotEqual(Local7, Local2)) {
+ err(arg0, z083, 0, 0, 0, Local5, arg2)
+ }
+ Add(Local1, Local0, Local7)
+ if (LNotEqual(Local7, Local2)) {
+ err(arg0, z083, 1, 0, 0, Local5, arg2)
+ }
+ }
+ case (1) {
+ Subtract(Local0, Local1, Local7)
+ if (LNotEqual(Local7, Local2)) {
+ err(arg0, z083, 2, 0, 0, Local5, arg2)
+ }
+ }
+ case (2) {
+ Multiply(Local0, Local1, Local7)
+ if (LNotEqual(Local7, Local2)) {
+ err(arg0, z083, 3, 0, 0, Local5, arg2)
+ }
+ Multiply(Local1, Local0, Local7)
+ if (LNotEqual(Local7, Local2)) {
+ err(arg0, z083, 4, 0, 0, Local5, arg2)
+ }
+ }
+ case (3) {
+ And(Local0, Local1, Local7)
+ if (LNotEqual(Local7, Local2)) {
+ err(arg0, z083, 5, 0, 0, Local5, arg2)
+ }
+ And(Local1, Local0, Local7)
+ if (LNotEqual(Local7, Local2)) {
+ err(arg0, z083, 6, 0, 0, Local5, arg2)
+ }
+ }
+ case (4) {
+ Nand(Local0, Local1, Local7)
+ if (LNotEqual(Local7, Local2)) {
+ err(arg0, z083, 7, 0, 0, Local5, arg2)
+ }
+ Nand(Local1, Local0, Local7)
+ if (LNotEqual(Local7, Local2)) {
+ err(arg0, z083, 8, 0, 0, Local5, arg2)
+ }
+ }
+ case (5) {
+ Nor(Local0, Local1, Local7)
+ if (LNotEqual(Local7, Local2)) {
+ err(arg0, z083, 9, 0, 0, Local5, arg2)
+ }
+ Nor(Local1, Local0, Local7)
+ if (LNotEqual(Local7, Local2)) {
+ err(arg0, z083, 10, 0, 0, Local5, arg2)
+ }
+ }
+ case (6) {
+ Or(Local0, Local1, Local7)
+ if (LNotEqual(Local7, Local2)) {
+ err(arg0, z083, 11, 0, 0, Local5, arg2)
+ }
+ Or(Local1, Local0, Local7)
+ if (LNotEqual(Local7, Local2)) {
+ err(arg0, z083, 12, 0, 0, Local5, arg2)
+ }
+ }
+ case (7) {
+ Xor(Local0, Local1, Local7)
+ if (LNotEqual(Local7, Local2)) {
+ err(arg0, z083, 13, 0, 0, Local5, arg2)
+ }
+ Xor(Local1, Local0, Local7)
+ if (LNotEqual(Local7, Local2)) {
+ err(arg0, z083, 14, 0, 0, Local5, arg2)
+ }
+ }
+ case (8) {
+ Mod(Local0, Local1, Local7)
+ if (LNotEqual(Local7, Local2)) {
+ err(arg0, z083, 15, 0, 0, Local5, arg2)
+ }
+ }
+ case (9) {
+ ShiftLeft(Local0, Local1, Local7)
+ if (LNotEqual(Local7, Local2)) {
+ err(arg0, z083, 16, 0, 0, Local5, arg2)
+ }
+ }
+ case (10) {
+ ShiftRight(Local0, Local1, Local7)
+ if (LNotEqual(Local7, Local2)) {
+ err(arg0, z083, 17, 0, 0, Local5, arg2)
+ }
+ }
+ }
+ Increment(Local5)
+ Decrement(Local3)
+ }
+}
+
+// Verifying 2-parameters, 2-results operator
+Method(m001, 6)
+{
+ Store(0, Local5)
+ Store(arg1, Local4)
+
+ While(Local4) {
+
+ // Operands
+
+ Multiply(Local5, 2, Local6)
+ Store(DeRefOf(Index(arg3, Local6)), Local0)
+ Increment(Local6)
+ Store(DeRefOf(Index(arg3, Local6)), Local1)
+
+ // Expected result
+
+ Multiply(Local5, 2, Local6)
+ Store(DeRefOf(Index(arg4, Local6)), Local2)
+ Increment(Local6)
+ Store(DeRefOf(Index(arg4, Local6)), Local3)
+
+ switch (arg5) {
+ case (0) {
+ Divide(Local0, Local1, Local6, Local7)
+ if (LNotEqual(Local7, Local2)) {
+ err(arg0, z083, 18, 0, 0, Local5, arg2)
+ }
+ if (LNotEqual(Local6, Local3)) {
+ err(arg0, z083, 19, 0, 0, Local5, arg2)
+ }
+ }
+ }
+ Increment(Local5)
+ Decrement(Local4)
+ }
+}
+
+// Verifying 1-parameter, 1-result operator
+Method(m002, 6)
+{
+ Store(0, Local5)
+ Store(arg1, Local3)
+
+ While(Local3) {
+
+ // Operand
+
+ Store(DeRefOf(Index(arg3, Local5)), Local0)
+
+ // Expected result
+
+ Store(DeRefOf(Index(arg4, Local5)), Local1)
+
+ switch (arg5) {
+ case (0) {
+ Increment(Local0)
+ if (LNotEqual(Local0, Local1)) {
+ err(arg0, z083, 20, 0, 0, Local5, arg2)
+ }
+ }
+ case (1) {
+ Decrement(Local0)
+ if (LNotEqual(Local0, Local1)) {
+ err(arg0, z083, 21, 0, 0, Local5, arg2)
+ }
+ }
+ case (2) {
+ Not(Local0, Local2)
+ if (LNotEqual(Local2, Local1)) {
+ err(arg0, z083, 22, 0, 0, Local5, arg2)
+ }
+ }
+ case (3) {
+ FindSetLeftBit(Local0, Local2)
+ if (LNotEqual(Local2, Local1)) {
+ err(arg0, z083, 23, 0, 0, Local5, arg2)
+ }
+ }
+ case (4) {
+ FindSetRightBit(Local0, Local2)
+ if (LNotEqual(Local2, Local1)) {
+ err(arg0, z083, 24, 0, 0, Local5, arg2)
+ }
+ }
+ }
+ Increment(Local5)
+ Decrement(Local3)
+ }
+}
+
+// =================================== //
+// Bitwise operands //
+// //
+// (utilized by different operators) //
+// =================================== //
+
+Name(p030, Package()
+{
+ 0, 0,
+ 0, 0xffffffff,
+ 0xffffffff, 0xffffffff,
+ 0xf0f0f0f0, 0xffffffff,
+ 0x0f0f0f0f, 0xffffffff,
+ 0xf0f0f0f0, 0,
+ 0x0f0f0f0f, 0,
+ 0xf0f0f0f0, 0x11111111,
+ 0x0f0f0f0f, 0x11111111,
+ 0x87654321, 0x90abcdfe,
+})
+
+Name(p031, Package()
+{
+ 0, 0,
+ 0, 0xffffffffffffffff,
+ 0xffffffffffffffff, 0xffffffffffffffff,
+ 0xf0f0f0f0f0f0f0f0, 0xffffffffffffffff,
+ 0x0f0f0f0f0f0f0f0f, 0xffffffffffffffff,
+ 0xf0f0f0f0f0f0f0f0, 0,
+ 0x0f0f0f0f0f0f0f0f, 0,
+ 0xf0f0f0f0f0f0f0f0, 0x1111111111111111,
+ 0x0f0f0f0f0f0f0f0f, 0x1111111111111111,
+ 0x8765432199118822, 0x90ab66887799cdfe,
+})
+
+Name(p032, Package()
+{
+ 0,
+ 0xffffffff,
+ 0xf0f0f0f0,
+ 0x0f0f0f0f,
+ 0x12345678,
+})
+
+Name(p033, Package()
+{
+ 0,
+ 0xffffffffffffffff,
+ 0xf0f0f0f0f0f0f0f0,
+ 0x0f0f0f0f0f0f0f0f,
+ 0x123456780af9bced,
+})
+
+// ===================================== Add
+
+Name(p000, Package()
+{
+ 0x12345678, 0x6bcdef01,
+ 0x62345678, 0x4bcdef01,
+ 0x00000000, 0x00000000,
+ 0x10000000, 0x90000000,
+ 0x00000000, 0x000000ff,
+ 0x00000000, 0x0000ffff,
+ 0x00000000, 0xffffffff,
+
+ // 32-overflow
+ 0x12345678, 0xf0000000,
+ 0xffffffff, 0xffffffff,
+ 0x00000001, 0xffffffff,
+})
+
+Name(p001, Package()
+{
+ 0x7E024579,
+ 0xAE024579,
+ 0x00000000,
+ 0xa0000000,
+ 0x000000ff,
+ 0x0000ffff,
+ 0xffffffff,
+
+ // 32-overflow
+ 0x02345678,
+ 0xfffffffe,
+ 0x00000000,
+})
+
+Name(p002, Package()
+{
+ // 32-overflow
+ 0x12345678, 0xf0000000,
+ 0xffffffff, 0xffffffff,
+
+ 0x12345678dcabef98, 0x6bcdef0119283746,
+ 0x72345678dcabef98, 0x5bcdef0119283746,
+ 0, 0,
+ 0x1000000000000000, 0x9000000000000000,
+ 0, 0x0ff,
+ 0, 0x0ffff,
+ 0, 0x0ffffffff,
+ 0, 0xffffffffffffffff,
+
+ // 64-overflow
+ 0x12345678dcabef98, 0xf000000000000000,
+ 0xffffffffffffffff, 0xffffffffffffffff,
+ 1, 0xffffffffffffffff,
+})
+
+Name(p003, Package()
+{
+ // 32-overflow
+ 0x102345678,
+ 0x1fffffffe,
+
+ 0x7E024579F5D426DE,
+ 0xCE024579F5D426DE,
+ 0,
+ 0xa000000000000000,
+ 0x0ff,
+ 0x0ffff,
+ 0x0ffffffff,
+ 0xffffffffffffffff,
+
+ // 64-overflow
+ 0x02345678DCABEF98,
+ 0xfffffffffffffffe,
+ 0,
+})
+
+Method(ADD0)
+{
+ Name(ts, "ADD0")
+
+ Store("TEST: ADD0, Integer Add", Debug)
+
+ if (LEqual(F64, 1)) {
+ m000(ts, 7, "p000", p000, p001, 0)
+ m000(ts, 13, "p002", p002, p003, 0)
+ } else {
+ m000(ts, 10, "p000", p000, p001, 0)
+ }
+}
+
+// ===================================== Subtract
+
+Name(p004, Package()
+{
+ 0x62345678, 0x4bcdef01,
+ 0x00000000, 0x00000000,
+ 0x90000000, 0x10000000,
+ 0x000000ff, 0x00000000,
+ 0x0000ffff, 0x00000000,
+ 0xffffffff, 0xffffffff,
+ 0xffffffff, 0x00000000,
+
+ // 32-overflow
+ 0x00000000, 0x87654321,
+ 0x12345678, 0x6bcdef01,
+ 0x10000000, 0x90000000,
+ 0x00000000, 0x000000ff,
+ 0x00000000, 0x0000ffff,
+})
+
+Name(p005, Package()
+{
+ 0x16666777,
+ 0x00000000,
+ 0x80000000,
+ 0x000000ff,
+ 0x0000ffff,
+ 0x00000000,
+ 0xffffffff,
+
+ // 32-overflow
+ 0x789ABCDF,
+ 0xA6666777,
+ 0x80000000,
+ 0xFFFFFF01,
+ 0xFFFF0001
+})
+
+Name(p006, Package()
+{
+ // 32-overflow
+ 0x00000000, 0x87654321,
+ 0x12345678, 0x6bcdef01,
+ 0x10000000, 0x90000000,
+ 0x00000000, 0x000000ff,
+ 0x00000000, 0x0000ffff,
+
+ 0x12345678dcabef98, 0x6bcdef0119283746,
+ 0x72345678dcabef98, 0x5bcdef0119283746,
+ 0, 0,
+ 0xffffffffffffffff, 0,
+ 0, 0xffffffffffffffff,
+ 0x9000000000000000, 0x1000000000000000,
+ 0x1000000000000000, 0x9000000000000000,
+ 0x0ff, 0,
+ 0, 0x0ff,
+ 0x0ffff, 0,
+ 0, 0x0ffff,
+ 0x0ffffffff, 0,
+ 0, 0x0ffffffff,
+ 0xffffffffffffffff, 0xffffffffffffffff,
+ 0x12345678dcabef98, 0xf000000000000000,
+})
+
+Name(p007, Package()
+{
+ // 32-overflow
+ 0xFFFFFFFF789ABCDF,
+ 0xFFFFFFFFA6666777,
+ 0xFFFFFFFF80000000,
+ 0xFFFFFFFFFFFFFF01,
+ 0xFFFFFFFFFFFF0001,
+
+ 0xA6666777C383B852,
+ 0x16666777C383B852,
+ 0,
+ 0xffffffffffffffff,
+ 1,
+ 0x8000000000000000,
+ 0x8000000000000000,
+ 0x0ff,
+ 0xFFFFFFFFFFFFFF01,
+ 0x0ffff,
+ 0xFFFFFFFFFFFF0001,
+ 0x0ffffffff,
+ 0xFFFFFFFF00000001,
+ 0,
+ 0x22345678DCABEF98
+})
+
+Method(SUB0)
+{
+ Name(ts, "SUB0")
+
+ Store("TEST: SUB0, Integer Subtract", Debug)
+
+ if (LEqual(F64, 1)) {
+ m000(ts, 7, "p004", p004, p005, 1)
+ m000(ts, 20, "p006", p006, p007, 1)
+ } else {
+ m000(ts, 12, "p004", p004, p005, 1)
+ }
+}
+
+// ===================================== Multiply
+
+Name(p008, Package()
+{
+ 0, 0,
+ 0, 0xffffffff,
+ 0x00012345, 0x00007abc,
+ 0x00000012, 0x00000034,
+ 0x00000001, 0x000000ff,
+ 0x00000001, 0x0000ffff,
+ 0x00000001, 0xffffffff,
+
+ // bit-size of multiplicand
+ 0x67812345, 2,
+
+ // bit-size of multiplier
+ 3, 0x45678123,
+
+ 0xffffffff, 0xffffffff,
+
+ // ACPI: Overflow conditions are ignored and results are undefined.
+})
+
+Name(p009, Package()
+{
+ 0,
+ 0,
+ 0x8BA4C8AC,
+ 0x000003a8,
+ 0x000000ff,
+ 0x0000ffff,
+ 0xffffffff,
+
+ // bit-size of multiplicand
+ 0xCF02468A,
+
+ // bit-size of multiplier
+ 0xD0368369,
+
+ 0x00000001
+
+ // ACPI: Overflow conditions are ignored and results are undefined.
+})
+
+Name(p00a, Package()
+{
+ 0x092345678, 0x0abcdef68,
+ 0x0f2345678, 0x0abcdef68,
+
+ 0, 0xffffffffffffffff,
+
+ 1, 0xffffffffffffffff,
+
+ // bit-size of multiplicand
+ 0x6781234511992288, 2,
+
+ // bit-size of multiplier
+ 3, 0x4567812377665544,
+
+ 0xffffffffffffffff, 0xffffffffffffffff,
+
+ // ACPI: Overflow conditions are ignored and results are undefined.
+})
+
+Name(p00b, Package()
+{
+ 0x621E9265A81528C0,
+ 0xA28BCC2CA81528C0,
+ 0,
+
+ 0xffffffffffffffff,
+
+ // bit-size of multiplicand
+ 0xCF02468A23324510,
+
+ // bit-size of multiplier
+ 0xD036836A6632FFCC,
+
+ 0x0000000000000001
+
+ // ACPI: Overflow conditions are ignored and results are undefined.
+})
+
+Method(MTP0)
+{
+ Name(ts, "MTP0")
+
+ Store("TEST: MTP0, Integer Multiply", Debug)
+
+ if (LEqual(F64, 1)) {
+ m000(ts, 9, "p008", p008, p009, 2)
+ m000(ts, 7, "p00a", p00a, p00b, 2)
+ } else {
+ m000(ts, 10, "p008", p008, p009, 2)
+ }
+}
+
+// ===================================== Divide
+
+Name(p00c, Package()
+{
+ // divident divisor
+ 0x12345678, 0x1000,
+ 0xffffffff, 0x400000,
+ // bit-size of operands
+ 0x78123456, 0x80000000,
+ 0x78123456, 2,
+ 0, 1,
+ 0x78123456, 0x11223344,
+ // bit-size of result
+ 0xffffffff, 1,
+ // bit-size of remainder
+ 0xffffffff, 0x80000000,
+})
+
+Name(p00d, Package()
+{
+ // result remainder
+ 0x12345, 0x678,
+ 0x3ff, 0x3fffff,
+ 0, 0x78123456,
+ 0x3C091A2B, 0,
+ 0, 0,
+ 7, 0x22cd7a,
+ 0xffffffff, 0,
+ 1, 0x7fffffff,
+})
+
+Name(p00e, Package()
+{
+ // divident divisor
+
+ 0x1234567811223344, 0x1000,
+ 0xffffffffffffffff, 0x4000000000000000,
+ 0x7812345699887766, 0x8000000000000000,
+ 0x7812345600448866, 2,
+ 0, 1,
+ 0x78123456aabbccdd, 0x110022bd33ca4784,
+ 0xffffffffffffffff, 1,
+ 0xffffffffffffffff, 0x8000000000000000,
+})
+
+Name(p00f, Package()
+{
+ // result remainder
+ 0x0001234567811223, 0x344,
+ 3, 0x3FFFFFFFFFFFFFFF,
+ 0, 0x7812345699887766,
+ 0x3C091A2B00224433, 0,
+ 0, 0,
+ 7, 0x0111412A4033D841,
+ 0xffffffffffffffff, 0,
+ 1, 0x7FFFFFFFFFFFFFFF,
+})
+
+Method(DVD0)
+{
+ Name(ts, "DVD0")
+
+ Store("TEST: DVD0, Integer Divide", Debug)
+
+ if (LEqual(F64, 1)) {
+ m001(ts, 8, "p00c", p00c, p00d, 0)
+ m001(ts, 8, "p00e", p00e, p00f, 0)
+ } else {
+ m001(ts, 8, "p00c", p00c, p00d, 0)
+ }
+}
+
+// ===================================== Increment
+
+Name(p014, Package()
+{
+ 0,
+ 0xfffffffe,
+ 0x12334579,
+ 0x7fffffff,
+ 0x80000000,
+ 0xffffffff,
+})
+
+Name(p015, Package()
+{
+ 1,
+ 0xffffffff,
+ 0x1233457a,
+ 0x80000000,
+ 0x80000001,
+ 0,
+})
+
+Name(p016, Package()
+{
+ 0xffffffff,
+
+ 0xfffffffffffffffe,
+ 0x1233457988339042,
+ 0x7fffffffffffffff,
+ 0x8000000000000000,
+ 0xffffffffffffffff,
+})
+
+Name(p017, Package()
+{
+ 0x100000000,
+
+ 0xffffffffffffffff,
+ 0x1233457988339043,
+ 0x8000000000000000,
+ 0x8000000000000001,
+ 0,
+})
+
+Method(ICR0)
+{
+ Name(ts, "ICR0")
+
+ Store("TEST: ICR0, Increment an Integer", Debug)
+
+ if (LEqual(F64, 1)) {
+ m002(ts, 5, "p014", p014, p015, 0)
+ m002(ts, 6, "p016", p016, p017, 0)
+ } else {
+ m002(ts, 6, "p014", p014, p015, 0)
+ }
+}
+
+// ===================================== Decrement
+
+Name(p018, Package()
+{
+ 0xffffffff,
+ 0x12334579,
+ 0x80000000,
+ 0x7fffffff,
+ 0x80000001,
+ 0,
+})
+
+Name(p019, Package()
+{
+ 0xfffffffe,
+ 0x12334578,
+ 0x7fffffff,
+ 0x7ffffffe,
+ 0x80000000,
+ 0xffffffff,
+})
+
+Name(p01a, Package()
+{
+ 0,
+ 0xffffffffffffffff,
+ 0x1233457966887700,
+ 0x8000000000000000,
+ 0x7fffffffffffffff,
+ 0x8000000000000001,
+})
+
+Name(p01b, Package()
+{
+ 0xffffffffffffffff,
+ 0xfffffffffffffffe,
+ 0x12334579668876ff,
+ 0x7fffffffffffffff,
+ 0x7ffffffffffffffe,
+ 0x8000000000000000,
+})
+
+Method(DCR0)
+{
+ Name(ts, "DCR0")
+
+ Store("TEST: DCR0, Decrement an Integer", Debug)
+
+ if (LEqual(F64, 1)) {
+ m002(ts, 5, "p018", p018, p019, 1)
+ m002(ts, 6, "p01a", p01a, p01b, 1)
+ } else {
+ m002(ts, 6, "p018", p018, p019, 1)
+ }
+}
+
+// ===================================== And
+
+Name(p01c, Package()
+{
+ 0,
+ 0,
+ 0xffffffff,
+ 0xf0f0f0f0,
+ 0x0f0f0f0f,
+ 0,
+ 0,
+ 0x10101010,
+ 0x01010101,
+ 0x80214120,
+})
+
+Name(p01d, Package()
+{
+ 0,
+ 0,
+ 0xffffffffffffffff,
+ 0xf0f0f0f0f0f0f0f0,
+ 0x0f0f0f0f0f0f0f0f,
+ 0,
+ 0,
+ 0x1010101010101010,
+ 0x0101010101010101,
+ 0x8021420011118822,
+})
+
+Method(AND0)
+{
+ Name(ts, "AND0")
+
+ Store("TEST: AND0, Integer Bitwise And", Debug)
+
+ if (LEqual(F64, 1)) {
+ m000(ts, c000, "p030", p030, p01c, 3)
+ m000(ts, c000, "p031", p031, p01d, 3)
+ } else {
+ m000(ts, c000, "p030", p030, p01c, 3)
+ }
+}
+
+// ===================================== Nand
+
+Name(p01e, Package() {0x9a3353ac, 0x39a966ca})
+Name(p01f, Package() {0xE7DEBD77})
+Name(p020, Package() {0xffffffffE7DEBD77})
+Name(p021, Package() {0x9a3353ac395c9353, 0x39a966caa36a3a66})
+Name(p022, Package() {0xE7DEBD77DEB7EDBD})
+
+Name(p023, Package()
+{
+ 0xffffffff,
+ 0xffffffff,
+ 0,
+ 0x0f0f0f0f,
+ 0xf0f0f0f0,
+ 0xffffffff,
+ 0xffffffff,
+ 0xefefefef,
+ 0xfefefefe,
+ 0x7FDEBEDF,
+})
+
+Name(p024, Package()
+{
+ 0xffffffffffffffff,
+ 0xffffffffffffffff,
+ 0xffffffff00000000,
+ 0xffffffff0f0f0f0f,
+ 0xfffffffff0f0f0f0,
+ 0xffffffffffffffff,
+ 0xffffffffffffffff,
+ 0xffffffffefefefef,
+ 0xfffffffffefefefe,
+ 0xFFFFFFFF7FDEBEDF,
+})
+
+Name(p025, Package()
+{
+ 0xffffffffffffffff,
+ 0xffffffffffffffff,
+ 0,
+ 0x0f0f0f0f0f0f0f0f,
+ 0xf0f0f0f0f0f0f0f0,
+ 0xffffffffffffffff,
+ 0xffffffffffffffff,
+ 0xefefefefefefefef,
+ 0xfefefefefefefefe,
+ 0x7FDEBDFFEEEE77DD,
+})
+
+Method(NAN0)
+{
+ Name(ts, "NAN0")
+
+ Store("TEST: NAN0, Integer Bitwise Nand", Debug)
+
+ if (LEqual(F64, 1)) {
+ m000(ts, 1, "p01e", p01e, p020, 4)
+ m000(ts, 1, "p021", p021, p022, 4)
+ m000(ts, c000, "p030", p030, p024, 4)
+ m000(ts, c000, "p031", p031, p025, 4)
+ } else {
+ m000(ts, 1, "p01e", p01e, p01f, 4)
+ m000(ts, c000, "p030", p030, p023, 4)
+ }
+}
+
+// ===================================== Nor
+
+Name(p026, Package() {0x9a3353ac, 0x39a966ca})
+Name(p027, Package() {0x44448811})
+Name(p028, Package() {0xffffffff44448811})
+Name(p029, Package() {0x9a3353ac993ca39c, 0x39a966ca3356a5c9})
+Name(p02a, Package() {0x4444881144815822})
+
+Name(p02b, Package()
+{
+ 0xffffffff,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0x0f0f0f0f,
+ 0xf0f0f0f0,
+ 0x0e0e0e0e,
+ 0xe0e0e0e0,
+ 0x68103000,
+})
+
+Name(p02c, Package()
+{
+ 0xffffffffffffffff,
+ 0xffffffff00000000,
+ 0xffffffff00000000,
+ 0xffffffff00000000,
+ 0xffffffff00000000,
+ 0xffffffff0f0f0f0f,
+ 0xfffffffff0f0f0f0,
+ 0xffffffff0e0e0e0e,
+ 0xffffffffe0e0e0e0,
+ 0xFFFFFFFF68103000,
+})
+
+Name(p02d, Package()
+{
+ 0xffffffffffffffff,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0x0f0f0f0f0f0f0f0f,
+ 0xf0f0f0f0f0f0f0f0,
+ 0x0e0e0e0e0e0e0e0e,
+ 0xe0e0e0e0e0e0e0e0,
+ 0x6810985600663201,
+})
+
+Method(NOR0)
+{
+ Name(ts, "NOR0")
+
+ Store("TEST: NOR0, Integer Bitwise Nor", Debug)
+
+ if (LEqual(F64, 1)) {
+ m000(ts, 1, "p026", p026, p028, 5)
+ m000(ts, 1, "p029", p029, p02a, 5)
+ m000(ts, c000, "p030", p030, p02c, 5)
+ m000(ts, c000, "p031", p031, p02d, 5)
+ } else {
+ m000(ts, 1, "p026", p026, p027, 5)
+ m000(ts, c000, "p030", p030, p02b, 5)
+ }
+}
+
+// ===================================== Not
+
+Name(p02e, Package()
+{
+ 0xffffffff,
+ 0,
+ 0x0f0f0f0f,
+ 0xf0f0f0f0,
+ 0xEDCBA987,
+})
+
+Name(p02f, Package()
+{
+ 0xffffffffffffffff,
+ 0xffffffff00000000,
+ 0xffffffff0f0f0f0f,
+ 0xfffffffff0f0f0f0,
+ 0xffffffffEDCBA987,
+})
+
+Name(p040, Package()
+{
+ 0xffffffffffffffff,
+ 0,
+ 0x0f0f0f0f0f0f0f0f,
+ 0xf0f0f0f0f0f0f0f0,
+ 0xEDCBA987F5064312,
+})
+
+Method(NOT0)
+{
+ Name(ts, "NOT0")
+
+ Store("TEST: NOT0, Integer Bitwise Not", Debug)
+
+ if (LEqual(F64, 1)) {
+ m002(ts, c001, "p032", p032, p02f, 2)
+ m002(ts, c001, "p033", p033, p040, 2)
+ } else {
+ m002(ts, c001, "p032", p032, p02e, 2)
+ }
+}
+
+// ===================================== Or
+
+Name(p041, Package() {0x9a3353ac, 0x39a966ca})
+Name(p042, Package() {0xBBBB77EE})
+Name(p043, Package() {0x9a3353ac99a3dceb, 0x39a966ca12887634})
+Name(p044, Package() {0xBBBB77EE9BABFEFF})
+
+Name(p045, Package()
+{
+ 0,
+ 0xffffffff,
+ 0xffffffff,
+ 0xffffffff,
+ 0xffffffff,
+ 0xf0f0f0f0,
+ 0x0f0f0f0f,
+ 0xf1f1f1f1,
+ 0x1f1f1f1f,
+ 0x97EFCFFF,
+})
+
+Name(p046, Package()
+{
+ 0,
+ 0xffffffffffffffff,
+ 0xffffffffffffffff,
+ 0xffffffffffffffff,
+ 0xffffffffffffffff,
+ 0xf0f0f0f0f0f0f0f0,
+ 0x0f0f0f0f0f0f0f0f,
+ 0xf1f1f1f1f1f1f1f1,
+ 0x1f1f1f1f1f1f1f1f,
+ 0x97EF67A9FF99CDFE,
+})
+
+Method(OR00)
+{
+ Name(ts, "OR00")
+
+ Store("TEST: OR00, Integer Bitwise Or", Debug)
+
+ if (LEqual(F64, 1)) {
+ m000(ts, 1, "p041", p041, p042, 6)
+ m000(ts, 1, "p043", p043, p044, 6)
+ m000(ts, c000, "p030", p030, p045, 6)
+ m000(ts, c000, "p031", p031, p046, 6)
+ } else {
+ m000(ts, 1, "p041", p041, p042, 6)
+ m000(ts, c000, "p030", p030, p045, 6)
+ }
+}
+
+// ===================================== Xor
+
+Name(p047, Package() {0x9a3653ac, 0x39a966ca})
+Name(p048, Package() {0xA39F3566})
+Name(p049, Package() {0x9a3653ac19283745, 0x39a966cabbaaef45})
+Name(p04a, Package() {0xA39F3566A282D800})
+
+Name(p04b, Package()
+{
+ 0,
+ 0xffffffff,
+ 0,
+ 0x0f0f0f0f,
+ 0xf0f0f0f0,
+ 0xf0f0f0f0,
+ 0x0f0f0f0f,
+ 0xe1e1e1e1,
+ 0x1e1e1e1e,
+ 0x17CE8EDF,
+})
+
+Name(p04c, Package()
+{
+ 0,
+ 0xffffffffffffffff,
+ 0,
+ 0x0f0f0f0f0f0f0f0f,
+ 0xf0f0f0f0f0f0f0f0,
+ 0xf0f0f0f0f0f0f0f0,
+ 0x0f0f0f0f0f0f0f0f,
+ 0xe1e1e1e1e1e1e1e1,
+ 0x1e1e1e1e1e1e1e1e,
+ 0x17CE25A9EE8845DC,
+})
+
+Name(p04d, Package()
+{
+ 0,
+ 0xffffffff,
+ 0,
+ 0x0f0f0f0f,
+ 0xf0f0f0f0,
+ 0xf0f0f0f0,
+ 0x0f0f0f0f,
+ 0xe1e1e1e1,
+ 0x1e1e1e1e,
+ 0x17CE8EDF,
+})
+
+Method(XOR0)
+{
+ Name(ts, "XOR0")
+
+ Store("TEST: XOR0, Integer Bitwise Xor", Debug)
+
+ if (LEqual(F64, 1)) {
+ m000(ts, 1, "p047", p047, p048, 7)
+ m000(ts, 1, "p049", p049, p04a, 7)
+ m000(ts, c000, "p030", p030, p04b, 7)
+
+
+ m000(ts, 1, "p031", p031, p04c, 7)
+ m000(ts, c000, "p031", p031, p04c, 7)
+ } else {
+ m000(ts, 1, "p047", p047, p048, 7)
+ m000(ts, c000, "p030", p030, p04d, 7)
+ }
+}
+
+// ===================================== Mod
+
+Name(p04e, Package()
+{
+ // remainder
+ 0x678,
+ 0x3fffff,
+ 0x78123456,
+ 0,
+ 0,
+ 0x22cd7a,
+ 0,
+ 0x7fffffff,
+})
+
+Name(p04f, Package()
+{
+ // remainder
+ 0x344,
+ 0x3FFFFFFFFFFFFFFF,
+ 0x7812345699887766,
+ 0,
+ 0,
+ 0x0111412A4033D841,
+ 0,
+ 0x7FFFFFFFFFFFFFFF,
+})
+
+Method(MOD0)
+{
+ Name(ts, "MOD0")
+
+ Store("TEST: MOD0, Integer Modulo", Debug)
+
+ if (LEqual(F64, 1)) {
+ m000(ts, 8, "p00c", p00c, p04e, 8)
+ m000(ts, 8, "p00e", p00e, p04f, 8)
+ } else {
+ m000(ts, 8, "p00c", p00c, p04e, 8)
+ }
+}
+
+// ===================================== ShiftLeft
+
+Name(p050, Package()
+{
+ 0, 0,
+ 0, 1,
+ 0, 17,
+ 0, 31,
+ 0, 32,
+ 0, 33,
+ 0, 64,
+ 0, 65,
+
+ 0xffffffff, 0,
+ 0xffffffff, 1,
+ 0xffffffff, 14,
+ 0xffffffff, 31,
+ 0xffffffff, 32,
+ 0xffffffff, 33,
+ 0xffffffff, 64,
+ 0xffffffff, 65,
+
+ 0xf0f0f0f0, 0,
+ 0xf0f0f0f0, 1,
+ 0xf0f0f0f0, 17,
+ 0xf0f0f0f0, 31,
+ 0xf0f0f0f0, 32,
+
+ 0x87654321, 0,
+ 0x87654321, 1,
+ 0x87654321, 17,
+ 0x87654321, 31,
+ 0x87654321, 32,
+})
+
+Name(p051, Package()
+{
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+
+ 0xffffffff,
+ 0xfffffffe,
+ 0xFFFFC000,
+ 0x80000000,
+ 0,
+ 0,
+ 0,
+ 0,
+
+ 0xf0f0f0f0,
+ 0xe1e1e1e0,
+ 0xE1E00000,
+ 0,
+ 0,
+
+ 0x87654321,
+ 0x0ECA8642,
+ 0x86420000,
+ 0x80000000,
+ 0,
+})
+
+Name(p052, Package()
+{
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+
+ 0x00000000ffffffff,
+ 0x00000001fffffffe,
+ 0x00003FFFFFFFC000,
+ 0x7fffffff80000000,
+ 0xFFFFFFFF00000000,
+ 0xFFFFFFFE00000000,
+ 0,
+ 0,
+
+ 0xf0f0f0f0,
+ 0x00000001E1E1E1E0,
+ 0x0001E1E1E1E00000,
+ 0x7878787800000000,
+ 0xF0F0F0F000000000,
+
+ 0x87654321,
+ 0x000000010ECA8642,
+ 0x00010ECA86420000,
+ 0x43B2A19080000000,
+ 0x8765432100000000,
+})
+
+Name(p053, Package()
+{
+ 0xffffffffffffffff, 0,
+ 0xffffffffffffffff, 1,
+ 0xffffffffffffffff, 17,
+ 0xffffffffffffffff, 49,
+ 0xffffffffffffffff, 64,
+ 0xffffffffffffffff, 65,
+
+ 0xf0f0f0f0f0f0f0f0, 15,
+ 0xf0f0f0f0f0f0f0f0, 35,
+
+ 0x87654321bcdef098, 11,
+ 0x87654321bcdef098, 50,
+})
+
+Name(p054, Package()
+{
+ 0xffffffffffffffff,
+ 0xfffffffffffffffe,
+ 0xFFFFFFFFFFFE0000,
+ 0xFFFE000000000000,
+ 0,
+ 0,
+
+ 0x7878787878780000,
+ 0x8787878000000000,
+
+ 0x2A190DE6F784C000,
+ 0xC260000000000000,
+})
+
+Method(SHL0)
+{
+ Name(ts, "SHL0")
+
+ Store("TEST: SHL0, Integer shift value left", Debug)
+
+ if (LEqual(F64, 1)) {
+ m000(ts, 26, "p050", p050, p052, 9)
+ m000(ts, 10, "p053", p053, p054, 9)
+ } else {
+ m000(ts, 26, "p050", p050, p051, 9)
+ }
+}
+
+// ===================================== ShiftRight
+
+Name(p055, Package()
+{
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+
+ 0xffffffff,
+ 0x7fffffff,
+ 0x0003FFFF,
+ 0x00000001,
+ 0,
+ 0,
+ 0,
+ 0,
+
+ 0xf0f0f0f0,
+ 0x78787878,
+ 0x00007878,
+ 0x00000001,
+ 0,
+
+ 0x87654321,
+ 0x43B2A190,
+ 0x000043B2,
+ 0x00000001,
+ 0,
+})
+
+Name(p056, Package()
+{
+ 0xffffffffffffffff,
+ 0x7fffffffffffffff,
+ 0x00007FFFFFFFFFFF,
+ 0x0000000000007FFF,
+ 0,
+ 0,
+
+ 0x0001E1E1E1E1E1E1,
+ 0x000000001E1E1E1E,
+
+ 0x0010ECA864379BDE,
+ 0x00000000000021D9,
+})
+
+Method(SHR0)
+{
+ Name(ts, "SHR0")
+
+ Store("TEST: SHR0, Integer shift value right", Debug)
+
+ if (LEqual(F64, 1)) {
+ m000(ts, 26, "p050", p050, p055, 10)
+ m000(ts, 10, "p053", p053, p056, 10)
+ } else {
+ m000(ts, 26, "p050", p050, p055, 10)
+ }
+}
+
+// ===================================== FindSetLeftBit
+
+Name(p057, Package()
+{
+ 0,
+ 0xffffffff,
+ 0x80000000,
+ 0x00000001,
+ 0x02a0fd40,
+ 0x0456f200,
+})
+
+Name(p058, Package()
+{
+ 0,
+ 32,
+ 32,
+ 1,
+ 26,
+ 27,
+})
+
+Name(p059, Package()
+{
+ 0,
+ 0xffffffffffffffff,
+ 0x8000000000000000,
+ 0x0000000000000001,
+ 0x02a0fd4119fd0560,
+ 0x0456f2007ced8400,
+})
+
+Name(p05a, Package()
+{
+ 0,
+ 64,
+ 64,
+ 1,
+ 58,
+ 59,
+})
+
+Method(FSL0)
+{
+ Name(ts, "FSL0")
+
+ Store("TEST: FSL0, Index of first least significant bit set", Debug)
+
+ if (LEqual(F64, 1)) {
+ m002(ts, 6, "p057", p057, p058, 3)
+ m002(ts, 6, "p059", p059, p05a, 3)
+ } else {
+ m002(ts, 6, "p057", p057, p058, 3)
+ }
+
+ if (LEqual(F64, 1)) {
+ Store(64, Local0)
+ } else {
+ Store(32, Local0)
+ }
+ Store(0, Local1)
+ Store(0, Local5)
+
+ While (Local0) {
+ if (LEqual(Local1, 0)) {
+ Store(1, Local2)
+ } else {
+ ShiftLeft(3, Local5, Local2)
+ Increment(Local5)
+ }
+ FindSetLeftBit(Local2, Local3)
+ Add(Local1, 1, Local4)
+ if (LNotEqual(Local3, Local4)) {
+ err(ts, z083, 25, 0, 0, Local0, 0)
+ }
+ Increment(Local1)
+ Decrement(Local0)
+ }
+}
+
+// ===================================== FindSetRightBit
+
+Name(p05b, Package()
+{
+ 0,
+ 1,
+ 32,
+ 1,
+ 7,
+ 10,
+})
+
+Name(p05c, Package()
+{
+ 0,
+ 1,
+ 64,
+ 1,
+ 6,
+ 11,
+})
+
+Method(FSR0)
+{
+ Name(ts, "FSR0")
+
+ Store("TEST: FSR0, Index of first most significant bit set", Debug)
+
+ if (LEqual(F64, 1)) {
+ m002(ts, 6, "p057", p057, p05b, 4)
+ m002(ts, 6, "p059", p059, p05c, 4)
+ } else {
+ m002(ts, 6, "p057", p057, p05b, 4)
+ }
+
+ if (LEqual(F64, 1)) {
+ Store(64, Local0)
+ } else {
+ Store(32, Local0)
+ }
+ Store(0, Local1)
+ Store(0, Local5)
+
+ While (Local0) {
+ if (LEqual(Local1, 0)) {
+ Store(1, Local2)
+ Store(1, Local4)
+ } else {
+ ShiftLeft(3, Local5, Local2)
+ Store(Local1, Local4)
+ Increment(Local5)
+ }
+ FindSetRightBit(Local2, Local3)
+ if (LNotEqual(Local3, Local4)) {
+ err(ts, z083, 26, 0, 0, Local0, 0)
+ }
+ Increment(Local1)
+ Decrement(Local0)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/functional/bfield/DECL.asl b/tests/aslts/src/runtime/collections/functional/bfield/DECL.asl
new file mode 100644
index 000000000..e3ffa7518
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/bfield/DECL.asl
@@ -0,0 +1,32 @@
+/*
+ * 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.
+ */
+
+
+Include("../../../../runtime/collections/functional/bfield/crbuffield.asl")
diff --git a/tests/aslts/src/runtime/collections/functional/bfield/MAIN.asl b/tests/aslts/src/runtime/collections/functional/bfield/MAIN.asl
new file mode 100644
index 000000000..92594ca55
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/bfield/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "bfield.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../runtime/cntl/DECL.asl")
+ Include("../../../../runtime/collections/functional/bfield/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../runtime/collections/functional/bfield/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/functional/bfield/Makefile b/tests/aslts/src/runtime/collections/functional/bfield/Makefile
new file mode 100644
index 000000000..9f19be0a2
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/bfield/Makefile
@@ -0,0 +1,7 @@
+# bfield
+
+AMLMOD= bfield
+COLL= ../..
+
+TOP= $(COLL)/../../..
+include $(COLL)/Makefile.install
diff --git a/tests/aslts/src/runtime/collections/functional/bfield/RUN.asl b/tests/aslts/src/runtime/collections/functional/bfield/RUN.asl
new file mode 100644
index 000000000..c2b663313
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/bfield/RUN.asl
@@ -0,0 +1,35 @@
+/*
+ * 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.
+ */
+
+
+if (STTT("Buffer Fields", TCLF, 1, W001)) {
+ CBF0()
+}
+FTTT()
diff --git a/tests/aslts/src/runtime/collections/functional/bfield/crbuffield.asl b/tests/aslts/src/runtime/collections/functional/bfield/crbuffield.asl
new file mode 100644
index 000000000..6d87cf82f
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/bfield/crbuffield.asl
@@ -0,0 +1,1811 @@
+/*
+ * 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.
+ */
+
+/*
+ * Create Buffer Field operators
+ */
+
+/*
+ * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+ * Clean up method m218 after that when errors 65,66,68,69
+ * (in 32-bit mode) will be investigated and resolved
+ * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+ *
+ * Update needed: 1) add "Common features", see below ...
+ * 2) tune parameters in m21d
+ */
+
+Name(z001, 1)
+
+Name(BS00, 256)
+
+// Benchmark Buffers
+
+Name(b000, Buffer(BS00) {})
+Name(b0ff, Buffer(BS00) {
+ // 0-127
+ 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+ 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+ 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+ 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+ 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+ 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+ 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+ 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+ 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+ 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+ 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+ 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+ 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+ 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+ 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+ 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+ // 128-255
+ 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+ 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+ 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+ 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+ 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+ 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+ 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+ 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+ 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+ 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+ 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+ 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+ 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+ 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+ 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+ 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,})
+
+Name(b256, Buffer(BS00) {
+ // 0-127
+ 0x00,0x00,0x02,0x03,0x04,0x05,0x06,0x07,
+ 0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,
+ 0x00,0x11,0x12,0x13,0x14,0x15,0x16,0x17,
+ 0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,
+ 0x10,0x21,0x22,0x23,0x24,0x25,0x26,0x27,
+ 0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,
+ 0x20,0x31,0x32,0x33,0x34,0x35,0x36,0x37,
+ 0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,
+ 0x30,0x41,0x42,0x43,0x44,0x45,0x46,0x47,
+ 0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,
+ 0x40,0x51,0x52,0x53,0x54,0x55,0x56,0x57,
+ 0x58,0x59,0x5a,0x5b,0x5c,0x5d,0x5e,0x5f,
+ 0x50,0x61,0x62,0x63,0x64,0x65,0x66,0x67,
+ 0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,
+ 0x60,0x71,0x72,0x73,0x74,0x75,0x76,0x77,
+ 0x78,0x79,0x7a,0x7b,0x7c,0x7d,0x7e,0x7f,
+
+ // 128-255
+
+ 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,
+ 0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,
+ 0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,
+ 0x98,0x99,0x9a,0x9b,0x9c,0x9d,0x9e,0x9f,
+ 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,
+ 0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,
+ 0xb0,0xb1,0xb2,0xb3,0xb4,0xb5,0xb6,0xb7,
+ 0xb8,0xb9,0xba,0xbb,0xbc,0xbd,0xbe,0xbf,
+ 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,
+ 0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,
+ 0xd0,0xd1,0xd2,0xd3,0xd4,0xd5,0xd6,0xd7,
+ 0xd8,0xd9,0xda,0xdb,0xdc,0xdd,0xde,0xdf,
+ 0xe0,0xe1,0xe2,0xe3,0xe4,0xe5,0xe6,0xe7,
+ 0xe8,0xe9,0xea,0xeb,0xec,0xed,0xee,0xef,
+ 0xf0,0xf1,0xf2,0xf3,0xf4,0xf5,0xf6,0xf7,
+ 0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,0xfe,0xff,
+ })
+
+// Generated benchmark buffers for comparison with
+
+Name(b010, Buffer(BS00) {})
+Name(b101, Buffer(BS00) {})
+Name(b0B0, Buffer(BS00) {})
+
+// Buffer for filling the ground
+
+Name(b0G0, Buffer(BS00) {})
+
+// Buffer for filling the field (over the ground)
+
+Name(b0F0, Buffer(BS00) {})
+
+
+// CreateBitField
+//
+// <test name>,
+// <index of bit>,
+// <buf: 00>,
+// <buf: ff>,
+// <buf: 010>,
+// <buf: 101>,
+// <byte size of buf>
+Method(m210, 7)
+{
+ Name(pr00, 0)
+
+ if (pr00) {
+ Store("========:", Debug)
+ }
+
+ Name(b001, Buffer(arg6) {})
+ Name(b002, Buffer(arg6) {})
+
+ CreateBitField(b001, arg1, f001)
+
+ //////////////// A. 1->0 (010->000)
+
+ Store(arg4, b001)
+
+ if (pr00) {
+ Store(b001, Debug)
+ }
+
+ Store(0xfffffffffffffffe, f001)
+
+ Store(f001, Local0)
+
+ if (LNotEqual(Local0, 0)) {
+ err(arg0, z001, 0, 0, 0, Local0, 0)
+ }
+
+ Store(arg2, b002)
+
+ if (LNotEqual(b001, b002)) {
+ err(arg0, z001, 1, 0, 0, 0, 0)
+ }
+
+ if (pr00) {
+ Store(b001, Debug)
+ }
+
+ //////////////// B. 1->0 (111->101)
+
+ Store(arg3, b001)
+
+ if (pr00) {
+ Store(b001, Debug)
+ }
+
+ Store(0x0000000000000000, f001)
+
+ Store(f001, Local0)
+
+ if (LNotEqual(Local0, 0)) {
+ err(arg0, z001, 2, 0, 0, Local0, 0)
+ }
+
+ Store(arg5, b002)
+
+ if (LNotEqual(b001, b002)) {
+ err(arg0, z001, 3, 0, 0, 0, 0)
+ }
+
+ if (pr00) {
+ Store(b001, Debug)
+ }
+
+ //////////////// C. 0->1 (101->111)
+
+ Store(arg5, b001)
+
+ if (pr00) {
+ Store(b001, Debug)
+ }
+
+ Store(0x0000000000000001, f001)
+ Store(f001, Local0)
+
+ if (LNotEqual(Local0, 0x0000000000000001)) {
+ err(arg0, z001, 4, 0, 0, Local0, 0x0000000000000001)
+ }
+
+ Store(arg3, b002)
+
+ if (LNotEqual(b001, b002)) {
+ err(arg0, z001, 5, 0, 0, 0, 0)
+ }
+
+ if (pr00) {
+ Store(b001, Debug)
+ }
+
+ //////////////// D. 0->1 (000->010)
+
+ Store(arg2, b001)
+
+ if (pr00) {
+ Store(b001, Debug)
+ }
+
+ Store(0xffffffffffffffff, f001)
+ Store(f001, Local0)
+
+ if (LNotEqual(Local0, 0x0000000000000001)) {
+ err(arg0, z001, 6, 0, 0, Local0, 0x0000000000000001)
+ }
+
+ Store(arg4, b002)
+
+ if (LNotEqual(b001, b002)) {
+ err(arg0, z001, 7, 0, 0, 0, 0)
+ }
+
+ if (pr00) {
+ Store(b001, Debug)
+ }
+
+ // Common features
+
+ Store(SizeOf(b001), Local0)
+ if (LNotEqual(Local0, arg6)) {
+ err(arg0, z001, 8, 0, 0, Local0, arg6)
+ }
+
+ Store(SizeOf(b002), Local0)
+ if (LNotEqual(Local0, arg6)) {
+ err(arg0, z001, 9, 0, 0, Local0, arg6)
+ }
+
+ Store(ObjectType(f001), Local0)
+ if (LNotEqual(Local0, c016)) {
+ err(arg0, z001, 10, 0, 0, Local0, c016)
+ }
+
+ if (pr00) {
+ Store(Local0, Debug)
+ }
+}
+
+Method(m211)
+{
+ Name(ts, "m211")
+
+ Store("TEST: m211, Create 1-Bit Buffer Field:", Debug)
+
+ // Size of buffer (in bytes)
+ Name(bsz0, 0)
+ Store(BS00, bsz0)
+
+ // Max steps to check
+ Name(bsz1, 0)
+
+ // How many elements to check
+ Name(n000, 0)
+ Name(ncur, 0)
+
+ Multiply(bsz0, 8, n000)
+
+ Store(n000, bsz1)
+
+ While (n000) {
+
+ if (LGreaterEqual(ncur, bsz1)) {
+ err(ts, z001, 11, 0, 0, ncur, bsz1)
+ Break
+ }
+
+ Store(b000, b010)
+ Store(b0ff, b101)
+
+ Divide(ncur, 8, Local1, Local0)
+
+ ShiftLeft(1, Local1, Local2)
+ Store(Local2, Index(b010, Local0))
+
+ Not(Local2, Local3)
+ Store(Local3, Index(b101, Local0))
+
+ m210(ts, ncur, b000, b0ff, b010, b101, bsz0)
+
+ Decrement(n000)
+ Increment(ncur)
+ }
+}
+
+// CreateByteField
+//
+// <test name>,
+// <index of byte>,
+// <byte size of buf>
+Method(m212, 3)
+{
+ Name(pr00, 0)
+
+ if (pr00) {
+ Store("========:", Debug)
+ }
+
+ Name(b001, Buffer(arg2) {})
+ Name(b002, Buffer(arg2) {})
+
+ //////////////// A. 1->0 (010->000)
+
+ CreateByteField(b001, arg1, f001)
+ Store(b010, b001)
+
+ if (pr00) {
+ Store(b001, Debug)
+ }
+
+ Store(0xffffffffffffff00, f001)
+
+ Store(f001, Local0)
+
+ if (LNotEqual(Local0, 0)) {
+ err(arg0, z001, 12, 0, 0, Local0, 0)
+ }
+
+ Store(b000, b002)
+
+ if (LNotEqual(b001, b002)) {
+ err(arg0, z001, 13, 0, 0, 0, 0)
+ }
+
+ if (pr00) {
+ Store(b001, Debug)
+ }
+
+ //////////////// B. 1->0 (111->101)
+
+ Store(b0ff, b001)
+
+ if (pr00) {
+ Store(b001, Debug)
+ }
+
+ Store(0x0000000000000000, f001)
+
+ Store(f001, Local0)
+
+ if (LNotEqual(Local0, 0)) {
+ err(arg0, z001, 14, 0, 0, Local0, 0)
+ }
+
+ Store(b101, b002)
+
+ if (LNotEqual(b001, b002)) {
+ err(arg0, z001, 15, 0, 0, 0, 0)
+ }
+
+ if (pr00) {
+ Store(b001, Debug)
+ }
+
+ //////////////// C. 0->1 (101->111)
+
+ Store(b101, b001)
+
+ if (pr00) {
+ Store(b001, Debug)
+ }
+
+ Store(0x00000000000000ff, f001)
+ Store(f001, Local0)
+
+ if (LNotEqual(Local0, 0x00000000000000ff)) {
+ err(arg0, z001, 16, 0, 0, Local0, 0x00000000000000ff)
+ }
+
+ Store(b0ff, b002)
+
+ if (LNotEqual(b001, b002)) {
+ err(arg0, z001, 17, 0, 0, 0, 0)
+ }
+
+ if (pr00) {
+ Store(b001, Debug)
+ }
+
+ //////////////// D. 0->1 (000->010)
+
+ Store(b000, b001)
+
+ if (pr00) {
+ Store(b001, Debug)
+ }
+
+ Store(0xffffffffffffffff, f001)
+ Store(f001, Local0)
+
+ if (LNotEqual(Local0, 0x00000000000000ff)) {
+ err(arg0, z001, 18, 0, 0, Local0, 0x00000000000000ff)
+ }
+
+ Store(b010, b002)
+
+ if (LNotEqual(b001, b002)) {
+ err(arg0, z001, 19, 0, 0, 0, 0)
+ }
+
+ if (pr00) {
+ Store(b001, Debug)
+ }
+
+ //////////////// E. 0->1 (000->010)
+
+ Store(b000, b001)
+
+ if (pr00) {
+ Store(b001, Debug)
+ }
+
+ Store(0xffffffffffffff96, f001)
+ Store(f001, Local0)
+
+ if (LNotEqual(Local0, 0x0000000000000096)) {
+ err(arg0, z001, 20, 0, 0, Local0, 0x0000000000000096)
+ }
+
+ Store(b0B0, b002)
+
+ if (LNotEqual(b001, b002)) {
+ err(arg0, z001, 21, 0, 0, 0, 0)
+ }
+
+ if (pr00) {
+ Store(b001, Debug)
+ }
+
+ // Common features
+
+ Store(SizeOf(b001), Local0)
+ if (LNotEqual(Local0, arg2)) {
+ err(arg0, z001, 22, 0, 0, Local0, arg2)
+ }
+
+ Store(SizeOf(b002), Local0)
+ if (LNotEqual(Local0, arg2)) {
+ err(arg0, z001, 23, 0, 0, Local0, arg2)
+ }
+
+ Store(ObjectType(f001), Local0)
+ if (LNotEqual(Local0, c016)) {
+ err(arg0, z001, 24, 0, 0, Local0, c016)
+ }
+
+ if (pr00) {
+ Store(Local0, Debug)
+ }
+}
+
+Method(m213)
+{
+ Name(ts, "m213")
+
+ Store("TEST: m213, Create 8-Bit Buffer Field:", Debug)
+
+ // Size of buffer (in bytes)
+ Name(bsz0, 0)
+ Store(BS00, bsz0)
+
+ // Max steps to check
+ Name(bsz1, 0)
+
+ // How many elements to check
+ Name(n000, 0)
+ Name(ncur, 0)
+
+ Store(bsz0, n000)
+
+ Store(n000, bsz1)
+
+ While (n000) {
+
+ if (LGreaterEqual(ncur, bsz1)) {
+ err(ts, z001, 25, 0, 0, ncur, bsz1)
+ Break
+ }
+
+ Store(b000, b010)
+ Store(b000, b0B0)
+ Store(b0ff, b101)
+
+ Store(0xff, Index(b010, ncur))
+ Store(0x96, Index(b0B0, ncur))
+ Store(0, Index(b101, ncur))
+
+ m212(ts, ncur, bsz0)
+
+ Decrement(n000)
+ Increment(ncur)
+ }
+}
+
+// CreateWordField
+//
+// <test name>,
+// <index of byte>,
+// <byte size of buf>
+Method(m214, 3)
+{
+ Name(pr00, 0)
+
+ if (pr00) {
+ Store("========:", Debug)
+ Store(arg1, Debug)
+ Store(arg2, Debug)
+ }
+
+ Name(b001, Buffer(arg2) {})
+ Name(b002, Buffer(arg2) {})
+
+ CreateWordField(b001, arg1, f001)
+
+ //////////////// A. 1->0 (010->000)
+
+ Store(b010, b001)
+
+ if (pr00) {
+ Store(b001, Debug)
+ }
+
+ Store(0xffffffffffff0000, f001)
+
+ Store(f001, Local0)
+
+ if (LNotEqual(Local0, 0)) {
+ err(arg0, z001, 26, 0, 0, Local0, 0)
+ }
+
+ Store(b000, b002)
+
+ if (LNotEqual(b001, b002)) {
+ err(arg0, z001, 27, 0, 0, 0, 0)
+ }
+
+ if (pr00) {
+ Store(b001, Debug)
+ }
+
+ //////////////// B. 1->0 (111->101)
+
+ Store(b0ff, b001)
+
+ if (pr00) {
+ Store(b001, Debug)
+ }
+
+ Store(0x0000000000000000, f001)
+
+ Store(f001, Local0)
+
+ if (LNotEqual(Local0, 0)) {
+ err(arg0, z001, 28, 0, 0, Local0, 0)
+ }
+
+ Store(b101, b002)
+
+ if (LNotEqual(b001, b002)) {
+ err(arg0, z001, 29, 0, 0, 0, 0)
+ }
+
+ if (pr00) {
+ Store(b001, Debug)
+ }
+
+ //////////////// C. 0->1 (101->111)
+
+ Store(b101, b001)
+
+ if (pr00) {
+ Store(b001, Debug)
+ }
+
+ Store(0x000000000000ffff, f001)
+ Store(f001, Local0)
+
+ if (LNotEqual(Local0, 0x000000000000ffff)) {
+ err(arg0, z001, 30, 0, 0, Local0, 0x000000000000ffff)
+ }
+
+ Store(b0ff, b002)
+
+ if (LNotEqual(b001, b002)) {
+ err(arg0, z001, 31, 0, 0, 0, 0)
+ }
+
+ if (pr00) {
+ Store(b001, Debug)
+ }
+
+ //////////////// D. 0->1 (000->010)
+
+ Store(b000, b001)
+
+ if (pr00) {
+ Store(b001, Debug)
+ }
+
+ Store(0xffffffffffffffff, f001)
+ Store(f001, Local0)
+
+ if (LNotEqual(Local0, 0x000000000000ffff)) {
+ err(arg0, z001, 32, 0, 0, Local0, 0x000000000000ffff)
+ }
+
+ Store(b010, b002)
+
+ if (LNotEqual(b001, b002)) {
+ err(arg0, z001, 33, 0, 0, 0, 0)
+ }
+
+ if (pr00) {
+ Store(b001, Debug)
+ }
+
+ Store(SizeOf(b001), Local0)
+ if (LNotEqual(Local0, arg2)) {
+ err(arg0, z001, 34, 0, 0, Local0, arg2)
+ }
+
+ Store(SizeOf(b002), Local0)
+ if (LNotEqual(Local0, arg2)) {
+ err(arg0, z001, 35, 0, 0, Local0, arg2)
+ }
+
+ //////////////// E. 0->1 (000->010)
+
+ Store(b000, b001)
+
+ if (pr00) {
+ Store(b001, Debug)
+ }
+
+ Store(0xffffffffffff7698, f001)
+ Store(f001, Local0)
+
+ if (LNotEqual(Local0, 0x0000000000007698)) {
+ err(arg0, z001, 36, 0, 0, Local0, 0x0000000000007698)
+ }
+
+ Store(b0B0, b002)
+
+ if (LNotEqual(b001, b002)) {
+ err(arg0, z001, 37, 0, 0, 0, 0)
+ }
+
+ if (pr00) {
+ Store(b001, Debug)
+ }
+
+ // Common features
+
+ Store(SizeOf(b001), Local0)
+ if (LNotEqual(Local0, arg2)) {
+ err(arg0, z001, 38, 0, 0, Local0, arg2)
+ }
+
+ Store(SizeOf(b002), Local0)
+ if (LNotEqual(Local0, arg2)) {
+ err(arg0, z001, 39, 0, 0, Local0, arg2)
+ }
+
+ Store(ObjectType(f001), Local0)
+ if (LNotEqual(Local0, c016)) {
+ err(arg0, z001, 40, 0, 0, Local0, c016)
+ }
+
+ if (pr00) {
+ Store(Local0, Debug)
+ }
+}
+
+Method(m215)
+{
+ Name(ts, "m215")
+
+ Store("TEST: m215, Create 16-Bit Buffer Field:", Debug)
+
+ // Size of buffer (in bytes)
+ Name(bsz0, 0)
+ Store(BS00, bsz0)
+
+ // Max steps to check
+ Name(bsz1, 0)
+
+ // How many elements to check
+ Name(n000, 0)
+ Name(ncur, 0)
+
+ Subtract(bsz0, 1, n000)
+
+ Store(n000, bsz1)
+
+ While (n000) {
+
+ if (LGreaterEqual(ncur, bsz1)) {
+ err(ts, z001, 41, 0, 0, ncur, bsz1)
+ Break
+ }
+
+ Store(b000, b010)
+ Store(b000, b0B0)
+ Store(b0ff, b101)
+
+ Store(ncur, Local0)
+
+ Store(0xff, Index(b010, Local0))
+ Store(0x98, Index(b0B0, Local0))
+ Store(0, Index(b101, Local0))
+
+ Increment(Local0)
+
+ Store(0xff, Index(b010, Local0))
+ Store(0x76, Index(b0B0, Local0))
+ Store(0, Index(b101, Local0))
+
+ m214(ts, ncur, bsz0)
+
+ Decrement(n000)
+ Increment(ncur)
+ }
+}
+
+// CreateDWordField
+//
+// <test name>,
+// <index of byte>,
+// <byte size of buf>
+Method(m216, 3)
+{
+ Name(pr00, 0)
+
+ if (pr00) {
+ Store("========:", Debug)
+ Store(arg1, Debug)
+ Store(arg2, Debug)
+ }
+
+ Name(b001, Buffer(arg2) {})
+ Name(b002, Buffer(arg2) {})
+
+ CreateDWordField(b001, arg1, f001)
+
+ //////////////// A. 1->0 (010->000)
+
+ Store(b010, b001)
+
+ if (pr00) {
+ Store(b001, Debug)
+ }
+
+ Store(0xffffffff00000000, f001)
+
+ Store(f001, Local0)
+
+ if (LNotEqual(Local0, 0)) {
+ err(arg0, z001, 42, 0, 0, Local0, 0)
+ }
+
+ Store(b000, b002)
+
+ if (LNotEqual(b001, b002)) {
+ err(arg0, z001, 43, 0, 0, 0, 0)
+ }
+
+ if (pr00) {
+ Store(b001, Debug)
+ }
+
+ //////////////// B. 1->0 (111->101)
+
+ Store(b0ff, b001)
+
+ if (pr00) {
+ Store(b001, Debug)
+ }
+
+ Store(0x0000000000000000, f001)
+
+ Store(f001, Local0)
+
+ if (LNotEqual(Local0, 0)) {
+ err(arg0, z001, 44, 0, 0, Local0, 0)
+ }
+
+ Store(b101, b002)
+
+ if (LNotEqual(b001, b002)) {
+ err(arg0, z001, 45, 0, 0, 0, 0)
+ }
+
+ if (pr00) {
+ Store(b001, Debug)
+ }
+
+ //////////////// C. 0->1 (101->111)
+
+ Store(b101, b001)
+
+ if (pr00) {
+ Store(b001, Debug)
+ }
+
+ Store(0x00000000ffffffff, f001)
+ Store(f001, Local0)
+
+ if (LNotEqual(Local0, 0x00000000ffffffff)) {
+ err(arg0, z001, 46, 0, 0, Local0, 0x00000000ffffffff)
+ }
+
+ Store(b0ff, b002)
+
+ if (LNotEqual(b001, b002)) {
+ err(arg0, z001, 47, 0, 0, 0, 0)
+ }
+
+ if (pr00) {
+ Store(b001, Debug)
+ }
+
+ //////////////// D. 0->1 (000->010)
+
+ Store(b000, b001)
+
+ if (pr00) {
+ Store(b001, Debug)
+ }
+
+ Store(0xffffffffffffffff, f001)
+ Store(f001, Local0)
+
+ if (LNotEqual(Local0, 0x00000000ffffffff)) {
+ err(arg0, z001, 48, 0, 0, Local0, 0x00000000ffffffff)
+ }
+
+ Store(b010, b002)
+
+ if (LNotEqual(b001, b002)) {
+ err(arg0, z001, 49, 0, 0, 0, 0)
+ }
+
+ if (pr00) {
+ Store(b001, Debug)
+ }
+
+ Store(SizeOf(b001), Local0)
+ if (LNotEqual(Local0, arg2)) {
+ err(arg0, z001, 50, 0, 0, Local0, arg2)
+ }
+
+ Store(SizeOf(b002), Local0)
+ if (LNotEqual(Local0, arg2)) {
+ err(arg0, z001, 51, 0, 0, Local0, arg2)
+ }
+
+ //////////////// E. 0->1 (000->010)
+
+ Store(b000, b001)
+
+ if (pr00) {
+ Store(b001, Debug)
+ }
+
+ Store(0xffffffff32547698, f001)
+ Store(f001, Local0)
+
+ if (LNotEqual(Local0, 0x0000000032547698)) {
+ err(arg0, z001, 52, 0, 0, Local0, 0x0000000032547698)
+ }
+
+ Store(b0B0, b002)
+
+ if (LNotEqual(b001, b002)) {
+ err(arg0, z001, 53, 0, 0, 0, 0)
+ }
+
+ if (pr00) {
+ Store(b001, Debug)
+ }
+
+ // Common features
+
+ Store(SizeOf(b001), Local0)
+ if (LNotEqual(Local0, arg2)) {
+ err(arg0, z001, 54, 0, 0, Local0, arg2)
+ }
+
+ Store(SizeOf(b002), Local0)
+ if (LNotEqual(Local0, arg2)) {
+ err(arg0, z001, 55, 0, 0, Local0, arg2)
+ }
+
+ Store(ObjectType(f001), Local0)
+ if (LNotEqual(Local0, c016)) {
+ err(arg0, z001, 56, 0, 0, Local0, c016)
+ }
+
+ if (pr00) {
+ Store(Local0, Debug)
+ }
+}
+
+Method(m217)
+{
+ Name(ts, "m217")
+
+ Store("TEST: m217, Create 32-Bit Buffer Field:", Debug)
+
+ // Size of buffer (in bytes)
+ Name(bsz0, 0)
+ Store(BS00, bsz0)
+
+ // Max steps to check
+ Name(bsz1, 0)
+
+ // How many elements to check
+ Name(n000, 0)
+ Name(ncur, 0)
+
+ Subtract(bsz0, 3, n000)
+
+ Store(n000, bsz1)
+
+ While (n000) {
+
+ if (LGreaterEqual(ncur, bsz1)) {
+ err(ts, z001, 57, 0, 0, ncur, bsz1)
+ Break
+ }
+
+ Store(b000, b010)
+ Store(b000, b0B0)
+ Store(b0ff, b101)
+
+ Store(ncur, Local0)
+
+ Store(0xff, Index(b010, Local0))
+ Store(0x98, Index(b0B0, Local0))
+ Store(0, Index(b101, Local0))
+
+ Increment(Local0)
+
+ Store(0xff, Index(b010, Local0))
+ Store(0x76, Index(b0B0, Local0))
+ Store(0, Index(b101, Local0))
+
+ Increment(Local0)
+
+ Store(0xff, Index(b010, Local0))
+ Store(0x54, Index(b0B0, Local0))
+ Store(0, Index(b101, Local0))
+
+ Increment(Local0)
+
+ Store(0xff, Index(b010, Local0))
+ Store(0x32, Index(b0B0, Local0))
+ Store(0, Index(b101, Local0))
+
+ m216(ts, ncur, bsz0)
+
+ Decrement(n000)
+ Increment(ncur)
+ }
+}
+
+// CreateQWordField
+//
+// <test name>,
+// <index of byte>,
+// <byte size of buf>
+Method(m218, 3)
+{
+ Name(pr00, 0)
+ Name(err0, 0)
+ Store(ERRS, err0)
+
+ Name(bb00, Buffer(8) {})
+// Name(bb01, Buffer(8) {0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff})
+ Name(bb01, Buffer(8) {0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00})
+// Name(bb02, Buffer(8) {0x98,0x76,0x54,0x32,0x10,0xAB,0xCD,0xEF})
+ Name(bb02, Buffer(8) {0x98,0x76,0x54,0x32,0x00,0x00,0x00,0x00})
+
+ if (pr00) {
+ Store("========:", Debug)
+ Store(arg1, Debug)
+ Store(arg2, Debug)
+ }
+
+ Name(b001, Buffer(arg2) {})
+ Name(b002, Buffer(arg2) {})
+
+ CreateQWordField(b001, arg1, f001)
+
+ /*
+ * Create Field to the part of b002 which is set to
+ * zero by storing Integer into f001 in 32-bit mode.
+ */
+ CreateDWordField(b002, Add(arg1, 4), f321)
+
+ //////////////// A. 1->0 (010->000)
+
+ Store(b010, b001)
+
+ if (pr00) {
+ Store("======== 1:", Debug)
+ Store(b001, Debug)
+ }
+
+ Store(0x0000000000000000, f001)
+
+ Store(f001, Local0)
+
+ if (LEqual(F64, 1)) {
+ if (LNotEqual(Local0, 0x0000000000000000)) {
+ err(arg0, z001, 58, 0, 0, Local0, 0x0000000000000000)
+ }
+ } else {
+ if (LNotEqual(Local0, bb00)) {
+ err(arg0, z001, 59, 0, 0, 0, 0)
+ }
+ }
+
+ Store(b000, b002)
+
+ if (LNotEqual(b001, b002)) {
+ err(arg0, z001, 60, 0, 0, 0, 0)
+ }
+
+ if (pr00) {
+ Store("======== 2:", Debug)
+ Store(b001, Debug)
+ }
+
+ //////////////// B. 1->0 (111->101)
+
+ Store(b0ff, b001)
+
+ if (pr00) {
+ Store("======== 3:", Debug)
+ Store(b001, Debug)
+ }
+
+ Store(0x0000000000000000, f001)
+
+ Store(f001, Local0)
+
+ if (LEqual(F64, 1)) {
+ if (LNotEqual(Local0, 0x0000000000000000)) {
+ err(arg0, z001, 61, 0, 0, Local0, 0x0000000000000000)
+ }
+ } else {
+ if (LNotEqual(Local0, bb00)) {
+ err(arg0, z001, 62, 0, 0, 0, 0)
+ }
+ }
+
+ Store(b101, b002)
+
+ if (LNotEqual(b001, b002)) {
+ err(arg0, z001, 63, 0, 0, 0, 0)
+ }
+
+ if (pr00) {
+ Store("======== 4:", Debug)
+ Store(b001, Debug)
+ }
+
+ //////////////// C. 0->1 (101->111)
+
+ Store(b101, b001)
+
+ if (pr00) {
+ Store("======== 5:", Debug)
+ Store(b001, Debug)
+ }
+
+ Store(0xffffffffffffffff, f001)
+// Store(bb01, f001)
+
+ Store(f001, Local0)
+
+ if (LEqual(F64, 1)) {
+ if (LNotEqual(Local0, 0xffffffffffffffff)) {
+ err(arg0, z001, 64, 0, 0, Local0, 0xffffffffffffffff)
+ }
+ } else {
+ if (LNotEqual(Local0, bb01)) {
+
+ if (pr00) {
+ Store("=========================:", Debug)
+ Store(Local0, Debug)
+ Store(bb01, Debug)
+ Store("=========================.", Debug)
+ }
+
+ err(arg0, z001, 65, 0, 0, 0, 0)
+ }
+ }
+
+ Store(b0ff, b002)
+
+ if (LEqual(F64, 0)) {
+ // 32-bit mode update of b002
+ Store(0, f321)
+ }
+
+ if (LNotEqual(b001, b002)) {
+
+ if (pr00) {
+ Store("=========================:", Debug)
+ Store(b001, Debug)
+ Store(b002, Debug)
+ Store("=========================.", Debug)
+ }
+
+ err(arg0, z001, 66, 0, 0, 0, 0)
+ }
+
+ if (pr00) {
+ Store("======== 6:", Debug)
+ Store(b001, Debug)
+ }
+
+ //////////////// D. 0->1 (000->010)
+
+ Store(b000, b001)
+
+ if (pr00) {
+ Store("======== 7:", Debug)
+ Store(f001, Debug)
+ Store(b001, Debug)
+ Store(bb01, Debug)
+ }
+
+ Store(0xffffffffffffffff, f001)
+// Store(bb01, f001)
+// Store(0xefcdab1032547698, f001)
+// Store(0x8888888888888888, f001)
+// Store(0x7777777777777777, f001)
+// Store(0x0f0f0f0f0f0f0f0f, f001)
+// Store(0xf0f0f0f0f0f0f0f0, f001)
+// Store(0x7fffffffffffffff, f001)
+
+ if (pr00) {
+ Store("======== 8:", Debug)
+ Store(Local0, Debug)
+ Store(f001, Debug)
+ Store(b001, Debug)
+ Store(bb01, Debug)
+ }
+
+ Store(f001, Local0)
+
+ if (LEqual(F64, 1)) {
+ if (LNotEqual(Local0, 0xffffffffffffffff)) {
+ err(arg0, z001, 67, 0, 0, Local0, 0xffffffffffffffff)
+ }
+ } else {
+ if (LNotEqual(Local0, bb01)) {
+
+ if (pr00) {
+ Store("=========================:", Debug)
+ Store(Local0, Debug)
+ Store(bb01, Debug)
+ Store("=========================.", Debug)
+ }
+
+ err(arg0, z001, 68, 0, 0, 0, 0)
+ }
+ }
+
+ Store(b010, b002)
+
+ if (LEqual(F64, 0)) {
+ // 32-bit mode update of b002
+ Store(0, f321)
+ }
+
+ if (LNotEqual(b001, b002)) {
+
+ if (pr00) {
+ Store("=========================:", Debug)
+ Store(b001, Debug)
+ Store(b002, Debug)
+ Store("=========================.", Debug)
+ }
+
+ err(arg0, z001, 69, 0, 0, 0, 0)
+ }
+
+ if (pr00) {
+ Store("======== 9:", Debug)
+ Store(b001, Debug)
+ }
+
+ Store(SizeOf(b001), Local0)
+ if (LNotEqual(Local0, arg2)) {
+ err(arg0, z001, 70, 0, 0, Local0, arg2)
+ }
+
+ Store(SizeOf(b002), Local0)
+ if (LNotEqual(Local0, arg2)) {
+ err(arg0, z001, 71, 0, 0, Local0, arg2)
+ }
+
+ //////////////// E. 0->1 (000->010)
+
+ Store(b000, b001)
+
+ if (pr00) {
+ Store("======== 10:", Debug)
+ Store(f001, Debug)
+ Store(b001, Debug)
+ Store(bb02, Debug)
+ }
+
+ Store(0xefcdab1032547698, f001)
+// Store(0xffffffffffffffff, f001)
+ Store(f001, Local0)
+
+
+ if (pr00) {
+ Store("======== 11:", Debug)
+ Store(Local0, Debug)
+ Store(f001, Debug)
+ Store(b001, Debug)
+ Store(bb02, Debug)
+ }
+
+ if (LEqual(F64, 1)) {
+ if (LNotEqual(Local0, 0xefcdab1032547698)) {
+ err(arg0, z001, 72, 0, 0, Local0, 0xefcdab1032547698)
+ }
+ } else {
+ if (LNotEqual(Local0, bb02)) {
+ err(arg0, z001, 73, 0, 0, 0, 0)
+ }
+ }
+
+ Store(b0B0, b002)
+
+ if (LEqual(F64, 0)) {
+ // 32-bit mode update of b002
+ Store(0, f321)
+ }
+
+ if (LNotEqual(b001, b002)) {
+ err(arg0, z001, 74, 0, 0, 0, 0)
+ }
+
+ if (pr00) {
+ Store("======== 12:", Debug)
+ Store(b001, Debug)
+ Store(b002, Debug)
+ }
+
+ // Common features
+
+ Store(SizeOf(b001), Local0)
+ if (LNotEqual(Local0, arg2)) {
+ err(arg0, z001, 75, 0, 0, Local0, arg2)
+ }
+
+ Store(SizeOf(b002), Local0)
+ if (LNotEqual(Local0, arg2)) {
+ err(arg0, z001, 76, 0, 0, Local0, arg2)
+ }
+
+ Store(ObjectType(f001), Local0)
+ if (LNotEqual(Local0, c016)) {
+ err(arg0, z001, 77, 0, 0, Local0, c016)
+ }
+
+ if (pr00) {
+ Store("======== 13:", Debug)
+ Store(Local0, Debug)
+ }
+
+ if (LNotEqual(ERRS, err0)) {
+ Store(1, Local0)
+ } else {
+ Store(0, Local0)
+ }
+
+ return (Local0)
+}
+
+Method(m219)
+{
+ Name(ts, "m219")
+
+ Store("TEST: m219, Create 64-Bit Buffer Field:", Debug)
+
+ // Size of buffer (in bytes)
+ Name(bsz0, 0)
+ Store(BS00, bsz0)
+
+ // Max steps to check
+ Name(bsz1, 0)
+
+ // How many elements to check
+ Name(n000, 0)
+ Name(ncur, 0)
+
+ Subtract(bsz0, 7, n000)
+
+ Store(n000, bsz1)
+
+ While (n000) {
+
+ if (LGreaterEqual(ncur, bsz1)) {
+ err(ts, z001, 78, 0, 0, ncur, bsz1)
+ Break
+ }
+
+ Store(b000, b010)
+ Store(b000, b0B0)
+ Store(b0ff, b101)
+
+ Store(ncur, Local0)
+
+ Store(0xff, Index(b010, Local0))
+ Store(0x98, Index(b0B0, Local0))
+ Store(0, Index(b101, Local0))
+
+ Increment(Local0)
+
+ Store(0xff, Index(b010, Local0))
+ Store(0x76, Index(b0B0, Local0))
+ Store(0, Index(b101, Local0))
+
+ Increment(Local0)
+
+ Store(0xff, Index(b010, Local0))
+ Store(0x54, Index(b0B0, Local0))
+ Store(0, Index(b101, Local0))
+
+ Increment(Local0)
+
+ Store(0xff, Index(b010, Local0))
+ Store(0x32, Index(b0B0, Local0))
+ Store(0, Index(b101, Local0))
+
+ Increment(Local0)
+
+ Store(0xff, Index(b010, Local0))
+ Store(0x10, Index(b0B0, Local0))
+ Store(0, Index(b101, Local0))
+
+ Increment(Local0)
+
+ Store(0xff, Index(b010, Local0))
+ Store(0xab, Index(b0B0, Local0))
+ Store(0, Index(b101, Local0))
+
+ Increment(Local0)
+
+ Store(0xff, Index(b010, Local0))
+ Store(0xcd, Index(b0B0, Local0))
+ Store(0, Index(b101, Local0))
+
+ Increment(Local0)
+
+ Store(0xff, Index(b010, Local0))
+ Store(0xef, Index(b0B0, Local0))
+ Store(0, Index(b101, Local0))
+
+ if (m218(ts, ncur, bsz0)) {
+ return (1)
+ }
+
+ Decrement(n000)
+ Increment(ncur)
+ }
+
+ return (0)
+}
+
+// CreateField
+//
+// <test name>,
+// <name of test-package>,
+// <index of bit>,
+// <num of bits>,
+// <byte size of buf>
+// <the benchmark buffer for Field comparison with>
+Method(m21a, 6)
+{
+ Name(pr00, 0)
+
+ if (pr00) {
+ Store("========:", Debug)
+ Store(arg2, Debug)
+ Store(arg3, Debug)
+ }
+
+ Name(b001, Buffer(arg4) {})
+ Name(b002, Buffer(arg4) {})
+
+ // Flag of Integer
+ Name(INT0, 0)
+
+ Name(INT1, 0)
+
+ CreateField(b001, arg2, arg3, f001)
+
+ // Expected type
+
+ if (LEqual(F64, 1)) {
+ if (LLessEqual(arg3, 64)) {
+ Store(1, INT0)
+ }
+ } else {
+ if (LLessEqual(arg3, 32)) {
+ Store(1, INT0)
+ }
+ }
+
+ // Check Type
+
+ Store(ObjectType(f001), Local0)
+ if (LNotEqual(Local0, c016)) {
+ err(arg0, z001, 79, 0, 0, Local0, c016)
+ }
+
+ // Fill the entire buffer (ground)
+
+ Store(b0G0, b001)
+
+ if (pr00) {
+ Store(b001, Debug)
+ }
+
+ // Fill into the field of buffer
+
+ Store(b0F0, f001)
+ Store(f001, Local0)
+
+ // Crash for 20041105 [Nov 5 2004]
+ // Store("!!!!!!!!!!!! test is crashing
+ // here when attempting access pr00:", Debug)
+
+ if (pr00) {
+ Store("============ 0:", Debug)
+ Store(b0G0, Debug)
+ Store(b0F0, Debug)
+ Store(b0B0, Debug)
+ Store(Local0, Debug)
+ Store(b001, Debug)
+ Store("============.", Debug)
+ }
+
+ // Check the contents of field
+
+
+ if (INT0) {
+ Store(arg5, INT1)
+ if (LNotEqual(Local0, INT1)) {
+ err(arg0, z001, 80, 0, 0, Local0, INT1)
+ }
+ } else {
+ if (LNotEqual(Local0, arg5)) {
+ err(arg0, z001, 81, 0, 0, 0, 0)
+ }
+ }
+
+ // Check the contents of Buffer
+
+ Store(b0B0, b002)
+
+ if (LNotEqual(b001, b002)) {
+ err(arg0, z001, 82, 0, 0, 0, 0)
+
+ if (pr00) {
+ Store("EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE:", Debug)
+ Store(b0G0, Debug)
+ Store(b0F0, Debug)
+ Store(b0B0, Debug)
+ Store(b001, Debug)
+ Store("RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR.", Debug)
+ }
+ }
+
+ // Common features
+
+ // Add "Common features" here too.
+
+ return (Zero)
+}
+
+// <test name>,
+// <name of test-package>,
+// <index of bit>,
+// <num of bits>,
+// <opcode of buffer to fill the ground>
+// <opcode of buffer to fill the field>
+Method(m21b, 6)
+{
+ Name(pr00, 0)
+
+ Name(INT2, 0)
+
+ // For loop 1
+ Name(lpN1, 0)
+ Name(lpC1, 0)
+
+ // For loop 2
+ Name(lpN2, 0)
+ Name(lpC2, 0)
+
+ // <entire byte size of buffer>
+ Name(bsz0, 0)
+ Store(BS00, bsz0)
+
+ // byte size of field
+ Name(bsf0, 0)
+
+ // byte size of buffer affected by field
+ Name(bsb0, 0)
+
+ // index of the first byte of field in the buffer
+ Name(fb00, 0)
+
+ // index of the last byte of field in the buffer
+ Name(lb00, 0)
+
+ // Num of bits have to be non-zero
+
+ if (LEqual(arg3, 0)) {
+ err(arg0, z001, 83, 0, 0, 0, 0)
+ return (Ones)
+ }
+
+ Store(MBS0(arg2, arg3), bsb0)
+
+ // =========================================
+ // Prepare the buffer for filling the ground
+ // =========================================
+
+ switch (arg4) {
+ case (0) {
+ Store(b000, b0G0)
+ }
+ case (1) {
+ Store(b0ff, b0G0)
+ }
+ default {
+ Store(b256, b0G0)
+ }
+ }
+
+ // ==========================================================
+ // Prepare the buffer for filling the field (over the ground)
+ // ==========================================================
+
+ switch (arg5) {
+ case (0) {
+ Store(b000, b0F0)
+ }
+ case (1) {
+ Store(b0ff, b0F0)
+ }
+ default {
+ Store(b256, b0F0)
+ }
+ }
+
+ // ======================================================
+ // Prepare the benchmark buffer for Field COMPARISON with
+ // Result in Local6
+ // ======================================================
+
+ // lpN1 - number of bytes minus one
+
+ Store(arg3, Local0)
+ Decrement(Local0)
+ Divide(Local0, 8, Local7, lpN1)
+ Divide(arg3, 8, Local7, Local0)
+
+ Store(lpN1, bsf0)
+ Increment(bsf0)
+ Store(Buffer(bsf0) {}, Local6)
+
+ Store(DeRefOf(Index(b0F0, lpN1)), Local0)
+ if (Local7) {
+ Subtract(8, Local7, Local1)
+ ShiftLeft(Local0, Local1, Local2)
+ And(Local2, 0xff, Local3)
+ ShiftRight(Local3, Local1, Local0)
+ }
+ Store(Local0, Index(Local6, lpN1))
+
+ Store(0, lpC1)
+
+ While (lpN1) {
+ Store(DeRefOf(Index(b0F0, lpC1)), Local0)
+ Store(Local0, Index(Local6, lpC1))
+ Decrement(lpN1)
+ Increment(lpC1)
+ }
+
+ // ================================================
+ // Prepare the benchmark buffer for comparison with
+ // ================================================
+
+ Store(b0G0, b0B0)
+
+ Divide(arg2, 8, Local1, fb00)
+ Store(DeRefOf(Index(b0B0, fb00)), Local2)
+
+ Store(bsb0, lb00)
+ Decrement(lb00)
+ Store(DeRefOf(Index(b0B0, lb00)), Local3)
+
+ Store(sft1(Local6, Local1, arg3, Local2, Local3), Local0)
+
+ Store(fb00, Local2)
+ Store(Sizeof(Local0), lpN2)
+ Store(0, lpC2)
+ While (lpN2) {
+
+ Store(DeRefOf(Index(Local0, lpC2)), Local1)
+ Store(Local1, Index(b0B0, Local2))
+
+ Increment(Local2)
+
+ Decrement(lpN2)
+ Increment(lpC2)
+ }
+
+
+ m21a(arg0, arg1, arg2, arg3, bsz0, Local6)
+
+ return (Zero)
+}
+
+Method(m21c, 4)
+{
+ // For loop 0
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+
+ // For loop 1
+ Name(lpN1, 0)
+ Name(lpC1, 0)
+
+ // For loop 2
+ Name(lpN2, 0)
+ Name(lpC2, 0)
+
+ // Index of bit
+ Name(ib00, 0)
+
+ // Number of bits
+ Name(nb00, 0)
+
+ Store(arg1, lpN0)
+ Store(0, lpC0)
+ While(lpN0) {
+
+ // Operands
+
+ Multiply(lpC0, 6, Local6)
+ Store(DeRefOf(Index(arg3, Local6)), ib00)
+ Increment(Local6)
+ Store(DeRefOf(Index(arg3, Local6)), lpN1)
+ Increment(Local6)
+ Store(DeRefOf(Index(arg3, Local6)), Local0)
+ Increment(Local6)
+ Store(DeRefOf(Index(arg3, Local6)), Local1)
+ Increment(Local6)
+ Store(DeRefOf(Index(arg3, Local6)), Local2)
+ Increment(Local6)
+ Store(DeRefOf(Index(arg3, Local6)), Local3)
+
+ Store(0, lpC1)
+ While (lpN1) {
+ Store(Local0, nb00)
+ Store(Local1, lpN2)
+ Store(0, lpC2)
+ While (lpN2) {
+ m21b(arg0, arg2, ib00, nb00, Local2, Local3)
+ Increment(nb00)
+
+ Decrement(lpN2)
+ Increment(lpC2)
+ }
+
+ Increment(ib00)
+
+ Decrement(lpN1)
+ Increment(lpC1)
+ }
+
+ Increment(lpC0)
+ Decrement(lpN0)
+ }
+}
+
+Method(m21d)
+{
+ Name(ts, "m21d")
+
+ Store("TEST: m21d, Create Arbitrary Length Buffer Field:", Debug)
+
+ // Layout of Package:
+ // - <first index of bit>,
+ // - <num of indexes of bits>,
+ // - <first num of bits>,
+ // - <num of num of bits>,
+ // - opcode of buffer to fill the ground
+ // - opcode of buffer to fill the field
+ // Opcodes of buffers:
+ // 0 - all zeros
+ // 1 - all units
+ // 2 - some mix
+ Name(p000, Package() {
+
+ 0, 8, 1, 80, 1, 2,
+
+// try for 32-bit, 64-bit:
+// 1, 1, 0x28, 1, 1, 2,
+// 1, 1, 0x48, 1, 1, 2,
+
+// try for 32-bit, 64-bit:
+// 4, 1, 0x200, 1, 1, 2,
+// 6, 1, 0x69, 1, 1, 2,
+
+// examines the whole range possible for the size
+// of the unerlying 256-byte Buffer:
+// 0, 17, 1, 2032, 1, 2,
+
+// 0, 1, 1, 1, 1, 2,
+// 0, 10, 1, 30, 1, 2,
+// 1, 1, 1, 90, 1, 2,
+// 1, 1, 40, 1, 1, 2,
+// 1, 1, 1, 39, 1, 2,
+// 1, 1, 1, 40, 1, 2,
+// 1, 1, 40, 1, 0, 2,
+// 0, 1, 1, 65, 0, 1,
+ }
+ )
+
+ m21c(ts, 1, "p000", p000)
+}
+
+// Run-method
+Method(CBF0)
+{
+ SRMT("m211")
+ m211()
+ SRMT("m213")
+ m213()
+ SRMT("m215")
+ m215()
+ SRMT("m217")
+ m217()
+ SRMT("m219")
+ m219()
+ SRMT("m21d")
+ m21d()
+}
diff --git a/tests/aslts/src/runtime/collections/functional/constant/DECL.asl b/tests/aslts/src/runtime/collections/functional/constant/DECL.asl
new file mode 100644
index 000000000..a10cdf4b6
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/constant/DECL.asl
@@ -0,0 +1,32 @@
+/*
+ * 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.
+ */
+
+
+Include("../../../../runtime/collections/functional/constant/constants.asl")
diff --git a/tests/aslts/src/runtime/collections/functional/constant/MAIN.asl b/tests/aslts/src/runtime/collections/functional/constant/MAIN.asl
new file mode 100644
index 000000000..e5a1c2c3d
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/constant/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "constant.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../runtime/cntl/DECL.asl")
+ Include("../../../../runtime/collections/functional/constant/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../runtime/collections/functional/constant/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/functional/constant/Makefile b/tests/aslts/src/runtime/collections/functional/constant/Makefile
new file mode 100644
index 000000000..ab4eb3daa
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/constant/Makefile
@@ -0,0 +1,7 @@
+# constant
+
+AMLMOD= constant
+COLL= ../..
+
+TOP= $(COLL)/../../..
+include $(COLL)/Makefile.install
diff --git a/tests/aslts/src/runtime/collections/functional/constant/RUN.asl b/tests/aslts/src/runtime/collections/functional/constant/RUN.asl
new file mode 100644
index 000000000..2e650c1ef
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/constant/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+
+if (STTT("Constants", TCLF, 2, W002)) {
+ SRMT("CST1")
+ CST1()
+}
+FTTT()
diff --git a/tests/aslts/src/runtime/collections/functional/constant/constants.asl b/tests/aslts/src/runtime/collections/functional/constant/constants.asl
new file mode 100644
index 000000000..26fbc1252
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/constant/constants.asl
@@ -0,0 +1,71 @@
+/*
+ * 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.
+ */
+
+/*
+ * Constants
+ */
+
+Name(z002, 2)
+
+// Run-method
+Method(CST1)
+{
+ Name(ts, "CST1")
+
+ if (LNotEqual(Zero, 0)){
+ err(ts, z002, 0, 0, 0, Zero, 0)
+ }
+
+ if (LNotEqual(One, 1)){
+ err(ts, z002, 1, 0, 0, One, 1)
+ }
+
+ if (LEqual(F64, 1)) {
+ if (LNotEqual(Ones, 0xffffffffffffffff)){
+ err(ts, z002, 2, 0, 0, Ones, 0xffffffffffffffff)
+ }
+ } else {
+ if (LNotEqual(Ones, 0xffffffff)){
+ err(ts, z002, 3, 0, 0, Ones, 0xffffffff)
+ }
+ }
+
+ if (LLess(Revision, 0x20050114)){
+ err(ts, z002, 4, 0, 0, Revision, 0x20050114)
+ }
+
+ if (LGreater(Revision, 0x20500000)){
+ err(ts, z002, 5, 0, 0, Revision, 0x20500000)
+ }
+
+ if (LNotEqual(\_REV, 3)){
+ err(ts, z002, 6, 0, 0, \_REV, 3)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/functional/control/DECL.asl b/tests/aslts/src/runtime/collections/functional/control/DECL.asl
new file mode 100644
index 000000000..096c5b773
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/control/DECL.asl
@@ -0,0 +1,54 @@
+/*
+ * 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.
+ */
+
+Include("../../../../runtime/collections/functional/control/ctl0.asl")
+Include("../../../../runtime/collections/functional/control/ctl1.asl")
+Include("../../../../runtime/collections/functional/control/ctl2.asl")
+Include("../../../../runtime/collections/functional/control/timing.asl")
+Include("../../../../runtime/collections/functional/control/switch1.asl")
+Include("../../../../runtime/collections/functional/control/switch2.asl")
+Include("../../../../runtime/collections/functional/control/switch3.asl")
+Include("../../../../runtime/collections/functional/control/switch4.asl")
+Include("../../../../runtime/collections/functional/control/switch5.asl")
+Include("../../../../runtime/collections/functional/control/switch6.asl")
+Include("../../../../runtime/collections/functional/control/while.asl")
+
+Include("../../../../runtime/collections/functional/control/Return/return.asl")
+
+Include("../../../../runtime/collections/functional/control/ImplicitReturn/add.asl")
+Include("../../../../runtime/collections/functional/control/ImplicitReturn/store.asl")
+Include("../../../../runtime/collections/functional/control/ImplicitReturn/standaloneret.asl")
+
+Include("../../../../runtime/collections/functional/control/Recursion/recursion.asl")
+Include("../../../../runtime/collections/functional/control/Recursion/stack_overflow.asl")
+
+
+
+
diff --git a/tests/aslts/src/runtime/collections/functional/control/ImplicitReturn/DECL.asl b/tests/aslts/src/runtime/collections/functional/control/ImplicitReturn/DECL.asl
new file mode 100644
index 000000000..080570f66
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/control/ImplicitReturn/DECL.asl
@@ -0,0 +1,33 @@
+/*
+ * 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.
+ */
+
+Include("../../../../../runtime/collections/functional/control/ImplicitReturn/add.asl")
+Include("../../../../../runtime/collections/functional/control/ImplicitReturn/store.asl")
+Include("../../../../../runtime/collections/functional/control/ImplicitReturn/standaloneret.asl")
diff --git a/tests/aslts/src/runtime/collections/functional/control/ImplicitReturn/MAIN.asl b/tests/aslts/src/runtime/collections/functional/control/ImplicitReturn/MAIN.asl
new file mode 100644
index 000000000..34626ee80
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/control/ImplicitReturn/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "implicitreturn.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/functional/control/ImplicitReturn/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/functional/control/ImplicitReturn/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/functional/control/ImplicitReturn/RUN.asl b/tests/aslts/src/runtime/collections/functional/control/ImplicitReturn/RUN.asl
new file mode 100644
index 000000000..48268f0f3
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/control/ImplicitReturn/RUN.asl
@@ -0,0 +1,50 @@
+/*
+ * 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.
+ */
+
+if (STTT("Method execution control, Implicit Return", TCLF, 3, W003)) {
+ SRMT("mf6c")
+ mf6c()
+
+ SRMT("mf6e")
+ mf6e()
+
+ SRMT("mf6f")
+ mf6f()
+
+ SRMT("mf71")
+ mf71()
+
+ SRMT("mff0")
+ mff0()
+
+ SRMT("mff1")
+ mff1()
+}
+FTTT()
diff --git a/tests/aslts/src/runtime/collections/functional/control/ImplicitReturn/add.asl b/tests/aslts/src/runtime/collections/functional/control/ImplicitReturn/add.asl
new file mode 100644
index 000000000..8b13fabbb
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/control/ImplicitReturn/add.asl
@@ -0,0 +1,781 @@
+/*
+ * 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.
+ */
+
+/*
+ * Test of Impllicit Return
+ *
+ * The last operation of Methods is Add.
+ */
+
+Name(z136, 136)
+
+Method(mf71)
+{
+ Name(fl00, 0)
+ Name(i000, 0xabcd0000)
+ Name(i001, 0)
+
+ Method(m000)
+ {
+ Add(0xabcd0002, i001)
+ if (fl00) {
+ Store(0xdddd0000, i001)
+ Return (0)
+ }
+ }
+
+ Method(m001)
+ {
+ if (fl00) {
+ Store(0xdddd0001, i001)
+ Return (0)
+ }
+ Add(0xabcd0003, i001)
+ }
+
+ Method(m002, 1)
+ {
+ if (fl00) {
+ Store(0xdddd0002, i001)
+ Return (0)
+ }
+ if (fl00) {
+ Return (0)
+ }
+ if (arg0) {
+ Add(0xabcd0004, i001)
+ }
+ }
+
+ Method(m003, 1)
+ {
+ if (fl00) {
+ Store(0xdddd0003, i001)
+ Return (0)
+ }
+ if (fl00) {
+ Return (0)
+ }
+ if (arg0) {
+ Add(0xabcd0005, i001)
+ } else {
+ Add(0xabcd0006, i001)
+ }
+ }
+
+ Method(m004, 1)
+ {
+ if (fl00) {
+ Return (0)
+ }
+
+ switch (arg0) {
+ case (0) {
+ Add(0xabcd0007, i001)
+ }
+ case (0x12345678) {
+ Add(0xabcd0008, i001)
+ }
+ default {
+ Add(0xabcd0009, i001)
+ }
+ }
+ }
+
+ Method(m005)
+ {
+ if (fl00) {
+ Return (0)
+ }
+
+ While (1) {
+ Add(0xabcd000a, i001)
+ Break
+ }
+ }
+
+ Method(m006)
+ {
+ if (fl00) {
+ Return (0)
+ }
+
+ Add(0xabcd000b, i001)
+ While (0xabcd0003) {
+ Break
+ }
+ }
+
+ Method(m007)
+ {
+ Name(i000, 0)
+ Name(num, 0)
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+
+ Store(10, num)
+
+ Store(num, lpN0)
+ Store(0, lpC0)
+
+ if (fl00) {
+ Return (0)
+ }
+
+ While (lpN0) {
+ if (i000) {
+ Break
+ }
+ Decrement(lpN0)
+ Increment(lpC0)
+ Store(0xabcd0001, i000)
+ Add(0xabcd000c, i001)
+ Continue
+ }
+ }
+
+ Method(m008)
+ {
+ Method(m000)
+ {
+ Add(0xabcd000d, i001)
+ }
+
+ if (fl00) {
+ Return (0)
+ }
+
+ m000()
+ }
+
+
+ // m000
+
+ Store(0xabcd9000, i000)
+
+ CH03("", z136, 0x100, 0, 0)
+
+ Store(m000(), i000)
+
+ if (SLCK) {
+ CH03("", z136, 0x101, 0, 0)
+ if (y901) {
+ Store(0, Local0)
+ } else {
+ Store(0xabcd0002, Local0)
+ }
+ if (LNotEqual(i000, Local0)) {
+ err("", z136, 0x102, 0, 0, i000, Local0)
+ }
+ } else {
+ CH04("", 0, 0xff, z136, 0x103, 0, 0)
+ }
+
+ // m001
+
+ Store(0xabcd9001, i000)
+
+ CH03("", z136, 0x104, 0, 0)
+
+ Store(m001(), i000)
+
+ if (SLCK) {
+ CH03("", z136, 0x105, 0, 0)
+ if (LNotEqual(i000, 0xabcd0003)) {
+ err("", z136, 0x106, 0, 0, i000, 0xabcd0003)
+ }
+ } else {
+ CH04("", 0, 0xff, z136, 0x107, 0, 0)
+ }
+
+ // m002
+
+ Store(0xabcd9002, i000)
+
+ CH03("", z136, 0x108, 0, 0)
+
+ Store(m002(1), i000)
+
+ if (SLCK) {
+ CH03("", z136, 0x109, 0, 0)
+ if (LNotEqual(i000, 0xabcd0004)) {
+ err("", z136, 0x10a, 0, 0, i000, 0xabcd0004)
+ }
+ } else {
+ CH04("", 0, 0xff, z136, 0x10b, 0, 0)
+ }
+
+ // m003
+
+ Store(0xabcd9003, i000)
+
+ CH03("", z136, 0x10c, 0, 0)
+
+ Store(m003(0), i000)
+
+ if (SLCK) {
+ CH03("", z136, 0x10d, 0, 0)
+ if (LNotEqual(i000, 0xabcd0006)) {
+ err("", z136, 0x10e, 0, 0, i000, 0xabcd0006)
+ }
+ } else {
+ CH04("", 0, 0xff, z136, 0x10f, 0, 0)
+ }
+
+ // m004(0)
+
+ Store(0xabcd9004, i000)
+
+ CH03("", z136, 0x110, 0, 0)
+
+ Store(m004(0), i000)
+
+ if (SLCK) {
+ CH03("", z136, 0x111, 0, 0)
+ if (LNotEqual(i000, 0xabcd0007)) {
+ err("", z136, 0x112, 0, 0, i000, 0xabcd0007)
+ }
+ } else {
+ CH04("", 0, 0xff, z136, 0x113, 0, 0)
+ }
+
+ // m004(0x12345678)
+
+ Store(0xabcd9005, i000)
+
+ CH03("", z136, 0x114, 0, 0)
+
+ Store(m004(0x12345678), i000)
+
+ if (SLCK) {
+ CH03("", z136, 0x115, 0, 0)
+ if (LNotEqual(i000, 0xabcd0008)) {
+ err("", z136, 0x116, 0, 0, i000, 0xabcd0008)
+ }
+ } else {
+ CH04("", 0, 0xff, z136, 0x117, 0, 0)
+ }
+
+ // m004(Default)
+
+ Store(0xabcd9006, i000)
+
+ CH03("", z136, 0x118, 0, 0)
+
+ Store(m004(1111), i000)
+
+ if (SLCK) {
+ CH03("", z136, 0x119, 0, 0)
+ if (LNotEqual(i000, 0xabcd0009)) {
+ err("", z136, 0x11a, 0, 0, i000, 0xabcd0009)
+ }
+ } else {
+ CH04("", 0, 0xff, z136, 0x11b, 0, 0)
+ }
+
+ // m005
+
+ Store(0xabcd9007, i000)
+
+ CH03("", z136, 0x11c, 0, 0)
+
+ Store(m005(), i000)
+
+ if (SLCK) {
+ CH03("", z136, 0x11d, 0, 0)
+ if (LNotEqual(i000, 0xabcd000a)) {
+ err("", z136, 0x11e, 0, 0, i000, 0xabcd000a)
+ }
+ } else {
+ CH04("", 0, 0xff, z136, 0x11f, 0, 0)
+ }
+
+ // m006
+
+ Store(0xabcd9008, i000)
+
+ CH03("", z136, 0x120, 0, 0)
+
+ Store(m006(), i000)
+
+ if (SLCK) {
+ CH03("", z136, 0x121, 0, 0)
+ if (y901) {
+ Store(0xabcd0003, Local0)
+ } else {
+ Store(0xabcd000b, Local0)
+ }
+ if (LNotEqual(i000, Local0)) {
+ err("", z136, 0x122, 0, 0, i000, Local0)
+ }
+ } else {
+ CH04("", 0, 0xff, z136, 0x123, 0, 0)
+ }
+
+ // m007
+
+ Store(0xabcd9009, i000)
+
+ CH03("", z136, 0x124, 0, 0)
+
+ Store(m007(), i000)
+
+ if (SLCK) {
+ CH03("", z136, 0x125, 0, 0)
+ if (y901) {
+ Store(0xabcd0001, Local0)
+ } else {
+ Store(0xabcd000c, Local0)
+ }
+ if (LNotEqual(i000, Local0)) {
+ err("", z136, 0x126, 0, 0, i000, Local0)
+ }
+ } else {
+ CH04("", 0, 0xff, z136, 0x127, 0, 0)
+ }
+
+ // m008
+
+ Store(0xabcd900a, i000)
+
+ CH03("", z136, 0x128, 0, 0)
+
+ Store(m008(), i000)
+
+ if (SLCK) {
+ CH03("", z136, 0x129, 0, 0)
+ if (LNotEqual(i000, 0xabcd000d)) {
+ err("", z136, 0x12a, 0, 0, i000, 0xabcd000d)
+ }
+ } else {
+ CH04("", 0, 0xff, z136, 0x12b, 0, 0)
+ }
+}
+
+// Implements mf71 where i001 relocated with Local0
+// to extend implicit return conditions checked
+Method(mff0)
+{
+ Name(fl00, 0)
+ Name(i000, 0xabcd0000)
+
+ Method(m000)
+ {
+ Store(0, Local0)
+
+ Add(0xabcd0002, Local0)
+ if (fl00) {
+ Store(0xdddd0000, Local0)
+ Return (0)
+ }
+ }
+
+ Method(m001)
+ {
+ Store(0, Local0)
+
+ if (fl00) {
+ Store(0xdddd0001, Local0)
+ Return (0)
+ }
+ Add(0xabcd0003, Local0)
+ }
+
+ Method(m002, 1)
+ {
+ Store(0, Local0)
+
+ if (fl00) {
+ Store(0xdddd0002, Local0)
+ Return (0)
+ }
+ if (fl00) {
+ Return (0)
+ }
+ if (arg0) {
+ Add(0xabcd0004, Local0)
+ }
+ }
+
+ Method(m003, 1)
+ {
+ Store(0, Local0)
+
+ if (fl00) {
+ Store(0xdddd0003, Local0)
+ Return (0)
+ }
+ if (fl00) {
+ Return (0)
+ }
+ if (arg0) {
+ Add(0xabcd0005, Local0)
+ } else {
+ Add(0xabcd0006, Local0)
+ }
+ }
+
+ Method(m004, 1)
+ {
+ Store(0, Local0)
+
+ if (fl00) {
+ Return (0)
+ }
+
+ switch (arg0) {
+ case (0) {
+ Add(0xabcd0007, Local0)
+ }
+ case (0x12345678) {
+ Add(0xabcd0008, Local0)
+ }
+ default {
+ Add(0xabcd0009, Local0)
+ }
+ }
+ }
+
+ Method(m005)
+ {
+ Store(0, Local0)
+
+ if (fl00) {
+ Return (0)
+ }
+
+ While (1) {
+ Add(0xabcd000a, Local0)
+ Break
+ }
+ }
+
+ Method(m006)
+ {
+ Store(0, Local0)
+
+ if (fl00) {
+ Return (0)
+ }
+
+ Add(0xabcd000b, Local0)
+ While (0xabcd0002) {
+ Break
+ }
+ }
+
+ Method(m007)
+ {
+ Name(i000, 0)
+ Name(num, 0)
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+
+ Store(10, num)
+
+ Store(num, lpN0)
+ Store(0, lpC0)
+
+ if (fl00) {
+ Return (0)
+ }
+
+ Store(0, Local0)
+
+ While (lpN0) {
+ if (i000) {
+ Break
+ }
+ Decrement(lpN0)
+ Increment(lpC0)
+ Store(0xabcd0005, i000)
+ Add(0xabcd000c, Local0)
+ Continue
+ }
+ }
+
+ Method(m008)
+ {
+ Method(m000)
+ {
+ Store(0, Local0)
+
+ Add(0xabcd000d, Local0)
+ }
+
+ if (fl00) {
+ Return (0)
+ }
+
+ m000()
+ }
+
+ Method(m009)
+ {
+ Method(m000)
+ {
+ Store(0, Local0)
+
+ Add(0xabcd000e, Local0, Local0)
+ m001(Local0)
+ }
+
+ Method(m001, 1)
+ {
+ Store(arg0, Local0)
+ }
+
+ if (fl00) {
+ Return (0)
+ }
+
+ m000()
+ }
+
+ // m000
+
+ Store(0xabcd9000, i000)
+
+ CH03("", z136, 0x12c, 0, 0)
+
+ Store(m000(), i000)
+
+ if (SLCK) {
+ CH03("", z136, 0x12d, 0, 0)
+ if (y901) {
+ Store(0, Local0)
+ } else {
+ Store(0xabcd0002, Local0)
+ }
+ if (LNotEqual(i000, Local0)) {
+ err("", z136, 0x12e, 0, 0, i000, Local0)
+ }
+ } else {
+ CH04("", 0, 0xff, z136, 0x12f, 0, 0)
+ }
+
+ // m001
+
+ Store(0xabcd9001, i000)
+
+ CH03("", z136, 0x130, 0, 0)
+
+ Store(m001(), i000)
+
+ if (SLCK) {
+ CH03("", z136, 0x131, 0, 0)
+ if (LNotEqual(i000, 0xabcd0003)) {
+ err("", z136, 0x132, 0, 0, i000, 0xabcd0003)
+ }
+ } else {
+ CH04("", 0, 0xff, z136, 0x133, 0, 0)
+ }
+
+ // m002
+
+ Store(0xabcd9002, i000)
+
+ CH03("", z136, 0x134, 0, 0)
+
+ Store(m002(1), i000)
+
+ if (SLCK) {
+ CH03("", z136, 0x135, 0, 0)
+ if (LNotEqual(i000, 0xabcd0004)) {
+ err("", z136, 0x136, 0, 0, i000, 0xabcd0004)
+ }
+ } else {
+ CH04("", 0, 0xff, z136, 0x137, 0, 0)
+ }
+
+ // m003
+
+ Store(0xabcd9003, i000)
+
+ CH03("", z136, 0x138, 0, 0)
+
+ Store(m003(0), i000)
+
+ if (SLCK) {
+ CH03("", z136, 0x139, 0, 0)
+ if (LNotEqual(i000, 0xabcd0006)) {
+ err("", z136, 0x10e, 0, 0, i000, 0xabcd0006)
+ }
+ } else {
+ CH04("", 0, 0xff, z136, 0x13a, 0, 0)
+ }
+
+ // m004(0)
+
+ Store(0xabcd9004, i000)
+
+ CH03("", z136, 0x13b, 0, 0)
+
+ Store(m004(0), i000)
+
+ if (SLCK) {
+ CH03("", z136, 0x13c, 0, 0)
+ if (LNotEqual(i000, 0xabcd0007)) {
+ err("", z136, 0x13d, 0, 0, i000, 0xabcd0007)
+ }
+ } else {
+ CH04("", 0, 0xff, z136, 0x13e, 0, 0)
+ }
+
+ // m004(0x12345678)
+
+ Store(0xabcd9005, i000)
+
+ CH03("", z136, 0x13f, 0, 0)
+
+ Store(m004(0x12345678), i000)
+
+ if (SLCK) {
+ CH03("", z136, 0x140, 0, 0)
+ if (LNotEqual(i000, 0xabcd0008)) {
+ err("", z136, 0x141, 0, 0, i000, 0xabcd0008)
+ }
+ } else {
+ CH04("", 0, 0xff, z136, 0x142, 0, 0)
+ }
+
+ // m004(Default)
+
+ Store(0xabcd9006, i000)
+
+ CH03("", z136, 0x143, 0, 0)
+
+ Store(m004(1111), i000)
+
+ if (SLCK) {
+ CH03("", z136, 0x144, 0, 0)
+ if (LNotEqual(i000, 0xabcd0009)) {
+ err("", z136, 0x145, 0, 0, i000, 0xabcd0009)
+ }
+ } else {
+ CH04("", 0, 0xff, z136, 0x146, 0, 0)
+ }
+
+ // m005
+
+ Store(0xabcd9007, i000)
+
+ CH03("", z136, 0x147, 0, 0)
+
+ Store(m005(), i000)
+
+ if (SLCK) {
+ CH03("", z136, 0x148, 0, 0)
+ if (LNotEqual(i000, 0xabcd000a)) {
+ err("", z136, 0x149, 0, 0, i000, 0xabcd000a)
+ }
+ } else {
+ CH04("", 0, 0xff, z136, 0x14a, 0, 0)
+ }
+
+ // m006
+
+ Store(0xabcd9008, i000)
+
+ CH03("", z136, 0x14b, 0, 0)
+
+ Store(m006(), i000)
+
+ if (SLCK) {
+ CH03("", z136, 0x14c, 0, 0)
+ if (y901) {
+ Store(0xabcd0002, Local0)
+ } else {
+ Store(0xabcd000b, Local0)
+ }
+ if (LNotEqual(i000, Local0)) {
+ err("", z136, 0x14d, 0, 0, i000, Local0)
+ }
+ } else {
+ CH04("", 0, 0xff, z136, 0x14e, 0, 0)
+ }
+
+ // m007
+
+ Store(0xabcd9009, i000)
+
+ CH03("", z136, 0x14f, 0, 0)
+
+ Store(m007(), i000)
+
+ if (SLCK) {
+ CH03("", z136, 0x150, 0, 0)
+ if (y901) {
+ Store(0xabcd0005, Local0)
+ } else {
+ Store(0xabcd000c, Local0)
+ }
+ if (LNotEqual(i000, Local0)) {
+ err("", z136, 0x151, 0, 0, i000, Local0)
+ }
+ } else {
+ CH04("", 0, 0xff, z136, 0x152, 0, 0)
+ }
+
+ // m008
+
+ Store(0xabcd900a, i000)
+
+ CH03("", z136, 0x153, 0, 0)
+
+ Store(m008(), i000)
+
+ if (SLCK) {
+ CH03("", z136, 0x154, 0, 0)
+ if (LNotEqual(i000, 0xabcd000d)) {
+ err("", z136, 0x155, 0, 0, i000, 0xabcd000d)
+ }
+ } else {
+ CH04("", 0, 0xff, z136, 0x156, 0, 0)
+ }
+
+ // m009
+
+ Store(0xabcd900b, i000)
+
+ CH03("", z136, 0x157, 0, 0)
+
+ Store(m009(), i000)
+
+ if (SLCK) {
+ CH03("", z136, 0x158, 0, 0)
+ if (LNotEqual(i000, 0xabcd000e)) {
+ err("", z136, 0x159, 0, 0, i000, 0xabcd000e)
+ }
+ } else {
+ CH04("", 0, 0xff, z136, 0x15a, 0, 0)
+ }
+
+}
diff --git a/tests/aslts/src/runtime/collections/functional/control/ImplicitReturn/standaloneret.asl b/tests/aslts/src/runtime/collections/functional/control/ImplicitReturn/standaloneret.asl
new file mode 100644
index 000000000..a8172c44f
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/control/ImplicitReturn/standaloneret.asl
@@ -0,0 +1,375 @@
+/*
+ * 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.
+ */
+
+/*
+ * Test of Impllicit Return
+ *
+ * The last operation of Methods is a standalone Return.
+ */
+
+Name(z137, 137)
+
+Method(mf6f)
+{
+ Name(fl00, 0)
+ Name(i000, 0xabcd0000)
+ Name(i001, 0xabcd0001)
+
+ Method(m000)
+ {
+ Store(0xabcd0002, i001)
+ if (fl00) {
+ Store(0xdddd0000, i001)
+ Return (0)
+ }
+ Return
+ }
+
+ Method(m001)
+ {
+ if (fl00) {
+ Store(0xdddd0001, i001)
+ Return (0)
+ }
+ Store(0xabcd0003, i001)
+ Return
+ }
+
+ Method(m002, 1)
+ {
+ if (fl00) {
+ Store(0xdddd0002, i001)
+ Return (0)
+ }
+ if (fl00) {
+ Return (0)
+ }
+ if (arg0) {
+ Store(0xabcd0004, i001)
+ Return
+ }
+ }
+
+ Method(m003, 1)
+ {
+ if (fl00) {
+ Store(0xdddd0003, i001)
+ Return (0)
+ }
+ if (fl00) {
+ Return (0)
+ }
+ if (arg0) {
+ Store(0xabcd0005, i001)
+ } else {
+ Store(0xabcd0006, i001)
+ }
+ Return
+ }
+
+ Method(m004, 1)
+ {
+ if (fl00) {
+ Return (0)
+ }
+
+ switch (arg0) {
+ case (0) {
+ Store(0xabcd0007, i001)
+ }
+ case (0x12345678) {
+ Store(0xabcd0008, i001)
+ }
+ default {
+ Store(0xabcd0009, i001)
+ }
+ }
+ Return
+ }
+
+ Method(m005)
+ {
+ if (fl00) {
+ Return (0)
+ }
+
+ While (1) {
+ Store(0xabcd000a, i001)
+ Break
+ }
+ Return
+ }
+
+ Method(m006)
+ {
+ if (fl00) {
+ Return (0)
+ }
+
+ Store(0xabcd000b, i001)
+ While (1) {
+ Break
+ }
+ Return
+ }
+
+ Method(m007)
+ {
+ Name(i000, 0)
+ Name(num, 0)
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+
+ Store(10, num)
+
+ Store(num, lpN0)
+ Store(0, lpC0)
+
+ if (fl00) {
+ Return (0)
+ }
+
+ While (lpN0) {
+ if (i000) {
+ Break
+ }
+ Decrement(lpN0)
+ Increment(lpC0)
+ Store(1, i000)
+ Store(0xabcd000c, i001)
+ Continue
+ }
+ Return
+ }
+
+ Method(m008)
+ {
+ Method(m000)
+ {
+ Store(0xabcd000d, i001)
+ }
+
+ if (fl00) {
+ Return (0)
+ }
+
+ m000()
+
+ Return
+ }
+
+
+ // m000
+
+ Store(0xabcd9000, i000)
+
+ CH03("", z137, 0x200, 0, 0)
+
+ Store(m000(), i000)
+
+ if (SLCK) {
+ CH03("", z137, 0x201, 0, 0)
+ if (LNotEqual(i000, 0)) {
+ err("", z137, 0x202, 0, 0, i000, 0)
+ }
+ } else {
+ CH03("", z137, 0x203, 0, 0)
+ }
+
+ // m001
+
+ Store(0xabcd9001, i000)
+
+ CH03("", z137, 0x204, 0, 0)
+
+ Store(m001(), i000)
+
+ if (SLCK) {
+ CH03("", z137, 0x205, 0, 0)
+ if (LNotEqual(i000, 0)) {
+ err("", z137, 0x206, 0, 0, i000, 0)
+ }
+ } else {
+ CH03("", z137, 0x207, 0, 0)
+ }
+
+ // m002
+
+ Store(0xabcd9002, i000)
+
+ CH03("", z137, 0x208, 0, 0)
+
+ Store(m002(1), i000)
+
+ if (SLCK) {
+ CH03("", z137, 0x209, 0, 0)
+ if (LNotEqual(i000, 0)) {
+ err("", z137, 0x20a, 0, 0, i000, 0)
+ }
+ } else {
+ CH03("", z137, 0x20b, 0, 0)
+ }
+
+ // m003
+
+ Store(0xabcd9003, i000)
+
+ CH03("", z137, 0x20c, 0, 0)
+
+ Store(m003(0), i000)
+
+ if (SLCK) {
+ CH03("", z137, 0x20d, 0, 0)
+ if (LNotEqual(i000, 0)) {
+ err("", z137, 0x20e, 0, 0, i000, 0)
+ }
+ } else {
+ CH03("", z137, 0x20f, 0, 0)
+ }
+
+ // m004(0)
+
+ Store(0xabcd9004, i000)
+
+ CH03("", z137, 0x210, 0, 0)
+
+ Store(m004(0), i000)
+
+ if (SLCK) {
+ CH03("", z137, 0x211, 0, 0)
+ if (LNotEqual(i000, 0)) {
+ err("", z137, 0x212, 0, 0, i000, 0)
+ }
+ } else {
+ CH03("", z137, 0x213, 0, 0)
+ }
+
+ // m004(0x12345678)
+
+ Store(0xabcd9005, i000)
+
+ CH03("", z137, 0x214, 0, 0)
+
+ Store(m004(0x12345678), i000)
+
+ if (SLCK) {
+ CH03("", z137, 0x215, 0, 0)
+ if (LNotEqual(i000, 0)) {
+ err("", z137, 0x216, 0, 0, i000, 0)
+ }
+ } else {
+ CH03("", z137, 0x217, 0, 0)
+ }
+
+ // m004(Default)
+
+ Store(0xabcd9006, i000)
+
+ CH03("", z137, 0x218, 0, 0)
+
+ Store(m004(1111), i000)
+
+ if (SLCK) {
+ CH03("", z137, 0x219, 0, 0)
+ if (LNotEqual(i000, 0)) {
+ err("", z137, 0x21a, 0, 0, i000, 0)
+ }
+ } else {
+ CH03("", z137, 0x21b, 0, 0)
+ }
+
+ // m005
+
+ Store(0xabcd9007, i000)
+
+ CH03("", z137, 0x21c, 0, 0)
+
+ Store(m005(), i000)
+
+ if (SLCK) {
+ CH03("", z137, 0x21d, 0, 0)
+ if (LNotEqual(i000, 0)) {
+ err("", z137, 0x21e, 0, 0, i000, 0)
+ }
+ } else {
+ CH03("", z137, 0x21f, 0, 0)
+ }
+
+ // m006
+
+ Store(0xabcd9008, i000)
+
+ CH03("", z137, 0x220, 0, 0)
+
+ Store(m006(), i000)
+
+ if (SLCK) {
+ CH03("", z137, 0x221, 0, 0)
+ if (LNotEqual(i000, 0)) {
+ err("", z137, 0x222, 0, 0, i000, 0)
+ }
+ } else {
+ CH03("", z137, 0x223, 0, 0)
+ }
+
+ // m007
+
+ Store(0xabcd9009, i000)
+
+ CH03("", z137, 0x224, 0, 0)
+
+ Store(m007(), i000)
+
+ if (SLCK) {
+ CH03("", z137, 0x225, 0, 0)
+ if (LNotEqual(i000, 0)) {
+ err("", z137, 0x226, 0, 0, i000, 0)
+ }
+ } else {
+ CH03("", z137, 0x227, 0, 0)
+ }
+
+ // m008
+
+ Store(0xabcd900a, i000)
+
+ CH03("", z137, 0x228, 0, 0)
+
+ Store(m008(), i000)
+
+ if (SLCK) {
+ CH03("", z137, 0x229, 0, 0)
+ if (LNotEqual(i000, 0)) {
+ err("", z137, 0x22a, 0, 0, i000, 0)
+ }
+ } else {
+ CH03("", z137, 0x22b, 0, 0)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/functional/control/ImplicitReturn/store.asl b/tests/aslts/src/runtime/collections/functional/control/ImplicitReturn/store.asl
new file mode 100644
index 000000000..1d3cbb9d8
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/control/ImplicitReturn/store.asl
@@ -0,0 +1,1347 @@
+/*
+ * 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.
+ */
+
+/*
+ * Test of Impllicit Return
+ *
+ * The last operation of Methods is Store.
+ */
+
+Name(z138, 138)
+
+Method(mf6c)
+{
+ Name(fl00, 0)
+ Name(i000, 0xabcd0000)
+ Name(i001, 0xabcd0001)
+
+ Method(m000)
+ {
+ Store(0xabcd0002, i001)
+ if (fl00) {
+ Store(0xdddd0000, i001)
+ Return (0)
+ }
+ }
+
+ Method(m001)
+ {
+ if (fl00) {
+ Store(0xdddd0001, i001)
+ Return (0)
+ }
+ Store(0xabcd0003, i001)
+ }
+
+ Method(m002, 1)
+ {
+ if (fl00) {
+ Store(0xdddd0002, i001)
+ Return (0)
+ }
+ if (fl00) {
+ Return (0)
+ }
+ if (arg0) {
+ Store(0xabcd0004, i001)
+ }
+ }
+
+ Method(m003, 1)
+ {
+ if (fl00) {
+ Store(0xdddd0003, i001)
+ Return (0)
+ }
+ if (fl00) {
+ Return (0)
+ }
+ if (arg0) {
+ Store(0xabcd0005, i001)
+ } else {
+ Store(0xabcd0006, i001)
+ }
+ }
+
+ Method(m004, 1)
+ {
+ if (fl00) {
+ Return (0)
+ }
+
+ switch (arg0) {
+ case (0) {
+ Store(0xabcd0007, i001)
+ }
+ case (0x12345678) {
+ Store(0xabcd0008, i001)
+ }
+ default {
+ Store(0xabcd0009, i001)
+ }
+ }
+ }
+
+ Method(m005)
+ {
+ if (fl00) {
+ Return (0)
+ }
+
+ While (1) {
+ Store(0xabcd000a, i001)
+ Break
+ }
+ }
+
+ Method(m006)
+ {
+ if (fl00) {
+ Return (0)
+ }
+
+ Store(0xabcd000b, i001)
+ While (1) {
+ Break
+ }
+ }
+
+ Method(m007)
+ {
+ Name(i000, 0)
+ Name(num, 0)
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+
+ Store(10, num)
+
+ Store(num, lpN0)
+ Store(0, lpC0)
+
+ if (fl00) {
+ Return (0)
+ }
+
+ While (lpN0) {
+ if (i000) {
+ Break
+ }
+ Decrement(lpN0)
+ Increment(lpC0)
+ Store(1, i000)
+ Store(0xabcd000c, i001)
+ Continue
+ }
+ }
+
+ Method(m008)
+ {
+ Method(m000)
+ {
+ Store(0xabcd000d, i001)
+ }
+
+ if (fl00) {
+ Return (0)
+ }
+
+ m000()
+ }
+
+
+ // m000
+
+ Store(0xabcd9000, i000)
+
+ CH03("", z138, 0x000, 0, 0)
+
+ Store(m000(), i000)
+
+ if (SLCK) {
+ CH03("", z138, 0x001, 0, 0)
+ if (y901) {
+ Store(0, Local0)
+ } else {
+ Store(0xabcd0002, Local0)
+ }
+ if (LNotEqual(i000, Local0)) {
+ err("", z138, 0x002, 0, 0, i000, Local0)
+ }
+ } else {
+ CH04("", 0, 0xff, z138, 0x003, 0, 0)
+ }
+
+ // m001
+
+ Store(0xabcd9001, i000)
+
+ CH03("", z138, 0x004, 0, 0)
+
+ Store(m001(), i000)
+
+ if (SLCK) {
+ CH03("", z138, 0x005, 0, 0)
+ if (LNotEqual(i000, 0xabcd0003)) {
+ err("", z138, 0x006, 0, 0, i000, 0xabcd0003)
+ }
+ } else {
+ CH04("", 0, 0xff, z138, 0x007, 0, 0)
+ }
+
+ // m002
+
+ Store(0xabcd9002, i000)
+
+ CH03("", z138, 0x008, 0, 0)
+
+ Store(m002(1), i000)
+
+ if (SLCK) {
+ CH03("", z138, 0x009, 0, 0)
+ if (LNotEqual(i000, 0xabcd0004)) {
+ err("", z138, 0x00a, 0, 0, i000, 0xabcd0004)
+ }
+ } else {
+ CH04("", 0, 0xff, z138, 0x00b, 0, 0)
+ }
+
+ // m003
+
+ Store(0xabcd9003, i000)
+
+ CH03("", z138, 0x00c, 0, 0)
+
+ Store(m003(0), i000)
+
+ if (SLCK) {
+ CH03("", z138, 0x00d, 0, 0)
+ if (LNotEqual(i000, 0xabcd0006)) {
+ err("", z138, 0x00e, 0, 0, i000, 0xabcd0006)
+ }
+ } else {
+ CH04("", 0, 0xff, z138, 0x00f, 0, 0)
+ }
+
+ // m004(0)
+
+ Store(0xabcd9004, i000)
+
+ CH03("", z138, 0x010, 0, 0)
+
+ Store(m004(0), i000)
+
+ if (SLCK) {
+ CH03("", z138, 0x011, 0, 0)
+ if (LNotEqual(i000, 0xabcd0007)) {
+ err("", z138, 0x012, 0, 0, i000, 0xabcd0007)
+ }
+ } else {
+ CH04("", 0, 0xff, z138, 0x013, 0, 0)
+ }
+
+ // m004(0x12345678)
+
+ Store(0xabcd9005, i000)
+
+ CH03("", z138, 0x014, 0, 0)
+
+ Store(m004(0x12345678), i000)
+
+ if (SLCK) {
+ CH03("", z138, 0x015, 0, 0)
+ if (LNotEqual(i000, 0xabcd0008)) {
+ err("", z138, 0x016, 0, 0, i000, 0xabcd0008)
+ }
+ } else {
+ CH04("", 0, 0xff, z138, 0x017, 0, 0)
+ }
+
+ // m004(Default)
+
+ Store(0xabcd9006, i000)
+
+ CH03("", z138, 0x018, 0, 0)
+
+ Store(m004(1111), i000)
+
+ if (SLCK) {
+ CH03("", z138, 0x019, 0, 0)
+ if (LNotEqual(i000, 0xabcd0009)) {
+ err("", z138, 0x01a, 0, 0, i000, 0xabcd0009)
+ }
+ } else {
+ CH04("", 0, 0xff, z138, 0x01b, 0, 0)
+ }
+
+ // m005
+
+ Store(0xabcd9007, i000)
+
+ CH03("", z138, 0x01c, 0, 0)
+
+ Store(m005(), i000)
+
+ if (SLCK) {
+ CH03("", z138, 0x01d, 0, 0)
+ if (LNotEqual(i000, 0xabcd000a)) {
+ err("", z138, 0x01e, 0, 0, i000, 0xabcd000a)
+ }
+ } else {
+ CH04("", 0, 0xff, z138, 0x01f, 0, 0)
+ }
+
+ // m006
+
+ Store(0xabcd9008, i000)
+
+ CH03("", z138, 0x020, 0, 0)
+
+ Store(m006(), i000)
+
+ if (SLCK) {
+ CH03("", z138, 0x021, 0, 0)
+ if (y901) {
+ Store(1, Local0)
+ } else {
+ Store(0xabcd000b, Local0)
+ }
+ if (LNotEqual(i000, Local0)) {
+ err("", z138, 0x022, 0, 0, i000, Local0)
+ }
+ } else {
+ CH04("", 0, 0xff, z138, 0x023, 0, 0)
+ }
+
+ // m007
+
+ Store(0xabcd9009, i000)
+
+ CH03("", z138, 0x024, 0, 0)
+
+ Store(m007(), i000)
+
+ if (SLCK) {
+ CH03("", z138, 0x025, 0, 0)
+ if (y901) {
+ Store(1, Local0)
+ } else {
+ Store(0xabcd000c, Local0)
+ }
+ if (LNotEqual(i000, Local0)) {
+ err("", z138, 0x026, 0, 0, i000, Local0)
+ }
+ } else {
+ CH04("", 0, 0xff, z138, 0x027, 0, 0)
+ }
+
+ // m008
+
+ Store(0xabcd900a, i000)
+
+ CH03("", z138, 0x028, 0, 0)
+
+ Store(m008(), i000)
+
+ if (SLCK) {
+ CH03("", z138, 0x029, 0, 0)
+ if (LNotEqual(i000, 0xabcd000d)) {
+ err("", z138, 0x02a, 0, 0, i000, 0xabcd000d)
+ }
+ } else {
+ CH04("", 0, 0xff, z138, 0x02b, 0, 0)
+ }
+}
+
+Method(mf6e)
+{
+ Name(fl00, 0)
+ Name(i000, 0xaaaa0000)
+ Name(i001, 0xaaaa0001)
+ Name(i002, 0xaaaa0002)
+ Name(i003, 0xaaaa0003)
+
+ Method(m000)
+ {
+ if (fl00) {
+ Return (0)
+ }
+ Increment(i002)
+ Add(0xaaaa0003, 0)
+ Subtract(0xaaaa0004, 0)
+ Multiply(0xaaaa0005, 1)
+ Store(0xaaaa0006, i001)
+ }
+
+ Method(m001)
+ {
+ if (fl00) {
+ Return (0)
+ }
+ if (Store(0xaaaa0007, i001)) {
+ Increment(i002)
+ Add(0xaaaa0008, 0)
+ Subtract(0xaaaa0009, 0)
+ Multiply(0xaaaa000a, 1)
+ Store(0xaaaa000d, i001)
+ Decrement(i001)
+ }
+ }
+
+ Method(m002)
+ {
+ if (fl00) {
+ Return (0)
+ }
+ if (Add(0xaaaa000d, 0)) {
+ if (0xaaaa000e) {
+ Increment(i002)
+ Add(0xaaaa000f, 0)
+ Subtract(0xaaaa0010, 0)
+ Multiply(0xaaaa0011, 1)
+ Store(0xaaaa0012, i001)
+ Increment(i001)
+ }}
+ }
+
+ Method(m003)
+ {
+ if (fl00) {
+ Return (0)
+ }
+ while (Subtract(0xaaaa0014, 0)) {
+ Increment(i002)
+ Add(0xaaaa0015, 0)
+ Subtract(0xaaaa0016, 0)
+ Multiply(0xaaaa0017, 1)
+ Store(0xaaaa0018, i001)
+ Multiply(0xaaaa0019, 1)
+ Break
+ }
+ }
+
+ Method(m004)
+ {
+ if (fl00) {
+ Return (0)
+ }
+ switch (Multiply(0xaaaa001a, 1)) {
+ case (0) {
+ Store(0xaaaa001b, i001)
+ }
+ case (0xaaaa001a) {
+ Store(0xaaaa001c, i001)
+ }
+ default {
+ Store(0xaaaa001d, i001)
+ }
+ }
+ }
+
+ // Predicates of If
+
+
+ Method(m006)
+ {
+ if (fl00) {
+ return (0xabcd0000)
+ }
+ }
+
+ Method(m007)
+ {
+ if (0) {
+ return (0xabcd0000)
+ }
+ }
+
+ Method(m008)
+ {
+ if (0) {
+ return (0xabcd0001)
+ }
+ if (0xabcd0000) {
+ }
+ }
+
+ Method(m009)
+ {
+ Name(i000, 0xabcd0000)
+
+ if (0) {
+ return (0xabcd0001)
+ }
+ if (i000) {
+ }
+ }
+
+ Name(i004, 0xabcd0008)
+
+ Method(m00a)
+ {
+ if (0) {
+ return (0xabcd0001)
+ }
+ if (i004) {
+ }
+ }
+
+ Method(m00b)
+ {
+ if (0) {
+ return (0xabcd0005)
+ }
+ if (LEqual(0xabcd0008, i004)) {
+ }
+ }
+
+ Method(m00c)
+ {
+ if (0) {
+ return (0xabcd0005)
+ }
+ if (LEqual(0xabcd0009, i004)) {
+ }
+ }
+
+ // Predicates of While
+
+ Method(m00d)
+ {
+ if (0) {
+ return (0xabcd0005)
+ }
+ While (0xabcd0009) {
+ Break
+ }
+ }
+
+ Method(m00e)
+ {
+ if (0) {
+ return (0xabcd0005)
+ }
+ While (LEqual(0xabcd0008, i004)) {
+ Break
+ }
+ }
+
+ Method(m00f)
+ {
+ if (0) {
+ return (0xabcd0005)
+ }
+ While (LEqual(0xabcd0009, i004)) {
+ Break
+ }
+ }
+
+ Method(m010)
+ {
+ if (0) {
+ return (0xabcd0005)
+ }
+ While (i004) {
+ Break
+ }
+ }
+
+ // Predicates of Switch
+
+ Method(m011)
+ {
+ if (0) {
+ return (0xabcd0005)
+ }
+ Switch (0xabcd0009) {
+ Case (0xabcd0007) {
+ }
+ Case (0xabcd0008) {
+ }
+ }
+ }
+
+ Method(m012)
+ {
+ if (0) {
+ return (0xabcd0005)
+ }
+ Switch (0xabcd0009) {
+ Case (0xabcd0007) {
+ }
+ Case (0xabcd0009) {
+ }
+ Case (0xabcd0008) {
+ }
+ }
+ }
+
+ Name(i006, 0x11220000)
+ Name(i007, 0x33440000)
+
+ Method(m005, 1)
+ {
+ Name(r001, 1)
+ Name(r002, 1)
+ Name(r003, 1)
+ Name(brk0, 0)
+ Name(tmp0, 0)
+
+ if (LEqual(arg0, 1)) {
+ Store(0, r001)
+ }
+ if (LEqual(arg0, 2)) {
+ Store(0, r002)
+ Store(i006, brk0)
+ }
+ if (LEqual(arg0, 3)) {
+ Store(0, r003)
+ Store(i007, brk0)
+ }
+
+ Store(0xdddd0000, i000)
+ CH03("", z138, 0x02c, 0, 0)
+ Store(m000(), i000)
+ if (SLCK) {
+ CH03("", z138, 0x02d, 0, 0)
+ Store(0xaaaa0006, Local0)
+ if (LNotEqual(i000, Local0)) {
+ err("", z138, 0x02e, 0, 0, i000, Local0)
+ }
+ } else {
+ CH04("", 0, 0xff, z138, 0x02f, 0, 0)
+ }
+
+ Store(0xdddd0000, i000)
+ CH03("", z138, 0x030, 0, 0)
+ Store(m001(), i000)
+ if (SLCK) {
+ CH03("", z138, 0x031, 0, 0)
+ Store(0xaaaa000c, Local0)
+ if (LNotEqual(i000, Local0)) {
+ err("", z138, 0x032, 0, 0, i000, Local0)
+ }
+ } else {
+ CH04("", 0, 0xff, z138, 0x033, 0, 0)
+ }
+
+ Store(0xdddd0000, i000)
+ CH03("", z138, 0x034, 0, 0)
+ Store(m002(), i000)
+ if (SLCK) {
+ CH03("", z138, 0x035, 0, 0)
+ Store(0xaaaa0013, Local0)
+ if (LNotEqual(i000, Local0)) {
+ err("", z138, 0x036, 0, 0, i000, Local0)
+ }
+ } else {
+ CH04("", 0, 0xff, z138, 0x037, 0, 0)
+ }
+
+ Store(0xdddd0000, i000)
+ CH03("", z138, 0x038, 0, 0)
+ Store(m003(), i000)
+ if (SLCK) {
+ CH03("", z138, 0x039, 0, 0)
+ Store(0xaaaa0019, Local0)
+ if (LNotEqual(i000, Local0)) {
+ err("", z138, 0x03a, 0, 0, i000, Local0)
+ }
+ } else {
+ CH04("", 0, 0xff, z138, 0x03b, 0, 0)
+ }
+
+
+
+ // Predicates
+
+
+ Store(0xdddd0000, i000)
+ CH03("", z138, 0x03c, 0, 0)
+ Store(m006(), i000)
+ if (LAnd(SLCK, y901)) {
+ CH03("", z138, 0x03d, 0, 0)
+ Store(0, Local0)
+ if (LNotEqual(i000, Local0)) {
+ err("", z138, 0x03e, 0, 0, i000, Local0)
+ }
+ } else {
+ CH04("", 0, 0xff, z138, 0x03f, 0, 0)
+ }
+
+ Store(0xdddd0000, i000)
+ CH03("", z138, 0x040, 0, 0)
+ Store(m007(), i000)
+ if (LAnd(SLCK, y901)) {
+ CH03("", z138, 0x041, 0, 0)
+ Store(0, Local0)
+ if (LNotEqual(i000, Local0)) {
+ err("", z138, 0x042, 0, 0, i000, Local0)
+ }
+ } else {
+ CH04("", 0, 0xff, z138, 0x043, 0, 0)
+ }
+
+ Store(0xdddd0000, i000)
+ CH03("", z138, 0x044, 0, 0)
+ Store(m008(), i000)
+ if (LAnd(SLCK, y901)) {
+ CH03("", z138, 0x045, 0, 0)
+ Store(0xabcd0000, Local0)
+ if (LNotEqual(i000, Local0)) {
+ err("", z138, 0x046, 0, 0, i000, Local0)
+ }
+ } else {
+ CH04("", 0, 0xff, z138, 0x047, 0, 0)
+ }
+
+ Store(0xdddd0000, i000)
+ CH03("", z138, 0x048, 0, 0)
+ Store(m009(), i000)
+ if (LAnd(SLCK, y901)) {
+ CH03("", z138, 0x049, 0, 0)
+ Store(0xabcd0000, Local0)
+ if (LNotEqual(i000, Local0)) {
+ err("", z138, 0x04a, 0, 0, i000, Local0)
+ }
+ } else {
+ CH04("", 0, 0xff, z138, 0x04b, 0, 0)
+ }
+
+ Store(0xdddd0000, i000)
+ CH03("", z138, 0x04c, 0, 0)
+ Store(m00a(), i000)
+ if (LAnd(SLCK, y901)) {
+ CH03("", z138, 0x04d, 0, 0)
+ Store(0xabcd0008, Local0)
+ if (LNotEqual(i000, Local0)) {
+ err("", z138, 0x04e, 0, 0, i000, Local0)
+ }
+ } else {
+ CH04("", 0, 0xff, z138, 0x04f, 0, 0)
+ }
+
+ Store(0, tmp0)
+ if (LAnd(SLCK, LOr(y901, y263))) {
+ Store(1, tmp0)
+ }
+ Store(0xdddd0000, i000)
+ CH03("", z138, 0x050, 0, 0)
+ Store(m00b(), i000)
+ if (tmp0) {
+ CH03("", z138, 0x051, 0, 0)
+ if (y263) {
+ Store(0xabcd0008, Local0)
+ } else {
+ Store(Ones, Local0)
+ }
+ if (LNotEqual(i000, Local0)) {
+ err("", z138, 0x052, 0, 0, i000, Local0)
+ }
+ } else {
+ CH04("", 0, 0xff, z138, 0x053, 0, 0)
+ }
+
+ Store(0, tmp0)
+ if (LAnd(SLCK, LOr(y901, y263))) {
+ Store(1, tmp0)
+ }
+ Store(0xdddd0000, i000)
+ CH03("", z138, 0x054, 0, 0)
+ Store(m00c(), i000)
+ if (tmp0) {
+ CH03("", z138, 0x055, 0, 0)
+ if (y263) {
+ Store(0xabcd0008, Local0)
+ } else {
+ Store(Zero, Local0)
+ }
+ if (LNotEqual(i000, Local0)) {
+ err("", z138, 0x056, 0, 0, i000, Local0)
+ }
+ } else {
+ CH04("", 0, 0xff, z138, 0x057, 0, 0)
+ }
+
+ Store(0xdddd0000, i000)
+ CH03("", z138, 0x058, 0, 0)
+ Store(m00d(), i000)
+ if (LAnd(SLCK, y901)) {
+ CH03("", z138, 0x059, 0, 0)
+ Store(0xabcd0009, Local0)
+ if (LNotEqual(i000, Local0)) {
+ err("", z138, 0x05a, 0, 0, i000, Local0)
+ }
+ } else {
+ CH04("", 0, 0xff, z138, 0x05b, 0, 0)
+ }
+
+ Store(0, tmp0)
+ if (LAnd(SLCK, LOr(y901, y263))) {
+ Store(1, tmp0)
+ }
+ Store(0xdddd0000, i000)
+ CH03("", z138, 0x05c, 0, 0)
+ Store(m00e(), i000)
+ if (tmp0) {
+ CH03("", z138, 0x05d, 0, 0)
+ if (y263) {
+ Store(0xabcd0008, Local0)
+ } else {
+ Store(Ones, Local0)
+ }
+ if (LNotEqual(i000, Local0)) {
+ err("", z138, 0x05e, 0, 0, i000, Local0)
+ }
+ } else {
+ CH04("", 0, 0xff, z138, 0x55f, 0, 0)
+ }
+
+ Store(0, tmp0)
+ if (LAnd(SLCK, LOr(y901, y263))) {
+ Store(1, tmp0)
+ }
+ Store(0xdddd0000, i000)
+ CH03("", z138, 0x060, 0, 0)
+ Store(m00f(), i000)
+ if (tmp0) {
+ CH03("", z138, 0x061, 0, 0)
+ if (y263) {
+ Store(0xabcd0008, Local0)
+ } else {
+ Store(Zero, Local0)
+ }
+ if (LNotEqual(i000, Local0)) {
+ err("", z138, 0x062, 0, 0, i000, Local0)
+ }
+ } else {
+ CH04("", 0, 0xff, z138, 0x063, 0, 0)
+ }
+
+ Store(0xdddd0000, i000)
+ CH03("", z138, 0x064, 0, 0)
+ Store(m010(), i000)
+ if (LAnd(SLCK, y901)) {
+ CH03("", z138, 0x065, 0, 0)
+ Store(0xabcd0008, Local0)
+ if (LNotEqual(i000, Local0)) {
+ err("", z138, 0x066, 0, 0, i000, Local0)
+ }
+ } else {
+ CH04("", 0, 0xff, z138, 0x067, 0, 0)
+ }
+
+ if (y901) {
+
+ Store(0xdddd0000, i000)
+ CH03("", z138, 0x068, 0, 0)
+ Store(m011(), i000)
+ if (LAnd(SLCK, y901)) {
+ CH03("", z138, 0x069, 0, 0)
+ Store(Zero, Local0)
+ if (LNotEqual(i000, Local0)) {
+ err("", z138, 0x06a, 0, 0, i000, Local0)
+ }
+ } else {
+ CH04("", 0, 0xff, z138, 0x06b, 0, 0)
+ }
+
+ Store(0xdddd0000, i000)
+ CH03("", z138, 0x06c, 0, 0)
+ Store(m012(), i000)
+ if (LAnd(SLCK, y901)) {
+ CH03("", z138, 0x06d, 0, 0)
+ Store(Ones, Local0)
+ if (LNotEqual(i000, Local0)) {
+ err("", z138, 0x06e, 0, 0, i000, Local0)
+ }
+ } else {
+ CH04("", 0, 0xff, z138, 0x06f, 0, 0)
+ }
+ } /* if (y901) */
+
+ // Should be the last
+
+ Store(0xdddd0000, i000)
+ CH03("", z138, 0x070, 0, 0)
+ Store(m004(), i000)
+ if (SLCK) {
+ CH03("", z138, 0x071, 0, 0)
+ Store(0xaaaa001c, Local0)
+ if (LNotEqual(i000, Local0)) {
+ err("", z138, 0x072, 0, 0, i000, Local0)
+ }
+ } else {
+ CH04("", 0, 0xff, z138, 0x073, 0, 0)
+ }
+
+
+
+ if (r001) {
+
+ while (0xabcd0000) {
+ m000()
+ m001()
+ m002()
+ m003()
+ m004()
+ if (0xabcd0001) {
+ while (0xabcd0002) {
+ if (0xabcd0003) {
+ while (0xabcd0004) {
+ if (0xabcd0005) {
+ while (0xabcd0006) {
+ if (0xabcd0007) {
+
+ Store(0xdddd0000, i000)
+ CH03("", z138, 0x040, 0, 0)
+ Store(m000(), i000)
+
+ if (r002) {
+
+ if (SLCK) {
+ CH03("", z138, 0x041, 0, 0)
+ if (LNotEqual(i000, 0xaaaa0006)) {
+ err("", z138, 0x042, 0, 0, i000, 0xaaaa0006)
+ }
+ } else {
+ CH04("", 0, 0xff, z138, 0x043, 0, 0)
+ }
+
+ Store(0xdddd0000, i000)
+ CH03("", z138, 0x044, 0, 0)
+ Store(m001(), i000)
+ if (SLCK) {
+ CH03("", z138, 0x045, 0, 0)
+ if (LNotEqual(i000, 0xaaaa000c)) {
+ err("", z138, 0x046, 0, 0, i000, 0xaaaa000c)
+ }
+ } else {
+ CH04("", 0, 0xff, z138, 0x047, 0, 0)
+ }
+
+ Store(0xdddd0123, i000)
+
+ if (r003) {
+
+ CH03("", z138, 0x048, 0, 0)
+ Store(m002(), i000)
+ if (SLCK) {
+ CH03("", z138, 0x049, 0, 0)
+ if (LNotEqual(i000, 0xaaaa0013)) {
+ err("", z138, 0x04a, 0, 0, i000, 0xaaaa0013)
+ }
+ } else {
+ CH04("", 0, 0xff, z138, 0x04b, 0, 0)
+ }
+
+ Store(0xdddd0000, i000)
+ CH03("", z138, 0x04c, 0, 0)
+ Store(m003(), i000)
+ if (SLCK) {
+ CH03("", z138, 0x04d, 0, 0)
+ if (LNotEqual(i000, 0xaaaa0019)) {
+ err("", z138, 0x04e, 0, 0, i000, 0xaaaa0019)
+ }
+ } else {
+ CH04("", 0, 0xff, z138, 0x04f, 0, 0)
+ }
+
+ Store(0xdddd0000, i000)
+ CH03("", z138, 0x050, 0, 0)
+ Store(m004(), i000)
+ if (SLCK) {
+ CH03("", z138, 0x051, 0, 0)
+ if (LNotEqual(i000, 0xaaaa001c)) {
+ err("", z138, 0x052, 0, 0, i000, 0xaaaa001c)
+ }
+ } else {
+ CH04("", 0, 0xff, z138, 0x053, 0, 0)
+ }
+
+ while (0xabcd0008) {
+ if (0xabcd0009) {
+ while (0xabcd000a) {
+ if (0xabcd000b) {
+ while (0xabcd000c) {
+ if (0xabcd000d) {
+ while (0xabcd000e) {
+ if (0xabcd000f) {
+
+ if (0) {
+ Store("Impossible 0", Debug)
+ } else {
+ if (0xabcd0010) {
+ return (0xabcd0030)
+ }
+ }
+ }}}}
+ m000()
+ m001()
+ m002()
+ m003()
+ m004()
+ }}}}
+ m000()
+ m001()
+ m002()
+ m003()
+ m004()
+ } else {
+ Break
+ } /* r003 */
+ } else {
+ Break
+ } /* r002 */
+ }
+ if (brk0) {
+ Break
+ }
+ }}
+ if (brk0) {
+ Break
+ }
+ }}
+ if (brk0) {
+ Break
+ }
+ }}
+ if (brk0) {
+ Break
+ }
+ }
+ } /* if (r001) */
+ }
+
+ // 0000
+
+ Store(0xdddd0000, i003)
+ CH03("", z138, 0x054, 0, 0)
+ Store(m005(0), i003)
+ if (SLCK) {
+ CH03("", z138, 0x055, 0, 0)
+ if (LNotEqual(i003, 0xabcd0030)) {
+ err("", z138, 0x056, 0, 0, i003, 0xabcd0030)
+ }
+ } else {
+ CH03("", z138, 0x057, 0, 0)
+ }
+
+ // r001
+
+ Store(0xdddd0000, i003)
+ CH03("", z138, 0x058, 0, 0)
+ Store(m005(1), i003)
+ if (SLCK) {
+ CH03("", z138, 0x059, 0, 0)
+ if (y901) {
+ Store(0, Local0)
+ } else {
+ Store(Ones, Local0)
+ }
+ if (LNotEqual(i003, Local0)) {
+ err("", z138, 0x05a, 0, 0, i003, Local0)
+ }
+ } else {
+ CH04("", 0, 0xff, z138, 0x05b, 0, 0)
+ }
+
+ // r002
+
+ Store(0xdddd0000, i003)
+ CH03("", z138, 0x05c, 0, 0)
+ Store(m005(2), i003)
+ if (SLCK) {
+ CH03("", z138, 0x05d, 0, 0)
+ if (y901) {
+ Store(i006, Local0)
+ } else {
+ Store(0xaaaa0006, Local0)
+ }
+ if (LNotEqual(i003, Local0)) {
+ err("", z138, 0x05e, 0, 0, i003, Local0)
+ }
+ } else {
+ CH04("", 0, 0xff, z138, 0x05f, 0, 0)
+ }
+
+ // r003
+
+ Store(0xdddd0000, i003)
+ CH03("", z138, 0x060, 0, 0)
+ Store(m005(3), i003)
+ if (SLCK) {
+ CH03("", z138, 0x061, 0, 0)
+ if (y901) {
+ Store(i007, Local0)
+ } else {
+ Store(0xdddd0123, Local0)
+ }
+ if (LNotEqual(i003, Local0)) {
+ err("", z138, 0x062, 0, 0, i003, Local0)
+ }
+ } else {
+ CH04("", 0, 0xff, z138, 0x063, 0, 0)
+ }
+}
+
+// Reproduces specific implicit return conditions
+Method(mff1)
+{
+ Name(fl00, 0)
+ Name(i000, 0)
+ Name(i001, 0)
+ Name(i002, 0)
+ Name(i003, 0)
+ Name(i004, 0)
+ Name(i005, 0)
+ Name(i006, 0)
+ Name(i007, 0)
+ Name(i008, 0)
+
+ Method (m000, 1)
+ {
+ if (fl00) {
+ Return ("m000")
+ }
+ Store (Arg0, i000)
+ m001 (Arg0)
+ }
+
+ Method (m001, 1)
+ {
+ Store (Arg0, i001)
+ }
+
+ Method(m002)
+ {
+ if (fl00) {
+ Return ("m002")
+ }
+ Or (0xf2, 0x01, Local0)
+ m000 (Local0)
+ }
+
+ // Case to call AcpiDsDoImplicitReturn with AddReference == 1 and
+ // WalkState->ImplicitReturnObj == NULL
+
+ Method (m003)
+ {
+ Store(0xfabec, Local0)
+ }
+
+ Method(m004)
+ {
+ if (fl00) {
+ Return ("m004")
+ }
+ m003()
+ }
+
+ // Case to call AcpiDsDoImplicitReturn with AddReference == 1 and
+ // WalkState->ImplicitReturnObj == NULL, then check which a case of
+ // AcpiDsClearImplicitReturn will be called when a new result appears.
+
+ Method (m005)
+ {
+ Store(0xfabec, Local0)
+ }
+
+ Method(m006)
+ {
+ if (fl00) {
+ Return ("m006")
+ }
+
+ m005()
+
+ Store(0xcedab, Local0)
+ }
+
+ // Case to call AcpiDsDoImplicitReturn with AddReference == 1 and
+ // ReturnDesc != NULL && (WalkState->ImplicitReturnObj == ReturnDesc)
+ // Case when Result is used
+
+ Method (m007)
+ {
+ Store(Store(Store(0xabcd, i002), i003), i004)
+ }
+
+
+ Method(m008)
+ {
+ if (fl00) {
+ Return ("m008")
+ }
+ m007()
+ }
+
+ // Case to call AcpiDsDoImplicitReturn with AddReference == 1 and
+ // ReturnDesc != NULL && (WalkState->ImplicitReturnObj == ReturnDesc)
+ // Case when Result is not used
+
+ Method (m009, 1)
+ {
+ if (arg0) {
+ Store(Store(0x1234, i005), i006)
+ } else {
+ Store(Store(0x5678, i007), i008)
+ }
+ }
+
+ Method(m00a)
+ {
+ if (fl00) {
+ Return ("m00a")
+ }
+ m009(0)
+ m009(1)
+ }
+
+ Method(m00b)
+ {
+ if (fl00) {
+ Return ("m00b")
+ }
+ m009(1)
+ m009(0)
+ }
+
+ // m002
+
+ Store(0, Local0)
+ CH03("", z138, 0x064, 0, 0)
+ Store(m002(), Local0)
+ if (SLCK) {
+ CH03("", z138, 0x065, 0, 0)
+ if (LNotEqual(Local0, 0xf3)) {
+ err("", z138, 0x066, 0, 0, Local0, 0xf3)
+ }
+ } else {
+ CH04("", 0, 0xff, z138, 0x067, 0, 0)
+ }
+
+ // m004
+
+ Store(0, Local0)
+ CH03("", z138, 0x068, 0, 0)
+ Store(m004(), Local0)
+ if (SLCK) {
+ CH03("", z138, 0x069, 0, 0)
+ if (LNotEqual(Local0, 0xfabec)) {
+ err("", z138, 0x06a, 0, 0, Local0, 0xfabec)
+ }
+ } else {
+ CH04("", 0, 0xff, z138, 0x06b, 0, 0)
+ }
+
+ // m006
+
+ Store(0, Local0)
+ CH03("", z138, 0x06e, 0, 0)
+ Store(m006(), Local0)
+ if (SLCK) {
+ CH03("", z138, 0x06f, 0, 0)
+ if (LNotEqual(Local0, 0xcedab)) {
+ err("", z138, 0x070, 0, 0, Local0, 0xcedab)
+ }
+ } else {
+ CH04("", 0, 0xff, z138, 0x071, 0, 0)
+ }
+
+ // m008
+
+ Store(0, Local0)
+ CH03("", z138, 0x072, 0, 0)
+ Store(m008(), Local0)
+ if (SLCK) {
+ CH03("", z138, 0x073, 0, 0)
+ if (LNotEqual(Local0, 0xabcd)) {
+ err("", z138, 0x074, 0, 0, Local0, 0xabcd)
+ }
+ } else {
+ CH04("", 0, 0xff, z138, 0x075, 0, 0)
+ }
+
+ // m00a
+
+ Store(0, Local0)
+ CH03("", z138, 0x076, 0, 0)
+ Store(m00a(), Local0)
+ if (SLCK) {
+ CH03("", z138, 0x077, 0, 0)
+ if (LNotEqual(Local0, 0x1234)) {
+ err("", z138, 0x078, 0, 0, Local0, 0x1234)
+ }
+ } else {
+ CH04("", 0, 0xff, z138, 0x079, 0, 0)
+ }
+
+ // m00b
+
+ Store(0, Local0)
+ CH03("", z138, 0x080, 0, 0)
+ Store(m00b(), Local0)
+ if (SLCK) {
+ CH03("", z138, 0x081, 0, 0)
+ if (LNotEqual(Local0, 0x5678)) {
+ err("", z138, 0x082, 0, 0, Local0, 0x5678)
+ }
+ } else {
+ CH04("", 0, 0xff, z138, 0x083, 0, 0)
+ }
+
+ if (LNotEqual(i000, 0xf3)) {
+ err("", z138, 0x084, 0, 0, i000, 0xf3)
+ }
+ if (LNotEqual(i001, 0xf3)) {
+ err("", z138, 0x085, 0, 0, i001, 0xf3)
+ }
+ if (LNotEqual(i002, 0xabcd)) {
+ err("", z138, 0x086, 0, 0, i002, 0xabcd)
+ }
+ if (LNotEqual(i003, 0xabcd)) {
+ err("", z138, 0x087, 0, 0, i003, 0xabcd)
+ }
+ if (LNotEqual(i004, 0xabcd)) {
+ err("", z138, 0x088, 0, 0, i004, 0xabcd)
+ }
+ if (LNotEqual(i005, 0x1234)) {
+ err("", z138, 0x089, 0, 0, i005, 0x1234)
+ }
+ if (LNotEqual(i006, 0x1234)) {
+ err("", z138, 0x08a, 0, 0, i006, 0x1234)
+ }
+ if (LNotEqual(i007, 0x5678)) {
+ err("", z138, 0x08b, 0, 0, i007, 0x5678)
+ }
+ if (LNotEqual(i008, 0x5678)) {
+ err("", z138, 0x08c, 0, 0, i008, 0x5678)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/functional/control/MAIN.asl b/tests/aslts/src/runtime/collections/functional/control/MAIN.asl
new file mode 100644
index 000000000..ce9404372
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/control/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "control.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../runtime/cntl/DECL.asl")
+ Include("../../../../runtime/collections/functional/control/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../runtime/collections/functional/control/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/functional/control/Makefile b/tests/aslts/src/runtime/collections/functional/control/Makefile
new file mode 100644
index 000000000..2fdb4b3ee
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/control/Makefile
@@ -0,0 +1,7 @@
+# control
+
+AMLMOD= control
+COLL= ../..
+
+TOP= $(COLL)/../../..
+include $(COLL)/Makefile.install
diff --git a/tests/aslts/src/runtime/collections/functional/control/RUN.asl b/tests/aslts/src/runtime/collections/functional/control/RUN.asl
new file mode 100644
index 000000000..30a6abb64
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/control/RUN.asl
@@ -0,0 +1,90 @@
+/*
+ * 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.
+ */
+
+if (STTT("Method execution control", TCLF, 3, W003)) {
+
+// m0ed()
+// m0fd()
+if (1) {
+ SRMT("CTL0")
+ CTL0()
+ SRMT("CTL1")
+ CTL1()
+ SRMT("CTL2")
+ CTL2()
+ SRMT("TIM0")
+ if (F64) {
+ TIM0()
+ } else {
+ /*
+ * Skip the test in 32-bit mode.
+ *
+ * In the 32-bit mode the Timer with the 100
+ * nanosecond period can provide the gradually
+ * increased values during only 7 minutes before
+ * it overflows and starts from the beginning.
+ * We can't use the Timer operator at all because
+ * it can overflow inside any the measured period.
+ */
+ SKIP()
+ }
+ SRMT("SW01")
+ SW01()
+ SRMT("SW02")
+ SW02()
+ SRMT("SW03")
+ SW03()
+ SRMT("SW04")
+ SW04()
+ SRMT("SW05")
+ SW05()
+ SRMT("SW06")
+ SW06()
+ SRMT("SW07")
+ SW07()
+ SRMT("SW08")
+ SW08()
+ SRMT("SW09")
+ SW09()
+ SRMT("SW10")
+ SW10()
+ SRMT("WHL0")
+ WHL0()
+
+ m0ed()
+ m0fd()
+}
+
+}
+FTTT()
+
+Include("../../../../runtime/collections/functional/control/Return/RUN.asl")
+Include("../../../../runtime/collections/functional/control/ImplicitReturn/RUN.asl")
+
diff --git a/tests/aslts/src/runtime/collections/functional/control/Recursion/recursion.asl b/tests/aslts/src/runtime/collections/functional/control/Recursion/recursion.asl
new file mode 100644
index 000000000..b730282ee
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/control/Recursion/recursion.asl
@@ -0,0 +1,2421 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+/*
+ * Check recursive calls to methods
+ *
+ * recursively called methods may have internal NS objects and Switch operations
+ */
+
+Name(z177, 177)
+
+/*
+ * Simplest example of recursive calls of methods
+ * not overburden with the additional checkings.
+ *
+ * When the method m100 is invoked last time (44-th invocation),
+ * we have there the following hierarchy of method calls - 45 method
+ * invocations in progress:
+ *
+ * m100 ...
+ * m200 ... ...
+ * m300 ... ... ... ...
+ * m400 ... ... ... ... ... ... ... ...
+ *
+ * The sequence of invocations is this:
+ *
+ * m100 0,22,44
+ * m200 1,11,21 23,33,43
+ * m300 2, 6,10 12,16,20 24,28,32 34,38,42
+ * m400 3, 4, 5 7, 8, 9 13,14,15 17,18,19 25,26,27 29,30,31 35,36,37 39,40,41
+ */
+Method(m0ef)
+{
+ Name(ts, "m0ef")
+
+ Name(rpt0, 0)
+
+ /*
+ * Total number of calls of the same Recursively Called method (RCM),
+ * the first call is counted there too.
+ */
+ Name(n000, 3)
+
+ Name(cnt0, 0) // how many methods are in progress simultaneously
+ Name(max0, 0) // maximal number of methods being in progress simultaneously
+
+ /*
+ * Open method execution
+ *
+ * arg0 - ID of method (1,2,3...)
+ * arg1 - the message to be reported
+ */
+ Method(m800, 2)
+ {
+ if (rpt0) {
+ Store(arg1, Debug)
+ }
+ Increment(cnt0)
+
+ if (LGreater(cnt0, max0)) {
+ Store(cnt0, max0)
+ }
+ }
+
+ /*
+ * Close method execution
+ *
+ * arg0 - ID of method (1,2,3...)
+ */
+ Method(m801, 1)
+ {
+ Decrement(cnt0)
+ }
+
+ /*
+ * Arguments of methods:
+ * arg0 - 0 - the first call, otherwise - recursive calls
+ */
+
+ Name(c000, 3)
+
+ Method(m100)
+ {
+ Name(c100, 3)
+ Method(m200)
+ {
+ Name(c200, 3)
+ Method(m300)
+ {
+ Name(c300, 3)
+ Method(m400)
+ {
+ m800(4, "m400")
+ Decrement(c300)
+ if (LEqual(c300, 0)) {
+ m300()
+ } else {
+ m400()
+ }
+ m801(4)
+ }
+ m800(3, "m300")
+ Decrement(c200)
+ if (LEqual(c200, 0)) {
+ m200()
+ } else {
+ m400()
+ }
+ m801(3)
+ }
+ m800(2, "m200")
+ Decrement(c100)
+ if (LEqual(c100, 0)) {
+ m100()
+ } else {
+ m300()
+ }
+ m801(2)
+ }
+ m800(1, "m100")
+ Decrement(c000)
+ if (LEqual(c000, 0)) {
+ // m000()
+ } else {
+ m200()
+ }
+ m801(1)
+ }
+
+ CH03(ts, z177, 0x000, 0, 0)
+
+ m100()
+
+ Concatenate("Maximal number of methods being in progress simultaneously ", max0, Debug)
+
+ /* Check Maximal number of methods being in progress simultaneously */
+ if (LNotEqual(max0, 45)) {
+ err(ts, z177, 0x001, 0, 0, max0, 45)
+ }
+
+ /* Overall got out of methods the same number as got into methods */
+ if (LNotEqual(cnt0, 0)) {
+ err(ts, z177, 0x002, 0, 0, cnt0, 0)
+ }
+
+ CH03(ts, z177, 0x003, 0, 0)
+}
+
+/*
+ * The same hierarchy of recursive calls like m0ef
+ * but more checkings added.
+ */
+Method(m0fb)
+{
+ Name(ts, "m0fb")
+
+ Name(rpt0, 0)
+
+ /*
+ * Total number of calls of the same Recursively Called method (RCM),
+ * the first call is counted there too.
+ */
+ Name(n000, 3)
+
+ Name(cnt0, 0) // how many methods are in progress simultaneously
+ Name(max0, 0) // maximal number of methods being in progress simultaneously
+ Name(cnt1, 0) // summary of total indexes
+
+ Name(ix00, 0) // total index of current call
+ Name(ind1, 0) // index of call to m100
+ Name(ind2, 0) // index of call to m200
+ Name(ind3, 0) // index of call to m300
+ Name(ind4, 0) // index of call to m400
+
+ Name(n100, 3) // number of calls to m100
+ Name(n200, 6) // number of calls to m200
+ Name(n300, 12) // number of calls to m300
+ Name(n400, 24) // number of calls to m400
+
+ Name(p100, Package(n100) {}) // Package to keep total indexs of call to m100
+ Name(p200, Package(n200) {}) // Package to keep total indexs of call to m200
+ Name(p300, Package(n300) {}) // Package to keep total indexs of call to m300
+ Name(p400, Package(n400) {}) // Package to keep total indexs of call to m400
+
+ // Benchmarks of indexes
+ Name(b1b0, Buffer(n100) {0,22,44})
+ Name(b2b0, Buffer(n200) {1,11,21, 23,33,43})
+ Name(b3b0, Buffer(n300) {2, 6,10, 12,16,20, 24,28,32, 34,38,42})
+ Name(b4b0, Buffer(n400) {3, 4, 5, 7, 8, 9, 13,14,15, 17,18,19,
+ 25,26,27, 29,30,31, 35,36,37, 39,40,41})
+
+ /*
+ * Open method execution
+ *
+ * arg0 - ID of method (1,2,3...)
+ * arg1 - the message to be reported
+ */
+ Method(m800, 2)
+ {
+ if (rpt0) {
+ Store(arg1, Debug)
+ }
+ Increment(cnt0)
+
+ if (LGreater(cnt0, max0)) {
+ Store(cnt0, max0)
+ }
+
+ Switch (arg0) {
+ Case (1) {
+ Store(ix00, Index(p100, ind1))
+ Increment(ind1)
+ }
+ Case (2) {
+ Store(ix00, Index(p200, ind2))
+ Increment(ind2)
+ }
+ Case (3) {
+ Store(ix00, Index(p300, ind3))
+ Increment(ind3)
+ }
+ Case (4) {
+ Store(ix00, Index(p400, ind4))
+ Increment(ind4)
+ }
+ }
+
+ Increment(ix00) // total index
+ }
+
+ /*
+ * Close method execution
+ *
+ * arg0 - ID of method (1,2,3...)
+ */
+ Method(m801, 1)
+ {
+ Decrement(cnt0)
+ }
+
+ /*
+ * arg0 - ID of method (1,2,3...)
+ * arg1 - number of elements to be compared
+ * arg2 - Package
+ * arg3 - Package with the benchmark values
+ */
+ Method(m802, 4) {
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+
+ Store(arg1, lpN0)
+ Store(0, lpC0)
+
+ While (lpN0) {
+
+ Store(DeRefOf(Index(arg2, lpC0)), Local0)
+ Store(DeRefOf(Index(arg3, lpC0)), Local1)
+ if (LNotEqual(Local0, Local1)) {
+ err(ts, z177, 0x004, 0, 0, Local0, Local1)
+ Store(arg0, Debug)
+ Store(lpC0, Debug)
+ }
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+
+ Switch (arg0) {
+ Case (1) {
+ if (LNotEqual(ind1, n100)) {
+ err(ts, z177, 0x005, 0, 0, ind1, n100)
+ }
+ }
+ Case (2) {
+ if (LNotEqual(ind2, n200)) {
+ err(ts, z177, 0x006, 0, 0, ind2, n200)
+ }
+ }
+ Case (3) {
+ if (LNotEqual(ind3, n300)) {
+ err(ts, z177, 0x007, 0, 0, ind3, n300)
+ }
+ }
+ Case (4) {
+ if (LNotEqual(ind4, n400)) {
+ err(ts, z177, 0x008, 0, 0, ind4, n400)
+ }
+ }
+ }
+ }
+
+ /*
+ * Arguments of methods:
+ * arg0 - 0 - the first call, otherwise - recursive calls
+ */
+
+ Name(c000, 3)
+
+ Method(m100)
+ {
+ Name(ii00, 0)
+
+ Name(c100, 3)
+ Method(m200)
+ {
+ Name(ii00, 0)
+
+ Name(c200, 3)
+ Method(m300)
+ {
+ Name(ii00, 0)
+
+ Name(c300, 3)
+ Method(m400)
+ {
+ Name(ii00, 0)
+
+ Store(ind4, ii00)
+ Store(ix00, Local0)
+ m800(4, "m400")
+ Decrement(c300)
+ Switch (c300) {
+ Case (0) {
+ m300()
+ }
+ Default {
+ m400()
+ }
+ }
+ m801(4)
+ Add(cnt1, Local0, cnt1)
+ Store(DerefOf(Index(p400, ii00)), ii00)
+ if (LNotEqual(ii00, Local0)) {
+ err(ts, z177, 0x009, 0, 0, ii00, Local0)
+ }
+ }
+ Store(ind3, ii00)
+ Store(ix00, Local0)
+ m800(3, "m300")
+ Decrement(c200)
+ Switch (c200) {
+ Case (0) {
+ m200()
+ }
+ Default {
+ m400()
+ }
+ }
+ m801(3)
+ Add(cnt1, Local0, cnt1)
+ Store(DerefOf(Index(p300, ii00)), ii00)
+ if (LNotEqual(ii00, Local0)) {
+ err(ts, z177, 0x00a, 0, 0, ii00, Local0)
+ }
+ }
+ Store(ind2, ii00)
+ Store(ix00, Local0)
+ m800(2, "m200")
+ Decrement(c100)
+ Switch (c100) {
+ Case (0) {
+ m100()
+ }
+ Default {
+ m300()
+ }
+ }
+ m801(2)
+ Add(cnt1, Local0, cnt1)
+ Store(DerefOf(Index(p200, ii00)), ii00)
+ if (LNotEqual(ii00, Local0)) {
+ err(ts, z177, 0x00b, 0, 0, ii00, Local0)
+ }
+ }
+ Store(ind1, ii00)
+ Store(ix00, Local0)
+ m800(1, "m100")
+ Decrement(c000)
+ Switch (c000) {
+ Case (0) {
+ // m000()
+ }
+ Default {
+ m200()
+ }
+ }
+ m801(1)
+ Add(cnt1, Local0, cnt1)
+ Store(DerefOf(Index(p100, ii00)), ii00)
+ if (LNotEqual(ii00, Local0)) {
+ err(ts, z177, 0x00c, 0, 0, ii00, Local0)
+ }
+ }
+
+ CH03(ts, z177, 0x00d, 0, 0)
+
+ m100()
+
+ Concatenate("Maximal number of methods being in progress simultaneously ", max0, Debug)
+
+ /* Check Maximal number of methods being in progress simultaneously */
+ if (LNotEqual(max0, 45)) {
+ err(ts, z177, 0x00e, 0, 0, max0, 45)
+ }
+
+ /* Overall got out of methods the same number as got into methods */
+ if (LNotEqual(cnt0, 0)) {
+ err(ts, z177, 0x00f, 0, 0, cnt0, 0)
+ }
+
+ /* Check indexes */
+ m802(1, n100, p100, b1b0)
+ m802(2, n200, p200, b2b0)
+ m802(3, n300, p300, b3b0)
+ m802(4, n400, p400, b4b0)
+
+
+ /* Check the overall sum of total indexes */
+ if (LNotEqual(cnt1, 0x3DE)) {
+ err(ts, z177, 0x010, 0, 0, cnt1, 0x3DE)
+ }
+
+ CH03(ts, z177, 0x011, 0, 0)
+}
+
+/*
+ * The same hierarchy of recursive calls like m0ef
+ * but deeper.
+ */
+Method(m0ff, 1)
+{
+ Name(ts, "m0ff")
+
+ Name(rpt0, 0)
+
+ Name(i000, 0)
+
+ /*
+ * Total number of calls of the same Recursively Called method (RCM),
+ * the first call is counted there too.
+ */
+ Name(n000, 3)
+
+ Name(cnt0, 0) // how many methods are in progress simultaneously
+ Name(max0, 0) // maximal number of methods being in progress simultaneously
+
+ /*
+ * Open method execution
+ *
+ * arg0 - ID of method (1,2,3...)
+ * arg1 - the message to be reported
+ */
+ Method(m800, 2)
+ {
+ if (rpt0) {
+ Store(arg1, Debug)
+ }
+ Increment(cnt0)
+
+ if (LGreater(cnt0, max0)) {
+ Store(cnt0, max0)
+ }
+ }
+
+ /*
+ * Close method execution
+ *
+ * arg0 - ID of method (1,2,3...)
+ */
+ Method(m801, 1)
+ {
+ Decrement(cnt0)
+ }
+
+ /*
+ * Arguments of methods:
+ * arg0 - 0 - the first call, otherwise - recursive calls
+ */
+
+ Name(c000, 3)
+
+ Method(m100)
+ {
+ Name(c100, 3)
+ Method(m200)
+ {
+ Name(c200, 3)
+ Method(m300)
+ {
+ Name(c300, 3)
+ Method(m400)
+ {
+ Name(c400, 3)
+ Method(m500)
+ {
+ Name(c500, 4)
+ Method(m600)
+ {
+ m800(6, "m600")
+ Decrement(c500)
+ if (LEqual(c500, 0)) {
+ m500()
+ } else {
+ m600()
+ }
+ m801(6)
+ }
+ m800(5, "m500")
+ Decrement(c400)
+ if (LEqual(c400, 0)) {
+ m400()
+ } else {
+ m600()
+ }
+ m801(5)
+ }
+ if (i000) {
+ Store(4, c400)
+ }
+ m800(4, "m400")
+ Decrement(c300)
+ if (LEqual(c300, 0)) {
+ m300()
+ } else {
+ m500()
+ }
+ m801(4)
+ }
+ m800(3, "m300")
+ Decrement(c200)
+ if (LEqual(c200, 0)) {
+ m200()
+ } else {
+ m400()
+ }
+ m801(3)
+ }
+ m800(2, "m200")
+ Decrement(c100)
+ if (LEqual(c100, 0)) {
+ m100()
+ } else {
+ m300()
+ }
+ m801(2)
+ }
+ m800(1, "m100")
+ Decrement(c000)
+ if (LEqual(c000, 0)) {
+ // m000()
+ } else {
+ m200()
+ }
+ m801(1)
+ }
+
+ CH03(ts, z177, 0x012, 0, 0)
+
+ Store(arg0, i000)
+
+ m100()
+
+ if (arg0) {
+ CH04(ts, 0, 84, z177, 0x013, 0, 0) // AE_AML_METHOD_LIMIT
+ } else {
+ Concatenate("Maximal number of methods being in progress simultaneously ", max0, Debug)
+
+ /* Check Maximal number of methods being in progress simultaneously */
+ if (LNotEqual(max0, 221)) {
+ err(ts, z177, 0x014, 0, 0, max0, 221)
+ }
+
+ /* Overall got out of methods the same number as got into methods */
+ if (LNotEqual(cnt0, 0)) {
+ err(ts, z177, 0x015, 0, 0, cnt0, 0)
+ }
+ }
+
+ CH03(ts, z177, 0x016, 0, 0)
+}
+
+/*
+ * Similar to m0fb but
+ * all methods are Serialized (0 level all)
+ * and no internal objects (including Methods) or Switches in those Serialized methods
+ *
+ * Check that Serialized method being invoked recursively on the same thread
+ * works well (no exceptions) in case it has none either internal objects
+ * (including Methods) or Switches.
+ */
+Method(m18a, 1)
+{
+ Name(ts, "m18a")
+
+ Name(rpt0, 0)
+ Name(i000, 0)
+
+ /*
+ * Total number of calls of the same Recursively Called method (RCM),
+ * the first call is counted there too.
+ */
+ Name(n000, 3)
+
+ Name(cnt0, 0) // how many methods are in progress simultaneously
+ Name(max0, 0) // maximal number of methods being in progress simultaneously
+ Name(cnt1, 0) // summary of total indexes
+
+ Name(ix00, 0) // total index of current call
+ Name(ind1, 0) // index of call to m100
+ Name(ind2, 0) // index of call to m200
+ Name(ind3, 0) // index of call to m300
+ Name(ind4, 0) // index of call to m400
+
+ Name(n100, 3) // number of calls to m100
+ Name(n200, 6) // number of calls to m200
+ Name(n300, 12) // number of calls to m300
+ Name(n400, 24) // number of calls to m400
+
+ Name(p100, Package(n100) {}) // Package to keep total indexs of call to m100
+ Name(p200, Package(n200) {}) // Package to keep total indexs of call to m200
+ Name(p300, Package(n300) {}) // Package to keep total indexs of call to m300
+ Name(p400, Package(0x100) {}) // Package to keep total indexs of call to m400
+
+ // Benchmarks of indexes
+ Name(b1b0, Buffer(n100) {0,22,44})
+ Name(b2b0, Buffer(n200) {1,11,21, 23,33,43})
+ Name(b3b0, Buffer(n300) {2, 6,10, 12,16,20, 24,28,32, 34,38,42})
+ Name(b4b0, Buffer(0x100) {3, 4, 5, 7, 8, 9, 13,14,15, 17,18,19,
+ 25,26,27, 29,30,31, 35,36,37, 39,40,41})
+
+ /*
+ * Open method execution
+ *
+ * arg0 - ID of method (1,2,3...)
+ * arg1 - the message to be reported
+ */
+ Method(m800, 2)
+ {
+ if (rpt0) {
+ Store(arg1, Debug)
+ }
+ Increment(cnt0)
+
+ if (LGreater(cnt0, max0)) {
+ Store(cnt0, max0)
+ }
+
+ Switch (arg0) {
+ Case (1) {
+ Store(ix00, Index(p100, ind1))
+ Increment(ind1)
+ }
+ Case (2) {
+ Store(ix00, Index(p200, ind2))
+ Increment(ind2)
+ }
+ Case (3) {
+ Store(ix00, Index(p300, ind3))
+ Increment(ind3)
+ }
+ Case (4) {
+ Store(ix00, Index(p400, ind4))
+ Increment(ind4)
+ }
+ }
+
+ Increment(ix00) // total index
+ }
+
+ /*
+ * Close method execution
+ *
+ * arg0 - ID of method (1,2,3...)
+ */
+ Method(m801, 1)
+ {
+ Decrement(cnt0)
+ }
+
+ /*
+ * arg0 - ID of method (1,2,3...)
+ * arg1 - number of elements to be compared
+ * arg2 - Package
+ * arg3 - Package with the benchmark values
+ */
+ Method(m802, 4) {
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+
+ Store(arg1, lpN0)
+ Store(0, lpC0)
+
+ While (lpN0) {
+
+ Store(DeRefOf(Index(arg2, lpC0)), Local0)
+ Store(DeRefOf(Index(arg3, lpC0)), Local1)
+ if (LNotEqual(Local0, Local1)) {
+ err(ts, z177, 0x017, 0, 0, Local0, Local1)
+ Store(arg0, Debug)
+ Store(lpC0, Debug)
+ }
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+
+ Switch (arg0) {
+ Case (1) {
+ if (LNotEqual(ind1, n100)) {
+ err(ts, z177, 0x018, 0, 0, ind1, n100)
+ }
+ }
+ Case (2) {
+ if (LNotEqual(ind2, n200)) {
+ err(ts, z177, 0x019, 0, 0, ind2, n200)
+ }
+ }
+ Case (3) {
+ if (LNotEqual(ind3, n300)) {
+ err(ts, z177, 0x01a, 0, 0, ind3, n300)
+ }
+ }
+ Case (4) {
+ if (LNotEqual(ind4, n400)) {
+ err(ts, z177, 0x01b, 0, 0, ind4, n400)
+ }
+ }
+ }
+ }
+
+ /*
+ * Arguments of methods:
+ * arg0 - 0 - the first call, otherwise - recursive calls
+ */
+
+ Name(c000, 3)
+ Name(c100, 3)
+ Name(c200, 3)
+ Name(c300, 3)
+
+ /*
+ * None internal objects (including Methods) or Switches in Serialized methods below
+ *
+ * Note: if Serialized method has internal objects (including Methods and Switches)
+ * it could not be invoked recursively by the same thread.
+ */
+ Method(m100, 0, Serialized, 0)
+ {
+ Store(3, c100)
+ Store(ind1, Local1)
+ Store(ix00, Local0)
+ m800(1, "m100")
+ Decrement(c000)
+ if (LEqual(c000, 0)) {
+ // m000()
+ } else {
+ m200()
+ }
+ m801(1)
+ Add(cnt1, Local0, cnt1)
+ Store(DerefOf(Index(p100, Local1)), Local1)
+ if (LNotEqual(Local1, Local0)) {
+ err(ts, z177, 0x01c, 0, 0, Local1, Local0)
+ }
+ }
+ Method(m200, 0, Serialized, 0)
+ {
+ Store(3, c200)
+ Store(ind2, Local1)
+ Store(ix00, Local0)
+ m800(2, "m200")
+ Decrement(c100)
+ if (LEqual(c100, 0)) {
+ m100()
+ } else {
+ m300()
+ }
+ m801(2)
+ Add(cnt1, Local0, cnt1)
+ Store(DerefOf(Index(p200, Local1)), Local1)
+ if (LNotEqual(Local1, Local0)) {
+ err(ts, z177, 0x01d, 0, 0, Local1, Local0)
+ }
+ }
+ Method(m300, 0, Serialized, 0)
+ {
+ if (i000) {
+ Store(31, c300)
+ } else {
+ Store(3, c300)
+ }
+
+ Store(ind3, Local1)
+ Store(ix00, Local0)
+ m800(3, "m300")
+ Decrement(c200)
+ if (LEqual(c200, 0)) {
+ m200()
+ } else {
+ m400()
+ }
+ m801(3)
+ Add(cnt1, Local0, cnt1)
+ Store(DerefOf(Index(p300, Local1)), Local1)
+ if (LNotEqual(Local1, Local0)) {
+ err(ts, z177, 0x01e, 0, 0, Local1, Local0)
+ }
+ }
+ Method(m400, 0, Serialized, 0)
+ {
+ Store(ind4, Local1)
+ Store(ix00, Local0)
+ m800(4, "m400")
+ Decrement(c300)
+ if (LEqual(c300, 0)) {
+ m300()
+ } else {
+ m400()
+ }
+ m801(4)
+ Add(cnt1, Local0, cnt1)
+ Store(DerefOf(Index(p400, Local1)), Local1)
+ if (LNotEqual(Local1, Local0)) {
+ err(ts, z177, 0x01f, 0, 0, Local1, Local0)
+ }
+ }
+
+ CH03(ts, z177, 0x020, 0, 0)
+
+ Store(arg0, i000)
+
+ m100()
+
+ Concatenate("Maximal number of methods being in progress simultaneously ", max0, Debug)
+
+ if (arg0) {
+ CH04(ts, 0, 84, z177, 0x113, 0, 0) // AE_AML_METHOD_LIMIT
+ } else {
+
+ /* Check Maximal number of methods being in progress simultaneously */
+ if (LNotEqual(max0, 45)) {
+ err(ts, z177, 0x021, 0, 0, max0, 45)
+ }
+
+ /* Overall got out of methods the same number as got into methods */
+ if (LNotEqual(cnt0, 0)) {
+ err(ts, z177, 0x022, 0, 0, cnt0, 0)
+ }
+
+ /* Check indexes */
+ m802(1, n100, p100, b1b0)
+ m802(2, n200, p200, b2b0)
+ m802(3, n300, p300, b3b0)
+ m802(4, n400, p400, b4b0)
+
+
+ /* Check the overall sum of total indexes */
+ if (LNotEqual(cnt1, 0x3DE)) {
+ err(ts, z177, 0x023, 0, 0, cnt1, 0x3DE)
+ }
+ }
+ CH03(ts, z177, 0x024, 0, 0)
+}
+
+/*
+ * The same as m18a the level of Serialized methods is non-zero (7 level all)
+ */
+Method(m18b, 1)
+{
+ Name(ts, "m18b")
+ Name(i000, 0)
+
+ Name(rpt0, 0)
+
+ /*
+ * Total number of calls of the same Recursively Called method (RCM),
+ * the first call is counted there too.
+ */
+ Name(n000, 3)
+
+ Name(cnt0, 0) // how many methods are in progress simultaneously
+ Name(max0, 0) // maximal number of methods being in progress simultaneously
+ Name(cnt1, 0) // summary of total indexes
+
+ Name(ix00, 0) // total index of current call
+ Name(ind1, 0) // index of call to m100
+ Name(ind2, 0) // index of call to m200
+ Name(ind3, 0) // index of call to m300
+ Name(ind4, 0) // index of call to m400
+
+ Name(n100, 3) // number of calls to m100
+ Name(n200, 6) // number of calls to m200
+ Name(n300, 12) // number of calls to m300
+ Name(n400, 24) // number of calls to m400
+
+ Name(p100, Package(n100) {}) // Package to keep total indexs of call to m100
+ Name(p200, Package(n200) {}) // Package to keep total indexs of call to m200
+ Name(p300, Package(n300) {}) // Package to keep total indexs of call to m300
+ Name(p400, Package(0x100) {}) // Package to keep total indexs of call to m400
+
+ // Benchmarks of indexes
+ Name(b1b0, Buffer(n100) {0,22,44})
+ Name(b2b0, Buffer(n200) {1,11,21, 23,33,43})
+ Name(b3b0, Buffer(n300) {2, 6,10, 12,16,20, 24,28,32, 34,38,42})
+ Name(b4b0, Buffer(0x100) {3, 4, 5, 7, 8, 9, 13,14,15, 17,18,19,
+ 25,26,27, 29,30,31, 35,36,37, 39,40,41})
+
+ /*
+ * Open method execution
+ *
+ * arg0 - ID of method (1,2,3...)
+ * arg1 - the message to be reported
+ */
+ Method(m800, 2)
+ {
+ if (rpt0) {
+ Store(arg1, Debug)
+ }
+ Increment(cnt0)
+
+ if (LGreater(cnt0, max0)) {
+ Store(cnt0, max0)
+ }
+
+ Switch (arg0) {
+ Case (1) {
+ Store(ix00, Index(p100, ind1))
+ Increment(ind1)
+ }
+ Case (2) {
+ Store(ix00, Index(p200, ind2))
+ Increment(ind2)
+ }
+ Case (3) {
+ Store(ix00, Index(p300, ind3))
+ Increment(ind3)
+ }
+ Case (4) {
+ Store(ix00, Index(p400, ind4))
+ Increment(ind4)
+ }
+ }
+
+ Increment(ix00) // total index
+ }
+
+ /*
+ * Close method execution
+ *
+ * arg0 - ID of method (1,2,3...)
+ */
+ Method(m801, 1)
+ {
+ Decrement(cnt0)
+ }
+
+ /*
+ * arg0 - ID of method (1,2,3...)
+ * arg1 - number of elements to be compared
+ * arg2 - Package
+ * arg3 - Package with the benchmark values
+ */
+ Method(m802, 4) {
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+
+ Store(arg1, lpN0)
+ Store(0, lpC0)
+
+ While (lpN0) {
+
+ Store(DeRefOf(Index(arg2, lpC0)), Local0)
+ Store(DeRefOf(Index(arg3, lpC0)), Local1)
+ if (LNotEqual(Local0, Local1)) {
+ err(ts, z177, 0x025, 0, 0, Local0, Local1)
+ Store(arg0, Debug)
+ Store(lpC0, Debug)
+ }
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+
+ Switch (arg0) {
+ Case (1) {
+ if (LNotEqual(ind1, n100)) {
+ err(ts, z177, 0x026, 0, 0, ind1, n100)
+ }
+ }
+ Case (2) {
+ if (LNotEqual(ind2, n200)) {
+ err(ts, z177, 0x027, 0, 0, ind2, n200)
+ }
+ }
+ Case (3) {
+ if (LNotEqual(ind3, n300)) {
+ err(ts, z177, 0x028, 0, 0, ind3, n300)
+ }
+ }
+ Case (4) {
+ if (LNotEqual(ind4, n400)) {
+ err(ts, z177, 0x029, 0, 0, ind4, n400)
+ }
+ }
+ }
+ }
+
+ /*
+ * Arguments of methods:
+ * arg0 - 0 - the first call, otherwise - recursive calls
+ */
+
+ Name(c000, 3)
+ Name(c100, 3)
+ Name(c200, 3)
+ Name(c300, 3)
+
+ /*
+ * None internal objects (including Methods) or Switches in Serialized methods below
+ *
+ * Note: if Serialized method has internal objects (including Methods and Switches)
+ * it could not be invoked recursively by the same thread.
+ */
+ Method(m100, 0, Serialized, 7)
+ {
+ Store(3, c100)
+ Store(ind1, Local1)
+ Store(ix00, Local0)
+ m800(1, "m100")
+ Decrement(c000)
+ if (LEqual(c000, 0)) {
+ // m000()
+ } else {
+ m200()
+ }
+ m801(1)
+ Add(cnt1, Local0, cnt1)
+ Store(DerefOf(Index(p100, Local1)), Local1)
+ if (LNotEqual(Local1, Local0)) {
+ err(ts, z177, 0x02a, 0, 0, Local1, Local0)
+ }
+ }
+ Method(m200, 0, Serialized, 7)
+ {
+ Store(3, c200)
+ Store(ind2, Local1)
+ Store(ix00, Local0)
+ m800(2, "m200")
+ Decrement(c100)
+ if (LEqual(c100, 0)) {
+ m100()
+ } else {
+ m300()
+ }
+ m801(2)
+ Add(cnt1, Local0, cnt1)
+ Store(DerefOf(Index(p200, Local1)), Local1)
+ if (LNotEqual(Local1, Local0)) {
+ err(ts, z177, 0x02b, 0, 0, Local1, Local0)
+ }
+ }
+ Method(m300, 0, Serialized, 7)
+ {
+ if (i000) {
+ Store(31, c300)
+ } else {
+ Store(3, c300)
+ }
+
+ Store(ind3, Local1)
+ Store(ix00, Local0)
+ m800(3, "m300")
+ Decrement(c200)
+ if (LEqual(c200, 0)) {
+ m200()
+ } else {
+ m400()
+ }
+ m801(3)
+ Add(cnt1, Local0, cnt1)
+ Store(DerefOf(Index(p300, Local1)), Local1)
+ if (LNotEqual(Local1, Local0)) {
+ err(ts, z177, 0x02c, 0, 0, Local1, Local0)
+ }
+ }
+ Method(m400, 0, Serialized, 7)
+ {
+ Store(ind4, Local1)
+ Store(ix00, Local0)
+ m800(4, "m400")
+ Decrement(c300)
+ if (LEqual(c300, 0)) {
+ m300()
+ } else {
+ m400()
+ }
+ m801(4)
+ Add(cnt1, Local0, cnt1)
+ Store(DerefOf(Index(p400, Local1)), Local1)
+ if (LNotEqual(Local1, Local0)) {
+ err(ts, z177, 0x02d, 0, 0, Local1, Local0)
+ }
+ }
+
+ CH03(ts, z177, 0x02e, 0, 0)
+
+ Store(arg0, i000)
+
+ m100()
+
+ Concatenate("Maximal number of methods being in progress simultaneously ", max0, Debug)
+
+ if (arg0) {
+ CH04(ts, 0, 84, z177, 0x213, 0, 0) // AE_AML_METHOD_LIMIT
+ } else {
+
+ /* Check Maximal number of methods being in progress simultaneously */
+ if (LNotEqual(max0, 45)) {
+ err(ts, z177, 0x02f, 0, 0, max0, 45)
+ }
+
+ /* Overall got out of methods the same number as got into methods */
+ if (LNotEqual(cnt0, 0)) {
+ err(ts, z177, 0x030, 0, 0, cnt0, 0)
+ }
+
+ /* Check indexes */
+ m802(1, n100, p100, b1b0)
+ m802(2, n200, p200, b2b0)
+ m802(3, n300, p300, b3b0)
+ m802(4, n400, p400, b4b0)
+
+
+ /* Check the overall sum of total indexes */
+ if (LNotEqual(cnt1, 0x3DE)) {
+ err(ts, z177, 0x031, 0, 0, cnt1, 0x3DE)
+ }
+ }
+
+ CH03(ts, z177, 0x032, 0, 0)
+}
+
+
+/*
+ * Check that Serialized method being invoked recursively on the same thread
+ * (causes/ doesn't cause)
+ * exception in case it has either internal objects (including Methods) or Switches.
+ */
+
+
+/*
+ * No internal objects in Serialized method (including Methods and Switches),
+ * so no exceptions are expected on recursive calls.
+ */
+Method(m18d)
+{
+ Name(ts, "m18d")
+
+ Method(m000, 1, Serialized, 7)
+ {
+ if (LNot(arg0)) {
+ m000(1)
+ }
+ }
+
+ CH03(ts, z177, 0x033, 0, 0)
+ m000(0)
+ CH03(ts, z177, 0x034, 0, 0)
+}
+
+/*
+ * Serialized method has internal object (Named Integer),
+ * so AE_ALREADY_EXISTS exception is expected on recursive call.
+ */
+Method(m18e)
+{
+ Name(ts, "m18e")
+
+ Method(m000, 1, Serialized, 7)
+ {
+ Name(i000, 0xabcd0000)
+
+ if (LNot(arg0)) {
+ m000(1)
+ }
+ }
+
+ CH03(ts, z177, 0x035, 0, 0)
+ m000(0)
+ if (y902) {
+ CH04(ts, 0, 7, z177, 0x036, 0, 0) // AE_ALREADY_EXISTS
+ } else {
+ CH03(ts, z177, 0x037, 0, 0)
+ }
+}
+
+/*
+ * Serialized method has internal Switch,
+ * so AE_ALREADY_EXISTS exception is expected on recursive call.
+ */
+Method(m18f)
+{
+ Name(ts, "m18f")
+
+ Method(m000, 1, Serialized, 7)
+ {
+ Switch (0) {
+ Case (0) {
+ Store("m18f", Debug)
+ }
+ }
+
+ if (LNot(arg0)) {
+ m000(1)
+ }
+ }
+
+ CH03(ts, z177, 0x038, 0, 0)
+ m000(0)
+ if (y902) {
+ CH04(ts, 0, 7, z177, 0x039, 0, 0) // AE_ALREADY_EXISTS
+ } else {
+ CH03(ts, z177, 0x03a, 0, 0)
+ }
+}
+
+/*
+ * Serialized method has internal declaration of Method,
+ * so AE_ALREADY_EXISTS exception is expected on recursive call.
+ */
+Method(m19a)
+{
+ Name(ts, "m19a")
+
+ Method(m000, 1, Serialized, 7)
+ {
+ Method(m100) {}
+
+ if (LNot(arg0)) {
+ m000(1)
+ }
+ }
+
+ CH03(ts, z177, 0x03b, 0, 0)
+ m000(0)
+ if (y902) {
+ CH04(ts, 0, 7, z177, 0x03c, 0, 0) // AE_ALREADY_EXISTS
+ } else {
+ CH03(ts, z177, 0x03d, 0, 0)
+ }
+}
+
+/*
+ * Serialized method has internal declaration of Device,
+ * so AE_ALREADY_EXISTS exception is expected on recursive call.
+ */
+Method(m19b)
+{
+ Name(ts, "m19b")
+
+ Method(m000, 1, Serialized, 7)
+ {
+ Device(d000) {}
+
+ if (LNot(arg0)) {
+ m000(1)
+ }
+ }
+
+ CH03(ts, z177, 0x03e, 0, 0)
+ m000(0)
+ if (y902) {
+ CH04(ts, 0, 7, z177, 0x03f, 0, 0) // AE_ALREADY_EXISTS
+ } else {
+ CH03(ts, z177, 0x040, 0, 0)
+ }
+}
+
+/*
+ * It is m0ef but all the relevant methods are Serialized.
+ * Exceptions are expected.
+ * Now we have crash there.
+ */
+Method(m19c)
+{
+ Name(ts, "m19c")
+
+ Name(rpt0, 0)
+
+ /*
+ * Total number of calls of the same Recursively Called method (RCM),
+ * the first call is counted there too.
+ */
+ Name(n000, 3)
+
+ Name(cnt0, 0) // how many methods are in progress simultaneously
+ Name(max0, 0) // maximal number of methods being in progress simultaneously
+
+ /*
+ * Open method execution
+ *
+ * arg0 - ID of method (1,2,3...)
+ * arg1 - the message to be reported
+ */
+ Method(m800, 2)
+ {
+ if (rpt0) {
+ Store(arg1, Debug)
+ }
+ Increment(cnt0)
+
+ if (LGreater(cnt0, max0)) {
+ Store(cnt0, max0)
+ }
+ }
+
+ /*
+ * Close method execution
+ *
+ * arg0 - ID of method (1,2,3...)
+ */
+ Method(m801, 1)
+ {
+ Decrement(cnt0)
+ }
+
+ /*
+ * Arguments of methods:
+ * arg0 - 0 - the first call, otherwise - recursive calls
+ */
+
+ Name(c000, 3)
+
+ Method(m100, 0, Serialized, 9)
+ {
+ Name(c100, 3)
+ Method(m200, 0, Serialized, 9)
+ {
+ Name(c200, 3)
+ Method(m300, 0, Serialized, 9)
+ {
+ Name(c300, 3)
+ Method(m400, 0, Serialized, 9)
+ {
+ m800(4, "m400")
+ Decrement(c300)
+ if (LEqual(c300, 0)) {
+ m300()
+ } else {
+ m400()
+ }
+ m801(4)
+ }
+ m800(3, "m300")
+ Decrement(c200)
+ if (LEqual(c200, 0)) {
+ m200()
+ } else {
+ m400()
+ }
+ m801(3)
+ }
+ m800(2, "m200")
+ Decrement(c100)
+ if (LEqual(c100, 0)) {
+ m100()
+ } else {
+ m300()
+ }
+ m801(2)
+ }
+ m800(1, "m100")
+ Decrement(c000)
+ if (LEqual(c000, 0)) {
+ // m000()
+ } else {
+ m200()
+ }
+ m801(1)
+ }
+
+ CH03(ts, z177, 0x041, 0, 0)
+ m100()
+ if (y902) {
+ CH04(ts, 0, 7, z177, 0x042, 0, 0) // AE_ALREADY_EXISTS
+ } else {
+ CH03(ts, z177, 0x043, 0, 0)
+ }
+}
+
+
+/*
+ * Full-path declarations
+ */
+
+
+/*
+ * Non-Serialized method has full-path declaration
+ */
+Method(m19d)
+{
+ Name(ts, "m19d")
+
+ Method(m000, 1)
+ {
+ Name(\i2z0, 0xabcd0000)
+
+ if (LNotEqual(i2z0, 0xabcd0000)) {
+ err(ts, z177, 0x044, 0, 0, i2z0, 0xabcd0000)
+ }
+ if (LNotEqual(\i2z0, 0xabcd0000)) {
+ err(ts, z177, 0x045, 0, 0, \i2z0, 0xabcd0000)
+ }
+
+ Store(0x12345678, i2z0)
+ if (LNotEqual(i2z0, 0x12345678)) {
+ err(ts, z177, 0x046, 0, 0, i2z0, 0x12345678)
+ }
+ if (LNotEqual(\i2z0, 0x12345678)) {
+ err(ts, z177, 0x047, 0, 0, \i2z0, 0x12345678)
+ }
+
+ Store(0x11112222, \i2z0)
+ if (LNotEqual(i2z0, 0x11112222)) {
+ err(ts, z177, 0x048, 0, 0, i2z0, 0x11112222)
+ }
+ if (LNotEqual(\i2z0, 0x11112222)) {
+ err(ts, z177, 0x049, 0, 0, \i2z0, 0x11112222)
+ }
+ }
+ CH03(ts, z177, 0x04a, 0, 0)
+ m000(0)
+ CH03(ts, z177, 0x04b, 0, 0)
+
+ Store(0x11112222, i2z0)
+
+ CH04(ts, 1, 5, z177, 0x04c, 0, 0) // AE_NOT_FOUND
+
+ Store(0x11112222, \i2z0)
+
+ CH04(ts, 1, 5, z177, 0x04d, 0, 0) // AE_NOT_FOUND
+}
+
+/*
+ * Serialized method has full-path declaration
+ */
+Method(m19e)
+{
+ Name(ts, "m19e")
+
+ Method(m000, 1, Serialized, 7)
+ {
+ Name(\i2z1, 0xabcd0000)
+
+ if (LNotEqual(i2z1, 0xabcd0000)) {
+ err(ts, z177, 0x04e, 0, 0, i2z1, 0xabcd0000)
+ }
+ if (LNotEqual(\i2z1, 0xabcd0000)) {
+ err(ts, z177, 0x04f, 0, 0, \i2z1, 0xabcd0000)
+ }
+
+ Store(0x12345678, i2z1)
+ if (LNotEqual(i2z1, 0x12345678)) {
+ err(ts, z177, 0x050, 0, 0, i2z1, 0x12345678)
+ }
+ if (LNotEqual(\i2z1, 0x12345678)) {
+ err(ts, z177, 0x051, 0, 0, \i2z1, 0x12345678)
+ }
+
+ Store(0x22223333, \i2z1)
+ if (LNotEqual(i2z1, 0x22223333)) {
+ err(ts, z177, 0x052, 0, 0, i2z1, 0x22223333)
+ }
+ if (LNotEqual(\i2z1, 0x22223333)) {
+ err(ts, z177, 0x053, 0, 0, \i2z1, 0x22223333)
+ }
+ }
+ CH03(ts, z177, 0x054, 0, 0)
+ m000(0)
+ CH03(ts, z177, 0x055, 0, 0)
+
+ Store(0x11112222, i2z1)
+
+ CH04(ts, 1, 5, z177, 0x056, 0, 0) // AE_NOT_FOUND
+
+ Store(0x11112222, \i2z1)
+
+ CH04(ts, 1, 5, z177, 0x057, 0, 0) // AE_NOT_FOUND
+}
+
+/*
+ * Non-Serialized method has full-path declaration,
+ * so AE_ALREADY_EXISTS exception is expected on recursive call.
+ */
+Method(m19f)
+{
+ Name(ts, "m19f")
+
+ Method(m000, 1)
+ {
+ Name(\i2z2, 0xabcd0002)
+
+ if (LNot(arg0)) {
+ m000(1)
+ }
+ }
+
+ CH03(ts, z177, 0x058, 0, 0)
+ m000(0)
+ CH04(ts, 0, 7, z177, 0x059, 0, 0) // AE_ALREADY_EXISTS
+}
+
+/*
+ * Serialized method has full-path declaration,
+ * so AE_ALREADY_EXISTS exception is expected on recursive call.
+ */
+Method(m1b8)
+{
+ Name(ts, "m1b8")
+
+ Method(m000, 1, Serialized, 7)
+ {
+ Name(\i2z3, 0xabcd0003)
+
+ if (LNot(arg0)) {
+ m000(1)
+ }
+ }
+
+ CH03(ts, z177, 0x05a, 0, 0)
+ m000(0)
+ CH04(ts, 0, 7, z177, 0x05b, 0, 0) // AE_ALREADY_EXISTS
+}
+
+
+/*
+ * Scope declarations
+ */
+
+
+/*
+ * Non-Serialized method has Scope declaration
+ */
+Method(m1b9)
+{
+ Name(ts, "m1b9")
+
+ Method(m000, 1)
+ {
+ Scope(\_SB) { Name(i2z4, 0xabcd0004) }
+ }
+
+ CH03(ts, z177, 0x05c, 0, 0)
+ m000(0)
+ CH03(ts, z177, 0x05d, 0, 0)
+}
+
+/*
+ * Serialized method has Scope declaration,
+ * so AE_ALREADY_EXISTS exception is expected on recursive call.
+ */
+Method(m1ba)
+{
+ Name(ts, "m1ba")
+
+ Method(m000, 1, Serialized, 7)
+ {
+ Scope(\_SB) { Name(i2z5, 0xabcd0005) }
+ }
+
+ CH03(ts, z177, 0x05e, 0, 0)
+ m000(0)
+ CH03(ts, z177, 0x05f, 0, 0)
+}
+
+/*
+ * Non-Serialized method has Scope declaration,
+ * so AE_ALREADY_EXISTS exception is expected on recursive call.
+ */
+Method(m1bb)
+{
+ Name(ts, "m1bb")
+
+ Method(m000, 1)
+ {
+ Scope(\_SB) { Name(i2z6, 0xabcd0006) }
+
+ if (LNot(arg0)) {
+ m000(1)
+ }
+ }
+
+ CH03(ts, z177, 0x060, 0, 0)
+ m000(0)
+ CH04(ts, 0, 7, z177, 0x061, 0, 0) // AE_ALREADY_EXISTS
+}
+
+/*
+ * Serialized method has Scope declaration,
+ * so AE_ALREADY_EXISTS exception is expected on recursive call.
+ */
+Method(m1bc)
+{
+ Name(ts, "m1bc")
+
+ Method(m000, 1, Serialized, 7)
+ {
+ Scope(\_SB) { Name(i2z7, 0xabcd0007) }
+
+ if (LNot(arg0)) {
+ m000(1)
+ }
+ }
+
+ CH03(ts, z177, 0x062, 0, 0)
+ m000(0)
+ CH04(ts, 0, 7, z177, 0x063, 0, 0) // AE_ALREADY_EXISTS
+}
+
+/*
+ * Non-Serialized method declares full-path name on first call,
+ * and allows proper access for the second recursive call too.
+ */
+Method(m1bd)
+{
+ Name(ts, "m1bd")
+
+ Method(m000, 1)
+ {
+ if (LNot(arg0)) {
+
+ Name(\i2z8, 0xabcd0108)
+
+ if (LNotEqual(i2z8, 0xabcd0108)) {
+ err(ts, z177, 0x064, 0, 0, i2z8, 0xabcd0108)
+ }
+ if (LNotEqual(\i2z8, 0xabcd0108)) {
+ err(ts, z177, 0x065, 0, 0, \i2z8, 0xabcd0108)
+ }
+ } else {
+ if (LNotEqual(i2z8, 0x22223333)) {
+ err(ts, z177, 0x066, 0, 0, i2z8, 0x22223333)
+ }
+ if (LNotEqual(\i2z8, 0x22223333)) {
+ err(ts, z177, 0x067, 0, 0, \i2z8, 0x22223333)
+ }
+ }
+
+ Store(0x12345678, i2z8)
+ if (LNotEqual(i2z8, 0x12345678)) {
+ err(ts, z177, 0x068, 0, 0, i2z8, 0x12345678)
+ }
+ if (LNotEqual(\i2z8, 0x12345678)) {
+ err(ts, z177, 0x069, 0, 0, \i2z8, 0x12345678)
+ }
+
+ Store(0x22223333, \i2z8)
+ if (LNotEqual(i2z8, 0x22223333)) {
+ err(ts, z177, 0x06a, 0, 0, i2z8, 0x22223333)
+ }
+ if (LNotEqual(\i2z8, 0x22223333)) {
+ err(ts, z177, 0x06b, 0, 0, \i2z8, 0x22223333)
+ }
+
+ if (LNot(arg0)) {
+ m000(1)
+ }
+
+ if (arg0) {
+ if (LNotEqual(i2z8, 0x22223333)) {
+ err(ts, z177, 0x06c, 0, 0, i2z8, 0x22223333)
+ }
+ if (LNotEqual(\i2z8, 0x22223333)) {
+ err(ts, z177, 0x06d, 0, 0, \i2z8, 0x22223333)
+ }
+ } else {
+ if (LNotEqual(i2z8, 0x66667777)) {
+ err(ts, z177, 0x06e, 0, 0, i2z8, 0x66667777)
+ }
+ if (LNotEqual(\i2z8, 0x66667777)) {
+ err(ts, z177, 0x06f, 0, 0, \i2z8, 0x66667777)
+ }
+ }
+
+ if (arg0) {
+ Store(0x66667777, i2z8)
+ } else {
+ Store(0x44445555, i2z8)
+ }
+ }
+
+ CH03(ts, z177, 0x070, 0, 0)
+ m000(0)
+ CH03(ts, z177, 0x071, 0, 0)
+}
+
+/*
+ * Serialized method declares full-path name on first call,
+ * and allows proper access for the second recursive call too.
+ */
+Method(m1be)
+{
+ Name(ts, "m1be")
+
+ Method(m000, 1, Serialized, 7)
+ {
+ if (LNot(arg0)) {
+
+ Name(\i2z9, 0xabcd0109)
+
+ if (LNotEqual(i2z9, 0xabcd0109)) {
+ err(ts, z177, 0x072, 0, 0, i2z9, 0xabcd0109)
+ }
+ if (LNotEqual(\i2z9, 0xabcd0109)) {
+ err(ts, z177, 0x073, 0, 0, \i2z9, 0xabcd0109)
+ }
+ } else {
+ if (LNotEqual(i2z9, 0x22223333)) {
+ err(ts, z177, 0x074, 0, 0, i2z9, 0x22223333)
+ }
+ if (LNotEqual(\i2z9, 0x22223333)) {
+ err(ts, z177, 0x075, 0, 0, \i2z9, 0x22223333)
+ }
+ }
+
+ Store(0x12345678, i2z9)
+ if (LNotEqual(i2z9, 0x12345678)) {
+ err(ts, z177, 0x076, 0, 0, i2z9, 0x12345678)
+ }
+ if (LNotEqual(\i2z9, 0x12345678)) {
+ err(ts, z177, 0x077, 0, 0, \i2z9, 0x12345678)
+ }
+
+ Store(0x22223333, \i2z9)
+ if (LNotEqual(i2z9, 0x22223333)) {
+ err(ts, z177, 0x078, 0, 0, i2z9, 0x22223333)
+ }
+ if (LNotEqual(\i2z9, 0x22223333)) {
+ err(ts, z177, 0x079, 0, 0, \i2z9, 0x22223333)
+ }
+
+ if (LNot(arg0)) {
+ m000(1)
+ }
+
+ if (arg0) {
+ if (LNotEqual(i2z9, 0x22223333)) {
+ err(ts, z177, 0x07a, 0, 0, i2z9, 0x22223333)
+ }
+ if (LNotEqual(\i2z9, 0x22223333)) {
+ err(ts, z177, 0x07b, 0, 0, \i2z9, 0x22223333)
+ }
+ } else {
+ if (LNotEqual(i2z9, 0x66667777)) {
+ err(ts, z177, 0x07c, 0, 0, i2z9, 0x66667777)
+ }
+ if (LNotEqual(\i2z9, 0x66667777)) {
+ err(ts, z177, 0x07d, 0, 0, \i2z9, 0x66667777)
+ }
+ }
+
+ if (arg0) {
+ Store(0x66667777, i2z9)
+ } else {
+ Store(0x44445555, i2z9)
+ }
+ }
+
+ CH03(ts, z177, 0x07e, 0, 0)
+ m000(0)
+ CH03(ts, z177, 0x07f, 0, 0)
+}
+
+/*
+ * Non-Serialized method provides access to the upper level named object,
+ * for the second recursive call too.
+ */
+Method(m1de)
+{
+ Name(ts, "m1de")
+ Name(i3z0, 0xabcd0000)
+
+ Method(m000, 1)
+ {
+ if (LNot(arg0)) {
+ if (LNotEqual(i3z0, 0xabcd0000)) {
+ err(ts, z177, 0x080, 0, 0, i3z0, 0xabcd0000)
+ }
+ } else {
+ if (LNotEqual(i3z0, 0x12345678)) {
+ err(ts, z177, 0x081, 0, 0, i3z0, 0x12345678)
+ }
+ }
+
+ Store(0x12345678, i3z0)
+ if (LNotEqual(i3z0, 0x12345678)) {
+ err(ts, z177, 0x082, 0, 0, i3z0, 0x12345678)
+ }
+
+ if (LNot(arg0)) {
+ m000(1)
+ }
+
+ if (arg0) {
+ if (LNotEqual(i3z0, 0x12345678)) {
+ err(ts, z177, 0x083, 0, 0, i3z0, 0x12345678)
+ }
+ } else {
+ if (LNotEqual(i3z0, 0x66667777)) {
+ err(ts, z177, 0x084, 0, 0, i3z0, 0x66667777)
+ }
+ }
+
+ if (arg0) {
+ Store(0x66667777, i3z0)
+ } else {
+ Store(0x44445555, i3z0)
+ }
+ }
+
+ CH03(ts, z177, 0x085, 0, 0)
+ m000(0)
+ CH03(ts, z177, 0x086, 0, 0)
+}
+
+/*
+ * Serialized method provides access to the upper level named object,
+ * for the second recursive call too.
+ */
+Method(m1df)
+{
+ Name(ts, "m1df")
+ Name(i3z0, 0xabcd0000)
+
+ Method(m000, 1, Serialized, 7)
+ {
+ if (LNot(arg0)) {
+ if (LNotEqual(i3z0, 0xabcd0000)) {
+ err(ts, z177, 0x087, 0, 0, i3z0, 0xabcd0000)
+ }
+ } else {
+ if (LNotEqual(i3z0, 0x12345678)) {
+ err(ts, z177, 0x088, 0, 0, i3z0, 0x12345678)
+ }
+ }
+
+ Store(0x12345678, i3z0)
+ if (LNotEqual(i3z0, 0x12345678)) {
+ err(ts, z177, 0x089, 0, 0, i3z0, 0x12345678)
+ }
+
+ if (LNot(arg0)) {
+ m000(1)
+ }
+
+ if (arg0) {
+ if (LNotEqual(i3z0, 0x12345678)) {
+ err(ts, z177, 0x08a, 0, 0, i3z0, 0x12345678)
+ }
+ } else {
+ if (LNotEqual(i3z0, 0x66667777)) {
+ err(ts, z177, 0x08b, 0, 0, i3z0, 0x66667777)
+ }
+ }
+
+ if (arg0) {
+ Store(0x66667777, i3z0)
+ } else {
+ Store(0x44445555, i3z0)
+ }
+ }
+
+ CH03(ts, z177, 0x08c, 0, 0)
+ m000(0)
+ CH03(ts, z177, 0x08d, 0, 0)
+}
+
+/*
+ * Non-Serialized method declares full-path name on first call,
+ * and allows proper access for the second recursive call too.
+ */
+Method(m1ee)
+{
+ Name(ts, "m1ee")
+
+ Method(m000, 1)
+ {
+ if (LNot(arg0)) {
+ Name(\_SB.i0q8, 0xabcd0008)
+
+ if (LNotEqual(\_SB.i0q8, 0xabcd0008)) {
+ err(ts, z177, 0x08e, 0, 0, \_SB.i0q8, 0xabcd0008)
+ }
+ } else {
+ if (LNotEqual(\_SB.i0q8, 0x22223333)) {
+ err(ts, z177, 0x08f, 0, 0, \_SB.i0q8, 0x22223333)
+ }
+ }
+ Store(0x22223333, \_SB.i0q8)
+ if (LNotEqual(\_SB.i0q8, 0x22223333)) {
+ err(ts, z177, 0x090, 0, 0, \_SB.i0q8, 0x22223333)
+ }
+
+ if (LNot(arg0)) {
+ m000(1)
+ }
+
+ if (arg0) {
+ if (LNotEqual(\_SB.i0q8, 0x22223333)) {
+ err(ts, z177, 0x091, 0, 0, \_SB.i0q8, 0x22223333)
+ }
+ } else {
+ if (LNotEqual(\_SB.i0q8, 0x66667777)) {
+ err(ts, z177, 0x092, 0, 0, \_SB.i0q8, 0x66667777)
+ }
+ }
+ if (arg0) {
+ Store(0x66667777, i2z8)
+ } else {
+ Store(0x44445555, i2z8)
+ }
+ }
+
+ CH03(ts, z177, 0x093, 0, 0)
+ m000(0)
+ CH03(ts, z177, 0x094, 0, 0)
+}
+
+/*
+ * Serialized method declares full-path name on first call,
+ * and allows proper access for the second recursive call too.
+ */
+Method(m1ef)
+{
+ Name(ts, "m1ef")
+
+ Method(m000, 1, Serialized, 7)
+ {
+ if (LNot(arg0)) {
+
+ Name(\_SB.i0q9, 0xabcd0009)
+
+ if (LNotEqual(\_SB.i0q9, 0xabcd0009)) {
+ err(ts, z177, 0x08e, 0, 0, \_SB.i0q9, 0xabcd0009)
+ }
+ } else {
+ if (LNotEqual(\_SB.i0q9, 0x22223333)) {
+ err(ts, z177, 0x08f, 0, 0, \_SB.i0q9, 0x22223333)
+ }
+ }
+
+ Store(0x22223333, \_SB.i0q9)
+ if (LNotEqual(\_SB.i0q9, 0x22223333)) {
+ err(ts, z177, 0x090, 0, 0, \_SB.i0q9, 0x22223333)
+ }
+
+ if (LNot(arg0)) {
+ m000(1)
+ }
+
+ if (arg0) {
+ if (LNotEqual(\_SB.i0q9, 0x22223333)) {
+ err(ts, z177, 0x091, 0, 0, \_SB.i0q9, 0x22223333)
+ }
+ } else {
+ if (LNotEqual(\_SB.i0q9, 0x66667777)) {
+ err(ts, z177, 0x092, 0, 0, \_SB.i0q9, 0x66667777)
+ }
+ }
+
+ if (arg0) {
+ Store(0x66667777, i2z8)
+ } else {
+ Store(0x44445555, i2z8)
+ }
+ }
+
+ CH03(ts, z177, 0x093, 0, 0)
+ m000(0)
+ CH03(ts, z177, 0x094, 0, 0)
+}
+
+/*
+ * Non-Serialized method declares Scope(\_SB) on first call,
+ * and allows proper access for the second recursive call too.
+ */
+Method(m1bf)
+{
+ Name(ts, "m1bf")
+
+ Method(m000, 1)
+ {
+ if (LNot(arg0)) {
+
+ Scope(\_SB) { Name(i1q8, 0xabcd0008) }
+
+ if (LNotEqual(\_SB.i1q8, 0xabcd0008)) {
+ err(ts, z177, 0x095, 0, 0, \_SB.i1q8, 0xabcd0008)
+ }
+ } else {
+ if (LNotEqual(\_SB.i1q8, 0x22223333)) {
+ err(ts, z177, 0x096, 0, 0, \_SB.i1q8, 0x22223333)
+ }
+ }
+
+ Store(0x22223333, \_SB.i1q8)
+ if (LNotEqual(\_SB.i1q8, 0x22223333)) {
+ err(ts, z177, 0x097, 0, 0, \_SB.i1q8, 0x22223333)
+ }
+
+ if (LNot(arg0)) {
+ m000(1)
+ }
+
+ if (arg0) {
+ if (LNotEqual(\_SB.i1q8, 0x22223333)) {
+ err(ts, z177, 0x098, 0, 0, \_SB.i1q8, 0x22223333)
+ }
+ } else {
+ if (LNotEqual(\_SB.i1q8, 0x66667777)) {
+ err(ts, z177, 0x099, 0, 0, \_SB.i1q8, 0x66667777)
+ }
+ }
+ if (arg0) {
+ Store(0x66667777, i2z8)
+ } else {
+ Store(0x44445555, i2z8)
+ }
+ }
+
+ CH03(ts, z177, 0x09a, 0, 0)
+ m000(0)
+ CH03(ts, z177, 0x09b, 0, 0)
+}
+
+/*
+ * Serialized method declares Scope(\_SB) on first call,
+ * and allows proper access for the second recursive call too.
+ */
+Method(m1dd)
+{
+ Name(ts, "m1dd")
+
+ Method(m000, 1, Serialized, 7)
+ {
+ if (LNot(arg0)) {
+
+ Scope(\_SB) { Name(i1q9, 0xabcd0008) }
+
+ if (LNotEqual(\_SB.i1q9, 0xabcd0008)) {
+ err(ts, z177, 0x09c, 0, 0, \_SB.i1q9, 0xabcd0008)
+ }
+ } else {
+ if (LNotEqual(\_SB.i1q9, 0x22223333)) {
+ err(ts, z177, 0x09d, 0, 0, \_SB.i1q9, 0x22223333)
+ }
+ }
+
+ Store(0x22223333, \_SB.i1q9)
+ if (LNotEqual(\_SB.i1q9, 0x22223333)) {
+ err(ts, z177, 0x09e, 0, 0, \_SB.i1q9, 0x22223333)
+ }
+
+ if (LNot(arg0)) {
+ m000(1)
+ }
+
+ if (arg0) {
+ if (LNotEqual(\_SB.i1q9, 0x22223333)) {
+ err(ts, z177, 0x09f, 0, 0, \_SB.i1q9, 0x22223333)
+ }
+ } else {
+ if (LNotEqual(\_SB.i1q9, 0x66667777)) {
+ err(ts, z177, 0x0a0, 0, 0, \_SB.i1q9, 0x66667777)
+ }
+ }
+ if (arg0) {
+ Store(0x66667777, i2z8)
+ } else {
+ Store(0x44445555, i2z8)
+ }
+ }
+
+ CH03(ts, z177, 0x0a1, 0, 0)
+ m000(0)
+ CH03(ts, z177, 0x0a2, 0, 0)
+}
+
+
+
+/*
+ * Non-Serialized method declares Scope(\) on first call,
+ * and allows proper access for the second recursive call too.
+ */
+Method(m277)
+{
+ Name(ts, "m277")
+
+ Method(m000, 1)
+ {
+ if (LNot(arg0)) {
+
+ Scope(\) { Name(i3z1, 0xabcd0208) }
+
+ if (LNotEqual(i3z1, 0xabcd0208)) {
+ err(ts, z177, 0x064, 0, 0, i3z1, 0xabcd0208)
+ }
+ if (LNotEqual(\i3z1, 0xabcd0208)) {
+ err(ts, z177, 0x065, 0, 0, \i3z1, 0xabcd0208)
+ }
+ } else {
+ if (LNotEqual(i3z1, 0x22223333)) {
+ err(ts, z177, 0x066, 0, 0, i3z1, 0x22223333)
+ }
+ if (LNotEqual(\i3z1, 0x22223333)) {
+ err(ts, z177, 0x067, 0, 0, \i3z1, 0x22223333)
+ }
+ }
+
+ Store(0x12345678, i3z1)
+ if (LNotEqual(i3z1, 0x12345678)) {
+ err(ts, z177, 0x068, 0, 0, i3z1, 0x12345678)
+ }
+ if (LNotEqual(\i3z1, 0x12345678)) {
+ err(ts, z177, 0x069, 0, 0, \i3z1, 0x12345678)
+ }
+
+ Store(0x22223333, \i3z1)
+ if (LNotEqual(i3z1, 0x22223333)) {
+ err(ts, z177, 0x06a, 0, 0, i3z1, 0x22223333)
+ }
+ if (LNotEqual(\i3z1, 0x22223333)) {
+ err(ts, z177, 0x06b, 0, 0, \i3z1, 0x22223333)
+ }
+
+ if (LNot(arg0)) {
+ m000(1)
+ }
+
+ if (arg0) {
+ if (LNotEqual(i3z1, 0x22223333)) {
+ err(ts, z177, 0x06c, 0, 0, i3z1, 0x22223333)
+ }
+ if (LNotEqual(\i3z1, 0x22223333)) {
+ err(ts, z177, 0x06d, 0, 0, \i3z1, 0x22223333)
+ }
+ } else {
+ if (LNotEqual(i3z1, 0x66667777)) {
+ err(ts, z177, 0x06e, 0, 0, i3z1, 0x66667777)
+ }
+ if (LNotEqual(\i3z1, 0x66667777)) {
+ err(ts, z177, 0x06f, 0, 0, \i3z1, 0x66667777)
+ }
+ }
+
+ if (arg0) {
+ Store(0x66667777, i3z1)
+ } else {
+ Store(0x44445555, i3z1)
+ }
+ }
+
+ CH03(ts, z177, 0x070, 0, 0)
+ m000(0)
+ CH03(ts, z177, 0x071, 0, 0)
+}
+
+/*
+ * Serialized method declares Scope(\) on first call,
+ * and allows proper access for the second recursive call too.
+ */
+Method(m27d)
+{
+ Name(ts, "m27d")
+
+ Method(m000, 1, Serialized, 7)
+ {
+ if (LNot(arg0)) {
+
+ Scope(\) { Name(i3z2, 0xabcd0209) }
+
+ if (LNotEqual(i3z2, 0xabcd0209)) {
+ err(ts, z177, 0x072, 0, 0, i3z2, 0xabcd0209)
+ }
+ if (LNotEqual(\i3z2, 0xabcd0209)) {
+ err(ts, z177, 0x073, 0, 0, \i3z2, 0xabcd0209)
+ }
+ } else {
+ if (LNotEqual(i3z2, 0x22223333)) {
+ err(ts, z177, 0x074, 0, 0, i3z2, 0x22223333)
+ }
+ if (LNotEqual(\i3z2, 0x22223333)) {
+ err(ts, z177, 0x075, 0, 0, \i3z2, 0x22223333)
+ }
+ }
+
+ Store(0x12345678, i3z2)
+ if (LNotEqual(i3z2, 0x12345678)) {
+ err(ts, z177, 0x076, 0, 0, i3z2, 0x12345678)
+ }
+ if (LNotEqual(\i3z2, 0x12345678)) {
+ err(ts, z177, 0x077, 0, 0, \i3z2, 0x12345678)
+ }
+
+ Store(0x22223333, \i3z2)
+ if (LNotEqual(i3z2, 0x22223333)) {
+ err(ts, z177, 0x078, 0, 0, i3z2, 0x22223333)
+ }
+ if (LNotEqual(\i3z2, 0x22223333)) {
+ err(ts, z177, 0x079, 0, 0, \i3z2, 0x22223333)
+ }
+
+ if (LNot(arg0)) {
+ m000(1)
+ }
+
+ if (arg0) {
+ if (LNotEqual(i3z2, 0x22223333)) {
+ err(ts, z177, 0x07a, 0, 0, i3z2, 0x22223333)
+ }
+ if (LNotEqual(\i3z2, 0x22223333)) {
+ err(ts, z177, 0x07b, 0, 0, \i3z2, 0x22223333)
+ }
+ } else {
+ if (LNotEqual(i3z2, 0x66667777)) {
+ err(ts, z177, 0x07c, 0, 0, i3z2, 0x66667777)
+ }
+ if (LNotEqual(\i3z2, 0x66667777)) {
+ err(ts, z177, 0x07d, 0, 0, \i3z2, 0x66667777)
+ }
+ }
+
+ if (arg0) {
+ Store(0x66667777, i3z2)
+ } else {
+ Store(0x44445555, i3z2)
+ }
+ }
+
+ CH03(ts, z177, 0x07e, 0, 0)
+ m000(0)
+ CH03(ts, z177, 0x07f, 0, 0)
+}
+
+
+
+
+
+
+Method(m0ed)
+{
+
+/*
+SRMT("m0ff-1")
+m0ff(1)
+return
+
+SRMT("m1ee")
+m1ee()
+
+SRMT("m1ef")
+m1ef()
+
+return
+*/
+
+ SRMT("m0ef")
+ if (y300) {
+ m0ef()
+ } else {
+ BLCK()
+ }
+
+ SRMT("m0fb")
+ if (y300) {
+ m0fb()
+ } else {
+ BLCK()
+ }
+
+ SRMT("m0ff-0")
+ if (y300) {
+ m0ff(0)
+ } else {
+ BLCK()
+ }
+
+ SRMT("m0ff-1")
+ if (LAnd(y300, y200)) {
+ m0ff(1)
+ } else {
+ BLCK()
+ }
+
+ SRMT("m18a-0")
+ m18a(0)
+
+ SRMT("m18a-1")
+ if (LAnd(y300, y200)) {
+ m18a(1)
+ } else {
+ BLCK()
+ }
+
+ SRMT("m18b-0")
+ m18b(0)
+
+ SRMT("m18b-1")
+ if (LAnd(y300, y200)) {
+ m18b(1)
+ } else {
+ BLCK()
+ }
+
+ SRMT("m18d")
+ m18d()
+
+ SRMT("m18e")
+ m18e()
+
+ SRMT("m18f")
+ m18f()
+
+ SRMT("m19a")
+ m19a()
+
+ SRMT("m19b")
+ m19b()
+
+ SRMT("m19c")
+ if (LOr(y301, LNot(y902))) {
+ m19c()
+ } else {
+ BLCK()
+ }
+
+ SRMT("m19d")
+ m19d()
+
+ SRMT("m19e")
+ m19e()
+
+ SRMT("m19f")
+ m19f()
+
+ SRMT("m1b8")
+ m1b8()
+
+ SRMT("m1b9")
+ m1b9()
+
+ SRMT("m1ba")
+ m1ba()
+
+ SRMT("m1bb")
+ m1bb()
+
+ SRMT("m1bc")
+ m1bc()
+
+ SRMT("m1bd")
+ m1bd()
+
+ SRMT("m1be")
+ m1be()
+
+ SRMT("m1de")
+ m1de()
+
+ SRMT("m1df")
+ m1df()
+
+ SRMT("m1ee")
+ m1ee()
+
+ SRMT("m1ef")
+ m1ef()
+
+ SRMT("m1bf")
+ m1bf()
+
+ SRMT("m1dd")
+ m1dd()
+
+ SRMT("m277")
+ if (y200) {
+ m277()
+ } else {
+ BLCK()
+ }
+
+ SRMT("m27d")
+ if (y200) {
+ m27d()
+ } else {
+ BLCK()
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/functional/control/Recursion/stack_overflow.asl b/tests/aslts/src/runtime/collections/functional/control/Recursion/stack_overflow.asl
new file mode 100644
index 000000000..ed2de6792
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/control/Recursion/stack_overflow.asl
@@ -0,0 +1,457 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+/*
+ * Check stack-overflow exception
+ */
+
+Name(z178, 178)
+
+Method(m0fc, 1)
+{
+ Name(ts, "m0fc")
+
+ Name(i000, 0)
+ Name(i001, 0)
+
+ // 0 - 99
+
+ Method(m000) { CH03(ts, z178, 0x000, 0, 0) Add(i000, 0, i000) m001() }
+ Method(m001) { CH03(ts, z178, 0x001, 0, 0) Add(i000, 1, i000) m002() }
+ Method(m002) { CH03(ts, z178, 0x002, 0, 0) Add(i000, 2, i000) m003() }
+ Method(m003) { CH03(ts, z178, 0x003, 0, 0) Add(i000, 3, i000) m004() }
+ Method(m004) { CH03(ts, z178, 0x004, 0, 0) Add(i000, 4, i000) m005() }
+ Method(m005) { CH03(ts, z178, 0x005, 0, 0) Add(i000, 5, i000) m006() }
+ Method(m006) { CH03(ts, z178, 0x006, 0, 0) Add(i000, 6, i000) m007() }
+ Method(m007) { CH03(ts, z178, 0x007, 0, 0) Add(i000, 7, i000) m008() }
+ Method(m008) { CH03(ts, z178, 0x008, 0, 0) Add(i000, 8, i000) m009() }
+ Method(m009) { CH03(ts, z178, 0x009, 0, 0) Add(i000, 9, i000) m010() }
+
+ Method(m010) { CH03(ts, z178, 0x010, 0, 0) Add(i000, 10, i000) m011() }
+ Method(m011) { CH03(ts, z178, 0x011, 0, 0) Add(i000, 11, i000) m012() }
+ Method(m012) { CH03(ts, z178, 0x012, 0, 0) Add(i000, 12, i000) m013() }
+ Method(m013) { CH03(ts, z178, 0x013, 0, 0) Add(i000, 13, i000) m014() }
+ Method(m014) { CH03(ts, z178, 0x014, 0, 0) Add(i000, 14, i000) m015() }
+ Method(m015) { CH03(ts, z178, 0x015, 0, 0) Add(i000, 15, i000) m016() }
+ Method(m016) { CH03(ts, z178, 0x016, 0, 0) Add(i000, 16, i000) m017() }
+ Method(m017) { CH03(ts, z178, 0x017, 0, 0) Add(i000, 17, i000) m018() }
+ Method(m018) { CH03(ts, z178, 0x018, 0, 0) Add(i000, 18, i000) m019() }
+ Method(m019) { CH03(ts, z178, 0x019, 0, 0) Add(i000, 19, i000) m020() }
+
+ Method(m020) { CH03(ts, z178, 0x020, 0, 0) Add(i000, 20, i000) m021() }
+ Method(m021) { CH03(ts, z178, 0x021, 0, 0) Add(i000, 21, i000) m022() }
+ Method(m022) { CH03(ts, z178, 0x022, 0, 0) Add(i000, 22, i000) m023() }
+ Method(m023) { CH03(ts, z178, 0x023, 0, 0) Add(i000, 23, i000) m024() }
+ Method(m024) { CH03(ts, z178, 0x024, 0, 0) Add(i000, 24, i000) m025() }
+ Method(m025) { CH03(ts, z178, 0x025, 0, 0) Add(i000, 25, i000) m026() }
+ Method(m026) { CH03(ts, z178, 0x026, 0, 0) Add(i000, 26, i000) m027() }
+ Method(m027) { CH03(ts, z178, 0x027, 0, 0) Add(i000, 27, i000) m028() }
+ Method(m028) { CH03(ts, z178, 0x028, 0, 0) Add(i000, 28, i000) m029() }
+ Method(m029) { CH03(ts, z178, 0x029, 0, 0) Add(i000, 29, i000) m030() }
+
+ Method(m030) { CH03(ts, z178, 0x030, 0, 0) Add(i000, 30, i000) m031() }
+ Method(m031) { CH03(ts, z178, 0x031, 0, 0) Add(i000, 31, i000) m032() }
+ Method(m032) { CH03(ts, z178, 0x032, 0, 0) Add(i000, 32, i000) m033() }
+ Method(m033) { CH03(ts, z178, 0x033, 0, 0) Add(i000, 33, i000) m034() }
+ Method(m034) { CH03(ts, z178, 0x034, 0, 0) Add(i000, 34, i000) m035() }
+ Method(m035) { CH03(ts, z178, 0x035, 0, 0) Add(i000, 35, i000) m036() }
+ Method(m036) { CH03(ts, z178, 0x036, 0, 0) Add(i000, 36, i000) m037() }
+ Method(m037) { CH03(ts, z178, 0x037, 0, 0) Add(i000, 37, i000) m038() }
+ Method(m038) { CH03(ts, z178, 0x038, 0, 0) Add(i000, 38, i000) m039() }
+ Method(m039) { CH03(ts, z178, 0x039, 0, 0) Add(i000, 39, i000) m040() }
+
+ Method(m040) { CH03(ts, z178, 0x040, 0, 0) Add(i000, 40, i000) m041() }
+ Method(m041) { CH03(ts, z178, 0x041, 0, 0) Add(i000, 41, i000) m042() }
+ Method(m042) { CH03(ts, z178, 0x042, 0, 0) Add(i000, 42, i000) m043() }
+ Method(m043) { CH03(ts, z178, 0x043, 0, 0) Add(i000, 43, i000) m044() }
+ Method(m044) { CH03(ts, z178, 0x044, 0, 0) Add(i000, 44, i000) m045() }
+ Method(m045) { CH03(ts, z178, 0x045, 0, 0) Add(i000, 45, i000) m046() }
+ Method(m046) { CH03(ts, z178, 0x046, 0, 0) Add(i000, 46, i000) m047() }
+ Method(m047) { CH03(ts, z178, 0x047, 0, 0) Add(i000, 47, i000) m048() }
+ Method(m048) { CH03(ts, z178, 0x048, 0, 0) Add(i000, 48, i000) m049() }
+ Method(m049) { CH03(ts, z178, 0x049, 0, 0) Add(i000, 49, i000) m050() }
+
+ Method(m050) { CH03(ts, z178, 0x050, 0, 0) Add(i000, 50, i000) m051() }
+ Method(m051) { CH03(ts, z178, 0x051, 0, 0) Add(i000, 51, i000) m052() }
+ Method(m052) { CH03(ts, z178, 0x052, 0, 0) Add(i000, 52, i000) m053() }
+ Method(m053) { CH03(ts, z178, 0x053, 0, 0) Add(i000, 53, i000) m054() }
+ Method(m054) { CH03(ts, z178, 0x054, 0, 0) Add(i000, 54, i000) m055() }
+ Method(m055) { CH03(ts, z178, 0x055, 0, 0) Add(i000, 55, i000) m056() }
+ Method(m056) { CH03(ts, z178, 0x056, 0, 0) Add(i000, 56, i000) m057() }
+ Method(m057) { CH03(ts, z178, 0x057, 0, 0) Add(i000, 57, i000) m058() }
+ Method(m058) { CH03(ts, z178, 0x058, 0, 0) Add(i000, 58, i000) m059() }
+ Method(m059) { CH03(ts, z178, 0x059, 0, 0) Add(i000, 59, i000) m060() }
+
+ Method(m060) { CH03(ts, z178, 0x060, 0, 0) Add(i000, 60, i000) m061() }
+ Method(m061) { CH03(ts, z178, 0x061, 0, 0) Add(i000, 61, i000) m062() }
+ Method(m062) { CH03(ts, z178, 0x062, 0, 0) Add(i000, 62, i000) m063() }
+ Method(m063) { CH03(ts, z178, 0x063, 0, 0) Add(i000, 63, i000) m064() }
+ Method(m064) { CH03(ts, z178, 0x064, 0, 0) Add(i000, 64, i000) m065() }
+ Method(m065) { CH03(ts, z178, 0x065, 0, 0) Add(i000, 65, i000) m066() }
+ Method(m066) { CH03(ts, z178, 0x066, 0, 0) Add(i000, 66, i000) m067() }
+ Method(m067) { CH03(ts, z178, 0x067, 0, 0) Add(i000, 67, i000) m068() }
+ Method(m068) { CH03(ts, z178, 0x068, 0, 0) Add(i000, 68, i000) m069() }
+ Method(m069) { CH03(ts, z178, 0x069, 0, 0) Add(i000, 69, i000) m070() }
+
+ Method(m070) { CH03(ts, z178, 0x070, 0, 0) Add(i000, 70, i000) m071() }
+ Method(m071) { CH03(ts, z178, 0x071, 0, 0) Add(i000, 71, i000) m072() }
+ Method(m072) { CH03(ts, z178, 0x072, 0, 0) Add(i000, 72, i000) m073() }
+ Method(m073) { CH03(ts, z178, 0x073, 0, 0) Add(i000, 73, i000) m074() }
+ Method(m074) { CH03(ts, z178, 0x074, 0, 0) Add(i000, 74, i000) m075() }
+ Method(m075) { CH03(ts, z178, 0x075, 0, 0) Add(i000, 75, i000) m076() }
+ Method(m076) { CH03(ts, z178, 0x076, 0, 0) Add(i000, 76, i000) m077() }
+ Method(m077) { CH03(ts, z178, 0x077, 0, 0) Add(i000, 77, i000) m078() }
+ Method(m078) { CH03(ts, z178, 0x078, 0, 0) Add(i000, 78, i000) m079() }
+ Method(m079) { CH03(ts, z178, 0x079, 0, 0) Add(i000, 79, i000) m080() }
+
+ Method(m080) { CH03(ts, z178, 0x080, 0, 0) Add(i000, 80, i000) m081() }
+ Method(m081) { CH03(ts, z178, 0x081, 0, 0) Add(i000, 81, i000) m082() }
+ Method(m082) { CH03(ts, z178, 0x082, 0, 0) Add(i000, 82, i000) m083() }
+ Method(m083) { CH03(ts, z178, 0x083, 0, 0) Add(i000, 83, i000) m084() }
+ Method(m084) { CH03(ts, z178, 0x084, 0, 0) Add(i000, 84, i000) m085() }
+ Method(m085) { CH03(ts, z178, 0x085, 0, 0) Add(i000, 85, i000) m086() }
+ Method(m086) { CH03(ts, z178, 0x086, 0, 0) Add(i000, 86, i000) m087() }
+ Method(m087) { CH03(ts, z178, 0x087, 0, 0) Add(i000, 87, i000) m088() }
+ Method(m088) { CH03(ts, z178, 0x088, 0, 0) Add(i000, 88, i000) m089() }
+ Method(m089) { CH03(ts, z178, 0x089, 0, 0) Add(i000, 89, i000) m090() }
+
+ Method(m090) { CH03(ts, z178, 0x090, 0, 0) Add(i000, 90, i000) m091() }
+ Method(m091) { CH03(ts, z178, 0x091, 0, 0) Add(i000, 91, i000) m092() }
+ Method(m092) { CH03(ts, z178, 0x092, 0, 0) Add(i000, 92, i000) m093() }
+ Method(m093) { CH03(ts, z178, 0x093, 0, 0) Add(i000, 93, i000) m094() }
+ Method(m094) { CH03(ts, z178, 0x094, 0, 0) Add(i000, 94, i000) m095() }
+ Method(m095) { CH03(ts, z178, 0x095, 0, 0) Add(i000, 95, i000) m096() }
+ Method(m096) { CH03(ts, z178, 0x096, 0, 0) Add(i000, 96, i000) m097() }
+ Method(m097) { CH03(ts, z178, 0x097, 0, 0) Add(i000, 97, i000) m098() }
+ Method(m098) { CH03(ts, z178, 0x098, 0, 0) Add(i000, 98, i000) m099() }
+ Method(m099) { CH03(ts, z178, 0x099, 0, 0) Add(i000, 99, i000) m100() }
+
+
+
+
+ // 100 - 199
+
+ Method(m100) { CH03(ts, z178, 0x100, 0, 0) Add(i000, 100, i000) m101() }
+ Method(m101) { CH03(ts, z178, 0x101, 0, 0) Add(i000, 101, i000) m102() }
+ Method(m102) { CH03(ts, z178, 0x102, 0, 0) Add(i000, 102, i000) m103() }
+ Method(m103) { CH03(ts, z178, 0x103, 0, 0) Add(i000, 103, i000) m104() }
+ Method(m104) { CH03(ts, z178, 0x104, 0, 0) Add(i000, 104, i000) m105() }
+ Method(m105) { CH03(ts, z178, 0x105, 0, 0) Add(i000, 105, i000) m106() }
+ Method(m106) { CH03(ts, z178, 0x106, 0, 0) Add(i000, 106, i000) m107() }
+ Method(m107) { CH03(ts, z178, 0x107, 0, 0) Add(i000, 107, i000) m108() }
+ Method(m108) { CH03(ts, z178, 0x108, 0, 0) Add(i000, 108, i000) m109() }
+ Method(m109) { CH03(ts, z178, 0x109, 0, 0) Add(i000, 109, i000) m110() }
+
+ Method(m110) { CH03(ts, z178, 0x110, 0, 0) Add(i000, 110, i000) m111() }
+ Method(m111) { CH03(ts, z178, 0x111, 0, 0) Add(i000, 111, i000) m112() }
+ Method(m112) { CH03(ts, z178, 0x112, 0, 0) Add(i000, 112, i000) m113() }
+ Method(m113) { CH03(ts, z178, 0x113, 0, 0) Add(i000, 113, i000) m114() }
+ Method(m114) { CH03(ts, z178, 0x114, 0, 0) Add(i000, 114, i000) m115() }
+ Method(m115) { CH03(ts, z178, 0x115, 0, 0) Add(i000, 115, i000) m116() }
+ Method(m116) { CH03(ts, z178, 0x116, 0, 0) Add(i000, 116, i000) m117() }
+ Method(m117) { CH03(ts, z178, 0x117, 0, 0) Add(i000, 117, i000) m118() }
+ Method(m118) { CH03(ts, z178, 0x118, 0, 0) Add(i000, 118, i000) m119() }
+ Method(m119) { CH03(ts, z178, 0x119, 0, 0) Add(i000, 119, i000) m120() }
+
+ Method(m120) { CH03(ts, z178, 0x120, 0, 0) Add(i000, 120, i000) m121() }
+ Method(m121) { CH03(ts, z178, 0x121, 0, 0) Add(i000, 121, i000) m122() }
+ Method(m122) { CH03(ts, z178, 0x122, 0, 0) Add(i000, 122, i000) m123() }
+ Method(m123) { CH03(ts, z178, 0x123, 0, 0) Add(i000, 123, i000) m124() }
+ Method(m124) { CH03(ts, z178, 0x124, 0, 0) Add(i000, 124, i000) m125() }
+ Method(m125) { CH03(ts, z178, 0x125, 0, 0) Add(i000, 125, i000) m126() }
+ Method(m126) { CH03(ts, z178, 0x126, 0, 0) Add(i000, 126, i000) m127() }
+ Method(m127) { CH03(ts, z178, 0x127, 0, 0) Add(i000, 127, i000) m128() }
+ Method(m128) { CH03(ts, z178, 0x128, 0, 0) Add(i000, 128, i000) m129() }
+ Method(m129) { CH03(ts, z178, 0x129, 0, 0) Add(i000, 129, i000) m130() }
+
+ Method(m130) { CH03(ts, z178, 0x130, 0, 0) Add(i000, 130, i000) m131() }
+ Method(m131) { CH03(ts, z178, 0x131, 0, 0) Add(i000, 131, i000) m132() }
+ Method(m132) { CH03(ts, z178, 0x132, 0, 0) Add(i000, 132, i000) m133() }
+ Method(m133) { CH03(ts, z178, 0x133, 0, 0) Add(i000, 133, i000) m134() }
+ Method(m134) { CH03(ts, z178, 0x134, 0, 0) Add(i000, 134, i000) m135() }
+ Method(m135) { CH03(ts, z178, 0x135, 0, 0) Add(i000, 135, i000) m136() }
+ Method(m136) { CH03(ts, z178, 0x136, 0, 0) Add(i000, 136, i000) m137() }
+ Method(m137) { CH03(ts, z178, 0x137, 0, 0) Add(i000, 137, i000) m138() }
+ Method(m138) { CH03(ts, z178, 0x138, 0, 0) Add(i000, 138, i000) m139() }
+ Method(m139) { CH03(ts, z178, 0x139, 0, 0) Add(i000, 139, i000) m140() }
+
+ Method(m140) { CH03(ts, z178, 0x140, 0, 0) Add(i000, 140, i000) m141() }
+ Method(m141) { CH03(ts, z178, 0x141, 0, 0) Add(i000, 141, i000) m142() }
+ Method(m142) { CH03(ts, z178, 0x142, 0, 0) Add(i000, 142, i000) m143() }
+ Method(m143) { CH03(ts, z178, 0x143, 0, 0) Add(i000, 143, i000) m144() }
+ Method(m144) { CH03(ts, z178, 0x144, 0, 0) Add(i000, 144, i000) m145() }
+ Method(m145) { CH03(ts, z178, 0x145, 0, 0) Add(i000, 145, i000) m146() }
+ Method(m146) { CH03(ts, z178, 0x146, 0, 0) Add(i000, 146, i000) m147() }
+ Method(m147) { CH03(ts, z178, 0x147, 0, 0) Add(i000, 147, i000) m148() }
+ Method(m148) { CH03(ts, z178, 0x148, 0, 0) Add(i000, 148, i000) m149() }
+ Method(m149) { CH03(ts, z178, 0x149, 0, 0) Add(i000, 149, i000) m150() }
+
+ Method(m150) { CH03(ts, z178, 0x150, 0, 0) Add(i000, 150, i000) m151() }
+ Method(m151) { CH03(ts, z178, 0x151, 0, 0) Add(i000, 151, i000) m152() }
+ Method(m152) { CH03(ts, z178, 0x152, 0, 0) Add(i000, 152, i000) m153() }
+ Method(m153) { CH03(ts, z178, 0x153, 0, 0) Add(i000, 153, i000) m154() }
+ Method(m154) { CH03(ts, z178, 0x154, 0, 0) Add(i000, 154, i000) m155() }
+ Method(m155) { CH03(ts, z178, 0x155, 0, 0) Add(i000, 155, i000) m156() }
+ Method(m156) { CH03(ts, z178, 0x156, 0, 0) Add(i000, 156, i000) m157() }
+ Method(m157) { CH03(ts, z178, 0x157, 0, 0) Add(i000, 157, i000) m158() }
+ Method(m158) { CH03(ts, z178, 0x158, 0, 0) Add(i000, 158, i000) m159() }
+ Method(m159) { CH03(ts, z178, 0x159, 0, 0) Add(i000, 159, i000) m160() }
+
+ Method(m160) { CH03(ts, z178, 0x160, 0, 0) Add(i000, 160, i000) m161() }
+ Method(m161) { CH03(ts, z178, 0x161, 0, 0) Add(i000, 161, i000) m162() }
+ Method(m162) { CH03(ts, z178, 0x162, 0, 0) Add(i000, 162, i000) m163() }
+ Method(m163) { CH03(ts, z178, 0x163, 0, 0) Add(i000, 163, i000) m164() }
+ Method(m164) { CH03(ts, z178, 0x164, 0, 0) Add(i000, 164, i000) m165() }
+ Method(m165) { CH03(ts, z178, 0x165, 0, 0) Add(i000, 165, i000) m166() }
+ Method(m166) { CH03(ts, z178, 0x166, 0, 0) Add(i000, 166, i000) m167() }
+ Method(m167) { CH03(ts, z178, 0x167, 0, 0) Add(i000, 167, i000) m168() }
+ Method(m168) { CH03(ts, z178, 0x168, 0, 0) Add(i000, 168, i000) m169() }
+ Method(m169) { CH03(ts, z178, 0x169, 0, 0) Add(i000, 169, i000) m170() }
+
+ Method(m170) { CH03(ts, z178, 0x170, 0, 0) Add(i000, 170, i000) m171() }
+ Method(m171) { CH03(ts, z178, 0x171, 0, 0) Add(i000, 171, i000) m172() }
+ Method(m172) { CH03(ts, z178, 0x172, 0, 0) Add(i000, 172, i000) m173() }
+ Method(m173) { CH03(ts, z178, 0x173, 0, 0) Add(i000, 173, i000) m174() }
+ Method(m174) { CH03(ts, z178, 0x174, 0, 0) Add(i000, 174, i000) m175() }
+ Method(m175) { CH03(ts, z178, 0x175, 0, 0) Add(i000, 175, i000) m176() }
+ Method(m176) { CH03(ts, z178, 0x176, 0, 0) Add(i000, 176, i000) m177() }
+ Method(m177) { CH03(ts, z178, 0x177, 0, 0) Add(i000, 177, i000) m178() }
+ Method(m178) { CH03(ts, z178, 0x178, 0, 0) Add(i000, 178, i000) m179() }
+ Method(m179) { CH03(ts, z178, 0x179, 0, 0) Add(i000, 179, i000) m180() }
+
+ Method(m180) { CH03(ts, z178, 0x180, 0, 0) Add(i000, 180, i000) m181() }
+ Method(m181) { CH03(ts, z178, 0x181, 0, 0) Add(i000, 181, i000) m182() }
+ Method(m182) { CH03(ts, z178, 0x182, 0, 0) Add(i000, 182, i000) m183() }
+ Method(m183) { CH03(ts, z178, 0x183, 0, 0) Add(i000, 183, i000) m184() }
+ Method(m184) { CH03(ts, z178, 0x184, 0, 0) Add(i000, 184, i000) m185() }
+ Method(m185) { CH03(ts, z178, 0x185, 0, 0) Add(i000, 185, i000) m186() }
+ Method(m186) { CH03(ts, z178, 0x186, 0, 0) Add(i000, 186, i000) m187() }
+ Method(m187) { CH03(ts, z178, 0x187, 0, 0) Add(i000, 187, i000) m188() }
+ Method(m188) { CH03(ts, z178, 0x188, 0, 0) Add(i000, 188, i000) m189() }
+ Method(m189) { CH03(ts, z178, 0x189, 0, 0) Add(i000, 189, i000) m190() }
+
+ Method(m190) { CH03(ts, z178, 0x190, 0, 0) Add(i000, 190, i000) m191() }
+ Method(m191) { CH03(ts, z178, 0x191, 0, 0) Add(i000, 191, i000) m192() }
+ Method(m192) { CH03(ts, z178, 0x192, 0, 0) Add(i000, 192, i000) m193() }
+ Method(m193) { CH03(ts, z178, 0x193, 0, 0) Add(i000, 193, i000) m194() }
+ Method(m194) { CH03(ts, z178, 0x194, 0, 0) Add(i000, 194, i000) m195() }
+ Method(m195) { CH03(ts, z178, 0x195, 0, 0) Add(i000, 195, i000) m196() }
+ Method(m196) { CH03(ts, z178, 0x196, 0, 0) Add(i000, 196, i000) m197() }
+ Method(m197) { CH03(ts, z178, 0x197, 0, 0) Add(i000, 197, i000) m198() }
+ Method(m198) { CH03(ts, z178, 0x198, 0, 0) Add(i000, 198, i000) m199() }
+ Method(m199) { CH03(ts, z178, 0x199, 0, 0) Add(i000, 199, i000) m200() }
+
+
+
+
+ // 200 - 299
+
+ Method(m200) { CH03(ts, z178, 0x200, 0, 0) Add(i000, 200, i000) m201() }
+ Method(m201) { CH03(ts, z178, 0x201, 0, 0) Add(i000, 201, i000) m202() }
+ Method(m202) { CH03(ts, z178, 0x202, 0, 0) Add(i000, 202, i000) m203() }
+ Method(m203) { CH03(ts, z178, 0x203, 0, 0) Add(i000, 203, i000) m204() }
+ Method(m204) { CH03(ts, z178, 0x204, 0, 0) Add(i000, 204, i000) m205() }
+ Method(m205) { CH03(ts, z178, 0x205, 0, 0) Add(i000, 205, i000) m206() }
+ Method(m206) { CH03(ts, z178, 0x206, 0, 0) Add(i000, 206, i000) m207() }
+ Method(m207) { CH03(ts, z178, 0x207, 0, 0) Add(i000, 207, i000) m208() }
+ Method(m208) { CH03(ts, z178, 0x208, 0, 0) Add(i000, 208, i000) m209() }
+ Method(m209) { CH03(ts, z178, 0x209, 0, 0) Add(i000, 209, i000) m210() }
+
+ Method(m210) { CH03(ts, z178, 0x210, 0, 0) Add(i000, 210, i000) m211() }
+ Method(m211) { CH03(ts, z178, 0x211, 0, 0) Add(i000, 211, i000) m212() }
+ Method(m212) { CH03(ts, z178, 0x212, 0, 0) Add(i000, 212, i000) m213() }
+ Method(m213) { CH03(ts, z178, 0x213, 0, 0) Add(i000, 213, i000) m214() }
+ Method(m214) { CH03(ts, z178, 0x214, 0, 0) Add(i000, 214, i000) m215() }
+ Method(m215) { CH03(ts, z178, 0x215, 0, 0) Add(i000, 215, i000) m216() }
+ Method(m216) { CH03(ts, z178, 0x216, 0, 0) Add(i000, 216, i000) m217() }
+ Method(m217) { CH03(ts, z178, 0x217, 0, 0) Add(i000, 217, i000) m218() }
+ Method(m218) { CH03(ts, z178, 0x218, 0, 0) Add(i000, 218, i000) m219() }
+ Method(m219) { CH03(ts, z178, 0x219, 0, 0) Add(i000, 219, i000) m220() }
+
+ Method(m220) { CH03(ts, z178, 0x220, 0, 0) Add(i000, 220, i000) m221() }
+ Method(m221) { CH03(ts, z178, 0x221, 0, 0) Add(i000, 221, i000) m222() }
+ Method(m222) { CH03(ts, z178, 0x222, 0, 0) Add(i000, 222, i000) m223() }
+ Method(m223) { CH03(ts, z178, 0x223, 0, 0) Add(i000, 223, i000) m224() }
+ Method(m224) { CH03(ts, z178, 0x224, 0, 0) Add(i000, 224, i000) m225() }
+ Method(m225) { CH03(ts, z178, 0x225, 0, 0) Add(i000, 225, i000) m226() }
+ Method(m226) { CH03(ts, z178, 0x226, 0, 0) Add(i000, 226, i000) m227() }
+ Method(m227) { CH03(ts, z178, 0x227, 0, 0) Add(i000, 227, i000) m228() }
+ Method(m228) { CH03(ts, z178, 0x228, 0, 0) Add(i000, 228, i000) m229() }
+ Method(m229) { CH03(ts, z178, 0x229, 0, 0) Add(i000, 229, i000) m230() }
+
+ Method(m230) { CH03(ts, z178, 0x230, 0, 0) Add(i000, 230, i000) m231() }
+ Method(m231) { CH03(ts, z178, 0x231, 0, 0) Add(i000, 231, i000) m232() }
+ Method(m232) { CH03(ts, z178, 0x232, 0, 0) Add(i000, 232, i000) m233() }
+ Method(m233) { CH03(ts, z178, 0x233, 0, 0) Add(i000, 233, i000) m234() }
+ Method(m234) { CH03(ts, z178, 0x234, 0, 0) Add(i000, 234, i000) m235() }
+ Method(m235) { CH03(ts, z178, 0x235, 0, 0) Add(i000, 235, i000) m236() }
+ Method(m236) { CH03(ts, z178, 0x236, 0, 0) Add(i000, 236, i000) m237() }
+ Method(m237) { CH03(ts, z178, 0x237, 0, 0) Add(i000, 237, i000) m238() }
+ Method(m238) { CH03(ts, z178, 0x238, 0, 0) Add(i000, 238, i000) m239() }
+ Method(m239) { CH03(ts, z178, 0x239, 0, 0) Add(i000, 239, i000) m240() }
+
+ Method(m240) { CH03(ts, z178, 0x240, 0, 0) Add(i000, 240, i000) m241() }
+ Method(m241) { CH03(ts, z178, 0x241, 0, 0) Add(i000, 241, i000) m242() }
+ Method(m242) { CH03(ts, z178, 0x242, 0, 0) Add(i000, 242, i000) m243() }
+ Method(m243) { CH03(ts, z178, 0x243, 0, 0) Add(i000, 243, i000) m244() }
+ Method(m244) { CH03(ts, z178, 0x244, 0, 0) Add(i000, 244, i000) m245() }
+ Method(m245) { CH03(ts, z178, 0x245, 0, 0) Add(i000, 245, i000) m246() }
+
+ /*
+ * We should take into account there how many method
+ * calls precede invocation of this test method m0fc.
+ * So, when we run MN00 or MN01 (but not immediately MAIN)
+ * the number of preceding method calls is greated by 1.
+ * So, in that case, the number of calls in m0fc should
+ * be less by 1.
+ */
+
+ Method(m246)
+ {
+ CH03(ts, z178, 0x246, 0, 0)
+ Add(i000, 246, i000)
+
+ if (LNot(MLVL)) {
+ m247()
+ } elseif (i001) {
+ // To cause AE_AML_METHOD_LIMIT exception
+ m247()
+ }
+ }
+ Method(m247)
+ {
+ CH03(ts, z178, 0x247, 0, 0)
+ Add(i000, 247, i000)
+ if (i001) {
+ // To cause AE_AML_METHOD_LIMIT exception
+ m248()
+ }
+ }
+ Method(m248) { CH03(ts, z178, 0x248, 0, 0) Add(i000, 248, i000) }
+
+
+ CH03(ts, z178, 0x300, 0, 0)
+
+ Store(arg0, i001)
+
+ m000()
+
+ if (arg0) {
+ CH04(ts, 0, 86, z178, 0x301, 0, 0) // AE_OWNER_ID_LIMIT
+ } else {
+ CH03(ts, z178, 0x302, 0, 0)
+ if (MLVL) {
+ Store(0x76AD, Local0)
+ } else {
+ Store(0x77A4, Local0)
+ }
+ if (LNotEqual(i000, Local0)) {
+ err(ts, z178, 0x303, 0, 0, i000, Local0)
+ }
+ }
+}
+
+Method(m0fe, 1)
+{
+ Name(ts, "m0fe")
+
+ Name(i000, 0)
+ Name(i001, 0)
+
+ Name(max0, 246)
+
+ Method(m000) {
+
+ CH03(ts, z178, 0x400, 0, 0)
+
+ Store(max0, Local0)
+ if (i001) {
+ Increment(Local0)
+ }
+
+ Increment(i000)
+ if (LLessEqual(i000, Local0)) {
+ m000()
+ }
+ }
+
+ CH03(ts, z178, 0x401, 0, 0)
+
+ Store(arg0, i001)
+
+ m000()
+
+ if (arg0) {
+ CH04(ts, 0, 84, z178, 0x402, 0, 0) // AE_AML_METHOD_LIMIT
+ } else {
+ CH03(ts, z178, 0x403, 0, 0)
+ if (LNotEqual(i000, 0xf7)) {
+ err(ts, z178, 0x404, 0, 0, i000, 0xf7)
+ }
+ }
+}
+
+
+Method(m0fd)
+{
+/*
+SRMT("m0fe-0")
+m0fe(0)
+return
+*/
+
+
+ SRMT("m0fc-0")
+ m0fc(0)
+
+ SRMT("m0fc-1")
+ if (y527) {
+ m0fc(1)
+ } else {
+ BLCK()
+ }
+
+ SRMT("m0fe-0")
+ m0fe(0)
+
+ SRMT("m0fe-1")
+ if (y200) {
+ m0fe(1)
+ } else {
+ BLCK()
+ }
+
+
+
+ CH03("m0fd", z178, 0x405, 0, 0)
+}
+
+
+
+
diff --git a/tests/aslts/src/runtime/collections/functional/control/Return/DECL.asl b/tests/aslts/src/runtime/collections/functional/control/Return/DECL.asl
new file mode 100644
index 000000000..75952bd2e
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/control/Return/DECL.asl
@@ -0,0 +1,31 @@
+/*
+ * 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.
+ */
+
+Include("../../../../../runtime/collections/functional/control/Return/return.asl")
diff --git a/tests/aslts/src/runtime/collections/functional/control/Return/MAIN.asl b/tests/aslts/src/runtime/collections/functional/control/Return/MAIN.asl
new file mode 100644
index 000000000..cb6b8ab6a
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/control/Return/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "return.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/functional/control/Return/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../../runtime/collections/functional/control/Return/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/functional/control/Return/RUN.asl b/tests/aslts/src/runtime/collections/functional/control/Return/RUN.asl
new file mode 100644
index 000000000..6a18d3212
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/control/Return/RUN.asl
@@ -0,0 +1,34 @@
+/*
+ * 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.
+ */
+
+if (STTT("Method execution control, Return", TCLF, 3, W003)) {
+ mf73()
+}
+FTTT()
diff --git a/tests/aslts/src/runtime/collections/functional/control/Return/return.asl b/tests/aslts/src/runtime/collections/functional/control/Return/return.asl
new file mode 100644
index 000000000..1c71d0a15
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/control/Return/return.asl
@@ -0,0 +1,810 @@
+/*
+ * 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.
+ */
+
+/*
+ * Test of Return
+ */
+
+Name(z139, 139)
+
+Method(mf72, 1)
+{
+ Name(i000, 0)
+ Name(cmp0, 0)
+ Name(md00, 0)
+
+ Store(arg0, md00)
+
+ Name(ts, "mf72")
+
+ Method(m000)
+ {
+ }
+
+ Method(m001)
+ {
+ if (0xabcd0001) {
+ return (0xabcd0010)
+ }
+ }
+
+ Method(m002)
+ {
+ if (0xabcd0000) {
+ if (0xabcd0001) {
+ return (0xabcd0010)
+ }}
+ }
+
+ Method(m003)
+ {
+ while (0xabcd0000) {
+ return (0xabcd0020)
+ }
+ }
+
+ Method(m004, 7)
+ {
+ Name(ret4, 0)
+ Name(r400, 0)
+ Name(r401, 0)
+ Name(r402, 0)
+ Name(r403, 0)
+ Name(r404, 0)
+ Name(r405, 0)
+ Name(r406, 0)
+ Name(r407, 0)
+
+ Method(m005, 7)
+ {
+ Name(ret5, 0)
+ Name(r500, 0)
+ Name(r501, 0)
+ Name(r502, 0)
+ Name(r503, 0)
+ Name(r504, 0)
+ Name(r505, 0)
+ Name(r506, 0)
+ Name(r507, 0)
+
+ Method(m006, 7)
+ {
+ Name(ret6, 0)
+ Name(r600, 0)
+ Name(r601, 0)
+ Name(r602, 0)
+ Name(r603, 0)
+ Name(r604, 0)
+ Name(r605, 0)
+ Name(r606, 0)
+ Name(r607, 0)
+
+ Method(m007, 7)
+ {
+ Name(ret7, 0)
+ Name(r700, 0)
+ Name(r701, 0)
+ Name(r702, 0)
+ Name(r703, 0)
+ Name(r704, 0)
+ Name(r705, 0)
+ Name(r706, 0)
+ Name(r707, 0)
+
+ Method(m008, 7)
+ {
+ Name(ret8, 0)
+ Name(i000, 0)
+ Name(i001, 0)
+ Name(i002, 0)
+ Name(i003, 0)
+
+ m000()
+ m001()
+ if (Store(0xaaaa0007, i001)) {
+ Increment(i002)
+ Add(0xaaaa0008, 0)
+ Subtract(0xaaaa0009, 0)
+ if (LEqual(arg0, 0)) {
+ return (0x55550000)
+ }
+ Multiply(0xaaaa000a, 1)
+ Store(0xaaaa000d, i001)
+ Decrement(i001)
+ }
+ m002()
+ m003()
+ while (0xabcd0000) {
+ m000()
+ m001()
+ if (LEqual(arg0, 1)) {
+ return (0x55550001)
+ }
+ Store(0, i000)
+ m002()
+ m003()
+
+ Switch (0xabcd0100) {
+ case (0xabcd0100) {
+
+ if (0xabcd0001) {
+ while (0xabcd0002) {
+ if (LNotEqual(arg0, 2)) {
+ while (0xabcd0004) {
+ if (Store(0xaaaa0007, i001)) {
+ Increment(i002)
+ Add(0xaaaa0008, 0)
+ Subtract(0xaaaa0009, 0)
+ if (LEqual(arg0, 3)) {
+ return (0x55550003)
+ }
+ Multiply(0xaaaa000a, 1)
+ Store(0xaaaa000d, i001)
+ Decrement(i001)
+ }
+
+ Switch (0xabcd0200) {
+ case (0xabcd0300) {
+ Store("Never", Debug)
+ }
+ Default {
+
+ if (0xabcd0005) {
+ while (0xabcd0006) {
+ if (LNotEqual(arg0, 4)) {
+ m000()
+ m001()
+ if (LEqual(arg0, 5)) {
+ return (0x55550005)
+ }
+ m002()
+ m003()
+ while (0xabcd0008) {
+ if (LEqual(arg0, 6)) {
+ return (0x55550006)
+ }
+ if (0xabcd0009) {
+ if (LEqual(arg0, 7)) {
+ return (0x55550007)
+ }
+ while (0xabcd000a) {
+ if (LNotEqual(arg0, 8)) {
+ while (0xabcd000c) {
+ if (0xabcd000d) {
+ while (0xabcd000e) {
+ if (0xabcd000f) {
+ if (0) {
+ Store("Impossible 0", Debug)
+ } else {
+ if (0xabcd0010) {
+ Store(100, i003)
+ switch (i003) {
+ case (1) {
+ return (0xdddd0000)
+ }
+ case (2) {
+ return (0xdddd0001)
+ }
+ Default {
+ return (0x55550009)
+ }
+ }
+ return (0xdddd0002)
+ }
+ }
+ }
+ }
+ }
+ }
+ m000()
+ m001()
+ } else {
+ m002()
+ m003()
+ Store(1, i003)
+ switch (i003) {
+ case (1) {
+ return (0x55550008)
+ }
+ case (2) {
+ return (0xdddd0003)
+ }
+ Default {
+ return (0xdddd0004)
+ }
+ }
+ return (0xdddd0005)
+ }
+ }
+ }
+ }
+ m000()
+ m001()
+ m002()
+ m003()
+ } else {
+ Store(2, i003)
+ switch (i003) {
+ case (1) {
+ return (0xdddd0006)
+ }
+ case (2) {
+ return (0x55550004)
+ }
+ Default {
+ return (0xdddd0007)
+ }
+ }
+ return (0xdddd0008)
+ }
+ }
+ }
+ } /* Default 0xabcd0300 */
+ } /* Switch (0xabcd0200) */
+ }
+ } else {
+ return (0x55550002)
+ }
+ }
+ }
+ } /* case (0xabcd0100) */
+ } /* Switch (0xabcd0100) */
+ }
+
+ return (ret8)
+ } /* m008 */
+
+ Method(m009, 7)
+ {
+ Name(ret9, 0)
+ Name(r900, 0)
+ Name(r901, 0)
+ Name(r902, 0)
+ Name(r903, 0)
+ Name(r904, 0)
+ Name(r905, 0)
+ Name(r906, 0)
+ Name(r907, 0)
+
+ Name(i000, 0)
+ Name(i001, 0)
+ Name(i002, 0)
+ Name(i003, 0)
+
+ m000()
+ m001()
+ if (Store(0xaaaa0007, i001)) {
+ Increment(i002)
+ Add(0xaaaa0008, 0)
+ Subtract(0xaaaa0009, 0)
+ if (LEqual(arg0, 0)) {
+ CopyObject(Store(CopyObject(Store(CopyObject(CopyObject(Store(Store(
+ m008(arg0, arg1, arg2, arg3, arg4, arg5, arg6),
+ r900), r901), r902), r903), r904), r905), r906), ret9)
+ return (ret9)
+ // return (0x55550000)
+ }
+ Multiply(0xaaaa000a, 1)
+ Store(0xaaaa000d, i001)
+ Decrement(i001)
+ }
+ m002()
+ m003()
+ while (0xabcd0000) {
+ m000()
+ m001()
+ if (LEqual(arg0, 1)) {
+ Store(Store(CopyObject(Store(Store(Store(Store(Store(
+ m008(arg0, arg1, arg2, arg3, arg4, arg5, arg6),
+ r900), r901), r902), r903), r904), r905), r906), ret9)
+ return (ret9)
+ // return (0x55550001)
+ }
+ Store(0, i000)
+ m002()
+ m003()
+
+ Switch (0xabcd0100) {
+ case (0xabcd0100) {
+
+ if (0xabcd0001) {
+ while (0xabcd0002) {
+ if (LNotEqual(arg0, 2)) {
+ while (0xabcd0004) {
+ if (Store(0xaaaa0007, i001)) {
+ Increment(i002)
+ Add(0xaaaa0008, 0)
+ Subtract(0xaaaa0009, 0)
+ if (LEqual(arg0, 3)) {
+ Store(Store(CopyObject(Store(Store(Store(Store(Store(
+ m008(arg0, arg1, arg2, arg3, arg4, arg5, arg6),
+ r900), r901), r902), r903), r904), r905), r906), ret9)
+ return (ret9)
+ // return (0x55550003)
+ }
+ Multiply(0xaaaa000a, 1)
+ Store(0xaaaa000d, i001)
+ Decrement(i001)
+ }
+
+ Switch (0xabcd0200) {
+ case (0xabcd0300) {
+ Store("Never", Debug)
+ }
+ Default {
+
+ if (0xabcd0005) {
+ while (0xabcd0006) {
+ if (LNotEqual(arg0, 4)) {
+ m000()
+ m001()
+ if (LEqual(arg0, 5)) {
+ Store(Store(CopyObject(Store(Store(Store(Store(Store(
+ m008(arg0, arg1, arg2, arg3, arg4, arg5, arg6),
+ r900), r901), r902), r903), r904), r905), r906), ret9)
+ return (ret9)
+ // return (0x55550005)
+ }
+ m002()
+ m003()
+ while (0xabcd0008) {
+ if (LEqual(arg0, 6)) {
+ Store(Store(CopyObject(Store(Store(Store(Store(Store(
+ m008(arg0, arg1, arg2, arg3, arg4, arg5, arg6),
+ r900), r901), r902), r903), r904), r905), r906), ret9)
+ return (ret9)
+ // return (0x55550006)
+ }
+ if (0xabcd0009) {
+ if (LEqual(arg0, 7)) {
+ Store(Store(CopyObject(Store(Store(Store(Store(Store(
+ m008(arg0, arg1, arg2, arg3, arg4, arg5, arg6),
+ r900), r901), r902), r903), r904), r905), r906), ret9)
+ return (ret9)
+ // return (0x55550007)
+ }
+ while (0xabcd000a) {
+ if (LNotEqual(arg0, 8)) {
+ while (0xabcd000c) {
+ if (0xabcd000d) {
+ while (0xabcd000e) {
+ if (0xabcd000f) {
+ if (0) {
+ Store("Impossible 0", Debug)
+ } else {
+ if (0xabcd0010) {
+ Store(100, i003)
+ switch (i003) {
+ case (1) {
+ return (0xdddd0000)
+ }
+ case (2) {
+ return (0xdddd0001)
+ }
+ Default {
+ Store(Store(CopyObject(Store(Store(Store(Store(Store(
+ m008(arg0, arg1, arg2, arg3, arg4, arg5, arg6),
+ r900), r901), r902), r903), r904), r905), r906), ret9)
+ return (ret9)
+ // return (0x55550009)
+ }
+ }
+ return (0xdddd0002)
+ }
+ }
+ }
+ }
+ }
+ }
+ m000()
+ m001()
+ } else {
+ m002()
+ m003()
+ Store(1, i003)
+ switch (i003) {
+ case (1) {
+ Store(Store(CopyObject(Store(Store(Store(Store(Store(
+ m008(arg0, arg1, arg2, arg3, arg4, arg5, arg6),
+ r900), r901), r902), r903), r904), r905), r906), ret9)
+ return (ret9)
+ // return (0x55550008)
+ }
+ case (2) {
+ return (0xdddd0003)
+ }
+ Default {
+ return (0xdddd0004)
+ }
+ }
+ return (0xdddd0005)
+ }
+ }
+ }
+ }
+ m000()
+ m001()
+ m002()
+ m003()
+ } else {
+ Store(2, i003)
+ switch (i003) {
+ case (1) {
+ return (0xdddd0006)
+ }
+ case (2) {
+ Store(Store(CopyObject(Store(Store(Store(Store(Store(
+ m008(arg0, arg1, arg2, arg3, arg4, arg5, arg6),
+ r900), r901), r902), r903), r904), r905), r906), ret9)
+ return (ret9)
+ // return (0x55550004)
+ }
+ Default {
+ return (0xdddd0007)
+ }
+ }
+ return (0xdddd0008)
+ }
+ }
+ }
+ } /* Default 0xabcd0300 */
+ } /* Switch (0xabcd0200) */
+ }
+ } else {
+ Store(Store(CopyObject(Store(Store(Store(Store(Store(
+ m008(arg0, arg1, arg2, arg3, arg4, arg5, arg6),
+ r900), r901), r902), r903), r904), r905), r906), ret9)
+ return (ret9)
+ // return (0x55550002)
+ }
+ }
+ }
+ } /* case (0xabcd0100) */
+ } /* Switch (0xabcd0100) */
+ }
+
+ return (ret9)
+ } /* m009 */
+
+ Store(arg0, Local0)
+ Store(arg1, Local1)
+ Store(arg2, Local2)
+ Store(arg3, Local3)
+ Store(arg4, Local4)
+ Store(arg5, Local5)
+ Store(arg6, Local6)
+
+ if (LEqual(md00, 0)) {
+ CopyObject(Store(CopyObject(Store(CopyObject(CopyObject(Store(Store(
+ m008(arg0, arg1, arg2, arg3, arg4, arg5, arg6),
+ r700), r701), r702), r703), r704), r705), r706), ret7)
+ } else {
+ Store(Store(Store(Store(Store(Store(Store(Store(
+ m009(arg0, arg1, arg2, arg3, arg4, arg5, arg6),
+ r700), r701), r702), r703), r704), r705), r706), ret7)
+ }
+
+ m4c0(ts, arg0, Local0, Local0)
+ m4c0(ts, arg1, Local1, Local1)
+ m4c0(ts, arg2, Local2, Local2)
+ m4c0(ts, arg3, Local3, Local3)
+ m4c0(ts, arg4, Local4, Local4)
+ m4c0(ts, arg5, Local5, Local5)
+ m4c0(ts, arg6, Local6, Local6)
+
+ return (ret7)
+ } /* m007 */
+
+ Store(arg0, Local0)
+ Store(arg1, Local1)
+ Store(arg2, Local2)
+ Store(arg3, Local3)
+ Store(arg4, Local4)
+ Store(arg5, Local5)
+ Store(arg6, Local6)
+
+// CopyObject(CopyObject(CopyObject(CopyObject(CopyObject(CopyObject(CopyObject(CopyObject(
+ CopyObject(CopyObject(CopyObject(CopyObject(CopyObject(CopyObject(CopyObject(Store(
+ m007(arg0, arg1, arg2, arg3, arg4, arg5, arg6),
+ r600), r601), r602), r603), r604), r605), r606), ret6)
+
+ m4c0(ts, arg0, Local0, Local0)
+ m4c0(ts, arg1, Local1, Local1)
+ m4c0(ts, arg2, Local2, Local2)
+ m4c0(ts, arg3, Local3, Local3)
+ m4c0(ts, arg4, Local4, Local4)
+ m4c0(ts, arg5, Local5, Local5)
+ m4c0(ts, arg6, Local6, Local6)
+
+ return (ret6)
+ } /* m006 */
+
+ Store(arg0, Local0)
+ Store(arg1, Local1)
+ Store(arg2, Local2)
+ Store(arg3, Local3)
+ Store(arg4, Local4)
+ Store(arg5, Local5)
+ Store(arg6, Local6)
+
+ Store(Store(Store(Store(Store(Store(Store(Store(
+ m006(arg0, arg1, arg2, arg3, arg4, arg5, arg6),
+ r500), r501), r502), r503), r504), r505), r506), ret5)
+
+ m4c0(ts, arg0, Local0, Local0)
+ m4c0(ts, arg1, Local1, Local1)
+ m4c0(ts, arg2, Local2, Local2)
+ m4c0(ts, arg3, Local3, Local3)
+ m4c0(ts, arg4, Local4, Local4)
+ m4c0(ts, arg5, Local5, Local5)
+ m4c0(ts, arg6, Local6, Local6)
+
+ return (ret5)
+ } /* m005 */
+
+ Store(arg0, Local0)
+ Store(arg1, Local1)
+ Store(arg2, Local2)
+ Store(arg3, Local3)
+ Store(arg4, Local4)
+ Store(arg5, Local5)
+ Store(arg6, Local6)
+
+ Store(Store(Store(Store(Store(Store(Store(Store(
+ m005(arg0, arg1, arg2, arg3, arg4, arg5, arg6),
+ r400), r401), r402), r403), r404), r405), r406), ret4)
+
+ m4c0(ts, arg0, Local0, Local0)
+ m4c0(ts, arg1, Local1, Local1)
+ m4c0(ts, arg2, Local2, Local2)
+ m4c0(ts, arg3, Local3, Local3)
+ m4c0(ts, arg4, Local4, Local4)
+ m4c0(ts, arg5, Local5, Local5)
+ m4c0(ts, arg6, Local6, Local6)
+
+ return (ret4)
+ } /* m004 */
+
+ // ===================== 0:
+
+ Store(0x55550000, cmp0)
+ Store(0, Local0)
+ Store(0xaaaa0001, Local1)
+ Store(0xaaaa0002, Local2)
+ Store(0xaaaa0003, Local3)
+ Store(0xaaaa0004, Local4)
+ Store(0xaaaa0005, Local5)
+ Store(0xaaaa0006, Local6)
+ Store(0xaaaa0007, Local7)
+
+ Store(
+ m004(Local0, Local1, Local2, Local3, Local4, Local5, Local6),
+ i000)
+ if (LNotEqual(i000, cmp0)) {
+ err("", z139, 0x000, 0, 0, i000, cmp0)
+ }
+ m4c0(ts, Local0, 0, 0)
+ m4c0(ts, Local1, 0xaaaa0001, 0xaaaa0001)
+ m4c0(ts, Local2, 0xaaaa0002, 0xaaaa0002)
+ m4c0(ts, Local3, 0xaaaa0003, 0xaaaa0003)
+ m4c0(ts, Local4, 0xaaaa0004, 0xaaaa0004)
+ m4c0(ts, Local5, 0xaaaa0005, 0xaaaa0005)
+ m4c0(ts, Local6, 0xaaaa0006, 0xaaaa0006)
+ m4c0(ts, Local7, 0xaaaa0007, 0xaaaa0007)
+
+ // ===================== 1:
+
+ Store(0x55550001, cmp0)
+ Store(1, Local0)
+
+ Store(
+ m004(Local0, Local1, Local2, Local3, Local4, Local5, Local6),
+ i000)
+ if (LNotEqual(i000, cmp0)) {
+ err("", z139, 0x001, 0, 0, i000, cmp0)
+ }
+ m4c0(ts, Local0, 1, 1)
+ m4c0(ts, Local1, 0xaaaa0001, 0xaaaa0001)
+ m4c0(ts, Local2, 0xaaaa0002, 0xaaaa0002)
+ m4c0(ts, Local3, 0xaaaa0003, 0xaaaa0003)
+ m4c0(ts, Local4, 0xaaaa0004, 0xaaaa0004)
+ m4c0(ts, Local5, 0xaaaa0005, 0xaaaa0005)
+ m4c0(ts, Local6, 0xaaaa0006, 0xaaaa0006)
+ m4c0(ts, Local7, 0xaaaa0007, 0xaaaa0007)
+
+ // ===================== 2:
+
+ Store(0x55550002, cmp0)
+ Store(2, Local0)
+
+ Store(
+ m004(Local0, Local1, Local2, Local3, Local4, Local5, Local6),
+ i000)
+ if (LNotEqual(i000, cmp0)) {
+ err("", z139, 0x002, 0, 0, i000, cmp0)
+ }
+ m4c0(ts, Local0, 2, 2)
+ m4c0(ts, Local1, 0xaaaa0001, 0xaaaa0001)
+ m4c0(ts, Local2, 0xaaaa0002, 0xaaaa0002)
+ m4c0(ts, Local3, 0xaaaa0003, 0xaaaa0003)
+ m4c0(ts, Local4, 0xaaaa0004, 0xaaaa0004)
+ m4c0(ts, Local5, 0xaaaa0005, 0xaaaa0005)
+ m4c0(ts, Local6, 0xaaaa0006, 0xaaaa0006)
+ m4c0(ts, Local7, 0xaaaa0007, 0xaaaa0007)
+
+ // ===================== 3:
+
+ Store(0x55550003, cmp0)
+ Store(3, Local0)
+
+ Store(
+ m004(Local0, Local1, Local2, Local3, Local4, Local5, Local6),
+ i000)
+ if (LNotEqual(i000, cmp0)) {
+ err("", z139, 0x003, 0, 0, i000, cmp0)
+ }
+ m4c0(ts, Local0, 3, 3)
+ m4c0(ts, Local1, 0xaaaa0001, 0xaaaa0001)
+ m4c0(ts, Local2, 0xaaaa0002, 0xaaaa0002)
+ m4c0(ts, Local3, 0xaaaa0003, 0xaaaa0003)
+ m4c0(ts, Local4, 0xaaaa0004, 0xaaaa0004)
+ m4c0(ts, Local5, 0xaaaa0005, 0xaaaa0005)
+ m4c0(ts, Local6, 0xaaaa0006, 0xaaaa0006)
+ m4c0(ts, Local7, 0xaaaa0007, 0xaaaa0007)
+
+ // ===================== 4:
+
+ Store(0x55550004, cmp0)
+ Store(4, Local0)
+
+ Store(
+ m004(Local0, Local1, Local2, Local3, Local4, Local5, Local6),
+ i000)
+ if (LNotEqual(i000, cmp0)) {
+ err("", z139, 0x004, 0, 0, i000, cmp0)
+ }
+ m4c0(ts, Local0, 4, 4)
+ m4c0(ts, Local1, 0xaaaa0001, 0xaaaa0001)
+ m4c0(ts, Local2, 0xaaaa0002, 0xaaaa0002)
+ m4c0(ts, Local3, 0xaaaa0003, 0xaaaa0003)
+ m4c0(ts, Local4, 0xaaaa0004, 0xaaaa0004)
+ m4c0(ts, Local5, 0xaaaa0005, 0xaaaa0005)
+ m4c0(ts, Local6, 0xaaaa0006, 0xaaaa0006)
+ m4c0(ts, Local7, 0xaaaa0007, 0xaaaa0007)
+
+ // ===================== 5:
+
+ Store(0x55550005, cmp0)
+ Store(5, Local0)
+
+ Store(
+ m004(Local0, Local1, Local2, Local3, Local4, Local5, Local6),
+ i000)
+ if (LNotEqual(i000, cmp0)) {
+ err("", z139, 0x005, 0, 0, i000, cmp0)
+ }
+ m4c0(ts, Local0, 5, 5)
+ m4c0(ts, Local1, 0xaaaa0001, 0xaaaa0001)
+ m4c0(ts, Local2, 0xaaaa0002, 0xaaaa0002)
+ m4c0(ts, Local3, 0xaaaa0003, 0xaaaa0003)
+ m4c0(ts, Local4, 0xaaaa0004, 0xaaaa0004)
+ m4c0(ts, Local5, 0xaaaa0005, 0xaaaa0005)
+ m4c0(ts, Local6, 0xaaaa0006, 0xaaaa0006)
+ m4c0(ts, Local7, 0xaaaa0007, 0xaaaa0007)
+
+ // ===================== 6:
+
+ Store(0x55550006, cmp0)
+ Store(6, Local0)
+
+ Store(
+ m004(Local0, Local1, Local2, Local3, Local4, Local5, Local6),
+ i000)
+ if (LNotEqual(i000, cmp0)) {
+ err("", z139, 0x006, 0, 0, i000, cmp0)
+ }
+ m4c0(ts, Local0, 6, 6)
+ m4c0(ts, Local1, 0xaaaa0001, 0xaaaa0001)
+ m4c0(ts, Local2, 0xaaaa0002, 0xaaaa0002)
+ m4c0(ts, Local3, 0xaaaa0003, 0xaaaa0003)
+ m4c0(ts, Local4, 0xaaaa0004, 0xaaaa0004)
+ m4c0(ts, Local5, 0xaaaa0005, 0xaaaa0005)
+ m4c0(ts, Local6, 0xaaaa0006, 0xaaaa0006)
+ m4c0(ts, Local7, 0xaaaa0007, 0xaaaa0007)
+
+ // ===================== 7:
+
+ Store(0x55550007, cmp0)
+ Store(7, Local0)
+
+ Store(
+ m004(Local0, Local1, Local2, Local3, Local4, Local5, Local6),
+ i000)
+ if (LNotEqual(i000, cmp0)) {
+ err("", z139, 0x007, 0, 0, i000, cmp0)
+ }
+ m4c0(ts, Local0, 7, 7)
+ m4c0(ts, Local1, 0xaaaa0001, 0xaaaa0001)
+ m4c0(ts, Local2, 0xaaaa0002, 0xaaaa0002)
+ m4c0(ts, Local3, 0xaaaa0003, 0xaaaa0003)
+ m4c0(ts, Local4, 0xaaaa0004, 0xaaaa0004)
+ m4c0(ts, Local5, 0xaaaa0005, 0xaaaa0005)
+ m4c0(ts, Local6, 0xaaaa0006, 0xaaaa0006)
+ m4c0(ts, Local7, 0xaaaa0007, 0xaaaa0007)
+
+ // ===================== 8:
+
+ Store(0x55550008, cmp0)
+ Store(8, Local0)
+
+ Store(
+ m004(Local0, Local1, Local2, Local3, Local4, Local5, Local6),
+ i000)
+ if (LNotEqual(i000, cmp0)) {
+ err("", z139, 0x008, 0, 0, i000, cmp0)
+ }
+ m4c0(ts, Local0, 8, 8)
+ m4c0(ts, Local1, 0xaaaa0001, 0xaaaa0001)
+ m4c0(ts, Local2, 0xaaaa0002, 0xaaaa0002)
+ m4c0(ts, Local3, 0xaaaa0003, 0xaaaa0003)
+ m4c0(ts, Local4, 0xaaaa0004, 0xaaaa0004)
+ m4c0(ts, Local5, 0xaaaa0005, 0xaaaa0005)
+ m4c0(ts, Local6, 0xaaaa0006, 0xaaaa0006)
+ m4c0(ts, Local7, 0xaaaa0007, 0xaaaa0007)
+
+ // ===================== 9:
+
+ Store(0x55550009, cmp0)
+ Store(9, Local0)
+
+ Store(
+ m004(Local0, Local1, Local2, Local3, Local4, Local5, Local6),
+ i000)
+ if (LNotEqual(i000, cmp0)) {
+ err("", z139, 0x009, 0, 0, i000, cmp0)
+ }
+ m4c0(ts, Local0, 9, 9)
+ m4c0(ts, Local1, 0xaaaa0001, 0xaaaa0001)
+ m4c0(ts, Local2, 0xaaaa0002, 0xaaaa0002)
+ m4c0(ts, Local3, 0xaaaa0003, 0xaaaa0003)
+ m4c0(ts, Local4, 0xaaaa0004, 0xaaaa0004)
+ m4c0(ts, Local5, 0xaaaa0005, 0xaaaa0005)
+ m4c0(ts, Local6, 0xaaaa0006, 0xaaaa0006)
+ m4c0(ts, Local7, 0xaaaa0007, 0xaaaa0007)
+}
+
+Method(mf73)
+{
+ SRMT("mf72(0)")
+ mf72(0)
+
+ SRMT("mf72(1)")
+ mf72(1)
+}
diff --git a/tests/aslts/src/runtime/collections/functional/control/ctl0.asl b/tests/aslts/src/runtime/collections/functional/control/ctl0.asl
new file mode 100644
index 000000000..50398f54f
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/control/ctl0.asl
@@ -0,0 +1,173 @@
+/*
+ * 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.
+ */
+
+/*
+ * Method execution control
+ *
+ * Simple checkings for {if,elseif,else} operators
+ * One level {if,elseif,else}
+ */
+
+Name(z003, 3)
+
+Method(m070, 1)
+{
+ Store(0x12345678, Local0)
+
+ if (LEqual(arg0, 0)) {
+ Store(0, Local0)
+ }
+
+ return (Local0)
+}
+
+Method(m071, 1)
+{
+ Store(0x12345678, Local0)
+
+ if (LEqual(arg0, 0)) {
+ Store(0, Local0)
+ } else {
+ Store(1, Local0)
+ }
+
+ return (Local0)
+}
+
+Method(m072, 1)
+{
+ Store(0x12345678, Local0)
+
+ if (LEqual(arg0, 0)) {
+ Store(0, Local0)
+ } elseif (LEqual(arg0, 1)) {
+ Store(1, Local0)
+ }
+
+ return (Local0)
+}
+
+Method(m073, 1)
+{
+ Store(0x12345678, Local0)
+
+ if (LEqual(arg0, 0)) {
+ Store(0, Local0)
+ } elseif (LEqual(arg0, 1)) {
+ Store(1, Local0)
+ } else {
+ Store(2, Local0)
+ }
+
+ return (Local0)
+}
+
+// Run verify methods
+// NOTE: use here as few control operators as possible
+Method(m074)
+{
+ Name(ts, "m074")
+
+ Store("TEST: m074, One level {if, elseif, else}", Debug)
+
+ // m070
+
+ Store(0, Local7)
+ Store(m070(Local7), Local0)
+ if (LNotEqual(Local0, Local7)){
+ err(ts, z003, 0, 0, 0, Local7, 0)
+ }
+
+ Store(0x12345678, Local7)
+ Store(m070(Local7), Local0)
+ if (LNotEqual(Local0, Local7)){
+ err(ts, z003, 1, 0, 0, Local7, 0)
+ }
+
+ // m071
+
+ Store(0, Local7)
+ While(LLess(Local7, 2)) {
+ Store(m071(Local7), Local0)
+ if (LNotEqual(Local0, Local7)){
+ err(ts, z003, 2, 0, 0, Local7, 0)
+ }
+ Increment(Local7)
+ }
+
+ Store(0x12345678, Local7)
+ Store(m071(Local7), Local0)
+ if (LNotEqual(Local0, 1)){
+ err(ts, z003, 3, 0, 0, Local7, 0)
+ }
+
+ // m072
+
+ Store(0, Local7)
+ While(LLess(Local7, 2)) {
+ Store(m072(Local7), Local0)
+ if (LNotEqual(Local0, Local7)){
+ err(ts, z003, 4, 0, 0, Local7, 0)
+ }
+ Increment(Local7)
+ }
+
+ Store(0x12345678, Local7)
+ Store(m072(Local7), Local0)
+ if (LNotEqual(Local0, Local7)){
+ err(ts, z003, 5, 0, 0, Local7, 0)
+ }
+
+ // m073
+
+ Store(0, Local7)
+ While(LLess(Local7, 3)) {
+ Store(m073(Local7), Local0)
+ if (LNotEqual(Local0, Local7)){
+ err(ts, z003, 6, 0, 0, Local7, 0)
+ }
+ Increment(Local7)
+ }
+
+ Store(0x12345678, Local7)
+ Store(m073(Local7), Local0)
+ if (LNotEqual(Local0, 2)){
+ err(ts, z003, 7, 0, 0, Local7, 0)
+ }
+}
+
+// Run-method
+Method(CTL0)
+{
+ Store("TEST: CTL0, Conditional execution", Debug)
+
+ m074()
+}
+
diff --git a/tests/aslts/src/runtime/collections/functional/control/ctl1.asl b/tests/aslts/src/runtime/collections/functional/control/ctl1.asl
new file mode 100644
index 000000000..bad6958ea
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/control/ctl1.asl
@@ -0,0 +1,2061 @@
+/*
+ * 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.
+ */
+
+/*
+ * Method execution control
+ *
+ * Simple checkings for {if,elseif,else} operators
+ * Two levels embedded {if,elseif,else}
+ */
+
+Name(z004, 4)
+
+/////////////// {if}
+
+Method(m080, 1)
+{
+ Store(0x12345678, Local0)
+
+ if (RNG0(arg0, 0, 1)) {
+ Store(0, Local0)
+ if (LEqual(arg0, 1)) {
+ Store(1, Local0)
+ }
+ }
+
+ return (Local0)
+}
+
+Method(m081, 1)
+{
+ Store(0x12345678, Local0)
+
+ if (RNG0(arg0, 0, 2)) {
+ Store(0, Local0)
+ if (LEqual(arg0, 1)) {
+ Store(1, Local0)
+ } else {
+ Store(2, Local0)
+ }
+ }
+
+ return (Local0)
+}
+
+Method(m082, 1)
+{
+ Store(0x12345678, Local0)
+
+ if (RNG0(arg0, 0, 2)) {
+ Store(0, Local0)
+ if (LEqual(arg0, 1)) {
+ Store(1, Local0)
+ } elseif (LEqual(arg0, 2)) {
+ Store(2, Local0)
+ }
+ }
+
+ return (Local0)
+}
+
+Method(m083, 1)
+{
+ Store(0x12345678, Local0)
+
+ if (RNG0(arg0, 0, 3)) {
+ Store(0, Local0)
+ if (LEqual(arg0, 1)) {
+ Store(1, Local0)
+ } elseif (LEqual(arg0, 2)) {
+ Store(2, Local0)
+ } else {
+ Store(3, Local0)
+ }
+ }
+
+ return (Local0)
+}
+
+/////////////// {if,else} {if}
+
+Method(m090, 1)
+{
+ Store(0x12345678, Local0)
+
+ if (RNG0(arg0, 0, 1)) {
+ Store(0, Local0)
+ if (LEqual(arg0, 1)) {
+ Store(1, Local0)
+ }
+ } else {
+ Store(2, Local0)
+ }
+
+ return (Local0)
+}
+
+Method(m091, 1)
+{
+ Store(0x12345678, Local0)
+
+ if (LEqual(arg0, 0)) {
+ Store(0, Local0)
+ } else {
+ Store(1, Local0)
+ if (LEqual(arg0, 2)) {
+ Store(2, Local0)
+ }
+ }
+
+ return (Local0)
+}
+
+Method(m092, 1)
+{
+ Store(0x12345678, Local0)
+
+ if (RNG0(arg0, 0, 1)) {
+ Store(0, Local0)
+ if (LEqual(arg0, 1)) {
+ Store(1, Local0)
+ }
+ } else {
+ Store(2, Local0)
+ if (LEqual(arg0, 3)) {
+ Store(3, Local0)
+ }
+ }
+
+ return (Local0)
+}
+
+/////////////// {if,else} {if,else}
+
+Method(m093, 1)
+{
+ Store(0x12345678, Local0)
+
+ if (RNG0(arg0, 0, 2)) {
+ Store(0, Local0)
+ if (LEqual(arg0, 1)) {
+ Store(1, Local0)
+ } else {
+ Store(2, Local0)
+ }
+ } else {
+ Store(3, Local0)
+ }
+
+ return (Local0)
+}
+
+Method(m094, 1)
+{
+ Store(0x12345678, Local0)
+
+ if (LEqual(arg0, 0)) {
+ Store(0, Local0)
+ } else {
+ Store(1, Local0)
+ if (LEqual(arg0, 2)) {
+ Store(2, Local0)
+ } else {
+ Store(3, Local0)
+ }
+ }
+
+ return (Local0)
+}
+
+Method(m095, 1)
+{
+ Store(0x12345678, Local0)
+
+ if (RNG0(arg0, 0, 2)) {
+ Store(0, Local0)
+ if (LEqual(arg0, 1)) {
+ Store(1, Local0)
+ } else {
+ Store(2, Local0)
+ }
+ } else {
+ Store(3, Local0)
+ if (LEqual(arg0, 4)) {
+ Store(4, Local0)
+ } else {
+ Store(5, Local0)
+ }
+ }
+
+ return (Local0)
+}
+
+/////////////// {if,else} {if,elseif}
+
+Method(m096, 1)
+{
+ Store(0x12345678, Local0)
+
+ if (RNG0(arg0, 0, 2)) {
+ Store(0, Local0)
+ if (LEqual(arg0, 1)) {
+ Store(1, Local0)
+ } elseif (LEqual(arg0, 2)) {
+ Store(2, Local0)
+ }
+ } else {
+ Store(3, Local0)
+ }
+
+ return (Local0)
+}
+
+Method(m097, 1)
+{
+ Store(0x12345678, Local0)
+
+ if (LEqual(arg0, 0)) {
+ Store(0, Local0)
+ } else {
+ Store(1, Local0)
+ if (LEqual(arg0, 2)) {
+ Store(2, Local0)
+ } elseif (LEqual(arg0, 3)) {
+ Store(3, Local0)
+ }
+ }
+
+ return (Local0)
+}
+
+Method(m098, 1)
+{
+ Store(0x12345678, Local0)
+
+ if (RNG0(arg0, 0, 2)) {
+ Store(0, Local0)
+ if (LEqual(arg0, 1)) {
+ Store(1, Local0)
+ } elseif (LEqual(arg0, 2)) {
+ Store(2, Local0)
+ }
+ } else {
+ Store(3, Local0)
+ if (LEqual(arg0, 4)) {
+ Store(4, Local0)
+ } elseif (LEqual(arg0, 5)) {
+ Store(5, Local0)
+ }
+ }
+
+ return (Local0)
+}
+
+/////////////// {if,else} {if,elseif,else}
+
+Method(m099, 1)
+{
+ Store(0x12345678, Local0)
+
+ if (RNG0(arg0, 0, 3)) {
+ Store(0, Local0)
+ if (LEqual(arg0, 1)) {
+ Store(1, Local0)
+ } elseif (LEqual(arg0, 2)) {
+ Store(2, Local0)
+ } else {
+ Store(3, Local0)
+ }
+ } else {
+ Store(4, Local0)
+ }
+
+ return (Local0)
+}
+
+Method(m09a, 1)
+{
+ Store(0x12345678, Local0)
+
+ if (LEqual(arg0, 0)) {
+ Store(0, Local0)
+ } else {
+ Store(1, Local0)
+ if (LEqual(arg0, 2)) {
+ Store(2, Local0)
+ } elseif (LEqual(arg0, 3)) {
+ Store(3, Local0)
+ } else {
+ Store(4, Local0)
+ }
+ }
+
+ return (Local0)
+}
+
+Method(m09b, 1)
+{
+ Store(0x12345678, Local0)
+
+ if (RNG0(arg0, 0, 3)) {
+ Store(0, Local0)
+ if (LEqual(arg0, 1)) {
+ Store(1, Local0)
+ } elseif (LEqual(arg0, 2)) {
+ Store(2, Local0)
+ } else {
+ Store(3, Local0)
+ }
+ } else {
+ Store(4, Local0)
+ if (LEqual(arg0, 5)) {
+ Store(5, Local0)
+ } elseif (LEqual(arg0, 6)) {
+ Store(6, Local0)
+ } else {
+ Store(7, Local0)
+ }
+ }
+
+ return (Local0)
+}
+
+/////////////// {if,elseif} {if}
+
+Method(m09c, 1)
+{
+ Store(0x12345678, Local0)
+
+ if (RNG0(arg0, 0, 1)) {
+ Store(0, Local0)
+ if (LEqual(arg0, 1)) {
+ Store(1, Local0)
+ }
+ } elseif (LEqual(arg0, 2)) {
+ Store(2, Local0)
+ }
+
+ return (Local0)
+}
+
+Method(m09d, 1)
+{
+ Store(0x12345678, Local0)
+
+ if (LEqual(arg0, 0)) {
+ Store(0, Local0)
+ } elseif (RNG0(arg0, 1, 2)) {
+ Store(1, Local0)
+ if (LEqual(arg0, 2)) {
+ Store(2, Local0)
+ }
+ }
+
+ return (Local0)
+}
+
+Method(m09e, 1)
+{
+ Store(0x12345678, Local0)
+
+ if (RNG0(arg0, 0, 1)) {
+ Store(0, Local0)
+ if (LEqual(arg0, 1)) {
+ Store(1, Local0)
+ }
+ } elseif (RNG0(arg0, 2, 3)) {
+ Store(2, Local0)
+ if (LEqual(arg0, 3)) {
+ Store(3, Local0)
+ }
+ }
+
+ return (Local0)
+}
+
+/////////////// {if,elseif} {if,else}
+
+Method(m09f, 1)
+{
+ Store(0x12345678, Local0)
+
+ if (RNG0(arg0, 0, 2)) {
+ Store(0, Local0)
+ if (LEqual(arg0, 1)) {
+ Store(1, Local0)
+ } else {
+ Store(2, Local0)
+ }
+ } elseif (LEqual(arg0, 3)) {
+ Store(3, Local0)
+ }
+
+ return (Local0)
+}
+
+Method(m0a0, 1)
+{
+ Store(0x12345678, Local0)
+
+ if (LEqual(arg0, 0)) {
+ Store(0, Local0)
+ } elseif (RNG0(arg0, 1, 3)) {
+ Store(1, Local0)
+ if (LEqual(arg0, 2)) {
+ Store(2, Local0)
+ } else {
+ Store(3, Local0)
+ }
+ }
+
+ return (Local0)
+}
+
+Method(m0a1, 1)
+{
+ Store(0x12345678, Local0)
+
+ if (RNG0(arg0, 0, 2)) {
+ Store(0, Local0)
+ if (LEqual(arg0, 1)) {
+ Store(1, Local0)
+ } else {
+ Store(2, Local0)
+ }
+ } elseif (RNG0(arg0, 3, 5)) {
+ Store(3, Local0)
+ if (LEqual(arg0, 4)) {
+ Store(4, Local0)
+ } else {
+ Store(5, Local0)
+ }
+ }
+
+ return (Local0)
+}
+
+/////////////// {if,elseif} {if,elseif}
+
+Method(m0a2, 1)
+{
+ Store(0x12345678, Local0)
+
+ if (RNG0(arg0, 0, 2)) {
+ Store(0, Local0)
+ if (LEqual(arg0, 1)) {
+ Store(1, Local0)
+ } elseif (LEqual(arg0, 2)) {
+ Store(2, Local0)
+ }
+ } elseif (LEqual(arg0, 3)) {
+ Store(3, Local0)
+ }
+
+ return (Local0)
+}
+
+Method(m0a3, 1)
+{
+ Store(0x12345678, Local0)
+
+ if (LEqual(arg0, 0)) {
+ Store(0, Local0)
+ } elseif (RNG0(arg0, 1, 3)) {
+ Store(1, Local0)
+ if (LEqual(arg0, 2)) {
+ Store(2, Local0)
+ } elseif (LEqual(arg0, 3)) {
+ Store(3, Local0)
+ }
+ }
+
+ return (Local0)
+}
+
+Method(m0a4, 1)
+{
+ Store(0x12345678, Local0)
+
+ if (RNG0(arg0, 0, 2)) {
+ Store(0, Local0)
+ if (LEqual(arg0, 1)) {
+ Store(1, Local0)
+ } elseif (LEqual(arg0, 2)) {
+ Store(2, Local0)
+ }
+ } elseif (RNG0(arg0, 3, 5)) {
+ Store(3, Local0)
+ if (LEqual(arg0, 4)) {
+ Store(4, Local0)
+ } elseif (LEqual(arg0, 5)) {
+ Store(5, Local0)
+ }
+ }
+
+ return (Local0)
+}
+
+/////////////// {if,elseif} {if,elseif,else}
+
+Method(m0a5, 1)
+{
+ Store(0x12345678, Local0)
+
+ if (RNG0(arg0, 0, 3)) {
+ Store(0, Local0)
+ if (LEqual(arg0, 1)) {
+ Store(1, Local0)
+ } elseif (LEqual(arg0, 2)) {
+ Store(2, Local0)
+ } else {
+ Store(3, Local0)
+ }
+ } elseif (LEqual(arg0, 4)) {
+ Store(4, Local0)
+ }
+
+ return (Local0)
+}
+
+Method(m0a6, 1)
+{
+ Store(0x12345678, Local0)
+
+ if (LEqual(arg0, 0)) {
+ Store(0, Local0)
+ } elseif (RNG0(arg0, 1, 4)) {
+ Store(1, Local0)
+ if (LEqual(arg0, 2)) {
+ Store(2, Local0)
+ } elseif (LEqual(arg0, 3)) {
+ Store(3, Local0)
+ } else {
+ Store(4, Local0)
+ }
+ }
+
+ return (Local0)
+}
+
+Method(m0a7, 1)
+{
+ Store(0x12345678, Local0)
+
+ if (RNG0(arg0, 0, 3)) {
+ Store(0, Local0)
+ if (LEqual(arg0, 1)) {
+ Store(1, Local0)
+ } elseif (LEqual(arg0, 2)) {
+ Store(2, Local0)
+ } else {
+ Store(3, Local0)
+ }
+ } elseif (RNG0(arg0, 4, 7)) {
+ Store(4, Local0)
+ if (LEqual(arg0, 5)) {
+ Store(5, Local0)
+ } elseif (LEqual(arg0, 6)) {
+ Store(6, Local0)
+ } else {
+ Store(7, Local0)
+ }
+ }
+
+ return (Local0)
+}
+
+/////////////// {if,elseif,else} {if} (restricted)
+
+Method(m0a8, 1)
+{
+ Store(0x12345678, Local0)
+
+ if (RNG0(arg0, 0, 1)) {
+ Store(0, Local0)
+ if (LEqual(arg0, 1)) {
+ Store(1, Local0)
+ }
+ } elseif (LEqual(arg0, 2)) {
+ Store(2, Local0)
+ } else {
+ Store(3, Local0)
+ }
+
+ return (Local0)
+}
+
+Method(m0a9, 1)
+{
+ Store(0x12345678, Local0)
+
+ if (LEqual(arg0, 0)) {
+ Store(0, Local0)
+ } elseif (RNG0(arg0, 1, 2)) {
+ Store(1, Local0)
+ if (LEqual(arg0, 2)) {
+ Store(2, Local0)
+ }
+ } else {
+ Store(3, Local0)
+ }
+
+ return (Local0)
+}
+
+Method(m0aa, 1)
+{
+ Store(0x12345678, Local0)
+
+ if (LEqual(arg0, 0)) {
+ Store(0, Local0)
+ } elseif (LEqual(arg0, 1)) {
+ Store(1, Local0)
+ } else {
+ Store(2, Local0)
+ if (LEqual(arg0, 3)) {
+ Store(3, Local0)
+ }
+ }
+
+ return (Local0)
+}
+
+Method(m0ab, 1)
+{
+ Store(0x12345678, Local0)
+
+ if (RNG0(arg0, 0, 1)) {
+ Store(0, Local0)
+ if (LEqual(arg0, 1)) {
+ Store(1, Local0)
+ }
+ } elseif (RNG0(arg0, 2, 3)) {
+ Store(2, Local0)
+ if (LEqual(arg0, 3)) {
+ Store(3, Local0)
+ }
+ } else {
+ Store(4, Local0)
+ if (LEqual(arg0, 5)) {
+ Store(5, Local0)
+ }
+ }
+
+ return (Local0)
+}
+
+/////////////// {if,elseif,else} {if,else} (restricted)
+
+Method(m0ac, 1)
+{
+ Store(0x12345678, Local0)
+
+ if (RNG0(arg0, 0, 2)) {
+ Store(0, Local0)
+ if (LEqual(arg0, 1)) {
+ Store(1, Local0)
+ } else {
+ Store(2, Local0)
+ }
+ } elseif (LEqual(arg0, 3)) {
+ Store(3, Local0)
+ } else {
+ Store(4, Local0)
+ }
+
+ return (Local0)
+}
+
+Method(m0ad, 1)
+{
+ Store(0x12345678, Local0)
+
+ if (LEqual(arg0, 0)) {
+ Store(0, Local0)
+ } elseif (RNG0(arg0, 1, 3)) {
+ Store(1, Local0)
+ if (LEqual(arg0, 2)) {
+ Store(2, Local0)
+ } else {
+ Store(3, Local0)
+ }
+ } else {
+ Store(4, Local0)
+ }
+
+ return (Local0)
+}
+
+Method(m0ae, 1)
+{
+ Store(0x12345678, Local0)
+
+ if (LEqual(arg0, 0)) {
+ Store(0, Local0)
+ } elseif (LEqual(arg0, 1)) {
+ Store(1, Local0)
+ } else {
+ Store(2, Local0)
+ if (LEqual(arg0, 3)) {
+ Store(3, Local0)
+ } else {
+ Store(4, Local0)
+ }
+ }
+
+ return (Local0)
+}
+
+Method(m0af, 1)
+{
+ Store(0x12345678, Local0)
+
+ if (RNG0(arg0, 0, 2)) {
+ Store(0, Local0)
+ if (LEqual(arg0, 1)) {
+ Store(1, Local0)
+ } else {
+ Store(2, Local0)
+ }
+ } elseif (RNG0(arg0, 3, 5)) {
+ Store(3, Local0)
+ if (LEqual(arg0, 4)) {
+ Store(4, Local0)
+ } else {
+ Store(5, Local0)
+ }
+ } else {
+ Store(6, Local0)
+ if (LEqual(arg0, 7)) {
+ Store(7, Local0)
+ } else {
+ Store(8, Local0)
+ }
+ }
+
+ return (Local0)
+}
+
+/////////////// {if,elseif,else} {if,elseif} (restricted)
+
+Method(m0b0, 1)
+{
+ Store(0x12345678, Local0)
+
+ if (RNG0(arg0, 0, 2)) {
+ Store(0, Local0)
+ if (LEqual(arg0, 1)) {
+ Store(1, Local0)
+ } elseif (LEqual(arg0, 2)) {
+ Store(2, Local0)
+ }
+ } elseif (LEqual(arg0, 3)) {
+ Store(3, Local0)
+ } else {
+ Store(4, Local0)
+ }
+
+ return (Local0)
+}
+
+Method(m0b1, 1)
+{
+ Store(0x12345678, Local0)
+
+ if (LEqual(arg0, 0)) {
+ Store(0, Local0)
+ } elseif (RNG0(arg0, 1, 3)) {
+ Store(1, Local0)
+ if (LEqual(arg0, 2)) {
+ Store(2, Local0)
+ } elseif (LEqual(arg0, 3)) {
+ Store(3, Local0)
+ }
+ } else {
+ Store(4, Local0)
+ }
+
+ return (Local0)
+}
+
+Method(m0b2, 1)
+{
+ Store(0x12345678, Local0)
+
+ if (LEqual(arg0, 0)) {
+ Store(0, Local0)
+ } elseif (LEqual(arg0, 1)) {
+ Store(1, Local0)
+ } else {
+ Store(2, Local0)
+ if (LEqual(arg0, 3)) {
+ Store(3, Local0)
+ } elseif (LEqual(arg0, 4)) {
+ Store(4, Local0)
+ }
+ }
+
+ return (Local0)
+}
+
+Method(m0b3, 1)
+{
+ Store(0x12345678, Local0)
+
+ if (RNG0(arg0, 0, 2)) {
+ Store(0, Local0)
+ if (LEqual(arg0, 1)) {
+ Store(1, Local0)
+ } elseif (LEqual(arg0, 2)) {
+ Store(2, Local0)
+ }
+ } elseif (RNG0(arg0, 3, 5)) {
+ Store(3, Local0)
+ if (LEqual(arg0, 4)) {
+ Store(4, Local0)
+ } elseif (LEqual(arg0, 5)) {
+ Store(5, Local0)
+ }
+ } else {
+ Store(6, Local0)
+ if (LEqual(arg0, 7)) {
+ Store(7, Local0)
+ } elseif (LEqual(arg0, 8)) {
+ Store(8, Local0)
+ }
+ }
+
+ return (Local0)
+}
+
+/////////////// {if,elseif,else} {if,elseif,else} (restricted)
+
+Method(m0b4, 1)
+{
+ Store(0x12345678, Local0)
+
+ if (RNG0(arg0, 0, 3)) {
+ Store(0, Local0)
+ if (LEqual(arg0, 1)) {
+ Store(1, Local0)
+ } elseif (LEqual(arg0, 2)) {
+ Store(2, Local0)
+ } else {
+ Store(3, Local0)
+ }
+ } elseif (LEqual(arg0, 4)) {
+ Store(4, Local0)
+ } else {
+ Store(5, Local0)
+ }
+
+ return (Local0)
+}
+
+Method(m0b5, 1)
+{
+ Store(0x12345678, Local0)
+
+ if (LEqual(arg0, 0)) {
+ Store(0, Local0)
+ } elseif (RNG0(arg0, 1, 4)) {
+ Store(1, Local0)
+ if (LEqual(arg0, 2)) {
+ Store(2, Local0)
+ } elseif (LEqual(arg0, 3)) {
+ Store(3, Local0)
+ } else {
+ Store(4, Local0)
+ }
+ } else {
+ Store(5, Local0)
+ }
+
+ return (Local0)
+}
+
+Method(m0b6, 1)
+{
+ Store(0x12345678, Local0)
+
+ if (LEqual(arg0, 0)) {
+ Store(0, Local0)
+ } elseif (LEqual(arg0, 1)) {
+ Store(1, Local0)
+ } else {
+ Store(2, Local0)
+ if (LEqual(arg0, 3)) {
+ Store(3, Local0)
+ } elseif (LEqual(arg0, 4)) {
+ Store(4, Local0)
+ } else {
+ Store(5, Local0)
+ }
+ }
+
+ return (Local0)
+}
+
+Method(m0b7, 1)
+{
+ Store(0x12345678, Local0)
+
+ if (RNG0(arg0, 0, 3)) {
+ Store(0, Local0)
+ if (LEqual(arg0, 1)) {
+ Store(1, Local0)
+ } elseif (LEqual(arg0, 2)) {
+ Store(2, Local0)
+ } else {
+ Store(3, Local0)
+ }
+ } elseif (RNG0(arg0, 4, 7)) {
+ Store(4, Local0)
+ if (LEqual(arg0, 5)) {
+ Store(5, Local0)
+ } elseif (LEqual(arg0, 6)) {
+ Store(6, Local0)
+ } else {
+ Store(7, Local0)
+ }
+ } elseif (RNG0(arg0, 8, 11)) {
+ Store(8, Local0)
+ if (LEqual(arg0, 9)) {
+ Store(9, Local0)
+ } elseif (LEqual(arg0, 10)) {
+ Store(10, Local0)
+ } else {
+ Store(11, Local0)
+ }
+ } else {
+ Store(12, Local0)
+ if (LEqual(arg0, 13)) {
+ Store(13, Local0)
+ } elseif (LEqual(arg0, 14)) {
+ Store(14, Local0)
+ } else {
+ Store(15, Local0)
+ }
+ }
+
+ return (Local0)
+}
+
+//////////////////////////////////////////////////////
+
+// Run verify methods
+// NOTE: use here as few control operators as possible
+Method(m0b8)
+{
+ Name(ts, "m0b8")
+
+ Store("TEST: m0b8, Two levels embedded {if, elseif, else}", Debug)
+
+ // m080
+
+ Store(0, Local7)
+ While(LLessEqual(Local7, 1)) {
+ Store(m080(Local7), Local0)
+ if (LNotEqual(Local0, Local7)){
+ err(ts, z004, 0, 0, 0, Local7, 0)
+ }
+ Increment(Local7)
+ }
+
+ Store(0x12345678, Local7)
+ Store(m080(Local7), Local0)
+ if (LNotEqual(Local0, Local7)){
+ err(ts, z004, 1, 0, 0, Local7, 0)
+ }
+
+ // m081
+
+ Store(0, Local7)
+ Store(m081(Local7), Local0)
+ if (LNotEqual(Local0, 2)){
+ err(ts, z004, 2, 0, 0, Local7, 0)
+ }
+
+ Store(1, Local7)
+ While(LLessEqual(Local7, 2)) {
+ Store(m081(Local7), Local0)
+ if (LNotEqual(Local0, Local7)){
+ err(ts, z004, 3, 0, 0, Local7, 0)
+ }
+ Increment(Local7)
+ }
+
+ Store(0x12345678, Local7)
+ Store(m081(Local7), Local0)
+ if (LNotEqual(Local0, Local7)){
+ err(ts, z004, 4, 0, 0, Local7, 0)
+ }
+
+ // m082
+
+ Store(0, Local7)
+ While(LLessEqual(Local7, 2)) {
+ Store(m082(Local7), Local0)
+ if (LNotEqual(Local0, Local7)){
+ err(ts, z004, 5, 0, 0, Local7, 0)
+ }
+ Increment(Local7)
+ }
+
+ Store(0x12345678, Local7)
+ Store(m082(Local7), Local0)
+ if (LNotEqual(Local0, Local7)){
+ err(ts, z004, 6, 0, 0, Local7, 0)
+ }
+
+ // m083
+
+ Store(0, Local7)
+ Store(m083(Local7), Local0)
+ if (LNotEqual(Local0, 3)){
+ err(ts, z004, 7, 0, 0, Local7, 0)
+ }
+
+ Store(1, Local7)
+ While(LLessEqual(Local7, 3)) {
+ Store(m083(Local7), Local0)
+ if (LNotEqual(Local0, Local7)){
+ err(ts, z004, 8, 0, 0, Local7, 0)
+ }
+ Increment(Local7)
+ }
+
+ Store(0x12345678, Local7)
+ Store(m083(Local7), Local0)
+ if (LNotEqual(Local0, Local7)){
+ err(ts, z004, 9, 0, 0, Local7, 0)
+ }
+
+ // m090
+
+ Store(0, Local7)
+ While(LLessEqual(Local7, 2)) {
+ Store(m090(Local7), Local0)
+ if (LNotEqual(Local0, Local7)){
+ err(ts, z004, 10, 0, 0, Local7, 0)
+ }
+ Increment(Local7)
+ }
+
+ Store(0x12345678, Local7)
+ Store(m090(Local7), Local0)
+ if (LNotEqual(Local0, 2)){
+ err(ts, z004, 11, 0, 0, Local7, 0)
+ }
+
+ // m091
+
+ Store(0, Local7)
+ While(LLessEqual(Local7, 2)) {
+ Store(m091(Local7), Local0)
+ if (LNotEqual(Local0, Local7)){
+ err(ts, z004, 12, 0, 0, Local7, 0)
+ }
+ Increment(Local7)
+ }
+
+ Store(0x12345678, Local7)
+ Store(m091(Local7), Local0)
+ if (LNotEqual(Local0, 1)){
+ err(ts, z004, 13, 0, 0, Local7, 0)
+ }
+
+ // m092
+
+ Store(0, Local7)
+ While(LLessEqual(Local7, 3)) {
+ Store(m092(Local7), Local0)
+ if (LNotEqual(Local0, Local7)){
+ err(ts, z004, 14, 0, 0, Local7, 0)
+ }
+ Increment(Local7)
+ }
+
+ Store(0x12345678, Local7)
+ Store(m092(Local7), Local0)
+ if (LNotEqual(Local0, 2)){
+ err(ts, z004, 15, 0, 0, Local7, 0)
+ }
+
+ // m093
+
+ Store(0, Local7)
+ Store(m093(Local7), Local0)
+ if (LNotEqual(Local0, 2)){
+ err(ts, z004, 16, 0, 0, Local7, 0)
+ }
+
+ Store(1, Local7)
+ While(LLessEqual(Local7, 3)) {
+ Store(m093(Local7), Local0)
+ if (LNotEqual(Local0, Local7)){
+ err(ts, z004, 17, 0, 0, Local7, 0)
+ }
+ Increment(Local7)
+ }
+
+ Store(0x12345678, Local7)
+ Store(m093(Local7), Local0)
+ if (LNotEqual(Local0, 3)){
+ err(ts, z004, 18, 0, 0, Local7, 0)
+ }
+
+ // m094
+
+ Store(0, Local7)
+ Store(m094(Local7), Local0)
+ if (LNotEqual(Local0, Local7)){
+ err(ts, z004, 19, 0, 0, Local7, 0)
+ }
+
+ Store(1, Local7)
+ Store(m094(Local7), Local0)
+ if (LNotEqual(Local0, 3)){
+ err(ts, z004, 20, 0, 0, Local7, 0)
+ }
+
+ Store(2, Local7)
+ While(LLessEqual(Local7, 3)) {
+ Store(m094(Local7), Local0)
+ if (LNotEqual(Local0, Local7)){
+ err(ts, z004, 21, 0, 0, Local7, 0)
+ }
+ Increment(Local7)
+ }
+
+ Store(0x12345678, Local7)
+ Store(m094(Local7), Local0)
+ if (LNotEqual(Local0, 3)){
+ err(ts, z004, 22, 0, 0, Local7, 0)
+ }
+
+ // m095
+
+ Store(0, Local7)
+ Store(m095(Local7), Local0)
+ if (LNotEqual(Local0, 2)){
+ err(ts, z004, 23, 0, 0, Local7, 0)
+ }
+
+ Store(1, Local7)
+ While(LLessEqual(Local7, 2)) {
+ Store(m095(Local7), Local0)
+ if (LNotEqual(Local0, Local7)){
+ err(ts, z004, 24, 0, 0, Local7, 0)
+ }
+ Increment(Local7)
+ }
+
+
+ Store(3, Local7)
+ Store(m095(Local7), Local0)
+ if (LNotEqual(Local0, 5)){
+ err(ts, z004, 25, 0, 0, Local7, 0)
+ }
+
+ Store(4, Local7)
+ While(LLessEqual(Local7, 5)) {
+ Store(m095(Local7), Local0)
+ if (LNotEqual(Local0, Local7)){
+ err(ts, z004, 26, 0, 0, Local7, 0)
+ }
+ Increment(Local7)
+ }
+
+
+ Store(0x12345678, Local7)
+ Store(m095(Local7), Local0)
+ if (LNotEqual(Local0, 5)){
+ err(ts, z004, 27, 0, 0, Local7, 0)
+ }
+
+ // m096
+
+ Store(0, Local7)
+ While(LLessEqual(Local7, 3)) {
+ Store(m096(Local7), Local0)
+ if (LNotEqual(Local0, Local7)){
+ err(ts, z004, 28, 0, 0, Local7, 0)
+ }
+ Increment(Local7)
+ }
+
+ Store(0x12345678, Local7)
+ Store(m096(Local7), Local0)
+ if (LNotEqual(Local0, 3)){
+ err(ts, z004, 29, 0, 0, Local7, 0)
+ }
+
+ // m097
+
+ Store(0, Local7)
+ While(LLessEqual(Local7, 3)) {
+ Store(m097(Local7), Local0)
+ if (LNotEqual(Local0, Local7)){
+ err(ts, z004, 30, 0, 0, Local7, 0)
+ }
+ Increment(Local7)
+ }
+
+ Store(0x12345678, Local7)
+ Store(m097(Local7), Local0)
+ if (LNotEqual(Local0, 1)){
+ err(ts, z004, 31, 0, 0, Local7, 0)
+ }
+
+ // m098
+
+ Store(0, Local7)
+ While(LLessEqual(Local7, 5)) {
+ Store(m098(Local7), Local0)
+ if (LNotEqual(Local0, Local7)){
+ err(ts, z004, 32, 0, 0, Local7, 0)
+ }
+ Increment(Local7)
+ }
+
+ Store(0x12345678, Local7)
+ Store(m098(Local7), Local0)
+ if (LNotEqual(Local0, 3)){
+ err(ts, z004, 33, 0, 0, Local7, 0)
+ }
+
+ // m099
+
+ Store(0, Local7)
+ Store(m099(Local7), Local0)
+ if (LNotEqual(Local0, 3)){
+ err(ts, z004, 34, 0, 0, Local7, 0)
+ }
+
+ Store(1, Local7)
+ While(LLessEqual(Local7, 4)) {
+ Store(m099(Local7), Local0)
+ if (LNotEqual(Local0, Local7)){
+ err(ts, z004, 35, 0, 0, Local7, 0)
+ }
+ Increment(Local7)
+ }
+
+ Store(0x12345678, Local7)
+ Store(m099(Local7), Local0)
+ if (LNotEqual(Local0, 4)){
+ err(ts, z004, 36, 0, 0, Local7, 0)
+ }
+
+ // m09a
+
+ Store(0, Local7)
+ Store(m09a(Local7), Local0)
+ if (LNotEqual(Local0, Local7)){
+ err(ts, z004, 37, 0, 0, Local7, 0)
+ }
+
+ Store(1, Local7)
+ Store(m09a(Local7), Local0)
+ if (LNotEqual(Local0, 4)){
+ err(ts, z004, 38, 0, 0, Local7, 0)
+ }
+
+ Store(2, Local7)
+ While(LLessEqual(Local7, 4)) {
+ Store(m09a(Local7), Local0)
+ if (LNotEqual(Local0, Local7)){
+ err(ts, z004, 39, 0, 0, Local7, 0)
+ }
+ Increment(Local7)
+ }
+
+ Store(0x12345678, Local7)
+ Store(m09a(Local7), Local0)
+ if (LNotEqual(Local0, 4)){
+ err(ts, z004, 40, 0, 0, Local7, 0)
+ }
+
+ // m09b
+
+ Store(0, Local7)
+ Store(m09b(Local7), Local0)
+ if (LNotEqual(Local0, 3)){
+ err(ts, z004, 41, 0, 0, Local7, 0)
+ }
+
+ Store(1, Local7)
+ While(LLessEqual(Local7, 3)) {
+ Store(m09b(Local7), Local0)
+ if (LNotEqual(Local0, Local7)){
+ err(ts, z004, 42, 0, 0, Local7, 0)
+ }
+ Increment(Local7)
+ }
+
+ Store(4, Local7)
+ Store(m09b(Local7), Local0)
+ if (LNotEqual(Local0, 7)){
+ err(ts, z004, 43, 0, 0, Local7, 0)
+ }
+
+ Store(5, Local7)
+ While(LLessEqual(Local7, 7)) {
+ Store(m09b(Local7), Local0)
+ if (LNotEqual(Local0, Local7)){
+ err(ts, z004, 44, 0, 0, Local7, 0)
+ }
+ Increment(Local7)
+ }
+
+ Store(0x12345678, Local7)
+ Store(m09b(Local7), Local0)
+ if (LNotEqual(Local0, 7)){
+ err(ts, z004, 45, 0, 0, Local7, 0)
+ }
+
+ // m09c
+
+ Store(0, Local7)
+ While(LLessEqual(Local7, 2)) {
+ Store(m09c(Local7), Local0)
+ if (LNotEqual(Local0, Local7)){
+ err(ts, z004, 46, 0, 0, Local7, 0)
+ }
+ Increment(Local7)
+ }
+
+ Store(0x12345678, Local7)
+ Store(m09c(Local7), Local0)
+ if (LNotEqual(Local0, Local7)){
+ err(ts, z004, 47, 0, 0, Local7, 0)
+ }
+
+ // m09d
+
+ Store(0, Local7)
+ While(LLessEqual(Local7, 2)) {
+ Store(m09d(Local7), Local0)
+ if (LNotEqual(Local0, Local7)){
+ err(ts, z004, 48, 0, 0, Local7, 0)
+ }
+ Increment(Local7)
+ }
+
+ Store(0x12345678, Local7)
+ Store(m09d(Local7), Local0)
+ if (LNotEqual(Local0, Local7)){
+ err(ts, z004, 49, 0, 0, Local7, 0)
+ }
+
+ // m09e
+
+ Store(0, Local7)
+ While(LLessEqual(Local7, 3)) {
+ Store(m09e(Local7), Local0)
+ if (LNotEqual(Local0, Local7)){
+ err(ts, z004, 50, 0, 0, Local7, 0)
+ }
+ Increment(Local7)
+ }
+
+ Store(0x12345678, Local7)
+ Store(m09e(Local7), Local0)
+ if (LNotEqual(Local0, Local7)){
+ err(ts, z004, 51, 0, 0, Local7, 0)
+ }
+
+ // m09f
+
+ Store(0, Local7)
+ Store(m09f(Local7), Local0)
+ if (LNotEqual(Local0, 2)){
+ err(ts, z004, 52, 0, 0, Local7, 0)
+ }
+
+ Store(1, Local7)
+ While(LLessEqual(Local7, 3)) {
+ Store(m09f(Local7), Local0)
+ if (LNotEqual(Local0, Local7)){
+ err(ts, z004, 53, 0, 0, Local7, 0)
+ }
+ Increment(Local7)
+ }
+
+ Store(0x12345678, Local7)
+ Store(m09f(Local7), Local0)
+ if (LNotEqual(Local0, Local7)){
+ err(ts, z004, 54, 0, 0, Local7, 0)
+ }
+
+ // m0a0
+
+ Store(0, Local7)
+ Store(m0a0(Local7), Local0)
+ if (LNotEqual(Local0, Local7)){
+ err(ts, z004, 55, 0, 0, Local7, 0)
+ }
+
+ Store(1, Local7)
+ Store(m0a0(Local7), Local0)
+ if (LNotEqual(Local0, 3)){
+ err(ts, z004, 56, 0, 0, Local7, 0)
+ }
+
+ Store(2, Local7)
+ While(LLessEqual(Local7, 3)) {
+ Store(m0a0(Local7), Local0)
+ if (LNotEqual(Local0, Local7)){
+ err(ts, z004, 57, 0, 0, Local7, 0)
+ }
+ Increment(Local7)
+ }
+
+ Store(0x12345678, Local7)
+ Store(m0a0(Local7), Local0)
+ if (LNotEqual(Local0, Local7)){
+ err(ts, z004, 58, 0, 0, Local7, 0)
+ }
+
+ // m0a1
+
+ Store(0, Local7)
+ Store(m0a1(Local7), Local0)
+ if (LNotEqual(Local0, 2)){
+ err(ts, z004, 59, 0, 0, Local7, 0)
+ }
+
+ Store(1, Local7)
+ While(LLessEqual(Local7, 2)) {
+ Store(m0a1(Local7), Local0)
+ if (LNotEqual(Local0, Local7)){
+ err(ts, z004, 60, 0, 0, Local7, 0)
+ }
+ Increment(Local7)
+ }
+
+ Store(3, Local7)
+ Store(m0a1(Local7), Local0)
+ if (LNotEqual(Local0, 5)){
+ err(ts, z004, 61, 0, 0, Local7, 0)
+ }
+
+ Store(4, Local7)
+ While(LLessEqual(Local7, 5)) {
+ Store(m0a1(Local7), Local0)
+ if (LNotEqual(Local0, Local7)){
+ err(ts, z004, 62, 0, 0, Local7, 0)
+ }
+ Increment(Local7)
+ }
+
+ Store(0x12345678, Local7)
+ Store(m0a1(Local7), Local0)
+ if (LNotEqual(Local0, Local7)){
+ err(ts, z004, 63, 0, 0, Local7, 0)
+ }
+
+ // m0a2
+
+ Store(0, Local7)
+ While(LLessEqual(Local7, 3)) {
+ Store(m0a2(Local7), Local0)
+ if (LNotEqual(Local0, Local7)){
+ err(ts, z004, 64, 0, 0, Local7, 0)
+ }
+ Increment(Local7)
+ }
+
+ Store(0x12345678, Local7)
+ Store(m0a2(Local7), Local0)
+ if (LNotEqual(Local0, Local7)){
+ err(ts, z004, 65, 0, 0, Local7, 0)
+ }
+
+ // m0a3
+
+ Store(0, Local7)
+ While(LLessEqual(Local7, 3)) {
+ Store(m0a3(Local7), Local0)
+ if (LNotEqual(Local0, Local7)){
+ err(ts, z004, 66, 0, 0, Local7, 0)
+ }
+ Increment(Local7)
+ }
+
+ Store(0x12345678, Local7)
+ Store(m0a3(Local7), Local0)
+ if (LNotEqual(Local0, Local7)){
+ err(ts, z004, 67, 0, 0, Local7, 0)
+ }
+
+ // m0a4
+
+ Store(0, Local7)
+ While(LLessEqual(Local7, 5)) {
+ Store(m0a4(Local7), Local0)
+ if (LNotEqual(Local0, Local7)){
+ err(ts, z004, 68, 0, 0, Local7, 0)
+ }
+ Increment(Local7)
+ }
+
+ Store(0x12345678, Local7)
+ Store(m0a4(Local7), Local0)
+ if (LNotEqual(Local0, Local7)){
+ err(ts, z004, 69, 0, 0, Local7, 0)
+ }
+
+ // m0a5
+
+ Store(0, Local7)
+ Store(m0a5(Local7), Local0)
+ if (LNotEqual(Local0, 3)){
+ err(ts, z004, 70, 0, 0, Local7, 0)
+ }
+
+ Store(1, Local7)
+ While(LLessEqual(Local7, 4)) {
+ Store(m0a5(Local7), Local0)
+ if (LNotEqual(Local0, Local7)){
+ err(ts, z004, 71, 0, 0, Local7, 0)
+ }
+ Increment(Local7)
+ }
+
+ Store(0x12345678, Local7)
+ Store(m0a5(Local7), Local0)
+ if (LNotEqual(Local0, Local7)){
+ err(ts, z004, 72, 0, 0, Local7, 0)
+ }
+
+ // m0a6
+
+ Store(0, Local7)
+ Store(m0a6(Local7), Local0)
+ if (LNotEqual(Local0, Local7)){
+ err(ts, z004, 73, 0, 0, Local7, 0)
+ }
+
+ Store(1, Local7)
+ Store(m0a6(Local7), Local0)
+ if (LNotEqual(Local0, 4)){
+ err(ts, z004, 74, 0, 0, Local7, 0)
+ }
+
+ Store(2, Local7)
+ While(LLessEqual(Local7, 4)) {
+ Store(m0a6(Local7), Local0)
+ if (LNotEqual(Local0, Local7)){
+ err(ts, z004, 75, 0, 0, Local7, 0)
+ }
+ Increment(Local7)
+ }
+
+ Store(0x12345678, Local7)
+ Store(m0a6(Local7), Local0)
+ if (LNotEqual(Local0, Local7)){
+ err(ts, z004, 76, 0, 0, Local7, 0)
+ }
+
+ // m0a7
+
+ Store(0, Local7)
+ Store(m0a7(Local7), Local0)
+ if (LNotEqual(Local0, 3)){
+ err(ts, z004, 77, 0, 0, Local7, 0)
+ }
+
+ Store(1, Local7)
+ While(LLessEqual(Local7, 3)) {
+ Store(m0a7(Local7), Local0)
+ if (LNotEqual(Local0, Local7)){
+ err(ts, z004, 78, 0, 0, Local7, 0)
+ }
+ Increment(Local7)
+ }
+
+ Store(4, Local7)
+ Store(m0a7(Local7), Local0)
+ if (LNotEqual(Local0, 7)){
+ err(ts, z004, 79, 0, 0, Local7, 0)
+ }
+
+ Store(5, Local7)
+ While(LLessEqual(Local7, 7)) {
+ Store(m0a7(Local7), Local0)
+ if (LNotEqual(Local0, Local7)){
+ err(ts, z004, 80, 0, 0, Local7, 0)
+ }
+ Increment(Local7)
+ }
+
+ Store(0x12345678, Local7)
+ Store(m0a7(Local7), Local0)
+ if (LNotEqual(Local0, Local7)){
+ err(ts, z004, 81, 0, 0, Local7, 0)
+ }
+
+ // m0a8
+
+ Store(0, Local7)
+ While(LLessEqual(Local7, 3)) {
+ Store(m0a8(Local7), Local0)
+ if (LNotEqual(Local0, Local7)){
+ err(ts, z004, 82, 0, 0, Local7, 0)
+ }
+ Increment(Local7)
+ }
+
+ Store(0x12345678, Local7)
+ Store(m0a8(Local7), Local0)
+ if (LNotEqual(Local0, 3)){
+ err(ts, z004, 83, 0, 0, Local7, 0)
+ }
+
+ // m0a9
+
+ Store(0, Local7)
+ While(LLessEqual(Local7, 3)) {
+ Store(m0a9(Local7), Local0)
+ if (LNotEqual(Local0, Local7)){
+ err(ts, z004, 84, 0, 0, Local7, 0)
+ }
+ Increment(Local7)
+ }
+
+ Store(0x12345678, Local7)
+ Store(m0a9(Local7), Local0)
+ if (LNotEqual(Local0, 3)){
+ err(ts, z004, 85, 0, 0, Local7, 0)
+ }
+
+ // m0aa
+
+ Store(0, Local7)
+ While(LLessEqual(Local7, 3)) {
+ Store(m0aa(Local7), Local0)
+ if (LNotEqual(Local0, Local7)){
+ err(ts, z004, 86, 0, 0, Local7, 0)
+ }
+ Increment(Local7)
+ }
+
+ Store(0x12345678, Local7)
+ Store(m0aa(Local7), Local0)
+ if (LNotEqual(Local0, 2)){
+ err(ts, z004, 87, 0, 0, Local7, 0)
+ }
+
+ // m0ab
+
+ Store(0, Local7)
+ While(LLessEqual(Local7, 5)) {
+ Store(m0ab(Local7), Local0)
+ if (LNotEqual(Local0, Local7)){
+ err(ts, z004, 88, 0, 0, Local7, 0)
+ }
+ Increment(Local7)
+ }
+
+ Store(0x12345678, Local7)
+ Store(m0ab(Local7), Local0)
+ if (LNotEqual(Local0, 4)){
+ err(ts, z004, 89, 0, 0, Local7, 0)
+ }
+ // m0ac
+
+ Store(0, Local7)
+ Store(m0ac(Local7), Local0)
+ if (LNotEqual(Local0, 2)){
+ err(ts, z004, 90, 0, 0, Local7, 0)
+ }
+
+ Store(1, Local7)
+ While(LLessEqual(Local7, 4)) {
+ Store(m0ac(Local7), Local0)
+ if (LNotEqual(Local0, Local7)){
+ err(ts, z004, 91, 0, 0, Local7, 0)
+ }
+ Increment(Local7)
+ }
+
+ Store(0x12345678, Local7)
+ Store(m0ac(Local7), Local0)
+ if (LNotEqual(Local0, 4)){
+ err(ts, z004, 92, 0, 0, Local7, 0)
+ }
+
+ // m0ad
+
+ Store(0, Local7)
+ Store(m0ad(Local7), Local0)
+ if (LNotEqual(Local0, Local7)){
+ err(ts, z004, 93, 0, 0, Local7, 0)
+ }
+
+ Store(1, Local7)
+ Store(m0ad(Local7), Local0)
+ if (LNotEqual(Local0, 3)){
+ err(ts, z004, 94, 0, 0, Local7, 0)
+ }
+
+ Store(2, Local7)
+ While(LLessEqual(Local7, 4)) {
+ Store(m0ad(Local7), Local0)
+ if (LNotEqual(Local0, Local7)){
+ err(ts, z004, 95, 0, 0, Local7, 0)
+ }
+ Increment(Local7)
+ }
+
+ Store(0x12345678, Local7)
+ Store(m0ad(Local7), Local0)
+ if (LNotEqual(Local0, 4)){
+ err(ts, z004, 96, 0, 0, Local7, 0)
+ }
+
+ // m0ae
+
+ Store(0, Local7)
+ While(LLessEqual(Local7, 1)) {
+ Store(m0ae(Local7), Local0)
+ if (LNotEqual(Local0, Local7)){
+ err(ts, z004, 97, 0, 0, Local7, 0)
+ }
+ Increment(Local7)
+ }
+
+ Store(2, Local7)
+ Store(m0ae(Local7), Local0)
+ if (LNotEqual(Local0, 4)){
+ err(ts, z004, 98, 0, 0, Local7, 0)
+ }
+
+ Store(3, Local7)
+ While(LLessEqual(Local7, 4)) {
+ Store(m0ae(Local7), Local0)
+ if (LNotEqual(Local0, Local7)){
+ err(ts, z004, 99, 0, 0, Local7, 0)
+ }
+ Increment(Local7)
+ }
+
+ Store(0x12345678, Local7)
+ Store(m0ae(Local7), Local0)
+ if (LNotEqual(Local0, 4)){
+ err(ts, z004, 100, 0, 0, Local7, 0)
+ }
+
+ // m0af
+
+
+ Store(0, Local7)
+ Store(m0af(Local7), Local0)
+ if (LNotEqual(Local0, 2)){
+ err(ts, z004, 101, 0, 0, Local7, 0)
+ }
+
+ Store(1, Local7)
+ While(LLessEqual(Local7, 2)) {
+ Store(m0af(Local7), Local0)
+ if (LNotEqual(Local0, Local7)){
+ err(ts, z004, 102, 0, 0, Local7, 0)
+ }
+ Increment(Local7)
+ }
+
+ Store(3, Local7)
+ Store(m0af(Local7), Local0)
+ if (LNotEqual(Local0, 5)){
+ err(ts, z004, 103, 0, 0, Local7, 0)
+ }
+
+ Store(4, Local7)
+ While(LLessEqual(Local7, 5)) {
+ Store(m0af(Local7), Local0)
+ if (LNotEqual(Local0, Local7)){
+ err(ts, z004, 104, 0, 0, Local7, 0)
+ }
+ Increment(Local7)
+ }
+
+
+ Store(6, Local7)
+ Store(m0af(Local7), Local0)
+ if (LNotEqual(Local0, 8)){
+ err(ts, z004, 105, 0, 0, Local7, 0)
+ }
+
+ Store(7, Local7)
+ While(LLessEqual(Local7, 8)) {
+ Store(m0af(Local7), Local0)
+ if (LNotEqual(Local0, Local7)){
+ err(ts, z004, 106, 0, 0, Local7, 0)
+ }
+ Increment(Local7)
+ }
+
+ Store(0x12345678, Local7)
+ Store(m0af(Local7), Local0)
+ if (LNotEqual(Local0, 8)){
+ err(ts, z004, 107, 0, 0, Local7, 0)
+ }
+
+ // m0b0
+
+ Store(0, Local7)
+ While(LLessEqual(Local7, 4)) {
+ Store(m0b0(Local7), Local0)
+ if (LNotEqual(Local0, Local7)){
+ err(ts, z004, 108, 0, 0, Local7, 0)
+ }
+ Increment(Local7)
+ }
+
+ Store(0x12345678, Local7)
+ Store(m0b0(Local7), Local0)
+ if (LNotEqual(Local0, 4)){
+ err(ts, z004, 109, 0, 0, Local7, 0)
+ }
+
+ // m0b1
+
+ Store(0, Local7)
+ While(LLessEqual(Local7, 4)) {
+ Store(m0b1(Local7), Local0)
+ if (LNotEqual(Local0, Local7)){
+ err(ts, z004, 110, 0, 0, Local7, 0)
+ }
+ Increment(Local7)
+ }
+
+ Store(0x12345678, Local7)
+ Store(m0b1(Local7), Local0)
+ if (LNotEqual(Local0, 4)){
+ err(ts, z004, 111, 0, 0, Local7, 0)
+ }
+
+ // m0b2
+
+ Store(0, Local7)
+ While(LLessEqual(Local7, 4)) {
+ Store(m0b2(Local7), Local0)
+ if (LNotEqual(Local0, Local7)){
+ err(ts, z004, 112, 0, 0, Local7, 0)
+ }
+ Increment(Local7)
+ }
+
+ Store(0x12345678, Local7)
+ Store(m0b2(Local7), Local0)
+ if (LNotEqual(Local0, 2)){
+ err(ts, z004, 113, 0, 0, Local7, 0)
+ }
+
+ // m0b3
+
+ Store(0, Local7)
+ While(LLessEqual(Local7, 4)) {
+ Store(m0b3(Local7), Local0)
+ if (LNotEqual(Local0, Local7)){
+ err(ts, z004, 114, 0, 0, Local7, 0)
+ }
+ Increment(Local7)
+ }
+
+ Store(0x12345678, Local7)
+ Store(m0b3(Local7), Local0)
+ if (LNotEqual(Local0, 6)){
+ err(ts, z004, 115, 0, 0, Local7, 0)
+ }
+
+ // m0b4
+
+ Store(0, Local7)
+ Store(m0b4(Local7), Local0)
+ if (LNotEqual(Local0, 3)){
+ err(ts, z004, 116, 0, 0, Local7, 0)
+ }
+
+ Store(1, Local7)
+ While(LLessEqual(Local7, 5)) {
+ Store(m0b4(Local7), Local0)
+ if (LNotEqual(Local0, Local7)){
+ err(ts, z004, 117, 0, 0, Local7, 0)
+ }
+ Increment(Local7)
+ }
+
+ Store(0x12345678, Local7)
+ Store(m0b4(Local7), Local0)
+ if (LNotEqual(Local0, 5)){
+ err(ts, z004, 118, 0, 0, Local7, 0)
+ }
+
+ // m0b5
+
+ Store(0, Local7)
+ Store(m0b5(Local7), Local0)
+ if (LNotEqual(Local0, Local7)){
+ err(ts, z004, 119, 0, 0, Local7, 0)
+ }
+
+ Store(1, Local7)
+ Store(m0b5(Local7), Local0)
+ if (LNotEqual(Local0, 4)){
+ err(ts, z004, 120, 0, 0, Local7, 0)
+ }
+
+ Store(2, Local7)
+ While(LLessEqual(Local7, 5)) {
+ Store(m0b5(Local7), Local0)
+ if (LNotEqual(Local0, Local7)){
+ err(ts, z004, 121, 0, 0, Local7, 0)
+ }
+ Increment(Local7)
+ }
+
+ Store(0x12345678, Local7)
+ Store(m0b5(Local7), Local0)
+ if (LNotEqual(Local0, 5)){
+ err(ts, z004, 122, 0, 0, Local7, 0)
+ }
+
+ // m0b6
+
+ Store(0, Local7)
+ While(LLessEqual(Local7, 1)) {
+ Store(m0b6(Local7), Local0)
+ if (LNotEqual(Local0, Local7)){
+ err(ts, z004, 123, 0, 0, Local7, 0)
+ }
+ Increment(Local7)
+ }
+
+ Store(2, Local7)
+ Store(m0b6(Local7), Local0)
+ if (LNotEqual(Local0, 5)){
+ err(ts, z004, 124, 0, 0, Local7, 0)
+ }
+
+ Store(3, Local7)
+ While(LLessEqual(Local7, 5)) {
+ Store(m0b6(Local7), Local0)
+ if (LNotEqual(Local0, Local7)){
+ err(ts, z004, 125, 0, 0, Local7, 0)
+ }
+ Increment(Local7)
+ }
+
+ Store(0x12345678, Local7)
+ Store(m0b6(Local7), Local0)
+ if (LNotEqual(Local0, 5)){
+ err(ts, z004, 126, 0, 0, Local7, 0)
+ }
+
+ // m0b7
+
+ Store(0, Local7)
+ Store(m0b7(Local7), Local0)
+ if (LNotEqual(Local0, 3)){
+ err(ts, z004, 127, 0, 0, Local7, 0)
+ }
+
+ Store(1, Local7)
+ While(LLessEqual(Local7, 3)) {
+ Store(m0b7(Local7), Local0)
+ if (LNotEqual(Local0, Local7)){
+ err(ts, z004, 128, 0, 0, Local7, 0)
+ }
+ Increment(Local7)
+ }
+
+ Store(4, Local7)
+ Store(m0b7(Local7), Local0)
+ if (LNotEqual(Local0, 7)){
+ err(ts, z004, 129, 0, 0, Local7, 0)
+ }
+
+ Store(5, Local7)
+ While(LLessEqual(Local7, 7)) {
+ Store(m0b7(Local7), Local0)
+ if (LNotEqual(Local0, Local7)){
+ err(ts, z004, 130, 0, 0, Local7, 0)
+ }
+ Increment(Local7)
+ }
+
+ Store(8, Local7)
+ Store(m0b7(Local7), Local0)
+ if (LNotEqual(Local0, 11)){
+ err(ts, z004, 131, 0, 0, Local7, 0)
+ }
+
+ Store(9, Local7)
+ While(LLessEqual(Local7, 11)) {
+ Store(m0b7(Local7), Local0)
+ if (LNotEqual(Local0, Local7)){
+ err(ts, z004, 132, 0, 0, Local7, 0)
+ }
+ Increment(Local7)
+ }
+
+ Store(12, Local7)
+ Store(m0b7(Local7), Local0)
+ if (LNotEqual(Local0, 15)){
+ err(ts, z004, 133, 0, 0, Local7, 0)
+ }
+
+ Store(13, Local7)
+ While(LLessEqual(Local7, 15)) {
+ Store(m0b7(Local7), Local0)
+ if (LNotEqual(Local0, Local7)){
+ err(ts, z004, 134, 0, 0, Local7, 0)
+ }
+ Increment(Local7)
+ }
+
+ Store(0x12345678, Local7)
+ Store(m0b7(Local7), Local0)
+ if (LNotEqual(Local0, 15)){
+ err(ts, z004, 135, 0, 0, Local7, 0)
+ }
+}
+
+// Run-method
+Method(CTL1)
+{
+ Store("TEST: CTL1, Conditional execution", Debug)
+
+ m0b8()
+}
+
diff --git a/tests/aslts/src/runtime/collections/functional/control/ctl2.asl b/tests/aslts/src/runtime/collections/functional/control/ctl2.asl
new file mode 100644
index 000000000..ae45d88ab
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/control/ctl2.asl
@@ -0,0 +1,814 @@
+/*
+ * 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.
+ */
+
+/*
+ * Method execution control
+ *
+ * Conditional execution
+ *
+ * Huge, many levels embedded {if,elseif,else}
+ * Note: it was verified as C program.
+ */
+
+Name(z005, 5)
+
+Method(m040, 1)
+{
+ Store(0x71286345, Local0)
+
+ if (RNG0(arg0, 0, 26)) {
+
+ Store(0, Local0)
+
+ // embedded if (20 levels)
+
+ if (RNG0(arg0, 1, 21)) { // 1
+ Store(1, Local0)
+ if (RNG0(arg0, 2, 21)) {
+ Store(2, Local0)
+ if (RNG0(arg0, 3, 21)) {
+ Store(3, Local0)
+ if (RNG0(arg0, 4, 21)) {
+ Store(4, Local0)
+ if (RNG0(arg0, 5, 21)) {
+ Store(5, Local0)
+ if (RNG0(arg0, 6, 21)) {
+ Store(6, Local0)
+ if (RNG0(arg0, 7, 21)) {
+ Store(7, Local0)
+ if (RNG0(arg0, 8, 21)) {
+ Store(8, Local0)
+ if (RNG0(arg0, 9, 21)) {
+ Store(9, Local0)
+ if (RNG0(arg0, 10, 21)) {
+ Store(10, Local0)
+ if (RNG0(arg0, 11, 21)) { // 11
+ Store(11, Local0)
+ if (RNG0(arg0, 12, 21)) {
+ Store(12, Local0)
+ if (RNG0(arg0, 13, 21)) {
+ Store(13, Local0)
+ if (RNG0(arg0, 14, 21)) {
+ Store(14, Local0)
+ if (RNG0(arg0, 15, 21)) {
+ Store(15, Local0)
+ if (RNG0(arg0, 16, 21)) {
+ Store(16, Local0)
+ if (RNG0(arg0, 17, 21)) {
+ Store(17, Local0)
+ if (RNG0(arg0, 18, 21)) {
+ Store(18, Local0)
+ if (RNG0(arg0, 19, 21)) {
+ Store(19, Local0)
+ if (RNG0(arg0, 20, 21)) {
+ Store(20, Local0)
+ if (LEqual(arg0, 21)) { // 21
+ Store(21, Local0)
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+
+ if (LEqual(arg0, 22)) {
+ Store(22, Local0)
+ } elseif (LEqual(arg0, 23)) {
+ Store(23, Local0)
+ }
+
+ if (LEqual(arg0, 24)) {
+ Store(24, Local0)
+ } elseif (LEqual(arg0, 25)) {
+ Store(25, Local0)
+ } elseif (LEqual(arg0, 26)) {
+ Store(26, Local0)
+ }
+
+ } elseif (RNG0(arg0, 27, 49)) {
+
+ if (LEqual(arg0, 27)) {
+ Store(27, Local0)
+ } else {
+
+ // embedded else (20 levels)
+
+ if (LEqual(arg0, 28)) {
+ Store(28, Local0)
+ } else { // 1
+ if (LEqual(arg0, 29)) {
+ Store(29, Local0)
+ } else {
+ if (LEqual(arg0, 30)) {
+ Store(30, Local0)
+ } else {
+ if (LEqual(arg0, 31)) {
+ Store(31, Local0)
+ } else {
+ if (LEqual(arg0, 32)) {
+ Store(32, Local0)
+ } else {
+ if (LEqual(arg0, 33)) {
+ Store(33, Local0)
+ } else {
+ if (LEqual(arg0, 34)) {
+ Store(34, Local0)
+ } else {
+ if (LEqual(arg0, 35)) {
+ Store(35, Local0)
+ } else {
+ if (LEqual(arg0, 36)) {
+ Store(36, Local0)
+ } else {
+ if (LEqual(arg0, 37)) {
+ Store(37, Local0)
+ } else {
+ if (LEqual(arg0, 38)) {
+ Store(38, Local0)
+ } else { // 11
+ if (LEqual(arg0, 39)) {
+ Store(39, Local0)
+ } else {
+ if (LEqual(arg0, 40)) {
+ Store(40, Local0)
+ } else {
+ if (LEqual(arg0, 41)) {
+ Store(41, Local0)
+ } else {
+ if (LEqual(arg0, 42)) {
+ Store(42, Local0)
+ } else {
+ if (LEqual(arg0, 43)) {
+ Store(43, Local0)
+ } else {
+ if (LEqual(arg0, 44)) {
+ Store(44, Local0)
+ } else {
+ if (LEqual(arg0, 45)) {
+ Store(45, Local0)
+ } else {
+ if (LEqual(arg0, 46)) {
+ Store(46, Local0)
+ } else {
+ if (LEqual(arg0, 47)) {
+ Store(47, Local0)
+ } else {
+ if (LEqual(arg0, 48)) {
+ Store(48, Local0)
+ } else { // 21
+ Store(49, Local0)
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ } elseif (RNG0(arg0, 50, 52)) {
+
+ if (LEqual(arg0, 50)) {
+ Store(50, Local0)
+ } elseif (LEqual(arg0, 51)) {
+ Store(51, Local0)
+ } else {
+ Store(52, Local0)
+ }
+ } elseif (RNG0(arg0, 53, 56)) {
+
+ if (LEqual(arg0, 53)) {
+ Store(53, Local0)
+ } elseif (LEqual(arg0, 54)) {
+ Store(54, Local0)
+ } elseif (LEqual(arg0, 55)) {
+ Store(55, Local0)
+ } else {
+ Store(56, Local0)
+ }
+
+ // 100 elseif
+
+ } elseif (LEqual(arg0, 57)) { // 1
+ Store(57, Local0)
+ } elseif (LEqual(arg0, 58)) {
+ Store(58, Local0)
+ } elseif (LEqual(arg0, 59)) {
+ Store(59, Local0)
+ } elseif (LEqual(arg0, 60)) {
+ Store(60, Local0)
+ } elseif (LEqual(arg0, 61)) {
+ Store(61, Local0)
+ } elseif (LEqual(arg0, 62)) {
+ Store(62, Local0)
+ } elseif (LEqual(arg0, 63)) {
+ Store(63, Local0)
+ } elseif (LEqual(arg0, 64)) {
+ Store(64, Local0)
+ } elseif (LEqual(arg0, 65)) {
+ Store(65, Local0)
+ } elseif (LEqual(arg0, 66)) {
+ Store(66, Local0)
+ } elseif (LEqual(arg0, 67)) { // 11
+ Store(67, Local0)
+ } elseif (LEqual(arg0, 68)) {
+ Store(68, Local0)
+ } elseif (LEqual(arg0, 69)) {
+ Store(69, Local0)
+ } elseif (LEqual(arg0, 70)) {
+ Store(70, Local0)
+ } elseif (LEqual(arg0, 71)) {
+ Store(71, Local0)
+ } elseif (LEqual(arg0, 72)) {
+ Store(72, Local0)
+ } elseif (LEqual(arg0, 73)) {
+ Store(73, Local0)
+ } elseif (LEqual(arg0, 74)) {
+ Store(74, Local0)
+ } elseif (LEqual(arg0, 75)) {
+ Store(75, Local0)
+ } elseif (LEqual(arg0, 76)) {
+ Store(76, Local0)
+ } elseif (LEqual(arg0, 77)) { // 21
+ Store(77, Local0)
+ } elseif (LEqual(arg0, 78)) {
+ Store(78, Local0)
+ } elseif (LEqual(arg0, 79)) {
+ Store(79, Local0)
+ } elseif (LEqual(arg0, 80)) {
+ Store(80, Local0)
+ } elseif (LEqual(arg0, 81)) {
+ Store(81, Local0)
+ } elseif (LEqual(arg0, 82)) {
+ Store(82, Local0)
+ } elseif (LEqual(arg0, 83)) {
+ Store(83, Local0)
+ } elseif (LEqual(arg0, 84)) {
+ Store(84, Local0)
+ } elseif (LEqual(arg0, 85)) {
+ Store(85, Local0)
+ } elseif (LEqual(arg0, 86)) {
+ Store(86, Local0)
+ } elseif (LEqual(arg0, 87)) { // 31
+ Store(87, Local0)
+ } elseif (LEqual(arg0, 88)) {
+ Store(88, Local0)
+ } elseif (LEqual(arg0, 89)) {
+ Store(89, Local0)
+ } elseif (LEqual(arg0, 90)) {
+ Store(90, Local0)
+ } elseif (LEqual(arg0, 91)) {
+ Store(91, Local0)
+ } elseif (LEqual(arg0, 92)) {
+ Store(92, Local0)
+ } elseif (LEqual(arg0, 93)) {
+ Store(93, Local0)
+ } elseif (LEqual(arg0, 94)) {
+ Store(94, Local0)
+ } elseif (LEqual(arg0, 95)) {
+ Store(95, Local0)
+ } elseif (LEqual(arg0, 96)) {
+ Store(96, Local0)
+ } elseif (LEqual(arg0, 97)) { // 41
+ Store(97, Local0)
+ } elseif (LEqual(arg0, 98)) {
+ Store(98, Local0)
+ } elseif (LEqual(arg0, 99)) {
+ Store(99, Local0)
+ } elseif (LEqual(arg0, 100)) {
+ Store(100, Local0)
+ } elseif (LEqual(arg0, 101)) {
+ Store(101, Local0)
+ } elseif (LEqual(arg0, 102)) {
+ Store(102, Local0)
+ } elseif (LEqual(arg0, 103)) {
+ Store(103, Local0)
+ } elseif (LEqual(arg0, 104)) {
+ Store(104, Local0)
+ } elseif (LEqual(arg0, 105)) {
+ Store(105, Local0)
+ } elseif (LEqual(arg0, 106)) {
+ Store(106, Local0)
+ } elseif (LEqual(arg0, 107)) { // 51
+ Store(107, Local0)
+ } elseif (LEqual(arg0, 108)) {
+ Store(108, Local0)
+ } elseif (LEqual(arg0, 109)) {
+ Store(109, Local0)
+ } elseif (LEqual(arg0, 110)) {
+ Store(110, Local0)
+ } elseif (LEqual(arg0, 111)) {
+ Store(111, Local0)
+ } elseif (LEqual(arg0, 112)) {
+ Store(112, Local0)
+ } elseif (LEqual(arg0, 113)) {
+ Store(113, Local0)
+ } elseif (LEqual(arg0, 114)) {
+ Store(114, Local0)
+ } elseif (LEqual(arg0, 115)) {
+ Store(115, Local0)
+ } elseif (LEqual(arg0, 116)) {
+ Store(116, Local0)
+ } elseif (LEqual(arg0, 117)) { // 61
+ Store(117, Local0)
+ } elseif (LEqual(arg0, 118)) {
+ Store(118, Local0)
+ } elseif (LEqual(arg0, 119)) {
+ Store(119, Local0)
+ } elseif (LEqual(arg0, 120)) {
+ Store(120, Local0)
+ } elseif (LEqual(arg0, 121)) {
+ Store(121, Local0)
+ } elseif (LEqual(arg0, 122)) {
+ Store(122, Local0)
+ } elseif (LEqual(arg0, 123)) {
+ Store(123, Local0)
+ } elseif (LEqual(arg0, 124)) {
+ Store(124, Local0)
+ } elseif (LEqual(arg0, 125)) {
+ Store(125, Local0)
+ } elseif (LEqual(arg0, 126)) {
+ Store(126, Local0)
+ } elseif (LEqual(arg0, 127)) { // 71
+ Store(127, Local0)
+ } elseif (LEqual(arg0, 128)) {
+ Store(128, Local0)
+ } elseif (LEqual(arg0, 129)) {
+ Store(129, Local0)
+ } elseif (LEqual(arg0, 130)) {
+ Store(130, Local0)
+ } elseif (LEqual(arg0, 131)) {
+ Store(131, Local0)
+ } elseif (LEqual(arg0, 132)) {
+ Store(132, Local0)
+ } elseif (LEqual(arg0, 133)) {
+ Store(133, Local0)
+ } elseif (LEqual(arg0, 134)) {
+ Store(134, Local0)
+ } elseif (LEqual(arg0, 135)) {
+ Store(135, Local0)
+ } elseif (LEqual(arg0, 136)) {
+ Store(136, Local0)
+ } elseif (LEqual(arg0, 137)) { // 81
+ Store(137, Local0)
+ } elseif (LEqual(arg0, 138)) {
+ Store(138, Local0)
+ } elseif (LEqual(arg0, 139)) {
+ Store(139, Local0)
+ } elseif (LEqual(arg0, 140)) {
+ Store(140, Local0)
+ } elseif (LEqual(arg0, 141)) {
+ Store(141, Local0)
+ } elseif (LEqual(arg0, 142)) {
+ Store(142, Local0)
+ } elseif (LEqual(arg0, 143)) {
+ Store(143, Local0)
+ } elseif (LEqual(arg0, 144)) {
+ Store(144, Local0)
+ } elseif (LEqual(arg0, 145)) {
+ Store(145, Local0)
+ } elseif (LEqual(arg0, 146)) {
+ Store(146, Local0)
+ } elseif (LEqual(arg0, 147)) { // 91
+ Store(147, Local0)
+ } elseif (LEqual(arg0, 148)) {
+ Store(148, Local0)
+ } elseif (LEqual(arg0, 149)) {
+ Store(149, Local0)
+ } elseif (LEqual(arg0, 150)) {
+ Store(150, Local0)
+ } elseif (LEqual(arg0, 151)) {
+ Store(151, Local0)
+ } elseif (LEqual(arg0, 152)) {
+ Store(152, Local0)
+ } elseif (LEqual(arg0, 153)) {
+ Store(153, Local0)
+ } elseif (LEqual(arg0, 154)) {
+ Store(154, Local0)
+ } elseif (LEqual(arg0, 155)) {
+ Store(155, Local0)
+ } elseif (LEqual(arg0, 156)) {
+ Store(156, Local0)
+ } elseif (RNG0(arg0, 157, 199)) { // 101
+
+ // embedded elseif (20 levels)
+
+ if (LEqual(arg0, 157)) {
+ Store(157, Local0)
+ } elseif (RNG0(arg0, 158, 198)) { // 1
+ if (LEqual(arg0, 158)) {
+ Store(158, Local0)
+ } elseif (RNG0(arg0, 159, 197)) {
+ if (LEqual(arg0, 159)) {
+ Store(159, Local0)
+ } elseif (RNG0(arg0, 160, 196)) {
+ if (LEqual(arg0, 160)) {
+ Store(160, Local0)
+ } elseif (RNG0(arg0, 157, 195)) {
+ if (LEqual(arg0, 161)) {
+ Store(161, Local0)
+ } elseif (RNG0(arg0, 162, 194)) {
+ if (LEqual(arg0, 162)) {
+ Store(162, Local0)
+ } elseif (RNG0(arg0, 163, 193)) {
+ if (LEqual(arg0, 163)) {
+ Store(163, Local0)
+ } elseif (RNG0(arg0, 164, 192)) {
+ if (LEqual(arg0, 164)) {
+ Store(164, Local0)
+ } elseif (RNG0(arg0, 165, 191)) {
+ if (LEqual(arg0, 165)) {
+ Store(165, Local0)
+ } elseif (RNG0(arg0, 166, 190)) {
+ if (LEqual(arg0, 166)) {
+ Store(166, Local0)
+ } elseif (RNG0(arg0, 167, 189)) {
+ if (LEqual(arg0, 167)) {
+ Store(167, Local0)
+ } elseif (RNG0(arg0, 168, 188)) { // 11
+ if (LEqual(arg0, 168)) {
+ Store(168, Local0)
+ } elseif (RNG0(arg0, 169, 187)) {
+ if (LEqual(arg0, 169)) {
+ Store(169, Local0)
+ } elseif (RNG0(arg0, 170, 186)) {
+ if (LEqual(arg0, 170)) {
+ Store(170, Local0)
+ } elseif (RNG0(arg0, 171, 185)) {
+ if (LEqual(arg0, 171)) {
+ Store(171, Local0)
+ } elseif (RNG0(arg0, 172, 184)) {
+ if (LEqual(arg0, 172)) {
+ Store(172, Local0)
+ } elseif (RNG0(arg0, 173, 183)) {
+ if (LEqual(arg0, 173)) {
+ Store(173, Local0)
+ } elseif (RNG0(arg0, 174, 182)) {
+ if (LEqual(arg0, 174)) {
+ Store(174, Local0)
+ } elseif (RNG0(arg0, 175, 181)) {
+ if (LEqual(arg0, 175)) {
+ Store(175, Local0)
+ } elseif (RNG0(arg0, 176, 180)) {
+ if (LEqual(arg0, 176)) {
+ Store(176, Local0)
+ } elseif (RNG0(arg0, 177, 179)) {
+ if (LEqual(arg0, 177)) {
+ Store(177, Local0)
+ } elseif (LEqual(arg0, 178)) { // 21
+ Store(178, Local0)
+ } else {
+ Store(179, Local0)
+ }
+ } else {
+ Store(180, Local0)
+ }
+ } else {
+ Store(181, Local0)
+ }
+ } else {
+ Store(182, Local0)
+ }
+ } else {
+ Store(183, Local0)
+ }
+ } else {
+ Store(184, Local0)
+ }
+ } else {
+ Store(185, Local0)
+ }
+ } else {
+ Store(186, Local0)
+ }
+ } else {
+ Store(187, Local0)
+ }
+ } else {
+ Store(188, Local0)
+ }
+ } else {
+ Store(189, Local0)
+ }
+ } else {
+ Store(190, Local0)
+ }
+ } else {
+ Store(191, Local0)
+ }
+ } else {
+ Store(192, Local0)
+ }
+ } else {
+ Store(193, Local0)
+ }
+ } else {
+ Store(194, Local0)
+ }
+ } else {
+ Store(195, Local0)
+ }
+ } else {
+ Store(196, Local0)
+ }
+ } else {
+ Store(197, Local0)
+ }
+ } else {
+ Store(198, Local0)
+ }
+ } else {
+ Store(199, Local0)
+ }
+
+ // 100 elseif
+
+ } elseif (LEqual(arg0, 200)) { // 1
+ Store(200, Local0)
+ } elseif (LEqual(arg0, 201)) {
+ Store(201, Local0)
+ } elseif (LEqual(arg0, 202)) {
+ Store(202, Local0)
+ } elseif (LEqual(arg0, 203)) {
+ Store(203, Local0)
+ } elseif (LEqual(arg0, 204)) {
+ Store(204, Local0)
+ } elseif (LEqual(arg0, 205)) {
+ Store(205, Local0)
+ } elseif (LEqual(arg0, 206)) {
+ Store(206, Local0)
+ } elseif (LEqual(arg0, 207)) {
+ Store(207, Local0)
+ } elseif (LEqual(arg0, 208)) {
+ Store(208, Local0)
+ } elseif (LEqual(arg0, 209)) {
+ Store(209, Local0)
+ } elseif (LEqual(arg0, 210)) { // 11
+ Store(210, Local0)
+ } elseif (LEqual(arg0, 211)) {
+ Store(211, Local0)
+ } elseif (LEqual(arg0, 212)) {
+ Store(212, Local0)
+ } elseif (LEqual(arg0, 213)) {
+ Store(213, Local0)
+ } elseif (LEqual(arg0, 214)) {
+ Store(214, Local0)
+ } elseif (LEqual(arg0, 215)) {
+ Store(215, Local0)
+ } elseif (LEqual(arg0, 216)) {
+ Store(216, Local0)
+ } elseif (LEqual(arg0, 217)) {
+ Store(217, Local0)
+ } elseif (LEqual(arg0, 218)) {
+ Store(218, Local0)
+ } elseif (LEqual(arg0, 219)) {
+ Store(219, Local0)
+ } elseif (LEqual(arg0, 220)) { // 21
+ Store(220, Local0)
+ } elseif (LEqual(arg0, 221)) {
+ Store(221, Local0)
+ } elseif (LEqual(arg0, 222)) {
+ Store(222, Local0)
+ } elseif (LEqual(arg0, 223)) {
+ Store(223, Local0)
+ } elseif (LEqual(arg0, 224)) {
+ Store(224, Local0)
+ } elseif (LEqual(arg0, 225)) {
+ Store(225, Local0)
+ } elseif (LEqual(arg0, 226)) {
+ Store(226, Local0)
+ } elseif (LEqual(arg0, 227)) {
+ Store(227, Local0)
+ } elseif (LEqual(arg0, 228)) {
+ Store(228, Local0)
+ } elseif (LEqual(arg0, 229)) {
+ Store(229, Local0)
+ } elseif (LEqual(arg0, 230)) { // 31
+ Store(230, Local0)
+ } elseif (LEqual(arg0, 231)) {
+ Store(231, Local0)
+ } elseif (LEqual(arg0, 232)) {
+ Store(232, Local0)
+ } elseif (LEqual(arg0, 233)) {
+ Store(233, Local0)
+ } elseif (LEqual(arg0, 234)) {
+ Store(234, Local0)
+ } elseif (LEqual(arg0, 235)) {
+ Store(235, Local0)
+ } elseif (LEqual(arg0, 236)) {
+ Store(236, Local0)
+ } elseif (LEqual(arg0, 237)) {
+ Store(237, Local0)
+ } elseif (LEqual(arg0, 238)) {
+ Store(238, Local0)
+ } elseif (LEqual(arg0, 239)) {
+ Store(239, Local0)
+ } elseif (LEqual(arg0, 240)) { // 41
+ Store(240, Local0)
+ } elseif (LEqual(arg0, 241)) {
+ Store(241, Local0)
+ } elseif (LEqual(arg0, 242)) {
+ Store(242, Local0)
+ } elseif (LEqual(arg0, 243)) {
+ Store(243, Local0)
+ } elseif (LEqual(arg0, 244)) {
+ Store(244, Local0)
+ } elseif (LEqual(arg0, 245)) {
+ Store(245, Local0)
+ } elseif (LEqual(arg0, 246)) {
+ Store(246, Local0)
+ } elseif (LEqual(arg0, 247)) {
+ Store(247, Local0)
+ } elseif (LEqual(arg0, 248)) {
+ Store(248, Local0)
+ } elseif (LEqual(arg0, 249)) {
+ Store(249, Local0)
+ } elseif (LEqual(arg0, 250)) { // 51
+ Store(250, Local0)
+ } elseif (LEqual(arg0, 251)) {
+ Store(251, Local0)
+ } elseif (LEqual(arg0, 252)) {
+ Store(252, Local0)
+ } elseif (LEqual(arg0, 253)) {
+ Store(253, Local0)
+ } elseif (LEqual(arg0, 254)) {
+ Store(254, Local0)
+ } elseif (LEqual(arg0, 255)) {
+ Store(255, Local0)
+ } elseif (LEqual(arg0, 256)) {
+ Store(256, Local0)
+ } elseif (LEqual(arg0, 257)) {
+ Store(257, Local0)
+ } elseif (LEqual(arg0, 258)) {
+ Store(258, Local0)
+ } elseif (LEqual(arg0, 259)) {
+ Store(259, Local0)
+ } elseif (LEqual(arg0, 260)) { // 61
+ Store(260, Local0)
+ } elseif (LEqual(arg0, 261)) {
+ Store(261, Local0)
+ } elseif (LEqual(arg0, 262)) {
+ Store(262, Local0)
+ } elseif (LEqual(arg0, 263)) {
+ Store(263, Local0)
+ } elseif (LEqual(arg0, 264)) {
+ Store(264, Local0)
+ } elseif (LEqual(arg0, 265)) {
+ Store(265, Local0)
+ } elseif (LEqual(arg0, 266)) {
+ Store(266, Local0)
+ } elseif (LEqual(arg0, 267)) {
+ Store(267, Local0)
+ } elseif (LEqual(arg0, 268)) {
+ Store(268, Local0)
+ } elseif (LEqual(arg0, 269)) {
+ Store(269, Local0)
+ } elseif (LEqual(arg0, 270)) { // 71
+ Store(270, Local0)
+ } elseif (LEqual(arg0, 271)) {
+ Store(271, Local0)
+ } elseif (LEqual(arg0, 272)) {
+ Store(272, Local0)
+ } elseif (LEqual(arg0, 273)) {
+ Store(273, Local0)
+ } elseif (LEqual(arg0, 274)) {
+ Store(274, Local0)
+ } elseif (LEqual(arg0, 275)) {
+ Store(275, Local0)
+ } elseif (LEqual(arg0, 276)) {
+ Store(276, Local0)
+ } elseif (LEqual(arg0, 277)) {
+ Store(277, Local0)
+ } elseif (LEqual(arg0, 278)) {
+ Store(278, Local0)
+ } elseif (LEqual(arg0, 279)) {
+ Store(279, Local0)
+ } elseif (LEqual(arg0, 280)) { // 81
+ Store(280, Local0)
+ } elseif (LEqual(arg0, 281)) {
+ Store(281, Local0)
+ } elseif (LEqual(arg0, 282)) {
+ Store(282, Local0)
+ } elseif (LEqual(arg0, 283)) {
+ Store(283, Local0)
+ } elseif (LEqual(arg0, 284)) {
+ Store(284, Local0)
+ } elseif (LEqual(arg0, 285)) {
+ Store(285, Local0)
+ } elseif (LEqual(arg0, 286)) {
+ Store(286, Local0)
+ } elseif (LEqual(arg0, 287)) {
+ Store(287, Local0)
+ } elseif (LEqual(arg0, 288)) {
+ Store(288, Local0)
+ } elseif (LEqual(arg0, 289)) {
+ Store(289, Local0)
+ } elseif (LEqual(arg0, 290)) { // 91
+ Store(290, Local0)
+ } elseif (LEqual(arg0, 291)) {
+ Store(291, Local0)
+ } elseif (LEqual(arg0, 292)) {
+ Store(292, Local0)
+ } elseif (LEqual(arg0, 293)) {
+ Store(293, Local0)
+ } elseif (LEqual(arg0, 294)) {
+ Store(294, Local0)
+ } elseif (LEqual(arg0, 295)) {
+ Store(295, Local0)
+ } elseif (LEqual(arg0, 296)) {
+ Store(296, Local0)
+ } elseif (LEqual(arg0, 297)) {
+ Store(297, Local0)
+ } elseif (LEqual(arg0, 298)) {
+ Store(298, Local0)
+ } elseif (LEqual(arg0, 299)) {
+ Store(299, Local0)
+ } elseif (LEqual(arg0, 300)) { // 101
+ Store(300, Local0)
+ } else {
+ Store(301, Local0)
+ }
+
+ return (Local0)
+}
+
+Method(IF00)
+{
+ Name(ts, "IF00")
+
+ Store("TEST: IF00, Huge, many levels embedded {if,elseif,else)", Debug)
+
+ Store(0, Local7)
+
+ While (LLess(Local7, 302)) {
+ Store(m040(Local7), Local0)
+ if (LNotEqual(Local0, Local7)) {
+ err(ts, z005, Local7, 0, 0, Local0, 0)
+ }
+ Increment(Local7)
+ }
+}
+
+// Run-method
+Method(CTL2)
+{
+ Store("TEST: CTL2, Conditional execution", Debug)
+
+ IF00()
+}
+
diff --git a/tests/aslts/src/runtime/collections/functional/control/switch1.asl b/tests/aslts/src/runtime/collections/functional/control/switch1.asl
new file mode 100644
index 000000000..73994bc99
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/control/switch1.asl
@@ -0,0 +1,629 @@
+/*
+ * 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.
+ */
+
+/*
+ * Method execution control
+ *
+ * Switch, Case, Default operators
+ */
+
+Name(z068, 68)
+
+Name(swi0, 0)
+Name(swi1, 0)
+
+
+/////////////// {if}
+
+Method(m0d0)
+{
+ Store(2, Local0)
+
+ Switch (swi0) {
+ Case (0) {
+ Store(1, Local0)
+ Switch (swi1) {
+ Case (0) {
+ Store(0, Local0)
+ }}
+ }}
+ return (Local0)
+}
+
+Method(m0d1)
+{
+ Store(3, Local0)
+
+ Switch (swi0) {
+ Case (0) {
+ Store(12345678, Local0)
+ Switch (swi1) {
+ Case (0) {
+ Store(0, Local0)
+ }
+ Case (1) {
+ Store(1, Local0)
+ }
+ Default {
+ Store(2, Local0)
+ }}
+ }}
+ return (Local0)
+}
+
+/////////////// {if,else} {if}
+
+Method(m0d2)
+{
+ Store(12345678, Local0)
+
+ Switch (swi0) {
+ Case (0) {
+ Store(1, Local0)
+ Switch (swi1) {
+ Case (0) {
+ Store(0, Local0)
+ }}
+ }
+ Default {
+ Store(3, Local0)
+ Switch (swi1) {
+ Case (0) {
+ Store(2, Local0)
+ }}
+ }}
+ return (Local0)
+}
+
+/////////////// {if,else} {if,else}
+
+Method(m0d3)
+{
+ Store(12345678, Local0)
+
+ Switch (swi0) {
+ Case (0) {
+ Store(12345678, Local0)
+ Switch (swi1) {
+ Case (0) {
+ Store(0, Local0)
+ }
+ Default {
+ Store(1, Local0)
+ }}
+ }
+ Default {
+ Store(12345678, Local0)
+ Switch (swi1) {
+ Case (0) {
+ Store(2, Local0)
+ }
+ Default {
+ Store(3, Local0)
+ }}
+ }}
+ return (Local0)
+}
+
+/////////////// {if,else} {if,elseif}
+
+Method(m0d4)
+{
+ Store(12345678, Local0)
+
+ Switch (swi0) {
+ Case (0) {
+ Store(2, Local0)
+ Switch (swi1) {
+ Case (0) {
+ Store(0, Local0)
+ }
+ Case (1) {
+ Store(1, Local0)
+ }}
+ }
+ Default {
+ Store(5, Local0)
+ Switch (swi1) {
+ Case (0) {
+ Store(3, Local0)
+ }
+ Case (1) {
+ Store(4, Local0)
+ }}
+ }}
+ return (Local0)
+}
+
+/////////////// {if,else} {if,elseif,else}
+
+Method(m0d5)
+{
+ Store(12345678, Local0)
+
+ Switch (swi0) {
+ Case (0) {
+ Store(12345678, Local0)
+ Switch (swi1) {
+ Case (0) {
+ Store(0, Local0)
+ }
+ Case (1) {
+ Store(1, Local0)
+ }
+ Default {
+ Store(2, Local0)
+ }}
+ }
+ Default {
+ Store(12345678, Local0)
+ Switch (swi1) {
+ Case (0) {
+ Store(3, Local0)
+ }
+ Case (1) {
+ Store(4, Local0)
+ }
+ Default {
+ Store(5, Local0)
+ }}
+ }}
+ return (Local0)
+}
+
+/////////////// {if,elseif} {if}
+
+Method(m0d6)
+{
+ Store(4, Local0)
+
+ Switch (swi0) {
+ Case (0) {
+ Store(1, Local0)
+ Switch (swi1) {
+ Case (0) {
+ Store(0, Local0)
+ }}
+ }
+ Case (1) {
+ Store(3, Local0)
+ Switch (swi1) {
+ Case (0) {
+ Store(2, Local0)
+ }}
+ }}
+ return (Local0)
+}
+
+/////////////// {if,elseif} {if,else}
+
+Method(m0d7)
+{
+ Store(4, Local0)
+
+ Switch (swi0) {
+ Case (0) {
+ Store(12345678, Local0)
+ Switch (swi1) {
+ Case (0) {
+ Store(0, Local0)
+ }
+ Default {
+ Store(1, Local0)
+ }}
+ }
+ Case (1) {
+ Store(12345678, Local0)
+ Switch (swi1) {
+ Case (0) {
+ Store(2, Local0)
+ }
+ Default {
+ Store(3, Local0)
+ }}
+ }}
+ return (Local0)
+}
+
+/////////////// {if,elseif} {if,elseif}
+
+Method(m0d8)
+{
+ Store(6, Local0)
+
+ Switch (swi0) {
+ Case (0) {
+ Store(2, Local0)
+ Switch (swi1) {
+ Case (0) {
+ Store(0, Local0)
+ }
+ Case (1) {
+ Store(1, Local0)
+ }}
+ }
+ Case (1) {
+ Store(5, Local0)
+ Switch (swi1) {
+ Case (0) {
+ Store(3, Local0)
+ }
+ Case (1) {
+ Store(4, Local0)
+ }}
+ }}
+ return (Local0)
+}
+
+/////////////// {if,elseif} {if,elseif,else}
+
+Method(m0d9)
+{
+ Store(6, Local0)
+
+ Switch (swi0) {
+ Case (0) {
+ Store(12345678, Local0)
+ Switch (swi1) {
+ Case (0) {
+ Store(0, Local0)
+ }
+ Case (1) {
+ Store(1, Local0)
+ }
+ Default {
+ Store(2, Local0)
+ }}
+ }
+ Case (1) {
+ Store(12345678, Local0)
+ Switch (swi1) {
+ Case (0) {
+ Store(3, Local0)
+ }
+ Case (1) {
+ Store(4, Local0)
+ }
+ Default {
+ Store(5, Local0)
+ }}
+ }}
+ return (Local0)
+}
+
+/////////////// {if,elseif,else} {if} (restricted)
+
+Method(m0da)
+{
+ Store(12345678, Local0)
+
+ Switch (swi0) {
+ Case (0) {
+ Store(1, Local0)
+ Switch (swi1) {
+ Case (0) {
+ Store(0, Local0)
+ }}
+ }
+ Case (1) {
+ Store(3, Local0)
+ Switch (swi1) {
+ Case (0) {
+ Store(2, Local0)
+ }}
+ }
+ Default {
+ Store(5, Local0)
+ Switch (swi1) {
+ Case (0) {
+ Store(4, Local0)
+ }}
+ }}
+ return (Local0)
+}
+
+/////////////// {if,elseif,else} {if,else} (restricted)
+
+Method(m0db)
+{
+ Store(12345678, Local0)
+
+ Switch (swi0) {
+ Case (0) {
+ Store(12345678, Local0)
+ Switch (swi1) {
+ Case (0) {
+ Store(0, Local0)
+ }
+ Default {
+ Store(1, Local0)
+ }}
+ }
+ Case (1) {
+ Store(12345678, Local0)
+ Switch (swi1) {
+ Case (0) {
+ Store(2, Local0)
+ }
+ Default {
+ Store(3, Local0)
+ }}
+ }
+ Default {
+ Store(12345678, Local0)
+ Switch (swi1) {
+ Case (0) {
+ Store(4, Local0)
+ }
+ Default {
+ Store(5, Local0)
+ }}
+ }}
+ return (Local0)
+}
+
+/////////////// {if,elseif,else} {if,elseif} (restricted)
+
+Method(m0dc)
+{
+ Store(12345678, Local0)
+
+ Switch (swi0) {
+ Case (0) {
+ Store(2, Local0)
+ Switch (swi1) {
+ Case (0) {
+ Store(0, Local0)
+ }
+ Case (1) {
+ Store(1, Local0)
+ }}
+ }
+ Case (1) {
+ Store(5, Local0)
+ Switch (swi1) {
+ Case (0) {
+ Store(3, Local0)
+ }
+ Case (1) {
+ Store(4, Local0)
+ }}
+ }
+ Default {
+ Store(8, Local0)
+ Switch (swi1) {
+ Case (0) {
+ Store(6, Local0)
+ }
+ Case (1) {
+ Store(7, Local0)
+ }}
+ }}
+ return (Local0)
+}
+
+/////////////// {if,elseif,else} {if,elseif,else} (restricted)
+
+Method(m0dd)
+{
+ Store(12345678, Local0)
+
+ Switch (swi0) {
+ Case (0) {
+ Store(12345678, Local0)
+ Switch (swi1) {
+ Case (0) {
+ Store(10, Local0)
+ }
+ Case (1) {
+ Store(11, Local0)
+ }
+ Default {
+ Store(12, Local0)
+ }}
+ }
+ Case (1) {
+ Store(12345678, Local0)
+ Switch (swi1) {
+ Case (0) {
+ Store(13, Local0)
+ }
+ Case (1) {
+ Store(14, Local0)
+ }
+ Default {
+ Store(15, Local0)
+ }}
+ }
+ Case (2) {
+ Store(12345678, Local0)
+ Switch (swi1) {
+ Case (0) {
+ Store(16, Local0)
+ }
+ Case (1) {
+ Store(17, Local0)
+ }
+ Default {
+ Store(18, Local0)
+ }}
+ }
+ Default {
+ Store(12345678, Local0)
+ Switch (swi1) {
+ Case (0) {
+ Store(19, Local0)
+ }
+ Case (1) {
+ Store(20, Local0)
+ }
+ Default {
+ Store(21, Local0)
+ }}
+ }}
+ return (Local0)
+}
+
+// Run the particular method
+// (till the time the passing of pointer to method
+// will be implemented)
+Method(m0c6, 1)
+{
+ Store(0x12345678, Local0)
+
+ switch (arg0) {
+ case (0) {
+ Store(m0d0(), Local0)
+ }
+ case (1) {
+ Store(m0d1(), Local0)
+ }
+ case (2) {
+ Store(m0d2(), Local0)
+ }
+ case (3) {
+ Store(m0d3(), Local0)
+ }
+ case (4) {
+ Store(m0d4(), Local0)
+ }
+ case (5) {
+ Store(m0d5(), Local0)
+ }
+ case (6) {
+ Store(m0d6(), Local0)
+ }
+ case (7) {
+ Store(m0d7(), Local0)
+ }
+ case (8) {
+ Store(m0d8(), Local0)
+ }
+ case (9) {
+ Store(m0d9(), Local0)
+ }
+ case (10) {
+ Store(m0da(), Local0)
+ }
+ case (11) {
+ Store(m0db(), Local0)
+ }
+ case (12) {
+ Store(m0dc(), Local0)
+ }
+ case (13) {
+ Store(m0dd(), Local0)
+ }
+ }
+
+ return (Local0)
+}
+
+// Verivication of ?????????????
+Method(m0c7, 3)
+{
+ Name(bs00, 0)
+ Name(cnt0, 0)
+ Name(cnt1, 0)
+ Name(ind1, 0)
+ Name(ix00, 0)
+
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+ Name(lpN1, 0)
+ Name(lpC1, 0)
+
+ Store(0, swi0)
+
+ Store(DeRefOf(Index(arg2, 0)), ix00)
+ Store(DeRefOf(Index(arg2, 1)), cnt0)
+
+ Store(2, ind1)
+ Store(cnt0, lpN0)
+ Store(0, lpC0)
+ While (lpN0) {
+ Store(0, swi1)
+ Store(DeRefOf(Index(arg2, ind1)), cnt1)
+ Store(cnt1, lpN1)
+ Store(0, lpC1)
+ While (lpN1) {
+
+ Store(m0c6(arg1), Local0)
+
+ if (0) {
+ Store("=============:", Debug)
+ Store(swi0, Debug)
+ Store(swi1, Debug)
+ Store(ix00, Debug)
+ Store(Local0, Debug)
+ Store("=============.", Debug)
+ }
+
+ if (LNotEqual(Local0, ix00)){
+ err(arg0, z068, 0, 0, 0, Local0, ix00)
+ }
+ Increment(ix00)
+ Increment(swi1)
+ Decrement(lpN1)
+ Increment(lpC1)
+ }
+ Increment(swi0)
+ Increment(ind1)
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+
+ return (0)
+}
+
+// Run-method
+Method(SW01)
+{
+ Store("TEST: SW01, Switch, Case, Default operators", Debug)
+
+ Name(ts, "SW01")
+
+ m0c7(ts, 0, Buffer() {0, 2, 2, 1})
+ m0c7(ts, 1, Buffer() {0, 2, 3, 1})
+ m0c7(ts, 2, Buffer() {0, 2, 2, 2})
+ m0c7(ts, 3, Buffer() {0, 2, 2, 2})
+ m0c7(ts, 4, Buffer() {0, 2, 3, 3})
+ m0c7(ts, 5, Buffer() {0, 2, 3, 3})
+ m0c7(ts, 6, Buffer() {0, 3, 2, 2, 1})
+ m0c7(ts, 7, Buffer() {0, 3, 2, 2, 1})
+ m0c7(ts, 8, Buffer() {0, 3, 3, 3, 1})
+ m0c7(ts, 9, Buffer() {0, 3, 3, 3, 1})
+ m0c7(ts, 10, Buffer() {0, 3, 2, 2, 2})
+ m0c7(ts, 11, Buffer() {0, 3, 2, 2, 2})
+ m0c7(ts, 12, Buffer() {0, 3, 3, 3, 3})
+ m0c7(ts, 13, Buffer() {10, 4, 3, 3, 3, 3})
+
+ return (0)
+}
diff --git a/tests/aslts/src/runtime/collections/functional/control/switch2.asl b/tests/aslts/src/runtime/collections/functional/control/switch2.asl
new file mode 100644
index 000000000..71c4c9662
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/control/switch2.asl
@@ -0,0 +1,1640 @@
+/*
+ * 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.
+ */
+
+/*
+ * Method execution control
+ *
+ * Huge, many levels embedded {Switch, Case, Default}
+ * The test similar to ctl2
+ */
+
+/*
+See comments, dipper ????
+identical to ctl2
+do for 3 states in tests were there are not Defaults for all - 0,1,2 values
+use the same methods for several SW0X
+*/
+
+// Switch, Case, Default operators
+
+Name(z069, 69)
+
+// The maximal number of temporary variables
+// (_T_X) on ACPICA is equal to 36.
+Name(TMAX, 36)
+
+Name(b0sw, Buffer(TMAX) {})
+
+// Put value to all elements of buffer
+Method(m0c1, 1)
+{
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+
+ Store(TMAX, lpN0)
+
+ While (lpN0) {
+ Store(arg0, Index(b0sw, lpC0))
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+}
+
+Method(m0c0)
+{
+ // equivalent to embedded if (36 levels):
+ // if(){ if() { if() {......
+ // }}}
+
+ Store(0x12345678, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 0))) {
+ Case (0) {
+ Store(0, Local0)
+ Switch (DeRefOf(Index(b0sw, 1))) {
+ Case (0) {
+ Store(1, Local0)
+ Switch (DeRefOf(Index(b0sw, 2))) {
+ Case (0) {
+ Store(2, Local0)
+ Switch (DeRefOf(Index(b0sw, 3))) {
+ Case (0) {
+ Store(3, Local0)
+ Switch (DeRefOf(Index(b0sw, 4))) {
+ Case (0) {
+ Store(4, Local0)
+ Switch (DeRefOf(Index(b0sw, 5))) {
+ Case (0) {
+ Store(5, Local0)
+ Switch (DeRefOf(Index(b0sw, 6))) {
+ Case (0) {
+ Store(6, Local0)
+ Switch (DeRefOf(Index(b0sw, 7))) {
+ Case (0) {
+ Store(7, Local0)
+ Switch (DeRefOf(Index(b0sw, 8))) {
+ Case (0) {
+ Store(8, Local0)
+ Switch (DeRefOf(Index(b0sw, 9))) {
+ Case (0) {
+ Store(9, Local0)
+ Switch (DeRefOf(Index(b0sw, 10))) {
+ Case (0) {
+ Store(10, Local0)
+ Switch (DeRefOf(Index(b0sw, 11))) {
+ Case (0) {
+ Store(11, Local0)
+ Switch (DeRefOf(Index(b0sw, 12))) {
+ Case (0) {
+ Store(12, Local0)
+ Switch (DeRefOf(Index(b0sw, 13))) {
+ Case (0) {
+ Store(13, Local0)
+ Switch (DeRefOf(Index(b0sw, 14))) {
+ Case (0) {
+ Store(14, Local0)
+ Switch (DeRefOf(Index(b0sw, 15))) {
+ Case (0) {
+ Store(15, Local0)
+ Switch (DeRefOf(Index(b0sw, 16))) {
+ Case (0) {
+ Store(16, Local0)
+ Switch (DeRefOf(Index(b0sw, 17))) {
+ Case (0) {
+ Store(17, Local0)
+ Switch (DeRefOf(Index(b0sw, 18))) {
+ Case (0) {
+ Store(18, Local0)
+ Switch (DeRefOf(Index(b0sw, 19))) {
+ Case (0) {
+ Store(19, Local0)
+ Switch (DeRefOf(Index(b0sw, 20))) {
+ Case (0) {
+ Store(20, Local0)
+ Switch (DeRefOf(Index(b0sw, 21))) {
+ Case (0) {
+ Store(21, Local0)
+ Switch (DeRefOf(Index(b0sw, 22))) {
+ Case (0) {
+ Store(22, Local0)
+ Switch (DeRefOf(Index(b0sw, 23))) {
+ Case (0) {
+ Store(23, Local0)
+ Switch (DeRefOf(Index(b0sw, 24))) {
+ Case (0) {
+ Store(24, Local0)
+ Switch (DeRefOf(Index(b0sw, 25))) {
+ Case (0) {
+ Store(25, Local0)
+ Switch (DeRefOf(Index(b0sw, 26))) {
+ Case (0) {
+ Store(26, Local0)
+ Switch (DeRefOf(Index(b0sw, 27))) {
+ Case (0) {
+ Store(27, Local0)
+ Switch (DeRefOf(Index(b0sw, 28))) {
+ Case (0) {
+ Store(28, Local0)
+ Switch (DeRefOf(Index(b0sw, 29))) {
+ Case (0) {
+ Store(29, Local0)
+ Switch (DeRefOf(Index(b0sw, 30))) {
+ Case (0) {
+ Store(30, Local0)
+ Switch (DeRefOf(Index(b0sw, 31))) {
+ Case (0) {
+ Store(31, Local0)
+ Switch (DeRefOf(Index(b0sw, 32))) {
+ Case (0) {
+ Store(32, Local0)
+ Switch (DeRefOf(Index(b0sw, 33))) {
+ Case (0) {
+ Store(33, Local0)
+ Switch (DeRefOf(Index(b0sw, 34))) {
+ Case (0) {
+ Store(34, Local0)
+ Switch (DeRefOf(Index(b0sw, 35))) {
+ Case (0) {
+ Store(35, Local0)
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+
+ return (Local0)
+}
+
+// Run-method
+Method(SW02)
+{
+ Store("TEST: SW02, Switch, Case, Default operators", Debug)
+
+ Name(ts, "SW02")
+
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+
+ // Check each Switch/Case(0) pair
+ // from dipper pair to upper one.
+
+ Store(TMAX, lpN0)
+ Store(0, lpC0)
+ m0c1(0)
+
+ While (lpN0) {
+ Store(m0c0(), Local1)
+ Decrement(lpN0)
+ Increment(lpC0)
+ if (LNotEqual(Local1, lpN0)) {
+ err(ts, z069, 0, 0, 0, Local1, lpN0)
+ return (Ones)
+ }
+ Store(1, Index(b0sw, lpN0))
+ }
+
+ return (0)
+}
+
+Method(m0c2)
+{
+ // equivalent to embedded if (36 levels):
+ // if(){
+ // if(){
+ // if(){
+ // ...
+ // } else {
+ // }
+ // } else {
+ // }
+ // } else {
+ // }
+
+ Store(0x12345678, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 0))) {
+ Case (0) {
+ Store(0, Local0)
+ Switch (DeRefOf(Index(b0sw, 1))) {
+ Case (0) {
+ Store(1, Local0)
+ Switch (DeRefOf(Index(b0sw, 2))) {
+ Case (0) {
+ Store(2, Local0)
+ Switch (DeRefOf(Index(b0sw, 3))) {
+ Case (0) {
+ Store(3, Local0)
+ Switch (DeRefOf(Index(b0sw, 4))) {
+ Case (0) {
+ Store(4, Local0)
+ Switch (DeRefOf(Index(b0sw, 5))) {
+ Case (0) {
+ Store(5, Local0)
+ Switch (DeRefOf(Index(b0sw, 6))) {
+ Case (0) {
+ Store(6, Local0)
+ Switch (DeRefOf(Index(b0sw, 7))) {
+ Case (0) {
+ Store(7, Local0)
+ Switch (DeRefOf(Index(b0sw, 8))) {
+ Case (0) {
+ Store(8, Local0)
+ Switch (DeRefOf(Index(b0sw, 9))) {
+ Case (0) {
+ Store(9, Local0)
+ Switch (DeRefOf(Index(b0sw, 10))) {
+ Case (0) {
+ Store(10, Local0)
+ Switch (DeRefOf(Index(b0sw, 11))) {
+ Case (0) {
+ Store(11, Local0)
+ Switch (DeRefOf(Index(b0sw, 12))) {
+ Case (0) {
+ Store(12, Local0)
+ Switch (DeRefOf(Index(b0sw, 13))) {
+ Case (0) {
+ Store(13, Local0)
+ Switch (DeRefOf(Index(b0sw, 14))) {
+ Case (0) {
+ Store(14, Local0)
+ Switch (DeRefOf(Index(b0sw, 15))) {
+ Case (0) {
+ Store(15, Local0)
+ Switch (DeRefOf(Index(b0sw, 16))) {
+ Case (0) {
+ Store(16, Local0)
+ Switch (DeRefOf(Index(b0sw, 17))) {
+ Case (0) {
+ Store(17, Local0)
+ Switch (DeRefOf(Index(b0sw, 18))) {
+ Case (0) {
+ Store(18, Local0)
+ Switch (DeRefOf(Index(b0sw, 19))) {
+ Case (0) {
+ Store(19, Local0)
+ Switch (DeRefOf(Index(b0sw, 20))) {
+ Case (0) {
+ Store(20, Local0)
+ Switch (DeRefOf(Index(b0sw, 21))) {
+ Case (0) {
+ Store(21, Local0)
+ Switch (DeRefOf(Index(b0sw, 22))) {
+ Case (0) {
+ Store(22, Local0)
+ Switch (DeRefOf(Index(b0sw, 23))) {
+ Case (0) {
+ Store(23, Local0)
+ Switch (DeRefOf(Index(b0sw, 24))) {
+ Case (0) {
+ Store(24, Local0)
+ Switch (DeRefOf(Index(b0sw, 25))) {
+ Case (0) {
+ Store(25, Local0)
+ Switch (DeRefOf(Index(b0sw, 26))) {
+ Case (0) {
+ Store(26, Local0)
+ Switch (DeRefOf(Index(b0sw, 27))) {
+ Case (0) {
+ Store(27, Local0)
+ Switch (DeRefOf(Index(b0sw, 28))) {
+ Case (0) {
+ Store(28, Local0)
+ Switch (DeRefOf(Index(b0sw, 29))) {
+ Case (0) {
+ Store(29, Local0)
+ Switch (DeRefOf(Index(b0sw, 30))) {
+ Case (0) {
+ Store(30, Local0)
+ Switch (DeRefOf(Index(b0sw, 31))) {
+ Case (0) {
+ Store(31, Local0)
+ Switch (DeRefOf(Index(b0sw, 32))) {
+ Case (0) {
+ Store(32, Local0)
+ Switch (DeRefOf(Index(b0sw, 33))) {
+ Case (0) {
+ Store(33, Local0)
+ Switch (DeRefOf(Index(b0sw, 34))) {
+ Case (0) {
+ Store(34, Local0)
+ Switch (DeRefOf(Index(b0sw, 35))) {
+ Case (0) {
+ Store(35, Local0)
+ }
+ Case (1) {
+ Store(71, Local0)
+ }}
+ }
+ Case (1) {
+ Store(70, Local0)
+ }}
+ }
+ Case (1) {
+ Store(69, Local0)
+ }}
+ }
+ Case (1) {
+ Store(68, Local0)
+ }}
+ }
+ Case (1) {
+ Store(67, Local0)
+ }}
+ }
+ Case (1) {
+ Store(66, Local0)
+ }}
+ }
+ Case (1) {
+ Store(65, Local0)
+ }}
+ }
+ Case (1) {
+ Store(64, Local0)
+ }}
+ }
+ Case (1) {
+ Store(63, Local0)
+ }}
+ }
+ Case (1) {
+ Store(62, Local0)
+ }}
+ }
+ Case (1) {
+ Store(61, Local0)
+ }}
+ }
+ Case (1) {
+ Store(60, Local0)
+ }}
+ }
+ Case (1) {
+ Store(59, Local0)
+ }}
+ }
+ Case (1) {
+ Store(58, Local0)
+ }}
+ }
+ Case (1) {
+ Store(57, Local0)
+ }}
+ }
+ Case (1) {
+ Store(56, Local0)
+ }}
+ }
+ Case (1) {
+ Store(55, Local0)
+ }}
+ }
+ Case (1) {
+ Store(54, Local0)
+ }}
+ }
+ Case (1) {
+ Store(53, Local0)
+ }}
+ }
+ Case (1) {
+ Store(52, Local0)
+ }}
+ }
+ Case (1) {
+ Store(51, Local0)
+ }}
+ }
+ Case (1) {
+ Store(50, Local0)
+ }}
+ }
+ Case (1) {
+ Store(49, Local0)
+ }}
+ }
+ Case (1) {
+ Store(48, Local0)
+ }}
+ }
+ Case (1) {
+ Store(47, Local0)
+ }}
+ }
+ Case (1) {
+ Store(46, Local0)
+ }}
+ }
+ Case (1) {
+ Store(45, Local0)
+ }}
+ }
+ Case (1) {
+ Store(44, Local0)
+ }}
+ }
+ Case (1) {
+ Store(43, Local0)
+ }}
+ }
+ Case (1) {
+ Store(42, Local0)
+ }}
+ }
+ Case (1) {
+ Store(41, Local0)
+ }}
+ }
+ Case (1) {
+ Store(40, Local0)
+ }}
+ }
+ Case (1) {
+ Store(39, Local0)
+ }}
+ }
+ Case (1) {
+ Store(38, Local0)
+ }}
+ }
+ Case (1) {
+ Store(37, Local0)
+ }}
+ }
+ Case (1) {
+ Store(36, Local0)
+ }}
+
+ return (Local0)
+}
+
+// Run-method
+Method(SW03)
+{
+ Store("TEST: SW03, Switch, Case, Default operators", Debug)
+
+ Name(ts, "SW03")
+
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+
+ // Check each Switch/Case(0) pair
+ // from dipper pair to upper one.
+
+ Store(TMAX, lpN0)
+ Store(0, lpC0)
+ m0c1(0)
+
+ While (lpN0) {
+ Store(m0c2(), Local1)
+ Decrement(lpN0)
+ Increment(lpC0)
+ if (LNotEqual(Local1, lpN0)) {
+ err(ts, z069, 1, 0, 0, Local1, lpN0)
+ return (Ones)
+ }
+ Store(2, Index(b0sw, lpN0))
+ }
+
+ // Check each Switch/Case(1) pair
+ // from dipper pair to upper one.
+
+ Store(TMAX, lpN0)
+ Store(0, lpC0)
+ m0c1(0)
+
+ While (lpN0) {
+ Subtract(lpN0, 1, Local7)
+ Store(1, Index(b0sw, Local7))
+ Store(m0c2(), Local1)
+ Decrement(lpN0)
+ Increment(lpC0)
+ Add(TMAX, lpN0, Local7)
+ if (LNotEqual(Local1, Local7)) {
+ err(ts, z069, 2, 0, 0, Local1, Local7)
+ return (Ones)
+ }
+ }
+
+ return (0)
+}
+
+Method(m0c3)
+{
+ // equivalent to embedded else (36 levels):
+ // if(){
+ // } else {
+ // if(){
+ // } else {
+ // if(){
+ // } else {
+ // ...
+ // }
+ // }
+ // }
+
+ Store(0x12345678, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 0))) {
+ Case (0) {
+ Store(0, Local0)
+ }
+ Default {
+ Store(36, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 1))) {
+ Case (0) {
+ Store(1, Local0)
+ }
+ Default {
+ Store(37, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 2))) {
+ Case (0) {
+ Store(2, Local0)
+ }
+ Default {
+ Store(38, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 3))) {
+ Case (0) {
+ Store(3, Local0)
+ }
+ Default {
+ Store(39, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 4))) {
+ Case (0) {
+ Store(4, Local0)
+ }
+ Default {
+ Store(40, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 5))) {
+ Case (0) {
+ Store(5, Local0)
+ }
+ Default {
+ Store(41, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 6))) {
+ Case (0) {
+ Store(6, Local0)
+ }
+ Default {
+ Store(42, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 7))) {
+ Case (0) {
+ Store(7, Local0)
+ }
+ Default {
+ Store(43, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 8))) {
+ Case (0) {
+ Store(8, Local0)
+ }
+ Default {
+ Store(44, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 9))) {
+ Case (0) {
+ Store(9, Local0)
+ }
+ Default {
+ Store(45, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 10))) {
+ Case (0) {
+ Store(10, Local0)
+ }
+ Default {
+ Store(46, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 11))) {
+ Case (0) {
+ Store(11, Local0)
+ }
+ Default {
+ Store(47, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 12))) {
+ Case (0) {
+ Store(12, Local0)
+ }
+ Default {
+ Store(48, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 13))) {
+ Case (0) {
+ Store(13, Local0)
+ }
+ Default {
+ Store(49, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 14))) {
+ Case (0) {
+ Store(14, Local0)
+ }
+ Default {
+ Store(50, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 15))) {
+ Case (0) {
+ Store(15, Local0)
+ }
+ Default {
+ Store(51, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 16))) {
+ Case (0) {
+ Store(16, Local0)
+ }
+ Default {
+ Store(52, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 17))) {
+ Case (0) {
+ Store(17, Local0)
+ }
+ Default {
+ Store(53, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 18))) {
+ Case (0) {
+ Store(18, Local0)
+ }
+ Default {
+ Store(54, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 19))) {
+ Case (0) {
+ Store(19, Local0)
+ }
+ Default {
+ Store(55, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 20))) {
+ Case (0) {
+ Store(20, Local0)
+ }
+ Default {
+ Store(56, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 21))) {
+ Case (0) {
+ Store(21, Local0)
+ }
+ Default {
+ Store(57, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 22))) {
+ Case (0) {
+ Store(22, Local0)
+ }
+ Default {
+ Store(58, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 23))) {
+ Case (0) {
+ Store(23, Local0)
+ }
+ Default {
+ Store(59, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 24))) {
+ Case (0) {
+ Store(24, Local0)
+ }
+ Default {
+ Store(60, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 25))) {
+ Case (0) {
+ Store(25, Local0)
+ }
+ Default {
+ Store(61, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 26))) {
+ Case (0) {
+ Store(26, Local0)
+ }
+ Default {
+ Store(62, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 27))) {
+ Case (0) {
+ Store(27, Local0)
+ }
+ Default {
+ Store(63, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 28))) {
+ Case (0) {
+ Store(28, Local0)
+ }
+ Default {
+ Store(64, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 29))) {
+ Case (0) {
+ Store(29, Local0)
+ }
+ Default {
+ Store(65, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 30))) {
+ Case (0) {
+ Store(30, Local0)
+ }
+ Default {
+ Store(66, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 31))) {
+ Case (0) {
+ Store(31, Local0)
+ }
+ Default {
+ Store(67, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 32))) {
+ Case (0) {
+ Store(32, Local0)
+ }
+ Default {
+ Store(68, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 33))) {
+ Case (0) {
+ Store(33, Local0)
+ }
+ Default {
+ Store(69, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 34))) {
+ Case (0) {
+ Store(34, Local0)
+ }
+ Default {
+ Store(70, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 35))) {
+ Case (0) {
+ Store(35, Local0)
+ }
+ Default {
+ Store(71, Local0)
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+
+ return (Local0)
+}
+
+// Run-method
+Method(SW04)
+{
+ Store("TEST: SW04, Switch, Case, Default operators", Debug)
+
+ Name(ts, "SW04")
+
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+
+
+ // Check each Switch/Case(0) pair
+ // from dipper pair to upper one.
+
+ Store(TMAX, lpN0)
+ Store(0, lpC0)
+ m0c1(1)
+
+ Multiply(TMAX, 2, Local7)
+ Decrement(Local7)
+
+ // Check dippest Switch/Default pair
+
+ Store(m0c3(), Local1)
+ if (LNotEqual(Local1, Local7)) {
+ err(ts, z069, 3, 0, 0, Local1, Local7)
+ return (Ones)
+ }
+
+ // Check each Switch/Case(0) pair
+ // from dipper pair to upper one,
+ // while go through all the previous Defaults.
+
+ While (lpN0) {
+ Subtract(lpN0, 1, Local7)
+ Store(0, Index(b0sw, Local7))
+ Store(m0c3(), Local1)
+ Decrement(lpN0)
+ Increment(lpC0)
+ if (LNotEqual(Local1, lpN0)) {
+ err(ts, z069, 4, 0, 0, Local1, lpN0)
+ return (Ones)
+ }
+ }
+
+ return (0)
+}
+
+Method(m0c4, 1)
+{
+ // equivalent to elseif (101):
+ // if() {
+ // } elseif() {
+ // } elseif() {
+ // ...
+ // } elseif() {
+ // }
+
+ Store(0x12345678, Local0)
+
+ Switch (Arg0) {
+ Case (0) {
+ Store(0, Local0)
+ }
+ Case (1) {
+ Store(1, Local0)
+ }
+ Case (2) {
+ Store(2, Local0)
+ }
+ Case (3) {
+ Store(3, Local0)
+ }
+ Case (4) {
+ Store(4, Local0)
+ }
+ Case (5) {
+ Store(5, Local0)
+ }
+ Case (6) {
+ Store(6, Local0)
+ }
+ Case (7) {
+ Store(7, Local0)
+ }
+ Case (8) {
+ Store(8, Local0)
+ }
+ Case (9) {
+ Store(9, Local0)
+ }
+ Case (10) {
+ Store(10, Local0)
+ }
+ Case (11) {
+ Store(11, Local0)
+ }
+ Case (12) {
+ Store(12, Local0)
+ }
+ Case (13) {
+ Store(13, Local0)
+ }
+ Case (14) {
+ Store(14, Local0)
+ }
+ Case (15) {
+ Store(15, Local0)
+ }
+ Case (16) {
+ Store(16, Local0)
+ }
+ Case (17) {
+ Store(17, Local0)
+ }
+ Case (18) {
+ Store(18, Local0)
+ }
+ Case (19) {
+ Store(19, Local0)
+ }
+ Case (20) {
+ Store(20, Local0)
+ }
+ Case (21) {
+ Store(21, Local0)
+ }
+ Case (22) {
+ Store(22, Local0)
+ }
+ Case (23) {
+ Store(23, Local0)
+ }
+ Case (24) {
+ Store(24, Local0)
+ }
+ Case (25) {
+ Store(25, Local0)
+ }
+ Case (26) {
+ Store(26, Local0)
+ }
+ Case (27) {
+ Store(27, Local0)
+ }
+ Case (28) {
+ Store(28, Local0)
+ }
+ Case (29) {
+ Store(29, Local0)
+ }
+ Case (30) {
+ Store(30, Local0)
+ }
+ Case (31) {
+ Store(31, Local0)
+ }
+ Case (32) {
+ Store(32, Local0)
+ }
+ Case (33) {
+ Store(33, Local0)
+ }
+ Case (34) {
+ Store(34, Local0)
+ }
+ Case (35) {
+ Store(35, Local0)
+ }
+ Case (36) {
+ Store(36, Local0)
+ }
+ Case (37) {
+ Store(37, Local0)
+ }
+ Case (38) {
+ Store(38, Local0)
+ }
+ Case (39) {
+ Store(39, Local0)
+ }
+ Case (40) {
+ Store(40, Local0)
+ }
+ Case (41) {
+ Store(41, Local0)
+ }
+ Case (42) {
+ Store(42, Local0)
+ }
+ Case (43) {
+ Store(43, Local0)
+ }
+ Case (44) {
+ Store(44, Local0)
+ }
+ Case (45) {
+ Store(45, Local0)
+ }
+ Case (46) {
+ Store(46, Local0)
+ }
+ Case (47) {
+ Store(47, Local0)
+ }
+ Case (48) {
+ Store(48, Local0)
+ }
+ Case (49) {
+ Store(49, Local0)
+ }
+
+ ////////////////////////
+ Default {
+ Store(100, Local0)
+ }
+ ////////////////////////
+
+ Case (50) {
+ Store(50, Local0)
+ }
+ Case (51) {
+ Store(51, Local0)
+ }
+ Case (52) {
+ Store(52, Local0)
+ }
+ Case (53) {
+ Store(53, Local0)
+ }
+ Case (54) {
+ Store(54, Local0)
+ }
+ Case (55) {
+ Store(55, Local0)
+ }
+ Case (56) {
+ Store(56, Local0)
+ }
+ Case (57) {
+ Store(57, Local0)
+ }
+ Case (58) {
+ Store(58, Local0)
+ }
+ Case (59) {
+ Store(59, Local0)
+ }
+ Case (60) {
+ Store(60, Local0)
+ }
+ Case (61) {
+ Store(61, Local0)
+ }
+ Case (62) {
+ Store(62, Local0)
+ }
+ Case (63) {
+ Store(63, Local0)
+ }
+ Case (64) {
+ Store(64, Local0)
+ }
+ Case (65) {
+ Store(65, Local0)
+ }
+ Case (66) {
+ Store(66, Local0)
+ }
+ Case (67) {
+ Store(67, Local0)
+ }
+ Case (68) {
+ Store(68, Local0)
+ }
+ Case (69) {
+ Store(69, Local0)
+ }
+ Case (70) {
+ Store(70, Local0)
+ }
+ Case (71) {
+ Store(71, Local0)
+ }
+ Case (72) {
+ Store(72, Local0)
+ }
+ Case (73) {
+ Store(73, Local0)
+ }
+ Case (74) {
+ Store(74, Local0)
+ }
+ Case (75) {
+ Store(75, Local0)
+ }
+ Case (76) {
+ Store(76, Local0)
+ }
+ Case (77) {
+ Store(77, Local0)
+ }
+ Case (78) {
+ Store(78, Local0)
+ }
+ Case (79) {
+ Store(79, Local0)
+ }
+ Case (80) {
+ Store(80, Local0)
+ }
+ Case (81) {
+ Store(81, Local0)
+ }
+ Case (82) {
+ Store(82, Local0)
+ }
+ Case (83) {
+ Store(83, Local0)
+ }
+ Case (84) {
+ Store(84, Local0)
+ }
+ Case (85) {
+ Store(85, Local0)
+ }
+ Case (86) {
+ Store(86, Local0)
+ }
+ Case (87) {
+ Store(87, Local0)
+ }
+ Case (88) {
+ Store(88, Local0)
+ }
+ Case (89) {
+ Store(89, Local0)
+ }
+ Case (90) {
+ Store(90, Local0)
+ }
+ Case (91) {
+ Store(91, Local0)
+ }
+ Case (92) {
+ Store(92, Local0)
+ }
+ Case (93) {
+ Store(93, Local0)
+ }
+ Case (94) {
+ Store(94, Local0)
+ }
+ Case (95) {
+ Store(95, Local0)
+ }
+ Case (96) {
+ Store(96, Local0)
+ }
+ Case (97) {
+ Store(97, Local0)
+ }
+ Case (98) {
+ Store(98, Local0)
+ }
+ Case (99) {
+ Store(99, Local0)
+ }
+ }
+
+ return (Local0)
+}
+
+// Run-method
+Method(SW05)
+{
+ Store("TEST: SW05, Switch, Case, Default operators", Debug)
+
+ Name(ts, "SW05")
+
+ Name(lpN0, 101)
+ Name(lpC0, 0)
+
+ // Check ??????????????????
+
+ While (lpN0) {
+
+ Store(m0c4(lpC0), Local1)
+ if (LNotEqual(Local1, lpC0)) {
+ err(ts, z069, 5, 0, 0, Local1, lpC0)
+ return (Ones)
+ }
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+
+ return (0)
+}
+
+Method(m0c5)
+{
+ // equivalent to embedded elseif (36 levels):
+ // if() {
+ // } elseif() {
+ // if() {
+ // } elseif() {
+ // if() {
+ // } elseif() {
+ // ...
+ // }
+ // }
+ // }
+
+ Store(0x12345678, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 0))) {
+ Case (0) {
+ Store(0, Local0)
+ }
+ Case (1) {
+ Store(36, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 1))) {
+ Case (0) {
+ Store(1, Local0)
+ }
+ Case (1) {
+ Store(37, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 2))) {
+ Case (0) {
+ Store(2, Local0)
+ }
+ Case (1) {
+ Store(38, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 3))) {
+ Case (0) {
+ Store(3, Local0)
+ }
+ Case (1) {
+ Store(39, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 4))) {
+ Case (0) {
+ Store(4, Local0)
+ }
+ Case (1) {
+ Store(40, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 5))) {
+ Case (0) {
+ Store(5, Local0)
+ }
+ Case (1) {
+ Store(41, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 6))) {
+ Case (0) {
+ Store(6, Local0)
+ }
+ Case (1) {
+ Store(42, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 7))) {
+ Case (0) {
+ Store(7, Local0)
+ }
+ Case (1) {
+ Store(43, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 8))) {
+ Case (0) {
+ Store(8, Local0)
+ }
+ Case (1) {
+ Store(44, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 9))) {
+ Case (0) {
+ Store(9, Local0)
+ }
+ Case (1) {
+ Store(45, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 10))) {
+ Case (0) {
+ Store(10, Local0)
+ }
+ Case (1) {
+ Store(46, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 11))) {
+ Case (0) {
+ Store(11, Local0)
+ }
+ Case (1) {
+ Store(47, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 12))) {
+ Case (0) {
+ Store(12, Local0)
+ }
+ Case (1) {
+ Store(48, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 13))) {
+ Case (0) {
+ Store(13, Local0)
+ }
+ Case (1) {
+ Store(49, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 14))) {
+ Case (0) {
+ Store(14, Local0)
+ }
+ Case (1) {
+ Store(50, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 15))) {
+ Case (0) {
+ Store(15, Local0)
+ }
+ Case (1) {
+ Store(51, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 16))) {
+ Case (0) {
+ Store(16, Local0)
+ }
+ Case (1) {
+ Store(52, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 17))) {
+ Case (0) {
+ Store(17, Local0)
+ }
+ Case (1) {
+ Store(53, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 18))) {
+ Case (0) {
+ Store(18, Local0)
+ }
+ Case (1) {
+ Store(54, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 19))) {
+ Case (0) {
+ Store(19, Local0)
+ }
+ Case (1) {
+ Store(55, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 20))) {
+ Case (0) {
+ Store(20, Local0)
+ }
+ Case (1) {
+ Store(56, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 21))) {
+ Case (0) {
+ Store(21, Local0)
+ }
+ Case (1) {
+ Store(57, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 22))) {
+ Case (0) {
+ Store(22, Local0)
+ }
+ Case (1) {
+ Store(58, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 23))) {
+ Case (0) {
+ Store(23, Local0)
+ }
+ Case (1) {
+ Store(59, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 24))) {
+ Case (0) {
+ Store(24, Local0)
+ }
+ Case (1) {
+ Store(60, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 25))) {
+ Case (0) {
+ Store(25, Local0)
+ }
+ Case (1) {
+ Store(61, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 26))) {
+ Case (0) {
+ Store(26, Local0)
+ }
+ Case (1) {
+ Store(62, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 27))) {
+ Case (0) {
+ Store(27, Local0)
+ }
+ Case (1) {
+ Store(63, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 28))) {
+ Case (0) {
+ Store(28, Local0)
+ }
+ Case (1) {
+ Store(64, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 29))) {
+ Case (0) {
+ Store(29, Local0)
+ }
+ Case (1) {
+ Store(65, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 30))) {
+ Case (0) {
+ Store(30, Local0)
+ }
+ Case (1) {
+ Store(66, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 31))) {
+ Case (0) {
+ Store(31, Local0)
+ }
+ Case (1) {
+ Store(67, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 32))) {
+ Case (0) {
+ Store(32, Local0)
+ }
+ Case (1) {
+ Store(68, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 33))) {
+ Case (0) {
+ Store(33, Local0)
+ }
+ Case (1) {
+ Store(69, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 34))) {
+ Case (0) {
+ Store(34, Local0)
+ }
+ Case (1) {
+ Store(70, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 35))) {
+ Case (0) {
+ Store(35, Local0)
+ }
+ Case (1) {
+ Store(71, Local0)
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+
+ return (Local0)
+}
+
+// Run-method
+Method(SW06)
+{
+ Store("TEST: SW06, Switch, Case, Default operators", Debug)
+
+ Name(ts, "SW06")
+
+ Name(lpN0, 101)
+ Name(lpC0, 0)
+
+ // Check ??????????????????
+
+ Store(TMAX, lpN0)
+ Store(0, lpC0)
+ m0c1(1)
+
+ While (lpN0) {
+ Subtract(lpN0, 1, Local7)
+ Store(0, Index(b0sw, Local7))
+ Store(m0c5(), Local1)
+ Decrement(lpN0)
+ Increment(lpC0)
+ if (LNotEqual(Local1, Local7)) {
+ err(ts, z069, 6, 0, 0, Local1, Local7)
+ return (Ones)
+ }
+ }
+
+ // Check ??????.
+
+ Store(TMAX, lpN0)
+ Store(0, lpC0)
+ m0c1(1)
+
+ While (lpN0) {
+ Store(m0c5(), Local1)
+ Decrement(lpN0)
+ Increment(lpC0)
+ Add(TMAX, lpN0, Local7)
+ if (LNotEqual(Local1, Local7)) {
+ err(ts, z069, 7, 0, 0, Local1, Local7)
+ return (Ones)
+ }
+ Store(2, Index(b0sw, lpN0))
+ }
+
+ return (0)
+}
diff --git a/tests/aslts/src/runtime/collections/functional/control/switch3.asl b/tests/aslts/src/runtime/collections/functional/control/switch3.asl
new file mode 100644
index 000000000..5a4feb5b9
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/control/switch3.asl
@@ -0,0 +1,939 @@
+/*
+ * 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.
+ */
+
+/*
+ * Method execution control
+ *
+ * Switch, Case, Default operators
+ *
+ * Switch, _T_X
+ */
+
+/*
+If bug 84 will be positively resolved, then return back:
+Declaration of Method
+Expression
+Declaration of Method
+
+ // m000(m0c2), m001(SW03) //
+ // unfolded Methods(m0c0,SW02) //
+ // m002(m0c3), m003(SW04) //
+
+*/
+
+
+Name(z070, 70)
+
+Method(m0de, 1)
+{
+
+ // ===================================== //
+ // m000(m0c2), m001(SW03) //
+ // ===================================== //
+
+ // Method(m0c2)
+ Method(m000)
+ {
+ // equivalent to embedded if (36 levels):
+ // if(){
+ // if(){
+ // if(){
+ // ...
+ // } else {
+ // }
+ // } else {
+ // }
+ // } else {
+ // }
+
+ Store(0x12345678, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 0))) {
+ Case (0) {
+ Store(0, Local0)
+ Switch (DeRefOf(Index(b0sw, 1))) {
+ Case (0) {
+ Store(1, Local0)
+ Switch (DeRefOf(Index(b0sw, 2))) {
+ Case (0) {
+ Store(2, Local0)
+ Switch (DeRefOf(Index(b0sw, 3))) {
+ Case (0) {
+ Store(3, Local0)
+ Switch (DeRefOf(Index(b0sw, 4))) {
+ Case (0) {
+ Store(4, Local0)
+ Switch (DeRefOf(Index(b0sw, 5))) {
+ Case (0) {
+ Store(5, Local0)
+ Switch (DeRefOf(Index(b0sw, 6))) {
+ Case (0) {
+ Store(6, Local0)
+ Switch (DeRefOf(Index(b0sw, 7))) {
+ Case (0) {
+ Store(7, Local0)
+ Switch (DeRefOf(Index(b0sw, 8))) {
+ Case (0) {
+ Store(8, Local0)
+ Switch (DeRefOf(Index(b0sw, 9))) {
+ Case (0) {
+ Store(9, Local0)
+ Switch (DeRefOf(Index(b0sw, 10))) {
+ Case (0) {
+ Store(10, Local0)
+ Switch (DeRefOf(Index(b0sw, 11))) {
+ Case (0) {
+ Store(11, Local0)
+ Switch (DeRefOf(Index(b0sw, 12))) {
+ Case (0) {
+ Store(12, Local0)
+ Switch (DeRefOf(Index(b0sw, 13))) {
+ Case (0) {
+ Store(13, Local0)
+ Switch (DeRefOf(Index(b0sw, 14))) {
+ Case (0) {
+ Store(14, Local0)
+ Switch (DeRefOf(Index(b0sw, 15))) {
+ Case (0) {
+ Store(15, Local0)
+ Switch (DeRefOf(Index(b0sw, 16))) {
+ Case (0) {
+ Store(16, Local0)
+ Switch (DeRefOf(Index(b0sw, 17))) {
+ Case (0) {
+ Store(17, Local0)
+ Switch (DeRefOf(Index(b0sw, 18))) {
+ Case (0) {
+ Store(18, Local0)
+ Switch (DeRefOf(Index(b0sw, 19))) {
+ Case (0) {
+ Store(19, Local0)
+ Switch (DeRefOf(Index(b0sw, 20))) {
+ Case (0) {
+ Store(20, Local0)
+ Switch (DeRefOf(Index(b0sw, 21))) {
+ Case (0) {
+ Store(21, Local0)
+ Switch (DeRefOf(Index(b0sw, 22))) {
+ Case (0) {
+ Store(22, Local0)
+ Switch (DeRefOf(Index(b0sw, 23))) {
+ Case (0) {
+ Store(23, Local0)
+ Switch (DeRefOf(Index(b0sw, 24))) {
+ Case (0) {
+ Store(24, Local0)
+ Switch (DeRefOf(Index(b0sw, 25))) {
+ Case (0) {
+ Store(25, Local0)
+ Switch (DeRefOf(Index(b0sw, 26))) {
+ Case (0) {
+ Store(26, Local0)
+ Switch (DeRefOf(Index(b0sw, 27))) {
+ Case (0) {
+ Store(27, Local0)
+ Switch (DeRefOf(Index(b0sw, 28))) {
+ Case (0) {
+ Store(28, Local0)
+ Switch (DeRefOf(Index(b0sw, 29))) {
+ Case (0) {
+ Store(29, Local0)
+ Switch (DeRefOf(Index(b0sw, 30))) {
+ Case (0) {
+ Store(30, Local0)
+ Switch (DeRefOf(Index(b0sw, 31))) {
+ Case (0) {
+ Store(31, Local0)
+ Switch (DeRefOf(Index(b0sw, 32))) {
+ Case (0) {
+ Store(32, Local0)
+ Switch (DeRefOf(Index(b0sw, 33))) {
+ Case (0) {
+ Store(33, Local0)
+ Switch (DeRefOf(Index(b0sw, 34))) {
+ Case (0) {
+ Store(34, Local0)
+ Switch (DeRefOf(Index(b0sw, 35))) {
+ Case (0) {
+ Store(35, Local0)
+ }
+ Case (1) {
+ Store(71, Local0)
+ }}
+ }
+ Case (1) {
+ Store(70, Local0)
+ }}
+ }
+ Case (1) {
+ Store(69, Local0)
+ }}
+ }
+ Case (1) {
+ Store(68, Local0)
+ }}
+ }
+ Case (1) {
+ Store(67, Local0)
+ }}
+ }
+ Case (1) {
+ Store(66, Local0)
+ }}
+ }
+ Case (1) {
+ Store(65, Local0)
+ }}
+ }
+ Case (1) {
+ Store(64, Local0)
+ }}
+ }
+ Case (1) {
+ Store(63, Local0)
+ }}
+ }
+ Case (1) {
+ Store(62, Local0)
+ }}
+ }
+ Case (1) {
+ Store(61, Local0)
+ }}
+ }
+ Case (1) {
+ Store(60, Local0)
+ }}
+ }
+ Case (1) {
+ Store(59, Local0)
+ }}
+ }
+ Case (1) {
+ Store(58, Local0)
+ }}
+ }
+ Case (1) {
+ Store(57, Local0)
+ }}
+ }
+ Case (1) {
+ Store(56, Local0)
+ }}
+ }
+ Case (1) {
+ Store(55, Local0)
+ }}
+ }
+ Case (1) {
+ Store(54, Local0)
+ }}
+ }
+ Case (1) {
+ Store(53, Local0)
+ }}
+ }
+ Case (1) {
+ Store(52, Local0)
+ }}
+ }
+ Case (1) {
+ Store(51, Local0)
+ }}
+ }
+ Case (1) {
+ Store(50, Local0)
+ }}
+ }
+ Case (1) {
+ Store(49, Local0)
+ }}
+ }
+ Case (1) {
+ Store(48, Local0)
+ }}
+ }
+ Case (1) {
+ Store(47, Local0)
+ }}
+ }
+ Case (1) {
+ Store(46, Local0)
+ }}
+ }
+ Case (1) {
+ Store(45, Local0)
+ }}
+ }
+ Case (1) {
+ Store(44, Local0)
+ }}
+ }
+ Case (1) {
+ Store(43, Local0)
+ }}
+ }
+ Case (1) {
+ Store(42, Local0)
+ }}
+ }
+ Case (1) {
+ Store(41, Local0)
+ }}
+ }
+ Case (1) {
+ Store(40, Local0)
+ }}
+ }
+ Case (1) {
+ Store(39, Local0)
+ }}
+ }
+ Case (1) {
+ Store(38, Local0)
+ }}
+ }
+ Case (1) {
+ Store(37, Local0)
+ }}
+ }
+ Case (1) {
+ Store(36, Local0)
+ }}
+
+ return (Local0)
+ }
+
+ // Method(SW03)
+ Method(m001, 1)
+ {
+ // Store("m001 started", Debug)
+
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+
+ // Check each Switch/Case(0) pair
+ // from dipper pair to upper one.
+
+ Store(TMAX, lpN0)
+ Store(0, lpC0)
+ m0c1(0)
+
+ While (lpN0) {
+ Store(m000(), Local1)
+ Decrement(lpN0)
+ Increment(lpC0)
+ if (LNotEqual(Local1, lpN0)) {
+ err(arg0, z070, 0, 0, 0, Local1, lpN0)
+ return (Ones)
+ }
+ Store(2, Index(b0sw, lpN0))
+ }
+
+ // Check each Switch/Case(1) pair
+ // from dipper pair to upper one.
+
+ Store(TMAX, lpN0)
+ Store(0, lpC0)
+ m0c1(0)
+
+ While (lpN0) {
+ Subtract(lpN0, 1, Local7)
+ Store(1, Index(b0sw, Local7))
+ Store(m000(), Local1)
+ Decrement(lpN0)
+ Increment(lpC0)
+ Add(TMAX, lpN0, Local7)
+ if (LNotEqual(Local1, Local7)) {
+ err(arg0, z070, 1, 0, 0, Local1, Local7)
+ return (Ones)
+ }
+ }
+
+ return (0)
+ }
+
+ // ===================================== //
+ // m002(m0c3), m003(SW04) //
+ // ===================================== //
+
+ // Method(m0c3)
+ Method(m002)
+ {
+ // equivalent to embedded else (36 levels):
+ // if(){
+ // } else {
+ // if(){
+ // } else {
+ // if(){
+ // } else {
+ // ...
+ // }
+ // }
+ // }
+
+ Store(0x12345678, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 0))) {
+ Case (0) {
+ Store(0, Local0)
+ }
+ Default {
+ Store(36, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 1))) {
+ Case (0) {
+ Store(1, Local0)
+ }
+ Default {
+ Store(37, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 2))) {
+ Case (0) {
+ Store(2, Local0)
+ }
+ Default {
+ Store(38, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 3))) {
+ Case (0) {
+ Store(3, Local0)
+ }
+ Default {
+ Store(39, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 4))) {
+ Case (0) {
+ Store(4, Local0)
+ }
+ Default {
+ Store(40, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 5))) {
+ Case (0) {
+ Store(5, Local0)
+ }
+ Default {
+ Store(41, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 6))) {
+ Case (0) {
+ Store(6, Local0)
+ }
+ Default {
+ Store(42, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 7))) {
+ Case (0) {
+ Store(7, Local0)
+ }
+ Default {
+ Store(43, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 8))) {
+ Case (0) {
+ Store(8, Local0)
+ }
+ Default {
+ Store(44, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 9))) {
+ Case (0) {
+ Store(9, Local0)
+ }
+ Default {
+ Store(45, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 10))) {
+ Case (0) {
+ Store(10, Local0)
+ }
+ Default {
+ Store(46, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 11))) {
+ Case (0) {
+ Store(11, Local0)
+ }
+ Default {
+ Store(47, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 12))) {
+ Case (0) {
+ Store(12, Local0)
+ }
+ Default {
+ Store(48, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 13))) {
+ Case (0) {
+ Store(13, Local0)
+ }
+ Default {
+ Store(49, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 14))) {
+ Case (0) {
+ Store(14, Local0)
+ }
+ Default {
+ Store(50, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 15))) {
+ Case (0) {
+ Store(15, Local0)
+ }
+ Default {
+ Store(51, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 16))) {
+ Case (0) {
+ Store(16, Local0)
+ }
+ Default {
+ Store(52, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 17))) {
+ Case (0) {
+ Store(17, Local0)
+ }
+ Default {
+ Store(53, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 18))) {
+ Case (0) {
+ Store(18, Local0)
+ }
+ Default {
+ Store(54, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 19))) {
+ Case (0) {
+ Store(19, Local0)
+ }
+ Default {
+ Store(55, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 20))) {
+ Case (0) {
+ Store(20, Local0)
+ }
+ Default {
+ Store(56, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 21))) {
+ Case (0) {
+ Store(21, Local0)
+ }
+ Default {
+ Store(57, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 22))) {
+ Case (0) {
+ Store(22, Local0)
+ }
+ Default {
+ Store(58, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 23))) {
+ Case (0) {
+ Store(23, Local0)
+ }
+ Default {
+ Store(59, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 24))) {
+ Case (0) {
+ Store(24, Local0)
+ }
+ Default {
+ Store(60, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 25))) {
+ Case (0) {
+ Store(25, Local0)
+ }
+ Default {
+ Store(61, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 26))) {
+ Case (0) {
+ Store(26, Local0)
+ }
+ Default {
+ Store(62, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 27))) {
+ Case (0) {
+ Store(27, Local0)
+ }
+ Default {
+ Store(63, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 28))) {
+ Case (0) {
+ Store(28, Local0)
+ }
+ Default {
+ Store(64, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 29))) {
+ Case (0) {
+ Store(29, Local0)
+ }
+ Default {
+ Store(65, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 30))) {
+ Case (0) {
+ Store(30, Local0)
+ }
+ Default {
+ Store(66, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 31))) {
+ Case (0) {
+ Store(31, Local0)
+ }
+ Default {
+ Store(67, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 32))) {
+ Case (0) {
+ Store(32, Local0)
+ }
+ Default {
+ Store(68, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 33))) {
+ Case (0) {
+ Store(33, Local0)
+ }
+ Default {
+ Store(69, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 34))) {
+ Case (0) {
+ Store(34, Local0)
+ }
+ Default {
+ Store(70, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 35))) {
+ Case (0) {
+ Store(35, Local0)
+ }
+ Default {
+ Store(71, Local0)
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+
+ return (Local0)
+ }
+
+ // Method(SW04)
+ Method(m003, 1)
+ {
+ // Store("m003 started", Debug)
+
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+
+ // Check each Switch/Case(0) pair
+ // from dipper pair to upper one.
+
+ Store(TMAX, lpN0)
+ Store(0, lpC0)
+ m0c1(1)
+
+ Multiply(TMAX, 2, Local7)
+ Decrement(Local7)
+
+ // Check dippest Switch/Default pair
+
+ Store(m002(), Local1)
+ if (LNotEqual(Local1, Local7)) {
+ err(arg0, z070, 2, 0, 0, Local1, Local7)
+ return (Ones)
+ }
+
+ // Check each Switch/Case(0) pair
+ // from dipper pair to upper one,
+ // while go through all the previous Defaults.
+
+ While (lpN0) {
+ Subtract(lpN0, 1, Local7)
+ Store(0, Index(b0sw, Local7))
+ Store(m002(), Local1)
+ Decrement(lpN0)
+ Increment(lpC0)
+ if (LNotEqual(Local1, lpN0)) {
+ err(arg0, z070, 3, 0, 0, Local1, lpN0)
+ return (Ones)
+ }
+ }
+
+ return (0)
+ }
+
+ m001(arg0)
+
+ // =========================================== //
+ // unfolded Methods(m0c0,SW02) //
+ // =========================================== //
+
+ // unfolded Method(SW02)
+
+ // Store("unfolded (m0c0,SW02) started", Debug)
+
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+
+ // Check each Switch/Case(0) pair
+ // from dipper pair to upper one.
+
+ Store(TMAX, lpN0)
+ Store(0, lpC0)
+ m0c1(0)
+
+ While (lpN0) {
+
+
+ // equivalent to embedded if (36 levels):
+ // if(){ if() { if() {......
+ // }}}
+
+ Store(0x12345678, Local0)
+
+ Switch (DeRefOf(Index(b0sw, 0))) {
+ Case (0) {
+ Store(0, Local0)
+ Switch (DeRefOf(Index(b0sw, 1))) {
+ Case (0) {
+ Store(1, Local0)
+ Switch (DeRefOf(Index(b0sw, 2))) {
+ Case (0) {
+ Store(2, Local0)
+ Switch (DeRefOf(Index(b0sw, 3))) {
+ Case (0) {
+ Store(3, Local0)
+ Switch (DeRefOf(Index(b0sw, 4))) {
+ Case (0) {
+ Store(4, Local0)
+ Switch (DeRefOf(Index(b0sw, 5))) {
+ Case (0) {
+ Store(5, Local0)
+ Switch (DeRefOf(Index(b0sw, 6))) {
+ Case (0) {
+ Store(6, Local0)
+ Switch (DeRefOf(Index(b0sw, 7))) {
+ Case (0) {
+ Store(7, Local0)
+ Switch (DeRefOf(Index(b0sw, 8))) {
+ Case (0) {
+ Store(8, Local0)
+ Switch (DeRefOf(Index(b0sw, 9))) {
+ Case (0) {
+ Store(9, Local0)
+ Switch (DeRefOf(Index(b0sw, 10))) {
+ Case (0) {
+ Store(10, Local0)
+ Switch (DeRefOf(Index(b0sw, 11))) {
+ Case (0) {
+ Store(11, Local0)
+ Switch (DeRefOf(Index(b0sw, 12))) {
+ Case (0) {
+ Store(12, Local0)
+ Switch (DeRefOf(Index(b0sw, 13))) {
+ Case (0) {
+ Store(13, Local0)
+ Switch (DeRefOf(Index(b0sw, 14))) {
+ Case (0) {
+ Store(14, Local0)
+ Switch (DeRefOf(Index(b0sw, 15))) {
+ Case (0) {
+ Store(15, Local0)
+ Switch (DeRefOf(Index(b0sw, 16))) {
+ Case (0) {
+ Store(16, Local0)
+ Switch (DeRefOf(Index(b0sw, 17))) {
+ Case (0) {
+ Store(17, Local0)
+ Switch (DeRefOf(Index(b0sw, 18))) {
+ Case (0) {
+ Store(18, Local0)
+ Switch (DeRefOf(Index(b0sw, 19))) {
+ Case (0) {
+ Store(19, Local0)
+ Switch (DeRefOf(Index(b0sw, 20))) {
+ Case (0) {
+ Store(20, Local0)
+ Switch (DeRefOf(Index(b0sw, 21))) {
+ Case (0) {
+ Store(21, Local0)
+ Switch (DeRefOf(Index(b0sw, 22))) {
+ Case (0) {
+ Store(22, Local0)
+ Switch (DeRefOf(Index(b0sw, 23))) {
+ Case (0) {
+ Store(23, Local0)
+ Switch (DeRefOf(Index(b0sw, 24))) {
+ Case (0) {
+ Store(24, Local0)
+ Switch (DeRefOf(Index(b0sw, 25))) {
+ Case (0) {
+ Store(25, Local0)
+ Switch (DeRefOf(Index(b0sw, 26))) {
+ Case (0) {
+ Store(26, Local0)
+ Switch (DeRefOf(Index(b0sw, 27))) {
+ Case (0) {
+ Store(27, Local0)
+ Switch (DeRefOf(Index(b0sw, 28))) {
+ Case (0) {
+ Store(28, Local0)
+ Switch (DeRefOf(Index(b0sw, 29))) {
+ Case (0) {
+ Store(29, Local0)
+ Switch (DeRefOf(Index(b0sw, 30))) {
+ Case (0) {
+ Store(30, Local0)
+ Switch (DeRefOf(Index(b0sw, 31))) {
+ Case (0) {
+ Store(31, Local0)
+ Switch (DeRefOf(Index(b0sw, 32))) {
+ Case (0) {
+ Store(32, Local0)
+ Switch (DeRefOf(Index(b0sw, 33))) {
+ Case (0) {
+ Store(33, Local0)
+ Switch (DeRefOf(Index(b0sw, 34))) {
+ Case (0) {
+ Store(34, Local0)
+ Switch (DeRefOf(Index(b0sw, 35))) {
+ Case (0) {
+ Store(35, Local0)
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+ }}
+
+ Decrement(lpN0)
+ Increment(lpC0)
+ if (LNotEqual(Local0, lpN0)) {
+ err(arg0, z070, 4, 0, 0, Local0, lpN0)
+ return (Ones)
+ }
+ Store(1, Index(b0sw, lpN0))
+
+ } // While(lpN0)
+
+ m003(arg0)
+
+ return (0)
+}
+
+// Run-method
+Method(SW07)
+{
+ Store("TEST: SW07, Switch, Case, Default operators", Debug)
+
+ Name(ts, "SW07")
+
+ m0de(ts)
+
+ return (0)
+}
diff --git a/tests/aslts/src/runtime/collections/functional/control/switch4.asl b/tests/aslts/src/runtime/collections/functional/control/switch4.asl
new file mode 100644
index 000000000..66b19bb93
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/control/switch4.asl
@@ -0,0 +1,1272 @@
+/*
+ * 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.
+ */
+
+/*
+ * Method execution control
+ *
+ * Switch, Case, Default operators
+ *
+ * Switch, Case different parameters.
+ * All the constants from the Table 1,
+ * Computational data, immediate images.
+ */
+
+Name(z071, 71)
+
+Method(m0df, 1)
+{
+ Switch (arg0) {
+
+ // Buffer
+
+ Case (Buffer(1){10}) {
+ Store(0, Local7)
+ }
+ Case (Buffer(2){11,12}) {
+ Store(1, Local7)
+ }
+ Case (Buffer() {13,14,15}) {
+ Store(2, Local7)
+ }
+ Case (Buffer(2){16,17,18}) {
+ Store(3, Local7)
+ }
+ Case (Buffer(3){19,20}) {
+ Store(4, Local7)
+ }
+ Case (Buffer(3){21,22,23}) {
+ Store(5, Local7)
+ }
+ Case (Buffer(4){24,25,26,27}) {
+ Store(6, Local7)
+ }
+ Case (Buffer(5){28,29,30,31,32}) {
+ Store(7, Local7)
+ }
+ Case (Buffer(8){33,34,35,36,37,38,39,40}) {
+ Store(8, Local7)
+ }
+ Case (Buffer(){0x12,0x34,0x56,0x78,0x9a,0xbc,0xde,0xf0}) {
+ Store(9, Local7)
+ }
+ Case (Buffer(9){41,42,43,44,45,46,47,48,49}) {
+ Store(10, Local7)
+ }
+ Case (Buffer(67){0x7d}) {
+ Store(11, Local7)
+ }
+ Case (Buffer() {
+ 0x00,0x00,0x02,0x03,0x04,0x05,0x06,0x07,
+ 0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,
+ 0x00,0x11,0x12,0x13,0x14,0x15,0x16,0x17,
+ 0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,
+ 0x10,0x21,0x22,0x23,0x24,0x25,0x26,0x27,
+ 0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,
+ 0x20,0x31,0x32,0x33,0x34,0x35,0x36,0x37,
+ 0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,
+ 0x30,0x41,0x42}) {
+ Store(12, Local7)
+ }
+ Case (Buffer(67) {
+ 0x00,0x00,0x02,0x03,0x04,0x05,0x06,0x07,
+ 0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,
+ 0x00,0x11,0x12,0x13,0x14,0x15,0x16,0x17,
+ 0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,
+ 0x10,0x21,0x22,0x23,0x24,0x25,0x26,0x27,
+ 0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,
+ 0x20,0x31,0x32,0x33,0x34,0x35,0x36,0x37,
+ 0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,
+ 0x30,0x41,0x42}) {
+ Store(13, Local7)
+ }
+ Case (Buffer(4){0,0,0,0}) {
+ Store(14, Local7)
+ }
+ Case (Buffer(8){0,0,0,0,0,0,0,0}) {
+ Store(15, Local7)
+ }
+ Case (Buffer(4){0xff,0xff,0xff,0xff}) {
+ Store(16, Local7)
+ }
+ Case (Buffer(9){0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}) {
+ Store(17, Local7)
+ }
+ Case (Buffer(8){0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}) {
+ Store(18, Local7)
+ }
+ Case (Buffer(5){0xff,0xff,0xff,0xff,0xff}) {
+ Store(19, Local7)
+ }
+ Case (Buffer(1){0xff}) {
+ Store(20, Local7)
+ }
+ Case (Buffer(1){}) {
+ Store(21, Local7)
+ }
+ Case (Buffer(5){}) {
+ Store(22, Local7)
+ }
+ Case (Buffer(9){}) {
+ Store(23, Local7)
+ }
+ Case (Buffer(9){0xab, 0xcd, 0xef}) {
+ Store(24, Local7)
+ }
+
+ // String
+
+ Case ("0321") {
+ Store(25, Local7)
+ }
+ Case ("321") {
+ Store(26, Local7)
+ }
+ Case ("ba9876") {
+ Store(27, Local7)
+ }
+ Case ("c179b3fe") {
+ Store(28, Local7)
+ }
+ Case ("fe7cb391d650a284") {
+ Store(29, Local7)
+ }
+ Case ("ffffffff") {
+ Store(30, Local7)
+ }
+ Case ("ffffffffffffffff") {
+ Store(31, Local7)
+ }
+ Case ("ffffffffff") {
+ Store(32, Local7)
+ }
+ Case ("ff") {
+ Store(33, Local7)
+ }
+ Case ("987654321") {
+ Store(34, Local7)
+ }
+ Case ("0xfe7cb3") {
+ Store(35, Local7)
+ }
+
+ // Integer
+
+ Case (0321) {
+ Store(36, Local7)
+ }
+ Case (9876543210) {
+ Store(37, Local7)
+ }
+ Case (0xc179b3fe) {
+ Store(38, Local7)
+ }
+ Case (0xfe7cb391d650a284) {
+ Store(39, Local7)
+ }
+ Case (0) {
+ Store(40, Local7)
+ }
+ Case (0xffffffff) {
+ Store(41, Local7)
+ }
+ Case (0xffffffffffffffff) {
+ Store(42, Local7)
+ }
+ Case (0xff) {
+ Store(43, Local7)
+ }
+ Case (0xabcdef) {
+ Store(44, Local7)
+ }
+
+ Default {
+ Store(45, Local7)
+ }
+ }
+
+ return (Local7)
+}
+
+Method(m0e0, 1)
+{
+ // Integer
+
+ Store(m0df(0321), Local0)
+ if (LNotEqual(Local0, 36)) {
+ err(arg0, z071, 0, 0, 0, Local0, 36)
+ }
+ Store(m0df(0xd1), Local0)
+ if (LNotEqual(Local0, 36)) {
+ err(arg0, z071, 1, 0, 0, Local0, 36)
+ }
+ Store(m0df(9876543210), Local0)
+ if (LNotEqual(Local0, 37)) {
+ err(arg0, z071, 2, 0, 0, Local0, 37)
+ }
+ Store(m0df(0xc179b3fe), Local0)
+ if (LNotEqual(Local0, 28)) {
+ err(arg0, z071, 4, 0, 0, Local0, 28)
+ }
+ Store(m0df(0xfe7cb391d650a284), Local0)
+ if (F64) {
+ if (LNotEqual(Local0, 29)) {
+ err(arg0, z071, 0x100, 0, 0, Local0, 29)
+ }
+ } else {
+ if (LNotEqual(Local0, 39)) {
+ err(arg0, z071, 0x101, 0, 0, Local0, 39)
+ }
+ }
+ Store(m0df(0), Local0)
+ if (LNotEqual(Local0, 14)) {
+ err(arg0, z071, 6, 0, 0, Local0, 14)
+ }
+ Store(m0df(0xffffffff), Local0)
+ if (LNotEqual(Local0, 16)) {
+ err(arg0, z071, 7, 0, 0, Local0, 16)
+ }
+ Store(m0df(0xffffffffffffffff), Local0)
+ if (F64) {
+ if (LNotEqual(Local0, 17)) {
+ err(arg0, z071, 8, 0, 0, Local0, 17)
+ }
+ } else {
+ if (LNotEqual(Local0, 16)) {
+ err(arg0, z071, 9, 0, 0, Local0, 16)
+ }
+ }
+ Store(m0df(0xff), Local0)
+ if (LNotEqual(Local0, 20)) {
+ err(arg0, z071, 10, 0, 0, Local0, 20)
+ }
+ Store(m0df(0xabcdef), Local0)
+ if (LNotEqual(Local0, 44)) {
+ err(arg0, z071, 11, 0, 0, Local0, 44)
+ }
+}
+
+// The same as m0df and m0e0 but with ToInteger
+Method(m0e1, 1)
+{
+ Switch (ToInteger(arg0)) {
+
+ // Buffer
+
+ Case (Buffer(1){10}) {
+ Store(0, Local7)
+ }
+ Case (Buffer(2){11,12}) {
+ Store(1, Local7)
+ }
+ Case (Buffer() {13,14,15}) {
+ Store(2, Local7)
+ }
+ Case (Buffer(2){16,17,18}) {
+ Store(3, Local7)
+ }
+ Case (Buffer(3){19,20}) {
+ Store(4, Local7)
+ }
+ Case (Buffer(3){21,22,23}) {
+ Store(5, Local7)
+ }
+ Case (Buffer(4){24,25,26,27}) {
+ Store(6, Local7)
+ }
+ Case (Buffer(5){28,29,30,31,32}) {
+ Store(7, Local7)
+ }
+ Case (Buffer(8){33,34,35,36,37,38,39,40}) {
+ Store(8, Local7)
+ }
+ Case (Buffer(){0x12,0x34,0x56,0x78,0x9a,0xbc,0xde,0xf0}) {
+ Store(9, Local7)
+ }
+ Case (Buffer(9){41,42,43,44,45,46,47,48,49}) {
+ Store(10, Local7)
+ }
+ Case (Buffer(67){0x7d}) {
+ Store(11, Local7)
+ }
+ Case (Buffer() {
+ 0x00,0x00,0x02,0x03,0x04,0x05,0x06,0x07,
+ 0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,
+ 0x00,0x11,0x12,0x13,0x14,0x15,0x16,0x17,
+ 0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,
+ 0x10,0x21,0x22,0x23,0x24,0x25,0x26,0x27,
+ 0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,
+ 0x20,0x31,0x32,0x33,0x34,0x35,0x36,0x37,
+ 0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,
+ 0x30,0x41,0x42}) {
+ Store(12, Local7)
+ }
+ Case (Buffer(67) {
+ 0x00,0x00,0x02,0x03,0x04,0x05,0x06,0x07,
+ 0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,
+ 0x00,0x11,0x12,0x13,0x14,0x15,0x16,0x17,
+ 0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,
+ 0x10,0x21,0x22,0x23,0x24,0x25,0x26,0x27,
+ 0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,
+ 0x20,0x31,0x32,0x33,0x34,0x35,0x36,0x37,
+ 0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,
+ 0x30,0x41,0x42}) {
+ Store(13, Local7)
+ }
+ Case (Buffer(4){0,0,0,0}) {
+ Store(14, Local7)
+ }
+ Case (Buffer(8){0,0,0,0,0,0,0,0}) {
+ Store(15, Local7)
+ }
+ Case (Buffer(4){0xff,0xff,0xff,0xff}) {
+ Store(16, Local7)
+ }
+ Case (Buffer(9){0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}) {
+ Store(17, Local7)
+ }
+ Case (Buffer(8){0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}) {
+ Store(18, Local7)
+ }
+ Case (Buffer(5){0xff,0xff,0xff,0xff,0xff}) {
+ Store(19, Local7)
+ }
+ Case (Buffer(1){0xff}) {
+ Store(20, Local7)
+ }
+ Case (Buffer(1){}) {
+ Store(21, Local7)
+ }
+ Case (Buffer(5){}) {
+ Store(22, Local7)
+ }
+ Case (Buffer(9){}) {
+ Store(23, Local7)
+ }
+ Case (Buffer(9){0xab, 0xcd, 0xef}) {
+ Store(24, Local7)
+ }
+
+ // String
+
+ Case ("0321") {
+ Store(25, Local7)
+ }
+ Case ("321") {
+ Store(26, Local7)
+ }
+ Case ("ba9876") {
+ Store(27, Local7)
+ }
+ Case ("c179b3fe") {
+ Store(28, Local7)
+ }
+ Case ("fe7cb391d650a284") {
+ Store(29, Local7)
+ }
+ Case ("ffffffff") {
+ Store(30, Local7)
+ }
+ Case ("ffffffffffffffff") {
+ Store(31, Local7)
+ }
+ Case ("ffffffffff") {
+ Store(32, Local7)
+ }
+ Case ("ff") {
+ Store(33, Local7)
+ }
+ Case ("987654321") {
+ Store(34, Local7)
+ }
+ Case ("0xfe7cb3") {
+ Store(35, Local7)
+ }
+
+ // Integer
+
+ Case (0321) {
+ Store(36, Local7)
+ }
+ Case (9876543210) {
+ Store(37, Local7)
+ }
+ Case (0xc179b3fe) {
+ Store(38, Local7)
+ }
+ Case (0xfe7cb391d650a284) {
+ Store(39, Local7)
+ }
+ Case (0) {
+ Store(40, Local7)
+ }
+ Case (0xffffffff) {
+ Store(41, Local7)
+ }
+ Case (0xffffffffffffffff) {
+ Store(42, Local7)
+ }
+ Case (0xff) {
+ Store(43, Local7)
+ }
+ Case (0xabcdef) {
+ Store(44, Local7)
+ }
+
+ Default {
+ Store(45, Local7)
+ }
+ }
+
+ return (Local7)
+}
+
+Method(m0e2, 1)
+{
+ // Integer
+
+ Store(m0e1(0321), Local0)
+ if (LNotEqual(Local0, 36)) {
+ err(arg0, z071, 12, 0, 0, Local0, 36)
+ }
+ Store(m0e1(0xd1), Local0)
+ if (LNotEqual(Local0, 36)) {
+ err(arg0, z071, 13, 0, 0, Local0, 36)
+ }
+
+ Store(m0e1(9876543210), Local0)
+// if (F64) {
+ if (LNotEqual(Local0, 37)) {
+ err(arg0, z071, 14, 0, 0, Local0, 37)
+ }
+// } else {
+// if (LNotEqual(Local0, 45)) {
+// err(arg0, z071, 15, 0, 0, Local0, 45)
+// }
+// }
+ Store(m0e1(0xc179b3fe), Local0)
+ if (LNotEqual(Local0, 28)) {
+ err(arg0, z071, 16, 0, 0, Local0, 28)
+ }
+ Store(m0e1(0xfe7cb391d650a284), Local0)
+ if (F64) {
+ if (LNotEqual(Local0, 29)) {
+ err(arg0, z071, 0x102, 0, 0, Local0, 29)
+ }
+ } else {
+ if (LNotEqual(Local0, 39)) {
+ err(arg0, z071, 0x103, 0, 0, Local0, 39)
+ }
+ }
+ Store(m0e1(0), Local0)
+ if (LNotEqual(Local0, 14)) {
+ err(arg0, z071, 18, 0, 0, Local0, 14)
+ }
+ Store(m0e1(0xffffffff), Local0)
+ if (LNotEqual(Local0, 16)) {
+ err(arg0, z071, 19, 0, 0, Local0, 16)
+ }
+ Store(m0e1(0xffffffffffffffff), Local0)
+ if (F64) {
+ if (LNotEqual(Local0, 17)) {
+ err(arg0, z071, 20, 0, 0, Local0, 17)
+ }
+ } else {
+ if (LNotEqual(Local0, 16)) {
+ err(arg0, z071, 21, 0, 0, Local0, 16)
+ }
+ }
+ Store(m0e1(0xff), Local0)
+ if (LNotEqual(Local0, 20)) {
+ err(arg0, z071, 22, 0, 0, Local0, 20)
+ }
+ Store(m0e1(0xabcdef), Local0)
+ if (LNotEqual(Local0, 44)) {
+ err(arg0, z071, 23, 0, 0, Local0, 44)
+ }
+}
+
+Method(m0e3, 1)
+{
+ Switch (ToString(arg0)) {
+
+ // Integer
+
+ Case (0321) {
+ Store(0, Local7)
+ }
+ Case (9876543210) {
+ Store(1, Local7)
+ }
+ Case (0xc179b3fe) {
+ Store(2, Local7)
+ }
+ Case (0xfe7cb391d650a284) {
+ Store(3, Local7)
+ }
+ Case (0) {
+ Store(4, Local7)
+ }
+ Case (0xffffffff) {
+ Store(5, Local7)
+ }
+ Case (0xffffffffffffffff) {
+ Store(6, Local7)
+ }
+ Case (0xff) {
+ Store(7, Local7)
+ }
+ Case (0xabcdef) {
+ Store(8, Local7)
+ }
+
+ // Buffer
+
+ Case (Buffer(1){10}) {
+ Store(9, Local7)
+ }
+ Case (Buffer(2){11,12}) {
+ Store(10, Local7)
+ }
+ Case (Buffer() {13,14,15}) {
+ Store(11, Local7)
+ }
+ Case (Buffer(2){16,17,18}) {
+ Store(12, Local7)
+ }
+ Case (Buffer(3){19,20}) {
+ Store(13, Local7)
+ }
+ Case (Buffer(3){21,22,23}) {
+ Store(14, Local7)
+ }
+ Case (Buffer(4){24,25,26,27}) {
+ Store(15, Local7)
+ }
+ Case (Buffer(5){28,29,30,31,32}) {
+ Store(16, Local7)
+ }
+ Case (Buffer(8){33,34,35,36,37,38,39,40}) {
+ Store(17, Local7)
+ }
+ Case (Buffer(){0x12,0x34,0x56,0x78,0x9a,0xbc,0xde,0xf0}) {
+ Store(18, Local7)
+ }
+ Case (Buffer(9){41,42,43,44,45,46,47,48,49}) {
+ Store(19, Local7)
+ }
+ Case (Buffer(67){0x7d}) {
+ Store(20, Local7)
+ }
+ Case (Buffer() {
+ 0x00,0x00,0x02,0x03,0x04,0x05,0x06,0x07,
+ 0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,
+ 0x00,0x11,0x12,0x13,0x14,0x15,0x16,0x17,
+ 0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,
+ 0x10,0x21,0x22,0x23,0x24,0x25,0x26,0x27,
+ 0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,
+ 0x20,0x31,0x32,0x33,0x34,0x35,0x36,0x37,
+ 0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,
+ 0x30,0x41,0x42}) {
+ Store(21, Local7)
+ }
+ Case (Buffer(67) {
+ 0x00,0x00,0x02,0x03,0x04,0x05,0x06,0x07,
+ 0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,
+ 0x00,0x11,0x12,0x13,0x14,0x15,0x16,0x17,
+ 0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,
+ 0x10,0x21,0x22,0x23,0x24,0x25,0x26,0x27,
+ 0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,
+ 0x20,0x31,0x32,0x33,0x34,0x35,0x36,0x37,
+ 0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,
+ 0x30,0x41,0x42}) {
+ Store(22, Local7)
+ }
+ Case (Buffer(4){0,0,0,0}) {
+ Store(23, Local7)
+ }
+ Case (Buffer(8){0,0,0,0,0,0,0,0}) {
+ Store(24, Local7)
+ }
+ Case (Buffer(4){0xff,0xff,0xff,0xff}) {
+ Store(25, Local7)
+ }
+ Case (Buffer(9){0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}) {
+ Store(26, Local7)
+ }
+ Case (Buffer(8){0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}) {
+ Store(27, Local7)
+ }
+ Case (Buffer(5){0xff,0xff,0xff,0xff,0xff}) {
+ Store(28, Local7)
+ }
+ Case (Buffer(1){0xff}) {
+ Store(29, Local7)
+ }
+ Case (Buffer(1){}) {
+ Store(30, Local7)
+ }
+ Case (Buffer(5){}) {
+ Store(31, Local7)
+ }
+ Case (Buffer(9){}) {
+ Store(32, Local7)
+ }
+ Case (Buffer(9){0xab, 0xcd, 0xef}) {
+ Store(33, Local7)
+ }
+
+ // String
+
+ Case ("0321") {
+ Store(34, Local7)
+ }
+ Case ("321") {
+ Store(35, Local7)
+ }
+ Case ("ba9876") {
+ Store(36, Local7)
+ }
+ Case ("c179b3fe") {
+ Store(37, Local7)
+ }
+ Case ("fe7cb391d650a284") {
+ Store(38, Local7)
+ }
+ Case ("ffffffff") {
+ Store(39, Local7)
+ }
+ Case ("ffffffffffffffffff") {
+ Store(40, Local7)
+ }
+ Case ("ffffffffffffffff") {
+ Store(41, Local7)
+ }
+ Case ("ffffffffff") {
+ Store(42, Local7)
+ }
+ Case ("ff") {
+ Store(43, Local7)
+ }
+ Case ("fe7cb391d650a2841") {
+ Store(44, Local7)
+ }
+ Case ("987654321") {
+ Store(45, Local7)
+ }
+ Case ("0xfe7cb3") {
+ Store(46, Local7)
+ }
+ Case ("1234q") {
+ Store(47, Local7)
+ }
+ Case ("qwertyuiopasdfghjklzxcvbnm1234567890QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm1234567890QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm1234567890QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdf") {
+ Store(48, Local7)
+ }
+ Case ("") {
+ Store(49, Local7)
+ }
+ Case (" ") {
+ Store(50, Local7)
+ }
+ Case ("`1234567890-=qwertyuiop[]\\asdfghjkl;'zxcvbnm,./~!@#$%^&*()_+QWERTYUIOP{}|ASDFGHJKL:\"ZXCVBNM<>?") {
+ Store(51, Local7)
+ }
+ Case ("abcdef") {
+ Store(52, Local7)
+ }
+ Case ("ABCDEF") {
+ Store(53, Local7)
+ }
+
+ Default {
+ Store(54, Local7)
+ }
+ }
+
+ return (Local7)
+}
+
+Method(m0e4, 1)
+{
+ // String
+
+ Store(m0e3("0321"), Local0)
+ if (LNotEqual(Local0, 34)) {
+ err(arg0, z071, 24, 0, 0, Local0, 34)
+ }
+ Store(m0e3("321"), Local0)
+ if (LNotEqual(Local0, 35)) {
+ err(arg0, z071, 25, 0, 0, Local0, 35)
+ }
+ Store(m0e3("ba9876"), Local0)
+ if (LNotEqual(Local0, 36)) {
+ err(arg0, z071, 26, 0, 0, Local0, 36)
+ }
+ Store(m0e3("c179b3fe"), Local0)
+ if (LNotEqual(Local0, 37)) {
+ err(arg0, z071, 27, 0, 0, Local0, 37)
+ }
+ Store(m0e3("fe7cb391d650a284"), Local0)
+ if (LNotEqual(Local0, 38)) {
+ err(arg0, z071, 28, 0, 0, Local0, 38)
+ }
+ Store(m0e3("ffffffff"), Local0)
+ if (LNotEqual(Local0, 39)) {
+ err(arg0, z071, 29, 0, 0, Local0, 39)
+ }
+ Store(m0e3("ffffffffffffffffff"), Local0)
+ if (LNotEqual(Local0, 40)) {
+ err(arg0, z071, 30, 0, 0, Local0, 40)
+ }
+ Store(m0e3("ffffffffffffffff"), Local0)
+ if (LNotEqual(Local0, 41)) {
+ err(arg0, z071, 31, 0, 0, Local0, 41)
+ }
+ Store(m0e3("ffffffffff"), Local0)
+ if (LNotEqual(Local0, 42)) {
+ err(arg0, z071, 32, 0, 0, Local0, 42)
+ }
+ Store(m0e3("ff"), Local0)
+ if (LNotEqual(Local0, 43)) {
+ err(arg0, z071, 33, 0, 0, Local0, 43)
+ }
+ Store(m0e3("fe7cb391d650a2841"), Local0)
+ if (LNotEqual(Local0, 44)) {
+ err(arg0, z071, 34, 0, 0, Local0, 44)
+ }
+ Store(m0e3("987654321"), Local0)
+ if (LNotEqual(Local0, 45)) {
+ err(arg0, z071, 35, 0, 0, Local0, 45)
+ }
+ Store(m0e3("0xfe7cb3"), Local0)
+ if (LNotEqual(Local0, 46)) {
+ err(arg0, z071, 36, 0, 0, Local0, 46)
+ }
+ Store(m0e3("1234q"), Local0)
+ if (LNotEqual(Local0, 47)) {
+ err(arg0, z071, 37, 0, 0, Local0, 47)
+ }
+ Store(m0e3(BIG0), Local0)
+ if (LNotEqual(Local0, 48)) {
+ err(arg0, z071, 38, 0, 0, Local0, 48)
+ }
+ Store(m0e3(""), Local0)
+ if (LNotEqual(Local0, 49)) {
+ err(arg0, z071, 39, 0, 0, Local0, 49)
+ }
+ Store(m0e3(" "), Local0)
+ if (LNotEqual(Local0, 50)) {
+ err(arg0, z071, 40, 0, 0, Local0, 50)
+ }
+ Store(m0e3(ALL0), Local0)
+ if (LNotEqual(Local0, 51)) {
+ err(arg0, z071, 41, 0, 0, Local0, 51)
+ }
+ Store(m0e3("abcdef"), Local0)
+ if (LNotEqual(Local0, 52)) {
+ err(arg0, z071, 42, 0, 0, Local0, 52)
+ }
+ Store(m0e3("ABCDEF"), Local0)
+ if (LNotEqual(Local0, 53)) {
+ err(arg0, z071, 43, 0, 0, Local0, 53)
+ }
+}
+
+Method(m0e5, 1)
+{
+ Switch (ToBuffer(arg0)) {
+
+ // Integer
+
+ Case (0321) {
+ Store(0, Local7)
+ }
+ Case (9876543210) {
+ Store(1, Local7)
+ }
+ Case (0xc179b3fe) {
+ Store(2, Local7)
+ }
+ Case (0xfe7cb391d650a284) {
+ Store(3, Local7)
+ }
+ Case (0) {
+ Store(4, Local7)
+ }
+ Case (0xffffffff) {
+ Store(5, Local7)
+ }
+ Case (0xffffffffffffffff) {
+ Store(6, Local7)
+ }
+ Case (0xff) {
+ Store(7, Local7)
+ }
+ Case (0xabcdef) {
+ Store(8, Local7)
+ }
+
+ // String
+
+ Case ("0321") {
+ Store(9, Local7)
+ }
+ Case ("321") {
+ Store(10, Local7)
+ }
+ Case ("ba9876") {
+ Store(11, Local7)
+ }
+ Case ("c179b3fe") {
+ Store(12, Local7)
+ }
+ Case ("fe7cb391d650a284") {
+ Store(13, Local7)
+ }
+ Case ("ffffffff") {
+ Store(14, Local7)
+ }
+ Case ("ffffffffffffffffff") {
+ Store(15, Local7)
+ }
+ Case ("ffffffffffffffff") {
+ Store(16, Local7)
+ }
+ Case ("ffffffffff") {
+ Store(17, Local7)
+ }
+ Case ("ff") {
+ Store(18, Local7)
+ }
+ Case ("fe7cb391d650a2841") {
+ Store(19, Local7)
+ }
+ Case ("987654321") {
+ Store(20, Local7)
+ }
+ Case ("0xfe7cb3") {
+ Store(21, Local7)
+ }
+ Case ("1234q") {
+ Store(22, Local7)
+ }
+ Case ("qwertyuiopasdfghjklzxcvbnm1234567890QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm1234567890QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm1234567890QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdf") {
+ Store(23, Local7)
+ }
+ Case ("") {
+ Store(24, Local7)
+ }
+ Case (" ") {
+ Store(25, Local7)
+ }
+ Case ("`1234567890-=qwertyuiop[]\\asdfghjkl;'zxcvbnm,./~!@#$%^&*()_+QWERTYUIOP{}|ASDFGHJKL:\"ZXCVBNM<>?") {
+ Store(26, Local7)
+ }
+ Case ("abcdef") {
+ Store(27, Local7)
+ }
+ Case ("ABCDEF") {
+ Store(28, Local7)
+ }
+
+ // Buffer
+
+ Case (Buffer(1){10}) {
+ Store(29, Local7)
+ }
+ Case (Buffer(2){11,12}) {
+ Store(30, Local7)
+ }
+ Case (Buffer() {13,14,15}) {
+ Store(31, Local7)
+ }
+ Case (Buffer(2){16,17,18}) {
+ Store(32, Local7)
+ }
+ Case (Buffer(3){19,20}) {
+ Store(33, Local7)
+ }
+ Case (Buffer(3){21,22,23}) {
+ Store(34, Local7)
+ }
+ Case (Buffer(4){24,25,26,27}) {
+ Store(35, Local7)
+ }
+ Case (Buffer(5){28,29,30,31,32}) {
+ Store(36, Local7)
+ }
+ Case (Buffer(8){33,34,35,36,37,38,39,40}) {
+ Store(37, Local7)
+ }
+ Case (Buffer(){0x12,0x34,0x56,0x78,0x9a,0xbc,0xde,0xf0}) {
+ Store(38, Local7)
+ }
+ Case (Buffer(9){41,42,43,44,45,46,47,48,49}) {
+ Store(39, Local7)
+ }
+ Case (Buffer(257){0x7d}) {
+ Store(40, Local7)
+ }
+ Case (Buffer(257) {
+ // 0-127
+ 0x00,0x00,0x02,0x03,0x04,0x05,0x06,0x07,
+ 0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,
+ 0x00,0x11,0x12,0x13,0x14,0x15,0x16,0x17,
+ 0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,
+ 0x10,0x21,0x22,0x23,0x24,0x25,0x26,0x27,
+ 0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,
+ 0x20,0x31,0x32,0x33,0x34,0x35,0x36,0x37,
+ 0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,
+ 0x30,0x41,0x42,0x43,0x44,0x45,0x46,0x47,
+ 0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,
+ 0x40,0x51,0x52,0x53,0x54,0x55,0x56,0x57,
+ 0x58,0x59,0x5a,0x5b,0x5c,0x5d,0x5e,0x5f,
+ 0x50,0x61,0x62,0x63,0x64,0x65,0x66,0x67,
+ 0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,
+ 0x60,0x71,0x72,0x73,0x74,0x75,0x76,0x77,
+ 0x78,0x79,0x7a,0x7b,0x7c,0x7d,0x7e,0x7f,
+
+ // 128-255
+ 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,
+ 0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,
+ 0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,
+ 0x98,0x99,0x9a,0x9b,0x9c,0x9d,0x9e,0x9f,
+ 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,
+ 0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,
+ 0xb0,0xb1,0xb2,0xb3,0xb4,0xb5,0xb6,0xb7,
+ 0xb8,0xb9,0xba,0xbb,0xbc,0xbd,0xbe,0xbf,
+ 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,
+ 0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,
+ 0xd0,0xd1,0xd2,0xd3,0xd4,0xd5,0xd6,0xd7,
+ 0xd8,0xd9,0xda,0xdb,0xdc,0xdd,0xde,0xdf,
+ 0xe0,0xe1,0xe2,0xe3,0xe4,0xe5,0xe6,0xe7,
+ 0xe8,0xe9,0xea,0xeb,0xec,0xed,0xee,0xef,
+ 0xf0,0xf1,0xf2,0xf3,0xf4,0xf5,0xf6,0xf7,
+ 0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,0xfe,0xff,
+ // 256
+ 0x01}) {
+ Store(41, Local7)
+ }
+ Case (Buffer() {
+ // 0-127
+ 0x00,0x00,0x02,0x03,0x04,0x05,0x06,0x07,
+ 0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,
+ 0x00,0x11,0x12,0x13,0x14,0x15,0x16,0x17,
+ 0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,
+ 0x10,0x21,0x22,0x23,0x24,0x25,0x26,0x27,
+ 0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,
+ 0x20,0x31,0x32,0x33,0x34,0x35,0x36,0x37,
+ 0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,
+ 0x30,0x41,0x42,0x43,0x44,0x45,0x46,0x47,
+ 0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,
+ 0x40,0x51,0x52,0x53,0x54,0x55,0x56,0x57,
+ 0x58,0x59,0x5a,0x5b,0x5c,0x5d,0x5e,0x5f,
+ 0x50,0x61,0x62,0x63,0x64,0x65,0x66,0x67,
+ 0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,
+ 0x60,0x71,0x72,0x73,0x74,0x75,0x76,0x77,
+ 0x78,0x79,0x7a,0x7b,0x7c,0x7d,0x7e,0x7f,
+
+ // 128-255
+ 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,
+ 0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,
+ 0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,
+ 0x98,0x99,0x9a,0x9b,0x9c,0x9d,0x9e,0x9f,
+ 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,
+ 0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,
+ 0xb0,0xb1,0xb2,0xb3,0xb4,0xb5,0xb6,0xb7,
+ 0xb8,0xb9,0xba,0xbb,0xbc,0xbd,0xbe,0xbf,
+ 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,
+ 0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,
+ 0xd0,0xd1,0xd2,0xd3,0xd4,0xd5,0xd6,0xd7,
+ 0xd8,0xd9,0xda,0xdb,0xdc,0xdd,0xde,0xdf,
+ 0xe0,0xe1,0xe2,0xe3,0xe4,0xe5,0xe6,0xe7,
+ 0xe8,0xe9,0xea,0xeb,0xec,0xed,0xee,0xef,
+ 0xf0,0xf1,0xf2,0xf3,0xf4,0xf5,0xf6,0xf7,
+ 0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,0xfe,0xff,
+ // 256
+ 0x02}) {
+ Store(42, Local7)
+ }
+ Case (Buffer(4){0,0,0,0}) {
+ Store(43, Local7)
+ }
+ Case (Buffer(8){0,0,0,0,0,0,0,0}) {
+ Store(44, Local7)
+ }
+ Case (Buffer(4){0xff,0xff,0xff,0xff}) {
+ Store(45, Local7)
+ }
+ Case (Buffer(9){0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}) {
+ Store(46, Local7)
+ }
+ Case (Buffer(8){0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}) {
+ Store(47, Local7)
+ }
+ Case (Buffer(5){0xff,0xff,0xff,0xff,0xff}) {
+ Store(48, Local7)
+ }
+ Case (Buffer(1){0xff}) {
+ Store(49, Local7)
+ }
+ Case (Buffer(1){}) {
+ Store(50, Local7)
+ }
+ Case (Buffer(5){}) {
+ Store(51, Local7)
+ }
+ Case (Buffer(9){}) {
+ Store(52, Local7)
+ }
+ Case (Buffer(9){0xab, 0xcd, 0xef}) {
+ Store(53, Local7)
+ }
+
+ Default {
+ Store(54, Local7)
+ }
+ }
+
+ return (Local7)
+}
+
+Method(m0e6, 1)
+{
+ // Buffer
+
+ Store(m0e5(Buffer(1){10}), Local0)
+ if (LNotEqual(Local0, 29)) {
+ err(arg0, z071, 44, 0, 0, Local0, 29)
+ }
+ Store(m0e5(Buffer(2){11,12}), Local0)
+ if (LNotEqual(Local0, 30)) {
+ err(arg0, z071, 45, 0, 0, Local0, 30)
+ }
+ Store(m0e5(Buffer() {13,14,15}), Local0)
+ if (LNotEqual(Local0, 31)) {
+ err(arg0, z071, 46, 0, 0, Local0, 31)
+ }
+ Store(m0e5(Buffer(2){16,17,18}), Local0)
+ if (LNotEqual(Local0, 32)) {
+ err(arg0, z071, 47, 0, 0, Local0, 32)
+ }
+ Store(m0e5(Buffer(3){19,20}), Local0)
+ if (LNotEqual(Local0, 33)) {
+ err(arg0, z071, 48, 0, 0, Local0, 33)
+ }
+ Store(m0e5(Buffer(3){21,22,23}), Local0)
+ if (LNotEqual(Local0, 34)) {
+ err(arg0, z071, 49, 0, 0, Local0, 34)
+ }
+ Store(m0e5(Buffer(4){24,25,26,27}), Local0)
+ if (LNotEqual(Local0, 35)) {
+ err(arg0, z071, 50, 0, 0, Local0, 35)
+ }
+ Store(m0e5(Buffer(5){28,29,30,31,32}), Local0)
+ if (LNotEqual(Local0, 36)) {
+ err(arg0, z071, 51, 0, 0, Local0, 36)
+ }
+ Store(m0e5(Buffer(8){33,34,35,36,37,38,39,40}), Local0)
+ if (LNotEqual(Local0, 37)) {
+ err(arg0, z071, 52, 0, 0, Local0, 37)
+ }
+ Store(m0e5(Buffer(){0x12,0x34,0x56,0x78,0x9a,0xbc,0xde,0xf0}), Local0)
+ if (LNotEqual(Local0, 38)) {
+ err(arg0, z071, 53, 0, 0, Local0, 38)
+ }
+ Store(m0e5(Buffer(9){41,42,43,44,45,46,47,48,49}), Local0)
+ if (LNotEqual(Local0, 39)) {
+ err(arg0, z071, 54, 0, 0, Local0, 39)
+ }
+ Store(m0e5(Buffer(257){0x7d}), Local0)
+ if (LNotEqual(Local0, 40)) {
+ err(arg0, z071, 55, 0, 0, Local0, 40)
+ }
+ Store(m0e5(Buffer(257) {
+ // 0-127
+ 0x00,0x00,0x02,0x03,0x04,0x05,0x06,0x07,
+ 0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,
+ 0x00,0x11,0x12,0x13,0x14,0x15,0x16,0x17,
+ 0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,
+ 0x10,0x21,0x22,0x23,0x24,0x25,0x26,0x27,
+ 0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,
+ 0x20,0x31,0x32,0x33,0x34,0x35,0x36,0x37,
+ 0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,
+ 0x30,0x41,0x42,0x43,0x44,0x45,0x46,0x47,
+ 0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,
+ 0x40,0x51,0x52,0x53,0x54,0x55,0x56,0x57,
+ 0x58,0x59,0x5a,0x5b,0x5c,0x5d,0x5e,0x5f,
+ 0x50,0x61,0x62,0x63,0x64,0x65,0x66,0x67,
+ 0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,
+ 0x60,0x71,0x72,0x73,0x74,0x75,0x76,0x77,
+ 0x78,0x79,0x7a,0x7b,0x7c,0x7d,0x7e,0x7f,
+
+ // 128-255
+ 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,
+ 0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,
+ 0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,
+ 0x98,0x99,0x9a,0x9b,0x9c,0x9d,0x9e,0x9f,
+ 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,
+ 0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,
+ 0xb0,0xb1,0xb2,0xb3,0xb4,0xb5,0xb6,0xb7,
+ 0xb8,0xb9,0xba,0xbb,0xbc,0xbd,0xbe,0xbf,
+ 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,
+ 0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,
+ 0xd0,0xd1,0xd2,0xd3,0xd4,0xd5,0xd6,0xd7,
+ 0xd8,0xd9,0xda,0xdb,0xdc,0xdd,0xde,0xdf,
+ 0xe0,0xe1,0xe2,0xe3,0xe4,0xe5,0xe6,0xe7,
+ 0xe8,0xe9,0xea,0xeb,0xec,0xed,0xee,0xef,
+ 0xf0,0xf1,0xf2,0xf3,0xf4,0xf5,0xf6,0xf7,
+ 0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,0xfe,0xff,
+ // 256
+ 0x01}), Local0)
+ if (LNotEqual(Local0, 41)) {
+ err(arg0, z071, 56, 0, 0, Local0, 41)
+ }
+ Store(m0e5(Buffer() {
+ // 0-127
+ 0x00,0x00,0x02,0x03,0x04,0x05,0x06,0x07,
+ 0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,
+ 0x00,0x11,0x12,0x13,0x14,0x15,0x16,0x17,
+ 0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,
+ 0x10,0x21,0x22,0x23,0x24,0x25,0x26,0x27,
+ 0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,
+ 0x20,0x31,0x32,0x33,0x34,0x35,0x36,0x37,
+ 0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,
+ 0x30,0x41,0x42,0x43,0x44,0x45,0x46,0x47,
+ 0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,
+ 0x40,0x51,0x52,0x53,0x54,0x55,0x56,0x57,
+ 0x58,0x59,0x5a,0x5b,0x5c,0x5d,0x5e,0x5f,
+ 0x50,0x61,0x62,0x63,0x64,0x65,0x66,0x67,
+ 0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,
+ 0x60,0x71,0x72,0x73,0x74,0x75,0x76,0x77,
+ 0x78,0x79,0x7a,0x7b,0x7c,0x7d,0x7e,0x7f,
+
+ // 128-255
+ 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,
+ 0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,
+ 0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,
+ 0x98,0x99,0x9a,0x9b,0x9c,0x9d,0x9e,0x9f,
+ 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,
+ 0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,
+ 0xb0,0xb1,0xb2,0xb3,0xb4,0xb5,0xb6,0xb7,
+ 0xb8,0xb9,0xba,0xbb,0xbc,0xbd,0xbe,0xbf,
+ 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,
+ 0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,
+ 0xd0,0xd1,0xd2,0xd3,0xd4,0xd5,0xd6,0xd7,
+ 0xd8,0xd9,0xda,0xdb,0xdc,0xdd,0xde,0xdf,
+ 0xe0,0xe1,0xe2,0xe3,0xe4,0xe5,0xe6,0xe7,
+ 0xe8,0xe9,0xea,0xeb,0xec,0xed,0xee,0xef,
+ 0xf0,0xf1,0xf2,0xf3,0xf4,0xf5,0xf6,0xf7,
+ 0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,0xfe,0xff,
+ // 256
+ 0x02}), Local0)
+ if (LNotEqual(Local0, 42)) {
+ err(arg0, z071, 57, 0, 0, Local0, 42)
+ }
+ if (F64) {
+ Store(m0e5(Buffer(4){0,0,0,0}), Local0)
+ if (LNotEqual(Local0, 43)) {
+ err(arg0, z071, 58, 0, 0, Local0, 43)
+ }
+ Store(m0e5(Buffer(8){0,0,0,0,0,0,0,0}), Local0)
+ if (LNotEqual(Local0, 4)) {
+ err(arg0, z071, 59, 0, 0, Local0, 4)
+ }
+ Store(m0e5(Buffer(4){0xff,0xff,0xff,0xff}), Local0)
+ if (LNotEqual(Local0, 45)) {
+ err(arg0, z071, 60, 0, 0, Local0, 45)
+ }
+ Store(m0e5(Buffer(8){0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}), Local0)
+ if (LNotEqual(Local0, 6)) {
+ err(arg0, z071, 61, 0, 0, Local0, 6)
+ }
+ } else {
+ Store(m0e5(Buffer(4){0,0,0,0}), Local0)
+ if (LNotEqual(Local0, 4)) {
+ err(arg0, z071, 62, 0, 0, Local0, 4)
+ }
+ Store(m0e5(Buffer(8){0,0,0,0,0,0,0,0}), Local0)
+ if (LNotEqual(Local0, 44)) {
+ err(arg0, z071, 63, 0, 0, Local0, 44)
+ }
+ Store(m0e5(Buffer(4){0xff,0xff,0xff,0xff}), Local0)
+ if (LNotEqual(Local0, 5)) {
+ err(arg0, z071, 64, 0, 0, Local0, 5)
+ }
+ Store(m0e5(Buffer(8){0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}), Local0)
+ if (LNotEqual(Local0, 47)) {
+ err(arg0, z071, 65, 0, 0, Local0, 47)
+ }
+ }
+
+ Store(m0e5(Buffer(9){0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}), Local0)
+ if (LNotEqual(Local0, 46)) {
+ err(arg0, z071, 66, 0, 0, Local0, 46)
+ }
+ Store(m0e5(Buffer(5){0xff,0xff,0xff,0xff,0xff}), Local0)
+ if (LNotEqual(Local0, 48)) {
+ err(arg0, z071, 67, 0, 0, Local0, 48)
+ }
+ Store(m0e5(Buffer(1){0xff}), Local0)
+ if (LNotEqual(Local0, 49)) {
+ err(arg0, z071, 68, 0, 0, Local0, 49)
+ }
+ Store(m0e5(Buffer(1){}), Local0)
+ if (LNotEqual(Local0, 24)) {
+ err(arg0, z071, 69, 0, 0, Local0, 24)
+ }
+ Store(m0e5(Buffer(5){}), Local0)
+ if (LNotEqual(Local0, 51)) {
+ err(arg0, z071, 70, 0, 0, Local0, 51)
+ }
+ Store(m0e5(Buffer(9){}), Local0)
+ if (LNotEqual(Local0, 52)) {
+ err(arg0, z071, 71, 0, 0, Local0, 52)
+ }
+ Store(m0e5(Buffer(9){0xab, 0xcd, 0xef}), Local0)
+ if (LNotEqual(Local0, 53)) {
+ err(arg0, z071, 72, 0, 0, Local0, 53)
+ }
+}
+
+// Run-method
+Method(SW08)
+{
+ Store("TEST: SW08, Switch, Case, Default operators", Debug)
+
+ Name(ts, "SW08")
+
+ m0e0(ts)
+ m0e2(ts)
+ m0e4(ts)
+ m0e6(ts)
+
+ return (0)
+}
diff --git a/tests/aslts/src/runtime/collections/functional/control/switch5.asl b/tests/aslts/src/runtime/collections/functional/control/switch5.asl
new file mode 100644
index 000000000..180d59236
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/control/switch5.asl
@@ -0,0 +1,1037 @@
+/*
+ * 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.
+ */
+
+/*
+ * Method execution control
+ *
+ * Switch, Case(Package), Default operators
+ */
+
+/*
+SEE: why exception doesnt occur for uninitialized elements there??????
+SEE: use all the specific cases specified in DOCUMENT 1.
+SEE: add the tests for "Specification of Match should explicitly say
+ that no exceptions occur while this "cruising through the package""
+*/
+
+Name(z072, 72)
+
+// The same as m0df and m0e0 but with Packages
+Method(m0e7, 1)
+{
+ Switch (arg0) {
+
+ // Buffer
+
+ Case (Package(1) {Buffer(1){10}}) {
+ Store(0, Local7)
+ }
+ Case (Package() {Buffer(2){11,12}}) {
+ Store(1, Local7)
+ }
+ Case (Package() {Buffer() {13,14,15}}) {
+ Store(2, Local7)
+ }
+ Case (Package() {Buffer(2){16,17,18}}) {
+ Store(3, Local7)
+ }
+ Case (Package() {Buffer(3){19,20}}) {
+ Store(4, Local7)
+ }
+ Case (Package() {Buffer(3){21,22,23}}) {
+ Store(5, Local7)
+ }
+ Case (Package() {Buffer(4){24,25,26,27}}) {
+ Store(6, Local7)
+ }
+ Case (Package() {Buffer(5){28,29,30,31,32}}) {
+ Store(7, Local7)
+ }
+ Case (Package() {Buffer(8){33,34,35,36,37,38,39,40}}) {
+ Store(8, Local7)
+ }
+ Case (Package() {Buffer(){0x12,0x34,0x56,0x78,0x9a,0xbc,0xde,0xf0}}) {
+ Store(9, Local7)
+ }
+ Case (Package() {Buffer(9){41,42,43,44,45,46,47,48,49}}) {
+ Store(10, Local7)
+ }
+ Case (Package() {Buffer(67){0x7d}}) {
+ Store(11, Local7)
+ }
+ Case (Package() {Buffer() {
+ 0x00,0x00,0x02,0x03,0x04,0x05,0x06,0x07,
+ 0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,
+ 0x00,0x11,0x12,0x13,0x14,0x15,0x16,0x17,
+ 0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,
+ 0x10,0x21,0x22,0x23,0x24,0x25,0x26,0x27,
+ 0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,
+ 0x20,0x31,0x32,0x33,0x34,0x35,0x36,0x37,
+ 0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,
+ 0x30,0x41,0x42}}) {
+ Store(12, Local7)
+ }
+ Case (Package() {Buffer(67) {
+ 0x00,0x00,0x02,0x03,0x04,0x05,0x06,0x07,
+ 0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,
+ 0x00,0x11,0x12,0x13,0x14,0x15,0x16,0x17,
+ 0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,
+ 0x10,0x21,0x22,0x23,0x24,0x25,0x26,0x27,
+ 0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,
+ 0x20,0x31,0x32,0x33,0x34,0x35,0x36,0x37,
+ 0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,
+ 0x30,0x41,0x42}}) {
+ Store(13, Local7)
+ }
+ Case (Package() {Buffer(4){0,0,0,0}}) {
+ Store(14, Local7)
+ }
+ Case (Package() {Buffer(8){0,0,0,0,0,0,0,0}}) {
+ Store(15, Local7)
+ }
+ Case (Package() {Buffer(4){0xff,0xff,0xff,0xff}}) {
+ Store(16, Local7)
+ }
+ Case (Package() {Buffer(9){0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}}) {
+ Store(17, Local7)
+ }
+ Case (Package() {Buffer(8){0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}}) {
+ Store(18, Local7)
+ }
+ Case (Package() {Buffer(5){0xff,0xff,0xff,0xff,0xff}}) {
+ Store(19, Local7)
+ }
+ Case (Package() {Buffer(1){0xff}}) {
+ Store(20, Local7)
+ }
+ Case (Package() {Buffer(1){}}) {
+ Store(21, Local7)
+ }
+ Case (Package() {Buffer(5){}}) {
+ Store(22, Local7)
+ }
+ Case (Package() {Buffer(9){}}) {
+ Store(23, Local7)
+ }
+ Case (Package() {Buffer(9){0xab, 0xcd, 0xef}}) {
+ Store(24, Local7)
+ }
+
+ // String
+
+ Case (Package() {"0321"}) {
+ Store(25, Local7)
+ }
+ Case (Package() {"321"}) {
+ Store(26, Local7)
+ }
+ Case (Package() {"ba9876"}) {
+ Store(27, Local7)
+ }
+ Case (Package() {"c179b3fe"}) {
+ Store(28, Local7)
+ }
+ Case (Package() {"fe7cb391d650a284"}) {
+ Store(29, Local7)
+ }
+ Case (Package() {"ffffffff"}) {
+ Store(30, Local7)
+ }
+ Case (Package() {"ffffffffffffffff"}) {
+ Store(31, Local7)
+ }
+ Case (Package() {"ffffffffff"}) {
+ Store(32, Local7)
+ }
+ Case (Package() {"ff"}) {
+ Store(33, Local7)
+ }
+ Case (Package() {"987654321"}) {
+ Store(34, Local7)
+ }
+ Case (Package() {"0xfe7cb3"}) {
+ Store(35, Local7)
+ }
+
+ // Integer
+
+ Case (Package() {0321}) {
+ Store(36, Local7)
+ }
+ Case (Package() {9876543210}) {
+ Store(37, Local7)
+ }
+ Case (Package() {0xc179b3fe}) {
+ Store(38, Local7)
+ }
+ Case (Package() {0xfe7cb391d650a284}) {
+ Store(39, Local7)
+ }
+ Case (Package() {0}) {
+ Store(40, Local7)
+ }
+ Case (Package() {0xffffffff}) {
+ Store(41, Local7)
+ }
+ Case (Package() {0xffffffffffffffff}) {
+ Store(42, Local7)
+ }
+ Case (Package() {0xff}) {
+ Store(43, Local7)
+ }
+ Case (Package() {0xabcdef}) {
+ Store(44, Local7)
+ }
+
+ Default {
+ Store(45, Local7)
+ }
+ }
+
+ return (Local7)
+}
+
+Method(m0e8, 1)
+{
+ // Integer
+
+ Store(m0e7(0321), Local0)
+ if (LNotEqual(Local0, 36)) {
+ err(arg0, z072, 0, 0, 0, Local0, 36)
+ }
+ Store(m0e7(0xd1), Local0)
+ if (LNotEqual(Local0, 36)) {
+ err(arg0, z072, 1, 0, 0, Local0, 36)
+ }
+ Store(m0e7(9876543210), Local0)
+ if (LNotEqual(Local0, 37)) {
+ err(arg0, z072, 2, 0, 0, Local0, 37)
+ }
+ Store(m0e7(0xc179b3fe), Local0)
+ if (LNotEqual(Local0, 28)) {
+ err(arg0, z072, 4, 0, 0, Local0, 28)
+ }
+ Store(m0e7(0xfe7cb391d650a284), Local0)
+ if (F64) {
+ if (LNotEqual(Local0, 29)) {
+ err(arg0, z072, 0x1005, 0, 0, Local0, 29)
+ }
+ } else {
+ if (LNotEqual(Local0, 39)) {
+ err(arg0, z072, 0x101, 0, 0, Local0, 39)
+ }
+ }
+ Store(m0e7(0), Local0)
+ if (LNotEqual(Local0, 14)) {
+ err(arg0, z072, 6, 0, 0, Local0, 14)
+ }
+ Store(m0e7(0xffffffff), Local0)
+ if (LNotEqual(Local0, 16)) {
+ err(arg0, z072, 7, 0, 0, Local0, 16)
+ }
+ Store(m0e7(0xffffffffffffffff), Local0)
+ if (F64) {
+ if (LNotEqual(Local0, 17)) {
+ err(arg0, z072, 8, 0, 0, Local0, 17)
+ }
+ } else {
+ if (LNotEqual(Local0, 16)) {
+ err(arg0, z072, 9, 0, 0, Local0, 16)
+ }
+ }
+ Store(m0e7(0xff), Local0)
+ if (LNotEqual(Local0, 20)) {
+ err(arg0, z072, 10, 0, 0, Local0, 20)
+ }
+ Store(m0e7(0xabcdef), Local0)
+ if (LNotEqual(Local0, 44)) {
+ err(arg0, z072, 11, 0, 0, Local0, 44)
+ }
+}
+
+// The same as m0e3 and m0e4 but with Packages
+Method(m0e9, 1)
+{
+ Switch (ToString(arg0)) {
+
+ // Integer
+
+ Case (Package() {0321}) {
+ Store(0, Local7)
+ }
+ Case (Package() {9876543210}) {
+ Store(1, Local7)
+ }
+ Case (Package() {0xc179b3fe}) {
+ Store(2, Local7)
+ }
+ Case (Package() {0xfe7cb391d650a284}) {
+ Store(3, Local7)
+ }
+ Case (Package() {0}) {
+ Store(4, Local7)
+ }
+ Case (Package() {0xffffffff}) {
+ Store(5, Local7)
+ }
+ Case (Package() {0xffffffffffffffff}) {
+ Store(6, Local7)
+ }
+ Case (Package() {0xff}) {
+ Store(7, Local7)
+ }
+ Case (Package() {0xabcdef}) {
+ Store(8, Local7)
+ }
+
+ // Buffer
+
+ Case (Package() {Buffer(1){10}}) {
+ Store(9, Local7)
+ }
+ Case (Package() {Buffer(2){11,12}}) {
+ Store(10, Local7)
+ }
+ Case (Package() {Buffer() {13,14,15}}) {
+ Store(11, Local7)
+ }
+ Case (Package() {Buffer(2){16,17,18}}) {
+ Store(12, Local7)
+ }
+ Case (Package() {Buffer(3){19,20}}) {
+ Store(13, Local7)
+ }
+ Case (Package() {Buffer(3){21,22,23}}) {
+ Store(14, Local7)
+ }
+ Case (Package() {Buffer(4){24,25,26,27}}) {
+ Store(15, Local7)
+ }
+ Case (Package() {Buffer(5){28,29,30,31,32}}) {
+ Store(16, Local7)
+ }
+ Case (Package() {Buffer(8){33,34,35,36,37,38,39,40}}) {
+ Store(17, Local7)
+ }
+ Case (Package() {Buffer(){0x12,0x34,0x56,0x78,0x9a,0xbc,0xde,0xf0}}) {
+ Store(18, Local7)
+ }
+ Case (Package() {Buffer(9){41,42,43,44,45,46,47,48,49}}) {
+ Store(19, Local7)
+ }
+ Case (Package() {Buffer(67){0x7d}}) {
+ Store(20, Local7)
+ }
+ Case (Package() {Buffer() {
+ 0x00,0x00,0x02,0x03,0x04,0x05,0x06,0x07,
+ 0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,
+ 0x00,0x11,0x12,0x13,0x14,0x15,0x16,0x17,
+ 0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,
+ 0x10,0x21,0x22,0x23,0x24,0x25,0x26,0x27,
+ 0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,
+ 0x20,0x31,0x32,0x33,0x34,0x35,0x36,0x37,
+ 0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,
+ 0x30,0x41,0x42}}) {
+ Store(21, Local7)
+ }
+ Case (Package() {Buffer(67) {
+ 0x00,0x00,0x02,0x03,0x04,0x05,0x06,0x07,
+ 0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,
+ 0x00,0x11,0x12,0x13,0x14,0x15,0x16,0x17,
+ 0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,
+ 0x10,0x21,0x22,0x23,0x24,0x25,0x26,0x27,
+ 0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,
+ 0x20,0x31,0x32,0x33,0x34,0x35,0x36,0x37,
+ 0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,
+ 0x30,0x41,0x42}}) {
+ Store(22, Local7)
+ }
+ Case (Package() {Buffer(4){0,0,0,0}}) {
+ Store(23, Local7)
+ }
+ Case (Package() {Buffer(8){0,0,0,0,0,0,0,0}}) {
+ Store(24, Local7)
+ }
+ Case (Package() {Buffer(4){0xff,0xff,0xff,0xff}}) {
+ Store(25, Local7)
+ }
+ Case (Package() {Buffer(9){0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}}) {
+ Store(26, Local7)
+ }
+ Case (Package() {Buffer(8){0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}}) {
+ Store(27, Local7)
+ }
+ Case (Package() {Buffer(5){0xff,0xff,0xff,0xff,0xff}}) {
+ Store(28, Local7)
+ }
+ Case (Package() {Buffer(1){0xff}}) {
+ Store(29, Local7)
+ }
+ Case (Package() {Buffer(1){}}) {
+ Store(30, Local7)
+ }
+ Case (Package() {Buffer(5){}}) {
+ Store(31, Local7)
+ }
+ Case (Package() {Buffer(9){}}) {
+ Store(32, Local7)
+ }
+ Case (Package() {Buffer(9){0xab, 0xcd, 0xef}}) {
+ Store(33, Local7)
+ }
+
+ // String
+
+ Case (Package() {"0321"}) {
+ Store(34, Local7)
+ }
+ Case (Package() {"321"}) {
+ Store(35, Local7)
+ }
+ Case (Package() {"ba9876"}) {
+ Store(36, Local7)
+ }
+ Case (Package() {"c179b3fe"}) {
+ Store(37, Local7)
+ }
+ Case (Package() {"fe7cb391d650a284"}) {
+ Store(38, Local7)
+ }
+ Case (Package() {"ffffffff"}) {
+ Store(39, Local7)
+ }
+ Case (Package() {"ffffffffffffffffff"}) {
+ Store(40, Local7)
+ }
+ Case (Package() {"ffffffffffffffff"}) {
+ Store(41, Local7)
+ }
+ Case (Package() {"ffffffffff"}) {
+ Store(42, Local7)
+ }
+ Case (Package() {"ff"}) {
+ Store(43, Local7)
+ }
+ Case (Package() {"fe7cb391d650a2841"}) {
+ Store(44, Local7)
+ }
+ Case (Package() {"987654321"}) {
+ Store(45, Local7)
+ }
+ Case (Package() {"0xfe7cb3"}) {
+ Store(46, Local7)
+ }
+ Case (Package() {"1234q"}) {
+ Store(47, Local7)
+ }
+ Case (Package() {"qwertyuiopasdfghjklzxcvbnm1234567890QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm1234567890QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm1234567890QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdf"}) {
+ Store(48, Local7)
+ }
+ Case (Package() {""}) {
+ Store(49, Local7)
+ }
+ Case (Package() {" "}) {
+ Store(50, Local7)
+ }
+ Case (Package() {"`1234567890-=qwertyuiop[]\\asdfghjkl;'zxcvbnm,./~!@#$%^&*()_+QWERTYUIOP{}|ASDFGHJKL:\"ZXCVBNM<>?"}) {
+ Store(51, Local7)
+ }
+ Case (Package() {"abcdef"}) {
+ Store(52, Local7)
+ }
+ Case (Package() {"ABCDEF"}) {
+ Store(53, Local7)
+ }
+
+ Default {
+ Store(54, Local7)
+ }
+ }
+
+ return (Local7)
+}
+
+Method(m0ea, 1)
+{
+ // String
+
+ Store(m0e9("0321"), Local0)
+ if (LNotEqual(Local0, 34)) {
+ err(arg0, z072, 12, 0, 0, Local0, 34)
+ }
+ Store(m0e9("321"), Local0)
+ if (LNotEqual(Local0, 35)) {
+ err(arg0, z072, 13, 0, 0, Local0, 35)
+ }
+ Store(m0e9("ba9876"), Local0)
+ if (LNotEqual(Local0, 36)) {
+ err(arg0, z072, 14, 0, 0, Local0, 36)
+ }
+ Store(m0e9("c179b3fe"), Local0)
+ if (LNotEqual(Local0, 37)) {
+ err(arg0, z072, 15, 0, 0, Local0, 37)
+ }
+ Store(m0e9("fe7cb391d650a284"), Local0)
+ if (LNotEqual(Local0, 38)) {
+ err(arg0, z072, 16, 0, 0, Local0, 38)
+ }
+ Store(m0e9("ffffffff"), Local0)
+ if (LNotEqual(Local0, 39)) {
+ err(arg0, z072, 17, 0, 0, Local0, 39)
+ }
+ Store(m0e9("ffffffffffffffffff"), Local0)
+ if (LNotEqual(Local0, 40)) {
+ err(arg0, z072, 18, 0, 0, Local0, 40)
+ }
+ Store(m0e9("ffffffffffffffff"), Local0)
+ if (LNotEqual(Local0, 41)) {
+ err(arg0, z072, 19, 0, 0, Local0, 41)
+ }
+ Store(m0e9("ffffffffff"), Local0)
+ if (LNotEqual(Local0, 42)) {
+ err(arg0, z072, 20, 0, 0, Local0, 42)
+ }
+ Store(m0e9("ff"), Local0)
+ if (LNotEqual(Local0, 43)) {
+ err(arg0, z072, 21, 0, 0, Local0, 43)
+ }
+ Store(m0e9("fe7cb391d650a2841"), Local0)
+ if (LNotEqual(Local0, 44)) {
+ err(arg0, z072, 22, 0, 0, Local0, 44)
+ }
+ Store(m0e9("987654321"), Local0)
+ if (LNotEqual(Local0, 45)) {
+ err(arg0, z072, 23, 0, 0, Local0, 45)
+ }
+ Store(m0e9("0xfe7cb3"), Local0)
+ if (LNotEqual(Local0, 46)) {
+ err(arg0, z072, 24, 0, 0, Local0, 46)
+ }
+ Store(m0e9("1234q"), Local0)
+ if (LNotEqual(Local0, 47)) {
+ err(arg0, z072, 25, 0, 0, Local0, 47)
+ }
+ Store(m0e9(BIG0), Local0)
+ if (LNotEqual(Local0, 48)) {
+ err(arg0, z072, 26, 0, 0, Local0, 48)
+ }
+ Store(m0e9(""), Local0)
+ if (LNotEqual(Local0, 49)) {
+ err(arg0, z072, 27, 0, 0, Local0, 49)
+ }
+ Store(m0e9(" "), Local0)
+ if (LNotEqual(Local0, 50)) {
+ err(arg0, z072, 28, 0, 0, Local0, 50)
+ }
+ Store(m0e9(ALL0), Local0)
+ if (LNotEqual(Local0, 51)) {
+ err(arg0, z072, 29, 0, 0, Local0, 51)
+ }
+ Store(m0e9("abcdef"), Local0)
+ if (LNotEqual(Local0, 52)) {
+ err(arg0, z072, 30, 0, 0, Local0, 52)
+ }
+ Store(m0e9("ABCDEF"), Local0)
+ if (LNotEqual(Local0, 53)) {
+ err(arg0, z072, 31, 0, 0, Local0, 53)
+ }
+}
+
+// The same as m0e5 and m0e6 but with Packages
+Method(m0eb, 1)
+{
+ Switch (ToBuffer(arg0)) {
+
+ // Integer
+
+ Case (Package() {0321}) {
+ Store(0, Local7)
+ }
+ Case (Package() {9876543210}) {
+ Store(1, Local7)
+ }
+ Case (Package() {0xc179b3fe}) {
+ Store(2, Local7)
+ }
+ Case (Package() {0xfe7cb391d650a284}) {
+ Store(3, Local7)
+ }
+ Case (Package() {0}) {
+ Store(4, Local7)
+ }
+ Case (Package() {0xffffffff}) {
+ Store(5, Local7)
+ }
+ Case (Package() {0xffffffffffffffff}) {
+ Store(6, Local7)
+ }
+ Case (Package() {0xff}) {
+ Store(7, Local7)
+ }
+ Case (Package() {0xabcdef}) {
+ Store(8, Local7)
+ }
+
+ // String
+
+ Case (Package() {"0321"}) {
+ Store(9, Local7)
+ }
+ Case (Package() {"321"}) {
+ Store(10, Local7)
+ }
+ Case (Package() {"ba9876"}) {
+ Store(11, Local7)
+ }
+ Case (Package() {"c179b3fe"}) {
+ Store(12, Local7)
+ }
+ Case (Package() {"fe7cb391d650a284"}) {
+ Store(13, Local7)
+ }
+ Case (Package() {"ffffffff"}) {
+ Store(14, Local7)
+ }
+ Case (Package() {"ffffffffffffffffff"}) {
+ Store(15, Local7)
+ }
+ Case (Package() {"ffffffffffffffff"}) {
+ Store(16, Local7)
+ }
+ Case (Package() {"ffffffffff"}) {
+ Store(17, Local7)
+ }
+ Case (Package() {"ff"}) {
+ Store(18, Local7)
+ }
+ Case (Package() {"fe7cb391d650a2841"}) {
+ Store(19, Local7)
+ }
+ Case (Package() {"987654321"}) {
+ Store(20, Local7)
+ }
+ Case (Package() {"0xfe7cb3"}) {
+ Store(21, Local7)
+ }
+ Case (Package() {"1234q"}) {
+ Store(22, Local7)
+ }
+ Case (Package() {"qwertyuiopasdfghjklzxcvbnm1234567890QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm1234567890QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm1234567890QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdf"}) {
+ Store(23, Local7)
+ }
+ Case (Package() {""}) {
+ Store(24, Local7)
+ }
+ Case (Package() {" "}) {
+ Store(25, Local7)
+ }
+ Case (Package() {"`1234567890-=qwertyuiop[]\\asdfghjkl;'zxcvbnm,./~!@#$%^&*()_+QWERTYUIOP{}|ASDFGHJKL:\"ZXCVBNM<>?"}) {
+ Store(26, Local7)
+ }
+ Case (Package() {"abcdef"}) {
+ Store(27, Local7)
+ }
+ Case (Package() {"ABCDEF"}) {
+ Store(28, Local7)
+ }
+
+ // Buffer
+
+ Case (Package() {Buffer(1){10}}) {
+ Store(29, Local7)
+ }
+ Case (Package() {Buffer(2){11,12}}) {
+ Store(30, Local7)
+ }
+ Case (Package() {Buffer() {13,14,15}}) {
+ Store(31, Local7)
+ }
+ Case (Package() {Buffer(2){16,17,18}}) {
+ Store(32, Local7)
+ }
+ Case (Package() {Buffer(3){19,20}}) {
+ Store(33, Local7)
+ }
+ Case (Package() {Buffer(3){21,22,23}}) {
+ Store(34, Local7)
+ }
+ Case (Package() {Buffer(4){24,25,26,27}}) {
+ Store(35, Local7)
+ }
+ Case (Package() {Buffer(5){28,29,30,31,32}}) {
+ Store(36, Local7)
+ }
+ Case (Package() {Buffer(8){33,34,35,36,37,38,39,40}}) {
+ Store(37, Local7)
+ }
+ Case (Package() {Buffer(){0x12,0x34,0x56,0x78,0x9a,0xbc,0xde,0xf0}}) {
+ Store(38, Local7)
+ }
+ Case (Package() {Buffer(9){41,42,43,44,45,46,47,48,49}}) {
+ Store(39, Local7)
+ }
+ Case (Package() {Buffer(257){0x7d}}) {
+ Store(40, Local7)
+ }
+ Case (Package() {Buffer(257) {
+ // 0-127
+ 0x00,0x00,0x02,0x03,0x04,0x05,0x06,0x07,
+ 0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,
+ 0x00,0x11,0x12,0x13,0x14,0x15,0x16,0x17,
+ 0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,
+ 0x10,0x21,0x22,0x23,0x24,0x25,0x26,0x27,
+ 0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,
+ 0x20,0x31,0x32,0x33,0x34,0x35,0x36,0x37,
+ 0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,
+ 0x30,0x41,0x42,0x43,0x44,0x45,0x46,0x47,
+ 0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,
+ 0x40,0x51,0x52,0x53,0x54,0x55,0x56,0x57,
+ 0x58,0x59,0x5a,0x5b,0x5c,0x5d,0x5e,0x5f,
+ 0x50,0x61,0x62,0x63,0x64,0x65,0x66,0x67,
+ 0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,
+ 0x60,0x71,0x72,0x73,0x74,0x75,0x76,0x77,
+ 0x78,0x79,0x7a,0x7b,0x7c,0x7d,0x7e,0x7f,
+
+ // 128-255
+ 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,
+ 0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,
+ 0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,
+ 0x98,0x99,0x9a,0x9b,0x9c,0x9d,0x9e,0x9f,
+ 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,
+ 0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,
+ 0xb0,0xb1,0xb2,0xb3,0xb4,0xb5,0xb6,0xb7,
+ 0xb8,0xb9,0xba,0xbb,0xbc,0xbd,0xbe,0xbf,
+ 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,
+ 0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,
+ 0xd0,0xd1,0xd2,0xd3,0xd4,0xd5,0xd6,0xd7,
+ 0xd8,0xd9,0xda,0xdb,0xdc,0xdd,0xde,0xdf,
+ 0xe0,0xe1,0xe2,0xe3,0xe4,0xe5,0xe6,0xe7,
+ 0xe8,0xe9,0xea,0xeb,0xec,0xed,0xee,0xef,
+ 0xf0,0xf1,0xf2,0xf3,0xf4,0xf5,0xf6,0xf7,
+ 0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,0xfe,0xff,
+ // 256
+ 0x01}}) {
+ Store(41, Local7)
+ }
+ Case (Package() {Buffer() {
+ // 0-127
+ 0x00,0x00,0x02,0x03,0x04,0x05,0x06,0x07,
+ 0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,
+ 0x00,0x11,0x12,0x13,0x14,0x15,0x16,0x17,
+ 0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,
+ 0x10,0x21,0x22,0x23,0x24,0x25,0x26,0x27,
+ 0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,
+ 0x20,0x31,0x32,0x33,0x34,0x35,0x36,0x37,
+ 0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,
+ 0x30,0x41,0x42,0x43,0x44,0x45,0x46,0x47,
+ 0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,
+ 0x40,0x51,0x52,0x53,0x54,0x55,0x56,0x57,
+ 0x58,0x59,0x5a,0x5b,0x5c,0x5d,0x5e,0x5f,
+ 0x50,0x61,0x62,0x63,0x64,0x65,0x66,0x67,
+ 0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,
+ 0x60,0x71,0x72,0x73,0x74,0x75,0x76,0x77,
+ 0x78,0x79,0x7a,0x7b,0x7c,0x7d,0x7e,0x7f,
+
+ // 128-255
+ 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,
+ 0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,
+ 0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,
+ 0x98,0x99,0x9a,0x9b,0x9c,0x9d,0x9e,0x9f,
+ 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,
+ 0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,
+ 0xb0,0xb1,0xb2,0xb3,0xb4,0xb5,0xb6,0xb7,
+ 0xb8,0xb9,0xba,0xbb,0xbc,0xbd,0xbe,0xbf,
+ 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,
+ 0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,
+ 0xd0,0xd1,0xd2,0xd3,0xd4,0xd5,0xd6,0xd7,
+ 0xd8,0xd9,0xda,0xdb,0xdc,0xdd,0xde,0xdf,
+ 0xe0,0xe1,0xe2,0xe3,0xe4,0xe5,0xe6,0xe7,
+ 0xe8,0xe9,0xea,0xeb,0xec,0xed,0xee,0xef,
+ 0xf0,0xf1,0xf2,0xf3,0xf4,0xf5,0xf6,0xf7,
+ 0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,0xfe,0xff,
+ // 256
+ 0x02}}) {
+ Store(42, Local7)
+ }
+ Case (Package() {Buffer(4){0,0,0,0}}) {
+ Store(43, Local7)
+ }
+ Case (Package() {Buffer(8){0,0,0,0,0,0,0,0}}) {
+ Store(44, Local7)
+ }
+ Case (Package() {Buffer(4){0xff,0xff,0xff,0xff}}) {
+ Store(45, Local7)
+ }
+ Case (Package() {Buffer(9){0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}}) {
+ Store(46, Local7)
+ }
+ Case (Package() {Buffer(8){0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}}) {
+ Store(47, Local7)
+ }
+ Case (Package() {Buffer(5){0xff,0xff,0xff,0xff,0xff}}) {
+ Store(48, Local7)
+ }
+ Case (Package() {Buffer(1){0xff}}) {
+ Store(49, Local7)
+ }
+ Case (Package() {Buffer(1){}}) {
+ Store(50, Local7)
+ }
+ Case (Package() {Buffer(5){}}) {
+ Store(51, Local7)
+ }
+ Case (Package() {Buffer(9){}}) {
+ Store(52, Local7)
+ }
+ Case (Package() {Buffer(9){0xab, 0xcd, 0xef}}) {
+ Store(53, Local7)
+ }
+
+ Default {
+ Store(54, Local7)
+ }
+ }
+
+ return (Local7)
+}
+
+Method(m0ec, 1)
+{
+ // Buffer
+
+ Store(m0eb(Buffer(1){10}), Local0)
+ if (LNotEqual(Local0, 29)) {
+ err(arg0, z072, 32, 0, 0, Local0, 29)
+ }
+ Store(m0eb(Buffer(2){11,12}), Local0)
+ if (LNotEqual(Local0, 30)) {
+ err(arg0, z072, 33, 0, 0, Local0, 30)
+ }
+ Store(m0eb(Buffer() {13,14,15}), Local0)
+ if (LNotEqual(Local0, 31)) {
+ err(arg0, z072, 34, 0, 0, Local0, 31)
+ }
+ Store(m0eb(Buffer(2){16,17,18}), Local0)
+ if (LNotEqual(Local0, 32)) {
+ err(arg0, z072, 35, 0, 0, Local0, 32)
+ }
+ Store(m0eb(Buffer(3){19,20}), Local0)
+ if (LNotEqual(Local0, 33)) {
+ err(arg0, z072, 36, 0, 0, Local0, 33)
+ }
+ Store(m0eb(Buffer(3){21,22,23}), Local0)
+ if (LNotEqual(Local0, 34)) {
+ err(arg0, z072, 37, 0, 0, Local0, 34)
+ }
+ Store(m0eb(Buffer(4){24,25,26,27}), Local0)
+ if (LNotEqual(Local0, 35)) {
+ err(arg0, z072, 38, 0, 0, Local0, 35)
+ }
+ Store(m0eb(Buffer(5){28,29,30,31,32}), Local0)
+ if (LNotEqual(Local0, 36)) {
+ err(arg0, z072, 39, 0, 0, Local0, 36)
+ }
+ Store(m0eb(Buffer(8){33,34,35,36,37,38,39,40}), Local0)
+ if (LNotEqual(Local0, 37)) {
+ err(arg0, z072, 40, 0, 0, Local0, 37)
+ }
+ Store(m0eb(Buffer(){0x12,0x34,0x56,0x78,0x9a,0xbc,0xde,0xf0}), Local0)
+ if (LNotEqual(Local0, 38)) {
+ err(arg0, z072, 41, 0, 0, Local0, 38)
+ }
+ Store(m0eb(Buffer(9){41,42,43,44,45,46,47,48,49}), Local0)
+ if (LNotEqual(Local0, 39)) {
+ err(arg0, z072, 42, 0, 0, Local0, 39)
+ }
+ Store(m0eb(Buffer(257){0x7d}), Local0)
+ if (LNotEqual(Local0, 40)) {
+ err(arg0, z072, 43, 0, 0, Local0, 40)
+ }
+ Store(m0eb(Buffer(257) {
+ // 0-127
+ 0x00,0x00,0x02,0x03,0x04,0x05,0x06,0x07,
+ 0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,
+ 0x00,0x11,0x12,0x13,0x14,0x15,0x16,0x17,
+ 0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,
+ 0x10,0x21,0x22,0x23,0x24,0x25,0x26,0x27,
+ 0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,
+ 0x20,0x31,0x32,0x33,0x34,0x35,0x36,0x37,
+ 0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,
+ 0x30,0x41,0x42,0x43,0x44,0x45,0x46,0x47,
+ 0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,
+ 0x40,0x51,0x52,0x53,0x54,0x55,0x56,0x57,
+ 0x58,0x59,0x5a,0x5b,0x5c,0x5d,0x5e,0x5f,
+ 0x50,0x61,0x62,0x63,0x64,0x65,0x66,0x67,
+ 0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,
+ 0x60,0x71,0x72,0x73,0x74,0x75,0x76,0x77,
+ 0x78,0x79,0x7a,0x7b,0x7c,0x7d,0x7e,0x7f,
+
+ // 128-255
+ 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,
+ 0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,
+ 0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,
+ 0x98,0x99,0x9a,0x9b,0x9c,0x9d,0x9e,0x9f,
+ 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,
+ 0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,
+ 0xb0,0xb1,0xb2,0xb3,0xb4,0xb5,0xb6,0xb7,
+ 0xb8,0xb9,0xba,0xbb,0xbc,0xbd,0xbe,0xbf,
+ 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,
+ 0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,
+ 0xd0,0xd1,0xd2,0xd3,0xd4,0xd5,0xd6,0xd7,
+ 0xd8,0xd9,0xda,0xdb,0xdc,0xdd,0xde,0xdf,
+ 0xe0,0xe1,0xe2,0xe3,0xe4,0xe5,0xe6,0xe7,
+ 0xe8,0xe9,0xea,0xeb,0xec,0xed,0xee,0xef,
+ 0xf0,0xf1,0xf2,0xf3,0xf4,0xf5,0xf6,0xf7,
+ 0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,0xfe,0xff,
+ // 256
+ 0x01}), Local0)
+ if (LNotEqual(Local0, 41)) {
+ err(arg0, z072, 44, 0, 0, Local0, 41)
+ }
+ Store(m0eb(Buffer() {
+ // 0-127
+ 0x00,0x00,0x02,0x03,0x04,0x05,0x06,0x07,
+ 0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,
+ 0x00,0x11,0x12,0x13,0x14,0x15,0x16,0x17,
+ 0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,
+ 0x10,0x21,0x22,0x23,0x24,0x25,0x26,0x27,
+ 0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,
+ 0x20,0x31,0x32,0x33,0x34,0x35,0x36,0x37,
+ 0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,
+ 0x30,0x41,0x42,0x43,0x44,0x45,0x46,0x47,
+ 0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,
+ 0x40,0x51,0x52,0x53,0x54,0x55,0x56,0x57,
+ 0x58,0x59,0x5a,0x5b,0x5c,0x5d,0x5e,0x5f,
+ 0x50,0x61,0x62,0x63,0x64,0x65,0x66,0x67,
+ 0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,
+ 0x60,0x71,0x72,0x73,0x74,0x75,0x76,0x77,
+ 0x78,0x79,0x7a,0x7b,0x7c,0x7d,0x7e,0x7f,
+
+ // 128-255
+ 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,
+ 0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,
+ 0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,
+ 0x98,0x99,0x9a,0x9b,0x9c,0x9d,0x9e,0x9f,
+ 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,
+ 0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,
+ 0xb0,0xb1,0xb2,0xb3,0xb4,0xb5,0xb6,0xb7,
+ 0xb8,0xb9,0xba,0xbb,0xbc,0xbd,0xbe,0xbf,
+ 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,
+ 0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,
+ 0xd0,0xd1,0xd2,0xd3,0xd4,0xd5,0xd6,0xd7,
+ 0xd8,0xd9,0xda,0xdb,0xdc,0xdd,0xde,0xdf,
+ 0xe0,0xe1,0xe2,0xe3,0xe4,0xe5,0xe6,0xe7,
+ 0xe8,0xe9,0xea,0xeb,0xec,0xed,0xee,0xef,
+ 0xf0,0xf1,0xf2,0xf3,0xf4,0xf5,0xf6,0xf7,
+ 0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,0xfe,0xff,
+ // 256
+ 0x02}), Local0)
+ if (LNotEqual(Local0, 42)) {
+ err(arg0, z072, 45, 0, 0, Local0, 42)
+ }
+ if (F64) {
+ Store(m0eb(Buffer(4){0,0,0,0}), Local0)
+ if (LNotEqual(Local0, 43)) {
+ err(arg0, z072, 46, 0, 0, Local0, 43)
+ }
+ Store(m0eb(Buffer(8){0,0,0,0,0,0,0,0}), Local0)
+ if (LNotEqual(Local0, 4)) {
+ err(arg0, z072, 47, 0, 0, Local0, 4)
+ }
+ Store(m0eb(Buffer(4){0xff,0xff,0xff,0xff}), Local0)
+ if (LNotEqual(Local0, 45)) {
+ err(arg0, z072, 48, 0, 0, Local0, 45)
+ }
+ Store(m0eb(Buffer(8){0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}), Local0)
+ if (LNotEqual(Local0, 6)) {
+ err(arg0, z072, 49, 0, 0, Local0, 6)
+ }
+ } else {
+ Store(m0eb(Buffer(4){0,0,0,0}), Local0)
+ if (LNotEqual(Local0, 4)) {
+ err(arg0, z072, 50, 0, 0, Local0, 4)
+ }
+ Store(m0eb(Buffer(8){0,0,0,0,0,0,0,0}), Local0)
+ if (LNotEqual(Local0, 44)) {
+ err(arg0, z072, 51, 0, 0, Local0, 44)
+ }
+ Store(m0eb(Buffer(4){0xff,0xff,0xff,0xff}), Local0)
+ if (LNotEqual(Local0, 5)) {
+ err(arg0, z072, 52, 0, 0, Local0, 5)
+ }
+ Store(m0eb(Buffer(8){0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}), Local0)
+ if (LNotEqual(Local0, 47)) {
+ err(arg0, z072, 53, 0, 0, Local0, 47)
+ }
+ }
+
+ Store(m0eb(Buffer(9){0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}), Local0)
+ if (LNotEqual(Local0, 46)) {
+ err(arg0, z072, 54, 0, 0, Local0, 46)
+ }
+ Store(m0eb(Buffer(5){0xff,0xff,0xff,0xff,0xff}), Local0)
+ if (LNotEqual(Local0, 48)) {
+ err(arg0, z072, 55, 0, 0, Local0, 48)
+ }
+ Store(m0eb(Buffer(1){0xff}), Local0)
+ if (LNotEqual(Local0, 49)) {
+ err(arg0, z072, 56, 0, 0, Local0, 49)
+ }
+ Store(m0eb(Buffer(1){}), Local0)
+ if (LNotEqual(Local0, 24)) {
+ err(arg0, z072, 57, 0, 0, Local0, 24)
+ }
+ Store(m0eb(Buffer(5){}), Local0)
+ if (LNotEqual(Local0, 51)) {
+ err(arg0, z072, 58, 0, 0, Local0, 51)
+ }
+ Store(m0eb(Buffer(9){}), Local0)
+ if (LNotEqual(Local0, 52)) {
+ err(arg0, z072, 59, 0, 0, Local0, 52)
+ }
+ Store(m0eb(Buffer(9){0xab, 0xcd, 0xef}), Local0)
+ if (LNotEqual(Local0, 53)) {
+ err(arg0, z072, 60, 0, 0, Local0, 53)
+ }
+}
+
+// Run-method
+Method(SW09)
+{
+ Store("TEST: SW09, Switch, Case, Default operators", Debug)
+
+ Name(ts, "SW09")
+
+ m0e8(ts)
+ m0ea(ts)
+ m0ec(ts)
+
+ return (0)
+}
diff --git a/tests/aslts/src/runtime/collections/functional/control/switch6.asl b/tests/aslts/src/runtime/collections/functional/control/switch6.asl
new file mode 100644
index 000000000..aedeb3165
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/control/switch6.asl
@@ -0,0 +1,745 @@
+/*
+ * 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.
+ */
+
+/*
+ * Method execution control
+ *
+ * Switch, Case(Package), Default operators
+ */
+
+Name(z073, 73)
+
+Name(ppee, Package() {6,7,8,9})
+
+// The same as m0df and m0e0 but all the values
+// of Cases are in one Package
+Method(m100, 1)
+{
+ Switch (arg0) {
+
+ Case (Package() {
+
+ // Buffer
+
+ Buffer(1){10},
+ Buffer(2){11,12},
+ Buffer() {13,14,15},
+ Buffer(2){16,17,18},
+ Buffer(3){19,20},
+ Buffer(3){21,22,23},
+ Buffer(4){24,25,26,27},
+ Buffer(5){28,29,30,31,32},
+ Buffer(8){33,34,35,36,37,38,39,40},
+ Buffer(){0x12,0x34,0x56,0x78,0x9a,0xbc,0xde,0xf0},
+ Buffer(9){41,42,43,44,45,46,47,48,49},
+ Buffer(67){0x7d},
+ Buffer() {
+ 0x00,0x00,0x02,0x03,0x04,0x05,0x06,0x07,
+ 0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,
+ 0x00,0x11,0x12,0x13,0x14,0x15,0x16,0x17,
+ 0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,
+ 0x10,0x21,0x22,0x23,0x24,0x25,0x26,0x27,
+ 0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,
+ 0x20,0x31,0x32,0x33,0x34,0x35,0x36,0x37,
+ 0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,
+ 0x30,0x41,0x42},
+ Buffer(67) {
+ 0x00,0x00,0x02,0x03,0x04,0x05,0x06,0x07,
+ 0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,
+ 0x00,0x11,0x12,0x13,0x14,0x15,0x16,0x17,
+ 0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,
+ 0x10,0x21,0x22,0x23,0x24,0x25,0x26,0x27,
+ 0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,
+ 0x20,0x31,0x32,0x33,0x34,0x35,0x36,0x37,
+ 0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,
+ 0x30,0x41,0x42},
+ Buffer(4){0,0,0,0},
+ Buffer(8){0,0,0,0,0,0,0,0},
+ Buffer(4){0xff,0xff,0xff,0xff},
+ Buffer(9){0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff},
+ Buffer(8){0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff},
+ Buffer(5){0xff,0xff,0xff,0xff,0xff},
+ Buffer(1){0xff},
+ Buffer(1){},
+ Buffer(5){},
+ Buffer(9){},
+ Buffer(9){0xab, 0xcd, 0xef},
+
+ // String
+
+ "0321",
+ "321",
+ "ba9876",
+ "c179b3fe",
+ "fe7cb391d650a284",
+ "ffffffff",
+ "ffffffffffffffff",
+ "ffffffffff",
+ "ff",
+ "987654321",
+ "0xfe7cb3",
+
+ // Integer
+
+ 0321,
+ 9876543210,
+ 0xc179b3fe,
+ 0xfe7cb391d650a284,
+ 0,
+ 0xffffffff,
+ 0xffffffffffffffff,
+ 0xff,
+ 0xabcdef
+ }) {
+ Store(5, Local7)
+ }
+
+ Default {
+ Store(7, Local7)
+ }
+ }
+
+ return (Local7)
+}
+
+Method(m101, 1)
+{
+ // Integer
+
+ Store(m100(0321), Local0)
+ if (LNotEqual(Local0, 5)) {
+ err(arg0, z073, 0, 0, 0, Local0, 5)
+ }
+ Store(m100(0xd1), Local0)
+ if (LNotEqual(Local0, 5)) {
+ err(arg0, z073, 1, 0, 0, Local0, 5)
+ }
+
+ Store(m100(9876543210), Local0)
+ if (F64) {
+ if (LNotEqual(Local0, 5)) {
+ err(arg0, z073, 2, 0, 0, Local0, 5)
+ }
+ } else {
+ if (LNotEqual(Local0, 5)) {
+ err(arg0, z073, 3, 0, 0, Local0, 5)
+ }
+ }
+ Store(m100(0xc179b3fe), Local0)
+ if (LNotEqual(Local0, 5)) {
+ err(arg0, z073, 4, 0, 0, Local0, 5)
+ }
+ Store(m100(0xfe7cb391d650a284), Local0)
+ if (LNotEqual(Local0, 5)) {
+ err(arg0, z073, 5, 0, 0, Local0, 5)
+ }
+ Store(m100(0), Local0)
+ if (LNotEqual(Local0, 5)) {
+ err(arg0, z073, 6, 0, 0, Local0, 5)
+ }
+ Store(m100(0xffffffff), Local0)
+ if (LNotEqual(Local0, 5)) {
+ err(arg0, z073, 7, 0, 0, Local0, 5)
+ }
+ Store(m100(0xffffffffffffffff), Local0)
+ if (F64) {
+ if (LNotEqual(Local0, 5)) {
+ err(arg0, z073, 8, 0, 0, Local0, 5)
+ }
+ } else {
+ if (LNotEqual(Local0, 5)) {
+ err(arg0, z073, 9, 0, 0, Local0, 5)
+ }
+ }
+ Store(m100(0xff), Local0)
+ if (LNotEqual(Local0, 5)) {
+ err(arg0, z073, 10, 0, 0, Local0, 5)
+ }
+ Store(m100(0xabcdef), Local0)
+ if (LNotEqual(Local0, 5)) {
+ err(arg0, z073, 11, 0, 0, Local0, 5)
+ }
+}
+
+// The same as m0e3 and m0e4 but all the values
+// of Cases are in one Package
+Method(m102, 1)
+{
+ Switch (ToString(arg0)) {
+
+ Case (Package() {
+
+ // Integer
+
+ 0321,
+ 9876543210,
+ 0xc179b3fe,
+ 0xfe7cb391d650a284,
+ 0,
+ 0xffffffff,
+ 0xffffffffffffffff,
+ 0xff,
+ 0xabcdef,
+
+ // Buffer
+
+ Buffer(1){10},
+ Buffer(2){11,12},
+ Buffer() {13,14,15},
+ Buffer(2){16,17,18},
+ Buffer(3){19,20},
+ Buffer(3){21,22,23},
+ Buffer(4){24,25,26,27},
+ Buffer(5){28,29,30,31,32},
+ Buffer(8){33,34,35,36,37,38,39,40},
+ Buffer(){0x12,0x34,0x56,0x78,0x9a,0xbc,0xde,0xf0},
+ Buffer(9){41,42,43,44,45,46,47,48,49},
+ Buffer(67){0x7d},
+ Buffer() {
+ 0x00,0x00,0x02,0x03,0x04,0x05,0x06,0x07,
+ 0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,
+ 0x00,0x11,0x12,0x13,0x14,0x15,0x16,0x17,
+ 0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,
+ 0x10,0x21,0x22,0x23,0x24,0x25,0x26,0x27,
+ 0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,
+ 0x20,0x31,0x32,0x33,0x34,0x35,0x36,0x37,
+ 0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,
+ 0x30,0x41,0x42},
+ Buffer(67) {
+ 0x00,0x00,0x02,0x03,0x04,0x05,0x06,0x07,
+ 0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,
+ 0x00,0x11,0x12,0x13,0x14,0x15,0x16,0x17,
+ 0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,
+ 0x10,0x21,0x22,0x23,0x24,0x25,0x26,0x27,
+ 0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,
+ 0x20,0x31,0x32,0x33,0x34,0x35,0x36,0x37,
+ 0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,
+ 0x30,0x41,0x42},
+ Buffer(4){0,0,0,0},
+ Buffer(8){0,0,0,0,0,0,0,0},
+ Buffer(4){0xff,0xff,0xff,0xff},
+ Buffer(9){0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff},
+ Buffer(8){0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff},
+ Buffer(5){0xff,0xff,0xff,0xff,0xff},
+ Buffer(1){0xff},
+ Buffer(1){},
+ Buffer(5){},
+ Buffer(9){},
+ Buffer(9){0xab, 0xcd, 0xef},
+
+ // String
+
+ "0321",
+ "321",
+ "ba9876",
+ "c179b3fe",
+ "fe7cb391d650a284",
+ "ffffffff",
+ "ffffffffffffffffff",
+ "ffffffffffffffff",
+ "ffffffffff",
+ "ff",
+ "fe7cb391d650a2841",
+ "987654321",
+ "0xfe7cb3",
+ "1234q",
+ "qwertyuiopasdfghjklzxcvbnm1234567890QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm1234567890QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm1234567890QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdf",
+ "",
+ " ",
+ "`1234567890-=qwertyuiop[]\\asdfghjkl;'zxcvbnm,./~!@#$%^&*()_+QWERTYUIOP{}|ASDFGHJKL:\"ZXCVBNM<>?",
+ "abcdef",
+ "ABCDEF",
+ }) {
+ Store(5, Local7)
+ }
+
+ Default {
+ Store(7, Local7)
+ }
+ }
+
+ return (Local7)
+}
+
+Method(m103, 1)
+{
+ // String
+
+ Store(m102("0321"), Local0)
+ if (LNotEqual(Local0, 5)) {
+ err(arg0, z073, 12, 0, 0, Local0, 5)
+ }
+ Store(m102("321"), Local0)
+ if (LNotEqual(Local0, 5)) {
+ err(arg0, z073, 13, 0, 0, Local0, 5)
+ }
+ Store(m102("ba9876"), Local0)
+ if (LNotEqual(Local0, 5)) {
+ err(arg0, z073, 14, 0, 0, Local0, 5)
+ }
+ Store(m102("c179b3fe"), Local0)
+ if (LNotEqual(Local0, 5)) {
+ err(arg0, z073, 15, 0, 0, Local0, 5)
+ }
+ Store(m102("fe7cb391d650a284"), Local0)
+ if (LNotEqual(Local0, 5)) {
+ err(arg0, z073, 16, 0, 0, Local0, 5)
+ }
+ Store(m102("ffffffff"), Local0)
+ if (LNotEqual(Local0, 5)) {
+ err(arg0, z073, 17, 0, 0, Local0, 5)
+ }
+ Store(m102("ffffffffffffffffff"), Local0)
+ if (LNotEqual(Local0, 5)) {
+ err(arg0, z073, 18, 0, 0, Local0, 5)
+ }
+ Store(m102("ffffffffffffffff"), Local0)
+ if (LNotEqual(Local0, 5)) {
+ err(arg0, z073, 19, 0, 0, Local0, 5)
+ }
+ Store(m102("ffffffffff"), Local0)
+ if (LNotEqual(Local0, 5)) {
+ err(arg0, z073, 20, 0, 0, Local0, 5)
+ }
+ Store(m102("ff"), Local0)
+ if (LNotEqual(Local0, 5)) {
+ err(arg0, z073, 21, 0, 0, Local0, 5)
+ }
+ Store(m102("fe7cb391d650a2841"), Local0)
+ if (LNotEqual(Local0, 5)) {
+ err(arg0, z073, 22, 0, 0, Local0, 5)
+ }
+ Store(m102("987654321"), Local0)
+ if (LNotEqual(Local0, 5)) {
+ err(arg0, z073, 23, 0, 0, Local0, 5)
+ }
+ Store(m102("0xfe7cb3"), Local0)
+ if (LNotEqual(Local0, 5)) {
+ err(arg0, z073, 24, 0, 0, Local0, 5)
+ }
+ Store(m102("1234q"), Local0)
+ if (LNotEqual(Local0, 5)) {
+ err(arg0, z073, 25, 0, 0, Local0, 5)
+ }
+ Store(m102(BIG0), Local0)
+ if (LNotEqual(Local0, 5)) {
+ err(arg0, z073, 26, 0, 0, Local0, 5)
+ }
+ Store(m102(""), Local0)
+ if (LNotEqual(Local0, 5)) {
+ err(arg0, z073, 27, 0, 0, Local0, 5)
+ }
+ Store(m102(" "), Local0)
+ if (LNotEqual(Local0, 5)) {
+ err(arg0, z073, 28, 0, 0, Local0, 5)
+ }
+ Store(m102(ALL0), Local0)
+ if (LNotEqual(Local0, 5)) {
+ err(arg0, z073, 29, 0, 0, Local0, 5)
+ }
+ Store(m102("abcdef"), Local0)
+ if (LNotEqual(Local0, 5)) {
+ err(arg0, z073, 30, 0, 0, Local0, 5)
+ }
+ Store(m102("ABCDEF"), Local0)
+ if (LNotEqual(Local0, 5)) {
+ err(arg0, z073, 31, 0, 0, Local0, 5)
+ }
+}
+
+// The same as m0e5 and m0e6 but all the values
+// of Cases are in one Package
+Method(m104, 1)
+{
+ Switch (ToBuffer(arg0)) {
+
+ Case (Package() {
+
+ // Integer
+
+ 0321,
+ 9876543210,
+ 0xc179b3fe,
+ 0xfe7cb391d650a284,
+ 0,
+ 0xffffffff,
+ 0xffffffffffffffff,
+ 0xff,
+ 0xabcdef,
+
+ // String
+
+ "0321",
+ "321",
+ "ba9876",
+ "c179b3fe",
+ "fe7cb391d650a284",
+ "ffffffff",
+ "ffffffffffffffffff",
+ "ffffffffffffffff",
+ "ffffffffff",
+ "ff",
+ "fe7cb391d650a2841",
+ "987654321",
+ "0xfe7cb3",
+ "1234q",
+ "qwertyuiopasdfghjklzxcvbnm1234567890QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm1234567890QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm1234567890QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdf",
+ "",
+ " ",
+ "`1234567890-=qwertyuiop[]\\asdfghjkl;'zxcvbnm,./~!@#$%^&*()_+QWERTYUIOP{}|ASDFGHJKL:\"ZXCVBNM<>?",
+ "abcdef",
+ "ABCDEF",
+
+ // Buffer
+
+ Buffer(1){10},
+ Buffer(2){11,12},
+ Buffer() {13,14,15},
+ Buffer(2){16,17,18},
+ Buffer(3){19,20},
+ Buffer(3){21,22,23},
+ Buffer(4){24,25,26,27},
+ Buffer(5){28,29,30,31,32},
+ Buffer(8){33,34,35,36,37,38,39,40},
+ Buffer(){0x12,0x34,0x56,0x78,0x9a,0xbc,0xde,0xf0},
+ Buffer(9){41,42,43,44,45,46,47,48,49},
+ Buffer(257){0x7d},
+ Buffer(257) {
+ // 0-127
+ 0x00,0x00,0x02,0x03,0x04,0x05,0x06,0x07,
+ 0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,
+ 0x00,0x11,0x12,0x13,0x14,0x15,0x16,0x17,
+ 0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,
+ 0x10,0x21,0x22,0x23,0x24,0x25,0x26,0x27,
+ 0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,
+ 0x20,0x31,0x32,0x33,0x34,0x35,0x36,0x37,
+ 0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,
+ 0x30,0x41,0x42,0x43,0x44,0x45,0x46,0x47,
+ 0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,
+ 0x40,0x51,0x52,0x53,0x54,0x55,0x56,0x57,
+ 0x58,0x59,0x5a,0x5b,0x5c,0x5d,0x5e,0x5f,
+ 0x50,0x61,0x62,0x63,0x64,0x65,0x66,0x67,
+ 0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,
+ 0x60,0x71,0x72,0x73,0x74,0x75,0x76,0x77,
+ 0x78,0x79,0x7a,0x7b,0x7c,0x7d,0x7e,0x7f,
+
+ // 128-255
+ 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,
+ 0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,
+ 0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,
+ 0x98,0x99,0x9a,0x9b,0x9c,0x9d,0x9e,0x9f,
+ 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,
+ 0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,
+ 0xb0,0xb1,0xb2,0xb3,0xb4,0xb5,0xb6,0xb7,
+ 0xb8,0xb9,0xba,0xbb,0xbc,0xbd,0xbe,0xbf,
+ 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,
+ 0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,
+ 0xd0,0xd1,0xd2,0xd3,0xd4,0xd5,0xd6,0xd7,
+ 0xd8,0xd9,0xda,0xdb,0xdc,0xdd,0xde,0xdf,
+ 0xe0,0xe1,0xe2,0xe3,0xe4,0xe5,0xe6,0xe7,
+ 0xe8,0xe9,0xea,0xeb,0xec,0xed,0xee,0xef,
+ 0xf0,0xf1,0xf2,0xf3,0xf4,0xf5,0xf6,0xf7,
+ 0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,0xfe,0xff,
+ // 256
+ 0x01},
+ Buffer() {
+ // 0-127
+ 0x00,0x00,0x02,0x03,0x04,0x05,0x06,0x07,
+ 0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,
+ 0x00,0x11,0x12,0x13,0x14,0x15,0x16,0x17,
+ 0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,
+ 0x10,0x21,0x22,0x23,0x24,0x25,0x26,0x27,
+ 0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,
+ 0x20,0x31,0x32,0x33,0x34,0x35,0x36,0x37,
+ 0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,
+ 0x30,0x41,0x42,0x43,0x44,0x45,0x46,0x47,
+ 0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,
+ 0x40,0x51,0x52,0x53,0x54,0x55,0x56,0x57,
+ 0x58,0x59,0x5a,0x5b,0x5c,0x5d,0x5e,0x5f,
+ 0x50,0x61,0x62,0x63,0x64,0x65,0x66,0x67,
+ 0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,
+ 0x60,0x71,0x72,0x73,0x74,0x75,0x76,0x77,
+ 0x78,0x79,0x7a,0x7b,0x7c,0x7d,0x7e,0x7f,
+
+ // 128-255
+ 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,
+ 0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,
+ 0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,
+ 0x98,0x99,0x9a,0x9b,0x9c,0x9d,0x9e,0x9f,
+ 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,
+ 0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,
+ 0xb0,0xb1,0xb2,0xb3,0xb4,0xb5,0xb6,0xb7,
+ 0xb8,0xb9,0xba,0xbb,0xbc,0xbd,0xbe,0xbf,
+ 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,
+ 0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,
+ 0xd0,0xd1,0xd2,0xd3,0xd4,0xd5,0xd6,0xd7,
+ 0xd8,0xd9,0xda,0xdb,0xdc,0xdd,0xde,0xdf,
+ 0xe0,0xe1,0xe2,0xe3,0xe4,0xe5,0xe6,0xe7,
+ 0xe8,0xe9,0xea,0xeb,0xec,0xed,0xee,0xef,
+ 0xf0,0xf1,0xf2,0xf3,0xf4,0xf5,0xf6,0xf7,
+ 0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,0xfe,0xff,
+ // 256
+ 0x02},
+ Buffer(4){0,0,0,0},
+ Buffer(8){0,0,0,0,0,0,0,0},
+ Buffer(4){0xff,0xff,0xff,0xff},
+ Buffer(9){0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff},
+ Buffer(8){0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff},
+ Buffer(5){0xff,0xff,0xff,0xff,0xff},
+ Buffer(1){0xff},
+ Buffer(1){},
+ Buffer(5){},
+ Buffer(9){},
+ Buffer(9){0xab, 0xcd, 0xef},
+ }) {
+ Store(5, Local7)
+ }
+
+ Default {
+ Store(7, Local7)
+ }
+ }
+
+ return (Local7)
+}
+
+Method(m105, 1)
+{
+ // Buffer
+
+ Store(m104(Buffer(1){10}), Local0)
+ if (LNotEqual(Local0, 5)) {
+ err(arg0, z073, 32, 0, 0, Local0, 5)
+ }
+ Store(m104(Buffer(2){11,12}), Local0)
+ if (LNotEqual(Local0, 5)) {
+ err(arg0, z073, 33, 0, 0, Local0, 5)
+ }
+ Store(m104(Buffer() {13,14,15}), Local0)
+ if (LNotEqual(Local0, 5)) {
+ err(arg0, z073, 34, 0, 0, Local0, 5)
+ }
+ Store(m104(Buffer(2){16,17,18}), Local0)
+ if (LNotEqual(Local0, 5)) {
+ err(arg0, z073, 35, 0, 0, Local0, 5)
+ }
+ Store(m104(Buffer(3){19,20}), Local0)
+ if (LNotEqual(Local0, 5)) {
+ err(arg0, z073, 36, 0, 0, Local0, 5)
+ }
+ Store(m104(Buffer(3){21,22,23}), Local0)
+ if (LNotEqual(Local0, 5)) {
+ err(arg0, z073, 37, 0, 0, Local0, 5)
+ }
+ Store(m104(Buffer(4){24,25,26,27}), Local0)
+ if (LNotEqual(Local0, 5)) {
+ err(arg0, z073, 38, 0, 0, Local0, 5)
+ }
+ Store(m104(Buffer(5){28,29,30,31,32}), Local0)
+ if (LNotEqual(Local0, 5)) {
+ err(arg0, z073, 39, 0, 0, Local0, 5)
+ }
+ Store(m104(Buffer(8){33,34,35,36,37,38,39,40}), Local0)
+ if (LNotEqual(Local0, 5)) {
+ err(arg0, z073, 40, 0, 0, Local0, 5)
+ }
+ Store(m104(Buffer(){0x12,0x34,0x56,0x78,0x9a,0xbc,0xde,0xf0}), Local0)
+ if (LNotEqual(Local0, 5)) {
+ err(arg0, z073, 41, 0, 0, Local0, 5)
+ }
+ Store(m104(Buffer(9){41,42,43,44,45,46,47,48,49}), Local0)
+ if (LNotEqual(Local0, 5)) {
+ err(arg0, z073, 42, 0, 0, Local0, 5)
+ }
+ Store(m104(Buffer(257){0x7d}), Local0)
+ if (LNotEqual(Local0, 5)) {
+ err(arg0, z073, 43, 0, 0, Local0, 5)
+ }
+ Store(m104(Buffer(257) {
+ // 0-127
+ 0x00,0x00,0x02,0x03,0x04,0x05,0x06,0x07,
+ 0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,
+ 0x00,0x11,0x12,0x13,0x14,0x15,0x16,0x17,
+ 0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,
+ 0x10,0x21,0x22,0x23,0x24,0x25,0x26,0x27,
+ 0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,
+ 0x20,0x31,0x32,0x33,0x34,0x35,0x36,0x37,
+ 0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,
+ 0x30,0x41,0x42,0x43,0x44,0x45,0x46,0x47,
+ 0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,
+ 0x40,0x51,0x52,0x53,0x54,0x55,0x56,0x57,
+ 0x58,0x59,0x5a,0x5b,0x5c,0x5d,0x5e,0x5f,
+ 0x50,0x61,0x62,0x63,0x64,0x65,0x66,0x67,
+ 0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,
+ 0x60,0x71,0x72,0x73,0x74,0x75,0x76,0x77,
+ 0x78,0x79,0x7a,0x7b,0x7c,0x7d,0x7e,0x7f,
+
+ // 128-255
+ 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,
+ 0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,
+ 0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,
+ 0x98,0x99,0x9a,0x9b,0x9c,0x9d,0x9e,0x9f,
+ 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,
+ 0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,
+ 0xb0,0xb1,0xb2,0xb3,0xb4,0xb5,0xb6,0xb7,
+ 0xb8,0xb9,0xba,0xbb,0xbc,0xbd,0xbe,0xbf,
+ 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,
+ 0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,
+ 0xd0,0xd1,0xd2,0xd3,0xd4,0xd5,0xd6,0xd7,
+ 0xd8,0xd9,0xda,0xdb,0xdc,0xdd,0xde,0xdf,
+ 0xe0,0xe1,0xe2,0xe3,0xe4,0xe5,0xe6,0xe7,
+ 0xe8,0xe9,0xea,0xeb,0xec,0xed,0xee,0xef,
+ 0xf0,0xf1,0xf2,0xf3,0xf4,0xf5,0xf6,0xf7,
+ 0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,0xfe,0xff,
+ // 256
+ 0x01}), Local0)
+ if (LNotEqual(Local0, 5)) {
+ err(arg0, z073, 44, 0, 0, Local0, 5)
+ }
+ Store(m104(Buffer() {
+ // 0-127
+ 0x00,0x00,0x02,0x03,0x04,0x05,0x06,0x07,
+ 0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,
+ 0x00,0x11,0x12,0x13,0x14,0x15,0x16,0x17,
+ 0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,
+ 0x10,0x21,0x22,0x23,0x24,0x25,0x26,0x27,
+ 0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,
+ 0x20,0x31,0x32,0x33,0x34,0x35,0x36,0x37,
+ 0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,
+ 0x30,0x41,0x42,0x43,0x44,0x45,0x46,0x47,
+ 0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,
+ 0x40,0x51,0x52,0x53,0x54,0x55,0x56,0x57,
+ 0x58,0x59,0x5a,0x5b,0x5c,0x5d,0x5e,0x5f,
+ 0x50,0x61,0x62,0x63,0x64,0x65,0x66,0x67,
+ 0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,
+ 0x60,0x71,0x72,0x73,0x74,0x75,0x76,0x77,
+ 0x78,0x79,0x7a,0x7b,0x7c,0x7d,0x7e,0x7f,
+
+ // 128-255
+ 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,
+ 0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,
+ 0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,
+ 0x98,0x99,0x9a,0x9b,0x9c,0x9d,0x9e,0x9f,
+ 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,
+ 0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,
+ 0xb0,0xb1,0xb2,0xb3,0xb4,0xb5,0xb6,0xb7,
+ 0xb8,0xb9,0xba,0xbb,0xbc,0xbd,0xbe,0xbf,
+ 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,
+ 0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,
+ 0xd0,0xd1,0xd2,0xd3,0xd4,0xd5,0xd6,0xd7,
+ 0xd8,0xd9,0xda,0xdb,0xdc,0xdd,0xde,0xdf,
+ 0xe0,0xe1,0xe2,0xe3,0xe4,0xe5,0xe6,0xe7,
+ 0xe8,0xe9,0xea,0xeb,0xec,0xed,0xee,0xef,
+ 0xf0,0xf1,0xf2,0xf3,0xf4,0xf5,0xf6,0xf7,
+ 0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,0xfe,0xff,
+ // 256
+ 0x02}), Local0)
+ if (LNotEqual(Local0, 5)) {
+ err(arg0, z073, 45, 0, 0, Local0, 5)
+ }
+ if (F64) {
+ Store(m104(Buffer(4){0,0,0,0}), Local0)
+ if (LNotEqual(Local0, 5)) {
+ err(arg0, z073, 46, 0, 0, Local0, 5)
+ }
+ Store(m104(Buffer(8){0,0,0,0,0,0,0,0}), Local0)
+ if (LNotEqual(Local0, 5)) {
+ err(arg0, z073, 47, 0, 0, Local0, 5)
+ }
+ Store(m104(Buffer(4){0xff,0xff,0xff,0xff}), Local0)
+ if (LNotEqual(Local0, 5)) {
+ err(arg0, z073, 48, 0, 0, Local0, 5)
+ }
+ Store(m104(Buffer(8){0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}), Local0)
+ if (LNotEqual(Local0, 5)) {
+ err(arg0, z073, 49, 0, 0, Local0, 5)
+ }
+ } else {
+ Store(m104(Buffer(4){0,0,0,0}), Local0)
+ if (LNotEqual(Local0, 5)) {
+ err(arg0, z073, 50, 0, 0, Local0, 5)
+ }
+ Store(m104(Buffer(8){0,0,0,0,0,0,0,0}), Local0)
+ if (LNotEqual(Local0, 5)) {
+ err(arg0, z073, 51, 0, 0, Local0, 5)
+ }
+ Store(m104(Buffer(4){0xff,0xff,0xff,0xff}), Local0)
+ if (LNotEqual(Local0, 5)) {
+ err(arg0, z073, 52, 0, 0, Local0, 5)
+ }
+ Store(m104(Buffer(8){0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}), Local0)
+ if (LNotEqual(Local0, 5)) {
+ err(arg0, z073, 53, 0, 0, Local0, 5)
+ }
+ }
+
+ Store(m104(Buffer(9){0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}), Local0)
+ if (LNotEqual(Local0, 5)) {
+ err(arg0, z073, 54, 0, 0, Local0, 5)
+ }
+ Store(m104(Buffer(5){0xff,0xff,0xff,0xff,0xff}), Local0)
+ if (LNotEqual(Local0, 5)) {
+ err(arg0, z073, 55, 0, 0, Local0, 5)
+ }
+ Store(m104(Buffer(1){0xff}), Local0)
+ if (LNotEqual(Local0, 5)) {
+ err(arg0, z073, 56, 0, 0, Local0, 5)
+ }
+ Store(m104(Buffer(1){}), Local0)
+ if (LNotEqual(Local0, 5)) {
+ err(arg0, z073, 57, 0, 0, Local0, 5)
+ }
+ Store(m104(Buffer(5){}), Local0)
+ if (LNotEqual(Local0, 5)) {
+ err(arg0, z073, 58, 0, 0, Local0, 5)
+ }
+ Store(m104(Buffer(9){}), Local0)
+ if (LNotEqual(Local0, 5)) {
+ err(arg0, z073, 59, 0, 0, Local0, 5)
+ }
+ Store(m104(Buffer(9){0xab, 0xcd, 0xef}), Local0)
+ if (LNotEqual(Local0, 5)) {
+ err(arg0, z073, 60, 0, 0, Local0, 5)
+ }
+}
+
+// Run-method
+Method(SW10)
+{
+ Store("TEST: SW10, Switch, Case, Default operators", Debug)
+
+ Name(ts, "SW10")
+
+ m101(ts)
+ m103(ts)
+ m105(ts)
+
+ return (0)
+}
diff --git a/tests/aslts/src/runtime/collections/functional/control/timing.asl b/tests/aslts/src/runtime/collections/functional/control/timing.asl
new file mode 100644
index 000000000..d0cf1cf07
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/control/timing.asl
@@ -0,0 +1,800 @@
+/*
+ * 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.
+ */
+
+/*
+ * Method execution control
+ *
+ * Timing operators
+ */
+
+Name(z006, 6)
+
+
+// Verifying 1-parameter, 0-result operator
+//
+// Arg5 - additional parameter (event...)
+//
+// Local0 - argument passed by test (MilliSeconds)
+// Local4 - specified time to be delayed (in Timer units)
+// Local6 - time actualy was delayed (measured by Timer, in Timer units)
+// Local7 - delta == (actual - specified) (in Timer units)
+//
+Method(m0c8, 6)
+{
+ Store(0, Local5)
+ Store(arg1, Local3)
+
+ While(Local3) {
+
+ // Operand
+
+ Store(DeRefOf(Index(arg3, Local5)), Local0)
+
+ switch (arg4) {
+ case (0) {
+ Store(Timer, Local1)
+ Sleep(Local0)
+ Store(Timer, Local2)
+ Subtract(Local2, Local1, Local6)
+ Multiply(Local0, 10000, Local4)
+
+ if (LLess(Local6, Local4)) {
+ Subtract(Local4, Local6, Local7)
+ err(arg0, z006, 0, 0, 0, Local5, arg2)
+ Store(Local0, Debug)
+ Store(Local4, Debug)
+ Store(Local6, Debug)
+ Store(Local7, Debug)
+ return (1)
+ } else {
+ Subtract(Local6, Local4, Local7)
+ }
+ }
+ case (1) {
+ Store(Timer, Local1)
+ Stall(Local0)
+ Store(Timer, Local2)
+ Subtract(Local2, Local1, Local6)
+ Multiply(Local0, 10, Local4)
+
+ if (LLess(Local6, Local4)) {
+ Subtract(Local4, Local6, Local7)
+ err(arg0, z006, 1, 0, 0, Local5, arg2)
+ Store(Local0, Debug)
+ Store(Local4, Debug)
+ Store(Local6, Debug)
+ Store(Local7, Debug)
+ return (1)
+ } else {
+ Subtract(Local6, Local4, Local7)
+ }
+ }
+ case (2) {
+ Store(Timer, Local1)
+ Wait(arg5, Local0)
+ Store(Timer, Local2)
+ Subtract(Local2, Local1, Local6)
+ Multiply(Local0, 10000, Local4)
+
+ if (LLess(Local6, Local4)) {
+ Subtract(Local4, Local6, Local7)
+ err(arg0, z006, 2, 0, 0, Local5, arg2)
+ Store(Local0, Debug)
+ Store(Local4, Debug)
+ Store(Local6, Debug)
+ Store(Local7, Debug)
+ return (1)
+ } else {
+ Subtract(Local6, Local4, Local7)
+ }
+ }
+ }
+
+ if (0) {
+ Store("====================:", Debug)
+ Store(Local0, Debug)
+ Store(Local4, Debug)
+ Store(Local6, Debug)
+ Store(Local7, Debug)
+ }
+
+ Increment(Local5)
+ Decrement(Local3)
+ }
+
+ return (0)
+}
+
+// Sleep. Sleep n milliseconds (yields the processor)
+Method(m0c9)
+{
+ Name(ts, "m0c9")
+
+ Store("TEST: m0c9, Sleep, sleep n milliseconds (yields the processor)", Debug)
+
+ Name(p000, Package() { 0, 1, 10, 100, 1000, 2000, 3456, 10000, 12345 })
+
+ Store(1, Local0)
+ While(Local0) {
+ if (m0c8(ts, 9, "p000", p000, 0, 0)) {
+ return (1)
+ }
+ Decrement(Local0)
+ }
+ return (0)
+}
+
+// Stall. Delay n microseconds (does not yield the processor)
+Method(m0ca)
+{
+ Name(ts, "m0ca")
+
+ Store("TEST: m0ca, Stall, delay n microseconds (does not yield the processor)", Debug)
+
+ Name(p000, Package() { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
+ 10, 20, 30, 40, 50, 60, 70, 80, 90, 100,
+ 14, 23, 37, 49, 55, 62, 78, 81, 96, 100 })
+
+ Store(5, Local0)
+ While(Local0) {
+ if (m0c8(ts, 30, "p000", p000, 1, 0)) {
+ return (1)
+ }
+ Decrement(Local0)
+ }
+ return (0)
+}
+
+// Wait. The calling method blocks while waiting for the event to be signaled
+Method(m0cb)
+{
+ Name(ts, "m0cb")
+
+ Store("TEST: m0cb, Wait, waiting for the event to be signaled", Debug)
+
+ Event(e000)
+
+ Name(p000, Package() { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
+ 10, 20, 30, 40, 50, 60, 70, 80, 90, 100,
+ 14, 23, 37, 49, 55, 62, 78, 81, 96, 100 })
+
+ Store(1, Local0)
+ While(Local0) {
+ if (m0c8(ts, 30, "p000", p000, 2, e000)) {
+ return (1)
+ }
+ Decrement(Local0)
+ }
+
+ Name(p001, Package() { 0, 1, 10, 100, 1000, 2000, 3456, 10000, 12345 })
+
+ Store(1, Local0)
+ While(Local0) {
+ if (m0c8(ts, 9, "p001", p001, 2, e000)) {
+ return (1)
+ }
+ Decrement(Local0)
+ }
+ return (0)
+}
+
+// Handle and summarize the Timer-times package.
+Method(m0cc, 3)
+{
+ Name(n000, 0)
+ Name(ncur, 0)
+
+ // Size of p001=(p000-1)
+ Name(n001, 0)
+ Subtract(arg2, 1, n001)
+
+ Name(p001, Package(n001) {})
+
+ Name(nmin, 0)
+ Name(nmax, 0)
+ Name(ndcr, 0)
+ Name(navr, 0)
+ Name(nspl, 0)
+
+ // Index for p001
+ Name(ncu1, 0)
+
+ // Obtain the adjacent deltas.
+
+ Store(0, Local7)
+ Store(arg2, n000)
+ Store(0, ncur)
+ Store(0, ncu1)
+
+ While (n000) {
+ Store(DeRefOf(Index(arg1, ncur)), Local0)
+ if (ncur) {
+ Subtract(Local0, Local7, Local6)
+ Store(Local6, Index(p001, ncu1))
+ Increment(ncu1)
+ if (0) {
+ Store(Local6, Debug)
+ }
+ }
+
+ // Previous time
+
+ Store(Local0, Local7)
+
+ Decrement(n000)
+ Increment(ncur)
+ }
+
+ // Summarize - min, max, average
+
+ Store(0, Local6)
+ Store(n001, n000)
+ Store(0, ncur)
+
+ Store(0, nmin)
+ Store(0, nmax)
+ Store(0, ndcr)
+ Store(0, navr)
+
+ While (n000) {
+ Store(DeRefOf(Index(p001, ncur)), Local0)
+ Add(Local6, Local0, Local6)
+ if (ncur) {
+ // New value less then previous
+ if (LLess(Local0, Local7)) {
+ Increment(ndcr)
+ }
+ if (LLess(Local0, nmin)) {
+ Store(Local0, nmin)
+ } elseif (LGreater(Local0, nmax)) {
+ Store(Local0, nmax)
+ }
+ } else {
+ Store(Local0, nmin)
+ Store(Local0, nmax)
+ }
+
+ // Previous delta
+
+ Store(Local0, Local7)
+
+ Decrement(n000)
+ Increment(ncur)
+ }
+
+ Divide(Local6, n001, Local0, navr)
+
+ // Summarize - check monotony, no splashes
+ // exceeding the adjacent points in times.
+
+ Store(0, Local6)
+ Store(n001, n000)
+ Store(0, ncur)
+ Store(0, nspl)
+
+ While (n000) {
+ Store(DeRefOf(Index(arg1, ncur)), Local0)
+ if (ncur) {
+
+ // Splashes different in times
+
+ if (LLess(Local0, Local7)) {
+ Divide(Local7, Local0, Local1, Local6)
+ } else {
+ Divide(Local0, Local7, Local1, Local6)
+ }
+ if (LGreater(Local6, 2)) {
+ Increment(nspl)
+ }
+ }
+
+ // Previous delta
+
+ Store(Local0, Local7)
+
+ Decrement(n000)
+ Increment(ncur)
+ }
+
+ Store("Summary:", Debug)
+
+ Store(nmin, Debug)
+ Store(nmax, Debug)
+ Store(navr, Debug)
+ Store(ndcr, Debug)
+ Store(nspl, Debug)
+}
+
+// Timer with Package - is not a test as such, but shows behaviour of Timer.
+//
+// Get Timer-time N times, store them into Package.
+// Then, calculate the Timer-time between each adjacent points.
+// Much time is spent on storing into Package.
+//
+// Summary of deltas between the adjacent points:
+//
+// nmin - minimal
+// nmax - maximal
+// navr - average
+//
+// Monotony:
+//
+// ndcr - # lower than previous
+// nspl - # splashes exceeding the adjacent point by 2 or more times
+Method(m0cd)
+{
+ Name(ts, "m0cd")
+
+ Store("TEST: m0cd, Timer with Package", Debug)
+
+ // nsz0 - size of p000
+ // n000 - decr cur counter
+ // ncur - incr cur counter
+
+ Name(nsz0, 101)
+ Name(n000, 0)
+ Name(ncur, 0)
+
+ Store(nsz0, n000)
+ Store(0, ncur)
+
+ Name(p000, Package(n000) {})
+
+ // Obtain the time and store into Package.
+ // Do as quickly as possible without any unnecessary actions.
+ While (n000) {
+
+ Store(Timer, Local0)
+ Store(Local0, Index(p000, ncur))
+ Decrement(n000)
+ Increment(ncur)
+ }
+
+ m0cc(ts, p000, nsz0)
+}
+
+// Timer with Name
+Method(m0ce)
+{
+ Name(ts, "m0ce")
+
+ Store("TEST: m0ce, Timer with Name", Debug)
+
+ Name(nsz0, 101)
+ Name(p000, Package(nsz0) {})
+
+ Name(tmp, 0)
+
+ Name(n000, 0)
+ Name(n001, 0)
+ Name(n002, 0)
+ Name(n003, 0)
+ Name(n004, 0)
+ Name(n005, 0)
+ Name(n006, 0)
+ Name(n007, 0)
+ Name(n008, 0)
+ Name(n009, 0)
+ Name(n010, 0)
+ Name(n011, 0)
+ Name(n012, 0)
+ Name(n013, 0)
+ Name(n014, 0)
+ Name(n015, 0)
+ Name(n016, 0)
+ Name(n017, 0)
+ Name(n018, 0)
+ Name(n019, 0)
+ Name(n020, 0)
+ Name(n021, 0)
+ Name(n022, 0)
+ Name(n023, 0)
+ Name(n024, 0)
+ Name(n025, 0)
+ Name(n026, 0)
+ Name(n027, 0)
+ Name(n028, 0)
+ Name(n029, 0)
+ Name(n030, 0)
+ Name(n031, 0)
+ Name(n032, 0)
+ Name(n033, 0)
+ Name(n034, 0)
+ Name(n035, 0)
+ Name(n036, 0)
+ Name(n037, 0)
+ Name(n038, 0)
+ Name(n039, 0)
+ Name(n040, 0)
+ Name(n041, 0)
+ Name(n042, 0)
+ Name(n043, 0)
+ Name(n044, 0)
+ Name(n045, 0)
+ Name(n046, 0)
+ Name(n047, 0)
+ Name(n048, 0)
+ Name(n049, 0)
+ Name(n050, 0)
+ Name(n051, 0)
+ Name(n052, 0)
+ Name(n053, 0)
+ Name(n054, 0)
+ Name(n055, 0)
+ Name(n056, 0)
+ Name(n057, 0)
+ Name(n058, 0)
+ Name(n059, 0)
+ Name(n060, 0)
+ Name(n061, 0)
+ Name(n062, 0)
+ Name(n063, 0)
+ Name(n064, 0)
+ Name(n065, 0)
+ Name(n066, 0)
+ Name(n067, 0)
+ Name(n068, 0)
+ Name(n069, 0)
+ Name(n070, 0)
+ Name(n071, 0)
+ Name(n072, 0)
+ Name(n073, 0)
+ Name(n074, 0)
+ Name(n075, 0)
+ Name(n076, 0)
+ Name(n077, 0)
+ Name(n078, 0)
+ Name(n079, 0)
+ Name(n080, 0)
+ Name(n081, 0)
+ Name(n082, 0)
+ Name(n083, 0)
+ Name(n084, 0)
+ Name(n085, 0)
+ Name(n086, 0)
+ Name(n087, 0)
+ Name(n088, 0)
+ Name(n089, 0)
+ Name(n090, 0)
+ Name(n091, 0)
+ Name(n092, 0)
+ Name(n093, 0)
+ Name(n094, 0)
+ Name(n095, 0)
+ Name(n096, 0)
+ Name(n097, 0)
+ Name(n098, 0)
+ Name(n099, 0)
+ Name(n100, 0)
+
+ Store(Timer, n000)
+ Store(Timer, n001)
+ Store(Timer, n002)
+ Store(Timer, n003)
+ Store(Timer, n004)
+ Store(Timer, n005)
+ Store(Timer, n006)
+ Store(Timer, n007)
+ Store(Timer, n008)
+ Store(Timer, n009)
+ Store(Timer, n010)
+ Store(Timer, n011)
+ Store(Timer, n012)
+ Store(Timer, n013)
+ Store(Timer, n014)
+ Store(Timer, n015)
+ Store(Timer, n016)
+ Store(Timer, n017)
+ Store(Timer, n018)
+ Store(Timer, n019)
+ Store(Timer, n020)
+ Store(Timer, n021)
+ Store(Timer, n022)
+ Store(Timer, n023)
+ Store(Timer, n024)
+ Store(Timer, n025)
+ Store(Timer, n026)
+ Store(Timer, n027)
+ Store(Timer, n028)
+ Store(Timer, n029)
+ Store(Timer, n030)
+ Store(Timer, n031)
+ Store(Timer, n032)
+ Store(Timer, n033)
+ Store(Timer, n034)
+ Store(Timer, n035)
+ Store(Timer, n036)
+ Store(Timer, n037)
+ Store(Timer, n038)
+ Store(Timer, n039)
+ Store(Timer, n040)
+ Store(Timer, n041)
+ Store(Timer, n042)
+ Store(Timer, n043)
+ Store(Timer, n044)
+ Store(Timer, n045)
+ Store(Timer, n046)
+ Store(Timer, n047)
+ Store(Timer, n048)
+ Store(Timer, n049)
+ Store(Timer, n050)
+ Store(Timer, n051)
+ Store(Timer, n052)
+ Store(Timer, n053)
+ Store(Timer, n054)
+ Store(Timer, n055)
+ Store(Timer, n056)
+ Store(Timer, n057)
+ Store(Timer, n058)
+ Store(Timer, n059)
+ Store(Timer, n060)
+ Store(Timer, n061)
+ Store(Timer, n062)
+ Store(Timer, n063)
+ Store(Timer, n064)
+ Store(Timer, n065)
+ Store(Timer, n066)
+ Store(Timer, n067)
+ Store(Timer, n068)
+ Store(Timer, n069)
+ Store(Timer, n070)
+ Store(Timer, n071)
+ Store(Timer, n072)
+ Store(Timer, n073)
+ Store(Timer, n074)
+ Store(Timer, n075)
+ Store(Timer, n076)
+ Store(Timer, n077)
+ Store(Timer, n078)
+ Store(Timer, n079)
+ Store(Timer, n080)
+ Store(Timer, n081)
+ Store(Timer, n082)
+ Store(Timer, n083)
+ Store(Timer, n084)
+ Store(Timer, n085)
+ Store(Timer, n086)
+ Store(Timer, n087)
+ Store(Timer, n088)
+ Store(Timer, n089)
+ Store(Timer, n090)
+ Store(Timer, n091)
+ Store(Timer, n092)
+ Store(Timer, n093)
+ Store(Timer, n094)
+ Store(Timer, n095)
+ Store(Timer, n096)
+ Store(Timer, n097)
+ Store(Timer, n098)
+ Store(Timer, n099)
+ Store(Timer, n100)
+
+
+ Store(n000, Index(p000, tmp)) Increment(tmp)
+ Store(n001, Index(p000, tmp)) Increment(tmp)
+ Store(n002, Index(p000, tmp)) Increment(tmp)
+ Store(n003, Index(p000, tmp)) Increment(tmp)
+ Store(n004, Index(p000, tmp)) Increment(tmp)
+ Store(n005, Index(p000, tmp)) Increment(tmp)
+ Store(n006, Index(p000, tmp)) Increment(tmp)
+ Store(n007, Index(p000, tmp)) Increment(tmp)
+ Store(n008, Index(p000, tmp)) Increment(tmp)
+ Store(n009, Index(p000, tmp)) Increment(tmp)
+ Store(n010, Index(p000, tmp)) Increment(tmp)
+ Store(n011, Index(p000, tmp)) Increment(tmp)
+ Store(n012, Index(p000, tmp)) Increment(tmp)
+ Store(n013, Index(p000, tmp)) Increment(tmp)
+ Store(n014, Index(p000, tmp)) Increment(tmp)
+ Store(n015, Index(p000, tmp)) Increment(tmp)
+ Store(n016, Index(p000, tmp)) Increment(tmp)
+ Store(n017, Index(p000, tmp)) Increment(tmp)
+ Store(n018, Index(p000, tmp)) Increment(tmp)
+ Store(n019, Index(p000, tmp)) Increment(tmp)
+ Store(n020, Index(p000, tmp)) Increment(tmp)
+ Store(n021, Index(p000, tmp)) Increment(tmp)
+ Store(n022, Index(p000, tmp)) Increment(tmp)
+ Store(n023, Index(p000, tmp)) Increment(tmp)
+ Store(n024, Index(p000, tmp)) Increment(tmp)
+ Store(n025, Index(p000, tmp)) Increment(tmp)
+ Store(n026, Index(p000, tmp)) Increment(tmp)
+ Store(n027, Index(p000, tmp)) Increment(tmp)
+ Store(n028, Index(p000, tmp)) Increment(tmp)
+ Store(n029, Index(p000, tmp)) Increment(tmp)
+ Store(n030, Index(p000, tmp)) Increment(tmp)
+ Store(n031, Index(p000, tmp)) Increment(tmp)
+ Store(n032, Index(p000, tmp)) Increment(tmp)
+ Store(n033, Index(p000, tmp)) Increment(tmp)
+ Store(n034, Index(p000, tmp)) Increment(tmp)
+ Store(n035, Index(p000, tmp)) Increment(tmp)
+ Store(n036, Index(p000, tmp)) Increment(tmp)
+ Store(n037, Index(p000, tmp)) Increment(tmp)
+ Store(n038, Index(p000, tmp)) Increment(tmp)
+ Store(n039, Index(p000, tmp)) Increment(tmp)
+ Store(n040, Index(p000, tmp)) Increment(tmp)
+ Store(n041, Index(p000, tmp)) Increment(tmp)
+ Store(n042, Index(p000, tmp)) Increment(tmp)
+ Store(n043, Index(p000, tmp)) Increment(tmp)
+ Store(n044, Index(p000, tmp)) Increment(tmp)
+ Store(n045, Index(p000, tmp)) Increment(tmp)
+ Store(n046, Index(p000, tmp)) Increment(tmp)
+ Store(n047, Index(p000, tmp)) Increment(tmp)
+ Store(n048, Index(p000, tmp)) Increment(tmp)
+ Store(n049, Index(p000, tmp)) Increment(tmp)
+ Store(n050, Index(p000, tmp)) Increment(tmp)
+ Store(n051, Index(p000, tmp)) Increment(tmp)
+ Store(n052, Index(p000, tmp)) Increment(tmp)
+ Store(n053, Index(p000, tmp)) Increment(tmp)
+ Store(n054, Index(p000, tmp)) Increment(tmp)
+ Store(n055, Index(p000, tmp)) Increment(tmp)
+ Store(n056, Index(p000, tmp)) Increment(tmp)
+ Store(n057, Index(p000, tmp)) Increment(tmp)
+ Store(n058, Index(p000, tmp)) Increment(tmp)
+ Store(n059, Index(p000, tmp)) Increment(tmp)
+ Store(n060, Index(p000, tmp)) Increment(tmp)
+ Store(n061, Index(p000, tmp)) Increment(tmp)
+ Store(n062, Index(p000, tmp)) Increment(tmp)
+ Store(n063, Index(p000, tmp)) Increment(tmp)
+ Store(n064, Index(p000, tmp)) Increment(tmp)
+ Store(n065, Index(p000, tmp)) Increment(tmp)
+ Store(n066, Index(p000, tmp)) Increment(tmp)
+ Store(n067, Index(p000, tmp)) Increment(tmp)
+ Store(n068, Index(p000, tmp)) Increment(tmp)
+ Store(n069, Index(p000, tmp)) Increment(tmp)
+ Store(n070, Index(p000, tmp)) Increment(tmp)
+ Store(n071, Index(p000, tmp)) Increment(tmp)
+ Store(n072, Index(p000, tmp)) Increment(tmp)
+ Store(n073, Index(p000, tmp)) Increment(tmp)
+ Store(n074, Index(p000, tmp)) Increment(tmp)
+ Store(n075, Index(p000, tmp)) Increment(tmp)
+ Store(n076, Index(p000, tmp)) Increment(tmp)
+ Store(n077, Index(p000, tmp)) Increment(tmp)
+ Store(n078, Index(p000, tmp)) Increment(tmp)
+ Store(n079, Index(p000, tmp)) Increment(tmp)
+ Store(n080, Index(p000, tmp)) Increment(tmp)
+ Store(n081, Index(p000, tmp)) Increment(tmp)
+ Store(n082, Index(p000, tmp)) Increment(tmp)
+ Store(n083, Index(p000, tmp)) Increment(tmp)
+ Store(n084, Index(p000, tmp)) Increment(tmp)
+ Store(n085, Index(p000, tmp)) Increment(tmp)
+ Store(n086, Index(p000, tmp)) Increment(tmp)
+ Store(n087, Index(p000, tmp)) Increment(tmp)
+ Store(n088, Index(p000, tmp)) Increment(tmp)
+ Store(n089, Index(p000, tmp)) Increment(tmp)
+ Store(n090, Index(p000, tmp)) Increment(tmp)
+ Store(n091, Index(p000, tmp)) Increment(tmp)
+ Store(n092, Index(p000, tmp)) Increment(tmp)
+ Store(n093, Index(p000, tmp)) Increment(tmp)
+ Store(n094, Index(p000, tmp)) Increment(tmp)
+ Store(n095, Index(p000, tmp)) Increment(tmp)
+ Store(n096, Index(p000, tmp)) Increment(tmp)
+ Store(n097, Index(p000, tmp)) Increment(tmp)
+ Store(n098, Index(p000, tmp)) Increment(tmp)
+ Store(n099, Index(p000, tmp)) Increment(tmp)
+ Store(n100, Index(p000, tmp)) Increment(tmp)
+
+ m0cc(ts, p000, nsz0)
+}
+
+// Timer with LocalX
+Method(m0cf)
+{
+ Name(ts, "m0cf")
+
+ Store("TEST: m0cf, Timer with LocalX", Debug)
+
+ Name(nsz0, 101)
+ Name(n000, 0)
+ Name(tmp, 0)
+ Name(last, 0)
+ Name(dlta, 0)
+
+ Store(nsz0, n000)
+
+ Name(p000, Package(n000) {})
+
+ While (n000) {
+
+ Store(Timer, Local0)
+ Store(Timer, Local1)
+ Store(Timer, Local2)
+ Store(Timer, Local3)
+ Store(Timer, Local4)
+ Store(Timer, Local5)
+ Store(Timer, Local6)
+ Store(Timer, Local7)
+
+ // Eliminate delta due to the storage into Package
+
+ if (last) {
+ Subtract(Local0, last, dlta)
+
+ Subtract(Local0, dlta, Local0)
+ Subtract(Local1, dlta, Local1)
+ Subtract(Local2, dlta, Local2)
+ Subtract(Local3, dlta, Local3)
+ Subtract(Local4, dlta, Local4)
+ Subtract(Local5, dlta, Local5)
+ Subtract(Local6, dlta, Local6)
+ Subtract(Local7, dlta, Local7)
+ }
+
+ Store(Local0, Index(p000, tmp)) Increment(tmp)
+ if (LGreaterEqual(tmp, nsz0)) {
+ break
+ }
+ Store(Local1, Index(p000, tmp)) Increment(tmp)
+ if (LGreaterEqual(tmp, nsz0)) {
+ break
+ }
+ Store(Local2, Index(p000, tmp)) Increment(tmp)
+ if (LGreaterEqual(tmp, nsz0)) {
+ break
+ }
+ Store(Local3, Index(p000, tmp)) Increment(tmp)
+ if (LGreaterEqual(tmp, nsz0)) {
+ break
+ }
+ Store(Local4, Index(p000, tmp)) Increment(tmp)
+ if (LGreaterEqual(tmp, nsz0)) {
+ break
+ }
+ Store(Local5, Index(p000, tmp)) Increment(tmp)
+ if (LGreaterEqual(tmp, nsz0)) {
+ break
+ }
+ Store(Local6, Index(p000, tmp)) Increment(tmp)
+ if (LGreaterEqual(tmp, nsz0)) {
+ break
+ }
+ Store(Local7, Index(p000, tmp)) Increment(tmp)
+ if (LGreaterEqual(tmp, nsz0)) {
+ break
+ }
+
+ Store(Local7, last)
+
+ Decrement(n000)
+ }
+
+ m0cc(ts, p000, nsz0)
+}
+
+// Run-method
+Method(TIM0)
+{
+ Store("TEST: TIM0, Timing operators", Debug)
+
+ m0c9()
+ m0ca()
+ m0cb()
+ m0cd()
+ m0ce()
+ m0cf()
+}
diff --git a/tests/aslts/src/runtime/collections/functional/control/while.asl b/tests/aslts/src/runtime/collections/functional/control/while.asl
new file mode 100644
index 000000000..58d71d15e
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/control/while.asl
@@ -0,0 +1,5802 @@
+/*
+ * 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.
+ */
+
+/*
+ * Method execution control
+ *
+ * While, Break, Continue operators
+ *
+ * DESCRIPTION:
+ *
+ * The main test method consists of 50 enclosed While operators
+ * of identical structure. Each While should perform prescribed
+ * number of Continue and Break operators and also execute the
+ * child operator While so many times which are necessary to
+ * fullfil the tasks of that child.
+ *
+ * The number of levels to be traveled may be
+ * restricted by tvl0 variable in the range {1,50}.
+ *
+ * After completion of the test method the verification is performed
+ * which checks that each level While actually produced the specified
+ * number of Continue and Break operators (specified by p001) and
+ * handled its child.
+ *
+ * Set up the pr00 variable to turn on the debug information.
+ *
+ * Calculation depends on the values of the following variables:
+ *
+ * tvl0 - the number of While operators to be traveled
+ * nnXX - repetition on WhileXX on each iteration
+ * iiXX - first element in sequence of works
+ * {0 - Run Child, 1 - Do Continue, 2 - Do Break}
+ *
+ * See also comment to nn00 below.
+ */
+
+Name(z074, 74)
+
+// Debug information
+Name(pr00, 0)
+
+/*
+ * The number of While operators to be traveled.
+ * Maximal possible is equal to 50 (restricted by
+ * the test (not ACPI) - implemented for 50 only).
+ */
+Name(tvl0, 50)
+
+// Relative indexes of Buffers of counters of works
+Name(CHL0, 0) // children (my children have done all)
+Name(CNT0, 1) // Continue (I have done running continue)
+Name(BRK0, 2) // Break (I have done running break)
+
+// Increment the counter of work
+// arg0 - trace of repetition Package
+// arg1 - index of Buffer in Package
+// arg2 - (level) index of element in Buffer
+Method(m0f2, 3)
+{
+ if (pr00) {
+ Store("???", Local0)
+ Switch (arg1) {
+ case (0) {
+ Store("Child ", Local0)
+ }
+ case (1) {
+ Store("Continue ", Local0)
+ }
+ case (2) {
+ Store("Break ", Local0)
+ }
+ Default {
+ Store("??? ", Local0)
+ }
+ }
+ Store(Concatenate(Local0, arg2), Debug)
+ }
+
+ Store(DerefOf(Index(DerefOf(Index(arg0, arg1)), arg2)), Local0)
+ Increment(Local0)
+ Store(Local0, Index(DerefOf(Index(arg0, arg1)), arg2))
+}
+
+// Set given value to counter of work
+// arg0 - trace of repetition Package
+// arg1 - index of Buffer in Package
+// arg2 - (level) index of element in Buffer
+Method(m0f3, 4)
+{
+ Store(arg3, Index(DerefOf(Index(arg0, arg1)), arg2))
+}
+
+// Return the counter of work
+// arg0 - trace of repetition Package
+// arg1 - index of Buffer in Package
+// arg2 - (level) index of element in Buffer
+Method(m0f4, 3)
+{
+ Store(DerefOf(Index(DerefOf(Index(arg0, arg1)), arg2)), Local0)
+ return (Local0)
+}
+
+// Return status of level
+// arg0 - trace of repetition Package
+// arg1 - task of repetition Package
+// arg2 - (level) index of element in Buffer
+Method(m0f5, 3)
+{
+ Store(0, Local0)
+
+ if (m0f4(arg0, CHL0, arg2)) {
+ Or(0x01, Local0, Local0)
+ }
+
+ Store(m0f4(arg0, CNT0, arg2), Local1)
+ Store(m0f4(arg1, CNT0, arg2), Local2)
+ if (LGreaterEqual(Local1, Local2)) {
+ Or(0x02, Local0, Local0)
+ }
+
+ Store(m0f4(arg0, BRK0, arg2), Local1)
+ Store(m0f4(arg1, BRK0, arg2), Local2)
+ if (LGreaterEqual(Local1, Local2)) {
+ Or(0x04, Local0, Local0)
+ }
+
+ return (Local0)
+}
+
+// Print all Buffers of Package
+Method(m0f6, 1)
+{
+ Store(DerefOf(Index(arg0, CHL0)), Debug)
+ Store(DerefOf(Index(arg0, CNT0)), Debug)
+ Store(DerefOf(Index(arg0, BRK0)), Debug)
+}
+
+// Conditional printing
+Method(m0f7, 1)
+{
+ if (pr00) {
+ Store(Arg0, Debug)
+ }
+}
+
+// Verification of run
+// arg0 - name of test
+// arg1 - trace of repetition Package
+// arg2 - task of repetition Package
+// arg3 - number of levels
+Method(m0f8, 4)
+{
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+
+ // Children
+
+ Store(arg3, lpN0)
+ Store(0, lpC0)
+
+ While (lpN0) {
+
+ Store(m0f4(arg1, CHL0, lpC0), Local0)
+
+ if (LEqual(Local0, 0)) {
+ err(arg0, z074, 0, 0, 0, 0, lpC0)
+ }
+
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+
+ // Continue
+
+ Store(arg3, lpN0)
+ Store(0, lpC0)
+
+ While (lpN0) {
+
+ Store(m0f4(arg1, CNT0, lpC0), Local0)
+ Store(m0f4(arg2, CNT0, lpC0), Local1)
+
+ if (LNotEqual(Local0, Local1)) {
+ err(arg0, z074, 1, 0, 0, Local0, Local1)
+ }
+
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+
+ // Break
+
+ Store(arg3, lpN0)
+ Store(0, lpC0)
+
+ While (lpN0) {
+
+ Store(m0f4(arg1, BRK0, lpC0), Local0)
+ Store(m0f4(arg2, BRK0, lpC0), Local1)
+
+ if (LNotEqual(Local0, Local1)) {
+ err(arg0, z074, 2, 0, 0, Local0, Local1)
+ }
+
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+}
+
+// Mix consecution of works
+// arg0 - current flag of Run
+// arg1 - current flag of Continue
+// arg2 - current flag of Break
+// arg3 - current index
+Method(m0f9, 4)
+{
+ Store(0, Local0)
+
+ if (arg0) {
+ Or(0x01, Local0, Local0)
+ }
+ if (arg1) {
+ Or(0x02, Local0, Local0)
+ }
+ if (arg2) {
+ Or(0x04, Local0, Local0)
+ }
+
+ Mod(arg3, 3, Local1)
+
+ Store(0, Local7)
+
+ if (LEqual(Local1, 0)) {
+ And(Local0, 0x01, Local7)
+ } elseif (LEqual(Local1, 0)) {
+ And(Local0, 0x02, Local7)
+ } else {
+ And(Local0, 0x04, Local7)
+ }
+
+ // Some iterations may be empty
+ // even for non-empty Arg-s.
+
+ return (Local0)
+}
+
+// The test
+// arg0 - name of test
+// arg1 - the number of While operators to be traveled
+Method(m0fa, 2)
+{
+ Concatenate("The number of While operators to be traveled: ", arg1, Local0)
+ Store(Local0, Debug)
+
+ if (LEqual(arg1, 0)) {
+ err(arg0, z074, 3, 0, 0, 0, 0)
+ }
+
+ Add(arg1, 1, Local0)
+
+ // Trace of repetition Package
+ Name(p000, Package() {
+ Buffer(Local0) {}, // 0 - Children (my children have done all)
+ Buffer(Local0) {}, // 1 - Continue (I have done running continue)
+ Buffer(Local0) {}, // 2 - Break (I have done running break)
+ })
+
+ // Task of repetition Package
+ Name(p001, Package() {
+ 0, // 0 - Children (my children have done all)
+ Buffer(Local0) { // 1 - Continue (I have done running continue)
+ 1,2,3,4,5,6,7,8,9,10,
+ 11,12,13,14,15,16,17,18,19,20,
+ 19,18,17,16,15,14,13,12,11,10,
+ 9,8,7,6,5,4,3,2,1,2,
+ 1,
+ },
+ Buffer(Local0) { // 2 - Break (I have done running break)
+ 1,2,3,4,5,6,7,8,9,8,
+ 7,6,5,4,3,2,1,2,3,4,
+ 5,6,7,8,9,8,7,6,5,4,
+ 3,2,1,2,3,4,5,6,7,8,
+ 1,
+ }
+ })
+
+ // The last While has no children, so mark him
+ // "no works of his children remained".
+
+ m0f3(p000, CHL0, arg1, 1)
+
+ Store(m0f4(p001, CNT0, arg1), Local0)
+ m0f3(p000, CNT0, arg1, Local0)
+
+ Store(m0f4(p001, BRK0, arg1), Local0)
+ m0f3(p000, BRK0, arg1, Local0)
+
+ // ////////////////
+ // Enclosed Whiles
+ //
+ // Code of one While differs others
+ // by the following variables:
+ //
+ // lc0x - this level
+ // ln0x - next level
+ // c00x - flag of Continue
+ // b00x - flag of Break
+ // i00x - currrent index of iteration
+ // n00x - number of iterations
+ // ////////////////
+
+ /*
+ * Calculation depends on all these nnXX below.
+ *
+ * nn00 is not a constant just in case only to prevent
+ * infinitive loop in testing due to any mistake in
+ * implementation.
+ *
+ * For the proposed in test contents of p001 and tvl0
+ * equal t0 50 the strict needed value of nn00 is 18449.
+ */
+ Name(nn00, 18449)
+ Name(nn01, 1)
+ Name(nn02, 1)
+ Name(nn03, 1)
+ Name(nn04, 1)
+ Name(nn05, 1)
+ Name(nn06, 1)
+ Name(nn07, 1)
+ Name(nn08, 1)
+ Name(nn09, 1)
+ Name(nn10, 1)
+ Name(nn11, 1)
+ Name(nn12, 1)
+ Name(nn13, 1)
+ Name(nn14, 1)
+ Name(nn15, 1)
+ Name(nn16, 1)
+ Name(nn17, 1)
+ Name(nn18, 1)
+ Name(nn19, 1)
+ Name(nn20, 1)
+ Name(nn21, 1)
+ Name(nn22, 1)
+ Name(nn23, 1)
+ Name(nn24, 1)
+ Name(nn25, 1)
+ Name(nn26, 1)
+ Name(nn27, 1)
+ Name(nn28, 1)
+ Name(nn29, 1)
+ Name(nn30, 1)
+ Name(nn31, 1)
+ Name(nn32, 1)
+ Name(nn33, 1)
+ Name(nn34, 1)
+ Name(nn35, 1)
+ Name(nn36, 1)
+ Name(nn37, 1)
+ Name(nn38, 1)
+ Name(nn39, 1)
+ Name(nn40, 1)
+ Name(nn41, 1)
+ Name(nn42, 1)
+ Name(nn43, 1)
+ Name(nn44, 1)
+ Name(nn45, 1)
+ Name(nn46, 1)
+ Name(nn47, 1)
+ Name(nn48, 1)
+ Name(nn49, 1)
+
+ // Calculation depends on these iiXX:
+ Name(ii01, 1)
+ Name(ii02, 2)
+ Name(ii03, 0)
+ Name(ii04, 1)
+ Name(ii05, 2)
+ Name(ii06, 0)
+ Name(ii07, 1)
+ Name(ii08, 2)
+ Name(ii09, 0)
+ Name(ii10, 1)
+ Name(ii11, 2)
+ Name(ii12, 0)
+ Name(ii13, 1)
+ Name(ii14, 2)
+ Name(ii15, 0)
+ Name(ii16, 1)
+ Name(ii17, 2)
+ Name(ii18, 0)
+ Name(ii19, 1)
+ Name(ii20, 2)
+ Name(ii21, 0)
+ Name(ii22, 1)
+ Name(ii23, 2)
+ Name(ii24, 0)
+ Name(ii25, 1)
+ Name(ii26, 2)
+ Name(ii27, 0)
+ Name(ii28, 1)
+ Name(ii29, 2)
+ Name(ii30, 0)
+ Name(ii31, 1)
+ Name(ii32, 2)
+ Name(ii33, 0)
+ Name(ii34, 1)
+ Name(ii35, 2)
+ Name(ii36, 0)
+ Name(ii37, 1)
+ Name(ii38, 2)
+ Name(ii39, 0)
+ Name(ii40, 1)
+ Name(ii41, 2)
+ Name(ii42, 0)
+ Name(ii43, 1)
+ Name(ii44, 2)
+ Name(ii45, 0)
+ Name(ii46, 1)
+ Name(ii47, 2)
+ Name(ii48, 0)
+ Name(ii49, 1)
+
+ // Variables
+
+ Name(lc00, 0)
+ Name(ln00, 1)
+ Name(c000, 0)
+ Name(b000, 0)
+ Name(r000, 0)
+ Name(i000, 0)
+ Name(n000, 0)
+
+ Name(lc01, 1)
+ Name(ln01, 2)
+ Name(c001, 0)
+ Name(b001, 0)
+ Name(r001, 0)
+ Name(i001, 0)
+ Name(n001, 0)
+
+ Name(lc02, 2)
+ Name(ln02, 3)
+ Name(c002, 0)
+ Name(b002, 0)
+ Name(r002, 0)
+ Name(i002, 0)
+ Name(n002, 0)
+
+ Name(lc03, 3)
+ Name(ln03, 4)
+ Name(c003, 0)
+ Name(b003, 0)
+ Name(r003, 0)
+ Name(i003, 0)
+ Name(n003, 0)
+
+ Name(lc04, 4)
+ Name(ln04, 5)
+ Name(c004, 0)
+ Name(b004, 0)
+ Name(r004, 0)
+ Name(i004, 0)
+ Name(n004, 0)
+
+ Name(lc05, 5)
+ Name(ln05, 6)
+ Name(c005, 0)
+ Name(b005, 0)
+ Name(r005, 0)
+ Name(i005, 0)
+ Name(n005, 0)
+
+ Name(lc06, 6)
+ Name(ln06, 7)
+ Name(c006, 0)
+ Name(b006, 0)
+ Name(r006, 0)
+ Name(i006, 0)
+ Name(n006, 0)
+
+ Name(lc07, 7)
+ Name(ln07, 8)
+ Name(c007, 0)
+ Name(b007, 0)
+ Name(r007, 0)
+ Name(i007, 0)
+ Name(n007, 0)
+
+ Name(lc08, 8)
+ Name(ln08, 9)
+ Name(c008, 0)
+ Name(b008, 0)
+ Name(r008, 0)
+ Name(i008, 0)
+ Name(n008, 0)
+
+ Name(lc09, 9)
+ Name(ln09, 10)
+ Name(c009, 0)
+ Name(b009, 0)
+ Name(r009, 0)
+ Name(i009, 0)
+ Name(n009, 0)
+
+ Name(lc10, 10)
+ Name(ln10, 11)
+ Name(c010, 0)
+ Name(b010, 0)
+ Name(r010, 0)
+ Name(i010, 0)
+ Name(n010, 0)
+
+ Name(lc11, 11)
+ Name(ln11, 12)
+ Name(c011, 0)
+ Name(b011, 0)
+ Name(r011, 0)
+ Name(i011, 0)
+ Name(n011, 0)
+
+ Name(lc12, 12)
+ Name(ln12, 13)
+ Name(c012, 0)
+ Name(b012, 0)
+ Name(r012, 0)
+ Name(i012, 0)
+ Name(n012, 0)
+
+ Name(lc13, 13)
+ Name(ln13, 14)
+ Name(c013, 0)
+ Name(b013, 0)
+ Name(r013, 0)
+ Name(i013, 0)
+ Name(n013, 0)
+
+ Name(lc14, 14)
+ Name(ln14, 15)
+ Name(c014, 0)
+ Name(b014, 0)
+ Name(r014, 0)
+ Name(i014, 0)
+ Name(n014, 0)
+
+ Name(lc15, 15)
+ Name(ln15, 16)
+ Name(c015, 0)
+ Name(b015, 0)
+ Name(r015, 0)
+ Name(i015, 0)
+ Name(n015, 0)
+
+ Name(lc16, 16)
+ Name(ln16, 17)
+ Name(c016, 0)
+ Name(b016, 0)
+ Name(r016, 0)
+ Name(i016, 0)
+ Name(n016, 0)
+
+ Name(lc17, 17)
+ Name(ln17, 18)
+ Name(c017, 0)
+ Name(b017, 0)
+ Name(r017, 0)
+ Name(i017, 0)
+ Name(n017, 0)
+
+ Name(lc18, 18)
+ Name(ln18, 19)
+ Name(c018, 0)
+ Name(b018, 0)
+ Name(r018, 0)
+ Name(i018, 0)
+ Name(n018, 0)
+
+ Name(lc19, 19)
+ Name(ln19, 20)
+ Name(c019, 0)
+ Name(b019, 0)
+ Name(r019, 0)
+ Name(i019, 0)
+ Name(n019, 0)
+
+ Name(lc20, 20)
+ Name(ln20, 21)
+ Name(c020, 0)
+ Name(b020, 0)
+ Name(r020, 0)
+ Name(i020, 0)
+ Name(n020, 0)
+
+ Name(lc21, 21)
+ Name(ln21, 22)
+ Name(c021, 0)
+ Name(b021, 0)
+ Name(r021, 0)
+ Name(i021, 0)
+ Name(n021, 0)
+
+ Name(lc22, 22)
+ Name(ln22, 23)
+ Name(c022, 0)
+ Name(b022, 0)
+ Name(r022, 0)
+ Name(i022, 0)
+ Name(n022, 0)
+
+ Name(lc23, 23)
+ Name(ln23, 24)
+ Name(c023, 0)
+ Name(b023, 0)
+ Name(r023, 0)
+ Name(i023, 0)
+ Name(n023, 0)
+
+ Name(lc24, 24)
+ Name(ln24, 25)
+ Name(c024, 0)
+ Name(b024, 0)
+ Name(r024, 0)
+ Name(i024, 0)
+ Name(n024, 0)
+
+ Name(lc25, 25)
+ Name(ln25, 26)
+ Name(c025, 0)
+ Name(b025, 0)
+ Name(r025, 0)
+ Name(i025, 0)
+ Name(n025, 0)
+
+ Name(lc26, 26)
+ Name(ln26, 27)
+ Name(c026, 0)
+ Name(b026, 0)
+ Name(r026, 0)
+ Name(i026, 0)
+ Name(n026, 0)
+
+ Name(lc27, 27)
+ Name(ln27, 28)
+ Name(c027, 0)
+ Name(b027, 0)
+ Name(r027, 0)
+ Name(i027, 0)
+ Name(n027, 0)
+
+ Name(lc28, 28)
+ Name(ln28, 29)
+ Name(c028, 0)
+ Name(b028, 0)
+ Name(r028, 0)
+ Name(i028, 0)
+ Name(n028, 0)
+
+ Name(lc29, 29)
+ Name(ln29, 30)
+ Name(c029, 0)
+ Name(b029, 0)
+ Name(r029, 0)
+ Name(i029, 0)
+ Name(n029, 0)
+
+ Name(lc30, 30)
+ Name(ln30, 31)
+ Name(c030, 0)
+ Name(b030, 0)
+ Name(r030, 0)
+ Name(i030, 0)
+ Name(n030, 0)
+
+ Name(lc31, 31)
+ Name(ln31, 32)
+ Name(c031, 0)
+ Name(b031, 0)
+ Name(r031, 0)
+ Name(i031, 0)
+ Name(n031, 0)
+
+ Name(lc32, 32)
+ Name(ln32, 33)
+ Name(c032, 0)
+ Name(b032, 0)
+ Name(r032, 0)
+ Name(i032, 0)
+ Name(n032, 0)
+
+ Name(lc33, 33)
+ Name(ln33, 34)
+ Name(c033, 0)
+ Name(b033, 0)
+ Name(r033, 0)
+ Name(i033, 0)
+ Name(n033, 0)
+
+ Name(lc34, 34)
+ Name(ln34, 35)
+ Name(c034, 0)
+ Name(b034, 0)
+ Name(r034, 0)
+ Name(i034, 0)
+ Name(n034, 0)
+
+ Name(lc35, 35)
+ Name(ln35, 36)
+ Name(c035, 0)
+ Name(b035, 0)
+ Name(r035, 0)
+ Name(i035, 0)
+ Name(n035, 0)
+
+ Name(lc36, 36)
+ Name(ln36, 37)
+ Name(c036, 0)
+ Name(b036, 0)
+ Name(r036, 0)
+ Name(i036, 0)
+ Name(n036, 0)
+
+ Name(lc37, 37)
+ Name(ln37, 38)
+ Name(c037, 0)
+ Name(b037, 0)
+ Name(r037, 0)
+ Name(i037, 0)
+ Name(n037, 0)
+
+ Name(lc38, 38)
+ Name(ln38, 39)
+ Name(c038, 0)
+ Name(b038, 0)
+ Name(r038, 0)
+ Name(i038, 0)
+ Name(n038, 0)
+
+ Name(lc39, 39)
+ Name(ln39, 40)
+ Name(c039, 0)
+ Name(b039, 0)
+ Name(r039, 0)
+ Name(i039, 0)
+ Name(n039, 0)
+
+ Name(lc40, 40)
+ Name(ln40, 41)
+ Name(c040, 0)
+ Name(b040, 0)
+ Name(r040, 0)
+ Name(i040, 0)
+ Name(n040, 0)
+
+ Name(lc41, 41)
+ Name(ln41, 42)
+ Name(c041, 0)
+ Name(b041, 0)
+ Name(r041, 0)
+ Name(i041, 0)
+ Name(n041, 0)
+
+ Name(lc42, 42)
+ Name(ln42, 43)
+ Name(c042, 0)
+ Name(b042, 0)
+ Name(r042, 0)
+ Name(i042, 0)
+ Name(n042, 0)
+
+ Name(lc43, 43)
+ Name(ln43, 44)
+ Name(c043, 0)
+ Name(b043, 0)
+ Name(r043, 0)
+ Name(i043, 0)
+ Name(n043, 0)
+
+ Name(lc44, 44)
+ Name(ln44, 45)
+ Name(c044, 0)
+ Name(b044, 0)
+ Name(r044, 0)
+ Name(i044, 0)
+ Name(n044, 0)
+
+ Name(lc45, 45)
+ Name(ln45, 46)
+ Name(c045, 0)
+ Name(b045, 0)
+ Name(r045, 0)
+ Name(i045, 0)
+ Name(n045, 0)
+
+ Name(lc46, 46)
+ Name(ln46, 47)
+ Name(c046, 0)
+ Name(b046, 0)
+ Name(r046, 0)
+ Name(i046, 0)
+ Name(n046, 0)
+
+ Name(lc47, 47)
+ Name(ln47, 48)
+ Name(c047, 0)
+ Name(b047, 0)
+ Name(r047, 0)
+ Name(i047, 0)
+ Name(n047, 0)
+
+ Name(lc48, 48)
+ Name(ln48, 49)
+ Name(c048, 0)
+ Name(b048, 0)
+ Name(r048, 0)
+ Name(i048, 0)
+ Name(n048, 0)
+
+ Name(lc49, 49)
+ Name(ln49, 50)
+ Name(c049, 0)
+ Name(b049, 0)
+ Name(r049, 0)
+ Name(i049, 0)
+ Name(n049, 0)
+
+ ////////////////////////////////////////////////////////////// START, 00
+
+ Store(0, c000)
+ Store(0, b000)
+ Store(0, r000)
+ Store(0, i000)
+ Store(nn00, n000)
+
+ While (n000) {
+
+ m0f7("n000")
+
+ Store(m0f5(p000, p001, ln00), Local0)
+ if (LEqual(Local0, 0x07)) {
+ // Set up - my children complited
+ m0f2(p000, CHL0, lc00)
+ Store(0, r000)
+ } else {
+ Store(1, r000)
+ }
+
+ Store(m0f5(p000, p001, lc00), Local0)
+
+ if (And(Local0, 0x02)) {
+ Store(0, c000)
+ } else {
+ Store(1, c000)
+ }
+ if (And(Local0, 0x04)) {
+ Store(0, b000)
+ } else {
+ // Don't break there from 0-th While
+ Store(0, b000)
+ m0f2(p000, BRK0, lc00)
+ }
+
+ // Don't use these variables below
+ Decrement(n000)
+ Increment(i000)
+
+ ////////////////////////// Actions
+
+ if (r000) {
+ m0f7("r000")
+
+ ////////////////////////////////////////////////////////////// START, 01
+
+ Store(0, c001)
+ Store(0, b001)
+ Store(0, r001)
+ Store(0, i001)
+ Store(nn01, n001)
+
+ While (n001) {
+
+ m0f7("n001")
+
+ Store(m0f5(p000, p001, ln01), Local0)
+ if (LEqual(Local0, 0x07)) {
+ // Set up - my children complited
+ m0f2(p000, CHL0, lc01)
+ Store(0, r001)
+ } else {
+ Store(1, r001)
+ }
+
+ Store(m0f5(p000, p001, lc01), Local0)
+
+ if (And(Local0, 0x02)) {
+ Store(0, c001)
+ } else {
+ Store(1, c001)
+ }
+ if (And(Local0, 0x04)) {
+ Store(0, b001)
+ } else {
+ Store(1, b001)
+ }
+
+ // Mix consecution of works (may nullify all)
+ Store(m0f9(r001, c001, b001, ii01), Local0)
+ Increment(ii01)
+ Store(0, r001)
+ Store(0, c001)
+ Store(0, b001)
+ if (And(Local0, 0x01)) {
+ Store(1, r001)
+ } elseif (And(Local0, 0x02)) {
+ Store(1, c001)
+ } elseif (And(Local0, 0x04)) {
+ Store(1, b001)
+ }
+
+ // Don't use these variables below
+ Decrement(n001)
+ Increment(i001)
+
+ ////////////////////////// Actions
+
+ if (r001) {
+ m0f7("r001")
+
+ ////////////////////////////////////////////////////////////// START, 02
+
+ Store(0, c002)
+ Store(0, b002)
+ Store(0, r002)
+ Store(0, i002)
+ Store(nn02, n002)
+
+ While (n002) {
+
+ m0f7("n002")
+
+ Store(m0f5(p000, p001, ln02), Local0)
+ if (LEqual(Local0, 0x07)) {
+ // Set up - my children complited
+ m0f2(p000, CHL0, lc02)
+ Store(0, r002)
+ } else {
+ Store(1, r002)
+ }
+
+ Store(m0f5(p000, p001, lc02), Local0)
+
+ if (And(Local0, 0x02)) {
+ Store(0, c002)
+ } else {
+ Store(1, c002)
+ }
+ if (And(Local0, 0x04)) {
+ Store(0, b002)
+ } else {
+ Store(1, b002)
+ }
+
+ // Mix consecution of works (may nullify all)
+ Store(m0f9(r002, c002, b002, ii02), Local0)
+ Increment(ii02)
+ Store(0, r002)
+ Store(0, c002)
+ Store(0, b002)
+ if (And(Local0, 0x01)) {
+ Store(1, r002)
+ } elseif (And(Local0, 0x02)) {
+ Store(1, c002)
+ } elseif (And(Local0, 0x04)) {
+ Store(1, b002)
+ }
+
+ // Don't use these variables below
+ Decrement(n002)
+ Increment(i002)
+
+ ////////////////////////// Actions
+
+ if (r002) {
+ m0f7("r002")
+
+ ////////////////////////////////////////////////////////////// START, 03
+
+ Store(0, c003)
+ Store(0, b003)
+ Store(0, r003)
+ Store(0, i003)
+ Store(nn03, n003)
+
+ While (n003) {
+
+ m0f7("n003")
+
+ Store(m0f5(p000, p001, ln03), Local0)
+ if (LEqual(Local0, 0x07)) {
+ // Set up - my children complited
+ m0f2(p000, CHL0, lc03)
+ Store(0, r003)
+ } else {
+ Store(1, r003)
+ }
+
+ Store(m0f5(p000, p001, lc03), Local0)
+
+ if (And(Local0, 0x02)) {
+ Store(0, c003)
+ } else {
+ Store(1, c003)
+ }
+ if (And(Local0, 0x04)) {
+ Store(0, b003)
+ } else {
+ Store(1, b003)
+ }
+
+ // Mix consecution of works (may nullify all)
+ Store(m0f9(r003, c003, b003, ii03), Local0)
+ Increment(ii03)
+ Store(0, r003)
+ Store(0, c003)
+ Store(0, b003)
+ if (And(Local0, 0x01)) {
+ Store(1, r003)
+ } elseif (And(Local0, 0x02)) {
+ Store(1, c003)
+ } elseif (And(Local0, 0x04)) {
+ Store(1, b003)
+ }
+
+ // Don't use these variables below
+ Decrement(n003)
+ Increment(i003)
+
+ ////////////////////////// Actions
+
+ if (r003) {
+ m0f7("r003")
+
+ ////////////////////////////////////////////////////////////// START, 04
+
+ Store(0, c004)
+ Store(0, b004)
+ Store(0, r004)
+ Store(0, i004)
+ Store(nn04, n004)
+
+ While (n004) {
+
+ m0f7("n004")
+
+ Store(m0f5(p000, p001, ln04), Local0)
+ if (LEqual(Local0, 0x07)) {
+ // Set up - my children complited
+ m0f2(p000, CHL0, lc04)
+ Store(0, r004)
+ } else {
+ Store(1, r004)
+ }
+
+ Store(m0f5(p000, p001, lc04), Local0)
+
+ if (And(Local0, 0x02)) {
+ Store(0, c004)
+ } else {
+ Store(1, c004)
+ }
+ if (And(Local0, 0x04)) {
+ Store(0, b004)
+ } else {
+ Store(1, b004)
+ }
+
+ // Mix consecution of works (may nullify all)
+ Store(m0f9(r004, c004, b004, ii04), Local0)
+ Increment(ii04)
+ Store(0, r004)
+ Store(0, c004)
+ Store(0, b004)
+ if (And(Local0, 0x01)) {
+ Store(1, r004)
+ } elseif (And(Local0, 0x02)) {
+ Store(1, c004)
+ } elseif (And(Local0, 0x04)) {
+ Store(1, b004)
+ }
+
+ // Don't use these variables below
+ Decrement(n004)
+ Increment(i004)
+
+ ////////////////////////// Actions
+
+ if (r004) {
+ m0f7("r004")
+
+ ////////////////////////////////////////////////////////////// START, 05
+
+ Store(0, c005)
+ Store(0, b005)
+ Store(0, r005)
+ Store(0, i005)
+ Store(nn05, n005)
+
+ While (n005) {
+
+ m0f7("n005")
+
+ Store(m0f5(p000, p001, ln05), Local0)
+ if (LEqual(Local0, 0x07)) {
+ // Set up - my children complited
+ m0f2(p000, CHL0, lc05)
+ Store(0, r005)
+ } else {
+ Store(1, r005)
+ }
+
+ Store(m0f5(p000, p001, lc05), Local0)
+
+ if (And(Local0, 0x02)) {
+ Store(0, c005)
+ } else {
+ Store(1, c005)
+ }
+ if (And(Local0, 0x04)) {
+ Store(0, b005)
+ } else {
+ Store(1, b005)
+ }
+
+ // Mix consecution of works (may nullify all)
+ Store(m0f9(r005, c005, b005, ii05), Local0)
+ Increment(ii05)
+ Store(0, r005)
+ Store(0, c005)
+ Store(0, b005)
+ if (And(Local0, 0x01)) {
+ Store(1, r005)
+ } elseif (And(Local0, 0x02)) {
+ Store(1, c005)
+ } elseif (And(Local0, 0x04)) {
+ Store(1, b005)
+ }
+
+ // Don't use these variables below
+ Decrement(n005)
+ Increment(i005)
+
+ ////////////////////////// Actions
+
+ if (r005) {
+ m0f7("r005")
+
+ ////////////////////////////////////////////////////////////// START, 06
+
+ Store(0, c006)
+ Store(0, b006)
+ Store(0, r006)
+ Store(0, i006)
+ Store(nn06, n006)
+
+ While (n006) {
+
+ m0f7("n006")
+
+ Store(m0f5(p000, p001, ln06), Local0)
+ if (LEqual(Local0, 0x07)) {
+ // Set up - my children complited
+ m0f2(p000, CHL0, lc06)
+ Store(0, r006)
+ } else {
+ Store(1, r006)
+ }
+
+ Store(m0f5(p000, p001, lc06), Local0)
+
+ if (And(Local0, 0x02)) {
+ Store(0, c006)
+ } else {
+ Store(1, c006)
+ }
+ if (And(Local0, 0x04)) {
+ Store(0, b006)
+ } else {
+ Store(1, b006)
+ }
+
+ // Mix consecution of works (may nullify all)
+ Store(m0f9(r006, c006, b006, ii06), Local0)
+ Increment(ii06)
+ Store(0, r006)
+ Store(0, c006)
+ Store(0, b006)
+ if (And(Local0, 0x01)) {
+ Store(1, r006)
+ } elseif (And(Local0, 0x02)) {
+ Store(1, c006)
+ } elseif (And(Local0, 0x04)) {
+ Store(1, b006)
+ }
+
+ // Don't use these variables below
+ Decrement(n006)
+ Increment(i006)
+
+ ////////////////////////// Actions
+
+ if (r006) {
+ m0f7("r006")
+
+ ////////////////////////////////////////////////////////////// START, 07
+
+ Store(0, c007)
+ Store(0, b007)
+ Store(0, r007)
+ Store(0, i007)
+ Store(nn07, n007)
+
+ While (n007) {
+
+ m0f7("n007")
+
+ Store(m0f5(p000, p001, ln07), Local0)
+ if (LEqual(Local0, 0x07)) {
+ // Set up - my children complited
+ m0f2(p000, CHL0, lc07)
+ Store(0, r007)
+ } else {
+ Store(1, r007)
+ }
+
+ Store(m0f5(p000, p001, lc07), Local0)
+
+ if (And(Local0, 0x02)) {
+ Store(0, c007)
+ } else {
+ Store(1, c007)
+ }
+ if (And(Local0, 0x04)) {
+ Store(0, b007)
+ } else {
+ Store(1, b007)
+ }
+
+ // Mix consecution of works (may nullify all)
+ Store(m0f9(r007, c007, b007, ii07), Local0)
+ Increment(ii07)
+ Store(0, r007)
+ Store(0, c007)
+ Store(0, b007)
+ if (And(Local0, 0x01)) {
+ Store(1, r007)
+ } elseif (And(Local0, 0x02)) {
+ Store(1, c007)
+ } elseif (And(Local0, 0x04)) {
+ Store(1, b007)
+ }
+
+ // Don't use these variables below
+ Decrement(n007)
+ Increment(i007)
+
+ ////////////////////////// Actions
+
+ if (r007) {
+ m0f7("r007")
+
+
+ ////////////////////////////////////////////////////////////// START, 08
+
+ Store(0, c008)
+ Store(0, b008)
+ Store(0, r008)
+ Store(0, i008)
+ Store(nn08, n008)
+
+ While (n008) {
+
+ m0f7("n008")
+
+ Store(m0f5(p000, p001, ln08), Local0)
+ if (LEqual(Local0, 0x07)) {
+ // Set up - my children complited
+ m0f2(p000, CHL0, lc08)
+ Store(0, r008)
+ } else {
+ Store(1, r008)
+ }
+
+ Store(m0f5(p000, p001, lc08), Local0)
+
+ if (And(Local0, 0x02)) {
+ Store(0, c008)
+ } else {
+ Store(1, c008)
+ }
+ if (And(Local0, 0x04)) {
+ Store(0, b008)
+ } else {
+ Store(1, b008)
+ }
+
+ // Mix consecution of works (may nullify all)
+ Store(m0f9(r008, c008, b008, ii08), Local0)
+ Increment(ii08)
+ Store(0, r008)
+ Store(0, c008)
+ Store(0, b008)
+ if (And(Local0, 0x01)) {
+ Store(1, r008)
+ } elseif (And(Local0, 0x02)) {
+ Store(1, c008)
+ } elseif (And(Local0, 0x04)) {
+ Store(1, b008)
+ }
+
+ // Don't use these variables below
+ Decrement(n008)
+ Increment(i008)
+
+ ////////////////////////// Actions
+
+ if (r008) {
+ m0f7("r008")
+
+ ////////////////////////////////////////////////////////////// START, 09
+
+ Store(0, c009)
+ Store(0, b009)
+ Store(0, r009)
+ Store(0, i009)
+ Store(nn09, n009)
+
+ While (n009) {
+
+ m0f7("n009")
+
+ Store(m0f5(p000, p001, ln09), Local0)
+ if (LEqual(Local0, 0x07)) {
+ // Set up - my children complited
+ m0f2(p000, CHL0, lc09)
+ Store(0, r009)
+ } else {
+ Store(1, r009)
+ }
+
+ Store(m0f5(p000, p001, lc09), Local0)
+
+ if (And(Local0, 0x02)) {
+ Store(0, c009)
+ } else {
+ Store(1, c009)
+ }
+ if (And(Local0, 0x04)) {
+ Store(0, b009)
+ } else {
+ Store(1, b009)
+ }
+
+ // Mix consecution of works (may nullify all)
+ Store(m0f9(r009, c009, b009, ii09), Local0)
+ Increment(ii09)
+ Store(0, r009)
+ Store(0, c009)
+ Store(0, b009)
+ if (And(Local0, 0x01)) {
+ Store(1, r009)
+ } elseif (And(Local0, 0x02)) {
+ Store(1, c009)
+ } elseif (And(Local0, 0x04)) {
+ Store(1, b009)
+ }
+
+ // Don't use these variables below
+ Decrement(n009)
+ Increment(i009)
+
+ ////////////////////////// Actions
+
+ if (r009) {
+ m0f7("r009")
+
+ ////////////////////////////////////////////////////////////// START, 10
+
+ Store(0, c010)
+ Store(0, b010)
+ Store(0, r010)
+ Store(0, i010)
+ Store(nn10, n010)
+
+ While (n010) {
+
+ m0f7("n010")
+
+ Store(m0f5(p000, p001, ln10), Local0)
+ if (LEqual(Local0, 0x07)) {
+ // Set up - my children complited
+ m0f2(p000, CHL0, lc10)
+ Store(0, r010)
+ } else {
+ Store(1, r010)
+ }
+
+ Store(m0f5(p000, p001, lc10), Local0)
+
+ if (And(Local0, 0x02)) {
+ Store(0, c010)
+ } else {
+ Store(1, c010)
+ }
+ if (And(Local0, 0x04)) {
+ Store(0, b010)
+ } else {
+ Store(1, b010)
+ }
+
+ // Mix consecution of works (may nullify all)
+ Store(m0f9(r010, c010, b010, ii10), Local0)
+ Increment(ii10)
+ Store(0, r010)
+ Store(0, c010)
+ Store(0, b010)
+ if (And(Local0, 0x01)) {
+ Store(1, r010)
+ } elseif (And(Local0, 0x02)) {
+ Store(1, c010)
+ } elseif (And(Local0, 0x04)) {
+ Store(1, b010)
+ }
+
+ // Don't use these variables below
+ Decrement(n010)
+ Increment(i010)
+
+ ////////////////////////// Actions
+
+ if (r010) {
+ m0f7("r010")
+
+ ////////////////////////////////////////////////////////////// START, 11
+
+ Store(0, c011)
+ Store(0, b011)
+ Store(0, r011)
+ Store(0, i011)
+ Store(nn11, n011)
+
+ While (n011) {
+
+ m0f7("n011")
+
+ Store(m0f5(p000, p001, ln11), Local0)
+ if (LEqual(Local0, 0x07)) {
+ // Set up - my children complited
+ m0f2(p000, CHL0, lc11)
+ Store(0, r011)
+ } else {
+ Store(1, r011)
+ }
+
+ Store(m0f5(p000, p001, lc11), Local0)
+
+ if (And(Local0, 0x02)) {
+ Store(0, c011)
+ } else {
+ Store(1, c011)
+ }
+ if (And(Local0, 0x04)) {
+ Store(0, b011)
+ } else {
+ Store(1, b011)
+ }
+
+ // Mix consecution of works (may nullify all)
+ Store(m0f9(r011, c011, b011, ii11), Local0)
+ Increment(ii11)
+ Store(0, r011)
+ Store(0, c011)
+ Store(0, b011)
+ if (And(Local0, 0x01)) {
+ Store(1, r011)
+ } elseif (And(Local0, 0x02)) {
+ Store(1, c011)
+ } elseif (And(Local0, 0x04)) {
+ Store(1, b011)
+ }
+
+ // Don't use these variables below
+ Decrement(n011)
+ Increment(i011)
+
+ ////////////////////////// Actions
+
+ if (r011) {
+ m0f7("r011")
+
+ ////////////////////////////////////////////////////////////// START, 12
+
+ Store(0, c012)
+ Store(0, b012)
+ Store(0, r012)
+ Store(0, i012)
+ Store(nn12, n012)
+
+ While (n012) {
+
+ m0f7("n012")
+
+ Store(m0f5(p000, p001, ln12), Local0)
+ if (LEqual(Local0, 0x07)) {
+ // Set up - my children complited
+ m0f2(p000, CHL0, lc12)
+ Store(0, r012)
+ } else {
+ Store(1, r012)
+ }
+
+ Store(m0f5(p000, p001, lc12), Local0)
+
+ if (And(Local0, 0x02)) {
+ Store(0, c012)
+ } else {
+ Store(1, c012)
+ }
+ if (And(Local0, 0x04)) {
+ Store(0, b012)
+ } else {
+ Store(1, b012)
+ }
+
+ // Mix consecution of works (may nullify all)
+ Store(m0f9(r012, c012, b012, ii12), Local0)
+ Increment(ii12)
+ Store(0, r012)
+ Store(0, c012)
+ Store(0, b012)
+ if (And(Local0, 0x01)) {
+ Store(1, r012)
+ } elseif (And(Local0, 0x02)) {
+ Store(1, c012)
+ } elseif (And(Local0, 0x04)) {
+ Store(1, b012)
+ }
+
+ // Don't use these variables below
+ Decrement(n012)
+ Increment(i012)
+
+ ////////////////////////// Actions
+
+ if (r012) {
+ m0f7("r012")
+
+ ////////////////////////////////////////////////////////////// START, 13
+
+ Store(0, c013)
+ Store(0, b013)
+ Store(0, r013)
+ Store(0, i013)
+ Store(nn13, n013)
+
+ While (n013) {
+
+ m0f7("n013")
+
+ Store(m0f5(p000, p001, ln13), Local0)
+ if (LEqual(Local0, 0x07)) {
+ // Set up - my children complited
+ m0f2(p000, CHL0, lc13)
+ Store(0, r013)
+ } else {
+ Store(1, r013)
+ }
+
+ Store(m0f5(p000, p001, lc13), Local0)
+
+ if (And(Local0, 0x02)) {
+ Store(0, c013)
+ } else {
+ Store(1, c013)
+ }
+ if (And(Local0, 0x04)) {
+ Store(0, b013)
+ } else {
+ Store(1, b013)
+ }
+
+ // Mix consecution of works (may nullify all)
+ Store(m0f9(r013, c013, b013, ii13), Local0)
+ Increment(ii13)
+ Store(0, r013)
+ Store(0, c013)
+ Store(0, b013)
+ if (And(Local0, 0x01)) {
+ Store(1, r013)
+ } elseif (And(Local0, 0x02)) {
+ Store(1, c013)
+ } elseif (And(Local0, 0x04)) {
+ Store(1, b013)
+ }
+
+ // Don't use these variables below
+ Decrement(n013)
+ Increment(i013)
+
+ ////////////////////////// Actions
+
+ if (r013) {
+ m0f7("r013")
+
+ ////////////////////////////////////////////////////////////// START, 14
+
+ Store(0, c014)
+ Store(0, b014)
+ Store(0, r014)
+ Store(0, i014)
+ Store(nn14, n014)
+
+ While (n014) {
+
+ m0f7("n014")
+
+ Store(m0f5(p000, p001, ln14), Local0)
+ if (LEqual(Local0, 0x07)) {
+ // Set up - my children complited
+ m0f2(p000, CHL0, lc14)
+ Store(0, r014)
+ } else {
+ Store(1, r014)
+ }
+
+ Store(m0f5(p000, p001, lc14), Local0)
+
+ if (And(Local0, 0x02)) {
+ Store(0, c014)
+ } else {
+ Store(1, c014)
+ }
+ if (And(Local0, 0x04)) {
+ Store(0, b014)
+ } else {
+ Store(1, b014)
+ }
+
+ // Mix consecution of works (may nullify all)
+ Store(m0f9(r014, c014, b014, ii14), Local0)
+ Increment(ii14)
+ Store(0, r014)
+ Store(0, c014)
+ Store(0, b014)
+ if (And(Local0, 0x01)) {
+ Store(1, r014)
+ } elseif (And(Local0, 0x02)) {
+ Store(1, c014)
+ } elseif (And(Local0, 0x04)) {
+ Store(1, b014)
+ }
+
+ // Don't use these variables below
+ Decrement(n014)
+ Increment(i014)
+
+ ////////////////////////// Actions
+
+ if (r014) {
+ m0f7("r014")
+
+ ////////////////////////////////////////////////////////////// START, 15
+
+ Store(0, c015)
+ Store(0, b015)
+ Store(0, r015)
+ Store(0, i015)
+ Store(nn15, n015)
+
+ While (n015) {
+
+ m0f7("n015")
+
+ Store(m0f5(p000, p001, ln15), Local0)
+ if (LEqual(Local0, 0x07)) {
+ // Set up - my children complited
+ m0f2(p000, CHL0, lc15)
+ Store(0, r015)
+ } else {
+ Store(1, r015)
+ }
+
+ Store(m0f5(p000, p001, lc15), Local0)
+
+ if (And(Local0, 0x02)) {
+ Store(0, c015)
+ } else {
+ Store(1, c015)
+ }
+ if (And(Local0, 0x04)) {
+ Store(0, b015)
+ } else {
+ Store(1, b015)
+ }
+
+ // Mix consecution of works (may nullify all)
+ Store(m0f9(r015, c015, b015, ii15), Local0)
+ Increment(ii15)
+ Store(0, r015)
+ Store(0, c015)
+ Store(0, b015)
+ if (And(Local0, 0x01)) {
+ Store(1, r015)
+ } elseif (And(Local0, 0x02)) {
+ Store(1, c015)
+ } elseif (And(Local0, 0x04)) {
+ Store(1, b015)
+ }
+
+ // Don't use these variables below
+ Decrement(n015)
+ Increment(i015)
+
+ ////////////////////////// Actions
+
+ if (r015) {
+ m0f7("r015")
+
+ ////////////////////////////////////////////////////////////// START, 16
+
+ Store(0, c016)
+ Store(0, b016)
+ Store(0, r016)
+ Store(0, i016)
+ Store(nn16, n016)
+
+ While (n016) {
+
+ m0f7("n016")
+
+ Store(m0f5(p000, p001, ln16), Local0)
+ if (LEqual(Local0, 0x07)) {
+ // Set up - my children complited
+ m0f2(p000, CHL0, lc16)
+ Store(0, r016)
+ } else {
+ Store(1, r016)
+ }
+
+ Store(m0f5(p000, p001, lc16), Local0)
+
+ if (And(Local0, 0x02)) {
+ Store(0, c016)
+ } else {
+ Store(1, c016)
+ }
+ if (And(Local0, 0x04)) {
+ Store(0, b016)
+ } else {
+ Store(1, b016)
+ }
+
+ // Mix consecution of works (may nullify all)
+ Store(m0f9(r016, c016, b016, ii16), Local0)
+ Increment(ii16)
+ Store(0, r016)
+ Store(0, c016)
+ Store(0, b016)
+ if (And(Local0, 0x01)) {
+ Store(1, r016)
+ } elseif (And(Local0, 0x02)) {
+ Store(1, c016)
+ } elseif (And(Local0, 0x04)) {
+ Store(1, b016)
+ }
+
+ // Don't use these variables below
+ Decrement(n016)
+ Increment(i016)
+
+ ////////////////////////// Actions
+
+ if (r016) {
+ m0f7("r016")
+
+ ////////////////////////////////////////////////////////////// START, 17
+
+ Store(0, c017)
+ Store(0, b017)
+ Store(0, r017)
+ Store(0, i017)
+ Store(nn17, n017)
+
+ While (n017) {
+
+ m0f7("n017")
+
+ Store(m0f5(p000, p001, ln17), Local0)
+ if (LEqual(Local0, 0x07)) {
+ // Set up - my children complited
+ m0f2(p000, CHL0, lc17)
+ Store(0, r017)
+ } else {
+ Store(1, r017)
+ }
+
+ Store(m0f5(p000, p001, lc17), Local0)
+
+ if (And(Local0, 0x02)) {
+ Store(0, c017)
+ } else {
+ Store(1, c017)
+ }
+ if (And(Local0, 0x04)) {
+ Store(0, b017)
+ } else {
+ Store(1, b017)
+ }
+
+ // Mix consecution of works (may nullify all)
+ Store(m0f9(r017, c017, b017, ii17), Local0)
+ Increment(ii17)
+ Store(0, r017)
+ Store(0, c017)
+ Store(0, b017)
+ if (And(Local0, 0x01)) {
+ Store(1, r017)
+ } elseif (And(Local0, 0x02)) {
+ Store(1, c017)
+ } elseif (And(Local0, 0x04)) {
+ Store(1, b017)
+ }
+
+ // Don't use these variables below
+ Decrement(n017)
+ Increment(i017)
+
+ ////////////////////////// Actions
+
+ if (r017) {
+ m0f7("r017")
+
+ ////////////////////////////////////////////////////////////// START, 18
+
+ Store(0, c018)
+ Store(0, b018)
+ Store(0, r018)
+ Store(0, i018)
+ Store(nn18, n018)
+
+ While (n018) {
+
+ m0f7("n018")
+
+ Store(m0f5(p000, p001, ln18), Local0)
+ if (LEqual(Local0, 0x07)) {
+ // Set up - my children complited
+ m0f2(p000, CHL0, lc18)
+ Store(0, r018)
+ } else {
+ Store(1, r018)
+ }
+
+ Store(m0f5(p000, p001, lc18), Local0)
+
+ if (And(Local0, 0x02)) {
+ Store(0, c018)
+ } else {
+ Store(1, c018)
+ }
+ if (And(Local0, 0x04)) {
+ Store(0, b018)
+ } else {
+ Store(1, b018)
+ }
+
+ // Mix consecution of works (may nullify all)
+ Store(m0f9(r018, c018, b018, ii18), Local0)
+ Increment(ii18)
+ Store(0, r018)
+ Store(0, c018)
+ Store(0, b018)
+ if (And(Local0, 0x01)) {
+ Store(1, r018)
+ } elseif (And(Local0, 0x02)) {
+ Store(1, c018)
+ } elseif (And(Local0, 0x04)) {
+ Store(1, b018)
+ }
+
+ // Don't use these variables below
+ Decrement(n018)
+ Increment(i018)
+
+ ////////////////////////// Actions
+
+ if (r018) {
+ m0f7("r018")
+
+ ////////////////////////////////////////////////////////////// START, 19
+
+ Store(0, c019)
+ Store(0, b019)
+ Store(0, r019)
+ Store(0, i019)
+ Store(nn19, n019)
+
+ While (n019) {
+
+ m0f7("n019")
+
+ Store(m0f5(p000, p001, ln19), Local0)
+ if (LEqual(Local0, 0x07)) {
+ // Set up - my children complited
+ m0f2(p000, CHL0, lc19)
+ Store(0, r019)
+ } else {
+ Store(1, r019)
+ }
+
+ Store(m0f5(p000, p001, lc19), Local0)
+
+ if (And(Local0, 0x02)) {
+ Store(0, c019)
+ } else {
+ Store(1, c019)
+ }
+ if (And(Local0, 0x04)) {
+ Store(0, b019)
+ } else {
+ Store(1, b019)
+ }
+
+ // Mix consecution of works (may nullify all)
+ Store(m0f9(r019, c019, b019, ii19), Local0)
+ Increment(ii19)
+ Store(0, r019)
+ Store(0, c019)
+ Store(0, b019)
+ if (And(Local0, 0x01)) {
+ Store(1, r019)
+ } elseif (And(Local0, 0x02)) {
+ Store(1, c019)
+ } elseif (And(Local0, 0x04)) {
+ Store(1, b019)
+ }
+
+ // Don't use these variables below
+ Decrement(n019)
+ Increment(i019)
+
+ ////////////////////////// Actions
+
+ if (r019) {
+ m0f7("r019")
+
+ ////////////////////////////////////////////////////////////// START, 20
+
+ Store(0, c020)
+ Store(0, b020)
+ Store(0, r020)
+ Store(0, i020)
+ Store(nn20, n020)
+
+ While (n020) {
+
+ m0f7("n020")
+
+ Store(m0f5(p000, p001, ln20), Local0)
+ if (LEqual(Local0, 0x07)) {
+ // Set up - my children complited
+ m0f2(p000, CHL0, lc20)
+ Store(0, r020)
+ } else {
+ Store(1, r020)
+ }
+
+ Store(m0f5(p000, p001, lc20), Local0)
+
+ if (And(Local0, 0x02)) {
+ Store(0, c020)
+ } else {
+ Store(1, c020)
+ }
+ if (And(Local0, 0x04)) {
+ Store(0, b020)
+ } else {
+ Store(1, b020)
+ }
+
+ // Mix consecution of works (may nullify all)
+ Store(m0f9(r020, c020, b020, ii20), Local0)
+ Increment(ii20)
+ Store(0, r020)
+ Store(0, c020)
+ Store(0, b020)
+ if (And(Local0, 0x01)) {
+ Store(1, r020)
+ } elseif (And(Local0, 0x02)) {
+ Store(1, c020)
+ } elseif (And(Local0, 0x04)) {
+ Store(1, b020)
+ }
+
+ // Don't use these variables below
+ Decrement(n020)
+ Increment(i020)
+
+ ////////////////////////// Actions
+
+ if (r020) {
+ m0f7("r020")
+
+ ////////////////////////////////////////////////////////////// START, 21
+
+ Store(0, c021)
+ Store(0, b021)
+ Store(0, r021)
+ Store(0, i021)
+ Store(nn21, n021)
+
+ While (n021) {
+
+ m0f7("n021")
+
+ Store(m0f5(p000, p001, ln21), Local0)
+ if (LEqual(Local0, 0x07)) {
+ // Set up - my children complited
+ m0f2(p000, CHL0, lc21)
+ Store(0, r021)
+ } else {
+ Store(1, r021)
+ }
+
+ Store(m0f5(p000, p001, lc21), Local0)
+
+ if (And(Local0, 0x02)) {
+ Store(0, c021)
+ } else {
+ Store(1, c021)
+ }
+ if (And(Local0, 0x04)) {
+ Store(0, b021)
+ } else {
+ Store(1, b021)
+ }
+
+ // Mix consecution of works (may nullify all)
+ Store(m0f9(r021, c021, b021, ii21), Local0)
+ Increment(ii21)
+ Store(0, r021)
+ Store(0, c021)
+ Store(0, b021)
+ if (And(Local0, 0x01)) {
+ Store(1, r021)
+ } elseif (And(Local0, 0x02)) {
+ Store(1, c021)
+ } elseif (And(Local0, 0x04)) {
+ Store(1, b021)
+ }
+
+ // Don't use these variables below
+ Decrement(n021)
+ Increment(i021)
+
+ ////////////////////////// Actions
+
+ if (r021) {
+ m0f7("r021")
+
+ ////////////////////////////////////////////////////////////// START, 22
+
+ Store(0, c022)
+ Store(0, b022)
+ Store(0, r022)
+ Store(0, i022)
+ Store(nn22, n022)
+
+ While (n022) {
+
+ m0f7("n022")
+
+ Store(m0f5(p000, p001, ln22), Local0)
+ if (LEqual(Local0, 0x07)) {
+ // Set up - my children complited
+ m0f2(p000, CHL0, lc22)
+ Store(0, r022)
+ } else {
+ Store(1, r022)
+ }
+
+ Store(m0f5(p000, p001, lc22), Local0)
+
+ if (And(Local0, 0x02)) {
+ Store(0, c022)
+ } else {
+ Store(1, c022)
+ }
+ if (And(Local0, 0x04)) {
+ Store(0, b022)
+ } else {
+ Store(1, b022)
+ }
+
+ // Mix consecution of works (may nullify all)
+ Store(m0f9(r022, c022, b022, ii22), Local0)
+ Increment(ii22)
+ Store(0, r022)
+ Store(0, c022)
+ Store(0, b022)
+ if (And(Local0, 0x01)) {
+ Store(1, r022)
+ } elseif (And(Local0, 0x02)) {
+ Store(1, c022)
+ } elseif (And(Local0, 0x04)) {
+ Store(1, b022)
+ }
+
+ // Don't use these variables below
+ Decrement(n022)
+ Increment(i022)
+
+ ////////////////////////// Actions
+
+ if (r022) {
+ m0f7("r022")
+
+ ////////////////////////////////////////////////////////////// START, 23
+
+ Store(0, c023)
+ Store(0, b023)
+ Store(0, r023)
+ Store(0, i023)
+ Store(nn23, n023)
+
+ While (n023) {
+
+ m0f7("n023")
+
+ Store(m0f5(p000, p001, ln23), Local0)
+ if (LEqual(Local0, 0x07)) {
+ // Set up - my children complited
+ m0f2(p000, CHL0, lc23)
+ Store(0, r023)
+ } else {
+ Store(1, r023)
+ }
+
+ Store(m0f5(p000, p001, lc23), Local0)
+
+ if (And(Local0, 0x02)) {
+ Store(0, c023)
+ } else {
+ Store(1, c023)
+ }
+ if (And(Local0, 0x04)) {
+ Store(0, b023)
+ } else {
+ Store(1, b023)
+ }
+
+ // Mix consecution of works (may nullify all)
+ Store(m0f9(r023, c023, b023, ii23), Local0)
+ Increment(ii23)
+ Store(0, r023)
+ Store(0, c023)
+ Store(0, b023)
+ if (And(Local0, 0x01)) {
+ Store(1, r023)
+ } elseif (And(Local0, 0x02)) {
+ Store(1, c023)
+ } elseif (And(Local0, 0x04)) {
+ Store(1, b023)
+ }
+
+ // Don't use these variables below
+ Decrement(n023)
+ Increment(i023)
+
+ ////////////////////////// Actions
+
+ if (r023) {
+ m0f7("r023")
+
+ ////////////////////////////////////////////////////////////// START, 24
+
+ Store(0, c024)
+ Store(0, b024)
+ Store(0, r024)
+ Store(0, i024)
+ Store(nn24, n024)
+
+ While (n024) {
+
+ m0f7("n024")
+
+ Store(m0f5(p000, p001, ln24), Local0)
+ if (LEqual(Local0, 0x07)) {
+ // Set up - my children complited
+ m0f2(p000, CHL0, lc24)
+ Store(0, r024)
+ } else {
+ Store(1, r024)
+ }
+
+ Store(m0f5(p000, p001, lc24), Local0)
+
+ if (And(Local0, 0x02)) {
+ Store(0, c024)
+ } else {
+ Store(1, c024)
+ }
+ if (And(Local0, 0x04)) {
+ Store(0, b024)
+ } else {
+ Store(1, b024)
+ }
+
+ // Mix consecution of works (may nullify all)
+ Store(m0f9(r024, c024, b024, ii24), Local0)
+ Increment(ii24)
+ Store(0, r024)
+ Store(0, c024)
+ Store(0, b024)
+ if (And(Local0, 0x01)) {
+ Store(1, r024)
+ } elseif (And(Local0, 0x02)) {
+ Store(1, c024)
+ } elseif (And(Local0, 0x04)) {
+ Store(1, b024)
+ }
+
+ // Don't use these variables below
+ Decrement(n024)
+ Increment(i024)
+
+ ////////////////////////// Actions
+
+ if (r024) {
+ m0f7("r024")
+
+ ////////////////////////////////////////////////////////////// START, 25
+
+ Store(0, c025)
+ Store(0, b025)
+ Store(0, r025)
+ Store(0, i025)
+ Store(nn25, n025)
+
+ While (n025) {
+
+ m0f7("n025")
+
+ Store(m0f5(p000, p001, ln25), Local0)
+ if (LEqual(Local0, 0x07)) {
+ // Set up - my children complited
+ m0f2(p000, CHL0, lc25)
+ Store(0, r025)
+ } else {
+ Store(1, r025)
+ }
+
+ Store(m0f5(p000, p001, lc25), Local0)
+
+ if (And(Local0, 0x02)) {
+ Store(0, c025)
+ } else {
+ Store(1, c025)
+ }
+ if (And(Local0, 0x04)) {
+ Store(0, b025)
+ } else {
+ Store(1, b025)
+ }
+
+ // Mix consecution of works (may nullify all)
+ Store(m0f9(r025, c025, b025, ii25), Local0)
+ Increment(ii25)
+ Store(0, r025)
+ Store(0, c025)
+ Store(0, b025)
+ if (And(Local0, 0x01)) {
+ Store(1, r025)
+ } elseif (And(Local0, 0x02)) {
+ Store(1, c025)
+ } elseif (And(Local0, 0x04)) {
+ Store(1, b025)
+ }
+
+ // Don't use these variables below
+ Decrement(n025)
+ Increment(i025)
+
+ ////////////////////////// Actions
+
+ if (r025) {
+ m0f7("r025")
+
+ ////////////////////////////////////////////////////////////// START, 26
+
+ Store(0, c026)
+ Store(0, b026)
+ Store(0, r026)
+ Store(0, i026)
+ Store(nn26, n026)
+
+ While (n026) {
+
+ m0f7("n026")
+
+ Store(m0f5(p000, p001, ln26), Local0)
+ if (LEqual(Local0, 0x07)) {
+ // Set up - my children complited
+ m0f2(p000, CHL0, lc26)
+ Store(0, r026)
+ } else {
+ Store(1, r026)
+ }
+
+ Store(m0f5(p000, p001, lc26), Local0)
+
+ if (And(Local0, 0x02)) {
+ Store(0, c026)
+ } else {
+ Store(1, c026)
+ }
+ if (And(Local0, 0x04)) {
+ Store(0, b026)
+ } else {
+ Store(1, b026)
+ }
+
+ // Mix consecution of works (may nullify all)
+ Store(m0f9(r026, c026, b026, ii26), Local0)
+ Increment(ii26)
+ Store(0, r026)
+ Store(0, c026)
+ Store(0, b026)
+ if (And(Local0, 0x01)) {
+ Store(1, r026)
+ } elseif (And(Local0, 0x02)) {
+ Store(1, c026)
+ } elseif (And(Local0, 0x04)) {
+ Store(1, b026)
+ }
+
+ // Don't use these variables below
+ Decrement(n026)
+ Increment(i026)
+
+ ////////////////////////// Actions
+
+ if (r026) {
+ m0f7("r026")
+
+ ////////////////////////////////////////////////////////////// START, 27
+
+ Store(0, c027)
+ Store(0, b027)
+ Store(0, r027)
+ Store(0, i027)
+ Store(nn27, n027)
+
+ While (n027) {
+
+ m0f7("n027")
+
+ Store(m0f5(p000, p001, ln27), Local0)
+ if (LEqual(Local0, 0x07)) {
+ // Set up - my children complited
+ m0f2(p000, CHL0, lc27)
+ Store(0, r027)
+ } else {
+ Store(1, r027)
+ }
+
+ Store(m0f5(p000, p001, lc27), Local0)
+
+ if (And(Local0, 0x02)) {
+ Store(0, c027)
+ } else {
+ Store(1, c027)
+ }
+ if (And(Local0, 0x04)) {
+ Store(0, b027)
+ } else {
+ Store(1, b027)
+ }
+
+ // Mix consecution of works (may nullify all)
+ Store(m0f9(r027, c027, b027, ii27), Local0)
+ Increment(ii27)
+ Store(0, r027)
+ Store(0, c027)
+ Store(0, b027)
+ if (And(Local0, 0x01)) {
+ Store(1, r027)
+ } elseif (And(Local0, 0x02)) {
+ Store(1, c027)
+ } elseif (And(Local0, 0x04)) {
+ Store(1, b027)
+ }
+
+ // Don't use these variables below
+ Decrement(n027)
+ Increment(i027)
+
+ ////////////////////////// Actions
+
+ if (r027) {
+ m0f7("r027")
+
+ ////////////////////////////////////////////////////////////// START, 28
+
+ Store(0, c028)
+ Store(0, b028)
+ Store(0, r028)
+ Store(0, i028)
+ Store(nn28, n028)
+
+ While (n028) {
+
+ m0f7("n028")
+
+ Store(m0f5(p000, p001, ln28), Local0)
+ if (LEqual(Local0, 0x07)) {
+ // Set up - my children complited
+ m0f2(p000, CHL0, lc28)
+ Store(0, r028)
+ } else {
+ Store(1, r028)
+ }
+
+ Store(m0f5(p000, p001, lc28), Local0)
+
+ if (And(Local0, 0x02)) {
+ Store(0, c028)
+ } else {
+ Store(1, c028)
+ }
+ if (And(Local0, 0x04)) {
+ Store(0, b028)
+ } else {
+ Store(1, b028)
+ }
+
+ // Mix consecution of works (may nullify all)
+ Store(m0f9(r028, c028, b028, ii28), Local0)
+ Increment(ii28)
+ Store(0, r028)
+ Store(0, c028)
+ Store(0, b028)
+ if (And(Local0, 0x01)) {
+ Store(1, r028)
+ } elseif (And(Local0, 0x02)) {
+ Store(1, c028)
+ } elseif (And(Local0, 0x04)) {
+ Store(1, b028)
+ }
+
+ // Don't use these variables below
+ Decrement(n028)
+ Increment(i028)
+
+ ////////////////////////// Actions
+
+ if (r028) {
+ m0f7("r028")
+
+ ////////////////////////////////////////////////////////////// START, 29
+
+ Store(0, c029)
+ Store(0, b029)
+ Store(0, r029)
+ Store(0, i029)
+ Store(nn29, n029)
+
+ While (n029) {
+
+ m0f7("n029")
+
+ Store(m0f5(p000, p001, ln29), Local0)
+ if (LEqual(Local0, 0x07)) {
+ // Set up - my children complited
+ m0f2(p000, CHL0, lc29)
+ Store(0, r029)
+ } else {
+ Store(1, r029)
+ }
+
+ Store(m0f5(p000, p001, lc29), Local0)
+
+ if (And(Local0, 0x02)) {
+ Store(0, c029)
+ } else {
+ Store(1, c029)
+ }
+ if (And(Local0, 0x04)) {
+ Store(0, b029)
+ } else {
+ Store(1, b029)
+ }
+
+ // Mix consecution of works (may nullify all)
+ Store(m0f9(r029, c029, b029, ii29), Local0)
+ Increment(ii29)
+ Store(0, r029)
+ Store(0, c029)
+ Store(0, b029)
+ if (And(Local0, 0x01)) {
+ Store(1, r029)
+ } elseif (And(Local0, 0x02)) {
+ Store(1, c029)
+ } elseif (And(Local0, 0x04)) {
+ Store(1, b029)
+ }
+
+ // Don't use these variables below
+ Decrement(n029)
+ Increment(i029)
+
+ ////////////////////////// Actions
+
+ if (r029) {
+ m0f7("r029")
+
+ ////////////////////////////////////////////////////////////// START, 30
+
+ Store(0, c030)
+ Store(0, b030)
+ Store(0, r030)
+ Store(0, i030)
+ Store(nn30, n030)
+
+ While (n030) {
+
+ m0f7("n030")
+
+ Store(m0f5(p000, p001, ln30), Local0)
+ if (LEqual(Local0, 0x07)) {
+ // Set up - my children complited
+ m0f2(p000, CHL0, lc30)
+ Store(0, r030)
+ } else {
+ Store(1, r030)
+ }
+
+ Store(m0f5(p000, p001, lc30), Local0)
+
+ if (And(Local0, 0x02)) {
+ Store(0, c030)
+ } else {
+ Store(1, c030)
+ }
+ if (And(Local0, 0x04)) {
+ Store(0, b030)
+ } else {
+ Store(1, b030)
+ }
+
+ // Mix consecution of works (may nullify all)
+ Store(m0f9(r030, c030, b030, ii30), Local0)
+ Increment(ii30)
+ Store(0, r030)
+ Store(0, c030)
+ Store(0, b030)
+ if (And(Local0, 0x01)) {
+ Store(1, r030)
+ } elseif (And(Local0, 0x02)) {
+ Store(1, c030)
+ } elseif (And(Local0, 0x04)) {
+ Store(1, b030)
+ }
+
+ // Don't use these variables below
+ Decrement(n030)
+ Increment(i030)
+
+ ////////////////////////// Actions
+
+ if (r030) {
+ m0f7("r030")
+
+ ////////////////////////////////////////////////////////////// START, 31
+
+ Store(0, c031)
+ Store(0, b031)
+ Store(0, r031)
+ Store(0, i031)
+ Store(nn31, n031)
+
+ While (n031) {
+
+ m0f7("n031")
+
+ Store(m0f5(p000, p001, ln31), Local0)
+ if (LEqual(Local0, 0x07)) {
+ // Set up - my children complited
+ m0f2(p000, CHL0, lc31)
+ Store(0, r031)
+ } else {
+ Store(1, r031)
+ }
+
+ Store(m0f5(p000, p001, lc31), Local0)
+
+ if (And(Local0, 0x02)) {
+ Store(0, c031)
+ } else {
+ Store(1, c031)
+ }
+ if (And(Local0, 0x04)) {
+ Store(0, b031)
+ } else {
+ Store(1, b031)
+ }
+
+ // Mix consecution of works (may nullify all)
+ Store(m0f9(r031, c031, b031, ii31), Local0)
+ Increment(ii31)
+ Store(0, r031)
+ Store(0, c031)
+ Store(0, b031)
+ if (And(Local0, 0x01)) {
+ Store(1, r031)
+ } elseif (And(Local0, 0x02)) {
+ Store(1, c031)
+ } elseif (And(Local0, 0x04)) {
+ Store(1, b031)
+ }
+
+ // Don't use these variables below
+ Decrement(n031)
+ Increment(i031)
+
+ ////////////////////////// Actions
+
+ if (r031) {
+ m0f7("r031")
+
+ ////////////////////////////////////////////////////////////// START, 32
+
+ Store(0, c032)
+ Store(0, b032)
+ Store(0, r032)
+ Store(0, i032)
+ Store(nn32, n032)
+
+ While (n032) {
+
+ m0f7("n032")
+
+ Store(m0f5(p000, p001, ln32), Local0)
+ if (LEqual(Local0, 0x07)) {
+ // Set up - my children complited
+ m0f2(p000, CHL0, lc32)
+ Store(0, r032)
+ } else {
+ Store(1, r032)
+ }
+
+ Store(m0f5(p000, p001, lc32), Local0)
+
+ if (And(Local0, 0x02)) {
+ Store(0, c032)
+ } else {
+ Store(1, c032)
+ }
+ if (And(Local0, 0x04)) {
+ Store(0, b032)
+ } else {
+ Store(1, b032)
+ }
+
+ // Mix consecution of works (may nullify all)
+ Store(m0f9(r032, c032, b032, ii32), Local0)
+ Increment(ii32)
+ Store(0, r032)
+ Store(0, c032)
+ Store(0, b032)
+ if (And(Local0, 0x01)) {
+ Store(1, r032)
+ } elseif (And(Local0, 0x02)) {
+ Store(1, c032)
+ } elseif (And(Local0, 0x04)) {
+ Store(1, b032)
+ }
+
+ // Don't use these variables below
+ Decrement(n032)
+ Increment(i032)
+
+ ////////////////////////// Actions
+
+ if (r032) {
+ m0f7("r032")
+
+ ////////////////////////////////////////////////////////////// START, 33
+
+ Store(0, c033)
+ Store(0, b033)
+ Store(0, r033)
+ Store(0, i033)
+ Store(nn33, n033)
+
+ While (n033) {
+
+ m0f7("n033")
+
+ Store(m0f5(p000, p001, ln33), Local0)
+ if (LEqual(Local0, 0x07)) {
+ // Set up - my children complited
+ m0f2(p000, CHL0, lc33)
+ Store(0, r033)
+ } else {
+ Store(1, r033)
+ }
+
+ Store(m0f5(p000, p001, lc33), Local0)
+
+ if (And(Local0, 0x02)) {
+ Store(0, c033)
+ } else {
+ Store(1, c033)
+ }
+ if (And(Local0, 0x04)) {
+ Store(0, b033)
+ } else {
+ Store(1, b033)
+ }
+
+ // Mix consecution of works (may nullify all)
+ Store(m0f9(r033, c033, b033, ii33), Local0)
+ Increment(ii33)
+ Store(0, r033)
+ Store(0, c033)
+ Store(0, b033)
+ if (And(Local0, 0x01)) {
+ Store(1, r033)
+ } elseif (And(Local0, 0x02)) {
+ Store(1, c033)
+ } elseif (And(Local0, 0x04)) {
+ Store(1, b033)
+ }
+
+ // Don't use these variables below
+ Decrement(n033)
+ Increment(i033)
+
+ ////////////////////////// Actions
+
+ if (r033) {
+ m0f7("r033")
+
+ ////////////////////////////////////////////////////////////// START, 34
+
+ Store(0, c034)
+ Store(0, b034)
+ Store(0, r034)
+ Store(0, i034)
+ Store(nn34, n034)
+
+ While (n034) {
+
+ m0f7("n034")
+
+ Store(m0f5(p000, p001, ln34), Local0)
+ if (LEqual(Local0, 0x07)) {
+ // Set up - my children complited
+ m0f2(p000, CHL0, lc34)
+ Store(0, r034)
+ } else {
+ Store(1, r034)
+ }
+
+ Store(m0f5(p000, p001, lc34), Local0)
+
+ if (And(Local0, 0x02)) {
+ Store(0, c034)
+ } else {
+ Store(1, c034)
+ }
+ if (And(Local0, 0x04)) {
+ Store(0, b034)
+ } else {
+ Store(1, b034)
+ }
+
+ // Mix consecution of works (may nullify all)
+ Store(m0f9(r034, c034, b034, ii34), Local0)
+ Increment(ii34)
+ Store(0, r034)
+ Store(0, c034)
+ Store(0, b034)
+ if (And(Local0, 0x01)) {
+ Store(1, r034)
+ } elseif (And(Local0, 0x02)) {
+ Store(1, c034)
+ } elseif (And(Local0, 0x04)) {
+ Store(1, b034)
+ }
+
+ // Don't use these variables below
+ Decrement(n034)
+ Increment(i034)
+
+ ////////////////////////// Actions
+
+ if (r034) {
+ m0f7("r034")
+
+ ////////////////////////////////////////////////////////////// START, 35
+
+ Store(0, c035)
+ Store(0, b035)
+ Store(0, r035)
+ Store(0, i035)
+ Store(nn35, n035)
+
+ While (n035) {
+
+ m0f7("n035")
+
+ Store(m0f5(p000, p001, ln35), Local0)
+ if (LEqual(Local0, 0x07)) {
+ // Set up - my children complited
+ m0f2(p000, CHL0, lc35)
+ Store(0, r035)
+ } else {
+ Store(1, r035)
+ }
+
+ Store(m0f5(p000, p001, lc35), Local0)
+
+ if (And(Local0, 0x02)) {
+ Store(0, c035)
+ } else {
+ Store(1, c035)
+ }
+ if (And(Local0, 0x04)) {
+ Store(0, b035)
+ } else {
+ Store(1, b035)
+ }
+
+ // Mix consecution of works (may nullify all)
+ Store(m0f9(r035, c035, b035, ii35), Local0)
+ Increment(ii35)
+ Store(0, r035)
+ Store(0, c035)
+ Store(0, b035)
+ if (And(Local0, 0x01)) {
+ Store(1, r035)
+ } elseif (And(Local0, 0x02)) {
+ Store(1, c035)
+ } elseif (And(Local0, 0x04)) {
+ Store(1, b035)
+ }
+
+ // Don't use these variables below
+ Decrement(n035)
+ Increment(i035)
+
+ ////////////////////////// Actions
+
+ if (r035) {
+ m0f7("r035")
+
+ ////////////////////////////////////////////////////////////// START, 36
+
+ Store(0, c036)
+ Store(0, b036)
+ Store(0, r036)
+ Store(0, i036)
+ Store(nn36, n036)
+
+ While (n036) {
+
+ m0f7("n036")
+
+ Store(m0f5(p000, p001, ln36), Local0)
+ if (LEqual(Local0, 0x07)) {
+ // Set up - my children complited
+ m0f2(p000, CHL0, lc36)
+ Store(0, r036)
+ } else {
+ Store(1, r036)
+ }
+
+ Store(m0f5(p000, p001, lc36), Local0)
+
+ if (And(Local0, 0x02)) {
+ Store(0, c036)
+ } else {
+ Store(1, c036)
+ }
+ if (And(Local0, 0x04)) {
+ Store(0, b036)
+ } else {
+ Store(1, b036)
+ }
+
+ // Mix consecution of works (may nullify all)
+ Store(m0f9(r036, c036, b036, ii36), Local0)
+ Increment(ii36)
+ Store(0, r036)
+ Store(0, c036)
+ Store(0, b036)
+ if (And(Local0, 0x01)) {
+ Store(1, r036)
+ } elseif (And(Local0, 0x02)) {
+ Store(1, c036)
+ } elseif (And(Local0, 0x04)) {
+ Store(1, b036)
+ }
+
+ // Don't use these variables below
+ Decrement(n036)
+ Increment(i036)
+
+ ////////////////////////// Actions
+
+ if (r036) {
+ m0f7("r036")
+
+ ////////////////////////////////////////////////////////////// START, 37
+
+ Store(0, c037)
+ Store(0, b037)
+ Store(0, r037)
+ Store(0, i037)
+ Store(nn37, n037)
+
+ While (n037) {
+
+ m0f7("n037")
+
+ Store(m0f5(p000, p001, ln37), Local0)
+ if (LEqual(Local0, 0x07)) {
+ // Set up - my children complited
+ m0f2(p000, CHL0, lc37)
+ Store(0, r037)
+ } else {
+ Store(1, r037)
+ }
+
+ Store(m0f5(p000, p001, lc37), Local0)
+
+ if (And(Local0, 0x02)) {
+ Store(0, c037)
+ } else {
+ Store(1, c037)
+ }
+ if (And(Local0, 0x04)) {
+ Store(0, b037)
+ } else {
+ Store(1, b037)
+ }
+
+ // Mix consecution of works (may nullify all)
+ Store(m0f9(r037, c037, b037, ii37), Local0)
+ Increment(ii37)
+ Store(0, r037)
+ Store(0, c037)
+ Store(0, b037)
+ if (And(Local0, 0x01)) {
+ Store(1, r037)
+ } elseif (And(Local0, 0x02)) {
+ Store(1, c037)
+ } elseif (And(Local0, 0x04)) {
+ Store(1, b037)
+ }
+
+ // Don't use these variables below
+ Decrement(n037)
+ Increment(i037)
+
+ ////////////////////////// Actions
+
+ if (r037) {
+ m0f7("r037")
+
+ ////////////////////////////////////////////////////////////// START, 38
+
+ Store(0, c038)
+ Store(0, b038)
+ Store(0, r038)
+ Store(0, i038)
+ Store(nn38, n038)
+
+ While (n038) {
+
+ m0f7("n038")
+
+ Store(m0f5(p000, p001, ln38), Local0)
+ if (LEqual(Local0, 0x07)) {
+ // Set up - my children complited
+ m0f2(p000, CHL0, lc38)
+ Store(0, r038)
+ } else {
+ Store(1, r038)
+ }
+
+ Store(m0f5(p000, p001, lc38), Local0)
+
+ if (And(Local0, 0x02)) {
+ Store(0, c038)
+ } else {
+ Store(1, c038)
+ }
+ if (And(Local0, 0x04)) {
+ Store(0, b038)
+ } else {
+ Store(1, b038)
+ }
+
+ // Mix consecution of works (may nullify all)
+ Store(m0f9(r038, c038, b038, ii38), Local0)
+ Increment(ii38)
+ Store(0, r038)
+ Store(0, c038)
+ Store(0, b038)
+ if (And(Local0, 0x01)) {
+ Store(1, r038)
+ } elseif (And(Local0, 0x02)) {
+ Store(1, c038)
+ } elseif (And(Local0, 0x04)) {
+ Store(1, b038)
+ }
+
+ // Don't use these variables below
+ Decrement(n038)
+ Increment(i038)
+
+ ////////////////////////// Actions
+
+ if (r038) {
+ m0f7("r038")
+
+ ////////////////////////////////////////////////////////////// START, 39
+
+ Store(0, c039)
+ Store(0, b039)
+ Store(0, r039)
+ Store(0, i039)
+ Store(nn39, n039)
+
+ While (n039) {
+
+ m0f7("n039")
+
+ Store(m0f5(p000, p001, ln39), Local0)
+ if (LEqual(Local0, 0x07)) {
+ // Set up - my children complited
+ m0f2(p000, CHL0, lc39)
+ Store(0, r039)
+ } else {
+ Store(1, r039)
+ }
+
+ Store(m0f5(p000, p001, lc39), Local0)
+
+ if (And(Local0, 0x02)) {
+ Store(0, c039)
+ } else {
+ Store(1, c039)
+ }
+ if (And(Local0, 0x04)) {
+ Store(0, b039)
+ } else {
+ Store(1, b039)
+ }
+
+ // Mix consecution of works (may nullify all)
+ Store(m0f9(r039, c039, b039, ii39), Local0)
+ Increment(ii39)
+ Store(0, r039)
+ Store(0, c039)
+ Store(0, b039)
+ if (And(Local0, 0x01)) {
+ Store(1, r039)
+ } elseif (And(Local0, 0x02)) {
+ Store(1, c039)
+ } elseif (And(Local0, 0x04)) {
+ Store(1, b039)
+ }
+
+ // Don't use these variables below
+ Decrement(n039)
+ Increment(i039)
+
+ ////////////////////////// Actions
+
+ if (r039) {
+ m0f7("r039")
+
+ ////////////////////////////////////////////////////////////// START, 40
+
+ Store(0, c040)
+ Store(0, b040)
+ Store(0, r040)
+ Store(0, i040)
+ Store(nn40, n040)
+
+ While (n040) {
+
+ m0f7("n040")
+
+ Store(m0f5(p000, p001, ln40), Local0)
+ if (LEqual(Local0, 0x07)) {
+ // Set up - my children complited
+ m0f2(p000, CHL0, lc40)
+ Store(0, r040)
+ } else {
+ Store(1, r040)
+ }
+
+ Store(m0f5(p000, p001, lc40), Local0)
+
+ if (And(Local0, 0x02)) {
+ Store(0, c040)
+ } else {
+ Store(1, c040)
+ }
+ if (And(Local0, 0x04)) {
+ Store(0, b040)
+ } else {
+ Store(1, b040)
+ }
+
+ // Mix consecution of works (may nullify all)
+ Store(m0f9(r040, c040, b040, ii40), Local0)
+ Increment(ii40)
+ Store(0, r040)
+ Store(0, c040)
+ Store(0, b040)
+ if (And(Local0, 0x01)) {
+ Store(1, r040)
+ } elseif (And(Local0, 0x02)) {
+ Store(1, c040)
+ } elseif (And(Local0, 0x04)) {
+ Store(1, b040)
+ }
+
+ // Don't use these variables below
+ Decrement(n040)
+ Increment(i040)
+
+ ////////////////////////// Actions
+
+ if (r040) {
+ m0f7("r040")
+
+
+ ////////////////////////////////////////////////////////////// START, 41
+
+ Store(0, c041)
+ Store(0, b041)
+ Store(0, r041)
+ Store(0, i041)
+ Store(nn41, n041)
+
+ While (n041) {
+
+ m0f7("n041")
+
+ Store(m0f5(p000, p001, ln41), Local0)
+ if (LEqual(Local0, 0x07)) {
+ // Set up - my children complited
+ m0f2(p000, CHL0, lc41)
+ Store(0, r041)
+ } else {
+ Store(1, r041)
+ }
+
+ Store(m0f5(p000, p001, lc41), Local0)
+
+ if (And(Local0, 0x02)) {
+ Store(0, c041)
+ } else {
+ Store(1, c041)
+ }
+ if (And(Local0, 0x04)) {
+ Store(0, b041)
+ } else {
+ Store(1, b041)
+ }
+
+ // Mix consecution of works (may nullify all)
+ Store(m0f9(r041, c041, b041, ii41), Local0)
+ Increment(ii41)
+ Store(0, r041)
+ Store(0, c041)
+ Store(0, b041)
+ if (And(Local0, 0x01)) {
+ Store(1, r041)
+ } elseif (And(Local0, 0x02)) {
+ Store(1, c041)
+ } elseif (And(Local0, 0x04)) {
+ Store(1, b041)
+ }
+
+ // Don't use these variables below
+ Decrement(n041)
+ Increment(i041)
+
+ ////////////////////////// Actions
+
+ if (r041) {
+ m0f7("r041")
+
+ ////////////////////////////////////////////////////////////// START, 42
+
+ Store(0, c042)
+ Store(0, b042)
+ Store(0, r042)
+ Store(0, i042)
+ Store(nn42, n042)
+
+ While (n042) {
+
+ m0f7("n042")
+
+ Store(m0f5(p000, p001, ln42), Local0)
+ if (LEqual(Local0, 0x07)) {
+ // Set up - my children complited
+ m0f2(p000, CHL0, lc42)
+ Store(0, r042)
+ } else {
+ Store(1, r042)
+ }
+
+ Store(m0f5(p000, p001, lc42), Local0)
+
+ if (And(Local0, 0x02)) {
+ Store(0, c042)
+ } else {
+ Store(1, c042)
+ }
+ if (And(Local0, 0x04)) {
+ Store(0, b042)
+ } else {
+ Store(1, b042)
+ }
+
+ // Mix consecution of works (may nullify all)
+ Store(m0f9(r042, c042, b042, ii42), Local0)
+ Increment(ii42)
+ Store(0, r042)
+ Store(0, c042)
+ Store(0, b042)
+ if (And(Local0, 0x01)) {
+ Store(1, r042)
+ } elseif (And(Local0, 0x02)) {
+ Store(1, c042)
+ } elseif (And(Local0, 0x04)) {
+ Store(1, b042)
+ }
+
+ // Don't use these variables below
+ Decrement(n042)
+ Increment(i042)
+
+ ////////////////////////// Actions
+
+ if (r042) {
+ m0f7("r042")
+
+ ////////////////////////////////////////////////////////////// START, 43
+
+ Store(0, c043)
+ Store(0, b043)
+ Store(0, r043)
+ Store(0, i043)
+ Store(nn43, n043)
+
+ While (n043) {
+
+ m0f7("n043")
+
+ Store(m0f5(p000, p001, ln43), Local0)
+ if (LEqual(Local0, 0x07)) {
+ // Set up - my children complited
+ m0f2(p000, CHL0, lc43)
+ Store(0, r043)
+ } else {
+ Store(1, r043)
+ }
+
+ Store(m0f5(p000, p001, lc43), Local0)
+
+ if (And(Local0, 0x02)) {
+ Store(0, c043)
+ } else {
+ Store(1, c043)
+ }
+ if (And(Local0, 0x04)) {
+ Store(0, b043)
+ } else {
+ Store(1, b043)
+ }
+
+ // Mix consecution of works (may nullify all)
+ Store(m0f9(r043, c043, b043, ii43), Local0)
+ Increment(ii43)
+ Store(0, r043)
+ Store(0, c043)
+ Store(0, b043)
+ if (And(Local0, 0x01)) {
+ Store(1, r043)
+ } elseif (And(Local0, 0x02)) {
+ Store(1, c043)
+ } elseif (And(Local0, 0x04)) {
+ Store(1, b043)
+ }
+
+ // Don't use these variables below
+ Decrement(n043)
+ Increment(i043)
+
+ ////////////////////////// Actions
+
+ if (r043) {
+ m0f7("r043")
+
+ ////////////////////////////////////////////////////////////// START, 44
+
+ Store(0, c044)
+ Store(0, b044)
+ Store(0, r044)
+ Store(0, i044)
+ Store(nn44, n044)
+
+ While (n044) {
+
+ m0f7("n044")
+
+ Store(m0f5(p000, p001, ln44), Local0)
+ if (LEqual(Local0, 0x07)) {
+ // Set up - my children complited
+ m0f2(p000, CHL0, lc44)
+ Store(0, r044)
+ } else {
+ Store(1, r044)
+ }
+
+ Store(m0f5(p000, p001, lc44), Local0)
+
+ if (And(Local0, 0x02)) {
+ Store(0, c044)
+ } else {
+ Store(1, c044)
+ }
+ if (And(Local0, 0x04)) {
+ Store(0, b044)
+ } else {
+ Store(1, b044)
+ }
+
+ // Mix consecution of works (may nullify all)
+ Store(m0f9(r044, c044, b044, ii44), Local0)
+ Increment(ii44)
+ Store(0, r044)
+ Store(0, c044)
+ Store(0, b044)
+ if (And(Local0, 0x01)) {
+ Store(1, r044)
+ } elseif (And(Local0, 0x02)) {
+ Store(1, c044)
+ } elseif (And(Local0, 0x04)) {
+ Store(1, b044)
+ }
+
+ // Don't use these variables below
+ Decrement(n044)
+ Increment(i044)
+
+ ////////////////////////// Actions
+
+ if (r044) {
+ m0f7("r044")
+
+ ////////////////////////////////////////////////////////////// START, 45
+
+ Store(0, c045)
+ Store(0, b045)
+ Store(0, r045)
+ Store(0, i045)
+ Store(nn45, n045)
+
+ While (n045) {
+
+ m0f7("n045")
+
+ Store(m0f5(p000, p001, ln45), Local0)
+ if (LEqual(Local0, 0x07)) {
+ // Set up - my children complited
+ m0f2(p000, CHL0, lc45)
+ Store(0, r045)
+ } else {
+ Store(1, r045)
+ }
+
+ Store(m0f5(p000, p001, lc45), Local0)
+
+ if (And(Local0, 0x02)) {
+ Store(0, c045)
+ } else {
+ Store(1, c045)
+ }
+ if (And(Local0, 0x04)) {
+ Store(0, b045)
+ } else {
+ Store(1, b045)
+ }
+
+ // Mix consecution of works (may nullify all)
+ Store(m0f9(r045, c045, b045, ii45), Local0)
+ Increment(ii45)
+ Store(0, r045)
+ Store(0, c045)
+ Store(0, b045)
+ if (And(Local0, 0x01)) {
+ Store(1, r045)
+ } elseif (And(Local0, 0x02)) {
+ Store(1, c045)
+ } elseif (And(Local0, 0x04)) {
+ Store(1, b045)
+ }
+
+ // Don't use these variables below
+ Decrement(n045)
+ Increment(i045)
+
+ ////////////////////////// Actions
+
+ if (r045) {
+ m0f7("r045")
+
+ ////////////////////////////////////////////////////////////// START, 46
+
+ Store(0, c046)
+ Store(0, b046)
+ Store(0, r046)
+ Store(0, i046)
+ Store(nn46, n046)
+
+ While (n046) {
+
+ m0f7("n046")
+
+ Store(m0f5(p000, p001, ln46), Local0)
+ if (LEqual(Local0, 0x07)) {
+ // Set up - my children complited
+ m0f2(p000, CHL0, lc46)
+ Store(0, r046)
+ } else {
+ Store(1, r046)
+ }
+
+ Store(m0f5(p000, p001, lc46), Local0)
+
+ if (And(Local0, 0x02)) {
+ Store(0, c046)
+ } else {
+ Store(1, c046)
+ }
+ if (And(Local0, 0x04)) {
+ Store(0, b046)
+ } else {
+ Store(1, b046)
+ }
+
+ // Mix consecution of works (may nullify all)
+ Store(m0f9(r046, c046, b046, ii46), Local0)
+ Increment(ii46)
+ Store(0, r046)
+ Store(0, c046)
+ Store(0, b046)
+ if (And(Local0, 0x01)) {
+ Store(1, r046)
+ } elseif (And(Local0, 0x02)) {
+ Store(1, c046)
+ } elseif (And(Local0, 0x04)) {
+ Store(1, b046)
+ }
+
+ // Don't use these variables below
+ Decrement(n046)
+ Increment(i046)
+
+ ////////////////////////// Actions
+
+ if (r046) {
+ m0f7("r046")
+
+ ////////////////////////////////////////////////////////////// START, 47
+
+ Store(0, c047)
+ Store(0, b047)
+ Store(0, r047)
+ Store(0, i047)
+ Store(nn47, n047)
+
+ While (n047) {
+
+ m0f7("n047")
+
+ Store(m0f5(p000, p001, ln47), Local0)
+ if (LEqual(Local0, 0x07)) {
+ // Set up - my children complited
+ m0f2(p000, CHL0, lc47)
+ Store(0, r047)
+ } else {
+ Store(1, r047)
+ }
+
+ Store(m0f5(p000, p001, lc47), Local0)
+
+ if (And(Local0, 0x02)) {
+ Store(0, c047)
+ } else {
+ Store(1, c047)
+ }
+ if (And(Local0, 0x04)) {
+ Store(0, b047)
+ } else {
+ Store(1, b047)
+ }
+
+ // Mix consecution of works (may nullify all)
+ Store(m0f9(r047, c047, b047, ii47), Local0)
+ Increment(ii47)
+ Store(0, r047)
+ Store(0, c047)
+ Store(0, b047)
+ if (And(Local0, 0x01)) {
+ Store(1, r047)
+ } elseif (And(Local0, 0x02)) {
+ Store(1, c047)
+ } elseif (And(Local0, 0x04)) {
+ Store(1, b047)
+ }
+
+ // Don't use these variables below
+ Decrement(n047)
+ Increment(i047)
+
+ ////////////////////////// Actions
+
+ if (r047) {
+ m0f7("r047")
+
+ ////////////////////////////////////////////////////////////// START, 48
+
+ Store(0, c048)
+ Store(0, b048)
+ Store(0, r048)
+ Store(0, i048)
+ Store(nn48, n048)
+
+ While (n048) {
+
+ m0f7("n048")
+
+ Store(m0f5(p000, p001, ln48), Local0)
+ if (LEqual(Local0, 0x07)) {
+ // Set up - my children complited
+ m0f2(p000, CHL0, lc48)
+ Store(0, r048)
+ } else {
+ Store(1, r048)
+ }
+
+ Store(m0f5(p000, p001, lc48), Local0)
+
+ if (And(Local0, 0x02)) {
+ Store(0, c048)
+ } else {
+ Store(1, c048)
+ }
+ if (And(Local0, 0x04)) {
+ Store(0, b048)
+ } else {
+ Store(1, b048)
+ }
+
+ // Mix consecution of works (may nullify all)
+ Store(m0f9(r048, c048, b048, ii48), Local0)
+ Increment(ii48)
+ Store(0, r048)
+ Store(0, c048)
+ Store(0, b048)
+ if (And(Local0, 0x01)) {
+ Store(1, r048)
+ } elseif (And(Local0, 0x02)) {
+ Store(1, c048)
+ } elseif (And(Local0, 0x04)) {
+ Store(1, b048)
+ }
+
+ // Don't use these variables below
+ Decrement(n048)
+ Increment(i048)
+
+ ////////////////////////// Actions
+
+ if (r048) {
+ m0f7("r048")
+
+ ////////////////////////////////////////////////////////////// START, 49
+
+ Store(0, c049)
+ Store(0, b049)
+ Store(0, r049)
+ Store(0, i049)
+ Store(nn49, n049)
+
+ While (n049) {
+
+ m0f7("n049")
+
+ Store(m0f5(p000, p001, ln49), Local0)
+ if (LEqual(Local0, 0x07)) {
+ // Set up - my children complited
+ m0f2(p000, CHL0, lc49)
+ Store(0, r049)
+ } else {
+ Store(1, r049)
+ }
+
+ Store(m0f5(p000, p001, lc49), Local0)
+
+ if (And(Local0, 0x02)) {
+ Store(0, c049)
+ } else {
+ Store(1, c049)
+ }
+ if (And(Local0, 0x04)) {
+ Store(0, b049)
+ } else {
+ Store(1, b049)
+ }
+
+ // Mix consecution of works (may nullify all)
+ Store(m0f9(r049, c049, b049, ii49), Local0)
+ Increment(ii49)
+ Store(0, r049)
+ Store(0, c049)
+ Store(0, b049)
+ if (And(Local0, 0x01)) {
+ Store(1, r049)
+ } elseif (And(Local0, 0x02)) {
+ Store(1, c049)
+ } elseif (And(Local0, 0x04)) {
+ Store(1, b049)
+ }
+
+ // Don't use these variables below
+ Decrement(n049)
+ Increment(i049)
+
+ ////////////////////////// Actions
+
+ if (r049) {
+ m0f7("r049")
+ }
+
+ // CAUTION: don't use below any common variables
+ // being set up before this poin.
+
+ if (b049) {
+ m0f2(p000, BRK0, lc49)
+ break
+ }
+ if (c049) {
+ m0f2(p000, CNT0, lc49)
+ continue
+ }
+
+ if (c049) {
+ // We should not be there
+ err(arg0, z074, 4, 0, 0, 0, 0)
+ }
+ if (b049) {
+ // We should not be there
+ err(arg0, z074, 5, 0, 0, 0, 0)
+ }
+
+ Store(m0f5(p000, p001, ln49), Local0)
+
+ if (LEqual(Local0, 0x07)) {
+ m0f2(p000, CHL0, lc49)
+ Store(m0f5(p000, p001, lc49), Local0)
+ if (LEqual(Local0, 0x07)) {
+ Store(1, b049)
+ m0f7("b049, completed")
+ break
+ }
+ }
+
+ if (b049) {
+ // We should not be there
+ err(arg0, z074, 6, 0, 0, 0, 0)
+ }
+ }
+
+ ////////////////////////////////////////////////////////////// FINISH, 49
+ }
+
+ // CAUTION: don't use below any common variables
+ // being set up before this poin.
+
+ if (b048) {
+ m0f2(p000, BRK0, lc48)
+ break
+ }
+ if (c048) {
+ m0f2(p000, CNT0, lc48)
+ continue
+ }
+
+ if (c048) {
+ // We should not be there
+ err(arg0, z074, 7, 0, 0, 0, 0)
+ }
+ if (b048) {
+ // We should not be there
+ err(arg0, z074, 8, 0, 0, 0, 0)
+ }
+
+ Store(m0f5(p000, p001, ln48), Local0)
+
+ if (LEqual(Local0, 0x07)) {
+ m0f2(p000, CHL0, lc48)
+ Store(m0f5(p000, p001, lc48), Local0)
+ if (LEqual(Local0, 0x07)) {
+ Store(1, b048)
+ m0f7("b048, completed")
+ break
+ }
+ }
+
+ if (b048) {
+ // We should not be there
+ err(arg0, z074, 9, 0, 0, 0, 0)
+ }
+ }
+
+ ////////////////////////////////////////////////////////////// FINISH, 48
+ }
+
+ // CAUTION: don't use below any common variables
+ // being set up before this poin.
+
+ if (b047) {
+ m0f2(p000, BRK0, lc47)
+ break
+ }
+ if (c047) {
+ m0f2(p000, CNT0, lc47)
+ continue
+ }
+
+ if (c047) {
+ // We should not be there
+ err(arg0, z074, 10, 0, 0, 0, 0)
+ }
+ if (b047) {
+ // We should not be there
+ err(arg0, z074, 11, 0, 0, 0, 0)
+ }
+
+ Store(m0f5(p000, p001, ln47), Local0)
+
+ if (LEqual(Local0, 0x07)) {
+ m0f2(p000, CHL0, lc47)
+ Store(m0f5(p000, p001, lc47), Local0)
+ if (LEqual(Local0, 0x07)) {
+ Store(1, b047)
+ m0f7("b047, completed")
+ break
+ }
+ }
+
+ if (b047) {
+ // We should not be there
+ err(arg0, z074, 12, 0, 0, 0, 0)
+ }
+ }
+
+ ////////////////////////////////////////////////////////////// FINISH, 47
+ }
+
+ // CAUTION: don't use below any common variables
+ // being set up before this poin.
+
+ if (b046) {
+ m0f2(p000, BRK0, lc46)
+ break
+ }
+ if (c046) {
+ m0f2(p000, CNT0, lc46)
+ continue
+ }
+
+ if (c046) {
+ // We should not be there
+ err(arg0, z074, 13, 0, 0, 0, 0)
+ }
+ if (b046) {
+ // We should not be there
+ err(arg0, z074, 14, 0, 0, 0, 0)
+ }
+
+ Store(m0f5(p000, p001, ln46), Local0)
+
+ if (LEqual(Local0, 0x07)) {
+ m0f2(p000, CHL0, lc46)
+ Store(m0f5(p000, p001, lc46), Local0)
+ if (LEqual(Local0, 0x07)) {
+ Store(1, b046)
+ m0f7("b046, completed")
+ break
+ }
+ }
+
+ if (b046) {
+ // We should not be there
+ err(arg0, z074, 15, 0, 0, 0, 0)
+ }
+ }
+
+ ////////////////////////////////////////////////////////////// FINISH, 46
+ }
+
+ // CAUTION: don't use below any common variables
+ // being set up before this poin.
+
+ if (b045) {
+ m0f2(p000, BRK0, lc45)
+ break
+ }
+ if (c045) {
+ m0f2(p000, CNT0, lc45)
+ continue
+ }
+
+ if (c045) {
+ // We should not be there
+ err(arg0, z074, 16, 0, 0, 0, 0)
+ }
+ if (b045) {
+ // We should not be there
+ err(arg0, z074, 17, 0, 0, 0, 0)
+ }
+
+ Store(m0f5(p000, p001, ln45), Local0)
+
+ if (LEqual(Local0, 0x07)) {
+ m0f2(p000, CHL0, lc45)
+ Store(m0f5(p000, p001, lc45), Local0)
+ if (LEqual(Local0, 0x07)) {
+ Store(1, b045)
+ m0f7("b045, completed")
+ break
+ }
+ }
+
+ if (b045) {
+ // We should not be there
+ err(arg0, z074, 18, 0, 0, 0, 0)
+ }
+ }
+
+ ////////////////////////////////////////////////////////////// FINISH, 45
+ }
+
+ // CAUTION: don't use below any common variables
+ // being set up before this poin.
+
+ if (b044) {
+ m0f2(p000, BRK0, lc44)
+ break
+ }
+ if (c044) {
+ m0f2(p000, CNT0, lc44)
+ continue
+ }
+
+ if (c044) {
+ // We should not be there
+ err(arg0, z074, 19, 0, 0, 0, 0)
+ }
+ if (b044) {
+ // We should not be there
+ err(arg0, z074, 20, 0, 0, 0, 0)
+ }
+
+ Store(m0f5(p000, p001, ln44), Local0)
+
+ if (LEqual(Local0, 0x07)) {
+ m0f2(p000, CHL0, lc44)
+ Store(m0f5(p000, p001, lc44), Local0)
+ if (LEqual(Local0, 0x07)) {
+ Store(1, b044)
+ m0f7("b044, completed")
+ break
+ }
+ }
+
+ if (b044) {
+ // We should not be there
+ err(arg0, z074, 21, 0, 0, 0, 0)
+ }
+ }
+
+ ////////////////////////////////////////////////////////////// FINISH, 44
+ }
+
+ // CAUTION: don't use below any common variables
+ // being set up before this poin.
+
+ if (b043) {
+ m0f2(p000, BRK0, lc43)
+ break
+ }
+ if (c043) {
+ m0f2(p000, CNT0, lc43)
+ continue
+ }
+
+ if (c043) {
+ // We should not be there
+ err(arg0, z074, 22, 0, 0, 0, 0)
+ }
+ if (b043) {
+ // We should not be there
+ err(arg0, z074, 23, 0, 0, 0, 0)
+ }
+
+ Store(m0f5(p000, p001, ln43), Local0)
+
+ if (LEqual(Local0, 0x07)) {
+ m0f2(p000, CHL0, lc43)
+ Store(m0f5(p000, p001, lc43), Local0)
+ if (LEqual(Local0, 0x07)) {
+ Store(1, b043)
+ m0f7("b043, completed")
+ break
+ }
+ }
+
+ if (b043) {
+ // We should not be there
+ err(arg0, z074, 24, 0, 0, 0, 0)
+ }
+ }
+
+ ////////////////////////////////////////////////////////////// FINISH, 43
+ }
+
+ // CAUTION: don't use below any common variables
+ // being set up before this poin.
+
+ if (b042) {
+ m0f2(p000, BRK0, lc42)
+ break
+ }
+ if (c042) {
+ m0f2(p000, CNT0, lc42)
+ continue
+ }
+
+ if (c042) {
+ // We should not be there
+ err(arg0, z074, 25, 0, 0, 0, 0)
+ }
+ if (b042) {
+ // We should not be there
+ err(arg0, z074, 26, 0, 0, 0, 0)
+ }
+
+ Store(m0f5(p000, p001, ln42), Local0)
+
+ if (LEqual(Local0, 0x07)) {
+ m0f2(p000, CHL0, lc42)
+ Store(m0f5(p000, p001, lc42), Local0)
+ if (LEqual(Local0, 0x07)) {
+ Store(1, b042)
+ m0f7("b042, completed")
+ break
+ }
+ }
+
+ if (b042) {
+ // We should not be there
+ err(arg0, z074, 27, 0, 0, 0, 0)
+ }
+ }
+
+ ////////////////////////////////////////////////////////////// FINISH, 42
+ }
+
+ // CAUTION: don't use below any common variables
+ // being set up before this poin.
+
+ if (b041) {
+ m0f2(p000, BRK0, lc41)
+ break
+ }
+ if (c041) {
+ m0f2(p000, CNT0, lc41)
+ continue
+ }
+
+ if (c041) {
+ // We should not be there
+ err(arg0, z074, 28, 0, 0, 0, 0)
+ }
+ if (b041) {
+ // We should not be there
+ err(arg0, z074, 29, 0, 0, 0, 0)
+ }
+
+ Store(m0f5(p000, p001, ln41), Local0)
+
+ if (LEqual(Local0, 0x07)) {
+ m0f2(p000, CHL0, lc41)
+ Store(m0f5(p000, p001, lc41), Local0)
+ if (LEqual(Local0, 0x07)) {
+ Store(1, b041)
+ m0f7("b041, completed")
+ break
+ }
+ }
+
+ if (b041) {
+ // We should not be there
+ err(arg0, z074, 30, 0, 0, 0, 0)
+ }
+ }
+
+ ////////////////////////////////////////////////////////////// FINISH, 41
+ }
+
+ // CAUTION: don't use below any common variables
+ // being set up before this poin.
+
+ if (b040) {
+ m0f2(p000, BRK0, lc40)
+ break
+ }
+ if (c040) {
+ m0f2(p000, CNT0, lc40)
+ continue
+ }
+
+ if (c040) {
+ // We should not be there
+ err(arg0, z074, 31, 0, 0, 0, 0)
+ }
+ if (b040) {
+ // We should not be there
+ err(arg0, z074, 32, 0, 0, 0, 0)
+ }
+
+ Store(m0f5(p000, p001, ln40), Local0)
+
+ if (LEqual(Local0, 0x07)) {
+ m0f2(p000, CHL0, lc40)
+ Store(m0f5(p000, p001, lc40), Local0)
+ if (LEqual(Local0, 0x07)) {
+ Store(1, b040)
+ m0f7("b040, completed")
+ break
+ }
+ }
+
+ if (b040) {
+ // We should not be there
+ err(arg0, z074, 33, 0, 0, 0, 0)
+ }
+ }
+
+ ////////////////////////////////////////////////////////////// FINISH, 40
+ }
+
+ // CAUTION: don't use below any common variables
+ // being set up before this poin.
+
+ if (b039) {
+ m0f2(p000, BRK0, lc39)
+ break
+ }
+ if (c039) {
+ m0f2(p000, CNT0, lc39)
+ continue
+ }
+
+ if (c039) {
+ // We should not be there
+ err(arg0, z074, 34, 0, 0, 0, 0)
+ }
+ if (b039) {
+ // We should not be there
+ err(arg0, z074, 35, 0, 0, 0, 0)
+ }
+
+ Store(m0f5(p000, p001, ln39), Local0)
+
+ if (LEqual(Local0, 0x07)) {
+ m0f2(p000, CHL0, lc39)
+ Store(m0f5(p000, p001, lc39), Local0)
+ if (LEqual(Local0, 0x07)) {
+ Store(1, b039)
+ m0f7("b039, completed")
+ break
+ }
+ }
+
+ if (b039) {
+ // We should not be there
+ err(arg0, z074, 36, 0, 0, 0, 0)
+ }
+ }
+
+ ////////////////////////////////////////////////////////////// FINISH, 39
+ }
+
+ // CAUTION: don't use below any common variables
+ // being set up before this poin.
+
+ if (b038) {
+ m0f2(p000, BRK0, lc38)
+ break
+ }
+ if (c038) {
+ m0f2(p000, CNT0, lc38)
+ continue
+ }
+
+ if (c038) {
+ // We should not be there
+ err(arg0, z074, 37, 0, 0, 0, 0)
+ }
+ if (b038) {
+ // We should not be there
+ err(arg0, z074, 38, 0, 0, 0, 0)
+ }
+
+ Store(m0f5(p000, p001, ln38), Local0)
+
+ if (LEqual(Local0, 0x07)) {
+ m0f2(p000, CHL0, lc38)
+ Store(m0f5(p000, p001, lc38), Local0)
+ if (LEqual(Local0, 0x07)) {
+ Store(1, b038)
+ m0f7("b038, completed")
+ break
+ }
+ }
+
+ if (b038) {
+ // We should not be there
+ err(arg0, z074, 39, 0, 0, 0, 0)
+ }
+ }
+
+ ////////////////////////////////////////////////////////////// FINISH, 38
+ }
+
+ // CAUTION: don't use below any common variables
+ // being set up before this poin.
+
+ if (b037) {
+ m0f2(p000, BRK0, lc37)
+ break
+ }
+ if (c037) {
+ m0f2(p000, CNT0, lc37)
+ continue
+ }
+
+ if (c037) {
+ // We should not be there
+ err(arg0, z074, 40, 0, 0, 0, 0)
+ }
+ if (b037) {
+ // We should not be there
+ err(arg0, z074, 41, 0, 0, 0, 0)
+ }
+
+ Store(m0f5(p000, p001, ln37), Local0)
+
+ if (LEqual(Local0, 0x07)) {
+ m0f2(p000, CHL0, lc37)
+ Store(m0f5(p000, p001, lc37), Local0)
+ if (LEqual(Local0, 0x07)) {
+ Store(1, b037)
+ m0f7("b037, completed")
+ break
+ }
+ }
+
+ if (b037) {
+ // We should not be there
+ err(arg0, z074, 42, 0, 0, 0, 0)
+ }
+ }
+
+ ////////////////////////////////////////////////////////////// FINISH, 37
+ }
+
+ // CAUTION: don't use below any common variables
+ // being set up before this poin.
+
+ if (b036) {
+ m0f2(p000, BRK0, lc36)
+ break
+ }
+ if (c036) {
+ m0f2(p000, CNT0, lc36)
+ continue
+ }
+
+ if (c036) {
+ // We should not be there
+ err(arg0, z074, 43, 0, 0, 0, 0)
+ }
+ if (b036) {
+ // We should not be there
+ err(arg0, z074, 44, 0, 0, 0, 0)
+ }
+
+ Store(m0f5(p000, p001, ln36), Local0)
+
+ if (LEqual(Local0, 0x07)) {
+ m0f2(p000, CHL0, lc36)
+ Store(m0f5(p000, p001, lc36), Local0)
+ if (LEqual(Local0, 0x07)) {
+ Store(1, b036)
+ m0f7("b036, completed")
+ break
+ }
+ }
+
+ if (b036) {
+ // We should not be there
+ err(arg0, z074, 45, 0, 0, 0, 0)
+ }
+ }
+
+ ////////////////////////////////////////////////////////////// FINISH, 36
+ }
+
+ // CAUTION: don't use below any common variables
+ // being set up before this poin.
+
+ if (b035) {
+ m0f2(p000, BRK0, lc35)
+ break
+ }
+ if (c035) {
+ m0f2(p000, CNT0, lc35)
+ continue
+ }
+
+ if (c035) {
+ // We should not be there
+ err(arg0, z074, 46, 0, 0, 0, 0)
+ }
+ if (b035) {
+ // We should not be there
+ err(arg0, z074, 47, 0, 0, 0, 0)
+ }
+
+ Store(m0f5(p000, p001, ln35), Local0)
+
+ if (LEqual(Local0, 0x07)) {
+ m0f2(p000, CHL0, lc35)
+ Store(m0f5(p000, p001, lc35), Local0)
+ if (LEqual(Local0, 0x07)) {
+ Store(1, b035)
+ m0f7("b035, completed")
+ break
+ }
+ }
+
+ if (b035) {
+ // We should not be there
+ err(arg0, z074, 48, 0, 0, 0, 0)
+ }
+ }
+
+ ////////////////////////////////////////////////////////////// FINISH, 35
+ }
+
+ // CAUTION: don't use below any common variables
+ // being set up before this poin.
+
+ if (b034) {
+ m0f2(p000, BRK0, lc34)
+ break
+ }
+ if (c034) {
+ m0f2(p000, CNT0, lc34)
+ continue
+ }
+
+ if (c034) {
+ // We should not be there
+ err(arg0, z074, 49, 0, 0, 0, 0)
+ }
+ if (b034) {
+ // We should not be there
+ err(arg0, z074, 50, 0, 0, 0, 0)
+ }
+
+ Store(m0f5(p000, p001, ln34), Local0)
+
+ if (LEqual(Local0, 0x07)) {
+ m0f2(p000, CHL0, lc34)
+ Store(m0f5(p000, p001, lc34), Local0)
+ if (LEqual(Local0, 0x07)) {
+ Store(1, b034)
+ m0f7("b034, completed")
+ break
+ }
+ }
+
+ if (b034) {
+ // We should not be there
+ err(arg0, z074, 51, 0, 0, 0, 0)
+ }
+ }
+
+ ////////////////////////////////////////////////////////////// FINISH, 34
+ }
+
+ // CAUTION: don't use below any common variables
+ // being set up before this poin.
+
+ if (b033) {
+ m0f2(p000, BRK0, lc33)
+ break
+ }
+ if (c033) {
+ m0f2(p000, CNT0, lc33)
+ continue
+ }
+
+ if (c033) {
+ // We should not be there
+ err(arg0, z074, 52, 0, 0, 0, 0)
+ }
+ if (b033) {
+ // We should not be there
+ err(arg0, z074, 53, 0, 0, 0, 0)
+ }
+
+ Store(m0f5(p000, p001, ln33), Local0)
+
+ if (LEqual(Local0, 0x07)) {
+ m0f2(p000, CHL0, lc33)
+ Store(m0f5(p000, p001, lc33), Local0)
+ if (LEqual(Local0, 0x07)) {
+ Store(1, b033)
+ m0f7("b033, completed")
+ break
+ }
+ }
+
+ if (b033) {
+ // We should not be there
+ err(arg0, z074, 54, 0, 0, 0, 0)
+ }
+ }
+
+ ////////////////////////////////////////////////////////////// FINISH, 33
+ }
+
+ // CAUTION: don't use below any common variables
+ // being set up before this poin.
+
+ if (b032) {
+ m0f2(p000, BRK0, lc32)
+ break
+ }
+ if (c032) {
+ m0f2(p000, CNT0, lc32)
+ continue
+ }
+
+ if (c032) {
+ // We should not be there
+ err(arg0, z074, 55, 0, 0, 0, 0)
+ }
+ if (b032) {
+ // We should not be there
+ err(arg0, z074, 56, 0, 0, 0, 0)
+ }
+
+ Store(m0f5(p000, p001, ln32), Local0)
+
+ if (LEqual(Local0, 0x07)) {
+ m0f2(p000, CHL0, lc32)
+ Store(m0f5(p000, p001, lc32), Local0)
+ if (LEqual(Local0, 0x07)) {
+ Store(1, b032)
+ m0f7("b032, completed")
+ break
+ }
+ }
+
+ if (b032) {
+ // We should not be there
+ err(arg0, z074, 57, 0, 0, 0, 0)
+ }
+ }
+
+ ////////////////////////////////////////////////////////////// FINISH, 32
+ }
+
+ // CAUTION: don't use below any common variables
+ // being set up before this poin.
+
+ if (b031) {
+ m0f2(p000, BRK0, lc31)
+ break
+ }
+ if (c031) {
+ m0f2(p000, CNT0, lc31)
+ continue
+ }
+
+ if (c031) {
+ // We should not be there
+ err(arg0, z074, 58, 0, 0, 0, 0)
+ }
+ if (b031) {
+ // We should not be there
+ err(arg0, z074, 59, 0, 0, 0, 0)
+ }
+
+ Store(m0f5(p000, p001, ln31), Local0)
+
+ if (LEqual(Local0, 0x07)) {
+ m0f2(p000, CHL0, lc31)
+ Store(m0f5(p000, p001, lc31), Local0)
+ if (LEqual(Local0, 0x07)) {
+ Store(1, b031)
+ m0f7("b031, completed")
+ break
+ }
+ }
+
+ if (b031) {
+ // We should not be there
+ err(arg0, z074, 60, 0, 0, 0, 0)
+ }
+ }
+
+ ////////////////////////////////////////////////////////////// FINISH, 31
+ }
+
+ // CAUTION: don't use below any common variables
+ // being set up before this poin.
+
+ if (b030) {
+ m0f2(p000, BRK0, lc30)
+ break
+ }
+ if (c030) {
+ m0f2(p000, CNT0, lc30)
+ continue
+ }
+
+ if (c030) {
+ // We should not be there
+ err(arg0, z074, 61, 0, 0, 0, 0)
+ }
+ if (b030) {
+ // We should not be there
+ err(arg0, z074, 62, 0, 0, 0, 0)
+ }
+
+ Store(m0f5(p000, p001, ln30), Local0)
+
+ if (LEqual(Local0, 0x07)) {
+ m0f2(p000, CHL0, lc30)
+ Store(m0f5(p000, p001, lc30), Local0)
+ if (LEqual(Local0, 0x07)) {
+ Store(1, b030)
+ m0f7("b030, completed")
+ break
+ }
+ }
+
+ if (b030) {
+ // We should not be there
+ err(arg0, z074, 63, 0, 0, 0, 0)
+ }
+ }
+
+ ////////////////////////////////////////////////////////////// FINISH, 30
+ }
+
+ // CAUTION: don't use below any common variables
+ // being set up before this poin.
+
+ if (b029) {
+ m0f2(p000, BRK0, lc29)
+ break
+ }
+ if (c029) {
+ m0f2(p000, CNT0, lc29)
+ continue
+ }
+
+ if (c029) {
+ // We should not be there
+ err(arg0, z074, 64, 0, 0, 0, 0)
+ }
+ if (b029) {
+ // We should not be there
+ err(arg0, z074, 65, 0, 0, 0, 0)
+ }
+
+ Store(m0f5(p000, p001, ln29), Local0)
+
+ if (LEqual(Local0, 0x07)) {
+ m0f2(p000, CHL0, lc29)
+ Store(m0f5(p000, p001, lc29), Local0)
+ if (LEqual(Local0, 0x07)) {
+ Store(1, b029)
+ m0f7("b029, completed")
+ break
+ }
+ }
+
+ if (b029) {
+ // We should not be there
+ err(arg0, z074, 66, 0, 0, 0, 0)
+ }
+ }
+
+ ////////////////////////////////////////////////////////////// FINISH, 29
+ }
+
+ // CAUTION: don't use below any common variables
+ // being set up before this poin.
+
+ if (b028) {
+ m0f2(p000, BRK0, lc28)
+ break
+ }
+ if (c028) {
+ m0f2(p000, CNT0, lc28)
+ continue
+ }
+
+ if (c028) {
+ // We should not be there
+ err(arg0, z074, 67, 0, 0, 0, 0)
+ }
+ if (b028) {
+ // We should not be there
+ err(arg0, z074, 68, 0, 0, 0, 0)
+ }
+
+ Store(m0f5(p000, p001, ln28), Local0)
+
+ if (LEqual(Local0, 0x07)) {
+ m0f2(p000, CHL0, lc28)
+ Store(m0f5(p000, p001, lc28), Local0)
+ if (LEqual(Local0, 0x07)) {
+ Store(1, b028)
+ m0f7("b028, completed")
+ break
+ }
+ }
+
+ if (b028) {
+ // We should not be there
+ err(arg0, z074, 69, 0, 0, 0, 0)
+ }
+ }
+
+ ////////////////////////////////////////////////////////////// FINISH, 28
+ }
+
+ // CAUTION: don't use below any common variables
+ // being set up before this poin.
+
+ if (b027) {
+ m0f2(p000, BRK0, lc27)
+ break
+ }
+ if (c027) {
+ m0f2(p000, CNT0, lc27)
+ continue
+ }
+
+ if (c027) {
+ // We should not be there
+ err(arg0, z074, 70, 0, 0, 0, 0)
+ }
+ if (b027) {
+ // We should not be there
+ err(arg0, z074, 71, 0, 0, 0, 0)
+ }
+
+ Store(m0f5(p000, p001, ln27), Local0)
+
+ if (LEqual(Local0, 0x07)) {
+ m0f2(p000, CHL0, lc27)
+ Store(m0f5(p000, p001, lc27), Local0)
+ if (LEqual(Local0, 0x07)) {
+ Store(1, b027)
+ m0f7("b027, completed")
+ break
+ }
+ }
+
+ if (b027) {
+ // We should not be there
+ err(arg0, z074, 72, 0, 0, 0, 0)
+ }
+ }
+
+ ////////////////////////////////////////////////////////////// FINISH, 27
+ }
+
+ // CAUTION: don't use below any common variables
+ // being set up before this poin.
+
+ if (b026) {
+ m0f2(p000, BRK0, lc26)
+ break
+ }
+ if (c026) {
+ m0f2(p000, CNT0, lc26)
+ continue
+ }
+
+ if (c026) {
+ // We should not be there
+ err(arg0, z074, 73, 0, 0, 0, 0)
+ }
+ if (b026) {
+ // We should not be there
+ err(arg0, z074, 74, 0, 0, 0, 0)
+ }
+
+ Store(m0f5(p000, p001, ln26), Local0)
+
+ if (LEqual(Local0, 0x07)) {
+ m0f2(p000, CHL0, lc26)
+ Store(m0f5(p000, p001, lc26), Local0)
+ if (LEqual(Local0, 0x07)) {
+ Store(1, b026)
+ m0f7("b026, completed")
+ break
+ }
+ }
+
+ if (b026) {
+ // We should not be there
+ err(arg0, z074, 75, 0, 0, 0, 0)
+ }
+ }
+
+ ////////////////////////////////////////////////////////////// FINISH, 26
+ }
+
+ // CAUTION: don't use below any common variables
+ // being set up before this poin.
+
+ if (b025) {
+ m0f2(p000, BRK0, lc25)
+ break
+ }
+ if (c025) {
+ m0f2(p000, CNT0, lc25)
+ continue
+ }
+
+ if (c025) {
+ // We should not be there
+ err(arg0, z074, 76, 0, 0, 0, 0)
+ }
+ if (b025) {
+ // We should not be there
+ err(arg0, z074, 77, 0, 0, 0, 0)
+ }
+
+ Store(m0f5(p000, p001, ln25), Local0)
+
+ if (LEqual(Local0, 0x07)) {
+ m0f2(p000, CHL0, lc25)
+ Store(m0f5(p000, p001, lc25), Local0)
+ if (LEqual(Local0, 0x07)) {
+ Store(1, b025)
+ m0f7("b025, completed")
+ break
+ }
+ }
+
+ if (b025) {
+ // We should not be there
+ err(arg0, z074, 78, 0, 0, 0, 0)
+ }
+ }
+
+ ////////////////////////////////////////////////////////////// FINISH, 25
+ }
+
+ // CAUTION: don't use below any common variables
+ // being set up before this poin.
+
+ if (b024) {
+ m0f2(p000, BRK0, lc24)
+ break
+ }
+ if (c024) {
+ m0f2(p000, CNT0, lc24)
+ continue
+ }
+
+ if (c024) {
+ // We should not be there
+ err(arg0, z074, 79, 0, 0, 0, 0)
+ }
+ if (b024) {
+ // We should not be there
+ err(arg0, z074, 80, 0, 0, 0, 0)
+ }
+
+ Store(m0f5(p000, p001, ln24), Local0)
+
+ if (LEqual(Local0, 0x07)) {
+ m0f2(p000, CHL0, lc24)
+ Store(m0f5(p000, p001, lc24), Local0)
+ if (LEqual(Local0, 0x07)) {
+ Store(1, b024)
+ m0f7("b024, completed")
+ break
+ }
+ }
+
+ if (b024) {
+ // We should not be there
+ err(arg0, z074, 81, 0, 0, 0, 0)
+ }
+ }
+
+ ////////////////////////////////////////////////////////////// FINISH, 24
+ }
+
+ // CAUTION: don't use below any common variables
+ // being set up before this poin.
+
+ if (b023) {
+ m0f2(p000, BRK0, lc23)
+ break
+ }
+ if (c023) {
+ m0f2(p000, CNT0, lc23)
+ continue
+ }
+
+ if (c023) {
+ // We should not be there
+ err(arg0, z074, 82, 0, 0, 0, 0)
+ }
+ if (b023) {
+ // We should not be there
+ err(arg0, z074, 83, 0, 0, 0, 0)
+ }
+
+ Store(m0f5(p000, p001, ln23), Local0)
+
+ if (LEqual(Local0, 0x07)) {
+ m0f2(p000, CHL0, lc23)
+ Store(m0f5(p000, p001, lc23), Local0)
+ if (LEqual(Local0, 0x07)) {
+ Store(1, b023)
+ m0f7("b023, completed")
+ break
+ }
+ }
+
+ if (b023) {
+ // We should not be there
+ err(arg0, z074, 84, 0, 0, 0, 0)
+ }
+ }
+
+ ////////////////////////////////////////////////////////////// FINISH, 23
+ }
+
+ // CAUTION: don't use below any common variables
+ // being set up before this poin.
+
+ if (b022) {
+ m0f2(p000, BRK0, lc22)
+ break
+ }
+ if (c022) {
+ m0f2(p000, CNT0, lc22)
+ continue
+ }
+
+ if (c022) {
+ // We should not be there
+ err(arg0, z074, 85, 0, 0, 0, 0)
+ }
+ if (b022) {
+ // We should not be there
+ err(arg0, z074, 86, 0, 0, 0, 0)
+ }
+
+ Store(m0f5(p000, p001, ln22), Local0)
+
+ if (LEqual(Local0, 0x07)) {
+ m0f2(p000, CHL0, lc22)
+ Store(m0f5(p000, p001, lc22), Local0)
+ if (LEqual(Local0, 0x07)) {
+ Store(1, b022)
+ m0f7("b022, completed")
+ break
+ }
+ }
+
+ if (b022) {
+ // We should not be there
+ err(arg0, z074, 87, 0, 0, 0, 0)
+ }
+ }
+
+ ////////////////////////////////////////////////////////////// FINISH, 22
+ }
+
+ // CAUTION: don't use below any common variables
+ // being set up before this poin.
+
+ if (b021) {
+ m0f2(p000, BRK0, lc21)
+ break
+ }
+ if (c021) {
+ m0f2(p000, CNT0, lc21)
+ continue
+ }
+
+ if (c021) {
+ // We should not be there
+ err(arg0, z074, 88, 0, 0, 0, 0)
+ }
+ if (b021) {
+ // We should not be there
+ err(arg0, z074, 89, 0, 0, 0, 0)
+ }
+
+ Store(m0f5(p000, p001, ln21), Local0)
+
+ if (LEqual(Local0, 0x07)) {
+ m0f2(p000, CHL0, lc21)
+ Store(m0f5(p000, p001, lc21), Local0)
+ if (LEqual(Local0, 0x07)) {
+ Store(1, b021)
+ m0f7("b021, completed")
+ break
+ }
+ }
+
+ if (b021) {
+ // We should not be there
+ err(arg0, z074, 90, 0, 0, 0, 0)
+ }
+ }
+
+ ////////////////////////////////////////////////////////////// FINISH, 21
+ }
+
+ // CAUTION: don't use below any common variables
+ // being set up before this poin.
+
+ if (b020) {
+ m0f2(p000, BRK0, lc20)
+ break
+ }
+ if (c020) {
+ m0f2(p000, CNT0, lc20)
+ continue
+ }
+
+ if (c020) {
+ // We should not be there
+ err(arg0, z074, 91, 0, 0, 0, 0)
+ }
+ if (b020) {
+ // We should not be there
+ err(arg0, z074, 92, 0, 0, 0, 0)
+ }
+
+ Store(m0f5(p000, p001, ln20), Local0)
+
+ if (LEqual(Local0, 0x07)) {
+ m0f2(p000, CHL0, lc20)
+ Store(m0f5(p000, p001, lc20), Local0)
+ if (LEqual(Local0, 0x07)) {
+ Store(1, b020)
+ m0f7("b020, completed")
+ break
+ }
+ }
+
+ if (b020) {
+ // We should not be there
+ err(arg0, z074, 93, 0, 0, 0, 0)
+ }
+ }
+
+ ////////////////////////////////////////////////////////////// FINISH, 20
+ }
+
+ // CAUTION: don't use below any common variables
+ // being set up before this poin.
+
+ if (b019) {
+ m0f2(p000, BRK0, lc19)
+ break
+ }
+ if (c019) {
+ m0f2(p000, CNT0, lc19)
+ continue
+ }
+
+ if (c019) {
+ // We should not be there
+ err(arg0, z074, 94, 0, 0, 0, 0)
+ }
+ if (b019) {
+ // We should not be there
+ err(arg0, z074, 95, 0, 0, 0, 0)
+ }
+
+ Store(m0f5(p000, p001, ln19), Local0)
+
+ if (LEqual(Local0, 0x07)) {
+ m0f2(p000, CHL0, lc19)
+ Store(m0f5(p000, p001, lc19), Local0)
+ if (LEqual(Local0, 0x07)) {
+ Store(1, b019)
+ m0f7("b019, completed")
+ break
+ }
+ }
+
+ if (b019) {
+ // We should not be there
+ err(arg0, z074, 96, 0, 0, 0, 0)
+ }
+ }
+
+ ////////////////////////////////////////////////////////////// FINISH, 19
+ }
+
+ // CAUTION: don't use below any common variables
+ // being set up before this poin.
+
+ if (b018) {
+ m0f2(p000, BRK0, lc18)
+ break
+ }
+ if (c018) {
+ m0f2(p000, CNT0, lc18)
+ continue
+ }
+
+ if (c018) {
+ // We should not be there
+ err(arg0, z074, 97, 0, 0, 0, 0)
+ }
+ if (b018) {
+ // We should not be there
+ err(arg0, z074, 98, 0, 0, 0, 0)
+ }
+
+ Store(m0f5(p000, p001, ln18), Local0)
+
+ if (LEqual(Local0, 0x07)) {
+ m0f2(p000, CHL0, lc18)
+ Store(m0f5(p000, p001, lc18), Local0)
+ if (LEqual(Local0, 0x07)) {
+ Store(1, b018)
+ m0f7("b018, completed")
+ break
+ }
+ }
+
+ if (b018) {
+ // We should not be there
+ err(arg0, z074, 99, 0, 0, 0, 0)
+ }
+ }
+
+ ////////////////////////////////////////////////////////////// FINISH, 18
+ }
+
+ // CAUTION: don't use below any common variables
+ // being set up before this poin.
+
+ if (b017) {
+ m0f2(p000, BRK0, lc17)
+ break
+ }
+ if (c017) {
+ m0f2(p000, CNT0, lc17)
+ continue
+ }
+
+ if (c017) {
+ // We should not be there
+ err(arg0, z074, 100, 0, 0, 0, 0)
+ }
+ if (b017) {
+ // We should not be there
+ err(arg0, z074, 101, 0, 0, 0, 0)
+ }
+
+ Store(m0f5(p000, p001, ln17), Local0)
+
+ if (LEqual(Local0, 0x07)) {
+ m0f2(p000, CHL0, lc17)
+ Store(m0f5(p000, p001, lc17), Local0)
+ if (LEqual(Local0, 0x07)) {
+ Store(1, b017)
+ m0f7("b017, completed")
+ break
+ }
+ }
+
+ if (b017) {
+ // We should not be there
+ err(arg0, z074, 102, 0, 0, 0, 0)
+ }
+ }
+
+ ////////////////////////////////////////////////////////////// FINISH, 17
+ }
+
+ // CAUTION: don't use below any common variables
+ // being set up before this poin.
+
+ if (b016) {
+ m0f2(p000, BRK0, lc16)
+ break
+ }
+ if (c016) {
+ m0f2(p000, CNT0, lc16)
+ continue
+ }
+
+ if (c016) {
+ // We should not be there
+ err(arg0, z074, 103, 0, 0, 0, 0)
+ }
+ if (b016) {
+ // We should not be there
+ err(arg0, z074, 104, 0, 0, 0, 0)
+ }
+
+ Store(m0f5(p000, p001, ln16), Local0)
+
+ if (LEqual(Local0, 0x07)) {
+ m0f2(p000, CHL0, lc16)
+ Store(m0f5(p000, p001, lc16), Local0)
+ if (LEqual(Local0, 0x07)) {
+ Store(1, b016)
+ m0f7("b016, completed")
+ break
+ }
+ }
+
+ if (b016) {
+ // We should not be there
+ err(arg0, z074, 105, 0, 0, 0, 0)
+ }
+ }
+
+ ////////////////////////////////////////////////////////////// FINISH, 16
+ }
+
+ // CAUTION: don't use below any common variables
+ // being set up before this poin.
+
+ if (b015) {
+ m0f2(p000, BRK0, lc15)
+ break
+ }
+ if (c015) {
+ m0f2(p000, CNT0, lc15)
+ continue
+ }
+
+ if (c015) {
+ // We should not be there
+ err(arg0, z074, 106, 0, 0, 0, 0)
+ }
+ if (b015) {
+ // We should not be there
+ err(arg0, z074, 107, 0, 0, 0, 0)
+ }
+
+ Store(m0f5(p000, p001, ln15), Local0)
+
+ if (LEqual(Local0, 0x07)) {
+ m0f2(p000, CHL0, lc15)
+ Store(m0f5(p000, p001, lc15), Local0)
+ if (LEqual(Local0, 0x07)) {
+ Store(1, b015)
+ m0f7("b015, completed")
+ break
+ }
+ }
+
+ if (b015) {
+ // We should not be there
+ err(arg0, z074, 108, 0, 0, 0, 0)
+ }
+ }
+
+ ////////////////////////////////////////////////////////////// FINISH, 15
+ }
+
+ // CAUTION: don't use below any common variables
+ // being set up before this poin.
+
+ if (b014) {
+ m0f2(p000, BRK0, lc14)
+ break
+ }
+ if (c014) {
+ m0f2(p000, CNT0, lc14)
+ continue
+ }
+
+ if (c014) {
+ // We should not be there
+ err(arg0, z074, 109, 0, 0, 0, 0)
+ }
+ if (b014) {
+ // We should not be there
+ err(arg0, z074, 110, 0, 0, 0, 0)
+ }
+
+ Store(m0f5(p000, p001, ln14), Local0)
+
+ if (LEqual(Local0, 0x07)) {
+ m0f2(p000, CHL0, lc14)
+ Store(m0f5(p000, p001, lc14), Local0)
+ if (LEqual(Local0, 0x07)) {
+ Store(1, b014)
+ m0f7("b014, completed")
+ break
+ }
+ }
+
+ if (b014) {
+ // We should not be there
+ err(arg0, z074, 111, 0, 0, 0, 0)
+ }
+ }
+
+ ////////////////////////////////////////////////////////////// FINISH, 14
+ }
+
+ // CAUTION: don't use below any common variables
+ // being set up before this poin.
+
+ if (b013) {
+ m0f2(p000, BRK0, lc13)
+ break
+ }
+ if (c013) {
+ m0f2(p000, CNT0, lc13)
+ continue
+ }
+
+ if (c013) {
+ // We should not be there
+ err(arg0, z074, 112, 0, 0, 0, 0)
+ }
+ if (b013) {
+ // We should not be there
+ err(arg0, z074, 113, 0, 0, 0, 0)
+ }
+
+ Store(m0f5(p000, p001, ln13), Local0)
+
+ if (LEqual(Local0, 0x07)) {
+ m0f2(p000, CHL0, lc13)
+ Store(m0f5(p000, p001, lc13), Local0)
+ if (LEqual(Local0, 0x07)) {
+ Store(1, b013)
+ m0f7("b013, completed")
+ break
+ }
+ }
+
+ if (b013) {
+ // We should not be there
+ err(arg0, z074, 114, 0, 0, 0, 0)
+ }
+ }
+
+ ////////////////////////////////////////////////////////////// FINISH, 13
+ }
+
+ // CAUTION: don't use below any common variables
+ // being set up before this poin.
+
+ if (b012) {
+ m0f2(p000, BRK0, lc12)
+ break
+ }
+ if (c012) {
+ m0f2(p000, CNT0, lc12)
+ continue
+ }
+
+ if (c012) {
+ // We should not be there
+ err(arg0, z074, 115, 0, 0, 0, 0)
+ }
+ if (b012) {
+ // We should not be there
+ err(arg0, z074, 116, 0, 0, 0, 0)
+ }
+
+ Store(m0f5(p000, p001, ln12), Local0)
+
+ if (LEqual(Local0, 0x07)) {
+ m0f2(p000, CHL0, lc12)
+ Store(m0f5(p000, p001, lc12), Local0)
+ if (LEqual(Local0, 0x07)) {
+ Store(1, b012)
+ m0f7("b012, completed")
+ break
+ }
+ }
+
+ if (b012) {
+ // We should not be there
+ err(arg0, z074, 117, 0, 0, 0, 0)
+ }
+ }
+
+ ////////////////////////////////////////////////////////////// FINISH, 12
+ }
+
+ // CAUTION: don't use below any common variables
+ // being set up before this poin.
+
+ if (b011) {
+ m0f2(p000, BRK0, lc11)
+ break
+ }
+ if (c011) {
+ m0f2(p000, CNT0, lc11)
+ continue
+ }
+
+ if (c011) {
+ // We should not be there
+ err(arg0, z074, 118, 0, 0, 0, 0)
+ }
+ if (b011) {
+ // We should not be there
+ err(arg0, z074, 119, 0, 0, 0, 0)
+ }
+
+ Store(m0f5(p000, p001, ln11), Local0)
+
+ if (LEqual(Local0, 0x07)) {
+ m0f2(p000, CHL0, lc11)
+ Store(m0f5(p000, p001, lc11), Local0)
+ if (LEqual(Local0, 0x07)) {
+ Store(1, b011)
+ m0f7("b011, completed")
+ break
+ }
+ }
+
+ if (b011) {
+ // We should not be there
+ err(arg0, z074, 120, 0, 0, 0, 0)
+ }
+ }
+
+ ////////////////////////////////////////////////////////////// FINISH, 11
+ }
+
+ // CAUTION: don't use below any common variables
+ // being set up before this poin.
+
+ if (b010) {
+ m0f2(p000, BRK0, lc10)
+ break
+ }
+ if (c010) {
+ m0f2(p000, CNT0, lc10)
+ continue
+ }
+
+ if (c010) {
+ // We should not be there
+ err(arg0, z074, 121, 0, 0, 0, 0)
+ }
+ if (b010) {
+ // We should not be there
+ err(arg0, z074, 122, 0, 0, 0, 0)
+ }
+
+ Store(m0f5(p000, p001, ln10), Local0)
+
+ if (LEqual(Local0, 0x07)) {
+ m0f2(p000, CHL0, lc10)
+ Store(m0f5(p000, p001, lc10), Local0)
+ if (LEqual(Local0, 0x07)) {
+ Store(1, b010)
+ m0f7("b010, completed")
+ break
+ }
+ }
+
+ if (b010) {
+ // We should not be there
+ err(arg0, z074, 123, 0, 0, 0, 0)
+ }
+ }
+
+ ////////////////////////////////////////////////////////////// FINISH, 10
+ }
+
+ // CAUTION: don't use below any common variables
+ // being set up before this poin.
+
+ if (b009) {
+ m0f2(p000, BRK0, lc09)
+ break
+ }
+ if (c009) {
+ m0f2(p000, CNT0, lc09)
+ continue
+ }
+
+ if (c009) {
+ // We should not be there
+ err(arg0, z074, 124, 0, 0, 0, 0)
+ }
+ if (b009) {
+ // We should not be there
+ err(arg0, z074, 125, 0, 0, 0, 0)
+ }
+
+ Store(m0f5(p000, p001, ln09), Local0)
+
+ if (LEqual(Local0, 0x07)) {
+ m0f2(p000, CHL0, lc09)
+ Store(m0f5(p000, p001, lc09), Local0)
+ if (LEqual(Local0, 0x07)) {
+ Store(1, b009)
+ m0f7("b009, completed")
+ break
+ }
+ }
+
+ if (b009) {
+ // We should not be there
+ err(arg0, z074, 126, 0, 0, 0, 0)
+ }
+ }
+
+ ////////////////////////////////////////////////////////////// FINISH, 09
+ }
+
+ // CAUTION: don't use below any common variables
+ // being set up before this poin.
+
+ if (b008) {
+ m0f2(p000, BRK0, lc08)
+ break
+ }
+ if (c008) {
+ m0f2(p000, CNT0, lc08)
+ continue
+ }
+
+ if (c008) {
+ // We should not be there
+ err(arg0, z074, 127, 0, 0, 0, 0)
+ }
+ if (b008) {
+ // We should not be there
+ err(arg0, z074, 128, 0, 0, 0, 0)
+ }
+
+ Store(m0f5(p000, p001, ln08), Local0)
+
+ if (LEqual(Local0, 0x07)) {
+ m0f2(p000, CHL0, lc08)
+ Store(m0f5(p000, p001, lc08), Local0)
+ if (LEqual(Local0, 0x07)) {
+ Store(1, b008)
+ m0f7("b008, completed")
+ break
+ }
+ }
+
+ if (b008) {
+ // We should not be there
+ err(arg0, z074, 129, 0, 0, 0, 0)
+ }
+ }
+
+ ////////////////////////////////////////////////////////////// FINISH, 08
+ }
+
+ // CAUTION: don't use below any common variables
+ // being set up before this poin.
+
+ if (b007) {
+ m0f2(p000, BRK0, lc07)
+ break
+ }
+ if (c007) {
+ m0f2(p000, CNT0, lc07)
+ continue
+ }
+
+ if (c007) {
+ // We should not be there
+ err(arg0, z074, 130, 0, 0, 0, 0)
+ }
+ if (b007) {
+ // We should not be there
+ err(arg0, z074, 131, 0, 0, 0, 0)
+ }
+
+ Store(m0f5(p000, p001, ln07), Local0)
+
+ if (LEqual(Local0, 0x07)) {
+ m0f2(p000, CHL0, lc07)
+ Store(m0f5(p000, p001, lc07), Local0)
+ if (LEqual(Local0, 0x07)) {
+ Store(1, b007)
+ m0f7("b007, completed")
+ break
+ }
+ }
+
+ if (b007) {
+ // We should not be there
+ err(arg0, z074, 132, 0, 0, 0, 0)
+ }
+ }
+
+ ////////////////////////////////////////////////////////////// FINISH, 07
+ }
+
+ // CAUTION: don't use below any common variables
+ // being set up before this poin.
+
+ if (b006) {
+ m0f2(p000, BRK0, lc06)
+ break
+ }
+ if (c006) {
+ m0f2(p000, CNT0, lc06)
+ continue
+ }
+
+ if (c006) {
+ // We should not be there
+ err(arg0, z074, 133, 0, 0, 0, 0)
+ }
+ if (b006) {
+ // We should not be there
+ err(arg0, z074, 134, 0, 0, 0, 0)
+ }
+
+ Store(m0f5(p000, p001, ln06), Local0)
+
+ if (LEqual(Local0, 0x07)) {
+ m0f2(p000, CHL0, lc06)
+ Store(m0f5(p000, p001, lc06), Local0)
+ if (LEqual(Local0, 0x07)) {
+ Store(1, b006)
+ m0f7("b006, completed")
+ break
+ }
+ }
+
+ if (b006) {
+ // We should not be there
+ err(arg0, z074, 135, 0, 0, 0, 0)
+ }
+ }
+
+ ////////////////////////////////////////////////////////////// FINISH, 06
+ }
+
+ // CAUTION: don't use below any common variables
+ // being set up before this poin.
+
+ if (b005) {
+ m0f2(p000, BRK0, lc05)
+ break
+ }
+ if (c005) {
+ m0f2(p000, CNT0, lc05)
+ continue
+ }
+
+ if (c005) {
+ // We should not be there
+ err(arg0, z074, 136, 0, 0, 0, 0)
+ }
+ if (b005) {
+ // We should not be there
+ err(arg0, z074, 137, 0, 0, 0, 0)
+ }
+
+ Store(m0f5(p000, p001, ln05), Local0)
+
+ if (LEqual(Local0, 0x07)) {
+ m0f2(p000, CHL0, lc05)
+ Store(m0f5(p000, p001, lc05), Local0)
+ if (LEqual(Local0, 0x07)) {
+ Store(1, b005)
+ m0f7("b005, completed")
+ break
+ }
+ }
+
+ if (b005) {
+ // We should not be there
+ err(arg0, z074, 138, 0, 0, 0, 0)
+ }
+ }
+
+ ////////////////////////////////////////////////////////////// FINISH, 05
+ }
+
+ // CAUTION: don't use below any common variables
+ // being set up before this poin.
+
+ if (b004) {
+ m0f2(p000, BRK0, lc04)
+ break
+ }
+ if (c004) {
+ m0f2(p000, CNT0, lc04)
+ continue
+ }
+
+ if (c004) {
+ // We should not be there
+ err(arg0, z074, 139, 0, 0, 0, 0)
+ }
+ if (b004) {
+ // We should not be there
+ err(arg0, z074, 140, 0, 0, 0, 0)
+ }
+
+ Store(m0f5(p000, p001, ln04), Local0)
+
+ if (LEqual(Local0, 0x07)) {
+ m0f2(p000, CHL0, lc04)
+ Store(m0f5(p000, p001, lc04), Local0)
+ if (LEqual(Local0, 0x07)) {
+ Store(1, b004)
+ m0f7("b004, completed")
+ break
+ }
+ }
+
+ if (b004) {
+ // We should not be there
+ err(arg0, z074, 141, 0, 0, 0, 0)
+ }
+ }
+
+ ////////////////////////////////////////////////////////////// FINISH, 04
+ }
+
+ // CAUTION: don't use below any common variables
+ // being set up before this poin.
+
+ if (b003) {
+ m0f2(p000, BRK0, lc03)
+ break
+ }
+ if (c003) {
+ m0f2(p000, CNT0, lc03)
+ continue
+ }
+
+ if (c003) {
+ // We should not be there
+ err(arg0, z074, 142, 0, 0, 0, 0)
+ }
+ if (b003) {
+ // We should not be there
+ err(arg0, z074, 143, 0, 0, 0, 0)
+ }
+
+ Store(m0f5(p000, p001, ln03), Local0)
+
+ if (LEqual(Local0, 0x07)) {
+ m0f2(p000, CHL0, lc03)
+ Store(m0f5(p000, p001, lc03), Local0)
+ if (LEqual(Local0, 0x07)) {
+ Store(1, b003)
+ m0f7("b003, completed")
+ break
+ }
+ }
+
+ if (b003) {
+ // We should not be there
+ err(arg0, z074, 144, 0, 0, 0, 0)
+ }
+ }
+
+ ////////////////////////////////////////////////////////////// FINISH, 03
+ }
+
+ // CAUTION: don't use below any common variables
+ // being set up before this poin.
+
+ if (b002) {
+ m0f2(p000, BRK0, lc02)
+ break
+ }
+ if (c002) {
+ m0f2(p000, CNT0, lc02)
+ continue
+ }
+
+ if (c002) {
+ // We should not be there
+ err(arg0, z074, 145, 0, 0, 0, 0)
+ }
+ if (b002) {
+ // We should not be there
+ err(arg0, z074, 146, 0, 0, 0, 0)
+ }
+
+ Store(m0f5(p000, p001, ln02), Local0)
+
+ if (LEqual(Local0, 0x07)) {
+ m0f2(p000, CHL0, lc02)
+ Store(m0f5(p000, p001, lc02), Local0)
+ if (LEqual(Local0, 0x07)) {
+ Store(1, b002)
+ m0f7("b002, completed")
+ break
+ }
+ }
+
+ if (b002) {
+ // We should not be there
+ err(arg0, z074, 147, 0, 0, 0, 0)
+ }
+ }
+
+ ////////////////////////////////////////////////////////////// FINISH, 02
+ }
+
+ // CAUTION: don't use below any common variables
+ // being set up before this poin.
+
+ if (c001) {
+ m0f2(p000, CNT0, lc01)
+ continue
+ }
+ if (b001) {
+ m0f2(p000, BRK0, lc01)
+ break
+ }
+
+ if (c001) {
+ // We should not be there
+ err(arg0, z074, 148, 0, 0, 0, 0)
+ }
+ if (b001) {
+ // We should not be there
+ err(arg0, z074, 149, 0, 0, 0, 0)
+ }
+
+ Store(m0f5(p000, p001, ln01), Local0)
+
+ if (LEqual(Local0, 0x07)) {
+ m0f2(p000, CHL0, lc01)
+ Store(m0f5(p000, p001, lc01), Local0)
+ if (LEqual(Local0, 0x07)) {
+ Store(1, b001)
+ m0f7("b001, completed")
+ break
+ }
+ }
+
+ if (b001) {
+ // We should not be there
+ err(arg0, z074, 150, 0, 0, 0, 0)
+ }
+ }
+
+ ////////////////////////////////////////////////////////////// FINISH, 01
+ }
+
+ // CAUTION: don't use below any common variables
+ // being set up before this poin.
+
+ if (c000) {
+ m0f2(p000, CNT0, lc00)
+ continue
+ }
+ if (c000) {
+ // We should not be there
+ err(arg0, z074, 151, 0, 0, 0, 0)
+ }
+ if (b000) {
+ // We should not be there
+ err(arg0, z074, 152, 0, 0, 0, 0)
+ }
+
+ Store(m0f5(p000, p001, ln00), Local0)
+ if (LEqual(Local0, 0x07)) {
+ m0f2(p000, CHL0, lc00)
+ Store(m0f5(p000, p001, lc00), Local0)
+ if (LEqual(Local0, 0x07)) {
+ Store(1, b000)
+ m0f7("b000, completed")
+ break
+ }
+ }
+
+ if (b000) {
+ // We should not be there
+ err(arg0, z074, 153, 0, 0, 0, 0)
+ }
+ }
+
+ ////////////////////////////////////////////////////////////// FINISH, 00
+
+ m0f8(arg0, p000, p001, tvl0)
+
+ m0f6(p000)
+}
+
+// Run-method
+Method(WHL0)
+{
+ Store("TEST: WHL0, While, Break, Continue operators", Debug)
+
+ Name(ts, "WHL0")
+
+ m0fa(ts, tvl0)
+
+ return (0)
+}
diff --git a/tests/aslts/src/runtime/collections/functional/copyobject/DECL.asl b/tests/aslts/src/runtime/collections/functional/copyobject/DECL.asl
new file mode 100644
index 000000000..80cb00774
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/copyobject/DECL.asl
@@ -0,0 +1,31 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+
+Separate test for CopyObject ASL operator should be implemented there. \ No newline at end of file
diff --git a/tests/aslts/src/runtime/collections/functional/descriptor/DECL.asl b/tests/aslts/src/runtime/collections/functional/descriptor/DECL.asl
new file mode 100644
index 000000000..3dbd7e0c7
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/descriptor/DECL.asl
@@ -0,0 +1,66 @@
+/*
+ * 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.
+ */
+
+
+Include("../../../../runtime/collections/functional/descriptor/rtemplate.asl")
+Include("../../../../runtime/collections/functional/descriptor/irq.asl")
+Include("../../../../runtime/collections/functional/descriptor/irqnoflags.asl")
+Include("../../../../runtime/collections/functional/descriptor/dma.asl")
+Include("../../../../runtime/collections/functional/descriptor/dependentfn.asl")
+Include("../../../../runtime/collections/functional/descriptor/io.asl")
+Include("../../../../runtime/collections/functional/descriptor/fixedio.asl")
+Include("../../../../runtime/collections/functional/descriptor/vendorshort.asl")
+
+Include("../../../../runtime/collections/functional/descriptor/memory24.asl")
+Include("../../../../runtime/collections/functional/descriptor/vendorlong.asl")
+Include("../../../../runtime/collections/functional/descriptor/memory32.asl")
+Include("../../../../runtime/collections/functional/descriptor/memory32fixed.asl")
+
+Include("../../../../runtime/collections/functional/descriptor/qwordio.asl")
+Include("../../../../runtime/collections/functional/descriptor/dwordio.asl")
+Include("../../../../runtime/collections/functional/descriptor/wordio.asl")
+
+Include("../../../../runtime/collections/functional/descriptor/extendedio.asl")
+
+Include("../../../../runtime/collections/functional/descriptor/qwordmemory.asl")
+Include("../../../../runtime/collections/functional/descriptor/dwordmemory.asl")
+Include("../../../../runtime/collections/functional/descriptor/wordbusnumber.asl")
+
+Include("../../../../runtime/collections/functional/descriptor/extendedmemory.asl")
+
+Include("../../../../runtime/collections/functional/descriptor/qwordspace.asl")
+Include("../../../../runtime/collections/functional/descriptor/dwordspace.asl")
+Include("../../../../runtime/collections/functional/descriptor/wordspace.asl")
+Include("../../../../runtime/collections/functional/descriptor/extendedspace.asl")
+
+Include("../../../../runtime/collections/functional/descriptor/interrupt.asl")
+Include("../../../../runtime/collections/functional/descriptor/register.asl")
+Include("../../../../runtime/collections/functional/descriptor/resourcetemplate.asl")
+Include("../../../../runtime/collections/functional/descriptor/concatenaterestemplate.asl")
diff --git a/tests/aslts/src/runtime/collections/functional/descriptor/MAIN.asl b/tests/aslts/src/runtime/collections/functional/descriptor/MAIN.asl
new file mode 100644
index 000000000..442364b8d
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/descriptor/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "descriptor.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../runtime/cntl/DECL.asl")
+ Include("../../../../runtime/collections/functional/descriptor/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../runtime/collections/functional/descriptor/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/functional/descriptor/Makefile b/tests/aslts/src/runtime/collections/functional/descriptor/Makefile
new file mode 100644
index 000000000..b027d4fe2
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/descriptor/Makefile
@@ -0,0 +1,7 @@
+# descriptor
+
+AMLMOD= descriptor
+COLL= ../..
+
+TOP= $(COLL)/../../..
+include $(COLL)/Makefile.install
diff --git a/tests/aslts/src/runtime/collections/functional/descriptor/RUN.asl b/tests/aslts/src/runtime/collections/functional/descriptor/RUN.asl
new file mode 100644
index 000000000..2ac70357d
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/descriptor/RUN.asl
@@ -0,0 +1,90 @@
+/*
+ * 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.
+ */
+
+
+if (STTT("Resource Descriptor macros", TCLF, 4, W004)) {
+ SRMT("RT01")
+ RT01()
+ SRMT("RT02")
+ RT02()
+ SRMT("RT03")
+ RT03()
+ SRMT("RT04")
+ RT04()
+ SRMT("RT05")
+ RT05()
+ SRMT("RT06")
+ RT06()
+ SRMT("RT07")
+ RT07()
+ SRMT("RT08")
+ RT08()
+ SRMT("RT09")
+ RT09()
+ SRMT("RT0a")
+ RT0a()
+ SRMT("RT0b")
+ RT0b()
+ SRMT("RT0c")
+ RT0c()
+ SRMT("RT0d")
+ RT0d()
+ SRMT("RT0e")
+ RT0e()
+ SRMT("RT0f")
+ RT0f()
+ SRMT("RT10")
+ RT10()
+ SRMT("RT11")
+ RT11()
+ SRMT("RT12")
+ RT12()
+ SRMT("RT13")
+ RT13()
+ SRMT("RT14")
+ RT14()
+ SRMT("RT15")
+ RT15()
+ SRMT("RT16")
+ RT16()
+ SRMT("RT17")
+ RT17()
+ SRMT("RT18")
+ RT18()
+ SRMT("RT19")
+ RT19()
+ SRMT("RT1a")
+ RT1a()
+ SRMT("RT1b")
+ RT1b()
+ SRMT("RT1c")
+ RT1c()
+}
+FTTT()
diff --git a/tests/aslts/src/runtime/collections/functional/descriptor/concatenaterestemplate.asl b/tests/aslts/src/runtime/collections/functional/descriptor/concatenaterestemplate.asl
new file mode 100644
index 000000000..2d72b5483
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/descriptor/concatenaterestemplate.asl
@@ -0,0 +1,1005 @@
+/*
+ * 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.
+ */
+
+/*
+ * Resource Descriptor macros
+ *
+ * Concatenate two resource templates
+ */
+
+Name(z007, 7)
+
+Name (p440, Package() {
+ Buffer () {0x79, 0},
+ Buffer () {
+ 0x23, 0x01, 0x00, 0x00,
+ 0x22, 0x02, 0x00,
+ 0x2a, 0x04, 0x02,
+ 0x47, 0x01, 0xf1, 0xf0, 0xf3, 0xf2, 0xf4, 0xf5,
+ 0x4b, 0xf1, 0xf0, 0xf2,
+ 0x77, 0x00, 0xa2, 0xb3, 0x76, 0xd5, 0xe6, 0xf7,
+ 0x81, 0x09, 0x00, 0x01, 0xf1, 0xf0, 0xf3, 0xf2, 0xf5, 0xf4, 0xf7, 0xf6,
+ 0x85, 0x11, 0x00, 0x01,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc,
+ 0x86, 0x09, 0x00, 0x00,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0x84, 0x15, 0x00, 0x9f,
+ 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
+ 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff,
+ 0x00, 0x01, 0x02, 0x03,
+ 0x8a, 0x39, 0x00, 0x01, 0x0f, 0x33,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00,
+ 0x87, 0x25, 0x00, 0x01, 0x0f, 0x33, 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00,
+ 0x88, 0x1b, 0x00, 0x01, 0x0f, 0x33,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00,
+ 0x8a, 0x39, 0x00, 0x00, 0x0f, 0x30,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00,
+ 0x87, 0x25, 0x00, 0x00, 0x0f, 0x30,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00,
+ 0x88, 0x1b, 0x00, 0x02, 0x0f, 0x00,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00,
+ 0x89, 0xc8, 0x04, 0x0f, 0xff,
+ 1, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 4, 0, 0, 0,
+ 5, 0, 0, 0, 6, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0,
+ 9, 0, 0, 0, 10, 0, 0, 0, 11, 0, 0, 0, 12, 0, 0, 0,
+ 13, 0, 0, 0, 14, 0, 0, 0, 15, 0, 0, 0, 16, 0, 0, 0,
+ 17, 0, 0, 0, 18, 0, 0, 0, 19, 0, 0, 0, 20, 0, 0, 0,
+ 21, 0, 0, 0, 22, 0, 0, 0, 23, 0, 0, 0, 24, 0, 0, 0,
+ 25, 0, 0, 0, 26, 0, 0, 0, 27, 0, 0, 0, 28, 0, 0, 0,
+ 29, 0, 0, 0, 30, 0, 0, 0, 31, 0, 0, 0, 32, 0, 0, 0,
+ 33, 0, 0, 0, 34, 0, 0, 0, 35, 0, 0, 0, 36, 0, 0, 0,
+ 37, 0, 0, 0, 38, 0, 0, 0, 39, 0, 0, 0, 40, 0, 0, 0,
+ 41, 0, 0, 0, 42, 0, 0, 0, 43, 0, 0, 0, 44, 0, 0, 0,
+ 45, 0, 0, 0, 46, 0, 0, 0, 47, 0, 0, 0, 48, 0, 0, 0,
+ 49, 0, 0, 0, 50, 0, 0, 0, 51, 0, 0, 0, 52, 0, 0, 0,
+ 53, 0, 0, 0, 54, 0, 0, 0, 55, 0, 0, 0, 56, 0, 0, 0,
+ 57, 0, 0, 0, 58, 0, 0, 0, 59, 0, 0, 0, 60, 0, 0, 0,
+ 61, 0, 0, 0, 62, 0, 0, 0, 63, 0, 0, 0, 64, 0, 0, 0,
+ 65, 0, 0, 0, 66, 0, 0, 0, 67, 0, 0, 0, 68, 0, 0, 0,
+ 69, 0, 0, 0, 70, 0, 0, 0, 71, 0, 0, 0, 72, 0, 0, 0,
+ 73, 0, 0, 0, 74, 0, 0, 0, 75, 0, 0, 0, 76, 0, 0, 0,
+ 77, 0, 0, 0, 78, 0, 0, 0, 79, 0, 0, 0, 80, 0, 0, 0,
+ 81, 0, 0, 0, 82, 0, 0, 0, 83, 0, 0, 0, 84, 0, 0, 0,
+ 85, 0, 0, 0, 86, 0, 0, 0, 87, 0, 0, 0, 88, 0, 0, 0,
+ 89, 0, 0, 0, 90, 0, 0, 0, 91, 0, 0, 0, 92, 0, 0, 0,
+ 93, 0, 0, 0, 94, 0, 0, 0, 95, 0, 0, 0, 96, 0, 0, 0,
+ 97, 0, 0, 0, 98, 0, 0, 0, 99, 0, 0, 0,100, 0, 0, 0,
+ 101, 0, 0, 0,102, 0, 0, 0,103, 0, 0, 0,104, 0, 0, 0,
+ 105, 0, 0, 0,106, 0, 0, 0,107, 0, 0, 0,108, 0, 0, 0,
+ 109, 0, 0, 0,110, 0, 0, 0,111, 0, 0, 0,112, 0, 0, 0,
+ 113, 0, 0, 0,114, 0, 0, 0,115, 0, 0, 0,116, 0, 0, 0,
+ 117, 0, 0, 0,118, 0, 0, 0,119, 0, 0, 0,120, 0, 0, 0,
+ 121, 0, 0, 0,122, 0, 0, 0,123, 0, 0, 0,124, 0, 0, 0,
+ 125, 0, 0, 0,126, 0, 0, 0,127, 0, 0, 0,128, 0, 0, 0,
+ 129, 0, 0, 0,130, 0, 0, 0,131, 0, 0, 0,132, 0, 0, 0,
+ 133, 0, 0, 0,134, 0, 0, 0,135, 0, 0, 0,136, 0, 0, 0,
+ 137, 0, 0, 0,138, 0, 0, 0,139, 0, 0, 0,140, 0, 0, 0,
+ 141, 0, 0, 0,142, 0, 0, 0,143, 0, 0, 0,144, 0, 0, 0,
+ 145, 0, 0, 0,146, 0, 0, 0,147, 0, 0, 0,148, 0, 0, 0,
+ 149, 0, 0, 0,150, 0, 0, 0,151, 0, 0, 0,152, 0, 0, 0,
+ 153, 0, 0, 0,154, 0, 0, 0,155, 0, 0, 0,156, 0, 0, 0,
+ 157, 0, 0, 0,158, 0, 0, 0,159, 0, 0, 0,160, 0, 0, 0,
+ 161, 0, 0, 0,162, 0, 0, 0,163, 0, 0, 0,164, 0, 0, 0,
+ 165, 0, 0, 0,166, 0, 0, 0,167, 0, 0, 0,168, 0, 0, 0,
+ 169, 0, 0, 0,170, 0, 0, 0,171, 0, 0, 0,172, 0, 0, 0,
+ 173, 0, 0, 0,174, 0, 0, 0,175, 0, 0, 0,176, 0, 0, 0,
+ 177, 0, 0, 0,178, 0, 0, 0,179, 0, 0, 0,180, 0, 0, 0,
+ 181, 0, 0, 0,182, 0, 0, 0,183, 0, 0, 0,184, 0, 0, 0,
+ 185, 0, 0, 0,186, 0, 0, 0,187, 0, 0, 0,188, 0, 0, 0,
+ 189, 0, 0, 0,190, 0, 0, 0,191, 0, 0, 0,192, 0, 0, 0,
+ 193, 0, 0, 0,194, 0, 0, 0,195, 0, 0, 0,196, 0, 0, 0,
+ 197, 0, 0, 0,198, 0, 0, 0,199, 0, 0, 0,200, 0, 0, 0,
+ 201, 0, 0, 0,202, 0, 0, 0,203, 0, 0, 0,204, 0, 0, 0,
+ 205, 0, 0, 0,206, 0, 0, 0,207, 0, 0, 0,208, 0, 0, 0,
+ 209, 0, 0, 0,210, 0, 0, 0,211, 0, 0, 0,212, 0, 0, 0,
+ 213, 0, 0, 0,214, 0, 0, 0,215, 0, 0, 0,216, 0, 0, 0,
+ 217, 0, 0, 0,218, 0, 0, 0,219, 0, 0, 0,220, 0, 0, 0,
+ 221, 0, 0, 0,222, 0, 0, 0,223, 0, 0, 0,224, 0, 0, 0,
+ 225, 0, 0, 0,226, 0, 0, 0,227, 0, 0, 0,228, 0, 0, 0,
+ 229, 0, 0, 0,230, 0, 0, 0,231, 0, 0, 0,232, 0, 0, 0,
+ 233, 0, 0, 0,234, 0, 0, 0,235, 0, 0, 0,236, 0, 0, 0,
+ 237, 0, 0, 0,238, 0, 0, 0,239, 0, 0, 0,240, 0, 0, 0,
+ 241, 0, 0, 0,242, 0, 0, 0,243, 0, 0, 0,244, 0, 0, 0,
+ 245, 0, 0, 0,246, 0, 0, 0,247, 0, 0, 0,248, 0, 0, 0,
+ 249, 0, 0, 0,250, 0, 0, 0,251, 0, 0, 0,252, 0, 0, 0,
+ 253, 0, 0, 0,254, 0, 0, 0,255, 0, 0, 0,
+ 0xff,
+ 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28,
+ 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30,
+ 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
+ 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40,
+ 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48,
+ 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50,
+ 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58,
+ 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0x60,
+ 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
+ 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
+ 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
+ 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x20, 0x21,
+ 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29,
+ 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30, 0x31,
+ 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39,
+ 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41,
+ 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49,
+ 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51,
+ 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59,
+ 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0x60, 0x61,
+ 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69,
+ 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70, 0x71,
+ 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79,
+ 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x20, 0x21, 0x22,
+ 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a,
+ 0x00,
+ 0x82, 0x0c, 0x00, 0x7f, 0xf0, 0xf1, 0x00,
+ 0xf9, 0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2,
+ 0x8b, 0x35, 0x00, 0x01, 0x0f, 0x33, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8,
+ 0x8b, 0x35, 0x00, 0x00, 0x0f, 0x30, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8,
+ 0x8b, 0x35, 0x00, 0xc0, 0x0f, 0x5a, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8,
+ 0x87, 0x25, 0x00, 0xc0, 0x0f, 0x5a,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00,
+ 0x8a, 0x39, 0x00, 0xc0, 0x0f, 0x5a,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00,
+ 0x88, 0x1b, 0x00, 0xc0, 0x0f, 0x5a,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00,
+ 0x23, 0x01, 0x00, 0x00,
+ 0x22, 0x02, 0x00,
+ 0x2a, 0x04, 0x02,
+ 0x47, 0x01, 0xf1, 0xf0, 0xf3, 0xf2, 0xf4, 0xf5,
+ 0x4b, 0xf1, 0xf0, 0xf2,
+ 0x77, 0x00, 0xa2, 0xb3, 0x76, 0xd5, 0xe6, 0xf7,
+ 0x81, 0x09, 0x00, 0x01, 0xf1, 0xf0, 0xf3, 0xf2, 0xf5, 0xf4, 0xf7, 0xf6,
+ 0x85, 0x11, 0x00, 0x01,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc,
+ 0x86, 0x09, 0x00, 0x00,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0x84, 0x15, 0x00, 0x9f,
+ 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
+ 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff,
+ 0x00, 0x01, 0x02, 0x03,
+ 0x8a, 0x39, 0x00, 0x01, 0x0f, 0x33,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00,
+ 0x87, 0x25, 0x00, 0x01, 0x0f, 0x33, 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00,
+ 0x88, 0x1b, 0x00, 0x01, 0x0f, 0x33,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00,
+ 0x8a, 0x39, 0x00, 0x00, 0x0f, 0x30,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00,
+ 0x87, 0x25, 0x00, 0x00, 0x0f, 0x30,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00,
+ 0x88, 0x1b, 0x00, 0x02, 0x0f, 0x00,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00,
+ 0x89, 0xc8, 0x04, 0x0f, 0xff,
+ 1, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 4, 0, 0, 0,
+ 5, 0, 0, 0, 6, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0,
+ 9, 0, 0, 0, 10, 0, 0, 0, 11, 0, 0, 0, 12, 0, 0, 0,
+ 13, 0, 0, 0, 14, 0, 0, 0, 15, 0, 0, 0, 16, 0, 0, 0,
+ 17, 0, 0, 0, 18, 0, 0, 0, 19, 0, 0, 0, 20, 0, 0, 0,
+ 21, 0, 0, 0, 22, 0, 0, 0, 23, 0, 0, 0, 24, 0, 0, 0,
+ 25, 0, 0, 0, 26, 0, 0, 0, 27, 0, 0, 0, 28, 0, 0, 0,
+ 29, 0, 0, 0, 30, 0, 0, 0, 31, 0, 0, 0, 32, 0, 0, 0,
+ 33, 0, 0, 0, 34, 0, 0, 0, 35, 0, 0, 0, 36, 0, 0, 0,
+ 37, 0, 0, 0, 38, 0, 0, 0, 39, 0, 0, 0, 40, 0, 0, 0,
+ 41, 0, 0, 0, 42, 0, 0, 0, 43, 0, 0, 0, 44, 0, 0, 0,
+ 45, 0, 0, 0, 46, 0, 0, 0, 47, 0, 0, 0, 48, 0, 0, 0,
+ 49, 0, 0, 0, 50, 0, 0, 0, 51, 0, 0, 0, 52, 0, 0, 0,
+ 53, 0, 0, 0, 54, 0, 0, 0, 55, 0, 0, 0, 56, 0, 0, 0,
+ 57, 0, 0, 0, 58, 0, 0, 0, 59, 0, 0, 0, 60, 0, 0, 0,
+ 61, 0, 0, 0, 62, 0, 0, 0, 63, 0, 0, 0, 64, 0, 0, 0,
+ 65, 0, 0, 0, 66, 0, 0, 0, 67, 0, 0, 0, 68, 0, 0, 0,
+ 69, 0, 0, 0, 70, 0, 0, 0, 71, 0, 0, 0, 72, 0, 0, 0,
+ 73, 0, 0, 0, 74, 0, 0, 0, 75, 0, 0, 0, 76, 0, 0, 0,
+ 77, 0, 0, 0, 78, 0, 0, 0, 79, 0, 0, 0, 80, 0, 0, 0,
+ 81, 0, 0, 0, 82, 0, 0, 0, 83, 0, 0, 0, 84, 0, 0, 0,
+ 85, 0, 0, 0, 86, 0, 0, 0, 87, 0, 0, 0, 88, 0, 0, 0,
+ 89, 0, 0, 0, 90, 0, 0, 0, 91, 0, 0, 0, 92, 0, 0, 0,
+ 93, 0, 0, 0, 94, 0, 0, 0, 95, 0, 0, 0, 96, 0, 0, 0,
+ 97, 0, 0, 0, 98, 0, 0, 0, 99, 0, 0, 0,100, 0, 0, 0,
+ 101, 0, 0, 0,102, 0, 0, 0,103, 0, 0, 0,104, 0, 0, 0,
+ 105, 0, 0, 0,106, 0, 0, 0,107, 0, 0, 0,108, 0, 0, 0,
+ 109, 0, 0, 0,110, 0, 0, 0,111, 0, 0, 0,112, 0, 0, 0,
+ 113, 0, 0, 0,114, 0, 0, 0,115, 0, 0, 0,116, 0, 0, 0,
+ 117, 0, 0, 0,118, 0, 0, 0,119, 0, 0, 0,120, 0, 0, 0,
+ 121, 0, 0, 0,122, 0, 0, 0,123, 0, 0, 0,124, 0, 0, 0,
+ 125, 0, 0, 0,126, 0, 0, 0,127, 0, 0, 0,128, 0, 0, 0,
+ 129, 0, 0, 0,130, 0, 0, 0,131, 0, 0, 0,132, 0, 0, 0,
+ 133, 0, 0, 0,134, 0, 0, 0,135, 0, 0, 0,136, 0, 0, 0,
+ 137, 0, 0, 0,138, 0, 0, 0,139, 0, 0, 0,140, 0, 0, 0,
+ 141, 0, 0, 0,142, 0, 0, 0,143, 0, 0, 0,144, 0, 0, 0,
+ 145, 0, 0, 0,146, 0, 0, 0,147, 0, 0, 0,148, 0, 0, 0,
+ 149, 0, 0, 0,150, 0, 0, 0,151, 0, 0, 0,152, 0, 0, 0,
+ 153, 0, 0, 0,154, 0, 0, 0,155, 0, 0, 0,156, 0, 0, 0,
+ 157, 0, 0, 0,158, 0, 0, 0,159, 0, 0, 0,160, 0, 0, 0,
+ 161, 0, 0, 0,162, 0, 0, 0,163, 0, 0, 0,164, 0, 0, 0,
+ 165, 0, 0, 0,166, 0, 0, 0,167, 0, 0, 0,168, 0, 0, 0,
+ 169, 0, 0, 0,170, 0, 0, 0,171, 0, 0, 0,172, 0, 0, 0,
+ 173, 0, 0, 0,174, 0, 0, 0,175, 0, 0, 0,176, 0, 0, 0,
+ 177, 0, 0, 0,178, 0, 0, 0,179, 0, 0, 0,180, 0, 0, 0,
+ 181, 0, 0, 0,182, 0, 0, 0,183, 0, 0, 0,184, 0, 0, 0,
+ 185, 0, 0, 0,186, 0, 0, 0,187, 0, 0, 0,188, 0, 0, 0,
+ 189, 0, 0, 0,190, 0, 0, 0,191, 0, 0, 0,192, 0, 0, 0,
+ 193, 0, 0, 0,194, 0, 0, 0,195, 0, 0, 0,196, 0, 0, 0,
+ 197, 0, 0, 0,198, 0, 0, 0,199, 0, 0, 0,200, 0, 0, 0,
+ 201, 0, 0, 0,202, 0, 0, 0,203, 0, 0, 0,204, 0, 0, 0,
+ 205, 0, 0, 0,206, 0, 0, 0,207, 0, 0, 0,208, 0, 0, 0,
+ 209, 0, 0, 0,210, 0, 0, 0,211, 0, 0, 0,212, 0, 0, 0,
+ 213, 0, 0, 0,214, 0, 0, 0,215, 0, 0, 0,216, 0, 0, 0,
+ 217, 0, 0, 0,218, 0, 0, 0,219, 0, 0, 0,220, 0, 0, 0,
+ 221, 0, 0, 0,222, 0, 0, 0,223, 0, 0, 0,224, 0, 0, 0,
+ 225, 0, 0, 0,226, 0, 0, 0,227, 0, 0, 0,228, 0, 0, 0,
+ 229, 0, 0, 0,230, 0, 0, 0,231, 0, 0, 0,232, 0, 0, 0,
+ 233, 0, 0, 0,234, 0, 0, 0,235, 0, 0, 0,236, 0, 0, 0,
+ 237, 0, 0, 0,238, 0, 0, 0,239, 0, 0, 0,240, 0, 0, 0,
+ 241, 0, 0, 0,242, 0, 0, 0,243, 0, 0, 0,244, 0, 0, 0,
+ 245, 0, 0, 0,246, 0, 0, 0,247, 0, 0, 0,248, 0, 0, 0,
+ 249, 0, 0, 0,250, 0, 0, 0,251, 0, 0, 0,252, 0, 0, 0,
+ 253, 0, 0, 0,254, 0, 0, 0,255, 0, 0, 0,
+ 0xff,
+ 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28,
+ 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30,
+ 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
+ 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40,
+ 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48,
+ 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50,
+ 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58,
+ 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0x60,
+ 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
+ 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
+ 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
+ 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x20, 0x21,
+ 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29,
+ 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30, 0x31,
+ 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39,
+ 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41,
+ 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49,
+ 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51,
+ 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59,
+ 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0x60, 0x61,
+ 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69,
+ 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70, 0x71,
+ 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79,
+ 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x20, 0x21, 0x22,
+ 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a,
+ 0x00,
+ 0x82, 0x0c, 0x00, 0x7f, 0xf0, 0xf1, 0x00,
+ 0xf9, 0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2,
+ 0x8b, 0x35, 0x00, 0x01, 0x0f, 0x33, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8,
+ 0x8b, 0x35, 0x00, 0x00, 0x0f, 0x30, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8,
+ 0x8b, 0x35, 0x00, 0xc0, 0x0f, 0x5a, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8,
+ 0x87, 0x25, 0x00, 0xc0, 0x0f, 0x5a,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00,
+ 0x8a, 0x39, 0x00, 0xc0, 0x0f, 0x5a,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00,
+ 0x88, 0x1b, 0x00, 0xc0, 0x0f, 0x5a,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00,
+ 0x79, 0},
+ Buffer () {
+ 0x30,
+ 0x23, 0x01, 0x00, 0x00,
+ 0x22, 0x02, 0x00,
+ 0x30,
+ 0x23, 0x01, 0x00, 0x00,
+ 0x22, 0x02, 0x00,
+ 0x2a, 0x04, 0x02,
+ 0x31, 0x00,
+ 0x23, 0x01, 0x00, 0x00,
+ 0x22, 0x02, 0x00,
+ 0x2a, 0x04, 0x02,
+ 0x47, 0x01, 0xf1, 0xf0, 0xf3, 0xf2, 0xf4, 0xf5,
+ 0x31, 0x04,
+ 0x23, 0x01, 0x00, 0x00,
+ 0x22, 0x02, 0x00,
+ 0x2a, 0x04, 0x02,
+ 0x47, 0x01, 0xf1, 0xf0, 0xf3, 0xf2, 0xf4, 0xf5,
+ 0x4b, 0xf1, 0xf0, 0xf2,
+ 0x31, 0x08,
+ 0x23, 0x01, 0x00, 0x00,
+ 0x22, 0x02, 0x00,
+ 0x2a, 0x04, 0x02,
+ 0x47, 0x01, 0xf1, 0xf0, 0xf3, 0xf2, 0xf4, 0xf5,
+ 0x4b, 0xf1, 0xf0, 0xf2,
+ 0x77, 0x00, 0xa2, 0xb3, 0x76, 0xd5, 0xe6, 0xf7,
+ 0x31, 0x01,
+ 0x23, 0x01, 0x00, 0x00,
+ 0x22, 0x02, 0x00,
+ 0x2a, 0x04, 0x02,
+ 0x47, 0x01, 0xf1, 0xf0, 0xf3, 0xf2, 0xf4, 0xf5,
+ 0x4b, 0xf1, 0xf0, 0xf2,
+ 0x77, 0x00, 0xa2, 0xb3, 0x76, 0xd5, 0xe6, 0xf7,
+ 0x81, 0x09, 0x00, 0x01, 0xf1, 0xf0, 0xf3, 0xf2, 0xf5, 0xf4, 0xf7, 0xf6,
+ 0x31, 0x05,
+ 0x23, 0x01, 0x00, 0x00,
+ 0x22, 0x02, 0x00,
+ 0x2a, 0x04, 0x02,
+ 0x47, 0x01, 0xf1, 0xf0, 0xf3, 0xf2, 0xf4, 0xf5,
+ 0x4b, 0xf1, 0xf0, 0xf2,
+ 0x77, 0x00, 0xa2, 0xb3, 0x76, 0xd5, 0xe6, 0xf7,
+ 0x81, 0x09, 0x00, 0x01, 0xf1, 0xf0, 0xf3, 0xf2, 0xf5, 0xf4, 0xf7, 0xf6,
+ 0x85, 0x11, 0x00, 0x01,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc,
+ 0x31, 0x05,
+ 0x23, 0x01, 0x00, 0x00,
+ 0x22, 0x02, 0x00,
+ 0x2a, 0x04, 0x02,
+ 0x47, 0x01, 0xf1, 0xf0, 0xf3, 0xf2, 0xf4, 0xf5,
+ 0x4b, 0xf1, 0xf0, 0xf2,
+ 0x77, 0x00, 0xa2, 0xb3, 0x76, 0xd5, 0xe6, 0xf7,
+ 0x81, 0x09, 0x00, 0x01, 0xf1, 0xf0, 0xf3, 0xf2, 0xf5, 0xf4, 0xf7, 0xf6,
+ 0x85, 0x11, 0x00, 0x01,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc,
+ 0x86, 0x09, 0x00, 0x00,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0x84, 0x15, 0x00, 0x9f,
+ 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
+ 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff,
+ 0x00, 0x01, 0x02, 0x03,
+ 0x8a, 0x39, 0x00, 0x01, 0x0f, 0x33,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00,
+ 0x87, 0x25, 0x00, 0x01, 0x0f, 0x33, 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00,
+ 0x88, 0x1b, 0x00, 0x01, 0x0f, 0x33,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00,
+ 0x8a, 0x39, 0x00, 0x00, 0x0f, 0x30,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00,
+ 0x87, 0x25, 0x00, 0x00, 0x0f, 0x30,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00,
+ 0x88, 0x1b, 0x00, 0x02, 0x0f, 0x00,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00,
+ 0x89, 0xc8, 0x04, 0x0f, 0xff,
+ 1, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 4, 0, 0, 0,
+ 5, 0, 0, 0, 6, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0,
+ 9, 0, 0, 0, 10, 0, 0, 0, 11, 0, 0, 0, 12, 0, 0, 0,
+ 13, 0, 0, 0, 14, 0, 0, 0, 15, 0, 0, 0, 16, 0, 0, 0,
+ 17, 0, 0, 0, 18, 0, 0, 0, 19, 0, 0, 0, 20, 0, 0, 0,
+ 21, 0, 0, 0, 22, 0, 0, 0, 23, 0, 0, 0, 24, 0, 0, 0,
+ 25, 0, 0, 0, 26, 0, 0, 0, 27, 0, 0, 0, 28, 0, 0, 0,
+ 29, 0, 0, 0, 30, 0, 0, 0, 31, 0, 0, 0, 32, 0, 0, 0,
+ 33, 0, 0, 0, 34, 0, 0, 0, 35, 0, 0, 0, 36, 0, 0, 0,
+ 37, 0, 0, 0, 38, 0, 0, 0, 39, 0, 0, 0, 40, 0, 0, 0,
+ 41, 0, 0, 0, 42, 0, 0, 0, 43, 0, 0, 0, 44, 0, 0, 0,
+ 45, 0, 0, 0, 46, 0, 0, 0, 47, 0, 0, 0, 48, 0, 0, 0,
+ 49, 0, 0, 0, 50, 0, 0, 0, 51, 0, 0, 0, 52, 0, 0, 0,
+ 53, 0, 0, 0, 54, 0, 0, 0, 55, 0, 0, 0, 56, 0, 0, 0,
+ 57, 0, 0, 0, 58, 0, 0, 0, 59, 0, 0, 0, 60, 0, 0, 0,
+ 61, 0, 0, 0, 62, 0, 0, 0, 63, 0, 0, 0, 64, 0, 0, 0,
+ 65, 0, 0, 0, 66, 0, 0, 0, 67, 0, 0, 0, 68, 0, 0, 0,
+ 69, 0, 0, 0, 70, 0, 0, 0, 71, 0, 0, 0, 72, 0, 0, 0,
+ 73, 0, 0, 0, 74, 0, 0, 0, 75, 0, 0, 0, 76, 0, 0, 0,
+ 77, 0, 0, 0, 78, 0, 0, 0, 79, 0, 0, 0, 80, 0, 0, 0,
+ 81, 0, 0, 0, 82, 0, 0, 0, 83, 0, 0, 0, 84, 0, 0, 0,
+ 85, 0, 0, 0, 86, 0, 0, 0, 87, 0, 0, 0, 88, 0, 0, 0,
+ 89, 0, 0, 0, 90, 0, 0, 0, 91, 0, 0, 0, 92, 0, 0, 0,
+ 93, 0, 0, 0, 94, 0, 0, 0, 95, 0, 0, 0, 96, 0, 0, 0,
+ 97, 0, 0, 0, 98, 0, 0, 0, 99, 0, 0, 0,100, 0, 0, 0,
+ 101, 0, 0, 0,102, 0, 0, 0,103, 0, 0, 0,104, 0, 0, 0,
+ 105, 0, 0, 0,106, 0, 0, 0,107, 0, 0, 0,108, 0, 0, 0,
+ 109, 0, 0, 0,110, 0, 0, 0,111, 0, 0, 0,112, 0, 0, 0,
+ 113, 0, 0, 0,114, 0, 0, 0,115, 0, 0, 0,116, 0, 0, 0,
+ 117, 0, 0, 0,118, 0, 0, 0,119, 0, 0, 0,120, 0, 0, 0,
+ 121, 0, 0, 0,122, 0, 0, 0,123, 0, 0, 0,124, 0, 0, 0,
+ 125, 0, 0, 0,126, 0, 0, 0,127, 0, 0, 0,128, 0, 0, 0,
+ 129, 0, 0, 0,130, 0, 0, 0,131, 0, 0, 0,132, 0, 0, 0,
+ 133, 0, 0, 0,134, 0, 0, 0,135, 0, 0, 0,136, 0, 0, 0,
+ 137, 0, 0, 0,138, 0, 0, 0,139, 0, 0, 0,140, 0, 0, 0,
+ 141, 0, 0, 0,142, 0, 0, 0,143, 0, 0, 0,144, 0, 0, 0,
+ 145, 0, 0, 0,146, 0, 0, 0,147, 0, 0, 0,148, 0, 0, 0,
+ 149, 0, 0, 0,150, 0, 0, 0,151, 0, 0, 0,152, 0, 0, 0,
+ 153, 0, 0, 0,154, 0, 0, 0,155, 0, 0, 0,156, 0, 0, 0,
+ 157, 0, 0, 0,158, 0, 0, 0,159, 0, 0, 0,160, 0, 0, 0,
+ 161, 0, 0, 0,162, 0, 0, 0,163, 0, 0, 0,164, 0, 0, 0,
+ 165, 0, 0, 0,166, 0, 0, 0,167, 0, 0, 0,168, 0, 0, 0,
+ 169, 0, 0, 0,170, 0, 0, 0,171, 0, 0, 0,172, 0, 0, 0,
+ 173, 0, 0, 0,174, 0, 0, 0,175, 0, 0, 0,176, 0, 0, 0,
+ 177, 0, 0, 0,178, 0, 0, 0,179, 0, 0, 0,180, 0, 0, 0,
+ 181, 0, 0, 0,182, 0, 0, 0,183, 0, 0, 0,184, 0, 0, 0,
+ 185, 0, 0, 0,186, 0, 0, 0,187, 0, 0, 0,188, 0, 0, 0,
+ 189, 0, 0, 0,190, 0, 0, 0,191, 0, 0, 0,192, 0, 0, 0,
+ 193, 0, 0, 0,194, 0, 0, 0,195, 0, 0, 0,196, 0, 0, 0,
+ 197, 0, 0, 0,198, 0, 0, 0,199, 0, 0, 0,200, 0, 0, 0,
+ 201, 0, 0, 0,202, 0, 0, 0,203, 0, 0, 0,204, 0, 0, 0,
+ 205, 0, 0, 0,206, 0, 0, 0,207, 0, 0, 0,208, 0, 0, 0,
+ 209, 0, 0, 0,210, 0, 0, 0,211, 0, 0, 0,212, 0, 0, 0,
+ 213, 0, 0, 0,214, 0, 0, 0,215, 0, 0, 0,216, 0, 0, 0,
+ 217, 0, 0, 0,218, 0, 0, 0,219, 0, 0, 0,220, 0, 0, 0,
+ 221, 0, 0, 0,222, 0, 0, 0,223, 0, 0, 0,224, 0, 0, 0,
+ 225, 0, 0, 0,226, 0, 0, 0,227, 0, 0, 0,228, 0, 0, 0,
+ 229, 0, 0, 0,230, 0, 0, 0,231, 0, 0, 0,232, 0, 0, 0,
+ 233, 0, 0, 0,234, 0, 0, 0,235, 0, 0, 0,236, 0, 0, 0,
+ 237, 0, 0, 0,238, 0, 0, 0,239, 0, 0, 0,240, 0, 0, 0,
+ 241, 0, 0, 0,242, 0, 0, 0,243, 0, 0, 0,244, 0, 0, 0,
+ 245, 0, 0, 0,246, 0, 0, 0,247, 0, 0, 0,248, 0, 0, 0,
+ 249, 0, 0, 0,250, 0, 0, 0,251, 0, 0, 0,252, 0, 0, 0,
+ 253, 0, 0, 0,254, 0, 0, 0,255, 0, 0, 0,
+ 0xff,
+ 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28,
+ 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30,
+ 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
+ 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40,
+ 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48,
+ 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50,
+ 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58,
+ 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0x60,
+ 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
+ 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
+ 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
+ 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x20, 0x21,
+ 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29,
+ 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30, 0x31,
+ 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39,
+ 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41,
+ 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49,
+ 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51,
+ 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59,
+ 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0x60, 0x61,
+ 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69,
+ 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70, 0x71,
+ 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79,
+ 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x20, 0x21, 0x22,
+ 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a,
+ 0x00,
+ 0x82, 0x0c, 0x00, 0x7f, 0xf0, 0xf1, 0x00,
+ 0xf9, 0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2,
+ 0x8b, 0x35, 0x00, 0x01, 0x0f, 0x33, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8,
+ 0x8b, 0x35, 0x00, 0x00, 0x0f, 0x30, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8,
+ 0x8b, 0x35, 0x00, 0xc0, 0x0f, 0x5a, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8,
+ 0x87, 0x25, 0x00, 0xc0, 0x0f, 0x5a,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00,
+ 0x8a, 0x39, 0x00, 0xc0, 0x0f, 0x5a,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00,
+ 0x88, 0x1b, 0x00, 0xc0, 0x0f, 0x5a,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00,
+ 0x31, 0x09,
+ 0x23, 0x01, 0x00, 0x00,
+ 0x22, 0x02, 0x00,
+ 0x2a, 0x04, 0x02,
+ 0x47, 0x01, 0xf1, 0xf0, 0xf3, 0xf2, 0xf4, 0xf5,
+ 0x4b, 0xf1, 0xf0, 0xf2,
+ 0x77, 0x00, 0xa2, 0xb3, 0x76, 0xd5, 0xe6, 0xf7,
+ 0x81, 0x09, 0x00, 0x01, 0xf1, 0xf0, 0xf3, 0xf2, 0xf5, 0xf4, 0xf7, 0xf6,
+ 0x85, 0x11, 0x00, 0x01,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc,
+ 0x86, 0x09, 0x00, 0x00,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0x31, 0x02,
+ 0x31, 0x06,
+ 0x23, 0x01, 0x00, 0x00,
+ 0x22, 0x02, 0x00,
+ 0x2a, 0x04, 0x02,
+ 0x47, 0x01, 0xf1, 0xf0, 0xf3, 0xf2, 0xf4, 0xf5,
+ 0x4b, 0xf1, 0xf0, 0xf2,
+ 0x77, 0x00, 0xa2, 0xb3, 0x76, 0xd5, 0xe6, 0xf7,
+ 0x81, 0x09, 0x00, 0x01, 0xf1, 0xf0, 0xf3, 0xf2, 0xf5, 0xf4, 0xf7, 0xf6,
+ 0x85, 0x11, 0x00, 0x01,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc,
+ 0x86, 0x09, 0x00, 0x00,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0x84, 0x15, 0x00, 0x9f,
+ 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
+ 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff,
+ 0x00, 0x01, 0x02, 0x03,
+ 0x31, 0x0a,
+ 0x38,
+ 0x30,
+ 0x23, 0x01, 0x00, 0x00,
+ 0x22, 0x02, 0x00,
+ 0x30,
+ 0x23, 0x01, 0x00, 0x00,
+ 0x22, 0x02, 0x00,
+ 0x2a, 0x04, 0x02,
+ 0x31, 0x00,
+ 0x23, 0x01, 0x00, 0x00,
+ 0x22, 0x02, 0x00,
+ 0x2a, 0x04, 0x02,
+ 0x47, 0x01, 0xf1, 0xf0, 0xf3, 0xf2, 0xf4, 0xf5,
+ 0x31, 0x04,
+ 0x23, 0x01, 0x00, 0x00,
+ 0x22, 0x02, 0x00,
+ 0x2a, 0x04, 0x02,
+ 0x47, 0x01, 0xf1, 0xf0, 0xf3, 0xf2, 0xf4, 0xf5,
+ 0x4b, 0xf1, 0xf0, 0xf2,
+ 0x31, 0x08,
+ 0x23, 0x01, 0x00, 0x00,
+ 0x22, 0x02, 0x00,
+ 0x2a, 0x04, 0x02,
+ 0x47, 0x01, 0xf1, 0xf0, 0xf3, 0xf2, 0xf4, 0xf5,
+ 0x4b, 0xf1, 0xf0, 0xf2,
+ 0x77, 0x00, 0xa2, 0xb3, 0x76, 0xd5, 0xe6, 0xf7,
+ 0x31, 0x01,
+ 0x23, 0x01, 0x00, 0x00,
+ 0x22, 0x02, 0x00,
+ 0x2a, 0x04, 0x02,
+ 0x47, 0x01, 0xf1, 0xf0, 0xf3, 0xf2, 0xf4, 0xf5,
+ 0x4b, 0xf1, 0xf0, 0xf2,
+ 0x77, 0x00, 0xa2, 0xb3, 0x76, 0xd5, 0xe6, 0xf7,
+ 0x81, 0x09, 0x00, 0x01, 0xf1, 0xf0, 0xf3, 0xf2, 0xf5, 0xf4, 0xf7, 0xf6,
+ 0x31, 0x05,
+ 0x23, 0x01, 0x00, 0x00,
+ 0x22, 0x02, 0x00,
+ 0x2a, 0x04, 0x02,
+ 0x47, 0x01, 0xf1, 0xf0, 0xf3, 0xf2, 0xf4, 0xf5,
+ 0x4b, 0xf1, 0xf0, 0xf2,
+ 0x77, 0x00, 0xa2, 0xb3, 0x76, 0xd5, 0xe6, 0xf7,
+ 0x81, 0x09, 0x00, 0x01, 0xf1, 0xf0, 0xf3, 0xf2, 0xf5, 0xf4, 0xf7, 0xf6,
+ 0x85, 0x11, 0x00, 0x01,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc,
+ 0x31, 0x05,
+ 0x23, 0x01, 0x00, 0x00,
+ 0x22, 0x02, 0x00,
+ 0x2a, 0x04, 0x02,
+ 0x47, 0x01, 0xf1, 0xf0, 0xf3, 0xf2, 0xf4, 0xf5,
+ 0x4b, 0xf1, 0xf0, 0xf2,
+ 0x77, 0x00, 0xa2, 0xb3, 0x76, 0xd5, 0xe6, 0xf7,
+ 0x81, 0x09, 0x00, 0x01, 0xf1, 0xf0, 0xf3, 0xf2, 0xf5, 0xf4, 0xf7, 0xf6,
+ 0x85, 0x11, 0x00, 0x01,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc,
+ 0x86, 0x09, 0x00, 0x00,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0x84, 0x15, 0x00, 0x9f,
+ 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
+ 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff,
+ 0x00, 0x01, 0x02, 0x03,
+ 0x8a, 0x39, 0x00, 0x01, 0x0f, 0x33,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00,
+ 0x87, 0x25, 0x00, 0x01, 0x0f, 0x33, 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00,
+ 0x88, 0x1b, 0x00, 0x01, 0x0f, 0x33,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00,
+ 0x8a, 0x39, 0x00, 0x00, 0x0f, 0x30,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00,
+ 0x87, 0x25, 0x00, 0x00, 0x0f, 0x30,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00,
+ 0x88, 0x1b, 0x00, 0x02, 0x0f, 0x00,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00,
+ 0x89, 0xc8, 0x04, 0x0f, 0xff,
+ 1, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 4, 0, 0, 0,
+ 5, 0, 0, 0, 6, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0,
+ 9, 0, 0, 0, 10, 0, 0, 0, 11, 0, 0, 0, 12, 0, 0, 0,
+ 13, 0, 0, 0, 14, 0, 0, 0, 15, 0, 0, 0, 16, 0, 0, 0,
+ 17, 0, 0, 0, 18, 0, 0, 0, 19, 0, 0, 0, 20, 0, 0, 0,
+ 21, 0, 0, 0, 22, 0, 0, 0, 23, 0, 0, 0, 24, 0, 0, 0,
+ 25, 0, 0, 0, 26, 0, 0, 0, 27, 0, 0, 0, 28, 0, 0, 0,
+ 29, 0, 0, 0, 30, 0, 0, 0, 31, 0, 0, 0, 32, 0, 0, 0,
+ 33, 0, 0, 0, 34, 0, 0, 0, 35, 0, 0, 0, 36, 0, 0, 0,
+ 37, 0, 0, 0, 38, 0, 0, 0, 39, 0, 0, 0, 40, 0, 0, 0,
+ 41, 0, 0, 0, 42, 0, 0, 0, 43, 0, 0, 0, 44, 0, 0, 0,
+ 45, 0, 0, 0, 46, 0, 0, 0, 47, 0, 0, 0, 48, 0, 0, 0,
+ 49, 0, 0, 0, 50, 0, 0, 0, 51, 0, 0, 0, 52, 0, 0, 0,
+ 53, 0, 0, 0, 54, 0, 0, 0, 55, 0, 0, 0, 56, 0, 0, 0,
+ 57, 0, 0, 0, 58, 0, 0, 0, 59, 0, 0, 0, 60, 0, 0, 0,
+ 61, 0, 0, 0, 62, 0, 0, 0, 63, 0, 0, 0, 64, 0, 0, 0,
+ 65, 0, 0, 0, 66, 0, 0, 0, 67, 0, 0, 0, 68, 0, 0, 0,
+ 69, 0, 0, 0, 70, 0, 0, 0, 71, 0, 0, 0, 72, 0, 0, 0,
+ 73, 0, 0, 0, 74, 0, 0, 0, 75, 0, 0, 0, 76, 0, 0, 0,
+ 77, 0, 0, 0, 78, 0, 0, 0, 79, 0, 0, 0, 80, 0, 0, 0,
+ 81, 0, 0, 0, 82, 0, 0, 0, 83, 0, 0, 0, 84, 0, 0, 0,
+ 85, 0, 0, 0, 86, 0, 0, 0, 87, 0, 0, 0, 88, 0, 0, 0,
+ 89, 0, 0, 0, 90, 0, 0, 0, 91, 0, 0, 0, 92, 0, 0, 0,
+ 93, 0, 0, 0, 94, 0, 0, 0, 95, 0, 0, 0, 96, 0, 0, 0,
+ 97, 0, 0, 0, 98, 0, 0, 0, 99, 0, 0, 0,100, 0, 0, 0,
+ 101, 0, 0, 0,102, 0, 0, 0,103, 0, 0, 0,104, 0, 0, 0,
+ 105, 0, 0, 0,106, 0, 0, 0,107, 0, 0, 0,108, 0, 0, 0,
+ 109, 0, 0, 0,110, 0, 0, 0,111, 0, 0, 0,112, 0, 0, 0,
+ 113, 0, 0, 0,114, 0, 0, 0,115, 0, 0, 0,116, 0, 0, 0,
+ 117, 0, 0, 0,118, 0, 0, 0,119, 0, 0, 0,120, 0, 0, 0,
+ 121, 0, 0, 0,122, 0, 0, 0,123, 0, 0, 0,124, 0, 0, 0,
+ 125, 0, 0, 0,126, 0, 0, 0,127, 0, 0, 0,128, 0, 0, 0,
+ 129, 0, 0, 0,130, 0, 0, 0,131, 0, 0, 0,132, 0, 0, 0,
+ 133, 0, 0, 0,134, 0, 0, 0,135, 0, 0, 0,136, 0, 0, 0,
+ 137, 0, 0, 0,138, 0, 0, 0,139, 0, 0, 0,140, 0, 0, 0,
+ 141, 0, 0, 0,142, 0, 0, 0,143, 0, 0, 0,144, 0, 0, 0,
+ 145, 0, 0, 0,146, 0, 0, 0,147, 0, 0, 0,148, 0, 0, 0,
+ 149, 0, 0, 0,150, 0, 0, 0,151, 0, 0, 0,152, 0, 0, 0,
+ 153, 0, 0, 0,154, 0, 0, 0,155, 0, 0, 0,156, 0, 0, 0,
+ 157, 0, 0, 0,158, 0, 0, 0,159, 0, 0, 0,160, 0, 0, 0,
+ 161, 0, 0, 0,162, 0, 0, 0,163, 0, 0, 0,164, 0, 0, 0,
+ 165, 0, 0, 0,166, 0, 0, 0,167, 0, 0, 0,168, 0, 0, 0,
+ 169, 0, 0, 0,170, 0, 0, 0,171, 0, 0, 0,172, 0, 0, 0,
+ 173, 0, 0, 0,174, 0, 0, 0,175, 0, 0, 0,176, 0, 0, 0,
+ 177, 0, 0, 0,178, 0, 0, 0,179, 0, 0, 0,180, 0, 0, 0,
+ 181, 0, 0, 0,182, 0, 0, 0,183, 0, 0, 0,184, 0, 0, 0,
+ 185, 0, 0, 0,186, 0, 0, 0,187, 0, 0, 0,188, 0, 0, 0,
+ 189, 0, 0, 0,190, 0, 0, 0,191, 0, 0, 0,192, 0, 0, 0,
+ 193, 0, 0, 0,194, 0, 0, 0,195, 0, 0, 0,196, 0, 0, 0,
+ 197, 0, 0, 0,198, 0, 0, 0,199, 0, 0, 0,200, 0, 0, 0,
+ 201, 0, 0, 0,202, 0, 0, 0,203, 0, 0, 0,204, 0, 0, 0,
+ 205, 0, 0, 0,206, 0, 0, 0,207, 0, 0, 0,208, 0, 0, 0,
+ 209, 0, 0, 0,210, 0, 0, 0,211, 0, 0, 0,212, 0, 0, 0,
+ 213, 0, 0, 0,214, 0, 0, 0,215, 0, 0, 0,216, 0, 0, 0,
+ 217, 0, 0, 0,218, 0, 0, 0,219, 0, 0, 0,220, 0, 0, 0,
+ 221, 0, 0, 0,222, 0, 0, 0,223, 0, 0, 0,224, 0, 0, 0,
+ 225, 0, 0, 0,226, 0, 0, 0,227, 0, 0, 0,228, 0, 0, 0,
+ 229, 0, 0, 0,230, 0, 0, 0,231, 0, 0, 0,232, 0, 0, 0,
+ 233, 0, 0, 0,234, 0, 0, 0,235, 0, 0, 0,236, 0, 0, 0,
+ 237, 0, 0, 0,238, 0, 0, 0,239, 0, 0, 0,240, 0, 0, 0,
+ 241, 0, 0, 0,242, 0, 0, 0,243, 0, 0, 0,244, 0, 0, 0,
+ 245, 0, 0, 0,246, 0, 0, 0,247, 0, 0, 0,248, 0, 0, 0,
+ 249, 0, 0, 0,250, 0, 0, 0,251, 0, 0, 0,252, 0, 0, 0,
+ 253, 0, 0, 0,254, 0, 0, 0,255, 0, 0, 0,
+ 0xff,
+ 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28,
+ 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30,
+ 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
+ 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40,
+ 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48,
+ 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50,
+ 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58,
+ 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0x60,
+ 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
+ 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
+ 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
+ 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x20, 0x21,
+ 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29,
+ 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30, 0x31,
+ 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39,
+ 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41,
+ 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49,
+ 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51,
+ 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59,
+ 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0x60, 0x61,
+ 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69,
+ 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70, 0x71,
+ 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79,
+ 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x20, 0x21, 0x22,
+ 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a,
+ 0x00,
+ 0x82, 0x0c, 0x00, 0x7f, 0xf0, 0xf1, 0x00,
+ 0xf9, 0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2,
+ 0x8b, 0x35, 0x00, 0x01, 0x0f, 0x33, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8,
+ 0x8b, 0x35, 0x00, 0x00, 0x0f, 0x30, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8,
+ 0x8b, 0x35, 0x00, 0xc0, 0x0f, 0x5a, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8,
+ 0x87, 0x25, 0x00, 0xc0, 0x0f, 0x5a,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00,
+ 0x8a, 0x39, 0x00, 0xc0, 0x0f, 0x5a,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00,
+ 0x88, 0x1b, 0x00, 0xc0, 0x0f, 0x5a,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00,
+ 0x31, 0x09,
+ 0x23, 0x01, 0x00, 0x00,
+ 0x22, 0x02, 0x00,
+ 0x2a, 0x04, 0x02,
+ 0x47, 0x01, 0xf1, 0xf0, 0xf3, 0xf2, 0xf4, 0xf5,
+ 0x4b, 0xf1, 0xf0, 0xf2,
+ 0x77, 0x00, 0xa2, 0xb3, 0x76, 0xd5, 0xe6, 0xf7,
+ 0x81, 0x09, 0x00, 0x01, 0xf1, 0xf0, 0xf3, 0xf2, 0xf5, 0xf4, 0xf7, 0xf6,
+ 0x85, 0x11, 0x00, 0x01,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc,
+ 0x86, 0x09, 0x00, 0x00,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0x31, 0x02,
+ 0x31, 0x06,
+ 0x23, 0x01, 0x00, 0x00,
+ 0x22, 0x02, 0x00,
+ 0x2a, 0x04, 0x02,
+ 0x47, 0x01, 0xf1, 0xf0, 0xf3, 0xf2, 0xf4, 0xf5,
+ 0x4b, 0xf1, 0xf0, 0xf2,
+ 0x77, 0x00, 0xa2, 0xb3, 0x76, 0xd5, 0xe6, 0xf7,
+ 0x81, 0x09, 0x00, 0x01, 0xf1, 0xf0, 0xf3, 0xf2, 0xf5, 0xf4, 0xf7, 0xf6,
+ 0x85, 0x11, 0x00, 0x01,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc,
+ 0x86, 0x09, 0x00, 0x00,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0x84, 0x15, 0x00, 0x9f,
+ 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
+ 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff,
+ 0x00, 0x01, 0x02, 0x03,
+ 0x31, 0x0a,
+ 0x38,
+ 0x79, 0},
+})
+
+// Particular cases
+
+Name (p441, Package(2) {
+ ResourceTemplate () {
+ DMA (Compatibility, BusMaster, Transfer8_16) {4}
+ },
+ // Buffer () {0x00, 0x00, 0x00, 0x79, 0x00},
+ // Buffer () {0x2a, 0x10, 0x05, 0x79},
+ // Empty buffer
+})
+
+Name (p442, Package() {
+ ResourceTemplate () {
+ IRQNoFlags () {1}
+ },
+ ResourceTemplate () {
+ IRQNoFlags () {1}
+ },
+ /*
+ * ResourceTemplate () {
+ * IRQNoFlags () {1}
+ * },
+ *
+ * ResourceTemplate () {
+ * IRQNoFlags () {1}
+ * },
+ */
+})
+
+Name (p443, Package() {
+ Buffer () {0x2a, 0x10, 0x05, 0x22, 0x02, 0x00, 0x79, 0},
+ // Buffer () {0x00, 0x00, 0x00, 0x22, 0x02, 0x00, 0x79, 0},
+ // Buffer () {0x2a, 0x10, 0x05, 0x22, 0x02, 0x00, 0x79, 0},
+ Buffer () {0x22, 0x02, 0x00, 0x79, 0},
+})
+
+Name (p444, Package() {
+ Buffer () {0x22, 0x02, 0x00, 0x2a, 0x10, 0x05, 0x79, 0},
+ // Buffer () {0x22, 0x02, 0x00, 0x00, 0x00, 0x00, 0x79, 0},
+ // Buffer () {0x22, 0x02, 0x00, 0x2a, 0x10, 0x05, 0x79, 0},
+ Buffer () {0x22, 0x02, 0x00, 0x79, 0},
+})
+
+Method(RT1b)
+{
+ Name(ts, "RT1b")
+
+ Store("TEST: RT1b, Concatenate two resource templates", Debug)
+
+ // Calculate the checksum
+ // m334(p440, 3)
+
+ m332(ts, 3, "p440", p438, p438, p440)
+
+
+ // Particular cases
+
+ Store(0, Local0)
+ Store(Buffer(Local0){}, Local1)
+ Store(Local1, Index(p441, 1))
+
+ m332(ts, 2, "p443", p441, p442, p443)
+
+ m332(ts, 2, "p444", p442, p441, p444)
+
+ CH03(ts, z007, 0x123, 0, 0)
+}
diff --git a/tests/aslts/src/runtime/collections/functional/descriptor/dependentfn.asl b/tests/aslts/src/runtime/collections/functional/descriptor/dependentfn.asl
new file mode 100644
index 000000000..b89b5e7d1
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/descriptor/dependentfn.asl
@@ -0,0 +1,179 @@
+/*
+ * 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.
+ */
+
+/*
+ * Resource Descriptor macros
+ *
+ * Start/End Dependent Function Resource Descriptor Macro
+ */
+
+Name (p406, Package() {
+ ResourceTemplate () {
+ StartDependentFnNoPri () {}
+ EndDependentFn ()
+ },
+ ResourceTemplate () {
+ StartDependentFn (0, 0) {}
+ EndDependentFn ()
+ },
+ ResourceTemplate () {
+ StartDependentFn (0, 1) {}
+ EndDependentFn ()
+ },
+ ResourceTemplate () {
+ StartDependentFn (0, 2) {}
+ EndDependentFn ()
+ },
+ ResourceTemplate () {
+ StartDependentFn (1, 0) {}
+ EndDependentFn ()
+ },
+ ResourceTemplate () {
+ StartDependentFn (1, 1) {}
+ EndDependentFn ()
+ },
+ ResourceTemplate () {
+ StartDependentFn (1, 2) {}
+ EndDependentFn ()
+ },
+ ResourceTemplate () {
+ StartDependentFn (2, 0) {}
+ EndDependentFn ()
+ },
+ ResourceTemplate () {
+ StartDependentFn (2, 1) {}
+ EndDependentFn ()
+ },
+ ResourceTemplate () {
+ StartDependentFn (2, 2) {}
+ EndDependentFn ()
+ },
+ ResourceTemplate () {
+ StartDependentFnNoPri () {}
+ StartDependentFnNoPri () {}
+ StartDependentFnNoPri () {}
+ EndDependentFn ()
+ },
+ ResourceTemplate () {
+ StartDependentFn (1, 1) {}
+ StartDependentFn (1, 1) {}
+ StartDependentFn (1, 1) {}
+ EndDependentFn ()
+ },
+ ResourceTemplate () {
+ StartDependentFn (0, 0) {}
+ StartDependentFn (0, 1) {}
+ StartDependentFn (0, 2) {}
+ StartDependentFn (1, 0) {}
+ StartDependentFn (1, 1) {}
+ StartDependentFn (1, 2) {}
+ StartDependentFn (2, 0) {}
+ StartDependentFn (2, 1) {}
+ StartDependentFn (2, 2) {}
+ EndDependentFn ()
+ },
+
+ ResourceTemplate () {
+ StartDependentFn (0, 0) {}
+ EndDependentFn ()
+ StartDependentFn (0, 1) {}
+ StartDependentFn (0, 2) {}
+ EndDependentFn ()
+ StartDependentFn (1, 0) {}
+ StartDependentFn (1, 1) {}
+ StartDependentFn (1, 2) {}
+ EndDependentFn ()
+ StartDependentFn (2, 0) {}
+ EndDependentFn ()
+ StartDependentFn (2, 1) {}
+ EndDependentFn ()
+ StartDependentFn (2, 2) {}
+ EndDependentFn ()
+ },
+})
+
+/*
+ACPI Specification, Revision 3.0, September 2, 2004
+6.4.2.3 Start Dependent Functions Descriptor
+
+Start Dependent Functions Descriptor layout (length = 1):
+
+Byte 0 (Tag Bits): Value = 00110001B (0x31)(Type = 0, small item name = 0x6, length = 1)
+
+Byte 1 (Priority byte ):
+Bits[3:2] Performance/robustness. Acceptable values are:
+ 0 Good configuration: Highest Priority and preferred configuration
+ 1 Acceptable configuration: Lower Priority but acceptable configuration
+ 2 Sub-optimal configuration: Functional configuration but not optimal
+ 3 Reserved
+Bits[1:0] Compatibility priority. Acceptable values are:
+ 0 Good configuration: Highest Priority and preferred configuration
+ 1 Acceptable configuration: Lower Priority but acceptable configuration
+ 2 Sub-optimal configuration: Functional configuration but not optimal
+ 3 Reserved
+
+Start Dependent Functions Descriptor layout (length = 0):
+
+Byte 0 (Tag Bits): Value = 00110000B (0x30)(Type = 0, small item name = 0x6, length = 0)
+
+6.4.2.4 End Dependent Functions Descriptor
+
+End Dependent Functions Descriptor layout:
+
+Byte 0 (Tag Bits): Value = 00111000B (0x38)(Type = 0, small item name = 0x7 length =0)
+*/
+
+Name (p407, Package() {
+ Buffer () {0x30, 0x38, 0x79, 0x00},
+ Buffer () {0x31, 0x00, 0x38, 0x79, 0x00},
+ Buffer () {0x31, 0x04, 0x38, 0x79, 0x00},
+ Buffer () {0x31, 0x08, 0x38, 0x79, 0x00},
+ Buffer () {0x31, 0x01, 0x38, 0x79, 0x00},
+ Buffer () {0x31, 0x05, 0x38, 0x79, 0x00},
+ Buffer () {0x31, 0x09, 0x38, 0x79, 0x00},
+ Buffer () {0x31, 0x02, 0x38, 0x79, 0x00},
+ Buffer () {0x31, 0x06, 0x38, 0x79, 0x00},
+ Buffer () {0x31, 0x0a, 0x38, 0x79, 0x00},
+ Buffer () {0x30, 0x30, 0x30, 0x38, 0x79, 0x00},
+ Buffer () {0x31, 0x05, 0x31, 0x05, 0x31, 0x05, 0x38, 0x79, 0x00},
+ Buffer () {0x31, 0x00, 0x31, 0x04, 0x31, 0x08, 0x31, 0x01, 0x31, 0x05,
+ 0x31, 0x09, 0x31, 0x02, 0x31, 0x06, 0x31, 0x0a, 0x38, 0x79, 0x00},
+ Buffer () {0x31, 0x00, 0x38, 0x31, 0x04, 0x31, 0x08, 0x38, 0x31, 0x01, 0x31, 0x05,
+ 0x31, 0x09, 0x38, 0x31, 0x02, 0x38, 0x31, 0x06, 0x38, 0x31, 0x0a, 0x38, 0x79, 0x00},
+})
+
+Method(RT04)
+{
+ Name(ts, "RT04")
+
+ Store("TEST: RT04, Start/End Dependent Function Resource Descriptor Macro", Debug)
+
+ m330(ts, 14, "p406", p406, p407)
+}
diff --git a/tests/aslts/src/runtime/collections/functional/descriptor/dma.asl b/tests/aslts/src/runtime/collections/functional/descriptor/dma.asl
new file mode 100644
index 000000000..24be8fa33
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/descriptor/dma.asl
@@ -0,0 +1,199 @@
+/*
+ * 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.
+ */
+
+/*
+ * Resource Descriptor macros
+ *
+ * DMA Resource Descriptor Macro
+ */
+
+Name (p404, Package() {
+ ResourceTemplate () {
+ DMA (Compatibility, NotBusMaster, Transfer8) {0}
+ },
+ ResourceTemplate () {
+ DMA (Compatibility, NotBusMaster, Transfer8_16) {1}
+ },
+ ResourceTemplate () {
+ DMA (Compatibility, NotBusMaster, Transfer16) {2}
+ },
+ ResourceTemplate () {
+ DMA (Compatibility, BusMaster, Transfer8) {3}
+ },
+ ResourceTemplate () {
+ DMA (Compatibility, BusMaster, Transfer8_16) {4}
+ },
+ ResourceTemplate () {
+ DMA (Compatibility, BusMaster, Transfer16) {5}
+ },
+ ResourceTemplate () {
+ DMA (TypeA, NotBusMaster, Transfer8) {6}
+ },
+ ResourceTemplate () {
+ DMA (TypeA, NotBusMaster, Transfer8_16) {7}
+ },
+ ResourceTemplate () {
+ DMA (TypeA, NotBusMaster, Transfer16) {0}
+ },
+ ResourceTemplate () {
+ DMA (TypeA, BusMaster, Transfer8) {1}
+ },
+ ResourceTemplate () {
+ DMA (TypeA, BusMaster, Transfer8_16) {2}
+ },
+ ResourceTemplate () {
+ DMA (TypeA, BusMaster, Transfer16) {3}
+ },
+ ResourceTemplate () {
+ DMA (TypeB, NotBusMaster, Transfer8) {4}
+ },
+ ResourceTemplate () {
+ DMA (TypeB, NotBusMaster, Transfer8_16) {5}
+ },
+ ResourceTemplate () {
+ DMA (TypeB, NotBusMaster, Transfer16) {6}
+ },
+ ResourceTemplate () {
+ DMA (TypeB, BusMaster, Transfer8) {7}
+ },
+ ResourceTemplate () {
+ DMA (TypeB, BusMaster, Transfer8_16) {0}
+ },
+ ResourceTemplate () {
+ DMA (TypeB, BusMaster, Transfer16) {1}
+ },
+ ResourceTemplate () {
+ DMA (TypeF, NotBusMaster, Transfer8) {2}
+ },
+ ResourceTemplate () {
+ DMA (TypeF, NotBusMaster, Transfer8_16) {3}
+ },
+ ResourceTemplate () {
+ DMA (TypeF, NotBusMaster, Transfer16) {4}
+ },
+ ResourceTemplate () {
+ DMA (TypeF, BusMaster, Transfer8) {5}
+ },
+ ResourceTemplate () {
+ DMA (TypeF, BusMaster, Transfer8_16) {6}
+ },
+ ResourceTemplate () {
+ DMA (TypeF, BusMaster, Transfer16) {7}
+ },
+
+ ResourceTemplate () {
+ DMA (TypeF, BusMaster, Transfer16) {}
+ },
+ ResourceTemplate () {
+ DMA (TypeF, BusMaster, Transfer16) {0, 1, 2, 3, 4, 5, 6, 7}
+ },
+
+ // IsBusMaster: if nothing is specifies, then BusMaster is assumed
+ ResourceTemplate () {
+ DMA (TypeF, , Transfer8) {5}
+ },
+})
+
+/*
+ACPI Specification, Revision 3.0, September 2, 2004
+6.4.2.2 DMA Descriptor
+
+DMA Descriptor layout:
+
+Byte 0 (Tag Bits): Value = 00101010B (0x2a) (Type = 0, small item name = 0x5, length = 2)
+
+Byte 1 (DMA channel mask bits[7:0]): DMA0 <=> bit[0]
+
+Byte 2 (DMA Information):
+Bits[6:5] DMA channel speed supported, _TYP
+ 00 Indicates compatibility mode
+ 01 Indicates Type A DMA as described in the EISA
+ 10 Indicates Type B DMA
+ 11 Indicates Type F
+Bit[2] Logical device bus master status, _BM
+ 0 Logical device is not a bus master
+ 1 Logical device is a bus master
+Bits[1:0] DMA transfer type preference, _SIZ
+ 00 8-bit only
+ 01 8- and 16-bit
+ 10 16-bit only
+ 11 Reserved
+*/
+
+Name (p405, Package() {
+ Buffer () {0x2a, 0x01, 0x00, 0x79, 0x00},
+ Buffer () {0x2a, 0x02, 0x01, 0x79, 0x00},
+ Buffer () {0x2a, 0x04, 0x02, 0x79, 0x00},
+ Buffer () {0x2a, 0x08, 0x04, 0x79, 0x00},
+ Buffer () {0x2a, 0x10, 0x05, 0x79, 0x00},
+ Buffer () {0x2a, 0x20, 0x06, 0x79, 0x00},
+ Buffer () {0x2a, 0x40, 0x20, 0x79, 0x00},
+ Buffer () {0x2a, 0x80, 0x21, 0x79, 0x00},
+ Buffer () {0x2a, 0x01, 0x22, 0x79, 0x00},
+ Buffer () {0x2a, 0x02, 0x24, 0x79, 0x00},
+ Buffer () {0x2a, 0x04, 0x25, 0x79, 0x00},
+ Buffer () {0x2a, 0x08, 0x26, 0x79, 0x00},
+ Buffer () {0x2a, 0x10, 0x40, 0x79, 0x00},
+ Buffer () {0x2a, 0x20, 0x41, 0x79, 0x00},
+ Buffer () {0x2a, 0x40, 0x42, 0x79, 0x00},
+ Buffer () {0x2a, 0x80, 0x44, 0x79, 0x00},
+ Buffer () {0x2a, 0x01, 0x45, 0x79, 0x00},
+ Buffer () {0x2a, 0x02, 0x46, 0x79, 0x00},
+ Buffer () {0x2a, 0x04, 0x60, 0x79, 0x00},
+ Buffer () {0x2a, 0x08, 0x61, 0x79, 0x00},
+ Buffer () {0x2a, 0x10, 0x62, 0x79, 0x00},
+ Buffer () {0x2a, 0x20, 0x64, 0x79, 0x00},
+ Buffer () {0x2a, 0x40, 0x65, 0x79, 0x00},
+ Buffer () {0x2a, 0x80, 0x66, 0x79, 0x00},
+
+ Buffer () {0x2a, 0x00, 0x66, 0x79, 0x00},
+ Buffer () {0x2a, 0xff, 0x66, 0x79, 0x00},
+
+ Buffer () {0x2a, 0x20, 0x64, 0x79, 0x00},
+})
+
+Method(RT03)
+{
+ Name(ts, "RT03")
+
+ Store("TEST: RT03, DMA Resource Descriptor Macro", Debug)
+
+ m330(ts, 27, "p404", p404, p405)
+
+ Store (
+ ResourceTemplate () {
+ DMA (Compatibility, NotBusMaster, Transfer8, DMA0) {}
+ DMA (Compatibility, NotBusMaster, Transfer8, DMA1) {}
+ }, Local0)
+
+ m331(ts, 1, DMA0._TYP, 0x15, DMA1._TYP, 0x2d, "_TYP")
+ m331(ts, 2, DMA0._BM, 0x12, DMA1._BM, 0x2a, "_BM")
+ m331(ts, 3, DMA0._SIZ, 0x10, DMA1._SIZ, 0x28, "_SIZ")
+}
diff --git a/tests/aslts/src/runtime/collections/functional/descriptor/dwordio.asl b/tests/aslts/src/runtime/collections/functional/descriptor/dwordio.asl
new file mode 100644
index 000000000..e2f384952
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/descriptor/dwordio.asl
@@ -0,0 +1,530 @@
+/*
+ * 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.
+ */
+
+/*
+ * Resource Descriptor macros
+ *
+ * DWord IO Resource Descriptor Macro
+ */
+
+Name (p418, Package() {
+
+ // Byte 4 (General Flags) of DWord Address Space Descriptor
+
+ ResourceTemplate () {
+ DWordIO (ResourceProducer, MinNotFixed, MaxNotFixed, PosDecode, ,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff)
+ },
+ ResourceTemplate () {
+ DWordIO (ResourceProducer, MinNotFixed, MaxNotFixed, SubDecode, ,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff)
+ },
+ ResourceTemplate () {
+ DWordIO (ResourceProducer, MinNotFixed, MaxFixed, PosDecode, ,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff)
+ },
+ ResourceTemplate () {
+ DWordIO (ResourceProducer, MinNotFixed, MaxFixed, SubDecode, ,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff)
+ },
+ ResourceTemplate () {
+ DWordIO (ResourceProducer, MinFixed, MaxNotFixed, PosDecode, ,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff)
+ },
+ ResourceTemplate () {
+ DWordIO (ResourceProducer, MinFixed, MaxNotFixed, SubDecode, ,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff)
+ },
+ ResourceTemplate () {
+ DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, ,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff)
+ },
+ ResourceTemplate () {
+ DWordIO (ResourceProducer, MinFixed, MaxFixed, SubDecode, ,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff)
+ },
+ ResourceTemplate () {
+ DWordIO (ResourceConsumer, MinNotFixed, MaxNotFixed, PosDecode, ,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff)
+ },
+ ResourceTemplate () {
+ DWordIO (ResourceConsumer, MinNotFixed, MaxNotFixed, SubDecode, ,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff)
+ },
+ ResourceTemplate () {
+ DWordIO (ResourceConsumer, MinNotFixed, MaxFixed, PosDecode, ,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff)
+ },
+ ResourceTemplate () {
+ DWordIO (ResourceConsumer, MinNotFixed, MaxFixed, SubDecode, ,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff)
+ },
+ ResourceTemplate () {
+ DWordIO (ResourceConsumer, MinFixed, MaxNotFixed, PosDecode, ,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff)
+ },
+ ResourceTemplate () {
+ DWordIO (ResourceConsumer, MinFixed, MaxNotFixed, SubDecode, ,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff)
+ },
+ ResourceTemplate () {
+ DWordIO (ResourceConsumer, MinFixed, MaxFixed, PosDecode, ,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff)
+ },
+ ResourceTemplate () {
+ DWordIO (ResourceConsumer, MinFixed, MaxFixed, SubDecode, ,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff)
+ },
+
+ // Byte 5 (Type Specific Flags) of DWord Address Space Descriptor
+
+ ResourceTemplate () {
+ DWordIO ( , , , , NonISAOnlyRanges,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ , , , TypeStatic, DenseTranslation)
+ },
+ ResourceTemplate () {
+ DWordIO ( , , , , NonISAOnlyRanges,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ , , , TypeStatic, SparseTranslation)
+ },
+ ResourceTemplate () {
+ DWordIO ( , , , , NonISAOnlyRanges,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ , , , TypeTranslation, DenseTranslation)
+ },
+ ResourceTemplate () {
+ DWordIO ( , , , , NonISAOnlyRanges,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ , , , TypeTranslation, SparseTranslation)
+ },
+ ResourceTemplate () {
+ DWordIO ( , , , , ISAOnlyRanges,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ , , , TypeStatic, DenseTranslation)
+ },
+ ResourceTemplate () {
+ DWordIO ( , , , , ISAOnlyRanges,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ , , , TypeStatic, SparseTranslation)
+ },
+ ResourceTemplate () {
+ DWordIO ( , , , , ISAOnlyRanges,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ , , , TypeTranslation, DenseTranslation)
+ },
+ ResourceTemplate () {
+ DWordIO ( , , , , ISAOnlyRanges,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ , , , TypeTranslation, SparseTranslation)
+ },
+ ResourceTemplate () {
+ DWordIO ( , , , , EntireRange,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ , , , TypeStatic, DenseTranslation)
+ },
+ ResourceTemplate () {
+ DWordIO ( , , , , EntireRange,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ , , , TypeStatic, SparseTranslation)
+ },
+ ResourceTemplate () {
+ DWordIO ( , , , , EntireRange,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ , , , TypeTranslation, DenseTranslation)
+ },
+ ResourceTemplate () {
+ DWordIO ( , , , , EntireRange,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ , , , TypeTranslation, SparseTranslation)
+ },
+
+ // Particular cases
+
+ ResourceTemplate () {
+ DWordIO ( , , , , ,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff)
+ },
+ ResourceTemplate () {
+ DWordIO ( , , , , ,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ , , , , )
+ },
+
+ // Resource Source
+
+ ResourceTemplate () {
+ DWordIO ( , , , , ,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ 0x01, "", , , )
+ },
+ ResourceTemplate () {
+ DWordIO ( , , , , ,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ 0x0f, "P", , , )
+ },
+ ResourceTemplate () {
+ DWordIO ( , , , , ,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ 0xf0, "PATH", , , )
+ },
+ ResourceTemplate () {
+ DWordIO ( , , , , ,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ 0xff,
+ "!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*",
+ , , )
+ },
+
+ // Particular cases
+
+ ResourceTemplate () {
+ DWordIO (ResourceConsumer, MinFixed, MaxFixed, SubDecode, EntireRange,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ 0xff, "PATHPATHPATH", DIO0, TypeTranslation, SparseTranslation)
+ },
+ ResourceTemplate () {
+ DWordIO (ResourceConsumer, MinFixed, MaxFixed, SubDecode, EntireRange,
+ 0, 0, 0, 0, 0,
+ 0xff, "PATHPATHPATH", , TypeTranslation, SparseTranslation)
+ },
+
+ // 20051021, relaxation for omitted ResourceSource (bug-fix 70 rejection)
+ ResourceTemplate () {
+ DWordIO ( , , , , ,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ 0x0f)
+ },
+})
+
+/*
+ACPI Specification, Revision 3.0, September 2, 2004
+6.4.3.5.2 DWord Address Space Descriptor
+
+I/O DWord Address Space Descriptor layout:
+
+Byte 0 (Tag Bits): Value=10000111B (0x87) (Type = 1, Large item name = 0x7)
+Byte 1 (Length, bits[7:0]): Variable: Value = 23 (minimum)
+Byte 2 (Length, bits[15:8]): Variable: Value = 0 (minimum)
+Byte 3 (Resource Type):
+ 1 I/O range
+Byte 4 (General Flags):
+ Bits[7:4] Reserved (must be 0)
+ Bit[3] Min Address Fixed, _MAF:
+ 1 The specified maximum address is fixed
+ 0 The specified maximum address is not fixed
+ and can be changed
+ Bit[2] Max Address Fixed,_MIF:
+ 1 The specified minimum address is fixed
+ 0 The specified minimum address is not fixed
+ and can be changed
+ Bit[1] Decode Type, _DEC:
+ 1 This bridge subtractively decodes this address
+ (top level bridges only)
+ 0 This bridge positively decodes this address
+ Bit[0] Consumer/Producer:
+ 1-This device consumes this resource
+ 0-This device produces and consumes this resource
+
+Byte 5 (Type Specific Flags):
+ Flags that are specific to each resource type. The meaning of the flags
+ in this field depends on the value of the Resource Type field (see above)
+ Bits[7:6] Reserved (must be 0)
+ Bit[5] Sparse Translation, _TRS. This bit is only meaningful if Bit[4] is set.
+ 1 SparseTranslation: The primary-side memory address of any specific
+ I/O port within the secondary-side range can be found using
+ the following function.
+
+ address = (((port & 0xFFFc) << 10) || (port & 0xFFF)) + _TRA
+
+ In the address used to access the I/O port, bits[11:2] must be identical
+ to bits[21:12], this gives four bytes of I/O ports on each 4 KB page.
+ 0 DenseTranslation: The primary-side memory address of any specific I/O port
+ within the secondary-side range can be found using the following function.
+
+ address = port + _TRA
+ Bit[4] I/O to Memory Translation, _TTP
+ 1 TypeTranslation: This resource, which is I/O on the secondary side of
+ the bridge, is memory on the primary side of the bridge.
+ 0 TypeStatic: This resource, which is I/O on the secondary side of
+ the bridge, is also I/O on the primary side of the bridge.
+ Bit[3:2] Reserved (must be 0)
+ Bit[1:0] _RNG
+ 3 Memory window covers the entire range
+ 2 ISARangesOnly. This flag is for bridges on systems with multiple bridges.
+ Setting this bit means the memory window specified in this descriptor is
+ limited to the ISA I/O addresses that fall within the specified window.
+ The ISA I/O ranges are: n000-n0FF, n400-n4FF, n800-n8FF, nC00-nCFF. This
+ bit can only be set for bridges entirely configured through ACPI namespace.
+ 1 NonISARangesOnly. This flag is for bridges on systems with multiple bridges.
+ Setting this bit means the memory window specified in this descriptor is
+ limited to the non-ISA I/O addresses that fall within the specified window.
+ The non-ISA I/O ranges are: n100-n3FF, n500-n7FF, n900-nBFF, nD00-nFFF.
+ This bit can only be set for bridges entirely configured through ACPI namespace.
+ 0 Reserved
+
+Byte 6 (Address space granularity, _GRA bits[7:0]):
+ A set bit in this mask means that this bit is decoded. All bits less
+ significant than the most significant set bit must be set. (in other
+ words, the value of the full Address Space Granularity field (all 32
+ bits) must be a number (2**n-1).
+Byte 7 (Address space granularity, _GRA bits[15:8])
+Byte 8 (Address space granularity, _GRA bits[23:16])
+Byte 9 (Address space granularity, _GRA bits[31:24])
+Byte 10 (Address range minimum, _MIN bits [7:0]):
+ For bridges that translate addresses, this is the address space
+ on the secondary side of the bridge
+Byte 11 (Address range minimum, _MIN bits[15:8])
+Byte 12 (Address range minimum, _MIN bits[23:16])
+Byte 13 (Address range minimum, _MIN bits[31:24])
+Byte 14 (Address range maximum, _MAX bits [7:0]): See comment for _MIN
+Byte 15 (Address range maximum, _MAX bits[15:8])
+Byte 16 (Address range maximum, _MAX bits[23:16])
+Byte 17 (Address range maximum, _MAX bits[31:24])
+Byte 18 (Address Translation offset, _TRA bits [7:0]):
+ For bridges that translate addresses across the bridge, this is the
+ offset that must be added to the address on the secondary side to obtain
+ the address on the primary side. Non-bridge devices must list 0 for all
+ Address Translation offset bits
+Byte 19 (Address Translation offset, _TRA bits[15:8])
+Byte 20 (Address Translation offset, _TRA bits[23:16])
+Byte 21 (Address Translation offset, _TRA bits[31:24])
+Byte 22 (Address Length, _LEN bits [7:0])
+Byte 23 (Address Length, _LEN bits[15:8])
+Byte 24 (Address Length, _LEN bits[23:16])
+Byte 25 (Address Length, _LEN bits[31:24])
+Byte 26 (Resource Source Index):
+ (Optional) Only present if Resource Source (below) is present. This
+ field gives an index to the specific resource descriptor that this
+ device consumes from in the current resource template for the device
+ object pointed to in Resource Source
+String (Resource Source):
+ (Optional) If present, the device that uses this descriptor consumes
+ its resources from the resources produced by the named device object.
+ If not present, the device consumes its resources out of a global pool.
+ If not present, the device consumes this resource from its hierarchical
+ parent.
+*/
+
+Name (p419, Package() {
+
+ // Byte 4 (General Flags) of DWord Address Space Descriptor
+
+ Buffer () {0x87, 0x17, 0x00, 0x01, 0x00, 0x03, 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x01, 0x02, 0x03, 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x01, 0x08, 0x03, 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x01, 0x0a, 0x03, 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x01, 0x04, 0x03, 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x01, 0x06, 0x03, 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x01, 0x0c, 0x03, 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x01, 0x0e, 0x03, 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x01, 0x01, 0x03, 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x01, 0x03, 0x03, 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x01, 0x09, 0x03, 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x01, 0x0b, 0x03, 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x01, 0x05, 0x03, 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x01, 0x07, 0x03, 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x01, 0x0d, 0x03, 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x01, 0x0f, 0x03, 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+
+ // Byte 5 (Type Specific Flags) of DWord Address Space Descriptor
+
+ Buffer () {0x87, 0x17, 0x00, 0x01, 0x01, 0x01, 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x01, 0x01, 0x21, 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x01, 0x01, 0x11, 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x01, 0x01, 0x31, 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x01, 0x01, 0x02, 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x01, 0x01, 0x22, 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x01, 0x01, 0x12, 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x01, 0x01, 0x32, 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x01, 0x01, 0x03, 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x01, 0x01, 0x23, 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x01, 0x01, 0x13, 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x01, 0x01, 0x33, 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+
+ // Particular cases
+
+ Buffer () {0x87, 0x17, 0x00, 0x01, 0x01, 0x03, 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x01, 0x01, 0x03, 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+
+ // Resource Source
+
+ Buffer () {0x87, 0x19, 0x00, 0x01, 0x01, 0x03, 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc,
+ 0x01, 0x00, 0x79, 0x00},
+ Buffer () {0x87, 0x1a, 0x00, 0x01, 0x01, 0x03, 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc,
+ 0x0f, 0x50, 0x00, 0x79, 0x00},
+ Buffer () {0x87, 0x1d, 0x00, 0x01, 0x01, 0x03, 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc,
+ 0xf0, 0x50, 0x41, 0x54, 0x48, 0x00, 0x79, 0x00},
+ Buffer () {0x87, 0xe1, 0x00, 0x01, 0x01, 0x03, 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc,
+ 0xff,
+ 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28,
+ 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30,
+ 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
+ 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40,
+ 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48,
+ 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50,
+ 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58,
+ 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0x60,
+ 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
+ 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
+ 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
+ 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x20, 0x21,
+ 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29,
+ 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30, 0x31,
+ 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39,
+ 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41,
+ 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49,
+ 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51,
+ 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59,
+ 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0x60, 0x61,
+ 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69,
+ 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70, 0x71,
+ 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79,
+ 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x20, 0x21, 0x22,
+ 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a,
+ 0x00, 0x79, 0x00},
+
+ // Particular cases
+
+ Buffer () {0x87, 0x25, 0x00, 0x01, 0x0f, 0x33, 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00, 0x79, 0x00},
+ Buffer () {0x87, 0x25, 0x00, 0x01, 0x0f, 0x33, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00, 0x79, 0x00},
+
+ // 20051021, relaxation for omitted ResourceSource (bug-fix 70 rejection)
+ Buffer () {0x87, 0x18, 0x00, 0x01, 0x01, 0x03, 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc,
+ 0x0f, 0x79, 0x00},
+})
+
+Method(RT0d)
+{
+ Name(ts, "RT0d")
+
+ Store("TEST: RT0d, DWord IO Resource Descriptor Macro", Debug)
+
+ m330(ts, 37, "p418", p418, p419)
+ Store (
+ ResourceTemplate () {
+ DWordIO (ResourceProducer, MinNotFixed, MaxNotFixed, PosDecode, EntireRange,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff, , , DIO0)
+ DWordIO (ResourceConsumer, MinNotFixed, MaxNotFixed, PosDecode, EntireRange,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff, , , DIO1)
+ }, Local0)
+
+ m331(ts, 1, DIO0._DEC, 0x21, DIO1._DEC, 0xf1, "_DEC")
+ m331(ts, 2, DIO0._MIF, 0x22, DIO1._MIF, 0xf2, "_MIF")
+ m331(ts, 3, DIO0._MAF, 0x23, DIO1._MAF, 0xf3, "_MAF")
+ m331(ts, 4, DIO0._RNG, 0x28, DIO1._RNG, 0xf8, "_RNG")
+ m331(ts, 5, DIO0._TTP, 0x2c, DIO1._TTP, 0xfc, "_TTP")
+ m331(ts, 6, DIO0._TRS, 0x2d, DIO1._TRS, 0xfd, "_TRS")
+ m331(ts, 7, DIO0._GRA, 6, DIO1._GRA, 32, "_GRA")
+ m331(ts, 8, DIO0._MIN, 10, DIO1._MIN, 36, "_MIN")
+ m331(ts, 9, DIO0._MAX, 14, DIO1._MAX, 40, "_MAX")
+ m331(ts, 10, DIO0._TRA, 18, DIO1._TRA, 44, "_TRA")
+ m331(ts, 11, DIO0._LEN, 22, DIO1._LEN, 48, "_LEN")
+}
+
+
diff --git a/tests/aslts/src/runtime/collections/functional/descriptor/dwordmemory.asl b/tests/aslts/src/runtime/collections/functional/descriptor/dwordmemory.asl
new file mode 100644
index 000000000..47d54fc7f
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/descriptor/dwordmemory.asl
@@ -0,0 +1,1037 @@
+/*
+ * 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.
+ */
+
+/*
+ * Resource Descriptor macros
+ *
+ * DWord Memory Resource Descriptor Macro
+ */
+
+Name (p426, Package() {
+
+ // Byte 4 (General Flags) of DWord Address Space Descriptor
+
+ ResourceTemplate () {
+ DWordMemory (ResourceProducer, PosDecode, MinNotFixed, MaxNotFixed, , ,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff)
+ },
+ ResourceTemplate () {
+ DWordMemory (ResourceProducer, PosDecode, MinNotFixed, MaxFixed, , ,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff)
+ },
+ ResourceTemplate () {
+ DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxNotFixed, , ,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff)
+ },
+ ResourceTemplate () {
+ DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, , ,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff)
+ },
+ ResourceTemplate () {
+ DWordMemory (ResourceProducer, SubDecode, MinNotFixed, MaxNotFixed, , ,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff)
+ },
+ ResourceTemplate () {
+ DWordMemory (ResourceProducer, SubDecode, MinNotFixed, MaxFixed, , ,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff)
+ },
+ ResourceTemplate () {
+ DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxNotFixed, , ,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff)
+ },
+ ResourceTemplate () {
+ DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, , ,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff)
+ },
+ ResourceTemplate () {
+ DWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, , ,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff)
+ },
+ ResourceTemplate () {
+ DWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxFixed, , ,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff)
+ },
+ ResourceTemplate () {
+ DWordMemory (ResourceConsumer, PosDecode, MinFixed, MaxNotFixed, , ,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff)
+ },
+ ResourceTemplate () {
+ DWordMemory (ResourceConsumer, PosDecode, MinFixed, MaxFixed, , ,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff)
+ },
+ ResourceTemplate () {
+ DWordMemory (ResourceConsumer, SubDecode, MinNotFixed, MaxNotFixed, , ,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff)
+ },
+ ResourceTemplate () {
+ DWordMemory (ResourceConsumer, SubDecode, MinNotFixed, MaxFixed, , ,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff)
+ },
+ ResourceTemplate () {
+ DWordMemory (ResourceConsumer, SubDecode, MinFixed, MaxNotFixed, , ,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff)
+ },
+ ResourceTemplate () {
+ DWordMemory (ResourceConsumer, SubDecode, MinFixed, MaxFixed, , ,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff)
+ },
+
+ // Byte 5 (Type Specific Flags) of DWord Address Space Descriptor
+
+ // NonCacheable
+ ResourceTemplate () {
+ DWordMemory ( , , , , NonCacheable, ReadOnly,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ , , , AddressRangeMemory, TypeStatic)
+ },
+ ResourceTemplate () {
+ DWordMemory ( , , , , NonCacheable, ReadOnly,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ , , , AddressRangeMemory, TypeTranslation)
+ },
+ ResourceTemplate () {
+ DWordMemory ( , , , , NonCacheable, ReadOnly,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ , , , AddressRangeReserved, TypeStatic)
+ },
+ ResourceTemplate () {
+ DWordMemory ( , , , , NonCacheable, ReadOnly,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ , , , AddressRangeReserved, TypeTranslation)
+ },
+ ResourceTemplate () {
+ DWordMemory ( , , , , NonCacheable, ReadOnly,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ , , , AddressRangeACPI, TypeStatic)
+ },
+ ResourceTemplate () {
+ DWordMemory ( , , , , NonCacheable, ReadOnly,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ , , , AddressRangeACPI, TypeTranslation)
+ },
+ ResourceTemplate () {
+ DWordMemory ( , , , , NonCacheable, ReadOnly,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ , , , AddressRangeNVS, TypeStatic)
+ },
+ ResourceTemplate () {
+ DWordMemory ( , , , , NonCacheable, ReadOnly,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ , , , AddressRangeNVS, TypeTranslation)
+ },
+ ResourceTemplate () {
+ DWordMemory ( , , , , NonCacheable, ReadWrite,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ , , , AddressRangeMemory, TypeStatic)
+ },
+ ResourceTemplate () {
+ DWordMemory ( , , , , NonCacheable, ReadWrite,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ , , , AddressRangeMemory, TypeTranslation)
+ },
+ ResourceTemplate () {
+ DWordMemory ( , , , , NonCacheable, ReadWrite,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ , , , AddressRangeReserved, TypeStatic)
+ },
+ ResourceTemplate () {
+ DWordMemory ( , , , , NonCacheable, ReadWrite,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ , , , AddressRangeReserved, TypeTranslation)
+ },
+ ResourceTemplate () {
+ DWordMemory ( , , , , NonCacheable, ReadWrite,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ , , , AddressRangeACPI, TypeStatic)
+ },
+ ResourceTemplate () {
+ DWordMemory ( , , , , NonCacheable, ReadWrite,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ , , , AddressRangeACPI, TypeTranslation)
+ },
+ ResourceTemplate () {
+ DWordMemory ( , , , , NonCacheable, ReadWrite,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ , , , AddressRangeNVS, TypeStatic)
+ },
+ ResourceTemplate () {
+ DWordMemory ( , , , , NonCacheable, ReadWrite,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ , , , AddressRangeNVS, TypeTranslation)
+ },
+
+ // Cacheable
+ ResourceTemplate () {
+ DWordMemory ( , , , , Cacheable, ReadOnly,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ , , , AddressRangeMemory, TypeStatic)
+ },
+ ResourceTemplate () {
+ DWordMemory ( , , , , Cacheable, ReadOnly,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ , , , AddressRangeMemory, TypeTranslation)
+ },
+ ResourceTemplate () {
+ DWordMemory ( , , , , Cacheable, ReadOnly,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ , , , AddressRangeReserved, TypeStatic)
+ },
+ ResourceTemplate () {
+ DWordMemory ( , , , , Cacheable, ReadOnly,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ , , , AddressRangeReserved, TypeTranslation)
+ },
+ ResourceTemplate () {
+ DWordMemory ( , , , , Cacheable, ReadOnly,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ , , , AddressRangeACPI, TypeStatic)
+ },
+ ResourceTemplate () {
+ DWordMemory ( , , , , Cacheable, ReadOnly,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ , , , AddressRangeACPI, TypeTranslation)
+ },
+ ResourceTemplate () {
+ DWordMemory ( , , , , Cacheable, ReadOnly,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ , , , AddressRangeNVS, TypeStatic)
+ },
+ ResourceTemplate () {
+ DWordMemory ( , , , , Cacheable, ReadOnly,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ , , , AddressRangeNVS, TypeTranslation)
+ },
+ ResourceTemplate () {
+ DWordMemory ( , , , , Cacheable, ReadWrite,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ , , , AddressRangeMemory, TypeStatic)
+ },
+ ResourceTemplate () {
+ DWordMemory ( , , , , Cacheable, ReadWrite,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ , , , AddressRangeMemory, TypeTranslation)
+ },
+ ResourceTemplate () {
+ DWordMemory ( , , , , Cacheable, ReadWrite,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ , , , AddressRangeReserved, TypeStatic)
+ },
+ ResourceTemplate () {
+ DWordMemory ( , , , , Cacheable, ReadWrite,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ , , , AddressRangeReserved, TypeTranslation)
+ },
+ ResourceTemplate () {
+ DWordMemory ( , , , , Cacheable, ReadWrite,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ , , , AddressRangeACPI, TypeStatic)
+ },
+ ResourceTemplate () {
+ DWordMemory ( , , , , Cacheable, ReadWrite,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ , , , AddressRangeACPI, TypeTranslation)
+ },
+ ResourceTemplate () {
+ DWordMemory ( , , , , Cacheable, ReadWrite,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ , , , AddressRangeNVS, TypeStatic)
+ },
+ ResourceTemplate () {
+ DWordMemory ( , , , , Cacheable, ReadWrite,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ , , , AddressRangeNVS, TypeTranslation)
+ },
+
+ // WriteCombining
+ ResourceTemplate () {
+ DWordMemory ( , , , , WriteCombining, ReadOnly,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ , , , AddressRangeMemory, TypeStatic)
+ },
+ ResourceTemplate () {
+ DWordMemory ( , , , , WriteCombining, ReadOnly,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ , , , AddressRangeMemory, TypeTranslation)
+ },
+ ResourceTemplate () {
+ DWordMemory ( , , , , WriteCombining, ReadOnly,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ , , , AddressRangeReserved, TypeStatic)
+ },
+ ResourceTemplate () {
+ DWordMemory ( , , , , WriteCombining, ReadOnly,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ , , , AddressRangeReserved, TypeTranslation)
+ },
+ ResourceTemplate () {
+ DWordMemory ( , , , , WriteCombining, ReadOnly,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ , , , AddressRangeACPI, TypeStatic)
+ },
+ ResourceTemplate () {
+ DWordMemory ( , , , , WriteCombining, ReadOnly,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ , , , AddressRangeACPI, TypeTranslation)
+ },
+ ResourceTemplate () {
+ DWordMemory ( , , , , WriteCombining, ReadOnly,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ , , , AddressRangeNVS, TypeStatic)
+ },
+ ResourceTemplate () {
+ DWordMemory ( , , , , WriteCombining, ReadOnly,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ , , , AddressRangeNVS, TypeTranslation)
+ },
+ ResourceTemplate () {
+ DWordMemory ( , , , , WriteCombining, ReadWrite,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ , , , AddressRangeMemory, TypeStatic)
+ },
+ ResourceTemplate () {
+ DWordMemory ( , , , , WriteCombining, ReadWrite,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ , , , AddressRangeMemory, TypeTranslation)
+ },
+ ResourceTemplate () {
+ DWordMemory ( , , , , WriteCombining, ReadWrite,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ , , , AddressRangeReserved, TypeStatic)
+ },
+ ResourceTemplate () {
+ DWordMemory ( , , , , WriteCombining, ReadWrite,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ , , , AddressRangeReserved, TypeTranslation)
+ },
+ ResourceTemplate () {
+ DWordMemory ( , , , , WriteCombining, ReadWrite,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ , , , AddressRangeACPI, TypeStatic)
+ },
+ ResourceTemplate () {
+ DWordMemory ( , , , , WriteCombining, ReadWrite,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ , , , AddressRangeACPI, TypeTranslation)
+ },
+ ResourceTemplate () {
+ DWordMemory ( , , , , WriteCombining, ReadWrite,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ , , , AddressRangeNVS, TypeStatic)
+ },
+ ResourceTemplate () {
+ DWordMemory ( , , , , WriteCombining, ReadWrite,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ , , , AddressRangeNVS, TypeTranslation)
+ },
+
+ // Prefetchable
+ ResourceTemplate () {
+ DWordMemory ( , , , , Prefetchable, ReadOnly,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ , , , AddressRangeMemory, TypeStatic)
+ },
+ ResourceTemplate () {
+ DWordMemory ( , , , , Prefetchable, ReadOnly,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ , , , AddressRangeMemory, TypeTranslation)
+ },
+ ResourceTemplate () {
+ DWordMemory ( , , , , Prefetchable, ReadOnly,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ , , , AddressRangeReserved, TypeStatic)
+ },
+ ResourceTemplate () {
+ DWordMemory ( , , , , Prefetchable, ReadOnly,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ , , , AddressRangeReserved, TypeTranslation)
+ },
+ ResourceTemplate () {
+ DWordMemory ( , , , , Prefetchable, ReadOnly,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ , , , AddressRangeACPI, TypeStatic)
+ },
+ ResourceTemplate () {
+ DWordMemory ( , , , , Prefetchable, ReadOnly,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ , , , AddressRangeACPI, TypeTranslation)
+ },
+ ResourceTemplate () {
+ DWordMemory ( , , , , Prefetchable, ReadOnly,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ , , , AddressRangeNVS, TypeStatic)
+ },
+ ResourceTemplate () {
+ DWordMemory ( , , , , Prefetchable, ReadOnly,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ , , , AddressRangeNVS, TypeTranslation)
+ },
+ ResourceTemplate () {
+ DWordMemory ( , , , , Prefetchable, ReadWrite,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ , , , AddressRangeMemory, TypeStatic)
+ },
+ ResourceTemplate () {
+ DWordMemory ( , , , , Prefetchable, ReadWrite,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ , , , AddressRangeMemory, TypeTranslation)
+ },
+ ResourceTemplate () {
+ DWordMemory ( , , , , Prefetchable, ReadWrite,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ , , , AddressRangeReserved, TypeStatic)
+ },
+ ResourceTemplate () {
+ DWordMemory ( , , , , Prefetchable, ReadWrite,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ , , , AddressRangeReserved, TypeTranslation)
+ },
+ ResourceTemplate () {
+ DWordMemory ( , , , , Prefetchable, ReadWrite,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ , , , AddressRangeACPI, TypeStatic)
+ },
+ ResourceTemplate () {
+ DWordMemory ( , , , , Prefetchable, ReadWrite,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ , , , AddressRangeACPI, TypeTranslation)
+ },
+ ResourceTemplate () {
+ DWordMemory ( , , , , Prefetchable, ReadWrite,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ , , , AddressRangeNVS, TypeStatic)
+ },
+ ResourceTemplate () {
+ DWordMemory ( , , , , Prefetchable, ReadWrite,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ , , , AddressRangeNVS, TypeTranslation)
+ },
+
+ // Particular cases
+
+ ResourceTemplate () {
+ DWordMemory ( , , , , , ,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff)
+ },
+ ResourceTemplate () {
+ DWordMemory ( , , , , , ,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ , , , , )
+ },
+
+ // Resource Source
+
+ ResourceTemplate () {
+ DWordMemory ( , , , , , ,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ 0x01, "", , , )
+ },
+ ResourceTemplate () {
+ DWordMemory ( , , , , , ,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ 0x0f, "P", , , )
+ },
+ ResourceTemplate () {
+ DWordMemory ( , , , , , ,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ 0xf0, "PATH", , , )
+ },
+ ResourceTemplate () {
+ DWordMemory ( , , , , , ,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ 0xff,
+ "!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*",
+ , , )
+ },
+
+ // Particular cases
+
+ ResourceTemplate () {
+ DWordMemory (ResourceConsumer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadOnly,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ 0xff, "PATHPATHPATH", DME0, AddressRangeACPI, TypeTranslation)
+ },
+ ResourceTemplate () {
+ DWordMemory (ResourceConsumer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadOnly,
+ 0, 0, 0, 0, 0,
+ 0xff, "PATHPATHPATH", , AddressRangeACPI, TypeTranslation)
+ },
+
+ // 20051021, relaxation for omitted ResourceSource (bug-fix 70 rejection)
+ ResourceTemplate () {
+ DWordMemory ( , , , , , ,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ 0x0f)
+ },
+})
+
+/*
+ACPI Specification, Revision 3.0, September 2, 2004
+6.4.3.5.2 DWord Address Space Descriptor
+
+Memory DWord Address Space Descriptor layout:
+
+Byte 0 (Tag Bits): Value=10000111B (0x87) (Type = 1, Large item name = 0x7)
+Byte 1 (Length, bits[7:0]): Variable: Value = 23 (minimum)
+Byte 2 (Length, bits[15:8]): Variable: Value = 0 (minimum)
+Byte 3 (Resource Type):
+ 0 Memory range
+Byte 4 (General Flags):
+ Bits[7:4] Reserved (must be 0)
+ Bit[3] Min Address Fixed, _MAF:
+ 1 The specified maximum address is fixed
+ 0 The specified maximum address is not fixed
+ and can be changed
+ Bit[2] Max Address Fixed,_MIF:
+ 1 The specified minimum address is fixed
+ 0 The specified minimum address is not fixed
+ and can be changed
+ Bit[1] Decode Type, _DEC:
+ 1 This bridge subtractively decodes this address
+ (top level bridges only)
+ 0 This bridge positively decodes this address
+ Bit[0] Consumer/Producer:
+ 1-This device consumes this resource
+ 0-This device produces and consumes this resource
+Byte 5 (Type Specific Flags):
+ Flags that are specific to each resource type. The meaning of the flags
+ in this field depends on the value of the Resource Type field (see above)
+ Bits[7:6] Reserved (must be 0)
+ Bit[5] Memory to I/O Translation, _TTP
+ 1 TypeTranslation: This resource, which is memory on the secondary
+ side of the bridge, is I/O on the primary side of the bridge.
+ 0 TypeStatic: This resource, which is memory on the secondary side
+ of the bridge, is also memory on the primary side of the bridge.
+ Bits[4:3] Memory attributes, _MTP. These bits are only defined if this memory
+ resource describes system RAM. For a definition of the labels described
+ here, see section 15, "System Address Map Interfaces."
+ 0 AddressRangeMemory
+ 1 AddressRangeReserved
+ 2 AddressRangeACPI
+ 3 AddressRangeNVS
+ Bits[2:1] Memory attributes, _MEM
+ 0 The memory is non-cacheable.
+ 1 The memory is cacheable.
+ 2 The memory is cacheable and supports write combining.
+ 3 The memory is cacheable and prefetchable.
+ (Notice: OSPM ignores this field in the Extended address space descriptor.
+ Instead it uses the Type Specific Attributes field to determine memory attributes)
+ Bit[0] Write status, _RW
+ 1 This memory range is read-write.
+ 0 This memory range is read-only.
+Byte 6 (Address space granularity, _GRA bits[7:0]):
+ A set bit in this mask means that this bit is decoded. All bits less
+ significant than the most significant set bit must be set. (in other
+ words, the value of the full Address Space Granularity field (all 32
+ bits) must be a number (2**n-1).
+Byte 7 (Address space granularity, _GRA bits[15:8])
+Byte 8 (Address space granularity, _GRA bits[23:16])
+Byte 9 (Address space granularity, _GRA bits[31:24])
+Byte 10 (Address range minimum, _MIN bits [7:0]):
+ For bridges that translate addresses, this is the address space
+ on the secondary side of the bridge
+Byte 11 (Address range minimum, _MIN bits[15:8])
+Byte 12 (Address range minimum, _MIN bits[23:16])
+Byte 13 (Address range minimum, _MIN bits[31:24])
+Byte 14 (Address range maximum, _MAX bits [7:0]): See comment for _MIN
+Byte 15 (Address range maximum, _MAX bits[15:8])
+Byte 16 (Address range maximum, _MAX bits[23:16])
+Byte 17 (Address range maximum, _MAX bits[31:24])
+Byte 18 (Address Translation offset, _TRA bits [7:0]):
+ For bridges that translate addresses across the bridge, this is the
+ offset that must be added to the address on the secondary side to obtain
+ the address on the primary side. Non-bridge devices must list 0 for all
+ Address Translation offset bits
+Byte 19 (Address Translation offset, _TRA bits[15:8])
+Byte 20 (Address Translation offset, _TRA bits[23:16])
+Byte 21 (Address Translation offset, _TRA bits[31:24])
+Byte 22 (Address Length, _LEN bits [7:0])
+Byte 23 (Address Length, _LEN bits[15:8])
+Byte 24 (Address Length, _LEN bits[23:16])
+Byte 25 (Address Length, _LEN bits[31:24])
+Byte 26 (Resource Source Index):
+ (Optional) Only present if Resource Source (below) is present. This
+ field gives an index to the specific resource descriptor that this
+ device consumes from in the current resource template for the device
+ object pointed to in Resource Source
+String (Resource Source):
+ (Optional) If present, the device that uses this descriptor consumes
+ its resources from the resources produced by the named device object.
+ If not present, the device consumes its resources out of a global pool.
+ If not present, the device consumes this resource from its hierarchical
+ parent.
+*/
+
+Name (p427, Package() {
+
+ // Byte 4 (General Flags) of DWord Address Space Descriptor
+
+ Buffer () {0x87, 0x17, 0x00, 0x00, 0x00, 0x01,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x00, 0x08, 0x01,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x00, 0x04, 0x01,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x00, 0x0c, 0x01,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x00, 0x02, 0x01,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x00, 0x0a, 0x01,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x00, 0x06, 0x01,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x00, 0x0e, 0x01,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x00, 0x01, 0x01,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x00, 0x09, 0x01,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x00, 0x05, 0x01,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x00, 0x0d, 0x01,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x00, 0x03, 0x01,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x00, 0x0b, 0x01,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x00, 0x07, 0x01,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x00, 0x0f, 0x01,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+
+ // Byte 5 (Type Specific Flags) of DWord Address Space Descriptor
+
+ // NonCacheable
+ Buffer () {0x87, 0x17, 0x00, 0x00, 0x01, 0x00,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x00, 0x01, 0x20,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x00, 0x01, 0x08,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x00, 0x01, 0x28,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x00, 0x01, 0x10,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x00, 0x01, 0x30,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x00, 0x01, 0x18,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x00, 0x01, 0x38,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x00, 0x01, 0x01,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x00, 0x01, 0x21,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x00, 0x01, 0x09,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x00, 0x01, 0x29,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x00, 0x01, 0x11,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x00, 0x01, 0x31,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x00, 0x01, 0x19,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x00, 0x01, 0x39,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+
+ // Cacheable
+ Buffer () {0x87, 0x17, 0x00, 0x00, 0x01, 0x02,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x00, 0x01, 0x22,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x00, 0x01, 0x0a,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x00, 0x01, 0x2a,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x00, 0x01, 0x12,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x00, 0x01, 0x32,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x00, 0x01, 0x1a,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x00, 0x01, 0x3a,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x00, 0x01, 0x03,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x00, 0x01, 0x23,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x00, 0x01, 0x0b,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x00, 0x01, 0x2b,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x00, 0x01, 0x13,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x00, 0x01, 0x33,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x00, 0x01, 0x1b,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x00, 0x01, 0x3b,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+
+ // WriteCombining
+ Buffer () {0x87, 0x17, 0x00, 0x00, 0x01, 0x04,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x00, 0x01, 0x24,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x00, 0x01, 0x0c,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x00, 0x01, 0x2c,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x00, 0x01, 0x14,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x00, 0x01, 0x34,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x00, 0x01, 0x1c,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x00, 0x01, 0x3c,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x00, 0x01, 0x05,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x00, 0x01, 0x25,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x00, 0x01, 0x0d,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x00, 0x01, 0x2d,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x00, 0x01, 0x15,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x00, 0x01, 0x35,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x00, 0x01, 0x1d,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x00, 0x01, 0x3d,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+
+ // Prefetchable
+ Buffer () {0x87, 0x17, 0x00, 0x00, 0x01, 0x06,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x00, 0x01, 0x26,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x00, 0x01, 0x0e,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x00, 0x01, 0x2e,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x00, 0x01, 0x16,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x00, 0x01, 0x36,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x00, 0x01, 0x1e,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x00, 0x01, 0x3e,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x00, 0x01, 0x07,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x00, 0x01, 0x27,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x00, 0x01, 0x0f,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x00, 0x01, 0x2f,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x00, 0x01, 0x17,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x00, 0x01, 0x37,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x00, 0x01, 0x1f,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x00, 0x01, 0x3f,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+
+ // Particular cases
+
+ Buffer () {0x87, 0x17, 0x00, 0x00, 0x01, 0x01,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0x00, 0x01, 0x01,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+
+ // Resource Source
+
+ Buffer () {0x87, 0x19, 0x00, 0x00, 0x01, 0x01,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc,
+ 0x01, 0x00, 0x79, 0x00},
+ Buffer () {0x87, 0x1a, 0x00, 0x00, 0x01, 0x01,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc,
+ 0x0f, 0x50, 0x00, 0x79, 0x00},
+ Buffer () {0x87, 0x1d, 0x00, 0x00, 0x01, 0x01,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc,
+ 0xf0, 0x50, 0x41, 0x54, 0x48, 0x00, 0x79, 0x00},
+ Buffer () {0x87, 0xe1, 0x00, 0x00, 0x01, 0x01,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc,
+ 0xff,
+ 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28,
+ 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30,
+ 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
+ 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40,
+ 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48,
+ 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50,
+ 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58,
+ 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0x60,
+ 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
+ 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
+ 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
+ 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x20, 0x21,
+ 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29,
+ 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30, 0x31,
+ 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39,
+ 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41,
+ 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49,
+ 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51,
+ 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59,
+ 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0x60, 0x61,
+ 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69,
+ 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70, 0x71,
+ 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79,
+ 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x20, 0x21, 0x22,
+ 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a,
+ 0x00, 0x79, 0x00},
+
+ // Particular cases
+
+ Buffer () {0x87, 0x25, 0x00, 0x00, 0x0f, 0x30,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00, 0x79, 0x00},
+ Buffer () {0x87, 0x25, 0x00, 0x00, 0x0f, 0x30,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00, 0x79, 0x00},
+
+ // 20051021, relaxation for omitted ResourceSource (bug-fix 70 rejection)
+ Buffer () {0x87, 0x18, 0x00, 0x00, 0x01, 0x01,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc,
+ 0x0f, 0x79, 0x00},
+})
+
+Method(RT11)
+{
+ Name(ts, "RT11")
+
+ Store("TEST: RT11, DWord Memory Resource Descriptor Macro", Debug)
+
+ m330(ts, 89, "p426", p426, p427)
+ Store (
+ ResourceTemplate () {
+ DWordMemory (ResourceProducer, PosDecode, MinNotFixed, MaxNotFixed, NonCacheable, ReadOnly,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff, , , DME0)
+ DWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, NonCacheable, ReadOnly,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff, , , DME1)
+ }, Local0)
+
+ m331(ts, 1, DME0._DEC, 0x21, DME1._DEC, 0xf1, "_DEC")
+ m331(ts, 2, DME0._MIF, 0x22, DME1._MIF, 0xf2, "_MIF")
+ m331(ts, 3, DME0._MAF, 0x23, DME1._MAF, 0xf3, "_MAF")
+ m331(ts, 4, DME0._RW, 0x28, DME1._RW, 0xf8, "_RW")
+ m331(ts, 5, DME0._MEM, 0x29, DME1._MEM, 0xf9, "_MEM")
+ m331(ts, 6, DME0._MTP, 0x2b, DME1._MTP, 0xfb, "_MTP")
+ m331(ts, 6, DME0._TTP, 0x2d, DME1._TTP, 0xfd, "_TTP")
+ m331(ts, 7, DME0._GRA, 6, DME1._GRA, 32, "_GRA")
+ m331(ts, 8, DME0._MIN, 10, DME1._MIN, 36, "_MIN")
+ m331(ts, 9, DME0._MAX, 14, DME1._MAX, 40, "_MAX")
+ m331(ts, 10, DME0._TRA, 18, DME1._TRA, 44, "_TRA")
+ m331(ts, 11, DME0._LEN, 22, DME1._LEN, 48, "_LEN")
+}
+
diff --git a/tests/aslts/src/runtime/collections/functional/descriptor/dwordspace.asl b/tests/aslts/src/runtime/collections/functional/descriptor/dwordspace.asl
new file mode 100644
index 000000000..257b4bdd7
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/descriptor/dwordspace.asl
@@ -0,0 +1,437 @@
+/*
+ * 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.
+ */
+
+/*
+ * Resource Descriptor macros
+ *
+ * DWord Space Resource Descriptor Macro
+ */
+
+Name (p42e, Package() {
+
+ // Byte 4 (General Flags) of DWord Address Space Descriptor
+
+ ResourceTemplate () {
+ DWordSpace (0xc0, ResourceProducer, PosDecode, MinNotFixed, MaxNotFixed, 0x0a,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff)
+ },
+ ResourceTemplate () {
+ DWordSpace (0xc1, ResourceProducer, PosDecode, MinNotFixed, MaxFixed, 0x1a,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff)
+ },
+ ResourceTemplate () {
+ DWordSpace (0xc2, ResourceProducer, PosDecode, MinFixed, MaxNotFixed, 0x2a,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff)
+ },
+ ResourceTemplate () {
+ DWordSpace (0xc3, ResourceProducer, PosDecode, MinFixed, MaxFixed, 0x3a,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff)
+ },
+ ResourceTemplate () {
+ DWordSpace (0xc4, ResourceProducer, SubDecode, MinNotFixed, MaxNotFixed, 0x4a,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff)
+ },
+ ResourceTemplate () {
+ DWordSpace (0xc5, ResourceProducer, SubDecode, MinNotFixed, MaxFixed, 0x5a,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff)
+ },
+ ResourceTemplate () {
+ DWordSpace (0xc6, ResourceProducer, SubDecode, MinFixed, MaxNotFixed, 0x6a,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff)
+ },
+ ResourceTemplate () {
+ DWordSpace (0xc7, ResourceProducer, SubDecode, MinFixed, MaxFixed, 0x7a,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff)
+ },
+ ResourceTemplate () {
+ DWordSpace (0xc8, ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, 0x8a,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff)
+ },
+ ResourceTemplate () {
+ DWordSpace (0xc9, ResourceConsumer, PosDecode, MinNotFixed, MaxFixed, 0x9a,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff)
+ },
+ ResourceTemplate () {
+ DWordSpace (0xca, ResourceConsumer, PosDecode, MinFixed, MaxNotFixed, 0xaa,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff)
+ },
+ ResourceTemplate () {
+ DWordSpace (0xcb, ResourceConsumer, PosDecode, MinFixed, MaxFixed, 0xba,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff)
+ },
+ ResourceTemplate () {
+ DWordSpace (0xcc, ResourceConsumer, SubDecode, MinNotFixed, MaxNotFixed, 0xca,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff)
+ },
+ ResourceTemplate () {
+ DWordSpace (0xcd, ResourceConsumer, SubDecode, MinNotFixed, MaxFixed, 0xda,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff)
+ },
+ ResourceTemplate () {
+ DWordSpace (0xce, ResourceConsumer, SubDecode, MinFixed, MaxNotFixed, 0xea,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff)
+ },
+ ResourceTemplate () {
+ DWordSpace (0xff, ResourceConsumer, SubDecode, MinFixed, MaxFixed, 0xfa,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff)
+ },
+
+ // Byte 5 (Type Specific Flags) of DWord Address Space Descriptor
+
+ ResourceTemplate () {
+ DWordSpace (0xc0, , , , , 0x00,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff)
+ },
+ ResourceTemplate () {
+ DWordSpace (0xc0, , , , , 0xff,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff)
+ },
+
+ // Particular cases
+
+ ResourceTemplate () {
+ DWordSpace (0xc0, , , , , 0x5a,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ , )
+ },
+ ResourceTemplate () {
+ DWordSpace (0xc0, , , , , 0x5a,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ , , )
+ },
+
+ // Resource Source
+
+ ResourceTemplate () {
+ DWordSpace (0xc0, , , , , 0x5a,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ 0x01, "")
+ },
+ ResourceTemplate () {
+ DWordSpace (0xc0, , , , , 0x5a,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ 0x0f, "P")
+ },
+ ResourceTemplate () {
+ DWordSpace (0xc0, , , , , 0x5a,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ 0xf0, "PATH")
+ },
+ ResourceTemplate () {
+ DWordSpace (0xc0, , , , , 0x5a,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ 0xff,
+ "!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*",
+ )
+ },
+
+ // Particular cases
+
+ ResourceTemplate () {
+ DWordSpace (0xc0, ResourceConsumer, SubDecode, MinFixed, MaxFixed, 0x5a,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ 0xff, "PATHPATHPATH", DSP0)
+ },
+ ResourceTemplate () {
+ DWordSpace (0xc0, ResourceConsumer, SubDecode, MinFixed, MaxFixed, 0,
+ 0, 0, 0, 0, 0,
+ 0xff, "PATHPATHPATH", )
+ },
+
+ // 20051021, relaxation for omitted ResourceSource (bug-fix 70 rejection)
+ ResourceTemplate () {
+ DWordSpace (0xc0, , , , , 0x5a,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ 0x0f)
+ },
+})
+
+/*
+ACPI Specification, Revision 3.0, September 2, 2004
+6.4.3.5.2 DWord Address Space Descriptor
+
+Memory DWord Address Space Descriptor layout:
+
+Byte 0 (Tag Bits): Value=10000111B (0x87) (Type = 1, Large item name = 0x7)
+Byte 1 (Length, bits[7:0]): Variable: Value = 23 (minimum)
+Byte 2 (Length, bits[15:8]): Variable: Value = 0 (minimum)
+Byte 3 (Resource Type):
+ 192-255 Hardware Vendor Defined
+Byte 4 (General Flags):
+ Bits[7:4] Reserved (must be 0)
+ Bit[3] Min Address Fixed, _MAF:
+ 1 The specified maximum address is fixed
+ 0 The specified maximum address is not fixed
+ and can be changed
+ Bit[2] Max Address Fixed,_MIF:
+ 1 The specified minimum address is fixed
+ 0 The specified minimum address is not fixed
+ and can be changed
+ Bit[1] Decode Type, _DEC:
+ 1 This bridge subtractively decodes this address
+ (top level bridges only)
+ 0 This bridge positively decodes this address
+ Bit[0] Consumer/Producer:
+ 1-This device consumes this resource
+ 0-This device produces and consumes this resource
+Byte 5 (Type Specific Flags):
+ Flags that are specific to each resource type. The meaning of the flags
+ in this field depends on the value of the Resource Type field (see above)
+Byte 6 (Address space granularity, _GRA bits[7:0]):
+ A set bit in this mask means that this bit is decoded. All bits less
+ significant than the most significant set bit must be set. (in other
+ words, the value of the full Address Space Granularity field (all 32
+ bits) must be a number (2**n-1).
+Byte 7 (Address space granularity, _GRA bits[15:8])
+Byte 8 (Address space granularity, _GRA bits[23:16])
+Byte 9 (Address space granularity, _GRA bits[31:24])
+Byte 10 (Address range minimum, _MIN bits [7:0]):
+ For bridges that translate addresses, this is the address space
+ on the secondary side of the bridge
+Byte 11 (Address range minimum, _MIN bits[15:8])
+Byte 12 (Address range minimum, _MIN bits[23:16])
+Byte 13 (Address range minimum, _MIN bits[31:24])
+Byte 14 (Address range maximum, _MAX bits [7:0]): See comment for _MIN
+Byte 15 (Address range maximum, _MAX bits[15:8])
+Byte 16 (Address range maximum, _MAX bits[23:16])
+Byte 17 (Address range maximum, _MAX bits[31:24])
+Byte 18 (Address Translation offset, _TRA bits [7:0]):
+ For bridges that translate addresses across the bridge, this is the
+ offset that must be added to the address on the secondary side to obtain
+ the address on the primary side. Non-bridge devices must list 0 for all
+ Address Translation offset bits
+Byte 19 (Address Translation offset, _TRA bits[15:8])
+Byte 20 (Address Translation offset, _TRA bits[23:16])
+Byte 21 (Address Translation offset, _TRA bits[31:24])
+Byte 22 (Address Length, _LEN bits [7:0])
+Byte 23 (Address Length, _LEN bits[15:8])
+Byte 24 (Address Length, _LEN bits[23:16])
+Byte 25 (Address Length, _LEN bits[31:24])
+Byte 26 (Resource Source Index):
+ (Optional) Only present if Resource Source (below) is present. This
+ field gives an index to the specific resource descriptor that this
+ device consumes from in the current resource template for the device
+ object pointed to in Resource Source
+String (Resource Source):
+ (Optional) If present, the device that uses this descriptor consumes
+ its resources from the resources produced by the named device object.
+ If not present, the device consumes its resources out of a global pool.
+ If not present, the device consumes this resource from its hierarchical
+ parent.
+*/
+
+Name (p42f, Package() {
+
+ // Byte 4 (General Flags) of DWord Address Space Descriptor
+
+ Buffer () {0x87, 0x17, 0x00, 0xc0, 0x00, 0x0a,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0xc1, 0x08, 0x1a,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0xc2, 0x04, 0x2a,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0xc3, 0x0c, 0x3a,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0xc4, 0x02, 0x4a,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0xc5, 0x0a, 0x5a,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0xc6, 0x06, 0x6a,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0xc7, 0x0e, 0x7a,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0xc8, 0x01, 0x8a,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0xc9, 0x09, 0x9a,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0xca, 0x05, 0xaa,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0xcb, 0x0d, 0xba,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0xcc, 0x03, 0xca,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0xcd, 0x0b, 0xda,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0xce, 0x07, 0xea,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0xff, 0x0f, 0xfa,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+
+ // Byte 5 (Type Specific Flags) of DWord Address Space Descriptor
+
+ Buffer () {0x87, 0x17, 0x00, 0xc0, 0x01, 0x00,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0xc0, 0x01, 0xff,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+
+ // Particular cases
+
+ Buffer () {0x87, 0x17, 0x00, 0xc0, 0x01, 0x5a,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x87, 0x17, 0x00, 0xc0, 0x01, 0x5a,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+
+ // Resource Source
+
+ Buffer () {0x87, 0x19, 0x00, 0xc0, 0x01, 0x5a,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc,
+ 0x01, 0x00, 0x79, 0x00},
+ Buffer () {0x87, 0x1a, 0x00, 0xc0, 0x01, 0x5a,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc,
+ 0x0f, 0x50, 0x00, 0x79, 0x00},
+ Buffer () {0x87, 0x1d, 0x00, 0xc0, 0x01, 0x5a,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc,
+ 0xf0, 0x50, 0x41, 0x54, 0x48, 0x00, 0x79, 0x00},
+ Buffer () {0x87, 0xe1, 0x00, 0xc0, 0x01, 0x5a,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc,
+ 0xff,
+ 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28,
+ 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30,
+ 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
+ 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40,
+ 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48,
+ 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50,
+ 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58,
+ 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0x60,
+ 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
+ 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
+ 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
+ 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x20, 0x21,
+ 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29,
+ 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30, 0x31,
+ 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39,
+ 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41,
+ 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49,
+ 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51,
+ 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59,
+ 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0x60, 0x61,
+ 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69,
+ 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70, 0x71,
+ 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79,
+ 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x20, 0x21, 0x22,
+ 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a,
+ 0x00, 0x79, 0x00},
+
+ // Particular cases
+
+ Buffer () {0x87, 0x25, 0x00, 0xc0, 0x0f, 0x5a,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00, 0x79, 0x00},
+ Buffer () {0x87, 0x25, 0x00, 0xc0, 0x0f, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00, 0x79, 0x00},
+
+ // 20051021, relaxation for omitted ResourceSource (bug-fix 70 rejection)
+ Buffer () {0x87, 0x18, 0x00, 0xc0, 0x01, 0x5a,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc,
+ 0x0f, 0x79, 0x00},
+})
+
+Method(RT15)
+{
+ Name(ts, "RT15")
+
+ Store("TEST: RT15, DWord Space Resource Descriptor Macro", Debug)
+
+ m330(ts, 27, "p42e", p42e, p42f)
+
+ Store (
+ ResourceTemplate () {
+ DWordSpace (0xc0, ResourceProducer, PosDecode, MinNotFixed, MaxNotFixed, 0x5a,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff, , , DSP0)
+ DWordSpace (0xc0, ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, 0x5a,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff, , , DSP1)
+ }, Local0)
+
+ m331(ts, 1, DSP0._DEC, 0x21, DSP1._DEC, 0xf1, "_DEC")
+ m331(ts, 2, DSP0._MIF, 0x22, DSP1._MIF, 0xf2, "_MIF")
+ m331(ts, 3, DSP0._MAF, 0x23, DSP1._MAF, 0xf3, "_MAF")
+ m331(ts, 7, DSP0._GRA, 6, DSP1._GRA, 32, "_GRA")
+ m331(ts, 8, DSP0._MIN, 10, DSP1._MIN, 36, "_MIN")
+ m331(ts, 9, DSP0._MAX, 14, DSP1._MAX, 40, "_MAX")
+ m331(ts, 10, DSP0._TRA, 18, DSP1._TRA, 44, "_TRA")
+ m331(ts, 11, DSP0._LEN, 22, DSP1._LEN, 48, "_LEN")
+}
diff --git a/tests/aslts/src/runtime/collections/functional/descriptor/extendedio.asl b/tests/aslts/src/runtime/collections/functional/descriptor/extendedio.asl
new file mode 100644
index 000000000..f912f5877
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/descriptor/extendedio.asl
@@ -0,0 +1,652 @@
+/*
+ * 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.
+ */
+
+/*
+ * Resource Descriptor macros
+ *
+ * Extended IO Resource Descriptor Macro
+ */
+
+Name (p422, Package() {
+
+ // Byte 4 (General Flags) of Extended Address Space Descriptor
+
+ ResourceTemplate () {
+ ExtendedIO (ResourceProducer, MinNotFixed, MaxNotFixed, PosDecode, ,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+ ResourceTemplate () {
+ ExtendedIO (ResourceProducer, MinNotFixed, MaxNotFixed, SubDecode, ,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+ ResourceTemplate () {
+ ExtendedIO (ResourceProducer, MinNotFixed, MaxFixed, PosDecode, ,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+ ResourceTemplate () {
+ ExtendedIO (ResourceProducer, MinNotFixed, MaxFixed, SubDecode, ,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+ ResourceTemplate () {
+ ExtendedIO (ResourceProducer, MinFixed, MaxNotFixed, PosDecode, ,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+ ResourceTemplate () {
+ ExtendedIO (ResourceProducer, MinFixed, MaxNotFixed, SubDecode, ,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+ ResourceTemplate () {
+ ExtendedIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, ,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+ ResourceTemplate () {
+ ExtendedIO (ResourceProducer, MinFixed, MaxFixed, SubDecode, ,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+ ResourceTemplate () {
+ ExtendedIO (ResourceConsumer, MinNotFixed, MaxNotFixed, PosDecode, ,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+ ResourceTemplate () {
+ ExtendedIO (ResourceConsumer, MinNotFixed, MaxNotFixed, SubDecode, ,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+ ResourceTemplate () {
+ ExtendedIO (ResourceConsumer, MinNotFixed, MaxFixed, PosDecode, ,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+ ResourceTemplate () {
+ ExtendedIO (ResourceConsumer, MinNotFixed, MaxFixed, SubDecode, ,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+ ResourceTemplate () {
+ ExtendedIO (ResourceConsumer, MinFixed, MaxNotFixed, PosDecode, ,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+ ResourceTemplate () {
+ ExtendedIO (ResourceConsumer, MinFixed, MaxNotFixed, SubDecode, ,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+ ResourceTemplate () {
+ ExtendedIO (ResourceConsumer, MinFixed, MaxFixed, PosDecode, ,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+ ResourceTemplate () {
+ ExtendedIO (ResourceConsumer, MinFixed, MaxFixed, SubDecode, ,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+
+ // Byte 5 (Type Specific Flags) of Extended Address Space Descriptor
+
+ ResourceTemplate () {
+ ExtendedIO ( , , , , NonISAOnlyRanges,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , TypeStatic, DenseTranslation)
+ },
+ ResourceTemplate () {
+ ExtendedIO ( , , , , NonISAOnlyRanges,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , TypeStatic, SparseTranslation)
+ },
+ ResourceTemplate () {
+ ExtendedIO ( , , , , NonISAOnlyRanges,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , TypeTranslation, DenseTranslation)
+ },
+ ResourceTemplate () {
+ ExtendedIO ( , , , , NonISAOnlyRanges,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , TypeTranslation, SparseTranslation)
+ },
+ ResourceTemplate () {
+ ExtendedIO ( , , , , ISAOnlyRanges,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , TypeStatic, DenseTranslation)
+ },
+ ResourceTemplate () {
+ ExtendedIO ( , , , , ISAOnlyRanges,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , TypeStatic, SparseTranslation)
+ },
+ ResourceTemplate () {
+ ExtendedIO ( , , , , ISAOnlyRanges,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , TypeTranslation, DenseTranslation)
+ },
+ ResourceTemplate () {
+ ExtendedIO ( , , , , ISAOnlyRanges,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , TypeTranslation, SparseTranslation)
+ },
+ ResourceTemplate () {
+ ExtendedIO ( , , , , EntireRange,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , TypeStatic, DenseTranslation)
+ },
+ ResourceTemplate () {
+ ExtendedIO ( , , , , EntireRange,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , TypeStatic, SparseTranslation)
+ },
+ ResourceTemplate () {
+ ExtendedIO ( , , , , EntireRange,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , TypeTranslation, DenseTranslation)
+ },
+ ResourceTemplate () {
+ ExtendedIO ( , , , , EntireRange,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , TypeTranslation, SparseTranslation)
+ },
+
+ // Particular cases
+
+ ResourceTemplate () {
+ ExtendedIO ( , , , , ,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+ ResourceTemplate () {
+ ExtendedIO ( , , , , ,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7)
+ },
+ ResourceTemplate () {
+ ExtendedIO ( , , , , ,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , , )
+ },
+ ResourceTemplate () {
+ ExtendedIO ( , , , , ,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, ,
+ , , )
+ },
+ ResourceTemplate () {
+ ExtendedIO (ResourceConsumer, MinFixed, MaxFixed, SubDecode, EntireRange,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ EIO0, TypeTranslation, SparseTranslation)
+ },
+ ResourceTemplate () {
+ ExtendedIO (ResourceConsumer, MinFixed, MaxFixed, SubDecode, EntireRange,
+ 0, 0, 0, 0, 0, 0,
+ , TypeTranslation, SparseTranslation)
+ },
+
+})
+
+/*
+ACPI Specification, Revision 3.0, September 2, 2004
+6.4.3.5.4 Extended Address Space Descriptor
+
+I/O Extended Address Space Descriptor layout:
+
+Byte 0 (Tag Bits): Value=10001011B (0x8b) (Type = 1, Large item name = 0xB)
+Byte 1 (Length, bits[7:0]): Variable: Value = 53 (minimum)
+Byte 2 (Length, bits[15:8]): Variable: Value = 0 (minimum)
+Byte 3 (Resource Type):
+ 1 I/O range
+Byte 4 (General Flags):
+ Bits[7:4] Reserved (must be 0)
+ Bit[3] Min Address Fixed, _MAF:
+ 1 The specified maximum address is fixed
+ 0 The specified maximum address is not fixed
+ and can be changed
+ Bit[2] Max Address Fixed,_MIF:
+ 1 The specified minimum address is fixed
+ 0 The specified minimum address is not fixed
+ and can be changed
+ Bit[1] Decode Type, _DEC:
+ 1 This bridge subtractively decodes this address
+ (top level bridges only)
+ 0 This bridge positively decodes this address
+ Bit[0] Consumer/Producer:
+ 1-This device consumes this resource
+ 0-This device produces and consumes this resource
+
+Byte 5 (Type Specific Flags):
+ Flags that are specific to each resource type. The meaning of the flags
+ in this field depends on the value of the Resource Type field (see above)
+ Bits[7:6] Reserved (must be 0)
+ Bit[5] Sparse Translation, _TRS. This bit is only meaningful if Bit[4] is set.
+ 1 SparseTranslation: The primary-side memory address of any specific
+ I/O port within the secondary-side range can be found using
+ the following function.
+
+ address = (((port & 0xFFFc) << 10) || (port & 0xFFF)) + _TRA
+
+ In the address used to access the I/O port, bits[11:2] must be identical
+ to bits[21:12], this gives four bytes of I/O ports on each 4 KB page.
+ 0 DenseTranslation: The primary-side memory address of any specific I/O port
+ within the secondary-side range can be found using the following function.
+
+ address = port + _TRA
+ Bit[4] I/O to Memory Translation, _TTP
+ 1 TypeTranslation: This resource, which is I/O on the secondary side of
+ the bridge, is memory on the primary side of the bridge.
+ 0 TypeStatic: This resource, which is I/O on the secondary side of
+ the bridge, is also I/O on the primary side of the bridge.
+ Bit[3:2] Reserved (must be 0)
+ Bit[1:0] _RNG
+ 3 Memory window covers the entire range
+ 2 ISARangesOnly. This flag is for bridges on systems with multiple bridges.
+ Setting this bit means the memory window specified in this descriptor is
+ limited to the ISA I/O addresses that fall within the specified window.
+ The ISA I/O ranges are: n000-n0FF, n400-n4FF, n800-n8FF, nC00-nCFF. This
+ bit can only be set for bridges entirely configured through ACPI namespace.
+ 1 NonISARangesOnly. This flag is for bridges on systems with multiple bridges.
+ Setting this bit means the memory window specified in this descriptor is
+ limited to the non-ISA I/O addresses that fall within the specified window.
+ The non-ISA I/O ranges are: n100-n3FF, n500-n7FF, n900-nBFF, nD00-nFFF.
+ This bit can only be set for bridges entirely configured through ACPI namespace.
+ 0 Reserved
+
+Byte 6 (Revision ID):
+ Indicates the revision of the Extended Address Space descriptor.
+ For ACPI 3.0, this value is 1.
+Byte 7 (Reserved): 0
+Byte 8 (Address space granularity, _GRA bits[7:0]):
+ A set bit in this mask means that this bit is decoded. All bits less
+ significant than the most significant set bit must be set. (in other
+ words, the value of the full Address Space Granularity field (all 32
+ bits) must be a number (2**n-1).
+Byte 9 (Address space granularity, _GRA bits[15:8])
+Byte 10 (Address space granularity, _GRA bits[23:16])
+Byte 11 (Address space granularity, _GRA bits[31:24])
+Byte 12 (Address space granularity, _GRA bits[39:32])
+Byte 13 (Address space granularity, _GRA bits[47:40])
+Byte 14 (Address space granularity, _GRA bits[55:48])
+Byte 15 (Address space granularity, _GRA bits[63:56])
+Byte 16 (Address range minimum, _MIN bits [7:0]):
+ For bridges that translate addresses, this is the address space
+ on the secondary side of the bridge
+Byte 17 (Address range minimum, _MIN bits[15:8])
+Byte 18 (Address range minimum, _MIN bits[23:16])
+Byte 19 (Address range minimum, _MIN bits[31:24])
+Byte 20 (Address range minimum, _MIN bits[39:32])
+Byte 21 (Address range minimum, _MIN bits[47:40])
+Byte 22 (Address range minimum, _MIN bits[55:48])
+Byte 23 (Address range minimum, _MIN bits[63:56])
+Byte 24 (Address range maximum, _MAX bits [7:0]): See comment for _MIN
+Byte 25 (Address range maximum, _MAX bits[15:8])
+Byte 26 (Address range maximum, _MAX bits[23:16])
+Byte 27 (Address range maximum, _MAX bits[31:24])
+Byte 28 (Address range maximum, _MAX bits[39:32])
+Byte 29 (Address range maximum, _MAX bits[47:40])
+Byte 30 (Address range maximum, _MAX bits[55:48])
+Byte 31 (Address range maximum, _MAX bits[63:56])
+Byte 32 (Address Translation offset, _TRA bits [7:0]):
+ For bridges that translate addresses across the bridge, this is the
+ offset that must be added to the address on the secondary side to obtain
+ the address on the primary side. Non-bridge devices must list 0 for all
+ Address Translation offset bits
+Byte 33 (Address Translation offset, _TRA bits[15:8])
+Byte 34 (Address Translation offset, _TRA bits[23:16])
+Byte 35 (Address Translation offset, _TRA bits[31:24])
+Byte 36 (Address Translation offset, _TRA bits[39:32])
+Byte 37 (Address Translation offset, _TRA bits[47:40])
+Byte 38 (Address Translation offset, _TRA bits[55:48])
+Byte 39 (Address Translation offset, _TRA bits[63:56])
+Byte 40 (Address Length, _LEN bits [7:0])
+Byte 41 (Address Length, _LEN bits[15:8])
+Byte 42 (Address Length, _LEN bits[23:16])
+Byte 43 (Address Length, _LEN bits[31:24])
+Byte 44 (Address Length, _LEN bits[39:32])
+Byte 45 (Address Length, _LEN bits[47:40])
+Byte 46 (Address Length, _LEN bits[55:48])
+Byte 47 (Address Length, _LEN bits[63:56])
+Byte 48 (Type Specific Attribute, _ATT bits [7:0]):
+ Attributes that are specific to each resource type. The meaning
+ of the attributes in this field depends on the value of the Resource
+ Type field (see above). For the Memory Resource Type, the definition
+ is defined section 6.4.3.5.4.1. For other Resource Types, this field
+ is reserved to 0
+Byte 49 (Type Specific Attribute, _ATT bits[15:8])
+Byte 50 (Type Specific Attribute, _ATT bits[23:16])
+Byte 51 (Type Specific Attribute, _ATT bits[31:24])
+Byte 52 (Type Specific Attribute, _ATT bits[39:32])
+Byte 53 (Type Specific Attribute, _ATT bits[47:40])
+Byte 54 (Type Specific Attribute, _ATT bits[55:48])
+Byte 55 (Type Specific Attribute, _ATT bits[63:56])
+*/
+
+Name (p423, Package() {
+
+ // Byte 4 (General Flags) of Extended Address Space Descriptor
+
+ Buffer () {0x8b, 0x35, 0x00, 0x01, 0x00, 0x03, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x01, 0x02, 0x03, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x01, 0x08, 0x03, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x01, 0x0a, 0x03, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x01, 0x04, 0x03, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x01, 0x06, 0x03, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x01, 0x0c, 0x03, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x01, 0x0e, 0x03, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x01, 0x01, 0x03, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x01, 0x03, 0x03, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x01, 0x09, 0x03, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x01, 0x0b, 0x03, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x01, 0x05, 0x03, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x01, 0x07, 0x03, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x01, 0x0d, 0x03, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x01, 0x0f, 0x03, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+
+ // Byte 5 (Type Specific Flags) of Extended Address Space Descriptor
+
+ Buffer () {0x8b, 0x35, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x01, 0x01, 0x21, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x01, 0x01, 0x11, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x01, 0x01, 0x31, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x01, 0x01, 0x02, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x01, 0x01, 0x22, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x01, 0x01, 0x12, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x01, 0x01, 0x32, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x01, 0x01, 0x03, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x01, 0x01, 0x23, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x01, 0x01, 0x13, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x01, 0x01, 0x33, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+
+ // Particular cases
+
+ Buffer () {0x8b, 0x35, 0x00, 0x01, 0x01, 0x03, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x01, 0x01, 0x03, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x01, 0x01, 0x03, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x01, 0x01, 0x03, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x01, 0x0f, 0x33, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x01, 0x0f, 0x33, 0x01, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x79, 0x00},
+})
+
+Method(RT0f)
+{
+ Name(ts, "RT0f")
+
+ Store("TEST: RT0f, Extended IO Resource Descriptor Macro", Debug)
+
+ m330(ts, 34, "p422", p422, p423)
+
+ Store (
+ ResourceTemplate () {
+ ExtendedIO (ResourceProducer, MinNotFixed, MaxNotFixed, PosDecode, EntireRange,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff, EIO0)
+ ExtendedIO (ResourceConsumer, MinNotFixed, MaxNotFixed, PosDecode, EntireRange,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff, EIO1)
+ }, Local0)
+
+ m331(ts, 1, EIO0._DEC, 0x21, EIO1._DEC, 0x1e1, "_DEC")
+ m331(ts, 2, EIO0._MIF, 0x22, EIO1._MIF, 0x1e2, "_MIF")
+ m331(ts, 3, EIO0._MAF, 0x23, EIO1._MAF, 0x1e3, "_MAF")
+ m331(ts, 4, EIO0._RNG, 0x28, EIO1._RNG, 0x1e8, "_RNG")
+ m331(ts, 5, EIO0._TTP, 0x2c, EIO1._TTP, 0x1ec, "_TTP")
+ m331(ts, 6, EIO0._TRS, 0x2d, EIO1._TRS, 0x1ed, "_TRS")
+ m331(ts, 7, EIO0._GRA, 8, EIO1._GRA, 64, "_GRA")
+ m331(ts, 8, EIO0._MIN, 16, EIO1._MIN, 72, "_MIN")
+ m331(ts, 9, EIO0._MAX, 24, EIO1._MAX, 80, "_MAX")
+ m331(ts, 10, EIO0._TRA, 32, EIO1._TRA, 88, "_TRA")
+ m331(ts, 11, EIO0._LEN, 40, EIO1._LEN, 96, "_LEN")
+ m331(ts, 12, EIO0._ATT, 48, EIO1._ATT, 104, "_ATT")
+}
+
+
diff --git a/tests/aslts/src/runtime/collections/functional/descriptor/extendedmemory.asl b/tests/aslts/src/runtime/collections/functional/descriptor/extendedmemory.asl
new file mode 100644
index 000000000..a87980f0a
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/descriptor/extendedmemory.asl
@@ -0,0 +1,1330 @@
+/*
+ * 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.
+ */
+
+/*
+ * Resource Descriptor macros
+ *
+ * Extended Memory Resource Descriptor Macro
+ */
+
+Name (p42a, Package() {
+
+ // Byte 4 (General Flags) of Extended Address Space Descriptor
+
+ ResourceTemplate () {
+ ExtendedMemory (ResourceProducer, PosDecode, MinNotFixed, MaxNotFixed, , ,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+ ResourceTemplate () {
+ ExtendedMemory (ResourceProducer, PosDecode, MinNotFixed, MaxFixed, , ,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+ ResourceTemplate () {
+ ExtendedMemory (ResourceProducer, PosDecode, MinFixed, MaxNotFixed, , ,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+ ResourceTemplate () {
+ ExtendedMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, , ,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+ ResourceTemplate () {
+ ExtendedMemory (ResourceProducer, SubDecode, MinNotFixed, MaxNotFixed, , ,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+ ResourceTemplate () {
+ ExtendedMemory (ResourceProducer, SubDecode, MinNotFixed, MaxFixed, , ,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+ ResourceTemplate () {
+ ExtendedMemory (ResourceProducer, SubDecode, MinFixed, MaxNotFixed, , ,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+ ResourceTemplate () {
+ ExtendedMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, , ,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+ ResourceTemplate () {
+ ExtendedMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, , ,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+ ResourceTemplate () {
+ ExtendedMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxFixed, , ,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+ ResourceTemplate () {
+ ExtendedMemory (ResourceConsumer, PosDecode, MinFixed, MaxNotFixed, , ,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+ ResourceTemplate () {
+ ExtendedMemory (ResourceConsumer, PosDecode, MinFixed, MaxFixed, , ,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+ ResourceTemplate () {
+ ExtendedMemory (ResourceConsumer, SubDecode, MinNotFixed, MaxNotFixed, , ,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+ ResourceTemplate () {
+ ExtendedMemory (ResourceConsumer, SubDecode, MinNotFixed, MaxFixed, , ,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+ ResourceTemplate () {
+ ExtendedMemory (ResourceConsumer, SubDecode, MinFixed, MaxNotFixed, , ,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+ ResourceTemplate () {
+ ExtendedMemory (ResourceConsumer, SubDecode, MinFixed, MaxFixed, , ,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+
+ // Byte 5 (Type Specific Flags) of Extended Address Space Descriptor
+
+ // NonCacheable
+ ResourceTemplate () {
+ ExtendedMemory ( , , , , NonCacheable, ReadOnly,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , AddressRangeMemory, TypeStatic)
+ },
+ ResourceTemplate () {
+ ExtendedMemory ( , , , , NonCacheable, ReadOnly,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , AddressRangeMemory, TypeTranslation)
+ },
+ ResourceTemplate () {
+ ExtendedMemory ( , , , , NonCacheable, ReadOnly,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , AddressRangeReserved, TypeStatic)
+ },
+ ResourceTemplate () {
+ ExtendedMemory ( , , , , NonCacheable, ReadOnly,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , AddressRangeReserved, TypeTranslation)
+ },
+ ResourceTemplate () {
+ ExtendedMemory ( , , , , NonCacheable, ReadOnly,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , AddressRangeACPI, TypeStatic)
+ },
+ ResourceTemplate () {
+ ExtendedMemory ( , , , , NonCacheable, ReadOnly,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , AddressRangeACPI, TypeTranslation)
+ },
+ ResourceTemplate () {
+ ExtendedMemory ( , , , , NonCacheable, ReadOnly,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , AddressRangeNVS, TypeStatic)
+ },
+ ResourceTemplate () {
+ ExtendedMemory ( , , , , NonCacheable, ReadOnly,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , AddressRangeNVS, TypeTranslation)
+ },
+ ResourceTemplate () {
+ ExtendedMemory ( , , , , NonCacheable, ReadWrite,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , AddressRangeMemory, TypeStatic)
+ },
+ ResourceTemplate () {
+ ExtendedMemory ( , , , , NonCacheable, ReadWrite,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , AddressRangeMemory, TypeTranslation)
+ },
+ ResourceTemplate () {
+ ExtendedMemory ( , , , , NonCacheable, ReadWrite,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , AddressRangeReserved, TypeStatic)
+ },
+ ResourceTemplate () {
+ ExtendedMemory ( , , , , NonCacheable, ReadWrite,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , AddressRangeReserved, TypeTranslation)
+ },
+ ResourceTemplate () {
+ ExtendedMemory ( , , , , NonCacheable, ReadWrite,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , AddressRangeACPI, TypeStatic)
+ },
+ ResourceTemplate () {
+ ExtendedMemory ( , , , , NonCacheable, ReadWrite,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , AddressRangeACPI, TypeTranslation)
+ },
+ ResourceTemplate () {
+ ExtendedMemory ( , , , , NonCacheable, ReadWrite,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , AddressRangeNVS, TypeStatic)
+ },
+ ResourceTemplate () {
+ ExtendedMemory ( , , , , NonCacheable, ReadWrite,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , AddressRangeNVS, TypeTranslation)
+ },
+
+ // Cacheable
+ ResourceTemplate () {
+ ExtendedMemory ( , , , , Cacheable, ReadOnly,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , AddressRangeMemory, TypeStatic)
+ },
+ ResourceTemplate () {
+ ExtendedMemory ( , , , , Cacheable, ReadOnly,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , AddressRangeMemory, TypeTranslation)
+ },
+ ResourceTemplate () {
+ ExtendedMemory ( , , , , Cacheable, ReadOnly,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , AddressRangeReserved, TypeStatic)
+ },
+ ResourceTemplate () {
+ ExtendedMemory ( , , , , Cacheable, ReadOnly,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , AddressRangeReserved, TypeTranslation)
+ },
+ ResourceTemplate () {
+ ExtendedMemory ( , , , , Cacheable, ReadOnly,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , AddressRangeACPI, TypeStatic)
+ },
+ ResourceTemplate () {
+ ExtendedMemory ( , , , , Cacheable, ReadOnly,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , AddressRangeACPI, TypeTranslation)
+ },
+ ResourceTemplate () {
+ ExtendedMemory ( , , , , Cacheable, ReadOnly,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , AddressRangeNVS, TypeStatic)
+ },
+ ResourceTemplate () {
+ ExtendedMemory ( , , , , Cacheable, ReadOnly,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , AddressRangeNVS, TypeTranslation)
+ },
+ ResourceTemplate () {
+ ExtendedMemory ( , , , , Cacheable, ReadWrite,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , AddressRangeMemory, TypeStatic)
+ },
+ ResourceTemplate () {
+ ExtendedMemory ( , , , , Cacheable, ReadWrite,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , AddressRangeMemory, TypeTranslation)
+ },
+ ResourceTemplate () {
+ ExtendedMemory ( , , , , Cacheable, ReadWrite,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , AddressRangeReserved, TypeStatic)
+ },
+ ResourceTemplate () {
+ ExtendedMemory ( , , , , Cacheable, ReadWrite,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , AddressRangeReserved, TypeTranslation)
+ },
+ ResourceTemplate () {
+ ExtendedMemory ( , , , , Cacheable, ReadWrite,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , AddressRangeACPI, TypeStatic)
+ },
+ ResourceTemplate () {
+ ExtendedMemory ( , , , , Cacheable, ReadWrite,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , AddressRangeACPI, TypeTranslation)
+ },
+ ResourceTemplate () {
+ ExtendedMemory ( , , , , Cacheable, ReadWrite,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , AddressRangeNVS, TypeStatic)
+ },
+ ResourceTemplate () {
+ ExtendedMemory ( , , , , Cacheable, ReadWrite,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , AddressRangeNVS, TypeTranslation)
+ },
+
+ // WriteCombining
+ ResourceTemplate () {
+ ExtendedMemory ( , , , , WriteCombining, ReadOnly,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , AddressRangeMemory, TypeStatic)
+ },
+ ResourceTemplate () {
+ ExtendedMemory ( , , , , WriteCombining, ReadOnly,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , AddressRangeMemory, TypeTranslation)
+ },
+ ResourceTemplate () {
+ ExtendedMemory ( , , , , WriteCombining, ReadOnly,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , AddressRangeReserved, TypeStatic)
+ },
+ ResourceTemplate () {
+ ExtendedMemory ( , , , , WriteCombining, ReadOnly,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , AddressRangeReserved, TypeTranslation)
+ },
+ ResourceTemplate () {
+ ExtendedMemory ( , , , , WriteCombining, ReadOnly,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , AddressRangeACPI, TypeStatic)
+ },
+ ResourceTemplate () {
+ ExtendedMemory ( , , , , WriteCombining, ReadOnly,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , AddressRangeACPI, TypeTranslation)
+ },
+ ResourceTemplate () {
+ ExtendedMemory ( , , , , WriteCombining, ReadOnly,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , AddressRangeNVS, TypeStatic)
+ },
+ ResourceTemplate () {
+ ExtendedMemory ( , , , , WriteCombining, ReadOnly,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , AddressRangeNVS, TypeTranslation)
+ },
+ ResourceTemplate () {
+ ExtendedMemory ( , , , , WriteCombining, ReadWrite,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , AddressRangeMemory, TypeStatic)
+ },
+ ResourceTemplate () {
+ ExtendedMemory ( , , , , WriteCombining, ReadWrite,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , AddressRangeMemory, TypeTranslation)
+ },
+ ResourceTemplate () {
+ ExtendedMemory ( , , , , WriteCombining, ReadWrite,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , AddressRangeReserved, TypeStatic)
+ },
+ ResourceTemplate () {
+ ExtendedMemory ( , , , , WriteCombining, ReadWrite,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , AddressRangeReserved, TypeTranslation)
+ },
+ ResourceTemplate () {
+ ExtendedMemory ( , , , , WriteCombining, ReadWrite,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , AddressRangeACPI, TypeStatic)
+ },
+ ResourceTemplate () {
+ ExtendedMemory ( , , , , WriteCombining, ReadWrite,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , AddressRangeACPI, TypeTranslation)
+ },
+ ResourceTemplate () {
+ ExtendedMemory ( , , , , WriteCombining, ReadWrite,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , AddressRangeNVS, TypeStatic)
+ },
+ ResourceTemplate () {
+ ExtendedMemory ( , , , , WriteCombining, ReadWrite,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , AddressRangeNVS, TypeTranslation)
+ },
+
+ // Prefetchable
+ ResourceTemplate () {
+ ExtendedMemory ( , , , , Prefetchable, ReadOnly,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , AddressRangeMemory, TypeStatic)
+ },
+ ResourceTemplate () {
+ ExtendedMemory ( , , , , Prefetchable, ReadOnly,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , AddressRangeMemory, TypeTranslation)
+ },
+ ResourceTemplate () {
+ ExtendedMemory ( , , , , Prefetchable, ReadOnly,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , AddressRangeReserved, TypeStatic)
+ },
+ ResourceTemplate () {
+ ExtendedMemory ( , , , , Prefetchable, ReadOnly,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , AddressRangeReserved, TypeTranslation)
+ },
+ ResourceTemplate () {
+ ExtendedMemory ( , , , , Prefetchable, ReadOnly,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , AddressRangeACPI, TypeStatic)
+ },
+ ResourceTemplate () {
+ ExtendedMemory ( , , , , Prefetchable, ReadOnly,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , AddressRangeACPI, TypeTranslation)
+ },
+ ResourceTemplate () {
+ ExtendedMemory ( , , , , Prefetchable, ReadOnly,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , AddressRangeNVS, TypeStatic)
+ },
+ ResourceTemplate () {
+ ExtendedMemory ( , , , , Prefetchable, ReadOnly,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , AddressRangeNVS, TypeTranslation)
+ },
+ ResourceTemplate () {
+ ExtendedMemory ( , , , , Prefetchable, ReadWrite,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , AddressRangeMemory, TypeStatic)
+ },
+ ResourceTemplate () {
+ ExtendedMemory ( , , , , Prefetchable, ReadWrite,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , AddressRangeMemory, TypeTranslation)
+ },
+ ResourceTemplate () {
+ ExtendedMemory ( , , , , Prefetchable, ReadWrite,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , AddressRangeReserved, TypeStatic)
+ },
+ ResourceTemplate () {
+ ExtendedMemory ( , , , , Prefetchable, ReadWrite,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , AddressRangeReserved, TypeTranslation)
+ },
+ ResourceTemplate () {
+ ExtendedMemory ( , , , , Prefetchable, ReadWrite,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , AddressRangeACPI, TypeStatic)
+ },
+ ResourceTemplate () {
+ ExtendedMemory ( , , , , Prefetchable, ReadWrite,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , AddressRangeACPI, TypeTranslation)
+ },
+ ResourceTemplate () {
+ ExtendedMemory ( , , , , Prefetchable, ReadWrite,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , AddressRangeNVS, TypeStatic)
+ },
+ ResourceTemplate () {
+ ExtendedMemory ( , , , , Prefetchable, ReadWrite,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , AddressRangeNVS, TypeTranslation)
+ },
+
+ // Particular cases
+
+ ResourceTemplate () {
+ ExtendedMemory ( , , , , , ,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+ ResourceTemplate () {
+ ExtendedMemory ( , , , , , ,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7)
+ },
+ ResourceTemplate () {
+ ExtendedMemory ( , , , , , ,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , , )
+ },
+ ResourceTemplate () {
+ ExtendedMemory ( , , , , , ,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, ,
+ , , )
+ },
+ ResourceTemplate () {
+ ExtendedMemory (ResourceConsumer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadOnly,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ EME0, AddressRangeACPI, TypeTranslation)
+ },
+ ResourceTemplate () {
+ ExtendedMemory (ResourceConsumer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadOnly,
+ 0, 0, 0, 0, 0, 0,
+ , AddressRangeACPI, TypeTranslation)
+ },
+})
+
+/*
+ACPI Specification, Revision 3.0, September 2, 2004
+6.4.3.5.4 Extended Address Space Descriptor
+
+Memory Extended Address Space Descriptor layout:
+
+Byte 0 (Tag Bits): Value=10001011B (0x8b) (Type = 1, Large item name = 0xB)
+Byte 1 (Length, bits[7:0]): Variable: Value = 53 (minimum)
+Byte 2 (Length, bits[15:8]): Variable: Value = 0 (minimum)
+Byte 3 (Resource Type):
+ 0 Memory range
+Byte 4 (General Flags):
+ Bits[7:4] Reserved (must be 0)
+ Bit[3] Min Address Fixed, _MAF:
+ 1 The specified maximum address is fixed
+ 0 The specified maximum address is not fixed
+ and can be changed
+ Bit[2] Max Address Fixed,_MIF:
+ 1 The specified minimum address is fixed
+ 0 The specified minimum address is not fixed
+ and can be changed
+ Bit[1] Decode Type, _DEC:
+ 1 This bridge subtractively decodes this address
+ (top level bridges only)
+ 0 This bridge positively decodes this address
+ Bit[0] Consumer/Producer:
+ 1-This device consumes this resource
+ 0-This device produces and consumes this resource
+Byte 5 (Type Specific Flags):
+ Flags that are specific to each resource type. The meaning of the flags
+ in this field depends on the value of the Resource Type field (see above)
+ Bits[7:6] Reserved (must be 0)
+ Bit[5] Memory to I/O Translation, _TTP
+ 1 TypeTranslation: This resource, which is memory on the secondary
+ side of the bridge, is I/O on the primary side of the bridge.
+ 0 TypeStatic: This resource, which is memory on the secondary side
+ of the bridge, is also memory on the primary side of the bridge.
+ Bits[4:3] Memory attributes, _MTP. These bits are only defined if this memory
+ resource describes system RAM. For a definition of the labels described
+ here, see section 15, "System Address Map Interfaces."
+ 0 AddressRangeMemory
+ 1 AddressRangeReserved
+ 2 AddressRangeACPI
+ 3 AddressRangeNVS
+ Bits[2:1] Memory attributes, _MEM
+ 0 The memory is non-cacheable.
+ 1 The memory is cacheable.
+ 2 The memory is cacheable and supports write combining.
+ 3 The memory is cacheable and prefetchable.
+ (Notice: OSPM ignores this field in the Extended address space descriptor.
+ Instead it uses the Type Specific Attributes field to determine memory attributes)
+ Bit[0] Write status, _RW
+ 1 This memory range is read-write.
+ 0 This memory range is read-only.
+Byte 6 (Revision ID):
+ Indicates the revision of the Extended Address Space descriptor.
+ For ACPI 3.0, this value is 1.
+Byte 7 (Reserved): 0
+Byte 8 (Address space granularity, _GRA bits[7:0]):
+ A set bit in this mask means that this bit is decoded. All bits less
+ significant than the most significant set bit must be set. (in other
+ words, the value of the full Address Space Granularity field (all 32
+ bits) must be a number (2**n-1).
+Byte 9 (Address space granularity, _GRA bits[15:8])
+Byte 10 (Address space granularity, _GRA bits[23:16])
+Byte 11 (Address space granularity, _GRA bits[31:24])
+Byte 12 (Address space granularity, _GRA bits[39:32])
+Byte 13 (Address space granularity, _GRA bits[47:40])
+Byte 14 (Address space granularity, _GRA bits[55:48])
+Byte 15 (Address space granularity, _GRA bits[63:56])
+Byte 16 (Address range minimum, _MIN bits [7:0]):
+ For bridges that translate addresses, this is the address space
+ on the secondary side of the bridge
+Byte 17 (Address range minimum, _MIN bits[15:8])
+Byte 18 (Address range minimum, _MIN bits[23:16])
+Byte 19 (Address range minimum, _MIN bits[31:24])
+Byte 20 (Address range minimum, _MIN bits[39:32])
+Byte 21 (Address range minimum, _MIN bits[47:40])
+Byte 22 (Address range minimum, _MIN bits[55:48])
+Byte 23 (Address range minimum, _MIN bits[63:56])
+Byte 24 (Address range maximum, _MAX bits [7:0]): See comment for _MIN
+Byte 25 (Address range maximum, _MAX bits[15:8])
+Byte 26 (Address range maximum, _MAX bits[23:16])
+Byte 27 (Address range maximum, _MAX bits[31:24])
+Byte 28 (Address range maximum, _MAX bits[39:32])
+Byte 29 (Address range maximum, _MAX bits[47:40])
+Byte 30 (Address range maximum, _MAX bits[55:48])
+Byte 31 (Address range maximum, _MAX bits[63:56])
+Byte 32 (Address Translation offset, _TRA bits [7:0]):
+ For bridges that translate addresses across the bridge, this is the
+ offset that must be added to the address on the secondary side to obtain
+ the address on the primary side. Non-bridge devices must list 0 for all
+ Address Translation offset bits
+Byte 33 (Address Translation offset, _TRA bits[15:8])
+Byte 34 (Address Translation offset, _TRA bits[23:16])
+Byte 35 (Address Translation offset, _TRA bits[31:24])
+Byte 36 (Address Translation offset, _TRA bits[39:32])
+Byte 37 (Address Translation offset, _TRA bits[47:40])
+Byte 38 (Address Translation offset, _TRA bits[55:48])
+Byte 39 (Address Translation offset, _TRA bits[63:56])
+Byte 40 (Address Length, _LEN bits [7:0])
+Byte 41 (Address Length, _LEN bits[15:8])
+Byte 42 (Address Length, _LEN bits[23:16])
+Byte 43 (Address Length, _LEN bits[31:24])
+Byte 44 (Address Length, _LEN bits[39:32])
+Byte 45 (Address Length, _LEN bits[47:40])
+Byte 46 (Address Length, _LEN bits[55:48])
+Byte 47 (Address Length, _LEN bits[63:56])
+Byte 48 (Type Specific Attribute, _ATT bits [7:0]):
+ Attributes that are specific to each resource type. The meaning
+ of the attributes in this field depends on the value of the Resource
+ Type field (see above). For the Memory Resource Type, the definition
+ is defined section 6.4.3.5.4.1. For other Resource Types, this field
+ is reserved to 0
+Byte 49 (Type Specific Attribute, _ATT bits[15:8])
+Byte 50 (Type Specific Attribute, _ATT bits[23:16])
+Byte 51 (Type Specific Attribute, _ATT bits[31:24])
+Byte 52 (Type Specific Attribute, _ATT bits[39:32])
+Byte 53 (Type Specific Attribute, _ATT bits[47:40])
+Byte 54 (Type Specific Attribute, _ATT bits[55:48])
+Byte 55 (Type Specific Attribute, _ATT bits[63:56])
+*/
+
+Name (p42b, Package() {
+
+ // Byte 4 (General Flags) of Extended Address Space Descriptor
+
+ Buffer () {0x8b, 0x35, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x00, 0x08, 0x01, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x00, 0x04, 0x01, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x00, 0x0c, 0x01, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x00, 0x02, 0x01, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x00, 0x0a, 0x01, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x00, 0x06, 0x01, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x00, 0x0e, 0x01, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x00, 0x09, 0x01, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x00, 0x05, 0x01, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x00, 0x0d, 0x01, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x00, 0x03, 0x01, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x00, 0x0b, 0x01, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x00, 0x07, 0x01, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x00, 0x0f, 0x01, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+
+ // Byte 5 (Type Specific Flags) of Extended Address Space Descriptor
+
+ // NonCacheable
+ Buffer () {0x8b, 0x35, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x00, 0x01, 0x20, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x00, 0x01, 0x08, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x00, 0x01, 0x28, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x00, 0x01, 0x10, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x00, 0x01, 0x30, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x00, 0x01, 0x18, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x00, 0x01, 0x38, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x00, 0x01, 0x21, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x00, 0x01, 0x09, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x00, 0x01, 0x29, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x00, 0x01, 0x11, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x00, 0x01, 0x31, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x00, 0x01, 0x19, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x00, 0x01, 0x39, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+
+ // Cacheable
+ Buffer () {0x8b, 0x35, 0x00, 0x00, 0x01, 0x02, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x00, 0x01, 0x22, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x00, 0x01, 0x0a, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x00, 0x01, 0x2a, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x00, 0x01, 0x12, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x00, 0x01, 0x32, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x00, 0x01, 0x1a, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x00, 0x01, 0x3a, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x00, 0x01, 0x03, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x00, 0x01, 0x23, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x00, 0x01, 0x0b, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x00, 0x01, 0x2b, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x00, 0x01, 0x13, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x00, 0x01, 0x33, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x00, 0x01, 0x1b, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x00, 0x01, 0x3b, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+
+ // WriteCombining
+ Buffer () {0x8b, 0x35, 0x00, 0x00, 0x01, 0x04, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x00, 0x01, 0x24, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x00, 0x01, 0x0c, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x00, 0x01, 0x2c, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x00, 0x01, 0x14, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x00, 0x01, 0x34, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x00, 0x01, 0x1c, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x00, 0x01, 0x3c, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x00, 0x01, 0x05, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x00, 0x01, 0x25, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x00, 0x01, 0x0d, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x00, 0x01, 0x2d, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x00, 0x01, 0x15, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x00, 0x01, 0x35, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x00, 0x01, 0x1d, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x00, 0x01, 0x3d, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+
+ // Prefetchable
+ Buffer () {0x8b, 0x35, 0x00, 0x00, 0x01, 0x06, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x00, 0x01, 0x26, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x00, 0x01, 0x0e, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x00, 0x01, 0x2e, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x00, 0x01, 0x16, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x00, 0x01, 0x36, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x00, 0x01, 0x1e, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x00, 0x01, 0x3e, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x00, 0x01, 0x07, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x00, 0x01, 0x27, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x00, 0x01, 0x0f, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x00, 0x01, 0x2f, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x00, 0x01, 0x17, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x00, 0x01, 0x37, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x00, 0x01, 0x1f, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x00, 0x01, 0x3f, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+
+ // Particular cases
+
+ Buffer () {0x8b, 0x35, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x00, 0x0f, 0x30, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0x00, 0x0f, 0x30, 0x01, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x79, 0x00},
+})
+
+Method(RT13)
+{
+ Name(ts, "RT13")
+
+ Store("TEST: RT13, Extended Memory Resource Descriptor Macro", Debug)
+
+ m330(ts, 86, "p42a", p42a, p42b)
+
+ Store (
+ ResourceTemplate () {
+ ExtendedMemory (ResourceProducer, PosDecode, MinNotFixed, MaxNotFixed, NonCacheable, ReadOnly,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff, EME0)
+ ExtendedMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, NonCacheable, ReadOnly,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff, EME1)
+ }, Local0)
+
+ m331(ts, 1, EME0._DEC, 0x21, EME1._DEC, 0x1e1, "_DEC")
+ m331(ts, 2, EME0._MIF, 0x22, EME1._MIF, 0x1e2, "_MIF")
+ m331(ts, 3, EME0._MAF, 0x23, EME1._MAF, 0x1e3, "_MAF")
+ m331(ts, 4, EME0._RW, 0x28, EME1._RW, 0x1e8, "_RW")
+ m331(ts, 5, EME0._MEM, 0x29, EME1._MEM, 0x1e9, "_MEM")
+ m331(ts, 6, EME0._MTP, 0x2b, EME1._MTP, 0x1eb, "_MTP")
+ m331(ts, 6, EME0._TTP, 0x2d, EME1._TTP, 0x1ed, "_TTP")
+ m331(ts, 7, EME0._GRA, 8, EME1._GRA, 64, "_GRA")
+ m331(ts, 8, EME0._MIN, 16, EME1._MIN, 72, "_MIN")
+ m331(ts, 9, EME0._MAX, 24, EME1._MAX, 80, "_MAX")
+ m331(ts, 10, EME0._TRA, 32, EME1._TRA, 88, "_TRA")
+ m331(ts, 11, EME0._LEN, 40, EME1._LEN, 96, "_LEN")
+ m331(ts, 12, EME0._ATT, 48, EME1._ATT, 104, "_ATT")
+}
+
+
diff --git a/tests/aslts/src/runtime/collections/functional/descriptor/extendedspace.asl b/tests/aslts/src/runtime/collections/functional/descriptor/extendedspace.asl
new file mode 100644
index 000000000..7deda9b1b
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/descriptor/extendedspace.asl
@@ -0,0 +1,481 @@
+/*
+ * 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.
+ */
+
+/*
+ * Resource Descriptor macros
+ *
+ * Extended Space Resource Descriptor Macro
+ */
+
+Name (p432, Package() {
+
+ // Byte 4 (General Flags) of Extended Address Space Descriptor
+
+ ResourceTemplate () {
+ ExtendedSpace (0xc0, ResourceProducer, PosDecode, MinNotFixed, MaxNotFixed, 0x0a,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+ ResourceTemplate () {
+ ExtendedSpace (0xc1, ResourceProducer, PosDecode, MinNotFixed, MaxFixed, 0x1a,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+ ResourceTemplate () {
+ ExtendedSpace (0xc2, ResourceProducer, PosDecode, MinFixed, MaxNotFixed, 0x2a,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+ ResourceTemplate () {
+ ExtendedSpace (0xc3, ResourceProducer, PosDecode, MinFixed, MaxFixed, 0x3a,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+ ResourceTemplate () {
+ ExtendedSpace (0xc4, ResourceProducer, SubDecode, MinNotFixed, MaxNotFixed, 0x4a,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+ ResourceTemplate () {
+ ExtendedSpace (0xc5, ResourceProducer, SubDecode, MinNotFixed, MaxFixed, 0x5a,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+ ResourceTemplate () {
+ ExtendedSpace (0xc6, ResourceProducer, SubDecode, MinFixed, MaxNotFixed, 0x6a,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+ ResourceTemplate () {
+ ExtendedSpace (0xc7, ResourceProducer, SubDecode, MinFixed, MaxFixed, 0x7a,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+ ResourceTemplate () {
+ ExtendedSpace (0xc8, ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, 0x8a,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+ ResourceTemplate () {
+ ExtendedSpace (0xc9, ResourceConsumer, PosDecode, MinNotFixed, MaxFixed, 0x9a,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+ ResourceTemplate () {
+ ExtendedSpace (0xca, ResourceConsumer, PosDecode, MinFixed, MaxNotFixed, 0xaa,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+ ResourceTemplate () {
+ ExtendedSpace (0xcb, ResourceConsumer, PosDecode, MinFixed, MaxFixed, 0xba,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+ ResourceTemplate () {
+ ExtendedSpace (0xcc, ResourceConsumer, SubDecode, MinNotFixed, MaxNotFixed, 0xca,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+ ResourceTemplate () {
+ ExtendedSpace (0xcd, ResourceConsumer, SubDecode, MinNotFixed, MaxFixed, 0xda,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+ ResourceTemplate () {
+ ExtendedSpace (0xce, ResourceConsumer, SubDecode, MinFixed, MaxNotFixed, 0xea,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+ ResourceTemplate () {
+ ExtendedSpace (0xff, ResourceConsumer, SubDecode, MinFixed, MaxFixed, 0xfa,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+
+ // Byte 5 (Type Specific Flags) of Extended Address Space Descriptor
+
+ ResourceTemplate () {
+ ExtendedSpace (0xc0, , , , , 0x00,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+ ResourceTemplate () {
+ ExtendedSpace (0xc0, , , , , 0xff,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+
+ // Particular cases
+
+ ResourceTemplate () {
+ ExtendedSpace (0xc0, , , , , 0x5a,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+ ResourceTemplate () {
+ ExtendedSpace (0xc0, , , , , 0x5a,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7)
+ },
+ ResourceTemplate () {
+ ExtendedSpace (0xc0, , , , , 0x5a,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ )
+ },
+ ResourceTemplate () {
+ ExtendedSpace (0xc0, , , , , 0x5a,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, ,
+ )
+ },
+ ResourceTemplate () {
+ ExtendedSpace (0xc0, ResourceConsumer, SubDecode, MinFixed, MaxFixed, 0x5a,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ ESP0)
+ },
+ ResourceTemplate () {
+ ExtendedSpace (0xc0, ResourceConsumer, SubDecode, MinFixed, MaxFixed, 0,
+ 0, 0, 0, 0, 0, 0,
+ )
+ },
+})
+
+/*
+ACPI Specification, Revision 3.0, September 2, 2004
+6.4.3.5.4 Extended Address Space Descriptor
+
+Space Extended Address Space Descriptor layout:
+
+Byte 0 (Tag Bits): Value=10001011B (0x8b) (Type = 1, Large item name = 0xB)
+Byte 1 (Length, bits[7:0]): Variable: Value = 53 (minimum)
+Byte 2 (Length, bits[15:8]): Variable: Value = 0 (minimum)
+Byte 3 (Resource Type):
+ 192-255 Hardware Vendor Defined
+Byte 4 (General Flags):
+ Bits[7:4] Reserved (must be 0)
+ Bit[3] Min Address Fixed, _MAF:
+ 1 The specified maximum address is fixed
+ 0 The specified maximum address is not fixed
+ and can be changed
+ Bit[2] Max Address Fixed,_MIF:
+ 1 The specified minimum address is fixed
+ 0 The specified minimum address is not fixed
+ and can be changed
+ Bit[1] Decode Type, _DEC:
+ 1 This bridge subtractively decodes this address
+ (top level bridges only)
+ 0 This bridge positively decodes this address
+ Bit[0] Consumer/Producer:
+ 1-This device consumes this resource
+ 0-This device produces and consumes this resource
+Byte 5 (Type Specific Flags):
+ Flags that are specific to each resource type. The meaning of the flags
+ in this field depends on the value of the Resource Type field (see above)
+Byte 6 (Revision ID):
+ Indicates the revision of the Extended Address Space descriptor.
+ For ACPI 3.0, this value is 1.
+Byte 7 (Reserved): 0
+Byte 8 (Address space granularity, _GRA bits[7:0]):
+ A set bit in this mask means that this bit is decoded. All bits less
+ significant than the most significant set bit must be set. (in other
+ words, the value of the full Address Space Granularity field (all 32
+ bits) must be a number (2**n-1).
+Byte 9 (Address space granularity, _GRA bits[15:8])
+Byte 10 (Address space granularity, _GRA bits[23:16])
+Byte 11 (Address space granularity, _GRA bits[31:24])
+Byte 12 (Address space granularity, _GRA bits[39:32])
+Byte 13 (Address space granularity, _GRA bits[47:40])
+Byte 14 (Address space granularity, _GRA bits[55:48])
+Byte 15 (Address space granularity, _GRA bits[63:56])
+Byte 16 (Address range minimum, _MIN bits [7:0]):
+ For bridges that translate addresses, this is the address space
+ on the secondary side of the bridge
+Byte 17 (Address range minimum, _MIN bits[15:8])
+Byte 18 (Address range minimum, _MIN bits[23:16])
+Byte 19 (Address range minimum, _MIN bits[31:24])
+Byte 20 (Address range minimum, _MIN bits[39:32])
+Byte 21 (Address range minimum, _MIN bits[47:40])
+Byte 22 (Address range minimum, _MIN bits[55:48])
+Byte 23 (Address range minimum, _MIN bits[63:56])
+Byte 24 (Address range maximum, _MAX bits [7:0]): See comment for _MIN
+Byte 25 (Address range maximum, _MAX bits[15:8])
+Byte 26 (Address range maximum, _MAX bits[23:16])
+Byte 27 (Address range maximum, _MAX bits[31:24])
+Byte 28 (Address range maximum, _MAX bits[39:32])
+Byte 29 (Address range maximum, _MAX bits[47:40])
+Byte 30 (Address range maximum, _MAX bits[55:48])
+Byte 31 (Address range maximum, _MAX bits[63:56])
+Byte 32 (Address Translation offset, _TRA bits [7:0]):
+ For bridges that translate addresses across the bridge, this is the
+ offset that must be added to the address on the secondary side to obtain
+ the address on the primary side. Non-bridge devices must list 0 for all
+ Address Translation offset bits
+Byte 33 (Address Translation offset, _TRA bits[15:8])
+Byte 34 (Address Translation offset, _TRA bits[23:16])
+Byte 35 (Address Translation offset, _TRA bits[31:24])
+Byte 36 (Address Translation offset, _TRA bits[39:32])
+Byte 37 (Address Translation offset, _TRA bits[47:40])
+Byte 38 (Address Translation offset, _TRA bits[55:48])
+Byte 39 (Address Translation offset, _TRA bits[63:56])
+Byte 40 (Address Length, _LEN bits [7:0])
+Byte 41 (Address Length, _LEN bits[15:8])
+Byte 42 (Address Length, _LEN bits[23:16])
+Byte 43 (Address Length, _LEN bits[31:24])
+Byte 44 (Address Length, _LEN bits[39:32])
+Byte 45 (Address Length, _LEN bits[47:40])
+Byte 46 (Address Length, _LEN bits[55:48])
+Byte 47 (Address Length, _LEN bits[63:56])
+Byte 48 (Type Specific Attribute, _ATT bits [7:0]):
+ Attributes that are specific to each resource type. The meaning
+ of the attributes in this field depends on the value of the Resource
+ Type field (see above). For the Memory Resource Type, the definition
+ is defined section 6.4.3.5.4.1. For other Resource Types, this field
+ is reserved to 0
+Byte 49 (Type Specific Attribute, _ATT bits[15:8])
+Byte 50 (Type Specific Attribute, _ATT bits[23:16])
+Byte 51 (Type Specific Attribute, _ATT bits[31:24])
+Byte 52 (Type Specific Attribute, _ATT bits[39:32])
+Byte 53 (Type Specific Attribute, _ATT bits[47:40])
+Byte 54 (Type Specific Attribute, _ATT bits[55:48])
+Byte 55 (Type Specific Attribute, _ATT bits[63:56])
+*/
+
+Name (p433, Package() {
+
+ // Byte 4 (General Flags) of Extended Address Space Descriptor
+
+ Buffer () {0x8b, 0x35, 0x00, 0xc0, 0x00, 0x0a, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0xc1, 0x08, 0x1a, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0xc2, 0x04, 0x2a, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0xc3, 0x0c, 0x3a, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0xc4, 0x02, 0x4a, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0xc5, 0x0a, 0x5a, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0xc6, 0x06, 0x6a, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0xc7, 0x0e, 0x7a, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0xc8, 0x01, 0x8a, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0xc9, 0x09, 0x9a, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0xca, 0x05, 0xaa, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0xcb, 0x0d, 0xba, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0xcc, 0x03, 0xca, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0xcd, 0x0b, 0xda, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0xce, 0x07, 0xea, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0xff, 0x0f, 0xfa, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+
+ // Byte 5 (Type Specific Flags) of Extended Address Space Descriptor
+
+ Buffer () {0x8b, 0x35, 0x00, 0xc0, 0x01, 0x00, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0xc0, 0x01, 0xff, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+
+ // Particular cases
+
+ Buffer () {0x8b, 0x35, 0x00, 0xc0, 0x01, 0x5a, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0xc0, 0x01, 0x5a, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0xc0, 0x01, 0x5a, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0xc0, 0x01, 0x5a, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0xc0, 0x0f, 0x5a, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8b, 0x35, 0x00, 0xc0, 0x0f, 0x00, 0x01, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x79, 0x00},
+})
+
+Method(RT17)
+{
+ Name(ts, "RT17")
+
+ Store("TEST: RT17, Extended Space Resource Descriptor Macro", Debug)
+
+ m330(ts, 24, "p432", p432, p433)
+
+ Store (
+ ResourceTemplate () {
+ ExtendedSpace (0xc0, ResourceProducer, PosDecode, MinNotFixed, MaxNotFixed, 0x5a,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff, ESP0)
+ ExtendedSpace (0xc0, ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, 0x5a,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff, ESP1)
+ }, Local0)
+
+ m331(ts, 1, ESP0._DEC, 0x21, ESP1._DEC, 0x1e1, "_DEC")
+ m331(ts, 2, ESP0._MIF, 0x22, ESP1._MIF, 0x1e2, "_MIF")
+ m331(ts, 3, ESP0._MAF, 0x23, ESP1._MAF, 0x1e3, "_MAF")
+ m331(ts, 4, ESP0._GRA, 8, ESP1._GRA, 64, "_GRA")
+ m331(ts, 5, ESP0._MIN, 16, ESP1._MIN, 72, "_MIN")
+ m331(ts, 6, ESP0._MAX, 24, ESP1._MAX, 80, "_MAX")
+ m331(ts, 7, ESP0._TRA, 32, ESP1._TRA, 88, "_TRA")
+ m331(ts, 8, ESP0._LEN, 40, ESP1._LEN, 96, "_LEN")
+ m331(ts, 9, ESP0._ATT, 48, ESP1._ATT, 104, "_ATT")
+}
+
+
diff --git a/tests/aslts/src/runtime/collections/functional/descriptor/fixedio.asl b/tests/aslts/src/runtime/collections/functional/descriptor/fixedio.asl
new file mode 100644
index 000000000..10691dc34
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/descriptor/fixedio.asl
@@ -0,0 +1,81 @@
+/*
+ * 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.
+ */
+
+/*
+ * Resource Descriptor macros
+ *
+ * Fixed IO Resource Descriptor Macro
+ */
+
+Name (p40a, Package() {
+ ResourceTemplate () {
+ FixedIO (0xf0f1, 0xf2)
+ },
+ ResourceTemplate () {
+ FixedIO (0, 0)
+ },
+})
+
+/*
+ACPI Specification, Revision 3.0, September 2, 2004
+6.4.2.6 Fixed Location I/O Port Descriptor
+
+Fixed Location I/O Port Descriptor layout:
+
+Byte 0 (Tag Bits): Value = 01001011B (0x4b)(Type = 0, Small item name = 0x9, Length = 3)
+
+Byte 1 (Range base address, _BAS bits[7:0])
+Byte 2 (Range base address, _BAS bits[9:8])
+
+Byte 3 (Range length, _LEN)
+*/
+
+Name (p40b, Package() {
+ Buffer () {0x4b, 0xf1, 0xf0, 0xf2, 0x79, 0x00},
+ Buffer () {0x4b, 0x00, 0x00, 0x00, 0x79, 0x00},
+})
+
+Method(RT06)
+{
+ Name(ts, "RT06")
+
+ Store("TEST: RT06, Fixed IO Resource Descriptor Macro", Debug)
+
+ m330(ts, 2, "p40a", p40a, p40b)
+
+ Store (
+ ResourceTemplate () {
+ FixedIO (0x0001, 0xff, FIO0)
+ FixedIO (0x0001, 0xff, FIO1)
+ }, Local0)
+
+ m331(ts, 1, FIO0._BAS, 1, FIO1._BAS, 5, "_BAS")
+ m331(ts, 2, FIO0._LEN, 3, FIO1._LEN, 7, "_LEN")
+}
diff --git a/tests/aslts/src/runtime/collections/functional/descriptor/interrupt.asl b/tests/aslts/src/runtime/collections/functional/descriptor/interrupt.asl
new file mode 100644
index 000000000..f51f1a13b
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/descriptor/interrupt.asl
@@ -0,0 +1,589 @@
+/*
+ * 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.
+ */
+
+/*
+ * Resource Descriptor macros
+ *
+ * Interrupt() Interrupt Resource Descriptor Macro
+ */
+
+Name(z017, 17)
+
+Name (p434, Package() {
+
+ // Byte 3 (Interrupt Vector Flags) of Extended Interrupt Descriptor
+
+ ResourceTemplate () {
+ Interrupt (ResourceProducer, Level, ActiveHigh, Exclusive) {
+ 0xfcfdfeff}
+ },
+ ResourceTemplate () {
+ Interrupt (ResourceProducer, Level, ActiveHigh, Shared) {
+ 0xf8f9fafb, 0xfcfdfeff}
+ },
+ ResourceTemplate () {
+ Interrupt (ResourceProducer, Level, ActiveLow, Exclusive) {
+ 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff}
+ },
+ ResourceTemplate () {
+ Interrupt (ResourceProducer, Level, ActiveLow, Shared) {
+ 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff}
+ },
+ ResourceTemplate () {
+ Interrupt (ResourceProducer, Edge, ActiveHigh, Exclusive) {
+ 0xecedeeef,
+ 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff}
+ },
+ ResourceTemplate () {
+ Interrupt (ResourceProducer, Edge, ActiveHigh, Shared) {
+ 0xe8e9eaeb, 0xecedeeef,
+ 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff}
+ },
+ ResourceTemplate () {
+ Interrupt (ResourceProducer, Edge, ActiveLow, Exclusive) {
+ 0xe4e5e6e7, 0xe8e9eaeb, 0xecedeeef,
+ 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff}
+ },
+ ResourceTemplate () {
+ Interrupt (ResourceProducer, Edge, ActiveLow, Shared) {
+ 0xe0e1e2e3, 0xe4e5e6e7, 0xe8e9eaeb, 0xecedeeef,
+ 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff}
+ },
+ ResourceTemplate () {
+ Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive) {
+ 0xdcdddedf,
+ 0xe0e1e2e3, 0xe4e5e6e7, 0xe8e9eaeb, 0xecedeeef,
+ 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff}
+ },
+ ResourceTemplate () {
+ Interrupt (ResourceConsumer, Level, ActiveHigh, Shared) {
+ 0xd8d9dadb, 0xdcdddedf,
+ 0xe0e1e2e3, 0xe4e5e6e7, 0xe8e9eaeb, 0xecedeeef,
+ 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff}
+ },
+ ResourceTemplate () {
+ Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive) {
+ 0xd4d5d6d7, 0xd8d9dadb, 0xdcdddedf,
+ 0xe0e1e2e3, 0xe4e5e6e7, 0xe8e9eaeb, 0xecedeeef,
+ 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff}
+ },
+ ResourceTemplate () {
+ Interrupt (ResourceConsumer, Level, ActiveLow, Shared) {
+ 0xd0d1d2d3, 0xd4d5d6d7, 0xd8d9dadb, 0xdcdddedf,
+ 0xe0e1e2e3, 0xe4e5e6e7, 0xe8e9eaeb, 0xecedeeef,
+ 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff}
+ },
+ ResourceTemplate () {
+ Interrupt (ResourceConsumer, Edge, ActiveHigh, Exclusive) {
+ 0xcccdcecf,
+ 0xd0d1d2d3, 0xd4d5d6d7, 0xd8d9dadb, 0xdcdddedf,
+ 0xe0e1e2e3, 0xe4e5e6e7, 0xe8e9eaeb, 0xecedeeef,
+ 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff}
+ },
+ ResourceTemplate () {
+ Interrupt (ResourceConsumer, Edge, ActiveHigh, Shared) {
+ 0xc8c9cacb, 0xcccdcecf,
+ 0xd0d1d2d3, 0xd4d5d6d7, 0xd8d9dadb, 0xdcdddedf,
+ 0xe0e1e2e3, 0xe4e5e6e7, 0xe8e9eaeb, 0xecedeeef,
+ 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff}
+ },
+ ResourceTemplate () {
+ Interrupt (ResourceConsumer, Edge, ActiveLow, Exclusive) {
+ 0xc4c5c6c7, 0xc8c9cacb, 0xcccdcecf,
+ 0xd0d1d2d3, 0xd4d5d6d7, 0xd8d9dadb, 0xdcdddedf,
+ 0xe0e1e2e3, 0xe4e5e6e7, 0xe8e9eaeb, 0xecedeeef,
+ 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff}
+ },
+ ResourceTemplate () {
+ Interrupt (ResourceConsumer, Edge, ActiveLow, Shared) {
+ 0xc0c1c2c3, 0xc4c5c6c7, 0xc8c9cacb, 0xcccdcecf,
+ 0xd0d1d2d3, 0xd4d5d6d7, 0xd8d9dadb, 0xdcdddedf,
+ 0xe0e1e2e3, 0xe4e5e6e7, 0xe8e9eaeb, 0xecedeeef,
+ 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff}
+ },
+
+ // Particular cases
+
+
+ /*
+ * RT18 - FAIL
+ *
+ * Bug 56.
+ * 20.12.2005. At present situation is being treated
+ * as one to be caught by compiler. After fixing the
+ * bug (if any) the entry should be excluded from there.
+ * Otherwise ACPICA or the test should be fixed.
+ */
+ ResourceTemplate () {
+ Interrupt (ResourceConsumer, Edge, ActiveLow, Shared) {}
+ },
+ ResourceTemplate () {
+ Interrupt (ResourceConsumer, Edge, ActiveLow, Shared) {
+ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
+ 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
+ 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
+ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
+ 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
+ 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,112,
+ 113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,
+ 129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,
+ 145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,
+ 161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,
+ 177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,
+ 193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,
+ 209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,
+ 225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,
+ 241,242,243,244,245,246,247,248,249,250,251,252,253,254,255}
+ },
+
+ // Resource Source
+
+ ResourceTemplate () {
+ Interrupt (ResourceConsumer, Edge, ActiveLow, Shared,
+ 0x01, "") {0xfcfdfeff}
+ },
+ ResourceTemplate () {
+ Interrupt (ResourceConsumer, Edge, ActiveLow, Shared,
+ 0x0f, "P") {0xfcfdfeff}
+ },
+ ResourceTemplate () {
+ Interrupt (ResourceConsumer, Edge, ActiveLow, Shared,
+ 0xf0, "PATH") {0xfcfdfeff}
+ },
+ ResourceTemplate () {
+ Interrupt (ResourceConsumer, Edge, ActiveLow, Shared,
+ 0xff,
+ "!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*"
+ ) {0xfcfdfeff}
+ },
+
+ // Particular cases
+
+ ResourceTemplate () {
+ Interrupt (ResourceConsumer, Edge, ActiveLow, Shared,
+ 0xff,
+ "!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*",
+ INT0) {
+ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
+ 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
+ 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
+ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
+ 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
+ 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,112,
+ 113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,
+ 129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,
+ 145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,
+ 161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,
+ 177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,
+ 193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,
+ 209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,
+ 225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,
+ 241,242,243,244,245,246,247,248,249,250,251,252,253,254,255}
+ },
+
+ // 20051021, relaxation for omitted ResourceSource (bug-fix 70 rejection)
+ ResourceTemplate () {
+ Interrupt (ResourceConsumer, Edge, ActiveLow, Shared,
+ 0x0f) {0xfcfdfeff}
+ },
+})
+
+/*
+ACPI Specification, Revision 3.0, September 2, 2004
+6.4.3.6 Extended Interrupt Descriptor
+
+Extended Interrupt Descriptor layout:
+
+Byte 0 Extended Interrupt Descriptor Value=10001001B (0x89) (Type = 1, Large item name = 0x9)
+Byte 1 Length, bits[7:0] Variable: Value = 6 (minimum)
+Byte 2 Length, bits[15:8] Variable: Value = 0 (minimum)
+Byte 3 Interrupt Vector Flags Interrupt Vector Information.
+ Bit[7:4] Reserved (must be 0)
+ Bit[3] Interrupt is shareable, _SHR
+ Bit[2] Interrupt Polarity, _LL
+ 0 Active-High: This interrupt is sampled
+ when the signal is high, or true.
+ 1 Active-Low: This interrupt is sampled
+ when the signal is low, or false.
+ Bit[1] Interrupt Mode, _HE
+ 0 Level-Triggered: Interrupt is triggered in response
+ to the signal being in either a high or low state.
+ 1 Edge-Triggered: This interrupt is
+ triggered in response to a change in signal
+ state, either high to low or low to high.
+ Bit[0] Consumer/Producer:
+ 1-This device consumes this resource
+ 0-This device produces and consumes this resource
+
+Byte 4 Interrupt table length Indicates the number of interrupt numbers that follow.
+ When this descriptor is returned from _CRS, or when OSPM
+ passes this descriptor to _SRS, this field must be set to 1.
+Byte 4n+5 Interrupt Number, _INT bits [7:0] Interrupt number
+Byte 4n+6 Interrupt Number, _INT bits [15:8]
+Byte 4n+7 Interrupt Number, _INT bits [23:16]
+Byte 4n+8 Interrupt Number, _INT bits [31:24]
+… … Additional interrupt numbers
+Byte x Resource Source Index (Optional) Only present if Resource Source (below) is present.
+ This field gives an index to the specific resource descriptor
+ that this device consumes from in the current resource template
+ for the device object pointed to in Resource Source.
+String Resource Source (Optional) If present, the device that uses this descriptor consumes its
+ resources from the resources produces by the named device object.
+ If not present, the device consumes its resources out of a global
+ pool. If not present, the device consumes this resource from its
+ hierarchical parent.
+*/
+
+Name (p435, Package() {
+
+ // Byte 3 (Interrupt Vector Flags) of Extended Interrupt Descriptor
+
+ Buffer () {0x89, 0x06, 0x00, 0x00, 0x01,
+ 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x89, 0x0a, 0x00, 0x08, 0x02,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x89, 0x0e, 0x00, 0x04, 0x03,
+ 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x89, 0x12, 0x00, 0x0c, 0x04,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x89, 0x16, 0x00, 0x02, 0x05,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x89, 0x1a, 0x00, 0x0a, 0x06,
+ 0xeb, 0xea, 0xe9, 0xe8, 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x89, 0x1e, 0x00, 0x06, 0x07,
+ 0xe7, 0xe6, 0xe5, 0xe4,
+ 0xeb, 0xea, 0xe9, 0xe8, 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x89, 0x22, 0x00, 0x0e, 0x08,
+ 0xe3, 0xe2, 0xe1, 0xe0, 0xe7, 0xe6, 0xe5, 0xe4,
+ 0xeb, 0xea, 0xe9, 0xe8, 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x89, 0x26, 0x00, 0x01, 0x09,
+ 0xdf, 0xde, 0xdd, 0xdc,
+ 0xe3, 0xe2, 0xe1, 0xe0, 0xe7, 0xe6, 0xe5, 0xe4,
+ 0xeb, 0xea, 0xe9, 0xe8, 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x89, 0x2a, 0x00, 0x09, 0x0a,
+ 0xdb, 0xda, 0xd9, 0xd8, 0xdf, 0xde, 0xdd, 0xdc,
+ 0xe3, 0xe2, 0xe1, 0xe0, 0xe7, 0xe6, 0xe5, 0xe4,
+ 0xeb, 0xea, 0xe9, 0xe8, 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x89, 0x2e, 0x00, 0x05, 0x0b,
+ 0xd7, 0xd6, 0xd5, 0xd4,
+ 0xdb, 0xda, 0xd9, 0xd8, 0xdf, 0xde, 0xdd, 0xdc,
+ 0xe3, 0xe2, 0xe1, 0xe0, 0xe7, 0xe6, 0xe5, 0xe4,
+ 0xeb, 0xea, 0xe9, 0xe8, 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x89, 0x32, 0x00, 0x0d, 0x0c,
+ 0xd3, 0xd2, 0xd1, 0xd0, 0xd7, 0xd6, 0xd5, 0xd4,
+ 0xdb, 0xda, 0xd9, 0xd8, 0xdf, 0xde, 0xdd, 0xdc,
+ 0xe3, 0xe2, 0xe1, 0xe0, 0xe7, 0xe6, 0xe5, 0xe4,
+ 0xeb, 0xea, 0xe9, 0xe8, 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x89, 0x36, 0x00, 0x03, 0x0d,
+ 0xcf, 0xce, 0xcd, 0xcc,
+ 0xd3, 0xd2, 0xd1, 0xd0, 0xd7, 0xd6, 0xd5, 0xd4,
+ 0xdb, 0xda, 0xd9, 0xd8, 0xdf, 0xde, 0xdd, 0xdc,
+ 0xe3, 0xe2, 0xe1, 0xe0, 0xe7, 0xe6, 0xe5, 0xe4,
+ 0xeb, 0xea, 0xe9, 0xe8, 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x89, 0x3a, 0x00, 0x0b, 0x0e,
+ 0xcb, 0xca, 0xc9, 0xc8, 0xcf, 0xce, 0xcd, 0xcc,
+ 0xd3, 0xd2, 0xd1, 0xd0, 0xd7, 0xd6, 0xd5, 0xd4,
+ 0xdb, 0xda, 0xd9, 0xd8, 0xdf, 0xde, 0xdd, 0xdc,
+ 0xe3, 0xe2, 0xe1, 0xe0, 0xe7, 0xe6, 0xe5, 0xe4,
+ 0xeb, 0xea, 0xe9, 0xe8, 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x89, 0x3e, 0x00, 0x07, 0x0f,
+ 0xc7, 0xc6, 0xc5, 0xc4,
+ 0xcb, 0xca, 0xc9, 0xc8, 0xcf, 0xce, 0xcd, 0xcc,
+ 0xd3, 0xd2, 0xd1, 0xd0, 0xd7, 0xd6, 0xd5, 0xd4,
+ 0xdb, 0xda, 0xd9, 0xd8, 0xdf, 0xde, 0xdd, 0xdc,
+ 0xe3, 0xe2, 0xe1, 0xe0, 0xe7, 0xe6, 0xe5, 0xe4,
+ 0xeb, 0xea, 0xe9, 0xe8, 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x89, 0x42, 0x00, 0x0f, 0x10,
+ 0xc3, 0xc2, 0xc1, 0xc0, 0xc7, 0xc6, 0xc5, 0xc4,
+ 0xcb, 0xca, 0xc9, 0xc8, 0xcf, 0xce, 0xcd, 0xcc,
+ 0xd3, 0xd2, 0xd1, 0xd0, 0xd7, 0xd6, 0xd5, 0xd4,
+ 0xdb, 0xda, 0xd9, 0xd8, 0xdf, 0xde, 0xdd, 0xdc,
+ 0xe3, 0xe2, 0xe1, 0xe0, 0xe7, 0xe6, 0xe5, 0xe4,
+ 0xeb, 0xea, 0xe9, 0xe8, 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+
+ // Particular cases
+
+ Buffer () {0x89, 0x02, 0x00, 0x0f, 0x00, 0x79, 0x00},
+ // At the moment returning
+ // Buffer () {0x89, 0x06, 0x00, 0x0f, 0x01, 0x00, 0x00, 0x00, 0x00, 0x79, 0x00},
+
+ Buffer () {0x89, 0xfe, 0x03, 0x0f, 0xff,
+ 1, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 4, 0, 0, 0,
+ 5, 0, 0, 0, 6, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0,
+ 9, 0, 0, 0, 10, 0, 0, 0, 11, 0, 0, 0, 12, 0, 0, 0,
+ 13, 0, 0, 0, 14, 0, 0, 0, 15, 0, 0, 0, 16, 0, 0, 0,
+ 17, 0, 0, 0, 18, 0, 0, 0, 19, 0, 0, 0, 20, 0, 0, 0,
+ 21, 0, 0, 0, 22, 0, 0, 0, 23, 0, 0, 0, 24, 0, 0, 0,
+ 25, 0, 0, 0, 26, 0, 0, 0, 27, 0, 0, 0, 28, 0, 0, 0,
+ 29, 0, 0, 0, 30, 0, 0, 0, 31, 0, 0, 0, 32, 0, 0, 0,
+ 33, 0, 0, 0, 34, 0, 0, 0, 35, 0, 0, 0, 36, 0, 0, 0,
+ 37, 0, 0, 0, 38, 0, 0, 0, 39, 0, 0, 0, 40, 0, 0, 0,
+ 41, 0, 0, 0, 42, 0, 0, 0, 43, 0, 0, 0, 44, 0, 0, 0,
+ 45, 0, 0, 0, 46, 0, 0, 0, 47, 0, 0, 0, 48, 0, 0, 0,
+ 49, 0, 0, 0, 50, 0, 0, 0, 51, 0, 0, 0, 52, 0, 0, 0,
+ 53, 0, 0, 0, 54, 0, 0, 0, 55, 0, 0, 0, 56, 0, 0, 0,
+ 57, 0, 0, 0, 58, 0, 0, 0, 59, 0, 0, 0, 60, 0, 0, 0,
+ 61, 0, 0, 0, 62, 0, 0, 0, 63, 0, 0, 0, 64, 0, 0, 0,
+ 65, 0, 0, 0, 66, 0, 0, 0, 67, 0, 0, 0, 68, 0, 0, 0,
+ 69, 0, 0, 0, 70, 0, 0, 0, 71, 0, 0, 0, 72, 0, 0, 0,
+ 73, 0, 0, 0, 74, 0, 0, 0, 75, 0, 0, 0, 76, 0, 0, 0,
+ 77, 0, 0, 0, 78, 0, 0, 0, 79, 0, 0, 0, 80, 0, 0, 0,
+ 81, 0, 0, 0, 82, 0, 0, 0, 83, 0, 0, 0, 84, 0, 0, 0,
+ 85, 0, 0, 0, 86, 0, 0, 0, 87, 0, 0, 0, 88, 0, 0, 0,
+ 89, 0, 0, 0, 90, 0, 0, 0, 91, 0, 0, 0, 92, 0, 0, 0,
+ 93, 0, 0, 0, 94, 0, 0, 0, 95, 0, 0, 0, 96, 0, 0, 0,
+ 97, 0, 0, 0, 98, 0, 0, 0, 99, 0, 0, 0,100, 0, 0, 0,
+ 101, 0, 0, 0,102, 0, 0, 0,103, 0, 0, 0,104, 0, 0, 0,
+ 105, 0, 0, 0,106, 0, 0, 0,107, 0, 0, 0,108, 0, 0, 0,
+ 109, 0, 0, 0,110, 0, 0, 0,111, 0, 0, 0,112, 0, 0, 0,
+ 113, 0, 0, 0,114, 0, 0, 0,115, 0, 0, 0,116, 0, 0, 0,
+ 117, 0, 0, 0,118, 0, 0, 0,119, 0, 0, 0,120, 0, 0, 0,
+ 121, 0, 0, 0,122, 0, 0, 0,123, 0, 0, 0,124, 0, 0, 0,
+ 125, 0, 0, 0,126, 0, 0, 0,127, 0, 0, 0,128, 0, 0, 0,
+ 129, 0, 0, 0,130, 0, 0, 0,131, 0, 0, 0,132, 0, 0, 0,
+ 133, 0, 0, 0,134, 0, 0, 0,135, 0, 0, 0,136, 0, 0, 0,
+ 137, 0, 0, 0,138, 0, 0, 0,139, 0, 0, 0,140, 0, 0, 0,
+ 141, 0, 0, 0,142, 0, 0, 0,143, 0, 0, 0,144, 0, 0, 0,
+ 145, 0, 0, 0,146, 0, 0, 0,147, 0, 0, 0,148, 0, 0, 0,
+ 149, 0, 0, 0,150, 0, 0, 0,151, 0, 0, 0,152, 0, 0, 0,
+ 153, 0, 0, 0,154, 0, 0, 0,155, 0, 0, 0,156, 0, 0, 0,
+ 157, 0, 0, 0,158, 0, 0, 0,159, 0, 0, 0,160, 0, 0, 0,
+ 161, 0, 0, 0,162, 0, 0, 0,163, 0, 0, 0,164, 0, 0, 0,
+ 165, 0, 0, 0,166, 0, 0, 0,167, 0, 0, 0,168, 0, 0, 0,
+ 169, 0, 0, 0,170, 0, 0, 0,171, 0, 0, 0,172, 0, 0, 0,
+ 173, 0, 0, 0,174, 0, 0, 0,175, 0, 0, 0,176, 0, 0, 0,
+ 177, 0, 0, 0,178, 0, 0, 0,179, 0, 0, 0,180, 0, 0, 0,
+ 181, 0, 0, 0,182, 0, 0, 0,183, 0, 0, 0,184, 0, 0, 0,
+ 185, 0, 0, 0,186, 0, 0, 0,187, 0, 0, 0,188, 0, 0, 0,
+ 189, 0, 0, 0,190, 0, 0, 0,191, 0, 0, 0,192, 0, 0, 0,
+ 193, 0, 0, 0,194, 0, 0, 0,195, 0, 0, 0,196, 0, 0, 0,
+ 197, 0, 0, 0,198, 0, 0, 0,199, 0, 0, 0,200, 0, 0, 0,
+ 201, 0, 0, 0,202, 0, 0, 0,203, 0, 0, 0,204, 0, 0, 0,
+ 205, 0, 0, 0,206, 0, 0, 0,207, 0, 0, 0,208, 0, 0, 0,
+ 209, 0, 0, 0,210, 0, 0, 0,211, 0, 0, 0,212, 0, 0, 0,
+ 213, 0, 0, 0,214, 0, 0, 0,215, 0, 0, 0,216, 0, 0, 0,
+ 217, 0, 0, 0,218, 0, 0, 0,219, 0, 0, 0,220, 0, 0, 0,
+ 221, 0, 0, 0,222, 0, 0, 0,223, 0, 0, 0,224, 0, 0, 0,
+ 225, 0, 0, 0,226, 0, 0, 0,227, 0, 0, 0,228, 0, 0, 0,
+ 229, 0, 0, 0,230, 0, 0, 0,231, 0, 0, 0,232, 0, 0, 0,
+ 233, 0, 0, 0,234, 0, 0, 0,235, 0, 0, 0,236, 0, 0, 0,
+ 237, 0, 0, 0,238, 0, 0, 0,239, 0, 0, 0,240, 0, 0, 0,
+ 241, 0, 0, 0,242, 0, 0, 0,243, 0, 0, 0,244, 0, 0, 0,
+ 245, 0, 0, 0,246, 0, 0, 0,247, 0, 0, 0,248, 0, 0, 0,
+ 249, 0, 0, 0,250, 0, 0, 0,251, 0, 0, 0,252, 0, 0, 0,
+ 253, 0, 0, 0,254, 0, 0, 0,255, 0, 0, 0,
+ 0x79, 0x00},
+
+ // Resource Source
+
+ Buffer () {0x89, 0x08, 0x00, 0x0f, 0x01, 0xff, 0xfe, 0xfd, 0xfc,
+ 0x01, 0x00, 0x79, 0x00},
+ Buffer () {0x89, 0x09, 0x00, 0x0f, 0x01, 0xff, 0xfe, 0xfd, 0xfc,
+ 0x0f, 0x50, 0x00, 0x79, 0x00},
+ Buffer () {0x89, 0x0c, 0x00, 0x0f, 0x01, 0xff, 0xfe, 0xfd, 0xfc,
+ 0xf0, 0x50, 0x41, 0x54, 0x48, 0x00, 0x79, 0x00},
+ Buffer () {0x89, 0xd0, 0x00, 0x0f, 0x01, 0xff, 0xfe, 0xfd, 0xfc,
+ 0xff,
+ 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28,
+ 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30,
+ 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
+ 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40,
+ 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48,
+ 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50,
+ 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58,
+ 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0x60,
+ 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
+ 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
+ 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
+ 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x20, 0x21,
+ 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29,
+ 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30, 0x31,
+ 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39,
+ 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41,
+ 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49,
+ 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51,
+ 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59,
+ 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0x60, 0x61,
+ 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69,
+ 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70, 0x71,
+ 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79,
+ 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x20, 0x21, 0x22,
+ 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a,
+ 0x00, 0x79, 0x00},
+
+ // Particular cases
+
+ Buffer () {0x89, 0xc8, 0x04, 0x0f, 0xff,
+ 1, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 4, 0, 0, 0,
+ 5, 0, 0, 0, 6, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0,
+ 9, 0, 0, 0, 10, 0, 0, 0, 11, 0, 0, 0, 12, 0, 0, 0,
+ 13, 0, 0, 0, 14, 0, 0, 0, 15, 0, 0, 0, 16, 0, 0, 0,
+ 17, 0, 0, 0, 18, 0, 0, 0, 19, 0, 0, 0, 20, 0, 0, 0,
+ 21, 0, 0, 0, 22, 0, 0, 0, 23, 0, 0, 0, 24, 0, 0, 0,
+ 25, 0, 0, 0, 26, 0, 0, 0, 27, 0, 0, 0, 28, 0, 0, 0,
+ 29, 0, 0, 0, 30, 0, 0, 0, 31, 0, 0, 0, 32, 0, 0, 0,
+ 33, 0, 0, 0, 34, 0, 0, 0, 35, 0, 0, 0, 36, 0, 0, 0,
+ 37, 0, 0, 0, 38, 0, 0, 0, 39, 0, 0, 0, 40, 0, 0, 0,
+ 41, 0, 0, 0, 42, 0, 0, 0, 43, 0, 0, 0, 44, 0, 0, 0,
+ 45, 0, 0, 0, 46, 0, 0, 0, 47, 0, 0, 0, 48, 0, 0, 0,
+ 49, 0, 0, 0, 50, 0, 0, 0, 51, 0, 0, 0, 52, 0, 0, 0,
+ 53, 0, 0, 0, 54, 0, 0, 0, 55, 0, 0, 0, 56, 0, 0, 0,
+ 57, 0, 0, 0, 58, 0, 0, 0, 59, 0, 0, 0, 60, 0, 0, 0,
+ 61, 0, 0, 0, 62, 0, 0, 0, 63, 0, 0, 0, 64, 0, 0, 0,
+ 65, 0, 0, 0, 66, 0, 0, 0, 67, 0, 0, 0, 68, 0, 0, 0,
+ 69, 0, 0, 0, 70, 0, 0, 0, 71, 0, 0, 0, 72, 0, 0, 0,
+ 73, 0, 0, 0, 74, 0, 0, 0, 75, 0, 0, 0, 76, 0, 0, 0,
+ 77, 0, 0, 0, 78, 0, 0, 0, 79, 0, 0, 0, 80, 0, 0, 0,
+ 81, 0, 0, 0, 82, 0, 0, 0, 83, 0, 0, 0, 84, 0, 0, 0,
+ 85, 0, 0, 0, 86, 0, 0, 0, 87, 0, 0, 0, 88, 0, 0, 0,
+ 89, 0, 0, 0, 90, 0, 0, 0, 91, 0, 0, 0, 92, 0, 0, 0,
+ 93, 0, 0, 0, 94, 0, 0, 0, 95, 0, 0, 0, 96, 0, 0, 0,
+ 97, 0, 0, 0, 98, 0, 0, 0, 99, 0, 0, 0,100, 0, 0, 0,
+ 101, 0, 0, 0,102, 0, 0, 0,103, 0, 0, 0,104, 0, 0, 0,
+ 105, 0, 0, 0,106, 0, 0, 0,107, 0, 0, 0,108, 0, 0, 0,
+ 109, 0, 0, 0,110, 0, 0, 0,111, 0, 0, 0,112, 0, 0, 0,
+ 113, 0, 0, 0,114, 0, 0, 0,115, 0, 0, 0,116, 0, 0, 0,
+ 117, 0, 0, 0,118, 0, 0, 0,119, 0, 0, 0,120, 0, 0, 0,
+ 121, 0, 0, 0,122, 0, 0, 0,123, 0, 0, 0,124, 0, 0, 0,
+ 125, 0, 0, 0,126, 0, 0, 0,127, 0, 0, 0,128, 0, 0, 0,
+ 129, 0, 0, 0,130, 0, 0, 0,131, 0, 0, 0,132, 0, 0, 0,
+ 133, 0, 0, 0,134, 0, 0, 0,135, 0, 0, 0,136, 0, 0, 0,
+ 137, 0, 0, 0,138, 0, 0, 0,139, 0, 0, 0,140, 0, 0, 0,
+ 141, 0, 0, 0,142, 0, 0, 0,143, 0, 0, 0,144, 0, 0, 0,
+ 145, 0, 0, 0,146, 0, 0, 0,147, 0, 0, 0,148, 0, 0, 0,
+ 149, 0, 0, 0,150, 0, 0, 0,151, 0, 0, 0,152, 0, 0, 0,
+ 153, 0, 0, 0,154, 0, 0, 0,155, 0, 0, 0,156, 0, 0, 0,
+ 157, 0, 0, 0,158, 0, 0, 0,159, 0, 0, 0,160, 0, 0, 0,
+ 161, 0, 0, 0,162, 0, 0, 0,163, 0, 0, 0,164, 0, 0, 0,
+ 165, 0, 0, 0,166, 0, 0, 0,167, 0, 0, 0,168, 0, 0, 0,
+ 169, 0, 0, 0,170, 0, 0, 0,171, 0, 0, 0,172, 0, 0, 0,
+ 173, 0, 0, 0,174, 0, 0, 0,175, 0, 0, 0,176, 0, 0, 0,
+ 177, 0, 0, 0,178, 0, 0, 0,179, 0, 0, 0,180, 0, 0, 0,
+ 181, 0, 0, 0,182, 0, 0, 0,183, 0, 0, 0,184, 0, 0, 0,
+ 185, 0, 0, 0,186, 0, 0, 0,187, 0, 0, 0,188, 0, 0, 0,
+ 189, 0, 0, 0,190, 0, 0, 0,191, 0, 0, 0,192, 0, 0, 0,
+ 193, 0, 0, 0,194, 0, 0, 0,195, 0, 0, 0,196, 0, 0, 0,
+ 197, 0, 0, 0,198, 0, 0, 0,199, 0, 0, 0,200, 0, 0, 0,
+ 201, 0, 0, 0,202, 0, 0, 0,203, 0, 0, 0,204, 0, 0, 0,
+ 205, 0, 0, 0,206, 0, 0, 0,207, 0, 0, 0,208, 0, 0, 0,
+ 209, 0, 0, 0,210, 0, 0, 0,211, 0, 0, 0,212, 0, 0, 0,
+ 213, 0, 0, 0,214, 0, 0, 0,215, 0, 0, 0,216, 0, 0, 0,
+ 217, 0, 0, 0,218, 0, 0, 0,219, 0, 0, 0,220, 0, 0, 0,
+ 221, 0, 0, 0,222, 0, 0, 0,223, 0, 0, 0,224, 0, 0, 0,
+ 225, 0, 0, 0,226, 0, 0, 0,227, 0, 0, 0,228, 0, 0, 0,
+ 229, 0, 0, 0,230, 0, 0, 0,231, 0, 0, 0,232, 0, 0, 0,
+ 233, 0, 0, 0,234, 0, 0, 0,235, 0, 0, 0,236, 0, 0, 0,
+ 237, 0, 0, 0,238, 0, 0, 0,239, 0, 0, 0,240, 0, 0, 0,
+ 241, 0, 0, 0,242, 0, 0, 0,243, 0, 0, 0,244, 0, 0, 0,
+ 245, 0, 0, 0,246, 0, 0, 0,247, 0, 0, 0,248, 0, 0, 0,
+ 249, 0, 0, 0,250, 0, 0, 0,251, 0, 0, 0,252, 0, 0, 0,
+ 253, 0, 0, 0,254, 0, 0, 0,255, 0, 0, 0,
+ 0xff,
+ 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28,
+ 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30,
+ 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
+ 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40,
+ 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48,
+ 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50,
+ 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58,
+ 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0x60,
+ 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
+ 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
+ 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
+ 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x20, 0x21,
+ 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29,
+ 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30, 0x31,
+ 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39,
+ 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41,
+ 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49,
+ 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51,
+ 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59,
+ 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0x60, 0x61,
+ 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69,
+ 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70, 0x71,
+ 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79,
+ 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x20, 0x21, 0x22,
+ 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a,
+ 0x00, 0x79, 0x00},
+
+ // 20051021, relaxation for omitted ResourceSource (bug-fix 70 rejection)
+ Buffer () {0x89, 0x07, 0x00, 0x0f, 0x01, 0xff, 0xfe, 0xfd, 0xfc,
+ 0x0f, 0x79, 0x00},
+})
+
+Method(RT18)
+{
+ Name(ts, "RT18")
+
+ Store("TEST: RT18, Interrupt() Interrupt Resource Descriptor Macro", Debug)
+
+ m330(ts, 24, "p434", p434, p435)
+
+ Store (
+ ResourceTemplate () {
+ Interrupt (ResourceProducer, Edge, ActiveLow, Shared, , , INT0) {0xfcfdfeff}
+ Interrupt (ResourceProducer, Edge, ActiveLow, Shared, , , INT1) {0xfcfdfeff}
+ }, Local0)
+
+ m331(ts, 1, INT0._HE, 0x19, INT1._HE, 0x61, "_HE")
+ m331(ts, 2, INT0._LL, 0x1a, INT1._LL, 0x62, "_LL")
+ m331(ts, 3, INT0._SHR, 0x1b, INT1._SHR, 0x63, "_SHR")
+ m331(ts, 4, INT0._INT, 5, INT1._INT, 14, "_INT")
+
+ CH03(ts, z017, 0x123, 0, 0)
+}
diff --git a/tests/aslts/src/runtime/collections/functional/descriptor/io.asl b/tests/aslts/src/runtime/collections/functional/descriptor/io.asl
new file mode 100644
index 000000000..cd1e8b26d
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/descriptor/io.asl
@@ -0,0 +1,100 @@
+/*
+ * 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.
+ */
+
+/*
+ * Resource Descriptor macros
+ *
+ * IO Resource Descriptor Macro
+ */
+
+Name (p408, Package() {
+ ResourceTemplate () {
+ IO (Decode10, 0xf0f1, 0xf2f3, 0xf4, 0xf5)
+ },
+ ResourceTemplate () {
+ IO (Decode16, 0xf0f1, 0xf2f3, 0xf4, 0xf5)
+ },
+ ResourceTemplate () {
+ IO (Decode16, 0, 0, 0, 0)
+ },
+})
+
+/*
+ACPI Specification, Revision 3.0, September 2, 2004
+6.4.2.5 I/O Port Descriptor
+
+I/O Port Descriptor layout:
+
+Byte 0 (Tag Bits): Value = 01000111B (0x47) (Type = 0, Small item name = 0x8, Length = 7)
+
+Byte 1 (Information): 0000000dB
+Bits[7:1] Reserved and must be 0
+Bit[0] (_DEC)
+ 1 The logical device decodes 16-bit addresses
+ 0 The logical device only decodes address bits[9:0]
+
+Byte 2 (Range minimum base address, _MIN bits[7:0])
+Byte 3 (Range minimum base address, _MIN bits[15:8])
+
+Byte 4 (Range maximum base address, _MAX bits[7:0])
+Byte 5 (Range maximum base address, _MAX bits[15:8])
+
+Byte 6 (Base alignment, _ALN): Alignment for minimum base address,
+ increment in 1-byte blocks.
+
+Byte 7 (Range length, _LEN): The number of contiguous I/O ports requested.
+*/
+
+Name (p409, Package() {
+ Buffer () {0x47, 0x00, 0xf1, 0xf0, 0xf3, 0xf2, 0xf4, 0xf5, 0x79, 0x00},
+ Buffer () {0x47, 0x01, 0xf1, 0xf0, 0xf3, 0xf2, 0xf4, 0xf5, 0x79, 0x00},
+ Buffer () {0x47, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x79, 0x00},
+})
+
+Method(RT05)
+{
+ Name(ts, "RT05")
+
+ Store("TEST: RT05, IO Resource Descriptor Macro", Debug)
+
+ m330(ts, 3, "p408", p408, p409)
+
+ Store (
+ ResourceTemplate () {
+ IO (Decode16, 0xf0f1, 0xf2f3, 0xf4, 0xf5, IO0)
+ IO (Decode16, 0xf0f1, 0xf2f3, 0xf4, 0xf5, IO1)
+ }, Local0)
+
+ m331(ts, 1, IO0._DEC, 0x08, IO1._DEC, 0x48, "_DEC")
+ m331(ts, 2, IO0._MIN, 2, IO1._MIN, 10, "_MIN")
+ m331(ts, 3, IO0._MAX, 4, IO1._MAX, 12, "_MAX")
+ m331(ts, 4, IO0._ALN, 6, IO1._ALN, 14, "_ALN")
+ m331(ts, 5, IO0._LEN, 7, IO1._LEN, 15, "_LEN")
+}
diff --git a/tests/aslts/src/runtime/collections/functional/descriptor/irq.asl b/tests/aslts/src/runtime/collections/functional/descriptor/irq.asl
new file mode 100644
index 000000000..583cd365d
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/descriptor/irq.asl
@@ -0,0 +1,155 @@
+/*
+ * 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.
+ */
+
+/*
+ * Resource Descriptor macros
+ *
+ * IRQ() Interrupt Resource Descriptor Macro
+ */
+
+Name (p400, Package() {
+ ResourceTemplate () {
+ IRQ (Level, ActiveHigh, Exclusive) {0}
+ },
+ ResourceTemplate () {
+ IRQ (Level, ActiveHigh, Shared) {1}
+ },
+ ResourceTemplate () {
+ IRQ (Level, ActiveLow, Exclusive) {2}
+ },
+ ResourceTemplate () {
+ IRQ (Level, ActiveLow, Shared) {3}
+ },
+ ResourceTemplate () {
+ IRQ (Edge, ActiveHigh, Exclusive) {4}
+ },
+ ResourceTemplate () {
+ IRQ (Edge, ActiveHigh, Shared) {5}
+ },
+ ResourceTemplate () {
+ IRQ (Edge, ActiveLow, Exclusive) {6}
+ },
+ ResourceTemplate () {
+ IRQ (Edge, ActiveLow, Shared) {7}
+ },
+ ResourceTemplate () {
+ IRQ (Level, ActiveHigh, Exclusive) {8}
+ },
+ ResourceTemplate () {
+ IRQ (Level, ActiveHigh, Shared) {9}
+ },
+ ResourceTemplate () {
+ IRQ (Level, ActiveLow, Exclusive) {10}
+ },
+ ResourceTemplate () {
+ IRQ (Level, ActiveLow, Shared) {11}
+ },
+ ResourceTemplate () {
+ IRQ (Edge, ActiveHigh, Exclusive) {12}
+ },
+ ResourceTemplate () {
+ IRQ (Edge, ActiveHigh, Shared) {13}
+ },
+ ResourceTemplate () {
+ IRQ (Edge, ActiveLow, Exclusive) {14}
+ },
+ ResourceTemplate () {
+ IRQ (Edge, ActiveLow, Shared) {15}
+ },
+ ResourceTemplate () {
+ IRQ (Edge, ActiveLow) {}
+ },
+ ResourceTemplate () {
+ IRQ (Level, ActiveHigh) {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}
+ },
+})
+
+/*
+ACPI Specification, Revision 3.0, September 2, 2004
+6.4.2.1 IRQ Descriptor
+
+IRQ Descriptor layout (length = 3):
+
+Byte 0 (Tag Bits): Value = 00100011B (0x23) (Type = 0, small item name = 0x4, length = 3),
+
+Byte 1 (IRQ mask bits[7:0]): IRQ0 <=> bit[0]
+
+Byte 2 (IRQ mask bits[15:8]): IRQ8 <=> bit[0]
+
+Byte 3 (IRQ Information):
+Bit[4] Interrupt is sharable, _SHR
+Bit[3] Interrupt Polarity, _LL
+ 0 Active-High - This interrupt is sampled when the signal is high, or true
+ 1 Active-Low - This interrupt is sampled when the signal is low, or false.
+Bit[0] Interrupt Mode, _HE
+ 0 Level-Triggered - Interrupt is triggered in response to signal in a low state.
+ 1 Edge-Triggered - Interrupt is triggered in response to a change in signal state
+ from low to high.
+*/
+
+Name (p401, Package() {
+ Buffer () {0x23, 0x01, 0x00, 0x00, 0x79, 0x00},
+ Buffer () {0x23, 0x02, 0x00, 0x10, 0x79, 0x00},
+ Buffer () {0x23, 0x04, 0x00, 0x08, 0x79, 0x00},
+ Buffer () {0x23, 0x08, 0x00, 0x18, 0x79, 0x00},
+ Buffer () {0x23, 0x10, 0x00, 0x01, 0x79, 0x00},
+ Buffer () {0x23, 0x20, 0x00, 0x11, 0x79, 0x00},
+ Buffer () {0x23, 0x40, 0x00, 0x09, 0x79, 0x00},
+ Buffer () {0x23, 0x80, 0x00, 0x19, 0x79, 0x00},
+ Buffer () {0x23, 0x00, 0x01, 0x00, 0x79, 0x00},
+ Buffer () {0x23, 0x00, 0x02, 0x10, 0x79, 0x00},
+ Buffer () {0x23, 0x00, 0x04, 0x08, 0x79, 0x00},
+ Buffer () {0x23, 0x00, 0x08, 0x18, 0x79, 0x00},
+ Buffer () {0x23, 0x00, 0x10, 0x01, 0x79, 0x00},
+ Buffer () {0x23, 0x00, 0x20, 0x11, 0x79, 0x00},
+ Buffer () {0x23, 0x00, 0x40, 0x09, 0x79, 0x00},
+ Buffer () {0x23, 0x00, 0x80, 0x19, 0x79, 0x00},
+ Buffer () {0x23, 0x00, 0x00, 0x09, 0x79, 0x00},
+ Buffer () {0x23, 0xff, 0xff, 0x00, 0x79, 0x00},
+})
+
+Method(RT01)
+{
+ Name(ts, "RT01")
+
+ Store("TEST: RT01, IRQ() Interrupt Resource Descriptor Macro", Debug)
+
+ m330(ts, 18, "p400", p400, p401)
+
+ Store (
+ ResourceTemplate () {
+ IRQ (Edge, ActiveLow, Shared, IRQ0) {}
+ IRQ (Edge, ActiveLow, Shared, IRQ1) {}
+ }, Local0)
+
+ m331(ts, 1, IRQ0._HE, 0x18, IRQ1._HE, 0x38, "_HE")
+ m331(ts, 2, IRQ0._LL, 0x1b, IRQ1._LL, 0x3b, "_LL")
+ m331(ts, 3, IRQ0._SHR, 0x1c, IRQ1._SHR, 0x3c, "_SHR")
+}
diff --git a/tests/aslts/src/runtime/collections/functional/descriptor/irqnoflags.asl b/tests/aslts/src/runtime/collections/functional/descriptor/irqnoflags.asl
new file mode 100644
index 000000000..346ea61b3
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/descriptor/irqnoflags.asl
@@ -0,0 +1,135 @@
+/*
+ * 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.
+ */
+
+/*
+ * Resource Descriptor macros
+ *
+ * IRQNoFlags() Interrupt Resource Descriptor Macro
+ */
+
+Name (p402, Package() {
+ ResourceTemplate () {
+ IRQNoFlags () {0}
+ },
+ ResourceTemplate () {
+ IRQNoFlags () {1}
+ },
+ ResourceTemplate () {
+ IRQNoFlags () {2}
+ },
+ ResourceTemplate () {
+ IRQNoFlags () {3}
+ },
+ ResourceTemplate () {
+ IRQNoFlags () {4}
+ },
+ ResourceTemplate () {
+ IRQNoFlags () {5}
+ },
+ ResourceTemplate () {
+ IRQNoFlags () {6}
+ },
+ ResourceTemplate () {
+ IRQNoFlags () {7}
+ },
+ ResourceTemplate () {
+ IRQNoFlags () {8}
+ },
+ ResourceTemplate () {
+ IRQNoFlags () {9}
+ },
+ ResourceTemplate () {
+ IRQNoFlags () {10}
+ },
+ ResourceTemplate () {
+ IRQNoFlags () {11}
+ },
+ ResourceTemplate () {
+ IRQNoFlags () {12}
+ },
+ ResourceTemplate () {
+ IRQNoFlags () {13}
+ },
+ ResourceTemplate () {
+ IRQNoFlags () {14}
+ },
+ ResourceTemplate () {
+ IRQNoFlags () {15}
+ },
+ ResourceTemplate () {
+ IRQNoFlags () {}
+ },
+ ResourceTemplate () {
+ IRQNoFlags () {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}
+ },
+})
+
+/*
+ACPI Specification, Revision 3.0, September 2, 2004
+6.4.2.1 IRQ Descriptor
+
+IRQ Descriptor layout (length = 2):
+
+Byte 0 (Tag Bits): Value = 00100010B (0x22) (Type = 0, small item name = 0x4, length = 2),
+
+Byte 1 (IRQ mask bits[7:0]): IRQ0 <=> bit[0]
+
+Byte 2 (IRQ mask bits[15:8]): IRQ8 <=> bit[0]
+*/
+
+Name (p403, Package() {
+ Buffer () {0x22, 0x01, 0x00, 0x79, 0x00},
+ Buffer () {0x22, 0x02, 0x00, 0x79, 0x00},
+ Buffer () {0x22, 0x04, 0x00, 0x79, 0x00},
+ Buffer () {0x22, 0x08, 0x00, 0x79, 0x00},
+ Buffer () {0x22, 0x10, 0x00, 0x79, 0x00},
+ Buffer () {0x22, 0x20, 0x00, 0x79, 0x00},
+ Buffer () {0x22, 0x40, 0x00, 0x79, 0x00},
+ Buffer () {0x22, 0x80, 0x00, 0x79, 0x00},
+ Buffer () {0x22, 0x00, 0x01, 0x79, 0x00},
+ Buffer () {0x22, 0x00, 0x02, 0x79, 0x00},
+ Buffer () {0x22, 0x00, 0x04, 0x79, 0x00},
+ Buffer () {0x22, 0x00, 0x08, 0x79, 0x00},
+ Buffer () {0x22, 0x00, 0x10, 0x79, 0x00},
+ Buffer () {0x22, 0x00, 0x20, 0x79, 0x00},
+ Buffer () {0x22, 0x00, 0x40, 0x79, 0x00},
+ Buffer () {0x22, 0x00, 0x80, 0x79, 0x00},
+ Buffer () {0x22, 0x00, 0x00, 0x79, 0x00},
+ Buffer () {0x22, 0xff, 0xff, 0x79, 0x00},
+})
+
+Method(RT02)
+{
+ Name(ts, "RT02")
+
+ Store("TEST: RT02, IRQNoFlags() Interrupt Resource Descriptor Macro", Debug)
+
+ m330(ts, 18, "p402", p402, p403)
+} \ No newline at end of file
diff --git a/tests/aslts/src/runtime/collections/functional/descriptor/memory24.asl b/tests/aslts/src/runtime/collections/functional/descriptor/memory24.asl
new file mode 100644
index 000000000..12935822a
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/descriptor/memory24.asl
@@ -0,0 +1,114 @@
+/*
+ * 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.
+ */
+
+/*
+ * Resource Descriptor macros
+ *
+ * Memory24() Memory Resource Descriptor Macro
+ */
+
+Name (p40e, Package() {
+ ResourceTemplate () {
+ Memory24 (ReadOnly, 0xf0f1, 0xf2f3, 0xf4f5, 0xf6f7)
+ },
+ ResourceTemplate () {
+ Memory24 (ReadWrite, 0xf0f1, 0xf2f3, 0xf4f5, 0xf6f7)
+ },
+ ResourceTemplate () {
+ Memory24 ( , 0, 0, 0, 0)
+ },
+})
+
+/*
+ACPI Specification, Revision 3.0, September 2, 2004
+6.4.3.1 24-Bit Memory Range Descriptor
+
+24-Bit Memory Range Descriptor layout:
+
+Byte 0 (Tag Bits): Value = 10000001B (0x81) (Type = 1, Large item name = 0x1)
+Byte 1 (Length, bits[7:0]): Value = 00001001B (9)
+Byte 2 (Length, bits[15:8]): Value = 00000000B (0)
+Byte 3 (Information):
+ Bit[7:1] Ignored
+ Bit[0] Write status, _RW
+ 1 writeable (read/write)
+ 0 non-writeable (read-only)
+Byte 4 (Range minimum base address, _MIN, bits[7:0]):
+ Address bits[15:8] of the minimum base memory address
+ for which the card may be configured.
+Byte 5 (Range minimum base address, _MIN, bits[15:8]):
+ Address bits[23:16] of the minimum base memory address
+ for which the card may be configured
+Byte 6 (Range maximum base address, _MAX, bits[7:0]):
+ Address bits[15:8] of the maximum base memory address
+ for which the card may be configured.
+Byte 7 (Range maximum base address, _MAX, bits[15:8]):
+ Address bits[23:16] of the maximum base memory address
+ for which the card may be configured
+Byte 8 (Base alignment, _ALN, bits[7:0]):
+ This field contains the lower eight bits of the base alignment.
+ The base alignment provides the increment for the minimum base
+ address. (0x0000 = 64 KB)
+Byte 9 (Base alignment, _ALN, bits[15:8]):
+ This field contains the upper eight bits of the base alignment.
+Byte 10 (Range length, _LEN, bits[7:0]):
+ This field contains the lower eight bits of the memory range length.
+ The range length provides the length of the memory range in 256 byte blocks.
+Byte 11 (Range length, _LEN, bits[15:8]):
+ This field contains the upper eight bits of the memory range length.
+
+*/
+
+Name (p40f, Package() {
+ Buffer () {0x81, 0x09, 0x00, 0x00, 0xf1, 0xf0, 0xf3, 0xf2, 0xf5, 0xf4, 0xf7, 0xf6, 0x79, 0x00},
+ Buffer () {0x81, 0x09, 0x00, 0x01, 0xf1, 0xf0, 0xf3, 0xf2, 0xf5, 0xf4, 0xf7, 0xf6, 0x79, 0x00},
+ Buffer () {0x81, 0x09, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x79, 0x00},
+})
+
+Method(RT08)
+{
+ Name(ts, "RT08")
+
+ Store("TEST: RT08, Memory24() Memory Resource Descriptor Macro", Debug)
+
+ m330(ts, 3, "p40e", p40e, p40f)
+
+ Store (
+ ResourceTemplate () {
+ Memory24 (ReadOnly, 0xf0f1, 0xf2f3, 0xf4f5, 0xf6f7, M240)
+ Memory24 (ReadOnly, 0xf0f1, 0xf2f3, 0xf4f5, 0xf6f7, M241)
+ }, Local0)
+
+ m331(ts, 1, M240._RW, 0x18, M241._RW, 0x78, "_RW")
+ m331(ts, 2, M240._MIN, 4, M241._MIN, 16, "_MIN")
+ m331(ts, 3, M240._MAX, 6, M241._MAX, 18, "_MAX")
+ m331(ts, 4, M240._ALN, 8, M241._ALN, 20, "_ALN")
+ m331(ts, 5, M240._LEN, 10, M241._LEN, 22, "_LEN")
+}
diff --git a/tests/aslts/src/runtime/collections/functional/descriptor/memory32.asl b/tests/aslts/src/runtime/collections/functional/descriptor/memory32.asl
new file mode 100644
index 000000000..2e2a24fd8
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/descriptor/memory32.asl
@@ -0,0 +1,112 @@
+/*
+ * 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.
+ */
+
+/*
+ * Resource Descriptor macros
+ *
+ * Memory32() Memory Resource Descriptor Macro
+ */
+
+Name (p412, Package() {
+ ResourceTemplate () {
+ Memory32 (ReadOnly, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff)
+ },
+ ResourceTemplate () {
+ Memory32 (ReadWrite, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff)
+ },
+ ResourceTemplate () {
+ Memory32 ( , 0, 0, 0, 0)
+ },
+})
+
+/*
+ACPI Specification, Revision 3.0, September 2, 2004
+6.4.3.3 32-Bit Memory Range Descriptor
+
+32-Bit Memory Range Descriptor layout:
+
+Byte 0 (Tag Bits): Value = 10000101B (0x85) (Type = 1, Large item name = 0x5)
+Byte 1 (Length, bits[7:0]): Value = 00010001B (17)
+Byte 2 (Length, bits[15:8]): Value = 00000000B (0)
+Byte 3 (Information):
+ Bit[7:1] Ignored
+ Bit[0] Write status, _RW
+ 1 writeable (read/write)
+ 0 non-writeable (read-only)
+Byte 4 (Range minimum base address, _MIN, bits[7:0])
+Byte 5 (Range minimum base address, _MIN, bits[15:8]
+Byte 6 (Range minimum base address, _MIN, bits[23:16])
+Byte 7 (Range minimum base address, _MIN, bits[31:24])
+Byte 8 (Range maximum base address, _MAX, bits[7:0])
+Byte 9 (Range maximum base address, _MAX, bits[15:8])
+Byte 10 (Range maximum base address, _MAX, bits[23:16])
+Byte 11 (Range maximum base address, _MAX, bits[31:24])
+Byte 12 (Base alignment, _ALN bits[7:0])
+Byte 13 (Base alignment, _ALN bits[15:8])
+Byte 14 (Base alignment, _ALN bits[23:16])
+Byte 15 (Base alignment, _ALN bits[31:24])
+Byte 16 (Range length, _LEN bits[7:0])
+Byte 17 (Range length, _LEN, bits[15:8])
+Byte 18 (Range length, _LEN, bits[23:16])
+Byte 19 (Range length, _LEN, bits[31:24])
+*/
+
+Name (p413, Package() {
+ Buffer () {0x85, 0x11, 0x00, 0x00,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x85, 0x11, 0x00, 0x01,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00},
+ Buffer () {0x85, 0x11, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x79, 0x00},
+})
+
+Method(RT0a)
+{
+ Name(ts, "RT0a")
+
+ Store("TEST: RT0a, Memory32() Memory Resource Descriptor Macro", Debug)
+
+ m330(ts, 3, "p412", p412, p413)
+
+ Store (
+ ResourceTemplate () {
+ Memory32 (ReadOnly, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff, M320)
+ Memory32 (ReadOnly, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff, M321)
+ }, Local0)
+
+ m331(ts, 1, M320._RW, 0x18, M321._RW, 0xb8, "_RW")
+ m331(ts, 2, M320._MIN, 4, M321._MIN, 24, "_MIN")
+ m331(ts, 3, M320._MAX, 8, M321._MAX, 28, "_MAX")
+ m331(ts, 4, M320._ALN, 12, M321._ALN, 32, "_ALN")
+ m331(ts, 5, M320._LEN, 16, M321._LEN, 36, "_LEN")
+}
diff --git a/tests/aslts/src/runtime/collections/functional/descriptor/memory32fixed.asl b/tests/aslts/src/runtime/collections/functional/descriptor/memory32fixed.asl
new file mode 100644
index 000000000..61f4219d2
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/descriptor/memory32fixed.asl
@@ -0,0 +1,99 @@
+/*
+ * 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.
+ */
+
+/*
+ * Resource Descriptor macros
+ *
+ * Memory32Fixed() Memory Resource Descriptor Macro
+ */
+
+Name (p414, Package() {
+ ResourceTemplate () {
+ Memory32Fixed (ReadOnly, 0xf0f1f2f3, 0xf4f5f6f7)
+ },
+ ResourceTemplate () {
+ Memory32Fixed (ReadWrite, 0xf0f1f2f3, 0xf4f5f6f7)
+ },
+ ResourceTemplate () {
+ Memory32Fixed ( , 0, 0)
+ },
+})
+
+/*
+ACPI Specification, Revision 3.0, September 2, 2004
+6.4.3.4 32-Bit Fixed Memory Range Descriptor
+
+32-Bit Fixed Memory Range Descriptor layout:
+
+Byte 0 (Tag Bits): Value = 10000110B (0x86) (Type = 1, Large item name = 6)
+Byte 1 (Length, bits[7:0]): Value = 00001001B (9)
+Byte 2 (Length, bits[15:8]): Value = 00000000B (0)
+Byte 3 (Information):
+ Bit[7:1] Ignored
+ Bit[0] Write status, _RW
+ 1 writeable (read/write)
+ 0 non-writeable (read-only)
+Byte 4 (Range base address, _BAS, bits[7:0])
+Byte 5 (Range base address, _BAS, bits[15:8])
+Byte 6 (Range base address, _BAS, bits[23:16])
+Byte 7 (Range base address, _BAS, bits[31:24])
+Byte 8 (Range length, _LEN bits[7:0])
+Byte 9 (Range length, _LEN, bits[15:8])
+Byte 10 (Range length, _LEN, bits[23:16])
+Byte 11 (Range length, _LEN, bits[31:24])
+*/
+
+Name (p415, Package() {
+ Buffer () {0x86, 0x09, 0x00, 0x00,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4, 0x79, 0x00},
+ Buffer () {0x86, 0x09, 0x00, 0x01,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4, 0x79, 0x00},
+ Buffer () {0x86, 0x09, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x79, 0x00},
+})
+
+Method(RT0b)
+{
+ Name(ts, "RT0b")
+
+ Store("TEST: RT0b, Memory32Fixed() Memory Resource Descriptor Macro", Debug)
+
+ m330(ts, 3, "p414", p414, p415)
+
+ Store (
+ ResourceTemplate () {
+ Memory32Fixed (ReadOnly, 0xf0f1f2f3, 0xf4f5f6f7, M3F0)
+ Memory32Fixed (ReadOnly, 0xf0f1f2f3, 0xf4f5f6f7, M3F1)
+ }, Local0)
+
+ m331(ts, 1, M3F0._RW, 0x18, M3F1._RW, 0x78, "_RW")
+ m331(ts, 2, M3F0._BAS, 4, M3F1._BAS, 16, "_BAS")
+ m331(ts, 3, M3F0._LEN, 8, M3F1._LEN, 20, "_LEN")
+}
diff --git a/tests/aslts/src/runtime/collections/functional/descriptor/qwordio.asl b/tests/aslts/src/runtime/collections/functional/descriptor/qwordio.asl
new file mode 100644
index 000000000..a0c9a0311
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/descriptor/qwordio.asl
@@ -0,0 +1,699 @@
+/*
+ * 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.
+ */
+
+/*
+ * Resource Descriptor macros
+ *
+ * QWord IO Resource Descriptor Macro
+ */
+
+Name (p416, Package() {
+
+ // Byte 4 (General Flags) of QWord Address Space Descriptor
+
+ ResourceTemplate () {
+ QWordIO (ResourceProducer, MinNotFixed, MaxNotFixed, PosDecode, ,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+ ResourceTemplate () {
+ QWordIO (ResourceProducer, MinNotFixed, MaxNotFixed, SubDecode, ,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+ ResourceTemplate () {
+ QWordIO (ResourceProducer, MinNotFixed, MaxFixed, PosDecode, ,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+ ResourceTemplate () {
+ QWordIO (ResourceProducer, MinNotFixed, MaxFixed, SubDecode, ,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+ ResourceTemplate () {
+ QWordIO (ResourceProducer, MinFixed, MaxNotFixed, PosDecode, ,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+ ResourceTemplate () {
+ QWordIO (ResourceProducer, MinFixed, MaxNotFixed, SubDecode, ,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+ ResourceTemplate () {
+ QWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, ,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+ ResourceTemplate () {
+ QWordIO (ResourceProducer, MinFixed, MaxFixed, SubDecode, ,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+ ResourceTemplate () {
+ QWordIO (ResourceConsumer, MinNotFixed, MaxNotFixed, PosDecode, ,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+ ResourceTemplate () {
+ QWordIO (ResourceConsumer, MinNotFixed, MaxNotFixed, SubDecode, ,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+ ResourceTemplate () {
+ QWordIO (ResourceConsumer, MinNotFixed, MaxFixed, PosDecode, ,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+ ResourceTemplate () {
+ QWordIO (ResourceConsumer, MinNotFixed, MaxFixed, SubDecode, ,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+ ResourceTemplate () {
+ QWordIO (ResourceConsumer, MinFixed, MaxNotFixed, PosDecode, ,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+ ResourceTemplate () {
+ QWordIO (ResourceConsumer, MinFixed, MaxNotFixed, SubDecode, ,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+ ResourceTemplate () {
+ QWordIO (ResourceConsumer, MinFixed, MaxFixed, PosDecode, ,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+ ResourceTemplate () {
+ QWordIO (ResourceConsumer, MinFixed, MaxFixed, SubDecode, ,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+
+ // Byte 5 (Type Specific Flags) of QWord Address Space Descriptor
+
+ ResourceTemplate () {
+ QWordIO ( , , , , NonISAOnlyRanges,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , , , TypeStatic, DenseTranslation)
+ },
+ ResourceTemplate () {
+ QWordIO ( , , , , NonISAOnlyRanges,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , , , TypeStatic, SparseTranslation)
+ },
+ ResourceTemplate () {
+ QWordIO ( , , , , NonISAOnlyRanges,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , , , TypeTranslation, DenseTranslation)
+ },
+ ResourceTemplate () {
+ QWordIO ( , , , , NonISAOnlyRanges,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , , , TypeTranslation, SparseTranslation)
+ },
+ ResourceTemplate () {
+ QWordIO ( , , , , ISAOnlyRanges,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , , , TypeStatic, DenseTranslation)
+ },
+ ResourceTemplate () {
+ QWordIO ( , , , , ISAOnlyRanges,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , , , TypeStatic, SparseTranslation)
+ },
+ ResourceTemplate () {
+ QWordIO ( , , , , ISAOnlyRanges,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , , , TypeTranslation, DenseTranslation)
+ },
+ ResourceTemplate () {
+ QWordIO ( , , , , ISAOnlyRanges,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , , , TypeTranslation, SparseTranslation)
+ },
+ ResourceTemplate () {
+ QWordIO ( , , , , EntireRange,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , , , TypeStatic, DenseTranslation)
+ },
+ ResourceTemplate () {
+ QWordIO ( , , , , EntireRange,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , , , TypeStatic, SparseTranslation)
+ },
+ ResourceTemplate () {
+ QWordIO ( , , , , EntireRange,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , , , TypeTranslation, DenseTranslation)
+ },
+ ResourceTemplate () {
+ QWordIO ( , , , , EntireRange,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , , , TypeTranslation, SparseTranslation)
+ },
+
+ // Particular cases
+
+ ResourceTemplate () {
+ QWordIO ( , , , , ,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+ ResourceTemplate () {
+ QWordIO ( , , , , ,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , , , , )
+ },
+
+ // Resource Source
+
+ ResourceTemplate () {
+ QWordIO ( , , , , ,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ 0x01, "", , , )
+ },
+ ResourceTemplate () {
+ QWordIO ( , , , , ,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ 0x0f, "P", , , )
+ },
+ ResourceTemplate () {
+ QWordIO ( , , , , ,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ 0xf0, "PATH", , , )
+ },
+ ResourceTemplate () {
+ QWordIO ( , , , , ,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ 0xff,
+ "!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*",
+ , , )
+ },
+
+ // Particular cases
+
+ ResourceTemplate () {
+ QWordIO (ResourceConsumer, MinFixed, MaxFixed, SubDecode, EntireRange,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ 0xff, "PATHPATHPATH", QIO0, TypeTranslation, SparseTranslation)
+ },
+ ResourceTemplate () {
+ QWordIO (ResourceConsumer, MinFixed, MaxFixed, SubDecode, EntireRange,
+ 0, 0, 0, 0, 0,
+ 0xff, "PATHPATHPATH", , TypeTranslation, SparseTranslation)
+ },
+
+ // 20051021, relaxation for omitted ResourceSource (bug-fix 70 rejection)
+ ResourceTemplate () {
+ QWordIO ( , , , , ,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ 0x0f)
+ },
+})
+
+/*
+ACPI Specification, Revision 3.0, September 2, 2004
+6.4.3.5.1 QWord Address Space Descriptor
+
+I/O QWord Address Space Descriptor layout:
+
+Byte 0 (Tag Bits): Value=10001010B (0x8a) (Type = 1, Large item name = 0xA)
+Byte 1 (Length, bits[7:0]): Variable: Value = 43 (minimum)
+Byte 2 (Length, bits[15:8]): Variable: Value = 0 (minimum)
+Byte 3 (Resource Type):
+ 1 I/O range
+Byte 4 (General Flags):
+ Bits[7:4] Reserved (must be 0)
+ Bit[3] Min Address Fixed, _MAF:
+ 1 The specified maximum address is fixed
+ 0 The specified maximum address is not fixed
+ and can be changed
+ Bit[2] Max Address Fixed,_MIF:
+ 1 The specified minimum address is fixed
+ 0 The specified minimum address is not fixed
+ and can be changed
+ Bit[1] Decode Type, _DEC:
+ 1 This bridge subtractively decodes this address
+ (top level bridges only)
+ 0 This bridge positively decodes this address
+ Bit[0] Consumer/Producer:
+ 1-This device consumes this resource
+ 0-This device produces and consumes this resource
+
+Byte 5 (Type Specific Flags):
+ Flags that are specific to each resource type. The meaning of the flags
+ in this field depends on the value of the Resource Type field (see above)
+ Bits[7:6] Reserved (must be 0)
+ Bit[5] Sparse Translation, _TRS. This bit is only meaningful if Bit[4] is set.
+ 1 SparseTranslation: The primary-side memory address of any specific
+ I/O port within the secondary-side range can be found using
+ the following function.
+
+ address = (((port & 0xFFFc) << 10) || (port & 0xFFF)) + _TRA
+
+ In the address used to access the I/O port, bits[11:2] must be identical
+ to bits[21:12], this gives four bytes of I/O ports on each 4 KB page.
+ 0 DenseTranslation: The primary-side memory address of any specific I/O port
+ within the secondary-side range can be found using the following function.
+
+ address = port + _TRA
+ Bit[4] I/O to Memory Translation, _TTP
+ 1 TypeTranslation: This resource, which is I/O on the secondary side of
+ the bridge, is memory on the primary side of the bridge.
+ 0 TypeStatic: This resource, which is I/O on the secondary side of
+ the bridge, is also I/O on the primary side of the bridge.
+ Bit[3:2] Reserved (must be 0)
+ Bit[1:0] _RNG
+ 3 Memory window covers the entire range
+ 2 ISARangesOnly. This flag is for bridges on systems with multiple bridges.
+ Setting this bit means the memory window specified in this descriptor is
+ limited to the ISA I/O addresses that fall within the specified window.
+ The ISA I/O ranges are: n000-n0FF, n400-n4FF, n800-n8FF, nC00-nCFF. This
+ bit can only be set for bridges entirely configured through ACPI namespace.
+ 1 NonISARangesOnly. This flag is for bridges on systems with multiple bridges.
+ Setting this bit means the memory window specified in this descriptor is
+ limited to the non-ISA I/O addresses that fall within the specified window.
+ The non-ISA I/O ranges are: n100-n3FF, n500-n7FF, n900-nBFF, nD00-nFFF.
+ This bit can only be set for bridges entirely configured through ACPI namespace.
+ 0 Reserved
+
+Byte 6 (Address space granularity, _GRA bits[7:0]):
+ A set bit in this mask means that this bit is decoded. All bits less
+ significant than the most significant set bit must be set. (in other
+ words, the value of the full Address Space Granularity field (all 32
+ bits) must be a number (2**n-1).
+Byte 7 (Address space granularity, _GRA bits[15:8])
+Byte 8 (Address space granularity, _GRA bits[23:16])
+Byte 9 (Address space granularity, _GRA bits[31:24])
+Byte 10 (Address space granularity, _GRA bits[39:32])
+Byte 11 (Address space granularity, _GRA bits[47:40])
+Byte 12 (Address space granularity, _GRA bits[55:48])
+Byte 13 (Address space granularity, _GRA bits[63:56])
+Byte 14 (Address range minimum, _MIN bits [7:0]):
+ For bridges that translate addresses, this is the address space
+ on the secondary side of the bridge
+Byte 15 (Address range minimum, _MIN bits[15:8])
+Byte 16 (Address range minimum, _MIN bits[23:16])
+Byte 17 (Address range minimum, _MIN bits[31:24])
+Byte 18 (Address range minimum, _MIN bits[39:32])
+Byte 19 (Address range minimum, _MIN bits[47:40])
+Byte 20 (Address range minimum, _MIN bits[55:48])
+Byte 21 (Address range minimum, _MIN bits[63:56])
+Byte 22 (Address range maximum, _MAX bits [7:0]): See comment for _MIN
+Byte 23 (Address range maximum, _MAX bits[15:8])
+Byte 24 (Address range maximum, _MAX bits[23:16])
+Byte 25 (Address range maximum, _MAX bits[31:24])
+Byte 26 (Address range maximum, _MAX bits[39:32])
+Byte 27 (Address range maximum, _MAX bits[47:40])
+Byte 28 (Address range maximum, _MAX bits[55:48])
+Byte 29 (Address range maximum, _MAX bits[63:56])
+Byte 30 (Address Translation offset, _TRA bits [7:0]):
+ For bridges that translate addresses across the bridge, this is the
+ offset that must be added to the address on the secondary side to obtain
+ the address on the primary side. Non-bridge devices must list 0 for all
+ Address Translation offset bits
+Byte 31 (Address Translation offset, _TRA bits[15:8])
+Byte 32 (Address Translation offset, _TRA bits[23:16])
+Byte 33 (Address Translation offset, _TRA bits[31:24])
+Byte 34 (Address Translation offset, _TRA bits[39:32])
+Byte 35 (Address Translation offset, _TRA bits[47:40])
+Byte 36 (Address Translation offset, _TRA bits[55:48])
+Byte 37 (Address Translation offset, _TRA bits[63:56])
+Byte 38 (Address Length, _LEN bits [7:0])
+Byte 39 (Address Length, _LEN bits[15:8])
+Byte 40 (Address Length, _LEN bits[23:16])
+Byte 41 (Address Length, _LEN bits[31:24])
+Byte 42 (Address Length, _LEN bits[39:32])
+Byte 43 (Address Length, _LEN bits[47:40])
+Byte 44 (Address Length, _LEN bits[55:48])
+Byte 45 (Address Length, _LEN bits[63:56])
+Byte 46 (Resource Source Index):
+ (Optional) Only present if Resource Source (below) is present. This
+ field gives an index to the specific resource descriptor that this
+ device consumes from in the current resource template for the device
+ object pointed to in Resource Source
+String (Resource Source):
+ (Optional) If present, the device that uses this descriptor consumes
+ its resources from the resources produced by the named device object.
+ If not present, the device consumes its resources out of a global pool.
+ If not present, the device consumes this resource from its hierarchical
+ parent.
+*/
+
+Name (p417, Package() {
+
+ // Byte 4 (General Flags) of QWord Address Space Descriptor
+
+ Buffer () {0x8a, 0x2b, 0x00, 0x01, 0x00, 0x03,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x01, 0x02, 0x03,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x01, 0x08, 0x03,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x01, 0x0a, 0x03,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x01, 0x04, 0x03,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x01, 0x06, 0x03,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x01, 0x0c, 0x03,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x01, 0x0e, 0x03,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x01, 0x01, 0x03,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x01, 0x03, 0x03,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x01, 0x09, 0x03,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x01, 0x0b, 0x03,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x01, 0x05, 0x03,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x01, 0x07, 0x03,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x01, 0x0d, 0x03,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x01, 0x0f, 0x03,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+
+ // Byte 5 (Type Specific Flags) of QWord Address Space Descriptor
+
+ Buffer () {0x8a, 0x2b, 0x00, 0x01, 0x01, 0x01,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x01, 0x01, 0x21,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x01, 0x01, 0x11,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x01, 0x01, 0x31,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x01, 0x01, 0x02,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x01, 0x01, 0x22,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x01, 0x01, 0x12,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x01, 0x01, 0x32,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x01, 0x01, 0x03,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x01, 0x01, 0x23,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x01, 0x01, 0x13,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x01, 0x01, 0x33,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+
+ // Particular cases
+
+ Buffer () {0x8a, 0x2b, 0x00, 0x01, 0x01, 0x03,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x01, 0x01, 0x03,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+
+ // Resource Source
+
+ Buffer () {0x8a, 0x2d, 0x00, 0x01, 0x01, 0x03,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8,
+ 0x01, 0x00, 0x79, 0x00},
+ Buffer () {0x8a, 0x2e, 0x00, 0x01, 0x01, 0x03,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8,
+ 0x0f, 0x50, 0x00, 0x79, 0x00},
+ Buffer () {0x8a, 0x31, 0x00, 0x01, 0x01, 0x03,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8,
+ 0xf0, 0x50, 0x41, 0x54, 0x48, 0x00, 0x79, 0x00},
+ Buffer () {0x8a, 0xf5, 0x00, 0x01, 0x01, 0x03,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8,
+ 0xff,
+ 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28,
+ 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30,
+ 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
+ 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40,
+ 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48,
+ 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50,
+ 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58,
+ 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0x60,
+ 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
+ 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
+ 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
+ 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x20, 0x21,
+ 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29,
+ 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30, 0x31,
+ 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39,
+ 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41,
+ 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49,
+ 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51,
+ 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59,
+ 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0x60, 0x61,
+ 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69,
+ 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70, 0x71,
+ 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79,
+ 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x20, 0x21, 0x22,
+ 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a,
+ 0x00, 0x79, 0x00},
+
+ // Particular cases
+
+ Buffer () {0x8a, 0x39, 0x00, 0x01, 0x0f, 0x33,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00, 0x79, 0x00},
+ Buffer () {0x8a, 0x39, 0x00, 0x01, 0x0f, 0x33,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00, 0x79, 0x00},
+
+ // 20051021, relaxation for omitted ResourceSource (bug-fix 70 rejection)
+ Buffer () {0x8a, 0x2c, 0x00, 0x01, 0x01, 0x03,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8,
+ 0x0f, 0x79, 0x00},
+})
+
+Method(RT0c)
+{
+ Name(ts, "RT0c")
+
+ Store("TEST: RT0c, QWord IO Resource Descriptor Macro", Debug)
+
+ m330(ts, 37, "p416", p416, p417)
+ Store (
+ ResourceTemplate () {
+ QWordIO (ResourceProducer, MinNotFixed, MaxNotFixed, PosDecode, EntireRange,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff, , , QIO0)
+ QWordIO (ResourceConsumer, MinNotFixed, MaxNotFixed, PosDecode, EntireRange,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff, , , QIO1)
+ }, Local0)
+
+ m331(ts, 1, QIO0._DEC, 0x21, QIO1._DEC, 0x191, "_DEC")
+ m331(ts, 2, QIO0._MIF, 0x22, QIO1._MIF, 0x192, "_MIF")
+ m331(ts, 3, QIO0._MAF, 0x23, QIO1._MAF, 0x193, "_MAF")
+ m331(ts, 4, QIO0._RNG, 0x28, QIO1._RNG, 0x198, "_RNG")
+ m331(ts, 5, QIO0._TTP, 0x2c, QIO1._TTP, 0x19c, "_TTP")
+ m331(ts, 6, QIO0._TRS, 0x2d, QIO1._TRS, 0x19d, "_TRS")
+ m331(ts, 7, QIO0._GRA, 6, QIO1._GRA, 52, "_GRA")
+ m331(ts, 8, QIO0._MIN, 14, QIO1._MIN, 60, "_MIN")
+ m331(ts, 9, QIO0._MAX, 22, QIO1._MAX, 68, "_MAX")
+ m331(ts, 10, QIO0._TRA, 30, QIO1._TRA, 76, "_TRA")
+ m331(ts, 11, QIO0._LEN, 38, QIO1._LEN, 84, "_LEN")
+}
+
+
diff --git a/tests/aslts/src/runtime/collections/functional/descriptor/qwordmemory.asl b/tests/aslts/src/runtime/collections/functional/descriptor/qwordmemory.asl
new file mode 100644
index 000000000..7f9caf904
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/descriptor/qwordmemory.asl
@@ -0,0 +1,1326 @@
+/*
+ * 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.
+ */
+
+/*
+ * Resource Descriptor macros
+ *
+ * QWord Memory Resource Descriptor Macro
+ */
+
+Name (p424, Package() {
+
+ // Byte 4 (General Flags) of QWord Address Space Descriptor
+
+ ResourceTemplate () {
+ QWordMemory (ResourceProducer, PosDecode, MinNotFixed, MaxNotFixed, , ,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+ ResourceTemplate () {
+ QWordMemory (ResourceProducer, PosDecode, MinNotFixed, MaxFixed, , ,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+ ResourceTemplate () {
+ QWordMemory (ResourceProducer, PosDecode, MinFixed, MaxNotFixed, , ,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+ ResourceTemplate () {
+ QWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, , ,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+ ResourceTemplate () {
+ QWordMemory (ResourceProducer, SubDecode, MinNotFixed, MaxNotFixed, , ,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+ ResourceTemplate () {
+ QWordMemory (ResourceProducer, SubDecode, MinNotFixed, MaxFixed, , ,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+ ResourceTemplate () {
+ QWordMemory (ResourceProducer, SubDecode, MinFixed, MaxNotFixed, , ,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+ ResourceTemplate () {
+ QWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, , ,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+ ResourceTemplate () {
+ QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, , ,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+ ResourceTemplate () {
+ QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxFixed, , ,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+ ResourceTemplate () {
+ QWordMemory (ResourceConsumer, PosDecode, MinFixed, MaxNotFixed, , ,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+ ResourceTemplate () {
+ QWordMemory (ResourceConsumer, PosDecode, MinFixed, MaxFixed, , ,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+ ResourceTemplate () {
+ QWordMemory (ResourceConsumer, SubDecode, MinNotFixed, MaxNotFixed, , ,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+ ResourceTemplate () {
+ QWordMemory (ResourceConsumer, SubDecode, MinNotFixed, MaxFixed, , ,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+ ResourceTemplate () {
+ QWordMemory (ResourceConsumer, SubDecode, MinFixed, MaxNotFixed, , ,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+ ResourceTemplate () {
+ QWordMemory (ResourceConsumer, SubDecode, MinFixed, MaxFixed, , ,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+
+ // Byte 5 (Type Specific Flags) of QWord Address Space Descriptor
+
+ // NonCacheable
+ ResourceTemplate () {
+ QWordMemory ( , , , , NonCacheable, ReadOnly,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , , , AddressRangeMemory, TypeStatic)
+ },
+ ResourceTemplate () {
+ QWordMemory ( , , , , NonCacheable, ReadOnly,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , , , AddressRangeMemory, TypeTranslation)
+ },
+ ResourceTemplate () {
+ QWordMemory ( , , , , NonCacheable, ReadOnly,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , , , AddressRangeReserved, TypeStatic)
+ },
+ ResourceTemplate () {
+ QWordMemory ( , , , , NonCacheable, ReadOnly,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , , , AddressRangeReserved, TypeTranslation)
+ },
+ ResourceTemplate () {
+ QWordMemory ( , , , , NonCacheable, ReadOnly,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , , , AddressRangeACPI, TypeStatic)
+ },
+ ResourceTemplate () {
+ QWordMemory ( , , , , NonCacheable, ReadOnly,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , , , AddressRangeACPI, TypeTranslation)
+ },
+ ResourceTemplate () {
+ QWordMemory ( , , , , NonCacheable, ReadOnly,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , , , AddressRangeNVS, TypeStatic)
+ },
+ ResourceTemplate () {
+ QWordMemory ( , , , , NonCacheable, ReadOnly,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , , , AddressRangeNVS, TypeTranslation)
+ },
+ ResourceTemplate () {
+ QWordMemory ( , , , , NonCacheable, ReadWrite,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , , , AddressRangeMemory, TypeStatic)
+ },
+ ResourceTemplate () {
+ QWordMemory ( , , , , NonCacheable, ReadWrite,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , , , AddressRangeMemory, TypeTranslation)
+ },
+ ResourceTemplate () {
+ QWordMemory ( , , , , NonCacheable, ReadWrite,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , , , AddressRangeReserved, TypeStatic)
+ },
+ ResourceTemplate () {
+ QWordMemory ( , , , , NonCacheable, ReadWrite,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , , , AddressRangeReserved, TypeTranslation)
+ },
+ ResourceTemplate () {
+ QWordMemory ( , , , , NonCacheable, ReadWrite,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , , , AddressRangeACPI, TypeStatic)
+ },
+ ResourceTemplate () {
+ QWordMemory ( , , , , NonCacheable, ReadWrite,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , , , AddressRangeACPI, TypeTranslation)
+ },
+ ResourceTemplate () {
+ QWordMemory ( , , , , NonCacheable, ReadWrite,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , , , AddressRangeNVS, TypeStatic)
+ },
+ ResourceTemplate () {
+ QWordMemory ( , , , , NonCacheable, ReadWrite,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , , , AddressRangeNVS, TypeTranslation)
+ },
+
+ // Cacheable
+ ResourceTemplate () {
+ QWordMemory ( , , , , Cacheable, ReadOnly,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , , , AddressRangeMemory, TypeStatic)
+ },
+ ResourceTemplate () {
+ QWordMemory ( , , , , Cacheable, ReadOnly,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , , , AddressRangeMemory, TypeTranslation)
+ },
+ ResourceTemplate () {
+ QWordMemory ( , , , , Cacheable, ReadOnly,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , , , AddressRangeReserved, TypeStatic)
+ },
+ ResourceTemplate () {
+ QWordMemory ( , , , , Cacheable, ReadOnly,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , , , AddressRangeReserved, TypeTranslation)
+ },
+ ResourceTemplate () {
+ QWordMemory ( , , , , Cacheable, ReadOnly,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , , , AddressRangeACPI, TypeStatic)
+ },
+ ResourceTemplate () {
+ QWordMemory ( , , , , Cacheable, ReadOnly,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , , , AddressRangeACPI, TypeTranslation)
+ },
+ ResourceTemplate () {
+ QWordMemory ( , , , , Cacheable, ReadOnly,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , , , AddressRangeNVS, TypeStatic)
+ },
+ ResourceTemplate () {
+ QWordMemory ( , , , , Cacheable, ReadOnly,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , , , AddressRangeNVS, TypeTranslation)
+ },
+ ResourceTemplate () {
+ QWordMemory ( , , , , Cacheable, ReadWrite,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , , , AddressRangeMemory, TypeStatic)
+ },
+ ResourceTemplate () {
+ QWordMemory ( , , , , Cacheable, ReadWrite,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , , , AddressRangeMemory, TypeTranslation)
+ },
+ ResourceTemplate () {
+ QWordMemory ( , , , , Cacheable, ReadWrite,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , , , AddressRangeReserved, TypeStatic)
+ },
+ ResourceTemplate () {
+ QWordMemory ( , , , , Cacheable, ReadWrite,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , , , AddressRangeReserved, TypeTranslation)
+ },
+ ResourceTemplate () {
+ QWordMemory ( , , , , Cacheable, ReadWrite,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , , , AddressRangeACPI, TypeStatic)
+ },
+ ResourceTemplate () {
+ QWordMemory ( , , , , Cacheable, ReadWrite,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , , , AddressRangeACPI, TypeTranslation)
+ },
+ ResourceTemplate () {
+ QWordMemory ( , , , , Cacheable, ReadWrite,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , , , AddressRangeNVS, TypeStatic)
+ },
+ ResourceTemplate () {
+ QWordMemory ( , , , , Cacheable, ReadWrite,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , , , AddressRangeNVS, TypeTranslation)
+ },
+
+ // WriteCombining
+ ResourceTemplate () {
+ QWordMemory ( , , , , WriteCombining, ReadOnly,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , , , AddressRangeMemory, TypeStatic)
+ },
+ ResourceTemplate () {
+ QWordMemory ( , , , , WriteCombining, ReadOnly,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , , , AddressRangeMemory, TypeTranslation)
+ },
+ ResourceTemplate () {
+ QWordMemory ( , , , , WriteCombining, ReadOnly,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , , , AddressRangeReserved, TypeStatic)
+ },
+ ResourceTemplate () {
+ QWordMemory ( , , , , WriteCombining, ReadOnly,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , , , AddressRangeReserved, TypeTranslation)
+ },
+ ResourceTemplate () {
+ QWordMemory ( , , , , WriteCombining, ReadOnly,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , , , AddressRangeACPI, TypeStatic)
+ },
+ ResourceTemplate () {
+ QWordMemory ( , , , , WriteCombining, ReadOnly,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , , , AddressRangeACPI, TypeTranslation)
+ },
+ ResourceTemplate () {
+ QWordMemory ( , , , , WriteCombining, ReadOnly,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , , , AddressRangeNVS, TypeStatic)
+ },
+ ResourceTemplate () {
+ QWordMemory ( , , , , WriteCombining, ReadOnly,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , , , AddressRangeNVS, TypeTranslation)
+ },
+ ResourceTemplate () {
+ QWordMemory ( , , , , WriteCombining, ReadWrite,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , , , AddressRangeMemory, TypeStatic)
+ },
+ ResourceTemplate () {
+ QWordMemory ( , , , , WriteCombining, ReadWrite,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , , , AddressRangeMemory, TypeTranslation)
+ },
+ ResourceTemplate () {
+ QWordMemory ( , , , , WriteCombining, ReadWrite,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , , , AddressRangeReserved, TypeStatic)
+ },
+ ResourceTemplate () {
+ QWordMemory ( , , , , WriteCombining, ReadWrite,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , , , AddressRangeReserved, TypeTranslation)
+ },
+ ResourceTemplate () {
+ QWordMemory ( , , , , WriteCombining, ReadWrite,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , , , AddressRangeACPI, TypeStatic)
+ },
+ ResourceTemplate () {
+ QWordMemory ( , , , , WriteCombining, ReadWrite,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , , , AddressRangeACPI, TypeTranslation)
+ },
+ ResourceTemplate () {
+ QWordMemory ( , , , , WriteCombining, ReadWrite,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , , , AddressRangeNVS, TypeStatic)
+ },
+ ResourceTemplate () {
+ QWordMemory ( , , , , WriteCombining, ReadWrite,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , , , AddressRangeNVS, TypeTranslation)
+ },
+
+ // Prefetchable
+ ResourceTemplate () {
+ QWordMemory ( , , , , Prefetchable, ReadOnly,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , , , AddressRangeMemory, TypeStatic)
+ },
+ ResourceTemplate () {
+ QWordMemory ( , , , , Prefetchable, ReadOnly,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , , , AddressRangeMemory, TypeTranslation)
+ },
+ ResourceTemplate () {
+ QWordMemory ( , , , , Prefetchable, ReadOnly,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , , , AddressRangeReserved, TypeStatic)
+ },
+ ResourceTemplate () {
+ QWordMemory ( , , , , Prefetchable, ReadOnly,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , , , AddressRangeReserved, TypeTranslation)
+ },
+ ResourceTemplate () {
+ QWordMemory ( , , , , Prefetchable, ReadOnly,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , , , AddressRangeACPI, TypeStatic)
+ },
+ ResourceTemplate () {
+ QWordMemory ( , , , , Prefetchable, ReadOnly,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , , , AddressRangeACPI, TypeTranslation)
+ },
+ ResourceTemplate () {
+ QWordMemory ( , , , , Prefetchable, ReadOnly,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , , , AddressRangeNVS, TypeStatic)
+ },
+ ResourceTemplate () {
+ QWordMemory ( , , , , Prefetchable, ReadOnly,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , , , AddressRangeNVS, TypeTranslation)
+ },
+ ResourceTemplate () {
+ QWordMemory ( , , , , Prefetchable, ReadWrite,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , , , AddressRangeMemory, TypeStatic)
+ },
+ ResourceTemplate () {
+ QWordMemory ( , , , , Prefetchable, ReadWrite,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , , , AddressRangeMemory, TypeTranslation)
+ },
+ ResourceTemplate () {
+ QWordMemory ( , , , , Prefetchable, ReadWrite,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , , , AddressRangeReserved, TypeStatic)
+ },
+ ResourceTemplate () {
+ QWordMemory ( , , , , Prefetchable, ReadWrite,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , , , AddressRangeReserved, TypeTranslation)
+ },
+ ResourceTemplate () {
+ QWordMemory ( , , , , Prefetchable, ReadWrite,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , , , AddressRangeACPI, TypeStatic)
+ },
+ ResourceTemplate () {
+ QWordMemory ( , , , , Prefetchable, ReadWrite,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , , , AddressRangeACPI, TypeTranslation)
+ },
+ ResourceTemplate () {
+ QWordMemory ( , , , , Prefetchable, ReadWrite,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , , , AddressRangeNVS, TypeStatic)
+ },
+ ResourceTemplate () {
+ QWordMemory ( , , , , Prefetchable, ReadWrite,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , , , AddressRangeNVS, TypeTranslation)
+ },
+
+ // Particular cases
+
+ ResourceTemplate () {
+ QWordMemory ( , , , , , ,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+ ResourceTemplate () {
+ QWordMemory ( , , , , , ,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , , , , )
+ },
+
+ // Resource Source
+
+ ResourceTemplate () {
+ QWordMemory ( , , , , , ,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ 0x01, "", , , )
+ },
+ ResourceTemplate () {
+ QWordMemory ( , , , , , ,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ 0x0f, "P", , , )
+ },
+ ResourceTemplate () {
+ QWordMemory ( , , , , , ,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ 0xf0, "PATH", , , )
+ },
+ ResourceTemplate () {
+ QWordMemory ( , , , , , ,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ 0xff,
+ "!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*",
+ , , )
+ },
+
+ // Particular cases
+
+ ResourceTemplate () {
+ QWordMemory (ResourceConsumer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadOnly,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ 0xff, "PATHPATHPATH", QME0, AddressRangeACPI, TypeTranslation)
+ },
+ ResourceTemplate () {
+ QWordMemory (ResourceConsumer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadOnly,
+ 0, 0, 0, 0, 0,
+ 0xff, "PATHPATHPATH", , AddressRangeACPI, TypeTranslation)
+ },
+
+ // 20051021, relaxation for omitted ResourceSource (bug-fix 70 rejection)
+ ResourceTemplate () {
+ QWordMemory ( , , , , , ,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ 0x0f)
+ },
+})
+
+/*
+ACPI Specification, Revision 3.0, September 2, 2004
+6.4.3.5.1 QWord Address Space Descriptor
+
+Memory QWord Address Space Descriptor layout:
+
+Byte 0 (Tag Bits): Value=10001010B (0x8a) (Type = 1, Large item name = 0xA)
+Byte 1 (Length, bits[7:0]): Variable: Value = 43 (minimum)
+Byte 2 (Length, bits[15:8]): Variable: Value = 0 (minimum)
+Byte 3 (Resource Type):
+ 0 Memory range
+Byte 4 (General Flags):
+ Bits[7:4] Reserved (must be 0)
+ Bit[3] Min Address Fixed, _MAF:
+ 1 The specified maximum address is fixed
+ 0 The specified maximum address is not fixed
+ and can be changed
+ Bit[2] Max Address Fixed,_MIF:
+ 1 The specified minimum address is fixed
+ 0 The specified minimum address is not fixed
+ and can be changed
+ Bit[1] Decode Type, _DEC:
+ 1 This bridge subtractively decodes this address
+ (top level bridges only)
+ 0 This bridge positively decodes this address
+ Bit[0] Consumer/Producer:
+ 1-This device consumes this resource
+ 0-This device produces and consumes this resource
+Byte 5 (Type Specific Flags):
+ Flags that are specific to each resource type. The meaning of the flags
+ in this field depends on the value of the Resource Type field (see above)
+ Bits[7:6] Reserved (must be 0)
+ Bit[5] Memory to I/O Translation, _TTP
+ 1 TypeTranslation: This resource, which is memory on the secondary
+ side of the bridge, is I/O on the primary side of the bridge.
+ 0 TypeStatic: This resource, which is memory on the secondary side
+ of the bridge, is also memory on the primary side of the bridge.
+ Bits[4:3] Memory attributes, _MTP. These bits are only defined if this memory
+ resource describes system RAM. For a definition of the labels described
+ here, see section 15, "System Address Map Interfaces."
+ 0 AddressRangeMemory
+ 1 AddressRangeReserved
+ 2 AddressRangeACPI
+ 3 AddressRangeNVS
+ Bits[2:1] Memory attributes, _MEM
+ 0 The memory is non-cacheable.
+ 1 The memory is cacheable.
+ 2 The memory is cacheable and supports write combining.
+ 3 The memory is cacheable and prefetchable.
+ (Notice: OSPM ignores this field in the Extended address space descriptor.
+ Instead it uses the Type Specific Attributes field to determine memory attributes)
+ Bit[0] Write status, _RW
+ 1 This memory range is read-write.
+ 0 This memory range is read-only.
+Byte 6 (Address space granularity, _GRA bits[7:0]):
+ A set bit in this mask means that this bit is decoded. All bits less
+ significant than the most significant set bit must be set. (in other
+ words, the value of the full Address Space Granularity field (all 32
+ bits) must be a number (2**n-1).
+Byte 7 (Address space granularity, _GRA bits[15:8])
+Byte 8 (Address space granularity, _GRA bits[23:16])
+Byte 9 (Address space granularity, _GRA bits[31:24])
+Byte 10 (Address space granularity, _GRA bits[39:32])
+Byte 11 (Address space granularity, _GRA bits[47:40])
+Byte 12 (Address space granularity, _GRA bits[55:48])
+Byte 13 (Address space granularity, _GRA bits[63:56])
+Byte 14 (Address range minimum, _MIN bits [7:0]):
+ For bridges that translate addresses, this is the address space
+ on the secondary side of the bridge
+Byte 15 (Address range minimum, _MIN bits[15:8])
+Byte 16 (Address range minimum, _MIN bits[23:16])
+Byte 17 (Address range minimum, _MIN bits[31:24])
+Byte 18 (Address range minimum, _MIN bits[39:32])
+Byte 19 (Address range minimum, _MIN bits[47:40])
+Byte 20 (Address range minimum, _MIN bits[55:48])
+Byte 21 (Address range minimum, _MIN bits[63:56])
+Byte 22 (Address range maximum, _MAX bits [7:0]): See comment for _MIN
+Byte 23 (Address range maximum, _MAX bits[15:8])
+Byte 24 (Address range maximum, _MAX bits[23:16])
+Byte 25 (Address range maximum, _MAX bits[31:24])
+Byte 26 (Address range maximum, _MAX bits[39:32])
+Byte 27 (Address range maximum, _MAX bits[47:40])
+Byte 28 (Address range maximum, _MAX bits[55:48])
+Byte 29 (Address range maximum, _MAX bits[63:56])
+Byte 30 (Address Translation offset, _TRA bits [7:0]):
+ For bridges that translate addresses across the bridge, this is the
+ offset that must be added to the address on the secondary side to obtain
+ the address on the primary side. Non-bridge devices must list 0 for all
+ Address Translation offset bits
+Byte 31 (Address Translation offset, _TRA bits[15:8])
+Byte 32 (Address Translation offset, _TRA bits[23:16])
+Byte 33 (Address Translation offset, _TRA bits[31:24])
+Byte 34 (Address Translation offset, _TRA bits[39:32])
+Byte 35 (Address Translation offset, _TRA bits[47:40])
+Byte 36 (Address Translation offset, _TRA bits[55:48])
+Byte 37 (Address Translation offset, _TRA bits[63:56])
+Byte 38 (Address Length, _LEN bits [7:0])
+Byte 39 (Address Length, _LEN bits[15:8])
+Byte 40 (Address Length, _LEN bits[23:16])
+Byte 41 (Address Length, _LEN bits[31:24])
+Byte 42 (Address Length, _LEN bits[39:32])
+Byte 43 (Address Length, _LEN bits[47:40])
+Byte 44 (Address Length, _LEN bits[55:48])
+Byte 45 (Address Length, _LEN bits[63:56])
+Byte 46 (Resource Source Index):
+ (Optional) Only present if Resource Source (below) is present. This
+ field gives an index to the specific resource descriptor that this
+ device consumes from in the current resource template for the device
+ object pointed to in Resource Source
+String (Resource Source):
+ (Optional) If present, the device that uses this descriptor consumes
+ its resources from the resources produced by the named device object.
+ If not present, the device consumes its resources out of a global pool.
+ If not present, the device consumes this resource from its hierarchical
+ parent.
+*/
+
+Name (p425, Package() {
+
+ // Byte 4 (General Flags) of QWord Address Space Descriptor
+
+ Buffer () {0x8a, 0x2b, 0x00, 0x00, 0x00, 0x01,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x00, 0x08, 0x01,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x00, 0x04, 0x01,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x00, 0x0c, 0x01,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x00, 0x02, 0x01,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x00, 0x0a, 0x01,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x00, 0x06, 0x01,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x00, 0x0e, 0x01,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x00, 0x01, 0x01,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x00, 0x09, 0x01,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x00, 0x05, 0x01,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x00, 0x0d, 0x01,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x00, 0x03, 0x01,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x00, 0x0b, 0x01,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x00, 0x07, 0x01,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x00, 0x0f, 0x01,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+
+ // Byte 5 (Type Specific Flags) of QWord Address Space Descriptor
+
+ // NonCacheable
+ Buffer () {0x8a, 0x2b, 0x00, 0x00, 0x01, 0x00,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x00, 0x01, 0x20,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x00, 0x01, 0x08,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x00, 0x01, 0x28,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x00, 0x01, 0x10,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x00, 0x01, 0x30,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x00, 0x01, 0x18,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x00, 0x01, 0x38,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x00, 0x01, 0x01,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x00, 0x01, 0x21,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x00, 0x01, 0x09,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x00, 0x01, 0x29,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x00, 0x01, 0x11,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x00, 0x01, 0x31,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x00, 0x01, 0x19,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x00, 0x01, 0x39,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+
+ // Cacheable
+ Buffer () {0x8a, 0x2b, 0x00, 0x00, 0x01, 0x02,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x00, 0x01, 0x22,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x00, 0x01, 0x0a,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x00, 0x01, 0x2a,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x00, 0x01, 0x12,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x00, 0x01, 0x32,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x00, 0x01, 0x1a,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x00, 0x01, 0x3a,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x00, 0x01, 0x03,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x00, 0x01, 0x23,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x00, 0x01, 0x0b,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x00, 0x01, 0x2b,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x00, 0x01, 0x13,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x00, 0x01, 0x33,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x00, 0x01, 0x1b,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x00, 0x01, 0x3b,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+
+ // WriteCombining
+ Buffer () {0x8a, 0x2b, 0x00, 0x00, 0x01, 0x04,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x00, 0x01, 0x24,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x00, 0x01, 0x0c,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x00, 0x01, 0x2c,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x00, 0x01, 0x14,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x00, 0x01, 0x34,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x00, 0x01, 0x1c,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x00, 0x01, 0x3c,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x00, 0x01, 0x05,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x00, 0x01, 0x25,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x00, 0x01, 0x0d,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x00, 0x01, 0x2d,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x00, 0x01, 0x15,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x00, 0x01, 0x35,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x00, 0x01, 0x1d,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x00, 0x01, 0x3d,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+
+ // Prefetchable
+ Buffer () {0x8a, 0x2b, 0x00, 0x00, 0x01, 0x06,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x00, 0x01, 0x26,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x00, 0x01, 0x0e,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x00, 0x01, 0x2e,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x00, 0x01, 0x16,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x00, 0x01, 0x36,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x00, 0x01, 0x1e,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x00, 0x01, 0x3e,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x00, 0x01, 0x07,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x00, 0x01, 0x27,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x00, 0x01, 0x0f,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x00, 0x01, 0x2f,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x00, 0x01, 0x17,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x00, 0x01, 0x37,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x00, 0x01, 0x1f,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x00, 0x01, 0x3f,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+
+ // Particular cases
+
+ Buffer () {0x8a, 0x2b, 0x00, 0x00, 0x01, 0x01,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0x00, 0x01, 0x01,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+
+ // Resource Source
+
+ Buffer () {0x8a, 0x2d, 0x00, 0x00, 0x01, 0x01,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8,
+ 0x01, 0x00, 0x79, 0x00},
+ Buffer () {0x8a, 0x2e, 0x00, 0x00, 0x01, 0x01,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8,
+ 0x0f, 0x50, 0x00, 0x79, 0x00},
+ Buffer () {0x8a, 0x31, 0x00, 0x00, 0x01, 0x01,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8,
+ 0xf0, 0x50, 0x41, 0x54, 0x48, 0x00, 0x79, 0x00},
+ Buffer () {0x8a, 0xf5, 0x00, 0x00, 0x01, 0x01,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8,
+ 0xff,
+ 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28,
+ 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30,
+ 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
+ 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40,
+ 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48,
+ 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50,
+ 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58,
+ 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0x60,
+ 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
+ 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
+ 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
+ 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x20, 0x21,
+ 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29,
+ 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30, 0x31,
+ 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39,
+ 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41,
+ 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49,
+ 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51,
+ 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59,
+ 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0x60, 0x61,
+ 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69,
+ 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70, 0x71,
+ 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79,
+ 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x20, 0x21, 0x22,
+ 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a,
+ 0x00, 0x79, 0x00},
+
+ // Particular cases
+
+ Buffer () {0x8a, 0x39, 0x00, 0x00, 0x0f, 0x30,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00, 0x79, 0x00},
+ Buffer () {0x8a, 0x39, 0x00, 0x00, 0x0f, 0x30,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00, 0x79, 0x00},
+
+ // 20051021, relaxation for omitted ResourceSource (bug-fix 70 rejection)
+ Buffer () {0x8a, 0x2c, 0x00, 0x00, 0x01, 0x01,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8,
+ 0x0f, 0x79, 0x00},
+})
+
+Method(RT10)
+{
+ Name(ts, "RT10")
+
+ Store("TEST: RT10, QWord Memory Resource Descriptor Macro", Debug)
+
+ m330(ts, 89, "p424", p424, p425)
+ Store (
+ ResourceTemplate () {
+ QWordMemory (ResourceProducer, PosDecode, MinNotFixed, MaxNotFixed, NonCacheable, ReadOnly,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff, , , QME0)
+ QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, NonCacheable, ReadOnly,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff, , , QME1)
+ }, Local0)
+
+ m331(ts, 1, QME0._DEC, 0x21, QME1._DEC, 0x191, "_DEC")
+ m331(ts, 2, QME0._MIF, 0x22, QME1._MIF, 0x192, "_MIF")
+ m331(ts, 3, QME0._MAF, 0x23, QME1._MAF, 0x193, "_MAF")
+ m331(ts, 4, QME0._RW, 0x28, QME1._RW, 0x198, "_RW")
+ m331(ts, 5, QME0._MEM, 0x29, QME1._MEM, 0x199, "_MEM")
+ m331(ts, 6, QME0._MTP, 0x2b, QME1._MTP, 0x19b, "_MTP")
+ m331(ts, 6, QME0._TTP, 0x2d, QME1._TTP, 0x19d, "_TTP")
+ m331(ts, 7, QME0._GRA, 6, QME1._GRA, 52, "_GRA")
+ m331(ts, 8, QME0._MIN, 14, QME1._MIN, 60, "_MIN")
+ m331(ts, 9, QME0._MAX, 22, QME1._MAX, 68, "_MAX")
+ m331(ts, 10, QME0._TRA, 30, QME1._TRA, 76, "_TRA")
+ m331(ts, 11, QME0._LEN, 38, QME1._LEN, 84, "_LEN")
+}
+
+
diff --git a/tests/aslts/src/runtime/collections/functional/descriptor/qwordspace.asl b/tests/aslts/src/runtime/collections/functional/descriptor/qwordspace.asl
new file mode 100644
index 000000000..21c6b8eb3
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/descriptor/qwordspace.asl
@@ -0,0 +1,541 @@
+/*
+ * 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.
+ */
+
+/*
+ * Resource Descriptor macros
+ *
+ * QWord Space Resource Descriptor Macro
+ */
+
+Name (p42c, Package() {
+
+ // Byte 4 (General Flags) of QWord Address Space Descriptor
+
+ ResourceTemplate () {
+ QWordSpace (0xc0, ResourceProducer, PosDecode, MinNotFixed, MaxNotFixed, 0x0a,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+ ResourceTemplate () {
+ QWordSpace (0xc1, ResourceProducer, PosDecode, MinNotFixed, MaxFixed, 0x1a,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+ ResourceTemplate () {
+ QWordSpace (0xc2, ResourceProducer, PosDecode, MinFixed, MaxNotFixed, 0x2a,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+ ResourceTemplate () {
+ QWordSpace (0xc3, ResourceProducer, PosDecode, MinFixed, MaxFixed, 0x3a,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+ ResourceTemplate () {
+ QWordSpace (0xc4, ResourceProducer, SubDecode, MinNotFixed, MaxNotFixed, 0x4a,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+ ResourceTemplate () {
+ QWordSpace (0xc5, ResourceProducer, SubDecode, MinNotFixed, MaxFixed, 0x5a,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+ ResourceTemplate () {
+ QWordSpace (0xc6, ResourceProducer, SubDecode, MinFixed, MaxNotFixed, 0x6a,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+ ResourceTemplate () {
+ QWordSpace (0xc7, ResourceProducer, SubDecode, MinFixed, MaxFixed, 0x7a,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+ ResourceTemplate () {
+ QWordSpace (0xc8, ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, 0x8a,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+ ResourceTemplate () {
+ QWordSpace (0xc9, ResourceConsumer, PosDecode, MinNotFixed, MaxFixed, 0x9a,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+ ResourceTemplate () {
+ QWordSpace (0xca, ResourceConsumer, PosDecode, MinFixed, MaxNotFixed, 0xaa,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+ ResourceTemplate () {
+ QWordSpace (0xcb, ResourceConsumer, PosDecode, MinFixed, MaxFixed, 0xba,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+ ResourceTemplate () {
+ QWordSpace (0xcc, ResourceConsumer, SubDecode, MinNotFixed, MaxNotFixed, 0xca,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+ ResourceTemplate () {
+ QWordSpace (0xcd, ResourceConsumer, SubDecode, MinNotFixed, MaxFixed, 0xda,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+ ResourceTemplate () {
+ QWordSpace (0xce, ResourceConsumer, SubDecode, MinFixed, MaxNotFixed, 0xea,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+ ResourceTemplate () {
+ QWordSpace (0xff, ResourceConsumer, SubDecode, MinFixed, MaxFixed, 0xfa,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+
+ // Byte 5 (Type Specific Flags) of QWord Address Space Descriptor
+
+ ResourceTemplate () {
+ QWordSpace (0xc0, , , , , 0x00,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+ ResourceTemplate () {
+ QWordSpace (0xc0, , , , , 0xff,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
+ },
+
+ // Particular cases
+
+ ResourceTemplate () {
+ QWordSpace (0xc0, , , , , 0x5a,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , )
+ },
+ ResourceTemplate () {
+ QWordSpace (0xc0, , , , , 0x5a,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ , , )
+ },
+
+ // Resource Source
+
+ ResourceTemplate () {
+ QWordSpace (0xc0, , , , , 0x5a,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ 0x01, "")
+ },
+ ResourceTemplate () {
+ QWordSpace (0xc0, , , , , 0x5a,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ 0x0f, "P")
+ },
+ ResourceTemplate () {
+ QWordSpace (0xc0, , , , , 0x5a,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ 0xf0, "PATH")
+ },
+ ResourceTemplate () {
+ QWordSpace (0xc0, , , , , 0x5a,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ 0xff,
+ "!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*",
+ )
+ },
+
+ // Particular cases
+
+ ResourceTemplate () {
+ QWordSpace (0xc0, ResourceConsumer, SubDecode, MinFixed, MaxFixed, 0x5a,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ 0xff, "PATHPATHPATH", QSP0)
+ },
+ ResourceTemplate () {
+ QWordSpace (0xc0, ResourceConsumer, SubDecode, MinFixed, MaxFixed, 0,
+ 0, 0, 0, 0, 0,
+ 0xff, "PATHPATHPATH", )
+ },
+
+ // 20051021, relaxation for omitted ResourceSource (bug-fix 70 rejection)
+ ResourceTemplate () {
+ QWordSpace (0xc0, , , , , 0x5a,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ 0x0f)
+ },
+})
+
+/*
+ACPI Specification, Revision 3.0, September 2, 2004
+6.4.3.5.1 QWord Address Space Descriptor
+
+Memory QWord Address Space Descriptor layout:
+
+Byte 0 (Tag Bits): Value=10001010B (0x8a) (Type = 1, Large item name = 0xA)
+Byte 1 (Length, bits[7:0]): Variable: Value = 43 (minimum)
+Byte 2 (Length, bits[15:8]): Variable: Value = 0 (minimum)
+Byte 3 (Resource Type):
+ 192-255 Hardware Vendor Defined
+Byte 4 (General Flags):
+ Bits[7:4] Reserved (must be 0)
+ Bit[3] Min Address Fixed, _MAF:
+ 1 The specified maximum address is fixed
+ 0 The specified maximum address is not fixed
+ and can be changed
+ Bit[2] Max Address Fixed,_MIF:
+ 1 The specified minimum address is fixed
+ 0 The specified minimum address is not fixed
+ and can be changed
+ Bit[1] Decode Type, _DEC:
+ 1 This bridge subtractively decodes this address
+ (top level bridges only)
+ 0 This bridge positively decodes this address
+ Bit[0] Consumer/Producer:
+ 1-This device consumes this resource
+ 0-This device produces and consumes this resource
+Byte 5 (Type Specific Flags):
+ Flags that are specific to each resource type. The meaning of the flags
+ in this field depends on the value of the Resource Type field (see above)
+Byte 6 (Address space granularity, _GRA bits[7:0]):
+ A set bit in this mask means that this bit is decoded. All bits less
+ significant than the most significant set bit must be set. (in other
+ words, the value of the full Address Space Granularity field (all 32
+ bits) must be a number (2**n-1).
+Byte 7 (Address space granularity, _GRA bits[15:8])
+Byte 8 (Address space granularity, _GRA bits[23:16])
+Byte 9 (Address space granularity, _GRA bits[31:24])
+Byte 10 (Address space granularity, _GRA bits[39:32])
+Byte 11 (Address space granularity, _GRA bits[47:40])
+Byte 12 (Address space granularity, _GRA bits[55:48])
+Byte 13 (Address space granularity, _GRA bits[63:56])
+Byte 14 (Address range minimum, _MIN bits [7:0]):
+ For bridges that translate addresses, this is the address space
+ on the secondary side of the bridge
+Byte 15 (Address range minimum, _MIN bits[15:8])
+Byte 16 (Address range minimum, _MIN bits[23:16])
+Byte 17 (Address range minimum, _MIN bits[31:24])
+Byte 18 (Address range minimum, _MIN bits[39:32])
+Byte 19 (Address range minimum, _MIN bits[47:40])
+Byte 20 (Address range minimum, _MIN bits[55:48])
+Byte 21 (Address range minimum, _MIN bits[63:56])
+Byte 22 (Address range maximum, _MAX bits [7:0]): See comment for _MIN
+Byte 23 (Address range maximum, _MAX bits[15:8])
+Byte 24 (Address range maximum, _MAX bits[23:16])
+Byte 25 (Address range maximum, _MAX bits[31:24])
+Byte 26 (Address range maximum, _MAX bits[39:32])
+Byte 27 (Address range maximum, _MAX bits[47:40])
+Byte 28 (Address range maximum, _MAX bits[55:48])
+Byte 29 (Address range maximum, _MAX bits[63:56])
+Byte 30 (Address Translation offset, _TRA bits [7:0]):
+ For bridges that translate addresses across the bridge, this is the
+ offset that must be added to the address on the secondary side to obtain
+ the address on the primary side. Non-bridge devices must list 0 for all
+ Address Translation offset bits
+Byte 31 (Address Translation offset, _TRA bits[15:8])
+Byte 32 (Address Translation offset, _TRA bits[23:16])
+Byte 33 (Address Translation offset, _TRA bits[31:24])
+Byte 34 (Address Translation offset, _TRA bits[39:32])
+Byte 35 (Address Translation offset, _TRA bits[47:40])
+Byte 36 (Address Translation offset, _TRA bits[55:48])
+Byte 37 (Address Translation offset, _TRA bits[63:56])
+Byte 38 (Address Length, _LEN bits [7:0])
+Byte 39 (Address Length, _LEN bits[15:8])
+Byte 40 (Address Length, _LEN bits[23:16])
+Byte 41 (Address Length, _LEN bits[31:24])
+Byte 42 (Address Length, _LEN bits[39:32])
+Byte 43 (Address Length, _LEN bits[47:40])
+Byte 44 (Address Length, _LEN bits[55:48])
+Byte 45 (Address Length, _LEN bits[63:56])
+Byte 46 (Resource Source Index):
+ (Optional) Only present if Resource Source (below) is present. This
+ field gives an index to the specific resource descriptor that this
+ device consumes from in the current resource template for the device
+ object pointed to in Resource Source
+String (Resource Source):
+ (Optional) If present, the device that uses this descriptor consumes
+ its resources from the resources produced by the named device object.
+ If not present, the device consumes its resources out of a global pool.
+ If not present, the device consumes this resource from its hierarchical
+ parent.
+*/
+
+Name (p42d, Package() {
+
+ // Byte 4 (General Flags) of QWord Address Space Descriptor
+
+ Buffer () {0x8a, 0x2b, 0x00, 0xc0, 0x00, 0x0a,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0xc1, 0x08, 0x1a,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0xc2, 0x04, 0x2a,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0xc3, 0x0c, 0x3a,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0xc4, 0x02, 0x4a,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0xc5, 0x0a, 0x5a,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0xc6, 0x06, 0x6a,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0xc7, 0x0e, 0x7a,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0xc8, 0x01, 0x8a,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0xc9, 0x09, 0x9a,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0xca, 0x05, 0xaa,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0xcb, 0x0d, 0xba,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0xcc, 0x03, 0xca,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0xcd, 0x0b, 0xda,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0xce, 0x07, 0xea,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0xff, 0x0f, 0xfa,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+
+ // Byte 5 (Type Specific Flags) of QWord Address Space Descriptor
+
+ Buffer () {0x8a, 0x2b, 0x00, 0xc0, 0x01, 0x00,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0xc0, 0x01, 0xff,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+
+ // Particular cases
+
+ Buffer () {0x8a, 0x2b, 0x00, 0xc0, 0x01, 0x5a,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+ Buffer () {0x8a, 0x2b, 0x00, 0xc0, 0x01, 0x5a,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
+
+ // Resource Source
+
+ Buffer () {0x8a, 0x2d, 0x00, 0xc0, 0x01, 0x5a,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8,
+ 0x01, 0x00, 0x79, 0x00},
+ Buffer () {0x8a, 0x2e, 0x00, 0xc0, 0x01, 0x5a,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8,
+ 0x0f, 0x50, 0x00, 0x79, 0x00},
+ Buffer () {0x8a, 0x31, 0x00, 0xc0, 0x01, 0x5a,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8,
+ 0xf0, 0x50, 0x41, 0x54, 0x48, 0x00, 0x79, 0x00},
+ Buffer () {0x8a, 0xf5, 0x00, 0xc0, 0x01, 0x5a,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8,
+ 0xff,
+ 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28,
+ 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30,
+ 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
+ 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40,
+ 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48,
+ 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50,
+ 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58,
+ 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0x60,
+ 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
+ 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
+ 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
+ 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x20, 0x21,
+ 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29,
+ 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30, 0x31,
+ 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39,
+ 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41,
+ 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49,
+ 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51,
+ 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59,
+ 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0x60, 0x61,
+ 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69,
+ 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70, 0x71,
+ 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79,
+ 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x20, 0x21, 0x22,
+ 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a,
+ 0x00, 0x79, 0x00},
+
+ // Particular cases
+
+ Buffer () {0x8a, 0x39, 0x00, 0xc0, 0x0f, 0x5a,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00, 0x79, 0x00},
+ Buffer () {0x8a, 0x39, 0x00, 0xc0, 0x0f, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00, 0x79, 0x00},
+
+ // 20051021, relaxation for omitted ResourceSource (bug-fix 70 rejection)
+ Buffer () {0x8a, 0x2c, 0x00, 0xc0, 0x01, 0x5a,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8,
+ 0x0f, 0x79, 0x00},
+})
+
+Method(RT14)
+{
+ Name(ts, "RT14")
+
+ Store("TEST: RT14, QWord Space Resource Descriptor Macro", Debug)
+
+ m330(ts, 27, "p42c", p42c, p42d)
+
+ Store (
+ ResourceTemplate () {
+ QWordSpace (0xc0, ResourceProducer, PosDecode, MinNotFixed, MaxNotFixed, 0x5a,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff, , , QSP0)
+ QWordSpace (0xc0, ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, 0x5a,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff, , , QSP1)
+ }, Local0)
+
+ m331(ts, 1, QSP0._DEC, 0x21, QSP1._DEC, 0x191, "_DEC")
+ m331(ts, 2, QSP0._MIF, 0x22, QSP1._MIF, 0x192, "_MIF")
+ m331(ts, 3, QSP0._MAF, 0x23, QSP1._MAF, 0x193, "_MAF")
+ m331(ts, 7, QSP0._GRA, 6, QSP1._GRA, 52, "_GRA")
+ m331(ts, 8, QSP0._MIN, 14, QSP1._MIN, 60, "_MIN")
+ m331(ts, 9, QSP0._MAX, 22, QSP1._MAX, 68, "_MAX")
+ m331(ts, 10, QSP0._TRA, 30, QSP1._TRA, 76, "_TRA")
+ m331(ts, 11, QSP0._LEN, 38, QSP1._LEN, 84, "_LEN")
+}
+
+
diff --git a/tests/aslts/src/runtime/collections/functional/descriptor/register.asl b/tests/aslts/src/runtime/collections/functional/descriptor/register.asl
new file mode 100644
index 000000000..4c3a81c86
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/descriptor/register.asl
@@ -0,0 +1,180 @@
+/*
+ * 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.
+ */
+
+/*
+ * Resource Descriptor macros
+ *
+ * Generic Register Resource Descriptor Macro
+ */
+
+Name (p436, Package() {
+
+ // Byte 3 (Address Space ID) of Register Descriptor
+
+ ResourceTemplate () {
+ Register (SystemMemory, 0xf0, 0xf1, 0xf2f3f4f5f6f7f8f9)
+ },
+ ResourceTemplate () {
+ Register (SystemIO, 0xf0, 0xf1, 0xf2f3f4f5f6f7f8f9)
+ },
+ ResourceTemplate () {
+ Register (PCI_Config, 0xf0, 0xf1, 0xf2f3f4f5f6f7f8f9)
+ },
+ ResourceTemplate () {
+ Register (EmbeddedControl, 0xf0, 0xf1, 0xf2f3f4f5f6f7f8f9)
+ },
+ ResourceTemplate () {
+ Register (SMBus, 0xf0, 0xf1, 0xf2f3f4f5f6f7f8f9)
+ },
+ ResourceTemplate () {
+ Register (FFixedHW, 0xf0, 0xf1, 0xf2f3f4f5f6f7f8f9)
+ },
+
+ // Byte 6 (Address Size) of Register Descriptor
+
+ ResourceTemplate () {
+ Register (SystemMemory, 0xf0, 0xf1, 0xf2f3f4f5f6f7f8f9, 0)
+ },
+ ResourceTemplate () {
+ Register (SystemMemory, 0xf0, 0xf1, 0xf2f3f4f5f6f7f8f9, 1)
+ },
+ ResourceTemplate () {
+ Register (SystemMemory, 0xf0, 0xf1, 0xf2f3f4f5f6f7f8f9, 2)
+ },
+ ResourceTemplate () {
+ Register (SystemMemory, 0xf0, 0xf1, 0xf2f3f4f5f6f7f8f9, 3)
+ },
+ ResourceTemplate () {
+ Register (SystemMemory, 0xf0, 0xf1, 0xf2f3f4f5f6f7f8f9, 4)
+ },
+
+ // Particular cases
+
+ ResourceTemplate () {
+ Register (SystemMemory, 0, 0, 0)
+ },
+ ResourceTemplate () {
+ Register (SystemMemory, 0xff, 0xff, 0)
+ },
+})
+
+/*
+ACPI Specification, Revision 3.0, September 2, 2004
+6.4.3.7 Generic Register Descriptor
+
+Generic Register Descriptor layout:
+
+Byte 0 Generic register descriptor Value = 10000010B (0x82) (Type = 1, Large item name = 0x2)
+Byte 1 Length, bits[7:0] Value = 00001100B (12)
+Byte 2 Length, bits[15:8] Value = 00000000B (0)
+Byte 3 Address Space ID, _ASI The address space where the data structure or register exists.
+ Defined values are:
+ 0x00 System Memory
+ 0x01 System I/O
+ 0x02 PCI Configuration Space
+ 0x03 Embedded Controller
+ 0x04 SMBus
+ 0x7F Functional Fixed Hardware
+Byte 4 Register Bit Width, _RBW Indicates the register width in bits.
+Byte 5 Register Bit Offset, _RBO Indicates the offset to the start of the register in bits
+ from the Register Address.
+Byte 6 Address Size, _ASZ Specifies access size.
+ 0-Undefined (legacy reasons)
+ 1-Byte access
+ 2-Word access
+ 3-Dword access
+ 4-Qword access
+Byte 7 Register Address, _ADR bits[7:0] Register Address
+Byte 8 Register Address, _ADR bits[15:8]
+Byte 9 Register Address, _ADR bits[23:16]
+Byte 10 Register Address, _ADR bits[31:24]
+Byte 11 Register Address, _ADR bits[39:32]
+Byte 12 Register Address, _ADR bits[47:40]
+Byte 13 Register Address, _ADR bits[55:48]
+Byte 14 Register Address, _ADR bits[63:56]
+*/
+
+Name (p437, Package() {
+ Buffer () {0x82, 0x0c, 0x00, 0x00, 0xf0, 0xf1, 0x00,
+ 0xf9, 0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0x79, 0x00},
+ Buffer () {0x82, 0x0c, 0x00, 0x01, 0xf0, 0xf1, 0x00,
+ 0xf9, 0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0x79, 0x00},
+ Buffer () {0x82, 0x0c, 0x00, 0x02, 0xf0, 0xf1, 0x00,
+ 0xf9, 0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0x79, 0x00},
+ Buffer () {0x82, 0x0c, 0x00, 0x03, 0xf0, 0xf1, 0x00,
+ 0xf9, 0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0x79, 0x00},
+ Buffer () {0x82, 0x0c, 0x00, 0x04, 0xf0, 0xf1, 0x00,
+ 0xf9, 0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0x79, 0x00},
+ Buffer () {0x82, 0x0c, 0x00, 0x7f, 0xf0, 0xf1, 0x00,
+ 0xf9, 0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0x79, 0x00},
+
+ // Byte 6 (Address Size) of Register Descriptor
+
+ Buffer () {0x82, 0x0c, 0x00, 0x00, 0xf0, 0xf1, 0x00,
+ 0xf9, 0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0x79, 0x00},
+ Buffer () {0x82, 0x0c, 0x00, 0x00, 0xf0, 0xf1, 0x01,
+ 0xf9, 0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0x79, 0x00},
+ Buffer () {0x82, 0x0c, 0x00, 0x00, 0xf0, 0xf1, 0x02,
+ 0xf9, 0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0x79, 0x00},
+ Buffer () {0x82, 0x0c, 0x00, 0x00, 0xf0, 0xf1, 0x03,
+ 0xf9, 0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0x79, 0x00},
+ Buffer () {0x82, 0x0c, 0x00, 0x00, 0xf0, 0xf1, 0x04,
+ 0xf9, 0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0x79, 0x00},
+
+ // Particular cases
+
+ Buffer () {0x82, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x79, 0x00},
+ Buffer () {0x82, 0x0c, 0x00, 0x00, 0xff, 0xff, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x79, 0x00},
+})
+
+Method(RT19)
+{
+ Name(ts, "RT19")
+
+ Store("TEST: RT19, Generic Register Resource Descriptor Macro", Debug)
+
+ m330(ts, 13, "p436", p436, p437)
+
+ /* Register macro DescriptorName is recently implemented */
+
+ Store (
+ ResourceTemplate () {
+ Register (SystemMemory, 0xf0, 0xf1, 0xf2f3f4f5f6f7f8f9, 0, REG0)
+ Register (SystemMemory, 0xf0, 0xf1, 0xf2f3f4f5f6f7f8f9, 0, REG1)
+ }, Local0)
+
+ m331(ts, 1, REG0._ASI, 3, REG1._ASI, 18, "_ASI")
+ m331(ts, 2, REG0._RBW, 4, REG1._RBW, 19, "_RBW")
+ m331(ts, 3, REG0._RBO, 5, REG1._RBO, 20, "_RBO")
+ m331(ts, 4, REG0._ASZ, 6, REG1._ASZ, 21, "_ASZ")
+ m331(ts, 5, REG0._ADR, 7, REG1._ADR, 22, "_ADR")
+}
diff --git a/tests/aslts/src/runtime/collections/functional/descriptor/resourcetemplate.asl b/tests/aslts/src/runtime/collections/functional/descriptor/resourcetemplate.asl
new file mode 100644
index 000000000..d703363ae
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/descriptor/resourcetemplate.asl
@@ -0,0 +1,2925 @@
+/*
+ * 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.
+ */
+
+/*
+ * Resource Descriptor macros
+ *
+ * Resource To Buffer Conversion Macro
+ */
+
+Name (p438, Package() {
+ ResourceTemplate () {
+ },
+ ResourceTemplate () {
+ IRQ (Level, ActiveHigh, Exclusive) {0}
+ IRQNoFlags () {1}
+ DMA (Compatibility, NotBusMaster, Transfer16) {2}
+ IO (Decode16, 0xf0f1, 0xf2f3, 0xf4, 0xf5)
+ FixedIO (0xf0f1, 0xf2)
+ VendorShort () {0x00, 0xa2, 0xb3, 0x76, 0xd5, 0xe6, 0xf7}
+ Memory24 (ReadWrite, 0xf0f1, 0xf2f3, 0xf4f5, 0xf6f7)
+ Memory32 (ReadWrite, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff)
+ Memory32Fixed (ReadOnly, 0xf0f1f2f3, 0xf4f5f6f7)
+ VendorLong () {0x9f,
+ 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
+ 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff,
+ 0x00, 0x01, 0x02, 0x03}
+ QWordIO (ResourceConsumer, MinFixed, MaxFixed, SubDecode, EntireRange,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ 0xff, "PATHPATHPATH", QIOX, TypeTranslation, SparseTranslation)
+ DWordIO (ResourceConsumer, MinFixed, MaxFixed, SubDecode, EntireRange,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ 0xff, "PATHPATHPATH", DIOX, TypeTranslation, SparseTranslation)
+ WordIO (ResourceConsumer, MinFixed, MaxFixed, SubDecode, EntireRange,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff,
+ 0xff, "PATHPATHPATH", WIOX, TypeTranslation, SparseTranslation)
+ QWordMemory (ResourceConsumer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadOnly,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ 0xff, "PATHPATHPATH", QMEX, AddressRangeACPI, TypeTranslation)
+ DWordMemory (ResourceConsumer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadOnly,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ 0xff, "PATHPATHPATH", DMEX, AddressRangeACPI, TypeTranslation)
+ WordBusNumber (ResourceConsumer, MinFixed, MaxFixed, SubDecode,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff,
+ 0xff, "PATHPATHPATH", WBNX)
+ Interrupt (ResourceConsumer, Edge, ActiveLow, Shared,
+ 0xff,
+ "!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*",
+ INTX) {
+ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
+ 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
+ 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
+ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
+ 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
+ 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,112,
+ 113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,
+ 129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,
+ 145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,
+ 161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,
+ 177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,
+ 193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,
+ 209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,
+ 225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,
+ 241,242,243,244,245,246,247,248,249,250,251,252,253,254,255}
+ Register (FFixedHW, 0xf0, 0xf1, 0xf2f3f4f5f6f7f8f9)
+ ExtendedIO (ResourceConsumer, MinFixed, MaxFixed, SubDecode, EntireRange,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ EIOX, TypeTranslation, SparseTranslation)
+ ExtendedMemory (ResourceConsumer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadOnly,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ EMEX, AddressRangeACPI, TypeTranslation)
+ ExtendedSpace (0xc0, ResourceConsumer, SubDecode, MinFixed, MaxFixed, 0x5a,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ ESPX)
+ DWordSpace (0xc0, ResourceConsumer, SubDecode, MinFixed, MaxFixed, 0x5a,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ 0xff, "PATHPATHPATH", DSPX)
+ QWordSpace (0xc0, ResourceConsumer, SubDecode, MinFixed, MaxFixed, 0x5a,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ 0xff, "PATHPATHPATH", QSPX)
+ WordSpace (0xc0, ResourceConsumer, SubDecode, MinFixed, MaxFixed, 0x5a,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff,
+ 0xff, "PATHPATHPATH", WSPX)
+ },
+ ResourceTemplate () {
+ StartDependentFnNoPri () {
+ IRQ (Level, ActiveHigh, Exclusive) {0}
+ IRQNoFlags () {1}
+ }
+ StartDependentFnNoPri () {
+ IRQ (Level, ActiveHigh, Exclusive) {0}
+ IRQNoFlags () {1}
+ DMA (Compatibility, NotBusMaster, Transfer16) {2}
+ }
+ StartDependentFn (0, 0) {
+ IRQ (Level, ActiveHigh, Exclusive) {0}
+ IRQNoFlags () {1}
+ DMA (Compatibility, NotBusMaster, Transfer16) {2}
+ IO (Decode16, 0xf0f1, 0xf2f3, 0xf4, 0xf5)
+ }
+ StartDependentFn (0, 1) {
+ IRQ (Level, ActiveHigh, Exclusive) {0}
+ IRQNoFlags () {1}
+ DMA (Compatibility, NotBusMaster, Transfer16) {2}
+ IO (Decode16, 0xf0f1, 0xf2f3, 0xf4, 0xf5)
+ FixedIO (0xf0f1, 0xf2)
+ }
+ StartDependentFn (0, 2) {
+ IRQ (Level, ActiveHigh, Exclusive) {0}
+ IRQNoFlags () {1}
+ DMA (Compatibility, NotBusMaster, Transfer16) {2}
+ IO (Decode16, 0xf0f1, 0xf2f3, 0xf4, 0xf5)
+ FixedIO (0xf0f1, 0xf2)
+ VendorShort () {0x00, 0xa2, 0xb3, 0x76, 0xd5, 0xe6, 0xf7}
+ }
+ StartDependentFn (1, 0) {
+ IRQ (Level, ActiveHigh, Exclusive) {0}
+ IRQNoFlags () {1}
+ DMA (Compatibility, NotBusMaster, Transfer16) {2}
+ IO (Decode16, 0xf0f1, 0xf2f3, 0xf4, 0xf5)
+ FixedIO (0xf0f1, 0xf2)
+ VendorShort () {0x00, 0xa2, 0xb3, 0x76, 0xd5, 0xe6, 0xf7}
+ Memory24 (ReadWrite, 0xf0f1, 0xf2f3, 0xf4f5, 0xf6f7)
+ }
+ StartDependentFn (1, 1) {
+ IRQ (Level, ActiveHigh, Exclusive) {0}
+ IRQNoFlags () {1}
+ DMA (Compatibility, NotBusMaster, Transfer16) {2}
+ IO (Decode16, 0xf0f1, 0xf2f3, 0xf4, 0xf5)
+ FixedIO (0xf0f1, 0xf2)
+ VendorShort () {0x00, 0xa2, 0xb3, 0x76, 0xd5, 0xe6, 0xf7}
+ Memory24 (ReadWrite, 0xf0f1, 0xf2f3, 0xf4f5, 0xf6f7)
+ Memory32 (ReadWrite, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff)
+ }
+ StartDependentFn (1, 1) {
+ IRQ (Level, ActiveHigh, Exclusive) {0}
+ IRQNoFlags () {1}
+ DMA (Compatibility, NotBusMaster, Transfer16) {2}
+ IO (Decode16, 0xf0f1, 0xf2f3, 0xf4, 0xf5)
+ FixedIO (0xf0f1, 0xf2)
+ VendorShort () {0x00, 0xa2, 0xb3, 0x76, 0xd5, 0xe6, 0xf7}
+ Memory24 (ReadWrite, 0xf0f1, 0xf2f3, 0xf4f5, 0xf6f7)
+ Memory32 (ReadWrite, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff)
+ Memory32Fixed (ReadOnly, 0xf0f1f2f3, 0xf4f5f6f7)
+ VendorLong () {0x9f,
+ 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
+ 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff,
+ 0x00, 0x01, 0x02, 0x03}
+ QWordIO (ResourceConsumer, MinFixed, MaxFixed, SubDecode, EntireRange,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ 0xff, "PATHPATHPATH", QIOY, TypeTranslation, SparseTranslation)
+ DWordIO (ResourceConsumer, MinFixed, MaxFixed, SubDecode, EntireRange,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ 0xff, "PATHPATHPATH", DIOY, TypeTranslation, SparseTranslation)
+ WordIO (ResourceConsumer, MinFixed, MaxFixed, SubDecode, EntireRange,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff,
+ 0xff, "PATHPATHPATH", WIOY, TypeTranslation, SparseTranslation)
+ QWordMemory (ResourceConsumer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadOnly,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ 0xff, "PATHPATHPATH", QMEY, AddressRangeACPI, TypeTranslation)
+ DWordMemory (ResourceConsumer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadOnly,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ 0xff, "PATHPATHPATH", DMEY, AddressRangeACPI, TypeTranslation)
+ WordBusNumber (ResourceConsumer, MinFixed, MaxFixed, SubDecode,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff,
+ 0xff, "PATHPATHPATH", WBNY)
+ Interrupt (ResourceConsumer, Edge, ActiveLow, Shared,
+ 0xff,
+ "!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*",
+ INTY) {
+ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
+ 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
+ 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
+ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
+ 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
+ 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,112,
+ 113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,
+ 129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,
+ 145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,
+ 161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,
+ 177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,
+ 193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,
+ 209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,
+ 225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,
+ 241,242,243,244,245,246,247,248,249,250,251,252,253,254,255}
+ Register (FFixedHW, 0xf0, 0xf1, 0xf2f3f4f5f6f7f8f9)
+ ExtendedIO (ResourceConsumer, MinFixed, MaxFixed, SubDecode, EntireRange,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ EIOY, TypeTranslation, SparseTranslation)
+ ExtendedMemory (ResourceConsumer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadOnly,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ EMEY, AddressRangeACPI, TypeTranslation)
+ ExtendedSpace (0xc0, ResourceConsumer, SubDecode, MinFixed, MaxFixed, 0x5a,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ ESPY)
+ DWordSpace (0xc0, ResourceConsumer, SubDecode, MinFixed, MaxFixed, 0x5a,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ 0xff, "PATHPATHPATH", DSPY)
+ QWordSpace (0xc0, ResourceConsumer, SubDecode, MinFixed, MaxFixed, 0x5a,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ 0xff, "PATHPATHPATH", QSPY)
+ WordSpace (0xc0, ResourceConsumer, SubDecode, MinFixed, MaxFixed, 0x5a,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff,
+ 0xff, "PATHPATHPATH", WSPY)
+ }
+ StartDependentFn (1, 2) {
+ IRQ (Level, ActiveHigh, Exclusive) {0}
+ IRQNoFlags () {1}
+ DMA (Compatibility, NotBusMaster, Transfer16) {2}
+ IO (Decode16, 0xf0f1, 0xf2f3, 0xf4, 0xf5)
+ FixedIO (0xf0f1, 0xf2)
+ VendorShort () {0x00, 0xa2, 0xb3, 0x76, 0xd5, 0xe6, 0xf7}
+ Memory24 (ReadWrite, 0xf0f1, 0xf2f3, 0xf4f5, 0xf6f7)
+ Memory32 (ReadWrite, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff)
+ Memory32Fixed (ReadOnly, 0xf0f1f2f3, 0xf4f5f6f7)
+ }
+ StartDependentFn (2, 0) {}
+ StartDependentFn (2, 1) {
+ IRQ (Level, ActiveHigh, Exclusive) {0}
+ IRQNoFlags () {1}
+ DMA (Compatibility, NotBusMaster, Transfer16) {2}
+ IO (Decode16, 0xf0f1, 0xf2f3, 0xf4, 0xf5)
+ FixedIO (0xf0f1, 0xf2)
+ VendorShort () {0x00, 0xa2, 0xb3, 0x76, 0xd5, 0xe6, 0xf7}
+ Memory24 (ReadWrite, 0xf0f1, 0xf2f3, 0xf4f5, 0xf6f7)
+ Memory32 (ReadWrite, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff)
+ Memory32Fixed (ReadOnly, 0xf0f1f2f3, 0xf4f5f6f7)
+ VendorLong () {0x9f,
+ 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
+ 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff,
+ 0x00, 0x01, 0x02, 0x03}
+ }
+ StartDependentFn (2, 2) {}
+ EndDependentFn ()
+ },
+})
+
+// Complex test data
+
+Name (p445, Package() {
+ ResourceTemplate () {
+ IRQ (Level, ActiveHigh, Exclusive, IRQZ) {0}
+ IRQNoFlags () {1}
+ DMA (Compatibility, NotBusMaster, Transfer16, DMAZ) {2}
+ IO (Decode16, 0xf0f1, 0xf2f3, 0xf4, 0xf5, IO0Z)
+ FixedIO (0xf0f1, 0xf2, FIOZ)
+ VendorShort () {0x00, 0xa2, 0xb3, 0x76, 0xd5, 0xe6, 0xf7}
+ Memory24 (ReadWrite, 0xf0f1, 0xf2f3, 0xf4f5, 0xf6f7, M24Z)
+ Memory32 (ReadWrite, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff, M32Z)
+ Memory32Fixed (ReadOnly, 0xf0f1f2f3, 0xf4f5f6f7, M3FZ)
+ VendorLong () {0x9f,
+ 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
+ 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff,
+ 0x00, 0x01, 0x02, 0x03}
+ QWordIO (ResourceConsumer, MinFixed, MaxFixed, SubDecode, EntireRange,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ 0xff, "PATHPATHPATH", QIOZ, TypeTranslation, SparseTranslation)
+ DWordIO (ResourceConsumer, MinFixed, MaxFixed, SubDecode, EntireRange,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ 0xff, "PATHPATHPATH", DIOZ, TypeTranslation, SparseTranslation)
+ WordIO (ResourceConsumer, MinFixed, MaxFixed, SubDecode, EntireRange,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff,
+ 0xff, "PATHPATHPATH", WIOZ, TypeTranslation, SparseTranslation)
+ QWordMemory (ResourceConsumer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadOnly,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ 0xff, "PATHPATHPATH", QMEZ, AddressRangeACPI, TypeTranslation)
+ DWordMemory (ResourceConsumer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadOnly,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ 0xff, "PATHPATHPATH", DMEZ, AddressRangeACPI, TypeTranslation)
+ WordBusNumber (ResourceConsumer, MinFixed, MaxFixed, SubDecode,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff,
+ 0xff, "PATHPATHPATH", WBNZ)
+ Interrupt (ResourceConsumer, Edge, ActiveLow, Shared,
+ 0xff,
+ "!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*",
+ INTZ) {
+ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
+ 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
+ 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
+ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
+ 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
+ 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,112,
+ 113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,
+ 129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,
+ 145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,
+ 161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,
+ 177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,
+ 193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,
+ 209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,
+ 225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,
+ 241,242,243,244,245,246,247,248,249,250,251,252,253,254,255}
+ Register (FFixedHW, 0xf0, 0xf1, 0xf2f3f4f5f6f7f8f9)
+ ExtendedIO (ResourceConsumer, MinFixed, MaxFixed, SubDecode, EntireRange,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ EIOZ, TypeTranslation, SparseTranslation)
+ ExtendedMemory (ResourceConsumer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadOnly,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ EMEZ, AddressRangeACPI, TypeTranslation)
+ ExtendedSpace (0xc0, ResourceConsumer, SubDecode, MinFixed, MaxFixed, 0x5a,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ ESPZ)
+ DWordSpace (0xc0, ResourceConsumer, SubDecode, MinFixed, MaxFixed, 0x5a,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ 0xff, "PATHPATHPATH", DSPZ)
+ QWordSpace (0xc0, ResourceConsumer, SubDecode, MinFixed, MaxFixed, 0x5a,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ 0xff, "PATHPATHPATH", QSPZ)
+ WordSpace (0xc0, ResourceConsumer, SubDecode, MinFixed, MaxFixed, 0x5a,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff,
+ 0xff, "PATHPATHPATH", WSPZ)
+
+ // Duplicated part
+
+ IRQ (Level, ActiveHigh, Exclusive, IRQ1) {0}
+ IRQNoFlags () {1}
+ DMA (Compatibility, NotBusMaster, Transfer16, DMA1) {2}
+ IO (Decode16, 0xf0f1, 0xf2f3, 0xf4, 0xf5, IO01)
+ FixedIO (0xf0f1, 0xf2, FIO1)
+ VendorShort () {0x00, 0xa2, 0xb3, 0x76, 0xd5, 0xe6, 0xf7}
+ Memory24 (ReadWrite, 0xf0f1, 0xf2f3, 0xf4f5, 0xf6f7, M241)
+ Memory32 (ReadWrite, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff, M32Y)
+ Memory32Fixed (ReadOnly, 0xf0f1f2f3, 0xf4f5f6f7, M3F1)
+ VendorLong () {0x9f,
+ 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
+ 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff,
+ 0x00, 0x01, 0x02, 0x03}
+ QWordIO (ResourceConsumer, MinFixed, MaxFixed, SubDecode, EntireRange,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ 0xff, "PATHPATHPATH", QIO1, TypeTranslation, SparseTranslation)
+ DWordIO (ResourceConsumer, MinFixed, MaxFixed, SubDecode, EntireRange,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ 0xff, "PATHPATHPATH", DIO1, TypeTranslation, SparseTranslation)
+ WordIO (ResourceConsumer, MinFixed, MaxFixed, SubDecode, EntireRange,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff,
+ 0xff, "PATHPATHPATH", WIO1, TypeTranslation, SparseTranslation)
+ QWordMemory (ResourceConsumer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadOnly,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ 0xff, "PATHPATHPATH", QME1, AddressRangeACPI, TypeTranslation)
+ DWordMemory (ResourceConsumer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadOnly,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ 0xff, "PATHPATHPATH", DME1, AddressRangeACPI, TypeTranslation)
+ WordBusNumber (ResourceConsumer, MinFixed, MaxFixed, SubDecode,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff,
+ 0xff, "PATHPATHPATH", WBN1)
+ Interrupt (ResourceConsumer, Edge, ActiveLow, Shared,
+ 0xff,
+ "!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*",
+ INT1) {
+ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
+ 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
+ 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
+ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
+ 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
+ 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,112,
+ 113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,
+ 129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,
+ 145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,
+ 161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,
+ 177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,
+ 193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,
+ 209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,
+ 225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,
+ 241,242,243,244,245,246,247,248,249,250,251,252,253,254,255}
+ Register (FFixedHW, 0xf0, 0xf1, 0xf2f3f4f5f6f7f8f9)
+ ExtendedIO (ResourceConsumer, MinFixed, MaxFixed, SubDecode, EntireRange,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ EIO1, TypeTranslation, SparseTranslation)
+ ExtendedMemory (ResourceConsumer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadOnly,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ EME1, AddressRangeACPI, TypeTranslation)
+ ExtendedSpace (0xc0, ResourceConsumer, SubDecode, MinFixed, MaxFixed, 0x5a,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ ESP1)
+ DWordSpace (0xc0, ResourceConsumer, SubDecode, MinFixed, MaxFixed, 0x5a,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ 0xff, "PATHPATHPATH", DSP1)
+ QWordSpace (0xc0, ResourceConsumer, SubDecode, MinFixed, MaxFixed, 0x5a,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ 0xff, "PATHPATHPATH", QSP1)
+ WordSpace (0xc0, ResourceConsumer, SubDecode, MinFixed, MaxFixed, 0x5a,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff,
+ 0xff, "PATHPATHPATH", WSP1)
+ },
+
+ ResourceTemplate () {
+ StartDependentFnNoPri () {
+ IRQ (Level, ActiveHigh, Exclusive, IRQ2) {0}
+ IRQNoFlags () {1}
+ }
+ StartDependentFnNoPri () {
+ IRQ (Level, ActiveHigh, Exclusive, IRQ4) {0}
+ IRQNoFlags () {1}
+ DMA (Compatibility, NotBusMaster, Transfer16, DMA4) {2}
+ }
+ StartDependentFn (0, 0) {
+ IRQ (Level, ActiveHigh, Exclusive, IRQ6) {0}
+ IRQNoFlags () {1}
+ DMA (Compatibility, NotBusMaster, Transfer16, DMA6) {2}
+ IO (Decode16, 0xf0f1, 0xf2f3, 0xf4, 0xf5)
+ }
+ StartDependentFn (0, 1) {
+ IRQ (Level, ActiveHigh, Exclusive, IRQ8) {0}
+ IRQNoFlags () {1}
+ DMA (Compatibility, NotBusMaster, Transfer16, DMA8) {2}
+ IO (Decode16, 0xf0f1, 0xf2f3, 0xf4, 0xf5, IO08)
+ FixedIO (0xf0f1, 0xf2, FIO8)
+ }
+ StartDependentFn (0, 2) {
+ IRQ (Level, ActiveHigh, Exclusive, IRQA) {0}
+ IRQNoFlags () {1}
+ DMA (Compatibility, NotBusMaster, Transfer16, DMAA) {2}
+ IO (Decode16, 0xf0f1, 0xf2f3, 0xf4, 0xf5, IO0A)
+ FixedIO (0xf0f1, 0xf2, FIOA)
+ VendorShort () {0x00, 0xa2, 0xb3, 0x76, 0xd5, 0xe6, 0xf7}
+ }
+ StartDependentFn (1, 0) {
+ IRQ (Level, ActiveHigh, Exclusive, IRQC) {0}
+ IRQNoFlags () {1}
+ DMA (Compatibility, NotBusMaster, Transfer16, DMAC) {2}
+ IO (Decode16, 0xf0f1, 0xf2f3, 0xf4, 0xf5, IO0C)
+ FixedIO (0xf0f1, 0xf2, FIOC)
+ VendorShort () {0x00, 0xa2, 0xb3, 0x76, 0xd5, 0xe6, 0xf7}
+ Memory24 (ReadWrite, 0xf0f1, 0xf2f3, 0xf4f5, 0xf6f7, M24C)
+ }
+ StartDependentFn (1, 1) {
+ IRQ (Level, ActiveHigh, Exclusive, IRQE) {0}
+ IRQNoFlags () {1}
+ DMA (Compatibility, NotBusMaster, Transfer16, DMAE) {2}
+ IO (Decode16, 0xf0f1, 0xf2f3, 0xf4, 0xf5, IO0E)
+ FixedIO (0xf0f1, 0xf2, FIOE)
+ VendorShort () {0x00, 0xa2, 0xb3, 0x76, 0xd5, 0xe6, 0xf7}
+ Memory24 (ReadWrite, 0xf0f1, 0xf2f3, 0xf4f5, 0xf6f7, M24E)
+ Memory32 (ReadWrite, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff, M32E)
+ }
+ StartDependentFn (1, 1) {
+ IRQ (Level, ActiveHigh, Exclusive, IRQG) {0}
+ IRQNoFlags () {1}
+ DMA (Compatibility, NotBusMaster, Transfer16, DMAG) {2}
+ IO (Decode16, 0xf0f1, 0xf2f3, 0xf4, 0xf5, IO0G)
+ FixedIO (0xf0f1, 0xf2, FIOG)
+ VendorShort () {0x00, 0xa2, 0xb3, 0x76, 0xd5, 0xe6, 0xf7}
+ Memory24 (ReadWrite, 0xf0f1, 0xf2f3, 0xf4f5, 0xf6f7, M24G)
+ Memory32 (ReadWrite, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff, M32G)
+ Memory32Fixed (ReadOnly, 0xf0f1f2f3, 0xf4f5f6f7, M3FG)
+ VendorLong () {0x9f,
+ 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
+ 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff,
+ 0x00, 0x01, 0x02, 0x03}
+ QWordIO (ResourceConsumer, MinFixed, MaxFixed, SubDecode, EntireRange,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ 0xff, "PATHPATHPATH", QIOG, TypeTranslation, SparseTranslation)
+ DWordIO (ResourceConsumer, MinFixed, MaxFixed, SubDecode, EntireRange,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ 0xff, "PATHPATHPATH", DIOG, TypeTranslation, SparseTranslation)
+ WordIO (ResourceConsumer, MinFixed, MaxFixed, SubDecode, EntireRange,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff,
+ 0xff, "PATHPATHPATH", WIOG, TypeTranslation, SparseTranslation)
+ QWordMemory (ResourceConsumer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadOnly,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ 0xff, "PATHPATHPATH", QMEG, AddressRangeACPI, TypeTranslation)
+ DWordMemory (ResourceConsumer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadOnly,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ 0xff, "PATHPATHPATH", DMEG, AddressRangeACPI, TypeTranslation)
+ WordBusNumber (ResourceConsumer, MinFixed, MaxFixed, SubDecode,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff,
+ 0xff, "PATHPATHPATH", WBNG)
+ Interrupt (ResourceConsumer, Edge, ActiveLow, Shared,
+ 0xff,
+ "!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*",
+ INTG) {
+ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
+ 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
+ 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
+ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
+ 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
+ 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,112,
+ 113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,
+ 129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,
+ 145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,
+ 161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,
+ 177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,
+ 193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,
+ 209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,
+ 225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,
+ 241,242,243,244,245,246,247,248,249,250,251,252,253,254,255}
+ Register (FFixedHW, 0xf0, 0xf1, 0xf2f3f4f5f6f7f8f9)
+ ExtendedIO (ResourceConsumer, MinFixed, MaxFixed, SubDecode, EntireRange,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ EIOG, TypeTranslation, SparseTranslation)
+ ExtendedMemory (ResourceConsumer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadOnly,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ EMEG, AddressRangeACPI, TypeTranslation)
+ ExtendedSpace (0xc0, ResourceConsumer, SubDecode, MinFixed, MaxFixed, 0x5a,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ ESPG)
+ DWordSpace (0xc0, ResourceConsumer, SubDecode, MinFixed, MaxFixed, 0x5a,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ 0xff, "PATHPATHPATH", DSPG)
+ QWordSpace (0xc0, ResourceConsumer, SubDecode, MinFixed, MaxFixed, 0x5a,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ 0xff, "PATHPATHPATH", QSPG)
+ WordSpace (0xc0, ResourceConsumer, SubDecode, MinFixed, MaxFixed, 0x5a,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff,
+ 0xff, "PATHPATHPATH", WSPG)
+ }
+ StartDependentFn (1, 2) {
+ IRQ (Level, ActiveHigh, Exclusive, IRQI) {0}
+ IRQNoFlags () {1}
+ DMA (Compatibility, NotBusMaster, Transfer16, DMAI) {2}
+ IO (Decode16, 0xf0f1, 0xf2f3, 0xf4, 0xf5, IO0I)
+ FixedIO (0xf0f1, 0xf2, FIOI)
+ VendorShort () {0x00, 0xa2, 0xb3, 0x76, 0xd5, 0xe6, 0xf7}
+ Memory24 (ReadWrite, 0xf0f1, 0xf2f3, 0xf4f5, 0xf6f7, M24I)
+ Memory32 (ReadWrite, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff, M32I)
+ Memory32Fixed (ReadOnly, 0xf0f1f2f3, 0xf4f5f6f7, M3FI)
+ }
+ StartDependentFn (2, 0) {}
+ StartDependentFn (2, 1) {
+ IRQ (Level, ActiveHigh, Exclusive, IRQK) {0}
+ IRQNoFlags () {1}
+ DMA (Compatibility, NotBusMaster, Transfer16, DMAK) {2}
+ IO (Decode16, 0xf0f1, 0xf2f3, 0xf4, 0xf5, IO0K)
+ FixedIO (0xf0f1, 0xf2, FIOK)
+ VendorShort () {0x00, 0xa2, 0xb3, 0x76, 0xd5, 0xe6, 0xf7}
+ Memory24 (ReadWrite, 0xf0f1, 0xf2f3, 0xf4f5, 0xf6f7, M24K)
+ Memory32 (ReadWrite, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff, M32K)
+ Memory32Fixed (ReadOnly, 0xf0f1f2f3, 0xf4f5f6f7, M3FK)
+ VendorLong () {0x9f,
+ 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
+ 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff,
+ 0x00, 0x01, 0x02, 0x03}
+ }
+ StartDependentFn (2, 2) {}
+ EndDependentFn ()
+
+ // Duplicated part
+
+ StartDependentFnNoPri () {
+ IRQ (Level, ActiveHigh, Exclusive, IRQ3) {0}
+ IRQNoFlags () {1}
+ }
+ StartDependentFnNoPri () {
+ IRQ (Level, ActiveHigh, Exclusive, IRQ5) {0}
+ IRQNoFlags () {1}
+ DMA (Compatibility, NotBusMaster, Transfer16, DMA5) {2}
+ }
+ StartDependentFn (0, 0) {
+ IRQ (Level, ActiveHigh, Exclusive, IRQ7) {0}
+ IRQNoFlags () {1}
+ DMA (Compatibility, NotBusMaster, Transfer16, DMA7) {2}
+ IO (Decode16, 0xf0f1, 0xf2f3, 0xf4, 0xf5)
+ }
+ StartDependentFn (0, 1) {
+ IRQ (Level, ActiveHigh, Exclusive, IRQ9) {0}
+ IRQNoFlags () {1}
+ DMA (Compatibility, NotBusMaster, Transfer16, DMA9) {2}
+ IO (Decode16, 0xf0f1, 0xf2f3, 0xf4, 0xf5, IO09)
+ FixedIO (0xf0f1, 0xf2, FIO9)
+ }
+ StartDependentFn (0, 2) {
+ IRQ (Level, ActiveHigh, Exclusive, IRQB) {0}
+ IRQNoFlags () {1}
+ DMA (Compatibility, NotBusMaster, Transfer16, DMAB) {2}
+ IO (Decode16, 0xf0f1, 0xf2f3, 0xf4, 0xf5, IO0B)
+ FixedIO (0xf0f1, 0xf2, FIOB)
+ VendorShort () {0x00, 0xa2, 0xb3, 0x76, 0xd5, 0xe6, 0xf7}
+ }
+ StartDependentFn (1, 0) {
+ IRQ (Level, ActiveHigh, Exclusive, IRQD) {0}
+ IRQNoFlags () {1}
+ DMA (Compatibility, NotBusMaster, Transfer16, DMAD) {2}
+ IO (Decode16, 0xf0f1, 0xf2f3, 0xf4, 0xf5, IO0D)
+ FixedIO (0xf0f1, 0xf2, FIOD)
+ VendorShort () {0x00, 0xa2, 0xb3, 0x76, 0xd5, 0xe6, 0xf7}
+ Memory24 (ReadWrite, 0xf0f1, 0xf2f3, 0xf4f5, 0xf6f7, M24D)
+ }
+ StartDependentFn (1, 1) {
+ IRQ (Level, ActiveHigh, Exclusive, IRQF) {0}
+ IRQNoFlags () {1}
+ DMA (Compatibility, NotBusMaster, Transfer16, DMAF) {2}
+ IO (Decode16, 0xf0f1, 0xf2f3, 0xf4, 0xf5, IO0F)
+ FixedIO (0xf0f1, 0xf2, FIOF)
+ VendorShort () {0x00, 0xa2, 0xb3, 0x76, 0xd5, 0xe6, 0xf7}
+ Memory24 (ReadWrite, 0xf0f1, 0xf2f3, 0xf4f5, 0xf6f7, M24F)
+ Memory32 (ReadWrite, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff, M32F)
+ }
+ StartDependentFn (1, 1) {
+ IRQ (Level, ActiveHigh, Exclusive, IRQH) {0}
+ IRQNoFlags () {1}
+ DMA (Compatibility, NotBusMaster, Transfer16, DMAH) {2}
+ IO (Decode16, 0xf0f1, 0xf2f3, 0xf4, 0xf5, IO0H)
+ FixedIO (0xf0f1, 0xf2, FIOH)
+ VendorShort () {0x00, 0xa2, 0xb3, 0x76, 0xd5, 0xe6, 0xf7}
+ Memory24 (ReadWrite, 0xf0f1, 0xf2f3, 0xf4f5, 0xf6f7, M24H)
+ Memory32 (ReadWrite, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff, M32H)
+ Memory32Fixed (ReadOnly, 0xf0f1f2f3, 0xf4f5f6f7, M3FH)
+ VendorLong () {0x9f,
+ 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
+ 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff,
+ 0x00, 0x01, 0x02, 0x03}
+ QWordIO (ResourceConsumer, MinFixed, MaxFixed, SubDecode, EntireRange,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ 0xff, "PATHPATHPATH", QIOH, TypeTranslation, SparseTranslation)
+ DWordIO (ResourceConsumer, MinFixed, MaxFixed, SubDecode, EntireRange,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ 0xff, "PATHPATHPATH", DIOH, TypeTranslation, SparseTranslation)
+ WordIO (ResourceConsumer, MinFixed, MaxFixed, SubDecode, EntireRange,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff,
+ 0xff, "PATHPATHPATH", WIOH, TypeTranslation, SparseTranslation)
+ QWordMemory (ResourceConsumer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadOnly,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ 0xff, "PATHPATHPATH", QMEH, AddressRangeACPI, TypeTranslation)
+ DWordMemory (ResourceConsumer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadOnly,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ 0xff, "PATHPATHPATH", DMEH, AddressRangeACPI, TypeTranslation)
+ WordBusNumber (ResourceConsumer, MinFixed, MaxFixed, SubDecode,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff,
+ 0xff, "PATHPATHPATH", WBNH)
+ Interrupt (ResourceConsumer, Edge, ActiveLow, Shared,
+ 0xff,
+ "!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*",
+ INTH) {
+ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
+ 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
+ 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
+ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
+ 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
+ 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,112,
+ 113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,
+ 129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,
+ 145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,
+ 161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,
+ 177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,
+ 193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,
+ 209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,
+ 225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,
+ 241,242,243,244,245,246,247,248,249,250,251,252,253,254,255}
+ Register (FFixedHW, 0xf0, 0xf1, 0xf2f3f4f5f6f7f8f9)
+ ExtendedIO (ResourceConsumer, MinFixed, MaxFixed, SubDecode, EntireRange,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ EIOH, TypeTranslation, SparseTranslation)
+ ExtendedMemory (ResourceConsumer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadOnly,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ EMEH, AddressRangeACPI, TypeTranslation)
+ ExtendedSpace (0xc0, ResourceConsumer, SubDecode, MinFixed, MaxFixed, 0x5a,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ ESPH)
+ DWordSpace (0xc0, ResourceConsumer, SubDecode, MinFixed, MaxFixed, 0x5a,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ 0xff, "PATHPATHPATH", DSPH)
+ QWordSpace (0xc0, ResourceConsumer, SubDecode, MinFixed, MaxFixed, 0x5a,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ 0xff, "PATHPATHPATH", QSPH)
+ WordSpace (0xc0, ResourceConsumer, SubDecode, MinFixed, MaxFixed, 0x5a,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff,
+ 0xff, "PATHPATHPATH", WSPH)
+ }
+ StartDependentFn (1, 2) {
+ IRQ (Level, ActiveHigh, Exclusive, IRQJ) {0}
+ IRQNoFlags () {1}
+ DMA (Compatibility, NotBusMaster, Transfer16, DMAJ) {2}
+ IO (Decode16, 0xf0f1, 0xf2f3, 0xf4, 0xf5, IO0J)
+ FixedIO (0xf0f1, 0xf2, FIOJ)
+ VendorShort () {0x00, 0xa2, 0xb3, 0x76, 0xd5, 0xe6, 0xf7}
+ Memory24 (ReadWrite, 0xf0f1, 0xf2f3, 0xf4f5, 0xf6f7, M24J)
+ Memory32 (ReadWrite, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff, M32J)
+ Memory32Fixed (ReadOnly, 0xf0f1f2f3, 0xf4f5f6f7, M3FJ)
+ }
+ StartDependentFn (2, 0) {}
+ StartDependentFn (2, 1) {
+ IRQ (Level, ActiveHigh, Exclusive, IRQL) {0}
+ IRQNoFlags () {1}
+ DMA (Compatibility, NotBusMaster, Transfer16, DMAL) {2}
+ IO (Decode16, 0xf0f1, 0xf2f3, 0xf4, 0xf5, IO0L)
+ FixedIO (0xf0f1, 0xf2, FIOL)
+ VendorShort () {0x00, 0xa2, 0xb3, 0x76, 0xd5, 0xe6, 0xf7}
+ Memory24 (ReadWrite, 0xf0f1, 0xf2f3, 0xf4f5, 0xf6f7, M24L)
+ Memory32 (ReadWrite, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff, M32L)
+ Memory32Fixed (ReadOnly, 0xf0f1f2f3, 0xf4f5f6f7, M3FL)
+ VendorLong () {0x9f,
+ 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
+ 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff,
+ 0x00, 0x01, 0x02, 0x03}
+ }
+ StartDependentFn (2, 2) {}
+ EndDependentFn ()
+ },
+})
+
+/*
+ACPI Specification, Revision 3.0, September 2, 2004
+6.4.2.8 End Tag
+
+Type 0, Small Item Name 0xF, Length = 1
+The End tag identifies an end of resource data.
+Note: If the checksum field is zero, the resource data is treated as if the checksum
+operation succeeded. Configuration proceeds normally.
+ Table 6-31 End Tag Definition
+Offset Field Name
+Byte 0 Value = 01111001B (0x79) (Type = 0, small item name = 0xF, length = 1)
+Byte 1 Checksum covering all resource data after the serial identifier. This checksum is
+ generated such that adding it to the sum of all the data bytes will produce a zero sum.
+The End Tag is automatically generated by the ASL compiler at the end of the ResourceTemplate
+statement.
+*/
+
+Name (p439, Package() {
+ Buffer () {0x79, 0x00},
+ Buffer () {0x23, 0x01, 0x00, 0x00,
+ 0x22, 0x02, 0x00,
+ 0x2a, 0x04, 0x02,
+ 0x47, 0x01, 0xf1, 0xf0, 0xf3, 0xf2, 0xf4, 0xf5,
+ 0x4b, 0xf1, 0xf0, 0xf2,
+ 0x77, 0x00, 0xa2, 0xb3, 0x76, 0xd5, 0xe6, 0xf7,
+ 0x81, 0x09, 0x00, 0x01, 0xf1, 0xf0, 0xf3, 0xf2, 0xf5, 0xf4, 0xf7, 0xf6,
+ 0x85, 0x11, 0x00, 0x01,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc,
+ 0x86, 0x09, 0x00, 0x00,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0x84, 0x15, 0x00, 0x9f,
+ 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
+ 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff,
+ 0x00, 0x01, 0x02, 0x03,
+ 0x8a, 0x39, 0x00, 0x01, 0x0f, 0x33,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00,
+ 0x87, 0x25, 0x00, 0x01, 0x0f, 0x33, 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00,
+ 0x88, 0x1b, 0x00, 0x01, 0x0f, 0x33,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00,
+ 0x8a, 0x39, 0x00, 0x00, 0x0f, 0x30,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00,
+ 0x87, 0x25, 0x00, 0x00, 0x0f, 0x30,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00,
+ 0x88, 0x1b, 0x00, 0x02, 0x0f, 0x00,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00,
+ 0x89, 0xc8, 0x04, 0x0f, 0xff,
+ 1, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 4, 0, 0, 0,
+ 5, 0, 0, 0, 6, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0,
+ 9, 0, 0, 0, 10, 0, 0, 0, 11, 0, 0, 0, 12, 0, 0, 0,
+ 13, 0, 0, 0, 14, 0, 0, 0, 15, 0, 0, 0, 16, 0, 0, 0,
+ 17, 0, 0, 0, 18, 0, 0, 0, 19, 0, 0, 0, 20, 0, 0, 0,
+ 21, 0, 0, 0, 22, 0, 0, 0, 23, 0, 0, 0, 24, 0, 0, 0,
+ 25, 0, 0, 0, 26, 0, 0, 0, 27, 0, 0, 0, 28, 0, 0, 0,
+ 29, 0, 0, 0, 30, 0, 0, 0, 31, 0, 0, 0, 32, 0, 0, 0,
+ 33, 0, 0, 0, 34, 0, 0, 0, 35, 0, 0, 0, 36, 0, 0, 0,
+ 37, 0, 0, 0, 38, 0, 0, 0, 39, 0, 0, 0, 40, 0, 0, 0,
+ 41, 0, 0, 0, 42, 0, 0, 0, 43, 0, 0, 0, 44, 0, 0, 0,
+ 45, 0, 0, 0, 46, 0, 0, 0, 47, 0, 0, 0, 48, 0, 0, 0,
+ 49, 0, 0, 0, 50, 0, 0, 0, 51, 0, 0, 0, 52, 0, 0, 0,
+ 53, 0, 0, 0, 54, 0, 0, 0, 55, 0, 0, 0, 56, 0, 0, 0,
+ 57, 0, 0, 0, 58, 0, 0, 0, 59, 0, 0, 0, 60, 0, 0, 0,
+ 61, 0, 0, 0, 62, 0, 0, 0, 63, 0, 0, 0, 64, 0, 0, 0,
+ 65, 0, 0, 0, 66, 0, 0, 0, 67, 0, 0, 0, 68, 0, 0, 0,
+ 69, 0, 0, 0, 70, 0, 0, 0, 71, 0, 0, 0, 72, 0, 0, 0,
+ 73, 0, 0, 0, 74, 0, 0, 0, 75, 0, 0, 0, 76, 0, 0, 0,
+ 77, 0, 0, 0, 78, 0, 0, 0, 79, 0, 0, 0, 80, 0, 0, 0,
+ 81, 0, 0, 0, 82, 0, 0, 0, 83, 0, 0, 0, 84, 0, 0, 0,
+ 85, 0, 0, 0, 86, 0, 0, 0, 87, 0, 0, 0, 88, 0, 0, 0,
+ 89, 0, 0, 0, 90, 0, 0, 0, 91, 0, 0, 0, 92, 0, 0, 0,
+ 93, 0, 0, 0, 94, 0, 0, 0, 95, 0, 0, 0, 96, 0, 0, 0,
+ 97, 0, 0, 0, 98, 0, 0, 0, 99, 0, 0, 0,100, 0, 0, 0,
+ 101, 0, 0, 0,102, 0, 0, 0,103, 0, 0, 0,104, 0, 0, 0,
+ 105, 0, 0, 0,106, 0, 0, 0,107, 0, 0, 0,108, 0, 0, 0,
+ 109, 0, 0, 0,110, 0, 0, 0,111, 0, 0, 0,112, 0, 0, 0,
+ 113, 0, 0, 0,114, 0, 0, 0,115, 0, 0, 0,116, 0, 0, 0,
+ 117, 0, 0, 0,118, 0, 0, 0,119, 0, 0, 0,120, 0, 0, 0,
+ 121, 0, 0, 0,122, 0, 0, 0,123, 0, 0, 0,124, 0, 0, 0,
+ 125, 0, 0, 0,126, 0, 0, 0,127, 0, 0, 0,128, 0, 0, 0,
+ 129, 0, 0, 0,130, 0, 0, 0,131, 0, 0, 0,132, 0, 0, 0,
+ 133, 0, 0, 0,134, 0, 0, 0,135, 0, 0, 0,136, 0, 0, 0,
+ 137, 0, 0, 0,138, 0, 0, 0,139, 0, 0, 0,140, 0, 0, 0,
+ 141, 0, 0, 0,142, 0, 0, 0,143, 0, 0, 0,144, 0, 0, 0,
+ 145, 0, 0, 0,146, 0, 0, 0,147, 0, 0, 0,148, 0, 0, 0,
+ 149, 0, 0, 0,150, 0, 0, 0,151, 0, 0, 0,152, 0, 0, 0,
+ 153, 0, 0, 0,154, 0, 0, 0,155, 0, 0, 0,156, 0, 0, 0,
+ 157, 0, 0, 0,158, 0, 0, 0,159, 0, 0, 0,160, 0, 0, 0,
+ 161, 0, 0, 0,162, 0, 0, 0,163, 0, 0, 0,164, 0, 0, 0,
+ 165, 0, 0, 0,166, 0, 0, 0,167, 0, 0, 0,168, 0, 0, 0,
+ 169, 0, 0, 0,170, 0, 0, 0,171, 0, 0, 0,172, 0, 0, 0,
+ 173, 0, 0, 0,174, 0, 0, 0,175, 0, 0, 0,176, 0, 0, 0,
+ 177, 0, 0, 0,178, 0, 0, 0,179, 0, 0, 0,180, 0, 0, 0,
+ 181, 0, 0, 0,182, 0, 0, 0,183, 0, 0, 0,184, 0, 0, 0,
+ 185, 0, 0, 0,186, 0, 0, 0,187, 0, 0, 0,188, 0, 0, 0,
+ 189, 0, 0, 0,190, 0, 0, 0,191, 0, 0, 0,192, 0, 0, 0,
+ 193, 0, 0, 0,194, 0, 0, 0,195, 0, 0, 0,196, 0, 0, 0,
+ 197, 0, 0, 0,198, 0, 0, 0,199, 0, 0, 0,200, 0, 0, 0,
+ 201, 0, 0, 0,202, 0, 0, 0,203, 0, 0, 0,204, 0, 0, 0,
+ 205, 0, 0, 0,206, 0, 0, 0,207, 0, 0, 0,208, 0, 0, 0,
+ 209, 0, 0, 0,210, 0, 0, 0,211, 0, 0, 0,212, 0, 0, 0,
+ 213, 0, 0, 0,214, 0, 0, 0,215, 0, 0, 0,216, 0, 0, 0,
+ 217, 0, 0, 0,218, 0, 0, 0,219, 0, 0, 0,220, 0, 0, 0,
+ 221, 0, 0, 0,222, 0, 0, 0,223, 0, 0, 0,224, 0, 0, 0,
+ 225, 0, 0, 0,226, 0, 0, 0,227, 0, 0, 0,228, 0, 0, 0,
+ 229, 0, 0, 0,230, 0, 0, 0,231, 0, 0, 0,232, 0, 0, 0,
+ 233, 0, 0, 0,234, 0, 0, 0,235, 0, 0, 0,236, 0, 0, 0,
+ 237, 0, 0, 0,238, 0, 0, 0,239, 0, 0, 0,240, 0, 0, 0,
+ 241, 0, 0, 0,242, 0, 0, 0,243, 0, 0, 0,244, 0, 0, 0,
+ 245, 0, 0, 0,246, 0, 0, 0,247, 0, 0, 0,248, 0, 0, 0,
+ 249, 0, 0, 0,250, 0, 0, 0,251, 0, 0, 0,252, 0, 0, 0,
+ 253, 0, 0, 0,254, 0, 0, 0,255, 0, 0, 0,
+ 0xff,
+ 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28,
+ 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30,
+ 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
+ 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40,
+ 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48,
+ 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50,
+ 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58,
+ 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0x60,
+ 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
+ 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
+ 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
+ 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x20, 0x21,
+ 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29,
+ 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30, 0x31,
+ 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39,
+ 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41,
+ 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49,
+ 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51,
+ 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59,
+ 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0x60, 0x61,
+ 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69,
+ 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70, 0x71,
+ 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79,
+ 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x20, 0x21, 0x22,
+ 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a,
+ 0x00,
+ 0x82, 0x0c, 0x00, 0x7f, 0xf0, 0xf1, 0x00,
+ 0xf9, 0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2,
+ 0x8b, 0x35, 0x00, 0x01, 0x0f, 0x33, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8,
+ 0x8b, 0x35, 0x00, 0x00, 0x0f, 0x30, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8,
+ 0x8b, 0x35, 0x00, 0xc0, 0x0f, 0x5a, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8,
+ 0x87, 0x25, 0x00, 0xc0, 0x0f, 0x5a,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00,
+ 0x8a, 0x39, 0x00, 0xc0, 0x0f, 0x5a,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00,
+ 0x88, 0x1b, 0x00, 0xc0, 0x0f, 0x5a,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00,
+ 0x79, 0x00},
+ Buffer () {
+ 0x30,
+ 0x23, 0x01, 0x00, 0x00,
+ 0x22, 0x02, 0x00,
+ 0x30,
+ 0x23, 0x01, 0x00, 0x00,
+ 0x22, 0x02, 0x00,
+ 0x2a, 0x04, 0x02,
+ 0x31, 0x00,
+ 0x23, 0x01, 0x00, 0x00,
+ 0x22, 0x02, 0x00,
+ 0x2a, 0x04, 0x02,
+ 0x47, 0x01, 0xf1, 0xf0, 0xf3, 0xf2, 0xf4, 0xf5,
+ 0x31, 0x04,
+ 0x23, 0x01, 0x00, 0x00,
+ 0x22, 0x02, 0x00,
+ 0x2a, 0x04, 0x02,
+ 0x47, 0x01, 0xf1, 0xf0, 0xf3, 0xf2, 0xf4, 0xf5,
+ 0x4b, 0xf1, 0xf0, 0xf2,
+ 0x31, 0x08,
+ 0x23, 0x01, 0x00, 0x00,
+ 0x22, 0x02, 0x00,
+ 0x2a, 0x04, 0x02,
+ 0x47, 0x01, 0xf1, 0xf0, 0xf3, 0xf2, 0xf4, 0xf5,
+ 0x4b, 0xf1, 0xf0, 0xf2,
+ 0x77, 0x00, 0xa2, 0xb3, 0x76, 0xd5, 0xe6, 0xf7,
+ 0x31, 0x01,
+ 0x23, 0x01, 0x00, 0x00,
+ 0x22, 0x02, 0x00,
+ 0x2a, 0x04, 0x02,
+ 0x47, 0x01, 0xf1, 0xf0, 0xf3, 0xf2, 0xf4, 0xf5,
+ 0x4b, 0xf1, 0xf0, 0xf2,
+ 0x77, 0x00, 0xa2, 0xb3, 0x76, 0xd5, 0xe6, 0xf7,
+ 0x81, 0x09, 0x00, 0x01, 0xf1, 0xf0, 0xf3, 0xf2, 0xf5, 0xf4, 0xf7, 0xf6,
+ 0x31, 0x05,
+ 0x23, 0x01, 0x00, 0x00,
+ 0x22, 0x02, 0x00,
+ 0x2a, 0x04, 0x02,
+ 0x47, 0x01, 0xf1, 0xf0, 0xf3, 0xf2, 0xf4, 0xf5,
+ 0x4b, 0xf1, 0xf0, 0xf2,
+ 0x77, 0x00, 0xa2, 0xb3, 0x76, 0xd5, 0xe6, 0xf7,
+ 0x81, 0x09, 0x00, 0x01, 0xf1, 0xf0, 0xf3, 0xf2, 0xf5, 0xf4, 0xf7, 0xf6,
+ 0x85, 0x11, 0x00, 0x01,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc,
+ 0x31, 0x05,
+ 0x23, 0x01, 0x00, 0x00,
+ 0x22, 0x02, 0x00,
+ 0x2a, 0x04, 0x02,
+ 0x47, 0x01, 0xf1, 0xf0, 0xf3, 0xf2, 0xf4, 0xf5,
+ 0x4b, 0xf1, 0xf0, 0xf2,
+ 0x77, 0x00, 0xa2, 0xb3, 0x76, 0xd5, 0xe6, 0xf7,
+ 0x81, 0x09, 0x00, 0x01, 0xf1, 0xf0, 0xf3, 0xf2, 0xf5, 0xf4, 0xf7, 0xf6,
+ 0x85, 0x11, 0x00, 0x01,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc,
+ 0x86, 0x09, 0x00, 0x00,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0x84, 0x15, 0x00, 0x9f,
+ 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
+ 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff,
+ 0x00, 0x01, 0x02, 0x03,
+ 0x8a, 0x39, 0x00, 0x01, 0x0f, 0x33,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00,
+ 0x87, 0x25, 0x00, 0x01, 0x0f, 0x33, 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00,
+ 0x88, 0x1b, 0x00, 0x01, 0x0f, 0x33,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00,
+ 0x8a, 0x39, 0x00, 0x00, 0x0f, 0x30,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00,
+ 0x87, 0x25, 0x00, 0x00, 0x0f, 0x30,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00,
+ 0x88, 0x1b, 0x00, 0x02, 0x0f, 0x00,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00,
+ 0x89, 0xc8, 0x04, 0x0f, 0xff,
+ 1, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 4, 0, 0, 0,
+ 5, 0, 0, 0, 6, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0,
+ 9, 0, 0, 0, 10, 0, 0, 0, 11, 0, 0, 0, 12, 0, 0, 0,
+ 13, 0, 0, 0, 14, 0, 0, 0, 15, 0, 0, 0, 16, 0, 0, 0,
+ 17, 0, 0, 0, 18, 0, 0, 0, 19, 0, 0, 0, 20, 0, 0, 0,
+ 21, 0, 0, 0, 22, 0, 0, 0, 23, 0, 0, 0, 24, 0, 0, 0,
+ 25, 0, 0, 0, 26, 0, 0, 0, 27, 0, 0, 0, 28, 0, 0, 0,
+ 29, 0, 0, 0, 30, 0, 0, 0, 31, 0, 0, 0, 32, 0, 0, 0,
+ 33, 0, 0, 0, 34, 0, 0, 0, 35, 0, 0, 0, 36, 0, 0, 0,
+ 37, 0, 0, 0, 38, 0, 0, 0, 39, 0, 0, 0, 40, 0, 0, 0,
+ 41, 0, 0, 0, 42, 0, 0, 0, 43, 0, 0, 0, 44, 0, 0, 0,
+ 45, 0, 0, 0, 46, 0, 0, 0, 47, 0, 0, 0, 48, 0, 0, 0,
+ 49, 0, 0, 0, 50, 0, 0, 0, 51, 0, 0, 0, 52, 0, 0, 0,
+ 53, 0, 0, 0, 54, 0, 0, 0, 55, 0, 0, 0, 56, 0, 0, 0,
+ 57, 0, 0, 0, 58, 0, 0, 0, 59, 0, 0, 0, 60, 0, 0, 0,
+ 61, 0, 0, 0, 62, 0, 0, 0, 63, 0, 0, 0, 64, 0, 0, 0,
+ 65, 0, 0, 0, 66, 0, 0, 0, 67, 0, 0, 0, 68, 0, 0, 0,
+ 69, 0, 0, 0, 70, 0, 0, 0, 71, 0, 0, 0, 72, 0, 0, 0,
+ 73, 0, 0, 0, 74, 0, 0, 0, 75, 0, 0, 0, 76, 0, 0, 0,
+ 77, 0, 0, 0, 78, 0, 0, 0, 79, 0, 0, 0, 80, 0, 0, 0,
+ 81, 0, 0, 0, 82, 0, 0, 0, 83, 0, 0, 0, 84, 0, 0, 0,
+ 85, 0, 0, 0, 86, 0, 0, 0, 87, 0, 0, 0, 88, 0, 0, 0,
+ 89, 0, 0, 0, 90, 0, 0, 0, 91, 0, 0, 0, 92, 0, 0, 0,
+ 93, 0, 0, 0, 94, 0, 0, 0, 95, 0, 0, 0, 96, 0, 0, 0,
+ 97, 0, 0, 0, 98, 0, 0, 0, 99, 0, 0, 0,100, 0, 0, 0,
+ 101, 0, 0, 0,102, 0, 0, 0,103, 0, 0, 0,104, 0, 0, 0,
+ 105, 0, 0, 0,106, 0, 0, 0,107, 0, 0, 0,108, 0, 0, 0,
+ 109, 0, 0, 0,110, 0, 0, 0,111, 0, 0, 0,112, 0, 0, 0,
+ 113, 0, 0, 0,114, 0, 0, 0,115, 0, 0, 0,116, 0, 0, 0,
+ 117, 0, 0, 0,118, 0, 0, 0,119, 0, 0, 0,120, 0, 0, 0,
+ 121, 0, 0, 0,122, 0, 0, 0,123, 0, 0, 0,124, 0, 0, 0,
+ 125, 0, 0, 0,126, 0, 0, 0,127, 0, 0, 0,128, 0, 0, 0,
+ 129, 0, 0, 0,130, 0, 0, 0,131, 0, 0, 0,132, 0, 0, 0,
+ 133, 0, 0, 0,134, 0, 0, 0,135, 0, 0, 0,136, 0, 0, 0,
+ 137, 0, 0, 0,138, 0, 0, 0,139, 0, 0, 0,140, 0, 0, 0,
+ 141, 0, 0, 0,142, 0, 0, 0,143, 0, 0, 0,144, 0, 0, 0,
+ 145, 0, 0, 0,146, 0, 0, 0,147, 0, 0, 0,148, 0, 0, 0,
+ 149, 0, 0, 0,150, 0, 0, 0,151, 0, 0, 0,152, 0, 0, 0,
+ 153, 0, 0, 0,154, 0, 0, 0,155, 0, 0, 0,156, 0, 0, 0,
+ 157, 0, 0, 0,158, 0, 0, 0,159, 0, 0, 0,160, 0, 0, 0,
+ 161, 0, 0, 0,162, 0, 0, 0,163, 0, 0, 0,164, 0, 0, 0,
+ 165, 0, 0, 0,166, 0, 0, 0,167, 0, 0, 0,168, 0, 0, 0,
+ 169, 0, 0, 0,170, 0, 0, 0,171, 0, 0, 0,172, 0, 0, 0,
+ 173, 0, 0, 0,174, 0, 0, 0,175, 0, 0, 0,176, 0, 0, 0,
+ 177, 0, 0, 0,178, 0, 0, 0,179, 0, 0, 0,180, 0, 0, 0,
+ 181, 0, 0, 0,182, 0, 0, 0,183, 0, 0, 0,184, 0, 0, 0,
+ 185, 0, 0, 0,186, 0, 0, 0,187, 0, 0, 0,188, 0, 0, 0,
+ 189, 0, 0, 0,190, 0, 0, 0,191, 0, 0, 0,192, 0, 0, 0,
+ 193, 0, 0, 0,194, 0, 0, 0,195, 0, 0, 0,196, 0, 0, 0,
+ 197, 0, 0, 0,198, 0, 0, 0,199, 0, 0, 0,200, 0, 0, 0,
+ 201, 0, 0, 0,202, 0, 0, 0,203, 0, 0, 0,204, 0, 0, 0,
+ 205, 0, 0, 0,206, 0, 0, 0,207, 0, 0, 0,208, 0, 0, 0,
+ 209, 0, 0, 0,210, 0, 0, 0,211, 0, 0, 0,212, 0, 0, 0,
+ 213, 0, 0, 0,214, 0, 0, 0,215, 0, 0, 0,216, 0, 0, 0,
+ 217, 0, 0, 0,218, 0, 0, 0,219, 0, 0, 0,220, 0, 0, 0,
+ 221, 0, 0, 0,222, 0, 0, 0,223, 0, 0, 0,224, 0, 0, 0,
+ 225, 0, 0, 0,226, 0, 0, 0,227, 0, 0, 0,228, 0, 0, 0,
+ 229, 0, 0, 0,230, 0, 0, 0,231, 0, 0, 0,232, 0, 0, 0,
+ 233, 0, 0, 0,234, 0, 0, 0,235, 0, 0, 0,236, 0, 0, 0,
+ 237, 0, 0, 0,238, 0, 0, 0,239, 0, 0, 0,240, 0, 0, 0,
+ 241, 0, 0, 0,242, 0, 0, 0,243, 0, 0, 0,244, 0, 0, 0,
+ 245, 0, 0, 0,246, 0, 0, 0,247, 0, 0, 0,248, 0, 0, 0,
+ 249, 0, 0, 0,250, 0, 0, 0,251, 0, 0, 0,252, 0, 0, 0,
+ 253, 0, 0, 0,254, 0, 0, 0,255, 0, 0, 0,
+ 0xff,
+ 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28,
+ 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30,
+ 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
+ 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40,
+ 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48,
+ 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50,
+ 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58,
+ 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0x60,
+ 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
+ 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
+ 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
+ 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x20, 0x21,
+ 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29,
+ 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30, 0x31,
+ 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39,
+ 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41,
+ 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49,
+ 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51,
+ 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59,
+ 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0x60, 0x61,
+ 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69,
+ 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70, 0x71,
+ 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79,
+ 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x20, 0x21, 0x22,
+ 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a,
+ 0x00,
+ 0x82, 0x0c, 0x00, 0x7f, 0xf0, 0xf1, 0x00,
+ 0xf9, 0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2,
+ 0x8b, 0x35, 0x00, 0x01, 0x0f, 0x33, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8,
+ 0x8b, 0x35, 0x00, 0x00, 0x0f, 0x30, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8,
+ 0x8b, 0x35, 0x00, 0xc0, 0x0f, 0x5a, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8,
+ 0x87, 0x25, 0x00, 0xc0, 0x0f, 0x5a,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00,
+ 0x8a, 0x39, 0x00, 0xc0, 0x0f, 0x5a,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00,
+ 0x88, 0x1b, 0x00, 0xc0, 0x0f, 0x5a,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00,
+ 0x31, 0x09,
+ 0x23, 0x01, 0x00, 0x00,
+ 0x22, 0x02, 0x00,
+ 0x2a, 0x04, 0x02,
+ 0x47, 0x01, 0xf1, 0xf0, 0xf3, 0xf2, 0xf4, 0xf5,
+ 0x4b, 0xf1, 0xf0, 0xf2,
+ 0x77, 0x00, 0xa2, 0xb3, 0x76, 0xd5, 0xe6, 0xf7,
+ 0x81, 0x09, 0x00, 0x01, 0xf1, 0xf0, 0xf3, 0xf2, 0xf5, 0xf4, 0xf7, 0xf6,
+ 0x85, 0x11, 0x00, 0x01,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc,
+ 0x86, 0x09, 0x00, 0x00,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0x31, 0x02,
+ 0x31, 0x06,
+ 0x23, 0x01, 0x00, 0x00,
+ 0x22, 0x02, 0x00,
+ 0x2a, 0x04, 0x02,
+ 0x47, 0x01, 0xf1, 0xf0, 0xf3, 0xf2, 0xf4, 0xf5,
+ 0x4b, 0xf1, 0xf0, 0xf2,
+ 0x77, 0x00, 0xa2, 0xb3, 0x76, 0xd5, 0xe6, 0xf7,
+ 0x81, 0x09, 0x00, 0x01, 0xf1, 0xf0, 0xf3, 0xf2, 0xf5, 0xf4, 0xf7, 0xf6,
+ 0x85, 0x11, 0x00, 0x01,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc,
+ 0x86, 0x09, 0x00, 0x00,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0x84, 0x15, 0x00, 0x9f,
+ 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
+ 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff,
+ 0x00, 0x01, 0x02, 0x03,
+ 0x31, 0x0a,
+ 0x38,
+ 0x79, 0x00},
+})
+
+// Complex test data
+
+Name (p446, Package() {
+ Buffer () {0x23, 0x01, 0x00, 0x00,
+ 0x22, 0x02, 0x00,
+ 0x2a, 0x04, 0x02,
+ 0x47, 0x01, 0xf1, 0xf0, 0xf3, 0xf2, 0xf4, 0xf5,
+ 0x4b, 0xf1, 0xf0, 0xf2,
+ 0x77, 0x00, 0xa2, 0xb3, 0x76, 0xd5, 0xe6, 0xf7,
+ 0x81, 0x09, 0x00, 0x01, 0xf1, 0xf0, 0xf3, 0xf2, 0xf5, 0xf4, 0xf7, 0xf6,
+ 0x85, 0x11, 0x00, 0x01,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc,
+ 0x86, 0x09, 0x00, 0x00,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0x84, 0x15, 0x00, 0x9f,
+ 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
+ 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff,
+ 0x00, 0x01, 0x02, 0x03,
+ 0x8a, 0x39, 0x00, 0x01, 0x0f, 0x33,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00,
+ 0x87, 0x25, 0x00, 0x01, 0x0f, 0x33, 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00,
+ 0x88, 0x1b, 0x00, 0x01, 0x0f, 0x33,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00,
+ 0x8a, 0x39, 0x00, 0x00, 0x0f, 0x30,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00,
+ 0x87, 0x25, 0x00, 0x00, 0x0f, 0x30,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00,
+ 0x88, 0x1b, 0x00, 0x02, 0x0f, 0x00,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00,
+ 0x89, 0xc8, 0x04, 0x0f, 0xff,
+ 1, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 4, 0, 0, 0,
+ 5, 0, 0, 0, 6, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0,
+ 9, 0, 0, 0, 10, 0, 0, 0, 11, 0, 0, 0, 12, 0, 0, 0,
+ 13, 0, 0, 0, 14, 0, 0, 0, 15, 0, 0, 0, 16, 0, 0, 0,
+ 17, 0, 0, 0, 18, 0, 0, 0, 19, 0, 0, 0, 20, 0, 0, 0,
+ 21, 0, 0, 0, 22, 0, 0, 0, 23, 0, 0, 0, 24, 0, 0, 0,
+ 25, 0, 0, 0, 26, 0, 0, 0, 27, 0, 0, 0, 28, 0, 0, 0,
+ 29, 0, 0, 0, 30, 0, 0, 0, 31, 0, 0, 0, 32, 0, 0, 0,
+ 33, 0, 0, 0, 34, 0, 0, 0, 35, 0, 0, 0, 36, 0, 0, 0,
+ 37, 0, 0, 0, 38, 0, 0, 0, 39, 0, 0, 0, 40, 0, 0, 0,
+ 41, 0, 0, 0, 42, 0, 0, 0, 43, 0, 0, 0, 44, 0, 0, 0,
+ 45, 0, 0, 0, 46, 0, 0, 0, 47, 0, 0, 0, 48, 0, 0, 0,
+ 49, 0, 0, 0, 50, 0, 0, 0, 51, 0, 0, 0, 52, 0, 0, 0,
+ 53, 0, 0, 0, 54, 0, 0, 0, 55, 0, 0, 0, 56, 0, 0, 0,
+ 57, 0, 0, 0, 58, 0, 0, 0, 59, 0, 0, 0, 60, 0, 0, 0,
+ 61, 0, 0, 0, 62, 0, 0, 0, 63, 0, 0, 0, 64, 0, 0, 0,
+ 65, 0, 0, 0, 66, 0, 0, 0, 67, 0, 0, 0, 68, 0, 0, 0,
+ 69, 0, 0, 0, 70, 0, 0, 0, 71, 0, 0, 0, 72, 0, 0, 0,
+ 73, 0, 0, 0, 74, 0, 0, 0, 75, 0, 0, 0, 76, 0, 0, 0,
+ 77, 0, 0, 0, 78, 0, 0, 0, 79, 0, 0, 0, 80, 0, 0, 0,
+ 81, 0, 0, 0, 82, 0, 0, 0, 83, 0, 0, 0, 84, 0, 0, 0,
+ 85, 0, 0, 0, 86, 0, 0, 0, 87, 0, 0, 0, 88, 0, 0, 0,
+ 89, 0, 0, 0, 90, 0, 0, 0, 91, 0, 0, 0, 92, 0, 0, 0,
+ 93, 0, 0, 0, 94, 0, 0, 0, 95, 0, 0, 0, 96, 0, 0, 0,
+ 97, 0, 0, 0, 98, 0, 0, 0, 99, 0, 0, 0,100, 0, 0, 0,
+ 101, 0, 0, 0,102, 0, 0, 0,103, 0, 0, 0,104, 0, 0, 0,
+ 105, 0, 0, 0,106, 0, 0, 0,107, 0, 0, 0,108, 0, 0, 0,
+ 109, 0, 0, 0,110, 0, 0, 0,111, 0, 0, 0,112, 0, 0, 0,
+ 113, 0, 0, 0,114, 0, 0, 0,115, 0, 0, 0,116, 0, 0, 0,
+ 117, 0, 0, 0,118, 0, 0, 0,119, 0, 0, 0,120, 0, 0, 0,
+ 121, 0, 0, 0,122, 0, 0, 0,123, 0, 0, 0,124, 0, 0, 0,
+ 125, 0, 0, 0,126, 0, 0, 0,127, 0, 0, 0,128, 0, 0, 0,
+ 129, 0, 0, 0,130, 0, 0, 0,131, 0, 0, 0,132, 0, 0, 0,
+ 133, 0, 0, 0,134, 0, 0, 0,135, 0, 0, 0,136, 0, 0, 0,
+ 137, 0, 0, 0,138, 0, 0, 0,139, 0, 0, 0,140, 0, 0, 0,
+ 141, 0, 0, 0,142, 0, 0, 0,143, 0, 0, 0,144, 0, 0, 0,
+ 145, 0, 0, 0,146, 0, 0, 0,147, 0, 0, 0,148, 0, 0, 0,
+ 149, 0, 0, 0,150, 0, 0, 0,151, 0, 0, 0,152, 0, 0, 0,
+ 153, 0, 0, 0,154, 0, 0, 0,155, 0, 0, 0,156, 0, 0, 0,
+ 157, 0, 0, 0,158, 0, 0, 0,159, 0, 0, 0,160, 0, 0, 0,
+ 161, 0, 0, 0,162, 0, 0, 0,163, 0, 0, 0,164, 0, 0, 0,
+ 165, 0, 0, 0,166, 0, 0, 0,167, 0, 0, 0,168, 0, 0, 0,
+ 169, 0, 0, 0,170, 0, 0, 0,171, 0, 0, 0,172, 0, 0, 0,
+ 173, 0, 0, 0,174, 0, 0, 0,175, 0, 0, 0,176, 0, 0, 0,
+ 177, 0, 0, 0,178, 0, 0, 0,179, 0, 0, 0,180, 0, 0, 0,
+ 181, 0, 0, 0,182, 0, 0, 0,183, 0, 0, 0,184, 0, 0, 0,
+ 185, 0, 0, 0,186, 0, 0, 0,187, 0, 0, 0,188, 0, 0, 0,
+ 189, 0, 0, 0,190, 0, 0, 0,191, 0, 0, 0,192, 0, 0, 0,
+ 193, 0, 0, 0,194, 0, 0, 0,195, 0, 0, 0,196, 0, 0, 0,
+ 197, 0, 0, 0,198, 0, 0, 0,199, 0, 0, 0,200, 0, 0, 0,
+ 201, 0, 0, 0,202, 0, 0, 0,203, 0, 0, 0,204, 0, 0, 0,
+ 205, 0, 0, 0,206, 0, 0, 0,207, 0, 0, 0,208, 0, 0, 0,
+ 209, 0, 0, 0,210, 0, 0, 0,211, 0, 0, 0,212, 0, 0, 0,
+ 213, 0, 0, 0,214, 0, 0, 0,215, 0, 0, 0,216, 0, 0, 0,
+ 217, 0, 0, 0,218, 0, 0, 0,219, 0, 0, 0,220, 0, 0, 0,
+ 221, 0, 0, 0,222, 0, 0, 0,223, 0, 0, 0,224, 0, 0, 0,
+ 225, 0, 0, 0,226, 0, 0, 0,227, 0, 0, 0,228, 0, 0, 0,
+ 229, 0, 0, 0,230, 0, 0, 0,231, 0, 0, 0,232, 0, 0, 0,
+ 233, 0, 0, 0,234, 0, 0, 0,235, 0, 0, 0,236, 0, 0, 0,
+ 237, 0, 0, 0,238, 0, 0, 0,239, 0, 0, 0,240, 0, 0, 0,
+ 241, 0, 0, 0,242, 0, 0, 0,243, 0, 0, 0,244, 0, 0, 0,
+ 245, 0, 0, 0,246, 0, 0, 0,247, 0, 0, 0,248, 0, 0, 0,
+ 249, 0, 0, 0,250, 0, 0, 0,251, 0, 0, 0,252, 0, 0, 0,
+ 253, 0, 0, 0,254, 0, 0, 0,255, 0, 0, 0,
+ 0xff,
+ 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28,
+ 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30,
+ 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
+ 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40,
+ 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48,
+ 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50,
+ 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58,
+ 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0x60,
+ 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
+ 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
+ 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
+ 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x20, 0x21,
+ 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29,
+ 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30, 0x31,
+ 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39,
+ 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41,
+ 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49,
+ 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51,
+ 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59,
+ 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0x60, 0x61,
+ 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69,
+ 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70, 0x71,
+ 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79,
+ 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x20, 0x21, 0x22,
+ 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a,
+ 0x00,
+ 0x82, 0x0c, 0x00, 0x7f, 0xf0, 0xf1, 0x00,
+ 0xf9, 0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2,
+ 0x8b, 0x35, 0x00, 0x01, 0x0f, 0x33, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8,
+ 0x8b, 0x35, 0x00, 0x00, 0x0f, 0x30, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8,
+ 0x8b, 0x35, 0x00, 0xc0, 0x0f, 0x5a, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8,
+ 0x87, 0x25, 0x00, 0xc0, 0x0f, 0x5a,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00,
+ 0x8a, 0x39, 0x00, 0xc0, 0x0f, 0x5a,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00,
+ 0x88, 0x1b, 0x00, 0xc0, 0x0f, 0x5a,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00,
+ 0x23, 0x01, 0x00, 0x00,
+ 0x22, 0x02, 0x00,
+ 0x2a, 0x04, 0x02,
+ 0x47, 0x01, 0xf1, 0xf0, 0xf3, 0xf2, 0xf4, 0xf5,
+ 0x4b, 0xf1, 0xf0, 0xf2,
+ 0x77, 0x00, 0xa2, 0xb3, 0x76, 0xd5, 0xe6, 0xf7,
+ 0x81, 0x09, 0x00, 0x01, 0xf1, 0xf0, 0xf3, 0xf2, 0xf5, 0xf4, 0xf7, 0xf6,
+ 0x85, 0x11, 0x00, 0x01,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc,
+ 0x86, 0x09, 0x00, 0x00,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0x84, 0x15, 0x00, 0x9f,
+ 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
+ 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff,
+ 0x00, 0x01, 0x02, 0x03,
+ 0x8a, 0x39, 0x00, 0x01, 0x0f, 0x33,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00,
+ 0x87, 0x25, 0x00, 0x01, 0x0f, 0x33, 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00,
+ 0x88, 0x1b, 0x00, 0x01, 0x0f, 0x33,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00,
+ 0x8a, 0x39, 0x00, 0x00, 0x0f, 0x30,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00,
+ 0x87, 0x25, 0x00, 0x00, 0x0f, 0x30,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00,
+ 0x88, 0x1b, 0x00, 0x02, 0x0f, 0x00,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00,
+ 0x89, 0xc8, 0x04, 0x0f, 0xff,
+ 1, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 4, 0, 0, 0,
+ 5, 0, 0, 0, 6, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0,
+ 9, 0, 0, 0, 10, 0, 0, 0, 11, 0, 0, 0, 12, 0, 0, 0,
+ 13, 0, 0, 0, 14, 0, 0, 0, 15, 0, 0, 0, 16, 0, 0, 0,
+ 17, 0, 0, 0, 18, 0, 0, 0, 19, 0, 0, 0, 20, 0, 0, 0,
+ 21, 0, 0, 0, 22, 0, 0, 0, 23, 0, 0, 0, 24, 0, 0, 0,
+ 25, 0, 0, 0, 26, 0, 0, 0, 27, 0, 0, 0, 28, 0, 0, 0,
+ 29, 0, 0, 0, 30, 0, 0, 0, 31, 0, 0, 0, 32, 0, 0, 0,
+ 33, 0, 0, 0, 34, 0, 0, 0, 35, 0, 0, 0, 36, 0, 0, 0,
+ 37, 0, 0, 0, 38, 0, 0, 0, 39, 0, 0, 0, 40, 0, 0, 0,
+ 41, 0, 0, 0, 42, 0, 0, 0, 43, 0, 0, 0, 44, 0, 0, 0,
+ 45, 0, 0, 0, 46, 0, 0, 0, 47, 0, 0, 0, 48, 0, 0, 0,
+ 49, 0, 0, 0, 50, 0, 0, 0, 51, 0, 0, 0, 52, 0, 0, 0,
+ 53, 0, 0, 0, 54, 0, 0, 0, 55, 0, 0, 0, 56, 0, 0, 0,
+ 57, 0, 0, 0, 58, 0, 0, 0, 59, 0, 0, 0, 60, 0, 0, 0,
+ 61, 0, 0, 0, 62, 0, 0, 0, 63, 0, 0, 0, 64, 0, 0, 0,
+ 65, 0, 0, 0, 66, 0, 0, 0, 67, 0, 0, 0, 68, 0, 0, 0,
+ 69, 0, 0, 0, 70, 0, 0, 0, 71, 0, 0, 0, 72, 0, 0, 0,
+ 73, 0, 0, 0, 74, 0, 0, 0, 75, 0, 0, 0, 76, 0, 0, 0,
+ 77, 0, 0, 0, 78, 0, 0, 0, 79, 0, 0, 0, 80, 0, 0, 0,
+ 81, 0, 0, 0, 82, 0, 0, 0, 83, 0, 0, 0, 84, 0, 0, 0,
+ 85, 0, 0, 0, 86, 0, 0, 0, 87, 0, 0, 0, 88, 0, 0, 0,
+ 89, 0, 0, 0, 90, 0, 0, 0, 91, 0, 0, 0, 92, 0, 0, 0,
+ 93, 0, 0, 0, 94, 0, 0, 0, 95, 0, 0, 0, 96, 0, 0, 0,
+ 97, 0, 0, 0, 98, 0, 0, 0, 99, 0, 0, 0,100, 0, 0, 0,
+ 101, 0, 0, 0,102, 0, 0, 0,103, 0, 0, 0,104, 0, 0, 0,
+ 105, 0, 0, 0,106, 0, 0, 0,107, 0, 0, 0,108, 0, 0, 0,
+ 109, 0, 0, 0,110, 0, 0, 0,111, 0, 0, 0,112, 0, 0, 0,
+ 113, 0, 0, 0,114, 0, 0, 0,115, 0, 0, 0,116, 0, 0, 0,
+ 117, 0, 0, 0,118, 0, 0, 0,119, 0, 0, 0,120, 0, 0, 0,
+ 121, 0, 0, 0,122, 0, 0, 0,123, 0, 0, 0,124, 0, 0, 0,
+ 125, 0, 0, 0,126, 0, 0, 0,127, 0, 0, 0,128, 0, 0, 0,
+ 129, 0, 0, 0,130, 0, 0, 0,131, 0, 0, 0,132, 0, 0, 0,
+ 133, 0, 0, 0,134, 0, 0, 0,135, 0, 0, 0,136, 0, 0, 0,
+ 137, 0, 0, 0,138, 0, 0, 0,139, 0, 0, 0,140, 0, 0, 0,
+ 141, 0, 0, 0,142, 0, 0, 0,143, 0, 0, 0,144, 0, 0, 0,
+ 145, 0, 0, 0,146, 0, 0, 0,147, 0, 0, 0,148, 0, 0, 0,
+ 149, 0, 0, 0,150, 0, 0, 0,151, 0, 0, 0,152, 0, 0, 0,
+ 153, 0, 0, 0,154, 0, 0, 0,155, 0, 0, 0,156, 0, 0, 0,
+ 157, 0, 0, 0,158, 0, 0, 0,159, 0, 0, 0,160, 0, 0, 0,
+ 161, 0, 0, 0,162, 0, 0, 0,163, 0, 0, 0,164, 0, 0, 0,
+ 165, 0, 0, 0,166, 0, 0, 0,167, 0, 0, 0,168, 0, 0, 0,
+ 169, 0, 0, 0,170, 0, 0, 0,171, 0, 0, 0,172, 0, 0, 0,
+ 173, 0, 0, 0,174, 0, 0, 0,175, 0, 0, 0,176, 0, 0, 0,
+ 177, 0, 0, 0,178, 0, 0, 0,179, 0, 0, 0,180, 0, 0, 0,
+ 181, 0, 0, 0,182, 0, 0, 0,183, 0, 0, 0,184, 0, 0, 0,
+ 185, 0, 0, 0,186, 0, 0, 0,187, 0, 0, 0,188, 0, 0, 0,
+ 189, 0, 0, 0,190, 0, 0, 0,191, 0, 0, 0,192, 0, 0, 0,
+ 193, 0, 0, 0,194, 0, 0, 0,195, 0, 0, 0,196, 0, 0, 0,
+ 197, 0, 0, 0,198, 0, 0, 0,199, 0, 0, 0,200, 0, 0, 0,
+ 201, 0, 0, 0,202, 0, 0, 0,203, 0, 0, 0,204, 0, 0, 0,
+ 205, 0, 0, 0,206, 0, 0, 0,207, 0, 0, 0,208, 0, 0, 0,
+ 209, 0, 0, 0,210, 0, 0, 0,211, 0, 0, 0,212, 0, 0, 0,
+ 213, 0, 0, 0,214, 0, 0, 0,215, 0, 0, 0,216, 0, 0, 0,
+ 217, 0, 0, 0,218, 0, 0, 0,219, 0, 0, 0,220, 0, 0, 0,
+ 221, 0, 0, 0,222, 0, 0, 0,223, 0, 0, 0,224, 0, 0, 0,
+ 225, 0, 0, 0,226, 0, 0, 0,227, 0, 0, 0,228, 0, 0, 0,
+ 229, 0, 0, 0,230, 0, 0, 0,231, 0, 0, 0,232, 0, 0, 0,
+ 233, 0, 0, 0,234, 0, 0, 0,235, 0, 0, 0,236, 0, 0, 0,
+ 237, 0, 0, 0,238, 0, 0, 0,239, 0, 0, 0,240, 0, 0, 0,
+ 241, 0, 0, 0,242, 0, 0, 0,243, 0, 0, 0,244, 0, 0, 0,
+ 245, 0, 0, 0,246, 0, 0, 0,247, 0, 0, 0,248, 0, 0, 0,
+ 249, 0, 0, 0,250, 0, 0, 0,251, 0, 0, 0,252, 0, 0, 0,
+ 253, 0, 0, 0,254, 0, 0, 0,255, 0, 0, 0,
+ 0xff,
+ 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28,
+ 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30,
+ 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
+ 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40,
+ 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48,
+ 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50,
+ 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58,
+ 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0x60,
+ 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
+ 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
+ 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
+ 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x20, 0x21,
+ 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29,
+ 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30, 0x31,
+ 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39,
+ 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41,
+ 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49,
+ 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51,
+ 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59,
+ 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0x60, 0x61,
+ 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69,
+ 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70, 0x71,
+ 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79,
+ 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x20, 0x21, 0x22,
+ 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a,
+ 0x00,
+ 0x82, 0x0c, 0x00, 0x7f, 0xf0, 0xf1, 0x00,
+ 0xf9, 0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2,
+ 0x8b, 0x35, 0x00, 0x01, 0x0f, 0x33, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8,
+ 0x8b, 0x35, 0x00, 0x00, 0x0f, 0x30, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8,
+ 0x8b, 0x35, 0x00, 0xc0, 0x0f, 0x5a, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8,
+ 0x87, 0x25, 0x00, 0xc0, 0x0f, 0x5a,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00,
+ 0x8a, 0x39, 0x00, 0xc0, 0x0f, 0x5a,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00,
+ 0x88, 0x1b, 0x00, 0xc0, 0x0f, 0x5a,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00,
+ 0x79, 0x00},
+
+ Buffer () {
+ 0x30,
+ 0x23, 0x01, 0x00, 0x00,
+ 0x22, 0x02, 0x00,
+ 0x30,
+ 0x23, 0x01, 0x00, 0x00,
+ 0x22, 0x02, 0x00,
+ 0x2a, 0x04, 0x02,
+ 0x31, 0x00,
+ 0x23, 0x01, 0x00, 0x00,
+ 0x22, 0x02, 0x00,
+ 0x2a, 0x04, 0x02,
+ 0x47, 0x01, 0xf1, 0xf0, 0xf3, 0xf2, 0xf4, 0xf5,
+ 0x31, 0x04,
+ 0x23, 0x01, 0x00, 0x00,
+ 0x22, 0x02, 0x00,
+ 0x2a, 0x04, 0x02,
+ 0x47, 0x01, 0xf1, 0xf0, 0xf3, 0xf2, 0xf4, 0xf5,
+ 0x4b, 0xf1, 0xf0, 0xf2,
+ 0x31, 0x08,
+ 0x23, 0x01, 0x00, 0x00,
+ 0x22, 0x02, 0x00,
+ 0x2a, 0x04, 0x02,
+ 0x47, 0x01, 0xf1, 0xf0, 0xf3, 0xf2, 0xf4, 0xf5,
+ 0x4b, 0xf1, 0xf0, 0xf2,
+ 0x77, 0x00, 0xa2, 0xb3, 0x76, 0xd5, 0xe6, 0xf7,
+ 0x31, 0x01,
+ 0x23, 0x01, 0x00, 0x00,
+ 0x22, 0x02, 0x00,
+ 0x2a, 0x04, 0x02,
+ 0x47, 0x01, 0xf1, 0xf0, 0xf3, 0xf2, 0xf4, 0xf5,
+ 0x4b, 0xf1, 0xf0, 0xf2,
+ 0x77, 0x00, 0xa2, 0xb3, 0x76, 0xd5, 0xe6, 0xf7,
+ 0x81, 0x09, 0x00, 0x01, 0xf1, 0xf0, 0xf3, 0xf2, 0xf5, 0xf4, 0xf7, 0xf6,
+ 0x31, 0x05,
+ 0x23, 0x01, 0x00, 0x00,
+ 0x22, 0x02, 0x00,
+ 0x2a, 0x04, 0x02,
+ 0x47, 0x01, 0xf1, 0xf0, 0xf3, 0xf2, 0xf4, 0xf5,
+ 0x4b, 0xf1, 0xf0, 0xf2,
+ 0x77, 0x00, 0xa2, 0xb3, 0x76, 0xd5, 0xe6, 0xf7,
+ 0x81, 0x09, 0x00, 0x01, 0xf1, 0xf0, 0xf3, 0xf2, 0xf5, 0xf4, 0xf7, 0xf6,
+ 0x85, 0x11, 0x00, 0x01,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc,
+ 0x31, 0x05,
+ 0x23, 0x01, 0x00, 0x00,
+ 0x22, 0x02, 0x00,
+ 0x2a, 0x04, 0x02,
+ 0x47, 0x01, 0xf1, 0xf0, 0xf3, 0xf2, 0xf4, 0xf5,
+ 0x4b, 0xf1, 0xf0, 0xf2,
+ 0x77, 0x00, 0xa2, 0xb3, 0x76, 0xd5, 0xe6, 0xf7,
+ 0x81, 0x09, 0x00, 0x01, 0xf1, 0xf0, 0xf3, 0xf2, 0xf5, 0xf4, 0xf7, 0xf6,
+ 0x85, 0x11, 0x00, 0x01,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc,
+ 0x86, 0x09, 0x00, 0x00,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0x84, 0x15, 0x00, 0x9f,
+ 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
+ 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff,
+ 0x00, 0x01, 0x02, 0x03,
+ 0x8a, 0x39, 0x00, 0x01, 0x0f, 0x33,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00,
+ 0x87, 0x25, 0x00, 0x01, 0x0f, 0x33, 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00,
+ 0x88, 0x1b, 0x00, 0x01, 0x0f, 0x33,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00,
+ 0x8a, 0x39, 0x00, 0x00, 0x0f, 0x30,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00,
+ 0x87, 0x25, 0x00, 0x00, 0x0f, 0x30,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00,
+ 0x88, 0x1b, 0x00, 0x02, 0x0f, 0x00,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00,
+ 0x89, 0xc8, 0x04, 0x0f, 0xff,
+ 1, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 4, 0, 0, 0,
+ 5, 0, 0, 0, 6, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0,
+ 9, 0, 0, 0, 10, 0, 0, 0, 11, 0, 0, 0, 12, 0, 0, 0,
+ 13, 0, 0, 0, 14, 0, 0, 0, 15, 0, 0, 0, 16, 0, 0, 0,
+ 17, 0, 0, 0, 18, 0, 0, 0, 19, 0, 0, 0, 20, 0, 0, 0,
+ 21, 0, 0, 0, 22, 0, 0, 0, 23, 0, 0, 0, 24, 0, 0, 0,
+ 25, 0, 0, 0, 26, 0, 0, 0, 27, 0, 0, 0, 28, 0, 0, 0,
+ 29, 0, 0, 0, 30, 0, 0, 0, 31, 0, 0, 0, 32, 0, 0, 0,
+ 33, 0, 0, 0, 34, 0, 0, 0, 35, 0, 0, 0, 36, 0, 0, 0,
+ 37, 0, 0, 0, 38, 0, 0, 0, 39, 0, 0, 0, 40, 0, 0, 0,
+ 41, 0, 0, 0, 42, 0, 0, 0, 43, 0, 0, 0, 44, 0, 0, 0,
+ 45, 0, 0, 0, 46, 0, 0, 0, 47, 0, 0, 0, 48, 0, 0, 0,
+ 49, 0, 0, 0, 50, 0, 0, 0, 51, 0, 0, 0, 52, 0, 0, 0,
+ 53, 0, 0, 0, 54, 0, 0, 0, 55, 0, 0, 0, 56, 0, 0, 0,
+ 57, 0, 0, 0, 58, 0, 0, 0, 59, 0, 0, 0, 60, 0, 0, 0,
+ 61, 0, 0, 0, 62, 0, 0, 0, 63, 0, 0, 0, 64, 0, 0, 0,
+ 65, 0, 0, 0, 66, 0, 0, 0, 67, 0, 0, 0, 68, 0, 0, 0,
+ 69, 0, 0, 0, 70, 0, 0, 0, 71, 0, 0, 0, 72, 0, 0, 0,
+ 73, 0, 0, 0, 74, 0, 0, 0, 75, 0, 0, 0, 76, 0, 0, 0,
+ 77, 0, 0, 0, 78, 0, 0, 0, 79, 0, 0, 0, 80, 0, 0, 0,
+ 81, 0, 0, 0, 82, 0, 0, 0, 83, 0, 0, 0, 84, 0, 0, 0,
+ 85, 0, 0, 0, 86, 0, 0, 0, 87, 0, 0, 0, 88, 0, 0, 0,
+ 89, 0, 0, 0, 90, 0, 0, 0, 91, 0, 0, 0, 92, 0, 0, 0,
+ 93, 0, 0, 0, 94, 0, 0, 0, 95, 0, 0, 0, 96, 0, 0, 0,
+ 97, 0, 0, 0, 98, 0, 0, 0, 99, 0, 0, 0,100, 0, 0, 0,
+ 101, 0, 0, 0,102, 0, 0, 0,103, 0, 0, 0,104, 0, 0, 0,
+ 105, 0, 0, 0,106, 0, 0, 0,107, 0, 0, 0,108, 0, 0, 0,
+ 109, 0, 0, 0,110, 0, 0, 0,111, 0, 0, 0,112, 0, 0, 0,
+ 113, 0, 0, 0,114, 0, 0, 0,115, 0, 0, 0,116, 0, 0, 0,
+ 117, 0, 0, 0,118, 0, 0, 0,119, 0, 0, 0,120, 0, 0, 0,
+ 121, 0, 0, 0,122, 0, 0, 0,123, 0, 0, 0,124, 0, 0, 0,
+ 125, 0, 0, 0,126, 0, 0, 0,127, 0, 0, 0,128, 0, 0, 0,
+ 129, 0, 0, 0,130, 0, 0, 0,131, 0, 0, 0,132, 0, 0, 0,
+ 133, 0, 0, 0,134, 0, 0, 0,135, 0, 0, 0,136, 0, 0, 0,
+ 137, 0, 0, 0,138, 0, 0, 0,139, 0, 0, 0,140, 0, 0, 0,
+ 141, 0, 0, 0,142, 0, 0, 0,143, 0, 0, 0,144, 0, 0, 0,
+ 145, 0, 0, 0,146, 0, 0, 0,147, 0, 0, 0,148, 0, 0, 0,
+ 149, 0, 0, 0,150, 0, 0, 0,151, 0, 0, 0,152, 0, 0, 0,
+ 153, 0, 0, 0,154, 0, 0, 0,155, 0, 0, 0,156, 0, 0, 0,
+ 157, 0, 0, 0,158, 0, 0, 0,159, 0, 0, 0,160, 0, 0, 0,
+ 161, 0, 0, 0,162, 0, 0, 0,163, 0, 0, 0,164, 0, 0, 0,
+ 165, 0, 0, 0,166, 0, 0, 0,167, 0, 0, 0,168, 0, 0, 0,
+ 169, 0, 0, 0,170, 0, 0, 0,171, 0, 0, 0,172, 0, 0, 0,
+ 173, 0, 0, 0,174, 0, 0, 0,175, 0, 0, 0,176, 0, 0, 0,
+ 177, 0, 0, 0,178, 0, 0, 0,179, 0, 0, 0,180, 0, 0, 0,
+ 181, 0, 0, 0,182, 0, 0, 0,183, 0, 0, 0,184, 0, 0, 0,
+ 185, 0, 0, 0,186, 0, 0, 0,187, 0, 0, 0,188, 0, 0, 0,
+ 189, 0, 0, 0,190, 0, 0, 0,191, 0, 0, 0,192, 0, 0, 0,
+ 193, 0, 0, 0,194, 0, 0, 0,195, 0, 0, 0,196, 0, 0, 0,
+ 197, 0, 0, 0,198, 0, 0, 0,199, 0, 0, 0,200, 0, 0, 0,
+ 201, 0, 0, 0,202, 0, 0, 0,203, 0, 0, 0,204, 0, 0, 0,
+ 205, 0, 0, 0,206, 0, 0, 0,207, 0, 0, 0,208, 0, 0, 0,
+ 209, 0, 0, 0,210, 0, 0, 0,211, 0, 0, 0,212, 0, 0, 0,
+ 213, 0, 0, 0,214, 0, 0, 0,215, 0, 0, 0,216, 0, 0, 0,
+ 217, 0, 0, 0,218, 0, 0, 0,219, 0, 0, 0,220, 0, 0, 0,
+ 221, 0, 0, 0,222, 0, 0, 0,223, 0, 0, 0,224, 0, 0, 0,
+ 225, 0, 0, 0,226, 0, 0, 0,227, 0, 0, 0,228, 0, 0, 0,
+ 229, 0, 0, 0,230, 0, 0, 0,231, 0, 0, 0,232, 0, 0, 0,
+ 233, 0, 0, 0,234, 0, 0, 0,235, 0, 0, 0,236, 0, 0, 0,
+ 237, 0, 0, 0,238, 0, 0, 0,239, 0, 0, 0,240, 0, 0, 0,
+ 241, 0, 0, 0,242, 0, 0, 0,243, 0, 0, 0,244, 0, 0, 0,
+ 245, 0, 0, 0,246, 0, 0, 0,247, 0, 0, 0,248, 0, 0, 0,
+ 249, 0, 0, 0,250, 0, 0, 0,251, 0, 0, 0,252, 0, 0, 0,
+ 253, 0, 0, 0,254, 0, 0, 0,255, 0, 0, 0,
+ 0xff,
+ 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28,
+ 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30,
+ 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
+ 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40,
+ 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48,
+ 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50,
+ 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58,
+ 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0x60,
+ 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
+ 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
+ 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
+ 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x20, 0x21,
+ 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29,
+ 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30, 0x31,
+ 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39,
+ 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41,
+ 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49,
+ 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51,
+ 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59,
+ 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0x60, 0x61,
+ 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69,
+ 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70, 0x71,
+ 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79,
+ 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x20, 0x21, 0x22,
+ 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a,
+ 0x00,
+ 0x82, 0x0c, 0x00, 0x7f, 0xf0, 0xf1, 0x00,
+ 0xf9, 0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2,
+ 0x8b, 0x35, 0x00, 0x01, 0x0f, 0x33, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8,
+ 0x8b, 0x35, 0x00, 0x00, 0x0f, 0x30, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8,
+ 0x8b, 0x35, 0x00, 0xc0, 0x0f, 0x5a, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8,
+ 0x87, 0x25, 0x00, 0xc0, 0x0f, 0x5a,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00,
+ 0x8a, 0x39, 0x00, 0xc0, 0x0f, 0x5a,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00,
+ 0x88, 0x1b, 0x00, 0xc0, 0x0f, 0x5a,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00,
+ 0x31, 0x09,
+ 0x23, 0x01, 0x00, 0x00,
+ 0x22, 0x02, 0x00,
+ 0x2a, 0x04, 0x02,
+ 0x47, 0x01, 0xf1, 0xf0, 0xf3, 0xf2, 0xf4, 0xf5,
+ 0x4b, 0xf1, 0xf0, 0xf2,
+ 0x77, 0x00, 0xa2, 0xb3, 0x76, 0xd5, 0xe6, 0xf7,
+ 0x81, 0x09, 0x00, 0x01, 0xf1, 0xf0, 0xf3, 0xf2, 0xf5, 0xf4, 0xf7, 0xf6,
+ 0x85, 0x11, 0x00, 0x01,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc,
+ 0x86, 0x09, 0x00, 0x00,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0x31, 0x02,
+ 0x31, 0x06,
+ 0x23, 0x01, 0x00, 0x00,
+ 0x22, 0x02, 0x00,
+ 0x2a, 0x04, 0x02,
+ 0x47, 0x01, 0xf1, 0xf0, 0xf3, 0xf2, 0xf4, 0xf5,
+ 0x4b, 0xf1, 0xf0, 0xf2,
+ 0x77, 0x00, 0xa2, 0xb3, 0x76, 0xd5, 0xe6, 0xf7,
+ 0x81, 0x09, 0x00, 0x01, 0xf1, 0xf0, 0xf3, 0xf2, 0xf5, 0xf4, 0xf7, 0xf6,
+ 0x85, 0x11, 0x00, 0x01,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc,
+ 0x86, 0x09, 0x00, 0x00,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0x84, 0x15, 0x00, 0x9f,
+ 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
+ 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff,
+ 0x00, 0x01, 0x02, 0x03,
+ 0x31, 0x0a,
+ 0x38,
+ 0x30,
+ 0x23, 0x01, 0x00, 0x00,
+ 0x22, 0x02, 0x00,
+ 0x30,
+ 0x23, 0x01, 0x00, 0x00,
+ 0x22, 0x02, 0x00,
+ 0x2a, 0x04, 0x02,
+ 0x31, 0x00,
+ 0x23, 0x01, 0x00, 0x00,
+ 0x22, 0x02, 0x00,
+ 0x2a, 0x04, 0x02,
+ 0x47, 0x01, 0xf1, 0xf0, 0xf3, 0xf2, 0xf4, 0xf5,
+ 0x31, 0x04,
+ 0x23, 0x01, 0x00, 0x00,
+ 0x22, 0x02, 0x00,
+ 0x2a, 0x04, 0x02,
+ 0x47, 0x01, 0xf1, 0xf0, 0xf3, 0xf2, 0xf4, 0xf5,
+ 0x4b, 0xf1, 0xf0, 0xf2,
+ 0x31, 0x08,
+ 0x23, 0x01, 0x00, 0x00,
+ 0x22, 0x02, 0x00,
+ 0x2a, 0x04, 0x02,
+ 0x47, 0x01, 0xf1, 0xf0, 0xf3, 0xf2, 0xf4, 0xf5,
+ 0x4b, 0xf1, 0xf0, 0xf2,
+ 0x77, 0x00, 0xa2, 0xb3, 0x76, 0xd5, 0xe6, 0xf7,
+ 0x31, 0x01,
+ 0x23, 0x01, 0x00, 0x00,
+ 0x22, 0x02, 0x00,
+ 0x2a, 0x04, 0x02,
+ 0x47, 0x01, 0xf1, 0xf0, 0xf3, 0xf2, 0xf4, 0xf5,
+ 0x4b, 0xf1, 0xf0, 0xf2,
+ 0x77, 0x00, 0xa2, 0xb3, 0x76, 0xd5, 0xe6, 0xf7,
+ 0x81, 0x09, 0x00, 0x01, 0xf1, 0xf0, 0xf3, 0xf2, 0xf5, 0xf4, 0xf7, 0xf6,
+ 0x31, 0x05,
+ 0x23, 0x01, 0x00, 0x00,
+ 0x22, 0x02, 0x00,
+ 0x2a, 0x04, 0x02,
+ 0x47, 0x01, 0xf1, 0xf0, 0xf3, 0xf2, 0xf4, 0xf5,
+ 0x4b, 0xf1, 0xf0, 0xf2,
+ 0x77, 0x00, 0xa2, 0xb3, 0x76, 0xd5, 0xe6, 0xf7,
+ 0x81, 0x09, 0x00, 0x01, 0xf1, 0xf0, 0xf3, 0xf2, 0xf5, 0xf4, 0xf7, 0xf6,
+ 0x85, 0x11, 0x00, 0x01,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc,
+ 0x31, 0x05,
+ 0x23, 0x01, 0x00, 0x00,
+ 0x22, 0x02, 0x00,
+ 0x2a, 0x04, 0x02,
+ 0x47, 0x01, 0xf1, 0xf0, 0xf3, 0xf2, 0xf4, 0xf5,
+ 0x4b, 0xf1, 0xf0, 0xf2,
+ 0x77, 0x00, 0xa2, 0xb3, 0x76, 0xd5, 0xe6, 0xf7,
+ 0x81, 0x09, 0x00, 0x01, 0xf1, 0xf0, 0xf3, 0xf2, 0xf5, 0xf4, 0xf7, 0xf6,
+ 0x85, 0x11, 0x00, 0x01,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc,
+ 0x86, 0x09, 0x00, 0x00,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0x84, 0x15, 0x00, 0x9f,
+ 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
+ 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff,
+ 0x00, 0x01, 0x02, 0x03,
+ 0x8a, 0x39, 0x00, 0x01, 0x0f, 0x33,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00,
+ 0x87, 0x25, 0x00, 0x01, 0x0f, 0x33, 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00,
+ 0x88, 0x1b, 0x00, 0x01, 0x0f, 0x33,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00,
+ 0x8a, 0x39, 0x00, 0x00, 0x0f, 0x30,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00,
+ 0x87, 0x25, 0x00, 0x00, 0x0f, 0x30,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00,
+ 0x88, 0x1b, 0x00, 0x02, 0x0f, 0x00,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00,
+ 0x89, 0xc8, 0x04, 0x0f, 0xff,
+ 1, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 4, 0, 0, 0,
+ 5, 0, 0, 0, 6, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0,
+ 9, 0, 0, 0, 10, 0, 0, 0, 11, 0, 0, 0, 12, 0, 0, 0,
+ 13, 0, 0, 0, 14, 0, 0, 0, 15, 0, 0, 0, 16, 0, 0, 0,
+ 17, 0, 0, 0, 18, 0, 0, 0, 19, 0, 0, 0, 20, 0, 0, 0,
+ 21, 0, 0, 0, 22, 0, 0, 0, 23, 0, 0, 0, 24, 0, 0, 0,
+ 25, 0, 0, 0, 26, 0, 0, 0, 27, 0, 0, 0, 28, 0, 0, 0,
+ 29, 0, 0, 0, 30, 0, 0, 0, 31, 0, 0, 0, 32, 0, 0, 0,
+ 33, 0, 0, 0, 34, 0, 0, 0, 35, 0, 0, 0, 36, 0, 0, 0,
+ 37, 0, 0, 0, 38, 0, 0, 0, 39, 0, 0, 0, 40, 0, 0, 0,
+ 41, 0, 0, 0, 42, 0, 0, 0, 43, 0, 0, 0, 44, 0, 0, 0,
+ 45, 0, 0, 0, 46, 0, 0, 0, 47, 0, 0, 0, 48, 0, 0, 0,
+ 49, 0, 0, 0, 50, 0, 0, 0, 51, 0, 0, 0, 52, 0, 0, 0,
+ 53, 0, 0, 0, 54, 0, 0, 0, 55, 0, 0, 0, 56, 0, 0, 0,
+ 57, 0, 0, 0, 58, 0, 0, 0, 59, 0, 0, 0, 60, 0, 0, 0,
+ 61, 0, 0, 0, 62, 0, 0, 0, 63, 0, 0, 0, 64, 0, 0, 0,
+ 65, 0, 0, 0, 66, 0, 0, 0, 67, 0, 0, 0, 68, 0, 0, 0,
+ 69, 0, 0, 0, 70, 0, 0, 0, 71, 0, 0, 0, 72, 0, 0, 0,
+ 73, 0, 0, 0, 74, 0, 0, 0, 75, 0, 0, 0, 76, 0, 0, 0,
+ 77, 0, 0, 0, 78, 0, 0, 0, 79, 0, 0, 0, 80, 0, 0, 0,
+ 81, 0, 0, 0, 82, 0, 0, 0, 83, 0, 0, 0, 84, 0, 0, 0,
+ 85, 0, 0, 0, 86, 0, 0, 0, 87, 0, 0, 0, 88, 0, 0, 0,
+ 89, 0, 0, 0, 90, 0, 0, 0, 91, 0, 0, 0, 92, 0, 0, 0,
+ 93, 0, 0, 0, 94, 0, 0, 0, 95, 0, 0, 0, 96, 0, 0, 0,
+ 97, 0, 0, 0, 98, 0, 0, 0, 99, 0, 0, 0,100, 0, 0, 0,
+ 101, 0, 0, 0,102, 0, 0, 0,103, 0, 0, 0,104, 0, 0, 0,
+ 105, 0, 0, 0,106, 0, 0, 0,107, 0, 0, 0,108, 0, 0, 0,
+ 109, 0, 0, 0,110, 0, 0, 0,111, 0, 0, 0,112, 0, 0, 0,
+ 113, 0, 0, 0,114, 0, 0, 0,115, 0, 0, 0,116, 0, 0, 0,
+ 117, 0, 0, 0,118, 0, 0, 0,119, 0, 0, 0,120, 0, 0, 0,
+ 121, 0, 0, 0,122, 0, 0, 0,123, 0, 0, 0,124, 0, 0, 0,
+ 125, 0, 0, 0,126, 0, 0, 0,127, 0, 0, 0,128, 0, 0, 0,
+ 129, 0, 0, 0,130, 0, 0, 0,131, 0, 0, 0,132, 0, 0, 0,
+ 133, 0, 0, 0,134, 0, 0, 0,135, 0, 0, 0,136, 0, 0, 0,
+ 137, 0, 0, 0,138, 0, 0, 0,139, 0, 0, 0,140, 0, 0, 0,
+ 141, 0, 0, 0,142, 0, 0, 0,143, 0, 0, 0,144, 0, 0, 0,
+ 145, 0, 0, 0,146, 0, 0, 0,147, 0, 0, 0,148, 0, 0, 0,
+ 149, 0, 0, 0,150, 0, 0, 0,151, 0, 0, 0,152, 0, 0, 0,
+ 153, 0, 0, 0,154, 0, 0, 0,155, 0, 0, 0,156, 0, 0, 0,
+ 157, 0, 0, 0,158, 0, 0, 0,159, 0, 0, 0,160, 0, 0, 0,
+ 161, 0, 0, 0,162, 0, 0, 0,163, 0, 0, 0,164, 0, 0, 0,
+ 165, 0, 0, 0,166, 0, 0, 0,167, 0, 0, 0,168, 0, 0, 0,
+ 169, 0, 0, 0,170, 0, 0, 0,171, 0, 0, 0,172, 0, 0, 0,
+ 173, 0, 0, 0,174, 0, 0, 0,175, 0, 0, 0,176, 0, 0, 0,
+ 177, 0, 0, 0,178, 0, 0, 0,179, 0, 0, 0,180, 0, 0, 0,
+ 181, 0, 0, 0,182, 0, 0, 0,183, 0, 0, 0,184, 0, 0, 0,
+ 185, 0, 0, 0,186, 0, 0, 0,187, 0, 0, 0,188, 0, 0, 0,
+ 189, 0, 0, 0,190, 0, 0, 0,191, 0, 0, 0,192, 0, 0, 0,
+ 193, 0, 0, 0,194, 0, 0, 0,195, 0, 0, 0,196, 0, 0, 0,
+ 197, 0, 0, 0,198, 0, 0, 0,199, 0, 0, 0,200, 0, 0, 0,
+ 201, 0, 0, 0,202, 0, 0, 0,203, 0, 0, 0,204, 0, 0, 0,
+ 205, 0, 0, 0,206, 0, 0, 0,207, 0, 0, 0,208, 0, 0, 0,
+ 209, 0, 0, 0,210, 0, 0, 0,211, 0, 0, 0,212, 0, 0, 0,
+ 213, 0, 0, 0,214, 0, 0, 0,215, 0, 0, 0,216, 0, 0, 0,
+ 217, 0, 0, 0,218, 0, 0, 0,219, 0, 0, 0,220, 0, 0, 0,
+ 221, 0, 0, 0,222, 0, 0, 0,223, 0, 0, 0,224, 0, 0, 0,
+ 225, 0, 0, 0,226, 0, 0, 0,227, 0, 0, 0,228, 0, 0, 0,
+ 229, 0, 0, 0,230, 0, 0, 0,231, 0, 0, 0,232, 0, 0, 0,
+ 233, 0, 0, 0,234, 0, 0, 0,235, 0, 0, 0,236, 0, 0, 0,
+ 237, 0, 0, 0,238, 0, 0, 0,239, 0, 0, 0,240, 0, 0, 0,
+ 241, 0, 0, 0,242, 0, 0, 0,243, 0, 0, 0,244, 0, 0, 0,
+ 245, 0, 0, 0,246, 0, 0, 0,247, 0, 0, 0,248, 0, 0, 0,
+ 249, 0, 0, 0,250, 0, 0, 0,251, 0, 0, 0,252, 0, 0, 0,
+ 253, 0, 0, 0,254, 0, 0, 0,255, 0, 0, 0,
+ 0xff,
+ 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28,
+ 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30,
+ 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
+ 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40,
+ 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48,
+ 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50,
+ 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58,
+ 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0x60,
+ 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
+ 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
+ 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
+ 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x20, 0x21,
+ 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29,
+ 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30, 0x31,
+ 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39,
+ 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41,
+ 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49,
+ 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51,
+ 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59,
+ 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0x60, 0x61,
+ 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69,
+ 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70, 0x71,
+ 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79,
+ 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x20, 0x21, 0x22,
+ 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a,
+ 0x00,
+ 0x82, 0x0c, 0x00, 0x7f, 0xf0, 0xf1, 0x00,
+ 0xf9, 0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2,
+ 0x8b, 0x35, 0x00, 0x01, 0x0f, 0x33, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8,
+ 0x8b, 0x35, 0x00, 0x00, 0x0f, 0x30, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8,
+ 0x8b, 0x35, 0x00, 0xc0, 0x0f, 0x5a, 0x01, 0x00,
+ 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8,
+ 0x87, 0x25, 0x00, 0xc0, 0x0f, 0x5a,
+ 0xef, 0xee, 0xed, 0xec,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00,
+ 0x8a, 0x39, 0x00, 0xc0, 0x0f, 0x5a,
+ 0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
+ 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
+ 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
+ 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
+ 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00,
+ 0x88, 0x1b, 0x00, 0xc0, 0x0f, 0x5a,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00,
+ 0x31, 0x09,
+ 0x23, 0x01, 0x00, 0x00,
+ 0x22, 0x02, 0x00,
+ 0x2a, 0x04, 0x02,
+ 0x47, 0x01, 0xf1, 0xf0, 0xf3, 0xf2, 0xf4, 0xf5,
+ 0x4b, 0xf1, 0xf0, 0xf2,
+ 0x77, 0x00, 0xa2, 0xb3, 0x76, 0xd5, 0xe6, 0xf7,
+ 0x81, 0x09, 0x00, 0x01, 0xf1, 0xf0, 0xf3, 0xf2, 0xf5, 0xf4, 0xf7, 0xf6,
+ 0x85, 0x11, 0x00, 0x01,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc,
+ 0x86, 0x09, 0x00, 0x00,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0x31, 0x02,
+ 0x31, 0x06,
+ 0x23, 0x01, 0x00, 0x00,
+ 0x22, 0x02, 0x00,
+ 0x2a, 0x04, 0x02,
+ 0x47, 0x01, 0xf1, 0xf0, 0xf3, 0xf2, 0xf4, 0xf5,
+ 0x4b, 0xf1, 0xf0, 0xf2,
+ 0x77, 0x00, 0xa2, 0xb3, 0x76, 0xd5, 0xe6, 0xf7,
+ 0x81, 0x09, 0x00, 0x01, 0xf1, 0xf0, 0xf3, 0xf2, 0xf5, 0xf4, 0xf7, 0xf6,
+ 0x85, 0x11, 0x00, 0x01,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc,
+ 0x86, 0x09, 0x00, 0x00,
+ 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4,
+ 0x84, 0x15, 0x00, 0x9f,
+ 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
+ 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff,
+ 0x00, 0x01, 0x02, 0x03,
+ 0x31, 0x0a,
+ 0x38,
+ 0x79, 0x00},
+})
+
+Method(RT1a)
+{
+ Name(ts, "RT1a")
+
+ Store("TEST: RT1a, Resource To Buffer Conversion Macro", Debug)
+
+ m330(ts, 3, "p438", p438, p439)
+
+}
+
+Method(RT1c)
+{
+ Name(ts, "RT1c")
+
+ Store("TEST: RT1c, Resource Conversion Macros complex test", Debug)
+
+ Name (RT00, ResourceTemplate () {
+ IRQ (Level, ActiveHigh, Exclusive, IRQ0) {0}
+ IRQNoFlags () {1}
+ DMA (Compatibility, NotBusMaster, Transfer16, DMA0) {2}
+ IO (Decode16, 0xf0f1, 0xf2f3, 0xf4, 0xf5, IO00)
+ FixedIO (0xf0f1, 0xf2, FIO0)
+ VendorShort () {0x00, 0xa2, 0xb3, 0x76, 0xd5, 0xe6, 0xf7}
+ Memory24 (ReadWrite, 0xf0f1, 0xf2f3, 0xf4f5, 0xf6f7, M240)
+ Memory32 (ReadWrite, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff, M320)
+ Memory32Fixed (ReadOnly, 0xf0f1f2f3, 0xf4f5f6f7, M3F0)
+ VendorLong () {0x9f,
+ 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
+ 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff,
+ 0x00, 0x01, 0x02, 0x03}
+ QWordIO (ResourceConsumer, MinFixed, MaxFixed, SubDecode, EntireRange,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ 0xff, "PATHPATHPATH", QIO0, TypeTranslation, SparseTranslation)
+ DWordIO (ResourceConsumer, MinFixed, MaxFixed, SubDecode, EntireRange,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ 0xff, "PATHPATHPATH", DIO0, TypeTranslation, SparseTranslation)
+ WordIO (ResourceConsumer, MinFixed, MaxFixed, SubDecode, EntireRange,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff,
+ 0xff, "PATHPATHPATH", WIO0, TypeTranslation, SparseTranslation)
+ QWordMemory (ResourceConsumer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadOnly,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ 0xff, "PATHPATHPATH", QME0, AddressRangeACPI, TypeTranslation)
+ DWordMemory (ResourceConsumer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadOnly,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ 0xff, "PATHPATHPATH", DME0, AddressRangeACPI, TypeTranslation)
+ WordBusNumber (ResourceConsumer, MinFixed, MaxFixed, SubDecode,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff,
+ 0xff, "PATHPATHPATH", WBN0)
+ Interrupt (ResourceConsumer, Edge, ActiveLow, Shared,
+ 0xff,
+ "!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*",
+ INT0) {
+ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
+ 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
+ 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
+ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
+ 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
+ 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,112,
+ 113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,
+ 129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,
+ 145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,
+ 161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,
+ 177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,
+ 193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,
+ 209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,
+ 225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,
+ 241,242,243,244,245,246,247,248,249,250,251,252,253,254,255}
+ Register (FFixedHW, 0xf0, 0xf1, 0xf2f3f4f5f6f7f8f9)
+ ExtendedIO (ResourceConsumer, MinFixed, MaxFixed, SubDecode, EntireRange,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ EIO0, TypeTranslation, SparseTranslation)
+ ExtendedMemory (ResourceConsumer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadOnly,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ EME0, AddressRangeACPI, TypeTranslation)
+ ExtendedSpace (0xc0, ResourceConsumer, SubDecode, MinFixed, MaxFixed, 0x5a,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ ESP0)
+ DWordSpace (0xc0, ResourceConsumer, SubDecode, MinFixed, MaxFixed, 0x5a,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ 0xff, "PATHPATHPATH", DSP0)
+ QWordSpace (0xc0, ResourceConsumer, SubDecode, MinFixed, MaxFixed, 0x5a,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ 0xff, "PATHPATHPATH", QSP0)
+ WordSpace (0xc0, ResourceConsumer, SubDecode, MinFixed, MaxFixed, 0x5a,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff,
+ 0xff, "PATHPATHPATH", WSP0)
+
+ // Duplicated part
+
+ IRQ (Level, ActiveHigh, Exclusive, IRQ1) {0}
+ IRQNoFlags () {1}
+ DMA (Compatibility, NotBusMaster, Transfer16, DMA1) {2}
+ IO (Decode16, 0xf0f1, 0xf2f3, 0xf4, 0xf5, IO01)
+ FixedIO (0xf0f1, 0xf2, FIO1)
+ VendorShort () {0x00, 0xa2, 0xb3, 0x76, 0xd5, 0xe6, 0xf7}
+ Memory24 (ReadWrite, 0xf0f1, 0xf2f3, 0xf4f5, 0xf6f7, M241)
+ Memory32 (ReadWrite, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff, M321)
+ Memory32Fixed (ReadOnly, 0xf0f1f2f3, 0xf4f5f6f7, M3F1)
+ VendorLong () {0x9f,
+ 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
+ 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff,
+ 0x00, 0x01, 0x02, 0x03}
+ QWordIO (ResourceConsumer, MinFixed, MaxFixed, SubDecode, EntireRange,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ 0xff, "PATHPATHPATH", QIO1, TypeTranslation, SparseTranslation)
+ DWordIO (ResourceConsumer, MinFixed, MaxFixed, SubDecode, EntireRange,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ 0xff, "PATHPATHPATH", DIO1, TypeTranslation, SparseTranslation)
+ WordIO (ResourceConsumer, MinFixed, MaxFixed, SubDecode, EntireRange,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff,
+ 0xff, "PATHPATHPATH", WIO1, TypeTranslation, SparseTranslation)
+ QWordMemory (ResourceConsumer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadOnly,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ 0xff, "PATHPATHPATH", QME1, AddressRangeACPI, TypeTranslation)
+ DWordMemory (ResourceConsumer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadOnly,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ 0xff, "PATHPATHPATH", DME1, AddressRangeACPI, TypeTranslation)
+ WordBusNumber (ResourceConsumer, MinFixed, MaxFixed, SubDecode,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff,
+ 0xff, "PATHPATHPATH", WBN1)
+ Interrupt (ResourceConsumer, Edge, ActiveLow, Shared,
+ 0xff,
+ "!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*",
+ INT1) {
+ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
+ 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
+ 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
+ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
+ 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
+ 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,112,
+ 113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,
+ 129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,
+ 145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,
+ 161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,
+ 177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,
+ 193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,
+ 209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,
+ 225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,
+ 241,242,243,244,245,246,247,248,249,250,251,252,253,254,255}
+ Register (FFixedHW, 0xf0, 0xf1, 0xf2f3f4f5f6f7f8f9)
+ ExtendedIO (ResourceConsumer, MinFixed, MaxFixed, SubDecode, EntireRange,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ EIO1, TypeTranslation, SparseTranslation)
+ ExtendedMemory (ResourceConsumer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadOnly,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ EME1, AddressRangeACPI, TypeTranslation)
+ ExtendedSpace (0xc0, ResourceConsumer, SubDecode, MinFixed, MaxFixed, 0x5a,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ ESP1)
+ DWordSpace (0xc0, ResourceConsumer, SubDecode, MinFixed, MaxFixed, 0x5a,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ 0xff, "PATHPATHPATH", DSP1)
+ QWordSpace (0xc0, ResourceConsumer, SubDecode, MinFixed, MaxFixed, 0x5a,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ 0xff, "PATHPATHPATH", QSP1)
+ WordSpace (0xc0, ResourceConsumer, SubDecode, MinFixed, MaxFixed, 0x5a,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff,
+ 0xff, "PATHPATHPATH", WSP1)
+ })
+
+ Name (RT01, ResourceTemplate () {
+ StartDependentFnNoPri () {
+ IRQ (Level, ActiveHigh, Exclusive, IRQ2) {0}
+ IRQNoFlags () {1}
+ }
+ StartDependentFnNoPri () {
+ IRQ (Level, ActiveHigh, Exclusive, IRQ4) {0}
+ IRQNoFlags () {1}
+ DMA (Compatibility, NotBusMaster, Transfer16, DMA4) {2}
+ }
+ StartDependentFn (0, 0) {
+ IRQ (Level, ActiveHigh, Exclusive, IRQ6) {0}
+ IRQNoFlags () {1}
+ DMA (Compatibility, NotBusMaster, Transfer16, DMA6) {2}
+ IO (Decode16, 0xf0f1, 0xf2f3, 0xf4, 0xf5, IO06)
+ }
+ StartDependentFn (0, 1) {
+ IRQ (Level, ActiveHigh, Exclusive, IRQ8) {0}
+ IRQNoFlags () {1}
+ DMA (Compatibility, NotBusMaster, Transfer16, DMA8) {2}
+ IO (Decode16, 0xf0f1, 0xf2f3, 0xf4, 0xf5, IO08)
+ FixedIO (0xf0f1, 0xf2, FIO8)
+ }
+ StartDependentFn (0, 2) {
+ IRQ (Level, ActiveHigh, Exclusive, IRQA) {0}
+ IRQNoFlags () {1}
+ DMA (Compatibility, NotBusMaster, Transfer16, DMAA) {2}
+ IO (Decode16, 0xf0f1, 0xf2f3, 0xf4, 0xf5, IO0A)
+ FixedIO (0xf0f1, 0xf2, FIOA)
+ VendorShort () {0x00, 0xa2, 0xb3, 0x76, 0xd5, 0xe6, 0xf7}
+ }
+ StartDependentFn (1, 0) {
+ IRQ (Level, ActiveHigh, Exclusive, IRQC) {0}
+ IRQNoFlags () {1}
+ DMA (Compatibility, NotBusMaster, Transfer16, DMAC) {2}
+ IO (Decode16, 0xf0f1, 0xf2f3, 0xf4, 0xf5, IO0C)
+ FixedIO (0xf0f1, 0xf2, FIOC)
+ VendorShort () {0x00, 0xa2, 0xb3, 0x76, 0xd5, 0xe6, 0xf7}
+ Memory24 (ReadWrite, 0xf0f1, 0xf2f3, 0xf4f5, 0xf6f7, M24C)
+ }
+ StartDependentFn (1, 1) {
+ IRQ (Level, ActiveHigh, Exclusive, IRQE) {0}
+ IRQNoFlags () {1}
+ DMA (Compatibility, NotBusMaster, Transfer16, DMAE) {2}
+ IO (Decode16, 0xf0f1, 0xf2f3, 0xf4, 0xf5, IO0E)
+ FixedIO (0xf0f1, 0xf2, FIOE)
+ VendorShort () {0x00, 0xa2, 0xb3, 0x76, 0xd5, 0xe6, 0xf7}
+ Memory24 (ReadWrite, 0xf0f1, 0xf2f3, 0xf4f5, 0xf6f7, M24E)
+ Memory32 (ReadWrite, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff, M32E)
+ }
+ StartDependentFn (1, 1) {
+ IRQ (Level, ActiveHigh, Exclusive, IRQG) {0}
+ IRQNoFlags () {1}
+ DMA (Compatibility, NotBusMaster, Transfer16, DMAG) {2}
+ IO (Decode16, 0xf0f1, 0xf2f3, 0xf4, 0xf5, IO0G)
+ FixedIO (0xf0f1, 0xf2, FIOG)
+ VendorShort () {0x00, 0xa2, 0xb3, 0x76, 0xd5, 0xe6, 0xf7}
+ Memory24 (ReadWrite, 0xf0f1, 0xf2f3, 0xf4f5, 0xf6f7, M24G)
+ Memory32 (ReadWrite, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff, M32G)
+ Memory32Fixed (ReadOnly, 0xf0f1f2f3, 0xf4f5f6f7, M3FG)
+ VendorLong () {0x9f,
+ 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
+ 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff,
+ 0x00, 0x01, 0x02, 0x03}
+ QWordIO (ResourceConsumer, MinFixed, MaxFixed, SubDecode, EntireRange,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ 0xff, "PATHPATHPATH", QIOG, TypeTranslation, SparseTranslation)
+ DWordIO (ResourceConsumer, MinFixed, MaxFixed, SubDecode, EntireRange,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ 0xff, "PATHPATHPATH", DIOG, TypeTranslation, SparseTranslation)
+ WordIO (ResourceConsumer, MinFixed, MaxFixed, SubDecode, EntireRange,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff,
+ 0xff, "PATHPATHPATH", WIOG, TypeTranslation, SparseTranslation)
+ QWordMemory (ResourceConsumer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadOnly,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ 0xff, "PATHPATHPATH", QMEG, AddressRangeACPI, TypeTranslation)
+ DWordMemory (ResourceConsumer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadOnly,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ 0xff, "PATHPATHPATH", DMEG, AddressRangeACPI, TypeTranslation)
+ WordBusNumber (ResourceConsumer, MinFixed, MaxFixed, SubDecode,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff,
+ 0xff, "PATHPATHPATH", WBNG)
+ Interrupt (ResourceConsumer, Edge, ActiveLow, Shared,
+ 0xff,
+ "!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*",
+ INTG) {
+ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
+ 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
+ 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
+ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
+ 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
+ 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,112,
+ 113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,
+ 129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,
+ 145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,
+ 161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,
+ 177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,
+ 193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,
+ 209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,
+ 225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,
+ 241,242,243,244,245,246,247,248,249,250,251,252,253,254,255}
+ Register (FFixedHW, 0xf0, 0xf1, 0xf2f3f4f5f6f7f8f9)
+ ExtendedIO (ResourceConsumer, MinFixed, MaxFixed, SubDecode, EntireRange,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ EIOG, TypeTranslation, SparseTranslation)
+ ExtendedMemory (ResourceConsumer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadOnly,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ EMEG, AddressRangeACPI, TypeTranslation)
+ ExtendedSpace (0xc0, ResourceConsumer, SubDecode, MinFixed, MaxFixed, 0x5a,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ ESPG)
+ DWordSpace (0xc0, ResourceConsumer, SubDecode, MinFixed, MaxFixed, 0x5a,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ 0xff, "PATHPATHPATH", DSPG)
+ QWordSpace (0xc0, ResourceConsumer, SubDecode, MinFixed, MaxFixed, 0x5a,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ 0xff, "PATHPATHPATH", QSPG)
+ WordSpace (0xc0, ResourceConsumer, SubDecode, MinFixed, MaxFixed, 0x5a,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff,
+ 0xff, "PATHPATHPATH", WSPG)
+ }
+ StartDependentFn (1, 2) {
+ IRQ (Level, ActiveHigh, Exclusive, IRQI) {0}
+ IRQNoFlags () {1}
+ DMA (Compatibility, NotBusMaster, Transfer16, DMAI) {2}
+ IO (Decode16, 0xf0f1, 0xf2f3, 0xf4, 0xf5, IO0I)
+ FixedIO (0xf0f1, 0xf2, FIOI)
+ VendorShort () {0x00, 0xa2, 0xb3, 0x76, 0xd5, 0xe6, 0xf7}
+ Memory24 (ReadWrite, 0xf0f1, 0xf2f3, 0xf4f5, 0xf6f7, M24I)
+ Memory32 (ReadWrite, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff, M32I)
+ Memory32Fixed (ReadOnly, 0xf0f1f2f3, 0xf4f5f6f7, M3FI)
+ }
+ StartDependentFn (2, 0) {}
+ StartDependentFn (2, 1) {
+ IRQ (Level, ActiveHigh, Exclusive, IRQK) {0}
+ IRQNoFlags () {1}
+ DMA (Compatibility, NotBusMaster, Transfer16, DMAK) {2}
+ IO (Decode16, 0xf0f1, 0xf2f3, 0xf4, 0xf5, IO0K)
+ FixedIO (0xf0f1, 0xf2, FIOK)
+ VendorShort () {0x00, 0xa2, 0xb3, 0x76, 0xd5, 0xe6, 0xf7}
+ Memory24 (ReadWrite, 0xf0f1, 0xf2f3, 0xf4f5, 0xf6f7, M24K)
+ Memory32 (ReadWrite, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff, M32K)
+ Memory32Fixed (ReadOnly, 0xf0f1f2f3, 0xf4f5f6f7, M3FK)
+ VendorLong () {0x9f,
+ 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
+ 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff,
+ 0x00, 0x01, 0x02, 0x03}
+ }
+ StartDependentFn (2, 2) {}
+ EndDependentFn ()
+
+ // Duplicated part
+
+ StartDependentFnNoPri () {
+ IRQ (Level, ActiveHigh, Exclusive, IRQ3) {0}
+ IRQNoFlags () {1}
+ }
+ StartDependentFnNoPri () {
+ IRQ (Level, ActiveHigh, Exclusive, IRQ5) {0}
+ IRQNoFlags () {1}
+ DMA (Compatibility, NotBusMaster, Transfer16, DMA5) {2}
+ }
+ StartDependentFn (0, 0) {
+ IRQ (Level, ActiveHigh, Exclusive, IRQ7) {0}
+ IRQNoFlags () {1}
+ DMA (Compatibility, NotBusMaster, Transfer16, DMA7) {2}
+ IO (Decode16, 0xf0f1, 0xf2f3, 0xf4, 0xf5, IO07)
+ }
+ StartDependentFn (0, 1) {
+ IRQ (Level, ActiveHigh, Exclusive, IRQ9) {0}
+ IRQNoFlags () {1}
+ DMA (Compatibility, NotBusMaster, Transfer16, DMA9) {2}
+ IO (Decode16, 0xf0f1, 0xf2f3, 0xf4, 0xf5, IO09)
+ FixedIO (0xf0f1, 0xf2, FIO9)
+ }
+ StartDependentFn (0, 2) {
+ IRQ (Level, ActiveHigh, Exclusive, IRQB) {0}
+ IRQNoFlags () {1}
+ DMA (Compatibility, NotBusMaster, Transfer16, DMAB) {2}
+ IO (Decode16, 0xf0f1, 0xf2f3, 0xf4, 0xf5, IO0B)
+ FixedIO (0xf0f1, 0xf2, FIOB)
+ VendorShort () {0x00, 0xa2, 0xb3, 0x76, 0xd5, 0xe6, 0xf7}
+ }
+ StartDependentFn (1, 0) {
+ IRQ (Level, ActiveHigh, Exclusive, IRQD) {0}
+ IRQNoFlags () {1}
+ DMA (Compatibility, NotBusMaster, Transfer16, DMAD) {2}
+ IO (Decode16, 0xf0f1, 0xf2f3, 0xf4, 0xf5, IO0D)
+ FixedIO (0xf0f1, 0xf2, FIOD)
+ VendorShort () {0x00, 0xa2, 0xb3, 0x76, 0xd5, 0xe6, 0xf7}
+ Memory24 (ReadWrite, 0xf0f1, 0xf2f3, 0xf4f5, 0xf6f7, M24D)
+ }
+ StartDependentFn (1, 1) {
+ IRQ (Level, ActiveHigh, Exclusive, IRQF) {0}
+ IRQNoFlags () {1}
+ DMA (Compatibility, NotBusMaster, Transfer16, DMAF) {2}
+ IO (Decode16, 0xf0f1, 0xf2f3, 0xf4, 0xf5, IO0F)
+ FixedIO (0xf0f1, 0xf2, FIOF)
+ VendorShort () {0x00, 0xa2, 0xb3, 0x76, 0xd5, 0xe6, 0xf7}
+ Memory24 (ReadWrite, 0xf0f1, 0xf2f3, 0xf4f5, 0xf6f7, M24F)
+ Memory32 (ReadWrite, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff, M32F)
+ }
+ StartDependentFn (1, 1) {
+ IRQ (Level, ActiveHigh, Exclusive, IRQH) {0}
+ IRQNoFlags () {1}
+ DMA (Compatibility, NotBusMaster, Transfer16, DMAH) {2}
+ IO (Decode16, 0xf0f1, 0xf2f3, 0xf4, 0xf5, IO0H)
+ FixedIO (0xf0f1, 0xf2, FIOH)
+ VendorShort () {0x00, 0xa2, 0xb3, 0x76, 0xd5, 0xe6, 0xf7}
+ Memory24 (ReadWrite, 0xf0f1, 0xf2f3, 0xf4f5, 0xf6f7, M24H)
+ Memory32 (ReadWrite, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff, M32H)
+ Memory32Fixed (ReadOnly, 0xf0f1f2f3, 0xf4f5f6f7, M3FH)
+ VendorLong () {0x9f,
+ 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
+ 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff,
+ 0x00, 0x01, 0x02, 0x03}
+ QWordIO (ResourceConsumer, MinFixed, MaxFixed, SubDecode, EntireRange,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ 0xff, "PATHPATHPATH", QIOH, TypeTranslation, SparseTranslation)
+ DWordIO (ResourceConsumer, MinFixed, MaxFixed, SubDecode, EntireRange,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ 0xff, "PATHPATHPATH", DIOH, TypeTranslation, SparseTranslation)
+ WordIO (ResourceConsumer, MinFixed, MaxFixed, SubDecode, EntireRange,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff,
+ 0xff, "PATHPATHPATH", WIOH, TypeTranslation, SparseTranslation)
+ QWordMemory (ResourceConsumer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadOnly,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ 0xff, "PATHPATHPATH", QMEH, AddressRangeACPI, TypeTranslation)
+ DWordMemory (ResourceConsumer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadOnly,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ 0xff, "PATHPATHPATH", DMEH, AddressRangeACPI, TypeTranslation)
+ WordBusNumber (ResourceConsumer, MinFixed, MaxFixed, SubDecode,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff,
+ 0xff, "PATHPATHPATH", WBNH)
+ Interrupt (ResourceConsumer, Edge, ActiveLow, Shared,
+ 0xff,
+ "!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*",
+ INTH) {
+ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
+ 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
+ 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
+ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
+ 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
+ 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,112,
+ 113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,
+ 129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,
+ 145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,
+ 161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,
+ 177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,
+ 193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,
+ 209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,
+ 225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,
+ 241,242,243,244,245,246,247,248,249,250,251,252,253,254,255}
+ Register (FFixedHW, 0xf0, 0xf1, 0xf2f3f4f5f6f7f8f9)
+ ExtendedIO (ResourceConsumer, MinFixed, MaxFixed, SubDecode, EntireRange,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ EIOH, TypeTranslation, SparseTranslation)
+ ExtendedMemory (ResourceConsumer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadOnly,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ EMEH, AddressRangeACPI, TypeTranslation)
+ ExtendedSpace (0xc0, ResourceConsumer, SubDecode, MinFixed, MaxFixed, 0x5a,
+ 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
+ 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ ESPH)
+ DWordSpace (0xc0, ResourceConsumer, SubDecode, MinFixed, MaxFixed, 0x5a,
+ 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,
+ 0xff, "PATHPATHPATH", DSPH)
+ QWordSpace (0xc0, ResourceConsumer, SubDecode, MinFixed, MaxFixed, 0x5a,
+ 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
+ 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
+ 0xff, "PATHPATHPATH", QSPH)
+ WordSpace (0xc0, ResourceConsumer, SubDecode, MinFixed, MaxFixed, 0x5a,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff,
+ 0xff, "PATHPATHPATH", WSPH)
+ }
+ StartDependentFn (1, 2) {
+ IRQ (Level, ActiveHigh, Exclusive, IRQJ) {0}
+ IRQNoFlags () {1}
+ DMA (Compatibility, NotBusMaster, Transfer16, DMAJ) {2}
+ IO (Decode16, 0xf0f1, 0xf2f3, 0xf4, 0xf5, IO0J)
+ FixedIO (0xf0f1, 0xf2, FIOJ)
+ VendorShort () {0x00, 0xa2, 0xb3, 0x76, 0xd5, 0xe6, 0xf7}
+ Memory24 (ReadWrite, 0xf0f1, 0xf2f3, 0xf4f5, 0xf6f7, M24J)
+ Memory32 (ReadWrite, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff, M32J)
+ Memory32Fixed (ReadOnly, 0xf0f1f2f3, 0xf4f5f6f7, M3FJ)
+ }
+ StartDependentFn (2, 0) {}
+ StartDependentFn (2, 1) {
+ IRQ (Level, ActiveHigh, Exclusive, IRQL) {0}
+ IRQNoFlags () {1}
+ DMA (Compatibility, NotBusMaster, Transfer16, DMAL) {2}
+ IO (Decode16, 0xf0f1, 0xf2f3, 0xf4, 0xf5, IO0L)
+ FixedIO (0xf0f1, 0xf2, FIOL)
+ VendorShort () {0x00, 0xa2, 0xb3, 0x76, 0xd5, 0xe6, 0xf7}
+ Memory24 (ReadWrite, 0xf0f1, 0xf2f3, 0xf4f5, 0xf6f7, M24L)
+ Memory32 (ReadWrite, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff, M32L)
+ Memory32Fixed (ReadOnly, 0xf0f1f2f3, 0xf4f5f6f7, M3FL)
+ VendorLong () {0x9f,
+ 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
+ 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff,
+ 0x00, 0x01, 0x02, 0x03}
+ }
+ StartDependentFn (2, 2) {}
+ EndDependentFn ()
+ })
+
+ m330(ts, 2, "p445", p445, p446)
+
+ // Checkings relating to RT00
+
+ m331(ts, 1, IRQ0._HE, 0x18, IRQ1._HE, 0x3b68, "_HE")
+ m331(ts, 2, IRQ0._LL, 0x1b, IRQ1._LL, 0x3b6b, "_LL")
+ m331(ts, 3, IRQ0._SHR, 0x1c, IRQ1._SHR, 0x3b6c, "_SHR")
+
+ m331(ts, 4, DMA0._TYP, 0x4d, DMA1._TYP, 0x3b9d, "_TYP")
+ m331(ts, 5, DMA0._BM, 0x4a, DMA1._BM, 0x3b9a, "_BM")
+ m331(ts, 6, DMA0._SIZ, 0x48, DMA1._SIZ, 0x3b98, "_SIZ")
+
+ m331(ts, 7, IO00._DEC, 0x58, IO01._DEC, 0x3ba8, "_DEC")
+ m331(ts, 8, IO00._MIN, 12, IO01._MIN, 1910, "_MIN")
+ m331(ts, 9, IO00._MAX, 14, IO01._MAX, 1912, "_MAX")
+ m331(ts, 10, IO00._ALN, 16, IO01._ALN, 1914, "_ALN")
+ m331(ts, 11, IO00._LEN, 17, IO01._LEN, 1915, "_LEN")
+
+ m331(ts, 12, FIO0._BAS, 19, FIO1._BAS, 1917, "_BAS")
+ m331(ts, 13, FIO0._LEN, 21, FIO1._LEN, 1919, "_LEN")
+
+ m331(ts, 14, M240._RW, 0x108, M241._RW, 0x3C58, "_RW")
+ m331(ts, 15, M240._MIN, 34, M241._MIN, 1932, "_MIN")
+ m331(ts, 16, M240._MAX, 36, M241._MAX, 1934, "_MAX")
+ m331(ts, 17, M240._ALN, 38, M241._ALN, 1936, "_ALN")
+ m331(ts, 18, M240._LEN, 40, M241._LEN, 1938, "_LEN")
+
+ m331(ts, 19, M320._RW, 0x168, M321._RW, 0x3CB8, "_RW")
+ m331(ts, 20, M320._MIN, 46, M321._MIN, 1944, "_MIN")
+ m331(ts, 21, M320._MAX, 50, M321._MAX, 1948, "_MAX")
+ m331(ts, 22, M320._ALN, 54, M321._ALN, 1952, "_ALN")
+ m331(ts, 23, M320._LEN, 58, M321._LEN, 1956, "_LEN")
+
+ m331(ts, 24, M3F0._RW, 0x208, M3F1._RW, 0x3D58, "_RW")
+ m331(ts, 25, M3F0._BAS, 66, M3F1._BAS, 1964, "_BAS")
+ m331(ts, 26, M3F0._LEN, 70, M3F1._LEN, 1968, "_LEN")
+
+ m331(ts, 27, QIO0._DEC, 0x331, QIO1._DEC, 0x3e81, "_DEC")
+ m331(ts, 28, QIO0._MIF, 0x332, QIO1._MIF, 0x3e82, "_MIF")
+ m331(ts, 29, QIO0._MAF, 0x333, QIO1._MAF, 0x3e83, "_MAF")
+ m331(ts, 30, QIO0._RNG, 0x338, QIO1._RNG, 0x3e88, "_RNG")
+ m331(ts, 31, QIO0._TTP, 0x33c, QIO1._TTP, 0x3e8c, "_TTP")
+ m331(ts, 32, QIO0._TRS, 0x33d, QIO1._TRS, 0x3e8d, "_TRS")
+ m331(ts, 33, QIO0._GRA, 104, QIO1._GRA, 2002, "_GRA")
+ m331(ts, 34, QIO0._MIN, 112, QIO1._MIN, 2010, "_MIN")
+ m331(ts, 35, QIO0._MAX, 120, QIO1._MAX, 2018, "_MAX")
+ m331(ts, 36, QIO0._TRA, 128, QIO1._TRA, 2026, "_TRA")
+ m331(ts, 37, QIO0._LEN, 136, QIO1._LEN, 2034, "_LEN")
+
+ m331(ts, 38, DIO0._DEC, 0x511, DIO1._DEC, 0x4061, "_DEC")
+ m331(ts, 39, DIO0._MIF, 0x512, DIO1._MIF, 0x4062, "_MIF")
+ m331(ts, 40, DIO0._MAF, 0x513, DIO1._MAF, 0x4063, "_MAF")
+ m331(ts, 41, DIO0._RNG, 0x518, DIO1._RNG, 0x4068, "_RNG")
+ m331(ts, 42, DIO0._TTP, 0x51c, DIO1._TTP, 0x406c, "_TTP")
+ m331(ts, 43, DIO0._TRS, 0x51d, DIO1._TRS, 0x406d, "_TRS")
+ m331(ts, 44, DIO0._GRA, 164, DIO1._GRA, 2062, "_GRA")
+ m331(ts, 45, DIO0._MIN, 168, DIO1._MIN, 2066, "_MIN")
+ m331(ts, 46, DIO0._MAX, 172, DIO1._MAX, 2070, "_MAX")
+ m331(ts, 47, DIO0._TRA, 176, DIO1._TRA, 2074, "_TRA")
+ m331(ts, 48, DIO0._LEN, 180, DIO1._LEN, 2078, "_LEN")
+
+ m331(ts, 49, WIO0._DEC, 0x651, WIO1._DEC, 0x41a1, "_DEC")
+ m331(ts, 50, WIO0._MIF, 0x652, WIO1._MIF, 0x41a2, "_MIF")
+ m331(ts, 51, WIO0._MAF, 0x653, WIO1._MAF, 0x41a3, "_MAF")
+ m331(ts, 52, WIO0._RNG, 0x658, WIO1._RNG, 0x41a8, "_RNG")
+ m331(ts, 53, WIO0._TTP, 0x65c, WIO1._TTP, 0x41ac, "_TTP")
+ m331(ts, 54, WIO0._TRS, 0x65d, WIO1._TRS, 0x41ad, "_TRS")
+ m331(ts, 55, WIO0._GRA, 204, WIO1._GRA, 2102, "_GRA")
+ m331(ts, 56, WIO0._MIN, 206, WIO1._MIN, 2104, "_MIN")
+ m331(ts, 57, WIO0._MAX, 208, WIO1._MAX, 2106, "_MAX")
+ m331(ts, 58, WIO0._TRA, 210, WIO1._TRA, 2108, "_TRA")
+ m331(ts, 59, WIO0._LEN, 212, WIO1._LEN, 2110, "_LEN")
+
+ m331(ts, 60, QME0._DEC, 0x741, QME1._DEC, 0x4291, "_DEC")
+ m331(ts, 61, QME0._MIF, 0x742, QME1._MIF, 0x4292, "_MIF")
+ m331(ts, 62, QME0._MAF, 0x743, QME1._MAF, 0x4293, "_MAF")
+ m331(ts, 63, QME0._RW, 0x748, QME1._RW, 0x4298, "_RW")
+ m331(ts, 64, QME0._MEM, 0x749, QME1._MEM, 0x4299, "_MEM")
+ m331(ts, 65, QME0._MTP, 0x74b, QME1._MTP, 0x429b, "_MTP")
+ m331(ts, 66, QME0._TTP, 0x74d, QME1._TTP, 0x429d, "_TTP")
+ m331(ts, 67, QME0._GRA, 234, QME1._GRA, 2132, "_GRA")
+ m331(ts, 68, QME0._MIN, 242, QME1._MIN, 2140, "_MIN")
+ m331(ts, 69, QME0._MAX, 250, QME1._MAX, 2148, "_MAX")
+ m331(ts, 70, QME0._TRA, 258, QME1._TRA, 2156, "_TRA")
+ m331(ts, 71, QME0._LEN, 266, QME1._LEN, 2164, "_LEN")
+
+ m331(ts, 72, DME0._DEC, 0x921, DME1._DEC, 0x4471, "_DEC")
+ m331(ts, 73, DME0._MIF, 0x922, DME1._MIF, 0x4472, "_MIF")
+ m331(ts, 74, DME0._MAF, 0x923, DME1._MAF, 0x4473, "_MAF")
+ m331(ts, 75, DME0._RW, 0x928, DME1._RW, 0x4478, "_RW")
+ m331(ts, 76, DME0._MEM, 0x929, DME1._MEM, 0x4479, "_MEM")
+ m331(ts, 77, DME0._MTP, 0x92b, DME1._MTP, 0x447b, "_MTP")
+ m331(ts, 78, DME0._TTP, 0x92d, DME1._TTP, 0x447d, "_TTP")
+ m331(ts, 79, DME0._GRA, 294, DME1._GRA, 2192, "_GRA")
+ m331(ts, 80, DME0._MIN, 298, DME1._MIN, 2196, "_MIN")
+ m331(ts, 81, DME0._MAX, 302, DME1._MAX, 2200, "_MAX")
+ m331(ts, 82, DME0._TRA, 306, DME1._TRA, 2204, "_TRA")
+ m331(ts, 83, DME0._LEN, 310, DME1._LEN, 2208, "_LEN")
+
+ m331(ts, 84, WBN0._DEC, 0xa61, WBN1._DEC, 0x45b1, "_DEC")
+ m331(ts, 85, WBN0._MIF, 0xa62, WBN1._MIF, 0x45b2, "_MIF")
+ m331(ts, 86, WBN0._MAF, 0xa63, WBN1._MAF, 0x45b3, "_MAF")
+ m331(ts, 87, WBN0._GRA, 334, WBN1._GRA, 2232, "_GRA")
+ m331(ts, 88, WBN0._MIN, 336, WBN1._MIN, 2234, "_MIN")
+ m331(ts, 89, WBN0._MAX, 338, WBN1._MAX, 2236, "_MAX")
+ m331(ts, 90, WBN0._TRA, 340, WBN1._TRA, 2238, "_TRA")
+ m331(ts, 91, WBN0._LEN, 342, WBN1._LEN, 2240, "_LEN")
+
+ m331(ts, 92, INT0._HE, 0xb49, INT1._HE, 0x4699, "_HE")
+ m331(ts, 93, INT0._LL, 0xb4a, INT1._LL, 0x469a, "_LL")
+ m331(ts, 94, INT0._SHR, 0xb4b, INT1._SHR, 0x469b, "_SHR")
+ m331(ts, 95, INT0._INT, 363, INT1._INT, 2261, "_INT")
+
+ m331(ts, 96, EIO0._DEC, 0x3221, EIO1._DEC, 0x6d71, "_DEC")
+ m331(ts, 97, EIO0._MIF, 0x3222, EIO1._MIF, 0x6d72, "_MIF")
+ m331(ts, 98, EIO0._MAF, 0x3223, EIO1._MAF, 0x6d73, "_MAF")
+ m331(ts, 99, EIO0._RNG, 0x3228, EIO1._RNG, 0x6d78, "_RNG")
+ m331(ts, 100, EIO0._TTP, 0x322c, EIO1._TTP, 0x6d7c, "_TTP")
+ m331(ts, 101, EIO0._TRS, 0x322d, EIO1._TRS, 0x6d7d, "_TRS")
+ m331(ts, 102, EIO0._GRA, 1608, EIO1._GRA, 3506, "_GRA")
+ m331(ts, 103, EIO0._MIN, 1616, EIO1._MIN, 3514, "_MIN")
+ m331(ts, 104, EIO0._MAX, 1624, EIO1._MAX, 3522, "_MAX")
+ m331(ts, 105, EIO0._TRA, 1632, EIO1._TRA, 3530, "_TRA")
+ m331(ts, 106, EIO0._LEN, 1640, EIO1._LEN, 3538, "_LEN")
+ m331(ts, 107, EIO0._ATT, 1648, EIO1._ATT, 3546, "_ATT")
+
+ m331(ts, 108, EME0._DEC, 0x33e1, EME1._DEC, 0x6f31, "_DEC")
+ m331(ts, 109, EME0._MIF, 0x33e2, EME1._MIF, 0x6f32, "_MIF")
+ m331(ts, 110, EME0._MAF, 0x33e3, EME1._MAF, 0x6f33, "_MAF")
+ m331(ts, 111, EME0._RW, 0x33e8, EME1._RW, 0x6f38, "_RW")
+ m331(ts, 112, EME0._MEM, 0x33e9, EME1._MEM, 0x6f39, "_MEM")
+ m331(ts, 113, EME0._MTP, 0x33eb, EME1._MTP, 0x6f3b, "_MTP")
+ m331(ts, 114, EME0._TTP, 0x33ed, EME1._TTP, 0x6f3d, "_TTP")
+ m331(ts, 115, EME0._GRA, 1664, EME1._GRA, 3562, "_GRA")
+ m331(ts, 116, EME0._MIN, 1672, EME1._MIN, 3570, "_MIN")
+ m331(ts, 117, EME0._MAX, 1680, EME1._MAX, 3578, "_MAX")
+ m331(ts, 118, EME0._TRA, 1688, EME1._TRA, 3586, "_TRA")
+ m331(ts, 119, EME0._LEN, 1696, EME1._LEN, 3594, "_LEN")
+ m331(ts, 120, EME0._ATT, 1704, EME1._ATT, 3602, "_ATT")
+
+ m331(ts, 121, ESP0._DEC, 0x35a1, ESP1._DEC, 0x70f1, "_DEC")
+ m331(ts, 122, ESP0._MIF, 0x35a2, ESP1._MIF, 0x70f2, "_MIF")
+ m331(ts, 123, ESP0._MAF, 0x35a3, ESP1._MAF, 0x70f3, "_MAF")
+ m331(ts, 124, ESP0._GRA, 1720, ESP1._GRA, 3618, "_GRA")
+ m331(ts, 125, ESP0._MIN, 1728, ESP1._MIN, 3626, "_MIN")
+ m331(ts, 126, ESP0._MAX, 1736, ESP1._MAX, 3634, "_MAX")
+ m331(ts, 127, ESP0._TRA, 1744, ESP1._TRA, 3642, "_TRA")
+ m331(ts, 128, ESP0._LEN, 1752, ESP1._LEN, 3650, "_LEN")
+ m331(ts, 129, ESP0._ATT, 1760, ESP1._ATT, 3658, "_ATT")
+
+ m331(ts, 130, DSP0._DEC, 0x3761, DSP1._DEC, 0x72b1, "_DEC")
+ m331(ts, 131, DSP0._MIF, 0x3762, DSP1._MIF, 0x72b2, "_MIF")
+ m331(ts, 132, DSP0._MAF, 0x3763, DSP1._MAF, 0x72b3, "_MAF")
+ m331(ts, 133, DSP0._GRA, 1774, DSP1._GRA, 3672, "_GRA")
+ m331(ts, 134, DSP0._MIN, 1778, DSP1._MIN, 3676, "_MIN")
+ m331(ts, 135, DSP0._MAX, 1782, DSP1._MAX, 3680, "_MAX")
+ m331(ts, 136, DSP0._TRA, 1786, DSP1._TRA, 3684, "_TRA")
+ m331(ts, 137, DSP0._LEN, 1790, DSP1._LEN, 3688, "_LEN")
+
+ m331(ts, 138, QSP0._DEC, 0x38a1, QSP1._DEC, 0x73f1, "_DEC")
+ m331(ts, 139, QSP0._MIF, 0x38a2, QSP1._MIF, 0x73f2, "_MIF")
+ m331(ts, 140, QSP0._MAF, 0x38a3, QSP1._MAF, 0x73f3, "_MAF")
+ m331(ts, 141, QSP0._GRA, 1814, QSP1._GRA, 3712, "_GRA")
+ m331(ts, 142, QSP0._MIN, 1822, QSP1._MIN, 3720, "_MIN")
+ m331(ts, 143, QSP0._MAX, 1830, QSP1._MAX, 3728, "_MAX")
+ m331(ts, 144, QSP0._TRA, 1838, QSP1._TRA, 3736, "_TRA")
+ m331(ts, 145, QSP0._LEN, 1846, QSP1._LEN, 3744, "_LEN")
+
+ m331(ts, 146, WSP0._DEC, 0x3a81, WSP1._DEC, 0x75d1, "_DEC")
+ m331(ts, 147, WSP0._MIF, 0x3a82, WSP1._MIF, 0x75d2, "_MIF")
+ m331(ts, 148, WSP0._MAF, 0x3a83, WSP1._MAF, 0x75d3, "_MAF")
+ m331(ts, 149, WSP0._GRA, 1874, WSP1._GRA, 3772, "_GRA")
+ m331(ts, 150, WSP0._MIN, 1876, WSP1._MIN, 3774, "_MIN")
+ m331(ts, 151, WSP0._MAX, 1878, WSP1._MAX, 3776, "_MAX")
+ m331(ts, 152, WSP0._TRA, 1880, WSP1._TRA, 3778, "_TRA")
+ m331(ts, 153, WSP0._LEN, 1882, WSP1._LEN, 3780, "_LEN")
+
+ // Checkings relating to RT01
+
+ m331(ts, 154, IRQ2._HE, 0x18, IRQ3._HE, 0x4778, "_HE")
+ m331(ts, 155, IRQ2._LL, 0x1b, IRQ3._LL, 0x477b, "_LL")
+ m331(ts, 156, IRQ2._SHR, 0x1c, IRQ3._SHR, 0x477c, "_SHR")
+
+ m331(ts, 157, IRQ4._HE, 0x58, IRQ5._HE, 0x47b8, "_HE")
+ m331(ts, 158, IRQ4._LL, 0x5b, IRQ5._LL, 0x47bb, "_LL")
+ m331(ts, 159, IRQ4._SHR, 0x5c, IRQ5._SHR, 0x47bc, "_SHR")
+
+ m331(ts, 160, DMA4._TYP, 0x8d, DMA5._TYP, 0x47ed, "_TYP")
+ m331(ts, 161, DMA4._BM, 0x8a, DMA5._BM, 0x47ea, "_BM")
+ m331(ts, 162, DMA4._SIZ, 0x88, DMA5._SIZ, 0x47e8, "_SIZ")
+
+ m331(ts, 163, IRQ6._HE, 0xb0, IRQ7._HE, 0x4810, "_HE")
+ m331(ts, 164, IRQ6._LL, 0xb3, IRQ7._LL, 0x4813, "_LL")
+ m331(ts, 165, IRQ6._SHR, 0xb4, IRQ7._SHR, 0x4814, "_SHR")
+
+ m331(ts, 166, DMA6._TYP, 0xe5, DMA7._TYP, 0x4845, "_TYP")
+ m331(ts, 167, DMA6._BM, 0xe2, DMA7._BM, 0x4842, "_BM")
+ m331(ts, 168, DMA6._SIZ, 0xe0, DMA7._SIZ, 0x4840, "_SIZ")
+
+ m331(ts, 169, IO06._DEC, 0xf0, IO07._DEC, 0x4850, "_DEC")
+ m331(ts, 170, IO06._MIN, 31, IO07._MIN, 2315, "_MIN")
+ m331(ts, 171, IO06._MAX, 33, IO07._MAX, 2317, "_MAX")
+ m331(ts, 172, IO06._ALN, 35, IO07._ALN, 2319, "_ALN")
+ m331(ts, 173, IO06._LEN, 36, IO07._LEN, 2320, "_LEN")
+
+ m331(ts, 174, IRQ8._HE, 0x150, IRQ9._HE, 0x48b0, "_HE")
+ m331(ts, 175, IRQ8._LL, 0x153, IRQ9._LL, 0x48b3, "_LL")
+ m331(ts, 176, IRQ8._SHR, 0x154, IRQ9._SHR, 0x48b4, "_SHR")
+
+ m331(ts, 177, DMA8._TYP, 0x185, DMA9._TYP, 0x48e5, "_TYP")
+ m331(ts, 178, DMA8._BM, 0x182, DMA9._BM, 0x48e2, "_BM")
+ m331(ts, 179, DMA8._SIZ, 0x180, DMA9._SIZ, 0x48e0, "_SIZ")
+
+ m331(ts, 180, IO08._DEC, 0x190, IO09._DEC, 0x48f0, "_DEC")
+ m331(ts, 181, IO08._MIN, 51, IO09._MIN, 2335, "_MIN")
+ m331(ts, 182, IO08._MAX, 53, IO09._MAX, 2337, "_MAX")
+ m331(ts, 183, IO08._ALN, 55, IO09._ALN, 2339, "_ALN")
+ m331(ts, 184, IO08._LEN, 56, IO09._LEN, 2340, "_LEN")
+
+ m331(ts, 185, FIO8._BAS, 58, FIO9._BAS, 2342, "_BAS")
+ m331(ts, 186, FIO8._LEN, 60, FIO9._LEN, 2344, "_LEN")
+
+ m331(ts, 187, IRQA._HE, 0x210, IRQB._HE, 0x4970, "_HE")
+ m331(ts, 188, IRQA._LL, 0x213, IRQB._LL, 0x4973, "_LL")
+ m331(ts, 189, IRQA._SHR, 0x214, IRQB._SHR, 0x4974, "_SHR")
+
+ m331(ts, 190, DMAA._TYP, 0x245, DMAB._TYP, 0x49a5, "_TYP")
+ m331(ts, 191, DMAA._BM, 0x242, DMAB._BM, 0x49a2, "_BM")
+ m331(ts, 192, DMAA._SIZ, 0x240, DMAB._SIZ, 0x49a0, "_SIZ")
+
+ m331(ts, 193, IO0A._DEC, 0x250, IO0B._DEC, 0x49b0, "_DEC")
+ m331(ts, 194, IO0A._MIN, 75, IO0B._MIN, 2359, "_MIN")
+ m331(ts, 195, IO0A._MAX, 77, IO0B._MAX, 2361, "_MAX")
+ m331(ts, 196, IO0A._ALN, 79, IO0B._ALN, 2363, "_ALN")
+ m331(ts, 197, IO0A._LEN, 80, IO0B._LEN, 2364, "_LEN")
+
+ m331(ts, 198, FIOA._BAS, 82, FIOB._BAS, 2366, "_BAS")
+ m331(ts, 199, FIOA._LEN, 84, FIOB._LEN, 2368, "_LEN")
+
+ m331(ts, 200, IRQC._HE, 0x310, IRQD._HE, 0x4a70, "_HE")
+ m331(ts, 201, IRQC._LL, 0x313, IRQD._LL, 0x4a73, "_LL")
+ m331(ts, 202, IRQC._SHR, 0x314, IRQD._SHR, 0x4a74, "_SHR")
+
+ m331(ts, 203, DMAC._TYP, 0x345, DMAD._TYP, 0x4aa5, "_TYP")
+ m331(ts, 204, DMAC._BM, 0x342, DMAD._BM, 0x4aa2, "_BM")
+ m331(ts, 205, DMAC._SIZ, 0x340, DMAD._SIZ, 0x4aa0, "_SIZ")
+
+ m331(ts, 206, IO0C._DEC, 0x350, IO0D._DEC, 0x4ab0, "_DEC")
+ m331(ts, 207, IO0C._MIN, 107, IO0D._MIN, 2391, "_MIN")
+ m331(ts, 208, IO0C._MAX, 109, IO0D._MAX, 2393, "_MAX")
+ m331(ts, 209, IO0C._ALN, 111, IO0D._ALN, 2395, "_ALN")
+ m331(ts, 210, IO0C._LEN, 112, IO0D._LEN, 2396, "_LEN")
+
+ m331(ts, 211, FIOC._BAS, 114, FIOD._BAS, 2398, "_BAS")
+ m331(ts, 212, FIOC._LEN, 116, FIOD._LEN, 2400, "_LEN")
+
+ m331(ts, 213, M24C._RW, 0x400, M24D._RW, 0x4b60, "_RW")
+ m331(ts, 214, M24C._MIN, 129, M24D._MIN, 2413, "_MIN")
+ m331(ts, 215, M24C._MAX, 131, M24D._MAX, 2415, "_MAX")
+ m331(ts, 216, M24C._ALN, 133, M24D._ALN, 2417, "_ALN")
+ m331(ts, 217, M24C._LEN, 135, M24D._LEN, 2419, "_LEN")
+
+ m331(ts, 218, IRQE._HE, 0x470, IRQF._HE, 0x4bd0, "_HE")
+ m331(ts, 219, IRQE._LL, 0x473, IRQF._LL, 0x4bd3, "_LL")
+ m331(ts, 220, IRQE._SHR, 0x474, IRQF._SHR, 0x4bd4, "_SHR")
+
+ m331(ts, 221, DMAE._TYP, 0x4a5, DMAF._TYP, 0x4c05, "_TYP")
+ m331(ts, 222, DMAE._BM, 0x4a2, DMAF._BM, 0x4c02, "_BM")
+ m331(ts, 223, DMAE._SIZ, 0x4a0, DMAF._SIZ, 0x4c00, "_SIZ")
+
+ m331(ts, 224, IO0E._DEC, 0x4b0, IO0F._DEC, 0x4c10, "_DEC")
+ m331(ts, 225, IO0E._MIN, 151, IO0F._MIN, 2435, "_MIN")
+ m331(ts, 226, IO0E._MAX, 153, IO0F._MAX, 2437, "_MAX")
+ m331(ts, 227, IO0E._ALN, 155, IO0F._ALN, 2439, "_ALN")
+ m331(ts, 228, IO0E._LEN, 156, IO0F._LEN, 2440, "_LEN")
+
+ m331(ts, 229, FIOE._BAS, 158, FIOF._BAS, 2442, "_BAS")
+ m331(ts, 230, FIOE._LEN, 160, FIOF._LEN, 2444, "_LEN")
+
+ m331(ts, 231, M24E._RW, 0x560, M24F._RW, 0x4cc0, "_RW")
+ m331(ts, 232, M24E._MIN, 173, M24F._MIN, 2457, "_MIN")
+ m331(ts, 233, M24E._MAX, 175, M24F._MAX, 2459, "_MAX")
+ m331(ts, 234, M24E._ALN, 177, M24F._ALN, 2461, "_ALN")
+ m331(ts, 235, M24E._LEN, 179, M24F._LEN, 2463, "_LEN")
+
+ m331(ts, 236, M32E._RW, 0x5c0, M32F._RW, 0x4d20, "_RW")
+ m331(ts, 237, M32E._MIN, 185, M32F._MIN, 2469, "_MIN")
+ m331(ts, 238, M32E._MAX, 189, M32F._MAX, 2473, "_MAX")
+ m331(ts, 239, M32E._ALN, 193, M32F._ALN, 2477, "_ALN")
+ m331(ts, 240, M32E._LEN, 197, M32F._LEN, 2481, "_LEN")
+
+ // Checkings below are not exhaustive
+
+ m331(ts, 241, M3FG._RW, 0x860, M3FH._RW, 0x4fc0, "_RW")
+ m331(ts, 242, M3FG._BAS, 269, M3FH._BAS, 2553, "_BAS")
+ m331(ts, 243, M3FG._LEN, 273, M3FH._LEN, 2557, "_LEN")
+
+ m331(ts, 244, M3FI._RW, 0x43c0, M3FJ._RW, 0x8b20, "_RW")
+ m331(ts, 245, M3FI._BAS, 2169, M3FJ._BAS, 4453, "_BAS")
+ m331(ts, 246, M3FI._LEN, 2173, M3FJ._LEN, 4457, "_LEN")
+
+ m331(ts, 247, M3FK._RW, 0x4630, M3FL._RW, 0x8d90, "_RW")
+ m331(ts, 248, M3FK._BAS, 2247, M3FL._BAS, 4531, "_BAS")
+ m331(ts, 249, M3FK._LEN, 2251, M3FL._LEN, 4535, "_LEN")
+} \ No newline at end of file
diff --git a/tests/aslts/src/runtime/collections/functional/descriptor/rtemplate.asl b/tests/aslts/src/runtime/collections/functional/descriptor/rtemplate.asl
new file mode 100644
index 000000000..a2f2560bd
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/descriptor/rtemplate.asl
@@ -0,0 +1,166 @@
+/*
+ * 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.
+ */
+
+/*
+ * Resource Descriptor macros
+ */
+
+Name(z029, 29)
+
+Method(m330, 5) // ts, len, msg, op, res
+{
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+
+ Store(arg1, lpN0)
+ Store(0, lpC0)
+
+ While(lpN0) {
+
+ // Operand
+
+ Store(DeRefOf(Index(arg3, lpC0)), Local0)
+
+ // Expected result
+
+ Store(DeRefOf(Index(arg4, lpC0)), Local1)
+
+ if (LNotEqual(Local0, Local1)) {
+ err(arg0, z029, 0, 0, 0, lpC0, arg2)
+ }
+
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+ return (0)
+}
+
+Method(m331, 7) // ts, grerr, val0, ver0, val1, ver1, msg
+{
+ if (LNotEqual(arg2, arg3)) {
+ err(arg0, z029, arg1, 0, 0, 0, arg6)
+ }
+ if (LNotEqual(arg4, arg5)) {
+ err(arg0, z029, arg1, 0, 0, 1, arg6)
+ }
+}
+
+Method(m332, 6) // ts, len, msg, op1, op2, res
+{
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+
+ Store(arg1, lpN0)
+ Store(0, lpC0)
+
+ While(lpN0) {
+
+ // Operand 1
+
+ Store(DeRefOf(Index(arg3, lpC0)), Local0)
+
+ // Operand 2
+
+ Store(DeRefOf(Index(arg4, lpC0)), Local1)
+
+ // Expected result
+
+ Store(DeRefOf(Index(arg5, lpC0)), Local2)
+
+ Store(ConcatenateResTemplate(Local0, Local1), Local3)
+
+
+ if (LNotEqual(Local3, Local2)) {
+ Store(Local3, Debug)
+ Store(Local2, Debug)
+ err(arg0, z029, 3, 0, 0, lpC0, arg2)
+ }
+
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+ return (0)
+}
+
+// components/utilities/utmisc.c AcpiUtGenerateChecksum() analog
+Method(m335, 2) // buf, len
+{
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+
+ Store(0, Local0) // sum
+
+ Store(arg1, lpN0)
+ Store(0, lpC0)
+
+ While(lpN0) {
+ Store(DeRefOf(Index(arg0, lpC0)), Local1)
+ Add(Local0, Local1, Local0)
+ Mod(Local0, 0x100, Local0)
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+
+ Subtract(0, Local0, Local0)
+ Mod(Local0, 0x100, Local0)
+
+ Store("checksum", Debug)
+ Store(Local0, Debug)
+
+ return (Local0)
+}
+
+// Updates the last byte of each buffer in package with checksum
+Method(m334, 2) // pkg, len
+{
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+
+ Store(arg1, lpN0)
+ Store(0, lpC0)
+
+ While(lpN0) {
+
+ Store(DeRefOf(Index(arg0, lpC0)), Local1)
+ Store(SizeOf(Local1), Local2)
+
+ if (Local2) {
+ Decrement(Local2)
+ Store(m335(Local1, Local2), Local3)
+ Store(Local3, Index(Local1, Local2))
+ Store(Local1, Index(arg0, lpC0))
+ }
+
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+
+ return (0)
+}
diff --git a/tests/aslts/src/runtime/collections/functional/descriptor/vendorlong.asl b/tests/aslts/src/runtime/collections/functional/descriptor/vendorlong.asl
new file mode 100644
index 000000000..e2c6d66c2
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/descriptor/vendorlong.asl
@@ -0,0 +1,168 @@
+/*
+ * 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.
+ */
+
+/*
+ * Resource Descriptor macros
+ *
+ * Long Vendor Resource Descriptor
+ */
+
+Name (p410, Package() {
+ ResourceTemplate () {
+ VendorLong () {0x8f,
+ 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
+ 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff}
+ },
+ ResourceTemplate () {
+ VendorLong () {0x9f,
+ 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
+ 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff,
+ 0x00, 0x01, 0x02, 0x03}
+ },
+
+ ResourceTemplate () {
+ VendorLong () {0xaf,
+ 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
+ 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff,
+ // 257 bytes
+ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
+ 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
+ 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
+ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
+ 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
+ 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,112,
+ 113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,
+ 129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,
+ 145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,
+ 161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,
+ 177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,
+ 193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,
+ 209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,
+ 225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,
+ 241,242,243,244,245,246,247,248,249,250,251,252,253,254,255, 0, 1}
+ },
+
+ // next cases might produce compiler warnings or errors
+ ResourceTemplate () {
+ VendorLong () {}
+ },
+ ResourceTemplate () {
+ VendorLong () {0xbf}
+ },
+ ResourceTemplate () {
+ VendorLong () {0xcf,
+ 0xf0}
+ },
+ ResourceTemplate () {
+ VendorLong () {0xdf,
+ 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
+ 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe}
+ },
+})
+
+/*
+ACPI Specification, Revision 3.0, September 2, 2004
+6.4.3.2 Vendor-Defined Descriptor
+
+Large Vendor-Defined Descriptor layout:
+
+Byte 0 (Tag Bits): Value = 10000100B (0X84) (Type = 1, Large item name = 0x4)
+Byte 1 (Length, bits[7:0]): Lower eight bits of data length (UUIID & vendor defined data)
+Byte 2 (Length, bits[15:8]): Upper eight bits of data length (UUID & vendor defined data)
+Byte 3 (UUID specific descriptor sub type): UUID specific descriptor sub type value
+Byte 4-19 (UUID): UUID Value
+Byte 20-(Length+2) (Vendor Defined Data): Vendor defined data bytes
+*/
+
+Name (p411, Package() {
+ Buffer () {
+ 0x84, 0x11, 0x00, 0x8f,
+ 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
+ 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff, 0x79, 0x00},
+ Buffer () {
+ 0x84, 0x15, 0x00, 0x9f,
+ 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
+ 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff,
+ 0x00, 0x01, 0x02, 0x03, 0x79, 0x00},
+ Buffer () {
+ 0x84, 0x12, 0x01, 0xaf,
+ 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
+ 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff,
+ // 257 bytes
+ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
+ 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
+ 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
+ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
+ 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
+ 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,112,
+ 113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,
+ 129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,
+ 145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,
+ 161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,
+ 177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,
+ 193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,
+ 209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,
+ 225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,
+ 241,242,243,244,245,246,247,248,249,250,251,252,253,254,255, 0, 1,
+ 0x79, 0x00},
+
+ Buffer () {
+ 0x84, 0x00, 0x00, 0x79, 0x00},
+ Buffer () {
+ 0x84, 0x01, 0x00, 0xbf, 0x79, 0x00},
+ Buffer () {
+ 0x84, 0x02, 0x00, 0xcf,
+ 0xf0, 0x79, 0x00},
+ Buffer () {
+ 0x84, 0x10, 0x00, 0xdf,
+ 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
+ 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0x79, 0x00},
+})
+
+Method(RT09)
+{
+ Name(ts, "RT09")
+
+ Store("TEST: RT09, Long Vendor Resource Descriptor", Debug)
+
+ m330(ts, 7, "p410", p410, p411)
+
+ // VendorLong has DescriptorName
+ // but has not fields in it.
+
+ Store (
+ ResourceTemplate () {
+ VendorLong (VL00) {0x8f,
+ 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
+ 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff}
+ }, Local0)
+}
diff --git a/tests/aslts/src/runtime/collections/functional/descriptor/vendorshort.asl b/tests/aslts/src/runtime/collections/functional/descriptor/vendorshort.asl
new file mode 100644
index 000000000..45e39d063
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/descriptor/vendorshort.asl
@@ -0,0 +1,93 @@
+/*
+ * 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.
+ */
+
+/*
+ * Resource Descriptor macros
+ *
+ * Short Vendor Resource Descriptor
+ */
+
+Name (p40c, Package() {
+ ResourceTemplate () {
+ VendorShort () {}
+ },
+ ResourceTemplate () {
+ VendorShort () {0xf1}
+ },
+ ResourceTemplate () {
+ VendorShort () {0xe1, 0xf2}
+ },
+ ResourceTemplate () {
+ VendorShort () {0xd1, 0xe2, 0xf3}
+ },
+ ResourceTemplate () {
+ VendorShort () {0x00, 0xd2, 0xe3, 0xf4}
+ },
+ ResourceTemplate () {
+ VendorShort () {0xb1, 0xc2, 0x00, 0xe4, 0xf5}
+ },
+ ResourceTemplate () {
+ VendorShort () {0xa1, 0xb2, 0xc3, 0xd4, 0xe5, 0xf6}
+ },
+ ResourceTemplate () {
+ VendorShort () {0x00, 0xa2, 0xb3, 0x76, 0xd5, 0xe6, 0xf7}
+ },
+})
+
+/*
+ACPI Specification, Revision 3.0, September 2, 2004
+6.4.2.7 Vendor-Defined Descriptor
+
+Vendor-Defined Descriptor layout:
+
+Byte 0 (Tag Bits): Value = 01110nnnB (0x71-0x77)(Type = 0, small item name = 0xE, length = (1-7))
+
+Byte 1 to 7 - Vendor defined
+*/
+
+Name (p40d, Package() {
+ Buffer () {0x70, 0x79, 0x00},
+ Buffer () {0x71, 0xf1, 0x79, 0x00},
+ Buffer () {0x72, 0xe1, 0xf2, 0x79, 0x00},
+ Buffer () {0x73, 0xd1, 0xe2, 0xf3, 0x79, 0x00},
+ Buffer () {0x74, 0x00, 0xd2, 0xe3, 0xf4, 0x79, 0x00},
+ Buffer () {0x75, 0xb1, 0xc2, 0x00, 0xe4, 0xf5, 0x79, 0x00},
+ Buffer () {0x76, 0xa1, 0xb2, 0xc3, 0xd4, 0xe5, 0xf6, 0x79, 0x00},
+ Buffer () {0x77, 0x00, 0xa2, 0xb3, 0x76, 0xd5, 0xe6, 0xf7, 0x79, 0x00},
+})
+
+Method(RT07)
+{
+ Name(ts, "RT07")
+
+ Store("TEST: RT07, Short Vendor Resource Descriptor", Debug)
+
+ m330(ts, 8, "p40c", p40c, p40d)
+}
diff --git a/tests/aslts/src/runtime/collections/functional/descriptor/wordbusnumber.asl b/tests/aslts/src/runtime/collections/functional/descriptor/wordbusnumber.asl
new file mode 100644
index 000000000..84d7e6d3c
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/descriptor/wordbusnumber.asl
@@ -0,0 +1,353 @@
+/*
+ * 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.
+ */
+
+/*
+ * Resource Descriptor macros
+ *
+ * Word Bus Number Resource Descriptor Macro
+ */
+
+Name (p428, Package() {
+
+ // Byte 4 (General Flags) of Word Address Space Descriptor
+
+ ResourceTemplate () {
+ WordBusNumber (ResourceProducer, MinNotFixed, MaxNotFixed, PosDecode,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff)
+ },
+ ResourceTemplate () {
+ WordBusNumber (ResourceProducer, MinNotFixed, MaxNotFixed, SubDecode,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff)
+ },
+ ResourceTemplate () {
+ WordBusNumber (ResourceProducer, MinNotFixed, MaxFixed, PosDecode,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff)
+ },
+ ResourceTemplate () {
+ WordBusNumber (ResourceProducer, MinNotFixed, MaxFixed, SubDecode,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff)
+ },
+ ResourceTemplate () {
+ WordBusNumber (ResourceProducer, MinFixed, MaxNotFixed, PosDecode,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff)
+ },
+ ResourceTemplate () {
+ WordBusNumber (ResourceProducer, MinFixed, MaxNotFixed, SubDecode,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff)
+ },
+ ResourceTemplate () {
+ WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff)
+ },
+ ResourceTemplate () {
+ WordBusNumber (ResourceProducer, MinFixed, MaxFixed, SubDecode,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff)
+ },
+ ResourceTemplate () {
+ WordBusNumber (ResourceConsumer, MinNotFixed, MaxNotFixed, PosDecode,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff)
+ },
+ ResourceTemplate () {
+ WordBusNumber (ResourceConsumer, MinNotFixed, MaxNotFixed, SubDecode,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff)
+ },
+ ResourceTemplate () {
+ WordBusNumber (ResourceConsumer, MinNotFixed, MaxFixed, PosDecode,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff)
+ },
+ ResourceTemplate () {
+ WordBusNumber (ResourceConsumer, MinNotFixed, MaxFixed, SubDecode,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff)
+ },
+ ResourceTemplate () {
+ WordBusNumber (ResourceConsumer, MinFixed, MaxNotFixed, PosDecode,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff)
+ },
+ ResourceTemplate () {
+ WordBusNumber (ResourceConsumer, MinFixed, MaxNotFixed, SubDecode,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff)
+ },
+ ResourceTemplate () {
+ WordBusNumber (ResourceConsumer, MinFixed, MaxFixed, PosDecode,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff)
+ },
+ ResourceTemplate () {
+ WordBusNumber (ResourceConsumer, MinFixed, MaxFixed, SubDecode,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff)
+ },
+
+ // Particular cases
+
+ ResourceTemplate () {
+ WordBusNumber ( , , , ,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff)
+ },
+ ResourceTemplate () {
+ WordBusNumber ( , , , ,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff, )
+ },
+
+ // Resource Source
+
+ ResourceTemplate () {
+ WordBusNumber ( , , , ,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff,
+ 0x01, "")
+ },
+ ResourceTemplate () {
+ WordBusNumber ( , , , ,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff,
+ 0x0f, "P")
+ },
+ ResourceTemplate () {
+ WordBusNumber ( , , , ,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff,
+ 0xf0, "PATH")
+ },
+ ResourceTemplate () {
+ WordBusNumber ( , , , ,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff,
+ 0xff,
+ "!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*",
+ )
+ },
+
+ // Particular cases
+
+ ResourceTemplate () {
+ WordBusNumber (ResourceConsumer, MinFixed, MaxFixed, SubDecode,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff,
+ 0xff, "PATHPATHPATH", WBN0)
+ },
+ ResourceTemplate () {
+ WordBusNumber (ResourceConsumer, MinFixed, MaxFixed, SubDecode,
+ 0, 0, 0, 0, 0,
+ 0xff, "PATHPATHPATH", )
+ },
+
+ // 20051021, relaxation for omitted ResourceSource (bug-fix 70 rejection)
+ ResourceTemplate () {
+ WordBusNumber ( , , , ,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff,
+ 0x0f)
+ },
+})
+
+/*
+ACPI Specification, Revision 3.0, September 2, 2004
+6.4.3.5.3 Word Address Space Descriptor
+
+Bus Number Word Address Space Descriptor layout:
+
+Byte 0 (Tag Bits): Value=10001000B (0x88) (Type = 1, Large item name = 0x8)
+Byte 1 (Length, bits[7:0]): Variable: Value = 13 (minimum)
+Byte 2 (Length, bits[15:8]): Variable: Value = 0 (minimum)
+Byte 3 (Resource Type):
+ 2 Bus number range
+Byte 4 (General Flags):
+ Bits[7:4] Reserved (must be 0)
+ Bit[3] Min Address Fixed, _MAF:
+ 1 The specified maximum address is fixed
+ 0 The specified maximum address is not fixed
+ and can be changed
+ Bit[2] Max Address Fixed,_MIF:
+ 1 The specified minimum address is fixed
+ 0 The specified minimum address is not fixed
+ and can be changed
+ Bit[1] Decode Type, _DEC:
+ 1 This bridge subtractively decodes this address
+ (top level bridges only)
+ 0 This bridge positively decodes this address
+ Bit[0] Consumer/Producer:
+ 1-This device consumes this resource
+ 0-This device produces and consumes this resource
+Byte 5 (Type Specific Flags):
+ Flags that are specific to each resource type. The meaning of the flags
+ in this field depends on the value of the Resource Type field (see above)
+ Bit[7:0] Reserved (must be 0)
+Byte 6 (Address space granularity, _GRA bits[7:0]):
+ A set bit in this mask means that this bit is decoded. All bits less
+ significant than the most significant set bit must be set. (in other
+ words, the value of the full Address Space Granularity field (all 16
+ bits) must be a number (2**n-1).
+Byte 7 (Address space granularity, _GRA bits[15:8])
+Byte 8 (Address range minimum, _MIN bits [7:0]):
+ For bridges that translate addresses, this is the address space
+ on the secondary side of the bridge
+Byte 9 (Address range minimum, _MIN bits[15:8])
+Byte 10 (Address range maximum, _MAX bits [7:0]): See comment for _MIN
+Byte 11 (Address range maximum, _MAX bits[15:8])
+Byte 12 (Address Translation offset, _TRA bits [7:0]):
+ For bridges that translate addresses across the bridge, this is the
+ offset that must be added to the address on the secondary side to obtain
+ the address on the primary side. Non-bridge devices must list 0 for all
+ Address Translation offset bits
+Byte 13 (Address Translation offset, _TRA bits[15:8])
+Byte 14 (Address Length, _LEN bits [7:0])
+Byte 15 (Address Length, _LEN bits[15:8])
+Byte 16 (Resource Source Index):
+ (Optional) Only present if Resource Source (below) is present. This
+ field gives an index to the specific resource descriptor that this
+ device consumes from in the current resource template for the device
+ object pointed to in Resource Source
+String (Resource Source):
+ (Optional) If present, the device that uses this descriptor consumes
+ its resources from the resources produced by the named device object.
+ If not present, the device consumes its resources out of a global pool.
+ If not present, the device consumes this resource from its hierarchical
+ parent.
+*/
+
+Name (p429, Package() {
+
+ // Byte 4 (General Flags) of Word Address Space Descriptor
+
+ Buffer () {0x88, 0x0d, 0x00, 0x02, 0x00, 0x00,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe, 0x79, 0x00},
+ Buffer () {0x88, 0x0d, 0x00, 0x02, 0x02, 0x00,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe, 0x79, 0x00},
+ Buffer () {0x88, 0x0d, 0x00, 0x02, 0x08, 0x00,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe, 0x79, 0x00},
+ Buffer () {0x88, 0x0d, 0x00, 0x02, 0x0a, 0x00,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe, 0x79, 0x00},
+ Buffer () {0x88, 0x0d, 0x00, 0x02, 0x04, 0x00,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe, 0x79, 0x00},
+ Buffer () {0x88, 0x0d, 0x00, 0x02, 0x06, 0x00,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe, 0x79, 0x00},
+ Buffer () {0x88, 0x0d, 0x00, 0x02, 0x0c, 0x00,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe, 0x79, 0x00},
+ Buffer () {0x88, 0x0d, 0x00, 0x02, 0x0e, 0x00,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe, 0x79, 0x00},
+ Buffer () {0x88, 0x0d, 0x00, 0x02, 0x01, 0x00,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe, 0x79, 0x00},
+ Buffer () {0x88, 0x0d, 0x00, 0x02, 0x03, 0x00,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe, 0x79, 0x00},
+ Buffer () {0x88, 0x0d, 0x00, 0x02, 0x09, 0x00,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe, 0x79, 0x00},
+ Buffer () {0x88, 0x0d, 0x00, 0x02, 0x0b, 0x00,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe, 0x79, 0x00},
+ Buffer () {0x88, 0x0d, 0x00, 0x02, 0x05, 0x00,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe, 0x79, 0x00},
+ Buffer () {0x88, 0x0d, 0x00, 0x02, 0x07, 0x00,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe, 0x79, 0x00},
+ Buffer () {0x88, 0x0d, 0x00, 0x02, 0x0d, 0x00,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe, 0x79, 0x00},
+ Buffer () {0x88, 0x0d, 0x00, 0x02, 0x0f, 0x00,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe, 0x79, 0x00},
+
+ // Particular cases
+
+ Buffer () {0x88, 0x0d, 0x00, 0x02, 0x01, 0x00,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe, 0x79, 0x00},
+ Buffer () {0x88, 0x0d, 0x00, 0x02, 0x01, 0x00,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe, 0x79, 0x00},
+
+ // Resource Source
+
+ Buffer () {0x88, 0x0f, 0x00, 0x02, 0x01, 0x00,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe,
+ 0x01, 0x00, 0x79, 0x00},
+ Buffer () {0x88, 0x10, 0x00, 0x02, 0x01, 0x00,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe,
+ 0x0f, 0x50, 0x00, 0x79, 0x00},
+ Buffer () {0x88, 0x13, 0x00, 0x02, 0x01, 0x00,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe,
+ 0xf0, 0x50, 0x41, 0x54, 0x48, 0x00, 0x79, 0x00},
+ Buffer () {0x88, 0xd7, 0x00, 0x02, 0x01, 0x00,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe,
+ 0xff,
+ 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28,
+ 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30,
+ 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
+ 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40,
+ 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48,
+ 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50,
+ 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58,
+ 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0x60,
+ 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
+ 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
+ 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
+ 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x20, 0x21,
+ 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29,
+ 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30, 0x31,
+ 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39,
+ 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41,
+ 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49,
+ 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51,
+ 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59,
+ 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0x60, 0x61,
+ 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69,
+ 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70, 0x71,
+ 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79,
+ 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x20, 0x21, 0x22,
+ 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a,
+ 0x00, 0x79, 0x00},
+
+ // Particular cases
+
+ Buffer () {0x88, 0x1b, 0x00, 0x02, 0x0f, 0x00,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00, 0x79, 0x00},
+ Buffer () {0x88, 0x1b, 0x00, 0x02, 0x0f, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00, 0x79, 0x00},
+
+ // 20051021, relaxation for omitted ResourceSource (bug-fix 70 rejection)
+ Buffer () {0x88, 0x0e, 0x00, 0x02, 0x01, 0x00,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe,
+ 0x0f, 0x79, 0x00},
+})
+
+Method(RT12)
+{
+ Name(ts, "RT12")
+
+ Store("TEST: RT12, Word Bus Number Resource Descriptor Macro", Debug)
+
+ m330(ts, 25, "p428", p428, p429)
+ Store (
+ ResourceTemplate () {
+ WordBusNumber (ResourceProducer, MinNotFixed, MaxNotFixed, PosDecode,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff, , , WBN0)
+ WordBusNumber (ResourceConsumer, MinNotFixed, MaxNotFixed, PosDecode,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff, , , WBN1)
+ }, Local0)
+
+ m331(ts, 1, WBN0._DEC, 0x21, WBN1._DEC, 0xa1, "_DEC")
+ m331(ts, 2, WBN0._MIF, 0x22, WBN1._MIF, 0xa2, "_MIF")
+ m331(ts, 3, WBN0._MAF, 0x23, WBN1._MAF, 0xa3, "_MAF")
+ m331(ts, 7, WBN0._GRA, 6, WBN1._GRA, 22, "_GRA")
+ m331(ts, 8, WBN0._MIN, 8, WBN1._MIN, 24, "_MIN")
+ m331(ts, 9, WBN0._MAX, 10, WBN1._MAX, 26, "_MAX")
+ m331(ts, 10, WBN0._TRA, 12, WBN1._TRA, 28, "_TRA")
+ m331(ts, 11, WBN0._LEN, 14, WBN1._LEN, 30, "_LEN")
+}
diff --git a/tests/aslts/src/runtime/collections/functional/descriptor/wordio.asl b/tests/aslts/src/runtime/collections/functional/descriptor/wordio.asl
new file mode 100644
index 000000000..4b2cb0d61
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/descriptor/wordio.asl
@@ -0,0 +1,483 @@
+/*
+ * 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.
+ */
+
+/*
+ * Resource Descriptor macros
+ *
+ * Word IO Resource Descriptor Macro
+ */
+
+Name (p420, Package() {
+
+ // Byte 4 (General Flags) of Word Address Space Descriptor
+
+ ResourceTemplate () {
+ WordIO (ResourceProducer, MinNotFixed, MaxNotFixed, PosDecode, ,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff)
+ },
+ ResourceTemplate () {
+ WordIO (ResourceProducer, MinNotFixed, MaxNotFixed, SubDecode, ,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff)
+ },
+ ResourceTemplate () {
+ WordIO (ResourceProducer, MinNotFixed, MaxFixed, PosDecode, ,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff)
+ },
+ ResourceTemplate () {
+ WordIO (ResourceProducer, MinNotFixed, MaxFixed, SubDecode, ,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff)
+ },
+ ResourceTemplate () {
+ WordIO (ResourceProducer, MinFixed, MaxNotFixed, PosDecode, ,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff)
+ },
+ ResourceTemplate () {
+ WordIO (ResourceProducer, MinFixed, MaxNotFixed, SubDecode, ,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff)
+ },
+ ResourceTemplate () {
+ WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, ,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff)
+ },
+ ResourceTemplate () {
+ WordIO (ResourceProducer, MinFixed, MaxFixed, SubDecode, ,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff)
+ },
+ ResourceTemplate () {
+ WordIO (ResourceConsumer, MinNotFixed, MaxNotFixed, PosDecode, ,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff)
+ },
+ ResourceTemplate () {
+ WordIO (ResourceConsumer, MinNotFixed, MaxNotFixed, SubDecode, ,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff)
+ },
+ ResourceTemplate () {
+ WordIO (ResourceConsumer, MinNotFixed, MaxFixed, PosDecode, ,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff)
+ },
+ ResourceTemplate () {
+ WordIO (ResourceConsumer, MinNotFixed, MaxFixed, SubDecode, ,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff)
+ },
+ ResourceTemplate () {
+ WordIO (ResourceConsumer, MinFixed, MaxNotFixed, PosDecode, ,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff)
+ },
+ ResourceTemplate () {
+ WordIO (ResourceConsumer, MinFixed, MaxNotFixed, SubDecode, ,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff)
+ },
+ ResourceTemplate () {
+ WordIO (ResourceConsumer, MinFixed, MaxFixed, PosDecode, ,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff)
+ },
+ ResourceTemplate () {
+ WordIO (ResourceConsumer, MinFixed, MaxFixed, SubDecode, ,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff)
+ },
+
+ // Byte 5 (Type Specific Flags) of Word Address Space Descriptor
+
+ ResourceTemplate () {
+ WordIO ( , , , , NonISAOnlyRanges,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff,
+ , , , TypeStatic, DenseTranslation)
+ },
+ ResourceTemplate () {
+ WordIO ( , , , , NonISAOnlyRanges,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff,
+ , , , TypeStatic, SparseTranslation)
+ },
+ ResourceTemplate () {
+ WordIO ( , , , , NonISAOnlyRanges,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff,
+ , , , TypeTranslation, DenseTranslation)
+ },
+ ResourceTemplate () {
+ WordIO ( , , , , NonISAOnlyRanges,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff,
+ , , , TypeTranslation, SparseTranslation)
+ },
+ ResourceTemplate () {
+ WordIO ( , , , , ISAOnlyRanges,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff,
+ , , , TypeStatic, DenseTranslation)
+ },
+ ResourceTemplate () {
+ WordIO ( , , , , ISAOnlyRanges,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff,
+ , , , TypeStatic, SparseTranslation)
+ },
+ ResourceTemplate () {
+ WordIO ( , , , , ISAOnlyRanges,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff,
+ , , , TypeTranslation, DenseTranslation)
+ },
+ ResourceTemplate () {
+ WordIO ( , , , , ISAOnlyRanges,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff,
+ , , , TypeTranslation, SparseTranslation)
+ },
+ ResourceTemplate () {
+ WordIO ( , , , , EntireRange,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff,
+ , , , TypeStatic, DenseTranslation)
+ },
+ ResourceTemplate () {
+ WordIO ( , , , , EntireRange,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff,
+ , , , TypeStatic, SparseTranslation)
+ },
+ ResourceTemplate () {
+ WordIO ( , , , , EntireRange,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff,
+ , , , TypeTranslation, DenseTranslation)
+ },
+ ResourceTemplate () {
+ WordIO ( , , , , EntireRange,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff,
+ , , , TypeTranslation, SparseTranslation)
+ },
+
+ // Particular cases
+
+ ResourceTemplate () {
+ WordIO ( , , , , ,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff)
+ },
+ ResourceTemplate () {
+ WordIO ( , , , , ,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff,
+ , , , , )
+ },
+
+ // Resource Source
+
+ ResourceTemplate () {
+ WordIO ( , , , , ,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff,
+ 0x01, "", , , )
+ },
+ ResourceTemplate () {
+ WordIO ( , , , , ,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff,
+ 0x0f, "P", , , )
+ },
+ ResourceTemplate () {
+ WordIO ( , , , , ,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff,
+ 0xf0, "PATH", , , )
+ },
+ ResourceTemplate () {
+ WordIO ( , , , , ,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff,
+ 0xff,
+ "!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*",
+ , , )
+ },
+
+ // Particular cases
+
+ ResourceTemplate () {
+ WordIO (ResourceConsumer, MinFixed, MaxFixed, SubDecode, EntireRange,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff,
+ 0xff, "PATHPATHPATH", WIO0, TypeTranslation, SparseTranslation)
+ },
+ ResourceTemplate () {
+ WordIO (ResourceConsumer, MinFixed, MaxFixed, SubDecode, EntireRange,
+ 0, 0, 0, 0, 0,
+ 0xff, "PATHPATHPATH", , TypeTranslation, SparseTranslation)
+ },
+
+ // 20051021, relaxation for omitted ResourceSource (bug-fix 70 rejection)
+ ResourceTemplate () {
+ WordIO ( , , , , ,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff,
+ 0x0f)
+ },
+})
+
+/*
+ACPI Specification, Revision 3.0, September 2, 2004
+6.4.3.5.3 Word Address Space Descriptor
+
+I/O Word Address Space Descriptor layout:
+
+Byte 0 (Tag Bits): Value=10001000B (0x88) (Type = 1, Large item name = 0x8)
+Byte 1 (Length, bits[7:0]): Variable: Value = 13 (minimum)
+Byte 2 (Length, bits[15:8]): Variable: Value = 0 (minimum)
+Byte 3 (Resource Type):
+ 1 I/O range
+Byte 4 (General Flags):
+ Bits[7:4] Reserved (must be 0)
+ Bit[3] Min Address Fixed, _MAF:
+ 1 The specified maximum address is fixed
+ 0 The specified maximum address is not fixed
+ and can be changed
+ Bit[2] Max Address Fixed,_MIF:
+ 1 The specified minimum address is fixed
+ 0 The specified minimum address is not fixed
+ and can be changed
+ Bit[1] Decode Type, _DEC:
+ 1 This bridge subtractively decodes this address
+ (top level bridges only)
+ 0 This bridge positively decodes this address
+ Bit[0] Consumer/Producer:
+ 1-This device consumes this resource
+ 0-This device produces and consumes this resource
+
+Byte 5 (Type Specific Flags):
+ Flags that are specific to each resource type. The meaning of the flags
+ in this field depends on the value of the Resource Type field (see above)
+ Bits[7:6] Reserved (must be 0)
+ Bit[5] Sparse Translation, _TRS. This bit is only meaningful if Bit[4] is set.
+ 1 SparseTranslation: The primary-side memory address of any specific
+ I/O port within the secondary-side range can be found using
+ the following function.
+
+ address = (((port & 0xFFFc) << 10) || (port & 0xFFF)) + _TRA
+
+ In the address used to access the I/O port, bits[11:2] must be identical
+ to bits[21:12], this gives four bytes of I/O ports on each 4 KB page.
+ 0 DenseTranslation: The primary-side memory address of any specific I/O port
+ within the secondary-side range can be found using the following function.
+
+ address = port + _TRA
+ Bit[4] I/O to Memory Translation, _TTP
+ 1 TypeTranslation: This resource, which is I/O on the secondary side of
+ the bridge, is memory on the primary side of the bridge.
+ 0 TypeStatic: This resource, which is I/O on the secondary side of
+ the bridge, is also I/O on the primary side of the bridge.
+ Bit[3:2] Reserved (must be 0)
+ Bit[1:0] _RNG
+ 3 Memory window covers the entire range
+ 2 ISARangesOnly. This flag is for bridges on systems with multiple bridges.
+ Setting this bit means the memory window specified in this descriptor is
+ limited to the ISA I/O addresses that fall within the specified window.
+ The ISA I/O ranges are: n000-n0FF, n400-n4FF, n800-n8FF, nC00-nCFF. This
+ bit can only be set for bridges entirely configured through ACPI namespace.
+ 1 NonISARangesOnly. This flag is for bridges on systems with multiple bridges.
+ Setting this bit means the memory window specified in this descriptor is
+ limited to the non-ISA I/O addresses that fall within the specified window.
+ The non-ISA I/O ranges are: n100-n3FF, n500-n7FF, n900-nBFF, nD00-nFFF.
+ This bit can only be set for bridges entirely configured through ACPI namespace.
+ 0 Reserved
+
+Byte 6 (Address space granularity, _GRA bits[7:0]):
+ A set bit in this mask means that this bit is decoded. All bits less
+ significant than the most significant set bit must be set. (in other
+ words, the value of the full Address Space Granularity field (all 16
+ bits) must be a number (2**n-1).
+Byte 7 (Address space granularity, _GRA bits[15:8])
+Byte 8 (Address range minimum, _MIN bits [7:0]):
+ For bridges that translate addresses, this is the address space
+ on the secondary side of the bridge
+Byte 9 (Address range minimum, _MIN bits[15:8])
+Byte 10 (Address range maximum, _MAX bits [7:0]): See comment for _MIN
+Byte 11 (Address range maximum, _MAX bits[15:8])
+Byte 12 (Address Translation offset, _TRA bits [7:0]):
+ For bridges that translate addresses across the bridge, this is the
+ offset that must be added to the address on the secondary side to obtain
+ the address on the primary side. Non-bridge devices must list 0 for all
+ Address Translation offset bits
+Byte 13 (Address Translation offset, _TRA bits[15:8])
+Byte 14 (Address Length, _LEN bits [7:0])
+Byte 15 (Address Length, _LEN bits[15:8])
+Byte 16 (Resource Source Index):
+ (Optional) Only present if Resource Source (below) is present. This
+ field gives an index to the specific resource descriptor that this
+ device consumes from in the current resource template for the device
+ object pointed to in Resource Source
+String (Resource Source):
+ (Optional) If present, the device that uses this descriptor consumes
+ its resources from the resources produced by the named device object.
+ If not present, the device consumes its resources out of a global pool.
+ If not present, the device consumes this resource from its hierarchical
+ parent.
+*/
+
+Name (p421, Package() {
+
+ // Byte 4 (General Flags) of Word Address Space Descriptor
+
+ Buffer () {0x88, 0x0d, 0x00, 0x01, 0x00, 0x03,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe, 0x79, 0x00},
+ Buffer () {0x88, 0x0d, 0x00, 0x01, 0x02, 0x03,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe, 0x79, 0x00},
+ Buffer () {0x88, 0x0d, 0x00, 0x01, 0x08, 0x03,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe, 0x79, 0x00},
+ Buffer () {0x88, 0x0d, 0x00, 0x01, 0x0a, 0x03,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe, 0x79, 0x00},
+ Buffer () {0x88, 0x0d, 0x00, 0x01, 0x04, 0x03,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe, 0x79, 0x00},
+ Buffer () {0x88, 0x0d, 0x00, 0x01, 0x06, 0x03,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe, 0x79, 0x00},
+ Buffer () {0x88, 0x0d, 0x00, 0x01, 0x0c, 0x03,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe, 0x79, 0x00},
+ Buffer () {0x88, 0x0d, 0x00, 0x01, 0x0e, 0x03,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe, 0x79, 0x00},
+ Buffer () {0x88, 0x0d, 0x00, 0x01, 0x01, 0x03,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe, 0x79, 0x00},
+ Buffer () {0x88, 0x0d, 0x00, 0x01, 0x03, 0x03,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe, 0x79, 0x00},
+ Buffer () {0x88, 0x0d, 0x00, 0x01, 0x09, 0x03,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe, 0x79, 0x00},
+ Buffer () {0x88, 0x0d, 0x00, 0x01, 0x0b, 0x03,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe, 0x79, 0x00},
+ Buffer () {0x88, 0x0d, 0x00, 0x01, 0x05, 0x03,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe, 0x79, 0x00},
+ Buffer () {0x88, 0x0d, 0x00, 0x01, 0x07, 0x03,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe, 0x79, 0x00},
+ Buffer () {0x88, 0x0d, 0x00, 0x01, 0x0d, 0x03,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe, 0x79, 0x00},
+ Buffer () {0x88, 0x0d, 0x00, 0x01, 0x0f, 0x03,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe, 0x79, 0x00},
+
+ // Byte 5 (Type Specific Flags) of Word Address Space Descriptor
+
+ Buffer () {0x88, 0x0d, 0x00, 0x01, 0x01, 0x01,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe, 0x79, 0x00},
+ Buffer () {0x88, 0x0d, 0x00, 0x01, 0x01, 0x21,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe, 0x79, 0x00},
+ Buffer () {0x88, 0x0d, 0x00, 0x01, 0x01, 0x11,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe, 0x79, 0x00},
+ Buffer () {0x88, 0x0d, 0x00, 0x01, 0x01, 0x31,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe, 0x79, 0x00},
+ Buffer () {0x88, 0x0d, 0x00, 0x01, 0x01, 0x02,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe, 0x79, 0x00},
+ Buffer () {0x88, 0x0d, 0x00, 0x01, 0x01, 0x22,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe, 0x79, 0x00},
+ Buffer () {0x88, 0x0d, 0x00, 0x01, 0x01, 0x12,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe, 0x79, 0x00},
+ Buffer () {0x88, 0x0d, 0x00, 0x01, 0x01, 0x32,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe, 0x79, 0x00},
+ Buffer () {0x88, 0x0d, 0x00, 0x01, 0x01, 0x03,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe, 0x79, 0x00},
+ Buffer () {0x88, 0x0d, 0x00, 0x01, 0x01, 0x23,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe, 0x79, 0x00},
+ Buffer () {0x88, 0x0d, 0x00, 0x01, 0x01, 0x13,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe, 0x79, 0x00},
+ Buffer () {0x88, 0x0d, 0x00, 0x01, 0x01, 0x33,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe, 0x79, 0x00},
+
+ // Particular cases
+
+ Buffer () {0x88, 0x0d, 0x00, 0x01, 0x01, 0x03,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe, 0x79, 0x00},
+ Buffer () {0x88, 0x0d, 0x00, 0x01, 0x01, 0x03,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe, 0x79, 0x00},
+
+ // Resource Source
+
+ Buffer () {0x88, 0x0f, 0x00, 0x01, 0x01, 0x03,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe,
+ 0x01, 0x00, 0x79, 0x00},
+ Buffer () {0x88, 0x10, 0x00, 0x01, 0x01, 0x03,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe,
+ 0x0f, 0x50, 0x00, 0x79, 0x00},
+ Buffer () {0x88, 0x13, 0x00, 0x01, 0x01, 0x03,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe,
+ 0xf0, 0x50, 0x41, 0x54, 0x48, 0x00, 0x79, 0x00},
+ Buffer () {0x88, 0xd7, 0x00, 0x01, 0x01, 0x03,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe,
+ 0xff,
+ 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28,
+ 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30,
+ 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
+ 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40,
+ 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48,
+ 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50,
+ 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58,
+ 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0x60,
+ 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
+ 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
+ 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
+ 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x20, 0x21,
+ 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29,
+ 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30, 0x31,
+ 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39,
+ 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41,
+ 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49,
+ 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51,
+ 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59,
+ 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0x60, 0x61,
+ 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69,
+ 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70, 0x71,
+ 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79,
+ 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x20, 0x21, 0x22,
+ 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a,
+ 0x00, 0x79, 0x00},
+
+ // Particular cases
+
+ Buffer () {0x88, 0x1b, 0x00, 0x01, 0x0f, 0x33,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00, 0x79, 0x00},
+ Buffer () {0x88, 0x1b, 0x00, 0x01, 0x0f, 0x33,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00, 0x79, 0x00},
+
+ // 20051021, relaxation for omitted ResourceSource (bug-fix 70 rejection)
+ Buffer () {0x88, 0x0e, 0x00, 0x01, 0x01, 0x03,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe,
+ 0x0f, 0x79, 0x00},
+})
+
+Method(RT0e)
+{
+ Name(ts, "RT0e")
+
+ Store("TEST: RT0e, Word IO Resource Descriptor Macro", Debug)
+
+ m330(ts, 37, "p420", p420, p421)
+ Store (
+ ResourceTemplate () {
+ WordIO (ResourceProducer, MinNotFixed, MaxNotFixed, PosDecode, EntireRange,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff, , , WIO0)
+ WordIO (ResourceConsumer, MinNotFixed, MaxNotFixed, PosDecode, EntireRange,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff, , , WIO1)
+ }, Local0)
+
+ m331(ts, 1, WIO0._DEC, 0x21, WIO1._DEC, 0xa1, "_DEC")
+ m331(ts, 2, WIO0._MIF, 0x22, WIO1._MIF, 0xa2, "_MIF")
+ m331(ts, 3, WIO0._MAF, 0x23, WIO1._MAF, 0xa3, "_MAF")
+ m331(ts, 4, WIO0._RNG, 0x28, WIO1._RNG, 0xa8, "_RNG")
+ m331(ts, 5, WIO0._TTP, 0x2c, WIO1._TTP, 0xac, "_TTP")
+ m331(ts, 6, WIO0._TRS, 0x2d, WIO1._TRS, 0xad, "_TRS")
+ m331(ts, 7, WIO0._GRA, 6, WIO1._GRA, 22, "_GRA")
+ m331(ts, 8, WIO0._MIN, 8, WIO1._MIN, 24, "_MIN")
+ m331(ts, 9, WIO0._MAX, 10, WIO1._MAX, 26, "_MAX")
+ m331(ts, 10, WIO0._TRA, 12, WIO1._TRA, 28, "_TRA")
+ m331(ts, 11, WIO0._LEN, 14, WIO1._LEN, 30, "_LEN")
+}
+
+
diff --git a/tests/aslts/src/runtime/collections/functional/descriptor/wordspace.asl b/tests/aslts/src/runtime/collections/functional/descriptor/wordspace.asl
new file mode 100644
index 000000000..7fde6b896
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/descriptor/wordspace.asl
@@ -0,0 +1,373 @@
+/*
+ * 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.
+ */
+
+/*
+ * Resource Descriptor macros
+ *
+ * Word Space Resource Descriptor Macro
+ */
+
+Name (p430, Package() {
+
+ // Byte 4 (General Flags) of Word Address Space Descriptor
+
+ ResourceTemplate () {
+ WordSpace (0xc0, ResourceProducer, PosDecode, MinNotFixed, MaxNotFixed, 0x0a,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff)
+ },
+ ResourceTemplate () {
+ WordSpace (0xc1, ResourceProducer, PosDecode, MinNotFixed, MaxFixed, 0x1a,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff)
+ },
+ ResourceTemplate () {
+ WordSpace (0xc2, ResourceProducer, PosDecode, MinFixed, MaxNotFixed, 0x2a,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff)
+ },
+ ResourceTemplate () {
+ WordSpace (0xc3, ResourceProducer, PosDecode, MinFixed, MaxFixed, 0x3a,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff)
+ },
+ ResourceTemplate () {
+ WordSpace (0xc4, ResourceProducer, SubDecode, MinNotFixed, MaxNotFixed, 0x4a,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff)
+ },
+ ResourceTemplate () {
+ WordSpace (0xc5, ResourceProducer, SubDecode, MinNotFixed, MaxFixed, 0x5a,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff)
+ },
+ ResourceTemplate () {
+ WordSpace (0xc6, ResourceProducer, SubDecode, MinFixed, MaxNotFixed, 0x6a,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff)
+ },
+ ResourceTemplate () {
+ WordSpace (0xc7, ResourceProducer, SubDecode, MinFixed, MaxFixed, 0x7a,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff)
+ },
+ ResourceTemplate () {
+ WordSpace (0xc8, ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, 0x8a,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff)
+ },
+ ResourceTemplate () {
+ WordSpace (0xc9, ResourceConsumer, PosDecode, MinNotFixed, MaxFixed, 0x9a,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff)
+ },
+ ResourceTemplate () {
+ WordSpace (0xca, ResourceConsumer, PosDecode, MinFixed, MaxNotFixed, 0xaa,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff)
+ },
+ ResourceTemplate () {
+ WordSpace (0xcb, ResourceConsumer, PosDecode, MinFixed, MaxFixed, 0xba,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff)
+ },
+ ResourceTemplate () {
+ WordSpace (0xcc, ResourceConsumer, SubDecode, MinNotFixed, MaxNotFixed, 0xca,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff)
+ },
+ ResourceTemplate () {
+ WordSpace (0xcd, ResourceConsumer, SubDecode, MinNotFixed, MaxFixed, 0xda,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff)
+ },
+ ResourceTemplate () {
+ WordSpace (0xce, ResourceConsumer, SubDecode, MinFixed, MaxNotFixed, 0xea,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff)
+ },
+ ResourceTemplate () {
+ WordSpace (0xff, ResourceConsumer, SubDecode, MinFixed, MaxFixed, 0xfa,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff)
+ },
+
+ // Byte 5 (Type Specific Flags) of Word Address Space Descriptor
+
+ ResourceTemplate () {
+ WordSpace (0xc0, , , , , 0x00,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff)
+ },
+ ResourceTemplate () {
+ WordSpace (0xc0, , , , , 0xff,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff)
+ },
+
+ // Particular cases
+
+ ResourceTemplate () {
+ WordSpace (0xc0, , , , , 0x5a,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff,
+ , )
+ },
+ ResourceTemplate () {
+ WordSpace (0xc0, , , , , 0x5a,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff,
+ , , )
+ },
+
+ // Resource Source
+
+ ResourceTemplate () {
+ WordSpace (0xc0, , , , , 0x5a,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff,
+ 0x01, "")
+ },
+ ResourceTemplate () {
+ WordSpace (0xc0, , , , , 0x5a,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff,
+ 0x0f, "P")
+ },
+ ResourceTemplate () {
+ WordSpace (0xc0, , , , , 0x5a,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff,
+ 0xf0, "PATH")
+ },
+ ResourceTemplate () {
+ WordSpace (0xc0, , , , , 0x5a,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff,
+ 0xff,
+ "!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*",
+ )
+ },
+
+ // Particular cases
+
+ ResourceTemplate () {
+ WordSpace (0xc0, ResourceConsumer, SubDecode, MinFixed, MaxFixed, 0x5a,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff,
+ 0xff, "PATHPATHPATH", WSP0)
+ },
+ ResourceTemplate () {
+ WordSpace (0xc0, ResourceConsumer, SubDecode, MinFixed, MaxFixed, 0,
+ 0, 0, 0, 0, 0,
+ 0xff, "PATHPATHPATH", )
+ },
+
+ // 20051021, relaxation for omitted ResourceSource (bug-fix 70 rejection)
+ ResourceTemplate () {
+ WordSpace (0xc0, , , , , 0x5a,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff,
+ 0x0f)
+ },
+})
+
+/*
+ACPI Specification, Revision 3.0, September 2, 2004
+6.4.3.5.3 Word Address Space Descriptor
+
+Memory Word Address Space Descriptor layout:
+
+Byte 0 (Tag Bits): Value=10001000B (0x88) (Type = 1, Large item name = 0x8)
+Byte 1 (Length, bits[7:0]): Variable: Value = 13 (minimum)
+Byte 2 (Length, bits[15:8]): Variable: Value = 0 (minimum)
+Byte 3 (Resource Type):
+ 192-255 Hardware Vendor Defined
+Byte 4 (General Flags):
+ Bits[7:4] Reserved (must be 0)
+ Bit[3] Min Address Fixed, _MAF:
+ 1 The specified maximum address is fixed
+ 0 The specified maximum address is not fixed
+ and can be changed
+ Bit[2] Max Address Fixed,_MIF:
+ 1 The specified minimum address is fixed
+ 0 The specified minimum address is not fixed
+ and can be changed
+ Bit[1] Decode Type, _DEC:
+ 1 This bridge subtractively decodes this address
+ (top level bridges only)
+ 0 This bridge positively decodes this address
+ Bit[0] Consumer/Producer:
+ 1-This device consumes this resource
+ 0-This device produces and consumes this resource
+Byte 5 (Type Specific Flags):
+ Flags that are specific to each resource type. The meaning of the flags
+ in this field depends on the value of the Resource Type field (see above)
+Byte 6 (Address space granularity, _GRA bits[7:0]):
+ A set bit in this mask means that this bit is decoded. All bits less
+ significant than the most significant set bit must be set. (in other
+ words, the value of the full Address Space Granularity field (all 16
+ bits) must be a number (2**n-1).
+Byte 7 (Address space granularity, _GRA bits[15:8])
+Byte 8 (Address range minimum, _MIN bits [7:0]):
+ For bridges that translate addresses, this is the address space
+ on the secondary side of the bridge
+Byte 9 (Address range minimum, _MIN bits[15:8])
+Byte 10 (Address range maximum, _MAX bits [7:0]): See comment for _MIN
+Byte 11 (Address range maximum, _MAX bits[15:8])
+Byte 12 (Address Translation offset, _TRA bits [7:0]):
+ For bridges that translate addresses across the bridge, this is the
+ offset that must be added to the address on the secondary side to obtain
+ the address on the primary side. Non-bridge devices must list 0 for all
+ Address Translation offset bits
+Byte 13 (Address Translation offset, _TRA bits[15:8])
+Byte 14 (Address Length, _LEN bits [7:0])
+Byte 15 (Address Length, _LEN bits[15:8])
+Byte 16 (Resource Source Index):
+ (Optional) Only present if Resource Source (below) is present. This
+ field gives an index to the specific resource descriptor that this
+ device consumes from in the current resource template for the device
+ object pointed to in Resource Source
+String (Resource Source):
+ (Optional) If present, the device that uses this descriptor consumes
+ its resources from the resources produced by the named device object.
+ If not present, the device consumes its resources out of a global pool.
+ If not present, the device consumes this resource from its hierarchical
+ parent.
+*/
+
+Name (p431, Package() {
+
+ // Byte 4 (General Flags) of Word Address Space Descriptor
+
+ Buffer () {0x88, 0x0d, 0x00, 0xc0, 0x00, 0x0a,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe, 0x79, 0x00},
+ Buffer () {0x88, 0x0d, 0x00, 0xc1, 0x08, 0x1a,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe, 0x79, 0x00},
+ Buffer () {0x88, 0x0d, 0x00, 0xc2, 0x04, 0x2a,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe, 0x79, 0x00},
+ Buffer () {0x88, 0x0d, 0x00, 0xc3, 0x0c, 0x3a,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe, 0x79, 0x00},
+ Buffer () {0x88, 0x0d, 0x00, 0xc4, 0x02, 0x4a,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe, 0x79, 0x00},
+ Buffer () {0x88, 0x0d, 0x00, 0xc5, 0x0a, 0x5a,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe, 0x79, 0x00},
+ Buffer () {0x88, 0x0d, 0x00, 0xc6, 0x06, 0x6a,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe, 0x79, 0x00},
+ Buffer () {0x88, 0x0d, 0x00, 0xc7, 0x0e, 0x7a,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe, 0x79, 0x00},
+ Buffer () {0x88, 0x0d, 0x00, 0xc8, 0x01, 0x8a,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe, 0x79, 0x00},
+ Buffer () {0x88, 0x0d, 0x00, 0xc9, 0x09, 0x9a,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe, 0x79, 0x00},
+ Buffer () {0x88, 0x0d, 0x00, 0xca, 0x05, 0xaa,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe, 0x79, 0x00},
+ Buffer () {0x88, 0x0d, 0x00, 0xcb, 0x0d, 0xba,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe, 0x79, 0x00},
+ Buffer () {0x88, 0x0d, 0x00, 0xcc, 0x03, 0xca,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe, 0x79, 0x00},
+ Buffer () {0x88, 0x0d, 0x00, 0xcd, 0x0b, 0xda,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe, 0x79, 0x00},
+ Buffer () {0x88, 0x0d, 0x00, 0xce, 0x07, 0xea,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe, 0x79, 0x00},
+ Buffer () {0x88, 0x0d, 0x00, 0xff, 0x0f, 0xfa,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe, 0x79, 0x00},
+
+ // Byte 5 (Type Specific Flags) of Word Address Space Descriptor
+
+ Buffer () {0x88, 0x0d, 0x00, 0xc0, 0x01, 0x00,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe, 0x79, 0x00},
+ Buffer () {0x88, 0x0d, 0x00, 0xc0, 0x01, 0xff,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe, 0x79, 0x00},
+
+ // Particular cases
+
+ Buffer () {0x88, 0x0d, 0x00, 0xc0, 0x01, 0x5a,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe, 0x79, 0x00},
+ Buffer () {0x88, 0x0d, 0x00, 0xc0, 0x01, 0x5a,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe, 0x79, 0x00},
+
+ // Resource Source
+
+ Buffer () {0x88, 0x0f, 0x00, 0xc0, 0x01, 0x5a,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe,
+ 0x01, 0x00, 0x79, 0x00},
+ Buffer () {0x88, 0x10, 0x00, 0xc0, 0x01, 0x5a,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe,
+ 0x0f, 0x50, 0x00, 0x79, 0x00},
+ Buffer () {0x88, 0x13, 0x00, 0xc0, 0x01, 0x5a,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe,
+ 0xf0, 0x50, 0x41, 0x54, 0x48, 0x00, 0x79, 0x00},
+ Buffer () {0x88, 0xd7, 0x00, 0xc0, 0x01, 0x5a,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe,
+ 0xff,
+ 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28,
+ 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30,
+ 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
+ 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40,
+ 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48,
+ 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50,
+ 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58,
+ 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0x60,
+ 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
+ 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
+ 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
+ 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x20, 0x21,
+ 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29,
+ 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30, 0x31,
+ 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39,
+ 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41,
+ 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49,
+ 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51,
+ 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59,
+ 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0x60, 0x61,
+ 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69,
+ 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70, 0x71,
+ 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79,
+ 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x20, 0x21, 0x22,
+ 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a,
+ 0x00, 0x79, 0x00},
+
+ // Particular cases
+
+ Buffer () {0x88, 0x1b, 0x00, 0xc0, 0x0f, 0x5a,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00, 0x79, 0x00},
+ Buffer () {0x88, 0x1b, 0x00, 0xc0, 0x0f, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
+ 0x48, 0x50, 0x41, 0x54, 0x48, 0x00, 0x79, 0x00},
+
+ // 20051021, relaxation for omitted ResourceSource (bug-fix 70 rejection)
+ Buffer () {0x88, 0x0e, 0x00, 0xc0, 0x01, 0x5a,
+ 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe,
+ 0x0f, 0x79, 0x00},
+})
+
+Method(RT16)
+{
+ Name(ts, "RT16")
+
+ Store("TEST: RT16, Word Space Resource Descriptor Macro", Debug)
+
+ m330(ts, 27, "p430", p430, p431)
+
+ Store (
+ ResourceTemplate () {
+ WordSpace (0xc0, ResourceProducer, PosDecode, MinNotFixed, MaxNotFixed, 0x5a,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff, , , WSP0)
+ WordSpace (0xc0, ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, 0x5a,
+ 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff, , , WSP1)
+ }, Local0)
+
+ m331(ts, 1, WSP0._DEC, 0x21, WSP1._DEC, 0xa1, "_DEC")
+ m331(ts, 2, WSP0._MIF, 0x22, WSP1._MIF, 0xa2, "_MIF")
+ m331(ts, 3, WSP0._MAF, 0x23, WSP1._MAF, 0xa3, "_MAF")
+ m331(ts, 7, WSP0._GRA, 6, WSP1._GRA, 22, "_GRA")
+ m331(ts, 8, WSP0._MIN, 8, WSP1._MIN, 24, "_MIN")
+ m331(ts, 9, WSP0._MAX, 10, WSP1._MAX, 26, "_MAX")
+ m331(ts, 10, WSP0._TRA, 12, WSP1._TRA, 28, "_TRA")
+ m331(ts, 11, WSP0._LEN, 14, WSP1._LEN, 30, "_LEN")
+}
diff --git a/tests/aslts/src/runtime/collections/functional/local/DECL.asl b/tests/aslts/src/runtime/collections/functional/local/DECL.asl
new file mode 100644
index 000000000..a6225b0ad
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/local/DECL.asl
@@ -0,0 +1,32 @@
+/*
+ * 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.
+ */
+
+
+Include("../../../../runtime/collections/functional/local/local.asl")
diff --git a/tests/aslts/src/runtime/collections/functional/local/MAIN.asl b/tests/aslts/src/runtime/collections/functional/local/MAIN.asl
new file mode 100644
index 000000000..9c4a7f7b1
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/local/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "local.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../runtime/cntl/DECL.asl")
+ Include("../../../../runtime/collections/functional/local/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../runtime/collections/functional/local/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/functional/local/RUN.asl b/tests/aslts/src/runtime/collections/functional/local/RUN.asl
new file mode 100644
index 000000000..3c8c742df
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/local/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+
+if (STTT("Control method objects", TCLF, 6, W006)) {
+ SRMT("CMO0")
+ CMO0()
+}
+FTTT()
diff --git a/tests/aslts/src/runtime/collections/functional/local/local.asl b/tests/aslts/src/runtime/collections/functional/local/local.asl
new file mode 100644
index 000000000..843b224a0
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/local/local.asl
@@ -0,0 +1,151 @@
+/*
+ * 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.
+ */
+
+/*
+ * Control method objects
+ */
+
+/*
+ * local.asl is not introduced in aslts.
+ * See, if it should be advanced and introduced.
+ */
+
+Name(z999, 1)
+
+Method(ma00, 7)
+{
+ Method(m000, 6)
+ {
+ Method(m000, 5)
+ {
+ Method(m000, 4)
+ {
+ Method(m000, 3)
+ {
+ Method(m000, 2)
+ {
+ Method(m000, 1)
+ {
+ Method(m000, 0)
+ {
+ Method(m000)
+ {
+ }
+ m000()
+ }
+ m000()
+ }
+ m000(28)
+ }
+ m000(26,27)
+ }
+ m000(23,24,25)
+ }
+ m000(19,20,21,22)
+ } // 5
+
+ if (LNotEqual(arg0, 8)) {
+ err(arg0, z999, 0, 0, 0, arg0, 8)
+ }
+ if (LNotEqual(arg1, 9)) {
+ err(arg0, z999, 0, 0, 0, arg0, 9)
+ }
+ if (LNotEqual(arg2, 10)) {
+ err(arg0, z999, 0, 0, 0, arg0, 10)
+ }
+ if (LNotEqual(arg3, 11)) {
+ err(arg0, z999, 0, 0, 0, arg0, 11)
+ }
+ if (LNotEqual(arg4, 12)) {
+ err(arg0, z999, 0, 0, 0, arg0, 12)
+ }
+ if (LNotEqual(arg5, 13)) {
+ err(arg0, z999, 0, 0, 0, arg0, 13)
+ }
+// if (LNotEqual(arg6, 7)) {
+// err(arg0, z999, 0, 0, 0, arg0, 7)
+// }
+
+ m000(14,15,16,17,18)
+
+ } // 6
+
+ if (LNotEqual(arg0, 1)) {
+ err(arg0, z999, 0, 0, 0, arg0, 1)
+ }
+ if (LNotEqual(arg1, 2)) {
+ err(arg0, z999, 0, 0, 0, arg0, 2)
+ }
+ if (LNotEqual(arg2, 3)) {
+ err(arg0, z999, 0, 0, 0, arg0, 3)
+ }
+ if (LNotEqual(arg3, 4)) {
+ err(arg0, z999, 0, 0, 0, arg0, 4)
+ }
+ if (LNotEqual(arg4, 5)) {
+ err(arg0, z999, 0, 0, 0, arg0, 5)
+ }
+ if (LNotEqual(arg5, 6)) {
+ err(arg0, z999, 0, 0, 0, arg0, 6)
+ }
+ if (LNotEqual(arg6, 7)) {
+ err(arg0, z999, 0, 0, 0, arg0, 7)
+ }
+
+ m000(8,9,10,11,12,13)
+
+ if (LNotEqual(arg0, 1)) {
+ err(arg0, z999, 0, 0, 0, arg0, 1)
+ }
+ if (LNotEqual(arg1, 2)) {
+ err(arg0, z999, 0, 0, 0, arg0, 2)
+ }
+ if (LNotEqual(arg2, 3)) {
+ err(arg0, z999, 0, 0, 0, arg0, 3)
+ }
+ if (LNotEqual(arg3, 4)) {
+ err(arg0, z999, 0, 0, 0, arg0, 4)
+ }
+ if (LNotEqual(arg4, 5)) {
+ err(arg0, z999, 0, 0, 0, arg0, 5)
+ }
+ if (LNotEqual(arg5, 6)) {
+ err(arg0, z999, 0, 0, 0, arg0, 6)
+ }
+ if (LNotEqual(arg6, 7)) {
+ err(arg0, z999, 0, 0, 0, arg0, 7)
+ }
+}
+
+// Run-method
+Method(CMO0)
+{
+ ma00(1,2,3,4,5,6,7)
+}
diff --git a/tests/aslts/src/runtime/collections/functional/logic/DECL.asl b/tests/aslts/src/runtime/collections/functional/logic/DECL.asl
new file mode 100644
index 000000000..d15b01e92
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/logic/DECL.asl
@@ -0,0 +1,32 @@
+/*
+ * 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.
+ */
+
+
+Include("../../../../runtime/collections/functional/logic/logical.asl")
diff --git a/tests/aslts/src/runtime/collections/functional/logic/MAIN.asl b/tests/aslts/src/runtime/collections/functional/logic/MAIN.asl
new file mode 100644
index 000000000..a2b029c44
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/logic/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "logic.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../runtime/cntl/DECL.asl")
+ Include("../../../../runtime/collections/functional/logic/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../runtime/collections/functional/logic/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/functional/logic/Makefile b/tests/aslts/src/runtime/collections/functional/logic/Makefile
new file mode 100644
index 000000000..52d7553e0
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/logic/Makefile
@@ -0,0 +1,7 @@
+# logic
+
+AMLMOD= logic
+COLL= ../..
+
+TOP= $(COLL)/../../..
+include $(COLL)/Makefile.install
diff --git a/tests/aslts/src/runtime/collections/functional/logic/RUN.asl b/tests/aslts/src/runtime/collections/functional/logic/RUN.asl
new file mode 100644
index 000000000..138d0f3f4
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/logic/RUN.asl
@@ -0,0 +1,35 @@
+/*
+ * 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.
+ */
+
+
+if (STTT("Logical operators", TCLF, 7, W007)) {
+ LOG0()
+}
+FTTT()
diff --git a/tests/aslts/src/runtime/collections/functional/logic/logical.asl b/tests/aslts/src/runtime/collections/functional/logic/logical.asl
new file mode 100644
index 000000000..cfc56a26e
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/logic/logical.asl
@@ -0,0 +1,930 @@
+/*
+ * 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.
+ */
+
+/*
+ * Logical operators
+ */
+
+Name(z035, 35)
+
+// Verifying 2-parameters, 1-result operator
+Method(m003, 6)
+{
+ Store(0, Local5)
+ Store(arg1, Local3)
+
+ While(Local3) {
+
+ // Operands
+
+ Multiply(Local5, 2, Local6)
+ Store(DeRefOf(Index(arg3, Local6)), Local0)
+ Increment(Local6)
+ Store(DeRefOf(Index(arg3, Local6)), Local1)
+
+ // Expected result
+
+ Store(DeRefOf(Index(arg4, Local5)), Local2)
+
+ switch (arg5) {
+ case (0) {
+ Store(LNotEqual(Local0, Local1), Local7)
+ if (LNotEqual(Local7, Local2)) {
+ err(arg0, z035, 0, 0, 0, Local5, arg2)
+ }
+ Store(LNotEqual(Local1, Local0), Local7)
+ if (LNotEqual(Local7, Local2)) {
+ err(arg0, z035, 1, 0, 0, Local5, arg2)
+ }
+ }
+ case (1) {
+ Store(LAnd(Local0, Local1), Local7)
+ if (LNotEqual(Local7, Local2)) {
+ err(arg0, z035, 2, 0, 0, Local5, arg2)
+ }
+ Store(LAnd(Local1, Local0), Local7)
+ if (LNotEqual(Local7, Local2)) {
+ err(arg0, z035, 3, 0, 0, Local5, arg2)
+ }
+ }
+ case (2) {
+ Store(LOr(Local0, Local1), Local7)
+ if (LNotEqual(Local7, Local2)) {
+ err(arg0, z035, 4, 0, 0, Local5, arg2)
+ }
+ Store(LOr(Local1, Local0), Local7)
+ if (LNotEqual(Local7, Local2)) {
+ err(arg0, z035, 5, 0, 0, Local5, arg2)
+ }
+ }
+ case (3) {
+ Store(LEqual(Local0, Local1), Local7)
+ if (LNotEqual(Local7, Local2)) {
+ err(arg0, z035, 6, 0, 0, Local5, arg2)
+ }
+ Store(LEqual(Local1, Local0), Local7)
+ if (LNotEqual(Local7, Local2)) {
+ err(arg0, z035, 7, 0, 0, Local5, arg2)
+ }
+ }
+ case (4) {
+ Store(LGreater(Local0, Local1), Local7)
+ if (LNotEqual(Local7, Local2)) {
+ err(arg0, z035, 8, 0, 0, Local5, arg2)
+ }
+ }
+ case (5) {
+ Store(LGreaterEqual(Local0, Local1), Local7)
+ if (LNotEqual(Local7, Local2)) {
+ err(arg0, z035, 9, 0, 0, Local5, arg2)
+ }
+ }
+ case (6) {
+ Store(LLess(Local0, Local1), Local7)
+ if (LNotEqual(Local7, Local2)) {
+ err(arg0, z035, 10, 0, 0, Local5, arg2)
+ }
+ }
+ case (7) {
+ Store(LLessEqual(Local0, Local1), Local7)
+ if (LNotEqual(Local7, Local2)) {
+ err(arg0, z035, 11, 0, 0, Local5, arg2)
+ }
+ }
+ }
+
+ if (0) {
+ Store("==============:", Debug)
+ Store(Local0, Debug)
+ Store(Local1, Debug)
+ Store(Local2, Debug)
+ Store(Local7, Debug)
+ Store("==============", Debug)
+ }
+
+ Increment(Local5)
+ Decrement(Local3)
+ }
+}
+
+// Verifying 1-parameter, 1-result operator
+Method(m004, 6)
+{
+ Store(0, Local5)
+ Store(arg1, Local3)
+
+ While(Local3) {
+
+ // Operand
+
+ Store(DeRefOf(Index(arg3, Local5)), Local0)
+
+ // Expected result
+
+ Store(DeRefOf(Index(arg4, Local5)), Local1)
+
+ switch (arg5) {
+ case (0) {
+ Store(LNot(Local0), Local2)
+ if (LNotEqual(Local2, Local1)) {
+ err(arg0, z035, 12, 0, 0, Local5, arg2)
+ }
+ }
+ }
+ Increment(Local5)
+ Decrement(Local3)
+ }
+}
+
+// ====================================================== //
+// Generic operands utilized by different operators //
+// ====================================================== //
+
+Name(p060, Package()
+{
+ // 32-bit integers
+
+ 0x12345678, 0x12345678,
+ 0xf2345678, 0xf2345678,
+ 0x00000000, 0x00000000,
+ 0xffffffff, 0xffffffff,
+ 0x04000000, 0x00000010,
+ 0x20000000, 0x40000000,
+ 0x80000000, 0x00000001,
+ 0x40000000, 0x80000000,
+ 0x04000000, 0x000000ff,
+ 0x000000ff, 0x00100000,
+ 0, 0x00000080,
+ 0, 0x00008000,
+ 0, 0x80000000,
+})
+
+Name(p061, Package()
+{
+ // 64-bit integers
+
+ 0x12345678bdefac98, 0x12345678bdefac98,
+ 0xf234567811994657, 0xf234567811994657,
+ 0, 0,
+ 0xffffffffffffffff, 0xffffffffffffffff,
+ 0x0400000000000000, 0x0000001000000000,
+ 0x2000000000000000, 0x4000000000000000,
+ 0x8000000000000000, 0x0000000000000001,
+ 0x4000000000000000, 0x8000000000000000,
+ 0x0400000000000000, 0x00000000000000ff,
+ 0x00000000000000ff, 0x0000000000100000,
+ 0, 0x0000000080000000,
+ 0, 0x8000000000000000,
+})
+
+Name(p062, Package()
+{
+ // 32-bit integers
+
+ 0,
+ 0xffffffff,
+ 0x000000ff,
+ 0x00000010,
+ 0x12334567,
+ 0x9bcdfe18,
+})
+
+Name(p063, Package()
+{
+ // 64-bit integers
+
+ 0,
+ 0xffffffffffffffff,
+ 0x12334567bdcfeb46,
+ 0xfbdec6709bcdfe18,
+})
+
+Name(p064, Package()
+{
+ // Strings
+
+ "qwertyuiop", "qwertyuiop",
+ "qwertyuiop", "qwertyuiop0",
+ "qwertyuiop", "qwertyuio",
+
+ "", "",
+ " ", "",
+ "", " ",
+ " ", " ",
+ " ", " ",
+ " ", " ",
+
+ "a", "",
+ "", "a",
+ " a", "a",
+ "a", " a",
+ "a ", "a",
+ "a", "a ",
+ "a b", "ab",
+ "ab", "a b",
+ "a b", "a b",
+ "a b", "a b",
+ "abcDef", "abcdef",
+
+ "mnbvcxzlk\x48jhgf", "mnbvcxzlk\x48jhgf",
+ "mnbvcxzlk\x48jhgf", "mnbvcxzlk\x49jhgf",
+ "mnbvcxzlk\x49jhgf", "mnbvcxzlk\x48jhgf",
+
+ "mnbvcxzlk\x48jhgf0", "mnbvcxzlk\x48jhgf",
+ "mnbvcxzlk\x48jhgf0", "mnbvcxzlk\x49jhgf",
+ "mnbvcxzlk\x49jhgf0", "mnbvcxzlk\x48jhgf",
+
+ "mnbvcxzlk\x48jhgf", "mnbvcxzlk\x48jhgf0",
+ "mnbvcxzlk\x48jhgf", "mnbvcxzlk\x49jhgf0",
+ "mnbvcxzlk\x49jhgf", "mnbvcxzlk\x48jhgf0",
+
+ "mnbvcxzlk\x49\x48jhgf", "mnbvcxzlk\x48\x49jhgf",
+ "mnbvcxzlk\x48\x49jhgf", "mnbvcxzlk\x49\x48jhgf",
+})
+
+Name(p065, Package()
+{
+ // Buffers
+
+ Buffer(){ 0, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25 },
+ Buffer(){ 0, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25 },
+
+ Buffer(){ 0, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25 },
+ Buffer(){ 0x20, 0x21, 0x22, 0x23, 0x24, 0x25 },
+
+ Buffer(){ 0x20, 0x21, 0x22, 0x23, 0x24, 0x25 },
+ Buffer(){ 0, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25 },
+
+ Buffer(){ 0, 0, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25 },
+ Buffer(){ 0, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25 },
+
+ Buffer(){ 0, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25 },
+ Buffer(){ 0, 0, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25 },
+
+
+ Buffer(){ 0x20, 0x21, 0x22, 0x23, 0x24, 0x25 },
+ Buffer(){ 0x20, 0x21, 0x22, 0x23, 0x24, 0x25 },
+
+ Buffer(){ 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0 },
+ Buffer(){ 0x20, 0x21, 0x22, 0x23, 0x24, 0x25 },
+
+ Buffer(){ 0x20, 0x21, 0x22, 0x23, 0x24, 0x25 },
+ Buffer(){ 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0 },
+
+ Buffer(){ 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0, 0 },
+ Buffer(){ 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0 },
+
+ Buffer(){ 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0 },
+ Buffer(){ 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0, 0 },
+
+
+ Buffer(){ 0x20, 0x21, 0x22, 0, 0x24, 0x25 },
+ Buffer(){ 0x20, 0x21, 0x22, 0, 0x24, 0x25 },
+
+ Buffer(){ 0x20, 0x21, 0x22, 0, 0x24, 0x25 },
+ Buffer(){ 0x20, 0x21, 0x22, 0, 0x24, 0x26 },
+
+ Buffer(){ 0x20, 0x21, 0x22, 0, 0x24, 0x26 },
+ Buffer(){ 0x20, 0x21, 0x22, 0, 0x24, 0x25 },
+
+ Buffer(){ 0x20, 0x21, 0x22, 0, 0x24, 0x25, 0 },
+ Buffer(){ 0x20, 0x21, 0x22, 0, 0x24, 0x25 },
+
+ Buffer(){ 0x20, 0x21, 0x22, 0, 0x24, 0x25 },
+ Buffer(){ 0x20, 0x21, 0x22, 0, 0x24, 0x25, 0 },
+
+
+ Buffer(){ 0x20, 0x21, 0x22, 0, 0x24, 0x25, 0, 0 },
+ Buffer(){ 0x20, 0x21, 0x22, 0, 0x24, 0x25, 0 },
+
+ Buffer(){ 0x20, 0x21, 0x22, 0, 0x24, 0x25, 0 },
+ Buffer(){ 0x20, 0x21, 0x22, 0, 0x24, 0x25, 0, 0 },
+
+
+ Buffer(100){},
+ Buffer(100){},
+
+ Buffer(100){},
+ Buffer(101){},
+
+ Buffer(100){},
+ Buffer(99){},
+
+ Buffer(){""},
+ Buffer(){""},
+
+ Buffer(){" "},
+ Buffer(){""},
+
+ Buffer(){""},
+ Buffer(){" "},
+
+ Buffer(){" "},
+ Buffer(){" "},
+
+ Buffer(){" "},
+ Buffer(){" "},
+
+ Buffer(){" "},
+ Buffer(){" "},
+
+ Buffer(){"a"},
+ Buffer(){""},
+
+ Buffer(){""},
+ Buffer(){"a"},
+
+ Buffer(){" a"},
+ Buffer(){"a"},
+
+ Buffer(){"a"},
+ Buffer(){" a"},
+
+ Buffer(){"a "},
+ Buffer(){"a"},
+
+ Buffer(){"a"},
+ Buffer(){"a "},
+
+ Buffer(){"a b"},
+ Buffer(){"ab"},
+
+ Buffer(){"ab"},
+ Buffer(){"a b"},
+
+ Buffer(){"a b"},
+ Buffer(){"a b"},
+
+ Buffer(){"a b"},
+ Buffer(){"a b"},
+
+ Buffer(){"abcDef"},
+ Buffer(){"abcdef"},
+
+
+ Buffer(){"asdfGHJKLIq0987654312"},
+ Buffer(){"asdfGHJKLIq0987654312"},
+
+ Buffer(){"asdfGHJKLIq0987654312"},
+ Buffer(){"asdfGHJKLIq09876543123"},
+
+ Buffer(){"asdfGHJKLIq0987654312"},
+ Buffer(){"asdfGHJKLIq098765431"},
+
+ Buffer(){"mnbvcxzlk\x48jhgf"},
+ Buffer(){"mnbvcxzlk\x48jhgf"},
+
+ Buffer(){"mnbvcxzlk\x48jhgf"},
+ Buffer(){"mnbvcxzlk\x49jhgf"},
+
+ Buffer(){"mnbvcxzlk\x49jhgf"},
+ Buffer(){"mnbvcxzlk\x48jhgf"},
+
+
+ Buffer(){"mnbvcxzlk\x48jhgf0"},
+ Buffer(){"mnbvcxzlk\x48jhgf"},
+
+ Buffer(){"mnbvcxzlk\x48jhgf0"},
+ Buffer(){"mnbvcxzlk\x49jhgf"},
+
+ Buffer(){"mnbvcxzlk\x49jhgf0"},
+ Buffer(){"mnbvcxzlk\x48jhgf"},
+
+
+ Buffer(){"mnbvcxzlk\x48jhgf"},
+ Buffer(){"mnbvcxzlk\x48jhgf0"},
+
+ Buffer(){"mnbvcxzlk\x48jhgf"},
+ Buffer(){"mnbvcxzlk\x49jhgf0"},
+
+ Buffer(){"mnbvcxzlk\x49jhgf"},
+ Buffer(){"mnbvcxzlk\x48jhgf0"},
+
+ Buffer(){"mnbvcxzlk\x49\x48jhgf"},
+ Buffer(){"mnbvcxzlk\x48\x49jhgf"},
+
+ Buffer(){"mnbvcxzlk\x48\x49jhgf"},
+ Buffer(){"mnbvcxzlk\x49\x48jhgf"},
+})
+
+// ===================================== LAnd
+
+Name(p05d, Package()
+{
+ Ones, Ones, Zero, Ones, Ones, Ones, Ones,
+ Ones, Ones, Ones, Zero, Zero, Zero,
+})
+
+Name(p05e, Package()
+{
+ Ones, Ones, Zero, Ones, Ones, Ones,
+ Ones, Ones, Ones, Ones, Zero, Zero,
+})
+
+Method(LAN0)
+{
+ Name(ts, "LAN0")
+
+ Store("TEST: LAN0, Logical And", Debug)
+
+ // Integers
+
+ if (LEqual(F64, 1)) {
+ m003(ts, c002, "p060", p060, p05d, 1)
+ m003(ts, c003, "p061", p061, p05e, 1)
+ } else {
+ m003(ts, c002, "p060", p060, p05d, 1)
+ }
+}
+
+// ===================================== LNot
+
+Name(p05f, Package()
+{
+ Ones, Zero, Zero, Zero, Zero, Zero,
+})
+
+Name(p070, Package()
+{
+ Ones, Zero, Zero, Zero,
+})
+
+Method(LN00)
+{
+ Name(ts, "LN00")
+
+ Store("TEST: LN00, Logical Not", Debug)
+
+ // Integers
+
+ if (LEqual(F64, 1)) {
+ m004(ts, c004, "p062", p062, p05f, 0)
+ m004(ts, c005, "p063", p063, p070, 0)
+ } else {
+ m004(ts, c004, "p062", p062, p05f, 0)
+ }
+}
+
+// ===================================== LOr
+
+Name(p071, Package()
+{
+ Ones, Ones, Zero, Ones, Ones, Ones, Ones,
+ Ones, Ones, Ones, Ones, Ones, Ones,
+})
+
+Name(p072, Package()
+{
+ Ones, Ones, Zero, Ones, Ones, Ones,
+ Ones, Ones, Ones, Ones, Ones, Ones,
+})
+
+Method(LOR0)
+{
+ Name(ts, "LOR0")
+
+ Store("TEST: LOR0, Logical Or", Debug)
+
+ // Integers
+
+ if (LEqual(F64, 1)) {
+ m003(ts, c002, "p060", p060, p071, 2)
+ m003(ts, c003, "p061", p061, p072, 2)
+ } else {
+ m003(ts, c002, "p060", p060, p071, 2)
+ }
+}
+
+// ===================================== LEqual
+
+Name(p073, Package()
+{
+ Ones, Ones, Ones, Ones, Zero, Zero, Zero,
+ Zero, Zero, Zero, Zero, Zero, Zero,
+})
+
+Name(p074, Package()
+{
+ Ones, Ones, Ones, Ones, Zero, Zero, Zero,
+ Zero, Zero, Zero, Zero, Zero,
+})
+
+Name(p075, Package()
+{
+ Ones, Zero, Zero, Ones, Zero, Zero, Ones, Zero,
+ Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero,
+ Zero, Zero, Zero, Zero, Ones, Zero, Zero, Zero,
+ Zero, Zero, Zero, Zero, Zero, Zero, Zero,
+})
+
+Name(p076, Package()
+{
+ Ones, Zero, Zero, Zero, Zero, Ones, Zero, Zero,
+ Zero, Zero, Ones, Zero, Zero, Zero, Zero, Zero,
+ Zero,
+
+ Ones, Zero, Zero, Ones, Zero, Zero, Ones, Zero,
+ Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero,
+ Zero, Zero, Zero, Zero, Ones, Zero, Zero, Ones,
+ Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero,
+ Zero, Zero,
+})
+
+Method(LEQ0)
+{
+ Name(ts, "LEQ0")
+
+ Store("TEST: LEQ0, Logical Equal", Debug)
+
+ // Integers
+
+ if (LEqual(F64, 1)) {
+ m003(ts, c002, "p060", p060, p073, 3)
+ m003(ts, c003, "p061", p061, p074, 3)
+ } else {
+ m003(ts, c002, "p060", p060, p073, 3)
+ }
+
+ // Strings
+
+ m003(ts, c006, "p064", p064, p075, 3)
+
+ Store(LEqual(BIG0, BIG0), Local0)
+ if (LNotEqual(Local0, Ones)) {
+ err(ts, z035, 13, 0, 0, 0, 0)
+ }
+
+ // Buffers
+
+ m003(ts, c007, "p065", p065, p076, 3)
+}
+
+// ===================================== LGreater
+
+Name(p077, Package()
+{
+ Zero, Zero, Zero, Zero, Ones, Zero, Ones,
+ Zero, Ones, Zero, Zero, Zero, Zero,
+})
+
+Name(p078, Package()
+{
+ Zero, Zero, Zero, Zero, Ones, Zero, Ones,
+ Zero, Ones, Zero, Zero, Zero,
+})
+
+Name(p079, Package()
+{
+ Zero, Zero, Ones, Zero, Ones, Zero, Zero, Ones,
+ Zero, Ones, Zero, Zero, Ones, Ones, Zero, Zero,
+ Ones, Zero, Ones, Zero, Zero, Zero, Ones, Ones,
+ Zero, Ones, Zero, Zero, Ones, Ones, Zero,
+})
+
+Name(p07a, Package()
+{
+ Zero, Zero, Ones, Zero, Ones, Zero, Ones, Zero,
+ Ones, Zero, Zero, Zero, Ones, Ones, Zero, Ones,
+ Zero,
+
+ Zero, Zero, Ones, Zero, Ones, Zero, Zero, Ones,
+ Zero, Ones, Zero, Zero, Ones, Ones, Zero, Zero,
+ Ones, Zero, Ones, Zero, Zero, Zero, Ones, Zero,
+ Zero, Ones, Ones, Zero, Ones, Zero, Zero, Ones,
+ Ones, Zero,
+})
+
+Method(LGR0)
+{
+ Name(ts, "LGR0")
+
+ Store("TEST: LGR0, Logical Greater", Debug)
+
+ // Integers
+
+ if (LEqual(F64, 1)) {
+ m003(ts, c002, "p060", p060, p077, 4)
+ m003(ts, c003, "p061", p061, p078, 4)
+ } else {
+ m003(ts, c002, "p060", p060, p077, 4)
+ }
+
+ // Strings
+
+ m003(ts, c006, "p064", p064, p079, 4)
+
+ Store(LGreater(BIG0, BIG0), Local0)
+ if (LNotEqual(Local0, Zero)) {
+ err(ts, z035, 14, 0, 0, 0, 0)
+ }
+
+ // Buffers
+
+ m003(ts, c007, "p065", p065, p07a, 4)
+}
+
+// ===================================== LGreaterEqual
+
+Name(p07b, Package()
+{
+ Ones, Ones, Ones, Ones, Ones, Zero, Ones,
+ Zero, Ones, Zero, Zero, Zero, Zero,
+})
+
+Name(p07c, Package()
+{
+ Ones, Ones, Ones, Ones, Ones, Zero, Ones,
+ Zero, Ones, Zero, Zero, Zero,
+})
+
+Name(p07d, Package()
+{
+ Ones, Zero, Ones, Ones, Ones, Zero, Ones, Ones,
+ Zero, Ones, Zero, Zero, Ones, Ones, Zero, Zero,
+ Ones, Zero, Ones, Zero, Ones, Zero, Ones, Ones,
+ Zero, Ones, Zero, Zero, Ones, Ones, Zero,
+})
+
+Name(p07e, Package()
+{
+ Ones, Zero, Ones, Zero, Ones, Ones, Ones, Zero,
+ Ones, Zero, Ones, Zero, Ones, Ones, Zero, Ones,
+ Zero,
+
+ Ones, Zero, Ones, Ones, Ones, Zero, Ones, Ones,
+ Zero, Ones, Zero, Zero, Ones, Ones, Zero, Zero,
+ Ones, Zero, Ones, Zero, Ones, Zero, Ones, Ones,
+ Zero, Ones, Ones, Zero, Ones, Zero, Zero, Ones,
+ Ones, Zero,
+})
+
+Method(LGE0)
+{
+ Name(ts, "LGE0")
+
+ Store("TEST: LGE0, Logical Greater Than Or Equal", Debug)
+
+ // Integers
+
+ if (LEqual(F64, 1)) {
+ m003(ts, c002, "p060", p060, p07b, 5)
+ m003(ts, c003, "p061", p061, p07c, 5)
+ } else {
+ m003(ts, c002, "p060", p060, p07b, 5)
+ }
+
+ // Strings
+
+ m003(ts, c006, "p064", p064, p07d, 5)
+
+ Store(LGreaterEqual(BIG0, BIG0), Local0)
+ if (LNotEqual(Local0, Ones)) {
+ err(ts, z035, 15, 0, 0, 0, 0)
+ }
+
+ // Buffers
+
+ m003(ts, c007, "p065", p065, p07e, 5)
+}
+
+// ===================================== LLess
+
+Name(p07f, Package()
+{
+ Zero, Zero, Zero, Zero, Zero, Ones, Zero,
+ Ones, Zero, Ones, Ones, Ones, Ones,
+})
+
+Name(p080, Package()
+{
+ Zero, Zero, Zero, Zero, Zero, Ones, Zero,
+ Ones, Zero, Ones, Ones, Ones,
+})
+
+Name(p081, Package()
+{
+ Zero, Ones, Zero, Zero, Zero, Ones, Zero, Zero,
+ Ones, Zero, Ones, Ones, Zero, Zero, Ones, Ones,
+ Zero, Ones, Zero, Ones, Zero, Ones, Zero, Zero,
+ Ones, Zero, Ones, Ones, Zero, Zero, Ones,
+})
+
+Name(p082, Package()
+{
+ Zero, Ones, Zero, Ones, Zero, Zero, Zero, Ones,
+ Zero, Ones, Zero, Ones, Zero, Zero, Ones, Zero,
+ Ones,
+
+ Zero, Ones, Zero, Zero, Zero, Ones, Zero, Zero,
+ Ones, Zero, Ones, Ones, Zero, Zero, Ones, Ones,
+ Zero, Ones, Zero, Ones, Zero, Ones, Zero, Zero,
+ Ones, Zero, Zero, Ones, Zero, Ones, Ones, Zero,
+ Zero, Ones,
+})
+
+Method(LL00)
+{
+ Name(ts, "LL00")
+
+ Store("TEST: LL00, Logical Less", Debug)
+
+ // Integers
+
+ if (LEqual(F64, 1)) {
+ m003(ts, c002, "p060", p060, p07f, 6)
+ m003(ts, c003, "p061", p061, p080, 6)
+ } else {
+ m003(ts, c002, "p060", p060, p07f, 6)
+ }
+
+ // Strings
+
+ m003(ts, c006, "p064", p064, p081, 6)
+
+ Store(LLess(BIG0, BIG0), Local0)
+ if (LNotEqual(Local0, Zero)) {
+ err(ts, z035, 16, 0, 0, 0, 0)
+ }
+
+ // Buffers
+
+ m003(ts, c007, "p065", p065, p082, 6)
+}
+
+// ===================================== LLessEqual
+
+Name(p083, Package()
+{
+ Ones, Ones, Ones, Ones, Zero, Ones, Zero,
+ Ones, Zero, Ones, Ones, Ones, Ones,
+})
+
+Name(p084, Package()
+{
+ Ones, Ones, Ones, Ones, Zero, Ones, Zero,
+ Ones, Zero, Ones, Ones, Ones,
+})
+
+Name(p085, Package()
+{
+ Ones, Ones, Zero, Ones, Zero, Ones, Ones, Zero,
+ Ones, Zero, Ones, Ones, Zero, Zero, Ones, Ones,
+ Zero, Ones, Zero, Ones, Ones, Ones, Zero, Zero,
+ Ones, Zero, Ones, Ones, Zero, Zero, Ones,
+})
+
+Name(p086, Package()
+{
+ Ones, Ones, Zero, Ones, Zero, Ones, Zero, Ones,
+ Zero, Ones, Ones, Ones, Zero, Zero, Ones, Zero,
+ Ones,
+
+ Ones, Ones, Zero, Ones, Zero, Ones, Ones, Zero,
+ Ones, Zero, Ones, Ones, Zero, Zero, Ones, Ones,
+ Zero, Ones, Zero, Ones, Ones, Ones, Zero, Ones,
+ Ones, Zero, Zero, Ones, Zero, Ones, Ones, Zero,
+ Zero, Ones,
+})
+
+Method(LLE0)
+{
+ Name(ts, "LLE0")
+
+ Store("TEST: LLE0, Logical Less Than Or Equal", Debug)
+
+ // Integers
+
+ if (LEqual(F64, 1)) {
+ m003(ts, c002, "p060", p060, p083, 7)
+ m003(ts, c003, "p061", p061, p084, 7)
+ } else {
+ m003(ts, c002, "p060", p060, p083, 7)
+ }
+
+ // Strings
+
+ m003(ts, c006, "p064", p064, p085, 7)
+
+ Store(LLessEqual(BIG0, BIG0), Local0)
+ if (LNotEqual(Local0, Ones)) {
+ err(ts, z035, 17, 0, 0, 0, 0)
+ }
+
+ // Buffers
+
+ m003(ts, c007, "p065", p065, p086, 7)
+}
+
+// ===================================== LNotEqual
+
+Name(p087, Package()
+{
+ Zero, Zero, Zero, Zero, Ones, Ones, Ones,
+ Ones, Ones, Ones, Ones, Ones, Ones,
+})
+
+Name(p088, Package()
+{
+ Zero, Zero, Zero, Zero, Ones, Ones, Ones,
+ Ones, Ones, Ones, Ones, Ones,
+})
+
+Name(p089, Package()
+{
+ Zero, Ones, Ones, Zero, Ones, Ones, Zero, Ones,
+ Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones,
+ Ones, Ones, Ones, Ones, Zero, Ones, Ones, Ones,
+ Ones, Ones, Ones, Ones, Ones, Ones, Ones,
+})
+
+Name(p08a, Package()
+{
+ Zero, Ones, Ones, Ones, Ones, Zero, Ones, Ones,
+ Ones, Ones, Zero, Ones, Ones, Ones, Ones, Ones,
+ Ones,
+
+ Zero, Ones, Ones, Zero, Ones, Ones, Zero, Ones,
+ Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones,
+ Ones, Ones, Ones, Ones, Zero, Ones, Ones, Zero,
+ Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones,
+ Ones, Ones,
+})
+
+Method(LNE0)
+{
+ Name(ts, "LNE0")
+
+ Store("TEST: LNE0, Logical Not equal", Debug)
+
+ // Integers
+
+ if (LEqual(F64, 1)) {
+ m003(ts, c002, "p060", p060, p087, 0)
+ m003(ts, c003, "p061", p061, p088, 0)
+ } else {
+ m003(ts, c002, "p060", p060, p087, 0)
+ }
+
+ // Strings
+
+ m003(ts, c006, "p064", p064, p089, 0)
+
+ Store(LNotEqual(BIG0, BIG0), Local0)
+ if (LNotEqual(Local0, Zero)) {
+ err(ts, z035, 18, 0, 0, 0, 0)
+ }
+
+ // Buffers
+
+ m003(ts, c007, "p065", p065, p08a, 0)
+}
+
+// Run-method
+Method(LOG0)
+{
+ SRMT("LAN0")
+ LAN0()
+ SRMT("LN00")
+ LN00()
+ SRMT("LOR0")
+ LOR0()
+ SRMT("LEQ0")
+ LEQ0()
+ SRMT("LGR0")
+ LGR0()
+ SRMT("LGE0")
+ LGE0()
+ SRMT("LL00")
+ LL00()
+ SRMT("LLE0")
+ LLE0()
+ SRMT("LNE0")
+ LNE0()
+}
diff --git a/tests/aslts/src/runtime/collections/functional/manipulation/DECL.asl b/tests/aslts/src/runtime/collections/functional/manipulation/DECL.asl
new file mode 100644
index 000000000..63cf51cb9
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/manipulation/DECL.asl
@@ -0,0 +1,48 @@
+/*
+ * 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.
+ */
+
+
+
+Include("../../../../runtime/collections/functional/manipulation/mid.asl")
+Include("../../../../runtime/collections/functional/manipulation/concatenate.asl")
+Include("../../../../runtime/collections/functional/manipulation/tointeger.asl")
+Include("../../../../runtime/collections/functional/manipulation/tostring.asl")
+Include("../../../../runtime/collections/functional/manipulation/tobuffer.asl")
+Include("../../../../runtime/collections/functional/manipulation/todecimalstring.asl")
+Include("../../../../runtime/collections/functional/manipulation/tohexstring.asl")
+Include("../../../../runtime/collections/functional/manipulation/tofrombcd.asl")
+Include("../../../../runtime/collections/functional/manipulation/eisaid.asl")
+Include("../../../../runtime/collections/functional/manipulation/touuid.asl")
+Include("../../../../runtime/collections/functional/manipulation/unicode.asl")
+Include("../../../../runtime/collections/functional/manipulation/objecttype.asl")
+Include("../../../../runtime/collections/functional/manipulation/store.asl")
+Include("../../../../runtime/collections/functional/manipulation/match1.asl")
+Include("../../../../runtime/collections/functional/manipulation/match2.asl")
+Include("../../../../runtime/collections/functional/manipulation/sizeof.asl")
diff --git a/tests/aslts/src/runtime/collections/functional/manipulation/MAIN.asl b/tests/aslts/src/runtime/collections/functional/manipulation/MAIN.asl
new file mode 100644
index 000000000..dcbd0fe78
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/manipulation/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "manipulation.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../runtime/cntl/DECL.asl")
+ Include("../../../../runtime/collections/functional/manipulation/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../runtime/collections/functional/manipulation/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/functional/manipulation/Makefile b/tests/aslts/src/runtime/collections/functional/manipulation/Makefile
new file mode 100644
index 000000000..77561c673
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/manipulation/Makefile
@@ -0,0 +1,7 @@
+# manipulation
+
+AMLMOD= manipulation
+COLL= ../..
+
+TOP= $(COLL)/../../..
+include $(COLL)/Makefile.install
diff --git a/tests/aslts/src/runtime/collections/functional/manipulation/RUN.asl b/tests/aslts/src/runtime/collections/functional/manipulation/RUN.asl
new file mode 100644
index 000000000..abea66686
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/manipulation/RUN.asl
@@ -0,0 +1,66 @@
+/*
+ * 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.
+ */
+
+
+if (STTT("Data type conversion and manipulation", TCLF, 8, W008)) {
+ SRMT("CCT0") // Concatenate two strings, integers or buffers
+ CCT0()
+ SRMT("DCM0") // Data type conversion and manipulation
+ DCM0()
+ SRMT("TOI0") // Convert data to integer
+ TOI0()
+ SRMT("TOS0") // Convert buffer to string
+ TOS0()
+ SRMT("TOB0") // Convert Data to Buffer
+ TOB0()
+ SRMT("TOD0") // Convert Data to Decimal String
+ TOD0()
+ SRMT("TOH0") // Convert Data to Hexadecimal String
+ TOH0()
+ SRMT("BCD0") // Convert Integer to BCD, Convert BCD To Integer
+ BCD0()
+ SRMT("EIS0") // EISA ID String To Integer Conversion Macro
+ EIS0()
+ SRMT("UNI0") // String To Unicode Conversion Macro
+ UNI0()
+ SRMT("TOU0") // Convert String to UUID Macro
+ TOU0()
+ SRMT("MAT0") // Find Object Match
+ MAT0()
+ SRMT("MAT1") // Find Object Match
+ MAT1()
+ SRMT("OBT0") // ObjectType, Type of object
+ OBT0()
+ SRMT("MID0") // Extract Portion of Buffer or String
+ MID0()
+ SRMT("SZO0") // Get the size of Integer, Buffer, String or Package
+ SZO0()
+}
+FTTT()
diff --git a/tests/aslts/src/runtime/collections/functional/manipulation/concatenate.asl b/tests/aslts/src/runtime/collections/functional/manipulation/concatenate.asl
new file mode 100644
index 000000000..ccabc0c12
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/manipulation/concatenate.asl
@@ -0,0 +1,368 @@
+/*
+ * 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.
+ */
+
+/*
+ * Data type conversion and manipulation
+ *
+ * Concatenate two strings, integers or buffers
+ */
+
+/*
+// !!!!!!!!!!!!!!!!!!!!!!!!!! ???????????????????
+// SEE: (Compare two buffers)
+// Remove (?) this method and replace it with the
+// LNotEqual, LEqual............ ????? !!!!!!!!!!
+// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+*/
+
+Name(z036, 36)
+
+
+// Compare two buffers
+//
+// Arg0 - name
+// Arg1 - buffer1
+// Arg2 - buffer2
+// Arg3 - length
+Method(m310, 4)
+{
+ Store(0, Local0)
+ While (LLess(Local0, arg3)) {
+ Store(Derefof(Index(arg1, Local0)), Local1)
+ Store(Derefof(Index(arg2, Local0)), Local2)
+ if (LNotEqual(Local1, Local2)) {
+ return (Ones)
+ }
+ Increment(Local0)
+ }
+
+ return (Zero)
+}
+
+// Compare two buffers
+//
+// Arg0 - name
+// Arg1 - buffer1
+// Arg2 - buffer2
+Method(m311, 3)
+{
+ if (LNotequal(ObjectType(arg1), 3)) {
+ err("m311: unexpected type of Arg1", z036, 0, 0, 0, 0, 0)
+ return (Ones)
+ }
+
+ if (LNotequal(ObjectType(arg2), 3)) {
+ err("m311: unexpected type of Arg2", z036, 1, 0, 0, 0, 0)
+ return (Ones)
+ }
+
+ Store(Sizeof(arg1), Local0)
+
+ if (LNotEqual(Local0, Sizeof(arg2))) {
+ return (Ones)
+ }
+
+ if (m310(Arg0, Arg1, Arg2, Local0)) {
+ return (Ones)
+ }
+
+ return (Zero)
+}
+
+// Verifying 2-parameters, 1-result operator
+Method(m312, 6)
+{
+ Store(0, Local5)
+ Store(arg1, Local3)
+
+ While(Local3) {
+
+ // Operands
+
+ Multiply(Local5, 2, Local6)
+ Store(DeRefOf(Index(arg3, Local6)), Local0)
+ Increment(Local6)
+ Store(DeRefOf(Index(arg3, Local6)), Local1)
+
+ // Expected result
+
+ Store(DeRefOf(Index(arg4, Local5)), Local2)
+
+ switch (arg5) {
+ case (0) {
+ // Results in buffer
+ Concatenate(Local0, Local1, Local7)
+
+ if (m311(Arg0, Local7, Local2)) {
+ err(arg0, z036, 2, 0, 0, Local5, arg2)
+ }
+ }
+ case (1) {
+ // Results in string
+
+ Concatenate(Local0, Local1, Local7)
+
+ if (LNotequal(ObjectType(Local7), 2)) {
+ err(arg0, z036, 3, 0, 0, Local7, arg2)
+ } elseif (LNotequal(ObjectType(Local2), 2)) {
+ err(arg0, z036, 4, 0, 0, Local2, arg2)
+ } elseif (LNotEqual(Local7, Local2)) {
+ err(arg0, z036, 5, 0, 0, Local7, arg2)
+ }
+ }
+ }
+
+ Increment(Local5)
+ Decrement(Local3)
+ }
+}
+
+// Integers
+Method(m313)
+{
+ Name(ts, "m313")
+
+ Name(p000, Package()
+ {
+ 0, 0,
+ 0xffffffff, 0xffffffff,
+ 0, 0xffffffff,
+ 0, 0x81,
+ 0, 0x9ac6,
+ 0, 0xab012345,
+ 0x92, 0x81,
+ 0x93, 0x8476,
+ 0xab, 0xdc816778,
+ 0xac93, 0x8476,
+ 0xf63b, 0x8c8fc2da,
+ 0x8790f6a4, 0x98de45ba,
+ })
+
+ Name(p001, Package()
+ {
+ Buffer() { 0, 0, 0, 0, 0, 0, 0, 0 },
+ Buffer() { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
+ Buffer() { 0, 0, 0, 0, 0xff, 0xff, 0xff, 0xff },
+ Buffer() { 0, 0, 0, 0, 0x81, 0, 0, 0 },
+ Buffer() { 0, 0, 0, 0, 0xc6, 0x9a, 0, 0 },
+ Buffer() { 0, 0, 0, 0, 0x45, 0x23, 0x01, 0xab },
+ Buffer() { 0x92, 0, 0, 0, 0x81, 0, 0, 0 },
+ Buffer() { 0x93, 0, 0, 0, 0x76, 0x84, 0, 0 },
+ Buffer() { 0xab, 0, 0, 0, 0x78, 0x67, 0x81, 0xdc },
+ Buffer() { 0x93, 0xac, 0, 0, 0x76, 0x84, 0, 0 },
+ Buffer() { 0x3b, 0xf6, 0, 0, 0xda, 0xc2, 0x8f, 0x8c },
+ Buffer() { 0xa4, 0xf6, 0x90, 0x87, 0xba, 0x45, 0xde, 0x98 },
+ })
+
+ Name(p002, Package()
+ {
+ Buffer() { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ Buffer() { 0xff, 0xff, 0xff, 0xff, 0, 0, 0, 0, 0xff, 0xff, 0xff, 0xff, 0, 0, 0, 0 },
+ Buffer() { 0, 0, 0, 0, 0, 0, 0, 0, 0xff, 0xff, 0xff, 0xff, 0, 0, 0, 0 },
+ Buffer() { 0, 0, 0, 0, 0, 0, 0, 0, 0x81, 0, 0, 0, 0, 0, 0, 0 },
+ Buffer() { 0, 0, 0, 0, 0, 0, 0, 0, 0xc6, 0x9a, 0, 0, 0, 0, 0, 0 },
+ Buffer() { 0, 0, 0, 0, 0, 0, 0, 0, 0x45, 0x23, 0x01, 0xab, 0, 0, 0, 0 },
+ Buffer() { 0x92, 0, 0, 0, 0, 0, 0, 0, 0x81, 0, 0, 0, 0, 0, 0, 0 },
+ Buffer() { 0x93, 0, 0, 0, 0, 0, 0, 0, 0x76, 0x84, 0, 0, 0, 0, 0, 0 },
+ Buffer() { 0xab, 0, 0, 0, 0, 0, 0, 0, 0x78, 0x67, 0x81, 0xdc, 0, 0, 0, 0 },
+ Buffer() { 0x93, 0xac, 0, 0, 0, 0, 0, 0, 0x76, 0x84, 0, 0, 0, 0, 0, 0 },
+ Buffer() { 0x3b, 0xf6, 0, 0, 0, 0, 0, 0, 0xda, 0xc2, 0x8f, 0x8c, 0, 0, 0, 0 },
+ Buffer() { 0xa4, 0xf6, 0x90, 0x87, 0, 0, 0, 0, 0xba, 0x45, 0xde, 0x98, 0, 0, 0, 0 },
+ })
+
+ Name(p003, Package()
+ {
+ 0xffffffffffffffff, 0xffffffffffffffff,
+ 0x1234567890abcdef, 0x1122334455667788,
+ })
+
+ Name(p004, Package()
+ {
+ Buffer() { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
+ Buffer() { 0xef, 0xcd, 0xab, 0x90, 0x78, 0x56, 0x34, 0x12,
+ 0x88, 0x77, 0x66, 0x55, 0x44, 0x33, 0x22, 0x11 },
+ })
+
+
+ if (LEqual(F64, 1)) {
+ m312(ts, 12, "p000", p000, p002, 0)
+ m312(ts, 2, "p003", p003, p004, 0)
+ } else {
+ m312(ts, 12, "p000", p000, p001, 0)
+ }
+}
+
+// Strings
+Method(m314)
+{
+ Name(ts, "m314")
+
+ Name(p000, Package()
+ {
+ "qwertyuiop", "qwertyuiop",
+ "qwertyuiop", "qwertyuiop0",
+ "qwertyuiop", "qwertyuio",
+
+ "", "",
+ " ", "",
+ "", " ",
+ " ", " ",
+ " ", " ",
+ " ", " ",
+
+ "a", "",
+ "", "a",
+ " a", "a",
+ "a", " a",
+ "a ", "a",
+ "a", "a ",
+ "a b", "ab",
+ "ab", "a b",
+ "a b", "a b",
+ "a b", "a b",
+ "abcDef", "abcdef",
+
+ // 100 + 100
+ "0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789",
+ "0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789",
+
+ "0", "",
+ })
+
+ Name(p001, Package()
+ {
+ "qwertyuiopqwertyuiop",
+ "qwertyuiopqwertyuiop0",
+ "qwertyuiopqwertyuio",
+
+ "",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+
+ "a",
+ "a",
+ " aa",
+ "a a",
+ "a a",
+ "aa ",
+ "a bab",
+ "aba b",
+ "a ba b",
+ "a ba b",
+ "abcDefabcdef",
+ "01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789",
+ })
+
+ m312(ts, 21, "p000", p000, p001, 1)
+}
+
+// Buffers
+Method(m315)
+{
+ Name(ts, "m314")
+
+ Name(p000, Package()
+ {
+ Buffer(100){},
+ Buffer(101){},
+ })
+
+ Name(p001, Package()
+ {
+ Buffer(201){},
+ })
+
+ Name(p002, Package()
+ {
+ Buffer() {1, 1, 2, 3, 4},
+ Buffer() {1, 2, 3, 4, 5, 6, 7, 8,
+ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
+ 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
+ 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
+ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
+ 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
+ 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,112,
+ 113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128},
+ Buffer() {
+ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
+ 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
+ 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
+ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
+ 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
+ 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,112,
+ 113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,
+ 129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,
+ 145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,
+ 161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,
+ 177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,
+ 193,194,195,196,197,198,199,200,
+ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
+ 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
+ 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
+ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
+ 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
+ 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,112,
+ 113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,
+ 129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,
+ 145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,
+ 161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,
+ 177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,
+ 193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,
+ 209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,
+ 225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,
+ 241,242,243,244,245,246,247,248,249,250,251,252,253,254,255, 0, 1},
+ })
+
+ m312(ts, 1, "p000", p000, p001, 0)
+ m312(ts, 3, "p325", p325, p002, 0)
+}
+
+// Run-method
+Method(CCT0)
+{
+ Store("TEST: CCT0, Concatenate two strings, integers or buffers", Debug)
+
+ m313()
+ m314()
+ m315()
+}
+
+
+
+
+
+
diff --git a/tests/aslts/src/runtime/collections/functional/manipulation/eisaid.asl b/tests/aslts/src/runtime/collections/functional/manipulation/eisaid.asl
new file mode 100644
index 000000000..6a47a6dbe
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/manipulation/eisaid.asl
@@ -0,0 +1,75 @@
+/*
+ * 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.
+ */
+
+/*
+ * Data type conversion and manipulation
+ *
+ * EISA ID String To Integer Conversion Macro
+ */
+
+Name(p360, Package()
+{
+ EISAID("ABC0123"),
+ EISAID("DEF4567"),
+ EISAID("GHI8abc"),
+ EISAID("JKLdefA"),
+ EISAID("MNOBCDE"),
+ EISAID("PQRF012"),
+ EISAID("STU3456"),
+ EISAID("VWX789a"),
+ EISAID("YZAbcde"),
+ // check uppercase requirement to the EISAID
+ // form "UUUXXXX" (UUU - 3 uppercase letters)
+ EISAID("ABC0123"),
+})
+
+Name(p361, Package()
+{
+ 0x23014304,
+ 0x6745a610,
+ 0xbc8a091d,
+ 0xfade6c29,
+ 0xdebccf35,
+ 0x12f03242,
+ 0x5634954e,
+ 0x9a78f85a,
+ 0xdebc4167,
+ 0x23014304, // 0x23014384
+})
+
+// Run-method
+Method(EIS0)
+{
+ Name(ts, "EIS0")
+
+ Store("TEST: EIS0, EISA ID String To Integer Conversion Macro", Debug)
+
+ m302(ts, 10, "p360", p360, p361, 9)
+}
diff --git a/tests/aslts/src/runtime/collections/functional/manipulation/match1.asl b/tests/aslts/src/runtime/collections/functional/manipulation/match1.asl
new file mode 100644
index 000000000..30cdee8aa
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/manipulation/match1.asl
@@ -0,0 +1,961 @@
+/*
+ * 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.
+ */
+
+/*
+ * Data type conversion and manipulation
+ *
+ * Find Object Match (check for Integer values)
+ */
+
+Name(z038, 38)
+
+// The depth of testing flag
+Name(c099, 0)
+
+// Match operator wrapper
+Method(m306, 6) // SPkg, Op1, MO1, Op2, MO2, SInd
+{
+ switch (arg1) {
+ case (0) {
+ switch (arg3) {
+ case (0) {
+ Store(Match(arg0, MTR, arg2, MTR, arg4, arg5), Local0)
+ }
+ case (1) {
+ Store(Match(arg0, MTR, arg2, MEQ, arg4, arg5), Local0)
+ }
+ case (2) {
+ Store(Match(arg0, MTR, arg2, MLE, arg4, arg5), Local0)
+ }
+ case (3) {
+ Store(Match(arg0, MTR, arg2, MLT, arg4, arg5), Local0)
+ }
+ case (4) {
+ Store(Match(arg0, MTR, arg2, MGE, arg4, arg5), Local0)
+ }
+ case (5) {
+ Store(Match(arg0, MTR, arg2, MGT, arg4, arg5), Local0)
+ }
+ }
+ }
+ case (1) {
+ switch (arg3) {
+ case (0) {
+ Store(Match(arg0, MEQ, arg2, MTR, arg4, arg5), Local0)
+ }
+ case (1) {
+ Store(Match(arg0, MEQ, arg2, MEQ, arg4, arg5), Local0)
+ }
+ case (2) {
+ Store(Match(arg0, MEQ, arg2, MLE, arg4, arg5), Local0)
+ }
+ case (3) {
+ Store(Match(arg0, MEQ, arg2, MLT, arg4, arg5), Local0)
+ }
+ case (4) {
+ Store(Match(arg0, MEQ, arg2, MGE, arg4, arg5), Local0)
+ }
+ case (5) {
+ Store(Match(arg0, MEQ, arg2, MGT, arg4, arg5), Local0)
+ }
+ }
+ }
+ case (2) {
+ switch (arg3) {
+ case (0) {
+ Store(Match(arg0, MLE, arg2, MTR, arg4, arg5), Local0)
+ }
+ case (1) {
+ Store(Match(arg0, MLE, arg2, MEQ, arg4, arg5), Local0)
+ }
+ case (2) {
+ Store(Match(arg0, MLE, arg2, MLE, arg4, arg5), Local0)
+ }
+ case (3) {
+ Store(Match(arg0, MLE, arg2, MLT, arg4, arg5), Local0)
+ }
+ case (4) {
+ Store(Match(arg0, MLE, arg2, MGE, arg4, arg5), Local0)
+ }
+ case (5) {
+ Store(Match(arg0, MLE, arg2, MGT, arg4, arg5), Local0)
+ }
+ }
+ }
+ case (3) {
+ switch (arg3) {
+ case (0) {
+ Store(Match(arg0, MLT, arg2, MTR, arg4, arg5), Local0)
+ }
+ case (1) {
+ Store(Match(arg0, MLT, arg2, MEQ, arg4, arg5), Local0)
+ }
+ case (2) {
+ Store(Match(arg0, MLT, arg2, MLE, arg4, arg5), Local0)
+ }
+ case (3) {
+ Store(Match(arg0, MLT, arg2, MLT, arg4, arg5), Local0)
+ }
+ case (4) {
+ Store(Match(arg0, MLT, arg2, MGE, arg4, arg5), Local0)
+ }
+ case (5) {
+ Store(Match(arg0, MLT, arg2, MGT, arg4, arg5), Local0)
+ }
+ }
+ }
+ case (4) {
+ switch (arg3) {
+ case (0) {
+ Store(Match(arg0, MGE, arg2, MTR, arg4, arg5), Local0)
+ }
+ case (1) {
+ Store(Match(arg0, MGE, arg2, MEQ, arg4, arg5), Local0)
+ }
+ case (2) {
+ Store(Match(arg0, MGE, arg2, MLE, arg4, arg5), Local0)
+ }
+ case (3) {
+ Store(Match(arg0, MGE, arg2, MLT, arg4, arg5), Local0)
+ }
+ case (4) {
+ Store(Match(arg0, MGE, arg2, MGE, arg4, arg5), Local0)
+ }
+ case (5) {
+ Store(Match(arg0, MGE, arg2, MGT, arg4, arg5), Local0)
+ }
+ }
+ }
+ case (5) {
+ switch (arg3) {
+ case (0) {
+ Store(Match(arg0, MGT, arg2, MTR, arg4, arg5), Local0)
+ }
+ case (1) {
+ Store(Match(arg0, MGT, arg2, MEQ, arg4, arg5), Local0)
+ }
+ case (2) {
+ Store(Match(arg0, MGT, arg2, MLE, arg4, arg5), Local0)
+ }
+ case (3) {
+ Store(Match(arg0, MGT, arg2, MLT, arg4, arg5), Local0)
+ }
+ case (4) {
+ Store(Match(arg0, MGT, arg2, MGE, arg4, arg5), Local0)
+ }
+ case (5) {
+ Store(Match(arg0, MGT, arg2, MGT, arg4, arg5), Local0)
+ }
+ }
+ }
+ }
+ return (Local0)
+}
+
+// Test engine
+// arg0 - test name
+// arg1 - number of the test cases in the test parameters package
+// arg2 - search package name
+// arg3 - test parameters package
+// arg4 - benchmark package
+// arg5 - search package
+// arg6 - to do transposition of match objects flag
+Method(m308, 7)
+{
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+
+ Name(lpN1, 0)
+ Name(lpC1, 0)
+ Name(lpC2, 0)
+
+ Store(arg1, lpN0)
+ Store(0, lpC0)
+
+ While(lpN0) {
+
+ // Operands
+
+ Multiply(lpC0, 3, Local6)
+ Store(DeRefOf(Index(arg3, Local6)), Local1)
+ Increment(Local6)
+ Store(DeRefOf(Index(arg3, Local6)), Local3)
+ Increment(Local6)
+ Store(DeRefOf(Index(arg3, Local6)), Local4)
+
+ // Expected result package
+
+ Store(DeRefOf(Index(arg4, lpC0)), Local5)
+
+ Store(36, lpN1)
+ Store(0, lpC1)
+
+ While(lpN1) {
+ Divide(lpC1, 6, Local2, Local0)
+
+ // Expected result
+
+ Store(DeRefOf(Index(Local5, lpC1)), Local7)
+
+ Store(m306(arg5, Local0, Local1, Local2, Local3, Local4), Local6)
+ if (LNotEqual(Local7, Local6)) {
+ err("err 1", z038, lpC0, 0, 0, lpC1, arg2)
+ }
+
+ if (LAnd(arg6, LNotEqual(Local1, Local3))) {
+ // Transpose match objects
+
+ // Expected result
+
+ Add(Multiply(Local2, 6), Local0, lpC2)
+ Store(DeRefOf(Index(Local5, lpC2)), Local7)
+
+ Store(m306(arg5, Local0, Local3, Local2, Local1, Local4), Local6)
+ if (LNotEqual(Local7, Local6)) {
+ err("err 2", z038, Add(lpC0, 36), 0, 0, lpC2, arg2)
+ }
+ }
+
+ Decrement(lpN1)
+ Increment(lpC1)
+ }
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+}
+
+// Search package
+Name(p370, Package() {
+ 26, 11, 19, 14, 12, 35, 38, 29, 31, 23, 18, 32,
+})
+
+// Test parameters package,
+// array of triples: MO1, MO2, SInd
+Name(p371, Package()
+{
+ 0, 0, 0,
+ 0, 40, 0,
+ 40, 40, 0,
+ 13, 13, 0,
+ 14, 14, 0,
+ 15, 15, 0,
+ 0, 13, 0,
+ 0, 14, 0,
+ 0, 15, 0,
+ 13, 40, 0,
+ 14, 40, 0,
+ 15, 40, 0,
+ 13, 29, 0,
+ 14, 29, 0,
+ 15, 29, 0,
+ 14, 28, 0,
+ 14, 30, 0,
+ 15, 28, 0,
+ 14, 29, 1,
+ 15, 29, 1,
+ 14, 30, 1,
+ 15, 28, 1,
+ 14, 29, 6,
+ 15, 29, 6,
+ 14, 30, 6,
+ 15, 28, 6,
+ 14, 29, 9,
+ 15, 29, 9,
+ 14, 30, 9,
+ 15, 28, 9,
+ 14, 29, 11,
+ 15, 29, 11,
+ 14, 30, 11,
+ 15, 28, 11,
+})
+
+// Benchmark package, each package in it
+// corresponds to the relevant test parameters
+// case and enumerates the results of Match for
+// all combinations of the match operators (36).
+Name(p372, Package()
+{
+ Package() {
+ 0, Ones, Ones, Ones, 0, 0,
+ Ones, Ones, Ones, Ones, Ones, Ones,
+ Ones, Ones, Ones, Ones, Ones, Ones,
+ Ones, Ones, Ones, Ones, Ones, Ones,
+ 0, Ones, Ones, Ones, 0, 0,
+ 0, Ones, Ones, Ones, 0, 0,
+ },
+ Package() {
+ 0, Ones, 0, 0, Ones, Ones,
+ Ones, Ones, Ones, Ones, Ones, Ones,
+ Ones, Ones, Ones, Ones, Ones, Ones,
+ Ones, Ones, Ones, Ones, Ones, Ones,
+ 0, Ones, 0, 0, Ones, Ones,
+ 0, Ones, 0, 0, Ones, Ones,
+ },
+ Package() {
+ 0, Ones, 0, 0, Ones, Ones,
+ Ones, Ones, Ones, Ones, Ones, Ones,
+ 0, Ones, 0, 0, Ones, Ones,
+ 0, Ones, 0, 0, Ones, Ones,
+ Ones, Ones, Ones, Ones, Ones, Ones,
+ Ones, Ones, Ones, Ones, Ones, Ones,
+ },
+ Package() {
+ 0, Ones, 1, 1, 0, 0,
+ Ones, Ones, Ones, Ones, Ones, Ones,
+ 1, Ones, 1, 1, Ones, Ones,
+ 1, Ones, 1, 1, Ones, Ones,
+ 0, Ones, Ones, Ones, 0, 0,
+ 0, Ones, Ones, Ones, 0, 0,
+ },
+ Package() {
+ 0, 3, 1, 1, 0, 0,
+ 3, 3, 3, Ones, 3, Ones,
+ 1, 3, 1, 1, 3, Ones,
+ 1, Ones, 1, 1, Ones, Ones,
+ 0, 3, 3, Ones, 0, 0,
+ 0, Ones, Ones, Ones, 0, 0,
+ },
+ Package() {
+ 0, Ones, 1, 1, 0, 0,
+ Ones, Ones, Ones, Ones, Ones, Ones,
+ 1, Ones, 1, 1, Ones, Ones,
+ 1, Ones, 1, 1, Ones, Ones,
+ 0, Ones, Ones, Ones, 0, 0,
+ 0, Ones, Ones, Ones, 0, 0,
+ },
+ Package() {
+ 0, Ones, 1, 1, 0, 0,
+ Ones, Ones, Ones, Ones, Ones, Ones,
+ Ones, Ones, Ones, Ones, Ones, Ones,
+ Ones, Ones, Ones, Ones, Ones, Ones,
+ 0, Ones, 1, 1, 0, 0,
+ 0, Ones, 1, 1, 0, 0,
+ },
+ Package() {
+ 0, 3, 1, 1, 0, 0,
+ Ones, Ones, Ones, Ones, Ones, Ones,
+ Ones, Ones, Ones, Ones, Ones, Ones,
+ Ones, Ones, Ones, Ones, Ones, Ones,
+ 0, 3, 1, 1, 0, 0,
+ 0, 3, 1, 1, 0, 0,
+ },
+ Package() {
+ 0, Ones, 1, 1, 0, 0,
+ Ones, Ones, Ones, Ones, Ones, Ones,
+ Ones, Ones, Ones, Ones, Ones, Ones,
+ Ones, Ones, Ones, Ones, Ones, Ones,
+ 0, Ones, 1, 1, 0, 0,
+ 0, Ones, 1, 1, 0, 0,
+ },
+ Package() {
+ 0, Ones, 0, 0, Ones, Ones,
+ Ones, Ones, Ones, Ones, Ones, Ones,
+ 1, Ones, 1, 1, Ones, Ones,
+ 1, Ones, 1, 1, Ones, Ones,
+ 0, Ones, 0, 0, Ones, Ones,
+ 0, Ones, 0, 0, Ones, Ones,
+ },
+ Package() {
+ 0, Ones, 0, 0, Ones, Ones,
+ 3, Ones, 3, 3, Ones, Ones,
+ 1, Ones, 1, 1, Ones, Ones,
+ 1, Ones, 1, 1, Ones, Ones,
+ 0, Ones, 0, 0, Ones, Ones,
+ 0, Ones, 0, 0, Ones, Ones,
+ },
+ Package() {
+ 0, Ones, 0, 0, Ones, Ones,
+ Ones, Ones, Ones, Ones, Ones, Ones,
+ 1, Ones, 1, 1, Ones, Ones,
+ 1, Ones, 1, 1, Ones, Ones,
+ 0, Ones, 0, 0, Ones, Ones,
+ 0, Ones, 0, 0, Ones, Ones,
+ },
+ Package() {
+ 0, 7, 0, 0, 5, 5,
+ Ones, Ones, Ones, Ones, Ones, Ones,
+ 1, Ones, 1, 1, Ones, Ones,
+ 1, Ones, 1, 1, Ones, Ones,
+ 0, 7, 0, 0, 5, 5,
+ 0, 7, 0, 0, 5, 5,
+ },
+ Package() {
+ 0, 7, 0, 0, 5, 5,
+ 3, Ones, 3, 3, Ones, Ones,
+ 1, Ones, 1, 1, Ones, Ones,
+ 1, Ones, 1, 1, Ones, Ones,
+ 0, 7, 0, 0, 5, 5,
+ 0, 7, 0, 0, 5, 5,
+ },
+ Package() {
+ 0, 7, 0, 0, 5, 5,
+ Ones, Ones, Ones, Ones, Ones, Ones,
+ 1, Ones, 1, 1, Ones, Ones,
+ 1, Ones, 1, 1, Ones, Ones,
+ 0, 7, 0, 0, 5, 5,
+ 0, 7, 0, 0, 5, 5,
+ },
+ Package() {
+ 0, Ones, 0, 0, 5, 5,
+ 3, Ones, 3, 3, Ones, Ones,
+ 1, Ones, 1, 1, Ones, Ones,
+ 1, Ones, 1, 1, Ones, Ones,
+ 0, Ones, 0, 0, 5, 5,
+ 0, Ones, 0, 0, 5, 5,
+ },
+ Package() {
+ 0, Ones, 0, 0, 5, 5,
+ 3, Ones, 3, 3, Ones, Ones,
+ 1, Ones, 1, 1, Ones, Ones,
+ 1, Ones, 1, 1, Ones, Ones,
+ 0, Ones, 0, 0, 5, 5,
+ 0, Ones, 0, 0, 5, 5,
+ },
+ Package() {
+ 0, Ones, 0, 0, 5, 5,
+ Ones, Ones, Ones, Ones, Ones, Ones,
+ 1, Ones, 1, 1, Ones, Ones,
+ 1, Ones, 1, 1, Ones, Ones,
+ 0, Ones, 0, 0, 5, 5,
+ 0, Ones, 0, 0, 5, 5,
+ },
+ Package() {
+ 1, 7, 1, 1, 5, 5,
+ 3, Ones, 3, 3, Ones, Ones,
+ 1, Ones, 1, 1, Ones, Ones,
+ 1, Ones, 1, 1, Ones, Ones,
+ 2, 7, 2, 2, 5, 5,
+ 2, 7, 2, 2, 5, 5,
+ },
+ Package() {
+ 1, 7, 1, 1, 5, 5,
+ Ones, Ones, Ones, Ones, Ones, Ones,
+ 1, Ones, 1, 1, Ones, Ones,
+ 1, Ones, 1, 1, Ones, Ones,
+ 2, 7, 2, 2, 5, 5,
+ 2, 7, 2, 2, 5, 5,
+ },
+ Package() {
+ 1, Ones, 1, 1, 5, 5,
+ 3, Ones, 3, 3, Ones, Ones,
+ 1, Ones, 1, 1, Ones, Ones,
+ 1, Ones, 1, 1, Ones, Ones,
+ 2, Ones, 2, 2, 5, 5,
+ 2, Ones, 2, 2, 5, 5,
+ },
+ Package() {
+ 1, Ones, 1, 1, 5, 5,
+ Ones, Ones, Ones, Ones, Ones, Ones,
+ 1, Ones, 1, 1, Ones, Ones,
+ 1, Ones, 1, 1, Ones, Ones,
+ 2, Ones, 2, 2, 5, 5,
+ 2, Ones, 2, 2, 5, 5,
+ },
+ Package() {
+ 6, 7, 7, 9, 6, 6,
+ Ones, Ones, Ones, Ones, Ones, Ones,
+ Ones, Ones, Ones, Ones, Ones, Ones,
+ Ones, Ones, Ones, Ones, Ones, Ones,
+ 6, 7, 7, 9, 6, 6,
+ 6, 7, 7, 9, 6, 6,
+ },
+ Package() {
+ 6, 7, 7, 9, 6, 6,
+ Ones, Ones, Ones, Ones, Ones, Ones,
+ Ones, Ones, Ones, Ones, Ones, Ones,
+ Ones, Ones, Ones, Ones, Ones, Ones,
+ 6, 7, 7, 9, 6, 6,
+ 6, 7, 7, 9, 6, 6,
+ },
+ Package() {
+ 6, Ones, 7, 7, 6, 6,
+ Ones, Ones, Ones, Ones, Ones, Ones,
+ Ones, Ones, Ones, Ones, Ones, Ones,
+ Ones, Ones, Ones, Ones, Ones, Ones,
+ 6, Ones, 7, 7, 6, 6,
+ 6, Ones, 7, 7, 6, 6,
+ },
+ Package() {
+ 6, Ones, 9, 9, 6, 6,
+ Ones, Ones, Ones, Ones, Ones, Ones,
+ Ones, Ones, Ones, Ones, Ones, Ones,
+ Ones, Ones, Ones, Ones, Ones, Ones,
+ 6, Ones, 9, 9, 6, 6,
+ 6, Ones, 9, 9, 6, 6,
+ },
+ Package() {
+ 9, Ones, 9, 9, 11, 11,
+ Ones, Ones, Ones, Ones, Ones, Ones,
+ Ones, Ones, Ones, Ones, Ones, Ones,
+ Ones, Ones, Ones, Ones, Ones, Ones,
+ 9, Ones, 9, 9, 11, 11,
+ 9, Ones, 9, 9, 11, 11,
+ },
+ Package() {
+ 9, Ones, 9, 9, 11, 11,
+ Ones, Ones, Ones, Ones, Ones, Ones,
+ Ones, Ones, Ones, Ones, Ones, Ones,
+ Ones, Ones, Ones, Ones, Ones, Ones,
+ 9, Ones, 9, 9, 11, 11,
+ 9, Ones, 9, 9, 11, 11,
+ },
+ Package() {
+ 9, Ones, 9, 9, 11, 11,
+ Ones, Ones, Ones, Ones, Ones, Ones,
+ Ones, Ones, Ones, Ones, Ones, Ones,
+ Ones, Ones, Ones, Ones, Ones, Ones,
+ 9, Ones, 9, 9, 11, 11,
+ 9, Ones, 9, 9, 11, 11,
+ },
+ Package() {
+ 9, Ones, 9, 9, 11, 11,
+ Ones, Ones, Ones, Ones, Ones, Ones,
+ Ones, Ones, Ones, Ones, Ones, Ones,
+ Ones, Ones, Ones, Ones, Ones, Ones,
+ 9, Ones, 9, 9, 11, 11,
+ 9, Ones, 9, 9, 11, 11,
+ },
+ Package() {
+ 11, Ones, Ones, Ones, 11, 11,
+ Ones, Ones, Ones, Ones, Ones, Ones,
+ Ones, Ones, Ones, Ones, Ones, Ones,
+ Ones, Ones, Ones, Ones, Ones, Ones,
+ 11, Ones, Ones, Ones, 11, 11,
+ 11, Ones, Ones, Ones, 11, 11,
+ },
+ Package() {
+ 11, Ones, Ones, Ones, 11, 11,
+ Ones, Ones, Ones, Ones, Ones, Ones,
+ Ones, Ones, Ones, Ones, Ones, Ones,
+ Ones, Ones, Ones, Ones, Ones, Ones,
+ 11, Ones, Ones, Ones, 11, 11,
+ 11, Ones, Ones, Ones, 11, 11,
+ },
+ Package() {
+ 11, Ones, Ones, Ones, 11, 11,
+ Ones, Ones, Ones, Ones, Ones, Ones,
+ Ones, Ones, Ones, Ones, Ones, Ones,
+ Ones, Ones, Ones, Ones, Ones, Ones,
+ 11, Ones, Ones, Ones, 11, 11,
+ 11, Ones, Ones, Ones, 11, 11,
+ },
+ Package() {
+ 11, Ones, Ones, Ones, 11, 11,
+ Ones, Ones, Ones, Ones, Ones, Ones,
+ Ones, Ones, Ones, Ones, Ones, Ones,
+ Ones, Ones, Ones, Ones, Ones, Ones,
+ 11, Ones, Ones, Ones, 11, 11,
+ 11, Ones, Ones, Ones, 11, 11,
+ },
+})
+
+Name(p373, Package() {
+ 26, 11, 19, 14, 14, 35, 38, 29, 31, 23, 18, 32,
+})
+
+Name(p374, Package() {
+ 26, 11, 19, 14, 12, 35, 38, 29, 29, 23, 18, 32,
+})
+
+Name(p375, Package() {
+ 26, 11, 19, 14, 14, 35, 38, 29, 29, 23, 18, 32,
+})
+
+Name(p376, Package() {
+ 26, 11, 19, 14, Package(){29}, 35, 38, 29, Package(){40}, 23, Package(){0}, 32,
+})
+
+Name(p389, Package() {
+ 0x80000026, 11, 19, 14, 12, 0x80000035, 0x80000038, 0x80000029, 0x80000031, 23, 18, 0x80000032,
+})
+
+Name(p38a, Package()
+{
+ 0, 0, 0,
+ 0, 0x80000040, 0,
+ 0x80000040, 0x80000040, 0,
+ 13, 13, 0,
+ 14, 14, 0,
+ 15, 15, 0,
+ 0, 13, 0,
+ 0, 14, 0,
+ 0, 15, 0,
+ 13, 0x80000040, 0,
+ 14, 0x80000040, 0,
+ 15, 0x80000040, 0,
+ 13, 0x80000029, 0,
+ 14, 0x80000029, 0,
+ 15, 0x80000029, 0,
+ 14, 0x80000028, 0,
+ 14, 0x80000030, 0,
+ 15, 0x80000028, 0,
+ 14, 0x80000029, 1,
+ 15, 0x80000029, 1,
+ 14, 0x80000030, 1,
+ 15, 0x80000028, 1,
+ 14, 0x80000029, 6,
+ 15, 0x80000029, 6,
+ 14, 0x80000030, 6,
+ 15, 0x80000028, 6,
+ 14, 0x80000029, 9,
+ 15, 0x80000029, 9,
+ 14, 0x80000030, 9,
+ 15, 0x80000028, 9,
+ 14, 0x80000029, 11,
+ 15, 0x80000029, 11,
+ 14, 0x80000030, 11,
+ 15, 0x80000028, 11,
+})
+
+Name(p38b, Package() {
+ 0x100000026, 11, 19, 14, 12, 0x100000035, 0x100000038, 0x100000029, 0x100000031, 23, 18, 0x100000032,
+})
+
+Name(p38c, Package()
+{
+ 0, 0, 0,
+ 0, 0x100000040, 0,
+ 0x100000040, 0x100000040, 0,
+ 13, 13, 0,
+ 14, 14, 0,
+ 15, 15, 0,
+ 0, 13, 0,
+ 0, 14, 0,
+ 0, 15, 0,
+ 13, 0x100000040, 0,
+ 14, 0x100000040, 0,
+ 15, 0x100000040, 0,
+ 13, 0x100000029, 0,
+ 14, 0x100000029, 0,
+ 15, 0x100000029, 0,
+ 14, 0x100000028, 0,
+ 14, 0x100000030, 0,
+ 15, 0x100000028, 0,
+ 14, 0x100000029, 1,
+ 15, 0x100000029, 1,
+ 14, 0x100000030, 1,
+ 15, 0x100000028, 1,
+ 14, 0x100000029, 6,
+ 15, 0x100000029, 6,
+ 14, 0x100000030, 6,
+ 15, 0x100000028, 6,
+ 14, 0x100000029, 9,
+ 15, 0x100000029, 9,
+ 14, 0x100000030, 9,
+ 15, 0x100000028, 9,
+ 14, 0x100000029, 11,
+ 15, 0x100000029, 11,
+ 14, 0x100000030, 11,
+ 15, 0x100000028, 11,
+})
+
+Name(p38d, Package() {
+ 0x8000000000000026, 0x100000011, 0x100000019, 0x100000014, 0x100000012, 0x8000000000000035, 0x8000000000000038, 0x8000000000000029, 0x8000000000000031, 0x100000023, 0x100000018, 0x8000000000000032,
+})
+
+Name(p38e, Package()
+{
+ 0x100000000, 0x100000000, 0,
+ 0x100000000, 0x8000000000000040, 0,
+ 0x8000000000000040, 0x8000000000000040, 0,
+ 0x100000013, 0x100000013, 0,
+ 0x100000014, 0x100000014, 0,
+ 0x100000015, 0x100000015, 0,
+ 0x100000000, 0x100000013, 0,
+ 0x100000000, 0x100000014, 0,
+ 0x100000000, 0x100000015, 0,
+ 0x100000013, 0x8000000000000040, 0,
+ 0x100000014, 0x8000000000000040, 0,
+ 0x100000015, 0x8000000000000040, 0,
+ 0x100000013, 0x8000000000000029, 0,
+ 0x100000014, 0x8000000000000029, 0,
+ 0x100000015, 0x8000000000000029, 0,
+ 0x100000014, 0x8000000000000028, 0,
+ 0x100000014, 0x8000000000000030, 0,
+ 0x100000015, 0x8000000000000028, 0,
+ 0x100000014, 0x8000000000000029, 1,
+ 0x100000015, 0x8000000000000029, 1,
+ 0x100000014, 0x8000000000000030, 1,
+ 0x100000015, 0x8000000000000028, 1,
+ 0x100000014, 0x8000000000000029, 6,
+ 0x100000015, 0x8000000000000029, 6,
+ 0x100000014, 0x8000000000000030, 6,
+ 0x100000015, 0x8000000000000028, 6,
+ 0x100000014, 0x8000000000000029, 9,
+ 0x100000015, 0x8000000000000029, 9,
+ 0x100000014, 0x8000000000000030, 9,
+ 0x100000015, 0x8000000000000028, 9,
+ 0x100000014, 0x8000000000000029, 11,
+ 0x100000015, 0x8000000000000029, 11,
+ 0x100000014, 0x8000000000000030, 11,
+ 0x100000015, 0x8000000000000028, 11,
+})
+
+Name(p377, Package() {
+ 0xffffffffffffff26, 0xffffffffffffff11, 0xffffffffffffff19, 0xffffffffffffff14,
+ 0xffffffffffffff14, 0xffffffffffffff35, 0xffffffffffffff38, 0xffffffffffffff29,
+ 0xffffffffffffff29, 0xffffffffffffff23, 0xffffffffffffff18, 0xffffffffffffff32,
+})
+
+Name(p378, Package()
+{
+ 0xffffffffffffff00, 0xffffffffffffff00, 0,
+ 0xffffffffffffff00, 0xffffffffffffffff, 0,
+ 0xffffffffffffffff, 0xffffffffffffffff, 0,
+ 0xffffffffffffff13, 0xffffffffffffff13, 0,
+ 0xffffffffffffff14, 0xffffffffffffff14, 0,
+ 0xffffffffffffff15, 0xffffffffffffff15, 0,
+ 0xffffffffffffff00, 0xffffffffffffff13, 0,
+ 0xffffffffffffff00, 0xffffffffffffff14, 0,
+ 0xffffffffffffff00, 0xffffffffffffff15, 0,
+ 0xffffffffffffff13, 0xffffffffffffffff, 0,
+ 0xffffffffffffff14, 0xffffffffffffffff, 0,
+ 0xffffffffffffff15, 0xffffffffffffffff, 0,
+ 0xffffffffffffff13, 0xffffffffffffff29, 0,
+ 0xffffffffffffff14, 0xffffffffffffff29, 0,
+ 0xffffffffffffff15, 0xffffffffffffff29, 0,
+ 0xffffffffffffff14, 0xffffffffffffff28, 0,
+ 0xffffffffffffff14, 0xffffffffffffff2a, 0,
+ 0xffffffffffffff15, 0xffffffffffffff28, 0,
+ 0xffffffffffffff14, 0xffffffffffffff29, 1,
+ 0xffffffffffffff15, 0xffffffffffffff29, 1,
+ 0xffffffffffffff14, 0xffffffffffffff2a, 1,
+ 0xffffffffffffff15, 0xffffffffffffff28, 1,
+ 0xffffffffffffff14, 0xffffffffffffff29, 6,
+ 0xffffffffffffff15, 0xffffffffffffff29, 6,
+ 0xffffffffffffff14, 0xffffffffffffff2a, 6,
+ 0xffffffffffffff15, 0xffffffffffffff28, 6,
+ 0xffffffffffffff14, 0xffffffffffffff29, 9,
+ 0xffffffffffffff15, 0xffffffffffffff29, 9,
+ 0xffffffffffffff14, 0xffffffffffffff2a, 9,
+ 0xffffffffffffff15, 0xffffffffffffff28, 9,
+ 0xffffffffffffff14, 0xffffffffffffff29, 11,
+ 0xffffffffffffff15, 0xffffffffffffff29, 11,
+ 0xffffffffffffff14, 0xffffffffffffff2a, 11,
+ 0xffffffffffffff15, 0xffffffffffffff28, 11,
+})
+
+// One-element length package special case
+
+Name(p380, Package() {
+ 1,
+})
+
+Name(p381, Package()
+{
+ 0, 0, 0,
+ 0, 1, 0,
+ 0, 2, 0,
+ 1, 1, 0,
+ 1, 2, 0,
+ 2, 2, 0,
+})
+
+Name(p382, Package()
+{
+ Package() {
+ 0, Ones, Ones, Ones, 0, 0,
+ Ones, Ones, Ones, Ones, Ones, Ones,
+ Ones, Ones, Ones, Ones, Ones, Ones,
+ Ones, Ones, Ones, Ones, Ones, Ones,
+ 0, Ones, Ones, Ones, 0, 0,
+ 0, Ones, Ones, Ones, 0, 0,
+ },
+ Package() {
+ 0, 0, 0, Ones, 0, Ones,
+ Ones, Ones, Ones, Ones, Ones, Ones,
+ Ones, Ones, Ones, Ones, Ones, Ones,
+ Ones, Ones, Ones, Ones, Ones, Ones,
+ 0, 0, 0, Ones, 0, Ones,
+ 0, 0, 0, Ones, 0, Ones,
+ },
+ Package() {
+ 0, Ones, 0, 0, Ones, Ones,
+ Ones, Ones, Ones, Ones, Ones, Ones,
+ Ones, Ones, Ones, Ones, Ones, Ones,
+ Ones, Ones, Ones, Ones, Ones, Ones,
+ 0, Ones, 0, 0, Ones, Ones,
+ 0, Ones, 0, 0, Ones, Ones,
+ },
+ Package() {
+ 0, 0, 0, Ones, 0, Ones,
+ 0, 0, 0, Ones, 0, Ones,
+ 0, 0, 0, Ones, 0, Ones,
+ Ones, Ones, Ones, Ones, Ones, Ones,
+ 0, 0, 0, Ones, 0, Ones,
+ Ones, Ones, Ones, Ones, Ones, Ones,
+ },
+ Package() {
+ 0, Ones, 0, 0, Ones, Ones,
+ 0, Ones, 0, 0, Ones, Ones,
+ 0, Ones, 0, 0, Ones, Ones,
+ Ones, Ones, Ones, Ones, Ones, Ones,
+ 0, Ones, 0, 0, Ones, Ones,
+ Ones, Ones, Ones, Ones, Ones, Ones,
+ },
+ Package() {
+ 0, Ones, 0, 0, Ones, Ones,
+ Ones, Ones, Ones, Ones, Ones, Ones,
+ 0, Ones, 0, 0, Ones, Ones,
+ 0, Ones, 0, 0, Ones, Ones,
+ Ones, Ones, Ones, Ones, Ones, Ones,
+ Ones, Ones, Ones, Ones, Ones, Ones,
+ },
+})
+
+// 255-element length package special case
+
+Name(p383, Package() {
+ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
+ 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
+ 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
+ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
+ 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
+ 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,112,
+ 113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,
+ 129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,
+ 145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,
+ 161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,
+ 177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,
+ 193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,
+ 209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,
+ 225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,
+ 241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,
+})
+
+Name(p384, Package()
+{
+ 0, 0, 0,
+ 0, 128, 0,
+ 0, 256, 0,
+ 128, 128, 0,
+ 128, 256, 0,
+ 256, 256, 0,
+})
+
+Name(p385, Package()
+{
+ Package() {
+ 0, Ones, Ones, Ones, 0, 0,
+ Ones, Ones, Ones, Ones, Ones, Ones,
+ Ones, Ones, Ones, Ones, Ones, Ones,
+ Ones, Ones, Ones, Ones, Ones, Ones,
+ 0, Ones, Ones, Ones, 0, 0,
+ 0, Ones, Ones, Ones, 0, 0,
+ },
+ Package() {
+ 0, 127, 0, 0, 127, 128,
+ Ones, Ones, Ones, Ones, Ones, Ones,
+ Ones, Ones, Ones, Ones, Ones, Ones,
+ Ones, Ones, Ones, Ones, Ones, Ones,
+ 0, 127, 0, 0, 127, 128,
+ 0, 127, 0, 0, 127, 128,
+ },
+ Package() {
+ 0, Ones, 0, 0, Ones, Ones,
+ Ones, Ones, Ones, Ones, Ones, Ones,
+ Ones, Ones, Ones, Ones, Ones, Ones,
+ Ones, Ones, Ones, Ones, Ones, Ones,
+ 0, Ones, 0, 0, Ones, Ones,
+ 0, Ones, 0, 0, Ones, Ones,
+ },
+ Package() {
+ 0, 127, 0, 0, 127, 128,
+ 127, 127, 127, Ones, 127, Ones,
+ 0, 127, 0, 0, 127, Ones,
+ 0, Ones, 0, 0, Ones, Ones,
+ 127, 127, 127, Ones, 127, 128,
+ 128, Ones, Ones, Ones, 128, 128,
+ },
+ Package() {
+ 0, Ones, 0, 0, Ones, Ones,
+ 127, Ones, 127, 127, Ones, Ones,
+ 0, Ones, 0, 0, Ones, Ones,
+ 0, Ones, 0, 0, Ones, Ones,
+ 127, Ones, 127, 127, Ones, Ones,
+ 128, Ones, 128, 128, Ones, Ones,
+ },
+ Package() {
+ 0, Ones, 0, 0, Ones, Ones,
+ Ones, Ones, Ones, Ones, Ones, Ones,
+ 0, Ones, 0, 0, Ones, Ones,
+ 0, Ones, 0, 0, Ones, Ones,
+ Ones, Ones, Ones, Ones, Ones, Ones,
+ Ones, Ones, Ones, Ones, Ones, Ones,
+ },
+})
+
+// Run-method
+Method(MAT0)
+{
+ Name(ts, "MAT0")
+
+ Store("TEST: MAT0, Find Object Match", Debug)
+
+ // to do transposition of match objects flag
+ Name(trns, 0)
+
+ if (c099) {
+ Store(1, trns)
+ }
+
+ m308(ts, 34, "p370", p371, p372, p370, trns)
+
+ if (c099) {
+ m308(ts, 34, "p373", p371, p372, p373, trns)
+ m308(ts, 34, "p374", p371, p372, p374, trns)
+ }
+
+ m308(ts, 34, "p375", p371, p372, p375, trns)
+
+ if (LEqual(F64, 1)) {
+ m308(ts, 34, "p377", p378, p372, p377, trns)
+
+ if (c099) {
+ m308(ts, 34, "p389", p38a, p372, p389, trns)
+
+ m308(ts, 34, "p38b", p38c, p372, p38b, trns)
+ m308(ts, 34, "p38d", p38e, p372, p38d, trns)
+ }
+ } else {
+ m308(ts, 34, "p389", p38a, p372, p389, trns)
+ }
+
+ // One-element length package special case
+
+ m308(ts, 6, "p380", p381, p382, p380, trns)
+
+ // 255-element length package special case
+
+ if (c099) {
+ m308(ts, 6, "p383", p384, p385, p383, trns)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/functional/manipulation/match2.asl b/tests/aslts/src/runtime/collections/functional/manipulation/match2.asl
new file mode 100644
index 000000000..8aeeaa71f
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/manipulation/match2.asl
@@ -0,0 +1,446 @@
+/*
+ * 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.
+ */
+
+/*
+ * Data type conversion and manipulation
+ *
+ * Find Object Match
+ */
+
+/*
+This is the initial point of designing the test of
+functionality of Match operator not covered by match1.asl
+(match1.asl - Match operator with Integer only).
+*/
+
+/*
+Prepare one Method (m330,m332...) with all the
+p000,p001... mix differently the contents, so
+traveling will be different...
+*/
+
+/*
+ * Digital map of operations:
+ *
+ * MTR MEQ MLE MLT MGE MGT
+ * 0 1 2 3 4 5
+ * ------------------------
+ * always TRUE ) MTR 0| 00 01 02 03 04 05
+ * == ) MEQ 1| 10 11 12 13 14 15
+ * <= ) MLE 2| 20 21 22 23 24 25
+ * < ) MLT 3| 30 31 32 33 34 35
+ * >= ) MGE 4| 40 41 42 43 44 45
+ * > ) MGT 5| 50 51 52 53 54 55
+ * ------------------------
+ */
+
+Name(z075, 75)
+
+/*
+// The same as m0df and m0e0 but all the values
+// of Cases are in one Package
+Method(m330, 1)
+{
+ Name(i000, 0x12)
+ Name(s000, "12")
+ Name(b000, Buffer() {0x12})
+ Name(p000, Package() {0x12})
+ OperationRegion(r000, SystemMemory, 0x100, 0x100)
+ Field(r000, ByteAcc, NoLock, Preserve) { f000, 8 }
+ Device(d000) {}
+ Event(e000)
+ Method(m000) { return (0x12) }
+ Mutex(mx00, 0)
+ PowerResource(pwr0, 1, 0) {Method(m001){return (0)}}
+ Processor(prc0, 0, 0xFFFFFFFF, 0) {}
+ ThermalZone(tz00) {}
+ CreateField(b000, 0, 8, bf00)
+
+ Name(p001, Package(32) {
+ i000, s000, b000, p000, f000, d000, e000, m000,
+ mx00, r000, pwr0, prc0, tz00, bf00,
+ })
+
+// Store(0x12, Index(p001, 31))
+
+ Store(Match(p000, MEQ, arg0, MEQ, arg0, 0), Local0)
+
+ return (Local0)
+}
+
+Method(m331, 1)
+{
+ Store(m330(0x12), Local0)
+ if (LNotEqual(Local0, Ones)) {
+ err(arg0, z075, 0, 0, 0, Local0, Ones)
+ }
+}
+*/
+
+/*
+// The same as m0df and m0e0 but all the values
+// of Cases are in one Package
+Method(m330, 1)
+{
+ Name(p000, Package() {
+
+ // Buffer
+
+ Buffer(1){10},
+ Buffer(2){11,12},
+ Buffer() {13,14,15},
+ Buffer(2){16,17,18},
+ Buffer(3){19,20},
+ Buffer(3){21,22,23},
+ Buffer(4){24,25,26,27},
+ Buffer(5){28,29,30,31,32},
+ Buffer(8){33,34,35,36,37,38,39,40},
+ Buffer(){0x12,0x34,0x56,0x78,0x9a,0xbc,0xde,0xf0},
+ Buffer(9){41,42,43,44,45,46,47,48,49},
+ Buffer(67){0x7d},
+ Buffer() {
+ 0x00,0x00,0x02,0x03,0x04,0x05,0x06,0x07,
+ 0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,
+ 0x00,0x11,0x12,0x13,0x14,0x15,0x16,0x17,
+ 0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,
+ 0x10,0x21,0x22,0x23,0x24,0x25,0x26,0x27,
+ 0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,
+ 0x20,0x31,0x32,0x33,0x34,0x35,0x36,0x37,
+ 0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,
+ 0x30,0x41,0x42},
+ Buffer(67) {
+ 0x00,0x00,0x02,0x03,0x04,0x05,0x06,0x07,
+ 0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,
+ 0x00,0x11,0x12,0x13,0x14,0x15,0x16,0x17,
+ 0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,
+ 0x10,0x21,0x22,0x23,0x24,0x25,0x26,0x27,
+ 0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,
+ 0x20,0x31,0x32,0x33,0x34,0x35,0x36,0x37,
+ 0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,
+ 0x30,0x41,0x42},
+ Buffer(4){0,0,0,0},
+ Buffer(8){0,0,0,0,0,0,0,0},
+ Buffer(4){0xff,0xff,0xff,0xff},
+ Buffer(9){0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff},
+ Buffer(8){0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff},
+ Buffer(5){0xff,0xff,0xff,0xff,0xff},
+ Buffer(1){0xff},
+ Buffer(1){},
+ Buffer(5){},
+ Buffer(9){},
+ Buffer(9){0xab, 0xcd, 0xef},
+
+ // String
+
+ "0321",
+ "321",
+ "ba9876",
+ "c179b3fe",
+ "fe7cb391d650a284",
+ "ffffffff",
+ "ffffffffffffffff",
+ "ffffffffff",
+ "ff",
+ "987654321",
+ "0xfe7cb3",
+
+ // Integer
+
+ 0321,
+ 9876543210,
+ 0xc179b3fe,
+ 0xfe7cb391d650a284,
+ 0,
+ 0xffffffff,
+ 0xffffffffffffffff,
+ 0xff,
+ 0xabcdef
+ })
+
+ Store(Match(p000, MEQ, arg0, MEQ, arg0, 0), Local0)
+
+ return (Local0)
+}
+
+Method(m331, 1)
+{
+ // Integer
+
+ Store(m330(0321), Local0)
+ if (LNotEqual(Local0, 36)) {
+ err(arg0, z075, 0, Local0, 36)
+ }
+ Store(m330(0xd1), Local0)
+ if (LNotEqual(Local0, 36)) {
+ err(arg0, z075, 1, Local0, 36)
+ }
+
+ Store(m330(9876543210), Local0)
+ if (F64) {
+ if (LNotEqual(Local0, 37)) {
+ err(arg0, z075, 2, Local0, 37)
+ }
+ } else {
+ if (LNotEqual(Local0, 45)) {
+ err(arg0, z075, 3, Local0, 45)
+ }
+ }
+ Store(m330(0xc179b3fe), Local0)
+ if (LNotEqual(Local0, 28)) {
+ err(arg0, z075, 4, Local0, 28)
+ }
+ Store(m330(0xfe7cb391d650a284), Local0)
+ if (LNotEqual(Local0, 29)) {
+ err(arg0, z075, 5, Local0, 29)
+ }
+ Store(m330(0), Local0)
+ if (LNotEqual(Local0, 14)) {
+ err(arg0, z075, 6, Local0, 14)
+ }
+ Store(m330(0xffffffff), Local0)
+ if (LNotEqual(Local0, 16)) {
+ err(arg0, z075, 7, Local0, 16)
+ }
+ Store(m330(0xffffffffffffffff), Local0)
+ if (F64) {
+ if (LNotEqual(Local0, 17)) {
+ err(arg0, z075, 8, Local0, 17)
+ }
+ } else {
+ if (LNotEqual(Local0, 16)) {
+ err(arg0, z075, 9, Local0, 16)
+ }
+ }
+ Store(m330(0xff), Local0)
+ if (LNotEqual(Local0, 20)) {
+ err(arg0, z075, 10, Local0, 20)
+ }
+ Store(m330(0xabcdef), Local0)
+ if (LNotEqual(Local0, 44)) {
+ err(arg0, z075, 11, Local0, 44)
+ }
+}
+
+// The same as m0e3 and m0e4 but all the values
+// of Cases are in one Package
+Method(m332, 1)
+{
+ Name(p000, Package() {
+
+ // Integer
+
+ 0321,
+ 9876543210,
+ 0xc179b3fe,
+ 0xfe7cb391d650a284,
+ 0,
+ 0xffffffff,
+ 0xffffffffffffffff,
+ 0xff,
+ 0xabcdef,
+
+ // Buffer
+
+ Buffer(1){10},
+ Buffer(2){11,12},
+ Buffer() {13,14,15},
+ Buffer(2){16,17,18},
+ Buffer(3){19,20},
+ Buffer(3){21,22,23},
+ Buffer(4){24,25,26,27},
+ Buffer(5){28,29,30,31,32},
+ Buffer(8){33,34,35,36,37,38,39,40},
+ Buffer(){0x12,0x34,0x56,0x78,0x9a,0xbc,0xde,0xf0},
+ Buffer(9){41,42,43,44,45,46,47,48,49},
+ Buffer(67){0x7d},
+ Buffer() {
+ 0x00,0x00,0x02,0x03,0x04,0x05,0x06,0x07,
+ 0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,
+ 0x00,0x11,0x12,0x13,0x14,0x15,0x16,0x17,
+ 0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,
+ 0x10,0x21,0x22,0x23,0x24,0x25,0x26,0x27,
+ 0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,
+ 0x20,0x31,0x32,0x33,0x34,0x35,0x36,0x37,
+ 0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,
+ 0x30,0x41,0x42},
+ Buffer(67) {
+ 0x00,0x00,0x02,0x03,0x04,0x05,0x06,0x07,
+ 0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,
+ 0x00,0x11,0x12,0x13,0x14,0x15,0x16,0x17,
+ 0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,
+ 0x10,0x21,0x22,0x23,0x24,0x25,0x26,0x27,
+ 0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,
+ 0x20,0x31,0x32,0x33,0x34,0x35,0x36,0x37,
+ 0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,
+ 0x30,0x41,0x42},
+ Buffer(4){0,0,0,0},
+ Buffer(8){0,0,0,0,0,0,0,0},
+ Buffer(4){0xff,0xff,0xff,0xff},
+ Buffer(9){0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff},
+ Buffer(8){0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff},
+ Buffer(5){0xff,0xff,0xff,0xff,0xff},
+ Buffer(1){0xff},
+ Buffer(1){},
+ Buffer(5){},
+ Buffer(9){},
+ Buffer(9){0xab, 0xcd, 0xef},
+
+ // String
+
+ "0321",
+ "321",
+ "ba9876",
+ "c179b3fe",
+ "fe7cb391d650a284",
+ "ffffffff",
+ "ffffffffffffffffff",
+ "ffffffffffffffff",
+ "ffffffffff",
+ "ff",
+ "fe7cb391d650a2841",
+ "987654321",
+ "0xfe7cb3",
+ "1234q",
+ "qwertyuiopasdfghjklzxcvbnm1234567890QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm1234567890QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm1234567890QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdf",
+ "",
+ " ",
+ "`1234567890-=qwertyuiop[]\\asdfghjkl;'zxcvbnm,./~!@#$%^&*()_+QWERTYUIOP{}|ASDFGHJKL:\"ZXCVBNM<>?",
+ "abcdef",
+ "ABCDEF",
+ })
+
+ Store(Match(p000, MEQ, arg0, MEQ, arg0, 0), Local0)
+
+ return (Local0)
+}
+
+Method(m333, 1)
+{
+ // String
+
+if (0) {
+ Store(m332("0321"), Local0)
+ if (LNotEqual(Local0, 34)) {
+ err(arg0, z075, 24, Local0, 34)
+ }
+ Store(m332("321"), Local0)
+ if (LNotEqual(Local0, 34)) {
+ err(arg0, z075, 25, Local0, 34)
+ }
+ Store(m332("ba9876"), Local0)
+ if (LNotEqual(Local0, 36)) {
+ err(arg0, z075, 26, Local0, 36)
+ }
+ Store(m332("c179b3fe"), Local0)
+ if (LNotEqual(Local0, 2)) {
+ err(arg0, z075, 27, Local0, 2)
+ }
+ Store(m332("fe7cb391d650a284"), Local0)
+ if (LNotEqual(Local0, 3)) {
+ err(arg0, z075, 28, Local0, 3)
+ }
+ Store(m332("ffffffff"), Local0)
+ if (LNotEqual(Local0, 5)) {
+ err(arg0, z075, 29, Local0, 5)
+ }
+}
+
+ Store(m332("ffffffffffffffffff"), Local0)
+ if (LNotEqual(Local0, 40)) {
+ err(arg0, z075, 30, Local0, 40)
+ }
+
+if (0) {
+ Store(m332("ffffffffffffffff"), Local0)
+ if (LNotEqual(Local0, 41)) {
+ err(arg0, z075, 31, Local0, 41)
+ }
+ Store(m332("ffffffffff"), Local0)
+ if (LNotEqual(Local0, 42)) {
+ err(arg0, z075, 32, Local0, 42)
+ }
+ Store(m332("ff"), Local0)
+ if (LNotEqual(Local0, 43)) {
+ err(arg0, z075, 33, Local0, 43)
+ }
+ Store(m332("fe7cb391d650a2841"), Local0)
+ if (LNotEqual(Local0, 44)) {
+ err(arg0, z075, 34, Local0, 44)
+ }
+ Store(m332("987654321"), Local0)
+ if (LNotEqual(Local0, 45)) {
+ err(arg0, z075, 35, Local0, 45)
+ }
+ Store(m332("0xfe7cb3"), Local0)
+ if (LNotEqual(Local0, 46)) {
+ err(arg0, z075, 36, Local0, 46)
+ }
+ Store(m332("1234q"), Local0)
+ if (LNotEqual(Local0, 47)) {
+ err(arg0, z075, 37, Local0, 47)
+ }
+ Store(m332(BIG0), Local0)
+ if (LNotEqual(Local0, 48)) {
+ err(arg0, z075, 38, Local0, 48)
+ }
+ Store(m332(""), Local0)
+ if (LNotEqual(Local0, 49)) {
+ err(arg0, z075, 39, Local0, 49)
+ }
+ Store(m332(" "), Local0)
+ if (LNotEqual(Local0, 50)) {
+ err(arg0, z075, 40, Local0, 50)
+ }
+ Store(m332(ALL0), Local0)
+ if (LNotEqual(Local0, 51)) {
+ err(arg0, z075, 41, Local0, 51)
+ }
+ Store(m332("abcdef"), Local0)
+ if (LNotEqual(Local0, 52)) {
+ err(arg0, z075, 42, Local0, 52)
+ }
+ Store(m332("ABCDEF"), Local0)
+ if (LNotEqual(Local0, 53)) {
+ err(arg0, z075, 43, Local0, 53)
+ }
+}
+}
+*/
+
+// Run-method
+Method(MAT1)
+{
+ Store("TEST: MAT1, Find Object Match", Debug)
+
+ Name(ts, "MAT1")
+
+// m331(ts)
+// m333(ts)
+}
diff --git a/tests/aslts/src/runtime/collections/functional/manipulation/mid.asl b/tests/aslts/src/runtime/collections/functional/manipulation/mid.asl
new file mode 100644
index 000000000..548a4da04
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/manipulation/mid.asl
@@ -0,0 +1,294 @@
+/*
+ * 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.
+ */
+
+/*
+ * Data type conversion and manipulation
+ *
+ * Extract Portion of Buffer or String
+ */
+
+Name(z039, 39)
+
+Name(s200, "!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*")
+
+// Verifying 3-parameters, 1-result operator
+Method(m304, 6)
+{
+ Store(0, Local5)
+ Store(arg1, Local3)
+
+ While(Local3) {
+
+ // Operands
+
+ Multiply(Local5, 3, Local6)
+ Store(DeRefOf(Index(arg3, Local6)), Local0)
+ Increment(Local6)
+ Store(DeRefOf(Index(arg3, Local6)), Local1)
+ Increment(Local6)
+ Store(DeRefOf(Index(arg3, Local6)), Local4)
+
+ // Expected result
+
+ Store(DeRefOf(Index(arg4, Local5)), Local2)
+
+ switch (arg5) {
+ case (0) {
+ Mid(Local0, Local1, Local4, Local7)
+ if (LNotEqual(Local7, Local2)) {
+ err(arg0, z039, 0, 0, 0, Local5, arg2)
+ }
+ }
+ case (1) {
+ Mid(s200, Local1, Local4, Local7)
+ if (LNotEqual(Local7, Local2)) {
+ err(arg0, z039, 1, 0, 0, Local5, arg2)
+ }
+ }
+ }
+ Increment(Local5)
+ Decrement(Local3)
+ }
+}
+
+// String
+Name(p362, Package()
+{
+ // Length > 0
+
+ "0123456789a",
+ 0, 6, // Index == 0, Index + Length < Size
+ "0123456789a",
+ 3, 7, // Index < Size, Index + Length < Size
+ "0123456789a",
+ 5, 6, // Index < Size, Index + Length == Size
+ "0123456789a",
+ 0, 11, // Index == 0, Index + Length == Size
+ "0123456789a",
+ 8, 8, // Index < Size, Index + Length > Size
+ "0123456789a",
+ 11, 3, // Index == Size
+ "0123456789a",
+ 14, 1, // Index > Size
+ "0123456789a",
+ 0, 14, // Index == 0, Length > Size
+
+ // Length == 0
+
+ "0123456789a",
+ 0, 0, // Index == 0
+ "0123456789a",
+ 5, 0, // Index < Size
+ "0123456789a",
+ 11, 0, // Index == Size
+ "0123456789a",
+ 15, 0, // Index > Size
+
+ // Size == 0
+ "",
+ 0, 1,
+ "",
+ 300, 300,
+})
+
+Name(p363, Package()
+{
+ "012345",
+ "3456789",
+ "56789a",
+ "0123456789a",
+ "89a",
+ "",
+ "",
+ "0123456789a",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+})
+
+// String, Size == 200, Length > 0
+Name(p364, Package()
+{
+ 0,
+ 0, 125, // Index == 0, Index + Length < Size
+ 0,
+ 67, 67, // Index < Size, Index + Length < Size
+ 0,
+ 93, 107, // Index < Size, Index + Length == Size
+ 0,
+ 0, 200, // Index == 0, Index + Length == Size
+ 0,
+ 127, 100, // Index < Size, Index + Length > Size
+ 0,
+ 200, 3, // Index == Size
+ 0,
+ 214, 1, // Index > Size
+ 0,
+ 0, 201, // Index == 0, Length > Size
+})
+
+Name(p365, Package()
+{
+ "!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*+,-./0123456789:;<=>",
+ "defghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFG",
+ "~ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*",
+ "!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*",
+ "ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*",
+ "",
+ "",
+ "!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*",
+})
+
+// Buffer
+Name(p366, Package()
+{
+ // Length > 0
+
+ Buffer(11) {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0},
+ 0, 6, // Index == 0, Index + Length < Size
+ Buffer(11) {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0},
+ 3, 7, // Index < Size, Index + Length < Size
+ Buffer(11) {0, 1, 2, 3, 4, 5, 0, 7, 8, 9, 0},
+ 3, 7, // Index < Size, Index + Length < Size
+ Buffer(11) {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0},
+ 5, 6, // Index < Size, Index + Length == Size
+ Buffer(11) {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0},
+ 0, 11, // Index == 0, Index + Length == Size
+ Buffer(11) {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0},
+ 8, 8, // Index < Size, Index + Length > Size
+ Buffer(11) {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0},
+ 0, 201, // Index == 0, Length > Size
+
+ // Length > 200
+ Buffer(211) {
+ 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 0,
+ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
+ 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
+ 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
+ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
+ 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
+ 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,112,
+ 113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,
+ 129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,
+ 145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,
+ 161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,
+ 177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,
+ 193,194,195,196,197,198,199,200},
+ 2, 203,
+})
+
+Name(p367, Package()
+{
+ Buffer(6) {0, 1, 2, 3, 4, 5},
+ Buffer(7) {3, 4, 5, 6, 7, 8, 9},
+ Buffer(7) {3, 4, 5, 0, 7, 8, 9},
+ Buffer(6) {5, 6, 7, 8, 9, 0},
+ Buffer(11) {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0},
+ Buffer(3) {8, 9, 0},
+ Buffer(11) {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0},
+ Buffer(203) {
+ 3, 4, 5, 6, 7, 8, 9, 0, 0,
+ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
+ 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
+ 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
+ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
+ 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
+ 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,112,
+ 113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,
+ 129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,
+ 145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,
+ 161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,
+ 177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,
+ 193,194},
+})
+
+// Buffer, Mid() results in Buffer(0){}
+Name(p368, Package()
+{
+ // Length > 0
+ Buffer(11) {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0},
+ 11, 3, // Index == Size
+ Buffer(11) {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0},
+ 14, 1, // Index > Size
+
+ // Length == 0
+ Buffer(11) {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0},
+ 0, 0, // Index == 0
+ Buffer(11) {0, 1, 2, 3, 4, 5, 6, 0, 8, 9, 0},
+ 5, 0, // Index < Size
+ Buffer(11) {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0},
+ 11, 0, // Index == Size
+ Buffer(11) {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0},
+ 15, 0, // Index > Size
+})
+
+// Run-method
+Method(MID0)
+{
+ Name(ts, "MID0")
+
+ Store("TEST: MID0, Extract Portion of Buffer or String", Debug)
+
+ // String
+ m304(ts, 14, "p362", p362, p363, 0)
+
+ // String, Size == 200, Length > 0
+ m304(ts, 8, "p364", p364, p365, 1)
+
+ // Buffer
+ m304(ts, 8, "p366", p366, p367, 0)
+
+ // Prepare Package of Buffer(0){} elements
+ Store(Package(6){}, Local5)
+ Store(0, Local1)
+ Store(0, Local0)
+ While(LLess(Local0, 6)) {
+ Store(Buffer(Local1) {}, Index(Local5, Local0))
+ Increment(Local0)
+ }
+
+ // Buffer, Mid() results in Buffer(0){}
+ m304(ts, 6, "p366", p368, Local5, 0)
+
+ // Buffer, Mid(Buffer(0){})
+ Mid(Buffer(Local1) {}, 0, 1, Local7)
+ if (LNotEqual(Local7, Buffer(Local1) {})) {
+ err(ts, z039, 2, 0, 0, 0, "Buffer(0)")
+ }
+ Mid(Buffer(Local1) {}, 300, 300, Local7)
+ if (LNotEqual(Local7, Buffer(Local1) {})) {
+ err(ts, z039, 3, 0, 0, 0, "Buffer(0)")
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/functional/manipulation/objecttype.asl b/tests/aslts/src/runtime/collections/functional/manipulation/objecttype.asl
new file mode 100644
index 000000000..f852878f1
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/manipulation/objecttype.asl
@@ -0,0 +1,1043 @@
+/*
+ * 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.
+ */
+
+/*
+ * Data type conversion and manipulation
+ */
+
+/*
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+SEE: to be a few updated, see below
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+*/
+
+
+// ObjectType, Type of object
+
+// Check ObjectType operator for:
+// - all the Types of objects,
+// - all the ways Obtaining those objects,
+// - all the ways Passing objects to ObjectType.
+//
+// Types - {0-16}, see specs.
+// Obtaining - different creating operators,...
+// Passing - immediately local, immediately global,
+// by ArgX, by LocalX,...
+
+
+Name(z040, 40)
+
+// Global objects
+
+Name(n002, 0x90801020)
+Name(n003, 0x9189192989396949)
+Name(n005, "9876")
+Name(b003, Buffer(4) {12, 13, 14, 15})
+
+// Exercise all the ways creating the source objects of different types
+//
+// 0 - Uninitialized
+//
+// Integers
+//
+// One, Ones, Zero, Revision, Timer (compile error)
+// immediate 32-bit Integer constant imagine (compile error)
+// immediate 64-bit Integer constant imagine (compile error)
+//
+// 1 - 32-bit Integers
+//
+// 32-bit Integer passed by LocalX
+// 32-bit Integer passed by ArgX
+// 32-bit Integer passed by local Name
+// 32-bit Integer passed by global Name
+//
+// 2 - 64-bit Integers
+//
+// 64-bit Integer passed by LocalX
+// 64-bit Integer passed by ArgX
+// 64-bit Integer passed by local Name
+// 64-bit Integer passed by global Name
+//
+// String
+//
+// 3 - String
+//
+// Field Units
+//
+// 4 - Field Unit created by Field
+// 5 - Field Unit created by BankField
+// 6 - Field Unit created by IndexField
+//
+// Buffers
+//
+// - buffer passed immediately (compile error)
+// 7 - buffer passed by LocalX
+// 8 - buffer passed by ArgX
+// 9 - buffer passed by local Name
+// 10 - buffer passed by global Name
+//
+// Buffer Fields
+//
+// 11 - CreateBitField (bit field)
+// 12 - CreateByteField (byte field)
+// 13 - CreateDWordField (DWord field)
+// 14 - CreateField 32-bit (arbitrary length bit field)
+// 15 - CreateField 64-bit (arbitrary length bit field)
+// 16 - CreateField 65-bit (arbitrary length bit field)
+// 17 - CreateQWordField (QWord field)
+// 18 - CreateWordField (Word field)
+//
+// 19 - Index, Index with String (reference to Buffer Fields)
+// 20 - Index, Index with Buffer (reference to Buffer Fields)
+// 21 - Index, Index with Package (reference to object in Package)
+//
+// 22 - Data Table Operation Region
+// 23 - Debug Object
+// 24 - Device
+// 25 - Event
+// 26 - Method
+// 27 - Function
+// 28 - Mutex
+// 29 - Operation Region
+// 30 - Package
+// 31 - Power Resource
+// 32 - Processor
+// 33 - Thermal Zone
+// 34 - DDB Handle
+//
+//
+// Name - add all other objects by the name and so on ... !!!!!!!!!!!!!!!!!
+//
+//
+// Local7 - returned result
+//
+Method(m0f1, 7)
+{
+ OperationRegion(r000, SystemMemory, 0x100, 0x100)
+ OperationRegion(r001, SystemMemory, 0x100, 0x100)
+
+ if (arg1) {
+ Store(0, Local7)
+ }
+
+ switch (arg1) {
+ case (0) {
+
+ // Uninitialized
+
+ /*
+ * Bug 9 fixed.
+ * if (arg1) {
+ * Store(0, Local0)
+ * Store(0, Local1)
+ * Store(0, Local2)
+ * Store(0, Local3)
+ * Store(0, Local4)
+ * Store(0, Local5)
+ * Store(0, Local6)
+ * Store(0, Local7)
+ * }
+ */
+
+ Store(ObjectType(Local0), Local7)
+ if (LNotEqual(Local7, c008)) {
+ err(arg0, z040, 0, 0, 0, Local7, c008)
+ }
+ Store(ObjectType(Local1), Local7)
+ if (LNotEqual(Local7, c008)) {
+ err(arg0, z040, 1, 0, 0, Local7, c008)
+ }
+ Store(ObjectType(Local2), Local7)
+ if (LNotEqual(Local7, c008)) {
+ err(arg0, z040, 2, 0, 0, Local7, c008)
+ }
+ Store(ObjectType(Local3), Local7)
+ if (LNotEqual(Local7, c008)) {
+ err(arg0, z040, 3, 0, 0, Local7, c008)
+ }
+ Store(ObjectType(Local4), Local7)
+ if (LNotEqual(Local7, c008)) {
+ err(arg0, z040, 4, 0, 0, Local7, c008)
+ }
+ Store(ObjectType(Local5), Local7)
+ if (LNotEqual(Local7, c008)) {
+ err(arg0, z040, 5, 0, 0, Local7, c008)
+ }
+ Store(ObjectType(Local6), Local7)
+ if (LNotEqual(Local7, c008)) {
+ err(arg0, z040, 6, 0, 0, Local7, c008)
+ }
+ }
+ case (1) {
+
+ // 32-bit Integers
+
+ // By LocalX
+
+ Store(0x12345678, Local0)
+ Store(ObjectType(Local0), Local7)
+ if (LNotEqual(Local7, c009)) {
+ err(arg0, z040, 7, 0, 0, Local7, c009)
+ }
+ if (LNotEqual(Local0, 0x12345678)) {
+ err(arg0, z040, 8, 0, 0, Local0, 0x12345678)
+ }
+
+ // By ArgX
+
+ Store(ObjectType(Arg2), Local7)
+ if (LNotEqual(Local7, c009)) {
+ err(arg0, z040, 9, 0, 0, Local7, c009)
+ }
+ if (LNotEqual(Arg2, 0x81223344)) {
+ err(arg0, z040, 10, 0, 0, Arg2, 0x81223344)
+ }
+
+ // By Name locally
+
+ Name(n000, 0x98127364)
+ Store(ObjectType(n000), Local7)
+ if (LNotEqual(Local7, c009)) {
+ err(arg0, z040, 11, 0, 0, Local7, c009)
+ }
+ if (LNotEqual(n000, 0x98127364)) {
+ err(arg0, z040, 12, 0, 0, n000, 0x98127364)
+ }
+
+ // By Name globally
+
+ Store(ObjectType(n002), Local7)
+ if (LNotEqual(Local7, c009)) {
+ err(arg0, z040, 13, 0, 0, Local7, c009)
+ }
+ if (LNotEqual(n002, 0x90801020)) {
+ err(arg0, z040, 14, 0, 0, n002, 0x90801020)
+ }
+
+ // Not a Buffer in 32-bit mode
+
+ Store(0xa1b2c3d4e5c6e7f8, Local0)
+ Store(ObjectType(Local0), Local7)
+ if (LNotEqual(Local7, c009)) {
+ err(arg0, z040, 15, 0, 0, Local7, c009)
+ }
+ }
+ case (2) {
+
+ // 64-bit Integers
+
+ if (LEqual(F64, 1)) {
+
+ // By LocalX
+
+ Store(0xa1b2c3d4e5c6e7f8, Local0)
+ Store(ObjectType(Local0), Local7)
+ if (LNotEqual(Local7, c009)) {
+ err(arg0, z040, 16, 0, 0, Local7, c009)
+ }
+ if (LNotEqual(Local0, 0xa1b2c3d4e5c6e7f8)) {
+ err(arg0, z040, 17, 0, 0, Local0, 0xa1b2c3d4e5c6e7f8)
+ }
+
+ // By ArgX
+
+ Store(ObjectType(Arg2), Local7)
+ if (LNotEqual(Local7, c009)) {
+ err(arg0, z040, 18, 0, 0, Local7, c009)
+ }
+ if (LNotEqual(Arg2, 0xfabefac489501248)) {
+ err(arg0, z040, 19, 0, 0, Arg2, 0xfabefac489501248)
+ }
+
+ // By Name locally
+
+ Name(n001, 0x9081122384356647)
+ Store(ObjectType(n001), Local7)
+ if (LNotEqual(Local7, c009)) {
+ err(arg0, z040, 20, 0, 0, Local7, c009)
+ }
+ if (LNotEqual(n001, 0x9081122384356647)) {
+ err(arg0, z040, 21, 0, 0, n001, 0x9081122384356647)
+ }
+
+ // By Name globally
+
+ Store(ObjectType(n003), Local7)
+ if (LNotEqual(Local7, c009)) {
+ err(arg0, z040, 22, 0, 0, Local7, c009)
+ }
+ if (LNotEqual(n003, 0x9189192989396949)) {
+ err(arg0, z040, 23, 0, 0, n003, 0x9189192989396949)
+ }
+ }
+ }
+ case (3) {
+
+ // String
+
+ // By LocalX
+
+ Store("", Local0)
+ Store(ObjectType(Local0), Local7)
+ if (LNotEqual(Local7, c00a)) {
+ err(arg0, z040, 24, 0, 0, Local7, c00a)
+ }
+
+ Store("1", Local0)
+ Store(ObjectType(Local0), Local7)
+ if (LNotEqual(Local7, c00a)) {
+ err(arg0, z040, 25, 0, 0, Local7, c00a)
+ }
+
+ Store("abcd", Local0)
+ Store(ObjectType(Local0), Local7)
+ if (LNotEqual(Local7, c00a)) {
+ err(arg0, z040, 26, 0, 0, Local7, c00a)
+ }
+
+ Store("qwrt", Local0)
+ Store(ObjectType(Local0), Local7)
+ if (LNotEqual(Local7, c00a)) {
+ err(arg0, z040, 27, 0, 0, Local7, c00a)
+ }
+
+ // By ArgX
+
+ Store(ObjectType(Arg2), Local7)
+ if (LNotEqual(Local7, c00a)) {
+ err(arg0, z040, 28, 0, 0, Local7, c00a)
+ }
+ if (LNotEqual(Arg2, "zxcvbnm0912345678ok")) {
+ err(arg0, z040, 29, 0, 0, Arg2, "zxcvbnm0912345678ok")
+ }
+
+ // By Name locally
+
+ Name(n004, "")
+ Store(ObjectType(n004), Local7)
+ if (LNotEqual(Local7, c00a)) {
+ err(arg0, z040, 30, 0, 0, Local7, c00a)
+ }
+ if (LNotEqual(n004, "")) {
+ err(arg0, z040, 31, 0, 0, n004, "")
+ }
+
+ // By Name globally
+
+ Store(ObjectType(n005), Local7)
+ if (LNotEqual(Local7, c00a)) {
+ err(arg0, z040, 32, 0, 0, Local7, c00a)
+ }
+ if (LNotEqual(n005, "9876")) {
+ err(arg0, z040, 33, 0, 0, n005, "9876")
+ }
+
+ }
+ case (4) {
+
+ // Field Unit
+
+ // OperationRegion(r000, SystemMemory, 0x100, 0x100)
+ Field(r000, ByteAcc, NoLock, Preserve) {
+ f000, 8,
+ f222, 32,
+ f223, 57,
+ f224, 64,
+ f225, 71
+ }
+ Store(0x8d, f000)
+
+ Store(ObjectType(f000), Local7)
+ if (LNotEqual(Local7, c00d)) {
+ err(arg0, z040, 34, 0, 0, Local7, c00d)
+ }
+ if (LNotEqual(f000, 0x8d)) {
+ err(arg0, z040, 35, 0, 0, f000, 0x8d)
+ }
+
+ Store(ObjectType(f222), Local7)
+ if (LNotEqual(Local7, c00d)) {
+ err(arg0, z040, 36, 0, 0, Local7, c00d)
+ }
+ Store(ObjectType(f223), Local7)
+ if (LNotEqual(Local7, c00d)) {
+ err(arg0, z040, 37, 0, 0, Local7, c00d)
+ }
+ Store(ObjectType(f224), Local7)
+ if (LNotEqual(Local7, c00d)) {
+ err(arg0, z040, 38, 0, 0, Local7, c00d)
+ }
+ Store(ObjectType(f225), Local7)
+ if (LNotEqual(Local7, c00d)) {
+ err(arg0, z040, 39, 0, 0, Local7, c00d)
+ }
+ }
+ case (5) {
+
+ // BankField
+
+ // OperationRegion(r001, SystemMemory, 0x100, 0x100)
+ Field(r001, ByteAcc, NoLock, Preserve) {
+ bnk0, 8
+ }
+ BankField(r001, bnk0, 0, ByteAcc, NoLock, Preserve) {
+ Offset(16),
+ bkf0, 8,
+ }
+ Store(0x95, bkf0)
+
+ Store(ObjectType(bkf0), Local7)
+ if (LNotEqual(Local7, c00d)) {
+ err(arg0, z040, 40, 0, 0, Local7, c00d)
+ }
+ if (LNotEqual(bkf0, 0x95)) {
+ err(arg0, z040, 41, 0, 0, bkf0, 0x95)
+ }
+ }
+ case (6) {
+
+ // IndexField
+
+ OperationRegion(r002, SystemMemory, 0x100, 0x100)
+ Field(r002, ByteAcc, NoLock, Preserve) {
+ f00a, 16,
+ f00b, 16
+ }
+ IndexField (f00a, f00b, ByteAcc, NoLock, Preserve) {
+ if00, 8,
+ if01, 8
+ }
+
+ Store(0xa0, f00a)
+ Store(0xa1, f00b)
+ Store(0xa2, if00)
+ Store(0xa3, if01)
+
+ Store(ObjectType(f00a), Local7)
+ if (LNotEqual(Local7, c00d)) {
+ err(arg0, z040, 42, 0, 0, Local7, c00d)
+ }
+ Store(ObjectType(f00b), Local7)
+ if (LNotEqual(Local7, c00d)) {
+ err(arg0, z040, 43, 0, 0, Local7, c00d)
+ }
+ Store(ObjectType(if00), Local7)
+ if (LNotEqual(Local7, c00d)) {
+ err(arg0, z040, 44, 0, 0, Local7, c00d)
+ }
+ Store(ObjectType(if01), Local7)
+ if (LNotEqual(Local7, c00d)) {
+ err(arg0, z040, 45, 0, 0, Local7, c00d)
+ }
+ }
+ case (7) {
+
+ // Buffer
+
+ Store(Buffer(4) {0, 1, 2, 3}, Local0)
+ Store(ObjectType(Local0), Local7)
+ if (LNotEqual(Local7, c00b)) {
+ err(arg0, z040, 46, 0, 0, Local7, c00b)
+ }
+ if (LNotEqual(Local0, Buffer(4) {0, 1, 2, 3})) {
+ err(arg0, z040, 47, 0, 0, 0, 0)
+ }
+ }
+ case (8) {
+
+ // Buffer
+
+ Store(ObjectType(Arg2), Local7)
+ if (LNotEqual(Local7, c00b)) {
+ err(arg0, z040, 48, 0, 0, Local7, c00b)
+ }
+ if (LNotEqual(Arg2, Buffer(4) {4, 5, 6, 7})) {
+ err(arg0, z040, 49, 0, 0, 0, 0)
+ }
+ }
+ case (9) {
+
+ // Buffer
+
+ Name(b000, Buffer(4) {8, 9, 10, 11})
+ Store(ObjectType(b000), Local7)
+ if (LNotEqual(Local7, c00b)) {
+ err(arg0, z040, 50, 0, 0, Local7, c00b)
+ }
+ if (LNotEqual(b000, Buffer(4) {8, 9, 10, 11})) {
+ err(arg0, z040, 51, 0, 0, 0, 0)
+ }
+ }
+ case (10) {
+
+ // Buffer
+
+ Store(ObjectType(b003), Local7)
+ if (LNotEqual(Local7, c00b)) {
+ err(arg0, z040, 52, 0, 0, Local7, c00b)
+ }
+ if (LNotEqual(b003, Buffer(4) {12, 13, 14, 15})) {
+ err(arg0, z040, 53, 0, 0, 0, 0)
+ }
+ }
+ case (11) {
+
+ // Buffer Field
+
+ Store(Buffer(4) {16, 17, 18, 19}, Local0)
+ CreateBitField(Local0, 3, f001)
+ Store(ObjectType(f001), Local7)
+ if (LNotEqual(Local7, c016)) {
+ err(arg0, z040, 54, 0, 0, Local7, c016)
+ }
+ if (LNotEqual(Local0, Buffer(4) {16, 17, 18, 19})) {
+ err(arg0, z040, 55, 0, 0, 0, 0)
+ }
+ }
+ case (12) {
+
+ // Buffer Field
+
+ Store(Buffer(4) {20, 21, 22, 23}, Local0)
+ CreateByteField(Local0, 3, f002)
+ Store(ObjectType(f002), Local7)
+ if (LNotEqual(Local7, c016)) {
+ err(arg0, z040, 56, 0, 0, Local7, c016)
+ }
+ if (LNotEqual(Local0, Buffer(4) {20, 21, 22, 23})) {
+ err(arg0, z040, 57, 0, 0, 0, 0)
+ }
+ }
+ case (13) {
+
+ // Buffer Field
+
+ Store(Buffer(4) {24, 25, 26, 27}, Local0)
+ CreateDWordField(Local0, 0, f003)
+ Store(ObjectType(f003), Local7)
+ if (LNotEqual(Local7, c016)) {
+ err(arg0, z040, 58, 0, 0, Local7, c016)
+ }
+ if (LNotEqual(Local0, Buffer(4) {24, 25, 26, 27})) {
+ err(arg0, z040, 59, 0, 0, 0, 0)
+ }
+ }
+ case (14) {
+
+ // Buffer Field
+
+ Store(Buffer(4) {28, 29, 30, 31}, Local0)
+ CreateField(Local0, 0, 32, f004)
+ Store(ObjectType(f004), Local7)
+ if (LNotEqual(Local7, c016)) {
+ err(arg0, z040, 60, 0, 0, Local7, c016)
+ }
+ if (LNotEqual(Local0, Buffer(4) {28, 29, 30, 31})) {
+ err(arg0, z040, 61, 0, 0, 0, 0)
+ }
+ }
+ case (15) {
+
+ // Buffer Field
+
+ Store(Buffer() {33, 34, 35, 36, 37, 38, 39, 40, 41}, Local0)
+ CreateField(Local0, 0, 64, f005)
+ Store(ObjectType(f005), Local7)
+ if (LNotEqual(Local7, c016)) {
+ err(arg0, z040, 62, 0, 0, Local7, c016)
+ }
+ if (LNotEqual(Local0, Buffer() {33, 34, 35, 36, 37,
+ 38, 39, 40, 41})) {
+ err(arg0, z040, 63, 0, 0, 0, 0)
+ }
+ }
+ case (16) {
+
+ // Buffer Field
+
+ Store(Buffer() {42, 43, 44, 45, 46, 47, 48, 49, 50}, Local0)
+ CreateField(Local0, 0, 65, f006)
+ Store(ObjectType(f006), Local7)
+ if (LNotEqual(Local7, c016)) {
+ err(arg0, z040, 64, 0, 0, Local7, c016)
+ }
+ if (LNotEqual(Local0, Buffer() {42, 43, 44, 45, 46, 47, 48, 49, 50})) {
+ err(arg0, z040, 65, 0, 0, 0, 0)
+ }
+
+ CreateField(Local0, 0, 17, f111)
+ Store(ObjectType(f111), Local7)
+ if (LNotEqual(Local7, c016)) {
+ err(arg0, z040, 66, 0, 0, Local7, c016)
+ }
+ CreateField(Local0, 0, 57, f112)
+ Store(ObjectType(f112), Local7)
+ if (LNotEqual(Local7, c016)) {
+ err(arg0, z040, 67, 0, 0, Local7, c016)
+ }
+ }
+ case (17) {
+
+ // Buffer Field
+
+ Store(Buffer() {42, 43, 44, 45, 46, 47, 48, 49, 50}, Local0)
+ CreateQWordField(Local0, 0, f007)
+ Store(ObjectType(f007), Local7)
+ if (LNotEqual(Local7, c016)) {
+ err(arg0, z040, 68, 0, 0, Local7, c016)
+ }
+ if (LNotEqual(Local0, Buffer() {42, 43, 44, 45, 46, 47, 48, 49, 50})) {
+ err(arg0, z040, 69, 0, 0, 0, 0)
+ }
+ }
+ case (18) {
+
+ // Buffer Field
+
+ Store(Buffer() {51, 52, 53, 54}, Local0)
+ CreateWordField(Local0, 0, f008)
+ Store(ObjectType(f008), Local7)
+ if (LNotEqual(Local7, c016)) {
+ err(arg0, z040, 70, 0, 0, Local7, c016)
+ }
+ if (LNotEqual(Local0, Buffer() {51, 52, 53, 54})) {
+ err(arg0, z040, 71, 0, 0, 0, 0)
+ }
+ }
+ case (19) {
+
+ // Buffer Field
+
+ Store("q", Local0)
+ Store(Index(Local0, 0), Local1)
+ Store(ObjectType(Local1), Local7)
+ if (LNotEqual(Local7, c016)) {
+ err(arg0, z040, 72, 0, 0, Local7, c016)
+ }
+ if (LNotEqual(Local0, "q")) {
+ err(arg0, z040, 73, 0, 0, 0, 0)
+ }
+
+ Store("qw", Local0)
+ Store(Index(Local0, 0), Local1)
+ Store(ObjectType(Local1), Local7)
+ if (LNotEqual(Local7, c016)) {
+ err(arg0, z040, 74, 0, 0, Local7, c016)
+ }
+ if (LNotEqual(Local0, "qw")) {
+ err(arg0, z040, 75, 0, 0, 0, 0)
+ }
+
+ Store("qwertyu", Local0)
+ Store(Index(Local0, 0), Local1)
+ Store(ObjectType(Local1), Local7)
+ if (LNotEqual(Local7, c016)) {
+ err(arg0, z040, 76, 0, 0, Local7, c016)
+ }
+ if (LNotEqual(Local0, "qwertyu")) {
+ err(arg0, z040, 77, 0, 0, 0, 0)
+ }
+
+ Store("qwertyuiop", Local0)
+ Store(Index(Local0, 0), Local1)
+ Store(ObjectType(Local1), Local7)
+ if (LNotEqual(Local7, c016)) {
+ err(arg0, z040, 78, 0, 0, Local7, c016)
+ }
+ if (LNotEqual(Local0, "qwertyuiop")) {
+ err(arg0, z040, 79, 0, 0, 0, 0)
+ }
+ }
+ case (20) {
+
+ // Buffer Field
+
+ Store(Buffer() {42, 43, 44, 45}, Local0)
+ Store(Index(Local0, 0), Local1)
+ Store(ObjectType(Local1), Local7)
+ if (LNotEqual(Local7, c016)) {
+ err(arg0, z040, 80, 0, 0, Local7, c016)
+ }
+ if (LNotEqual(Local0, Buffer() {42, 43, 44, 45})) {
+ err(arg0, z040, 81, 0, 0, 0, 0)
+ }
+
+ Store(Buffer() {42, 43, 44, 45, 46, 47, 48, 49}, Local0)
+ Store(Index(Local0, 0), Local1)
+ Store(ObjectType(Local1), Local7)
+ if (LNotEqual(Local7, c016)) {
+ err(arg0, z040, 82, 0, 0, Local7, c016)
+ }
+ if (LNotEqual(Local0, Buffer() {42, 43, 44, 45, 46, 47, 48, 49})) {
+ err(arg0, z040, 83, 0, 0, 0, 0)
+ }
+
+ Store(Buffer() {42, 43, 44, 45, 46, 47, 48, 49, 50}, Local0)
+ Store(Index(Local0, 0), Local1)
+ Store(ObjectType(Local1), Local7)
+ if (LNotEqual(Local7, c016)) {
+ err(arg0, z040, 84, 0, 0, Local7, c016)
+ }
+ if (LNotEqual(Local0, Buffer() {42, 43, 44, 45, 46, 47, 48, 49, 50})) {
+ err(arg0, z040, 85, 0, 0, 0, 0)
+ }
+ }
+ case (21) {
+
+ // Index with ...
+
+ Store(Package() {
+ Package() {
+ 0x98765432,
+ Buffer() {0x12},
+ Package() {0x12345678},
+ "qwertyui"},
+ Buffer() {0x12},
+ "q",
+ 0x98765432}, LOcal0)
+
+ // Package
+
+ Store(Index(Local0, 0), Local1)
+ Store(ObjectType(Local1), Local7)
+ if (LNotEqual(Local7, c00c)) {
+ err(arg0, z040, 86, 0, 0, Local7, c00c)
+ }
+
+ // Buffer
+
+ Store(Index(Local0, 1), Local1)
+ Store(ObjectType(Local1), Local7)
+ if (LNotEqual(Local7, c00b)) {
+ err(arg0, z040, 87, 0, 0, Local7, c00b)
+ }
+
+ // String
+
+ Store(Index(Local0, 2), Local1)
+ Store(ObjectType(Local1), Local7)
+ if (LNotEqual(Local7, c00a)) {
+ err(arg0, z040, 88, 0, 0, Local7, c00a)
+ }
+
+ // Integer
+
+ Store(Index(Local0, 3), Local1)
+ Store(ObjectType(Local1), Local7)
+ if (LNotEqual(Local7, c009)) {
+ err(arg0, z040, 89, 0, 0, Local7, c009)
+ }
+ }
+ case (22) {
+
+ // Operation Region
+
+ DataTableRegion (HDR0, "DSDT", "", "")
+ Store(ObjectType(HDR0), Local7)
+ if (LNotEqual(Local7, c012)) {
+ err(arg0, z040, 90, 0, 0, Local7, c012)
+ }
+ }
+ case (23) {
+
+ // Debug Object
+
+ Store(ObjectType(Debug), Local7)
+ if (LNotEqual(Local7, c018)) {
+ err(arg0, z040, 91, 0, 0, Local7, c018)
+ }
+ }
+ case (24) {
+
+ // Device
+
+ Device(dv00) {}
+ Store(ObjectType(dv00), Local7)
+ if (LNotEqual(Local7, c00e)) {
+ err(arg0, z040, 92, 0, 0, Local7, c00e)
+ }
+ }
+ case (25) {
+
+ // Event
+
+ Event(evt0)
+ Store(ObjectType(evt0), Local7)
+ if (LNotEqual(Local7, c00f)) {
+ err(arg0, z040, 93, 0, 0, Local7, c00f)
+ }
+ }
+ case (26) {
+
+ // Method
+
+ Method(m0f2) { return (0x1234) }
+ Store(ObjectType(m0f2), Local7)
+ if (LNotEqual(Local7, c010)) {
+ err(arg0, z040, 94, 0, 0, Local7, c010)
+ }
+ }
+ case (27) {
+/*
+ * // Function
+ *
+ * Function(mof3) { return (0) }
+ * Store(ObjectType(m0f3), Local7)
+ * if (LNotEqual(Local7, c010)) {
+ * err(arg0, z040, 95, 0, 0, Local7, c010)
+ * }
+ */
+ }
+ case (28) {
+
+ // Mutex
+
+ Mutex(mt00, 0)
+ Store(ObjectType(mt00), Local7)
+ if (LNotEqual(Local7, c011)) {
+ err(arg0, z040, 96, 0, 0, Local7, c011)
+ }
+ }
+ case (29) {
+
+ // Operation Region
+
+ Store(ObjectType(r000), Local7)
+ if (LNotEqual(Local7, c012)) {
+ err(arg0, z040, 97, 0, 0, Local7, c012)
+ }
+ Store(ObjectType(r001), Local7)
+ if (LNotEqual(Local7, c012)) {
+ err(arg0, z040, 98, 0, 0, Local7, c012)
+ }
+ }
+ case (30) {
+
+ // Package
+
+ Name(p000, Package() {0x12345678})
+ Name(p001, Package() {0x12345678, 0x9abcdef0})
+ Name(p002, Package() {0x12345678, 0x9abcdef0, 0x9abcdef0})
+ Name(p003, Package() {0x123456789abcdef0})
+ Name(p004, Package() {0x123456789abcdef0, 0x123456789abcdef0})
+ Name(p005, Package() {0x123456789abcdef0,
+ 0x123456789abcdef0, 0x123456789abcdef0})
+ Name(p006, Package() {Buffer(1) {}})
+ Name(p007, Package() {Buffer(32) {}})
+ Name(p008, Package() {Buffer(64) {}})
+ Name(p009, Package() {Buffer(125) {}})
+ Name(p00a, Package() {0x12, Buffer() {0x12}})
+ Name(p00b, Package() {0x12, Package() {0x12}})
+ Name(p00c, Package() {Buffer() {0x12}})
+ Name(p00d, Package() {Buffer() {0x12}, 0x12345678})
+ Name(p00e, Package() {Buffer() {0x12}, Buffer() {0x12}})
+ Name(p00f, Package() {Buffer() {0x12}, Package() {0x12}})
+ Name(p010, Package() {Package() {0x12345678}})
+ Name(p011, Package() {Package() {0x12345678}, 0x12345678})
+ Name(p012, Package() {Package() {0x12345678}, Buffer() {0x12}})
+ Name(p013, Package() {Package() {0x12345678}, Package() {0x12}})
+
+
+ Store(ObjectType(p000), Local7)
+ if (LNotEqual(Local7, c00c)) {
+ err(arg0, z040, 99, 0, 0, Local7, c00c)
+ }
+ Store(ObjectType(p001), Local7)
+ if (LNotEqual(Local7, c00c)) {
+ err(arg0, z040, 100, 0, 0, Local7, c00c)
+ }
+ Store(ObjectType(p002), Local7)
+ if (LNotEqual(Local7, c00c)) {
+ err(arg0, z040, 101, 0, 0, Local7, c00c)
+ }
+ Store(ObjectType(p003), Local7)
+ if (LNotEqual(Local7, c00c)) {
+ err(arg0, z040, 102, 0, 0, Local7, c00c)
+ }
+ Store(ObjectType(p004), Local7)
+ if (LNotEqual(Local7, c00c)) {
+ err(arg0, z040, 103, 0, 0, Local7, c00c)
+ }
+ Store(ObjectType(p005), Local7)
+ if (LNotEqual(Local7, c00c)) {
+ err(arg0, z040, 104, 0, 0, Local7, c00c)
+ }
+ Store(ObjectType(p006), Local7)
+ if (LNotEqual(Local7, c00c)) {
+ err(arg0, z040, 105, 0, 0, Local7, c00c)
+ }
+ Store(ObjectType(p007), Local7)
+ if (LNotEqual(Local7, c00c)) {
+ err(arg0, z040, 106, 0, 0, Local7, c00c)
+ }
+ Store(ObjectType(p008), Local7)
+ if (LNotEqual(Local7, c00c)) {
+ err(arg0, z040, 107, 0, 0, Local7, c00c)
+ }
+ Store(ObjectType(p009), Local7)
+ if (LNotEqual(Local7, c00c)) {
+ err(arg0, z040, 108, 0, 0, Local7, c00c)
+ }
+ Store(ObjectType(p00a), Local7)
+ if (LNotEqual(Local7, c00c)) {
+ err(arg0, z040, 109, 0, 0, Local7, c00c)
+ }
+ Store(ObjectType(p00b), Local7)
+ if (LNotEqual(Local7, c00c)) {
+ err(arg0, z040, 110, 0, 0, Local7, c00c)
+ }
+ Store(ObjectType(p00c), Local7)
+ if (LNotEqual(Local7, c00c)) {
+ err(arg0, z040, 111, 0, 0, Local7, c00c)
+ }
+ Store(ObjectType(p00d), Local7)
+ if (LNotEqual(Local7, c00c)) {
+ err(arg0, z040, 112, 0, 0, Local7, c00c)
+ }
+ Store(ObjectType(p00e), Local7)
+ if (LNotEqual(Local7, c00c)) {
+ err(arg0, z040, 113, 0, 0, Local7, c00c)
+ }
+ Store(ObjectType(p00f), Local7)
+ if (LNotEqual(Local7, c00c)) {
+ err(arg0, z040, 114, 0, 0, Local7, c00c)
+ }
+ Store(ObjectType(p010), Local7)
+ if (LNotEqual(Local7, c00c)) {
+ err(arg0, z040, 115, 0, 0, Local7, c00c)
+ }
+ Store(ObjectType(p011), Local7)
+ if (LNotEqual(Local7, c00c)) {
+ err(arg0, z040, 116, 0, 0, Local7, c00c)
+ }
+ Store(ObjectType(p012), Local7)
+ if (LNotEqual(Local7, c00c)) {
+ err(arg0, z040, 117, 0, 0, Local7, c00c)
+ }
+ Store(ObjectType(p013), Local7)
+ if (LNotEqual(Local7, c00c)) {
+ err(arg0, z040, 118, 0, 0, Local7, c00c)
+ }
+ }
+ case (31) {
+
+ // Power Resource
+
+ PowerResource(pwr0, 1, 0) {Method(m000){return (0)}}
+ Store(ObjectType(pwr0), Local7)
+ if (LNotEqual(Local7, c013)) {
+ err(arg0, z040, 119, 0, 0, Local7, c013)
+ }
+ }
+ case (32) {
+
+ // Processor
+
+ Processor(pr00, 0, 0xFFFFFFFF, 0) {}
+ Store(ObjectType(pr00), Local7)
+ if (LNotEqual(Local7, c014)) {
+ err(arg0, z040, 120, 0, 0, Local7, c014)
+ }
+ }
+ case (33) {
+ ThermalZone(tz00) {}
+ Store(ObjectType(tz00), Local7)
+ if (LNotEqual(Local7, c015)) {
+ err(arg0, z040, 121, 0, 0, Local7, c015)
+ }
+ }
+ case (34) {
+/*
+ // Reserved for DDB Handle
+
+Store("==================================== zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz", Debug)
+
+// Store (LoadTable ("OEM1", "MYOEM", "TABLE1", "\\_SB.PCI0", "MYD",
+// Package () {0, "\\_SB.PCI0"}), Local0)
+
+ Store (LoadTable("OEM1", "MYOEM", "TABLE1"), Local0)
+ Store(ObjectType(Local0), Local7)
+ if (LNotEqual(Local7, c017)) {
+ err(arg0, z040, 122, 0, 0, Local7, c017)
+ }
+
+Store("==================================== uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu", Debug)
+*/
+ }
+ Default {
+ err(arg0, z040, 123, 0, 0, 0, 0)
+ }
+ }
+
+ return (Local7)
+}
+
+Method(m0f0)
+{
+ Name(ts, "m0f0")
+
+ Store("TEST: m0f0, ObjectType", Debug)
+
+ Store(0, Local5)
+ Store(35, Local4)
+
+ While(Local4) {
+
+ Store(0, Local2)
+
+ switch (Local5) {
+ case (1) {
+ Store(0x81223344, Local2)
+ }
+ case (2) {
+ Store(0xfabefac489501248, Local2)
+ }
+ case (3) {
+ Store("zxcvbnm0912345678ok", Local2)
+ }
+ case (8) {
+ Store(Buffer(4) {4, 5, 6, 7}, Local2)
+ }
+ }
+
+ m0f1(ts, Local5, Local2, 0, 0, 0, 0)
+
+ Increment(Local5)
+ Decrement(Local4)
+ }
+}
+
+// Run-method
+Method(OBT0)
+{
+ Store("TEST: OBT0, Type of object", Debug)
+
+ m0f0()
+}
diff --git a/tests/aslts/src/runtime/collections/functional/manipulation/sizeof.asl b/tests/aslts/src/runtime/collections/functional/manipulation/sizeof.asl
new file mode 100644
index 000000000..b29c2dbd7
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/manipulation/sizeof.asl
@@ -0,0 +1,82 @@
+/*
+ * 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.
+ */
+
+/*
+ * Data type conversion and manipulation
+ *
+ * SizeOf, Get the size of Integer, Buffer, String or Package
+ */
+
+Name(z041, 41)
+
+// Simplest test of SizeOf for all available type objects
+Method(m1ef)
+{
+ Name(ts, "m1ef")
+
+ Name(i000, 0)
+ Name(s000, "vcd")
+ Name(b000, Buffer() {1,2,3,4,5})
+ Name(p000, Package() {11,12,13,14,15,16,17})
+
+ Store(SizeOf(i000), Local0)
+ if (LEqual(F64, 1)) {
+ if (LNotEqual(Local0, 8)) {
+ err(ts, z041, 0, 0, 0, Local0, 8)
+ }
+ } else {
+ if (LNotEqual(Local0, 4)) {
+ err(ts, z041, 1, 0, 0, Local0, 4)
+ }
+ }
+
+ Store(SizeOf(s000), Local0)
+ if (LNotEqual(Local0, 3)) {
+ err(ts, z041, 2, 0, 0, Local0, 3)
+ }
+
+ Store(SizeOf(b000), Local0)
+ if (LNotEqual(Local0, 5)) {
+ err(ts, z041, 3, 0, 0, Local0, 5)
+ }
+
+ Store(SizeOf(p000), Local0)
+ if (LNotEqual(Local0, 7)) {
+ err(ts, z041, 4, 0, 0, Local0, 7)
+ }
+}
+
+// Run-method
+Method(SZO0)
+{
+ Store("TEST: SZO0, Get the size of Integer, Buffer, String or Package:", Debug)
+
+ m1ef()
+}
diff --git a/tests/aslts/src/runtime/collections/functional/manipulation/store.asl b/tests/aslts/src/runtime/collections/functional/manipulation/store.asl
new file mode 100644
index 000000000..cbbc5b246
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/manipulation/store.asl
@@ -0,0 +1,513 @@
+/*
+ * 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.
+ */
+
+/*
+ * Data type conversion and manipulation
+ */
+
+Name(z042, 42)
+
+Mutex(MT04, 0)
+
+// Verifying 1-parameter, 1-result operator
+Method(m302, 6)
+{
+ Store(0, Local5)
+ Store(arg1, Local3)
+
+ While(Local3) {
+
+ // Operand
+
+ Store(DeRefOf(Index(arg3, Local5)), Local0)
+
+ // Expected result
+
+ Store(DeRefOf(Index(arg4, Local5)), Local1)
+
+ switch (arg5) {
+ case (0) {
+ ToInteger(Local0, Local2)
+ if (LNotEqual(Local2, Local1)) {
+ err(arg0, z042, 0, 0, 0, Local5, arg2)
+ return (1)
+ }
+ }
+ case (1) {
+ ToBuffer(Local0, Local2)
+ if (LNotEqual(Local2, Local1)) {
+ err(arg0, z042, 1, 0, 0, Local5, arg2)
+ return (1)
+ }
+ }
+ case (2) {
+ ToString(Local0, Local2)
+ if (LNotEqual(Local2, Local1)) {
+ err(arg0, z042, 2, 0, 0, Local5, arg2)
+ return (1)
+ }
+ }
+ case (3) {
+ ToDecimalString(Local0, Local2)
+ if (LNotEqual(Local2, Local1)) {
+ err(arg0, z042, 3, 0, 0, Local5, arg2)
+ return (1)
+ }
+ }
+ case (4) {
+ ToHexString(Local0, Local2)
+ if (LNotEqual(Local2, Local1)) {
+ err(arg0, z042, 4, 0, 0, Local5, arg2)
+ return (1)
+ }
+ }
+ case (5) {
+ ToBCD(Local0, Local2)
+ if (LNotEqual(Local2, Local1)) {
+ err(arg0, z042, 5, 0, 0, Local5, arg2)
+ return (1)
+ }
+ }
+ case (6) {
+ FromBCD(Local0, Local2)
+ if (LNotEqual(Local2, Local1)) {
+ err(arg0, z042, 6, 0, 0, Local5, arg2)
+ return (1)
+ }
+ }
+ case (7) { // ToUUID macro
+ Store(Local0, Local2)
+ if (LNotEqual(Local2, Local1)) {
+ err(arg0, z042, 7, 0, 0, Local5, arg2)
+ return (1)
+ }
+ }
+ case (8) { // Unicode macro
+ Store(Local0, Local2)
+ if (LNotEqual(Local2, Local1)) {
+ err(arg0, z042, 8, 0, 0, Local5, arg2)
+ return (1)
+ }
+ }
+ case (9) { // EISAID macro
+ Store(Local0, Local2)
+ if (LNotEqual(Local2, Local1)) {
+ err(arg0, z042, 9, 0, 0, Local5, arg2)
+ return (1)
+ }
+ }
+ }
+ Increment(Local5)
+ Decrement(Local3)
+ }
+ return (0)
+}
+
+Method(ST00)
+{
+ Name(ts, "ST00")
+
+ Store("TEST: ST00, Store object", Debug)
+
+ // Store
+
+ Store(Store(0xabcdef12, Local0), Local1)
+ if (LNotEqual(Local1, 0xabcdef12)) {
+ err(ts, z042, 10, 0, 0, 0, 0)
+ }
+
+ // Integer arithmetic
+
+ // Add
+
+ Store(Add(0x12345678, 0x11111111, Local0), Local1)
+ if (LNotEqual(Local1, 0x23456789)) {
+ err(ts, z042, 11, 0, 0, 0, 0)
+ }
+ Store(Add(0x23456781, 0x11111111), Local0)
+ if (LNotEqual(Local0, 0x34567892)) {
+ err(ts, z042, 12, 0, 0, 0, 0)
+ }
+
+ Store(Add(0x12345678, 0xf0000000, Local0), Local1)
+ m4c0(ts, Local1, 0x0000000102345678, 0x02345678)
+
+ // Subtract
+
+ Store(Subtract(0x87654321, 0x11111111, Local0), Local1)
+ if (LNotEqual(Local1, 0x76543210)) {
+ err(ts, z042, 13, 0, 0, 0, 0)
+ }
+ Store(Subtract(0x72387654, 0x22221111), Local0)
+ if (LNotEqual(Local0, 0x50166543)) {
+ err(ts, z042, 14, 0, 0, 0, 0)
+ }
+
+ // Multiply
+
+ Store(Multiply(0x12345, 0x7abc, Local0), Local1)
+ if (LNotEqual(Local1, 0x8BA4C8AC)) {
+ err(ts, z042, 15, 0, 0, 0, 0)
+ }
+ Store(Multiply(0x145ab, 0x3247), Local0)
+ if (LNotEqual(Local0, 0x3FF5B86D)) {
+ err(ts, z042, 16, 0, 0, 0, 0)
+ }
+
+ // Divide
+
+ Store(Divide(0x12345678, 0x1000, Local0, Local1), Local2)
+ if (LNotEqual(Local2, 0x12345)) {
+ err(ts, z042, 17, 0, 0, 0, 0)
+ }
+ Store(Divide(0x7abc56e8, 0x1000, Local0), Local1)
+ if (LNotEqual(Local1, 0x7ABC5)) {
+ err(ts, z042, 18, 0, 0, 0, 0)
+ }
+
+ Store(Divide(0x55667788, 0x1000), Local0)
+ if (LNotEqual(Local0, 0x55667)) {
+ err(ts, z042, 19, 0, 0, 0, 0)
+ }
+
+ // Increment
+
+ Store(0x12345678, Local0)
+ Store(Increment(Local0), Local1)
+ if (LNotEqual(Local1, 0x12345679)) {
+ err(ts, z042, 20, 0, 0, 0, 0)
+ }
+
+ // Decrement
+
+ Store(0x67812345, Local0)
+ Store(Decrement(Local0), Local1)
+ if (LNotEqual(Local1, 0x67812344)) {
+ err(ts, z042, 21, 0, 0, 0, 0)
+ }
+
+ // And
+
+ Store(And(0x87654321, 0xaaaaaaaa, Local0), Local1)
+ if (LNotEqual(Local1, 0x82200220)) {
+ err(ts, z042, 22, 0, 0, 0, 0)
+ }
+ Store(And(0x88aabbcc, 0xaaaaaaaa), Local0)
+ if (LNotEqual(Local0, 0x88AAAA88)) {
+ err(ts, z042, 23, 0, 0, 0, 0)
+ }
+
+ // FindSetLeftBit
+
+ Store(FindSetLeftBit(0x0000f001, Local0), Local1)
+ if (LNotEqual(Local1, 16)) {
+ err(ts, z042, 24, 0, 0, 0, 0)
+ }
+ Store(FindSetLeftBit(0x09007001), Local0)
+ if (LNotEqual(Local0, 28)) {
+ err(ts, z042, 25, 0, 0, 0, 0)
+ }
+
+ // FindSetRightBit
+
+ Store(FindSetRightBit(0x01080040, Local0), Local1)
+ if (LNotEqual(Local1, 7)) {
+ err(ts, z042, 26, 0, 0, 0, 0)
+ }
+ Store(FindSetRightBit(0x09800000), Local0)
+ if (LNotEqual(Local0, 24)) {
+ err(ts, z042, 27, 0, 0, 0, 0)
+ }
+
+ // Mod
+
+ Store(Mod(0x1afb3c4d, 0x400000), Local0)
+ if (LNotEqual(Local0, 0x3b3c4d)) {
+ err(ts, z042, 28, 0, 0, 0, 0)
+ }
+
+ // ShiftLeft
+
+ Store(ShiftLeft(0x12345678, 9, Local0), Local1)
+ m4c0(ts, Local1, 0x0000002468ACF000, 0x68ACF000)
+
+ Store(ShiftLeft(0x45678abf, 11), Local0)
+ m4c0(ts, Local0, 0x0000022B3C55F800, 0x3C55F800)
+
+ // ShiftRight
+
+ Store(ShiftRight(0x87654321, 25, Local0), Local1)
+ if (LNotEqual(Local1, 0x00000043)) {
+ err(ts, z042, 29, 0, 0, 0, 0)
+ }
+ Store(ShiftRight(0x7654a0cb, 21), Local0)
+ if (LNotEqual(Local0, 0x000003b2)) {
+ err(ts, z042, 30, 0, 0, 0, 0)
+ }
+
+ // Nand
+
+ Store(Nand(0xa33553ac, 0x9a9636ca, Local0), Local1)
+ m4c0(ts, Local1, 0xFFFFFFFF7DEBED77, 0x7DEBED77)
+
+ Store(Nand(0xa33553ac, 0x565c36c9), Local0)
+ m4c0(ts, Local0, 0xFFFFFFFFFDEBED77, 0xFDEBED77)
+
+ // Nor
+
+ Store(Nor(0x9a335a3c, 0x39a96c6a, Local0), Local1)
+ m4c0(ts, Local1, 0xFFFFFFFF44448181, 0x44448181)
+
+ Store(Nor(0x9a353a3c, 0x39a69c6a), Local0)
+ m4c0(ts, Local0, 0xFFFFFFFF44484181, 0x44484181)
+
+ // Not
+
+ Store(Not(0x8a345678, Local0), Local1)
+ m4c0(ts, Local1, 0xFFFFFFFF75CBA987, 0x75CBA987)
+
+ Store(Not(0x8af45678), Local0)
+ m4c0(ts, Local0, 0xFFFFFFFF750BA987, 0x750BA987)
+
+ // Or
+
+ Store(Or(0x9a3533ac, 0x39a696ca, Local0), Local1)
+ if (LNotEqual(Local1, 0xBBB7B7EE)) {
+ err(ts, z042, 31, 0, 0, 0, 0)
+ }
+ Store(Or(0xca3533a9, 0xa9a696c3), Local0)
+ if (LNotEqual(Local0, 0xEBB7B7EB)) {
+ err(ts, z042, 32, 0, 0, 0, 0)
+ }
+
+ // Xor
+
+ Store(Xor(0x9a365ac3, 0x39a96ca6, Local0), Local1)
+ if (LNotEqual(Local1, 0xA39F3665)) {
+ err(ts, z042, 33, 0, 0, 0, 0)
+ }
+ Store(Xor(0xa9365ac3, 0x93a96ca6), Local0)
+ if (LNotEqual(Local0, 0x3A9F3665)) {
+ err(ts, z042, 34, 0, 0, 0, 0)
+ }
+
+ // Logical operators
+
+ // LAnd (provided by LAN0)
+ // LEqual (provided by LEQ0)
+ // LGreater (provided by LGR0)
+ // LGreaterEqual (provided by LGE0)
+ // LLess (provided by LL00)
+ // LLessEqual (provided by LLE0)
+ // LNot (provided by LN00)
+ // LNotEqual (provided by LNE0)
+ // LOr (provided by LOR0)
+
+ // Synchronization
+
+ // Acquire
+
+ Store(Acquire(MT04, 0x0005), Local0)
+ if (LNotEqual(Local0, Zero)) {
+ err(ts, z042, 35, 0, 0, 0, 0)
+ }
+
+ // Release (None)
+
+ // ToInteger
+
+ Store(ToInteger("0x89abcdef", Local0), Local1)
+ if (LNotEqual(Local1, 0x89abcdef)) {
+ err(ts, z042, 36, 0, 0, 0, 0)
+ }
+ Store(ToInteger("0x89abcdef"), Local0)
+ if (LNotEqual(Local0, 0x89abcdef)) {
+ err(ts, z042, 37, 0, 0, 0, 0)
+ }
+
+ // ToString
+
+ Store(Buffer(1){0x01}, Local2)
+
+ Store(ToString(Local2, Ones, Local0), Local1)
+ if (LNotEqual(Local1, "\x01")) {
+ err(ts, z042, 38, 0, 0, 0, 0)
+ }
+ Store(ToString(Local2, Ones), Local0)
+ if (LNotEqual(Local0, "\x01")) {
+ err(ts, z042, 39, 0, 0, 0, 0)
+ }
+
+ Store(ToString(Local2, 1, Local0), Local1)
+ if (LNotEqual(Local1, "\x01")) {
+ err(ts, z042, 40, 0, 0, 0, 0)
+ }
+ Store(ToString(Local2, 1), Local0)
+ if (LNotEqual(Local0, "\x01")) {
+ err(ts, z042, 41, 0, 0, 0, 0)
+ }
+
+ // ToBuffer
+
+ Store("\x01", Local2)
+
+ Store(ToBuffer(Local2, Local0), Local1)
+ if (LNotEqual(Local1, Buffer(2){0x01, 0x00})) {
+ err(ts, z042, 42, 0, 0, 0, 0)
+ }
+ Store(ToBuffer(Local2), Local0)
+ if (LNotEqual(Local0, Buffer(2){0x01, 0x00})) {
+ err(ts, z042, 43, 0, 0, 0, 0)
+ }
+
+ // ToDecimalString
+
+ Store(12, Local2)
+
+ Store(ToDecimalString(Local2, Local0), Local1)
+ if (LNotEqual(Local1, "12")) {
+ err(ts, z042, 44, 0, 0, 0, 0)
+ }
+ Store(ToDecimalString(Local2), Local0)
+ if (LNotEqual(Local0, "12")) {
+ err(ts, z042, 45, 0, 0, 0, 0)
+ }
+
+ // ToHexString
+
+ Store(Buffer(1){0xef}, Local2)
+
+ Store(ToHexString(Local2, Local0), Local1)
+ if (LNotEqual(Local1, "EF")) {
+ err(ts, z042, 46, 0, 0, 0, 0)
+ }
+ Store(ToHexString(Local2), Local0)
+ if (LNotEqual(Local0, "EF")) {
+ err(ts, z042, 47, 0, 0, 0, 0)
+ }
+
+ // ToBCD
+
+ Store(10, Local2)
+
+ Store(ToBCD(Local2, Local0), Local1)
+ if (LNotEqual(Local1, 0x10)) {
+ err(ts, z042, 48, 0, 0, 0, 0)
+ }
+ Store(ToBCD(Local2), Local0)
+ if (LNotEqual(Local0, 0x10)) {
+ err(ts, z042, 49, 0, 0, 0, 0)
+ }
+
+ // FromBCD
+
+ Store(0x10, Local2)
+
+ Store(FromBCD(Local2, Local0), Local1)
+ if (LNotEqual(Local1, 10)) {
+ err(ts, z042, 50, 0, 0, 0, 0)
+ }
+ Store(FromBCD(Local2), Local0)
+ if (LNotEqual(Local0, 10)) {
+ err(ts, z042, 51, 0, 0, 0, 0)
+ }
+
+ // Mid
+
+ Store("0123", Local2)
+
+ Store(Mid(Local2, 1, 2, Local0), Local1)
+ if (LNotEqual(Local1, "12")) {
+ err(ts, z042, 52, 0, 0, 0, 0)
+ }
+ Store(Mid(Local2, 1, 2), Local0)
+ if (LNotEqual(Local0, "12")) {
+ err(ts, z042, 53, 0, 0, 0, 0)
+ }
+
+ Store(Buffer(){0, 1, 2, 3}, Local2)
+
+ Store(Mid(Local2, 1, 2, Local0), Local1)
+ if (LNotEqual(Local1, Buffer(){1, 2})) {
+ err(ts, z042, 54, 0, 0, 0, 0)
+ }
+ Store(Mid(Local2, 1, 2), Local0)
+ if (LNotEqual(Local0, Buffer(){1, 2})) {
+ err(ts, z042, 55, 0, 0, 0, 0)
+ }
+
+ // Match
+
+ Store(Package(){1}, Local2)
+
+ Store(Match(Local2, MTR, 0, MTR, 0, 0), Local0)
+ if (LNotEqual(Local0, 0)) {
+ err(ts, z042, 56, 0, 0, 0, 0)
+ }
+
+ // ConcatenateResTemplate
+
+ Store(ResourceTemplate(){}, Local2)
+ Store(ResourceTemplate(){}, Local3)
+
+ Store(ConcatenateResTemplate(Local2, Local3, Local0), Local1)
+ /*
+ * 20.12.2005: 0 instead of 0x87
+ */
+ if (LNotEqual(Local1, Buffer(){0x79, 0})) {
+ err(ts, z042, 57, 0, 0, 0, 0)
+ }
+ /*
+ * 20.12.2005: 0 instead of 0x87
+ */
+ Store(ConcatenateResTemplate(Local2, Local3), Local0)
+ if (LNotEqual(Local0, Buffer(){0x79, 0})) {
+ err(ts, z042, 58, 0, 0, 0, 0)
+ }
+}
+
+Method(m30d)
+{
+ Name(str0, "mnbvcxzlkjhgf")
+ Name(str1, "mnbvcxzlkjAgf")
+
+ Store("A", Index(str0, 10))
+
+ if (LNotEqual(str0, str1)) {
+ err("m30d", z042, 59, 0, 0, str0, str1)
+ }
+}
+
+// Run-method
+Method(DCM0)
+{
+ ST00()
+ m30d()
+}
diff --git a/tests/aslts/src/runtime/collections/functional/manipulation/tobuffer.asl b/tests/aslts/src/runtime/collections/functional/manipulation/tobuffer.asl
new file mode 100644
index 000000000..b1d4a134d
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/manipulation/tobuffer.asl
@@ -0,0 +1,262 @@
+/*
+ * 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.
+ */
+
+/*
+ * Data type conversion and manipulation
+ *
+ * Convert Data to Buffer
+ */
+
+Name(z043, 43)
+
+// Integer
+
+// 32-bit
+Name(p320, Package()
+{
+ 0,
+ 0x81,
+ 0x8232,
+ 0x76543201,
+ 0xf89abcde,
+ 0xffffffff,
+})
+
+Name(p321, Package()
+{
+ Buffer(4) {0x00, 0x00, 0x00, 0x00},
+ Buffer(4) {0x81, 0x00, 0x00, 0x00},
+ Buffer(4) {0x32, 0x82, 0x00, 0x00},
+ Buffer(4) {0x01, 0x32, 0x54, 0x76},
+ Buffer(4) {0xde, 0xbc, 0x9a, 0xf8},
+ Buffer(4) {0xff, 0xff, 0xff, 0xff},
+})
+
+// 64-bit
+Name(p322, Package()
+{
+ 0,
+ 0x81,
+ 0x8232,
+ 0x76543201,
+ 0x8123456789,
+ 0x8cdae2376890,
+ 0x76543201fabcde,
+ 0xabcdef9876543201,
+ 0xffffffffffffffff,
+})
+
+Name(p323, Package()
+{
+ Buffer(8) {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
+ Buffer(8) {0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
+ Buffer(8) {0x32, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
+ Buffer(8) {0x01, 0x32, 0x54, 0x76, 0x00, 0x00, 0x00, 0x00},
+ Buffer(8) {0x89, 0x67, 0x45, 0x23, 0x81, 0x00, 0x00, 0x00},
+ Buffer(8) {0x90, 0x68, 0x37, 0xe2, 0xda, 0x8c, 0x00, 0x00},
+ Buffer(8) {0xde, 0xbc, 0xfa, 0x01, 0x32, 0x54, 0x76, 0x00},
+ Buffer(8) {0x01, 0x32, 0x54, 0x76, 0x98, 0xef, 0xcd, 0xab},
+ Buffer(8) {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
+})
+
+// Buffer
+Name(p325, Package()
+{
+ Buffer(1) {1},
+ Buffer(4) {1, 2, 3, 4},
+ Buffer(8) {1, 2, 3, 4, 5, 6, 7, 8},
+ Buffer(128) {
+ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
+ 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
+ 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
+ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
+ 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
+ 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,112,
+ 113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128},
+ Buffer(200) {
+ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
+ 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
+ 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
+ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
+ 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
+ 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,112,
+ 113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,
+ 129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,
+ 145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,
+ 161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,
+ 177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,
+ 193,194,195,196,197,198,199,200},
+ Buffer(257) {
+ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
+ 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
+ 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
+ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
+ 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
+ 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,112,
+ 113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,
+ 129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,
+ 145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,
+ 161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,
+ 177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,
+ 193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,
+ 209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,
+ 225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,
+ 241,242,243,244,245,246,247,248,249,250,251,252,253,254,255, 0, 1},
+})
+
+// Verify type, length of the obtained buffer
+// call to m305 to check the contents
+Method(m320, 6) // ts, buffer, len, null, err, case
+{
+ if (LNotequal(ObjectType(arg1), 3)) {
+ err(arg0, z043, arg3, 0, 0, arg2, "Type")
+ } else {
+ if (LNotEqual(Sizeof(arg1), Add(arg2, arg3))) {
+ err(arg0, z043, arg4, 0, 0, arg2, "Sizeof")
+ } else {
+ m305(arg0, arg1, arg2, arg4, arg5)
+ }
+ }
+}
+
+// Checking strings with different lengths
+Method(m321, 1)
+{
+ Name(LENS, Buffer() {200, 199, 129, 128, 127, 9, 8, 7, 1, 0})
+
+ Store(0, Local1)
+ While (LLess(Local1, 10)) {
+
+ // Prepare benchmark buffer
+
+ Store(Derefof(Index(LENS, Local1)), Local0)
+ Store(Buffer(Local0){}, Local4)
+ m303(Local4, Local0)
+
+ // Convert benchmark buffer to string
+
+ Store(ToString(Local4), Local2)
+
+ // Create the same benchmark buffer anew
+ // with null character appended
+
+ Store(Buffer(Add(Local0, 1)){}, Local5)
+ m303(Local5, Local0)
+ Store(0, Index(Local5, Local0))
+
+ // Convert string to buffer
+
+ ToBuffer(Local2, Local3)
+
+ // Verify obtained buffer with the benchmark one
+
+ if (LNotEqual(Local3, Local5)) {
+ err(arg0, z043, 2, 0, 0, Local0, "NotEqual")
+ }
+
+ // Check the source string was not corrupted
+
+ m307(arg0, Local2, Local0, 2, "Source")
+
+ // Check both buffers state too
+
+ m320(arg0, Local3, Local0, 1, 3, "Dest")
+ m320(arg0, Local4, Local0, 0, 4, "Test")
+
+ Increment(Local1)
+ }
+}
+
+// Checking buffers with different lengths
+// (zero length in the first order).
+Method(m322, 1)
+{
+ Name(LENS, Package() {0, 513})
+
+ Store(0, Local1)
+ While (LLess(Local1, 2)) {
+
+ // Prepare benchmark buffer
+
+ Store(Derefof(Index(LENS, Local1)), Local0)
+ Store(Buffer(Local0){}, Local4)
+ m303(Local4, Local0)
+
+ /*
+ * // ToBuffer caused destroying of source buffer (passed
+ * // by Data parameter), so they are duplicated below.
+ *
+ * Store(Local4, Local5)
+ */
+
+ ToBuffer(Local4, Local3)
+
+ if (LNotEqual(Local3, Local4)) {
+ err(arg0, z043, 3, 0, 0, Local0, "NotEqual")
+ }
+
+ // Check the buffers were not corrupted
+ // (because know Data parameter was)
+
+ m320(arg0, Local3, Local0, 0, 6, "Dest")
+ m320(arg0, Local4, Local0, 0, 7, "Source")
+
+ Increment(Local1)
+ }
+}
+
+// Run-method
+Method(TOB0)
+{
+ Name(ts, "TOB0")
+
+ Store("TEST: TOB0, Convert Data to Buffer", Debug)
+
+ // From integer
+
+ if (LEqual(F64, 1)) {
+ m302(ts, 9, "p322", p322, p323, 1)
+ } else {
+ m302(ts, 6, "p320", p320, p321, 1)
+ }
+
+ // From string
+
+ m321(ts)
+
+ // From buffer
+
+ m322(ts)
+
+ m302(ts, 6, "p325", p325, p325, 1)
+}
diff --git a/tests/aslts/src/runtime/collections/functional/manipulation/todecimalstring.asl b/tests/aslts/src/runtime/collections/functional/manipulation/todecimalstring.asl
new file mode 100644
index 000000000..3490eecb3
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/manipulation/todecimalstring.asl
@@ -0,0 +1,210 @@
+/*
+ * 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.
+ */
+
+/*
+ * Data type conversion and manipulation
+ *
+ * Convert Data to Decimal String
+ */
+
+// Integer
+
+// 32-bit
+Name(p338, Package()
+{
+ 0,
+ 1,
+ 12,
+ 345,
+ 6789,
+ 12345,
+ 678901,
+ 2345678,
+ 90123456,
+ 789012345,
+ 4294967295,
+ 123456789,
+ 0xff,
+ 0xffff,
+ 0xffffffff,
+})
+
+Name(p339, Package()
+{
+ "0",
+ "1",
+ "12",
+ "345",
+ "6789",
+ "12345",
+ "678901",
+ "2345678",
+ "90123456",
+ "789012345",
+ "4294967295", // == "0xffffffff"
+ "123456789",
+ "255",
+ "65535",
+ "4294967295", // == "0xffffffff"
+})
+
+// 64-bit
+Name(p340, Package()
+{
+ 30123456790,
+ 123456789012,
+ 3456789012345,
+ 26789012346789,
+ 123456789012345,
+ 3789012345678901,
+ 23456789012345678,
+ 301234567890123456,
+ 1890123456789012345,
+ 18446744073709551615,
+ 0xffffffffffffffff,
+})
+
+Name(p341, Package()
+{
+ "30123456790",
+ "123456789012",
+ "3456789012345",
+ "26789012346789",
+ "123456789012345",
+ "3789012345678901",
+ "23456789012345678",
+ "301234567890123456",
+ "1890123456789012345",
+ "18446744073709551615",
+ "18446744073709551615", // == "0xffffffffffffffff"
+})
+
+// String
+Name(p344, Package()
+{
+ "",
+ "0123456789",
+ "ABCDEFGHIJKLMNOPQRSTUVWXYZ",
+ "abcdefghijklmnopqrstuvwxyz",
+ "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",
+ "!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*",
+})
+
+// Buffer
+Name(p342, Package()
+{
+ Buffer(9) {},
+ Buffer() {9, 7, 5, 3},
+ Buffer(1) {1},
+ Buffer(4) {1, 2, 3, 4},
+ Buffer(8) {1, 2, 3, 4, 5, 6, 7, 8},
+
+ // Results into 197 characters
+ Buffer(69) {
+ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
+ 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
+ 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
+ 65, 66, 67, 68, 69},
+ Buffer(57) {
+ 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
+ 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
+ 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,112,
+ 113,114,115,116,117,118,119,120,121,122,123,124,125,126},
+
+ // Results into 199 characters
+ Buffer(50) {
+ 127,128,
+ 129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,
+ 145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,
+ 161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176},
+ Buffer(50) {
+ 177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,
+ 193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,
+ 209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,
+ 225,226},
+
+ Buffer(30) {
+ 227,228,229,230,231,232,233,234,235,236,237,238,239,240,
+ 241,242,243,244,245,246,247,248,249,250,251,252,253,254,255, 0},
+
+ // Results into 200 characters
+ Buffer(100) {
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 11},
+ Buffer(51) {
+ 111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,
+ 111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,
+ 111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,
+ 111, 11, 1},
+})
+
+Name(p343, Package()
+{
+ "0,0,0,0,0,0,0,0,0",
+ "9,7,5,3",
+ "1",
+ "1,2,3,4",
+ "1,2,3,4,5,6,7,8",
+ "1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69",
+ "70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126",
+ "127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176",
+ "177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226",
+ "227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,0",
+ "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,11",
+ "111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,11,1",
+})
+
+// Run-method
+Method(TOD0)
+{
+ Name(ts, "TOD0")
+
+ Store("TEST: TOD0, Convert Data to Decimal String", Debug)
+
+ // From integer
+ if (LEqual(F64, 1)) {
+ m302(ts, 15, "p338", p338, p339, 3)
+ m302(ts, 11, "p340", p340, p341, 3)
+ } else {
+ m302(ts, 15, "p338", p338, p339, 3)
+ }
+
+ // From buffer
+ m302(ts, 12, "p342", p342, p343, 3)
+
+ // From string
+ m302(ts, 6, "p344", p344, p344, 3)
+}
diff --git a/tests/aslts/src/runtime/collections/functional/manipulation/tofrombcd.asl b/tests/aslts/src/runtime/collections/functional/manipulation/tofrombcd.asl
new file mode 100644
index 000000000..3f6507741
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/manipulation/tofrombcd.asl
@@ -0,0 +1,133 @@
+/*
+ * 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.
+ */
+
+/*
+ * Data type conversion and manipulation
+ *
+ * Convert Integer to BCD
+ * Convert BCD To Integer
+ */
+
+// 32-bit
+Name(p352, Package()
+{
+ 0,
+ 1,
+ 12,
+ 345,
+ 6789,
+ 12345,
+ 678901,
+ 2345678,
+ 90123456,
+ 99999999,
+ 0xff,
+ 0xffff,
+})
+
+Name(p353, Package()
+{
+ 0x0,
+ 0x1,
+ 0x12,
+ 0x345,
+ 0x6789,
+ 0x12345,
+ 0x678901,
+ 0x2345678,
+ 0x90123456,
+ 0x99999999,
+ 0x255,
+ 0x65535,
+})
+
+// 64-bit
+Name(p354, Package()
+{
+ 512346789,
+ 9999999999,
+ 10000000000,
+ 30123456790,
+ 123456789012,
+ 3456789012345,
+ 26789012346789,
+ 123456789012345,
+ 3789012345678901,
+ 9999999999999999,
+})
+
+Name(p355, Package()
+{
+ 0x512346789,
+ 0x9999999999,
+ 0x10000000000,
+ 0x30123456790,
+ 0x123456789012,
+ 0x3456789012345,
+ 0x26789012346789,
+ 0x123456789012345,
+ 0x3789012345678901,
+ 0x9999999999999999,
+})
+
+Method(BCD1)
+{
+ Name(ts, "BCD1")
+
+ Store("TEST: BCD1, Convert Integer to BCD", Debug)
+
+ if (LEqual(F64, 1)) {
+ m302(ts, 12, "p352", p352, p353, 5)
+ m302(ts, 10, "p354", p354, p355, 5)
+ } else {
+ m302(ts, 12, "p352", p352, p353, 5)
+ }
+}
+
+Method(BCD2)
+{
+ Name(ts, "BCD2")
+
+ Store("TEST: BCD2, Convert BCD To Integer", Debug)
+
+ if (LEqual(F64, 1)) {
+ m302(ts, 12, "p353", p353, p352, 6)
+ m302(ts, 10, "p355", p355, p354, 6)
+ } else {
+ m302(ts, 12, "p353", p353, p352, 6)
+ }
+}
+
+// Run-method
+Method(BCD0)
+{
+ BCD1()
+ BCD2()
+} \ No newline at end of file
diff --git a/tests/aslts/src/runtime/collections/functional/manipulation/tohexstring.asl b/tests/aslts/src/runtime/collections/functional/manipulation/tohexstring.asl
new file mode 100644
index 000000000..986f46d81
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/manipulation/tohexstring.asl
@@ -0,0 +1,199 @@
+/*
+ * 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.
+ */
+
+/*
+ * Data type conversion and manipulation
+ *
+ * Convert Data to Hexadecimal String
+ */
+
+// Integer
+
+// 32-bit
+Name(p346, Package()
+{
+ 0,
+ 0x1,
+ 0x83,
+ 0x456,
+ 0x8232,
+ 0xbcdef,
+ 0x123456,
+ 0x789abcd,
+ 0xffffffff,
+ 0x1234567,
+ 0xff,
+ 0xffff,
+})
+
+Name(p347, Package()
+{
+ "00000000",
+ "00000001",
+ "00000083",
+ "00000456",
+ "00008232",
+ "000BCDEF",
+ "00123456",
+ "0789ABCD",
+ "FFFFFFFF",
+ "01234567",
+ "000000FF",
+ "0000FFFF",
+})
+
+// 64-bit
+Name(p348, Package()
+{
+ 0,
+ 0x1,
+ 0x83,
+ 0x456,
+ 0x8232,
+ 0xbcdef,
+ 0x123456,
+ 0x789abcd,
+ 0xffffffff,
+ 0x1234567,
+ 0xff,
+ 0xffff,
+ 0x123456789,
+ 0x8123456789,
+ 0xabcdef01234,
+ 0x876543210abc,
+ 0x1234567abcdef,
+ 0x8234567abcdef1,
+ 0x6789abcdef01234,
+ 0x76543201f89abcde,
+ 0xf89abcde76543201,
+ 0xffffffffffffffff,
+ 0x0123456789abcdef,
+})
+
+Name(p349, Package()
+{
+ "0000000000000000",
+ "0000000000000001",
+ "0000000000000083",
+ "0000000000000456",
+ "0000000000008232",
+ "00000000000BCDEF",
+ "0000000000123456",
+ "000000000789ABCD",
+ "00000000FFFFFFFF",
+ "0000000001234567",
+ "00000000000000FF",
+ "000000000000FFFF",
+ "0000000123456789",
+ "0000008123456789",
+ "00000ABCDEF01234",
+ "0000876543210ABC",
+ "0001234567ABCDEF",
+ "008234567ABCDEF1",
+ "06789ABCDEF01234",
+ "76543201F89ABCDE",
+ "F89ABCDE76543201",
+ "FFFFFFFFFFFFFFFF",
+ "0123456789ABCDEF",
+})
+
+// Buffer
+Name(p350, Package()
+{
+ Buffer(9) {},
+ Buffer() {9, 7, 5, 3},
+ Buffer(1) {1},
+ Buffer(4) {1, 2, 3, 4},
+ Buffer(8) {1, 2, 3, 4, 5, 6, 7, 8},
+ Buffer(16) {
+ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16},
+
+ Buffer(55) {
+ 202,203,204,205,206,207,208,
+ 209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,
+ 225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,
+ 241,242,243,244,245,246,247,248,249,250,251,252,253,254,255, 0},
+
+ // All buffers below result in 200 characters strings
+
+ Buffer(67) {
+ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
+ 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
+ 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
+ 65, 66, 67},
+ Buffer(67) {
+ 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
+ 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
+ 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,112,
+ 113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,
+ 129,130,131,132,133,134},
+ Buffer(67) {
+ 135,136,137,138,139,140,141,142,143,144,
+ 145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,
+ 161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,
+ 177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,
+ 193,194,195,196,197,198,199,200,201},
+})
+
+Name(p351, Package()
+{
+ "00,00,00,00,00,00,00,00,00",
+ "09,07,05,03",
+ "01",
+ "01,02,03,04",
+ "01,02,03,04,05,06,07,08",
+ "01,02,03,04,05,06,07,08,09,0A,0B,0C,0D,0E,0F,10",
+ "CA,CB,CC,CD,CE,CF,D0,D1,D2,D3,D4,D5,D6,D7,D8,D9,DA,DB,DC,DD,DE,DF,E0,E1,E2,E3,E4,E5,E6,E7,E8,E9,EA,EB,EC,ED,EE,EF,F0,F1,F2,F3,F4,F5,F6,F7,F8,F9,FA,FB,FC,FD,FE,FF,00",
+ "01,02,03,04,05,06,07,08,09,0A,0B,0C,0D,0E,0F,10,11,12,13,14,15,16,17,18,19,1A,1B,1C,1D,1E,1F,20,21,22,23,24,25,26,27,28,29,2A,2B,2C,2D,2E,2F,30,31,32,33,34,35,36,37,38,39,3A,3B,3C,3D,3E,3F,40,41,42,43",
+ "44,45,46,47,48,49,4A,4B,4C,4D,4E,4F,50,51,52,53,54,55,56,57,58,59,5A,5B,5C,5D,5E,5F,60,61,62,63,64,65,66,67,68,69,6A,6B,6C,6D,6E,6F,70,71,72,73,74,75,76,77,78,79,7A,7B,7C,7D,7E,7F,80,81,82,83,84,85,86",
+ "87,88,89,8A,8B,8C,8D,8E,8F,90,91,92,93,94,95,96,97,98,99,9A,9B,9C,9D,9E,9F,A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,AB,AC,AD,AE,AF,B0,B1,B2,B3,B4,B5,B6,B7,B8,B9,BA,BB,BC,BD,BE,BF,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9",
+})
+
+// Run-method
+Method(TOH0)
+{
+ Name(ts, "TOH0")
+
+ Store("TEST: TOH0, Convert Data to Hexadecimal String", Debug)
+
+ // From integer
+ if (LEqual(F64, 1)) {
+ m302(ts, 23, "p348", p348, p349, 4)
+ } else {
+ m302(ts, 12, "p346", p346, p347, 4)
+ }
+
+ // From string
+ m302(ts, 6, "p344", p344, p344, 4)
+
+ // From buffer
+ m302(ts, 10, "p350", p350, p351, 4)
+}
diff --git a/tests/aslts/src/runtime/collections/functional/manipulation/tointeger.asl b/tests/aslts/src/runtime/collections/functional/manipulation/tointeger.asl
new file mode 100644
index 000000000..a25ce76a1
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/manipulation/tointeger.asl
@@ -0,0 +1,422 @@
+/*
+ * 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.
+ */
+
+/*
+ * Data type conversion and manipulation
+ */
+
+// Convert data to integer
+
+Name(z047, 47)
+
+// Integer
+
+// 32-bit
+Name(p300, Package()
+{
+ 0,
+ 0x81,
+ 0x8232,
+ 0x76543201,
+ 0xf89abcde,
+ 0xffffffff,
+})
+
+// 64-bit
+Name(p302, Package()
+{
+ 0x8123456789,
+ 0x8cdae2376890,
+ 0x76543201f89abcde,
+ 0xf89abcde76543201,
+ 0xffffffffffffffff,
+})
+
+// Hexadecimal numeric String
+
+// 32-bit
+Name(p304, Package()
+{
+ "0x0", // 0
+ "0x00",
+ "0x1",
+ "0x83",
+ "0x456",
+ "0x8232",
+ "0xbcdef",
+ "0x123456",
+ "0x789abcd",
+ "0xffffffff",
+ "0x01234567", // 10
+ "0X12345678",
+ "0x23456789",
+ "0x3456789a",
+ "0x456789ab",
+ "0x56789abc",
+ "0x6789abcd",
+ "0x789abcde",
+ "0x89abcdef",
+ "0x9abcdefA",
+ "0xabcdefAB", // 20
+ "0xbcdefABC",
+ "0xcdefABCD",
+ "0xdefABCDE",
+ "0xefABCDEF",
+ "0xfABCDEF0",
+ "0xABCDEF01",
+ "0xBCDEF012",
+ "0xCDEF0123",
+ "0xDEF01234",
+ "0xEF012345", // 30
+ "0xF0123456",
+})
+
+Name(p305, Package()
+{
+ 0,
+ 0,
+ 0x1,
+ 0x83,
+ 0x456,
+ 0x8232,
+ 0xbcdef,
+ 0x123456,
+ 0x789abcd,
+ 0xffffffff,
+ 0X1234567,
+ 0x12345678,
+ 0x23456789,
+ 0x3456789a,
+ 0x456789ab,
+ 0x56789abc,
+ 0x6789abcd,
+ 0x789abcde,
+ 0x89abcdef,
+ 0x9abcdefa,
+ 0xabcdefab,
+ 0xbcdefabc,
+ 0xcdefabcd,
+ 0xdefabcde,
+ 0xefabcdef,
+ 0xfabcdef0,
+ 0xabcdef01,
+ 0xbcdef012,
+ 0xcdef0123,
+ 0xdef01234,
+ 0xef012345,
+ 0xf0123456,
+})
+
+// 64-bit
+Name(p306, Package()
+{
+ "0x123456789", // 0
+ "0x8123456789",
+ "0xabcdef01234",
+ "0x876543210abc",
+ "0x1234567abcdef",
+ "0x8234567abcdef1",
+ "0x6789abcdef01234",
+ "0x76543201f89abcde",
+ "0xf89abcde76543201",
+ "0xffffffffffffffff",
+ "0X0123456789abcdef", // 10
+ "0x123456789abcdefA",
+ "0x23456789abcdefAB",
+ "0x3456789abcdefABC",
+ "0x456789abcdefABCD",
+ "0x56789abcdefABCDE",
+ "0x6789abcdefABCDEF",
+ "0x789abcdefABCDEF0",
+ "0x89abcdefABCDEF01",
+ "0x9abcdefABCDEF012",
+ "0xabcdefABCDEF0123", // 20
+ "0xbcdefABCDEF01234",
+ "0xcdefABCDEF012345",
+ "0xdefABCDEF0123456",
+ "0xefABCDEF01234567",
+ "0xfABCDEF012345678",
+ "0xABCDEF0123456789",
+ "0xBCDEF0123456789a",
+ "0xCDEF0123456789ab",
+ "0xDEF0123456789abc",
+ "0xEF0123456789abcd", // 30
+ "0xF0123456789abcde",
+})
+
+Name(p307, Package()
+{
+ 0x123456789,
+ 0x8123456789,
+ 0xabcdef01234,
+ 0x876543210abc,
+ 0x1234567abcdef,
+ 0x8234567abcdef1,
+ 0x6789abcdef01234,
+ 0x76543201f89abcde,
+ 0xf89abcde76543201,
+ 0xffffffffffffffff,
+ 0x0123456789abcdef,
+ 0x123456789abcdefa,
+ 0x23456789abcdefab,
+ 0x3456789abcdefabc,
+ 0x456789abcdefabcd,
+ 0x56789abcdefabcde,
+ 0x6789abcdefabcdef,
+ 0x789abcdefabcdef0,
+ 0x89abcdefabcdef01,
+ 0x9abcdefabcdef012,
+ 0xabcdefabcdef0123,
+ 0xbcdefabcdef01234,
+ 0xcdefabcdef012345,
+ 0xdefabcdef0123456,
+ 0xefabcdef01234567,
+ 0xfabcdef012345678,
+ 0xabcdef0123456789,
+ 0xbcdef0123456789a,
+ 0xcdef0123456789ab,
+ 0xdef0123456789abc,
+ 0xef0123456789abcd,
+ 0xf0123456789abcde,
+})
+
+// Decimal numeric String
+
+// 32-bit
+Name(p308, Package()
+{
+ "0",
+ "12",
+ "345",
+ "6789",
+ "12345",
+ "678901",
+ "2345678",
+ "90123456",
+ "789012345",
+ "4294967295", // == "0xffffffff"
+ "4294967295", // == "0xffffffff"
+ "0123456789",
+ "1234567890",
+ "2345678901",
+ "3456789012",
+ "1567890123",
+ "2678901234",
+ "3789012345",
+ "1890123456",
+ "2901234567",
+ "3012345678",
+})
+
+Name(p309, Package()
+{
+ 0,
+ 12,
+ 345,
+ 6789,
+ 12345,
+ 678901,
+ 2345678,
+ 90123456,
+ 789012345,
+ 4294967295,
+ 0xffffffff,
+ 123456789,
+ 1234567890,
+ 2345678901,
+ 3456789012,
+ 1567890123,
+ 2678901234,
+ 3789012345,
+ 1890123456,
+ 2901234567,
+ 3012345678,
+})
+
+// 64-bit
+Name(p310, Package()
+{
+ "30123456790",
+ "123456789012",
+ "3456789012345",
+ "26789012346789",
+ "123456789012345",
+ "3789012345678901",
+ "23456789012345678",
+ "301234567890123456",
+ "1890123456789012345",
+ "18446744073709551615", // == "0xffffffffffffffff"
+ "18446744073709551615", // == "0xffffffffffffffff"
+ "01234567890123456789",
+ "12345678901234567890",
+ "13456789012345678901",
+ "14567890123456789012",
+ "15678901231567890123",
+ "16789012342678901234",
+ "17890123453789012345",
+ "18301234561890123456",
+ "18012345672901234567",
+ "10123456783012345678",
+})
+
+Name(p311, Package()
+{
+ 30123456790,
+ 123456789012,
+ 3456789012345,
+ 26789012346789,
+ 123456789012345,
+ 3789012345678901,
+ 23456789012345678,
+ 301234567890123456,
+ 1890123456789012345,
+ 18446744073709551615,
+ 0xffffffffffffffff,
+ 1234567890123456789,
+ 12345678901234567890,
+ 13456789012345678901,
+ 14567890123456789012,
+ 15678901231567890123,
+ 16789012342678901234,
+ 17890123453789012345,
+ 18301234561890123456,
+ 18012345672901234567,
+ 10123456783012345678,
+})
+
+// Buffer
+
+// 32-bit
+Name(p312, Package()
+{
+ // buffer, 32-bit integer
+ Buffer(1) {0x81},
+ Buffer(2) {0x82, 0x83},
+ Buffer(3) {0x84, 0x85, 0x86},
+ Buffer(4) {0x87, 0x88, 0x89, 0x8a},
+ // for 32-bit mode only
+ Buffer(5) {0x8b, 0x8c, 0x8d, 0x8e, 0x8f},
+})
+
+Name(p313, Package()
+{
+ 0x81,
+ 0x8382,
+ 0x868584,
+ 0x8a898887,
+ 0x8e8d8c8b,
+})
+
+// 64-bit
+Name(p314, Package()
+{
+ Buffer(5) {0x85, 0x84, 0x83, 0x82, 0x81},
+ Buffer(6) {0x8b, 0x8a, 0x89, 0x88, 0x87, 0x86},
+ Buffer(7) {0x82, 0x81, 0x80, 0x8f, 0x8e, 0x8d, 0x8c},
+ Buffer(8) {0x8a, 0x89, 0x88, 0x87, 0x86, 0x85, 0x84, 0x83},
+ Buffer(9) {0x83, 0x82, 0x81, 0x80, 0x8f, 0x8e, 0x8d, 0x8c, 0x8b},
+})
+
+Name(p315, Package()
+{
+ // buffer, 32-bit integer
+ 0x8182838485,
+ 0x868788898a8b,
+ 0x8c8d8e8f808182,
+ 0x838485868788898a,
+ 0x8c8d8e8f80818283,
+})
+
+// Run-method
+Method(TOI0)
+{
+ Name(ts, "TOI0")
+
+ Store("TEST: TOI0, Convert data to integer", Debug)
+
+ // From integer
+ if (LEqual(F64, 1)) {
+ m302(ts, 6, "p300", p300, p300, 0)
+ m302(ts, 5, "p302", p302, p302, 0)
+ } else {
+ m302(ts, 6, "p300", p300, p300, 0)
+ }
+
+ // From hexadecimal numeric string
+ if (LEqual(F64, 1)) {
+ m302(ts, 32, "p304", p304, p305, 0)
+ m302(ts, 32, "p306", p306, p307, 0)
+ } else {
+ m302(ts, 32, "p304", p304, p305, 0)
+ }
+
+ // From decimal numeric string
+ if (LEqual(F64, 1)) {
+ m302(ts, 21, "p308", p308, p309, 0)
+ m302(ts, 21, "p310", p310, p311, 0)
+ } else {
+ m302(ts, 21, "p308", p308, p309, 0)
+ }
+
+ // From buffer
+ if (LEqual(F64, 1)) {
+ m302(ts, 4, "p312", p312, p313, 0)
+ m302(ts, 5, "p314", p314, p315, 0)
+ } else {
+ m302(ts, 5, "p312", p312, p313, 0)
+ }
+
+ // Suppression of zeroes
+
+ if (y602) {
+ CH03(ts, z047, 0, 0, 0)
+ Store("0x0123456789abcdefa", Local0)
+ ToInteger(Local0, Local2)
+ CH04(ts, 0, 34, z047, 1, 0, 0)
+
+ CH03(ts, z047, 2, 0, 0)
+ Store("0x000123456789abcdefa", Local0)
+ ToInteger(Local0, Local2)
+ CH04(ts, 0, 34, z047, 3, 0, 0)
+ } else {
+ Store("0x0123456789abcdefa", Local0)
+ Store(0x123456789abcdefa, Local1)
+ ToInteger(Local0, Local2)
+ if (LNotEqual(Local2, Local1)) {
+ err(ts, z047, 4, 0, 0, Local0, 0)
+ }
+
+ Store("0x000123456789abcdefa", Local0)
+ ToInteger(Local0, Local2)
+ if (LNotEqual(Local2, Local1)) {
+ err(ts, z047, 5, 0, 0, Local0, 0)
+ }
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/functional/manipulation/tostring.asl b/tests/aslts/src/runtime/collections/functional/manipulation/tostring.asl
new file mode 100644
index 000000000..1154f6097
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/manipulation/tostring.asl
@@ -0,0 +1,316 @@
+/*
+ * 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.
+ */
+
+/*
+ * Data type conversion and manipulation
+ *
+ * Convert Buffer To String
+ */
+
+Name(z048, 48)
+
+Name(p330, Package()
+{
+ Buffer(8) {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
+ Buffer(200) {
+ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
+ 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
+ 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
+ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
+ 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
+ 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,112,
+ 113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,
+ 129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,
+ 145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,
+ 161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,
+ 177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,
+ 193,194,195,196,197,198,199,200},
+ Buffer(8) {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
+ Buffer(128) {
+ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
+ 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
+ 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
+ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
+ 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
+ 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,112,
+ 113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128},
+ Buffer(8) {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
+ Buffer(16) {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16},
+ Buffer(8) {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
+ Buffer(8) {1, 2, 3, 4, 5, 6, 7, 8},
+ Buffer(8) {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
+ Buffer(4) {1, 2, 3, 4},
+ Buffer(8) {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
+ Buffer(1) {1},
+ Buffer(8) {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
+})
+
+Name(b330, Buffer(6) {200, 128, 16, 8, 4, 1})
+
+// Init buffer with the symbols 1-255
+Method(m303, 2) // buf, len
+{
+ Store(0, Local0)
+ While (LLess(Local0, arg1)) {
+ Mod(Add(Local0, 1), 256, Local1)
+ Store(Local1, Index(arg0, Local0))
+ Increment(Local0)
+ }
+}
+
+// Verify the contents of result string
+Method(m305, 5) // ts, string, len, err, case
+{
+ Store(0, Local0)
+ While (LLess(Local0, arg2)) {
+ Mod(Add(Local0, 1), 256, Local1)
+ if (LNotEqual(Derefof(Index(arg1, Local0)), Local1)) {
+ err(arg0, z048, arg3, 0, 0, Local0, arg4)
+ }
+ Increment(Local0)
+ }
+}
+
+// Verify type, length of the obtained string, call to m305
+Method(m307, 5) // ts, string, len, ts, err, case
+{
+ if (LNotequal(ObjectType(arg1), 2)) {
+ err(arg0, z048, arg3, 0, 0, arg2, "Type")
+ } else {
+ if (LNotEqual(Sizeof(arg1), arg2)) {
+ err(arg0, z048, arg3, 0, 0, arg2, "Sizeof")
+ } else {
+ m305(arg0, arg1, arg2, arg3, arg4)
+ }
+ }
+}
+
+// Check the surrounding control buffers are safe
+Method(m309, 3) // ts, indbuf, err
+{
+ // control buffer
+ Store(Derefof(Index(p330, arg1)), Local1)
+
+ Store(0, Local0)
+ While (LLess(Local0, 8)) {
+ if (LNotEqual(Derefof(Index(Local1, Local0)), 0xff)) {
+ err(arg0, z048, arg2, 0, 0, Local0, "buf8")
+ }
+ Increment(Local0)
+ }
+}
+
+// Check all positions of null character (0-200)
+Method(m30a, 1)
+{
+ Name(LENS, Buffer() {200, 199, 129, 128, 127, 9, 8, 7, 1, 0})
+
+ Name(BUF0, Buffer(255){})
+
+ // Buffer (255 bytes) initialized with non-zero bytes
+
+ m303(BUF0, 255)
+
+ Store(0, Local1)
+
+ While (LLess(Local1, 10)) {
+
+ // Fill zero byte in position specified by LENS
+
+ Store(Derefof(Index(LENS, Local1)), Local0)
+ Store(Derefof(Index(BUF0, Local0)), Local5)
+ Store(0, Index(BUF0, Local0))
+
+ // The contents of buffer is not more changed in checkings below
+
+ // Checking for unspecified Length parameter
+
+ // Invoke ToString without Length
+
+ Store(ToString(BUF0), Local2)
+ m307(arg0, Local2, Local0, 1, "Omit")
+
+ // Invoke ToString with Ones
+
+ ToString(BUF0, Ones, Local2)
+ m307(arg0, Local2, Local0, 2, "Ones")
+
+ // Checking for particular values of Length parameter (0, 32, 64...)
+
+ Store(0, Local3) // Length
+ While (LLess(Local3, 401)) {
+
+ Store(Local0, Local4) // expected size
+ if (LLess(Local3, Local4)) {
+ Store(Local3, Local4)
+ }
+
+ ToString(BUF0, Local3, Local2)
+ m307(arg0, Local2, Local4, 3, "Size")
+
+ Add(Local3, 32, Local3)
+ }
+
+ // Restore position specified by LENS
+
+ Store(Local5, Index(BUF0, Local0))
+ Increment(Local1)
+ }
+}
+
+Method(m333, 1)
+{
+ Store(0, Local0)
+ Store(ToString(DerefOf(Arg0)), Local0)
+ Store(Local0, Debug)
+}
+
+// Check Buffer->Length effective condition.
+// Don't put null characters. Check the surrounding
+// control buffers are safe.
+Method(m30b, 1)
+{
+ Name(Loc8, 0)
+
+ Store(0, Local5) // index of control buffer 1
+
+ While (LLess(Loc8, 6)) {
+
+ // Choose the buffer from package
+
+ Store(Derefof(Index(b330, Loc8)), Local0) // length
+ Multiply(Loc8, 2, Local1) // index of a buffer
+ Add(Local1, 1, Local1)
+ Add(Local1, 1, Local6) // index of control buffer 2
+ Store(Index(p330, Local1), Local4) // ref to test buffer
+
+ // Checking for unspecified Length parameter
+
+ // Invoke ToString without Length
+
+ Store(ToString(Derefof(Local4)), Local2)
+ m307(arg0, Local2, Local0, 4, "Omit")
+ m309(arg0, Local5, 4) // check control buffers
+ m309(arg0, Local6, 4)
+
+ // Invoke ToString with Ones
+
+ ToString(Derefof(Local4), Ones, Local2)
+ m307(arg0, Local2, Local0, 5, "Ones")
+ m309(arg0, Local5, 5) // check control buffers
+ m309(arg0, Local6, 5)
+
+ // Checking for particular values of Length parameter
+ // exceeding (by 0, 1, 2, 3, ... 8) the actual lengths of Buffer
+
+ Add(Local0, 9, Local7) // Max. Length
+
+ Store(Local0, Local3) // Length
+ While (LLess(Local3, Local7)) {
+
+ ToString(Derefof(Local4), Local3, Local2)
+ m307(arg0, Local2, Local0, 6, "Size")
+
+ m309(arg0, Local5, 6) // check control buffers
+ m309(arg0, Local6, 6)
+
+ Increment(Local3)
+ }
+ Store(Local6, Local5)
+
+ Increment(Loc8)
+ }
+}
+
+// Check zero length buffer, and, in passing,
+// dynamically allocated buffers.
+Method(m30c, 1)
+{
+ Name(LENS, Buffer() {200, 199, 1, 0})
+
+ Store(0, Local1)
+ While (LLess(Local1, 4)) {
+
+
+ // Allocate buffer dynamically and initialize it,
+ // don't put null characters.
+
+ Store(Derefof(Index(LENS, Local1)), Local0)
+ Store(Buffer(Local0){}, Local4)
+ m303(Local4, Local0)
+
+ // Checking for unspecified Length parameter
+
+ // Invoke ToString without Length
+
+ Store(ToString(Local4), Local2)
+ m307(arg0, Local2, Local0, 7, "Omit")
+
+ // Invoke ToString with Ones
+
+ ToString(Local4, Ones, Local2)
+ m307(arg0, Local2, Local0, 8, "Ones")
+
+
+ // Allocate buffer of +1 size and put null characters
+ // into the last byte.
+
+ Store(Buffer(Add(Local0, 1)){}, Local4)
+ m303(Local4, Local0)
+ Store(0, Index(Local4, Local0))
+
+ // Invoke ToString without Length
+
+ Store(ToString(Local4), Local2)
+ m307(arg0, Local2, Local0, 9, "Omit")
+
+ // Invoke ToString with Ones
+
+ ToString(Local4, Ones, Local2)
+ m307(arg0, Local2, Local0, 10, "Ones")
+
+ Increment(Local1)
+ }
+}
+
+// Run-method
+Method(TOS0)
+{
+ Name(ts, "TOS0")
+
+ Store("TEST: TOS0, Convert Buffer To String", Debug)
+
+ m30a(ts)
+ m30b(ts)
+ m30c(ts)
+}
+
diff --git a/tests/aslts/src/runtime/collections/functional/manipulation/touuid.asl b/tests/aslts/src/runtime/collections/functional/manipulation/touuid.asl
new file mode 100644
index 000000000..714793c32
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/manipulation/touuid.asl
@@ -0,0 +1,61 @@
+/*
+ * 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.
+ */
+
+/*
+ * Data type conversion and manipulation
+ */
+
+// Convert String to UUID Macro
+
+Name(p356, Package()
+{
+ ToUUID("0a1b2c3d-4e5f-6071-8293-a4b5c6d7e8f9"),
+ ToUUID("A0B1C2D3-E4F5-0617-2839-4A5B6C7D8E9F"),
+})
+
+Name(p357, Package()
+{
+ Buffer(16) {
+ 0x3d, 0x2c, 0x1b, 0x0a, 0x5f, 0x4e, 0x71, 0x60,
+ 0x82, 0x93, 0xa4, 0xb5, 0xc6, 0xd7, 0xe8, 0xf9},
+ Buffer(16) {
+ 0xd3, 0xc2, 0xb1, 0xa0, 0xf5, 0xe4, 0x17, 0x06,
+ 0x28, 0x39, 0x4a, 0x5b, 0x6c, 0x7d, 0x8e, 0x9f},
+})
+
+// Run-method
+Method(TOU0)
+{
+ Name(ts, "TOU0")
+
+ Store("TEST: TOU0, Convert String to UUID Macro", Debug)
+
+ m302(ts, 2, "p356", p356, p357, 7)
+}
diff --git a/tests/aslts/src/runtime/collections/functional/manipulation/unicode.asl b/tests/aslts/src/runtime/collections/functional/manipulation/unicode.asl
new file mode 100644
index 000000000..632922474
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/manipulation/unicode.asl
@@ -0,0 +1,103 @@
+/*
+ * 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.
+ */
+
+/*
+ * Data type conversion and manipulation
+ */
+
+// String To Unicode Conversion Macro
+
+Name(p358, Package()
+{
+ Unicode(""),
+ Unicode(" "),
+ Unicode("\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0A\x0B\x0C\x0D\x0E\x0F\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1A\x1B\x1C\x1D\x1E\x1F\x20\x21\x22\x23\x24\x25\x26\x27\x28\x29\x2A\x2B\x2C\x2D\x2E\x2F\x30\x31\x32\x33\x34\x35\x36\x37\x38\x39\x3A\x3B\x3C\x3D\x3E\x3F\x40\x41\x42\x43\x44\x45\x46\x47\x48\x49\x4A\x4B\x4C\x4D\x4E\x4F\x50\x51\x52\x53\x54\x55\x56\x57\x58\x59\x5A\x5B\x5C\x5D\x5E\x5F\x60\x61\x62\x63\x64\x65\x66\x67\x68\x69\x6A\x6B\x6C\x6D\x6E\x6F\x70\x71\x72\x73\x74\x75\x76\x77\x78\x79\x7A\x7B\x7C\x7D\x7E\x7F"),
+ Unicode("!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*"),
+})
+
+Name(p359, Package()
+{
+ Buffer(2) {0x00, 0x00},
+ Buffer(4) {0x20, 0x00, 0x00, 0x00},
+ Buffer(256) {
+ 0x01, 0x00, 0x02, 0x00, 0x03, 0x00, 0x04, 0x00, 0x05, 0x00, 0x06, 0x00, 0x07, 0x00, 0x08, 0x00,
+ 0x09, 0x00, 0x0a, 0x00, 0x0b, 0x00, 0x0c, 0x00, 0x0d, 0x00, 0x0e, 0x00, 0x0f, 0x00, 0x10, 0x00,
+ 0x11, 0x00, 0x12, 0x00, 0x13, 0x00, 0x14, 0x00, 0x15, 0x00, 0x16, 0x00, 0x17, 0x00, 0x18, 0x00,
+ 0x19, 0x00, 0x1a, 0x00, 0x1b, 0x00, 0x1c, 0x00, 0x1d, 0x00, 0x1e, 0x00, 0x1f, 0x00, 0x20, 0x00,
+ 0x21, 0x00, 0x22, 0x00, 0x23, 0x00, 0x24, 0x00, 0x25, 0x00, 0x26, 0x00, 0x27, 0x00, 0x28, 0x00,
+ 0x29, 0x00, 0x2a, 0x00, 0x2b, 0x00, 0x2c, 0x00, 0x2d, 0x00, 0x2e, 0x00, 0x2f, 0x00, 0x30, 0x00,
+ 0x31, 0x00, 0x32, 0x00, 0x33, 0x00, 0x34, 0x00, 0x35, 0x00, 0x36, 0x00, 0x37, 0x00, 0x38, 0x00,
+ 0x39, 0x00, 0x3a, 0x00, 0x3b, 0x00, 0x3c, 0x00, 0x3d, 0x00, 0x3e, 0x00, 0x3f, 0x00, 0x40, 0x00,
+ 0x41, 0x00, 0x42, 0x00, 0x43, 0x00, 0x44, 0x00, 0x45, 0x00, 0x46, 0x00, 0x47, 0x00, 0x48, 0x00,
+ 0x49, 0x00, 0x4a, 0x00, 0x4b, 0x00, 0x4c, 0x00, 0x4d, 0x00, 0x4e, 0x00, 0x4f, 0x00, 0x50, 0x00,
+ 0x51, 0x00, 0x52, 0x00, 0x53, 0x00, 0x54, 0x00, 0x55, 0x00, 0x56, 0x00, 0x57, 0x00, 0x58, 0x00,
+ 0x59, 0x00, 0x5a, 0x00, 0x5b, 0x00, 0x5c, 0x00, 0x5d, 0x00, 0x5e, 0x00, 0x5f, 0x00, 0x60, 0x00,
+ 0x61, 0x00, 0x62, 0x00, 0x63, 0x00, 0x64, 0x00, 0x65, 0x00, 0x66, 0x00, 0x67, 0x00, 0x68, 0x00,
+ 0x69, 0x00, 0x6a, 0x00, 0x6b, 0x00, 0x6c, 0x00, 0x6d, 0x00, 0x6e, 0x00, 0x6f, 0x00, 0x70, 0x00,
+ 0x71, 0x00, 0x72, 0x00, 0x73, 0x00, 0x74, 0x00, 0x75, 0x00, 0x76, 0x00, 0x77, 0x00, 0x78, 0x00,
+ 0x79, 0x00, 0x7a, 0x00, 0x7b, 0x00, 0x7c, 0x00, 0x7d, 0x00, 0x7e, 0x00, 0x7f, 0x00, 0x00, 0x00},
+ Buffer(402) {
+ 0x21, 0x00, 0x22, 0x00, 0x23, 0x00, 0x24, 0x00, 0x25, 0x00, 0x26, 0x00, 0x27, 0x00, 0x28, 0x00,
+ 0x29, 0x00, 0x2a, 0x00, 0x2b, 0x00, 0x2c, 0x00, 0x2d, 0x00, 0x2e, 0x00, 0x2f, 0x00, 0x30, 0x00,
+ 0x31, 0x00, 0x32, 0x00, 0x33, 0x00, 0x34, 0x00, 0x35, 0x00, 0x36, 0x00, 0x37, 0x00, 0x38, 0x00,
+ 0x39, 0x00, 0x3a, 0x00, 0x3b, 0x00, 0x3c, 0x00, 0x3d, 0x00, 0x3e, 0x00, 0x3f, 0x00, 0x40, 0x00,
+ 0x41, 0x00, 0x42, 0x00, 0x43, 0x00, 0x44, 0x00, 0x45, 0x00, 0x46, 0x00, 0x47, 0x00, 0x48, 0x00,
+ 0x49, 0x00, 0x4a, 0x00, 0x4b, 0x00, 0x4c, 0x00, 0x4d, 0x00, 0x4e, 0x00, 0x4f, 0x00, 0x50, 0x00,
+ 0x51, 0x00, 0x52, 0x00, 0x53, 0x00, 0x54, 0x00, 0x55, 0x00, 0x56, 0x00, 0x57, 0x00, 0x58, 0x00,
+ 0x59, 0x00, 0x5a, 0x00, 0x5b, 0x00, 0x5c, 0x00, 0x5d, 0x00, 0x5e, 0x00, 0x5f, 0x00, 0x60, 0x00,
+ 0x61, 0x00, 0x62, 0x00, 0x63, 0x00, 0x64, 0x00, 0x65, 0x00, 0x66, 0x00, 0x67, 0x00, 0x68, 0x00,
+ 0x69, 0x00, 0x6a, 0x00, 0x6b, 0x00, 0x6c, 0x00, 0x6d, 0x00, 0x6e, 0x00, 0x6f, 0x00, 0x70, 0x00,
+ 0x71, 0x00, 0x72, 0x00, 0x73, 0x00, 0x74, 0x00, 0x75, 0x00, 0x76, 0x00, 0x77, 0x00, 0x78, 0x00,
+ 0x79, 0x00, 0x7a, 0x00, 0x7b, 0x00, 0x7c, 0x00, 0x7d, 0x00, 0x7e, 0x00, 0x20, 0x00, 0x21, 0x00,
+ 0x22, 0x00, 0x23, 0x00, 0x24, 0x00, 0x25, 0x00, 0x26, 0x00, 0x27, 0x00, 0x28, 0x00, 0x29, 0x00,
+ 0x2a, 0x00, 0x2b, 0x00, 0x2c, 0x00, 0x2d, 0x00, 0x2e, 0x00, 0x2f, 0x00, 0x30, 0x00, 0x31, 0x00,
+ 0x32, 0x00, 0x33, 0x00, 0x34, 0x00, 0x35, 0x00, 0x36, 0x00, 0x37, 0x00, 0x38, 0x00, 0x39, 0x00,
+ 0x3a, 0x00, 0x3b, 0x00, 0x3c, 0x00, 0x3d, 0x00, 0x3e, 0x00, 0x3f, 0x00, 0x40, 0x00, 0x41, 0x00,
+ 0x42, 0x00, 0x43, 0x00, 0x44, 0x00, 0x45, 0x00, 0x46, 0x00, 0x47, 0x00, 0x48, 0x00, 0x49, 0x00,
+ 0x4a, 0x00, 0x4b, 0x00, 0x4c, 0x00, 0x4d, 0x00, 0x4e, 0x00, 0x4f, 0x00, 0x50, 0x00, 0x51, 0x00,
+ 0x52, 0x00, 0x53, 0x00, 0x54, 0x00, 0x55, 0x00, 0x56, 0x00, 0x57, 0x00, 0x58, 0x00, 0x59, 0x00,
+ 0x5a, 0x00, 0x5b, 0x00, 0x5c, 0x00, 0x5d, 0x00, 0x5e, 0x00, 0x5f, 0x00, 0x60, 0x00, 0x61, 0x00,
+ 0x62, 0x00, 0x63, 0x00, 0x64, 0x00, 0x65, 0x00, 0x66, 0x00, 0x67, 0x00, 0x68, 0x00, 0x69, 0x00,
+ 0x6a, 0x00, 0x6b, 0x00, 0x6c, 0x00, 0x6d, 0x00, 0x6e, 0x00, 0x6f, 0x00, 0x70, 0x00, 0x71, 0x00,
+ 0x72, 0x00, 0x73, 0x00, 0x74, 0x00, 0x75, 0x00, 0x76, 0x00, 0x77, 0x00, 0x78, 0x00, 0x79, 0x00,
+ 0x7a, 0x00, 0x7b, 0x00, 0x7c, 0x00, 0x7d, 0x00, 0x7e, 0x00, 0x20, 0x00, 0x21, 0x00, 0x22, 0x00,
+ 0x23, 0x00, 0x24, 0x00, 0x25, 0x00, 0x26, 0x00, 0x27, 0x00, 0x28, 0x00, 0x29, 0x00, 0x2a, 0x00,
+ 0x00, 0x00},
+})
+
+// Run-method
+Method(UNI0)
+{
+ Name(ts, "UNI0")
+
+ Store("TEST: UNI0, String To Unicode Conversion Macro", Debug)
+
+ m302(ts, 4, "p358", p358, p359, 8)
+}
diff --git a/tests/aslts/src/runtime/collections/functional/name/DECL.asl b/tests/aslts/src/runtime/collections/functional/name/DECL.asl
new file mode 100644
index 000000000..d98a22f94
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/name/DECL.asl
@@ -0,0 +1,37 @@
+/*
+ * 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.
+ */
+
+
+Include("../../../../runtime/collections/functional/name/name.asl")
+Include("../../../../runtime/collections/functional/name/package.asl")
+
+// Excluded until the bug 182 is fixed
+Include("../../../../runtime/collections/functional/name/method.asl")
+Include("../../../../runtime/collections/functional/name/function.asl")
diff --git a/tests/aslts/src/runtime/collections/functional/name/MAIN.asl b/tests/aslts/src/runtime/collections/functional/name/MAIN.asl
new file mode 100644
index 000000000..4a5209ce9
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/name/MAIN.asl
@@ -0,0 +1,59 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "name.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../runtime/cntl/DECL.asl")
+ Include("../../../../runtime/common/data.asl")
+ Include("../../../../runtime/common/dataproc.asl")
+ Include("../../../../runtime/collections/functional/name/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../runtime/collections/functional/name/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/functional/name/Makefile b/tests/aslts/src/runtime/collections/functional/name/Makefile
new file mode 100644
index 000000000..eaf0f5d8f
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/name/Makefile
@@ -0,0 +1,7 @@
+# name
+
+AMLMOD= name
+COLL= ../..
+
+TOP= $(COLL)/../../..
+include $(COLL)/Makefile.install
diff --git a/tests/aslts/src/runtime/collections/functional/name/RUN.asl b/tests/aslts/src/runtime/collections/functional/name/RUN.asl
new file mode 100644
index 000000000..dbba033a9
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/name/RUN.asl
@@ -0,0 +1,47 @@
+/*
+ * 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.
+ */
+
+
+if (STTT("Miscellaneous named object creation", TCLF, 9, W009)) {
+
+ PCG0()
+ NM00()
+
+ if (y182) {
+ NM01()
+ NM02()
+ } else {
+ SRMT("NM01")
+ BLCK()
+ SRMT("NM02")
+ BLCK()
+ }
+}
+FTTT()
diff --git a/tests/aslts/src/runtime/collections/functional/name/function.asl b/tests/aslts/src/runtime/collections/functional/name/function.asl
new file mode 100644
index 000000000..2a018003f
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/name/function.asl
@@ -0,0 +1,564 @@
+/*
+ * 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.
+ */
+
+/*
+ * Miscellaneous named object creation
+ */
+
+Name(z134, 134)
+
+/*
+ * This sub-test is intended to comprehensively verify
+ * the Function declaration syntax implementation.
+ *
+ * Declare the Function Control Method Objects of different,
+ * signature check that properly specified or default arguments
+ * values provide required functionality.
+ *
+ * The overall functionality of the Function Objects is indirectly
+ * verified by other tests as far as "Functions are equivalent to a
+ * Method that specifies NotSerialized".
+ *
+ * 17.5.49 Function (Declare Control Method)
+ * Syntax
+ * Function (FunctionName, ReturnType, ParameterTypes) {TermList}
+ *
+ * Validated Assertions:
+ *
+ * - Function declaration creates an Object in the ACPI
+ * namespace which can be referred by the specified FunctionName
+ * either to initiate its invocation or to obtain its AML Object
+ * type. Also FunctionName can be used to save a copy of the Object
+ * or a reference to it in another AML Object.
+ *
+ * - ASL compiler should allow only a Namestring data type in the
+ * FunctionName position.
+ *
+ * - ASL compiler should allow only an ObjectTypeKeyword or
+ * a comma-separated ObjectTypeKeywords enclosed with curly
+ * brackets (OTK package) in the ReturnType position. ReturnType
+ * is optional argument. If no ReturnType is specified, ReturnType
+ * UnknownObj is assumed.
+ * ObjectTypeKeyword := UnknownObj | IntObj | StrObj | BuffObj |
+ * PkgObj | FieldUnitObj | DeviceObj | EventObj |
+ * MethodObj | MutexObj | OpRegionObj | PowerResObj |
+ * ThermalZoneObj | BuffFieldObj | DDBHandleObj
+ *
+ * - ASL compiler should report an error when an actual Object specified
+ * to be returned is of inappropriate type.
+ *
+ * - ASL compiler should report an error when there is at least one
+ * control path in the method that returns no any actual Object.
+ *
+ * - ASL compiler should report an error when some different from
+ * UnknownObj ObjectType Keyword specified in the ReturnType position
+ * but no any actual Object specified to be returned.
+ *
+ * - ASL compiler should allow only an OTK package or a package
+ * containing OTK packages along with ObjectTypeKeywords in the
+ * ParameterTypes position.
+ *
+ * - ASL compiler should report an error when ParameterTypes is specified
+ * and the number of members in the ParameterTypes package exceeds 7.
+ *
+ * - If ParameterTypes is not specified, then the number of parameters
+ * is Zero.
+ *
+ * - ASL compiler should report an error when an actual Object
+ * specified to be a respective argument of the Method is of
+ * inappropriate type.
+ *
+ * - System software should execute a Function control method
+ * by referencing the objects in the Function body in order.
+ *
+ * - Function opens a name scope. All namespace references that occur
+ * during the method execution are relative to the Function package
+ * location.
+ *
+ * - All namespace objects created by a Function should be destroyed
+ * when Function execution exits.
+ *
+ */
+
+Scope(\_SB){
+ Function(m20d){}
+}
+
+Method(m20e)
+{
+ Name(ts, "m20e")
+
+ Method(m316)
+ {
+ Function(mm00) {Return ("\\m20e.m316.mm00")}
+ Method(\_SB.m20d.mm00) {Return ("\\_SB.m20d.mm00")}
+
+ m205(ts, 1, ObjectType(mm00), 8)
+ m205(ts, 2, mm00(), "\\m20e.m316.mm00")
+
+ m205(ts, 3, ObjectType(\m20e.m316.mm00), 8)
+ m205(ts, 4, \m20e.m316.mm00(), "\\m20e.m316.mm00")
+
+ m205(ts, 5, ObjectType(^m316.mm00), 8)
+ m205(ts, 6, ^m316.mm00(), "\\m20e.m316.mm00")
+
+ m205(ts, 7, ObjectType(\_SB.m20d.mm00), 8)
+ m205(ts, 8, \_SB.m20d.mm00(), "\\_SB.m20d.mm00")
+ }
+
+ Method(m317)
+ {
+ Function(mm10) {Return ("\\m20e.m317.mm10")}
+ Function(mm20, ) {Return ("\\m20e.m317.mm20")}
+ Function(mm30, , ) {Return ("\\m20e.m317.mm30")}
+
+ m205(ts, 9, ObjectType(mm10), 8)
+ m205(ts, 10, mm10(), "\\m20e.m317.mm10")
+
+ m205(ts, 11, ObjectType(mm20), 8)
+ m205(ts, 12, mm20(), "\\m20e.m317.mm20")
+
+ m205(ts, 13, ObjectType(mm30), 8)
+ if (y157) {
+ m205(ts, 14, mm30(), "\\m20e.m317.mm30")
+ }
+ }
+
+ // Integer
+ Name(INT0, 0xfedcba9876543210)
+
+ // String
+ Name(STR0, "source string")
+
+ // Buffer
+ Name(BUF0, Buffer(9){9,8,7,6,5,4,3,2,1})
+
+ // Initializer of Fields
+ Name(BUF2, Buffer(9){0x95,0x85,0x75,0x65,0x55,0x45,0x35,0x25,0x15})
+
+ // Base of Buffer Fields
+ Name(BUFZ, Buffer(48){})
+
+ // Package
+ Name(PAC0, Package(3) {
+ 0xfedcba987654321f,
+ "test package",
+ Buffer(9){19,18,17,16,15,14,13,12,11},
+ })
+
+ // Field Unit
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ FLU0, 69,
+ FLU2, 64,
+ FLU4, 32,
+ }
+
+ // Device
+ Device(DEV0) {Name(s000, "DEV0")}
+
+ // Event
+ Event(EVE0)
+
+ // Method
+ Function(mmM0) {Return ("ff0X")}
+
+ // Mutex
+ Mutex(MTX0, 0)
+
+ // Operation Region
+ OperationRegion(OPR0, SystemMemory, 0, 48)
+
+ // Power Resource
+ PowerResource(PWR0, 0, 0) {Name(s000, "PWR0")}
+
+ // Processor
+ Processor(CPU0, 0x0, 0xFFFFFFFF, 0x0) {Name(s000, "CPU0")}
+
+ // Thermal Zone
+ ThermalZone(TZN0) {Name(s000, "TZN0")}
+
+ // Buffer Field
+ Createfield(BUFZ, 0, 69, BFL0)
+ Createfield(BUFZ, 80, 64, BFL2)
+ Createfield(BUFZ, 160, 32, BFL4)
+
+ // DDBHandle
+ Name(DDB0, Ones)
+
+ // Reference
+ Name(ORF0, "ORF0")
+ Name(REF0, Package(1){})
+
+ Method(m318)
+ {
+ Function(mm00, UnknownObj, {IntObj}) {Add(Derefof(arg0), 1, arg0)}
+
+ Function(mm01, IntObj) {Return (INT0)}
+ Function(mm11, StrObj) {Return (INT0)}
+ Function(mm02, StrObj) {Return (STR0)}
+ Function(mm03, BuffObj) {Return (BUF0)}
+ Function(mm04, PkgObj) {Return (PAC0)}
+ Function(mm05, FieldUnitObj) {Return (FLU0)}
+ Function(mm06, DeviceObj) {Return (DEV0)}
+ Function(mm07, EventObj) {Return (EVE0)}
+ Function(mm08, MethodObj) {
+ CopyObject(MMM0, Local0)
+ Return (Local0)
+ }
+ Function(mm09, MutexObj) {Return (MTX0)}
+ Function(mm0a, OpRegionObj) {Return (OPR0)}
+ Function(mm0b, PowerResObj) {Return (PWR0)}
+ Function(mm0c, ProcessorObj) {Return (CPU0)}
+ Function(mm0d, ThermalZoneObj) {Return (TZN0)}
+ Function(mm0e, BuffFieldObj) {Return (BFL0)}
+ Function(mm0f, DDBHandleObj) {Return (DDB0)}
+
+// Formal declaration
+// Function(mm0g, DebugObj) {Return (Debug)}
+
+ Function(mm0h, IntObj) {Return (Refof(ORF0))}
+
+ Store(0xfedcba9876543210, Local0)
+ m205(ts, 15, ObjectType(mm00), 8)
+/*
+// Bug 148
+ mm00(Refof(Local0))
+ m205(ts, 16, Local0, 0xfedcba9876543211)
+*/
+
+ m205(ts, 17, ObjectType(mm01), 8)
+ m205(ts, 18, mm01(), INT0)
+
+ m205(ts, 19, ObjectType(mm02), 8)
+ m205(ts, 20, mm02(), STR0)
+
+ m205(ts, 21, ObjectType(mm03), 8)
+ m205(ts, 22, mm03(), BUF0)
+
+ m205(ts, 23, ObjectType(mm04), 8)
+ m205(ts, 24, mm04(), PAC0)
+
+ m205(ts, 25, ObjectType(mm05), 8)
+ m205(ts, 26, mm05(), FLU0)
+
+ m205(ts, 27, ObjectType(mm06), 8)
+ m205(ts, 28, mm06(), DEV0)
+
+ m205(ts, 29, ObjectType(mm07), 8)
+ m205(ts, 30, mm07(), EVE0)
+
+ m205(ts, 31, ObjectType(mm08), 8)
+ CopyObject(MMM0, Local0)
+ m205(ts, 32, mm08(), Local0)
+
+ m205(ts, 33, ObjectType(mm09), 8)
+ m205(ts, 34, mm09(), MTX0)
+
+ m205(ts, 35, ObjectType(mm0a), 8)
+ m205(ts, 36, mm0a(), OPR0)
+
+ m205(ts, 37, ObjectType(mm0b), 8)
+ m205(ts, 38, mm0b(), PWR0)
+
+ m205(ts, 39, ObjectType(mm0c), 8)
+ m205(ts, 40, mm0c(), CPU0)
+
+ m205(ts, 41, ObjectType(mm0d), 8)
+ if (y350) {
+ m205(ts, 42, mm0d(), TZN0)
+ }
+
+ m205(ts, 43, ObjectType(mm0e), 8)
+ m205(ts, 44, mm0e(), BFL0)
+
+ m205(ts, 45, ObjectType(mm0f), 8)
+ m205(ts, 46, mm0f(), DDB0)
+
+/*
+ m205(ts, 47, ObjectType(mm0g), 8)
+ m205(ts, 48, mm0g(), Debug)
+*/
+
+ m205(ts, 49, ObjectType(mm0h), 8)
+ m205(ts, 50, DeRefof(mm0h()), ORF0)
+ }
+
+ Method(m319)
+ {
+ Function(mm00, {IntObj, StrObj}) {Return (STR0)}
+ Function(mm01, {IntObj, StrObj, BuffObj, PkgObj,
+ FieldUnitObj, DeviceObj, EventObj, MethodObj,
+ MutexObj, OpRegionObj, PowerResObj, ProcessorObj,
+ ThermalZoneObj, BuffFieldObj, DDBHandleObj})
+ {Return (INT0)}
+
+ m205(ts, 51, ObjectType(mm00), 8)
+ m205(ts, 52, mm00(), STR0)
+
+ m205(ts, 53, ObjectType(mm01), 8)
+ m205(ts, 54, mm01(), INT0)
+ }
+
+ Method(m31a)
+ {
+ Name(Flag, Ones)
+
+ // List of types of the parameters contains the same keyword
+ Function(mm00, , IntObj) {Store(0, Flag)}
+ Function(mm01, , {IntObj}) {Store(1, Flag)}
+ Function(mm02, , {IntObj, IntObj}) {Store(2, Flag)}
+
+ Function(mm03, , {IntObj, IntObj, IntObj}) {Store(3, Flag)}
+ Function(mm04, , {IntObj, IntObj, IntObj, IntObj}) {Store(4, Flag)}
+ Function(mm05, , {IntObj, IntObj, IntObj, IntObj,
+ IntObj}) {Store(5, Flag)}
+ Function(mm06, , {IntObj, IntObj, IntObj, IntObj,
+ IntObj, IntObj}) {Store(6, Flag)}
+ Function(mm07, , {IntObj, IntObj, IntObj, IntObj,
+ IntObj, IntObj, IntObj}) {Store(7, Flag)}
+
+ // List of types of the parameters contains the UnknownObj keyword
+ Function(mm08, , UnknownObj) {Store(8, Flag)}
+ Function(mm09, , {UnknownObj}) {Store(9, Flag)}
+ Function(mm0a, , {UnknownObj, UnknownObj, UnknownObj, UnknownObj,
+ UnknownObj, UnknownObj, UnknownObj}) {Store(10, Flag)}
+
+ // List of types of the parameters contains different keywords
+ Function(mm10, , {IntObj, StrObj}) {Store(16, Flag)}
+ Function(mm11, , {IntObj, BuffObj}) {Store(17, Flag)}
+ Function(mm12, , {StrObj, BuffObj}) {Store(18, Flag)}
+ Function(mm13, , {IntObj, StrObj, BuffObj}) {Store(19, Flag)}
+ Function(mm14, , {IntObj, StrObj, BuffObj, PkgObj}) {Store(20, Flag)}
+ Function(mm15, , {IntObj, StrObj, BuffObj, PkgObj,
+ FieldUnitObj}) {Store(21, Flag)}
+ Function(mm16, , {IntObj, StrObj, BuffObj, PkgObj,
+ FieldUnitObj, DeviceObj}) {Store(22, Flag)}
+ Function(mm17, , {IntObj, StrObj, BuffObj, PkgObj,
+ FieldUnitObj, DeviceObj, EventObj}) {Store(23, Flag)}
+ Function(mm18, , {MethodObj, MutexObj, OpRegionObj, PowerResObj,
+ ThermalZoneObj, BuffFieldObj, DDBHandleObj}) {Store(24, Flag)}
+
+ // List of types of the parameters contains keyword packages
+ // along with different keywords
+ Function(mm20, , {{IntObj}}) {Store(32, Flag)}
+ Function(mm21, , {{IntObj, StrObj}}) {Store(33, Flag)}
+/*
+// Bug 148
+ Function(mm22, , {{IntObj, StrObj, BuffObj, PkgObj,
+ FieldUnitObj, DeviceObj, EventObj, MethodObj,
+ MutexObj, OpRegionObj, PowerResObj, ProcessorObj,
+ ThermalZoneObj, BuffFieldObj, DDBHandleObj}}) {Store(34, Flag)}
+*/
+ Function(mm23, , {{IntObj}, IntObj}) {Store(35, Flag)}
+ Function(mm24, , {{IntObj}, StrObj}) {Store(36, Flag)}
+ Function(mm25, , {{IntObj}, BuffObj}) {Store(37, Flag)}
+ Function(mm26, , {{IntObj}, {IntObj}}) {Store(38, Flag)}
+ Function(mm27, , {{IntObj}, {StrObj}}) {Store(39, Flag)}
+ Function(mm28, , {{IntObj}, {BuffObj}}) {Store(40, Flag)}
+ Function(mm29, , {{StrObj}, {BuffObj}}) {Store(41, Flag)}
+
+/*
+// Bug 148
+ Function(mm3a, , {
+ {IntObj, StrObj, BuffObj, PkgObj, FieldUnitObj, DeviceObj, EventObj, MethodObj,
+ MutexObj, OpRegionObj, PowerResObj, ThermalZoneObj, BuffFieldObj, DDBHandleObj},
+ {IntObj, StrObj, BuffObj, PkgObj, FieldUnitObj, DeviceObj, EventObj, MethodObj,
+ MutexObj, OpRegionObj, PowerResObj, ThermalZoneObj, BuffFieldObj, DDBHandleObj},
+ {IntObj, StrObj, BuffObj, PkgObj, FieldUnitObj, DeviceObj, EventObj, MethodObj,
+ MutexObj, OpRegionObj, PowerResObj, ThermalZoneObj, BuffFieldObj, DDBHandleObj},
+ {IntObj, StrObj, BuffObj, PkgObj, FieldUnitObj, DeviceObj, EventObj, MethodObj,
+ MutexObj, OpRegionObj, PowerResObj, ThermalZoneObj, BuffFieldObj, DDBHandleObj},
+ {IntObj, StrObj, BuffObj, PkgObj, FieldUnitObj, DeviceObj, EventObj, MethodObj,
+ MutexObj, OpRegionObj, PowerResObj, ThermalZoneObj, BuffFieldObj, DDBHandleObj},
+ {IntObj, StrObj, BuffObj, PkgObj, FieldUnitObj, DeviceObj, EventObj, MethodObj,
+ MutexObj, OpRegionObj, PowerResObj, ThermalZoneObj, BuffFieldObj, DDBHandleObj},
+ {IntObj, StrObj, BuffObj, PkgObj, FieldUnitObj, DeviceObj, EventObj, MethodObj,
+ MutexObj, OpRegionObj, PowerResObj, ThermalZoneObj, BuffFieldObj, DDBHandleObj},
+ }) {Store(42, Flag)}
+*/
+
+/*
+// Bug 148
+ // List of types of the parameters contains the same keyword
+
+ m205(ts, 55, ObjectType(mm00), 8)
+ mm00(1)
+ m205(ts, 56, Flag, 0)
+
+ m205(ts, 57, ObjectType(mm01), 8)
+ mm01(1)
+ m205(ts, 58, Flag, 1)
+
+ m205(ts, 59, ObjectType(mm02), 8)
+ mm02(1, 2)
+ m205(ts, 60, Flag, 2)
+
+ m205(ts, 61, ObjectType(mm03), 8)
+ mm03(1, 2, 3)
+ m205(ts, 62, Flag, 3)
+
+ m205(ts, 63, ObjectType(mm04), 8)
+ mm04(1, 2, 3, 4)
+ m205(ts, 64, Flag, 4)
+
+ m205(ts, 65, ObjectType(mm05), 8)
+ mm05(1, 2, 3, 4, 5)
+ m205(ts, 66, Flag, 5)
+
+ m205(ts, 67, ObjectType(mm06), 8)
+ mm06(1, 2, 3, 4, 5, 6)
+ m205(ts, 68, Flag, 6)
+
+ m205(ts, 69, ObjectType(mm07), 8)
+ mm07(1, 2, 3, 4, 5, 6, 7)
+ m205(ts, 70, Flag, 7)
+
+ // List of types of the parameters contains the UnknownObj keyword
+
+ m205(ts, 71, ObjectType(mm08), 8)
+ mm08(1)
+ m205(ts, 72, Flag, 8)
+
+ m205(ts, 73, ObjectType(mm09), 8)
+ mm09(1)
+ m205(ts, 74, Flag, 9)
+
+ m205(ts, 75, ObjectType(mm0a), 8)
+ mm08(1, 2, 3, 4, 5, 6, 7)
+ m205(ts, 76, Flag, 10)
+
+ // List of types of the parameters contains different keywords
+
+ m205(ts, 77, ObjectType(mm10), 8)
+ mm10(1, 2)
+ m205(ts, 78, Flag, 16)
+
+ m205(ts, 79, ObjectType(mm11), 8)
+ mm11(1, 2)
+ m205(ts, 80, Flag, 17)
+
+ m205(ts, 81, ObjectType(mm12), 8)
+ mm12(1, 2)
+ m205(ts, 82, Flag, 18)
+
+ m205(ts, 83, ObjectType(mm13), 8)
+ mm13(1, 2, 3)
+ m205(ts, 84, Flag, 19)
+
+ m205(ts, 85, ObjectType(mm14), 8)
+ mm14(1, 2, 3, 4)
+ m205(ts, 86, Flag, 20)
+
+ m205(ts, 87, ObjectType(mm15), 8)
+ mm15(1, 2, 3, 4, 5)
+ m205(ts, 88, Flag, 21)
+
+ m205(ts, 89, ObjectType(mm16), 8)
+ mm16(1, 2, 3, 4, 5, 6)
+ m205(ts, 90, Flag, 22)
+
+ m205(ts, 91, ObjectType(mm17), 8)
+ mm17(1, 2, 3, 4, 5, 6, 7)
+ m205(ts, 92, Flag, 23)
+
+ m205(ts, 93, ObjectType(mm18), 8)
+ mm18(1, 2, 3, 4, 5, 6, 7)
+ m205(ts, 94, Flag, 24)
+
+ // List of types of the parameters contains keyword packages
+ // along with different keywords
+
+ m205(ts, 95, ObjectType(mm20), 8)
+ mm20(1)
+ m205(ts, 96, Flag, 32)
+
+ m205(ts, 97, ObjectType(mm21), 8)
+ mm21(1)
+ m205(ts, 98, Flag, 33)
+
+ m205(ts, 99, ObjectType(mm22), 8)
+ mm22(1)
+ m205(ts, 100, Flag, 34)
+
+ m205(ts, 101, ObjectType(mm23), 8)
+ mm23(1, 2)
+ m205(ts, 102, Flag, 35)
+
+ m205(ts, 103, ObjectType(mm24), 8)
+ mm24(1, 2)
+ m205(ts, 104, Flag, 36)
+
+ m205(ts, 105, ObjectType(mm25), 8)
+ mm25(1, 2)
+ m205(ts, 106, Flag, 37)
+
+ m205(ts, 107, ObjectType(mm26), 8)
+ mm26(1, 2)
+ m205(ts, 108, Flag, 38)
+
+ m205(ts, 109, ObjectType(mm27), 8)
+ mm27(1, 2)
+ m205(ts, 110, Flag, 39)
+
+ m205(ts, 149, ObjectType(mm28), 8)
+ mm28(1, 2)
+ m205(ts, 111, Flag, 40)
+
+ m205(ts, 112, ObjectType(mm29), 8)
+ mm29(1, 2)
+ m205(ts, 113, Flag, 41)
+
+ m205(ts, 114, ObjectType(mm2a), 8)
+ mm2a(1, 2, 3, 4, 5, 6, 7)
+ m205(ts, 115, Flag, 42)
+*/
+ }
+
+ SRMT("m316")
+ m316()
+ SRMT("m317")
+ m317()
+ SRMT("m318")
+ m318()
+ SRMT("m319")
+ m319()
+ SRMT("m31a")
+ m31a()
+}
+
+// Run-method
+Method(NM02)
+{
+ Store("TEST: NM02, Declare Function Control Method Named Object", Debug)
+
+ m20e()
+
+ CH03("NM02", z134, 116, 0, 0)
+}
diff --git a/tests/aslts/src/runtime/collections/functional/name/method.asl b/tests/aslts/src/runtime/collections/functional/name/method.asl
new file mode 100644
index 000000000..07f2d49f6
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/name/method.asl
@@ -0,0 +1,1092 @@
+/*
+ * 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.
+ */
+
+/*
+ * Miscellaneous named object creation
+ */
+
+Name(z133, 133)
+
+/*
+ * This sub-test is intended to comprehensively verify
+ * the Control Method declaration syntax implementation.
+ *
+ * Declare the Control Method Objects of different signature,
+ * check that properly specified or default arguments values
+ * provide required functionality.
+ *
+ * 17.5.75 Method (Declare Control Method)
+ * Syntax
+ * Method (MethodName, NumArgs, SerializeRule, SyncLevel,
+ * ReturnType, ParameterTypes) {TermList}
+ *
+ * Validated Assertions:
+ *
+ * - Control Method declaration creates an Object in the ACPI
+ * namespace which can be referred by the specified MethodName
+ * either to initiate its invocation or to obtain its AML Object
+ * type. Also MethodName can be used to save a copy of the Object
+ * or a reference to it in another AML Object.
+ *
+ * - ASL compiler should allow only a Namestring data type in the
+ * MethodName position.
+ *
+ * - ASL compiler should allow only an Type3Opcode (integer) constant
+ * expression of the value in the range 0-7 in the NumArgs position.
+ * NumArgs is optional argument.
+ *
+ * - ASL compiler should allow only the keywords 'NotSerialized'
+ * and 'Serialized' in the SerializeRule position. SerializeRule
+ * is optional argument.
+ *
+ * - ASL compiler should allow only an Type3Opcode (integer) constant
+ * expression of the value in the range 0-15 in the SyncLevel position.
+ * SyncLevel is optional argument. If no SyncLevel is specified, SyncLevel
+ * 0 is assumed.
+ *
+ * - ASL compiler should allow only an ObjectTypeKeyword or
+ * a comma-separated ObjectTypeKeywords enclosed with curly
+ * brackets (OTK package) in the ReturnType position. ReturnType
+ * is optional argument. If no ReturnType is specified, ReturnType
+ * UnknownObj is assumed.
+ * ObjectTypeKeyword := UnknownObj | IntObj | StrObj | BuffObj |
+ * PkgObj | FieldUnitObj | DeviceObj | EventObj |
+ * MethodObj | MutexObj | OpRegionObj | PowerResObj |
+ * ThermalZoneObj | BuffFieldObj | DDBHandleObj
+ *
+ * - Every ASL data type should have a respective unique ObjectType Keyword.
+ *
+ * - ASL compiler should report an error when an actual Object specified
+ * to be returned is of inappropriate type.
+ *
+ * - ASL compiler should report an error when there is at least one
+ * control path in the method that returns no any actual Object.
+ *
+ * - ASL compiler should report an error when some different from
+ * UnknownObj ObjectType Keyword specified in the ReturnType position
+ * but no any actual Object specified to be returned.
+ *
+ * - ASL compiler should allow only an OTK package or a package
+ * containing OTK packages along with ObjectTypeKeywords in the
+ * ParameterTypes position.
+ *
+ * - ASL compiler should report an error when ParameterTypes is specified
+ * and the number of members in the ParameterTypes package don't match
+ * NumArgs.
+ *
+ * - ASL compiler should report an error when an actual Object
+ * specified to be a respective argument of the Method is of
+ * inappropriate type.
+ *
+ * - System software should execute a control method by referencing
+ * the objects in the Method body in order.
+ *
+ * - Method opens a name scope. All namespace references that occur
+ * during the method execution are relative to the Method package
+ * location.
+ *
+ * - If the method is declared as Serialized, it can be called
+ * recursively, maybe, through another auxiliary method.
+ *
+ * - One method declared as Serialized can call another
+ * one declared as Serialized too when the SyncLevel of
+ * the second method is not less than that of the first.
+ *
+ * - The method declared as Serialized can acquire an Mutex
+ * when the SyncLevel of the Mutex is not less than that of
+ * the method.
+ *
+ * - If some method acquired an Mutex it can call another one
+ * declared as Serialized when the SyncLevel of the called
+ * method is not less than that of the Mutex.
+ *
+ * - All Acquire terms must refer to a synchronization object
+ * with an equal or greater SyncLevel to the current Method level.
+ *
+ * - The method declared as Serialized can release an Mutex
+ * when the SyncLevel of the Mutex is not less than that of
+ * the method.
+ *
+ * - All namespace objects created by a method should be destroyed
+ * when method execution exits.
+ *
+ */
+
+// Flags of types of Computational Data Objects
+// (Fields and Integer, String, Buffer)
+Name(bz00, Buffer() {0,1,1,1,0,1,0,0,0,0,0,0,0,0,1,0,0,0})
+
+// Check Result of operation on equal to Benchmark value
+// m680(<method name>,
+// <internal type of error if it occurs>,
+// <Result>,
+// <Benchmark value>)
+Method(m205, 4)
+{
+ Store(ObjectType(arg2), Local0)
+ Store(ObjectType(arg3), Local1)
+ if (LNotEqual(Local0, Local1)) {
+ err(Concatenate(arg0, "-OType"), z133, arg1, 0, 0, Local0, Local1)
+ Return (1)
+ } elseif (Derefof(Index(bz00, Local0))) {
+ if (LNot(y119)) {
+ if (LEqual(Local1, 1)) {
+ // Cast 64-bit to 32-bit
+ if (LNot(F64)) {
+ Store(arg3, arg3)
+ }
+ }
+ }
+ if (LNotEqual(arg2, arg3)) {
+ err(arg0, z133, arg1, 0, 0, arg2, arg3)
+ Return (1)
+ }
+ } elseif (LEqual(Local0, 8)) {
+ // Methods, compare the results of them
+ Store(m209(Concatenate(arg0, "-Method"), arg1, arg2, arg3), Local2)
+ Return (Local2)
+ } elseif (LEqual(Local0, 4)) {
+ // Packages
+ Store(m20a(Concatenate(arg0, "-Pack"), arg1, arg2, arg3), Local2)
+ Return (Local2)
+ }
+ Return (0)
+}
+
+// Check that Results of the Methods are equal each other
+Method(m209, 4)
+{
+ Name(MMM0, 0)
+ Name(MMM1, 0)
+
+ CopyObject(arg2, MMM0)
+ CopyObject(arg3, MMM1)
+
+ Return (m205(arg0, arg1, MMM0, MMM1))
+}
+
+// Check that two Packages are equal each other
+Method(m20a, 4)
+{
+ Store(Sizeof(arg3), Local0)
+ if (LNotEqual(Sizeof(arg2), Local0)) {
+ err(Concatenate(arg0, "-Size"), z133, arg1, 0, 0, Sizeof(arg2), Local0)
+ Return (1)
+ }
+ While (Local0) {
+ Decrement(Local0)
+ Store(ObjectType(Derefof(Index(arg2, Local0))), Local1)
+ Store(ObjectType(Derefof(Index(arg3, Local0))), Local2)
+ if (LNotEqual(Local1, Local2)) {
+ // ObjectType is corrupted
+ err(Concatenate(arg0, "-OType"), z133, arg1, 0, 0, Local1, Local2)
+ Return (1)
+ } elseif (Derefof(Index(bz00, Local1))) {
+ // the computational data type
+ if (LNotEqual(
+ Derefof(Index(arg2, Local0)),
+ Derefof(Index(arg3, Local0)))) {
+ // The value is corrupted
+ err(arg0, z133, arg1, 0, 0, Derefof(Index(arg2, Local0)), Derefof(Index(arg3, Local0)))
+ Return (1)
+ }
+ }
+ }
+ Return (0)
+}
+
+Scope(\_SB){
+ Method(m206){}
+}
+
+Method(m207)
+{
+ Name(ts, "m207")
+
+ Method(m240)
+ {
+ Method(mm00) {Return ("\\m207.m240.mm00")}
+ Method(\_SB.m206.mm00) {Return ("\\_SB.m206.mm00")}
+
+ m205(ts, 1, ObjectType(mm00), 8)
+ m205(ts, 2, mm00(), "\\m207.m240.mm00")
+
+ m205(ts, 3, ObjectType(\m207.m240.mm00), 8)
+ m205(ts, 4, \m207.m240.mm00(), "\\m207.m240.mm00")
+
+ m205(ts, 5, ObjectType(^m240.mm00), 8)
+ m205(ts, 6, ^m240.mm00(), "\\m207.m240.mm00")
+
+ m205(ts, 7, ObjectType(\_SB.m206.mm00), 8)
+ m205(ts, 8, \_SB.m206.mm00(), "\\_SB.m206.mm00")
+ }
+
+ Method(m241)
+ {
+ Method(mm10) {Return ("\\m207.m241.mm10")}
+ Method(mm20, ) {Return ("\\m207.m241.mm20")}
+ Method(mm30, , ) {Return ("\\m207.m241.mm30")}
+ Method(mm40, , , ) {Return ("\\m207.m241.mm40")}
+ Method(mm50, , , , ) {Return ("\\m207.m241.mm50")}
+ Method(mm60, , , , , ) {Return ("\\m207.m241.mm60")}
+
+ Method(mm00, 0) {Return ("\\m207.m241.mm00")}
+ Method(mm01, 1) {Return ("\\m207.m241.mm01")}
+ Method(mm02, 2) {Return ("\\m207.m241.mm02")}
+ Method(mm03, 3) {Return ("\\m207.m241.mm03")}
+ Method(mm04, 4) {Return ("\\m207.m241.mm04")}
+ Method(mm05, 5) {Return ("\\m207.m241.mm05")}
+ Method(mm06, 6) {Return ("\\m207.m241.mm06")}
+ Method(mm07, 7) {Return ("\\m207.m241.mm07")}
+
+ // Numargs as Type3Opcode (integer) constant expression
+// Invalid checksum warning
+// Method(mm09, Add(6, 1)) {Return ("\\m207.m241.mm09")}
+
+ m205(ts, 9, ObjectType(mm10), 8)
+ m205(ts, 10, mm10(), "\\m207.m241.mm10")
+
+ m205(ts, 11, ObjectType(mm20), 8)
+ m205(ts, 12, mm20(), "\\m207.m241.mm20")
+
+ m205(ts, 13, ObjectType(mm30), 8)
+ m205(ts, 14, mm30(), "\\m207.m241.mm30")
+
+ m205(ts, 15, ObjectType(mm40), 8)
+ m205(ts, 16, mm40(), "\\m207.m241.mm40")
+
+ m205(ts, 17, ObjectType(mm50), 8)
+ m205(ts, 18, mm50(), "\\m207.m241.mm50")
+
+ m205(ts, 19, ObjectType(mm60), 8)
+
+ if (y157) {
+ m205(ts, 20, mm60(), "\\m207.m241.mm60")
+ }
+
+ m205(ts, 21, ObjectType(mm00), 8)
+ m205(ts, 22, mm00(), "\\m207.m241.mm00")
+
+ m205(ts, 23, ObjectType(mm01), 8)
+ m205(ts, 24, mm01(0), "\\m207.m241.mm01")
+
+ m205(ts, 25, ObjectType(mm02), 8)
+ m205(ts, 26, mm02(0, 1), "\\m207.m241.mm02")
+
+ m205(ts, 27, ObjectType(mm03), 8)
+ m205(ts, 28, mm03(0, 1, 2), "\\m207.m241.mm03")
+
+ m205(ts, 29, ObjectType(mm04), 8)
+ m205(ts, 30, mm04(0, 1, 2, 3), "\\m207.m241.mm04")
+
+ m205(ts, 31, ObjectType(mm05), 8)
+ m205(ts, 32, mm05(0, 1, 2, 3, 4), "\\m207.m241.mm05")
+
+ m205(ts, 33, ObjectType(mm06), 8)
+ m205(ts, 34, mm06(0, 1, 2, 3, 4, 5), "\\m207.m241.mm06")
+
+ m205(ts, 35, ObjectType(mm07), 8)
+ m205(ts, 36, mm07(0, 1, 2, 3, 4, 5, 6), "\\m207.m241.mm07")
+
+// Invalid checksum warning
+// m205(ts, 37, ObjectType(mm09), 8)
+// Too many arguments ^ (MM09 requires 0)
+// m205(ts, 38, mm09(0, 1, 2, 3, 4, 5, 6), "\\m207.m241.mm09")
+ }
+
+ Method(m242)
+ {
+ Method(mm10, , NotSerialized) {Return ("\\m207.m242.mm10")}
+ Method(mm20, , Serialized) {Return ("\\m207.m242.mm20")}
+ Method(mm30, , NotSerialized, ) {Return ("\\m207.m242.mm30")}
+ Method(mm40, , Serialized, , ) {Return ("\\m207.m242.mm40")}
+ Method(mm50, , NotSerialized, , , ) {Return ("\\m207.m242.mm50")}
+ Method(mm60, , Serialized, , , ) {Return ("\\m207.m242.mm60")}
+
+ Method(mm00, 0, Serialized, 0) {Return ("\\m207.m242.mm00")}
+ Method(mm01, 1, Serialized, 1) {Return ("\\m207.m242.mm01")}
+ Method(mm02, 2, Serialized, 2) {Return ("\\m207.m242.mm02")}
+ Method(mm03, 3, Serialized, 3) {Return ("\\m207.m242.mm03")}
+ Method(mm04, 4, Serialized, 4) {Return ("\\m207.m242.mm04")}
+ Method(mm05, 5, Serialized, 5) {Return ("\\m207.m242.mm05")}
+ Method(mm06, 6, Serialized, 6) {Return ("\\m207.m242.mm06")}
+ Method(mm07, 7, Serialized, 7) {Return ("\\m207.m242.mm07")}
+ Method(mm08, 0, Serialized, 8) {Return ("\\m207.m242.mm08")}
+ Method(mm09, 1, Serialized, 9) {Return ("\\m207.m242.mm09")}
+ Method(mm0a, 2, Serialized, 10) {Return ("\\m207.m242.mm0a")}
+ Method(mm0b, 3, Serialized, 11) {Return ("\\m207.m242.mm0b")}
+ Method(mm0c, 4, Serialized, 12) {Return ("\\m207.m242.mm0c")}
+ Method(mm0d, 5, Serialized, 13) {Return ("\\m207.m242.mm0d")}
+ Method(mm0e, 6, Serialized, 14) {Return ("\\m207.m242.mm0e")}
+ Method(mm0f, 7, Serialized, 15) {Return ("\\m207.m242.mm0f")}
+
+ // Numargs as Type3Opcode (integer) constant expression
+// Invalid checksum warning
+// Method(mm70, Add(6, 1), NotSerialized) {Return ("\\m207.m242.mm70")}
+
+ // SyncLevel as Type3Opcode (integer) constant expression
+ Method(mm80, 7, Serialized, Add(14, 1)) {Return ("\\m207.m242.mm80")}
+
+ // Both Numargs and SyncLevel as Type3Opcode (integer) constant expressions
+// Invalid checksum warning
+// Method(mm90, Add(6, 1), Serialized, Add(14, 1)) {Return ("\\m207.m242.mm90")}
+
+ m205(ts, 39, ObjectType(mm10), 8)
+ m205(ts, 40, mm10(), "\\m207.m242.mm10")
+
+ m205(ts, 41, ObjectType(mm10), 8)
+ m205(ts, 42, mm20(), "\\m207.m242.mm20")
+
+ m205(ts, 43, ObjectType(mm10), 8)
+ m205(ts, 44, mm30(), "\\m207.m242.mm30")
+
+ m205(ts, 45, ObjectType(mm10), 8)
+ m205(ts, 46, mm40(), "\\m207.m242.mm40")
+
+ m205(ts, 47, ObjectType(mm10), 8)
+ if (y157) {
+ m205(ts, 48, mm50(), "\\m207.m242.mm50")
+ }
+
+ m205(ts, 49, ObjectType(mm10), 8)
+ if (y157) {
+ m205(ts, 50, mm60(), "\\m207.m242.mm60")
+ }
+
+ m205(ts, 51, ObjectType(mm00), 8)
+ m205(ts, 52, mm00(), "\\m207.m242.mm00")
+
+ m205(ts, 53, ObjectType(mm01), 8)
+ m205(ts, 54, mm01(0), "\\m207.m242.mm01")
+
+ m205(ts, 55, ObjectType(mm02), 8)
+ m205(ts, 56, mm02(0, 1), "\\m207.m242.mm02")
+
+ m205(ts, 57, ObjectType(mm03), 8)
+ m205(ts, 58, mm03(0, 1, 2), "\\m207.m242.mm03")
+
+ m205(ts, 59, ObjectType(mm04), 8)
+ m205(ts, 60, mm04(0, 1, 2, 3), "\\m207.m242.mm04")
+
+ m205(ts, 61, ObjectType(mm05), 8)
+ m205(ts, 62, mm05(0, 1, 2, 3, 4), "\\m207.m242.mm05")
+
+ m205(ts, 63, ObjectType(mm06), 8)
+ m205(ts, 64, mm06(0, 1, 2, 3, 4, 5), "\\m207.m242.mm06")
+
+ m205(ts, 65, ObjectType(mm07), 8)
+ m205(ts, 66, mm07(0, 1, 2, 3, 4, 5, 6), "\\m207.m242.mm07")
+
+ m205(ts, 67, ObjectType(mm00), 8)
+ m205(ts, 68, mm08(), "\\m207.m242.mm08")
+
+ m205(ts, 69, ObjectType(mm01), 8)
+ m205(ts, 70, mm09(0), "\\m207.m242.mm09")
+
+ m205(ts, 71, ObjectType(mm02), 8)
+ m205(ts, 72, mm0a(0, 1), "\\m207.m242.mm0a")
+
+ m205(ts, 73, ObjectType(mm03), 8)
+ m205(ts, 74, mm0b(0, 1, 2), "\\m207.m242.mm0b")
+
+ m205(ts, 75, ObjectType(mm04), 8)
+ m205(ts, 76, mm0c(0, 1, 2, 3), "\\m207.m242.mm0c")
+
+ m205(ts, 77, ObjectType(mm05), 8)
+ m205(ts, 78, mm0d(0, 1, 2, 3, 4), "\\m207.m242.mm0d")
+
+ m205(ts, 79, ObjectType(mm06), 8)
+ m205(ts, 80, mm0e(0, 1, 2, 3, 4, 5), "\\m207.m242.mm0e")
+
+ m205(ts, 81, ObjectType(mm07), 8)
+ m205(ts, 82, mm0f(0, 1, 2, 3, 4, 5, 6), "\\m207.m242.mm0f")
+
+// Invalid checksum warning
+// m205(ts, 83, ObjectType(mm70), 8)
+// Too many arguments ^ (MM70 requires 0)
+// m205(ts, 84, mm70(0, 1, 2, 3, 4, 5, 6), "\\m207.m242.mm70")
+
+ m205(ts, 85, ObjectType(mm80), 8)
+// Outstanding allocations
+// m205(ts, 86, mm80(0, 1, 2, 3, 4, 5, 6), "\\m207.m242.mm80")
+
+// Invalid checksum warning
+// m205(ts, 87, ObjectType(mm90), 8)
+// Too many arguments ^ (MM90 requires 0)
+// m205(ts, 88, mm90(0, 1, 2, 3, 4, 5, 6), "\\m207.m242.mm90")
+ }
+
+ // Integer
+ Name(INT0, 0xfedcba9876543210)
+
+ // String
+ Name(STR0, "source string")
+
+ // Buffer
+ Name(BUF0, Buffer(9){9,8,7,6,5,4,3,2,1})
+
+ // Initializer of Fields
+ Name(BUF2, Buffer(9){0x95,0x85,0x75,0x65,0x55,0x45,0x35,0x25,0x15})
+
+ // Base of Buffer Fields
+ Name(BUFZ, Buffer(48){})
+
+ // Package
+ Name(PAC0, Package(3) {
+ 0xfedcba987654321f,
+ "test package",
+ Buffer(9){19,18,17,16,15,14,13,12,11},
+ })
+
+ // Field Unit
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ FLU0, 69,
+ FLU2, 64,
+ FLU4, 32,
+ }
+
+ // Device
+ Device(DEV0) {Name(s000, "DEV0")}
+
+ // Event
+ Event(EVE0)
+
+ // Method
+ Method(MMM0) {Return ("ff0X")}
+
+ // Mutex
+ Mutex(MTX0, 0)
+
+ // Operation Region
+ OperationRegion(OPR0, SystemMemory, 0, 48)
+
+ // Power Resource
+ PowerResource(PWR0, 0, 0) {Name(s000, "PWR0")}
+
+ // Processor
+ Processor(CPU0, 0x0, 0xFFFFFFFF, 0x0) {Name(s000, "CPU0")}
+
+ // Thermal Zone
+ ThermalZone(TZN0) {Name(s000, "TZN0")}
+
+ // Buffer Field
+ Createfield(BUFZ, 0, 69, BFL0)
+ Createfield(BUFZ, 80, 64, BFL2)
+ Createfield(BUFZ, 160, 32, BFL4)
+
+ // DDBHandle
+ Name(DDB0, Ones)
+
+ // Reference
+ Name(ORF0, "ORF0")
+ Name(REF0, Package(1){})
+
+ Method(m243)
+ {
+ Method(mm00, 1, , , UnknownObj) {Add(Derefof(arg0), 1, arg0)}
+
+ Method(mm01, , , , IntObj) {Return (INT0)}
+ Method(mm11, , , , StrObj) {Return (INT0)}
+ Method(mm02, , , , StrObj) {Return (STR0)}
+ Method(mm03, , , , BuffObj) {Return (BUF0)}
+ Method(mm04, , , , PkgObj) {Return (PAC0)}
+ Method(mm05, , , , FieldUnitObj) {Return (FLU0)}
+ Method(mm06, , , , DeviceObj) {Return (DEV0)}
+ Method(mm07, , , , EventObj) {Return (EVE0)}
+ Method(mm08, , , , MethodObj) {
+ CopyObject(MMM0, Local0)
+ Return (Local0)
+ }
+ Method(mm09, , , , MutexObj) {Return (MTX0)}
+ Method(mm0a, , , , OpRegionObj) {Return (OPR0)}
+ Method(mm0b, , , , PowerResObj) {Return (PWR0)}
+ Method(mm0c, , , , ProcessorObj) {Return (CPU0)}
+ Method(mm0d, , , , ThermalZoneObj) {Return (TZN0)}
+ Method(mm0e, , , , BuffFieldObj) {Return (BFL0)}
+ Method(mm0f, , , , DDBHandleObj) {Return (DDB0)}
+
+ // Formal declaration
+ // Method(mm0g, , , , DebugObj) {Return (Debug)}
+
+ Method(mm0h, , , , IntObj) {Return (Refof(ORF0))}
+
+ Store(0xfedcba9876543210, Local0)
+ m205(ts, 89, ObjectType(mm00), 8)
+ mm00(Refof(Local0))
+ m205(ts, 90, Local0, 0xfedcba9876543211)
+
+ m205(ts, 91, ObjectType(mm01), 8)
+ m205(ts, 92, mm01(), INT0)
+
+ m205(ts, 93, ObjectType(mm02), 8)
+ m205(ts, 94, mm02(), STR0)
+
+ m205(ts, 95, ObjectType(mm03), 8)
+ m205(ts, 96, mm03(), BUF0)
+
+ m205(ts, 97, ObjectType(mm04), 8)
+ m205(ts, 98, mm04(), PAC0)
+
+ m205(ts, 99, ObjectType(mm05), 8)
+ m205(ts, 100, mm05(), FLU0)
+
+ m205(ts, 101, ObjectType(mm06), 8)
+ m205(ts, 102, mm06(), DEV0)
+
+ m205(ts, 103, ObjectType(mm07), 8)
+ m205(ts, 104, mm07(), EVE0)
+
+ m205(ts, 105, ObjectType(mm08), 8)
+ CopyObject(MMM0, Local0)
+ m205(ts, 106, mm08(), Local0)
+
+ m205(ts, 107, ObjectType(mm09), 8)
+ m205(ts, 108, mm09(), MTX0)
+
+ m205(ts, 109, ObjectType(mm0a), 8)
+ m205(ts, 110, mm0a(), OPR0)
+
+ m205(ts, 111, ObjectType(mm0b), 8)
+ m205(ts, 112, mm0b(), PWR0)
+
+ m205(ts, 113, ObjectType(mm0c), 8)
+ m205(ts, 114, mm0c(), CPU0)
+
+ m205(ts, 115, ObjectType(mm0d), 8)
+
+ if (y350) {
+ m205(ts, 116, mm0d(), TZN0)
+ }
+
+ m205(ts, 117, ObjectType(mm0e), 8)
+ m205(ts, 118, mm0e(), BFL0)
+
+ m205(ts, 119, ObjectType(mm0f), 8)
+ m205(ts, 120, mm0f(), DDB0)
+
+ /*
+ m205(ts, 121, ObjectType(mm0g), 8)
+ m205(ts, 122, mm0g(), Debug)
+ */
+
+ m205(ts, 123, ObjectType(mm0h), 8)
+ m205(ts, 124, DeRefof(mm0h()), ORF0)
+ }
+
+ Method(m244)
+ {
+ Method(mm00, , , , {IntObj, StrObj}) {Return (STR0)}
+ Method(mm01, , , , {IntObj, StrObj, BuffObj, PkgObj,
+ FieldUnitObj, DeviceObj, EventObj, MethodObj,
+ MutexObj, OpRegionObj, PowerResObj, /*ProcessorObj,*/
+ ThermalZoneObj, BuffFieldObj, DDBHandleObj})
+ {Return (INT0)}
+
+ m205(ts, 125, ObjectType(mm00), 8)
+ m205(ts, 126, mm00(), STR0)
+
+ m205(ts, 127, ObjectType(mm01), 8)
+ m205(ts, 128, mm01(), INT0)
+ }
+
+ Method(m245)
+ {
+ Name(Flag, Ones)
+
+ // List of types of the parameters contains the same keyword
+ Method(mm00, 1, , , , IntObj) {Store(0, Flag)}
+ Method(mm01, 1, , , , {IntObj}) {Store(1, Flag)}
+ Method(mm02, 2, , , , {IntObj, IntObj}) {Store(2, Flag)}
+ Method(mm03, 3, , , , {IntObj, IntObj, IntObj}) {Store(3, Flag)}
+ Method(mm04, 4, , , , {IntObj, IntObj, IntObj, IntObj}) {Store(4, Flag)}
+ Method(mm05, 5, , , , {IntObj, IntObj, IntObj, IntObj,
+ IntObj}) {Store(5, Flag)}
+ Method(mm06, 6, , , , {IntObj, IntObj, IntObj, IntObj,
+ IntObj, IntObj}) {Store(6, Flag)}
+ Method(mm07, 7, , , , {IntObj, IntObj, IntObj, IntObj,
+ IntObj, IntObj, IntObj}) {Store(7, Flag)}
+
+ // List of types of the parameters contains the UnknownObj keyword
+ Method(mm08, 1, , , , UnknownObj) {Store(8, Flag)}
+ Method(mm09, 1, , , , {UnknownObj}) {Store(9, Flag)}
+ Method(mm0a, 7, , , , {UnknownObj, UnknownObj, UnknownObj, UnknownObj,
+ UnknownObj, UnknownObj, UnknownObj}) {Store(10, Flag)}
+
+ // List of types of the parameters contains different keywords
+ Method(mm10, 2, , , , {IntObj, StrObj}) {Store(16, Flag)}
+ Method(mm11, 2, , , , {IntObj, BuffObj}) {Store(17, Flag)}
+ Method(mm12, 2, , , , {StrObj, BuffObj}) {Store(18, Flag)}
+ Method(mm13, 3, , , , {IntObj, StrObj, BuffObj}) {Store(19, Flag)}
+ Method(mm14, 4, , , , {IntObj, StrObj, BuffObj, PkgObj}) {Store(20, Flag)}
+ Method(mm15, 5, , , , {IntObj, StrObj, BuffObj, PkgObj,
+ FieldUnitObj}) {Store(21, Flag)}
+ Method(mm16, 6, , , , {IntObj, StrObj, BuffObj, PkgObj,
+ FieldUnitObj, DeviceObj}) {Store(22, Flag)}
+ Method(mm17, 7, , , , {IntObj, StrObj, BuffObj, PkgObj,
+ FieldUnitObj, DeviceObj, EventObj}) {Store(23, Flag)}
+ Method(mm18, 7, , , , {MethodObj, MutexObj, OpRegionObj, PowerResObj,
+ ThermalZoneObj, BuffFieldObj, DDBHandleObj}) {Store(24, Flag)}
+
+ // List of types of the parameters contains keyword packages
+ // along with different keywords
+ Method(mm20, 1, , , , {{IntObj}}) {Store(32, Flag)}
+ Method(mm21, 1, , , , {{IntObj, StrObj}}) {Store(33, Flag)}
+/*
+// Bug 148
+ Method(mm22, 1, , , , {{IntObj, StrObj, BuffObj, PkgObj,
+ FieldUnitObj, DeviceObj, EventObj, MethodObj,
+ MutexObj, OpRegionObj, PowerResObj, //ProcessorObj,
+ ThermalZoneObj, BuffFieldObj, DDBHandleObj}}) {Store(34, Flag)}
+*/
+ Method(mm23, 2, , , , {{IntObj}, IntObj}) {Store(35, Flag)}
+ Method(mm24, 2, , , , {{IntObj}, StrObj}) {Store(36, Flag)}
+ Method(mm25, 2, , , , {{IntObj}, BuffObj}) {Store(37, Flag)}
+ Method(mm26, 2, , , , {{IntObj}, {IntObj}}) {Store(38, Flag)}
+ Method(mm27, 2, , , , {{IntObj}, {StrObj}}) {Store(39, Flag)}
+ Method(mm28, 2, , , , {{IntObj}, {BuffObj}}) {Store(40, Flag)}
+ Method(mm29, 2, , , , {{StrObj}, {BuffObj}}) {Store(41, Flag)}
+/*
+// Bug 148
+ Method(mm2a, 7, , , , {
+ {IntObj, StrObj, BuffObj, PkgObj, FieldUnitObj, DeviceObj, EventObj, MethodObj,
+ MutexObj, OpRegionObj, PowerResObj, ThermalZoneObj, BuffFieldObj, DDBHandleObj},
+ {IntObj, StrObj, BuffObj, PkgObj, FieldUnitObj, DeviceObj, EventObj, MethodObj,
+ MutexObj, OpRegionObj, PowerResObj, ThermalZoneObj, BuffFieldObj, DDBHandleObj},
+ {IntObj, StrObj, BuffObj, PkgObj, FieldUnitObj, DeviceObj, EventObj, MethodObj,
+ MutexObj, OpRegionObj, PowerResObj, ThermalZoneObj, BuffFieldObj, DDBHandleObj},
+ {IntObj, StrObj, BuffObj, PkgObj, FieldUnitObj, DeviceObj, EventObj, MethodObj,
+ MutexObj, OpRegionObj, PowerResObj, ThermalZoneObj, BuffFieldObj, DDBHandleObj},
+ {IntObj, StrObj, BuffObj, PkgObj, FieldUnitObj, DeviceObj, EventObj, MethodObj,
+ MutexObj, OpRegionObj, PowerResObj, ThermalZoneObj, BuffFieldObj, DDBHandleObj},
+ {IntObj, StrObj, BuffObj, PkgObj, FieldUnitObj, DeviceObj, EventObj, MethodObj,
+ MutexObj, OpRegionObj, PowerResObj, ThermalZoneObj, BuffFieldObj, DDBHandleObj},
+ {IntObj, StrObj, BuffObj, PkgObj, FieldUnitObj, DeviceObj, EventObj, MethodObj,
+ MutexObj, OpRegionObj, PowerResObj, ThermalZoneObj, BuffFieldObj, DDBHandleObj},
+ }) {Store(42, Flag)}
+*/
+
+ // List of types of the parameters contains the same keyword
+
+ m205(ts, 129, ObjectType(mm00), 8)
+ mm00(1)
+ m205(ts, 130, Flag, 0)
+
+ m205(ts, 131, ObjectType(mm01), 8)
+ mm01(1)
+ m205(ts, 132, Flag, 1)
+
+ m205(ts, 133, ObjectType(mm02), 8)
+ mm02(1, 2)
+ m205(ts, 134, Flag, 2)
+
+ m205(ts, 135, ObjectType(mm03), 8)
+ mm03(1, 2, 3)
+ m205(ts, 136, Flag, 3)
+
+ m205(ts, 137, ObjectType(mm04), 8)
+ mm04(1, 2, 3, 4)
+ m205(ts, 138, Flag, 4)
+
+ m205(ts, 139, ObjectType(mm05), 8)
+ mm05(1, 2, 3, 4, 5)
+ m205(ts, 140, Flag, 5)
+
+ m205(ts, 141, ObjectType(mm06), 8)
+ mm06(1, 2, 3, 4, 5, 6)
+ m205(ts, 142, Flag, 6)
+
+ m205(ts, 143, ObjectType(mm07), 8)
+ mm07(1, 2, 3, 4, 5, 6, 7)
+ m205(ts, 144, Flag, 7)
+
+
+ // List of types of the parameters contains the UnknownObj keyword
+
+ m205(ts, 145, ObjectType(mm08), 8)
+ mm08(1)
+ m205(ts, 146, Flag, 8)
+
+ m205(ts, 147, ObjectType(mm09), 8)
+ mm09(1)
+ m205(ts, 148, Flag, 9)
+
+ m205(ts, 149, ObjectType(mm0a), 8)
+ mm0a(1, 2, 3, 4, 5, 6, 7)
+ m205(ts, 150, Flag, 10)
+
+ // List of types of the parameters contains different keywords
+
+ m205(ts, 151, ObjectType(mm10), 8)
+ mm10(1, 2)
+ m205(ts, 152, Flag, 16)
+
+ m205(ts, 153, ObjectType(mm11), 8)
+ mm11(1, 2)
+ m205(ts, 154, Flag, 17)
+
+ m205(ts, 155, ObjectType(mm12), 8)
+ mm12(1, 2)
+ m205(ts, 156, Flag, 18)
+
+ m205(ts, 157, ObjectType(mm13), 8)
+ mm13(1, 2, 3)
+ m205(ts, 158, Flag, 19)
+
+ m205(ts, 159, ObjectType(mm14), 8)
+ mm14(1, 2, 3, 4)
+ m205(ts, 160, Flag, 20)
+
+ m205(ts, 161, ObjectType(mm15), 8)
+ mm15(1, 2, 3, 4, 5)
+ m205(ts, 162, Flag, 21)
+
+ m205(ts, 163, ObjectType(mm16), 8)
+ mm16(1, 2, 3, 4, 5, 6)
+ m205(ts, 164, Flag, 22)
+
+ m205(ts, 165, ObjectType(mm17), 8)
+ mm17(1, 2, 3, 4, 5, 6, 7)
+ m205(ts, 166, Flag, 23)
+
+ m205(ts, 167, ObjectType(mm18), 8)
+ mm18(1, 2, 3, 4, 5, 6, 7)
+ m205(ts, 168, Flag, 24)
+
+
+ // List of types of the parameters contains keyword packages
+ // along with different keywords
+
+ m205(ts, 169, ObjectType(mm20), 8)
+ mm20(1)
+ m205(ts, 170, Flag, 32)
+
+ m205(ts, 171, ObjectType(mm21), 8)
+ mm21(1)
+ m205(ts, 172, Flag, 33)
+
+/*
+// Bug 148
+ m205(ts, 173, ObjectType(mm22), 8)
+ mm22(1)
+ m205(ts, 174, Flag, 34)
+*/
+
+ m205(ts, 175, ObjectType(mm23), 8)
+ mm23(1, 2)
+ m205(ts, 176, Flag, 35)
+
+ m205(ts, 177, ObjectType(mm24), 8)
+ mm24(1, 2)
+ m205(ts, 178, Flag, 36)
+
+ m205(ts, 179, ObjectType(mm25), 8)
+ mm25(1, 2)
+ m205(ts, 180, Flag, 37)
+
+ m205(ts, 181, ObjectType(mm26), 8)
+ mm26(1, 2)
+ m205(ts, 182, Flag, 38)
+
+ m205(ts, 183, ObjectType(mm27), 8)
+ mm27(1, 2)
+ m205(ts, 184, Flag, 39)
+
+ m205(ts, 185, ObjectType(mm28), 8)
+ mm28(1, 2)
+ m205(ts, 186, Flag, 40)
+
+ m205(ts, 187, ObjectType(mm29), 8)
+ mm29(1, 2)
+ m205(ts, 188, Flag, 41)
+
+/*
+// Bug 148
+ m205(ts, 189, ObjectType(mm2a), 8)
+ mm2a(1, 2, 3, 4, 5, 6, 7)
+ m205(ts, 190, Flag, 42)
+*/
+ }
+
+ // UnSerialized Method can be invoked recursively
+ Method(m246)
+ {
+ Name(i000, 0)
+
+ Method(mm00, 1)
+ {
+ Increment(i000)
+
+ if (arg0) {
+ mm01()
+ }
+ }
+
+ Method(mm01) {mm00(0)}
+
+ Store(0, i000)
+ mm00(0)
+ m205(ts, 191, i000, 1)
+
+ Store(0, i000)
+ mm00(1)
+ m205(ts, 192, i000, 2)
+ }
+
+ // Serialized Method can be invoked recursively
+ Method(m247)
+ {
+ Name(i000, 0)
+
+ Method(mm00, 1, Serialized, 0)
+ {
+ Increment(i000)
+
+ if (arg0) {
+ mm01()
+ }
+ }
+
+ Method(mm01) {mm00(0)}
+
+ Store(0, i000)
+ mm00(0)
+ m205(ts, 193, i000, 1)
+
+ Store(0, i000)
+ mm00(1)
+ m205(ts, 194, i000, 2)
+ }
+
+ // Serialized Method can invoke another Serialized One
+ // if SyncLevel is not lowered
+ Method(m248)
+ {
+ Name(i000, 0)
+
+ Method(mm00, 1, Serialized, 0)
+ {
+ Increment(i000)
+
+ if (arg0) {
+ mm01()
+ }
+ }
+
+ Method(mm01, 0, Serialized, 15)
+ {
+ Increment(i000)
+ }
+
+ Store(0, i000)
+ mm00(0)
+ m205(ts, 195, i000, 1)
+
+ Store(0, i000)
+ mm00(1)
+ m205(ts, 196, i000, 2)
+ }
+
+ // Serialized Method can acquire an Mutex
+ // if SyncLevel is not lowered
+ Method(m249)
+ {
+ Mutex(MTX0, 15)
+ Name(i000, 0)
+
+ Method(mm00, 1, Serialized, 0)
+ {
+ Increment(i000)
+
+ if (arg0) {
+ Store(Acquire(MTX0, 0), Local0)
+ if (LNot(m205(ts, 197, Local0, Zero))) {
+ Increment(i000)
+ Release(MTX0)
+ }
+ }
+ }
+
+ Store(0, i000)
+ mm00(0)
+ m205(ts, 198, i000, 1)
+
+ Store(0, i000)
+ mm00(1)
+ m205(ts, 199, i000, 2)
+ }
+
+ // When Serialized Method calls another one then
+ // the last can acquire an Mutex if SyncLevel is not lowered
+ Method(m24a)
+ {
+ Mutex(MTX1, 15)
+ Name(i000, 0)
+
+ Method(mm00, 1, Serialized, 0)
+ {
+ Increment(i000)
+
+ if (arg0) {
+ mm01()
+ }
+ }
+
+ Method(mm01)
+ {
+ Store(Acquire(MTX1, 0), Local0)
+ if (LNot(m205(ts, 200, Local0, Zero))) {
+ Increment(i000)
+ Release(MTX1)
+ }
+ }
+
+ Store(0, i000)
+ mm00(0)
+ m205(ts, 201, i000, 1)
+
+ Store(0, i000)
+ mm00(1)
+ m205(ts, 202, i000, 2)
+ }
+
+ // UnSerialized Method acquiring an Mutex can invoke
+ // another Serialized One if SyncLevel is not lowered
+ Method(m24b)
+ {
+ Mutex(MTX0, 0)
+ Name(i000, 0)
+
+ Method(mm00, 1)
+ {
+ Store(Acquire(MTX0, 0), Local0)
+ if (LNot(m205(ts, 203, Local0, Zero))) {
+ Increment(i000)
+
+ if (arg0) {
+ mm01()
+ }
+ Release(MTX0)
+ }
+ }
+
+ Method(mm01, 0, Serialized, 15)
+ {
+ Increment(i000)
+ }
+
+ Store(0, i000)
+ mm00(0)
+ m205(ts, 204, i000, 1)
+
+ Store(0, i000)
+ mm00(1)
+ m205(ts, 205, i000, 2)
+ }
+
+ // When UnSerialized Method acquiring an Mutex invokes
+ // another Serialized One then the last can release the
+ // Mutex if Mutex's SyncLevel is not lower than the Method's
+ Method(m24c)
+ {
+ Mutex(MTX0, 8)
+ Name(i000, 0)
+
+ Method(mm00, 1)
+ {
+ Store(Acquire(MTX0, 0), Local0)
+ if (LNot(m205(ts, 206, Local0, Zero))) {
+ Increment(i000)
+
+ if (arg0) {
+ mm01()
+ } else {
+ Release(MTX0)
+ }
+ }
+ }
+
+ Method(mm01, 0, Serialized, 8)
+ {
+ Increment(i000)
+ Release(MTX0)
+ }
+
+ Store(0, i000)
+ mm00(0)
+ m205(ts, 207, i000, 1)
+
+ Store(0, i000)
+ mm00(1)
+ m205(ts, 208, i000, 2)
+ }
+
+ SRMT("m240")
+ m240()
+ SRMT("m241")
+ m241()
+ SRMT("m242")
+ m242()
+ SRMT("m243")
+ m243()
+ SRMT("m244")
+ m244()
+ SRMT("m245")
+ m245()
+ SRMT("m246")
+ m246()
+
+ SRMT("m247")
+ if (y349) {
+ m247()
+ } else {
+ BLCK()
+ }
+
+ SRMT("m248")
+ m248()
+ SRMT("m249")
+ m249()
+ SRMT("m24a")
+ m24a()
+ SRMT("m24b")
+ m24b()
+ SRMT("m24c")
+ m24c()
+}
+
+// Run-method
+Method(NM01)
+{
+ Store("TEST: NM01, Declare Control Method Named Object", Debug)
+
+ m207()
+
+ CH03("NM01", z133, 209, 0, 0)
+}
diff --git a/tests/aslts/src/runtime/collections/functional/name/name.asl b/tests/aslts/src/runtime/collections/functional/name/name.asl
new file mode 100644
index 000000000..abcc78401
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/name/name.asl
@@ -0,0 +1,62 @@
+/*
+ * 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.
+ */
+
+/*
+ * Miscellaneous named object creation
+ */
+
+Name(z112, 112)
+
+/*
+ * Obtain the NamedX objects of all the types and check their {type,size,value}
+ *
+ * The ability of Name operator to create and designate different type
+ * objects is indirectly verified by other tests destined for to verify
+ * the features of those particular type objects: Integer, Buffer, String,
+ * Package, Device, etc..
+ *
+ * This sub-test is intended to concentrate in the same place
+ * the initial simplest checkings {type,size,value} of different
+ * type objects obtained by Name operator - the ability as such
+ * of Name operator to create and designate different type objects.
+ */
+Method(m204)
+{
+ m1a6()
+}
+
+// Run-method
+Method(NM00)
+{
+ Store("TEST: NM00, Declare Named Object", Debug)
+
+ SRMT("m204")
+ m204()
+}
diff --git a/tests/aslts/src/runtime/collections/functional/name/package.asl b/tests/aslts/src/runtime/collections/functional/name/package.asl
new file mode 100644
index 000000000..75ec6db9b
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/name/package.asl
@@ -0,0 +1,1380 @@
+/*
+ * 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.
+ */
+
+/*
+ * Miscellaneous named object creation
+ */
+
+/*
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+SEE: see below, update needed
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+*/
+
+// Package, Declare Package Object
+//
+// Update needed:
+//
+// m1f4() - this test should be implemented after references to Control
+// Methods as elements of Package will be implemented by ACPICA.
+// m1f7() - this test should be implemented after ObjectType stops aborting
+// program when dealing with uninitialized objects.
+// all - add references to Control Methods to all other tests of this file.
+//
+// Note: verification of the contents of Packages is not performed, too complex.
+
+Name(z051, 51)
+
+// Step {1,2,4,8,16,32}. Use 16, too much time for 1 there.
+Name(c040, 16)
+
+// Max number of iterations of Mix test.
+// Use 25, though available are {1-29}.
+Name(c041, 22)
+
+// Check Integers
+Method(m1f0)
+{
+ Name(ts, "m1f0")
+
+ Name(p000, Package() {
+ // 0
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
+ 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
+ 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
+ 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
+ 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+ 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
+ 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
+ 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
+ 90, 91, 92, 93, 94, 95,
+
+ // 96
+ 0x8765ac00, 0x8765ac01, 0x8765ac02, 0x8765ac03,
+ 0x8765ac04, 0x8765ac05, 0x8765ac06, 0x8765ac07,
+ 0x8765ac08, 0x8765ac09, 0x8765ac0a, 0x8765ac0b,
+ 0x8765ac0c, 0x8765ac0d, 0x8765ac0e, 0x8765ac0f,
+
+ 0x8765ac10, 0x8765ac11, 0x8765ac12, 0x8765ac13,
+ 0x8765ac14, 0x8765ac15, 0x8765ac16, 0x8765ac17,
+ 0x8765ac18, 0x8765ac19, 0x8765ac1a, 0x8765ac1b,
+ 0x8765ac1c, 0x8765ac1d, 0x8765ac1e, 0x8765ac1f,
+
+ 0x8765ac20, 0x8765ac21, 0x8765ac22, 0x8765ac23,
+ 0x8765ac24, 0x8765ac25, 0x8765ac26, 0x8765ac27,
+ 0x8765ac28, 0x8765ac29, 0x8765ac2a, 0x8765ac2b,
+ 0x8765ac2c, 0x8765ac2d, 0x8765ac2e, 0x8765ac2f,
+
+ 0x8765ac30, 0x8765ac31, 0x8765ac32, 0x8765ac33,
+ 0x8765ac34, 0x8765ac35, 0x8765ac36, 0x8765ac37,
+ 0x8765ac38, 0x8765ac39, 0x8765ac3a, 0x8765ac3b,
+ 0x8765ac3c, 0x8765ac3d, 0x8765ac3e, 0x8765ac3f,
+
+ // 160
+ 0x8765acba11223300, 0x8765acba11223301,
+ 0x8765acba11223302, 0x8765acba11223303,
+ 0x8765acba11223304, 0x8765acba11223305,
+ 0x8765acba11223306, 0x8765acba11223307,
+ 0x8765acba11223308, 0x8765acba11223309,
+ 0x8765acba1122330a, 0x8765acba1122330b,
+ 0x8765acba1122330c, 0x8765acba1122330d,
+ 0x8765acba1122330e, 0x8765acba1122330f,
+ 0x8765acba11223310, 0x8765acba11223311,
+ 0x8765acba11223312, 0x8765acba11223313,
+
+ 0x8765acba11223314, 0x8765acba11223315,
+ 0x8765acba11223316, 0x8765acba11223317,
+ 0x8765acba11223318, 0x8765acba11223319,
+ 0x8765acba1122331a, 0x8765acba1122331b,
+ 0x8765acba1122331c, 0x8765acba1122331d,
+ 0x8765acba1122331e, 0x8765acba1122331f,
+ 0x8765acba11223320, 0x8765acba11223321,
+ 0x8765acba11223322, 0x8765acba11223323,
+
+ // 196
+ 196, 197, 198, 199,
+ 200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
+ 210, 211, 212, 213, 214, 215, 216, 217, 218, 219,
+ 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
+ 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
+ 240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
+ 250, 251, 252, 253, 254,
+ })
+
+ ts00(ts)
+
+ // Too much time for 1 there, so use {8/16}
+ Store(c040, Local6)
+ Divide(255, Local6, Local1, Local0)
+
+ Store(0, Local1)
+ Store(0, Local4)
+ Store(0, Local5)
+
+ While (Local0) {
+
+ Store(DeRefOf(Index(p000, Local1)), Local2)
+ Store(Local1, Local3)
+
+ if (LLessEqual(Local1, 95)) {
+ if (LNotEqual(Local2, Local3)) {
+ err(ts, z051, 0, 0, 0, Local2, Local3)
+ }
+ } elseif (LLessEqual(Local1, 159)) {
+ Add(0x8765ac00, Local4, Local3)
+ if (LNotEqual(Local2, Local3)) {
+ err(ts, z051, 1, 0, 0, Local2, Local3)
+ }
+ Add(Local4, Local6, Local4)
+ } elseif (LLessEqual(Local1, 195)) {
+ Add(0x8765acba11223300, Local5, Local3)
+ if (LNotEqual(Local2, Local3)) {
+ err(ts, z051, 2, 0, 0, Local2, Local3)
+ }
+ Add(Local5, Local6, Local5)
+ } else {
+ if (LNotEqual(Local2, Local3)) {
+ err(ts, z051, 3, 0, 0, Local2, Local3)
+ }
+ }
+
+ Store(ObjectType(Local2), Local3)
+ if (LNotEqual(Local3, 1)) {
+ err(ts, z051, 4, 0, 0, Local3, 1)
+ }
+
+ Add(Local1, Local6, Local1)
+ Decrement(Local0)
+ }
+
+ Store(SizeOf(p000), Local0)
+ if (LNotEqual(Local0, 255)) {
+ err(ts, z051, 5, 0, 0, Local0, 255)
+ }
+}
+
+// Check Strings
+Method(m1f1)
+{
+ Name(ts, "m1f1")
+
+ Name(p000, Package() {
+ "", "0", "01", "012", " 0 0", " 9 ", "vqwert", "1234567", "01234567",
+ "01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789",
+ })
+
+ ts00(ts)
+
+ Store(10, Local0)
+ Store(0, Local1)
+ Store(0, Local5)
+
+ While (Local0) {
+
+ Store(DeRefOf(Index(p000, Local1)), Local2)
+ Store(SizeOf(Local2), Local3)
+
+ Store(Local1, Local4)
+ if (LEqual(Local1, 9)) {
+ Store(200, Local4)
+ }
+
+ if (LNotEqual(Local4, Local3)) {
+ err(ts, z051, 6, 0, 0, Local4, Local3)
+ }
+
+ Store(ObjectType(Local2), Local3)
+ if (LNotEqual(Local3, 2)) {
+ err(ts, z051, 7, 0, 0, Local3, 2)
+ }
+
+ Increment(Local1)
+ Decrement(Local0)
+ }
+
+ Store(SizeOf(p000), Local0)
+ if (LNotEqual(Local0, 10)) {
+ err(ts, z051, 8, 0, 0, Local0, 10)
+ }
+}
+
+// Check Buffers
+Method(m1f2)
+{
+ Name(ts, "m1f2")
+
+ Name(p000, Package() {
+ Buffer(1) {},
+ Buffer(2) {},
+ Buffer(3) {},
+ Buffer(4) {},
+ Buffer(5) {},
+ Buffer(6) {},
+ Buffer(7) {},
+ Buffer(8) {},
+ Buffer(9) {},
+ Buffer(10) {},
+
+ Buffer() {1,2,3,4,5,6,7,8,9,10,11},
+ Buffer() {1,2,3,4,5,6,7,8,9,10,11,12},
+ Buffer() {1,2,3,4,5,6,7,8,9,10,11,12,13},
+ Buffer() {1,2,3,4,5,6,7,8,9,10,11,12,13,14},
+ Buffer() {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15},
+ Buffer() {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16},
+ Buffer() {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17},
+ Buffer() {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18},
+ Buffer() {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19},
+ Buffer() {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20},
+
+ Buffer(21) {}, Buffer(22) {}, Buffer(23) {}, Buffer(24) {}, Buffer(25) {},
+ Buffer(26) {}, Buffer(27) {}, Buffer(28) {}, Buffer(29) {}, Buffer(30) {},
+ Buffer(31) {}, Buffer(32) {}, Buffer(33) {}, Buffer(34) {}, Buffer(35) {},
+ Buffer(36) {}, Buffer(37) {}, Buffer(38) {}, Buffer(39) {}, Buffer(40) {},
+ Buffer(41) {}, Buffer(42) {}, Buffer(43) {}, Buffer(44) {}, Buffer(45) {},
+ Buffer(46) {}, Buffer(47) {}, Buffer(48) {}, Buffer(49) {}, Buffer(50) {},
+ Buffer(51) {}, Buffer(52) {}, Buffer(53) {}, Buffer(54) {}, Buffer(55) {},
+ Buffer(56) {}, Buffer(57) {}, Buffer(58) {}, Buffer(59) {}, Buffer(60) {},
+ Buffer(61) {}, Buffer(62) {}, Buffer(63) {}, Buffer(64) {}, Buffer(65) {},
+ Buffer(66) {}, Buffer(67) {}, Buffer(68) {}, Buffer(69) {}, Buffer(70) {},
+ Buffer(71) {}, Buffer(72) {}, Buffer(73) {}, Buffer(74) {}, Buffer(75) {},
+ Buffer(76) {}, Buffer(77) {}, Buffer(78) {}, Buffer(79) {}, Buffer(80) {},
+ Buffer(81) {}, Buffer(82) {}, Buffer(83) {}, Buffer(84) {}, Buffer(85) {},
+ Buffer(86) {}, Buffer(87) {}, Buffer(88) {}, Buffer(89) {}, Buffer(90) {},
+ Buffer(91) {}, Buffer(92) {}, Buffer(93) {}, Buffer(94) {}, Buffer(95) {},
+ Buffer(96) {}, Buffer(97) {}, Buffer(98) {}, Buffer(99) {},
+
+ Buffer(100) {}, Buffer(101) {}, Buffer(102) {}, Buffer(103) {},
+ Buffer(104) {}, Buffer(105) {}, Buffer(106) {}, Buffer(107) {},
+ Buffer(108) {}, Buffer(109) {}, Buffer(110) {}, Buffer(111) {},
+ Buffer(112) {}, Buffer(113) {}, Buffer(114) {}, Buffer(115) {},
+ Buffer(116) {}, Buffer(117) {}, Buffer(118) {}, Buffer(119) {},
+ Buffer(120) {}, Buffer(121) {}, Buffer(122) {}, Buffer(123) {},
+ Buffer(124) {}, Buffer(125) {}, Buffer(126) {}, Buffer(127) {},
+ Buffer(128) {}, Buffer(129) {}, Buffer(130) {}, Buffer(131) {},
+ Buffer(132) {}, Buffer(133) {}, Buffer(134) {}, Buffer(135) {},
+ Buffer(136) {}, Buffer(137) {}, Buffer(138) {}, Buffer(139) {},
+ Buffer(140) {}, Buffer(141) {}, Buffer(142) {}, Buffer(143) {},
+ Buffer(144) {}, Buffer(145) {}, Buffer(146) {}, Buffer(147) {},
+ Buffer(148) {}, Buffer(149) {},
+
+ Buffer(150) {}, Buffer(151) {}, Buffer(152) {}, Buffer(153) {},
+ Buffer(154) {}, Buffer(155) {}, Buffer(156) {}, Buffer(157) {},
+ Buffer(158) {}, Buffer(159) {}, Buffer(160) {}, Buffer(161) {},
+ Buffer(162) {}, Buffer(163) {}, Buffer(164) {}, Buffer(165) {},
+ Buffer(166) {}, Buffer(167) {}, Buffer(168) {}, Buffer(169) {},
+ Buffer(170) {}, Buffer(171) {}, Buffer(172) {}, Buffer(173) {},
+ Buffer(174) {}, Buffer(175) {}, Buffer(176) {}, Buffer(177) {},
+ Buffer(178) {}, Buffer(179) {}, Buffer(180) {}, Buffer(181) {},
+ Buffer(182) {}, Buffer(183) {}, Buffer(184) {}, Buffer(185) {},
+ Buffer(186) {}, Buffer(187) {}, Buffer(188) {}, Buffer(189) {},
+ Buffer(190) {}, Buffer(191) {}, Buffer(192) {}, Buffer(193) {},
+ Buffer(194) {}, Buffer(195) {}, Buffer(196) {}, Buffer(197) {},
+ Buffer(198) {}, Buffer(199) {},
+
+ Buffer(200) {}, Buffer(201) {}, Buffer(202) {}, Buffer(203) {},
+ Buffer(204) {}, Buffer(205) {}, Buffer(206) {}, Buffer(207) {},
+ Buffer(208) {}, Buffer(209) {}, Buffer(210) {}, Buffer(211) {},
+ Buffer(212) {}, Buffer(213) {}, Buffer(214) {}, Buffer(215) {},
+ Buffer(216) {}, Buffer(217) {}, Buffer(218) {}, Buffer(219) {},
+ Buffer(220) {}, Buffer(221) {}, Buffer(222) {}, Buffer(223) {},
+ Buffer(224) {}, Buffer(225) {}, Buffer(226) {}, Buffer(227) {},
+ Buffer(228) {}, Buffer(229) {}, Buffer(230) {}, Buffer(231) {},
+ Buffer(232) {}, Buffer(233) {}, Buffer(234) {}, Buffer(235) {},
+ Buffer(236) {}, Buffer(237) {}, Buffer(238) {}, Buffer(239) {},
+ Buffer(240) {}, Buffer(241) {}, Buffer(242) {}, Buffer(243) {},
+ Buffer(244) {}, Buffer(245) {}, Buffer(246) {}, Buffer(247) {},
+ Buffer(248) {}, Buffer(249) {},
+
+ Buffer(250) {}, Buffer(251) {}, Buffer(252) {}, Buffer(253) {},
+ Buffer(254) {}, Buffer(255) {},
+ })
+
+ ts00(ts)
+
+ // Too much time for 1 there, so use {8/16}
+ Store(c040, Local6)
+ Divide(255, Local6, Local1, Local0)
+ Store(0, Local1)
+ Store(0, Local5)
+
+ While (Local0) {
+
+ Store(DeRefOf(Index(p000, Local1)), Local2)
+ Store(SizeOf(Local2), Local3)
+
+ Add(Local1, 1, Local4)
+
+ if (LNotEqual(Local4, Local3)) {
+ err(ts, z051, 9, 0, 0, Local4, Local3)
+ }
+
+ Store(ObjectType(Local2), Local3)
+ if (LNotEqual(Local3, 3)) {
+ err(ts, z051, 10, 0, 0, Local3, 3)
+ }
+
+ Add(Local1, Local6, Local1)
+ Decrement(Local0)
+ }
+
+ Store(SizeOf(p000), Local0)
+ if (LNotEqual(Local0, 255)) {
+ err(ts, z051, 11, 0, 0, Local0, 255)
+ }
+}
+
+// Packages
+Method(m1f3)
+{
+ Name(ts, "m1f3")
+
+ Name(p000, Package() {
+ Package(1) {},
+ Package(2) {},
+ Package(3) {},
+ Package(4) {},
+ Package(5) {},
+ Package(6) {},
+ Package(7) {},
+ Package(8) {},
+ Package(9) {},
+ Package(10) {},
+
+ Package() {1,2,3,4,5,6,7,8,9,10,11},
+ Package() {1,2,3,4,5,6,7,8,9,10,11,12},
+ Package() {1,2,3,4,5,6,7,8,9,10,11,12,13},
+ Package() {1,2,3,4,5,6,7,8,9,10,11,12,13,14},
+ Package() {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15},
+ Package() {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16},
+ Package() {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17},
+ Package() {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18},
+ Package() {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19},
+ Package() {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20},
+
+ Package(21) {}, Package(22) {}, Package(23) {}, Package(24) {},
+ Package(25) {}, Package(26) {}, Package(27) {}, Package(28) {},
+ Package(29) {}, Package(30) {}, Package(31) {}, Package(32) {},
+ Package(33) {}, Package(34) {}, Package(35) {}, Package(36) {},
+ Package(37) {}, Package(38) {}, Package(39) {}, Package(40) {},
+ Package(41) {}, Package(42) {}, Package(43) {}, Package(44) {},
+ Package(45) {}, Package(46) {}, Package(47) {}, Package(48) {},
+ Package(49) {}, Package(50) {}, Package(51) {}, Package(52) {},
+ Package(53) {}, Package(54) {}, Package(55) {}, Package(56) {},
+ Package(57) {}, Package(58) {}, Package(59) {}, Package(60) {},
+ Package(61) {}, Package(62) {}, Package(63) {}, Package(64) {},
+ Package(65) {}, Package(66) {}, Package(67) {}, Package(68) {},
+ Package(69) {}, Package(70) {}, Package(71) {}, Package(72) {},
+ Package(73) {}, Package(74) {}, Package(75) {}, Package(76) {},
+ Package(77) {}, Package(78) {}, Package(79) {}, Package(80) {},
+ Package(81) {}, Package(82) {}, Package(83) {}, Package(84) {},
+ Package(85) {}, Package(86) {}, Package(87) {}, Package(88) {},
+ Package(89) {}, Package(90) {}, Package(91) {}, Package(92) {},
+ Package(93) {}, Package(94) {}, Package(95) {}, Package(96) {},
+ Package(97) {}, Package(98) {}, Package(99) {},
+
+ Package(100) {}, Package(101) {}, Package(102) {}, Package(103) {},
+ Package(104) {}, Package(105) {}, Package(106) {}, Package(107) {},
+ Package(108) {}, Package(109) {}, Package(110) {}, Package(111) {},
+ Package(112) {}, Package(113) {}, Package(114) {}, Package(115) {},
+ Package(116) {}, Package(117) {}, Package(118) {}, Package(119) {},
+ Package(120) {}, Package(121) {}, Package(122) {}, Package(123) {},
+ Package(124) {}, Package(125) {}, Package(126) {}, Package(127) {},
+ Package(128) {}, Package(129) {}, Package(130) {}, Package(131) {},
+ Package(132) {}, Package(133) {}, Package(134) {}, Package(135) {},
+ Package(136) {}, Package(137) {}, Package(138) {}, Package(139) {},
+ Package(140) {}, Package(141) {}, Package(142) {}, Package(143) {},
+ Package(144) {}, Package(145) {}, Package(146) {}, Package(147) {},
+ Package(148) {}, Package(149) {},
+
+ Package(150) {}, Package(151) {}, Package(152) {}, Package(153) {},
+ Package(154) {}, Package(155) {}, Package(156) {}, Package(157) {},
+ Package(158) {}, Package(159) {}, Package(160) {}, Package(161) {},
+ Package(162) {}, Package(163) {}, Package(164) {}, Package(165) {},
+ Package(166) {}, Package(167) {}, Package(168) {}, Package(169) {},
+ Package(170) {}, Package(171) {}, Package(172) {}, Package(173) {},
+ Package(174) {}, Package(175) {}, Package(176) {}, Package(177) {},
+ Package(178) {}, Package(179) {}, Package(180) {}, Package(181) {},
+ Package(182) {}, Package(183) {}, Package(184) {}, Package(185) {},
+ Package(186) {}, Package(187) {}, Package(188) {}, Package(189) {},
+ Package(190) {}, Package(191) {}, Package(192) {}, Package(193) {},
+ Package(194) {}, Package(195) {}, Package(196) {}, Package(197) {},
+ Package(198) {}, Package(199) {},
+
+ Package(200) {}, Package(201) {}, Package(202) {}, Package(203) {},
+ Package(204) {}, Package(205) {}, Package(206) {}, Package(207) {},
+ Package(208) {}, Package(209) {}, Package(210) {}, Package(211) {},
+ Package(212) {}, Package(213) {}, Package(214) {}, Package(215) {},
+ Package(216) {}, Package(217) {}, Package(218) {}, Package(219) {},
+ Package(220) {}, Package(221) {}, Package(222) {}, Package(223) {},
+ Package(224) {}, Package(225) {}, Package(226) {}, Package(227) {},
+ Package(228) {}, Package(229) {}, Package(230) {}, Package(231) {},
+ Package(232) {}, Package(233) {}, Package(234) {}, Package(235) {},
+ Package(236) {}, Package(237) {}, Package(238) {}, Package(239) {},
+ Package(240) {}, Package(241) {}, Package(242) {}, Package(243) {},
+ Package(244) {}, Package(245) {}, Package(246) {}, Package(247) {},
+ Package(248) {}, Package(249) {},
+
+ Package(250) {}, Package(251) {}, Package(252) {}, Package(253) {},
+ Package(254) {}, Package(255) {},
+ })
+
+ ts00(ts)
+
+ // Too much time for 1 there, so use {8/16}
+ Store(c040, Local6)
+ Divide(255, Local6, Local1, Local0)
+ Store(0, Local1)
+ Store(0, Local5)
+
+ While (Local0) {
+
+ Store(DeRefOf(Index(p000, Local1)), Local2)
+ Store(SizeOf(Local2), Local3)
+
+ Add(Local1, 1, Local4)
+
+ if (LNotEqual(Local4, Local3)) {
+ err(ts, z051, 12, 0, 0, Local4, Local3)
+ }
+
+ Store(ObjectType(Local2), Local3)
+ if (LNotEqual(Local3, 4)) {
+ err(ts, z051, 13, 0, 0, Local3, 4)
+ }
+
+ Add(Local1, Local6, Local1)
+ Decrement(Local0)
+ }
+
+ Store(SizeOf(p000), Local0)
+ if (LNotEqual(Local0, 255)) {
+ err(ts, z051, 14, 0, 0, Local0, 255)
+ }
+}
+
+// Do test for Methods, when Methods will be implemented !!!!!!!!!!!!!!!
+Method(m1f4)
+{
+ Name(ts, "m1f4")
+
+ ts00(ts)
+
+// Not implemented yet
+
+ Method(m000) {return ("aaaa")}
+ Method(m001) {return (Buffer() {1,2,3,4})}
+ Method(m002) {return (Package() {1,2,3,4,5})}
+// Method(m003) {return (0)}
+
+ Store("============= vvvvvvvvvvvvv", Debug)
+ Store(RefOf(m000), Local0)
+ Store(SizeOf(Local0), Local1)
+ // Store(SizeOf(m000), Local1)
+ Store(Local0, Debug)
+ Store(Local1, Debug)
+ Store("============= ccccccccccccc", Debug)
+
+ return (0)
+}
+
+Method(m1f5, 3)
+{
+ // n000 - decr cur counter (levels num)
+ // n001 - incr cur counter
+ // n002 - type of target object
+ // n004 - size of target object
+ // n003 - incr cur counter (index of first level)
+
+ Name(n000, 0)
+ Name(n001, 0)
+ Name(n002, 0x1234)
+ Name(n004, 0)
+ Name(n003, 4)
+
+ // Type of target object
+ Store(DeRefOf(Index(arg2, 0)), n002)
+
+ // Size of target object
+ Store(DeRefOf(Index(arg2, 1)), n004)
+
+ // Repetition
+ Store(DeRefOf(Index(arg2, 3)), n000)
+
+ // Cur de-reference
+ Store(arg1, Local7)
+
+ While (n000) {
+
+ // Index in cur object
+ Store(DeRefOf(Index(arg2, n003)), Local0)
+
+ // Cur de-reference
+ Store(DeRefOf(Index(Local7, Local0)), Local7)
+
+ Store(ObjectType(Local7), Local0)
+
+ Increment(n003)
+ Increment(n001)
+ Decrement(n000)
+ }
+
+ // Type
+
+ Store(ObjectType(Local7), Local0)
+ if (LNotEqual(Local0, n002)) {
+ err(arg0, z051, 15, 0, 0, Local0, n002)
+ }
+
+ // Contents
+
+ if (LGreaterEqual(n002, 1)) {
+ if (LLessEqual(n002, 3)) {
+
+ Store(0, Local6)
+ Store(0, Local1)
+
+ Store(DeRefOf(Index(arg2, 2)), Local0)
+
+ if (LNotEqual(n002, 1)) {
+ Store(SizeOf(Local0), Local1)
+ }
+
+ if (LNotEqual(Local1, n004)) {
+ err(arg0, z051, 16, 0, 0, Local1, n004)
+ Store(1, Local6)
+ } elseif (LNotEqual(Local7, Local0)) {
+ err(arg0, z051, 17, 0, 0, Local7, Local0)
+ Store(1, Local6)
+ }
+ if (Local6) {
+ Store("============= To ERROR:", Debug)
+ Store(Local0, Debug)
+ Store(Local7, Debug)
+ Store("=============.", Debug)
+ }
+ }
+ }
+}
+
+// Mix
+// - all one level combinations
+// - 255 levels in depth
+Method(m1f6)
+{
+ Name(ts, "m1f6")
+
+ Name(p000, Package() {
+
+ // 0
+
+ 0xb2345678,
+ "qwert",
+ Buffer() {1,2,3,4,5,6},
+ Package(1) {},
+
+ // 4, Integer, String, Buffer
+
+ Package() {0},
+ Package() {"qwhj"},
+ Package() {1, "qwu"},
+ Package() {"er", 2},
+ Package() {Buffer() {1}},
+ Package() {3, Buffer() {2,3}},
+ Package() {Buffer() {4,5,6}, 4},
+ Package() {"a", Buffer() {7,8,9,10}},
+ Package() {Buffer() {11,12,13,14,15}, "qw"},
+ Package() {Buffer() {16,17}, "12r", 55},
+ Package() {Buffer() {18,19}, 56, "ghjk"},
+ Package() {57, Buffer() {20,21,22}, "ghjkf"},
+ Package() {58, "sdfghj", Buffer() {23,24}},
+ Package() {"sdfghjg", Buffer() {25}, 59},
+ Package() {"sdfghjgg", 60, Buffer() {26,27}},
+
+ // 19, Integer, String, Buffer, Package
+
+ Package() {Package() {0}},
+ Package() {0, Package() {0,1}},
+ Package() {Package() {0}, 1},
+ Package() {"qwhj", Package() {0,1,2}},
+ Package() {Package() {0}, "ffrgg"},
+ Package() {1, "qwum", Package() {3,4,4,4}},
+ Package() {2, Package() {5,5,5,5,5,}, "dfgh"},
+ Package() {"qwu", 3, Package() {6,6,6,6,6,6}},
+ Package() {"qwuuio", Package() {7,7,7,7,7,7,7}, 4},
+ Package() {Package() {8,8,8,8,8,8,8,8}, "asd0000f", 5},
+ Package() {Package() {9,9,9,9,9,9,9}, 6, "fasdfbvcd"},
+ // 30
+ Package() {Package() {10,1,1,1,1,2}, Buffer() {28,2,3,4,5,6}},
+ Package() {Buffer() {29,2,3,4,5,6}, Package() {9,8,7,6,5}},
+ Package() {Package() {0,8,7,6}, 9, Buffer() {1,2,30,4,5,6}},
+ Package() {Package() {6,5,3}, Buffer() {1,2,31,4,5,6}, 10},
+ Package() {Buffer() {1,2,32,4,5,6}, Package() {6,7}, 11},
+ Package() {Buffer() {1,2,33,4,5,6}, 12, Package(7) {0}},
+ Package() {12, Package() {7,6}, Buffer() {1,2,34,4,5,6}},
+ Package() {13, Buffer() {1,2,35,4,5,6}, Package() {5,4,6}},
+ Package() {Package() {8,7,6,5}, "sdfghjg0", Buffer() {36}},
+ Package() {Package() {8,7,8,9,0}, Buffer() {37,38}, "cbvnm"},
+ // 40
+ Package() {"sdfgh1jg", Buffer() {39}, Package() {9,9,7,6,5,4}},
+ Package() {"sdf2ghjg", Package() {9,0,3,4,5,7,6}, Buffer() {40,1,2}},
+ Package() {Buffer() {41,2}, "cb3vnm", Package() {8,0,3,5,1,8}},
+ Package() {Buffer() {1,42}, Package() {8,7,6,5,4}, "zx"},
+ Package() {Package() {2,7,0,4}, "sdfgh4jg", Buffer() {1,2,43}, 59},
+ Package() {Package() {55,66,77}, "sdfghj5g", 70, Buffer() {1,2,44,45}},
+ Package() {Package() {99,12}, Buffer() {46,47,48,1,2}, "g6g", 59},
+ Package() {Package() {1234}, Buffer() {49,1,2}, 59, "d7fg"},
+ Package() {Package() {46,59}, 7, "8sdfghjg", Buffer() {1,2,50}},
+ Package() {Package() {76,98,62}, 8, Buffer() {51,2}, "9sdfghjg"},
+ // 50
+ Package() {"s10dfghjg", Package() {47,78,74,37}, Buffer() {1,52}, 59},
+ Package() {"sdf11ghjg", Package() {70,12,34,45,56}, 70, Buffer() {53}},
+ Package() {Buffer() {1,2,54}, Package() {90,12,13,14,15,19}, "g12g", 59},
+ Package() {Buffer() {1,2,55}, Package() {87,94,83,42,54}, 59, "d1f3g"},
+ Package() {7, Package() {34,56,78,90}, "1sdf4ghjg", Buffer() {1,2,56}},
+ Package() {8, Package() {76,43,79}, Buffer() {1,2,57,58}, "s1dfg5hjg"},
+ Package() {"sd1fg6hjg", Buffer() {1,2,59}, Package() {55,89}, 59},
+ Package() {"sdfg17hjg", 70, Package() {92}, Buffer() {1,60,2}},
+ Package() {Buffer() {61,2}, "g18g", Package() {67,89}, 59},
+ Package() {Buffer() {1,62}, 59, Package() {46,89,90}, "dfg19"},
+ // 60
+ Package() {0x82987640, "sdf2gh0jg", Package() {43,79,45,67}, Buffer() {1,2,63}},
+ Package() {8, Buffer() {64,1,2}, Package() {56,78,96}, "21sdfghjg"},
+ Package() {"sd22fghjg", Buffer() {65}, 59, Package() {49,60}},
+ Package() {"sdfg23hjg", 70, Buffer() {66,67,1,2}, Package() {20}},
+ Package() {Buffer() {1,2,68,69,70}, "2g4g", 59, Package() {11,22}},
+ Package() {Buffer() {71,2}, 59, "2dfg5", Package() {11,22,33}},
+ Package() {7, "sd26fghjg", Buffer() {1,72}, Package() {55,66,77,88}},
+ Package() {1145677, Buffer() {1,73,2,3,4}, "shjd2fg7hjg",
+ Package() {89,67,54,32,1,2,3}},
+ Package() {
+ Package() {
+ Package() {
+ Package() {
+ Package() {0x9b8def45
+ },
+ },
+ },
+ },
+ },
+ Package(255) {9,7,8,89,67,54,32,1,2,3,1234,456789},
+
+ // 70
+
+ Package(10) {11045677,
+ Buffer(202) {1,73,92,39,4},
+ Buffer(5) {1,73,92,39,4},
+ "shjd2fg7hjg0123456",
+ "0123456789qwertyuiop012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789",
+ Package(11) {89,67,54,32,1,2,3,33,44,55,66},
+ Package(255) {89,67,54,32,1,2,3,1234,456789},
+ },
+ 71,72,73,74,75,76,77,78,79,
+
+ // 80
+
+ 0,1,2,3,4,5,6,7,8,9, 0,1,2,3,4,5,6,7,8,9,
+
+ // 100
+
+ 0,1,2,3,4,5,6,7,8,9, 0,1,2,3,4,5,6,7,8,9,
+ 0,1,2,3,4,5,6,7,8,9, 0,1,2,3,4,5,6,7,8,9,
+ 0,1,2,3,4,5,6,7,8,9, 0,1,2,3,4,5,6,7,8,9,
+ 0,1,2,3,4,5,6,7,8,9, 0,1,2,3,4,5,6,7,8,9,
+ 0,1,2,3,4,5,6,7,8,9, 0,1,2,3,4,5,6,7,8,9,
+
+ // 200
+
+ 0,1,2,3,4,5,6,7,8,9, 0,1,2,3,4,5,6,7,8,9,
+ 0,1,2,3,4,5,6,7,8,9, 0,1,2,3,4,5,6,7,8,9,
+ 0,1,2,3,4,5,6,7,8,9,
+
+ // 250
+
+ 250, 251, 252, 253,
+
+ // 254 (maximal element)
+
+ // + one encircling Package, 0-63
+ Package() { Package() { Package() { Package() {
+ Package() { Package() { Package() { Package() {
+ Package() { Package() { Package() { Package() {
+ Package() { Package() { Package() { Package() {
+ Package() { Package() { Package() { Package() {
+ Package() { Package() { Package() { Package() {
+ Package() { Package() { Package() { Package() {
+ Package() { Package() { Package() { Package() {
+ Package() { Package() { Package() { Package() {
+ Package() { Package() { Package() { Package() {
+ Package() { Package() { Package() { Package() {
+ Package() { Package() { Package() { Package() {
+ Package() { Package() { Package() { Package() {
+ Package() { Package() { Package() { Package() {
+ Package() { Package() { Package() { Package() {
+ Package() { Package() { Package() { Package() {
+ // 64-127
+ Package() { Package() { Package() { Package() {
+ Package() { Package() { Package() { Package() {
+ Package() { Package() { Package() { Package() {
+ Package() { Package() { Package() { Package() {
+ Package() { Package() { Package() { Package() {
+ Package() { Package() { Package() { Package() {
+ Package() { Package() { Package() { Package() {
+ Package() { Package() { Package() { Package() {
+ Package() { Package() { Package() { Package() {
+ Package() { Package() { Package() { Package() {
+ Package() { Package() { Package() { Package() {
+ Package() { Package() { Package() { Package() {
+ Package() { Package() { Package() { Package() {
+ Package() { Package() { Package() { Package() {
+ Package() { Package() { Package() { Package() {
+ Package() { Package() { Package() { Package() {
+ // 128-191
+ Package() { Package() { Package() { Package() {
+ Package() { Package() { Package() { Package() {
+ Package() { Package() { Package() { Package() {
+ Package() { Package() { Package() { Package() {
+ Package() { Package() { Package() { Package() {
+ Package() { Package() { Package() { Package() {
+ Package() { Package() { Package() { Package() {
+ Package() { Package() { Package() { Package() {
+ Package() { Package() { Package() { Package() {
+ Package() { Package() { Package() { Package() {
+ Package() { Package() { Package() { Package() {
+ Package() { Package() { Package() { Package() {
+ Package() { Package() { Package() { Package() {
+ Package() { Package() { Package() { Package() {
+ Package() { Package() { Package() { Package() {
+ Package() { Package() { Package() { Package() {
+ // 192-253
+ Package() { Package() { Package() { Package() {
+ Package() { Package() { Package() { Package() {
+ Package() { Package() { Package() { Package() {
+ Package() { Package() { Package() { Package() {
+ Package() { Package() { Package() { Package() {
+ Package() { Package() { Package() { Package() {
+ Package() { Package() { Package() { Package() {
+ Package() { Package() { Package() { Package() {
+ Package() { Package() { Package() { Package() {
+ Package() { Package() { Package() { Package() {
+ Package() { Package() { Package() { Package() {
+ Package() { Package() { Package() { Package() {
+ Package() { Package() { Package() { Package() {
+ Package() { Package() { Package() { Package() {
+ Package() { Package() { Package() { Package() {
+ Package() { Package() {
+
+ 0x9b8def45,
+ "q0w1e2r3t4y5u6i7o8p91234567890",
+ Buffer() {17,28,69,11,22,34,35,56,67,11},
+ Package() {19,27,74,32,18,2,3,67,34},
+
+ // 192-253
+ }, }, }, }, }, }, }, }, }, }, }, }, }, },
+ }, }, }, }, }, }, }, }, }, }, }, }, }, }, }, },
+ }, }, }, }, }, }, }, }, }, }, }, }, }, }, }, },
+ }, }, }, }, }, }, }, }, }, }, }, }, }, }, }, },
+
+ 0x19283746
+
+ // 128-191
+ }, }, }, }, }, }, }, }, }, }, }, }, }, }, }, },
+ }, }, }, }, }, }, }, }, }, }, }, }, }, }, }, },
+ }, }, }, }, }, }, }, }, }, }, }, }, }, }, }, },
+ }, }, }, }, }, }, }, }, }, }, }, }, }, }, }, },
+
+ 0x98765432
+
+ // 64-127
+ }, }, }, }, }, }, }, }, }, }, }, }, }, }, }, },
+ }, }, }, }, }, }, }, }, }, }, }, }, }, }, }, },
+ }, }, }, }, }, }, }, }, }, }, }, }, }, }, }, },
+ }, }, }, }, }, }, }, }, }, }, }, }, }, }, }, },
+
+ 0x12345678,
+
+ // 32-63
+ }, }, }, }, }, }, }, }, }, }, }, }, }, }, }, },
+ }, }, }, }, }, }, }, }, }, }, }, }, }, }, }, },
+
+ 0xb0ac61df,
+
+ // 16-31
+ }, }, }, }, }, }, }, }, }, }, }, }, }, }, }, },
+
+ 0xc1dc51b3,
+ "qwertyuiop1234567890",
+ Buffer() {1,2,63,11,22,34,35,56,67},
+ Package() {19,27,74,32,18,2,3},
+
+ // 0-15
+ }, }, }, }, }, }, }, }, }, }, }, }, }, }, },
+
+ // 1
+ 1,2,3,4,5,6,7,8,9,
+
+ // 10
+ 0,1,2,3,4,5,6,7,8,9, 0,1,2,3,4,5,6,7,8,9,
+ 0,1,2,3,4,5,6,7,8,9, 0,1,2,3,4,5,6,7,8,9,
+ 0,1,2,3,4,5,6,7,8,9, 0,1,2,3,4,5,6,7,8,9,
+ 0,1,2,3,4,5,6,7,8,9, 0,1,2,3,4,5,6,7,8,9,
+ 0,1,2,3,4,5,6,7,8,9,
+
+ // 100
+ 0,1,2,3,4,5,6,7,8,9, 0,1,2,3,4,5,6,7,8,9,
+ 0,1,2,3,4,5,6,7,8,9, 0,1,2,3,4,5,6,7,8,9,
+ 0,1,2,3,4,5,6,7,8,9, 0,1,2,3,4,5,6,7,8,9,
+ 0,1,2,3,4,5,6,7,8,9, 0,1,2,3,4,5,6,7,8,9,
+ 0,1,2,3,4,5,6,7,8,9, 0,1,2,3,4,5,6,7,8,9,
+
+ // 200
+ 0,1,2,3,4,5,6,7,8,9, 0,1,2,3,4,5,6,7,8,9,
+ 0,1,2,3,4,5,6,7,8,9, 0,1,2,3,4,5,6,7,8,9,
+ 0,1,2,3,4,5,6,7,8,9,
+
+ // 250
+
+ 250, 251, 252, 253, Buffer(300) {1,2,63,99,5,67,14,0,6,0,31},
+ },
+ })
+
+ Name(p001, Package() {
+
+ // 0 - 12
+ Package() {1, 0, 0xb2345678, 1, 0},
+ Package() {2, 5, "qwert", 1, 1},
+ Package() {3, 6, Buffer() {1,2,3,4,5,6}, 1, 2},
+ Package() {4, 1, 0, 1, 3},
+ Package() {1, 0, 0x82987640, 2, 60, 0},
+ Package() {2, 9, "sdf2gh0jg", 2, 60, 1},
+ Package() {4, 4, 0, 2, 60, 2},
+ Package() {3, 3, Buffer() {1,2,63}, 2, 60, 3},
+ Package() {1, 0, 1145677, 2, 67, 0},
+ Package() {3, 5, Buffer() {1,73,2,3,4}, 2, 67, 1},
+ Package() {2, 11, "shjd2fg7hjg", 2, 67, 2},
+ Package() {4, 7, 0, 2, 67, 3},
+ Package() {1, 0, 0x9b8def45, 6, 68,0,0,0,0,0},
+
+ // 13-19
+ Package() {1, 0, 11045677, 2, 70, 0},
+ Package() {3, 202, Buffer(202) {1,73,92,39,4}, 2, 70, 1},
+ Package() {3, 5, Buffer(5) {1,73,92,39,4}, 2, 70, 2},
+ Package() {2, 18, "shjd2fg7hjg0123456", 2, 70, 3},
+ Package() {2, 200,
+ "0123456789qwertyuiop012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789",
+ 2, 70, 4},
+ Package() {4, 11, 0, 2, 70, 5},
+ Package() {4, 255, 0, 2, 70, 6},
+
+ // 20
+ Package() {3, 300, Buffer(300) {1,2,63,99,5,67,14,0,6,0,31}, 2, 254, 254},
+
+ // 21-28
+ Package() {1, 0, 0xc1dc51b3, 17, 254,
+ // 0-15
+ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,1,
+ },
+ Package() {2, 20, "qwertyuiop1234567890", 17, 254,
+ // 0-15
+ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,2,
+ },
+ Package() {3, 9, Buffer() {1,2,63,11,22,34,35,56,67}, 17, 254,
+ // 0-15
+ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,3,
+ },
+ Package() {4, 7, Package() {19,27,74,32,18,2,3}, 17, 254,
+ // 0-15
+ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,4,
+ },
+ Package() {1, 0, 0xb0ac61df, 33, 254,
+ // 0-31
+ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
+ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,1,
+ },
+ Package() {1, 0, 0x12345678, 65, 254,
+ // 0-63
+ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
+ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
+ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
+ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,1,
+ },
+ Package() {1, 0, 0x98765432, 129, 254,
+ // 0-63
+ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
+ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
+ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
+ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
+ // 64-127
+ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
+ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
+ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
+ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,1,
+ },
+ Package() {1, 0, 0x9b8def45, 255, 254,
+ // 0-63
+ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
+ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
+ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
+ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
+ // 64-127
+ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
+ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
+ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
+ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
+ // 128-191
+ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
+ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
+ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
+ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
+ // 192-253
+ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
+ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
+ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
+ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,
+ },
+ })
+
+ // n000 - step
+ // n001 - decr cur counter
+ // n002 - incr cur counter
+
+ ts00(ts)
+
+ Name(n000, 0)
+ Name(n001, 0)
+ Name(n002, 0)
+
+ // Too much time for 1 there, so use {8/16}
+ Store(1, n000)
+ Divide(c041, n000, n002, n001)
+ Store(0, n002)
+
+ While (n001) {
+
+ if (pr02) {
+ Store(n001, Debug)
+ }
+
+ Store(DeRefOf(Index(p001, n002)), Local0)
+ Store(ObjectType(Local0), Local1)
+
+ m1f5(ts, p000, Local0)
+
+ Add(n002, n000, n002)
+ Decrement(n001)
+ }
+
+ Store(SizeOf(p000), Local0)
+ if (LNotEqual(Local0, 255)) {
+ err(ts, z051, 18, 0, 0, Local0, 255)
+ }
+
+ Store(SizeOf(p001), Local0)
+ if (LNotEqual(Local0, 29)) {
+ err(ts, z051, 19, 0, 0, Local0, 29)
+ }
+}
+
+// Check uninitialized elements of Package
+//
+// Now - causes crash!!!!!!!
+// Do this test when ObjectType will be fixed.
+Method(m1f7)
+{
+ Name(ts, "m1f7")
+
+ ts00(ts)
+
+ Name(p000, Package(255) {})
+
+// Store(DeRefOf(Index(p000, 0)), Local0)
+ Store(Index(p000, 0), Local0)
+
+ ObjectType(Local0)
+// Store(ObjectType(Local0), Local1)
+}
+
+// Write Integers into Package, then Read and verify
+//
+// <Package>,<size>,<start value>
+Method(m1f8, 3)
+{
+ Name(ts, "m1f8")
+
+ Name(n000, 0)
+ Name(ncur, 0)
+
+ // Writing with indexes
+
+ Store(arg1, n000)
+ Store(0, ncur)
+ Store(arg2, Local0)
+
+ While (n000) {
+ Store(Local0, Index(arg0, ncur))
+ if (0) {
+ Store(Local0, Debug)
+ }
+ Increment(Local0)
+ Decrement(n000)
+ Increment(ncur)
+ }
+
+ // Reading and verifying
+
+ Store(arg1, n000)
+ Store(0, ncur)
+ Store(arg2, Local0)
+
+ While (n000) {
+ Store(DeRefOf(Index(arg0, ncur)), Local1)
+ if (0) {
+ Store(Local1, Debug)
+ }
+ if (LNotEqual(Local1, Local0)) {
+ err(ts, z051, 20, 0, 0, Local1, Local0)
+ }
+ Increment(Local0)
+ Decrement(n000)
+ Increment(ncur)
+ }
+
+ Store(ObjectType(arg0), Local0)
+ if (LNotEqual(Local0, 4)) {
+ err(ts, z051, 21, 0, 0, Local0, 4)
+ }
+
+ Store(SizeOf(arg0), Local0)
+ if (LNotEqual(Local0, arg1)) {
+ err(ts, z051, 22, 0, 0, Local0, arg1)
+ }
+}
+
+Method(m1f9, 1)
+{
+ Name(p000, Package(arg0) {})
+
+ // Write
+ m1f8(p000, arg0, 0x80000000)
+
+ // Re-write
+ m1f8(p000, arg0, 0x12345678)
+}
+
+// Write/rewrite Integers into Package and verify
+Method(m1fa)
+{
+ Name(ts, "m1fa")
+
+ ts00(ts)
+
+ m1f9(255)
+}
+
+// Write Strings into Package, then Read and verify
+//
+// <Package>,<size>,<start string>
+Method(m1fb, 3)
+{
+ Name(ts, "m1fb")
+
+ Name(n000, 0)
+ Name(ncur, 0)
+
+ // Writing with indexes
+
+ Store(arg1, n000)
+ Store(0, ncur)
+
+ While (n000) {
+ Concatenate(arg2, ncur, Local0)
+ Store(Local0, Index(arg0, ncur))
+ if (0) {
+ Store(Local0, Debug)
+ }
+ Decrement(n000)
+ Increment(ncur)
+ }
+
+ // Reading and verifying
+
+ Store(arg1, n000)
+ Store(0, ncur)
+
+ While (n000) {
+ Concatenate(arg2, ncur, Local0)
+ Store(DeRefOf(Index(arg0, ncur)), Local1)
+ if (0) {
+ Store(Local1, Debug)
+ }
+ if (LNotEqual(Local1, Local0)) {
+ err(ts, z051, 23, 0, 0, Local1, Local0)
+ }
+ Decrement(n000)
+ Increment(ncur)
+ }
+
+ Store(ObjectType(arg0), Local0)
+ if (LNotEqual(Local0, 4)) {
+ err(ts, z051, 24, 0, 0, Local0, 4)
+ }
+
+ Store(SizeOf(arg0), Local0)
+ if (LNotEqual(Local0, arg1)) {
+ err(ts, z051, 25, 0, 0, Local0, arg1)
+ }
+}
+
+Method(m1fc, 1)
+{
+ Name(p000, Package(arg0) {})
+
+ // Write
+ m1fb(p000, arg0, "qwert")
+
+ // Re-write
+ m1fb(p000, arg0, "mnbvcxzdf0123456789qwertyuiopllkjhgfdsa")
+}
+
+// Write/rewrite Strings into Package and verify
+Method(m1fd)
+{
+ Name(ts, "m1fd")
+
+ ts00(ts)
+
+ m1fc(255)
+}
+
+// Write Buffers into Package, then Read and verify
+//
+// <Package>,<size>,<start buffer>
+Method(m1fe, 3)
+{
+ Name(ts, "m1fe")
+
+ Name(n000, 0)
+ Name(ncur, 0)
+
+ // Writing with indexes
+
+ Store(arg1, n000)
+ Store(0, ncur)
+
+ While (n000) {
+ Concatenate(arg2, ncur, Local0)
+ Store(Local0, Index(arg0, ncur))
+ if (0) {
+ Store(Local0, Debug)
+ }
+ Decrement(n000)
+ Increment(ncur)
+ }
+
+ // Reading and verifying
+
+ Store(arg1, n000)
+ Store(0, ncur)
+
+ While (n000) {
+ Concatenate(arg2, ncur, Local0)
+ Store(DeRefOf(Index(arg0, ncur)), Local1)
+
+ if (0) {
+ Store(ncur, Debug)
+ Store(Local0, Debug)
+ Store(Local1, Debug)
+ }
+ if (LNotEqual(Local1, Local0)) {
+ err(ts, z051, 26, 0, 0, 0, 0)
+ Store(Local0, Debug)
+ Store(Local1, Debug)
+ return (Ones)
+ }
+ Decrement(n000)
+ Increment(ncur)
+ }
+
+ Store(ObjectType(arg0), Local0)
+ if (LNotEqual(Local0, 4)) {
+ err(ts, z051, 27, 0, 0, Local0, 4)
+ }
+
+ Store(SizeOf(arg0), Local0)
+ if (LNotEqual(Local0, arg1)) {
+ err(ts, z051, 28, 0, 0, Local0, arg1)
+ }
+
+ return (Zero)
+}
+
+// More complex cases with buffers of different sizes
+// are performed into conversion tests.
+Method(m1ff, 1)
+{
+ Name(p000, Package(arg0) {})
+
+ // Write
+ m1fe(p000, arg0, Buffer() {81,82,83,84,85})
+
+ // Re-write
+ m1fe(p000, arg0, Buffer() {1,2,3,4,5})
+}
+
+// Write/rewrite Buffers into Package and verify
+Method(m200)
+{
+ Name(ts, "m200")
+
+ ts00(ts)
+
+ m1ff(255)
+}
+
+// Write Packages into Package, then Read (and verify)
+//
+// <Package>,<size>,<start Package>
+Method(m201, 3)
+{
+ Name(pr00, 0)
+
+ Name(ts, "m201")
+
+ Name(n000, 0)
+ Name(ncur, 0)
+
+ // Writing with indexes
+
+ Store(arg1, n000)
+ Store(0, ncur)
+
+ if (pr00) {
+ Store("Writing:", Debug)
+ }
+
+ While (n000) {
+ if (pr00) {
+ Store(ncur, Debug)
+ }
+ Store(arg2, Index(arg0, ncur))
+ Decrement(n000)
+ Increment(ncur)
+ }
+
+ // Reading (and verifying)
+
+ Store(arg1, n000)
+ Store(0, ncur)
+
+ if (pr00) {
+ Store("Reading:", Debug)
+ }
+
+ While (n000) {
+ if (pr00) {
+ Store(ncur, Debug)
+ }
+ Store(DeRefOf(Index(arg0, ncur)), Local1)
+ Store(ObjectType(Local1), Local0)
+ if (LNotEqual(Local0, 4)) {
+ err(ts, z051, 29, 0, 0, Local0, 4)
+ return (Ones)
+ }
+ Decrement(n000)
+ Increment(ncur)
+ }
+
+ Store(ObjectType(arg0), Local0)
+ if (LNotEqual(Local0, 4)) {
+ err(ts, z051, 30, 0, 0, Local0, 4)
+ }
+
+ Store(SizeOf(arg0), Local0)
+ if (LNotEqual(Local0, arg1)) {
+ err(ts, z051, 31, 0, 0, Local0, arg1)
+ }
+ return (Zero)
+}
+
+// More complex cases are performed into obj_deletion.asl test
+Method(m202, 1)
+{
+ Name(p000, Package(arg0) {})
+
+ // Write
+ m201(p000, arg0, Package() {81})
+
+ // Re-write
+ m201(p000, arg0, Package() {81})
+}
+
+// Write/rewrite Packages into Package (and verify)
+//
+// Verification of the contents of Packages is not
+// performed, too complex.
+Method(m203)
+{
+ Name(ts, "m203")
+
+ ts00(ts)
+
+// m202(255)
+ m202(1)
+}
+
+// Run-method
+Method(PCG0)
+{
+ Store("TEST: PCG0, Declare Package Object", Debug)
+
+ SRMT("m1f0")
+ m1f0()
+ SRMT("m1f1")
+ m1f1()
+ SRMT("m1f2")
+ m1f2()
+ SRMT("m1f3")
+ m1f3()
+// SRMT("m1f4")
+// m1f4()
+ SRMT("m1f6")
+ m1f6()
+// SRMT("m1f7")
+// m1f7()
+ SRMT("m1fa")
+ m1fa()
+ SRMT("m1fd")
+ m1fd()
+ SRMT("m200")
+ m200()
+ SRMT("m203")
+ m203()
+}
+
diff --git a/tests/aslts/src/runtime/collections/functional/reference/DECL.asl b/tests/aslts/src/runtime/collections/functional/reference/DECL.asl
new file mode 100644
index 000000000..0287f5ea8
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/reference/DECL.asl
@@ -0,0 +1,43 @@
+/*
+ * 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.
+ */
+
+
+Include("../../../../runtime/collections/functional/reference/ref00.asl")
+
+Include("../../../../runtime/collections/functional/reference/ref01.asl")
+Include("../../../../runtime/collections/functional/reference/ref02.asl")
+Include("../../../../runtime/collections/functional/reference/ref03.asl")
+Include("../../../../runtime/collections/functional/reference/ref04.asl")
+
+Include("../../../../runtime/collections/functional/reference/ref05.asl")
+Include("../../../../runtime/collections/functional/reference/ref06.asl")
+Include("../../../../runtime/collections/functional/reference/ref07.asl")
+
+Include("../../../../runtime/collections/functional/reference/ref50.asl")
diff --git a/tests/aslts/src/runtime/collections/functional/reference/MAIN.asl b/tests/aslts/src/runtime/collections/functional/reference/MAIN.asl
new file mode 100644
index 000000000..b8cba2a59
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/reference/MAIN.asl
@@ -0,0 +1,67 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "reference.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../runtime/cntl/DECL.asl")
+ Include("../../../../runtime/common/data.asl")
+ Include("../../../../runtime/common/dataproc.asl")
+ Include("../../../../runtime/common/datastproc.asl")
+ Include("../../../../runtime/common/operations.asl")
+ Include("../../../../runtime/collections/functional/reference/DECL.asl")
+// Include("../../../../runtime/collections/IMPL/ACPICA/common/icommon.asl")
+
+ Method(m1a8, 3)
+ {
+ Store("It is implemented in exc_ref.asl, not used here", Debug)
+ }
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../runtime/collections/functional/reference/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/functional/reference/Makefile b/tests/aslts/src/runtime/collections/functional/reference/Makefile
new file mode 100644
index 000000000..b086b346f
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/reference/Makefile
@@ -0,0 +1,7 @@
+# reference
+
+AMLMOD= reference
+COLL= ../..
+
+TOP= $(COLL)/../../..
+include $(COLL)/Makefile.install
diff --git a/tests/aslts/src/runtime/collections/functional/reference/RUN.asl b/tests/aslts/src/runtime/collections/functional/reference/RUN.asl
new file mode 100644
index 000000000..936613b88
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/reference/RUN.asl
@@ -0,0 +1,46 @@
+/*
+ * 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.
+ */
+
+
+if (STTT("Object references", TCLF, 10, W00a)) {
+ REF9()
+
+// Uncomment when the most bugs are fixed!
+//
+// SRMT("REF1")
+// REF1()
+// SRMT("REF2")
+// REF2()
+// SRMT("REF3")
+// REF3()
+// SRMT("REF4")
+// REF4()
+}
+FTTT()
diff --git a/tests/aslts/src/runtime/collections/functional/reference/SPEC b/tests/aslts/src/runtime/collections/functional/reference/SPEC
new file mode 100644
index 000000000..c9e9f2974
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/reference/SPEC
@@ -0,0 +1,2191 @@
+
+ Specification of test of the Object and Index References
+ and the call-by-reference convention.
+
+
+The test verifies most of the relevant important
+cases and combinations but not all.
+
+The layout of test specification:
+
+ The first sentence of each sub-test (say test) specification
+ contains the main purpose of the test and is the most
+ strict part of its specification. The additional
+ infortmation of the test specification are more or
+ less up to date and contains some reflections about
+ the test, they may contain even incorrect or obsolete
+ information, they may be ignored in the actual
+ implementation of the tests.
+
+ We dont delete the specifications of the incorrect
+ tests in order not to attempt to specify them again
+ in the future.
+
+ Some purposes of the tests dont contain the
+ specification of the expected normal behaviour of
+ the feature under testing. This takes place when the
+ ACPI specification doesnt assert anything definitely
+ on that or when an additional investigation involving
+ the BlackBox are needed.
+
+FEATURE:
+
+ The FEATURE entry of test designates briefly the contents
+ of sub-test (test), shows the main purpose of the test and
+ thus serve to avoid specifying the same test repeatedly and
+ simplifies to see the summary coverage of all sub-tests.
+
+ Nevertheless, we dont exclude that some assertions
+ are verified several times in different sub-tests.
+
+ Some actions really verified in test might not be shown
+ in FEATURE, though we were aimed to reflect that.
+
+For improving these specs:
+
+ 1) see the text references inserted through the specs below on
+ appropriateness of them and may be remove them at all or catch
+ them here at the top or..
+
+ACPI sections and terms involved:
+
+ 5.5.2.3 Method Calling Convention
+
+ Call-by-reference convention
+
+ 17.2.5.8 Rules for Storing and Copying Objects
+
+ Table 17-9 Object Storing and Copying Rules
+
+ 17.2.5.9 Rules for Reading and Writing Objects
+
+ 17.2.5.9.1 ArgX Objects
+ 17.2.5.9.2 LocalX Objects
+ 17.2.5.9.3 Named Objects
+
+ Operators involved:
+
+ RefOf, CondRefOf, Index, DerefOf,
+ Method, Return,
+ ArgX, LocalX, NamedX,
+ String, Buffer, Package,
+ ObjectType, SizeOf, Alias,
+ Field, IndexField, BankField, CreateField
+
+Note: the implicit conversion of result is verified in the
+ Complex Test of Result, but not verified here.
+
+Note: the {type,size,value} features of the references to all
+ type obects passed to Method (call-by-reference convention)
+ is verified by the (TEST_00.2) entry.
+
+Note: check in tests all the ways of keeping and passing (delivering)
+ References and Objects. Keep into mind while implementing the
+ tests (this may not be mentioned explicitly) that very important
+ is how the object is represented in operation:
+
+ - specify (Object or Reference) immediately
+ - pass them by LocalX
+ - pass by ArgX (intermediate keeping)
+ - pass by NamedX
+ - pass by the element of Package
+ - pass by the Method call (return value)
+ - pass as results of other operators
+
+Note: Field Unit and Buffer Field types passed to Method
+ are being converted to the Integer/Buffer.
+ Use BlackBox for to confirm this feature of Field Unit
+ and Buffer Field.
+
+Improve implementation of tests:
+
+ 1) the tests (sub-tests) specified below may currently be
+ implemented not completely - specification of test may be
+ more wide than the provided implementation of it. So, the
+ ways of improving the tests are implementing the specified
+ write/read operations for all the specified in test types
+ of WRITE/READ operators; implement the specified checkings
+ for all the specified in test types of DATA.
+
+ 2) add different type of name references: \x.x.x, ^x.
+
+ 3) the tests are mostly implemented for Arg0 and Local0.
+ Extend them for Arg{1-6} and Local{1-7} too.
+
+ 4) improve FEATURE entries: the way of improving the test is
+ analysing the implemented sub-tests desribing them more exactly
+ by FEATURE entries and then examining the summary coverage of
+ sub-tests basing on the FEATURE entries of them propose the
+ additional sub-tests.
+
+ 5) do additional sub-tests for all the situations which you can
+ think (propose) incorrect implementation.
+
+Global variables assignment applied in the tests:
+
+ c080 - name of test
+ c081 - absolute index of file initiating the checking
+ c082 - flag of test of exceptions
+ c083 - run verification of references (write/read):
+ 1 - Store
+ 2 - CopyObject
+ 3 - both Store and CopyObject
+ c084 - run verification of references (reading)
+ c085 - create the chain of references to LocalX, then dereference them
+ c086 - flag, run test till the first error
+ c087 - apply DeRefOf to ArgX-ObjectReference (but not rely
+ on the automatic dereference):
+ 17.2.5.9.1 ArgX Objects
+ 1) Read from ArgX parameters
+ ObjectReference - Automatic dereference, return
+ the target of the reference.
+ Use of DeRefOf returns the same.
+ c088 - test run mode; if non-zero, then run the entire tests,
+ but not only the simple example of test
+ c089 - flag of Reference, object otherwise
+ c08a - the value of the written Integer
+ c08b - do RefOf(ArgX) checkings
+ 1 - RefOf
+ 2 - CondRefOf
+
+Notation:
+
+ Read,
+ READ_OPERATOR,
+ Read operation - any access to the object which assumes evaluating
+ the object
+ Write,
+ WRITE_OPERATOR,
+ Write operation - designates all the ASL Operators which write results
+
+ ORef - the reference obtained by RefOf or CondRefOf
+ (Object Reference)
+ IRef - the reference obtained by Index
+ (Index Reference)
+
+ ORef-LocalX - ORef assigned to LocalX
+ IRef-LocalX - IRef assigned to LocalX
+ ORef-NamedX - ORef assigned to NamedX
+ IRef-NamedX - IRef assigned to NamedX
+ ORef-El_of_Package - ORef assigned to element of Package
+ IRef-El_of_Package - IRef assigned to element of Package
+ ORef-ArgX - ORef assigned to ArgX
+ IRef-ArgX - IRef assigned to ArgX
+
+ Arguments of Method
+
+ ArgX-Object - any type Object passed to Method by ArgX
+ ArgX-<type> - <type> type Object passed to Method by ArgX
+ ArgX-ORef - ORef passed to Method by ArgX
+ ArgX-IRef - IRef passed to Method by ArgX
+
+ RefOf - means both RefOf and CondRefOf operators
+
+ M0 - start Method of test
+ M1,M2... - Methods invoked from M0
+ M1-M2-M3 - the chain of invokations of Methods (started from M0)
+
+
+
+=========
+* TEST 00 (description referred to in other test specifications,
+ not applied as a particular test itself).
+=========
+
+
+1. Pass Method with the following:
+
+ a) Constants: types {1-16}
+ b) ArgX {0-6}
+ c) LocalX {0-7}
+ d) Named: types {1-16}
+ e) Immediate result of other operators
+ f) Immediate result of some Method
+ g) Immediate element of Package
+
+ Pass each of the ArgX of invoked Method
+ with each of the {a,b,c,d,e,f,g} values above.
+
+ In cases {b,c} the contents of {ArgX,LocalX}
+ should be each of types {1-16}.
+
+2. Check inside the Method that {types,values,size}
+ of the passed values are as expected.
+
+3. For all the ASL Operators which write results
+ direct the results into ArgX(s) of that Method.
+
+4. Check inside the Method that the types of ArgX(s)
+ after writing into them are as expected.
+
+5. After completion of the Method call, returning
+ from it, check that the original objects are not
+ changed {type,size,value}.
+
+SPEC:
+
+17.2.5.9.1 ArgX Objects
+
+1) Read from ArgX parameters
+ ObjectReference - Automatic dereference, return
+ the target of the reference.
+ Use of DeRefOf returns the same.
+
+
+==========
+* TEST 01: Read of ArgX-ORef with DerefOf
+==========
+
+
+SPEC: "Use of DeRefOf returns the same" as "automatic dereference"
+
+Do the same as in test TEST 00 (b,c,d), but before passing
+the objects to Method (M1) make references to them by RefOf
+and pass those References to Method (M1) but not Objects themselves.
+
+Before read operations do one DerefOf of the relevant ArgX.
+
+Read operations are any access (as an operand of any operator)
+to the contents of the object referenced by ArgX-ORef.
+
+Omit all the write operations to ArgX inside the invoked Method.
+
+FEATURE: ArgX-ORef:DerefOf:read
+
+
+==========
+* TEST 02: Read of ArgX-ORef without DerefOf (automatic dereference)
+==========
+
+
+FEATURE: ArgX-ORef:(NO DerefOf):read
+
+SPEC: "automatic dereference"
+
+Do the same as in test TEST 01, but omit DerefOf of the relevant ArgX.
+
+
+==========
+* TEST 03: Read of ArgX-IRef with DerefOf
+==========
+
+
+SPEC: "Use of DeRefOf returns the same" as "automatic dereference"
+
+Do the same as in test TEST 01, but for IRef.
+
+WARNING:
+
+The specification of DerefOf (see below) sounds incorrectly,
+because it works not only with Object Reference (ORef)
+but with IRef as well.
+
+ 17.5.27 DerefOf (Dereference an Object Reference)
+
+ If the Source evaluates to an object reference, the actual
+ contents of the object referred to are returned.
+
+FEATURE: ArgX-IRef:DerefOf:read
+
+
+==========
+* TEST 04: Read of ArgX-IRef without DerefOf (automatic dereference)
+==========
+
+
+SPEC: "automatic dereference"
+Do the same as in test TEST 03, but omit DerefOf of the relevant ArgX.
+FEATURE: ArgX-IRef:(NO DerefOf):read
+
+
+==========
+* TEST 05: Write into ArgX-Object
+==========
+
+
+Check that writing into ArgX-Object doesn't change the original objects
+passed to Method {type,size,value}.
+Actions differ the test TEST 01 only with the writing being performed.
+Do all the {1-5} items of TEST 00.
+FEATURE: ArgX-Object:write
+
+
+==========
+* TEST 06: Write into ArgX-ORef
+==========
+
+
+Check that writing into ArgX-ORef
+do change of the original objects {type,size,value}.
+
+Do the same as in test TEST 00 (b,c,d), but before passing
+the objects to Method (M1) make references to them by RefOf
+and pass those References to Method (M1) but not Objects themselves.
+
+Check that the original objects are changed {type,size,value}.
+FEATURE: ArgX-ORef:write
+
+
+==========
+* TEST 07: Write into ArgX-IRef
+==========
+
+
+Check the writing into ArgX-IRef
+(IRef to elements of String, Buffer and Package).
+
+Note (current implementation):
+ (ORef & IRef)
+
+ ArgX-IRef require applying of DerefOf,
+ though DerefOf is specified only for ORef.
+ But, attempts to write into ArgX-IRef fail.
+
+1. Pass Method with the following:
+
+Name(s000, "qwertyuiop")
+Name(b000, Buffer() {1,2,3,4,5,6,7,8,9})
+Name(p000, Package() {10,11,12,13,14,15,16})
+
+Store(Index(s000, 0, Local0), Local1)
+m000(Local0)
+m000(Local1)
+m000(Index(s000, 0, Local0))
+
+Store(Index(b000, 0, Local0), Local1)
+m000(Local0)
+m000(Local1)
+m000(Index(b000, 0, Local0))
+
+Store(Index(p000, 0, Local0), Local1)
+m000(Local0)
+m000(Local1)
+m000(Index(p000, 0, Local0))
+
+Note: use there (and everywhere else) these forms too:
+
+Store(Index(b000, 0), Local1)
+m000(Index(p000, 0))
+
+Do the same actions as in the TEST 00.
+
+5. After completion of the Method call, returning
+ from it, check the original objects {type,size,value}.
+ Use BlackBox for to clarify ACPI specification.
+
+FEATURE: ArgX-IRef:write
+
+
+==========
+* TEST 08: Write into IRef to ArgX-String-Buffer-Package obtained in Method
+==========
+
+
+Check the writing into IRef obtained inside the Method (M1)
+to the elements of the objects passed to it as parameters (ArgX-String,
+ArgX-Buffer, ArgX-Package).
+
+Note (current implementation):
+ (ORef & IRef)
+
+ IRef obtained inside the Method
+ allows to change the original object passed by ArgX.
+ But, there is no way to obtain ORef to the
+ original object and change that original object by
+ writing into reference (see RefOf tests below).
+
+1. Pass Method with the following:
+
+Name(s000, "qwertyuiop")
+Name(b000, Buffer() {1,2,3,4,5,6,7,8,9})
+Name(p000, Package() {10,11,12,13,14,15,16})
+
+m000(s000)
+m000(b000)
+m000(p000)
+
+m000("qwertyuiop")
+m000(Buffer(n){})
+m000(Package(n){})
+
+Do the same actions as in the TEST 00.
+
+3. Obtain the reference to the element of Object
+ passed by ArgX:
+
+ Store(Index(ArgX, 0, Local0), Local1)
+ Index(ArgX, 0)
+
+ and pass it to writing operators as a target reference
+ for all the ASL Operators which write results, like these:
+
+ Store(0x55555, Local0)
+ Store(0x66666, Local1)
+ Store(0x77777, Index(arg0, 0))
+
+5. After completion of the Method call, returning
+ from it, check the original objects {type,size,value}.
+ Use BlackBox for to clarify ACPI specification.
+
+FEATURE: ArgX-String:Index:IRef:write
+FEATURE: ArgX-Buffer:Index:IRef:write
+FEATURE: ArgX-Package:Index:IRef:write
+
+
+==========
+* TEST 09 (no test): Write into FieldUnit of ArgX-OperationRegion obtained in Method
+==========
+
+
+Check the writing into the Field Unit obtained inside the Method (M1)
+to the OperationRegion passed to it as a parameter.
+
+INCORRECT: ASL-gramaticaly incorrect, the test is omitted.
+ Field(arg0, ...) {}
+
+Note: Field Unit passed to Method converts to Integer/Buffer
+ (see the test in complex/misc.asl) thus not requires the
+ test where Field Unit is passed as a parameter.
+ See: Use BlackBox for to confirm this feature of Field Unit.
+
+1. Pass Method with the following:
+
+OperationRegion(r900, SystemMemory, 0x100, 0x100)
+
+m000(r900)
+
+3. Obtain the Field Unit to the OperationRegion passed by ArgX:
+
+ Field(ArgX, ByteAcc, NoLock, Preserve) {f900,8,f901,8,f902,8,f903,8}
+ BankField(ArgX, f901, 0, ByteAcc, NoLock, Preserve) {bn90,4}
+ IndexField(f902, f903, ByteAcc, NoLock, Preserve) {if90,8,if91,8}
+
+ and pass it to writing operators as a target reference
+ for all the ASL Operators which write results.
+
+5. After completion of the Method call, returning
+ from it, check the original objects {value}.
+ Use BlackBox for to clarify ACPI specification.
+
+FEATURE: ArgX-OperationRegion:Field:FieldUnit:write
+
+
+==========
+* TEST 10: Write into BufferField of ArgX-Buffer obtained in Method
+==========
+
+
+Check the writing into the Buffer Field obtained inside the Method (M1)
+to the ArgX-Buffer passed to it as a parameter.
+
+Note: Buffer Field passed to Method converts to Integer/Buffer
+ (see the test in complex/misc.asl) thus not requires the
+ test where Buffer Field is passed as a parameter.
+ See: Use BlackBox for to confirm this feature of Buffer Field.
+
+1. Pass Method with the following:
+
+Name(b000, Buffer() {1,2,3,4,5,6,7,8,9})
+
+m000(b000)
+
+Do the same actions as in the TEST 00.
+
+3. Obtain the Buffer Field to the Buffer passed by ArgX:
+
+ CreateField(ArgX, 0, 8, bf90)
+
+ and pass it to writing operators as a target reference
+ for all the ASL Operators which write results.
+
+5. After completion of the Method call, returning
+ from it, check the original objects {value}.
+ Use BlackBox for to clarify ACPI specification.
+
+FEATURE: ArgX-Buffer:CreateField:BufferField:write
+
+
+SPEC:
+
+17.2.5.9.1 ArgX Objects
+
+1) Read from ArgX parameters
+ Buffer – ... can create an Index, Field, or Reference to the buffer.
+ Package – ... can create an Index or Reference to the package.
+
+But why don't to create References to all other object types.
+
+Check RefOf of ArgX passed to Method.
+
+
+==========
+* TEST 11: RefOf(ArgX-Object)
+==========
+
+
+Check RefOf of ArgX-Object (ArgX is any type Object).
+
+Start Method (M0) the same as the TEST 00, but inside the invoked Method
+(M1), do RefOf to the ArgX containing the OBJECT. Verify the
+obtained ORef (ObjectType, SizeOf, DerefOf, value).
+
+Write into the obtained ORef and verify result
+(use immediate, ArgX, LocalX and NamedX ways delivering reference
+to the writing operator).
+
+Pass the result of RefOf to another Method (M2) for
+the following calculations as in the original test TEST 00.
+Check that the data refered to by ArgX of (M1) are changed {type,size,value}.
+Check that the original objects (M0) are not changed {type,size,value}.
+
+M0 {Object} --> M1 {RefOf(ArgX);write} --> M2 {write(ArgX)}
+ ^ Unchanged ^ Changed
+
+Check that M1-LocalX-ORef remains up to date
+after writing into M2-ArgX in M2 and thus updating the
+contents of the object referenced by M1-LocalX.
+
+FEATURE: ArgX-Object:RefOf:ORef:write:read
+FEATURE: ArgX-Object:RefOf:ORef:M2:write:read
+
+
+==========
+* TEST 12: DerefOf(RefOf(ArgX-Object))
+==========
+
+
+Check DerefOf(RefOf) of ArgX-Object (ArgX is any type Object)
+
+FEATURE: ArgX-Object:RefOf:ORef:DerefOf
+
+
+==========
+* TEST 13: RefOf(ArgX-ORef)
+==========
+
+
+Check RefOf of ArgX-ORef.
+
+The same as the TEST 06, but at first do RefOf to the ArgX
+containing the ORef to Object (M1), then pass the result
+of RefOf to another Method (M2) for the following calculations
+as in the original test.
+
+Actions similar to TEST 11.
+
+FEATURE: ArgX-ORef:RefOf:ORef:write:read
+FEATURE: ArgX-ORef:RefOf:ORef:M2:write:read
+
+
+==========
+* TEST 14: DerefOf(RefOf(ArgX-ORef))
+==========
+
+
+Check DerefOf(RefOf) of ArgX-ORef
+FEATURE: ArgX-ORef:RefOf:ORef:DerefOf
+
+
+==========
+* TEST 15: RefOf(ArgX-IRef)
+==========
+
+
+Check RefOf of ArgX-IRef.
+
+The same as the TEST 07, but at first do RefOf to the ArgX
+containing the IRef to Object (M1), then pass the result
+of RefOf to another Method (M2) for the following calculations
+as in the original test.
+
+FEATURE: ArgX-IRef:RefOf:ORef:write:read
+FEATURE: ArgX-IRef:RefOf:ORef:M2:write:read
+
+
+==========
+* TEST 16: DerefOf(RefOf(ArgX-IRef))
+==========
+
+
+Check DerefOf(RefOf) of ArgX-IRef
+FEATURE: ArgX-IRef:RefOf:ORef:DerefOf
+
+
+==========
+* TEST 17: RefOf(ArgX-String-Buffer-Package), check IRef
+==========
+
+
+Check RefOf of ArgX-String, ArgX-Buffer, ArgX-Package
+(check IRef).
+
+The same as the TEST 08, but at first do RefOf to the ArgX
+containing the (String/Buffer/Package) (M1), then pass the result
+of RefOf to another Method (M2) for the following calculations
+as in the original test.
+
+FEATURE: ArgX-String:RefOf:ORef:Index:IRef:write
+FEATURE: ArgX-Buffer:RefOf:ORef:Index:IRef:write
+FEATURE: ArgX-Package:RefOf:ORef:Index:IRef:write
+
+
+==========
+* TEST 18: RefOf(ArgX-OperationRegion), check FieldUnit
+==========
+
+
+Check RefOf of ArgX-OperationRegion
+(check Field Unit based on that OperationRegion).
+
+INCORRECT: ASL-gramaticaly incorrect, the test is omitted.
+ Field(DerefOf(arg0), ...) {}
+ Field(Local0, ...) {}
+ Field(arg0, ...) {}
+
+The same as the TEST 09, but at first do RefOf to the
+ArgX containing the OperationRegion (M1), then pass the result of
+RefOf to another Method (M2) for the following calculations
+as in the original test.
+
+FEATURE: ArgX-OperationRegion:RefOf:ORef:DerefOf:Field:FieldUnit:write
+FEATURE: ArgX-OperationRegion:RefOf:ORef:M2:DerefOf:Field:FieldUnit:write
+
+
+==========
+* TEST 19: RefOf(ArgX-Buffer), check BufferField
+==========
+
+
+Check RefOf of ArgX-Buffer
+(check Buffer Field based on that Buffer).
+
+The same as the TEST 10, but at first do RefOf to the ArgX
+containing the Buffer (M1), then pass the result of RefOf
+to another Method (M2) for the following calculations as in the
+original test.
+
+FEATURE: ArgX-Buffer:RefOf:ORef:CreateField:BufferField:write
+
+==========
+* TEST XX: ArgX-ORef on place of ArgY
+==========
+
+Check ArgX-ORef on the another than actually passed place (ArgY)
+(transfer ArgX to ArgY and run the TEST 06)
+
+FEATURE: ArgX-ORef:write_into_ArgY:write
+
+INCORRECT: not quite correct, because there is no way to
+ "transfer" ArgX-Reference from ArgX to ArgY.
+ In fact, the object assosiated with ArgX-Reference
+ is copied into ArgY or into the Object associated with
+ ArgY in ArgY-Reference case for any ASL-operation.
+
+ So, the test is transformed into another one (see below).
+
+The same as the TEST 06, but at first write ORef passed
+by Arg0 into Arg1 and then do all the read/write actions with Arg1
+(but not with Arg0).
+
+Method(m000, 2)
+{
+ Store(Arg0,Arg1)
+ CopyObject(Arg0,Arg1)
+ ...
+ Read/Write with Arg1 only
+}
+Method(m001, 2)
+{
+ Store(Arg0,Arg1)
+ CopyObject(Arg0,Arg1)
+ ...
+ Read/Write with Arg1 only
+}
+Store(RefOf(X000), Local0)
+m000(Local0,0)
+m000(RefOf(X000),0)
+...
+Check the value of X000, Y000 and Local0.
+
+Store(RefOf(X000), Local0)
+m001(Local0,0)
+m001(RefOf(X000),0)
+...
+Check the value of X000, Y000 and Local0.
+
+Do the same actions as in the TEST 00.
+
+5. After completion of the Method call, returning
+ from it, check the original object {type,size,value}
+ coresponding to Arg0.
+ Use BlackBox for to clarify ACPI specification.
+
+
+==========
+* TEST 20: Write ArgX to ArgY
+==========
+
+
+Check writing from ArgX to ArgY
+
+FEATURE: Store/CopyObject(ArgX-Object, ArgY-Object)
+FEATURE: Store/CopyObject(ArgX-Object, ArgY-ORef)
+FEATURE: Store/CopyObject(ArgX-Object, ArgY-IRef)
+
+FEATURE: Store/CopyObject(ArgX-ORef, ArgY-Object)
+FEATURE: Store/CopyObject(ArgX-ORef, ArgY-ORef)
+FEATURE: Store/CopyObject(ArgX-ORef, ArgY-IRef)
+
+FEATURE: Store/CopyObject(ArgX-IRef, ArgY-Object)
+FEATURE: Store/CopyObject(ArgX-IRef, ArgY-ORef)
+FEATURE: Store/CopyObject(ArgX-IRef, ArgY-IRef)
+
+
+SPEC:
+
+17.2.5.9.2 LocalX Objects
+ 1) Read from LocalX variables
+ ObjectReference - If performing a DeRefOf return the target
+ of the reference. Otherwise, return the
+ reference.
+
+==========
+* TEST XX: ArgX-ORef on place of LocalY
+==========
+
+Check that ArgX-ORef being transfer into LocalX lost its features
+(transfer ArgX to LocalX and run the TEST 06).
+
+FEATURE: ArgX-ORef:write_into_LocalX:write
+
+INCORRECT: not quite correct, because there is no way to
+ "transfer" ArgX-Reference from ArgX to LocalX.
+ In fact, the object assosiated with ArgX-Reference
+ is copied into LocalX (independantly on the value
+ of LocalX).
+
+So, the test is transformed into another one (see below).
+
+
+==========
+* TEST 21: Write ArgX to LocalY
+==========
+
+
+Check writing from ArgX to LocalY
+
+FEATURE: Store/CopyObject(ArgX-Object, LocalY)
+FEATURE: Store/CopyObject(ArgX-ORef, LocalY)
+FEATURE: Store/CopyObject(ArgX-IRef, LocalY)
+
+then overwrite LocalY which contains either
+Object or ORef or IRef.
+
+
+==========
+* TEST XX: ArgX-IRef on place of LocalY
+==========
+
+==========
+* TEST 22:
+==========
+
+
+The same as the TEST 21, but pass the
+IRef but not ORef.
+
+Done, in TEST 21. See INCORRECT in TEST 21.
+
+
+==========
+* TEST 23: Write into LocalX-ORef
+==========
+
+
+Generate LocalX-ORef and write to it.
+
+The same as the TEST 21, but obtain the ORef
+immediately and store it into LocalX.
+
+Example:
+ Store(RefOf(b000), Local0)
+ Store(0x11, Local0)
+
+After write operation into LocalX check that the original objects
+are unchanged {type,size,value}.
+
+FEATURE: ORef:write_into_LocalX:write
+
+
+==========
+* TEST 24: Write into LocalX-IRef
+==========
+
+
+The same as the TEST 23, but pass the IRef but not ORef.
+FEATURE: IRef:write_into_LocalX:write
+
+
+==========
+* TEST 25: Write into ArgX filled with ORef to global obtained in Method
+==========
+
+
+Check writing into ArgX which contains ORef to global
+object generated inside the Method (but not passed to it).
+
+The same as the TEST 20, but at first obtain the ORef
+to some global object and put it into ArgX and do all the read/write
+actions with that ArgX.
+
+Check the original object {type,size,value} coresponding to ArgX.
+Use BlackBox for to clarify ACPI specification.
+
+Example:
+ Store(RefOf(i000), ArgX)
+ Store(CondRefOf(i000), ArgX)
+
+FEATURE: ORef-to-global:write_into_ArgX:write
+
+
+==========
+* TEST 26: Write into ArgX filled with ORef to local obtained in Method
+==========
+
+
+Check writing into ArgX which contains ORef to local
+object generated inside the Method (but not passed to it).
+
+The same as the TEST 25 but use not global but local source objects:
+
+ c) LocalX {0-7}
+ d) Named: types {1-16}
+
+Check the original object {type,size,value} coresponding to ArgX.
+Use BlackBox for to clarify ACPI specification.
+
+Example:
+ Store(RefOf(i000), ArgX)
+ Store(CondRefOf(i000), ArgX)
+
+FEATURE: ORef-to-local:write_into_ArgX:write
+
+ISSUE: the same test for IRef
+
+
+SPEC:
+
+17.2.5.9.2 LocalX Objects
+
+17.2.5.8 Rules for Storing and Copying Objects
+
+Method LocalX variable:
+
+The object is copied to the destination with no conversion
+applied. Even if LocalX contains an Object Reference, it is
+overwritten.
+
+
+==========
+* TEST 27: CopyObject Object to LocalX
+==========
+
+
+Local0-Local7 can be written with any type object without any conversion
+(check CopyObject to LocalX).
+
+Write the same LocalX variable (use all the write operators for writing
+into LocalX) with all possible object types and ways of representing
+the source objects. Check that the resulting objects referenced by
+LocalX are the same as the original (or expected) ones {type,size,value}.
+Do these write and check actions for different type objects for the same
+LocalX, so we show that no conversion depending on the previous contents
+of the same LocalX takes place.
+
+Repeat the described checkings for each LocalX: {0-7}.
+
+FEATURE: Object:CopyObject_into_LocalX:verify
+
+
+==========
+* TEST 28: Store Object to LocalX
+==========
+
+
+Check the same as TEST 27 but for Store (check Store to LocalX)
+A set of available for Store types is restricted
+FEATURE: Object:Store_into_LocalX:verify
+
+
+==========
+* TEST 29: CopyObject ORef to LocalX
+==========
+
+
+Local0-Local7 can be written with ORef
+referencing any type object without any conversion.
+
+CopyObject the result of RefOf to LocalX
+
+Example:
+ CopyObject(RefOf(i000), Local0)
+ CopyObject(CondRefOf(i000), Local0)
+
+The same as the TEST 27, but obtain and write the ORef
+into LocalX and verify the contents of LocalX.
+
+FEATURE: ORef:CopyObject_into_LocalX:verify
+
+
+==========
+* TEST 30: Store ORef to LocalX
+==========
+
+
+Store the result of RefOf to LocalX
+(the same as TEST 29 but Store instead of CopyObject).
+
+Example:
+ Store(RefOf(i000), Local0)
+ Store(CondRefOf(i000), Local0)
+
+FEATURE: ORef:Store_into_LocalX:verify
+
+
+==========
+* TEST 31: CopyObject IRef to LocalX
+==========
+
+
+Local0-Local7 can be written with IRef without any conversion.
+
+CopyObject the result of Index to LocalX
+
+Example:
+ CopyObject(Index(s000, 1, Local0), Local1)
+
+The same as the TEST 29, but obtain and write the IRef but not ORef.
+FEATURE: IRef:CopyObject_into_LocalX:verify
+
+
+==========
+* TEST 32: Store IRef to LocalX
+==========
+
+
+Store the result of Index to LocalX
+(the same as TEST 31 but Store instead of CopyObject).
+
+Example:
+ Store(Index(s000, 1, Local0), Local1)
+
+FEATURE: IRef:Store_into_LocalX:verify
+
+
+==========
+* TEST 33: Mix of writing to LocalX
+==========
+
+
+Mix of all the legal ways enumerated in tests (TEST 27 - TEST 32)
+of initializing the LocalX:
+
+Example:
+ Store(RefOf(i000), Local0)
+ Store(CondRefOf(i000), Local0)
+ Store(Index(s000, 1, Local0), Local1)
+ Store(i000, Local0)
+
+ CopyObject(RefOf(i000), Local0)
+ CopyObject(CondRefOf(i000), Local0)
+ CopyObject(Index(s000, 1, Local0), Local1)
+ CopyObject(i000, Local0)
+
+ Add(x, y, Local0)
+ ...
+
+ISSUE: the same test for "initializing the ArgX"
+
+FEATURE: MIX:Object:CopyObject_into_LocalX:verify
+FEATURE: MIX:Object:Store_into_LocalX:verify
+FEATURE: MIX:ORef:CopyObject_into_LocalX:verify
+FEATURE: MIX:ORef:Store_into_LocalX:verify
+FEATURE: MIX:IRef:CopyObject_into_LocalX:verify
+FEATURE: MIX:IRef:Store_into_LocalX:verify
+
+
+SPEC:
+
+17.2.5.9.3 Named Objects
+
+
+==========
+* TEST 34: NamedX of any type
+==========
+
+
+Obtain the NamedX objects of all the types and check their {type,size,value}.
+SEE: it is implemented in name/name.asl
+FEATURE: NamedX:verify {type,size,value}
+
+
+==========
+* TEST 35: ORef and IRef to NamedX of any type
+==========
+
+
+The same as the TEST 34, but obtain and verify the ORef
+and IRef to named objects {type,size,value}.
+
+SEE: it is already verified by the following tests:
+
+TEST 01
+TEST 02
+TEST 03
+TEST 04
+TEST 06
+TEST 07
+
+FEATURE: NamedX:RefOf:ORef:verify {type,size,value}
+FEATURE: NamedX:Index:IRef:verify {type,size,value}
+
+
+==========
+* TEST 36: ArgX-ORef passed to another Method
+==========
+
+
+Check ArgX-ORef being passed further to another Method
+
+The same as the TEST 06, but from inside the Method (M1),
+call to another Method (M2) and pass it with the ArgX of
+(M1) containing the ORef.
+
+FEATURE: ArgX-ORef:M2:write:read
+FEATURE: ArgX-ORef:M2:...:M*:write:read
+
+
+==========
+* TEST 37: ArgX-IRef passed to another Method
+==========
+
+
+Check ArgX-IRef being passed further to another Method
+
+The same as the TEST 36, but for IRef.
+
+FEATURE: ArgX-IRef:M2:write:read
+FEATURE: ArgX-IRef:M2:...:M*:write:read
+
+
+==========
+* TEST 38: Write immediately into result of RefOf(Object)
+==========
+
+
+Check the immediate ORef (to any type object)
+being passed as a target destination of write operators.
+
+Do the following:
+
+WRITE_OPERATOR(XXXX, RefOf(ArgX))
+WRITE_OPERATOR(XXXX, RefOf(LocalX))
+WRITE_OPERATOR(XXXX, RefOf(NamedX))
+
+Example:
+ Store(XXX, RefOf(YYY))
+
+Initialize ArgX, LocalX, NamedX cosequetly with each {1-16} type object.
+Do this for all the ASL Operators which write results.
+Use BlackBox for to clarify ACPI specification.
+
+Note:
+though these expressions are applied in other sub-tests,
+nevertheles, this one (and some the following sub-tests
+which verify similar constructions) are supposed and have
+the perpose to verify this ability - immediate use of result
+of the operator generating reference - comprehensively.
+
+FEATURE: write(Object:RefOf:ORef)
+
+
+==========
+* TEST 39: Write immediately into result of Index(String)
+==========
+
+
+Check the immediate IRef to the element of String
+being passed as a target destination of write operators.
+
+Do the following:
+
+WRITE_OPERATOR(XXXX, Index(ArgX, 0))
+WRITE_OPERATOR(XXXX, Index(LocalX, 0))
+WRITE_OPERATOR(XXXX, Index(NamedX, 0))
+
+Example:
+ Store(XXX, Index(YYY, 1))
+ Store(XXX, Index(YYY, 1, ArgX))
+ Store(XXX, Index(YYY, 1, LocalX))
+ Store(XXX, Index(YYY, 1, NamedX))
+
+Do this for all the ASL Operators which write results.
+
+FEATURE: write(String:Index:IRef)
+
+
+==========
+* TEST 40: Write immediately into result of Index(Buffer)
+==========
+
+
+Check the immediate IRef to the element of Buffer
+being passed as a target destination of write operators.
+
+Do the following:
+
+WRITE_OPERATOR(XXXX, Index(ArgX, 0))
+WRITE_OPERATOR(XXXX, Index(LocalX, 0))
+WRITE_OPERATOR(XXXX, Index(NamedX, 0))
+
+Do this for all the ASL Operators which write results.
+FEATURE: write(Bufer:Index:IRef)
+
+
+==========
+* TEST 41: Store Object immediately into result of Index(Package(){Uninitialized})
+==========
+
+
+Check Store of available type Objects to the immediate IRef
+to the element of Package.
+
+Element of Package is an Uninitialized.
+
+Example:
+ Store(Object, Index(ArgX, 0))
+ Store(Object, Index(LocalX, 0))
+ Store(Object, Index(NamedX, 0))
+
+A set of available for Store types is restricted
+
+FEATURE: Store(Object, Index(Package(){Uninitialized}))
+
+
+==========
+* TEST 42 (no test): CopyObject Object immediately into result of Index(Package(){Uninitialized})
+==========
+
+
+Check CopyObject of any type Objects to the immediate IRef
+to the element of Package.
+
+Element of Package is an Uninitialized.
+
+CURRENTLY: compiler failed CopyObject(xx, Index(xx,xx)), so - no test.
+
+Example:
+ CopyObject(Object, Index(ArgX, 0))
+ CopyObject(Object, Index(LocalX, 0))
+ CopyObject(Object, Index(NamedX, 0))
+
+FEATURE: CopyObject(Object, Index(Package(){Uninitialized}))
+
+
+=========
+* TEST 43: Store ORef immediately into result of Index(Package(){Uninitialized})
+=========
+
+
+Check Store of ORef to the immediate IRef
+to the element of Package.
+
+Element of Package is an Uninitialized.
+
+Example:
+ Store(RefOf(Object), Index(ArgX, 0))
+ Store(RefOf(Object), Index(LocalX, 0))
+ Store(RefOf(Object), Index(NamedX, 0))
+
+FEATURE: Store(RefOf(Object), Index(Package(){Uninitialized}))
+
+
+==========
+* TEST 44: Store IRef immediately into result of Index(Package(){Uninitialized})
+==========
+
+
+Check Store of IRef to the immediate IRef
+to the element of Package.
+
+Element of Package is an Uninitialized.
+
+Example:
+ Store(Index(Object, 0), Index(ArgX, 0))
+ Store(Index(Object, 0), Index(LocalX, 0))
+ Store(Index(Object, 0), Index(NamedX, 0))
+
+FEATURE: Store(Index(Object,x), Index(Package(){Uninitialized}))
+
+
+==========
+* TEST 45: Store immediately into result of Index(Package(){Constants})
+==========
+
+
+Check the immediate IRef to the element of Package
+being passed as a target destination of write operators.
+
+Element of Package is an immediate constant {Integer,String,Buffer,Package}.
+
+Do the following:
+
+WRITE_OPERATOR(XXXX, Index(ArgX, 0))
+WRITE_OPERATOR(XXXX, Index(LocalX, 0))
+WRITE_OPERATOR(XXXX, Index(NamedX, 0))
+
+Do this for all the ASL Operators which write results.
+
+FEATURE: write(x, Index(Package(){Constant}))
+
+
+==========
+* TEST 46: Store immediately into result of Index(Package(){NamedX {1-16}})
+==========
+
+Check the immediate IRef to the element of Package
+being passed as a target destination of write operators.
+
+Element of Package is a named object of any type: NamedX {1-16}.
+
+Do the following:
+
+WRITE_OPERATOR(XXXX, Index(ArgX, 0))
+WRITE_OPERATOR(XXXX, Index(LocalX, 0))
+WRITE_OPERATOR(XXXX, Index(NamedX, 0))
+
+Do this for all the ASL Operators which write results.
+
+FEATURE: write(x, Index(Package(){NamedX}))
+
+
+==========
+* TEST 47: Store immediately into result of Index(Package(){ORef to NamedX {1-16}})
+==========
+
+
+Check the immediate IRef to the element of Package
+being passed as a target destination of write operators.
+
+Element of Package is a ORef to the named object
+of any type: NamedX {1-16}.
+
+Do the following:
+
+WRITE_OPERATOR(XXXX, Index(ArgX, 0))
+WRITE_OPERATOR(XXXX, Index(LocalX, 0))
+WRITE_OPERATOR(XXXX, Index(NamedX, 0))
+
+Do this for all the ASL Operators which write results.
+Check that the relevant elements of Package are properly changed.
+Check that the original data are not changed.
+
+FEATURE: Store(Object, Index(Package(){ORef}))
+
+
+==========
+* TEST 48: Store immediately into result of Index(Package(){IRef})
+==========
+
+
+Check the immediate IRef to the element of Package
+being passed as a target destination of write operators.
+
+Element of Package is an IRef to the element of another
+object: {String, Buffer, Package}.
+
+Do the following:
+
+WRITE_OPERATOR(XXXX, Index(ArgX, 0))
+WRITE_OPERATOR(XXXX, Index(LocalX, 0))
+WRITE_OPERATOR(XXXX, Index(NamedX, 0))
+
+Do this for all the ASL Operators which write results.
+Check that the relevant elements of Package are properly changed.
+Check that the original data are not changed.
+
+Note: TEST 07 checks the writing into IRef passed
+ to Method referencing elements of Package.
+
+FEATURE: Store(Object, Index(Package(){IRef}))
+
+
+==========
+* TEST 49: ORef-LocalX
+==========
+
+FEATURE: Store(RefOf(), LocalX)
+FEATURE: Copy(RefOf(), LocalX)
+
+
+==========
+* TEST 50: ORef-ArgX
+==========
+
+FEATURE: Store(RefOf(), ArgX)
+FEATURE: Copy(RefOf(), ArgX)
+
+SPEC:
+
+5.5.2.3 Method Calling Convention
+
+Generally, the objects passed to a control method via the ArgX
+terms cannot be directly written or modified by the called method.
+In other words, when an ArgX term is used as a target operand in an
+ASL statement, the existing ArgX object is not modified. Instead,
+the new object replaces the existing object and the ArgX term
+effectively becomes a LocalX term.
+
+
+==========
+* TEST 51: ORef-NamedX
+==========
+
+FEATURE: Store(RefOf(), NamedX)
+FEATURE: Copy(RefOf(), NamedX)
+
+
+==========
+* TEST 52: ORef-El_of_Package
+==========
+
+FEATURE: Store(RefOf(), Index())
+FEATURE: Copy(RefOf(), Index())
+
+
+==========
+* TEST 53: IRef-LocalX
+==========
+
+FEATURE: Store(Index(), LocalX)
+FEATURE: Store(LocalX, Index())
+FEATURE: Copy(Index(), LocalX)
+FEATURE: Copy(LocalX, Index())
+
+
+==========
+* TEST 54: IRef-ArgX
+==========
+
+FEATURE: Store(Index(), ArgX)
+FEATURE: Store(ArgX, Index())
+FEATURE: Copy(Index(), ArgX)
+FEATURE: Copy(ArgX, Index())
+
+
+==========
+* TEST 55: IRef-NamedX
+==========
+
+FEATURE: Store(Index(), NamedX)
+FEATURE: Store(NamedX, Index())
+FEATURE: Copy(Index(), NamedX)
+FEATURE: Copy(NamedX, Index())
+
+
+==========
+* TEST 56: IRef-El_of_Package
+==========
+
+FEATURE: Store(Index(), Index())
+FEATURE: Copy(Index(), Index())
+FEATURE: Store(Index(arg0, x), Local0)
+
+
+==========
+* TEST 57: Store total
+==========
+
+
+When this satart work the user will feel himself free
+in the way coding its toughts.
+
+Store(ImageX , RefOf())
+Store(ArgX , RefOf())
+Store(LocalX , RefOf())
+Store(NamedX , RefOf())
+Store(RefOf() , RefOf())
+Store(Index() , RefOf())
+Store(DerefOf() , RefOf())
+
+Store(ImageX , Index())
+Store(ArgX , Index())
+Store(LocalX , Index())
+Store(NamedX , Index())
+Store(RefOf() , Index())
+Store(Index() , Index())
+Store(DerefOf() , Index())
+
+Store(ImageX , DerefOf())
+Store(ArgX , DerefOf())
+Store(LocalX , DerefOf())
+Store(NamedX , DerefOf())
+Store(RefOf() , DerefOf())
+Store(Index() , DerefOf())
+Store(DerefOf() , DerefOf())
+
+Store(ImageX , ArgX)
+Store(ArgX , ArgX)
+Store(LocalX , ArgX)
+Store(NamedX , ArgX)
+Store(RefOf() , ArgX)
+Store(Index() , ArgX)
+Store(DerefOf() , ArgX)
+
+Store(ImageX , LocalX)
+Store(ArgX , LocalX)
+Store(LocalX , LocalX)
+Store(NamedX , LocalX)
+Store(RefOf() , LocalX)
+Store(Index() , LocalX)
+Store(DerefOf() , LocalX)
+
+Store(ImageX , NamedX)
+Store(ArgX , NamedX)
+Store(LocalX , NamedX)
+Store(NamedX , NamedX)
+Store(RefOf() , NamedX)
+Store(Index() , NamedX)
+Store(DerefOf() , NamedX)
+
+Verify all the aspects not including conversion issues.
+Verify all the actions comprehensively enumerated in the
+table. Do this comprehensive test after all the particular
+bugs will be fixed. Now, due to the bugs, it looks difficult.
+Extend in every possible way this test, see top of this spec,
+as far as fixing the bugs.
+
+
+==========
+* TEST 58: CopyObject total
+==========
+
+
+When this satart work the user will feel himself free
+in the way coding its toughts.
+
+Copy(ImageX , RefOf())
+Copy(ArgX , RefOf())
+Copy(LocalX , RefOf())
+Copy(NamedX , RefOf())
+Copy(RefOf() , RefOf())
+Copy(Index() , RefOf())
+Copy(DerefOf() , RefOf())
+
+Copy(ImageX , Index())
+Copy(ArgX , Index())
+Copy(LocalX , Index())
+Copy(NamedX , Index())
+Copy(RefOf() , Index())
+Copy(Index() , Index())
+Copy(DerefOf() , Index())
+
+Copy(ImageX , DerefOf())
+Copy(ArgX , DerefOf())
+Copy(LocalX , DerefOf())
+Copy(NamedX , DerefOf())
+Copy(RefOf() , DerefOf())
+Copy(Index() , DerefOf())
+Copy(DerefOf() , DerefOf())
+
+Copy(ImageX , ArgX)
+Copy(ArgX , ArgX)
+Copy(LocalX , ArgX)
+Copy(NamedX , ArgX)
+Copy(RefOf() , ArgX)
+Copy(Index() , ArgX)
+Copy(DerefOf() , ArgX)
+
+Copy(ImageX , LocalX)
+Copy(ArgX , LocalX)
+Copy(LocalX , LocalX)
+Copy(NamedX , LocalX)
+Copy(RefOf() , LocalX)
+Copy(Index() , LocalX)
+Copy(DerefOf() , LocalX)
+
+Copy(ImageX , NamedX)
+Copy(ArgX , NamedX)
+Copy(LocalX , NamedX)
+Copy(NamedX , NamedX)
+Copy(RefOf() , NamedX)
+Copy(Index() , NamedX)
+Copy(DerefOf() , NamedX)
+
+Verify all the aspects not including conversion issues.
+Verify all the actions comprehensively enumerated in the
+table. Do this comprehensive test after all the particular
+bugs will be fixed. Now, due to the bugs, it looks difficult.
+Extend in every possible way this test, see top of this spec,
+as far as fixing the bugs.
+
+
+==========
+* TEST 59: Mix of Store and CopyObject total
+==========
+
+
+Mix of all the actions enumerated in two tests above.
+Do it after the current bugs fixing.
+
+
+==========
+* TEST 60: Package total
+==========
+
+When this starts work the user will feel himself free
+in the way coding its toughts.
+
+Do this comprehensive test after all the particular
+bugs will be fixed. Now, due to the bugs, it looks
+difficult.
+Extend in every possible way this test, see top of this spec,
+as far as fixing the bugs.
+
+Duplicate it for Store and Copy.
+
+Concentrate all the issues declaring and accessing
+elements of Package. Would be useful consider the
+particular aspects enumerated below as elements of
+the total table - do (in maximum) all the combinations
+of the elements of the table. Specify as many different
+aspects as possible.
+
+Aspects:
+
+Read immediate image element of Package
+All the ways reading element of Package
+...will be continued
+
+/*
+SEE these and add to "Aspects":
+
+1. Put immediate constant as an element of Package and access it
+ with and without additional DerefOf.
+
+2. Put NamedX {1-16} as an element of Package and access it
+ with and without additional DerefOf.
+
+REMAINED TO DO THESE: 3 and 4
+=====================
+
+3. Put ORef (to any type object) as an element of Package
+ and access it with and without additional DerefOf.
+
+4. Put IRef (to element of String, Buffer, Package)
+ as an element of Package and access it with and without
+ additional DerefOf.
+
+* TEST 6x: Read element of Package without DerefOf
+* TEST 6x: Write element of Package
+* TEST 6x: Read element of Package
+* TEST 6x: Method as an element of Package
+*/
+
+
+==========
+* TEST 61: String total
+==========
+
+
+Do this test similar to "Package total"
+when the major bugs will be fixed.
+
+
+==========
+* TEST 62: Buffer total
+==========
+
+
+Do this test similar to "Package total"
+when the major bugs will be fixed.
+
+
+ THE REFERENCE CALCULATIONS
+ ==========================
+
+
+==========
+* TEST 63: All the legal ways of WRITING ORef reference to target location
+==========
+
+
+All the locations should show the same identical functionality.
+
+NamedX - types 1-16
+Named_X - types 1-4,6-13,15,16 (except Buffer Field & Field Unit)
+
+ 63.0 Store
+
+ 1. Store(RefOf(NamedX), LocalX)
+ 2. Store(RefOf(NamedX), ArgX-Object)
+ 3. CopyObject(
+ RefOf(NamedX), Named_X)
+ Store(RefOf(NamedX), Named_X)
+ 4. Store(RefOf(NamedX), ArgX-ORef-to-LocalX)
+ 5. Store(RefOf(NamedX), ArgX-ORef-to-ArgX)
+ 6. CopyObject(
+ RefOf(NamedX),
+ ArgX-ORef-to-Named_X)
+ Store(RefOf(NamedX), ArgX-ORef-to-Named_X)
+ 7. Store(RefOf(NamedX), ArgX-IRef-to-El_of_Package)
+ 8. Store(RefOf(NamedX), RefOf(Named_X))
+ 9. Store(RefOf(NamedX), Index(Package, 0))
+10. Store(RefOf(NamedX), Method())
+11. Store(RefOf(NamedX), Method(x))
+12. Store(RefOf(NamedX), DerefOf(Expr_resulting_in_ORef))
+
+ 63.1 Particular (not all) cases of (12)
+
+13. Store(RefOf(NamedX), DerefOf(ArgX-ORef-to-LocalX))
+14. Store(RefOf(NamedX), DerefOf(ArgX-ORef-to-ArgX))
+15. CopyObject(
+ RefOf(NamedX),
+ ArgX-ORef-to-Named_X)
+ Store(RefOf(NamedX), DerefOf(ArgX-ORef-to-Named_X))
+16. Store(RefOf(NamedX), DerefOf(ArgX-IRef-to-El_of_Package))
+17. Store(RefOf(NamedX), DerefOf(RefOf(Named_X)))
+18. Store(RefOf(NamedX), DerefOf(Index(Package, 0)))
+19. Store(RefOf(NamedX), DerefOf(Method()))
+20. Store(RefOf(NamedX), DerefOf(Method(x)))
+
+ 63.2 CopyObject
+
+21. CopyObject(RefOf(NamedX), LocalX)
+22. CopyObject(RefOf(NamedX), ArgX-Object)
+23. CopyObject(RefOf(NamedX), Named_X)
+24. CopyObject(RefOf(NamedX), ArgX-ORef-to-LocalX)
+25. CopyObject(RefOf(NamedX), ArgX-ORef-to-ArgX)
+26. CopyObject(RefOf(NamedX), ArgX-ORef-to-Named_X)
+27. CopyObject(RefOf(NamedX), ArgX-IRef-to-El_of_Package)
+
+ 63.3 CopyObject (Compiler failed)
+
+28. CopyObject(RefOf(NamedX), Index(Package, 0))
+
+
+==========
+* TEST 64: All the legal ways of WRITING IRef reference to target location
+==========
+
+
+The same as TEST 63 but Index() instead of RefOf()
+
+Example:
+
+ 1. Store(Index(XXX,0), LocalX)
+
+ XXX - String, Buffer, Package.
+
+Additional are these given by Y below:
+
+ a. Index(x,0,y)
+ b. Store(Index(x,0,y), XXX)
+
+
+==========
+* TEST 65: All the legal SOURCES of ORef reference
+==========
+
+
+Full test.
+Do all the options enumerated in the tables 63.0-63.2.
+Take each element of table 65.x below (XXX) instead of
+RefOf() in 63.0-63.2.
+
+Example:
+
+ 1. Store(XXX, LocalX)
+
+ XXX - all the types of sources of reference
+
+ Types of locations according to the right parts of 63.x tables
+
+ 65.0 (from 63.0 Store)
+
+ 1. ORef-LocalX // ORef reference assigned to LocalX
+ 2. ORef-ArgX // ORef reference assigned to ArgX effectively local
+ 3. ORef-Named_X // ORef reference assigned to Named_X
+ 4. ORef-ArgX-ORef-to-LocalX // ORef reference assigned to LocalX, and ORef reference
+ // to that LocalX is passed to Method
+ 5. ORef-ArgX-ORef-to-ArgX // ORef reference assigned to "ArgX effectively local",
+ // and ORef reference to that ArgX is passed to Method
+ 6. ORef-ArgX-ORef-to-Named_X // ORef reference assigned to Named_X, and ORef reference
+ // to that Named_X is passed to Method
+ 7. ORef-ArgX-IRef-to-El_of_Package // ORef reference assigned to the element of Package,
+ // and IRef reference to that element is passed to Method
+ 8. RefOf(Named_X)
+ 9. Index(Package, 0)
+10. Method()
+11. Method(x)
+12. DerefOf(Expr_resulting_in_ORef)
+
+ 65.1 (from 63.1 Particular (not all) cases of (12))
+
+13. DerefOf(ArgX-ORef-to-LocalX)
+14. DerefOf(ArgX-ORef-to-ArgX)
+15. DerefOf(ArgX-ORef-to-Named_X)
+16. DerefOf(ArgX-IRef-to-El_of_Package)
+17. DerefOf(RefOf(Named_X))
+18. DerefOf(Index(Package, 0))
+19. DerefOf(Method())
+20. DerefOf(Method(x))
+
+Note: DerefOf(X) here means returning some reference pointed by X
+
+
+==========
+* TEST 66: All the legal SOURCES of IRef reference
+==========
+
+
+==========
+* TEST 67: All the legal ways to READ the object pointed to by ORef reference
+==========
+
+
+==========
+* TEST 68: All the legal ways to READ the object pointed to by IRef reference
+==========
+
+
+==========
+* TEST 69: All the legal ways to WRITE to the object pointed to by ORef reference
+==========
+
+
+==========
+* TEST 70: All the legal ways to WRITE to the object pointed to by IRef reference
+==========
+
+
+==========
+* TEST 71: All the legal ways of READ automatic dereference
+==========
+
+
+==========
+* TEST 72: All the legal ways of WRITE automatic dereference
+==========
+
+
+
+
+
+====================================================================
+==== SEE LATER CAREFULLY, SOME OF THE SUB-TESTS BELOW PERHAPS ====
+==== ARE OLREADY IMPLEMENTED IN THE TESTS ABOVE: ====
+====================================================================
+
+
+
+
+SPEC:
+
+17.5.102 Return
+
+Arg can be any valid object or reference.
+
+
+==========
+* TEST 73: Return ORef reference
+==========
+
+
+Clarify that the talk is actually about the ORef
+and IRef (otherwise do only fixing of the ACPI
+specification and omit the things below).
+
+Pass the ORef and IRef references
+through the Method without any change only returning it.
+After returning from the Method, check that all the source
+features of the references are unchanged.
+
+
+==========
+* TEST 74: Return IRef reference
+==========
+
+
+SPEC:
+
+17.5.13 CondRefOf
+
+On failure, Destination is unchanged and the execution
+result of this operation is the value False.
+
+
+==========
+* TEST 75:
+==========
+
+
+Run CondRefOf in false conditions and check that FALSE
+is returned and check that Destination is unchanged.
+
+
+SPEC:
+
+17.5.27 DerefOf
+
+If the Source evaluates to a string, the string is
+evaluated as an ASL name (relative to the current scope)
+and the contents of that object are returned.
+
+
+==========
+* TEST 76:
+==========
+
+
+Check the asertion above.
+
+
+SPEC:
+
+17.5.27 DerefOf
+
+If the object specified by Source does not exist
+then a fatal error is generated.
+
+
+==========
+* TEST 77:
+==========
+
+
+Check the asertion above.
+
+
+SPEC:
+
+17.5.86 ObjectType
+
+Notice that if this operation is performed on an
+object reference such as one produced by the Alias,
+Index, or RefOf statements, the object type of the
+base object is returned.
+
+
+==========
+* TEST 78:
+==========
+
+
+The asertion above has been verified for Index and RefOf
+cases by all the tests above by the (TEST_00.2) entry.
+
+Check it for the Alias case in this test.
+
+
+SPEC:
+
+17.5.108 SizeOf
+
+For an object reference, the size of the referenced
+object is returned.
+
+
+==========
+* TEST 79:
+==========
+
+
+Check SizeOf for ORef.
+
+
+==========
+* TEST 80:
+==========
+
+
+Check SizeOf for IRef.
+
+
+==========
+* TEST 81:
+==========
+
+
+Check SizeOf for Alias.
+
+
+SPEC:
+
+17.5.97 RefOf
+
+If the Object does not exist, the result of a RefOf
+operation is fatal.
+
+
+==========
+* TEST 82:
+==========
+
+
+Run RefOf in false conditions and check that exception occurs.
+
+
+==========
+* TEST 83:
+==========
+
+
+All the possible ways to keep/pass/transfer the ORef
+safes all its features.
+
+
+==========
+* TEST 84:
+==========
+
+
+All the possible ways to keep/pass/transfer the IRef
+safes all its features.
+
+
+==========
+* TEST 85:
+==========
+
+
+Exercise the tricky way of writing everywhere.
+Attempt to work with the keeped somewhere references.
+Store everywhere the reference than do DerefOf
+and pass the result immediately to the write operators.
+
+Store(0x12345678, Local0)
+Store(Index(xxx, 0), Local0)
+Store(RefOf(xxx, 0), Local0)
+ORef passed by ArgX
+IRef passed by ArgX
+...
+
+Store(0, Derefof(Refof(Local0)))
+
+
+==========
+* TEST 86:
+==========
+
+
+Check presense/absence of Result conversion while writing
+to ORef.
+
+Do that without details.
+Details are to be exercised in onother separate test.
+
+
+==========
+* TEST 87:
+==========
+
+
+Check attempts to keep References in NamedX.
+
+
+==========
+* TEST 88:
+==========
+
+
+Check DerefOf(RefOf(DerefOf(RefOf(ArgX)))
+See the test of exceptions exc_ref.
+
+
+==========
+* TEST 89:
+==========
+
+
+The same as TEST 26 but for IRef.
+
+Example:
+ Store(Index(s000, 1, Arg0), Arg1)
+
+
+==========
+* TEST 90:
+==========
+
+
+Check References to the different relative and root names.
+
+Example:
+ ^XXXX
+ \XXXX.XXXX
+ ...
+
+
+==========
+* TEST 91:
+==========
+
+
+In all the cases specified by tests TEST 38 - TEST 48
+check ObjectType and SizeOf operators and say there that
+DerefOf of these immediate cases is verified in TEST XX - TEST XX
+(no more ability to use immediate result of RefOf/Index).
+
+
+==========
+* TEST 92:
+==========
+
+From: Moore, Robert
+Sent: Thursday, November 10, 2005 2:35 AM
+To: Podrezov, Valery A; Suietov, Fiodor F
+Subject: FW: Support of Local Reference in the ACPI CA
+
+
+Separately (though such are already):
+put reference into element of Package
+and then write another reference into
+that element of that Package.
+No any correlation must be.
+
+
+
+SEE LATER AND REMOVE THESE RECORDS:
+===================================
+
+/*
+SEE: where these take place, note them:
+FEATURE: write any type reference: Store(RefOf(Int,Str,...TZone,Region), XXXX)
+FEATURE: write into LocalX containing any type Index/RefOf reference: Store(RefOf(Int,Str,...TZone,Region), XXXX)
+*/
+
+/*
+SEE:
+Index(XXXX, x, NamedX)
+DerefOf(NamedX)
+Store(RefOf(XXXX), NamedX))
+DerefOf(NamedX)
+*/
+
+/*
+specify and verify all the ways storing,keeping references
+and the following using of reference
+*/
+
+/*
+1.1.1 RefOf (Create Object Reference)
+Syntax
+RefOf (Object) => ObjectReference
+Arguments
+Object can be any object type (for example, a package, a device object, and so on).
+Description
+Returns an object reference to Object. If the Object does not exist,
+the result of a RefOf operation is fatal. Use the CondRefOf term in
+cases where the Object might not exist.
+The primary purpose of RefOf() is to allow an object to be passed to
+a method as an argument to the method without the object being evaluated
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+at the time the method was loaded.
+*/
+
+/*
+collect all the ways writing the value by the references
+in the particular test
+*/
+
+/*
+RefOf(ArgX)
+RefOf(LocalX)
+*/
+
+/*
+Remove it!!!!!!!!!!!!!
+TEST 49
+
+Do the same as the tests {TEST 38 - TEST 48},
+but store intermediately the values of both type References,
+RefOf(X) and Index(X), into ArgX, LocalX, NamedX
+before passing them to WRITE_OPERATOR:
+
+Do the following:
+
+Store(RefOf(ArgX), LocalY)
+Store(RefOf(LocalX), LocalY)
+Store(RefOf(NamedX), LocalY)
+Store(Index(ArgX, 0, LocalY), LocalZ)
+Store(Index(LocalX, 0, LocalY), LocalZ)
+Store(Index(NamedX, 0, LocalY), LocalZ)
+
+Store(RefOf(ArgX), ArgY)
+Store(RefOf(LocalX), ArgY)
+Store(RefOf(NamedX), ArgY)
+Store(Index(ArgX, 0, ArgY), ArgZ)
+Store(Index(LocalX, 0, ArgY), ArgZ)
+Store(Index(NamedX, 0, ArgY), ArgZ)
+
+Store(RefOf(ArgX), NamedY)
+Store(RefOf(LocalX), NamedY)
+Store(RefOf(NamedX), NamedY)
+Store(Index(ArgX, 0, NamedY), NamedZ)
+Store(Index(LocalX, 0, NamedY), NamedZ)
+Store(Index(NamedX, 0, NamedY), NamedZ)
+
+WRITE_OPERATOR(XXXX, ArgY)
+WRITE_OPERATOR(XXXX, LocalY)
+WRITE_OPERATOR(XXXX, NamedY)
+
+WRITE_OPERATOR(XXXX, ArgZ)
+WRITE_OPERATOR(XXXX, LocalZ)
+WRITE_OPERATOR(XXXX, NamedZ)
+
+INCORRECT:
+
+ there is no any way, except DerefOf operator, how
+ to use the value of Reference keeped intermediately
+ in any type object.
+
+So, all the write operators:
+
+ WRITE_OPERATOR(XXXX, ArgZ)
+ WRITE_OPERATOR(XXXX, LocalZ)
+ WRITE_OPERATOR(XXXX, NamedZ)
+
+will write into ArgZ, LocalZ and NamedZ but NOT
+into the References containend into them (mean
+containend into ArgZ, LocalZ and NamedZ).
+
+????????????????? !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+enumerate here (or specify and implement) the tests which verify:
+ "will write into ArgZ, LocalZ and NamedZ but NOT
+ into the References containend into them"
+????????????????? !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+*/
+
+/*
+SEE: 0011_take_this/bugs/0012
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+SEE aslts that all these are implemented.
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+Store(Index(arg0, V001), i003)
+Store(RefOf(i000), i003)
+
+Store(Index(arg0, V001, Index(p000, 0)), Index(p000, 1))
+Store(RefOf(xxx), RefOf(xxx))
+
+test of printing references to all the possible types:
+*/
+/*
+describe and demo for the implicit
+conversion of String (references to the end of string
+should ???????) - also Packages, Buffers,...
+presence of references to such objects should cause
+exceptions (???????????? !!!!!!!!!!!!).
+*/ \ No newline at end of file
diff --git a/tests/aslts/src/runtime/collections/functional/reference/TABLES b/tests/aslts/src/runtime/collections/functional/reference/TABLES
new file mode 100644
index 000000000..6c813ba66
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/reference/TABLES
@@ -0,0 +1,493 @@
+
+ Collection of the functional information about the
+ Object Reference and the call-by-reference convention.
+
+
+
+NOTATIONS:
+
+x - impossible to generate situation
+c - expected is a compiler error
+e - is not caught by compiler but causes exception
++ - expected is a positive result
+? - should be more investigated
+... - means everywhere below too
+
+ A. ALL THE LEGAL WAYS TO GENERATE REFERENCES
+
+ (means that Debug reports the obtained object like this:
+ [ACPI Debug] Reference: 004D4068)
+ ^^^^^^^^^^
+
+
+
+
+ TABLE 1: all the legal ways to generate references to the
+ immediate images (constants)
+
+--------------------|---------------------------|-----------|-----------|-----------|
+ Type | Examples | Index | RefOf | CondRefOf |
+ | | I IR | R | C CR |
+--------------------|---------------------------|-----------|-----------|-----------|
+ 0 Uninitialized | | x x | x | x x |
+ 1 Integer | 0xabcdef | c c | c | c c |
+ 2 String | "qwrtu" | + + | c | c c |
+ 3 Buffer | Buffer(){7} | + + | c | c c |
+ 4 Package | Package(){8} | + + | c | c c |
+ 5 Field Unit | Field(..) {f000,..} | c c | c | c c |
+ | BankField(..) {bkf0..} | c c | c | c c |
+ | IndexField(..) {if00..} | c c | c | c c |
+ 6 Device | Device(d000) {OL} | c c | c | c c |
+ 7 Event | Event(e000) | c c | c | c c |
+ 8 Method | Method(m000) {return(0)} | c c | c | c c |
+ 9 Mutex | Mutex(mx00, 0) | c c | c | c c |
+10 Operation Region | OperationRegion(r000,..) | c c | c | c c |
+11 Power Resource | PowerResource(pwr0,..){OL}| c c | c | c c |
+12 Processor | Processor(prc0,..){OL} | c c | c | c c |
+13 Thermal Zone | ThermalZone(tz00){OL} | c c | c | c c |
+14 Buffer Field | Create*Field(..,bf00) | c c | c | c c |
+15 DDB Handle | | x x | x | x x |
+16 Debug Object | Debug | c c | c | c c |
+--------------------|---------------------------|-----------|-----------|-----------|
+
+Examples of I:
+
+Store(Index("qwrtyuiop", 5), Local0)
+Store(Index(Buffer() {1,2,3,4,5,6,7,8}, 5), Local0)
+Store(Index(Package() {1,2,3,4,5,6,7,8}, 5), Local0)
+
+Examples of IR:
+
+Store(Index("qwrtyuiop", 5, Local1), Local0)
+Store(Index(Buffer() {1,2,3,4,5,6,7,8}, 5, Local1), Local0)
+Store(Index(Package() {1,2,3,4,5,6,7,8}, 5, Local1), Local0)
+
+
+
+
+ TABLE 2: all the legal ways to generate references to the named objects
+
+--------------------|---------------------------|-----------|-----------|-----------|
+ Type | Examples | Index | RefOf | CondRefOf |
+ | | I IR | R | C CR |
+--------------------|---------------------------|-----------|-----------|-----------|
+ 0 Uninitialized | | x x | x | x x |
+ 1 Integer | Name(i000, 0xabcdef)) | ?2004 ? | + | + + |
+ 2 String | Name(s000, "qwrtu") | + + | + | + + |
+ 3 Buffer | Name(b000, Buffer(){7}) | + + | + | + + |
+ 4 Package | Name(p000, Package(){8}) | + + | + | + + |
+ 5 Field Unit | Field(..) {f000,..} | ?2004 ? | + | + + |
+ | BankField(..) {bkf0..} | ?2004 ? | + | + + |
+ | IndexField(..) {if00..} | ?2004 ? | + | + + |
+ 6 Device | Device(d000) {OL} | c c | + | + + |
+ 7 Event | Event(e000) | c c | + | + + |
+ 8 Method | Method(m000) {return(0)} | ?2006 ? | + | + + |
+ 9 Mutex | Mutex(mx00, 0) | c c | + | + + |
+10 Operation Region | OperationRegion(r000,..) | c c | + | + + |
+11 Power Resource | PowerResource(pwr0,..){OL}| c c | + | + + |
+12 Processor | Processor(prc0,..){OL} | c c | + | + + |
+13 Thermal Zone | ThermalZone(tz00){OL} | c c | + | + + |
+14 Buffer Field | Create*Field(..,bf00) | ?2004 ? | + | + + |
+15 DDB Handle | | x x | x | x x |
+16 Debug Object | | x x | x | x x |
+--------------------|---------------------------|-----------|-----------|-----------|
+
+Examples of I:
+
+Store(Index(s000, 0), Local0)
+Store(Index(b000, 0), Local0)
+Store(Index(p000, 0), Local0)
+
+Examples of IR:
+
+Store(Index(s000, 0, Local1), Local0)
+Store(Index(b000, 0, Local1), Local0)
+Store(Index(p000, 0, Local1), Local0)
+
+Examples of R:
+
+Store(RefOf(i000), Local0)
+Store(RefOf(s000), Local0)
+Store(RefOf(b000), Local0)
+Store(RefOf(p000), Local0)
+Store(RefOf(f000), Local0)
+Store(RefOf(bkf0), Local0)
+Store(RefOf(if00), Local0)
+Store(RefOf(d000), Local0)
+Store(RefOf(e000), Local0)
+Store(RefOf(m000), Local0)
+Store(RefOf(mx00), Local0)
+Store(RefOf(r000), Local0)
+Store(RefOf(pwr0), Local0)
+Store(RefOf(prc0), Local0)
+Store(RefOf(tz00), Local0)
+Store(RefOf(bf00), Local0)
+
+Examples of C:
+
+Store(CondRefOf(i000), Local0)
+Store(CondRefOf(s000), Local0)
+Store(CondRefOf(b000), Local0)
+Store(CondRefOf(p000), Local0)
+Store(CondRefOf(f000), Local0)
+Store(CondRefOf(bkf0), Local0)
+Store(CondRefOf(if00), Local0)
+Store(CondRefOf(d000), Local0)
+Store(CondRefOf(e000), Local0)
+Store(CondRefOf(m000), Local0)
+Store(CondRefOf(mx00), Local0)
+Store(CondRefOf(r000), Local0)
+Store(CondRefOf(pwr0), Local0)
+Store(CondRefOf(prc0), Local0)
+Store(CondRefOf(tz00), Local0)
+Store(CondRefOf(bf00), Local0)
+
+Examples of CR:
+
+Store(CondRefOf(i000, Local1), Local0)
+Store(CondRefOf(s000, Local1), Local0)
+Store(CondRefOf(b000, Local1), Local0)
+Store(CondRefOf(p000, Local1), Local0)
+Store(CondRefOf(f000, Local1), Local0)
+Store(CondRefOf(bkf0, Local1), Local0)
+Store(CondRefOf(if00, Local1), Local0)
+Store(CondRefOf(d000, Local1), Local0)
+Store(CondRefOf(e000, Local1), Local0)
+Store(CondRefOf(m000, Local1), Local0)
+Store(CondRefOf(mx00, Local1), Local0)
+Store(CondRefOf(r000, Local1), Local0)
+Store(CondRefOf(pwr0, Local1), Local0)
+Store(CondRefOf(prc0, Local1), Local0)
+Store(CondRefOf(tz00, Local1), Local0)
+Store(CondRefOf(bf00, Local1), Local0)
+
+
+
+
+ TABLE 3: all the legal ways to generate references to the
+ immediate images (constants) being elements of Package
+
+--------------------|----------------------------|-----------|-----------|-----------|
+ Type | Examples | Index | RefOf | CondRefOf |
+ | | I IR | R | C CR |
+--------------------|----------------------------|-----------|-----------|-----------|
+ 0 Uninitialized | Package(1){} | + + | x | x x |
+ 1 Integer | Package(){0xabcdef} | + + | ... | ... ...|
+ 2 String | Package(){"qwrtu"} | + + | | |
+ 3 Buffer | Package(){Buffer(){7}} | + + | | |
+ 4 Package | Package(){Package(){8}} | + + | | |
+ 5 Field Unit | Package(){Field(f000)} | x x | | |
+ | Package(){BankField(bkf0)} | ... ...| | |
+ | Package(){IndexField(if00)}| | | |
+ 6 Device | Package(){Device(d000)} | | | |
+ 7 Event | Package(){Event(e000)} | | | |
+ 8 Method | Package(){Method(m000)} | | | |
+ 9 Mutex | Package(){Mutex(mx00)} | | | |
+10 Operation Region | Package(){OperRegion(r000)}| | | |
+11 Power Resource | Package(){PwResource(pwr0)}| | | |
+12 Processor | Package(){Processor(prc0)} | | | |
+13 Thermal Zone | Package(){ThermZone(tz00)} | | | |
+14 Buffer Field | Package(){Cr*Field(bf00)} | | | |
+15 DDB Handle | | | | |
+16 Debug Object | Package(){Debug} | | | |
+--------------------|----------------------------|-----------|-----------|-----------|
+
+Examples of I:
+
+Store(Index(Package(1){}, 0), Local0)
+Store(Index(Package(){0xabcdef}, 0), Local0)
+Store(Index(Package(){"qwrtyuiop"}, 0), Local0)
+Store(Index(Package(){Buffer() {1,2,3,4,5,6,7,8,9}}, 0), Local0)
+Store(Index(Package(){Package(){0xabcdef}}, 0), Local0)
+Store(Index(Package(){Package(){"qwrtyuiop"}}, 0), Local0)
+Store(Index(Package(){Package(){Buffer() {1,2,3,4,5,6,7,8,9}}}, 0), Local0)
+Store(Index(Package(){Package(){Package(){0xabcdef}}}, 0), Local0)
+
+Examples of IR:
+
+Store(Index(Package(1){}, 0, Local1), Local0)
+Store(Index(Package(){0xabcdef}, 0, Local1), Local0)
+Store(Index(Package(){"qwrtyuiop"}, 0, Local1), Local0)
+Store(Index(Package(){Buffer() {1,2,3,4,5,6,7,8,9}}, 0, Local1), Local0)
+Store(Index(Package(){Package(){0xabcdef}}, 0, Local1), Local0)
+Store(Index(Package(){Package(){"qwrtyuiop"}}, 0, Local1), Local0)
+Store(Index(Package(){Package(){Buffer() {1,2,3,4,5,6,7,8,9}}}, 0, Local1), Local0)
+Store(Index(Package(){Package(){Package(){0xabcdef}}}, 0, Local1), Local0)
+
+
+
+
+ TABLE 4: all the legal ways to generate references to the
+ named objects being elements of Package
+
+--------------------|---------------------------|-----------|-----------|-----------|
+ Type | Examples | Index | RefOf | CondRefOf |
+ | | I IR | R | C CR |
+--------------------|---------------------------|-----------|-----------|-----------|
+ 0 Uninitialized | | x x | x | x x |
+ 1 Integer | Package(){i000} | + + | ... | ... ...|
+ 2 String | Package(){s000} | + + | | |
+ 3 Buffer | Package(){b000} | ... ...| | |
+ 4 Package | Package(){p000} | | | |
+ 5 Field Unit | Package(){f000} | | | |
+ | Package(){bkf0} | | | |
+ | Package(){if00} | | | |
+ 6 Device | Package(){d000} | | | |
+ 7 Event | Package(){e000} | | | |
+ 8 Method | Package(){m000} | | | |
+ 9 Mutex | Package(){mx00} | | | |
+10 Operation Region | Package(){r000} | | | |
+11 Power Resource | Package(){pwr0} | | | |
+12 Processor | Package(){prc0} | | | |
+13 Thermal Zone | Package(){tz00} | | | |
+14 Buffer Field | Package(){bf00} | | | |
+15 DDB Handle | | x x | | |
+16 Debug Object | | x x | | |
+--------------------|---------------------------|-----------|-----------|-----------|
+
+
+Examples of I:
+
+Store(Index(Package(){i000}, 0), Local0)
+Store(Index(Package(){s000}, 0), Local0)
+Store(Index(Package(){b000}, 0), Local0)
+Store(Index(Package(){p000}, 0), Local0)
+Store(Index(Package(){f000}, 0), Local0)
+Store(Index(Package(){bkf0}, 0), Local0)
+Store(Index(Package(){if00}, 0), Local0)
+Store(Index(Package(){d000}, 0), Local0)
+Store(Index(Package(){e000}, 0), Local0)
+Store(Index(Package(){m000}, 0), Local0)
+Store(Index(Package(){mx00}, 0), Local0)
+Store(Index(Package(){r000}, 0), Local0)
+Store(Index(Package(){pwr0}, 0), Local0)
+Store(Index(Package(){prc0}, 0), Local0)
+Store(Index(Package(){tz00}, 0), Local0)
+Store(Index(Package(){bf00}, 0), Local0)
+
+Examples of IR:
+
+Store(Index(Package(){i000}, 0, Local1), Local0)
+Store(Index(Package(){s000}, 0, Local1), Local0)
+Store(Index(Package(){b000}, 0, Local1), Local0)
+Store(Index(Package(){p000}, 0, Local1), Local0)
+Store(Index(Package(){f000}, 0, Local1), Local0)
+Store(Index(Package(){bkf0}, 0, Local1), Local0)
+Store(Index(Package(){if00}, 0, Local1), Local0)
+Store(Index(Package(){d000}, 0, Local1), Local0)
+Store(Index(Package(){e000}, 0, Local1), Local0)
+Store(Index(Package(){m000}, 0, Local1), Local0)
+Store(Index(Package(){mx00}, 0, Local1), Local0)
+Store(Index(Package(){r000}, 0, Local1), Local0)
+Store(Index(Package(){pwr0}, 0, Local1), Local0)
+Store(Index(Package(){prc0}, 0, Local1), Local0)
+Store(Index(Package(){tz00}, 0, Local1), Local0)
+Store(Index(Package(){bf00}, 0, Local1), Local0)
+
+
+
+
+ TABLE 5: all the legal ways to generate references to LocalX
+
+--------------------|---------------------------|-----------|-----------|-----------|
+ Type | Examples | Index | RefOf | CondRefOf |
+ | | I IR | R | C CR |
+--------------------|---------------------------|-----------|-----------|-----------|
+ 0 Uninitialized | Store(UNIN, Local0); RF(L)| e e | + | + + |
+ 1 Integer | Store(i000, Local0); RF(L)| e e | + | + + |
+ 2 String | Store(s000, Local0); RF(L)| + + | + | + + |
+ 3 Buffer | Store(b000, Local0); RF(L)| + + | + | + + |
+ 4 Package | Store(p000, Local0); RF(L)| + + | + | + + |
+ 5 Field Unit | Store(f000, Local0); RF(L)| e e | + | + + |
+ | Store(bkf0, Local0); RF(L)| e e | + | + + |
+ | Store(if00, Local0); RF(L)| e e | + | + + |
+ 6 Device | Store(d000, Local0); RF(L)| x x | x | x x |
+ 7 Event | Store(e000, Local0); RF(L)| ... ...| ... | ... ...|
+ 8 Method | Store(m000, Local0); RF(L)| | | |
+ 9 Mutex | Store(mx00, Local0); RF(L)| | | |
+10 Operation Region | Store(r000, Local0); RF(L)| | | |
+11 Power Resource | Store(pwr0, Local0); RF(L)| | | |
+12 Processor | Store(prc0, Local0); RF(L)| | | |
+13 Thermal Zone | Store(tz00, Local0); RF(L)| | | |
+14 Buffer Field | Store(bf00, Local0); RF(L)| e e | + | + + |
+15 DDB Handle | Store(HDL, Local0); RF(L)| | | |
+16 Debug Object | Store(Debug,Local0); RF(L)| | | |
+--------------------|---------------------------|-----------|-----------|-----------|
+
+
+Examples of I:
+
+Store(s000, Local7)
+Store(Index(Local7, 0), Local0)
+Store(b000, Local7)
+Store(Index(Local7, 0), Local0)
+Store(p000, Local7)
+Store(Index(Local7, 0), Local0)
+
+Examples of IR:
+
+Store(s000, Local7)
+Store(Index(Local7, 0, Local1), Local0)
+Store(b000, Local7)
+Store(Index(Local7, 0, Local1), Local0)
+Store(p000, Local7)
+Store(Index(Local7, 0, Local1), Local0)
+
+Examples of R:
+
+Store(i000, Local7)
+Store(RefOf(Local7), Local0)
+Store(s000, Local7)
+Store(RefOf(Local7), Local0)
+Store(b000, Local7)
+Store(RefOf(Local7), Local0)
+Store(p000, Local7)
+Store(RefOf(Local7), Local0)
+Store(f000, Local7)
+Store(RefOf(Local7), Local0)
+Store(bkf0, Local7)
+Store(RefOf(Local7), Local0)
+Store(if00, Local7)
+Store(RefOf(Local7), Local0)
+
+Examples of C:
+
+Store(i000, Local7)
+Store(CondRefOf(Local7), Local0)
+Store(s000, Local7)
+Store(CondRefOf(Local7), Local0)
+Store(b000, Local7)
+Store(CondRefOf(Local7), Local0)
+Store(p000, Local7)
+Store(CondRefOf(Local7), Local0)
+Store(f000, Local7)
+Store(CondRefOf(Local7), Local0)
+Store(bkf0, Local7)
+Store(CondRefOf(Local7), Local0)
+Store(if00, Local7)
+Store(CondRefOf(Local7), Local0)
+
+Examples of CR:
+
+Store(i000, Local7)
+Store(CondRefOf(Local7, Local1), Local0)
+Store(s000, Local7)
+Store(CondRefOf(Local7, Local1), Local0)
+Store(b000, Local7)
+Store(CondRefOf(Local7, Local1), Local0)
+Store(p000, Local7)
+Store(CondRefOf(Local7, Local1), Local0)
+Store(f000, Local7)
+Store(CondRefOf(Local7, Local1), Local0)
+Store(bkf0, Local7)
+Store(CondRefOf(Local7, Local1), Local0)
+Store(if00, Local7)
+Store(CondRefOf(Local7, Local1), Local0)
+
+
+
+
+ TABLE 6: all the legal ways to generate references to ArgX
+
+--------------------|---------------------------|-----------|-----------|-----------|
+ Type | Examples | Index | RefOf | CondRefOf |
+ | | I IR | R | C CR |
+--------------------|---------------------------|-----------|-----------|-----------|
+ 0 Uninitialized | Store(UNIN, Arg0); RF(L) | e e | + | + + |
+ 1 Integer | Store(i000, Arg0); RF(L) | e e | + | + + |
+ 2 String | Store(s000, Arg0); RF(L) | + + | + | + + |
+ 3 Buffer | Store(b000, Arg0); RF(L) | + + | + | + + |
+ 4 Package | Store(p000, Arg0); RF(L) | + + | + | + + |
+ 5 Field Unit | Store(f000, Arg0); RF(L) | e e | + | + + |
+ | Store(bkf0, Arg0); RF(L) | e e | + | + + |
+ | Store(if00, Arg0); RF(L) | e e | + | + + |
+ 6 Device | Store(d000, Arg0); RF(L) | x x | x | x x |
+ 7 Event | Store(e000, Arg0); RF(L) | ... ...| ... | ... ...|
+ 8 Method | Store(m000, Arg0); RF(L) | | | |
+ 9 Mutex | Store(mx00, Arg0); RF(L) | | | |
+10 Operation Region | Store(r000, Arg0); RF(L) | | | |
+11 Power Resource | Store(pwr0, Arg0); RF(L) | | | |
+12 Processor | Store(prc0, Arg0); RF(L) | | | |
+13 Thermal Zone | Store(tz00, Arg0); RF(L) | | | |
+14 Buffer Field | Store(bf00, Arg0); RF(L) | e e | + | + + |
+15 DDB Handle | Store(HDL, Arg0); RF(L) | | | |
+16 Debug Object | Store(Debug,Arg0); RF(L) | | | |
+--------------------|---------------------------|-----------|-----------|-----------|
+
+
+Examples of I:
+
+Store(s000, Arg6)
+Store(Index(Arg6, 0), Local0)
+Store(b000, Arg6)
+Store(Index(Arg6, 0), Local0)
+Store(p000, Arg6)
+Store(Index(Arg6, 0), Local0)
+
+Examples of IR:
+
+Store(s000, Arg6)
+Store(Index(Arg6, 0, Local1), Local0)
+Store(b000, Arg6)
+Store(Index(Arg6, 0, Local1), Local0)
+Store(p000, Arg6)
+Store(Index(Arg6, 0, Local1), Local0)
+
+Examples of R:
+
+Store(i000, Arg6)
+Store(RefOf(Arg6), Local0)
+Store(s000, Arg6)
+Store(RefOf(Arg6), Local0)
+Store(b000, Arg6)
+Store(RefOf(Arg6), Local0)
+Store(p000, Arg6)
+Store(RefOf(Arg6), Local0)
+Store(f000, Arg6)
+Store(RefOf(Arg6), Local0)
+Store(bkf0, Arg6)
+Store(RefOf(Arg6), Local0)
+Store(if00, Arg6)
+Store(RefOf(Arg6), Local0)
+
+Examples of C:
+
+Store(i000, Arg6)
+Store(CondRefOf(Arg6), Local0)
+Store(s000, Arg6)
+Store(CondRefOf(Arg6), Local0)
+Store(b000, Arg6)
+Store(CondRefOf(Arg6), Local0)
+Store(p000, Arg6)
+Store(CondRefOf(Arg6), Local0)
+Store(f000, Arg6)
+Store(CondRefOf(Arg6), Local0)
+Store(bkf0, Arg6)
+Store(CondRefOf(Arg6), Local0)
+Store(if00, Arg6)
+Store(CondRefOf(Arg6), Local0)
+
+Examples of CR:
+
+Store(i000, Arg6)
+Store(CondRefOf(Arg6, Local1), Local0)
+Store(s000, Arg6)
+Store(CondRefOf(Arg6, Local1), Local0)
+Store(b000, Arg6)
+Store(CondRefOf(Arg6, Local1), Local0)
+Store(p000, Arg6)
+Store(CondRefOf(Arg6, Local1), Local0)
+Store(f000, Arg6)
+Store(CondRefOf(Arg6, Local1), Local0)
+Store(bkf0, Arg6)
+Store(CondRefOf(Arg6, Local1), Local0)
+Store(if00, Arg6)
+Store(CondRefOf(Arg6, Local1), Local0)
+
+
+ B. ALL THE LEGAL WAYS TO USE REFERENCES
+
+The ways of using the RefOf and Index References are comprehensively
+specified and commented in the test specification (see file SPEC2).
+
+
diff --git a/tests/aslts/src/runtime/collections/functional/reference/ref00.asl b/tests/aslts/src/runtime/collections/functional/reference/ref00.asl
new file mode 100644
index 000000000..f70083c69
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/reference/ref00.asl
@@ -0,0 +1,510 @@
+/*
+ * 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.
+ */
+
+/*
+ * The common methods of the Reference tests
+ *
+ *
+ * Methods used for to verify particular References:
+ *
+ * m1a0, m1a1, m1a2
+ */
+
+/*
+SEE: Investigate and report all y<XXX>.
+SEE: see everywhere "index of checking" and z0XX - through all ref files: corresponds?!!!!!!!!!
+SEE: add into m1a6 and all m000 the checking like these:
+ Store(\i900, Debug)
+ Store(\d900.i900, Debug)
+*/
+
+Name(z076, 76)
+
+// Check Boolen (CondRefOf) and the type of value
+// arg0 - reference to the value of arbitrary type
+// arg1 - expected type of value
+// arg2 - returned Boolen
+// arg3 - index of checking (inside the file)
+Method(m1a0, 4)
+{
+ Store(m1a4(arg2, arg3), Local7)
+
+ SET0(c081, 0, arg3)
+
+ if (Local7) {
+
+ Store(ObjectType(arg0), Local0)
+ if (LNotEqual(Local0, arg1)) {
+ err(c080, z076, 0, 0, 0, Local0, arg1)
+ } else {
+ if (c089) {
+
+ // Flag of Reference, object otherwise
+ if (c082) {
+ // Test of exceptions
+ m1a8(arg0, 0, 0)
+ }
+ if (c085) {
+ // Create the chain of references to LocalX,
+ // then dereference them.
+
+ Store(RefOf(arg0), Local0)
+ Store(RefOf(Local0), Local1)
+ Store(RefOf(Local1), Local2)
+ Store(RefOf(Local2), Local3)
+ Store(RefOf(Local3), Local4)
+ Store(RefOf(Local4), Local5)
+ Store(RefOf(Local5), Local6)
+ Store(RefOf(Local6), Local7)
+
+ Store(DerefOf(Local7), Local6)
+ Store(DerefOf(Local6), Local5)
+ Store(DerefOf(Local5), Local4)
+ Store(DerefOf(Local4), Local3)
+ Store(DerefOf(Local3), Local2)
+ Store(DerefOf(Local2), Local1)
+ Store(DerefOf(Local1), Local0)
+ Store(DerefOf(Local0), Local7)
+
+ // Create the chain of references to LocalX,
+ // then dereference them.
+
+ Store(m1a5(Local7), Local0)
+ }
+ } /* if(c089) */
+
+ // ATTENTION: exactly the same in m1a0 and m1a2
+ // (but, dont replace it by call to Method)
+
+ Method(m002, 1)
+ {
+ Store(0xabcd001a, arg0)
+ }
+
+ // Run verification of references (write/read)
+
+ if (LEqual(c083, 1)) {
+ Store(0xabcd001a, c08a)
+ Store(c08a, Arg0)
+ } elseif (LEqual(c083, 2)) {
+ Store(0xabcd001b, c08a)
+ CopyObject(c08a, Arg0)
+ } elseif (LEqual(c083, 3)) {
+ Store(0xabcd001c, c08a)
+ Store(c08a, Arg0)
+ Store(0xabcd001d, c08a)
+ CopyObject(c08a, Arg0)
+ }
+
+ // Do RefOf(ArgX) checkings
+
+ Store(0, Local7)
+
+ if (LEqual(c08b, 1)) {
+ Store(RefOf(arg0), Local0)
+ Store(ObjectType(Local0), Local1)
+ if (LNotEqual(Local1, arg1)) {
+ err(c080, z076, 1, 0, 0, Local1, arg1)
+ } else {
+ Store(1, Local7)
+ }
+ } elseif (LEqual(c08b, 2)) {
+ Store(CondRefOf(arg0, Local0), Local1)
+ if (LNotEqual(Local1, Ones)) {
+ err(c080, z076, 2, 0, 0, Local1, arg1)
+ } else {
+ Store(ObjectType(Local0), Local1)
+ if (LNotEqual(Local1, arg1)) {
+ err(c080, z076, 3, 0, 0, Local1, arg1)
+ } else {
+ Store(1, Local7)
+ }
+ }
+ }
+
+ if (Local7) {
+
+ // Obtain RefOf_Reference to ArgX
+
+ Store(RefOf(arg0), Local0)
+
+ Store(ObjectType(Local0), Local1)
+ if (LNotEqual(Local1, arg1)) {
+ err(c080, z076, 4, 0, 0, Local1, arg1)
+ } else {
+
+ // Check DerefOf
+
+ Store(ObjectType(DerefOf(Local0)), Local1)
+ if (LNotEqual(Local1, arg1)) {
+ err(c080, z076, 5, 0, 0, Local1, arg1)
+ }
+
+ // Check that writing into M2-ArgX-RefOf_Reference
+ // changes the original object (M1-ArgX):
+
+ m002(Local0)
+ Store(ObjectType(arg0), Local1)
+ if (LNotEqual(Local1, c009)) {
+ err(c080, z076, 6, 0, 0, Local1, c009)
+ } elseif (LNotEqual(arg0, 0xabcd001a)) {
+ err(c080, z076, 7, 0, 0, arg0, 0xabcd001a)
+ } else {
+
+ // Check that M1-LocalX-RefOf_Reference remains
+ // up to date after writing into M2-ArgX in M2 and
+ // thus updating the contents of the object
+ // referenced by M1-LocalX.
+
+ Store(ObjectType(Local0), Local1)
+ if (LNotEqual(Local1, c009)) {
+ err(c080, z076, 8, 0, 0, Local1, c009)
+ } else {
+ Store(SizeOf(Local0), Local1)
+ if (LNotEqual(Local1, ISZ0)) {
+ err(c080, z076, 9, 0, 0, Local1, ISZ0)
+ }
+ }
+ }
+ }
+ } /* if (c08b) */
+
+ /* ATTENTION: exactly the same in m1a0 and m1a2 */
+ }
+ } /* if(Local7) */
+
+ RST0()
+}
+
+// Verifying reference to the Object nested inside Packages
+// arg0 - reference to the Object (may be to Package)
+// arg1 - type of the value referred by arg0
+// arg2 - nesting level of the Packages
+// (Package always is a 0-th element
+// of previous Package)
+// arg3 - index of the Object inside the last Package
+// arg4 - type of the Object
+// arg5 - the benchmark value of Object for verification
+// arg6 - index of checking (inside the file)
+Method(m1a2, 7)
+{
+ SET0(c081, 0, arg6)
+
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+
+ Store(ObjectType(arg0), Local0)
+ if (LNotEqual(Local0, arg1)) {
+ err(c080, z076, 10, 0, 0, Local0, arg1)
+ } else {
+
+ if (c089) {
+ // Flag of Reference, object otherwise
+ if (c082) {
+ // Test of exceptions
+ m1a8(arg0, 0, 0)
+ }
+ if (c085) {
+ // Create the chain of references to LocalX,
+ // then dereference them.
+
+ Store(RefOf(arg0), Local0)
+ Store(RefOf(Local0), Local1)
+ Store(RefOf(Local1), Local2)
+ Store(RefOf(Local2), Local3)
+ Store(RefOf(Local3), Local4)
+ Store(RefOf(Local4), Local5)
+ Store(RefOf(Local5), Local6)
+ Store(RefOf(Local6), Local7)
+
+ Store(DerefOf(Local7), Local6)
+ Store(DerefOf(Local6), Local5)
+ Store(DerefOf(Local5), Local4)
+ Store(DerefOf(Local4), Local3)
+ Store(DerefOf(Local3), Local2)
+ Store(DerefOf(Local2), Local1)
+ Store(DerefOf(Local1), Local0)
+ Store(DerefOf(Local0), Local7)
+
+ // Create the chain of references to LocalX,
+ // then dereference them.
+
+ Store(m1a5(Local7), Local0)
+
+ } else {
+ Store(arg0, Local0)
+ }
+ } else {
+ Store(arg0, Local0)
+ } /* if(c089) */
+
+ if (c084) {
+
+ // run verification of references (reading)
+
+ if (c089) {
+ // Flag of Reference, object otherwise
+
+ /*
+ * 17.2.5.9.1 ArgX Objects
+ *
+ * 1) Read from ArgX parameters
+ * ObjectReference - Automatic dereference, return
+ * the target of the reference.
+ * Use of DeRefOf returns the same.
+ */
+ if (c087) {
+ // "Use of DeRefOf returns the same"
+ Store(DerefOf(Local0), Local2)
+ } else {
+ // Automatic dereference
+ Store(Local0, Local2)
+ }
+ } else {
+ Store(Local0, Local2)
+ } /* if(c089) */
+
+ Store(arg2, lpN0)
+
+ While (lpN0) {
+
+ if (LEqual(lpN0, 1)) {
+ Store(Index(Local2, arg3), Local1)
+ } else {
+ Store(Index(Local2, 0), Local1)
+ }
+ Store(DerefOf(Local1), Local2)
+
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+
+ Store(ObjectType(Local2), Local0)
+
+ if (LNotEqual(Local0, arg4)) {
+ err(c080, z076, 11, 0, 0, Local0, arg4)
+ } else {
+ if (LNotEqual(Local2, arg5)) {
+ err(c080, z076, 12, 0, 0, Local2, arg5)
+ }
+ }
+ } /* if(c084) */
+
+ // ATTENTION: exactly the same in m1a0 and m1a2
+ // (but, dont replace it by call to Method)
+
+ Method(m002, 1)
+ {
+ Store(0xabcd001a, arg0)
+ }
+
+ // Run verification of references (write/read)
+
+ if (LEqual(c083, 1)) {
+ Store(0xabcd001a, c08a)
+ Store(c08a, Arg0)
+ } elseif (LEqual(c083, 2)) {
+ Store(0xabcd001b, c08a)
+ CopyObject(c08a, Arg0)
+ } elseif (LEqual(c083, 3)) {
+ Store(0xabcd001c, c08a)
+ Store(c08a, Arg0)
+ Store(0xabcd001d, c08a)
+ CopyObject(c08a, Arg0)
+ }
+
+ // Do RefOf(ArgX) checkings
+
+ Store(0, Local7)
+
+ if (LEqual(c08b, 1)) {
+ Store(RefOf(arg0), Local0)
+ Store(ObjectType(Local0), Local1)
+ if (LNotEqual(Local1, arg1)) {
+ err(c080, z076, 13, 0, 0, Local1, arg1)
+ } else {
+ Store(1, Local7)
+ }
+ } elseif (LEqual(c08b, 2)) {
+ Store(CondRefOf(arg0, Local0), Local1)
+ if (LNotEqual(Local1, Ones)) {
+ err(c080, z076, 14, 0, 0, Local1, arg1)
+ } else {
+ Store(ObjectType(Local0), Local1)
+ if (LNotEqual(Local1, arg1)) {
+ err(c080, z076, 15, 0, 0, Local1, arg1)
+ } else {
+ Store(1, Local7)
+ }
+ }
+ }
+
+ if (Local7) {
+
+ // Obtain RefOf_Reference to ArgX
+
+ Store(RefOf(arg0), Local0)
+
+ Store(ObjectType(Local0), Local1)
+ if (LNotEqual(Local1, arg1)) {
+ err(c080, z076, 16, 0, 0, Local1, arg1)
+ } else {
+
+ // Check DerefOf
+
+ Store(ObjectType(DerefOf(Local0)), Local1)
+ if (LNotEqual(Local1, arg1)) {
+ err(c080, z076, 17, 0, 0, Local1, arg1)
+ }
+
+ // Check that writing into M2-ArgX-RefOf_Reference
+ // changes the original object (M1-ArgX):
+
+ m002(Local0)
+ Store(ObjectType(arg0), Local1)
+ if (LNotEqual(Local1, c009)) {
+ err(c080, z076, 18, 0, 0, Local1, c009)
+ } elseif (LNotEqual(arg0, 0xabcd001a)) {
+ err(c080, z076, 19, 0, 0, arg0, 0xabcd001a)
+ } else {
+
+ // Check that M1-LocalX-RefOf_Reference remains
+ // up to date after writing into M2-ArgX in M2 and
+ // thus updating the contents of the object
+ // referenced by M1-LocalX.
+
+ Store(ObjectType(Local0), Local1)
+ if (LNotEqual(Local1, c009)) {
+ err(c080, z076, 20, 0, 0, Local1, c009)
+ } else {
+ Store(SizeOf(Local0), Local1)
+ if (LNotEqual(Local1, ISZ0)) {
+ err(c080, z076, 21, 0, 0, Local1, ISZ0)
+ }
+ }
+ }
+ }
+ } /* if (c08b) */
+
+ /* ATTENTION: exactly the same in m1a0 and m1a2 */
+
+ }
+
+ RST0()
+}
+
+// Check only Boolen (CondRefOf)
+// arg0 - returned Boolen
+// arg1 - index of checking (inside the file)
+Method(m1a4, 2)
+{
+ SET0(c081, 0, arg1)
+
+ Store(1, Local7)
+
+ Store(ObjectType(arg0), Local0)
+
+ if (LNotEqual(Local0, c009)) {
+ err(c080, z076, 22, 0, 0, Local0, c009)
+ Store(0, Local7)
+ } elseif (LNotEqual(arg0, Ones)) {
+ err(c080, z076, 23, 0, 0, arg0, Ones)
+ Store(0, Local7)
+ }
+
+ RST0()
+
+ return (Local7)
+}
+
+// Create the chain of references to LocalX, then dereference them
+Method(m1a5, 1)
+{
+ Store(RefOf(arg0), Local0)
+ Store(RefOf(Local0), Local1)
+ Store(RefOf(Local1), Local2)
+ Store(RefOf(Local2), Local3)
+ Store(RefOf(Local3), Local4)
+ Store(RefOf(Local4), Local5)
+ Store(RefOf(Local5), Local6)
+ Store(RefOf(Local6), Local7)
+
+ Store(DerefOf(Local7), Local6)
+ Store(DerefOf(Local6), Local5)
+ Store(DerefOf(Local5), Local4)
+ Store(DerefOf(Local4), Local3)
+ Store(DerefOf(Local3), Local2)
+ Store(DerefOf(Local2), Local1)
+ Store(DerefOf(Local1), Local0)
+ Store(DerefOf(Local0), Local7)
+
+ return (Local7)
+}
+
+/*
+ * Set Global variables assignment applied in the tests
+ *
+ * arg0 - c080 - name of test
+ * arg1 - c083 - run verification of references (write/read)
+ * arg2 - c084 - run verification of references (reading)
+ * arg3 - c085 - create the chain of references to LocalX, then dereference them
+ * arg4 - c087 - apply DeRefOf to ArgX-ObjectReference
+ * arg5 - c081 - absolute index of file initiating the checking
+ */
+Method(m1ad, 6)
+{
+ Store(ObjectType(arg0), Local0)
+ if (LEqual(Local0, c00a)) {
+ Store(arg0, c080)
+ }
+ Store(arg1, c083)
+ Store(arg2, c084)
+ Store(arg3, c085)
+ Store(arg4, c087)
+ if (arg5) {
+ Store(arg5, c081)
+ }
+}
+
+// Test skipped message
+Method(m1ae, 3)
+{
+ Concatenate("Test ", arg0, Local0)
+ Concatenate(Local0, " skipped due to the following issue:", Debug)
+
+ Concatenate(" ", arg1, Debug)
+
+ Store(ObjectType(arg2), Local0)
+ if (LEqual(Local0, c00a)) {
+ Concatenate(" ", arg2, Debug)
+ }
+}
+
+
diff --git a/tests/aslts/src/runtime/collections/functional/reference/ref01.asl b/tests/aslts/src/runtime/collections/functional/reference/ref01.asl
new file mode 100644
index 000000000..542998937
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/reference/ref01.asl
@@ -0,0 +1,6650 @@
+/*
+ * 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.
+ */
+
+/*
+ * References
+ *
+ * (named objects, if present, are the local objects of Method)
+ *
+ * TABLE 1: all the legal ways to generate references to the
+ * immediate images (constants)
+ * TABLE 2: all the legal ways to generate references to the
+ * named objects
+ * TABLE 3: all the legal ways to generate references to the
+ * immediate images (constants) being elements of Package
+ * TABLE 4: all the legal ways to generate references to the
+ * named objects being elements of Package
+ *
+ * Producing Reference operators:
+ *
+ * Index, RefOf, CondRefOf
+ */
+
+/*
+???????????????????????????????????????
+SEE: after fixing bug 118 of ACPICA change all the local data
+ so that they differ the relevant global ones.
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+*/
+
+
+Name(z077, 77)
+
+
+// ///////////////////////////////////////////////////////////////////////////
+//
+// TABLE 1: all the legal ways to generate references
+// to the immediate images (constants)
+//
+// ///////////////////////////////////////////////////////////////////////////
+
+Method(m168)
+{
+ if (y100) {
+ ts00("m168")
+ } else {
+ Store("m168", Debug)
+ }
+
+ if (LNot(y900)) {
+ Store("Test m168 skipped!", Debug)
+ return
+ }
+
+ // T1:I2-I4
+
+ Store(Index("123456789", 5), Local0)
+ m1a2(Local0, c016, 0, 0, c009, 0x36, 1260)
+
+ Store(Index("qwrtyuiop", 5), Local0)
+ m1a2(Local0, c016, 0, 0, c009, 0x75, 1261)
+
+ Store(Index(Buffer() {1,2,3,4,5,6,7,8}, 5), Local0)
+ m1a2(Local0, c016, 0, 0, c009, 0x06, 1262)
+
+ Store(Index(Package() {0xabcdef}, 0), Local0)
+ m1a2(Local0, c009, 0, 0, c009, 0xabcdef, 1263)
+
+ Store(Index(Package() {"123456789"}, 0), Local0)
+ m1a2(Local0, c00a, 0, 0, c00a, "123456789", 1264)
+
+ Store(Index(Package() {"qwrtyuiop"}, 0), Local0)
+ m1a2(Local0, c00a, 0, 0, c00a, "qwrtyuiop", 1265)
+
+ Store(Index(Package() {Buffer() {1,2,3,4,5,6,7,8,9}}, 0), Local0)
+ m1a2(Local0, c00b, 0, 0, c00b, Buffer() {1,2,3,4,5,6,7,8,9}, 1266)
+
+ Store(Index(Package() {Package() {0xabcdef}}, 0), Local0)
+ m1a2(Local0, c00c, 1, 0, c009, 0xabcdef, 1267)
+
+ Store(Index(Package() {Package() {"123456789"}}, 0), Local0)
+ m1a2(Local0, c00c, 1, 0, c00a, "123456789", 1268)
+
+ Store(Index(Package() {Package() {"qwrtyuiop"}}, 0), Local0)
+ m1a2(Local0, c00c, 1, 0, c00a, "qwrtyuiop", 1269)
+
+ Store(Index(Package() {Package() {Buffer() {1,2,3,4,5,6,7,8,9}}}, 0), Local0)
+ m1a2(Local0, c00c, 1, 0, c00b, Buffer() {1,2,3,4,5,6,7,8,9}, 1270)
+
+ Store(Index(Package() {Package() {Package() {0xabcdef}}}, 0), Local0)
+ m1a2(Local0, c00c, 2, 0, c009, 0xabcdef, 1271)
+
+ Store(Index(Package() {Package() {Package() {"123456789"}}}, 0), Local0)
+ m1a2(Local0, c00c, 2, 0, c00a, "123456789", 1272)
+
+ Store(Index(Package() {Package() {Package() {"qwrtyuiop"}}}, 0), Local0)
+ m1a2(Local0, c00c, 2, 0, c00a, "qwrtyuiop", 1273)
+
+ Store(Index(Package() {Package() {Package() {Buffer() {1,2,3,4,5,6,7,8,9}}}}, 0), Local0)
+ m1a2(Local0, c00c, 2, 0, c00b, Buffer() {1,2,3,4,5,6,7,8,9}, 1274)
+
+ // T1:IR2-IR4
+
+ if (y098) {
+ Store(Index("qwrtyuiop", 5, Local1), Local0)
+ m1a2(Local0, c016, 0, 0, c009, 0x75, 1275)
+ m1a2(Local1, c016, 0, 0, c009, 0x75, 1276)
+
+ Store(Index(Buffer() {1,2,3,4,5,6,7,8}, 5, Local1), Local0)
+ m1a2(Local0, c016, 0, 0, c009, 0x06, 1277)
+ m1a2(Local1, c016, 0, 0, c009, 0x06, 1278)
+
+ Store(Index(Package() {1,2,3,4,5,6,7,8}, 5, Local1), Local0)
+ m1a2(Local0, c009, 0, 0, c009, 0x06, 1279)
+ m1a2(Local1, c009, 0, 0, c009, 0x06, 1280)
+ }
+}
+
+// ///////////////////////////////////////////////////////////////////////////
+//
+// TABLE 2: all the legal ways to generate references to the named objects
+//
+// ///////////////////////////////////////////////////////////////////////////
+
+Method(m169)
+{
+ if (y100) {
+ ts00("m169")
+ } else {
+ Store("m169", Debug)
+ }
+
+ // Not Computational Data
+
+ Event(e900)
+ Event(e9Z0)
+ Mutex(mx90, 0)
+ Mutex(mx91, 0)
+ Device(d900) { Name(i900, 0xabcd1017) }
+ Device(d9Z0) { Name(i900, 0xabcd1017) }
+ ThermalZone(tz90) {}
+ ThermalZone(tz91) {}
+ Processor(pr90, 0, 0xFFFFFFFF, 0) {}
+ Processor(pr91, 0, 0xFFFFFFFF, 0) {}
+ OperationRegion(r900, SystemMemory, 0x100, 0x100)
+ OperationRegion(r9Z0, SystemMemory, 0x100, 0x100)
+ PowerResource(pw90, 1, 0) {Method(mmmm){return (0)}}
+ PowerResource(pw91, 1, 0) {Method(mmmm){return (0)}}
+
+ // Computational Data
+
+ Name(i900, 0xfe7cb391d65a1000)
+ Name(i9Z0, 0xfe7cb391d65a1000)
+ Name(i901, 0xc1791001)
+ Name(i9Z1, 0xc1791001)
+ Name(i902, 0)
+ Name(i903, 0xffffffffffffffff)
+ Name(i904, 0xffffffff)
+ Name(s900, "12341002")
+ Name(s9Z0, "12341002")
+ Name(s901, "qwrtyu1003")
+ Name(s9Z1, "qwrtyu1003")
+ Name(b900, Buffer() {0x10,0x11,0x12,0x13,0x14})
+ Name(b9Z0, Buffer() {0x10,0x11,0x12,0x13,0x14})
+
+ CreateField(b9Z0, 0, 8, bf90)
+ Field(r9Z0, ByteAcc, NoLock, Preserve) {f900,8,f901,8,f902,8,f903,8}
+ BankField(r9Z0, f901, 0, ByteAcc, NoLock, Preserve) {bn90,4}
+ IndexField(f902, f903, ByteAcc, NoLock, Preserve) {if90,8,if91,8}
+
+ // Elements of Package are Uninitialized
+
+ Name(p900, Package(1) {})
+
+ // Elements of Package are Computational Data
+
+ Name(p901, Package() {0xabcd1004, 0x1122334455661005})
+ Name(p902, Package() {"12341006", "q1w2e3r4t5y6u7i81007"})
+ Name(p903, Package() {"qwrtyuiop1008", "1234567890abdef0251009"})
+ Name(p904, Package() {Buffer() {0xa0,0xa1,0xa2}, Buffer() {0xa3,0xa4}})
+ Name(p905, Package() {Package() {0xabc100a, "0xabc100b", "abc100c"}})
+ Name(p906, Package() {Package() {"abc100d"}})
+ Name(p907, Package() {Package() {"aqwevbgnm100e"}})
+ Name(p908, Package() {Package() {Buffer() {0xa5,0xa6,0xa7,0xa8,0xa9}}})
+ Name(p909, Package() {Package() {Package() {0xabc100f}}})
+ Name(p90a, Package() {Package() {Package() {"12341010"}}})
+ Name(p90b, Package() {Package() {Package() {"zxswefas1011"}}})
+ Name(p90c, Package() {Package() {Package() {Buffer() {0xaa,0xab,0xac}}}})
+
+ Name(p90d, Package() {i900})
+ Name(p90e, Package() {i901})
+ Name(p90f, Package() {s900})
+ Name(p910, Package() {s901})
+ Name(p911, Package() {b9Z0})
+ Name(p912, Package() {f900})
+ Name(p913, Package() {bn90})
+ Name(p914, Package() {if90})
+ Name(p915, Package() {bf90})
+
+ // Elements of Package are NOT Computational Data
+
+ Name(p916, Package() {d900})
+ Name(p917, Package() {e900})
+ Name(p918, Package() {mx90})
+ Name(p919, Package() {r9Z0})
+ Name(p91a, Package() {pw90})
+ Name(p91b, Package() {pr90})
+ Name(p91c, Package() {tz90})
+
+ // Methods
+
+ Method(m900) {}
+ Method(m901) { return (0xabc1012) }
+ Method(m902) { return ("zxvgswquiy1013") }
+ Method(m903) { return (Buffer() {0xad}) }
+ Method(m904) { return (Package() {0xabc1014}) }
+ Method(m905) { return (Package() {"lkjhgtre1015"}) }
+ Method(m906) { return (Package() {Buffer() {0xae}}) }
+ Method(m907) { return (Package() {Package() {0xabc1016}}) }
+
+ Method(m908) { return (i900) }
+ Method(m909) { return (i901) }
+ Method(m90a) { return (s900) }
+ Method(m90b) { return (s901) }
+ Method(m90c) { return (b9Z0) }
+ Method(m90d) { return (f900) }
+ Method(m90e) { return (bn90) }
+ Method(m90f) { return (if90) }
+ Method(m910) { return (bf90) }
+
+ Method(m911) { return (d900) }
+ Method(m912) { return (e900) }
+ Method(m913) { return (m901) }
+ Method(m914) { return (mx90) }
+ Method(m915) { return (r9Z0) }
+ Method(m916) { return (pw90) }
+ Method(m917) { return (pr90) }
+ Method(m918) { return (tz90) }
+ Method(m919) { return (p900) }
+ Method(m91a) { return (p901) }
+ Method(m91b) { return (p902) }
+ Method(m91c) { return (p903) }
+ Method(m91d) { return (p904) }
+ Method(m91e) { return (p905) }
+ Method(m91f) { return (p906) }
+ Method(m920) { return (p907) }
+ Method(m921) { return (p908) }
+ Method(m922) { return (p909) }
+ Method(m923) { return (p90a) }
+ Method(m924) { return (p90b) }
+ Method(m925) { return (p90c) }
+ Method(m926) { return (p90d) }
+ Method(m927) { return (p90e) }
+ Method(m928) { return (p90f) }
+ Method(m929) { return (p910) }
+ Method(m92a) { return (p911) }
+ Method(m92b) { return (p912) }
+ Method(m92c) { return (p913) }
+ Method(m92d) { return (p914) }
+ Method(m92e) { return (p915) }
+ Method(m92f) { return (p916) }
+ Method(m930) { return (p917) }
+ Method(m931) { return (p918) }
+ Method(m932) { return (p919) }
+ Method(m933) { return (p91a) }
+ Method(m934) { return (p91b) }
+ Method(m935) { return (p91c) }
+
+ // Elements of Package are Methods
+
+ Name(p91d, Package() {m900})
+ Name(p91e, Package() {m901})
+ Name(p91f, Package() {m902})
+ Name(p920, Package() {m903})
+ Name(p921, Package() {m904})
+ Name(p922, Package() {m905})
+ Name(p923, Package() {m906})
+ Name(p924, Package() {m907})
+ Name(p925, Package() {m908})
+ Name(p926, Package() {m909})
+ Name(p927, Package() {m90a})
+ Name(p928, Package() {m90b})
+ Name(p929, Package() {m90c})
+ Name(p92a, Package() {m90d})
+ Name(p92b, Package() {m90e})
+ Name(p92c, Package() {m90f})
+ Name(p92d, Package() {m910})
+ Name(p92e, Package() {m911})
+ Name(p92f, Package() {m912})
+ Name(p930, Package() {m913})
+ Name(p931, Package() {m914})
+ Name(p932, Package() {m915})
+ Name(p933, Package() {m916})
+ Name(p934, Package() {m917})
+ if (y103) {
+ Name(p935, Package() {m918})
+ }
+ Name(p936, Package() {m919})
+ Name(p937, Package() {m91a})
+ Name(p938, Package() {m91b})
+ Name(p939, Package() {m91c})
+ Name(p93a, Package() {m91d})
+ Name(p93b, Package() {m91e})
+ Name(p93c, Package() {m91f})
+ Name(p93d, Package() {m920})
+ Name(p93e, Package() {m921})
+ Name(p93f, Package() {m922})
+ Name(p940, Package() {m923})
+ Name(p941, Package() {m924})
+ Name(p942, Package() {m925})
+ Name(p943, Package() {m926})
+ Name(p944, Package() {m927})
+ Name(p945, Package() {m928})
+ Name(p946, Package() {m929})
+ Name(p947, Package() {m92a})
+ Name(p948, Package() {m92b})
+ Name(p949, Package() {m92c})
+ Name(p94a, Package() {m92d})
+ Name(p94b, Package() {m92e})
+ Name(p94c, Package() {m92f})
+ Name(p94d, Package() {m930})
+ Name(p94e, Package() {m931})
+ Name(p94f, Package() {m932})
+ Name(p950, Package() {m933})
+ Name(p951, Package() {m934})
+ Name(p952, Package() {m935})
+
+ Name(p953, Package() {0xabcd1018, 0xabcd1019})
+ Name(p954, Package() {0xabcd1018, 0xabcd1019})
+
+
+ // Check that all the data (local) are not corrupted
+ Method(m000)
+ {
+ // Computational Data
+
+ // Integer
+
+ Store(ObjectType(i900), Local0)
+ if (LNotEqual(Local0, c009)) {
+ err(c080, z077, 0x100, 0, 0, Local0, c009)
+ }
+ if (LNotEqual(i900, 0xfe7cb391d65a1000)) {
+ err(c080, z077, 0x101, 0, 0, i900, 0xfe7cb391d65a1000)
+ }
+
+ Store(ObjectType(i901), Local0)
+ if (LNotEqual(Local0, c009)) {
+ err(c080, z077, 0x102, 0, 0, Local0, c009)
+ }
+ if (LNotEqual(i901, 0xc1791001)) {
+ err(c080, z077, 0x103, 0, 0, i901, 0xc1791001)
+ }
+
+ Store(ObjectType(i902), Local0)
+ if (LNotEqual(Local0, c009)) {
+ err(c080, z077, 0x104, 0, 0, Local0, c009)
+ }
+ if (LNotEqual(i902, 0)) {
+ err(c080, z077, 0x105, 0, 0, i902, 0)
+ }
+
+ Store(ObjectType(i903), Local0)
+ if (LNotEqual(Local0, c009)) {
+ err(c080, z077, 0x106, 0, 0, Local0, c009)
+ }
+ if (LNotEqual(i903, 0xffffffffffffffff)) {
+ err(c080, z077, 0x107, 0, 0, i903, 0xffffffffffffffff)
+ }
+
+ Store(ObjectType(i904), Local0)
+ if (LNotEqual(Local0, c009)) {
+ err(c080, z077, 0x108, 0, 0, Local0, c009)
+ }
+ if (LNotEqual(i904, 0xffffffff)) {
+ err(c080, z077, 0x109, 0, 0, i904, 0xffffffff)
+ }
+
+ // String
+
+ Store(ObjectType(s900), Local0)
+ if (LNotEqual(Local0, c00a)) {
+ err(c080, z077, 0x10a, 0, 0, Local0, c00a)
+ }
+ if (LNotEqual(s900, "12341002")) {
+ err(c080, z077, 0x10b, 0, 0, s900, "12341002")
+ }
+
+ Store(ObjectType(s901), Local0)
+ if (LNotEqual(Local0, c00a)) {
+ err(c080, z077, 0x10c, 0, 0, Local0, c00a)
+ }
+ if (LNotEqual(s901, "qwrtyu1003")) {
+ err(c080, z077, 0x10d, 0, 0, s901, "qwrtyu1003")
+ }
+
+ // Buffer
+
+ Store(ObjectType(b900), Local0)
+ if (LNotEqual(Local0, c00b)) {
+ err(c080, z077, 0x10e, 0, 0, Local0, c00b)
+ }
+ if (LNotEqual(b900, Buffer() {0x10,0x11,0x12,0x13,0x14})) {
+ err(c080, z077, 0x10f, 0, 0, b900, Buffer() {0x10,0x11,0x12,0x13,0x14})
+ }
+
+ // Buffer Field
+
+ Store(ObjectType(bf90), Local0)
+ if (LNotEqual(Local0, c016)) {
+ err(c080, z077, 0x110, 0, 0, Local0, c016)
+ }
+ if (LNotEqual(bf90, 0x10)) {
+ err(c080, z077, 0x111, 0, 0, bf90, 0x10)
+ }
+
+ // One level Package
+
+ Store(Index(p900, 0), Local0)
+ Store(ObjectType(Local0), Local1)
+ if (LNotEqual(Local1, c008)) {
+ err(c080, z077, 0x112, 0, 0, Local1, c008)
+ }
+
+ Store(Index(p901, 0), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(ObjectType(Local1), Local2)
+ if (LNotEqual(Local2, c009)) {
+ err(c080, z077, 0x113, 0, 0, Local2, c009)
+ }
+ if (LNotEqual(Local1, 0xabcd1004)) {
+ err(c080, z077, 0x114, 0, 0, Local1, 0xabcd1004)
+ }
+
+ Store(Index(p901, 1), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(ObjectType(Local1), Local2)
+ if (LNotEqual(Local2, c009)) {
+ err(c080, z077, 0x115, 0, 0, Local2, c009)
+ }
+ if (LNotEqual(Local1, 0x1122334455661005)) {
+ err(c080, z077, 0x116, 0, 0, Local1, 0x1122334455661005)
+ }
+
+ Store(Index(p902, 0), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(ObjectType(Local1), Local2)
+ if (LNotEqual(Local2, c00a)) {
+ err(c080, z077, 0x117, 0, 0, Local2, c00a)
+ }
+ if (LNotEqual(Local1, "12341006")) {
+ err(c080, z077, 0x118, 0, 0, Local1, "12341006")
+ }
+
+ Store(Index(p902, 1), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(ObjectType(Local1), Local2)
+ if (LNotEqual(Local2, c00a)) {
+ err(c080, z077, 0x119, 0, 0, Local2, c00a)
+ }
+ if (LNotEqual(Local1, "q1w2e3r4t5y6u7i81007")) {
+ err(c080, z077, 0x11a, 0, 0, Local1, "q1w2e3r4t5y6u7i81007")
+ }
+
+ Store(Index(p903, 0), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(ObjectType(Local1), Local2)
+ if (LNotEqual(Local2, c00a)) {
+ err(c080, z077, 0x11b, 0, 0, Local2, c00a)
+ }
+ if (LNotEqual(Local1, "qwrtyuiop1008")) {
+ err(c080, z077, 0x11c, 0, 0, Local1, "qwrtyuiop1008")
+ }
+
+ Store(Index(p903, 1), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(ObjectType(Local1), Local2)
+ if (LNotEqual(Local2, c00a)) {
+ err(c080, z077, 0x11d, 0, 0, Local2, c00a)
+ }
+ if (LNotEqual(Local1, "1234567890abdef0251009")) {
+ err(c080, z077, 0x11e, 0, 0, Local1, "1234567890abdef0251009")
+ }
+
+ Store(Index(p904, 0), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(ObjectType(Local1), Local2)
+ if (LNotEqual(Local2, c00b)) {
+ err(c080, z077, 0x11f, 0, 0, Local2, c00b)
+ }
+ if (LNotEqual(Local1, Buffer() {0xa0,0xa1,0xa2})) {
+ err(c080, z077, 0x120, 0, 0, Local1, Buffer() {0xa0,0xa1,0xa2})
+ }
+
+ Store(Index(p904, 1), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(ObjectType(Local1), Local2)
+ if (LNotEqual(Local2, c00b)) {
+ err(c080, z077, 0x121, 0, 0, Local2, c00b)
+ }
+ if (LNotEqual(Local1, Buffer() {0xa3,0xa4})) {
+ err(c080, z077, 0x122, 0, 0, Local1, Buffer() {0xa3,0xa4})
+ }
+
+ // Two level Package
+
+ Store(Index(p905, 0), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(Index(Local1, 0), Local2)
+ Store(DerefOf(Local2), Local3)
+ Store(ObjectType(Local3), Local4)
+ if (LNotEqual(Local4, c009)) {
+ err(c080, z077, 0x123, 0, 0, Local4, c009)
+ }
+ if (LNotEqual(Local3, 0xabc100a)) {
+ err(c080, z077, 0x124, 0, 0, Local3, 0xabc100a)
+ }
+
+ Store(Index(p905, 0), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(Index(Local1, 1), Local2)
+ Store(DerefOf(Local2), Local3)
+ Store(ObjectType(Local3), Local4)
+ if (LNotEqual(Local4, c00a)) {
+ err(c080, z077, 0x125, 0, 0, Local4, c00a)
+ }
+ if (LNotEqual(Local3, "0xabc100b")) {
+ err(c080, z077, 0x126, 0, 0, Local3, "0xabc100b")
+ }
+
+ Store(Index(p905, 0), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(Index(Local1, 2), Local2)
+ Store(DerefOf(Local2), Local3)
+ Store(ObjectType(Local3), Local4)
+ if (LNotEqual(Local4, c00a)) {
+ err(c080, z077, 0x127, 0, 0, Local4, c00a)
+ }
+ if (LNotEqual(Local3, "abc100c")) {
+ err(c080, z077, 0x128, 0, 0, Local3, "abc100c")
+ }
+
+ Store(Index(p906, 0), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(Index(Local1, 0), Local2)
+ Store(DerefOf(Local2), Local3)
+ Store(ObjectType(Local3), Local4)
+ if (LNotEqual(Local4, c00a)) {
+ err(c080, z077, 0x129, 0, 0, Local4, c00a)
+ }
+ if (LNotEqual(Local3, "abc100d")) {
+ err(c080, z077, 0x12a, 0, 0, Local3, "abc100d")
+ }
+
+ Store(Index(p907, 0), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(Index(Local1, 0), Local2)
+ Store(DerefOf(Local2), Local3)
+ Store(ObjectType(Local3), Local4)
+ if (LNotEqual(Local4, c00a)) {
+ err(c080, z077, 0x12b, 0, 0, Local4, c00a)
+ }
+ if (LNotEqual(Local3, "aqwevbgnm100e")) {
+ err(c080, z077, 0x12c, 0, 0, Local3, "aqwevbgnm100e")
+ }
+
+ Store(Index(p908, 0), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(Index(Local1, 0), Local2)
+ Store(DerefOf(Local2), Local3)
+ Store(ObjectType(Local3), Local4)
+ if (LNotEqual(Local4, c00b)) {
+ err(c080, z077, 0x12d, 0, 0, Local4, c00b)
+ }
+ if (LNotEqual(Local3, Buffer() {0xa5,0xa6,0xa7,0xa8,0xa9})) {
+ err(c080, z077, 0x12e, 0, 0, Local3, Buffer() {0xa5,0xa6,0xa7,0xa8,0xa9})
+ }
+
+ // Three level Package
+
+ Store(Index(p909, 0), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(Index(Local1, 0), Local2)
+ Store(DerefOf(Local2), Local3)
+ Store(Index(Local3, 0), Local4)
+ Store(DerefOf(Local4), Local5)
+ Store(ObjectType(Local5), Local6)
+ if (LNotEqual(Local6, c009)) {
+ err(c080, z077, 0x12f, 0, 0, Local6, c009)
+ }
+ if (LNotEqual(Local5, 0xabc100f)) {
+ err(c080, z077, 0x130, 0, 0, Local5, 0xabc100f)
+ }
+
+ Store(Index(p90a, 0), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(Index(Local1, 0), Local2)
+ Store(DerefOf(Local2), Local3)
+ Store(Index(Local3, 0), Local4)
+ Store(DerefOf(Local4), Local5)
+ Store(ObjectType(Local5), Local6)
+ if (LNotEqual(Local6, c00a)) {
+ err(c080, z077, 0x131, 0, 0, Local6, c00a)
+ }
+ if (LNotEqual(Local5, "12341010")) {
+ err(c080, z077, 0x132, 0, 0, Local5, "12341010")
+ }
+
+ Store(Index(p90b, 0), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(Index(Local1, 0), Local2)
+ Store(DerefOf(Local2), Local3)
+ Store(Index(Local3, 0), Local4)
+ Store(DerefOf(Local4), Local5)
+ Store(ObjectType(Local5), Local6)
+ if (LNotEqual(Local6, c00a)) {
+ err(c080, z077, 0x133, 0, 0, Local6, c00a)
+ }
+ if (LNotEqual(Local5, "zxswefas1011")) {
+ err(c080, z077, 0x134, 0, 0, Local5, "zxswefas1011")
+ }
+
+ Store(Index(p90c, 0), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(Index(Local1, 0), Local2)
+ Store(DerefOf(Local2), Local3)
+ Store(Index(Local3, 0), Local4)
+ Store(DerefOf(Local4), Local5)
+ Store(ObjectType(Local5), Local6)
+ if (LNotEqual(Local6, c00b)) {
+ err(c080, z077, 0x135, 0, 0, Local6, c00b)
+ }
+ if (LNotEqual(Local5, Buffer() {0xaa,0xab,0xac})) {
+ err(c080, z077, 0x136, 0, 0, Local5, Buffer() {0xaa,0xab,0xac})
+ }
+
+ Store(Index(p953, 0), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(ObjectType(Local1), Local2)
+ if (LNotEqual(Local2, c009)) {
+ err(c080, z077, 0x137, 0, 0, Local2, c009)
+ }
+ if (LNotEqual(Local1, 0xabcd1018)) {
+ err(c080, z077, 0x138, 0, 0, Local1, 0xabcd1018)
+ }
+
+ Store(Index(p953, 1), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(ObjectType(Local1), Local2)
+ if (LNotEqual(Local2, c009)) {
+ err(c080, z077, 0x139, 0, 0, Local2, c009)
+ }
+ if (LNotEqual(Local1, 0xabcd1019)) {
+ err(c080, z077, 0x13a, 0, 0, Local1, 0xabcd1019)
+ }
+
+ // Not Computational Data
+
+ m1aa(c080, e900, c00f, 0, 0x13b)
+ m1aa(c080, mx90, c011, 0, 0x13c)
+ m1aa(c080, d900, c00e, 0, 0x13d)
+ if (y508) {
+ m1aa(c080, tz90, c015, 0, 0x13e)
+ }
+ m1aa(c080, pr90, c014, 0, 0x13f)
+ m1aa(c080, r900, c012, 0, 0x140)
+ m1aa(c080, pw90, c013, 0, 0x141)
+
+/*
+ * // Field Unit (Field)
+ *
+ * if (LNotEqual(f900, 0xd7)) {
+ * err(c080, z077, 0x137, 0, 0, f900, 0xd7)
+ * }
+ *
+ * // Field Unit (IndexField)
+ *
+ * if (LNotEqual(if90, 0xd7)) {
+ * err(c080, z077, 0x138, 0, 0, if90, 0xd7)
+ * }
+ */
+ } /* m000 */
+
+
+ // T2:I2-I4
+
+ if (y114) {
+ Store(Index(m902, 0), Local0)
+ m1a0(Local0, c010, Ones, 0)
+ }
+
+ // Computational Data
+
+ Store(Index(s900, 0), Local0)
+ m1a2(Local0, c016, 0, 0, c009, 0x31, 1)
+
+ Store(Index(s901, 2), Local0)
+ m1a2(Local0, c016, 0, 0, c009, 0x72, 2)
+
+ Store(Index(b900, 3), Local0)
+ m1a2(Local0, c016, 0, 0, c009, 0x13, 3)
+
+ // Package
+
+ Store(Index(p953, 0), Local0)
+ m1a2(Local0, c009, 0, 0, c009, 0xabcd1018, 1006)
+
+ // Elements of Package are Uninitialized
+
+ if (y104) {
+ Store(Index(p900, 0), Local0)
+ m1a0(Local0, c008, Ones, 4)
+ }
+
+ // Elements of Package are Computational Data
+
+ Store(Index(p901, 0), Local0)
+ m1a2(Local0, c009, 0, 0, c009, 0xabcd1004, 5)
+
+ Store(Index(p901, 1), Local0)
+ m1a2(Local0, c009, 0, 0, c009, 0x1122334455661005, 6)
+
+ Store(Index(p902, 0), Local0)
+ m1a2(Local0, c00a, 0, 0, c00a, "12341006", 7)
+
+ Store(Index(p902, 1), Local0)
+ m1a2(Local0, c00a, 0, 0, c00a, "q1w2e3r4t5y6u7i81007", 8)
+
+ Store(Index(p903, 0), Local0)
+ m1a2(Local0, c00a, 0, 0, c00a, "qwrtyuiop1008", 9)
+
+ Store(Index(p903, 1), Local0)
+ m1a2(Local0, c00a, 0, 0, c00a, "1234567890abdef0251009", 10)
+
+ Store(Index(p904, 0), Local0)
+ m1a2(Local0, c00b, 0, 0, c00b, Buffer() {0xa0,0xa1,0xa2}, 11)
+
+ Store(Index(p905, 0), Local0)
+ m1a2(Local0, c00c, 1, 0, c009, 0xabc100a, 12)
+
+ Store(Index(p905, 0), Local0)
+ m1a2(Local0, c00c, 1, 1, c00a, "0xabc100b", 13)
+
+ Store(Index(p906, 0), Local0)
+ m1a2(Local0, c00c, 1, 0, c00a, "abc100d", 14)
+
+ Store(Index(p907, 0), Local0)
+ m1a2(Local0, c00c, 1, 0, c00a, "aqwevbgnm100e", 15)
+
+ Store(Index(p908, 0), Local0)
+ m1a2(Local0, c00c, 1, 0, c00b, Buffer() {0xa5,0xa6,0xa7,0xa8,0xa9}, 16)
+
+ Store(Index(p909, 0), Local0)
+ m1a2(Local0, c00c, 2, 0, c009, 0xabc100f, 17)
+
+ Store(Index(p90a, 0), Local0)
+ m1a2(Local0, c00c, 2, 0, c00a, "12341010", 18)
+
+ Store(Index(p90b, 0), Local0)
+ m1a2(Local0, c00c, 2, 0, c00a, "zxswefas1011", 19)
+
+ Store(Index(p90c, 0), Local0)
+ m1a2(Local0, c00c, 2, 0, c00b, Buffer() {0xaa,0xab,0xac}, 20)
+
+ Store(Index(p90d, 0), Local0)
+ m1a2(Local0, c009, 0, 0, c009, 0xfe7cb391d65a1000, 21)
+
+ Store(Index(p90e, 0), Local0)
+ m1a2(Local0, c009, 0, 0, c009, 0xc1791001, 22)
+
+ Store(Index(p90f, 0), Local0)
+ m1a2(Local0, c00a, 0, 0, c00a, "12341002", 23)
+
+ Store(Index(p910, 0), Local0)
+ m1a2(Local0, c00a, 0, 0, c00a, "qwrtyu1003", 24)
+
+ Store(Index(p911, 0), Local0)
+ m1a2(Local0, c00b, 0, 0, c00b, Buffer() {0x10,0x11,0x12,0x13,0x14}, 25)
+
+ if (y118) {
+ Store(Index(p912, 0), Local0)
+ m1a2(Local0, c00d, 0, 0, c00d, 0, 26)
+
+ Store(Index(p913, 0), Local0)
+ m1a2(Local0, c00d, 0, 0, c00d, 0, 27)
+
+ Store(Index(p914, 0), Local0)
+ m1a2(Local0, c00d, 0, 0, c00d, 0, 28)
+
+ Store(Index(p915, 0), Local0)
+ m1a2(Local0, c016, 0, 0, c016, 0x10, 29)
+ }
+
+ // Elements of Package are NOT Computational Data
+
+ Store(Index(p916, 0), Local0)
+ m1a0(Local0, c00e, Ones, 30)
+
+ Store(Index(p917, 0), Local0)
+ m1a0(Local0, c00f, Ones, 31)
+
+ Store(Index(p918, 0), Local0)
+ m1a0(Local0, c011, Ones, 32)
+
+ Store(Index(p919, 0), Local0)
+ m1a0(Local0, c012, Ones, 33)
+
+ Store(Index(p91a, 0), Local0)
+ m1a0(Local0, c013, Ones, 34)
+
+ Store(Index(p91b, 0), Local0)
+ m1a0(Local0, c014, Ones, 35)
+
+ Store(Index(p91c, 0), Local0)
+ m1a0(Local0, c015, Ones, 36)
+
+ // Elements of Package are Methods
+
+ if (y105) {
+
+ Store(Index(p91d, 0), Local0)
+ m1a0(Local0, c010, Ones, 37)
+
+ Store(Index(p91e, 0), Local0)
+ m1a0(Local0, c010, Ones, 38)
+
+ Store(Index(p91f, 0), Local0)
+ m1a0(Local0, c010, Ones, 39)
+
+ Store(Index(p920, 0), Local0)
+ m1a0(Local0, c010, Ones, 40)
+
+ Store(Index(p921, 0), Local0)
+ m1a0(Local0, c010, Ones, 41)
+
+ Store(Index(p922, 0), Local0)
+ m1a0(Local0, c010, Ones, 42)
+
+ Store(Index(p923, 0), Local0)
+ m1a0(Local0, c010, Ones, 43)
+
+ Store(Index(p924, 0), Local0)
+ m1a0(Local0, c010, Ones, 44)
+
+ Store(Index(p925, 0), Local0)
+ m1a0(Local0, c010, Ones, 45)
+
+ Store(Index(p926, 0), Local0)
+ m1a0(Local0, c010, Ones, 46)
+
+ Store(Index(p927, 0), Local0)
+ m1a0(Local0, c010, Ones, 47)
+
+ Store(Index(p928, 0), Local0)
+ m1a0(Local0, c010, Ones, 48)
+
+ Store(Index(p929, 0), Local0)
+ m1a0(Local0, c010, Ones, 49)
+
+ Store(Index(p92a, 0), Local0)
+ m1a0(Local0, c010, Ones, 50)
+
+ Store(Index(p92b, 0), Local0)
+ m1a0(Local0, c010, Ones, 51)
+
+ Store(Index(p92c, 0), Local0)
+ m1a0(Local0, c010, Ones, 52)
+
+ Store(Index(p92d, 0), Local0)
+ m1a0(Local0, c010, Ones, 53)
+
+ Store(Index(p92e, 0), Local0)
+ m1a0(Local0, c010, Ones, 54)
+
+ Store(Index(p92f, 0), Local0)
+ m1a0(Local0, c010, Ones, 55)
+
+ Store(Index(p930, 0), Local0)
+ m1a0(Local0, c010, Ones, 56)
+
+ Store(Index(p931, 0), Local0)
+ m1a0(Local0, c010, Ones, 57)
+
+ Store(Index(p932, 0), Local0)
+ m1a0(Local0, c010, Ones, 58)
+
+ Store(Index(p933, 0), Local0)
+ m1a0(Local0, c010, Ones, 59)
+
+ Store(Index(p934, 0), Local0)
+ m1a0(Local0, c010, Ones, 60)
+
+ if (y103) {
+ Store(Index(p935, 0), Local0)
+ m1a0(Local0, c010, Ones, 61)
+ }
+
+ Store(Index(p936, 0), Local0)
+ m1a0(Local0, c010, Ones, 62)
+
+ Store(Index(p937, 0), Local0)
+ m1a0(Local0, c010, Ones, 63)
+
+ Store(Index(p938, 0), Local0)
+ m1a0(Local0, c010, Ones, 64)
+
+ Store(Index(p939, 0), Local0)
+ m1a0(Local0, c010, Ones, 65)
+
+ Store(Index(p93a, 0), Local0)
+ m1a0(Local0, c010, Ones, 66)
+
+ Store(Index(p93b, 0), Local0)
+ m1a0(Local0, c010, Ones, 67)
+
+ Store(Index(p93c, 0), Local0)
+ m1a0(Local0, c010, Ones, 68)
+
+ Store(Index(p93d, 0), Local0)
+ m1a0(Local0, c010, Ones, 69)
+
+ Store(Index(p93e, 0), Local0)
+ m1a0(Local0, c010, Ones, 70)
+
+ Store(Index(p93f, 0), Local0)
+ m1a0(Local0, c010, Ones, 71)
+
+ Store(Index(p940, 0), Local0)
+ m1a0(Local0, c010, Ones, 72)
+
+ Store(Index(p941, 0), Local0)
+ m1a0(Local0, c010, Ones, 73)
+
+ Store(Index(p942, 0), Local0)
+ m1a0(Local0, c010, Ones, 74)
+
+ Store(Index(p943, 0), Local0)
+ m1a0(Local0, c010, Ones, 75)
+
+ Store(Index(p944, 0), Local0)
+ m1a0(Local0, c010, Ones, 76)
+
+ Store(Index(p945, 0), Local0)
+ m1a0(Local0, c010, Ones, 77)
+
+ Store(Index(p946, 0), Local0)
+ m1a0(Local0, c010, Ones, 78)
+
+ Store(Index(p947, 0), Local0)
+ m1a0(Local0, c010, Ones, 79)
+
+ Store(Index(p948, 0), Local0)
+ m1a0(Local0, c010, Ones, 80)
+
+ Store(Index(p949, 0), Local0)
+ m1a0(Local0, c010, Ones, 81)
+
+ Store(Index(p94a, 0), Local0)
+ m1a0(Local0, c010, Ones, 82)
+
+ Store(Index(p94b, 0), Local0)
+ m1a0(Local0, c010, Ones, 83)
+
+ Store(Index(p94c, 0), Local0)
+ m1a0(Local0, c010, Ones, 84)
+
+ Store(Index(p94d, 0), Local0)
+ m1a0(Local0, c010, Ones, 85)
+
+ Store(Index(p94e, 0), Local0)
+ m1a0(Local0, c010, Ones, 86)
+
+ Store(Index(p94f, 0), Local0)
+ m1a0(Local0, c010, Ones, 87)
+
+ Store(Index(p950, 0), Local0)
+ m1a0(Local0, c010, Ones, 88)
+
+ Store(Index(p951, 0), Local0)
+ m1a0(Local0, c010, Ones, 89)
+
+ Store(Index(p952, 0), Local0)
+ m1a0(Local0, c010, Ones, 90)
+ }
+
+ // T2:IR2-IR4
+
+ // Computational Data
+
+ Store(Index(s900, 0, Local1), Local0)
+ m1a2(Local0, c016, 0, 0, c009, 0x31, 91)
+ m1a2(Local1, c016, 0, 0, c009, 0x31, 92)
+
+ Store(Index(s901, 2, Local1), Local0)
+ m1a2(Local0, c016, 0, 0, c009, 0x72, 93)
+ m1a2(Local1, c016, 0, 0, c009, 0x72, 94)
+
+ Store(Index(b900, 4, Local1), Local0)
+ m1a2(Local0, c016, 0, 0, c009, 0x14, 95)
+ m1a2(Local1, c016, 0, 0, c009, 0x14, 96)
+
+ // Elements of Package are Uninitialized
+
+ if (y104) {
+ Store(Index(p900, 0, Local1), Local0)
+ m1a0(Local0, c008, Ones, 97)
+ m1a0(Local1, c008, Ones, 98)
+ }
+
+ // Elements of Package are Computational Data
+
+ Store(Index(p901, 0, Local1), Local0)
+ m1a2(Local0, c009, 0, 0, c009, 0xabcd1004, 99)
+ m1a2(Local1, c009, 0, 0, c009, 0xabcd1004, 100)
+
+ Store(Index(p901, 1, Local1), Local0)
+ m1a2(Local0, c009, 0, 0, c009, 0x1122334455661005, 101)
+ m1a2(Local1, c009, 0, 0, c009, 0x1122334455661005, 102)
+
+ Store(Index(p902, 0, Local1), Local0)
+ m1a2(Local0, c00a, 0, 0, c00a, "12341006", 103)
+ m1a2(Local1, c00a, 0, 0, c00a, "12341006", 104)
+
+ Store(Index(p902, 1, Local1), Local0)
+ m1a2(Local0, c00a, 0, 0, c00a, "q1w2e3r4t5y6u7i81007", 105)
+ m1a2(Local1, c00a, 0, 0, c00a, "q1w2e3r4t5y6u7i81007", 106)
+
+ Store(Index(p903, 0, Local1), Local0)
+ m1a2(Local0, c00a, 0, 0, c00a, "qwrtyuiop1008", 107)
+ m1a2(Local1, c00a, 0, 0, c00a, "qwrtyuiop1008", 108)
+
+ Store(Index(p903, 1, Local1), Local0)
+ m1a2(Local0, c00a, 0, 0, c00a, "1234567890abdef0251009", 109)
+ m1a2(Local1, c00a, 0, 0, c00a, "1234567890abdef0251009", 110)
+
+ Store(Index(p904, 0, Local1), Local0)
+ m1a2(Local0, c00b, 0, 0, c00b, Buffer() {0xa0,0xa1,0xa2}, 111)
+ m1a2(Local1, c00b, 0, 0, c00b, Buffer() {0xa0,0xa1,0xa2}, 112)
+
+ Store(Index(p905, 0, Local1), Local0)
+ m1a2(Local0, c00c, 1, 0, c009, 0xabc100a, 113)
+ m1a2(Local1, c00c, 1, 0, c009, 0xabc100a, 114)
+
+ Store(Index(p905, 0, Local1), Local0)
+ m1a2(Local0, c00c, 1, 1, c00a, "0xabc100b", 115)
+ m1a2(Local1, c00c, 1, 1, c00a, "0xabc100b", 116)
+
+ Store(Index(p906, 0, Local1), Local0)
+ m1a2(Local0, c00c, 1, 0, c00a, "abc100d", 117)
+ m1a2(Local1, c00c, 1, 0, c00a, "abc100d", 118)
+
+ Store(Index(p907, 0, Local1), Local0)
+ m1a2(Local0, c00c, 1, 0, c00a, "aqwevbgnm100e", 119)
+ m1a2(Local1, c00c, 1, 0, c00a, "aqwevbgnm100e", 120)
+
+ Store(Index(p908, 0, Local1), Local0)
+ m1a2(Local0, c00c, 1, 0, c00b, Buffer() {0xa5,0xa6,0xa7,0xa8,0xa9}, 121)
+ m1a2(Local1, c00c, 1, 0, c00b, Buffer() {0xa5,0xa6,0xa7,0xa8,0xa9}, 122)
+
+ Store(Index(p909, 0, Local1), Local0)
+ m1a2(Local0, c00c, 2, 0, c009, 0xabc100f, 123)
+ m1a2(Local1, c00c, 2, 0, c009, 0xabc100f, 124)
+
+ Store(Index(p90a, 0, Local1), Local0)
+ m1a2(Local0, c00c, 2, 0, c00a, "12341010", 125)
+ m1a2(Local1, c00c, 2, 0, c00a, "12341010", 126)
+
+ Store(Index(p90b, 0, Local1), Local0)
+ m1a2(Local0, c00c, 2, 0, c00a, "zxswefas1011", 127)
+ m1a2(Local1, c00c, 2, 0, c00a, "zxswefas1011", 128)
+
+ Store(Index(p90c, 0, Local1), Local0)
+ m1a2(Local0, c00c, 2, 0, c00b, Buffer() {0xaa,0xab,0xac}, 129)
+ m1a2(Local1, c00c, 2, 0, c00b, Buffer() {0xaa,0xab,0xac}, 130)
+
+ Store(Index(p90d, 0, Local1), Local0)
+ m1a2(Local0, c009, 0, 0, c009, 0xfe7cb391d65a1000, 131)
+ m1a2(Local1, c009, 0, 0, c009, 0xfe7cb391d65a1000, 132)
+
+ Store(Index(p90e, 0, Local1), Local0)
+ m1a2(Local0, c009, 0, 0, c009, 0xc1791001, 133)
+ m1a2(Local1, c009, 0, 0, c009, 0xc1791001, 134)
+
+ Store(Index(p90f, 0, Local1), Local0)
+ m1a2(Local0, c00a, 0, 0, c00a, "12341002", 135)
+ m1a2(Local1, c00a, 0, 0, c00a, "12341002", 136)
+
+ Store(Index(p910, 0, Local1), Local0)
+ m1a2(Local0, c00a, 0, 0, c00a, "qwrtyu1003", 137)
+ m1a2(Local1, c00a, 0, 0, c00a, "qwrtyu1003", 138)
+
+ Store(Index(p911, 0, Local1), Local0)
+ m1a2(Local0, c00b, 0, 0, c00b, Buffer() {0x10,0x11,0x12,0x13,0x14}, 139)
+ m1a2(Local1, c00b, 0, 0, c00b, Buffer() {0x10,0x11,0x12,0x13,0x14}, 140)
+
+ if (y118) {
+ Store(Index(p912, 0, Local1), Local0)
+ m1a2(Local0, c00d, 0, 0, c00d, 0, 141)
+ m1a2(Local1, c00d, 0, 0, c00d, 0, 142)
+
+ Store(Index(p913, 0, Local1), Local0)
+ m1a2(Local0, c00d, 0, 0, c00d, 0, 143)
+ m1a2(Local1, c00d, 0, 0, c00d, 0, 144)
+
+ Store(Index(p914, 0, Local1), Local0)
+ m1a2(Local0, c00d, 0, 0, c00d, 0, 145)
+ m1a2(Local1, c00d, 0, 0, c00d, 0, 146)
+
+ Store(Index(p915, 0, Local1), Local0)
+ m1a2(Local0, c016, 0, 0, c016, 0x10, 147)
+ m1a2(Local1, c016, 0, 0, c016, 0x10, 148)
+ }
+
+ // Elements of Package are NOT Computational Data
+
+ Store(Index(p916, 0, Local1), Local0)
+ m1a0(Local0, c00e, Ones, 149)
+ m1a0(Local1, c00e, Ones, 150)
+
+ Store(Index(p917, 0, Local1), Local0)
+ m1a0(Local0, c00f, Ones, 151)
+ m1a0(Local1, c00f, Ones, 152)
+
+ Store(Index(p918, 0, Local1), Local0)
+ m1a0(Local0, c011, Ones, 153)
+ m1a0(Local1, c011, Ones, 154)
+
+ Store(Index(p919, 0, Local1), Local0)
+ m1a0(Local0, c012, Ones, 155)
+ m1a0(Local1, c012, Ones, 156)
+
+ Store(Index(p91a, 0, Local1), Local0)
+ m1a0(Local0, c013, Ones, 157)
+ m1a0(Local1, c013, Ones, 158)
+
+ Store(Index(p91b, 0, Local1), Local0)
+ m1a0(Local0, c014, Ones, 159)
+ m1a0(Local1, c014, Ones, 160)
+
+ Store(Index(p91c, 0, Local1), Local0)
+ m1a0(Local0, c015, Ones, 161)
+ m1a0(Local1, c015, Ones, 162)
+
+ // Elements of Package are Methods
+
+ if (y105) {
+
+ Store(Index(p91d, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 163)
+ m1a0(Local1, c010, Ones, 164)
+
+ Store(Index(p91e, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 165)
+ m1a0(Local1, c010, Ones, 166)
+
+ Store(Index(p91f, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 167)
+ m1a0(Local1, c010, Ones, 168)
+
+ Store(Index(p920, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 169)
+ m1a0(Local1, c010, Ones, 170)
+
+ Store(Index(p921, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 171)
+ m1a0(Local1, c010, Ones, 172)
+
+ Store(Index(p922, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 173)
+ m1a0(Local1, c010, Ones, 174)
+
+ Store(Index(p923, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 175)
+ m1a0(Local1, c010, Ones, 176)
+
+ Store(Index(p924, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 177)
+ m1a0(Local1, c010, Ones, 178)
+
+ Store(Index(p925, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 179)
+ m1a0(Local1, c010, Ones, 180)
+
+ Store(Index(p926, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 181)
+ m1a0(Local1, c010, Ones, 182)
+
+ Store(Index(p927, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 183)
+ m1a0(Local1, c010, Ones, 184)
+
+ Store(Index(p928, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 185)
+ m1a0(Local1, c010, Ones, 186)
+
+ Store(Index(p929, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 187)
+ m1a0(Local1, c010, Ones, 188)
+
+ Store(Index(p92a, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 189)
+ m1a0(Local1, c010, Ones, 190)
+
+ Store(Index(p92b, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 191)
+ m1a0(Local1, c010, Ones, 192)
+
+ Store(Index(p92c, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 193)
+ m1a0(Local1, c010, Ones, 194)
+
+ Store(Index(p92d, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 195)
+ m1a0(Local1, c010, Ones, 196)
+
+ Store(Index(p92e, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 197)
+ m1a0(Local1, c010, Ones, 198)
+
+ Store(Index(p92f, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 199)
+ m1a0(Local1, c010, Ones, 200)
+
+ Store(Index(p930, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 201)
+ m1a0(Local1, c010, Ones, 202)
+
+ Store(Index(p931, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 203)
+ m1a0(Local1, c010, Ones, 204)
+
+ Store(Index(p932, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 205)
+ m1a0(Local1, c010, Ones, 206)
+
+ Store(Index(p933, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 207)
+ m1a0(Local1, c010, Ones, 208)
+
+ Store(Index(p934, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 209)
+ m1a0(Local1, c010, Ones, 210)
+
+ if (y103) {
+ Store(Index(p935, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 211)
+ m1a0(Local1, c010, Ones, 212)
+ }
+
+ Store(Index(p936, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 213)
+ m1a0(Local1, c010, Ones, 214)
+
+ Store(Index(p937, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 215)
+ m1a0(Local1, c010, Ones, 216)
+
+ Store(Index(p938, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 217)
+ m1a0(Local1, c010, Ones, 218)
+
+ Store(Index(p939, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 219)
+ m1a0(Local1, c010, Ones, 220)
+
+ Store(Index(p93a, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 221)
+ m1a0(Local1, c010, Ones, 222)
+
+ Store(Index(p93b, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 223)
+ m1a0(Local1, c010, Ones, 224)
+
+ Store(Index(p93c, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 225)
+ m1a0(Local1, c010, Ones, 226)
+
+ Store(Index(p93d, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 227)
+ m1a0(Local1, c010, Ones, 228)
+
+ Store(Index(p93e, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 229)
+ m1a0(Local1, c010, Ones, 230)
+
+ Store(Index(p93f, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 231)
+ m1a0(Local1, c010, Ones, 232)
+
+ Store(Index(p940, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 233)
+ m1a0(Local1, c010, Ones, 234)
+
+ Store(Index(p941, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 235)
+ m1a0(Local1, c010, Ones, 236)
+
+ Store(Index(p942, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 237)
+ m1a0(Local1, c010, Ones, 238)
+
+ Store(Index(p943, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 239)
+ m1a0(Local1, c010, Ones, 240)
+
+ Store(Index(p944, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 241)
+ m1a0(Local1, c010, Ones, 242)
+
+ Store(Index(p945, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 243)
+ m1a0(Local1, c010, Ones, 244)
+
+ Store(Index(p946, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 245)
+ m1a0(Local1, c010, Ones, 246)
+
+ Store(Index(p947, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 247)
+ m1a0(Local1, c010, Ones, 248)
+
+ Store(Index(p948, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 249)
+ m1a0(Local1, c010, Ones, 250)
+
+ Store(Index(p949, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 251)
+ m1a0(Local1, c010, Ones, 252)
+
+ Store(Index(p94a, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 253)
+ m1a0(Local1, c010, Ones, 254)
+
+ Store(Index(p94b, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 255)
+ m1a0(Local1, c010, Ones, 256)
+
+ Store(Index(p94c, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 257)
+ m1a0(Local1, c010, Ones, 258)
+
+ Store(Index(p94d, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 259)
+ m1a0(Local1, c010, Ones, 260)
+
+ Store(Index(p94e, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 261)
+ m1a0(Local1, c010, Ones, 262)
+
+ Store(Index(p94f, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 263)
+ m1a0(Local1, c010, Ones, 264)
+
+ Store(Index(p950, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 265)
+ m1a0(Local1, c010, Ones, 266)
+
+ Store(Index(p951, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 267)
+ m1a0(Local1, c010, Ones, 268)
+
+ Store(Index(p952, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 269)
+ m1a0(Local1, c010, Ones, 270)
+ }
+
+ m000()
+ m1a6()
+}
+
+// arg0 - writing mode
+Method(m16a, 1)
+{
+ if (y100) {
+ ts00("m16a")
+ } else {
+ Store("m16a", Debug)
+ }
+
+ // Not Computational Data
+
+ Event(e900)
+ Event(e9Z0)
+ Mutex(mx90, 0)
+ Mutex(mx91, 0)
+ Device(d900) { Name(i900, 0xabcd2017) }
+ Device(d9Z0) { Name(i900, 0xabcd2017) }
+ ThermalZone(tz90) {}
+ ThermalZone(tz91) {}
+ Processor(pr90, 0, 0xFFFFFFFF, 0) {}
+ Processor(pr91, 0, 0xFFFFFFFF, 0) {}
+ OperationRegion(r900, SystemMemory, 0x100, 0x100)
+ OperationRegion(r9Z0, SystemMemory, 0x100, 0x100)
+ PowerResource(pw90, 1, 0) {Method(mmmm){return (0)}}
+ PowerResource(pw91, 1, 0) {Method(mmmm){return (0)}}
+
+ // Computational Data
+
+ Name(i900, 0xfe7cb391d65a2000)
+ Name(i9Z0, 0xfe7cb391d65a2000)
+ Name(i901, 0xc1792001)
+ Name(i9Z1, 0xc1792001)
+ Name(i902, 0)
+ Name(i903, 0xffffffffffffffff)
+ Name(i904, 0xffffffff)
+ Name(s900, "12342002")
+ Name(s9Z0, "12342002")
+ Name(s901, "qwrtyu2003")
+ Name(s9Z1, "qwrtyu2003")
+ Name(b900, Buffer() {0xc0,0xc1,0xc2,0xc3,0xc4})
+ Name(b9Z0, Buffer() {0xc0,0xc1,0xc2,0xc3,0xc4})
+
+ CreateField(b9Z0, 0, 8, bf90)
+ Field(r9Z0, ByteAcc, NoLock, Preserve) {f900,8,f901,8,f902,8,f903,8}
+ BankField(r9Z0, f901, 0, ByteAcc, NoLock, Preserve) {bn90,4}
+ IndexField(f902, f903, ByteAcc, NoLock, Preserve) {if90,8,if91,8}
+
+ // Elements of Package are Uninitialized
+
+ Name(p900, Package(1) {})
+
+ // Elements of Package are Computational Data
+
+ Name(p901, Package() {0xabcd2004, 0x1122334455662005})
+ Name(p902, Package() {"12342006", "q1w2e3r4t5y6u7i82007"})
+ Name(p903, Package() {"qwrtyuiop2008", "1234567890abdef0252009"})
+ Name(p904, Package() {Buffer() {0xc5,0xc6,0xc7}, Buffer() {0xc8,0xc9}})
+ Name(p905, Package() {Package() {0xabc200a, "0xabc200b", "abc200c"}})
+ Name(p906, Package() {Package() {"abc200d"}})
+ Name(p907, Package() {Package() {"aqwevbgnm200e"}})
+ Name(p908, Package() {Package() {Buffer() {0xca,0xcb,0xcc,0xcd,0xce}}})
+ Name(p909, Package() {Package() {Package() {0xabc200f}}})
+ Name(p90a, Package() {Package() {Package() {"12342010"}}})
+ Name(p90b, Package() {Package() {Package() {"zxswefas2011"}}})
+ Name(p90c, Package() {Package() {Package() {Buffer() {0xcf,0xd0,0xd1}}}})
+
+ Name(p90d, Package() {i900})
+ Name(p90e, Package() {i901})
+ Name(p90f, Package() {s900})
+ Name(p910, Package() {s901})
+ Name(p911, Package() {b9Z0})
+ Name(p912, Package() {f900})
+ Name(p913, Package() {bn90})
+ Name(p914, Package() {if90})
+ Name(p915, Package() {bf90})
+
+ // Elements of Package are NOT Computational Data
+
+ Name(p916, Package() {d900})
+ Name(p917, Package() {e900})
+ Name(p918, Package() {mx90})
+ Name(p919, Package() {r9Z0})
+ Name(p91a, Package() {pw90})
+ Name(p91b, Package() {pr90})
+ Name(p91c, Package() {tz90})
+
+ // Methods
+
+ Method(m900) {}
+ Method(m901) { return (0xabc2012) }
+ Method(m902) { return ("zxvgswquiy2013") }
+ Method(m903) { return (Buffer() {0xd2}) }
+ Method(m904) { return (Package() {0xabc2014}) }
+ Method(m905) { return (Package() {"lkjhgtre2015"}) }
+ Method(m906) { return (Package() {Buffer() {0xd3}}) }
+ Method(m907) { return (Package() {Package() {0xabc2016}}) }
+
+ Method(m908) { return (i900) }
+ Method(m909) { return (i901) }
+ Method(m90a) { return (s900) }
+ Method(m90b) { return (s901) }
+ Method(m90c) { return (b9Z0) }
+ Method(m90d) { return (f900) }
+ Method(m90e) { return (bn90) }
+ Method(m90f) { return (if90) }
+ Method(m910) { return (bf90) }
+
+ Method(m911) { return (d900) }
+ Method(m912) { return (e900) }
+ Method(m913) { return (m901) }
+ Method(m914) { return (mx90) }
+ Method(m915) { return (r9Z0) }
+ Method(m916) { return (pw90) }
+ Method(m917) { return (pr90) }
+ Method(m918) { return (tz90) }
+ Method(m919) { return (p900) }
+ Method(m91a) { return (p901) }
+ Method(m91b) { return (p902) }
+ Method(m91c) { return (p903) }
+ Method(m91d) { return (p904) }
+ Method(m91e) { return (p905) }
+ Method(m91f) { return (p906) }
+ Method(m920) { return (p907) }
+ Method(m921) { return (p908) }
+ Method(m922) { return (p909) }
+ Method(m923) { return (p90a) }
+ Method(m924) { return (p90b) }
+ Method(m925) { return (p90c) }
+ Method(m926) { return (p90d) }
+ Method(m927) { return (p90e) }
+ Method(m928) { return (p90f) }
+ Method(m929) { return (p910) }
+ Method(m92a) { return (p911) }
+ Method(m92b) { return (p912) }
+ Method(m92c) { return (p913) }
+ Method(m92d) { return (p914) }
+ Method(m92e) { return (p915) }
+ Method(m92f) { return (p916) }
+ Method(m930) { return (p917) }
+ Method(m931) { return (p918) }
+ Method(m932) { return (p919) }
+ Method(m933) { return (p91a) }
+ Method(m934) { return (p91b) }
+ Method(m935) { return (p91c) }
+
+ // Elements of Package are Methods
+
+ Name(p91d, Package() {m900})
+ Name(p91e, Package() {m901})
+ Name(p91f, Package() {m902})
+ Name(p920, Package() {m903})
+ Name(p921, Package() {m904})
+ Name(p922, Package() {m905})
+ Name(p923, Package() {m906})
+ Name(p924, Package() {m907})
+ Name(p925, Package() {m908})
+ Name(p926, Package() {m909})
+ Name(p927, Package() {m90a})
+ Name(p928, Package() {m90b})
+ Name(p929, Package() {m90c})
+ Name(p92a, Package() {m90d})
+ Name(p92b, Package() {m90e})
+ Name(p92c, Package() {m90f})
+ Name(p92d, Package() {m910})
+ Name(p92e, Package() {m911})
+ Name(p92f, Package() {m912})
+ Name(p930, Package() {m913})
+ Name(p931, Package() {m914})
+ Name(p932, Package() {m915})
+ Name(p933, Package() {m916})
+ Name(p934, Package() {m917})
+ if (y103) {
+ Name(p935, Package() {m918})
+ }
+ Name(p936, Package() {m919})
+ Name(p937, Package() {m91a})
+ Name(p938, Package() {m91b})
+ Name(p939, Package() {m91c})
+ Name(p93a, Package() {m91d})
+ Name(p93b, Package() {m91e})
+ Name(p93c, Package() {m91f})
+ Name(p93d, Package() {m920})
+ Name(p93e, Package() {m921})
+ Name(p93f, Package() {m922})
+ Name(p940, Package() {m923})
+ Name(p941, Package() {m924})
+ Name(p942, Package() {m925})
+ Name(p943, Package() {m926})
+ Name(p944, Package() {m927})
+ Name(p945, Package() {m928})
+ Name(p946, Package() {m929})
+ Name(p947, Package() {m92a})
+ Name(p948, Package() {m92b})
+ Name(p949, Package() {m92c})
+ Name(p94a, Package() {m92d})
+ Name(p94b, Package() {m92e})
+ Name(p94c, Package() {m92f})
+ Name(p94d, Package() {m930})
+ Name(p94e, Package() {m931})
+ Name(p94f, Package() {m932})
+ Name(p950, Package() {m933})
+ Name(p951, Package() {m934})
+ Name(p952, Package() {m935})
+
+ Name(p953, Package() {0xabcd2018, 0xabcd2019})
+ Name(p954, Package() {0xabcd2018, 0xabcd2019})
+
+
+ // Check that all the data (local) are not corrupted
+ Method(m000)
+ {
+ // Computational Data
+
+ // Integer
+
+ Store(ObjectType(i900), Local0)
+ if (LNotEqual(Local0, c009)) {
+ err(c080, z077, 0x100, 0, 0, Local0, c009)
+ }
+ if (LNotEqual(i900, 0xfe7cb391d65a2000)) {
+ err(c080, z077, 0x101, 0, 0, i900, 0xfe7cb391d65a2000)
+ }
+
+ Store(ObjectType(i901), Local0)
+ if (LNotEqual(Local0, c009)) {
+ err(c080, z077, 0x102, 0, 0, Local0, c009)
+ }
+ if (LNotEqual(i901, 0xc1792001)) {
+ err(c080, z077, 0x103, 0, 0, i901, 0xc1792001)
+ }
+
+ Store(ObjectType(i902), Local0)
+ if (LNotEqual(Local0, c009)) {
+ err(c080, z077, 0x104, 0, 0, Local0, c009)
+ }
+ if (LNotEqual(i902, 0)) {
+ err(c080, z077, 0x105, 0, 0, i902, 0)
+ }
+
+ Store(ObjectType(i903), Local0)
+ if (LNotEqual(Local0, c009)) {
+ err(c080, z077, 0x106, 0, 0, Local0, c009)
+ }
+ if (LNotEqual(i903, 0xffffffffffffffff)) {
+ err(c080, z077, 0x107, 0, 0, i903, 0xffffffffffffffff)
+ }
+
+ Store(ObjectType(i904), Local0)
+ if (LNotEqual(Local0, c009)) {
+ err(c080, z077, 0x108, 0, 0, Local0, c009)
+ }
+ if (LNotEqual(i904, 0xffffffff)) {
+ err(c080, z077, 0x109, 0, 0, i904, 0xffffffff)
+ }
+
+ // String
+
+ Store(ObjectType(s900), Local0)
+ if (LNotEqual(Local0, c00a)) {
+ err(c080, z077, 0x10a, 0, 0, Local0, c00a)
+ }
+ if (LNotEqual(s900, "12342002")) {
+ err(c080, z077, 0x10b, 0, 0, s900, "12342002")
+ }
+
+ Store(ObjectType(s901), Local0)
+ if (LNotEqual(Local0, c00a)) {
+ err(c080, z077, 0x10c, 0, 0, Local0, c00a)
+ }
+ if (LNotEqual(s901, "qwrtyu2003")) {
+ err(c080, z077, 0x10d, 0, 0, s901, "qwrtyu2003")
+ }
+
+ // Buffer
+
+ Store(ObjectType(b900), Local0)
+ if (LNotEqual(Local0, c00b)) {
+ err(c080, z077, 0x10e, 0, 0, Local0, c00b)
+ }
+ if (LNotEqual(b900, Buffer() {0xc0,0xc1,0xc2,0xc3,0xc4})) {
+ err(c080, z077, 0x10f, 0, 0, b900, Buffer() {0xc0,0xc1,0xc2,0xc3,0xc4})
+ }
+
+ // Buffer Field
+
+ Store(ObjectType(bf90), Local0)
+ if (LNotEqual(Local0, c016)) {
+ err(c080, z077, 0x110, 0, 0, Local0, c016)
+ }
+ if (LNotEqual(bf90, 0xc0)) {
+ err(c080, z077, 0x111, 0, 0, bf90, 0xc0)
+ }
+
+ // One level Package
+
+ Store(Index(p900, 0), Local0)
+ Store(ObjectType(Local0), Local1)
+ if (LNotEqual(Local1, c008)) {
+ err(c080, z077, 0x112, 0, 0, Local1, c008)
+ }
+
+ Store(Index(p901, 0), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(ObjectType(Local1), Local2)
+ if (LNotEqual(Local2, c009)) {
+ err(c080, z077, 0x113, 0, 0, Local2, c009)
+ }
+ if (LNotEqual(Local1, 0xabcd2004)) {
+ err(c080, z077, 0x114, 0, 0, Local1, 0xabcd2004)
+ }
+
+ Store(Index(p901, 1), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(ObjectType(Local1), Local2)
+ if (LNotEqual(Local2, c009)) {
+ err(c080, z077, 0x115, 0, 0, Local2, c009)
+ }
+ if (LNotEqual(Local1, 0x1122334455662005)) {
+ err(c080, z077, 0x116, 0, 0, Local1, 0x1122334455662005)
+ }
+
+ Store(Index(p902, 0), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(ObjectType(Local1), Local2)
+ if (LNotEqual(Local2, c00a)) {
+ err(c080, z077, 0x117, 0, 0, Local2, c00a)
+ }
+ if (LNotEqual(Local1, "12342006")) {
+ err(c080, z077, 0x118, 0, 0, Local1, "12342006")
+ }
+
+ Store(Index(p902, 1), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(ObjectType(Local1), Local2)
+ if (LNotEqual(Local2, c00a)) {
+ err(c080, z077, 0x119, 0, 0, Local2, c00a)
+ }
+ if (LNotEqual(Local1, "q1w2e3r4t5y6u7i82007")) {
+ err(c080, z077, 0x11a, 0, 0, Local1, "q1w2e3r4t5y6u7i82007")
+ }
+
+ Store(Index(p903, 0), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(ObjectType(Local1), Local2)
+ if (LNotEqual(Local2, c00a)) {
+ err(c080, z077, 0x11b, 0, 0, Local2, c00a)
+ }
+ if (LNotEqual(Local1, "qwrtyuiop2008")) {
+ err(c080, z077, 0x11c, 0, 0, Local1, "qwrtyuiop2008")
+ }
+
+ Store(Index(p903, 1), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(ObjectType(Local1), Local2)
+ if (LNotEqual(Local2, c00a)) {
+ err(c080, z077, 0x11d, 0, 0, Local2, c00a)
+ }
+ if (LNotEqual(Local1, "1234567890abdef0252009")) {
+ err(c080, z077, 0x11e, 0, 0, Local1, "1234567890abdef0252009")
+ }
+
+ Store(Index(p904, 0), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(ObjectType(Local1), Local2)
+ if (LNotEqual(Local2, c00b)) {
+ err(c080, z077, 0x11f, 0, 0, Local2, c00b)
+ }
+ if (LNotEqual(Local1, Buffer() {0xc5,0xc6,0xc7})) {
+ err(c080, z077, 0x120, 0, 0, Local1, Buffer() {0xc5,0xc6,0xc7})
+ }
+
+ Store(Index(p904, 1), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(ObjectType(Local1), Local2)
+ if (LNotEqual(Local2, c00b)) {
+ err(c080, z077, 0x121, 0, 0, Local2, c00b)
+ }
+ if (LNotEqual(Local1, Buffer() {0xc8,0xc9})) {
+ err(c080, z077, 0x122, 0, 0, Local1, Buffer() {0xc8,0xc9})
+ }
+
+ // Two level Package
+
+ Store(Index(p905, 0), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(Index(Local1, 0), Local2)
+ Store(DerefOf(Local2), Local3)
+ Store(ObjectType(Local3), Local4)
+ if (LNotEqual(Local4, c009)) {
+ err(c080, z077, 0x123, 0, 0, Local4, c009)
+ }
+ if (LNotEqual(Local3, 0xabc200a)) {
+ err(c080, z077, 0x124, 0, 0, Local3, 0xabc200a)
+ }
+
+ Store(Index(p905, 0), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(Index(Local1, 1), Local2)
+ Store(DerefOf(Local2), Local3)
+ Store(ObjectType(Local3), Local4)
+ if (LNotEqual(Local4, c00a)) {
+ err(c080, z077, 0x125, 0, 0, Local4, c00a)
+ }
+ if (LNotEqual(Local3, "0xabc200b")) {
+ err(c080, z077, 0x126, 0, 0, Local3, "0xabc200b")
+ }
+
+ Store(Index(p905, 0), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(Index(Local1, 2), Local2)
+ Store(DerefOf(Local2), Local3)
+ Store(ObjectType(Local3), Local4)
+ if (LNotEqual(Local4, c00a)) {
+ err(c080, z077, 0x127, 0, 0, Local4, c00a)
+ }
+ if (LNotEqual(Local3, "abc200c")) {
+ err(c080, z077, 0x128, 0, 0, Local3, "abc200c")
+ }
+
+ Store(Index(p906, 0), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(Index(Local1, 0), Local2)
+ Store(DerefOf(Local2), Local3)
+ Store(ObjectType(Local3), Local4)
+ if (LNotEqual(Local4, c00a)) {
+ err(c080, z077, 0x129, 0, 0, Local4, c00a)
+ }
+ if (LNotEqual(Local3, "abc200d")) {
+ err(c080, z077, 0x12a, 0, 0, Local3, "abc200d")
+ }
+
+ Store(Index(p907, 0), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(Index(Local1, 0), Local2)
+ Store(DerefOf(Local2), Local3)
+ Store(ObjectType(Local3), Local4)
+ if (LNotEqual(Local4, c00a)) {
+ err(c080, z077, 0x12b, 0, 0, Local4, c00a)
+ }
+ if (LNotEqual(Local3, "aqwevbgnm200e")) {
+ err(c080, z077, 0x12c, 0, 0, Local3, "aqwevbgnm200e")
+ }
+
+ Store(Index(p908, 0), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(Index(Local1, 0), Local2)
+ Store(DerefOf(Local2), Local3)
+ Store(ObjectType(Local3), Local4)
+ if (LNotEqual(Local4, c00b)) {
+ err(c080, z077, 0x12d, 0, 0, Local4, c00b)
+ }
+ if (LNotEqual(Local3, Buffer() {0xca,0xcb,0xcc,0xcd,0xce})) {
+ err(c080, z077, 0x12e, 0, 0, Local3, Buffer() {0xca,0xcb,0xcc,0xcd,0xce})
+ }
+
+ // Three level Package
+
+ Store(Index(p909, 0), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(Index(Local1, 0), Local2)
+ Store(DerefOf(Local2), Local3)
+ Store(Index(Local3, 0), Local4)
+ Store(DerefOf(Local4), Local5)
+ Store(ObjectType(Local5), Local6)
+ if (LNotEqual(Local6, c009)) {
+ err(c080, z077, 0x12f, 0, 0, Local6, c009)
+ }
+ if (LNotEqual(Local5, 0xabc200f)) {
+ err(c080, z077, 0x130, 0, 0, Local5, 0xabc200f)
+ }
+
+ Store(Index(p90a, 0), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(Index(Local1, 0), Local2)
+ Store(DerefOf(Local2), Local3)
+ Store(Index(Local3, 0), Local4)
+ Store(DerefOf(Local4), Local5)
+ Store(ObjectType(Local5), Local6)
+ if (LNotEqual(Local6, c00a)) {
+ err(c080, z077, 0x131, 0, 0, Local6, c00a)
+ }
+ if (LNotEqual(Local5, "12342010")) {
+ err(c080, z077, 0x132, 0, 0, Local5, "12342010")
+ }
+
+ Store(Index(p90b, 0), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(Index(Local1, 0), Local2)
+ Store(DerefOf(Local2), Local3)
+ Store(Index(Local3, 0), Local4)
+ Store(DerefOf(Local4), Local5)
+ Store(ObjectType(Local5), Local6)
+ if (LNotEqual(Local6, c00a)) {
+ err(c080, z077, 0x133, 0, 0, Local6, c00a)
+ }
+ if (LNotEqual(Local5, "zxswefas2011")) {
+ err(c080, z077, 0x134, 0, 0, Local5, "zxswefas2011")
+ }
+
+ Store(Index(p90c, 0), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(Index(Local1, 0), Local2)
+ Store(DerefOf(Local2), Local3)
+ Store(Index(Local3, 0), Local4)
+ Store(DerefOf(Local4), Local5)
+ Store(ObjectType(Local5), Local6)
+ if (LNotEqual(Local6, c00b)) {
+ err(c080, z077, 0x135, 0, 0, Local6, c00b)
+ }
+ if (LNotEqual(Local5, Buffer() {0xcf,0xd0,0xd1})) {
+ err(c080, z077, 0x136, 0, 0, Local5, Buffer() {0xcf,0xd0,0xd1})
+ }
+
+ Store(Index(p953, 0), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(ObjectType(Local1), Local2)
+ if (LNotEqual(Local2, c009)) {
+ err(c080, z077, 0x137, 0, 0, Local2, c009)
+ }
+ if (LNotEqual(Local1, 0xabcd2018)) {
+ err(c080, z077, 0x138, 0, 0, Local1, 0xabcd2018)
+ }
+
+ Store(Index(p953, 1), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(ObjectType(Local1), Local2)
+ if (LNotEqual(Local2, c009)) {
+ err(c080, z077, 0x139, 0, 0, Local2, c009)
+ }
+ if (LNotEqual(Local1, 0xabcd2019)) {
+ err(c080, z077, 0x13a, 0, 0, Local1, 0xabcd2019)
+ }
+
+ // Not Computational Data
+
+ m1aa(c080, e900, c00f, 0, 0x13b)
+ m1aa(c080, mx90, c011, 0, 0x13c)
+ m1aa(c080, d900, c00e, 0, 0x13d)
+ if (y508) {
+ m1aa(c080, tz90, c015, 0, 0x13e)
+ }
+ m1aa(c080, pr90, c014, 0, 0x13f)
+ m1aa(c080, r900, c012, 0, 0x140)
+ m1aa(c080, pw90, c013, 0, 0x141)
+
+/*
+ * // Field Unit (Field)
+ *
+ * if (LNotEqual(f900, 0xd7)) {
+ * err(c080, z077, 0x137, 0, 0, f900, 0xd7)
+ * }
+ *
+ * // Field Unit (IndexField)
+ *
+ * if (LNotEqual(if90, 0xd7)) {
+ * err(c080, z077, 0x138, 0, 0, if90, 0xd7)
+ * }
+ */
+ } /* m000 */
+
+ // Check and restore the global data after writing into them
+ Method(m001)
+ {
+
+ // Computational Data
+
+ m1aa(c080, i900, c009, c08a, 0x144)
+ CopyObject(i9Z0, i900)
+
+ m1aa(c080, i901, c009, c08a, 0x145)
+ CopyObject(i9Z1, i901)
+
+ m1aa(c080, s900, c009, c08a, 0x146)
+ CopyObject(s9Z0, s900)
+
+ m1aa(c080, s901, c009, c08a, 0x147)
+ CopyObject(s9Z1, s901)
+
+ m1aa(c080, b900, c009, c08a, 0x148)
+ CopyObject(b9Z0, b900)
+
+ // Package
+
+ m1aa(c080, p953, c009, c08a, 0x149)
+ CopyObject(p954, p953)
+
+ // Not Computational Data
+
+ m1aa(c080, e900, c009, c08a, 0x14a)
+ CopyObject(e9Z0, e900)
+
+ m1aa(c080, mx90, c009, c08a, 0x14b)
+ CopyObject(mx91, mx90)
+
+ m1aa(c080, d900, c009, c08a, 0x14c)
+ CopyObject(d9Z0, d900)
+
+ if (y508) {
+ m1aa(c080, tz90, c009, c08a, 0x14d)
+ CopyObject(tz91, tz90)
+ }
+
+ m1aa(c080, pr90, c009, c08a, 0x14e)
+ CopyObject(pr91, pr90)
+
+ if (y510) {
+ m1aa(c080, r900, c009, c08a, 0x14f)
+ CopyObject(r9Z0, r900)
+ }
+
+ m1aa(c080, pw90, c009, c08a, 0x150)
+ CopyObject(pw91, pw90)
+
+ m000()
+ } /* m001 */
+
+
+ // T2:R1-R14
+
+ // Computational Data
+
+ Store(RefOf(i900), Local0)
+ m1a2(Local0, c009, 0, 0, c009, 0xfe7cb391d65a2000, 271)
+
+ Store(RefOf(i901), Local0)
+ m1a2(Local0, c009, 0, 0, c009, 0xc1792001, 272)
+
+ Store(RefOf(s900), Local0)
+ m1a2(Local0, c00a, 0, 0, c00a, "12342002", 273)
+
+ Store(RefOf(s901), Local0)
+ m1a2(Local0, c00a, 0, 0, c00a, "qwrtyu2003", 274)
+
+ Store(RefOf(b900), Local0)
+ m1a2(Local0, c00b, 0, 0, c00b, Buffer() {0xc0,0xc1,0xc2,0xc3,0xc4}, 275)
+
+ // Not Computational Data
+
+ Store(RefOf(e900), Local0)
+ m1a0(Local0, c00f, Ones, 280)
+
+ Store(RefOf(mx90), Local0)
+ m1a0(Local0, c011, Ones, 281)
+
+ Store(RefOf(d900), Local0)
+ m1a0(Local0, c00e, Ones, 282)
+
+ if (arg0) {
+ if (y508) {
+ Store(RefOf(tz90), Local0)
+ m1a0(Local0, c015, Ones, 283)
+ }
+ } else {
+ Store(RefOf(tz90), Local0)
+ m1a0(Local0, c015, Ones, 283)
+ }
+
+ Store(RefOf(pr90), Local0)
+ m1a0(Local0, c014, Ones, 284)
+
+ if (arg0) {
+ if (y510) {
+ Store(RefOf(r900), Local0)
+ m1a0(Local0, c012, Ones, 285)
+ }
+ } else {
+ Store(RefOf(r900), Local0)
+ m1a0(Local0, c012, Ones, 1002)
+ }
+
+ Store(RefOf(pw90), Local0)
+ m1a0(Local0, c013, Ones, 286)
+
+ // Package
+
+ Store(RefOf(p953), Local0)
+ m1a2(Local0, c00c, 1, 0, c009, 0xabcd2018, 1001)
+
+ if (arg0) {
+ m001()
+ return
+ }
+
+ // Computational Data (Field Unit and Buffer Field)
+
+ Store(RefOf(f900), Local0)
+ m1a2(Local0, c00d, 0, 0, c009, 0, 276)
+
+ Store(RefOf(bn90), Local0)
+ m1a2(Local0, c00d, 0, 0, c009, 0, 277)
+
+ Store(RefOf(if90), Local0)
+ m1a2(Local0, c00d, 0, 0, c009, 0, 278)
+
+ Store(RefOf(bf90), Local0)
+ m1a2(Local0, c016, 0, 0, c009, 0xc0, 279)
+
+ // Elements of Package are Uninitialized
+
+ Store(RefOf(p900), Local0)
+ m1a0(Local0, c00c, Ones, 287)
+
+ // Elements of Package are Computational Data
+
+ Store(RefOf(p901), Local0)
+ m1a2(Local0, c00c, 1, 0, c009, 0xabcd2004, 288)
+ m1a2(Local0, c00c, 1, 1, c009, 0x1122334455662005, 289)
+
+ Store(RefOf(p902), Local0)
+ m1a2(Local0, c00c, 1, 0, c00a, "12342006", 290)
+ m1a2(Local0, c00c, 1, 1, c00a, "q1w2e3r4t5y6u7i82007", 291)
+
+ Store(RefOf(p903), Local0)
+ m1a2(Local0, c00c, 1, 0, c00a, "qwrtyuiop2008", 292)
+ m1a2(Local0, c00c, 1, 1, c00a, "1234567890abdef0252009", 293)
+
+ Store(RefOf(p904), Local0)
+ m1a2(Local0, c00c, 1, 0, c00b, Buffer() {0xc5,0xc6,0xc7}, 294)
+
+ Store(RefOf(p905), Local0)
+ m1a2(Local0, c00c, 2, 0, c009, 0xabc200a, 295)
+ m1a2(Local0, c00c, 2, 1, c00a, "0xabc200b", 296)
+
+ Store(RefOf(p906), Local0)
+ m1a2(Local0, c00c, 2, 0, c00a, "abc200d", 297)
+
+ Store(RefOf(p907), Local0)
+ m1a2(Local0, c00c, 2, 0, c00a, "aqwevbgnm200e", 298)
+
+ Store(RefOf(p908), Local0)
+ m1a2(Local0, c00c, 2, 0, c00b, Buffer() {0xca,0xcb,0xcc,0xcd,0xce}, 299)
+
+ Store(RefOf(p909), Local0)
+ m1a2(Local0, c00c, 3, 0, c009, 0xabc200f, 300)
+
+ Store(RefOf(p90a), Local0)
+ m1a2(Local0, c00c, 3, 0, c00a, "12342010", 301)
+
+ Store(RefOf(p90b), Local0)
+ m1a2(Local0, c00c, 3, 0, c00a, "zxswefas2011", 302)
+
+ Store(RefOf(p90c), Local0)
+ m1a2(Local0, c00c, 3, 0, c00b, Buffer() {0xcf,0xd0,0xd1}, 303)
+
+ Store(RefOf(p90d), Local0)
+ m1a2(Local0, c00c, 1, 0, c009, 0xfe7cb391d65a2000, 304)
+
+ Store(RefOf(p90e), Local0)
+ m1a2(Local0, c00c, 1, 0, c009, 0xc1792001, 305)
+
+ Store(RefOf(p90f), Local0)
+ m1a2(Local0, c00c, 1, 0, c00a, "12342002", 306)
+
+ Store(RefOf(p910), Local0)
+ m1a2(Local0, c00c, 1, 0, c00a, "qwrtyu2003", 307)
+
+ Store(RefOf(p911), Local0)
+ m1a2(Local0, c00c, 1, 0, c00b, Buffer() {0xc0,0xc1,0xc2,0xc3,0xc4}, 308)
+
+ if (y118) {
+ Store(RefOf(p912), Local0)
+ m1a2(Local0, c00c, 1, 0, c00d, 0, 309)
+
+ Store(RefOf(p913), Local0)
+ m1a2(Local0, c00c, 1, 0, c00d, 0, 310)
+
+ Store(RefOf(p914), Local0)
+ m1a2(Local0, c00c, 1, 0, c00d, 0, 311)
+
+ Store(RefOf(p915), Local0)
+ m1a2(Local0, c00c, 1, 0, c016, 0xc0, 312)
+ }
+
+ // Elements of Package are NOT Computational Data
+
+ Store(RefOf(p916), Local0)
+ m1a0(Local0, c00c, Ones, 313)
+
+ Store(RefOf(p917), Local0)
+ m1a0(Local0, c00c, Ones, 314)
+
+ Store(RefOf(p918), Local0)
+ m1a0(Local0, c00c, Ones, 315)
+
+ Store(RefOf(p919), Local0)
+ m1a0(Local0, c00c, Ones, 316)
+
+ Store(RefOf(p91a), Local0)
+ m1a0(Local0, c00c, Ones, 317)
+
+ Store(RefOf(p91b), Local0)
+ m1a0(Local0, c00c, Ones, 318)
+
+ Store(RefOf(p91c), Local0)
+ m1a0(Local0, c00c, Ones, 319)
+
+ // Elements of Package are Methods
+
+ Store(RefOf(p91d), Local0)
+ m1a0(Local0, c00c, Ones, 320)
+
+ Store(RefOf(p91e), Local0)
+ m1a0(Local0, c00c, Ones, 321)
+
+ Store(RefOf(p91f), Local0)
+ m1a0(Local0, c00c, Ones, 322)
+
+ Store(RefOf(p920), Local0)
+ m1a0(Local0, c00c, Ones, 323)
+
+ Store(RefOf(p921), Local0)
+ m1a0(Local0, c00c, Ones, 324)
+
+ Store(RefOf(p922), Local0)
+ m1a0(Local0, c00c, Ones, 325)
+
+ Store(RefOf(p923), Local0)
+ m1a0(Local0, c00c, Ones, 326)
+
+ Store(RefOf(p924), Local0)
+ m1a0(Local0, c00c, Ones, 327)
+
+ Store(RefOf(p925), Local0)
+ m1a0(Local0, c00c, Ones, 328)
+
+ Store(RefOf(p926), Local0)
+ m1a0(Local0, c00c, Ones, 329)
+
+ Store(RefOf(p927), Local0)
+ m1a0(Local0, c00c, Ones, 330)
+
+ Store(RefOf(p928), Local0)
+ m1a0(Local0, c00c, Ones, 331)
+
+ Store(RefOf(p929), Local0)
+ m1a0(Local0, c00c, Ones, 332)
+
+ Store(RefOf(p92a), Local0)
+ m1a0(Local0, c00c, Ones, 333)
+
+ Store(RefOf(p92b), Local0)
+ m1a0(Local0, c00c, Ones, 334)
+
+ Store(RefOf(p92c), Local0)
+ m1a0(Local0, c00c, Ones, 335)
+
+ Store(RefOf(p92d), Local0)
+ m1a0(Local0, c00c, Ones, 336)
+
+ Store(RefOf(p92e), Local0)
+ m1a0(Local0, c00c, Ones, 337)
+
+ Store(RefOf(p92f), Local0)
+ m1a0(Local0, c00c, Ones, 338)
+
+ Store(RefOf(p930), Local0)
+ m1a0(Local0, c00c, Ones, 339)
+
+ Store(RefOf(p931), Local0)
+ m1a0(Local0, c00c, Ones, 340)
+
+ Store(RefOf(p932), Local0)
+ m1a0(Local0, c00c, Ones, 341)
+
+ Store(RefOf(p933), Local0)
+ m1a0(Local0, c00c, Ones, 342)
+
+ Store(RefOf(p934), Local0)
+ m1a0(Local0, c00c, Ones, 343)
+
+ Store(RefOf(p935), Local0)
+ m1a0(Local0, c00c, Ones, 344)
+
+ Store(RefOf(p936), Local0)
+ m1a0(Local0, c00c, Ones, 345)
+
+ Store(RefOf(p937), Local0)
+ m1a0(Local0, c00c, Ones, 346)
+
+ Store(RefOf(p938), Local0)
+ m1a0(Local0, c00c, Ones, 347)
+
+ Store(RefOf(p939), Local0)
+ m1a0(Local0, c00c, Ones, 348)
+
+ Store(RefOf(p93a), Local0)
+ m1a0(Local0, c00c, Ones, 349)
+
+ Store(RefOf(p93b), Local0)
+ m1a0(Local0, c00c, Ones, 350)
+
+ Store(RefOf(p93c), Local0)
+ m1a0(Local0, c00c, Ones, 351)
+
+ Store(RefOf(p93d), Local0)
+ m1a0(Local0, c00c, Ones, 352)
+
+ Store(RefOf(p93e), Local0)
+ m1a0(Local0, c00c, Ones, 353)
+
+ Store(RefOf(p93f), Local0)
+ m1a0(Local0, c00c, Ones, 354)
+
+ Store(RefOf(p940), Local0)
+ m1a0(Local0, c00c, Ones, 355)
+
+ Store(RefOf(p941), Local0)
+ m1a0(Local0, c00c, Ones, 356)
+
+ Store(RefOf(p942), Local0)
+ m1a0(Local0, c00c, Ones, 357)
+
+ Store(RefOf(p943), Local0)
+ m1a0(Local0, c00c, Ones, 358)
+
+ Store(RefOf(p944), Local0)
+ m1a0(Local0, c00c, Ones, 359)
+
+ Store(RefOf(p945), Local0)
+ m1a0(Local0, c00c, Ones, 360)
+
+ Store(RefOf(p946), Local0)
+ m1a0(Local0, c00c, Ones, 361)
+
+ Store(RefOf(p947), Local0)
+ m1a0(Local0, c00c, Ones, 362)
+
+ Store(RefOf(p948), Local0)
+ m1a0(Local0, c00c, Ones, 363)
+
+ Store(RefOf(p949), Local0)
+ m1a0(Local0, c00c, Ones, 364)
+
+ Store(RefOf(p94a), Local0)
+ m1a0(Local0, c00c, Ones, 365)
+
+ Store(RefOf(p94b), Local0)
+ m1a0(Local0, c00c, Ones, 366)
+
+ Store(RefOf(p94c), Local0)
+ m1a0(Local0, c00c, Ones, 367)
+
+ Store(RefOf(p94d), Local0)
+ m1a0(Local0, c00c, Ones, 368)
+
+ Store(RefOf(p94e), Local0)
+ m1a0(Local0, c00c, Ones, 369)
+
+ Store(RefOf(p94f), Local0)
+ m1a0(Local0, c00c, Ones, 370)
+
+ Store(RefOf(p950), Local0)
+ m1a0(Local0, c00c, Ones, 371)
+
+ Store(RefOf(p951), Local0)
+ m1a0(Local0, c00c, Ones, 372)
+
+ Store(RefOf(p952), Local0)
+ m1a0(Local0, c00c, Ones, 373)
+
+ // Methods
+
+ Store(RefOf(m900), Local0)
+ m1a0(Local0, c010, Ones, 374)
+
+ Store(RefOf(m901), Local0)
+ m1a0(Local0, c010, Ones, 375)
+
+ Store(RefOf(m902), Local0)
+ m1a0(Local0, c010, Ones, 376)
+
+ Store(RefOf(m903), Local0)
+ m1a0(Local0, c010, Ones, 377)
+
+ Store(RefOf(m904), Local0)
+ m1a0(Local0, c010, Ones, 378)
+
+ Store(RefOf(m905), Local0)
+ m1a0(Local0, c010, Ones, 379)
+
+ Store(RefOf(m906), Local0)
+ m1a0(Local0, c010, Ones, 380)
+
+ Store(RefOf(m907), Local0)
+ m1a0(Local0, c010, Ones, 381)
+
+ Store(RefOf(m908), Local0)
+ m1a0(Local0, c010, Ones, 382)
+
+ Store(RefOf(m909), Local0)
+ m1a0(Local0, c010, Ones, 383)
+
+ Store(RefOf(m90a), Local0)
+ m1a0(Local0, c010, Ones, 384)
+
+ Store(RefOf(m90b), Local0)
+ m1a0(Local0, c010, Ones, 385)
+
+ Store(RefOf(m90c), Local0)
+ m1a0(Local0, c010, Ones, 386)
+
+ Store(RefOf(m90d), Local0)
+ m1a0(Local0, c010, Ones, 387)
+
+ Store(RefOf(m90e), Local0)
+ m1a0(Local0, c010, Ones, 388)
+
+ Store(RefOf(m90f), Local0)
+ m1a0(Local0, c010, Ones, 389)
+
+ Store(RefOf(m910), Local0)
+ m1a0(Local0, c010, Ones, 390)
+
+ Store(RefOf(m911), Local0)
+ m1a0(Local0, c010, Ones, 391)
+
+ Store(RefOf(m912), Local0)
+ m1a0(Local0, c010, Ones, 392)
+
+ Store(RefOf(m913), Local0)
+ m1a0(Local0, c010, Ones, 393)
+
+ Store(RefOf(m914), Local0)
+ m1a0(Local0, c010, Ones, 394)
+
+ Store(RefOf(m915), Local0)
+ m1a0(Local0, c010, Ones, 395)
+
+ Store(RefOf(m916), Local0)
+ m1a0(Local0, c010, Ones, 396)
+
+ Store(RefOf(m917), Local0)
+ m1a0(Local0, c010, Ones, 397)
+
+ Store(RefOf(m918), Local0)
+ m1a0(Local0, c010, Ones, 398)
+
+ Store(RefOf(m919), Local0)
+ m1a0(Local0, c010, Ones, 399)
+
+ Store(RefOf(m91a), Local0)
+ m1a0(Local0, c010, Ones, 400)
+
+ Store(RefOf(m91b), Local0)
+ m1a0(Local0, c010, Ones, 401)
+
+ Store(RefOf(m91c), Local0)
+ m1a0(Local0, c010, Ones, 402)
+
+ Store(RefOf(m91d), Local0)
+ m1a0(Local0, c010, Ones, 403)
+
+ Store(RefOf(m91e), Local0)
+ m1a0(Local0, c010, Ones, 404)
+
+ Store(RefOf(m91f), Local0)
+ m1a0(Local0, c010, Ones, 405)
+
+ Store(RefOf(m920), Local0)
+ m1a0(Local0, c010, Ones, 406)
+
+ Store(RefOf(m921), Local0)
+ m1a0(Local0, c010, Ones, 407)
+
+ Store(RefOf(m922), Local0)
+ m1a0(Local0, c010, Ones, 408)
+
+ Store(RefOf(m923), Local0)
+ m1a0(Local0, c010, Ones, 409)
+
+ Store(RefOf(m924), Local0)
+ m1a0(Local0, c010, Ones, 410)
+
+ Store(RefOf(m925), Local0)
+ m1a0(Local0, c010, Ones, 411)
+
+ Store(RefOf(m926), Local0)
+ m1a0(Local0, c010, Ones, 412)
+
+ Store(RefOf(m927), Local0)
+ m1a0(Local0, c010, Ones, 413)
+
+ Store(RefOf(m928), Local0)
+ m1a0(Local0, c010, Ones, 414)
+
+ Store(RefOf(m929), Local0)
+ m1a0(Local0, c010, Ones, 415)
+
+ Store(RefOf(m92a), Local0)
+ m1a0(Local0, c010, Ones, 416)
+
+ Store(RefOf(m92b), Local0)
+ m1a0(Local0, c010, Ones, 417)
+
+ Store(RefOf(m92c), Local0)
+ m1a0(Local0, c010, Ones, 418)
+
+ Store(RefOf(m92d), Local0)
+ m1a0(Local0, c010, Ones, 419)
+
+ Store(RefOf(m92e), Local0)
+ m1a0(Local0, c010, Ones, 420)
+
+ Store(RefOf(m92f), Local0)
+ m1a0(Local0, c010, Ones, 421)
+
+ Store(RefOf(m930), Local0)
+ m1a0(Local0, c010, Ones, 422)
+
+ Store(RefOf(m931), Local0)
+ m1a0(Local0, c010, Ones, 423)
+
+ Store(RefOf(m932), Local0)
+ m1a0(Local0, c010, Ones, 424)
+
+ Store(RefOf(m933), Local0)
+ m1a0(Local0, c010, Ones, 425)
+
+ Store(RefOf(m934), Local0)
+ m1a0(Local0, c010, Ones, 426)
+
+ Store(RefOf(m935), Local0)
+ m1a0(Local0, c010, Ones, 427)
+
+ m000()
+ m1a6()
+
+ return
+}
+
+Method(m16b)
+{
+ if (y100) {
+ ts00("m16b")
+ } else {
+ Store("m16b", Debug)
+ }
+
+ // Not Computational Data
+
+ Event(e900)
+ Mutex(mx90, 0)
+ Device(d900) {}
+ ThermalZone(tz90) {}
+ Processor(pr90, 0, 0xFFFFFFFF, 0) {}
+ OperationRegion(r900, SystemMemory, 0x100, 0x100)
+ OperationRegion(r9Z0, SystemMemory, 0x100, 0x100)
+ PowerResource(pw90, 1, 0) {Method(mmmm){return (0)}}
+
+ // Computational Data
+
+ Name(i900, 0xfe7cb391d65a3000)
+ Name(i901, 0x21793001)
+ Name(i902, 0)
+ Name(i903, 0xffffffffffffffff)
+ Name(i904, 0xffffffff)
+ Name(s900, "12343002")
+ Name(s901, "qwrtyu3003")
+ Name(b900, Buffer() {0xd0,0xd1,0xd2,0xd3,0xd4})
+ Name(b9Z0, Buffer() {0xd0,0xd1,0xd2,0xd3,0xd4})
+
+ CreateField(b900, 0, 8, bf90)
+ Field(r900, ByteAcc, NoLock, Preserve) {f900,8,f901,8,f902,8,f903,8}
+ BankField(r900, f901, 0, ByteAcc, NoLock, Preserve) {bn90,4}
+ IndexField(f902, f903, ByteAcc, NoLock, Preserve) {if90,8,if91,8}
+
+ // Elements of Package are Uninitialized
+
+ Name(p900, Package(1) {})
+
+ // Elements of Package are Computational Data
+
+ Name(p901, Package() {0xabcd3004, 0x1122334455663005})
+ Name(p902, Package() {"12343006", "q1w2e3r4t5y6u7i83007"})
+ Name(p903, Package() {"qwrtyuiop3008", "1234567890abdef0253009"})
+ Name(p904, Package() {Buffer() {0xd5,0xd6,0xd7}, Buffer() {0xd8,0xd9}})
+ Name(p905, Package() {Package() {0xabc300a, "0xabc300b", "abc300c"}})
+ Name(p906, Package() {Package() {"abc300d"}})
+ Name(p907, Package() {Package() {"aqwevbgnm300e"}})
+ Name(p908, Package() {Package() {Buffer() {0xda,0xdb,0xdc,0xdd,0xde}}})
+ Name(p909, Package() {Package() {Package() {0xabc300f}}})
+ Name(p90a, Package() {Package() {Package() {"12343010"}}})
+ Name(p90b, Package() {Package() {Package() {"zxswefas3011"}}})
+ Name(p90c, Package() {Package() {Package() {Buffer() {0xdf,0x20,0x21}}}})
+
+ Name(p90d, Package() {i900})
+ Name(p90e, Package() {i901})
+ Name(p90f, Package() {s900})
+ Name(p910, Package() {s901})
+ Name(p911, Package() {b9Z0})
+ Name(p912, Package() {f900})
+ Name(p913, Package() {bn90})
+ Name(p914, Package() {if90})
+ Name(p915, Package() {bf90})
+
+ // Elements of Package are NOT Computational Data
+
+ Name(p916, Package() {d900})
+ Name(p917, Package() {e900})
+ Name(p918, Package() {mx90})
+ Name(p919, Package() {r900})
+ Name(p91a, Package() {pw90})
+ Name(p91b, Package() {pr90})
+ Name(p91c, Package() {tz90})
+
+ // Methods
+
+ Method(m900) {}
+ Method(m901) { return (0xabc3012) }
+ Method(m902) { return ("zxvgswquiy3013") }
+ Method(m903) { return (Buffer() {0x22}) }
+ Method(m904) { return (Package() {0xabc3014}) }
+ Method(m905) { return (Package() {"lkjhgtre3015"}) }
+ Method(m906) { return (Package() {Buffer() {0x23}}) }
+ Method(m907) { return (Package() {Package() {0xabc3016}}) }
+
+ Method(m908) { return (i900) }
+ Method(m909) { return (i901) }
+ Method(m90a) { return (s900) }
+ Method(m90b) { return (s901) }
+ Method(m90c) { return (b9Z0) }
+ Method(m90d) { return (f900) }
+ Method(m90e) { return (bn90) }
+ Method(m90f) { return (if90) }
+ Method(m910) { return (bf90) }
+
+ Method(m911) { return (d900) }
+ Method(m912) { return (e900) }
+ Method(m913) { return (m901) }
+ Method(m914) { return (mx90) }
+ Method(m915) { return (r900) }
+ Method(m916) { return (pw90) }
+ Method(m917) { return (pr90) }
+ Method(m918) { return (tz90) }
+
+ Method(m919) { return (p900) }
+ Method(m91a) { return (p901) }
+ Method(m91b) { return (p902) }
+ Method(m91c) { return (p903) }
+ Method(m91d) { return (p904) }
+ Method(m91e) { return (p905) }
+ Method(m91f) { return (p906) }
+ Method(m920) { return (p907) }
+ Method(m921) { return (p908) }
+ Method(m922) { return (p909) }
+ Method(m923) { return (p90a) }
+ Method(m924) { return (p90b) }
+ Method(m925) { return (p90c) }
+ Method(m926) { return (p90d) }
+ Method(m927) { return (p90e) }
+ Method(m928) { return (p90f) }
+ Method(m929) { return (p910) }
+ Method(m92a) { return (p911) }
+ Method(m92b) { return (p912) }
+ Method(m92c) { return (p913) }
+ Method(m92d) { return (p914) }
+ Method(m92e) { return (p915) }
+ Method(m92f) { return (p916) }
+ Method(m930) { return (p917) }
+ Method(m931) { return (p918) }
+ Method(m932) { return (p919) }
+ Method(m933) { return (p91a) }
+ Method(m934) { return (p91b) }
+ Method(m935) { return (p91c) }
+
+ // Elements of Package are Methods
+
+ Name(p91d, Package() {m900})
+ Name(p91e, Package() {m901})
+ Name(p91f, Package() {m902})
+ Name(p920, Package() {m903})
+ Name(p921, Package() {m904})
+ Name(p922, Package() {m905})
+ Name(p923, Package() {m906})
+ Name(p924, Package() {m907})
+ Name(p925, Package() {m908})
+ Name(p926, Package() {m909})
+ Name(p927, Package() {m90a})
+ Name(p928, Package() {m90b})
+ Name(p929, Package() {m90c})
+ Name(p92a, Package() {m90d})
+ Name(p92b, Package() {m90e})
+ Name(p92c, Package() {m90f})
+ Name(p92d, Package() {m910})
+ Name(p92e, Package() {m911})
+ Name(p92f, Package() {m912})
+ Name(p930, Package() {m913})
+ Name(p931, Package() {m914})
+ Name(p932, Package() {m915})
+ Name(p933, Package() {m916})
+ Name(p934, Package() {m917})
+ if (y103) {
+ Name(p935, Package() {m918})
+ }
+ Name(p936, Package() {m919})
+ Name(p937, Package() {m91a})
+ Name(p938, Package() {m91b})
+ Name(p939, Package() {m91c})
+ Name(p93a, Package() {m91d})
+ Name(p93b, Package() {m91e})
+ Name(p93c, Package() {m91f})
+ Name(p93d, Package() {m920})
+ Name(p93e, Package() {m921})
+ Name(p93f, Package() {m922})
+ Name(p940, Package() {m923})
+ Name(p941, Package() {m924})
+ Name(p942, Package() {m925})
+ Name(p943, Package() {m926})
+ Name(p944, Package() {m927})
+ Name(p945, Package() {m928})
+ Name(p946, Package() {m929})
+ Name(p947, Package() {m92a})
+ Name(p948, Package() {m92b})
+ Name(p949, Package() {m92c})
+ Name(p94a, Package() {m92d})
+ Name(p94b, Package() {m92e})
+ Name(p94c, Package() {m92f})
+ Name(p94d, Package() {m930})
+ Name(p94e, Package() {m931})
+ Name(p94f, Package() {m932})
+ Name(p950, Package() {m933})
+ Name(p951, Package() {m934})
+ Name(p952, Package() {m935})
+
+ Name(p953, Package() {0xabcd3018, 0xabcd3019})
+ Name(p954, Package() {0xabcd3018, 0xabcd3019})
+
+ // Check that all the data (local) are not corrupted
+ Method(m000)
+ {
+ // Computational Data
+
+ // Integer
+
+ Store(ObjectType(i900), Local0)
+ if (LNotEqual(Local0, c009)) {
+ err(c080, z077, 0x100, 0, 0, Local0, c009)
+ }
+ if (LNotEqual(i900, 0xfe7cb391d65a3000)) {
+ err(c080, z077, 0x101, 0, 0, i900, 0xfe7cb391d65a3000)
+ }
+
+ Store(ObjectType(i901), Local0)
+ if (LNotEqual(Local0, c009)) {
+ err(c080, z077, 0x102, 0, 0, Local0, c009)
+ }
+ if (LNotEqual(i901, 0x21793001)) {
+ err(c080, z077, 0x103, 0, 0, i901, 0x21793001)
+ }
+
+ Store(ObjectType(i902), Local0)
+ if (LNotEqual(Local0, c009)) {
+ err(c080, z077, 0x104, 0, 0, Local0, c009)
+ }
+ if (LNotEqual(i902, 0)) {
+ err(c080, z077, 0x105, 0, 0, i902, 0)
+ }
+
+ Store(ObjectType(i903), Local0)
+ if (LNotEqual(Local0, c009)) {
+ err(c080, z077, 0x106, 0, 0, Local0, c009)
+ }
+ if (LNotEqual(i903, 0xffffffffffffffff)) {
+ err(c080, z077, 0x107, 0, 0, i903, 0xffffffffffffffff)
+ }
+
+ Store(ObjectType(i904), Local0)
+ if (LNotEqual(Local0, c009)) {
+ err(c080, z077, 0x108, 0, 0, Local0, c009)
+ }
+ if (LNotEqual(i904, 0xffffffff)) {
+ err(c080, z077, 0x109, 0, 0, i904, 0xffffffff)
+ }
+
+ // String
+
+ Store(ObjectType(s900), Local0)
+ if (LNotEqual(Local0, c00a)) {
+ err(c080, z077, 0x10a, 0, 0, Local0, c00a)
+ }
+ if (LNotEqual(s900, "12343002")) {
+ err(c080, z077, 0x10b, 0, 0, s900, "12343002")
+ }
+
+ Store(ObjectType(s901), Local0)
+ if (LNotEqual(Local0, c00a)) {
+ err(c080, z077, 0x10c, 0, 0, Local0, c00a)
+ }
+ if (LNotEqual(s901, "qwrtyu3003")) {
+ err(c080, z077, 0x10d, 0, 0, s901, "qwrtyu3003")
+ }
+
+ // Buffer
+
+ Store(ObjectType(b900), Local0)
+ if (LNotEqual(Local0, c00b)) {
+ err(c080, z077, 0x10e, 0, 0, Local0, c00b)
+ }
+ if (LNotEqual(b900, Buffer() {0xd0,0xd1,0xd2,0xd3,0xd4})) {
+ err(c080, z077, 0x10f, 0, 0, b900, Buffer() {0xd0,0xd1,0xd2,0xd3,0xd4})
+ }
+
+ // Buffer Field
+
+ Store(ObjectType(bf90), Local0)
+ if (LNotEqual(Local0, c016)) {
+ err(c080, z077, 0x110, 0, 0, Local0, c016)
+ }
+ if (LNotEqual(bf90, 0xd0)) {
+ err(c080, z077, 0x111, 0, 0, bf90, 0xd0)
+ }
+
+ // One level Package
+
+ Store(Index(p900, 0), Local0)
+ Store(ObjectType(Local0), Local1)
+ if (LNotEqual(Local1, c008)) {
+ err(c080, z077, 0x112, 0, 0, Local1, c008)
+ }
+
+ Store(Index(p901, 0), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(ObjectType(Local1), Local2)
+ if (LNotEqual(Local2, c009)) {
+ err(c080, z077, 0x113, 0, 0, Local2, c009)
+ }
+ if (LNotEqual(Local1, 0xabcd3004)) {
+ err(c080, z077, 0x114, 0, 0, Local1, 0xabcd3004)
+ }
+
+ Store(Index(p901, 1), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(ObjectType(Local1), Local2)
+ if (LNotEqual(Local2, c009)) {
+ err(c080, z077, 0x115, 0, 0, Local2, c009)
+ }
+ if (LNotEqual(Local1, 0x1122334455663005)) {
+ err(c080, z077, 0x116, 0, 0, Local1, 0x1122334455663005)
+ }
+
+ Store(Index(p902, 0), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(ObjectType(Local1), Local2)
+ if (LNotEqual(Local2, c00a)) {
+ err(c080, z077, 0x117, 0, 0, Local2, c00a)
+ }
+ if (LNotEqual(Local1, "12343006")) {
+ err(c080, z077, 0x118, 0, 0, Local1, "12343006")
+ }
+
+ Store(Index(p902, 1), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(ObjectType(Local1), Local2)
+ if (LNotEqual(Local2, c00a)) {
+ err(c080, z077, 0x119, 0, 0, Local2, c00a)
+ }
+ if (LNotEqual(Local1, "q1w2e3r4t5y6u7i83007")) {
+ err(c080, z077, 0x11a, 0, 0, Local1, "q1w2e3r4t5y6u7i83007")
+ }
+
+ Store(Index(p903, 0), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(ObjectType(Local1), Local2)
+ if (LNotEqual(Local2, c00a)) {
+ err(c080, z077, 0x11b, 0, 0, Local2, c00a)
+ }
+ if (LNotEqual(Local1, "qwrtyuiop3008")) {
+ err(c080, z077, 0x11c, 0, 0, Local1, "qwrtyuiop3008")
+ }
+
+ Store(Index(p903, 1), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(ObjectType(Local1), Local2)
+ if (LNotEqual(Local2, c00a)) {
+ err(c080, z077, 0x11d, 0, 0, Local2, c00a)
+ }
+ if (LNotEqual(Local1, "1234567890abdef0253009")) {
+ err(c080, z077, 0x11e, 0, 0, Local1, "1234567890abdef0253009")
+ }
+
+ Store(Index(p904, 0), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(ObjectType(Local1), Local2)
+ if (LNotEqual(Local2, c00b)) {
+ err(c080, z077, 0x11f, 0, 0, Local2, c00b)
+ }
+ if (LNotEqual(Local1, Buffer() {0xd5,0xd6,0xd7})) {
+ err(c080, z077, 0x120, 0, 0, Local1, Buffer() {0xd5,0xd6,0xd7})
+ }
+
+ Store(Index(p904, 1), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(ObjectType(Local1), Local2)
+ if (LNotEqual(Local2, c00b)) {
+ err(c080, z077, 0x121, 0, 0, Local2, c00b)
+ }
+ if (LNotEqual(Local1, Buffer() {0xd8,0xd9})) {
+ err(c080, z077, 0x122, 0, 0, Local1, Buffer() {0xd8,0xd9})
+ }
+
+ // Two level Package
+
+ Store(Index(p905, 0), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(Index(Local1, 0), Local2)
+ Store(DerefOf(Local2), Local3)
+ Store(ObjectType(Local3), Local4)
+ if (LNotEqual(Local4, c009)) {
+ err(c080, z077, 0x123, 0, 0, Local4, c009)
+ }
+ if (LNotEqual(Local3, 0xabc300a)) {
+ err(c080, z077, 0x124, 0, 0, Local3, 0xabc300a)
+ }
+
+ Store(Index(p905, 0), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(Index(Local1, 1), Local2)
+ Store(DerefOf(Local2), Local3)
+ Store(ObjectType(Local3), Local4)
+ if (LNotEqual(Local4, c00a)) {
+ err(c080, z077, 0x125, 0, 0, Local4, c00a)
+ }
+ if (LNotEqual(Local3, "0xabc300b")) {
+ err(c080, z077, 0x126, 0, 0, Local3, "0xabc300b")
+ }
+
+ Store(Index(p905, 0), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(Index(Local1, 2), Local2)
+ Store(DerefOf(Local2), Local3)
+ Store(ObjectType(Local3), Local4)
+ if (LNotEqual(Local4, c00a)) {
+ err(c080, z077, 0x127, 0, 0, Local4, c00a)
+ }
+ if (LNotEqual(Local3, "abc300c")) {
+ err(c080, z077, 0x128, 0, 0, Local3, "abc300c")
+ }
+
+ Store(Index(p906, 0), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(Index(Local1, 0), Local2)
+ Store(DerefOf(Local2), Local3)
+ Store(ObjectType(Local3), Local4)
+ if (LNotEqual(Local4, c00a)) {
+ err(c080, z077, 0x129, 0, 0, Local4, c00a)
+ }
+ if (LNotEqual(Local3, "abc300d")) {
+ err(c080, z077, 0x12a, 0, 0, Local3, "abc300d")
+ }
+
+ Store(Index(p907, 0), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(Index(Local1, 0), Local2)
+ Store(DerefOf(Local2), Local3)
+ Store(ObjectType(Local3), Local4)
+ if (LNotEqual(Local4, c00a)) {
+ err(c080, z077, 0x12b, 0, 0, Local4, c00a)
+ }
+ if (LNotEqual(Local3, "aqwevbgnm300e")) {
+ err(c080, z077, 0x12c, 0, 0, Local3, "aqwevbgnm300e")
+ }
+
+ Store(Index(p908, 0), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(Index(Local1, 0), Local2)
+ Store(DerefOf(Local2), Local3)
+ Store(ObjectType(Local3), Local4)
+ if (LNotEqual(Local4, c00b)) {
+ err(c080, z077, 0x12d, 0, 0, Local4, c00b)
+ }
+ if (LNotEqual(Local3, Buffer() {0xda,0xdb,0xdc,0xdd,0xde})) {
+ err(c080, z077, 0x12e, 0, 0, Local3, Buffer() {0xda,0xdb,0xdc,0xdd,0xde})
+ }
+
+ // Three level Package
+
+ Store(Index(p909, 0), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(Index(Local1, 0), Local2)
+ Store(DerefOf(Local2), Local3)
+ Store(Index(Local3, 0), Local4)
+ Store(DerefOf(Local4), Local5)
+ Store(ObjectType(Local5), Local6)
+ if (LNotEqual(Local6, c009)) {
+ err(c080, z077, 0x12f, 0, 0, Local6, c009)
+ }
+ if (LNotEqual(Local5, 0xabc300f)) {
+ err(c080, z077, 0x130, 0, 0, Local5, 0xabc300f)
+ }
+
+ Store(Index(p90a, 0), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(Index(Local1, 0), Local2)
+ Store(DerefOf(Local2), Local3)
+ Store(Index(Local3, 0), Local4)
+ Store(DerefOf(Local4), Local5)
+ Store(ObjectType(Local5), Local6)
+ if (LNotEqual(Local6, c00a)) {
+ err(c080, z077, 0x131, 0, 0, Local6, c00a)
+ }
+ if (LNotEqual(Local5, "12343010")) {
+ err(c080, z077, 0x132, 0, 0, Local5, "12343010")
+ }
+
+ Store(Index(p90b, 0), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(Index(Local1, 0), Local2)
+ Store(DerefOf(Local2), Local3)
+ Store(Index(Local3, 0), Local4)
+ Store(DerefOf(Local4), Local5)
+ Store(ObjectType(Local5), Local6)
+ if (LNotEqual(Local6, c00a)) {
+ err(c080, z077, 0x133, 0, 0, Local6, c00a)
+ }
+ if (LNotEqual(Local5, "zxswefas3011")) {
+ err(c080, z077, 0x134, 0, 0, Local5, "zxswefas3011")
+ }
+
+ Store(Index(p90c, 0), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(Index(Local1, 0), Local2)
+ Store(DerefOf(Local2), Local3)
+ Store(Index(Local3, 0), Local4)
+ Store(DerefOf(Local4), Local5)
+ Store(ObjectType(Local5), Local6)
+ if (LNotEqual(Local6, c00b)) {
+ err(c080, z077, 0x135, 0, 0, Local6, c00b)
+ }
+ if (LNotEqual(Local5, Buffer() {0xdf,0x20,0x21})) {
+ err(c080, z077, 0x136, 0, 0, Local5, Buffer() {0xdf,0x20,0x21})
+ }
+
+ Store(Index(p953, 0), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(ObjectType(Local1), Local2)
+ if (LNotEqual(Local2, c009)) {
+ err(c080, z077, 0x137, 0, 0, Local2, c009)
+ }
+ if (LNotEqual(Local1, 0xabcd3018)) {
+ err(c080, z077, 0x138, 0, 0, Local1, 0xabcd3018)
+ }
+
+ Store(Index(p953, 1), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(ObjectType(Local1), Local2)
+ if (LNotEqual(Local2, c009)) {
+ err(c080, z077, 0x139, 0, 0, Local2, c009)
+ }
+ if (LNotEqual(Local1, 0xabcd3019)) {
+ err(c080, z077, 0x13a, 0, 0, Local1, 0xabcd3019)
+ }
+
+ // Not Computational Data
+
+ m1aa(c080, e900, c00f, 0, 0x13b)
+ m1aa(c080, mx90, c011, 0, 0x13c)
+ m1aa(c080, d900, c00e, 0, 0x13d)
+ if (y508) {
+ m1aa(c080, tz90, c015, 0, 0x13e)
+ }
+ m1aa(c080, pr90, c014, 0, 0x13f)
+ m1aa(c080, r900, c012, 0, 0x140)
+ m1aa(c080, pw90, c013, 0, 0x141)
+
+/*
+ * // Field Unit (Field)
+ *
+ * if (LNotEqual(f900, 0xd7)) {
+ * err(c080, z077, 0x137, 0, 0, f900, 0xd7)
+ * }
+ *
+ * // Field Unit (IndexField)
+ *
+ * if (LNotEqual(if90, 0xd7)) {
+ * err(c080, z077, 0x138, 0, 0, if90, 0xd7)
+ * }
+ */
+ } /* m000 */
+
+
+ // T2:C1-C14
+
+ // Computational Data
+
+ Store(CondRefOf(i900), Local0)
+ m1a4(Local0, 428)
+
+ Store(CondRefOf(i901), Local0)
+ m1a4(Local0, 429)
+
+ Store(CondRefOf(s900), Local0)
+ m1a4(Local0, 430)
+
+ Store(CondRefOf(s901), Local0)
+ m1a4(Local0, 431)
+
+ Store(CondRefOf(b900), Local0)
+ m1a4(Local0, 432)
+
+ Store(CondRefOf(f900), Local0)
+ m1a4(Local0, 433)
+
+ Store(CondRefOf(bn90), Local0)
+ m1a4(Local0, 434)
+
+ Store(CondRefOf(if90), Local0)
+ m1a4(Local0, 435)
+
+ Store(CondRefOf(bf90), Local0)
+ m1a4(Local0, 436)
+
+ // Not Computational Data
+
+ Store(CondRefOf(e900), Local0)
+ m1a4(Local0, 437)
+
+ Store(CondRefOf(mx90), Local0)
+ m1a4(Local0, 438)
+
+ Store(CondRefOf(d900), Local0)
+ m1a4(Local0, 439)
+
+ Store(CondRefOf(tz90), Local0)
+ m1a4(Local0, 450)
+
+ Store(CondRefOf(pr90), Local0)
+ m1a4(Local0, 451)
+
+ Store(CondRefOf(r900), Local0)
+ m1a4(Local0, 452)
+
+ Store(CondRefOf(pw90), Local0)
+ m1a4(Local0, 453)
+
+ // Elements of Package are Uninitialized
+
+ Store(CondRefOf(p900), Local0)
+ m1a4(Local0, 454)
+
+ // Elements of Package are Computational Data
+
+ Store(CondRefOf(p901), Local0)
+ m1a4(Local0, 455)
+
+ Store(CondRefOf(p902), Local0)
+ m1a4(Local0, 456)
+
+ Store(CondRefOf(p903), Local0)
+ m1a4(Local0, 457)
+
+ Store(CondRefOf(p904), Local0)
+ m1a4(Local0, 458)
+
+ Store(CondRefOf(p905), Local0)
+ m1a4(Local0, 459)
+
+ Store(CondRefOf(p906), Local0)
+ m1a4(Local0, 460)
+
+ Store(CondRefOf(p907), Local0)
+ m1a4(Local0, 461)
+
+ Store(CondRefOf(p908), Local0)
+ m1a4(Local0, 462)
+
+ Store(CondRefOf(p909), Local0)
+ m1a4(Local0, 463)
+
+ Store(CondRefOf(p90a), Local0)
+ m1a4(Local0, 464)
+
+ Store(CondRefOf(p90b), Local0)
+ m1a4(Local0, 465)
+
+ Store(CondRefOf(p90c), Local0)
+ m1a4(Local0, 466)
+
+ Store(CondRefOf(p90d), Local0)
+ m1a4(Local0, 467)
+
+ Store(CondRefOf(p90e), Local0)
+ m1a4(Local0, 468)
+
+ Store(CondRefOf(p90f), Local0)
+ m1a4(Local0, 469)
+
+ Store(CondRefOf(p910), Local0)
+ m1a4(Local0, 470)
+
+ Store(CondRefOf(p911), Local0)
+ m1a4(Local0, 471)
+
+ Store(CondRefOf(p912), Local0)
+ m1a4(Local0, 472)
+
+ Store(CondRefOf(p913), Local0)
+ m1a4(Local0, 473)
+
+ Store(CondRefOf(p914), Local0)
+ m1a4(Local0, 474)
+
+ Store(CondRefOf(p915), Local0)
+ m1a4(Local0, 475)
+
+ // Elements of Package are NOT Computational Data
+
+ Store(CondRefOf(p916), Local0)
+ m1a4(Local0, 476)
+
+ Store(CondRefOf(p917), Local0)
+ m1a4(Local0, 477)
+
+ Store(CondRefOf(p918), Local0)
+ m1a4(Local0, 478)
+
+ Store(CondRefOf(p919), Local0)
+ m1a4(Local0, 479)
+
+ Store(CondRefOf(p91a), Local0)
+ m1a4(Local0, 480)
+
+ Store(CondRefOf(p91b), Local0)
+ m1a4(Local0, 481)
+
+ Store(CondRefOf(p91c), Local0)
+ m1a4(Local0, 482)
+
+ // Elements of Package are Methods
+
+ Store(CondRefOf(p91d), Local0)
+ m1a4(Local0, 483)
+
+ Store(CondRefOf(p91e), Local0)
+ m1a4(Local0, 484)
+
+ Store(CondRefOf(p91f), Local0)
+ m1a4(Local0, 485)
+
+ Store(CondRefOf(p920), Local0)
+ m1a4(Local0, 486)
+
+ Store(CondRefOf(p921), Local0)
+ m1a4(Local0, 487)
+
+ Store(CondRefOf(p922), Local0)
+ m1a4(Local0, 488)
+
+ Store(CondRefOf(p923), Local0)
+ m1a4(Local0, 489)
+
+ Store(CondRefOf(p924), Local0)
+ m1a4(Local0, 490)
+
+ Store(CondRefOf(p925), Local0)
+ m1a4(Local0, 491)
+
+ Store(CondRefOf(p926), Local0)
+ m1a4(Local0, 492)
+
+ Store(CondRefOf(p927), Local0)
+ m1a4(Local0, 493)
+
+ Store(CondRefOf(p928), Local0)
+ m1a4(Local0, 494)
+
+ Store(CondRefOf(p929), Local0)
+ m1a4(Local0, 495)
+
+ Store(CondRefOf(p92a), Local0)
+ m1a4(Local0, 496)
+
+ Store(CondRefOf(p92b), Local0)
+ m1a4(Local0, 497)
+
+ Store(CondRefOf(p92c), Local0)
+ m1a4(Local0, 498)
+
+ Store(CondRefOf(p92d), Local0)
+ m1a4(Local0, 499)
+
+ Store(CondRefOf(p92e), Local0)
+ m1a4(Local0, 500)
+
+ Store(CondRefOf(p92f), Local0)
+ m1a4(Local0, 501)
+
+ Store(CondRefOf(p930), Local0)
+ m1a4(Local0, 502)
+
+ Store(CondRefOf(p931), Local0)
+ m1a4(Local0, 503)
+
+ Store(CondRefOf(p932), Local0)
+ m1a4(Local0, 504)
+
+ Store(CondRefOf(p933), Local0)
+ m1a4(Local0, 505)
+
+ Store(CondRefOf(p934), Local0)
+ m1a4(Local0, 506)
+
+ Store(CondRefOf(p935), Local0)
+ m1a4(Local0, 507)
+
+ Store(CondRefOf(p936), Local0)
+ m1a4(Local0, 508)
+
+ Store(CondRefOf(p937), Local0)
+ m1a4(Local0, 509)
+
+ Store(CondRefOf(p938), Local0)
+ m1a4(Local0, 510)
+
+ Store(CondRefOf(p939), Local0)
+ m1a4(Local0, 511)
+
+ Store(CondRefOf(p93a), Local0)
+ m1a4(Local0, 512)
+
+ Store(CondRefOf(p93b), Local0)
+ m1a4(Local0, 513)
+
+ Store(CondRefOf(p93c), Local0)
+ m1a4(Local0, 514)
+
+ Store(CondRefOf(p93d), Local0)
+ m1a4(Local0, 515)
+
+ Store(CondRefOf(p93e), Local0)
+ m1a4(Local0, 516)
+
+ Store(CondRefOf(p93f), Local0)
+ m1a4(Local0, 517)
+
+ Store(CondRefOf(p940), Local0)
+ m1a4(Local0, 518)
+
+ Store(CondRefOf(p941), Local0)
+ m1a4(Local0, 519)
+
+ Store(CondRefOf(p942), Local0)
+ m1a4(Local0, 520)
+
+ Store(CondRefOf(p943), Local0)
+ m1a4(Local0, 521)
+
+ Store(CondRefOf(p944), Local0)
+ m1a4(Local0, 522)
+
+ Store(CondRefOf(p945), Local0)
+ m1a4(Local0, 523)
+
+ Store(CondRefOf(p946), Local0)
+ m1a4(Local0, 524)
+
+ Store(CondRefOf(p947), Local0)
+ m1a4(Local0, 525)
+
+ Store(CondRefOf(p948), Local0)
+ m1a4(Local0, 526)
+
+ Store(CondRefOf(p949), Local0)
+ m1a4(Local0, 527)
+
+ Store(CondRefOf(p94a), Local0)
+ m1a4(Local0, 528)
+
+ Store(CondRefOf(p94b), Local0)
+ m1a4(Local0, 529)
+
+ Store(CondRefOf(p94c), Local0)
+ m1a4(Local0, 530)
+
+ Store(CondRefOf(p94d), Local0)
+ m1a4(Local0, 531)
+
+ Store(CondRefOf(p94e), Local0)
+ m1a4(Local0, 532)
+
+ Store(CondRefOf(p94f), Local0)
+ m1a4(Local0, 533)
+
+ Store(CondRefOf(p950), Local0)
+ m1a4(Local0, 534)
+
+ Store(CondRefOf(p951), Local0)
+ m1a4(Local0, 535)
+
+ Store(CondRefOf(p952), Local0)
+ m1a4(Local0, 536)
+
+ // Methods
+
+ Store(CondRefOf(m900), Local0)
+ m1a4(Local0, 537)
+
+ Store(CondRefOf(m901), Local0)
+ m1a4(Local0, 538)
+
+ Store(CondRefOf(m902), Local0)
+ m1a4(Local0, 539)
+
+ Store(CondRefOf(m903), Local0)
+ m1a4(Local0, 540)
+
+ Store(CondRefOf(m904), Local0)
+ m1a4(Local0, 541)
+
+ Store(CondRefOf(m905), Local0)
+ m1a4(Local0, 542)
+
+ Store(CondRefOf(m906), Local0)
+ m1a4(Local0, 543)
+
+ Store(CondRefOf(m907), Local0)
+ m1a4(Local0, 544)
+
+ Store(CondRefOf(m908), Local0)
+ m1a4(Local0, 545)
+
+ Store(CondRefOf(m909), Local0)
+ m1a4(Local0, 546)
+
+ Store(CondRefOf(m90a), Local0)
+ m1a4(Local0, 547)
+
+ Store(CondRefOf(m90b), Local0)
+ m1a4(Local0, 548)
+
+ Store(CondRefOf(m90c), Local0)
+ m1a4(Local0, 549)
+
+ Store(CondRefOf(m90d), Local0)
+ m1a4(Local0, 550)
+
+ Store(CondRefOf(m90e), Local0)
+ m1a4(Local0, 551)
+
+ Store(CondRefOf(m90f), Local0)
+ m1a4(Local0, 552)
+
+ Store(CondRefOf(m910), Local0)
+ m1a4(Local0, 553)
+
+ Store(CondRefOf(m911), Local0)
+ m1a4(Local0, 554)
+
+ Store(CondRefOf(m912), Local0)
+ m1a4(Local0, 555)
+
+ Store(CondRefOf(m913), Local0)
+ m1a4(Local0, 556)
+
+ Store(CondRefOf(m914), Local0)
+ m1a4(Local0, 557)
+
+ Store(CondRefOf(m915), Local0)
+ m1a4(Local0, 558)
+
+ Store(CondRefOf(m916), Local0)
+ m1a4(Local0, 559)
+
+ Store(CondRefOf(m917), Local0)
+ m1a4(Local0, 560)
+
+ Store(CondRefOf(m918), Local0)
+ m1a4(Local0, 561)
+
+ Store(CondRefOf(m919), Local0)
+ m1a4(Local0, 562)
+
+ Store(CondRefOf(m91a), Local0)
+ m1a4(Local0, 563)
+
+ Store(CondRefOf(m91b), Local0)
+ m1a4(Local0, 564)
+
+ Store(CondRefOf(m91c), Local0)
+ m1a4(Local0, 565)
+
+ Store(CondRefOf(m91d), Local0)
+ m1a4(Local0, 566)
+
+ Store(CondRefOf(m91e), Local0)
+ m1a4(Local0, 567)
+
+ Store(CondRefOf(m91f), Local0)
+ m1a4(Local0, 568)
+
+ Store(CondRefOf(m920), Local0)
+ m1a4(Local0, 569)
+
+ Store(CondRefOf(m921), Local0)
+ m1a4(Local0, 570)
+
+ Store(CondRefOf(m922), Local0)
+ m1a4(Local0, 571)
+
+ Store(CondRefOf(m923), Local0)
+ m1a4(Local0, 572)
+
+ Store(CondRefOf(m924), Local0)
+ m1a4(Local0, 573)
+
+ Store(CondRefOf(m925), Local0)
+ m1a4(Local0, 574)
+
+ Store(CondRefOf(m926), Local0)
+ m1a4(Local0, 575)
+
+ Store(CondRefOf(m927), Local0)
+ m1a4(Local0, 576)
+
+ Store(CondRefOf(m928), Local0)
+ m1a4(Local0, 577)
+
+ Store(CondRefOf(m929), Local0)
+ m1a4(Local0, 578)
+
+ Store(CondRefOf(m92a), Local0)
+ m1a4(Local0, 579)
+
+ Store(CondRefOf(m92b), Local0)
+ m1a4(Local0, 580)
+
+ Store(CondRefOf(m92c), Local0)
+ m1a4(Local0, 581)
+
+ Store(CondRefOf(m92d), Local0)
+ m1a4(Local0, 582)
+
+ Store(CondRefOf(m92e), Local0)
+ m1a4(Local0, 583)
+
+ Store(CondRefOf(m92f), Local0)
+ m1a4(Local0, 584)
+
+ Store(CondRefOf(m930), Local0)
+ m1a4(Local0, 585)
+
+ Store(CondRefOf(m931), Local0)
+ m1a4(Local0, 586)
+
+ Store(CondRefOf(m932), Local0)
+ m1a4(Local0, 587)
+
+ Store(CondRefOf(m933), Local0)
+ m1a4(Local0, 588)
+
+ Store(CondRefOf(m934), Local0)
+ m1a4(Local0, 589)
+
+ Store(CondRefOf(m935), Local0)
+ m1a4(Local0, 590)
+
+ m000()
+ m1a6()
+}
+
+// arg0 - writing mode
+Method(m16c, 1)
+{
+ if (y100) {
+ ts00("m16c")
+ } else {
+ Store("m16c", Debug)
+ }
+
+ // Not Computational Data
+
+ Event(e900)
+ Event(e9Z0)
+ Mutex(mx90, 0)
+ Mutex(mx91, 0)
+ Device(d900) { Name(i900, 0xabcd4017) }
+ Device(d9Z0) { Name(i900, 0xabcd4017) }
+ ThermalZone(tz90) {}
+ ThermalZone(tz91) {}
+ Processor(pr90, 0, 0xFFFFFFFF, 0) {}
+ Processor(pr91, 0, 0xFFFFFFFF, 0) {}
+ OperationRegion(r900, SystemMemory, 0x100, 0x100)
+ OperationRegion(r9Z0, SystemMemory, 0x100, 0x100)
+ PowerResource(pw90, 1, 0) {Method(mmmm){return (0)}}
+ PowerResource(pw91, 1, 0) {Method(mmmm){return (0)}}
+
+ // Computational Data
+
+ Name(i900, 0xfe7cb391d65a4000)
+ Name(i9Z0, 0xfe7cb391d65a4000)
+ Name(i901, 0xc1794001)
+ Name(i9Z1, 0xc1794001)
+ Name(i902, 0)
+ Name(i903, 0xffffffffffffffff)
+ Name(i904, 0xffffffff)
+ Name(s900, "12344002")
+ Name(s9Z0, "12344002")
+ Name(s901, "qwrtyu4003")
+ Name(s9Z1, "qwrtyu4003")
+ Name(b900, Buffer() {0xe0,0xe1,0xe2,0xe3,0xe4})
+ Name(b9Z0, Buffer() {0xe0,0xe1,0xe2,0xe3,0xe4})
+
+ CreateField(b9Z0, 0, 8, bf90)
+ Field(r9Z0, ByteAcc, NoLock, Preserve) {f900,8,f901,8,f902,8,f903,8}
+ BankField(r9Z0, f901, 0, ByteAcc, NoLock, Preserve) {bn90,4}
+ IndexField(f902, f903, ByteAcc, NoLock, Preserve) {if90,8,if91,8}
+
+ // Elements of Package are Uninitialized
+
+ Name(p900, Package(1) {})
+
+ // Elements of Package are Computational Data
+
+ Name(p901, Package() {0xabcd4004, 0x1122334455664005})
+ Name(p902, Package() {"12344006", "q1w2e3r4t5y6u7i84007"})
+ Name(p903, Package() {"qwrtyuiop4008", "1234567890abdef0254009"})
+ Name(p904, Package() {Buffer() {0xe5,0xe6,0xe7}, Buffer() {0xe8,0xe9}})
+ Name(p905, Package() {Package() {0xabc400a, "0xabc400b", "abc400c"}})
+ Name(p906, Package() {Package() {"abc400d"}})
+ Name(p907, Package() {Package() {"aqwevbgnm400e"}})
+ Name(p908, Package() {Package() {Buffer() {0xea,0xeb,0xec,0xed,0xee}}})
+ Name(p909, Package() {Package() {Package() {0xabc400f}}})
+ Name(p90a, Package() {Package() {Package() {"12344010"}}})
+ Name(p90b, Package() {Package() {Package() {"zxswefas4011"}}})
+ Name(p90c, Package() {Package() {Package() {Buffer() {0xef,0x30,0x31}}}})
+
+ Name(p90d, Package() {i900})
+ Name(p90e, Package() {i901})
+ Name(p90f, Package() {s900})
+ Name(p910, Package() {s901})
+ Name(p911, Package() {b9Z0})
+ Name(p912, Package() {f900})
+ Name(p913, Package() {bn90})
+ Name(p914, Package() {if90})
+ Name(p915, Package() {bf90})
+
+ // Elements of Package are NOT Computational Data
+
+ Name(p916, Package() {d900})
+ Name(p917, Package() {e900})
+ Name(p918, Package() {mx90})
+ Name(p919, Package() {r9Z0})
+ Name(p91a, Package() {pw90})
+ Name(p91b, Package() {pr90})
+ Name(p91c, Package() {tz90})
+
+ // Methods
+
+ Method(m900) {}
+ Method(m901) { return (0xabc4012) }
+ Method(m902) { return ("zxvgswquiy4013") }
+ Method(m903) { return (Buffer() {0x32}) }
+ Method(m904) { return (Package() {0xabc4014}) }
+ Method(m905) { return (Package() {"lkjhgtre4015"}) }
+ Method(m906) { return (Package() {Buffer() {0x33}}) }
+ Method(m907) { return (Package() {Package() {0xabc4016}}) }
+
+ Method(m908) { return (i900) }
+ Method(m909) { return (i901) }
+ Method(m90a) { return (s900) }
+ Method(m90b) { return (s901) }
+ Method(m90c) { return (b9Z0) }
+ Method(m90d) { return (f900) }
+ Method(m90e) { return (bn90) }
+ Method(m90f) { return (if90) }
+ Method(m910) { return (bf90) }
+
+ Method(m911) { return (d900) }
+ Method(m912) { return (e900) }
+ Method(m913) { return (m901) }
+ Method(m914) { return (mx90) }
+ Method(m915) { return (r9Z0) }
+ Method(m916) { return (pw90) }
+ Method(m917) { return (pr90) }
+ Method(m918) { return (tz90) }
+ Method(m919) { return (p900) }
+ Method(m91a) { return (p901) }
+ Method(m91b) { return (p902) }
+ Method(m91c) { return (p903) }
+ Method(m91d) { return (p904) }
+ Method(m91e) { return (p905) }
+ Method(m91f) { return (p906) }
+ Method(m920) { return (p907) }
+ Method(m921) { return (p908) }
+ Method(m922) { return (p909) }
+ Method(m923) { return (p90a) }
+ Method(m924) { return (p90b) }
+ Method(m925) { return (p90c) }
+ Method(m926) { return (p90d) }
+ Method(m927) { return (p90e) }
+ Method(m928) { return (p90f) }
+ Method(m929) { return (p910) }
+ Method(m92a) { return (p911) }
+ Method(m92b) { return (p912) }
+ Method(m92c) { return (p913) }
+ Method(m92d) { return (p914) }
+ Method(m92e) { return (p915) }
+ Method(m92f) { return (p916) }
+ Method(m930) { return (p917) }
+ Method(m931) { return (p918) }
+ Method(m932) { return (p919) }
+ Method(m933) { return (p91a) }
+ Method(m934) { return (p91b) }
+ Method(m935) { return (p91c) }
+
+ // Elements of Package are Methods
+
+ Name(p91d, Package() {m900})
+ Name(p91e, Package() {m901})
+ Name(p91f, Package() {m902})
+ Name(p920, Package() {m903})
+ Name(p921, Package() {m904})
+ Name(p922, Package() {m905})
+ Name(p923, Package() {m906})
+ Name(p924, Package() {m907})
+ Name(p925, Package() {m908})
+ Name(p926, Package() {m909})
+ Name(p927, Package() {m90a})
+ Name(p928, Package() {m90b})
+ Name(p929, Package() {m90c})
+ Name(p92a, Package() {m90d})
+ Name(p92b, Package() {m90e})
+ Name(p92c, Package() {m90f})
+ Name(p92d, Package() {m910})
+ Name(p92e, Package() {m911})
+ Name(p92f, Package() {m912})
+ Name(p930, Package() {m913})
+ Name(p931, Package() {m914})
+ Name(p932, Package() {m915})
+ Name(p933, Package() {m916})
+ Name(p934, Package() {m917})
+ if (y103) {
+ Name(p935, Package() {m918})
+ }
+ Name(p936, Package() {m919})
+ Name(p937, Package() {m91a})
+ Name(p938, Package() {m91b})
+ Name(p939, Package() {m91c})
+ Name(p93a, Package() {m91d})
+ Name(p93b, Package() {m91e})
+ Name(p93c, Package() {m91f})
+ Name(p93d, Package() {m920})
+ Name(p93e, Package() {m921})
+ Name(p93f, Package() {m922})
+ Name(p940, Package() {m923})
+ Name(p941, Package() {m924})
+ Name(p942, Package() {m925})
+ Name(p943, Package() {m926})
+ Name(p944, Package() {m927})
+ Name(p945, Package() {m928})
+ Name(p946, Package() {m929})
+ Name(p947, Package() {m92a})
+ Name(p948, Package() {m92b})
+ Name(p949, Package() {m92c})
+ Name(p94a, Package() {m92d})
+ Name(p94b, Package() {m92e})
+ Name(p94c, Package() {m92f})
+ Name(p94d, Package() {m930})
+ Name(p94e, Package() {m931})
+ Name(p94f, Package() {m932})
+ Name(p950, Package() {m933})
+ Name(p951, Package() {m934})
+ Name(p952, Package() {m935})
+
+ Name(p953, Package() {0xabcd4018, 0xabcd4019})
+ Name(p954, Package() {0xabcd4018, 0xabcd4019})
+
+
+ // Check that all the data (local) are not corrupted
+ Method(m000)
+ {
+ // Computational Data
+
+ // Integer
+
+ Store(ObjectType(i900), Local0)
+ if (LNotEqual(Local0, c009)) {
+ err(c080, z077, 0x100, 0, 0, Local0, c009)
+ }
+ if (LNotEqual(i900, 0xfe7cb391d65a4000)) {
+ err(c080, z077, 0x101, 0, 0, i900, 0xfe7cb391d65a4000)
+ }
+
+ Store(ObjectType(i901), Local0)
+ if (LNotEqual(Local0, c009)) {
+ err(c080, z077, 0x102, 0, 0, Local0, c009)
+ }
+ if (LNotEqual(i901, 0xc1794001)) {
+ err(c080, z077, 0x103, 0, 0, i901, 0xc1794001)
+ }
+
+ Store(ObjectType(i902), Local0)
+ if (LNotEqual(Local0, c009)) {
+ err(c080, z077, 0x104, 0, 0, Local0, c009)
+ }
+ if (LNotEqual(i902, 0)) {
+ err(c080, z077, 0x105, 0, 0, i902, 0)
+ }
+
+ Store(ObjectType(i903), Local0)
+ if (LNotEqual(Local0, c009)) {
+ err(c080, z077, 0x106, 0, 0, Local0, c009)
+ }
+ if (LNotEqual(i903, 0xffffffffffffffff)) {
+ err(c080, z077, 0x107, 0, 0, i903, 0xffffffffffffffff)
+ }
+
+ Store(ObjectType(i904), Local0)
+ if (LNotEqual(Local0, c009)) {
+ err(c080, z077, 0x108, 0, 0, Local0, c009)
+ }
+ if (LNotEqual(i904, 0xffffffff)) {
+ err(c080, z077, 0x109, 0, 0, i904, 0xffffffff)
+ }
+
+ // String
+
+ Store(ObjectType(s900), Local0)
+ if (LNotEqual(Local0, c00a)) {
+ err(c080, z077, 0x10a, 0, 0, Local0, c00a)
+ }
+ if (LNotEqual(s900, "12344002")) {
+ err(c080, z077, 0x10b, 0, 0, s900, "12344002")
+ }
+
+ Store(ObjectType(s901), Local0)
+ if (LNotEqual(Local0, c00a)) {
+ err(c080, z077, 0x10c, 0, 0, Local0, c00a)
+ }
+ if (LNotEqual(s901, "qwrtyu4003")) {
+ err(c080, z077, 0x10d, 0, 0, s901, "qwrtyu4003")
+ }
+
+ // Buffer
+
+ Store(ObjectType(b900), Local0)
+ if (LNotEqual(Local0, c00b)) {
+ err(c080, z077, 0x10e, 0, 0, Local0, c00b)
+ }
+ if (LNotEqual(b900, Buffer() {0xe0,0xe1,0xe2,0xe3,0xe4})) {
+ err(c080, z077, 0x10f, 0, 0, b900, Buffer() {0xe0,0xe1,0xe2,0xe3,0xe4})
+ }
+
+ // Buffer Field
+
+ Store(ObjectType(bf90), Local0)
+ if (LNotEqual(Local0, c016)) {
+ err(c080, z077, 0x110, 0, 0, Local0, c016)
+ }
+ if (LNotEqual(bf90, 0xe0)) {
+ err(c080, z077, 0x111, 0, 0, bf90, 0xe0)
+ }
+
+ // One level Package
+
+ Store(Index(p900, 0), Local0)
+ Store(ObjectType(Local0), Local1)
+ if (LNotEqual(Local1, c008)) {
+ err(c080, z077, 0x112, 0, 0, Local1, c008)
+ }
+
+ Store(Index(p901, 0), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(ObjectType(Local1), Local2)
+ if (LNotEqual(Local2, c009)) {
+ err(c080, z077, 0x113, 0, 0, Local2, c009)
+ }
+ if (LNotEqual(Local1, 0xabcd4004)) {
+ err(c080, z077, 0x114, 0, 0, Local1, 0xabcd4004)
+ }
+
+ Store(Index(p901, 1), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(ObjectType(Local1), Local2)
+ if (LNotEqual(Local2, c009)) {
+ err(c080, z077, 0x115, 0, 0, Local2, c009)
+ }
+ if (LNotEqual(Local1, 0x1122334455664005)) {
+ err(c080, z077, 0x116, 0, 0, Local1, 0x1122334455664005)
+ }
+
+ Store(Index(p902, 0), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(ObjectType(Local1), Local2)
+ if (LNotEqual(Local2, c00a)) {
+ err(c080, z077, 0x117, 0, 0, Local2, c00a)
+ }
+ if (LNotEqual(Local1, "12344006")) {
+ err(c080, z077, 0x118, 0, 0, Local1, "12344006")
+ }
+
+ Store(Index(p902, 1), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(ObjectType(Local1), Local2)
+ if (LNotEqual(Local2, c00a)) {
+ err(c080, z077, 0x119, 0, 0, Local2, c00a)
+ }
+ if (LNotEqual(Local1, "q1w2e3r4t5y6u7i84007")) {
+ err(c080, z077, 0x11a, 0, 0, Local1, "q1w2e3r4t5y6u7i84007")
+ }
+
+ Store(Index(p903, 0), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(ObjectType(Local1), Local2)
+ if (LNotEqual(Local2, c00a)) {
+ err(c080, z077, 0x11b, 0, 0, Local2, c00a)
+ }
+ if (LNotEqual(Local1, "qwrtyuiop4008")) {
+ err(c080, z077, 0x11c, 0, 0, Local1, "qwrtyuiop4008")
+ }
+
+ Store(Index(p903, 1), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(ObjectType(Local1), Local2)
+ if (LNotEqual(Local2, c00a)) {
+ err(c080, z077, 0x11d, 0, 0, Local2, c00a)
+ }
+ if (LNotEqual(Local1, "1234567890abdef0254009")) {
+ err(c080, z077, 0x11e, 0, 0, Local1, "1234567890abdef0254009")
+ }
+
+ Store(Index(p904, 0), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(ObjectType(Local1), Local2)
+ if (LNotEqual(Local2, c00b)) {
+ err(c080, z077, 0x11f, 0, 0, Local2, c00b)
+ }
+ if (LNotEqual(Local1, Buffer() {0xe5,0xe6,0xe7})) {
+ err(c080, z077, 0x120, 0, 0, Local1, Buffer() {0xe5,0xe6,0xe7})
+ }
+
+ Store(Index(p904, 1), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(ObjectType(Local1), Local2)
+ if (LNotEqual(Local2, c00b)) {
+ err(c080, z077, 0x121, 0, 0, Local2, c00b)
+ }
+ if (LNotEqual(Local1, Buffer() {0xe8,0xe9})) {
+ err(c080, z077, 0x122, 0, 0, Local1, Buffer() {0xe8,0xe9})
+ }
+
+ // Two level Package
+
+ Store(Index(p905, 0), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(Index(Local1, 0), Local2)
+ Store(DerefOf(Local2), Local3)
+ Store(ObjectType(Local3), Local4)
+ if (LNotEqual(Local4, c009)) {
+ err(c080, z077, 0x123, 0, 0, Local4, c009)
+ }
+ if (LNotEqual(Local3, 0xabc400a)) {
+ err(c080, z077, 0x124, 0, 0, Local3, 0xabc400a)
+ }
+
+ Store(Index(p905, 0), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(Index(Local1, 1), Local2)
+ Store(DerefOf(Local2), Local3)
+ Store(ObjectType(Local3), Local4)
+ if (LNotEqual(Local4, c00a)) {
+ err(c080, z077, 0x125, 0, 0, Local4, c00a)
+ }
+ if (LNotEqual(Local3, "0xabc400b")) {
+ err(c080, z077, 0x126, 0, 0, Local3, "0xabc400b")
+ }
+
+ Store(Index(p905, 0), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(Index(Local1, 2), Local2)
+ Store(DerefOf(Local2), Local3)
+ Store(ObjectType(Local3), Local4)
+ if (LNotEqual(Local4, c00a)) {
+ err(c080, z077, 0x127, 0, 0, Local4, c00a)
+ }
+ if (LNotEqual(Local3, "abc400c")) {
+ err(c080, z077, 0x128, 0, 0, Local3, "abc400c")
+ }
+
+ Store(Index(p906, 0), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(Index(Local1, 0), Local2)
+ Store(DerefOf(Local2), Local3)
+ Store(ObjectType(Local3), Local4)
+ if (LNotEqual(Local4, c00a)) {
+ err(c080, z077, 0x129, 0, 0, Local4, c00a)
+ }
+ if (LNotEqual(Local3, "abc400d")) {
+ err(c080, z077, 0x12a, 0, 0, Local3, "abc400d")
+ }
+
+ Store(Index(p907, 0), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(Index(Local1, 0), Local2)
+ Store(DerefOf(Local2), Local3)
+ Store(ObjectType(Local3), Local4)
+ if (LNotEqual(Local4, c00a)) {
+ err(c080, z077, 0x12b, 0, 0, Local4, c00a)
+ }
+ if (LNotEqual(Local3, "aqwevbgnm400e")) {
+ err(c080, z077, 0x12c, 0, 0, Local3, "aqwevbgnm400e")
+ }
+
+ Store(Index(p908, 0), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(Index(Local1, 0), Local2)
+ Store(DerefOf(Local2), Local3)
+ Store(ObjectType(Local3), Local4)
+ if (LNotEqual(Local4, c00b)) {
+ err(c080, z077, 0x12d, 0, 0, Local4, c00b)
+ }
+ if (LNotEqual(Local3, Buffer() {0xea,0xeb,0xec,0xed,0xee})) {
+ err(c080, z077, 0x12e, 0, 0, Local3, Buffer() {0xea,0xeb,0xec,0xed,0xee})
+ }
+
+ // Three level Package
+
+ Store(Index(p909, 0), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(Index(Local1, 0), Local2)
+ Store(DerefOf(Local2), Local3)
+ Store(Index(Local3, 0), Local4)
+ Store(DerefOf(Local4), Local5)
+ Store(ObjectType(Local5), Local6)
+ if (LNotEqual(Local6, c009)) {
+ err(c080, z077, 0x12f, 0, 0, Local6, c009)
+ }
+ if (LNotEqual(Local5, 0xabc400f)) {
+ err(c080, z077, 0x130, 0, 0, Local5, 0xabc400f)
+ }
+
+ Store(Index(p90a, 0), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(Index(Local1, 0), Local2)
+ Store(DerefOf(Local2), Local3)
+ Store(Index(Local3, 0), Local4)
+ Store(DerefOf(Local4), Local5)
+ Store(ObjectType(Local5), Local6)
+ if (LNotEqual(Local6, c00a)) {
+ err(c080, z077, 0x131, 0, 0, Local6, c00a)
+ }
+ if (LNotEqual(Local5, "12344010")) {
+ err(c080, z077, 0x132, 0, 0, Local5, "12344010")
+ }
+
+ Store(Index(p90b, 0), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(Index(Local1, 0), Local2)
+ Store(DerefOf(Local2), Local3)
+ Store(Index(Local3, 0), Local4)
+ Store(DerefOf(Local4), Local5)
+ Store(ObjectType(Local5), Local6)
+ if (LNotEqual(Local6, c00a)) {
+ err(c080, z077, 0x133, 0, 0, Local6, c00a)
+ }
+ if (LNotEqual(Local5, "zxswefas4011")) {
+ err(c080, z077, 0x134, 0, 0, Local5, "zxswefas4011")
+ }
+
+ Store(Index(p90c, 0), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(Index(Local1, 0), Local2)
+ Store(DerefOf(Local2), Local3)
+ Store(Index(Local3, 0), Local4)
+ Store(DerefOf(Local4), Local5)
+ Store(ObjectType(Local5), Local6)
+ if (LNotEqual(Local6, c00b)) {
+ err(c080, z077, 0x135, 0, 0, Local6, c00b)
+ }
+ if (LNotEqual(Local5, Buffer() {0xef,0x30,0x31})) {
+ err(c080, z077, 0x136, 0, 0, Local5, Buffer() {0xef,0x30,0x31})
+ }
+
+ Store(Index(p953, 0), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(ObjectType(Local1), Local2)
+ if (LNotEqual(Local2, c009)) {
+ err(c080, z077, 0x137, 0, 0, Local2, c009)
+ }
+ if (LNotEqual(Local1, 0xabcd4018)) {
+ err(c080, z077, 0x138, 0, 0, Local1, 0xabcd4018)
+ }
+
+ Store(Index(p953, 1), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(ObjectType(Local1), Local2)
+ if (LNotEqual(Local2, c009)) {
+ err(c080, z077, 0x139, 0, 0, Local2, c009)
+ }
+ if (LNotEqual(Local1, 0xabcd4019)) {
+ err(c080, z077, 0x13a, 0, 0, Local1, 0xabcd4019)
+ }
+
+ // Not Computational Data
+
+ m1aa(c080, e900, c00f, 0, 0x13b)
+ m1aa(c080, mx90, c011, 0, 0x13c)
+ m1aa(c080, d900, c00e, 0, 0x13d)
+ if (y508) {
+ m1aa(c080, tz90, c015, 0, 0x13e)
+ }
+ m1aa(c080, pr90, c014, 0, 0x13f)
+ m1aa(c080, r900, c012, 0, 0x140)
+ m1aa(c080, pw90, c013, 0, 0x141)
+
+/*
+ * // Field Unit (Field)
+ *
+ * if (LNotEqual(f900, 0xd7)) {
+ * err(c080, z077, 0x137, 0, 0, f900, 0xd7)
+ * }
+ *
+ * // Field Unit (IndexField)
+ *
+ * if (LNotEqual(if90, 0xd7)) {
+ * err(c080, z077, 0x138, 0, 0, if90, 0xd7)
+ * }
+ */
+ } /* m000 */
+
+ // Check and restore the global data after writing into them
+ Method(m001)
+ {
+
+ // Computational Data
+
+ m1aa(c080, i900, c009, c08a, 0x144)
+ CopyObject(i9Z0, i900)
+
+ m1aa(c080, i901, c009, c08a, 0x145)
+ CopyObject(i9Z1, i901)
+
+ m1aa(c080, s900, c009, c08a, 0x146)
+ CopyObject(s9Z0, s900)
+
+ m1aa(c080, s901, c009, c08a, 0x147)
+ CopyObject(s9Z1, s901)
+
+ m1aa(c080, b900, c009, c08a, 0x148)
+ CopyObject(b9Z0, b900)
+
+ // Package
+
+ m1aa(c080, p953, c009, c08a, 0x149)
+ CopyObject(p954, p953)
+
+ // Not Computational Data
+
+ m1aa(c080, e900, c009, c08a, 0x14a)
+ CopyObject(e9Z0, e900)
+
+ m1aa(c080, mx90, c009, c08a, 0x14b)
+ CopyObject(mx91, mx90)
+
+ m1aa(c080, d900, c009, c08a, 0x14c)
+ CopyObject(d9Z0, d900)
+
+ if (y508) {
+ m1aa(c080, tz90, c009, c08a, 0x14d)
+ CopyObject(tz91, tz90)
+ }
+
+ m1aa(c080, pr90, c009, c08a, 0x14e)
+ CopyObject(pr91, pr90)
+
+ if (y510) {
+ m1aa(c080, r900, c009, c08a, 0x14f)
+ CopyObject(r9Z0, r900)
+ }
+
+ m1aa(c080, pw90, c009, c08a, 0x150)
+ CopyObject(pw91, pw90)
+
+ m000()
+ } /* m001 */
+
+
+ // T2:CR1-CR14
+
+ // Computational Data
+
+ Store(CondRefOf(i900, Local0), Local1)
+ if (m1a4(Local1, 591)) {
+ m1a2(Local0, c009, 0, 0, c009, 0xfe7cb391d65a4000, 592)
+ }
+
+ Store(CondRefOf(i901, Local0), Local1)
+ if (m1a4(Local1, 593)) {
+ m1a2(Local0, c009, 0, 0, c009, 0xc1794001, 594)
+ }
+
+ Store(CondRefOf(s900, Local0), Local1)
+ if (m1a4(Local1, 595)) {
+ m1a2(Local0, c00a, 0, 0, c00a, "12344002", 596)
+ }
+
+ Store(CondRefOf(s901, Local0), Local1)
+ if (m1a4(Local1, 597)) {
+ m1a2(Local0, c00a, 0, 0, c00a, "qwrtyu4003", 598)
+ }
+
+ Store(CondRefOf(b900, Local0), Local1)
+ if (m1a4(Local1, 599)) {
+ m1a2(Local0, c00b, 0, 0, c00b, Buffer() {0xe0,0xe1,0xe2,0xe3,0xe4}, 600)
+ }
+
+ // Not Computational Data
+
+ Store(CondRefOf(e900, Local0), Local1)
+ m1a0(Local0, c00f, Local1, 609)
+
+ Store(CondRefOf(mx90, Local0), Local1)
+ m1a0(Local0, c011, Local1, 610)
+
+ Store(CondRefOf(d900, Local0), Local1)
+ m1a0(Local0, c00e, Local1, 611)
+
+ if (arg0) {
+ if (y508) {
+ Store(CondRefOf(tz90, Local0), Local1)
+ m1a0(Local0, c015, Local1, 612)
+ }
+ } else {
+ Store(CondRefOf(tz90, Local0), Local1)
+ m1a0(Local0, c015, Local1, 1004)
+ }
+
+ Store(CondRefOf(pr90, Local0), Local1)
+ m1a0(Local0, c014, Local1, 613)
+
+ if (arg0) {
+ if (y510) {
+ Store(CondRefOf(r900, Local0), Local1)
+ m1a0(Local0, c012, Local1, 614)
+ }
+ } else {
+ Store(CondRefOf(r900, Local0), Local1)
+ m1a0(Local0, c012, Local1, 614)
+ }
+
+ Store(CondRefOf(pw90, Local0), Local1)
+ m1a0(Local0, c013, Local1, 615)
+
+ // Package
+
+ Store(CondRefOf(p953, Local0), Local1)
+ if (m1a4(Local1, 1005)) {
+ m1a2(Local0, c00c, 1, 0, c009, 0xabcd4018, 1006)
+ }
+
+ if (arg0) {
+ m001()
+ return
+ }
+
+ // Computational Data (Field Unit and Buffer Field)
+
+ Store(CondRefOf(f900, Local0), Local1)
+ if (m1a4(Local1, 601)) {
+ m1a2(Local0, c00d, 0, 0, c009, 0, 602)
+ }
+
+ Store(CondRefOf(bn90, Local0), Local1)
+ if (m1a4(Local1, 603)) {
+ m1a2(Local0, c00d, 0, 0, c009, 0, 604)
+ }
+
+ Store(CondRefOf(if90, Local0), Local1)
+ if (m1a4(Local1, 605)) {
+ m1a2(Local0, c00d, 0, 0, c009, 0, 606)
+ }
+
+ Store(CondRefOf(bf90, Local0), Local1)
+ if (m1a4(Local1, 607)) {
+ m1a2(Local0, c016, 0, 0, c009, 0xe0, 608)
+ }
+
+ // Elements of Package are Uninitialized
+
+ Store(CondRefOf(p900, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 616)
+
+ // Elements of Package are Computational Data
+
+ Store(CondRefOf(p901, Local0), Local1)
+ if (m1a4(Local1, 617)) {
+ m1a2(Local0, c00c, 1, 0, c009, 0xabcd4004, 618)
+ m1a2(Local0, c00c, 1, 1, c009, 0x1122334455664005, 619)
+ }
+
+ Store(CondRefOf(p902, Local0), Local1)
+ if (m1a4(Local1, 620)) {
+ m1a2(Local0, c00c, 1, 0, c00a, "12344006", 621)
+ m1a2(Local0, c00c, 1, 1, c00a, "q1w2e3r4t5y6u7i84007", 622)
+ }
+
+ Store(CondRefOf(p903, Local0), Local1)
+ if (m1a4(Local1, 623)) {
+ m1a2(Local0, c00c, 1, 0, c00a, "qwrtyuiop4008", 624)
+ m1a2(Local0, c00c, 1, 1, c00a, "1234567890abdef0254009", 625)
+ }
+
+ Store(CondRefOf(p904, Local0), Local1)
+ if (m1a4(Local1, 626)) {
+ m1a2(Local0, c00c, 1, 0, c00b, Buffer() {0xe5,0xe6,0xe7}, 627)
+ }
+
+ Store(CondRefOf(p905, Local0), Local1)
+ if (m1a4(Local1, 628)) {
+ m1a2(Local0, c00c, 2, 0, c009, 0xabc400a, 629)
+ m1a2(Local0, c00c, 2, 1, c00a, "0xabc400b", 630)
+ }
+
+ Store(CondRefOf(p906, Local0), Local1)
+ if (m1a4(Local1, 631)) {
+ m1a2(Local0, c00c, 2, 0, c00a, "abc400d", 632)
+ }
+
+ Store(CondRefOf(p907, Local0), Local1)
+ if (m1a4(Local1, 633)) {
+ m1a2(Local0, c00c, 2, 0, c00a, "aqwevbgnm400e", 634)
+ }
+
+ Store(CondRefOf(p908, Local0), Local1)
+ if (m1a4(Local1, 635)) {
+ m1a2(Local0, c00c, 2, 0, c00b, Buffer() {0xea,0xeb,0xec,0xed,0xee}, 636)
+ }
+
+ Store(CondRefOf(p909, Local0), Local1)
+ if (m1a4(Local1, 637)) {
+ m1a2(Local0, c00c, 3, 0, c009, 0xabc400f, 638)
+ }
+
+ Store(CondRefOf(p90a, Local0), Local1)
+ if (m1a4(Local1, 639)) {
+ m1a2(Local0, c00c, 3, 0, c00a, "12344010", 640)
+ }
+
+ Store(CondRefOf(p90b, Local0), Local1)
+ if (m1a4(Local1, 641)) {
+ m1a2(Local0, c00c, 3, 0, c00a, "zxswefas4011", 642)
+ }
+
+ Store(CondRefOf(p90c, Local0), Local1)
+ if (m1a4(Local1, 643)) {
+ m1a2(Local0, c00c, 3, 0, c00b, Buffer() {0xef,0x30,0x31}, 644)
+ }
+
+ Store(CondRefOf(p90d, Local0), Local1)
+ if (m1a4(Local1, 645)) {
+ m1a2(Local0, c00c, 1, 0, c009, 0xfe7cb391d65a4000, 646)
+ }
+
+ Store(CondRefOf(p90e, Local0), Local1)
+ if (m1a4(Local1, 647)) {
+ m1a2(Local0, c00c, 1, 0, c009, 0xc1794001, 648)
+ }
+
+ Store(CondRefOf(p90f, Local0), Local1)
+ if (m1a4(Local1, 649)) {
+ m1a2(Local0, c00c, 1, 0, c00a, "12344002", 650)
+ }
+
+ Store(CondRefOf(p910, Local0), Local1)
+ if (m1a4(Local1, 651)) {
+ m1a2(Local0, c00c, 1, 0, c00a, "qwrtyu4003", 652)
+ }
+
+ Store(CondRefOf(p911, Local0), Local1)
+ if (m1a4(Local1, 653)) {
+ m1a2(Local0, c00c, 1, 0, c00b, Buffer() {0xe0,0xe1,0xe2,0xe3,0xe4}, 654)
+ }
+
+ if (y118) {
+ Store(CondRefOf(p912, Local0), Local1)
+ if (m1a4(Local1, 655)) {
+ m1a2(Local0, c00c, 1, 0, c00d, 0, 656)
+ }
+
+ Store(CondRefOf(p913, Local0), Local1)
+ if (m1a4(Local1, 657)) {
+ m1a2(Local0, c00c, 1, 0, c00d, 0, 658)
+ }
+
+ Store(CondRefOf(p914, Local0), Local1)
+ if (m1a4(Local1, 659)) {
+ m1a2(Local0, c00c, 1, 0, c00d, 0, 660)
+ }
+
+ Store(CondRefOf(p915, Local0), Local1)
+ if (m1a4(Local1, 661)) {
+ m1a2(Local0, c00c, 1, 0, c016, 0xe0, 662)
+ }
+ }
+
+ // Elements of Package are NOT Computational Data
+
+ Store(CondRefOf(p916, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 663)
+
+ Store(CondRefOf(p917, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 664)
+
+ Store(CondRefOf(p918, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 6655)
+
+ Store(CondRefOf(p919, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 666)
+
+ Store(CondRefOf(p91a, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 667)
+
+ Store(CondRefOf(p91b, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 668)
+
+ Store(CondRefOf(p91c, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 669)
+
+ // Elements of Package are Methods
+
+ Store(CondRefOf(p91d, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 670)
+
+ Store(CondRefOf(p91e, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 671)
+
+ Store(CondRefOf(p91f, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 672)
+
+ Store(CondRefOf(p920, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 673)
+
+ Store(CondRefOf(p921, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 674)
+
+ Store(CondRefOf(p922, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 675)
+
+ Store(CondRefOf(p923, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 676)
+
+ Store(CondRefOf(p924, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 677)
+
+ Store(CondRefOf(p925, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 678)
+
+ Store(CondRefOf(p926, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 679)
+
+ Store(CondRefOf(p927, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 680)
+
+ Store(CondRefOf(p928, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 681)
+
+ Store(CondRefOf(p929, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 682)
+
+ Store(CondRefOf(p92a, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 683)
+
+ Store(CondRefOf(p92b, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 684)
+
+ Store(CondRefOf(p92c, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 685)
+
+ Store(CondRefOf(p92d, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 686)
+
+ Store(CondRefOf(p92e, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 687)
+
+ Store(CondRefOf(p92f, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 688)
+
+ Store(CondRefOf(p930, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 689)
+
+ Store(CondRefOf(p931, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 690)
+
+ Store(CondRefOf(p932, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 691)
+
+ Store(CondRefOf(p933, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 692)
+
+ Store(CondRefOf(p934, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 693)
+
+ Store(CondRefOf(p935, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 694)
+
+ Store(CondRefOf(p936, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 695)
+
+ Store(CondRefOf(p937, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 696)
+
+ Store(CondRefOf(p938, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 697)
+
+ Store(CondRefOf(p939, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 698)
+
+ Store(CondRefOf(p93a, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 699)
+
+ Store(CondRefOf(p93b, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 700)
+
+ Store(CondRefOf(p93c, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 701)
+
+ Store(CondRefOf(p93d, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 702)
+
+ Store(CondRefOf(p93e, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 703)
+
+ Store(CondRefOf(p93f, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 704)
+
+ Store(CondRefOf(p940, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 705)
+
+ Store(CondRefOf(p941, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 706)
+
+ Store(CondRefOf(p942, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 707)
+
+ Store(CondRefOf(p943, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 708)
+
+ Store(CondRefOf(p944, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 709)
+
+ Store(CondRefOf(p945, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 710)
+
+ Store(CondRefOf(p946, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 711)
+
+ Store(CondRefOf(p947, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 712)
+
+ Store(CondRefOf(p948, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 713)
+
+ Store(CondRefOf(p949, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 714)
+
+ Store(CondRefOf(p94a, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 715)
+
+ Store(CondRefOf(p94b, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 716)
+
+ Store(CondRefOf(p94c, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 717)
+
+ Store(CondRefOf(p94d, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 718)
+
+ Store(CondRefOf(p94e, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 719)
+
+ Store(CondRefOf(p94f, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 720)
+
+ Store(CondRefOf(p950, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 721)
+
+ Store(CondRefOf(p951, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 722)
+
+ Store(CondRefOf(p952, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 723)
+
+ // Methods
+
+ Store(CondRefOf(m900, Local0), Local1)
+ m1a0(Local0, c010, Local1, 724)
+
+ Store(CondRefOf(m901, Local0), Local1)
+ m1a0(Local0, c010, Local1, 725)
+
+ Store(CondRefOf(m902, Local0), Local1)
+ m1a0(Local0, c010, Local1, 726)
+
+ Store(CondRefOf(m903, Local0), Local1)
+ m1a0(Local0, c010, Local1, 727)
+
+ Store(CondRefOf(m904, Local0), Local1)
+ m1a0(Local0, c010, Local1, 728)
+
+ Store(CondRefOf(m905, Local0), Local1)
+ m1a0(Local0, c010, Local1, 729)
+
+ Store(CondRefOf(m906, Local0), Local1)
+ m1a0(Local0, c010, Local1, 730)
+
+ Store(CondRefOf(m907, Local0), Local1)
+ m1a0(Local0, c010, Local1, 731)
+
+ Store(CondRefOf(m908, Local0), Local1)
+ m1a0(Local0, c010, Local1, 732)
+
+ Store(CondRefOf(m909, Local0), Local1)
+ m1a0(Local0, c010, Local1, 733)
+
+ Store(CondRefOf(m90a, Local0), Local1)
+ m1a0(Local0, c010, Local1, 734)
+
+ Store(CondRefOf(m90b, Local0), Local1)
+ m1a0(Local0, c010, Local1, 735)
+
+ Store(CondRefOf(m90c, Local0), Local1)
+ m1a0(Local0, c010, Local1, 736)
+
+ Store(CondRefOf(m90d, Local0), Local1)
+ m1a0(Local0, c010, Local1, 737)
+
+ Store(CondRefOf(m90e, Local0), Local1)
+ m1a0(Local0, c010, Local1, 738)
+
+ Store(CondRefOf(m90f, Local0), Local1)
+ m1a0(Local0, c010, Local1, 739)
+
+ Store(CondRefOf(m910, Local0), Local1)
+ m1a0(Local0, c010, Local1, 740)
+
+ Store(CondRefOf(m911, Local0), Local1)
+ m1a0(Local0, c010, Local1, 741)
+
+ Store(CondRefOf(m912, Local0), Local1)
+ m1a0(Local0, c010, Local1, 742)
+
+ Store(CondRefOf(m913, Local0), Local1)
+ m1a0(Local0, c010, Local1, 743)
+
+ Store(CondRefOf(m914, Local0), Local1)
+ m1a0(Local0, c010, Local1, 744)
+
+ Store(CondRefOf(m915, Local0), Local1)
+ m1a0(Local0, c010, Local1, 745)
+
+ Store(CondRefOf(m916, Local0), Local1)
+ m1a0(Local0, c010, Local1, 746)
+
+ Store(CondRefOf(m917, Local0), Local1)
+ m1a0(Local0, c010, Local1, 747)
+
+ Store(CondRefOf(m918, Local0), Local1)
+ m1a0(Local0, c010, Local1, 748)
+
+ Store(CondRefOf(m919, Local0), Local1)
+ m1a0(Local0, c010, Local1, 749)
+
+ Store(CondRefOf(m91a, Local0), Local1)
+ m1a0(Local0, c010, Local1, 750)
+
+ Store(CondRefOf(m91b, Local0), Local1)
+ m1a0(Local0, c010, Local1, 751)
+
+ Store(CondRefOf(m91c, Local0), Local1)
+ m1a0(Local0, c010, Local1, 752)
+
+ Store(CondRefOf(m91d, Local0), Local1)
+ m1a0(Local0, c010, Local1, 753)
+
+ Store(CondRefOf(m91e, Local0), Local1)
+ m1a0(Local0, c010, Local1, 754)
+
+ Store(CondRefOf(m91f, Local0), Local1)
+ m1a0(Local0, c010, Local1, 755)
+
+ Store(CondRefOf(m920, Local0), Local1)
+ m1a0(Local0, c010, Local1, 756)
+
+ Store(CondRefOf(m921, Local0), Local1)
+ m1a0(Local0, c010, Local1, 757)
+
+ Store(CondRefOf(m922, Local0), Local1)
+ m1a0(Local0, c010, Local1, 758)
+
+ Store(CondRefOf(m923, Local0), Local1)
+ m1a0(Local0, c010, Local1, 759)
+
+ Store(CondRefOf(m924, Local0), Local1)
+ m1a0(Local0, c010, Local1, 760)
+
+ Store(CondRefOf(m925, Local0), Local1)
+ m1a0(Local0, c010, Local1, 761)
+
+ Store(CondRefOf(m926, Local0), Local1)
+ m1a0(Local0, c010, Local1, 762)
+
+ Store(CondRefOf(m927, Local0), Local1)
+ m1a0(Local0, c010, Local1, 763)
+
+ Store(CondRefOf(m928, Local0), Local1)
+ m1a0(Local0, c010, Local1, 764)
+
+ Store(CondRefOf(m929, Local0), Local1)
+ m1a0(Local0, c010, Local1, 765)
+
+ Store(CondRefOf(m92a, Local0), Local1)
+ m1a0(Local0, c010, Local1, 766)
+
+ Store(CondRefOf(m92b, Local0), Local1)
+ m1a0(Local0, c010, Local1, 767)
+
+ Store(CondRefOf(m92c, Local0), Local1)
+ m1a0(Local0, c010, Local1, 768)
+
+ Store(CondRefOf(m92d, Local0), Local1)
+ m1a0(Local0, c010, Local1, 769)
+
+ Store(CondRefOf(m92e, Local0), Local1)
+ m1a0(Local0, c010, Local1, 780)
+
+ Store(CondRefOf(m92f, Local0), Local1)
+ m1a0(Local0, c010, Local1, 781)
+
+ Store(CondRefOf(m930, Local0), Local1)
+ m1a0(Local0, c010, Local1, 782)
+
+ Store(CondRefOf(m931, Local0), Local1)
+ m1a0(Local0, c010, Local1, 783)
+
+ Store(CondRefOf(m932, Local0), Local1)
+ m1a0(Local0, c010, Local1, 784)
+
+ Store(CondRefOf(m933, Local0), Local1)
+ m1a0(Local0, c010, Local1, 785)
+
+ Store(CondRefOf(m934, Local0), Local1)
+ m1a0(Local0, c010, Local1, 786)
+
+ Store(CondRefOf(m935, Local0), Local1)
+ m1a0(Local0, c010, Local1, 787)
+
+ m000()
+ m1a6()
+
+ return
+}
+
+// ///////////////////////////////////////////////////////////////////////////
+//
+// TABLE 3: all the legal ways to generate references to the
+// immediate images (constants) being elements of Package
+//
+// ///////////////////////////////////////////////////////////////////////////
+
+Method(m16d)
+{
+
+ if (y100) {
+ ts00("m16d")
+ } else {
+ Store("m16d", Debug)
+ }
+
+ if (LNot(y900)) {
+ Store("Test m16d skipped!", Debug)
+ return
+ }
+
+ // T3:I0-I4
+
+ if (y104) {
+ Store(Index(Package(1){}, 0), Local0)
+ m1a0(Local0, c008, Ones, 1281)
+ }
+
+ Store(Index(Package(){0xabcdef}, 0), Local0)
+ m1a2(Local0, c009, 0, 0, c009, 0xabcdef, 1282)
+
+ Store(Index(Package(){"123456789"}, 0), Local0)
+ m1a2(Local0, c00a, 0, 0, c00a, "123456789", 1283)
+
+ Store(Index(Package(){"qwrtyuiop"}, 0), Local0)
+ m1a2(Local0, c00a, 0, 0, c00a, "qwrtyuiop", 1284)
+
+ Store(Index(Package(){Buffer() {1,2,3,4,5,6,7,8}}, 0), Local0)
+ m1a2(Local0, c00b, 0, 0, c00b, Buffer() {1,2,3,4,5,6,7,8}, 1285)
+
+ Store(Index(Package(){Package() {0xabcdef}}, 0), Local0)
+ m1a2(Local0, c00c, 1, 0, c009, 0xabcdef, 1286)
+
+ Store(Index(Package(){Package() {"123456789"}}, 0), Local0)
+ m1a2(Local0, c00c, 1, 0, c00a, "123456789", 1287)
+
+ Store(Index(Package(){Package() {"qwrtyuiop"}}, 0), Local0)
+ m1a2(Local0, c00c, 1, 0, c00a, "qwrtyuiop", 1288)
+
+ Store(Index(Package(){Package() {Buffer() {1,2,3,4,5,6,7,8,9}}}, 0), Local0)
+ m1a2(Local0, c00c, 1, 0, c00b, Buffer() {1,2,3,4,5,6,7,8,9}, 1289)
+
+ Store(Index(Package(){Package() {Package() {0xabcdef}}}, 0), Local0)
+ m1a2(Local0, c00c, 2, 0, c009, 0xabcdef, 1290)
+
+ Store(Index(Package(){Package() {Package() {"123456789"}}}, 0), Local0)
+ m1a2(Local0, c00c, 2, 0, c00a, "123456789", 1291)
+
+ Store(Index(Package(){Package() {Package() {"qwrtyuiop"}}}, 0), Local0)
+ m1a2(Local0, c00c, 2, 0, c00a, "qwrtyuiop", 1292)
+
+ Store(Index(Package(){Package() {Package() {Buffer() {1,2,3,4,5,6,7,8,9}}}}, 0), Local0)
+ m1a2(Local0, c00c, 2, 0, c00b, Buffer() {1,2,3,4,5,6,7,8,9}, 1293)
+
+ Store(Index(Package(){Package() {Package() {Package() {0xabcdef}}}}, 0), Local0)
+ m1a2(Local0, c00c, 3, 0, c009, 0xabcdef, 1294)
+
+ Store(Index(Package(){Package() {Package() {Package() {"123456789"}}}}, 0), Local0)
+ m1a2(Local0, c00c, 3, 0, c00a, "123456789", 1295)
+
+ Store(Index(Package(){Package() {Package() {Package() {"qwrtyuiop"}}}}, 0), Local0)
+ m1a2(Local0, c00c, 3, 0, c00a, "qwrtyuiop", 1296)
+
+ Store(Index(Package(){Package() {Package() {Package() {Buffer() {1,2,3,4,5,6,7,8,9}}}}}, 0), Local0)
+ m1a2(Local0, c00c, 3, 0, c00b, Buffer() {1,2,3,4,5,6,7,8,9}, 1297)
+
+ // T3:IR0-IR4
+
+ if (y104) {
+ Store(Index(Package(1){}, 0, Local1), Local0)
+ m1a0(Local0, c008, Ones, 1298)
+ m1a0(Local1, c008, Ones, 1299)
+ }
+
+ Store(Index(Package(){0xabcdef}, 0, Local1), Local0)
+ m1a2(Local0, c009, 0, 0, c009, 0xabcdef, 1300)
+ m1a2(Local1, c009, 0, 0, c009, 0xabcdef, 1301)
+
+ Store(Index(Package(){"123456789"}, 0, Local1), Local0)
+ m1a2(Local0, c00a, 0, 0, c00a, "123456789", 1302)
+ m1a2(Local1, c00a, 0, 0, c00a, "123456789", 1303)
+
+ Store(Index(Package(){"qwrtyuiop"}, 0, Local1), Local0)
+ m1a2(Local0, c00a, 0, 0, c00a, "qwrtyuiop", 1304)
+ m1a2(Local1, c00a, 0, 0, c00a, "qwrtyuiop", 1305)
+
+ Store(Index(Package(){Buffer() {1,2,3,4,5,6,7,8}}, 0, Local1), Local0)
+ m1a2(Local0, c00b, 0, 0, c00b, Buffer() {1,2,3,4,5,6,7,8}, 1306)
+ m1a2(Local1, c00b, 0, 0, c00b, Buffer() {1,2,3,4,5,6,7,8}, 1307)
+
+ Store(Index(Package(){Package() {0xabcdef}}, 0, Local1), Local0)
+ m1a2(Local0, c00c, 1, 0, c009, 0xabcdef, 1308)
+ m1a2(Local1, c00c, 1, 0, c009, 0xabcdef, 1309)
+
+ Store(Index(Package(){Package() {"123456789"}}, 0, Local1), Local0)
+ m1a2(Local0, c00c, 1, 0, c00a, "123456789", 1310)
+ m1a2(Local1, c00c, 1, 0, c00a, "123456789", 1311)
+
+ Store(Index(Package(){Package() {"qwrtyuiop"}}, 0, Local1), Local0)
+ m1a2(Local0, c00c, 1, 0, c00a, "qwrtyuiop", 1312)
+ m1a2(Local1, c00c, 1, 0, c00a, "qwrtyuiop", 1313)
+
+ Store(Index(Package(){Package() {Buffer() {1,2,3,4,5,6,7,8,9}}}, 0, Local1), Local0)
+ m1a2(Local0, c00c, 1, 0, c00b, Buffer() {1,2,3,4,5,6,7,8,9}, 1314)
+ m1a2(Local1, c00c, 1, 0, c00b, Buffer() {1,2,3,4,5,6,7,8,9}, 1315)
+
+ Store(Index(Package(){Package() {Package() {0xabcdef}}}, 0, Local1), Local0)
+ m1a2(Local0, c00c, 2, 0, c009, 0xabcdef, 1316)
+ m1a2(Local1, c00c, 2, 0, c009, 0xabcdef, 1317)
+
+ Store(Index(Package(){Package() {Package() {"123456789"}}}, 0, Local1), Local0)
+ m1a2(Local0, c00c, 2, 0, c00a, "123456789", 1318)
+ m1a2(Local1, c00c, 2, 0, c00a, "123456789", 1319)
+
+ Store(Index(Package(){Package() {Package() {"qwrtyuiop"}}}, 0, Local1), Local0)
+ m1a2(Local0, c00c, 2, 0, c00a, "qwrtyuiop", 1320)
+ m1a2(Local1, c00c, 2, 0, c00a, "qwrtyuiop", 1321)
+
+ Store(Index(Package(){Package() {Package() {Buffer() {1,2,3,4,5,6,7,8,9}}}}, 0, Local1), Local0)
+ m1a2(Local0, c00c, 2, 0, c00b, Buffer() {1,2,3,4,5,6,7,8,9}, 1322)
+ m1a2(Local1, c00c, 2, 0, c00b, Buffer() {1,2,3,4,5,6,7,8,9}, 1323)
+
+ Store(Index(Package(){Package() {Package() {Package() {0xabcdef}}}}, 0, Local1), Local0)
+ m1a2(Local0, c00c, 3, 0, c009, 0xabcdef, 1324)
+ m1a2(Local1, c00c, 3, 0, c009, 0xabcdef, 1325)
+
+ Store(Index(Package(){Package() {Package() {Package() {"123456789"}}}}, 0, Local1), Local0)
+ m1a2(Local0, c00c, 3, 0, c00a, "123456789", 1326)
+ m1a2(Local1, c00c, 3, 0, c00a, "123456789", 1327)
+
+ Store(Index(Package(){Package() {Package() {Package() {"qwrtyuiop"}}}}, 0, Local1), Local0)
+ m1a2(Local0, c00c, 3, 0, c00a, "qwrtyuiop", 1328)
+ m1a2(Local1, c00c, 3, 0, c00a, "qwrtyuiop", 1329)
+
+ Store(Index(Package(){Package() {Package() {Package() {Buffer() {1,2,3,4,5,6,7,8,9}}}}}, 0, Local1), Local0)
+ m1a2(Local0, c00c, 3, 0, c00b, Buffer() {1,2,3,4,5,6,7,8,9}, 1330)
+ m1a2(Local1, c00c, 3, 0, c00b, Buffer() {1,2,3,4,5,6,7,8,9}, 1331)
+}
+
+// ///////////////////////////////////////////////////////////////////////////
+//
+// TABLE 4: all the legal ways to generate references to the named objects
+// being elements of Package
+//
+// ///////////////////////////////////////////////////////////////////////////
+
+Method(m16e)
+{
+ if (y100) {
+ ts00("m16e")
+ } else {
+ Store("m16e", Debug)
+ }
+
+ if (LNot(y900)) {
+ Store("Test m16e skipped!", Debug)
+ return
+ }
+
+ // Not Computational Data
+
+ Event(e900)
+ Mutex(mx90, 0)
+ Device(d900) {}
+ ThermalZone(tz90) {}
+ Processor(pr90, 0, 0xFFFFFFFF, 0) {}
+ OperationRegion(r900, SystemMemory, 0x100, 0x100)
+ OperationRegion(r9Z0, SystemMemory, 0x100, 0x100)
+ PowerResource(pw90, 1, 0) {Method(mmmm){return (0)}}
+
+ // Computational Data
+
+ Name(i900, 0xfe7cb391d65a5000)
+ Name(i901, 0x41795001)
+ Name(i902, 0)
+ Name(i903, 0xffffffffffffffff)
+ Name(i904, 0xffffffff)
+ Name(s900, "12345002")
+ Name(s901, "qwrtyu5003")
+ Name(b900, Buffer() {0xf0,0xf1,0xf2,0xf3,0xf4})
+ Name(b9Z0, Buffer() {0xf0,0xf1,0xf2,0xf3,0xf4})
+
+ CreateField(b900, 0, 8, bf90)
+ Field(r900, ByteAcc, NoLock, Preserve) {f900,8,f901,8,f902,8,f903,8}
+ BankField(r900, f901, 0, ByteAcc, NoLock, Preserve) {bn90,4}
+ IndexField(f902, f903, ByteAcc, NoLock, Preserve) {if90,8,if91,8}
+
+ // Elements of Package are Uninitialized
+
+ Name(p900, Package(1) {})
+
+ // Elements of Package are Computational Data
+
+ Name(p901, Package() {0xabcd5004, 0x1122334455665005})
+ Name(p902, Package() {"12345006", "q1w2e3r4t5y6u7i85007"})
+ Name(p903, Package() {"qwrtyuiop5008", "1234567890abdef0255009"})
+ Name(p904, Package() {Buffer() {0xf5,0xf6,0xf7}, Buffer() {0xf8,0xf9}})
+ Name(p905, Package() {Package() {0xabc500a, "0xabc500b", "abc500c"}})
+ Name(p906, Package() {Package() {"abc500d"}})
+ Name(p907, Package() {Package() {"aqwevbgnm500e"}})
+ Name(p908, Package() {Package() {Buffer() {0xfa,0xfb,0xfc,0xfd,0xfe}}})
+ Name(p909, Package() {Package() {Package() {0xabc500f}}})
+ Name(p90a, Package() {Package() {Package() {"12345010"}}})
+ Name(p90b, Package() {Package() {Package() {"zxswefas5011"}}})
+ Name(p90c, Package() {Package() {Package() {Buffer() {0xff,0x40,0x41}}}})
+
+ Name(p90d, Package() {i900})
+ Name(p90e, Package() {i901})
+ Name(p90f, Package() {s900})
+ Name(p910, Package() {s901})
+ Name(p911, Package() {b9Z0})
+ Name(p912, Package() {f900})
+ Name(p913, Package() {bn90})
+ Name(p914, Package() {if90})
+ Name(p915, Package() {bf90})
+
+ // Elements of Package are NOT Computational Data
+
+ Name(p916, Package() {d900})
+ Name(p917, Package() {e900})
+ Name(p918, Package() {mx90})
+ Name(p919, Package() {r900})
+ Name(p91a, Package() {pw90})
+ Name(p91b, Package() {pr90})
+ Name(p91c, Package() {tz90})
+
+ // Methods
+
+ Method(m900) {}
+ Method(m901) { return (0xabc5012) }
+ Method(m902) { return ("zxvgswquiy5013") }
+ Method(m903) { return (Buffer() {0x42}) }
+ Method(m904) { return (Package() {0xabc5014}) }
+ Method(m905) { return (Package() {"lkjhgtre5015"}) }
+ Method(m906) { return (Package() {Buffer() {0x43}}) }
+ Method(m907) { return (Package() {Package() {0xabc5016}}) }
+
+ Method(m908) { return (i900) }
+ Method(m909) { return (i901) }
+ Method(m90a) { return (s900) }
+ Method(m90b) { return (s901) }
+ Method(m90c) { return (b9Z0) }
+ Method(m90d) { return (f900) }
+ Method(m90e) { return (bn90) }
+ Method(m90f) { return (if90) }
+ Method(m910) { return (bf90) }
+
+ Method(m911) { return (d900) }
+ Method(m912) { return (e900) }
+ Method(m913) { return (m901) }
+ Method(m914) { return (mx90) }
+ Method(m915) { return (r900) }
+ Method(m916) { return (pw90) }
+ Method(m917) { return (pr90) }
+ Method(m918) { return (tz90) }
+
+ Method(m919) { return (p900) }
+ Method(m91a) { return (p901) }
+ Method(m91b) { return (p902) }
+ Method(m91c) { return (p903) }
+ Method(m91d) { return (p904) }
+ Method(m91e) { return (p905) }
+ Method(m91f) { return (p906) }
+ Method(m920) { return (p907) }
+ Method(m921) { return (p908) }
+ Method(m922) { return (p909) }
+ Method(m923) { return (p90a) }
+ Method(m924) { return (p90b) }
+ Method(m925) { return (p90c) }
+ Method(m926) { return (p90d) }
+ Method(m927) { return (p90e) }
+ Method(m928) { return (p90f) }
+ Method(m929) { return (p910) }
+ Method(m92a) { return (p911) }
+ Method(m92b) { return (p912) }
+ Method(m92c) { return (p913) }
+ Method(m92d) { return (p914) }
+ Method(m92e) { return (p915) }
+ Method(m92f) { return (p916) }
+ Method(m930) { return (p917) }
+ Method(m931) { return (p918) }
+ Method(m932) { return (p919) }
+ Method(m933) { return (p91a) }
+ Method(m934) { return (p91b) }
+ Method(m935) { return (p91c) }
+
+ // Elements of Package are Methods
+
+ Name(p91d, Package() {m900})
+ Name(p91e, Package() {m901})
+ Name(p91f, Package() {m902})
+ Name(p920, Package() {m903})
+ Name(p921, Package() {m904})
+ Name(p922, Package() {m905})
+ Name(p923, Package() {m906})
+ Name(p924, Package() {m907})
+ Name(p925, Package() {m908})
+ Name(p926, Package() {m909})
+ Name(p927, Package() {m90a})
+ Name(p928, Package() {m90b})
+ Name(p929, Package() {m90c})
+ Name(p92a, Package() {m90d})
+ Name(p92b, Package() {m90e})
+ Name(p92c, Package() {m90f})
+ Name(p92d, Package() {m910})
+ Name(p92e, Package() {m911})
+ Name(p92f, Package() {m912})
+ Name(p930, Package() {m913})
+ Name(p931, Package() {m914})
+ Name(p932, Package() {m915})
+ Name(p933, Package() {m916})
+ Name(p934, Package() {m917})
+ if (y103) {
+ Name(p935, Package() {m918})
+ }
+ Name(p936, Package() {m919})
+ Name(p937, Package() {m91a})
+ Name(p938, Package() {m91b})
+ Name(p939, Package() {m91c})
+ Name(p93a, Package() {m91d})
+ Name(p93b, Package() {m91e})
+ Name(p93c, Package() {m91f})
+ Name(p93d, Package() {m920})
+ Name(p93e, Package() {m921})
+ Name(p93f, Package() {m922})
+ Name(p940, Package() {m923})
+ Name(p941, Package() {m924})
+ Name(p942, Package() {m925})
+ Name(p943, Package() {m926})
+ Name(p944, Package() {m927})
+ Name(p945, Package() {m928})
+ Name(p946, Package() {m929})
+ Name(p947, Package() {m92a})
+ Name(p948, Package() {m92b})
+ Name(p949, Package() {m92c})
+ Name(p94a, Package() {m92d})
+ Name(p94b, Package() {m92e})
+ Name(p94c, Package() {m92f})
+ Name(p94d, Package() {m930})
+ Name(p94e, Package() {m931})
+ Name(p94f, Package() {m932})
+ Name(p950, Package() {m933})
+ Name(p951, Package() {m934})
+ Name(p952, Package() {m935})
+
+ Name(p953, Package() {0xabcd5018, 0xabcd5019})
+ Name(p954, Package() {0xabcd5018, 0xabcd5019})
+
+ // Check that all the data (local) are not corrupted
+ Method(m000)
+ {
+ // Computational Data
+
+ // Integer
+
+ Store(ObjectType(i900), Local0)
+ if (LNotEqual(Local0, c009)) {
+ err(c080, z077, 0x100, 0, 0, Local0, c009)
+ }
+ if (LNotEqual(i900, 0xfe7cb391d65a5000)) {
+ err(c080, z077, 0x101, 0, 0, i900, 0xfe7cb391d65a5000)
+ }
+
+ Store(ObjectType(i901), Local0)
+ if (LNotEqual(Local0, c009)) {
+ err(c080, z077, 0x102, 0, 0, Local0, c009)
+ }
+ if (LNotEqual(i901, 0x41795001)) {
+ err(c080, z077, 0x103, 0, 0, i901, 0x41795001)
+ }
+
+ Store(ObjectType(i902), Local0)
+ if (LNotEqual(Local0, c009)) {
+ err(c080, z077, 0x104, 0, 0, Local0, c009)
+ }
+ if (LNotEqual(i902, 0)) {
+ err(c080, z077, 0x105, 0, 0, i902, 0)
+ }
+
+ Store(ObjectType(i903), Local0)
+ if (LNotEqual(Local0, c009)) {
+ err(c080, z077, 0x106, 0, 0, Local0, c009)
+ }
+ if (LNotEqual(i903, 0xffffffffffffffff)) {
+ err(c080, z077, 0x107, 0, 0, i903, 0xffffffffffffffff)
+ }
+
+ Store(ObjectType(i904), Local0)
+ if (LNotEqual(Local0, c009)) {
+ err(c080, z077, 0x108, 0, 0, Local0, c009)
+ }
+ if (LNotEqual(i904, 0xffffffff)) {
+ err(c080, z077, 0x109, 0, 0, i904, 0xffffffff)
+ }
+
+ // String
+
+ Store(ObjectType(s900), Local0)
+ if (LNotEqual(Local0, c00a)) {
+ err(c080, z077, 0x10a, 0, 0, Local0, c00a)
+ }
+ if (LNotEqual(s900, "12345002")) {
+ err(c080, z077, 0x10b, 0, 0, s900, "12345002")
+ }
+
+ Store(ObjectType(s901), Local0)
+ if (LNotEqual(Local0, c00a)) {
+ err(c080, z077, 0x10c, 0, 0, Local0, c00a)
+ }
+ if (LNotEqual(s901, "qwrtyu5003")) {
+ err(c080, z077, 0x10d, 0, 0, s901, "qwrtyu5003")
+ }
+
+ // Buffer
+
+ Store(ObjectType(b900), Local0)
+ if (LNotEqual(Local0, c00b)) {
+ err(c080, z077, 0x10e, 0, 0, Local0, c00b)
+ }
+ if (LNotEqual(b900, Buffer() {0xf0,0xf1,0xf2,0xf3,0xf4})) {
+ err(c080, z077, 0x10f, 0, 0, b900, Buffer() {0xf0,0xf1,0xf2,0xf3,0xf4})
+ }
+
+ // Buffer Field
+
+ Store(ObjectType(bf90), Local0)
+ if (LNotEqual(Local0, c016)) {
+ err(c080, z077, 0x110, 0, 0, Local0, c016)
+ }
+ if (LNotEqual(bf90, 0xf0)) {
+ err(c080, z077, 0x111, 0, 0, bf90, 0xf0)
+ }
+
+ // One level Package
+
+ Store(Index(p900, 0), Local0)
+ Store(ObjectType(Local0), Local1)
+ if (LNotEqual(Local1, c008)) {
+ err(c080, z077, 0x112, 0, 0, Local1, c008)
+ }
+
+ Store(Index(p901, 0), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(ObjectType(Local1), Local2)
+ if (LNotEqual(Local2, c009)) {
+ err(c080, z077, 0x113, 0, 0, Local2, c009)
+ }
+ if (LNotEqual(Local1, 0xabcd5004)) {
+ err(c080, z077, 0x114, 0, 0, Local1, 0xabcd5004)
+ }
+
+ Store(Index(p901, 1), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(ObjectType(Local1), Local2)
+ if (LNotEqual(Local2, c009)) {
+ err(c080, z077, 0x115, 0, 0, Local2, c009)
+ }
+ if (LNotEqual(Local1, 0x1122334455665005)) {
+ err(c080, z077, 0x116, 0, 0, Local1, 0x1122334455665005)
+ }
+
+ Store(Index(p902, 0), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(ObjectType(Local1), Local2)
+ if (LNotEqual(Local2, c00a)) {
+ err(c080, z077, 0x117, 0, 0, Local2, c00a)
+ }
+ if (LNotEqual(Local1, "12345006")) {
+ err(c080, z077, 0x118, 0, 0, Local1, "12345006")
+ }
+
+ Store(Index(p902, 1), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(ObjectType(Local1), Local2)
+ if (LNotEqual(Local2, c00a)) {
+ err(c080, z077, 0x119, 0, 0, Local2, c00a)
+ }
+ if (LNotEqual(Local1, "q1w2e3r4t5y6u7i85007")) {
+ err(c080, z077, 0x11a, 0, 0, Local1, "q1w2e3r4t5y6u7i85007")
+ }
+
+ Store(Index(p903, 0), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(ObjectType(Local1), Local2)
+ if (LNotEqual(Local2, c00a)) {
+ err(c080, z077, 0x11b, 0, 0, Local2, c00a)
+ }
+ if (LNotEqual(Local1, "qwrtyuiop5008")) {
+ err(c080, z077, 0x11c, 0, 0, Local1, "qwrtyuiop5008")
+ }
+
+ Store(Index(p903, 1), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(ObjectType(Local1), Local2)
+ if (LNotEqual(Local2, c00a)) {
+ err(c080, z077, 0x11d, 0, 0, Local2, c00a)
+ }
+ if (LNotEqual(Local1, "1234567890abdef0255009")) {
+ err(c080, z077, 0x11e, 0, 0, Local1, "1234567890abdef0255009")
+ }
+
+ Store(Index(p904, 0), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(ObjectType(Local1), Local2)
+ if (LNotEqual(Local2, c00b)) {
+ err(c080, z077, 0x11f, 0, 0, Local2, c00b)
+ }
+ if (LNotEqual(Local1, Buffer() {0xf5,0xf6,0xf7})) {
+ err(c080, z077, 0x120, 0, 0, Local1, Buffer() {0xf5,0xf6,0xf7})
+ }
+
+ Store(Index(p904, 1), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(ObjectType(Local1), Local2)
+ if (LNotEqual(Local2, c00b)) {
+ err(c080, z077, 0x121, 0, 0, Local2, c00b)
+ }
+ if (LNotEqual(Local1, Buffer() {0xf8,0xf9})) {
+ err(c080, z077, 0x122, 0, 0, Local1, Buffer() {0xf8,0xf9})
+ }
+
+ // Two level Package
+
+ Store(Index(p905, 0), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(Index(Local1, 0), Local2)
+ Store(DerefOf(Local2), Local3)
+ Store(ObjectType(Local3), Local4)
+ if (LNotEqual(Local4, c009)) {
+ err(c080, z077, 0x123, 0, 0, Local4, c009)
+ }
+ if (LNotEqual(Local3, 0xabc500a)) {
+ err(c080, z077, 0x124, 0, 0, Local3, 0xabc500a)
+ }
+
+ Store(Index(p905, 0), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(Index(Local1, 1), Local2)
+ Store(DerefOf(Local2), Local3)
+ Store(ObjectType(Local3), Local4)
+ if (LNotEqual(Local4, c00a)) {
+ err(c080, z077, 0x125, 0, 0, Local4, c00a)
+ }
+ if (LNotEqual(Local3, "0xabc500b")) {
+ err(c080, z077, 0x126, 0, 0, Local3, "0xabc500b")
+ }
+
+ Store(Index(p905, 0), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(Index(Local1, 2), Local2)
+ Store(DerefOf(Local2), Local3)
+ Store(ObjectType(Local3), Local4)
+ if (LNotEqual(Local4, c00a)) {
+ err(c080, z077, 0x127, 0, 0, Local4, c00a)
+ }
+ if (LNotEqual(Local3, "abc500c")) {
+ err(c080, z077, 0x128, 0, 0, Local3, "abc500c")
+ }
+
+ Store(Index(p906, 0), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(Index(Local1, 0), Local2)
+ Store(DerefOf(Local2), Local3)
+ Store(ObjectType(Local3), Local4)
+ if (LNotEqual(Local4, c00a)) {
+ err(c080, z077, 0x129, 0, 0, Local4, c00a)
+ }
+ if (LNotEqual(Local3, "abc500d")) {
+ err(c080, z077, 0x12a, 0, 0, Local3, "abc500d")
+ }
+
+ Store(Index(p907, 0), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(Index(Local1, 0), Local2)
+ Store(DerefOf(Local2), Local3)
+ Store(ObjectType(Local3), Local4)
+ if (LNotEqual(Local4, c00a)) {
+ err(c080, z077, 0x12b, 0, 0, Local4, c00a)
+ }
+ if (LNotEqual(Local3, "aqwevbgnm500e")) {
+ err(c080, z077, 0x12c, 0, 0, Local3, "aqwevbgnm500e")
+ }
+
+ Store(Index(p908, 0), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(Index(Local1, 0), Local2)
+ Store(DerefOf(Local2), Local3)
+ Store(ObjectType(Local3), Local4)
+ if (LNotEqual(Local4, c00b)) {
+ err(c080, z077, 0x12d, 0, 0, Local4, c00b)
+ }
+ if (LNotEqual(Local3, Buffer() {0xfa,0xfb,0xfc,0xfd,0xfe})) {
+ err(c080, z077, 0x12e, 0, 0, Local3, Buffer() {0xfa,0xfb,0xfc,0xfd,0xfe})
+ }
+
+ // Three level Package
+
+ Store(Index(p909, 0), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(Index(Local1, 0), Local2)
+ Store(DerefOf(Local2), Local3)
+ Store(Index(Local3, 0), Local4)
+ Store(DerefOf(Local4), Local5)
+ Store(ObjectType(Local5), Local6)
+ if (LNotEqual(Local6, c009)) {
+ err(c080, z077, 0x12f, 0, 0, Local6, c009)
+ }
+ if (LNotEqual(Local5, 0xabc500f)) {
+ err(c080, z077, 0x130, 0, 0, Local5, 0xabc500f)
+ }
+
+ Store(Index(p90a, 0), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(Index(Local1, 0), Local2)
+ Store(DerefOf(Local2), Local3)
+ Store(Index(Local3, 0), Local4)
+ Store(DerefOf(Local4), Local5)
+ Store(ObjectType(Local5), Local6)
+ if (LNotEqual(Local6, c00a)) {
+ err(c080, z077, 0x131, 0, 0, Local6, c00a)
+ }
+ if (LNotEqual(Local5, "12345010")) {
+ err(c080, z077, 0x132, 0, 0, Local5, "12345010")
+ }
+
+ Store(Index(p90b, 0), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(Index(Local1, 0), Local2)
+ Store(DerefOf(Local2), Local3)
+ Store(Index(Local3, 0), Local4)
+ Store(DerefOf(Local4), Local5)
+ Store(ObjectType(Local5), Local6)
+ if (LNotEqual(Local6, c00a)) {
+ err(c080, z077, 0x133, 0, 0, Local6, c00a)
+ }
+ if (LNotEqual(Local5, "zxswefas5011")) {
+ err(c080, z077, 0x134, 0, 0, Local5, "zxswefas5011")
+ }
+
+ Store(Index(p90c, 0), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(Index(Local1, 0), Local2)
+ Store(DerefOf(Local2), Local3)
+ Store(Index(Local3, 0), Local4)
+ Store(DerefOf(Local4), Local5)
+ Store(ObjectType(Local5), Local6)
+ if (LNotEqual(Local6, c00b)) {
+ err(c080, z077, 0x135, 0, 0, Local6, c00b)
+ }
+ if (LNotEqual(Local5, Buffer() {0xff,0x40,0x41})) {
+ err(c080, z077, 0x136, 0, 0, Local5, Buffer() {0xff,0x40,0x41})
+ }
+
+ Store(Index(p953, 0), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(ObjectType(Local1), Local2)
+ if (LNotEqual(Local2, c009)) {
+ err(c080, z077, 0x137, 0, 0, Local2, c009)
+ }
+ if (LNotEqual(Local1, 0xabcd5018)) {
+ err(c080, z077, 0x138, 0, 0, Local1, 0xabcd5018)
+ }
+
+ Store(Index(p953, 1), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(ObjectType(Local1), Local2)
+ if (LNotEqual(Local2, c009)) {
+ err(c080, z077, 0x139, 0, 0, Local2, c009)
+ }
+ if (LNotEqual(Local1, 0xabcd5019)) {
+ err(c080, z077, 0x13a, 0, 0, Local1, 0xabcd5019)
+ }
+
+ // Not Computational Data
+
+ m1aa(c080, e900, c00f, 0, 0x13b)
+ m1aa(c080, mx90, c011, 0, 0x13c)
+ m1aa(c080, d900, c00e, 0, 0x13d)
+ if (y508) {
+ m1aa(c080, tz90, c015, 0, 0x13e)
+ }
+ m1aa(c080, pr90, c014, 0, 0x13f)
+ m1aa(c080, r900, c012, 0, 0x140)
+ m1aa(c080, pw90, c013, 0, 0x141)
+
+/*
+ * // Field Unit (Field)
+ *
+ * if (LNotEqual(f900, 0xd7)) {
+ * err(c080, z077, 0x137, 0, 0, f900, 0xd7)
+ * }
+ *
+ * // Field Unit (IndexField)
+ *
+ * if (LNotEqual(if90, 0xd7)) {
+ * err(c080, z077, 0x138, 0, 0, if90, 0xd7)
+ * }
+ */
+ } /* m000 */
+
+
+ // T4:x,I1-I14,x,x
+
+ // Computational Data
+
+ Store(Index(Package(){i900}, 0), Local0)
+ m1a2(Local0, c009, 0, 0, c009, 0xfe7cb391d65a5000, 788)
+
+ Store(Index(Package(){i901}, 0), Local0)
+ m1a2(Local0, c009, 0, 0, c009, 0x41795001, 789)
+
+ Store(Index(Package(){s900}, 0), Local0)
+ m1a2(Local0, c00a, 0, 0, c00a, "12345002", 790)
+
+ Store(Index(Package(){s901}, 0), Local0)
+ m1a2(Local0, c00a, 0, 0, c00a, "qwrtyu5003", 791)
+
+ Store(Index(Package(){b900}, 0), Local0)
+ m1a2(Local0, c00b, 0, 0, c00b, Buffer() {0xf0,0xf1,0xf2,0xf3,0xf4}, 792)
+
+ if (y118) {
+ Store(Index(Package(){f900}, 0), Local0)
+ m1a2(Local0, c00d, 0, 0, c00d, 0, 793)
+
+ Store(Index(Package(){bn90}, 0), Local0)
+ m1a2(Local0, c00d, 0, 0, c00d, 0, 794)
+
+ Store(Index(Package(){if90}, 0), Local0)
+ m1a2(Local0, c00d, 0, 0, c00d, 0, 795)
+
+ Store(Index(Package(){bf90}, 0), Local0)
+ m1a2(Local0, c016, 0, 0, c016, 0xf0, 796)
+ }
+
+ // Not Computational Data
+
+ Store(Index(Package(){e900}, 0), Local0)
+ m1a0(Local0, c00f, Ones, 797)
+
+ Store(Index(Package(){mx90}, 0), Local0)
+ m1a0(Local0, c011, Ones, 798)
+
+ Store(Index(Package(){d900}, 0), Local0)
+ m1a0(Local0, c00e, Ones, 799)
+
+ Store(Index(Package(){tz90}, 0), Local0)
+ m1a0(Local0, c015, Ones, 800)
+
+ Store(Index(Package(){pr90}, 0), Local0)
+ m1a0(Local0, c014, Ones, 801)
+
+ Store(Index(Package(){r900}, 0), Local0)
+ m1a0(Local0, c012, Ones, 802)
+
+ Store(Index(Package(){pw90}, 0), Local0)
+ m1a0(Local0, c013, Ones, 803)
+
+ // Elements of Package are Uninitialized
+
+ Store(Index(Package(){p900}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 804)
+
+ // Elements of Package are Computational Data
+
+ Store(Index(Package(){p901}, 0), Local0)
+ m1a2(Local0, c00c, 1, 0, c009, 0xabcd5004, 805)
+ m1a2(Local0, c00c, 1, 1, c009, 0x1122334455665005, 806)
+
+ Store(Index(Package(){p902}, 0), Local0)
+ m1a2(Local0, c00c, 1, 0, c00a, "12345006", 807)
+ m1a2(Local0, c00c, 1, 1, c00a, "q1w2e3r4t5y6u7i85007", 808)
+
+ Store(Index(Package(){p903}, 0), Local0)
+ m1a2(Local0, c00c, 1, 0, c00a, "qwrtyuiop5008", 809)
+ m1a2(Local0, c00c, 1, 1, c00a, "1234567890abdef0255009", 810)
+
+ Store(Index(Package(){p904}, 0), Local0)
+ m1a2(Local0, c00c, 1, 0, c00b, Buffer() {0xf5,0xf6,0xf7}, 811)
+
+ Store(Index(Package(){p905}, 0), Local0)
+ m1a2(Local0, c00c, 2, 0, c009, 0xabc500a, 812)
+ m1a2(Local0, c00c, 2, 1, c00a, "0xabc500b", 813)
+
+ Store(Index(Package(){p906}, 0), Local0)
+ m1a2(Local0, c00c, 2, 0, c00a, "abc500d", 814)
+
+ Store(Index(Package(){p907}, 0), Local0)
+ m1a2(Local0, c00c, 2, 0, c00a, "aqwevbgnm500e", 815)
+
+ Store(Index(Package(){p908}, 0), Local0)
+ m1a2(Local0, c00c, 2, 0, c00b, Buffer() {0xfa,0xfb,0xfc,0xfd,0xfe}, 816)
+
+ Store(Index(Package(){p909}, 0), Local0)
+ m1a2(Local0, c00c, 3, 0, c009, 0xabc500f, 817)
+
+ Store(Index(Package(){p90a}, 0), Local0)
+ m1a2(Local0, c00c, 3, 0, c00a, "12345010", 818)
+
+ Store(Index(Package(){p90b}, 0), Local0)
+ m1a2(Local0, c00c, 3, 0, c00a, "zxswefas5011", 819)
+
+ Store(Index(Package(){p90c}, 0), Local0)
+ m1a2(Local0, c00c, 3, 0, c00b, Buffer() {0xff,0x40,0x41}, 820)
+
+ Store(Index(Package(){p90d}, 0), Local0)
+ m1a2(Local0, c00c, 1, 0, c009, 0xfe7cb391d65a5000, 821)
+
+ Store(Index(Package(){p90e}, 0), Local0)
+ m1a2(Local0, c00c, 1, 0, c009, 0x41795001, 822)
+
+ Store(Index(Package(){p90f}, 0), Local0)
+ m1a2(Local0, c00c, 1, 0, c00a, "12345002", 823)
+
+ Store(Index(Package(){p910}, 0), Local0)
+ m1a2(Local0, c00c, 1, 0, c00a, "qwrtyu5003", 824)
+
+ Store(Index(Package(){p911}, 0), Local0)
+ m1a2(Local0, c00c, 1, 0, c00b, Buffer() {0xf0,0xf1,0xf2,0xf3,0xf4}, 825)
+
+ if (y118) {
+ Store(Index(Package(){p912}, 0), Local0)
+ m1a2(Local0, c00c, 1, 0, c00d, 0, 826)
+
+ Store(Index(Package(){p913}, 0), Local0)
+ m1a2(Local0, c00c, 1, 0, c00d, 0, 827)
+
+ Store(Index(Package(){p914}, 0), Local0)
+ m1a2(Local0, c00c, 1, 0, c00d, 0, 828)
+
+ Store(Index(Package(){p915}, 0), Local0)
+ m1a2(Local0, c00c, 1, 0, c016, 0xf0, 829)
+ }
+
+ // Elements of Package are NOT Computational Data
+
+ Store(Index(Package(){p916}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 830)
+
+ Store(Index(Package(){p917}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 831)
+
+ Store(Index(Package(){p918}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 832)
+
+ Store(Index(Package(){p919}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 833)
+
+ Store(Index(Package(){p91a}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 834)
+
+ Store(Index(Package(){p91b}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 835)
+
+ Store(Index(Package(){p91c}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 836)
+
+ // Elements of Package are Methods
+
+ Store(Index(Package(){p91d}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 837)
+
+ Store(Index(Package(){p91e}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 838)
+
+ Store(Index(Package(){p91f}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 839)
+
+ Store(Index(Package(){p920}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 840)
+
+ Store(Index(Package(){p921}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 841)
+
+ Store(Index(Package(){p922}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 842)
+
+ Store(Index(Package(){p923}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 843)
+
+ Store(Index(Package(){p924}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 844)
+
+ Store(Index(Package(){p925}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 845)
+
+ Store(Index(Package(){p926}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 846)
+
+ Store(Index(Package(){p927}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 847)
+
+ Store(Index(Package(){p928}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 848)
+
+ Store(Index(Package(){p929}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 849)
+
+ Store(Index(Package(){p92a}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 850)
+
+ Store(Index(Package(){p92b}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 851)
+
+ Store(Index(Package(){p92c}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 852)
+
+ Store(Index(Package(){p92d}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 853)
+
+ Store(Index(Package(){p92e}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 854)
+
+ Store(Index(Package(){p92f}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 855)
+
+ Store(Index(Package(){p930}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 856)
+
+ Store(Index(Package(){p931}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 857)
+
+ Store(Index(Package(){p932}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 858)
+
+ Store(Index(Package(){p933}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 859)
+
+ Store(Index(Package(){p934}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 860)
+
+ Store(Index(Package(){p935}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 861)
+
+ Store(Index(Package(){p936}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 862)
+
+ Store(Index(Package(){p937}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 863)
+
+ Store(Index(Package(){p938}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 864)
+
+ Store(Index(Package(){p939}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 865)
+
+ Store(Index(Package(){p93a}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 866)
+
+ Store(Index(Package(){p93b}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 867)
+
+ Store(Index(Package(){p93c}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 868)
+
+ Store(Index(Package(){p93d}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 869)
+
+ Store(Index(Package(){p93e}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 870)
+
+ Store(Index(Package(){p93f}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 871)
+
+ Store(Index(Package(){p940}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 872)
+
+ Store(Index(Package(){p941}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 873)
+
+ Store(Index(Package(){p942}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 874)
+
+ Store(Index(Package(){p943}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 875)
+
+ Store(Index(Package(){p944}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 876)
+
+ Store(Index(Package(){p945}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 877)
+
+ Store(Index(Package(){p946}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 878)
+
+ Store(Index(Package(){p947}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 879)
+
+ Store(Index(Package(){p948}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 880)
+
+ Store(Index(Package(){p949}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 881)
+
+ Store(Index(Package(){p94a}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 882)
+
+ Store(Index(Package(){p94b}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 883)
+
+ Store(Index(Package(){p94c}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 884)
+
+ Store(Index(Package(){p94d}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 885)
+
+ Store(Index(Package(){p94e}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 886)
+
+ Store(Index(Package(){p94f}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 887)
+
+ Store(Index(Package(){p950}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 888)
+
+ Store(Index(Package(){p951}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 889)
+
+ Store(Index(Package(){p952}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 890)
+
+ // Methods
+
+ Store(Index(Package(){m900}, 0), Local0)
+ m1a0(Local0, c010, Ones, 891)
+
+ Store(Index(Package(){m901}, 0), Local0)
+ m1a0(Local0, c010, Ones, 892)
+
+ Store(Index(Package(){m902}, 0), Local0)
+ m1a0(Local0, c010, Ones, 893)
+
+ Store(Index(Package(){m903}, 0), Local0)
+ m1a0(Local0, c010, Ones, 894)
+
+ Store(Index(Package(){m904}, 0), Local0)
+ m1a0(Local0, c010, Ones, 895)
+
+ Store(Index(Package(){m905}, 0), Local0)
+ m1a0(Local0, c010, Ones, 896)
+
+ Store(Index(Package(){m906}, 0), Local0)
+ m1a0(Local0, c010, Ones, 897)
+
+ Store(Index(Package(){m907}, 0), Local0)
+ m1a0(Local0, c010, Ones, 898)
+
+ Store(Index(Package(){m908}, 0), Local0)
+ m1a0(Local0, c010, Ones, 899)
+
+ Store(Index(Package(){m909}, 0), Local0)
+ m1a0(Local0, c010, Ones, 900)
+
+ Store(Index(Package(){m90a}, 0), Local0)
+ m1a0(Local0, c010, Ones, 901)
+
+ Store(Index(Package(){m90b}, 0), Local0)
+ m1a0(Local0, c010, Ones, 902)
+
+ Store(Index(Package(){m90c}, 0), Local0)
+ m1a0(Local0, c010, Ones, 903)
+
+ Store(Index(Package(){m90d}, 0), Local0)
+ m1a0(Local0, c010, Ones, 904)
+
+ Store(Index(Package(){m90e}, 0), Local0)
+ m1a0(Local0, c010, Ones, 905)
+
+ Store(Index(Package(){m90f}, 0), Local0)
+ m1a0(Local0, c010, Ones, 906)
+
+ Store(Index(Package(){m910}, 0), Local0)
+ m1a0(Local0, c010, Ones, 907)
+
+ Store(Index(Package(){m911}, 0), Local0)
+ m1a0(Local0, c010, Ones, 908)
+
+ Store(Index(Package(){m912}, 0), Local0)
+ m1a0(Local0, c010, Ones, 909)
+
+ Store(Index(Package(){m913}, 0), Local0)
+ m1a0(Local0, c010, Ones, 910)
+
+ Store(Index(Package(){m914}, 0), Local0)
+ m1a0(Local0, c010, Ones, 911)
+
+ Store(Index(Package(){m915}, 0), Local0)
+ m1a0(Local0, c010, Ones, 912)
+
+ Store(Index(Package(){m916}, 0), Local0)
+ m1a0(Local0, c010, Ones, 913)
+
+ Store(Index(Package(){m917}, 0), Local0)
+ m1a0(Local0, c010, Ones, 914)
+
+ Store(Index(Package(){m918}, 0), Local0)
+ m1a0(Local0, c010, Ones, 915)
+
+ Store(Index(Package(){m919}, 0), Local0)
+ m1a0(Local0, c010, Ones, 916)
+
+ Store(Index(Package(){m91a}, 0), Local0)
+ m1a0(Local0, c010, Ones, 917)
+
+ Store(Index(Package(){m91b}, 0), Local0)
+ m1a0(Local0, c010, Ones, 918)
+
+ Store(Index(Package(){m91c}, 0), Local0)
+ m1a0(Local0, c010, Ones, 919)
+
+ Store(Index(Package(){m91d}, 0), Local0)
+ m1a0(Local0, c010, Ones, 920)
+
+ Store(Index(Package(){m91e}, 0), Local0)
+ m1a0(Local0, c010, Ones, 921)
+
+ Store(Index(Package(){m91f}, 0), Local0)
+ m1a0(Local0, c010, Ones, 922)
+
+ Store(Index(Package(){m920}, 0), Local0)
+ m1a0(Local0, c010, Ones, 923)
+
+ Store(Index(Package(){m921}, 0), Local0)
+ m1a0(Local0, c010, Ones, 924)
+
+ Store(Index(Package(){m922}, 0), Local0)
+ m1a0(Local0, c010, Ones, 925)
+
+ Store(Index(Package(){m923}, 0), Local0)
+ m1a0(Local0, c010, Ones, 926)
+
+ Store(Index(Package(){m924}, 0), Local0)
+ m1a0(Local0, c010, Ones, 927)
+
+ Store(Index(Package(){m925}, 0), Local0)
+ m1a0(Local0, c010, Ones, 928)
+
+ Store(Index(Package(){m926}, 0), Local0)
+ m1a0(Local0, c010, Ones, 929)
+
+ Store(Index(Package(){m927}, 0), Local0)
+ m1a0(Local0, c010, Ones, 930)
+
+ Store(Index(Package(){m928}, 0), Local0)
+ m1a0(Local0, c010, Ones, 931)
+
+ Store(Index(Package(){m929}, 0), Local0)
+ m1a0(Local0, c010, Ones, 932)
+
+ Store(Index(Package(){m92a}, 0), Local0)
+ m1a0(Local0, c010, Ones, 933)
+
+ Store(Index(Package(){m92b}, 0), Local0)
+ m1a0(Local0, c010, Ones, 934)
+
+ Store(Index(Package(){m92c}, 0), Local0)
+ m1a0(Local0, c010, Ones, 935)
+
+ Store(Index(Package(){m92d}, 0), Local0)
+ m1a0(Local0, c010, Ones, 936)
+
+ Store(Index(Package(){m92e}, 0), Local0)
+ m1a0(Local0, c010, Ones, 937)
+
+ Store(Index(Package(){m92f}, 0), Local0)
+ m1a0(Local0, c010, Ones, 938)
+
+ Store(Index(Package(){m930}, 0), Local0)
+ m1a0(Local0, c010, Ones, 939)
+
+ Store(Index(Package(){m931}, 0), Local0)
+ m1a0(Local0, c010, Ones, 940)
+
+ Store(Index(Package(){m932}, 0), Local0)
+ m1a0(Local0, c010, Ones, 941)
+
+ Store(Index(Package(){m933}, 0), Local0)
+ m1a0(Local0, c010, Ones, 942)
+
+ Store(Index(Package(){m934}, 0), Local0)
+ m1a0(Local0, c010, Ones, 943)
+
+ Store(Index(Package(){m935}, 0), Local0)
+ m1a0(Local0, c010, Ones, 944)
+
+ // T4:x,IR1-IR14,x,x
+
+ // Computational Data
+
+ Store(Index(Package(){i900}, 0, Local1), Local0)
+ m1a2(Local0, c009, 0, 0, c009, 0xfe7cb391d65a5000, 945)
+ m1a2(Local1, c009, 0, 0, c009, 0xfe7cb391d65a5000, 946)
+
+ Store(Index(Package(){i901}, 0, Local1), Local0)
+ m1a2(Local0, c009, 0, 0, c009, 0x41795001, 947)
+ m1a2(Local1, c009, 0, 0, c009, 0x41795001, 948)
+
+ Store(Index(Package(){s900}, 0, Local1), Local0)
+ m1a2(Local0, c00a, 0, 0, c00a, "12345002", 949)
+ m1a2(Local1, c00a, 0, 0, c00a, "12345002", 950)
+
+ Store(Index(Package(){s901}, 0, Local1), Local0)
+ m1a2(Local0, c00a, 0, 0, c00a, "qwrtyu5003", 951)
+ m1a2(Local1, c00a, 0, 0, c00a, "qwrtyu5003", 952)
+
+ Store(Index(Package(){b900}, 0, Local1), Local0)
+ m1a2(Local0, c00b, 0, 0, c00b, Buffer() {0xf0,0xf1,0xf2,0xf3,0xf4}, 953)
+ m1a2(Local1, c00b, 0, 0, c00b, Buffer() {0xf0,0xf1,0xf2,0xf3,0xf4}, 954)
+
+ if (y118) {
+ Store(Index(Package(){f900}, 0, Local1), Local0)
+ m1a2(Local0, c00d, 0, 0, c009, 0, 955)
+ m1a2(Local1, c00d, 0, 0, c009, 0, 956)
+
+ Store(Index(Package(){bn90}, 0, Local1), Local0)
+ m1a2(Local0, c00d, 0, 0, c009, 0, 957)
+ m1a2(Local1, c00d, 0, 0, c009, 0, 958)
+
+ Store(Index(Package(){if90}, 0, Local1), Local0)
+ m1a2(Local0, c00d, 0, 0, c009, 0, 959)
+ m1a2(Local1, c00d, 0, 0, c009, 0, 960)
+
+ Store(Index(Package(){bf90}, 0, Local1), Local0)
+ m1a2(Local0, c016, 0, 0, c009, 0xf0, 961)
+ m1a2(Local1, c016, 0, 0, c009, 0xf0, 962)
+ }
+
+ // Not Computational Data
+
+ Store(Index(Package(){e900}, 0, Local1), Local0)
+ m1a0(Local0, c00f, Ones, 963)
+ m1a0(Local1, c00f, Ones, 964)
+
+ Store(Index(Package(){mx90}, 0, Local1), Local0)
+ m1a0(Local0, c011, Ones, 965)
+ m1a0(Local1, c011, Ones, 966)
+
+ Store(Index(Package(){d900}, 0, Local1), Local0)
+ m1a0(Local0, c00e, Ones, 967)
+ m1a0(Local1, c00e, Ones, 968)
+
+ Store(Index(Package(){tz90}, 0, Local1), Local0)
+ m1a0(Local0, c015, Ones, 969)
+ m1a0(Local1, c015, Ones, 970)
+
+ Store(Index(Package(){pr90}, 0, Local1), Local0)
+ m1a0(Local0, c014, Ones, 971)
+ m1a0(Local1, c014, Ones, 972)
+
+ Store(Index(Package(){r900}, 0, Local1), Local0)
+ m1a0(Local0, c012, Ones, 973)
+ m1a0(Local1, c012, Ones, 974)
+
+ Store(Index(Package(){pw90}, 0, Local1), Local0)
+ m1a0(Local0, c013, Ones, 975)
+ m1a0(Local1, c013, Ones, 976)
+
+ // Elements of Package are Uninitialized
+
+ Store(Index(Package(){p900}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 977)
+ m1a0(Local1, c00c, Ones, 978)
+
+ // Elements of Package are Computational Data
+
+ Store(Index(Package(){p901}, 0, Local1), Local0)
+ m1a2(Local0, c00c, 1, 0, c009, 0xabcd5004, 979)
+ m1a2(Local0, c00c, 1, 1, c009, 0x1122334455665005, 980)
+ m1a2(Local1, c00c, 1, 0, c009, 0xabcd5004, 981)
+ m1a2(Local1, c00c, 1, 1, c009, 0x1122334455665005, 982)
+
+
+ Store(Index(Package(){p902}, 0, Local1), Local0)
+ m1a2(Local0, c00c, 1, 0, c00a, "12345006", 983)
+ m1a2(Local0, c00c, 1, 1, c00a, "q1w2e3r4t5y6u7i85007", 984)
+ m1a2(Local1, c00c, 1, 0, c00a, "12345006", 985)
+ m1a2(Local1, c00c, 1, 1, c00a, "q1w2e3r4t5y6u7i85007", 986)
+
+ Store(Index(Package(){p903}, 0, Local1), Local0)
+ m1a2(Local0, c00c, 1, 0, c00a, "qwrtyuiop5008", 987)
+ m1a2(Local0, c00c, 1, 1, c00a, "1234567890abdef0255009", 988)
+ m1a2(Local1, c00c, 1, 0, c00a, "qwrtyuiop5008", 989)
+ m1a2(Local1, c00c, 1, 1, c00a, "1234567890abdef0255009", 990)
+
+ Store(Index(Package(){p904}, 0, Local1), Local0)
+ m1a2(Local0, c00c, 1, 0, c00b, Buffer() {0xf5,0xf6,0xf7}, 991)
+ m1a2(Local1, c00c, 1, 0, c00b, Buffer() {0xf5,0xf6,0xf7}, 992)
+
+ Store(Index(Package(){p905}, 0, Local1), Local0)
+ m1a2(Local0, c00c, 2, 0, c009, 0xabc500a, 993)
+ m1a2(Local0, c00c, 2, 1, c00a, "0xabc500b", 994)
+ m1a2(Local1, c00c, 2, 0, c009, 0xabc500a, 995)
+ m1a2(Local1, c00c, 2, 1, c00a, "0xabc500b", 996)
+
+ Store(Index(Package(){p906}, 0, Local1), Local0)
+ m1a2(Local0, c00c, 2, 0, c00a, "abc500d", 997)
+ m1a2(Local1, c00c, 2, 0, c00a, "abc500d", 998)
+
+ Store(Index(Package(){p907}, 0, Local1), Local0)
+ m1a2(Local0, c00c, 2, 0, c00a, "aqwevbgnm500e", 999)
+ m1a2(Local1, c00c, 2, 0, c00a, "aqwevbgnm500e", 1000)
+
+ Store(Index(Package(){p908}, 0, Local1), Local0)
+ m1a2(Local0, c00c, 2, 0, c00b, Buffer() {0xfa,0xfb,0xfc,0xfd,0xfe}, 1001)
+ m1a2(Local1, c00c, 2, 0, c00b, Buffer() {0xfa,0xfb,0xfc,0xfd,0xfe}, 1002)
+
+ Store(Index(Package(){p909}, 0, Local1), Local0)
+ m1a2(Local0, c00c, 3, 0, c009, 0xabc500f, 1003)
+ m1a2(Local1, c00c, 3, 0, c009, 0xabc500f, 1004)
+
+ Store(Index(Package(){p90a}, 0, Local1), Local0)
+ m1a2(Local0, c00c, 3, 0, c00a, "12345010", 1005)
+ m1a2(Local1, c00c, 3, 0, c00a, "12345010", 1006)
+
+ Store(Index(Package(){p90b}, 0, Local1), Local0)
+ m1a2(Local0, c00c, 3, 0, c00a, "zxswefas5011", 1007)
+ m1a2(Local1, c00c, 3, 0, c00a, "zxswefas5011", 1008)
+
+ Store(Index(Package(){p90c}, 0, Local1), Local0)
+ m1a2(Local0, c00c, 3, 0, c00b, Buffer() {0xff,0x40,0x41}, 1009)
+ m1a2(Local1, c00c, 3, 0, c00b, Buffer() {0xff,0x40,0x41}, 1010)
+
+ Store(Index(Package(){p90d}, 0, Local1), Local0)
+ m1a2(Local0, c00c, 1, 0, c009, 0xfe7cb391d65a5000, 1011)
+ m1a2(Local1, c00c, 1, 0, c009, 0xfe7cb391d65a5000, 1012)
+
+ Store(Index(Package(){p90e}, 0, Local1), Local0)
+ m1a2(Local0, c00c, 1, 0, c009, 0x41795001, 1013)
+ m1a2(Local1, c00c, 1, 0, c009, 0x41795001, 1014)
+
+ Store(Index(Package(){p90f}, 0, Local1), Local0)
+ m1a2(Local0, c00c, 1, 0, c00a, "12345002", 1015)
+ m1a2(Local1, c00c, 1, 0, c00a, "12345002", 1016)
+
+ Store(Index(Package(){p910}, 0, Local1), Local0)
+ m1a2(Local0, c00c, 1, 0, c00a, "qwrtyu5003", 1017)
+ m1a2(Local1, c00c, 1, 0, c00a, "qwrtyu5003", 1018)
+
+ Store(Index(Package(){p911}, 0, Local1), Local0)
+ m1a2(Local0, c00c, 1, 0, c00b, Buffer() {0xf0,0xf1,0xf2,0xf3,0xf4}, 1019)
+ m1a2(Local1, c00c, 1, 0, c00b, Buffer() {0xf0,0xf1,0xf2,0xf3,0xf4}, 1020)
+
+ if (y118) {
+ Store(Index(Package(){p912}, 0, Local1), Local0)
+ m1a2(Local0, c00c, 1, 0, c00d, 0, 1021)
+ m1a2(Local1, c00c, 1, 0, c00d, 0, 1022)
+
+ Store(Index(Package(){p913}, 0, Local1), Local0)
+ m1a2(Local0, c00c, 1, 0, c00d, 0, 1023)
+ m1a2(Local1, c00c, 1, 0, c00d, 0, 1024)
+
+ Store(Index(Package(){p914}, 0, Local1), Local0)
+ m1a2(Local0, c00c, 1, 0, c00d, 0, 1025)
+ m1a2(Local1, c00c, 1, 0, c00d, 0, 1026)
+
+ Store(Index(Package(){p915}, 0, Local1), Local0)
+ m1a2(Local0, c00c, 1, 0, c016, 0xf0, 1027)
+ m1a2(Local1, c00c, 1, 0, c016, 0xf0, 1028)
+ }
+
+ // Elements of Package are NOT Computational Data
+
+ Store(Index(Package(){p916}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1029)
+ m1a0(Local1, c00c, Ones, 1030)
+
+ Store(Index(Package(){p917}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1031)
+ m1a0(Local1, c00c, Ones, 1032)
+
+ Store(Index(Package(){p918}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1033)
+ m1a0(Local1, c00c, Ones, 1034)
+
+ Store(Index(Package(){p919}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1035)
+ m1a0(Local1, c00c, Ones, 1036)
+
+ Store(Index(Package(){p91a}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1037)
+ m1a0(Local1, c00c, Ones, 1038)
+
+ Store(Index(Package(){p91b}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1039)
+ m1a0(Local1, c00c, Ones, 1040)
+
+ Store(Index(Package(){p91c}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1041)
+ m1a0(Local1, c00c, Ones, 1042)
+
+ // Elements of Package are Methods
+
+ Store(Index(Package(){p91d}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1043)
+ m1a0(Local1, c00c, Ones, 1044)
+
+ Store(Index(Package(){p91e}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1045)
+ m1a0(Local1, c00c, Ones, 1046)
+
+ Store(Index(Package(){p91f}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1047)
+ m1a0(Local1, c00c, Ones, 1048)
+
+ Store(Index(Package(){p920}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1049)
+ m1a0(Local1, c00c, Ones, 1050)
+
+ Store(Index(Package(){p921}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1051)
+ m1a0(Local1, c00c, Ones, 1052)
+
+ Store(Index(Package(){p922}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1053)
+ m1a0(Local1, c00c, Ones, 1054)
+
+ Store(Index(Package(){p923}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1055)
+ m1a0(Local1, c00c, Ones, 1056)
+
+ Store(Index(Package(){p924}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1057)
+ m1a0(Local1, c00c, Ones, 1058)
+
+ Store(Index(Package(){p925}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1059)
+ m1a0(Local1, c00c, Ones, 1060)
+
+ Store(Index(Package(){p926}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1061)
+ m1a0(Local1, c00c, Ones, 1062)
+
+ Store(Index(Package(){p927}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1063)
+ m1a0(Local1, c00c, Ones, 1064)
+
+ Store(Index(Package(){p928}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1065)
+ m1a0(Local1, c00c, Ones, 1066)
+
+ Store(Index(Package(){p929}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1067)
+ m1a0(Local1, c00c, Ones, 1068)
+
+ Store(Index(Package(){p92a}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1069)
+ m1a0(Local1, c00c, Ones, 1070)
+
+ Store(Index(Package(){p92b}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1071)
+ m1a0(Local1, c00c, Ones, 1072)
+
+ Store(Index(Package(){p92c}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1073)
+ m1a0(Local1, c00c, Ones, 1074)
+
+ Store(Index(Package(){p92d}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1075)
+ m1a0(Local1, c00c, Ones, 1076)
+
+ Store(Index(Package(){p92e}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1077)
+ m1a0(Local1, c00c, Ones, 1078)
+
+ Store(Index(Package(){p92f}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1079)
+ m1a0(Local1, c00c, Ones, 1080)
+
+ Store(Index(Package(){p930}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1081)
+ m1a0(Local1, c00c, Ones, 1082)
+
+ Store(Index(Package(){p931}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1083)
+ m1a0(Local1, c00c, Ones, 1084)
+
+ Store(Index(Package(){p932}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1085)
+ m1a0(Local1, c00c, Ones, 1086)
+
+ Store(Index(Package(){p933}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1087)
+ m1a0(Local1, c00c, Ones, 1088)
+
+ Store(Index(Package(){p934}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1089)
+ m1a0(Local1, c00c, Ones, 1090)
+
+ Store(Index(Package(){p935}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1091)
+ m1a0(Local1, c00c, Ones, 1092)
+
+ Store(Index(Package(){p936}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1093)
+ m1a0(Local1, c00c, Ones, 1094)
+
+ Store(Index(Package(){p937}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1095)
+ m1a0(Local1, c00c, Ones, 1096)
+
+ Store(Index(Package(){p938}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1097)
+ m1a0(Local1, c00c, Ones, 1098)
+
+ Store(Index(Package(){p939}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1099)
+ m1a0(Local1, c00c, Ones, 1100)
+
+ Store(Index(Package(){p93a}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1101)
+ m1a0(Local1, c00c, Ones, 1102)
+
+ Store(Index(Package(){p93b}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1103)
+ m1a0(Local1, c00c, Ones, 1104)
+
+ Store(Index(Package(){p93c}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1105)
+ m1a0(Local1, c00c, Ones, 1106)
+
+ Store(Index(Package(){p93d}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1107)
+ m1a0(Local1, c00c, Ones, 1108)
+
+ Store(Index(Package(){p93e}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1109)
+ m1a0(Local1, c00c, Ones, 1110)
+
+ Store(Index(Package(){p93f}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1111)
+ m1a0(Local1, c00c, Ones, 1112)
+
+ Store(Index(Package(){p940}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1113)
+ m1a0(Local1, c00c, Ones, 1114)
+
+ Store(Index(Package(){p941}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1115)
+ m1a0(Local1, c00c, Ones, 1116)
+
+ Store(Index(Package(){p942}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1117)
+ m1a0(Local1, c00c, Ones, 1118)
+
+ Store(Index(Package(){p943}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1119)
+ m1a0(Local1, c00c, Ones, 1120)
+
+ Store(Index(Package(){p944}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1121)
+ m1a0(Local1, c00c, Ones, 1122)
+
+ Store(Index(Package(){p945}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1123)
+ m1a0(Local1, c00c, Ones, 1124)
+
+ Store(Index(Package(){p946}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1125)
+ m1a0(Local1, c00c, Ones, 1126)
+
+ Store(Index(Package(){p947}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1127)
+ m1a0(Local1, c00c, Ones, 1128)
+
+ Store(Index(Package(){p948}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1129)
+ m1a0(Local1, c00c, Ones, 1130)
+
+ Store(Index(Package(){p949}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1131)
+ m1a0(Local1, c00c, Ones, 1132)
+
+ Store(Index(Package(){p94a}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1133)
+ m1a0(Local1, c00c, Ones, 1134)
+
+ Store(Index(Package(){p94b}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1135)
+ m1a0(Local1, c00c, Ones, 1136)
+
+ Store(Index(Package(){p94c}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1137)
+ m1a0(Local1, c00c, Ones, 1138)
+
+ Store(Index(Package(){p94d}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1139)
+ m1a0(Local1, c00c, Ones, 1140)
+
+ Store(Index(Package(){p94e}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1141)
+ m1a0(Local1, c00c, Ones, 1142)
+
+ Store(Index(Package(){p94f}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1143)
+ m1a0(Local1, c00c, Ones, 1144)
+
+ Store(Index(Package(){p950}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1145)
+ m1a0(Local1, c00c, Ones, 1146)
+
+ Store(Index(Package(){p951}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1147)
+ m1a0(Local1, c00c, Ones, 1148)
+
+ Store(Index(Package(){p952}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1149)
+ m1a0(Local1, c00c, Ones, 1150)
+
+ // Methods
+
+ Store(Index(Package(){m900}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1151)
+ m1a0(Local1, c010, Ones, 1152)
+
+ Store(Index(Package(){m901}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1153)
+ m1a0(Local1, c010, Ones, 1154)
+
+ Store(Index(Package(){m902}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1155)
+ m1a0(Local1, c010, Ones, 1156)
+
+ Store(Index(Package(){m903}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1157)
+ m1a0(Local1, c010, Ones, 1158)
+
+ Store(Index(Package(){m904}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1159)
+ m1a0(Local1, c010, Ones, 1160)
+
+ Store(Index(Package(){m905}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1161)
+ m1a0(Local1, c010, Ones, 1162)
+
+ Store(Index(Package(){m906}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1163)
+ m1a0(Local1, c010, Ones, 1164)
+
+ Store(Index(Package(){m907}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1165)
+ m1a0(Local1, c010, Ones, 1166)
+
+ Store(Index(Package(){m908}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1167)
+ m1a0(Local1, c010, Ones, 1168)
+
+ Store(Index(Package(){m909}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1169)
+ m1a0(Local1, c010, Ones, 1170)
+
+ Store(Index(Package(){m90a}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1171)
+ m1a0(Local1, c010, Ones, 1172)
+
+ Store(Index(Package(){m90b}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1173)
+ m1a0(Local1, c010, Ones, 1174)
+
+ Store(Index(Package(){m90c}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1175)
+ m1a0(Local1, c010, Ones, 1176)
+
+ Store(Index(Package(){m90d}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1177)
+ m1a0(Local1, c010, Ones, 1178)
+
+ Store(Index(Package(){m90e}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1179)
+ m1a0(Local1, c010, Ones, 1180)
+
+ Store(Index(Package(){m90f}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1181)
+ m1a0(Local1, c010, Ones, 1182)
+
+ Store(Index(Package(){m910}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1183)
+ m1a0(Local1, c010, Ones, 1184)
+
+ Store(Index(Package(){m911}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1185)
+ m1a0(Local1, c010, Ones, 1186)
+
+ Store(Index(Package(){m912}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1187)
+ m1a0(Local1, c010, Ones, 1188)
+
+ Store(Index(Package(){m913}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1189)
+ m1a0(Local1, c010, Ones, 1190)
+
+ Store(Index(Package(){m914}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1191)
+ m1a0(Local1, c010, Ones, 1192)
+
+ Store(Index(Package(){m915}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1193)
+ m1a0(Local1, c010, Ones, 1194)
+
+ Store(Index(Package(){m916}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1195)
+ m1a0(Local1, c010, Ones, 1196)
+
+ Store(Index(Package(){m917}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1197)
+ m1a0(Local1, c010, Ones, 1198)
+
+ Store(Index(Package(){m918}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1199)
+ m1a0(Local1, c010, Ones, 1200)
+
+ Store(Index(Package(){m919}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1201)
+ m1a0(Local1, c010, Ones, 1202)
+
+ Store(Index(Package(){m91a}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1203)
+ m1a0(Local1, c010, Ones, 1204)
+
+ Store(Index(Package(){m91b}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1205)
+ m1a0(Local1, c010, Ones, 1206)
+
+ Store(Index(Package(){m91c}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1207)
+ m1a0(Local1, c010, Ones, 1208)
+
+ Store(Index(Package(){m91d}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1209)
+ m1a0(Local1, c010, Ones, 1210)
+
+ Store(Index(Package(){m91e}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1211)
+ m1a0(Local1, c010, Ones, 1212)
+
+ Store(Index(Package(){m91f}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1213)
+ m1a0(Local1, c010, Ones, 1214)
+
+ Store(Index(Package(){m920}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1215)
+ m1a0(Local1, c010, Ones, 1216)
+
+ Store(Index(Package(){m921}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1217)
+ m1a0(Local1, c010, Ones, 1218)
+
+ Store(Index(Package(){m922}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1219)
+ m1a0(Local1, c010, Ones, 1220)
+
+ Store(Index(Package(){m923}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1221)
+ m1a0(Local1, c010, Ones, 1222)
+
+ Store(Index(Package(){m924}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1223)
+ m1a0(Local1, c010, Ones, 1224)
+
+ Store(Index(Package(){m925}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1225)
+ m1a0(Local1, c010, Ones, 1226)
+
+ Store(Index(Package(){m926}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1227)
+ m1a0(Local1, c010, Ones, 1228)
+
+ Store(Index(Package(){m927}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1229)
+ m1a0(Local1, c010, Ones, 1230)
+
+ Store(Index(Package(){m928}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1231)
+ m1a0(Local1, c010, Ones, 1232)
+
+ Store(Index(Package(){m929}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1233)
+ m1a0(Local1, c010, Ones, 1234)
+
+ Store(Index(Package(){m92a}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1235)
+ m1a0(Local1, c010, Ones, 1236)
+
+ Store(Index(Package(){m92b}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1237)
+ m1a0(Local1, c010, Ones, 1238)
+
+ Store(Index(Package(){m92c}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1239)
+ m1a0(Local1, c010, Ones, 1240)
+
+ Store(Index(Package(){m92d}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1241)
+ m1a0(Local1, c010, Ones, 1242)
+
+ Store(Index(Package(){m92e}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1243)
+ m1a0(Local1, c010, Ones, 1244)
+
+ Store(Index(Package(){m92f}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1245)
+ m1a0(Local1, c010, Ones, 1246)
+
+ Store(Index(Package(){m930}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1247)
+ m1a0(Local1, c010, Ones, 1248)
+
+ Store(Index(Package(){m931}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1249)
+ m1a0(Local1, c010, Ones, 1250)
+
+ Store(Index(Package(){m932}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1251)
+ m1a0(Local1, c010, Ones, 1252)
+
+ Store(Index(Package(){m933}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1253)
+ m1a0(Local1, c010, Ones, 1254)
+
+ Store(Index(Package(){m934}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1255)
+ m1a0(Local1, c010, Ones, 1256)
+
+ Store(Index(Package(){m935}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1257)
+ m1a0(Local1, c010, Ones, 1258)
+
+ m000()
+ m1a6()
+}
+
+Method(m16f, 7)
+{
+ Store(z077, c081) // absolute index of file initiating the checking
+ Store(1, c089) // flag of Reference, object otherwise
+
+ if (arg0) {
+ m168()
+ }
+ if (arg1) {
+ m169()
+ }
+ if (arg2) {
+ m16a(c083)
+ }
+ if (arg3) {
+ m16b()
+ }
+ if (arg4) {
+ m16c(c083)
+ }
+ if (arg5) {
+ m16d()
+ }
+ if (arg6) {
+ m16e()
+ }
+}
+
+// Usual mode
+Method(m178)
+{
+ Store(1, c084) // run verification of references (reading)
+ Store(0, c085) // create the chain of references to LocalX, then dereference them
+
+ Store("Usual mode:", Debug)
+
+ m16f(1, 1, 1, 1, 1, 1, 1)
+}
+
+// The mode with the chain of references to LocalX
+Method(m179)
+{
+ Store(1, c084) // run verification of references (reading)
+ Store(1, c085) // create the chain of references to LocalX, then dereference them
+
+ Store("The mode with the chain of references to LocalX:", Debug)
+
+ m16f(1, 1, 1, 1, 1, 1, 1)
+}
+
+// Run-method
+Method(REF1)
+{
+ Store("TEST: REF1, References", Debug)
+
+ Store("REF1", c080) // name of test
+ Store(0, c082) // flag of test of exceptions
+ Store(0, c083) // run verification of references (write/read)
+ Store(0, c086) // flag, run test till the first error
+ Store(1, c087) // apply DeRefOf to ArgX-ObjectReference
+
+ m178()
+ m179()
+}
diff --git a/tests/aslts/src/runtime/collections/functional/reference/ref02.asl b/tests/aslts/src/runtime/collections/functional/reference/ref02.asl
new file mode 100644
index 000000000..e31a9ac56
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/reference/ref02.asl
@@ -0,0 +1,1872 @@
+/*
+ * 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.
+ */
+
+/*
+ * References
+ *
+ * TABLE 5: all the legal ways to generate references to LocalX
+ *
+ * Producing Reference operators:
+ *
+ * Index, RefOf, CondRefOf
+ */
+
+Name(z078, 78)
+
+// ///////////////////////////////////////////////////////////////////////////
+//
+// TABLE 5: all the legal ways to generate references to LocalX
+//
+// ///////////////////////////////////////////////////////////////////////////
+
+// m169,m190
+Method(m170)
+{
+ if (y100) {
+ ts00("m170")
+ } else {
+ Store("m170", Debug)
+ }
+
+ // T5:I2-I4
+
+ // Computational Data
+
+ Store(s900, Local7)
+ Store(Index(Local7, 0), Local0)
+ m1a2(Local0, c016, 0, 0, c009, 0x31, 1)
+
+ Store(s901, Local7)
+ Store(Index(Local7, 2), Local0)
+ m1a2(Local0, c016, 0, 0, c009, 0x72, 2)
+
+ Store(b900, Local7)
+ Store(Index(Local7, 3), Local0)
+ m1a2(Local0, c016, 0, 0, c009, 0xb3, 3)
+
+ // Elements of Package are Uninitialized
+
+ if (y104) {
+ Store(p900, Local7)
+ Store(Index(Local7, 0), Local0)
+ m1a0(Local0, c008, Ones, 4)
+ }
+
+ // Elements of Package are Computational Data
+
+ Store(p901, Local7)
+ Store(Index(Local7, 0), Local0)
+ m1a2(Local0, c009, 0, 0, c009, 0xabcd0004, 5)
+
+ Store(p901, Local7)
+ Store(Index(Local7, 1), Local0)
+ m1a2(Local0, c009, 0, 0, c009, 0x1122334455660005, 6)
+
+ Store(p902, Local7)
+ Store(Index(Local7, 0), Local0)
+ m1a2(Local0, c00a, 0, 0, c00a, "12340006", 7)
+
+ Store(p902, Local7)
+ Store(Index(Local7, 1), Local0)
+ m1a2(Local0, c00a, 0, 0, c00a, "q1w2e3r4t5y6u7i80007", 8)
+
+ Store(p903, Local7)
+ Store(Index(Local7, 0), Local0)
+ m1a2(Local0, c00a, 0, 0, c00a, "qwrtyuiop0008", 9)
+
+ Store(p903, Local7)
+ Store(Index(Local7, 1), Local0)
+ m1a2(Local0, c00a, 0, 0, c00a, "1234567890abdef0250009", 10)
+
+ Store(p904, Local7)
+ Store(Index(Local7, 0), Local0)
+ m1a2(Local0, c00b, 0, 0, c00b, Buffer() {0xb5,0xb6,0xb7}, 11)
+
+ Store(p905, Local7)
+ Store(Index(Local7, 0), Local0)
+ m1a2(Local0, c00c, 1, 0, c009, 0xabc000a, 12)
+
+ Store(p905, Local7)
+ Store(Index(Local7, 0), Local0)
+ m1a2(Local0, c00c, 1, 1, c00a, "0xabc000b", 13)
+
+ Store(p906, Local7)
+ Store(Index(Local7, 0), Local0)
+ m1a2(Local0, c00c, 1, 0, c00a, "abc000d", 14)
+
+ Store(p907, Local7)
+ Store(Index(Local7, 0), Local0)
+ m1a2(Local0, c00c, 1, 0, c00a, "aqwevbgnm000e", 15)
+
+ Store(p908, Local7)
+ Store(Index(Local7, 0), Local0)
+ m1a2(Local0, c00c, 1, 0, c00b, Buffer() {0xba,0xbb,0xbc,0xbd,0xbe}, 16)
+
+ Store(p909, Local7)
+ Store(Index(Local7, 0), Local0)
+ m1a2(Local0, c00c, 2, 0, c009, 0xabc000f, 17)
+
+ Store(p90a, Local7)
+ Store(Index(Local7, 0), Local0)
+ m1a2(Local0, c00c, 2, 0, c00a, "12340010", 18)
+
+ Store(p90b, Local7)
+ Store(Index(Local7, 0), Local0)
+ m1a2(Local0, c00c, 2, 0, c00a, "zxswefas0011", 19)
+
+ Store(p90c, Local7)
+ Store(Index(Local7, 0), Local0)
+ m1a2(Local0, c00c, 2, 0, c00b, Buffer() {0xbf,0xc0,0xc1}, 20)
+
+ Store(p90d, Local7)
+ Store(Index(Local7, 0), Local0)
+ m1a2(Local0, c009, 0, 0, c009, 0xfe7cb391d65a0000, 21)
+
+ Store(p90e, Local7)
+ Store(Index(Local7, 0), Local0)
+ m1a2(Local0, c009, 0, 0, c009, 0xc1790001, 22)
+
+ Store(p90f, Local7)
+ Store(Index(Local7, 0), Local0)
+ m1a2(Local0, c00a, 0, 0, c00a, "12340002", 23)
+
+ Store(p910, Local7)
+ Store(Index(Local7, 0), Local0)
+ m1a2(Local0, c00a, 0, 0, c00a, "qwrtyu0003", 24)
+
+ Store(p911, Local7)
+ Store(Index(Local7, 0), Local0)
+ m1a2(Local0, c00b, 0, 0, c00b, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4}, 25)
+
+ if (y118) {
+ Store(p912, Local7)
+ Store(Index(Local7, 0), Local0)
+ m1a2(Local0, c00d, 0, 0, c00d, 0, 26)
+
+ Store(p913, Local7)
+ Store(Index(Local7, 0), Local0)
+ m1a2(Local0, c00d, 0, 0, c00d, 0, 27)
+
+ Store(p914, Local7)
+ Store(Index(Local7, 0), Local0)
+ m1a2(Local0, c00d, 0, 0, c00d, 0, 28)
+
+ Store(p915, Local7)
+ Store(Index(Local7, 0), Local0)
+ m1a2(Local0, c016, 0, 0, c016, 0xb0, 29)
+ }
+
+ // Elements of Package are NOT Computational Data
+
+ Store(p916, Local7)
+ Store(Index(Local7, 0), Local0)
+ m1a0(Local0, c00e, Ones, 30)
+
+ Store(p917, Local7)
+ Store(Index(Local7, 0), Local0)
+ m1a0(Local0, c00f, Ones, 31)
+
+ Store(p918, Local7)
+ Store(Index(Local7, 0), Local0)
+ m1a0(Local0, c011, Ones, 32)
+
+ Store(p919, Local7)
+ Store(Index(Local7, 0), Local0)
+ m1a0(Local0, c012, Ones, 33)
+
+ Store(p91a, Local7)
+ Store(Index(Local7, 0), Local0)
+ m1a0(Local0, c013, Ones, 34)
+
+ Store(p91b, Local7)
+ Store(Index(Local7, 0), Local0)
+ m1a0(Local0, c014, Ones, 35)
+
+ Store(p91c, Local7)
+ Store(Index(Local7, 0), Local0)
+ m1a0(Local0, c015, Ones, 36)
+
+ // Elements of Package are Methods
+
+ if (y105) {
+
+ Store(p91d, Local7)
+ Store(Index(Local7, 0), Local0)
+ m1a0(Local0, c010, Ones, 37)
+
+ Store(p91e, Local7)
+ Store(Index(Local7, 0), Local0)
+ m1a0(Local0, c010, Ones, 38)
+
+ Store(p91f, Local7)
+ Store(Index(Local7, 0), Local0)
+ m1a0(Local0, c010, Ones, 39)
+
+ Store(p920, Local7)
+ Store(Index(Local7, 0), Local0)
+ m1a0(Local0, c010, Ones, 40)
+
+ Store(p921, Local7)
+ Store(Index(Local7, 0), Local0)
+ m1a0(Local0, c010, Ones, 41)
+
+ Store(p922, Local7)
+ Store(Index(Local7, 0), Local0)
+ m1a0(Local0, c010, Ones, 42)
+
+ Store(p923, Local7)
+ Store(Index(Local7, 0), Local0)
+ m1a0(Local0, c010, Ones, 43)
+
+ Store(p924, Local7)
+ Store(Index(Local7, 0), Local0)
+ m1a0(Local0, c010, Ones, 44)
+
+ Store(p925, Local7)
+ Store(Index(Local7, 0), Local0)
+ m1a0(Local0, c010, Ones, 45)
+
+ Store(p926, Local7)
+ Store(Index(Local7, 0), Local0)
+ m1a0(Local0, c010, Ones, 46)
+
+ Store(p927, Local7)
+ Store(Index(Local7, 0), Local0)
+ m1a0(Local0, c010, Ones, 47)
+
+ Store(p928, Local7)
+ Store(Index(Local7, 0), Local0)
+ m1a0(Local0, c010, Ones, 48)
+
+ Store(p929, Local7)
+ Store(Index(Local7, 0), Local0)
+ m1a0(Local0, c010, Ones, 49)
+
+ Store(p92a, Local7)
+ Store(Index(Local7, 0), Local0)
+ m1a0(Local0, c010, Ones, 50)
+
+ Store(p92b, Local7)
+ Store(Index(Local7, 0), Local0)
+ m1a0(Local0, c010, Ones, 51)
+
+ Store(p92c, Local7)
+ Store(Index(Local7, 0), Local0)
+ m1a0(Local0, c010, Ones, 52)
+
+ Store(p92d, Local7)
+ Store(Index(Local7, 0), Local0)
+ m1a0(Local0, c010, Ones, 53)
+
+ Store(p92e, Local7)
+ Store(Index(Local7, 0), Local0)
+ m1a0(Local0, c010, Ones, 54)
+
+ Store(p92f, Local7)
+ Store(Index(Local7, 0), Local0)
+ m1a0(Local0, c010, Ones, 55)
+
+ Store(p930, Local7)
+ Store(Index(Local7, 0), Local0)
+ m1a0(Local0, c010, Ones, 56)
+
+ Store(p931, Local7)
+ Store(Index(Local7, 0), Local0)
+ m1a0(Local0, c010, Ones, 57)
+
+ Store(p932, Local7)
+ Store(Index(Local7, 0), Local0)
+ m1a0(Local0, c010, Ones, 58)
+
+ Store(p933, Local7)
+ Store(Index(Local7, 0), Local0)
+ m1a0(Local0, c010, Ones, 59)
+
+ Store(p934, Local7)
+ Store(Index(Local7, 0), Local0)
+ m1a0(Local0, c010, Ones, 60)
+
+ if (y103) {
+ Store(p935, Local7)
+ Store(Index(Local7, 0), Local0)
+ m1a0(Local0, c010, Ones, 61)
+ }
+
+ Store(p936, Local7)
+ Store(Index(Local7, 0), Local0)
+ m1a0(Local0, c010, Ones, 62)
+
+ Store(p937, Local7)
+ Store(Index(Local7, 0), Local0)
+ m1a0(Local0, c010, Ones, 63)
+
+ Store(p938, Local7)
+ Store(Index(Local7, 0), Local0)
+ m1a0(Local0, c010, Ones, 64)
+
+ Store(p939, Local7)
+ Store(Index(Local7, 0), Local0)
+ m1a0(Local0, c010, Ones, 65)
+
+ Store(p93a, Local7)
+ Store(Index(Local7, 0), Local0)
+ m1a0(Local0, c010, Ones, 66)
+
+ Store(p93b, Local7)
+ Store(Index(Local7, 0), Local0)
+ m1a0(Local0, c010, Ones, 67)
+
+ Store(p93c, Local7)
+ Store(Index(Local7, 0), Local0)
+ m1a0(Local0, c010, Ones, 68)
+
+ Store(p93d, Local7)
+ Store(Index(Local7, 0), Local0)
+ m1a0(Local0, c010, Ones, 69)
+
+ Store(p93e, Local7)
+ Store(Index(Local7, 0), Local0)
+ m1a0(Local0, c010, Ones, 70)
+
+ Store(p93f, Local7)
+ Store(Index(Local7, 0), Local0)
+ m1a0(Local0, c010, Ones, 71)
+
+ Store(p940, Local7)
+ Store(Index(Local7, 0), Local0)
+ m1a0(Local0, c010, Ones, 72)
+
+ Store(p941, Local7)
+ Store(Index(Local7, 0), Local0)
+ m1a0(Local0, c010, Ones, 73)
+
+ Store(p942, Local7)
+ Store(Index(Local7, 0), Local0)
+ m1a0(Local0, c010, Ones, 74)
+
+ Store(p943, Local7)
+ Store(Index(Local7, 0), Local0)
+ m1a0(Local0, c010, Ones, 75)
+
+ Store(p944, Local7)
+ Store(Index(Local7, 0), Local0)
+ m1a0(Local0, c010, Ones, 76)
+
+ Store(p945, Local7)
+ Store(Index(Local7, 0), Local0)
+ m1a0(Local0, c010, Ones, 77)
+
+ Store(p946, Local7)
+ Store(Index(Local7, 0), Local0)
+ m1a0(Local0, c010, Ones, 78)
+
+ Store(p947, Local7)
+ Store(Index(Local7, 0), Local0)
+ m1a0(Local0, c010, Ones, 79)
+
+ Store(p948, Local7)
+ Store(Index(Local7, 0), Local0)
+ m1a0(Local0, c010, Ones, 80)
+
+ Store(p949, Local7)
+ Store(Index(Local7, 0), Local0)
+ m1a0(Local0, c010, Ones, 81)
+
+ Store(p94a, Local7)
+ Store(Index(Local7, 0), Local0)
+ m1a0(Local0, c010, Ones, 82)
+
+ Store(p94b, Local7)
+ Store(Index(Local7, 0), Local0)
+ m1a0(Local0, c010, Ones, 83)
+
+ Store(p94c, Local7)
+ Store(Index(Local7, 0), Local0)
+ m1a0(Local0, c010, Ones, 84)
+
+ Store(p94d, Local7)
+ Store(Index(Local7, 0), Local0)
+ m1a0(Local0, c010, Ones, 85)
+
+ Store(p94e, Local7)
+ Store(Index(Local7, 0), Local0)
+ m1a0(Local0, c010, Ones, 86)
+
+ Store(p94f, Local7)
+ Store(Index(Local7, 0), Local0)
+ m1a0(Local0, c010, Ones, 87)
+
+ Store(p950, Local7)
+ Store(Index(Local7, 0), Local0)
+ m1a0(Local0, c010, Ones, 88)
+
+ Store(p951, Local7)
+ Store(Index(Local7, 0), Local0)
+ m1a0(Local0, c010, Ones, 89)
+
+ Store(p952, Local7)
+ Store(Index(Local7, 0), Local0)
+ m1a0(Local0, c010, Ones, 90)
+ }
+
+ // T5:IR2-IR4
+
+ // Computational Data
+
+ Store(s900, Local7)
+ Store(Index(Local7, 0, Local1), Local0)
+ m1a2(Local0, c016, 0, 0, c009, 0x31, 91)
+ m1a2(Local1, c016, 0, 0, c009, 0x31, 92)
+
+ Store(s901, Local7)
+ Store(Index(Local7, 2, Local1), Local0)
+ m1a2(Local0, c016, 0, 0, c009, 0x72, 93)
+ m1a2(Local1, c016, 0, 0, c009, 0x72, 94)
+
+ Store(b900, Local7)
+ Store(Index(Local7, 4, Local1), Local0)
+ m1a2(Local0, c016, 0, 0, c009, 0xb4, 95)
+ m1a2(Local1, c016, 0, 0, c009, 0xb4, 96)
+
+ // Elements of Package are Uninitialized
+
+ if (y104) {
+ Store(p900, Local7)
+ Store(Index(Local7, 0, Local1), Local0)
+ m1a0(Local0, c008, Ones, 97)
+ m1a0(Local1, c008, Ones, 98)
+ }
+
+ // Elements of Package are Computational Data
+
+ Store(p901, Local7)
+ Store(Index(Local7, 0, Local1), Local0)
+ m1a2(Local0, c009, 0, 0, c009, 0xabcd0004, 99)
+ m1a2(Local1, c009, 0, 0, c009, 0xabcd0004, 100)
+
+ Store(p901, Local7)
+ Store(Index(Local7, 1, Local1), Local0)
+ m1a2(Local0, c009, 0, 0, c009, 0x1122334455660005, 101)
+ m1a2(Local1, c009, 0, 0, c009, 0x1122334455660005, 102)
+
+ Store(p902, Local7)
+ Store(Index(Local7, 0, Local1), Local0)
+ m1a2(Local0, c00a, 0, 0, c00a, "12340006", 103)
+ m1a2(Local1, c00a, 0, 0, c00a, "12340006", 104)
+
+ Store(p902, Local7)
+ Store(Index(Local7, 1, Local1), Local0)
+ m1a2(Local0, c00a, 0, 0, c00a, "q1w2e3r4t5y6u7i80007", 105)
+ m1a2(Local1, c00a, 0, 0, c00a, "q1w2e3r4t5y6u7i80007", 106)
+
+ Store(p903, Local7)
+ Store(Index(Local7, 0, Local1), Local0)
+ m1a2(Local0, c00a, 0, 0, c00a, "qwrtyuiop0008", 107)
+ m1a2(Local1, c00a, 0, 0, c00a, "qwrtyuiop0008", 108)
+
+ Store(p903, Local7)
+ Store(Index(Local7, 1, Local1), Local0)
+ m1a2(Local0, c00a, 0, 0, c00a, "1234567890abdef0250009", 109)
+ m1a2(Local1, c00a, 0, 0, c00a, "1234567890abdef0250009", 110)
+
+ Store(p904, Local7)
+ Store(Index(Local7, 0, Local1), Local0)
+ m1a2(Local0, c00b, 0, 0, c00b, Buffer() {0xb5,0xb6,0xb7}, 111)
+ m1a2(Local1, c00b, 0, 0, c00b, Buffer() {0xb5,0xb6,0xb7}, 112)
+
+ Store(p905, Local7)
+ Store(Index(Local7, 0, Local1), Local0)
+ m1a2(Local0, c00c, 1, 0, c009, 0xabc000a, 113)
+ m1a2(Local1, c00c, 1, 0, c009, 0xabc000a, 114)
+
+ Store(p905, Local7)
+ Store(Index(Local7, 0, Local1), Local0)
+ m1a2(Local0, c00c, 1, 1, c00a, "0xabc000b", 115)
+ m1a2(Local1, c00c, 1, 1, c00a, "0xabc000b", 116)
+
+ Store(p906, Local7)
+ Store(Index(Local7, 0, Local1), Local0)
+ m1a2(Local0, c00c, 1, 0, c00a, "abc000d", 117)
+ m1a2(Local1, c00c, 1, 0, c00a, "abc000d", 118)
+
+ Store(p907, Local7)
+ Store(Index(Local7, 0, Local1), Local0)
+ m1a2(Local0, c00c, 1, 0, c00a, "aqwevbgnm000e", 119)
+ m1a2(Local1, c00c, 1, 0, c00a, "aqwevbgnm000e", 120)
+
+ Store(p908, Local7)
+ Store(Index(Local7, 0, Local1), Local0)
+ m1a2(Local0, c00c, 1, 0, c00b, Buffer() {0xba,0xbb,0xbc,0xbd,0xbe}, 121)
+ m1a2(Local1, c00c, 1, 0, c00b, Buffer() {0xba,0xbb,0xbc,0xbd,0xbe}, 122)
+
+ Store(p909, Local7)
+ Store(Index(Local7, 0, Local1), Local0)
+ m1a2(Local0, c00c, 2, 0, c009, 0xabc000f, 123)
+ m1a2(Local1, c00c, 2, 0, c009, 0xabc000f, 124)
+
+ Store(p90a, Local7)
+ Store(Index(Local7, 0, Local1), Local0)
+ m1a2(Local0, c00c, 2, 0, c00a, "12340010", 125)
+ m1a2(Local1, c00c, 2, 0, c00a, "12340010", 126)
+
+ Store(p90b, Local7)
+ Store(Index(Local7, 0, Local1), Local0)
+ m1a2(Local0, c00c, 2, 0, c00a, "zxswefas0011", 127)
+ m1a2(Local1, c00c, 2, 0, c00a, "zxswefas0011", 128)
+
+ Store(p90c, Local7)
+ Store(Index(Local7, 0, Local1), Local0)
+ m1a2(Local0, c00c, 2, 0, c00b, Buffer() {0xbf,0xc0,0xc1}, 129)
+ m1a2(Local1, c00c, 2, 0, c00b, Buffer() {0xbf,0xc0,0xc1}, 130)
+
+ Store(p90d, Local7)
+ Store(Index(Local7, 0, Local1), Local0)
+ m1a2(Local0, c009, 0, 0, c009, 0xfe7cb391d65a0000, 131)
+ m1a2(Local1, c009, 0, 0, c009, 0xfe7cb391d65a0000, 132)
+
+ Store(p90e, Local7)
+ Store(Index(Local7, 0, Local1), Local0)
+ m1a2(Local0, c009, 0, 0, c009, 0xc1790001, 133)
+ m1a2(Local1, c009, 0, 0, c009, 0xc1790001, 134)
+
+ Store(p90f, Local7)
+ Store(Index(Local7, 0, Local1), Local0)
+ m1a2(Local0, c00a, 0, 0, c00a, "12340002", 135)
+ m1a2(Local1, c00a, 0, 0, c00a, "12340002", 136)
+
+ Store(p910, Local7)
+ Store(Index(Local7, 0, Local1), Local0)
+ m1a2(Local0, c00a, 0, 0, c00a, "qwrtyu0003", 137)
+ m1a2(Local1, c00a, 0, 0, c00a, "qwrtyu0003", 138)
+
+ Store(p911, Local7)
+ Store(Index(Local7, 0, Local1), Local0)
+ m1a2(Local0, c00b, 0, 0, c00b, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4}, 139)
+ m1a2(Local1, c00b, 0, 0, c00b, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4}, 140)
+
+ if (y118) {
+ Store(p912, Local7)
+ Store(Index(Local7, 0, Local1), Local0)
+ m1a2(Local0, c00d, 0, 0, c00d, 0, 141)
+ m1a2(Local1, c00d, 0, 0, c00d, 0, 142)
+
+ Store(p913, Local7)
+ Store(Index(Local7, 0, Local1), Local0)
+ m1a2(Local0, c00d, 0, 0, c00d, 0, 143)
+ m1a2(Local1, c00d, 0, 0, c00d, 0, 144)
+
+ Store(p914, Local7)
+ Store(Index(Local7, 0, Local1), Local0)
+ m1a2(Local0, c00d, 0, 0, c00d, 0, 145)
+ m1a2(Local1, c00d, 0, 0, c00d, 0, 146)
+
+ Store(p915, Local7)
+ Store(Index(Local7, 0, Local1), Local0)
+ m1a2(Local0, c016, 0, 0, c016, 0xb0, 147)
+ m1a2(Local1, c016, 0, 0, c016, 0xb0, 148)
+ }
+
+ // Elements of Package are NOT Computational Data
+
+ Store(p916, Local7)
+ Store(Index(Local7, 0, Local1), Local0)
+ m1a0(Local0, c00e, Ones, 149)
+ m1a0(Local1, c00e, Ones, 150)
+
+ Store(p917, Local7)
+ Store(Index(Local7, 0, Local1), Local0)
+ m1a0(Local0, c00f, Ones, 151)
+ m1a0(Local1, c00f, Ones, 152)
+
+ Store(p918, Local7)
+ Store(Index(Local7, 0, Local1), Local0)
+ m1a0(Local0, c011, Ones, 153)
+ m1a0(Local1, c011, Ones, 154)
+
+ Store(p919, Local7)
+ Store(Index(Local7, 0, Local1), Local0)
+ m1a0(Local0, c012, Ones, 155)
+ m1a0(Local1, c012, Ones, 156)
+
+ Store(p91a, Local7)
+ Store(Index(Local7, 0, Local1), Local0)
+ m1a0(Local0, c013, Ones, 157)
+ m1a0(Local1, c013, Ones, 158)
+
+ Store(p91b, Local7)
+ Store(Index(Local7, 0, Local1), Local0)
+ m1a0(Local0, c014, Ones, 159)
+ m1a0(Local1, c014, Ones, 160)
+
+ Store(p91c, Local7)
+ Store(Index(Local7, 0, Local1), Local0)
+ m1a0(Local0, c015, Ones, 161)
+ m1a0(Local1, c015, Ones, 162)
+
+ // Elements of Package are Methods
+
+ if (y105) {
+
+ Store(p91d, Local7)
+ Store(Index(Local7, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 163)
+ m1a0(Local1, c010, Ones, 164)
+
+ Store(p91e, Local7)
+ Store(Index(Local7, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 165)
+ m1a0(Local1, c010, Ones, 166)
+
+ Store(p91f, Local7)
+ Store(Index(Local7, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 167)
+ m1a0(Local1, c010, Ones, 168)
+
+ Store(p920, Local7)
+ Store(Index(Local7, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 169)
+ m1a0(Local1, c010, Ones, 170)
+
+ Store(p921, Local7)
+ Store(Index(Local7, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 171)
+ m1a0(Local1, c010, Ones, 172)
+
+ Store(p922, Local7)
+ Store(Index(Local7, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 173)
+ m1a0(Local1, c010, Ones, 174)
+
+ Store(p923, Local7)
+ Store(Index(Local7, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 175)
+ m1a0(Local1, c010, Ones, 176)
+
+ Store(p924, Local7)
+ Store(Index(Local7, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 177)
+ m1a0(Local1, c010, Ones, 178)
+
+ Store(p925, Local7)
+ Store(Index(Local7, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 179)
+ m1a0(Local1, c010, Ones, 180)
+
+ Store(p926, Local7)
+ Store(Index(Local7, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 181)
+ m1a0(Local1, c010, Ones, 182)
+
+ Store(p927, Local7)
+ Store(Index(Local7, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 183)
+ m1a0(Local1, c010, Ones, 184)
+
+ Store(p928, Local7)
+ Store(Index(Local7, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 185)
+ m1a0(Local1, c010, Ones, 186)
+
+ Store(p929, Local7)
+ Store(Index(Local7, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 187)
+ m1a0(Local1, c010, Ones, 188)
+
+ Store(p92a, Local7)
+ Store(Index(Local7, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 189)
+ m1a0(Local1, c010, Ones, 190)
+
+ Store(p92b, Local7)
+ Store(Index(Local7, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 191)
+ m1a0(Local1, c010, Ones, 192)
+
+ Store(p92c, Local7)
+ Store(Index(Local7, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 193)
+ m1a0(Local1, c010, Ones, 194)
+
+ Store(p92d, Local7)
+ Store(Index(Local7, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 195)
+ m1a0(Local1, c010, Ones, 196)
+
+ Store(p92e, Local7)
+ Store(Index(Local7, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 197)
+ m1a0(Local1, c010, Ones, 198)
+
+ Store(p92f, Local7)
+ Store(Index(Local7, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 199)
+ m1a0(Local1, c010, Ones, 200)
+
+ Store(p930, Local7)
+ Store(Index(Local7, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 201)
+ m1a0(Local1, c010, Ones, 202)
+
+ Store(p931, Local7)
+ Store(Index(Local7, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 203)
+ m1a0(Local1, c010, Ones, 204)
+
+ Store(p932, Local7)
+ Store(Index(Local7, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 205)
+ m1a0(Local1, c010, Ones, 206)
+
+ Store(p933, Local7)
+ Store(Index(Local7, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 207)
+ m1a0(Local1, c010, Ones, 208)
+
+ Store(p934, Local7)
+ Store(Index(Local7, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 209)
+ m1a0(Local1, c010, Ones, 210)
+
+ if (y103) {
+ Store(p935, Local7)
+ Store(Index(Local7, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 211)
+ m1a0(Local1, c010, Ones, 212)
+ }
+
+ Store(p936, Local7)
+ Store(Index(Local7, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 213)
+ m1a0(Local1, c010, Ones, 214)
+
+ Store(p937, Local7)
+ Store(Index(Local7, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 215)
+ m1a0(Local1, c010, Ones, 216)
+
+ Store(p938, Local7)
+ Store(Index(Local7, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 217)
+ m1a0(Local1, c010, Ones, 218)
+
+ Store(p939, Local7)
+ Store(Index(Local7, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 219)
+ m1a0(Local1, c010, Ones, 220)
+
+ Store(p93a, Local7)
+ Store(Index(Local7, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 221)
+ m1a0(Local1, c010, Ones, 222)
+
+ Store(p93b, Local7)
+ Store(Index(Local7, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 223)
+ m1a0(Local1, c010, Ones, 224)
+
+ Store(p93c, Local7)
+ Store(Index(Local7, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 225)
+ m1a0(Local1, c010, Ones, 226)
+
+ Store(p93d, Local7)
+ Store(Index(Local7, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 227)
+ m1a0(Local1, c010, Ones, 228)
+
+ Store(p93e, Local7)
+ Store(Index(Local7, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 229)
+ m1a0(Local1, c010, Ones, 230)
+
+ Store(p93f, Local7)
+ Store(Index(Local7, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 231)
+ m1a0(Local1, c010, Ones, 232)
+
+ Store(p940, Local7)
+ Store(Index(Local7, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 233)
+ m1a0(Local1, c010, Ones, 234)
+
+ Store(p941, Local7)
+ Store(Index(Local7, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 235)
+ m1a0(Local1, c010, Ones, 236)
+
+ Store(p942, Local7)
+ Store(Index(Local7, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 237)
+ m1a0(Local1, c010, Ones, 238)
+
+ Store(p943, Local7)
+ Store(Index(Local7, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 239)
+ m1a0(Local1, c010, Ones, 240)
+
+ Store(p944, Local7)
+ Store(Index(Local7, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 241)
+ m1a0(Local1, c010, Ones, 242)
+
+ Store(p945, Local7)
+ Store(Index(Local7, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 243)
+ m1a0(Local1, c010, Ones, 244)
+
+ Store(p946, Local7)
+ Store(Index(Local7, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 245)
+ m1a0(Local1, c010, Ones, 246)
+
+ Store(p947, Local7)
+ Store(Index(Local7, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 247)
+ m1a0(Local1, c010, Ones, 248)
+
+ Store(p948, Local7)
+ Store(Index(Local7, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 249)
+ m1a0(Local1, c010, Ones, 250)
+
+ Store(p949, Local7)
+ Store(Index(Local7, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 251)
+ m1a0(Local1, c010, Ones, 252)
+
+ Store(p94a, Local7)
+ Store(Index(Local7, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 253)
+ m1a0(Local1, c010, Ones, 254)
+
+ Store(p94b, Local7)
+ Store(Index(Local7, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 255)
+ m1a0(Local1, c010, Ones, 256)
+
+ Store(p94c, Local7)
+ Store(Index(Local7, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 257)
+ m1a0(Local1, c010, Ones, 258)
+
+ Store(p94d, Local7)
+ Store(Index(Local7, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 259)
+ m1a0(Local1, c010, Ones, 260)
+
+ Store(p94e, Local7)
+ Store(Index(Local7, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 261)
+ m1a0(Local1, c010, Ones, 262)
+
+ Store(p94f, Local7)
+ Store(Index(Local7, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 263)
+ m1a0(Local1, c010, Ones, 264)
+
+ Store(p950, Local7)
+ Store(Index(Local7, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 265)
+ m1a0(Local1, c010, Ones, 266)
+
+ Store(p951, Local7)
+ Store(Index(Local7, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 267)
+ m1a0(Local1, c010, Ones, 268)
+
+ Store(p952, Local7)
+ Store(Index(Local7, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 269)
+ m1a0(Local1, c010, Ones, 270)
+ }
+
+ m1a6()
+}
+
+// m16a,m191
+// arg1 - writing mode
+Method(m171, 2)
+{
+ if (y100) {
+ ts00("m171")
+ } else {
+ Store("m171", Debug)
+ }
+
+ // T5:R0-R5,R14
+
+ // Uninitialized Local
+
+ if (Arg0) {
+ Store(0, Local7)
+ }
+ Store(RefOf(Local7), Local0)
+ m1a0(Local0, c008, Ones, 1000)
+
+ // Computational Data
+
+ Store(i900, Local7)
+ Store(RefOf(Local7), Local0)
+ m1a2(Local0, c009, 0, 0, c009, 0xfe7cb391d65a0000, 271)
+
+ Store(i901, Local7)
+ Store(RefOf(Local7), Local0)
+ m1a2(Local0, c009, 0, 0, c009, 0xc1790001, 272)
+
+ Store(s900, Local7)
+ Store(RefOf(Local7), Local0)
+ m1a2(Local0, c00a, 0, 0, c00a, "12340002", 273)
+
+ Store(s901, Local7)
+ Store(RefOf(Local7), Local0)
+ m1a2(Local0, c00a, 0, 0, c00a, "qwrtyu0003", 274)
+
+ Store(b900, Local7)
+ Store(RefOf(Local7), Local0)
+ m1a2(Local0, c00b, 0, 0, c00b, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4}, 275)
+
+ // Not Computational Data
+
+ // Package
+
+ Store(p953, Local7)
+ Store(RefOf(Local7), Local0)
+ m1a2(Local0, c00c, 1, 0, c009, 0xabcd0018, 1007)
+
+ if (arg1) {
+
+ // Data are unchanged, because writings were made
+ // into the new objects assosiated with Local7.
+
+ m1a6()
+ return
+ }
+
+ // Computational Data (Field Unit and Buffer Field)
+
+ Store(f900, Local7)
+ Store(RefOf(Local7), Local0)
+ m1a2(Local0, c009, 0, 0, c009, 0, 276)
+
+ Store(bn90, Local7)
+ Store(RefOf(Local7), Local0)
+ m1a2(Local0, c009, 0, 0, c009, 0, 277)
+
+ Store(if90, Local7)
+ Store(RefOf(Local7), Local0)
+ m1a2(Local0, c009, 0, 0, c009, 0, 278)
+
+ Store(bf90, Local7)
+ Store(RefOf(Local7), Local0)
+ m1a2(Local0, c009, 0, 0, c009, 0xb0, 279)
+
+ // Elements of Package are Uninitialized
+
+ Store(p900, Local7)
+ Store(RefOf(Local7), Local0)
+ m1a0(Local0, c00c, Ones, 287)
+
+ // Elements of Package are Computational Data
+
+ Store(p901, Local7)
+ Store(RefOf(Local7), Local0)
+ m1a2(Local0, c00c, 1, 0, c009, 0xabcd0004, 288)
+ m1a2(Local0, c00c, 1, 1, c009, 0x1122334455660005, 289)
+
+ Store(p902, Local7)
+ Store(RefOf(Local7), Local0)
+ m1a2(Local0, c00c, 1, 0, c00a, "12340006", 290)
+ m1a2(Local0, c00c, 1, 1, c00a, "q1w2e3r4t5y6u7i80007", 291)
+
+ Store(p903, Local7)
+ Store(RefOf(Local7), Local0)
+ m1a2(Local0, c00c, 1, 0, c00a, "qwrtyuiop0008", 292)
+ m1a2(Local0, c00c, 1, 1, c00a, "1234567890abdef0250009", 293)
+
+ Store(p904, Local7)
+ Store(RefOf(Local7), Local0)
+ m1a2(Local0, c00c, 1, 0, c00b, Buffer() {0xb5,0xb6,0xb7}, 294)
+
+ Store(p905, Local7)
+ Store(RefOf(Local7), Local0)
+ m1a2(Local0, c00c, 2, 0, c009, 0xabc000a, 295)
+ m1a2(Local0, c00c, 2, 1, c00a, "0xabc000b", 296)
+
+ Store(p906, Local7)
+ Store(RefOf(Local7), Local0)
+ m1a2(Local0, c00c, 2, 0, c00a, "abc000d", 297)
+
+ Store(p907, Local7)
+ Store(RefOf(Local7), Local0)
+ m1a2(Local0, c00c, 2, 0, c00a, "aqwevbgnm000e", 298)
+
+ Store(p908, Local7)
+ Store(RefOf(Local7), Local0)
+ m1a2(Local0, c00c, 2, 0, c00b, Buffer() {0xba,0xbb,0xbc,0xbd,0xbe}, 299)
+
+ Store(p909, Local7)
+ Store(RefOf(Local7), Local0)
+ m1a2(Local0, c00c, 3, 0, c009, 0xabc000f, 300)
+
+ Store(p90a, Local7)
+ Store(RefOf(Local7), Local0)
+ m1a2(Local0, c00c, 3, 0, c00a, "12340010", 301)
+
+ Store(p90b, Local7)
+ Store(RefOf(Local7), Local0)
+ m1a2(Local0, c00c, 3, 0, c00a, "zxswefas0011", 302)
+
+ Store(p90c, Local7)
+ Store(RefOf(Local7), Local0)
+ m1a2(Local0, c00c, 3, 0, c00b, Buffer() {0xbf,0xc0,0xc1}, 303)
+
+ Store(p90d, Local7)
+ Store(RefOf(Local7), Local0)
+ m1a2(Local0, c00c, 1, 0, c009, 0xfe7cb391d65a0000, 304)
+
+ Store(p90e, Local7)
+ Store(RefOf(Local7), Local0)
+ m1a2(Local0, c00c, 1, 0, c009, 0xc1790001, 305)
+
+ Store(p90f, Local7)
+ Store(RefOf(Local7), Local0)
+ m1a2(Local0, c00c, 1, 0, c00a, "12340002", 306)
+
+ Store(p910, Local7)
+ Store(RefOf(Local7), Local0)
+ m1a2(Local0, c00c, 1, 0, c00a, "qwrtyu0003", 307)
+
+ Store(p911, Local7)
+ Store(RefOf(Local7), Local0)
+ m1a2(Local0, c00c, 1, 0, c00b, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4}, 308)
+
+ if (y118) {
+ Store(p912, Local7)
+ Store(RefOf(Local7), Local0)
+ m1a2(Local0, c00c, 1, 0, c00d, 0, 309)
+
+ Store(p913, Local7)
+ Store(RefOf(Local7), Local0)
+ m1a2(Local0, c00c, 1, 0, c00d, 0, 310)
+
+ Store(p914, Local7)
+ Store(RefOf(Local7), Local0)
+ m1a2(Local0, c00c, 1, 0, c00d, 0, 311)
+
+ Store(p915, Local7)
+ Store(RefOf(Local7), Local0)
+ m1a2(Local0, c00c, 1, 0, c016, 0xb0, 312)
+ }
+
+ // Elements of Package are NOT Computational Data
+
+ Store(p916, Local7)
+ Store(RefOf(Local7), Local0)
+ m1a0(Local0, c00c, Ones, 313)
+
+ Store(p917, Local7)
+ Store(RefOf(Local7), Local0)
+ m1a0(Local0, c00c, Ones, 314)
+
+ Store(p918, Local7)
+ Store(RefOf(Local7), Local0)
+ m1a0(Local0, c00c, Ones, 315)
+
+ Store(p919, Local7)
+ Store(RefOf(Local7), Local0)
+ m1a0(Local0, c00c, Ones, 316)
+
+ Store(p91a, Local7)
+ Store(RefOf(Local7), Local0)
+ m1a0(Local0, c00c, Ones, 317)
+
+ Store(p91b, Local7)
+ Store(RefOf(Local7), Local0)
+ m1a0(Local0, c00c, Ones, 318)
+
+ Store(p91c, Local7)
+ Store(RefOf(Local7), Local0)
+ m1a0(Local0, c00c, Ones, 319)
+
+ // Elements of Package are Methods
+
+ Store(p91d, Local7)
+ Store(RefOf(Local7), Local0)
+ m1a0(Local0, c00c, Ones, 320)
+
+ Store(p91e, Local7)
+ Store(RefOf(Local7), Local0)
+ m1a0(Local0, c00c, Ones, 321)
+
+ Store(p91f, Local7)
+ Store(RefOf(Local7), Local0)
+ m1a0(Local0, c00c, Ones, 322)
+
+ Store(p920, Local7)
+ Store(RefOf(Local7), Local0)
+ m1a0(Local0, c00c, Ones, 323)
+
+ Store(p921, Local7)
+ Store(RefOf(Local7), Local0)
+ m1a0(Local0, c00c, Ones, 324)
+
+ Store(p922, Local7)
+ Store(RefOf(Local7), Local0)
+ m1a0(Local0, c00c, Ones, 325)
+
+ Store(p923, Local7)
+ Store(RefOf(Local7), Local0)
+ m1a0(Local0, c00c, Ones, 326)
+
+ Store(p924, Local7)
+ Store(RefOf(Local7), Local0)
+ m1a0(Local0, c00c, Ones, 327)
+
+ Store(p925, Local7)
+ Store(RefOf(Local7), Local0)
+ m1a0(Local0, c00c, Ones, 328)
+
+ Store(p926, Local7)
+ Store(RefOf(Local7), Local0)
+ m1a0(Local0, c00c, Ones, 329)
+
+ Store(p927, Local7)
+ Store(RefOf(Local7), Local0)
+ m1a0(Local0, c00c, Ones, 330)
+
+ Store(p928, Local7)
+ Store(RefOf(Local7), Local0)
+ m1a0(Local0, c00c, Ones, 331)
+
+ Store(p929, Local7)
+ Store(RefOf(Local7), Local0)
+ m1a0(Local0, c00c, Ones, 332)
+
+ Store(p92a, Local7)
+ Store(RefOf(Local7), Local0)
+ m1a0(Local0, c00c, Ones, 333)
+
+ Store(p92b, Local7)
+ Store(RefOf(Local7), Local0)
+ m1a0(Local0, c00c, Ones, 334)
+
+ Store(p92c, Local7)
+ Store(RefOf(Local7), Local0)
+ m1a0(Local0, c00c, Ones, 335)
+
+ Store(p92d, Local7)
+ Store(RefOf(Local7), Local0)
+ m1a0(Local0, c00c, Ones, 336)
+
+ Store(p92e, Local7)
+ Store(RefOf(Local7), Local0)
+ m1a0(Local0, c00c, Ones, 337)
+
+ Store(p92f, Local7)
+ Store(RefOf(Local7), Local0)
+ m1a0(Local0, c00c, Ones, 338)
+
+ Store(p930, Local7)
+ Store(RefOf(Local7), Local0)
+ m1a0(Local0, c00c, Ones, 339)
+
+ Store(p931, Local7)
+ Store(RefOf(Local7), Local0)
+ m1a0(Local0, c00c, Ones, 340)
+
+ Store(p932, Local7)
+ Store(RefOf(Local7), Local0)
+ m1a0(Local0, c00c, Ones, 341)
+
+ Store(p933, Local7)
+ Store(RefOf(Local7), Local0)
+ m1a0(Local0, c00c, Ones, 342)
+
+ Store(p934, Local7)
+ Store(RefOf(Local7), Local0)
+ m1a0(Local0, c00c, Ones, 343)
+
+ Store(p935, Local7)
+ Store(RefOf(Local7), Local0)
+ m1a0(Local0, c00c, Ones, 344)
+
+ Store(p936, Local7)
+ Store(RefOf(Local7), Local0)
+ m1a0(Local0, c00c, Ones, 345)
+
+ Store(p937, Local7)
+ Store(RefOf(Local7), Local0)
+ m1a0(Local0, c00c, Ones, 346)
+
+ Store(p938, Local7)
+ Store(RefOf(Local7), Local0)
+ m1a0(Local0, c00c, Ones, 347)
+
+ Store(p939, Local7)
+ Store(RefOf(Local7), Local0)
+ m1a0(Local0, c00c, Ones, 348)
+
+ Store(p93a, Local7)
+ Store(RefOf(Local7), Local0)
+ m1a0(Local0, c00c, Ones, 349)
+
+ Store(p93b, Local7)
+ Store(RefOf(Local7), Local0)
+ m1a0(Local0, c00c, Ones, 350)
+
+ Store(p93c, Local7)
+ Store(RefOf(Local7), Local0)
+ m1a0(Local0, c00c, Ones, 351)
+
+ Store(p93d, Local7)
+ Store(RefOf(Local7), Local0)
+ m1a0(Local0, c00c, Ones, 352)
+
+ Store(p93e, Local7)
+ Store(RefOf(Local7), Local0)
+ m1a0(Local0, c00c, Ones, 353)
+
+ Store(p93f, Local7)
+ Store(RefOf(Local7), Local0)
+ m1a0(Local0, c00c, Ones, 354)
+
+ Store(p940, Local7)
+ Store(RefOf(Local7), Local0)
+ m1a0(Local0, c00c, Ones, 355)
+
+ Store(p941, Local7)
+ Store(RefOf(Local7), Local0)
+ m1a0(Local0, c00c, Ones, 356)
+
+ Store(p942, Local7)
+ Store(RefOf(Local7), Local0)
+ m1a0(Local0, c00c, Ones, 357)
+
+ Store(p943, Local7)
+ Store(RefOf(Local7), Local0)
+ m1a0(Local0, c00c, Ones, 358)
+
+ Store(p944, Local7)
+ Store(RefOf(Local7), Local0)
+ m1a0(Local0, c00c, Ones, 359)
+
+ Store(p945, Local7)
+ Store(RefOf(Local7), Local0)
+ m1a0(Local0, c00c, Ones, 360)
+
+ Store(p946, Local7)
+ Store(RefOf(Local7), Local0)
+ m1a0(Local0, c00c, Ones, 361)
+
+ Store(p947, Local7)
+ Store(RefOf(Local7), Local0)
+ m1a0(Local0, c00c, Ones, 362)
+
+ Store(p948, Local7)
+ Store(RefOf(Local7), Local0)
+ m1a0(Local0, c00c, Ones, 363)
+
+ Store(p949, Local7)
+ Store(RefOf(Local7), Local0)
+ m1a0(Local0, c00c, Ones, 364)
+
+ Store(p94a, Local7)
+ Store(RefOf(Local7), Local0)
+ m1a0(Local0, c00c, Ones, 365)
+
+ Store(p94b, Local7)
+ Store(RefOf(Local7), Local0)
+ m1a0(Local0, c00c, Ones, 366)
+
+ Store(p94c, Local7)
+ Store(RefOf(Local7), Local0)
+ m1a0(Local0, c00c, Ones, 367)
+
+ Store(p94d, Local7)
+ Store(RefOf(Local7), Local0)
+ m1a0(Local0, c00c, Ones, 368)
+
+ Store(p94e, Local7)
+ Store(RefOf(Local7), Local0)
+ m1a0(Local0, c00c, Ones, 369)
+
+ Store(p94f, Local7)
+ Store(RefOf(Local7), Local0)
+ m1a0(Local0, c00c, Ones, 370)
+
+ Store(p950, Local7)
+ Store(RefOf(Local7), Local0)
+ m1a0(Local0, c00c, Ones, 371)
+
+ Store(p951, Local7)
+ Store(RefOf(Local7), Local0)
+ m1a0(Local0, c00c, Ones, 372)
+
+ Store(p952, Local7)
+ Store(RefOf(Local7), Local0)
+ m1a0(Local0, c00c, Ones, 373)
+
+ m1a6()
+
+ return
+}
+
+// m16c,m193
+// arg1 - writing mode
+Method(m172, 2)
+{
+ if (y100) {
+ ts00("m172")
+ } else {
+ Store("m172", Debug)
+ }
+
+ // T5:CR0-CR5,CR14
+
+ // Uninitialized Local
+
+ if (Arg0) {
+ Store(0, Local7)
+ }
+ Store(CondRefOf(Local7, Local0), Local1)
+ if (m1a4(Local1, 589)) {
+ m1a0(Local0, c008, Ones, 590)
+ }
+
+ // Computational Data
+
+ Store(i900, Local7)
+ Store(CondRefOf(Local7, Local0), Local1)
+ if (m1a4(Local1, 591)) {
+ m1a2(Local0, c009, 0, 0, c009, 0xfe7cb391d65a0000, 592)
+ }
+
+ Store(i901, Local7)
+ Store(CondRefOf(Local7, Local0), Local1)
+ if (m1a4(Local1, 593)) {
+ m1a2(Local0, c009, 0, 0, c009, 0xc1790001, 594)
+ }
+
+ Store(s900, Local7)
+ Store(CondRefOf(Local7, Local0), Local1)
+ if (m1a4(Local1, 595)) {
+ m1a2(Local0, c00a, 0, 0, c00a, "12340002", 596)
+ }
+
+ Store(s901, Local7)
+ Store(CondRefOf(Local7, Local0), Local1)
+ if (m1a4(Local1, 597)) {
+ m1a2(Local0, c00a, 0, 0, c00a, "qwrtyu0003", 598)
+ }
+
+ Store(b900, Local7)
+ Store(CondRefOf(Local7, Local0), Local1)
+ if (m1a4(Local1, 599)) {
+ m1a2(Local0, c00b, 0, 0, c00b, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4}, 600)
+ }
+
+ // Not Computational Data
+
+ // Package
+
+ Store(p953, Local7)
+ Store(CondRefOf(Local7, Local0), Local1)
+ if (m1a4(Local1, 1010)) {
+ m1a2(Local0, c00c, 1, 0, c009, 0xabcd0018, 1011)
+ }
+
+ if (arg1) {
+
+ // Data are unchanged, because writings were made
+ // into the new objects assosiated with Local7.
+
+ m1a6()
+ return
+ }
+
+ // Computational Data (Field Unit and Buffer Field)
+
+ Store(f900, Local7)
+ Store(CondRefOf(Local7, Local0), Local1)
+ if (m1a4(Local1, 601)) {
+ m1a2(Local0, c009, 0, 0, c009, 0, 602)
+ }
+
+ Store(bn90, Local7)
+ Store(CondRefOf(Local7, Local0), Local1)
+ if (m1a4(Local1, 603)) {
+ m1a2(Local0, c009, 0, 0, c009, 0, 604)
+ }
+
+ Store(if90, Local7)
+ Store(CondRefOf(Local7, Local0), Local1)
+ if (m1a4(Local1, 605)) {
+ m1a2(Local0, c009, 0, 0, c009, 0, 606)
+ }
+
+ Store(bf90, Local7)
+ Store(CondRefOf(Local7, Local0), Local1)
+ if (m1a4(Local1, 607)) {
+ m1a2(Local0, c009, 0, 0, c009, 0xb0, 608)
+ }
+
+ // Elements of Package are Uninitialized
+
+ Store(p900, Local7)
+ Store(CondRefOf(Local7, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 616)
+
+ // Elements of Package are Computational Data
+
+ Store(p901, Local7)
+ Store(CondRefOf(Local7, Local0), Local1)
+ if (m1a4(Local1, 617)) {
+ m1a2(Local0, c00c, 1, 0, c009, 0xabcd0004, 618)
+ m1a2(Local0, c00c, 1, 1, c009, 0x1122334455660005, 619)
+ }
+
+ Store(p902, Local7)
+ Store(CondRefOf(Local7, Local0), Local1)
+ if (m1a4(Local1, 620)) {
+ m1a2(Local0, c00c, 1, 0, c00a, "12340006", 621)
+ m1a2(Local0, c00c, 1, 1, c00a, "q1w2e3r4t5y6u7i80007", 622)
+ }
+
+ Store(p903, Local7)
+ Store(CondRefOf(Local7, Local0), Local1)
+ if (m1a4(Local1, 623)) {
+ m1a2(Local0, c00c, 1, 0, c00a, "qwrtyuiop0008", 624)
+ m1a2(Local0, c00c, 1, 1, c00a, "1234567890abdef0250009", 625)
+ }
+
+ Store(p904, Local7)
+ Store(CondRefOf(Local7, Local0), Local1)
+ if (m1a4(Local1, 626)) {
+ m1a2(Local0, c00c, 1, 0, c00b, Buffer() {0xb5,0xb6,0xb7}, 627)
+ }
+
+ Store(p905, Local7)
+ Store(CondRefOf(Local7, Local0), Local1)
+ if (m1a4(Local1, 628)) {
+ m1a2(Local0, c00c, 2, 0, c009, 0xabc000a, 629)
+ m1a2(Local0, c00c, 2, 1, c00a, "0xabc000b", 630)
+ }
+
+ Store(p906, Local7)
+ Store(CondRefOf(Local7, Local0), Local1)
+ if (m1a4(Local1, 631)) {
+ m1a2(Local0, c00c, 2, 0, c00a, "abc000d", 632)
+ }
+
+ Store(p907, Local7)
+ Store(CondRefOf(Local7, Local0), Local1)
+ if (m1a4(Local1, 633)) {
+ m1a2(Local0, c00c, 2, 0, c00a, "aqwevbgnm000e", 634)
+ }
+
+ Store(p908, Local7)
+ Store(CondRefOf(Local7, Local0), Local1)
+ if (m1a4(Local1, 635)) {
+ m1a2(Local0, c00c, 2, 0, c00b, Buffer() {0xba,0xbb,0xbc,0xbd,0xbe}, 636)
+ }
+
+ Store(p909, Local7)
+ Store(CondRefOf(Local7, Local0), Local1)
+ if (m1a4(Local1, 637)) {
+ m1a2(Local0, c00c, 3, 0, c009, 0xabc000f, 638)
+ }
+
+ Store(p90a, Local7)
+ Store(CondRefOf(Local7, Local0), Local1)
+ if (m1a4(Local1, 639)) {
+ m1a2(Local0, c00c, 3, 0, c00a, "12340010", 640)
+ }
+
+ Store(p90b, Local7)
+ Store(CondRefOf(Local7, Local0), Local1)
+ if (m1a4(Local1, 641)) {
+ m1a2(Local0, c00c, 3, 0, c00a, "zxswefas0011", 642)
+ }
+
+ Store(p90c, Local7)
+ Store(CondRefOf(Local7, Local0), Local1)
+ if (m1a4(Local1, 643)) {
+ m1a2(Local0, c00c, 3, 0, c00b, Buffer() {0xbf,0xc0,0xc1}, 644)
+ }
+
+ Store(p90d, Local7)
+ Store(CondRefOf(Local7, Local0), Local1)
+ if (m1a4(Local1, 645)) {
+ m1a2(Local0, c00c, 1, 0, c009, 0xfe7cb391d65a0000, 646)
+ }
+
+ Store(p90e, Local7)
+ Store(CondRefOf(Local7, Local0), Local1)
+ if (m1a4(Local1, 647)) {
+ m1a2(Local0, c00c, 1, 0, c009, 0xc1790001, 648)
+ }
+
+ Store(p90f, Local7)
+ Store(CondRefOf(Local7, Local0), Local1)
+ if (m1a4(Local1, 649)) {
+ m1a2(Local0, c00c, 1, 0, c00a, "12340002", 650)
+ }
+
+ Store(p910, Local7)
+ Store(CondRefOf(Local7, Local0), Local1)
+ if (m1a4(Local1, 651)) {
+ m1a2(Local0, c00c, 1, 0, c00a, "qwrtyu0003", 652)
+ }
+
+ Store(p911, Local7)
+ Store(CondRefOf(Local7, Local0), Local1)
+ if (m1a4(Local1, 653)) {
+ m1a2(Local0, c00c, 1, 0, c00b, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4}, 654)
+ }
+
+ if (y118) {
+ Store(p912, Local7)
+ Store(CondRefOf(Local7, Local0), Local1)
+ if (m1a4(Local1, 655)) {
+ m1a2(Local0, c00c, 1, 0, c00d, 0, 656)
+ }
+
+ Store(p913, Local7)
+ Store(CondRefOf(Local7, Local0), Local1)
+ if (m1a4(Local1, 657)) {
+ m1a2(Local0, c00c, 1, 0, c00d, 0, 658)
+ }
+
+ Store(p914, Local7)
+ Store(CondRefOf(Local7, Local0), Local1)
+ if (m1a4(Local1, 659)) {
+ m1a2(Local0, c00c, 1, 0, c00d, 0, 660)
+ }
+
+ Store(p915, Local7)
+ Store(CondRefOf(Local7, Local0), Local1)
+ if (m1a4(Local1, 661)) {
+ m1a2(Local0, c00c, 1, 0, c016, 0xb0, 662)
+ }
+ }
+
+ // Elements of Package are NOT Computational Data
+
+ Store(p916, Local7)
+ Store(CondRefOf(Local7, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 663)
+
+ Store(p917, Local7)
+ Store(CondRefOf(Local7, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 664)
+
+ Store(p918, Local7)
+ Store(CondRefOf(Local7, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 6655)
+
+ Store(p919, Local7)
+ Store(CondRefOf(Local7, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 666)
+
+ Store(p91a, Local7)
+ Store(CondRefOf(Local7, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 667)
+
+ Store(p91b, Local7)
+ Store(CondRefOf(Local7, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 668)
+
+ Store(p91c, Local7)
+ Store(CondRefOf(Local7, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 669)
+
+ // Elements of Package are Methods
+
+ Store(p91d, Local7)
+ Store(CondRefOf(Local7, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 670)
+
+ Store(p91e, Local7)
+ Store(CondRefOf(Local7, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 671)
+
+ Store(p91f, Local7)
+ Store(CondRefOf(Local7, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 672)
+
+ Store(p920, Local7)
+ Store(CondRefOf(Local7, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 673)
+
+ Store(p921, Local7)
+ Store(CondRefOf(Local7, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 674)
+
+ Store(p922, Local7)
+ Store(CondRefOf(Local7, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 675)
+
+ Store(p923, Local7)
+ Store(CondRefOf(Local7, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 676)
+
+ Store(p924, Local7)
+ Store(CondRefOf(Local7, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 677)
+
+ Store(p925, Local7)
+ Store(CondRefOf(Local7, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 678)
+
+ Store(p926, Local7)
+ Store(CondRefOf(Local7, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 679)
+
+ Store(p927, Local7)
+ Store(CondRefOf(Local7, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 680)
+
+ Store(p928, Local7)
+ Store(CondRefOf(Local7, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 681)
+
+ Store(p929, Local7)
+ Store(CondRefOf(Local7, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 682)
+
+ Store(p92a, Local7)
+ Store(CondRefOf(Local7, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 683)
+
+ Store(p92b, Local7)
+ Store(CondRefOf(Local7, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 684)
+
+ Store(p92c, Local7)
+ Store(CondRefOf(Local7, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 685)
+
+ Store(p92d, Local7)
+ Store(CondRefOf(Local7, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 686)
+
+ Store(p92e, Local7)
+ Store(CondRefOf(Local7, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 687)
+
+ Store(p92f, Local7)
+ Store(CondRefOf(Local7, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 688)
+
+ Store(p930, Local7)
+ Store(CondRefOf(Local7, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 689)
+
+ Store(p931, Local7)
+ Store(CondRefOf(Local7, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 690)
+
+ Store(p932, Local7)
+ Store(CondRefOf(Local7, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 691)
+
+ Store(p933, Local7)
+ Store(CondRefOf(Local7, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 692)
+
+ Store(p934, Local7)
+ Store(CondRefOf(Local7, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 693)
+
+ Store(p935, Local7)
+ Store(CondRefOf(Local7, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 694)
+
+ Store(p936, Local7)
+ Store(CondRefOf(Local7, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 695)
+
+ Store(p937, Local7)
+ Store(CondRefOf(Local7, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 696)
+
+ Store(p938, Local7)
+ Store(CondRefOf(Local7, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 697)
+
+ Store(p939, Local7)
+ Store(CondRefOf(Local7, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 698)
+
+ Store(p93a, Local7)
+ Store(CondRefOf(Local7, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 699)
+
+ Store(p93b, Local7)
+ Store(CondRefOf(Local7, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 700)
+
+ Store(p93c, Local7)
+ Store(CondRefOf(Local7, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 701)
+
+ Store(p93d, Local7)
+ Store(CondRefOf(Local7, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 702)
+
+ Store(p93e, Local7)
+ Store(CondRefOf(Local7, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 703)
+
+ Store(p93f, Local7)
+ Store(CondRefOf(Local7, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 704)
+
+ Store(p940, Local7)
+ Store(CondRefOf(Local7, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 705)
+
+ Store(p941, Local7)
+ Store(CondRefOf(Local7, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 706)
+
+ Store(p942, Local7)
+ Store(CondRefOf(Local7, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 707)
+
+ Store(p943, Local7)
+ Store(CondRefOf(Local7, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 708)
+
+ Store(p944, Local7)
+ Store(CondRefOf(Local7, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 709)
+
+ Store(p945, Local7)
+ Store(CondRefOf(Local7, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 710)
+
+ Store(p946, Local7)
+ Store(CondRefOf(Local7, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 711)
+
+ Store(p947, Local7)
+ Store(CondRefOf(Local7, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 712)
+
+ Store(p948, Local7)
+ Store(CondRefOf(Local7, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 713)
+
+ Store(p949, Local7)
+ Store(CondRefOf(Local7, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 714)
+
+ Store(p94a, Local7)
+ Store(CondRefOf(Local7, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 715)
+
+ Store(p94b, Local7)
+ Store(CondRefOf(Local7, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 716)
+
+ Store(p94c, Local7)
+ Store(CondRefOf(Local7, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 717)
+
+ Store(p94d, Local7)
+ Store(CondRefOf(Local7, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 718)
+
+ Store(p94e, Local7)
+ Store(CondRefOf(Local7, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 719)
+
+ Store(p94f, Local7)
+ Store(CondRefOf(Local7, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 720)
+
+ Store(p950, Local7)
+ Store(CondRefOf(Local7, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 721)
+
+ Store(p951, Local7)
+ Store(CondRefOf(Local7, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 722)
+
+ Store(p952, Local7)
+ Store(CondRefOf(Local7, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 723)
+
+ m1a6()
+
+ return
+}
+
+Method(m175, 3)
+{
+ Store(z078, c081) // absolute index of file initiating the checking
+ Store(1, c089) // flag of Reference, object otherwise
+
+ if (arg0) {
+ m170()
+ }
+ if (arg1) {
+ m171(0, c083)
+ }
+ if (arg2) {
+ m172(0, c083)
+ }
+}
+
+// The mode with the chain of references to LocalX
+Method(m176)
+{
+ Store(1, c084) // run verification of references (reading)
+ Store(1, c085) // create the chain of references to LocalX, then dereference them
+
+ Store("The mode with the chain of references to LocalX:", Debug)
+
+ m175(1, 1, 1)
+}
+
+// Run-method
+Method(REF2)
+{
+ Store("TEST: REF2, References", Debug)
+
+ Store("REF2", c080) // name of test
+ Store(0, c082) // flag of test of exceptions
+ Store(0, c083) // run verification of references (write/read)
+ Store(0, c086) // flag, run test till the first error
+ Store(1, c087) // apply DeRefOf to ArgX-ObjectReference
+
+ m176()
+}
diff --git a/tests/aslts/src/runtime/collections/functional/reference/ref03.asl b/tests/aslts/src/runtime/collections/functional/reference/ref03.asl
new file mode 100644
index 000000000..a9efc1a3f
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/reference/ref03.asl
@@ -0,0 +1,1872 @@
+/*
+ * 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.
+ */
+
+/*
+ * References
+ *
+ * TABLE 6: all the legal ways to generate references to ArgX
+ *
+ * Producing Reference operators:
+ *
+ * Index, RefOf, CondRefOf
+ */
+
+Name(z079, 79)
+
+// ///////////////////////////////////////////////////////////////////////////
+//
+// TABLE 6: all the legal ways to generate references to ArgX
+//
+// ///////////////////////////////////////////////////////////////////////////
+
+// m169,m190,m170
+Method(m180, 2)
+{
+ if (y100) {
+ ts00("m180")
+ } else {
+ Store("m180", Debug)
+ }
+
+ // T6:I2-I4
+
+ // Computational Data
+
+ Store(s900, arg1)
+ Store(Index(arg1, 0), Local0)
+ m1a2(Local0, c016, 0, 0, c009, 0x31, 1)
+
+ Store(s901, arg1)
+ Store(Index(arg1, 2), Local0)
+ m1a2(Local0, c016, 0, 0, c009, 0x72, 2)
+
+ Store(b900, arg1)
+ Store(Index(arg1, 3), Local0)
+ m1a2(Local0, c016, 0, 0, c009, 0xb3, 3)
+
+ // Elements of Package are Uninitialized
+
+ if (y104) {
+ Store(p900, arg1)
+ Store(Index(arg1, 0), Local0)
+ m1a0(Local0, c008, Ones, 4)
+ }
+
+ // Elements of Package are Computational Data
+
+ Store(p901, arg1)
+ Store(Index(arg1, 0), Local0)
+ m1a2(Local0, c009, 0, 0, c009, 0xabcd0004, 5)
+
+ Store(p901, arg1)
+ Store(Index(arg1, 1), Local0)
+ m1a2(Local0, c009, 0, 0, c009, 0x1122334455660005, 6)
+
+ Store(p902, arg1)
+ Store(Index(arg1, 0), Local0)
+ m1a2(Local0, c00a, 0, 0, c00a, "12340006", 7)
+
+ Store(p902, arg1)
+ Store(Index(arg1, 1), Local0)
+ m1a2(Local0, c00a, 0, 0, c00a, "q1w2e3r4t5y6u7i80007", 8)
+
+ Store(p903, arg1)
+ Store(Index(arg1, 0), Local0)
+ m1a2(Local0, c00a, 0, 0, c00a, "qwrtyuiop0008", 9)
+
+ Store(p903, arg1)
+ Store(Index(arg1, 1), Local0)
+ m1a2(Local0, c00a, 0, 0, c00a, "1234567890abdef0250009", 10)
+
+ Store(p904, arg1)
+ Store(Index(arg1, 0), Local0)
+ m1a2(Local0, c00b, 0, 0, c00b, Buffer() {0xb5,0xb6,0xb7}, 11)
+
+ Store(p905, arg1)
+ Store(Index(arg1, 0), Local0)
+ m1a2(Local0, c00c, 1, 0, c009, 0xabc000a, 12)
+
+ Store(p905, arg1)
+ Store(Index(arg1, 0), Local0)
+ m1a2(Local0, c00c, 1, 1, c00a, "0xabc000b", 13)
+
+ Store(p906, arg1)
+ Store(Index(arg1, 0), Local0)
+ m1a2(Local0, c00c, 1, 0, c00a, "abc000d", 14)
+
+ Store(p907, arg1)
+ Store(Index(arg1, 0), Local0)
+ m1a2(Local0, c00c, 1, 0, c00a, "aqwevbgnm000e", 15)
+
+ Store(p908, arg1)
+ Store(Index(arg1, 0), Local0)
+ m1a2(Local0, c00c, 1, 0, c00b, Buffer() {0xba,0xbb,0xbc,0xbd,0xbe}, 16)
+
+ Store(p909, arg1)
+ Store(Index(arg1, 0), Local0)
+ m1a2(Local0, c00c, 2, 0, c009, 0xabc000f, 17)
+
+ Store(p90a, arg1)
+ Store(Index(arg1, 0), Local0)
+ m1a2(Local0, c00c, 2, 0, c00a, "12340010", 18)
+
+ Store(p90b, arg1)
+ Store(Index(arg1, 0), Local0)
+ m1a2(Local0, c00c, 2, 0, c00a, "zxswefas0011", 19)
+
+ Store(p90c, arg1)
+ Store(Index(arg1, 0), Local0)
+ m1a2(Local0, c00c, 2, 0, c00b, Buffer() {0xbf,0xc0,0xc1}, 20)
+
+ Store(p90d, arg1)
+ Store(Index(arg1, 0), Local0)
+ m1a2(Local0, c009, 0, 0, c009, 0xfe7cb391d65a0000, 21)
+
+ Store(p90e, arg1)
+ Store(Index(arg1, 0), Local0)
+ m1a2(Local0, c009, 0, 0, c009, 0xc1790001, 22)
+
+ Store(p90f, arg1)
+ Store(Index(arg1, 0), Local0)
+ m1a2(Local0, c00a, 0, 0, c00a, "12340002", 23)
+
+ Store(p910, arg1)
+ Store(Index(arg1, 0), Local0)
+ m1a2(Local0, c00a, 0, 0, c00a, "qwrtyu0003", 24)
+
+ Store(p911, arg1)
+ Store(Index(arg1, 0), Local0)
+ m1a2(Local0, c00b, 0, 0, c00b, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4}, 25)
+
+ if (y118) {
+ Store(p912, arg1)
+ Store(Index(arg1, 0), Local0)
+ m1a2(Local0, c00d, 0, 0, c00d, 0, 26)
+
+ Store(p913, arg1)
+ Store(Index(arg1, 0), Local0)
+ m1a2(Local0, c00d, 0, 0, c00d, 0, 27)
+
+ Store(p914, arg1)
+ Store(Index(arg1, 0), Local0)
+ m1a2(Local0, c00d, 0, 0, c00d, 0, 28)
+
+ Store(p915, arg1)
+ Store(Index(arg1, 0), Local0)
+ m1a2(Local0, c016, 0, 0, c016, 0xb0, 29)
+ }
+
+ // Elements of Package are NOT Computational Data
+
+ Store(p916, arg1)
+ Store(Index(arg1, 0), Local0)
+ m1a0(Local0, c00e, Ones, 30)
+
+ Store(p917, arg1)
+ Store(Index(arg1, 0), Local0)
+ m1a0(Local0, c00f, Ones, 31)
+
+ Store(p918, arg1)
+ Store(Index(arg1, 0), Local0)
+ m1a0(Local0, c011, Ones, 32)
+
+ Store(p919, arg1)
+ Store(Index(arg1, 0), Local0)
+ m1a0(Local0, c012, Ones, 33)
+
+ Store(p91a, arg1)
+ Store(Index(arg1, 0), Local0)
+ m1a0(Local0, c013, Ones, 34)
+
+ Store(p91b, arg1)
+ Store(Index(arg1, 0), Local0)
+ m1a0(Local0, c014, Ones, 35)
+
+ Store(p91c, arg1)
+ Store(Index(arg1, 0), Local0)
+ m1a0(Local0, c015, Ones, 36)
+
+ // Elements of Package are Methods
+
+ if (y105) {
+
+ Store(p91d, arg1)
+ Store(Index(arg1, 0), Local0)
+ m1a0(Local0, c010, Ones, 37)
+
+ Store(p91e, arg1)
+ Store(Index(arg1, 0), Local0)
+ m1a0(Local0, c010, Ones, 38)
+
+ Store(p91f, arg1)
+ Store(Index(arg1, 0), Local0)
+ m1a0(Local0, c010, Ones, 39)
+
+ Store(p920, arg1)
+ Store(Index(arg1, 0), Local0)
+ m1a0(Local0, c010, Ones, 40)
+
+ Store(p921, arg1)
+ Store(Index(arg1, 0), Local0)
+ m1a0(Local0, c010, Ones, 41)
+
+ Store(p922, arg1)
+ Store(Index(arg1, 0), Local0)
+ m1a0(Local0, c010, Ones, 42)
+
+ Store(p923, arg1)
+ Store(Index(arg1, 0), Local0)
+ m1a0(Local0, c010, Ones, 43)
+
+ Store(p924, arg1)
+ Store(Index(arg1, 0), Local0)
+ m1a0(Local0, c010, Ones, 44)
+
+ Store(p925, arg1)
+ Store(Index(arg1, 0), Local0)
+ m1a0(Local0, c010, Ones, 45)
+
+ Store(p926, arg1)
+ Store(Index(arg1, 0), Local0)
+ m1a0(Local0, c010, Ones, 46)
+
+ Store(p927, arg1)
+ Store(Index(arg1, 0), Local0)
+ m1a0(Local0, c010, Ones, 47)
+
+ Store(p928, arg1)
+ Store(Index(arg1, 0), Local0)
+ m1a0(Local0, c010, Ones, 48)
+
+ Store(p929, arg1)
+ Store(Index(arg1, 0), Local0)
+ m1a0(Local0, c010, Ones, 49)
+
+ Store(p92a, arg1)
+ Store(Index(arg1, 0), Local0)
+ m1a0(Local0, c010, Ones, 50)
+
+ Store(p92b, arg1)
+ Store(Index(arg1, 0), Local0)
+ m1a0(Local0, c010, Ones, 51)
+
+ Store(p92c, arg1)
+ Store(Index(arg1, 0), Local0)
+ m1a0(Local0, c010, Ones, 52)
+
+ Store(p92d, arg1)
+ Store(Index(arg1, 0), Local0)
+ m1a0(Local0, c010, Ones, 53)
+
+ Store(p92e, arg1)
+ Store(Index(arg1, 0), Local0)
+ m1a0(Local0, c010, Ones, 54)
+
+ Store(p92f, arg1)
+ Store(Index(arg1, 0), Local0)
+ m1a0(Local0, c010, Ones, 55)
+
+ Store(p930, arg1)
+ Store(Index(arg1, 0), Local0)
+ m1a0(Local0, c010, Ones, 56)
+
+ Store(p931, arg1)
+ Store(Index(arg1, 0), Local0)
+ m1a0(Local0, c010, Ones, 57)
+
+ Store(p932, arg1)
+ Store(Index(arg1, 0), Local0)
+ m1a0(Local0, c010, Ones, 58)
+
+ Store(p933, arg1)
+ Store(Index(arg1, 0), Local0)
+ m1a0(Local0, c010, Ones, 59)
+
+ Store(p934, arg1)
+ Store(Index(arg1, 0), Local0)
+ m1a0(Local0, c010, Ones, 60)
+
+ if (y103) {
+ Store(p935, arg1)
+ Store(Index(arg1, 0), Local0)
+ m1a0(Local0, c010, Ones, 61)
+ }
+
+ Store(p936, arg1)
+ Store(Index(arg1, 0), Local0)
+ m1a0(Local0, c010, Ones, 62)
+
+ Store(p937, arg1)
+ Store(Index(arg1, 0), Local0)
+ m1a0(Local0, c010, Ones, 63)
+
+ Store(p938, arg1)
+ Store(Index(arg1, 0), Local0)
+ m1a0(Local0, c010, Ones, 64)
+
+ Store(p939, arg1)
+ Store(Index(arg1, 0), Local0)
+ m1a0(Local0, c010, Ones, 65)
+
+ Store(p93a, arg1)
+ Store(Index(arg1, 0), Local0)
+ m1a0(Local0, c010, Ones, 66)
+
+ Store(p93b, arg1)
+ Store(Index(arg1, 0), Local0)
+ m1a0(Local0, c010, Ones, 67)
+
+ Store(p93c, arg1)
+ Store(Index(arg1, 0), Local0)
+ m1a0(Local0, c010, Ones, 68)
+
+ Store(p93d, arg1)
+ Store(Index(arg1, 0), Local0)
+ m1a0(Local0, c010, Ones, 69)
+
+ Store(p93e, arg1)
+ Store(Index(arg1, 0), Local0)
+ m1a0(Local0, c010, Ones, 70)
+
+ Store(p93f, arg1)
+ Store(Index(arg1, 0), Local0)
+ m1a0(Local0, c010, Ones, 71)
+
+ Store(p940, arg1)
+ Store(Index(arg1, 0), Local0)
+ m1a0(Local0, c010, Ones, 72)
+
+ Store(p941, arg1)
+ Store(Index(arg1, 0), Local0)
+ m1a0(Local0, c010, Ones, 73)
+
+ Store(p942, arg1)
+ Store(Index(arg1, 0), Local0)
+ m1a0(Local0, c010, Ones, 74)
+
+ Store(p943, arg1)
+ Store(Index(arg1, 0), Local0)
+ m1a0(Local0, c010, Ones, 75)
+
+ Store(p944, arg1)
+ Store(Index(arg1, 0), Local0)
+ m1a0(Local0, c010, Ones, 76)
+
+ Store(p945, arg1)
+ Store(Index(arg1, 0), Local0)
+ m1a0(Local0, c010, Ones, 77)
+
+ Store(p946, arg1)
+ Store(Index(arg1, 0), Local0)
+ m1a0(Local0, c010, Ones, 78)
+
+ Store(p947, arg1)
+ Store(Index(arg1, 0), Local0)
+ m1a0(Local0, c010, Ones, 79)
+
+ Store(p948, arg1)
+ Store(Index(arg1, 0), Local0)
+ m1a0(Local0, c010, Ones, 80)
+
+ Store(p949, arg1)
+ Store(Index(arg1, 0), Local0)
+ m1a0(Local0, c010, Ones, 81)
+
+ Store(p94a, arg1)
+ Store(Index(arg1, 0), Local0)
+ m1a0(Local0, c010, Ones, 82)
+
+ Store(p94b, arg1)
+ Store(Index(arg1, 0), Local0)
+ m1a0(Local0, c010, Ones, 83)
+
+ Store(p94c, arg1)
+ Store(Index(arg1, 0), Local0)
+ m1a0(Local0, c010, Ones, 84)
+
+ Store(p94d, arg1)
+ Store(Index(arg1, 0), Local0)
+ m1a0(Local0, c010, Ones, 85)
+
+ Store(p94e, arg1)
+ Store(Index(arg1, 0), Local0)
+ m1a0(Local0, c010, Ones, 86)
+
+ Store(p94f, arg1)
+ Store(Index(arg1, 0), Local0)
+ m1a0(Local0, c010, Ones, 87)
+
+ Store(p950, arg1)
+ Store(Index(arg1, 0), Local0)
+ m1a0(Local0, c010, Ones, 88)
+
+ Store(p951, arg1)
+ Store(Index(arg1, 0), Local0)
+ m1a0(Local0, c010, Ones, 89)
+
+ Store(p952, arg1)
+ Store(Index(arg1, 0), Local0)
+ m1a0(Local0, c010, Ones, 90)
+ }
+
+ // T6:IR2-IR4
+
+ // Computational Data
+
+ Store(s900, arg1)
+ Store(Index(arg1, 0, Local1), Local0)
+ m1a2(Local0, c016, 0, 0, c009, 0x31, 91)
+ m1a2(Local1, c016, 0, 0, c009, 0x31, 92)
+
+ Store(s901, arg1)
+ Store(Index(arg1, 2, Local1), Local0)
+ m1a2(Local0, c016, 0, 0, c009, 0x72, 93)
+ m1a2(Local1, c016, 0, 0, c009, 0x72, 94)
+
+ Store(b900, arg1)
+ Store(Index(arg1, 4, Local1), Local0)
+ m1a2(Local0, c016, 0, 0, c009, 0xb4, 95)
+ m1a2(Local1, c016, 0, 0, c009, 0xb4, 96)
+
+ // Elements of Package are Uninitialized
+
+ if (y104) {
+ Store(p900, arg1)
+ Store(Index(arg1, 0, Local1), Local0)
+ m1a0(Local0, c008, Ones, 97)
+ m1a0(Local1, c008, Ones, 98)
+ }
+
+ // Elements of Package are Computational Data
+
+ Store(p901, arg1)
+ Store(Index(arg1, 0, Local1), Local0)
+ m1a2(Local0, c009, 0, 0, c009, 0xabcd0004, 99)
+ m1a2(Local1, c009, 0, 0, c009, 0xabcd0004, 100)
+
+ Store(p901, arg1)
+ Store(Index(arg1, 1, Local1), Local0)
+ m1a2(Local0, c009, 0, 0, c009, 0x1122334455660005, 101)
+ m1a2(Local1, c009, 0, 0, c009, 0x1122334455660005, 102)
+
+ Store(p902, arg1)
+ Store(Index(arg1, 0, Local1), Local0)
+ m1a2(Local0, c00a, 0, 0, c00a, "12340006", 103)
+ m1a2(Local1, c00a, 0, 0, c00a, "12340006", 104)
+
+ Store(p902, arg1)
+ Store(Index(arg1, 1, Local1), Local0)
+ m1a2(Local0, c00a, 0, 0, c00a, "q1w2e3r4t5y6u7i80007", 105)
+ m1a2(Local1, c00a, 0, 0, c00a, "q1w2e3r4t5y6u7i80007", 106)
+
+ Store(p903, arg1)
+ Store(Index(arg1, 0, Local1), Local0)
+ m1a2(Local0, c00a, 0, 0, c00a, "qwrtyuiop0008", 107)
+ m1a2(Local1, c00a, 0, 0, c00a, "qwrtyuiop0008", 108)
+
+ Store(p903, arg1)
+ Store(Index(arg1, 1, Local1), Local0)
+ m1a2(Local0, c00a, 0, 0, c00a, "1234567890abdef0250009", 109)
+ m1a2(Local1, c00a, 0, 0, c00a, "1234567890abdef0250009", 110)
+
+ Store(p904, arg1)
+ Store(Index(arg1, 0, Local1), Local0)
+ m1a2(Local0, c00b, 0, 0, c00b, Buffer() {0xb5,0xb6,0xb7}, 111)
+ m1a2(Local1, c00b, 0, 0, c00b, Buffer() {0xb5,0xb6,0xb7}, 112)
+
+ Store(p905, arg1)
+ Store(Index(arg1, 0, Local1), Local0)
+ m1a2(Local0, c00c, 1, 0, c009, 0xabc000a, 113)
+ m1a2(Local1, c00c, 1, 0, c009, 0xabc000a, 114)
+
+ Store(p905, arg1)
+ Store(Index(arg1, 0, Local1), Local0)
+ m1a2(Local0, c00c, 1, 1, c00a, "0xabc000b", 115)
+ m1a2(Local1, c00c, 1, 1, c00a, "0xabc000b", 116)
+
+ Store(p906, arg1)
+ Store(Index(arg1, 0, Local1), Local0)
+ m1a2(Local0, c00c, 1, 0, c00a, "abc000d", 117)
+ m1a2(Local1, c00c, 1, 0, c00a, "abc000d", 118)
+
+ Store(p907, arg1)
+ Store(Index(arg1, 0, Local1), Local0)
+ m1a2(Local0, c00c, 1, 0, c00a, "aqwevbgnm000e", 119)
+ m1a2(Local1, c00c, 1, 0, c00a, "aqwevbgnm000e", 120)
+
+ Store(p908, arg1)
+ Store(Index(arg1, 0, Local1), Local0)
+ m1a2(Local0, c00c, 1, 0, c00b, Buffer() {0xba,0xbb,0xbc,0xbd,0xbe}, 121)
+ m1a2(Local1, c00c, 1, 0, c00b, Buffer() {0xba,0xbb,0xbc,0xbd,0xbe}, 122)
+
+ Store(p909, arg1)
+ Store(Index(arg1, 0, Local1), Local0)
+ m1a2(Local0, c00c, 2, 0, c009, 0xabc000f, 123)
+ m1a2(Local1, c00c, 2, 0, c009, 0xabc000f, 124)
+
+ Store(p90a, arg1)
+ Store(Index(arg1, 0, Local1), Local0)
+ m1a2(Local0, c00c, 2, 0, c00a, "12340010", 125)
+ m1a2(Local1, c00c, 2, 0, c00a, "12340010", 126)
+
+ Store(p90b, arg1)
+ Store(Index(arg1, 0, Local1), Local0)
+ m1a2(Local0, c00c, 2, 0, c00a, "zxswefas0011", 127)
+ m1a2(Local1, c00c, 2, 0, c00a, "zxswefas0011", 128)
+
+ Store(p90c, arg1)
+ Store(Index(arg1, 0, Local1), Local0)
+ m1a2(Local0, c00c, 2, 0, c00b, Buffer() {0xbf,0xc0,0xc1}, 129)
+ m1a2(Local1, c00c, 2, 0, c00b, Buffer() {0xbf,0xc0,0xc1}, 130)
+
+ Store(p90d, arg1)
+ Store(Index(arg1, 0, Local1), Local0)
+ m1a2(Local0, c009, 0, 0, c009, 0xfe7cb391d65a0000, 131)
+ m1a2(Local1, c009, 0, 0, c009, 0xfe7cb391d65a0000, 132)
+
+ Store(p90e, arg1)
+ Store(Index(arg1, 0, Local1), Local0)
+ m1a2(Local0, c009, 0, 0, c009, 0xc1790001, 133)
+ m1a2(Local1, c009, 0, 0, c009, 0xc1790001, 134)
+
+ Store(p90f, arg1)
+ Store(Index(arg1, 0, Local1), Local0)
+ m1a2(Local0, c00a, 0, 0, c00a, "12340002", 135)
+ m1a2(Local1, c00a, 0, 0, c00a, "12340002", 136)
+
+ Store(p910, arg1)
+ Store(Index(arg1, 0, Local1), Local0)
+ m1a2(Local0, c00a, 0, 0, c00a, "qwrtyu0003", 137)
+ m1a2(Local1, c00a, 0, 0, c00a, "qwrtyu0003", 138)
+
+ Store(p911, arg1)
+ Store(Index(arg1, 0, Local1), Local0)
+ m1a2(Local0, c00b, 0, 0, c00b, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4}, 139)
+ m1a2(Local1, c00b, 0, 0, c00b, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4}, 140)
+
+ if (y118) {
+ Store(p912, arg1)
+ Store(Index(arg1, 0, Local1), Local0)
+ m1a2(Local0, c00d, 0, 0, c00d, 0, 141)
+ m1a2(Local1, c00d, 0, 0, c00d, 0, 142)
+
+ Store(p913, arg1)
+ Store(Index(arg1, 0, Local1), Local0)
+ m1a2(Local0, c00d, 0, 0, c00d, 0, 143)
+ m1a2(Local1, c00d, 0, 0, c00d, 0, 144)
+
+ Store(p914, arg1)
+ Store(Index(arg1, 0, Local1), Local0)
+ m1a2(Local0, c00d, 0, 0, c00d, 0, 145)
+ m1a2(Local1, c00d, 0, 0, c00d, 0, 146)
+
+ Store(p915, arg1)
+ Store(Index(arg1, 0, Local1), Local0)
+ m1a2(Local0, c016, 0, 0, c016, 0xb0, 147)
+ m1a2(Local1, c016, 0, 0, c016, 0xb0, 148)
+ }
+
+ // Elements of Package are NOT Computational Data
+
+ Store(p916, arg1)
+ Store(Index(arg1, 0, Local1), Local0)
+ m1a0(Local0, c00e, Ones, 149)
+ m1a0(Local1, c00e, Ones, 150)
+
+ Store(p917, arg1)
+ Store(Index(arg1, 0, Local1), Local0)
+ m1a0(Local0, c00f, Ones, 151)
+ m1a0(Local1, c00f, Ones, 152)
+
+ Store(p918, arg1)
+ Store(Index(arg1, 0, Local1), Local0)
+ m1a0(Local0, c011, Ones, 153)
+ m1a0(Local1, c011, Ones, 154)
+
+ Store(p919, arg1)
+ Store(Index(arg1, 0, Local1), Local0)
+ m1a0(Local0, c012, Ones, 155)
+ m1a0(Local1, c012, Ones, 156)
+
+ Store(p91a, arg1)
+ Store(Index(arg1, 0, Local1), Local0)
+ m1a0(Local0, c013, Ones, 157)
+ m1a0(Local1, c013, Ones, 158)
+
+ Store(p91b, arg1)
+ Store(Index(arg1, 0, Local1), Local0)
+ m1a0(Local0, c014, Ones, 159)
+ m1a0(Local1, c014, Ones, 160)
+
+ Store(p91c, arg1)
+ Store(Index(arg1, 0, Local1), Local0)
+ m1a0(Local0, c015, Ones, 161)
+ m1a0(Local1, c015, Ones, 162)
+
+ // Elements of Package are Methods
+
+ if (y105) {
+
+ Store(p91d, arg1)
+ Store(Index(arg1, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 163)
+ m1a0(Local1, c010, Ones, 164)
+
+ Store(p91e, arg1)
+ Store(Index(arg1, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 165)
+ m1a0(Local1, c010, Ones, 166)
+
+ Store(p91f, arg1)
+ Store(Index(arg1, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 167)
+ m1a0(Local1, c010, Ones, 168)
+
+ Store(p920, arg1)
+ Store(Index(arg1, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 169)
+ m1a0(Local1, c010, Ones, 170)
+
+ Store(p921, arg1)
+ Store(Index(arg1, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 171)
+ m1a0(Local1, c010, Ones, 172)
+
+ Store(p922, arg1)
+ Store(Index(arg1, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 173)
+ m1a0(Local1, c010, Ones, 174)
+
+ Store(p923, arg1)
+ Store(Index(arg1, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 175)
+ m1a0(Local1, c010, Ones, 176)
+
+ Store(p924, arg1)
+ Store(Index(arg1, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 177)
+ m1a0(Local1, c010, Ones, 178)
+
+ Store(p925, arg1)
+ Store(Index(arg1, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 179)
+ m1a0(Local1, c010, Ones, 180)
+
+ Store(p926, arg1)
+ Store(Index(arg1, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 181)
+ m1a0(Local1, c010, Ones, 182)
+
+ Store(p927, arg1)
+ Store(Index(arg1, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 183)
+ m1a0(Local1, c010, Ones, 184)
+
+ Store(p928, arg1)
+ Store(Index(arg1, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 185)
+ m1a0(Local1, c010, Ones, 186)
+
+ Store(p929, arg1)
+ Store(Index(arg1, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 187)
+ m1a0(Local1, c010, Ones, 188)
+
+ Store(p92a, arg1)
+ Store(Index(arg1, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 189)
+ m1a0(Local1, c010, Ones, 190)
+
+ Store(p92b, arg1)
+ Store(Index(arg1, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 191)
+ m1a0(Local1, c010, Ones, 192)
+
+ Store(p92c, arg1)
+ Store(Index(arg1, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 193)
+ m1a0(Local1, c010, Ones, 194)
+
+ Store(p92d, arg1)
+ Store(Index(arg1, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 195)
+ m1a0(Local1, c010, Ones, 196)
+
+ Store(p92e, arg1)
+ Store(Index(arg1, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 197)
+ m1a0(Local1, c010, Ones, 198)
+
+ Store(p92f, arg1)
+ Store(Index(arg1, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 199)
+ m1a0(Local1, c010, Ones, 200)
+
+ Store(p930, arg1)
+ Store(Index(arg1, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 201)
+ m1a0(Local1, c010, Ones, 202)
+
+ Store(p931, arg1)
+ Store(Index(arg1, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 203)
+ m1a0(Local1, c010, Ones, 204)
+
+ Store(p932, arg1)
+ Store(Index(arg1, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 205)
+ m1a0(Local1, c010, Ones, 206)
+
+ Store(p933, arg1)
+ Store(Index(arg1, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 207)
+ m1a0(Local1, c010, Ones, 208)
+
+ Store(p934, arg1)
+ Store(Index(arg1, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 209)
+ m1a0(Local1, c010, Ones, 210)
+
+ if (y103) {
+ Store(p935, arg1)
+ Store(Index(arg1, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 211)
+ m1a0(Local1, c010, Ones, 212)
+ }
+
+ Store(p936, arg1)
+ Store(Index(arg1, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 213)
+ m1a0(Local1, c010, Ones, 214)
+
+ Store(p937, arg1)
+ Store(Index(arg1, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 215)
+ m1a0(Local1, c010, Ones, 216)
+
+ Store(p938, arg1)
+ Store(Index(arg1, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 217)
+ m1a0(Local1, c010, Ones, 218)
+
+ Store(p939, arg1)
+ Store(Index(arg1, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 219)
+ m1a0(Local1, c010, Ones, 220)
+
+ Store(p93a, arg1)
+ Store(Index(arg1, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 221)
+ m1a0(Local1, c010, Ones, 222)
+
+ Store(p93b, arg1)
+ Store(Index(arg1, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 223)
+ m1a0(Local1, c010, Ones, 224)
+
+ Store(p93c, arg1)
+ Store(Index(arg1, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 225)
+ m1a0(Local1, c010, Ones, 226)
+
+ Store(p93d, arg1)
+ Store(Index(arg1, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 227)
+ m1a0(Local1, c010, Ones, 228)
+
+ Store(p93e, arg1)
+ Store(Index(arg1, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 229)
+ m1a0(Local1, c010, Ones, 230)
+
+ Store(p93f, arg1)
+ Store(Index(arg1, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 231)
+ m1a0(Local1, c010, Ones, 232)
+
+ Store(p940, arg1)
+ Store(Index(arg1, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 233)
+ m1a0(Local1, c010, Ones, 234)
+
+ Store(p941, arg1)
+ Store(Index(arg1, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 235)
+ m1a0(Local1, c010, Ones, 236)
+
+ Store(p942, arg1)
+ Store(Index(arg1, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 237)
+ m1a0(Local1, c010, Ones, 238)
+
+ Store(p943, arg1)
+ Store(Index(arg1, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 239)
+ m1a0(Local1, c010, Ones, 240)
+
+ Store(p944, arg1)
+ Store(Index(arg1, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 241)
+ m1a0(Local1, c010, Ones, 242)
+
+ Store(p945, arg1)
+ Store(Index(arg1, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 243)
+ m1a0(Local1, c010, Ones, 244)
+
+ Store(p946, arg1)
+ Store(Index(arg1, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 245)
+ m1a0(Local1, c010, Ones, 246)
+
+ Store(p947, arg1)
+ Store(Index(arg1, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 247)
+ m1a0(Local1, c010, Ones, 248)
+
+ Store(p948, arg1)
+ Store(Index(arg1, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 249)
+ m1a0(Local1, c010, Ones, 250)
+
+ Store(p949, arg1)
+ Store(Index(arg1, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 251)
+ m1a0(Local1, c010, Ones, 252)
+
+ Store(p94a, arg1)
+ Store(Index(arg1, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 253)
+ m1a0(Local1, c010, Ones, 254)
+
+ Store(p94b, arg1)
+ Store(Index(arg1, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 255)
+ m1a0(Local1, c010, Ones, 256)
+
+ Store(p94c, arg1)
+ Store(Index(arg1, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 257)
+ m1a0(Local1, c010, Ones, 258)
+
+ Store(p94d, arg1)
+ Store(Index(arg1, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 259)
+ m1a0(Local1, c010, Ones, 260)
+
+ Store(p94e, arg1)
+ Store(Index(arg1, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 261)
+ m1a0(Local1, c010, Ones, 262)
+
+ Store(p94f, arg1)
+ Store(Index(arg1, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 263)
+ m1a0(Local1, c010, Ones, 264)
+
+ Store(p950, arg1)
+ Store(Index(arg1, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 265)
+ m1a0(Local1, c010, Ones, 266)
+
+ Store(p951, arg1)
+ Store(Index(arg1, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 267)
+ m1a0(Local1, c010, Ones, 268)
+
+ Store(p952, arg1)
+ Store(Index(arg1, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 269)
+ m1a0(Local1, c010, Ones, 270)
+ }
+
+ m1a6()
+}
+
+// m16a,m191,m171
+// arg2 - writing mode
+Method(m181, 3)
+{
+ if (y100) {
+ ts00("m181")
+ } else {
+ Store("m181", Debug)
+ }
+
+ // T6:R0-R5,R14
+
+ // Uninitialized Local
+
+ if (Arg0) {
+ Store(0, arg6)
+ }
+ Store(RefOf(arg6), Local0)
+ m1a0(Local0, c008, Ones, 1000)
+
+ // Computational Data
+
+ Store(i900, arg1)
+ Store(RefOf(arg1), Local0)
+ m1a2(Local0, c009, 0, 0, c009, 0xfe7cb391d65a0000, 271)
+
+ Store(i901, arg1)
+ Store(RefOf(arg1), Local0)
+ m1a2(Local0, c009, 0, 0, c009, 0xc1790001, 272)
+
+ Store(s900, arg1)
+ Store(RefOf(arg1), Local0)
+ m1a2(Local0, c00a, 0, 0, c00a, "12340002", 273)
+
+ Store(s901, arg1)
+ Store(RefOf(arg1), Local0)
+ m1a2(Local0, c00a, 0, 0, c00a, "qwrtyu0003", 274)
+
+ Store(b900, arg1)
+ Store(RefOf(arg1), Local0)
+ m1a2(Local0, c00b, 0, 0, c00b, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4}, 275)
+
+ // Not Computational Data
+
+ // Package
+
+ Store(p953, arg1)
+ Store(RefOf(arg1), Local0)
+ m1a2(Local0, c00c, 1, 0, c009, 0xabcd0018, 1007)
+
+ if (arg2) {
+
+ // Data are unchanged, because writings were made
+ // into the new objects assosiated with arg1.
+
+ m1a6()
+ return
+ }
+
+ // Computational Data (Field Unit and Buffer Field)
+
+ Store(f900, arg1)
+ Store(RefOf(arg1), Local0)
+ m1a2(Local0, c009, 0, 0, c009, 0, 276)
+
+ Store(bn90, arg1)
+ Store(RefOf(arg1), Local0)
+ m1a2(Local0, c009, 0, 0, c009, 0, 277)
+
+ Store(if90, arg1)
+ Store(RefOf(arg1), Local0)
+ m1a2(Local0, c009, 0, 0, c009, 0, 278)
+
+ Store(bf90, arg1)
+ Store(RefOf(arg1), Local0)
+ m1a2(Local0, c009, 0, 0, c009, 0xb0, 279)
+
+ // Elements of Package are Uninitialized
+
+ Store(p900, arg1)
+ Store(RefOf(arg1), Local0)
+ m1a0(Local0, c00c, Ones, 287)
+
+ // Elements of Package are Computational Data
+
+ Store(p901, arg1)
+ Store(RefOf(arg1), Local0)
+ m1a2(Local0, c00c, 1, 0, c009, 0xabcd0004, 288)
+ m1a2(Local0, c00c, 1, 1, c009, 0x1122334455660005, 289)
+
+ Store(p902, arg1)
+ Store(RefOf(arg1), Local0)
+ m1a2(Local0, c00c, 1, 0, c00a, "12340006", 290)
+ m1a2(Local0, c00c, 1, 1, c00a, "q1w2e3r4t5y6u7i80007", 291)
+
+ Store(p903, arg1)
+ Store(RefOf(arg1), Local0)
+ m1a2(Local0, c00c, 1, 0, c00a, "qwrtyuiop0008", 292)
+ m1a2(Local0, c00c, 1, 1, c00a, "1234567890abdef0250009", 293)
+
+ Store(p904, arg1)
+ Store(RefOf(arg1), Local0)
+ m1a2(Local0, c00c, 1, 0, c00b, Buffer() {0xb5,0xb6,0xb7}, 294)
+
+ Store(p905, arg1)
+ Store(RefOf(arg1), Local0)
+ m1a2(Local0, c00c, 2, 0, c009, 0xabc000a, 295)
+ m1a2(Local0, c00c, 2, 1, c00a, "0xabc000b", 296)
+
+ Store(p906, arg1)
+ Store(RefOf(arg1), Local0)
+ m1a2(Local0, c00c, 2, 0, c00a, "abc000d", 297)
+
+ Store(p907, arg1)
+ Store(RefOf(arg1), Local0)
+ m1a2(Local0, c00c, 2, 0, c00a, "aqwevbgnm000e", 298)
+
+ Store(p908, arg1)
+ Store(RefOf(arg1), Local0)
+ m1a2(Local0, c00c, 2, 0, c00b, Buffer() {0xba,0xbb,0xbc,0xbd,0xbe}, 299)
+
+ Store(p909, arg1)
+ Store(RefOf(arg1), Local0)
+ m1a2(Local0, c00c, 3, 0, c009, 0xabc000f, 300)
+
+ Store(p90a, arg1)
+ Store(RefOf(arg1), Local0)
+ m1a2(Local0, c00c, 3, 0, c00a, "12340010", 301)
+
+ Store(p90b, arg1)
+ Store(RefOf(arg1), Local0)
+ m1a2(Local0, c00c, 3, 0, c00a, "zxswefas0011", 302)
+
+ Store(p90c, arg1)
+ Store(RefOf(arg1), Local0)
+ m1a2(Local0, c00c, 3, 0, c00b, Buffer() {0xbf,0xc0,0xc1}, 303)
+
+ Store(p90d, arg1)
+ Store(RefOf(arg1), Local0)
+ m1a2(Local0, c00c, 1, 0, c009, 0xfe7cb391d65a0000, 304)
+
+ Store(p90e, arg1)
+ Store(RefOf(arg1), Local0)
+ m1a2(Local0, c00c, 1, 0, c009, 0xc1790001, 305)
+
+ Store(p90f, arg1)
+ Store(RefOf(arg1), Local0)
+ m1a2(Local0, c00c, 1, 0, c00a, "12340002", 306)
+
+ Store(p910, arg1)
+ Store(RefOf(arg1), Local0)
+ m1a2(Local0, c00c, 1, 0, c00a, "qwrtyu0003", 307)
+
+ Store(p911, arg1)
+ Store(RefOf(arg1), Local0)
+ m1a2(Local0, c00c, 1, 0, c00b, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4}, 308)
+
+ if (y118) {
+ Store(p912, arg1)
+ Store(RefOf(arg1), Local0)
+ m1a2(Local0, c00c, 1, 0, c00d, 0, 309)
+
+ Store(p913, arg1)
+ Store(RefOf(arg1), Local0)
+ m1a2(Local0, c00c, 1, 0, c00d, 0, 310)
+
+ Store(p914, arg1)
+ Store(RefOf(arg1), Local0)
+ m1a2(Local0, c00c, 1, 0, c00d, 0, 311)
+
+ Store(p915, arg1)
+ Store(RefOf(arg1), Local0)
+ m1a2(Local0, c00c, 1, 0, c016, 0xb0, 312)
+ }
+
+ // Elements of Package are NOT Computational Data
+
+ Store(p916, arg1)
+ Store(RefOf(arg1), Local0)
+ m1a0(Local0, c00c, Ones, 313)
+
+ Store(p917, arg1)
+ Store(RefOf(arg1), Local0)
+ m1a0(Local0, c00c, Ones, 314)
+
+ Store(p918, arg1)
+ Store(RefOf(arg1), Local0)
+ m1a0(Local0, c00c, Ones, 315)
+
+ Store(p919, arg1)
+ Store(RefOf(arg1), Local0)
+ m1a0(Local0, c00c, Ones, 316)
+
+ Store(p91a, arg1)
+ Store(RefOf(arg1), Local0)
+ m1a0(Local0, c00c, Ones, 317)
+
+ Store(p91b, arg1)
+ Store(RefOf(arg1), Local0)
+ m1a0(Local0, c00c, Ones, 318)
+
+ Store(p91c, arg1)
+ Store(RefOf(arg1), Local0)
+ m1a0(Local0, c00c, Ones, 319)
+
+ // Elements of Package are Methods
+
+ Store(p91d, arg1)
+ Store(RefOf(arg1), Local0)
+ m1a0(Local0, c00c, Ones, 320)
+
+ Store(p91e, arg1)
+ Store(RefOf(arg1), Local0)
+ m1a0(Local0, c00c, Ones, 321)
+
+ Store(p91f, arg1)
+ Store(RefOf(arg1), Local0)
+ m1a0(Local0, c00c, Ones, 322)
+
+ Store(p920, arg1)
+ Store(RefOf(arg1), Local0)
+ m1a0(Local0, c00c, Ones, 323)
+
+ Store(p921, arg1)
+ Store(RefOf(arg1), Local0)
+ m1a0(Local0, c00c, Ones, 324)
+
+ Store(p922, arg1)
+ Store(RefOf(arg1), Local0)
+ m1a0(Local0, c00c, Ones, 325)
+
+ Store(p923, arg1)
+ Store(RefOf(arg1), Local0)
+ m1a0(Local0, c00c, Ones, 326)
+
+ Store(p924, arg1)
+ Store(RefOf(arg1), Local0)
+ m1a0(Local0, c00c, Ones, 327)
+
+ Store(p925, arg1)
+ Store(RefOf(arg1), Local0)
+ m1a0(Local0, c00c, Ones, 328)
+
+ Store(p926, arg1)
+ Store(RefOf(arg1), Local0)
+ m1a0(Local0, c00c, Ones, 329)
+
+ Store(p927, arg1)
+ Store(RefOf(arg1), Local0)
+ m1a0(Local0, c00c, Ones, 330)
+
+ Store(p928, arg1)
+ Store(RefOf(arg1), Local0)
+ m1a0(Local0, c00c, Ones, 331)
+
+ Store(p929, arg1)
+ Store(RefOf(arg1), Local0)
+ m1a0(Local0, c00c, Ones, 332)
+
+ Store(p92a, arg1)
+ Store(RefOf(arg1), Local0)
+ m1a0(Local0, c00c, Ones, 333)
+
+ Store(p92b, arg1)
+ Store(RefOf(arg1), Local0)
+ m1a0(Local0, c00c, Ones, 334)
+
+ Store(p92c, arg1)
+ Store(RefOf(arg1), Local0)
+ m1a0(Local0, c00c, Ones, 335)
+
+ Store(p92d, arg1)
+ Store(RefOf(arg1), Local0)
+ m1a0(Local0, c00c, Ones, 336)
+
+ Store(p92e, arg1)
+ Store(RefOf(arg1), Local0)
+ m1a0(Local0, c00c, Ones, 337)
+
+ Store(p92f, arg1)
+ Store(RefOf(arg1), Local0)
+ m1a0(Local0, c00c, Ones, 338)
+
+ Store(p930, arg1)
+ Store(RefOf(arg1), Local0)
+ m1a0(Local0, c00c, Ones, 339)
+
+ Store(p931, arg1)
+ Store(RefOf(arg1), Local0)
+ m1a0(Local0, c00c, Ones, 340)
+
+ Store(p932, arg1)
+ Store(RefOf(arg1), Local0)
+ m1a0(Local0, c00c, Ones, 341)
+
+ Store(p933, arg1)
+ Store(RefOf(arg1), Local0)
+ m1a0(Local0, c00c, Ones, 342)
+
+ Store(p934, arg1)
+ Store(RefOf(arg1), Local0)
+ m1a0(Local0, c00c, Ones, 343)
+
+ Store(p935, arg1)
+ Store(RefOf(arg1), Local0)
+ m1a0(Local0, c00c, Ones, 344)
+
+ Store(p936, arg1)
+ Store(RefOf(arg1), Local0)
+ m1a0(Local0, c00c, Ones, 345)
+
+ Store(p937, arg1)
+ Store(RefOf(arg1), Local0)
+ m1a0(Local0, c00c, Ones, 346)
+
+ Store(p938, arg1)
+ Store(RefOf(arg1), Local0)
+ m1a0(Local0, c00c, Ones, 347)
+
+ Store(p939, arg1)
+ Store(RefOf(arg1), Local0)
+ m1a0(Local0, c00c, Ones, 348)
+
+ Store(p93a, arg1)
+ Store(RefOf(arg1), Local0)
+ m1a0(Local0, c00c, Ones, 349)
+
+ Store(p93b, arg1)
+ Store(RefOf(arg1), Local0)
+ m1a0(Local0, c00c, Ones, 350)
+
+ Store(p93c, arg1)
+ Store(RefOf(arg1), Local0)
+ m1a0(Local0, c00c, Ones, 351)
+
+ Store(p93d, arg1)
+ Store(RefOf(arg1), Local0)
+ m1a0(Local0, c00c, Ones, 352)
+
+ Store(p93e, arg1)
+ Store(RefOf(arg1), Local0)
+ m1a0(Local0, c00c, Ones, 353)
+
+ Store(p93f, arg1)
+ Store(RefOf(arg1), Local0)
+ m1a0(Local0, c00c, Ones, 354)
+
+ Store(p940, arg1)
+ Store(RefOf(arg1), Local0)
+ m1a0(Local0, c00c, Ones, 355)
+
+ Store(p941, arg1)
+ Store(RefOf(arg1), Local0)
+ m1a0(Local0, c00c, Ones, 356)
+
+ Store(p942, arg1)
+ Store(RefOf(arg1), Local0)
+ m1a0(Local0, c00c, Ones, 357)
+
+ Store(p943, arg1)
+ Store(RefOf(arg1), Local0)
+ m1a0(Local0, c00c, Ones, 358)
+
+ Store(p944, arg1)
+ Store(RefOf(arg1), Local0)
+ m1a0(Local0, c00c, Ones, 359)
+
+ Store(p945, arg1)
+ Store(RefOf(arg1), Local0)
+ m1a0(Local0, c00c, Ones, 360)
+
+ Store(p946, arg1)
+ Store(RefOf(arg1), Local0)
+ m1a0(Local0, c00c, Ones, 361)
+
+ Store(p947, arg1)
+ Store(RefOf(arg1), Local0)
+ m1a0(Local0, c00c, Ones, 362)
+
+ Store(p948, arg1)
+ Store(RefOf(arg1), Local0)
+ m1a0(Local0, c00c, Ones, 363)
+
+ Store(p949, arg1)
+ Store(RefOf(arg1), Local0)
+ m1a0(Local0, c00c, Ones, 364)
+
+ Store(p94a, arg1)
+ Store(RefOf(arg1), Local0)
+ m1a0(Local0, c00c, Ones, 365)
+
+ Store(p94b, arg1)
+ Store(RefOf(arg1), Local0)
+ m1a0(Local0, c00c, Ones, 366)
+
+ Store(p94c, arg1)
+ Store(RefOf(arg1), Local0)
+ m1a0(Local0, c00c, Ones, 367)
+
+ Store(p94d, arg1)
+ Store(RefOf(arg1), Local0)
+ m1a0(Local0, c00c, Ones, 368)
+
+ Store(p94e, arg1)
+ Store(RefOf(arg1), Local0)
+ m1a0(Local0, c00c, Ones, 369)
+
+ Store(p94f, arg1)
+ Store(RefOf(arg1), Local0)
+ m1a0(Local0, c00c, Ones, 370)
+
+ Store(p950, arg1)
+ Store(RefOf(arg1), Local0)
+ m1a0(Local0, c00c, Ones, 371)
+
+ Store(p951, arg1)
+ Store(RefOf(arg1), Local0)
+ m1a0(Local0, c00c, Ones, 372)
+
+ Store(p952, arg1)
+ Store(RefOf(arg1), Local0)
+ m1a0(Local0, c00c, Ones, 373)
+
+ m1a6()
+
+ return
+}
+
+// m16c,m193,m172
+// arg2 - writing mode
+Method(m182, 3)
+{
+ if (y100) {
+ ts00("m182")
+ } else {
+ Store("m182", Debug)
+ }
+
+ // T6:CR0-CR5,CR14
+
+ // Uninitialized Local
+
+ if (Arg0) {
+ Store(0, arg6)
+ }
+ Store(CondRefOf(arg6, Local0), Local1)
+ if (m1a4(Local1, 589)) {
+ m1a0(Local0, c008, Ones, 590)
+ }
+
+ // Computational Data
+
+ Store(i900, arg1)
+ Store(CondRefOf(arg1, Local0), Local1)
+ if (m1a4(Local1, 591)) {
+ m1a2(Local0, c009, 0, 0, c009, 0xfe7cb391d65a0000, 592)
+ }
+
+ Store(i901, arg1)
+ Store(CondRefOf(arg1, Local0), Local1)
+ if (m1a4(Local1, 593)) {
+ m1a2(Local0, c009, 0, 0, c009, 0xc1790001, 594)
+ }
+
+ Store(s900, arg1)
+ Store(CondRefOf(arg1, Local0), Local1)
+ if (m1a4(Local1, 595)) {
+ m1a2(Local0, c00a, 0, 0, c00a, "12340002", 596)
+ }
+
+ Store(s901, arg1)
+ Store(CondRefOf(arg1, Local0), Local1)
+ if (m1a4(Local1, 597)) {
+ m1a2(Local0, c00a, 0, 0, c00a, "qwrtyu0003", 598)
+ }
+
+ Store(b900, arg1)
+ Store(CondRefOf(arg1, Local0), Local1)
+ if (m1a4(Local1, 599)) {
+ m1a2(Local0, c00b, 0, 0, c00b, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4}, 600)
+ }
+
+ // Not Computational Data
+
+ // Package
+
+ Store(p953, arg1)
+ Store(CondRefOf(arg1, Local0), Local1)
+ if (m1a4(Local1, 1008)) {
+ m1a2(Local0, c00c, 1, 0, c009, 0xabcd0018, 1009)
+ }
+
+ if (arg2) {
+
+ // Data are unchanged, because writings were made
+ // into the new objects assosiated with arg1.
+
+ m1a6()
+ return
+ }
+
+ // Computational Data (Field Unit and Buffer Field)
+
+ Store(f900, arg1)
+ Store(CondRefOf(arg1, Local0), Local1)
+ if (m1a4(Local1, 601)) {
+ m1a2(Local0, c009, 0, 0, c009, 0, 602)
+ }
+
+ Store(bn90, arg1)
+ Store(CondRefOf(arg1, Local0), Local1)
+ if (m1a4(Local1, 603)) {
+ m1a2(Local0, c009, 0, 0, c009, 0, 604)
+ }
+
+ Store(if90, arg1)
+ Store(CondRefOf(arg1, Local0), Local1)
+ if (m1a4(Local1, 605)) {
+ m1a2(Local0, c009, 0, 0, c009, 0, 606)
+ }
+
+ Store(bf90, arg1)
+ Store(CondRefOf(arg1, Local0), Local1)
+ if (m1a4(Local1, 607)) {
+ m1a2(Local0, c009, 0, 0, c009, 0xb0, 608)
+ }
+
+ // Elements of Package are Uninitialized
+
+ Store(p900, arg1)
+ Store(CondRefOf(arg1, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 616)
+
+ // Elements of Package are Computational Data
+
+ Store(p901, arg1)
+ Store(CondRefOf(arg1, Local0), Local1)
+ if (m1a4(Local1, 617)) {
+ m1a2(Local0, c00c, 1, 0, c009, 0xabcd0004, 618)
+ m1a2(Local0, c00c, 1, 1, c009, 0x1122334455660005, 619)
+ }
+
+ Store(p902, arg1)
+ Store(CondRefOf(arg1, Local0), Local1)
+ if (m1a4(Local1, 620)) {
+ m1a2(Local0, c00c, 1, 0, c00a, "12340006", 621)
+ m1a2(Local0, c00c, 1, 1, c00a, "q1w2e3r4t5y6u7i80007", 622)
+ }
+
+ Store(p903, arg1)
+ Store(CondRefOf(arg1, Local0), Local1)
+ if (m1a4(Local1, 623)) {
+ m1a2(Local0, c00c, 1, 0, c00a, "qwrtyuiop0008", 624)
+ m1a2(Local0, c00c, 1, 1, c00a, "1234567890abdef0250009", 625)
+ }
+
+ Store(p904, arg1)
+ Store(CondRefOf(arg1, Local0), Local1)
+ if (m1a4(Local1, 626)) {
+ m1a2(Local0, c00c, 1, 0, c00b, Buffer() {0xb5,0xb6,0xb7}, 627)
+ }
+
+ Store(p905, arg1)
+ Store(CondRefOf(arg1, Local0), Local1)
+ if (m1a4(Local1, 628)) {
+ m1a2(Local0, c00c, 2, 0, c009, 0xabc000a, 629)
+ m1a2(Local0, c00c, 2, 1, c00a, "0xabc000b", 630)
+ }
+
+ Store(p906, arg1)
+ Store(CondRefOf(arg1, Local0), Local1)
+ if (m1a4(Local1, 631)) {
+ m1a2(Local0, c00c, 2, 0, c00a, "abc000d", 632)
+ }
+
+ Store(p907, arg1)
+ Store(CondRefOf(arg1, Local0), Local1)
+ if (m1a4(Local1, 633)) {
+ m1a2(Local0, c00c, 2, 0, c00a, "aqwevbgnm000e", 634)
+ }
+
+ Store(p908, arg1)
+ Store(CondRefOf(arg1, Local0), Local1)
+ if (m1a4(Local1, 635)) {
+ m1a2(Local0, c00c, 2, 0, c00b, Buffer() {0xba,0xbb,0xbc,0xbd,0xbe}, 636)
+ }
+
+ Store(p909, arg1)
+ Store(CondRefOf(arg1, Local0), Local1)
+ if (m1a4(Local1, 637)) {
+ m1a2(Local0, c00c, 3, 0, c009, 0xabc000f, 638)
+ }
+
+ Store(p90a, arg1)
+ Store(CondRefOf(arg1, Local0), Local1)
+ if (m1a4(Local1, 639)) {
+ m1a2(Local0, c00c, 3, 0, c00a, "12340010", 640)
+ }
+
+ Store(p90b, arg1)
+ Store(CondRefOf(arg1, Local0), Local1)
+ if (m1a4(Local1, 641)) {
+ m1a2(Local0, c00c, 3, 0, c00a, "zxswefas0011", 642)
+ }
+
+ Store(p90c, arg1)
+ Store(CondRefOf(arg1, Local0), Local1)
+ if (m1a4(Local1, 643)) {
+ m1a2(Local0, c00c, 3, 0, c00b, Buffer() {0xbf,0xc0,0xc1}, 644)
+ }
+
+ Store(p90d, arg1)
+ Store(CondRefOf(arg1, Local0), Local1)
+ if (m1a4(Local1, 645)) {
+ m1a2(Local0, c00c, 1, 0, c009, 0xfe7cb391d65a0000, 646)
+ }
+
+ Store(p90e, arg1)
+ Store(CondRefOf(arg1, Local0), Local1)
+ if (m1a4(Local1, 647)) {
+ m1a2(Local0, c00c, 1, 0, c009, 0xc1790001, 648)
+ }
+
+ Store(p90f, arg1)
+ Store(CondRefOf(arg1, Local0), Local1)
+ if (m1a4(Local1, 649)) {
+ m1a2(Local0, c00c, 1, 0, c00a, "12340002", 650)
+ }
+
+ Store(p910, arg1)
+ Store(CondRefOf(arg1, Local0), Local1)
+ if (m1a4(Local1, 651)) {
+ m1a2(Local0, c00c, 1, 0, c00a, "qwrtyu0003", 652)
+ }
+
+ Store(p911, arg1)
+ Store(CondRefOf(arg1, Local0), Local1)
+ if (m1a4(Local1, 653)) {
+ m1a2(Local0, c00c, 1, 0, c00b, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4}, 654)
+ }
+
+ if (y118) {
+ Store(p912, arg1)
+ Store(CondRefOf(arg1, Local0), Local1)
+ if (m1a4(Local1, 655)) {
+ m1a2(Local0, c00c, 1, 0, c00d, 0, 656)
+ }
+
+ Store(p913, arg1)
+ Store(CondRefOf(arg1, Local0), Local1)
+ if (m1a4(Local1, 657)) {
+ m1a2(Local0, c00c, 1, 0, c00d, 0, 658)
+ }
+
+ Store(p914, arg1)
+ Store(CondRefOf(arg1, Local0), Local1)
+ if (m1a4(Local1, 659)) {
+ m1a2(Local0, c00c, 1, 0, c00d, 0, 660)
+ }
+
+ Store(p915, arg1)
+ Store(CondRefOf(arg1, Local0), Local1)
+ if (m1a4(Local1, 661)) {
+ m1a2(Local0, c00c, 1, 0, c016, 0xb0, 662)
+ }
+ }
+
+ // Elements of Package are NOT Computational Data
+
+ Store(p916, arg1)
+ Store(CondRefOf(arg1, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 663)
+
+ Store(p917, arg1)
+ Store(CondRefOf(arg1, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 664)
+
+ Store(p918, arg1)
+ Store(CondRefOf(arg1, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 6655)
+
+ Store(p919, arg1)
+ Store(CondRefOf(arg1, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 666)
+
+ Store(p91a, arg1)
+ Store(CondRefOf(arg1, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 667)
+
+ Store(p91b, arg1)
+ Store(CondRefOf(arg1, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 668)
+
+ Store(p91c, arg1)
+ Store(CondRefOf(arg1, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 669)
+
+ // Elements of Package are Methods
+
+ Store(p91d, arg1)
+ Store(CondRefOf(arg1, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 670)
+
+ Store(p91e, arg1)
+ Store(CondRefOf(arg1, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 671)
+
+ Store(p91f, arg1)
+ Store(CondRefOf(arg1, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 672)
+
+ Store(p920, arg1)
+ Store(CondRefOf(arg1, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 673)
+
+ Store(p921, arg1)
+ Store(CondRefOf(arg1, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 674)
+
+ Store(p922, arg1)
+ Store(CondRefOf(arg1, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 675)
+
+ Store(p923, arg1)
+ Store(CondRefOf(arg1, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 676)
+
+ Store(p924, arg1)
+ Store(CondRefOf(arg1, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 677)
+
+ Store(p925, arg1)
+ Store(CondRefOf(arg1, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 678)
+
+ Store(p926, arg1)
+ Store(CondRefOf(arg1, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 679)
+
+ Store(p927, arg1)
+ Store(CondRefOf(arg1, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 680)
+
+ Store(p928, arg1)
+ Store(CondRefOf(arg1, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 681)
+
+ Store(p929, arg1)
+ Store(CondRefOf(arg1, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 682)
+
+ Store(p92a, arg1)
+ Store(CondRefOf(arg1, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 683)
+
+ Store(p92b, arg1)
+ Store(CondRefOf(arg1, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 684)
+
+ Store(p92c, arg1)
+ Store(CondRefOf(arg1, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 685)
+
+ Store(p92d, arg1)
+ Store(CondRefOf(arg1, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 686)
+
+ Store(p92e, arg1)
+ Store(CondRefOf(arg1, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 687)
+
+ Store(p92f, arg1)
+ Store(CondRefOf(arg1, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 688)
+
+ Store(p930, arg1)
+ Store(CondRefOf(arg1, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 689)
+
+ Store(p931, arg1)
+ Store(CondRefOf(arg1, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 690)
+
+ Store(p932, arg1)
+ Store(CondRefOf(arg1, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 691)
+
+ Store(p933, arg1)
+ Store(CondRefOf(arg1, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 692)
+
+ Store(p934, arg1)
+ Store(CondRefOf(arg1, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 693)
+
+ Store(p935, arg1)
+ Store(CondRefOf(arg1, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 694)
+
+ Store(p936, arg1)
+ Store(CondRefOf(arg1, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 695)
+
+ Store(p937, arg1)
+ Store(CondRefOf(arg1, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 696)
+
+ Store(p938, arg1)
+ Store(CondRefOf(arg1, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 697)
+
+ Store(p939, arg1)
+ Store(CondRefOf(arg1, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 698)
+
+ Store(p93a, arg1)
+ Store(CondRefOf(arg1, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 699)
+
+ Store(p93b, arg1)
+ Store(CondRefOf(arg1, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 700)
+
+ Store(p93c, arg1)
+ Store(CondRefOf(arg1, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 701)
+
+ Store(p93d, arg1)
+ Store(CondRefOf(arg1, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 702)
+
+ Store(p93e, arg1)
+ Store(CondRefOf(arg1, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 703)
+
+ Store(p93f, arg1)
+ Store(CondRefOf(arg1, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 704)
+
+ Store(p940, arg1)
+ Store(CondRefOf(arg1, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 705)
+
+ Store(p941, arg1)
+ Store(CondRefOf(arg1, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 706)
+
+ Store(p942, arg1)
+ Store(CondRefOf(arg1, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 707)
+
+ Store(p943, arg1)
+ Store(CondRefOf(arg1, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 708)
+
+ Store(p944, arg1)
+ Store(CondRefOf(arg1, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 709)
+
+ Store(p945, arg1)
+ Store(CondRefOf(arg1, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 710)
+
+ Store(p946, arg1)
+ Store(CondRefOf(arg1, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 711)
+
+ Store(p947, arg1)
+ Store(CondRefOf(arg1, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 712)
+
+ Store(p948, arg1)
+ Store(CondRefOf(arg1, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 713)
+
+ Store(p949, arg1)
+ Store(CondRefOf(arg1, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 714)
+
+ Store(p94a, arg1)
+ Store(CondRefOf(arg1, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 715)
+
+ Store(p94b, arg1)
+ Store(CondRefOf(arg1, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 716)
+
+ Store(p94c, arg1)
+ Store(CondRefOf(arg1, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 717)
+
+ Store(p94d, arg1)
+ Store(CondRefOf(arg1, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 718)
+
+ Store(p94e, arg1)
+ Store(CondRefOf(arg1, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 719)
+
+ Store(p94f, arg1)
+ Store(CondRefOf(arg1, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 720)
+
+ Store(p950, arg1)
+ Store(CondRefOf(arg1, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 721)
+
+ Store(p951, arg1)
+ Store(CondRefOf(arg1, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 722)
+
+ Store(p952, arg1)
+ Store(CondRefOf(arg1, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 723)
+
+ m1a6()
+
+ return
+}
+
+Method(m185, 3)
+{
+ Store(z079, c081) // absolute index of file initiating the checking
+ Store(1, c089) // flag of Reference, object otherwise
+
+ if (arg0) {
+ m180(0, 0)
+ }
+ if (arg1) {
+ m181(0, 0, c083)
+ }
+ if (arg2) {
+ m182(0, 0, c083)
+ }
+}
+
+// The mode with the chain of references to LocalX
+Method(m186)
+{
+ Store(1, c084) // run verification of references (reading)
+ Store(1, c085) // create the chain of references to LocalX, then dereference them
+
+ Store("The mode with the chain of references to LocalX:", Debug)
+
+ m185(1, 1, 1)
+}
+
+// Run-method
+Method(REF3)
+{
+ Store("TEST: REF3, References", Debug)
+
+ Store("REF3", c080) // name of test
+ Store(0, c082) // flag of test of exceptions
+ Store(0, c083) // run verification of references (write/read)
+ Store(0, c086) // flag, run test till the first error
+ Store(1, c087) // apply DeRefOf to ArgX-ObjectReference
+
+ m186()
+}
diff --git a/tests/aslts/src/runtime/collections/functional/reference/ref04.asl b/tests/aslts/src/runtime/collections/functional/reference/ref04.asl
new file mode 100644
index 000000000..dd9ba7b8d
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/reference/ref04.asl
@@ -0,0 +1,3556 @@
+/*
+ * 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.
+ */
+
+/*
+ * References
+ *
+ * (named objects, if present, are the global objects (from DefinitionBlock))
+ *
+ * TABLE 2: all the legal ways to generate references to the
+ * named objects
+ * TABLE 4: all the legal ways to generate references to the
+ * named objects being elements of Package
+ *
+ * Producing Reference operators:
+ *
+ * Index, RefOf, CondRefOf
+ */
+
+/*
+??????????????
+SEE: PUT everywhere APPROPREATE arg6 - number of checking for diagnostics
+!!!!!!!!!!!!!!
+SEE: add verification of Field Unit (in all files)
+SEE: run the tests two times - to check that the data are not corrupted
+SEE: uncomment runs after bug fixing
+*/
+
+
+Name(z080, 80)
+
+// ///////////////////////////////////////////////////////////////////////////
+//
+// TABLE 2: all the legal ways to generate references to the named objects
+//
+// ///////////////////////////////////////////////////////////////////////////
+
+// m169 but with global data
+Method(m190)
+{
+ if (y100) {
+ ts00("m190")
+ } else {
+ Store("m190", Debug)
+ }
+
+ // T2:I2-I4
+
+ if (y114) {
+ // Remove this after the bug fixing
+ Store(Index(m902, 0), Local0)
+ m1a0(Local0, c010, Ones, 0)
+ }
+
+ // Computational Data
+
+ Store(Index(s900, 0), Local0)
+ m1a2(Local0, c016, 0, 0, c009, 0x31, 1)
+
+ Store(Index(s901, 2), Local0)
+ m1a2(Local0, c016, 0, 0, c009, 0x72, 2)
+
+ Store(Index(b900, 3), Local0)
+ m1a2(Local0, c016, 0, 0, c009, 0xb3, 3)
+
+ // Elements of Package are Uninitialized
+
+ if (y104) {
+ Store(Index(p900, 0), Local0)
+ m1a0(Local0, c008, Ones, 4)
+ }
+
+ // Elements of Package are Computational Data
+
+ Store(Index(p901, 0), Local0)
+ m1a2(Local0, c009, 0, 0, c009, 0xabcd0004, 5)
+
+ Store(Index(p901, 1), Local0)
+ m1a2(Local0, c009, 0, 0, c009, 0x1122334455660005, 6)
+
+ Store(Index(p902, 0), Local0)
+ m1a2(Local0, c00a, 0, 0, c00a, "12340006", 7)
+
+ Store(Index(p902, 1), Local0)
+ m1a2(Local0, c00a, 0, 0, c00a, "q1w2e3r4t5y6u7i80007", 8)
+
+ Store(Index(p903, 0), Local0)
+ m1a2(Local0, c00a, 0, 0, c00a, "qwrtyuiop0008", 9)
+
+ Store(Index(p903, 1), Local0)
+ m1a2(Local0, c00a, 0, 0, c00a, "1234567890abdef0250009", 10)
+
+ Store(Index(p904, 0), Local0)
+ m1a2(Local0, c00b, 0, 0, c00b, Buffer() {0xb5,0xb6,0xb7}, 11)
+
+ Store(Index(p905, 0), Local0)
+ m1a2(Local0, c00c, 1, 0, c009, 0xabc000a, 12)
+
+ Store(Index(p905, 0), Local0)
+ m1a2(Local0, c00c, 1, 1, c00a, "0xabc000b", 13)
+
+ Store(Index(p906, 0), Local0)
+ m1a2(Local0, c00c, 1, 0, c00a, "abc000d", 14)
+
+ Store(Index(p907, 0), Local0)
+ m1a2(Local0, c00c, 1, 0, c00a, "aqwevbgnm000e", 15)
+
+ Store(Index(p908, 0), Local0)
+ m1a2(Local0, c00c, 1, 0, c00b, Buffer() {0xba,0xbb,0xbc,0xbd,0xbe}, 16)
+
+ Store(Index(p909, 0), Local0)
+ m1a2(Local0, c00c, 2, 0, c009, 0xabc000f, 17)
+
+ Store(Index(p90a, 0), Local0)
+ m1a2(Local0, c00c, 2, 0, c00a, "12340010", 18)
+
+ Store(Index(p90b, 0), Local0)
+ m1a2(Local0, c00c, 2, 0, c00a, "zxswefas0011", 19)
+
+ Store(Index(p90c, 0), Local0)
+ m1a2(Local0, c00c, 2, 0, c00b, Buffer() {0xbf,0xc0,0xc1}, 20)
+
+ Store(Index(p90d, 0), Local0)
+ m1a2(Local0, c009, 0, 0, c009, 0xfe7cb391d65a0000, 21)
+
+ Store(Index(p90e, 0), Local0)
+ m1a2(Local0, c009, 0, 0, c009, 0xc1790001, 22)
+
+ Store(Index(p90f, 0), Local0)
+ m1a2(Local0, c00a, 0, 0, c00a, "12340002", 23)
+
+ Store(Index(p910, 0), Local0)
+ m1a2(Local0, c00a, 0, 0, c00a, "qwrtyu0003", 24)
+
+ Store(Index(p911, 0), Local0)
+ m1a2(Local0, c00b, 0, 0, c00b, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4}, 25)
+
+ if (y118) {
+ Store(Index(p912, 0), Local0)
+ m1a2(Local0, c00d, 0, 0, c00d, 0, 26)
+
+ Store(Index(p913, 0), Local0)
+ m1a2(Local0, c00d, 0, 0, c00d, 0, 27)
+
+ Store(Index(p914, 0), Local0)
+ m1a2(Local0, c00d, 0, 0, c00d, 0, 28)
+
+ Store(Index(p915, 0), Local0)
+ m1a2(Local0, c016, 0, 0, c016, 0xb0, 29)
+ }
+
+ // Elements of Package are NOT Computational Data
+
+ Store(Index(p916, 0), Local0)
+ m1a0(Local0, c00e, Ones, 30)
+
+ Store(Index(p917, 0), Local0)
+ m1a0(Local0, c00f, Ones, 31)
+
+ Store(Index(p918, 0), Local0)
+ m1a0(Local0, c011, Ones, 32)
+
+ Store(Index(p919, 0), Local0)
+ m1a0(Local0, c012, Ones, 33)
+
+ Store(Index(p91a, 0), Local0)
+ m1a0(Local0, c013, Ones, 34)
+
+ Store(Index(p91b, 0), Local0)
+ m1a0(Local0, c014, Ones, 35)
+
+ Store(Index(p91c, 0), Local0)
+ m1a0(Local0, c015, Ones, 36)
+
+ // Elements of Package are Methods
+
+ if (y105) {
+
+ Store(Index(p91d, 0), Local0)
+ m1a0(Local0, c010, Ones, 37)
+
+ Store(Index(p91e, 0), Local0)
+ m1a0(Local0, c010, Ones, 38)
+
+ Store(Index(p91f, 0), Local0)
+ m1a0(Local0, c010, Ones, 39)
+
+ Store(Index(p920, 0), Local0)
+ m1a0(Local0, c010, Ones, 40)
+
+ Store(Index(p921, 0), Local0)
+ m1a0(Local0, c010, Ones, 41)
+
+ Store(Index(p922, 0), Local0)
+ m1a0(Local0, c010, Ones, 42)
+
+ Store(Index(p923, 0), Local0)
+ m1a0(Local0, c010, Ones, 43)
+
+ Store(Index(p924, 0), Local0)
+ m1a0(Local0, c010, Ones, 44)
+
+ Store(Index(p925, 0), Local0)
+ m1a0(Local0, c010, Ones, 45)
+
+ Store(Index(p926, 0), Local0)
+ m1a0(Local0, c010, Ones, 46)
+
+ Store(Index(p927, 0), Local0)
+ m1a0(Local0, c010, Ones, 47)
+
+ Store(Index(p928, 0), Local0)
+ m1a0(Local0, c010, Ones, 48)
+
+ Store(Index(p929, 0), Local0)
+ m1a0(Local0, c010, Ones, 49)
+
+ Store(Index(p92a, 0), Local0)
+ m1a0(Local0, c010, Ones, 50)
+
+ Store(Index(p92b, 0), Local0)
+ m1a0(Local0, c010, Ones, 51)
+
+ Store(Index(p92c, 0), Local0)
+ m1a0(Local0, c010, Ones, 52)
+
+ Store(Index(p92d, 0), Local0)
+ m1a0(Local0, c010, Ones, 53)
+
+ Store(Index(p92e, 0), Local0)
+ m1a0(Local0, c010, Ones, 54)
+
+ Store(Index(p92f, 0), Local0)
+ m1a0(Local0, c010, Ones, 55)
+
+ Store(Index(p930, 0), Local0)
+ m1a0(Local0, c010, Ones, 56)
+
+ Store(Index(p931, 0), Local0)
+ m1a0(Local0, c010, Ones, 57)
+
+ Store(Index(p932, 0), Local0)
+ m1a0(Local0, c010, Ones, 58)
+
+ Store(Index(p933, 0), Local0)
+ m1a0(Local0, c010, Ones, 59)
+
+ Store(Index(p934, 0), Local0)
+ m1a0(Local0, c010, Ones, 60)
+
+ if (y103) {
+ Store(Index(p935, 0), Local0)
+ m1a0(Local0, c010, Ones, 61)
+ }
+
+ Store(Index(p936, 0), Local0)
+ m1a0(Local0, c010, Ones, 62)
+
+ Store(Index(p937, 0), Local0)
+ m1a0(Local0, c010, Ones, 63)
+
+ Store(Index(p938, 0), Local0)
+ m1a0(Local0, c010, Ones, 64)
+
+ Store(Index(p939, 0), Local0)
+ m1a0(Local0, c010, Ones, 65)
+
+ Store(Index(p93a, 0), Local0)
+ m1a0(Local0, c010, Ones, 66)
+
+ Store(Index(p93b, 0), Local0)
+ m1a0(Local0, c010, Ones, 67)
+
+ Store(Index(p93c, 0), Local0)
+ m1a0(Local0, c010, Ones, 68)
+
+ Store(Index(p93d, 0), Local0)
+ m1a0(Local0, c010, Ones, 69)
+
+ Store(Index(p93e, 0), Local0)
+ m1a0(Local0, c010, Ones, 70)
+
+ Store(Index(p93f, 0), Local0)
+ m1a0(Local0, c010, Ones, 71)
+
+ Store(Index(p940, 0), Local0)
+ m1a0(Local0, c010, Ones, 72)
+
+ Store(Index(p941, 0), Local0)
+ m1a0(Local0, c010, Ones, 73)
+
+ Store(Index(p942, 0), Local0)
+ m1a0(Local0, c010, Ones, 74)
+
+ Store(Index(p943, 0), Local0)
+ m1a0(Local0, c010, Ones, 75)
+
+ Store(Index(p944, 0), Local0)
+ m1a0(Local0, c010, Ones, 76)
+
+ Store(Index(p945, 0), Local0)
+ m1a0(Local0, c010, Ones, 77)
+
+ Store(Index(p946, 0), Local0)
+ m1a0(Local0, c010, Ones, 78)
+
+ Store(Index(p947, 0), Local0)
+ m1a0(Local0, c010, Ones, 79)
+
+ Store(Index(p948, 0), Local0)
+ m1a0(Local0, c010, Ones, 80)
+
+ Store(Index(p949, 0), Local0)
+ m1a0(Local0, c010, Ones, 81)
+
+ Store(Index(p94a, 0), Local0)
+ m1a0(Local0, c010, Ones, 82)
+
+ Store(Index(p94b, 0), Local0)
+ m1a0(Local0, c010, Ones, 83)
+
+ Store(Index(p94c, 0), Local0)
+ m1a0(Local0, c010, Ones, 84)
+
+ Store(Index(p94d, 0), Local0)
+ m1a0(Local0, c010, Ones, 85)
+
+ Store(Index(p94e, 0), Local0)
+ m1a0(Local0, c010, Ones, 86)
+
+ Store(Index(p94f, 0), Local0)
+ m1a0(Local0, c010, Ones, 87)
+
+ Store(Index(p950, 0), Local0)
+ m1a0(Local0, c010, Ones, 88)
+
+ Store(Index(p951, 0), Local0)
+ m1a0(Local0, c010, Ones, 89)
+
+ Store(Index(p952, 0), Local0)
+ m1a0(Local0, c010, Ones, 90)
+ }
+
+ // T2:IR2-IR4
+
+ // Computational Data
+
+ Store(Index(s900, 0, Local1), Local0)
+ m1a2(Local0, c016, 0, 0, c009, 0x31, 91)
+ m1a2(Local1, c016, 0, 0, c009, 0x31, 92)
+
+ Store(Index(s901, 2, Local1), Local0)
+ m1a2(Local0, c016, 0, 0, c009, 0x72, 93)
+ m1a2(Local1, c016, 0, 0, c009, 0x72, 94)
+
+ Store(Index(b900, 4, Local1), Local0)
+ m1a2(Local0, c016, 0, 0, c009, 0xb4, 95)
+ m1a2(Local1, c016, 0, 0, c009, 0xb4, 96)
+
+ // Elements of Package are Uninitialized
+
+ if (y104) {
+ Store(Index(p900, 0, Local1), Local0)
+ m1a0(Local0, c008, Ones, 97)
+ m1a0(Local1, c008, Ones, 98)
+ }
+
+ // Elements of Package are Computational Data
+
+ Store(Index(p901, 0, Local1), Local0)
+ m1a2(Local0, c009, 0, 0, c009, 0xabcd0004, 99)
+ m1a2(Local1, c009, 0, 0, c009, 0xabcd0004, 100)
+
+ Store(Index(p901, 1, Local1), Local0)
+ m1a2(Local0, c009, 0, 0, c009, 0x1122334455660005, 101)
+ m1a2(Local1, c009, 0, 0, c009, 0x1122334455660005, 102)
+
+ Store(Index(p902, 0, Local1), Local0)
+ m1a2(Local0, c00a, 0, 0, c00a, "12340006", 103)
+ m1a2(Local1, c00a, 0, 0, c00a, "12340006", 104)
+
+ Store(Index(p902, 1, Local1), Local0)
+ m1a2(Local0, c00a, 0, 0, c00a, "q1w2e3r4t5y6u7i80007", 105)
+ m1a2(Local1, c00a, 0, 0, c00a, "q1w2e3r4t5y6u7i80007", 106)
+
+ Store(Index(p903, 0, Local1), Local0)
+ m1a2(Local0, c00a, 0, 0, c00a, "qwrtyuiop0008", 107)
+ m1a2(Local1, c00a, 0, 0, c00a, "qwrtyuiop0008", 108)
+
+ Store(Index(p903, 1, Local1), Local0)
+ m1a2(Local0, c00a, 0, 0, c00a, "1234567890abdef0250009", 109)
+ m1a2(Local1, c00a, 0, 0, c00a, "1234567890abdef0250009", 110)
+
+ Store(Index(p904, 0, Local1), Local0)
+ m1a2(Local0, c00b, 0, 0, c00b, Buffer() {0xb5,0xb6,0xb7}, 111)
+ m1a2(Local1, c00b, 0, 0, c00b, Buffer() {0xb5,0xb6,0xb7}, 112)
+
+ Store(Index(p905, 0, Local1), Local0)
+ m1a2(Local0, c00c, 1, 0, c009, 0xabc000a, 113)
+ m1a2(Local1, c00c, 1, 0, c009, 0xabc000a, 114)
+
+ Store(Index(p905, 0, Local1), Local0)
+ m1a2(Local0, c00c, 1, 1, c00a, "0xabc000b", 115)
+ m1a2(Local1, c00c, 1, 1, c00a, "0xabc000b", 116)
+
+ Store(Index(p906, 0, Local1), Local0)
+ m1a2(Local0, c00c, 1, 0, c00a, "abc000d", 117)
+ m1a2(Local1, c00c, 1, 0, c00a, "abc000d", 118)
+
+ Store(Index(p907, 0, Local1), Local0)
+ m1a2(Local0, c00c, 1, 0, c00a, "aqwevbgnm000e", 119)
+ m1a2(Local1, c00c, 1, 0, c00a, "aqwevbgnm000e", 120)
+
+ Store(Index(p908, 0, Local1), Local0)
+ m1a2(Local0, c00c, 1, 0, c00b, Buffer() {0xba,0xbb,0xbc,0xbd,0xbe}, 121)
+ m1a2(Local1, c00c, 1, 0, c00b, Buffer() {0xba,0xbb,0xbc,0xbd,0xbe}, 122)
+
+ Store(Index(p909, 0, Local1), Local0)
+ m1a2(Local0, c00c, 2, 0, c009, 0xabc000f, 123)
+ m1a2(Local1, c00c, 2, 0, c009, 0xabc000f, 124)
+
+ Store(Index(p90a, 0, Local1), Local0)
+ m1a2(Local0, c00c, 2, 0, c00a, "12340010", 125)
+ m1a2(Local1, c00c, 2, 0, c00a, "12340010", 126)
+
+ Store(Index(p90b, 0, Local1), Local0)
+ m1a2(Local0, c00c, 2, 0, c00a, "zxswefas0011", 127)
+ m1a2(Local1, c00c, 2, 0, c00a, "zxswefas0011", 128)
+
+ Store(Index(p90c, 0, Local1), Local0)
+ m1a2(Local0, c00c, 2, 0, c00b, Buffer() {0xbf,0xc0,0xc1}, 129)
+ m1a2(Local1, c00c, 2, 0, c00b, Buffer() {0xbf,0xc0,0xc1}, 130)
+
+ Store(Index(p90d, 0, Local1), Local0)
+ m1a2(Local0, c009, 0, 0, c009, 0xfe7cb391d65a0000, 131)
+ m1a2(Local1, c009, 0, 0, c009, 0xfe7cb391d65a0000, 132)
+
+ Store(Index(p90e, 0, Local1), Local0)
+ m1a2(Local0, c009, 0, 0, c009, 0xc1790001, 133)
+ m1a2(Local1, c009, 0, 0, c009, 0xc1790001, 134)
+
+ Store(Index(p90f, 0, Local1), Local0)
+ m1a2(Local0, c00a, 0, 0, c00a, "12340002", 135)
+ m1a2(Local1, c00a, 0, 0, c00a, "12340002", 136)
+
+ Store(Index(p910, 0, Local1), Local0)
+ m1a2(Local0, c00a, 0, 0, c00a, "qwrtyu0003", 137)
+ m1a2(Local1, c00a, 0, 0, c00a, "qwrtyu0003", 138)
+
+ Store(Index(p911, 0, Local1), Local0)
+ m1a2(Local0, c00b, 0, 0, c00b, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4}, 139)
+ m1a2(Local1, c00b, 0, 0, c00b, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4}, 140)
+
+ if (y118) {
+ Store(Index(p912, 0, Local1), Local0)
+ m1a2(Local0, c00d, 0, 0, c00d, 0, 141)
+ m1a2(Local1, c00d, 0, 0, c00d, 0, 142)
+
+ Store(Index(p913, 0, Local1), Local0)
+ m1a2(Local0, c00d, 0, 0, c00d, 0, 143)
+ m1a2(Local1, c00d, 0, 0, c00d, 0, 144)
+
+ Store(Index(p914, 0, Local1), Local0)
+ m1a2(Local0, c00d, 0, 0, c00d, 0, 145)
+ m1a2(Local1, c00d, 0, 0, c00d, 0, 146)
+
+ Store(Index(p915, 0, Local1), Local0)
+ m1a2(Local0, c016, 0, 0, c016, 0xb0, 147)
+ m1a2(Local1, c016, 0, 0, c016, 0xb0, 148)
+ }
+
+ // Elements of Package are NOT Computational Data
+
+ Store(Index(p916, 0, Local1), Local0)
+ m1a0(Local0, c00e, Ones, 149)
+ m1a0(Local1, c00e, Ones, 150)
+
+ Store(Index(p917, 0, Local1), Local0)
+ m1a0(Local0, c00f, Ones, 151)
+ m1a0(Local1, c00f, Ones, 152)
+
+ Store(Index(p918, 0, Local1), Local0)
+ m1a0(Local0, c011, Ones, 153)
+ m1a0(Local1, c011, Ones, 154)
+
+ Store(Index(p919, 0, Local1), Local0)
+ m1a0(Local0, c012, Ones, 155)
+ m1a0(Local1, c012, Ones, 156)
+
+ Store(Index(p91a, 0, Local1), Local0)
+ m1a0(Local0, c013, Ones, 157)
+ m1a0(Local1, c013, Ones, 158)
+
+ Store(Index(p91b, 0, Local1), Local0)
+ m1a0(Local0, c014, Ones, 159)
+ m1a0(Local1, c014, Ones, 160)
+
+ Store(Index(p91c, 0, Local1), Local0)
+ m1a0(Local0, c015, Ones, 161)
+ m1a0(Local1, c015, Ones, 162)
+
+ // Elements of Package are Methods
+
+ if (y105) {
+
+ Store(Index(p91d, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 163)
+ m1a0(Local1, c010, Ones, 164)
+
+ Store(Index(p91e, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 165)
+ m1a0(Local1, c010, Ones, 166)
+
+ Store(Index(p91f, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 167)
+ m1a0(Local1, c010, Ones, 168)
+
+ Store(Index(p920, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 169)
+ m1a0(Local1, c010, Ones, 170)
+
+ Store(Index(p921, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 171)
+ m1a0(Local1, c010, Ones, 172)
+
+ Store(Index(p922, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 173)
+ m1a0(Local1, c010, Ones, 174)
+
+ Store(Index(p923, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 175)
+ m1a0(Local1, c010, Ones, 176)
+
+ Store(Index(p924, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 177)
+ m1a0(Local1, c010, Ones, 178)
+
+ Store(Index(p925, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 179)
+ m1a0(Local1, c010, Ones, 180)
+
+ Store(Index(p926, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 181)
+ m1a0(Local1, c010, Ones, 182)
+
+ Store(Index(p927, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 183)
+ m1a0(Local1, c010, Ones, 184)
+
+ Store(Index(p928, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 185)
+ m1a0(Local1, c010, Ones, 186)
+
+ Store(Index(p929, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 187)
+ m1a0(Local1, c010, Ones, 188)
+
+ Store(Index(p92a, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 189)
+ m1a0(Local1, c010, Ones, 190)
+
+ Store(Index(p92b, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 191)
+ m1a0(Local1, c010, Ones, 192)
+
+ Store(Index(p92c, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 193)
+ m1a0(Local1, c010, Ones, 194)
+
+ Store(Index(p92d, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 195)
+ m1a0(Local1, c010, Ones, 196)
+
+ Store(Index(p92e, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 197)
+ m1a0(Local1, c010, Ones, 198)
+
+ Store(Index(p92f, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 199)
+ m1a0(Local1, c010, Ones, 200)
+
+ Store(Index(p930, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 201)
+ m1a0(Local1, c010, Ones, 202)
+
+ Store(Index(p931, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 203)
+ m1a0(Local1, c010, Ones, 204)
+
+ Store(Index(p932, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 205)
+ m1a0(Local1, c010, Ones, 206)
+
+ Store(Index(p933, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 207)
+ m1a0(Local1, c010, Ones, 208)
+
+ Store(Index(p934, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 209)
+ m1a0(Local1, c010, Ones, 210)
+
+ if (y103) {
+ Store(Index(p935, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 211)
+ m1a0(Local1, c010, Ones, 212)
+ }
+
+ Store(Index(p936, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 213)
+ m1a0(Local1, c010, Ones, 214)
+
+ Store(Index(p937, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 215)
+ m1a0(Local1, c010, Ones, 216)
+
+ Store(Index(p938, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 217)
+ m1a0(Local1, c010, Ones, 218)
+
+ Store(Index(p939, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 219)
+ m1a0(Local1, c010, Ones, 220)
+
+ Store(Index(p93a, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 221)
+ m1a0(Local1, c010, Ones, 222)
+
+ Store(Index(p93b, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 223)
+ m1a0(Local1, c010, Ones, 224)
+
+ Store(Index(p93c, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 225)
+ m1a0(Local1, c010, Ones, 226)
+
+ Store(Index(p93d, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 227)
+ m1a0(Local1, c010, Ones, 228)
+
+ Store(Index(p93e, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 229)
+ m1a0(Local1, c010, Ones, 230)
+
+ Store(Index(p93f, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 231)
+ m1a0(Local1, c010, Ones, 232)
+
+ Store(Index(p940, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 233)
+ m1a0(Local1, c010, Ones, 234)
+
+ Store(Index(p941, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 235)
+ m1a0(Local1, c010, Ones, 236)
+
+ Store(Index(p942, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 237)
+ m1a0(Local1, c010, Ones, 238)
+
+ Store(Index(p943, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 239)
+ m1a0(Local1, c010, Ones, 240)
+
+ Store(Index(p944, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 241)
+ m1a0(Local1, c010, Ones, 242)
+
+ Store(Index(p945, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 243)
+ m1a0(Local1, c010, Ones, 244)
+
+ Store(Index(p946, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 245)
+ m1a0(Local1, c010, Ones, 246)
+
+ Store(Index(p947, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 247)
+ m1a0(Local1, c010, Ones, 248)
+
+ Store(Index(p948, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 249)
+ m1a0(Local1, c010, Ones, 250)
+
+ Store(Index(p949, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 251)
+ m1a0(Local1, c010, Ones, 252)
+
+ Store(Index(p94a, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 253)
+ m1a0(Local1, c010, Ones, 254)
+
+ Store(Index(p94b, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 255)
+ m1a0(Local1, c010, Ones, 256)
+
+ Store(Index(p94c, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 257)
+ m1a0(Local1, c010, Ones, 258)
+
+ Store(Index(p94d, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 259)
+ m1a0(Local1, c010, Ones, 260)
+
+ Store(Index(p94e, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 261)
+ m1a0(Local1, c010, Ones, 262)
+
+ Store(Index(p94f, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 263)
+ m1a0(Local1, c010, Ones, 264)
+
+ Store(Index(p950, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 265)
+ m1a0(Local1, c010, Ones, 266)
+
+ Store(Index(p951, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 267)
+ m1a0(Local1, c010, Ones, 268)
+
+ Store(Index(p952, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 269)
+ m1a0(Local1, c010, Ones, 270)
+ }
+
+ m1a6()
+}
+
+// m16a but with global data
+// arg0 - writing mode
+Method(m191, 1)
+{
+ if (y100) {
+ ts00("m191")
+ } else {
+ Store("m191", Debug)
+ }
+
+ // T2:R1-R14
+
+ // Computational Data
+
+ Store(RefOf(i900), Local0)
+ m1a2(Local0, c009, 0, 0, c009, 0xfe7cb391d65a0000, 271)
+
+ Store(RefOf(i901), Local0)
+ m1a2(Local0, c009, 0, 0, c009, 0xc1790001, 272)
+
+ Store(RefOf(s900), Local0)
+ m1a2(Local0, c00a, 0, 0, c00a, "12340002", 273)
+
+ Store(RefOf(s901), Local0)
+ m1a2(Local0, c00a, 0, 0, c00a, "qwrtyu0003", 274)
+
+ Store(RefOf(b900), Local0)
+ m1a2(Local0, c00b, 0, 0, c00b, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4}, 275)
+
+ // Not Computational Data
+
+ Store(RefOf(e900), Local0)
+ m1a0(Local0, c00f, Ones, 280)
+
+ Store(RefOf(mx90), Local0)
+ m1a0(Local0, c011, Ones, 281)
+
+ Store(RefOf(d900), Local0)
+ m1a0(Local0, c00e, Ones, 282)
+
+ if (arg0) {
+ if (y508) {
+ Store(RefOf(tz90), Local0)
+ m1a0(Local0, c015, Ones, 283)
+ }
+ } else {
+ Store(RefOf(tz90), Local0)
+ m1a0(Local0, c015, Ones, 283)
+ }
+
+ Store(RefOf(pr90), Local0)
+ m1a0(Local0, c014, Ones, 284)
+
+ if (arg0) {
+ if (y510) {
+ Store(RefOf(r900), Local0)
+ m1a0(Local0, c012, Ones, 285)
+ }
+ } else {
+ Store(RefOf(r900), Local0)
+ m1a0(Local0, c012, Ones, 1002)
+ }
+
+ Store(RefOf(pw90), Local0)
+ m1a0(Local0, c013, Ones, 286)
+
+ // Package
+
+ Store(RefOf(p953), Local0)
+ m1a2(Local0, c00c, 1, 0, c009, 0xabcd0018, 1001)
+
+ if (arg0) {
+ m1ab()
+ return
+ }
+
+ // Computational Data (Field Unit and Buffer Field)
+
+ Store(RefOf(f900), Local0)
+ m1a2(Local0, c00d, 0, 0, c009, 0, 276)
+
+ Store(RefOf(bn90), Local0)
+ m1a2(Local0, c00d, 0, 0, c009, 0, 277)
+
+ Store(RefOf(if90), Local0)
+ m1a2(Local0, c00d, 0, 0, c009, 0, 278)
+
+ Store(RefOf(bf90), Local0)
+ m1a2(Local0, c016, 0, 0, c009, 0xb0, 279)
+
+ // Elements of Package are Uninitialized
+
+ Store(RefOf(p900), Local0)
+ m1a0(Local0, c00c, Ones, 287)
+
+ // Elements of Package are Computational Data
+
+ Store(RefOf(p901), Local0)
+ m1a2(Local0, c00c, 1, 0, c009, 0xabcd0004, 288)
+ m1a2(Local0, c00c, 1, 1, c009, 0x1122334455660005, 289)
+
+ Store(RefOf(p902), Local0)
+ m1a2(Local0, c00c, 1, 0, c00a, "12340006", 290)
+ m1a2(Local0, c00c, 1, 1, c00a, "q1w2e3r4t5y6u7i80007", 291)
+
+ Store(RefOf(p903), Local0)
+ m1a2(Local0, c00c, 1, 0, c00a, "qwrtyuiop0008", 292)
+ m1a2(Local0, c00c, 1, 1, c00a, "1234567890abdef0250009", 293)
+
+ Store(RefOf(p904), Local0)
+ m1a2(Local0, c00c, 1, 0, c00b, Buffer() {0xb5,0xb6,0xb7}, 294)
+
+ Store(RefOf(p905), Local0)
+ m1a2(Local0, c00c, 2, 0, c009, 0xabc000a, 295)
+ m1a2(Local0, c00c, 2, 1, c00a, "0xabc000b", 296)
+
+ Store(RefOf(p906), Local0)
+ m1a2(Local0, c00c, 2, 0, c00a, "abc000d", 297)
+
+ Store(RefOf(p907), Local0)
+ m1a2(Local0, c00c, 2, 0, c00a, "aqwevbgnm000e", 298)
+
+ Store(RefOf(p908), Local0)
+ m1a2(Local0, c00c, 2, 0, c00b, Buffer() {0xba,0xbb,0xbc,0xbd,0xbe}, 299)
+
+ Store(RefOf(p909), Local0)
+ m1a2(Local0, c00c, 3, 0, c009, 0xabc000f, 300)
+
+ Store(RefOf(p90a), Local0)
+ m1a2(Local0, c00c, 3, 0, c00a, "12340010", 301)
+
+ Store(RefOf(p90b), Local0)
+ m1a2(Local0, c00c, 3, 0, c00a, "zxswefas0011", 302)
+
+ Store(RefOf(p90c), Local0)
+ m1a2(Local0, c00c, 3, 0, c00b, Buffer() {0xbf,0xc0,0xc1}, 303)
+
+ Store(RefOf(p90d), Local0)
+ m1a2(Local0, c00c, 1, 0, c009, 0xfe7cb391d65a0000, 304)
+
+ Store(RefOf(p90e), Local0)
+ m1a2(Local0, c00c, 1, 0, c009, 0xc1790001, 305)
+
+ Store(RefOf(p90f), Local0)
+ m1a2(Local0, c00c, 1, 0, c00a, "12340002", 306)
+
+ Store(RefOf(p910), Local0)
+ m1a2(Local0, c00c, 1, 0, c00a, "qwrtyu0003", 307)
+
+ Store(RefOf(p911), Local0)
+ m1a2(Local0, c00c, 1, 0, c00b, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4}, 308)
+
+ if (y118) {
+ Store(RefOf(p912), Local0)
+ m1a2(Local0, c00c, 1, 0, c00d, 0, 309)
+
+ Store(RefOf(p913), Local0)
+ m1a2(Local0, c00c, 1, 0, c00d, 0, 310)
+
+ Store(RefOf(p914), Local0)
+ m1a2(Local0, c00c, 1, 0, c00d, 0, 311)
+
+ Store(RefOf(p915), Local0)
+ m1a2(Local0, c00c, 1, 0, c016, 0xb0, 312)
+ }
+
+ // Elements of Package are NOT Computational Data
+
+ Store(RefOf(p916), Local0)
+ m1a0(Local0, c00c, Ones, 313)
+
+ Store(RefOf(p917), Local0)
+ m1a0(Local0, c00c, Ones, 314)
+
+ Store(RefOf(p918), Local0)
+ m1a0(Local0, c00c, Ones, 315)
+
+ Store(RefOf(p919), Local0)
+ m1a0(Local0, c00c, Ones, 316)
+
+ Store(RefOf(p91a), Local0)
+ m1a0(Local0, c00c, Ones, 317)
+
+ Store(RefOf(p91b), Local0)
+ m1a0(Local0, c00c, Ones, 318)
+
+ Store(RefOf(p91c), Local0)
+ m1a0(Local0, c00c, Ones, 319)
+
+ // Elements of Package are Methods
+
+ Store(RefOf(p91d), Local0)
+ m1a0(Local0, c00c, Ones, 320)
+
+ Store(RefOf(p91e), Local0)
+ m1a0(Local0, c00c, Ones, 321)
+
+ Store(RefOf(p91f), Local0)
+ m1a0(Local0, c00c, Ones, 322)
+
+ Store(RefOf(p920), Local0)
+ m1a0(Local0, c00c, Ones, 323)
+
+ Store(RefOf(p921), Local0)
+ m1a0(Local0, c00c, Ones, 324)
+
+ Store(RefOf(p922), Local0)
+ m1a0(Local0, c00c, Ones, 325)
+
+ Store(RefOf(p923), Local0)
+ m1a0(Local0, c00c, Ones, 326)
+
+ Store(RefOf(p924), Local0)
+ m1a0(Local0, c00c, Ones, 327)
+
+ Store(RefOf(p925), Local0)
+ m1a0(Local0, c00c, Ones, 328)
+
+ Store(RefOf(p926), Local0)
+ m1a0(Local0, c00c, Ones, 329)
+
+ Store(RefOf(p927), Local0)
+ m1a0(Local0, c00c, Ones, 330)
+
+ Store(RefOf(p928), Local0)
+ m1a0(Local0, c00c, Ones, 331)
+
+ Store(RefOf(p929), Local0)
+ m1a0(Local0, c00c, Ones, 332)
+
+ Store(RefOf(p92a), Local0)
+ m1a0(Local0, c00c, Ones, 333)
+
+ Store(RefOf(p92b), Local0)
+ m1a0(Local0, c00c, Ones, 334)
+
+ Store(RefOf(p92c), Local0)
+ m1a0(Local0, c00c, Ones, 335)
+
+ Store(RefOf(p92d), Local0)
+ m1a0(Local0, c00c, Ones, 336)
+
+ Store(RefOf(p92e), Local0)
+ m1a0(Local0, c00c, Ones, 337)
+
+ Store(RefOf(p92f), Local0)
+ m1a0(Local0, c00c, Ones, 338)
+
+ Store(RefOf(p930), Local0)
+ m1a0(Local0, c00c, Ones, 339)
+
+ Store(RefOf(p931), Local0)
+ m1a0(Local0, c00c, Ones, 340)
+
+ Store(RefOf(p932), Local0)
+ m1a0(Local0, c00c, Ones, 341)
+
+ Store(RefOf(p933), Local0)
+ m1a0(Local0, c00c, Ones, 342)
+
+ Store(RefOf(p934), Local0)
+ m1a0(Local0, c00c, Ones, 343)
+
+ Store(RefOf(p935), Local0)
+ m1a0(Local0, c00c, Ones, 344)
+
+ Store(RefOf(p936), Local0)
+ m1a0(Local0, c00c, Ones, 345)
+
+ Store(RefOf(p937), Local0)
+ m1a0(Local0, c00c, Ones, 346)
+
+ Store(RefOf(p938), Local0)
+ m1a0(Local0, c00c, Ones, 347)
+
+ Store(RefOf(p939), Local0)
+ m1a0(Local0, c00c, Ones, 348)
+
+ Store(RefOf(p93a), Local0)
+ m1a0(Local0, c00c, Ones, 349)
+
+ Store(RefOf(p93b), Local0)
+ m1a0(Local0, c00c, Ones, 350)
+
+ Store(RefOf(p93c), Local0)
+ m1a0(Local0, c00c, Ones, 351)
+
+ Store(RefOf(p93d), Local0)
+ m1a0(Local0, c00c, Ones, 352)
+
+ Store(RefOf(p93e), Local0)
+ m1a0(Local0, c00c, Ones, 353)
+
+ Store(RefOf(p93f), Local0)
+ m1a0(Local0, c00c, Ones, 354)
+
+ Store(RefOf(p940), Local0)
+ m1a0(Local0, c00c, Ones, 355)
+
+ Store(RefOf(p941), Local0)
+ m1a0(Local0, c00c, Ones, 356)
+
+ Store(RefOf(p942), Local0)
+ m1a0(Local0, c00c, Ones, 357)
+
+ Store(RefOf(p943), Local0)
+ m1a0(Local0, c00c, Ones, 358)
+
+ Store(RefOf(p944), Local0)
+ m1a0(Local0, c00c, Ones, 359)
+
+ Store(RefOf(p945), Local0)
+ m1a0(Local0, c00c, Ones, 360)
+
+ Store(RefOf(p946), Local0)
+ m1a0(Local0, c00c, Ones, 361)
+
+ Store(RefOf(p947), Local0)
+ m1a0(Local0, c00c, Ones, 362)
+
+ Store(RefOf(p948), Local0)
+ m1a0(Local0, c00c, Ones, 363)
+
+ Store(RefOf(p949), Local0)
+ m1a0(Local0, c00c, Ones, 364)
+
+ Store(RefOf(p94a), Local0)
+ m1a0(Local0, c00c, Ones, 365)
+
+ Store(RefOf(p94b), Local0)
+ m1a0(Local0, c00c, Ones, 366)
+
+ Store(RefOf(p94c), Local0)
+ m1a0(Local0, c00c, Ones, 367)
+
+ Store(RefOf(p94d), Local0)
+ m1a0(Local0, c00c, Ones, 368)
+
+ Store(RefOf(p94e), Local0)
+ m1a0(Local0, c00c, Ones, 369)
+
+ Store(RefOf(p94f), Local0)
+ m1a0(Local0, c00c, Ones, 370)
+
+ Store(RefOf(p950), Local0)
+ m1a0(Local0, c00c, Ones, 371)
+
+ Store(RefOf(p951), Local0)
+ m1a0(Local0, c00c, Ones, 372)
+
+ Store(RefOf(p952), Local0)
+ m1a0(Local0, c00c, Ones, 373)
+
+ // Methods
+
+ Store(RefOf(m900), Local0)
+ m1a0(Local0, c010, Ones, 374)
+
+ Store(RefOf(m901), Local0)
+ m1a0(Local0, c010, Ones, 375)
+
+ Store(RefOf(m902), Local0)
+ m1a0(Local0, c010, Ones, 376)
+
+ Store(RefOf(m903), Local0)
+ m1a0(Local0, c010, Ones, 377)
+
+ Store(RefOf(m904), Local0)
+ m1a0(Local0, c010, Ones, 378)
+
+ Store(RefOf(m905), Local0)
+ m1a0(Local0, c010, Ones, 379)
+
+ Store(RefOf(m906), Local0)
+ m1a0(Local0, c010, Ones, 380)
+
+ Store(RefOf(m907), Local0)
+ m1a0(Local0, c010, Ones, 381)
+
+ Store(RefOf(m908), Local0)
+ m1a0(Local0, c010, Ones, 382)
+
+ Store(RefOf(m909), Local0)
+ m1a0(Local0, c010, Ones, 383)
+
+ Store(RefOf(m90a), Local0)
+ m1a0(Local0, c010, Ones, 384)
+
+ Store(RefOf(m90b), Local0)
+ m1a0(Local0, c010, Ones, 385)
+
+ Store(RefOf(m90c), Local0)
+ m1a0(Local0, c010, Ones, 386)
+
+ Store(RefOf(m90d), Local0)
+ m1a0(Local0, c010, Ones, 387)
+
+ Store(RefOf(m90e), Local0)
+ m1a0(Local0, c010, Ones, 388)
+
+ Store(RefOf(m90f), Local0)
+ m1a0(Local0, c010, Ones, 389)
+
+ Store(RefOf(m910), Local0)
+ m1a0(Local0, c010, Ones, 390)
+
+ Store(RefOf(m911), Local0)
+ m1a0(Local0, c010, Ones, 391)
+
+ Store(RefOf(m912), Local0)
+ m1a0(Local0, c010, Ones, 392)
+
+ Store(RefOf(m913), Local0)
+ m1a0(Local0, c010, Ones, 393)
+
+ Store(RefOf(m914), Local0)
+ m1a0(Local0, c010, Ones, 394)
+
+ Store(RefOf(m915), Local0)
+ m1a0(Local0, c010, Ones, 395)
+
+ Store(RefOf(m916), Local0)
+ m1a0(Local0, c010, Ones, 396)
+
+ Store(RefOf(m917), Local0)
+ m1a0(Local0, c010, Ones, 397)
+
+ Store(RefOf(m918), Local0)
+ m1a0(Local0, c010, Ones, 398)
+
+ Store(RefOf(m919), Local0)
+ m1a0(Local0, c010, Ones, 399)
+
+ Store(RefOf(m91a), Local0)
+ m1a0(Local0, c010, Ones, 400)
+
+ Store(RefOf(m91b), Local0)
+ m1a0(Local0, c010, Ones, 401)
+
+ Store(RefOf(m91c), Local0)
+ m1a0(Local0, c010, Ones, 402)
+
+ Store(RefOf(m91d), Local0)
+ m1a0(Local0, c010, Ones, 403)
+
+ Store(RefOf(m91e), Local0)
+ m1a0(Local0, c010, Ones, 404)
+
+ Store(RefOf(m91f), Local0)
+ m1a0(Local0, c010, Ones, 405)
+
+ Store(RefOf(m920), Local0)
+ m1a0(Local0, c010, Ones, 406)
+
+ Store(RefOf(m921), Local0)
+ m1a0(Local0, c010, Ones, 407)
+
+ Store(RefOf(m922), Local0)
+ m1a0(Local0, c010, Ones, 408)
+
+ Store(RefOf(m923), Local0)
+ m1a0(Local0, c010, Ones, 409)
+
+ Store(RefOf(m924), Local0)
+ m1a0(Local0, c010, Ones, 410)
+
+ Store(RefOf(m925), Local0)
+ m1a0(Local0, c010, Ones, 411)
+
+ Store(RefOf(m926), Local0)
+ m1a0(Local0, c010, Ones, 412)
+
+ Store(RefOf(m927), Local0)
+ m1a0(Local0, c010, Ones, 413)
+
+ Store(RefOf(m928), Local0)
+ m1a0(Local0, c010, Ones, 414)
+
+ Store(RefOf(m929), Local0)
+ m1a0(Local0, c010, Ones, 415)
+
+ Store(RefOf(m92a), Local0)
+ m1a0(Local0, c010, Ones, 416)
+
+ Store(RefOf(m92b), Local0)
+ m1a0(Local0, c010, Ones, 417)
+
+ Store(RefOf(m92c), Local0)
+ m1a0(Local0, c010, Ones, 418)
+
+ Store(RefOf(m92d), Local0)
+ m1a0(Local0, c010, Ones, 419)
+
+ Store(RefOf(m92e), Local0)
+ m1a0(Local0, c010, Ones, 420)
+
+ Store(RefOf(m92f), Local0)
+ m1a0(Local0, c010, Ones, 421)
+
+ Store(RefOf(m930), Local0)
+ m1a0(Local0, c010, Ones, 422)
+
+ Store(RefOf(m931), Local0)
+ m1a0(Local0, c010, Ones, 423)
+
+ Store(RefOf(m932), Local0)
+ m1a0(Local0, c010, Ones, 424)
+
+ Store(RefOf(m933), Local0)
+ m1a0(Local0, c010, Ones, 425)
+
+ Store(RefOf(m934), Local0)
+ m1a0(Local0, c010, Ones, 426)
+
+ Store(RefOf(m935), Local0)
+ m1a0(Local0, c010, Ones, 427)
+
+ m1a6()
+
+ return
+}
+
+// m16b but with global data
+Method(m192)
+{
+ if (y100) {
+ ts00("m192")
+ } else {
+ Store("m192", Debug)
+ }
+
+ // T2:C1-C14
+
+ // Computational Data
+
+ Store(CondRefOf(i900), Local0)
+ m1a4(Local0, 428)
+
+ Store(CondRefOf(i901), Local0)
+ m1a4(Local0, 429)
+
+ Store(CondRefOf(s900), Local0)
+ m1a4(Local0, 430)
+
+ Store(CondRefOf(s901), Local0)
+ m1a4(Local0, 431)
+
+ Store(CondRefOf(b900), Local0)
+ m1a4(Local0, 432)
+
+ Store(CondRefOf(f900), Local0)
+ m1a4(Local0, 433)
+
+ Store(CondRefOf(bn90), Local0)
+ m1a4(Local0, 434)
+
+ Store(CondRefOf(if90), Local0)
+ m1a4(Local0, 435)
+
+ Store(CondRefOf(bf90), Local0)
+ m1a4(Local0, 436)
+
+ // Not Computational Data
+
+ Store(CondRefOf(e900), Local0)
+ m1a4(Local0, 437)
+
+ Store(CondRefOf(mx90), Local0)
+ m1a4(Local0, 438)
+
+ Store(CondRefOf(d900), Local0)
+ m1a4(Local0, 439)
+
+ Store(CondRefOf(tz90), Local0)
+ m1a4(Local0, 450)
+
+ Store(CondRefOf(pr90), Local0)
+ m1a4(Local0, 451)
+
+ Store(CondRefOf(r900), Local0)
+ m1a4(Local0, 452)
+
+ Store(CondRefOf(pw90), Local0)
+ m1a4(Local0, 453)
+
+ // Elements of Package are Uninitialized
+
+ Store(CondRefOf(p900), Local0)
+ m1a4(Local0, 454)
+
+ // Elements of Package are Computational Data
+
+ Store(CondRefOf(p901), Local0)
+ m1a4(Local0, 455)
+
+ Store(CondRefOf(p902), Local0)
+ m1a4(Local0, 456)
+
+ Store(CondRefOf(p903), Local0)
+ m1a4(Local0, 457)
+
+ Store(CondRefOf(p904), Local0)
+ m1a4(Local0, 458)
+
+ Store(CondRefOf(p905), Local0)
+ m1a4(Local0, 459)
+
+ Store(CondRefOf(p906), Local0)
+ m1a4(Local0, 460)
+
+ Store(CondRefOf(p907), Local0)
+ m1a4(Local0, 461)
+
+ Store(CondRefOf(p908), Local0)
+ m1a4(Local0, 462)
+
+ Store(CondRefOf(p909), Local0)
+ m1a4(Local0, 463)
+
+ Store(CondRefOf(p90a), Local0)
+ m1a4(Local0, 464)
+
+ Store(CondRefOf(p90b), Local0)
+ m1a4(Local0, 465)
+
+ Store(CondRefOf(p90c), Local0)
+ m1a4(Local0, 466)
+
+ Store(CondRefOf(p90d), Local0)
+ m1a4(Local0, 467)
+
+ Store(CondRefOf(p90e), Local0)
+ m1a4(Local0, 468)
+
+ Store(CondRefOf(p90f), Local0)
+ m1a4(Local0, 469)
+
+ Store(CondRefOf(p910), Local0)
+ m1a4(Local0, 470)
+
+ Store(CondRefOf(p911), Local0)
+ m1a4(Local0, 471)
+
+ Store(CondRefOf(p912), Local0)
+ m1a4(Local0, 472)
+
+ Store(CondRefOf(p913), Local0)
+ m1a4(Local0, 473)
+
+ Store(CondRefOf(p914), Local0)
+ m1a4(Local0, 474)
+
+ Store(CondRefOf(p915), Local0)
+ m1a4(Local0, 475)
+
+ // Elements of Package are NOT Computational Data
+
+ Store(CondRefOf(p916), Local0)
+ m1a4(Local0, 476)
+
+ Store(CondRefOf(p917), Local0)
+ m1a4(Local0, 477)
+
+ Store(CondRefOf(p918), Local0)
+ m1a4(Local0, 478)
+
+ Store(CondRefOf(p919), Local0)
+ m1a4(Local0, 479)
+
+ Store(CondRefOf(p91a), Local0)
+ m1a4(Local0, 480)
+
+ Store(CondRefOf(p91b), Local0)
+ m1a4(Local0, 481)
+
+ Store(CondRefOf(p91c), Local0)
+ m1a4(Local0, 482)
+
+ // Elements of Package are Methods
+
+ Store(CondRefOf(p91d), Local0)
+ m1a4(Local0, 483)
+
+ Store(CondRefOf(p91e), Local0)
+ m1a4(Local0, 484)
+
+ Store(CondRefOf(p91f), Local0)
+ m1a4(Local0, 485)
+
+ Store(CondRefOf(p920), Local0)
+ m1a4(Local0, 486)
+
+ Store(CondRefOf(p921), Local0)
+ m1a4(Local0, 487)
+
+ Store(CondRefOf(p922), Local0)
+ m1a4(Local0, 488)
+
+ Store(CondRefOf(p923), Local0)
+ m1a4(Local0, 489)
+
+ Store(CondRefOf(p924), Local0)
+ m1a4(Local0, 490)
+
+ Store(CondRefOf(p925), Local0)
+ m1a4(Local0, 491)
+
+ Store(CondRefOf(p926), Local0)
+ m1a4(Local0, 492)
+
+ Store(CondRefOf(p927), Local0)
+ m1a4(Local0, 493)
+
+ Store(CondRefOf(p928), Local0)
+ m1a4(Local0, 494)
+
+ Store(CondRefOf(p929), Local0)
+ m1a4(Local0, 495)
+
+ Store(CondRefOf(p92a), Local0)
+ m1a4(Local0, 496)
+
+ Store(CondRefOf(p92b), Local0)
+ m1a4(Local0, 497)
+
+ Store(CondRefOf(p92c), Local0)
+ m1a4(Local0, 498)
+
+ Store(CondRefOf(p92d), Local0)
+ m1a4(Local0, 499)
+
+ Store(CondRefOf(p92e), Local0)
+ m1a4(Local0, 500)
+
+ Store(CondRefOf(p92f), Local0)
+ m1a4(Local0, 501)
+
+ Store(CondRefOf(p930), Local0)
+ m1a4(Local0, 502)
+
+ Store(CondRefOf(p931), Local0)
+ m1a4(Local0, 503)
+
+ Store(CondRefOf(p932), Local0)
+ m1a4(Local0, 504)
+
+ Store(CondRefOf(p933), Local0)
+ m1a4(Local0, 505)
+
+ Store(CondRefOf(p934), Local0)
+ m1a4(Local0, 506)
+
+ Store(CondRefOf(p935), Local0)
+ m1a4(Local0, 507)
+
+ Store(CondRefOf(p936), Local0)
+ m1a4(Local0, 508)
+
+ Store(CondRefOf(p937), Local0)
+ m1a4(Local0, 509)
+
+ Store(CondRefOf(p938), Local0)
+ m1a4(Local0, 510)
+
+ Store(CondRefOf(p939), Local0)
+ m1a4(Local0, 511)
+
+ Store(CondRefOf(p93a), Local0)
+ m1a4(Local0, 512)
+
+ Store(CondRefOf(p93b), Local0)
+ m1a4(Local0, 513)
+
+ Store(CondRefOf(p93c), Local0)
+ m1a4(Local0, 514)
+
+ Store(CondRefOf(p93d), Local0)
+ m1a4(Local0, 515)
+
+ Store(CondRefOf(p93e), Local0)
+ m1a4(Local0, 516)
+
+ Store(CondRefOf(p93f), Local0)
+ m1a4(Local0, 517)
+
+ Store(CondRefOf(p940), Local0)
+ m1a4(Local0, 518)
+
+ Store(CondRefOf(p941), Local0)
+ m1a4(Local0, 519)
+
+ Store(CondRefOf(p942), Local0)
+ m1a4(Local0, 520)
+
+ Store(CondRefOf(p943), Local0)
+ m1a4(Local0, 521)
+
+ Store(CondRefOf(p944), Local0)
+ m1a4(Local0, 522)
+
+ Store(CondRefOf(p945), Local0)
+ m1a4(Local0, 523)
+
+ Store(CondRefOf(p946), Local0)
+ m1a4(Local0, 524)
+
+ Store(CondRefOf(p947), Local0)
+ m1a4(Local0, 525)
+
+ Store(CondRefOf(p948), Local0)
+ m1a4(Local0, 526)
+
+ Store(CondRefOf(p949), Local0)
+ m1a4(Local0, 527)
+
+ Store(CondRefOf(p94a), Local0)
+ m1a4(Local0, 528)
+
+ Store(CondRefOf(p94b), Local0)
+ m1a4(Local0, 529)
+
+ Store(CondRefOf(p94c), Local0)
+ m1a4(Local0, 530)
+
+ Store(CondRefOf(p94d), Local0)
+ m1a4(Local0, 531)
+
+ Store(CondRefOf(p94e), Local0)
+ m1a4(Local0, 532)
+
+ Store(CondRefOf(p94f), Local0)
+ m1a4(Local0, 533)
+
+ Store(CondRefOf(p950), Local0)
+ m1a4(Local0, 534)
+
+ Store(CondRefOf(p951), Local0)
+ m1a4(Local0, 535)
+
+ Store(CondRefOf(p952), Local0)
+ m1a4(Local0, 536)
+
+ // Methods
+
+ Store(CondRefOf(m900), Local0)
+ m1a4(Local0, 537)
+
+ Store(CondRefOf(m901), Local0)
+ m1a4(Local0, 538)
+
+ Store(CondRefOf(m902), Local0)
+ m1a4(Local0, 539)
+
+ Store(CondRefOf(m903), Local0)
+ m1a4(Local0, 540)
+
+ Store(CondRefOf(m904), Local0)
+ m1a4(Local0, 541)
+
+ Store(CondRefOf(m905), Local0)
+ m1a4(Local0, 542)
+
+ Store(CondRefOf(m906), Local0)
+ m1a4(Local0, 543)
+
+ Store(CondRefOf(m907), Local0)
+ m1a4(Local0, 544)
+
+ Store(CondRefOf(m908), Local0)
+ m1a4(Local0, 545)
+
+ Store(CondRefOf(m909), Local0)
+ m1a4(Local0, 546)
+
+ Store(CondRefOf(m90a), Local0)
+ m1a4(Local0, 547)
+
+ Store(CondRefOf(m90b), Local0)
+ m1a4(Local0, 548)
+
+ Store(CondRefOf(m90c), Local0)
+ m1a4(Local0, 549)
+
+ Store(CondRefOf(m90d), Local0)
+ m1a4(Local0, 550)
+
+ Store(CondRefOf(m90e), Local0)
+ m1a4(Local0, 551)
+
+ Store(CondRefOf(m90f), Local0)
+ m1a4(Local0, 552)
+
+ Store(CondRefOf(m910), Local0)
+ m1a4(Local0, 553)
+
+ Store(CondRefOf(m911), Local0)
+ m1a4(Local0, 554)
+
+ Store(CondRefOf(m912), Local0)
+ m1a4(Local0, 555)
+
+ Store(CondRefOf(m913), Local0)
+ m1a4(Local0, 556)
+
+ Store(CondRefOf(m914), Local0)
+ m1a4(Local0, 557)
+
+ Store(CondRefOf(m915), Local0)
+ m1a4(Local0, 558)
+
+ Store(CondRefOf(m916), Local0)
+ m1a4(Local0, 559)
+
+ Store(CondRefOf(m917), Local0)
+ m1a4(Local0, 560)
+
+ Store(CondRefOf(m918), Local0)
+ m1a4(Local0, 561)
+
+ Store(CondRefOf(m919), Local0)
+ m1a4(Local0, 562)
+
+ Store(CondRefOf(m91a), Local0)
+ m1a4(Local0, 563)
+
+ Store(CondRefOf(m91b), Local0)
+ m1a4(Local0, 564)
+
+ Store(CondRefOf(m91c), Local0)
+ m1a4(Local0, 565)
+
+ Store(CondRefOf(m91d), Local0)
+ m1a4(Local0, 566)
+
+ Store(CondRefOf(m91e), Local0)
+ m1a4(Local0, 567)
+
+ Store(CondRefOf(m91f), Local0)
+ m1a4(Local0, 568)
+
+ Store(CondRefOf(m920), Local0)
+ m1a4(Local0, 569)
+
+ Store(CondRefOf(m921), Local0)
+ m1a4(Local0, 570)
+
+ Store(CondRefOf(m922), Local0)
+ m1a4(Local0, 571)
+
+ Store(CondRefOf(m923), Local0)
+ m1a4(Local0, 572)
+
+ Store(CondRefOf(m924), Local0)
+ m1a4(Local0, 573)
+
+ Store(CondRefOf(m925), Local0)
+ m1a4(Local0, 574)
+
+ Store(CondRefOf(m926), Local0)
+ m1a4(Local0, 575)
+
+ Store(CondRefOf(m927), Local0)
+ m1a4(Local0, 576)
+
+ Store(CondRefOf(m928), Local0)
+ m1a4(Local0, 577)
+
+ Store(CondRefOf(m929), Local0)
+ m1a4(Local0, 578)
+
+ Store(CondRefOf(m92a), Local0)
+ m1a4(Local0, 579)
+
+ Store(CondRefOf(m92b), Local0)
+ m1a4(Local0, 580)
+
+ Store(CondRefOf(m92c), Local0)
+ m1a4(Local0, 581)
+
+ Store(CondRefOf(m92d), Local0)
+ m1a4(Local0, 582)
+
+ Store(CondRefOf(m92e), Local0)
+ m1a4(Local0, 583)
+
+ Store(CondRefOf(m92f), Local0)
+ m1a4(Local0, 584)
+
+ Store(CondRefOf(m930), Local0)
+ m1a4(Local0, 585)
+
+ Store(CondRefOf(m931), Local0)
+ m1a4(Local0, 586)
+
+ Store(CondRefOf(m932), Local0)
+ m1a4(Local0, 587)
+
+ Store(CondRefOf(m933), Local0)
+ m1a4(Local0, 588)
+
+ Store(CondRefOf(m934), Local0)
+ m1a4(Local0, 589)
+
+ Store(CondRefOf(m935), Local0)
+ m1a4(Local0, 590)
+
+ m1a6()
+}
+
+// m16c but with global data
+// arg0 - writing mode
+Method(m193, 1)
+{
+ if (y100) {
+ ts00("m193")
+ } else {
+ Store("m193", Debug)
+ }
+
+ // T2:CR1-CR14
+
+ // Computational Data
+
+ Store(CondRefOf(i900, Local0), Local1)
+ if (m1a4(Local1, 591)) {
+ m1a2(Local0, c009, 0, 0, c009, 0xfe7cb391d65a0000, 592)
+ }
+
+ Store(CondRefOf(i901, Local0), Local1)
+ if (m1a4(Local1, 593)) {
+ m1a2(Local0, c009, 0, 0, c009, 0xc1790001, 594)
+ }
+
+ Store(CondRefOf(s900, Local0), Local1)
+ if (m1a4(Local1, 595)) {
+ m1a2(Local0, c00a, 0, 0, c00a, "12340002", 596)
+ }
+
+ Store(CondRefOf(s901, Local0), Local1)
+ if (m1a4(Local1, 597)) {
+ m1a2(Local0, c00a, 0, 0, c00a, "qwrtyu0003", 598)
+ }
+
+ Store(CondRefOf(b900, Local0), Local1)
+ if (m1a4(Local1, 599)) {
+ m1a2(Local0, c00b, 0, 0, c00b, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4}, 600)
+ }
+
+ // Not Computational Data
+
+ Store(CondRefOf(e900, Local0), Local1)
+ m1a0(Local0, c00f, Local1, 609)
+
+ Store(CondRefOf(mx90, Local0), Local1)
+ m1a0(Local0, c011, Local1, 610)
+
+ Store(CondRefOf(d900, Local0), Local1)
+ m1a0(Local0, c00e, Local1, 611)
+
+ if (arg0) {
+ if (y508) {
+ Store(CondRefOf(tz90, Local0), Local1)
+ m1a0(Local0, c015, Local1, 612)
+ }
+ } else {
+ Store(CondRefOf(tz90, Local0), Local1)
+ m1a0(Local0, c015, Local1, 1004)
+ }
+
+ Store(CondRefOf(pr90, Local0), Local1)
+ m1a0(Local0, c014, Local1, 613)
+
+ if (arg0) {
+ if (y510) {
+ Store(CondRefOf(r900, Local0), Local1)
+ m1a0(Local0, c012, Local1, 614)
+ }
+ } else {
+ Store(CondRefOf(r900, Local0), Local1)
+ m1a0(Local0, c012, Local1, 614)
+ }
+
+ Store(CondRefOf(pw90, Local0), Local1)
+ m1a0(Local0, c013, Local1, 615)
+
+ // Package
+
+ Store(CondRefOf(p953, Local0), Local1)
+ if (m1a4(Local1, 1005)) {
+ m1a2(Local0, c00c, 1, 0, c009, 0xabcd0018, 1006)
+ }
+
+ if (arg0) {
+ m1ab()
+ return
+ }
+
+ // Computational Data (Field Unit and Buffer Field)
+
+ Store(CondRefOf(f900, Local0), Local1)
+ if (m1a4(Local1, 601)) {
+ m1a2(Local0, c00d, 0, 0, c009, 0, 602)
+ }
+
+ Store(CondRefOf(bn90, Local0), Local1)
+ if (m1a4(Local1, 603)) {
+ m1a2(Local0, c00d, 0, 0, c009, 0, 604)
+ }
+
+ Store(CondRefOf(if90, Local0), Local1)
+ if (m1a4(Local1, 605)) {
+ m1a2(Local0, c00d, 0, 0, c009, 0, 606)
+ }
+
+ Store(CondRefOf(bf90, Local0), Local1)
+ if (m1a4(Local1, 607)) {
+ m1a2(Local0, c016, 0, 0, c009, 0xb0, 608)
+ }
+
+ // Elements of Package are Uninitialized
+
+ Store(CondRefOf(p900, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 616)
+
+ // Elements of Package are Computational Data
+
+ Store(CondRefOf(p901, Local0), Local1)
+ if (m1a4(Local1, 617)) {
+ m1a2(Local0, c00c, 1, 0, c009, 0xabcd0004, 618)
+ m1a2(Local0, c00c, 1, 1, c009, 0x1122334455660005, 619)
+ }
+
+ Store(CondRefOf(p902, Local0), Local1)
+ if (m1a4(Local1, 620)) {
+ m1a2(Local0, c00c, 1, 0, c00a, "12340006", 621)
+ m1a2(Local0, c00c, 1, 1, c00a, "q1w2e3r4t5y6u7i80007", 622)
+ }
+
+ Store(CondRefOf(p903, Local0), Local1)
+ if (m1a4(Local1, 623)) {
+ m1a2(Local0, c00c, 1, 0, c00a, "qwrtyuiop0008", 624)
+ m1a2(Local0, c00c, 1, 1, c00a, "1234567890abdef0250009", 625)
+ }
+
+ Store(CondRefOf(p904, Local0), Local1)
+ if (m1a4(Local1, 626)) {
+ m1a2(Local0, c00c, 1, 0, c00b, Buffer() {0xb5,0xb6,0xb7}, 627)
+ }
+
+ Store(CondRefOf(p905, Local0), Local1)
+ if (m1a4(Local1, 628)) {
+ m1a2(Local0, c00c, 2, 0, c009, 0xabc000a, 629)
+ m1a2(Local0, c00c, 2, 1, c00a, "0xabc000b", 630)
+ }
+
+ Store(CondRefOf(p906, Local0), Local1)
+ if (m1a4(Local1, 631)) {
+ m1a2(Local0, c00c, 2, 0, c00a, "abc000d", 632)
+ }
+
+ Store(CondRefOf(p907, Local0), Local1)
+ if (m1a4(Local1, 633)) {
+ m1a2(Local0, c00c, 2, 0, c00a, "aqwevbgnm000e", 634)
+ }
+
+ Store(CondRefOf(p908, Local0), Local1)
+ if (m1a4(Local1, 635)) {
+ m1a2(Local0, c00c, 2, 0, c00b, Buffer() {0xba,0xbb,0xbc,0xbd,0xbe}, 636)
+ }
+
+ Store(CondRefOf(p909, Local0), Local1)
+ if (m1a4(Local1, 637)) {
+ m1a2(Local0, c00c, 3, 0, c009, 0xabc000f, 638)
+ }
+
+ Store(CondRefOf(p90a, Local0), Local1)
+ if (m1a4(Local1, 639)) {
+ m1a2(Local0, c00c, 3, 0, c00a, "12340010", 640)
+ }
+
+ Store(CondRefOf(p90b, Local0), Local1)
+ if (m1a4(Local1, 641)) {
+ m1a2(Local0, c00c, 3, 0, c00a, "zxswefas0011", 642)
+ }
+
+ Store(CondRefOf(p90c, Local0), Local1)
+ if (m1a4(Local1, 643)) {
+ m1a2(Local0, c00c, 3, 0, c00b, Buffer() {0xbf,0xc0,0xc1}, 644)
+ }
+
+ Store(CondRefOf(p90d, Local0), Local1)
+ if (m1a4(Local1, 645)) {
+ m1a2(Local0, c00c, 1, 0, c009, 0xfe7cb391d65a0000, 646)
+ }
+
+ Store(CondRefOf(p90e, Local0), Local1)
+ if (m1a4(Local1, 647)) {
+ m1a2(Local0, c00c, 1, 0, c009, 0xc1790001, 648)
+ }
+
+ Store(CondRefOf(p90f, Local0), Local1)
+ if (m1a4(Local1, 649)) {
+ m1a2(Local0, c00c, 1, 0, c00a, "12340002", 650)
+ }
+
+ Store(CondRefOf(p910, Local0), Local1)
+ if (m1a4(Local1, 651)) {
+ m1a2(Local0, c00c, 1, 0, c00a, "qwrtyu0003", 652)
+ }
+
+ Store(CondRefOf(p911, Local0), Local1)
+ if (m1a4(Local1, 653)) {
+ m1a2(Local0, c00c, 1, 0, c00b, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4}, 654)
+ }
+
+ if (y118) {
+ Store(CondRefOf(p912, Local0), Local1)
+ if (m1a4(Local1, 655)) {
+ m1a2(Local0, c00c, 1, 0, c00d, 0, 656)
+ }
+
+ Store(CondRefOf(p913, Local0), Local1)
+ if (m1a4(Local1, 657)) {
+ m1a2(Local0, c00c, 1, 0, c00d, 0, 658)
+ }
+
+ Store(CondRefOf(p914, Local0), Local1)
+ if (m1a4(Local1, 659)) {
+ m1a2(Local0, c00c, 1, 0, c00d, 0, 660)
+ }
+
+ Store(CondRefOf(p915, Local0), Local1)
+ if (m1a4(Local1, 661)) {
+ m1a2(Local0, c00c, 1, 0, c016, 0xb0, 662)
+ }
+ }
+
+ // Elements of Package are NOT Computational Data
+
+ Store(CondRefOf(p916, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 663)
+
+ Store(CondRefOf(p917, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 664)
+
+ Store(CondRefOf(p918, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 6655)
+
+ Store(CondRefOf(p919, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 666)
+
+ Store(CondRefOf(p91a, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 667)
+
+ Store(CondRefOf(p91b, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 668)
+
+ Store(CondRefOf(p91c, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 669)
+
+ // Elements of Package are Methods
+
+ Store(CondRefOf(p91d, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 670)
+
+ Store(CondRefOf(p91e, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 671)
+
+ Store(CondRefOf(p91f, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 672)
+
+ Store(CondRefOf(p920, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 673)
+
+ Store(CondRefOf(p921, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 674)
+
+ Store(CondRefOf(p922, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 675)
+
+ Store(CondRefOf(p923, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 676)
+
+ Store(CondRefOf(p924, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 677)
+
+ Store(CondRefOf(p925, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 678)
+
+ Store(CondRefOf(p926, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 679)
+
+ Store(CondRefOf(p927, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 680)
+
+ Store(CondRefOf(p928, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 681)
+
+ Store(CondRefOf(p929, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 682)
+
+ Store(CondRefOf(p92a, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 683)
+
+ Store(CondRefOf(p92b, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 684)
+
+ Store(CondRefOf(p92c, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 685)
+
+ Store(CondRefOf(p92d, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 686)
+
+ Store(CondRefOf(p92e, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 687)
+
+ Store(CondRefOf(p92f, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 688)
+
+ Store(CondRefOf(p930, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 689)
+
+ Store(CondRefOf(p931, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 690)
+
+ Store(CondRefOf(p932, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 691)
+
+ Store(CondRefOf(p933, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 692)
+
+ Store(CondRefOf(p934, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 693)
+
+ Store(CondRefOf(p935, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 694)
+
+ Store(CondRefOf(p936, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 695)
+
+ Store(CondRefOf(p937, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 696)
+
+ Store(CondRefOf(p938, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 697)
+
+ Store(CondRefOf(p939, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 698)
+
+ Store(CondRefOf(p93a, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 699)
+
+ Store(CondRefOf(p93b, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 700)
+
+ Store(CondRefOf(p93c, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 701)
+
+ Store(CondRefOf(p93d, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 702)
+
+ Store(CondRefOf(p93e, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 703)
+
+ Store(CondRefOf(p93f, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 704)
+
+ Store(CondRefOf(p940, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 705)
+
+ Store(CondRefOf(p941, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 706)
+
+ Store(CondRefOf(p942, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 707)
+
+ Store(CondRefOf(p943, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 708)
+
+ Store(CondRefOf(p944, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 709)
+
+ Store(CondRefOf(p945, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 710)
+
+ Store(CondRefOf(p946, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 711)
+
+ Store(CondRefOf(p947, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 712)
+
+ Store(CondRefOf(p948, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 713)
+
+ Store(CondRefOf(p949, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 714)
+
+ Store(CondRefOf(p94a, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 715)
+
+ Store(CondRefOf(p94b, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 716)
+
+ Store(CondRefOf(p94c, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 717)
+
+ Store(CondRefOf(p94d, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 718)
+
+ Store(CondRefOf(p94e, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 719)
+
+ Store(CondRefOf(p94f, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 720)
+
+ Store(CondRefOf(p950, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 721)
+
+ Store(CondRefOf(p951, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 722)
+
+ Store(CondRefOf(p952, Local0), Local1)
+ m1a0(Local0, c00c, Local1, 723)
+
+ // Methods
+
+ Store(CondRefOf(m900, Local0), Local1)
+ m1a0(Local0, c010, Local1, 724)
+
+ Store(CondRefOf(m901, Local0), Local1)
+ m1a0(Local0, c010, Local1, 725)
+
+ Store(CondRefOf(m902, Local0), Local1)
+ m1a0(Local0, c010, Local1, 726)
+
+ Store(CondRefOf(m903, Local0), Local1)
+ m1a0(Local0, c010, Local1, 727)
+
+ Store(CondRefOf(m904, Local0), Local1)
+ m1a0(Local0, c010, Local1, 728)
+
+ Store(CondRefOf(m905, Local0), Local1)
+ m1a0(Local0, c010, Local1, 729)
+
+ Store(CondRefOf(m906, Local0), Local1)
+ m1a0(Local0, c010, Local1, 730)
+
+ Store(CondRefOf(m907, Local0), Local1)
+ m1a0(Local0, c010, Local1, 731)
+
+ Store(CondRefOf(m908, Local0), Local1)
+ m1a0(Local0, c010, Local1, 732)
+
+ Store(CondRefOf(m909, Local0), Local1)
+ m1a0(Local0, c010, Local1, 733)
+
+ Store(CondRefOf(m90a, Local0), Local1)
+ m1a0(Local0, c010, Local1, 734)
+
+ Store(CondRefOf(m90b, Local0), Local1)
+ m1a0(Local0, c010, Local1, 735)
+
+ Store(CondRefOf(m90c, Local0), Local1)
+ m1a0(Local0, c010, Local1, 736)
+
+ Store(CondRefOf(m90d, Local0), Local1)
+ m1a0(Local0, c010, Local1, 737)
+
+ Store(CondRefOf(m90e, Local0), Local1)
+ m1a0(Local0, c010, Local1, 738)
+
+ Store(CondRefOf(m90f, Local0), Local1)
+ m1a0(Local0, c010, Local1, 739)
+
+ Store(CondRefOf(m910, Local0), Local1)
+ m1a0(Local0, c010, Local1, 740)
+
+ Store(CondRefOf(m911, Local0), Local1)
+ m1a0(Local0, c010, Local1, 741)
+
+ Store(CondRefOf(m912, Local0), Local1)
+ m1a0(Local0, c010, Local1, 742)
+
+ Store(CondRefOf(m913, Local0), Local1)
+ m1a0(Local0, c010, Local1, 743)
+
+ Store(CondRefOf(m914, Local0), Local1)
+ m1a0(Local0, c010, Local1, 744)
+
+ Store(CondRefOf(m915, Local0), Local1)
+ m1a0(Local0, c010, Local1, 745)
+
+ Store(CondRefOf(m916, Local0), Local1)
+ m1a0(Local0, c010, Local1, 746)
+
+ Store(CondRefOf(m917, Local0), Local1)
+ m1a0(Local0, c010, Local1, 747)
+
+ Store(CondRefOf(m918, Local0), Local1)
+ m1a0(Local0, c010, Local1, 748)
+
+ Store(CondRefOf(m919, Local0), Local1)
+ m1a0(Local0, c010, Local1, 749)
+
+ Store(CondRefOf(m91a, Local0), Local1)
+ m1a0(Local0, c010, Local1, 750)
+
+ Store(CondRefOf(m91b, Local0), Local1)
+ m1a0(Local0, c010, Local1, 751)
+
+ Store(CondRefOf(m91c, Local0), Local1)
+ m1a0(Local0, c010, Local1, 752)
+
+ Store(CondRefOf(m91d, Local0), Local1)
+ m1a0(Local0, c010, Local1, 753)
+
+ Store(CondRefOf(m91e, Local0), Local1)
+ m1a0(Local0, c010, Local1, 754)
+
+ Store(CondRefOf(m91f, Local0), Local1)
+ m1a0(Local0, c010, Local1, 755)
+
+ Store(CondRefOf(m920, Local0), Local1)
+ m1a0(Local0, c010, Local1, 756)
+
+ Store(CondRefOf(m921, Local0), Local1)
+ m1a0(Local0, c010, Local1, 757)
+
+ Store(CondRefOf(m922, Local0), Local1)
+ m1a0(Local0, c010, Local1, 758)
+
+ Store(CondRefOf(m923, Local0), Local1)
+ m1a0(Local0, c010, Local1, 759)
+
+ Store(CondRefOf(m924, Local0), Local1)
+ m1a0(Local0, c010, Local1, 760)
+
+ Store(CondRefOf(m925, Local0), Local1)
+ m1a0(Local0, c010, Local1, 761)
+
+ Store(CondRefOf(m926, Local0), Local1)
+ m1a0(Local0, c010, Local1, 762)
+
+ Store(CondRefOf(m927, Local0), Local1)
+ m1a0(Local0, c010, Local1, 763)
+
+ Store(CondRefOf(m928, Local0), Local1)
+ m1a0(Local0, c010, Local1, 764)
+
+ Store(CondRefOf(m929, Local0), Local1)
+ m1a0(Local0, c010, Local1, 765)
+
+ Store(CondRefOf(m92a, Local0), Local1)
+ m1a0(Local0, c010, Local1, 766)
+
+ Store(CondRefOf(m92b, Local0), Local1)
+ m1a0(Local0, c010, Local1, 767)
+
+ Store(CondRefOf(m92c, Local0), Local1)
+ m1a0(Local0, c010, Local1, 768)
+
+ Store(CondRefOf(m92d, Local0), Local1)
+ m1a0(Local0, c010, Local1, 769)
+
+ Store(CondRefOf(m92e, Local0), Local1)
+ m1a0(Local0, c010, Local1, 780)
+
+ Store(CondRefOf(m92f, Local0), Local1)
+ m1a0(Local0, c010, Local1, 781)
+
+ Store(CondRefOf(m930, Local0), Local1)
+ m1a0(Local0, c010, Local1, 782)
+
+ Store(CondRefOf(m931, Local0), Local1)
+ m1a0(Local0, c010, Local1, 783)
+
+ Store(CondRefOf(m932, Local0), Local1)
+ m1a0(Local0, c010, Local1, 784)
+
+ Store(CondRefOf(m933, Local0), Local1)
+ m1a0(Local0, c010, Local1, 785)
+
+ Store(CondRefOf(m934, Local0), Local1)
+ m1a0(Local0, c010, Local1, 786)
+
+ Store(CondRefOf(m935, Local0), Local1)
+ m1a0(Local0, c010, Local1, 787)
+
+ m1a6()
+
+ return
+}
+
+// ///////////////////////////////////////////////////////////////////////////
+//
+// TABLE 4: all the legal ways to generate references to the named objects
+// being elements of Package
+//
+// ///////////////////////////////////////////////////////////////////////////
+
+// m16e but with global data
+Method(m194)
+{
+ if (y100) {
+ ts00("m194")
+ } else {
+ Store("m194", Debug)
+ }
+
+ if (LNot(y900)) {
+ Store("Test m194 skipped!", Debug)
+ return
+ }
+
+ // T4:x,I1-I14,x,x
+
+ // Computational Data
+
+ Store(Index(Package(){i900}, 0), Local0)
+ m1a2(Local0, c009, 0, 0, c009, 0xfe7cb391d65a0000, 788)
+
+ Store(Index(Package(){i901}, 0), Local0)
+ m1a2(Local0, c009, 0, 0, c009, 0xc1790001, 789)
+
+ Store(Index(Package(){s900}, 0), Local0)
+ m1a2(Local0, c00a, 0, 0, c00a, "12340002", 790)
+
+ Store(Index(Package(){s901}, 0), Local0)
+ m1a2(Local0, c00a, 0, 0, c00a, "qwrtyu0003", 791)
+
+ Store(Index(Package(){b900}, 0), Local0)
+ m1a2(Local0, c00b, 0, 0, c00b, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4}, 792)
+
+ if (y118) {
+ Store(Index(Package(){f900}, 0), Local0)
+ m1a2(Local0, c00d, 0, 0, c00d, 0, 793)
+
+ Store(Index(Package(){bn90}, 0), Local0)
+ m1a2(Local0, c00d, 0, 0, c00d, 0, 794)
+
+ Store(Index(Package(){if90}, 0), Local0)
+ m1a2(Local0, c00d, 0, 0, c00d, 0, 795)
+
+ Store(Index(Package(){bf90}, 0), Local0)
+ m1a2(Local0, c016, 0, 0, c016, 0xb0, 796)
+ }
+
+ // Not Computational Data
+
+ Store(Index(Package(){e900}, 0), Local0)
+ m1a0(Local0, c00f, Ones, 797)
+
+ Store(Index(Package(){mx90}, 0), Local0)
+ m1a0(Local0, c011, Ones, 798)
+
+ Store(Index(Package(){d900}, 0), Local0)
+ m1a0(Local0, c00e, Ones, 799)
+
+ Store(Index(Package(){tz90}, 0), Local0)
+ m1a0(Local0, c015, Ones, 800)
+
+ Store(Index(Package(){pr90}, 0), Local0)
+ m1a0(Local0, c014, Ones, 801)
+
+ Store(Index(Package(){r900}, 0), Local0)
+ m1a0(Local0, c012, Ones, 802)
+
+ Store(Index(Package(){pw90}, 0), Local0)
+ m1a0(Local0, c013, Ones, 803)
+
+ // Elements of Package are Uninitialized
+
+ Store(Index(Package(){p900}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 804)
+
+ // Elements of Package are Computational Data
+
+ Store(Index(Package(){p901}, 0), Local0)
+ m1a2(Local0, c00c, 1, 0, c009, 0xabcd0004, 805)
+ m1a2(Local0, c00c, 1, 1, c009, 0x1122334455660005, 806)
+
+ Store(Index(Package(){p902}, 0), Local0)
+ m1a2(Local0, c00c, 1, 0, c00a, "12340006", 807)
+ m1a2(Local0, c00c, 1, 1, c00a, "q1w2e3r4t5y6u7i80007", 808)
+
+ Store(Index(Package(){p903}, 0), Local0)
+ m1a2(Local0, c00c, 1, 0, c00a, "qwrtyuiop0008", 809)
+ m1a2(Local0, c00c, 1, 1, c00a, "1234567890abdef0250009", 810)
+
+ Store(Index(Package(){p904}, 0), Local0)
+ m1a2(Local0, c00c, 1, 0, c00b, Buffer() {0xb5,0xb6,0xb7}, 811)
+
+ Store(Index(Package(){p905}, 0), Local0)
+ m1a2(Local0, c00c, 2, 0, c009, 0xabc000a, 812)
+ m1a2(Local0, c00c, 2, 1, c00a, "0xabc000b", 813)
+
+ Store(Index(Package(){p906}, 0), Local0)
+ m1a2(Local0, c00c, 2, 0, c00a, "abc000d", 814)
+
+ Store(Index(Package(){p907}, 0), Local0)
+ m1a2(Local0, c00c, 2, 0, c00a, "aqwevbgnm000e", 815)
+
+ Store(Index(Package(){p908}, 0), Local0)
+ m1a2(Local0, c00c, 2, 0, c00b, Buffer() {0xba,0xbb,0xbc,0xbd,0xbe}, 816)
+
+ Store(Index(Package(){p909}, 0), Local0)
+ m1a2(Local0, c00c, 3, 0, c009, 0xabc000f, 817)
+
+ Store(Index(Package(){p90a}, 0), Local0)
+ m1a2(Local0, c00c, 3, 0, c00a, "12340010", 818)
+
+ Store(Index(Package(){p90b}, 0), Local0)
+ m1a2(Local0, c00c, 3, 0, c00a, "zxswefas0011", 819)
+
+ Store(Index(Package(){p90c}, 0), Local0)
+ m1a2(Local0, c00c, 3, 0, c00b, Buffer() {0xbf,0xc0,0xc1}, 820)
+
+ Store(Index(Package(){p90d}, 0), Local0)
+ m1a2(Local0, c00c, 1, 0, c009, 0xfe7cb391d65a0000, 821)
+
+ Store(Index(Package(){p90e}, 0), Local0)
+ m1a2(Local0, c00c, 1, 0, c009, 0xc1790001, 822)
+
+ Store(Index(Package(){p90f}, 0), Local0)
+ m1a2(Local0, c00c, 1, 0, c00a, "12340002", 823)
+
+ Store(Index(Package(){p910}, 0), Local0)
+ m1a2(Local0, c00c, 1, 0, c00a, "qwrtyu0003", 824)
+
+ Store(Index(Package(){p911}, 0), Local0)
+ m1a2(Local0, c00c, 1, 0, c00b, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4}, 825)
+
+ if (y118) {
+ Store(Index(Package(){p912}, 0), Local0)
+ m1a2(Local0, c00c, 1, 0, c00d, 0, 826)
+
+ Store(Index(Package(){p913}, 0), Local0)
+ m1a2(Local0, c00c, 1, 0, c00d, 0, 827)
+
+ Store(Index(Package(){p914}, 0), Local0)
+ m1a2(Local0, c00c, 1, 0, c00d, 0, 828)
+
+ Store(Index(Package(){p915}, 0), Local0)
+ m1a2(Local0, c00c, 1, 0, c016, 0xb0, 829)
+ }
+
+ // Elements of Package are NOT Computational Data
+
+ Store(Index(Package(){p916}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 830)
+
+ Store(Index(Package(){p917}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 831)
+
+ Store(Index(Package(){p918}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 832)
+
+ Store(Index(Package(){p919}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 833)
+
+ Store(Index(Package(){p91a}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 834)
+
+ Store(Index(Package(){p91b}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 835)
+
+ Store(Index(Package(){p91c}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 836)
+
+ // Elements of Package are Methods
+
+ Store(Index(Package(){p91d}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 837)
+
+ Store(Index(Package(){p91e}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 838)
+
+ Store(Index(Package(){p91f}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 839)
+
+ Store(Index(Package(){p920}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 840)
+
+ Store(Index(Package(){p921}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 841)
+
+ Store(Index(Package(){p922}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 842)
+
+ Store(Index(Package(){p923}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 843)
+
+ Store(Index(Package(){p924}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 844)
+
+ Store(Index(Package(){p925}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 845)
+
+ Store(Index(Package(){p926}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 846)
+
+ Store(Index(Package(){p927}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 847)
+
+ Store(Index(Package(){p928}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 848)
+
+ Store(Index(Package(){p929}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 849)
+
+ Store(Index(Package(){p92a}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 850)
+
+ Store(Index(Package(){p92b}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 851)
+
+ Store(Index(Package(){p92c}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 852)
+
+ Store(Index(Package(){p92d}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 853)
+
+ Store(Index(Package(){p92e}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 854)
+
+ Store(Index(Package(){p92f}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 855)
+
+ Store(Index(Package(){p930}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 856)
+
+ Store(Index(Package(){p931}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 857)
+
+ Store(Index(Package(){p932}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 858)
+
+ Store(Index(Package(){p933}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 859)
+
+ Store(Index(Package(){p934}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 860)
+
+ Store(Index(Package(){p935}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 861)
+
+ Store(Index(Package(){p936}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 862)
+
+ Store(Index(Package(){p937}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 863)
+
+ Store(Index(Package(){p938}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 864)
+
+ Store(Index(Package(){p939}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 865)
+
+ Store(Index(Package(){p93a}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 866)
+
+ Store(Index(Package(){p93b}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 867)
+
+ Store(Index(Package(){p93c}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 868)
+
+ Store(Index(Package(){p93d}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 869)
+
+ Store(Index(Package(){p93e}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 870)
+
+ Store(Index(Package(){p93f}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 871)
+
+ Store(Index(Package(){p940}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 872)
+
+ Store(Index(Package(){p941}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 873)
+
+ Store(Index(Package(){p942}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 874)
+
+ Store(Index(Package(){p943}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 875)
+
+ Store(Index(Package(){p944}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 876)
+
+ Store(Index(Package(){p945}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 877)
+
+ Store(Index(Package(){p946}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 878)
+
+ Store(Index(Package(){p947}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 879)
+
+ Store(Index(Package(){p948}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 880)
+
+ Store(Index(Package(){p949}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 881)
+
+ Store(Index(Package(){p94a}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 882)
+
+ Store(Index(Package(){p94b}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 883)
+
+ Store(Index(Package(){p94c}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 884)
+
+ Store(Index(Package(){p94d}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 885)
+
+ Store(Index(Package(){p94e}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 886)
+
+ Store(Index(Package(){p94f}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 887)
+
+ Store(Index(Package(){p950}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 888)
+
+ Store(Index(Package(){p951}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 889)
+
+ Store(Index(Package(){p952}, 0), Local0)
+ m1a0(Local0, c00c, Ones, 890)
+
+ // Methods
+
+ Store(Index(Package(){m900}, 0), Local0)
+ m1a0(Local0, c010, Ones, 891)
+
+ Store(Index(Package(){m901}, 0), Local0)
+ m1a0(Local0, c010, Ones, 892)
+
+ Store(Index(Package(){m902}, 0), Local0)
+ m1a0(Local0, c010, Ones, 893)
+
+ Store(Index(Package(){m903}, 0), Local0)
+ m1a0(Local0, c010, Ones, 894)
+
+ Store(Index(Package(){m904}, 0), Local0)
+ m1a0(Local0, c010, Ones, 895)
+
+ Store(Index(Package(){m905}, 0), Local0)
+ m1a0(Local0, c010, Ones, 896)
+
+ Store(Index(Package(){m906}, 0), Local0)
+ m1a0(Local0, c010, Ones, 897)
+
+ Store(Index(Package(){m907}, 0), Local0)
+ m1a0(Local0, c010, Ones, 898)
+
+ Store(Index(Package(){m908}, 0), Local0)
+ m1a0(Local0, c010, Ones, 899)
+
+ Store(Index(Package(){m909}, 0), Local0)
+ m1a0(Local0, c010, Ones, 900)
+
+ Store(Index(Package(){m90a}, 0), Local0)
+ m1a0(Local0, c010, Ones, 901)
+
+ Store(Index(Package(){m90b}, 0), Local0)
+ m1a0(Local0, c010, Ones, 902)
+
+ Store(Index(Package(){m90c}, 0), Local0)
+ m1a0(Local0, c010, Ones, 903)
+
+ Store(Index(Package(){m90d}, 0), Local0)
+ m1a0(Local0, c010, Ones, 904)
+
+ Store(Index(Package(){m90e}, 0), Local0)
+ m1a0(Local0, c010, Ones, 905)
+
+ Store(Index(Package(){m90f}, 0), Local0)
+ m1a0(Local0, c010, Ones, 906)
+
+ Store(Index(Package(){m910}, 0), Local0)
+ m1a0(Local0, c010, Ones, 907)
+
+ Store(Index(Package(){m911}, 0), Local0)
+ m1a0(Local0, c010, Ones, 908)
+
+ Store(Index(Package(){m912}, 0), Local0)
+ m1a0(Local0, c010, Ones, 909)
+
+ Store(Index(Package(){m913}, 0), Local0)
+ m1a0(Local0, c010, Ones, 910)
+
+ Store(Index(Package(){m914}, 0), Local0)
+ m1a0(Local0, c010, Ones, 911)
+
+ Store(Index(Package(){m915}, 0), Local0)
+ m1a0(Local0, c010, Ones, 912)
+
+ Store(Index(Package(){m916}, 0), Local0)
+ m1a0(Local0, c010, Ones, 913)
+
+ Store(Index(Package(){m917}, 0), Local0)
+ m1a0(Local0, c010, Ones, 914)
+
+ Store(Index(Package(){m918}, 0), Local0)
+ m1a0(Local0, c010, Ones, 915)
+
+ Store(Index(Package(){m919}, 0), Local0)
+ m1a0(Local0, c010, Ones, 916)
+
+ Store(Index(Package(){m91a}, 0), Local0)
+ m1a0(Local0, c010, Ones, 917)
+
+ Store(Index(Package(){m91b}, 0), Local0)
+ m1a0(Local0, c010, Ones, 918)
+
+ Store(Index(Package(){m91c}, 0), Local0)
+ m1a0(Local0, c010, Ones, 919)
+
+ Store(Index(Package(){m91d}, 0), Local0)
+ m1a0(Local0, c010, Ones, 920)
+
+ Store(Index(Package(){m91e}, 0), Local0)
+ m1a0(Local0, c010, Ones, 921)
+
+ Store(Index(Package(){m91f}, 0), Local0)
+ m1a0(Local0, c010, Ones, 922)
+
+ Store(Index(Package(){m920}, 0), Local0)
+ m1a0(Local0, c010, Ones, 923)
+
+ Store(Index(Package(){m921}, 0), Local0)
+ m1a0(Local0, c010, Ones, 924)
+
+ Store(Index(Package(){m922}, 0), Local0)
+ m1a0(Local0, c010, Ones, 925)
+
+ Store(Index(Package(){m923}, 0), Local0)
+ m1a0(Local0, c010, Ones, 926)
+
+ Store(Index(Package(){m924}, 0), Local0)
+ m1a0(Local0, c010, Ones, 927)
+
+ Store(Index(Package(){m925}, 0), Local0)
+ m1a0(Local0, c010, Ones, 928)
+
+ Store(Index(Package(){m926}, 0), Local0)
+ m1a0(Local0, c010, Ones, 929)
+
+ Store(Index(Package(){m927}, 0), Local0)
+ m1a0(Local0, c010, Ones, 930)
+
+ Store(Index(Package(){m928}, 0), Local0)
+ m1a0(Local0, c010, Ones, 931)
+
+ Store(Index(Package(){m929}, 0), Local0)
+ m1a0(Local0, c010, Ones, 932)
+
+ Store(Index(Package(){m92a}, 0), Local0)
+ m1a0(Local0, c010, Ones, 933)
+
+ Store(Index(Package(){m92b}, 0), Local0)
+ m1a0(Local0, c010, Ones, 934)
+
+ Store(Index(Package(){m92c}, 0), Local0)
+ m1a0(Local0, c010, Ones, 935)
+
+ Store(Index(Package(){m92d}, 0), Local0)
+ m1a0(Local0, c010, Ones, 936)
+
+ Store(Index(Package(){m92e}, 0), Local0)
+ m1a0(Local0, c010, Ones, 937)
+
+ Store(Index(Package(){m92f}, 0), Local0)
+ m1a0(Local0, c010, Ones, 938)
+
+ Store(Index(Package(){m930}, 0), Local0)
+ m1a0(Local0, c010, Ones, 939)
+
+ Store(Index(Package(){m931}, 0), Local0)
+ m1a0(Local0, c010, Ones, 940)
+
+ Store(Index(Package(){m932}, 0), Local0)
+ m1a0(Local0, c010, Ones, 941)
+
+ Store(Index(Package(){m933}, 0), Local0)
+ m1a0(Local0, c010, Ones, 942)
+
+ Store(Index(Package(){m934}, 0), Local0)
+ m1a0(Local0, c010, Ones, 943)
+
+ Store(Index(Package(){m935}, 0), Local0)
+ m1a0(Local0, c010, Ones, 944)
+
+ // T4:x,IR1-IR14,x,x
+
+ // Computational Data
+
+ Store(Index(Package(){i900}, 0, Local1), Local0)
+ m1a2(Local0, c009, 0, 0, c009, 0xfe7cb391d65a0000, 945)
+ m1a2(Local1, c009, 0, 0, c009, 0xfe7cb391d65a0000, 946)
+
+ Store(Index(Package(){i901}, 0, Local1), Local0)
+ m1a2(Local0, c009, 0, 0, c009, 0xc1790001, 947)
+ m1a2(Local1, c009, 0, 0, c009, 0xc1790001, 948)
+
+ Store(Index(Package(){s900}, 0, Local1), Local0)
+ m1a2(Local0, c00a, 0, 0, c00a, "12340002", 949)
+ m1a2(Local1, c00a, 0, 0, c00a, "12340002", 950)
+
+ Store(Index(Package(){s901}, 0, Local1), Local0)
+ m1a2(Local0, c00a, 0, 0, c00a, "qwrtyu0003", 951)
+ m1a2(Local1, c00a, 0, 0, c00a, "qwrtyu0003", 952)
+
+ Store(Index(Package(){b900}, 0, Local1), Local0)
+ m1a2(Local0, c00b, 0, 0, c00b, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4}, 953)
+ m1a2(Local1, c00b, 0, 0, c00b, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4}, 954)
+
+ if (y118) {
+ Store(Index(Package(){f900}, 0, Local1), Local0)
+ m1a2(Local0, c00d, 0, 0, c00d, 0, 955)
+ m1a2(Local1, c00d, 0, 0, c00d, 0, 956)
+
+ Store(Index(Package(){bn90}, 0, Local1), Local0)
+ m1a2(Local0, c00d, 0, 0, c00d, 0, 957)
+ m1a2(Local1, c00d, 0, 0, c00d, 0, 958)
+
+ Store(Index(Package(){if90}, 0, Local1), Local0)
+ m1a2(Local0, c00d, 0, 0, c00d, 0, 959)
+ m1a2(Local1, c00d, 0, 0, c00d, 0, 960)
+
+ Store(Index(Package(){bf90}, 0, Local1), Local0)
+ m1a2(Local0, c016, 0, 0, c016, 0xb0, 961)
+ m1a2(Local1, c016, 0, 0, c016, 0xb0, 962)
+ }
+
+ // Not Computational Data
+
+ Store(Index(Package(){e900}, 0, Local1), Local0)
+ m1a0(Local0, c00f, Ones, 963)
+ m1a0(Local1, c00f, Ones, 964)
+
+ Store(Index(Package(){mx90}, 0, Local1), Local0)
+ m1a0(Local0, c011, Ones, 965)
+ m1a0(Local1, c011, Ones, 966)
+
+ Store(Index(Package(){d900}, 0, Local1), Local0)
+ m1a0(Local0, c00e, Ones, 967)
+ m1a0(Local1, c00e, Ones, 968)
+
+ Store(Index(Package(){tz90}, 0, Local1), Local0)
+ m1a0(Local0, c015, Ones, 969)
+ m1a0(Local1, c015, Ones, 970)
+
+ Store(Index(Package(){pr90}, 0, Local1), Local0)
+ m1a0(Local0, c014, Ones, 971)
+ m1a0(Local1, c014, Ones, 972)
+
+ Store(Index(Package(){r900}, 0, Local1), Local0)
+ m1a0(Local0, c012, Ones, 973)
+ m1a0(Local1, c012, Ones, 974)
+
+ Store(Index(Package(){pw90}, 0, Local1), Local0)
+ m1a0(Local0, c013, Ones, 975)
+ m1a0(Local1, c013, Ones, 976)
+
+ // Elements of Package are Uninitialized
+
+ Store(Index(Package(){p900}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 977)
+ m1a0(Local1, c00c, Ones, 978)
+
+ // Elements of Package are Computational Data
+
+ Store(Index(Package(){p901}, 0, Local1), Local0)
+ m1a2(Local0, c00c, 1, 0, c009, 0xabcd0004, 979)
+ m1a2(Local0, c00c, 1, 1, c009, 0x1122334455660005, 980)
+ m1a2(Local1, c00c, 1, 0, c009, 0xabcd0004, 981)
+ m1a2(Local1, c00c, 1, 1, c009, 0x1122334455660005, 982)
+
+ Store(Index(Package(){p902}, 0, Local1), Local0)
+ m1a2(Local0, c00c, 1, 0, c00a, "12340006", 983)
+ m1a2(Local0, c00c, 1, 1, c00a, "q1w2e3r4t5y6u7i80007", 984)
+ m1a2(Local1, c00c, 1, 0, c00a, "12340006", 985)
+ m1a2(Local1, c00c, 1, 1, c00a, "q1w2e3r4t5y6u7i80007", 986)
+
+ Store(Index(Package(){p903}, 0, Local1), Local0)
+ m1a2(Local0, c00c, 1, 0, c00a, "qwrtyuiop0008", 987)
+ m1a2(Local0, c00c, 1, 1, c00a, "1234567890abdef0250009", 988)
+ m1a2(Local1, c00c, 1, 0, c00a, "qwrtyuiop0008", 989)
+ m1a2(Local1, c00c, 1, 1, c00a, "1234567890abdef0250009", 990)
+
+ Store(Index(Package(){p904}, 0, Local1), Local0)
+ m1a2(Local0, c00c, 1, 0, c00b, Buffer() {0xb5,0xb6,0xb7}, 991)
+ m1a2(Local1, c00c, 1, 0, c00b, Buffer() {0xb5,0xb6,0xb7}, 992)
+
+ Store(Index(Package(){p905}, 0, Local1), Local0)
+ m1a2(Local0, c00c, 2, 0, c009, 0xabc000a, 993)
+ m1a2(Local0, c00c, 2, 1, c00a, "0xabc000b", 994)
+ m1a2(Local1, c00c, 2, 0, c009, 0xabc000a, 995)
+ m1a2(Local1, c00c, 2, 1, c00a, "0xabc000b", 996)
+
+ Store(Index(Package(){p906}, 0, Local1), Local0)
+ m1a2(Local0, c00c, 2, 0, c00a, "abc000d", 997)
+ m1a2(Local1, c00c, 2, 0, c00a, "abc000d", 998)
+
+ Store(Index(Package(){p907}, 0, Local1), Local0)
+ m1a2(Local0, c00c, 2, 0, c00a, "aqwevbgnm000e", 999)
+ m1a2(Local1, c00c, 2, 0, c00a, "aqwevbgnm000e", 1000)
+
+ Store(Index(Package(){p908}, 0, Local1), Local0)
+ m1a2(Local0, c00c, 2, 0, c00b, Buffer() {0xba,0xbb,0xbc,0xbd,0xbe}, 1001)
+ m1a2(Local1, c00c, 2, 0, c00b, Buffer() {0xba,0xbb,0xbc,0xbd,0xbe}, 1002)
+
+ Store(Index(Package(){p909}, 0, Local1), Local0)
+ m1a2(Local0, c00c, 3, 0, c009, 0xabc000f, 1003)
+ m1a2(Local1, c00c, 3, 0, c009, 0xabc000f, 1004)
+
+ Store(Index(Package(){p90a}, 0, Local1), Local0)
+ m1a2(Local0, c00c, 3, 0, c00a, "12340010", 1005)
+ m1a2(Local1, c00c, 3, 0, c00a, "12340010", 1006)
+
+ Store(Index(Package(){p90b}, 0, Local1), Local0)
+ m1a2(Local0, c00c, 3, 0, c00a, "zxswefas0011", 1007)
+ m1a2(Local1, c00c, 3, 0, c00a, "zxswefas0011", 1008)
+
+ Store(Index(Package(){p90c}, 0, Local1), Local0)
+ m1a2(Local0, c00c, 3, 0, c00b, Buffer() {0xbf,0xc0,0xc1}, 1009)
+ m1a2(Local1, c00c, 3, 0, c00b, Buffer() {0xbf,0xc0,0xc1}, 1010)
+
+ Store(Index(Package(){p90d}, 0, Local1), Local0)
+ m1a2(Local0, c00c, 1, 0, c009, 0xfe7cb391d65a0000, 1011)
+ m1a2(Local1, c00c, 1, 0, c009, 0xfe7cb391d65a0000, 1012)
+
+ Store(Index(Package(){p90e}, 0, Local1), Local0)
+ m1a2(Local0, c00c, 1, 0, c009, 0xc1790001, 1013)
+ m1a2(Local1, c00c, 1, 0, c009, 0xc1790001, 1014)
+
+ Store(Index(Package(){p90f}, 0, Local1), Local0)
+ m1a2(Local0, c00c, 1, 0, c00a, "12340002", 1015)
+ m1a2(Local1, c00c, 1, 0, c00a, "12340002", 1016)
+
+ Store(Index(Package(){p910}, 0, Local1), Local0)
+ m1a2(Local0, c00c, 1, 0, c00a, "qwrtyu0003", 1017)
+ m1a2(Local1, c00c, 1, 0, c00a, "qwrtyu0003", 1018)
+
+ Store(Index(Package(){p911}, 0, Local1), Local0)
+ m1a2(Local0, c00c, 1, 0, c00b, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4}, 1019)
+ m1a2(Local1, c00c, 1, 0, c00b, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4}, 1020)
+
+ if (y118) {
+ Store(Index(Package(){p912}, 0, Local1), Local0)
+ m1a2(Local0, c00c, 1, 0, c00d, 0, 1021)
+ m1a2(Local1, c00c, 1, 0, c00d, 0, 1022)
+
+ Store(Index(Package(){p913}, 0, Local1), Local0)
+ m1a2(Local0, c00c, 1, 0, c00d, 0, 1023)
+ m1a2(Local1, c00c, 1, 0, c00d, 0, 1024)
+
+ Store(Index(Package(){p914}, 0, Local1), Local0)
+ m1a2(Local0, c00c, 1, 0, c00d, 0, 1025)
+ m1a2(Local1, c00c, 1, 0, c00d, 0, 1026)
+
+ Store(Index(Package(){p915}, 0, Local1), Local0)
+ m1a2(Local0, c00c, 1, 0, c016, 0xb0, 1027)
+ m1a2(Local1, c00c, 1, 0, c016, 0xb0, 1028)
+ }
+
+ // Elements of Package are NOT Computational Data
+
+ Store(Index(Package(){p916}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1029)
+ m1a0(Local1, c00c, Ones, 1030)
+
+ Store(Index(Package(){p917}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1031)
+ m1a0(Local1, c00c, Ones, 1032)
+
+ Store(Index(Package(){p918}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1033)
+ m1a0(Local1, c00c, Ones, 1034)
+
+ Store(Index(Package(){p919}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1035)
+ m1a0(Local1, c00c, Ones, 1036)
+
+ Store(Index(Package(){p91a}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1037)
+ m1a0(Local1, c00c, Ones, 1038)
+
+ Store(Index(Package(){p91b}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1039)
+ m1a0(Local1, c00c, Ones, 1040)
+
+ Store(Index(Package(){p91c}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1041)
+ m1a0(Local1, c00c, Ones, 1042)
+
+ // Elements of Package are Methods
+
+ Store(Index(Package(){p91d}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1043)
+ m1a0(Local1, c00c, Ones, 1044)
+
+ Store(Index(Package(){p91e}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1045)
+ m1a0(Local1, c00c, Ones, 1046)
+
+ Store(Index(Package(){p91f}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1047)
+ m1a0(Local1, c00c, Ones, 1048)
+
+ Store(Index(Package(){p920}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1049)
+ m1a0(Local1, c00c, Ones, 1050)
+
+ Store(Index(Package(){p921}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1051)
+ m1a0(Local1, c00c, Ones, 1052)
+
+ Store(Index(Package(){p922}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1053)
+ m1a0(Local1, c00c, Ones, 1054)
+
+ Store(Index(Package(){p923}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1055)
+ m1a0(Local1, c00c, Ones, 1056)
+
+ Store(Index(Package(){p924}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1057)
+ m1a0(Local1, c00c, Ones, 1058)
+
+ Store(Index(Package(){p925}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1059)
+ m1a0(Local1, c00c, Ones, 1060)
+
+ Store(Index(Package(){p926}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1061)
+ m1a0(Local1, c00c, Ones, 1062)
+
+ Store(Index(Package(){p927}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1063)
+ m1a0(Local1, c00c, Ones, 1064)
+
+ Store(Index(Package(){p928}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1065)
+ m1a0(Local1, c00c, Ones, 1066)
+
+ Store(Index(Package(){p929}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1067)
+ m1a0(Local1, c00c, Ones, 1068)
+
+ Store(Index(Package(){p92a}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1069)
+ m1a0(Local1, c00c, Ones, 1070)
+
+ Store(Index(Package(){p92b}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1071)
+ m1a0(Local1, c00c, Ones, 1072)
+
+ Store(Index(Package(){p92c}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1073)
+ m1a0(Local1, c00c, Ones, 1074)
+
+ Store(Index(Package(){p92d}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1075)
+ m1a0(Local1, c00c, Ones, 1076)
+
+ Store(Index(Package(){p92e}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1077)
+ m1a0(Local1, c00c, Ones, 1078)
+
+ Store(Index(Package(){p92f}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1079)
+ m1a0(Local1, c00c, Ones, 1080)
+
+ Store(Index(Package(){p930}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1081)
+ m1a0(Local1, c00c, Ones, 1082)
+
+ Store(Index(Package(){p931}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1083)
+ m1a0(Local1, c00c, Ones, 1084)
+
+ Store(Index(Package(){p932}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1085)
+ m1a0(Local1, c00c, Ones, 1086)
+
+ Store(Index(Package(){p933}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1087)
+ m1a0(Local1, c00c, Ones, 1088)
+
+ Store(Index(Package(){p934}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1089)
+ m1a0(Local1, c00c, Ones, 1090)
+
+ Store(Index(Package(){p935}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1091)
+ m1a0(Local1, c00c, Ones, 1092)
+
+ Store(Index(Package(){p936}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1093)
+ m1a0(Local1, c00c, Ones, 1094)
+
+ Store(Index(Package(){p937}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1095)
+ m1a0(Local1, c00c, Ones, 1096)
+
+ Store(Index(Package(){p938}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1097)
+ m1a0(Local1, c00c, Ones, 1098)
+
+ Store(Index(Package(){p939}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1099)
+ m1a0(Local1, c00c, Ones, 1100)
+
+ Store(Index(Package(){p93a}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1101)
+ m1a0(Local1, c00c, Ones, 1102)
+
+ Store(Index(Package(){p93b}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1103)
+ m1a0(Local1, c00c, Ones, 1104)
+
+ Store(Index(Package(){p93c}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1105)
+ m1a0(Local1, c00c, Ones, 1106)
+
+ Store(Index(Package(){p93d}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1107)
+ m1a0(Local1, c00c, Ones, 1108)
+
+ Store(Index(Package(){p93e}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1109)
+ m1a0(Local1, c00c, Ones, 1110)
+
+ Store(Index(Package(){p93f}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1111)
+ m1a0(Local1, c00c, Ones, 1112)
+
+ Store(Index(Package(){p940}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1113)
+ m1a0(Local1, c00c, Ones, 1114)
+
+ Store(Index(Package(){p941}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1115)
+ m1a0(Local1, c00c, Ones, 1116)
+
+ Store(Index(Package(){p942}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1117)
+ m1a0(Local1, c00c, Ones, 1118)
+
+ Store(Index(Package(){p943}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1119)
+ m1a0(Local1, c00c, Ones, 1120)
+
+ Store(Index(Package(){p944}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1121)
+ m1a0(Local1, c00c, Ones, 1122)
+
+ Store(Index(Package(){p945}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1123)
+ m1a0(Local1, c00c, Ones, 1124)
+
+ Store(Index(Package(){p946}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1125)
+ m1a0(Local1, c00c, Ones, 1126)
+
+ Store(Index(Package(){p947}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1127)
+ m1a0(Local1, c00c, Ones, 1128)
+
+ Store(Index(Package(){p948}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1129)
+ m1a0(Local1, c00c, Ones, 1130)
+
+ Store(Index(Package(){p949}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1131)
+ m1a0(Local1, c00c, Ones, 1132)
+
+ Store(Index(Package(){p94a}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1133)
+ m1a0(Local1, c00c, Ones, 1134)
+
+ Store(Index(Package(){p94b}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1135)
+ m1a0(Local1, c00c, Ones, 1136)
+
+ Store(Index(Package(){p94c}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1137)
+ m1a0(Local1, c00c, Ones, 1138)
+
+ Store(Index(Package(){p94d}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1139)
+ m1a0(Local1, c00c, Ones, 1140)
+
+ Store(Index(Package(){p94e}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1141)
+ m1a0(Local1, c00c, Ones, 1142)
+
+ Store(Index(Package(){p94f}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1143)
+ m1a0(Local1, c00c, Ones, 1144)
+
+ Store(Index(Package(){p950}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1145)
+ m1a0(Local1, c00c, Ones, 1146)
+
+ Store(Index(Package(){p951}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1147)
+ m1a0(Local1, c00c, Ones, 1148)
+
+ Store(Index(Package(){p952}, 0, Local1), Local0)
+ m1a0(Local0, c00c, Ones, 1149)
+ m1a0(Local1, c00c, Ones, 1150)
+
+ // Methods
+
+ Store(Index(Package(){m900}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1151)
+ m1a0(Local1, c010, Ones, 1152)
+
+ Store(Index(Package(){m901}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1153)
+ m1a0(Local1, c010, Ones, 1154)
+
+ Store(Index(Package(){m902}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1155)
+ m1a0(Local1, c010, Ones, 1156)
+
+ Store(Index(Package(){m903}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1157)
+ m1a0(Local1, c010, Ones, 1158)
+
+ Store(Index(Package(){m904}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1159)
+ m1a0(Local1, c010, Ones, 1160)
+
+ Store(Index(Package(){m905}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1161)
+ m1a0(Local1, c010, Ones, 1162)
+
+ Store(Index(Package(){m906}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1163)
+ m1a0(Local1, c010, Ones, 1164)
+
+ Store(Index(Package(){m907}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1165)
+ m1a0(Local1, c010, Ones, 1166)
+
+ Store(Index(Package(){m908}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1167)
+ m1a0(Local1, c010, Ones, 1168)
+
+ Store(Index(Package(){m909}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1169)
+ m1a0(Local1, c010, Ones, 1170)
+
+ Store(Index(Package(){m90a}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1171)
+ m1a0(Local1, c010, Ones, 1172)
+
+ Store(Index(Package(){m90b}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1173)
+ m1a0(Local1, c010, Ones, 1174)
+
+ Store(Index(Package(){m90c}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1175)
+ m1a0(Local1, c010, Ones, 1176)
+
+ Store(Index(Package(){m90d}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1177)
+ m1a0(Local1, c010, Ones, 1178)
+
+ Store(Index(Package(){m90e}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1179)
+ m1a0(Local1, c010, Ones, 1180)
+
+ Store(Index(Package(){m90f}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1181)
+ m1a0(Local1, c010, Ones, 1182)
+
+ Store(Index(Package(){m910}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1183)
+ m1a0(Local1, c010, Ones, 1184)
+
+ Store(Index(Package(){m911}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1185)
+ m1a0(Local1, c010, Ones, 1186)
+
+ Store(Index(Package(){m912}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1187)
+ m1a0(Local1, c010, Ones, 1188)
+
+ Store(Index(Package(){m913}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1189)
+ m1a0(Local1, c010, Ones, 1190)
+
+ Store(Index(Package(){m914}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1191)
+ m1a0(Local1, c010, Ones, 1192)
+
+ Store(Index(Package(){m915}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1193)
+ m1a0(Local1, c010, Ones, 1194)
+
+ Store(Index(Package(){m916}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1195)
+ m1a0(Local1, c010, Ones, 1196)
+
+ Store(Index(Package(){m917}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1197)
+ m1a0(Local1, c010, Ones, 1198)
+
+ Store(Index(Package(){m918}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1199)
+ m1a0(Local1, c010, Ones, 1200)
+
+ Store(Index(Package(){m919}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1201)
+ m1a0(Local1, c010, Ones, 1202)
+
+ Store(Index(Package(){m91a}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1203)
+ m1a0(Local1, c010, Ones, 1204)
+
+ Store(Index(Package(){m91b}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1205)
+ m1a0(Local1, c010, Ones, 1206)
+
+ Store(Index(Package(){m91c}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1207)
+ m1a0(Local1, c010, Ones, 1208)
+
+ Store(Index(Package(){m91d}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1209)
+ m1a0(Local1, c010, Ones, 1210)
+
+ Store(Index(Package(){m91e}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1211)
+ m1a0(Local1, c010, Ones, 1212)
+
+ Store(Index(Package(){m91f}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1213)
+ m1a0(Local1, c010, Ones, 1214)
+
+ Store(Index(Package(){m920}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1215)
+ m1a0(Local1, c010, Ones, 1216)
+
+ Store(Index(Package(){m921}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1217)
+ m1a0(Local1, c010, Ones, 1218)
+
+ Store(Index(Package(){m922}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1219)
+ m1a0(Local1, c010, Ones, 1220)
+
+ Store(Index(Package(){m923}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1221)
+ m1a0(Local1, c010, Ones, 1222)
+
+ Store(Index(Package(){m924}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1223)
+ m1a0(Local1, c010, Ones, 1224)
+
+ Store(Index(Package(){m925}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1225)
+ m1a0(Local1, c010, Ones, 1226)
+
+ Store(Index(Package(){m926}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1227)
+ m1a0(Local1, c010, Ones, 1228)
+
+ Store(Index(Package(){m927}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1229)
+ m1a0(Local1, c010, Ones, 1230)
+
+ Store(Index(Package(){m928}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1231)
+ m1a0(Local1, c010, Ones, 1232)
+
+ Store(Index(Package(){m929}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1233)
+ m1a0(Local1, c010, Ones, 1234)
+
+ Store(Index(Package(){m92a}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1235)
+ m1a0(Local1, c010, Ones, 1236)
+
+ Store(Index(Package(){m92b}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1237)
+ m1a0(Local1, c010, Ones, 1238)
+
+ Store(Index(Package(){m92c}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1239)
+ m1a0(Local1, c010, Ones, 1240)
+
+ Store(Index(Package(){m92d}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1241)
+ m1a0(Local1, c010, Ones, 1242)
+
+ Store(Index(Package(){m92e}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1243)
+ m1a0(Local1, c010, Ones, 1244)
+
+ Store(Index(Package(){m92f}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1245)
+ m1a0(Local1, c010, Ones, 1246)
+
+ Store(Index(Package(){m930}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1247)
+ m1a0(Local1, c010, Ones, 1248)
+
+ Store(Index(Package(){m931}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1249)
+ m1a0(Local1, c010, Ones, 1250)
+
+ Store(Index(Package(){m932}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1251)
+ m1a0(Local1, c010, Ones, 1252)
+
+ Store(Index(Package(){m933}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1253)
+ m1a0(Local1, c010, Ones, 1254)
+
+ Store(Index(Package(){m934}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1255)
+ m1a0(Local1, c010, Ones, 1256)
+
+ Store(Index(Package(){m935}, 0, Local1), Local0)
+ m1a0(Local0, c010, Ones, 1257)
+ m1a0(Local1, c010, Ones, 1258)
+
+ m1a6()
+}
+
+Method(m195, 5)
+{
+ Store(z080, c081) // absolute index of file initiating the checking
+ Store(1, c089) // flag of Reference, object otherwise
+
+/*
+ * Store(0xd7, f900)
+ * Store(0xd8, if90)
+ */
+
+ if (arg0) {
+ m190()
+ }
+ if (arg1) {
+ m191(c083)
+ }
+ if (arg2) {
+ m192()
+ }
+ if (arg3) {
+ m193(c083)
+ }
+ if (arg4) {
+ m194()
+ }
+}
+
+// Usual mode
+Method(m196)
+{
+ Store(1, c084) // run verification of references (reading)
+ Store(0, c085) // create the chain of references to LocalX, then dereference them
+
+ Store("Usual mode:", Debug)
+
+ m195(1, 1, 1, 1, 1)
+}
+
+// The mode with the chain of references to LocalX
+Method(m197)
+{
+ Store(1, c084) // run verification of references (reading)
+ Store(1, c085) // create the chain of references to LocalX, then dereference them
+
+ Store("The mode with the chain of references to LocalX:", Debug)
+
+ m195(1, 1, 1, 1, 1)
+}
+
+// Run-method
+Method(REF4)
+{
+ Store("TEST: REF4, References", Debug)
+
+ Store("REF4", c080) // name of test
+ Store(0, c082) // flag of test of exceptions
+ Store(0, c083) // run verification of references (write/read)
+ Store(0, c086) // flag, run test till the first error
+ Store(1, c087) // apply DeRefOf to ArgX-ObjectReference
+
+ m196()
+ m197()
+}
diff --git a/tests/aslts/src/runtime/collections/functional/reference/ref05.asl b/tests/aslts/src/runtime/collections/functional/reference/ref05.asl
new file mode 100644
index 000000000..cde809aa0
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/reference/ref05.asl
@@ -0,0 +1,3153 @@
+/*
+ * 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.
+ */
+
+/*
+ * References
+ */
+
+Name(z108, 108)
+
+// m16a
+Method(m1b0)
+{
+ if (y100) {
+ ts00("m1b0")
+ } else {
+ Store("m1b0", Debug)
+ }
+
+ // T2:R1-R14
+
+ // Computational Data
+
+ m1a2(i900, c009, 0, 0, c009, 0xfe7cb391d65a0000, 0)
+ m1a2(i901, c009, 0, 0, c009, 0xc1790001, 1)
+ m1a2(s900, c00a, 0, 0, c00a, "12340002", 2)
+ m1a2(s901, c00a, 0, 0, c00a, "qwrtyu0003", 3)
+ m1a2(b900, c00b, 0, 0, c00b, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4}, 4)
+ m1a2(f900, c009, 0, 0, c009, 0, 5)
+ m1a2(bn90, c009, 0, 0, c009, 0, 6)
+ m1a2(if90, c009, 0, 0, c009, 0, 7)
+ m1a2(bf90, c009, 0, 0, c009, 0xb0, 8)
+
+ // Not Computational Data
+
+ m1a0(e900, c00f, Ones, 9)
+ m1a0(mx90, c011, Ones, 10)
+ if (y511) {
+ m1a0(d900, c00e, Ones, 11)
+ }
+ if (y508) {
+ m1a0(tz90, c015, Ones, 12)
+ }
+ m1a0(pr90, c014, Ones, 13)
+ m1a0(r900, c012, Ones, 14)
+ m1a0(pw90, c013, Ones, 15)
+
+ // Elements of Package are Uninitialized
+
+ m1a0(p900, c00c, Ones, 16)
+
+ // Elements of Package are Computational Data
+
+ m1a2(p901, c00c, 1, 0, c009, 0xabcd0004, 17)
+ m1a2(p901, c00c, 1, 1, c009, 0x1122334455660005, 18)
+ m1a2(p902, c00c, 1, 0, c00a, "12340006", 19)
+ m1a2(p902, c00c, 1, 1, c00a, "q1w2e3r4t5y6u7i80007", 20)
+ m1a2(p903, c00c, 1, 0, c00a, "qwrtyuiop0008", 21)
+ m1a2(p903, c00c, 1, 1, c00a, "1234567890abdef0250009", 22)
+ m1a2(p904, c00c, 1, 0, c00b, Buffer() {0xb5,0xb6,0xb7}, 23)
+ m1a2(p905, c00c, 2, 0, c009, 0xabc000a, 24)
+ m1a2(p905, c00c, 2, 1, c00a, "0xabc000b", 25)
+ m1a2(p906, c00c, 2, 0, c00a, "abc000d", 26)
+ m1a2(p907, c00c, 2, 0, c00a, "aqwevbgnm000e", 27)
+ m1a2(p908, c00c, 2, 0, c00b, Buffer() {0xba,0xbb,0xbc,0xbd,0xbe}, 28)
+ m1a2(p909, c00c, 3, 0, c009, 0xabc000f, 29)
+ m1a2(p90a, c00c, 3, 0, c00a, "12340010", 30)
+ m1a2(p90b, c00c, 3, 0, c00a, "zxswefas0011", 31)
+ m1a2(p90c, c00c, 3, 0, c00b, Buffer() {0xbf,0xc0,0xc1}, 32)
+ m1a2(p90d, c00c, 1, 0, c009, 0xfe7cb391d65a0000, 33)
+ m1a2(p90e, c00c, 1, 0, c009, 0xc1790001, 34)
+ m1a2(p90f, c00c, 1, 0, c00a, "12340002", 35)
+ m1a2(p910, c00c, 1, 0, c00a, "qwrtyu0003", 36)
+ m1a2(p911, c00c, 1, 0, c00b, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4}, 37)
+
+ if (y118) {
+ m1a2(p912, c00c, 1, 0, c00d, 0, 38)
+ m1a2(p913, c00c, 1, 0, c00d, 0, 39)
+ m1a2(p914, c00c, 1, 0, c00d, 0, 40)
+ m1a2(p915, c00c, 1, 0, c016, 0xb0, 41)
+ }
+
+ // Elements of Package are NOT Computational Data
+
+ m1a0(p916, c00c, Ones, 42)
+ m1a0(p917, c00c, Ones, 43)
+ m1a0(p918, c00c, Ones, 44)
+ m1a0(p919, c00c, Ones, 45)
+ m1a0(p91a, c00c, Ones, 46)
+ m1a0(p91b, c00c, Ones, 47)
+ m1a0(p91c, c00c, Ones, 48)
+
+ // Elements of Package are Methods
+
+ m1a0(p91d, c00c, Ones, 49)
+ m1a0(p91e, c00c, Ones, 50)
+ m1a0(p91f, c00c, Ones, 51)
+ m1a0(p920, c00c, Ones, 52)
+ m1a0(p921, c00c, Ones, 53)
+ m1a0(p922, c00c, Ones, 54)
+ m1a0(p923, c00c, Ones, 55)
+ m1a0(p924, c00c, Ones, 56)
+ m1a0(p925, c00c, Ones, 57)
+ m1a0(p926, c00c, Ones, 58)
+ m1a0(p927, c00c, Ones, 59)
+ m1a0(p928, c00c, Ones, 60)
+ m1a0(p929, c00c, Ones, 61)
+ m1a0(p92a, c00c, Ones, 62)
+ m1a0(p92b, c00c, Ones, 63)
+ m1a0(p92c, c00c, Ones, 64)
+ m1a0(p92d, c00c, Ones, 65)
+ m1a0(p92e, c00c, Ones, 66)
+ m1a0(p92f, c00c, Ones, 67)
+ m1a0(p930, c00c, Ones, 68)
+ m1a0(p931, c00c, Ones, 69)
+ m1a0(p932, c00c, Ones, 70)
+ m1a0(p933, c00c, Ones, 71)
+ m1a0(p934, c00c, Ones, 72)
+ m1a0(p935, c00c, Ones, 73)
+ m1a0(p936, c00c, Ones, 74)
+ m1a0(p937, c00c, Ones, 75)
+ m1a0(p938, c00c, Ones, 76)
+ m1a0(p939, c00c, Ones, 77)
+ m1a0(p93a, c00c, Ones, 78)
+ m1a0(p93b, c00c, Ones, 79)
+ m1a0(p93c, c00c, Ones, 80)
+ m1a0(p93d, c00c, Ones, 81)
+ m1a0(p93e, c00c, Ones, 82)
+ m1a0(p93f, c00c, Ones, 83)
+ m1a0(p940, c00c, Ones, 84)
+ m1a0(p941, c00c, Ones, 85)
+ m1a0(p942, c00c, Ones, 86)
+ m1a0(p943, c00c, Ones, 87)
+ m1a0(p944, c00c, Ones, 88)
+ m1a0(p945, c00c, Ones, 89)
+ m1a0(p946, c00c, Ones, 90)
+ m1a0(p947, c00c, Ones, 91)
+ m1a0(p948, c00c, Ones, 92)
+ m1a0(p949, c00c, Ones, 93)
+ m1a0(p94a, c00c, Ones, 94)
+ m1a0(p94b, c00c, Ones, 95)
+ m1a0(p94c, c00c, Ones, 96)
+ m1a0(p94d, c00c, Ones, 97)
+ m1a0(p94e, c00c, Ones, 98)
+ m1a0(p94f, c00c, Ones, 99)
+ m1a0(p950, c00c, Ones, 100)
+ m1a0(p951, c00c, Ones, 101)
+ m1a0(p952, c00c, Ones, 102)
+ m1a0(p953, c00c, Ones, 103)
+
+ // Methods
+
+ if (y509) {
+ m1a0(m900, c010, Ones, 104)
+ m1a0(m901, c010, Ones, 105)
+ m1a0(m902, c010, Ones, 106)
+ m1a0(m903, c010, Ones, 107)
+ m1a0(m904, c010, Ones, 108)
+ m1a0(m905, c010, Ones, 109)
+ m1a0(m906, c010, Ones, 110)
+ m1a0(m907, c010, Ones, 111)
+ m1a0(m908, c010, Ones, 112)
+ m1a0(m909, c010, Ones, 113)
+ m1a0(m90a, c010, Ones, 114)
+ m1a0(m90b, c010, Ones, 115)
+ m1a0(m90c, c010, Ones, 116)
+ m1a0(m90d, c010, Ones, 117)
+ m1a0(m90e, c010, Ones, 118)
+ m1a0(m90f, c010, Ones, 119)
+ m1a0(m910, c010, Ones, 120)
+ m1a0(m911, c010, Ones, 121)
+ m1a0(m912, c010, Ones, 122)
+ m1a0(m913, c010, Ones, 123)
+ m1a0(m914, c010, Ones, 124)
+ m1a0(m915, c010, Ones, 125)
+ m1a0(m916, c010, Ones, 126)
+ m1a0(m917, c010, Ones, 127)
+ m1a0(m918, c010, Ones, 128)
+ m1a0(m919, c010, Ones, 129)
+ m1a0(m91a, c010, Ones, 130)
+ m1a0(m91b, c010, Ones, 131)
+ m1a0(m91c, c010, Ones, 132)
+ m1a0(m91d, c010, Ones, 133)
+ m1a0(m91e, c010, Ones, 134)
+ m1a0(m91f, c010, Ones, 135)
+ m1a0(m920, c010, Ones, 136)
+ m1a0(m921, c010, Ones, 137)
+ m1a0(m922, c010, Ones, 138)
+ m1a0(m923, c010, Ones, 139)
+ m1a0(m924, c010, Ones, 140)
+ m1a0(m925, c010, Ones, 141)
+ m1a0(m926, c010, Ones, 142)
+ m1a0(m927, c010, Ones, 143)
+ m1a0(m928, c010, Ones, 144)
+ m1a0(m929, c010, Ones, 145)
+ m1a0(m92a, c010, Ones, 146)
+ m1a0(m92b, c010, Ones, 147)
+ m1a0(m92c, c010, Ones, 148)
+ m1a0(m92d, c010, Ones, 149)
+ m1a0(m92e, c010, Ones, 150)
+ m1a0(m92f, c010, Ones, 151)
+ m1a0(m930, c010, Ones, 152)
+ m1a0(m931, c010, Ones, 153)
+ m1a0(m932, c010, Ones, 154)
+ m1a0(m933, c010, Ones, 155)
+ m1a0(m934, c010, Ones, 156)
+ m1a0(m935, c010, Ones, 157)
+ }
+
+ m1a6()
+}
+
+/*
+ * CopyObject of Object to LocalX:
+ *
+ * Local0-Local7 can be written with any
+ * type object without any conversion.
+ *
+ * Check each type after each one.
+ */
+Method(m1b1)
+{
+ Name(ts, "m1b1")
+
+ Store(z108, c081) // absolute index of file initiating the checking
+
+ // All types
+
+ CopyObject(i900, Local0)
+ m1a3(Local0, c009, z108, ts, 158)
+
+ CopyObject(s900, Local0)
+ m1a3(Local0, c00a, z108, ts, 159)
+
+ CopyObject(b900, Local0)
+ m1a3(Local0, c00b, z108, ts, 160)
+
+ CopyObject(p900, Local0)
+ m1a3(Local0, c00c, z108, ts, 161)
+
+ CopyObject(f900, Local0)
+ m1a3(Local0, c009, z108, ts, 162)
+
+ CopyObject(d900, Local0)
+ m1a3(Local0, c00e, z108, ts, 163)
+
+ CopyObject(e900, Local0)
+ m1a3(Local0, c00f, z108, ts, 164)
+
+ if (rn06) {
+ CopyObject(m901, Local0)
+ } else {
+ CopyObject(DerefOf(RefOf(m901)), Local0)
+ }
+ m1a3(Local0, c010, z108, ts, 165)
+
+ CopyObject(mx90, Local0)
+ m1a3(Local0, c011, z108, ts, 166)
+
+ if (y510) {
+ CopyObject(r900, Local0)
+ m1a3(Local0, c012, z108, ts, 167)
+ }
+
+ CopyObject(pw90, Local0)
+ m1a3(Local0, c013, z108, ts, 168)
+
+ CopyObject(pr90, Local0)
+ m1a3(Local0, c014, z108, ts, 169)
+
+ if (y508) {
+ CopyObject(tz90, Local0)
+ m1a3(Local0, c015, z108, ts, 170)
+ }
+
+ CopyObject(bf90, Local0)
+ m1a3(Local0, c009, z108, ts, 171)
+
+ /////////////////////// All after Integer
+
+ CopyObject(i900, Local0)
+ m1a3(Local0, c009, z108, ts, 172)
+
+ CopyObject(i900, Local0)
+ m1a3(Local0, c009, z108, ts, 173)
+
+ CopyObject(s900, Local0)
+ m1a3(Local0, c00a, z108, ts, 174)
+
+ CopyObject(i900, Local0)
+ m1a3(Local0, c009, z108, ts, 175)
+
+ CopyObject(b900, Local0)
+ m1a3(Local0, c00b, z108, ts, 176)
+
+ CopyObject(i900, Local0)
+ m1a3(Local0, c009, z108, ts, 177)
+
+ CopyObject(p900, Local0)
+ m1a3(Local0, c00c, z108, ts, 178)
+
+ CopyObject(i900, Local0)
+ m1a3(Local0, c009, z108, ts, 179)
+
+ CopyObject(f900, Local0)
+ m1a3(Local0, c009, z108, ts, 180)
+
+ CopyObject(i900, Local0)
+ m1a3(Local0, c009, z108, ts, 181)
+
+ CopyObject(d900, Local0)
+ m1a3(Local0, c00e, z108, ts, 182)
+
+ CopyObject(i900, Local0)
+ m1a3(Local0, c009, z108, ts, 183)
+
+ CopyObject(e900, Local0)
+ m1a3(Local0, c00f, z108, ts, 184)
+
+ CopyObject(i900, Local0)
+ m1a3(Local0, c009, z108, ts, 185)
+
+ if (rn06) {
+ CopyObject(m901, Local0)
+ } else {
+ CopyObject(DerefOf(RefOf(m901)), Local0)
+ }
+ m1a3(Local0, c010, z108, ts, 186)
+
+ CopyObject(i900, Local0)
+ m1a3(Local0, c009, z108, ts, 187)
+
+ CopyObject(mx90, Local0)
+ m1a3(Local0, c011, z108, ts, 188)
+
+ CopyObject(i900, Local0)
+ m1a3(Local0, c009, z108, ts, 189)
+
+ if (y510) {
+ CopyObject(r900, Local0)
+ m1a3(Local0, c012, z108, ts, 190)
+ }
+
+ CopyObject(i900, Local0)
+ m1a3(Local0, c009, z108, ts, 191)
+
+ CopyObject(pw90, Local0)
+ m1a3(Local0, c013, z108, ts, 192)
+
+ CopyObject(i900, Local0)
+ m1a3(Local0, c009, z108, ts, 193)
+
+ CopyObject(pr90, Local0)
+ m1a3(Local0, c014, z108, ts, 194)
+
+ CopyObject(i900, Local0)
+ m1a3(Local0, c009, z108, ts, 195)
+
+ if (y508) {
+ CopyObject(tz90, Local0)
+ m1a3(Local0, c015, z108, ts, 196)
+ }
+
+ CopyObject(i900, Local0)
+ m1a3(Local0, c009, z108, ts, 197)
+
+ CopyObject(bf90, Local0)
+ m1a3(Local0, c009, z108, ts, 198)
+
+ CopyObject(i900, Local0)
+ m1a3(Local0, c009, z108, ts, 199)
+
+ /////////////////////// All-Integer after String
+
+ CopyObject(s900, Local0)
+ m1a3(Local0, c00a, z108, ts, 200)
+
+ CopyObject(s900, Local0)
+ m1a3(Local0, c00a, z108, ts, 201)
+
+ CopyObject(b900, Local0)
+ m1a3(Local0, c00b, z108, ts, 202)
+
+ CopyObject(s900, Local0)
+ m1a3(Local0, c00a, z108, ts, 203)
+
+ CopyObject(p900, Local0)
+ m1a3(Local0, c00c, z108, ts, 204)
+
+ CopyObject(s900, Local0)
+ m1a3(Local0, c00a, z108, ts, 205)
+
+ CopyObject(f900, Local0)
+ m1a3(Local0, c009, z108, ts, 206)
+
+ CopyObject(s900, Local0)
+ m1a3(Local0, c00a, z108, ts, 207)
+
+ CopyObject(d900, Local0)
+ m1a3(Local0, c00e, z108, ts, 208)
+
+ CopyObject(s900, Local0)
+ m1a3(Local0, c00a, z108, ts, 209)
+
+ CopyObject(e900, Local0)
+ m1a3(Local0, c00f, z108, ts, 210)
+
+ CopyObject(s900, Local0)
+ m1a3(Local0, c00a, z108, ts, 211)
+
+ if (rn06) {
+ CopyObject(m901, Local0)
+ } else {
+ CopyObject(DerefOf(RefOf(m901)), Local0)
+ }
+ m1a3(Local0, c010, z108, ts, 212)
+
+ CopyObject(s900, Local0)
+ m1a3(Local0, c00a, z108, ts, 213)
+
+ CopyObject(mx90, Local0)
+ m1a3(Local0, c011, z108, ts, 214)
+
+ CopyObject(s900, Local0)
+ m1a3(Local0, c00a, z108, ts, 215)
+
+ if (y510) {
+ CopyObject(r900, Local0)
+ m1a3(Local0, c012, z108, ts, 216)
+ }
+
+ CopyObject(s900, Local0)
+ m1a3(Local0, c00a, z108, ts, 217)
+
+ CopyObject(pw90, Local0)
+ m1a3(Local0, c013, z108, ts, 218)
+
+ CopyObject(s900, Local0)
+ m1a3(Local0, c00a, z108, ts, 219)
+
+ CopyObject(pr90, Local0)
+ m1a3(Local0, c014, z108, ts, 220)
+
+ CopyObject(s900, Local0)
+ m1a3(Local0, c00a, z108, ts, 221)
+
+ if (y508) {
+ CopyObject(tz90, Local0)
+ m1a3(Local0, c015, z108, ts, 222)
+ }
+
+ CopyObject(s900, Local0)
+ m1a3(Local0, c00a, z108, ts, 223)
+
+ CopyObject(bf90, Local0)
+ m1a3(Local0, c009, z108, ts, 224)
+
+ CopyObject(s900, Local0)
+ m1a3(Local0, c00a, z108, ts, 225)
+
+ /////////////////////// All-(Integer+String) after Buffer
+
+ CopyObject(b900, Local0)
+ m1a3(Local0, c00b, z108, ts, 226)
+
+ CopyObject(b900, Local0)
+ m1a3(Local0, c00b, z108, ts, 227)
+
+ CopyObject(p900, Local0)
+ m1a3(Local0, c00c, z108, ts, 228)
+
+ CopyObject(b900, Local0)
+ m1a3(Local0, c00b, z108, ts, 229)
+
+ CopyObject(f900, Local0)
+ m1a3(Local0, c009, z108, ts, 230)
+
+ CopyObject(b900, Local0)
+ m1a3(Local0, c00b, z108, ts, 231)
+
+ CopyObject(d900, Local0)
+ m1a3(Local0, c00e, z108, ts, 232)
+
+ CopyObject(b900, Local0)
+ m1a3(Local0, c00b, z108, ts, 233)
+
+ CopyObject(e900, Local0)
+ m1a3(Local0, c00f, z108, ts, 234)
+
+ CopyObject(b900, Local0)
+ m1a3(Local0, c00b, z108, ts, 235)
+
+ if (rn06) {
+ CopyObject(m901, Local0)
+ } else {
+ CopyObject(DerefOf(RefOf(m901)), Local0)
+ }
+ m1a3(Local0, c010, z108, ts, 236)
+
+ CopyObject(b900, Local0)
+ m1a3(Local0, c00b, z108, ts, 237)
+
+ CopyObject(mx90, Local0)
+ m1a3(Local0, c011, z108, ts, 238)
+
+ CopyObject(b900, Local0)
+ m1a3(Local0, c00b, z108, ts, 239)
+
+ if (y510) {
+ CopyObject(r900, Local0)
+ m1a3(Local0, c012, z108, ts, 240)
+ }
+
+ CopyObject(b900, Local0)
+ m1a3(Local0, c00b, z108, ts, 241)
+
+ CopyObject(pw90, Local0)
+ m1a3(Local0, c013, z108, ts, 242)
+
+ CopyObject(b900, Local0)
+ m1a3(Local0, c00b, z108, ts, 243)
+
+ CopyObject(pr90, Local0)
+ m1a3(Local0, c014, z108, ts, 244)
+
+ CopyObject(b900, Local0)
+ m1a3(Local0, c00b, z108, ts, 245)
+
+ if (y508) {
+ CopyObject(tz90, Local0)
+ m1a3(Local0, c015, z108, ts, 246)
+ }
+
+ CopyObject(b900, Local0)
+ m1a3(Local0, c00b, z108, ts, 247)
+
+ CopyObject(bf90, Local0)
+ m1a3(Local0, c009, z108, ts, 247)
+
+ CopyObject(b900, Local0)
+ m1a3(Local0, c00b, z108, ts, 249)
+
+ /////////////////////// All-(...) after Package
+
+ CopyObject(p900, Local0)
+ m1a3(Local0, c00c, z108, ts, 250)
+
+ CopyObject(p900, Local0)
+ m1a3(Local0, c00c, z108, ts, 251)
+
+ CopyObject(f900, Local0)
+ m1a3(Local0, c009, z108, ts, 252)
+
+ CopyObject(p900, Local0)
+ m1a3(Local0, c00c, z108, ts, 253)
+
+ CopyObject(d900, Local0)
+ m1a3(Local0, c00e, z108, ts, 254)
+
+ CopyObject(p900, Local0)
+ m1a3(Local0, c00c, z108, ts, 255)
+
+ CopyObject(e900, Local0)
+ m1a3(Local0, c00f, z108, ts, 256)
+
+ CopyObject(p900, Local0)
+ m1a3(Local0, c00c, z108, ts, 257)
+
+ if (rn06) {
+ CopyObject(m901, Local0)
+ } else {
+ CopyObject(DerefOf(RefOf(m901)), Local0)
+ }
+ m1a3(Local0, c010, z108, ts, 258)
+
+ CopyObject(p900, Local0)
+ m1a3(Local0, c00c, z108, ts, 259)
+
+ CopyObject(mx90, Local0)
+ m1a3(Local0, c011, z108, ts, 260)
+
+ CopyObject(p900, Local0)
+ m1a3(Local0, c00c, z108, ts, 261)
+
+ if (y510) {
+ CopyObject(r900, Local0)
+ m1a3(Local0, c012, z108, ts, 262)
+ }
+
+ CopyObject(p900, Local0)
+ m1a3(Local0, c00c, z108, ts, 263)
+
+ CopyObject(pw90, Local0)
+ m1a3(Local0, c013, z108, ts, 264)
+
+ CopyObject(p900, Local0)
+ m1a3(Local0, c00c, z108, ts, 265)
+
+ CopyObject(pr90, Local0)
+ m1a3(Local0, c014, z108, ts, 266)
+
+ CopyObject(p900, Local0)
+ m1a3(Local0, c00c, z108, ts, 267)
+
+ if (y508) {
+ CopyObject(tz90, Local0)
+ m1a3(Local0, c015, z108, ts, 268)
+ }
+
+ CopyObject(p900, Local0)
+ m1a3(Local0, c00c, z108, ts, 269)
+
+ CopyObject(bf90, Local0)
+ m1a3(Local0, c009, z108, ts, 270)
+
+ CopyObject(p900, Local0)
+ m1a3(Local0, c00c, z108, ts, 271)
+
+ /////////////////////// All-(...) after Field Unit
+
+ CopyObject(f900, Local0)
+ m1a3(Local0, c009, z108, ts, 272)
+
+ CopyObject(f900, Local0)
+ m1a3(Local0, c009, z108, ts, 273)
+
+ CopyObject(d900, Local0)
+ m1a3(Local0, c00e, z108, ts, 274)
+
+ CopyObject(f900, Local0)
+ m1a3(Local0, c009, z108, ts, 275)
+
+ CopyObject(e900, Local0)
+ m1a3(Local0, c00f, z108, ts, 276)
+
+ CopyObject(f900, Local0)
+ m1a3(Local0, c009, z108, ts, 277)
+
+ if (rn06) {
+ CopyObject(m901, Local0)
+ } else {
+ CopyObject(DerefOf(RefOf(m901)), Local0)
+ }
+ m1a3(Local0, c010, z108, ts, 278)
+
+ CopyObject(f900, Local0)
+ m1a3(Local0, c009, z108, ts, 279)
+
+ CopyObject(mx90, Local0)
+ m1a3(Local0, c011, z108, ts, 280)
+
+ CopyObject(f900, Local0)
+ m1a3(Local0, c009, z108, ts, 281)
+
+ if (y510) {
+ CopyObject(r900, Local0)
+ m1a3(Local0, c012, z108, ts, 282)
+ }
+
+ CopyObject(f900, Local0)
+ m1a3(Local0, c009, z108, ts, 283)
+
+ CopyObject(pw90, Local0)
+ m1a3(Local0, c013, z108, ts, 284)
+
+ CopyObject(f900, Local0)
+ m1a3(Local0, c009, z108, ts, 285)
+
+ CopyObject(pr90, Local0)
+ m1a3(Local0, c014, z108, ts, 286)
+
+ CopyObject(f900, Local0)
+ m1a3(Local0, c009, z108, ts, 287)
+
+ if (y508) {
+ CopyObject(tz90, Local0)
+ m1a3(Local0, c015, z108, ts, 288)
+ }
+
+ CopyObject(f900, Local0)
+ m1a3(Local0, c009, z108, ts, 289)
+
+ CopyObject(bf90, Local0)
+ m1a3(Local0, c009, z108, ts, 290)
+
+ CopyObject(f900, Local0)
+ m1a3(Local0, c009, z108, ts, 291)
+
+ /////////////////////// All-(...) after Device
+
+ CopyObject(d900, Local0)
+ m1a3(Local0, c00e, z108, ts, 292)
+
+ CopyObject(d900, Local0)
+ m1a3(Local0, c00e, z108, ts, 293)
+
+ CopyObject(e900, Local0)
+ m1a3(Local0, c00f, z108, ts, 294)
+
+ CopyObject(d900, Local0)
+ m1a3(Local0, c00e, z108, ts, 295)
+
+ if (rn06) {
+ CopyObject(m901, Local0)
+ } else {
+ CopyObject(DerefOf(RefOf(m901)), Local0)
+ }
+ m1a3(Local0, c010, z108, ts, 296)
+
+ CopyObject(d900, Local0)
+ m1a3(Local0, c00e, z108, ts, 297)
+
+ CopyObject(mx90, Local0)
+ m1a3(Local0, c011, z108, ts, 298)
+
+ CopyObject(d900, Local0)
+ m1a3(Local0, c00e, z108, ts, 299)
+
+ if (y510) {
+ CopyObject(r900, Local0)
+ m1a3(Local0, c012, z108, ts, 300)
+ }
+
+ CopyObject(d900, Local0)
+ m1a3(Local0, c00e, z108, ts, 301)
+
+ CopyObject(pw90, Local0)
+ m1a3(Local0, c013, z108, ts, 302)
+
+ CopyObject(d900, Local0)
+ m1a3(Local0, c00e, z108, ts, 303)
+
+ CopyObject(pr90, Local0)
+ m1a3(Local0, c014, z108, ts, 304)
+
+ CopyObject(d900, Local0)
+ m1a3(Local0, c00e, z108, ts, 305)
+
+ if (y508) {
+ CopyObject(tz90, Local0)
+ m1a3(Local0, c015, z108, ts, 306)
+ }
+
+ CopyObject(d900, Local0)
+ m1a3(Local0, c00e, z108, ts, 307)
+
+ CopyObject(bf90, Local0)
+ m1a3(Local0, c009, z108, ts, 308)
+
+ CopyObject(d900, Local0)
+ m1a3(Local0, c00e, z108, ts, 309)
+
+ /////////////////////// All-(...) after Event
+
+ CopyObject(e900, Local0)
+ m1a3(Local0, c00f, z108, ts, 310)
+
+ CopyObject(e900, Local0)
+ m1a3(Local0, c00f, z108, ts, 311)
+
+ if (rn06) {
+ CopyObject(m901, Local0)
+ } else {
+ CopyObject(DerefOf(RefOf(m901)), Local0)
+ }
+ m1a3(Local0, c010, z108, ts, 312)
+
+ CopyObject(e900, Local0)
+ m1a3(Local0, c00f, z108, ts, 313)
+
+ CopyObject(mx90, Local0)
+ m1a3(Local0, c011, z108, ts, 314)
+
+ CopyObject(e900, Local0)
+ m1a3(Local0, c00f, z108, ts, 315)
+
+ if (y510) {
+ CopyObject(r900, Local0)
+ m1a3(Local0, c012, z108, ts, 316)
+ }
+
+ CopyObject(e900, Local0)
+ m1a3(Local0, c00f, z108, ts, 317)
+
+ CopyObject(pw90, Local0)
+ m1a3(Local0, c013, z108, ts, 318)
+
+ CopyObject(e900, Local0)
+ m1a3(Local0, c00f, z108, ts, 319)
+
+ CopyObject(pr90, Local0)
+ m1a3(Local0, c014, z108, ts, 320)
+
+ CopyObject(e900, Local0)
+ m1a3(Local0, c00f, z108, ts, 321)
+
+ if (y508) {
+ CopyObject(tz90, Local0)
+ m1a3(Local0, c015, z108, ts, 322)
+ }
+
+ CopyObject(e900, Local0)
+ m1a3(Local0, c00f, z108, ts, 323)
+
+ CopyObject(bf90, Local0)
+ m1a3(Local0, c009, z108, ts, 324)
+
+ CopyObject(e900, Local0)
+ m1a3(Local0, c00f, z108, ts, 325)
+
+ /////////////////////// All-(...) after Method
+
+ if (rn06) {
+ CopyObject(m901, Local0)
+ } else {
+ CopyObject(DerefOf(RefOf(m901)), Local0)
+ }
+ m1a3(Local0, c010, z108, ts, 326)
+
+ if (rn06) {
+ CopyObject(m901, Local0)
+ } else {
+ CopyObject(DerefOf(RefOf(m901)), Local0)
+ }
+ m1a3(Local0, c010, z108, ts, 327)
+
+ CopyObject(mx90, Local0)
+ m1a3(Local0, c011, z108, ts, 328)
+
+ if (rn06) {
+ CopyObject(m901, Local0)
+ } else {
+ CopyObject(DerefOf(RefOf(m901)), Local0)
+ }
+ m1a3(Local0, c010, z108, ts, 329)
+
+ if (y510) {
+ CopyObject(r900, Local0)
+ m1a3(Local0, c012, z108, ts, 330)
+ }
+
+ if (rn06) {
+ CopyObject(m901, Local0)
+ } else {
+ CopyObject(DerefOf(RefOf(m901)), Local0)
+ }
+ m1a3(Local0, c010, z108, ts, 331)
+
+ CopyObject(pw90, Local0)
+ m1a3(Local0, c013, z108, ts, 332)
+
+ if (rn06) {
+ CopyObject(m901, Local0)
+ } else {
+ CopyObject(DerefOf(RefOf(m901)), Local0)
+ }
+ m1a3(Local0, c010, z108, ts, 333)
+
+ CopyObject(pr90, Local0)
+ m1a3(Local0, c014, z108, ts, 334)
+
+ if (rn06) {
+ CopyObject(m901, Local0)
+ } else {
+ CopyObject(DerefOf(RefOf(m901)), Local0)
+ }
+ m1a3(Local0, c010, z108, ts, 335)
+
+ if (y508) {
+ CopyObject(tz90, Local0)
+ m1a3(Local0, c015, z108, ts, 336)
+ }
+
+ if (rn06) {
+ CopyObject(m901, Local0)
+ } else {
+ CopyObject(DerefOf(RefOf(m901)), Local0)
+ }
+ m1a3(Local0, c010, z108, ts, 337)
+
+ CopyObject(bf90, Local0)
+ m1a3(Local0, c009, z108, ts, 338)
+
+ if (rn06) {
+ CopyObject(m901, Local0)
+ } else {
+ CopyObject(DerefOf(RefOf(m901)), Local0)
+ }
+ m1a3(Local0, c010, z108, ts, 339)
+
+ /////////////////////// All-(...) after Mutex
+
+ CopyObject(mx90, Local0)
+ m1a3(Local0, c011, z108, ts, 340)
+
+ CopyObject(mx90, Local0)
+ m1a3(Local0, c011, z108, ts, 341)
+
+ if (y510) {
+ CopyObject(r900, Local0)
+ m1a3(Local0, c012, z108, ts, 342)
+ }
+
+ CopyObject(mx90, Local0)
+ m1a3(Local0, c011, z108, ts, 343)
+
+ CopyObject(pw90, Local0)
+ m1a3(Local0, c013, z108, ts, 344)
+
+ CopyObject(mx90, Local0)
+ m1a3(Local0, c011, z108, ts, 345)
+
+ CopyObject(pr90, Local0)
+ m1a3(Local0, c014, z108, ts, 346)
+
+ CopyObject(mx90, Local0)
+ m1a3(Local0, c011, z108, ts, 347)
+
+ if (y508) {
+ CopyObject(tz90, Local0)
+ m1a3(Local0, c015, z108, ts, 348)
+ }
+
+ CopyObject(mx90, Local0)
+ m1a3(Local0, c011, z108, ts, 349)
+
+ CopyObject(bf90, Local0)
+ m1a3(Local0, c009, z108, ts, 350)
+
+ CopyObject(mx90, Local0)
+ m1a3(Local0, c011, z108, ts, 351)
+
+ /////////////////////// All-(...) after Operation Region
+
+ if (y510) {
+ CopyObject(r900, Local0)
+ m1a3(Local0, c012, z108, ts, 352)
+ }
+
+ if (y510) {
+ CopyObject(r900, Local0)
+ m1a3(Local0, c012, z108, ts, 353)
+ }
+
+ CopyObject(pw90, Local0)
+ m1a3(Local0, c013, z108, ts, 354)
+
+ if (y510) {
+ CopyObject(r900, Local0)
+ m1a3(Local0, c012, z108, ts, 355)
+ }
+
+ CopyObject(pr90, Local0)
+ m1a3(Local0, c014, z108, ts, 356)
+
+ if (y510) {
+ CopyObject(r900, Local0)
+ m1a3(Local0, c012, z108, ts, 357)
+ }
+
+ if (y508) {
+ CopyObject(tz90, Local0)
+ m1a3(Local0, c015, z108, ts, 358)
+ }
+
+ if (y510) {
+ CopyObject(r900, Local0)
+ m1a3(Local0, c012, z108, ts, 359)
+ }
+
+ CopyObject(bf90, Local0)
+ m1a3(Local0, c009, z108, ts, 360)
+
+ if (y510) {
+ CopyObject(r900, Local0)
+ m1a3(Local0, c012, z108, ts, 361)
+ }
+
+ /////////////////////// All-(...) after Power Resource
+
+ CopyObject(pw90, Local0)
+ m1a3(Local0, c013, z108, ts, 362)
+
+ CopyObject(pw90, Local0)
+ m1a3(Local0, c013, z108, ts, 363)
+
+ CopyObject(pr90, Local0)
+ m1a3(Local0, c014, z108, ts, 364)
+
+ CopyObject(pw90, Local0)
+ m1a3(Local0, c013, z108, ts, 365)
+
+ if (y508) {
+ CopyObject(tz90, Local0)
+ m1a3(Local0, c015, z108, ts, 366)
+ }
+
+ CopyObject(pw90, Local0)
+ m1a3(Local0, c013, z108, ts, 367)
+
+ CopyObject(bf90, Local0)
+ m1a3(Local0, c009, z108, ts, 368)
+
+ CopyObject(pw90, Local0)
+ m1a3(Local0, c013, z108, ts, 369)
+
+ /////////////////////// All-(...) after Processor
+
+ CopyObject(pr90, Local0)
+ m1a3(Local0, c014, z108, ts, 370)
+
+ CopyObject(pr90, Local0)
+ m1a3(Local0, c014, z108, ts, 371)
+
+ if (y508) {
+ CopyObject(tz90, Local0)
+ m1a3(Local0, c015, z108, ts, 372)
+ }
+
+ CopyObject(pr90, Local0)
+ m1a3(Local0, c014, z108, ts, 373)
+
+ CopyObject(bf90, Local0)
+ m1a3(Local0, c009, z108, ts, 374)
+
+ CopyObject(pr90, Local0)
+ m1a3(Local0, c014, z108, ts, 375)
+
+ /////////////////////// All-(...) after Thermal Zone
+
+ if (y508) {
+ CopyObject(tz90, Local0)
+ m1a3(Local0, c015, z108, ts, 376)
+ }
+
+ CopyObject(bf90, Local0)
+ m1a3(Local0, c009, z108, ts, 377)
+
+ if (y508) {
+ CopyObject(tz90, Local0)
+ m1a3(Local0, c015, z108, ts, 378)
+ }
+
+ /////////////////////// All-(...) after Buffer Field
+
+ CopyObject(bf90, Local0)
+ m1a3(Local0, c009, z108, ts, 379)
+
+ CopyObject(bf90, Local0)
+ m1a3(Local0, c009, z108, ts, 380)
+}
+
+/*
+ * Store of Object to LocalX:
+ *
+ * Local0-Local7 can be written without any conversion
+ *
+ * A set of available for Store types is restricted
+ *
+ * Check each available type after each one
+ */
+Method(m1b2)
+{
+ Name(ts, "m1b2")
+
+ Store(z108, c081) // absolute index of file initiating the checking
+
+ // All available for Store types
+
+ Store(i900, Local0)
+ m1a3(Local0, c009, z108, ts, 381)
+
+ Store(s900, Local0)
+ m1a3(Local0, c00a, z108, ts, 382)
+
+ Store(b900, Local0)
+ m1a3(Local0, c00b, z108, ts, 383)
+
+ Store(p900, Local0)
+ m1a3(Local0, c00c, z108, ts, 384)
+
+ Store(f900, Local0)
+ m1a3(Local0, c009, z108, ts, 385)
+
+ Store(bf90, Local0)
+ m1a3(Local0, c009, z108, ts, 386)
+
+ /////////////////////// All after Integer
+
+ Store(i900, Local0)
+ m1a3(Local0, c009, z108, ts, 387)
+
+ Store(i900, Local0)
+ m1a3(Local0, c009, z108, ts, 388)
+
+ Store(s900, Local0)
+ m1a3(Local0, c00a, z108, ts, 389)
+
+ Store(i900, Local0)
+ m1a3(Local0, c009, z108, ts, 390)
+
+ Store(b900, Local0)
+ m1a3(Local0, c00b, z108, ts, 391)
+
+ Store(i900, Local0)
+ m1a3(Local0, c009, z108, ts, 392)
+
+ Store(p900, Local0)
+ m1a3(Local0, c00c, z108, ts, 393)
+
+ Store(i900, Local0)
+ m1a3(Local0, c009, z108, ts, 394)
+
+ Store(f900, Local0)
+ m1a3(Local0, c009, z108, ts, 395)
+
+ Store(i900, Local0)
+ m1a3(Local0, c009, z108, ts, 396)
+
+ Store(bf90, Local0)
+ m1a3(Local0, c009, z108, ts, 397)
+
+ Store(i900, Local0)
+ m1a3(Local0, c009, z108, ts, 398)
+
+ /////////////////////// All-Integer after String
+
+ Store(s900, Local0)
+ m1a3(Local0, c00a, z108, ts, 399)
+
+ Store(s900, Local0)
+ m1a3(Local0, c00a, z108, ts, 400)
+
+ Store(b900, Local0)
+ m1a3(Local0, c00b, z108, ts, 401)
+
+ Store(s900, Local0)
+ m1a3(Local0, c00a, z108, ts, 402)
+
+ Store(p900, Local0)
+ m1a3(Local0, c00c, z108, ts, 403)
+
+ Store(s900, Local0)
+ m1a3(Local0, c00a, z108, ts, 404)
+
+ Store(f900, Local0)
+ m1a3(Local0, c009, z108, ts, 405)
+
+ Store(s900, Local0)
+ m1a3(Local0, c00a, z108, ts, 406)
+ Store(bf90, Local0)
+ m1a3(Local0, c009, z108, ts, 407)
+
+ Store(s900, Local0)
+ m1a3(Local0, c00a, z108, ts, 408)
+
+ /////////////////////// All-(Integer+String) after Buffer
+
+ Store(b900, Local0)
+ m1a3(Local0, c00b, z108, ts, 409)
+
+ Store(b900, Local0)
+ m1a3(Local0, c00b, z108, ts, 410)
+
+ Store(p900, Local0)
+ m1a3(Local0, c00c, z108, ts, 411)
+
+ Store(b900, Local0)
+ m1a3(Local0, c00b, z108, ts, 412)
+
+ Store(f900, Local0)
+ m1a3(Local0, c009, z108, ts, 413)
+
+ Store(b900, Local0)
+ m1a3(Local0, c00b, z108, ts, 414)
+
+ Store(bf90, Local0)
+ m1a3(Local0, c009, z108, ts, 415)
+
+ Store(b900, Local0)
+ m1a3(Local0, c00b, z108, ts, 416)
+
+ /////////////////////// All-(...) after Package
+
+ Store(p900, Local0)
+ m1a3(Local0, c00c, z108, ts, 417)
+
+ Store(p900, Local0)
+ m1a3(Local0, c00c, z108, ts, 418)
+
+ Store(f900, Local0)
+ m1a3(Local0, c009, z108, ts, 419)
+
+ Store(p900, Local0)
+ m1a3(Local0, c00c, z108, ts, 420)
+
+ Store(bf90, Local0)
+ m1a3(Local0, c009, z108, ts, 421)
+
+ Store(p900, Local0)
+ m1a3(Local0, c00c, z108, ts, 422)
+
+ /////////////////////// All-(...) after Field Unit
+
+ Store(f900, Local0)
+ m1a3(Local0, c009, z108, ts, 423)
+
+ Store(f900, Local0)
+ m1a3(Local0, c009, z108, ts, 424)
+
+ Store(bf90, Local0)
+ m1a3(Local0, c009, z108, ts, 425)
+
+ Store(f900, Local0)
+ m1a3(Local0, c009, z108, ts, 426)
+
+ /////////////////////// All-(...) after Buffer Field
+
+ Store(bf90, Local0)
+ m1a3(Local0, c009, z108, ts, 427)
+
+ Store(bf90, Local0)
+ m1a3(Local0, c009, z108, ts, 428)
+}
+
+/*
+ * CopyObject the result of RefOf/CondRefOf to LocalX
+ *
+ * Local0-Local7 can be written with RefOf_References
+ * to any type object without any conversion.
+ *
+ * Check each type after each one.
+ *
+ * The same as m1b1 but RefOf() added.
+ */
+Method(m1b4)
+{
+ Name(ts, "m1b4")
+
+ Store(z108, c081) // absolute index of file initiating the checking
+
+ // All types
+
+ CopyObject(RefOf(i900), Local0)
+ m1a3(Local0, c009, z108, ts, 429)
+
+ CopyObject(RefOf(s900), Local0)
+ m1a3(Local0, c00a, z108, ts, 430)
+
+ CopyObject(RefOf(b900), Local0)
+ m1a3(Local0, c00b, z108, ts, 431)
+
+ CopyObject(RefOf(p900), Local0)
+ m1a3(Local0, c00c, z108, ts, 432)
+
+ CopyObject(RefOf(f900), Local0)
+ m1a3(Local0, c00d, z108, ts, 433)
+
+ CopyObject(RefOf(d900), Local0)
+ m1a3(Local0, c00e, z108, ts, 434)
+
+ CopyObject(RefOf(e900), Local0)
+ m1a3(Local0, c00f, z108, ts, 435)
+
+ CopyObject(RefOf(m901), Local0)
+ m1a3(Local0, c010, z108, ts, 436)
+
+ CopyObject(RefOf(mx90), Local0)
+ m1a3(Local0, c011, z108, ts, 437)
+
+ CopyObject(RefOf(r900), Local0)
+ m1a3(Local0, c012, z108, ts, 438)
+
+ CopyObject(RefOf(pw90), Local0)
+ m1a3(Local0, c013, z108, ts, 439)
+
+ CopyObject(RefOf(pr90), Local0)
+ m1a3(Local0, c014, z108, ts, 440)
+
+ CopyObject(RefOf(tz90), Local0)
+ m1a3(Local0, c015, z108, ts, 441)
+
+ CopyObject(RefOf(bf90), Local0)
+ m1a3(Local0, c016, z108, ts, 442)
+
+ /////////////////////// All after Integer
+
+ CopyObject(RefOf(i900), Local0)
+ m1a3(Local0, c009, z108, ts, 443)
+
+ CopyObject(RefOf(i900), Local0)
+ m1a3(Local0, c009, z108, ts, 444)
+
+ CopyObject(RefOf(s900), Local0)
+ m1a3(Local0, c00a, z108, ts, 445)
+
+ CopyObject(RefOf(i900), Local0)
+ m1a3(Local0, c009, z108, ts, 446)
+
+ CopyObject(RefOf(b900), Local0)
+ m1a3(Local0, c00b, z108, ts, 447)
+
+ CopyObject(RefOf(i900), Local0)
+ m1a3(Local0, c009, z108, ts, 448)
+
+ CopyObject(RefOf(p900), Local0)
+ m1a3(Local0, c00c, z108, ts, 449)
+
+ CopyObject(RefOf(i900), Local0)
+ m1a3(Local0, c009, z108, ts, 450)
+
+ CopyObject(RefOf(f900), Local0)
+ m1a3(Local0, c00d, z108, ts, 451)
+
+ CopyObject(RefOf(i900), Local0)
+ m1a3(Local0, c009, z108, ts, 452)
+
+ CopyObject(RefOf(d900), Local0)
+ m1a3(Local0, c00e, z108, ts, 453)
+
+ CopyObject(RefOf(i900), Local0)
+ m1a3(Local0, c009, z108, ts, 454)
+
+ CopyObject(RefOf(e900), Local0)
+ m1a3(Local0, c00f, z108, ts, 455)
+
+ CopyObject(RefOf(i900), Local0)
+ m1a3(Local0, c009, z108, ts, 456)
+
+ CopyObject(RefOf(m901), Local0)
+ m1a3(Local0, c010, z108, ts, 457)
+
+ CopyObject(RefOf(i900), Local0)
+ m1a3(Local0, c009, z108, ts, 458)
+
+ CopyObject(RefOf(mx90), Local0)
+ m1a3(Local0, c011, z108, ts, 459)
+
+ CopyObject(RefOf(i900), Local0)
+ m1a3(Local0, c009, z108, ts, 460)
+
+ CopyObject(RefOf(r900), Local0)
+ m1a3(Local0, c012, z108, ts, 461)
+
+ CopyObject(RefOf(i900), Local0)
+ m1a3(Local0, c009, z108, ts, 462)
+
+ CopyObject(RefOf(pw90), Local0)
+ m1a3(Local0, c013, z108, ts, 463)
+
+ CopyObject(RefOf(i900), Local0)
+ m1a3(Local0, c009, z108, ts, 464)
+
+ CopyObject(RefOf(pr90), Local0)
+ m1a3(Local0, c014, z108, ts, 465)
+
+ CopyObject(RefOf(i900), Local0)
+ m1a3(Local0, c009, z108, ts, 466)
+
+ CopyObject(RefOf(tz90), Local0)
+ m1a3(Local0, c015, z108, ts, 467)
+
+ CopyObject(RefOf(i900), Local0)
+ m1a3(Local0, c009, z108, ts, 468)
+
+ CopyObject(RefOf(bf90), Local0)
+ m1a3(Local0, c016, z108, ts, 469)
+
+ CopyObject(RefOf(i900), Local0)
+ m1a3(Local0, c009, z108, ts, 470)
+
+ /////////////////////// All-Integer after String
+
+ CopyObject(RefOf(s900), Local0)
+ m1a3(Local0, c00a, z108, ts, 471)
+
+ CopyObject(RefOf(s900), Local0)
+ m1a3(Local0, c00a, z108, ts, 472)
+
+ CopyObject(RefOf(b900), Local0)
+ m1a3(Local0, c00b, z108, ts, 473)
+
+ CopyObject(RefOf(s900), Local0)
+ m1a3(Local0, c00a, z108, ts, 474)
+
+ CopyObject(RefOf(p900), Local0)
+ m1a3(Local0, c00c, z108, ts, 475)
+
+ CopyObject(RefOf(s900), Local0)
+ m1a3(Local0, c00a, z108, ts, 476)
+
+ CopyObject(RefOf(f900), Local0)
+ m1a3(Local0, c00d, z108, ts, 477)
+
+ CopyObject(RefOf(s900), Local0)
+ m1a3(Local0, c00a, z108, ts, 478)
+
+ CopyObject(RefOf(d900), Local0)
+ m1a3(Local0, c00e, z108, ts, 479)
+
+ CopyObject(RefOf(s900), Local0)
+ m1a3(Local0, c00a, z108, ts, 480)
+
+ CopyObject(RefOf(e900), Local0)
+ m1a3(Local0, c00f, z108, ts, 481)
+
+ CopyObject(RefOf(s900), Local0)
+ m1a3(Local0, c00a, z108, ts, 482)
+
+ CopyObject(RefOf(m901), Local0)
+ m1a3(Local0, c010, z108, ts, 483)
+
+ CopyObject(RefOf(s900), Local0)
+ m1a3(Local0, c00a, z108, ts, 484)
+
+ CopyObject(RefOf(mx90), Local0)
+ m1a3(Local0, c011, z108, ts, 485)
+
+ CopyObject(RefOf(s900), Local0)
+ m1a3(Local0, c00a, z108, ts, 486)
+
+ CopyObject(RefOf(r900), Local0)
+ m1a3(Local0, c012, z108, ts, 487)
+
+ CopyObject(RefOf(s900), Local0)
+ m1a3(Local0, c00a, z108, ts, 488)
+
+ CopyObject(RefOf(pw90), Local0)
+ m1a3(Local0, c013, z108, ts, 489)
+
+ CopyObject(RefOf(s900), Local0)
+ m1a3(Local0, c00a, z108, ts, 490)
+
+ CopyObject(RefOf(pr90), Local0)
+ m1a3(Local0, c014, z108, ts, 491)
+
+ CopyObject(RefOf(s900), Local0)
+ m1a3(Local0, c00a, z108, ts, 492)
+
+ CopyObject(RefOf(tz90), Local0)
+ m1a3(Local0, c015, z108, ts, 493)
+
+ CopyObject(RefOf(s900), Local0)
+ m1a3(Local0, c00a, z108, ts, 494)
+
+ CopyObject(RefOf(bf90), Local0)
+ m1a3(Local0, c016, z108, ts, 495)
+
+ CopyObject(RefOf(s900), Local0)
+ m1a3(Local0, c00a, z108, ts, 496)
+
+ /////////////////////// All-(Integer+String) after Buffer
+
+ CopyObject(RefOf(b900), Local0)
+ m1a3(Local0, c00b, z108, ts, 497)
+
+ CopyObject(RefOf(b900), Local0)
+ m1a3(Local0, c00b, z108, ts, 498)
+
+ CopyObject(RefOf(p900), Local0)
+ m1a3(Local0, c00c, z108, ts, 499)
+
+ CopyObject(RefOf(b900), Local0)
+ m1a3(Local0, c00b, z108, ts, 500)
+
+ CopyObject(RefOf(f900), Local0)
+ m1a3(Local0, c00d, z108, ts, 501)
+
+ CopyObject(RefOf(b900), Local0)
+ m1a3(Local0, c00b, z108, ts, 502)
+
+ CopyObject(RefOf(d900), Local0)
+ m1a3(Local0, c00e, z108, ts, 503)
+
+ CopyObject(RefOf(b900), Local0)
+ m1a3(Local0, c00b, z108, ts, 504)
+
+ CopyObject(RefOf(e900), Local0)
+ m1a3(Local0, c00f, z108, ts, 505)
+
+ CopyObject(RefOf(b900), Local0)
+ m1a3(Local0, c00b, z108, ts, 506)
+
+ CopyObject(RefOf(m901), Local0)
+ m1a3(Local0, c010, z108, ts, 507)
+
+ CopyObject(RefOf(b900), Local0)
+ m1a3(Local0, c00b, z108, ts, 508)
+
+ CopyObject(RefOf(mx90), Local0)
+ m1a3(Local0, c011, z108, ts, 509)
+
+ CopyObject(RefOf(b900), Local0)
+ m1a3(Local0, c00b, z108, ts, 510)
+
+ CopyObject(RefOf(r900), Local0)
+ m1a3(Local0, c012, z108, ts, 511)
+
+ CopyObject(RefOf(b900), Local0)
+ m1a3(Local0, c00b, z108, ts, 512)
+
+ CopyObject(RefOf(pw90), Local0)
+ m1a3(Local0, c013, z108, ts, 513)
+
+ CopyObject(RefOf(b900), Local0)
+ m1a3(Local0, c00b, z108, ts, 514)
+
+ CopyObject(RefOf(pr90), Local0)
+ m1a3(Local0, c014, z108, ts, 515)
+
+ CopyObject(RefOf(b900), Local0)
+ m1a3(Local0, c00b, z108, ts, 516)
+
+ CopyObject(RefOf(tz90), Local0)
+ m1a3(Local0, c015, z108, ts, 517)
+
+ CopyObject(RefOf(b900), Local0)
+ m1a3(Local0, c00b, z108, ts, 518)
+
+ CopyObject(RefOf(bf90), Local0)
+ m1a3(Local0, c016, z108, ts, 519)
+
+ CopyObject(RefOf(b900), Local0)
+ m1a3(Local0, c00b, z108, ts, 520)
+
+ /////////////////////// All-(...) after Package
+
+ CopyObject(RefOf(p900), Local0)
+ m1a3(Local0, c00c, z108, ts, 521)
+
+ CopyObject(RefOf(p900), Local0)
+ m1a3(Local0, c00c, z108, ts, 522)
+
+ CopyObject(RefOf(f900), Local0)
+ m1a3(Local0, c00d, z108, ts, 523)
+
+ CopyObject(RefOf(p900), Local0)
+ m1a3(Local0, c00c, z108, ts, 524)
+
+ CopyObject(RefOf(d900), Local0)
+ m1a3(Local0, c00e, z108, ts, 525)
+
+ CopyObject(RefOf(p900), Local0)
+ m1a3(Local0, c00c, z108, ts, 526)
+
+ CopyObject(RefOf(e900), Local0)
+ m1a3(Local0, c00f, z108, ts, 527)
+
+ CopyObject(RefOf(p900), Local0)
+ m1a3(Local0, c00c, z108, ts, 528)
+
+ CopyObject(RefOf(m901), Local0)
+ m1a3(Local0, c010, z108, ts, 529)
+
+ CopyObject(RefOf(p900), Local0)
+ m1a3(Local0, c00c, z108, ts, 560)
+
+ CopyObject(RefOf(mx90), Local0)
+ m1a3(Local0, c011, z108, ts, 561)
+
+ CopyObject(RefOf(p900), Local0)
+ m1a3(Local0, c00c, z108, ts, 562)
+
+ CopyObject(RefOf(r900), Local0)
+ m1a3(Local0, c012, z108, ts, 563)
+
+ CopyObject(RefOf(p900), Local0)
+ m1a3(Local0, c00c, z108, ts, 564)
+
+ CopyObject(RefOf(pw90), Local0)
+ m1a3(Local0, c013, z108, ts, 565)
+
+ CopyObject(RefOf(p900), Local0)
+ m1a3(Local0, c00c, z108, ts, 566)
+
+ CopyObject(RefOf(pr90), Local0)
+ m1a3(Local0, c014, z108, ts, 567)
+
+ CopyObject(RefOf(p900), Local0)
+ m1a3(Local0, c00c, z108, ts, 568)
+
+ CopyObject(RefOf(tz90), Local0)
+ m1a3(Local0, c015, z108, ts, 569)
+
+ CopyObject(RefOf(p900), Local0)
+ m1a3(Local0, c00c, z108, ts, 570)
+
+ CopyObject(RefOf(bf90), Local0)
+ m1a3(Local0, c016, z108, ts, 571)
+
+ CopyObject(RefOf(p900), Local0)
+ m1a3(Local0, c00c, z108, ts, 572)
+
+ /////////////////////// All-(...) after Field Unit
+
+ CopyObject(RefOf(f900), Local0)
+ m1a3(Local0, c00d, z108, ts, 573)
+
+ CopyObject(RefOf(f900), Local0)
+ m1a3(Local0, c00d, z108, ts, 574)
+
+ CopyObject(RefOf(d900), Local0)
+ m1a3(Local0, c00e, z108, ts, 575)
+
+ CopyObject(RefOf(f900), Local0)
+ m1a3(Local0, c00d, z108, ts, 576)
+
+ CopyObject(RefOf(e900), Local0)
+ m1a3(Local0, c00f, z108, ts, 577)
+
+ CopyObject(RefOf(f900), Local0)
+ m1a3(Local0, c00d, z108, ts, 578)
+
+ CopyObject(RefOf(m901), Local0)
+ m1a3(Local0, c010, z108, ts, 579)
+
+ CopyObject(RefOf(f900), Local0)
+ m1a3(Local0, c00d, z108, ts, 580)
+
+ CopyObject(RefOf(mx90), Local0)
+ m1a3(Local0, c011, z108, ts, 581)
+
+ CopyObject(RefOf(f900), Local0)
+ m1a3(Local0, c00d, z108, ts, 582)
+
+ CopyObject(RefOf(r900), Local0)
+ m1a3(Local0, c012, z108, ts, 583)
+
+ CopyObject(RefOf(f900), Local0)
+ m1a3(Local0, c00d, z108, ts, 584)
+
+ CopyObject(RefOf(pw90), Local0)
+ m1a3(Local0, c013, z108, ts, 585)
+
+ CopyObject(RefOf(f900), Local0)
+ m1a3(Local0, c00d, z108, ts, 586)
+
+ CopyObject(RefOf(pr90), Local0)
+ m1a3(Local0, c014, z108, ts, 587)
+
+ CopyObject(RefOf(f900), Local0)
+ m1a3(Local0, c00d, z108, ts, 588)
+
+ CopyObject(RefOf(tz90), Local0)
+ m1a3(Local0, c015, z108, ts, 589)
+
+ CopyObject(RefOf(f900), Local0)
+ m1a3(Local0, c00d, z108, ts, 590)
+
+ CopyObject(RefOf(bf90), Local0)
+ m1a3(Local0, c016, z108, ts, 591)
+
+ CopyObject(RefOf(f900), Local0)
+ m1a3(Local0, c00d, z108, ts, 592)
+
+ /////////////////////// All-(...) after Device
+
+ CopyObject(RefOf(d900), Local0)
+ m1a3(Local0, c00e, z108, ts, 593)
+
+ CopyObject(RefOf(d900), Local0)
+ m1a3(Local0, c00e, z108, ts, 594)
+
+ CopyObject(RefOf(e900), Local0)
+ m1a3(Local0, c00f, z108, ts, 595)
+
+ CopyObject(RefOf(d900), Local0)
+ m1a3(Local0, c00e, z108, ts, 596)
+
+ CopyObject(RefOf(m901), Local0)
+ m1a3(Local0, c010, z108, ts, 597)
+
+ CopyObject(RefOf(d900), Local0)
+ m1a3(Local0, c00e, z108, ts, 598)
+
+ CopyObject(RefOf(mx90), Local0)
+ m1a3(Local0, c011, z108, ts, 599)
+
+ CopyObject(RefOf(d900), Local0)
+ m1a3(Local0, c00e, z108, ts, 600)
+
+ CopyObject(RefOf(r900), Local0)
+ m1a3(Local0, c012, z108, ts, 601)
+
+ CopyObject(RefOf(d900), Local0)
+ m1a3(Local0, c00e, z108, ts, 602)
+
+ CopyObject(RefOf(pw90), Local0)
+ m1a3(Local0, c013, z108, ts, 603)
+
+ CopyObject(RefOf(d900), Local0)
+ m1a3(Local0, c00e, z108, ts, 604)
+
+ CopyObject(RefOf(pr90), Local0)
+ m1a3(Local0, c014, z108, ts, 605)
+
+ CopyObject(RefOf(d900), Local0)
+ m1a3(Local0, c00e, z108, ts, 606)
+
+ CopyObject(RefOf(tz90), Local0)
+ m1a3(Local0, c015, z108, ts, 607)
+
+ CopyObject(RefOf(d900), Local0)
+ m1a3(Local0, c00e, z108, ts, 608)
+
+ CopyObject(RefOf(bf90), Local0)
+ m1a3(Local0, c016, z108, ts, 609)
+
+ CopyObject(RefOf(d900), Local0)
+ m1a3(Local0, c00e, z108, ts, 610)
+
+ /////////////////////// All-(...) after Event
+
+ CopyObject(RefOf(e900), Local0)
+ m1a3(Local0, c00f, z108, ts, 611)
+
+ CopyObject(RefOf(e900), Local0)
+ m1a3(Local0, c00f, z108, ts, 612)
+
+ CopyObject(RefOf(m901), Local0)
+ m1a3(Local0, c010, z108, ts, 613)
+
+ CopyObject(RefOf(e900), Local0)
+ m1a3(Local0, c00f, z108, ts, 614)
+
+ CopyObject(RefOf(mx90), Local0)
+ m1a3(Local0, c011, z108, ts, 615)
+
+ CopyObject(RefOf(e900), Local0)
+ m1a3(Local0, c00f, z108, ts, 616)
+
+ CopyObject(RefOf(r900), Local0)
+ m1a3(Local0, c012, z108, ts, 617)
+
+ CopyObject(RefOf(e900), Local0)
+ m1a3(Local0, c00f, z108, ts, 618)
+
+ CopyObject(RefOf(pw90), Local0)
+ m1a3(Local0, c013, z108, ts, 619)
+
+ CopyObject(RefOf(e900), Local0)
+ m1a3(Local0, c00f, z108, ts, 620)
+
+ CopyObject(RefOf(pr90), Local0)
+ m1a3(Local0, c014, z108, ts, 621)
+
+ CopyObject(RefOf(e900), Local0)
+ m1a3(Local0, c00f, z108, ts, 622)
+
+ CopyObject(RefOf(tz90), Local0)
+ m1a3(Local0, c015, z108, ts, 623)
+
+ CopyObject(RefOf(e900), Local0)
+ m1a3(Local0, c00f, z108, ts, 624)
+
+ CopyObject(RefOf(bf90), Local0)
+ m1a3(Local0, c016, z108, ts, 625)
+
+ CopyObject(RefOf(e900), Local0)
+ m1a3(Local0, c00f, z108, ts, 626)
+
+ /////////////////////// All-(...) after Method
+
+ CopyObject(RefOf(m901), Local0)
+ m1a3(Local0, c010, z108, ts, 627)
+
+ CopyObject(RefOf(m901), Local0)
+ m1a3(Local0, c010, z108, ts, 628)
+
+ CopyObject(RefOf(mx90), Local0)
+ m1a3(Local0, c011, z108, ts, 629)
+
+ CopyObject(RefOf(m901), Local0)
+ m1a3(Local0, c010, z108, ts, 630)
+
+ CopyObject(RefOf(r900), Local0)
+ m1a3(Local0, c012, z108, ts, 631)
+
+ CopyObject(RefOf(m901), Local0)
+ m1a3(Local0, c010, z108, ts, 632)
+
+ CopyObject(RefOf(pw90), Local0)
+ m1a3(Local0, c013, z108, ts, 633)
+
+ CopyObject(RefOf(m901), Local0)
+ m1a3(Local0, c010, z108, ts, 634)
+
+ CopyObject(RefOf(pr90), Local0)
+ m1a3(Local0, c014, z108, ts, 635)
+
+ CopyObject(RefOf(m901), Local0)
+ m1a3(Local0, c010, z108, ts, 636)
+
+ CopyObject(RefOf(tz90), Local0)
+ m1a3(Local0, c015, z108, ts, 637)
+
+ CopyObject(RefOf(m901), Local0)
+ m1a3(Local0, c010, z108, ts, 638)
+
+ CopyObject(RefOf(bf90), Local0)
+ m1a3(Local0, c016, z108, ts, 639)
+
+ CopyObject(RefOf(m901), Local0)
+ m1a3(Local0, c010, z108, ts, 640)
+
+ /////////////////////// All-(...) after Mutex
+
+ CopyObject(RefOf(mx90), Local0)
+ m1a3(Local0, c011, z108, ts, 641)
+
+ CopyObject(RefOf(mx90), Local0)
+ m1a3(Local0, c011, z108, ts, 642)
+
+ CopyObject(RefOf(r900), Local0)
+ m1a3(Local0, c012, z108, ts, 643)
+
+ CopyObject(RefOf(mx90), Local0)
+ m1a3(Local0, c011, z108, ts, 644)
+
+ CopyObject(RefOf(pw90), Local0)
+ m1a3(Local0, c013, z108, ts, 645)
+
+ CopyObject(RefOf(mx90), Local0)
+ m1a3(Local0, c011, z108, ts, 646)
+
+ CopyObject(RefOf(pr90), Local0)
+ m1a3(Local0, c014, z108, ts, 647)
+
+ CopyObject(RefOf(mx90), Local0)
+ m1a3(Local0, c011, z108, ts, 648)
+
+ CopyObject(RefOf(tz90), Local0)
+ m1a3(Local0, c015, z108, ts, 649)
+
+ CopyObject(RefOf(mx90), Local0)
+ m1a3(Local0, c011, z108, ts, 650)
+
+ CopyObject(RefOf(bf90), Local0)
+ m1a3(Local0, c016, z108, ts, 651)
+
+ CopyObject(RefOf(mx90), Local0)
+ m1a3(Local0, c011, z108, ts, 652)
+
+ /////////////////////// All-(...) after Operation Region
+
+ CopyObject(RefOf(r900), Local0)
+ m1a3(Local0, c012, z108, ts, 653)
+
+ CopyObject(RefOf(r900), Local0)
+ m1a3(Local0, c012, z108, ts, 654)
+
+ CopyObject(RefOf(pw90), Local0)
+ m1a3(Local0, c013, z108, ts, 655)
+
+ CopyObject(RefOf(r900), Local0)
+ m1a3(Local0, c012, z108, ts, 656)
+
+ CopyObject(RefOf(pr90), Local0)
+ m1a3(Local0, c014, z108, ts, 657)
+
+ CopyObject(RefOf(r900), Local0)
+ m1a3(Local0, c012, z108, ts, 658)
+
+ CopyObject(RefOf(tz90), Local0)
+ m1a3(Local0, c015, z108, ts, 659)
+
+ CopyObject(RefOf(r900), Local0)
+ m1a3(Local0, c012, z108, ts, 660)
+
+ CopyObject(RefOf(bf90), Local0)
+ m1a3(Local0, c016, z108, ts, 661)
+
+ CopyObject(RefOf(r900), Local0)
+ m1a3(Local0, c012, z108, ts, 662)
+
+ /////////////////////// All-(...) after Power Resource
+
+ CopyObject(RefOf(pw90), Local0)
+ m1a3(Local0, c013, z108, ts, 663)
+
+ CopyObject(RefOf(pw90), Local0)
+ m1a3(Local0, c013, z108, ts, 664)
+
+ CopyObject(RefOf(pr90), Local0)
+ m1a3(Local0, c014, z108, ts, 665)
+
+ CopyObject(RefOf(pw90), Local0)
+ m1a3(Local0, c013, z108, ts, 666)
+
+ CopyObject(RefOf(tz90), Local0)
+ m1a3(Local0, c015, z108, ts, 667)
+
+ CopyObject(RefOf(pw90), Local0)
+ m1a3(Local0, c013, z108, ts, 668)
+
+ CopyObject(RefOf(bf90), Local0)
+ m1a3(Local0, c016, z108, ts, 669)
+
+ CopyObject(RefOf(pw90), Local0)
+ m1a3(Local0, c013, z108, ts, 670)
+
+ /////////////////////// All-(...) after Processor
+
+ CopyObject(RefOf(pr90), Local0)
+ m1a3(Local0, c014, z108, ts, 671)
+
+ CopyObject(RefOf(pr90), Local0)
+ m1a3(Local0, c014, z108, ts, 672)
+
+ CopyObject(RefOf(tz90), Local0)
+ m1a3(Local0, c015, z108, ts, 673)
+
+ CopyObject(RefOf(pr90), Local0)
+ m1a3(Local0, c014, z108, ts, 674)
+
+ CopyObject(RefOf(bf90), Local0)
+ m1a3(Local0, c016, z108, ts, 675)
+
+ CopyObject(RefOf(pr90), Local0)
+ m1a3(Local0, c014, z108, ts, 676)
+
+ /////////////////////// All-(...) after Thermal Zone
+
+ CopyObject(RefOf(tz90), Local0)
+ m1a3(Local0, c015, z108, ts, 677)
+
+ CopyObject(RefOf(bf90), Local0)
+ m1a3(Local0, c016, z108, ts, 678)
+
+ CopyObject(RefOf(tz90), Local0)
+ m1a3(Local0, c015, z108, ts, 679)
+
+ /////////////////////// All-(...) after Buffer Field
+
+ CopyObject(RefOf(bf90), Local0)
+ m1a3(Local0, c016, z108, ts, 680)
+
+ CopyObject(RefOf(bf90), Local0)
+ m1a3(Local0, c016, z108, ts, 681)
+}
+
+/*
+ * Store the result of RefOf/CondRefOf to LocalX
+ *
+ * The same as m1b4 but Store instead of CopyObject.
+ */
+Method(m1b5)
+{
+ Name(ts, "m1b5")
+
+ Store(z108, c081) // absolute index of file initiating the checking
+
+ // All types
+
+ Store(RefOf(i900), Local0)
+ m1a3(Local0, c009, z108, ts, 682)
+
+ Store(RefOf(s900), Local0)
+ m1a3(Local0, c00a, z108, ts, 683)
+
+ Store(RefOf(b900), Local0)
+ m1a3(Local0, c00b, z108, ts, 684)
+
+ Store(RefOf(p900), Local0)
+ m1a3(Local0, c00c, z108, ts, 685)
+
+ Store(RefOf(f900), Local0)
+ m1a3(Local0, c00d, z108, ts, 686)
+
+ Store(RefOf(d900), Local0)
+ m1a3(Local0, c00e, z108, ts, 687)
+
+ Store(RefOf(e900), Local0)
+ m1a3(Local0, c00f, z108, ts, 688)
+
+ Store(RefOf(m901), Local0)
+ m1a3(Local0, c010, z108, ts, 689)
+
+ Store(RefOf(mx90), Local0)
+ m1a3(Local0, c011, z108, ts, 690)
+
+ Store(RefOf(r900), Local0)
+ m1a3(Local0, c012, z108, ts, 691)
+
+ Store(RefOf(pw90), Local0)
+ m1a3(Local0, c013, z108, ts, 692)
+
+ Store(RefOf(pr90), Local0)
+ m1a3(Local0, c014, z108, ts, 693)
+
+ Store(RefOf(tz90), Local0)
+ m1a3(Local0, c015, z108, ts, 694)
+
+ Store(RefOf(bf90), Local0)
+ m1a3(Local0, c016, z108, ts, 695)
+
+ /////////////////////// All after Integer
+
+ Store(RefOf(i900), Local0)
+ m1a3(Local0, c009, z108, ts, 696)
+
+ Store(RefOf(i900), Local0)
+ m1a3(Local0, c009, z108, ts, 697)
+
+ Store(RefOf(s900), Local0)
+ m1a3(Local0, c00a, z108, ts, 698)
+
+ Store(RefOf(i900), Local0)
+ m1a3(Local0, c009, z108, ts, 699)
+
+ Store(RefOf(b900), Local0)
+ m1a3(Local0, c00b, z108, ts, 700)
+
+ Store(RefOf(i900), Local0)
+ m1a3(Local0, c009, z108, ts, 701)
+
+ Store(RefOf(p900), Local0)
+ m1a3(Local0, c00c, z108, ts, 702)
+
+ Store(RefOf(i900), Local0)
+ m1a3(Local0, c009, z108, ts, 703)
+
+ Store(RefOf(f900), Local0)
+ m1a3(Local0, c00d, z108, ts, 704)
+
+ Store(RefOf(i900), Local0)
+ m1a3(Local0, c009, z108, ts, 705)
+
+ Store(RefOf(d900), Local0)
+ m1a3(Local0, c00e, z108, ts, 706)
+
+ Store(RefOf(i900), Local0)
+ m1a3(Local0, c009, z108, ts, 707)
+
+ Store(RefOf(e900), Local0)
+ m1a3(Local0, c00f, z108, ts, 708)
+
+ Store(RefOf(i900), Local0)
+ m1a3(Local0, c009, z108, ts, 709)
+
+ Store(RefOf(m901), Local0)
+ m1a3(Local0, c010, z108, ts, 710)
+
+ Store(RefOf(i900), Local0)
+ m1a3(Local0, c009, z108, ts, 711)
+
+ Store(RefOf(mx90), Local0)
+ m1a3(Local0, c011, z108, ts, 712)
+
+ Store(RefOf(i900), Local0)
+ m1a3(Local0, c009, z108, ts, 713)
+
+ Store(RefOf(r900), Local0)
+ m1a3(Local0, c012, z108, ts, 714)
+
+ Store(RefOf(i900), Local0)
+ m1a3(Local0, c009, z108, ts, 715)
+
+ Store(RefOf(pw90), Local0)
+ m1a3(Local0, c013, z108, ts, 716)
+
+ Store(RefOf(i900), Local0)
+ m1a3(Local0, c009, z108, ts, 717)
+
+ Store(RefOf(pr90), Local0)
+ m1a3(Local0, c014, z108, ts, 718)
+
+ Store(RefOf(i900), Local0)
+ m1a3(Local0, c009, z108, ts, 719)
+
+ Store(RefOf(tz90), Local0)
+ m1a3(Local0, c015, z108, ts, 720)
+
+ Store(RefOf(i900), Local0)
+ m1a3(Local0, c009, z108, ts, 721)
+
+ Store(RefOf(bf90), Local0)
+ m1a3(Local0, c016, z108, ts, 722)
+
+ Store(RefOf(i900), Local0)
+ m1a3(Local0, c009, z108, ts, 723)
+
+ /////////////////////// All-Integer after String
+
+ Store(RefOf(s900), Local0)
+ m1a3(Local0, c00a, z108, ts, 724)
+
+ Store(RefOf(s900), Local0)
+ m1a3(Local0, c00a, z108, ts, 725)
+
+ Store(RefOf(b900), Local0)
+ m1a3(Local0, c00b, z108, ts, 726)
+
+ Store(RefOf(s900), Local0)
+ m1a3(Local0, c00a, z108, ts, 727)
+
+ Store(RefOf(p900), Local0)
+ m1a3(Local0, c00c, z108, ts, 728)
+
+ Store(RefOf(s900), Local0)
+ m1a3(Local0, c00a, z108, ts, 729)
+
+ Store(RefOf(f900), Local0)
+ m1a3(Local0, c00d, z108, ts, 730)
+
+ Store(RefOf(s900), Local0)
+ m1a3(Local0, c00a, z108, ts, 731)
+
+ Store(RefOf(d900), Local0)
+ m1a3(Local0, c00e, z108, ts, 732)
+
+ Store(RefOf(s900), Local0)
+ m1a3(Local0, c00a, z108, ts, 733)
+
+ Store(RefOf(e900), Local0)
+ m1a3(Local0, c00f, z108, ts, 734)
+
+ Store(RefOf(s900), Local0)
+ m1a3(Local0, c00a, z108, ts, 735)
+
+ Store(RefOf(m901), Local0)
+ m1a3(Local0, c010, z108, ts, 736)
+
+ Store(RefOf(s900), Local0)
+ m1a3(Local0, c00a, z108, ts, 737)
+
+ Store(RefOf(mx90), Local0)
+ m1a3(Local0, c011, z108, ts, 738)
+
+ Store(RefOf(s900), Local0)
+ m1a3(Local0, c00a, z108, ts, 739)
+
+ Store(RefOf(r900), Local0)
+ m1a3(Local0, c012, z108, ts, 740)
+
+ Store(RefOf(s900), Local0)
+ m1a3(Local0, c00a, z108, ts, 741)
+
+ Store(RefOf(pw90), Local0)
+ m1a3(Local0, c013, z108, ts, 742)
+
+ Store(RefOf(s900), Local0)
+ m1a3(Local0, c00a, z108, ts, 743)
+
+ Store(RefOf(pr90), Local0)
+ m1a3(Local0, c014, z108, ts, 744)
+
+ Store(RefOf(s900), Local0)
+ m1a3(Local0, c00a, z108, ts, 745)
+
+ Store(RefOf(tz90), Local0)
+ m1a3(Local0, c015, z108, ts, 746)
+
+ Store(RefOf(s900), Local0)
+ m1a3(Local0, c00a, z108, ts, 747)
+
+ Store(RefOf(bf90), Local0)
+ m1a3(Local0, c016, z108, ts, 748)
+
+ Store(RefOf(s900), Local0)
+ m1a3(Local0, c00a, z108, ts, 749)
+
+ /////////////////////// All-(Integer+String) after Buffer
+
+ Store(RefOf(b900), Local0)
+ m1a3(Local0, c00b, z108, ts, 750)
+
+ Store(RefOf(b900), Local0)
+ m1a3(Local0, c00b, z108, ts, 751)
+
+ Store(RefOf(p900), Local0)
+ m1a3(Local0, c00c, z108, ts, 752)
+
+ Store(RefOf(b900), Local0)
+ m1a3(Local0, c00b, z108, ts, 753)
+
+ Store(RefOf(f900), Local0)
+ m1a3(Local0, c00d, z108, ts, 754)
+
+ Store(RefOf(b900), Local0)
+ m1a3(Local0, c00b, z108, ts, 755)
+
+ Store(RefOf(d900), Local0)
+ m1a3(Local0, c00e, z108, ts, 756)
+
+ Store(RefOf(b900), Local0)
+ m1a3(Local0, c00b, z108, ts, 757)
+
+ Store(RefOf(e900), Local0)
+ m1a3(Local0, c00f, z108, ts, 758)
+
+ Store(RefOf(b900), Local0)
+ m1a3(Local0, c00b, z108, ts, 759)
+
+ Store(RefOf(m901), Local0)
+ m1a3(Local0, c010, z108, ts, 760)
+
+ Store(RefOf(b900), Local0)
+ m1a3(Local0, c00b, z108, ts, 761)
+
+ Store(RefOf(mx90), Local0)
+ m1a3(Local0, c011, z108, ts, 762)
+
+ Store(RefOf(b900), Local0)
+ m1a3(Local0, c00b, z108, ts, 763)
+
+ Store(RefOf(r900), Local0)
+ m1a3(Local0, c012, z108, ts, 764)
+
+ Store(RefOf(b900), Local0)
+ m1a3(Local0, c00b, z108, ts, 765)
+
+ Store(RefOf(pw90), Local0)
+ m1a3(Local0, c013, z108, ts, 766)
+
+ Store(RefOf(b900), Local0)
+ m1a3(Local0, c00b, z108, ts, 767)
+
+ Store(RefOf(pr90), Local0)
+ m1a3(Local0, c014, z108, ts, 768)
+
+ Store(RefOf(b900), Local0)
+ m1a3(Local0, c00b, z108, ts, 769)
+
+ Store(RefOf(tz90), Local0)
+ m1a3(Local0, c015, z108, ts, 770)
+
+ Store(RefOf(b900), Local0)
+ m1a3(Local0, c00b, z108, ts, 771)
+
+ Store(RefOf(bf90), Local0)
+ m1a3(Local0, c016, z108, ts, 772)
+
+ Store(RefOf(b900), Local0)
+ m1a3(Local0, c00b, z108, ts, 773)
+
+ /////////////////////// All-(...) after Package
+
+ Store(RefOf(p900), Local0)
+ m1a3(Local0, c00c, z108, ts, 774)
+
+ Store(RefOf(p900), Local0)
+ m1a3(Local0, c00c, z108, ts, 775)
+
+ Store(RefOf(f900), Local0)
+ m1a3(Local0, c00d, z108, ts, 776)
+
+ Store(RefOf(p900), Local0)
+ m1a3(Local0, c00c, z108, ts, 777)
+
+ Store(RefOf(d900), Local0)
+ m1a3(Local0, c00e, z108, ts, 778)
+
+ Store(RefOf(p900), Local0)
+ m1a3(Local0, c00c, z108, ts, 779)
+
+ Store(RefOf(e900), Local0)
+ m1a3(Local0, c00f, z108, ts, 780)
+
+ Store(RefOf(p900), Local0)
+ m1a3(Local0, c00c, z108, ts, 781)
+
+ Store(RefOf(m901), Local0)
+ m1a3(Local0, c010, z108, ts, 782)
+
+ Store(RefOf(p900), Local0)
+ m1a3(Local0, c00c, z108, ts, 783)
+
+ Store(RefOf(mx90), Local0)
+ m1a3(Local0, c011, z108, ts, 784)
+
+ Store(RefOf(p900), Local0)
+ m1a3(Local0, c00c, z108, ts, 785)
+
+ Store(RefOf(r900), Local0)
+ m1a3(Local0, c012, z108, ts, 786)
+
+ Store(RefOf(p900), Local0)
+ m1a3(Local0, c00c, z108, ts, 787)
+
+ Store(RefOf(pw90), Local0)
+ m1a3(Local0, c013, z108, ts, 788)
+
+ Store(RefOf(p900), Local0)
+ m1a3(Local0, c00c, z108, ts, 789)
+
+ Store(RefOf(pr90), Local0)
+ m1a3(Local0, c014, z108, ts, 790)
+
+ Store(RefOf(p900), Local0)
+ m1a3(Local0, c00c, z108, ts, 791)
+
+ Store(RefOf(tz90), Local0)
+ m1a3(Local0, c015, z108, ts, 792)
+
+ Store(RefOf(p900), Local0)
+ m1a3(Local0, c00c, z108, ts, 793)
+
+ Store(RefOf(bf90), Local0)
+ m1a3(Local0, c016, z108, ts, 794)
+
+ Store(RefOf(p900), Local0)
+ m1a3(Local0, c00c, z108, ts, 795)
+
+ /////////////////////// All-(...) after Field Unit
+
+ Store(RefOf(f900), Local0)
+ m1a3(Local0, c00d, z108, ts, 796)
+
+ Store(RefOf(f900), Local0)
+ m1a3(Local0, c00d, z108, ts, 797)
+
+ Store(RefOf(d900), Local0)
+ m1a3(Local0, c00e, z108, ts, 798)
+
+ Store(RefOf(f900), Local0)
+ m1a3(Local0, c00d, z108, ts, 799)
+
+ Store(RefOf(e900), Local0)
+ m1a3(Local0, c00f, z108, ts, 800)
+
+ Store(RefOf(f900), Local0)
+ m1a3(Local0, c00d, z108, ts, 801)
+
+ Store(RefOf(m901), Local0)
+ m1a3(Local0, c010, z108, ts, 802)
+
+ Store(RefOf(f900), Local0)
+ m1a3(Local0, c00d, z108, ts, 803)
+
+ Store(RefOf(mx90), Local0)
+ m1a3(Local0, c011, z108, ts, 804)
+
+ Store(RefOf(f900), Local0)
+ m1a3(Local0, c00d, z108, ts, 805)
+
+ Store(RefOf(r900), Local0)
+ m1a3(Local0, c012, z108, ts, 806)
+
+ Store(RefOf(f900), Local0)
+ m1a3(Local0, c00d, z108, ts, 807)
+
+ Store(RefOf(pw90), Local0)
+ m1a3(Local0, c013, z108, ts, 808)
+
+ Store(RefOf(f900), Local0)
+ m1a3(Local0, c00d, z108, ts, 809)
+
+ Store(RefOf(pr90), Local0)
+ m1a3(Local0, c014, z108, ts, 810)
+
+ Store(RefOf(f900), Local0)
+ m1a3(Local0, c00d, z108, ts, 811)
+
+ Store(RefOf(tz90), Local0)
+ m1a3(Local0, c015, z108, ts, 812)
+
+ Store(RefOf(f900), Local0)
+ m1a3(Local0, c00d, z108, ts, 813)
+
+ Store(RefOf(bf90), Local0)
+ m1a3(Local0, c016, z108, ts, 814)
+
+ Store(RefOf(f900), Local0)
+ m1a3(Local0, c00d, z108, ts, 815)
+
+ /////////////////////// All-(...) after Device
+
+ Store(RefOf(d900), Local0)
+ m1a3(Local0, c00e, z108, ts, 816)
+
+ Store(RefOf(d900), Local0)
+ m1a3(Local0, c00e, z108, ts, 817)
+
+ Store(RefOf(e900), Local0)
+ m1a3(Local0, c00f, z108, ts, 818)
+
+ Store(RefOf(d900), Local0)
+ m1a3(Local0, c00e, z108, ts, 819)
+
+ Store(RefOf(m901), Local0)
+ m1a3(Local0, c010, z108, ts, 820)
+
+ Store(RefOf(d900), Local0)
+ m1a3(Local0, c00e, z108, ts, 821)
+
+ Store(RefOf(mx90), Local0)
+ m1a3(Local0, c011, z108, ts, 822)
+
+ Store(RefOf(d900), Local0)
+ m1a3(Local0, c00e, z108, ts, 823)
+
+ Store(RefOf(r900), Local0)
+ m1a3(Local0, c012, z108, ts, 824)
+
+ Store(RefOf(d900), Local0)
+ m1a3(Local0, c00e, z108, ts, 825)
+
+ Store(RefOf(pw90), Local0)
+ m1a3(Local0, c013, z108, ts, 826)
+
+ Store(RefOf(d900), Local0)
+ m1a3(Local0, c00e, z108, ts, 827)
+
+ Store(RefOf(pr90), Local0)
+ m1a3(Local0, c014, z108, ts, 828)
+
+ Store(RefOf(d900), Local0)
+ m1a3(Local0, c00e, z108, ts, 829)
+
+ Store(RefOf(tz90), Local0)
+ m1a3(Local0, c015, z108, ts, 830)
+
+ Store(RefOf(d900), Local0)
+ m1a3(Local0, c00e, z108, ts, 831)
+
+ Store(RefOf(bf90), Local0)
+ m1a3(Local0, c016, z108, ts, 832)
+
+ Store(RefOf(d900), Local0)
+ m1a3(Local0, c00e, z108, ts, 833)
+
+ /////////////////////// All-(...) after Event
+
+ Store(RefOf(e900), Local0)
+ m1a3(Local0, c00f, z108, ts, 834)
+
+ Store(RefOf(e900), Local0)
+ m1a3(Local0, c00f, z108, ts, 835)
+
+ Store(RefOf(m901), Local0)
+ m1a3(Local0, c010, z108, ts, 836)
+
+ Store(RefOf(e900), Local0)
+ m1a3(Local0, c00f, z108, ts, 837)
+
+ Store(RefOf(mx90), Local0)
+ m1a3(Local0, c011, z108, ts, 838)
+
+ Store(RefOf(e900), Local0)
+ m1a3(Local0, c00f, z108, ts, 839)
+
+ Store(RefOf(r900), Local0)
+ m1a3(Local0, c012, z108, ts, 840)
+
+ Store(RefOf(e900), Local0)
+ m1a3(Local0, c00f, z108, ts, 841)
+
+ Store(RefOf(pw90), Local0)
+ m1a3(Local0, c013, z108, ts, 842)
+
+ Store(RefOf(e900), Local0)
+ m1a3(Local0, c00f, z108, ts, 843)
+
+ Store(RefOf(pr90), Local0)
+ m1a3(Local0, c014, z108, ts, 844)
+
+ Store(RefOf(e900), Local0)
+ m1a3(Local0, c00f, z108, ts, 845)
+
+ Store(RefOf(tz90), Local0)
+ m1a3(Local0, c015, z108, ts, 846)
+
+ Store(RefOf(e900), Local0)
+ m1a3(Local0, c00f, z108, ts, 847)
+
+ Store(RefOf(bf90), Local0)
+ m1a3(Local0, c016, z108, ts, 848)
+
+ Store(RefOf(e900), Local0)
+ m1a3(Local0, c00f, z108, ts, 849)
+
+ /////////////////////// All-(...) after Method
+
+ Store(RefOf(m901), Local0)
+ m1a3(Local0, c010, z108, ts, 850)
+
+ Store(RefOf(m901), Local0)
+ m1a3(Local0, c010, z108, ts, 851)
+
+ Store(RefOf(mx90), Local0)
+ m1a3(Local0, c011, z108, ts, 852)
+
+ Store(RefOf(m901), Local0)
+ m1a3(Local0, c010, z108, ts, 853)
+
+ Store(RefOf(r900), Local0)
+ m1a3(Local0, c012, z108, ts, 854)
+
+ Store(RefOf(m901), Local0)
+ m1a3(Local0, c010, z108, ts, 855)
+
+ Store(RefOf(pw90), Local0)
+ m1a3(Local0, c013, z108, ts, 956)
+
+ Store(RefOf(m901), Local0)
+ m1a3(Local0, c010, z108, ts, 857)
+
+ Store(RefOf(pr90), Local0)
+ m1a3(Local0, c014, z108, ts, 858)
+
+ Store(RefOf(m901), Local0)
+ m1a3(Local0, c010, z108, ts, 859)
+
+ Store(RefOf(tz90), Local0)
+ m1a3(Local0, c015, z108, ts, 860)
+
+ Store(RefOf(m901), Local0)
+ m1a3(Local0, c010, z108, ts, 861)
+
+ Store(RefOf(bf90), Local0)
+ m1a3(Local0, c016, z108, ts, 862)
+
+ Store(RefOf(m901), Local0)
+ m1a3(Local0, c010, z108, ts, 863)
+
+ /////////////////////// All-(...) after Mutex
+
+ Store(RefOf(mx90), Local0)
+ m1a3(Local0, c011, z108, ts, 864)
+
+ Store(RefOf(mx90), Local0)
+ m1a3(Local0, c011, z108, ts, 865)
+
+ Store(RefOf(r900), Local0)
+ m1a3(Local0, c012, z108, ts, 866)
+
+ Store(RefOf(mx90), Local0)
+ m1a3(Local0, c011, z108, ts, 867)
+
+ Store(RefOf(pw90), Local0)
+ m1a3(Local0, c013, z108, ts, 868)
+
+ Store(RefOf(mx90), Local0)
+ m1a3(Local0, c011, z108, ts, 869)
+
+ Store(RefOf(pr90), Local0)
+ m1a3(Local0, c014, z108, ts, 870)
+
+ Store(RefOf(mx90), Local0)
+ m1a3(Local0, c011, z108, ts, 871)
+
+ Store(RefOf(tz90), Local0)
+ m1a3(Local0, c015, z108, ts, 872)
+
+ Store(RefOf(mx90), Local0)
+ m1a3(Local0, c011, z108, ts, 873)
+
+ Store(RefOf(bf90), Local0)
+ m1a3(Local0, c016, z108, ts, 874)
+
+ Store(RefOf(mx90), Local0)
+ m1a3(Local0, c011, z108, ts, 875)
+
+ /////////////////////// All-(...) after Operation Region
+
+ Store(RefOf(r900), Local0)
+ m1a3(Local0, c012, z108, ts, 876)
+
+ Store(RefOf(r900), Local0)
+ m1a3(Local0, c012, z108, ts, 877)
+
+ Store(RefOf(pw90), Local0)
+ m1a3(Local0, c013, z108, ts, 878)
+
+ Store(RefOf(r900), Local0)
+ m1a3(Local0, c012, z108, ts, 879)
+
+ Store(RefOf(pr90), Local0)
+ m1a3(Local0, c014, z108, ts, 880)
+
+ Store(RefOf(r900), Local0)
+ m1a3(Local0, c012, z108, ts, 881)
+
+ Store(RefOf(tz90), Local0)
+ m1a3(Local0, c015, z108, ts, 882)
+
+ Store(RefOf(r900), Local0)
+ m1a3(Local0, c012, z108, ts, 883)
+
+ Store(RefOf(bf90), Local0)
+ m1a3(Local0, c016, z108, ts, 884)
+
+ Store(RefOf(r900), Local0)
+ m1a3(Local0, c012, z108, ts, 885)
+
+ /////////////////////// All-(...) after Power Resource
+
+ Store(RefOf(pw90), Local0)
+ m1a3(Local0, c013, z108, ts, 886)
+
+ Store(RefOf(pw90), Local0)
+ m1a3(Local0, c013, z108, ts, 887)
+
+ Store(RefOf(pr90), Local0)
+ m1a3(Local0, c014, z108, ts, 888)
+
+ Store(RefOf(pw90), Local0)
+ m1a3(Local0, c013, z108, ts, 889)
+
+ Store(RefOf(tz90), Local0)
+ m1a3(Local0, c015, z108, ts, 890)
+
+ Store(RefOf(pw90), Local0)
+ m1a3(Local0, c013, z108, ts, 891)
+
+ Store(RefOf(bf90), Local0)
+ m1a3(Local0, c016, z108, ts, 892)
+
+ Store(RefOf(pw90), Local0)
+ m1a3(Local0, c013, z108, ts, 893)
+
+ /////////////////////// All-(...) after Processor
+
+ Store(RefOf(pr90), Local0)
+ m1a3(Local0, c014, z108, ts, 894)
+
+ Store(RefOf(pr90), Local0)
+ m1a3(Local0, c014, z108, ts, 895)
+
+ Store(RefOf(tz90), Local0)
+ m1a3(Local0, c015, z108, ts, 896)
+
+ Store(RefOf(pr90), Local0)
+ m1a3(Local0, c014, z108, ts, 897)
+
+ Store(RefOf(bf90), Local0)
+ m1a3(Local0, c016, z108, ts, 898)
+
+ Store(RefOf(pr90), Local0)
+ m1a3(Local0, c014, z108, ts, 899)
+
+ /////////////////////// All-(...) after Thermal Zone
+
+ Store(RefOf(tz90), Local0)
+ m1a3(Local0, c015, z108, ts, 900)
+
+ Store(RefOf(bf90), Local0)
+ m1a3(Local0, c016, z108, ts, 901)
+
+ Store(RefOf(tz90), Local0)
+ m1a3(Local0, c015, z108, ts, 902)
+
+ /////////////////////// All-(...) after Buffer Field
+
+ Store(RefOf(bf90), Local0)
+ m1a3(Local0, c016, z108, ts, 903)
+
+ Store(RefOf(bf90), Local0)
+ m1a3(Local0, c016, z108, ts, 904)
+}
+
+// CopyObject the result of Index to LocalX
+Method(m1b6)
+{
+ Name(ts, "m1b6")
+
+ Store(z108, c081) // absolute index of file initiating the checking
+
+ // Computational Data
+
+ CopyObject(Index(s900, 1, Local0), Local1)
+ m1a3(Local0, c016, z108, ts, 905)
+ m1a3(Local1, c016, z108, ts, 906)
+
+ CopyObject(Index(b900, 1, Local0), Local1)
+ m1a3(Local0, c016, z108, ts, 907)
+ m1a3(Local1, c016, z108, ts, 908)
+
+ // Elements of Package are Uninitialized
+
+ if (y127) {
+ CopyObject(Index(p900, 0, Local0), Local1)
+ m1a3(Local0, c008, z108, ts, 909)
+ m1a3(Local1, c008, z108, ts, 910)
+ }
+
+ // Elements of Package are Computational Data
+
+ CopyObject(Index(p901, 1, Local0), Local1)
+ m1a3(Local0, c009, z108, ts, 911)
+ m1a3(Local1, c009, z108, ts, 912)
+
+ CopyObject(Index(p904, 1, Local0), Local1)
+ m1a3(Local0, c00b, z108, ts, 913)
+ m1a3(Local1, c00b, z108, ts, 914)
+
+ CopyObject(Index(p905, 0, Local0), Local1)
+ m1a3(Local0, c00c, z108, ts, 915)
+ m1a3(Local1, c00c, z108, ts, 916)
+
+ CopyObject(Index(p90d, 0, Local0), Local1)
+ m1a3(Local0, c009, z108, ts, 917)
+ m1a3(Local1, c009, z108, ts, 918)
+
+ CopyObject(Index(p90e, 0, Local0), Local1)
+ m1a3(Local0, c009, z108, ts, 919)
+ m1a3(Local1, c009, z108, ts, 920)
+
+ CopyObject(Index(p90f, 0, Local0), Local1)
+ m1a3(Local0, c00a, z108, ts, 921)
+ m1a3(Local1, c00a, z108, ts, 922)
+
+ CopyObject(Index(p910, 0, Local0), Local1)
+ m1a3(Local0, c00a, z108, ts, 923)
+ m1a3(Local1, c00a, z108, ts, 924)
+
+ CopyObject(Index(p911, 0, Local0), Local1)
+ m1a3(Local0, c00b, z108, ts, 925)
+ m1a3(Local1, c00b, z108, ts, 926)
+
+ CopyObject(Index(p912, 0, Local0), Local1)
+ m1a3(Local0, c00d, z108, ts, 927)
+ m1a3(Local1, c00d, z108, ts, 928)
+
+ CopyObject(Index(p913, 0, Local0), Local1)
+ m1a3(Local0, c00d, z108, ts, 929)
+ m1a3(Local1, c00d, z108, ts, 930)
+
+ CopyObject(Index(p914, 0, Local0), Local1)
+ m1a3(Local0, c00d, z108, ts, 931)
+ m1a3(Local1, c00d, z108, ts, 932)
+
+ CopyObject(Index(p915, 0, Local0), Local1)
+ m1a3(Local0, c016, z108, ts, 933)
+ m1a3(Local1, c016, z108, ts, 934)
+
+ // Elements of Package are NOT Computational Data
+
+ CopyObject(Index(p916, 0, Local0), Local1)
+ m1a3(Local0, c00e, z108, ts, 935)
+ m1a3(Local1, c00e, z108, ts, 936)
+
+ CopyObject(Index(p917, 0, Local0), Local1)
+ m1a3(Local0, c00f, z108, ts, 937)
+ m1a3(Local1, c00f, z108, ts, 938)
+
+ CopyObject(Index(p918, 0, Local0), Local1)
+ m1a3(Local0, c011, z108, ts, 939)
+ m1a3(Local1, c011, z108, ts, 940)
+
+ CopyObject(Index(p919, 0, Local0), Local1)
+ m1a3(Local0, c012, z108, ts, 941)
+ m1a3(Local1, c012, z108, ts, 942)
+
+ CopyObject(Index(p91a, 0, Local0), Local1)
+ m1a3(Local0, c013, z108, ts, 943)
+ m1a3(Local1, c013, z108, ts, 944)
+
+ CopyObject(Index(p91b, 0, Local0), Local1)
+ m1a3(Local0, c014, z108, ts, 945)
+ m1a3(Local1, c014, z108, ts, 946)
+
+ CopyObject(Index(p91c, 0, Local0), Local1)
+ m1a3(Local0, c015, z108, ts, 947)
+ m1a3(Local1, c015, z108, ts, 948)
+
+ // Elements of Package are Methods
+
+ CopyObject(Index(p91d, 0, Local0), Local1)
+ m1a3(Local0, c010, z108, ts, 949)
+ m1a3(Local1, c010, z108, ts, 950)
+
+ CopyObject(Index(p91e, 0, Local0), Local1)
+ m1a3(Local0, c010, z108, ts, 951)
+ m1a3(Local1, c010, z108, ts, 952)
+
+ CopyObject(Index(p91f, 0, Local0), Local1)
+ m1a3(Local0, c010, z108, ts, 953)
+ m1a3(Local1, c010, z108, ts, 954)
+
+ CopyObject(Index(p920, 0, Local0), Local1)
+ m1a3(Local0, c010, z108, ts, 955)
+ m1a3(Local1, c010, z108, ts, 956)
+
+ CopyObject(Index(p921, 0, Local0), Local1)
+ m1a3(Local0, c010, z108, ts, 957)
+ m1a3(Local1, c010, z108, ts, 958)
+
+ CopyObject(Index(p922, 0, Local0), Local1)
+ m1a3(Local0, c010, z108, ts, 959)
+ m1a3(Local1, c010, z108, ts, 960)
+
+ CopyObject(Index(p923, 0, Local0), Local1)
+ m1a3(Local0, c010, z108, ts, 961)
+ m1a3(Local1, c010, z108, ts, 962)
+
+ CopyObject(Index(p924, 0, Local0), Local1)
+ m1a3(Local0, c010, z108, ts, 963)
+ m1a3(Local1, c010, z108, ts, 964)
+
+ CopyObject(Index(p925, 0, Local0), Local1)
+ m1a3(Local0, c010, z108, ts, 965)
+ m1a3(Local1, c010, z108, ts, 966)
+
+ CopyObject(Index(p926, 0, Local0), Local1)
+ m1a3(Local0, c010, z108, ts, 967)
+ m1a3(Local1, c010, z108, ts, 968)
+
+ CopyObject(Index(p927, 0, Local0), Local1)
+ m1a3(Local0, c010, z108, ts, 969)
+ m1a3(Local1, c010, z108, ts, 970)
+
+ CopyObject(Index(p928, 0, Local0), Local1)
+ m1a3(Local0, c010, z108, ts, 971)
+ m1a3(Local1, c010, z108, ts, 972)
+
+ CopyObject(Index(p929, 0, Local0), Local1)
+ m1a3(Local0, c010, z108, ts, 973)
+ m1a3(Local1, c010, z108, ts, 974)
+
+ CopyObject(Index(p92a, 0, Local0), Local1)
+ m1a3(Local0, c010, z108, ts, 975)
+ m1a3(Local1, c010, z108, ts, 976)
+
+ CopyObject(Index(p92b, 0, Local0), Local1)
+ m1a3(Local0, c010, z108, ts, 977)
+ m1a3(Local1, c010, z108, ts, 978)
+
+ CopyObject(Index(p92c, 0, Local0), Local1)
+ m1a3(Local0, c010, z108, ts, 979)
+ m1a3(Local1, c010, z108, ts, 980)
+
+ CopyObject(Index(p92d, 0, Local0), Local1)
+ m1a3(Local0, c010, z108, ts, 981)
+ m1a3(Local1, c010, z108, ts, 982)
+
+ CopyObject(Index(p92e, 0, Local0), Local1)
+ m1a3(Local0, c010, z108, ts, 983)
+ m1a3(Local1, c010, z108, ts, 984)
+
+ CopyObject(Index(p92f, 0, Local0), Local1)
+ m1a3(Local0, c010, z108, ts, 985)
+ m1a3(Local1, c010, z108, ts, 986)
+
+ CopyObject(Index(p930, 0, Local0), Local1)
+ m1a3(Local0, c010, z108, ts, 987)
+ m1a3(Local1, c010, z108, ts, 988)
+
+ CopyObject(Index(p931, 0, Local0), Local1)
+ m1a3(Local0, c010, z108, ts, 989)
+ m1a3(Local1, c010, z108, ts, 990)
+
+ CopyObject(Index(p932, 0, Local0), Local1)
+ m1a3(Local0, c010, z108, ts, 991)
+ m1a3(Local1, c010, z108, ts, 992)
+
+ CopyObject(Index(p933, 0, Local0), Local1)
+ m1a3(Local0, c010, z108, ts, 993)
+ m1a3(Local1, c010, z108, ts, 994)
+
+ CopyObject(Index(p934, 0, Local0), Local1)
+ m1a3(Local0, c010, z108, ts, 995)
+ m1a3(Local1, c010, z108, ts, 996)
+
+ CopyObject(Index(p935, 0, Local0), Local1)
+ m1a3(Local0, c010, z108, ts, 997)
+ m1a3(Local1, c010, z108, ts, 998)
+
+ CopyObject(Index(p936, 0, Local0), Local1)
+ m1a3(Local0, c010, z108, ts, 999)
+ m1a3(Local1, c010, z108, ts, 1000)
+
+ CopyObject(Index(p937, 0, Local0), Local1)
+ m1a3(Local0, c010, z108, ts, 1001)
+ m1a3(Local1, c010, z108, ts, 1002)
+
+ CopyObject(Index(p938, 0, Local0), Local1)
+ m1a3(Local0, c010, z108, ts, 1003)
+ m1a3(Local1, c010, z108, ts, 1004)
+
+ CopyObject(Index(p939, 0, Local0), Local1)
+ m1a3(Local0, c010, z108, ts, 1005)
+ m1a3(Local1, c010, z108, ts, 1006)
+
+ CopyObject(Index(p93a, 0, Local0), Local1)
+ m1a3(Local0, c010, z108, ts, 1007)
+ m1a3(Local1, c010, z108, ts, 1008)
+
+ CopyObject(Index(p93b, 0, Local0), Local1)
+ m1a3(Local0, c010, z108, ts, 1009)
+ m1a3(Local1, c010, z108, ts, 1010)
+
+ m1a6()
+}
+
+// Store the result of Index to LocalX.
+//
+// The same as m1b6 but Store instead of CopyObject.
+Method(m1b7)
+{
+ Name(ts, "m1b7")
+
+ Store(z108, c081) // absolute index of file initiating the checking
+
+ // Computational Data
+
+ Store(Index(s900, 1, Local0), Local1)
+ m1a3(Local0, c016, z108, ts, 1011)
+ m1a3(Local1, c016, z108, ts, 1012)
+
+ Store(Index(b900, 1, Local0), Local1)
+ m1a3(Local0, c016, z108, ts, 1013)
+ m1a3(Local1, c016, z108, ts, 1014)
+
+ // Elements of Package are Uninitialized
+
+ Store(Index(p900, 0, Local0), Local1)
+ m1a3(Local0, c008, z108, ts, 1015)
+ m1a3(Local1, c008, z108, ts, 1016)
+
+ // Elements of Package are Computational Data
+
+ Store(Index(p901, 1, Local0), Local1)
+ m1a3(Local0, c009, z108, ts, 1017)
+ m1a3(Local1, c009, z108, ts, 1018)
+
+ Store(Index(p904, 1, Local0), Local1)
+ m1a3(Local0, c00b, z108, ts, 1019)
+ m1a3(Local1, c00b, z108, ts, 1020)
+
+ Store(Index(p905, 0, Local0), Local1)
+ m1a3(Local0, c00c, z108, ts, 1021)
+ m1a3(Local1, c00c, z108, ts, 1022)
+
+ Store(Index(p90d, 0, Local0), Local1)
+ m1a3(Local0, c009, z108, ts, 1023)
+ m1a3(Local1, c009, z108, ts, 1024)
+
+ Store(Index(p90e, 0, Local0), Local1)
+ m1a3(Local0, c009, z108, ts, 1025)
+ m1a3(Local1, c009, z108, ts, 1026)
+
+ Store(Index(p90f, 0, Local0), Local1)
+ m1a3(Local0, c00a, z108, ts, 1027)
+ m1a3(Local1, c00a, z108, ts, 1028)
+
+ Store(Index(p910, 0, Local0), Local1)
+ m1a3(Local0, c00a, z108, ts, 1029)
+ m1a3(Local1, c00a, z108, ts, 1030)
+
+ Store(Index(p911, 0, Local0), Local1)
+ m1a3(Local0, c00b, z108, ts, 1031)
+ m1a3(Local1, c00b, z108, ts, 1032)
+
+ Store(Index(p912, 0, Local0), Local1)
+ m1a3(Local0, c00d, z108, ts, 1033)
+ m1a3(Local1, c00d, z108, ts, 1034)
+
+ Store(Index(p913, 0, Local0), Local1)
+ m1a3(Local0, c00d, z108, ts, 1035)
+ m1a3(Local1, c00d, z108, ts, 1036)
+
+ Store(Index(p914, 0, Local0), Local1)
+ m1a3(Local0, c00d, z108, ts, 1037)
+ m1a3(Local1, c00d, z108, ts, 1038)
+
+ Store(Index(p915, 0, Local0), Local1)
+ m1a3(Local0, c016, z108, ts, 1039)
+ m1a3(Local1, c016, z108, ts, 1040)
+
+ // Elements of Package are NOT Computational Data
+
+ Store(Index(p916, 0, Local0), Local1)
+ m1a3(Local0, c00e, z108, ts, 1041)
+ m1a3(Local1, c00e, z108, ts, 1042)
+
+ Store(Index(p917, 0, Local0), Local1)
+ m1a3(Local0, c00f, z108, ts, 1043)
+ m1a3(Local1, c00f, z108, ts, 1044)
+
+ Store(Index(p918, 0, Local0), Local1)
+ m1a3(Local0, c011, z108, ts, 1045)
+ m1a3(Local1, c011, z108, ts, 1046)
+
+ Store(Index(p919, 0, Local0), Local1)
+ m1a3(Local0, c012, z108, ts, 1047)
+ m1a3(Local1, c012, z108, ts, 1048)
+
+ Store(Index(p91a, 0, Local0), Local1)
+ m1a3(Local0, c013, z108, ts, 1049)
+ m1a3(Local1, c013, z108, ts, 1050)
+
+ Store(Index(p91b, 0, Local0), Local1)
+ m1a3(Local0, c014, z108, ts, 1051)
+ m1a3(Local1, c014, z108, ts, 1052)
+
+ Store(Index(p91c, 0, Local0), Local1)
+ m1a3(Local0, c015, z108, ts, 1053)
+ m1a3(Local1, c015, z108, ts, 1054)
+
+ // Elements of Package are Methods
+
+ Store(Index(p91d, 0, Local0), Local1)
+ m1a3(Local0, c010, z108, ts, 1055)
+ m1a3(Local1, c010, z108, ts, 1056)
+
+ Store(Index(p91e, 0, Local0), Local1)
+ m1a3(Local0, c010, z108, ts, 1057)
+ m1a3(Local1, c010, z108, ts, 1058)
+
+ Store(Index(p91f, 0, Local0), Local1)
+ m1a3(Local0, c010, z108, ts, 1059)
+ m1a3(Local1, c010, z108, ts, 1060)
+
+ Store(Index(p920, 0, Local0), Local1)
+ m1a3(Local0, c010, z108, ts, 1061)
+ m1a3(Local1, c010, z108, ts, 1062)
+
+ Store(Index(p921, 0, Local0), Local1)
+ m1a3(Local0, c010, z108, ts, 1063)
+ m1a3(Local1, c010, z108, ts, 1064)
+
+ Store(Index(p922, 0, Local0), Local1)
+ m1a3(Local0, c010, z108, ts, 1065)
+ m1a3(Local1, c010, z108, ts, 1066)
+
+ Store(Index(p923, 0, Local0), Local1)
+ m1a3(Local0, c010, z108, ts, 1067)
+ m1a3(Local1, c010, z108, ts, 1068)
+
+ Store(Index(p924, 0, Local0), Local1)
+ m1a3(Local0, c010, z108, ts, 1069)
+ m1a3(Local1, c010, z108, ts, 1070)
+
+ Store(Index(p925, 0, Local0), Local1)
+ m1a3(Local0, c010, z108, ts, 1071)
+ m1a3(Local1, c010, z108, ts, 1072)
+
+ Store(Index(p926, 0, Local0), Local1)
+ m1a3(Local0, c010, z108, ts, 1073)
+ m1a3(Local1, c010, z108, ts, 1074)
+
+ Store(Index(p927, 0, Local0), Local1)
+ m1a3(Local0, c010, z108, ts, 1075)
+ m1a3(Local1, c010, z108, ts, 1076)
+
+ Store(Index(p928, 0, Local0), Local1)
+ m1a3(Local0, c010, z108, ts, 1077)
+ m1a3(Local1, c010, z108, ts, 1078)
+
+ Store(Index(p929, 0, Local0), Local1)
+ m1a3(Local0, c010, z108, ts, 1079)
+ m1a3(Local1, c010, z108, ts, 1080)
+
+ Store(Index(p92a, 0, Local0), Local1)
+ m1a3(Local0, c010, z108, ts, 1081)
+ m1a3(Local1, c010, z108, ts, 1082)
+
+ Store(Index(p92b, 0, Local0), Local1)
+ m1a3(Local0, c010, z108, ts, 1083)
+ m1a3(Local1, c010, z108, ts, 1084)
+
+ Store(Index(p92c, 0, Local0), Local1)
+ m1a3(Local0, c010, z108, ts, 1085)
+ m1a3(Local1, c010, z108, ts, 1086)
+
+ Store(Index(p92d, 0, Local0), Local1)
+ m1a3(Local0, c010, z108, ts, 1087)
+ m1a3(Local1, c010, z108, ts, 1088)
+
+ Store(Index(p92e, 0, Local0), Local1)
+ m1a3(Local0, c010, z108, ts, 1089)
+ m1a3(Local1, c010, z108, ts, 1090)
+
+ Store(Index(p92f, 0, Local0), Local1)
+ m1a3(Local0, c010, z108, ts, 1091)
+ m1a3(Local1, c010, z108, ts, 1092)
+
+ Store(Index(p930, 0, Local0), Local1)
+ m1a3(Local0, c010, z108, ts, 1093)
+ m1a3(Local1, c010, z108, ts, 1094)
+
+ Store(Index(p931, 0, Local0), Local1)
+ m1a3(Local0, c010, z108, ts, 1095)
+ m1a3(Local1, c010, z108, ts, 1096)
+
+ Store(Index(p932, 0, Local0), Local1)
+ m1a3(Local0, c010, z108, ts, 1097)
+ m1a3(Local1, c010, z108, ts, 1098)
+
+ Store(Index(p933, 0, Local0), Local1)
+ m1a3(Local0, c010, z108, ts, 1099)
+ m1a3(Local1, c010, z108, ts, 1100)
+
+ Store(Index(p934, 0, Local0), Local1)
+ m1a3(Local0, c010, z108, ts, 1101)
+ m1a3(Local1, c010, z108, ts, 1102)
+
+ Store(Index(p935, 0, Local0), Local1)
+ m1a3(Local0, c010, z108, ts, 1103)
+ m1a3(Local1, c010, z108, ts, 1104)
+
+ Store(Index(p936, 0, Local0), Local1)
+ m1a3(Local0, c010, z108, ts, 1105)
+ m1a3(Local1, c010, z108, ts, 1106)
+
+ Store(Index(p937, 0, Local0), Local1)
+ m1a3(Local0, c010, z108, ts, 1107)
+ m1a3(Local1, c010, z108, ts, 1108)
+
+ Store(Index(p938, 0, Local0), Local1)
+ m1a3(Local0, c010, z108, ts, 1109)
+ m1a3(Local1, c010, z108, ts, 1110)
+
+ Store(Index(p939, 0, Local0), Local1)
+ m1a3(Local0, c010, z108, ts, 1111)
+ m1a3(Local1, c010, z108, ts, 1112)
+
+ Store(Index(p93a, 0, Local0), Local1)
+ m1a3(Local0, c010, z108, ts, 1113)
+ m1a3(Local1, c010, z108, ts, 1114)
+
+ Store(Index(p93b, 0, Local0), Local1)
+ m1a3(Local0, c010, z108, ts, 1115)
+ m1a3(Local1, c010, z108, ts, 1116)
+
+ m1a6()
+}
+
+Method(m1c0)
+{
+ Store(z108, c081) // absolute index of file initiating the checking
+ Store(0, c089) // flag of Reference, object otherwise
+
+ m1b0()
+}
diff --git a/tests/aslts/src/runtime/collections/functional/reference/ref06.asl b/tests/aslts/src/runtime/collections/functional/reference/ref06.asl
new file mode 100644
index 000000000..79b4763bd
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/reference/ref06.asl
@@ -0,0 +1,737 @@
+/*
+ * 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.
+ */
+
+/*
+ * References
+ */
+
+Name(z110, 110)
+
+// The number of repetitions
+//
+// Minimum: 26*6=156
+Name(rep0, 1000)
+
+// Strategies of traveling the Cases of Switch
+
+// Total number of Cases
+Name(maxf, 100)
+
+// Current indexes inside groups
+Name(i200, 0)
+Name(i201, 0)
+Name(i202, 0)
+Name(i203, 0)
+Name(i204, 0)
+Name(i205, 0)
+
+/*
+ * Mix of groups strategy
+ *
+ * Distribution of (6) groups:
+ *
+ * 0) Cases 0 - 13 (14)
+ * 1) Cases 14 - 19 (6)
+ * 2) Cases 20 - 33 (14)
+ * 3) Cases 34 - 47 (14)
+ * 4) Cases 48 - 73 (26)
+ * 5) Cases 74 - 99 (26)
+ *
+ * arg0 - index of iteration
+ */
+Method(m1e1, 1)
+{
+ Mod(arg0, 6, Local7)
+
+ // Groups
+ Switch (ToInteger(Local7)) {
+ Case (0) {
+ Mod(i200, 14, Local1)
+ Increment(i200)
+ }
+ Case (1) {
+ Mod(i201, 6, Local0)
+ Add(14, Local0, Local1)
+ Increment(i201)
+ }
+ Case (2) {
+ Mod(i202, 14, Local0)
+ Add(20, Local0, Local1)
+ Increment(i202)
+ }
+ Case (3) {
+ Mod(i203, 14, Local0)
+ Add(34, Local0, Local1)
+ Increment(i203)
+ }
+ Case (4) {
+ Mod(i204, 26, Local0)
+ Add(48, Local0, Local1)
+ Increment(i204)
+ }
+ Case (5) {
+ Mod(i205, 26, Local0)
+ Add(74, Local0, Local1)
+ Increment(i205)
+ }
+ Default {
+ err("m1e2", z110, 0, 0, 0, Local7, 0)
+ }
+ }
+
+ return (Local1)
+}
+
+// Mod-6 strategy
+//
+// Observed, it causes many "Outstanding allocations"
+//
+// arg0 - index of iteration
+Method(m1e2, 1)
+{
+ Mod(arg0, 6, Local7)
+ return (Local7)
+}
+
+// Linear strategy
+//
+// arg0 - index of iteration
+Method(m1e3, 1)
+{
+ Mod(arg0, maxf, Local7)
+ return (Local7)
+}
+
+// arg0 - strategy of traveling the Cases of Switch
+Method(m1e0, 1)
+{
+/*
+ // ################################## Check all the test:
+
+ // Packages for _TCI statistics
+ Name(LLL0, Package(1) {})
+ Name(LLL1, Package(1) {})
+ Name(LLL2, Package(1) {})
+
+ // Create and initialize the Memory Consumption Statistics Packages
+
+ Store(m3a0(c200), LLL0) // _TCI-end statistics
+ Store(m3a0(c201), LLL1) // _TCI-begin statistics
+ Store(m3a0(0), LLL2) // difference
+
+ _TCI(c200, LLL0)
+ // ################################## Check all the test.
+*/
+
+
+ Name(ts, "m1e0")
+
+ Name(pr, 0)
+
+ Name(ind0, 0)
+
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+
+ Store(z110, c081) // absolute index of file initiating the checking
+
+ Store(rep0, lpN0)
+ Store(0, lpC0)
+
+ if (LEqual(arg0, 1)) {
+ Store("Mix of groups strategy", Debug)
+ } elseif (LEqual(arg0, 2)) {
+ Store("Mod-6 strategy", Debug)
+ } else {
+ Store("Linear strategy", Debug)
+ }
+
+ While (lpN0) {
+
+ if (pr) {
+ Store(lpC0, Debug)
+ }
+
+ if (LEqual(arg0, 1)) {
+ Store(m1e1(lpC0), ind0)
+ } elseif (LEqual(arg0, 2)) {
+ Store(m1e2(lpC0), ind0)
+ } else {
+ Store(m1e3(lpC0), ind0)
+ }
+
+ Switch (ToInteger(ind0)) {
+
+ // ========================= Group 0:
+
+ // All types
+ // (from m1b1: CopyObject of Object to LocalX)
+
+Case (0) {
+ CopyObject(i900, Local0)
+ m1a3(Local0, c009, z110, ts, 0)
+}
+Case (1) {
+ CopyObject(s900, Local0)
+ m1a3(Local0, c00a, z110, ts, 1)
+}
+Case (2) {
+ CopyObject(b900, Local0)
+ m1a3(Local0, c00b, z110, ts, 2)
+}
+Case (3) {
+ CopyObject(p900, Local0)
+ m1a3(Local0, c00c, z110, ts, 3)
+}
+Case (4) {
+ CopyObject(f900, Local0)
+ m1a3(Local0, c009, z110, ts, 4)
+}
+Case (5) {
+ CopyObject(d900, Local0)
+ m1a3(Local0, c00e, z110, ts, 5)
+}
+Case (6) {
+ CopyObject(e900, Local0)
+ m1a3(Local0, c00f, z110, ts, 6)
+}
+Case (7) {
+ if (rn06) {
+ CopyObject(m901, Local0)
+ } else {
+ CopyObject(DerefOf(RefOf(m901)), Local0)
+ }
+ m1a3(Local0, c010, z110, ts, 7)
+}
+Case (8) {
+ CopyObject(mx90, Local0)
+ m1a3(Local0, c011, z110, ts, 8)
+}
+Case (9) {
+ if (y510) {
+ CopyObject(r900, Local0)
+ m1a3(Local0, c012, z110, ts, 9)
+ }
+}
+Case (10) {
+ CopyObject(pw90, Local0)
+ m1a3(Local0, c013, z110, ts, 10)
+}
+Case (11) {
+ CopyObject(pr90, Local0)
+ m1a3(Local0, c014, z110, ts, 11)
+}
+Case (12) {
+ if (y508) {
+ CopyObject(tz90, Local0)
+ m1a3(Local0, c015, z110, ts, 12)
+ }
+}
+Case (13) {
+ CopyObject(bf90, Local0)
+ m1a3(Local0, c009, z110, ts, 13)
+}
+
+ // ========================= Group 1:
+
+ // All available for Store types
+ // (from m1b2: Store of Object to LocalX)
+
+Case (14) {
+ Store(i900, Local0)
+ m1a3(Local0, c009, z110, ts, 14)
+}
+Case (15) {
+ Store(s900, Local0)
+ m1a3(Local0, c00a, z110, ts, 15)
+}
+Case (16) {
+ Store(b900, Local0)
+ m1a3(Local0, c00b, z110, ts, 16)
+}
+Case (17) {
+ Store(p900, Local0)
+ m1a3(Local0, c00c, z110, ts, 17)
+}
+Case (18) {
+ Store(f900, Local0)
+ m1a3(Local0, c009, z110, ts, 18)
+}
+Case (19) {
+ Store(bf90, Local0)
+ m1a3(Local0, c009, z110, ts, 19)
+}
+
+ // ========================= Group 2:
+
+ // All types
+ // (from m1b4: CopyObject the result of RefOf/CondRefOf to LocalX)
+
+Case (20) {
+ CopyObject(RefOf(i900), Local0)
+ m1a3(Local0, c009, z110, ts, 20)
+}
+Case (21) {
+ CopyObject(RefOf(s900), Local0)
+ m1a3(Local0, c00a, z110, ts, 21)
+}
+Case (22) {
+ CopyObject(RefOf(b900), Local0)
+ m1a3(Local0, c00b, z110, ts, 22)
+}
+Case (23) {
+ CopyObject(RefOf(p900), Local0)
+ m1a3(Local0, c00c, z110, ts, 23)
+}
+Case (24) {
+ CopyObject(RefOf(f900), Local0)
+ m1a3(Local0, c00d, z110, ts, 24)
+}
+Case (25) {
+ CopyObject(RefOf(d900), Local0)
+ m1a3(Local0, c00e, z110, ts, 25)
+}
+Case (26) {
+ CopyObject(RefOf(e900), Local0)
+ m1a3(Local0, c00f, z110, ts, 26)
+}
+Case (27) {
+ CopyObject(RefOf(m901), Local0)
+ m1a3(Local0, c010, z110, ts, 27)
+}
+Case (28) {
+ CopyObject(RefOf(mx90), Local0)
+ m1a3(Local0, c011, z110, ts, 28)
+}
+Case (29) {
+ CopyObject(RefOf(r900), Local0)
+ m1a3(Local0, c012, z110, ts, 29)
+}
+Case (30) {
+ CopyObject(RefOf(pw90), Local0)
+ m1a3(Local0, c013, z110, ts, 30)
+}
+Case (31) {
+ CopyObject(RefOf(pr90), Local0)
+ m1a3(Local0, c014, z110, ts, 31)
+}
+Case (32) {
+ CopyObject(RefOf(tz90), Local0)
+ m1a3(Local0, c015, z110, ts, 32)
+}
+Case (33) {
+ CopyObject(RefOf(bf90), Local0)
+ m1a3(Local0, c016, z110, ts, 33)
+}
+
+ // ========================= Group 3:
+
+ // All types
+ // (from m1b5: Store the result of RefOf/CondRefOf to LocalX)
+
+Case (34) {
+ Store(RefOf(i900), Local0)
+ m1a3(Local0, c009, z110, ts, 34)
+}
+Case (35) {
+ Store(RefOf(s900), Local0)
+ m1a3(Local0, c00a, z110, ts, 35)
+}
+Case (36) {
+ Store(RefOf(b900), Local0)
+ m1a3(Local0, c00b, z110, ts, 36)
+}
+Case (37) {
+ Store(RefOf(p900), Local0)
+ m1a3(Local0, c00c, z110, ts, 37)
+}
+Case (38) {
+ Store(RefOf(f900), Local0)
+ m1a3(Local0, c00d, z110, ts, 38)
+}
+Case (39) {
+ Store(RefOf(d900), Local0)
+ m1a3(Local0, c00e, z110, ts, 39)
+}
+Case (40) {
+ Store(RefOf(e900), Local0)
+ m1a3(Local0, c00f, z110, ts, 40)
+}
+Case (41) {
+ Store(RefOf(m901), Local0)
+ m1a3(Local0, c010, z110, ts, 41)
+}
+Case (42) {
+ Store(RefOf(mx90), Local0)
+ m1a3(Local0, c011, z110, ts, 42)
+}
+Case (43) {
+ Store(RefOf(r900), Local0)
+ m1a3(Local0, c012, z110, ts, 43)
+}
+Case (44) {
+ Store(RefOf(pw90), Local0)
+ m1a3(Local0, c013, z110, ts, 44)
+}
+Case (45) {
+ Store(RefOf(pr90), Local0)
+ m1a3(Local0, c014, z110, ts, 45)
+}
+Case (46) {
+ Store(RefOf(tz90), Local0)
+ m1a3(Local0, c015, z110, ts, 46)
+}
+Case (47) {
+ Store(RefOf(bf90), Local0)
+ m1a3(Local0, c016, z110, ts, 47)
+}
+
+ // ========================= Group 4:
+
+ // From m1b6: CopyObject the result of Index to LocalX
+
+ // Computational Data
+
+Case (48) {
+ CopyObject(Index(s900, 1, Local0), Local1)
+ m1a3(Local0, c016, z110, ts, 48)
+ m1a3(Local1, c016, z110, ts, 49)
+}
+Case (49) {
+ CopyObject(Index(b900, 1, Local0), Local1)
+ m1a3(Local0, c016, z110, ts, 50)
+ m1a3(Local1, c016, z110, ts, 51)
+}
+
+ // Elements of Package are Uninitialized
+
+Case (50) {
+ if (y127) {
+ CopyObject(Index(p900, 0, Local0), Local1)
+ m1a3(Local0, c008, z110, ts, 52)
+ m1a3(Local1, c008, z110, ts, 53)
+ }
+}
+
+ // Elements of Package are Computational Data
+
+Case (51) {
+ CopyObject(Index(p901, 1, Local0), Local1)
+ m1a3(Local0, c009, z110, ts, 54)
+ m1a3(Local1, c009, z110, ts, 55)
+}
+Case (52) {
+ CopyObject(Index(p904, 1, Local0), Local1)
+ m1a3(Local0, c00b, z110, ts, 56)
+ m1a3(Local1, c00b, z110, ts, 57)
+}
+Case (53) {
+ CopyObject(Index(p905, 0, Local0), Local1)
+ m1a3(Local0, c00c, z110, ts, 58)
+ m1a3(Local1, c00c, z110, ts, 59)
+}
+Case (54) {
+ CopyObject(Index(p90d, 0, Local0), Local1)
+ m1a3(Local0, c009, z110, ts, 60)
+ m1a3(Local1, c009, z110, ts, 61)
+}
+Case (55) {
+ CopyObject(Index(p90e, 0, Local0), Local1)
+ m1a3(Local0, c009, z110, ts, 62)
+ m1a3(Local1, c009, z110, ts, 63)
+}
+Case (56) {
+ CopyObject(Index(p90f, 0, Local0), Local1)
+ m1a3(Local0, c00a, z110, ts, 64)
+ m1a3(Local1, c00a, z110, ts, 65)
+}
+Case (57) {
+ CopyObject(Index(p910, 0, Local0), Local1)
+ m1a3(Local0, c00a, z110, ts, 66)
+ m1a3(Local1, c00a, z110, ts, 67)
+}
+Case (58) {
+ CopyObject(Index(p911, 0, Local0), Local1)
+ m1a3(Local0, c00b, z110, ts, 68)
+ m1a3(Local1, c00b, z110, ts, 69)
+}
+Case (59) {
+ CopyObject(Index(p912, 0, Local0), Local1)
+ m1a3(Local0, c00d, z110, ts, 70)
+ m1a3(Local1, c00d, z110, ts, 71)
+}
+Case (60) {
+ CopyObject(Index(p913, 0, Local0), Local1)
+ m1a3(Local0, c00d, z110, ts, 72)
+ m1a3(Local1, c00d, z110, ts, 73)
+}
+Case (61) {
+ CopyObject(Index(p914, 0, Local0), Local1)
+ m1a3(Local0, c00d, z110, ts, 74)
+ m1a3(Local1, c00d, z110, ts, 75)
+}
+Case (62) {
+ CopyObject(Index(p915, 0, Local0), Local1)
+ m1a3(Local0, c016, z110, ts, 76)
+ m1a3(Local1, c016, z110, ts, 77)
+}
+
+ // Elements of Package are NOT Computational Data
+
+Case (63) {
+ CopyObject(Index(p916, 0, Local0), Local1)
+ m1a3(Local0, c00e, z110, ts, 78)
+ m1a3(Local1, c00e, z110, ts, 79)
+}
+Case (64) {
+ CopyObject(Index(p917, 0, Local0), Local1)
+ m1a3(Local0, c00f, z110, ts, 80)
+ m1a3(Local1, c00f, z110, ts, 81)
+}
+Case (65) {
+ CopyObject(Index(p918, 0, Local0), Local1)
+ m1a3(Local0, c011, z110, ts, 82)
+ m1a3(Local1, c011, z110, ts, 83)
+}
+Case (66) {
+ CopyObject(Index(p919, 0, Local0), Local1)
+ m1a3(Local0, c012, z110, ts, 84)
+ m1a3(Local1, c012, z110, ts, 85)
+}
+Case (67) {
+ CopyObject(Index(p91a, 0, Local0), Local1)
+ m1a3(Local0, c013, z110, ts, 86)
+ m1a3(Local1, c013, z110, ts, 87)
+}
+Case (68) {
+ CopyObject(Index(p91b, 0, Local0), Local1)
+ m1a3(Local0, c014, z110, ts, 88)
+ m1a3(Local1, c014, z110, ts, 89)
+}
+Case (69) {
+ CopyObject(Index(p91c, 0, Local0), Local1)
+ m1a3(Local0, c015, z110, ts, 90)
+ m1a3(Local1, c015, z110, ts, 91)
+}
+
+ // Elements of Package are Methods
+
+Case (70) {
+ CopyObject(Index(p91d, 0, Local0), Local1)
+ m1a3(Local0, c010, z110, ts, 92)
+ m1a3(Local1, c010, z110, ts, 93)
+}
+Case (71) {
+ CopyObject(Index(p91e, 0, Local0), Local1)
+ m1a3(Local0, c010, z110, ts, 94)
+ m1a3(Local1, c010, z110, ts, 95)
+}
+Case (72) {
+ CopyObject(Index(p91f, 0, Local0), Local1)
+ m1a3(Local0, c010, z110, ts, 96)
+ m1a3(Local1, c010, z110, ts, 97)
+}
+Case (73) {
+ CopyObject(Index(p920, 0, Local0), Local1)
+ m1a3(Local0, c010, z110, ts, 98)
+ m1a3(Local1, c010, z110, ts, 99)
+}
+
+ // ========================= Group 5:
+
+ // From m1b7: Store the result of Index to LocalX
+
+ // Computational Data
+
+Case (74) {
+ Store(Index(s900, 1, Local0), Local1)
+ m1a3(Local0, c016, z110, ts, 100)
+ m1a3(Local1, c016, z110, ts, 101)
+}
+Case (75) {
+ Store(Index(b900, 1, Local0), Local1)
+ m1a3(Local0, c016, z110, ts, 102)
+ m1a3(Local1, c016, z110, ts, 103)
+}
+
+ // Elements of Package are Uninitialized
+
+Case (76) {
+ Store(Index(p900, 0, Local0), Local1)
+ m1a3(Local0, c008, z110, ts, 104)
+ m1a3(Local1, c008, z110, ts, 105)
+}
+
+ // Elements of Package are Computational Data
+
+Case (77) {
+ Store(Index(p901, 1, Local0), Local1)
+ m1a3(Local0, c009, z110, ts, 106)
+ m1a3(Local1, c009, z110, ts, 107)
+}
+Case (78) {
+ Store(Index(p904, 1, Local0), Local1)
+ m1a3(Local0, c00b, z110, ts, 108)
+ m1a3(Local1, c00b, z110, ts, 109)
+}
+Case (79) {
+ Store(Index(p905, 0, Local0), Local1)
+ m1a3(Local0, c00c, z110, ts, 110)
+ m1a3(Local1, c00c, z110, ts, 111)
+}
+Case (80) {
+ Store(Index(p90d, 0, Local0), Local1)
+ m1a3(Local0, c009, z110, ts, 112)
+ m1a3(Local1, c009, z110, ts, 113)
+}
+Case (81) {
+ Store(Index(p90e, 0, Local0), Local1)
+ m1a3(Local0, c009, z110, ts, 114)
+ m1a3(Local1, c009, z110, ts, 115)
+}
+Case (82) {
+ Store(Index(p90f, 0, Local0), Local1)
+ m1a3(Local0, c00a, z110, ts, 116)
+ m1a3(Local1, c00a, z110, ts, 117)
+}
+Case (83) {
+ Store(Index(p910, 0, Local0), Local1)
+ m1a3(Local0, c00a, z110, ts, 118)
+ m1a3(Local1, c00a, z110, ts, 119)
+}
+Case (84) {
+ Store(Index(p911, 0, Local0), Local1)
+ m1a3(Local0, c00b, z110, ts, 120)
+ m1a3(Local1, c00b, z110, ts, 121)
+}
+Case (85) {
+ Store(Index(p912, 0, Local0), Local1)
+ m1a3(Local0, c00d, z110, ts, 122)
+ m1a3(Local1, c00d, z110, ts, 123)
+}
+Case (86) {
+ Store(Index(p913, 0, Local0), Local1)
+ m1a3(Local0, c00d, z110, ts, 124)
+ m1a3(Local1, c00d, z110, ts, 125)
+}
+Case (87) {
+ Store(Index(p914, 0, Local0), Local1)
+ m1a3(Local0, c00d, z110, ts, 126)
+ m1a3(Local1, c00d, z110, ts, 127)
+}
+Case (88) {
+ Store(Index(p915, 0, Local0), Local1)
+ m1a3(Local0, c016, z110, ts, 128)
+ m1a3(Local1, c016, z110, ts, 129)
+}
+
+ // Elements of Package are NOT Computational Data
+
+Case (89) {
+ Store(Index(p916, 0, Local0), Local1)
+ m1a3(Local0, c00e, z110, ts, 130)
+ m1a3(Local1, c00e, z110, ts, 131)
+}
+Case (90) {
+ Store(Index(p917, 0, Local0), Local1)
+ m1a3(Local0, c00f, z110, ts, 132)
+ m1a3(Local1, c00f, z110, ts, 133)
+}
+Case (91) {
+ Store(Index(p918, 0, Local0), Local1)
+ m1a3(Local0, c011, z110, ts, 134)
+ m1a3(Local1, c011, z110, ts, 135)
+}
+Case (92) {
+ Store(Index(p919, 0, Local0), Local1)
+ m1a3(Local0, c012, z110, ts, 136)
+ m1a3(Local1, c012, z110, ts, 137)
+}
+Case (93) {
+ Store(Index(p91a, 0, Local0), Local1)
+ m1a3(Local0, c013, z110, ts, 138)
+ m1a3(Local1, c013, z110, ts, 139)
+}
+Case (94) {
+ Store(Index(p91b, 0, Local0), Local1)
+ m1a3(Local0, c014, z110, ts, 140)
+ m1a3(Local1, c014, z110, ts, 141)
+}
+Case (95) {
+ Store(Index(p91c, 0, Local0), Local1)
+ m1a3(Local0, c015, z110, ts, 142)
+ m1a3(Local1, c015, z110, ts, 143)
+}
+
+ // Elements of Package are Methods
+
+Case (96) {
+ Store(Index(p91d, 0, Local0), Local1)
+ m1a3(Local0, c010, z110, ts, 144)
+ m1a3(Local1, c010, z110, ts, 145)
+}
+Case (97) {
+ Store(Index(p91e, 0, Local0), Local1)
+ m1a3(Local0, c010, z110, ts, 146)
+ m1a3(Local1, c010, z110, ts, 147)
+}
+Case (98) {
+ Store(Index(p91f, 0, Local0), Local1)
+ m1a3(Local0, c010, z110, ts, 148)
+ m1a3(Local1, c010, z110, ts, 149)
+}
+Case (99) {
+ Store(Index(p920, 0, Local0), Local1)
+ m1a3(Local0, c010, z110, ts, 150)
+ m1a3(Local1, c010, z110, ts, 151)
+}
+Default {
+ err(ts, z110, 1, 0, 0, ind0, 0)
+}
+
+ } /* Switch */
+
+ Decrement(lpN0)
+ Increment(lpC0)
+
+ } /* While */
+
+
+/*
+ // ################################## Check all the test:
+ _TCI(c201, LLL1)
+ m3a3(LLL0, LLL1, LLL2)
+ m3a4(LLL0, LLL1, LLL2, 0, 0, 0, 0x12345678)
+ // ################################## Check all the test.
+*/
+
+
+ m1a6()
+}
diff --git a/tests/aslts/src/runtime/collections/functional/reference/ref07.asl b/tests/aslts/src/runtime/collections/functional/reference/ref07.asl
new file mode 100644
index 000000000..6c6569bef
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/reference/ref07.asl
@@ -0,0 +1,1462 @@
+/*
+ * 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.
+ */
+
+/*
+ * References
+ *
+ * TEST, Package total
+ */
+
+Name(z116, 116)
+
+/*
+ * Flags and values used by m1c3
+ */
+Name(FL00, 0) // flag of testing of exceptions
+Name(V000, 0) // type of the Standard Data object
+Name(V001, 0) // index of element of Package
+
+/*
+ * Read immediate image element of Package
+ *
+ * Package specified by the immediate
+ * images {Integer, String, Buffer, Package}.
+ * Perform all the ways reading element of
+ * Package passed by ArgX.
+ */
+Method(m1c1)
+{
+ Name(ppp0, Package(4) {
+ 0x77,
+ "qwer0000",
+ Buffer(4) {1,0x77,3,4},
+ Package(3) {5,0x77,7}})
+
+ Store(0, FL00) // flag of testing of exceptions
+
+ Store(c009, V000) // type of the Standard Data object
+ Store(0, V001) // index of element of Package
+ m1c3(ppp0, 0, 0, 0, 0, 0, 0)
+
+ Store(c00a, V000) // type of the Standard Data object
+ Store(1, V001) // index of element of Package
+ m1c3(ppp0, 0, 0, 0, 0, 0, 0)
+
+ Store(c00b, V000) // type of the Standard Data object
+ Store(2, V001) // index of element of Package
+ m1c3(ppp0, 0, 0, 0, 0, 0, 0)
+
+ Store(c00c, V000) // type of the Standard Data object
+ Store(3, V001) // index of element of Package
+ m1c3(ppp0, 0, 0, 0, 0, 0, 0)
+}
+
+/*
+ * Read NamedX element of Package
+ * {Integer, String, Buffer, Package}.
+ */
+Method(m1c2)
+{
+ Name(ts, "m1c2")
+
+ Name(i000, 0x77)
+ Name(s000, "qwer0000")
+ Name(b000, Buffer(4) {1,0x77,3,4})
+ Name(p000, Package(3) {5,0x77,7})
+
+ Name(ppp0, Package(4) {i000, s000, b000, p000})
+
+ Store(0, FL00) // flag of testing of exceptions
+
+ Store(c009, V000) // type of the Standard Data object
+ Store(0, V001) // index of element of Package
+ m1c3(ppp0, 0, 0, 0, 0, 0, 0)
+
+ Store(c00a, V000) // type of the Standard Data object
+ Store(1, V001) // index of element of Package
+ m1c3(ppp0, 0, 0, 0, 0, 0, 0)
+
+ Store(c00b, V000) // type of the Standard Data object
+ Store(2, V001) // index of element of Package
+ m1c3(ppp0, 0, 0, 0, 0, 0, 0)
+
+ Store(c00c, V000) // type of the Standard Data object
+ Store(3, V001) // index of element of Package
+ m1c3(ppp0, 0, 0, 0, 0, 0, 0)
+
+ m380(ts, i000, 0, 0)
+ m381(ts, s000, 0, 1)
+ m382(ts, b000, 0, 2)
+ m383(ts, p000, 0, 3)
+}
+
+// All the ways reading element of Package given by ArgX
+// arg0 - Package
+// arg1,
+// arg2,
+// arg3,
+// arg4,
+// arg5,
+// arg6 - auxiliary, for arbitrary use
+Method(m1c3, 7)
+{
+ Name(ts, "m1c3")
+
+ Name(i000, 0)
+ Name(i001, 0)
+ Name(i002, 0)
+ Name(i003, 0)
+ Name(i004, 0)
+ Name(i005, 0)
+ Name(i006, 0)
+
+ Name(p000, Package(2) {})
+ Name(ppp0, Package(2) {})
+
+
+ // LocalX
+
+ Store(Index(arg0, V001), Local3)
+ m390(DerefOf(Local3), V000, 0, 4)
+ Store(DerefOf(Local3), Local4)
+ m390(Local4, V000, 0, 5)
+ m390(DerefOf(Index(arg0, V001)), V000, 0, 6)
+ Store(Index(arg0, V001, Local2), Local3)
+ m390(DerefOf(Local3), V000, 0, 7)
+ Store(DerefOf(Local3), Local4)
+ m390(Local4, V000, 0, 8)
+ m390(DerefOf(Local2), V000, 0, 9)
+ Store(DerefOf(Local2), Local4)
+ m390(Local4, V000, 0, 10)
+
+ // ArgX
+
+ Store(Index(arg0, V001), arg3)
+ m390(DerefOf(arg3), V000, 0, 11)
+ Store(DerefOf(arg3), arg4)
+ m390(arg4, V000, 0, 12)
+ m390(DerefOf(Index(arg0, V001)), V000, 0, 13)
+ Store(Index(arg0, V001, arg2), arg3)
+ m390(DerefOf(arg3), V000, 0, 14)
+ Store(DerefOf(arg3), arg4)
+ m390(arg4, V000, 0, 15)
+ m390(DerefOf(arg2), V000, 0, 16)
+ Store(DerefOf(arg2), arg4)
+ m390(arg4, V000, 0, 17)
+
+ // NamedX
+
+ if (y127) {
+ CopyObject(Index(ppp0, 0), i003)
+ Store(Index(arg0, V001), i003)
+ m390(DerefOf(i003), V000, 0, 18)
+ Store(DerefOf(i003), i004)
+ m390(i004, V000, 0, 19)
+ m390(DerefOf(Index(arg0, V001)), V000, 0, 20)
+ Store(Index(arg0, V001, i002), i003)
+ m390(DerefOf(i003), V000, 0, 21)
+ Store(DerefOf(i003), i004)
+ m390(i004, V000, 0, 22)
+ m390(DerefOf(i002), V000, 0, 23)
+ Store(DerefOf(i002), i004)
+ m390(i004, V000, 0, 24)
+ }
+
+ /*
+ * El_of_Package
+ *
+ * Identical to the first checking, but only
+ * store intermediately the references to element
+ * of Package arg0 Index(arg0, x) into Index(p000, y)
+ * but not into LocalX.
+ */
+
+ Store(Index(arg0, V001, Index(p000, 0)), Index(p000, 1))
+
+ // DerefOf(DerefOf(Index(x,Destination)))
+
+ m390(DerefOf(DerefOf(Index(p000, 0))), V000, 0, 25)
+
+ // DerefOf(DerefOf(Index(x,Result)))
+
+ m390(DerefOf(DerefOf(Index(p000, 1))), V000, 0, 26)
+
+ // El_of_Package, Destination, LocalX
+
+ /*
+ * After Store(Index(p000, 0), Local5)
+ * Local5 below - reference to element of
+ * Package p000 containing reference to the
+ * 0-th element of Arg0-Package.
+ *
+ * Correspondingly, after Store(DerefOf(Local5), Local3)
+ * Local3 - reference to the 0-th element of Arg0-Package.
+ *
+ * Further, DerefOf(Local3) - 0-th element of Arg0-Package.
+ */
+
+ if (FL00) {
+ Store(Index(p000, 0), Local5)
+
+ CH03(ts, z116, 0, 0, 0)
+ Add(Local5, 1, Local6)
+ CH04(ts, 0, 0xff, z116, 1, 0, 0)
+
+ CH03(ts, z116, 2, 0, 0)
+ Add(DerefOf(Local5), 1, Local6)
+ CH04(ts, 0, 0xff, z116, 3, 0, 0)
+
+ CH03(ts, z116, 4, 0, 0)
+ m390(Local5, V000, 0, 0)
+ CH04(ts, 0, 0xff, z116, 5, 0, 0)
+
+ CH03(ts, z116, 6, 0, 0)
+ m390(DerefOf(Local5), V000, 0, 0)
+ CH04(ts, 0, 0xff, z116, 7, 0, 0)
+
+ Store(Index(p000, 0, Local2), Local5)
+
+ CH03(ts, z116, 8, 0, 0)
+ Add(Local5, 1, Local6)
+ CH04(ts, 0, 0xff, z116, 9, 0, 0)
+
+ CH03(ts, z116, 10, 0, 0)
+ Add(DerefOf(Local5), 1, Local6)
+ CH04(ts, 0, 0xff, z116, 11, 0, 0)
+
+ CH03(ts, z116, 12, 0, 0)
+ m390(Local5, V000, 0, 0)
+ CH04(ts, 0, 0xff, z116, 13, 0, 0)
+
+ CH03(ts, z116, 14, 0, 0)
+ m390(DerefOf(Local5), V000, 0, 0)
+ CH04(ts, 0, 0xff, z116, 15, 0, 0)
+
+ CH03(ts, z116, 16, 0, 0)
+ Add(Local2, 1, Local6)
+ CH04(ts, 0, 0xff, z116, 17, 0, 0)
+
+ CH03(ts, z116, 18, 0, 0)
+ Add(DerefOf(Local2), 1, Local6)
+ CH04(ts, 0, 0xff, z116, 19, 0, 0)
+
+ CH03(ts, z116, 20, 0, 0)
+ m390(Local2, V000, 0, 0)
+ CH04(ts, 0, 0xff, z116, 21, 0, 0)
+
+ CH03(ts, z116, 22, 0, 0)
+ m390(DerefOf(Local2), V000, 0, 0)
+ CH04(ts, 0, 0xff, z116, 23, 0, 0)
+ }
+
+ if (q001) {
+
+ Store(Index(p000, 0), Local5)
+
+ Store(DerefOf(Local5), Local3)
+ m390(DerefOf(Local3), V000, 0, 27)
+ Store(DerefOf(Local3), Local4)
+ m390(Local4, V000, 0, 28)
+
+ Store(Index(p000, 0, Local2), Local5)
+
+ Store(DerefOf(Local5), Local3)
+ m390(DerefOf(Local3), V000, 0, 29)
+ Store(DerefOf(Local3), Local4)
+ m390(Local4, V000, 0, 30)
+
+ Store(DerefOf(Local2), Local3)
+ m390(DerefOf(Local3), V000, 0, 31)
+ Store(DerefOf(Local3), Local4)
+ m390(Local4, V000, 0, 32)
+
+ } /* if(q001) */
+
+ // El_of_Package, Result, LocalX
+
+ if (FL00) {
+ Store(Index(p000, 1), Local5)
+
+ CH03(ts, z116, 24, 0, 0)
+ Add(Local5, 1, Local6)
+ CH04(ts, 0, 0xff, z116, 25, 0, 0)
+
+ CH03(ts, z116, 26, 0, 0)
+ Add(DerefOf(Local5), 1, Local6)
+ CH04(ts, 0, 0xff, z116, 27, 0, 0)
+
+ CH03(ts, z116, 28, 0, 0)
+ m390(Local5, V000, 0, 33)
+ CH04(ts, 0, 0xff, z116, 29, 0, 0)
+
+ CH03(ts, z116, 30, 0, 0)
+ m390(DerefOf(Local5), V000, 0, 34)
+ CH04(ts, 0, 0xff, z116, 31, 0, 0)
+
+ Store(Index(p000, 1, Local2), Local5)
+
+ CH03(ts, z116, 32, 0, 0)
+ Add(Local5, 1, Local6)
+ CH04(ts, 0, 0xff, z116, 33, 0, 0)
+
+ CH03(ts, z116, 34, 0, 0)
+ Add(DerefOf(Local5), 1, Local6)
+ CH04(ts, 0, 0xff, z116, 35, 0, 0)
+
+ CH03(ts, z116, 36, 0, 0)
+ m390(Local5, V000, 0, 35)
+ CH04(ts, 0, 0xff, z116, 37, 0, 0)
+
+ CH03(ts, z116, 38, 0, 0)
+ m390(DerefOf(Local5), V000, 0, 36)
+ CH04(ts, 0, 0xff, z116, 39, 0, 0)
+
+ CH03(ts, z116, 40, 0, 0)
+ Add(Local2, 1, Local6)
+ CH04(ts, 0, 0xff, z116, 41, 0, 0)
+
+ CH03(ts, z116, 42, 0, 0)
+ Add(DerefOf(Local2), 1, Local6)
+ CH04(ts, 0, 0xff, z116, 43, 0, 0)
+
+ CH03(ts, z116, 44, 0, 0)
+ m390(Local2, V000, 0, 37)
+ CH04(ts, 0, 0xff, z116, 45, 0, 0)
+
+ CH03(ts, z116, 46, 0, 0)
+ m390(DerefOf(Local2), V000, 0, 38)
+ CH04(ts, 0, 0xff, z116, 47, 0, 0)
+ }
+
+ if (q001) {
+
+ Store(Index(p000, 1), Local5)
+
+ Store(DerefOf(Local5), Local3)
+ m390(DerefOf(Local3), V000, 0, 39)
+ Store(DerefOf(Local3), Local4)
+ m390(Local4, V000, 0, 40)
+
+ Store(Index(p000, 1, Local2), Local5)
+
+ Store(DerefOf(Local5), Local3)
+ m390(DerefOf(Local3), V000, 0, 41)
+ Store(DerefOf(Local3), Local4)
+ m390(Local4, V000, 0, 42)
+
+ Store(DerefOf(Local2), Local3)
+ m390(DerefOf(Local3), V000, 0, 43)
+ Store(DerefOf(Local3), Local4)
+ m390(Local4, V000, 0, 44)
+
+ } /* if(q001) */
+
+ // El_of_Package, Destination, argX
+
+ if (FL00) {
+ Store(Index(p000, 0), arg5)
+
+ CH03(ts, z116, 48, 0, 0)
+ Add(arg5, 1, arg6)
+ CH04(ts, 0, 0xff, z116, 49, 0, 0)
+
+ CH03(ts, z116, 50, 0, 0)
+ Add(DerefOf(arg5), 1, arg6)
+ CH04(ts, 0, 0xff, z116, 51, 0, 0)
+
+ CH03(ts, z116, 52, 0, 0)
+ m390(arg5, V000, 0, 45)
+ CH04(ts, 0, 0xff, z116, 53, 0, 0)
+
+ CH03(ts, z116, 54, 0, 0)
+ m390(DerefOf(arg5), V000, 0, 46)
+ CH04(ts, 0, 0xff, z116, 55, 0, 0)
+
+ Store(Index(p000, 0, arg2), arg5)
+
+ CH03(ts, z116, 56, 0, 0)
+ Add(arg5, 1, arg6)
+ CH04(ts, 0, 0xff, z116, 57, 0, 0)
+
+ CH03(ts, z116, 58, 0, 0)
+ Add(DerefOf(arg5), 1, arg6)
+ CH04(ts, 0, 0xff, z116, 59, 0, 0)
+
+ CH03(ts, z116, 60, 0, 0)
+ m390(arg5, V000, 0, 47)
+ CH04(ts, 0, 0xff, z116, 61, 0, 0)
+
+ CH03(ts, z116, 62, 0, 0)
+ m390(DerefOf(arg5), V000, 0, 48)
+ CH04(ts, 0, 0xff, z116, 63, 0, 0)
+
+ CH03(ts, z116, 64, 0, 0)
+ Add(arg2, 1, arg6)
+ CH04(ts, 0, 0xff, z116, 65, 0, 0)
+
+ CH03(ts, z116, 66, 0, 0)
+ Add(DerefOf(arg2), 1, arg6)
+ CH04(ts, 0, 0xff, z116, 67, 0, 0)
+
+ CH03(ts, z116, 68, 0, 0)
+ m390(arg2, V000, 0, 49)
+ CH04(ts, 0, 0xff, z116, 69, 0, 0)
+
+ CH03(ts, z116, 70, 0, 0)
+ m390(DerefOf(arg2), V000, 0, 50)
+ CH04(ts, 0, 0xff, z116, 71, 0, 0)
+ }
+
+ if (q001) {
+
+ Store(Index(p000, 0), arg5)
+
+ Store(DerefOf(arg5), arg3)
+ m390(DerefOf(arg3), V000, 0, 51)
+ Store(DerefOf(arg3), arg4)
+ m390(arg4, V000, 0, 52)
+
+ Store(Index(p000, 0, arg2), arg5)
+
+ Store(DerefOf(arg5), arg3)
+ m390(DerefOf(arg3), V000, 0, 53)
+ Store(DerefOf(arg3), arg4)
+ m390(arg4, V000, 0, 54)
+
+ Store(DerefOf(arg2), arg3)
+ m390(DerefOf(arg3), V000, 0, 55)
+ Store(DerefOf(arg3), arg4)
+ m390(arg4, V000, 0, 56)
+
+ } /* if(q001) */
+
+ // El_of_Package, Result, argX
+
+ if (FL00) {
+ Store(Index(p000, 1), arg5)
+
+ CH03(ts, z116, 72, 0, 0)
+ Add(arg5, 1, arg6)
+ CH04(ts, 0, 0xff, z116, 73, 0, 0)
+
+ CH03(ts, z116, 74, 0, 0)
+ Add(DerefOf(arg5), 1, arg6)
+ CH04(ts, 0, 0xff, z116, 75, 0, 0)
+
+ CH03(ts, z116, 76, 0, 0)
+ m390(arg5, V000, 0, 57)
+ CH04(ts, 0, 0xff, z116, 77, 0, 0)
+
+ CH03(ts, z116, 78, 0, 0)
+ m390(DerefOf(arg5), V000, 0, 58)
+ CH04(ts, 0, 0xff, z116, 79, 0, 0)
+
+ Store(Index(p000, 1, arg2), arg5)
+
+ CH03(ts, z116, 80, 0, 0)
+ Add(arg5, 1, arg6)
+ CH04(ts, 0, 0xff, z116, 81, 0, 0)
+
+ CH03(ts, z116, 82, 0, 0)
+ Add(DerefOf(arg5), 1, arg6)
+ CH04(ts, 0, 0xff, z116, 83, 0, 0)
+
+ CH03(ts, z116, 84, 0, 0)
+ m390(arg5, V000, 0, 59)
+ CH04(ts, 0, 0xff, z116, 85, 0, 0)
+
+ CH03(ts, z116, 86, 0, 0)
+ m390(DerefOf(arg5), V000, 0, 60)
+ CH04(ts, 0, 0xff, z116, 87, 0, 0)
+
+ CH03(ts, z116, 88, 0, 0)
+ Add(arg2, 1, arg6)
+ CH04(ts, 0, 0xff, z116, 89, 0, 0)
+
+ CH03(ts, z116, 90, 0, 0)
+ Add(DerefOf(arg2), 1, arg6)
+ CH04(ts, 0, 0xff, z116, 91, 0, 0)
+
+ CH03(ts, z116, 92, 0, 0)
+ m390(arg2, V000, 0, 61)
+ CH04(ts, 0, 0xff, z116, 93, 0, 0)
+
+ CH03(ts, z116, 94, 0, 0)
+ m390(DerefOf(arg2), V000, 0, 62)
+ CH04(ts, 0, 0xff, z116, 95, 0, 0)
+ }
+
+ if (q001) {
+
+ Store(Index(p000, 1), arg5)
+
+ Store(DerefOf(arg5), arg3)
+ m390(DerefOf(arg3), V000, 0, 63)
+ Store(DerefOf(arg3), arg4)
+ m390(arg4, V000, 0, 64)
+
+ Store(Index(p000, 1, arg2), arg5)
+
+ Store(DerefOf(arg5), arg3)
+ m390(DerefOf(arg3), V000, 0, 65)
+ Store(DerefOf(arg3), arg4)
+ m390(arg4, V000, 0, 66)
+
+ Store(DerefOf(arg2), arg3)
+ m390(DerefOf(arg3), V000, 0, 67)
+ Store(DerefOf(arg3), arg4)
+ m390(arg4, V000, 0, 68)
+
+ } /* if(q001) */
+
+ if (y127) {
+
+ // El_of_Package, Destination, NamedX
+
+ if (FL00) {
+ CopyObject(Index(ppp0, 0), i005)
+ Store(Index(p000, 0), i005)
+
+ CH03(ts, z116, 96, 0, 0)
+ Add(i005, 1, i006)
+ CH04(ts, 0, 0xff, z116, 97, 0, 0)
+
+ CH03(ts, z116, 98, 0, 0)
+ Add(DerefOf(i005), 1, i006)
+ CH04(ts, 0, 0xff, z116, 99, 0, 0)
+
+ CH03(ts, z116, 100, 0, 0)
+ m390(i005, V000, 0, 69)
+ CH04(ts, 0, 0xff, z116, 101, 0, 0)
+
+ CH03(ts, z116, 102, 0, 0)
+ m390(DerefOf(i005), V000, 0, 70)
+ CH04(ts, 0, 0xff, z116, 103, 0, 0)
+
+ Store(Index(p000, 0, i002), i005)
+
+ CH03(ts, z116, 104, 0, 0)
+ Add(i005, 1, i006)
+ CH04(ts, 0, 0xff, z116, 105, 0, 0)
+
+ CH03(ts, z116, 106, 0, 0)
+ Add(DerefOf(i005), 1, i006)
+ CH04(ts, 0, 0xff, z116, 107, 0, 0)
+
+ CH03(ts, z116, 108, 0, 0)
+ m390(i005, V000, 0, 71)
+ CH04(ts, 0, 0xff, z116, 109, 0, 0)
+
+ CH03(ts, z116, 110, 0, 0)
+ m390(DerefOf(i005), V000, 0, 72)
+ CH04(ts, 0, 0xff, z116, 111, 0, 0)
+
+ CH03(ts, z116, 112, 0, 0)
+ Add(i002, 1, i006)
+ CH04(ts, 0, 0xff, z116, 113, 0, 0)
+
+ CH03(ts, z116, 114, 0, 0)
+ Add(DerefOf(i002), 1, i006)
+ CH04(ts, 0, 0xff, z116, 115, 0, 0)
+
+ CH03(ts, z116, 116, 0, 0)
+ m390(i002, V000, 0, 73)
+ CH04(ts, 0, 0xff, z116, 117, 0, 0)
+
+ CH03(ts, z116, 118, 0, 0)
+ m390(DerefOf(i002), V000, 0, 74)
+ CH04(ts, 0, 0xff, z116, 119, 0, 0)
+ }
+
+ if (q001) {
+
+ Store(Index(p000, 0), i005)
+
+ Store(DerefOf(i005), i003)
+ m390(DerefOf(i003), V000, 0, 75)
+ Store(DerefOf(i003), i004)
+ m390(i004, V000, 0, 76)
+
+ Store(Index(p000, 0, i002), i005)
+
+ Store(DerefOf(i005), i003)
+ m390(DerefOf(i003), V000, 0, 77)
+ Store(DerefOf(i003), i004)
+ m390(i004, V000, 0, 78)
+
+ Store(DerefOf(i002), i003)
+ m390(DerefOf(i003), V000, 0, 79)
+ Store(DerefOf(i003), i004)
+ m390(i004, V000, 0, 80)
+
+ } /* if(q001) */
+
+ // El_of_Package, Result, NamedX
+
+ if (FL00) {
+ Store(Index(p000, 1), i005)
+
+ CH03(ts, z116, 120, 0, 0)
+ Add(i005, 1, i006)
+ CH04(ts, 0, 0xff, z116, 121, 0, 0)
+
+ CH03(ts, z116, 122, 0, 0)
+ Add(DerefOf(i005), 1, i006)
+ CH04(ts, 0, 0xff, z116, 123, 0, 0)
+
+ CH03(ts, z116, 124, 0, 0)
+ m390(i005, V000, 0, 81)
+ CH04(ts, 0, 0xff, z116, 125, 0, 0)
+
+ CH03(ts, z116, 126, 0, 0)
+ m390(DerefOf(i005), V000, 0, 82)
+ CH04(ts, 0, 0xff, z116, 127, 0, 0)
+
+ Store(Index(p000, 1, i002), i005)
+
+ CH03(ts, z116, 128, 0, 0)
+ Add(i005, 1, i006)
+ CH04(ts, 0, 0xff, z116, 129, 0, 0)
+
+ CH03(ts, z116, 130, 0, 0)
+ Add(DerefOf(i005), 1, i006)
+ CH04(ts, 0, 0xff, z116, 131, 0, 0)
+
+ CH03(ts, z116, 132, 0, 0)
+ m390(i005, V000, 0, 83)
+ CH04(ts, 0, 0xff, z116, 133, 0, 0)
+
+ CH03(ts, z116, 134, 0, 0)
+ m390(DerefOf(i005), V000, 0, 84)
+ CH04(ts, 0, 0xff, z116, 135, 0, 0)
+
+ CH03(ts, z116, 136, 0, 0)
+ Add(i002, 1, i006)
+ CH04(ts, 0, 0xff, z116, 137, 0, 0)
+
+ CH03(ts, z116, 138, 0, 0)
+ Add(DerefOf(i002), 1, i006)
+ CH04(ts, 0, 0xff, z116, 139, 0, 0)
+
+ CH03(ts, z116, 140, 0, 0)
+ m390(i002, V000, 0, 85)
+ CH04(ts, 0, 0xff, z116, 141, 0, 0)
+
+ CH03(ts, z116, 142, 0, 0)
+ m390(DerefOf(i002), V000, 0, 86)
+ CH04(ts, 0, 0xff, z116, 143, 0, 0)
+ }
+
+ if (q001) {
+
+ Store(Index(p000, 1), i005)
+
+ Store(DerefOf(i005), i003)
+ m390(DerefOf(i003), V000, 0, 87)
+ Store(DerefOf(i003), i004)
+ m390(i004, V000, 0, 88)
+
+ Store(Index(p000, 1, i002), i005)
+
+ Store(DerefOf(i005), i003)
+ m390(DerefOf(i003), V000, 0, 89)
+ Store(DerefOf(i003), i004)
+ m390(i004, V000, 0, 90)
+
+ Store(DerefOf(i002), i003)
+ m390(DerefOf(i003), V000, 0, 91)
+ Store(DerefOf(i003), i004)
+ m390(i004, V000, 0, 92)
+
+ } /* if(q001) */
+ } /* if(y127) */
+}
+
+// Check Uninitialized element of Package
+Method(m1c4)
+{
+ Name(ppp0, Package(10) {
+ 0x77,
+ "qwer0000",
+ Buffer(4) {1,0x77,3,4},
+ Package(3) {5,0x77,7}})
+
+ Method(m000, 2)
+ {
+ Store(Index(arg0, arg1), Local0)
+ m1a3(Local0, c008, z116, "m1c4", 93)
+ }
+
+ m000(ppp0, 4)
+ m000(ppp0, 5)
+ m000(ppp0, 6)
+ m000(ppp0, 7)
+ m000(ppp0, 8)
+ m000(ppp0, 9)
+}
+
+// The chain of Index_References
+Method(m1c5)
+{
+ Name(ppp0, Package(4) {
+ 0x77,
+ "qwer0000",
+ Buffer(4) {1,0x77,3,4},
+ Package(3) {5,0x77,7}})
+
+ Name(p000, Package(20) {})
+
+ Store(Index(ppp0, 0), Index(p000, 0))
+ m390(DerefOf(DerefOf(Index(p000, 0))), c009, z116, 94)
+
+ if (q002) {
+ Store(Index(p000, 0), Index(p000, 1))
+ m390(DerefOf(DerefOf(DerefOf(Index(p000, 1)))), c009, z116, 95)
+
+ Store(Index(p000, 1), Index(p000, 2))
+ m390(DerefOf(DerefOf(DerefOf(DerefOf(Index(p000, 2))))), c009, z116, 96)
+
+ Store(Index(p000, 2), Index(p000, 3))
+ m390(DerefOf(DerefOf(DerefOf(DerefOf(DerefOf(Index(p000, 3)))))), c009, z116, 97)
+
+ Store(Index(p000, 3), Index(p000, 4))
+ m390(DerefOf(DerefOf(DerefOf(DerefOf(DerefOf(DerefOf(Index(p000, 4))))))), c009, z116, 98)
+
+ Store(Index(p000, 4), Index(p000, 5))
+ m390(DerefOf(DerefOf(DerefOf(DerefOf(DerefOf(DerefOf(DerefOf(Index(p000, 5)))))))), c009, z116, 99)
+
+ Store(Index(p000, 5), Index(p000, 6))
+ m390(DerefOf(DerefOf(DerefOf(DerefOf(DerefOf(DerefOf(DerefOf(DerefOf(Index(p000, 6))))))))), c009, z116, 100)
+
+ Store(Index(p000, 6), Index(p000, 7))
+ m390(DerefOf(DerefOf(DerefOf(DerefOf(DerefOf(DerefOf(DerefOf(DerefOf(DerefOf(Index(p000, 7)))))))))), c009, z116, 101)
+ }
+
+ m390(DerefOf(DerefOf(Index(p000, 0))), c009, z116, 102)
+
+ if (q002) {
+ m390(DerefOf(DerefOf(DerefOf(Index(p000, 1)))), c009, z116, 103)
+ m390(DerefOf(DerefOf(DerefOf(DerefOf(Index(p000, 2))))), c009, z116, 104)
+ m390(DerefOf(DerefOf(DerefOf(DerefOf(DerefOf(Index(p000, 3)))))), c009, z116, 105)
+ m390(DerefOf(DerefOf(DerefOf(DerefOf(DerefOf(DerefOf(Index(p000, 4))))))), c009, z116, 106)
+ m390(DerefOf(DerefOf(DerefOf(DerefOf(DerefOf(DerefOf(DerefOf(Index(p000, 5)))))))), c009, z116, 107)
+ m390(DerefOf(DerefOf(DerefOf(DerefOf(DerefOf(DerefOf(DerefOf(DerefOf(Index(p000, 6))))))))), c009, z116, 108)
+ m390(DerefOf(DerefOf(DerefOf(DerefOf(DerefOf(DerefOf(DerefOf(DerefOf(DerefOf(Index(p000, 7)))))))))), c009, z116, 109)
+ }
+}
+
+// Access to the Method named object element of Package
+
+// Methods without parameters
+Method(m1c7)
+{
+ Name(ts, "m1c7")
+
+ Name(i000, 0x77)
+ Method(m000) {
+ Store(0, i000)
+ }
+ Method(m001) {
+ Store(1, i000)
+ return (0x12345678)
+ }
+
+ Method(m002) {
+ Store(0, i000)
+ }
+ Method(m003) {
+ Store(1, i000)
+ return (0x12345678)
+ }
+
+ Name(p000, Package() {m000, m001, m002, m003,
+ m000, m001, m002, m003,
+ i000, i000})
+
+
+ Store(Index(p000, 0), Local0)
+ m1a3(Local0, c010, z116, ts, 110)
+
+ Store(Index(p000, 1), Local0)
+ m1a3(Local0, c010, z116, ts, 111)
+
+ Store(Index(p000, 2), Local0)
+ m1a3(Local0, c010, z116, ts, 112)
+
+ Store(Index(p000, 3), Local0)
+ m1a3(Local0, c010, z116, ts, 113)
+
+ Store(Index(p000, 4), Local0)
+ m1a3(Local0, c010, z116, ts, 114)
+
+ Store(Index(p000, 5), Local0)
+ m1a3(Local0, c010, z116, ts, 115)
+
+ Store(Index(p000, 6), Local0)
+ m1a3(Local0, c010, z116, ts, 116)
+
+ Store(Index(p000, 7), Local0)
+ m1a3(Local0, c010, z116, ts, 117)
+
+ Store(Index(p000, 8), Local0)
+ m1a3(Local0, c009, z116, ts, 118)
+
+ Store(Index(p000, 9), Local0)
+ m1a3(Local0, c009, z116, ts, 119)
+
+ m380(ts, i000, 0, 0)
+}
+
+// CURRENTLY: compiler failed, Too few arguments (M002 requires X)
+// Methods with parameters
+Method(m1c8)
+{
+ Name(ts, "m1c8")
+
+/*
+ Name(i000, 0x77)
+ Method(m000) {
+ Store(0, i000)
+ }
+ Method(m001) {
+ Store(1, i000)
+ return (0x12345678)
+ }
+
+ Method(m002, 1) {
+ Store(arg0, i000)
+ Store(0, i000)
+ }
+ Method(m003, 7) {
+ Store(arg0, i000)
+ Store(arg1, i000)
+ Store(arg2, i000)
+ Store(arg3, i000)
+ Store(arg4, i000)
+ Store(arg5, i000)
+ Store(arg6, i000)
+ Store(1, i000)
+ return (0x12345678)
+ }
+
+
+ Name(p000, Package() {m000, m001, m002, m003,
+ m000, m001, m002, m003,
+ i000, i000})
+
+
+ Store(Index(p000, 0), Local0)
+ m1a3(Local0, c010, z116, ts, `120)
+
+ Store(Index(p000, 1), Local0)
+ m1a3(Local0, c010, z116, ts, 121)
+
+ Store(Index(p000, 2), Local0)
+ m1a3(Local0, c010, z116, ts, 122)
+
+ Store(Index(p000, 3), Local0)
+ m1a3(Local0, c010, z116, ts, 123)
+
+ Store(Index(p000, 4), Local0)
+ m1a3(Local0, c010, z116, ts, 124)
+
+ Store(Index(p000, 5), Local0)
+ m1a3(Local0, c010, z116, ts, 125)
+
+ Store(Index(p000, 6), Local0)
+ m1a3(Local0, c010, z116, ts, 126)
+
+ Store(Index(p000, 7), Local0)
+ m1a3(Local0, c010, z116, ts, 127)
+
+ Store(Index(p000, 8), Local0)
+ m1a3(Local0, c009, z116, ts, 128)
+
+ Store(Index(p000, 9), Local0)
+ m1a3(Local0, c009, z116, ts, 129)
+
+ m380(ts, i000, 0, 130)
+*/
+}
+
+// DerefOf of the Method named object element of Package
+Method(m1c9)
+{
+ Name(ts, "m1c9")
+
+ Name(i000, 0x77)
+ Method(m000) {
+ Store(0, i000)
+ }
+ Method(m001) {
+ Store(1, i000)
+ return (0x12345678)
+ }
+
+ Method(m002) {
+ Store(0, i000)
+ }
+ Method(m003) {
+ Store(1, i000)
+ return (0x12345678)
+ }
+
+ Name(p000, Package() {m000, m001, m002, m003,
+ m000, m001, m002, m003,
+ i000, i000})
+
+
+ Store(Index(p000, 0), Local0)
+ m1a3(Local0, c010, z116, ts, 131)
+ CH03(ts, z116, 144, 0, 0)
+ Store(DerefOf(Local0), Local1)
+ CH04(ts, 0, 0xff, z116, 145, 0, 0)
+
+ Store(Index(p000, 1), Local0)
+ m1a3(Local0, c010, z116, ts, 132)
+ CH03(ts, z116, 146, 0, 0)
+ Store(DerefOf(Local0), Local1)
+ CH04(ts, 0, 0xff, z116, 147, 0, 0)
+
+ Store(Index(p000, 2), Local0)
+ m1a3(Local0, c010, z116, ts, 133)
+ CH03(ts, z116, 148, 0, 0)
+ Store(DerefOf(Local0), Local1)
+ CH04(ts, 0, 0xff, z116, 149, 0, 0)
+
+ Store(Index(p000, 3), Local0)
+ m1a3(Local0, c010, z116, ts, 134)
+ CH03(ts, z116, 150, 0, 0)
+ Store(DerefOf(Local0), Local1)
+ CH04(ts, 0, 0xff, z116, 151, 0, 0)
+
+ Store(Index(p000, 4), Local0)
+ m1a3(Local0, c010, z116, ts, 135)
+ CH03(ts, z116, 152, 0, 0)
+ Store(DerefOf(Local0), Local1)
+ CH04(ts, 0, 0xff, z116, 153, 0, 0)
+
+ Store(Index(p000, 5), Local0)
+ m1a3(Local0, c010, z116, ts, 136)
+ CH03(ts, z116, 154, 0, 0)
+ Store(DerefOf(Local0), Local1)
+ CH04(ts, 0, 0xff, z116, 155, 0, 0)
+
+ Store(Index(p000, 6), Local0)
+ m1a3(Local0, c010, z116, ts, 137)
+ CH03(ts, z116, 156, 0, 0)
+ Store(DerefOf(Local0), Local1)
+ CH04(ts, 0, 0xff, z116, 157, 0, 0)
+
+ Store(Index(p000, 7), Local0)
+ m1a3(Local0, c010, z116, ts, 138)
+ CH03(ts, z116, 158, 0, 0)
+ Store(DerefOf(Local0), Local1)
+ CH04(ts, 0, 0xff, z116, 159, 0, 0)
+
+ m380(ts, i000, 0, 139)
+}
+
+// Size of Package
+Method(m1ca)
+{
+ Name(ts, "m1ca")
+
+ Method(m000, 1)
+ {
+ Name(p000, Package(arg0) {})
+
+ CH03(ts, z116, 160, 0, 0)
+ Store(Index(p000, arg0), Local0)
+ CH04(ts, 0, 0xff, z116, 161, 0, 0)
+ }
+
+ Method(m001, 1)
+ {
+ Name(p000, Package(Arg0) {})
+
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+
+ // Write each element of Package with its index
+
+ Store(arg0, lpN0)
+ Store(0, lpC0)
+
+ While (lpN0) {
+ Store(lpC0, Index(p000, lpC0))
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+
+ // Verify each element of Package
+
+ Store(arg0, lpN0)
+ Store(0, lpC0)
+
+ While (lpN0) {
+ Store(Index(p000, lpC0), Local0)
+ Store(DerefOf(Local0), Local1)
+ if (LNotEqual(Local1, lpC0)) {
+ err(ts, z116, 0, z116, 0, Local1, lpC0)
+ break
+ }
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+ }
+
+ Method(m003)
+ {
+ Name(p000, Package(2) {})
+
+ CH03(ts, z116, 162, 0, 0)
+ Store(Index(p000, 2), Local0)
+ CH04(ts, 0, 0xff, z116, 163, 0, 0)
+ }
+
+ Method(m004)
+ {
+ Name(p000, Package(255) {})
+
+ CH03(ts, z116, 164, 0, 0)
+ Store(Index(p000, 255), Local0)
+ CH04(ts, 0, 0xff, z116, 165, 0, 0)
+ }
+
+ // Size not greater than 255
+
+ m000(1)
+ m000(8)
+ m000(127)
+ m000(255)
+
+ m003()
+ m004()
+
+ // VarPackage: size of Package greater than 255
+ // (bug 129, not a bug)
+
+ m001(256)
+}
+
+// Size of Package, see comma "6,})"
+Method(m1cb)
+{
+ Name(ts, "m1cb")
+
+ Name(p000, Package() {1,2,3,4,5,6,})
+
+ Store(SizeOf(p000), Local0)
+ if (LNotEqual(Local0, 6)) {
+ err(ts, z116, 1, 0, 0, Local0, 6)
+ }
+}
+
+// Check the read automatic dereference
+// arg0 - name of Method initiating the checking
+// arg1 - Oref or IRef
+// arg2 - expected value
+// arg3 - exception is expected
+Method(m1cc, 4)
+{
+ CH03(arg0, z116, 166, 0, 0)
+
+ Store(arg1, Local0)
+ Add(Local0, 1, Local7)
+
+ if (LNotEqual(Local7, arg2)) {
+ err(arg0, z116, 2, 0, 0, Local7, arg2)
+ }
+
+ CH03(arg0, z116, 167, 0, 0)
+}
+
+// Check the read automatic dereference
+// arg0 - name of Method initiating the checking
+// arg1 - Oref or IRef
+// arg2 - expected value
+// arg3 - exception is expected
+Method(m1cd, 4)
+{
+ CH03(arg0, z116, 168, 0, 0)
+
+ Add(arg1, 1, Local7)
+
+ if (LNotEqual(Local7, arg2)) {
+ err(arg0, z116, 3, 0, 0, Local7, arg2)
+ }
+
+ CH03(arg0, z116, 169, 0, 0)
+}
+
+// Check the read automatic dereference
+// when accessing element of Package.
+
+Method(m1ce)
+{
+ Name(ts, "m1ce")
+
+ Name(p000, Package(1) {0x77})
+
+ m1cc(ts, Index(p000, 0, Local0), 0x78, 0)
+ m1cd(ts, Index(p000, 0), 0x78, 0)
+}
+
+Method(m1cf)
+{
+ Name(ts, "m1cf")
+
+ Name(p000, Package(1) {0x77})
+
+ Index(p000, 0, Local0)
+ m1cc(ts, Local0, 0x78, 0)
+ m1cd(ts, Local0, 0x78, 0)
+
+ Store(Index(p000, 0, Local0), Local1)
+ m1cc(ts, Local0, 0x78, 0)
+ m1cd(ts, Local0, 0x78, 0)
+
+ m1cc(ts, Local1, 0x78, 0)
+ m1cd(ts, Local1, 0x78, 0)
+}
+
+Method(m1d0)
+{
+ Name(ts, "m1d0")
+
+ Name(p000, Package(1) {0x77})
+
+ CopyObject(Index(p000, 0, Local0), Local1)
+ m1cc(ts, Local0, 0x78, 0)
+ m1cd(ts, Local0, 0x78, 0)
+
+ m1cc(ts, Local1, 0x78, 0)
+ m1cd(ts, Local1, 0x78, 0)
+}
+
+
+// EXCEPTIONS
+
+
+// ref07.asl 1093: Add(Index(p000, 0, Local0), 1, Local7)
+// Error 1035 - Invalid type ^ ([Reference] found,
+// Add operator requires [Integer|String|Buffer])
+/*
+ * Method(m1d1)
+ * {
+ * Name(p000, Package(1) {0x77})
+ * CH03(ts, z116, 170, 0, 0)
+ * Add(Index(p000, 0, Local0), 1, Local7)
+ * CH04(ts, 0, 0xff, z116, 171, 0, 0)
+ * }
+ */
+
+// LocalX
+
+Method(m1d1)
+{
+ Name(ts, "m1d1")
+
+ Name(p000, Package(1) {0x77})
+
+ Store(Index(p000, 0, Local0), Local1)
+
+ CH03(ts, z116, 172, 0, 0)
+
+ Add(Local0, 1, Local7)
+
+ CH04(ts, 0, 0xff, z116, 173, 0, 0)
+
+ Add(Local1, 1, Local7)
+
+ CH04(ts, 0, 0xff, z116, 174, 0, 0)
+}
+
+Method(m1d2)
+{
+ Name(ts, "m1d2")
+
+ Name(p000, Package(1) {0x77})
+
+ CopyObject(Index(p000, 0, Local0), Local1)
+
+ CH03(ts, z116, 175, 0, 0)
+
+ Add(Local0, 1, Local7)
+
+ CH04(ts, 0, 0xff, z116, 176, 0, 0)
+
+ Add(Local1, 1, Local7)
+
+ CH04(ts, 0, 0xff, z116, 177, 0, 0)
+}
+
+// ArgX
+
+Method(m1d3, 2)
+{
+ Name(ts, "m1d3")
+
+ Name(p000, Package(1) {0x77})
+
+ Store(Index(p000, 0, Arg0), Arg1)
+
+ CH03(ts, z116, 178, 0, 0)
+
+ Add(Arg0, 1, Local7)
+
+ CH04(ts, 0, 0xff, z116, 179, 0, 0)
+
+ Add(Arg1, 1, Local7)
+
+ CH04(ts, 0, 0xff, z116, 180, 0, 0)
+}
+
+Method(m1d4, 2)
+{
+ Name(ts, "m1d4")
+
+ Name(p000, Package(1) {0x77})
+
+ CopyObject(Index(p000, 0, Arg0), Arg1)
+
+ CH03(ts, z116, 181, 0, 0)
+
+ Add(Arg0, 1, Local7)
+
+ CH04(ts, 0, 0xff, z116, 182, 0, 0)
+
+ // Type of Arg1 should be IRef here,
+ // so, exception is expected.
+
+ Add(Arg1, 1, Local7)
+
+ CH04(ts, 0, 0xff, z116, 183, 0, 0)
+}
+
+// NamedX
+
+Method(m1d5)
+{
+ Name(ts, "m1d5")
+ Name(i001, 0)
+ Name(p000, Package(2) {0x77, 0x88})
+
+ Name(sw00, 1)
+
+ Name(hg00, 0) // if non-zero - the test hangs
+ Name(hg01, 0) // if non-zero - the test hangs
+ Name(hg02, 0) // if non-zero - the test hangs
+
+ CH03(ts, z116, 184, 0, 0)
+
+ CopyObject(Index(p000, 1, Local0), i001)
+
+ CH03(ts, z116, 185, 0, 0)
+
+ // Type of i001 should be already IRef here,
+ // so, don't expect exception.
+
+ Store(Index(p000, 0, Local0), i001)
+
+ CH03(ts, z116, 186, 0, 0)
+
+ Add(Local0, 1, Local7)
+
+ if (y248) {
+ Store(1, hg00)
+ Store(1, hg01)
+ Store(1, hg02)
+ }
+
+ /*
+ * To show visually the consequences of the anomaly
+ * run one of code below. They cause hang.
+ */
+ if (hg00) {
+ // Infinite loop of printing
+ Store(0, Local1)
+ Store(Local0, debug)
+ }
+ if (hg01) {
+ // Infinite loop of printing
+ Store(Local0, debug)
+ Store(Local0, debug)
+ }
+ if (hg02) {
+ Store(0, Local1)
+
+ Store("============== sit 2:", debug)
+
+ Store(ObjectType(Local0), Local7)
+ Store(Local7, debug)
+ }
+
+ CH04(ts, 0, 0xff, z116, 187, 0, 0)
+
+ Add(i001, 1, Local7)
+
+ CH04(ts, 0, 0xff, z116, 188, 0, 0)
+
+ /*
+ * Looks identical to b248: "Incorrect ReferenceCount on Switch operation":
+ *
+ * Reference count of Local0 is mistakenly zeroed there too.
+ *
+ * [ACPI Debug] String: [0x0F] "<-------- 0000>"
+ * [ACPI Debug] Reference: [Debug]
+ * [ACPI Debug] String: [0x0F] "<-------- 1111>"
+ *
+ * [ACPI Debug] String: [0x0F] "<-------- 0000>"
+ * [ACPI Debug] [ACPI Debug] String: [0x0F] "<-------- 1111>"
+ */
+ Store("<-------- 0000>", debug)
+ Store(Local0, debug)
+ Store("<-------- 1111>", debug)
+}
+
+Method(m1d6)
+{
+ Name(ts, "m1d6")
+
+ Name(i001, 0)
+
+ Name(p000, Package(1) {0x77})
+
+ CH03(ts, z116, 189, 0, 0)
+
+ CopyObject(Index(p000, 0, Local0), i001)
+
+ CH03(ts, z116, 190, 0, 0)
+
+ Add(i001, 1, Local7)
+
+ CH04(ts, 0, 0xff, z116, 192, 0, 0)
+}
+
+// Out of Package
+
+Method(m1d7)
+{
+ Name(ts, "m1d7")
+
+ Name(p000, Package(1) {0x77})
+
+ CH03(ts, z116, 193, 0, 0)
+
+ Store(Index(p000, 1), Local0)
+
+ CH04(ts, 0, 0xff, z116, 194, 0, 0)
+
+ Store(Index(p000, 1, Local0), Local1)
+
+ CH04(ts, 0, 0xff, z116, 195, 0, 0)
+}
+
+Method(m1d8)
+{
+ Name(ts, "m1d8")
+
+ Name(p000, Package(1) {0x77})
+
+ CH03(ts, z116, 196, 0, 0)
+
+ CopyObject(Index(p000, 1), Local0)
+
+ CH04(ts, 0, 0xff, z116, 197, 0, 0)
+
+ CopyObject(Index(p000, 1, Local0), Local1)
+
+ CH04(ts, 0, 0xff, z116, 198, 0, 0)
+}
+
+Method(m1db)
+{
+ Name(ts, "m1db")
+
+ Name(i001, 0)
+
+ Name(p000, Package(2) {0x77, 0x88})
+
+ CH03(ts, z116, 199, 0, 0)
+
+ CopyObject(Index(p000, 1), i001)
+
+ CH03(ts, z116, 200, 0, 0)
+
+ // Type of i001 should be already IRef here,
+ // so, don't expect exception. Writing to i001
+ // is here identical to Store into it.
+
+ Index(p000, 0, i001)
+
+ CH03(ts, z116, 201, 0, 0)
+
+ Add(i001, 1, Local7)
+
+ CH04(ts, 0, 0xff, z116, 202, 0, 0)
+}
+
+
+// WRITE
+
+
+Method(m1d9)
+{
+ Name(p000, Package(3) {5,0,7})
+
+ Method(m000, 1)
+ {
+ Add(0x76, 1, Local0)
+ Store(Local0, arg0)
+ }
+
+ m000(Index(p000, 1))
+ m383("m1d9", p000, z116, 140)
+}
+
+Method(m1da)
+{
+ Name(p000, Package(3) {5,0,7})
+
+ Method(m000, 1)
+ {
+ Add(0x76, 1, arg0)
+ }
+
+ m000(Index(p000, 1))
+ m383("m1da", p000, z116, 141)
+}
+
+
+
+
+
diff --git a/tests/aslts/src/runtime/collections/functional/reference/ref50.asl b/tests/aslts/src/runtime/collections/functional/reference/ref50.asl
new file mode 100644
index 000000000..aee35199b
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/reference/ref50.asl
@@ -0,0 +1,5597 @@
+/*
+ * 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.
+ */
+
+/*
+ * Test of the Object and Index References
+ * and the call-by-reference convention.
+ *
+ * SPEC2 file contains specification of the tests.
+ */
+
+
+/*
+??????????????????
+SEE: current number of errors (17.04.2005): 0x26
+SEE: report the name of each started test
+SEE: q000,q001...
+SEE: extend in every possible way the "total tests",
+ see top of this spec, as far as fixing the bugs.
+SEE: continue to work on "Package total"
+SEE: extend the test "The chain of Index_References" after bug fixing
+SEE: CURRENTLY: compiler failed, Too few arguments (M002 requires X)
+SEE: test ref70 now works in accordance with the current behaviour -
+ expects exceptions when dealing with ArgX-ORef & ArgX-IRef.
+ should be re-dericted: when read autimatic dereference will
+ be done properly.
+??????????????????????
+*/
+
+
+Name(z111, 111)
+
+// TEST 1: Read of ArgX-ORef with DerefOf
+Method(m221)
+{
+ Name(ts, "m221")
+
+ ts00(ts)
+
+ m1ad(ts, 0, 1, 1, 1, 0)
+
+ m341()
+
+ if (c088) {
+ m4d0()
+ }
+}
+
+// TEST 2: Read of ArgX-ORef without DerefOf (automatic dereference)
+Method(m222)
+{
+ Name(ts, "m222")
+
+ ts00(ts)
+
+ m1ad(ts, 0, 1, 1, 0, 0)
+
+ if (y507) {
+ m342()
+ if (c088) {
+ m4d0()
+ }
+ } else {
+ m1ae(ts, "read of ArgX-ORef without DerefOf",
+ "AE_AML_OPERAND_TYPE exception instead of automatic dereference")
+ }
+}
+
+// TEST 3: Read of ArgX-IRef with DerefOf
+Method(m223)
+{
+ Name(ts, "m223")
+
+ ts00(ts)
+
+ m1ad(ts, 0, 1, 1, 1, 0)
+
+ m343()
+ if (c088) {
+ m4d1()
+ }
+}
+
+// TEST 4: Read of ArgX-IRef without DerefOf
+Method(m224)
+{
+ Name(ts, "m224")
+
+ ts00(ts)
+
+ m1ad(ts, 0, 1, 1, 0, 0)
+
+ if (y507) {
+ m344()
+ if (c088) {
+ m4d1()
+ }
+ } else {
+ m1ae(ts, "read of ArgX-IRef without DerefOf",
+ "AE_AML_OPERAND_TYPE exception instead of automatic dereference")
+ }
+}
+
+// TEST 5.0: Store into ArgX-object doesn't change original data
+Method(m225)
+{
+ Name(ts, "m225")
+
+ ts00(ts)
+
+ m1ad(ts, 1, 1, 0, 0, 0)
+ m1c0()
+}
+
+// TEST 5.1: CopyObject into ArgX-object doesn't change original data
+Method(m226)
+{
+ Name(ts, "m226")
+
+ ts00(ts)
+ m1ad(ts, 2, 1, 0, 0, 0)
+ m1c0()
+}
+
+// TEST 6.0: Store into ArgX-ORef changes original data
+Method(m227)
+{
+ Name(ts, "m227")
+
+ ts00(ts)
+
+ m362()
+ m363()
+ m364()
+
+ if (c088) {
+ m1ad(ts, 1, 1, 1, 1, 0)
+ m4d0()
+ }
+}
+
+// TEST 6.1: CopyObject into ArgX-ORef changes original data
+Method(m228)
+{
+ Name(ts, "m228")
+
+ ts00(ts)
+
+ m1ad(ts, 2, 1, 1, 1, 0)
+ m4d0()
+}
+
+// TEST 7.0: Store into ArgX-IRef
+//
+// ACTUALLY: doesn't write to the original object.
+Method(m229)
+{
+ Name(ts, "m229")
+
+ ts00(ts)
+
+ m1ad(ts, 1, 1, 1, 1, 0)
+ m4d1()
+}
+
+// TEST 7.1: CopyObject into ArgX-IRef
+//
+// ACTUALLY: doesn't write to the original object.
+Method(m22a)
+{
+ Name(ts, "m22a")
+
+ ts00(ts)
+
+ m1ad(ts, 2, 1, 1, 1, 0)
+ m4d1()
+}
+
+// TEST 8:
+// ArgX-object is one of String, Buffer and Package.
+// Create IRef to the elements of the
+// ArgX-object inside the Method and write to them.
+//
+// ACTUALLY: writes to the original object.
+Method(m22b)
+{
+ ts00("m22b")
+
+ // Store and CopyObject
+
+ m345()
+}
+
+// TEST 10: Check Buffer passed as a parameter.
+// Create Buffer Field inside Method and write to it.
+//
+// ACTUALLY: writes to the original object.
+Method(m22c)
+{
+ Name(ts, "m22c")
+
+ if (y100) {
+ ts00(ts)
+ } else {
+ Store(ts, Debug)
+ }
+
+ Name(b000, Buffer(4) {1,0x77,3,4})
+ Name(b010, Buffer(4) {1,0x77,3,4})
+
+ Method(m000, 1)
+ {
+ CreateField(arg0, 8, 8, bf90)
+ if (LNotEqual(bf90, 0x77)) {
+ err(ts, z111, 0, 0, 0, bf90, 0x77)
+ }
+ Store(0x9999992b, bf90)
+ if (LNotEqual(bf90, 0x2b)) {
+ err(ts, z111, 1, 0, 0, bf90, 0x2b)
+ }
+ }
+
+ Method(m001, 1)
+ {
+ CreateField(arg0, 8, 8, bf90)
+ if (LNotEqual(bf90, 0x77)) {
+ err(ts, z111, 2, 0, 0, bf90, 0x77)
+ }
+ CopyObject(0x9999992b, bf90)
+ if (LNotEqual(bf90, 0x2b)) {
+ err(ts, z111, 3, 0, 0, bf90, 0x2b)
+ }
+ }
+
+ BEG0(z111, ts)
+
+ m000(b000)
+ if (X191) {
+ m001(b010)
+ }
+
+ m386(ts, b000, 0, 4)
+ if (X191) {
+ m386(ts, b010, 0, 5)
+ }
+
+ END0()
+}
+
+// TEST 11: Check RefOf of ArgX-Object (ArgX is any type Object)
+Method(m22d)
+{
+ Name(ts, "m22d")
+
+ ts00(ts)
+
+ m346()
+ if (c088) {
+ // RefOf
+ Store(1, c08b) // do RefOf(ArgX) checkings
+ m1ad(ts, 0, 1, 0, 0, 0)
+ m1c0()
+
+ // CondRefOf
+ Store(2, c08b) // do RefOf(ArgX) checkings
+ m1ad(ts, 0, 1, 0, 0, 0)
+ m1c0()
+
+ Store(0, c08b) // do RefOf(ArgX) checkings
+ }
+}
+
+// TEST 12: Check DerefOf(RefOf) of ArgX-Object (ArgX is any type Object)
+Method(m22e)
+{
+ ts00("m22e")
+
+ m347()
+}
+
+// TEST 13: Check RefOf of ArgX-ORef
+Method(m22f)
+{
+ ts00("m22f")
+
+ m348()
+}
+
+// TEST 14: Check DerefOf(RefOf) of ArgX-ORef
+//
+// ACTUALLY: writes to the original object.
+Method(m230)
+{
+ ts00("m230")
+
+ m349()
+}
+
+// TEST 15: Check RefOf of ArgX-IRef
+Method(m231)
+{
+ ts00("m231")
+
+ m34a()
+}
+
+// TEST 16: Check DerefOf(RefOf) of ArgX-IRef
+Method(m232)
+{
+ ts00("m232")
+
+ m34b()
+}
+
+// TEST 17: Check RefOf of ArgX-String, ArgX-Buffer, ArgX-Package
+//
+// ACTUALLY:
+//
+// ArgX-String - writes to the original String
+// ArgX-Buffer - doesnt
+// ArgX-Package - doesnt
+Method(m233)
+{
+ ts00("m233")
+
+ m34c()
+}
+
+// TEST 19: Check RefOf of ArgX-Buffer (check its Buffer Field)
+//
+// ACTUALLY: doesn't write to the original object.
+Method(m234)
+{
+ Name(ts, "m234")
+
+ if (y100) {
+ ts00(ts)
+ } else {
+ Store(ts, Debug)
+ }
+
+ Name(b000, Buffer(4) {1,0x77,3,4})
+
+ Method(m000, 1)
+ {
+ Store(DerefOf(arg0), Local2)
+
+ CreateField(Local2, 8, 8, bf90)
+ if (LNotEqual(bf90, 0x77)) {
+ err(ts, z111, 0, 0, 0, bf90, 0x77)
+ }
+ Store(0x9999992b, bf90)
+ if (LNotEqual(bf90, 0x2b)) {
+ err(ts, z111, 1, 0, 0, bf90, 0x2b)
+ }
+ }
+
+ Method(m001, 1)
+ {
+ Store(DerefOf(arg0), Local2)
+
+ CreateField(Local2, 8, 8, bf90)
+ if (LNotEqual(bf90, 0x77)) {
+ err(ts, z111, 2, 0, 0, bf90, 0x77)
+ }
+ CopyObject(0x9999992b, bf90)
+ if (LNotEqual(bf90, 0x2b)) {
+ err(ts, z111, 3, 0, 0, bf90, 0x2b)
+ }
+ }
+
+ Method(m010, 2)
+ {
+ Store(RefOf(arg0), Local0)
+ m000(Local0)
+
+ if (LEqual(arg1, c00a)) {
+ m381(ts, arg0, 0, 0x100)
+ } elseif (LEqual(arg1, c00b)) {
+ m382(ts, arg0, 0, 0x101)
+ } elseif (LEqual(arg1, c00c)) {
+ m383(ts, arg0, 0, 0x102)
+ }
+ }
+
+ Method(m020, 2)
+ {
+ m000(RefOf(arg0))
+
+ if (LEqual(arg1, c00a)) {
+ m381(ts, arg0, 0, 0x103)
+ } elseif (LEqual(arg1, c00b)) {
+ m382(ts, arg0, 0, 0x104)
+ } elseif (LEqual(arg1, c00c)) {
+ m383(ts, arg0, 0, 0x105)
+ }
+ }
+
+ Method(m011, 2)
+ {
+ Store(RefOf(arg0), Local0)
+ m001(Local0)
+
+ if (LEqual(arg1, c00a)) {
+ m381(ts, arg0, 0, 0x106)
+ } elseif (LEqual(arg1, c00b)) {
+ m382(ts, arg0, 0, 0x107)
+ } elseif (LEqual(arg1, c00c)) {
+ m383(ts, arg0, 0, 0x108)
+ }
+ }
+
+ Method(m021, 2)
+ {
+ m001(RefOf(arg0))
+
+ if (LEqual(arg1, c00a)) {
+ m381(ts, arg0, 0, 0x109)
+ } elseif (LEqual(arg1, c00b)) {
+ m382(ts, arg0, 0, 0x10a)
+ } elseif (LEqual(arg1, c00c)) {
+ m383(ts, arg0, 0, 0x10b)
+ }
+ }
+
+ BEG0(z111, ts)
+
+ m010(b000, c00b)
+ m382(ts, b000, 0, 0x10c)
+
+ m020(b000, c00b)
+ m382(ts, b000, 0, 0x10d)
+
+ if (X191) {
+ m011(b000, c00b)
+ m382(ts, b000, 0, 0x10e)
+ }
+
+ if (X191) {
+ m021(b000, c00b)
+ m382(ts, b000, 0, 0x10f)
+ }
+
+ END0()
+}
+
+/*
+ * TEST 20: Check writing from ArgX to ArgY
+ *
+ * ACTUALLY:
+ *
+ * '+' writes
+ * '-' not writes
+ * 'e' exceptions occurs
+ *
+ *
+ * - from ArgX-Object to ArgY-Object
+ * + from ArgX-Object to ArgY-ORef
+ * - from ArgX-Object to ArgY-IRef
+ *
+ * - from ArgX-ORef to ArgY-Object
+ * e from ArgX-ORef to ArgY-ORef
+ * - from ArgX-ORef to ArgY-IRef
+ *
+ * - from ArgX-IRef to ArgY-Object
+ * e from ArgX-IRef to ArgY-ORef
+ * - from ArgX-IRef to ArgY-IRef
+ */
+Method(m235)
+{
+ Name(ts, "m235")
+
+ if (y100) {
+ ts00(ts)
+ } else {
+ Store(ts, Debug)
+ }
+
+ Name(i000, 0x77)
+ Name(i010, 0x77)
+ Name(i020, 0x77)
+ Name(s000, "qwer0000")
+ Name(s010, "qwer0000")
+
+ Name(s021, "q+er0000")
+ Name(s031, "q+er0000")
+
+ Name(i001, 0x2b)
+ Name(i011, 0x2b)
+ Name(i021, 0x2b)
+ Name(i031, 0x2b)
+ Name(i041, 0x2b)
+ Name(i051, 0x2b)
+ Name(i061, 0x2b)
+
+ Method(m000, 3)
+ {
+ Store(arg0, arg1)
+
+ if (LEqual(arg2, c009)) {
+ m380(ts, arg1, 0, 0)
+ } elseif (LEqual(arg2, c00a)) {
+ m381(ts, arg1, 0, 1)
+ } elseif (LEqual(arg2, c00b)) {
+ m382(ts, arg1, 0, 2)
+ } elseif (LEqual(arg2, c00c)) {
+ m383(ts, arg1, 0, 3)
+ }
+ }
+
+ Method(m001, 3)
+ {
+ CopyObject(arg0, arg1)
+
+ if (LEqual(arg2, c009)) {
+ m380(ts, arg1, 0, 4)
+ } elseif (LEqual(arg2, c00a)) {
+ m381(ts, arg1, 0, 5)
+ } elseif (LEqual(arg2, c00b)) {
+ m382(ts, arg1, 0, 6)
+ } elseif (LEqual(arg2, c00c)) {
+ m383(ts, arg1, 0, 7)
+ }
+ }
+
+ Method(m002, 3)
+ {
+ Store(arg0, arg1)
+
+ Store(DerefOf(arg1), Local2)
+
+ if (LEqual(arg2, c009)) {
+ m380(ts, Local2, 0, 8)
+ } elseif (LEqual(arg2, c00a)) {
+ m381(ts, Local2, 0, 9)
+ } elseif (LEqual(arg2, c00b)) {
+ m382(ts, Local2, 0, 10)
+ } elseif (LEqual(arg2, c00c)) {
+ m383(ts, Local2, 0, 11)
+ }
+ }
+
+ Method(m003, 3)
+ {
+ CopyObject(arg0, arg1)
+
+ Store(DerefOf(arg1), Local2)
+
+ if (LEqual(arg2, c009)) {
+ m380(ts, Local2, 0, 12)
+ } elseif (LEqual(arg2, c00a)) {
+ m381(ts, Local2, 0, 13)
+ } elseif (LEqual(arg2, c00b)) {
+ m382(ts, Local2, 0, 14)
+ } elseif (LEqual(arg2, c00c)) {
+ m383(ts, Local2, 0, 15)
+ }
+ }
+
+ Method(m004, 2)
+ {
+ Store(arg0, arg1)
+
+ m380(ts, arg1, 0, 16)
+ }
+
+ Method(m005, 2)
+ {
+ Store(arg0, arg1)
+ }
+
+ BEG0(z111, ts)
+
+ // ArgX-Object -->> ArgY-Object
+
+ m000(i000, i001, c009)
+ m380(ts, i000, 0, 17)
+ m384(ts, i001, 0, 18)
+
+ m001(i000, i001, c009)
+ m380(ts, i000, 0, 19)
+ m384(ts, i001, 0, 20)
+
+ // ArgX-Object -->> ArgY-ORef
+
+ m002(i000, RefOf(i001), c009)
+ m380(ts, i000, 0, 21)
+ m380(ts, i001, 0, 22)
+
+ m003(i000, RefOf(i021), c009)
+ m380(ts, i000, 0, 23)
+ m380(ts, i021, 0, 24)
+
+ Store(RefOf(i031), Local0)
+ m002(i000, Local0, c009)
+ m380(ts, i000, 0, 25)
+ m380(ts, i031, 0, 26)
+ Store(DerefOf(Local0), Local2)
+ m380(ts, Local2, 0, 27)
+
+ Store(RefOf(i041), Local0)
+ m003(i000, Local0, c009)
+ m380(ts, i000, 0, 28)
+ m380(ts, i041, 0, 29)
+ Store(DerefOf(Local0), Local2)
+ m380(ts, Local2, 0, 30)
+
+ // ArgX-Object -->> ArgY-IRef
+
+ m004(i000, Index(s021, 1, Local0))
+ m380(ts, i000, 0, 31)
+ m385(ts, s021, 0, 32)
+ Store(DerefOf(Local0), Local2)
+ m384(ts, Local2, 0, 33)
+
+ Store(Index(s021, 1, Local0), Local1)
+
+ m004(i000, Local0)
+ m380(ts, i000, 0, 34)
+ m385(ts, s021, 0, 35)
+ Store(DerefOf(Local0), Local2)
+ m384(ts, Local2, 0, 36)
+
+ m004(i000, Local1)
+ m380(ts, i000, 0, 37)
+ m385(ts, s021, 0, 38)
+ Store(DerefOf(Local1), Local2)
+ m384(ts, Local2, 0, 39)
+
+ // ArgX-ORef -->> ArgY-Object
+
+ m005(RefOf(i000), s000)
+ m380(ts, i000, 0, 40)
+ m381(ts, s000, 0, 41)
+
+ m005(RefOf(i000), i051)
+ m380(ts, i000, 0, 42)
+ m384(ts, i051, 0, 43)
+
+ Store(RefOf(i000), Local0)
+
+ m005(Local0, s000)
+ m380(ts, i000, 0, 44)
+ m381(ts, s000, 0, 45)
+
+ m005(Local0, i051)
+ m380(ts, i000, 0, 46)
+ m384(ts, i051, 0, 47)
+
+ // ArgX-IRef -->> ArgY-Object
+
+ m005(Index(s000, 1, Local0), i000)
+ m381(ts, s000, 0, 48)
+ m380(ts, i000, 0, 49)
+
+ // The entire expression (exercised below):
+ // m005(Index(s021, 1, Local0), RefOf(i010))
+ // here is executed step by step:
+
+ m385(ts, s021, 0, 50)
+ m380(ts, i010, 0, 51)
+ m005(Index(s021, 1, Local0), i010)
+ m385(ts, s021, 0, 52)
+ m380(ts, i010, 0, 53)
+ m005(i051, RefOf(i010))
+ m385(ts, s021, 0, 54)
+ m384(ts, i051, 0, 55)
+ m384(ts, i010, 0, 56)
+
+ if (y513) {
+ // ArgX-IRef -->> ArgY-ORef
+
+ m005(Index(s021, 1, Local0), RefOf(i020))
+ m385(ts, s021, 0, 57)
+ m384(ts, i020, 0, 58)
+
+ Store(DerefOf(Local0), Local1)
+ m384(ts, Local1, 0, 59)
+ }
+
+ // ArgX-IRef -->> ArgY-IRef
+
+ m005(Index(s021, 1, Local0), Index(s010, 1, Local1))
+ m385(ts, s021, 0, 60)
+ m381(ts, s010, 0, 61)
+
+ Store(DerefOf(Local0), Local2)
+ m384(ts, Local2, 0, 62)
+
+ Store(DerefOf(Local1), Local2)
+ m380(ts, Local2, 0, 63)
+
+ if (y513) {
+ // ArgX-ORef -->> ArgY-ORef
+
+ m005(RefOf(i000), RefOf(i061))
+ m380(ts, i000, 0, 64)
+ m380(ts, i061, 0, 65)
+ }
+
+ // ArgX-ORef -->> ArgY-IRef
+
+ m005(RefOf(i000), Index(s031, 1, Local0))
+ m380(ts, i000, 0, 66)
+ m385(ts, s031, 0, 67)
+ Store(DerefOf(Local0), Local2)
+ m384(ts, Local2, 0, 68)
+
+ END0()
+}
+
+/*
+ * TEST 21: Check writing from ArgX to LocalX
+ *
+ * ACTUALLY:
+ *
+ * - from ArgX-Object to LocalX
+ * - from ArgX-ORef to LocalX
+ * - from ArgX-IRef to LocalX
+ */
+Method(m236)
+{
+ Name(ts, "m236")
+
+ if (y100) {
+ ts00(ts)
+ } else {
+ Store(ts, Debug)
+ }
+
+ Name(i000, 0x77)
+ Name(s000, "qwer0000")
+ Name(b000, Buffer(4) {1,0x77,3,4})
+ Name(p000, Package(3) {5,0x77,7})
+
+ Name(i001, 0x2b)
+ Name(s001, "q+er0000")
+
+ Method(m000, 2)
+ {
+ Store(arg0, Local0)
+
+ if (LEqual(arg1, c009)) {
+ m380(ts, Local0, 0, 0)
+ } elseif (LEqual(arg1, c00a)) {
+ m381(ts, Local0, 0, 1)
+ } elseif (LEqual(arg1, c00b)) {
+ m382(ts, Local0, 0, 2)
+ } elseif (LEqual(arg1, c00c)) {
+ m383(ts, Local0, 0, 3)
+ }
+
+ // Overwrite LocalX which contains either
+ // Object or ORef or IRef.
+
+ Store(0x11, Local0)
+ }
+
+ Method(m001, 2)
+ {
+ Store(arg0, Local0)
+
+ Store(ObjectType(arg0), Local0)
+
+ if (LNotEqual(Local0, arg1)) {
+ err(ts, z111, 8, 0, 0, Local0, arg1)
+ }
+
+ // Overwrite LocalX which contains either
+ // Object or ORef or IRef.
+
+ Store(0x11, Local0)
+ }
+
+ BEG0(z111, ts)
+
+ // ArgX-Object -->> LocalX
+
+ m000(i000, c009)
+ m000(s000, c00a)
+ m000(b000, c00b)
+ m000(p000, c00c)
+
+ m380(ts, i000, 0, 4)
+ m381(ts, s000, 0, 5)
+ m382(ts, b000, 0, 6)
+ m383(ts, p000, 0, 7)
+
+ // ArgX-ORef -->> LocalX
+
+ m001(RefOf(i000), c009)
+ m001(RefOf(s000), c00a)
+ m001(RefOf(b000), c00b)
+ m001(RefOf(p000), c00c)
+
+ m380(ts, i000, 0, 8)
+ m381(ts, s000, 0, 9)
+ m382(ts, b000, 0, 10)
+ m383(ts, p000, 0, 11)
+
+ // ArgX-IRef -->> LocalX
+
+ m001(Index(s000, 1), c016)
+ m001(Index(b000, 1), c016)
+ m001(Index(p000, 1), c009)
+
+ m380(ts, i000, 0, 12)
+ m381(ts, s000, 0, 13)
+ m382(ts, b000, 0, 14)
+ m383(ts, p000, 0, 15)
+
+ END0()
+}
+
+/*
+ * TEST 23: Generate LocalX-ORef and write to it
+ *
+ * ACTUALLY: doesn't write to the original object
+ */
+Method(m237)
+{
+ Name(ts, "m237")
+
+ if (y100) {
+ ts00(ts)
+ } else {
+ Store(ts, Debug)
+ }
+
+ Name(i000, 0x77)
+ Name(s000, "qwer0000")
+ Name(b000, Buffer(4) {1,0x77,3,4})
+ Name(p000, Package(3) {5,0x77,7})
+
+ // Overwrite LocalX-ORef
+ Method(m000, 1)
+ {
+ Store(RefOf(arg0), Local0)
+ Store(0x11, Local0)
+
+ Store(RefOf(i000), Local0)
+ Store(0x11, Local0)
+
+ Store(RefOf(s000), Local0)
+ Store(0x11, Local0)
+
+ Store(RefOf(b000), Local0)
+ Store(0x11, Local0)
+
+ Store(RefOf(p000), Local0)
+ Store(0x11, Local0)
+ }
+
+ BEG0(z111, ts)
+
+ m000(i000)
+ m000(s000)
+ m000(b000)
+ m000(p000)
+
+ m380(ts, i000, 0, 0)
+ m381(ts, s000, 0, 1)
+ m382(ts, b000, 0, 2)
+ m383(ts, p000, 0, 3)
+
+ END0()
+}
+
+/*
+ * TEST 24: Generate LocalX-IRef and write to it
+ *
+ * ACTUALLY: doesn't write to the original object
+ */
+Method(m238)
+{
+ Name(ts, "m238")
+
+ if (y100) {
+ ts00(ts)
+ } else {
+ Store(ts, Debug)
+ }
+
+ Name(i000, 0x77)
+ Name(s000, "qwer0000")
+ Name(b000, Buffer(4) {1,0x77,3,4})
+ Name(p000, Package(3) {5,0x77,7})
+
+ // Overwrite LocalX-ORef
+
+ Method(m000, 1)
+ {
+ Store(Index(arg0, 1, Local0), Local1)
+ Store(0x11, Local0)
+ Store(0x22, Local1)
+
+ Store(Index(s000, 1, Local0), Local1)
+ Store(0x11, Local0)
+ Store(0x22, Local1)
+
+ Store(Index(b000, 1, Local0), Local1)
+ Store(0x11, Local0)
+ Store(0x22, Local1)
+
+ Store(Index(p000, 1, Local0), Local1)
+ Store(0x11, Local0)
+ Store(0x22, Local1)
+ }
+
+ Method(m001, 1)
+ {
+ Store(Index(arg0, 1, Local0), Local1)
+ CopyObject(0x11, Local0)
+ CopyObject(0x22, Local1)
+
+ Store(Index(s000, 1, Local0), Local1)
+ CopyObject(0x11, Local0)
+ CopyObject(0x22, Local1)
+
+ Store(Index(b000, 1, Local0), Local1)
+ CopyObject(0x11, Local0)
+ CopyObject(0x22, Local1)
+
+ Store(Index(p000, 1, Local0), Local1)
+ CopyObject(0x11, Local0)
+ CopyObject(0x22, Local1)
+ }
+
+ BEG0(z111, ts)
+
+ m000(s000)
+ m000(b000)
+ m000(p000)
+
+ m380(ts, i000, 0, 0)
+ m381(ts, s000, 0, 1)
+ m382(ts, b000, 0, 2)
+ m383(ts, p000, 0, 3)
+
+ m001(s000)
+ m001(b000)
+ m001(p000)
+
+ m380(ts, i000, 0, 4)
+ m381(ts, s000, 0, 5)
+ m382(ts, b000, 0, 6)
+ m383(ts, p000, 0, 7)
+
+ END0()
+}
+
+/*
+ * TEST 25: Generate ORef to global Object into ArgX and write to it
+ *
+ * ACTUALLY:
+ *
+ * - doesn't write to the original object
+ * - the repeated attempts to overwrite ORef-ArgX cause exceptions
+ */
+Method(m239)
+{
+ Name(ts, "m239")
+
+ if (y100) {
+ ts00(ts)
+ } else {
+ Store(ts, Debug)
+ }
+
+ // Local Objects
+
+ Method(m000, 2)
+ {
+ Store(RefOf(arg0), arg1)
+ Store(0x11, arg1)
+ }
+
+ Method(m001, 2)
+ {
+ Store(RefOf(arg0), arg1)
+ Store(0x11, arg1)
+
+ Store(RefOf(ia00), arg1)
+ Store(0x11, arg1)
+
+ Store(RefOf(sa00), arg1)
+ Store(0x11, arg1)
+
+ Store(RefOf(ba00), arg1)
+ Store(0x11, arg1)
+
+ Store(RefOf(pa00), arg1)
+ Store(0x11, arg1)
+ }
+
+ Method(m002, 2)
+ {
+ Store(RefOf(arg0), arg1)
+ CopyObject(0x11, arg1)
+
+ Store(RefOf(ia00), arg1)
+ CopyObject(0x11, arg1)
+
+ Store(RefOf(sa00), arg1)
+ CopyObject(0x11, arg1)
+
+ Store(RefOf(ba00), arg1)
+ CopyObject(0x11, arg1)
+
+ Store(RefOf(pa00), arg1)
+ CopyObject(0x11, arg1)
+ }
+
+ Method(m003, 2)
+ {
+ CopyObject(RefOf(arg0), arg1)
+ CopyObject(0x11, arg1)
+
+ CopyObject(RefOf(ia00), arg1)
+ CopyObject(0x11, arg1)
+
+ CopyObject(RefOf(sa00), arg1)
+ CopyObject(0x11, arg1)
+
+ CopyObject(RefOf(ba00), arg1)
+ CopyObject(0x11, arg1)
+
+ CopyObject(RefOf(pa00), arg1)
+ CopyObject(0x11, arg1)
+ }
+
+ BEG0(z111, ts)
+
+ // m000
+
+ m000(ia00, ia10)
+ m000(sa00, sa10)
+ m000(ba00, ba10)
+ m000(pa00, pa10)
+
+ m380(ts, ia00, 0, 0)
+ m381(ts, sa00, 0, 1)
+ m382(ts, ba00, 0, 2)
+ m383(ts, pa00, 0, 3)
+
+ m380(ts, ia10, 0, 4)
+ m381(ts, sa10, 0, 5)
+ m382(ts, ba10, 0, 6)
+ m383(ts, pa10, 0, 7)
+
+ if (y514) {
+ // m001
+
+ m001(ia00, ia10)
+ m001(sa00, sa10)
+ m001(ba00, ba10)
+ m001(pa00, pa10)
+
+ m380(ts, ia00, 0, 8)
+ m381(ts, sa00, 0, 9)
+ m382(ts, ba00, 0, 10)
+ m383(ts, pa00, 0, 11)
+
+ m380(ts, ia10, 0, 12)
+ m381(ts, sa10, 0, 13)
+ m382(ts, ba10, 0, 14)
+ m383(ts, pa10, 0, 15)
+
+ // m002
+
+ m002(ia00, ia10)
+ m002(sa00, sa10)
+ m002(ba00, ba10)
+ m002(pa00, pa10)
+
+ m380(ts, ia00, 0, 16)
+ m381(ts, sa00, 0, 17)
+ m382(ts, ba00, 0, 18)
+ m383(ts, pa00, 0, 19)
+
+ m380(ts, ia10, 0, 20)
+ m381(ts, sa10, 0, 21)
+ m382(ts, ba10, 0, 22)
+ m383(ts, pa10, 0, 23)
+ }
+
+ // m003
+
+ m003(ia00, ia10)
+ m003(sa00, sa10)
+ m003(ba00, ba10)
+ m003(pa00, pa10)
+
+ m380(ts, ia00, 0, 24)
+ m381(ts, sa00, 0, 25)
+ m382(ts, ba00, 0, 26)
+ m383(ts, pa00, 0, 27)
+
+ m380(ts, ia10, 0, 28)
+ m381(ts, sa10, 0, 29)
+ m382(ts, ba10, 0, 30)
+ m383(ts, pa10, 0, 31)
+
+ END0()
+}
+
+/*
+ * TEST 26: Generate ORef to local Object into ArgX and write to it
+ *
+ * ACTUALLY:
+ *
+ * - doesn't write to the original object
+ * - the repeated attempts to overwrite ORef-ArgX cause exceptions
+ */
+Method(m23a)
+{
+ Name(ts, "m23a")
+
+ if (y100) {
+ ts00(ts)
+ } else {
+ Store(ts, Debug)
+ }
+
+ // Local Objects
+
+ Name(i000, 0x77)
+ Name(s000, "qwer0000")
+ Name(b000, Buffer(4) {1,0x77,3,4})
+ Name(p000, Package(3) {5,0x77,7})
+
+ Name(i010, 0x77)
+ Name(s010, "qwer0000")
+ Name(b010, Buffer(4) {1,0x77,3,4})
+ Name(p010, Package(3) {5,0x77,7})
+
+ Method(m000, 2)
+ {
+ Store(RefOf(arg0), arg1)
+ Store(0x11, arg1)
+ }
+
+ Method(m001, 2)
+ {
+ Store(RefOf(arg0), arg1)
+ Store(0x11, arg1)
+
+ Store(RefOf(i000), arg1)
+ Store(0x11, arg1)
+
+ Store(RefOf(s000), arg1)
+ Store(0x11, arg1)
+
+ Store(RefOf(b000), arg1)
+ Store(0x11, arg1)
+
+ Store(RefOf(p000), arg1)
+ Store(0x11, arg1)
+ }
+
+ Method(m002, 2)
+ {
+ Store(RefOf(arg0), arg1)
+ CopyObject(0x11, arg1)
+
+ Store(RefOf(i000), arg1)
+ CopyObject(0x11, arg1)
+
+ Store(RefOf(s000), arg1)
+ CopyObject(0x11, arg1)
+
+ Store(RefOf(b000), arg1)
+ CopyObject(0x11, arg1)
+
+ Store(RefOf(p000), arg1)
+ CopyObject(0x11, arg1)
+ }
+
+ Method(m003, 2)
+ {
+ CopyObject(RefOf(arg0), arg1)
+ CopyObject(0x11, arg1)
+
+ CopyObject(RefOf(i000), arg1)
+ CopyObject(0x11, arg1)
+
+ CopyObject(RefOf(s000), arg1)
+ CopyObject(0x11, arg1)
+
+ CopyObject(RefOf(b000), arg1)
+ CopyObject(0x11, arg1)
+
+ CopyObject(RefOf(p000), arg1)
+ CopyObject(0x11, arg1)
+ }
+
+ BEG0(z111, ts)
+
+ // m000
+
+ m000(i000, i010)
+ m000(s000, s010)
+ m000(b000, b010)
+ m000(p000, p010)
+
+ m380(ts, i000, 0, 0)
+ m381(ts, s000, 0, 1)
+ m382(ts, b000, 0, 2)
+ m383(ts, p000, 0, 3)
+
+ m380(ts, i010, 0, 4)
+ m381(ts, s010, 0, 5)
+ m382(ts, b010, 0, 6)
+ m383(ts, p010, 0, 7)
+
+ if (y514) {
+ // m001
+
+ m001(i000, i010)
+ m001(s000, s010)
+ m001(b000, b010)
+ m001(p000, p010)
+
+ m380(ts, i000, 0, 8)
+ m381(ts, s000, 0, 9)
+ m382(ts, b000, 0, 10)
+ m383(ts, p000, 0, 11)
+
+ m380(ts, i010, 0, 12)
+ m381(ts, s010, 0, 13)
+ m382(ts, b010, 0, 14)
+ m383(ts, p010, 0, 15)
+
+ // m002
+
+ m002(i000, i010)
+ m002(s000, s010)
+ m002(b000, b010)
+ m002(p000, p010)
+
+ m380(ts, i000, 0, 16)
+ m381(ts, s000, 0, 17)
+ m382(ts, b000, 0, 18)
+ m383(ts, p000, 0, 19)
+
+ m380(ts, i010, 0, 20)
+ m381(ts, s010, 0, 21)
+ m382(ts, b010, 0, 22)
+ m383(ts, p010, 0, 23)
+ }
+
+ // m003
+
+ m003(i000, i010)
+ m003(s000, s010)
+ m003(b000, b010)
+ m003(p000, p010)
+
+ m380(ts, i000, 0, 24)
+ m381(ts, s000, 0, 25)
+ m382(ts, b000, 0, 26)
+ m383(ts, p000, 0, 27)
+
+ m380(ts, i010, 0, 28)
+ m381(ts, s010, 0, 29)
+ m382(ts, b010, 0, 30)
+ m383(ts, p010, 0, 31)
+
+ END0()
+}
+
+/*
+ * TEST 27: Check CopyObject to LocalX
+ *
+ * Local0-Local7 can be written with any type object without any conversion
+ *
+ * Check each type after each one
+ */
+Method(m23b)
+{
+ ts00("m23b")
+
+ m1b1()
+}
+
+/*
+ * TEST 28: Check Store to LocalX
+ *
+ * Local0-Local7 can be written without any conversion
+ *
+ * Check each type after each one
+ */
+Method(m23c)
+{
+ ts00("m23c")
+
+ m1b2()
+}
+
+/*
+ * TEST 29: CopyObject the result of RefOf to LocalX
+ *
+ * References to any type Objects are available.
+ */
+Method(m23d)
+{
+ ts00("m23d")
+
+ m1b4()
+}
+
+/*
+ * TEST 30: Store the result of RefOf to LocalX
+ *
+ * ACTUALLY: references to any type Objects are available
+ */
+Method(m23e)
+{
+ ts00("m23e")
+
+ m1b5()
+}
+
+/*
+ * TEST 31: CopyObject the result of Index to LocalX
+ */
+Method(m23f)
+{
+ ts00("m23f")
+
+ m1b6()
+}
+
+/*
+ * TEST 32: Store the result of Index to LocalX
+ */
+Method(m250)
+{
+ ts00("m250")
+
+ m1b7()
+}
+
+/*
+ * TEST 33: mix of all the legal ways (enumerated in
+ * tests TEST 27 - TEST 35) of initializing
+ * the LocalX.
+ */
+Method(m251)
+{
+ ts00("m251")
+
+ // Strategies:
+ // 1 - mix of groups, 2 - Mod-6 strategy, otherwise - linear
+
+ m1e0(1)
+}
+
+/*
+ * TEST 34: Obtain the NamedX objects of all the types
+ * and check their {type,size,value}.
+ *
+ * SEE: it is implemented in name/name.asl
+ */
+
+/*
+ * TEST 35
+ *
+ * Obtain and verify the ORef
+ * and IRef to named objects
+ * {type,size,value}.
+ */
+Method(m252)
+{
+ Name(ts, "m252")
+
+ ts00(ts)
+
+ m1ad(ts, 0, 1, 1, 1, 0)
+
+ // NamedX-ORef
+ m4d2()
+
+ // NamedX-IRef
+ m4d3()
+}
+
+/*
+ * TEST 36: Check ArgX-ORef being passed further to another Method
+ *
+ * ACTUALLY: writes to the original object
+ * Object:RefOf:ORef:ArgX-ORef:M2:M3:...:M*:write
+ * ^ Changed
+ *
+ * A set of available for Store types for to write into is restricted
+ */
+Method(m253)
+{
+ ts00("m253")
+
+ // Store
+ m34d(0)
+
+ // CopyObject
+ m34d(1)
+}
+
+/*
+ * TEST 37: Check ArgX-IRef being passed further to another Method
+ *
+ * ACTUALLY: doesn't write to the original object
+ */
+Method(m254)
+{
+ ts00("m254")
+
+ // Store
+ m34e(0)
+
+ // CopyObject
+ m34e(1)
+}
+
+/*
+ * TEST 38: Check write(x, RefOf(y))
+ */
+Method(m255)
+{
+ ts00("m255")
+
+ // Store
+ m34f()
+
+ // CopyObject
+ // CURRENTLY: compiler failed CopyObject(xx, RefOf(xx))
+ // m350()
+}
+
+/*
+ * TEST 39: Check write(x, Index(String))
+ */
+Method(m256)
+{
+ Name(ts, "m256")
+
+ ts00(ts)
+
+ Name(s000, "qwer0000")
+ Name(s010, "qwer0000")
+
+ BEG0(z111, ts)
+
+ // Store
+
+ Store(0x2b, Index(s000, 1))
+ m385(ts, s000, 0, 0)
+
+ Store(0x2b, Index(s010, 1, Local0))
+ m385(ts, s010, 0, 1)
+
+ // CopyObject
+ // CURRENTLY: compiler failed CopyObject(xx, Index(xx,xx))
+ // CopyObject(0x2b, Index(s020, 1))
+ // m385(ts, s020, 0, 2)
+
+ END0()
+}
+
+/*
+ * TEST 40: Check write(x, Index(Buffer))
+ */
+Method(m257)
+{
+ Name(ts, "m257")
+
+ ts00(ts)
+
+ Name(b000, Buffer(4) {1,0x77,3,4})
+ Name(b010, Buffer(4) {1,0x77,3,4})
+
+ BEG0(z111, ts)
+
+ // Store
+
+ Store(0x2b, Index(b000, 1))
+ m386(ts, b000, 0, 0)
+
+ Store(0x2b, Index(b010, 1, Local0))
+ m386(ts, b010, 0, 1)
+
+ END0()
+}
+
+/*
+ * TEST 41: Check Store(Object, Index(Package(){Uninitialized}))
+ */
+Method(m258, 1)
+{
+ Name(ts, "m258")
+
+ ts00(ts)
+
+ Name(p100, Package(18) {})
+
+ Store(0, Index(p100, 0))
+ Store(i900, Index(p100, 1))
+ Store(s900, Index(p100, 2))
+ Store(b900, Index(p100, 3))
+ Store(p953, Index(p100, 4))
+ Store(f900, Index(p100, 5))
+
+ if (arg0) {
+ // Check these for exceptions but not there
+ Store(d900, Index(p100, 6))
+ Store(e900, Index(p100, 7))
+ Store(m914, Index(p100, 8))
+ Store(mx90, Index(p100, 9))
+ Store(r900, Index(p100, 10))
+ Store(pw90, Index(p100, 11))
+ Store(pr90, Index(p100, 12))
+ Store(tz90, Index(p100, 13))
+ }
+
+ Store(bf90, Index(p100, 14))
+
+ Store(15, Index(p100, 15))
+ Store(16, Index(p100, 16))
+
+ // Verify p955-like Package
+
+ m1af(p100, 0, 0, 0)
+
+ m1a6()
+}
+
+/*
+ * TEST 42: Check CopyObject(Object, Index(Package(){Uninitialized}))
+ *
+ * CURRENTLY: compiler failed CopyObject(xx, Index(xx,xx))
+ */
+Method(m259)
+{
+ ts00("m259")
+
+ Name(p100, Package(18) {})
+
+/*
+ * CopyObject(i900, Index(p100, 1))
+ * CopyObject(s900, Index(p100, 2))
+ * CopyObject(b900, Index(p100, 3))
+ * CopyObject(p953, Index(p100, 4))
+ * CopyObject(f900, Index(p100, 5))
+ * CopyObject(d900, Index(p100, 6))
+ * CopyObject(e900, Index(p100, 7))
+ * CopyObject(m914, Index(p100, 8))
+ * CopyObject(mx90, Index(p100, 9))
+ * CopyObject(r900, Index(p100, 10))
+ * CopyObject(pw90, Index(p100, 11))
+ * CopyObject(pr90, Index(p100, 12))
+ * CopyObject(tz90, Index(p100, 13))
+ * CopyObject(bf90, Index(p100, 14))
+ *
+ * m1af(p100, 1, 0, 0)
+ *
+ *
+ * m1a6()
+ */
+}
+
+/*
+ * TEST 43: Check Store(RefOf(Object), Index(Package(){Uninitialized}))
+ */
+Method(m25a)
+{
+ ts00("m25a")
+
+ Name(p100, Package(18) {})
+
+ m352(p100)
+
+ m1af(p100, 1, 1, 1)
+
+ m1a6()
+}
+
+/*
+ * TEST 44: Check Store(Index(Object,x), Index(Package(){Uninitialized}))
+ */
+Method(m25b)
+{
+ ts00("m25b")
+
+ Name(p100, Package(18) {})
+
+ // Store IRef (Index(p955, x)) into Package
+ m353(p100, 0)
+
+ // Verify p955-like Package
+ m1af(p100, 1, 0, 1)
+
+ m1a6()
+}
+
+/*
+ * TEST 45: Check write(x, Index(Package(){Constant}))
+ */
+Method(m25c)
+{
+ Name(ts, "m25c")
+
+ ts00(ts)
+
+ Name(p000, Package(3) {5,0x77,7})
+ Name(p010, Package(3) {5,0x77,7})
+
+ BEG0(z111, ts)
+
+ // Store
+
+ Store(0x2b, Index(p000, 1))
+ m387(ts, p000, 0, 0)
+
+ Store(0x2b, Index(p010, 1, Local0))
+ m387(ts, p010, 0, 1)
+
+ END0()
+}
+
+/*
+ * TEST 46: Check write(x, Index(Package(){NamedX}))
+ */
+Method(m25d)
+{
+ ts00("m25d")
+
+ // Write Integer into Package and verify the obtained contents
+ m351(p955)
+
+ // Restore p955 Package
+ m1c6()
+
+ // Check that the original data (i900,...)
+ // are unchanged:
+
+ m1a6()
+}
+
+/*
+ * TEST 47: Check Store(Object, Index(Package(){ORef}))
+ */
+Method(m25e)
+{
+ ts00("m25e")
+
+ Name(p100, Package(18) {})
+
+ // Prepare Package with ORef elements
+ // pointing to the global *9** data:
+
+ m352(p100)
+
+ // Verify p955-like Package
+ m1af(p100, 1, 1, 1)
+
+ // Check the global *9** data are safe:
+
+ m1a6()
+
+ // Write Integer into Package over the ORef
+ // and verify the obtained contents
+
+ m351(p100)
+
+ // Check the global *9** data are safe:
+
+ m1a6()
+}
+
+/*
+ * TEST 48: Check Store(Object, Index(Package(){IRef}))
+ */
+Method(m25f)
+{
+ ts00("m25f")
+
+ Name(p100, Package(18) {})
+
+ // Store IRef (Index(p955, x)) into Package
+ // (p955 belongs to *9** data):
+ m353(p100, 0)
+
+ // Verify p955-like Package
+ m1af(p100, 1, 0, 1)
+
+ m1a6()
+
+ // Write Integer into Package over the IRef
+ // and verify the obtained contents
+
+ m351(p100)
+
+ // Check the global *9** data are safe:
+
+ m1a6()
+}
+
+/*
+ * TEST 49: ORef-LocalX
+ */
+Method(m260)
+{
+ ts00("m260")
+
+ // Store
+
+ m354()
+
+ // CopyObject
+
+ m355()
+}
+
+Method(m354)
+{
+ Name(ts, "m354")
+
+ Name(i000, 0x77)
+ Name(s000, "qwer0000")
+ Name(b000, Buffer(4) {1,0x77,3,4})
+ Name(p000, Package(3) {5,0x77,7})
+
+ Device(d000) { Name(i000, 0xabcd0017) }
+
+ Method(m000,1)
+ {
+ Store(0x2b, arg0)
+ }
+
+ BEG0(z111, ts)
+
+ Store(RefOf(i000), Local0)
+ if (0) {
+ // This is a reference
+ CH03(ts, 0, 0, 0, 0)
+ Add(Local0, 1, Local7)
+ CH04(ts, 0, 0xff, 0, 0, 0, 0)
+ }
+ m1a3(Local0, c009, 0, 0, 2)
+ m380(ts, DerefOf(Local0), 0, 3)
+ m000(Local0)
+ m384(ts, DerefOf(Local0), 0, 4)
+
+ Store(RefOf(s000), Local0)
+ m1a3(Local0, c00a, 0, 0, 5)
+ m381(ts, DerefOf(Local0), 0, 6)
+ m000(Local0)
+ m384(ts, DerefOf(Local0), 0, 7)
+
+ Store(RefOf(b000), Local0)
+ m1a3(Local0, c00b, 0, 0, 8)
+ m382(ts, DerefOf(Local0), 0, 9)
+ m000(Local0)
+ m384(ts, DerefOf(Local0), 0, 10)
+
+ Store(RefOf(p000), Local0)
+ m1a3(Local0, c00c, 0, 0, 11)
+ m383(ts, DerefOf(Local0), 0, 12)
+ m000(Local0)
+ m384(ts, DerefOf(Local0), 0, 13)
+
+ Store(RefOf(d000), Local0)
+ m1a3(Local0, c00e, 0, 0, 14)
+ m000(Local0)
+ m384(ts, DerefOf(Local0), 0, 15)
+
+ END0()
+}
+
+Method(m355)
+{
+ Name(ts, "m355")
+
+ Name(i000, 0x77)
+ Name(s000, "qwer0000")
+ Name(b000, Buffer(4) {1,0x77,3,4})
+ Name(p000, Package(3) {5,0x77,7})
+
+ Device(d000) { Name(i000, 0xabcd0017) }
+
+ Method(m000,1)
+ {
+ CopyObject(0x2b, arg0)
+ }
+
+ BEG0(z111, ts)
+
+ CopyObject(RefOf(i000), Local0)
+ if (0) {
+ // This is a reference
+ CH03(ts, 0, 2, 0, 0)
+ Add(Local0, 1, Local7)
+ CH04(ts, 0, 0xff, 0, 1, 0, 0)
+ }
+ m1a3(Local0, c009, 0, 0, 0)
+ m380(ts, DerefOf(Local0), 0, 1)
+ m000(Local0)
+ m384(ts, DerefOf(Local0), 0, 2)
+
+ CopyObject(RefOf(s000), Local0)
+ m1a3(Local0, c00a, 0, 0, 3)
+ m381(ts, DerefOf(Local0), 0, 4)
+ m000(Local0)
+ m384(ts, DerefOf(Local0), 0, 5)
+
+ CopyObject(RefOf(b000), Local0)
+ m1a3(Local0, c00b, 0, 0, 6)
+ m382(ts, DerefOf(Local0), 0, 7)
+ m000(Local0)
+ m384(ts, DerefOf(Local0), 0, 8)
+
+ CopyObject(RefOf(p000), Local0)
+ m1a3(Local0, c00c, 0, 0, 9)
+ m383(ts, DerefOf(Local0), 0, 10)
+ m000(Local0)
+ m384(ts, DerefOf(Local0), 0, 11)
+
+ CopyObject(RefOf(d000), Local0)
+ m1a3(Local0, c00e, 0, 0, 12)
+ m000(Local0)
+ m384(ts, DerefOf(Local0), 0, 13)
+
+ END0()
+}
+
+/*
+ * TEST 50: ORef-ArgX
+ */
+Method(m261)
+{
+ Name(ts, "m261")
+
+ ts00(ts)
+
+ Name(i000, 0x77)
+ Name(i001, 0x77)
+
+ BEG0(z111, ts)
+
+ // Store
+
+ if (y519) {
+ m356(i000)
+ m380(ts, i000, 0, 0)
+ } else {
+ m1ae(ts, "Store ORef to ArgX", "AE_AML_OPERAND_TYPE exception occurs")
+ }
+
+ // CopyObject
+
+ if (y520) {
+ m357(i001)
+ m380(ts, i001, 0, 1)
+ } else {
+ m1ae(ts, "CopyObject ORef to ArgX", "AE_AML_OPERAND_TYPE exception occurs")
+ }
+
+ END0()
+}
+
+Method(m356, 1)
+{
+ Name(ts, "m356")
+
+ Name(i000, 0x77)
+ Name(s000, "qwer0000")
+ Name(b000, Buffer(4) {1,0x77,3,4})
+ Name(p000, Package(3) {5,0x77,7})
+
+ Device(d000) { Name(i000, 0xabcd0017) }
+
+ Method(m000,1)
+ {
+ Store(0x2b, arg0)
+ }
+
+ BEG0(z111, ts)
+
+ Store(RefOf(i000), arg0)
+ if (0) {
+ // This is a reference
+ CH03(ts, 0, 4, 0, 0)
+ Add(arg0, 1, Local7)
+ CH04(ts, 0, 0xff, 0, 2, 0, 0)
+ }
+ m1a3(arg0, c009, 0, 0, 0)
+ m380(ts, DerefOf(arg0), 0, 1)
+ m000(arg0)
+ m384(ts, DerefOf(arg0), 0, 2)
+
+ Store(RefOf(s000), arg0)
+ m1a3(arg0, c00a, 0, 0, 3)
+ m381(ts, DerefOf(arg0), 0, 4)
+ m000(arg0)
+ m384(ts, DerefOf(arg0), 0, 5)
+
+ Store(RefOf(b000), arg0)
+ m1a3(arg0, c00b, 0, 0, 6)
+ m382(ts, DerefOf(arg0), 0, 7)
+ m000(arg0)
+ m384(ts, DerefOf(arg0), 0, 8)
+
+ Store(RefOf(p000), arg0)
+ m1a3(arg0, c00c, 0, 0, 9)
+ m383(ts, DerefOf(arg0), 0, 10)
+ m000(arg0)
+ m384(ts, DerefOf(arg0), 0, 11)
+
+ Store(RefOf(d000), arg0)
+ m1a3(arg0, c00e, 0, 0, 12)
+ m000(arg0)
+ m384(ts, DerefOf(arg0), 0, 13)
+
+ END0()
+}
+
+Method(m357, 1)
+{
+ Name(ts, "m357")
+
+ Name(i000, 0x77)
+ Name(s000, "qwer0000")
+ Name(b000, Buffer(4) {1,0x77,3,4})
+ Name(p000, Package(3) {5,0x77,7})
+
+ Device(d000) { Name(i000, 0xabcd0017) }
+
+ Method(m000,1)
+ {
+ CopyObject(0x2b, arg0)
+ }
+
+ BEG0(z111, ts)
+
+ CopyObject(RefOf(i000), arg0)
+ if (0) {
+ // This is a reference
+ CH03(ts, 0, 6, 0, 0)
+ Add(arg0, 1, Local7)
+ CH04(ts, 0, 0xff, 0, 3, 0, 0)
+ }
+ m1a3(arg0, c009, 0, 0, 0)
+ m380(ts, DerefOf(arg0), 0, 1)
+ m000(arg0)
+ m384(ts, DerefOf(arg0), 0, 2)
+
+ CopyObject(RefOf(s000), arg0)
+ m1a3(arg0, c00a, 0, 0, 3)
+ m381(ts, DerefOf(arg0), 0, 4)
+ m000(arg0)
+ m384(ts, DerefOf(arg0), 0, 5)
+
+ CopyObject(RefOf(b000), arg0)
+ m1a3(arg0, c00b, 0, 0, 6)
+ m382(ts, DerefOf(arg0), 0, 7)
+ m000(arg0)
+ m384(ts, DerefOf(arg0), 0, 8)
+
+ CopyObject(RefOf(p000), arg0)
+ m1a3(arg0, c00c, 0, 0, 9)
+ m383(ts, DerefOf(arg0), 0, 10)
+ m000(arg0)
+ m384(ts, DerefOf(arg0), 0, 11)
+
+ CopyObject(RefOf(d000), arg0)
+ m1a3(arg0, c00e, 0, 0, 12)
+ m000(arg0)
+ m384(ts, DerefOf(arg0), 0, 13)
+
+ END0()
+}
+
+/*
+ * TEST 51: ORef-NamedX
+ */
+Method(m262)
+{
+ Name(ts, "m262")
+
+ ts00(ts)
+
+ // Store
+
+ if (y521) {
+ m358()
+ } else {
+ m1ae(ts, "Store ORef to NamedX", "AE_AML_OPERAND_TYPE exception occurs")
+ }
+
+ // CopyObject
+
+ if (y522) {
+ m359()
+ } else {
+ m1ae(ts, "CopyObject ORef to NamedX", "AE_AML_OPERAND_TYPE exception occurs")
+ }
+}
+
+Method(m358)
+{
+ Name(ts, "m358")
+
+ Name(iii0, 0)
+
+ Name(i000, 0x77)
+ Name(s000, "qwer0000")
+ Name(b000, Buffer(4) {1,0x77,3,4})
+ Name(p000, Package(3) {5,0x77,7})
+
+ Device(d000) { Name(i000, 0xabcd0017) }
+
+ Method(m000,1)
+ {
+ Store(0x2b, arg0)
+ }
+
+ BEG0(z111, ts)
+
+ Store(RefOf(i000), iii0)
+ if (0) {
+ // This is a reference
+ CH03(ts, 0, 8, 0, 0)
+ Add(iii0, 1, Local7)
+ CH04(ts, 0, 0xff, 0, 4, 0, 0)
+ }
+ m1a3(iii0, c009, 0, 0, 0)
+ m380(ts, DerefOf(iii0), 0, 1)
+ m000(iii0)
+ m384(ts, DerefOf(iii0), 0, 2)
+
+ Store(RefOf(s000), iii0)
+ m1a3(iii0, c00a, 0, 0, 3)
+ m381(ts, DerefOf(iii0), 0, 4)
+ m000(iii0)
+ m384(ts, DerefOf(iii0), 0, 5)
+
+ Store(RefOf(b000), iii0)
+ m1a3(iii0, c00b, 0, 0, 6)
+ m382(ts, DerefOf(iii0), 0, 7)
+ m000(iii0)
+ m384(ts, DerefOf(iii0), 0, 8)
+
+ Store(RefOf(p000), iii0)
+ m1a3(iii0, c00c, 0, 0, 9)
+ m383(ts, DerefOf(iii0), 0, 10)
+ m000(iii0)
+ m384(ts, DerefOf(iii0), 0, 11)
+
+ Store(RefOf(d000), iii0)
+ m1a3(iii0, c00e, 0, 0, 12)
+ m000(iii0)
+ m384(ts, DerefOf(iii0), 0, 13)
+
+ END0()
+}
+
+Method(m359)
+{
+ Name(ts, "m359")
+
+ Name(iii0, 0)
+
+ Name(i000, 0x77)
+ Name(s000, "qwer0000")
+ Name(b000, Buffer(4) {1,0x77,3,4})
+ Name(p000, Package(3) {5,0x77,7})
+
+ Device(d000) { Name(i000, 0xabcd0017) }
+
+ Method(m000,1)
+ {
+ CopyObject(0x2b, arg0)
+ }
+
+ BEG0(z111, ts)
+
+ CopyObject(RefOf(i000), iii0)
+ if (0) {
+ // This is a reference
+ CH03(ts, 0, 10, 0, 0)
+ Add(iii0, 1, Local7)
+ CH04(ts, 0, 0xff, 0, 5, 0, 0)
+ }
+ m1a3(iii0, c009, 0, 0, 0)
+ m380(ts, DerefOf(iii0), 0, 1)
+ m000(iii0)
+ m384(ts, DerefOf(iii0), 0, 2)
+
+ CopyObject(RefOf(s000), iii0)
+ m1a3(iii0, c00a, 0, 0, 3)
+ m381(ts, DerefOf(iii0), 0, 4)
+ m000(iii0)
+ m384(ts, DerefOf(iii0), 0, 5)
+
+ CopyObject(RefOf(b000), iii0)
+ m1a3(iii0, c00b, 0, 0, 6)
+ m382(ts, DerefOf(iii0), 0, 7)
+ m000(iii0)
+ m384(ts, DerefOf(iii0), 0, 8)
+
+ CopyObject(RefOf(p000), iii0)
+ m1a3(iii0, c00c, 0, 0, 9)
+ m383(ts, DerefOf(iii0), 0, 10)
+ m000(iii0)
+ m384(ts, DerefOf(iii0), 0, 11)
+
+ CopyObject(RefOf(d000), iii0)
+ m1a3(iii0, c00e, 0, 0, 12)
+ m000(iii0)
+ m384(ts, DerefOf(iii0), 0, 13)
+
+ END0()
+}
+
+/*
+ * TEST 52: ORef-El_of_Package
+ */
+Method(m263)
+{
+ ts00("m263")
+
+ // Store
+
+ m35a()
+
+ // CopyObject
+
+ m35b()
+}
+
+Method(m35a)
+{
+ Name(ts, "m35a")
+
+ Name(ppp0, Package(5) {})
+
+ Name(i000, 0x77)
+ Name(s000, "qwer0000")
+ Name(b000, Buffer(4) {1,0x77,3,4})
+ Name(p000, Package(3) {5,0x77,7})
+
+ Device(d000) { Name(i000, 0xabcd0017) }
+
+ BEG0(z111, ts)
+
+ Store(RefOf(i000), Index(ppp0, 0))
+ Store(RefOf(s000), Index(ppp0, 1))
+ Store(RefOf(b000), Index(ppp0, 2))
+ Store(RefOf(p000), Index(ppp0, 3))
+ Store(RefOf(d000), Index(ppp0, 4))
+
+ Store(DerefOf(Index(ppp0, 0)), Local0)
+ m1a3(Local0, c009, 0, 0, 0)
+ m380(ts, DerefOf(Local0), 0, 1)
+
+ Store(DerefOf(Index(ppp0, 1)), Local0)
+ m1a3(Local0, c00a, 0, 0, 2)
+ m381(ts, DerefOf(Local0), 0, 3)
+
+ Store(DerefOf(Index(ppp0, 2)), Local0)
+ m1a3(Local0, c00b, 0, 0, 4)
+ m382(ts, DerefOf(Local0), 0, 5)
+
+ Store(DerefOf(Index(ppp0, 3)), Local0)
+ m1a3(Local0, c00c, 0, 0, 6)
+ m383(ts, DerefOf(Local0), 0, 7)
+
+ Store(DerefOf(Index(ppp0, 4)), Local0)
+ m1a3(Local0, c00e, 0, 0, 8)
+
+ // Replace
+
+ Store(RefOf(i000), Index(ppp0, 0))
+ Store(DerefOf(Index(ppp0, 0)), Local0)
+ m1a3(Local0, c009, 0, 0, 9)
+ m380(ts, DerefOf(Local0), 0, 10)
+
+ Store(RefOf(s000), Index(ppp0, 0))
+ Store(DerefOf(Index(ppp0, 0)), Local0)
+ m1a3(Local0, c00a, 0, 0, 11)
+ m381(ts, DerefOf(Local0), 0, 12)
+
+ Store(RefOf(b000), Index(ppp0, 0))
+ Store(DerefOf(Index(ppp0, 0)), Local0)
+ m1a3(Local0, c00b, 0, 0, 13)
+ m382(ts, DerefOf(Local0), 0, 14)
+
+ Store(RefOf(p000), Index(ppp0, 0))
+ Store(DerefOf(Index(ppp0, 0)), Local0)
+ m1a3(Local0, c00c, 0, 0, 15)
+ m383(ts, DerefOf(Local0), 0, 16)
+
+ Store(RefOf(d000), Index(ppp0, 0))
+ Store(DerefOf(Index(ppp0, 0)), Local0)
+ m1a3(Local0, c00e, 0, 0, 17)
+
+ END0()
+}
+
+// CURRENTLY: compiler failed CopyObject(xx, Index(xx,xx))
+Method(m35b)
+{
+/*
+ Name(ts, "m35b")
+
+ Name(ppp0, Package(5) {})
+
+ Name(i000, 0x77)
+ Name(s000, "qwer0000")
+ Name(b000, Buffer(4) {1,0x77,3,4})
+ Name(p000, Package(3) {5,0x77,7})
+
+ Device(d000) { Name(i000, 0xabcd0017) }
+
+ BEG0(z111, ts)
+
+ CopyObject(RefOf(i000), Index(ppp0, 0))
+ CopyObject(RefOf(s000), Index(ppp0, 1))
+ CopyObject(RefOf(b000), Index(ppp0, 2))
+ CopyObject(RefOf(p000), Index(ppp0, 3))
+ CopyObject(RefOf(d000), Index(ppp0, 4))
+
+ CopyObject(DerefOf(Index(ppp0, 0)), Local0)
+ m1a3(Local0, c009, 0, 0, 0)
+ m380(ts, DerefOf(Local0), 0, 1)
+
+ CopyObject(DerefOf(Index(ppp0, 1)), Local0)
+ m1a3(Local0, c00a, 0, 0, 2)
+ m381(ts, DerefOf(Local0), 0, 3)
+
+ CopyObject(DerefOf(Index(ppp0, 2)), Local0)
+ m1a3(Local0, c00b, 0, 0, 4)
+ m382(ts, DerefOf(Local0), 0, 5)
+
+ CopyObject(DerefOf(Index(ppp0, 3)), Local0)
+ m1a3(Local0, c00c, 0, 0, 6)
+ m383(ts, DerefOf(Local0), 0, 7)
+
+ CopyObject(DerefOf(Index(ppp0, 4)), Local0)
+ m1a3(Local0, c00e, 0, 0, 8)
+
+ // Replace
+
+ CopyObject(RefOf(i000), Index(ppp0, 0))
+ CopyObject(DerefOf(Index(ppp0, 0)), Local0)
+ m1a3(Local0, c009, 0, 0, 9)
+ m380(ts, DerefOf(Local0), 0, 10)
+
+ CopyObject(RefOf(s000), Index(ppp0, 0))
+ CopyObject(DerefOf(Index(ppp0, 0)), Local0)
+ m1a3(Local0, c00a, 0, 0, 11)
+ m381(ts, DerefOf(Local0), 0, 12)
+
+ CopyObject(RefOf(b000), Index(ppp0, 0))
+ CopyObject(DerefOf(Index(ppp0, 0)), Local0)
+ m1a3(Local0, c00b, 0, 0, 13)
+ m382(ts, DerefOf(Local0), 0, 14)
+
+ CopyObject(RefOf(p000), Index(ppp0, 0))
+ CopyObject(DerefOf(Index(ppp0, 0)), Local0)
+ m1a3(Local0, c00c, 0, 0, 15)
+ m383(ts, DerefOf(Local0), 0, 16)
+
+ CopyObject(RefOf(d000), Index(ppp0, 0))
+ CopyObject(DerefOf(Index(ppp0, 0)), Local0)
+ m1a3(Local0, c00e, 0, 0, 17)
+
+ END0()
+*/
+}
+
+/*
+ * TEST 53: IRef-LocalX
+ */
+Method(m264)
+{
+ ts00("m264")
+
+ // Store
+
+ m35c()
+
+ // CopyObject
+
+ m35d()
+}
+
+Method(m35c)
+{
+ Name(ts, "m35c")
+
+ Name(p000, Package(18) {})
+
+ BEG0(z111, ts)
+
+ // Construct the p955-like Package p000 applying LocalX-IRef
+
+ Store(Index(p956, 0), Local0)
+ Store(Local0, Index(p000, 0))
+
+ Store(Index(p956, 1), Local0)
+ Store(Local0, Index(p000, 1))
+
+ Store(Index(p956, 2), Local0)
+ Store(Local0, Index(p000, 2))
+
+ Store(Index(p956, 3), Local0)
+ Store(Local0, Index(p000, 3))
+
+ Store(Index(p956, 4), Local0)
+ Store(Local0, Index(p000, 4))
+
+ Store(Index(p956, 5), Local0)
+ Store(Local0, Index(p000, 5))
+
+ Store(Index(p956, 6), Local0)
+ Store(Local0, Index(p000, 6))
+
+ Store(Index(p956, 7), Local0)
+ Store(Local0, Index(p000, 7))
+
+ Store(Index(p956, 8), Local0)
+ Store(Local0, Index(p000, 8))
+
+ Store(Index(p956, 9), Local0)
+ Store(Local0, Index(p000, 9))
+
+ Store(Index(p956, 10), Local0)
+ Store(Local0, Index(p000, 10))
+
+ Store(Index(p956, 11), Local0)
+ Store(Local0, Index(p000, 11))
+
+ Store(Index(p956, 12), Local0)
+ Store(Local0, Index(p000, 12))
+
+ Store(Index(p956, 13), Local0)
+ Store(Local0, Index(p000, 13))
+
+ Store(Index(p956, 14), Local0)
+ Store(Local0, Index(p000, 14))
+
+ Store(Index(p956, 15), Local0)
+ Store(Local0, Index(p000, 15))
+
+ Store(Index(p956, 16), Local0)
+ Store(Local0, Index(p000, 16))
+
+ Store(0, Index(p000, 0))
+ Store(15, Index(p000, 15))
+ Store(16, Index(p000, 16))
+
+ // Verify p955-like Package
+
+ m1af(p000, 1, 0, 1)
+
+ m1a6()
+
+ END0()
+}
+
+// CURRENTLY: compiler failed CopyObject(xx, Index(xx,xx))
+Method(m35d)
+{
+/*
+ Name(ts, "m35d")
+
+ Name(p000, Package(18) {})
+
+ BEG0(z111, ts)
+
+ // Construct the p955-like Package p000 applying LocalX-IRef
+
+ CopyObject(Index(p956, 0), Local0)
+ CopyObject(Local0, Index(p000, 0))
+
+ CopyObject(Index(p956, 1), Local0)
+ CopyObject(Local0, Index(p000, 1))
+
+ CopyObject(Index(p956, 2), Local0)
+ CopyObject(Local0, Index(p000, 2))
+
+ CopyObject(Index(p956, 3), Local0)
+ CopyObject(Local0, Index(p000, 3))
+
+ CopyObject(Index(p956, 4), Local0)
+ CopyObject(Local0, Index(p000, 4))
+
+ CopyObject(Index(p956, 5), Local0)
+ CopyObject(Local0, Index(p000, 5))
+
+ CopyObject(Index(p956, 6), Local0)
+ CopyObject(Local0, Index(p000, 6))
+
+ CopyObject(Index(p956, 7), Local0)
+ CopyObject(Local0, Index(p000, 7))
+
+ CopyObject(Index(p956, 8), Local0)
+ CopyObject(Local0, Index(p000, 8))
+
+ CopyObject(Index(p956, 9), Local0)
+ CopyObject(Local0, Index(p000, 9))
+
+ CopyObject(Index(p956, 10), Local0)
+ CopyObject(Local0, Index(p000, 10))
+
+ CopyObject(Index(p956, 11), Local0)
+ CopyObject(Local0, Index(p000, 11))
+
+ CopyObject(Index(p956, 12), Local0)
+ CopyObject(Local0, Index(p000, 12))
+
+ CopyObject(Index(p956, 13), Local0)
+ CopyObject(Local0, Index(p000, 13))
+
+ CopyObject(Index(p956, 14), Local0)
+ CopyObject(Local0, Index(p000, 14))
+
+ CopyObject(Index(p956, 15), Local0)
+ CopyObject(Local0, Index(p000, 15))
+
+ CopyObject(Index(p956, 16), Local0)
+ CopyObject(Local0, Index(p000, 16))
+
+ CopyObject(0, Index(p000, 0))
+ CopyObject(15, Index(p000, 15))
+ CopyObject(16, Index(p000, 16))
+
+ // Verify p955-like Package
+
+ m1af(p000, 1, 0, 1)
+
+ m1a6()
+
+ END0()
+*/
+}
+
+/*
+ * TEST 54: IRef-ArgX
+ */
+Method(m265)
+{
+ Name(ts, "m265")
+
+ ts00(ts)
+
+ Name(i000, 0x77)
+ Name(i010, 0x77)
+
+ // Store
+
+ m35e(i000)
+ m380(ts, i000, z111, 0)
+
+ // CopyObject
+
+ m35f(i010)
+ m380(ts, i010, z111, 1)
+}
+
+Method(m35e, 1)
+{
+ Name(ts, "m35e")
+
+ Name(p000, Package(18) {})
+
+ BEG0(z111, ts)
+
+ // Construct the p955-like Package p000 applying LocalX-IRef
+
+ Store(Index(p956, 0), Arg0)
+ Store(Arg0, Index(p000, 0))
+
+ Store(Index(p956, 1), Arg0)
+ Store(Arg0, Index(p000, 1))
+
+ Store(Index(p956, 2), Arg0)
+ Store(Arg0, Index(p000, 2))
+
+ Store(Index(p956, 3), Arg0)
+ Store(Arg0, Index(p000, 3))
+
+ Store(Index(p956, 4), Arg0)
+ Store(Arg0, Index(p000, 4))
+
+ Store(Index(p956, 5), Arg0)
+ Store(Arg0, Index(p000, 5))
+
+ Store(Index(p956, 6), Arg0)
+ Store(Arg0, Index(p000, 6))
+
+ Store(Index(p956, 7), Arg0)
+ Store(Arg0, Index(p000, 7))
+
+ Store(Index(p956, 8), Arg0)
+ Store(Arg0, Index(p000, 8))
+
+ Store(Index(p956, 9), Arg0)
+ Store(Arg0, Index(p000, 9))
+
+ Store(Index(p956, 10), Arg0)
+ Store(Arg0, Index(p000, 10))
+
+ Store(Index(p956, 11), Arg0)
+ Store(Arg0, Index(p000, 11))
+
+ Store(Index(p956, 12), Arg0)
+ Store(Arg0, Index(p000, 12))
+
+ Store(Index(p956, 13), Arg0)
+ Store(Arg0, Index(p000, 13))
+
+ Store(Index(p956, 14), Arg0)
+ Store(Arg0, Index(p000, 14))
+
+ Store(Index(p956, 15), Arg0)
+ Store(Arg0, Index(p000, 15))
+
+ Store(Index(p956, 16), Arg0)
+ Store(Arg0, Index(p000, 16))
+
+ Store(0, Index(p000, 0))
+ Store(15, Index(p000, 15))
+ Store(16, Index(p000, 16))
+
+ // Verify p955-like Package
+
+ m1af(p000, 1, 0, 1)
+
+ m1a6()
+
+ END0()
+}
+
+// CURRENTLY: compiler failed CopyObject(xx, Index(xx,xx))
+Method(m35f, 1)
+{
+/*
+ Name(ts, "m35f")
+
+ Name(p000, Package(18) {})
+
+ BEG0(z111, ts)
+
+ // Construct the p955-like Package p000 applying LocalX-IRef
+
+ CopyObject(Index(p956, 0), Arg0)
+ CopyObject(Arg0, Index(p000, 0))
+
+ CopyObject(Index(p956, 1), Arg0)
+ CopyObject(Arg0, Index(p000, 1))
+
+ CopyObject(Index(p956, 2), Arg0)
+ CopyObject(Arg0, Index(p000, 2))
+
+ CopyObject(Index(p956, 3), Arg0)
+ CopyObject(Arg0, Index(p000, 3))
+
+ CopyObject(Index(p956, 4), Arg0)
+ CopyObject(Arg0, Index(p000, 4))
+
+ CopyObject(Index(p956, 5), Arg0)
+ CopyObject(Arg0, Index(p000, 5))
+
+ CopyObject(Index(p956, 6), Arg0)
+ CopyObject(Arg0, Index(p000, 6))
+
+ CopyObject(Index(p956, 7), Arg0)
+ CopyObject(Arg0, Index(p000, 7))
+
+ CopyObject(Index(p956, 8), Arg0)
+ CopyObject(Arg0, Index(p000, 8))
+
+ CopyObject(Index(p956, 9), Arg0)
+ CopyObject(Arg0, Index(p000, 9))
+
+ CopyObject(Index(p956, 10), Arg0)
+ CopyObject(Arg0, Index(p000, 10))
+
+ CopyObject(Index(p956, 11), Arg0)
+ CopyObject(Arg0, Index(p000, 11))
+
+ CopyObject(Index(p956, 12), Arg0)
+ CopyObject(Arg0, Index(p000, 12))
+
+ CopyObject(Index(p956, 13), Arg0)
+ CopyObject(Arg0, Index(p000, 13))
+
+ CopyObject(Index(p956, 14), Arg0)
+ CopyObject(Arg0, Index(p000, 14))
+
+ CopyObject(Index(p956, 15), Arg0)
+ CopyObject(Arg0, Index(p000, 15))
+
+ CopyObject(Index(p956, 16), Arg0)
+ CopyObject(Arg0, Index(p000, 16))
+
+ CopyObject(0, Index(p000, 0))
+ CopyObject(15, Index(p000, 15))
+ CopyObject(16, Index(p000, 16))
+
+ // Verify p955-like Package
+
+ m1af(p000, 1, 0, 1)
+
+ m1a6()
+
+ END0()
+*/
+}
+
+/*
+ * TEST 55: IRef-NamedX
+ */
+Method(m266)
+{
+ Name(ts, "m266")
+
+ ts00(ts)
+
+ // Store
+
+ if (y521) {
+ m360()
+ } else {
+ m1ae(ts, "Store IRef to NamedX", "AE_AML_OPERAND_TYPE exception occurs")
+ }
+
+ // CopyObject
+
+ m361()
+}
+
+Method(m360)
+{
+ Name(ts, "m360")
+
+ Name(iii0, 0)
+
+ Name(p000, Package(18) {})
+
+ BEG0(z111, ts)
+
+ // Construct the p955-like Package p000 applying LocalX-IRef
+
+ Store(Index(p956, 0), iii0)
+ Store(iii0, Index(p000, 0))
+
+ Store(Index(p956, 1), iii0)
+ Store(iii0, Index(p000, 1))
+
+ Store(Index(p956, 2), iii0)
+ Store(iii0, Index(p000, 2))
+
+ Store(Index(p956, 3), iii0)
+ Store(iii0, Index(p000, 3))
+
+ Store(Index(p956, 4), iii0)
+ Store(iii0, Index(p000, 4))
+
+ Store(Index(p956, 5), iii0)
+ Store(iii0, Index(p000, 5))
+
+ Store(Index(p956, 6), iii0)
+ Store(iii0, Index(p000, 6))
+
+ Store(Index(p956, 7), iii0)
+ Store(iii0, Index(p000, 7))
+
+ Store(Index(p956, 8), iii0)
+ Store(iii0, Index(p000, 8))
+
+ Store(Index(p956, 9), iii0)
+ Store(iii0, Index(p000, 9))
+
+ Store(Index(p956, 10), iii0)
+ Store(iii0, Index(p000, 10))
+
+ Store(Index(p956, 11), iii0)
+ Store(iii0, Index(p000, 11))
+
+ Store(Index(p956, 12), iii0)
+ Store(iii0, Index(p000, 12))
+
+ Store(Index(p956, 13), iii0)
+ Store(iii0, Index(p000, 13))
+
+ Store(Index(p956, 14), iii0)
+ Store(iii0, Index(p000, 14))
+
+ Store(Index(p956, 15), iii0)
+ Store(iii0, Index(p000, 15))
+
+ Store(Index(p956, 16), iii0)
+ Store(iii0, Index(p000, 16))
+
+ Store(0, Index(p000, 0))
+ Store(15, Index(p000, 15))
+ Store(16, Index(p000, 16))
+
+ // Verify p955-like Package
+
+ m1af(p000, 1, 0, 1)
+
+ m1a6()
+
+ END0()
+}
+
+// CURRENTLY: compiler failed CopyObject(xx, Index(xx,xx))
+Method(m361)
+{
+/*
+ Name(ts, "m361")
+
+ Name(iii0, 0)
+
+ Name(p000, Package(18) {})
+
+ BEG0(z111, ts)
+
+ // Construct the p955-like Package p000 applying LocalX-IRef
+
+ CopyObject(Index(p956, 0), iii0)
+ CopyObject(iii0, Index(p000, 0))
+
+ CopyObject(Index(p956, 1), iii0)
+ CopyObject(iii0, Index(p000, 1))
+
+ CopyObject(Index(p956, 2), iii0)
+ CopyObject(iii0, Index(p000, 2))
+
+ CopyObject(Index(p956, 3), iii0)
+ CopyObject(iii0, Index(p000, 3))
+
+ CopyObject(Index(p956, 4), iii0)
+ CopyObject(iii0, Index(p000, 4))
+
+ CopyObject(Index(p956, 5), iii0)
+ CopyObject(iii0, Index(p000, 5))
+
+ CopyObject(Index(p956, 6), iii0)
+ CopyObject(iii0, Index(p000, 6))
+
+ CopyObject(Index(p956, 7), iii0)
+ CopyObject(iii0, Index(p000, 7))
+
+ CopyObject(Index(p956, 8), iii0)
+ CopyObject(iii0, Index(p000, 8))
+
+ CopyObject(Index(p956, 9), iii0)
+ CopyObject(iii0, Index(p000, 9))
+
+ CopyObject(Index(p956, 10), iii0)
+ CopyObject(iii0, Index(p000, 10))
+
+ CopyObject(Index(p956, 11), iii0)
+ CopyObject(iii0, Index(p000, 11))
+
+ CopyObject(Index(p956, 12), iii0)
+ CopyObject(iii0, Index(p000, 12))
+
+ CopyObject(Index(p956, 13), iii0)
+ CopyObject(iii0, Index(p000, 13))
+
+ CopyObject(Index(p956, 14), iii0)
+ CopyObject(iii0, Index(p000, 14))
+
+ CopyObject(Index(p956, 15), iii0)
+ CopyObject(iii0, Index(p000, 15))
+
+ CopyObject(Index(p956, 16), iii0)
+ CopyObject(iii0, Index(p000, 16))
+
+ CopyObject(0, Index(p000, 0))
+ CopyObject(15, Index(p000, 15))
+ CopyObject(16, Index(p000, 16))
+
+ // Verify p955-like Package
+
+ m1af(p000, 1, 0, 1)
+
+ m1a6()
+
+ END0()
+*/
+}
+
+/*
+ * TEST 56: IRef-El_of_Package
+ */
+Method(m267)
+{
+ ts00("m267")
+
+ Name(p100, Package(18) {})
+
+ // Store
+
+ m25b()
+
+ if (q003) {
+ // CopyObject
+
+ // CopyObject IRef (Index(p955, x)) into Package
+ m353(p100, 1)
+
+ // Verify p955-like Package
+ m1af(p100, 1, 0, 1)
+
+ m1a6()
+ }
+}
+
+/*
+ * TEST 57: Store total
+ */
+Method(m268)
+{
+ m1ae("m268", "Store total", "Not implemented yet")
+}
+
+/*
+ * TEST 58: CopyObject total
+ */
+Method(m269)
+{
+ m1ae("m269", "CopyObject total", "Not implemented yet")
+}
+
+/*
+ * TEST 59: Mix of Store and CopyObject total
+ */
+Method(m26a)
+{
+ m1ae("m26a", "Mix of Store and CopyObject total",
+ "Not implemented yet")
+}
+
+/*
+ * TEST 60: Package total
+ */
+Method(m26b)
+{
+ Name(ts, "m26b")
+
+ ts00(ts)
+
+ Name(i000, 0x77)
+ Name(i001, 0x77)
+
+
+ // READ
+
+
+ // m1c1 & m1c2 - perform all the ways reading
+ // element of Package passed by ArgX.
+
+ // Read immediate image element of Package
+ //
+ // Package specified by the immediate
+ // images of {Integer, String, Buffer, Package}.
+ m1c1()
+
+ // Read NamedX element of Package
+ // {Integer, String, Buffer, Package}.
+ m1c2()
+
+ // Read any type named object element of Package
+ m1af(p955, 1, 1, 0)
+
+ // Check Uninitialized element of Package
+ m1c4()
+
+ // The chain of Index_References
+ m1c5()
+
+ // Access to the Method named object element of Package
+ m1c7()
+ m1c8()
+
+ // Read automatic dereference expected
+ // when accessing element of Package.
+ m1ce()
+ if (X132) {
+ m1cf() // bug 132
+ m1d0() // bug 132
+ }
+
+
+ // WRITE
+
+
+ // Write to element of Package specified as
+ // immediate IRef passed to method.
+ if (X133) {
+ m1d9() // bug 133
+ m1da() // bug 133
+ }
+
+
+ // EXCEPTIONS
+
+
+ // No read automatic dereference expected
+ m1d1()
+ if (X127) {
+ m1d2() // bug 127
+ }
+ m1d3(i000, i001)
+ m380(ts, i000, 0, 0)
+ m380(ts, i001, 0, 1)
+ if (X127) {
+ m1d4(i000, i001) // bug 127
+ }
+ m380(ts, i000, 0, 2)
+ m380(ts, i001, 0, 3)
+ if (X127) {
+ m1d5() // bug 127
+ m1d6() // bug 127
+ m1db() // bug 127
+ }
+
+ // Other
+ m1d7()
+ m1d8()
+
+ // DerefOf of the Method named object element of Package
+ m1c9()
+
+ // Size of Package
+
+ // m1ca: bug 129 (not a bug, in case of
+ // dynamically created Package non-limited
+ // size Package is allowed. Handled by the
+ // particular AML opcode VarPackage).
+ m1ca()
+ m1cb()
+}
+
+/*
+ * TEST 61: String total
+ */
+Method(m26c)
+{
+ m1ae("m26c", "String total", "Not implemented yet")
+}
+
+/*
+ * TEST 62: Buffer total
+ */
+Method(m26d)
+{
+ CH03("m26d", 0, 0, 0, 0)
+ m1ae("m26d", "Buffer total", "Not implemented yet")
+ CH03("m26d", 0, 1, 0, 0)
+}
+
+/*
+ * TEST 63: All the legal ways of WRITING ORef reference to some target location
+ */
+Method(m26e)
+{
+ Name(ts, "m26e")
+
+ if (y100) {
+ ts00(ts)
+ } else {
+ Store(ts, Debug)
+ }
+
+ CH03(ts, 0, 0, 0, 0)
+
+ // Store
+ m365()
+
+ // CopyObject
+ m366()
+
+ CH03(ts, 0, 1, 0, 0)
+}
+
+Method(m365)
+{
+ Name(ts, "m365")
+
+ Name(i000, 0x77)
+ Name(i001, 0x77)
+ Name(i002, 0x77)
+ Name(i003, 0)
+ Name(i004, 0x77)
+
+ Name(iii0, 0x11)
+ Name(iii1, 0x22)
+ Name(iii2, 0x33)
+ Name(iii3, 0x44)
+ Name(iii4, 0x55)
+ Name(iii5, 0x66)
+ Name(iii6, 0x88)
+ Name(iii7, 0x99)
+
+ Name(ppp0, Package(1) {0x11})
+ Name(ppp1, Package(1) {})
+
+ Method(m000, 1)
+ {
+ Name(i002, 0x77)
+
+ Store(RefOf(i002), arg0)
+ m380(ts, DerefOf(arg0), 0, 0)
+ m380(ts, i002, 0, 1)
+ }
+
+ Method(m001, 1)
+ {
+ Store(RefOf(i000), arg0)
+ }
+
+ Method(m002, 2)
+ {
+ Store(0, arg0)
+ m001(RefOf(arg0))
+ Store(DerefOf(arg0), arg1)
+ m380(ts, arg1, 0, 2)
+ }
+
+ Method(m003)
+ {
+ Store(RefOf(iii1), Local0)
+ return (Local0)
+ }
+
+ Method(m004, 1)
+ {
+ Store(RefOf(iii2), Local0)
+ return (Local0)
+ }
+
+ Method(m009)
+ {
+ return (RefOf(iii7))
+ }
+
+ Method(m005, 1)
+ {
+ Store(RefOf(i000), DerefOf(arg0))
+ }
+
+ Method(m006, 2)
+ {
+ Store(0, arg0)
+ m005(RefOf(arg0))
+ Store(DerefOf(arg0), arg1)
+ m380(ts, arg1, 0, 3)
+ }
+
+ Method(m007, 1)
+ {
+ Store(RefOf(i004), arg0)
+ }
+
+ Method(m008, 1)
+ {
+ Store(RefOf(i004), DerefOf(arg0))
+ }
+
+ BEG0(z111, ts)
+
+ // 1.
+ Store(RefOf(i000), Local0)
+ Store(DerefOf(Local0), Local1)
+ m380(ts, Local1, 0, 4)
+ m380(ts, i000, 0, 5)
+
+ // 2.
+ m000(i001)
+ m380(ts, i001, 0, 6)
+
+ // 3.
+ CopyObject(RefOf(i000), iii0)
+ Store(RefOf(i001), iii0)
+ Store(DerefOf(iii0), Local1)
+ m380(ts, i001, 0, 7)
+ if (y523) {
+ m380(ts, Local1, 0, 8)
+ }
+
+ // 4.
+ Store(0, Local0)
+ m001(RefOf(Local0))
+ Store(DerefOf(Local0), Local1)
+ m380(ts, Local1, 0, 9)
+
+ // 5.
+ m002(i001, i002)
+ m380(ts, i001, 0, 10)
+ m380(ts, i002, 0, 11)
+
+ // 6.
+ if (y526) {
+ CopyObject(RefOf(i003), iii5)
+ m007(RefOf(iii5))
+ Store(DerefOf(iii5), Local1)
+ m380(ts, Local1, 0, 12)
+ }
+
+ // 7.
+ if (y113) {
+ m001(Index(ppp0, 0))
+ Store(Index(ppp0, 0), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(DerefOf(Local1), Local2)
+ m380(ts, Local2, 0, 13)
+ }
+
+ // 8.
+ if (y525) {
+ CopyObject(RefOf(iii3), iii4)
+ Store(RefOf(i000), RefOf(iii4))
+ Store(DerefOf(iii4), Local1)
+ m380(ts, i000, 0, 14)
+ m380(ts, Local1, 0, 15)
+ }
+
+ // 9.
+ Store(RefOf(i000), Index(ppp1, 0))
+ Store(DerefOf(Index(ppp1, 0)), Local2)
+ Store(DerefOf(Local2), Local1)
+ m380(ts, Local1, 0, 16)
+ m380(ts, i000, 0, 17)
+
+ // 10.
+ if (X131) {
+ Store(RefOf(i000), m003())
+ Store(DerefOf(iii1), Local1)
+ m380(ts, i000, 0, 18)
+ m380(ts, Local1, 0, 19)
+ }
+
+ if (X131) {
+ Store(RefOf(i000), m009())
+ Store(DerefOf(iii7), Local1)
+ m380(ts, i000, 0, 20)
+ m380(ts, Local1, 0, 21)
+ }
+
+ // 11.
+ if (X131) {
+ Store(RefOf(i000), m004(0))
+ Store(DerefOf(iii2), Local1)
+ m380(ts, i000, 0, 22)
+ m380(ts, Local1, 0, 23)
+ }
+
+ // 12.
+ if (y524) {
+ Store(0x12, Local7)
+ Store(RefOf(Local7), Local6)
+ Store(RefOf(i000), DerefOf(Local6))
+ Store(DerefOf(Local7), Local0)
+ m380(ts, Local0, 0, 24)
+ m380(ts, i000, 0, 25)
+ }
+
+ // Particular cases of (12):
+
+ if (y524) {
+
+ // 13. (4)
+ Store(0, Local0)
+ m005(RefOf(Local0))
+ Store(DerefOf(Local0), Local1)
+ m380(ts, Local1, 0, 26)
+
+ // 14. (5)
+ m006(i001, i002)
+ m380(ts, i001, 0, 27)
+ m380(ts, i002, 0, 28)
+
+ // 15. (6)
+ if (y526) {
+ CopyObject(RefOf(i003), iii6)
+ m008(RefOf(iii6))
+ Store(DerefOf(iii6), Local1)
+ m380(ts, Local1, 0, 29)
+ }
+
+ // 16. (7)
+ if (y113) {
+ m005(Index(ppp0, 0))
+ Store(Index(ppp0, 0), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(DerefOf(Local1), Local2)
+ m380(ts, Local2, 0, 30)
+ }
+
+ // 17. (8)
+ if (y525) {
+ CopyObject(RefOf(iii3), iii4)
+ Store(RefOf(i000), DerefOf(RefOf(iii4)))
+ Store(DerefOf(iii4), Local1)
+ m380(ts, i000, 0, 31)
+ m380(ts, Local1, 0, 32)
+ }
+
+ // 18. (9)
+ Store(RefOf(i000), DerefOf(Index(ppp1, 0)))
+ Store(DerefOf(Index(ppp1, 0)), Local2)
+ Store(DerefOf(Local2), Local1)
+ m380(ts, Local1, 0, 33)
+ m380(ts, i000, 0, 34)
+
+ // 19. (10)
+ Store(RefOf(i000), DerefOf(m003()))
+ Store(DerefOf(iii1), Local1)
+ m380(ts, i000, 0, 35)
+ m380(ts, Local1, 0, 36)
+
+ // 20. (11)
+ Store(RefOf(i000), DerefOf(m004(0)))
+ Store(DerefOf(iii2), Local1)
+ m380(ts, i000, 0, 37)
+ m380(ts, Local1, 0, 38)
+ }
+
+ END0()
+}
+
+Method(m366)
+{
+ Name(ts, "m366")
+
+ Name(i000, 0x77)
+ Name(i001, 0x77)
+ Name(i002, 0x77)
+
+ Name(iii0, 0)
+ Name(iii1, 0)
+ Name(ppp0, Package(1) {})
+ Name(ppp1, Package(1) {0})
+
+ Method(m000, 1)
+ {
+ Name(i002, 0x77)
+
+ CopyObject(RefOf(i002), arg0)
+ m380(ts, DerefOf(arg0), 0, 0)
+ m380(ts, i002, 0, 1)
+ }
+
+ Method(m001, 1)
+ {
+ CopyObject(RefOf(i000), arg0)
+ }
+
+ Method(m002, 2)
+ {
+ Store(0, arg0)
+ m001(RefOf(arg0))
+ Store(DerefOf(arg0), arg1)
+ m380(ts, arg1, 0, 2)
+ }
+
+ BEG0(z111, ts)
+
+ // 21.
+ CopyObject(RefOf(i000), Local0)
+ Store(DerefOf(Local0), Local1)
+ m380(ts, Local1, 0, 3)
+ m380(ts, i000, 0, 4)
+
+ // 22.
+ m000(i001)
+ m380(ts, i001, 0, 5)
+
+ // 23.
+ if (y128) {
+ CopyObject(RefOf(i000), iii0)
+ Store(DerefOf(iii0), Local1)
+ m380(ts, Local1, 0, 6)
+ m380(ts, i000, 0, 7)
+ }
+
+ // 24.
+ Store(0, Local0)
+ m001(RefOf(Local0))
+ Store(DerefOf(Local0), Local1)
+ m380(ts, Local1, 0, 8)
+
+ // 25.
+ m002(i001, i002)
+ m380(ts, i001, 0, 9)
+ m380(ts, i002, 0, 10)
+
+ // 26.
+ if (y526) {
+ Store(0, iii1)
+ m001(RefOf(iii1))
+ Store(DerefOf(iii1), Local1)
+ m380(ts, Local1, 0, 11)
+ }
+
+ // 27.
+ if (y113) {
+ m001(Index(ppp1, 0))
+ Store(Index(ppp1, 0), Local0)
+ Store(DerefOf(Local0), Local1)
+ Store(DerefOf(Local1), Local2)
+ m380(ts, Local2, 0, 12)
+ }
+
+ /*
+ * 28. (Compiler failed)
+ *
+ * CopyObject(RefOf(i000), Index(ppp0, 0))
+ * Store(DerefOf(Index(ppp0, 0)), Local2)
+ * Store(DerefOf(Local2), Local1)
+ * m380(ts, Local1, 0, 13)
+ * m380(ts, i000, 0, 14)
+ */
+
+ END0()
+}
+
+/*
+ * TEST 64: All the legal ways of WRITING IRef reference to some target location
+ */
+Method(m26f)
+{
+ CH03("m26f", 0, 0, 0, 0)
+
+ m1ae("m26f", "All the legal ways of writing IRef reference to some target location",
+ "Not implemented yet")
+
+ CH03("m26f", 0, 1, 0, 0)
+}
+
+/*
+ * TEST 65: All the legal SOURCES of references (both ORef and IRef)
+ */
+Method(m270)
+{
+ Name(ts, "m270")
+
+ CH03(ts, 0, 0, 0, 0)
+
+ if (y100) {
+ ts00(ts)
+ } else {
+ Store(ts, Debug)
+ }
+
+ CH03(ts, 0, 1, 0, 0)
+
+ // Store
+ m367()
+
+ CH03(ts, 0, 2, 0, 0)
+
+ // CopyObject
+ m368()
+
+ CH03(ts, 0, 3, 0, 0)
+
+ m1ae("m270", "All the legal sources of references (ORef and IRef)",
+ "Started, but not implemented yet")
+
+ CH03(ts, 0, 4, 0, 0)
+}
+
+Method(m367)
+{
+ Name(ts, "m367")
+
+ Name(i000, 0x77)
+ Name(i001, 0x77)
+ Name(i002, 0x77)
+ Name(i003, 0x77)
+ Name(i004, 0x77)
+ Name(i005, 0x77)
+ Name(i006, 0x77)
+
+ Name(iii0, 0x11)
+ Name(iii1, 0x22)
+
+ Method(m001, 7)
+ {
+ Store(RefOf(i000), Local0)
+ Store(Local0, arg0)
+ Store(Local0, arg1)
+ Store(Local0, arg2)
+ Store(Local0, arg3)
+ Store(Local0, arg4)
+ Store(Local0, arg5)
+ Store(Local0, arg6)
+
+ Store(DerefOf(arg0), Local7)
+ m380(ts, Local7, 0, 0)
+ Store(DerefOf(arg1), Local7)
+ m380(ts, Local7, 0, 1)
+ Store(DerefOf(arg2), Local7)
+ m380(ts, Local7, 0, 2)
+ Store(DerefOf(arg3), Local7)
+ m380(ts, Local7, 0, 3)
+ Store(DerefOf(arg4), Local7)
+ m380(ts, Local7, 0, 4)
+ Store(DerefOf(arg5), Local7)
+ m380(ts, Local7, 0, 5)
+ Store(DerefOf(arg6), Local7)
+ m380(ts, Local7, 0, 6)
+ }
+
+ Method(m002, 7)
+ {
+ Store(RefOf(i000), arg0)
+ Store(arg0, arg1)
+ Store(arg1, arg2)
+ Store(arg2, arg3)
+ Store(arg3, arg4)
+ Store(arg4, arg5)
+ Store(arg5, arg6)
+
+ m380(ts, DerefOf(arg6), 0, 7)
+ Store(DerefOf(arg0), arg6)
+ m380(ts, arg6, 0, 8)
+ Store(DerefOf(arg1), arg6)
+ m380(ts, arg6, 0, 9)
+ Store(DerefOf(arg2), arg6)
+ m380(ts, arg6, 0, 10)
+ Store(DerefOf(arg3), arg6)
+ m380(ts, arg6, 0, 11)
+ Store(DerefOf(arg4), arg6)
+ m380(ts, arg6, 0, 12)
+ Store(DerefOf(arg5), arg6)
+ m380(ts, arg6, 0, 13)
+ }
+
+ BEG0(z111, ts)
+
+ // 1. ORef-LocalX
+ Store(RefOf(i000), Local0)
+ Store(Local0, Local1)
+ Store(Local1, Local2)
+ Store(Local2, Local3)
+ Store(Local3, Local4)
+ Store(Local4, Local5)
+ Store(Local5, Local6)
+ Store(Local6, Local7)
+
+ m380(ts, DerefOf(Local7), 0, 14)
+ Store(DerefOf(Local0), Local7)
+ m380(ts, Local7, 0, 15)
+ Store(DerefOf(Local1), Local7)
+ m380(ts, Local7, 0, 16)
+ Store(DerefOf(Local2), Local7)
+ m380(ts, Local7, 0, 17)
+ Store(DerefOf(Local3), Local7)
+ m380(ts, Local7, 0, 18)
+ Store(DerefOf(Local4), Local7)
+ m380(ts, Local7, 0, 19)
+ Store(DerefOf(Local5), Local7)
+ m380(ts, Local7, 0, 20)
+ Store(DerefOf(Local6), Local7)
+ m380(ts, Local7, 0, 21)
+
+ // 2. ORef-LocalX
+ m001(i000,i001,i002,i003,i004,i005,i006)
+ m380(ts, i000, 0, 22)
+ m380(ts, i001, 0, 23)
+ m380(ts, i002, 0, 24)
+ m380(ts, i003, 0, 25)
+ m380(ts, i004, 0, 26)
+ m380(ts, i005, 0, 27)
+ m380(ts, i006, 0, 28)
+
+ if (y134) {
+ // 2. ORef-ArgX
+ m002(i000,i001,i002,i003,i004,i005,i006)
+ m380(ts, i000, 0, 29)
+ m380(ts, i001, 0, 30)
+ m380(ts, i002, 0, 31)
+ m380(ts, i003, 0, 32)
+ m380(ts, i004, 0, 33)
+ m380(ts, i005, 0, 34)
+ m380(ts, i006, 0, 35)
+ }
+
+ // 3. ORef-LocalX
+
+ if (X128) {
+
+ // This operation causes Bug 128
+ CopyObject(RefOf(iii1), iii0)
+
+ Store(RefOf(i000), Local0)
+ Store(Local0, iii0)
+ Store(DerefOf(iii0), Local1)
+ m380(ts, i000, 0, 36)
+ if (y523) {
+ m380(ts, Local1, 0, 37)
+ }
+ }
+
+ END0()
+}
+
+Method(m368)
+{
+ Name(ts, "m368")
+
+ Name(i000, 0x77)
+
+ BEG0(z111, ts)
+
+ // 21. ORef-LocalX
+ CopyObject(RefOf(i000), Local0)
+ CopyObject(Local0, Local1)
+ CopyObject(Local1, Local2)
+ CopyObject(Local2, Local3)
+ CopyObject(Local3, Local4)
+ CopyObject(Local4, Local5)
+ CopyObject(Local5, Local6)
+ CopyObject(Local6, Local7)
+
+ m380(ts, DerefOf(Local7), 0, 0)
+ CopyObject(DerefOf(Local0), Local7)
+ m380(ts, Local7, 0, 1)
+ CopyObject(DerefOf(Local1), Local7)
+ m380(ts, Local7, 0, 2)
+ CopyObject(DerefOf(Local2), Local7)
+ m380(ts, Local7, 0, 3)
+ CopyObject(DerefOf(Local3), Local7)
+ m380(ts, Local7, 0, 4)
+ CopyObject(DerefOf(Local4), Local7)
+ m380(ts, Local7, 0, 5)
+ CopyObject(DerefOf(Local5), Local7)
+ m380(ts, Local7, 0, 6)
+ CopyObject(DerefOf(Local6), Local7)
+ m380(ts, Local7, 0, 7)
+
+ END0()
+}
+
+/*
+ * Separately (though such are already):
+ * put reference into element of Package
+ * and then write another reference into
+ * that element of that Package.
+ * No any correlation must be.
+ */
+
+Name( i003, 0x12345678)
+Name( p090, Package(9) {})
+Name( p091, Package(9) {1,2,3,4,5,6,7,8,9})
+
+Method(m271, 2)
+{
+ Store ( arg0, Index(p090, arg1))
+}
+
+// IRef upon IRef
+Method(m272)
+{
+ m271(Index(p091, 1), 3)
+ m271(Index(p091, 1), 3)
+}
+
+// IRef upon ORef
+Method(m273)
+{
+ m271(Refof(i003), 4)
+ m271(Index(p091, 1), 4)
+}
+
+// ORef upon IRef
+Method(m274)
+{
+ m271(Index(p091, 1), 5)
+ m271(Refof(i003), 5)
+}
+
+// ORef upon ORef
+Method(m275)
+{
+ m271(Refof(i003), 6)
+ m271(Refof(i003), 6)
+}
+
+Method(m276)
+{
+ m272()
+ m273()
+ m274()
+ m275()
+}
+
+
+/*
+ *
+ * Simple Tests
+ *
+ */
+
+
+// Simple TEST 1: read of ArgX-ORef with DerefOf
+Method(m341)
+{
+ Name(ts, "m341")
+
+ Name(i000, 0x19283746)
+ Store(RefOf(i000), Local0)
+
+ Method(m000, 1)
+ {
+ Store(DerefOf(Arg0), Local0)
+ Add(Local0, 5, Local7)
+ if (LNotEqual(Local7, 0x1928374b)) {
+ err(ts, z111, 9, 0, 0, Local7, 0x1928374b)
+ }
+ }
+
+ m000(Local0)
+}
+
+// Simple TEST 2: read of ArgX-ORef without DerefOf
+Method(m342)
+{
+ Name(ts, "m342")
+
+ Name(i000, 0)
+
+ BEG0(z111, ts)
+
+ Store(RefOf(i000), Local0)
+
+ m1cc(ts, Local0, 1, 0)
+ m1cd(ts, Local0, 1, 0)
+
+ m1cc(ts, RefOf(i000), 1, 0)
+ m1cd(ts, RefOf(i000), 1, 0)
+
+ END0()
+}
+
+// Simple TEST 3: read of ArgX-IRef with DerefOf
+Method(m343)
+{
+ Name(ts, "m343")
+
+ Name(p000, Package () {11, 12, 13, 14, 15})
+ Store(Index(p000, 3), Local0)
+
+ Method(m000, 1)
+ {
+ Store(DerefOf(Arg0), Local0)
+ Add(Local0, 5, Local7)
+ if (LNotEqual(Local7, 19)) {
+ err(ts, z111, 10, 0, 0, Local7, 19)
+ }
+ }
+
+ m000(Local0)
+}
+
+// Simple TEST 4: read of ArgX-IRef without DerefOf
+Method(m344)
+{
+ Name(ts, "m344")
+
+ Name(p000, Package () {11, 12, 13, 14, 15})
+ Store(Index(p000, 3), Local0)
+
+ Method(m000, 1)
+ {
+ Add(Arg0, 5, Local7)
+ if (LNotEqual(Local7, 19)) {
+ err(ts, z111, 11, 0, 0, Local7, 19)
+ }
+ }
+
+ m000(Local0)
+}
+
+// Simple TEST 8
+Method(m345)
+{
+ Name(ts, "m345")
+
+ Name(s000, "qwer0000")
+ Name(b000, Buffer(4) {1,0x77,3,4})
+ Name(p000, Package(3) {5,0x77,7})
+
+ Name(s010, "qwer0000")
+ Name(b010, Buffer(4) {1,0x77,3,4})
+ Name(p010, Package(3) {5,0x77,7})
+
+ // Store to reference keeping in LocalX
+ Method(m000, 1)
+ {
+ Store(Index(arg0, 1, Local0), Local1)
+
+ Store(0x90, Local0)
+ if (LNotEqual(Local0, 0x90)) {
+ err(ts, z111, 12, 0, 0, Local0, 0x90)
+ }
+ Store(0x91, Local1)
+ if (LNotEqual(Local1, 0x91)) {
+ err(ts, z111, 13, 0, 0, Local1, 0x91)
+ }
+ }
+
+ // CopyObject to reference keeping in LocalX
+ Method(m001, 1)
+ {
+ Store(Index(arg0, 1, Local0), Local1)
+
+ CopyObject(0x94, Local0)
+ if (LNotEqual(Local0, 0x94)) {
+ err(ts, z111, 14, 0, 0, Local0, 0x94)
+ }
+ CopyObject(0x95, Local1)
+ if (LNotEqual(Local1, 0x95)) {
+ err(ts, z111, 15, 0, 0, Local1, 0x95)
+ }
+ }
+
+ // Store to reference immediately
+ Method(m002, 1)
+ {
+ Store(0x2b, Index(arg0, 1))
+ }
+
+ // Store to reference immediately
+ Method(m003, 1)
+ {
+ Store(0x2b, Index(arg0, 1, Local0))
+ }
+
+ // CopyObject to reference immediately
+ Method(m004, 1)
+ {
+ // CopyObject(0x96, Index(arg0, 1))
+ // CopyObject(0x97, Index(arg0, 1, Local0))
+ }
+
+ BEG0(z111, ts)
+
+ m000(s000)
+ m000(b000)
+ m000(p000)
+
+ m381(ts, s000, 0, 0)
+ m382(ts, b000, 0, 1)
+ m383(ts, p000, 0, 2)
+
+ m001(s000)
+ m001(b000)
+ m001(p000)
+
+ m381(ts, s000, 0, 3)
+ m382(ts, b000, 0, 4)
+ m383(ts, p000, 0, 5)
+
+ m002(s000)
+ m002(b000)
+ m002(p000)
+
+ m385(ts, s000, 0, 6)
+ m386(ts, b000, 0, 7)
+ m387(ts, p000, 0, 8)
+
+ m003(s010)
+ m003(b010)
+ m003(p010)
+
+ m385(ts, s010, 0, 9)
+ m386(ts, b010, 0, 10)
+ m387(ts, p010, 0, 11)
+
+ END0()
+}
+
+Method(m346)
+{
+ Name(ts, "m346")
+
+ Name(i000, 0xabcd0000)
+
+ Method(m000, 1)
+ {
+ Store(RefOf(arg0), Local0)
+ Store(DerefOf(Local0), Local6)
+
+ Store(0x11111111, RefOf(arg0))
+ // CopyObject(0x11111111, RefOf(arg0))
+
+ Store(DerefOf(Local0), Local7)
+
+ Store(ObjectType(Local0), Local1)
+ if (LNotEqual(Local1, c009)) {
+ err(ts, z111, 16, 0, 0, Local1, c009)
+ } else {
+ Store(SizeOf(Local0), Local1)
+ if (LNotEqual(Local1, ISZ0)) {
+ err(ts, z111, 17, 0, 0, Local1, ISZ0)
+ }
+ if (LNotEqual(Local6, 0xabcd0000)) {
+ err(ts, z111, 18, 0, 0, Local6, 0xabcd0000)
+ }
+ if (LNotEqual(Local7, 0x11111111)) {
+ err(ts, z111, 19, 0, 0, Local7, 0x11111111)
+ }
+ }
+ }
+
+ m000(i000)
+ if (LNotEqual(i000, 0xabcd0000)) {
+ err(ts, z111, 20, 0, 0, i000, 0xabcd0000)
+ }
+}
+
+Method(m347)
+{
+ Name(ts, "m347")
+
+ Name(i000, 0xabcd0000)
+
+ Method(m000, 1)
+ {
+ Store(DerefOf(RefOf(arg0)), Local0)
+ Store(ObjectType(Local0), Local1)
+ if (LNotEqual(Local1, c009)) {
+ err(ts, z111, 21, 0, 0, Local1, c009)
+ } else {
+ Store(SizeOf(Local0), Local1)
+ if (LNotEqual(Local1, ISZ0)) {
+ err(ts, z111, 22, 0, 0, Local1, ISZ0)
+ }
+ if (LNotEqual(Local0, 0xabcd0000)) {
+ err(ts, z111, 23, 0, 0, Local0, 0xabcd0000)
+ }
+ }
+ }
+
+ m000(i000)
+ if (LNotEqual(i000, 0xabcd0000)) {
+ err(ts, z111, 24, 0, 0, i000, 0xabcd0000)
+ }
+}
+
+Method(m348)
+{
+ Name(ts, "m348")
+
+ Name(i000, 0xabcd0000)
+
+ Method(m000, 1)
+ {
+ Store(RefOf(arg0), Local0)
+ Store(DeRefOf(Local0), Local1)
+ Store(DeRefOf(Local1), Local2)
+ if (LNotEqual(Local2, 0xabcd0000)) {
+ err(ts, z111, 25, 0, 0, Local2, 0xabcd0000)
+ }
+
+ Store(0x11111111, RefOf(arg0))
+ Store(RefOf(arg0), Local0)
+ Store(0x11111111, Local0)
+
+ if (LNotEqual(Local0, 0x11111111)) {
+ err(ts, z111, 26, 0, 0, Local0, 0x11111111)
+ }
+ }
+
+ m000(RefOf(i000))
+ if (LNotEqual(i000, 0xabcd0000)) {
+ err(ts, z111, 27, 0, 0, i000, 0xabcd0000)
+ }
+
+ Store(RefOf(i000), Local0)
+ m000(Local0)
+ if (LNotEqual(i000, 0xabcd0000)) {
+ err(ts, z111, 28, 0, 0, i000, 0xabcd0000)
+ }
+ Store(DeRefOf(Local0), Local2)
+ if (LNotEqual(Local2, 0xabcd0000)) {
+ err(ts, z111, 29, 0, 0, Local2, 0xabcd0000)
+ }
+}
+
+Method(m349)
+{
+ Name(ts, "m349")
+
+ Name(i000, 0xabcd0000)
+ Name(i001, 0xabcd0001)
+
+ Method(m000, 1)
+ {
+ Store(DeRefOf(RefOf(arg0)), Local1)
+ Store(DeRefOf(Local1), Local2)
+ if (LNotEqual(Local2, 0xabcd0000)) {
+ err(ts, z111, 30, 0, 0, Local2, 0xabcd0000)
+ }
+ }
+
+ Method(m001, 1)
+ {
+ Store(0x11111111, DerefOf(RefOf(arg0)))
+ // CopyObject(0x11111111, DerefOf(RefOf(arg0)))
+ }
+
+ // Reading
+
+ m000(RefOf(i000))
+ if (LNotEqual(i000, 0xabcd0000)) {
+ err(ts, z111, 31, 0, 0, i000, 0xabcd0000)
+ }
+
+ Store(RefOf(i000), Local0)
+ m000(Local0)
+ if (LNotEqual(i000, 0xabcd0000)) {
+ err(ts, z111, 32, 0, 0, i000, 0xabcd0000)
+ }
+ if (y512) {
+ Store(DeRefOf(Local0), Local2)
+ if (LNotEqual(Local2, 0xabcd0000)) {
+ err(ts, z111, 33, 0, 0, Local2, 0xabcd0000)
+ }
+ }
+
+ // Writing
+
+ m001(RefOf(i001))
+ if (LNotEqual(i001, 0x11111111)) {
+ err(ts, z111, 34, 0, 0, i001, 0x11111111)
+ }
+
+ Store(RefOf(i001), Local0)
+ m001(Local0)
+ if (LNotEqual(i001, 0x11111111)) {
+ err(ts, z111, 35, 0, 0, i001, 0x11111111)
+ }
+ if (y512) {
+ Store(DeRefOf(Local0), Local2)
+ if (LNotEqual(Local2, 0x11111111)) {
+ err(ts, z111, 36, 0, 0, Local2, 0x11111111)
+ }
+ }
+}
+
+Method(m34a)
+{
+ Name(ts, "m34a")
+
+ Name(b000, Buffer() {1,2,0x69,4,5})
+
+ Method(m000, 1)
+ {
+ Store(DeRefOf(arg0), Local2)
+ if (LNotEqual(Local2, 0x69)) {
+ err(ts, z111, 37, 0, 0, Local2, 0x69)
+ }
+ }
+
+ // The same but use RefOf and than back DerefOf
+ Method(m001, 1)
+ {
+ Store(RefOf(arg0), Local0)
+ Store(DeRefOf(Local0), Local1)
+
+ Store(DeRefOf(Local1), Local2)
+ if (LNotEqual(Local2, 0x69)) {
+ err(ts, z111, 38, 0, 0, Local2, 0x69)
+ }
+ }
+
+ Method(m002, 1)
+ {
+ Store(0x11111111, RefOf(arg0))
+ Store(RefOf(arg0), Local0)
+ Store(0x11111111, Local0)
+
+ if (LNotEqual(Local0, 0x11111111)) {
+ err(ts, z111, 39, 0, 0, Local0, 0x11111111)
+ }
+ }
+
+ // m000
+
+ m000(Index(b000, 2))
+ if (LNotEqual(b000, Buffer() {1,2,0x69,4,5})) {
+ err(ts, z111, 40, 0, 0, b000, Buffer() {1,2,0x69,4,5})
+ }
+
+ Store(Index(b000, 2), Local0)
+ m000(Local0)
+ if (LNotEqual(b000, Buffer() {1,2,0x69,4,5})) {
+ err(ts, z111, 41, 0, 0, b000, Buffer() {1,2,0x69,4,5})
+ }
+ Store(DeRefOf(Local0), Local2)
+ if (LNotEqual(Local2, 0x69)) {
+ err(ts, z111, 42, 0, 0, Local2, 0x69)
+ }
+
+ Store(Index(b000, 2, Local0), Local1)
+ m000(Local0)
+ if (LNotEqual(b000, Buffer() {1,2,0x69,4,5})) {
+ err(ts, z111, 43, 0, 0, b000, Buffer() {1,2,0x69,4,5})
+ }
+ Store(DeRefOf(Local0), Local2)
+ if (LNotEqual(Local2, 0x69)) {
+ err(ts, z111, 44, 0, 0, Local2, 0x69)
+ }
+ m000(Local1)
+ if (LNotEqual(b000, Buffer() {1,2,0x69,4,5})) {
+ err(ts, z111, 45, 0, 0, b000, Buffer() {1,2,0x69,4,5})
+ }
+ Store(DeRefOf(Local1), Local2)
+ if (LNotEqual(Local2, 0x69)) {
+ err(ts, z111, 46, 0, 0, Local2, 0x69)
+ }
+
+ // m001
+
+ m001(Index(b000, 2))
+ if (LNotEqual(b000, Buffer() {1,2,0x69,4,5})) {
+ err(ts, z111, 47, 0, 0, b000, Buffer() {1,2,0x69,4,5})
+ }
+
+ Store(Index(b000, 2), Local0)
+ m001(Local0)
+ if (LNotEqual(b000, Buffer() {1,2,0x69,4,5})) {
+ err(ts, z111, 48, 0, 0, b000, Buffer() {1,2,0x69,4,5})
+ }
+ Store(DeRefOf(Local0), Local2)
+ if (LNotEqual(Local2, 0x69)) {
+ err(ts, z111, 49, 0, 0, Local2, 0x69)
+ }
+
+ Store(Index(b000, 2, Local0), Local1)
+ m001(Local0)
+ if (LNotEqual(b000, Buffer() {1,2,0x69,4,5})) {
+ err(ts, z111, 50, 0, 0, b000, Buffer() {1,2,0x69,4,5})
+ }
+ Store(DeRefOf(Local0), Local2)
+ if (LNotEqual(Local2, 0x69)) {
+ err(ts, z111, 51, 0, 0, Local2, 0x69)
+ }
+ m001(Local1)
+ if (LNotEqual(b000, Buffer() {1,2,0x69,4,5})) {
+ err(ts, z111, 52, 0, 0, b000, Buffer() {1,2,0x69,4,5})
+ }
+ Store(DeRefOf(Local1), Local2)
+ if (LNotEqual(Local2, 0x69)) {
+ err(ts, z111, 53, 0, 0, Local2, 0x69)
+ }
+
+ // m002
+
+ m002(Index(b000, 2))
+ if (LNotEqual(b000, Buffer() {1,2,0x69,4,5})) {
+ err(ts, z111, 54, 0, 0, b000, Buffer() {1,2,0x69,4,5})
+ }
+
+ Store(Index(b000, 2), Local0)
+ m002(Local0)
+ if (LNotEqual(b000, Buffer() {1,2,0x69,4,5})) {
+ err(ts, z111, 55, 0, 0, b000, Buffer() {1,2,0x69,4,5})
+ }
+ Store(DeRefOf(Local0), Local2)
+ if (LNotEqual(Local2, 0x69)) {
+ err(ts, z111, 56, 0, 0, Local2, 0x69)
+ }
+
+ Store(Index(b000, 2, Local0), Local1)
+ m002(Local0)
+ if (LNotEqual(b000, Buffer() {1,2,0x69,4,5})) {
+ err(ts, z111, 57, 0, 0, b000, Buffer() {1,2,0x69,4,5})
+ }
+ Store(DeRefOf(Local0), Local2)
+ if (LNotEqual(Local2, 0x69)) {
+ err(ts, z111, 58, 0, 0, Local2, 0x69)
+ }
+ m002(Local1)
+ if (LNotEqual(b000, Buffer() {1,2,0x69,4,5})) {
+ err(ts, z111, 59, 0, 0, b000, Buffer() {1,2,0x69,4,5})
+ }
+ Store(DeRefOf(Local1), Local2)
+ if (LNotEqual(Local2, 0x69)) {
+ err(ts, z111, 60, 0, 0, Local2, 0x69)
+ }
+}
+
+Method(m34b)
+{
+ Name(ts, "m34b")
+
+ Name(b000, Buffer() {1,2,0x69,4,5})
+ Name(b001, Buffer() {1,2,0x69,4,5})
+
+ Method(m000, 1)
+ {
+ Store(DeRefOf(arg0), Local2)
+ if (LNotEqual(Local2, 0x69)) {
+ err(ts, z111, 61, 0, 0, Local2, 0x69)
+ }
+ }
+
+ // The same but use RefOf and than back DerefOf
+ Method(m001, 1)
+ {
+ Store(DeRefOf(RefOf(arg0)), Local1)
+
+ Store(DeRefOf(Local1), Local2)
+ if (LNotEqual(Local2, 0x69)) {
+ err(ts, z111, 62, 0, 0, Local2, 0x69)
+ }
+ }
+
+ Method(m002, 1)
+ {
+ Store(0x11111111, DerefOf(RefOf(arg0)))
+ // CopyObject(0x11111111, DerefOf(RefOf(arg0)))
+ }
+
+ // m000
+
+ m000(Index(b000, 2))
+ if (LNotEqual(b000, Buffer() {1,2,0x69,4,5})) {
+ err(ts, z111, 63, 0, 0, b000, Buffer() {1,2,0x69,4,5})
+ }
+
+ Store(Index(b000, 2), Local0)
+ m000(Local0)
+ if (LNotEqual(b000, Buffer() {1,2,0x69,4,5})) {
+ err(ts, z111, 64, 0, 0, b000, Buffer() {1,2,0x69,4,5})
+ }
+ Store(DeRefOf(Local0), Local2)
+ if (LNotEqual(Local2, 0x69)) {
+ err(ts, z111, 65, 0, 0, Local2, 0x69)
+ }
+
+ Store(Index(b000, 2, Local0), Local1)
+ m000(Local0)
+ if (LNotEqual(b000, Buffer() {1,2,0x69,4,5})) {
+ err(ts, z111, 66, 0, 0, b000, Buffer() {1,2,0x69,4,5})
+ }
+ Store(DeRefOf(Local0), Local2)
+ if (LNotEqual(Local2, 0x69)) {
+ err(ts, z111, 67, 0, 0, Local2, 0x69)
+ }
+ m000(Local1)
+ if (LNotEqual(b000, Buffer() {1,2,0x69,4,5})) {
+ err(ts, z111, 68, 0, 0, b000, Buffer() {1,2,0x69,4,5})
+ }
+ Store(DeRefOf(Local1), Local2)
+ if (LNotEqual(Local2, 0x69)) {
+ err(ts, z111, 69, 0, 0, Local2, 0x69)
+ }
+
+ // m001
+
+ m001(Index(b000, 2))
+ if (LNotEqual(b000, Buffer() {1,2,0x69,4,5})) {
+ err(ts, z111, 70, 0, 0, b000, Buffer() {1,2,0x69,4,5})
+ }
+
+ Store(Index(b000, 2), Local0)
+ m001(Local0)
+ if (LNotEqual(b000, Buffer() {1,2,0x69,4,5})) {
+ err(ts, z111, 71, 0, 0, b000, Buffer() {1,2,0x69,4,5})
+ }
+ if (y512) {
+ Store(DeRefOf(Local0), Local2)
+ if (LNotEqual(Local2, 0x69)) {
+ err(ts, z111, 72, 0, 0, Local2, 0x69)
+ }
+ }
+
+ Store(Index(b000, 2, Local0), Local1)
+ m001(Local0)
+ if (LNotEqual(b000, Buffer() {1,2,0x69,4,5})) {
+ err(ts, z111, 73, 0, 0, b000, Buffer() {1,2,0x69,4,5})
+ }
+ if (y512) {
+ Store(DeRefOf(Local0), Local2)
+ if (LNotEqual(Local2, 0x69)) {
+ err(ts, z111, 74, 0, 0, Local2, 0x69)
+ }
+ }
+ m001(Local1)
+ if (LNotEqual(b000, Buffer() {1,2,0x69,4,5})) {
+ err(ts, z111, 75, 0, 0, b000, Buffer() {1,2,0x69,4,5})
+ }
+ if (y512) {
+ Store(DeRefOf(Local1), Local2)
+ if (LNotEqual(Local2, 0x69)) {
+ err(ts, z111, 76, 0, 0, Local2, 0x69)
+ }
+ }
+
+ // m002
+
+ m002(Index(b000, 2))
+ if (LNotEqual(b000, Buffer() {1,2,0x11,4,5})) {
+ err(ts, z111, 77, 0, 0, b000, Buffer() {1,2,0x11,4,5})
+ }
+
+ Store(Index(b000, 2), Local0)
+ m002(Local0)
+ if (LNotEqual(b000, Buffer() {1,2,0x11,4,5})) {
+ err(ts, z111, 78, 0, 0, b000, Buffer() {1,2,0x11,4,5})
+ }
+ if (y512) {
+ Store(DeRefOf(Local0), Local2)
+ if (LNotEqual(Local2, 0x11)) {
+ err(ts, z111, 79, 0, 0, Local2, 0x11)
+ }
+ }
+
+ Store(Index(b000, 2, Local0), Local1)
+ m002(Local0)
+ if (LNotEqual(b000, Buffer() {1,2,0x11,4,5})) {
+ err(ts, z111, 80, 0, 0, b000, Buffer() {1,2,0x11,4,5})
+ }
+ if (y512) {
+ Store(DeRefOf(Local0), Local2)
+ if (LNotEqual(Local2, 0x11)) {
+ err(ts, z111, 81, 0, 0, Local2, 0x11)
+ }
+ }
+ m002(Local1)
+ if (LNotEqual(b000, Buffer() {1,2,0x11,4,5})) {
+ err(ts, z111, 82, 0, 0, b000, Buffer() {1,2,0x11,4,5})
+ }
+ if (y512) {
+ Store(DeRefOf(Local1), Local2)
+ if (LNotEqual(Local2, 0x11)) {
+ err(ts, z111, 83, 0, 0, Local2, 0x11)
+ }
+ }
+}
+
+// Simple TEST 17
+Method(m34c)
+{
+ Name(ts, "m34c")
+
+ Name(s000, "qwer0000")
+ Name(b000, Buffer(4) {1,0x77,3,4})
+ Name(p000, Package(3) {5,0x77,7})
+
+ Name(s010, "qwer0000")
+ Name(b010, Buffer(4) {1,0x77,3,4})
+ Name(p010, Package(3) {5,0x77,7})
+
+ Name(s020, "qwer0000")
+ Name(b020, Buffer(4) {1,0x77,3,4})
+ Name(p020, Package(3) {5,0x77,7})
+
+ Name(s030, "qwer0000")
+ Name(b030, Buffer(4) {1,0x77,3,4})
+ Name(p030, Package(3) {5,0x77,7})
+
+ // Store to reference keeping in LocalX
+ Method(m000, 2)
+ {
+ Store(DerefOf(arg0), Local2)
+
+ Store(ObjectType(Local2), Local3)
+ if (LNotEqual(Local3, arg1)) {
+ err(ts, z111, 84, 0, 0, Local3, arg1)
+ }
+
+ Store(Index(Local2, 1, Local0), Local1)
+
+ Store(0x90, Local0)
+ if (LNotEqual(Local0, 0x90)) {
+ err(ts, z111, 85, 0, 0, Local0, 0x90)
+ }
+ Store(0x91, Local1)
+ if (LNotEqual(Local1, 0x91)) {
+ err(ts, z111, 86, 0, 0, Local1, 0x91)
+ }
+ }
+
+ // CopyObject to reference keeping in LocalX
+ Method(m001, 1)
+ {
+ Store(DerefOf(arg0), Local2)
+
+ Store(Index(Local2, 1, Local0), Local1)
+
+ CopyObject(0x94, Local0)
+ if (LNotEqual(Local0, 0x94)) {
+ err(ts, z111, 87, 0, 0, Local0, 0x94)
+ }
+ CopyObject(0x95, Local1)
+ if (LNotEqual(Local1, 0x95)) {
+ err(ts, z111, 88, 0, 0, Local1, 0x95)
+ }
+ }
+
+ // Store to reference immediately
+ Method(m002, 2)
+ {
+ Store(DerefOf(arg0), Local2)
+
+ Store(0x2b, Index(Local2, 1))
+
+ if (LEqual(arg1, c00a)) {
+ m385(ts, Local2, 0, 0)
+ } elseif (LEqual(arg1, c00b)) {
+ m386(ts, Local2, 0, 1)
+ } elseif (LEqual(arg1, c00c)) {
+ m387(ts, Local2, 0, 2)
+ }
+ }
+
+ // Store to reference immediately
+ Method(m003, 2)
+ {
+ Store(DerefOf(arg0), Local2)
+
+ Store(0x2b, Index(Local2, 1, Local0))
+
+ if (LEqual(arg1, c00a)) {
+ m385(ts, Local2, 0, 3)
+ } elseif (LEqual(arg1, c00b)) {
+ m386(ts, Local2, 0, 4)
+ } elseif (LEqual(arg1, c00c)) {
+ m387(ts, Local2, 0, 5)
+ }
+
+ Store(DerefOf(Local0), Local2)
+ if (LNotEqual(Local2, 0x2b)) {
+ err(ts, z111, 89, 0, 0, Local2, 0x2b)
+ }
+ }
+
+ Method(m010, 2)
+ {
+ Store(RefOf(arg0), Local0)
+ m000(Local0, arg1)
+
+ m000(RefOf(arg0), arg1)
+
+ if (LEqual(arg1, c00a)) {
+ m381(ts, arg0, 0, 6)
+ } elseif (LEqual(arg1, c00b)) {
+ m382(ts, arg0, 0, 7)
+ } elseif (LEqual(arg1, c00c)) {
+ m383(ts, arg0, 0, 8)
+ }
+ }
+
+ Method(m011, 2)
+ {
+ Store(RefOf(arg0), Local0)
+ m001(Local0)
+
+ m001(RefOf(arg0))
+
+ if (LEqual(arg1, c00a)) {
+ m381(ts, arg0, 0, 9)
+ } elseif (LEqual(arg1, c00b)) {
+ m382(ts, arg0, 0, 10)
+ } elseif (LEqual(arg1, c00c)) {
+ m383(ts, arg0, 0, 11)
+ }
+ }
+
+ Method(m012, 2)
+ {
+ Store(RefOf(arg0), Local0)
+ m002(Local0, arg1)
+
+ if (LEqual(arg1, c00a)) {
+ m381(ts, arg0, 0, 12)
+ } elseif (LEqual(arg1, c00b)) {
+ m382(ts, arg0, 0, 13)
+ } elseif (LEqual(arg1, c00c)) {
+ m383(ts, arg0, 0, 14)
+ }
+ }
+
+ Method(m022, 2)
+ {
+ m002(RefOf(arg0), arg1)
+
+ if (LEqual(arg1, c00a)) {
+ m381(ts, arg0, 0, 15)
+ } elseif (LEqual(arg1, c00b)) {
+ m382(ts, arg0, 0, 16)
+ } elseif (LEqual(arg1, c00c)) {
+ m383(ts, arg0, 0, 17)
+ }
+ }
+
+ Method(m013, 2)
+ {
+ Store(RefOf(arg0), Local0)
+ m003(Local0, arg1)
+
+ if (LEqual(arg1, c00a)) {
+ m381(ts, arg0, 0, 18)
+ } elseif (LEqual(arg1, c00b)) {
+ m382(ts, arg0, 0, 19)
+ } elseif (LEqual(arg1, c00c)) {
+ m383(ts, arg0, 0, 20)
+ }
+ }
+
+ Method(m023, 2)
+ {
+ m003(RefOf(arg0), arg1)
+
+ if (LEqual(arg1, c00a)) {
+ m381(ts, arg0, 0, 21)
+ } elseif (LEqual(arg1, c00b)) {
+ m382(ts, arg0, 0, 22)
+ } elseif (LEqual(arg1, c00c)) {
+ m383(ts, arg0, 0, 23)
+ }
+ }
+
+ BEG0(z111, ts)
+
+ m010(s000, c00a)
+ m010(b000, c00b)
+ m010(p000, c00c)
+
+ m381(ts, s000, 0, 24)
+ m382(ts, b000, 0, 25)
+ m383(ts, p000, 0, 26)
+
+ m011(s000, c00a)
+ m011(b000, c00b)
+ m011(p000, c00c)
+
+ m381(ts, s000, 0, 27)
+ m382(ts, b000, 0, 28)
+ m383(ts, p000, 0, 29)
+
+ m012(s000, c00a)
+ m012(b000, c00b)
+ m012(p000, c00c)
+
+ m381(ts, s000, 0, 30)
+ m382(ts, b000, 0, 31)
+ m383(ts, p000, 0, 32)
+
+ m022(s010, c00a)
+ m022(b010, c00b)
+ m022(p010, c00c)
+
+ m381(ts, s010, 0, 33)
+ m382(ts, b010, 0, 34)
+ m383(ts, p010, 0, 35)
+
+ m013(s020, c00a)
+ m013(b020, c00b)
+ m013(p020, c00c)
+
+ m381(ts, s020, 0, 36)
+ m382(ts, b020, 0, 37)
+ m383(ts, p020, 0, 38)
+
+ m023(s030, c00a)
+ m023(b030, c00b)
+ m023(p030, c00c)
+
+ m381(ts, s030, 0, 39)
+ m382(ts, b030, 0, 40)
+ m383(ts, p030, 0, 41)
+
+ END0()
+}
+
+Method(m34d, 1)
+{
+ Name(ts, "m34d")
+
+ Name(op00, 0)
+ Name(op01, 1)
+ Store(arg0, op00)
+
+ Name(i000, 0x77)
+ Name(s000, "qwer0000")
+ Name(b000, Buffer(4) {1,0x77,3,4})
+ Name(p000, Package(3) {5,0x77,7})
+
+ Name(i010, 0x77)
+ Name(s010, "qwer0000")
+ Name(b010, Buffer(4) {1,0x77,3,4})
+ Name(p010, Package(3) {5,0x77,7})
+
+ Name(i020, 0x77)
+ Name(s020, "qwer0000")
+ Name(b020, Buffer(4) {1,0x77,3,4})
+ Name(p020, Package(3) {5,0x77,7})
+
+ Name(i030, 0x77)
+ Name(s030, "qwer0000")
+ Name(b030, Buffer(4) {1,0x77,3,4})
+ Name(p030, Package(3) {5,0x77,7})
+
+ Name(i040, 0x77)
+ Name(s040, "qwer0000")
+ Name(b040, Buffer(4) {1,0x77,3,4})
+ Name(p040, Package(3) {5,0x77,7})
+
+ Name(i050, 0x77)
+ Name(s050, "qwer0000")
+ Name(b050, Buffer(4) {1,0x77,3,4})
+ Name(p050, Package(3) {5,0x77,7})
+
+ Name(i060, 0x77)
+ Name(s060, "qwer0000")
+ Name(b060, Buffer(4) {1,0x77,3,4})
+ Name(p060, Package(3) {5,0x77,7})
+
+ Name(i070, 0x77)
+ Name(s070, "qwer0000")
+ Name(b070, Buffer(4) {1,0x77,3,4})
+ Name(p070, Package(3) {5,0x77,7})
+
+ Name(i001, 0x2b)
+ Name(s001, "q+er0000")
+ Name(b001, Buffer(4) {1,0x2b,3,4})
+ Name(p001, Package(3) {5,0x2b,7})
+
+ Method(m000, 3)
+ {
+ Method(m000, 3)
+ {
+ Method(m000, 3)
+ {
+ Method(m000, 3)
+ {
+ Store(ObjectType(arg0), Local0)
+ if (LNotEqual(Local0, arg2)) {
+ err(ts, z111, 90, 0, 0, Local0, arg2)
+ }
+
+ if (op00) {
+
+ // CopyObject
+
+ if (LEqual(arg1, c009)) {
+ CopyObject(0x2b, arg0)
+ } elseif (LEqual(arg1, c00a)) {
+ CopyObject("q+er0000", arg0)
+ } elseif (LEqual(arg1, c00b)) {
+ CopyObject(Buffer(4) {1,0x2b,3,4}, arg0)
+ } elseif (LEqual(arg1, c00c)) {
+ CopyObject(Package(3) {5,0x2b,7}, arg0)
+ }
+
+ } else {
+
+ // Store
+
+ if (LEqual(arg1, c009)) {
+ Store(0x2b, arg0)
+ } elseif (LEqual(arg1, c00a)) {
+ Store("q+er0000", arg0)
+ } elseif (LEqual(arg1, c00b)) {
+ Store(Buffer(4) {1,0x2b,3,4}, arg0)
+ } elseif (LEqual(arg1, c00c)) {
+ Store(Package(3) {5,0x2b,7}, arg0)
+ }
+
+ }
+
+ Store(DerefOf(arg0), Local0)
+ m391(Local0, arg1, 0, 0)
+ }
+
+ m000(arg0, arg1, arg2)
+ Store(DerefOf(arg0), Local0)
+ m391(Local0, arg1, 0, 1)
+ }
+
+ m000(arg0, arg1, arg2)
+ Store(DerefOf(arg0), Local0)
+ m391(Local0, arg1, 0, 2)
+ }
+ m000(arg0, arg1, arg2)
+ Store(DerefOf(arg0), Local0)
+ m391(Local0, arg1, 0, 3)
+ }
+
+ BEG0(z111, ts)
+
+ // Write Integer
+
+ Store(RefOf(i000), Local0)
+ m000(Local0, c009, c009)
+ m391(i000, c009, 0, 4)
+ Store(DerefOf(Local0), Local2)
+ m391(Local2, c009, 0, 5)
+
+ Store(RefOf(s000), Local0)
+ m000(Local0, c009, c00a)
+ m391(s000, c009, 0, 6)
+ Store(DerefOf(Local0), Local2)
+ m391(Local2, c009, 0, 7)
+
+ Store(RefOf(b000), Local0)
+ m000(Local0, c009, c00b)
+ m391(b000, c009, 0, 8)
+ Store(DerefOf(Local0), Local2)
+ m391(Local2, c009, 0, 9)
+
+ Store(RefOf(p000), Local0)
+ m000(Local0, c009, c00c)
+ m391(p000, c009, 0, 10)
+ Store(DerefOf(Local0), Local2)
+ m391(Local2, c009, 0, 11)
+
+ // Write String
+
+ Store(RefOf(i010), Local0)
+ m000(Local0, c00a, c009)
+ m391(i010, c00a, 0, 12)
+ Store(DerefOf(Local0), Local2)
+ m391(Local2, c00a, 0, 13)
+
+ Store(RefOf(s010), Local0)
+ m000(Local0, c00a, c00a)
+ m391(s010, c00a, 0, 14)
+ Store(DerefOf(Local0), Local2)
+ m391(Local2, c00a, 0, 15)
+
+ Store(RefOf(b010), Local0)
+ m000(Local0, c00a, c00b)
+ m391(b010, c00a, 0, 16)
+ Store(DerefOf(Local0), Local2)
+ m391(Local2, c00a, 0, 17)
+
+ Store(RefOf(p010), Local0)
+ m000(Local0, c00a, c00c)
+ m391(p010, c00a, 0, 18)
+ Store(DerefOf(Local0), Local2)
+ m391(Local2, c00a, 0, 19)
+
+ // Write Buffer
+
+ Store(RefOf(i020), Local0)
+ m000(Local0, c00b, c009)
+ m391(i020, c00b, 0, 20)
+ Store(DerefOf(Local0), Local2)
+ m391(Local2, c00b, 0, 21)
+
+ Store(RefOf(s020), Local0)
+ m000(Local0, c00b, c00a)
+ m391(s020, c00b, 0, 22)
+ Store(DerefOf(Local0), Local2)
+ m391(Local2, c00b, 0, 23)
+
+ Store(RefOf(b020), Local0)
+ m000(Local0, c00b, c00b)
+ m391(b020, c00b, 0, 24)
+ Store(DerefOf(Local0), Local2)
+ m391(Local2, c00b, 0, 25)
+
+ Store(RefOf(p020), Local0)
+ m000(Local0, c00b, c00c)
+ m391(p020, c00b, 0, 26)
+ Store(DerefOf(Local0), Local2)
+ m391(Local2, c00b, 0, 27)
+
+ // Write Package
+
+ if (LNot(op00)) {
+ if (LNot(y516)) {
+ Store(0, op01)
+ }
+ }
+
+ if (op01) {
+ Store(RefOf(i030), Local0)
+ m000(Local0, c00c, c009)
+ m391(i030, c00c, 0, 28)
+ Store(DerefOf(Local0), Local2)
+ m391(Local2, c00c, 0, 29)
+
+ Store(RefOf(s030), Local0)
+ m000(Local0, c00c, c00a)
+ m391(s030, c00c, 0, 30)
+ Store(DerefOf(Local0), Local2)
+ m391(Local2, c00c, 0, 31)
+
+ Store(RefOf(b030), Local0)
+ m000(Local0, c00c, c00b)
+ m391(b030, c00c, 0, 32)
+ Store(DerefOf(Local0), Local2)
+ m391(Local2, c00c, 0, 33)
+
+ Store(RefOf(p030), Local0)
+ m000(Local0, c00c, c00c)
+ m391(p030, c00c, 0, 34)
+ Store(DerefOf(Local0), Local2)
+ m391(Local2, c00c, 0, 35)
+ }
+
+ // Write Integer
+
+ m000(RefOf(i040), c009, c009)
+ m391(i040, c009, 0, 36)
+ m000(RefOf(s040), c009, c00a)
+ m391(i040, c009, 0, 37)
+ m000(RefOf(b040), c009, c00b)
+ m391(i040, c009, 0, 38)
+ m000(RefOf(p040), c009, c00c)
+ m391(i040, c009, 0, 39)
+
+ // Write String
+
+ m000(RefOf(i050), c00a, c009)
+ m391(i050, c00a, 0, 40)
+ m000(RefOf(s050), c00a, c00a)
+ m391(i050, c00a, 0, 41)
+ m000(RefOf(b050), c00a, c00b)
+ m391(i050, c00a, 0, 42)
+ m000(RefOf(p050), c00a, c00c)
+ m391(i050, c00a, 0, 43)
+
+ // Write Bufer
+
+ m000(RefOf(i060), c00b, c009)
+ m391(i060, c00b, 0, 44)
+ m000(RefOf(s060), c00b, c00a)
+ m391(i060, c00b, 0, 45)
+ m000(RefOf(b060), c00b, c00b)
+ m391(i060, c00b, 0, 46)
+ m000(RefOf(p060), c00b, c00c)
+ m391(i060, c00b, 0, 47)
+
+ // Write Package
+ if (op01) {
+ m000(RefOf(i070), c00c, c009)
+ m391(i070, c00c, 0, 48)
+ m000(RefOf(s070), c00c, c00a)
+ m391(i070, c00c, 0, 49)
+ m000(RefOf(b070), c00c, c00b)
+ m391(i070, c00c, 0, 50)
+ m000(RefOf(p070), c00c, c00c)
+ m391(i070, c00c, 0, 51)
+ }
+
+ END0()
+}
+
+Method(m34e, 1)
+{
+ Name(ts, "m34e")
+
+ Name(op00, 0)
+ Store(arg0, op00)
+
+ Name(s000, "qwer0000")
+ Name(b000, Buffer(4) {1,0x77,3,4})
+ Name(p000, Package(3) {5,0x77,7})
+
+ Method(m000, 3)
+ {
+ Method(m000, 3)
+ {
+ Method(m000, 3)
+ {
+ Method(m000, 3)
+ {
+ Store(ObjectType(arg0), Local0)
+ if (LNotEqual(Local0, arg2)) {
+ err(ts, z111, 91, 0, 0, Local0, arg2)
+ }
+ if (op00) {
+ CopyObject(0x2b, arg0)
+ } else {
+ Store(0x2b, arg0)
+ }
+
+ m391(arg0, arg1, 0, 0)
+ }
+
+ m000(arg0, arg1, arg2)
+ Store(DerefOf(arg0), Local0)
+ m390(Local0, arg1, 0, 1)
+ }
+
+ m000(arg0, arg1, arg2)
+ Store(DerefOf(arg0), Local0)
+ m390(Local0, arg1, 0, 2)
+ }
+ m000(arg0, arg1, arg2)
+ Store(DerefOf(arg0), Local0)
+ m390(Local0, arg1, 0, 3)
+ }
+
+ BEG0(z111, ts)
+
+ // String
+
+ Store(Index(s000, 1), Local0)
+ m000(Local0, c009, c016)
+ m390(s000, c00a, 0, 4)
+ Store(DerefOf(Local0), Local2)
+ m380(ts, Local2, 0, 5)
+
+ // Buffer
+
+ Store(Index(b000, 1), Local0)
+ m000(Local0, c009, c016)
+ m390(b000, c00b, 0, 6)
+ Store(DerefOf(Local0), Local2)
+ m380(ts, Local2, 0, 7)
+
+ // Package
+
+ Store(Index(p000, 1), Local0)
+ m000(Local0, c009, c009)
+ m390(p000, c00c, 0, 8)
+ Store(DerefOf(Local0), Local2)
+ m380(ts, Local2, 0, 9)
+
+ END0()
+}
+
+Method(m34f)
+{
+ Name(ts, "m34f")
+
+ BEG0(z111, ts)
+
+ Store(0x77, RefOf(i900))
+ m380(ts, i900, 0, 0)
+ Store(0x77, RefOf(s900))
+ m4c0(ts, s900, "0000000000000077", "00000077")
+ Store(0x77, RefOf(b900))
+ m1aa(ts, b900, c00b, Buffer(4) {0x77,0,0,0,0}, 1)
+ Store(0x77, RefOf(p953))
+ m380(ts, p953, 0, 2)
+ Store(0x77, RefOf(e900))
+ m380(ts, e900, 0, 3)
+ Store(0x77, RefOf(mx90))
+ m380(ts, mx90, 0, 4)
+ Store(0x77, RefOf(d900))
+ m380(ts, d900, 0, 5)
+ if (y508) {
+ Store(0x77, RefOf(tz90))
+ m380(ts, tz90, 0, 6)
+ }
+ Store(0x77, RefOf(pr90))
+ m380(ts, pr90, 0, 7)
+ if (y510) {
+ Store(0x77, RefOf(r900))
+ m380(ts, r900, 0, 8)
+ }
+ Store(0x77, RefOf(pw90))
+ m380(ts, pw90, 0, 9)
+
+ m1ac()
+
+ m1a6()
+
+ END0()
+}
+
+// CURRENTLY: compiler failed CopyObject(xx, RefOf(xx))
+Method(m350)
+{
+ Name(ts, "m350")
+
+ // CopyObject(0x77, RefOf(i900))
+}
+
+// Write Integer into Package and verify the obtained contents
+// arg0 - Package
+Method(m351, 1)
+{
+ Name(ts, "m351")
+
+ Name(lpN0, 17)
+ Name(lpC0, 0)
+
+ Store(0x10, Local6)
+
+ While (lpN0) {
+ Store(Local6, Index(arg0, lpC0))
+ Increment(Local6)
+
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+
+ // Check that elements of Package are properly changed
+
+ Store(17, lpN0)
+ Store(0, lpC0)
+
+ Store(0x10, Local6)
+
+ While (lpN0) {
+ Store(Index(arg0, lpC0), Local0)
+ Store(ObjectType(Local0), Local1)
+ if (LNotEqual(Local1, c009)) {
+ err(ts, z111, 92, 0, 0, Local1, c009)
+ } else {
+ Store(DerefOf(Local0), Local1)
+ if (LNotEqual(Local1, Local6)) {
+ err(ts, z111, 93, 0, 0, Local1, Local6)
+ }
+ }
+ Increment(Local6)
+
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+}
+
+// Write ORef into Package
+// arg0 - Package
+Method(m352, 1)
+{
+ Store(0, Index(arg0, 0))
+
+ Store(RefOf(i900), Index(arg0, 1))
+ Store(RefOf(s900), Index(arg0, 2))
+ Store(RefOf(b900), Index(arg0, 3))
+ Store(RefOf(p953), Index(arg0, 4))
+ Store(RefOf(f900), Index(arg0, 5))
+
+ Store(RefOf(d900), Index(arg0, 6))
+ Store(RefOf(e900), Index(arg0, 7))
+ Store(RefOf(m914), Index(arg0, 8))
+ Store(RefOf(mx90), Index(arg0, 9))
+ Store(RefOf(r900), Index(arg0, 10))
+ Store(RefOf(pw90), Index(arg0, 11))
+ Store(RefOf(pr90), Index(arg0, 12))
+ Store(RefOf(tz90), Index(arg0, 13))
+
+ Store(RefOf(bf90), Index(arg0, 14))
+
+ Store(15, Index(arg0, 15))
+ Store(16, Index(arg0, 16))
+}
+
+// Write IRef (Index(p955, x)) into Package
+// arg0 - Package
+// arg1 - 0 - Store, otherwise - CopyObject
+Method(m353, 2)
+{
+ Name(lpN0, 17)
+ Name(lpC0, 0)
+
+ if (arg1) {
+ /*
+ * While (lpN0) {
+ * CopyObject(Index(p955, lpC0), Index(arg0, lpC0))
+ * Decrement(lpN0)
+ * Increment(lpC0)
+ * }
+ * CopyObject(0, Index(arg0, 0))
+ * CopyObject(15, Index(arg0, 15))
+ * CopyObject(16, Index(arg0, 16))
+ */
+ } else {
+ While (lpN0) {
+ Store(Index(p955, lpC0), Index(arg0, lpC0))
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+ Store(0, Index(arg0, 0))
+ Store(15, Index(arg0, 15))
+ Store(16, Index(arg0, 16))
+ }
+}
+
+Method(m362)
+{
+ Name(i000, 0)
+
+ Method(m000, 1)
+ {
+ Add(0x76, 1, Local0)
+ Store(Local0, arg0)
+ }
+
+ m000(RefOf(i000))
+ m380("m362", i000, z111, 0)
+}
+
+Method(m363)
+{
+ Name(i000, 0)
+
+ Method(m000, 1)
+ {
+ Add(0x76, 1, arg0)
+ }
+
+ m000(RefOf(i000))
+ m380("m363", i000, z111, 0)
+}
+
+
+Method(m364)
+{
+ Name(i000, 0)
+
+ Method(m000, 1)
+ {
+ Add(0x76, 1, arg0)
+ }
+
+ Store(RefOf(i000), Local0)
+ m000(Local0)
+ m380("m364", i000, z111, 0)
+}
+
+
+/*
+ *
+ * Auxiliary Methods
+ *
+ */
+
+
+// Run all the ORef relevant Methods of ref1-ref4
+Method(m4d0)
+{
+ m16f(0, 0, 1, 1, 1, 0, 0)
+ m175(0, 1, 1)
+ m185(0, 1, 1)
+ m195(0, 1, 1, 1, 0)
+}
+
+// Run all the IRef relevant Methods of ref1-ref4
+Method(m4d1)
+{
+ m16f(1, 1, 0, 0, 0, 1, 1)
+ m175(1, 0, 0)
+ m185(1, 0, 0)
+ m195(1, 0, 0, 0, 1)
+}
+
+// Run all the NamedX-ORef relevant Methods of ref1-ref4
+Method(m4d2)
+{
+ m16f(0, 0, 1, 1, 1, 0, 0)
+ m175(0, 1, 1)
+ m185(0, 1, 1)
+ m195(0, 1, 1, 1, 0)
+}
+
+// Run all the NamedX-IRef relevant Methods of ref1-ref4
+Method(m4d3)
+{
+ m16f(0, 1, 0, 0, 0, 0, 1)
+ m175(1, 0, 0)
+ m185(1, 0, 0)
+ m195(1, 0, 0, 0, 1)
+}
+
+/*
+Method(m4d0) {}
+Method(m4d1) {}
+Method(m4d2) {}
+Method(m4d3) {}
+Method(m1e0, 1) {}
+*/
+
+Method(mfab)
+{
+ /*
+ * Update required: do this test for different type target objects
+ * and reference elements (Iref/Oref; LocalX/ArgX/NamedX/...).
+ */
+
+ Name(pp00, Package() {0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87})
+ Name(p000, Package() {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,
+ 0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f})
+
+ // Over Integers
+
+ Store(RefOf(pp00), Index(p000, 0))
+ Store(Index(p000, 0), Index(p000, 1))
+ Store(Index(p000, 1), Index(p000, 2))
+ Store(Index(p000, 2), Index(p000, 3))
+ Store(Index(p000, 3), Index(p000, 4))
+ Store(Index(p000, 4), Index(p000, 5))
+ Store(Index(p000, 5), Index(p000, 6))
+ Store(Index(p000, 6), Index(p000, 7))
+ Store(Index(p000, 7), Index(p000, 8))
+ Store(Index(p000, 8), Index(p000, 9))
+ Store(Index(p000, 9), Index(p000, 10))
+ Store(Index(p000, 10), Index(p000, 11))
+ Store(Index(p000, 11), Index(p000, 12))
+ Store(Index(p000, 12), Index(p000, 13))
+ Store(Index(p000, 13), Index(p000, 14))
+ Store(Index(p000, 14), Index(p000, 15))
+
+ Index(p000, 15, Local0)
+ Store(ObjectType(Local0), Local1)
+ if (LNotEqual(Local1, c01c)) {
+ err("mfab", z111, 94, 0, 0, Local1, c01c)
+ }
+
+ Store(ObjectType(DerefOf(Local0)), Local1)
+ if (LNotEqual(Local1, c01c)) {
+ err("mfab", z111, 95, 0, 0, Local1, c01c)
+ }
+}
+
+Method(mfad)
+{
+ /*
+ * Update required: do this test for different type target objects
+ * and reference elements (Iref/Oref; LocalX/ArgX/NamedX/...).
+ */
+
+ Name(i000, 0xabcd0000)
+ Name(p000, Package() {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,
+ 0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f})
+
+ // Over Integers
+
+ Store(RefOf(i000), Index(p000, 0))
+ Store(Index(p000, 0), Index(p000, 1))
+ Store(Index(p000, 1), Index(p000, 2))
+ Store(Index(p000, 2), Index(p000, 3))
+ Store(Index(p000, 3), Index(p000, 4))
+ Store(Index(p000, 4), Index(p000, 5))
+ Store(Index(p000, 5), Index(p000, 6))
+ Store(Index(p000, 6), Index(p000, 7))
+ Store(Index(p000, 7), Index(p000, 8))
+ Store(Index(p000, 8), Index(p000, 9))
+ Store(Index(p000, 9), Index(p000, 10))
+ Store(Index(p000, 10), Index(p000, 11))
+ Store(Index(p000, 11), Index(p000, 12))
+ Store(Index(p000, 12), Index(p000, 13))
+ Store(Index(p000, 13), Index(p000, 14))
+ Store(Index(p000, 14), Index(p000, 15))
+ Store(Index(p000, 15), Index(p000, 0))
+
+ Index(p000, 15, Local0)
+
+ Store(Local0, Debug)
+
+ if (0) {
+ Store(ObjectType(Local0), Local1)
+ Store(Local1, Debug)
+ if (LNotEqual(Local1, c01c)) {
+ err("mfad", z111, 96, 0, 0, Local1, c01c)
+ }
+ } else {
+ /*
+ * ObjectType here falls into the infinitive loop.
+ * Sort this out!
+ */
+ err("mfad", z111, 97, 0, 0, 0, 0)
+ }
+}
+
+Method(mfc3)
+{
+ /*
+ * Update required: do this test for different type target objects
+ * and reference elements (Iref/Oref; LocalX/ArgX/NamedX/...).
+ */
+
+ Name(i000, 0xabcd0000)
+ Name(p000, Package() {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,
+ 0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f})
+
+ // Over Integers
+
+ Store(RefOf(i000), Index(p000, 0))
+ Store(Index(p000, 0), Index(p000, 1))
+ Store(Index(p000, 1), Index(p000, 2))
+ Store(Index(p000, 2), Index(p000, 3))
+ Store(Index(p000, 3), Index(p000, 4))
+ Store(Index(p000, 4), Index(p000, 5))
+ Store(Index(p000, 5), Index(p000, 6))
+ Store(Index(p000, 6), Index(p000, 7))
+ Store(Index(p000, 7), Index(p000, 8))
+ Store(Index(p000, 8), Index(p000, 9))
+ Store(Index(p000, 9), Index(p000, 10))
+ Store(Index(p000, 10), Index(p000, 11))
+ Store(Index(p000, 11), Index(p000, 12))
+ Store(Index(p000, 12), Index(p000, 13))
+ Store(Index(p000, 13), Index(p000, 14))
+ Store(Index(p000, 14), Index(p000, 15))
+ Store(Index(p000, 15), Index(p000, 0))
+
+ Index(p000, 15, Local0)
+
+ Store(Local0, Debug)
+
+ if (0) {
+ Store(SizeOf(Local0), Local1)
+ Store(Local1, Debug)
+ if (LNotEqual(Local1, 100)) {
+ err("mfc3", z111, 98, 0, 0, Local1, 100)
+ }
+ } else {
+ /*
+ * SizeOf here falls into the infinitive loop.
+ * Sort this out!
+ */
+ err("mfc3", z111, 99, 0, 0, 0, 0)
+ }
+}
+
+
+Method(mfc4)
+{
+ /*
+ * Update required: do this test for different type target objects
+ * and reference elements (Iref/Oref; LocalX/ArgX/NamedX/...).
+ */
+
+ Name(i000, 0xabcd0000)
+ Name(p000, Package() {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,
+ 0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f})
+
+ // Over Integers
+
+ Store(RefOf(i000), Index(p000, 0))
+ Store(Index(p000, 0), Index(p000, 1))
+ Store(Index(p000, 1), Index(p000, 2))
+ Store(Index(p000, 2), Index(p000, 3))
+ Store(Index(p000, 3), Index(p000, 4))
+ Store(Index(p000, 4), Index(p000, 5))
+ Store(Index(p000, 5), Index(p000, 6))
+ Store(Index(p000, 6), Index(p000, 7))
+ Store(Index(p000, 7), Index(p000, 8))
+ Store(Index(p000, 8), Index(p000, 9))
+ Store(Index(p000, 9), Index(p000, 10))
+ Store(Index(p000, 10), Index(p000, 11))
+ Store(Index(p000, 11), Index(p000, 12))
+ Store(Index(p000, 12), Index(p000, 13))
+ Store(Index(p000, 13), Index(p000, 14))
+ Store(Index(p000, 14), Index(p000, 15))
+ Store(Index(p000, 15), Index(p000, 0))
+
+ Index(p000, 15, Local0)
+
+ Store(Local0, Debug)
+
+ if (1) {
+ Store(DerefOf(Local0), Local1)
+ Store(Local1, Debug)
+ if (LNotEqual(Local1, 100)) {
+ err("mfc4", z111, 100, 0, 0, Local1, 100)
+ }
+ } else {
+ /*
+ * SizeOf here falls into the infinitive loop.
+ * Sort this out!
+ */
+ err("mfc4", z111, 101, 0, 0, 0, 0)
+ }
+}
+
+/*
+
+!!!!!!!!!!!!!!!!!!!!!!!
+Do this test, like this - run Derefof for the chain of references (IR/OR)
+and for ring of them.
+I dont remember if we have already such test.
+!!!!!!!!!!!!!!!!!!!!!!!
+
+ Method(m000)
+ {
+ *
+ * Printing excluded while bug 206 (Store-to-Debug operation
+ * falls into infinite loop for ring of RefOf references) is
+ * not fixed.
+ *
+
+ Store(RefOf(Local0), Local1)
+ Store(RefOf(Local1), Local2)
+ Store(RefOf(Local2), Local0)
+
+ Store(DerefOf(Local0), Local7)
+ Store(Local7, Debug)
+
+ Store(DerefOf(Local7), Local6)
+ Store(Local6, Debug)
+
+ Store(DerefOf(Local6), Local5)
+ Store(Local5, Debug)
+ }
+*/
+
+// Run-method
+Method(REF9)
+{
+ Store("TEST: REF9, Object and Index References and the call-by-reference convention", Debug)
+
+ Store(1, c085) // create the chain of references to LocalX, then dereference them
+ Store(0, c086) // flag, run test till the first error
+ Store(1, c088) // test run mode
+ Store(0, c089) // flag of Reference, object otherwise
+ Store(0, c08b) // do RefOf(ArgX) checkings
+
+ if (LNot(c088)) {
+ Store("A T T E N T I O N: simple mode!", Debug)
+ }
+
+if (1) {
+
+ SRMT("m221")
+ m221()
+ SRMT("m222")
+ m222()
+ SRMT("m223")
+ m223()
+ SRMT("m224")
+ m224()
+ SRMT("m225")
+ m225()
+ SRMT("m226")
+ m226()
+ SRMT("m227")
+ m227()
+ SRMT("m228")
+ m228()
+ SRMT("m229")
+ m229()
+ SRMT("m22a")
+ m22a()
+ SRMT("m22b")
+ m22b()
+ SRMT("m22c")
+ m22c()
+ SRMT("m22d")
+ if (y164) {
+ m22d()
+ } else {
+ BLCK()
+ }
+ SRMT("m22e")
+ m22e()
+ SRMT("m22f")
+ m22f()
+ SRMT("m230")
+ m230()
+ SRMT("m231")
+ m231()
+ SRMT("m232")
+ m232()
+ SRMT("m233")
+ m233() // bug 130 (m34c)
+ SRMT("m234")
+ m234()
+ SRMT("m235")
+ m235()
+ SRMT("m236")
+ m236()
+ SRMT("m237")
+ m237()
+ SRMT("m238")
+ m238()
+ SRMT("m239")
+ m239()
+ SRMT("m23a")
+ m23a()
+ SRMT("m23b")
+ m23b()
+ SRMT("m23c")
+ m23c()
+ SRMT("m23d")
+ m23d()
+ SRMT("m23e")
+ m23e()
+ SRMT("m23f")
+ m23f()
+ SRMT("m250")
+ m250()
+ SRMT("m251")
+ m251()
+ SRMT("m252")
+ m252()
+ SRMT("m253")
+ m253()
+ SRMT("m254")
+ m254()
+ SRMT("m255")
+ m255()
+ SRMT("m256")
+ m256()
+ SRMT("m257")
+ m257()
+ SRMT("m258")
+ m258(0)
+ SRMT("m259")
+ m259()
+ SRMT("m25a")
+ m25a()
+ SRMT("m25b")
+ m25b()
+ SRMT("m25c")
+ m25c()
+ SRMT("m25d")
+ m25d()
+ SRMT("m25e")
+ m25e()
+ SRMT("m25f")
+ m25f()
+ SRMT("m260")
+ m260()
+ SRMT("m261")
+ m261()
+ SRMT("m262")
+ m262()
+ SRMT("m263")
+ m263()
+ SRMT("m264")
+ m264()
+ SRMT("m265")
+ m265()
+ SRMT("m266")
+ m266()
+ SRMT("m267")
+ m267()
+ SRMT("m268")
+ m268()
+ SRMT("m269")
+ m269()
+ SRMT("m26a")
+ m26a()
+ SRMT("m26b")
+ if (y164) {
+ m26b() // bugs, see inside
+ } else {
+ BLCK()
+ }
+ SRMT("m26c")
+ m26c()
+ SRMT("m26d")
+ m26d()
+ SRMT("m26e")
+ m26e() // bug 131 (m365)
+ SRMT("m26f")
+ m26f()
+
+ SRMT("m270")
+ m270() // bug 134
+ SRMT("m276")
+ m276()
+
+ SRMT("mfab")
+ if (y603) {
+ mfab()
+ } else {
+ BLCK()
+ }
+
+ SRMT("mfad")
+ if (y603) {
+ mfad()
+ } else {
+ BLCK()
+ }
+
+ SRMT("mfc3")
+ if (y603) {
+ mfc3()
+ } else {
+ BLCK()
+ }
+
+ SRMT("mfc4")
+ if (y603) {
+ mfc4()
+ } else {
+ BLCK()
+ }
+
+} else {
+
+ // To run particular sub-tests here
+
+ SRMT("m1d5")
+ m1d5()
+
+
+
+/*
+ SRMT("m23b")
+ m23b()
+
+ SRMT("m251")
+ m251()
+*/
+
+/*
+ SRMT("mfab")
+ mfab()
+
+ SRMT("mfad")
+ mfad()
+
+ SRMT("mfc3")
+ mfc3()
+
+ SRMT("mfc4")
+ mfc4()
+
+// SRMT("m234")
+// m234()
+// SRMT("m26b")
+// m26b()
+// m251()
+// m22d()
+// m26b()
+// m276()
+*/
+}
+
+
+// SEE and do these below:
+
+/*
+1. See bug 130, add this checking:
+ see this when worked on m233()
+
+ Method(m000, 1)
+ {
+// Store(DerefOf(arg0), Local2)
+// Store(0x2b, Index(Local2, 1))
+
+ Store(0x2b, Index(DerefOf(arg0), 1))
+ }
+2. do many enclosed method calls
+ to show that index to Str,Buf,Pckg
+ changes the intial object nevertheless
+
+*/
+/*
+Method (M001)
+{
+Name(P004, Package(Add (128, 3)) {})
+Name(P005, Package(Add (128, 1024)) {})
+}
+*/
+/*
+Use the same object in several operands and results
+*/
+
+}
+
+
+
+
+
diff --git a/tests/aslts/src/runtime/collections/functional/reference/ref70.asl b/tests/aslts/src/runtime/collections/functional/reference/ref70.asl
new file mode 100644
index 000000000..8228b38cd
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/reference/ref70.asl
@@ -0,0 +1,924 @@
+/*
+ * 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.
+ */
+
+/*
+ * References
+ *
+ * Verify exceptions for different operators dealing with references
+ */
+
+/*
+SEE: FILE BUG: hangs without printing error
+SEE: FILE BUG: CondRefOf doesnt cause exception but only under some conditions
+*/
+
+Name(z081, 81)
+
+// Run operator and expect ANY exception(s)
+Method(m1a7, 7)
+{
+ Name(ts, "m1a7")
+
+ Store(1, FLG3)
+ Store(1, FLG4)
+
+ // flag, run test till the first error
+ if (c086) {
+ // Get current indicator of errors
+ if (GET2()) {
+ return
+ }
+ }
+
+ CH03(ts, z081, 0x200, arg6, arg6)
+/*
+ // FILE BUG: hangs without printing error
+ Store(CH03(ts, z081, 0x200, arg6, arg6), Local0)
+ if (Local0) {
+ Concatenate("Operation: 0x", arg6, Local0)
+ Store(Local0, Debug)
+ }
+*/
+
+ Switch (Arg6) {
+ Case (7) {
+ Store(Acquire(arg0, 100), Local7)
+ }
+ Default {
+ m480(arg0, arg1, arg2, arg3, arg4, arg5, arg6)
+ }
+ }
+
+ CH04(c080, 0, 0xff, z081, 0x201, arg6, arg6)
+
+/*
+ // FILE BUG: hangs without printing error
+ Store(CH04(c080, 0, 0xff, z081, 0x201, arg6, arg6), Local0)
+ if (Local0) {
+ Concatenate("Operation: 0x", arg6, Local0)
+ Store(Local0, Debug)
+ }
+*/
+
+ Store(0, FLG3)
+ Store(0, FLG4)
+}
+
+/*
+ * Switch
+ *
+ * This sub-test causes break of exc_ref due to the bug 248
+ * (lose path after exception or hang).
+ * So, it is blocked, and in order to show 'Test is blocked'
+ * it is run also additionally separately.
+ */
+Method(m167, 1)
+{
+ CH03("m167", z081, 0x206, 56, 56)
+ Switch (arg0) {
+ Case (0) {
+ Store(0, Local7)
+ }
+ Default {
+ Store(1, Local7)
+ }
+ }
+ CH04(c080, 0, 0xff, z081, 0x207, 56, 56)
+}
+
+// Check reaction on OPERAND-REFERENCE (exceptions are expected in most cases)
+// arg0 - reference to the value of arbitrary type
+// arg1 - absolute index of file initiating the checking
+// arg2 - index of checking (inside the file)
+Method(m1a8, 3)
+{
+ Name(ts, "m1a8")
+
+ // Return
+ Method(m000, 1)
+ {
+ return (arg0)
+ }
+
+ // If
+ Method(m001, 1)
+ {
+ CH03(ts, z081, 0x202, 54, 54)
+ if (arg0) {
+ Store(0, Local7)
+ }
+ CH04(c080, 0, 0xff, z081, 0x203, 54, 54)
+ }
+
+ // ElseIf
+ Method(m002, 1)
+ {
+ CH03(ts, z081, 0x204, 55, 55)
+ if (0) {
+ Store(0, Local7)
+ } elseif (arg0) {
+ Store(1, Local7)
+ }
+ CH04(c080, 0, 0xff, z081, 0x205, 55, 55)
+ }
+
+ // While
+ Method(m004, 1)
+ {
+ CH03(ts, z081, 0x208, 58, 58)
+ While (arg0) {
+ Store(0, Local7)
+ Break
+ }
+ CH04(c080, 0, 0xff, z081, 0x209, 58, 58)
+ }
+
+ // Set parameters of current checking
+ if (arg1) {
+ SET0(arg1, 0, arg2)
+ }
+
+ // flag, run test till the first error
+ if (c086) {
+ // Get current indicator of errors
+ if (GET2()) {
+ return
+ }
+ }
+
+ // Split into groups for debugging: some of them
+ // were crashing the system.
+
+ Name(rn00, 1) // CondRefOf
+ Name(rn01, 0) // DerefOf
+ if (y506) {
+ // Crash
+ Store(1, rn01)
+ }
+ Name(rn02, 1) // ObjectType
+ Name(rn03, 1) // RefOf
+ Name(rn04, 1) // SizeOf
+ Name(rn05, 1) // CopyObject
+ Name(rn06, 1) // Return
+ Name(rn07, 1) // If,ElseIf,Switch,While
+ Name(rn08, 1) // All other operators
+
+ Name(b000, Buffer(10) {})
+ Name(s000, "qwertyuiopasdfghjklz")
+ Name(p000, Package() {1,2,3,4,5,6,7,8,9})
+
+ Store(1, FLG4)
+
+ if (rn00) {
+ // CondRefOf
+
+ CH03(ts, z081, 0x20a, 0, 0)
+ m480(arg0, 0, 0, 0, 0, 0, 5)
+ CH03(ts, z081, 0x20b, 0, 0)
+ }
+
+ if (rn01) {
+ // DerefOf
+
+ CH03(ts, z081, 0x20c, 0, 0)
+ m480(arg0, 0, 0, 0, 0, 0, 8)
+ CH03(ts, z081, 0x20d, 0, 0)
+ }
+
+ if (rn02) {
+ // ObjectType
+
+ CH03(ts, z081, 0x20e, 0, 0)
+ m480(arg0, 0, 0, 0, 0, 0, 32)
+ CH03(ts, z081, 0x20f, 0, 0)
+ }
+
+ if (rn03) {
+ // RefOf
+
+ CH03(ts, z081, 0x210, 0, 0)
+ m480(arg0, 0, 0, 0, 0, 0, 34)
+ CH03(ts, z081, 0x211, 0, 0)
+ }
+
+ if (rn04) {
+
+ // SizeOf
+
+ Store(0, Local0)
+ Store(ObjectType(arg0), Local1)
+
+ Switch (Local1) {
+ Case (1) { // Integer
+ Store(1, Local0)
+ }
+ Case (2) { // String
+ Store(1, Local0)
+ }
+ Case (3) { // Buffer
+ Store(1, Local0)
+ }
+ Case (4) { // Package
+ Store(1, Local0)
+ }
+ }
+
+ if (y505) {
+
+ // Buffer Field and Field Unit types should allow SizeOf()
+
+ Switch (Local1) {
+ Case (5) { // Field Unit
+ Store(1, Local0)
+ }
+ Case (14) { // Buffer Field
+ Store(1, Local0)
+ }
+ }
+ }
+
+ if (Local0) {
+ CH03(ts, z081, 0x212, 0, 0)
+ m480(arg0, 0, 0, 0, 0, 0, 41)
+ CH03(ts, z081, 0x213, 0, 0)
+ } else {
+ m1a7(arg0, 0, 0, 0, 0, 0, 41)
+ }
+
+ } /* if(rn04) */
+
+ if (rn05) {
+
+ // CopyObject
+
+ CH03(ts, z081, 0x214, 0, 0)
+ CopyObject(arg0, Local7)
+ CH03(ts, z081, 0x215, 0, 0)
+ }
+
+ if (rn06) {
+
+ // Return
+
+ CH03(ts, z081, 0x216, 0, 0)
+ m000(arg0)
+ CH03(ts, z081, 0x217, 0, 0)
+ }
+
+ if (rn07) {
+
+ // If
+
+ m001(arg0)
+
+ // ElseIf
+
+ m002(arg0)
+
+ // Switch
+
+ if (y248) {
+ m167(arg0)
+ } else {
+ Store("WARNING: test m1a8:m1a8 blocked due to the bug 248!", Debug)
+ }
+
+ // While
+
+ m004(arg0)
+
+ } /* if(rn07) */
+
+ if (rn08) {
+
+ // Acquire
+
+ m1a7(arg0, 0, 0, 0, 0, 0, 0)
+
+ // Add
+
+ m1a7(arg0, 0, 0, 0, 0, 0, 1)
+ m1a7(0, arg0, 0, 0, 0, 0, 1)
+
+ // And
+
+ m1a7(arg0, 0, 0, 0, 0, 0, 2)
+ m1a7(0, arg0, 0, 0, 0, 0, 2)
+
+ // Concatenate
+
+ m1a7(arg0, 0, 0, 0, 0, 0, 3)
+ m1a7(0, arg0, 0, 0, 0, 0, 3)
+
+ // ConcatenateResTemplate
+
+ m1a7(arg0, 0, 0, 0, 0, 0, 4)
+ m1a7(0, arg0, 0, 0, 0, 0, 4)
+
+ // Decrement
+
+ m1a7(arg0, 0, 0, 0, 0, 0, 7)
+
+ // Divide
+
+ m1a7(arg0, 1, 0, 0, 0, 0, 9)
+ m1a7(1, arg0, 0, 0, 0, 0, 9)
+
+ // Fatal
+
+ // FindSetLeftBit
+
+ m1a7(arg0, 0, 0, 0, 0, 0, 11)
+
+ // FindSetRightBit
+
+ m1a7(arg0, 0, 0, 0, 0, 0, 12)
+
+ // FromBCD
+
+ m1a7(arg0, 0, 0, 0, 0, 0, 13)
+
+ // Increment
+
+ m1a7(arg0, 0, 0, 0, 0, 0, 14)
+
+ // Index
+
+ m1a7(arg0, 0, 0, 0, 0, 0, 15)
+ m1a7(b000, arg0, 0, 0, 0, 0, 15)
+
+ // LAnd
+
+ m1a7(arg0, 0, 0, 0, 0, 0, 16)
+ m1a7(0, arg0, 0, 0, 0, 0, 16)
+
+ // LEqual
+
+ m1a7(arg0, 0, 0, 0, 0, 0, 17)
+ m1a7(0, arg0, 0, 0, 0, 0, 17)
+
+ // LGreater
+
+ m1a7(arg0, 0, 0, 0, 0, 0, 18)
+ m1a7(0, arg0, 0, 0, 0, 0, 18)
+
+ // LGreaterEqual
+
+ m1a7(arg0, 0, 0, 0, 0, 0, 19)
+ m1a7(0, arg0, 0, 0, 0, 0, 19)
+
+ // LLess
+
+ m1a7(arg0, 0, 0, 0, 0, 0, 20)
+ m1a7(0, arg0, 0, 0, 0, 0, 20)
+
+ // LLessEqual
+
+ m1a7(arg0, 0, 0, 0, 0, 0, 21)
+ m1a7(0, arg0, 0, 0, 0, 0, 21)
+
+ // LNot
+
+ m1a7(arg0, 0, 0, 0, 0, 0, 22)
+
+ // LNotEqual
+
+ m1a7(arg0, 0, 0, 0, 0, 0, 23)
+ m1a7(0, arg0, 0, 0, 0, 0, 23)
+
+ // LOr
+
+ m1a7(arg0, 0, 0, 0, 0, 0, 24)
+ m1a7(0, arg0, 0, 0, 0, 0, 24)
+
+ // Match
+
+ m1a7(arg0, 0, 1, 1, 1, 0, 25)
+ m1a7(p000, 0, arg0, 1, 1, 0, 25)
+ m1a7(p000, 0, 1, arg0, 1, 0, 25)
+ m1a7(p000, 0, 1, 1, arg0, 0, 25)
+
+ // Mid
+
+ m1a7(arg0, 0, 5, 0, 0, 0, 26)
+ m1a7(s000, arg0, 5, 0, 0, 0, 26)
+ m1a7(s000, 0, arg0, 0, 0, 0, 26)
+
+ // Mod
+
+ m1a7(arg0, 1, 0, 0, 0, 0, 27)
+ m1a7(1, arg0, 0, 0, 0, 0, 27)
+
+ // Multiply
+
+ m1a7(arg0, 1, 0, 0, 0, 0, 28)
+ m1a7(1, arg0, 0, 0, 0, 0, 28)
+
+ // NAnd
+
+ m1a7(arg0, 1, 0, 0, 0, 0, 29)
+ m1a7(1, arg0, 0, 0, 0, 0, 29)
+
+ // NOr
+
+ m1a7(arg0, 1, 0, 0, 0, 0, 30)
+ m1a7(1, arg0, 0, 0, 0, 0, 30)
+
+ // Not
+
+ m1a7(arg0, 1, 0, 0, 0, 0, 31)
+
+ // Or
+
+ m1a7(arg0, 1, 0, 0, 0, 0, 33)
+ m1a7(1, arg0, 0, 0, 0, 0, 33)
+
+ // Release
+
+ m1a7(arg0, 0, 0, 0, 0, 0, 35)
+
+ // Reset
+
+ m1a7(arg0, 0, 0, 0, 0, 0, 36)
+
+ // ShiftLeft
+
+ m1a7(arg0, 1, 0, 0, 0, 0, 38)
+ m1a7(1, arg0, 0, 0, 0, 0, 38)
+
+ // ShiftRight
+
+ m1a7(arg0, 1, 0, 0, 0, 0, 39)
+ m1a7(1, arg0, 0, 0, 0, 0, 39)
+
+ // Signal
+
+ m1a7(arg0, 0, 0, 0, 0, 0, 40)
+
+ // Sleep
+
+ m1a7(arg0, 0, 0, 0, 0, 0, 42)
+
+ // Stall
+
+ m1a7(arg0, 0, 0, 0, 0, 0, 43)
+
+ // Store
+
+ CH03(ts, z081, 0x218, 0, 0)
+ Store(arg0, Local7)
+ CH03(ts, z081, 0x219, 0, 0)
+
+ // Subtract
+
+ m1a7(arg0, 1, 0, 0, 0, 0, 45)
+ m1a7(1, arg0, 0, 0, 0, 0, 45)
+
+ // ToBCD
+
+ m1a7(arg0, 0, 0, 0, 0, 0, 46)
+
+ // ToBuffer
+
+ m1a7(arg0, 0, 0, 0, 0, 0, 47)
+
+ // ToDecimalString
+
+ m1a7(arg0, 0, 0, 0, 0, 0, 48)
+
+ // ToHexString
+
+ m1a7(arg0, 0, 0, 0, 0, 0, 49)
+
+ // ToInteger
+
+ m1a7(arg0, 0, 0, 0, 0, 0, 50)
+
+ // ToString
+
+ m1a7(arg0, 1, 0, 0, 0, 0, 51)
+ m1a7(b000, arg0, 0, 0, 0, 0, 51)
+
+ // Wait
+
+ m1a7(arg0, 1, 0, 0, 0, 0, 52)
+ m1a7(b000, arg0, 0, 0, 0, 0, 52)
+
+ // XOr
+
+ m1a7(arg0, 1, 0, 0, 0, 0, 53)
+ m1a7(b000, arg0, 0, 0, 0, 0, 53)
+
+ } // if(rn08)
+
+ Store(0, FLG4)
+
+ RST0()
+
+ return
+}
+
+// Simple test, only some particular ways of obtaining references
+Method(m1a9)
+{
+ // FILE BUG: CondRefOf doesnt cause exception but only under some conditions,
+ // namely for rn00 == 2.
+
+ Name(rn00, 2) // Simplest modes, for debugging
+ Name(rn01, 1) // Crash
+
+ if (LEqual(rn00, 0)) {
+
+ // Simplest mode, ONE-TWO operations of those below
+
+ Store(RefOf(i900), Local0)
+ m1a8(Local0, z081, 15)
+
+ Store(CondRefOf(i900, Local0), Local1)
+ if (m1a4(Local1, 34)) {
+ m1a8(Local0, z081, 35)
+ }
+
+ } elseif (LEqual(rn00, 1)) {
+
+
+ // Simplest mode, SOME of operations below
+
+ Store(Index(s900, 0), Local0)
+ m1a8(Local0, z081, 0)
+
+ Store(Index(b900, 3), Local0)
+ m1a8(Local0, z081, 1)
+
+ Store(Index(p901, 0), Local0)
+ m1a8(Local0, z081, 2)
+
+ Store(Index(p91e, 0), Local0)
+ m1a8(Local0, z081, 4)
+
+ Store(Index(p901, 0, Local1), Local0)
+ m1a8(Local1, z081, 10)
+
+ Store(Index(p91e, 0, Local1), Local0)
+ m1a8(Local1, z081, 14)
+
+ Store(RefOf(i900), Local0)
+ m1a8(Local0, z081, 15)
+
+ Store(RefOf(f900), Local0)
+ m1a8(Local0, z081, 18)
+
+ Store(RefOf(bn90), Local0)
+ m1a8(Local0, z081, 19)
+
+ Store(RefOf(if90), Local0)
+ m1a8(Local0, z081, 20)
+
+ Store(RefOf(bf90), Local0)
+ m1a8(Local0, z081, 21)
+
+ Store(CondRefOf(i900, Local0), Local1)
+ if (m1a4(Local1, 34)) {
+ m1a8(Local0, z081, 35)
+ }
+
+ } else {
+
+ // Index
+
+ Store(Index(s900, 0), Local0)
+ m1a8(Local0, z081, 0)
+
+ Store(Index(b900, 3), Local0)
+ m1a8(Local0, z081, 1)
+
+ Store(Index(p901, 0), Local0)
+ m1a8(Local0, z081, 2)
+
+ if (rn01) {
+ Store(Index(p916, 0), Local0)
+ m1a8(Local0, z081, 3)
+ }
+
+ Store(Index(p91e, 0), Local0)
+ m1a8(Local0, z081, 4)
+
+ Store(Index(s900, 0, Local1), Local0)
+ m1a8(Local0, z081, 5)
+ m1a8(Local1, z081, 6)
+
+ Store(Index(b900, 3, Local1), Local0)
+ m1a8(Local0, z081, 7)
+ m1a8(Local1, z081, 8)
+
+ Store(Index(p901, 0, Local1), Local0)
+ m1a8(Local0, z081, 9)
+ m1a8(Local1, z081, 10)
+
+ if (rn01) {
+ Store(Index(p916, 0, Local1), Local0)
+ m1a8(Local0, z081, 11)
+ m1a8(Local1, z081, 12)
+ }
+
+ Store(Index(p91e, 0, Local1), Local0)
+ m1a8(Local0, z081, 13)
+ m1a8(Local1, z081, 14)
+
+ // RefOf
+
+ Store(RefOf(i900), Local0)
+ m1a8(Local0, z081, 15)
+
+ Store(RefOf(s900), Local0)
+ m1a8(Local0, z081, 16)
+
+ Store(RefOf(b900), Local0)
+ m1a8(Local0, z081, 17)
+
+ Store(RefOf(f900), Local0)
+ m1a8(Local0, z081, 18)
+
+ Store(RefOf(bn90), Local0)
+ m1a8(Local0, z081, 19)
+
+ Store(RefOf(if90), Local0)
+ m1a8(Local0, z081, 20)
+
+ Store(RefOf(bf90), Local0)
+ m1a8(Local0, z081, 21)
+
+ Store(RefOf(e900), Local0)
+ m1a8(Local0, z081, 22)
+
+ Store(RefOf(mx90), Local0)
+ m1a8(Local0, z081, 23)
+
+ Store(RefOf(d900), Local0)
+ m1a8(Local0, z081, 24)
+
+ Store(RefOf(tz90), Local0)
+ m1a8(Local0, z081, 25)
+
+ Store(RefOf(pr90), Local0)
+ m1a8(Local0, z081, 26)
+
+ Store(RefOf(r900), Local0)
+ m1a8(Local0, z081, 27)
+
+ Store(RefOf(pw90), Local0)
+ m1a8(Local0, z081, 28)
+
+ Store(RefOf(p900), Local0)
+ m1a8(Local0, z081, 29)
+
+ Store(RefOf(p901), Local0)
+ m1a8(Local0, z081, 30)
+
+ Store(RefOf(p916), Local0)
+ m1a8(Local0, z081, 31)
+
+ Store(RefOf(p91d), Local0)
+ m1a8(Local0, z081, 32)
+
+ Store(RefOf(p91e), Local0)
+ m1a8(Local0, z081, 33)
+
+ // CondRefOf
+
+ Store(CondRefOf(i900, Local0), Local1)
+ if (m1a4(Local1, 34)) {
+ m1a8(Local0, z081, 35)
+ }
+
+ Store(CondRefOf(s900, Local0), Local1)
+ if (m1a4(Local1, 36)) {
+ m1a8(Local0, z081, 37)
+ }
+
+ Store(CondRefOf(b900, Local0), Local1)
+ if (m1a4(Local1, 38)) {
+ m1a8(Local0, z081, 39)
+ }
+
+ Store(CondRefOf(f900, Local0), Local1)
+ if (m1a4(Local1, 40)) {
+ m1a8(Local0, z081, 41)
+ }
+
+ Store(CondRefOf(bn90, Local0), Local1)
+ if (m1a4(Local1, 42)) {
+ m1a8(Local0, z081, 43)
+ }
+
+ Store(CondRefOf(if90, Local0), Local1)
+ if (m1a4(Local1, 44)) {
+ m1a8(Local0, z081, 45)
+ }
+
+ Store(CondRefOf(bf90, Local0), Local1)
+ if (m1a4(Local1, 46)) {
+ m1a8(Local0, z081, 47)
+ }
+
+ Store(CondRefOf(e900, Local0), Local1)
+ if (m1a4(Local1, 48)) {
+ m1a8(Local0, z081, 49)
+ }
+
+ Store(CondRefOf(mx90, Local0), Local1)
+ if (m1a4(Local1, 50)) {
+ m1a8(Local0, z081, 51)
+ }
+
+ Store(CondRefOf(d900, Local0), Local1)
+ if (m1a4(Local1, 52)) {
+ m1a8(Local0, z081, 53)
+ }
+
+ Store(CondRefOf(tz90, Local0), Local1)
+ if (m1a4(Local1, 54)) {
+ m1a8(Local0, z081, 55)
+ }
+
+ Store(CondRefOf(pr90, Local0), Local1)
+ if (m1a4(Local1, 56)) {
+ m1a8(Local0, z081, 57)
+ }
+
+ Store(CondRefOf(r900, Local0), Local1)
+ if (m1a4(Local1, 58)) {
+ m1a8(Local0, z081, 59)
+ }
+
+ Store(CondRefOf(pw90, Local0), Local1)
+ if (m1a4(Local1, 60)) {
+ m1a8(Local0, z081, 61)
+ }
+
+ Store(CondRefOf(p900, Local0), Local1)
+ if (m1a4(Local1, 62)) {
+ m1a8(Local0, z081, 63)
+ }
+
+ Store(CondRefOf(p901, Local0), Local1)
+ if (m1a4(Local1, 64)) {
+ m1a8(Local0, z081, 65)
+ }
+
+ Store(CondRefOf(p916, Local0), Local1)
+ if (m1a4(Local1, 66)) {
+ m1a8(Local0, z081, 67)
+ }
+
+ Store(CondRefOf(p91d, Local0), Local1)
+ if (m1a4(Local1, 68)) {
+ m1a8(Local0, z081, 69)
+ }
+
+ Store(CondRefOf(p91e, Local0), Local1)
+ if (m1a4(Local1, 70)) {
+ m1a8(Local0, z081, 71)
+ }
+
+ } // if(rn00)
+}
+
+Method(m106)
+{
+ Name(ts, "m106")
+
+ Name(i000, 0xabcd0000)
+
+ Method(m000, 1)
+ {
+ CH03(ts, z081, 72, 0, 0)
+
+ Store(DerefOf(RefOf(DerefOf(RefOf(arg0)))), Debug)
+
+ CH04(c080, 0, 0xff, z081, 73, 0, 0)
+ }
+
+ m000(i000)
+}
+
+
+// Run-method
+Method(REF5)
+{
+ Name(p91e, Package() {0xabcd0000})
+
+ Store("TEST: REF5, References, check exceptions", Debug)
+
+ Store("REF5", c080) // name of test
+ Store(z081, c081) // absolute index of file initiating the checking
+ Store(1, c082) // flag of test of exceptions
+ Store(0, c083) // run verification of references (write/read)
+ Store(0, c084) // run verification of references (reading)
+ Store(0, c085) // create the chain of references to LocalX, then dereference them
+ Store(0, c086) // flag, run test till the first error
+ Store(1, c087) // apply DeRefOf to ArgX-ObjectReference
+ Store(1, c089) // flag of Reference, object otherwise
+
+ if (0) {
+
+ // This mode of test run takes much time, moreover,
+ // due to the bug 95 of ACPICA it fails to complete.
+ // So, if run it then do it with the flag c086 set up
+ // - run test till the first error.
+
+ Store(1, c086) // flag, run test till the first error
+
+ // For local data (methods of ref1.asl)
+
+ // Reset current indicator of errors
+ RST2()
+
+ Store(z077, c081) // absolute index of file initiating the checking
+
+ SRMT("m168")
+ m168()
+ SRMT("m169")
+ m169()
+ SRMT("m16a")
+ m16a(0)
+ SRMT("m16b")
+ m16b()
+ SRMT("m16c")
+ m16c(0)
+ SRMT("m16d")
+ m16d()
+ SRMT("m16e")
+ m16e()
+
+ // For global data (methods of ref4.asl)
+
+ Store(z080, c081) // absolute index of file initiating the checking
+
+ SRMT("m190")
+ m190()
+ SRMT("m191")
+ m191(0)
+ SRMT("m192")
+ m192()
+ SRMT("m193")
+ m193(0)
+ SRMT("m194")
+ m194()
+
+ } else {
+
+ // Run simple test only for some particular ways of
+ // obtaining references.
+
+ Store(0, c086) // dont break testing on error appearance
+
+ SRMT("m1a9")
+ m1a9()
+ }
+
+ // Particular tests
+
+ SRMT("m106")
+ m106()
+ SRMT("m167")
+ if (y248) {
+ /* This code here only to not forget to run m1a8:m167 */
+ Store(Index(p91e, 0, Local1), Local0)
+ m167(Local0)
+ } else {
+ BLCK()
+ }
+}
+
+
+
+
+
diff --git a/tests/aslts/src/runtime/collections/functional/reference/ref71.asl b/tests/aslts/src/runtime/collections/functional/reference/ref71.asl
new file mode 100644
index 000000000..3b28c7273
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/reference/ref71.asl
@@ -0,0 +1,136 @@
+/*
+ * 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.
+ */
+
+/*
+ * References
+ *
+ * (exceptions)
+ */
+
+Name(z109, 109)
+
+/*
+ * Check exceptions for unavailable types of Store
+ */
+Method(m1b3)
+{
+ Name(ts, "m1b3")
+
+ Store(z109, c081) // absolute index of file initiating the checking
+
+ Method(m000, 1)
+ {
+ if (arg0) {
+ Store(0, Local7)
+ }
+ CH03(ts, z109, 0, 0, 0)
+ Store(Local7, Local0)
+ CH04(ts, 0, 0xff, z109, 1, 0, 0)
+ }
+
+ Method(m901) { return (0xabc0012) }
+
+ m000(0)
+
+ Store(i900, Local0)
+ Store(ObjectType(Local0), Local7)
+ if (LNotEqual(Local7, c009)) {
+ err(ts, z109, 2, 0, 0, Local7, c009)
+ }
+
+ Store(s900, Local0)
+ Store(ObjectType(Local0), Local7)
+ if (LNotEqual(Local7, c00a)) {
+ err(ts, z109, 3, 0, 0, Local7, c00a)
+ }
+
+ Store(b900, Local0)
+ Store(ObjectType(Local0), Local7)
+ if (LNotEqual(Local7, c00b)) {
+ err(ts, z109, 4, 0, 0, Local7, c00b)
+ }
+
+ Store(p900, Local0)
+ Store(ObjectType(Local0), Local7)
+ if (LNotEqual(Local7, c00c)) {
+ err(ts, z109, 5, 0, 0, Local7, c00c)
+ }
+
+ Store(f900, Local0)
+ Store(ObjectType(Local0), Local7)
+ if (LNotEqual(Local7, c009)) {
+ err(ts, z109, 6, 0, 0, Local7, c009)
+ }
+
+ CH03(ts, z109, 7, 0, 0)
+ Store(d900, Local0)
+ CH04(ts, 0, 0xff, z109, 8, 0, 0)
+
+ CH03(ts, z109, 9, 0, 0)
+ Store(e900, Local0)
+ CH04(ts, 0, 0xff, z109, 10, 0, 0)
+
+ /*
+ * 21.12.2005.
+ * No exception now.
+ * Bug 114: could work improperly by the same reason as Bug 114.
+ */
+ if (X114) {
+ CH03(ts, z109, 11, 0, 0)
+ Store(m901, Local0)
+ CH04(ts, 0, 0xff, z109, 12, 0, 0)
+ }
+
+ CH03(ts, z109, 13, 0, 0)
+ Store(mx90, Local0)
+ CH04(ts, 0, 0xff, z109, 14, 0, 0)
+
+ CH03(ts, z109, 15, 0, 0)
+ Store(r900, Local0)
+ CH04(ts, 0, 0xff, z109, 16, 0, 0)
+
+ CH03(ts, z109, 17, 0, 0)
+ Store(pw90, Local0)
+ CH04(ts, 0, 0xff, z109, 18, 0, 0)
+
+ CH03(ts, z109, 19, 0, 0)
+ Store(pr90, Local0)
+ CH04(ts, 0, 0xff, z109, 20, 0, 0)
+
+ CH03(ts, z109, 21, 0, 0)
+ Store(tz90, Local0)
+ CH04(ts, 0, 0xff, z109, 22, 0, 0)
+
+ Store(bf90, Local0)
+ Store(ObjectType(Local0), Local7)
+ if (LNotEqual(Local7, c009)) {
+ err(ts, z109, 23, 0, 0, Local7, c009)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/functional/region/DECL.asl b/tests/aslts/src/runtime/collections/functional/region/DECL.asl
new file mode 100644
index 000000000..0b3e1136b
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/region/DECL.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+
+Include("../../../../runtime/collections/functional/region/opregions.asl")
+Include("../../../../runtime/collections/functional/region/dtregions.asl")
+Include("../../../../runtime/collections/functional/region/regionfield.asl")
+Include("../../../../runtime/collections/functional/region/indexfield.asl")
+Include("../../../../runtime/collections/functional/region/bankfield.asl")
diff --git a/tests/aslts/src/runtime/collections/functional/region/MAIN.asl b/tests/aslts/src/runtime/collections/functional/region/MAIN.asl
new file mode 100644
index 000000000..ba2541252
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/region/MAIN.asl
@@ -0,0 +1,58 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "region.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../runtime/cntl/DECL.asl")
+ Include("../../../../runtime/collections/functional/region/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../runtime/collections/functional/region/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+ Store(0, Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/functional/region/Makefile b/tests/aslts/src/runtime/collections/functional/region/Makefile
new file mode 100644
index 000000000..af1008e48
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/region/Makefile
@@ -0,0 +1,7 @@
+# region
+
+AMLMOD= region
+COLL= ../..
+
+TOP= $(COLL)/../../..
+include $(COLL)/Makefile.install
diff --git a/tests/aslts/src/runtime/collections/functional/region/RUN.asl b/tests/aslts/src/runtime/collections/functional/region/RUN.asl
new file mode 100644
index 000000000..54cf8814d
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/region/RUN.asl
@@ -0,0 +1,39 @@
+/*
+ * 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.
+ */
+
+
+if (STTT("Regions, including Region, Index and Bank Fields", TCLF, 11, W00b)) {
+ ORC0()
+ DRC0()
+ RFC0()
+ IFC0()
+ BFC0()
+}
+FTTT()
diff --git a/tests/aslts/src/runtime/collections/functional/region/bankfield.asl b/tests/aslts/src/runtime/collections/functional/region/bankfield.asl
new file mode 100644
index 000000000..8cfc21e00
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/region/bankfield.asl
@@ -0,0 +1,11653 @@
+/*
+ * 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.
+ */
+
+/*
+ * BankField objects definition and processing
+ */
+
+/*
+ * On testing following issues should be covered:
+ * - Operation Regions of different Region Space types application
+ * for BankField objects definition,
+ * - Operation Regions of different Region Space types application
+ * for definition of bank selection register Field object used in
+ * BankField objects definition,
+ * - application of any TermArg as a BankValue Integer,
+ * - application of any allowed AccessType Keywords,
+ * - application of any allowed LockRule Keywords,
+ * - application of any allowed UpdateRule Keywords,
+ * - application of the Offset macros in the FieldUnitList,
+ * - application of the AccessAs macros in the FieldUnitList,
+ * - on writing taking into account the Access Type in accord with
+ the Update Rule,
+ * - AccessAs macros influence on the remaining Field Units within the list,
+ * - access to BankField objects in accord with the bank selection register
+ * functionality,
+ * - integer/buffer representation of the Unit contents as depends on its
+ * Length and DSDT ComplianceRevision (32/64-bit Integer),
+ * - Data Type Conversion Rules on storing to BankFields,
+ * - check that Bank value can be computational data.
+ *
+ * Can not be tested following issues:
+ * - exact use of given Access Type alignment on Access to Unit data,
+ * - exact functioning of data exchange based on BankField functionality,
+ * - exact use of specific Conversion Rules on storing of Buffers or Strings.
+ */
+
+Name(z145, 145)
+
+OperationRegion(OPRi, SystemIO, 0x200, 0x10)
+OperationRegion(OPRj, SystemIO, 0x230, 0x133)
+
+// Check against benchmark value
+// m7bf(msg, result, benchmark, errnum)
+Method(m7bf, 4)
+{
+ if (LNotEqual(ObjectType(arg1), ObjectType(arg2))) {
+ err(arg0, z145, arg3, 0, 0, ObjectType(arg1), ObjectType(arg2))
+ } elseif (LNotEqual(arg1, arg2)) {
+ err(arg0, z145, arg3, 0, 0, arg1, arg2)
+ }
+}
+
+// Simple BankField test
+Method(m7c0, 1)
+{
+ Field (OPRi, ByteAcc, NoLock, Preserve) {
+ bnk0, 8
+ }
+
+ BankField (OPRj, bnk0, 2, ByteAcc, NoLock, Preserve) {
+ Offset(8),
+ bf00, 8,
+ }
+
+ BankField (OPRj, bnk0, 3, ByteAcc, NoLock, Preserve) {
+ Offset(8),
+ bf01, 8,
+ }
+
+ Concatenate(arg0, "-m7c0", arg0)
+
+ // Write bf00
+
+ Store(0xff, bnk0)
+ m7bf(arg0, bnk0, 0xff, 1)
+
+ Store(0x67, bf00)
+ m7bf(arg0, bnk0, 2, 2)
+
+ // Write bf01
+
+ Store(0xff, bnk0)
+ m7bf(arg0, bnk0, 0xff, 3)
+
+ Store(0x89, bf01)
+ m7bf(arg0, bnk0, 3, 4)
+
+ // Read bf00
+
+ Store(0xff, bnk0)
+ m7bf(arg0, bnk0, 0xff, 5)
+
+ Store(bf00, Local1)
+ m7bf(arg0, Local1, 0x67, 6)
+ m7bf(arg0, bnk0, 2, 7)
+
+ // Read bf01
+
+ Store(0xff, bnk0)
+ m7bf(arg0, bnk0, 0xff, 8)
+
+ Store(bf01, Local1)
+ m7bf(arg0, Local1, 0x89, 9)
+ m7bf(arg0, bnk0, 3, 10)
+}
+
+// Testing parameters Packages
+// Layout see in regionfield.asl
+
+// (ByteAcc, NoLock, Preserve)
+Name(pp20, Package() {
+ 0, 8, 0, 8, Package(6){0, 1, 1, 0, 1, "m7d0"},
+})
+
+// (WordAcc, NoLock, WriteAsOnes)
+Name(pp21, Package() {
+ 0, 8, 8, 8, Package(6){0, 2, 2, 1, 1, "m7d1"},
+})
+
+// (DWordAcc, NoLock, WriteAsZeros)
+Name(pp22, Package() {
+ 8, 8, 0, 8, Package(6){1, 2, 3, 2, 1, "m7d2"},
+})
+
+// (QWordAcc, NoLock, Preserve)
+Name(pp23, Package() {
+ 8, 4, 8, 8, Package(6){1, 0, 3, 0, 1, "m7d3"},
+})
+
+// (AnyAcc, Lock, Preserve)
+Name(pp24, Package() {
+ 12, 4, 8, 8, Package(6){0, 1, 0, 0, 0, "m7d4"},
+})
+
+// Check BankField access: ByteAcc, NoLock, Preserve
+// m7c1(CallChain)
+Method(m7c1, 1)
+{
+ Concatenate(arg0, "-m7c1", arg0)
+
+ Store("TEST: m7c1, Check BankFields specified as (ByteAcc, NoLock, Preserve)", Debug)
+
+ m72f(arg0, 1, "pp20", pp20)
+}
+
+// Check BankField access: WordAcc, NoLock, WriteAsOnes
+// m7c2(CallChain)
+Method(m7c2, 1)
+{
+ Concatenate(arg0, "-m7c2", arg0)
+
+ Store("TEST: m7c2, Check BankFields specified as (WordAcc, NoLock, WriteAsOnes)", Debug)
+
+ m72f(arg0, 1, "pp21", pp21)
+}
+
+// Check BankField access: DWordAcc, NoLock, WriteAsZeros
+// m7c3(CallChain)
+Method(m7c3, 1)
+{
+ Concatenate(arg0, "-m7c3", arg0)
+
+ Store("TEST: m7c3, Check BankFields specified as (DWordAcc, NoLock, WriteAsZeros)", Debug)
+
+ m72f(arg0, 1, "pp22", pp22)
+}
+
+// Check BankField access: QWordAcc, NoLock, Preserve
+// m7c4(CallChain)
+Method(m7c4, 1)
+{
+ Concatenate(arg0, "-m7c4", arg0)
+
+ Store("TEST: m7c4, Check BankFields specified as (QWordAcc, NoLock, Preserve)", Debug)
+
+ m72f(arg0, 1, "pp23", pp23)
+}
+
+// Check BankField access: AnyAcc, Lock, Preserve
+// m7c5(CallChain)
+Method(m7c5, 1)
+{
+ Concatenate(arg0, "-m7c5", arg0)
+
+ Store("TEST: m7c5, Check BankFields specified as (AnyAcc, Lock, Preserve)", Debug)
+
+ m72f(arg0, 1, "pp24", pp24)
+}
+
+// Create BankField Unit
+// (ByteAcc, NoLock, Preserve)
+Method(m7d0, 6)
+{
+ OperationRegion(OPRb, SystemIO, 0, 9)
+ OperationRegion(OPR0, SystemIO, 11, 256)
+
+ Field(OPRb, ByteAcc, NoLock, Preserve) {
+ BNK0, 8,
+ }
+ BankField(OPR0, BNK0, 0, ByteAcc, NoLock, Preserve) {
+ g000, 2048,
+ }
+ BankField(OPR0, BNK0, 1, ByteAcc, NoLock, Preserve) {
+ g001, 2048,
+ }
+ BankField(OPR0, BNK0, 2, ByteAcc, NoLock, Preserve) {
+ g002, 2048,
+ }
+ BankField(OPR0, BNK0, 3, ByteAcc, NoLock, Preserve) {
+ g003, 2048,
+ }
+ BankField(OPR0, BNK0, 4, ByteAcc, NoLock, Preserve) {
+ g004, 2048,
+ }
+ BankField(OPR0, BNK0, 5, ByteAcc, NoLock, Preserve) {
+ g005, 2048,
+ }
+ BankField(OPR0, BNK0, 6, ByteAcc, NoLock, Preserve) {
+ g006, 2048,
+ }
+ BankField(OPR0, BNK0, 7, ByteAcc, NoLock, Preserve) {
+ g007, 2048,
+ }
+ BankField(OPR0, BNK0, 8, ByteAcc, NoLock, Preserve) {
+ g008, 2048,
+ }
+ BankField(OPR0, BNK0, 9, ByteAcc, NoLock, Preserve) {
+ g009, 2048,
+ }
+ BankField(OPR0, BNK0, 63, ByteAcc, NoLock, Preserve) {
+ g00a, 2048,
+ }
+ BankField(OPR0, BNK0, 64, ByteAcc, NoLock, Preserve) {
+ g00b, 2048,
+ }
+ BankField(OPR0, BNK0, 127, ByteAcc, NoLock, Preserve) {
+ g00c, 2048,
+ }
+ BankField(OPR0, BNK0, 128, ByteAcc, NoLock, Preserve) {
+ g00d, 2048,
+ }
+ BankField(OPR0, BNK0, 255, ByteAcc, NoLock, Preserve) {
+ g00e, 2048,
+ }
+
+
+ Concatenate(arg0, "-m7d0", arg0)
+
+ switch(arg2) {
+ case (0) {
+ switch(arg3) {
+ case (1) {
+ Store(0, Local2)
+ BankField(OPR0, BNK0, 0, ByteAcc, NoLock, Preserve) {
+ , 0, f000, 1}
+ Store(Refof(f000), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (6) {
+ Store(1, Local2)
+ BankField(OPR0, BNK0, 1, WordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 0, f001, 6}
+ Store(Refof(f001), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (7) {
+ Store(2, Local2)
+ BankField(OPR0, BNK0, 2, ByteAcc, NoLock, Preserve) {
+ , 0, f002, 7}
+ Store(Refof(f002), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (8) {
+ Store(3, Local2)
+ BankField(OPR0, BNK0, 3, DWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 0, f003, 8}
+ Store(Refof(f003), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (9) {
+ Store(4, Local2)
+ BankField(OPR0, BNK0, 4, ByteAcc, NoLock, Preserve) {
+ , 0, f004, 9}
+ Store(Refof(f004), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (31) {
+ Store(5, Local2)
+ BankField(OPR0, BNK0, 5, QWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 0, f005, 31}
+ Store(Refof(f005), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (32) {
+ Store(6, Local2)
+ BankField(OPR0, BNK0, 6, ByteAcc, NoLock, Preserve) {
+ , 0, f006, 32}
+ Store(Refof(f006), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (33) {
+ Store(7, Local2)
+ BankField(OPR0, BNK0, 7, AnyAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 0, f007, 33}
+ Store(Refof(f007), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (63) {
+ Store(8, Local2)
+ BankField(OPR0, BNK0, 8, ByteAcc, NoLock, Preserve) {
+ , 0, f008, 63}
+ Store(Refof(f008), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (64) {
+ Store(9, Local2)
+ BankField(OPR0, BNK0, 9, ByteAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 0, f009, 64}
+ Store(Refof(f009), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (65) {
+ Store(63, Local2)
+ BankField(OPR0, BNK0, 63, ByteAcc, NoLock, Preserve) {
+ , 0, f00a, 65}
+ Store(Refof(f00a), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (69) {
+ Store(64, Local2)
+ BankField(OPR0, BNK0, 64, WordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 0, f00b, 69}
+ Store(Refof(f00b), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (129) {
+ Store(127, Local2)
+ BankField(OPR0, BNK0, 127, ByteAcc, NoLock, Preserve) {
+ , 0, f00c, 129}
+ Store(Refof(f00c), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (256) {
+ Store(128, Local2)
+ BankField(OPR0, BNK0, 128, DWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 0, f00d, 256}
+ Store(Refof(f00d), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (1023) {
+ Store(255, Local2)
+ BankField(OPR0, BNK0, 255, ByteAcc, NoLock, Preserve) {
+ , 0, f00e, 1023}
+ Store(Refof(f00e), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (1983) {
+ Store(0, Local2)
+ BankField(OPR0, BNK0, 0, QWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 0, f00f, 1983}
+ Store(Refof(f00f), Local3)
+ Store(Refof(g000), Local4)
+ }
+ default {
+ err(arg0, z145, 11, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (1) {
+ switch(arg3) {
+ case (1) {
+ Store(1, Local2)
+ BankField(OPR0, BNK0, 1, AnyAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 1, f010, 1}
+ Store(Refof(f010), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (6) {
+ Store(2, Local2)
+ BankField(OPR0, BNK0, 2, ByteAcc, NoLock, Preserve) {
+ , 1, f011, 6}
+ Store(Refof(f011), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (7) {
+ Store(3, Local2)
+ BankField(OPR0, BNK0, 3, ByteAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 1, f012, 7}
+ Store(Refof(f012), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (8) {
+ Store(4, Local2)
+ BankField(OPR0, BNK0, 4, ByteAcc, NoLock, Preserve) {
+ , 1, f013, 8}
+ Store(Refof(f013), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (9) {
+ Store(5, Local2)
+ BankField(OPR0, BNK0, 5, WordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 1, f014, 9}
+ Store(Refof(f014), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (31) {
+ Store(6, Local2)
+ BankField(OPR0, BNK0, 6, ByteAcc, NoLock, Preserve) {
+ , 1, f015, 31}
+ Store(Refof(f015), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (32) {
+ Store(7, Local2)
+ BankField(OPR0, BNK0, 7, DWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 1, f016, 32}
+ Store(Refof(f016), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (33) {
+ Store(8, Local2)
+ BankField(OPR0, BNK0, 8, ByteAcc, NoLock, Preserve) {
+ , 1, f017, 33}
+ Store(Refof(f017), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (63) {
+ Store(9, Local2)
+ BankField(OPR0, BNK0, 9, QWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 1, f018, 63}
+ Store(Refof(f018), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (64) {
+ Store(63, Local2)
+ BankField(OPR0, BNK0, 63, ByteAcc, NoLock, Preserve) {
+ , 1, f019, 64}
+ Store(Refof(f019), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (65) {
+ Store(64, Local2)
+ BankField(OPR0, BNK0, 64, AnyAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 1, f01a, 65}
+ Store(Refof(f01a), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (69) {
+ Store(127, Local2)
+ BankField(OPR0, BNK0, 127, ByteAcc, NoLock, Preserve) {
+ , 1, f01b, 69}
+ Store(Refof(f01b), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (129) {
+ Store(128, Local2)
+ BankField(OPR0, BNK0, 128, ByteAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 1, f01c, 129}
+ Store(Refof(f01c), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (256) {
+ Store(255, Local2)
+ BankField(OPR0, BNK0, 255, ByteAcc, NoLock, Preserve) {
+ , 1, f01d, 256}
+ Store(Refof(f01d), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (1023) {
+ Store(0, Local2)
+ BankField(OPR0, BNK0, 0, WordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 1, f01e, 1023}
+ Store(Refof(f01e), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (1983) {
+ Store(1, Local2)
+ BankField(OPR0, BNK0, 1, ByteAcc, NoLock, Preserve) {
+ , 1, f01f, 1983}
+ Store(Refof(f01f), Local3)
+ Store(Refof(g001), Local4)
+ }
+ default {
+ err(arg0, z145, 12, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (2) {
+ switch(arg3) {
+ case (1) {
+ Store(2, Local2)
+ BankField(OPR0, BNK0, 2, ByteAcc, NoLock, Preserve) {
+ , 2, f020, 1}
+ Store(Refof(f020), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (6) {
+ Store(3, Local2)
+ BankField(OPR0, BNK0, 3, DWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 2, f021, 6}
+ Store(Refof(f021), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (7) {
+ Store(4, Local2)
+ BankField(OPR0, BNK0, 4, ByteAcc, NoLock, Preserve) {
+ , 2, f022, 7}
+ Store(Refof(f022), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (8) {
+ Store(5, Local2)
+ BankField(OPR0, BNK0, 5, QWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 2, f023, 8}
+ Store(Refof(f023), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (9) {
+ Store(6, Local2)
+ BankField(OPR0, BNK0, 6, ByteAcc, NoLock, Preserve) {
+ , 2, f024, 9}
+ Store(Refof(f024), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (31) {
+ Store(7, Local2)
+ BankField(OPR0, BNK0, 7, AnyAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 2, f025, 31}
+ Store(Refof(f025), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (32) {
+ Store(8, Local2)
+ BankField(OPR0, BNK0, 8, ByteAcc, NoLock, Preserve) {
+ , 2, f026, 32}
+ Store(Refof(f026), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (33) {
+ Store(9, Local2)
+ BankField(OPR0, BNK0, 9, ByteAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 2, f027, 33}
+ Store(Refof(f027), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (63) {
+ Store(63, Local2)
+ BankField(OPR0, BNK0, 63, ByteAcc, NoLock, Preserve) {
+ , 2, f028, 63}
+ Store(Refof(f028), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (64) {
+ Store(64, Local2)
+ BankField(OPR0, BNK0, 64, WordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 2, f029, 64}
+ Store(Refof(f029), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (65) {
+ Store(127, Local2)
+ BankField(OPR0, BNK0, 127, ByteAcc, NoLock, Preserve) {
+ , 2, f02a, 65}
+ Store(Refof(f02a), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (69) {
+ Store(128, Local2)
+ BankField(OPR0, BNK0, 128, DWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 2, f02b, 69}
+ Store(Refof(f02b), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (129) {
+ Store(255, Local2)
+ BankField(OPR0, BNK0, 255, ByteAcc, NoLock, Preserve) {
+ , 2, f02c, 129}
+ Store(Refof(f02c), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (256) {
+ Store(0, Local2)
+ BankField(OPR0, BNK0, 0, QWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 2, f02d, 256}
+ Store(Refof(f02d), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (1023) {
+ Store(1, Local2)
+ BankField(OPR0, BNK0, 1, ByteAcc, NoLock, Preserve) {
+ , 2, f02e, 1023}
+ Store(Refof(f02e), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (1983) {
+ Store(2, Local2)
+ BankField(OPR0, BNK0, 2, AnyAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 2, f02f, 1983}
+ Store(Refof(f02f), Local3)
+ Store(Refof(g002), Local4)
+ }
+ default {
+ err(arg0, z145, 13, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (3) {
+ switch(arg3) {
+ case (1) {
+ Store(3, Local2)
+ BankField(OPR0, BNK0, 3, ByteAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 3, f030, 1}
+ Store(Refof(f030), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (6) {
+ Store(4, Local2)
+ BankField(OPR0, BNK0, 4, ByteAcc, NoLock, Preserve) {
+ , 3, f031, 6}
+ Store(Refof(f031), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (7) {
+ Store(5, Local2)
+ BankField(OPR0, BNK0, 5, WordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 3, f032, 7}
+ Store(Refof(f032), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (8) {
+ Store(6, Local2)
+ BankField(OPR0, BNK0, 6, ByteAcc, NoLock, Preserve) {
+ , 3, f033, 8}
+ Store(Refof(f033), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (9) {
+ Store(7, Local2)
+ BankField(OPR0, BNK0, 7, DWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 3, f034, 9}
+ Store(Refof(f034), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (31) {
+ Store(8, Local2)
+ BankField(OPR0, BNK0, 8, ByteAcc, NoLock, Preserve) {
+ , 3, f035, 31}
+ Store(Refof(f035), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (32) {
+ Store(9, Local2)
+ BankField(OPR0, BNK0, 9, QWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 3, f036, 32}
+ Store(Refof(f036), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (33) {
+ Store(63, Local2)
+ BankField(OPR0, BNK0, 63, ByteAcc, NoLock, Preserve) {
+ , 3, f037, 33}
+ Store(Refof(f037), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (63) {
+ Store(64, Local2)
+ BankField(OPR0, BNK0, 64, AnyAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 3, f038, 63}
+ Store(Refof(f038), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (64) {
+ Store(127, Local2)
+ BankField(OPR0, BNK0, 127, ByteAcc, NoLock, Preserve) {
+ , 3, f039, 64}
+ Store(Refof(f039), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (65) {
+ Store(128, Local2)
+ BankField(OPR0, BNK0, 128, ByteAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 3, f03a, 65}
+ Store(Refof(f03a), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (69) {
+ Store(255, Local2)
+ BankField(OPR0, BNK0, 255, ByteAcc, NoLock, Preserve) {
+ , 3, f03b, 69}
+ Store(Refof(f03b), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (129) {
+ Store(0, Local2)
+ BankField(OPR0, BNK0, 0, WordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 3, f03c, 129}
+ Store(Refof(f03c), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (256) {
+ Store(1, Local2)
+ BankField(OPR0, BNK0, 1, ByteAcc, NoLock, Preserve) {
+ , 3, f03d, 256}
+ Store(Refof(f03d), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (1023) {
+ Store(2, Local2)
+ BankField(OPR0, BNK0, 2, DWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 3, f03e, 1023}
+ Store(Refof(f03e), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (1983) {
+ Store(3, Local2)
+ BankField(OPR0, BNK0, 3, ByteAcc, NoLock, Preserve) {
+ , 3, f03f, 1983}
+ Store(Refof(f03f), Local3)
+ Store(Refof(g003), Local4)
+ }
+ default {
+ err(arg0, z145, 14, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (4) {
+ switch(arg3) {
+ case (1) {
+ Store(4, Local2)
+ BankField(OPR0, BNK0, 4, ByteAcc, NoLock, Preserve) {
+ , 4, f040, 1}
+ Store(Refof(f040), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (6) {
+ Store(5, Local2)
+ BankField(OPR0, BNK0, 5, QWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 4, f041, 6}
+ Store(Refof(f041), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (7) {
+ Store(6, Local2)
+ BankField(OPR0, BNK0, 6, ByteAcc, NoLock, Preserve) {
+ , 4, f042, 7}
+ Store(Refof(f042), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (8) {
+ Store(7, Local2)
+ BankField(OPR0, BNK0, 7, AnyAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 4, f043, 8}
+ Store(Refof(f043), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (9) {
+ Store(8, Local2)
+ BankField(OPR0, BNK0, 8, ByteAcc, NoLock, Preserve) {
+ , 4, f044, 9}
+ Store(Refof(f044), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (31) {
+ Store(9, Local2)
+ BankField(OPR0, BNK0, 9, ByteAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 4, f045, 31}
+ Store(Refof(f045), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (32) {
+ Store(63, Local2)
+ BankField(OPR0, BNK0, 63, ByteAcc, NoLock, Preserve) {
+ , 4, f046, 32}
+ Store(Refof(f046), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (33) {
+ Store(64, Local2)
+ BankField(OPR0, BNK0, 64, WordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 4, f047, 33}
+ Store(Refof(f047), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (63) {
+ Store(127, Local2)
+ BankField(OPR0, BNK0, 127, ByteAcc, NoLock, Preserve) {
+ , 4, f048, 63}
+ Store(Refof(f048), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (64) {
+ Store(128, Local2)
+ BankField(OPR0, BNK0, 128, DWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 4, f049, 64}
+ Store(Refof(f049), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (65) {
+ Store(255, Local2)
+ BankField(OPR0, BNK0, 255, ByteAcc, NoLock, Preserve) {
+ , 4, f04a, 65}
+ Store(Refof(f04a), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (69) {
+ Store(0, Local2)
+ BankField(OPR0, BNK0, 0, QWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 4, f04b, 69}
+ Store(Refof(f04b), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (129) {
+ Store(1, Local2)
+ BankField(OPR0, BNK0, 1, ByteAcc, NoLock, Preserve) {
+ , 4, f04c, 129}
+ Store(Refof(f04c), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (256) {
+ Store(2, Local2)
+ BankField(OPR0, BNK0, 2, AnyAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 4, f04d, 256}
+ Store(Refof(f04d), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (1023) {
+ Store(3, Local2)
+ BankField(OPR0, BNK0, 3, ByteAcc, NoLock, Preserve) {
+ , 4, f04e, 1023}
+ Store(Refof(f04e), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (1983) {
+ Store(4, Local2)
+ BankField(OPR0, BNK0, 4, ByteAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 4, f04f, 1983}
+ Store(Refof(f04f), Local3)
+ Store(Refof(g004), Local4)
+ }
+ default {
+ err(arg0, z145, 15, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (5) {
+ switch(arg3) {
+ case (1) {
+ Store(5, Local2)
+ BankField(OPR0, BNK0, 5, WordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 5, f050, 1}
+ Store(Refof(f050), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (6) {
+ Store(6, Local2)
+ BankField(OPR0, BNK0, 6, ByteAcc, NoLock, Preserve) {
+ , 5, f051, 6}
+ Store(Refof(f051), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (7) {
+ Store(7, Local2)
+ BankField(OPR0, BNK0, 7, DWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 5, f052, 7}
+ Store(Refof(f052), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (8) {
+ Store(8, Local2)
+ BankField(OPR0, BNK0, 8, ByteAcc, NoLock, Preserve) {
+ , 5, f053, 8}
+ Store(Refof(f053), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (9) {
+ Store(9, Local2)
+ BankField(OPR0, BNK0, 9, QWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 5, f054, 9}
+ Store(Refof(f054), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (31) {
+ Store(63, Local2)
+ BankField(OPR0, BNK0, 63, ByteAcc, NoLock, Preserve) {
+ , 5, f055, 31}
+ Store(Refof(f055), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (32) {
+ Store(64, Local2)
+ BankField(OPR0, BNK0, 64, AnyAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 5, f056, 32}
+ Store(Refof(f056), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (33) {
+ Store(127, Local2)
+ BankField(OPR0, BNK0, 127, ByteAcc, NoLock, Preserve) {
+ , 5, f057, 33}
+ Store(Refof(f057), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (63) {
+ Store(128, Local2)
+ BankField(OPR0, BNK0, 128, ByteAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 5, f058, 63}
+ Store(Refof(f058), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (64) {
+ Store(255, Local2)
+ BankField(OPR0, BNK0, 255, ByteAcc, NoLock, Preserve) {
+ , 5, f059, 64}
+ Store(Refof(f059), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (65) {
+ Store(0, Local2)
+ BankField(OPR0, BNK0, 0, WordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 5, f05a, 65}
+ Store(Refof(f05a), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (69) {
+ Store(1, Local2)
+ BankField(OPR0, BNK0, 1, ByteAcc, NoLock, Preserve) {
+ , 5, f05b, 69}
+ Store(Refof(f05b), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (129) {
+ Store(2, Local2)
+ BankField(OPR0, BNK0, 2, DWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 5, f05c, 129}
+ Store(Refof(f05c), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (256) {
+ Store(3, Local2)
+ BankField(OPR0, BNK0, 3, ByteAcc, NoLock, Preserve) {
+ , 5, f05d, 256}
+ Store(Refof(f05d), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (1023) {
+ Store(4, Local2)
+ BankField(OPR0, BNK0, 4, QWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 5, f05e, 1023}
+ Store(Refof(f05e), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (1983) {
+ Store(5, Local2)
+ BankField(OPR0, BNK0, 5, ByteAcc, NoLock, Preserve) {
+ , 5, f05f, 1983}
+ Store(Refof(f05f), Local3)
+ Store(Refof(g005), Local4)
+ }
+ default {
+ err(arg0, z145, 16, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (6) {
+ switch(arg3) {
+ case (1) {
+ Store(6, Local2)
+ BankField(OPR0, BNK0, 6, ByteAcc, NoLock, Preserve) {
+ , 6, f060, 1}
+ Store(Refof(f060), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (6) {
+ Store(7, Local2)
+ BankField(OPR0, BNK0, 7, AnyAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 6, f061, 6}
+ Store(Refof(f061), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (7) {
+ Store(8, Local2)
+ BankField(OPR0, BNK0, 8, ByteAcc, NoLock, Preserve) {
+ , 6, f062, 7}
+ Store(Refof(f062), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (8) {
+ Store(9, Local2)
+ BankField(OPR0, BNK0, 9, ByteAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 6, f063, 8}
+ Store(Refof(f063), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (9) {
+ Store(63, Local2)
+ BankField(OPR0, BNK0, 63, ByteAcc, NoLock, Preserve) {
+ , 6, f064, 9}
+ Store(Refof(f064), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (31) {
+ Store(64, Local2)
+ BankField(OPR0, BNK0, 64, WordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 6, f065, 31}
+ Store(Refof(f065), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (32) {
+ Store(127, Local2)
+ BankField(OPR0, BNK0, 127, ByteAcc, NoLock, Preserve) {
+ , 6, f066, 32}
+ Store(Refof(f066), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (33) {
+ Store(128, Local2)
+ BankField(OPR0, BNK0, 128, DWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 6, f067, 33}
+ Store(Refof(f067), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (63) {
+ Store(255, Local2)
+ BankField(OPR0, BNK0, 255, ByteAcc, NoLock, Preserve) {
+ , 6, f068, 63}
+ Store(Refof(f068), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (64) {
+ Store(0, Local2)
+ BankField(OPR0, BNK0, 0, QWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 6, f069, 64}
+ Store(Refof(f069), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (65) {
+ Store(1, Local2)
+ BankField(OPR0, BNK0, 1, ByteAcc, NoLock, Preserve) {
+ , 6, f06a, 65}
+ Store(Refof(f06a), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (69) {
+ Store(2, Local2)
+ BankField(OPR0, BNK0, 2, AnyAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 6, f06b, 69}
+ Store(Refof(f06b), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (129) {
+ Store(3, Local2)
+ BankField(OPR0, BNK0, 3, ByteAcc, NoLock, Preserve) {
+ , 6, f06c, 129}
+ Store(Refof(f06c), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (256) {
+ Store(4, Local2)
+ BankField(OPR0, BNK0, 4, ByteAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 6, f06d, 256}
+ Store(Refof(f06d), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (1023) {
+ Store(5, Local2)
+ BankField(OPR0, BNK0, 5, ByteAcc, NoLock, Preserve) {
+ , 6, f06e, 1023}
+ Store(Refof(f06e), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (1983) {
+ Store(6, Local2)
+ BankField(OPR0, BNK0, 6, WordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 6, f06f, 1983}
+ Store(Refof(f06f), Local3)
+ Store(Refof(g006), Local4)
+ }
+ default {
+ err(arg0, z145, 17, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (7) {
+ switch(arg3) {
+ case (1) {
+ Store(7, Local2)
+ BankField(OPR0, BNK0, 7, DWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 7, f070, 1}
+ Store(Refof(f070), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (6) {
+ Store(8, Local2)
+ BankField(OPR0, BNK0, 8, ByteAcc, NoLock, Preserve) {
+ , 7, f071, 6}
+ Store(Refof(f071), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (7) {
+ Store(9, Local2)
+ BankField(OPR0, BNK0, 9, QWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 7, f072, 7}
+ Store(Refof(f072), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (8) {
+ Store(63, Local2)
+ BankField(OPR0, BNK0, 63, ByteAcc, NoLock, Preserve) {
+ , 7, f073, 8}
+ Store(Refof(f073), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (9) {
+ Store(64, Local2)
+ BankField(OPR0, BNK0, 64, AnyAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 7, f074, 9}
+ Store(Refof(f074), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (31) {
+ Store(127, Local2)
+ BankField(OPR0, BNK0, 127, ByteAcc, NoLock, Preserve) {
+ , 7, f075, 31}
+ Store(Refof(f075), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (32) {
+ Store(128, Local2)
+ BankField(OPR0, BNK0, 128, ByteAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 7, f076, 32}
+ Store(Refof(f076), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (33) {
+ Store(255, Local2)
+ BankField(OPR0, BNK0, 255, ByteAcc, NoLock, Preserve) {
+ , 7, f077, 33}
+ Store(Refof(f077), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (63) {
+ Store(0, Local2)
+ BankField(OPR0, BNK0, 0, WordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 7, f078, 63}
+ Store(Refof(f078), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (64) {
+ Store(1, Local2)
+ BankField(OPR0, BNK0, 1, ByteAcc, NoLock, Preserve) {
+ , 7, f079, 64}
+ Store(Refof(f079), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (65) {
+ Store(2, Local2)
+ BankField(OPR0, BNK0, 2, DWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 7, f07a, 65}
+ Store(Refof(f07a), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (69) {
+ Store(3, Local2)
+ BankField(OPR0, BNK0, 3, ByteAcc, NoLock, Preserve) {
+ , 7, f07b, 69}
+ Store(Refof(f07b), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (129) {
+ Store(4, Local2)
+ BankField(OPR0, BNK0, 4, QWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 7, f07c, 129}
+ Store(Refof(f07c), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (256) {
+ Store(5, Local2)
+ BankField(OPR0, BNK0, 5, ByteAcc, NoLock, Preserve) {
+ , 7, f07d, 256}
+ Store(Refof(f07d), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (1023) {
+ Store(6, Local2)
+ BankField(OPR0, BNK0, 6, AnyAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 7, f07e, 1023}
+ Store(Refof(f07e), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (1983) {
+ Store(7, Local2)
+ BankField(OPR0, BNK0, 7, ByteAcc, NoLock, Preserve) {
+ , 7, f07f, 1983}
+ Store(Refof(f07f), Local3)
+ Store(Refof(g007), Local4)
+ }
+ default {
+ err(arg0, z145, 18, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (8) {
+ switch(arg3) {
+ case (1) {
+ Store(8, Local2)
+ BankField(OPR0, BNK0, 8, ByteAcc, NoLock, Preserve) {
+ Offset(1), f080, 1}
+ Store(Refof(f080), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (6) {
+ Store(9, Local2)
+ BankField(OPR0, BNK0, 9, ByteAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ Offset(1), f081, 6}
+ Store(Refof(f081), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (7) {
+ Store(63, Local2)
+ BankField(OPR0, BNK0, 63, ByteAcc, NoLock, Preserve) {
+ Offset(1), f082, 7}
+ Store(Refof(f082), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (8) {
+ Store(64, Local2)
+ BankField(OPR0, BNK0, 64, WordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ Offset(1), f083, 8}
+ Store(Refof(f083), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (9) {
+ Store(127, Local2)
+ BankField(OPR0, BNK0, 127, ByteAcc, NoLock, Preserve) {
+ Offset(1), f084, 9}
+ Store(Refof(f084), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (31) {
+ Store(128, Local2)
+ BankField(OPR0, BNK0, 128, DWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ Offset(1), f085, 31}
+ Store(Refof(f085), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (32) {
+ Store(255, Local2)
+ BankField(OPR0, BNK0, 255, ByteAcc, NoLock, Preserve) {
+ Offset(1), f086, 32}
+ Store(Refof(f086), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (33) {
+ Store(0, Local2)
+ BankField(OPR0, BNK0, 0, QWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ Offset(1), f087, 33}
+ Store(Refof(f087), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (63) {
+ Store(1, Local2)
+ BankField(OPR0, BNK0, 1, ByteAcc, NoLock, Preserve) {
+ Offset(1), f088, 63}
+ Store(Refof(f088), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (64) {
+ Store(2, Local2)
+ BankField(OPR0, BNK0, 2, AnyAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ Offset(1), f089, 64}
+ Store(Refof(f089), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (65) {
+ Store(3, Local2)
+ BankField(OPR0, BNK0, 3, ByteAcc, NoLock, Preserve) {
+ Offset(1), f08a, 65}
+ Store(Refof(f08a), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (69) {
+ Store(4, Local2)
+ BankField(OPR0, BNK0, 4, ByteAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ Offset(1), f08b, 69}
+ Store(Refof(f08b), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (129) {
+ Store(5, Local2)
+ BankField(OPR0, BNK0, 5, ByteAcc, NoLock, Preserve) {
+ Offset(1), f08c, 129}
+ Store(Refof(f08c), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (256) {
+ Store(6, Local2)
+ BankField(OPR0, BNK0, 6, WordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ Offset(1), f08d, 256}
+ Store(Refof(f08d), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (1023) {
+ Store(7, Local2)
+ BankField(OPR0, BNK0, 7, ByteAcc, NoLock, Preserve) {
+ Offset(1), f08e, 1023}
+ Store(Refof(f08e), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (1983) {
+ Store(8, Local2)
+ BankField(OPR0, BNK0, 8, DWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ Offset(1), f08f, 1983}
+ Store(Refof(f08f), Local3)
+ Store(Refof(g008), Local4)
+ }
+ default {
+ err(arg0, z145, 19, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (9) {
+ switch(arg3) {
+ case (1) {
+ Store(9, Local2)
+ BankField(OPR0, BNK0, 9, QWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 9, f090, 1}
+ Store(Refof(f090), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (6) {
+ Store(63, Local2)
+ BankField(OPR0, BNK0, 63, ByteAcc, NoLock, Preserve) {
+ , 9, f091, 6}
+ Store(Refof(f091), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (7) {
+ Store(64, Local2)
+ BankField(OPR0, BNK0, 64, AnyAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 9, f092, 7}
+ Store(Refof(f092), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (8) {
+ Store(127, Local2)
+ BankField(OPR0, BNK0, 127, ByteAcc, NoLock, Preserve) {
+ , 9, f093, 8}
+ Store(Refof(f093), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (9) {
+ Store(128, Local2)
+ BankField(OPR0, BNK0, 128, ByteAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 9, f094, 9}
+ Store(Refof(f094), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (31) {
+ Store(255, Local2)
+ BankField(OPR0, BNK0, 255, ByteAcc, NoLock, Preserve) {
+ , 9, f095, 31}
+ Store(Refof(f095), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (32) {
+ Store(0, Local2)
+ BankField(OPR0, BNK0, 0, WordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 9, f096, 32}
+ Store(Refof(f096), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (33) {
+ Store(1, Local2)
+ BankField(OPR0, BNK0, 1, ByteAcc, NoLock, Preserve) {
+ , 9, f097, 33}
+ Store(Refof(f097), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (63) {
+ Store(2, Local2)
+ BankField(OPR0, BNK0, 2, DWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 9, f098, 63}
+ Store(Refof(f098), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (64) {
+ Store(3, Local2)
+ BankField(OPR0, BNK0, 3, ByteAcc, NoLock, Preserve) {
+ , 9, f099, 64}
+ Store(Refof(f099), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (65) {
+ Store(4, Local2)
+ BankField(OPR0, BNK0, 4, QWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 9, f09a, 65}
+ Store(Refof(f09a), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (69) {
+ Store(5, Local2)
+ BankField(OPR0, BNK0, 5, ByteAcc, NoLock, Preserve) {
+ , 9, f09b, 69}
+ Store(Refof(f09b), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (129) {
+ Store(6, Local2)
+ BankField(OPR0, BNK0, 6, AnyAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 9, f09c, 129}
+ Store(Refof(f09c), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (256) {
+ Store(7, Local2)
+ BankField(OPR0, BNK0, 7, ByteAcc, NoLock, Preserve) {
+ , 9, f09d, 256}
+ Store(Refof(f09d), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (1023) {
+ Store(8, Local2)
+ BankField(OPR0, BNK0, 8, ByteAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 9, f09e, 1023}
+ Store(Refof(f09e), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (1983) {
+ Store(9, Local2)
+ BankField(OPR0, BNK0, 9, ByteAcc, NoLock, Preserve) {
+ , 9, f09f, 1983}
+ Store(Refof(f09f), Local3)
+ Store(Refof(g009), Local4)
+ }
+ default {
+ err(arg0, z145, 20, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (31) {
+ switch(arg3) {
+ case (1) {
+ Store(63, Local2)
+ BankField(OPR0, BNK0, 63, ByteAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0a0, 1}
+ Store(Refof(f0a0), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (6) {
+ Store(64, Local2)
+ BankField(OPR0, BNK0, 64, WordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ Offset(3), , 7, f0a1, 6}
+ Store(Refof(f0a1), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (7) {
+ Store(127, Local2)
+ BankField(OPR0, BNK0, 127, ByteAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0a2, 7}
+ Store(Refof(f0a2), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (8) {
+ Store(128, Local2)
+ BankField(OPR0, BNK0, 128, DWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ Offset(3), , 7, f0a3, 8}
+ Store(Refof(f0a3), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (9) {
+ Store(255, Local2)
+ BankField(OPR0, BNK0, 255, ByteAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0a4, 9}
+ Store(Refof(f0a4), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (31) {
+ Store(0, Local2)
+ BankField(OPR0, BNK0, 0, QWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ Offset(3), , 7, f0a5, 31}
+ Store(Refof(f0a5), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (32) {
+ Store(1, Local2)
+ BankField(OPR0, BNK0, 1, ByteAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0a6, 32}
+ Store(Refof(f0a6), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (33) {
+ Store(2, Local2)
+ BankField(OPR0, BNK0, 2, AnyAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ Offset(3), , 7, f0a7, 33}
+ Store(Refof(f0a7), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (63) {
+ Store(3, Local2)
+ BankField(OPR0, BNK0, 3, ByteAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0a8, 63}
+ Store(Refof(f0a8), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (64) {
+ Store(4, Local2)
+ BankField(OPR0, BNK0, 4, ByteAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ Offset(3), , 7, f0a9, 64}
+ Store(Refof(f0a9), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (65) {
+ Store(5, Local2)
+ BankField(OPR0, BNK0, 5, ByteAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0aa, 65}
+ Store(Refof(f0aa), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (69) {
+ Store(6, Local2)
+ BankField(OPR0, BNK0, 6, WordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ Offset(3), , 7, f0ab, 69}
+ Store(Refof(f0ab), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (129) {
+ Store(7, Local2)
+ BankField(OPR0, BNK0, 7, ByteAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0ac, 129}
+ Store(Refof(f0ac), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (256) {
+ Store(8, Local2)
+ BankField(OPR0, BNK0, 8, DWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ Offset(3), , 7, f0ad, 256}
+ Store(Refof(f0ad), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (1023) {
+ Store(9, Local2)
+ BankField(OPR0, BNK0, 9, ByteAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0ae, 1023}
+ Store(Refof(f0ae), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (1983) {
+ Store(63, Local2)
+ BankField(OPR0, BNK0, 63, QWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ Offset(3), , 7, f0af, 1983}
+ Store(Refof(f0af), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ default {
+ err(arg0, z145, 21, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (32) {
+ switch(arg3) {
+ case (1) {
+ Store(64, Local2)
+ BankField(OPR0, BNK0, 64, AnyAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 32, f0b0, 1}
+ Store(Refof(f0b0), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (6) {
+ Store(127, Local2)
+ BankField(OPR0, BNK0, 127, ByteAcc, NoLock, Preserve) {
+ , 32, f0b1, 6}
+ Store(Refof(f0b1), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (7) {
+ Store(128, Local2)
+ BankField(OPR0, BNK0, 128, ByteAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 32, f0b2, 7}
+ Store(Refof(f0b2), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (8) {
+ Store(255, Local2)
+ BankField(OPR0, BNK0, 255, ByteAcc, NoLock, Preserve) {
+ , 32, f0b3, 8}
+ Store(Refof(f0b3), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (9) {
+ Store(0, Local2)
+ BankField(OPR0, BNK0, 0, WordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 32, f0b4, 9}
+ Store(Refof(f0b4), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (31) {
+ Store(1, Local2)
+ BankField(OPR0, BNK0, 1, ByteAcc, NoLock, Preserve) {
+ , 32, f0b5, 31}
+ Store(Refof(f0b5), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (32) {
+ Store(2, Local2)
+ BankField(OPR0, BNK0, 2, DWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 32, f0b6, 32}
+ Store(Refof(f0b6), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (33) {
+ Store(3, Local2)
+ BankField(OPR0, BNK0, 3, ByteAcc, NoLock, Preserve) {
+ , 32, f0b7, 33}
+ Store(Refof(f0b7), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (63) {
+ Store(4, Local2)
+ BankField(OPR0, BNK0, 4, QWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 32, f0b8, 63}
+ Store(Refof(f0b8), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (64) {
+ Store(5, Local2)
+ BankField(OPR0, BNK0, 5, ByteAcc, NoLock, Preserve) {
+ , 32, f0b9, 64}
+ Store(Refof(f0b9), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (65) {
+ Store(6, Local2)
+ BankField(OPR0, BNK0, 6, AnyAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 32, f0ba, 65}
+ Store(Refof(f0ba), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (69) {
+ Store(7, Local2)
+ BankField(OPR0, BNK0, 7, ByteAcc, NoLock, Preserve) {
+ , 32, f0bb, 69}
+ Store(Refof(f0bb), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (129) {
+ Store(8, Local2)
+ BankField(OPR0, BNK0, 8, ByteAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 32, f0bc, 129}
+ Store(Refof(f0bc), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (256) {
+ Store(9, Local2)
+ BankField(OPR0, BNK0, 9, ByteAcc, NoLock, Preserve) {
+ , 32, f0bd, 256}
+ Store(Refof(f0bd), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (1023) {
+ Store(63, Local2)
+ BankField(OPR0, BNK0, 63, WordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 32, f0be, 1023}
+ Store(Refof(f0be), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (1983) {
+ Store(64, Local2)
+ BankField(OPR0, BNK0, 64, ByteAcc, NoLock, Preserve) {
+ , 32, f0bf, 1983}
+ Store(Refof(f0bf), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ default {
+ err(arg0, z145, 22, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (33) {
+ switch(arg3) {
+ case (1) {
+ Store(127, Local2)
+ BankField(OPR0, BNK0, 127, ByteAcc, NoLock, Preserve) {
+ , 33, f0c0, 1}
+ Store(Refof(f0c0), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (6) {
+ Store(128, Local2)
+ BankField(OPR0, BNK0, 128, DWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 33, f0c1, 6}
+ Store(Refof(f0c1), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (7) {
+ Store(255, Local2)
+ BankField(OPR0, BNK0, 255, ByteAcc, NoLock, Preserve) {
+ , 33, f0c2, 7}
+ Store(Refof(f0c2), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (8) {
+ Store(0, Local2)
+ BankField(OPR0, BNK0, 0, QWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 33, f0c3, 8}
+ Store(Refof(f0c3), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (9) {
+ Store(1, Local2)
+ BankField(OPR0, BNK0, 1, ByteAcc, NoLock, Preserve) {
+ , 33, f0c4, 9}
+ Store(Refof(f0c4), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (31) {
+ Store(2, Local2)
+ BankField(OPR0, BNK0, 2, AnyAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 33, f0c5, 31}
+ Store(Refof(f0c5), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (32) {
+ Store(3, Local2)
+ BankField(OPR0, BNK0, 3, ByteAcc, NoLock, Preserve) {
+ , 33, f0c6, 32}
+ Store(Refof(f0c6), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (33) {
+ Store(4, Local2)
+ BankField(OPR0, BNK0, 4, ByteAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 33, f0c7, 33}
+ Store(Refof(f0c7), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (63) {
+ Store(5, Local2)
+ BankField(OPR0, BNK0, 5, ByteAcc, NoLock, Preserve) {
+ , 33, f0c8, 63}
+ Store(Refof(f0c8), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (64) {
+ Store(6, Local2)
+ BankField(OPR0, BNK0, 6, WordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 33, f0c9, 64}
+ Store(Refof(f0c9), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (65) {
+ Store(7, Local2)
+ BankField(OPR0, BNK0, 7, ByteAcc, NoLock, Preserve) {
+ , 33, f0ca, 65}
+ Store(Refof(f0ca), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (69) {
+ Store(8, Local2)
+ BankField(OPR0, BNK0, 8, DWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 33, f0cb, 69}
+ Store(Refof(f0cb), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (129) {
+ Store(9, Local2)
+ BankField(OPR0, BNK0, 9, ByteAcc, NoLock, Preserve) {
+ , 33, f0cc, 129}
+ Store(Refof(f0cc), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (256) {
+ Store(63, Local2)
+ BankField(OPR0, BNK0, 63, QWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 33, f0cd, 256}
+ Store(Refof(f0cd), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (1023) {
+ Store(64, Local2)
+ BankField(OPR0, BNK0, 64, ByteAcc, NoLock, Preserve) {
+ , 33, f0ce, 1023}
+ Store(Refof(f0ce), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (1983) {
+ Store(127, Local2)
+ BankField(OPR0, BNK0, 127, AnyAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 33, f0cf, 1983}
+ Store(Refof(f0cf), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ default {
+ err(arg0, z145, 23, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (63) {
+ switch(arg3) {
+ case (1) {
+ Store(128, Local2)
+ BankField(OPR0, BNK0, 128, ByteAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 63, f0d0, 1}
+ Store(Refof(f0d0), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (6) {
+ Store(255, Local2)
+ BankField(OPR0, BNK0, 255, ByteAcc, NoLock, Preserve) {
+ , 63, f0d1, 6}
+ Store(Refof(f0d1), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (7) {
+ Store(0, Local2)
+ BankField(OPR0, BNK0, 0, WordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 63, f0d2, 7}
+ Store(Refof(f0d2), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (8) {
+ Store(1, Local2)
+ BankField(OPR0, BNK0, 1, ByteAcc, NoLock, Preserve) {
+ , 63, f0d3, 8}
+ Store(Refof(f0d3), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (9) {
+ Store(2, Local2)
+ BankField(OPR0, BNK0, 2, DWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 63, f0d4, 9}
+ Store(Refof(f0d4), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (31) {
+ Store(3, Local2)
+ BankField(OPR0, BNK0, 3, ByteAcc, NoLock, Preserve) {
+ , 63, f0d5, 31}
+ Store(Refof(f0d5), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (32) {
+ Store(4, Local2)
+ BankField(OPR0, BNK0, 4, QWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 63, f0d6, 32}
+ Store(Refof(f0d6), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (33) {
+ Store(5, Local2)
+ BankField(OPR0, BNK0, 5, ByteAcc, NoLock, Preserve) {
+ , 63, f0d7, 33}
+ Store(Refof(f0d7), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (63) {
+ Store(6, Local2)
+ BankField(OPR0, BNK0, 6, AnyAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 63, f0d8, 63}
+ Store(Refof(f0d8), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (64) {
+ Store(7, Local2)
+ BankField(OPR0, BNK0, 7, ByteAcc, NoLock, Preserve) {
+ , 63, f0d9, 64}
+ Store(Refof(f0d9), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (65) {
+ Store(8, Local2)
+ BankField(OPR0, BNK0, 8, ByteAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 63, f0da, 65}
+ Store(Refof(f0da), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (69) {
+ Store(9, Local2)
+ BankField(OPR0, BNK0, 9, ByteAcc, NoLock, Preserve) {
+ , 63, f0db, 69}
+ Store(Refof(f0db), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (129) {
+ Store(63, Local2)
+ BankField(OPR0, BNK0, 63, WordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 63, f0dc, 129}
+ Store(Refof(f0dc), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (256) {
+ Store(64, Local2)
+ BankField(OPR0, BNK0, 64, ByteAcc, NoLock, Preserve) {
+ , 63, f0dd, 256}
+ Store(Refof(f0dd), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (1023) {
+ Store(127, Local2)
+ BankField(OPR0, BNK0, 127, DWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 63, f0de, 1023}
+ Store(Refof(f0de), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (1983) {
+ Store(128, Local2)
+ BankField(OPR0, BNK0, 128, ByteAcc, NoLock, Preserve) {
+ , 63, f0df, 1983}
+ Store(Refof(f0df), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ default {
+ err(arg0, z145, 24, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (64) {
+ switch(arg3) {
+ case (1) {
+ Store(255, Local2)
+ BankField(OPR0, BNK0, 255, ByteAcc, NoLock, Preserve) {
+ , 64, f0e0, 1}
+ Store(Refof(f0e0), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (6) {
+ Store(0, Local2)
+ BankField(OPR0, BNK0, 0, QWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 64, f0e1, 6}
+ Store(Refof(f0e1), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (7) {
+ Store(1, Local2)
+ BankField(OPR0, BNK0, 1, ByteAcc, NoLock, Preserve) {
+ , 64, f0e2, 7}
+ Store(Refof(f0e2), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (8) {
+ Store(2, Local2)
+ BankField(OPR0, BNK0, 2, AnyAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 64, f0e3, 8}
+ Store(Refof(f0e3), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (9) {
+ Store(3, Local2)
+ BankField(OPR0, BNK0, 3, ByteAcc, NoLock, Preserve) {
+ , 64, f0e4, 9}
+ Store(Refof(f0e4), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (31) {
+ Store(4, Local2)
+ BankField(OPR0, BNK0, 4, ByteAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 64, f0e5, 31}
+ Store(Refof(f0e5), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (32) {
+ Store(5, Local2)
+ BankField(OPR0, BNK0, 5, ByteAcc, NoLock, Preserve) {
+ , 64, f0e6, 32}
+ Store(Refof(f0e6), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (33) {
+ Store(6, Local2)
+ BankField(OPR0, BNK0, 6, WordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 64, f0e7, 33}
+ Store(Refof(f0e7), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (63) {
+ Store(7, Local2)
+ BankField(OPR0, BNK0, 7, ByteAcc, NoLock, Preserve) {
+ , 64, f0e8, 63}
+ Store(Refof(f0e8), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (64) {
+ Store(8, Local2)
+ BankField(OPR0, BNK0, 8, DWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 64, f0e9, 64}
+ Store(Refof(f0e9), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (65) {
+ Store(9, Local2)
+ BankField(OPR0, BNK0, 9, ByteAcc, NoLock, Preserve) {
+ , 64, f0ea, 65}
+ Store(Refof(f0ea), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (69) {
+ Store(63, Local2)
+ BankField(OPR0, BNK0, 63, QWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 64, f0eb, 69}
+ Store(Refof(f0eb), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (129) {
+ Store(64, Local2)
+ BankField(OPR0, BNK0, 64, ByteAcc, NoLock, Preserve) {
+ , 64, f0ec, 129}
+ Store(Refof(f0ec), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (256) {
+ Store(127, Local2)
+ BankField(OPR0, BNK0, 127, AnyAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 64, f0ed, 256}
+ Store(Refof(f0ed), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (1023) {
+ Store(128, Local2)
+ BankField(OPR0, BNK0, 128, ByteAcc, NoLock, Preserve) {
+ , 64, f0ee, 1023}
+ Store(Refof(f0ee), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (1983) {
+ Store(255, Local2)
+ BankField(OPR0, BNK0, 255, ByteAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 64, f0ef, 1983}
+ Store(Refof(f0ef), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ default {
+ err(arg0, z145, 25, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (65) {
+ switch(arg3) {
+ case (1) {
+ Store(0, Local2)
+ BankField(OPR0, BNK0, 0, WordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ Offset(8), , 1, f0f0, 1}
+ Store(Refof(f0f0), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (6) {
+ Store(1, Local2)
+ BankField(OPR0, BNK0, 1, ByteAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0f1, 6}
+ Store(Refof(f0f1), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (7) {
+ Store(2, Local2)
+ BankField(OPR0, BNK0, 2, DWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ Offset(8), , 1, f0f2, 7}
+ Store(Refof(f0f2), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (8) {
+ Store(3, Local2)
+ BankField(OPR0, BNK0, 3, ByteAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0f3, 8}
+ Store(Refof(f0f3), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (9) {
+ Store(4, Local2)
+ BankField(OPR0, BNK0, 4, QWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ Offset(8), , 1, f0f4, 9}
+ Store(Refof(f0f4), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (31) {
+ Store(5, Local2)
+ BankField(OPR0, BNK0, 5, ByteAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0f5, 31}
+ Store(Refof(f0f5), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (32) {
+ Store(6, Local2)
+ BankField(OPR0, BNK0, 6, AnyAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ Offset(8), , 1, f0f6, 32}
+ Store(Refof(f0f6), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (33) {
+ Store(7, Local2)
+ BankField(OPR0, BNK0, 7, ByteAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0f7, 33}
+ Store(Refof(f0f7), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (63) {
+ Store(8, Local2)
+ BankField(OPR0, BNK0, 8, ByteAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ Offset(8), , 1, f0f8, 63}
+ Store(Refof(f0f8), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (64) {
+ Store(9, Local2)
+ BankField(OPR0, BNK0, 9, ByteAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0f9, 64}
+ Store(Refof(f0f9), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (65) {
+ Store(63, Local2)
+ BankField(OPR0, BNK0, 63, WordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ Offset(8), , 1, f0fa, 65}
+ Store(Refof(f0fa), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (69) {
+ Store(64, Local2)
+ BankField(OPR0, BNK0, 64, ByteAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0fb, 69}
+ Store(Refof(f0fb), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (129) {
+ Store(127, Local2)
+ BankField(OPR0, BNK0, 127, DWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ Offset(8), , 1, f0fc, 129}
+ Store(Refof(f0fc), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (256) {
+ Store(128, Local2)
+ BankField(OPR0, BNK0, 128, ByteAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0fd, 256}
+ Store(Refof(f0fd), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (1023) {
+ Store(255, Local2)
+ BankField(OPR0, BNK0, 255, QWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ Offset(8), , 1, f0fe, 1023}
+ Store(Refof(f0fe), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (1983) {
+ Store(0, Local2)
+ BankField(OPR0, BNK0, 0, ByteAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0ff, 1983}
+ Store(Refof(f0ff), Local3)
+ Store(Refof(g000), Local4)
+ }
+ default {
+ err(arg0, z145, 26, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ default {
+ err(arg0, z145, 27, 0, 0, arg2, arg3)
+ return}
+ }
+
+ Store(2, Index(fcp0, 0))
+ Store(Refof(BNK0), Index(fcp0, 1))
+ Store(Local2, Index(fcp0, 2))
+ m72d(arg0, Local3, arg2, arg3, arg4, arg5, Local4)
+ Store(0, Index(fcp0, 0))
+}
+
+// Create BankField Unit
+// (WordAcc, NoLock, WriteAsOnes)
+Method(m7d1, 6)
+{
+ OperationRegion(OPRb, SystemIO, 0, 9)
+ OperationRegion(OPR0, SystemIO, 11, 256)
+
+ Field(OPRb, ByteAcc, NoLock, Preserve) {
+ BNK0, 8,
+ }
+ BankField(OPR0, BNK0, 0, ByteAcc, NoLock, Preserve) {
+ g000, 2048,
+ }
+ BankField(OPR0, BNK0, 1, ByteAcc, NoLock, Preserve) {
+ g001, 2048,
+ }
+ BankField(OPR0, BNK0, 2, ByteAcc, NoLock, Preserve) {
+ g002, 2048,
+ }
+ BankField(OPR0, BNK0, 3, ByteAcc, NoLock, Preserve) {
+ g003, 2048,
+ }
+ BankField(OPR0, BNK0, 4, ByteAcc, NoLock, Preserve) {
+ g004, 2048,
+ }
+ BankField(OPR0, BNK0, 5, ByteAcc, NoLock, Preserve) {
+ g005, 2048,
+ }
+ BankField(OPR0, BNK0, 6, ByteAcc, NoLock, Preserve) {
+ g006, 2048,
+ }
+ BankField(OPR0, BNK0, 7, ByteAcc, NoLock, Preserve) {
+ g007, 2048,
+ }
+ BankField(OPR0, BNK0, 8, ByteAcc, NoLock, Preserve) {
+ g008, 2048,
+ }
+ BankField(OPR0, BNK0, 9, ByteAcc, NoLock, Preserve) {
+ g009, 2048,
+ }
+ BankField(OPR0, BNK0, 63, ByteAcc, NoLock, Preserve) {
+ g00a, 2048,
+ }
+ BankField(OPR0, BNK0, 64, ByteAcc, NoLock, Preserve) {
+ g00b, 2048,
+ }
+ BankField(OPR0, BNK0, 127, ByteAcc, NoLock, Preserve) {
+ g00c, 2048,
+ }
+ BankField(OPR0, BNK0, 128, ByteAcc, NoLock, Preserve) {
+ g00d, 2048,
+ }
+ BankField(OPR0, BNK0, 255, ByteAcc, NoLock, Preserve) {
+ g00e, 2048,
+ }
+
+
+ Concatenate(arg0, "-m7d1", arg0)
+
+ switch(arg2) {
+ case (0) {
+ switch(arg3) {
+ case (1) {
+ Store(0, Local2)
+ BankField(OPR0, BNK0, 0, WordAcc, NoLock, WriteAsOnes) {
+ , 0, f000, 1}
+ Store(Refof(f000), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (6) {
+ Store(1, Local2)
+ BankField(OPR0, BNK0, 1, WordAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 0, f001, 6}
+ Store(Refof(f001), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (7) {
+ Store(2, Local2)
+ BankField(OPR0, BNK0, 2, WordAcc, NoLock, WriteAsOnes) {
+ , 0, f002, 7}
+ Store(Refof(f002), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (8) {
+ Store(3, Local2)
+ BankField(OPR0, BNK0, 3, DWordAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 0, f003, 8}
+ Store(Refof(f003), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (9) {
+ Store(4, Local2)
+ BankField(OPR0, BNK0, 4, WordAcc, NoLock, WriteAsOnes) {
+ , 0, f004, 9}
+ Store(Refof(f004), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (31) {
+ Store(5, Local2)
+ BankField(OPR0, BNK0, 5, QWordAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 0, f005, 31}
+ Store(Refof(f005), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (32) {
+ Store(6, Local2)
+ BankField(OPR0, BNK0, 6, WordAcc, NoLock, WriteAsOnes) {
+ , 0, f006, 32}
+ Store(Refof(f006), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (33) {
+ Store(7, Local2)
+ BankField(OPR0, BNK0, 7, AnyAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 0, f007, 33}
+ Store(Refof(f007), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (63) {
+ Store(8, Local2)
+ BankField(OPR0, BNK0, 8, WordAcc, NoLock, WriteAsOnes) {
+ , 0, f008, 63}
+ Store(Refof(f008), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (64) {
+ Store(9, Local2)
+ BankField(OPR0, BNK0, 9, ByteAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 0, f009, 64}
+ Store(Refof(f009), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (65) {
+ Store(63, Local2)
+ BankField(OPR0, BNK0, 63, WordAcc, NoLock, WriteAsOnes) {
+ , 0, f00a, 65}
+ Store(Refof(f00a), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (69) {
+ Store(64, Local2)
+ BankField(OPR0, BNK0, 64, WordAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 0, f00b, 69}
+ Store(Refof(f00b), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (129) {
+ Store(127, Local2)
+ BankField(OPR0, BNK0, 127, WordAcc, NoLock, WriteAsOnes) {
+ , 0, f00c, 129}
+ Store(Refof(f00c), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (256) {
+ Store(128, Local2)
+ BankField(OPR0, BNK0, 128, DWordAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 0, f00d, 256}
+ Store(Refof(f00d), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (1023) {
+ Store(255, Local2)
+ BankField(OPR0, BNK0, 255, WordAcc, NoLock, WriteAsOnes) {
+ , 0, f00e, 1023}
+ Store(Refof(f00e), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (1983) {
+ Store(0, Local2)
+ BankField(OPR0, BNK0, 0, QWordAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 0, f00f, 1983}
+ Store(Refof(f00f), Local3)
+ Store(Refof(g000), Local4)
+ }
+ default {
+ err(arg0, z145, 28, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (1) {
+ switch(arg3) {
+ case (1) {
+ Store(1, Local2)
+ BankField(OPR0, BNK0, 1, AnyAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 1, f010, 1}
+ Store(Refof(f010), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (6) {
+ Store(2, Local2)
+ BankField(OPR0, BNK0, 2, WordAcc, NoLock, WriteAsOnes) {
+ , 1, f011, 6}
+ Store(Refof(f011), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (7) {
+ Store(3, Local2)
+ BankField(OPR0, BNK0, 3, ByteAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 1, f012, 7}
+ Store(Refof(f012), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (8) {
+ Store(4, Local2)
+ BankField(OPR0, BNK0, 4, WordAcc, NoLock, WriteAsOnes) {
+ , 1, f013, 8}
+ Store(Refof(f013), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (9) {
+ Store(5, Local2)
+ BankField(OPR0, BNK0, 5, WordAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 1, f014, 9}
+ Store(Refof(f014), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (31) {
+ Store(6, Local2)
+ BankField(OPR0, BNK0, 6, WordAcc, NoLock, WriteAsOnes) {
+ , 1, f015, 31}
+ Store(Refof(f015), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (32) {
+ Store(7, Local2)
+ BankField(OPR0, BNK0, 7, DWordAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 1, f016, 32}
+ Store(Refof(f016), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (33) {
+ Store(8, Local2)
+ BankField(OPR0, BNK0, 8, WordAcc, NoLock, WriteAsOnes) {
+ , 1, f017, 33}
+ Store(Refof(f017), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (63) {
+ Store(9, Local2)
+ BankField(OPR0, BNK0, 9, QWordAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 1, f018, 63}
+ Store(Refof(f018), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (64) {
+ Store(63, Local2)
+ BankField(OPR0, BNK0, 63, WordAcc, NoLock, WriteAsOnes) {
+ , 1, f019, 64}
+ Store(Refof(f019), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (65) {
+ Store(64, Local2)
+ BankField(OPR0, BNK0, 64, AnyAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 1, f01a, 65}
+ Store(Refof(f01a), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (69) {
+ Store(127, Local2)
+ BankField(OPR0, BNK0, 127, WordAcc, NoLock, WriteAsOnes) {
+ , 1, f01b, 69}
+ Store(Refof(f01b), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (129) {
+ Store(128, Local2)
+ BankField(OPR0, BNK0, 128, ByteAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 1, f01c, 129}
+ Store(Refof(f01c), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (256) {
+ Store(255, Local2)
+ BankField(OPR0, BNK0, 255, WordAcc, NoLock, WriteAsOnes) {
+ , 1, f01d, 256}
+ Store(Refof(f01d), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (1023) {
+ Store(0, Local2)
+ BankField(OPR0, BNK0, 0, WordAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 1, f01e, 1023}
+ Store(Refof(f01e), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (1983) {
+ Store(1, Local2)
+ BankField(OPR0, BNK0, 1, WordAcc, NoLock, WriteAsOnes) {
+ , 1, f01f, 1983}
+ Store(Refof(f01f), Local3)
+ Store(Refof(g001), Local4)
+ }
+ default {
+ err(arg0, z145, 29, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (2) {
+ switch(arg3) {
+ case (1) {
+ Store(2, Local2)
+ BankField(OPR0, BNK0, 2, WordAcc, NoLock, WriteAsOnes) {
+ , 2, f020, 1}
+ Store(Refof(f020), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (6) {
+ Store(3, Local2)
+ BankField(OPR0, BNK0, 3, DWordAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 2, f021, 6}
+ Store(Refof(f021), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (7) {
+ Store(4, Local2)
+ BankField(OPR0, BNK0, 4, WordAcc, NoLock, WriteAsOnes) {
+ , 2, f022, 7}
+ Store(Refof(f022), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (8) {
+ Store(5, Local2)
+ BankField(OPR0, BNK0, 5, QWordAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 2, f023, 8}
+ Store(Refof(f023), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (9) {
+ Store(6, Local2)
+ BankField(OPR0, BNK0, 6, WordAcc, NoLock, WriteAsOnes) {
+ , 2, f024, 9}
+ Store(Refof(f024), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (31) {
+ Store(7, Local2)
+ BankField(OPR0, BNK0, 7, AnyAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 2, f025, 31}
+ Store(Refof(f025), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (32) {
+ Store(8, Local2)
+ BankField(OPR0, BNK0, 8, WordAcc, NoLock, WriteAsOnes) {
+ , 2, f026, 32}
+ Store(Refof(f026), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (33) {
+ Store(9, Local2)
+ BankField(OPR0, BNK0, 9, ByteAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 2, f027, 33}
+ Store(Refof(f027), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (63) {
+ Store(63, Local2)
+ BankField(OPR0, BNK0, 63, WordAcc, NoLock, WriteAsOnes) {
+ , 2, f028, 63}
+ Store(Refof(f028), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (64) {
+ Store(64, Local2)
+ BankField(OPR0, BNK0, 64, WordAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 2, f029, 64}
+ Store(Refof(f029), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (65) {
+ Store(127, Local2)
+ BankField(OPR0, BNK0, 127, WordAcc, NoLock, WriteAsOnes) {
+ , 2, f02a, 65}
+ Store(Refof(f02a), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (69) {
+ Store(128, Local2)
+ BankField(OPR0, BNK0, 128, DWordAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 2, f02b, 69}
+ Store(Refof(f02b), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (129) {
+ Store(255, Local2)
+ BankField(OPR0, BNK0, 255, WordAcc, NoLock, WriteAsOnes) {
+ , 2, f02c, 129}
+ Store(Refof(f02c), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (256) {
+ Store(0, Local2)
+ BankField(OPR0, BNK0, 0, QWordAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 2, f02d, 256}
+ Store(Refof(f02d), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (1023) {
+ Store(1, Local2)
+ BankField(OPR0, BNK0, 1, WordAcc, NoLock, WriteAsOnes) {
+ , 2, f02e, 1023}
+ Store(Refof(f02e), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (1983) {
+ Store(2, Local2)
+ BankField(OPR0, BNK0, 2, AnyAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 2, f02f, 1983}
+ Store(Refof(f02f), Local3)
+ Store(Refof(g002), Local4)
+ }
+ default {
+ err(arg0, z145, 30, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (3) {
+ switch(arg3) {
+ case (1) {
+ Store(3, Local2)
+ BankField(OPR0, BNK0, 3, ByteAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 3, f030, 1}
+ Store(Refof(f030), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (6) {
+ Store(4, Local2)
+ BankField(OPR0, BNK0, 4, WordAcc, NoLock, WriteAsOnes) {
+ , 3, f031, 6}
+ Store(Refof(f031), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (7) {
+ Store(5, Local2)
+ BankField(OPR0, BNK0, 5, WordAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 3, f032, 7}
+ Store(Refof(f032), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (8) {
+ Store(6, Local2)
+ BankField(OPR0, BNK0, 6, WordAcc, NoLock, WriteAsOnes) {
+ , 3, f033, 8}
+ Store(Refof(f033), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (9) {
+ Store(7, Local2)
+ BankField(OPR0, BNK0, 7, DWordAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 3, f034, 9}
+ Store(Refof(f034), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (31) {
+ Store(8, Local2)
+ BankField(OPR0, BNK0, 8, WordAcc, NoLock, WriteAsOnes) {
+ , 3, f035, 31}
+ Store(Refof(f035), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (32) {
+ Store(9, Local2)
+ BankField(OPR0, BNK0, 9, QWordAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 3, f036, 32}
+ Store(Refof(f036), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (33) {
+ Store(63, Local2)
+ BankField(OPR0, BNK0, 63, WordAcc, NoLock, WriteAsOnes) {
+ , 3, f037, 33}
+ Store(Refof(f037), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (63) {
+ Store(64, Local2)
+ BankField(OPR0, BNK0, 64, AnyAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 3, f038, 63}
+ Store(Refof(f038), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (64) {
+ Store(127, Local2)
+ BankField(OPR0, BNK0, 127, WordAcc, NoLock, WriteAsOnes) {
+ , 3, f039, 64}
+ Store(Refof(f039), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (65) {
+ Store(128, Local2)
+ BankField(OPR0, BNK0, 128, ByteAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 3, f03a, 65}
+ Store(Refof(f03a), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (69) {
+ Store(255, Local2)
+ BankField(OPR0, BNK0, 255, WordAcc, NoLock, WriteAsOnes) {
+ , 3, f03b, 69}
+ Store(Refof(f03b), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (129) {
+ Store(0, Local2)
+ BankField(OPR0, BNK0, 0, WordAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 3, f03c, 129}
+ Store(Refof(f03c), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (256) {
+ Store(1, Local2)
+ BankField(OPR0, BNK0, 1, WordAcc, NoLock, WriteAsOnes) {
+ , 3, f03d, 256}
+ Store(Refof(f03d), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (1023) {
+ Store(2, Local2)
+ BankField(OPR0, BNK0, 2, DWordAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 3, f03e, 1023}
+ Store(Refof(f03e), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (1983) {
+ Store(3, Local2)
+ BankField(OPR0, BNK0, 3, WordAcc, NoLock, WriteAsOnes) {
+ , 3, f03f, 1983}
+ Store(Refof(f03f), Local3)
+ Store(Refof(g003), Local4)
+ }
+ default {
+ err(arg0, z145, 31, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (4) {
+ switch(arg3) {
+ case (1) {
+ Store(4, Local2)
+ BankField(OPR0, BNK0, 4, WordAcc, NoLock, WriteAsOnes) {
+ , 4, f040, 1}
+ Store(Refof(f040), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (6) {
+ Store(5, Local2)
+ BankField(OPR0, BNK0, 5, QWordAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 4, f041, 6}
+ Store(Refof(f041), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (7) {
+ Store(6, Local2)
+ BankField(OPR0, BNK0, 6, WordAcc, NoLock, WriteAsOnes) {
+ , 4, f042, 7}
+ Store(Refof(f042), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (8) {
+ Store(7, Local2)
+ BankField(OPR0, BNK0, 7, AnyAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 4, f043, 8}
+ Store(Refof(f043), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (9) {
+ Store(8, Local2)
+ BankField(OPR0, BNK0, 8, WordAcc, NoLock, WriteAsOnes) {
+ , 4, f044, 9}
+ Store(Refof(f044), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (31) {
+ Store(9, Local2)
+ BankField(OPR0, BNK0, 9, ByteAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 4, f045, 31}
+ Store(Refof(f045), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (32) {
+ Store(63, Local2)
+ BankField(OPR0, BNK0, 63, WordAcc, NoLock, WriteAsOnes) {
+ , 4, f046, 32}
+ Store(Refof(f046), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (33) {
+ Store(64, Local2)
+ BankField(OPR0, BNK0, 64, WordAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 4, f047, 33}
+ Store(Refof(f047), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (63) {
+ Store(127, Local2)
+ BankField(OPR0, BNK0, 127, WordAcc, NoLock, WriteAsOnes) {
+ , 4, f048, 63}
+ Store(Refof(f048), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (64) {
+ Store(128, Local2)
+ BankField(OPR0, BNK0, 128, DWordAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 4, f049, 64}
+ Store(Refof(f049), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (65) {
+ Store(255, Local2)
+ BankField(OPR0, BNK0, 255, WordAcc, NoLock, WriteAsOnes) {
+ , 4, f04a, 65}
+ Store(Refof(f04a), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (69) {
+ Store(0, Local2)
+ BankField(OPR0, BNK0, 0, QWordAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 4, f04b, 69}
+ Store(Refof(f04b), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (129) {
+ Store(1, Local2)
+ BankField(OPR0, BNK0, 1, WordAcc, NoLock, WriteAsOnes) {
+ , 4, f04c, 129}
+ Store(Refof(f04c), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (256) {
+ Store(2, Local2)
+ BankField(OPR0, BNK0, 2, AnyAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 4, f04d, 256}
+ Store(Refof(f04d), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (1023) {
+ Store(3, Local2)
+ BankField(OPR0, BNK0, 3, WordAcc, NoLock, WriteAsOnes) {
+ , 4, f04e, 1023}
+ Store(Refof(f04e), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (1983) {
+ Store(4, Local2)
+ BankField(OPR0, BNK0, 4, ByteAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 4, f04f, 1983}
+ Store(Refof(f04f), Local3)
+ Store(Refof(g004), Local4)
+ }
+ default {
+ err(arg0, z145, 32, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (5) {
+ switch(arg3) {
+ case (1) {
+ Store(5, Local2)
+ BankField(OPR0, BNK0, 5, WordAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 5, f050, 1}
+ Store(Refof(f050), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (6) {
+ Store(6, Local2)
+ BankField(OPR0, BNK0, 6, WordAcc, NoLock, WriteAsOnes) {
+ , 5, f051, 6}
+ Store(Refof(f051), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (7) {
+ Store(7, Local2)
+ BankField(OPR0, BNK0, 7, DWordAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 5, f052, 7}
+ Store(Refof(f052), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (8) {
+ Store(8, Local2)
+ BankField(OPR0, BNK0, 8, WordAcc, NoLock, WriteAsOnes) {
+ , 5, f053, 8}
+ Store(Refof(f053), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (9) {
+ Store(9, Local2)
+ BankField(OPR0, BNK0, 9, QWordAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 5, f054, 9}
+ Store(Refof(f054), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (31) {
+ Store(63, Local2)
+ BankField(OPR0, BNK0, 63, WordAcc, NoLock, WriteAsOnes) {
+ , 5, f055, 31}
+ Store(Refof(f055), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (32) {
+ Store(64, Local2)
+ BankField(OPR0, BNK0, 64, AnyAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 5, f056, 32}
+ Store(Refof(f056), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (33) {
+ Store(127, Local2)
+ BankField(OPR0, BNK0, 127, WordAcc, NoLock, WriteAsOnes) {
+ , 5, f057, 33}
+ Store(Refof(f057), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (63) {
+ Store(128, Local2)
+ BankField(OPR0, BNK0, 128, ByteAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 5, f058, 63}
+ Store(Refof(f058), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (64) {
+ Store(255, Local2)
+ BankField(OPR0, BNK0, 255, WordAcc, NoLock, WriteAsOnes) {
+ , 5, f059, 64}
+ Store(Refof(f059), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (65) {
+ Store(0, Local2)
+ BankField(OPR0, BNK0, 0, WordAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 5, f05a, 65}
+ Store(Refof(f05a), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (69) {
+ Store(1, Local2)
+ BankField(OPR0, BNK0, 1, WordAcc, NoLock, WriteAsOnes) {
+ , 5, f05b, 69}
+ Store(Refof(f05b), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (129) {
+ Store(2, Local2)
+ BankField(OPR0, BNK0, 2, DWordAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 5, f05c, 129}
+ Store(Refof(f05c), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (256) {
+ Store(3, Local2)
+ BankField(OPR0, BNK0, 3, WordAcc, NoLock, WriteAsOnes) {
+ , 5, f05d, 256}
+ Store(Refof(f05d), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (1023) {
+ Store(4, Local2)
+ BankField(OPR0, BNK0, 4, QWordAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 5, f05e, 1023}
+ Store(Refof(f05e), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (1983) {
+ Store(5, Local2)
+ BankField(OPR0, BNK0, 5, WordAcc, NoLock, WriteAsOnes) {
+ , 5, f05f, 1983}
+ Store(Refof(f05f), Local3)
+ Store(Refof(g005), Local4)
+ }
+ default {
+ err(arg0, z145, 33, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (6) {
+ switch(arg3) {
+ case (1) {
+ Store(6, Local2)
+ BankField(OPR0, BNK0, 6, WordAcc, NoLock, WriteAsOnes) {
+ , 6, f060, 1}
+ Store(Refof(f060), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (6) {
+ Store(7, Local2)
+ BankField(OPR0, BNK0, 7, AnyAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 6, f061, 6}
+ Store(Refof(f061), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (7) {
+ Store(8, Local2)
+ BankField(OPR0, BNK0, 8, WordAcc, NoLock, WriteAsOnes) {
+ , 6, f062, 7}
+ Store(Refof(f062), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (8) {
+ Store(9, Local2)
+ BankField(OPR0, BNK0, 9, ByteAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 6, f063, 8}
+ Store(Refof(f063), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (9) {
+ Store(63, Local2)
+ BankField(OPR0, BNK0, 63, WordAcc, NoLock, WriteAsOnes) {
+ , 6, f064, 9}
+ Store(Refof(f064), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (31) {
+ Store(64, Local2)
+ BankField(OPR0, BNK0, 64, WordAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 6, f065, 31}
+ Store(Refof(f065), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (32) {
+ Store(127, Local2)
+ BankField(OPR0, BNK0, 127, WordAcc, NoLock, WriteAsOnes) {
+ , 6, f066, 32}
+ Store(Refof(f066), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (33) {
+ Store(128, Local2)
+ BankField(OPR0, BNK0, 128, DWordAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 6, f067, 33}
+ Store(Refof(f067), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (63) {
+ Store(255, Local2)
+ BankField(OPR0, BNK0, 255, WordAcc, NoLock, WriteAsOnes) {
+ , 6, f068, 63}
+ Store(Refof(f068), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (64) {
+ Store(0, Local2)
+ BankField(OPR0, BNK0, 0, QWordAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 6, f069, 64}
+ Store(Refof(f069), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (65) {
+ Store(1, Local2)
+ BankField(OPR0, BNK0, 1, WordAcc, NoLock, WriteAsOnes) {
+ , 6, f06a, 65}
+ Store(Refof(f06a), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (69) {
+ Store(2, Local2)
+ BankField(OPR0, BNK0, 2, AnyAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 6, f06b, 69}
+ Store(Refof(f06b), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (129) {
+ Store(3, Local2)
+ BankField(OPR0, BNK0, 3, WordAcc, NoLock, WriteAsOnes) {
+ , 6, f06c, 129}
+ Store(Refof(f06c), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (256) {
+ Store(4, Local2)
+ BankField(OPR0, BNK0, 4, ByteAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 6, f06d, 256}
+ Store(Refof(f06d), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (1023) {
+ Store(5, Local2)
+ BankField(OPR0, BNK0, 5, WordAcc, NoLock, WriteAsOnes) {
+ , 6, f06e, 1023}
+ Store(Refof(f06e), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (1983) {
+ Store(6, Local2)
+ BankField(OPR0, BNK0, 6, WordAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 6, f06f, 1983}
+ Store(Refof(f06f), Local3)
+ Store(Refof(g006), Local4)
+ }
+ default {
+ err(arg0, z145, 34, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (7) {
+ switch(arg3) {
+ case (1) {
+ Store(7, Local2)
+ BankField(OPR0, BNK0, 7, DWordAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 7, f070, 1}
+ Store(Refof(f070), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (6) {
+ Store(8, Local2)
+ BankField(OPR0, BNK0, 8, WordAcc, NoLock, WriteAsOnes) {
+ , 7, f071, 6}
+ Store(Refof(f071), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (7) {
+ Store(9, Local2)
+ BankField(OPR0, BNK0, 9, QWordAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 7, f072, 7}
+ Store(Refof(f072), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (8) {
+ Store(63, Local2)
+ BankField(OPR0, BNK0, 63, WordAcc, NoLock, WriteAsOnes) {
+ , 7, f073, 8}
+ Store(Refof(f073), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (9) {
+ Store(64, Local2)
+ BankField(OPR0, BNK0, 64, AnyAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 7, f074, 9}
+ Store(Refof(f074), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (31) {
+ Store(127, Local2)
+ BankField(OPR0, BNK0, 127, WordAcc, NoLock, WriteAsOnes) {
+ , 7, f075, 31}
+ Store(Refof(f075), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (32) {
+ Store(128, Local2)
+ BankField(OPR0, BNK0, 128, ByteAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 7, f076, 32}
+ Store(Refof(f076), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (33) {
+ Store(255, Local2)
+ BankField(OPR0, BNK0, 255, WordAcc, NoLock, WriteAsOnes) {
+ , 7, f077, 33}
+ Store(Refof(f077), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (63) {
+ Store(0, Local2)
+ BankField(OPR0, BNK0, 0, WordAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 7, f078, 63}
+ Store(Refof(f078), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (64) {
+ Store(1, Local2)
+ BankField(OPR0, BNK0, 1, WordAcc, NoLock, WriteAsOnes) {
+ , 7, f079, 64}
+ Store(Refof(f079), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (65) {
+ Store(2, Local2)
+ BankField(OPR0, BNK0, 2, DWordAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 7, f07a, 65}
+ Store(Refof(f07a), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (69) {
+ Store(3, Local2)
+ BankField(OPR0, BNK0, 3, WordAcc, NoLock, WriteAsOnes) {
+ , 7, f07b, 69}
+ Store(Refof(f07b), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (129) {
+ Store(4, Local2)
+ BankField(OPR0, BNK0, 4, QWordAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 7, f07c, 129}
+ Store(Refof(f07c), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (256) {
+ Store(5, Local2)
+ BankField(OPR0, BNK0, 5, WordAcc, NoLock, WriteAsOnes) {
+ , 7, f07d, 256}
+ Store(Refof(f07d), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (1023) {
+ Store(6, Local2)
+ BankField(OPR0, BNK0, 6, AnyAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 7, f07e, 1023}
+ Store(Refof(f07e), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (1983) {
+ Store(7, Local2)
+ BankField(OPR0, BNK0, 7, WordAcc, NoLock, WriteAsOnes) {
+ , 7, f07f, 1983}
+ Store(Refof(f07f), Local3)
+ Store(Refof(g007), Local4)
+ }
+ default {
+ err(arg0, z145, 35, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (8) {
+ switch(arg3) {
+ case (1) {
+ Store(8, Local2)
+ BankField(OPR0, BNK0, 8, WordAcc, NoLock, WriteAsOnes) {
+ Offset(1), f080, 1}
+ Store(Refof(f080), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (6) {
+ Store(9, Local2)
+ BankField(OPR0, BNK0, 9, ByteAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ Offset(1), f081, 6}
+ Store(Refof(f081), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (7) {
+ Store(63, Local2)
+ BankField(OPR0, BNK0, 63, WordAcc, NoLock, WriteAsOnes) {
+ Offset(1), f082, 7}
+ Store(Refof(f082), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (8) {
+ Store(64, Local2)
+ BankField(OPR0, BNK0, 64, WordAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ Offset(1), f083, 8}
+ Store(Refof(f083), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (9) {
+ Store(127, Local2)
+ BankField(OPR0, BNK0, 127, WordAcc, NoLock, WriteAsOnes) {
+ Offset(1), f084, 9}
+ Store(Refof(f084), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (31) {
+ Store(128, Local2)
+ BankField(OPR0, BNK0, 128, DWordAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ Offset(1), f085, 31}
+ Store(Refof(f085), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (32) {
+ Store(255, Local2)
+ BankField(OPR0, BNK0, 255, WordAcc, NoLock, WriteAsOnes) {
+ Offset(1), f086, 32}
+ Store(Refof(f086), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (33) {
+ Store(0, Local2)
+ BankField(OPR0, BNK0, 0, QWordAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ Offset(1), f087, 33}
+ Store(Refof(f087), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (63) {
+ Store(1, Local2)
+ BankField(OPR0, BNK0, 1, WordAcc, NoLock, WriteAsOnes) {
+ Offset(1), f088, 63}
+ Store(Refof(f088), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (64) {
+ Store(2, Local2)
+ BankField(OPR0, BNK0, 2, AnyAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ Offset(1), f089, 64}
+ Store(Refof(f089), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (65) {
+ Store(3, Local2)
+ BankField(OPR0, BNK0, 3, WordAcc, NoLock, WriteAsOnes) {
+ Offset(1), f08a, 65}
+ Store(Refof(f08a), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (69) {
+ Store(4, Local2)
+ BankField(OPR0, BNK0, 4, ByteAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ Offset(1), f08b, 69}
+ Store(Refof(f08b), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (129) {
+ Store(5, Local2)
+ BankField(OPR0, BNK0, 5, WordAcc, NoLock, WriteAsOnes) {
+ Offset(1), f08c, 129}
+ Store(Refof(f08c), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (256) {
+ Store(6, Local2)
+ BankField(OPR0, BNK0, 6, WordAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ Offset(1), f08d, 256}
+ Store(Refof(f08d), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (1023) {
+ Store(7, Local2)
+ BankField(OPR0, BNK0, 7, WordAcc, NoLock, WriteAsOnes) {
+ Offset(1), f08e, 1023}
+ Store(Refof(f08e), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (1983) {
+ Store(8, Local2)
+ BankField(OPR0, BNK0, 8, DWordAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ Offset(1), f08f, 1983}
+ Store(Refof(f08f), Local3)
+ Store(Refof(g008), Local4)
+ }
+ default {
+ err(arg0, z145, 36, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (9) {
+ switch(arg3) {
+ case (1) {
+ Store(9, Local2)
+ BankField(OPR0, BNK0, 9, QWordAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 9, f090, 1}
+ Store(Refof(f090), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (6) {
+ Store(63, Local2)
+ BankField(OPR0, BNK0, 63, WordAcc, NoLock, WriteAsOnes) {
+ , 9, f091, 6}
+ Store(Refof(f091), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (7) {
+ Store(64, Local2)
+ BankField(OPR0, BNK0, 64, AnyAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 9, f092, 7}
+ Store(Refof(f092), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (8) {
+ Store(127, Local2)
+ BankField(OPR0, BNK0, 127, WordAcc, NoLock, WriteAsOnes) {
+ , 9, f093, 8}
+ Store(Refof(f093), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (9) {
+ Store(128, Local2)
+ BankField(OPR0, BNK0, 128, ByteAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 9, f094, 9}
+ Store(Refof(f094), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (31) {
+ Store(255, Local2)
+ BankField(OPR0, BNK0, 255, WordAcc, NoLock, WriteAsOnes) {
+ , 9, f095, 31}
+ Store(Refof(f095), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (32) {
+ Store(0, Local2)
+ BankField(OPR0, BNK0, 0, WordAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 9, f096, 32}
+ Store(Refof(f096), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (33) {
+ Store(1, Local2)
+ BankField(OPR0, BNK0, 1, WordAcc, NoLock, WriteAsOnes) {
+ , 9, f097, 33}
+ Store(Refof(f097), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (63) {
+ Store(2, Local2)
+ BankField(OPR0, BNK0, 2, DWordAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 9, f098, 63}
+ Store(Refof(f098), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (64) {
+ Store(3, Local2)
+ BankField(OPR0, BNK0, 3, WordAcc, NoLock, WriteAsOnes) {
+ , 9, f099, 64}
+ Store(Refof(f099), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (65) {
+ Store(4, Local2)
+ BankField(OPR0, BNK0, 4, QWordAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 9, f09a, 65}
+ Store(Refof(f09a), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (69) {
+ Store(5, Local2)
+ BankField(OPR0, BNK0, 5, WordAcc, NoLock, WriteAsOnes) {
+ , 9, f09b, 69}
+ Store(Refof(f09b), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (129) {
+ Store(6, Local2)
+ BankField(OPR0, BNK0, 6, AnyAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 9, f09c, 129}
+ Store(Refof(f09c), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (256) {
+ Store(7, Local2)
+ BankField(OPR0, BNK0, 7, WordAcc, NoLock, WriteAsOnes) {
+ , 9, f09d, 256}
+ Store(Refof(f09d), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (1023) {
+ Store(8, Local2)
+ BankField(OPR0, BNK0, 8, ByteAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 9, f09e, 1023}
+ Store(Refof(f09e), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (1983) {
+ Store(9, Local2)
+ BankField(OPR0, BNK0, 9, WordAcc, NoLock, WriteAsOnes) {
+ , 9, f09f, 1983}
+ Store(Refof(f09f), Local3)
+ Store(Refof(g009), Local4)
+ }
+ default {
+ err(arg0, z145, 37, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (31) {
+ switch(arg3) {
+ case (1) {
+ Store(63, Local2)
+ BankField(OPR0, BNK0, 63, WordAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0a0, 1}
+ Store(Refof(f0a0), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (6) {
+ Store(64, Local2)
+ BankField(OPR0, BNK0, 64, WordAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ Offset(3), , 7, f0a1, 6}
+ Store(Refof(f0a1), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (7) {
+ Store(127, Local2)
+ BankField(OPR0, BNK0, 127, WordAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0a2, 7}
+ Store(Refof(f0a2), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (8) {
+ Store(128, Local2)
+ BankField(OPR0, BNK0, 128, DWordAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ Offset(3), , 7, f0a3, 8}
+ Store(Refof(f0a3), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (9) {
+ Store(255, Local2)
+ BankField(OPR0, BNK0, 255, WordAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0a4, 9}
+ Store(Refof(f0a4), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (31) {
+ Store(0, Local2)
+ BankField(OPR0, BNK0, 0, QWordAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ Offset(3), , 7, f0a5, 31}
+ Store(Refof(f0a5), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (32) {
+ Store(1, Local2)
+ BankField(OPR0, BNK0, 1, WordAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0a6, 32}
+ Store(Refof(f0a6), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (33) {
+ Store(2, Local2)
+ BankField(OPR0, BNK0, 2, AnyAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ Offset(3), , 7, f0a7, 33}
+ Store(Refof(f0a7), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (63) {
+ Store(3, Local2)
+ BankField(OPR0, BNK0, 3, WordAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0a8, 63}
+ Store(Refof(f0a8), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (64) {
+ Store(4, Local2)
+ BankField(OPR0, BNK0, 4, ByteAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ Offset(3), , 7, f0a9, 64}
+ Store(Refof(f0a9), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (65) {
+ Store(5, Local2)
+ BankField(OPR0, BNK0, 5, WordAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0aa, 65}
+ Store(Refof(f0aa), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (69) {
+ Store(6, Local2)
+ BankField(OPR0, BNK0, 6, WordAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ Offset(3), , 7, f0ab, 69}
+ Store(Refof(f0ab), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (129) {
+ Store(7, Local2)
+ BankField(OPR0, BNK0, 7, WordAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0ac, 129}
+ Store(Refof(f0ac), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (256) {
+ Store(8, Local2)
+ BankField(OPR0, BNK0, 8, DWordAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ Offset(3), , 7, f0ad, 256}
+ Store(Refof(f0ad), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (1023) {
+ Store(9, Local2)
+ BankField(OPR0, BNK0, 9, WordAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0ae, 1023}
+ Store(Refof(f0ae), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (1983) {
+ Store(63, Local2)
+ BankField(OPR0, BNK0, 63, QWordAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ Offset(3), , 7, f0af, 1983}
+ Store(Refof(f0af), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ default {
+ err(arg0, z145, 38, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (32) {
+ switch(arg3) {
+ case (1) {
+ Store(64, Local2)
+ BankField(OPR0, BNK0, 64, AnyAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 32, f0b0, 1}
+ Store(Refof(f0b0), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (6) {
+ Store(127, Local2)
+ BankField(OPR0, BNK0, 127, WordAcc, NoLock, WriteAsOnes) {
+ , 32, f0b1, 6}
+ Store(Refof(f0b1), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (7) {
+ Store(128, Local2)
+ BankField(OPR0, BNK0, 128, ByteAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 32, f0b2, 7}
+ Store(Refof(f0b2), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (8) {
+ Store(255, Local2)
+ BankField(OPR0, BNK0, 255, WordAcc, NoLock, WriteAsOnes) {
+ , 32, f0b3, 8}
+ Store(Refof(f0b3), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (9) {
+ Store(0, Local2)
+ BankField(OPR0, BNK0, 0, WordAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 32, f0b4, 9}
+ Store(Refof(f0b4), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (31) {
+ Store(1, Local2)
+ BankField(OPR0, BNK0, 1, WordAcc, NoLock, WriteAsOnes) {
+ , 32, f0b5, 31}
+ Store(Refof(f0b5), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (32) {
+ Store(2, Local2)
+ BankField(OPR0, BNK0, 2, DWordAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 32, f0b6, 32}
+ Store(Refof(f0b6), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (33) {
+ Store(3, Local2)
+ BankField(OPR0, BNK0, 3, WordAcc, NoLock, WriteAsOnes) {
+ , 32, f0b7, 33}
+ Store(Refof(f0b7), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (63) {
+ Store(4, Local2)
+ BankField(OPR0, BNK0, 4, QWordAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 32, f0b8, 63}
+ Store(Refof(f0b8), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (64) {
+ Store(5, Local2)
+ BankField(OPR0, BNK0, 5, WordAcc, NoLock, WriteAsOnes) {
+ , 32, f0b9, 64}
+ Store(Refof(f0b9), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (65) {
+ Store(6, Local2)
+ BankField(OPR0, BNK0, 6, AnyAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 32, f0ba, 65}
+ Store(Refof(f0ba), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (69) {
+ Store(7, Local2)
+ BankField(OPR0, BNK0, 7, WordAcc, NoLock, WriteAsOnes) {
+ , 32, f0bb, 69}
+ Store(Refof(f0bb), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (129) {
+ Store(8, Local2)
+ BankField(OPR0, BNK0, 8, ByteAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 32, f0bc, 129}
+ Store(Refof(f0bc), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (256) {
+ Store(9, Local2)
+ BankField(OPR0, BNK0, 9, WordAcc, NoLock, WriteAsOnes) {
+ , 32, f0bd, 256}
+ Store(Refof(f0bd), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (1023) {
+ Store(63, Local2)
+ BankField(OPR0, BNK0, 63, WordAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 32, f0be, 1023}
+ Store(Refof(f0be), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (1983) {
+ Store(64, Local2)
+ BankField(OPR0, BNK0, 64, WordAcc, NoLock, WriteAsOnes) {
+ , 32, f0bf, 1983}
+ Store(Refof(f0bf), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ default {
+ err(arg0, z145, 39, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (33) {
+ switch(arg3) {
+ case (1) {
+ Store(127, Local2)
+ BankField(OPR0, BNK0, 127, WordAcc, NoLock, WriteAsOnes) {
+ , 33, f0c0, 1}
+ Store(Refof(f0c0), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (6) {
+ Store(128, Local2)
+ BankField(OPR0, BNK0, 128, DWordAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 33, f0c1, 6}
+ Store(Refof(f0c1), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (7) {
+ Store(255, Local2)
+ BankField(OPR0, BNK0, 255, WordAcc, NoLock, WriteAsOnes) {
+ , 33, f0c2, 7}
+ Store(Refof(f0c2), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (8) {
+ Store(0, Local2)
+ BankField(OPR0, BNK0, 0, QWordAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 33, f0c3, 8}
+ Store(Refof(f0c3), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (9) {
+ Store(1, Local2)
+ BankField(OPR0, BNK0, 1, WordAcc, NoLock, WriteAsOnes) {
+ , 33, f0c4, 9}
+ Store(Refof(f0c4), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (31) {
+ Store(2, Local2)
+ BankField(OPR0, BNK0, 2, AnyAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 33, f0c5, 31}
+ Store(Refof(f0c5), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (32) {
+ Store(3, Local2)
+ BankField(OPR0, BNK0, 3, WordAcc, NoLock, WriteAsOnes) {
+ , 33, f0c6, 32}
+ Store(Refof(f0c6), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (33) {
+ Store(4, Local2)
+ BankField(OPR0, BNK0, 4, ByteAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 33, f0c7, 33}
+ Store(Refof(f0c7), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (63) {
+ Store(5, Local2)
+ BankField(OPR0, BNK0, 5, WordAcc, NoLock, WriteAsOnes) {
+ , 33, f0c8, 63}
+ Store(Refof(f0c8), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (64) {
+ Store(6, Local2)
+ BankField(OPR0, BNK0, 6, WordAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 33, f0c9, 64}
+ Store(Refof(f0c9), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (65) {
+ Store(7, Local2)
+ BankField(OPR0, BNK0, 7, WordAcc, NoLock, WriteAsOnes) {
+ , 33, f0ca, 65}
+ Store(Refof(f0ca), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (69) {
+ Store(8, Local2)
+ BankField(OPR0, BNK0, 8, DWordAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 33, f0cb, 69}
+ Store(Refof(f0cb), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (129) {
+ Store(9, Local2)
+ BankField(OPR0, BNK0, 9, WordAcc, NoLock, WriteAsOnes) {
+ , 33, f0cc, 129}
+ Store(Refof(f0cc), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (256) {
+ Store(63, Local2)
+ BankField(OPR0, BNK0, 63, QWordAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 33, f0cd, 256}
+ Store(Refof(f0cd), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (1023) {
+ Store(64, Local2)
+ BankField(OPR0, BNK0, 64, WordAcc, NoLock, WriteAsOnes) {
+ , 33, f0ce, 1023}
+ Store(Refof(f0ce), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (1983) {
+ Store(127, Local2)
+ BankField(OPR0, BNK0, 127, AnyAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 33, f0cf, 1983}
+ Store(Refof(f0cf), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ default {
+ err(arg0, z145, 40, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (63) {
+ switch(arg3) {
+ case (1) {
+ Store(128, Local2)
+ BankField(OPR0, BNK0, 128, WordAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 63, f0d0, 1}
+ Store(Refof(f0d0), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (6) {
+ Store(255, Local2)
+ BankField(OPR0, BNK0, 255, ByteAcc, NoLock, WriteAsOnes) {
+ , 63, f0d1, 6}
+ Store(Refof(f0d1), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (7) {
+ Store(0, Local2)
+ BankField(OPR0, BNK0, 0, WordAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 63, f0d2, 7}
+ Store(Refof(f0d2), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (8) {
+ Store(1, Local2)
+ BankField(OPR0, BNK0, 1, WordAcc, NoLock, WriteAsOnes) {
+ , 63, f0d3, 8}
+ Store(Refof(f0d3), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (9) {
+ Store(2, Local2)
+ BankField(OPR0, BNK0, 2, DWordAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 63, f0d4, 9}
+ Store(Refof(f0d4), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (31) {
+ Store(3, Local2)
+ BankField(OPR0, BNK0, 3, WordAcc, NoLock, WriteAsOnes) {
+ , 63, f0d5, 31}
+ Store(Refof(f0d5), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (32) {
+ Store(4, Local2)
+ BankField(OPR0, BNK0, 4, QWordAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 63, f0d6, 32}
+ Store(Refof(f0d6), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (33) {
+ Store(5, Local2)
+ BankField(OPR0, BNK0, 5, WordAcc, NoLock, WriteAsOnes) {
+ , 63, f0d7, 33}
+ Store(Refof(f0d7), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (63) {
+ Store(6, Local2)
+ BankField(OPR0, BNK0, 6, AnyAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 63, f0d8, 63}
+ Store(Refof(f0d8), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (64) {
+ Store(7, Local2)
+ BankField(OPR0, BNK0, 7, WordAcc, NoLock, WriteAsOnes) {
+ , 63, f0d9, 64}
+ Store(Refof(f0d9), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (65) {
+ Store(8, Local2)
+ BankField(OPR0, BNK0, 8, ByteAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 63, f0da, 65}
+ Store(Refof(f0da), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (69) {
+ Store(9, Local2)
+ BankField(OPR0, BNK0, 9, WordAcc, NoLock, WriteAsOnes) {
+ , 63, f0db, 69}
+ Store(Refof(f0db), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (129) {
+ Store(63, Local2)
+ BankField(OPR0, BNK0, 63, WordAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 63, f0dc, 129}
+ Store(Refof(f0dc), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (256) {
+ Store(64, Local2)
+ BankField(OPR0, BNK0, 64, WordAcc, NoLock, WriteAsOnes) {
+ , 63, f0dd, 256}
+ Store(Refof(f0dd), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (1023) {
+ Store(127, Local2)
+ BankField(OPR0, BNK0, 127, DWordAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 63, f0de, 1023}
+ Store(Refof(f0de), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (1983) {
+ Store(128, Local2)
+ BankField(OPR0, BNK0, 128, WordAcc, NoLock, WriteAsOnes) {
+ , 63, f0df, 1983}
+ Store(Refof(f0df), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ default {
+ err(arg0, z145, 41, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (64) {
+ switch(arg3) {
+ case (1) {
+ Store(255, Local2)
+ BankField(OPR0, BNK0, 255, WordAcc, NoLock, WriteAsOnes) {
+ , 64, f0e0, 1}
+ Store(Refof(f0e0), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (6) {
+ Store(0, Local2)
+ BankField(OPR0, BNK0, 0, QWordAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 64, f0e1, 6}
+ Store(Refof(f0e1), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (7) {
+ Store(1, Local2)
+ BankField(OPR0, BNK0, 1, WordAcc, NoLock, WriteAsOnes) {
+ , 64, f0e2, 7}
+ Store(Refof(f0e2), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (8) {
+ Store(2, Local2)
+ BankField(OPR0, BNK0, 2, AnyAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 64, f0e3, 8}
+ Store(Refof(f0e3), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (9) {
+ Store(3, Local2)
+ BankField(OPR0, BNK0, 3, WordAcc, NoLock, WriteAsOnes) {
+ , 64, f0e4, 9}
+ Store(Refof(f0e4), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (31) {
+ Store(4, Local2)
+ BankField(OPR0, BNK0, 4, ByteAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 64, f0e5, 31}
+ Store(Refof(f0e5), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (32) {
+ Store(5, Local2)
+ BankField(OPR0, BNK0, 5, WordAcc, NoLock, WriteAsOnes) {
+ , 64, f0e6, 32}
+ Store(Refof(f0e6), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (33) {
+ Store(6, Local2)
+ BankField(OPR0, BNK0, 6, WordAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 64, f0e7, 33}
+ Store(Refof(f0e7), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (63) {
+ Store(7, Local2)
+ BankField(OPR0, BNK0, 7, WordAcc, NoLock, WriteAsOnes) {
+ , 64, f0e8, 63}
+ Store(Refof(f0e8), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (64) {
+ Store(8, Local2)
+ BankField(OPR0, BNK0, 8, DWordAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 64, f0e9, 64}
+ Store(Refof(f0e9), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (65) {
+ Store(9, Local2)
+ BankField(OPR0, BNK0, 9, WordAcc, NoLock, WriteAsOnes) {
+ , 64, f0ea, 65}
+ Store(Refof(f0ea), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (69) {
+ Store(63, Local2)
+ BankField(OPR0, BNK0, 63, QWordAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 64, f0eb, 69}
+ Store(Refof(f0eb), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (129) {
+ Store(64, Local2)
+ BankField(OPR0, BNK0, 64, WordAcc, NoLock, WriteAsOnes) {
+ , 64, f0ec, 129}
+ Store(Refof(f0ec), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (256) {
+ Store(127, Local2)
+ BankField(OPR0, BNK0, 127, AnyAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 64, f0ed, 256}
+ Store(Refof(f0ed), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (1023) {
+ Store(128, Local2)
+ BankField(OPR0, BNK0, 128, WordAcc, NoLock, WriteAsOnes) {
+ , 64, f0ee, 1023}
+ Store(Refof(f0ee), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (1983) {
+ Store(255, Local2)
+ BankField(OPR0, BNK0, 255, ByteAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ , 64, f0ef, 1983}
+ Store(Refof(f0ef), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ default {
+ err(arg0, z145, 42, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (65) {
+ switch(arg3) {
+ case (1) {
+ Store(0, Local2)
+ BankField(OPR0, BNK0, 0, WordAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ Offset(8), , 1, f0f0, 1}
+ Store(Refof(f0f0), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (6) {
+ Store(1, Local2)
+ BankField(OPR0, BNK0, 1, WordAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0f1, 6}
+ Store(Refof(f0f1), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (7) {
+ Store(2, Local2)
+ BankField(OPR0, BNK0, 2, DWordAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ Offset(8), , 1, f0f2, 7}
+ Store(Refof(f0f2), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (8) {
+ Store(3, Local2)
+ BankField(OPR0, BNK0, 3, WordAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0f3, 8}
+ Store(Refof(f0f3), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (9) {
+ Store(4, Local2)
+ BankField(OPR0, BNK0, 4, QWordAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ Offset(8), , 1, f0f4, 9}
+ Store(Refof(f0f4), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (31) {
+ Store(5, Local2)
+ BankField(OPR0, BNK0, 5, WordAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0f5, 31}
+ Store(Refof(f0f5), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (32) {
+ Store(6, Local2)
+ BankField(OPR0, BNK0, 6, AnyAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ Offset(8), , 1, f0f6, 32}
+ Store(Refof(f0f6), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (33) {
+ Store(7, Local2)
+ BankField(OPR0, BNK0, 7, WordAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0f7, 33}
+ Store(Refof(f0f7), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (63) {
+ Store(8, Local2)
+ BankField(OPR0, BNK0, 8, ByteAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ Offset(8), , 1, f0f8, 63}
+ Store(Refof(f0f8), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (64) {
+ Store(9, Local2)
+ BankField(OPR0, BNK0, 9, WordAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0f9, 64}
+ Store(Refof(f0f9), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (65) {
+ Store(63, Local2)
+ BankField(OPR0, BNK0, 63, WordAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ Offset(8), , 1, f0fa, 65}
+ Store(Refof(f0fa), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (69) {
+ Store(64, Local2)
+ BankField(OPR0, BNK0, 64, WordAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0fb, 69}
+ Store(Refof(f0fb), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (129) {
+ Store(127, Local2)
+ BankField(OPR0, BNK0, 127, DWordAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ Offset(8), , 1, f0fc, 129}
+ Store(Refof(f0fc), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (256) {
+ Store(128, Local2)
+ BankField(OPR0, BNK0, 128, WordAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0fd, 256}
+ Store(Refof(f0fd), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (1023) {
+ Store(255, Local2)
+ BankField(OPR0, BNK0, 255, QWordAcc, NoLock, WriteAsOnes) {
+ AccessAs(WordAcc),
+ Offset(8), , 1, f0fe, 1023}
+ Store(Refof(f0fe), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (1983) {
+ Store(0, Local2)
+ BankField(OPR0, BNK0, 0, WordAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0ff, 1983}
+ Store(Refof(f0ff), Local3)
+ Store(Refof(g000), Local4)
+ }
+ default {
+ err(arg0, z145, 43, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ default {
+ err(arg0, z145, 44, 0, 0, arg2, arg3)
+ return}
+ }
+
+ Store(2, Index(fcp0, 0))
+ Store(Refof(BNK0), Index(fcp0, 1))
+ Store(Local2, Index(fcp0, 2))
+ m72d(arg0, Local3, arg2, arg3, arg4, arg5, Local4)
+ Store(0, Index(fcp0, 0))
+}
+
+// Create BankField Unit
+// (DWordAcc, NoLock, WriteAsZeros)
+Method(m7d2, 6)
+{
+ OperationRegion(OPRb, SystemIO, 0, 9)
+ OperationRegion(OPR0, SystemIO, 11, 256)
+
+ Field(OPRb, ByteAcc, NoLock, Preserve) {
+ BNK0, 8,
+ }
+ BankField(OPR0, BNK0, 0, ByteAcc, NoLock, Preserve) {
+ g000, 2048,
+ }
+ BankField(OPR0, BNK0, 1, ByteAcc, NoLock, Preserve) {
+ g001, 2048,
+ }
+ BankField(OPR0, BNK0, 2, ByteAcc, NoLock, Preserve) {
+ g002, 2048,
+ }
+ BankField(OPR0, BNK0, 3, ByteAcc, NoLock, Preserve) {
+ g003, 2048,
+ }
+ BankField(OPR0, BNK0, 4, ByteAcc, NoLock, Preserve) {
+ g004, 2048,
+ }
+ BankField(OPR0, BNK0, 5, ByteAcc, NoLock, Preserve) {
+ g005, 2048,
+ }
+ BankField(OPR0, BNK0, 6, ByteAcc, NoLock, Preserve) {
+ g006, 2048,
+ }
+ BankField(OPR0, BNK0, 7, ByteAcc, NoLock, Preserve) {
+ g007, 2048,
+ }
+ BankField(OPR0, BNK0, 8, ByteAcc, NoLock, Preserve) {
+ g008, 2048,
+ }
+ BankField(OPR0, BNK0, 9, ByteAcc, NoLock, Preserve) {
+ g009, 2048,
+ }
+ BankField(OPR0, BNK0, 63, ByteAcc, NoLock, Preserve) {
+ g00a, 2048,
+ }
+ BankField(OPR0, BNK0, 64, ByteAcc, NoLock, Preserve) {
+ g00b, 2048,
+ }
+ BankField(OPR0, BNK0, 127, ByteAcc, NoLock, Preserve) {
+ g00c, 2048,
+ }
+ BankField(OPR0, BNK0, 128, ByteAcc, NoLock, Preserve) {
+ g00d, 2048,
+ }
+ BankField(OPR0, BNK0, 255, ByteAcc, NoLock, Preserve) {
+ g00e, 2048,
+ }
+
+
+ Concatenate(arg0, "-m7d2", arg0)
+
+ switch(arg2) {
+ case (0) {
+ switch(arg3) {
+ case (1) {
+ Store(0, Local2)
+ BankField(OPR0, BNK0, 0, DWordAcc, NoLock, WriteAsZeros) {
+ , 0, f000, 1}
+ Store(Refof(f000), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (6) {
+ Store(1, Local2)
+ BankField(OPR0, BNK0, 1, WordAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 0, f001, 6}
+ Store(Refof(f001), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (7) {
+ Store(2, Local2)
+ BankField(OPR0, BNK0, 2, DWordAcc, NoLock, WriteAsZeros) {
+ , 0, f002, 7}
+ Store(Refof(f002), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (8) {
+ Store(3, Local2)
+ BankField(OPR0, BNK0, 3, DWordAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 0, f003, 8}
+ Store(Refof(f003), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (9) {
+ Store(4, Local2)
+ BankField(OPR0, BNK0, 4, DWordAcc, NoLock, WriteAsZeros) {
+ , 0, f004, 9}
+ Store(Refof(f004), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (31) {
+ Store(5, Local2)
+ BankField(OPR0, BNK0, 5, QWordAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 0, f005, 31}
+ Store(Refof(f005), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (32) {
+ Store(6, Local2)
+ BankField(OPR0, BNK0, 6, DWordAcc, NoLock, WriteAsZeros) {
+ , 0, f006, 32}
+ Store(Refof(f006), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (33) {
+ Store(7, Local2)
+ BankField(OPR0, BNK0, 7, AnyAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 0, f007, 33}
+ Store(Refof(f007), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (63) {
+ Store(8, Local2)
+ BankField(OPR0, BNK0, 8, DWordAcc, NoLock, WriteAsZeros) {
+ , 0, f008, 63}
+ Store(Refof(f008), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (64) {
+ Store(9, Local2)
+ BankField(OPR0, BNK0, 9, ByteAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 0, f009, 64}
+ Store(Refof(f009), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (65) {
+ Store(63, Local2)
+ BankField(OPR0, BNK0, 63, DWordAcc, NoLock, WriteAsZeros) {
+ , 0, f00a, 65}
+ Store(Refof(f00a), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (69) {
+ Store(64, Local2)
+ BankField(OPR0, BNK0, 64, WordAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 0, f00b, 69}
+ Store(Refof(f00b), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (129) {
+ Store(127, Local2)
+ BankField(OPR0, BNK0, 127, DWordAcc, NoLock, WriteAsZeros) {
+ , 0, f00c, 129}
+ Store(Refof(f00c), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (256) {
+ Store(128, Local2)
+ BankField(OPR0, BNK0, 128, DWordAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 0, f00d, 256}
+ Store(Refof(f00d), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (1023) {
+ Store(255, Local2)
+ BankField(OPR0, BNK0, 255, DWordAcc, NoLock, WriteAsZeros) {
+ , 0, f00e, 1023}
+ Store(Refof(f00e), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (1983) {
+ Store(0, Local2)
+ BankField(OPR0, BNK0, 0, QWordAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 0, f00f, 1983}
+ Store(Refof(f00f), Local3)
+ Store(Refof(g000), Local4)
+ }
+ default {
+ err(arg0, z145, 45, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (1) {
+ switch(arg3) {
+ case (1) {
+ Store(1, Local2)
+ BankField(OPR0, BNK0, 1, AnyAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 1, f010, 1}
+ Store(Refof(f010), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (6) {
+ Store(2, Local2)
+ BankField(OPR0, BNK0, 2, DWordAcc, NoLock, WriteAsZeros) {
+ , 1, f011, 6}
+ Store(Refof(f011), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (7) {
+ Store(3, Local2)
+ BankField(OPR0, BNK0, 3, ByteAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 1, f012, 7}
+ Store(Refof(f012), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (8) {
+ Store(4, Local2)
+ BankField(OPR0, BNK0, 4, DWordAcc, NoLock, WriteAsZeros) {
+ , 1, f013, 8}
+ Store(Refof(f013), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (9) {
+ Store(5, Local2)
+ BankField(OPR0, BNK0, 5, WordAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 1, f014, 9}
+ Store(Refof(f014), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (31) {
+ Store(6, Local2)
+ BankField(OPR0, BNK0, 6, DWordAcc, NoLock, WriteAsZeros) {
+ , 1, f015, 31}
+ Store(Refof(f015), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (32) {
+ Store(7, Local2)
+ BankField(OPR0, BNK0, 7, DWordAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 1, f016, 32}
+ Store(Refof(f016), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (33) {
+ Store(8, Local2)
+ BankField(OPR0, BNK0, 8, DWordAcc, NoLock, WriteAsZeros) {
+ , 1, f017, 33}
+ Store(Refof(f017), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (63) {
+ Store(9, Local2)
+ BankField(OPR0, BNK0, 9, QWordAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 1, f018, 63}
+ Store(Refof(f018), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (64) {
+ Store(63, Local2)
+ BankField(OPR0, BNK0, 63, DWordAcc, NoLock, WriteAsZeros) {
+ , 1, f019, 64}
+ Store(Refof(f019), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (65) {
+ Store(64, Local2)
+ BankField(OPR0, BNK0, 64, AnyAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 1, f01a, 65}
+ Store(Refof(f01a), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (69) {
+ Store(127, Local2)
+ BankField(OPR0, BNK0, 127, DWordAcc, NoLock, WriteAsZeros) {
+ , 1, f01b, 69}
+ Store(Refof(f01b), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (129) {
+ Store(128, Local2)
+ BankField(OPR0, BNK0, 128, ByteAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 1, f01c, 129}
+ Store(Refof(f01c), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (256) {
+ Store(255, Local2)
+ BankField(OPR0, BNK0, 255, DWordAcc, NoLock, WriteAsZeros) {
+ , 1, f01d, 256}
+ Store(Refof(f01d), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (1023) {
+ Store(0, Local2)
+ BankField(OPR0, BNK0, 0, WordAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 1, f01e, 1023}
+ Store(Refof(f01e), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (1983) {
+ Store(1, Local2)
+ BankField(OPR0, BNK0, 1, DWordAcc, NoLock, WriteAsZeros) {
+ , 1, f01f, 1983}
+ Store(Refof(f01f), Local3)
+ Store(Refof(g001), Local4)
+ }
+ default {
+ err(arg0, z145, 46, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (2) {
+ switch(arg3) {
+ case (1) {
+ Store(2, Local2)
+ BankField(OPR0, BNK0, 2, DWordAcc, NoLock, WriteAsZeros) {
+ , 2, f020, 1}
+ Store(Refof(f020), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (6) {
+ Store(3, Local2)
+ BankField(OPR0, BNK0, 3, DWordAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 2, f021, 6}
+ Store(Refof(f021), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (7) {
+ Store(4, Local2)
+ BankField(OPR0, BNK0, 4, DWordAcc, NoLock, WriteAsZeros) {
+ , 2, f022, 7}
+ Store(Refof(f022), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (8) {
+ Store(5, Local2)
+ BankField(OPR0, BNK0, 5, QWordAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 2, f023, 8}
+ Store(Refof(f023), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (9) {
+ Store(6, Local2)
+ BankField(OPR0, BNK0, 6, DWordAcc, NoLock, WriteAsZeros) {
+ , 2, f024, 9}
+ Store(Refof(f024), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (31) {
+ Store(7, Local2)
+ BankField(OPR0, BNK0, 7, AnyAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 2, f025, 31}
+ Store(Refof(f025), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (32) {
+ Store(8, Local2)
+ BankField(OPR0, BNK0, 8, DWordAcc, NoLock, WriteAsZeros) {
+ , 2, f026, 32}
+ Store(Refof(f026), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (33) {
+ Store(9, Local2)
+ BankField(OPR0, BNK0, 9, ByteAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 2, f027, 33}
+ Store(Refof(f027), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (63) {
+ Store(63, Local2)
+ BankField(OPR0, BNK0, 63, DWordAcc, NoLock, WriteAsZeros) {
+ , 2, f028, 63}
+ Store(Refof(f028), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (64) {
+ Store(64, Local2)
+ BankField(OPR0, BNK0, 64, WordAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 2, f029, 64}
+ Store(Refof(f029), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (65) {
+ Store(127, Local2)
+ BankField(OPR0, BNK0, 127, DWordAcc, NoLock, WriteAsZeros) {
+ , 2, f02a, 65}
+ Store(Refof(f02a), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (69) {
+ Store(128, Local2)
+ BankField(OPR0, BNK0, 128, DWordAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 2, f02b, 69}
+ Store(Refof(f02b), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (129) {
+ Store(255, Local2)
+ BankField(OPR0, BNK0, 255, DWordAcc, NoLock, WriteAsZeros) {
+ , 2, f02c, 129}
+ Store(Refof(f02c), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (256) {
+ Store(0, Local2)
+ BankField(OPR0, BNK0, 0, QWordAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 2, f02d, 256}
+ Store(Refof(f02d), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (1023) {
+ Store(1, Local2)
+ BankField(OPR0, BNK0, 1, DWordAcc, NoLock, WriteAsZeros) {
+ , 2, f02e, 1023}
+ Store(Refof(f02e), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (1983) {
+ Store(2, Local2)
+ BankField(OPR0, BNK0, 2, AnyAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 2, f02f, 1983}
+ Store(Refof(f02f), Local3)
+ Store(Refof(g002), Local4)
+ }
+ default {
+ err(arg0, z145, 47, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (3) {
+ switch(arg3) {
+ case (1) {
+ Store(3, Local2)
+ BankField(OPR0, BNK0, 3, ByteAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 3, f030, 1}
+ Store(Refof(f030), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (6) {
+ Store(4, Local2)
+ BankField(OPR0, BNK0, 4, DWordAcc, NoLock, WriteAsZeros) {
+ , 3, f031, 6}
+ Store(Refof(f031), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (7) {
+ Store(5, Local2)
+ BankField(OPR0, BNK0, 5, WordAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 3, f032, 7}
+ Store(Refof(f032), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (8) {
+ Store(6, Local2)
+ BankField(OPR0, BNK0, 6, DWordAcc, NoLock, WriteAsZeros) {
+ , 3, f033, 8}
+ Store(Refof(f033), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (9) {
+ Store(7, Local2)
+ BankField(OPR0, BNK0, 7, DWordAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 3, f034, 9}
+ Store(Refof(f034), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (31) {
+ Store(8, Local2)
+ BankField(OPR0, BNK0, 8, DWordAcc, NoLock, WriteAsZeros) {
+ , 3, f035, 31}
+ Store(Refof(f035), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (32) {
+ Store(9, Local2)
+ BankField(OPR0, BNK0, 9, QWordAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 3, f036, 32}
+ Store(Refof(f036), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (33) {
+ Store(63, Local2)
+ BankField(OPR0, BNK0, 63, DWordAcc, NoLock, WriteAsZeros) {
+ , 3, f037, 33}
+ Store(Refof(f037), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (63) {
+ Store(64, Local2)
+ BankField(OPR0, BNK0, 64, AnyAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 3, f038, 63}
+ Store(Refof(f038), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (64) {
+ Store(127, Local2)
+ BankField(OPR0, BNK0, 127, DWordAcc, NoLock, WriteAsZeros) {
+ , 3, f039, 64}
+ Store(Refof(f039), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (65) {
+ Store(128, Local2)
+ BankField(OPR0, BNK0, 128, ByteAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 3, f03a, 65}
+ Store(Refof(f03a), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (69) {
+ Store(255, Local2)
+ BankField(OPR0, BNK0, 255, DWordAcc, NoLock, WriteAsZeros) {
+ , 3, f03b, 69}
+ Store(Refof(f03b), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (129) {
+ Store(0, Local2)
+ BankField(OPR0, BNK0, 0, WordAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 3, f03c, 129}
+ Store(Refof(f03c), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (256) {
+ Store(1, Local2)
+ BankField(OPR0, BNK0, 1, DWordAcc, NoLock, WriteAsZeros) {
+ , 3, f03d, 256}
+ Store(Refof(f03d), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (1023) {
+ Store(2, Local2)
+ BankField(OPR0, BNK0, 2, DWordAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 3, f03e, 1023}
+ Store(Refof(f03e), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (1983) {
+ Store(3, Local2)
+ BankField(OPR0, BNK0, 3, DWordAcc, NoLock, WriteAsZeros) {
+ , 3, f03f, 1983}
+ Store(Refof(f03f), Local3)
+ Store(Refof(g003), Local4)
+ }
+ default {
+ err(arg0, z145, 48, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (4) {
+ switch(arg3) {
+ case (1) {
+ Store(4, Local2)
+ BankField(OPR0, BNK0, 4, DWordAcc, NoLock, WriteAsZeros) {
+ , 4, f040, 1}
+ Store(Refof(f040), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (6) {
+ Store(5, Local2)
+ BankField(OPR0, BNK0, 5, QWordAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 4, f041, 6}
+ Store(Refof(f041), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (7) {
+ Store(6, Local2)
+ BankField(OPR0, BNK0, 6, DWordAcc, NoLock, WriteAsZeros) {
+ , 4, f042, 7}
+ Store(Refof(f042), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (8) {
+ Store(7, Local2)
+ BankField(OPR0, BNK0, 7, AnyAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 4, f043, 8}
+ Store(Refof(f043), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (9) {
+ Store(8, Local2)
+ BankField(OPR0, BNK0, 8, DWordAcc, NoLock, WriteAsZeros) {
+ , 4, f044, 9}
+ Store(Refof(f044), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (31) {
+ Store(9, Local2)
+ BankField(OPR0, BNK0, 9, ByteAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 4, f045, 31}
+ Store(Refof(f045), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (32) {
+ Store(63, Local2)
+ BankField(OPR0, BNK0, 63, DWordAcc, NoLock, WriteAsZeros) {
+ , 4, f046, 32}
+ Store(Refof(f046), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (33) {
+ Store(64, Local2)
+ BankField(OPR0, BNK0, 64, WordAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 4, f047, 33}
+ Store(Refof(f047), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (63) {
+ Store(127, Local2)
+ BankField(OPR0, BNK0, 127, DWordAcc, NoLock, WriteAsZeros) {
+ , 4, f048, 63}
+ Store(Refof(f048), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (64) {
+ Store(128, Local2)
+ BankField(OPR0, BNK0, 128, DWordAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 4, f049, 64}
+ Store(Refof(f049), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (65) {
+ Store(255, Local2)
+ BankField(OPR0, BNK0, 255, DWordAcc, NoLock, WriteAsZeros) {
+ , 4, f04a, 65}
+ Store(Refof(f04a), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (69) {
+ Store(0, Local2)
+ BankField(OPR0, BNK0, 0, QWordAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 4, f04b, 69}
+ Store(Refof(f04b), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (129) {
+ Store(1, Local2)
+ BankField(OPR0, BNK0, 1, DWordAcc, NoLock, WriteAsZeros) {
+ , 4, f04c, 129}
+ Store(Refof(f04c), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (256) {
+ Store(2, Local2)
+ BankField(OPR0, BNK0, 2, AnyAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 4, f04d, 256}
+ Store(Refof(f04d), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (1023) {
+ Store(3, Local2)
+ BankField(OPR0, BNK0, 3, DWordAcc, NoLock, WriteAsZeros) {
+ , 4, f04e, 1023}
+ Store(Refof(f04e), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (1983) {
+ Store(4, Local2)
+ BankField(OPR0, BNK0, 4, ByteAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 4, f04f, 1983}
+ Store(Refof(f04f), Local3)
+ Store(Refof(g004), Local4)
+ }
+ default {
+ err(arg0, z145, 49, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (5) {
+ switch(arg3) {
+ case (1) {
+ Store(5, Local2)
+ BankField(OPR0, BNK0, 5, WordAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 5, f050, 1}
+ Store(Refof(f050), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (6) {
+ Store(6, Local2)
+ BankField(OPR0, BNK0, 6, DWordAcc, NoLock, WriteAsZeros) {
+ , 5, f051, 6}
+ Store(Refof(f051), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (7) {
+ Store(7, Local2)
+ BankField(OPR0, BNK0, 7, DWordAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 5, f052, 7}
+ Store(Refof(f052), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (8) {
+ Store(8, Local2)
+ BankField(OPR0, BNK0, 8, DWordAcc, NoLock, WriteAsZeros) {
+ , 5, f053, 8}
+ Store(Refof(f053), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (9) {
+ Store(9, Local2)
+ BankField(OPR0, BNK0, 9, QWordAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 5, f054, 9}
+ Store(Refof(f054), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (31) {
+ Store(63, Local2)
+ BankField(OPR0, BNK0, 63, DWordAcc, NoLock, WriteAsZeros) {
+ , 5, f055, 31}
+ Store(Refof(f055), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (32) {
+ Store(64, Local2)
+ BankField(OPR0, BNK0, 64, AnyAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 5, f056, 32}
+ Store(Refof(f056), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (33) {
+ Store(127, Local2)
+ BankField(OPR0, BNK0, 127, DWordAcc, NoLock, WriteAsZeros) {
+ , 5, f057, 33}
+ Store(Refof(f057), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (63) {
+ Store(128, Local2)
+ BankField(OPR0, BNK0, 128, ByteAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 5, f058, 63}
+ Store(Refof(f058), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (64) {
+ Store(255, Local2)
+ BankField(OPR0, BNK0, 255, DWordAcc, NoLock, WriteAsZeros) {
+ , 5, f059, 64}
+ Store(Refof(f059), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (65) {
+ Store(0, Local2)
+ BankField(OPR0, BNK0, 0, WordAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 5, f05a, 65}
+ Store(Refof(f05a), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (69) {
+ Store(1, Local2)
+ BankField(OPR0, BNK0, 1, DWordAcc, NoLock, WriteAsZeros) {
+ , 5, f05b, 69}
+ Store(Refof(f05b), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (129) {
+ Store(2, Local2)
+ BankField(OPR0, BNK0, 2, DWordAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 5, f05c, 129}
+ Store(Refof(f05c), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (256) {
+ Store(3, Local2)
+ BankField(OPR0, BNK0, 3, DWordAcc, NoLock, WriteAsZeros) {
+ , 5, f05d, 256}
+ Store(Refof(f05d), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (1023) {
+ Store(4, Local2)
+ BankField(OPR0, BNK0, 4, QWordAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 5, f05e, 1023}
+ Store(Refof(f05e), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (1983) {
+ Store(5, Local2)
+ BankField(OPR0, BNK0, 5, DWordAcc, NoLock, WriteAsZeros) {
+ , 5, f05f, 1983}
+ Store(Refof(f05f), Local3)
+ Store(Refof(g005), Local4)
+ }
+ default {
+ err(arg0, z145, 50, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (6) {
+ switch(arg3) {
+ case (1) {
+ Store(6, Local2)
+ BankField(OPR0, BNK0, 6, DWordAcc, NoLock, WriteAsZeros) {
+ , 6, f060, 1}
+ Store(Refof(f060), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (6) {
+ Store(7, Local2)
+ BankField(OPR0, BNK0, 7, AnyAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 6, f061, 6}
+ Store(Refof(f061), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (7) {
+ Store(8, Local2)
+ BankField(OPR0, BNK0, 8, DWordAcc, NoLock, WriteAsZeros) {
+ , 6, f062, 7}
+ Store(Refof(f062), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (8) {
+ Store(9, Local2)
+ BankField(OPR0, BNK0, 9, ByteAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 6, f063, 8}
+ Store(Refof(f063), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (9) {
+ Store(63, Local2)
+ BankField(OPR0, BNK0, 63, DWordAcc, NoLock, WriteAsZeros) {
+ , 6, f064, 9}
+ Store(Refof(f064), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (31) {
+ Store(64, Local2)
+ BankField(OPR0, BNK0, 64, WordAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 6, f065, 31}
+ Store(Refof(f065), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (32) {
+ Store(127, Local2)
+ BankField(OPR0, BNK0, 127, DWordAcc, NoLock, WriteAsZeros) {
+ , 6, f066, 32}
+ Store(Refof(f066), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (33) {
+ Store(128, Local2)
+ BankField(OPR0, BNK0, 128, DWordAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 6, f067, 33}
+ Store(Refof(f067), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (63) {
+ Store(255, Local2)
+ BankField(OPR0, BNK0, 255, DWordAcc, NoLock, WriteAsZeros) {
+ , 6, f068, 63}
+ Store(Refof(f068), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (64) {
+ Store(0, Local2)
+ BankField(OPR0, BNK0, 0, QWordAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 6, f069, 64}
+ Store(Refof(f069), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (65) {
+ Store(1, Local2)
+ BankField(OPR0, BNK0, 1, DWordAcc, NoLock, WriteAsZeros) {
+ , 6, f06a, 65}
+ Store(Refof(f06a), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (69) {
+ Store(2, Local2)
+ BankField(OPR0, BNK0, 2, AnyAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 6, f06b, 69}
+ Store(Refof(f06b), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (129) {
+ Store(3, Local2)
+ BankField(OPR0, BNK0, 3, DWordAcc, NoLock, WriteAsZeros) {
+ , 6, f06c, 129}
+ Store(Refof(f06c), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (256) {
+ Store(4, Local2)
+ BankField(OPR0, BNK0, 4, ByteAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 6, f06d, 256}
+ Store(Refof(f06d), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (1023) {
+ Store(5, Local2)
+ BankField(OPR0, BNK0, 5, DWordAcc, NoLock, WriteAsZeros) {
+ , 6, f06e, 1023}
+ Store(Refof(f06e), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (1983) {
+ Store(6, Local2)
+ BankField(OPR0, BNK0, 6, WordAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 6, f06f, 1983}
+ Store(Refof(f06f), Local3)
+ Store(Refof(g006), Local4)
+ }
+ default {
+ err(arg0, z145, 51, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (7) {
+ switch(arg3) {
+ case (1) {
+ Store(7, Local2)
+ BankField(OPR0, BNK0, 7, DWordAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 7, f070, 1}
+ Store(Refof(f070), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (6) {
+ Store(8, Local2)
+ BankField(OPR0, BNK0, 8, DWordAcc, NoLock, WriteAsZeros) {
+ , 7, f071, 6}
+ Store(Refof(f071), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (7) {
+ Store(9, Local2)
+ BankField(OPR0, BNK0, 9, QWordAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 7, f072, 7}
+ Store(Refof(f072), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (8) {
+ Store(63, Local2)
+ BankField(OPR0, BNK0, 63, DWordAcc, NoLock, WriteAsZeros) {
+ , 7, f073, 8}
+ Store(Refof(f073), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (9) {
+ Store(64, Local2)
+ BankField(OPR0, BNK0, 64, AnyAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 7, f074, 9}
+ Store(Refof(f074), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (31) {
+ Store(127, Local2)
+ BankField(OPR0, BNK0, 127, DWordAcc, NoLock, WriteAsZeros) {
+ , 7, f075, 31}
+ Store(Refof(f075), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (32) {
+ Store(128, Local2)
+ BankField(OPR0, BNK0, 128, ByteAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 7, f076, 32}
+ Store(Refof(f076), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (33) {
+ Store(255, Local2)
+ BankField(OPR0, BNK0, 255, DWordAcc, NoLock, WriteAsZeros) {
+ , 7, f077, 33}
+ Store(Refof(f077), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (63) {
+ Store(0, Local2)
+ BankField(OPR0, BNK0, 0, WordAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 7, f078, 63}
+ Store(Refof(f078), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (64) {
+ Store(1, Local2)
+ BankField(OPR0, BNK0, 1, DWordAcc, NoLock, WriteAsZeros) {
+ , 7, f079, 64}
+ Store(Refof(f079), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (65) {
+ Store(2, Local2)
+ BankField(OPR0, BNK0, 2, DWordAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 7, f07a, 65}
+ Store(Refof(f07a), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (69) {
+ Store(3, Local2)
+ BankField(OPR0, BNK0, 3, DWordAcc, NoLock, WriteAsZeros) {
+ , 7, f07b, 69}
+ Store(Refof(f07b), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (129) {
+ Store(4, Local2)
+ BankField(OPR0, BNK0, 4, QWordAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 7, f07c, 129}
+ Store(Refof(f07c), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (256) {
+ Store(5, Local2)
+ BankField(OPR0, BNK0, 5, DWordAcc, NoLock, WriteAsZeros) {
+ , 7, f07d, 256}
+ Store(Refof(f07d), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (1023) {
+ Store(6, Local2)
+ BankField(OPR0, BNK0, 6, AnyAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 7, f07e, 1023}
+ Store(Refof(f07e), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (1983) {
+ Store(7, Local2)
+ BankField(OPR0, BNK0, 7, DWordAcc, NoLock, WriteAsZeros) {
+ , 7, f07f, 1983}
+ Store(Refof(f07f), Local3)
+ Store(Refof(g007), Local4)
+ }
+ default {
+ err(arg0, z145, 52, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (8) {
+ switch(arg3) {
+ case (1) {
+ Store(8, Local2)
+ BankField(OPR0, BNK0, 8, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(1), f080, 1}
+ Store(Refof(f080), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (6) {
+ Store(9, Local2)
+ BankField(OPR0, BNK0, 9, ByteAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ Offset(1), f081, 6}
+ Store(Refof(f081), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (7) {
+ Store(63, Local2)
+ BankField(OPR0, BNK0, 63, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(1), f082, 7}
+ Store(Refof(f082), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (8) {
+ Store(64, Local2)
+ BankField(OPR0, BNK0, 64, WordAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ Offset(1), f083, 8}
+ Store(Refof(f083), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (9) {
+ Store(127, Local2)
+ BankField(OPR0, BNK0, 127, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(1), f084, 9}
+ Store(Refof(f084), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (31) {
+ Store(128, Local2)
+ BankField(OPR0, BNK0, 128, DWordAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ Offset(1), f085, 31}
+ Store(Refof(f085), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (32) {
+ Store(255, Local2)
+ BankField(OPR0, BNK0, 255, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(1), f086, 32}
+ Store(Refof(f086), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (33) {
+ Store(0, Local2)
+ BankField(OPR0, BNK0, 0, QWordAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ Offset(1), f087, 33}
+ Store(Refof(f087), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (63) {
+ Store(1, Local2)
+ BankField(OPR0, BNK0, 1, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(1), f088, 63}
+ Store(Refof(f088), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (64) {
+ Store(2, Local2)
+ BankField(OPR0, BNK0, 2, AnyAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ Offset(1), f089, 64}
+ Store(Refof(f089), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (65) {
+ Store(3, Local2)
+ BankField(OPR0, BNK0, 3, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(1), f08a, 65}
+ Store(Refof(f08a), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (69) {
+ Store(4, Local2)
+ BankField(OPR0, BNK0, 4, ByteAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ Offset(1), f08b, 69}
+ Store(Refof(f08b), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (129) {
+ Store(5, Local2)
+ BankField(OPR0, BNK0, 5, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(1), f08c, 129}
+ Store(Refof(f08c), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (256) {
+ Store(6, Local2)
+ BankField(OPR0, BNK0, 6, WordAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ Offset(1), f08d, 256}
+ Store(Refof(f08d), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (1023) {
+ Store(7, Local2)
+ BankField(OPR0, BNK0, 7, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(1), f08e, 1023}
+ Store(Refof(f08e), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (1983) {
+ Store(8, Local2)
+ BankField(OPR0, BNK0, 8, DWordAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ Offset(1), f08f, 1983}
+ Store(Refof(f08f), Local3)
+ Store(Refof(g008), Local4)
+ }
+ default {
+ err(arg0, z145, 53, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (9) {
+ switch(arg3) {
+ case (1) {
+ Store(9, Local2)
+ BankField(OPR0, BNK0, 9, QWordAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 9, f090, 1}
+ Store(Refof(f090), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (6) {
+ Store(63, Local2)
+ BankField(OPR0, BNK0, 63, DWordAcc, NoLock, WriteAsZeros) {
+ , 9, f091, 6}
+ Store(Refof(f091), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (7) {
+ Store(64, Local2)
+ BankField(OPR0, BNK0, 64, AnyAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 9, f092, 7}
+ Store(Refof(f092), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (8) {
+ Store(127, Local2)
+ BankField(OPR0, BNK0, 127, DWordAcc, NoLock, WriteAsZeros) {
+ , 9, f093, 8}
+ Store(Refof(f093), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (9) {
+ Store(128, Local2)
+ BankField(OPR0, BNK0, 128, ByteAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 9, f094, 9}
+ Store(Refof(f094), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (31) {
+ Store(255, Local2)
+ BankField(OPR0, BNK0, 255, DWordAcc, NoLock, WriteAsZeros) {
+ , 9, f095, 31}
+ Store(Refof(f095), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (32) {
+ Store(0, Local2)
+ BankField(OPR0, BNK0, 0, WordAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 9, f096, 32}
+ Store(Refof(f096), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (33) {
+ Store(1, Local2)
+ BankField(OPR0, BNK0, 1, DWordAcc, NoLock, WriteAsZeros) {
+ , 9, f097, 33}
+ Store(Refof(f097), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (63) {
+ Store(2, Local2)
+ BankField(OPR0, BNK0, 2, DWordAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 9, f098, 63}
+ Store(Refof(f098), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (64) {
+ Store(3, Local2)
+ BankField(OPR0, BNK0, 3, DWordAcc, NoLock, WriteAsZeros) {
+ , 9, f099, 64}
+ Store(Refof(f099), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (65) {
+ Store(4, Local2)
+ BankField(OPR0, BNK0, 4, QWordAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 9, f09a, 65}
+ Store(Refof(f09a), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (69) {
+ Store(5, Local2)
+ BankField(OPR0, BNK0, 5, DWordAcc, NoLock, WriteAsZeros) {
+ , 9, f09b, 69}
+ Store(Refof(f09b), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (129) {
+ Store(6, Local2)
+ BankField(OPR0, BNK0, 6, AnyAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 9, f09c, 129}
+ Store(Refof(f09c), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (256) {
+ Store(7, Local2)
+ BankField(OPR0, BNK0, 7, DWordAcc, NoLock, WriteAsZeros) {
+ , 9, f09d, 256}
+ Store(Refof(f09d), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (1023) {
+ Store(8, Local2)
+ BankField(OPR0, BNK0, 8, ByteAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 9, f09e, 1023}
+ Store(Refof(f09e), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (1983) {
+ Store(9, Local2)
+ BankField(OPR0, BNK0, 9, DWordAcc, NoLock, WriteAsZeros) {
+ , 9, f09f, 1983}
+ Store(Refof(f09f), Local3)
+ Store(Refof(g009), Local4)
+ }
+ default {
+ err(arg0, z145, 54, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (31) {
+ switch(arg3) {
+ case (1) {
+ Store(63, Local2)
+ BankField(OPR0, BNK0, 63, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(3), , 7, f0a0, 1}
+ Store(Refof(f0a0), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (6) {
+ Store(64, Local2)
+ BankField(OPR0, BNK0, 64, WordAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ Offset(3), , 7, f0a1, 6}
+ Store(Refof(f0a1), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (7) {
+ Store(127, Local2)
+ BankField(OPR0, BNK0, 127, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(3), , 7, f0a2, 7}
+ Store(Refof(f0a2), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (8) {
+ Store(128, Local2)
+ BankField(OPR0, BNK0, 128, DWordAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ Offset(3), , 7, f0a3, 8}
+ Store(Refof(f0a3), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (9) {
+ Store(255, Local2)
+ BankField(OPR0, BNK0, 255, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(3), , 7, f0a4, 9}
+ Store(Refof(f0a4), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (31) {
+ Store(0, Local2)
+ BankField(OPR0, BNK0, 0, QWordAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ Offset(3), , 7, f0a5, 31}
+ Store(Refof(f0a5), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (32) {
+ Store(1, Local2)
+ BankField(OPR0, BNK0, 1, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(3), , 7, f0a6, 32}
+ Store(Refof(f0a6), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (33) {
+ Store(2, Local2)
+ BankField(OPR0, BNK0, 2, AnyAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ Offset(3), , 7, f0a7, 33}
+ Store(Refof(f0a7), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (63) {
+ Store(3, Local2)
+ BankField(OPR0, BNK0, 3, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(3), , 7, f0a8, 63}
+ Store(Refof(f0a8), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (64) {
+ Store(4, Local2)
+ BankField(OPR0, BNK0, 4, ByteAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ Offset(3), , 7, f0a9, 64}
+ Store(Refof(f0a9), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (65) {
+ Store(5, Local2)
+ BankField(OPR0, BNK0, 5, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(3), , 7, f0aa, 65}
+ Store(Refof(f0aa), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (69) {
+ Store(6, Local2)
+ BankField(OPR0, BNK0, 6, WordAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ Offset(3), , 7, f0ab, 69}
+ Store(Refof(f0ab), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (129) {
+ Store(7, Local2)
+ BankField(OPR0, BNK0, 7, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(3), , 7, f0ac, 129}
+ Store(Refof(f0ac), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (256) {
+ Store(8, Local2)
+ BankField(OPR0, BNK0, 8, DWordAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ Offset(3), , 7, f0ad, 256}
+ Store(Refof(f0ad), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (1023) {
+ Store(9, Local2)
+ BankField(OPR0, BNK0, 9, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(3), , 7, f0ae, 1023}
+ Store(Refof(f0ae), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (1983) {
+ Store(63, Local2)
+ BankField(OPR0, BNK0, 63, QWordAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ Offset(3), , 7, f0af, 1983}
+ Store(Refof(f0af), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ default {
+ err(arg0, z145, 55, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (32) {
+ switch(arg3) {
+ case (1) {
+ Store(64, Local2)
+ BankField(OPR0, BNK0, 64, AnyAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 32, f0b0, 1}
+ Store(Refof(f0b0), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (6) {
+ Store(127, Local2)
+ BankField(OPR0, BNK0, 127, DWordAcc, NoLock, WriteAsZeros) {
+ , 32, f0b1, 6}
+ Store(Refof(f0b1), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (7) {
+ Store(128, Local2)
+ BankField(OPR0, BNK0, 128, ByteAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 32, f0b2, 7}
+ Store(Refof(f0b2), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (8) {
+ Store(255, Local2)
+ BankField(OPR0, BNK0, 255, DWordAcc, NoLock, WriteAsZeros) {
+ , 32, f0b3, 8}
+ Store(Refof(f0b3), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (9) {
+ Store(0, Local2)
+ BankField(OPR0, BNK0, 0, WordAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 32, f0b4, 9}
+ Store(Refof(f0b4), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (31) {
+ Store(1, Local2)
+ BankField(OPR0, BNK0, 1, DWordAcc, NoLock, WriteAsZeros) {
+ , 32, f0b5, 31}
+ Store(Refof(f0b5), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (32) {
+ Store(2, Local2)
+ BankField(OPR0, BNK0, 2, DWordAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 32, f0b6, 32}
+ Store(Refof(f0b6), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (33) {
+ Store(3, Local2)
+ BankField(OPR0, BNK0, 3, DWordAcc, NoLock, WriteAsZeros) {
+ , 32, f0b7, 33}
+ Store(Refof(f0b7), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (63) {
+ Store(4, Local2)
+ BankField(OPR0, BNK0, 4, QWordAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 32, f0b8, 63}
+ Store(Refof(f0b8), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (64) {
+ Store(5, Local2)
+ BankField(OPR0, BNK0, 5, DWordAcc, NoLock, WriteAsZeros) {
+ , 32, f0b9, 64}
+ Store(Refof(f0b9), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (65) {
+ Store(6, Local2)
+ BankField(OPR0, BNK0, 6, AnyAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 32, f0ba, 65}
+ Store(Refof(f0ba), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (69) {
+ Store(7, Local2)
+ BankField(OPR0, BNK0, 7, DWordAcc, NoLock, WriteAsZeros) {
+ , 32, f0bb, 69}
+ Store(Refof(f0bb), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (129) {
+ Store(8, Local2)
+ BankField(OPR0, BNK0, 8, ByteAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 32, f0bc, 129}
+ Store(Refof(f0bc), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (256) {
+ Store(9, Local2)
+ BankField(OPR0, BNK0, 9, DWordAcc, NoLock, WriteAsZeros) {
+ , 32, f0bd, 256}
+ Store(Refof(f0bd), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (1023) {
+ Store(63, Local2)
+ BankField(OPR0, BNK0, 63, WordAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 32, f0be, 1023}
+ Store(Refof(f0be), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (1983) {
+ Store(64, Local2)
+ BankField(OPR0, BNK0, 64, DWordAcc, NoLock, WriteAsZeros) {
+ , 32, f0bf, 1983}
+ Store(Refof(f0bf), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ default {
+ err(arg0, z145, 56, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (33) {
+ switch(arg3) {
+ case (1) {
+ Store(127, Local2)
+ BankField(OPR0, BNK0, 127, DWordAcc, NoLock, WriteAsZeros) {
+ , 33, f0c0, 1}
+ Store(Refof(f0c0), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (6) {
+ Store(128, Local2)
+ BankField(OPR0, BNK0, 128, DWordAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 33, f0c1, 6}
+ Store(Refof(f0c1), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (7) {
+ Store(255, Local2)
+ BankField(OPR0, BNK0, 255, DWordAcc, NoLock, WriteAsZeros) {
+ , 33, f0c2, 7}
+ Store(Refof(f0c2), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (8) {
+ Store(0, Local2)
+ BankField(OPR0, BNK0, 0, QWordAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 33, f0c3, 8}
+ Store(Refof(f0c3), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (9) {
+ Store(1, Local2)
+ BankField(OPR0, BNK0, 1, DWordAcc, NoLock, WriteAsZeros) {
+ , 33, f0c4, 9}
+ Store(Refof(f0c4), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (31) {
+ Store(2, Local2)
+ BankField(OPR0, BNK0, 2, AnyAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 33, f0c5, 31}
+ Store(Refof(f0c5), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (32) {
+ Store(3, Local2)
+ BankField(OPR0, BNK0, 3, DWordAcc, NoLock, WriteAsZeros) {
+ , 33, f0c6, 32}
+ Store(Refof(f0c6), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (33) {
+ Store(4, Local2)
+ BankField(OPR0, BNK0, 4, ByteAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 33, f0c7, 33}
+ Store(Refof(f0c7), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (63) {
+ Store(5, Local2)
+ BankField(OPR0, BNK0, 5, DWordAcc, NoLock, WriteAsZeros) {
+ , 33, f0c8, 63}
+ Store(Refof(f0c8), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (64) {
+ Store(6, Local2)
+ BankField(OPR0, BNK0, 6, WordAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 33, f0c9, 64}
+ Store(Refof(f0c9), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (65) {
+ Store(7, Local2)
+ BankField(OPR0, BNK0, 7, DWordAcc, NoLock, WriteAsZeros) {
+ , 33, f0ca, 65}
+ Store(Refof(f0ca), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (69) {
+ Store(8, Local2)
+ BankField(OPR0, BNK0, 8, DWordAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 33, f0cb, 69}
+ Store(Refof(f0cb), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (129) {
+ Store(9, Local2)
+ BankField(OPR0, BNK0, 9, DWordAcc, NoLock, WriteAsZeros) {
+ , 33, f0cc, 129}
+ Store(Refof(f0cc), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (256) {
+ Store(63, Local2)
+ BankField(OPR0, BNK0, 63, QWordAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 33, f0cd, 256}
+ Store(Refof(f0cd), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (1023) {
+ Store(64, Local2)
+ BankField(OPR0, BNK0, 64, DWordAcc, NoLock, WriteAsZeros) {
+ , 33, f0ce, 1023}
+ Store(Refof(f0ce), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (1983) {
+ Store(127, Local2)
+ BankField(OPR0, BNK0, 127, AnyAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 33, f0cf, 1983}
+ Store(Refof(f0cf), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ default {
+ err(arg0, z145, 32, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (63) {
+ switch(arg3) {
+ case (1) {
+ Store(128, Local2)
+ BankField(OPR0, BNK0, 128, DWordAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 63, f0d0, 1}
+ Store(Refof(f0d0), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (6) {
+ Store(255, Local2)
+ BankField(OPR0, BNK0, 255, ByteAcc, NoLock, WriteAsZeros) {
+ , 63, f0d1, 6}
+ Store(Refof(f0d1), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (7) {
+ Store(0, Local2)
+ BankField(OPR0, BNK0, 0, DWordAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 63, f0d2, 7}
+ Store(Refof(f0d2), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (8) {
+ Store(1, Local2)
+ BankField(OPR0, BNK0, 1, WordAcc, NoLock, WriteAsZeros) {
+ , 63, f0d3, 8}
+ Store(Refof(f0d3), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (9) {
+ Store(2, Local2)
+ BankField(OPR0, BNK0, 2, DWordAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 63, f0d4, 9}
+ Store(Refof(f0d4), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (31) {
+ Store(3, Local2)
+ BankField(OPR0, BNK0, 3, DWordAcc, NoLock, WriteAsZeros) {
+ , 63, f0d5, 31}
+ Store(Refof(f0d5), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (32) {
+ Store(4, Local2)
+ BankField(OPR0, BNK0, 4, QWordAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 63, f0d6, 32}
+ Store(Refof(f0d6), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (33) {
+ Store(5, Local2)
+ BankField(OPR0, BNK0, 5, DWordAcc, NoLock, WriteAsZeros) {
+ , 63, f0d7, 33}
+ Store(Refof(f0d7), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (63) {
+ Store(6, Local2)
+ BankField(OPR0, BNK0, 6, AnyAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 63, f0d8, 63}
+ Store(Refof(f0d8), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (64) {
+ Store(7, Local2)
+ BankField(OPR0, BNK0, 7, DWordAcc, NoLock, WriteAsZeros) {
+ , 63, f0d9, 64}
+ Store(Refof(f0d9), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (65) {
+ Store(8, Local2)
+ BankField(OPR0, BNK0, 8, ByteAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 63, f0da, 65}
+ Store(Refof(f0da), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (69) {
+ Store(9, Local2)
+ BankField(OPR0, BNK0, 9, DWordAcc, NoLock, WriteAsZeros) {
+ , 63, f0db, 69}
+ Store(Refof(f0db), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (129) {
+ Store(63, Local2)
+ BankField(OPR0, BNK0, 63, WordAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 63, f0dc, 129}
+ Store(Refof(f0dc), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (256) {
+ Store(64, Local2)
+ BankField(OPR0, BNK0, 64, DWordAcc, NoLock, WriteAsZeros) {
+ , 63, f0dd, 256}
+ Store(Refof(f0dd), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (1023) {
+ Store(127, Local2)
+ BankField(OPR0, BNK0, 127, DWordAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 63, f0de, 1023}
+ Store(Refof(f0de), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (1983) {
+ Store(128, Local2)
+ BankField(OPR0, BNK0, 128, DWordAcc, NoLock, WriteAsZeros) {
+ , 63, f0df, 1983}
+ Store(Refof(f0df), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ default {
+ err(arg0, z145, 57, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (64) {
+ switch(arg3) {
+ case (1) {
+ Store(255, Local2)
+ BankField(OPR0, BNK0, 255, DWordAcc, NoLock, WriteAsZeros) {
+ , 64, f0e0, 1}
+ Store(Refof(f0e0), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (6) {
+ Store(0, Local2)
+ BankField(OPR0, BNK0, 0, QWordAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 64, f0e1, 6}
+ Store(Refof(f0e1), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (7) {
+ Store(1, Local2)
+ BankField(OPR0, BNK0, 1, DWordAcc, NoLock, WriteAsZeros) {
+ , 64, f0e2, 7}
+ Store(Refof(f0e2), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (8) {
+ Store(2, Local2)
+ BankField(OPR0, BNK0, 2, AnyAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 64, f0e3, 8}
+ Store(Refof(f0e3), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (9) {
+ Store(3, Local2)
+ BankField(OPR0, BNK0, 3, DWordAcc, NoLock, WriteAsZeros) {
+ , 64, f0e4, 9}
+ Store(Refof(f0e4), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (31) {
+ Store(4, Local2)
+ BankField(OPR0, BNK0, 4, ByteAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 64, f0e5, 31}
+ Store(Refof(f0e5), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (32) {
+ Store(5, Local2)
+ BankField(OPR0, BNK0, 5, DWordAcc, NoLock, WriteAsZeros) {
+ , 64, f0e6, 32}
+ Store(Refof(f0e6), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (33) {
+ Store(6, Local2)
+ BankField(OPR0, BNK0, 6, WordAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 64, f0e7, 33}
+ Store(Refof(f0e7), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (63) {
+ Store(7, Local2)
+ BankField(OPR0, BNK0, 7, DWordAcc, NoLock, WriteAsZeros) {
+ , 64, f0e8, 63}
+ Store(Refof(f0e8), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (64) {
+ Store(8, Local2)
+ BankField(OPR0, BNK0, 8, DWordAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 64, f0e9, 64}
+ Store(Refof(f0e9), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (65) {
+ Store(9, Local2)
+ BankField(OPR0, BNK0, 9, DWordAcc, NoLock, WriteAsZeros) {
+ , 64, f0ea, 65}
+ Store(Refof(f0ea), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (69) {
+ Store(63, Local2)
+ BankField(OPR0, BNK0, 63, QWordAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 64, f0eb, 69}
+ Store(Refof(f0eb), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (129) {
+ Store(64, Local2)
+ BankField(OPR0, BNK0, 64, DWordAcc, NoLock, WriteAsZeros) {
+ , 64, f0ec, 129}
+ Store(Refof(f0ec), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (256) {
+ Store(127, Local2)
+ BankField(OPR0, BNK0, 127, AnyAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 64, f0ed, 256}
+ Store(Refof(f0ed), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (1023) {
+ Store(128, Local2)
+ BankField(OPR0, BNK0, 128, DWordAcc, NoLock, WriteAsZeros) {
+ , 64, f0ee, 1023}
+ Store(Refof(f0ee), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (1983) {
+ Store(255, Local2)
+ BankField(OPR0, BNK0, 255, ByteAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ , 64, f0ef, 1983}
+ Store(Refof(f0ef), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ default {
+ err(arg0, z145, 58, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (65) {
+ switch(arg3) {
+ case (1) {
+ Store(0, Local2)
+ BankField(OPR0, BNK0, 0, WordAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ Offset(8), , 1, f0f0, 1}
+ Store(Refof(f0f0), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (6) {
+ Store(1, Local2)
+ BankField(OPR0, BNK0, 1, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(8), , 1, f0f1, 6}
+ Store(Refof(f0f1), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (7) {
+ Store(2, Local2)
+ BankField(OPR0, BNK0, 2, DWordAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ Offset(8), , 1, f0f2, 7}
+ Store(Refof(f0f2), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (8) {
+ Store(3, Local2)
+ BankField(OPR0, BNK0, 3, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(8), , 1, f0f3, 8}
+ Store(Refof(f0f3), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (9) {
+ Store(4, Local2)
+ BankField(OPR0, BNK0, 4, QWordAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ Offset(8), , 1, f0f4, 9}
+ Store(Refof(f0f4), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (31) {
+ Store(5, Local2)
+ BankField(OPR0, BNK0, 5, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(8), , 1, f0f5, 31}
+ Store(Refof(f0f5), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (32) {
+ Store(6, Local2)
+ BankField(OPR0, BNK0, 6, AnyAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ Offset(8), , 1, f0f6, 32}
+ Store(Refof(f0f6), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (33) {
+ Store(7, Local2)
+ BankField(OPR0, BNK0, 7, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(8), , 1, f0f7, 33}
+ Store(Refof(f0f7), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (63) {
+ Store(8, Local2)
+ BankField(OPR0, BNK0, 8, ByteAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ Offset(8), , 1, f0f8, 63}
+ Store(Refof(f0f8), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (64) {
+ Store(9, Local2)
+ BankField(OPR0, BNK0, 9, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(8), , 1, f0f9, 64}
+ Store(Refof(f0f9), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (65) {
+ Store(63, Local2)
+ BankField(OPR0, BNK0, 63, WordAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ Offset(8), , 1, f0fa, 65}
+ Store(Refof(f0fa), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (69) {
+ Store(64, Local2)
+ BankField(OPR0, BNK0, 64, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(8), , 1, f0fb, 69}
+ Store(Refof(f0fb), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (129) {
+ Store(127, Local2)
+ BankField(OPR0, BNK0, 127, DWordAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ Offset(8), , 1, f0fc, 129}
+ Store(Refof(f0fc), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (256) {
+ Store(128, Local2)
+ BankField(OPR0, BNK0, 128, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(8), , 1, f0fd, 256}
+ Store(Refof(f0fd), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (1023) {
+ Store(255, Local2)
+ BankField(OPR0, BNK0, 255, QWordAcc, NoLock, WriteAsZeros) {
+ AccessAs(DWordAcc),
+ Offset(8), , 1, f0fe, 1023}
+ Store(Refof(f0fe), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (1983) {
+ Store(0, Local2)
+ BankField(OPR0, BNK0, 0, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(8), , 1, f0ff, 1983}
+ Store(Refof(f0ff), Local3)
+ Store(Refof(g000), Local4)
+ }
+ default {
+ err(arg0, z145, 5935, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ default {
+ err(arg0, z145, 60, 0, 0, arg2, arg3)
+ return}
+ }
+
+ Store(2, Index(fcp0, 0))
+ Store(Refof(BNK0), Index(fcp0, 1))
+ Store(Local2, Index(fcp0, 2))
+ m72d(arg0, Local3, arg2, arg3, arg4, arg5, Local4)
+ Store(0, Index(fcp0, 0))
+}
+
+// Create BankField Unit
+// (QWordAcc, NoLock, Preserve)
+Method(m7d3, 6)
+{
+ OperationRegion(OPRb, SystemIO, 0, 9)
+ OperationRegion(OPR0, SystemIO, 11, 256)
+
+ Field(OPRb, ByteAcc, NoLock, Preserve) {
+ BNK0, 8,
+ }
+ BankField(OPR0, BNK0, 0, ByteAcc, NoLock, Preserve) {
+ g000, 2048,
+ }
+ BankField(OPR0, BNK0, 1, ByteAcc, NoLock, Preserve) {
+ g001, 2048,
+ }
+ BankField(OPR0, BNK0, 2, ByteAcc, NoLock, Preserve) {
+ g002, 2048,
+ }
+ BankField(OPR0, BNK0, 3, ByteAcc, NoLock, Preserve) {
+ g003, 2048,
+ }
+ BankField(OPR0, BNK0, 4, ByteAcc, NoLock, Preserve) {
+ g004, 2048,
+ }
+ BankField(OPR0, BNK0, 5, ByteAcc, NoLock, Preserve) {
+ g005, 2048,
+ }
+ BankField(OPR0, BNK0, 6, ByteAcc, NoLock, Preserve) {
+ g006, 2048,
+ }
+ BankField(OPR0, BNK0, 7, ByteAcc, NoLock, Preserve) {
+ g007, 2048,
+ }
+ BankField(OPR0, BNK0, 8, ByteAcc, NoLock, Preserve) {
+ g008, 2048,
+ }
+ BankField(OPR0, BNK0, 9, ByteAcc, NoLock, Preserve) {
+ g009, 2048,
+ }
+ BankField(OPR0, BNK0, 63, ByteAcc, NoLock, Preserve) {
+ g00a, 2048,
+ }
+ BankField(OPR0, BNK0, 64, ByteAcc, NoLock, Preserve) {
+ g00b, 2048,
+ }
+ BankField(OPR0, BNK0, 127, ByteAcc, NoLock, Preserve) {
+ g00c, 2048,
+ }
+ BankField(OPR0, BNK0, 128, ByteAcc, NoLock, Preserve) {
+ g00d, 2048,
+ }
+ BankField(OPR0, BNK0, 255, ByteAcc, NoLock, Preserve) {
+ g00e, 2048,
+ }
+
+
+ Concatenate(arg0, "-m7d3", arg0)
+
+ switch(arg2) {
+ case (0) {
+ switch(arg3) {
+ case (1) {
+ Store(0, Local2)
+ BankField(OPR0, BNK0, 0, QWordAcc, NoLock, Preserve) {
+ , 0, f000, 1}
+ Store(Refof(f000), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (6) {
+ Store(1, Local2)
+ BankField(OPR0, BNK0, 1, WordAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 0, f001, 6}
+ Store(Refof(f001), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (7) {
+ Store(2, Local2)
+ BankField(OPR0, BNK0, 2, QWordAcc, NoLock, Preserve) {
+ , 0, f002, 7}
+ Store(Refof(f002), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (8) {
+ Store(3, Local2)
+ BankField(OPR0, BNK0, 3, DWordAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 0, f003, 8}
+ Store(Refof(f003), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (9) {
+ Store(4, Local2)
+ BankField(OPR0, BNK0, 4, QWordAcc, NoLock, Preserve) {
+ , 0, f004, 9}
+ Store(Refof(f004), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (31) {
+ Store(5, Local2)
+ BankField(OPR0, BNK0, 5, QWordAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 0, f005, 31}
+ Store(Refof(f005), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (32) {
+ Store(6, Local2)
+ BankField(OPR0, BNK0, 6, QWordAcc, NoLock, Preserve) {
+ , 0, f006, 32}
+ Store(Refof(f006), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (33) {
+ Store(7, Local2)
+ BankField(OPR0, BNK0, 7, AnyAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 0, f007, 33}
+ Store(Refof(f007), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (63) {
+ Store(8, Local2)
+ BankField(OPR0, BNK0, 8, QWordAcc, NoLock, Preserve) {
+ , 0, f008, 63}
+ Store(Refof(f008), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (64) {
+ Store(9, Local2)
+ BankField(OPR0, BNK0, 9, ByteAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 0, f009, 64}
+ Store(Refof(f009), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (65) {
+ Store(63, Local2)
+ BankField(OPR0, BNK0, 63, QWordAcc, NoLock, Preserve) {
+ , 0, f00a, 65}
+ Store(Refof(f00a), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (69) {
+ Store(64, Local2)
+ BankField(OPR0, BNK0, 64, WordAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 0, f00b, 69}
+ Store(Refof(f00b), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (129) {
+ Store(127, Local2)
+ BankField(OPR0, BNK0, 127, QWordAcc, NoLock, Preserve) {
+ , 0, f00c, 129}
+ Store(Refof(f00c), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (256) {
+ Store(128, Local2)
+ BankField(OPR0, BNK0, 128, DWordAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 0, f00d, 256}
+ Store(Refof(f00d), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (1023) {
+ Store(255, Local2)
+ BankField(OPR0, BNK0, 255, QWordAcc, NoLock, Preserve) {
+ , 0, f00e, 1023}
+ Store(Refof(f00e), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (1983) {
+ Store(0, Local2)
+ BankField(OPR0, BNK0, 0, QWordAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 0, f00f, 1983}
+ Store(Refof(f00f), Local3)
+ Store(Refof(g000), Local4)
+ }
+ default {
+ err(arg0, z145, 61, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (1) {
+ switch(arg3) {
+ case (1) {
+ Store(1, Local2)
+ BankField(OPR0, BNK0, 1, AnyAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 1, f010, 1}
+ Store(Refof(f010), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (6) {
+ Store(2, Local2)
+ BankField(OPR0, BNK0, 2, QWordAcc, NoLock, Preserve) {
+ , 1, f011, 6}
+ Store(Refof(f011), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (7) {
+ Store(3, Local2)
+ BankField(OPR0, BNK0, 3, ByteAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 1, f012, 7}
+ Store(Refof(f012), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (8) {
+ Store(4, Local2)
+ BankField(OPR0, BNK0, 4, QWordAcc, NoLock, Preserve) {
+ , 1, f013, 8}
+ Store(Refof(f013), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (9) {
+ Store(5, Local2)
+ BankField(OPR0, BNK0, 5, WordAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 1, f014, 9}
+ Store(Refof(f014), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (31) {
+ Store(6, Local2)
+ BankField(OPR0, BNK0, 6, QWordAcc, NoLock, Preserve) {
+ , 1, f015, 31}
+ Store(Refof(f015), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (32) {
+ Store(7, Local2)
+ BankField(OPR0, BNK0, 7, DWordAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 1, f016, 32}
+ Store(Refof(f016), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (33) {
+ Store(8, Local2)
+ BankField(OPR0, BNK0, 8, QWordAcc, NoLock, Preserve) {
+ , 1, f017, 33}
+ Store(Refof(f017), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (63) {
+ Store(9, Local2)
+ BankField(OPR0, BNK0, 9, QWordAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 1, f018, 63}
+ Store(Refof(f018), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (64) {
+ Store(63, Local2)
+ BankField(OPR0, BNK0, 63, QWordAcc, NoLock, Preserve) {
+ , 1, f019, 64}
+ Store(Refof(f019), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (65) {
+ Store(64, Local2)
+ BankField(OPR0, BNK0, 64, AnyAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 1, f01a, 65}
+ Store(Refof(f01a), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (69) {
+ Store(127, Local2)
+ BankField(OPR0, BNK0, 127, QWordAcc, NoLock, Preserve) {
+ , 1, f01b, 69}
+ Store(Refof(f01b), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (129) {
+ Store(128, Local2)
+ BankField(OPR0, BNK0, 128, ByteAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 1, f01c, 129}
+ Store(Refof(f01c), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (256) {
+ Store(255, Local2)
+ BankField(OPR0, BNK0, 255, QWordAcc, NoLock, Preserve) {
+ , 1, f01d, 256}
+ Store(Refof(f01d), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (1023) {
+ Store(0, Local2)
+ BankField(OPR0, BNK0, 0, WordAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 1, f01e, 1023}
+ Store(Refof(f01e), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (1983) {
+ Store(1, Local2)
+ BankField(OPR0, BNK0, 1, QWordAcc, NoLock, Preserve) {
+ , 1, f01f, 1983}
+ Store(Refof(f01f), Local3)
+ Store(Refof(g001), Local4)
+ }
+ default {
+ err(arg0, z145, 62, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (2) {
+ switch(arg3) {
+ case (1) {
+ Store(2, Local2)
+ BankField(OPR0, BNK0, 2, QWordAcc, NoLock, Preserve) {
+ , 2, f020, 1}
+ Store(Refof(f020), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (6) {
+ Store(3, Local2)
+ BankField(OPR0, BNK0, 3, DWordAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 2, f021, 6}
+ Store(Refof(f021), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (7) {
+ Store(4, Local2)
+ BankField(OPR0, BNK0, 4, QWordAcc, NoLock, Preserve) {
+ , 2, f022, 7}
+ Store(Refof(f022), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (8) {
+ Store(5, Local2)
+ BankField(OPR0, BNK0, 5, QWordAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 2, f023, 8}
+ Store(Refof(f023), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (9) {
+ Store(6, Local2)
+ BankField(OPR0, BNK0, 6, QWordAcc, NoLock, Preserve) {
+ , 2, f024, 9}
+ Store(Refof(f024), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (31) {
+ Store(7, Local2)
+ BankField(OPR0, BNK0, 7, AnyAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 2, f025, 31}
+ Store(Refof(f025), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (32) {
+ Store(8, Local2)
+ BankField(OPR0, BNK0, 8, QWordAcc, NoLock, Preserve) {
+ , 2, f026, 32}
+ Store(Refof(f026), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (33) {
+ Store(9, Local2)
+ BankField(OPR0, BNK0, 9, ByteAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 2, f027, 33}
+ Store(Refof(f027), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (63) {
+ Store(63, Local2)
+ BankField(OPR0, BNK0, 63, QWordAcc, NoLock, Preserve) {
+ , 2, f028, 63}
+ Store(Refof(f028), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (64) {
+ Store(64, Local2)
+ BankField(OPR0, BNK0, 64, WordAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 2, f029, 64}
+ Store(Refof(f029), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (65) {
+ Store(127, Local2)
+ BankField(OPR0, BNK0, 127, QWordAcc, NoLock, Preserve) {
+ , 2, f02a, 65}
+ Store(Refof(f02a), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (69) {
+ Store(128, Local2)
+ BankField(OPR0, BNK0, 128, DWordAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 2, f02b, 69}
+ Store(Refof(f02b), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (129) {
+ Store(255, Local2)
+ BankField(OPR0, BNK0, 255, QWordAcc, NoLock, Preserve) {
+ , 2, f02c, 129}
+ Store(Refof(f02c), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (256) {
+ Store(0, Local2)
+ BankField(OPR0, BNK0, 0, QWordAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 2, f02d, 256}
+ Store(Refof(f02d), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (1023) {
+ Store(1, Local2)
+ BankField(OPR0, BNK0, 1, QWordAcc, NoLock, Preserve) {
+ , 2, f02e, 1023}
+ Store(Refof(f02e), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (1983) {
+ Store(2, Local2)
+ BankField(OPR0, BNK0, 2, AnyAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 2, f02f, 1983}
+ Store(Refof(f02f), Local3)
+ Store(Refof(g002), Local4)
+ }
+ default {
+ err(arg0, z145, 63, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (3) {
+ switch(arg3) {
+ case (1) {
+ Store(3, Local2)
+ BankField(OPR0, BNK0, 3, ByteAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 3, f030, 1}
+ Store(Refof(f030), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (6) {
+ Store(4, Local2)
+ BankField(OPR0, BNK0, 4, QWordAcc, NoLock, Preserve) {
+ , 3, f031, 6}
+ Store(Refof(f031), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (7) {
+ Store(5, Local2)
+ BankField(OPR0, BNK0, 5, WordAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 3, f032, 7}
+ Store(Refof(f032), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (8) {
+ Store(6, Local2)
+ BankField(OPR0, BNK0, 6, QWordAcc, NoLock, Preserve) {
+ , 3, f033, 8}
+ Store(Refof(f033), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (9) {
+ Store(7, Local2)
+ BankField(OPR0, BNK0, 7, DWordAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 3, f034, 9}
+ Store(Refof(f034), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (31) {
+ Store(8, Local2)
+ BankField(OPR0, BNK0, 8, QWordAcc, NoLock, Preserve) {
+ , 3, f035, 31}
+ Store(Refof(f035), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (32) {
+ Store(9, Local2)
+ BankField(OPR0, BNK0, 9, QWordAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 3, f036, 32}
+ Store(Refof(f036), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (33) {
+ Store(63, Local2)
+ BankField(OPR0, BNK0, 63, QWordAcc, NoLock, Preserve) {
+ , 3, f037, 33}
+ Store(Refof(f037), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (63) {
+ Store(64, Local2)
+ BankField(OPR0, BNK0, 64, AnyAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 3, f038, 63}
+ Store(Refof(f038), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (64) {
+ Store(127, Local2)
+ BankField(OPR0, BNK0, 127, QWordAcc, NoLock, Preserve) {
+ , 3, f039, 64}
+ Store(Refof(f039), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (65) {
+ Store(128, Local2)
+ BankField(OPR0, BNK0, 128, ByteAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 3, f03a, 65}
+ Store(Refof(f03a), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (69) {
+ Store(255, Local2)
+ BankField(OPR0, BNK0, 255, QWordAcc, NoLock, Preserve) {
+ , 3, f03b, 69}
+ Store(Refof(f03b), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (129) {
+ Store(0, Local2)
+ BankField(OPR0, BNK0, 0, WordAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 3, f03c, 129}
+ Store(Refof(f03c), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (256) {
+ Store(1, Local2)
+ BankField(OPR0, BNK0, 1, QWordAcc, NoLock, Preserve) {
+ , 3, f03d, 256}
+ Store(Refof(f03d), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (1023) {
+ Store(2, Local2)
+ BankField(OPR0, BNK0, 2, DWordAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 3, f03e, 1023}
+ Store(Refof(f03e), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (1983) {
+ Store(3, Local2)
+ BankField(OPR0, BNK0, 3, QWordAcc, NoLock, Preserve) {
+ , 3, f03f, 1983}
+ Store(Refof(f03f), Local3)
+ Store(Refof(g003), Local4)
+ }
+ default {
+ err(arg0, z145, 64, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (4) {
+ switch(arg3) {
+ case (1) {
+ Store(4, Local2)
+ BankField(OPR0, BNK0, 4, QWordAcc, NoLock, Preserve) {
+ , 4, f040, 1}
+ Store(Refof(f040), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (6) {
+ Store(5, Local2)
+ BankField(OPR0, BNK0, 5, QWordAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 4, f041, 6}
+ Store(Refof(f041), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (7) {
+ Store(6, Local2)
+ BankField(OPR0, BNK0, 6, QWordAcc, NoLock, Preserve) {
+ , 4, f042, 7}
+ Store(Refof(f042), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (8) {
+ Store(7, Local2)
+ BankField(OPR0, BNK0, 7, AnyAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 4, f043, 8}
+ Store(Refof(f043), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (9) {
+ Store(8, Local2)
+ BankField(OPR0, BNK0, 8, QWordAcc, NoLock, Preserve) {
+ , 4, f044, 9}
+ Store(Refof(f044), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (31) {
+ Store(9, Local2)
+ BankField(OPR0, BNK0, 9, ByteAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 4, f045, 31}
+ Store(Refof(f045), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (32) {
+ Store(63, Local2)
+ BankField(OPR0, BNK0, 63, QWordAcc, NoLock, Preserve) {
+ , 4, f046, 32}
+ Store(Refof(f046), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (33) {
+ Store(64, Local2)
+ BankField(OPR0, BNK0, 64, WordAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 4, f047, 33}
+ Store(Refof(f047), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (63) {
+ Store(127, Local2)
+ BankField(OPR0, BNK0, 127, QWordAcc, NoLock, Preserve) {
+ , 4, f048, 63}
+ Store(Refof(f048), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (64) {
+ Store(128, Local2)
+ BankField(OPR0, BNK0, 128, DWordAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 4, f049, 64}
+ Store(Refof(f049), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (65) {
+ Store(255, Local2)
+ BankField(OPR0, BNK0, 255, QWordAcc, NoLock, Preserve) {
+ , 4, f04a, 65}
+ Store(Refof(f04a), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (69) {
+ Store(0, Local2)
+ BankField(OPR0, BNK0, 0, QWordAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 4, f04b, 69}
+ Store(Refof(f04b), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (129) {
+ Store(1, Local2)
+ BankField(OPR0, BNK0, 1, QWordAcc, NoLock, Preserve) {
+ , 4, f04c, 129}
+ Store(Refof(f04c), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (256) {
+ Store(2, Local2)
+ BankField(OPR0, BNK0, 2, AnyAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 4, f04d, 256}
+ Store(Refof(f04d), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (1023) {
+ Store(3, Local2)
+ BankField(OPR0, BNK0, 3, QWordAcc, NoLock, Preserve) {
+ , 4, f04e, 1023}
+ Store(Refof(f04e), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (1983) {
+ Store(4, Local2)
+ BankField(OPR0, BNK0, 4, ByteAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 4, f04f, 1983}
+ Store(Refof(f04f), Local3)
+ Store(Refof(g004), Local4)
+ }
+ default {
+ err(arg0, z145, 65, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (5) {
+ switch(arg3) {
+ case (1) {
+ Store(5, Local2)
+ BankField(OPR0, BNK0, 5, WordAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 5, f050, 1}
+ Store(Refof(f050), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (6) {
+ Store(6, Local2)
+ BankField(OPR0, BNK0, 6, QWordAcc, NoLock, Preserve) {
+ , 5, f051, 6}
+ Store(Refof(f051), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (7) {
+ Store(7, Local2)
+ BankField(OPR0, BNK0, 7, DWordAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 5, f052, 7}
+ Store(Refof(f052), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (8) {
+ Store(8, Local2)
+ BankField(OPR0, BNK0, 8, QWordAcc, NoLock, Preserve) {
+ , 5, f053, 8}
+ Store(Refof(f053), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (9) {
+ Store(9, Local2)
+ BankField(OPR0, BNK0, 9, QWordAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 5, f054, 9}
+ Store(Refof(f054), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (31) {
+ Store(63, Local2)
+ BankField(OPR0, BNK0, 63, QWordAcc, NoLock, Preserve) {
+ , 5, f055, 31}
+ Store(Refof(f055), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (32) {
+ Store(64, Local2)
+ BankField(OPR0, BNK0, 64, AnyAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 5, f056, 32}
+ Store(Refof(f056), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (33) {
+ Store(127, Local2)
+ BankField(OPR0, BNK0, 127, QWordAcc, NoLock, Preserve) {
+ , 5, f057, 33}
+ Store(Refof(f057), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (63) {
+ Store(128, Local2)
+ BankField(OPR0, BNK0, 128, ByteAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 5, f058, 63}
+ Store(Refof(f058), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (64) {
+ Store(255, Local2)
+ BankField(OPR0, BNK0, 255, QWordAcc, NoLock, Preserve) {
+ , 5, f059, 64}
+ Store(Refof(f059), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (65) {
+ Store(0, Local2)
+ BankField(OPR0, BNK0, 0, WordAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 5, f05a, 65}
+ Store(Refof(f05a), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (69) {
+ Store(1, Local2)
+ BankField(OPR0, BNK0, 1, QWordAcc, NoLock, Preserve) {
+ , 5, f05b, 69}
+ Store(Refof(f05b), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (129) {
+ Store(2, Local2)
+ BankField(OPR0, BNK0, 2, DWordAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 5, f05c, 129}
+ Store(Refof(f05c), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (256) {
+ Store(3, Local2)
+ BankField(OPR0, BNK0, 3, QWordAcc, NoLock, Preserve) {
+ , 5, f05d, 256}
+ Store(Refof(f05d), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (1023) {
+ Store(4, Local2)
+ BankField(OPR0, BNK0, 4, QWordAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 5, f05e, 1023}
+ Store(Refof(f05e), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (1983) {
+ Store(5, Local2)
+ BankField(OPR0, BNK0, 5, QWordAcc, NoLock, Preserve) {
+ , 5, f05f, 1983}
+ Store(Refof(f05f), Local3)
+ Store(Refof(g005), Local4)
+ }
+ default {
+ err(arg0, z145, 66, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (6) {
+ switch(arg3) {
+ case (1) {
+ Store(6, Local2)
+ BankField(OPR0, BNK0, 6, QWordAcc, NoLock, Preserve) {
+ , 6, f060, 1}
+ Store(Refof(f060), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (6) {
+ Store(7, Local2)
+ BankField(OPR0, BNK0, 7, AnyAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 6, f061, 6}
+ Store(Refof(f061), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (7) {
+ Store(8, Local2)
+ BankField(OPR0, BNK0, 8, QWordAcc, NoLock, Preserve) {
+ , 6, f062, 7}
+ Store(Refof(f062), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (8) {
+ Store(9, Local2)
+ BankField(OPR0, BNK0, 9, ByteAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 6, f063, 8}
+ Store(Refof(f063), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (9) {
+ Store(63, Local2)
+ BankField(OPR0, BNK0, 63, QWordAcc, NoLock, Preserve) {
+ , 6, f064, 9}
+ Store(Refof(f064), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (31) {
+ Store(64, Local2)
+ BankField(OPR0, BNK0, 64, WordAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 6, f065, 31}
+ Store(Refof(f065), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (32) {
+ Store(127, Local2)
+ BankField(OPR0, BNK0, 127, QWordAcc, NoLock, Preserve) {
+ , 6, f066, 32}
+ Store(Refof(f066), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (33) {
+ Store(128, Local2)
+ BankField(OPR0, BNK0, 128, DWordAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 6, f067, 33}
+ Store(Refof(f067), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (63) {
+ Store(255, Local2)
+ BankField(OPR0, BNK0, 255, QWordAcc, NoLock, Preserve) {
+ , 6, f068, 63}
+ Store(Refof(f068), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (64) {
+ Store(0, Local2)
+ BankField(OPR0, BNK0, 0, QWordAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 6, f069, 64}
+ Store(Refof(f069), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (65) {
+ Store(1, Local2)
+ BankField(OPR0, BNK0, 1, QWordAcc, NoLock, Preserve) {
+ , 6, f06a, 65}
+ Store(Refof(f06a), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (69) {
+ Store(2, Local2)
+ BankField(OPR0, BNK0, 2, AnyAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 6, f06b, 69}
+ Store(Refof(f06b), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (129) {
+ Store(3, Local2)
+ BankField(OPR0, BNK0, 3, QWordAcc, NoLock, Preserve) {
+ , 6, f06c, 129}
+ Store(Refof(f06c), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (256) {
+ Store(4, Local2)
+ BankField(OPR0, BNK0, 4, ByteAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 6, f06d, 256}
+ Store(Refof(f06d), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (1023) {
+ Store(5, Local2)
+ BankField(OPR0, BNK0, 5, QWordAcc, NoLock, Preserve) {
+ , 6, f06e, 1023}
+ Store(Refof(f06e), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (1983) {
+ Store(6, Local2)
+ BankField(OPR0, BNK0, 6, WordAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 6, f06f, 1983}
+ Store(Refof(f06f), Local3)
+ Store(Refof(g006), Local4)
+ }
+ default {
+ err(arg0, z145, 67, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (7) {
+ switch(arg3) {
+ case (1) {
+ Store(7, Local2)
+ BankField(OPR0, BNK0, 7, DWordAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 7, f070, 1}
+ Store(Refof(f070), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (6) {
+ Store(8, Local2)
+ BankField(OPR0, BNK0, 8, QWordAcc, NoLock, Preserve) {
+ , 7, f071, 6}
+ Store(Refof(f071), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (7) {
+ Store(9, Local2)
+ BankField(OPR0, BNK0, 9, QWordAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 7, f072, 7}
+ Store(Refof(f072), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (8) {
+ Store(63, Local2)
+ BankField(OPR0, BNK0, 63, QWordAcc, NoLock, Preserve) {
+ , 7, f073, 8}
+ Store(Refof(f073), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (9) {
+ Store(64, Local2)
+ BankField(OPR0, BNK0, 64, AnyAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 7, f074, 9}
+ Store(Refof(f074), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (31) {
+ Store(127, Local2)
+ BankField(OPR0, BNK0, 127, QWordAcc, NoLock, Preserve) {
+ , 7, f075, 31}
+ Store(Refof(f075), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (32) {
+ Store(128, Local2)
+ BankField(OPR0, BNK0, 128, ByteAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 7, f076, 32}
+ Store(Refof(f076), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (33) {
+ Store(255, Local2)
+ BankField(OPR0, BNK0, 255, QWordAcc, NoLock, Preserve) {
+ , 7, f077, 33}
+ Store(Refof(f077), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (63) {
+ Store(0, Local2)
+ BankField(OPR0, BNK0, 0, WordAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 7, f078, 63}
+ Store(Refof(f078), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (64) {
+ Store(1, Local2)
+ BankField(OPR0, BNK0, 1, QWordAcc, NoLock, Preserve) {
+ , 7, f079, 64}
+ Store(Refof(f079), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (65) {
+ Store(2, Local2)
+ BankField(OPR0, BNK0, 2, DWordAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 7, f07a, 65}
+ Store(Refof(f07a), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (69) {
+ Store(3, Local2)
+ BankField(OPR0, BNK0, 3, QWordAcc, NoLock, Preserve) {
+ , 7, f07b, 69}
+ Store(Refof(f07b), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (129) {
+ Store(4, Local2)
+ BankField(OPR0, BNK0, 4, QWordAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 7, f07c, 129}
+ Store(Refof(f07c), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (256) {
+ Store(5, Local2)
+ BankField(OPR0, BNK0, 5, QWordAcc, NoLock, Preserve) {
+ , 7, f07d, 256}
+ Store(Refof(f07d), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (1023) {
+ Store(6, Local2)
+ BankField(OPR0, BNK0, 6, AnyAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 7, f07e, 1023}
+ Store(Refof(f07e), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (1983) {
+ Store(7, Local2)
+ BankField(OPR0, BNK0, 7, QWordAcc, NoLock, Preserve) {
+ , 7, f07f, 1983}
+ Store(Refof(f07f), Local3)
+ Store(Refof(g007), Local4)
+ }
+ default {
+ err(arg0, z145, 68, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (8) {
+ switch(arg3) {
+ case (1) {
+ Store(8, Local2)
+ BankField(OPR0, BNK0, 8, QWordAcc, NoLock, Preserve) {
+ Offset(1), f080, 1}
+ Store(Refof(f080), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (6) {
+ Store(9, Local2)
+ BankField(OPR0, BNK0, 9, ByteAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ Offset(1), f081, 6}
+ Store(Refof(f081), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (7) {
+ Store(63, Local2)
+ BankField(OPR0, BNK0, 63, QWordAcc, NoLock, Preserve) {
+ Offset(1), f082, 7}
+ Store(Refof(f082), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (8) {
+ Store(64, Local2)
+ BankField(OPR0, BNK0, 64, WordAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ Offset(1), f083, 8}
+ Store(Refof(f083), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (9) {
+ Store(127, Local2)
+ BankField(OPR0, BNK0, 127, QWordAcc, NoLock, Preserve) {
+ Offset(1), f084, 9}
+ Store(Refof(f084), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (31) {
+ Store(128, Local2)
+ BankField(OPR0, BNK0, 128, DWordAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ Offset(1), f085, 31}
+ Store(Refof(f085), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (32) {
+ Store(255, Local2)
+ BankField(OPR0, BNK0, 255, QWordAcc, NoLock, Preserve) {
+ Offset(1), f086, 32}
+ Store(Refof(f086), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (33) {
+ Store(0, Local2)
+ BankField(OPR0, BNK0, 0, QWordAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ Offset(1), f087, 33}
+ Store(Refof(f087), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (63) {
+ Store(1, Local2)
+ BankField(OPR0, BNK0, 1, QWordAcc, NoLock, Preserve) {
+ Offset(1), f088, 63}
+ Store(Refof(f088), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (64) {
+ Store(2, Local2)
+ BankField(OPR0, BNK0, 2, AnyAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ Offset(1), f089, 64}
+ Store(Refof(f089), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (65) {
+ Store(3, Local2)
+ BankField(OPR0, BNK0, 3, QWordAcc, NoLock, Preserve) {
+ Offset(1), f08a, 65}
+ Store(Refof(f08a), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (69) {
+ Store(4, Local2)
+ BankField(OPR0, BNK0, 4, ByteAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ Offset(1), f08b, 69}
+ Store(Refof(f08b), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (129) {
+ Store(5, Local2)
+ BankField(OPR0, BNK0, 5, QWordAcc, NoLock, Preserve) {
+ Offset(1), f08c, 129}
+ Store(Refof(f08c), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (256) {
+ Store(6, Local2)
+ BankField(OPR0, BNK0, 6, WordAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ Offset(1), f08d, 256}
+ Store(Refof(f08d), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (1023) {
+ Store(7, Local2)
+ BankField(OPR0, BNK0, 7, QWordAcc, NoLock, Preserve) {
+ Offset(1), f08e, 1023}
+ Store(Refof(f08e), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (1983) {
+ Store(8, Local2)
+ BankField(OPR0, BNK0, 8, DWordAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ Offset(1), f08f, 1983}
+ Store(Refof(f08f), Local3)
+ Store(Refof(g008), Local4)
+ }
+ default {
+ err(arg0, z145, 69, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (9) {
+ switch(arg3) {
+ case (1) {
+ Store(9, Local2)
+ BankField(OPR0, BNK0, 9, QWordAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 9, f090, 1}
+ Store(Refof(f090), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (6) {
+ Store(63, Local2)
+ BankField(OPR0, BNK0, 63, QWordAcc, NoLock, Preserve) {
+ , 9, f091, 6}
+ Store(Refof(f091), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (7) {
+ Store(64, Local2)
+ BankField(OPR0, BNK0, 64, AnyAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 9, f092, 7}
+ Store(Refof(f092), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (8) {
+ Store(127, Local2)
+ BankField(OPR0, BNK0, 127, QWordAcc, NoLock, Preserve) {
+ , 9, f093, 8}
+ Store(Refof(f093), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (9) {
+ Store(128, Local2)
+ BankField(OPR0, BNK0, 128, ByteAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 9, f094, 9}
+ Store(Refof(f094), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (31) {
+ Store(255, Local2)
+ BankField(OPR0, BNK0, 255, QWordAcc, NoLock, Preserve) {
+ , 9, f095, 31}
+ Store(Refof(f095), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (32) {
+ Store(0, Local2)
+ BankField(OPR0, BNK0, 0, WordAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 9, f096, 32}
+ Store(Refof(f096), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (33) {
+ Store(1, Local2)
+ BankField(OPR0, BNK0, 1, QWordAcc, NoLock, Preserve) {
+ , 9, f097, 33}
+ Store(Refof(f097), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (63) {
+ Store(2, Local2)
+ BankField(OPR0, BNK0, 2, DWordAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 9, f098, 63}
+ Store(Refof(f098), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (64) {
+ Store(3, Local2)
+ BankField(OPR0, BNK0, 3, QWordAcc, NoLock, Preserve) {
+ , 9, f099, 64}
+ Store(Refof(f099), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (65) {
+ Store(4, Local2)
+ BankField(OPR0, BNK0, 4, QWordAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 9, f09a, 65}
+ Store(Refof(f09a), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (69) {
+ Store(5, Local2)
+ BankField(OPR0, BNK0, 5, QWordAcc, NoLock, Preserve) {
+ , 9, f09b, 69}
+ Store(Refof(f09b), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (129) {
+ Store(6, Local2)
+ BankField(OPR0, BNK0, 6, AnyAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 9, f09c, 129}
+ Store(Refof(f09c), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (256) {
+ Store(7, Local2)
+ BankField(OPR0, BNK0, 7, QWordAcc, NoLock, Preserve) {
+ , 9, f09d, 256}
+ Store(Refof(f09d), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (1023) {
+ Store(8, Local2)
+ BankField(OPR0, BNK0, 8, ByteAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 9, f09e, 1023}
+ Store(Refof(f09e), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (1983) {
+ Store(9, Local2)
+ BankField(OPR0, BNK0, 9, QWordAcc, NoLock, Preserve) {
+ , 9, f09f, 1983}
+ Store(Refof(f09f), Local3)
+ Store(Refof(g009), Local4)
+ }
+ default {
+ err(arg0, z145, 70, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (31) {
+ switch(arg3) {
+ case (1) {
+ Store(63, Local2)
+ BankField(OPR0, BNK0, 63, QWordAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0a0, 1}
+ Store(Refof(f0a0), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (6) {
+ Store(64, Local2)
+ BankField(OPR0, BNK0, 64, WordAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ Offset(3), , 7, f0a1, 6}
+ Store(Refof(f0a1), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (7) {
+ Store(127, Local2)
+ BankField(OPR0, BNK0, 127, QWordAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0a2, 7}
+ Store(Refof(f0a2), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (8) {
+ Store(128, Local2)
+ BankField(OPR0, BNK0, 128, DWordAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ Offset(3), , 7, f0a3, 8}
+ Store(Refof(f0a3), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (9) {
+ Store(255, Local2)
+ BankField(OPR0, BNK0, 255, QWordAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0a4, 9}
+ Store(Refof(f0a4), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (31) {
+ Store(0, Local2)
+ BankField(OPR0, BNK0, 0, QWordAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ Offset(3), , 7, f0a5, 31}
+ Store(Refof(f0a5), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (32) {
+ Store(1, Local2)
+ BankField(OPR0, BNK0, 1, QWordAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0a6, 32}
+ Store(Refof(f0a6), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (33) {
+ Store(2, Local2)
+ BankField(OPR0, BNK0, 2, AnyAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ Offset(3), , 7, f0a7, 33}
+ Store(Refof(f0a7), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (63) {
+ Store(3, Local2)
+ BankField(OPR0, BNK0, 3, QWordAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0a8, 63}
+ Store(Refof(f0a8), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (64) {
+ Store(4, Local2)
+ BankField(OPR0, BNK0, 4, ByteAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ Offset(3), , 7, f0a9, 64}
+ Store(Refof(f0a9), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (65) {
+ Store(5, Local2)
+ BankField(OPR0, BNK0, 5, QWordAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0aa, 65}
+ Store(Refof(f0aa), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (69) {
+ Store(6, Local2)
+ BankField(OPR0, BNK0, 6, WordAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ Offset(3), , 7, f0ab, 69}
+ Store(Refof(f0ab), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (129) {
+ Store(7, Local2)
+ BankField(OPR0, BNK0, 7, QWordAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0ac, 129}
+ Store(Refof(f0ac), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (256) {
+ Store(8, Local2)
+ BankField(OPR0, BNK0, 8, DWordAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ Offset(3), , 7, f0ad, 256}
+ Store(Refof(f0ad), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (1023) {
+ Store(9, Local2)
+ BankField(OPR0, BNK0, 9, QWordAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0ae, 1023}
+ Store(Refof(f0ae), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (1983) {
+ Store(63, Local2)
+ BankField(OPR0, BNK0, 63, QWordAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ Offset(3), , 7, f0af, 1983}
+ Store(Refof(f0af), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ default {
+ err(arg0, z145, 71, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (32) {
+ switch(arg3) {
+ case (1) {
+ Store(64, Local2)
+ BankField(OPR0, BNK0, 64, AnyAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 32, f0b0, 1}
+ Store(Refof(f0b0), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (6) {
+ Store(127, Local2)
+ BankField(OPR0, BNK0, 127, QWordAcc, NoLock, Preserve) {
+ , 32, f0b1, 6}
+ Store(Refof(f0b1), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (7) {
+ Store(128, Local2)
+ BankField(OPR0, BNK0, 128, ByteAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 32, f0b2, 7}
+ Store(Refof(f0b2), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (8) {
+ Store(255, Local2)
+ BankField(OPR0, BNK0, 255, QWordAcc, NoLock, Preserve) {
+ , 32, f0b3, 8}
+ Store(Refof(f0b3), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (9) {
+ Store(0, Local2)
+ BankField(OPR0, BNK0, 0, WordAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 32, f0b4, 9}
+ Store(Refof(f0b4), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (31) {
+ Store(1, Local2)
+ BankField(OPR0, BNK0, 1, QWordAcc, NoLock, Preserve) {
+ , 32, f0b5, 31}
+ Store(Refof(f0b5), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (32) {
+ Store(2, Local2)
+ BankField(OPR0, BNK0, 2, DWordAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 32, f0b6, 32}
+ Store(Refof(f0b6), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (33) {
+ Store(3, Local2)
+ BankField(OPR0, BNK0, 3, QWordAcc, NoLock, Preserve) {
+ , 32, f0b7, 33}
+ Store(Refof(f0b7), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (63) {
+ Store(4, Local2)
+ BankField(OPR0, BNK0, 4, QWordAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 32, f0b8, 63}
+ Store(Refof(f0b8), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (64) {
+ Store(5, Local2)
+ BankField(OPR0, BNK0, 5, QWordAcc, NoLock, Preserve) {
+ , 32, f0b9, 64}
+ Store(Refof(f0b9), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (65) {
+ Store(6, Local2)
+ BankField(OPR0, BNK0, 6, AnyAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 32, f0ba, 65}
+ Store(Refof(f0ba), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (69) {
+ Store(7, Local2)
+ BankField(OPR0, BNK0, 7, QWordAcc, NoLock, Preserve) {
+ , 32, f0bb, 69}
+ Store(Refof(f0bb), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (129) {
+ Store(8, Local2)
+ BankField(OPR0, BNK0, 8, ByteAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 32, f0bc, 129}
+ Store(Refof(f0bc), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (256) {
+ Store(9, Local2)
+ BankField(OPR0, BNK0, 9, QWordAcc, NoLock, Preserve) {
+ , 32, f0bd, 256}
+ Store(Refof(f0bd), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (1023) {
+ Store(63, Local2)
+ BankField(OPR0, BNK0, 63, WordAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 32, f0be, 1023}
+ Store(Refof(f0be), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (1983) {
+ Store(64, Local2)
+ BankField(OPR0, BNK0, 64, QWordAcc, NoLock, Preserve) {
+ , 32, f0bf, 1983}
+ Store(Refof(f0bf), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ default {
+ err(arg0, z145, 72, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (33) {
+ switch(arg3) {
+ case (1) {
+ Store(127, Local2)
+ BankField(OPR0, BNK0, 127, QWordAcc, NoLock, Preserve) {
+ , 33, f0c0, 1}
+ Store(Refof(f0c0), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (6) {
+ Store(128, Local2)
+ BankField(OPR0, BNK0, 128, DWordAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 33, f0c1, 6}
+ Store(Refof(f0c1), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (7) {
+ Store(255, Local2)
+ BankField(OPR0, BNK0, 255, QWordAcc, NoLock, Preserve) {
+ , 33, f0c2, 7}
+ Store(Refof(f0c2), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (8) {
+ Store(0, Local2)
+ BankField(OPR0, BNK0, 0, QWordAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 33, f0c3, 8}
+ Store(Refof(f0c3), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (9) {
+ Store(1, Local2)
+ BankField(OPR0, BNK0, 1, QWordAcc, NoLock, Preserve) {
+ , 33, f0c4, 9}
+ Store(Refof(f0c4), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (31) {
+ Store(2, Local2)
+ BankField(OPR0, BNK0, 2, AnyAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 33, f0c5, 31}
+ Store(Refof(f0c5), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (32) {
+ Store(3, Local2)
+ BankField(OPR0, BNK0, 3, QWordAcc, NoLock, Preserve) {
+ , 33, f0c6, 32}
+ Store(Refof(f0c6), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (33) {
+ Store(4, Local2)
+ BankField(OPR0, BNK0, 4, ByteAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 33, f0c7, 33}
+ Store(Refof(f0c7), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (63) {
+ Store(5, Local2)
+ BankField(OPR0, BNK0, 5, QWordAcc, NoLock, Preserve) {
+ , 33, f0c8, 63}
+ Store(Refof(f0c8), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (64) {
+ Store(6, Local2)
+ BankField(OPR0, BNK0, 6, WordAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 33, f0c9, 64}
+ Store(Refof(f0c9), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (65) {
+ Store(7, Local2)
+ BankField(OPR0, BNK0, 7, QWordAcc, NoLock, Preserve) {
+ , 33, f0ca, 65}
+ Store(Refof(f0ca), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (69) {
+ Store(8, Local2)
+ BankField(OPR0, BNK0, 8, DWordAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 33, f0cb, 69}
+ Store(Refof(f0cb), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (129) {
+ Store(9, Local2)
+ BankField(OPR0, BNK0, 9, QWordAcc, NoLock, Preserve) {
+ , 33, f0cc, 129}
+ Store(Refof(f0cc), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (256) {
+ Store(63, Local2)
+ BankField(OPR0, BNK0, 63, QWordAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 33, f0cd, 256}
+ Store(Refof(f0cd), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (1023) {
+ Store(64, Local2)
+ BankField(OPR0, BNK0, 64, QWordAcc, NoLock, Preserve) {
+ , 33, f0ce, 1023}
+ Store(Refof(f0ce), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (1983) {
+ Store(127, Local2)
+ BankField(OPR0, BNK0, 127, AnyAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 33, f0cf, 1983}
+ Store(Refof(f0cf), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ default {
+ err(arg0, z145, 73, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (63) {
+ switch(arg3) {
+ case (1) {
+ Store(128, Local2)
+ BankField(OPR0, BNK0, 128, QWordAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 63, f0d0, 1}
+ Store(Refof(f0d0), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (6) {
+ Store(255, Local2)
+ BankField(OPR0, BNK0, 255, ByteAcc, NoLock, Preserve) {
+ , 63, f0d1, 6}
+ Store(Refof(f0d1), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (7) {
+ Store(0, Local2)
+ BankField(OPR0, BNK0, 0, QWordAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 63, f0d2, 7}
+ Store(Refof(f0d2), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (8) {
+ Store(1, Local2)
+ BankField(OPR0, BNK0, 1, WordAcc, NoLock, Preserve) {
+ , 63, f0d3, 8}
+ Store(Refof(f0d3), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (9) {
+ Store(2, Local2)
+ BankField(OPR0, BNK0, 2, QWordAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 63, f0d4, 9}
+ Store(Refof(f0d4), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (31) {
+ Store(3, Local2)
+ BankField(OPR0, BNK0, 3, DWordAcc, NoLock, Preserve) {
+ , 63, f0d5, 31}
+ Store(Refof(f0d5), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (32) {
+ Store(4, Local2)
+ BankField(OPR0, BNK0, 4, QWordAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 63, f0d6, 32}
+ Store(Refof(f0d6), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (33) {
+ Store(5, Local2)
+ BankField(OPR0, BNK0, 5, QWordAcc, NoLock, Preserve) {
+ , 63, f0d7, 33}
+ Store(Refof(f0d7), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (63) {
+ Store(6, Local2)
+ BankField(OPR0, BNK0, 6, AnyAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 63, f0d8, 63}
+ Store(Refof(f0d8), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (64) {
+ Store(7, Local2)
+ BankField(OPR0, BNK0, 7, QWordAcc, NoLock, Preserve) {
+ , 63, f0d9, 64}
+ Store(Refof(f0d9), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (65) {
+ Store(8, Local2)
+ BankField(OPR0, BNK0, 8, ByteAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 63, f0da, 65}
+ Store(Refof(f0da), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (69) {
+ Store(9, Local2)
+ BankField(OPR0, BNK0, 9, QWordAcc, NoLock, Preserve) {
+ , 63, f0db, 69}
+ Store(Refof(f0db), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (129) {
+ Store(63, Local2)
+ BankField(OPR0, BNK0, 63, WordAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 63, f0dc, 129}
+ Store(Refof(f0dc), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (256) {
+ Store(64, Local2)
+ BankField(OPR0, BNK0, 64, QWordAcc, NoLock, Preserve) {
+ , 63, f0dd, 256}
+ Store(Refof(f0dd), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (1023) {
+ Store(127, Local2)
+ BankField(OPR0, BNK0, 127, DWordAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 63, f0de, 1023}
+ Store(Refof(f0de), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (1983) {
+ Store(128, Local2)
+ BankField(OPR0, BNK0, 128, QWordAcc, NoLock, Preserve) {
+ , 63, f0df, 1983}
+ Store(Refof(f0df), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ default {
+ err(arg0, z145, 74, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (64) {
+ switch(arg3) {
+ case (1) {
+ Store(255, Local2)
+ BankField(OPR0, BNK0, 255, QWordAcc, NoLock, Preserve) {
+ , 64, f0e0, 1}
+ Store(Refof(f0e0), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (6) {
+ Store(0, Local2)
+ BankField(OPR0, BNK0, 0, QWordAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 64, f0e1, 6}
+ Store(Refof(f0e1), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (7) {
+ Store(1, Local2)
+ BankField(OPR0, BNK0, 1, QWordAcc, NoLock, Preserve) {
+ , 64, f0e2, 7}
+ Store(Refof(f0e2), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (8) {
+ Store(2, Local2)
+ BankField(OPR0, BNK0, 2, AnyAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 64, f0e3, 8}
+ Store(Refof(f0e3), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (9) {
+ Store(3, Local2)
+ BankField(OPR0, BNK0, 3, QWordAcc, NoLock, Preserve) {
+ , 64, f0e4, 9}
+ Store(Refof(f0e4), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (31) {
+ Store(4, Local2)
+ BankField(OPR0, BNK0, 4, ByteAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 64, f0e5, 31}
+ Store(Refof(f0e5), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (32) {
+ Store(5, Local2)
+ BankField(OPR0, BNK0, 5, QWordAcc, NoLock, Preserve) {
+ , 64, f0e6, 32}
+ Store(Refof(f0e6), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (33) {
+ Store(6, Local2)
+ BankField(OPR0, BNK0, 6, WordAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 64, f0e7, 33}
+ Store(Refof(f0e7), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (63) {
+ Store(7, Local2)
+ BankField(OPR0, BNK0, 7, QWordAcc, NoLock, Preserve) {
+ , 64, f0e8, 63}
+ Store(Refof(f0e8), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (64) {
+ Store(8, Local2)
+ BankField(OPR0, BNK0, 8, DWordAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 64, f0e9, 64}
+ Store(Refof(f0e9), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (65) {
+ Store(9, Local2)
+ BankField(OPR0, BNK0, 9, QWordAcc, NoLock, Preserve) {
+ , 64, f0ea, 65}
+ Store(Refof(f0ea), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (69) {
+ Store(63, Local2)
+ BankField(OPR0, BNK0, 63, QWordAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 64, f0eb, 69}
+ Store(Refof(f0eb), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (129) {
+ Store(64, Local2)
+ BankField(OPR0, BNK0, 64, QWordAcc, NoLock, Preserve) {
+ , 64, f0ec, 129}
+ Store(Refof(f0ec), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (256) {
+ Store(127, Local2)
+ BankField(OPR0, BNK0, 127, AnyAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 64, f0ed, 256}
+ Store(Refof(f0ed), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (1023) {
+ Store(128, Local2)
+ BankField(OPR0, BNK0, 128, QWordAcc, NoLock, Preserve) {
+ , 64, f0ee, 1023}
+ Store(Refof(f0ee), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (1983) {
+ Store(255, Local2)
+ BankField(OPR0, BNK0, 255, ByteAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ , 64, f0ef, 1983}
+ Store(Refof(f0ef), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ default {
+ err(arg0, z145, 75, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (65) {
+ switch(arg3) {
+ case (1) {
+ Store(0, Local2)
+ BankField(OPR0, BNK0, 0, WordAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ Offset(8), , 1, f0f0, 1}
+ Store(Refof(f0f0), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (6) {
+ Store(1, Local2)
+ BankField(OPR0, BNK0, 1, QWordAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0f1, 6}
+ Store(Refof(f0f1), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (7) {
+ Store(2, Local2)
+ BankField(OPR0, BNK0, 2, DWordAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ Offset(8), , 1, f0f2, 7}
+ Store(Refof(f0f2), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (8) {
+ Store(3, Local2)
+ BankField(OPR0, BNK0, 3, QWordAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0f3, 8}
+ Store(Refof(f0f3), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (9) {
+ Store(4, Local2)
+ BankField(OPR0, BNK0, 4, QWordAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ Offset(8), , 1, f0f4, 9}
+ Store(Refof(f0f4), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (31) {
+ Store(5, Local2)
+ BankField(OPR0, BNK0, 5, QWordAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0f5, 31}
+ Store(Refof(f0f5), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (32) {
+ Store(6, Local2)
+ BankField(OPR0, BNK0, 6, AnyAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ Offset(8), , 1, f0f6, 32}
+ Store(Refof(f0f6), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (33) {
+ Store(7, Local2)
+ BankField(OPR0, BNK0, 7, QWordAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0f7, 33}
+ Store(Refof(f0f7), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (63) {
+ Store(8, Local2)
+ BankField(OPR0, BNK0, 8, ByteAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ Offset(8), , 1, f0f8, 63}
+ Store(Refof(f0f8), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (64) {
+ Store(9, Local2)
+ BankField(OPR0, BNK0, 9, QWordAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0f9, 64}
+ Store(Refof(f0f9), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (65) {
+ Store(63, Local2)
+ BankField(OPR0, BNK0, 63, WordAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ Offset(8), , 1, f0fa, 65}
+ Store(Refof(f0fa), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (69) {
+ Store(64, Local2)
+ BankField(OPR0, BNK0, 64, QWordAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0fb, 69}
+ Store(Refof(f0fb), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (129) {
+ Store(127, Local2)
+ BankField(OPR0, BNK0, 127, DWordAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ Offset(8), , 1, f0fc, 129}
+ Store(Refof(f0fc), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (256) {
+ Store(128, Local2)
+ BankField(OPR0, BNK0, 128, QWordAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0fd, 256}
+ Store(Refof(f0fd), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (1023) {
+ Store(255, Local2)
+ BankField(OPR0, BNK0, 255, QWordAcc, NoLock, Preserve) {
+ AccessAs(QWordAcc),
+ Offset(8), , 1, f0fe, 1023}
+ Store(Refof(f0fe), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (1983) {
+ Store(0, Local2)
+ BankField(OPR0, BNK0, 0, QWordAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0ff, 1983}
+ Store(Refof(f0ff), Local3)
+ Store(Refof(g000), Local4)
+ }
+ default {
+ err(arg0, z145, 76, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ default {
+ err(arg0, z145, 77, 0, 0, arg2, arg3)
+ return}
+ }
+
+ Store(2, Index(fcp0, 0))
+ Store(Refof(BNK0), Index(fcp0, 1))
+ Store(Local2, Index(fcp0, 2))
+ m72d(arg0, Local3, arg2, arg3, arg4, arg5, Local4)
+ Store(0, Index(fcp0, 0))
+}
+
+// Create BankField Unit
+// (AnyAcc, Lock, Preserve)
+Method(m7d4, 6)
+{
+ OperationRegion(OPRb, SystemIO, 0, 9)
+ OperationRegion(OPR0, SystemIO, 11, 256)
+
+ Field(OPRb, ByteAcc, NoLock, Preserve) {
+ BNK0, 8,
+ }
+ BankField(OPR0, BNK0, 0, ByteAcc, NoLock, Preserve) {
+ g000, 2048,
+ }
+ BankField(OPR0, BNK0, 1, ByteAcc, NoLock, Preserve) {
+ g001, 2048,
+ }
+ BankField(OPR0, BNK0, 2, ByteAcc, NoLock, Preserve) {
+ g002, 2048,
+ }
+ BankField(OPR0, BNK0, 3, ByteAcc, NoLock, Preserve) {
+ g003, 2048,
+ }
+ BankField(OPR0, BNK0, 4, ByteAcc, NoLock, Preserve) {
+ g004, 2048,
+ }
+ BankField(OPR0, BNK0, 5, ByteAcc, NoLock, Preserve) {
+ g005, 2048,
+ }
+ BankField(OPR0, BNK0, 6, ByteAcc, NoLock, Preserve) {
+ g006, 2048,
+ }
+ BankField(OPR0, BNK0, 7, ByteAcc, NoLock, Preserve) {
+ g007, 2048,
+ }
+ BankField(OPR0, BNK0, 8, ByteAcc, NoLock, Preserve) {
+ g008, 2048,
+ }
+ BankField(OPR0, BNK0, 9, ByteAcc, NoLock, Preserve) {
+ g009, 2048,
+ }
+ BankField(OPR0, BNK0, 63, ByteAcc, NoLock, Preserve) {
+ g00a, 2048,
+ }
+ BankField(OPR0, BNK0, 64, ByteAcc, NoLock, Preserve) {
+ g00b, 2048,
+ }
+ BankField(OPR0, BNK0, 127, ByteAcc, NoLock, Preserve) {
+ g00c, 2048,
+ }
+ BankField(OPR0, BNK0, 128, ByteAcc, NoLock, Preserve) {
+ g00d, 2048,
+ }
+ BankField(OPR0, BNK0, 255, ByteAcc, NoLock, Preserve) {
+ g00e, 2048,
+ }
+
+
+ Concatenate(arg0, "-m7d4", arg0)
+
+ switch(arg2) {
+ case (0) {
+ switch(arg3) {
+ case (1) {
+ Store(0, Local2)
+ BankField(OPR0, BNK0, 0, AnyAcc, Lock, Preserve) {
+ , 0, f000, 1}
+ Store(Refof(f000), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (6) {
+ Store(1, Local2)
+ BankField(OPR0, BNK0, 1, WordAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 0, f001, 6}
+ Store(Refof(f001), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (7) {
+ Store(2, Local2)
+ BankField(OPR0, BNK0, 2, AnyAcc, Lock, Preserve) {
+ , 0, f002, 7}
+ Store(Refof(f002), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (8) {
+ Store(3, Local2)
+ BankField(OPR0, BNK0, 3, DWordAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 0, f003, 8}
+ Store(Refof(f003), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (9) {
+ Store(4, Local2)
+ BankField(OPR0, BNK0, 4, AnyAcc, Lock, Preserve) {
+ , 0, f004, 9}
+ Store(Refof(f004), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (31) {
+ Store(5, Local2)
+ BankField(OPR0, BNK0, 5, QWordAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 0, f005, 31}
+ Store(Refof(f005), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (32) {
+ Store(6, Local2)
+ BankField(OPR0, BNK0, 6, AnyAcc, Lock, Preserve) {
+ , 0, f006, 32}
+ Store(Refof(f006), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (33) {
+ Store(7, Local2)
+ BankField(OPR0, BNK0, 7, AnyAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 0, f007, 33}
+ Store(Refof(f007), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (63) {
+ Store(8, Local2)
+ BankField(OPR0, BNK0, 8, AnyAcc, Lock, Preserve) {
+ , 0, f008, 63}
+ Store(Refof(f008), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (64) {
+ Store(9, Local2)
+ BankField(OPR0, BNK0, 9, ByteAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 0, f009, 64}
+ Store(Refof(f009), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (65) {
+ Store(63, Local2)
+ BankField(OPR0, BNK0, 63, AnyAcc, Lock, Preserve) {
+ , 0, f00a, 65}
+ Store(Refof(f00a), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (69) {
+ Store(64, Local2)
+ BankField(OPR0, BNK0, 64, WordAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 0, f00b, 69}
+ Store(Refof(f00b), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (129) {
+ Store(127, Local2)
+ BankField(OPR0, BNK0, 127, AnyAcc, Lock, Preserve) {
+ , 0, f00c, 129}
+ Store(Refof(f00c), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (256) {
+ Store(128, Local2)
+ BankField(OPR0, BNK0, 128, DWordAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 0, f00d, 256}
+ Store(Refof(f00d), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (1023) {
+ Store(255, Local2)
+ BankField(OPR0, BNK0, 255, AnyAcc, Lock, Preserve) {
+ , 0, f00e, 1023}
+ Store(Refof(f00e), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (1983) {
+ Store(0, Local2)
+ BankField(OPR0, BNK0, 0, QWordAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 0, f00f, 1983}
+ Store(Refof(f00f), Local3)
+ Store(Refof(g000), Local4)
+ }
+ default {
+ err(arg0, z145, 78, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (1) {
+ switch(arg3) {
+ case (1) {
+ Store(1, Local2)
+ BankField(OPR0, BNK0, 1, AnyAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 1, f010, 1}
+ Store(Refof(f010), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (6) {
+ Store(2, Local2)
+ BankField(OPR0, BNK0, 2, AnyAcc, Lock, Preserve) {
+ , 1, f011, 6}
+ Store(Refof(f011), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (7) {
+ Store(3, Local2)
+ BankField(OPR0, BNK0, 3, AnyAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 1, f012, 7}
+ Store(Refof(f012), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (8) {
+ Store(4, Local2)
+ BankField(OPR0, BNK0, 4, ByteAcc, Lock, Preserve) {
+ , 1, f013, 8}
+ Store(Refof(f013), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (9) {
+ Store(5, Local2)
+ BankField(OPR0, BNK0, 5, WordAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 1, f014, 9}
+ Store(Refof(f014), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (31) {
+ Store(6, Local2)
+ BankField(OPR0, BNK0, 6, AnyAcc, Lock, Preserve) {
+ , 1, f015, 31}
+ Store(Refof(f015), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (32) {
+ Store(7, Local2)
+ BankField(OPR0, BNK0, 7, DWordAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 1, f016, 32}
+ Store(Refof(f016), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (33) {
+ Store(8, Local2)
+ BankField(OPR0, BNK0, 8, AnyAcc, Lock, Preserve) {
+ , 1, f017, 33}
+ Store(Refof(f017), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (63) {
+ Store(9, Local2)
+ BankField(OPR0, BNK0, 9, QWordAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 1, f018, 63}
+ Store(Refof(f018), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (64) {
+ Store(63, Local2)
+ BankField(OPR0, BNK0, 63, AnyAcc, Lock, Preserve) {
+ , 1, f019, 64}
+ Store(Refof(f019), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (65) {
+ Store(64, Local2)
+ BankField(OPR0, BNK0, 64, AnyAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 1, f01a, 65}
+ Store(Refof(f01a), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (69) {
+ Store(127, Local2)
+ BankField(OPR0, BNK0, 127, AnyAcc, Lock, Preserve) {
+ , 1, f01b, 69}
+ Store(Refof(f01b), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (129) {
+ Store(128, Local2)
+ BankField(OPR0, BNK0, 128, ByteAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 1, f01c, 129}
+ Store(Refof(f01c), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (256) {
+ Store(255, Local2)
+ BankField(OPR0, BNK0, 255, AnyAcc, Lock, Preserve) {
+ , 1, f01d, 256}
+ Store(Refof(f01d), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (1023) {
+ Store(0, Local2)
+ BankField(OPR0, BNK0, 0, WordAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 1, f01e, 1023}
+ Store(Refof(f01e), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (1983) {
+ Store(1, Local2)
+ BankField(OPR0, BNK0, 1, AnyAcc, Lock, Preserve) {
+ , 1, f01f, 1983}
+ Store(Refof(f01f), Local3)
+ Store(Refof(g001), Local4)
+ }
+ default {
+ err(arg0, z145, 79, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (2) {
+ switch(arg3) {
+ case (1) {
+ Store(2, Local2)
+ BankField(OPR0, BNK0, 2, AnyAcc, Lock, Preserve) {
+ , 2, f020, 1}
+ Store(Refof(f020), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (6) {
+ Store(3, Local2)
+ BankField(OPR0, BNK0, 3, DWordAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 2, f021, 6}
+ Store(Refof(f021), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (7) {
+ Store(4, Local2)
+ BankField(OPR0, BNK0, 4, AnyAcc, Lock, Preserve) {
+ , 2, f022, 7}
+ Store(Refof(f022), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (8) {
+ Store(5, Local2)
+ BankField(OPR0, BNK0, 5, QWordAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 2, f023, 8}
+ Store(Refof(f023), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (9) {
+ Store(6, Local2)
+ BankField(OPR0, BNK0, 6, AnyAcc, Lock, Preserve) {
+ , 2, f024, 9}
+ Store(Refof(f024), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (31) {
+ Store(7, Local2)
+ BankField(OPR0, BNK0, 7, AnyAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 2, f025, 31}
+ Store(Refof(f025), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (32) {
+ Store(8, Local2)
+ BankField(OPR0, BNK0, 8, AnyAcc, Lock, Preserve) {
+ , 2, f026, 32}
+ Store(Refof(f026), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (33) {
+ Store(9, Local2)
+ BankField(OPR0, BNK0, 9, ByteAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 2, f027, 33}
+ Store(Refof(f027), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (63) {
+ Store(63, Local2)
+ BankField(OPR0, BNK0, 63, AnyAcc, Lock, Preserve) {
+ , 2, f028, 63}
+ Store(Refof(f028), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (64) {
+ Store(64, Local2)
+ BankField(OPR0, BNK0, 64, WordAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 2, f029, 64}
+ Store(Refof(f029), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (65) {
+ Store(127, Local2)
+ BankField(OPR0, BNK0, 127, AnyAcc, Lock, Preserve) {
+ , 2, f02a, 65}
+ Store(Refof(f02a), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (69) {
+ Store(128, Local2)
+ BankField(OPR0, BNK0, 128, DWordAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 2, f02b, 69}
+ Store(Refof(f02b), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (129) {
+ Store(255, Local2)
+ BankField(OPR0, BNK0, 255, AnyAcc, Lock, Preserve) {
+ , 2, f02c, 129}
+ Store(Refof(f02c), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (256) {
+ Store(0, Local2)
+ BankField(OPR0, BNK0, 0, QWordAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 2, f02d, 256}
+ Store(Refof(f02d), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (1023) {
+ Store(1, Local2)
+ BankField(OPR0, BNK0, 1, AnyAcc, Lock, Preserve) {
+ , 2, f02e, 1023}
+ Store(Refof(f02e), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (1983) {
+ Store(2, Local2)
+ BankField(OPR0, BNK0, 2, AnyAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 2, f02f, 1983}
+ Store(Refof(f02f), Local3)
+ Store(Refof(g002), Local4)
+ }
+ default {
+ err(arg0, z145, 80, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (3) {
+ switch(arg3) {
+ case (1) {
+ Store(3, Local2)
+ BankField(OPR0, BNK0, 3, ByteAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 3, f030, 1}
+ Store(Refof(f030), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (6) {
+ Store(4, Local2)
+ BankField(OPR0, BNK0, 4, AnyAcc, Lock, Preserve) {
+ , 3, f031, 6}
+ Store(Refof(f031), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (7) {
+ Store(5, Local2)
+ BankField(OPR0, BNK0, 5, WordAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 3, f032, 7}
+ Store(Refof(f032), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (8) {
+ Store(6, Local2)
+ BankField(OPR0, BNK0, 6, AnyAcc, Lock, Preserve) {
+ , 3, f033, 8}
+ Store(Refof(f033), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (9) {
+ Store(7, Local2)
+ BankField(OPR0, BNK0, 7, DWordAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 3, f034, 9}
+ Store(Refof(f034), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (31) {
+ Store(8, Local2)
+ BankField(OPR0, BNK0, 8, AnyAcc, Lock, Preserve) {
+ , 3, f035, 31}
+ Store(Refof(f035), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (32) {
+ Store(9, Local2)
+ BankField(OPR0, BNK0, 9, QWordAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 3, f036, 32}
+ Store(Refof(f036), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (33) {
+ Store(63, Local2)
+ BankField(OPR0, BNK0, 63, AnyAcc, Lock, Preserve) {
+ , 3, f037, 33}
+ Store(Refof(f037), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (63) {
+ Store(64, Local2)
+ BankField(OPR0, BNK0, 64, AnyAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 3, f038, 63}
+ Store(Refof(f038), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (64) {
+ Store(127, Local2)
+ BankField(OPR0, BNK0, 127, AnyAcc, Lock, Preserve) {
+ , 3, f039, 64}
+ Store(Refof(f039), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (65) {
+ Store(128, Local2)
+ BankField(OPR0, BNK0, 128, ByteAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 3, f03a, 65}
+ Store(Refof(f03a), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (69) {
+ Store(255, Local2)
+ BankField(OPR0, BNK0, 255, AnyAcc, Lock, Preserve) {
+ , 3, f03b, 69}
+ Store(Refof(f03b), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (129) {
+ Store(0, Local2)
+ BankField(OPR0, BNK0, 0, WordAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 3, f03c, 129}
+ Store(Refof(f03c), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (256) {
+ Store(1, Local2)
+ BankField(OPR0, BNK0, 1, AnyAcc, Lock, Preserve) {
+ , 3, f03d, 256}
+ Store(Refof(f03d), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (1023) {
+ Store(2, Local2)
+ BankField(OPR0, BNK0, 2, DWordAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 3, f03e, 1023}
+ Store(Refof(f03e), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (1983) {
+ Store(3, Local2)
+ BankField(OPR0, BNK0, 3, AnyAcc, Lock, Preserve) {
+ , 3, f03f, 1983}
+ Store(Refof(f03f), Local3)
+ Store(Refof(g003), Local4)
+ }
+ default {
+ err(arg0, z145, 81, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (4) {
+ switch(arg3) {
+ case (1) {
+ Store(4, Local2)
+ BankField(OPR0, BNK0, 4, AnyAcc, Lock, Preserve) {
+ , 4, f040, 1}
+ Store(Refof(f040), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (6) {
+ Store(5, Local2)
+ BankField(OPR0, BNK0, 5, QWordAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 4, f041, 6}
+ Store(Refof(f041), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (7) {
+ Store(6, Local2)
+ BankField(OPR0, BNK0, 6, AnyAcc, Lock, Preserve) {
+ , 4, f042, 7}
+ Store(Refof(f042), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (8) {
+ Store(7, Local2)
+ BankField(OPR0, BNK0, 7, AnyAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 4, f043, 8}
+ Store(Refof(f043), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (9) {
+ Store(8, Local2)
+ BankField(OPR0, BNK0, 8, AnyAcc, Lock, Preserve) {
+ , 4, f044, 9}
+ Store(Refof(f044), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (31) {
+ Store(9, Local2)
+ BankField(OPR0, BNK0, 9, ByteAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 4, f045, 31}
+ Store(Refof(f045), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (32) {
+ Store(63, Local2)
+ BankField(OPR0, BNK0, 63, AnyAcc, Lock, Preserve) {
+ , 4, f046, 32}
+ Store(Refof(f046), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (33) {
+ Store(64, Local2)
+ BankField(OPR0, BNK0, 64, WordAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 4, f047, 33}
+ Store(Refof(f047), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (63) {
+ Store(127, Local2)
+ BankField(OPR0, BNK0, 127, AnyAcc, Lock, Preserve) {
+ , 4, f048, 63}
+ Store(Refof(f048), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (64) {
+ Store(128, Local2)
+ BankField(OPR0, BNK0, 128, DWordAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 4, f049, 64}
+ Store(Refof(f049), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (65) {
+ Store(255, Local2)
+ BankField(OPR0, BNK0, 255, AnyAcc, Lock, Preserve) {
+ , 4, f04a, 65}
+ Store(Refof(f04a), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (69) {
+ Store(0, Local2)
+ BankField(OPR0, BNK0, 0, QWordAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 4, f04b, 69}
+ Store(Refof(f04b), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (129) {
+ Store(1, Local2)
+ BankField(OPR0, BNK0, 1, AnyAcc, Lock, Preserve) {
+ , 4, f04c, 129}
+ Store(Refof(f04c), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (256) {
+ Store(2, Local2)
+ BankField(OPR0, BNK0, 2, AnyAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 4, f04d, 256}
+ Store(Refof(f04d), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (1023) {
+ Store(3, Local2)
+ BankField(OPR0, BNK0, 3, AnyAcc, Lock, Preserve) {
+ , 4, f04e, 1023}
+ Store(Refof(f04e), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (1983) {
+ Store(4, Local2)
+ BankField(OPR0, BNK0, 4, ByteAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 4, f04f, 1983}
+ Store(Refof(f04f), Local3)
+ Store(Refof(g004), Local4)
+ }
+ default {
+ err(arg0, z145, 82, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (5) {
+ switch(arg3) {
+ case (1) {
+ Store(5, Local2)
+ BankField(OPR0, BNK0, 5, WordAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 5, f050, 1}
+ Store(Refof(f050), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (6) {
+ Store(6, Local2)
+ BankField(OPR0, BNK0, 6, AnyAcc, Lock, Preserve) {
+ , 5, f051, 6}
+ Store(Refof(f051), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (7) {
+ Store(7, Local2)
+ BankField(OPR0, BNK0, 7, DWordAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 5, f052, 7}
+ Store(Refof(f052), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (8) {
+ Store(8, Local2)
+ BankField(OPR0, BNK0, 8, AnyAcc, Lock, Preserve) {
+ , 5, f053, 8}
+ Store(Refof(f053), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (9) {
+ Store(9, Local2)
+ BankField(OPR0, BNK0, 9, QWordAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 5, f054, 9}
+ Store(Refof(f054), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (31) {
+ Store(63, Local2)
+ BankField(OPR0, BNK0, 63, AnyAcc, Lock, Preserve) {
+ , 5, f055, 31}
+ Store(Refof(f055), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (32) {
+ Store(64, Local2)
+ BankField(OPR0, BNK0, 64, AnyAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 5, f056, 32}
+ Store(Refof(f056), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (33) {
+ Store(127, Local2)
+ BankField(OPR0, BNK0, 127, AnyAcc, Lock, Preserve) {
+ , 5, f057, 33}
+ Store(Refof(f057), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (63) {
+ Store(128, Local2)
+ BankField(OPR0, BNK0, 128, ByteAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 5, f058, 63}
+ Store(Refof(f058), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (64) {
+ Store(255, Local2)
+ BankField(OPR0, BNK0, 255, AnyAcc, Lock, Preserve) {
+ , 5, f059, 64}
+ Store(Refof(f059), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (65) {
+ Store(0, Local2)
+ BankField(OPR0, BNK0, 0, WordAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 5, f05a, 65}
+ Store(Refof(f05a), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (69) {
+ Store(1, Local2)
+ BankField(OPR0, BNK0, 1, AnyAcc, Lock, Preserve) {
+ , 5, f05b, 69}
+ Store(Refof(f05b), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (129) {
+ Store(2, Local2)
+ BankField(OPR0, BNK0, 2, DWordAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 5, f05c, 129}
+ Store(Refof(f05c), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (256) {
+ Store(3, Local2)
+ BankField(OPR0, BNK0, 3, AnyAcc, Lock, Preserve) {
+ , 5, f05d, 256}
+ Store(Refof(f05d), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (1023) {
+ Store(4, Local2)
+ BankField(OPR0, BNK0, 4, QWordAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 5, f05e, 1023}
+ Store(Refof(f05e), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (1983) {
+ Store(5, Local2)
+ BankField(OPR0, BNK0, 5, AnyAcc, Lock, Preserve) {
+ , 5, f05f, 1983}
+ Store(Refof(f05f), Local3)
+ Store(Refof(g005), Local4)
+ }
+ default {
+ err(arg0, z145, 83, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (6) {
+ switch(arg3) {
+ case (1) {
+ Store(6, Local2)
+ BankField(OPR0, BNK0, 6, AnyAcc, Lock, Preserve) {
+ , 6, f060, 1}
+ Store(Refof(f060), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (6) {
+ Store(7, Local2)
+ BankField(OPR0, BNK0, 7, AnyAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 6, f061, 6}
+ Store(Refof(f061), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (7) {
+ Store(8, Local2)
+ BankField(OPR0, BNK0, 8, AnyAcc, Lock, Preserve) {
+ , 6, f062, 7}
+ Store(Refof(f062), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (8) {
+ Store(9, Local2)
+ BankField(OPR0, BNK0, 9, ByteAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 6, f063, 8}
+ Store(Refof(f063), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (9) {
+ Store(63, Local2)
+ BankField(OPR0, BNK0, 63, AnyAcc, Lock, Preserve) {
+ , 6, f064, 9}
+ Store(Refof(f064), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (31) {
+ Store(64, Local2)
+ BankField(OPR0, BNK0, 64, WordAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 6, f065, 31}
+ Store(Refof(f065), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (32) {
+ Store(127, Local2)
+ BankField(OPR0, BNK0, 127, AnyAcc, Lock, Preserve) {
+ , 6, f066, 32}
+ Store(Refof(f066), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (33) {
+ Store(128, Local2)
+ BankField(OPR0, BNK0, 128, DWordAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 6, f067, 33}
+ Store(Refof(f067), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (63) {
+ Store(255, Local2)
+ BankField(OPR0, BNK0, 255, AnyAcc, Lock, Preserve) {
+ , 6, f068, 63}
+ Store(Refof(f068), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (64) {
+ Store(0, Local2)
+ BankField(OPR0, BNK0, 0, QWordAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 6, f069, 64}
+ Store(Refof(f069), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (65) {
+ Store(1, Local2)
+ BankField(OPR0, BNK0, 1, AnyAcc, Lock, Preserve) {
+ , 6, f06a, 65}
+ Store(Refof(f06a), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (69) {
+ Store(2, Local2)
+ BankField(OPR0, BNK0, 2, AnyAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 6, f06b, 69}
+ Store(Refof(f06b), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (129) {
+ Store(3, Local2)
+ BankField(OPR0, BNK0, 3, AnyAcc, Lock, Preserve) {
+ , 6, f06c, 129}
+ Store(Refof(f06c), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (256) {
+ Store(4, Local2)
+ BankField(OPR0, BNK0, 4, ByteAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 6, f06d, 256}
+ Store(Refof(f06d), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (1023) {
+ Store(5, Local2)
+ BankField(OPR0, BNK0, 5, AnyAcc, Lock, Preserve) {
+ , 6, f06e, 1023}
+ Store(Refof(f06e), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (1983) {
+ Store(6, Local2)
+ BankField(OPR0, BNK0, 6, WordAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 6, f06f, 1983}
+ Store(Refof(f06f), Local3)
+ Store(Refof(g006), Local4)
+ }
+ default {
+ err(arg0, z145, 84, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (7) {
+ switch(arg3) {
+ case (1) {
+ Store(7, Local2)
+ BankField(OPR0, BNK0, 7, DWordAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 7, f070, 1}
+ Store(Refof(f070), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (6) {
+ Store(8, Local2)
+ BankField(OPR0, BNK0, 8, AnyAcc, Lock, Preserve) {
+ , 7, f071, 6}
+ Store(Refof(f071), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (7) {
+ Store(9, Local2)
+ BankField(OPR0, BNK0, 9, QWordAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 7, f072, 7}
+ Store(Refof(f072), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (8) {
+ Store(63, Local2)
+ BankField(OPR0, BNK0, 63, AnyAcc, Lock, Preserve) {
+ , 7, f073, 8}
+ Store(Refof(f073), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (9) {
+ Store(64, Local2)
+ BankField(OPR0, BNK0, 64, AnyAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 7, f074, 9}
+ Store(Refof(f074), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (31) {
+ Store(127, Local2)
+ BankField(OPR0, BNK0, 127, AnyAcc, Lock, Preserve) {
+ , 7, f075, 31}
+ Store(Refof(f075), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (32) {
+ Store(128, Local2)
+ BankField(OPR0, BNK0, 128, ByteAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 7, f076, 32}
+ Store(Refof(f076), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (33) {
+ Store(255, Local2)
+ BankField(OPR0, BNK0, 255, AnyAcc, Lock, Preserve) {
+ , 7, f077, 33}
+ Store(Refof(f077), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (63) {
+ Store(0, Local2)
+ BankField(OPR0, BNK0, 0, WordAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 7, f078, 63}
+ Store(Refof(f078), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (64) {
+ Store(1, Local2)
+ BankField(OPR0, BNK0, 1, AnyAcc, Lock, Preserve) {
+ , 7, f079, 64}
+ Store(Refof(f079), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (65) {
+ Store(2, Local2)
+ BankField(OPR0, BNK0, 2, DWordAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 7, f07a, 65}
+ Store(Refof(f07a), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (69) {
+ Store(3, Local2)
+ BankField(OPR0, BNK0, 3, AnyAcc, Lock, Preserve) {
+ , 7, f07b, 69}
+ Store(Refof(f07b), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (129) {
+ Store(4, Local2)
+ BankField(OPR0, BNK0, 4, QWordAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 7, f07c, 129}
+ Store(Refof(f07c), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (256) {
+ Store(5, Local2)
+ BankField(OPR0, BNK0, 5, AnyAcc, Lock, Preserve) {
+ , 7, f07d, 256}
+ Store(Refof(f07d), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (1023) {
+ Store(6, Local2)
+ BankField(OPR0, BNK0, 6, AnyAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 7, f07e, 1023}
+ Store(Refof(f07e), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (1983) {
+ Store(7, Local2)
+ BankField(OPR0, BNK0, 7, AnyAcc, Lock, Preserve) {
+ , 7, f07f, 1983}
+ Store(Refof(f07f), Local3)
+ Store(Refof(g007), Local4)
+ }
+ default {
+ err(arg0, z145, 85, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (8) {
+ switch(arg3) {
+ case (1) {
+ Store(8, Local2)
+ BankField(OPR0, BNK0, 8, AnyAcc, Lock, Preserve) {
+ Offset(1), f080, 1}
+ Store(Refof(f080), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (6) {
+ Store(9, Local2)
+ BankField(OPR0, BNK0, 9, ByteAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ Offset(1), f081, 6}
+ Store(Refof(f081), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (7) {
+ Store(63, Local2)
+ BankField(OPR0, BNK0, 63, AnyAcc, Lock, Preserve) {
+ Offset(1), f082, 7}
+ Store(Refof(f082), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (8) {
+ Store(64, Local2)
+ BankField(OPR0, BNK0, 64, WordAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ Offset(1), f083, 8}
+ Store(Refof(f083), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (9) {
+ Store(127, Local2)
+ BankField(OPR0, BNK0, 127, AnyAcc, Lock, Preserve) {
+ Offset(1), f084, 9}
+ Store(Refof(f084), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (31) {
+ Store(128, Local2)
+ BankField(OPR0, BNK0, 128, DWordAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ Offset(1), f085, 31}
+ Store(Refof(f085), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (32) {
+ Store(255, Local2)
+ BankField(OPR0, BNK0, 255, AnyAcc, Lock, Preserve) {
+ Offset(1), f086, 32}
+ Store(Refof(f086), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (33) {
+ Store(0, Local2)
+ BankField(OPR0, BNK0, 0, QWordAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ Offset(1), f087, 33}
+ Store(Refof(f087), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (63) {
+ Store(1, Local2)
+ BankField(OPR0, BNK0, 1, AnyAcc, Lock, Preserve) {
+ Offset(1), f088, 63}
+ Store(Refof(f088), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (64) {
+ Store(2, Local2)
+ BankField(OPR0, BNK0, 2, AnyAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ Offset(1), f089, 64}
+ Store(Refof(f089), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (65) {
+ Store(3, Local2)
+ BankField(OPR0, BNK0, 3, AnyAcc, Lock, Preserve) {
+ Offset(1), f08a, 65}
+ Store(Refof(f08a), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (69) {
+ Store(4, Local2)
+ BankField(OPR0, BNK0, 4, ByteAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ Offset(1), f08b, 69}
+ Store(Refof(f08b), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (129) {
+ Store(5, Local2)
+ BankField(OPR0, BNK0, 5, AnyAcc, Lock, Preserve) {
+ Offset(1), f08c, 129}
+ Store(Refof(f08c), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (256) {
+ Store(6, Local2)
+ BankField(OPR0, BNK0, 6, WordAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ Offset(1), f08d, 256}
+ Store(Refof(f08d), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (1023) {
+ Store(7, Local2)
+ BankField(OPR0, BNK0, 7, AnyAcc, Lock, Preserve) {
+ Offset(1), f08e, 1023}
+ Store(Refof(f08e), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (1983) {
+ Store(8, Local2)
+ BankField(OPR0, BNK0, 8, DWordAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ Offset(1), f08f, 1983}
+ Store(Refof(f08f), Local3)
+ Store(Refof(g008), Local4)
+ }
+ default {
+ err(arg0, z145, 86, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (9) {
+ switch(arg3) {
+ case (1) {
+ Store(9, Local2)
+ BankField(OPR0, BNK0, 9, QWordAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 9, f090, 1}
+ Store(Refof(f090), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (6) {
+ Store(63, Local2)
+ BankField(OPR0, BNK0, 63, AnyAcc, Lock, Preserve) {
+ , 9, f091, 6}
+ Store(Refof(f091), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (7) {
+ Store(64, Local2)
+ BankField(OPR0, BNK0, 64, AnyAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 9, f092, 7}
+ Store(Refof(f092), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (8) {
+ Store(127, Local2)
+ BankField(OPR0, BNK0, 127, AnyAcc, Lock, Preserve) {
+ , 9, f093, 8}
+ Store(Refof(f093), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (9) {
+ Store(128, Local2)
+ BankField(OPR0, BNK0, 128, ByteAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 9, f094, 9}
+ Store(Refof(f094), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (31) {
+ Store(255, Local2)
+ BankField(OPR0, BNK0, 255, AnyAcc, Lock, Preserve) {
+ , 9, f095, 31}
+ Store(Refof(f095), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (32) {
+ Store(0, Local2)
+ BankField(OPR0, BNK0, 0, WordAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 9, f096, 32}
+ Store(Refof(f096), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (33) {
+ Store(1, Local2)
+ BankField(OPR0, BNK0, 1, AnyAcc, Lock, Preserve) {
+ , 9, f097, 33}
+ Store(Refof(f097), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (63) {
+ Store(2, Local2)
+ BankField(OPR0, BNK0, 2, DWordAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 9, f098, 63}
+ Store(Refof(f098), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (64) {
+ Store(3, Local2)
+ BankField(OPR0, BNK0, 3, AnyAcc, Lock, Preserve) {
+ , 9, f099, 64}
+ Store(Refof(f099), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (65) {
+ Store(4, Local2)
+ BankField(OPR0, BNK0, 4, QWordAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 9, f09a, 65}
+ Store(Refof(f09a), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (69) {
+ Store(5, Local2)
+ BankField(OPR0, BNK0, 5, AnyAcc, Lock, Preserve) {
+ , 9, f09b, 69}
+ Store(Refof(f09b), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (129) {
+ Store(6, Local2)
+ BankField(OPR0, BNK0, 6, AnyAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 9, f09c, 129}
+ Store(Refof(f09c), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (256) {
+ Store(7, Local2)
+ BankField(OPR0, BNK0, 7, AnyAcc, Lock, Preserve) {
+ , 9, f09d, 256}
+ Store(Refof(f09d), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (1023) {
+ Store(8, Local2)
+ BankField(OPR0, BNK0, 8, ByteAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 9, f09e, 1023}
+ Store(Refof(f09e), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (1983) {
+ Store(9, Local2)
+ BankField(OPR0, BNK0, 9, AnyAcc, Lock, Preserve) {
+ , 9, f09f, 1983}
+ Store(Refof(f09f), Local3)
+ Store(Refof(g009), Local4)
+ }
+ default {
+ err(arg0, z145, 87, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (31) {
+ switch(arg3) {
+ case (1) {
+ Store(63, Local2)
+ BankField(OPR0, BNK0, 63, AnyAcc, Lock, Preserve) {
+ Offset(3), , 7, f0a0, 1}
+ Store(Refof(f0a0), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (6) {
+ Store(64, Local2)
+ BankField(OPR0, BNK0, 64, WordAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ Offset(3), , 7, f0a1, 6}
+ Store(Refof(f0a1), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (7) {
+ Store(127, Local2)
+ BankField(OPR0, BNK0, 127, AnyAcc, Lock, Preserve) {
+ Offset(3), , 7, f0a2, 7}
+ Store(Refof(f0a2), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (8) {
+ Store(128, Local2)
+ BankField(OPR0, BNK0, 128, DWordAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ Offset(3), , 7, f0a3, 8}
+ Store(Refof(f0a3), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (9) {
+ Store(255, Local2)
+ BankField(OPR0, BNK0, 255, AnyAcc, Lock, Preserve) {
+ Offset(3), , 7, f0a4, 9}
+ Store(Refof(f0a4), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (31) {
+ Store(0, Local2)
+ BankField(OPR0, BNK0, 0, QWordAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ Offset(3), , 7, f0a5, 31}
+ Store(Refof(f0a5), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (32) {
+ Store(1, Local2)
+ BankField(OPR0, BNK0, 1, AnyAcc, Lock, Preserve) {
+ Offset(3), , 7, f0a6, 32}
+ Store(Refof(f0a6), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (33) {
+ Store(2, Local2)
+ BankField(OPR0, BNK0, 2, AnyAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ Offset(3), , 7, f0a7, 33}
+ Store(Refof(f0a7), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (63) {
+ Store(3, Local2)
+ BankField(OPR0, BNK0, 3, AnyAcc, Lock, Preserve) {
+ Offset(3), , 7, f0a8, 63}
+ Store(Refof(f0a8), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (64) {
+ Store(4, Local2)
+ BankField(OPR0, BNK0, 4, ByteAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ Offset(3), , 7, f0a9, 64}
+ Store(Refof(f0a9), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (65) {
+ Store(5, Local2)
+ BankField(OPR0, BNK0, 5, AnyAcc, Lock, Preserve) {
+ Offset(3), , 7, f0aa, 65}
+ Store(Refof(f0aa), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (69) {
+ Store(6, Local2)
+ BankField(OPR0, BNK0, 6, WordAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ Offset(3), , 7, f0ab, 69}
+ Store(Refof(f0ab), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (129) {
+ Store(7, Local2)
+ BankField(OPR0, BNK0, 7, AnyAcc, Lock, Preserve) {
+ Offset(3), , 7, f0ac, 129}
+ Store(Refof(f0ac), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (256) {
+ Store(8, Local2)
+ BankField(OPR0, BNK0, 8, DWordAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ Offset(3), , 7, f0ad, 256}
+ Store(Refof(f0ad), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (1023) {
+ Store(9, Local2)
+ BankField(OPR0, BNK0, 9, AnyAcc, Lock, Preserve) {
+ Offset(3), , 7, f0ae, 1023}
+ Store(Refof(f0ae), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (1983) {
+ Store(63, Local2)
+ BankField(OPR0, BNK0, 63, QWordAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ Offset(3), , 7, f0af, 1983}
+ Store(Refof(f0af), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ default {
+ err(arg0, z145, 88, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (32) {
+ switch(arg3) {
+ case (1) {
+ Store(64, Local2)
+ BankField(OPR0, BNK0, 64, AnyAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 32, f0b0, 1}
+ Store(Refof(f0b0), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (6) {
+ Store(127, Local2)
+ BankField(OPR0, BNK0, 127, AnyAcc, Lock, Preserve) {
+ , 32, f0b1, 6}
+ Store(Refof(f0b1), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (7) {
+ Store(128, Local2)
+ BankField(OPR0, BNK0, 128, ByteAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 32, f0b2, 7}
+ Store(Refof(f0b2), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (8) {
+ Store(255, Local2)
+ BankField(OPR0, BNK0, 255, AnyAcc, Lock, Preserve) {
+ , 32, f0b3, 8}
+ Store(Refof(f0b3), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (9) {
+ Store(0, Local2)
+ BankField(OPR0, BNK0, 0, WordAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 32, f0b4, 9}
+ Store(Refof(f0b4), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (31) {
+ Store(1, Local2)
+ BankField(OPR0, BNK0, 1, AnyAcc, Lock, Preserve) {
+ , 32, f0b5, 31}
+ Store(Refof(f0b5), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (32) {
+ Store(2, Local2)
+ BankField(OPR0, BNK0, 2, DWordAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 32, f0b6, 32}
+ Store(Refof(f0b6), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (33) {
+ Store(3, Local2)
+ BankField(OPR0, BNK0, 3, AnyAcc, Lock, Preserve) {
+ , 32, f0b7, 33}
+ Store(Refof(f0b7), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (63) {
+ Store(4, Local2)
+ BankField(OPR0, BNK0, 4, QWordAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 32, f0b8, 63}
+ Store(Refof(f0b8), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (64) {
+ Store(5, Local2)
+ BankField(OPR0, BNK0, 5, AnyAcc, Lock, Preserve) {
+ , 32, f0b9, 64}
+ Store(Refof(f0b9), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (65) {
+ Store(6, Local2)
+ BankField(OPR0, BNK0, 6, AnyAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 32, f0ba, 65}
+ Store(Refof(f0ba), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (69) {
+ Store(7, Local2)
+ BankField(OPR0, BNK0, 7, AnyAcc, Lock, Preserve) {
+ , 32, f0bb, 69}
+ Store(Refof(f0bb), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (129) {
+ Store(8, Local2)
+ BankField(OPR0, BNK0, 8, ByteAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 32, f0bc, 129}
+ Store(Refof(f0bc), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (256) {
+ Store(9, Local2)
+ BankField(OPR0, BNK0, 9, AnyAcc, Lock, Preserve) {
+ , 32, f0bd, 256}
+ Store(Refof(f0bd), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (1023) {
+ Store(63, Local2)
+ BankField(OPR0, BNK0, 63, WordAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 32, f0be, 1023}
+ Store(Refof(f0be), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (1983) {
+ Store(64, Local2)
+ BankField(OPR0, BNK0, 64, AnyAcc, Lock, Preserve) {
+ , 32, f0bf, 1983}
+ Store(Refof(f0bf), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ default {
+ err(arg0, z145, 89, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (33) {
+ switch(arg3) {
+ case (1) {
+ Store(127, Local2)
+ BankField(OPR0, BNK0, 127, AnyAcc, Lock, Preserve) {
+ , 33, f0c0, 1}
+ Store(Refof(f0c0), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (6) {
+ Store(128, Local2)
+ BankField(OPR0, BNK0, 128, DWordAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 33, f0c1, 6}
+ Store(Refof(f0c1), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (7) {
+ Store(255, Local2)
+ BankField(OPR0, BNK0, 255, AnyAcc, Lock, Preserve) {
+ , 33, f0c2, 7}
+ Store(Refof(f0c2), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (8) {
+ Store(0, Local2)
+ BankField(OPR0, BNK0, 0, QWordAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 33, f0c3, 8}
+ Store(Refof(f0c3), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (9) {
+ Store(1, Local2)
+ BankField(OPR0, BNK0, 1, AnyAcc, Lock, Preserve) {
+ , 33, f0c4, 9}
+ Store(Refof(f0c4), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (31) {
+ Store(2, Local2)
+ BankField(OPR0, BNK0, 2, AnyAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 33, f0c5, 31}
+ Store(Refof(f0c5), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (32) {
+ Store(3, Local2)
+ BankField(OPR0, BNK0, 3, AnyAcc, Lock, Preserve) {
+ , 33, f0c6, 32}
+ Store(Refof(f0c6), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (33) {
+ Store(4, Local2)
+ BankField(OPR0, BNK0, 4, ByteAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 33, f0c7, 33}
+ Store(Refof(f0c7), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (63) {
+ Store(5, Local2)
+ BankField(OPR0, BNK0, 5, AnyAcc, Lock, Preserve) {
+ , 33, f0c8, 63}
+ Store(Refof(f0c8), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (64) {
+ Store(6, Local2)
+ BankField(OPR0, BNK0, 6, WordAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 33, f0c9, 64}
+ Store(Refof(f0c9), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (65) {
+ Store(7, Local2)
+ BankField(OPR0, BNK0, 7, AnyAcc, Lock, Preserve) {
+ , 33, f0ca, 65}
+ Store(Refof(f0ca), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (69) {
+ Store(8, Local2)
+ BankField(OPR0, BNK0, 8, DWordAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 33, f0cb, 69}
+ Store(Refof(f0cb), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (129) {
+ Store(9, Local2)
+ BankField(OPR0, BNK0, 9, AnyAcc, Lock, Preserve) {
+ , 33, f0cc, 129}
+ Store(Refof(f0cc), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (256) {
+ Store(63, Local2)
+ BankField(OPR0, BNK0, 63, QWordAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 33, f0cd, 256}
+ Store(Refof(f0cd), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (1023) {
+ Store(64, Local2)
+ BankField(OPR0, BNK0, 64, AnyAcc, Lock, Preserve) {
+ , 33, f0ce, 1023}
+ Store(Refof(f0ce), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (1983) {
+ Store(127, Local2)
+ BankField(OPR0, BNK0, 127, AnyAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 33, f0cf, 1983}
+ Store(Refof(f0cf), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ default {
+ err(arg0, z145, 90, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (63) {
+ switch(arg3) {
+ case (1) {
+ Store(128, Local2)
+ BankField(OPR0, BNK0, 128, ByteAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 63, f0d0, 1}
+ Store(Refof(f0d0), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (6) {
+ Store(255, Local2)
+ BankField(OPR0, BNK0, 255, AnyAcc, Lock, Preserve) {
+ , 63, f0d1, 6}
+ Store(Refof(f0d1), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (7) {
+ Store(0, Local2)
+ BankField(OPR0, BNK0, 0, WordAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 63, f0d2, 7}
+ Store(Refof(f0d2), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (8) {
+ Store(1, Local2)
+ BankField(OPR0, BNK0, 1, AnyAcc, Lock, Preserve) {
+ , 63, f0d3, 8}
+ Store(Refof(f0d3), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (9) {
+ Store(2, Local2)
+ BankField(OPR0, BNK0, 2, DWordAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 63, f0d4, 9}
+ Store(Refof(f0d4), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (31) {
+ Store(3, Local2)
+ BankField(OPR0, BNK0, 3, AnyAcc, Lock, Preserve) {
+ , 63, f0d5, 31}
+ Store(Refof(f0d5), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (32) {
+ Store(4, Local2)
+ BankField(OPR0, BNK0, 4, QWordAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 63, f0d6, 32}
+ Store(Refof(f0d6), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (33) {
+ Store(5, Local2)
+ BankField(OPR0, BNK0, 5, AnyAcc, Lock, Preserve) {
+ , 63, f0d7, 33}
+ Store(Refof(f0d7), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (63) {
+ Store(6, Local2)
+ BankField(OPR0, BNK0, 6, AnyAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 63, f0d8, 63}
+ Store(Refof(f0d8), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (64) {
+ Store(7, Local2)
+ BankField(OPR0, BNK0, 7, AnyAcc, Lock, Preserve) {
+ , 63, f0d9, 64}
+ Store(Refof(f0d9), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (65) {
+ Store(8, Local2)
+ BankField(OPR0, BNK0, 8, ByteAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 63, f0da, 65}
+ Store(Refof(f0da), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (69) {
+ Store(9, Local2)
+ BankField(OPR0, BNK0, 9, AnyAcc, Lock, Preserve) {
+ , 63, f0db, 69}
+ Store(Refof(f0db), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (129) {
+ Store(63, Local2)
+ BankField(OPR0, BNK0, 63, WordAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 63, f0dc, 129}
+ Store(Refof(f0dc), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (256) {
+ Store(64, Local2)
+ BankField(OPR0, BNK0, 64, AnyAcc, Lock, Preserve) {
+ , 63, f0dd, 256}
+ Store(Refof(f0dd), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (1023) {
+ Store(127, Local2)
+ BankField(OPR0, BNK0, 127, DWordAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 63, f0de, 1023}
+ Store(Refof(f0de), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (1983) {
+ Store(128, Local2)
+ BankField(OPR0, BNK0, 128, AnyAcc, Lock, Preserve) {
+ , 63, f0df, 1983}
+ Store(Refof(f0df), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ default {
+ err(arg0, z145, 91, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (64) {
+ switch(arg3) {
+ case (1) {
+ Store(255, Local2)
+ BankField(OPR0, BNK0, 255, AnyAcc, Lock, Preserve) {
+ , 64, f0e0, 1}
+ Store(Refof(f0e0), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (6) {
+ Store(0, Local2)
+ BankField(OPR0, BNK0, 0, QWordAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 64, f0e1, 6}
+ Store(Refof(f0e1), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (7) {
+ Store(1, Local2)
+ BankField(OPR0, BNK0, 1, AnyAcc, Lock, Preserve) {
+ , 64, f0e2, 7}
+ Store(Refof(f0e2), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (8) {
+ Store(2, Local2)
+ BankField(OPR0, BNK0, 2, AnyAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 64, f0e3, 8}
+ Store(Refof(f0e3), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (9) {
+ Store(3, Local2)
+ BankField(OPR0, BNK0, 3, AnyAcc, Lock, Preserve) {
+ , 64, f0e4, 9}
+ Store(Refof(f0e4), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (31) {
+ Store(4, Local2)
+ BankField(OPR0, BNK0, 4, ByteAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 64, f0e5, 31}
+ Store(Refof(f0e5), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (32) {
+ Store(5, Local2)
+ BankField(OPR0, BNK0, 5, AnyAcc, Lock, Preserve) {
+ , 64, f0e6, 32}
+ Store(Refof(f0e6), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (33) {
+ Store(6, Local2)
+ BankField(OPR0, BNK0, 6, WordAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 64, f0e7, 33}
+ Store(Refof(f0e7), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (63) {
+ Store(7, Local2)
+ BankField(OPR0, BNK0, 7, AnyAcc, Lock, Preserve) {
+ , 64, f0e8, 63}
+ Store(Refof(f0e8), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (64) {
+ Store(8, Local2)
+ BankField(OPR0, BNK0, 8, DWordAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 64, f0e9, 64}
+ Store(Refof(f0e9), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (65) {
+ Store(9, Local2)
+ BankField(OPR0, BNK0, 9, AnyAcc, Lock, Preserve) {
+ , 64, f0ea, 65}
+ Store(Refof(f0ea), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (69) {
+ Store(63, Local2)
+ BankField(OPR0, BNK0, 63, QWordAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 64, f0eb, 69}
+ Store(Refof(f0eb), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (129) {
+ Store(64, Local2)
+ BankField(OPR0, BNK0, 64, AnyAcc, Lock, Preserve) {
+ , 64, f0ec, 129}
+ Store(Refof(f0ec), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (256) {
+ Store(127, Local2)
+ BankField(OPR0, BNK0, 127, AnyAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 64, f0ed, 256}
+ Store(Refof(f0ed), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (1023) {
+ Store(128, Local2)
+ BankField(OPR0, BNK0, 128, AnyAcc, Lock, Preserve) {
+ , 64, f0ee, 1023}
+ Store(Refof(f0ee), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (1983) {
+ Store(255, Local2)
+ BankField(OPR0, BNK0, 255, ByteAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ , 64, f0ef, 1983}
+ Store(Refof(f0ef), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ default {
+ err(arg0, z145, 92, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (65) {
+ switch(arg3) {
+ case (1) {
+ Store(0, Local2)
+ BankField(OPR0, BNK0, 0, WordAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ Offset(8), , 1, f0f0, 1}
+ Store(Refof(f0f0), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (6) {
+ Store(1, Local2)
+ BankField(OPR0, BNK0, 1, AnyAcc, Lock, Preserve) {
+ Offset(8), , 1, f0f1, 6}
+ Store(Refof(f0f1), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (7) {
+ Store(2, Local2)
+ BankField(OPR0, BNK0, 2, DWordAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ Offset(8), , 1, f0f2, 7}
+ Store(Refof(f0f2), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (8) {
+ Store(3, Local2)
+ BankField(OPR0, BNK0, 3, AnyAcc, Lock, Preserve) {
+ Offset(8), , 1, f0f3, 8}
+ Store(Refof(f0f3), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (9) {
+ Store(4, Local2)
+ BankField(OPR0, BNK0, 4, QWordAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ Offset(8), , 1, f0f4, 9}
+ Store(Refof(f0f4), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (31) {
+ Store(5, Local2)
+ BankField(OPR0, BNK0, 5, AnyAcc, Lock, Preserve) {
+ Offset(8), , 1, f0f5, 31}
+ Store(Refof(f0f5), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (32) {
+ Store(6, Local2)
+ BankField(OPR0, BNK0, 6, AnyAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ Offset(8), , 1, f0f6, 32}
+ Store(Refof(f0f6), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (33) {
+ Store(7, Local2)
+ BankField(OPR0, BNK0, 7, AnyAcc, Lock, Preserve) {
+ Offset(8), , 1, f0f7, 33}
+ Store(Refof(f0f7), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (63) {
+ Store(8, Local2)
+ BankField(OPR0, BNK0, 8, ByteAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ Offset(8), , 1, f0f8, 63}
+ Store(Refof(f0f8), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (64) {
+ Store(9, Local2)
+ BankField(OPR0, BNK0, 9, AnyAcc, Lock, Preserve) {
+ Offset(8), , 1, f0f9, 64}
+ Store(Refof(f0f9), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (65) {
+ Store(63, Local2)
+ BankField(OPR0, BNK0, 63, WordAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ Offset(8), , 1, f0fa, 65}
+ Store(Refof(f0fa), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (69) {
+ Store(64, Local2)
+ BankField(OPR0, BNK0, 64, AnyAcc, Lock, Preserve) {
+ Offset(8), , 1, f0fb, 69}
+ Store(Refof(f0fb), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (129) {
+ Store(127, Local2)
+ BankField(OPR0, BNK0, 127, DWordAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ Offset(8), , 1, f0fc, 129}
+ Store(Refof(f0fc), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (256) {
+ Store(128, Local2)
+ BankField(OPR0, BNK0, 128, AnyAcc, Lock, Preserve) {
+ Offset(8), , 1, f0fd, 256}
+ Store(Refof(f0fd), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (1023) {
+ Store(255, Local2)
+ BankField(OPR0, BNK0, 255, QWordAcc, Lock, Preserve) {
+ AccessAs(AnyAcc),
+ Offset(8), , 1, f0fe, 1023}
+ Store(Refof(f0fe), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (1983) {
+ Store(0, Local2)
+ BankField(OPR0, BNK0, 0, AnyAcc, Lock, Preserve) {
+ Offset(8), , 1, f0ff, 1983}
+ Store(Refof(f0ff), Local3)
+ Store(Refof(g000), Local4)
+ }
+ default {
+ err(arg0, z145, 93, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ default {
+ err(arg0, z145, 94, 0, 0, arg2, arg3)
+ return}
+ }
+
+ Store(2, Index(fcp0, 0))
+ Store(Refof(BNK0), Index(fcp0, 1))
+ Store(Local2, Index(fcp0, 2))
+ m72d(arg0, Local3, arg2, arg3, arg4, arg5, Local4)
+ Store(0, Index(fcp0, 0))
+}
+
+// Splitting of BankFields
+// m7c6(CallChain)
+Method(m7c6, 1)
+{
+ OperationRegion(OPR0, SystemIO, 1000, 0x101)
+
+ Store("TEST: m7c6, Check Splitting of BankFields", Debug)
+
+ Concatenate(arg0, "-m7c6", arg0)
+
+ m7e0(arg0, OPR0, 0x4)
+ m7e1(arg0, OPR0, 0x400)
+ m7e2(arg0, OPR0, 0x4000)
+ m7e3(arg0, OPR0, 0xf000)
+ m7e4(arg0, OPR0, 0xf004)
+ m7e5(arg0, OPR0, 0xf400)
+ m7e6(arg0, OPR0, 0xff00)
+ m7e7(arg0, OPR0, 0xfff0)
+ m7e8(arg0, OPR0, 0xffff)
+ m7e9(arg0, OPR0, 0x4)
+}
+
+// Create BankFields that spans the same bits
+// and check possible inconsistence, 0-bit offset.
+// m7e0(CallChain, OpRegion, BankNum)
+Method(m7e0, 3)
+{
+ OperationRegion(OPRm, 0xff, 0x100, 0x08)
+ OperationRegion(OPRn, SystemIO, 0x10, 0x02)
+
+ Field(OPRn, ByteAcc, NoLock, Preserve) {
+ BNK0, 16,
+ }
+
+ Concatenate(arg0, "-m7e0", arg0)
+
+ CopyObject(arg1, OPRm)
+
+ BankField(OPRm, BNK0, arg2, ByteAcc, NoLock, Preserve) {
+ , 0, // 0-bit offset
+ BF00, 0x3}
+
+ BankField(OPRm, BNK0, arg2, ByteAcc, NoLock, Preserve) {
+ , 0,
+ BF10, 0x1,
+ BF11, 0x1,
+ BF12, 0x1}
+
+ BankField(OPRm, BNK0, arg2, ByteAcc, NoLock, Preserve) {
+ , 0,
+ BF20, 0x1,
+ BF21, 0x2}
+
+ BankField(OPRm, BNK0, arg2, ByteAcc, NoLock, Preserve) {
+ , 0,
+ BF30, 0x2,
+ BF31, 0x1}
+
+ Store(8, Local0)
+
+ Store(Package(){BF10, BF11, BF12, BF20, BF21, BF30, BF31}, Local1)
+
+ while(Local0) {
+ Decrement(Local0)
+
+ Store(Local0, BF00)
+
+ if (y118) {
+ } else {
+ Store(BF10, Index(Local1, 0))
+ Store(BF11, Index(Local1, 1))
+ Store(BF12, Index(Local1, 2))
+ Store(BF20, Index(Local1, 3))
+ Store(BF21, Index(Local1, 4))
+ Store(BF30, Index(Local1, 5))
+ Store(BF31, Index(Local1, 6))
+ }
+
+ m72a(arg0, Local0, Local1)
+ }
+}
+
+// Create BankFields that spans the same bits
+// and check possible inconsistence, 1-bit offset.
+// m7e1(CallChain, OpRegion, BankNum)
+Method(m7e1, 3)
+{
+ OperationRegion(OPRm, 0xff, 0, 0x08)
+ OperationRegion(OPRn, SystemIO, 0x10, 0x02)
+
+ Field(OPRn, ByteAcc, NoLock, Preserve) {
+ BNK0, 16,
+ }
+
+ Concatenate(arg0, "-m7e1", arg0)
+
+ CopyObject(arg1, OPRm)
+
+ BankField(OPRm, BNK0, arg2, ByteAcc, NoLock, Preserve) {
+ , 1, // 1-bit offset
+ BF00, 0x3}
+
+ BankField(OPRm, BNK0, arg2, ByteAcc, NoLock, Preserve) {
+ , 1,
+ BF10, 0x1,
+ BF11, 0x1,
+ BF12, 0x1}
+
+ BankField(OPRm, BNK0, arg2, ByteAcc, NoLock, Preserve) {
+ , 1,
+ BF20, 0x1,
+ BF21, 0x2}
+
+ BankField(OPRm, BNK0, arg2, ByteAcc, NoLock, Preserve) {
+ , 1,
+ BF30, 0x2,
+ BF31, 0x1}
+
+ Store(8, Local0)
+
+ Store(Package(){BF10, BF11, BF12, BF20, BF21, BF30, BF31}, Local1)
+
+ while(Local0) {
+ Decrement(Local0)
+
+ Store(Local0, BF00)
+
+ if (y118) {
+ } else {
+ Store(BF10, Index(Local1, 0))
+ Store(BF11, Index(Local1, 1))
+ Store(BF12, Index(Local1, 2))
+ Store(BF20, Index(Local1, 3))
+ Store(BF21, Index(Local1, 4))
+ Store(BF30, Index(Local1, 5))
+ Store(BF31, Index(Local1, 6))
+ }
+
+ m72a(arg0, Local0, Local1)
+ }
+}
+
+// Create BankFields that spans the same bits
+// and check possible inconsistence, 2-bit offset.
+// m7e2(CallChain, OpRegion, BankNum)
+Method(m7e2, 3)
+{
+ OperationRegion(OPRm, 0xff, 0, 0x08)
+ OperationRegion(OPRn, SystemIO, 0x10, 0x02)
+
+ Field(OPRn, ByteAcc, NoLock, Preserve) {
+ BNK0, 16,
+ }
+
+ Concatenate(arg0, "-m7e2", arg0)
+
+ CopyObject(arg1, OPRm)
+
+ BankField(OPRm, BNK0, arg2, ByteAcc, NoLock, Preserve) {
+ , 2, // 2-bit offset
+ BF00, 0x3}
+
+ BankField(OPRm, BNK0, arg2, ByteAcc, NoLock, Preserve) {
+ , 2,
+ BF10, 0x1,
+ BF11, 0x1,
+ BF12, 0x1}
+
+ BankField(OPRm, BNK0, arg2, ByteAcc, NoLock, Preserve) {
+ , 2,
+ BF20, 0x1,
+ BF21, 0x2}
+
+ BankField(OPRm, BNK0, arg2, ByteAcc, NoLock, Preserve) {
+ , 2,
+ BF30, 0x2,
+ BF31, 0x1}
+
+ Store(8, Local0)
+
+ Store(Package(){BF10, BF11, BF12, BF20, BF21, BF30, BF31}, Local1)
+
+ while(Local0) {
+ Decrement(Local0)
+
+ Store(Local0, BF00)
+
+ if (y118) {
+ } else {
+ Store(BF10, Index(Local1, 0))
+ Store(BF11, Index(Local1, 1))
+ Store(BF12, Index(Local1, 2))
+ Store(BF20, Index(Local1, 3))
+ Store(BF21, Index(Local1, 4))
+ Store(BF30, Index(Local1, 5))
+ Store(BF31, Index(Local1, 6))
+ }
+
+ m72a(arg0, Local0, Local1)
+ }
+}
+
+// Create BankFields that spans the same bits
+// and check possible inconsistence, 3-bit offset.
+// m7e3(CallChain, OpRegion, BankNum)
+Method(m7e3, 3)
+{
+ OperationRegion(OPRm, 0xff, 0, 0x08)
+ OperationRegion(OPRn, SystemIO, 0x10, 0x02)
+
+ Field(OPRn, ByteAcc, NoLock, Preserve) {
+ BNK0, 16,
+ }
+
+ Concatenate(arg0, "-m7e3", arg0)
+
+ CopyObject(arg1, OPRm)
+
+ BankField(OPRm, BNK0, arg2, ByteAcc, NoLock, Preserve) {
+ , 3, // 3-bit offset
+ BF00, 0x3}
+
+ BankField(OPRm, BNK0, arg2, ByteAcc, NoLock, Preserve) {
+ , 3,
+ BF10, 0x1,
+ BF11, 0x1,
+ BF12, 0x1}
+
+ BankField(OPRm, BNK0, arg2, ByteAcc, NoLock, Preserve) {
+ , 3,
+ BF20, 0x1,
+ BF21, 0x2}
+
+ BankField(OPRm, BNK0, arg2, ByteAcc, NoLock, Preserve) {
+ , 3,
+ BF30, 0x2,
+ BF31, 0x1}
+
+ Store(8, Local0)
+
+ Store(Package(){BF10, BF11, BF12, BF20, BF21, BF30, BF31}, Local1)
+
+ while(Local0) {
+ Decrement(Local0)
+
+ Store(Local0, BF00)
+
+ if (y118) {
+ } else {
+ Store(BF10, Index(Local1, 0))
+ Store(BF11, Index(Local1, 1))
+ Store(BF12, Index(Local1, 2))
+ Store(BF20, Index(Local1, 3))
+ Store(BF21, Index(Local1, 4))
+ Store(BF30, Index(Local1, 5))
+ Store(BF31, Index(Local1, 6))
+ }
+
+ m72a(arg0, Local0, Local1)
+ }
+}
+
+// Create BankFields that spans the same bits
+// and check possible inconsistence, 4-bit offset.
+// m7e4(CallChain, OpRegion, BankNum)
+Method(m7e4, 3)
+{
+ OperationRegion(OPRm, 0xff, 0, 0x08)
+ OperationRegion(OPRn, SystemIO, 0x10, 0x02)
+
+ Field(OPRn, ByteAcc, NoLock, Preserve) {
+ BNK0, 16,
+ }
+
+ Concatenate(arg0, "-m7e4", arg0)
+
+ CopyObject(arg1, OPRm)
+
+ BankField(OPRm, BNK0, arg2, ByteAcc, NoLock, Preserve) {
+ , 4, // 4-bit offset
+ BF00, 0x3}
+
+ BankField(OPRm, BNK0, arg2, ByteAcc, NoLock, Preserve) {
+ , 4,
+ BF10, 0x1,
+ BF11, 0x1,
+ BF12, 0x1}
+
+ BankField(OPRm, BNK0, arg2, ByteAcc, NoLock, Preserve) {
+ , 4,
+ BF20, 0x1,
+ BF21, 0x2}
+
+ BankField(OPRm, BNK0, arg2, ByteAcc, NoLock, Preserve) {
+ , 4,
+ BF30, 0x2,
+ BF31, 0x1}
+
+ Store(8, Local0)
+
+ Store(Package(){BF10, BF11, BF12, BF20, BF21, BF30, BF31}, Local1)
+
+ while(Local0) {
+ Decrement(Local0)
+
+ Store(Local0, BF00)
+
+ if (y118) {
+ } else {
+ Store(BF10, Index(Local1, 0))
+ Store(BF11, Index(Local1, 1))
+ Store(BF12, Index(Local1, 2))
+ Store(BF20, Index(Local1, 3))
+ Store(BF21, Index(Local1, 4))
+ Store(BF30, Index(Local1, 5))
+ Store(BF31, Index(Local1, 6))
+ }
+
+ m72a(arg0, Local0, Local1)
+ }
+}
+
+// Create BankFields that spans the same bits
+// and check possible inconsistence, 5-bit offset.
+// m7e5(CallChain, OpRegion, BankNum)
+Method(m7e5, 3)
+{
+ OperationRegion(OPRm, 0xff, 0, 0x08)
+ OperationRegion(OPRn, SystemIO, 0x10, 0x02)
+
+ Field(OPRn, ByteAcc, NoLock, Preserve) {
+ BNK0, 16,
+ }
+
+ Concatenate(arg0, "-m7e5", arg0)
+
+ CopyObject(arg1, OPRm)
+
+ BankField(OPRm, BNK0, arg2, ByteAcc, NoLock, Preserve) {
+ , 5, // 5-bit offset
+ BF00, 0x3}
+
+ BankField(OPRm, BNK0, arg2, ByteAcc, NoLock, Preserve) {
+ , 5,
+ BF10, 0x1,
+ BF11, 0x1,
+ BF12, 0x1}
+
+ BankField(OPRm, BNK0, arg2, ByteAcc, NoLock, Preserve) {
+ , 5,
+ BF20, 0x1,
+ BF21, 0x2}
+
+ BankField(OPRm, BNK0, arg2, ByteAcc, NoLock, Preserve) {
+ , 5,
+ BF30, 0x2,
+ BF31, 0x1}
+
+ Store(8, Local0)
+
+ Store(Package(){BF10, BF11, BF12, BF20, BF21, BF30, BF31}, Local1)
+
+ while(Local0) {
+ Decrement(Local0)
+
+ Store(Local0, BF00)
+
+ if (y118) {
+ } else {
+ Store(BF10, Index(Local1, 0))
+ Store(BF11, Index(Local1, 1))
+ Store(BF12, Index(Local1, 2))
+ Store(BF20, Index(Local1, 3))
+ Store(BF21, Index(Local1, 4))
+ Store(BF30, Index(Local1, 5))
+ Store(BF31, Index(Local1, 6))
+ }
+
+ m72a(arg0, Local0, Local1)
+ }
+}
+
+// Create BankFields that spans the same bits
+// and check possible inconsistence, 6-bit offset.
+// m7e6(CallChain, OpRegion, BankNum)
+Method(m7e6, 3)
+{
+ OperationRegion(OPRm, 0xff, 0, 0x08)
+ OperationRegion(OPRn, SystemIO, 0x10, 0x02)
+
+ Field(OPRn, ByteAcc, NoLock, Preserve) {
+ BNK0, 16,
+ }
+
+ Concatenate(arg0, "-m7e6", arg0)
+
+ CopyObject(arg1, OPRm)
+
+ BankField(OPRm, BNK0, arg2, ByteAcc, NoLock, Preserve) {
+ , 6, // 6-bit offset
+ BF00, 0x3}
+
+ BankField(OPRm, BNK0, arg2, ByteAcc, NoLock, Preserve) {
+ , 6,
+ BF10, 0x1,
+ BF11, 0x1,
+ BF12, 0x1}
+
+ BankField(OPRm, BNK0, arg2, ByteAcc, NoLock, Preserve) {
+ , 6,
+ BF20, 0x1,
+ BF21, 0x2}
+
+ BankField(OPRm, BNK0, arg2, ByteAcc, NoLock, Preserve) {
+ , 6,
+ BF30, 0x2,
+ BF31, 0x1}
+
+ Store(8, Local0)
+
+ Store(Package(){BF10, BF11, BF12, BF20, BF21, BF30, BF31}, Local1)
+
+ while(Local0) {
+ Decrement(Local0)
+
+ Store(Local0, BF00)
+
+ if (y118) {
+ } else {
+ Store(BF10, Index(Local1, 0))
+ Store(BF11, Index(Local1, 1))
+ Store(BF12, Index(Local1, 2))
+ Store(BF20, Index(Local1, 3))
+ Store(BF21, Index(Local1, 4))
+ Store(BF30, Index(Local1, 5))
+ Store(BF31, Index(Local1, 6))
+ }
+
+ m72a(arg0, Local0, Local1)
+ }
+}
+
+// Create BankFields that spans the same bits
+// and check possible inconsistence, 7-bit offset.
+// m7e7(CallChain, OpRegion, BankNum)
+Method(m7e7, 3)
+{
+ OperationRegion(OPRm, 0xff, 0, 0x08)
+ OperationRegion(OPRn, SystemIO, 0x10, 0x02)
+
+ Field(OPRn, ByteAcc, NoLock, Preserve) {
+ BNK0, 16,
+ }
+
+ Concatenate(arg0, "-m7e7", arg0)
+
+ CopyObject(arg1, OPRm)
+
+ BankField(OPRm, BNK0, arg2, ByteAcc, NoLock, Preserve) {
+ , 7, // 7-bit offset
+ BF00, 0x3}
+
+ BankField(OPRm, BNK0, arg2, ByteAcc, NoLock, Preserve) {
+ , 7,
+ BF10, 0x1,
+ BF11, 0x1,
+ BF12, 0x1}
+
+ BankField(OPRm, BNK0, arg2, ByteAcc, NoLock, Preserve) {
+ , 7,
+ BF20, 0x1,
+ BF21, 0x2}
+
+ BankField(OPRm, BNK0, arg2, ByteAcc, NoLock, Preserve) {
+ , 7,
+ BF30, 0x2,
+ BF31, 0x1}
+
+ Store(8, Local0)
+
+ Store(Package(){BF10, BF11, BF12, BF20, BF21, BF30, BF31}, Local1)
+
+ while(Local0) {
+ Decrement(Local0)
+
+ Store(Local0, BF00)
+
+ if (y118) {
+ } else {
+ Store(BF10, Index(Local1, 0))
+ Store(BF11, Index(Local1, 1))
+ Store(BF12, Index(Local1, 2))
+ Store(BF20, Index(Local1, 3))
+ Store(BF21, Index(Local1, 4))
+ Store(BF30, Index(Local1, 5))
+ Store(BF31, Index(Local1, 6))
+ }
+
+ m72a(arg0, Local0, Local1)
+ }
+}
+
+// Create BankFields that spans the same bits
+// and check possible inconsistence, 8-bit offset.
+// m7e8(CallChain, OpRegion, BankNum)
+Method(m7e8, 3)
+{
+ OperationRegion(OPRm, 0xff, 0, 0x08)
+ OperationRegion(OPRn, SystemIO, 0x10, 0x02)
+
+ Field(OPRn, ByteAcc, NoLock, Preserve) {
+ BNK0, 16,
+ }
+
+ Concatenate(arg0, "-m7e8", arg0)
+
+ CopyObject(arg1, OPRm)
+
+ BankField(OPRm, BNK0, arg2, ByteAcc, NoLock, Preserve) {
+ , 8, // 8-bit offset
+ BF00, 0x3}
+
+ BankField(OPRm, BNK0, arg2, ByteAcc, NoLock, Preserve) {
+ , 8,
+ BF10, 0x1,
+ BF11, 0x1,
+ BF12, 0x1}
+
+ BankField(OPRm, BNK0, arg2, ByteAcc, NoLock, Preserve) {
+ , 8,
+ BF20, 0x1,
+ BF21, 0x2}
+
+ BankField(OPRm, BNK0, arg2, ByteAcc, NoLock, Preserve) {
+ , 8,
+ BF30, 0x2,
+ BF31, 0x1}
+
+ Store(8, Local0)
+
+ Store(Package(){BF10, BF11, BF12, BF20, BF21, BF30, BF31}, Local1)
+
+ while(Local0) {
+ Decrement(Local0)
+
+ Store(Local0, BF00)
+
+ if (y118) {
+ } else {
+ Store(BF10, Index(Local1, 0))
+ Store(BF11, Index(Local1, 1))
+ Store(BF12, Index(Local1, 2))
+ Store(BF20, Index(Local1, 3))
+ Store(BF21, Index(Local1, 4))
+ Store(BF30, Index(Local1, 5))
+ Store(BF31, Index(Local1, 6))
+ }
+
+ m72a(arg0, Local0, Local1)
+ }
+}
+
+// Create BankFields that spans the same bits
+// and check possible inconsistence, 2046-bit offset.
+// m7e9(CallChain, OpRegion, BankNum)
+Method(m7e9, 3)
+{
+ OperationRegion(OPRm, 0xff, 0, 0x101)
+ OperationRegion(OPRn, SystemIO, 0x10, 0x02)
+
+ Field(OPRn, ByteAcc, NoLock, Preserve) {
+ BNK0, 16,
+ }
+
+ Concatenate(arg0, "-m7e9", arg0)
+
+ CopyObject(arg1, OPRm)
+
+ BankField(OPRm, BNK0, arg2, ByteAcc, NoLock, Preserve) {
+ , 2046, // 2046-bit offset
+ BF00, 0x3}
+
+ BankField(OPRm, BNK0, arg2, ByteAcc, NoLock, Preserve) {
+ , 2046,
+ BF10, 0x1,
+ BF11, 0x1,
+ BF12, 0x1}
+
+ BankField(OPRm, BNK0, arg2, ByteAcc, NoLock, Preserve) {
+ , 2046,
+ BF20, 0x1,
+ BF21, 0x2}
+
+ BankField(OPRm, BNK0, arg2, ByteAcc, NoLock, Preserve) {
+ , 2046,
+ BF30, 0x2,
+ BF31, 0x1}
+
+ Store(8, Local0)
+
+ Store(Package(){BF10, BF11, BF12, BF20, BF21, BF30, BF31}, Local1)
+
+ while(Local0) {
+ Decrement(Local0)
+
+ Store(Local0, BF00)
+
+ if (y118) {
+ } else {
+ Store(BF10, Index(Local1, 0))
+ Store(BF11, Index(Local1, 1))
+ Store(BF12, Index(Local1, 2))
+ Store(BF20, Index(Local1, 3))
+ Store(BF21, Index(Local1, 4))
+ Store(BF30, Index(Local1, 5))
+ Store(BF31, Index(Local1, 6))
+ }
+
+ m72a(arg0, Local0, Local1)
+ }
+}
+
+// Check non-constant Bank value
+Method(m7c7, 1)
+{
+ Field (OPRi, ByteAcc, NoLock, Preserve) {
+ bnk0, 8
+ }
+
+ Name(BVAL, 2)
+
+ Method(CHCK, 3)
+ {
+ Store(Refof(arg1), Local0)
+
+ // Write
+
+ Store(0xff, bnk0)
+ m7bf(arg0, bnk0, 0xff, Add(arg2, 0))
+
+ Store(0x67, Derefof(Local0))
+ m7bf(arg0, bnk0, 2, Add(arg2, 1))
+
+ // Read
+
+ Store(0xff, bnk0)
+ m7bf(arg0, bnk0, 0xff, Add(arg2, 2))
+
+ Store(Derefof(arg1), Local1)
+ m7bf(arg0, Local1, 0x67, Add(arg2, 3))
+ m7bf(arg0, bnk0, 2, Add(arg2, 4))
+ }
+
+ // ArgX
+ Method(m000, 2)
+ {
+ BankField (OPRj, bnk0, arg1, ByteAcc, NoLock, Preserve) {
+ Offset(8),
+ bf00, 8,
+ }
+
+ CHCK(arg0, Refof(bf00), 95)
+ }
+
+ // Named
+ Method(m001, 1)
+ {
+ BankField (OPRj, bnk0, BVAL, ByteAcc, NoLock, Preserve) {
+ Offset(8),
+ bf00, 8,
+ }
+
+ CHCK(arg0, Refof(bf00), 100)
+ }
+
+ // LocalX
+ Method(m002, 1)
+ {
+ Store(BVAL, Local0)
+
+ BankField (OPRj, bnk0, Local0, ByteAcc, NoLock, Preserve) {
+ Offset(8),
+ bf00, 8,
+ }
+
+ CHCK(arg0, Refof(bf00), 105)
+ }
+
+ // Expression
+ Method(m003, 1)
+ {
+ Store(1, Local0)
+
+ BankField (OPRj, bnk0, Add(Local0, 1), ByteAcc, NoLock, Preserve) {
+ Offset(8),
+ bf00, 8,
+ }
+
+ CHCK(arg0, Refof(bf00), 110)
+ }
+
+ Concatenate(arg0, "-m7c7", arg0)
+
+ m000(arg0, 2)
+ m001(arg0)
+ m002(arg0)
+ m003(arg0)
+}
+
+// Check non-Integer Bank value
+Method(m7c8, 1)
+{
+ Field (OPRi, ByteAcc, NoLock, Preserve) {
+ bnk0, 8
+ }
+
+ Name(val0, 2)
+ Name(valb, Buffer(1){2})
+ Name(vals, "2")
+
+ BankField (OPRj, bnk0, 2, ByteAcc, NoLock, Preserve) {
+ Offset(8), bf00, 20,
+ }
+ BankField (OPRj, bnk0, valb, ByteAcc, NoLock, Preserve) {
+ Offset(8), bf01, 20,
+ }
+ BankField (OPRj, bnk0, vals, ByteAcc, NoLock, Preserve) {
+ Offset(8), bf02, 20,
+ }
+
+ Name(i000, 0x12345678)
+
+ Method(m000, 3)
+ {
+ Store(1, Local0)
+
+ BankField (OPRj, bnk0, arg1, ByteAcc, NoLock, Preserve) {
+ Offset(8), bf03, 20,
+ }
+
+ if (LNotEqual(bf03, i000)) {
+ err(arg0, z145, arg2, 0, 0, bf03, i000)
+ }
+ }
+
+ Concatenate(arg0, "-m7c8", arg0)
+
+ Store(i000, bf00)
+
+ if (LNotEqual(bf00, i000)) {
+ err(arg0, z145, 115, 0, 0, bf00, i000)
+ }
+ if (LNotEqual(bf01, i000)) {
+ err(arg0, z145, 116, 0, 0, bf00, i000)
+ }
+ if (LNotEqual(bf02, i000)) {
+ err(arg0, z145, 117, 0, 0, bf00, i000)
+ }
+
+ m000(arg0, val0, 118)
+ m000(arg0, valb, 119)
+ m000(arg0, vals, 120)
+}
+
+// Run-method
+Method(BFC0)
+{
+ Name(ts, "BFC0")
+
+ // Simple BankField test
+ SRMT("m7c0")
+ m7c0(ts)
+
+ // Check BankField access: ByteAcc, NoLock, Preserve
+ SRMT("m7c1")
+ if (y192) {
+ m7c1(ts)
+ } else {
+ BLCK()
+ }
+
+ // Check BankField access: WordAcc, NoLock, WriteAsOnes
+ SRMT("m7c2")
+ if (y192) {
+ m7c2(ts)
+ } else {
+ BLCK()
+ }
+
+ // Check BankField access: DWordAcc, NoLock, WriteAsZeros
+ SRMT("m7c3")
+ if (y192) {
+ m7c3(ts)
+ } else {
+ BLCK()
+ }
+
+ // Check BankField access: QWordAcc, NoLock, Preserve
+ SRMT("m7c4")
+ if (y192) {
+ m7c4(ts)
+ } else {
+ BLCK()
+ }
+
+ // Check BankField access: AnyAcc, Lock, Preserve
+ SRMT("m7c5")
+ if (y192) {
+ m7c5(ts)
+ } else {
+ BLCK()
+ }
+
+ // Splitting of BankFields
+ SRMT("m7c6")
+ if (y192) {
+ m7c6(ts)
+ } else {
+ BLCK()
+ }
+
+ // Non-constant Bank value
+ SRMT("m7c7")
+ if (y178) {
+ m7c7(ts)
+ } else {
+ BLCK()
+ }
+
+ // Non-Integer Bank value
+ SRMT("m7c8")
+ if (y178) {
+ m7c8(ts)
+ } else {
+ BLCK()
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/functional/region/dtregions.asl b/tests/aslts/src/runtime/collections/functional/region/dtregions.asl
new file mode 100644
index 000000000..cc333b1ef
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/region/dtregions.asl
@@ -0,0 +1,391 @@
+/*
+ * 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.
+ */
+
+/*
+ * Data Table Region declarations
+ */
+
+/*
+ * On testing following issues should be covered:
+ * - String objects can be used as DataTableRegion arguments,
+ * - global and dynamic DataTableRegion declarations,
+ * - check of the Table Length on access to appropriate Fields,
+ * - any table referenced in XSDT can be accessed,
+ * - computational data is allowed to be DataTableRegion arguments,
+ * - possibility to write into appropriate Fields.
+ *
+ * Can not be tested following issues:
+ * - providing of DataTableRegions to be "in memory marked by
+ * AddressRangeReserved or AddressRangeNVS".
+ */
+
+Name(z142, 142)
+
+Device(DTR0) {
+ DataTableRegion (DR00, "DSDT", "", "")
+ DataTableRegion (DR01, "SSDT", "", "")
+
+ Name(SSDT, Buffer(0x30){
+ 0x53,0x53,0x44,0x54,0x30,0x00,0x00,0x00,
+ 0x01,0xB8,0x49,0x6E,0x74,0x65,0x6C,0x00,
+ 0x4D,0x61,0x6E,0x79,0x00,0x00,0x00,0x00,
+ 0x01,0x00,0x00,0x00,0x49,0x4E,0x54,0x4C,
+ 0x24,0x04,0x03,0x20,0x14,0x0B,0x5F,0x54,
+ 0x39,0x38,0x00,0x70,0x0A,0x04,0x60,0xA4,
+ })
+
+ Name(NFLG, 2) // Number of turn on/off Flag values
+
+ Name(IRSK, 0) // Counter of the Invalid RSKs
+
+ Name(IFLG, 0) // Counter of the Invalid Flags
+
+ Name(VRSK, 0) // Counter of the Valid RSK 0x07
+ Name(ERSK, 2) // Expected Counters of the Valid RSK
+
+ Name(VFLG, // Counters of the Valid Flags
+ Package(NFLG){0, 0})
+
+ // Specific DataTable Regions availability notification Method
+ // \DTR0._REG(RegionSpaceKeyword, Flag)
+ Method(_REG, 2)
+ {
+ Name(dbgf, 1)
+
+ if (dbgf) {
+ Store("ASLTS \\DTR0._REG:", Debug)
+ Store(arg0, Debug)
+ Store(arg1, Debug)
+ }
+
+ if (LEqual(arg0, 0x07)) {
+ Increment(VRSK)
+ } else {
+ Increment(IRSK)
+ }
+
+ if (LLess(arg1, NFLG)) {
+ Store(Index(VFLG, arg1), Local1)
+ Store(Refof(Local1), Local2)
+ Add(Derefof(Local1), 1, Derefof(Local2))
+ } else {
+ Increment(IFLG)
+ }
+ }
+}
+
+// Global DataTableRegions
+Method(m7f0, 1)
+{
+ Concatenate(arg0, "-m7f0", arg0)
+
+ \DTR0._REG(0x101, 2)
+
+ if (LNotEqual(\DTR0.IRSK, 1)) {
+ err(arg0, z142, 1, 0, 0, \DTR0.IRSK, 1)
+ }
+ if (LNotEqual(\DTR0.IFLG, 1)) {
+ err(arg0, z142, 2, 0, 0, \DTR0.IFLG, 1)
+ }
+ if (LNotEqual(\DTR0.VRSK, 2)) {
+ err(arg0, z142, 3, 0, 0, \DTR0.VRSK, 2)
+ }
+ if (LNotEqual(Derefof(Index(\DTR0.VFLG, 1)), 2)) {
+ err(arg0, z142, 4, 0, 0, Derefof(Index(\DTR0.VFLG, 1)), 2)
+ }
+}
+
+// Dynamic DataTableRegions
+// m7f1(CallChain)
+// CallChain: String
+Method(m7f1, 1)
+{
+ Name(NFLG, 2) // Number of turn on/off Flag values
+
+ Name(IRSK, 0) // Counter of the Invalid RSKs
+
+ Name(IFLG, 0) // Counter of the Invalid Flags
+
+ Name(VRSK, 0) // Counter of the Valid RSK 0x07
+ Name(ERSK, 2) // Expected Counters of the Valid RSK
+
+ Name(VFLG, // Counters of the Valid Flags
+ Package(NFLG){0, 0})
+
+ // Specific DataTable Regions availability notification Method
+ // \m7f1._REG(RegionSpaceKeyword, Flag)
+ Method(_REG, 2)
+ {
+ Name(dbgf, 1)
+
+ if (dbgf) {
+ Store("ASLTS \\m7f1._REG:", Debug)
+ Store(arg0, Debug)
+ Store(arg1, Debug)
+ }
+
+ if (LEqual(arg0, 0x07)) {
+ Increment(VRSK)
+ } else {
+ Increment(IRSK)
+ }
+
+ if (LLess(arg1, NFLG)) {
+ Store(Index(VFLG, arg1), Local1)
+ Store(Refof(Local1), Local2)
+ Add(Derefof(Local1), 1, Derefof(Local2))
+ } else {
+ Increment(IFLG)
+ }
+ }
+
+ Concatenate(arg0, "-m7f1", arg0)
+
+ if (LNotEqual(VRSK, 0)) {
+ err(arg0, z142, 5, 0, 0, VRSK, 0)
+ }
+ if (LNotEqual(Derefof(Index(VFLG, 1)), 0)) {
+ err(arg0, z142, 6, 0, 0, Derefof(Index(VFLG, 1)), 0)
+ }
+
+ DataTableRegion (DR00, "SSDT", "", "")
+
+ if (LNotEqual(IRSK, 0)) {
+ err(arg0, z142, 8, 0, 0, IRSK, 0)
+ }
+ if (LNotEqual(IFLG, 0)) {
+ err(arg0, z142, 9, 0, 0, IFLG, 0)
+ }
+
+ _REG(0x101, 2)
+
+ if (LNotEqual(IRSK, 1)) {
+ err(arg0, z142, 10, 0, 0, IRSK, 1)
+ }
+ if (LNotEqual(IFLG, 1)) {
+ err(arg0, z142, 11, 0, 0, IFLG, 1)
+ }
+ if (LNotEqual(VRSK, 1)) {
+ err(arg0, z142, 12, 0, 0, VRSK, 1)
+ }
+ if (LNotEqual(Derefof(Index(VFLG, 1)), 1)) {
+ err(arg0, z142, 13, 0, 0, Derefof(Index(VFLG, 1)), 1)
+ }
+}
+
+// DataTableRegion Lengths
+// m7f2(CallChain)
+// CallChain: String
+Method(m7f2, 1)
+{
+ Concatenate(arg0, "-m7f2", arg0)
+
+ Field(\DTR0.DR01, AnyAcc, NoLock, Preserve) {
+ FU01, 0x180}
+ Store(Refof(FU01), Local0)
+
+ Store(Refof(Local0), Local1)
+
+ Store(Derefof(Local0), Local2)
+
+ CH03(arg0, z142, 16, 0, 0)
+
+ Store(\DTR0.SSDT, Local3)
+
+ if (LNotEqual(Local2, Local3)) {
+ err(arg0, z142, 17, 0, 0, Local2, Local3)
+ }
+}
+
+// Check non-constant DataTableRegion *String arguments
+// m7f3(CallChain)
+// CallChain: String
+Method(m7f3, 1)
+{
+ Name(s000, "SSDT")
+ Name(s001, "")
+ Name(s002, "")
+
+ Method(m000, 1) {
+ DataTableRegion (DR00, "SSDT", "", "")
+
+ Field(DR00, AnyAcc, NoLock, Preserve) {
+ FU01, 0x180}
+
+ Store(FU01, Local0)
+ Store(\DTR0.SSDT, Local1)
+
+ if (LNotEqual(Local0, Local1)) {
+ err(arg0, z142, 18, 0, 0, Local0, Local1)
+ }
+ }
+
+ // ArgX
+ Method(m001, 4) {
+ DataTableRegion (DR00, arg1, arg2, arg3)
+
+ Field(DR00, AnyAcc, NoLock, Preserve) {
+ FU01, 0x180}
+
+ Store(FU01, Local0)
+ Store(\DTR0.SSDT, Local1)
+
+ if (LNotEqual(Local0, Local1)) {
+ err(arg0, z142, 19, 0, 0, Local0, Local1)
+ }
+ }
+
+ // Named
+ Method(m002, 1) {
+ DataTableRegion (DR00, s000, s001, s002)
+
+ Field(DR00, AnyAcc, NoLock, Preserve) {
+ FU01, 0x180}
+
+ Store(FU01, Local0)
+ Store(\DTR0.SSDT, Local1)
+
+ if (LNotEqual(Local0, Local1)) {
+ err(arg0, z142, 20, 0, 0, Local0, Local1)
+ }
+ }
+
+ // LocalX
+ Method(m003, 1) {
+ Store(s000, Local2)
+ Store(s001, Local3)
+ Store(s002, Local4)
+
+ DataTableRegion (DR00, Local2, Local3, Local4)
+
+ Field(DR00, AnyAcc, NoLock, Preserve) {
+ FU01, 0x180}
+
+ Store(FU01, Local0)
+ Store(\DTR0.SSDT, Local1)
+
+ if (LNotEqual(Local0, Local1)) {
+ err(arg0, z142, 21, 0, 0, Local0, Local1)
+ }
+ }
+
+ // Expression
+ Method(m004, 1) {
+ Store("SS", Local2)
+ Store("DT", Local3)
+
+ DataTableRegion (DR00, Concatenate(Local2, Local3), Mid(s000, 1, 0), s002)
+
+ Field(DR00, AnyAcc, NoLock, Preserve) {
+ FU01, 0x180}
+
+ Store(FU01, Local0)
+ Store(\DTR0.SSDT, Local1)
+
+ if (LNotEqual(Local0, Local1)) {
+ err(arg0, z142, 22, 0, 0, Local0, Local1)
+ }
+ }
+
+ Concatenate(arg0, "-m7f1", arg0)
+
+ m000(arg0)
+ m001(arg0, "SSDT", "", "")
+ m002(arg0)
+ m003(arg0)
+ m004(arg0)
+}
+
+// Check different Table signatures
+// m7f4(CallChain)
+// CallChain: String
+Method(m7f4, 1)
+{
+ Method(m000, 3) {
+ DataTableRegion (DR00, arg1, "", "")
+
+ Field(DR00, AnyAcc, NoLock, Preserve) {
+ FU00, 0x180}
+
+ Store(FU00, Local0)
+
+ if (LNotEqual(Local0, arg1)) {
+ err(arg0, z142, arg2, 0, 0, Local0, arg1)
+ }
+ }
+
+ Concatenate(arg0, "-m7f4", arg0)
+
+ m000(arg0, "DSDT", 27)
+ m000(arg0, "SSDT", 28)
+ m000(arg0, "RSDT", 29)
+ m000(arg0, "TEST", 30)
+ m000(arg0, "BAD!", 31)
+ m000(arg0, "FACP", 32)
+ m000(arg0, "SSDT", 33)
+ m000(arg0, "OEM1", 34)
+}
+
+Method(DRC0)
+{
+ Name(ts, "DRC0")
+
+ // Global DataTableRegions
+ SRMT("m7f0")
+ m7f0(ts)
+
+ // Dynamic DataTableRegions
+ SRMT("m7f1")
+ if (y217) {
+ m7f1(ts)
+ } else {
+ BLCK()
+ }
+
+ // DataTableRegion Lengths
+ SRMT("m7f2")
+ m7f2(ts)
+
+ // Non-constant DataTableRegion *String arguments
+ SRMT("m7f3")
+ if (y223) {
+ m7f3(ts)
+ } else {
+ BLCK()
+ }
+
+ // Different Table signatures
+ SRMT("m7f4")
+ if (y223) {
+ m7f4(ts)
+ } else {
+ BLCK()
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/functional/region/indexfield.asl b/tests/aslts/src/runtime/collections/functional/region/indexfield.asl
new file mode 100644
index 000000000..7f47727f7
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/region/indexfield.asl
@@ -0,0 +1,10440 @@
+/*
+ * 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.
+ */
+
+/*
+ * IndexField objects definition and processing
+ */
+
+/*
+ * On testing following issues should be covered:
+ * - Operation Regions of different Region Space types application
+ * for index/data fields in IndexField objects definition,
+ * - application of any allowed AccessType Keywords,
+ * - application of any allowed LockRule Keywords,
+ * - application of any allowed UpdateRule Keywords,
+ * - application of the Offset macros in the FieldUnitList,
+ * - application of the AccessAs macros in the FieldUnitList,
+ * - on writing taking into account the Access Type in accord with
+ the Update Rule,
+ * - AccessAs macros influence on the remaining Field Units within the list,
+ * - access to IndexField objects in accord with the index/data-style
+ * representation,
+ * - access to IndexField objects located on boundary of AccessType Unit,
+ * - integer/buffer representation of the Unit contents as depends on its
+ * Length and DSDT ComplianceRevision (32/64-bit Integer),
+ * - Data Type Conversion Rules on storing to IndexFields.
+ *
+ * Can not be tested following issues:
+ * - exact use of given Access Type alignment on Access to Unit data,
+ * - exact functioning of data exchange based on IndexField functionality,
+ * - exact use of specific Conversion Rules on storing of Buffers or Strings.
+ */
+
+Name(z144, 144)
+
+OperationRegion(OPRk, SystemMemory, 0x200, 0x10)
+
+Field(OPRk, ByteAcc, NoLock, Preserve) {
+ fk32, 32,
+}
+
+Field(OPRk, ByteAcc, NoLock, Preserve) {
+ fk64, 64,
+}
+
+Field(OPRk, ByteAcc, NoLock, Preserve) {
+ fk28, 128,
+}
+
+Method(m770, 1)
+{
+ Field(OPRk, ByteAcc, NoLock, Preserve) {
+ idx0, 4,
+ dta0, 3,
+ }
+
+ IndexField(idx0, dta0, ByteAcc, NoLock, Preserve) {
+ reg0, 3,
+ reg1, 3,
+ reg2, 3,
+ reg3, 3,
+ }
+
+ Name(i000, 0)
+
+ Concatenate(arg0, "-m770", arg0)
+
+ Store("TEST: m770, initial IndexFields check", Debug)
+
+ Store(ObjectType(reg0), Local0)
+ Store(c00d, Local1)
+ if (LNotEqual(Local0, Local1)) {
+ err(arg0, z144, 1, 0, 0, Local0, Local1)
+ }
+
+ Store(ObjectType(reg1), Local0)
+ Store(c00d, Local1)
+ if (LNotEqual(Local0, Local1)) {
+ err(arg0, z144, 2, 0, 0, Local0, Local1)
+ }
+
+ Store(ObjectType(reg2), Local0)
+ Store(c00d, Local1)
+ if (LNotEqual(Local1, Local0)) {
+ err(arg0, z144, 3, 0, 0, Local0, Local1)
+ }
+
+ Store(ObjectType(reg3), Local0)
+ Store(c00d, Local1)
+ if (LNotEqual(Local1, Local0)) {
+ err(arg0, z144, 4, 0, 0, Local0, Local1)
+ }
+
+ Store(i000, fk32)
+ Store(0xf, reg0)
+
+ Store(fk32, Local0)
+ Store(0x70, Local1)
+ if (LNotEqual(Local1, Local0)) {
+ err(arg0, z144, 5, 0, 0, Local0, Local1)
+ }
+
+ Store(i000, fk32)
+ Store(0xf, reg1)
+
+ Store(fk32, Local0)
+ Store(0x70, Local1)
+ if (LNotEqual(Local1, Local0)) {
+ err(arg0, z144, 6, 0, 0, Local0, Local1)
+ }
+
+ Store(i000, fk32)
+ Store(0xf, reg2)
+
+ Store(fk32, Local0)
+ Store(0x31, Local1)
+ if (LNotEqual(Local1, Local0)) {
+ err(arg0, z144, 7, 0, 0, Local0, Local1)
+ }
+
+ Store(i000, fk32)
+ Store(0xf, reg3)
+
+ Store(fk32, Local0)
+ Store(0x71, Local1)
+ if (LNotEqual(Local1, Local0)) {
+ err(arg0, z144, 8, 0, 0, Local0, Local1)
+ }
+}
+
+// Access to 1-bit IndexFields, ByteAcc
+Method(m771, 1)
+{
+ Concatenate(arg0, "-m771", arg0)
+
+ Store("TEST: m771, Check Access to 1-bit IndexFields, ByteAcc", Debug)
+
+ Field(OPRk, ByteAcc, NoLock, WriteAsZeros) {
+ idx0, 16,
+ dta0, 16,
+ }
+ IndexField(idx0, dta0, ByteAcc, NoLock, WriteAsZeros) {
+ idf0, 1, , 6, idf1, 1,
+ idf2, 1, , 6, idf3, 1,
+ idf4, 1, , 6, idf5, 1,
+ idf6, 1, , 6, idf7, 1,
+ }
+
+ m77e(arg0, 1, Refof(idf0), Refof(fk32), 0xffffffff, 0x00010000, 0)
+ m77e(arg0, 1, Refof(idf1), Refof(fk32), 0xffffffff, 0x00800000, 1)
+ m77e(arg0, 1, Refof(idf2), Refof(fk32), 0xffffffff, 0x00010001, 2)
+ m77e(arg0, 1, Refof(idf3), Refof(fk32), 0xffffffff, 0x00800001, 3)
+ m77e(arg0, 1, Refof(idf4), Refof(fk32), 0xffffffff, 0x00010002, 4)
+ m77e(arg0, 1, Refof(idf5), Refof(fk32), 0xffffffff, 0x00800002, 5)
+ m77e(arg0, 1, Refof(idf6), Refof(fk32), 0xffffffff, 0x00010003, 6)
+ m77e(arg0, 1, Refof(idf7), Refof(fk32), 0xffffffff, 0x00800003, 7)
+}
+
+// Access to 1-bit IndexFields, WordAcc
+Method(m772, 1)
+{
+ Concatenate(arg0, "-m772", arg0)
+
+ Store("TEST: m772, Check Access to 1-bit IndexFields, WordAcc", Debug)
+
+ Field(OPRk, ByteAcc, NoLock, WriteAsZeros) {
+ idx0, 16,
+ dta0, 16,
+ }
+ IndexField(idx0, dta0, WordAcc, NoLock, WriteAsZeros) {
+ idf0, 1, , 6, idf1, 1,
+ idf2, 1, , 6, idf3, 1,
+ idf4, 1, , 6, idf5, 1,
+ idf6, 1, , 6, idf7, 1,
+ }
+
+ m77e(arg0, 1, Refof(idf0), Refof(fk32), 0xffffffff, 0x00010000, 0)
+ m77e(arg0, 1, Refof(idf1), Refof(fk32), 0xffffffff, 0x00800000, 1)
+ m77e(arg0, 1, Refof(idf2), Refof(fk32), 0xffffffff, 0x01000000, 2)
+ m77e(arg0, 1, Refof(idf3), Refof(fk32), 0xffffffff, 0x80000000, 3)
+ m77e(arg0, 1, Refof(idf4), Refof(fk32), 0xffffffff, 0x00010002, 4)
+ m77e(arg0, 1, Refof(idf5), Refof(fk32), 0xffffffff, 0x00800002, 5)
+ m77e(arg0, 1, Refof(idf6), Refof(fk32), 0xffffffff, 0x01000002, 6)
+ m77e(arg0, 1, Refof(idf7), Refof(fk32), 0xffffffff, 0x80000002, 7)
+}
+
+// Access to 1-bit IndexFields, DWordAcc
+Method(m773, 1)
+{
+ Concatenate(arg0, "-m773", arg0)
+
+ Store("TEST: m773, Check Access to 1-bit IndexFields, DWordAcc", Debug)
+
+ Field(OPRk, ByteAcc, NoLock, WriteAsZeros) {
+ idx0, 32,
+ dta0, 32,
+ }
+ IndexField(idx0, dta0, DWordAcc, NoLock, WriteAsZeros) {
+ idf0, 1, , 14, idf1, 1,
+ idf2, 1, , 14, idf3, 1,
+ idf4, 1, , 14, idf5, 1,
+ idf6, 1, , 14, idf7, 1,
+ }
+
+ if (F64) {
+ Store(0xffffffffffffffff, Local0)
+ } else {
+ Store(Buffer(8){0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}, Local0)
+ }
+
+ m77e(arg0, 1, Refof(idf0), Refof(fk64), Local0,
+ Buffer(8){0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00}, 0)
+ m77e(arg0, 1, Refof(idf1), Refof(fk64), Local0,
+ Buffer(8){0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00}, 1)
+ m77e(arg0, 1, Refof(idf2), Refof(fk64), Local0,
+ Buffer(8){0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00}, 2)
+ m77e(arg0, 1, Refof(idf3), Refof(fk64), Local0,
+ Buffer(8){0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80}, 3)
+ m77e(arg0, 1, Refof(idf4), Refof(fk64), Local0,
+ Buffer(8){0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00}, 4)
+ m77e(arg0, 1, Refof(idf5), Refof(fk64), Local0,
+ Buffer(8){0x04, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00}, 5)
+ m77e(arg0, 1, Refof(idf6), Refof(fk64), Local0,
+ Buffer(8){0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00}, 6)
+ m77e(arg0, 1, Refof(idf7), Refof(fk64), Local0,
+ Buffer(8){0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80}, 7)
+}
+
+// Access to 1-bit IndexFields, QWordAcc
+Method(m774, 1)
+{
+ Concatenate(arg0, "-m774", arg0)
+
+ Store("TEST: m774, Check Access to 1-bit IndexFields, QWordAcc", Debug)
+
+ Field(OPRk, ByteAcc, NoLock, WriteAsZeros) {
+ idx0, 64,
+ dta0, 64,
+ }
+ IndexField(idx0, dta0, QWordAcc, NoLock, WriteAsZeros) {
+ idf0, 1, , 30, idf1, 1,
+ idf2, 1, , 30, idf3, 1,
+ idf4, 1, , 30, idf5, 1,
+ idf6, 1, , 30, idf7, 1,
+ }
+
+ Store(Buffer(16){
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
+ Local0)
+
+ m77e(arg0, 1, Refof(idf0), Refof(fk28), Local0,
+ Buffer(16){0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, 0)
+ m77e(arg0, 1, Refof(idf1), Refof(fk28), Local0,
+ Buffer(16){0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00}, 1)
+ m77e(arg0, 1, Refof(idf2), Refof(fk28), Local0,
+ Buffer(16){0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00}, 2)
+ m77e(arg0, 1, Refof(idf3), Refof(fk28), Local0,
+ Buffer(16){0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80}, 3)
+ m77e(arg0, 1, Refof(idf4), Refof(fk28), Local0,
+ Buffer(16){0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, 4)
+ m77e(arg0, 1, Refof(idf5), Refof(fk28), Local0,
+ Buffer(16){0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00}, 5)
+ m77e(arg0, 1, Refof(idf6), Refof(fk28), Local0,
+ Buffer(16){0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00}, 6)
+ m77e(arg0, 1, Refof(idf7), Refof(fk28), Local0,
+ Buffer(16){0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80}, 7)
+}
+
+// Store to the IndexField and check Index/Data common Region Field
+//m77e(CallChain, Source, IndexField, Common, Filler, BenchMark, ErrNum)
+Method(m77e, 7)
+{
+ Concatenate(arg0, "-m77e", arg0)
+
+ Store(Refof(arg2), Local0)
+ Store(Refof(arg3), Local1)
+
+ // Fill Index/Data common Region Field
+ Store(arg4, Derefof(Local1))
+
+ // Store to the IndexField
+ Store(arg1, Derefof(Local0))
+
+ // Retrieve Index/Data common Region Field
+ Store(Derefof(arg3), Local2)
+
+ if (LEqual(ObjectType(arg4), 1)) {
+ ToInteger(arg5, arg5)
+ }
+
+ if (LNotEqual(arg5, Local2)) {
+ err(arg0, z144, 9, z144, arg6, Local2, arg5)
+ }
+
+ // Fill Index/Data common Region Field
+ Store(arg4, Derefof(Local1))
+
+ // Read from the IndexField
+ Store(Derefof(arg2), Local2)
+
+ if (LNotEqual(arg1, Local2)) {
+ err(arg0, z144, 10, z144, arg6, Local2, arg1)
+ }
+
+ // Retrieve Index/Data common Region Field
+ Store(Derefof(arg3), Local2)
+
+ if (LNotEqual(arg5, Local2)) {
+ err(arg0, z144, 11, z144, arg6, Local2, arg5)
+ }
+
+}
+
+// Splitting of IndexFields
+// m775(CallChain)
+Method(m775, 1)
+{
+ OperationRegion(OPR0, SystemMemory, 1000, 0x08)
+
+ Store("TEST: m775, Check Splitting of IndexFields", Debug)
+
+ Concatenate(arg0, "-m775", arg0)
+
+ m780(arg0, OPR0)
+ m781(arg0, OPR0)
+ m782(arg0, OPR0)
+ m783(arg0, OPR0)
+ m784(arg0, OPR0)
+ m785(arg0, OPR0)
+ m786(arg0, OPR0)
+ m787(arg0, OPR0)
+ m788(arg0, OPR0)
+ m789(arg0, OPR0)
+}
+
+// Create IndexFields that spans the same bits
+// and check possible inconsistence, 0-bit offset.
+// m780(CallChain, OpRegion)
+Method(m780, 2)
+{
+ OperationRegion(OPRm, 0xff, 0x100, 0x08)
+
+ Concatenate(arg0, "-m780", arg0)
+
+ CopyObject(arg1, OPRm)
+
+ Field(OPRm, ByteAcc, NoLock, Preserve) {
+ IDX0, 16,
+ DAT0, 16,
+ }
+
+ IndexField(IDX0, DAT0, ByteAcc, NoLock, Preserve) {
+ , 0, // 0-bit offset
+ IF00, 0x3}
+
+ IndexField(IDX0, DAT0, ByteAcc, NoLock, Preserve) {
+ , 0,
+ IF10, 0x1,
+ IF11, 0x1,
+ IF12, 0x1}
+
+ IndexField(IDX0, DAT0, ByteAcc, NoLock, Preserve) {
+ , 0,
+ IF20, 0x1,
+ IF21, 0x2}
+
+ IndexField(IDX0, DAT0, ByteAcc, NoLock, Preserve) {
+ , 0,
+ IF30, 0x2,
+ IF31, 0x1}
+
+ Store(8, Local0)
+
+ Store(Package(){IF10, IF11, IF12, IF20, IF21, IF30, IF31}, Local1)
+
+ while(Local0) {
+ Decrement(Local0)
+
+ Store(Local0, IF00)
+
+ if (y118) {
+ } else {
+ Store(IF10, Index(Local1, 0))
+ Store(IF11, Index(Local1, 1))
+ Store(IF12, Index(Local1, 2))
+ Store(IF20, Index(Local1, 3))
+ Store(IF21, Index(Local1, 4))
+ Store(IF30, Index(Local1, 5))
+ Store(IF31, Index(Local1, 6))
+ }
+
+ m72a(arg0, Local0, Local1)
+ }
+}
+
+// Create IndexFields that spans the same bits
+// and check possible inconsistence, 1-bit offset.
+// m781(CallChain, OpRegion)
+Method(m781, 2)
+{
+ OperationRegion(OPRm, 0xff, 0, 0x08)
+
+ Concatenate(arg0, "-m781", arg0)
+
+ CopyObject(arg1, OPRm)
+
+ Field(OPRm, WordAcc, NoLock, Preserve) {
+ IDX0, 16,
+ DAT0, 16,
+ }
+
+ IndexField(IDX0, DAT0, ByteAcc, NoLock, Preserve) {
+ , 1, // 1-bit offset
+ IF00, 0x3}
+
+ IndexField(IDX0, DAT0, ByteAcc, NoLock, Preserve) {
+ , 1,
+ IF10, 0x1,
+ IF11, 0x1,
+ IF12, 0x1}
+
+ IndexField(IDX0, DAT0, ByteAcc, NoLock, Preserve) {
+ , 1,
+ IF20, 0x1,
+ IF21, 0x2}
+
+ IndexField(IDX0, DAT0, ByteAcc, NoLock, Preserve) {
+ , 1,
+ IF30, 0x2,
+ IF31, 0x1}
+
+ Store(8, Local0)
+
+ Store(Package(){IF10, IF11, IF12, IF20, IF21, IF30, IF31}, Local1)
+
+ while(Local0) {
+ Decrement(Local0)
+
+ Store(Local0, IF00)
+
+ if (y118) {
+ } else {
+ Store(IF10, Index(Local1, 0))
+ Store(IF11, Index(Local1, 1))
+ Store(IF12, Index(Local1, 2))
+ Store(IF20, Index(Local1, 3))
+ Store(IF21, Index(Local1, 4))
+ Store(IF30, Index(Local1, 5))
+ Store(IF31, Index(Local1, 6))
+ }
+
+ m72a(arg0, Local0, Local1)
+ }
+}
+
+// Create IndexFields that spans the same bits
+// and check possible inconsistence, 2-bit offset.
+// m782(CallChain, OpRegion)
+Method(m782, 2)
+{
+ OperationRegion(OPRm, 0xff, 0, 0x08)
+
+ Concatenate(arg0, "-m782", arg0)
+
+ CopyObject(arg1, OPRm)
+
+ Field(OPRm, DWordAcc, NoLock, Preserve) {
+ IDX0, 32,
+ DAT0, 32,
+ }
+
+ IndexField(IDX0, DAT0, ByteAcc, NoLock, Preserve) {
+ , 2, // 2-bit offset
+ IF00, 0x3}
+
+ IndexField(IDX0, DAT0, ByteAcc, NoLock, Preserve) {
+ , 2,
+ IF10, 0x1,
+ IF11, 0x1,
+ IF12, 0x1}
+
+ IndexField(IDX0, DAT0, ByteAcc, NoLock, Preserve) {
+ , 2,
+ IF20, 0x1,
+ IF21, 0x2}
+
+ IndexField(IDX0, DAT0, ByteAcc, NoLock, Preserve) {
+ , 2,
+ IF30, 0x2,
+ IF31, 0x1}
+
+ Store(8, Local0)
+
+ Store(Package(){IF10, IF11, IF12, IF20, IF21, IF30, IF31}, Local1)
+
+ while(Local0) {
+ Decrement(Local0)
+
+ Store(Local0, IF00)
+
+ if (y118) {
+ } else {
+ Store(IF10, Index(Local1, 0))
+ Store(IF11, Index(Local1, 1))
+ Store(IF12, Index(Local1, 2))
+ Store(IF20, Index(Local1, 3))
+ Store(IF21, Index(Local1, 4))
+ Store(IF30, Index(Local1, 5))
+ Store(IF31, Index(Local1, 6))
+ }
+
+ m72a(arg0, Local0, Local1)
+ }
+}
+
+// Create IndexFields that spans the same bits
+// and check possible inconsistence, 3-bit offset.
+// m783(CallChain, OpRegion)
+Method(m783, 2)
+{
+ OperationRegion(OPRm, 0xff, 0, 0x08)
+
+ Concatenate(arg0, "-m783", arg0)
+
+ CopyObject(arg1, OPRm)
+
+ Field(OPRm, ByteAcc, NoLock, WriteAsOnes) {
+ IDX0, 16,
+ DAT0, 16,
+ }
+
+ IndexField(IDX0, DAT0, ByteAcc, NoLock, Preserve) {
+ , 3, // 3-bit offset
+ IF00, 0x3}
+
+ IndexField(IDX0, DAT0, ByteAcc, NoLock, Preserve) {
+ , 3,
+ IF10, 0x1,
+ IF11, 0x1,
+ IF12, 0x1}
+
+ IndexField(IDX0, DAT0, ByteAcc, NoLock, Preserve) {
+ , 3,
+ IF20, 0x1,
+ IF21, 0x2}
+
+ IndexField(IDX0, DAT0, ByteAcc, NoLock, Preserve) {
+ , 3,
+ IF30, 0x2,
+ IF31, 0x1}
+
+ Store(8, Local0)
+
+ Store(Package(){IF10, IF11, IF12, IF20, IF21, IF30, IF31}, Local1)
+
+ while(Local0) {
+ Decrement(Local0)
+
+ Store(Local0, IF00)
+
+ if (y118) {
+ } else {
+ Store(IF10, Index(Local1, 0))
+ Store(IF11, Index(Local1, 1))
+ Store(IF12, Index(Local1, 2))
+ Store(IF20, Index(Local1, 3))
+ Store(IF21, Index(Local1, 4))
+ Store(IF30, Index(Local1, 5))
+ Store(IF31, Index(Local1, 6))
+ }
+
+ m72a(arg0, Local0, Local1)
+ }
+}
+
+// Create IndexFields that spans the same bits
+// and check possible inconsistence, 4-bit offset.
+// m784(CallChain, OpRegion)
+Method(m784, 2)
+{
+ OperationRegion(OPRm, 0xff, 0, 0x08)
+
+ Concatenate(arg0, "-m784", arg0)
+
+ CopyObject(arg1, OPRm)
+
+ Field(OPRm, WordAcc, NoLock, WriteAsOnes) {
+ IDX0, 16,
+ DAT0, 16,
+ }
+
+ IndexField(IDX0, DAT0, ByteAcc, NoLock, Preserve) {
+ , 4, // 4-bit offset
+ IF00, 0x3}
+
+ IndexField(IDX0, DAT0, ByteAcc, NoLock, Preserve) {
+ , 4,
+ IF10, 0x1,
+ IF11, 0x1,
+ IF12, 0x1}
+
+ IndexField(IDX0, DAT0, ByteAcc, NoLock, Preserve) {
+ , 4,
+ IF20, 0x1,
+ IF21, 0x2}
+
+ IndexField(IDX0, DAT0, ByteAcc, NoLock, Preserve) {
+ , 4,
+ IF30, 0x2,
+ IF31, 0x1}
+
+ Store(8, Local0)
+
+ Store(Package(){IF10, IF11, IF12, IF20, IF21, IF30, IF31}, Local1)
+
+ while(Local0) {
+ Decrement(Local0)
+
+ Store(Local0, IF00)
+
+ if (y118) {
+ } else {
+ Store(IF10, Index(Local1, 0))
+ Store(IF11, Index(Local1, 1))
+ Store(IF12, Index(Local1, 2))
+ Store(IF20, Index(Local1, 3))
+ Store(IF21, Index(Local1, 4))
+ Store(IF30, Index(Local1, 5))
+ Store(IF31, Index(Local1, 6))
+ }
+
+ m72a(arg0, Local0, Local1)
+ }
+}
+
+// Create IndexFields that spans the same bits
+// and check possible inconsistence, 5-bit offset.
+// m785(CallChain, OpRegion)
+Method(m785, 2)
+{
+ OperationRegion(OPRm, 0xff, 0, 0x08)
+
+ Concatenate(arg0, "-m785", arg0)
+
+ CopyObject(arg1, OPRm)
+
+ Field(OPRm, DWordAcc, NoLock, WriteAsOnes) {
+ IDX0, 32,
+ DAT0, 32,
+ }
+
+ IndexField(IDX0, DAT0, ByteAcc, NoLock, Preserve) {
+ , 5, // 5-bit offset
+ IF00, 0x3}
+
+ IndexField(IDX0, DAT0, ByteAcc, NoLock, Preserve) {
+ , 5,
+ IF10, 0x1,
+ IF11, 0x1,
+ IF12, 0x1}
+
+ IndexField(IDX0, DAT0, ByteAcc, NoLock, Preserve) {
+ , 5,
+ IF20, 0x1,
+ IF21, 0x2}
+
+ IndexField(IDX0, DAT0, ByteAcc, NoLock, Preserve) {
+ , 5,
+ IF30, 0x2,
+ IF31, 0x1}
+
+ Store(8, Local0)
+
+ Store(Package(){IF10, IF11, IF12, IF20, IF21, IF30, IF31}, Local1)
+
+ while(Local0) {
+ Decrement(Local0)
+
+ Store(Local0, IF00)
+
+ if (y118) {
+ } else {
+ Store(IF10, Index(Local1, 0))
+ Store(IF11, Index(Local1, 1))
+ Store(IF12, Index(Local1, 2))
+ Store(IF20, Index(Local1, 3))
+ Store(IF21, Index(Local1, 4))
+ Store(IF30, Index(Local1, 5))
+ Store(IF31, Index(Local1, 6))
+ }
+
+ m72a(arg0, Local0, Local1)
+ }
+}
+
+// Create IndexFields that spans the same bits
+// and check possible inconsistence, 6-bit offset.
+// m786(CallChain, OpRegion)
+Method(m786, 2)
+{
+ OperationRegion(OPRm, 0xff, 0, 0x08)
+
+ Concatenate(arg0, "-m786", arg0)
+
+ CopyObject(arg1, OPRm)
+
+ Field(OPRm, ByteAcc, NoLock, WriteAsZeros) {
+ IDX0, 16,
+ DAT0, 16,
+ }
+
+ IndexField(IDX0, DAT0, ByteAcc, NoLock, Preserve) {
+ , 6, // 6-bit offset
+ IF00, 0x3}
+
+ IndexField(IDX0, DAT0, ByteAcc, NoLock, Preserve) {
+ , 6,
+ IF10, 0x1,
+ IF11, 0x1,
+ IF12, 0x1}
+
+ IndexField(IDX0, DAT0, ByteAcc, NoLock, Preserve) {
+ , 6,
+ IF20, 0x1,
+ IF21, 0x2}
+
+ IndexField(IDX0, DAT0, ByteAcc, NoLock, Preserve) {
+ , 6,
+ IF30, 0x2,
+ IF31, 0x1}
+
+ Store(8, Local0)
+
+ Store(Package(){IF10, IF11, IF12, IF20, IF21, IF30, IF31}, Local1)
+
+ while(Local0) {
+ Decrement(Local0)
+
+ Store(Local0, IF00)
+
+ if (y118) {
+ } else {
+ Store(IF10, Index(Local1, 0))
+ Store(IF11, Index(Local1, 1))
+ Store(IF12, Index(Local1, 2))
+ Store(IF20, Index(Local1, 3))
+ Store(IF21, Index(Local1, 4))
+ Store(IF30, Index(Local1, 5))
+ Store(IF31, Index(Local1, 6))
+ }
+
+ m72a(arg0, Local0, Local1)
+ }
+}
+
+// Create IndexFields that spans the same bits
+// and check possible inconsistence, 7-bit offset.
+// m787(CallChain, OpRegion)
+Method(m787, 2)
+{
+ OperationRegion(OPRm, 0xff, 0, 0x08)
+
+ Concatenate(arg0, "-m787", arg0)
+
+ CopyObject(arg1, OPRm)
+
+ Field(OPRm, WordAcc, NoLock, WriteAsZeros) {
+ IDX0, 16,
+ DAT0, 16,
+ }
+
+ IndexField(IDX0, DAT0, ByteAcc, NoLock, Preserve) {
+ , 7, // 7-bit offset
+ IF00, 0x3}
+
+ IndexField(IDX0, DAT0, ByteAcc, NoLock, Preserve) {
+ , 7,
+ IF10, 0x1,
+ IF11, 0x1,
+ IF12, 0x1}
+
+ IndexField(IDX0, DAT0, ByteAcc, NoLock, Preserve) {
+ , 7,
+ IF20, 0x1,
+ IF21, 0x2}
+
+ IndexField(IDX0, DAT0, ByteAcc, NoLock, Preserve) {
+ , 7,
+ IF30, 0x2,
+ IF31, 0x1}
+
+ Store(8, Local0)
+
+ Store(Package(){IF10, IF11, IF12, IF20, IF21, IF30, IF31}, Local1)
+
+ while(Local0) {
+ Decrement(Local0)
+
+ Store(Local0, IF00)
+
+ if (y118) {
+ } else {
+ Store(IF10, Index(Local1, 0))
+ Store(IF11, Index(Local1, 1))
+ Store(IF12, Index(Local1, 2))
+ Store(IF20, Index(Local1, 3))
+ Store(IF21, Index(Local1, 4))
+ Store(IF30, Index(Local1, 5))
+ Store(IF31, Index(Local1, 6))
+ }
+
+ m72a(arg0, Local0, Local1)
+ }
+}
+
+// Create IndexFields that spans the same bits
+// and check possible inconsistence, 8-bit offset.
+// m788(CallChain, OpRegion)
+Method(m788, 2)
+{
+ OperationRegion(OPRm, 0xff, 0, 0x08)
+
+ Concatenate(arg0, "-m788", arg0)
+
+ CopyObject(arg1, OPRm)
+
+ Field(OPRm, DWordAcc, NoLock, WriteAsZeros) {
+ IDX0, 32,
+ DAT0, 32,
+ }
+
+ IndexField(IDX0, DAT0, ByteAcc, NoLock, Preserve) {
+ , 8, // 8-bit offset
+ IF00, 0x3}
+
+ IndexField(IDX0, DAT0, ByteAcc, NoLock, Preserve) {
+ , 8,
+ IF10, 0x1,
+ IF11, 0x1,
+ IF12, 0x1}
+
+ IndexField(IDX0, DAT0, ByteAcc, NoLock, Preserve) {
+ , 8,
+ IF20, 0x1,
+ IF21, 0x2}
+
+ IndexField(IDX0, DAT0, ByteAcc, NoLock, Preserve) {
+ , 8,
+ IF30, 0x2,
+ IF31, 0x1}
+
+ Store(8, Local0)
+
+ Store(Package(){IF10, IF11, IF12, IF20, IF21, IF30, IF31}, Local1)
+
+ while(Local0) {
+ Decrement(Local0)
+
+ Store(Local0, IF00)
+
+ if (y118) {
+ } else {
+ Store(IF10, Index(Local1, 0))
+ Store(IF11, Index(Local1, 1))
+ Store(IF12, Index(Local1, 2))
+ Store(IF20, Index(Local1, 3))
+ Store(IF21, Index(Local1, 4))
+ Store(IF30, Index(Local1, 5))
+ Store(IF31, Index(Local1, 6))
+ }
+
+ m72a(arg0, Local0, Local1)
+ }
+}
+
+// Create IndexFields that spans the same bits
+// and check possible inconsistence, 2046-bit offset.
+// m789(CallChain, OpRegion)
+Method(m789, 2)
+{
+ OperationRegion(OPRm, 0xff, 0, 0x08)
+
+ Concatenate(arg0, "-m789", arg0)
+
+ CopyObject(arg1, OPRm)
+
+ Field(OPRm, WordAcc, NoLock, Preserve) {
+ IDX0, 16,
+ DAT0, 16,
+ }
+
+ IndexField(IDX0, DAT0, ByteAcc, NoLock, Preserve) {
+ , 2046, // 2046-bit offset
+ IF00, 0x3}
+
+ IndexField(IDX0, DAT0, ByteAcc, NoLock, Preserve) {
+ , 2046,
+ IF10, 0x1,
+ IF11, 0x1,
+ IF12, 0x1}
+
+ IndexField(IDX0, DAT0, ByteAcc, NoLock, Preserve) {
+ , 2046,
+ IF20, 0x1,
+ IF21, 0x2}
+
+ IndexField(IDX0, DAT0, ByteAcc, NoLock, Preserve) {
+ , 2046,
+ IF30, 0x2,
+ IF31, 0x1}
+
+ Store(8, Local0)
+
+ Store(Package(){IF10, IF11, IF12, IF20, IF21, IF30, IF31}, Local1)
+
+ while(Local0) {
+ Decrement(Local0)
+
+ Store(Local0, IF00)
+
+ if (y118) {
+ } else {
+ Store(IF10, Index(Local1, 0))
+ Store(IF11, Index(Local1, 1))
+ Store(IF12, Index(Local1, 2))
+ Store(IF20, Index(Local1, 3))
+ Store(IF21, Index(Local1, 4))
+ Store(IF30, Index(Local1, 5))
+ Store(IF31, Index(Local1, 6))
+ }
+
+ m72a(arg0, Local0, Local1)
+ }
+}
+
+// Testing parameters Packages
+// Layout see in regionfield.asl
+// (ByteAcc, NoLock, Preserve)
+Name(pp10, Package() {
+ 0, 8, 0, 8, Package(6){0, 1, 1, 0, 1, "m790"},
+})
+
+// (WordAcc, NoLock, WriteAsOnes)
+Name(pp11, Package() {
+ 0, 8, 8, 8, Package(6){1, 0, 2, 1, 1, "m791"},
+})
+
+// (DWordAcc, NoLock, WriteAsZeros)
+Name(pp12, Package() {
+ 8, 8, 0, 8, Package(6){2, 1, 3, 2, 1, "m792"},
+})
+
+// (QWordAcc, NoLock, Preserve)
+Name(pp13, Package() {
+ 8, 4, 8, 8, Package(6){1, 2, 4, 0, 1, "m793"},
+})
+
+// (AnyAcc, Lock, Preserve)
+Name(pp14, Package() {
+ 12, 4, 8, 8, Package(6){1, 0, 0, 0, 0, "m794"},
+})
+
+// Check IndexField access: ByteAcc, NoLock, Preserve
+// m776(CallChain)
+Method(m776, 1)
+{
+ Concatenate(arg0, "-m776", arg0)
+
+ Store("TEST: m776, Check IndexFields specified as (ByteAcc, NoLock, Preserve)", Debug)
+
+ m72f(arg0, 1, "pp10", pp10)
+}
+
+// Check IndexField access: WordAcc, NoLock, WriteAsOnes
+// m777(CallChain)
+Method(m777, 1)
+{
+ Concatenate(arg0, "-m777", arg0)
+
+ Store("TEST: m777, Check IndexFields specified as (WordAcc, NoLock, WriteAsOnes)", Debug)
+
+ m72f(arg0, 1, "pp11", pp11)
+}
+
+// Check IndexField access: DWordAcc, NoLock, WriteAsZeros
+// m778(CallChain)
+Method(m778, 1)
+{
+ Concatenate(arg0, "-m778", arg0)
+
+ Store("TEST: m778, Check IndexFields specified as (DWordAcc, NoLock, WriteAsZeros)", Debug)
+
+ m72f(arg0, 1, "pp12", pp12)
+}
+
+// Check IndexField access: QWordAcc, NoLock, Preserve
+// m779(CallChain)
+Method(m779, 1)
+{
+ Concatenate(arg0, "-m779", arg0)
+
+ Store("TEST: m779, Check IndexFields specified as (QWordAcc, NoLock, Preserve)", Debug)
+
+ m72f(arg0, 1, "pp13", pp13)
+}
+
+// Check IndexField access: AnyAcc, Lock, Preserve
+// m77a(CallChain)
+Method(m77a, 1)
+{
+ Concatenate(arg0, "-m77a", arg0)
+
+ Store("TEST: m77a, Check IndexFields specified as (AnyAcc, Lock, Preserve)", Debug)
+
+ m72f(arg0, 1, "pp14", pp14)
+}
+
+// Create IndexField Unit
+// (ByteAcc, NoLock, Preserve)
+Method(m790, 6)
+{
+ OperationRegion(OPR0, SystemMemory, 3000, 135)
+
+ /*
+ * Consider different attributes of index/data fields
+ * taking into account the following restrictions:
+ * - the fields spanning the same access unit interfere,
+ * - the fields exceeding 64 bits cause AE_BUFFER_OVERFLOW,
+ * - index field exceeding 32 bits unexpectedly cause
+ * AE_BUFFER_OVERFLOW too,
+ * - data field exceeding IndexField's Access Width
+ * causes overwriting of next memory bytes.
+ */
+
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ IDX0, 8,
+ DAT0, 8,
+ }
+ IndexField(IDX0, DAT0, ByteAcc, NoLock, Preserve) {
+ g000, 2048,
+ }
+
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ Offset(3),
+ IDX1, 8,
+ DAT1, 8,
+ }
+ IndexField(IDX1, DAT1, ByteAcc, NoLock, Preserve) {
+ g001, 2048,
+ }
+
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ Offset(7),
+ IDX2, 16,
+ DAT2, 8,
+ }
+ IndexField(IDX2, DAT2, ByteAcc, NoLock, Preserve) {
+ g002, 2048,
+ }
+
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ Offset(11),
+ IDX3, 8,
+ DAT3, 8,
+ }
+ IndexField(IDX3, DAT3, ByteAcc, NoLock, Preserve) {
+ g003, 2048,
+ }
+
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ Offset(14),
+ IDX4, 16,
+ DAT4, 8,
+ }
+ IndexField(IDX4, DAT4, ByteAcc, NoLock, Preserve) {
+ g004, 2048,
+ }
+
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ Offset(18),
+ IDX5, 32,
+ DAT5, 8,
+ }
+ IndexField(IDX5, DAT5, ByteAcc, NoLock, Preserve) {
+ g005, 2048,
+ }
+
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ Offset(26),
+ IDX6, 8,
+ Offset(28),
+ DAT6, 8,
+ }
+ IndexField(IDX6, DAT6, ByteAcc, NoLock, Preserve) {
+ g006, 2048,
+ }
+
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ Offset(32),
+ IDX7, 32,
+ DAT7, 8,
+ }
+ IndexField(IDX7, DAT7, ByteAcc, NoLock, Preserve) {
+ g007, 2048,
+ }
+
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(40),
+ IDX8, 32,
+ DAT8, 8,
+ }
+ IndexField(IDX8, DAT8, ByteAcc, NoLock, Preserve) {
+ g008, 2048,
+ }
+
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ Offset(56),
+ IDX9, 8,
+ Offset(64),
+ DAT9, 8,
+ }
+ IndexField(IDX9, DAT9, ByteAcc, NoLock, Preserve) {
+ g009, 2048,
+ }
+
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ Offset(72),
+ // Index field exceeding 32 bits causes AE_BUFFER_OVERFLOW
+ // IDXA, 64,
+ // Do not allow index/data interference
+ , 32, IDXA, 32,
+ DATA, 8,
+ }
+ IndexField(IDXA, DATA, ByteAcc, NoLock, Preserve) {
+ g00a, 2048,
+ }
+
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ Offset(88),
+ IDXB, 32,
+ Offset(96),
+ DATB, 8,
+ }
+ IndexField(IDXB, DATB, ByteAcc, NoLock, Preserve) {
+ g00b, 2048,
+ }
+
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ Offset(104),
+ IDXC, 8,
+ DATC, 8,
+ }
+ IndexField(IDXC, DATC, ByteAcc, NoLock, Preserve) {
+ g00c, 2048,
+ }
+
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ Offset(107),
+ // Index field exceeding 32 bits causes AE_BUFFER_OVERFLOW
+ // IDXD, 64,
+ IDXD, 32,
+ DATD, 8,
+ }
+ IndexField(IDXD, DATD, ByteAcc, NoLock, Preserve) {
+ g00d, 2048,
+ }
+
+ Field(OPR0, AnyAcc, NoLock, WriteAsZeros) {
+ Offset(123),
+ IDXE, 32,
+ DATE, 8,
+ }
+ IndexField(IDXE, DATE, ByteAcc, NoLock, Preserve) {
+ g00e, 2048,
+ }
+
+ Concatenate(arg0, "-m790", arg0)
+
+ switch(arg2) {
+ case (0) {
+ switch(arg3) {
+ case (1) {
+ IndexField(IDX0, DAT0, ByteAcc, NoLock, Preserve) {
+ , 0, f000, 1}
+ Store(Refof(f000), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (6) {
+ IndexField(IDX1, DAT1, ByteAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 0, f001, 6}
+ Store(Refof(f001), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (7) {
+ IndexField(IDX2, DAT2, ByteAcc, NoLock, Preserve) {
+ , 0, f002, 7}
+ Store(Refof(f002), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (8) {
+ IndexField(IDX3, DAT3, WordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 0, f003, 8}
+ Store(Refof(f003), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (9) {
+ IndexField(IDX4, DAT4, ByteAcc, NoLock, Preserve) {
+ , 0, f004, 9}
+ Store(Refof(f004), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (31) {
+ IndexField(IDX5, DAT5, DWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 0, f005, 31}
+ Store(Refof(f005), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (32) {
+ IndexField(IDX6, DAT6, ByteAcc, NoLock, Preserve) {
+ , 0, f006, 32}
+ Store(Refof(f006), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (33) {
+ IndexField(IDX7, DAT7, QWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 0, f007, 33}
+ Store(Refof(f007), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (63) {
+ IndexField(IDX8, DAT8, ByteAcc, NoLock, Preserve) {
+ , 0, f008, 63}
+ Store(Refof(f008), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (64) {
+ IndexField(IDX9, DAT9, AnyAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 0, f009, 64}
+ Store(Refof(f009), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (65) {
+ IndexField(IDXA, DATA, ByteAcc, NoLock, Preserve) {
+ , 0, f00a, 65}
+ Store(Refof(f00a), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (69) {
+ IndexField(IDXB, DATB, ByteAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 0, f00b, 69}
+ Store(Refof(f00b), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (129) {
+ IndexField(IDXC, DATC, ByteAcc, NoLock, Preserve) {
+ , 0, f00c, 129}
+ Store(Refof(f00c), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (256) {
+ IndexField(IDXD, DATD, WordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 0, f00d, 256}
+ Store(Refof(f00d), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (1023) {
+ IndexField(IDXE, DATE, ByteAcc, NoLock, Preserve) {
+ , 0, f00e, 1023}
+ Store(Refof(f00e), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (1983) {
+ IndexField(IDX0, DAT0, DWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 0, f00f, 1983}
+ Store(Refof(f00f), Local3)
+ Store(Refof(g000), Local4)
+ }
+ default {
+ err(arg0, z144, 12, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (1) {
+ switch(arg3) {
+ case (1) {
+ IndexField(IDX1, DAT1, QWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ Offset(0), , 1, f010, 1}
+ Store(Refof(f010), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (6) {
+ IndexField(IDX2, DAT2, ByteAcc, NoLock, Preserve) {
+ Offset(0), , 1, f011, 6}
+ Store(Refof(f011), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (7) {
+ IndexField(IDX3, DAT3, AnyAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ Offset(0), , 1, f012, 7}
+ Store(Refof(f012), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (8) {
+ IndexField(IDX4, DAT4, ByteAcc, NoLock, Preserve) {
+ Offset(0), , 1, f013, 8}
+ Store(Refof(f013), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (9) {
+ IndexField(IDX5, DAT5, ByteAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ Offset(0), , 1, f014, 9}
+ Store(Refof(f014), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (31) {
+ IndexField(IDX6, DAT6, ByteAcc, NoLock, Preserve) {
+ Offset(0), , 1, f015, 31}
+ Store(Refof(f015), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (32) {
+ IndexField(IDX7, DAT7, WordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ Offset(0), , 1, f016, 32}
+ Store(Refof(f016), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (33) {
+ IndexField(IDX8, DAT8, ByteAcc, NoLock, Preserve) {
+ Offset(0), , 1, f017, 33}
+ Store(Refof(f017), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (63) {
+ IndexField(IDX9, DAT9, DWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ Offset(0), , 1, f018, 63}
+ Store(Refof(f018), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (64) {
+ IndexField(IDXA, DATA, ByteAcc, NoLock, Preserve) {
+ Offset(0), , 1, f019, 64}
+ Store(Refof(f019), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (65) {
+ IndexField(IDXB, DATB, QWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ Offset(0), , 1, f01a, 65}
+ Store(Refof(f01a), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (69) {
+ IndexField(IDXC, DATC, ByteAcc, NoLock, Preserve) {
+ Offset(0), , 1, f01b, 69}
+ Store(Refof(f01b), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (129) {
+ IndexField(IDXD, DATD, AnyAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ Offset(0), , 1, f01c, 129}
+ Store(Refof(f01c), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (256) {
+ IndexField(IDXE, DATE, ByteAcc, NoLock, Preserve) {
+ Offset(0), , 1, f01d, 256}
+ Store(Refof(f01d), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (1023) {
+ IndexField(IDX0, DAT0, ByteAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ Offset(0), , 1, f01e, 1023}
+ Store(Refof(f01e), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (1983) {
+ IndexField(IDX1, DAT1, ByteAcc, NoLock, Preserve) {
+ Offset(0), , 1, f01f, 1983}
+ Store(Refof(f01f), Local3)
+ Store(Refof(g001), Local4)
+ }
+ default {
+ err(arg0, z144, 13, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (2) {
+ switch(arg3) {
+ case (1) {
+ IndexField(IDX2, DAT2, ByteAcc, NoLock, Preserve) {
+ , 2, f020, 1}
+ Store(Refof(f020), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (6) {
+ IndexField(IDX3, DAT3, WordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 2, f021, 6}
+ Store(Refof(f021), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (7) {
+ IndexField(IDX4, DAT4, ByteAcc, NoLock, Preserve) {
+ , 2, f022, 7}
+ Store(Refof(f022), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (8) {
+ IndexField(IDX5, DAT5, DWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 2, f023, 8}
+ Store(Refof(f023), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (9) {
+ IndexField(IDX6, DAT6, ByteAcc, NoLock, Preserve) {
+ , 2, f024, 9}
+ Store(Refof(f024), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (31) {
+ IndexField(IDX7, DAT7, QWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 2, f025, 31}
+ Store(Refof(f025), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (32) {
+ IndexField(IDX8, DAT8, ByteAcc, NoLock, Preserve) {
+ , 2, f026, 32}
+ Store(Refof(f026), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (33) {
+ IndexField(IDX9, DAT9, AnyAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 2, f027, 33}
+ Store(Refof(f027), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (63) {
+ IndexField(IDXA, DATA, ByteAcc, NoLock, Preserve) {
+ , 2, f028, 63}
+ Store(Refof(f028), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (64) {
+ IndexField(IDXB, DATB, ByteAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 2, f029, 64}
+ Store(Refof(f029), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (65) {
+ IndexField(IDXC, DATC, ByteAcc, NoLock, Preserve) {
+ , 2, f02a, 65}
+ Store(Refof(f02a), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (69) {
+ IndexField(IDXD, DATD, WordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 2, f02b, 69}
+ Store(Refof(f02b), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (129) {
+ IndexField(IDXE, DATE, ByteAcc, NoLock, Preserve) {
+ , 2, f02c, 129}
+ Store(Refof(f02c), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (256) {
+ IndexField(IDX0, DAT0, DWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 2, f02d, 256}
+ Store(Refof(f02d), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (1023) {
+ IndexField(IDX1, DAT1, ByteAcc, NoLock, Preserve) {
+ , 2, f02e, 1023}
+ Store(Refof(f02e), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (1983) {
+ IndexField(IDX2, DAT2, QWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 2, f02f, 1983}
+ Store(Refof(f02f), Local3)
+ Store(Refof(g002), Local4)
+ }
+ default {
+ err(arg0, z144, 14, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (3) {
+ switch(arg3) {
+ case (1) {
+ IndexField(IDX3, DAT3, AnyAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 3, f030, 1}
+ Store(Refof(f030), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (6) {
+ IndexField(IDX4, DAT4, ByteAcc, NoLock, Preserve) {
+ , 3, f031, 6}
+ Store(Refof(f031), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (7) {
+ IndexField(IDX5, DAT5, ByteAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 3, f032, 7}
+ Store(Refof(f032), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (8) {
+ IndexField(IDX6, DAT6, ByteAcc, NoLock, Preserve) {
+ , 3, f033, 8}
+ Store(Refof(f033), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (9) {
+ IndexField(IDX7, DAT7, WordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 3, f034, 9}
+ Store(Refof(f034), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (31) {
+ IndexField(IDX8, DAT8, ByteAcc, NoLock, Preserve) {
+ , 3, f035, 31}
+ Store(Refof(f035), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (32) {
+ IndexField(IDX9, DAT9, DWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 3, f036, 32}
+ Store(Refof(f036), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (33) {
+ IndexField(IDXA, DATA, ByteAcc, NoLock, Preserve) {
+ , 3, f037, 33}
+ Store(Refof(f037), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (63) {
+ IndexField(IDXB, DATB, QWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 3, f038, 63}
+ Store(Refof(f038), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (64) {
+ IndexField(IDXC, DATC, ByteAcc, NoLock, Preserve) {
+ , 3, f039, 64}
+ Store(Refof(f039), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (65) {
+ IndexField(IDXD, DATD, AnyAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 3, f03a, 65}
+ Store(Refof(f03a), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (69) {
+ IndexField(IDXE, DATE, ByteAcc, NoLock, Preserve) {
+ , 3, f03b, 69}
+ Store(Refof(f03b), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (129) {
+ IndexField(IDX0, DAT0, ByteAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 3, f03c, 129}
+ Store(Refof(f03c), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (256) {
+ IndexField(IDX1, DAT1, ByteAcc, NoLock, Preserve) {
+ , 3, f03d, 256}
+ Store(Refof(f03d), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (1023) {
+ IndexField(IDX2, DAT2, WordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 3, f03e, 1023}
+ Store(Refof(f03e), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (1983) {
+ IndexField(IDX3, DAT3, ByteAcc, NoLock, Preserve) {
+ , 3, f03f, 1983}
+ Store(Refof(f03f), Local3)
+ Store(Refof(g003), Local4)
+ }
+ default {
+ err(arg0, z144, 15, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (4) {
+ switch(arg3) {
+ case (1) {
+ IndexField(IDX4, DAT4, ByteAcc, NoLock, Preserve) {
+ , 4, f040, 1}
+ Store(Refof(f040), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (6) {
+ IndexField(IDX5, DAT5, DWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 4, f041, 6}
+ Store(Refof(f041), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (7) {
+ IndexField(IDX6, DAT6, ByteAcc, NoLock, Preserve) {
+ , 4, f042, 7}
+ Store(Refof(f042), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (8) {
+ IndexField(IDX7, DAT7, QWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 4, f043, 8}
+ Store(Refof(f043), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (9) {
+ IndexField(IDX8, DAT8, ByteAcc, NoLock, Preserve) {
+ , 4, f044, 9}
+ Store(Refof(f044), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (31) {
+ IndexField(IDX9, DAT9, AnyAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 4, f045, 31}
+ Store(Refof(f045), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (32) {
+ IndexField(IDXA, DATA, ByteAcc, NoLock, Preserve) {
+ , 4, f046, 32}
+ Store(Refof(f046), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (33) {
+ IndexField(IDXB, DATB, ByteAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 4, f047, 33}
+ Store(Refof(f047), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (63) {
+ IndexField(IDXC, DATC, ByteAcc, NoLock, Preserve) {
+ , 4, f048, 63}
+ Store(Refof(f048), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (64) {
+ IndexField(IDXD, DATD, WordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 4, f049, 64}
+ Store(Refof(f049), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (65) {
+ IndexField(IDXE, DATE, ByteAcc, NoLock, Preserve) {
+ , 4, f04a, 65}
+ Store(Refof(f04a), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (69) {
+ IndexField(IDX0, DAT0, DWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 4, f04b, 69}
+ Store(Refof(f04b), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (129) {
+ IndexField(IDX1, DAT1, ByteAcc, NoLock, Preserve) {
+ , 4, f04c, 129}
+ Store(Refof(f04c), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (256) {
+ IndexField(IDX2, DAT2, QWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 4, f04d, 256}
+ Store(Refof(f04d), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (1023) {
+ IndexField(IDX3, DAT3, ByteAcc, NoLock, Preserve) {
+ , 4, f04e, 1023}
+ Store(Refof(f04e), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (1983) {
+ IndexField(IDX4, DAT4, AnyAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 4, f04f, 1983}
+ Store(Refof(f04f), Local3)
+ Store(Refof(g004), Local4)
+ }
+ default {
+ err(arg0, z144, 16, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (5) {
+ switch(arg3) {
+ case (1) {
+ IndexField(IDX5, DAT5, ByteAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 5, f050, 1}
+ Store(Refof(f050), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (6) {
+ IndexField(IDX6, DAT6, ByteAcc, NoLock, Preserve) {
+ , 5, f051, 6}
+ Store(Refof(f051), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (7) {
+ IndexField(IDX7, DAT7, WordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 5, f052, 7}
+ Store(Refof(f052), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (8) {
+ IndexField(IDX8, DAT8, ByteAcc, NoLock, Preserve) {
+ , 5, f053, 8}
+ Store(Refof(f053), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (9) {
+ IndexField(IDX9, DAT9, DWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 5, f054, 9}
+ Store(Refof(f054), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (31) {
+ IndexField(IDXA, DATA, ByteAcc, NoLock, Preserve) {
+ , 5, f055, 31}
+ Store(Refof(f055), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (32) {
+ IndexField(IDXB, DATB, QWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 5, f056, 32}
+ Store(Refof(f056), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (33) {
+ IndexField(IDXC, DATC, ByteAcc, NoLock, Preserve) {
+ , 5, f057, 33}
+ Store(Refof(f057), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (63) {
+ IndexField(IDXD, DATD, AnyAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 5, f058, 63}
+ Store(Refof(f058), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (64) {
+ IndexField(IDXE, DATE, ByteAcc, NoLock, Preserve) {
+ , 5, f059, 64}
+ Store(Refof(f059), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (65) {
+ IndexField(IDX0, DAT0, ByteAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 5, f05a, 65}
+ Store(Refof(f05a), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (69) {
+ IndexField(IDX1, DAT1, ByteAcc, NoLock, Preserve) {
+ , 5, f05b, 69}
+ Store(Refof(f05b), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (129) {
+ IndexField(IDX2, DAT2, WordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 5, f05c, 129}
+ Store(Refof(f05c), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (256) {
+ IndexField(IDX3, DAT3, ByteAcc, NoLock, Preserve) {
+ , 5, f05d, 256}
+ Store(Refof(f05d), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (1023) {
+ IndexField(IDX4, DAT4, WordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 5, f05e, 1023}
+ Store(Refof(f05e), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (1983) {
+ IndexField(IDX5, DAT5, ByteAcc, NoLock, Preserve) {
+ , 5, f05f, 1983}
+ Store(Refof(f05f), Local3)
+ Store(Refof(g005), Local4)
+ }
+ default {
+ err(arg0, z144, 17, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (6) {
+ switch(arg3) {
+ case (1) {
+ IndexField(IDX6, DAT6, ByteAcc, NoLock, Preserve) {
+ , 6, f060, 1}
+ Store(Refof(f060), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (6) {
+ IndexField(IDX7, DAT7, QWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 6, f061, 6}
+ Store(Refof(f061), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (7) {
+ IndexField(IDX8, DAT8, ByteAcc, NoLock, Preserve) {
+ , 6, f062, 7}
+ Store(Refof(f062), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (8) {
+ IndexField(IDX9, DAT9, AnyAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 6, f063, 8}
+ Store(Refof(f063), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (9) {
+ IndexField(IDXA, DATA, ByteAcc, NoLock, Preserve) {
+ , 6, f064, 9}
+ Store(Refof(f064), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (31) {
+ IndexField(IDXB, DATB, ByteAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 6, f065, 31}
+ Store(Refof(f065), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (32) {
+ IndexField(IDXC, DATC, ByteAcc, NoLock, Preserve) {
+ , 6, f066, 32}
+ Store(Refof(f066), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (33) {
+ IndexField(IDXD, DATD, WordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 6, f067, 33}
+ Store(Refof(f067), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (63) {
+ IndexField(IDXE, DATE, ByteAcc, NoLock, Preserve) {
+ , 6, f068, 63}
+ Store(Refof(f068), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (64) {
+ IndexField(IDX0, DAT0, DWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 6, f069, 64}
+ Store(Refof(f069), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (65) {
+ IndexField(IDX1, DAT1, ByteAcc, NoLock, Preserve) {
+ , 6, f06a, 65}
+ Store(Refof(f06a), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (69) {
+ IndexField(IDX2, DAT2, QWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 6, f06b, 69}
+ Store(Refof(f06b), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (129) {
+ IndexField(IDX3, DAT3, ByteAcc, NoLock, Preserve) {
+ , 6, f06c, 129}
+ Store(Refof(f06c), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (256) {
+ IndexField(IDX4, DAT4, AnyAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 6, f06d, 256}
+ Store(Refof(f06d), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (1023) {
+ IndexField(IDX5, DAT5, ByteAcc, NoLock, Preserve) {
+ , 6, f06e, 1023}
+ Store(Refof(f06e), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (1983) {
+ IndexField(IDX6, DAT6, ByteAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 6, f06f, 1983}
+ Store(Refof(f06f), Local3)
+ Store(Refof(g006), Local4)
+ }
+ default {
+ err(arg0, z144, 18, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (7) {
+ switch(arg3) {
+ case (1) {
+ IndexField(IDX7, DAT7, WordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 7, f070, 1}
+ Store(Refof(f070), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (6) {
+ IndexField(IDX8, DAT8, ByteAcc, NoLock, Preserve) {
+ , 7, f071, 6}
+ Store(Refof(f071), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (7) {
+ IndexField(IDX9, DAT9, DWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 7, f072, 7}
+ Store(Refof(f072), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (8) {
+ IndexField(IDXA, DATA, ByteAcc, NoLock, Preserve) {
+ , 7, f073, 8}
+ Store(Refof(f073), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (9) {
+ IndexField(IDXB, DATB, QWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 7, f074, 9}
+ Store(Refof(f074), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (31) {
+ IndexField(IDXC, DATC, ByteAcc, NoLock, Preserve) {
+ , 7, f075, 31}
+ Store(Refof(f075), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (32) {
+ IndexField(IDXD, DATD, AnyAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 7, f076, 32}
+ Store(Refof(f076), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (33) {
+ IndexField(IDXE, DATE, ByteAcc, NoLock, Preserve) {
+ , 7, f077, 33}
+ Store(Refof(f077), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (63) {
+ IndexField(IDX0, DAT0, ByteAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 7, f078, 63}
+ Store(Refof(f078), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (64) {
+ IndexField(IDX1, DAT1, ByteAcc, NoLock, Preserve) {
+ , 7, f079, 64}
+ Store(Refof(f079), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (65) {
+ IndexField(IDX2, DAT2, WordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 7, f07a, 65}
+ Store(Refof(f07a), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (69) {
+ IndexField(IDX3, DAT3, ByteAcc, NoLock, Preserve) {
+ , 7, f07b, 69}
+ Store(Refof(f07b), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (129) {
+ IndexField(IDX4, DAT4, DWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 7, f07c, 129}
+ Store(Refof(f07c), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (256) {
+ IndexField(IDX5, DAT5, ByteAcc, NoLock, Preserve) {
+ , 7, f07d, 256}
+ Store(Refof(f07d), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (1023) {
+ IndexField(IDX6, DAT6, QWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 7, f07e, 1023}
+ Store(Refof(f07e), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (1983) {
+ IndexField(IDX7, DAT7, ByteAcc, NoLock, Preserve) {
+ , 7, f07f, 1983}
+ Store(Refof(f07f), Local3)
+ Store(Refof(g007), Local4)
+ }
+ default {
+ err(arg0, z144, 19, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (8) {
+ switch(arg3) {
+ case (1) {
+ IndexField(IDX8, DAT8, ByteAcc, NoLock, Preserve) {
+ Offset(1), f080, 1}
+ Store(Refof(f080), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (6) {
+ IndexField(IDX9, DAT9, AnyAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ Offset(1), f081, 6}
+ Store(Refof(f081), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (7) {
+ IndexField(IDXA, DATA, ByteAcc, NoLock, Preserve) {
+ Offset(1), f082, 7}
+ Store(Refof(f082), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (8) {
+ IndexField(IDXB, DATB, ByteAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ Offset(1), f083, 8}
+ Store(Refof(f083), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (9) {
+ IndexField(IDXC, DATC, ByteAcc, NoLock, Preserve) {
+ Offset(1), f084, 9}
+ Store(Refof(f084), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (31) {
+ IndexField(IDXD, DATD, WordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ Offset(1), f085, 31}
+ Store(Refof(f085), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (32) {
+ IndexField(IDXE, DATE, ByteAcc, NoLock, Preserve) {
+ Offset(1), f086, 32}
+ Store(Refof(f086), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (33) {
+ IndexField(IDX0, DAT0, DWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ Offset(1), f087, 33}
+ Store(Refof(f087), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (63) {
+ IndexField(IDX1, DAT1, ByteAcc, NoLock, Preserve) {
+ Offset(1), f088, 63}
+ Store(Refof(f088), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (64) {
+ IndexField(IDX2, DAT2, QWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ Offset(1), f089, 64}
+ Store(Refof(f089), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (65) {
+ IndexField(IDX3, DAT3, ByteAcc, NoLock, Preserve) {
+ Offset(1), f08a, 65}
+ Store(Refof(f08a), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (69) {
+ IndexField(IDX4, DAT4, AnyAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ Offset(1), f08b, 69}
+ Store(Refof(f08b), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (129) {
+ IndexField(IDX5, DAT5, ByteAcc, NoLock, Preserve) {
+ Offset(1), f08c, 129}
+ Store(Refof(f08c), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (256) {
+ IndexField(IDX6, DAT6, ByteAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ Offset(1), f08d, 256}
+ Store(Refof(f08d), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (1023) {
+ IndexField(IDX7, DAT7, ByteAcc, NoLock, Preserve) {
+ Offset(1), f08e, 1023}
+ Store(Refof(f08e), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (1983) {
+ IndexField(IDX8, DAT8, WordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ Offset(1), f08f, 1983}
+ Store(Refof(f08f), Local3)
+ Store(Refof(g008), Local4)
+ }
+ default {
+ err(arg0, z144, 20, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (9) {
+ switch(arg3) {
+ case (1) {
+ IndexField(IDX9, DAT9, QWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 9, f090, 1}
+ Store(Refof(f090), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (6) {
+ IndexField(IDXA, DATA, ByteAcc, NoLock, Preserve) {
+ , 9, f091, 6}
+ Store(Refof(f091), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (7) {
+ IndexField(IDXB, DATB, AnyAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 9, f092, 7}
+ Store(Refof(f092), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (8) {
+ IndexField(IDXC, DATC, ByteAcc, NoLock, Preserve) {
+ , 9, f093, 8}
+ Store(Refof(f093), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (9) {
+ IndexField(IDXD, DATD, ByteAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 9, f094, 9}
+ Store(Refof(f094), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (31) {
+ IndexField(IDXE, DATE, ByteAcc, NoLock, Preserve) {
+ , 9, f095, 31}
+ Store(Refof(f095), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (32) {
+ IndexField(IDX0, DAT0, WordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 9, f096, 32}
+ Store(Refof(f096), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (33) {
+ IndexField(IDX1, DAT1, ByteAcc, NoLock, Preserve) {
+ , 9, f097, 33}
+ Store(Refof(f097), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (63) {
+ IndexField(IDX2, DAT2, DWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 9, f098, 63}
+ Store(Refof(f098), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (64) {
+ IndexField(IDX3, DAT3, ByteAcc, NoLock, Preserve) {
+ , 9, f099, 64}
+ Store(Refof(f099), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (65) {
+ IndexField(IDX4, DAT4, QWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 9, f09a, 65}
+ Store(Refof(f09a), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (69) {
+ IndexField(IDX5, DAT5, ByteAcc, NoLock, Preserve) {
+ , 9, f09b, 69}
+ Store(Refof(f09b), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (129) {
+ IndexField(IDX6, DAT6, AnyAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 9, f09c, 129}
+ Store(Refof(f09c), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (256) {
+ IndexField(IDX7, DAT7, ByteAcc, NoLock, Preserve) {
+ , 9, f09d, 256}
+ Store(Refof(f09d), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (1023) {
+ IndexField(IDX8, DAT8, ByteAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 9, f09e, 1023}
+ Store(Refof(f09e), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (1983) {
+ IndexField(IDX9, DAT9, ByteAcc, NoLock, Preserve) {
+ , 9, f09f, 1983}
+ Store(Refof(f09f), Local3)
+ Store(Refof(g009), Local4)
+ }
+ default {
+ err(arg0, z144, 21, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (31) {
+ switch(arg3) {
+ case (1) {
+ IndexField(IDXA, DATA, ByteAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0a0, 1}
+ Store(Refof(f0a0), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (6) {
+ IndexField(IDXB, DATB, WordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ Offset(3), , 7, f0a1, 6}
+ Store(Refof(f0a1), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (7) {
+ IndexField(IDXC, DATC, ByteAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0a2, 7}
+ Store(Refof(f0a2), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (8) {
+ IndexField(IDXD, DATD, DWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ Offset(3), , 7, f0a3, 8}
+ Store(Refof(f0a3), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (9) {
+ IndexField(IDXE, DATE, ByteAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0a4, 9}
+ Store(Refof(f0a4), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (31) {
+ IndexField(IDX0, DAT0, QWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ Offset(3), , 7, f0a5, 31}
+ Store(Refof(f0a5), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (32) {
+ IndexField(IDX1, DAT1, ByteAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0a6, 32}
+ Store(Refof(f0a6), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (33) {
+ IndexField(IDX2, DAT2, AnyAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ Offset(3), , 7, f0a7, 33}
+ Store(Refof(f0a7), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (63) {
+ IndexField(IDX3, DAT3, ByteAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0a8, 63}
+ Store(Refof(f0a8), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (64) {
+ IndexField(IDX4, DAT4, ByteAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ Offset(3), , 7, f0a9, 64}
+ Store(Refof(f0a9), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (65) {
+ IndexField(IDX5, DAT5, ByteAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0aa, 65}
+ Store(Refof(f0aa), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (69) {
+ IndexField(IDX6, DAT6, WordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ Offset(3), , 7, f0ab, 69}
+ Store(Refof(f0ab), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (129) {
+ IndexField(IDX7, DAT7, ByteAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0ac, 129}
+ Store(Refof(f0ac), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (256) {
+ IndexField(IDX8, DAT8, DWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ Offset(3), , 7, f0ad, 256}
+ Store(Refof(f0ad), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (1023) {
+ IndexField(IDX9, DAT9, ByteAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0ae, 1023}
+ Store(Refof(f0ae), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (1983) {
+ IndexField(IDXA, DATA, QWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ Offset(3), , 7, f0af, 1983}
+ Store(Refof(f0af), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ default {
+ err(arg0, z144, 22, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (32) {
+ switch(arg3) {
+ case (1) {
+ IndexField(IDXB, DATB, AnyAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 32, f0b0, 1}
+ Store(Refof(f0b0), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (6) {
+ IndexField(IDXC, DATC, ByteAcc, NoLock, Preserve) {
+ , 32, f0b1, 6}
+ Store(Refof(f0b1), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (7) {
+ IndexField(IDXD, DATD, ByteAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 32, f0b2, 7}
+ Store(Refof(f0b2), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (8) {
+ IndexField(IDXE, DATE, ByteAcc, NoLock, Preserve) {
+ , 32, f0b3, 8}
+ Store(Refof(f0b3), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (9) {
+ IndexField(IDX0, DAT0, WordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 32, f0b4, 9}
+ Store(Refof(f0b4), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (31) {
+ IndexField(IDX1, DAT1, ByteAcc, NoLock, Preserve) {
+ , 32, f0b5, 31}
+ Store(Refof(f0b5), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (32) {
+ IndexField(IDX2, DAT2, DWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 32, f0b6, 32}
+ Store(Refof(f0b6), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (33) {
+ IndexField(IDX3, DAT3, ByteAcc, NoLock, Preserve) {
+ , 32, f0b7, 33}
+ Store(Refof(f0b7), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (63) {
+ IndexField(IDX4, DAT4, QWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 32, f0b8, 63}
+ Store(Refof(f0b8), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (64) {
+ IndexField(IDX5, DAT5, ByteAcc, NoLock, Preserve) {
+ , 32, f0b9, 64}
+ Store(Refof(f0b9), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (65) {
+ IndexField(IDX6, DAT6, AnyAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 32, f0ba, 65}
+ Store(Refof(f0ba), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (69) {
+ IndexField(IDX7, DAT7, ByteAcc, NoLock, Preserve) {
+ , 32, f0bb, 69}
+ Store(Refof(f0bb), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (129) {
+ IndexField(IDX8, DAT8, ByteAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 32, f0bc, 129}
+ Store(Refof(f0bc), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (256) {
+ IndexField(IDX9, DAT9, ByteAcc, NoLock, Preserve) {
+ , 32, f0bd, 256}
+ Store(Refof(f0bd), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (1023) {
+ IndexField(IDXA, DATA, WordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 32, f0be, 1023}
+ Store(Refof(f0be), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (1983) {
+ IndexField(IDXB, DATB, ByteAcc, NoLock, Preserve) {
+ , 32, f0bf, 1983}
+ Store(Refof(f0bf), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ default {
+ err(arg0, z144, 23, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (33) {
+ switch(arg3) {
+ case (1) {
+ IndexField(IDXC, DATC, ByteAcc, NoLock, Preserve) {
+ , 33, f0c0, 1}
+ Store(Refof(f0c0), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (6) {
+ IndexField(IDXD, DATD, DWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 33, f0c1, 6}
+ Store(Refof(f0c1), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (7) {
+ IndexField(IDXE, DATE, ByteAcc, NoLock, Preserve) {
+ , 33, f0c2, 7}
+ Store(Refof(f0c2), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (8) {
+ IndexField(IDX0, DAT0, QWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 33, f0c3, 8}
+ Store(Refof(f0c3), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (9) {
+ IndexField(IDX1, DAT1, ByteAcc, NoLock, Preserve) {
+ , 33, f0c4, 9}
+ Store(Refof(f0c4), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (31) {
+ IndexField(IDX2, DAT2, AnyAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 33, f0c5, 31}
+ Store(Refof(f0c5), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (32) {
+ IndexField(IDX3, DAT3, ByteAcc, NoLock, Preserve) {
+ , 33, f0c6, 32}
+ Store(Refof(f0c6), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (33) {
+ IndexField(IDX4, DAT4, ByteAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 33, f0c7, 33}
+ Store(Refof(f0c7), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (63) {
+ IndexField(IDX5, DAT5, ByteAcc, NoLock, Preserve) {
+ , 33, f0c8, 63}
+ Store(Refof(f0c8), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (64) {
+ IndexField(IDX6, DAT6, WordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 33, f0c9, 64}
+ Store(Refof(f0c9), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (65) {
+ IndexField(IDX7, DAT7, ByteAcc, NoLock, Preserve) {
+ , 33, f0ca, 65}
+ Store(Refof(f0ca), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (69) {
+ IndexField(IDX8, DAT8, DWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 33, f0cb, 69}
+ Store(Refof(f0cb), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (129) {
+ IndexField(IDX9, DAT9, ByteAcc, NoLock, Preserve) {
+ , 33, f0cc, 129}
+ Store(Refof(f0cc), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (256) {
+ IndexField(IDXA, DATA, QWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 33, f0cd, 256}
+ Store(Refof(f0cd), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (1023) {
+ IndexField(IDXB, DATB, ByteAcc, NoLock, Preserve) {
+ , 33, f0ce, 1023}
+ Store(Refof(f0ce), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (1983) {
+ IndexField(IDXC, DATC, AnyAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 33, f0cf, 1983}
+ Store(Refof(f0cf), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ default {
+ err(arg0, z144, 24, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (63) {
+ switch(arg3) {
+ case (1) {
+ IndexField(IDXD, DATD, ByteAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 63, f0d0, 1}
+ Store(Refof(f0d0), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (6) {
+ IndexField(IDXE, DATE, ByteAcc, NoLock, Preserve) {
+ , 63, f0d1, 6}
+ Store(Refof(f0d1), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (7) {
+ IndexField(IDX0, DAT0, WordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 63, f0d2, 7}
+ Store(Refof(f0d2), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (8) {
+ IndexField(IDX1, DAT1, ByteAcc, NoLock, Preserve) {
+ , 63, f0d3, 8}
+ Store(Refof(f0d3), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (9) {
+ IndexField(IDX2, DAT2, DWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 63, f0d4, 9}
+ Store(Refof(f0d4), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (31) {
+ IndexField(IDX3, DAT3, ByteAcc, NoLock, Preserve) {
+ , 63, f0d5, 31}
+ Store(Refof(f0d5), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (32) {
+ IndexField(IDX4, DAT4, QWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 63, f0d6, 32}
+ Store(Refof(f0d6), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (33) {
+ IndexField(IDX5, DAT5, ByteAcc, NoLock, Preserve) {
+ , 63, f0d7, 33}
+ Store(Refof(f0d7), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (63) {
+ IndexField(IDX6, DAT6, AnyAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 63, f0d8, 63}
+ Store(Refof(f0d8), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (64) {
+ IndexField(IDX7, DAT7, ByteAcc, NoLock, Preserve) {
+ , 63, f0d9, 64}
+ Store(Refof(f0d9), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (65) {
+ IndexField(IDX8, DAT8, ByteAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 63, f0da, 65}
+ Store(Refof(f0da), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (69) {
+ IndexField(IDX9, DAT9, ByteAcc, NoLock, Preserve) {
+ , 63, f0db, 69}
+ Store(Refof(f0db), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (129) {
+ IndexField(IDXA, DATA, WordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 63, f0dc, 129}
+ Store(Refof(f0dc), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (256) {
+ IndexField(IDXB, DATB, ByteAcc, NoLock, Preserve) {
+ , 63, f0dd, 256}
+ Store(Refof(f0dd), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (1023) {
+ IndexField(IDXC, DATC, DWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 63, f0de, 1023}
+ Store(Refof(f0de), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (1983) {
+ IndexField(IDXD, DATD, ByteAcc, NoLock, Preserve) {
+ , 63, f0df, 1983}
+ Store(Refof(f0df), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ default {
+ err(arg0, z144, 25, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (64) {
+ switch(arg3) {
+ case (1) {
+ IndexField(IDXE, DATE, ByteAcc, NoLock, Preserve) {
+ , 64, f0e0, 1}
+ Store(Refof(f0e0), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (6) {
+ IndexField(IDX0, DAT0, QWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 64, f0e1, 6}
+ Store(Refof(f0e1), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (7) {
+ IndexField(IDX1, DAT1, ByteAcc, NoLock, Preserve) {
+ , 64, f0e2, 7}
+ Store(Refof(f0e2), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (8) {
+ IndexField(IDX2, DAT2, AnyAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 64, f0e3, 8}
+ Store(Refof(f0e3), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (9) {
+ IndexField(IDX3, DAT3, ByteAcc, NoLock, Preserve) {
+ , 64, f0e4, 9}
+ Store(Refof(f0e4), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (31) {
+ IndexField(IDX4, DAT4, ByteAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 64, f0e5, 31}
+ Store(Refof(f0e5), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (32) {
+ IndexField(IDX5, DAT5, ByteAcc, NoLock, Preserve) {
+ , 64, f0e6, 32}
+ Store(Refof(f0e6), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (33) {
+ IndexField(IDX6, DAT6, WordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 64, f0e7, 33}
+ Store(Refof(f0e7), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (63) {
+ IndexField(IDX7, DAT7, ByteAcc, NoLock, Preserve) {
+ , 64, f0e8, 63}
+ Store(Refof(f0e8), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (64) {
+ IndexField(IDX8, DAT8, DWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 64, f0e9, 64}
+ Store(Refof(f0e9), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (65) {
+ IndexField(IDX9, DAT9, ByteAcc, NoLock, Preserve) {
+ , 64, f0ea, 65}
+ Store(Refof(f0ea), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (69) {
+ IndexField(IDXA, DATA, QWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 64, f0eb, 69}
+ Store(Refof(f0eb), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (129) {
+ IndexField(IDXB, DATB, ByteAcc, NoLock, Preserve) {
+ , 64, f0ec, 129}
+ Store(Refof(f0ec), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (256) {
+ IndexField(IDXC, DATC, AnyAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 64, f0ed, 256}
+ Store(Refof(f0ed), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (1023) {
+ IndexField(IDXD, DATD, ByteAcc, NoLock, Preserve) {
+ , 64, f0ee, 1023}
+ Store(Refof(f0ee), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (1983) {
+ IndexField(IDXE, DATE, ByteAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ , 64, f0ef, 1983}
+ Store(Refof(f0ef), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ default {
+ err(arg0, z144, 26, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (65) {
+ switch(arg3) {
+ case (1) {
+ IndexField(IDX0, DAT0, WordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ Offset(8), , 1, f0f0, 1}
+ Store(Refof(f0f0), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (6) {
+ IndexField(IDX1, DAT1, ByteAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0f1, 6}
+ Store(Refof(f0f1), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (7) {
+ IndexField(IDX2, DAT2, DWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ Offset(8), , 1, f0f2, 7}
+ Store(Refof(f0f2), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (8) {
+ IndexField(IDX3, DAT3, ByteAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0f3, 8}
+ Store(Refof(f0f3), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (9) {
+ IndexField(IDX4, DAT4, QWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ Offset(8), , 1, f0f4, 9}
+ Store(Refof(f0f4), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (31) {
+ IndexField(IDX5, DAT5, ByteAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0f5, 31}
+ Store(Refof(f0f5), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (32) {
+ IndexField(IDX6, DAT6, AnyAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ Offset(8), , 1, f0f6, 32}
+ Store(Refof(f0f6), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (33) {
+ IndexField(IDX7, DAT7, ByteAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0f7, 33}
+ Store(Refof(f0f7), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (63) {
+ IndexField(IDX8, DAT8, ByteAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ Offset(8), , 1, f0f8, 63}
+ Store(Refof(f0f8), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (64) {
+ IndexField(IDX9, DAT9, ByteAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0f9, 64}
+ Store(Refof(f0f9), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (65) {
+ IndexField(IDXA, DATA, WordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ Offset(8), , 1, f0fa, 65}
+ Store(Refof(f0fa), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (69) {
+ IndexField(IDXB, DATB, ByteAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0fb, 69}
+ Store(Refof(f0fb), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (129) {
+ IndexField(IDXC, DATC, DWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ Offset(8), , 1, f0fc, 129}
+ Store(Refof(f0fc), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (256) {
+ IndexField(IDXD, DATD, ByteAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0fd, 256}
+ Store(Refof(f0fd), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (1023) {
+ IndexField(IDXE, DATE, QWordAcc, NoLock, Preserve) {
+ AccessAs(ByteAcc),
+ Offset(8), , 1, f0fe, 1023}
+ Store(Refof(f0fe), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (1983) {
+ IndexField(IDX0, DAT0, ByteAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0ff, 1983}
+ Store(Refof(f0ff), Local3)
+ Store(Refof(g000), Local4)
+ }
+ default {
+ err(arg0, z144, 27, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ default {
+ err(arg0, z144, 28, 0, 0, arg2, arg3)
+ return}
+ }
+
+ m72d(arg0, Local3, arg2, arg3, arg4, arg5, Local4)
+}
+
+// Create IndexField Unit
+// (WordAcc, NoLock, WriteAsOnes)
+Method(m791, 6)
+{
+ OperationRegion(OPR0, SystemMemory, 4000, 135)
+
+ /*
+ * Consider different attributes of index/data fields
+ * taking into account the following restrictions:
+ * - the fields spanning the same access unit interfere,
+ * - the fields exceeding 64 bits cause AE_BUFFER_OVERFLOW,
+ * - index field exceeding 32 bits unexpectedly cause
+ * AE_BUFFER_OVERFLOW too,
+ * - data field exceeding IndexField's Access Width
+ * causes overwriting of next memory bytes.
+ */
+
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ IDX0, 8,
+ DAT0, 16,
+ }
+ IndexField(IDX0, DAT0, ByteAcc, NoLock, Preserve) {
+ g000, 2048,
+ }
+
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ Offset(3),
+ IDX1, 8,
+ DAT1, 16,
+ }
+ IndexField(IDX1, DAT1, ByteAcc, NoLock, Preserve) {
+ g001, 2048,
+ }
+
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ Offset(7),
+ IDX2, 16,
+ DAT2, 16,
+ }
+ IndexField(IDX2, DAT2, ByteAcc, NoLock, Preserve) {
+ g002, 2048,
+ }
+
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ Offset(11),
+ IDX3, 8,
+ DAT3, 16,
+ }
+ IndexField(IDX3, DAT3, ByteAcc, NoLock, Preserve) {
+ g003, 2048,
+ }
+
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ Offset(14),
+ IDX4, 16,
+ DAT4, 16,
+ }
+ IndexField(IDX4, DAT4, ByteAcc, NoLock, Preserve) {
+ g004, 2048,
+ }
+
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ Offset(18),
+ IDX5, 32,
+ DAT5, 16,
+ }
+ IndexField(IDX5, DAT5, ByteAcc, NoLock, Preserve) {
+ g005, 2048,
+ }
+
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ Offset(26),
+ IDX6, 8,
+ Offset(28),
+ DAT6, 16,
+ }
+ IndexField(IDX6, DAT6, ByteAcc, NoLock, Preserve) {
+ g006, 2048,
+ }
+
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ Offset(32),
+ IDX7, 32,
+ DAT7, 16,
+ }
+ IndexField(IDX7, DAT7, ByteAcc, NoLock, Preserve) {
+ g007, 2048,
+ }
+
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(40),
+ IDX8, 32,
+ DAT8, 16,
+ }
+ IndexField(IDX8, DAT8, ByteAcc, NoLock, Preserve) {
+ g008, 2048,
+ }
+
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ Offset(56),
+ IDX9, 8,
+ Offset(64),
+ DAT9, 16,
+ }
+ IndexField(IDX9, DAT9, ByteAcc, NoLock, Preserve) {
+ g009, 2048,
+ }
+
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ Offset(72),
+ // Index field exceeding 32 bits causes AE_BUFFER_OVERFLOW
+ // IDXA, 64,
+ // Do not allow index/data interference
+ , 32, IDXA, 32,
+ DATA, 16,
+ }
+ IndexField(IDXA, DATA, ByteAcc, NoLock, Preserve) {
+ g00a, 2048,
+ }
+
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ Offset(88),
+ IDXB, 32,
+ Offset(96),
+ DATB, 16,
+ }
+ IndexField(IDXB, DATB, ByteAcc, NoLock, Preserve) {
+ g00b, 2048,
+ }
+
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ Offset(104),
+ IDXC, 8,
+ DATC, 16,
+ }
+ IndexField(IDXC, DATC, ByteAcc, NoLock, Preserve) {
+ g00c, 2048,
+ }
+
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ Offset(107),
+ // Index field exceeding 32 bits causes AE_BUFFER_OVERFLOW
+ // IDXD, 64,
+ IDXD, 32,
+ DATD, 16,
+ }
+ IndexField(IDXD, DATD, ByteAcc, NoLock, Preserve) {
+ g00d, 2048,
+ }
+
+ Field(OPR0, AnyAcc, NoLock, WriteAsZeros) {
+ Offset(123),
+ IDXE, 32,
+ DATE, 16,
+ }
+ IndexField(IDXE, DATE, ByteAcc, NoLock, Preserve) {
+ g00e, 2048,
+ }
+
+ Concatenate(arg0, "-m791", arg0)
+
+ switch(arg2) {
+ case (0) {
+ switch(arg3) {
+ case (1) {
+ IndexField(IDX0, DAT0, WordAcc, NoLock, WriteAsOnes) {
+ , 0, f000, 1}
+ Store(Refof(f000), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (6) {
+ IndexField(IDX1, DAT1, WordAcc, NoLock, WriteAsOnes) {
+ , 0, f001, 6}
+ Store(Refof(f001), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (7) {
+ IndexField(IDX2, DAT2, WordAcc, NoLock, WriteAsOnes) {
+ , 0, f002, 7}
+ Store(Refof(f002), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (8) {
+ IndexField(IDX3, DAT3, WordAcc, NoLock, WriteAsOnes) {
+ , 0, f003, 8}
+ Store(Refof(f003), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (9) {
+ IndexField(IDX4, DAT4, WordAcc, NoLock, WriteAsOnes) {
+ , 0, f004, 9}
+ Store(Refof(f004), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (31) {
+ IndexField(IDX5, DAT5, WordAcc, NoLock, WriteAsOnes) {
+ , 0, f005, 31}
+ Store(Refof(f005), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (32) {
+ IndexField(IDX6, DAT6, WordAcc, NoLock, WriteAsOnes) {
+ , 0, f006, 32}
+ Store(Refof(f006), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (33) {
+ IndexField(IDX7, DAT7, WordAcc, NoLock, WriteAsOnes) {
+ , 0, f007, 33}
+ Store(Refof(f007), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (63) {
+ IndexField(IDX8, DAT8, WordAcc, NoLock, WriteAsOnes) {
+ , 0, f008, 63}
+ Store(Refof(f008), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (64) {
+ IndexField(IDX9, DAT9, WordAcc, NoLock, WriteAsOnes) {
+ , 0, f009, 64}
+ Store(Refof(f009), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (65) {
+ IndexField(IDXA, DATA, WordAcc, NoLock, WriteAsOnes) {
+ , 0, f00a, 65}
+ Store(Refof(f00a), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (69) {
+ IndexField(IDXB, DATB, WordAcc, NoLock, WriteAsOnes) {
+ , 0, f00b, 69}
+ Store(Refof(f00b), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (129) {
+ IndexField(IDXC, DATC, WordAcc, NoLock, WriteAsOnes) {
+ , 0, f00c, 129}
+ Store(Refof(f00c), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (256) {
+ IndexField(IDXD, DATD, WordAcc, NoLock, WriteAsOnes) {
+ , 0, f00d, 256}
+ Store(Refof(f00d), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (1023) {
+ IndexField(IDXE, DATE, WordAcc, NoLock, WriteAsOnes) {
+ , 0, f00e, 1023}
+ Store(Refof(f00e), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (1983) {
+ IndexField(IDX0, DAT0, WordAcc, NoLock, WriteAsOnes) {
+ , 0, f00f, 1983}
+ Store(Refof(f00f), Local3)
+ Store(Refof(g000), Local4)
+ }
+ default {
+ err(arg0, z144, 29, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (1) {
+ switch(arg3) {
+ case (1) {
+ IndexField(IDX1, DAT1, WordAcc, NoLock, WriteAsOnes) {
+ Offset(0), , 1, f010, 1}
+ Store(Refof(f010), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (6) {
+ IndexField(IDX2, DAT2, WordAcc, NoLock, WriteAsOnes) {
+ Offset(0), , 1, f011, 6}
+ Store(Refof(f011), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (7) {
+ IndexField(IDX3, DAT3, WordAcc, NoLock, WriteAsOnes) {
+ Offset(0), , 1, f012, 7}
+ Store(Refof(f012), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (8) {
+ IndexField(IDX4, DAT4, WordAcc, NoLock, WriteAsOnes) {
+ Offset(0), , 1, f013, 8}
+ Store(Refof(f013), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (9) {
+ IndexField(IDX5, DAT5, WordAcc, NoLock, WriteAsOnes) {
+ Offset(0), , 1, f014, 9}
+ Store(Refof(f014), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (31) {
+ IndexField(IDX6, DAT6, WordAcc, NoLock, WriteAsOnes) {
+ Offset(0), , 1, f015, 31}
+ Store(Refof(f015), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (32) {
+ IndexField(IDX7, DAT7, WordAcc, NoLock, WriteAsOnes) {
+ Offset(0), , 1, f016, 32}
+ Store(Refof(f016), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (33) {
+ IndexField(IDX8, DAT8, WordAcc, NoLock, WriteAsOnes) {
+ Offset(0), , 1, f017, 33}
+ Store(Refof(f017), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (63) {
+ IndexField(IDX9, DAT9, WordAcc, NoLock, WriteAsOnes) {
+ Offset(0), , 1, f018, 63}
+ Store(Refof(f018), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (64) {
+ IndexField(IDXA, DATA, WordAcc, NoLock, WriteAsOnes) {
+ Offset(0), , 1, f019, 64}
+ Store(Refof(f019), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (65) {
+ IndexField(IDXB, DATB, WordAcc, NoLock, WriteAsOnes) {
+ Offset(0), , 1, f01a, 65}
+ Store(Refof(f01a), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (69) {
+ IndexField(IDXC, DATC, WordAcc, NoLock, WriteAsOnes) {
+ Offset(0), , 1, f01b, 69}
+ Store(Refof(f01b), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (129) {
+ IndexField(IDXD, DATD, WordAcc, NoLock, WriteAsOnes) {
+ Offset(0), , 1, f01c, 129}
+ Store(Refof(f01c), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (256) {
+ IndexField(IDXE, DATE, WordAcc, NoLock, WriteAsOnes) {
+ Offset(0), , 1, f01d, 256}
+ Store(Refof(f01d), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (1023) {
+ IndexField(IDX0, DAT0, WordAcc, NoLock, WriteAsOnes) {
+ Offset(0), , 1, f01e, 1023}
+ Store(Refof(f01e), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (1983) {
+ IndexField(IDX1, DAT1, WordAcc, NoLock, WriteAsOnes) {
+ Offset(0), , 1, f01f, 1983}
+ Store(Refof(f01f), Local3)
+ Store(Refof(g001), Local4)
+ }
+ default {
+ err(arg0, z144, 30, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (2) {
+ switch(arg3) {
+ case (1) {
+ IndexField(IDX2, DAT2, WordAcc, NoLock, WriteAsOnes) {
+ , 2, f020, 1}
+ Store(Refof(f020), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (6) {
+ IndexField(IDX3, DAT3, WordAcc, NoLock, WriteAsOnes) {
+ , 2, f021, 6}
+ Store(Refof(f021), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (7) {
+ IndexField(IDX4, DAT4, WordAcc, NoLock, WriteAsOnes) {
+ , 2, f022, 7}
+ Store(Refof(f022), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (8) {
+ IndexField(IDX5, DAT5, WordAcc, NoLock, WriteAsOnes) {
+ , 2, f023, 8}
+ Store(Refof(f023), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (9) {
+ IndexField(IDX6, DAT6, WordAcc, NoLock, WriteAsOnes) {
+ , 2, f024, 9}
+ Store(Refof(f024), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (31) {
+ IndexField(IDX7, DAT7, WordAcc, NoLock, WriteAsOnes) {
+ , 2, f025, 31}
+ Store(Refof(f025), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (32) {
+ IndexField(IDX8, DAT8, WordAcc, NoLock, WriteAsOnes) {
+ , 2, f026, 32}
+ Store(Refof(f026), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (33) {
+ IndexField(IDX9, DAT9, WordAcc, NoLock, WriteAsOnes) {
+ , 2, f027, 33}
+ Store(Refof(f027), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (63) {
+ IndexField(IDXA, DATA, WordAcc, NoLock, WriteAsOnes) {
+ , 2, f028, 63}
+ Store(Refof(f028), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (64) {
+ IndexField(IDXB, DATB, WordAcc, NoLock, WriteAsOnes) {
+ , 2, f029, 64}
+ Store(Refof(f029), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (65) {
+ IndexField(IDXC, DATC, WordAcc, NoLock, WriteAsOnes) {
+ , 2, f02a, 65}
+ Store(Refof(f02a), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (69) {
+ IndexField(IDXD, DATD, WordAcc, NoLock, WriteAsOnes) {
+ , 2, f02b, 69}
+ Store(Refof(f02b), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (129) {
+ IndexField(IDXE, DATE, WordAcc, NoLock, WriteAsOnes) {
+ , 2, f02c, 129}
+ Store(Refof(f02c), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (256) {
+ IndexField(IDX0, DAT0, WordAcc, NoLock, WriteAsOnes) {
+ , 2, f02d, 256}
+ Store(Refof(f02d), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (1023) {
+ IndexField(IDX1, DAT1, WordAcc, NoLock, WriteAsOnes) {
+ , 2, f02e, 1023}
+ Store(Refof(f02e), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (1983) {
+ IndexField(IDX2, DAT2, WordAcc, NoLock, WriteAsOnes) {
+ , 2, f02f, 1983}
+ Store(Refof(f02f), Local3)
+ Store(Refof(g002), Local4)
+ }
+ default {
+ err(arg0, z144, 31, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (3) {
+ switch(arg3) {
+ case (1) {
+ IndexField(IDX3, DAT3, WordAcc, NoLock, WriteAsOnes) {
+ , 3, f030, 1}
+ Store(Refof(f030), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (6) {
+ IndexField(IDX4, DAT4, WordAcc, NoLock, WriteAsOnes) {
+ , 3, f031, 6}
+ Store(Refof(f031), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (7) {
+ IndexField(IDX5, DAT5, WordAcc, NoLock, WriteAsOnes) {
+ , 3, f032, 7}
+ Store(Refof(f032), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (8) {
+ IndexField(IDX6, DAT6, WordAcc, NoLock, WriteAsOnes) {
+ , 3, f033, 8}
+ Store(Refof(f033), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (9) {
+ IndexField(IDX7, DAT7, WordAcc, NoLock, WriteAsOnes) {
+ , 3, f034, 9}
+ Store(Refof(f034), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (31) {
+ IndexField(IDX8, DAT8, WordAcc, NoLock, WriteAsOnes) {
+ , 3, f035, 31}
+ Store(Refof(f035), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (32) {
+ IndexField(IDX9, DAT9, WordAcc, NoLock, WriteAsOnes) {
+ , 3, f036, 32}
+ Store(Refof(f036), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (33) {
+ IndexField(IDXA, DATA, WordAcc, NoLock, WriteAsOnes) {
+ , 3, f037, 33}
+ Store(Refof(f037), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (63) {
+ IndexField(IDXB, DATB, WordAcc, NoLock, WriteAsOnes) {
+ , 3, f038, 63}
+ Store(Refof(f038), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (64) {
+ IndexField(IDXC, DATC, WordAcc, NoLock, WriteAsOnes) {
+ , 3, f039, 64}
+ Store(Refof(f039), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (65) {
+ IndexField(IDXD, DATD, WordAcc, NoLock, WriteAsOnes) {
+ , 3, f03a, 65}
+ Store(Refof(f03a), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (69) {
+ IndexField(IDXE, DATE, WordAcc, NoLock, WriteAsOnes) {
+ , 3, f03b, 69}
+ Store(Refof(f03b), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (129) {
+ IndexField(IDX0, DAT0, WordAcc, NoLock, WriteAsOnes) {
+ , 3, f03c, 129}
+ Store(Refof(f03c), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (256) {
+ IndexField(IDX1, DAT1, WordAcc, NoLock, WriteAsOnes) {
+ , 3, f03d, 256}
+ Store(Refof(f03d), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (1023) {
+ IndexField(IDX2, DAT2, WordAcc, NoLock, WriteAsOnes) {
+ , 3, f03e, 1023}
+ Store(Refof(f03e), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (1983) {
+ IndexField(IDX3, DAT3, WordAcc, NoLock, WriteAsOnes) {
+ , 3, f03f, 1983}
+ Store(Refof(f03f), Local3)
+ Store(Refof(g003), Local4)
+ }
+ default {
+ err(arg0, z144, 32, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (4) {
+ switch(arg3) {
+ case (1) {
+ IndexField(IDX4, DAT4, WordAcc, NoLock, WriteAsOnes) {
+ , 4, f040, 1}
+ Store(Refof(f040), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (6) {
+ IndexField(IDX5, DAT5, WordAcc, NoLock, WriteAsOnes) {
+ , 4, f041, 6}
+ Store(Refof(f041), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (7) {
+ IndexField(IDX6, DAT6, WordAcc, NoLock, WriteAsOnes) {
+ , 4, f042, 7}
+ Store(Refof(f042), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (8) {
+ IndexField(IDX7, DAT7, WordAcc, NoLock, WriteAsOnes) {
+ , 4, f043, 8}
+ Store(Refof(f043), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (9) {
+ IndexField(IDX8, DAT8, WordAcc, NoLock, WriteAsOnes) {
+ , 4, f044, 9}
+ Store(Refof(f044), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (31) {
+ IndexField(IDX9, DAT9, WordAcc, NoLock, WriteAsOnes) {
+ , 4, f045, 31}
+ Store(Refof(f045), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (32) {
+ IndexField(IDXA, DATA, WordAcc, NoLock, WriteAsOnes) {
+ , 4, f046, 32}
+ Store(Refof(f046), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (33) {
+ IndexField(IDXB, DATB, WordAcc, NoLock, WriteAsOnes) {
+ , 4, f047, 33}
+ Store(Refof(f047), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (63) {
+ IndexField(IDXC, DATC, WordAcc, NoLock, WriteAsOnes) {
+ , 4, f048, 63}
+ Store(Refof(f048), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (64) {
+ IndexField(IDXD, DATD, WordAcc, NoLock, WriteAsOnes) {
+ , 4, f049, 64}
+ Store(Refof(f049), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (65) {
+ IndexField(IDXE, DATE, WordAcc, NoLock, WriteAsOnes) {
+ , 4, f04a, 65}
+ Store(Refof(f04a), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (69) {
+ IndexField(IDX0, DAT0, WordAcc, NoLock, WriteAsOnes) {
+ , 4, f04b, 69}
+ Store(Refof(f04b), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (129) {
+ IndexField(IDX1, DAT1, WordAcc, NoLock, WriteAsOnes) {
+ , 4, f04c, 129}
+ Store(Refof(f04c), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (256) {
+ IndexField(IDX2, DAT2, WordAcc, NoLock, WriteAsOnes) {
+ , 4, f04d, 256}
+ Store(Refof(f04d), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (1023) {
+ IndexField(IDX3, DAT3, WordAcc, NoLock, WriteAsOnes) {
+ , 4, f04e, 1023}
+ Store(Refof(f04e), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (1983) {
+ IndexField(IDX4, DAT4, WordAcc, NoLock, WriteAsOnes) {
+ , 4, f04f, 1983}
+ Store(Refof(f04f), Local3)
+ Store(Refof(g004), Local4)
+ }
+ default {
+ err(arg0, z144, 33, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (5) {
+ switch(arg3) {
+ case (1) {
+ IndexField(IDX5, DAT5, WordAcc, NoLock, WriteAsOnes) {
+ , 5, f050, 1}
+ Store(Refof(f050), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (6) {
+ IndexField(IDX6, DAT6, WordAcc, NoLock, WriteAsOnes) {
+ , 5, f051, 6}
+ Store(Refof(f051), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (7) {
+ IndexField(IDX7, DAT7, WordAcc, NoLock, WriteAsOnes) {
+ , 5, f052, 7}
+ Store(Refof(f052), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (8) {
+ IndexField(IDX8, DAT8, WordAcc, NoLock, WriteAsOnes) {
+ , 5, f053, 8}
+ Store(Refof(f053), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (9) {
+ IndexField(IDX9, DAT9, WordAcc, NoLock, WriteAsOnes) {
+ , 5, f054, 9}
+ Store(Refof(f054), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (31) {
+ IndexField(IDXA, DATA, WordAcc, NoLock, WriteAsOnes) {
+ , 5, f055, 31}
+ Store(Refof(f055), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (32) {
+ IndexField(IDXB, DATB, WordAcc, NoLock, WriteAsOnes) {
+ , 5, f056, 32}
+ Store(Refof(f056), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (33) {
+ IndexField(IDXC, DATC, WordAcc, NoLock, WriteAsOnes) {
+ , 5, f057, 33}
+ Store(Refof(f057), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (63) {
+ IndexField(IDXD, DATD, WordAcc, NoLock, WriteAsOnes) {
+ , 5, f058, 63}
+ Store(Refof(f058), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (64) {
+ IndexField(IDXE, DATE, WordAcc, NoLock, WriteAsOnes) {
+ , 5, f059, 64}
+ Store(Refof(f059), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (65) {
+ IndexField(IDX0, DAT0, WordAcc, NoLock, WriteAsOnes) {
+ , 5, f05a, 65}
+ Store(Refof(f05a), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (69) {
+ IndexField(IDX1, DAT1, WordAcc, NoLock, WriteAsOnes) {
+ , 5, f05b, 69}
+ Store(Refof(f05b), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (129) {
+ IndexField(IDX2, DAT2, WordAcc, NoLock, WriteAsOnes) {
+ , 5, f05c, 129}
+ Store(Refof(f05c), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (256) {
+ IndexField(IDX3, DAT3, WordAcc, NoLock, WriteAsOnes) {
+ , 5, f05d, 256}
+ Store(Refof(f05d), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (1023) {
+ IndexField(IDX4, DAT4, WordAcc, NoLock, WriteAsOnes) {
+ , 5, f05e, 1023}
+ Store(Refof(f05e), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (1983) {
+ IndexField(IDX5, DAT5, WordAcc, NoLock, WriteAsOnes) {
+ , 5, f05f, 1983}
+ Store(Refof(f05f), Local3)
+ Store(Refof(g005), Local4)
+ }
+ default {
+ err(arg0, z144, 34, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (6) {
+ switch(arg3) {
+ case (1) {
+ IndexField(IDX6, DAT6, WordAcc, NoLock, WriteAsOnes) {
+ , 6, f060, 1}
+ Store(Refof(f060), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (6) {
+ IndexField(IDX7, DAT7, WordAcc, NoLock, WriteAsOnes) {
+ , 6, f061, 6}
+ Store(Refof(f061), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (7) {
+ IndexField(IDX8, DAT8, WordAcc, NoLock, WriteAsOnes) {
+ , 6, f062, 7}
+ Store(Refof(f062), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (8) {
+ IndexField(IDX9, DAT9, WordAcc, NoLock, WriteAsOnes) {
+ , 6, f063, 8}
+ Store(Refof(f063), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (9) {
+ IndexField(IDXA, DATA, WordAcc, NoLock, WriteAsOnes) {
+ , 6, f064, 9}
+ Store(Refof(f064), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (31) {
+ IndexField(IDXB, DATB, WordAcc, NoLock, WriteAsOnes) {
+ , 6, f065, 31}
+ Store(Refof(f065), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (32) {
+ IndexField(IDXC, DATC, WordAcc, NoLock, WriteAsOnes) {
+ , 6, f066, 32}
+ Store(Refof(f066), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (33) {
+ IndexField(IDXD, DATD, WordAcc, NoLock, WriteAsOnes) {
+ , 6, f067, 33}
+ Store(Refof(f067), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (63) {
+ IndexField(IDXE, DATE, WordAcc, NoLock, WriteAsOnes) {
+ , 6, f068, 63}
+ Store(Refof(f068), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (64) {
+ IndexField(IDX0, DAT0, WordAcc, NoLock, WriteAsOnes) {
+ , 6, f069, 64}
+ Store(Refof(f069), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (65) {
+ IndexField(IDX1, DAT1, WordAcc, NoLock, WriteAsOnes) {
+ , 6, f06a, 65}
+ Store(Refof(f06a), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (69) {
+ IndexField(IDX2, DAT2, WordAcc, NoLock, WriteAsOnes) {
+ , 6, f06b, 69}
+ Store(Refof(f06b), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (129) {
+ IndexField(IDX3, DAT3, WordAcc, NoLock, WriteAsOnes) {
+ , 6, f06c, 129}
+ Store(Refof(f06c), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (256) {
+ IndexField(IDX4, DAT4, WordAcc, NoLock, WriteAsOnes) {
+ , 6, f06d, 256}
+ Store(Refof(f06d), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (1023) {
+ IndexField(IDX5, DAT5, WordAcc, NoLock, WriteAsOnes) {
+ , 6, f06e, 1023}
+ Store(Refof(f06e), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (1983) {
+ IndexField(IDX6, DAT6, WordAcc, NoLock, WriteAsOnes) {
+ , 6, f06f, 1983}
+ Store(Refof(f06f), Local3)
+ Store(Refof(g006), Local4)
+ }
+ default {
+ err(arg0, z144, 35, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (7) {
+ switch(arg3) {
+ case (1) {
+ IndexField(IDX7, DAT7, WordAcc, NoLock, WriteAsOnes) {
+ , 7, f070, 1}
+ Store(Refof(f070), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (6) {
+ IndexField(IDX8, DAT8, WordAcc, NoLock, WriteAsOnes) {
+ , 7, f071, 6}
+ Store(Refof(f071), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (7) {
+ IndexField(IDX9, DAT9, WordAcc, NoLock, WriteAsOnes) {
+ , 7, f072, 7}
+ Store(Refof(f072), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (8) {
+ IndexField(IDXA, DATA, WordAcc, NoLock, WriteAsOnes) {
+ , 7, f073, 8}
+ Store(Refof(f073), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (9) {
+ IndexField(IDXB, DATB, WordAcc, NoLock, WriteAsOnes) {
+ , 7, f074, 9}
+ Store(Refof(f074), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (31) {
+ IndexField(IDXC, DATC, WordAcc, NoLock, WriteAsOnes) {
+ , 7, f075, 31}
+ Store(Refof(f075), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (32) {
+ IndexField(IDXD, DATD, WordAcc, NoLock, WriteAsOnes) {
+ , 7, f076, 32}
+ Store(Refof(f076), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (33) {
+ IndexField(IDXE, DATE, WordAcc, NoLock, WriteAsOnes) {
+ , 7, f077, 33}
+ Store(Refof(f077), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (63) {
+ IndexField(IDX0, DAT0, WordAcc, NoLock, WriteAsOnes) {
+ , 7, f078, 63}
+ Store(Refof(f078), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (64) {
+ IndexField(IDX1, DAT1, WordAcc, NoLock, WriteAsOnes) {
+ , 7, f079, 64}
+ Store(Refof(f079), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (65) {
+ IndexField(IDX2, DAT2, WordAcc, NoLock, WriteAsOnes) {
+ , 7, f07a, 65}
+ Store(Refof(f07a), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (69) {
+ IndexField(IDX3, DAT3, WordAcc, NoLock, WriteAsOnes) {
+ , 7, f07b, 69}
+ Store(Refof(f07b), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (129) {
+ IndexField(IDX4, DAT4, WordAcc, NoLock, WriteAsOnes) {
+ , 7, f07c, 129}
+ Store(Refof(f07c), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (256) {
+ IndexField(IDX5, DAT5, WordAcc, NoLock, WriteAsOnes) {
+ , 7, f07d, 256}
+ Store(Refof(f07d), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (1023) {
+ IndexField(IDX6, DAT6, WordAcc, NoLock, WriteAsOnes) {
+ , 7, f07e, 1023}
+ Store(Refof(f07e), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (1983) {
+ IndexField(IDX7, DAT7, WordAcc, NoLock, WriteAsOnes) {
+ , 7, f07f, 1983}
+ Store(Refof(f07f), Local3)
+ Store(Refof(g007), Local4)
+ }
+ default {
+ err(arg0, z144, 36, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (8) {
+ switch(arg3) {
+ case (1) {
+ IndexField(IDX8, DAT8, WordAcc, NoLock, WriteAsOnes) {
+ Offset(1), f080, 1}
+ Store(Refof(f080), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (6) {
+ IndexField(IDX9, DAT9, WordAcc, NoLock, WriteAsOnes) {
+ Offset(1), f081, 6}
+ Store(Refof(f081), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (7) {
+ IndexField(IDXA, DATA, WordAcc, NoLock, WriteAsOnes) {
+ Offset(1), f082, 7}
+ Store(Refof(f082), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (8) {
+ IndexField(IDXB, DATB, WordAcc, NoLock, WriteAsOnes) {
+ Offset(1), f083, 8}
+ Store(Refof(f083), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (9) {
+ IndexField(IDXC, DATC, WordAcc, NoLock, WriteAsOnes) {
+ Offset(1), f084, 9}
+ Store(Refof(f084), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (31) {
+ IndexField(IDXD, DATD, WordAcc, NoLock, WriteAsOnes) {
+ Offset(1), f085, 31}
+ Store(Refof(f085), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (32) {
+ IndexField(IDXE, DATE, WordAcc, NoLock, WriteAsOnes) {
+ Offset(1), f086, 32}
+ Store(Refof(f086), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (33) {
+ IndexField(IDX0, DAT0, WordAcc, NoLock, WriteAsOnes) {
+ Offset(1), f087, 33}
+ Store(Refof(f087), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (63) {
+ IndexField(IDX1, DAT1, WordAcc, NoLock, WriteAsOnes) {
+ Offset(1), f088, 63}
+ Store(Refof(f088), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (64) {
+ IndexField(IDX2, DAT2, WordAcc, NoLock, WriteAsOnes) {
+ Offset(1), f089, 64}
+ Store(Refof(f089), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (65) {
+ IndexField(IDX3, DAT3, WordAcc, NoLock, WriteAsOnes) {
+ Offset(1), f08a, 65}
+ Store(Refof(f08a), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (69) {
+ IndexField(IDX4, DAT4, WordAcc, NoLock, WriteAsOnes) {
+ Offset(1), f08b, 69}
+ Store(Refof(f08b), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (129) {
+ IndexField(IDX5, DAT5, WordAcc, NoLock, WriteAsOnes) {
+ Offset(1), f08c, 129}
+ Store(Refof(f08c), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (256) {
+ IndexField(IDX6, DAT6, WordAcc, NoLock, WriteAsOnes) {
+ Offset(1), f08d, 256}
+ Store(Refof(f08d), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (1023) {
+ IndexField(IDX7, DAT7, WordAcc, NoLock, WriteAsOnes) {
+ Offset(1), f08e, 1023}
+ Store(Refof(f08e), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (1983) {
+ IndexField(IDX8, DAT8, WordAcc, NoLock, WriteAsOnes) {
+ Offset(1), f08f, 1983}
+ Store(Refof(f08f), Local3)
+ Store(Refof(g008), Local4)
+ }
+ default {
+ err(arg0, z144, 37, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (9) {
+ switch(arg3) {
+ case (1) {
+ IndexField(IDX9, DAT9, WordAcc, NoLock, WriteAsOnes) {
+ , 9, f090, 1}
+ Store(Refof(f090), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (6) {
+ IndexField(IDXA, DATA, WordAcc, NoLock, WriteAsOnes) {
+ , 9, f091, 6}
+ Store(Refof(f091), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (7) {
+ IndexField(IDXB, DATB, WordAcc, NoLock, WriteAsOnes) {
+ , 9, f092, 7}
+ Store(Refof(f092), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (8) {
+ IndexField(IDXC, DATC, WordAcc, NoLock, WriteAsOnes) {
+ , 9, f093, 8}
+ Store(Refof(f093), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (9) {
+ IndexField(IDXD, DATD, WordAcc, NoLock, WriteAsOnes) {
+ , 9, f094, 9}
+ Store(Refof(f094), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (31) {
+ IndexField(IDXE, DATE, WordAcc, NoLock, WriteAsOnes) {
+ , 9, f095, 31}
+ Store(Refof(f095), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (32) {
+ IndexField(IDX0, DAT0, WordAcc, NoLock, WriteAsOnes) {
+ , 9, f096, 32}
+ Store(Refof(f096), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (33) {
+ IndexField(IDX1, DAT1, WordAcc, NoLock, WriteAsOnes) {
+ , 9, f097, 33}
+ Store(Refof(f097), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (63) {
+ IndexField(IDX2, DAT2, WordAcc, NoLock, WriteAsOnes) {
+ , 9, f098, 63}
+ Store(Refof(f098), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (64) {
+ IndexField(IDX3, DAT3, WordAcc, NoLock, WriteAsOnes) {
+ , 9, f099, 64}
+ Store(Refof(f099), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (65) {
+ IndexField(IDX4, DAT4, WordAcc, NoLock, WriteAsOnes) {
+ , 9, f09a, 65}
+ Store(Refof(f09a), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (69) {
+ IndexField(IDX5, DAT5, WordAcc, NoLock, WriteAsOnes) {
+ , 9, f09b, 69}
+ Store(Refof(f09b), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (129) {
+ IndexField(IDX6, DAT6, WordAcc, NoLock, WriteAsOnes) {
+ , 9, f09c, 129}
+ Store(Refof(f09c), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (256) {
+ IndexField(IDX7, DAT7, WordAcc, NoLock, WriteAsOnes) {
+ , 9, f09d, 256}
+ Store(Refof(f09d), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (1023) {
+ IndexField(IDX8, DAT8, WordAcc, NoLock, WriteAsOnes) {
+ , 9, f09e, 1023}
+ Store(Refof(f09e), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (1983) {
+ IndexField(IDX9, DAT9, WordAcc, NoLock, WriteAsOnes) {
+ , 9, f09f, 1983}
+ Store(Refof(f09f), Local3)
+ Store(Refof(g009), Local4)
+ }
+ default {
+ err(arg0, z144, 38, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (31) {
+ switch(arg3) {
+ case (1) {
+ IndexField(IDXA, DATA, WordAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0a0, 1}
+ Store(Refof(f0a0), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (6) {
+ IndexField(IDXB, DATB, WordAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0a1, 6}
+ Store(Refof(f0a1), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (7) {
+ IndexField(IDXC, DATC, WordAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0a2, 7}
+ Store(Refof(f0a2), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (8) {
+ IndexField(IDXD, DATD, WordAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0a3, 8}
+ Store(Refof(f0a3), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (9) {
+ IndexField(IDXE, DATE, WordAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0a4, 9}
+ Store(Refof(f0a4), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (31) {
+ IndexField(IDX0, DAT0, WordAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0a5, 31}
+ Store(Refof(f0a5), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (32) {
+ IndexField(IDX1, DAT1, WordAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0a6, 32}
+ Store(Refof(f0a6), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (33) {
+ IndexField(IDX2, DAT2, WordAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0a7, 33}
+ Store(Refof(f0a7), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (63) {
+ IndexField(IDX3, DAT3, WordAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0a8, 63}
+ Store(Refof(f0a8), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (64) {
+ IndexField(IDX4, DAT4, WordAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0a9, 64}
+ Store(Refof(f0a9), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (65) {
+ IndexField(IDX5, DAT5, WordAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0aa, 65}
+ Store(Refof(f0aa), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (69) {
+ IndexField(IDX6, DAT6, WordAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0ab, 69}
+ Store(Refof(f0ab), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (129) {
+ IndexField(IDX7, DAT7, WordAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0ac, 129}
+ Store(Refof(f0ac), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (256) {
+ IndexField(IDX8, DAT8, WordAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0ad, 256}
+ Store(Refof(f0ad), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (1023) {
+ IndexField(IDX9, DAT9, WordAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0ae, 1023}
+ Store(Refof(f0ae), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (1983) {
+ IndexField(IDXA, DATA, WordAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0af, 1983}
+ Store(Refof(f0af), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ default {
+ err(arg0, z144, 39, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (32) {
+ switch(arg3) {
+ case (1) {
+ IndexField(IDXB, DATB, WordAcc, NoLock, WriteAsOnes) {
+ , 32, f0b0, 1}
+ Store(Refof(f0b0), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (6) {
+ IndexField(IDXC, DATC, WordAcc, NoLock, WriteAsOnes) {
+ , 32, f0b1, 6}
+ Store(Refof(f0b1), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (7) {
+ IndexField(IDXD, DATD, WordAcc, NoLock, WriteAsOnes) {
+ , 32, f0b2, 7}
+ Store(Refof(f0b2), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (8) {
+ IndexField(IDXE, DATE, WordAcc, NoLock, WriteAsOnes) {
+ , 32, f0b3, 8}
+ Store(Refof(f0b3), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (9) {
+ IndexField(IDX0, DAT0, WordAcc, NoLock, WriteAsOnes) {
+ , 32, f0b4, 9}
+ Store(Refof(f0b4), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (31) {
+ IndexField(IDX1, DAT1, WordAcc, NoLock, WriteAsOnes) {
+ , 32, f0b5, 31}
+ Store(Refof(f0b5), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (32) {
+ IndexField(IDX2, DAT2, WordAcc, NoLock, WriteAsOnes) {
+ , 32, f0b6, 32}
+ Store(Refof(f0b6), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (33) {
+ IndexField(IDX3, DAT3, WordAcc, NoLock, WriteAsOnes) {
+ , 32, f0b7, 33}
+ Store(Refof(f0b7), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (63) {
+ IndexField(IDX4, DAT4, WordAcc, NoLock, WriteAsOnes) {
+ , 32, f0b8, 63}
+ Store(Refof(f0b8), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (64) {
+ IndexField(IDX5, DAT5, WordAcc, NoLock, WriteAsOnes) {
+ , 32, f0b9, 64}
+ Store(Refof(f0b9), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (65) {
+ IndexField(IDX6, DAT6, WordAcc, NoLock, WriteAsOnes) {
+ , 32, f0ba, 65}
+ Store(Refof(f0ba), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (69) {
+ IndexField(IDX7, DAT7, WordAcc, NoLock, WriteAsOnes) {
+ , 32, f0bb, 69}
+ Store(Refof(f0bb), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (129) {
+ IndexField(IDX8, DAT8, WordAcc, NoLock, WriteAsOnes) {
+ , 32, f0bc, 129}
+ Store(Refof(f0bc), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (256) {
+ IndexField(IDX9, DAT9, WordAcc, NoLock, WriteAsOnes) {
+ , 32, f0bd, 256}
+ Store(Refof(f0bd), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (1023) {
+ IndexField(IDXA, DATA, WordAcc, NoLock, WriteAsOnes) {
+ , 32, f0be, 1023}
+ Store(Refof(f0be), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (1983) {
+ IndexField(IDXB, DATB, WordAcc, NoLock, WriteAsOnes) {
+ , 32, f0bf, 1983}
+ Store(Refof(f0bf), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ default {
+ err(arg0, z144, 40, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (33) {
+ switch(arg3) {
+ case (1) {
+ IndexField(IDXC, DATC, WordAcc, NoLock, WriteAsOnes) {
+ , 33, f0c0, 1}
+ Store(Refof(f0c0), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (6) {
+ IndexField(IDXD, DATD, WordAcc, NoLock, WriteAsOnes) {
+ , 33, f0c1, 6}
+ Store(Refof(f0c1), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (7) {
+ IndexField(IDXE, DATE, WordAcc, NoLock, WriteAsOnes) {
+ , 33, f0c2, 7}
+ Store(Refof(f0c2), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (8) {
+ IndexField(IDX0, DAT0, WordAcc, NoLock, WriteAsOnes) {
+ , 33, f0c3, 8}
+ Store(Refof(f0c3), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (9) {
+ IndexField(IDX1, DAT1, WordAcc, NoLock, WriteAsOnes) {
+ , 33, f0c4, 9}
+ Store(Refof(f0c4), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (31) {
+ IndexField(IDX2, DAT2, WordAcc, NoLock, WriteAsOnes) {
+ , 33, f0c5, 31}
+ Store(Refof(f0c5), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (32) {
+ IndexField(IDX3, DAT3, WordAcc, NoLock, WriteAsOnes) {
+ , 33, f0c6, 32}
+ Store(Refof(f0c6), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (33) {
+ IndexField(IDX4, DAT4, WordAcc, NoLock, WriteAsOnes) {
+ , 33, f0c7, 33}
+ Store(Refof(f0c7), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (63) {
+ IndexField(IDX5, DAT5, WordAcc, NoLock, WriteAsOnes) {
+ , 33, f0c8, 63}
+ Store(Refof(f0c8), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (64) {
+ IndexField(IDX6, DAT6, WordAcc, NoLock, WriteAsOnes) {
+ , 33, f0c9, 64}
+ Store(Refof(f0c9), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (65) {
+ IndexField(IDX7, DAT7, WordAcc, NoLock, WriteAsOnes) {
+ , 33, f0ca, 65}
+ Store(Refof(f0ca), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (69) {
+ IndexField(IDX8, DAT8, WordAcc, NoLock, WriteAsOnes) {
+ , 33, f0cb, 69}
+ Store(Refof(f0cb), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (129) {
+ IndexField(IDX9, DAT9, WordAcc, NoLock, WriteAsOnes) {
+ , 33, f0cc, 129}
+ Store(Refof(f0cc), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (256) {
+ IndexField(IDXA, DATA, WordAcc, NoLock, WriteAsOnes) {
+ , 33, f0cd, 256}
+ Store(Refof(f0cd), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (1023) {
+ IndexField(IDXB, DATB, WordAcc, NoLock, WriteAsOnes) {
+ , 33, f0ce, 1023}
+ Store(Refof(f0ce), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (1983) {
+ IndexField(IDXC, DATC, WordAcc, NoLock, WriteAsOnes) {
+ , 33, f0cf, 1983}
+ Store(Refof(f0cf), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ default {
+ err(arg0, z144, 41, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (63) {
+ switch(arg3) {
+ case (1) {
+ IndexField(IDXD, DATD, WordAcc, NoLock, WriteAsOnes) {
+ , 63, f0d0, 1}
+ Store(Refof(f0d0), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (6) {
+ IndexField(IDXE, DATE, WordAcc, NoLock, WriteAsOnes) {
+ , 63, f0d1, 6}
+ Store(Refof(f0d1), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (7) {
+ IndexField(IDX0, DAT0, WordAcc, NoLock, WriteAsOnes) {
+ , 63, f0d2, 7}
+ Store(Refof(f0d2), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (8) {
+ IndexField(IDX1, DAT1, WordAcc, NoLock, WriteAsOnes) {
+ , 63, f0d3, 8}
+ Store(Refof(f0d3), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (9) {
+ IndexField(IDX2, DAT2, WordAcc, NoLock, WriteAsOnes) {
+ , 63, f0d4, 9}
+ Store(Refof(f0d4), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (31) {
+ IndexField(IDX3, DAT3, WordAcc, NoLock, WriteAsOnes) {
+ , 63, f0d5, 31}
+ Store(Refof(f0d5), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (32) {
+ IndexField(IDX4, DAT4, WordAcc, NoLock, WriteAsOnes) {
+ , 63, f0d6, 32}
+ Store(Refof(f0d6), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (33) {
+ IndexField(IDX5, DAT5, WordAcc, NoLock, WriteAsOnes) {
+ , 63, f0d7, 33}
+ Store(Refof(f0d7), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (63) {
+ IndexField(IDX6, DAT6, WordAcc, NoLock, WriteAsOnes) {
+ , 63, f0d8, 63}
+ Store(Refof(f0d8), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (64) {
+ IndexField(IDX7, DAT7, WordAcc, NoLock, WriteAsOnes) {
+ , 63, f0d9, 64}
+ Store(Refof(f0d9), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (65) {
+ IndexField(IDX8, DAT8, WordAcc, NoLock, WriteAsOnes) {
+ , 63, f0da, 65}
+ Store(Refof(f0da), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (69) {
+ IndexField(IDX9, DAT9, WordAcc, NoLock, WriteAsOnes) {
+ , 63, f0db, 69}
+ Store(Refof(f0db), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (129) {
+ IndexField(IDXA, DATA, WordAcc, NoLock, WriteAsOnes) {
+ , 63, f0dc, 129}
+ Store(Refof(f0dc), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (256) {
+ IndexField(IDXB, DATB, WordAcc, NoLock, WriteAsOnes) {
+ , 63, f0dd, 256}
+ Store(Refof(f0dd), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (1023) {
+ IndexField(IDXC, DATC, WordAcc, NoLock, WriteAsOnes) {
+ , 63, f0de, 1023}
+ Store(Refof(f0de), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (1983) {
+ IndexField(IDXD, DATD, WordAcc, NoLock, WriteAsOnes) {
+ , 63, f0df, 1983}
+ Store(Refof(f0df), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ default {
+ err(arg0, z144, 42, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (64) {
+ switch(arg3) {
+ case (1) {
+ IndexField(IDXE, DATE, WordAcc, NoLock, WriteAsOnes) {
+ , 64, f0e0, 1}
+ Store(Refof(f0e0), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (6) {
+ IndexField(IDX0, DAT0, WordAcc, NoLock, WriteAsOnes) {
+ , 64, f0e1, 6}
+ Store(Refof(f0e1), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (7) {
+ IndexField(IDX1, DAT1, WordAcc, NoLock, WriteAsOnes) {
+ , 64, f0e2, 7}
+ Store(Refof(f0e2), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (8) {
+ IndexField(IDX2, DAT2, WordAcc, NoLock, WriteAsOnes) {
+ , 64, f0e3, 8}
+ Store(Refof(f0e3), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (9) {
+ IndexField(IDX3, DAT3, WordAcc, NoLock, WriteAsOnes) {
+ , 64, f0e4, 9}
+ Store(Refof(f0e4), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (31) {
+ IndexField(IDX4, DAT4, WordAcc, NoLock, WriteAsOnes) {
+ , 64, f0e5, 31}
+ Store(Refof(f0e5), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (32) {
+ IndexField(IDX5, DAT5, WordAcc, NoLock, WriteAsOnes) {
+ , 64, f0e6, 32}
+ Store(Refof(f0e6), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (33) {
+ IndexField(IDX6, DAT6, WordAcc, NoLock, WriteAsOnes) {
+ , 64, f0e7, 33}
+ Store(Refof(f0e7), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (63) {
+ IndexField(IDX7, DAT7, WordAcc, NoLock, WriteAsOnes) {
+ , 64, f0e8, 63}
+ Store(Refof(f0e8), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (64) {
+ IndexField(IDX8, DAT8, WordAcc, NoLock, WriteAsOnes) {
+ , 64, f0e9, 64}
+ Store(Refof(f0e9), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (65) {
+ IndexField(IDX9, DAT9, WordAcc, NoLock, WriteAsOnes) {
+ , 64, f0ea, 65}
+ Store(Refof(f0ea), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (69) {
+ IndexField(IDXA, DATA, WordAcc, NoLock, WriteAsOnes) {
+ , 64, f0eb, 69}
+ Store(Refof(f0eb), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (129) {
+ IndexField(IDXB, DATB, WordAcc, NoLock, WriteAsOnes) {
+ , 64, f0ec, 129}
+ Store(Refof(f0ec), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (256) {
+ IndexField(IDXC, DATC, WordAcc, NoLock, WriteAsOnes) {
+ , 64, f0ed, 256}
+ Store(Refof(f0ed), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (1023) {
+ IndexField(IDXD, DATD, WordAcc, NoLock, WriteAsOnes) {
+ , 64, f0ee, 1023}
+ Store(Refof(f0ee), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (1983) {
+ IndexField(IDXE, DATE, WordAcc, NoLock, WriteAsOnes) {
+ , 64, f0ef, 1983}
+ Store(Refof(f0ef), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ default {
+ err(arg0, z144, 43, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (65) {
+ switch(arg3) {
+ case (1) {
+ IndexField(IDX0, DAT0, WordAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0f0, 1}
+ Store(Refof(f0f0), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (6) {
+ IndexField(IDX1, DAT1, WordAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0f1, 6}
+ Store(Refof(f0f1), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (7) {
+ IndexField(IDX2, DAT2, WordAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0f2, 7}
+ Store(Refof(f0f2), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (8) {
+ IndexField(IDX3, DAT3, WordAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0f3, 8}
+ Store(Refof(f0f3), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (9) {
+ IndexField(IDX4, DAT4, WordAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0f4, 9}
+ Store(Refof(f0f4), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (31) {
+ IndexField(IDX5, DAT5, WordAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0f5, 31}
+ Store(Refof(f0f5), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (32) {
+ IndexField(IDX6, DAT6, WordAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0f6, 32}
+ Store(Refof(f0f6), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (33) {
+ IndexField(IDX7, DAT7, WordAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0f7, 33}
+ Store(Refof(f0f7), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (63) {
+ IndexField(IDX8, DAT8, WordAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0f8, 63}
+ Store(Refof(f0f8), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (64) {
+ IndexField(IDX9, DAT9, WordAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0f9, 64}
+ Store(Refof(f0f9), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (65) {
+ IndexField(IDXA, DATA, WordAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0fa, 65}
+ Store(Refof(f0fa), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (69) {
+ IndexField(IDXB, DATB, WordAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0fb, 69}
+ Store(Refof(f0fb), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (129) {
+ IndexField(IDXC, DATC, WordAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0fc, 129}
+ Store(Refof(f0fc), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (256) {
+ IndexField(IDXD, DATD, WordAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0fd, 256}
+ Store(Refof(f0fd), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (1023) {
+ IndexField(IDXE, DATE, WordAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0fe, 1023}
+ Store(Refof(f0fe), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (1983) {
+ IndexField(IDX0, DAT0, WordAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0ff, 1983}
+ Store(Refof(f0ff), Local3)
+ Store(Refof(g000), Local4)
+ }
+ default {
+ err(arg0, z144, 44, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ default {
+ err(arg0, z144, 45, 0, 0, arg2, arg3)
+ return}
+ }
+
+ m72d(arg0, Local3, arg2, arg3, arg4, arg5, Local4)
+}
+
+// Create IndexField Unit
+// (DWordAcc, NoLock, WriteAsZeros)
+Method(m792, 6)
+{
+ OperationRegion(OPR0, SystemMemory, 5000, 135)
+
+ /*
+ * Consider different attributes of index/data fields
+ * taking into account the following restrictions:
+ * - the fields spanning the same access unit interfere,
+ * - the fields exceeding 64 bits cause AE_BUFFER_OVERFLOW,
+ * - index field exceeding 32 bits unexpectedly cause
+ * AE_BUFFER_OVERFLOW too,
+ * - data field exceeding IndexField's Access Width
+ * causes overwriting of next memory bytes.
+ */
+
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ IDX0, 8,
+ DAT0, 32,
+ }
+ IndexField(IDX0, DAT0, ByteAcc, NoLock, Preserve) {
+ g000, 2048,
+ }
+
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ Offset(4),
+ IDX1, 8,
+ DAT1, 32,
+ }
+ IndexField(IDX1, DAT1, ByteAcc, NoLock, Preserve) {
+ g001, 2048,
+ }
+
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ Offset(8),
+ IDX2, 16,
+ DAT2, 32,
+ }
+ IndexField(IDX2, DAT2, ByteAcc, NoLock, Preserve) {
+ g002, 2048,
+ }
+
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ Offset(14),
+ IDX3, 16,
+ DAT3, 32,
+ }
+ IndexField(IDX3, DAT3, ByteAcc, NoLock, Preserve) {
+ g003, 2048,
+ }
+
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ Offset(20),
+ IDX4, 16,
+ DAT4, 32,
+ }
+ IndexField(IDX4, DAT4, ByteAcc, NoLock, Preserve) {
+ g004, 2048,
+ }
+
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ Offset(26),
+ IDX5, 32,
+ DAT5, 32,
+ }
+ IndexField(IDX5, DAT5, ByteAcc, NoLock, Preserve) {
+ g005, 2048,
+ }
+
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ Offset(34),
+ IDX6, 8,
+ Offset(36),
+ DAT6, 32,
+ }
+ IndexField(IDX6, DAT6, ByteAcc, NoLock, Preserve) {
+ g006, 2048,
+ }
+
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ Offset(40),
+ IDX7, 32,
+ DAT7, 32,
+ }
+ IndexField(IDX7, DAT7, ByteAcc, NoLock, Preserve) {
+ g007, 2048,
+ }
+
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(48),
+ IDX8, 32,
+ DAT8, 32,
+ }
+ IndexField(IDX8, DAT8, ByteAcc, NoLock, Preserve) {
+ g008, 2048,
+ }
+
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ Offset(60),
+ IDX9, 8,
+ Offset(64),
+ DAT9, 32,
+ }
+ IndexField(IDX9, DAT9, ByteAcc, NoLock, Preserve) {
+ g009, 2048,
+ }
+
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ Offset(72),
+ // Index field exceeding 32 bits causes AE_BUFFER_OVERFLOW
+ // IDXA, 64,
+ // Do not allow index/data interference
+ , 32, IDXA, 32,
+ DATA, 32,
+ }
+ IndexField(IDXA, DATA, ByteAcc, NoLock, Preserve) {
+ g00a, 2048,
+ }
+
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ Offset(88),
+ IDXB, 32,
+ Offset(96),
+ DATB, 32,
+ }
+ IndexField(IDXB, DATB, ByteAcc, NoLock, Preserve) {
+ g00b, 2048,
+ }
+
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ Offset(104),
+ IDXC, 8,
+ DATC, 32,
+ }
+ IndexField(IDXC, DATC, ByteAcc, NoLock, Preserve) {
+ g00c, 2048,
+ }
+
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ Offset(108),
+ // Index field exceeding 32 bits causes AE_BUFFER_OVERFLOW
+ // IDXD, 64,
+ IDXD, 32,
+ DATD, 32,
+ }
+ IndexField(IDXD, DATD, ByteAcc, NoLock, Preserve) {
+ g00d, 2048,
+ }
+
+ Field(OPR0, AnyAcc, NoLock, WriteAsZeros) {
+ Offset(123),
+ IDXE, 32,
+ DATE, 32,
+ }
+ IndexField(IDXE, DATE, ByteAcc, NoLock, Preserve) {
+ g00e, 2048,
+ }
+
+ Concatenate(arg0, "-m792", arg0)
+
+ switch(arg2) {
+ case (0) {
+ switch(arg3) {
+ case (1) {
+ IndexField(IDX0, DAT0, DWordAcc, NoLock, WriteAsZeros) {
+ , 0, f000, 1}
+ Store(Refof(f000), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (6) {
+ IndexField(IDX1, DAT1, DWordAcc, NoLock, WriteAsZeros) {
+ , 0, f001, 6}
+ Store(Refof(f001), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (7) {
+ IndexField(IDX2, DAT2, DWordAcc, NoLock, WriteAsZeros) {
+ , 0, f002, 7}
+ Store(Refof(f002), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (8) {
+ IndexField(IDX3, DAT3, DWordAcc, NoLock, WriteAsZeros) {
+ , 0, f003, 8}
+ Store(Refof(f003), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (9) {
+ IndexField(IDX4, DAT4, DWordAcc, NoLock, WriteAsZeros) {
+ , 0, f004, 9}
+ Store(Refof(f004), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (31) {
+ IndexField(IDX5, DAT5, DWordAcc, NoLock, WriteAsZeros) {
+ , 0, f005, 31}
+ Store(Refof(f005), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (32) {
+ IndexField(IDX6, DAT6, DWordAcc, NoLock, WriteAsZeros) {
+ , 0, f006, 32}
+ Store(Refof(f006), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (33) {
+ IndexField(IDX7, DAT7, DWordAcc, NoLock, WriteAsZeros) {
+ , 0, f007, 33}
+ Store(Refof(f007), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (63) {
+ IndexField(IDX8, DAT8, DWordAcc, NoLock, WriteAsZeros) {
+ , 0, f008, 63}
+ Store(Refof(f008), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (64) {
+ IndexField(IDX9, DAT9, DWordAcc, NoLock, WriteAsZeros) {
+ , 0, f009, 64}
+ Store(Refof(f009), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (65) {
+ IndexField(IDXA, DATA, DWordAcc, NoLock, WriteAsZeros) {
+ , 0, f00a, 65}
+ Store(Refof(f00a), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (69) {
+ IndexField(IDXB, DATB, DWordAcc, NoLock, WriteAsZeros) {
+ , 0, f00b, 69}
+ Store(Refof(f00b), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (129) {
+ IndexField(IDXC, DATC, DWordAcc, NoLock, WriteAsZeros) {
+ , 0, f00c, 129}
+ Store(Refof(f00c), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (256) {
+ IndexField(IDXD, DATD, DWordAcc, NoLock, WriteAsZeros) {
+ , 0, f00d, 256}
+ Store(Refof(f00d), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (1023) {
+ IndexField(IDXE, DATE, DWordAcc, NoLock, WriteAsZeros) {
+ , 0, f00e, 1023}
+ Store(Refof(f00e), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (1983) {
+ IndexField(IDX0, DAT0, DWordAcc, NoLock, WriteAsZeros) {
+ , 0, f00f, 1983}
+ Store(Refof(f00f), Local3)
+ Store(Refof(g000), Local4)
+ }
+ default {
+ err(arg0, z144, 46, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (1) {
+ switch(arg3) {
+ case (1) {
+ IndexField(IDX1, DAT1, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(0), , 1, f010, 1}
+ Store(Refof(f010), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (6) {
+ IndexField(IDX2, DAT2, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(0), , 1, f011, 6}
+ Store(Refof(f011), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (7) {
+ IndexField(IDX3, DAT3, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(0), , 1, f012, 7}
+ Store(Refof(f012), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (8) {
+ IndexField(IDX4, DAT4, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(0), , 1, f013, 8}
+ Store(Refof(f013), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (9) {
+ IndexField(IDX5, DAT5, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(0), , 1, f014, 9}
+ Store(Refof(f014), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (31) {
+ IndexField(IDX6, DAT6, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(0), , 1, f015, 31}
+ Store(Refof(f015), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (32) {
+ IndexField(IDX7, DAT7, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(0), , 1, f016, 32}
+ Store(Refof(f016), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (33) {
+ IndexField(IDX8, DAT8, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(0), , 1, f017, 33}
+ Store(Refof(f017), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (63) {
+ IndexField(IDX9, DAT9, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(0), , 1, f018, 63}
+ Store(Refof(f018), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (64) {
+ IndexField(IDXA, DATA, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(0), , 1, f019, 64}
+ Store(Refof(f019), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (65) {
+ IndexField(IDXB, DATB, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(0), , 1, f01a, 65}
+ Store(Refof(f01a), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (69) {
+ IndexField(IDXC, DATC, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(0), , 1, f01b, 69}
+ Store(Refof(f01b), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (129) {
+ IndexField(IDXD, DATD, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(0), , 1, f01c, 129}
+ Store(Refof(f01c), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (256) {
+ IndexField(IDXE, DATE, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(0), , 1, f01d, 256}
+ Store(Refof(f01d), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (1023) {
+ IndexField(IDX0, DAT0, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(0), , 1, f01e, 1023}
+ Store(Refof(f01e), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (1983) {
+ IndexField(IDX1, DAT1, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(0), , 1, f01f, 1983}
+ Store(Refof(f01f), Local3)
+ Store(Refof(g001), Local4)
+ }
+ default {
+ err(arg0, z144, 47, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (2) {
+ switch(arg3) {
+ case (1) {
+ IndexField(IDX2, DAT2, DWordAcc, NoLock, WriteAsZeros) {
+ , 2, f020, 1}
+ Store(Refof(f020), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (6) {
+ IndexField(IDX3, DAT3, DWordAcc, NoLock, WriteAsZeros) {
+ , 2, f021, 6}
+ Store(Refof(f021), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (7) {
+ IndexField(IDX4, DAT4, DWordAcc, NoLock, WriteAsZeros) {
+ , 2, f022, 7}
+ Store(Refof(f022), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (8) {
+ IndexField(IDX5, DAT5, DWordAcc, NoLock, WriteAsZeros) {
+ , 2, f023, 8}
+ Store(Refof(f023), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (9) {
+ IndexField(IDX6, DAT6, DWordAcc, NoLock, WriteAsZeros) {
+ , 2, f024, 9}
+ Store(Refof(f024), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (31) {
+ IndexField(IDX7, DAT7, DWordAcc, NoLock, WriteAsZeros) {
+ , 2, f025, 31}
+ Store(Refof(f025), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (32) {
+ IndexField(IDX8, DAT8, DWordAcc, NoLock, WriteAsZeros) {
+ , 2, f026, 32}
+ Store(Refof(f026), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (33) {
+ IndexField(IDX9, DAT9, DWordAcc, NoLock, WriteAsZeros) {
+ , 2, f027, 33}
+ Store(Refof(f027), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (63) {
+ IndexField(IDXA, DATA, DWordAcc, NoLock, WriteAsZeros) {
+ , 2, f028, 63}
+ Store(Refof(f028), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (64) {
+ IndexField(IDXB, DATB, DWordAcc, NoLock, WriteAsZeros) {
+ , 2, f029, 64}
+ Store(Refof(f029), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (65) {
+ IndexField(IDXC, DATC, DWordAcc, NoLock, WriteAsZeros) {
+ , 2, f02a, 65}
+ Store(Refof(f02a), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (69) {
+ IndexField(IDXD, DATD, DWordAcc, NoLock, WriteAsZeros) {
+ , 2, f02b, 69}
+ Store(Refof(f02b), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (129) {
+ IndexField(IDXE, DATE, DWordAcc, NoLock, WriteAsZeros) {
+ , 2, f02c, 129}
+ Store(Refof(f02c), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (256) {
+ IndexField(IDX0, DAT0, DWordAcc, NoLock, WriteAsZeros) {
+ , 2, f02d, 256}
+ Store(Refof(f02d), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (1023) {
+ IndexField(IDX1, DAT1, DWordAcc, NoLock, WriteAsZeros) {
+ , 2, f02e, 1023}
+ Store(Refof(f02e), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (1983) {
+ IndexField(IDX2, DAT2, DWordAcc, NoLock, WriteAsZeros) {
+ , 2, f02f, 1983}
+ Store(Refof(f02f), Local3)
+ Store(Refof(g002), Local4)
+ }
+ default {
+ err(arg0, z144, 48, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (3) {
+ switch(arg3) {
+ case (1) {
+ IndexField(IDX3, DAT3, DWordAcc, NoLock, WriteAsZeros) {
+ , 3, f030, 1}
+ Store(Refof(f030), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (6) {
+ IndexField(IDX4, DAT4, DWordAcc, NoLock, WriteAsZeros) {
+ , 3, f031, 6}
+ Store(Refof(f031), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (7) {
+ IndexField(IDX5, DAT5, DWordAcc, NoLock, WriteAsZeros) {
+ , 3, f032, 7}
+ Store(Refof(f032), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (8) {
+ IndexField(IDX6, DAT6, DWordAcc, NoLock, WriteAsZeros) {
+ , 3, f033, 8}
+ Store(Refof(f033), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (9) {
+ IndexField(IDX7, DAT7, DWordAcc, NoLock, WriteAsZeros) {
+ , 3, f034, 9}
+ Store(Refof(f034), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (31) {
+ IndexField(IDX8, DAT8, DWordAcc, NoLock, WriteAsZeros) {
+ , 3, f035, 31}
+ Store(Refof(f035), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (32) {
+ IndexField(IDX9, DAT9, DWordAcc, NoLock, WriteAsZeros) {
+ , 3, f036, 32}
+ Store(Refof(f036), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (33) {
+ IndexField(IDXA, DATA, DWordAcc, NoLock, WriteAsZeros) {
+ , 3, f037, 33}
+ Store(Refof(f037), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (63) {
+ IndexField(IDXB, DATB, DWordAcc, NoLock, WriteAsZeros) {
+ , 3, f038, 63}
+ Store(Refof(f038), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (64) {
+ IndexField(IDXC, DATC, DWordAcc, NoLock, WriteAsZeros) {
+ , 3, f039, 64}
+ Store(Refof(f039), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (65) {
+ IndexField(IDXD, DATD, DWordAcc, NoLock, WriteAsZeros) {
+ , 3, f03a, 65}
+ Store(Refof(f03a), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (69) {
+ IndexField(IDXE, DATE, DWordAcc, NoLock, WriteAsZeros) {
+ , 3, f03b, 69}
+ Store(Refof(f03b), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (129) {
+ IndexField(IDX0, DAT0, DWordAcc, NoLock, WriteAsZeros) {
+ , 3, f03c, 129}
+ Store(Refof(f03c), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (256) {
+ IndexField(IDX1, DAT1, DWordAcc, NoLock, WriteAsZeros) {
+ , 3, f03d, 256}
+ Store(Refof(f03d), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (1023) {
+ IndexField(IDX2, DAT2, DWordAcc, NoLock, WriteAsZeros) {
+ , 3, f03e, 1023}
+ Store(Refof(f03e), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (1983) {
+ IndexField(IDX3, DAT3, DWordAcc, NoLock, WriteAsZeros) {
+ , 3, f03f, 1983}
+ Store(Refof(f03f), Local3)
+ Store(Refof(g003), Local4)
+ }
+ default {
+ err(arg0, z144, 49, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (4) {
+ switch(arg3) {
+ case (1) {
+ IndexField(IDX4, DAT4, DWordAcc, NoLock, WriteAsZeros) {
+ , 4, f040, 1}
+ Store(Refof(f040), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (6) {
+ IndexField(IDX5, DAT5, DWordAcc, NoLock, WriteAsZeros) {
+ , 4, f041, 6}
+ Store(Refof(f041), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (7) {
+ IndexField(IDX6, DAT6, DWordAcc, NoLock, WriteAsZeros) {
+ , 4, f042, 7}
+ Store(Refof(f042), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (8) {
+ IndexField(IDX7, DAT7, DWordAcc, NoLock, WriteAsZeros) {
+ , 4, f043, 8}
+ Store(Refof(f043), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (9) {
+ IndexField(IDX8, DAT8, DWordAcc, NoLock, WriteAsZeros) {
+ , 4, f044, 9}
+ Store(Refof(f044), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (31) {
+ IndexField(IDX9, DAT9, DWordAcc, NoLock, WriteAsZeros) {
+ , 4, f045, 31}
+ Store(Refof(f045), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (32) {
+ IndexField(IDXA, DATA, DWordAcc, NoLock, WriteAsZeros) {
+ , 4, f046, 32}
+ Store(Refof(f046), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (33) {
+ IndexField(IDXB, DATB, DWordAcc, NoLock, WriteAsZeros) {
+ , 4, f047, 33}
+ Store(Refof(f047), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (63) {
+ IndexField(IDXC, DATC, DWordAcc, NoLock, WriteAsZeros) {
+ , 4, f048, 63}
+ Store(Refof(f048), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (64) {
+ IndexField(IDXD, DATD, DWordAcc, NoLock, WriteAsZeros) {
+ , 4, f049, 64}
+ Store(Refof(f049), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (65) {
+ IndexField(IDXE, DATE, DWordAcc, NoLock, WriteAsZeros) {
+ , 4, f04a, 65}
+ Store(Refof(f04a), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (69) {
+ IndexField(IDX0, DAT0, DWordAcc, NoLock, WriteAsZeros) {
+ , 4, f04b, 69}
+ Store(Refof(f04b), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (129) {
+ IndexField(IDX1, DAT1, DWordAcc, NoLock, WriteAsZeros) {
+ , 4, f04c, 129}
+ Store(Refof(f04c), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (256) {
+ IndexField(IDX2, DAT2, DWordAcc, NoLock, WriteAsZeros) {
+ , 4, f04d, 256}
+ Store(Refof(f04d), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (1023) {
+ IndexField(IDX3, DAT3, DWordAcc, NoLock, WriteAsZeros) {
+ , 4, f04e, 1023}
+ Store(Refof(f04e), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (1983) {
+ IndexField(IDX4, DAT4, DWordAcc, NoLock, WriteAsZeros) {
+ , 4, f04f, 1983}
+ Store(Refof(f04f), Local3)
+ Store(Refof(g004), Local4)
+ }
+ default {
+ err(arg0, z144, 50, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (5) {
+ switch(arg3) {
+ case (1) {
+ IndexField(IDX5, DAT5, DWordAcc, NoLock, WriteAsZeros) {
+ , 5, f050, 1}
+ Store(Refof(f050), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (6) {
+ IndexField(IDX6, DAT6, DWordAcc, NoLock, WriteAsZeros) {
+ , 5, f051, 6}
+ Store(Refof(f051), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (7) {
+ IndexField(IDX7, DAT7, DWordAcc, NoLock, WriteAsZeros) {
+ , 5, f052, 7}
+ Store(Refof(f052), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (8) {
+ IndexField(IDX8, DAT8, DWordAcc, NoLock, WriteAsZeros) {
+ , 5, f053, 8}
+ Store(Refof(f053), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (9) {
+ IndexField(IDX9, DAT9, DWordAcc, NoLock, WriteAsZeros) {
+ , 5, f054, 9}
+ Store(Refof(f054), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (31) {
+ IndexField(IDXA, DATA, DWordAcc, NoLock, WriteAsZeros) {
+ , 5, f055, 31}
+ Store(Refof(f055), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (32) {
+ IndexField(IDXB, DATB, DWordAcc, NoLock, WriteAsZeros) {
+ , 5, f056, 32}
+ Store(Refof(f056), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (33) {
+ IndexField(IDXC, DATC, DWordAcc, NoLock, WriteAsZeros) {
+ , 5, f057, 33}
+ Store(Refof(f057), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (63) {
+ IndexField(IDXD, DATD, DWordAcc, NoLock, WriteAsZeros) {
+ , 5, f058, 63}
+ Store(Refof(f058), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (64) {
+ IndexField(IDXE, DATE, DWordAcc, NoLock, WriteAsZeros) {
+ , 5, f059, 64}
+ Store(Refof(f059), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (65) {
+ IndexField(IDX0, DAT0, DWordAcc, NoLock, WriteAsZeros) {
+ , 5, f05a, 65}
+ Store(Refof(f05a), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (69) {
+ IndexField(IDX1, DAT1, DWordAcc, NoLock, WriteAsZeros) {
+ , 5, f05b, 69}
+ Store(Refof(f05b), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (129) {
+ IndexField(IDX2, DAT2, DWordAcc, NoLock, WriteAsZeros) {
+ , 5, f05c, 129}
+ Store(Refof(f05c), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (256) {
+ IndexField(IDX3, DAT3, DWordAcc, NoLock, WriteAsZeros) {
+ , 5, f05d, 256}
+ Store(Refof(f05d), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (1023) {
+ IndexField(IDX4, DAT4, DWordAcc, NoLock, WriteAsZeros) {
+ , 5, f05e, 1023}
+ Store(Refof(f05e), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (1983) {
+ IndexField(IDX5, DAT5, DWordAcc, NoLock, WriteAsZeros) {
+ , 5, f05f, 1983}
+ Store(Refof(f05f), Local3)
+ Store(Refof(g005), Local4)
+ }
+ default {
+ err(arg0, z144, 51, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (6) {
+ switch(arg3) {
+ case (1) {
+ IndexField(IDX6, DAT6, DWordAcc, NoLock, WriteAsZeros) {
+ , 6, f060, 1}
+ Store(Refof(f060), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (6) {
+ IndexField(IDX7, DAT7, DWordAcc, NoLock, WriteAsZeros) {
+ , 6, f061, 6}
+ Store(Refof(f061), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (7) {
+ IndexField(IDX8, DAT8, DWordAcc, NoLock, WriteAsZeros) {
+ , 6, f062, 7}
+ Store(Refof(f062), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (8) {
+ IndexField(IDX9, DAT9, DWordAcc, NoLock, WriteAsZeros) {
+ , 6, f063, 8}
+ Store(Refof(f063), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (9) {
+ IndexField(IDXA, DATA, DWordAcc, NoLock, WriteAsZeros) {
+ , 6, f064, 9}
+ Store(Refof(f064), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (31) {
+ IndexField(IDXB, DATB, DWordAcc, NoLock, WriteAsZeros) {
+ , 6, f065, 31}
+ Store(Refof(f065), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (32) {
+ IndexField(IDXC, DATC, DWordAcc, NoLock, WriteAsZeros) {
+ , 6, f066, 32}
+ Store(Refof(f066), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (33) {
+ IndexField(IDXD, DATD, DWordAcc, NoLock, WriteAsZeros) {
+ , 6, f067, 33}
+ Store(Refof(f067), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (63) {
+ IndexField(IDXE, DATE, DWordAcc, NoLock, WriteAsZeros) {
+ , 6, f068, 63}
+ Store(Refof(f068), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (64) {
+ IndexField(IDX0, DAT0, DWordAcc, NoLock, WriteAsZeros) {
+ , 6, f069, 64}
+ Store(Refof(f069), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (65) {
+ IndexField(IDX1, DAT1, DWordAcc, NoLock, WriteAsZeros) {
+ , 6, f06a, 65}
+ Store(Refof(f06a), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (69) {
+ IndexField(IDX2, DAT2, DWordAcc, NoLock, WriteAsZeros) {
+ , 6, f06b, 69}
+ Store(Refof(f06b), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (129) {
+ IndexField(IDX3, DAT3, DWordAcc, NoLock, WriteAsZeros) {
+ , 6, f06c, 129}
+ Store(Refof(f06c), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (256) {
+ IndexField(IDX4, DAT4, DWordAcc, NoLock, WriteAsZeros) {
+ , 6, f06d, 256}
+ Store(Refof(f06d), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (1023) {
+ IndexField(IDX5, DAT5, DWordAcc, NoLock, WriteAsZeros) {
+ , 6, f06e, 1023}
+ Store(Refof(f06e), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (1983) {
+ IndexField(IDX6, DAT6, DWordAcc, NoLock, WriteAsZeros) {
+ , 6, f06f, 1983}
+ Store(Refof(f06f), Local3)
+ Store(Refof(g006), Local4)
+ }
+ default {
+ err(arg0, z144, 52, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (7) {
+ switch(arg3) {
+ case (1) {
+ IndexField(IDX7, DAT7, DWordAcc, NoLock, WriteAsZeros) {
+ , 7, f070, 1}
+ Store(Refof(f070), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (6) {
+ IndexField(IDX8, DAT8, DWordAcc, NoLock, WriteAsZeros) {
+ , 7, f071, 6}
+ Store(Refof(f071), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (7) {
+ IndexField(IDX9, DAT9, DWordAcc, NoLock, WriteAsZeros) {
+ , 7, f072, 7}
+ Store(Refof(f072), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (8) {
+ IndexField(IDXA, DATA, DWordAcc, NoLock, WriteAsZeros) {
+ , 7, f073, 8}
+ Store(Refof(f073), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (9) {
+ IndexField(IDXB, DATB, DWordAcc, NoLock, WriteAsZeros) {
+ , 7, f074, 9}
+ Store(Refof(f074), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (31) {
+ IndexField(IDXC, DATC, DWordAcc, NoLock, WriteAsZeros) {
+ , 7, f075, 31}
+ Store(Refof(f075), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (32) {
+ IndexField(IDXD, DATD, DWordAcc, NoLock, WriteAsZeros) {
+ , 7, f076, 32}
+ Store(Refof(f076), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (33) {
+ IndexField(IDXE, DATE, DWordAcc, NoLock, WriteAsZeros) {
+ , 7, f077, 33}
+ Store(Refof(f077), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (63) {
+ IndexField(IDX0, DAT0, DWordAcc, NoLock, WriteAsZeros) {
+ , 7, f078, 63}
+ Store(Refof(f078), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (64) {
+ IndexField(IDX1, DAT1, DWordAcc, NoLock, WriteAsZeros) {
+ , 7, f079, 64}
+ Store(Refof(f079), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (65) {
+ IndexField(IDX2, DAT2, DWordAcc, NoLock, WriteAsZeros) {
+ , 7, f07a, 65}
+ Store(Refof(f07a), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (69) {
+ IndexField(IDX3, DAT3, DWordAcc, NoLock, WriteAsZeros) {
+ , 7, f07b, 69}
+ Store(Refof(f07b), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (129) {
+ IndexField(IDX4, DAT4, DWordAcc, NoLock, WriteAsZeros) {
+ , 7, f07c, 129}
+ Store(Refof(f07c), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (256) {
+ IndexField(IDX5, DAT5, DWordAcc, NoLock, WriteAsZeros) {
+ , 7, f07d, 256}
+ Store(Refof(f07d), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (1023) {
+ IndexField(IDX6, DAT6, DWordAcc, NoLock, WriteAsZeros) {
+ , 7, f07e, 1023}
+ Store(Refof(f07e), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (1983) {
+ IndexField(IDX7, DAT7, DWordAcc, NoLock, WriteAsZeros) {
+ , 7, f07f, 1983}
+ Store(Refof(f07f), Local3)
+ Store(Refof(g007), Local4)
+ }
+ default {
+ err(arg0, z144, 53, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (8) {
+ switch(arg3) {
+ case (1) {
+ IndexField(IDX8, DAT8, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(1), f080, 1}
+ Store(Refof(f080), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (6) {
+ IndexField(IDX9, DAT9, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(1), f081, 6}
+ Store(Refof(f081), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (7) {
+ IndexField(IDXA, DATA, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(1), f082, 7}
+ Store(Refof(f082), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (8) {
+ IndexField(IDXB, DATB, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(1), f083, 8}
+ Store(Refof(f083), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (9) {
+ IndexField(IDXC, DATC, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(1), f084, 9}
+ Store(Refof(f084), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (31) {
+ IndexField(IDXD, DATD, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(1), f085, 31}
+ Store(Refof(f085), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (32) {
+ IndexField(IDXE, DATE, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(1), f086, 32}
+ Store(Refof(f086), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (33) {
+ IndexField(IDX0, DAT0, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(1), f087, 33}
+ Store(Refof(f087), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (63) {
+ IndexField(IDX1, DAT1, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(1), f088, 63}
+ Store(Refof(f088), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (64) {
+ IndexField(IDX2, DAT2, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(1), f089, 64}
+ Store(Refof(f089), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (65) {
+ IndexField(IDX3, DAT3, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(1), f08a, 65}
+ Store(Refof(f08a), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (69) {
+ IndexField(IDX4, DAT4, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(1), f08b, 69}
+ Store(Refof(f08b), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (129) {
+ IndexField(IDX5, DAT5, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(1), f08c, 129}
+ Store(Refof(f08c), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (256) {
+ IndexField(IDX6, DAT6, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(1), f08d, 256}
+ Store(Refof(f08d), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (1023) {
+ IndexField(IDX7, DAT7, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(1), f08e, 1023}
+ Store(Refof(f08e), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (1983) {
+ IndexField(IDX8, DAT8, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(1), f08f, 1983}
+ Store(Refof(f08f), Local3)
+ Store(Refof(g008), Local4)
+ }
+ default {
+ err(arg0, z144, 54, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (9) {
+ switch(arg3) {
+ case (1) {
+ IndexField(IDX9, DAT9, DWordAcc, NoLock, WriteAsZeros) {
+ , 9, f090, 1}
+ Store(Refof(f090), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (6) {
+ IndexField(IDXA, DATA, DWordAcc, NoLock, WriteAsZeros) {
+ , 9, f091, 6}
+ Store(Refof(f091), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (7) {
+ IndexField(IDXB, DATB, DWordAcc, NoLock, WriteAsZeros) {
+ , 9, f092, 7}
+ Store(Refof(f092), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (8) {
+ IndexField(IDXC, DATC, DWordAcc, NoLock, WriteAsZeros) {
+ , 9, f093, 8}
+ Store(Refof(f093), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (9) {
+ IndexField(IDXD, DATD, DWordAcc, NoLock, WriteAsZeros) {
+ , 9, f094, 9}
+ Store(Refof(f094), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (31) {
+ IndexField(IDXE, DATE, DWordAcc, NoLock, WriteAsZeros) {
+ , 9, f095, 31}
+ Store(Refof(f095), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (32) {
+ IndexField(IDX0, DAT0, DWordAcc, NoLock, WriteAsZeros) {
+ , 9, f096, 32}
+ Store(Refof(f096), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (33) {
+ IndexField(IDX1, DAT1, DWordAcc, NoLock, WriteAsZeros) {
+ , 9, f097, 33}
+ Store(Refof(f097), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (63) {
+ IndexField(IDX2, DAT2, DWordAcc, NoLock, WriteAsZeros) {
+ , 9, f098, 63}
+ Store(Refof(f098), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (64) {
+ IndexField(IDX3, DAT3, DWordAcc, NoLock, WriteAsZeros) {
+ , 9, f099, 64}
+ Store(Refof(f099), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (65) {
+ IndexField(IDX4, DAT4, DWordAcc, NoLock, WriteAsZeros) {
+ , 9, f09a, 65}
+ Store(Refof(f09a), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (69) {
+ IndexField(IDX5, DAT5, DWordAcc, NoLock, WriteAsZeros) {
+ , 9, f09b, 69}
+ Store(Refof(f09b), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (129) {
+ IndexField(IDX6, DAT6, DWordAcc, NoLock, WriteAsZeros) {
+ , 9, f09c, 129}
+ Store(Refof(f09c), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (256) {
+ IndexField(IDX7, DAT7, DWordAcc, NoLock, WriteAsZeros) {
+ , 9, f09d, 256}
+ Store(Refof(f09d), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (1023) {
+ IndexField(IDX8, DAT8, DWordAcc, NoLock, WriteAsZeros) {
+ , 9, f09e, 1023}
+ Store(Refof(f09e), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (1983) {
+ IndexField(IDX9, DAT9, DWordAcc, NoLock, WriteAsZeros) {
+ , 9, f09f, 1983}
+ Store(Refof(f09f), Local3)
+ Store(Refof(g009), Local4)
+ }
+ default {
+ err(arg0, z144, 55, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (31) {
+ switch(arg3) {
+ case (1) {
+ IndexField(IDXA, DATA, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(3), , 7, f0a0, 1}
+ Store(Refof(f0a0), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (6) {
+ IndexField(IDXB, DATB, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(3), , 7, f0a1, 6}
+ Store(Refof(f0a1), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (7) {
+ IndexField(IDXC, DATC, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(3), , 7, f0a2, 7}
+ Store(Refof(f0a2), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (8) {
+ IndexField(IDXD, DATD, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(3), , 7, f0a3, 8}
+ Store(Refof(f0a3), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (9) {
+ IndexField(IDXE, DATE, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(3), , 7, f0a4, 9}
+ Store(Refof(f0a4), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (31) {
+ IndexField(IDX0, DAT0, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(3), , 7, f0a5, 31}
+ Store(Refof(f0a5), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (32) {
+ IndexField(IDX1, DAT1, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(3), , 7, f0a6, 32}
+ Store(Refof(f0a6), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (33) {
+ IndexField(IDX2, DAT2, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(3), , 7, f0a7, 33}
+ Store(Refof(f0a7), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (63) {
+ IndexField(IDX3, DAT3, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(3), , 7, f0a8, 63}
+ Store(Refof(f0a8), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (64) {
+ IndexField(IDX4, DAT4, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(3), , 7, f0a9, 64}
+ Store(Refof(f0a9), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (65) {
+ IndexField(IDX5, DAT5, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(3), , 7, f0aa, 65}
+ Store(Refof(f0aa), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (69) {
+ IndexField(IDX6, DAT6, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(3), , 7, f0ab, 69}
+ Store(Refof(f0ab), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (129) {
+ IndexField(IDX7, DAT7, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(3), , 7, f0ac, 129}
+ Store(Refof(f0ac), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (256) {
+ IndexField(IDX8, DAT8, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(3), , 7, f0ad, 256}
+ Store(Refof(f0ad), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (1023) {
+ IndexField(IDX9, DAT9, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(3), , 7, f0ae, 1023}
+ Store(Refof(f0ae), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (1983) {
+ IndexField(IDXA, DATA, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(3), , 7, f0af, 1983}
+ Store(Refof(f0af), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ default {
+ err(arg0, z144, 56, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (32) {
+ switch(arg3) {
+ case (1) {
+ IndexField(IDXB, DATB, DWordAcc, NoLock, WriteAsZeros) {
+ , 32, f0b0, 1}
+ Store(Refof(f0b0), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (6) {
+ IndexField(IDXC, DATC, DWordAcc, NoLock, WriteAsZeros) {
+ , 32, f0b1, 6}
+ Store(Refof(f0b1), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (7) {
+ IndexField(IDXD, DATD, DWordAcc, NoLock, WriteAsZeros) {
+ , 32, f0b2, 7}
+ Store(Refof(f0b2), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (8) {
+ IndexField(IDXE, DATE, DWordAcc, NoLock, WriteAsZeros) {
+ , 32, f0b3, 8}
+ Store(Refof(f0b3), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (9) {
+ IndexField(IDX0, DAT0, DWordAcc, NoLock, WriteAsZeros) {
+ , 32, f0b4, 9}
+ Store(Refof(f0b4), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (31) {
+ IndexField(IDX1, DAT1, DWordAcc, NoLock, WriteAsZeros) {
+ , 32, f0b5, 31}
+ Store(Refof(f0b5), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (32) {
+ IndexField(IDX2, DAT2, DWordAcc, NoLock, WriteAsZeros) {
+ , 32, f0b6, 32}
+ Store(Refof(f0b6), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (33) {
+ IndexField(IDX3, DAT3, DWordAcc, NoLock, WriteAsZeros) {
+ , 32, f0b7, 33}
+ Store(Refof(f0b7), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (63) {
+ IndexField(IDX4, DAT4, DWordAcc, NoLock, WriteAsZeros) {
+ , 32, f0b8, 63}
+ Store(Refof(f0b8), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (64) {
+ IndexField(IDX5, DAT5, DWordAcc, NoLock, WriteAsZeros) {
+ , 32, f0b9, 64}
+ Store(Refof(f0b9), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (65) {
+ IndexField(IDX6, DAT6, DWordAcc, NoLock, WriteAsZeros) {
+ , 32, f0ba, 65}
+ Store(Refof(f0ba), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (69) {
+ IndexField(IDX7, DAT7, DWordAcc, NoLock, WriteAsZeros) {
+ , 32, f0bb, 69}
+ Store(Refof(f0bb), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (129) {
+ IndexField(IDX8, DAT8, DWordAcc, NoLock, WriteAsZeros) {
+ , 32, f0bc, 129}
+ Store(Refof(f0bc), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (256) {
+ IndexField(IDX9, DAT9, DWordAcc, NoLock, WriteAsZeros) {
+ , 32, f0bd, 256}
+ Store(Refof(f0bd), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (1023) {
+ IndexField(IDXA, DATA, DWordAcc, NoLock, WriteAsZeros) {
+ , 32, f0be, 1023}
+ Store(Refof(f0be), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (1983) {
+ IndexField(IDXB, DATB, DWordAcc, NoLock, WriteAsZeros) {
+ , 32, f0bf, 1983}
+ Store(Refof(f0bf), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ default {
+ err(arg0, z144, 57, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (33) {
+ switch(arg3) {
+ case (1) {
+ IndexField(IDXC, DATC, DWordAcc, NoLock, WriteAsZeros) {
+ , 33, f0c0, 1}
+ Store(Refof(f0c0), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (6) {
+ IndexField(IDXD, DATD, DWordAcc, NoLock, WriteAsZeros) {
+ , 33, f0c1, 6}
+ Store(Refof(f0c1), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (7) {
+ IndexField(IDXE, DATE, DWordAcc, NoLock, WriteAsZeros) {
+ , 33, f0c2, 7}
+ Store(Refof(f0c2), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (8) {
+ IndexField(IDX0, DAT0, DWordAcc, NoLock, WriteAsZeros) {
+ , 33, f0c3, 8}
+ Store(Refof(f0c3), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (9) {
+ IndexField(IDX1, DAT1, DWordAcc, NoLock, WriteAsZeros) {
+ , 33, f0c4, 9}
+ Store(Refof(f0c4), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (31) {
+ IndexField(IDX2, DAT2, DWordAcc, NoLock, WriteAsZeros) {
+ , 33, f0c5, 31}
+ Store(Refof(f0c5), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (32) {
+ IndexField(IDX3, DAT3, DWordAcc, NoLock, WriteAsZeros) {
+ , 33, f0c6, 32}
+ Store(Refof(f0c6), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (33) {
+ IndexField(IDX4, DAT4, DWordAcc, NoLock, WriteAsZeros) {
+ , 33, f0c7, 33}
+ Store(Refof(f0c7), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (63) {
+ IndexField(IDX5, DAT5, DWordAcc, NoLock, WriteAsZeros) {
+ , 33, f0c8, 63}
+ Store(Refof(f0c8), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (64) {
+ IndexField(IDX6, DAT6, DWordAcc, NoLock, WriteAsZeros) {
+ , 33, f0c9, 64}
+ Store(Refof(f0c9), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (65) {
+ IndexField(IDX7, DAT7, DWordAcc, NoLock, WriteAsZeros) {
+ , 33, f0ca, 65}
+ Store(Refof(f0ca), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (69) {
+ IndexField(IDX8, DAT8, DWordAcc, NoLock, WriteAsZeros) {
+ , 33, f0cb, 69}
+ Store(Refof(f0cb), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (129) {
+ IndexField(IDX9, DAT9, DWordAcc, NoLock, WriteAsZeros) {
+ , 33, f0cc, 129}
+ Store(Refof(f0cc), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (256) {
+ IndexField(IDXA, DATA, DWordAcc, NoLock, WriteAsZeros) {
+ , 33, f0cd, 256}
+ Store(Refof(f0cd), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (1023) {
+ IndexField(IDXB, DATB, DWordAcc, NoLock, WriteAsZeros) {
+ , 33, f0ce, 1023}
+ Store(Refof(f0ce), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (1983) {
+ IndexField(IDXC, DATC, DWordAcc, NoLock, WriteAsZeros) {
+ , 33, f0cf, 1983}
+ Store(Refof(f0cf), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ default {
+ err(arg0, z144, 58, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (63) {
+ switch(arg3) {
+ case (1) {
+ IndexField(IDXD, DATD, DWordAcc, NoLock, WriteAsZeros) {
+ , 63, f0d0, 1}
+ Store(Refof(f0d0), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (6) {
+ IndexField(IDXE, DATE, DWordAcc, NoLock, WriteAsZeros) {
+ , 63, f0d1, 6}
+ Store(Refof(f0d1), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (7) {
+ IndexField(IDX0, DAT0, DWordAcc, NoLock, WriteAsZeros) {
+ , 63, f0d2, 7}
+ Store(Refof(f0d2), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (8) {
+ IndexField(IDX1, DAT1, DWordAcc, NoLock, WriteAsZeros) {
+ , 63, f0d3, 8}
+ Store(Refof(f0d3), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (9) {
+ IndexField(IDX2, DAT2, DWordAcc, NoLock, WriteAsZeros) {
+ , 63, f0d4, 9}
+ Store(Refof(f0d4), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (31) {
+ IndexField(IDX3, DAT3, DWordAcc, NoLock, WriteAsZeros) {
+ , 63, f0d5, 31}
+ Store(Refof(f0d5), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (32) {
+ IndexField(IDX4, DAT4, DWordAcc, NoLock, WriteAsZeros) {
+ , 63, f0d6, 32}
+ Store(Refof(f0d6), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (33) {
+ IndexField(IDX5, DAT5, DWordAcc, NoLock, WriteAsZeros) {
+ , 63, f0d7, 33}
+ Store(Refof(f0d7), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (63) {
+ IndexField(IDX6, DAT6, DWordAcc, NoLock, WriteAsZeros) {
+ , 63, f0d8, 63}
+ Store(Refof(f0d8), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (64) {
+ IndexField(IDX7, DAT7, DWordAcc, NoLock, WriteAsZeros) {
+ , 63, f0d9, 64}
+ Store(Refof(f0d9), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (65) {
+ IndexField(IDX8, DAT8, DWordAcc, NoLock, WriteAsZeros) {
+ , 63, f0da, 65}
+ Store(Refof(f0da), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (69) {
+ IndexField(IDX9, DAT9, DWordAcc, NoLock, WriteAsZeros) {
+ , 63, f0db, 69}
+ Store(Refof(f0db), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (129) {
+ IndexField(IDXA, DATA, DWordAcc, NoLock, WriteAsZeros) {
+ , 63, f0dc, 129}
+ Store(Refof(f0dc), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (256) {
+ IndexField(IDXB, DATB, DWordAcc, NoLock, WriteAsZeros) {
+ , 63, f0dd, 256}
+ Store(Refof(f0dd), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (1023) {
+ IndexField(IDXC, DATC, DWordAcc, NoLock, WriteAsZeros) {
+ , 63, f0de, 1023}
+ Store(Refof(f0de), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (1983) {
+ IndexField(IDXD, DATD, DWordAcc, NoLock, WriteAsZeros) {
+ , 63, f0df, 1983}
+ Store(Refof(f0df), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ default {
+ err(arg0, z144, 59, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (64) {
+ switch(arg3) {
+ case (1) {
+ IndexField(IDXE, DATE, DWordAcc, NoLock, WriteAsZeros) {
+ , 64, f0e0, 1}
+ Store(Refof(f0e0), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (6) {
+ IndexField(IDX0, DAT0, DWordAcc, NoLock, WriteAsZeros) {
+ , 64, f0e1, 6}
+ Store(Refof(f0e1), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (7) {
+ IndexField(IDX1, DAT1, DWordAcc, NoLock, WriteAsZeros) {
+ , 64, f0e2, 7}
+ Store(Refof(f0e2), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (8) {
+ IndexField(IDX2, DAT2, DWordAcc, NoLock, WriteAsZeros) {
+ , 64, f0e3, 8}
+ Store(Refof(f0e3), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (9) {
+ IndexField(IDX3, DAT3, DWordAcc, NoLock, WriteAsZeros) {
+ , 64, f0e4, 9}
+ Store(Refof(f0e4), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (31) {
+ IndexField(IDX4, DAT4, DWordAcc, NoLock, WriteAsZeros) {
+ , 64, f0e5, 31}
+ Store(Refof(f0e5), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (32) {
+ IndexField(IDX5, DAT5, DWordAcc, NoLock, WriteAsZeros) {
+ , 64, f0e6, 32}
+ Store(Refof(f0e6), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (33) {
+ IndexField(IDX6, DAT6, DWordAcc, NoLock, WriteAsZeros) {
+ , 64, f0e7, 33}
+ Store(Refof(f0e7), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (63) {
+ IndexField(IDX7, DAT7, DWordAcc, NoLock, WriteAsZeros) {
+ , 64, f0e8, 63}
+ Store(Refof(f0e8), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (64) {
+ IndexField(IDX8, DAT8, DWordAcc, NoLock, WriteAsZeros) {
+ , 64, f0e9, 64}
+ Store(Refof(f0e9), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (65) {
+ IndexField(IDX9, DAT9, DWordAcc, NoLock, WriteAsZeros) {
+ , 64, f0ea, 65}
+ Store(Refof(f0ea), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (69) {
+ IndexField(IDXA, DATA, DWordAcc, NoLock, WriteAsZeros) {
+ , 64, f0eb, 69}
+ Store(Refof(f0eb), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (129) {
+ IndexField(IDXB, DATB, DWordAcc, NoLock, WriteAsZeros) {
+ , 64, f0ec, 129}
+ Store(Refof(f0ec), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (256) {
+ IndexField(IDXC, DATC, DWordAcc, NoLock, WriteAsZeros) {
+ , 64, f0ed, 256}
+ Store(Refof(f0ed), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (1023) {
+ IndexField(IDXD, DATD, DWordAcc, NoLock, WriteAsZeros) {
+ , 64, f0ee, 1023}
+ Store(Refof(f0ee), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (1983) {
+ IndexField(IDXE, DATE, DWordAcc, NoLock, WriteAsZeros) {
+ , 64, f0ef, 1983}
+ Store(Refof(f0ef), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ default {
+ err(arg0, z144, 60, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (65) {
+ switch(arg3) {
+ case (1) {
+ IndexField(IDX0, DAT0, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(8), , 1, f0f0, 1}
+ Store(Refof(f0f0), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (6) {
+ IndexField(IDX1, DAT1, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(8), , 1, f0f1, 6}
+ Store(Refof(f0f1), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (7) {
+ IndexField(IDX2, DAT2, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(8), , 1, f0f2, 7}
+ Store(Refof(f0f2), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (8) {
+ IndexField(IDX3, DAT3, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(8), , 1, f0f3, 8}
+ Store(Refof(f0f3), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (9) {
+ IndexField(IDX4, DAT4, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(8), , 1, f0f4, 9}
+ Store(Refof(f0f4), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (31) {
+ IndexField(IDX5, DAT5, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(8), , 1, f0f5, 31}
+ Store(Refof(f0f5), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (32) {
+ IndexField(IDX6, DAT6, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(8), , 1, f0f6, 32}
+ Store(Refof(f0f6), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (33) {
+ IndexField(IDX7, DAT7, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(8), , 1, f0f7, 33}
+ Store(Refof(f0f7), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (63) {
+ IndexField(IDX8, DAT8, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(8), , 1, f0f8, 63}
+ Store(Refof(f0f8), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (64) {
+ IndexField(IDX9, DAT9, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(8), , 1, f0f9, 64}
+ Store(Refof(f0f9), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (65) {
+ IndexField(IDXA, DATA, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(8), , 1, f0fa, 65}
+ Store(Refof(f0fa), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (69) {
+ IndexField(IDXB, DATB, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(8), , 1, f0fb, 69}
+ Store(Refof(f0fb), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (129) {
+ IndexField(IDXC, DATC, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(8), , 1, f0fc, 129}
+ Store(Refof(f0fc), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (256) {
+ IndexField(IDXD, DATD, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(8), , 1, f0fd, 256}
+ Store(Refof(f0fd), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (1023) {
+ IndexField(IDXE, DATE, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(8), , 1, f0fe, 1023}
+ Store(Refof(f0fe), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (1983) {
+ IndexField(IDX0, DAT0, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(8), , 1, f0ff, 1983}
+ Store(Refof(f0ff), Local3)
+ Store(Refof(g000), Local4)
+ }
+ default {
+ err(arg0, z144, 61, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ default {
+ err(arg0, z144, 62, 0, 0, arg2, arg3)
+ return}
+ }
+
+ m72d(arg0, Local3, arg2, arg3, arg4, arg5, Local4)
+}
+
+// Create IndexField Unit
+// (QWordAcc, NoLock, Preserve)
+Method(m793, 6)
+{
+ OperationRegion(OPR0, SystemMemory, 6000, 168)
+
+ /*
+ * Consider different attributes of index/data fields
+ * taking into account the following restrictions:
+ * - the fields spanning the same access unit interfere,
+ * - the fields exceeding 64 bits cause AE_BUFFER_OVERFLOW,
+ * - index field exceeding 32 bits unexpectedly cause
+ * AE_BUFFER_OVERFLOW too,
+ * - data field exceeding IndexField's Access Width
+ * causes overwriting of next memory bytes.
+ */
+
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ IDX0, 8,
+ DAT0, 64,
+ }
+ IndexField(IDX0, DAT0, ByteAcc, NoLock, Preserve) {
+ g000, 2048,
+ }
+
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ Offset(7),
+ IDX1, 8,
+ DAT1, 64,
+ }
+ IndexField(IDX1, DAT1, ByteAcc, NoLock, Preserve) {
+ g001, 2048,
+ }
+
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ Offset(14),
+ IDX2, 16,
+ DAT2, 64,
+ }
+ IndexField(IDX2, DAT2, ByteAcc, NoLock, Preserve) {
+ g002, 2048,
+ }
+
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ Offset(24),
+ IDX3, 16,
+ DAT3, 64,
+ }
+ IndexField(IDX3, DAT3, ByteAcc, NoLock, Preserve) {
+ g003, 2048,
+ }
+
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ Offset(34),
+ IDX4, 16,
+ DAT4, 64,
+ }
+ IndexField(IDX4, DAT4, ByteAcc, NoLock, Preserve) {
+ g004, 2048,
+ }
+
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ Offset(44),
+ IDX5, 32,
+ DAT5, 64,
+ }
+ IndexField(IDX5, DAT5, ByteAcc, NoLock, Preserve) {
+ g005, 2048,
+ }
+
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ Offset(56),
+ IDX6, 8,
+ Offset(60),
+ DAT6, 64,
+ }
+ IndexField(IDX6, DAT6, ByteAcc, NoLock, Preserve) {
+ g006, 2048,
+ }
+
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ Offset(68),
+ IDX7, 32,
+ DAT7, 64,
+ }
+ IndexField(IDX7, DAT7, ByteAcc, NoLock, Preserve) {
+ g007, 2048,
+ }
+
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(70),
+ IDX8, 32,
+ DAT8, 64,
+ }
+ IndexField(IDX8, DAT8, ByteAcc, NoLock, Preserve) {
+ g008, 2048,
+ }
+
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ Offset(82),
+ IDX9, 8,
+ Offset(88),
+ DAT9, 64,
+ }
+ IndexField(IDX9, DAT9, ByteAcc, NoLock, Preserve) {
+ g009, 2048,
+ }
+
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ Offset(96),
+ // Index field exceeding 32 bits causes AE_BUFFER_OVERFLOW
+ // IDXA, 64,
+ // Do not allow index/data interference
+ , 32, IDXA, 32,
+ DATA, 64,
+ }
+ IndexField(IDXA, DATA, ByteAcc, NoLock, Preserve) {
+ g00a, 2048,
+ }
+
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ Offset(112),
+ IDXB, 32,
+ Offset(120),
+ DATB, 64,
+ }
+ IndexField(IDXB, DATB, ByteAcc, NoLock, Preserve) {
+ g00b, 2048,
+ }
+
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ Offset(128),
+ IDXC, 8,
+ DATC, 64,
+ }
+ IndexField(IDXC, DATC, ByteAcc, NoLock, Preserve) {
+ g00c, 2048,
+ }
+
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ Offset(136),
+ // Index field exceeding 32 bits causes AE_BUFFER_OVERFLOW
+ // IDXD, 64,
+ IDXD, 32,
+ Offset(144),
+ DATD, 64,
+ }
+ IndexField(IDXD, DATD, ByteAcc, NoLock, Preserve) {
+ g00d, 2048,
+ }
+
+ Field(OPR0, AnyAcc, NoLock, WriteAsZeros) {
+ Offset(152),
+ IDXE, 32,
+ Offset(160),
+ DATE, 64,
+ }
+ IndexField(IDXE, DATE, ByteAcc, NoLock, Preserve) {
+ g00e, 2048,
+ }
+
+ Concatenate(arg0, "-m793", arg0)
+
+ switch(arg2) {
+ case (0) {
+ switch(arg3) {
+ case (1) {
+ IndexField(IDX0, DAT0, QWordAcc, NoLock, Preserve) {
+ , 0, f000, 1}
+ Store(Refof(f000), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (6) {
+ IndexField(IDX1, DAT1, QWordAcc, NoLock, Preserve) {
+ , 0, f001, 6}
+ Store(Refof(f001), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (7) {
+ IndexField(IDX2, DAT2, QWordAcc, NoLock, Preserve) {
+ , 0, f002, 7}
+ Store(Refof(f002), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (8) {
+ IndexField(IDX3, DAT3, QWordAcc, NoLock, Preserve) {
+ , 0, f003, 8}
+ Store(Refof(f003), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (9) {
+ IndexField(IDX4, DAT4, QWordAcc, NoLock, Preserve) {
+ , 0, f004, 9}
+ Store(Refof(f004), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (31) {
+ IndexField(IDX5, DAT5, QWordAcc, NoLock, Preserve) {
+ , 0, f005, 31}
+ Store(Refof(f005), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (32) {
+ IndexField(IDX6, DAT6, QWordAcc, NoLock, Preserve) {
+ , 0, f006, 32}
+ Store(Refof(f006), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (33) {
+ IndexField(IDX7, DAT7, QWordAcc, NoLock, Preserve) {
+ , 0, f007, 33}
+ Store(Refof(f007), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (63) {
+ IndexField(IDX8, DAT8, QWordAcc, NoLock, Preserve) {
+ , 0, f008, 63}
+ Store(Refof(f008), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (64) {
+ IndexField(IDX9, DAT9, QWordAcc, NoLock, Preserve) {
+ , 0, f009, 64}
+ Store(Refof(f009), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (65) {
+ IndexField(IDXA, DATA, QWordAcc, NoLock, Preserve) {
+ , 0, f00a, 65}
+ Store(Refof(f00a), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (69) {
+ IndexField(IDXB, DATB, QWordAcc, NoLock, Preserve) {
+ , 0, f00b, 69}
+ Store(Refof(f00b), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (129) {
+ IndexField(IDXC, DATC, QWordAcc, NoLock, Preserve) {
+ , 0, f00c, 129}
+ Store(Refof(f00c), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (256) {
+ IndexField(IDXD, DATD, QWordAcc, NoLock, Preserve) {
+ , 0, f00d, 256}
+ Store(Refof(f00d), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (1023) {
+ IndexField(IDXE, DATE, QWordAcc, NoLock, Preserve) {
+ , 0, f00e, 1023}
+ Store(Refof(f00e), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (1983) {
+ IndexField(IDX0, DAT0, QWordAcc, NoLock, Preserve) {
+ , 0, f00f, 1983}
+ Store(Refof(f00f), Local3)
+ Store(Refof(g000), Local4)
+ }
+ default {
+ err(arg0, z144, 63, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (1) {
+ switch(arg3) {
+ case (1) {
+ IndexField(IDX1, DAT1, QWordAcc, NoLock, Preserve) {
+ Offset(0), , 1, f010, 1}
+ Store(Refof(f010), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (6) {
+ IndexField(IDX2, DAT2, QWordAcc, NoLock, Preserve) {
+ Offset(0), , 1, f011, 6}
+ Store(Refof(f011), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (7) {
+ IndexField(IDX3, DAT3, QWordAcc, NoLock, Preserve) {
+ Offset(0), , 1, f012, 7}
+ Store(Refof(f012), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (8) {
+ IndexField(IDX4, DAT4, QWordAcc, NoLock, Preserve) {
+ Offset(0), , 1, f013, 8}
+ Store(Refof(f013), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (9) {
+ IndexField(IDX5, DAT5, QWordAcc, NoLock, Preserve) {
+ Offset(0), , 1, f014, 9}
+ Store(Refof(f014), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (31) {
+ IndexField(IDX6, DAT6, QWordAcc, NoLock, Preserve) {
+ Offset(0), , 1, f015, 31}
+ Store(Refof(f015), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (32) {
+ IndexField(IDX7, DAT7, QWordAcc, NoLock, Preserve) {
+ Offset(0), , 1, f016, 32}
+ Store(Refof(f016), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (33) {
+ IndexField(IDX8, DAT8, QWordAcc, NoLock, Preserve) {
+ Offset(0), , 1, f017, 33}
+ Store(Refof(f017), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (63) {
+ IndexField(IDX9, DAT9, QWordAcc, NoLock, Preserve) {
+ Offset(0), , 1, f018, 63}
+ Store(Refof(f018), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (64) {
+ IndexField(IDXA, DATA, QWordAcc, NoLock, Preserve) {
+ Offset(0), , 1, f019, 64}
+ Store(Refof(f019), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (65) {
+ IndexField(IDXB, DATB, QWordAcc, NoLock, Preserve) {
+ Offset(0), , 1, f01a, 65}
+ Store(Refof(f01a), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (69) {
+ IndexField(IDXC, DATC, QWordAcc, NoLock, Preserve) {
+ Offset(0), , 1, f01b, 69}
+ Store(Refof(f01b), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (129) {
+ IndexField(IDXD, DATD, QWordAcc, NoLock, Preserve) {
+ Offset(0), , 1, f01c, 129}
+ Store(Refof(f01c), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (256) {
+ IndexField(IDXE, DATE, QWordAcc, NoLock, Preserve) {
+ Offset(0), , 1, f01d, 256}
+ Store(Refof(f01d), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (1023) {
+ IndexField(IDX0, DAT0, QWordAcc, NoLock, Preserve) {
+ Offset(0), , 1, f01e, 1023}
+ Store(Refof(f01e), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (1983) {
+ IndexField(IDX1, DAT1, QWordAcc, NoLock, Preserve) {
+ Offset(0), , 1, f01f, 1983}
+ Store(Refof(f01f), Local3)
+ Store(Refof(g001), Local4)
+ }
+ default {
+ err(arg0, z144, 64, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (2) {
+ switch(arg3) {
+ case (1) {
+ IndexField(IDX2, DAT2, QWordAcc, NoLock, Preserve) {
+ , 2, f020, 1}
+ Store(Refof(f020), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (6) {
+ IndexField(IDX3, DAT3, QWordAcc, NoLock, Preserve) {
+ , 2, f021, 6}
+ Store(Refof(f021), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (7) {
+ IndexField(IDX4, DAT4, QWordAcc, NoLock, Preserve) {
+ , 2, f022, 7}
+ Store(Refof(f022), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (8) {
+ IndexField(IDX5, DAT5, QWordAcc, NoLock, Preserve) {
+ , 2, f023, 8}
+ Store(Refof(f023), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (9) {
+ IndexField(IDX6, DAT6, QWordAcc, NoLock, Preserve) {
+ , 2, f024, 9}
+ Store(Refof(f024), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (31) {
+ IndexField(IDX7, DAT7, QWordAcc, NoLock, Preserve) {
+ , 2, f025, 31}
+ Store(Refof(f025), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (32) {
+ IndexField(IDX8, DAT8, QWordAcc, NoLock, Preserve) {
+ , 2, f026, 32}
+ Store(Refof(f026), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (33) {
+ IndexField(IDX9, DAT9, QWordAcc, NoLock, Preserve) {
+ , 2, f027, 33}
+ Store(Refof(f027), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (63) {
+ IndexField(IDXA, DATA, QWordAcc, NoLock, Preserve) {
+ , 2, f028, 63}
+ Store(Refof(f028), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (64) {
+ IndexField(IDXB, DATB, QWordAcc, NoLock, Preserve) {
+ , 2, f029, 64}
+ Store(Refof(f029), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (65) {
+ IndexField(IDXC, DATC, QWordAcc, NoLock, Preserve) {
+ , 2, f02a, 65}
+ Store(Refof(f02a), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (69) {
+ IndexField(IDXD, DATD, QWordAcc, NoLock, Preserve) {
+ , 2, f02b, 69}
+ Store(Refof(f02b), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (129) {
+ IndexField(IDXE, DATE, QWordAcc, NoLock, Preserve) {
+ , 2, f02c, 129}
+ Store(Refof(f02c), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (256) {
+ IndexField(IDX0, DAT0, QWordAcc, NoLock, Preserve) {
+ , 2, f02d, 256}
+ Store(Refof(f02d), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (1023) {
+ IndexField(IDX1, DAT1, QWordAcc, NoLock, Preserve) {
+ , 2, f02e, 1023}
+ Store(Refof(f02e), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (1983) {
+ IndexField(IDX2, DAT2, QWordAcc, NoLock, Preserve) {
+ , 2, f02f, 1983}
+ Store(Refof(f02f), Local3)
+ Store(Refof(g002), Local4)
+ }
+ default {
+ err(arg0, z144, 65, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (3) {
+ switch(arg3) {
+ case (1) {
+ IndexField(IDX3, DAT3, QWordAcc, NoLock, Preserve) {
+ , 3, f030, 1}
+ Store(Refof(f030), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (6) {
+ IndexField(IDX4, DAT4, QWordAcc, NoLock, Preserve) {
+ , 3, f031, 6}
+ Store(Refof(f031), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (7) {
+ IndexField(IDX5, DAT5, QWordAcc, NoLock, Preserve) {
+ , 3, f032, 7}
+ Store(Refof(f032), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (8) {
+ IndexField(IDX6, DAT6, QWordAcc, NoLock, Preserve) {
+ , 3, f033, 8}
+ Store(Refof(f033), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (9) {
+ IndexField(IDX7, DAT7, QWordAcc, NoLock, Preserve) {
+ , 3, f034, 9}
+ Store(Refof(f034), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (31) {
+ IndexField(IDX8, DAT8, QWordAcc, NoLock, Preserve) {
+ , 3, f035, 31}
+ Store(Refof(f035), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (32) {
+ IndexField(IDX9, DAT9, QWordAcc, NoLock, Preserve) {
+ , 3, f036, 32}
+ Store(Refof(f036), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (33) {
+ IndexField(IDXA, DATA, QWordAcc, NoLock, Preserve) {
+ , 3, f037, 33}
+ Store(Refof(f037), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (63) {
+ IndexField(IDXB, DATB, QWordAcc, NoLock, Preserve) {
+ , 3, f038, 63}
+ Store(Refof(f038), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (64) {
+ IndexField(IDXC, DATC, QWordAcc, NoLock, Preserve) {
+ , 3, f039, 64}
+ Store(Refof(f039), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (65) {
+ IndexField(IDXD, DATD, QWordAcc, NoLock, Preserve) {
+ , 3, f03a, 65}
+ Store(Refof(f03a), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (69) {
+ IndexField(IDXE, DATE, QWordAcc, NoLock, Preserve) {
+ , 3, f03b, 69}
+ Store(Refof(f03b), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (129) {
+ IndexField(IDX0, DAT0, QWordAcc, NoLock, Preserve) {
+ , 3, f03c, 129}
+ Store(Refof(f03c), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (256) {
+ IndexField(IDX1, DAT1, QWordAcc, NoLock, Preserve) {
+ , 3, f03d, 256}
+ Store(Refof(f03d), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (1023) {
+ IndexField(IDX2, DAT2, QWordAcc, NoLock, Preserve) {
+ , 3, f03e, 1023}
+ Store(Refof(f03e), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (1983) {
+ IndexField(IDX3, DAT3, QWordAcc, NoLock, Preserve) {
+ , 3, f03f, 1983}
+ Store(Refof(f03f), Local3)
+ Store(Refof(g003), Local4)
+ }
+ default {
+ err(arg0, z144, 66, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (4) {
+ switch(arg3) {
+ case (1) {
+ IndexField(IDX4, DAT4, QWordAcc, NoLock, Preserve) {
+ , 4, f040, 1}
+ Store(Refof(f040), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (6) {
+ IndexField(IDX5, DAT5, QWordAcc, NoLock, Preserve) {
+ , 4, f041, 6}
+ Store(Refof(f041), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (7) {
+ IndexField(IDX6, DAT6, QWordAcc, NoLock, Preserve) {
+ , 4, f042, 7}
+ Store(Refof(f042), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (8) {
+ IndexField(IDX7, DAT7, QWordAcc, NoLock, Preserve) {
+ , 4, f043, 8}
+ Store(Refof(f043), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (9) {
+ IndexField(IDX8, DAT8, QWordAcc, NoLock, Preserve) {
+ , 4, f044, 9}
+ Store(Refof(f044), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (31) {
+ IndexField(IDX9, DAT9, QWordAcc, NoLock, Preserve) {
+ , 4, f045, 31}
+ Store(Refof(f045), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (32) {
+ IndexField(IDXA, DATA, QWordAcc, NoLock, Preserve) {
+ , 4, f046, 32}
+ Store(Refof(f046), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (33) {
+ IndexField(IDXB, DATB, QWordAcc, NoLock, Preserve) {
+ , 4, f047, 33}
+ Store(Refof(f047), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (63) {
+ IndexField(IDXC, DATC, QWordAcc, NoLock, Preserve) {
+ , 4, f048, 63}
+ Store(Refof(f048), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (64) {
+ IndexField(IDXD, DATD, QWordAcc, NoLock, Preserve) {
+ , 4, f049, 64}
+ Store(Refof(f049), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (65) {
+ IndexField(IDXE, DATE, QWordAcc, NoLock, Preserve) {
+ , 4, f04a, 65}
+ Store(Refof(f04a), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (69) {
+ IndexField(IDX0, DAT0, QWordAcc, NoLock, Preserve) {
+ , 4, f04b, 69}
+ Store(Refof(f04b), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (129) {
+ IndexField(IDX1, DAT1, QWordAcc, NoLock, Preserve) {
+ , 4, f04c, 129}
+ Store(Refof(f04c), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (256) {
+ IndexField(IDX2, DAT2, QWordAcc, NoLock, Preserve) {
+ , 4, f04d, 256}
+ Store(Refof(f04d), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (1023) {
+ IndexField(IDX3, DAT3, QWordAcc, NoLock, Preserve) {
+ , 4, f04e, 1023}
+ Store(Refof(f04e), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (1983) {
+ IndexField(IDX4, DAT4, QWordAcc, NoLock, Preserve) {
+ , 4, f04f, 1983}
+ Store(Refof(f04f), Local3)
+ Store(Refof(g004), Local4)
+ }
+ default {
+ err(arg0, z144, 67, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (5) {
+ switch(arg3) {
+ case (1) {
+ IndexField(IDX5, DAT5, QWordAcc, NoLock, Preserve) {
+ , 5, f050, 1}
+ Store(Refof(f050), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (6) {
+ IndexField(IDX6, DAT6, QWordAcc, NoLock, Preserve) {
+ , 5, f051, 6}
+ Store(Refof(f051), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (7) {
+ IndexField(IDX7, DAT7, QWordAcc, NoLock, Preserve) {
+ , 5, f052, 7}
+ Store(Refof(f052), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (8) {
+ IndexField(IDX8, DAT8, QWordAcc, NoLock, Preserve) {
+ , 5, f053, 8}
+ Store(Refof(f053), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (9) {
+ IndexField(IDX9, DAT9, QWordAcc, NoLock, Preserve) {
+ , 5, f054, 9}
+ Store(Refof(f054), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (31) {
+ IndexField(IDXA, DATA, QWordAcc, NoLock, Preserve) {
+ , 5, f055, 31}
+ Store(Refof(f055), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (32) {
+ IndexField(IDXB, DATB, QWordAcc, NoLock, Preserve) {
+ , 5, f056, 32}
+ Store(Refof(f056), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (33) {
+ IndexField(IDXC, DATC, QWordAcc, NoLock, Preserve) {
+ , 5, f057, 33}
+ Store(Refof(f057), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (63) {
+ IndexField(IDXD, DATD, QWordAcc, NoLock, Preserve) {
+ , 5, f058, 63}
+ Store(Refof(f058), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (64) {
+ IndexField(IDXE, DATE, QWordAcc, NoLock, Preserve) {
+ , 5, f059, 64}
+ Store(Refof(f059), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (65) {
+ IndexField(IDX0, DAT0, QWordAcc, NoLock, Preserve) {
+ , 5, f05a, 65}
+ Store(Refof(f05a), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (69) {
+ IndexField(IDX1, DAT1, QWordAcc, NoLock, Preserve) {
+ , 5, f05b, 69}
+ Store(Refof(f05b), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (129) {
+ IndexField(IDX2, DAT2, QWordAcc, NoLock, Preserve) {
+ , 5, f05c, 129}
+ Store(Refof(f05c), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (256) {
+ IndexField(IDX3, DAT3, QWordAcc, NoLock, Preserve) {
+ , 5, f05d, 256}
+ Store(Refof(f05d), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (1023) {
+ IndexField(IDX4, DAT4, QWordAcc, NoLock, Preserve) {
+ , 5, f05e, 1023}
+ Store(Refof(f05e), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (1983) {
+ IndexField(IDX5, DAT5, QWordAcc, NoLock, Preserve) {
+ , 5, f05f, 1983}
+ Store(Refof(f05f), Local3)
+ Store(Refof(g005), Local4)
+ }
+ default {
+ err(arg0, z144, 68, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (6) {
+ switch(arg3) {
+ case (1) {
+ IndexField(IDX6, DAT6, QWordAcc, NoLock, Preserve) {
+ , 6, f060, 1}
+ Store(Refof(f060), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (6) {
+ IndexField(IDX7, DAT7, QWordAcc, NoLock, Preserve) {
+ , 6, f061, 6}
+ Store(Refof(f061), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (7) {
+ IndexField(IDX8, DAT8, QWordAcc, NoLock, Preserve) {
+ , 6, f062, 7}
+ Store(Refof(f062), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (8) {
+ IndexField(IDX9, DAT9, QWordAcc, NoLock, Preserve) {
+ , 6, f063, 8}
+ Store(Refof(f063), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (9) {
+ IndexField(IDXA, DATA, QWordAcc, NoLock, Preserve) {
+ , 6, f064, 9}
+ Store(Refof(f064), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (31) {
+ IndexField(IDXB, DATB, QWordAcc, NoLock, Preserve) {
+ , 6, f065, 31}
+ Store(Refof(f065), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (32) {
+ IndexField(IDXC, DATC, QWordAcc, NoLock, Preserve) {
+ , 6, f066, 32}
+ Store(Refof(f066), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (33) {
+ IndexField(IDXD, DATD, QWordAcc, NoLock, Preserve) {
+ , 6, f067, 33}
+ Store(Refof(f067), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (63) {
+ IndexField(IDXE, DATE, QWordAcc, NoLock, Preserve) {
+ , 6, f068, 63}
+ Store(Refof(f068), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (64) {
+ IndexField(IDX0, DAT0, QWordAcc, NoLock, Preserve) {
+ , 6, f069, 64}
+ Store(Refof(f069), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (65) {
+ IndexField(IDX1, DAT1, QWordAcc, NoLock, Preserve) {
+ , 6, f06a, 65}
+ Store(Refof(f06a), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (69) {
+ IndexField(IDX2, DAT2, QWordAcc, NoLock, Preserve) {
+ , 6, f06b, 69}
+ Store(Refof(f06b), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (129) {
+ IndexField(IDX3, DAT3, QWordAcc, NoLock, Preserve) {
+ , 6, f06c, 129}
+ Store(Refof(f06c), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (256) {
+ IndexField(IDX4, DAT4, QWordAcc, NoLock, Preserve) {
+ , 6, f06d, 256}
+ Store(Refof(f06d), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (1023) {
+ IndexField(IDX5, DAT5, QWordAcc, NoLock, Preserve) {
+ , 6, f06e, 1023}
+ Store(Refof(f06e), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (1983) {
+ IndexField(IDX6, DAT6, QWordAcc, NoLock, Preserve) {
+ , 6, f06f, 1983}
+ Store(Refof(f06f), Local3)
+ Store(Refof(g006), Local4)
+ }
+ default {
+ err(arg0, z144, 69, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (7) {
+ switch(arg3) {
+ case (1) {
+ IndexField(IDX7, DAT7, QWordAcc, NoLock, Preserve) {
+ , 7, f070, 1}
+ Store(Refof(f070), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (6) {
+ IndexField(IDX8, DAT8, QWordAcc, NoLock, Preserve) {
+ , 7, f071, 6}
+ Store(Refof(f071), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (7) {
+ IndexField(IDX9, DAT9, QWordAcc, NoLock, Preserve) {
+ , 7, f072, 7}
+ Store(Refof(f072), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (8) {
+ IndexField(IDXA, DATA, QWordAcc, NoLock, Preserve) {
+ , 7, f073, 8}
+ Store(Refof(f073), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (9) {
+ IndexField(IDXB, DATB, QWordAcc, NoLock, Preserve) {
+ , 7, f074, 9}
+ Store(Refof(f074), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (31) {
+ IndexField(IDXC, DATC, QWordAcc, NoLock, Preserve) {
+ , 7, f075, 31}
+ Store(Refof(f075), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (32) {
+ IndexField(IDXD, DATD, QWordAcc, NoLock, Preserve) {
+ , 7, f076, 32}
+ Store(Refof(f076), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (33) {
+ IndexField(IDXE, DATE, QWordAcc, NoLock, Preserve) {
+ , 7, f077, 33}
+ Store(Refof(f077), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (63) {
+ IndexField(IDX0, DAT0, QWordAcc, NoLock, Preserve) {
+ , 7, f078, 63}
+ Store(Refof(f078), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (64) {
+ IndexField(IDX1, DAT1, QWordAcc, NoLock, Preserve) {
+ , 7, f079, 64}
+ Store(Refof(f079), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (65) {
+ IndexField(IDX2, DAT2, QWordAcc, NoLock, Preserve) {
+ , 7, f07a, 65}
+ Store(Refof(f07a), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (69) {
+ IndexField(IDX3, DAT3, QWordAcc, NoLock, Preserve) {
+ , 7, f07b, 69}
+ Store(Refof(f07b), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (129) {
+ IndexField(IDX4, DAT4, QWordAcc, NoLock, Preserve) {
+ , 7, f07c, 129}
+ Store(Refof(f07c), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (256) {
+ IndexField(IDX5, DAT5, QWordAcc, NoLock, Preserve) {
+ , 7, f07d, 256}
+ Store(Refof(f07d), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (1023) {
+ IndexField(IDX6, DAT6, QWordAcc, NoLock, Preserve) {
+ , 7, f07e, 1023}
+ Store(Refof(f07e), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (1983) {
+ IndexField(IDX7, DAT7, QWordAcc, NoLock, Preserve) {
+ , 7, f07f, 1983}
+ Store(Refof(f07f), Local3)
+ Store(Refof(g007), Local4)
+ }
+ default {
+ err(arg0, z144, 70, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (8) {
+ switch(arg3) {
+ case (1) {
+ IndexField(IDX8, DAT8, QWordAcc, NoLock, Preserve) {
+ Offset(1), f080, 1}
+ Store(Refof(f080), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (6) {
+ IndexField(IDX9, DAT9, QWordAcc, NoLock, Preserve) {
+ Offset(1), f081, 6}
+ Store(Refof(f081), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (7) {
+ IndexField(IDXA, DATA, QWordAcc, NoLock, Preserve) {
+ Offset(1), f082, 7}
+ Store(Refof(f082), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (8) {
+ IndexField(IDXB, DATB, QWordAcc, NoLock, Preserve) {
+ Offset(1), f083, 8}
+ Store(Refof(f083), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (9) {
+ IndexField(IDXC, DATC, QWordAcc, NoLock, Preserve) {
+ Offset(1), f084, 9}
+ Store(Refof(f084), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (31) {
+ IndexField(IDXD, DATD, QWordAcc, NoLock, Preserve) {
+ Offset(1), f085, 31}
+ Store(Refof(f085), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (32) {
+ IndexField(IDXE, DATE, QWordAcc, NoLock, Preserve) {
+ Offset(1), f086, 32}
+ Store(Refof(f086), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (33) {
+ IndexField(IDX0, DAT0, QWordAcc, NoLock, Preserve) {
+ Offset(1), f087, 33}
+ Store(Refof(f087), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (63) {
+ IndexField(IDX1, DAT1, QWordAcc, NoLock, Preserve) {
+ Offset(1), f088, 63}
+ Store(Refof(f088), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (64) {
+ IndexField(IDX2, DAT2, QWordAcc, NoLock, Preserve) {
+ Offset(1), f089, 64}
+ Store(Refof(f089), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (65) {
+ IndexField(IDX3, DAT3, QWordAcc, NoLock, Preserve) {
+ Offset(1), f08a, 65}
+ Store(Refof(f08a), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (69) {
+ IndexField(IDX4, DAT4, QWordAcc, NoLock, Preserve) {
+ Offset(1), f08b, 69}
+ Store(Refof(f08b), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (129) {
+ IndexField(IDX5, DAT5, QWordAcc, NoLock, Preserve) {
+ Offset(1), f08c, 129}
+ Store(Refof(f08c), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (256) {
+ IndexField(IDX6, DAT6, QWordAcc, NoLock, Preserve) {
+ Offset(1), f08d, 256}
+ Store(Refof(f08d), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (1023) {
+ IndexField(IDX7, DAT7, QWordAcc, NoLock, Preserve) {
+ Offset(1), f08e, 1023}
+ Store(Refof(f08e), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (1983) {
+ IndexField(IDX8, DAT8, QWordAcc, NoLock, Preserve) {
+ Offset(1), f08f, 1983}
+ Store(Refof(f08f), Local3)
+ Store(Refof(g008), Local4)
+ }
+ default {
+ err(arg0, z144, 71, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (9) {
+ switch(arg3) {
+ case (1) {
+ IndexField(IDX9, DAT9, QWordAcc, NoLock, Preserve) {
+ , 9, f090, 1}
+ Store(Refof(f090), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (6) {
+ IndexField(IDXA, DATA, QWordAcc, NoLock, Preserve) {
+ , 9, f091, 6}
+ Store(Refof(f091), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (7) {
+ IndexField(IDXB, DATB, QWordAcc, NoLock, Preserve) {
+ , 9, f092, 7}
+ Store(Refof(f092), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (8) {
+ IndexField(IDXC, DATC, QWordAcc, NoLock, Preserve) {
+ , 9, f093, 8}
+ Store(Refof(f093), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (9) {
+ IndexField(IDXD, DATD, QWordAcc, NoLock, Preserve) {
+ , 9, f094, 9}
+ Store(Refof(f094), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (31) {
+ IndexField(IDXE, DATE, QWordAcc, NoLock, Preserve) {
+ , 9, f095, 31}
+ Store(Refof(f095), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (32) {
+ IndexField(IDX0, DAT0, QWordAcc, NoLock, Preserve) {
+ , 9, f096, 32}
+ Store(Refof(f096), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (33) {
+ IndexField(IDX1, DAT1, QWordAcc, NoLock, Preserve) {
+ , 9, f097, 33}
+ Store(Refof(f097), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (63) {
+ IndexField(IDX2, DAT2, QWordAcc, NoLock, Preserve) {
+ , 9, f098, 63}
+ Store(Refof(f098), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (64) {
+ IndexField(IDX3, DAT3, QWordAcc, NoLock, Preserve) {
+ , 9, f099, 64}
+ Store(Refof(f099), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (65) {
+ IndexField(IDX4, DAT4, QWordAcc, NoLock, Preserve) {
+ , 9, f09a, 65}
+ Store(Refof(f09a), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (69) {
+ IndexField(IDX5, DAT5, QWordAcc, NoLock, Preserve) {
+ , 9, f09b, 69}
+ Store(Refof(f09b), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (129) {
+ IndexField(IDX6, DAT6, QWordAcc, NoLock, Preserve) {
+ , 9, f09c, 129}
+ Store(Refof(f09c), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (256) {
+ IndexField(IDX7, DAT7, QWordAcc, NoLock, Preserve) {
+ , 9, f09d, 256}
+ Store(Refof(f09d), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (1023) {
+ IndexField(IDX8, DAT8, QWordAcc, NoLock, Preserve) {
+ , 9, f09e, 1023}
+ Store(Refof(f09e), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (1983) {
+ IndexField(IDX9, DAT9, QWordAcc, NoLock, Preserve) {
+ , 9, f09f, 1983}
+ Store(Refof(f09f), Local3)
+ Store(Refof(g009), Local4)
+ }
+ default {
+ err(arg0, z144, 72, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (31) {
+ switch(arg3) {
+ case (1) {
+ IndexField(IDXA, DATA, QWordAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0a0, 1}
+ Store(Refof(f0a0), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (6) {
+ IndexField(IDXB, DATB, QWordAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0a1, 6}
+ Store(Refof(f0a1), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (7) {
+ IndexField(IDXC, DATC, QWordAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0a2, 7}
+ Store(Refof(f0a2), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (8) {
+ IndexField(IDXD, DATD, QWordAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0a3, 8}
+ Store(Refof(f0a3), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (9) {
+ IndexField(IDXE, DATE, QWordAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0a4, 9}
+ Store(Refof(f0a4), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (31) {
+ IndexField(IDX0, DAT0, QWordAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0a5, 31}
+ Store(Refof(f0a5), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (32) {
+ IndexField(IDX1, DAT1, QWordAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0a6, 32}
+ Store(Refof(f0a6), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (33) {
+ IndexField(IDX2, DAT2, QWordAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0a7, 33}
+ Store(Refof(f0a7), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (63) {
+ IndexField(IDX3, DAT3, QWordAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0a8, 63}
+ Store(Refof(f0a8), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (64) {
+ IndexField(IDX4, DAT4, QWordAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0a9, 64}
+ Store(Refof(f0a9), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (65) {
+ IndexField(IDX5, DAT5, QWordAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0aa, 65}
+ Store(Refof(f0aa), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (69) {
+ IndexField(IDX6, DAT6, QWordAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0ab, 69}
+ Store(Refof(f0ab), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (129) {
+ IndexField(IDX7, DAT7, QWordAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0ac, 129}
+ Store(Refof(f0ac), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (256) {
+ IndexField(IDX8, DAT8, QWordAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0ad, 256}
+ Store(Refof(f0ad), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (1023) {
+ IndexField(IDX9, DAT9, QWordAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0ae, 1023}
+ Store(Refof(f0ae), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (1983) {
+ IndexField(IDXA, DATA, QWordAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0af, 1983}
+ Store(Refof(f0af), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ default {
+ err(arg0, z144, 73, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (32) {
+ switch(arg3) {
+ case (1) {
+ IndexField(IDXB, DATB, QWordAcc, NoLock, Preserve) {
+ , 32, f0b0, 1}
+ Store(Refof(f0b0), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (6) {
+ IndexField(IDXC, DATC, QWordAcc, NoLock, Preserve) {
+ , 32, f0b1, 6}
+ Store(Refof(f0b1), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (7) {
+ IndexField(IDXD, DATD, QWordAcc, NoLock, Preserve) {
+ , 32, f0b2, 7}
+ Store(Refof(f0b2), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (8) {
+ IndexField(IDXE, DATE, QWordAcc, NoLock, Preserve) {
+ , 32, f0b3, 8}
+ Store(Refof(f0b3), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (9) {
+ IndexField(IDX0, DAT0, QWordAcc, NoLock, Preserve) {
+ , 32, f0b4, 9}
+ Store(Refof(f0b4), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (31) {
+ IndexField(IDX1, DAT1, QWordAcc, NoLock, Preserve) {
+ , 32, f0b5, 31}
+ Store(Refof(f0b5), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (32) {
+ IndexField(IDX2, DAT2, QWordAcc, NoLock, Preserve) {
+ , 32, f0b6, 32}
+ Store(Refof(f0b6), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (33) {
+ IndexField(IDX3, DAT3, QWordAcc, NoLock, Preserve) {
+ , 32, f0b7, 33}
+ Store(Refof(f0b7), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (63) {
+ IndexField(IDX4, DAT4, QWordAcc, NoLock, Preserve) {
+ , 32, f0b8, 63}
+ Store(Refof(f0b8), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (64) {
+ IndexField(IDX5, DAT5, QWordAcc, NoLock, Preserve) {
+ , 32, f0b9, 64}
+ Store(Refof(f0b9), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (65) {
+ IndexField(IDX6, DAT6, QWordAcc, NoLock, Preserve) {
+ , 32, f0ba, 65}
+ Store(Refof(f0ba), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (69) {
+ IndexField(IDX7, DAT7, QWordAcc, NoLock, Preserve) {
+ , 32, f0bb, 69}
+ Store(Refof(f0bb), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (129) {
+ IndexField(IDX8, DAT8, QWordAcc, NoLock, Preserve) {
+ , 32, f0bc, 129}
+ Store(Refof(f0bc), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (256) {
+ IndexField(IDX9, DAT9, QWordAcc, NoLock, Preserve) {
+ , 32, f0bd, 256}
+ Store(Refof(f0bd), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (1023) {
+ IndexField(IDXA, DATA, QWordAcc, NoLock, Preserve) {
+ , 32, f0be, 1023}
+ Store(Refof(f0be), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (1983) {
+ IndexField(IDXB, DATB, QWordAcc, NoLock, Preserve) {
+ , 32, f0bf, 1983}
+ Store(Refof(f0bf), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ default {
+ err(arg0, z144, 74, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (33) {
+ switch(arg3) {
+ case (1) {
+ IndexField(IDXC, DATC, QWordAcc, NoLock, Preserve) {
+ , 33, f0c0, 1}
+ Store(Refof(f0c0), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (6) {
+ IndexField(IDXD, DATD, QWordAcc, NoLock, Preserve) {
+ , 33, f0c1, 6}
+ Store(Refof(f0c1), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (7) {
+ IndexField(IDXE, DATE, QWordAcc, NoLock, Preserve) {
+ , 33, f0c2, 7}
+ Store(Refof(f0c2), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (8) {
+ IndexField(IDX0, DAT0, QWordAcc, NoLock, Preserve) {
+ , 33, f0c3, 8}
+ Store(Refof(f0c3), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (9) {
+ IndexField(IDX1, DAT1, QWordAcc, NoLock, Preserve) {
+ , 33, f0c4, 9}
+ Store(Refof(f0c4), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (31) {
+ IndexField(IDX2, DAT2, QWordAcc, NoLock, Preserve) {
+ , 33, f0c5, 31}
+ Store(Refof(f0c5), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (32) {
+ IndexField(IDX3, DAT3, QWordAcc, NoLock, Preserve) {
+ , 33, f0c6, 32}
+ Store(Refof(f0c6), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (33) {
+ IndexField(IDX4, DAT4, QWordAcc, NoLock, Preserve) {
+ , 33, f0c7, 33}
+ Store(Refof(f0c7), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (63) {
+ IndexField(IDX5, DAT5, QWordAcc, NoLock, Preserve) {
+ , 33, f0c8, 63}
+ Store(Refof(f0c8), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (64) {
+ IndexField(IDX6, DAT6, QWordAcc, NoLock, Preserve) {
+ , 33, f0c9, 64}
+ Store(Refof(f0c9), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (65) {
+ IndexField(IDX7, DAT7, QWordAcc, NoLock, Preserve) {
+ , 33, f0ca, 65}
+ Store(Refof(f0ca), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (69) {
+ IndexField(IDX8, DAT8, QWordAcc, NoLock, Preserve) {
+ , 33, f0cb, 69}
+ Store(Refof(f0cb), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (129) {
+ IndexField(IDX9, DAT9, QWordAcc, NoLock, Preserve) {
+ , 33, f0cc, 129}
+ Store(Refof(f0cc), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (256) {
+ IndexField(IDXA, DATA, QWordAcc, NoLock, Preserve) {
+ , 33, f0cd, 256}
+ Store(Refof(f0cd), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (1023) {
+ IndexField(IDXB, DATB, QWordAcc, NoLock, Preserve) {
+ , 33, f0ce, 1023}
+ Store(Refof(f0ce), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (1983) {
+ IndexField(IDXC, DATC, QWordAcc, NoLock, Preserve) {
+ , 33, f0cf, 1983}
+ Store(Refof(f0cf), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ default {
+ err(arg0, z144, 75, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (63) {
+ switch(arg3) {
+ case (1) {
+ IndexField(IDXD, DATD, QWordAcc, NoLock, Preserve) {
+ , 63, f0d0, 1}
+ Store(Refof(f0d0), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (6) {
+ IndexField(IDXE, DATE, QWordAcc, NoLock, Preserve) {
+ , 63, f0d1, 6}
+ Store(Refof(f0d1), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (7) {
+ IndexField(IDX0, DAT0, QWordAcc, NoLock, Preserve) {
+ , 63, f0d2, 7}
+ Store(Refof(f0d2), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (8) {
+ IndexField(IDX1, DAT1, QWordAcc, NoLock, Preserve) {
+ , 63, f0d3, 8}
+ Store(Refof(f0d3), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (9) {
+ IndexField(IDX2, DAT2, QWordAcc, NoLock, Preserve) {
+ , 63, f0d4, 9}
+ Store(Refof(f0d4), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (31) {
+ IndexField(IDX3, DAT3, QWordAcc, NoLock, Preserve) {
+ , 63, f0d5, 31}
+ Store(Refof(f0d5), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (32) {
+ IndexField(IDX4, DAT4, QWordAcc, NoLock, Preserve) {
+ , 63, f0d6, 32}
+ Store(Refof(f0d6), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (33) {
+ IndexField(IDX5, DAT5, QWordAcc, NoLock, Preserve) {
+ , 63, f0d7, 33}
+ Store(Refof(f0d7), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (63) {
+ IndexField(IDX6, DAT6, QWordAcc, NoLock, Preserve) {
+ , 63, f0d8, 63}
+ Store(Refof(f0d8), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (64) {
+ IndexField(IDX7, DAT7, QWordAcc, NoLock, Preserve) {
+ , 63, f0d9, 64}
+ Store(Refof(f0d9), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (65) {
+ IndexField(IDX8, DAT8, QWordAcc, NoLock, Preserve) {
+ , 63, f0da, 65}
+ Store(Refof(f0da), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (69) {
+ IndexField(IDX9, DAT9, QWordAcc, NoLock, Preserve) {
+ , 63, f0db, 69}
+ Store(Refof(f0db), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (129) {
+ IndexField(IDXA, DATA, QWordAcc, NoLock, Preserve) {
+ , 63, f0dc, 129}
+ Store(Refof(f0dc), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (256) {
+ IndexField(IDXB, DATB, QWordAcc, NoLock, Preserve) {
+ , 63, f0dd, 256}
+ Store(Refof(f0dd), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (1023) {
+ IndexField(IDXC, DATC, QWordAcc, NoLock, Preserve) {
+ , 63, f0de, 1023}
+ Store(Refof(f0de), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (1983) {
+ IndexField(IDXD, DATD, QWordAcc, NoLock, Preserve) {
+ , 63, f0df, 1983}
+ Store(Refof(f0df), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ default {
+ err(arg0, z144, 76, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (64) {
+ switch(arg3) {
+ case (1) {
+ IndexField(IDXE, DATE, QWordAcc, NoLock, Preserve) {
+ , 64, f0e0, 1}
+ Store(Refof(f0e0), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (6) {
+ IndexField(IDX0, DAT0, QWordAcc, NoLock, Preserve) {
+ , 64, f0e1, 6}
+ Store(Refof(f0e1), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (7) {
+ IndexField(IDX1, DAT1, QWordAcc, NoLock, Preserve) {
+ , 64, f0e2, 7}
+ Store(Refof(f0e2), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (8) {
+ IndexField(IDX2, DAT2, QWordAcc, NoLock, Preserve) {
+ , 64, f0e3, 8}
+ Store(Refof(f0e3), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (9) {
+ IndexField(IDX3, DAT3, QWordAcc, NoLock, Preserve) {
+ , 64, f0e4, 9}
+ Store(Refof(f0e4), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (31) {
+ IndexField(IDX4, DAT4, QWordAcc, NoLock, Preserve) {
+ , 64, f0e5, 31}
+ Store(Refof(f0e5), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (32) {
+ IndexField(IDX5, DAT5, QWordAcc, NoLock, Preserve) {
+ , 64, f0e6, 32}
+ Store(Refof(f0e6), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (33) {
+ IndexField(IDX6, DAT6, QWordAcc, NoLock, Preserve) {
+ , 64, f0e7, 33}
+ Store(Refof(f0e7), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (63) {
+ IndexField(IDX7, DAT7, QWordAcc, NoLock, Preserve) {
+ , 64, f0e8, 63}
+ Store(Refof(f0e8), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (64) {
+ IndexField(IDX8, DAT8, QWordAcc, NoLock, Preserve) {
+ , 64, f0e9, 64}
+ Store(Refof(f0e9), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (65) {
+ IndexField(IDX9, DAT9, QWordAcc, NoLock, Preserve) {
+ , 64, f0ea, 65}
+ Store(Refof(f0ea), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (69) {
+ IndexField(IDXA, DATA, QWordAcc, NoLock, Preserve) {
+ , 64, f0eb, 69}
+ Store(Refof(f0eb), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (129) {
+ IndexField(IDXB, DATB, QWordAcc, NoLock, Preserve) {
+ , 64, f0ec, 129}
+ Store(Refof(f0ec), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (256) {
+ IndexField(IDXC, DATC, QWordAcc, NoLock, Preserve) {
+ , 64, f0ed, 256}
+ Store(Refof(f0ed), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (1023) {
+ IndexField(IDXD, DATD, QWordAcc, NoLock, Preserve) {
+ , 64, f0ee, 1023}
+ Store(Refof(f0ee), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (1983) {
+ IndexField(IDXE, DATE, QWordAcc, NoLock, Preserve) {
+ , 64, f0ef, 1983}
+ Store(Refof(f0ef), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ default {
+ err(arg0, z144, 77, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (65) {
+ switch(arg3) {
+ case (1) {
+ IndexField(IDX0, DAT0, QWordAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0f0, 1}
+ Store(Refof(f0f0), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (6) {
+ IndexField(IDX1, DAT1, QWordAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0f1, 6}
+ Store(Refof(f0f1), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (7) {
+ IndexField(IDX2, DAT2, QWordAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0f2, 7}
+ Store(Refof(f0f2), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (8) {
+ IndexField(IDX3, DAT3, QWordAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0f3, 8}
+ Store(Refof(f0f3), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (9) {
+ IndexField(IDX4, DAT4, QWordAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0f4, 9}
+ Store(Refof(f0f4), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (31) {
+ IndexField(IDX5, DAT5, QWordAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0f5, 31}
+ Store(Refof(f0f5), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (32) {
+ IndexField(IDX6, DAT6, QWordAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0f6, 32}
+ Store(Refof(f0f6), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (33) {
+ IndexField(IDX7, DAT7, QWordAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0f7, 33}
+ Store(Refof(f0f7), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (63) {
+ IndexField(IDX8, DAT8, QWordAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0f8, 63}
+ Store(Refof(f0f8), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (64) {
+ IndexField(IDX9, DAT9, QWordAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0f9, 64}
+ Store(Refof(f0f9), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (65) {
+ IndexField(IDXA, DATA, QWordAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0fa, 65}
+ Store(Refof(f0fa), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (69) {
+ IndexField(IDXB, DATB, QWordAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0fb, 69}
+ Store(Refof(f0fb), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (129) {
+ IndexField(IDXC, DATC, QWordAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0fc, 129}
+ Store(Refof(f0fc), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (256) {
+ IndexField(IDXD, DATD, QWordAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0fd, 256}
+ Store(Refof(f0fd), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (1023) {
+ IndexField(IDXE, DATE, QWordAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0fe, 1023}
+ Store(Refof(f0fe), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (1983) {
+ IndexField(IDX0, DAT0, QWordAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0ff, 1983}
+ Store(Refof(f0ff), Local3)
+ Store(Refof(g000), Local4)
+ }
+ default {
+ err(arg0, z144, 78, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ default {
+ err(arg0, z144, 79, 0, 0, arg2, arg3)
+ return}
+ }
+
+ m72d(arg0, Local3, arg2, arg3, arg4, arg5, Local4)
+}
+
+// Create IndexField Unit
+// (AnyAcc, Lock, Preserve)
+Method(m794, 6)
+{
+ OperationRegion(OPR0, SystemMemory, 7000, 135)
+
+ /*
+ * Consider different attributes of index/data fields
+ * taking into account the following restrictions:
+ * - the fields spanning the same access unit interfere,
+ * - the fields exceeding 64 bits cause AE_BUFFER_OVERFLOW,
+ * - index field exceeding 32 bits unexpectedly cause
+ * AE_BUFFER_OVERFLOW too,
+ * - data field exceeding IndexField's Access Width
+ * causes overwriting of next memory bytes.
+ */
+
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ IDX0, 8,
+ DAT0, 8,
+ }
+ IndexField(IDX0, DAT0, ByteAcc, NoLock, Preserve) {
+ g000, 2048,
+ }
+
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ Offset(3),
+ IDX1, 8,
+ DAT1, 8,
+ }
+ IndexField(IDX1, DAT1, ByteAcc, NoLock, Preserve) {
+ g001, 2048,
+ }
+
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ Offset(7),
+ IDX2, 16,
+ DAT2, 8,
+ }
+ IndexField(IDX2, DAT2, ByteAcc, NoLock, Preserve) {
+ g002, 2048,
+ }
+
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ Offset(11),
+ IDX3, 8,
+ DAT3, 8,
+ }
+ IndexField(IDX3, DAT3, ByteAcc, NoLock, Preserve) {
+ g003, 2048,
+ }
+
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ Offset(14),
+ IDX4, 16,
+ DAT4, 8,
+ }
+ IndexField(IDX4, DAT4, ByteAcc, NoLock, Preserve) {
+ g004, 2048,
+ }
+
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ Offset(18),
+ IDX5, 32,
+ DAT5, 8,
+ }
+ IndexField(IDX5, DAT5, ByteAcc, NoLock, Preserve) {
+ g005, 2048,
+ }
+
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ Offset(26),
+ IDX6, 8,
+ Offset(28),
+ DAT6, 8,
+ }
+ IndexField(IDX6, DAT6, ByteAcc, NoLock, Preserve) {
+ g006, 2048,
+ }
+
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ Offset(32),
+ IDX7, 32,
+ DAT7, 8,
+ }
+ IndexField(IDX7, DAT7, ByteAcc, NoLock, Preserve) {
+ g007, 2048,
+ }
+
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(40),
+ IDX8, 32,
+ DAT8, 8,
+ }
+ IndexField(IDX8, DAT8, ByteAcc, NoLock, Preserve) {
+ g008, 2048,
+ }
+
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ Offset(56),
+ IDX9, 8,
+ Offset(64),
+ DAT9, 8,
+ }
+ IndexField(IDX9, DAT9, ByteAcc, NoLock, Preserve) {
+ g009, 2048,
+ }
+
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ Offset(72),
+ // Index field exceeding 32 bits causes AE_BUFFER_OVERFLOW
+ // IDXA, 64,
+ // Do not allow index/data interference
+ , 32, IDXA, 32,
+ DATA, 8,
+ }
+ IndexField(IDXA, DATA, ByteAcc, NoLock, Preserve) {
+ g00a, 2048,
+ }
+
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ Offset(88),
+ IDXB, 32,
+ Offset(96),
+ DATB, 8,
+ }
+ IndexField(IDXB, DATB, ByteAcc, NoLock, Preserve) {
+ g00b, 2048,
+ }
+
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ Offset(104),
+ IDXC, 8,
+ DATC, 8,
+ }
+ IndexField(IDXC, DATC, ByteAcc, NoLock, Preserve) {
+ g00c, 2048,
+ }
+
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ Offset(107),
+ // Index field exceeding 32 bits causes AE_BUFFER_OVERFLOW
+ // IDXD, 64,
+ IDXD, 32,
+ DATD, 8,
+ }
+ IndexField(IDXD, DATD, ByteAcc, NoLock, Preserve) {
+ g00d, 2048,
+ }
+
+ Field(OPR0, AnyAcc, NoLock, WriteAsZeros) {
+ Offset(123),
+ IDXE, 32,
+ DATE, 8,
+ }
+ IndexField(IDXE, DATE, ByteAcc, NoLock, Preserve) {
+ g00e, 2048,
+ }
+
+ Concatenate(arg0, "-m794", arg0)
+
+ switch(arg2) {
+ case (0) {
+ switch(arg3) {
+ case (1) {
+ IndexField(IDX0, DAT0, AnyAcc, Lock, Preserve) {
+ , 0, f000, 1}
+ Store(Refof(f000), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (6) {
+ IndexField(IDX1, DAT1, AnyAcc, Lock, Preserve) {
+ , 0, f001, 6}
+ Store(Refof(f001), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (7) {
+ IndexField(IDX2, DAT2, AnyAcc, Lock, Preserve) {
+ , 0, f002, 7}
+ Store(Refof(f002), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (8) {
+ IndexField(IDX3, DAT3, AnyAcc, Lock, Preserve) {
+ , 0, f003, 8}
+ Store(Refof(f003), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (9) {
+ IndexField(IDX4, DAT4, AnyAcc, Lock, Preserve) {
+ , 0, f004, 9}
+ Store(Refof(f004), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (31) {
+ IndexField(IDX5, DAT5, AnyAcc, Lock, Preserve) {
+ , 0, f005, 31}
+ Store(Refof(f005), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (32) {
+ IndexField(IDX6, DAT6, AnyAcc, Lock, Preserve) {
+ , 0, f006, 32}
+ Store(Refof(f006), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (33) {
+ IndexField(IDX7, DAT7, AnyAcc, Lock, Preserve) {
+ , 0, f007, 33}
+ Store(Refof(f007), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (63) {
+ IndexField(IDX8, DAT8, AnyAcc, Lock, Preserve) {
+ , 0, f008, 63}
+ Store(Refof(f008), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (64) {
+ IndexField(IDX9, DAT9, AnyAcc, Lock, Preserve) {
+ , 0, f009, 64}
+ Store(Refof(f009), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (65) {
+ IndexField(IDXA, DATA, AnyAcc, Lock, Preserve) {
+ , 0, f00a, 65}
+ Store(Refof(f00a), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (69) {
+ IndexField(IDXB, DATB, AnyAcc, Lock, Preserve) {
+ , 0, f00b, 69}
+ Store(Refof(f00b), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (129) {
+ IndexField(IDXC, DATC, AnyAcc, Lock, Preserve) {
+ , 0, f00c, 129}
+ Store(Refof(f00c), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (256) {
+ IndexField(IDXD, DATD, AnyAcc, Lock, Preserve) {
+ , 0, f00d, 256}
+ Store(Refof(f00d), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (1023) {
+ IndexField(IDXE, DATE, AnyAcc, Lock, Preserve) {
+ , 0, f00e, 1023}
+ Store(Refof(f00e), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (1983) {
+ IndexField(IDX0, DAT0, AnyAcc, Lock, Preserve) {
+ , 0, f00f, 1983}
+ Store(Refof(f00f), Local3)
+ Store(Refof(g000), Local4)
+ }
+ default {
+ err(arg0, z144, 80, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (1) {
+ switch(arg3) {
+ case (1) {
+ IndexField(IDX1, DAT1, AnyAcc, Lock, Preserve) {
+ Offset(0), , 1, f010, 1}
+ Store(Refof(f010), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (6) {
+ IndexField(IDX2, DAT2, AnyAcc, Lock, Preserve) {
+ Offset(0), , 1, f011, 6}
+ Store(Refof(f011), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (7) {
+ IndexField(IDX3, DAT3, AnyAcc, Lock, Preserve) {
+ Offset(0), , 1, f012, 7}
+ Store(Refof(f012), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (8) {
+ IndexField(IDX4, DAT4, AnyAcc, Lock, Preserve) {
+ Offset(0), , 1, f013, 8}
+ Store(Refof(f013), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (9) {
+ IndexField(IDX5, DAT5, AnyAcc, Lock, Preserve) {
+ Offset(0), , 1, f014, 9}
+ Store(Refof(f014), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (31) {
+ IndexField(IDX6, DAT6, AnyAcc, Lock, Preserve) {
+ Offset(0), , 1, f015, 31}
+ Store(Refof(f015), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (32) {
+ IndexField(IDX7, DAT7, AnyAcc, Lock, Preserve) {
+ Offset(0), , 1, f016, 32}
+ Store(Refof(f016), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (33) {
+ IndexField(IDX8, DAT8, AnyAcc, Lock, Preserve) {
+ Offset(0), , 1, f017, 33}
+ Store(Refof(f017), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (63) {
+ IndexField(IDX9, DAT9, AnyAcc, Lock, Preserve) {
+ Offset(0), , 1, f018, 63}
+ Store(Refof(f018), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (64) {
+ IndexField(IDXA, DATA, AnyAcc, Lock, Preserve) {
+ Offset(0), , 1, f019, 64}
+ Store(Refof(f019), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (65) {
+ IndexField(IDXB, DATB, AnyAcc, Lock, Preserve) {
+ Offset(0), , 1, f01a, 65}
+ Store(Refof(f01a), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (69) {
+ IndexField(IDXC, DATC, AnyAcc, Lock, Preserve) {
+ Offset(0), , 1, f01b, 69}
+ Store(Refof(f01b), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (129) {
+ IndexField(IDXD, DATD, AnyAcc, Lock, Preserve) {
+ Offset(0), , 1, f01c, 129}
+ Store(Refof(f01c), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (256) {
+ IndexField(IDXE, DATE, AnyAcc, Lock, Preserve) {
+ Offset(0), , 1, f01d, 256}
+ Store(Refof(f01d), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (1023) {
+ IndexField(IDX0, DAT0, AnyAcc, Lock, Preserve) {
+ Offset(0), , 1, f01e, 1023}
+ Store(Refof(f01e), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (1983) {
+ IndexField(IDX1, DAT1, AnyAcc, Lock, Preserve) {
+ Offset(0), , 1, f01f, 1983}
+ Store(Refof(f01f), Local3)
+ Store(Refof(g001), Local4)
+ }
+ default {
+ err(arg0, z144, 81, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (2) {
+ switch(arg3) {
+ case (1) {
+ IndexField(IDX2, DAT2, AnyAcc, Lock, Preserve) {
+ , 2, f020, 1}
+ Store(Refof(f020), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (6) {
+ IndexField(IDX3, DAT3, AnyAcc, Lock, Preserve) {
+ , 2, f021, 6}
+ Store(Refof(f021), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (7) {
+ IndexField(IDX4, DAT4, AnyAcc, Lock, Preserve) {
+ , 2, f022, 7}
+ Store(Refof(f022), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (8) {
+ IndexField(IDX5, DAT5, AnyAcc, Lock, Preserve) {
+ , 2, f023, 8}
+ Store(Refof(f023), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (9) {
+ IndexField(IDX6, DAT6, AnyAcc, Lock, Preserve) {
+ , 2, f024, 9}
+ Store(Refof(f024), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (31) {
+ IndexField(IDX7, DAT7, AnyAcc, Lock, Preserve) {
+ , 2, f025, 31}
+ Store(Refof(f025), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (32) {
+ IndexField(IDX8, DAT8, AnyAcc, Lock, Preserve) {
+ , 2, f026, 32}
+ Store(Refof(f026), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (33) {
+ IndexField(IDX9, DAT9, AnyAcc, Lock, Preserve) {
+ , 2, f027, 33}
+ Store(Refof(f027), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (63) {
+ IndexField(IDXA, DATA, AnyAcc, Lock, Preserve) {
+ , 2, f028, 63}
+ Store(Refof(f028), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (64) {
+ IndexField(IDXB, DATB, AnyAcc, Lock, Preserve) {
+ , 2, f029, 64}
+ Store(Refof(f029), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (65) {
+ IndexField(IDXC, DATC, AnyAcc, Lock, Preserve) {
+ , 2, f02a, 65}
+ Store(Refof(f02a), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (69) {
+ IndexField(IDXD, DATD, AnyAcc, Lock, Preserve) {
+ , 2, f02b, 69}
+ Store(Refof(f02b), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (129) {
+ IndexField(IDXE, DATE, AnyAcc, Lock, Preserve) {
+ , 2, f02c, 129}
+ Store(Refof(f02c), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (256) {
+ IndexField(IDX0, DAT0, AnyAcc, Lock, Preserve) {
+ , 2, f02d, 256}
+ Store(Refof(f02d), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (1023) {
+ IndexField(IDX1, DAT1, AnyAcc, Lock, Preserve) {
+ , 2, f02e, 1023}
+ Store(Refof(f02e), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (1983) {
+ IndexField(IDX2, DAT2, AnyAcc, Lock, Preserve) {
+ , 2, f02f, 1983}
+ Store(Refof(f02f), Local3)
+ Store(Refof(g002), Local4)
+ }
+ default {
+ err(arg0, z144, 82, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (3) {
+ switch(arg3) {
+ case (1) {
+ IndexField(IDX3, DAT3, AnyAcc, Lock, Preserve) {
+ , 3, f030, 1}
+ Store(Refof(f030), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (6) {
+ IndexField(IDX4, DAT4, AnyAcc, Lock, Preserve) {
+ , 3, f031, 6}
+ Store(Refof(f031), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (7) {
+ IndexField(IDX5, DAT5, AnyAcc, Lock, Preserve) {
+ , 3, f032, 7}
+ Store(Refof(f032), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (8) {
+ IndexField(IDX6, DAT6, AnyAcc, Lock, Preserve) {
+ , 3, f033, 8}
+ Store(Refof(f033), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (9) {
+ IndexField(IDX7, DAT7, AnyAcc, Lock, Preserve) {
+ , 3, f034, 9}
+ Store(Refof(f034), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (31) {
+ IndexField(IDX8, DAT8, AnyAcc, Lock, Preserve) {
+ , 3, f035, 31}
+ Store(Refof(f035), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (32) {
+ IndexField(IDX9, DAT9, AnyAcc, Lock, Preserve) {
+ , 3, f036, 32}
+ Store(Refof(f036), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (33) {
+ IndexField(IDXA, DATA, AnyAcc, Lock, Preserve) {
+ , 3, f037, 33}
+ Store(Refof(f037), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (63) {
+ IndexField(IDXB, DATB, AnyAcc, Lock, Preserve) {
+ , 3, f038, 63}
+ Store(Refof(f038), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (64) {
+ IndexField(IDXC, DATC, AnyAcc, Lock, Preserve) {
+ , 3, f039, 64}
+ Store(Refof(f039), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (65) {
+ IndexField(IDXD, DATD, AnyAcc, Lock, Preserve) {
+ , 3, f03a, 65}
+ Store(Refof(f03a), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (69) {
+ IndexField(IDXE, DATE, AnyAcc, Lock, Preserve) {
+ , 3, f03b, 69}
+ Store(Refof(f03b), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (129) {
+ IndexField(IDX0, DAT0, AnyAcc, Lock, Preserve) {
+ , 3, f03c, 129}
+ Store(Refof(f03c), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (256) {
+ IndexField(IDX1, DAT1, AnyAcc, Lock, Preserve) {
+ , 3, f03d, 256}
+ Store(Refof(f03d), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (1023) {
+ IndexField(IDX2, DAT2, AnyAcc, Lock, Preserve) {
+ , 3, f03e, 1023}
+ Store(Refof(f03e), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (1983) {
+ IndexField(IDX3, DAT3, AnyAcc, Lock, Preserve) {
+ , 3, f03f, 1983}
+ Store(Refof(f03f), Local3)
+ Store(Refof(g003), Local4)
+ }
+ default {
+ err(arg0, z144, 83, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (4) {
+ switch(arg3) {
+ case (1) {
+ IndexField(IDX4, DAT4, AnyAcc, Lock, Preserve) {
+ , 4, f040, 1}
+ Store(Refof(f040), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (6) {
+ IndexField(IDX5, DAT5, AnyAcc, Lock, Preserve) {
+ , 4, f041, 6}
+ Store(Refof(f041), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (7) {
+ IndexField(IDX6, DAT6, AnyAcc, Lock, Preserve) {
+ , 4, f042, 7}
+ Store(Refof(f042), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (8) {
+ IndexField(IDX7, DAT7, AnyAcc, Lock, Preserve) {
+ , 4, f043, 8}
+ Store(Refof(f043), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (9) {
+ IndexField(IDX8, DAT8, AnyAcc, Lock, Preserve) {
+ , 4, f044, 9}
+ Store(Refof(f044), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (31) {
+ IndexField(IDX9, DAT9, AnyAcc, Lock, Preserve) {
+ , 4, f045, 31}
+ Store(Refof(f045), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (32) {
+ IndexField(IDXA, DATA, AnyAcc, Lock, Preserve) {
+ , 4, f046, 32}
+ Store(Refof(f046), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (33) {
+ IndexField(IDXB, DATB, AnyAcc, Lock, Preserve) {
+ , 4, f047, 33}
+ Store(Refof(f047), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (63) {
+ IndexField(IDXC, DATC, AnyAcc, Lock, Preserve) {
+ , 4, f048, 63}
+ Store(Refof(f048), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (64) {
+ IndexField(IDXD, DATD, AnyAcc, Lock, Preserve) {
+ , 4, f049, 64}
+ Store(Refof(f049), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (65) {
+ IndexField(IDXE, DATE, AnyAcc, Lock, Preserve) {
+ , 4, f04a, 65}
+ Store(Refof(f04a), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (69) {
+ IndexField(IDX0, DAT0, AnyAcc, Lock, Preserve) {
+ , 4, f04b, 69}
+ Store(Refof(f04b), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (129) {
+ IndexField(IDX1, DAT1, AnyAcc, Lock, Preserve) {
+ , 4, f04c, 129}
+ Store(Refof(f04c), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (256) {
+ IndexField(IDX2, DAT2, AnyAcc, Lock, Preserve) {
+ , 4, f04d, 256}
+ Store(Refof(f04d), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (1023) {
+ IndexField(IDX3, DAT3, AnyAcc, Lock, Preserve) {
+ , 4, f04e, 1023}
+ Store(Refof(f04e), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (1983) {
+ IndexField(IDX4, DAT4, AnyAcc, Lock, Preserve) {
+ , 4, f04f, 1983}
+ Store(Refof(f04f), Local3)
+ Store(Refof(g004), Local4)
+ }
+ default {
+ err(arg0, z144, 84, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (5) {
+ switch(arg3) {
+ case (1) {
+ IndexField(IDX5, DAT5, AnyAcc, Lock, Preserve) {
+ , 5, f050, 1}
+ Store(Refof(f050), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (6) {
+ IndexField(IDX6, DAT6, AnyAcc, Lock, Preserve) {
+ , 5, f051, 6}
+ Store(Refof(f051), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (7) {
+ IndexField(IDX7, DAT7, AnyAcc, Lock, Preserve) {
+ , 5, f052, 7}
+ Store(Refof(f052), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (8) {
+ IndexField(IDX8, DAT8, AnyAcc, Lock, Preserve) {
+ , 5, f053, 8}
+ Store(Refof(f053), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (9) {
+ IndexField(IDX9, DAT9, AnyAcc, Lock, Preserve) {
+ , 5, f054, 9}
+ Store(Refof(f054), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (31) {
+ IndexField(IDXA, DATA, AnyAcc, Lock, Preserve) {
+ , 5, f055, 31}
+ Store(Refof(f055), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (32) {
+ IndexField(IDXB, DATB, AnyAcc, Lock, Preserve) {
+ , 5, f056, 32}
+ Store(Refof(f056), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (33) {
+ IndexField(IDXC, DATC, AnyAcc, Lock, Preserve) {
+ , 5, f057, 33}
+ Store(Refof(f057), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (63) {
+ IndexField(IDXD, DATD, AnyAcc, Lock, Preserve) {
+ , 5, f058, 63}
+ Store(Refof(f058), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (64) {
+ IndexField(IDXE, DATE, AnyAcc, Lock, Preserve) {
+ , 5, f059, 64}
+ Store(Refof(f059), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (65) {
+ IndexField(IDX0, DAT0, AnyAcc, Lock, Preserve) {
+ , 5, f05a, 65}
+ Store(Refof(f05a), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (69) {
+ IndexField(IDX1, DAT1, AnyAcc, Lock, Preserve) {
+ , 5, f05b, 69}
+ Store(Refof(f05b), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (129) {
+ IndexField(IDX2, DAT2, AnyAcc, Lock, Preserve) {
+ , 5, f05c, 129}
+ Store(Refof(f05c), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (256) {
+ IndexField(IDX3, DAT3, AnyAcc, Lock, Preserve) {
+ , 5, f05d, 256}
+ Store(Refof(f05d), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (1023) {
+ IndexField(IDX4, DAT4, AnyAcc, Lock, Preserve) {
+ , 5, f05e, 1023}
+ Store(Refof(f05e), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (1983) {
+ IndexField(IDX5, DAT5, AnyAcc, Lock, Preserve) {
+ , 5, f05f, 1983}
+ Store(Refof(f05f), Local3)
+ Store(Refof(g005), Local4)
+ }
+ default {
+ err(arg0, z144, 85, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (6) {
+ switch(arg3) {
+ case (1) {
+ IndexField(IDX6, DAT6, AnyAcc, Lock, Preserve) {
+ , 6, f060, 1}
+ Store(Refof(f060), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (6) {
+ IndexField(IDX7, DAT7, AnyAcc, Lock, Preserve) {
+ , 6, f061, 6}
+ Store(Refof(f061), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (7) {
+ IndexField(IDX8, DAT8, AnyAcc, Lock, Preserve) {
+ , 6, f062, 7}
+ Store(Refof(f062), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (8) {
+ IndexField(IDX9, DAT9, AnyAcc, Lock, Preserve) {
+ , 6, f063, 8}
+ Store(Refof(f063), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (9) {
+ IndexField(IDXA, DATA, AnyAcc, Lock, Preserve) {
+ , 6, f064, 9}
+ Store(Refof(f064), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (31) {
+ IndexField(IDXB, DATB, AnyAcc, Lock, Preserve) {
+ , 6, f065, 31}
+ Store(Refof(f065), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (32) {
+ IndexField(IDXC, DATC, AnyAcc, Lock, Preserve) {
+ , 6, f066, 32}
+ Store(Refof(f066), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (33) {
+ IndexField(IDXD, DATD, AnyAcc, Lock, Preserve) {
+ , 6, f067, 33}
+ Store(Refof(f067), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (63) {
+ IndexField(IDXE, DATE, AnyAcc, Lock, Preserve) {
+ , 6, f068, 63}
+ Store(Refof(f068), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (64) {
+ IndexField(IDX0, DAT0, AnyAcc, Lock, Preserve) {
+ , 6, f069, 64}
+ Store(Refof(f069), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (65) {
+ IndexField(IDX1, DAT1, AnyAcc, Lock, Preserve) {
+ , 6, f06a, 65}
+ Store(Refof(f06a), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (69) {
+ IndexField(IDX2, DAT2, AnyAcc, Lock, Preserve) {
+ , 6, f06b, 69}
+ Store(Refof(f06b), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (129) {
+ IndexField(IDX3, DAT3, AnyAcc, Lock, Preserve) {
+ , 6, f06c, 129}
+ Store(Refof(f06c), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (256) {
+ IndexField(IDX4, DAT4, AnyAcc, Lock, Preserve) {
+ , 6, f06d, 256}
+ Store(Refof(f06d), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (1023) {
+ IndexField(IDX5, DAT5, AnyAcc, Lock, Preserve) {
+ , 6, f06e, 1023}
+ Store(Refof(f06e), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (1983) {
+ IndexField(IDX6, DAT6, AnyAcc, Lock, Preserve) {
+ , 6, f06f, 1983}
+ Store(Refof(f06f), Local3)
+ Store(Refof(g006), Local4)
+ }
+ default {
+ err(arg0, z144, 86, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (7) {
+ switch(arg3) {
+ case (1) {
+ IndexField(IDX7, DAT7, AnyAcc, Lock, Preserve) {
+ , 7, f070, 1}
+ Store(Refof(f070), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (6) {
+ IndexField(IDX8, DAT8, AnyAcc, Lock, Preserve) {
+ , 7, f071, 6}
+ Store(Refof(f071), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (7) {
+ IndexField(IDX9, DAT9, AnyAcc, Lock, Preserve) {
+ , 7, f072, 7}
+ Store(Refof(f072), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (8) {
+ IndexField(IDXA, DATA, AnyAcc, Lock, Preserve) {
+ , 7, f073, 8}
+ Store(Refof(f073), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (9) {
+ IndexField(IDXB, DATB, AnyAcc, Lock, Preserve) {
+ , 7, f074, 9}
+ Store(Refof(f074), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (31) {
+ IndexField(IDXC, DATC, AnyAcc, Lock, Preserve) {
+ , 7, f075, 31}
+ Store(Refof(f075), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (32) {
+ IndexField(IDXD, DATD, AnyAcc, Lock, Preserve) {
+ , 7, f076, 32}
+ Store(Refof(f076), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (33) {
+ IndexField(IDXE, DATE, AnyAcc, Lock, Preserve) {
+ , 7, f077, 33}
+ Store(Refof(f077), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (63) {
+ IndexField(IDX0, DAT0, AnyAcc, Lock, Preserve) {
+ , 7, f078, 63}
+ Store(Refof(f078), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (64) {
+ IndexField(IDX1, DAT1, AnyAcc, Lock, Preserve) {
+ , 7, f079, 64}
+ Store(Refof(f079), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (65) {
+ IndexField(IDX2, DAT2, AnyAcc, Lock, Preserve) {
+ , 7, f07a, 65}
+ Store(Refof(f07a), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (69) {
+ IndexField(IDX3, DAT3, AnyAcc, Lock, Preserve) {
+ , 7, f07b, 69}
+ Store(Refof(f07b), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (129) {
+ IndexField(IDX4, DAT4, AnyAcc, Lock, Preserve) {
+ , 7, f07c, 129}
+ Store(Refof(f07c), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (256) {
+ IndexField(IDX5, DAT5, AnyAcc, Lock, Preserve) {
+ , 7, f07d, 256}
+ Store(Refof(f07d), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (1023) {
+ IndexField(IDX6, DAT6, AnyAcc, Lock, Preserve) {
+ , 7, f07e, 1023}
+ Store(Refof(f07e), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (1983) {
+ IndexField(IDX7, DAT7, AnyAcc, Lock, Preserve) {
+ , 7, f07f, 1983}
+ Store(Refof(f07f), Local3)
+ Store(Refof(g007), Local4)
+ }
+ default {
+ err(arg0, z144, 87, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (8) {
+ switch(arg3) {
+ case (1) {
+ IndexField(IDX8, DAT8, AnyAcc, Lock, Preserve) {
+ Offset(1), f080, 1}
+ Store(Refof(f080), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (6) {
+ IndexField(IDX9, DAT9, AnyAcc, Lock, Preserve) {
+ Offset(1), f081, 6}
+ Store(Refof(f081), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (7) {
+ IndexField(IDXA, DATA, AnyAcc, Lock, Preserve) {
+ Offset(1), f082, 7}
+ Store(Refof(f082), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (8) {
+ IndexField(IDXB, DATB, AnyAcc, Lock, Preserve) {
+ Offset(1), f083, 8}
+ Store(Refof(f083), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (9) {
+ IndexField(IDXC, DATC, AnyAcc, Lock, Preserve) {
+ Offset(1), f084, 9}
+ Store(Refof(f084), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (31) {
+ IndexField(IDXD, DATD, AnyAcc, Lock, Preserve) {
+ Offset(1), f085, 31}
+ Store(Refof(f085), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (32) {
+ IndexField(IDXE, DATE, AnyAcc, Lock, Preserve) {
+ Offset(1), f086, 32}
+ Store(Refof(f086), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (33) {
+ IndexField(IDX0, DAT0, AnyAcc, Lock, Preserve) {
+ Offset(1), f087, 33}
+ Store(Refof(f087), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (63) {
+ IndexField(IDX1, DAT1, AnyAcc, Lock, Preserve) {
+ Offset(1), f088, 63}
+ Store(Refof(f088), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (64) {
+ IndexField(IDX2, DAT2, AnyAcc, Lock, Preserve) {
+ Offset(1), f089, 64}
+ Store(Refof(f089), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (65) {
+ IndexField(IDX3, DAT3, AnyAcc, Lock, Preserve) {
+ Offset(1), f08a, 65}
+ Store(Refof(f08a), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (69) {
+ IndexField(IDX4, DAT4, AnyAcc, Lock, Preserve) {
+ Offset(1), f08b, 69}
+ Store(Refof(f08b), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (129) {
+ IndexField(IDX5, DAT5, AnyAcc, Lock, Preserve) {
+ Offset(1), f08c, 129}
+ Store(Refof(f08c), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (256) {
+ IndexField(IDX6, DAT6, AnyAcc, Lock, Preserve) {
+ Offset(1), f08d, 256}
+ Store(Refof(f08d), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (1023) {
+ IndexField(IDX7, DAT7, AnyAcc, Lock, Preserve) {
+ Offset(1), f08e, 1023}
+ Store(Refof(f08e), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (1983) {
+ IndexField(IDX8, DAT8, AnyAcc, Lock, Preserve) {
+ Offset(1), f08f, 1983}
+ Store(Refof(f08f), Local3)
+ Store(Refof(g008), Local4)
+ }
+ default {
+ err(arg0, z144, 88, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (9) {
+ switch(arg3) {
+ case (1) {
+ IndexField(IDX9, DAT9, AnyAcc, Lock, Preserve) {
+ , 9, f090, 1}
+ Store(Refof(f090), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (6) {
+ IndexField(IDXA, DATA, AnyAcc, Lock, Preserve) {
+ , 9, f091, 6}
+ Store(Refof(f091), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (7) {
+ IndexField(IDXB, DATB, AnyAcc, Lock, Preserve) {
+ , 9, f092, 7}
+ Store(Refof(f092), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (8) {
+ IndexField(IDXC, DATC, AnyAcc, Lock, Preserve) {
+ , 9, f093, 8}
+ Store(Refof(f093), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (9) {
+ IndexField(IDXD, DATD, AnyAcc, Lock, Preserve) {
+ , 9, f094, 9}
+ Store(Refof(f094), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (31) {
+ IndexField(IDXE, DATE, AnyAcc, Lock, Preserve) {
+ , 9, f095, 31}
+ Store(Refof(f095), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (32) {
+ IndexField(IDX0, DAT0, AnyAcc, Lock, Preserve) {
+ , 9, f096, 32}
+ Store(Refof(f096), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (33) {
+ IndexField(IDX1, DAT1, AnyAcc, Lock, Preserve) {
+ , 9, f097, 33}
+ Store(Refof(f097), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (63) {
+ IndexField(IDX2, DAT2, AnyAcc, Lock, Preserve) {
+ , 9, f098, 63}
+ Store(Refof(f098), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (64) {
+ IndexField(IDX3, DAT3, AnyAcc, Lock, Preserve) {
+ , 9, f099, 64}
+ Store(Refof(f099), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (65) {
+ IndexField(IDX4, DAT4, AnyAcc, Lock, Preserve) {
+ , 9, f09a, 65}
+ Store(Refof(f09a), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (69) {
+ IndexField(IDX5, DAT5, AnyAcc, Lock, Preserve) {
+ , 9, f09b, 69}
+ Store(Refof(f09b), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (129) {
+ IndexField(IDX6, DAT6, AnyAcc, Lock, Preserve) {
+ , 9, f09c, 129}
+ Store(Refof(f09c), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (256) {
+ IndexField(IDX7, DAT7, AnyAcc, Lock, Preserve) {
+ , 9, f09d, 256}
+ Store(Refof(f09d), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (1023) {
+ IndexField(IDX8, DAT8, AnyAcc, Lock, Preserve) {
+ , 9, f09e, 1023}
+ Store(Refof(f09e), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (1983) {
+ IndexField(IDX9, DAT9, AnyAcc, Lock, Preserve) {
+ , 9, f09f, 1983}
+ Store(Refof(f09f), Local3)
+ Store(Refof(g009), Local4)
+ }
+ default {
+ err(arg0, z144, 89, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (31) {
+ switch(arg3) {
+ case (1) {
+ IndexField(IDXA, DATA, AnyAcc, Lock, Preserve) {
+ Offset(3), , 7, f0a0, 1}
+ Store(Refof(f0a0), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (6) {
+ IndexField(IDXB, DATB, AnyAcc, Lock, Preserve) {
+ Offset(3), , 7, f0a1, 6}
+ Store(Refof(f0a1), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (7) {
+ IndexField(IDXC, DATC, AnyAcc, Lock, Preserve) {
+ Offset(3), , 7, f0a2, 7}
+ Store(Refof(f0a2), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (8) {
+ IndexField(IDXD, DATD, AnyAcc, Lock, Preserve) {
+ Offset(3), , 7, f0a3, 8}
+ Store(Refof(f0a3), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (9) {
+ IndexField(IDXE, DATE, AnyAcc, Lock, Preserve) {
+ Offset(3), , 7, f0a4, 9}
+ Store(Refof(f0a4), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (31) {
+ IndexField(IDX0, DAT0, AnyAcc, Lock, Preserve) {
+ Offset(3), , 7, f0a5, 31}
+ Store(Refof(f0a5), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (32) {
+ IndexField(IDX1, DAT1, AnyAcc, Lock, Preserve) {
+ Offset(3), , 7, f0a6, 32}
+ Store(Refof(f0a6), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (33) {
+ IndexField(IDX2, DAT2, AnyAcc, Lock, Preserve) {
+ Offset(3), , 7, f0a7, 33}
+ Store(Refof(f0a7), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (63) {
+ IndexField(IDX3, DAT3, AnyAcc, Lock, Preserve) {
+ Offset(3), , 7, f0a8, 63}
+ Store(Refof(f0a8), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (64) {
+ IndexField(IDX4, DAT4, AnyAcc, Lock, Preserve) {
+ Offset(3), , 7, f0a9, 64}
+ Store(Refof(f0a9), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (65) {
+ IndexField(IDX5, DAT5, AnyAcc, Lock, Preserve) {
+ Offset(3), , 7, f0aa, 65}
+ Store(Refof(f0aa), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (69) {
+ IndexField(IDX6, DAT6, AnyAcc, Lock, Preserve) {
+ Offset(3), , 7, f0ab, 69}
+ Store(Refof(f0ab), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (129) {
+ IndexField(IDX7, DAT7, AnyAcc, Lock, Preserve) {
+ Offset(3), , 7, f0ac, 129}
+ Store(Refof(f0ac), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (256) {
+ IndexField(IDX8, DAT8, AnyAcc, Lock, Preserve) {
+ Offset(3), , 7, f0ad, 256}
+ Store(Refof(f0ad), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (1023) {
+ IndexField(IDX9, DAT9, AnyAcc, Lock, Preserve) {
+ Offset(3), , 7, f0ae, 1023}
+ Store(Refof(f0ae), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (1983) {
+ IndexField(IDXA, DATA, AnyAcc, Lock, Preserve) {
+ Offset(3), , 7, f0af, 1983}
+ Store(Refof(f0af), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ default {
+ err(arg0, z144, 90, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (32) {
+ switch(arg3) {
+ case (1) {
+ IndexField(IDXB, DATB, AnyAcc, Lock, Preserve) {
+ , 32, f0b0, 1}
+ Store(Refof(f0b0), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (6) {
+ IndexField(IDXC, DATC, AnyAcc, Lock, Preserve) {
+ , 32, f0b1, 6}
+ Store(Refof(f0b1), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (7) {
+ IndexField(IDXD, DATD, AnyAcc, Lock, Preserve) {
+ , 32, f0b2, 7}
+ Store(Refof(f0b2), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (8) {
+ IndexField(IDXE, DATE, AnyAcc, Lock, Preserve) {
+ , 32, f0b3, 8}
+ Store(Refof(f0b3), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (9) {
+ IndexField(IDX0, DAT0, AnyAcc, Lock, Preserve) {
+ , 32, f0b4, 9}
+ Store(Refof(f0b4), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (31) {
+ IndexField(IDX1, DAT1, AnyAcc, Lock, Preserve) {
+ , 32, f0b5, 31}
+ Store(Refof(f0b5), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (32) {
+ IndexField(IDX2, DAT2, AnyAcc, Lock, Preserve) {
+ , 32, f0b6, 32}
+ Store(Refof(f0b6), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (33) {
+ IndexField(IDX3, DAT3, AnyAcc, Lock, Preserve) {
+ , 32, f0b7, 33}
+ Store(Refof(f0b7), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (63) {
+ IndexField(IDX4, DAT4, AnyAcc, Lock, Preserve) {
+ , 32, f0b8, 63}
+ Store(Refof(f0b8), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (64) {
+ IndexField(IDX5, DAT5, AnyAcc, Lock, Preserve) {
+ , 32, f0b9, 64}
+ Store(Refof(f0b9), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (65) {
+ IndexField(IDX6, DAT6, AnyAcc, Lock, Preserve) {
+ , 32, f0ba, 65}
+ Store(Refof(f0ba), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (69) {
+ IndexField(IDX7, DAT7, AnyAcc, Lock, Preserve) {
+ , 32, f0bb, 69}
+ Store(Refof(f0bb), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (129) {
+ IndexField(IDX8, DAT8, AnyAcc, Lock, Preserve) {
+ , 32, f0bc, 129}
+ Store(Refof(f0bc), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (256) {
+ IndexField(IDX9, DAT9, AnyAcc, Lock, Preserve) {
+ , 32, f0bd, 256}
+ Store(Refof(f0bd), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (1023) {
+ IndexField(IDXA, DATA, AnyAcc, Lock, Preserve) {
+ , 32, f0be, 1023}
+ Store(Refof(f0be), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (1983) {
+ IndexField(IDXB, DATB, AnyAcc, Lock, Preserve) {
+ , 32, f0bf, 1983}
+ Store(Refof(f0bf), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ default {
+ err(arg0, z144, 91, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (33) {
+ switch(arg3) {
+ case (1) {
+ IndexField(IDXC, DATC, AnyAcc, Lock, Preserve) {
+ , 33, f0c0, 1}
+ Store(Refof(f0c0), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (6) {
+ IndexField(IDXD, DATD, AnyAcc, Lock, Preserve) {
+ , 33, f0c1, 6}
+ Store(Refof(f0c1), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (7) {
+ IndexField(IDXE, DATE, AnyAcc, Lock, Preserve) {
+ , 33, f0c2, 7}
+ Store(Refof(f0c2), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (8) {
+ IndexField(IDX0, DAT0, AnyAcc, Lock, Preserve) {
+ , 33, f0c3, 8}
+ Store(Refof(f0c3), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (9) {
+ IndexField(IDX1, DAT1, AnyAcc, Lock, Preserve) {
+ , 33, f0c4, 9}
+ Store(Refof(f0c4), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (31) {
+ IndexField(IDX2, DAT2, AnyAcc, Lock, Preserve) {
+ , 33, f0c5, 31}
+ Store(Refof(f0c5), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (32) {
+ IndexField(IDX3, DAT3, AnyAcc, Lock, Preserve) {
+ , 33, f0c6, 32}
+ Store(Refof(f0c6), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (33) {
+ IndexField(IDX4, DAT4, AnyAcc, Lock, Preserve) {
+ , 33, f0c7, 33}
+ Store(Refof(f0c7), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (63) {
+ IndexField(IDX5, DAT5, AnyAcc, Lock, Preserve) {
+ , 33, f0c8, 63}
+ Store(Refof(f0c8), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (64) {
+ IndexField(IDX6, DAT6, AnyAcc, Lock, Preserve) {
+ , 33, f0c9, 64}
+ Store(Refof(f0c9), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (65) {
+ IndexField(IDX7, DAT7, AnyAcc, Lock, Preserve) {
+ , 33, f0ca, 65}
+ Store(Refof(f0ca), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (69) {
+ IndexField(IDX8, DAT8, AnyAcc, Lock, Preserve) {
+ , 33, f0cb, 69}
+ Store(Refof(f0cb), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (129) {
+ IndexField(IDX9, DAT9, AnyAcc, Lock, Preserve) {
+ , 33, f0cc, 129}
+ Store(Refof(f0cc), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (256) {
+ IndexField(IDXA, DATA, AnyAcc, Lock, Preserve) {
+ , 33, f0cd, 256}
+ Store(Refof(f0cd), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (1023) {
+ IndexField(IDXB, DATB, AnyAcc, Lock, Preserve) {
+ , 33, f0ce, 1023}
+ Store(Refof(f0ce), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (1983) {
+ IndexField(IDXC, DATC, AnyAcc, Lock, Preserve) {
+ , 33, f0cf, 1983}
+ Store(Refof(f0cf), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ default {
+ err(arg0, z144, 92, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (63) {
+ switch(arg3) {
+ case (1) {
+ IndexField(IDXD, DATD, AnyAcc, Lock, Preserve) {
+ , 63, f0d0, 1}
+ Store(Refof(f0d0), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (6) {
+ IndexField(IDXE, DATE, AnyAcc, Lock, Preserve) {
+ , 63, f0d1, 6}
+ Store(Refof(f0d1), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (7) {
+ IndexField(IDX0, DAT0, AnyAcc, Lock, Preserve) {
+ , 63, f0d2, 7}
+ Store(Refof(f0d2), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (8) {
+ IndexField(IDX1, DAT1, AnyAcc, Lock, Preserve) {
+ , 63, f0d3, 8}
+ Store(Refof(f0d3), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (9) {
+ IndexField(IDX2, DAT2, AnyAcc, Lock, Preserve) {
+ , 63, f0d4, 9}
+ Store(Refof(f0d4), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (31) {
+ IndexField(IDX3, DAT3, AnyAcc, Lock, Preserve) {
+ , 63, f0d5, 31}
+ Store(Refof(f0d5), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (32) {
+ IndexField(IDX4, DAT4, AnyAcc, Lock, Preserve) {
+ , 63, f0d6, 32}
+ Store(Refof(f0d6), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (33) {
+ IndexField(IDX5, DAT5, AnyAcc, Lock, Preserve) {
+ , 63, f0d7, 33}
+ Store(Refof(f0d7), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (63) {
+ IndexField(IDX6, DAT6, AnyAcc, Lock, Preserve) {
+ , 63, f0d8, 63}
+ Store(Refof(f0d8), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (64) {
+ IndexField(IDX7, DAT7, AnyAcc, Lock, Preserve) {
+ , 63, f0d9, 64}
+ Store(Refof(f0d9), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (65) {
+ IndexField(IDX8, DAT8, AnyAcc, Lock, Preserve) {
+ , 63, f0da, 65}
+ Store(Refof(f0da), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (69) {
+ IndexField(IDX9, DAT9, AnyAcc, Lock, Preserve) {
+ , 63, f0db, 69}
+ Store(Refof(f0db), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (129) {
+ IndexField(IDXA, DATA, AnyAcc, Lock, Preserve) {
+ , 63, f0dc, 129}
+ Store(Refof(f0dc), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (256) {
+ IndexField(IDXB, DATB, AnyAcc, Lock, Preserve) {
+ , 63, f0dd, 256}
+ Store(Refof(f0dd), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (1023) {
+ IndexField(IDXC, DATC, AnyAcc, Lock, Preserve) {
+ , 63, f0de, 1023}
+ Store(Refof(f0de), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (1983) {
+ IndexField(IDXD, DATD, AnyAcc, Lock, Preserve) {
+ , 63, f0df, 1983}
+ Store(Refof(f0df), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ default {
+ err(arg0, z144, 93, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (64) {
+ switch(arg3) {
+ case (1) {
+ IndexField(IDXE, DATE, AnyAcc, Lock, Preserve) {
+ , 64, f0e0, 1}
+ Store(Refof(f0e0), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (6) {
+ IndexField(IDX0, DAT0, AnyAcc, Lock, Preserve) {
+ , 64, f0e1, 6}
+ Store(Refof(f0e1), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (7) {
+ IndexField(IDX1, DAT1, AnyAcc, Lock, Preserve) {
+ , 64, f0e2, 7}
+ Store(Refof(f0e2), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (8) {
+ IndexField(IDX2, DAT2, AnyAcc, Lock, Preserve) {
+ , 64, f0e3, 8}
+ Store(Refof(f0e3), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (9) {
+ IndexField(IDX3, DAT3, AnyAcc, Lock, Preserve) {
+ , 64, f0e4, 9}
+ Store(Refof(f0e4), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (31) {
+ IndexField(IDX4, DAT4, AnyAcc, Lock, Preserve) {
+ , 64, f0e5, 31}
+ Store(Refof(f0e5), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (32) {
+ IndexField(IDX5, DAT5, AnyAcc, Lock, Preserve) {
+ , 64, f0e6, 32}
+ Store(Refof(f0e6), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (33) {
+ IndexField(IDX6, DAT6, AnyAcc, Lock, Preserve) {
+ , 64, f0e7, 33}
+ Store(Refof(f0e7), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (63) {
+ IndexField(IDX7, DAT7, AnyAcc, Lock, Preserve) {
+ , 64, f0e8, 63}
+ Store(Refof(f0e8), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (64) {
+ IndexField(IDX8, DAT8, AnyAcc, Lock, Preserve) {
+ , 64, f0e9, 64}
+ Store(Refof(f0e9), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (65) {
+ IndexField(IDX9, DAT9, AnyAcc, Lock, Preserve) {
+ , 64, f0ea, 65}
+ Store(Refof(f0ea), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (69) {
+ IndexField(IDXA, DATA, AnyAcc, Lock, Preserve) {
+ , 64, f0eb, 69}
+ Store(Refof(f0eb), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (129) {
+ IndexField(IDXB, DATB, AnyAcc, Lock, Preserve) {
+ , 64, f0ec, 129}
+ Store(Refof(f0ec), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (256) {
+ IndexField(IDXC, DATC, AnyAcc, Lock, Preserve) {
+ , 64, f0ed, 256}
+ Store(Refof(f0ed), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (1023) {
+ IndexField(IDXD, DATD, AnyAcc, Lock, Preserve) {
+ , 64, f0ee, 1023}
+ Store(Refof(f0ee), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (1983) {
+ IndexField(IDXE, DATE, AnyAcc, Lock, Preserve) {
+ , 64, f0ef, 1983}
+ Store(Refof(f0ef), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ default {
+ err(arg0, z144, 94, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (65) {
+ switch(arg3) {
+ case (1) {
+ IndexField(IDX0, DAT0, AnyAcc, Lock, Preserve) {
+ Offset(8), , 1, f0f0, 1}
+ Store(Refof(f0f0), Local3)
+ Store(Refof(g000), Local4)
+ }
+ case (6) {
+ IndexField(IDX1, DAT1, AnyAcc, Lock, Preserve) {
+ Offset(8), , 1, f0f1, 6}
+ Store(Refof(f0f1), Local3)
+ Store(Refof(g001), Local4)
+ }
+ case (7) {
+ IndexField(IDX2, DAT2, AnyAcc, Lock, Preserve) {
+ Offset(8), , 1, f0f2, 7}
+ Store(Refof(f0f2), Local3)
+ Store(Refof(g002), Local4)
+ }
+ case (8) {
+ IndexField(IDX3, DAT3, AnyAcc, Lock, Preserve) {
+ Offset(8), , 1, f0f3, 8}
+ Store(Refof(f0f3), Local3)
+ Store(Refof(g003), Local4)
+ }
+ case (9) {
+ IndexField(IDX4, DAT4, AnyAcc, Lock, Preserve) {
+ Offset(8), , 1, f0f4, 9}
+ Store(Refof(f0f4), Local3)
+ Store(Refof(g004), Local4)
+ }
+ case (31) {
+ IndexField(IDX5, DAT5, AnyAcc, Lock, Preserve) {
+ Offset(8), , 1, f0f5, 31}
+ Store(Refof(f0f5), Local3)
+ Store(Refof(g005), Local4)
+ }
+ case (32) {
+ IndexField(IDX6, DAT6, AnyAcc, Lock, Preserve) {
+ Offset(8), , 1, f0f6, 32}
+ Store(Refof(f0f6), Local3)
+ Store(Refof(g006), Local4)
+ }
+ case (33) {
+ IndexField(IDX7, DAT7, AnyAcc, Lock, Preserve) {
+ Offset(8), , 1, f0f7, 33}
+ Store(Refof(f0f7), Local3)
+ Store(Refof(g007), Local4)
+ }
+ case (63) {
+ IndexField(IDX8, DAT8, AnyAcc, Lock, Preserve) {
+ Offset(8), , 1, f0f8, 63}
+ Store(Refof(f0f8), Local3)
+ Store(Refof(g008), Local4)
+ }
+ case (64) {
+ IndexField(IDX9, DAT9, AnyAcc, Lock, Preserve) {
+ Offset(8), , 1, f0f9, 64}
+ Store(Refof(f0f9), Local3)
+ Store(Refof(g009), Local4)
+ }
+ case (65) {
+ IndexField(IDXA, DATA, AnyAcc, Lock, Preserve) {
+ Offset(8), , 1, f0fa, 65}
+ Store(Refof(f0fa), Local3)
+ Store(Refof(g00a), Local4)
+ }
+ case (69) {
+ IndexField(IDXB, DATB, AnyAcc, Lock, Preserve) {
+ Offset(8), , 1, f0fb, 69}
+ Store(Refof(f0fb), Local3)
+ Store(Refof(g00b), Local4)
+ }
+ case (129) {
+ IndexField(IDXC, DATC, AnyAcc, Lock, Preserve) {
+ Offset(8), , 1, f0fc, 129}
+ Store(Refof(f0fc), Local3)
+ Store(Refof(g00c), Local4)
+ }
+ case (256) {
+ IndexField(IDXD, DATD, AnyAcc, Lock, Preserve) {
+ Offset(8), , 1, f0fd, 256}
+ Store(Refof(f0fd), Local3)
+ Store(Refof(g00d), Local4)
+ }
+ case (1023) {
+ IndexField(IDXE, DATE, AnyAcc, Lock, Preserve) {
+ Offset(8), , 1, f0fe, 1023}
+ Store(Refof(f0fe), Local3)
+ Store(Refof(g00e), Local4)
+ }
+ case (1983) {
+ IndexField(IDX0, DAT0, AnyAcc, Lock, Preserve) {
+ Offset(8), , 1, f0ff, 1983}
+ Store(Refof(f0ff), Local3)
+ Store(Refof(g000), Local4)
+ }
+ default {
+ err(arg0, z144, 95, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ default {
+ err(arg0, z144, 100, 0, 0, arg2, arg3)
+ return}
+ }
+
+ m72d(arg0, Local3, arg2, arg3, arg4, arg5, Local4)
+}
+
+// Run-method
+Method(IFC0)
+{
+ Name(ts, "IFC0")
+
+ SRMT("m770")
+ m770(ts)
+
+ // Access to 1-bit IndexFields, ByteAcc
+ SRMT("m771")
+ if (y224) {
+ m771(ts)
+ } else {
+ BLCK()
+ }
+
+ // Access to 1-bit IndexFields, WordAcc
+ SRMT("m772")
+ if (y224) {
+ m772(ts)
+ } else {
+ BLCK()
+ }
+
+ // Access to 1-bit IndexFields, DWordAcc
+ SRMT("m773")
+ if (y224) {
+ m773(ts)
+ } else {
+ BLCK()
+ }
+
+ // Access to 1-bit IndexFields, QWordAcc
+ SRMT("m774")
+ if (y215) {
+ m774(ts)
+ } else {
+ BLCK()
+ }
+
+ // Splitting of IndexFields
+ SRMT("m775")
+ if (y214) {
+ m775(ts)
+ } else {
+ BLCK()
+ }
+
+ // Check IndexField access: ByteAcc, NoLock, Preserve
+ SRMT("m776")
+ if (y224) {
+ m776(ts)
+ } else {
+ BLCK()
+ }
+
+ // Check IndexField access: WordAcc, NoLock, WriteAsOnes
+ SRMT("m777")
+ if (y224) {
+ m777(ts)
+ } else {
+ BLCK()
+ }
+
+ // Check IndexField access: DWordAcc, NoLock, WriteAsZeros
+ SRMT("m778")
+ if (y224) {
+ m778(ts)
+ } else {
+ BLCK()
+ }
+
+ // Check IndexField access: QWordAcc, NoLock, Preserve
+ SRMT("m779")
+ if (y224) {
+ m779(ts)
+ } else {
+ BLCK()
+ }
+
+ // Check IndexField access: AnyAcc, Lock, Preserve
+ SRMT("m77a")
+ if (y224) {
+ m77a(ts)
+ } else {
+ BLCK()
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/functional/region/opregions.asl b/tests/aslts/src/runtime/collections/functional/region/opregions.asl
new file mode 100644
index 000000000..f36c2ec32
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/region/opregions.asl
@@ -0,0 +1,1001 @@
+/*
+ * 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.
+ */
+
+/*
+ * Operation Region declarations
+ */
+
+/*
+ * On testing following issues should be covered:
+ * - application of any allowed RegionSpace Keywords,
+ * - Devices' _REG methods invocation during setup of Regions,
+ * - global and dynamic Operation Region declarations,
+ * - check of the Region Length on access to appropriate Fields,
+ * - check that Region Offset and Length can be computational data.
+ *
+ * Can not be tested following issues:
+ * - emulated Access to SystemCMOS, PciBarTarget, and UserDefRegionSpace
+ * (except 0x80) Operation Regions (there are no appropriate setup of them),
+ * - Operation Region address range mapping to given Offset and Length,
+ * - large values as Region Length,
+ * - host OS providing of exclusive use of hardware registers in global
+ * Operation Region address range by ACPI control methods only.
+ */
+
+Name(z141, 141)
+
+Name(NRSK, 8) // Number of the specific RegionSpaceKeywords
+Name(IRSK, 0) // Counter of the Invalid RSKs
+
+Name(NFLG, 2) // Number of turn on/off Flag values
+Name(IFLG, 0) // Counter of the Invalid Flags
+
+Name(FRSK, 0x101) // Some false RegionSpace Keyword
+
+Name(PRSK, Package(NRSK){
+ 0x100 /* UserDefRegionSpace 0x80-0xFF: auxiliary */,
+ 0x00 /* SystemMemory */,
+ 0x01 /* SystemIO */,
+ 0x02 /* PCI_Config */,
+ 0x03 /* EmbeddedControl */,
+ 0x04 /* SMBus */,
+ 0x05 /* SystemCMOS */,
+ 0x06 /* PciBarTarget */
+})
+
+// DefaultAddressSpaces
+Name(DRSK, Package(3){
+ 0x00 /* SystemMemory */,
+ 0x01 /* SystemIO */,
+ 0x02 /* PCI_Config */,
+})
+
+Name(VRSK, // Counters of the Valid RSKs
+ Package(NRSK){0, 0, 0, 0, 0, 0, 0, 0})
+
+// Expected Counters of the Valid RSKs
+// actually, not only default spaces are initialized
+// by ACPICA, but AcpiExec provided ones also,
+// from aeexec.c:
+/*
+ * FUNCTION: AeInstallHandlers
+ * DESCRIPTION: Install handlers for the AcpiExec utility.
+ACPI_ADR_SPACE_TYPE SpaceId[] = {0, 1, 2, 3, 4, 0x80};
+#define AEXEC_NUM_REGIONS 6
+...
+ for (i = 0; i < AEXEC_NUM_REGIONS; i++)
+ {
+ if (i == 2)
+ {
+ continue;
+ }
+ */
+
+
+Name(ERSK,
+ // 2 for \RGN0, \OPRK; 3 for \RGN0, \OPRI, and \OPRJ
+ Package(NRSK){1, 2, 3, 1, 1, 1, 0, 0})
+
+Name(VFLG, // Counters of the Valid Flags
+ Package(NFLG){0, 0})
+
+// Global Operation Regions availability notification Method
+// _REG(RegionSpaceKeyword, Flag)
+// RegionSpaceKeyword:
+// UserDefRegionSpace | SystemIO | SystemMemory | PCI_Config |
+// EmbeddedControl | SMBus | SystemCMOS | PciBarTarget
+// Flag: 1/0 - turn on/off accessing operation regions of that Space
+Method(_REG, 2)
+{
+ Name(dbgf, 1)
+
+ if (dbgf) {
+ Store("ASLTS \\_REG:", Debug)
+ Store(arg0, Debug)
+ Store(arg1, Debug)
+ }
+
+ Store(Match(PRSK, MEQ, arg0, MTR, 0, 1), Local0)
+
+ if (LAnd(LGreater(arg0, 0x7f), LLess(arg0, 0x100))) {
+ Store(0, Local0)
+ }
+
+ if (LLess(Local0, NRSK)) {
+ Store(Index(VRSK, Local0), Local1)
+ Store(Refof(Local1), Local2)
+ Add(Derefof(Local1), 1, Derefof(Local2))
+ } else {
+ Increment(IRSK)
+ }
+
+ if (LLess(arg1, NFLG)) {
+ Store(Index(VFLG, arg1), Local1)
+ Store(Refof(Local1), Local2)
+ Add(Derefof(Local1), 1, Derefof(Local2))
+ } else {
+ Increment(IFLG)
+ }
+}
+
+// Combination of the OperationRegion operator arguments
+
+OperationRegion(RGN0, SystemMemory, 0x00, 0x101)
+OperationRegion(RGN1, SystemIO, 0x200, 0x103)
+OperationRegion(RGN2, PCI_Config, 0x400, 0x105)
+OperationRegion(RGN3, EmbeddedControl, 0x600, 0x107)
+OperationRegion(RGN4, SMBus, 0x800, 0x109)
+OperationRegion(RGN5, SystemCMOS, 0xa00, 0x10b)
+OperationRegion(RGN6, PciBarTarget, 0xc00, 0x10d)
+
+// UserDefRegionSpace
+OperationRegion(RGN7, 0x80, 0xd00, 0x117)
+OperationRegion(RGN8, 0xcf, 0xe00, 0x118)
+OperationRegion(RGN9, 0xff, 0xf00, 0x119)
+
+// OpRegion Lengths checking task package
+Name(p702, Package(){
+ RGN0, 0x00, 0x101,
+ RGN1, 0x01, 0x103,
+ RGN2, 0x02, 0x105,
+ RGN3, 0x03, 0x107,
+ RGN4, 0x04, 0x109,
+ RGN5, 0x05, 0x10b,
+ RGN6, 0x06, 0x10d,
+ RGN7, 0x80, 0x117,
+ RGN8, 0xcf, 0x118,
+ RGN9, 0xff, 0x119,
+})
+
+Device(DOR0) {
+ Name(IRSK, 0) // Counter of the Invalid RSKs
+
+ Name(IFLG, 0) // Counter of the Invalid Flags
+
+ Name(VRSK, // Counters of the Valid RSKs
+ Package(NRSK){0, 0, 0, 0, 0, 0, 0, 0})
+ Name(ERSK, // Expected Counters of the Valid RSKs
+ Package(NRSK){1, 1, 1, 1, 1, 1, 0, 0})
+
+ Name(VFLG, // Counters of the Valid Flags
+ Package(NFLG){0, 0})
+
+ // Specific Operation Regions availability notification Method
+ // \DOR0._REG(RegionSpaceKeyword, Flag)
+ Method(_REG, 2)
+ {
+ Name(dbgf, 1)
+
+ if (dbgf) {
+ Store("ASLTS \\DOR0._REG:", Debug)
+ Store(arg0, Debug)
+ Store(arg1, Debug)
+ }
+
+ Store(Match(PRSK, MEQ, arg0, MTR, 0, 1), Local0)
+
+ if (LAnd(LGreater(arg0, 0x7f), LLess(arg0, 0x100))) {
+ Store(0, Local0)
+ }
+
+ if (LLess(Local0, NRSK)) {
+ Store(Index(VRSK, Local0), Local1)
+ Store(Refof(Local1), Local2)
+ Add(Derefof(Local1), 1, Derefof(Local2))
+ } else {
+ Increment(IRSK)
+ }
+
+ if (LLess(arg1, NFLG)) {
+ Store(Index(VFLG, arg1), Local1)
+ Store(Refof(Local1), Local2)
+ Add(Derefof(Local1), 1, Derefof(Local2))
+ } else {
+ Increment(IFLG)
+ }
+ }
+
+ // Combination of the OperationRegion operator arguments
+
+ OperationRegion(RGN0, SystemMemory, 0x1000, 0x102)
+ OperationRegion(RGN1, SystemIO, 0x1200, 0x104)
+ OperationRegion(RGN2, PCI_Config, 0x1400, 0x106)
+ OperationRegion(RGN3, EmbeddedControl, 0x1600, 0x108)
+ OperationRegion(RGN4, SMBus, 0x1800, 0x10a)
+ OperationRegion(RGN5, SystemCMOS, 0x1a00, 0x10c)
+ OperationRegion(RGN6, PciBarTarget, 0x1c00, 0x10d)
+
+ // UserDefRegionSpace
+ OperationRegion(RGN7, 0x80, 0, 0x127)
+ OperationRegion(RGN8, 0xa5, 0, 0x128)
+ OperationRegion(RGN9, 0xff, 0, 0x129)
+}
+
+Device(DOR1) {
+ Name(IRSK, 0) // Counter of the Invalid RSKs
+
+ Name(IFLG, 0) // Counter of the Invalid Flags
+
+ Name(VRSK, // Counters of the Valid RSKs
+ Package(NRSK){0, 0, 0, 0, 0, 0, 0, 0})
+ Name(ERSK, // Expected Counters of the Valid RSKs
+ Package(NRSK){1, 1, 1, 1, 1, 1, 0, 0})
+
+ Name(VFLG, // Counters of the Valid Flags
+ Package(NFLG){0, 0})
+
+ Name(IREG, 0) // Counter of the Invalid Calls to DOR1._REG
+
+ // Specific Operation Regions availability notification Method
+ // \DOR1._REG(RegionSpaceKeyword, Flag)
+ Method(_REG, 2)
+ {
+ Name(dbgf, 1)
+
+ if (dbgf) {
+ Store("ASLTS \\DOR1._REG:", Debug)
+ Store(arg0, Debug)
+ Store(arg1, Debug)
+ }
+
+ Increment(IREG)
+ }
+
+ Method(M000) {
+ // Dynamic Operation Regions availability notification Method
+ // \DOR1.M000._REG(RegionSpaceKeyword, Flag)
+ Method(_REG, 2)
+ {
+ Name(dbgf, 1)
+
+ if (dbgf) {
+ Store("ASLTS \\m701._REG:", Debug)
+ Store(arg0, Debug)
+ Store(arg1, Debug)
+ }
+
+ Store(Match(PRSK, MEQ, arg0, MTR, 0, 1), Local0)
+
+ if (LAnd(LGreater(arg0, 0x7f), LLess(arg0, 0x100))) {
+ Store(0, Local0)
+ }
+
+ if (LLess(Local0, NRSK)) {
+ Store(Index(VRSK, Local0), Local1)
+ Store(Refof(Local1), Local2)
+ Add(Derefof(Local1), 1, Derefof(Local2))
+ } else {
+ Increment(IRSK)
+ }
+
+ if (LLess(arg1, NFLG)) {
+ Store(Index(VFLG, arg1), Local1)
+ Store(Refof(Local1), Local2)
+ Add(Derefof(Local1), 1, Derefof(Local2))
+ } else {
+ Increment(IFLG)
+ }
+ }
+
+ // Combination of the OperationRegion operator arguments
+
+ OperationRegion(RGN0, SystemMemory, 0x2000, 0x100)
+ OperationRegion(RGN1, SystemIO, 0x2200, 0x300)
+ OperationRegion(RGN2, PCI_Config, 0x2400, 0x500)
+ OperationRegion(RGN3, EmbeddedControl, 0x2600, 0x700)
+ OperationRegion(RGN4, SMBus, 0x2800, 0x900)
+ OperationRegion(RGN5, SystemCMOS, 0x2a00, 0xb00)
+ OperationRegion(RGN6, PciBarTarget, 0x2c00, 0xd00)
+
+ // UserDefRegionSpace
+ OperationRegion(RGN7, 0x80, 0, 0x100)
+ OperationRegion(RGN8, 0xa5, 0, 0x100)
+ OperationRegion(RGN9, 0xff, 0, 0x100)
+
+ // Incorrect call
+ _REG(FRSK, 2)
+ }
+}
+
+// Check Global OpRegions initialization
+// m700(CallChain)
+// CallChain: String
+Method(m700, 1)
+{
+ Concatenate(arg0, "-m700", arg0)
+
+ // Check incorrect calls
+
+ if (LNotEqual(IRSK, 0)) {
+ err(arg0, z141, 1, 0, 0, IRSK, 0)
+ }
+ if (LNotEqual(IFLG, 0)) {
+ err(arg0, z141, 2, 0, 0, IFLG, 0)
+ }
+
+ if (LNotEqual(\DOR0.IRSK, 0)) {
+ err(arg0, z141, 3, 0, 0, IRSK, 0)
+ }
+ if (LNotEqual(\DOR0.IFLG, 0)) {
+ err(arg0, z141, 4, 0, 0, IFLG, 0)
+ }
+
+ // Emulate and verify incorrect calls
+
+ _REG(FRSK, 2)
+ \DOR0._REG(FRSK, 2)
+
+ if (LNotEqual(IRSK, 1)) {
+ err(arg0, z141, 5, 0, 0, IRSK, 1)
+ }
+ if (LNotEqual(IFLG, 1)) {
+ err(arg0, z141, 6, 0, 0, IFLG, 1)
+ }
+ if (LNotEqual(\DOR0.IRSK, 1)) {
+ err(arg0, z141, 7, 0, 0, IRSK, 1)
+ }
+ if (LNotEqual(\DOR0.IFLG, 1)) {
+ err(arg0, z141, 8, 0, 0, IFLG, 1)
+ }
+
+ // Check total calls to \_REG
+
+ if (LNotEqual(Derefof(Index(VFLG, 1)), 9)) {
+ err(arg0, z141, 9, 0, 0, Derefof(Index(VFLG, 1)), 9)
+ }
+ m70e(arg0, 1, VRSK, ERSK, 10)
+
+ // Check total calls to \DOR0._REG
+
+ if (LNotEqual(Derefof(Index(\DOR0.VFLG, 1)), 6)) {
+ err(arg0, z141, 11, 0, 0, Derefof(Index(\DOR0.VFLG, 1)), 6)
+ }
+ m70e(arg0, 1, \DOR0.VRSK, \DOR0.ERSK, 12)
+}
+
+// Check Dynamic OpRegions initialization
+// m701(CallChain)
+// CallChain: String
+Method(m701, 1)
+{
+ Concatenate(arg0, "-m701", arg0)
+
+ if (LNotEqual(\DOR1.IREG, 0)) {
+ err(arg0, z141, 13, 0, 0, \DOR1.IREG, 0)
+ }
+ if (LNotEqual(\DOR1.IRSK, 0)) {
+ err(arg0, z141, 14, 0, 0, \DOR1.IRSK, 0)
+ }
+ if (LNotEqual(\DOR1.IFLG, 0)) {
+ err(arg0, z141, 15, 0, 0, \DOR1.IFLG, 0)
+ }
+ if (LNotEqual(Derefof(Index(\DOR1.VFLG, 1)), 0)) {
+ err(arg0, z141, 16, 0, 0, Derefof(Index(\DOR1.VFLG, 1)), 0)
+ }
+ m70e(arg0, 2, \DOR1.VRSK, 0, 17)
+
+ \DOR1.M000()
+
+ if (LNotEqual(\DOR1.IREG, 0)) {
+ err(arg0, z141, 18, 0, 0, \DOR1.IREG, 1)
+ }
+ if (LNotEqual(\DOR1.IRSK, 1)) {
+ err(arg0, z141, 19, 0, 0, \DOR1.IRSK, 1)
+ }
+ if (LNotEqual(\DOR1.IFLG, 1)) {
+ err(arg0, z141, 20, 0, 0, \DOR1.IFLG, 1)
+ }
+
+ // Check total calls to \DOR1._REG
+
+ if (LNotEqual(Derefof(Index(\DOR1.VFLG, 1)), 6)) {
+ err(arg0, z141, 21, 0, 0, Derefof(Index(\DOR1.VFLG, 1)), 6)
+ }
+ m70e(arg0, 1, \DOR1.VRSK, \DOR1.ERSK, 22)
+}
+
+// Check OpRegion Length restrictions
+// m702(CallChain)
+// CallChain: String
+Method(m702, 1)
+{
+ Concatenate(arg0, "-m702", arg0)
+
+ Store(Sizeof(p702), Local0)
+ Store(Divide(Local0, 3), Local0)
+ Store(0, Local1)
+
+ Store(2, Local1)
+ Subtract(Local0, 2, Local0)
+
+ While (Local0) {
+ m70c(arg0, p702, Local1)
+ Decrement(Local0)
+ Increment(Local1)
+ }
+}
+
+// Check Overlapping of OpRegions
+// m703(CallChain)
+// CallChain: String
+Method(m703, 1)
+{
+ Concatenate(arg0, "-m703", arg0)
+
+ // Overlap \RGN0 - \RGN9
+
+ OperationRegion(RGN0, SystemMemory, 0x80, 0x121)
+ OperationRegion(RGN1, SystemIO, 0x280, 0x123)
+ OperationRegion(RGN2, PCI_Config, 0x480, 0x125)
+ OperationRegion(RGN3, EmbeddedControl, 0x680, 0x127)
+ OperationRegion(RGN4, SMBus, 0x880, 0x109)
+ OperationRegion(RGN5, SystemCMOS, 0xa80, 0x12b)
+ OperationRegion(RGN6, PciBarTarget, 0xc80, 0x12d)
+
+ // UserDefRegionSpace
+ OperationRegion(RGN7, 0x80, 0xd80, 0x137)
+ OperationRegion(RGN8, 0xcf, 0xe80, 0x138)
+ OperationRegion(RGN9, 0xff, 0xf80, 0x139)
+
+ OperationRegion(RGNa, SystemMemory, 0x1090, 0x14a)
+
+ // Unsupported cases commented
+
+ m70f(arg0, \RGN0, RGN0, 1, 0)
+ m70f(arg0, \RGN1, RGN1, 1, 1)
+
+ // m70f(arg0, \RGN2, RGN2, 1, 2)
+ // m70f(arg0, \RGN3, RGN3, 1, 3)
+ // m70f(arg0, \RGN4, RGN4, 1, 4)
+ // m70f(arg0, \RGN5, RGN5, 1, 5)
+ // m70f(arg0, \RGN6, RGN6, 1, 6)
+
+ m70f(arg0, \RGN7, RGN7, 1, 7)
+
+ // m70f(arg0, \RGN8, RGN8, 1, 8)
+ // m70f(arg0, \RGN9, RGN9, 1, 9)
+
+ m70f(arg0, \DOR0.RGN0, RGNa, 0, 10)
+}
+
+// Create Region Field about Region Length in length
+// and check possible exception
+// m70c(CallChain, Task, Index)
+Method(m70c, 3)
+{
+ OperationRegion(OPRm, 0xff, 0, 0x1000)
+
+ Concatenate(arg0, "-m70c", arg0)
+
+ Multiply(arg2, 3, Local4)
+
+ Add(Local4, 1, Local0)
+ Store(Derefof(Index(arg1, Local0)), Local3)
+
+ Increment(Local0)
+ Store(Derefof(Index(arg1, Local0)), Local2)
+ Multiply(Local2, 8, Local1)
+
+ Name(b000, Buffer(0x100){})
+
+ CopyObject(Derefof(Index(arg1, Local4)), OPRm)
+
+ Field(OPRm, ByteAcc, NoLock, Preserve) {
+ FU01, 0x800}
+ Store(Refof(FU01), Local6)
+
+ Store(Refof(Local6), Local5)
+
+ m70d(arg2, b000)
+
+ if (LEqual(Local3, 0x02 /* PCI_Config */)) {
+ } elseif (LEqual(Local3, 0x04 /* SMBus */)) {
+ } elseif (LEqual(Local3, 0x05 /* SystemCMOS */)) {
+ } elseif (LEqual(Local3, 0x06 /* PciBarTarget */)) {
+ } elseif (LGreater(Local3, 0x80 /* UserDefRegionSpace <> 0x80 */)) {
+ } else {
+ Store(b000, Derefof(Local5))
+
+ CH03(arg0, z141, 24, arg2, Local3)
+
+ Store(ObjectType(Derefof(Local6)), Local0)
+ Store(c00d, Local1)
+ if (LNotEqual(Local0, Local1)) {
+ err(arg0, z141, 25, 0, 0, Local0, Local1)
+ } else {
+ Store(Derefof(Local6), Local0)
+ if (LNotEqual(Local0, b000)) {
+ err(arg0, z141, 26, z141, arg2, Local0, b000)
+ }
+ }
+ }
+}
+
+// Fill the buffer
+// m70d(Source, Target)
+// Source: 0x100 - index, else - this byte
+// Target: buffer for filling
+Method(m70d, 2)
+{
+ Store(Sizeof(arg1), Local0)
+
+ while(Local0) {
+ Decrement(Local0)
+
+ switch (arg0) {
+ case (0x100) {
+ Store(Local0, Index(arg1, Local0))
+ }
+ default {
+ Store(arg0, Index(arg1, Local0))
+ }
+ }
+ }
+}
+
+// Processes the VRSK
+// m70e(CallChain, ToDo, Results, Benchmark, ErrId)
+// CallChain: String
+// ToDo: 0 - nullify, 1 - Check Values, 2 - check if null
+// Results: actual VRSK Values
+// Benchmark: expected VRSK Values
+// ErrId: index of the error
+Method(m70e, 5)
+{
+ Concatenate(arg0, "-m70e", arg0)
+
+ Store(NRSK, Local0)
+
+ while (Local0) {
+ Decrement(Local0)
+ Store(Index(arg2, Local0), Local1)
+ Store(Refof(Local1), Local2)
+
+ switch (arg1) {
+ case (0) {
+ Store (0, Derefof(Local2))
+ }
+ case (1) {
+ Store(Index(arg3, Local0), Local3)
+ if (LNotEqual(DeRefof(Local1), DeRefof(Local3))) {
+ err(arg0, z141, arg4, z141, Local0, DeRefof(Local1), DeRefof(Local3))
+ }
+ }
+ case (2) {
+ if (LNotEqual(DeRefof(Local1), 0)) {
+ err(arg0, z141, arg4, z141, Local0, DeRefof(Local1), 0)
+ }
+ }
+ }
+ }
+}
+
+// Create Region Fields in two overlapping Regions
+// and check overlapping parts to be shared
+// m70f(CallChain, OpRegion0, OpRegion1, RangeNum, ErrNum)
+Method(m70f, 5)
+{
+ OperationRegion(OPRm, 0xff, 0, 0x1000)
+ OperationRegion(OPRn, 0xff, 0, 0x1000)
+
+ CopyObject(arg1, OPRm)
+ CopyObject(arg2, OPRn)
+
+ Field(OPRm, ByteAcc, NoLock, Preserve) {
+ Offset(0x7d), FU00, 0x50,
+ Offset(0x8d), FU02, 0x50}
+
+ Field(OPRn, ByteAcc, NoLock, Preserve) {
+ FU01, 0x50}
+
+ Concatenate(arg0, "-m70f", arg0)
+
+ Name(b000, Buffer(0xa){})
+
+
+ m70d(1, b000)
+ if (arg3) {
+ Store(b000, FU00)
+ } else {
+ Store(b000, FU02)
+ }
+
+ m70d(2, b000)
+ Store(b000, FU01)
+
+ if (arg3) {
+ Store(FU00, Local0)
+ } else {
+ Store(FU02, Local0)
+ }
+
+ Store(Buffer(){1,1,1,2,2,2,2,2,2,2}, Local1)
+
+ if (LNotEqual(Local0, Local1)) {
+ err(arg0, z141, 27, z141, arg4, Local0, Local1)
+ }
+}
+
+// Check that the same ranges of different Address Spaces
+// actually refer the different locations
+// m704(CallChain)
+// CallChain: String
+Method(m704, 1)
+{
+ Method(CHCK, 4)
+ {
+ if (LNotEqual(arg1, arg2)) {
+ err(arg0, z141, 28, z141, arg3, arg1, arg2)
+ }
+ }
+
+ OperationRegion(OPR0, SystemMemory, 0x00, 0x01)
+ OperationRegion(OPR1, SystemIO, 0x00, 0x01)
+ OperationRegion(OPR7, 0x80, 0x00, 0x01)
+
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ f000, 8,
+ }
+ Field(OPR1, ByteAcc, NoLock, Preserve) {
+ f001, 8,
+ }
+ Field(OPR7, ByteAcc, NoLock, Preserve) {
+ f002, 8,
+ }
+
+ Concatenate(arg0, "-m704", arg0)
+
+ Store(0x5a, f000)
+ CHCK(arg0, f000, 0x5a, 0)
+
+ Store(0xc3, f001)
+ CHCK(arg0, f001, 0xc3, 1)
+
+ Store(0x96, f002)
+ CHCK(arg0, f002, 0x96, 2)
+
+ CHCK(arg0, f000, 0x5a, 3)
+
+ CHCK(arg0, f001, 0xc3, 4)
+
+ CHCK(arg0, f002, 0x96, 5)
+}
+
+// Check non-constant OpRegion arguments
+// m705(CallChain)
+// CallChain: String
+Method(m705, 1)
+{
+ Name(i000, 0x56)
+ Name(i001, 0x78)
+ Name(i002, 0x89abcdef)
+
+ // ArgX
+ Method(m000, 4) {
+ switch (arg1) {
+ case(0) {
+ OperationRegion(OPR0, SystemMemory, arg2, arg3)
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ f000, 32,
+ }
+ Store(Refof(f000), Local5)
+ }
+ case(1) {
+ OperationRegion(OPR1, SystemIO, arg2, arg3)
+ Field(OPR1, ByteAcc, NoLock, Preserve) {
+ f001, 32,
+ }
+ Store(Refof(f001), Local5)
+ }
+ case(2) {
+ OperationRegion(OPR7, 0x80, arg2, arg3)
+ Field(OPR7, ByteAcc, NoLock, Preserve) {
+ f007, 32,
+ }
+ Store(Refof(f007), Local5)
+ }
+ }
+
+ Store(Refof(Local5), Local6)
+
+ Store(i002, Derefof(Local6))
+ Store(DeRefof(Local5), Local7)
+ if (LNotEqual(i002, Local7)) {
+ err(arg0, z141, 29, z141, arg1, Local7, i002)
+ }
+ }
+
+ // Named
+ Method(m001, 2) {
+ switch (arg1) {
+ case(0) {
+ OperationRegion(OPR0, SystemMemory, i000, i001)
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ f000, 32,
+ }
+ Store(Refof(f000), Local5)
+ }
+ case(1) {
+ OperationRegion(OPR1, SystemIO, i000, i001)
+ Field(OPR1, ByteAcc, NoLock, Preserve) {
+ f001, 32,
+ }
+ Store(Refof(f001), Local5)
+ }
+ case(2) {
+ OperationRegion(OPR7, 0x80, i000, i001)
+ Field(OPR7, ByteAcc, NoLock, Preserve) {
+ f007, 32,
+ }
+ Store(Refof(f007), Local5)
+ }
+ }
+
+ Store(Refof(Local5), Local6)
+
+ Store(i002, Derefof(Local6))
+ Store(DeRefof(Local5), Local7)
+ if (LNotEqual(i002, Local7)) {
+ err(arg0, z141, 30, z141, arg1, Local7, i002)
+ }
+ }
+
+ // LocalX
+ Method(m002, 2) {
+ Store(i000, Local0)
+ Store(i001, Local1)
+
+ switch (arg1) {
+ case(0) {
+ OperationRegion(OPR0, SystemMemory, Local0, Local1)
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ f000, 32,
+ }
+ Store(Refof(f000), Local5)
+ }
+ case(1) {
+ OperationRegion(OPR1, SystemIO, Local0, Local1)
+ Field(OPR1, ByteAcc, NoLock, Preserve) {
+ f001, 32,
+ }
+ Store(Refof(f001), Local5)
+ }
+ case(2) {
+ OperationRegion(OPR7, 0x80, Local0, Local1)
+ Field(OPR7, ByteAcc, NoLock, Preserve) {
+ f007, 32,
+ }
+ Store(Refof(f007), Local5)
+ }
+ }
+
+ Store(Refof(Local5), Local6)
+
+ Store(i002, Derefof(Local6))
+ Store(DeRefof(Local5), Local7)
+ if (LNotEqual(i002, Local7)) {
+ err(arg0, z141, 31, z141, arg1, Local7, i002)
+ }
+ }
+
+
+ // Expression
+ Method(m003, 2) {
+ Store(i001, Local1)
+
+ switch (arg1) {
+ case(0) {
+ OperationRegion(OPR0, SystemMemory, Add(i000, 1), Subtract(Local1, 1))
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ f000, 32,
+ }
+ Store(Refof(f000), Local5)
+ }
+ case(1) {
+ OperationRegion(OPR1, SystemIO, Add(i000, 1), Subtract(Local1, 1))
+ Field(OPR1, ByteAcc, NoLock, Preserve) {
+ f001, 32,
+ }
+ Store(Refof(f001), Local5)
+ }
+ case(2) {
+ OperationRegion(OPR7, 0x80, Add(i000, 1), Subtract(Local1, 1))
+ Field(OPR7, ByteAcc, NoLock, Preserve) {
+ f007, 32,
+ }
+ Store(Refof(f007), Local5)
+ }
+ }
+
+ Store(Refof(Local5), Local6)
+
+ Store(i002, Derefof(Local6))
+ Store(DeRefof(Local5), Local7)
+ if (LNotEqual(i002, Local7)) {
+ err(arg0, z141, 32, z141, arg1, Local7, i002)
+ }
+ }
+
+ Concatenate(arg0, "-m705", arg0)
+
+ m000(arg0, 0, 0x12, 0x34)
+ m000(arg0, 1, 0x12, 0x34)
+ m000(arg0, 2, 0x12, 0x34)
+
+ m001(arg0, 0)
+ m001(arg0, 1)
+ m001(arg0, 2)
+
+ m002(arg0, 0)
+ m002(arg0, 1)
+ m002(arg0, 2)
+
+ m003(arg0, 0)
+ m003(arg0, 1)
+ m003(arg0, 2)
+}
+
+// Check non-Integer OpRegion arguments
+// m706(CallChain)
+// CallChain: String
+Method(m706, 1)
+{
+ Name(off0, 0xfedcba987654321f)
+ Name(offb, Buffer(8){0x1f, 0x32,, 0x54, 0x76, 0x98, 0xba, 0xdc, 0xfe})
+ Name(offs, "7654321f")
+
+ if (F64) {
+ Store("fedcba987654321f", offs)
+ }
+
+ Name(len0, 0x123)
+ Name(lenb, Buffer(2){0x23, 0x01})
+ Name(lens, "123")
+
+ OperationRegion(OPR0, SystemMemory, 0xfedcba987654321f, 0x123)
+ OperationRegion(OPR1, SystemMemory, off0, len0)
+ OperationRegion(OPR2, SystemMemory, offb, lenb)
+ OperationRegion(OPR3, SystemMemory, offs, lens)
+
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ Offset(0x11f),
+ FU00, 0x20}
+ Field(OPR1, ByteAcc, NoLock, Preserve) {
+ Offset(0x11f),
+ FU01, 0x20}
+ Field(OPR2, ByteAcc, NoLock, Preserve) {
+ Offset(0x11f),
+ FU02, 0x20}
+ Field(OPR3, ByteAcc, NoLock, Preserve) {
+ Offset(0x11f),
+ FU03, 0x20}
+
+ Name(i000, 0x12345678)
+
+ Method(m000, 4) {
+ OperationRegion(OPR4, SystemMemory, arg1, arg2)
+
+ Field(OPR4, AnyAcc, NoLock, Preserve) {
+ Offset(0x11f),
+ FU04, 0x20}
+
+ if (LNotEqual(FU04, i000)) {
+ err(arg0, z141, arg3, 0, 0, FU04, i000)
+ }
+ }
+
+ Concatenate(arg0, "-m706", arg0)
+
+ Store(i000, FU00)
+
+ if (LNotEqual(FU00, i000)) {
+ err(arg0, z141, 33, 0, 0, FU00, i000)
+ }
+
+ if (LNotEqual(0xfedcba987654321f, off0)) {
+ err(arg0, z141, 34, 0, 0, off0, 0xfedcba987654321f)
+ } elseif (LNotEqual(0x123, len0)) {
+ err(arg0, z141, 35, 0, 0, len0, 0x123)
+ } elseif (LNotEqual(FU01, i000)) {
+ err(arg0, z141, 36, 0, 0, FU00, i000)
+ }
+
+ if (LNotEqual(0xfedcba987654321f, offb)) {
+ err(arg0, z141, 37, 0, 0, offb, 0xfedcba987654321f)
+ } elseif (LNotEqual(0x123, lenb)) {
+ err(arg0, z141, 38, 0, 0, lenb, 0x123)
+ } elseif (LNotEqual(FU02, i000)) {
+ err(arg0, z141, 39, 0, 0, FU00, i000)
+ }
+
+ if (LNotEqual(0xfedcba987654321f, offs)) {
+ Add(offs, 0, Local0)
+ err(arg0, z141, 40, 0, 0, Local0, 0xfedcba987654321f)
+ } elseif (LNotEqual(0x123, lens)) {
+ Add(lens, 0, Local0)
+ err(arg0, z141, 41, 0, 0, Local0, 0x123)
+ } elseif (LNotEqual(FU03, i000)) {
+ err(arg0, z141, 42, 0, 0, FU00, i000)
+ }
+
+ m000(arg0, off0, len0, 43)
+ m000(arg0, offb, lenb, 44)
+ m000(arg0, offs, lens, 45)
+}
+
+Method(ORC0)
+{
+ Name(ts, "ORC0")
+
+ // Global OpRegions
+ SRMT("m700")
+ if (y220) {
+ m700(ts)
+ } else {
+ BLCK()
+ }
+
+ // Dynamic OpRegions
+ SRMT("m701")
+ if (y217) {
+ m701(ts)
+ } else {
+ BLCK()
+ }
+
+ // OpRegion Lengths
+ SRMT("m702")
+ m702(ts)
+
+
+ // Overlapping of OpRegions
+ SRMT("m703")
+ if (y221) {
+ m703(ts)
+ } else {
+ BLCK()
+ }
+
+ // The same ranges of different Address Spaces
+ SRMT("m704")
+ if (y222) {
+ m704(ts)
+ } else {
+ BLCK()
+ }
+
+ // Non-constant OpRegion arguments
+ SRMT("m705")
+ m705(ts)
+
+ // Non-Integert OpRegion arguments
+ SRMT("m706")
+ m706(ts)
+}
diff --git a/tests/aslts/src/runtime/collections/functional/region/regionfield.asl b/tests/aslts/src/runtime/collections/functional/region/regionfield.asl
new file mode 100644
index 000000000..4f2be9aa5
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/region/regionfield.asl
@@ -0,0 +1,24086 @@
+/*
+ * 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.
+ */
+
+/*
+ * Region Field objects definition and processing
+ */
+
+/*
+ * On testing following issues should be covered:
+ * - Operation Regions of different Region Space types application
+ * for Field objects definition,
+ * - application of any allowed AccessType Keywords,
+ * - application of any allowed LockRule Keywords,
+ * - application of any allowed UpdateRule Keywords,
+ * - application of the Offset macros in the FieldUnitList,
+ * - application of the AccessAs macros in the FieldUnitList,
+ * - on writing taking into account the Access Type in accord with
+ the Update Rule,
+ * - splitting of an field causes appropriate splitting of the spanned bits,
+ * - AccessAs macros influence on the remaining FieldUnits within the list,
+ * - integer/buffer representation of the Unit contents as depends on its
+ * Length and DSDT ComplianceRevision (32/64-bit Integer),
+ * - Data Type Conversion Rules on storing to Region Fields.
+ *
+ * Can not be tested following issues:
+ * - exact use of given Access Type alignment on Access to Field data,
+ * - exact use of specific Conversion Rules on storing of Buffers or Strings.
+ */
+
+Name(z143, 143)
+
+Name(RS00, 256)
+
+// Generated benchmark buffers for comparison with
+
+Name(br10, Buffer(RS00) {})
+Name(br01, Buffer(RS00) {})
+Name(brB0, Buffer(RS00) {})
+
+// Buffer for filling the ground
+
+Name(brG0, Buffer(RS00) {})
+
+// Buffer for filling the field (over the ground)
+
+Name(brF0, Buffer(RS00) {})
+
+// Tested field unit offsets
+Name(pfuo, Package(16) {0, 1, 2, 3, 4, 5, 6, 7, 8 ,9, 31, 32, 33, 63, 64, 65})
+
+// Tested field unit length
+Name(pful, Package(16) {1, 6, 7, 8, 9, 31, 32, 33, 63, 64, 65, 69, 129, 256, 1023, 1983})
+
+// Dynamic Field test Control parameters Package
+// Layout of Package:
+// - <control flag>: 0 - none, 1 - IndexField, 2 - BankField,
+// - <Refof to Field>,
+// - <Benchmark value>
+Name(fcp0, Package(3) {0})
+
+// Testing parameters Packages
+// Layout of Package:
+// - <index of first offset>,
+// - <num of offsets>,
+// - <index of first length>,
+// - <num of lengths>,
+// - <testing parameters package>:
+// - opcode of buffer to fill the ground
+// - opcode of buffer to fill the field
+// Opcodes of buffers:
+// 0 - all zeros
+// 1 - all units
+// 2 - some mix
+// - Access Type opcode
+// 0 - AnyAcc, 1 - ByteAcc, 2 - WordAcc,
+// 3 - DWordAcc, 4 - QWordAcc, 5 - BufferAcc
+// - Update Rule opcode
+// 0 - Preserve, 1 - WriteAsOnes, 2 - WriteAsZeros
+// - Lock Rule opcode
+// 0 - Lock, 1 - NoLock
+// - Method implementing creation of fields
+
+// ByteAcc, NoLock, Preserve
+Name(pp00, Package() {
+// examines the whole range possible for the field's
+// (off, len) in the underlying 256-byte Region:
+ 0, 4, 0, 4, Package(6){0, 1, 1, 0, 1, "m730"},
+})
+
+// ByteAcc, NoLock, WriteAsOnes
+Name(pp01, Package() {
+ 0, 4, 4, 4, Package(6){0, 1, 1, 1, 1, "m731"},
+})
+
+// ByteAcc, NoLock, WriteAsZeros
+Name(pp02, Package() {
+ 0, 4, 8, 4, Package(6){0, 2, 1, 2, 1, "m732"},
+})
+
+// WordAcc, NoLock, Preserve
+Name(pp03, Package() {
+ 0, 4, 12, 4, Package(6){1, 0, 2, 0, 1, "m733"},
+})
+
+// WordAcc, NoLock, WriteAsOnes
+Name(pp04, Package() {
+ 4, 4, 0, 4, Package(6){1, 0, 2, 1, 1, "m734"},
+})
+
+// WordAcc, NoLock, WriteAsZeros
+Name(pp05, Package() {
+ 4, 4, 4, 4, Package(6){1, 2, 2, 2, 1, "m735"},
+})
+
+// DWordAcc, NoLock, Preserve
+Name(pp06, Package() {
+ 4, 4, 8, 4, Package(6){2, 0, 3, 0, 1, "m736"},
+})
+
+// DWordAcc, NoLock, WriteAsOnes
+Name(pp07, Package() {
+ 4, 4, 12, 4, Package(6){2, 1, 3, 1, 1, "m737"},
+})
+
+// DWordAcc, NoLock, WriteAsZeros
+Name(pp08, Package() {
+ 8, 4, 0, 4, Package(6){2, 1, 3, 2, 1, "m738"},
+})
+
+// QWordAcc, NoLock, Preserve
+Name(pp09, Package() {
+ 8, 4, 4, 4, Package(6){2, 0, 4, 0, 1, "m739"},
+})
+
+// QWordAcc, NoLock, WriteAsOnes
+Name(pp0a, Package() {
+ 8, 4, 8, 4, Package(6){0, 1, 4, 1, 1, "m73a"},
+})
+
+// QWordAcc, NoLock, WriteAsZeros
+Name(pp0b, Package() {
+ 8, 4, 12, 4, Package(6){0, 2, 4, 2, 1, "m73b"},
+})
+
+// AnyAcc, NoLock, Preserve
+Name(pp0c, Package() {
+ 12, 4, 0, 4, Package(6){1, 0, 0, 0, 1, "m73c"},
+})
+
+// AnyAcc, NoLock, WriteAsOnes
+Name(pp0d, Package() {
+ 12, 4, 4, 4, Package(6){2, 1, 0, 1, 1, "m73d"},
+})
+
+// AnyAcc, Lock, WriteAsZeros
+Name(pp0e, Package() {
+ 12, 4, 8, 8, Package(6){1, 2, 0, 2, 0, "m73e"},
+})
+
+// Check common access: ByteAcc, NoLock, Preserve
+// m710(CallChain)
+// CallChain: String
+Method(m710, 1)
+{
+ Concatenate(arg0, "-m710", arg0)
+
+ Store("TEST: m710, Check Region Fields specified as (ByteAcc, NoLock, Preserve)", Debug)
+
+ m72f(arg0, 1, "pp00", pp00)
+}
+
+// Check common access: ByteAcc, NoLock, WriteAsOnes
+// m711(CallChain)
+// CallChain: String
+Method(m711, 1)
+{
+ Concatenate(arg0, "-m711", arg0)
+
+ Store("TEST: m711, Check Region Fields specified as (ByteAcc, NoLock, WriteAsOnes)", Debug)
+
+ m72f(arg0, 1, "pp01", pp01)
+}
+
+// Check common access: ByteAcc, NoLock, WriteAsZeros
+// m712(CallChain)
+// CallChain: String
+Method(m712, 1)
+{
+ Concatenate(arg0, "-m712", arg0)
+
+ Store("TEST: m712, Check Region Fields specified as (ByteAcc, NoLock, WriteAsZeros)", Debug)
+
+ m72f(arg0, 1, "pp02", pp02)
+}
+
+// Check common access: WordAcc, NoLock, Preserve
+// m713(CallChain)
+// CallChain: String
+Method(m713, 1)
+{
+ Concatenate(arg0, "-m713", arg0)
+
+ Store("TEST: m713, Check Region Fields specified as (WordAcc, NoLock, Preserve)", Debug)
+
+ m72f(arg0, 1, "pp03", pp03)
+}
+
+// Check common access: WordAcc, NoLock, WriteAsOnes
+// m714(CallChain)
+// CallChain: String
+Method(m714, 1)
+{
+ Concatenate(arg0, "-m714", arg0)
+
+ Store("TEST: m714, Check Region Fields specified as (WordAcc, NoLock, WriteAsOnes)", Debug)
+
+ m72f(arg0, 1, "pp04", pp04)
+}
+
+// Check common access: WordAcc, NoLock, WriteAsZeros
+// m715(CallChain)
+// CallChain: String
+Method(m715, 1)
+{
+ Concatenate(arg0, "-m715", arg0)
+
+ Store("TEST: m715, Check Region Fields specified as (WordAcc, NoLock, WriteAsZeros)", Debug)
+
+ m72f(arg0, 1, "pp05", pp05)
+}
+
+// Check common access: DWordAcc, NoLock, Preserve
+// m716(CallChain)
+// CallChain: String
+Method(m716, 1)
+{
+ Concatenate(arg0, "-m716", arg0)
+
+ Store("TEST: m716, Check Region Fields specified as (DWordAcc, NoLock, Preserve)", Debug)
+
+ m72f(arg0, 1, "pp06", pp06)
+}
+
+// Check common access: DWordAcc, NoLock, WriteAsOnes
+// m717(CallChain)
+// CallChain: String
+Method(m717, 1)
+{
+ Concatenate(arg0, "-m717", arg0)
+
+ Store("TEST: m717, Check Region Fields specified as (DWordAcc, NoLock, WriteAsOnes)", Debug)
+
+ m72f(arg0, 1, "pp07", pp07)
+}
+
+
+// Check common access: DWordAcc, NoLock, WriteAsZeros
+// m718(CallChain)
+// CallChain: String
+Method(m718, 1)
+{
+ Concatenate(arg0, "-m718", arg0)
+
+ Store("TEST: m718, Check Region Fields specified as (DWordAcc, NoLock, WriteAsZeros)", Debug)
+
+ m72f(arg0, 1, "pp08", pp08)
+}
+
+// Check common access: QWordAcc, NoLock, Preserve
+// m719(CallChain)
+// CallChain: String
+Method(m719, 1)
+{
+ Concatenate(arg0, "-m719", arg0)
+
+ Store("TEST: m719, Check Region Fields specified as (QWordAcc, NoLock, Preserve)", Debug)
+
+ m72f(arg0, 1, "pp09", pp09)
+}
+
+// Check common access: QWordAcc, NoLock, WriteAsOnes
+// m71a(CallChain)
+// CallChain: String
+Method(m71a, 1)
+{
+ Concatenate(arg0, "-m71a", arg0)
+
+ Store("TEST: m71a, Check Region Fields specified as (QWordAcc, NoLock, WriteAsOnes)", Debug)
+
+ m72f(arg0, 1, "pp0a", pp0a)
+}
+
+// Check common access: QWordAcc, NoLock, WriteAsZeros
+// m71b(CallChain)
+// CallChain: String
+Method(m71b, 1)
+{
+ Concatenate(arg0, "-m71b", arg0)
+
+ Store("TEST: m71b, Check Region Fields specified as (QWordAcc, NoLock, WriteAsZeros)", Debug)
+
+ m72f(arg0, 1, "pp0b", pp0b)
+}
+
+// Check common access: AnyAcc, NoLock, Preserve
+// m71c(CallChain)
+// CallChain: String
+Method(m71c, 1)
+{
+ Concatenate(arg0, "-m71c", arg0)
+
+ Store("TEST: m71c, Check Region Fields specified as (AnyAcc, NoLock, Preserve)", Debug)
+
+ m72f(arg0, 1, "pp0c", pp0c)
+}
+
+// Check common access: AnyAcc, NoLock, WriteAsOnes
+// m71d(CallChain)
+// CallChain: String
+Method(m71d, 1)
+{
+ Concatenate(arg0, "-m71d", arg0)
+
+ Store("TEST: m71d, Check Region Fields specified as (AnyAcc, NoLock, WriteAsOnes)", Debug)
+
+ m72f(arg0, 1, "pp0d", pp0d)
+}
+
+// Check common access: AnyAcc, Lock, WriteAsZeros
+// m71e(CallChain)
+// CallChain: String
+Method(m71e, 1)
+{
+ Concatenate(arg0, "-m71e", arg0)
+
+ Store("TEST: m71e, Check Region Fields specified as (AnyAcc, Lock, WriteAsZeros)", Debug)
+
+ m72f(arg0, 1, "pp0e", pp0e)
+}
+
+// Check BufferAcc access
+// m71f(CallChain)
+// CallChain: String
+Method(m71f, 1)
+{
+ Concatenate(arg0, "-m71f", arg0)
+
+ Store("TEST: m71f, Check Region Fields specified for BufferAcc access", Debug)
+
+ /*
+ * Examples from Acpi Spec (chapter 13.7 Using the SMBus Protocols)
+ */
+
+ // Read/Write Quick (SMBQuick)
+ m751(arg0)
+
+ // Send/Receive Byte (SMBSendReceive)
+ m752(arg0)
+
+ // Read/Write Byte (SMBByte)
+ m753(arg0)
+
+ // Read/Write Word (SMBWord)
+ m754(arg0)
+
+ // Read/Write Block (SMBBlock)
+ m755(arg0)
+
+ // Word Process Call (SMBProcessCall)
+ m756(arg0)
+
+ // Block Process Call (SMBBlockProcessCall)
+ m757(arg0)
+}
+
+// Read/Write Quick (SMBQuick)
+// m751(CallChain)
+// CallChain: String
+Method(m751, 1)
+{
+ Concatenate(arg0, "-m751", arg0)
+
+ OperationRegion(SMBD, SMBus, 0x4200, 0x100)
+
+ Field(SMBD, BufferAcc, NoLock, Preserve) {
+ AccessAs(BufferAcc, SMBQuick), // Use the SMBus Read/Write Quick protocol
+ FLD0, 8} // Virtual register at command value 0.
+
+ /* Create the SMBus data buffer */
+ Name(BUFF, Buffer(34){}) // Create SMBus data buffer as BUFF
+ Name(BUFR, Buffer(34){}) // Create SMBus result buffer
+ CreateByteField(BUFF, 0x00, OB10) // Status (Byte)
+ CreateByteField(BUFF, 0x01, LEN0) // Length (Byte)
+ CreateByteField(BUFF, 0x02, DAT0)
+ CreateByteField(BUFR, 0x00, OB11)
+ CreateByteField(BUFR, 0x01, LEN1)
+ CreateByteField(BUFR, 0x02, DAT1)
+
+ /* Signal device (e.g. ON) */
+ Store(Store(BUFF, FLD0), BUFR) // Invoke Write Quick transaction
+
+ if (LNotEqual(OB10, 0x00)) {
+ err(arg0, z143, 1, 0, 0, OB10, 0x00)
+ }
+ if (LNotEqual(LEN0, 0x00)) {
+ err(arg0, z143, 2, 0, 0, LEN0, 0x00)
+ }
+ if (LNotEqual(DAT0, 0x00)) {
+ err(arg0, z143, 3, 0, 0, DAT0, 0x00)
+ }
+
+ if (LNotEqual(OB11, 0x7A)) {
+ err(arg0, z143, 4, 0, 0, OB11, 0x7A)
+ }
+ if (LNotEqual(LEN1, 0x00)) {
+ err(arg0, z143, 5, 0, 0, LEN1, 0x00)
+ }
+ if (LNotEqual(DAT1, 0x00)) {
+ err(arg0, z143, 6, 0, 0, DAT1, 0x00)
+ }
+
+ Store(0x00, OB10)
+ Store(0xff, LEN0)
+ Store(0x00, DAT0)
+
+ /* Signal device (e.g. OFF) */
+ Store(FLD0, BUFF) // Invoke Read Quick transaction
+
+ if (LNotEqual(OB10, 0x7A)) {
+ err(arg0, z143, 7, 0, 0, OB10, 0x7A)
+ }
+ if (LNotEqual(LEN0, 0x01)) {
+ err(arg0, z143, 8, 0, 0, LEN0, 0x01)
+ }
+ if (LNotEqual(DAT0, 0xA0)) {
+ err(arg0, z143, 9, 0, 0, DAT0, 0xA0)
+ }
+}
+
+// Read/Write Quick (SMBQuick)
+// m752(CallChain)
+// CallChain: String
+Method(m752, 1)
+{
+ Concatenate(arg0, "-m752", arg0)
+
+ OperationRegion(SMBD, SMBus, 0x4200, 0x100)
+
+ Field(SMBD, BufferAcc, NoLock, Preserve) {
+ AccessAs(BufferAcc, SMBSendReceive),// Use the SMBus Send/Receive Byte protocol
+ FLD0, 8} // Virtual register at command value 0.
+
+ /* Create the SMBus data buffer */
+ Name(BUFF, Buffer(34){}) // Create SMBus data buffer as BUFF
+ Name(BUFR, Buffer(34){}) // Create SMBus result buffer
+ CreateByteField(BUFF, 0x00, OB10) // Status (Byte)
+ CreateByteField(BUFF, 0x01, LEN0) // Length (Byte)
+ CreateByteField(BUFF, 0x02, DAT0)
+ CreateByteField(BUFR, 0x00, OB11)
+ CreateByteField(BUFR, 0x01, LEN1)
+ CreateByteField(BUFR, 0x02, DAT1)
+
+ /* Send the byte '0x16' to the device */
+ Store(0x00, OB10)
+ Store(0x00, LEN0)
+ Store(0x16, DAT0) // Save 0x16 into the data buffer
+ Store(Store(BUFF, FLD0), BUFR) // Invoke a Send Byte transaction
+
+ if (LNotEqual(OB10, 0x00)) {
+ err(arg0, z143, 10, 0, 0, OB10, 0x00)
+ }
+ if (LNotEqual(LEN0, 0x00)) {
+ err(arg0, z143, 11, 0, 0, LEN0, 0x00)
+ }
+ if (LNotEqual(DAT0, 0x16)) {
+ err(arg0, z143, 12, 0, 0, DAT0, 0x16)
+ }
+
+ if (LNotEqual(OB11, 0x7A)) {
+ err(arg0, z143, 13, 0, 0, OB11, 0x7A)
+ }
+ if (LNotEqual(LEN1, 0x00)) {
+ err(arg0, z143, 14, 0, 0, LEN1, 0x00)
+ }
+ if (LNotEqual(DAT1, 0x16)) {
+ err(arg0, z143, 15, 0, 0, DAT1, 0x00)
+ }
+
+ /* Receive a byte of data from the device */
+ Store(FLD0, BUFF) // Invoke a Receive Byte transaction
+
+ if (LNotEqual(OB10, 0x7A)) {
+ err(arg0, z143, 16, 0, 0, OB10, 0x7A)
+ }
+ if (LNotEqual(LEN0, 0x01)) {
+ err(arg0, z143, 17, 0, 0, LEN0, 0x01)
+ }
+ if (LNotEqual(DAT0, 0xA0)) {
+ err(arg0, z143, 18, 0, 0, DAT0, 0xA0)
+ }
+}
+
+// Read/Write Byte (SMBByte)
+// m753(CallChain)
+// CallChain: String
+Method(m753, 1)
+{
+ Concatenate(arg0, "-m753", arg0)
+
+ OperationRegion(SMBD, SMBus, 0x4200, 0x100)
+
+ Field(SMBD, BufferAcc, NoLock, Preserve) {
+ AccessAs(BufferAcc, SMBByte), // Use the SMBus Read/Write Byte protocol
+ FLD0, 8, // Virtual register at command value 0.
+ FLD1, 8, // Virtual register at command value 1.
+ FLD2, 8} // Virtual register at command value 2.
+
+ /* Create the SMBus data buffer */
+ Name(BUFF, Buffer(34){}) // Create SMBus data buffer as BUFF
+ Name(BUFR, Buffer(34){}) // Create SMBus result buffer
+ CreateByteField(BUFF, 0x00, OB10) // Status (Byte)
+ CreateByteField(BUFF, 0x01, LEN0) // Length (Byte)
+ CreateByteField(BUFF, 0x02, DAT0)
+ CreateByteField(BUFR, 0x00, OB11)
+ CreateByteField(BUFR, 0x01, LEN1)
+ CreateByteField(BUFR, 0x02, DAT1)
+
+ /* Write the byte '0x16' to the device using command value 2 */
+ Store(0x00, OB10)
+ Store(0x00, LEN0)
+ Store(0x16, DAT0) // Save 0x16 into the data buffer
+ Store(Store(BUFF, FLD2), BUFR) // Invoke a Write Byte transaction
+
+ if (LNotEqual(OB10, 0x00)) {
+ err(arg0, z143, 19, 0, 0, OB10, 0x00)
+ }
+ if (LNotEqual(LEN0, 0x00)) {
+ err(arg0, z143, 20, 0, 0, LEN0, 0x00)
+ }
+ if (LNotEqual(DAT0, 0x16)) {
+ err(arg0, z143, 21, 0, 0, DAT0, 0x16)
+ }
+
+ if (LNotEqual(OB11, 0x7A)) {
+ err(arg0, z143, 22, 0, 0, OB11, 0x7A)
+ }
+ if (LNotEqual(LEN1, 0x00)) {
+ err(arg0, z143, 23, 0, 0, LEN1, 0x00)
+ }
+ if (LNotEqual(DAT1, 0x16)) {
+ err(arg0, z143, 24, 0, 0, DAT1, 0x00)
+ }
+
+ /* Read a byte of data from the device using command value 1 */
+ Store(FLD1, BUFF) // Invoke a Read Byte transaction
+
+ if (LNotEqual(OB10, 0x7A)) {
+ err(arg0, z143, 25, 0, 0, OB10, 0x7A)
+ }
+ if (LNotEqual(LEN0, 0x01)) {
+ err(arg0, z143, 26, 0, 0, LEN0, 0x01)
+ }
+ if (LNotEqual(DAT0, 0xA0)) {
+ err(arg0, z143, 27, 0, 0, DAT0, 0xA0)
+ }
+}
+
+// Read/Write Word (SMBWord)
+// m754(CallChain)
+// CallChain: String
+Method(m754, 1)
+{
+ Concatenate(arg0, "-m754", arg0)
+
+ OperationRegion(SMBD, SMBus, 0x4200, 0x100)
+
+ Field(SMBD, BufferAcc, NoLock, Preserve) {
+ AccessAs(BufferAcc, SMBWord), // Use the SMBus Read/Write Word protocol
+ FLD0, 8, // Virtual register at command value 0.
+ FLD1, 8, // Virtual register at command value 1.
+ FLD2, 8} // Virtual register at command value 2.
+
+ /* Create the SMBus data buffer */
+ Name(BUFF, Buffer(34){}) // Create SMBus data buffer as BUFF
+ Name(BUFR, Buffer(34){}) // Create SMBus result buffer
+ CreateByteField(BUFF, 0x00, OB10) // Status (Byte)
+ CreateByteField(BUFF, 0x01, LEN0) // Length (Byte)
+ CreateWordField(BUFF, 0x02, DAT0)
+ CreateByteField(BUFR, 0x00, OB11)
+ CreateByteField(BUFR, 0x01, LEN1)
+ CreateWordField(BUFR, 0x02, DAT1)
+
+ /* Write the word '0x5416' to the device using command value 2 */
+ Store(0x00, OB10)
+ Store(0x00, LEN0)
+ Store(0x5416, DAT0) // Save 0x5416 into the data buffer
+ Store(Store(BUFF, FLD2), BUFR) // Invoke a Write Word transaction
+
+ if (LNotEqual(OB10, 0x00)) {
+ err(arg0, z143, 28, 0, 0, OB10, 0x00)
+ }
+ if (LNotEqual(LEN0, 0x00)) {
+ err(arg0, z143, 29, 0, 0, LEN0, 0x00)
+ }
+ if (LNotEqual(DAT0, 0x5416)) {
+ err(arg0, z143, 30, 0, 0, DAT0, 0x16)
+ }
+
+ if (LNotEqual(OB11, 0x7A)) {
+ err(arg0, z143, 31, 0, 0, OB11, 0x7A)
+ }
+ if (LNotEqual(LEN1, 0x00)) {
+ err(arg0, z143, 32, 0, 0, LEN1, 0x00)
+ }
+ if (LNotEqual(DAT1, 0x5416)) {
+ err(arg0, z143, 33, 0, 0, DAT1, 0x00)
+ }
+
+ /* Read two bytes of data from the device using command value 1 */
+ Store(FLD1, BUFF) // Invoke a Read Word transaction
+
+ if (LNotEqual(OB10, 0x7A)) {
+ err(arg0, z143, 34, 0, 0, OB10, 0x7A)
+ }
+ if (LNotEqual(LEN0, 0x02)) {
+ err(arg0, z143, 35, 0, 0, LEN0, 0x02)
+ }
+ if (LNotEqual(DAT0, 0xA1A0)) {
+ err(arg0, z143, 36, 0, 0, DAT0, 0xA1A0)
+ }
+}
+
+// Read/Write Block (SMBBlock)
+// m755(CallChain)
+// CallChain: String
+Method(m755, 1)
+{
+ Concatenate(arg0, "-m755", arg0)
+
+ OperationRegion(SMBD, SMBus, 0x4200, 0x100)
+
+ Field(SMBD, BufferAcc, NoLock, Preserve) {
+ AccessAs(BufferAcc, SMBBlock), // Use the SMBus Read/Write Block protocol
+ FLD0, 8, // Virtual register at command value 0.
+ FLD1, 8, // Virtual register at command value 1.
+ FLD2, 8} // Virtual register at command value 2.
+
+ /* Create the SMBus data buffer */
+ Name(BUFF, Buffer(34){}) // Create SMBus data buffer as BUFF
+ Name(BUFR, Buffer(34){}) // Create SMBus result buffer
+ CreateByteField(BUFF, 0x00, OB10) // Status (Byte)
+ CreateByteField(BUFF, 0x01, LEN0) // Length (Byte)
+ CreateField(BUFF, 0x10, 0x100, DAT0)
+ CreateByteField(BUFR, 0x00, OB11)
+ CreateByteField(BUFR, 0x01, LEN1)
+ CreateField(BUFR, 0x10, 0x100, DAT1)
+
+ /* Write the block 'TEST' to the device using command value 2 */
+ Store(0x00, OB10)
+ Store(0x04, LEN0)
+ Store("TEST", DAT0) // Save 'TEST' into the data buffer
+ Store(Store(BUFF, FLD2), BUFR) // Invoke a Write Block transaction
+
+ if (LNotEqual(OB10, 0x00)) {
+ err(arg0, z143, 37, 0, 0, OB10, 0x00)
+ }
+ if (LNotEqual(LEN0, 0x04)) {
+ err(arg0, z143, 38, 0, 0, LEN0, 0x04)
+ }
+ Store(Buffer(0x20){"TEST"}, Local0)
+ if (LNotEqual(DAT0, Local0)) {
+ err(arg0, z143, 39, 0, 0, DAT0, Local0)
+ }
+
+ if (LNotEqual(OB11, 0x7A)) {
+ err(arg0, z143, 40, 0, 0, OB11, 0x7A)
+ }
+ if (LNotEqual(LEN1, 0x00)) {
+ err(arg0, z143, 41, 0, 0, LEN1, 0x00)
+ }
+ if (LNotEqual(DAT1, Local0)) {
+ err(arg0, z143, 42, 0, 0, DAT1, Local0)
+ }
+
+ /* Read block of data from the device using command value 1 */
+ Store(FLD1, BUFF) // Invoke a Read Block transaction
+
+ if (LNotEqual(OB10, 0x7A)) {
+ err(arg0, z143, 43, 0, 0, OB10, 0x7A)
+ }
+ if (LNotEqual(LEN0, 0x20)) {
+ err(arg0, z143, 44, 0, 0, LEN0, 0x20)
+ }
+ Store(Buffer(0x20){
+ 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7,
+ 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF,
+ 0xB0, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7,
+ 0xB8, 0xB9, 0xBA, 0xBB, 0xBC, 0xBD, 0xBE, 0xBF},
+ Local1)
+ if (LNotEqual(DAT0, Local1)) {
+ err(arg0, z143, 45, 0, 0, DAT0, Local1)
+ }
+}
+
+// Word Process Call (SMBProcessCall)
+// m756(CallChain)
+// CallChain: String
+Method(m756, 1)
+{
+ Concatenate(arg0, "-m756", arg0)
+
+ OperationRegion(SMBD, SMBus, 0x4200, 0x100)
+
+ Field(SMBD, BufferAcc, NoLock, Preserve) {
+ AccessAs(BufferAcc, SMBProcessCall), // Use the SMBus Process Call protocol
+ FLD0, 8, // Virtual register at command value 0.
+ FLD1, 8, // Virtual register at command value 1.
+ FLD2, 8} // Virtual register at command value 2.
+
+ /* Create the SMBus data buffer */
+ Name(BUFF, Buffer(34){}) // Create SMBus data buffer as BUFF
+ Name(BUFR, Buffer(34){}) // Create SMBus result buffer
+ CreateByteField(BUFF, 0x00, OB10) // Status (Byte)
+ CreateByteField(BUFF, 0x01, LEN0) // Length (Byte)
+ CreateWordField(BUFF, 0x02, DAT0)
+ CreateByteField(BUFR, 0x00, OB11)
+ CreateByteField(BUFR, 0x01, LEN1)
+ CreateWordField(BUFR, 0x02, DAT1)
+
+ /* Process Call with input value '0x5416' to the device using command value 1 */
+ Store(0x00, OB10)
+ Store(0x00, LEN0)
+ Store(0x5416, DAT0) // Save 0x5416 into the data buffer
+ Store(Store(BUFF, FLD1), BUFR) // Invoke a Process Call transaction
+
+ if (LNotEqual(OB10, 0x00)) {
+ err(arg0, z143, 46, 0, 0, OB10, 0x00)
+ }
+ if (LNotEqual(LEN0, 0x00)) {
+ err(arg0, z143, 47, 0, 0, LEN0, 0x00)
+ }
+ if (LNotEqual(DAT0, 0x5416)) {
+ err(arg0, z143, 48, 0, 0, DAT0, 0x16)
+ }
+
+ if (LNotEqual(OB11, 0x7A)) {
+ err(arg0, z143, 49, 0, 0, OB11, 0x7A)
+ }
+ if (LNotEqual(LEN1, 0x02)) {
+ err(arg0, z143, 50, 0, 0, LEN1, 0x02)
+ }
+ if (LNotEqual(DAT1, 0xA1A0)) {
+ err(arg0, z143, 51, 0, 0, DAT1, 0xA1A0)
+ }
+}
+
+// Block Process Call (SMBBlockProcessCall)
+// m757(CallChain)
+// CallChain: String
+Method(m757, 1)
+{
+ Concatenate(arg0, "-m757", arg0)
+
+ OperationRegion(SMBD, SMBus, 0x4200, 0x100)
+
+ Field(SMBD, BufferAcc, NoLock, Preserve) {
+ AccessAs(BufferAcc, SMBBlockProcessCall), // Use the Block Process Call protocol
+ FLD0, 8, // Virtual register at command value 0.
+ FLD1, 8} // Virtual register at command value 1.
+
+ /* Create the SMBus data buffer */
+ Name(BUFF, Buffer(34){}) // Create SMBus data buffer as BUFF
+ Name(BUFR, Buffer(34){}) // Create SMBus result buffer
+ CreateByteField(BUFF, 0x00, OB10) // Status (Byte)
+ CreateByteField(BUFF, 0x01, LEN0) // Length (Byte)
+ CreateField(BUFF, 0x10, 0x100, DAT0)
+ CreateByteField(BUFR, 0x00, OB11)
+ CreateByteField(BUFR, 0x01, LEN1)
+ CreateField(BUFR, 0x10, 0x100, DAT1)
+
+ /* Process Call with input value "TEST" to the device using command value 1 */
+ Store(0x00, OB10)
+ Store(0x04, LEN0)
+ Store("TEST", DAT0) // Save 'TEST' into the data buffer
+ Store(Store(BUFF, FLD1), BUFR) // Invoke a Write Block transaction
+
+ if (LNotEqual(OB10, 0x00)) {
+ err(arg0, z143, 52, 0, 0, OB10, 0x00)
+ }
+ if (LNotEqual(LEN0, 0x04)) {
+ err(arg0, z143, 53, 0, 0, LEN0, 0x04)
+ }
+ Store(Buffer(0x20){"TEST"}, Local0)
+ if (LNotEqual(DAT0, Local0)) {
+ err(arg0, z143, 54, 0, 0, DAT0, Local0)
+ }
+
+ if (LNotEqual(OB11, 0x7A)) {
+ err(arg0, z143, 55, 0, 0, OB11, 0x7A)
+ }
+ if (LNotEqual(LEN1, 0x20)) {
+ err(arg0, z143, 56, 0, 0, LEN1, 0x20)
+ }
+ Store(Buffer(0x20){
+ 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7,
+ 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF,
+ 0xB0, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7,
+ 0xB8, 0xB9, 0xBA, 0xBB, 0xBC, 0xBD, 0xBE, 0xBF},
+ Local1)
+ if (LNotEqual(DAT1, Local1)) {
+ err(arg0, z143, 57, 0, 0, DAT1, Local1)
+ }
+}
+
+// Splitting of Fields
+// m742(CallChain)
+Method(m742, 1)
+{
+ OperationRegion(OPR0, SystemMemory, 0, 0x257)
+
+ Concatenate(arg0, "-m742", arg0)
+
+ Store("TEST: m742, Check Splitting of Fields", Debug)
+
+ m720(arg0, OPR0)
+ m721(arg0, OPR0)
+ m722(arg0, OPR0)
+ m723(arg0, OPR0)
+ m724(arg0, OPR0)
+ m725(arg0, OPR0)
+ m726(arg0, OPR0)
+ m727(arg0, OPR0)
+ m728(arg0, OPR0)
+ m729(arg0, OPR0)
+}
+
+// Create Region Fields that spans the same bits
+// and check possible inconsistence, 0-bit offset.
+// m720(CallChain, OpRegion)
+Method(m720, 2)
+{
+ OperationRegion(OPRm, 0xff, 0, 0x1000)
+
+ Concatenate(arg0, "-m720", arg0)
+
+ CopyObject(arg1, OPRm)
+
+ Field(OPRm, ByteAcc, NoLock, Preserve) {
+ , 0, // 0-bit offset
+ FU00, 0x3}
+
+ Field(OPRm, ByteAcc, NoLock, Preserve) {
+ , 0,
+ FU10, 0x1,
+ FU11, 0x1,
+ FU12, 0x1}
+
+ Field(OPRm, ByteAcc, NoLock, Preserve) {
+ , 0,
+ FU20, 0x1,
+ FU21, 0x2}
+
+ Field(OPRm, ByteAcc, NoLock, Preserve) {
+ , 0,
+ FU30, 0x2,
+ FU31, 0x1}
+
+ Store(8, Local0)
+
+ Store(Package(){FU10, FU11, FU12, FU20, FU21, FU30, FU31}, Local1)
+
+ while(Local0) {
+ Decrement(Local0)
+
+ Store(Local0, FU00)
+
+ if (y118) {
+ } else {
+ Store(FU10, Index(Local1, 0))
+ Store(FU11, Index(Local1, 1))
+ Store(FU12, Index(Local1, 2))
+ Store(FU20, Index(Local1, 3))
+ Store(FU21, Index(Local1, 4))
+ Store(FU30, Index(Local1, 5))
+ Store(FU31, Index(Local1, 6))
+ }
+
+ m72a(arg0, Local0, Local1)
+ }
+}
+
+// Create Region Fields that spans the same bits
+// and check possible inconsistence, 1-bit offset.
+// m721(CallChain, OpRegion)
+Method(m721, 2)
+{
+ OperationRegion(OPRm, 0xff, 0, 0x1000)
+
+ Concatenate(arg0, "-m721", arg0)
+
+ CopyObject(arg1, OPRm)
+
+ Field(OPRm, ByteAcc, NoLock, Preserve) {
+ , 1, // 1-bit offset
+ FU00, 0x3}
+
+ Field(OPRm, ByteAcc, NoLock, Preserve) {
+ , 1,
+ FU10, 0x1,
+ FU11, 0x1,
+ FU12, 0x1}
+
+ Field(OPRm, ByteAcc, NoLock, Preserve) {
+ , 1,
+ FU20, 0x1,
+ FU21, 0x2}
+
+ Field(OPRm, ByteAcc, NoLock, Preserve) {
+ , 1,
+ FU30, 0x2,
+ FU31, 0x1}
+
+ Store(8, Local0)
+
+ Store(Package(){FU10, FU11, FU12, FU20, FU21, FU30, FU31}, Local1)
+
+ while(Local0) {
+ Decrement(Local0)
+
+ Store(Local0, FU00)
+
+ if (y118) {
+ } else {
+ Store(FU10, Index(Local1, 0))
+ Store(FU11, Index(Local1, 1))
+ Store(FU12, Index(Local1, 2))
+ Store(FU20, Index(Local1, 3))
+ Store(FU21, Index(Local1, 4))
+ Store(FU30, Index(Local1, 5))
+ Store(FU31, Index(Local1, 6))
+ }
+
+ m72a(arg0, Local0, Local1)
+ }
+}
+
+// Create Region Fields that spans the same bits
+// and check possible inconsistence, 2-bit offset.
+// m722(CallChain, OpRegion)
+Method(m722, 2)
+{
+ OperationRegion(OPRm, 0xff, 0, 0x1000)
+
+ Concatenate(arg0, "-m722", arg0)
+
+ CopyObject(arg1, OPRm)
+
+ Field(OPRm, ByteAcc, NoLock, Preserve) {
+ , 2, // 2-bit offset
+ FU00, 0x3}
+
+ Field(OPRm, ByteAcc, NoLock, Preserve) {
+ , 2,
+ FU10, 0x1,
+ FU11, 0x1,
+ FU12, 0x1}
+
+ Field(OPRm, ByteAcc, NoLock, Preserve) {
+ , 2,
+ FU20, 0x1,
+ FU21, 0x2}
+
+ Field(OPRm, ByteAcc, NoLock, Preserve) {
+ , 2,
+ FU30, 0x2,
+ FU31, 0x1}
+
+ Store(8, Local0)
+
+ Store(Package(){FU10, FU11, FU12, FU20, FU21, FU30, FU31}, Local1)
+
+ while(Local0) {
+ Decrement(Local0)
+
+ Store(Local0, FU00)
+
+ if (y118) {
+ } else {
+ Store(FU10, Index(Local1, 0))
+ Store(FU11, Index(Local1, 1))
+ Store(FU12, Index(Local1, 2))
+ Store(FU20, Index(Local1, 3))
+ Store(FU21, Index(Local1, 4))
+ Store(FU30, Index(Local1, 5))
+ Store(FU31, Index(Local1, 6))
+ }
+
+ m72a(arg0, Local0, Local1)
+ }
+}
+
+// Create Region Fields that spans the same bits
+// and check possible inconsistence, 3-bit offset.
+// m723(CallChain, OpRegion)
+Method(m723, 2)
+{
+ OperationRegion(OPRm, 0xff, 0, 0x1000)
+
+ Concatenate(arg0, "-m723", arg0)
+
+ CopyObject(arg1, OPRm)
+
+ Field(OPRm, ByteAcc, NoLock, Preserve) {
+ , 3, // 3-bit offset
+ FU00, 0x3}
+
+ Field(OPRm, ByteAcc, NoLock, Preserve) {
+ , 3,
+ FU10, 0x1,
+ FU11, 0x1,
+ FU12, 0x1}
+
+ Field(OPRm, ByteAcc, NoLock, Preserve) {
+ , 3,
+ FU20, 0x1,
+ FU21, 0x2}
+
+ Field(OPRm, ByteAcc, NoLock, Preserve) {
+ , 3,
+ FU30, 0x2,
+ FU31, 0x1}
+
+ Store(8, Local0)
+
+ Store(Package(){FU10, FU11, FU12, FU20, FU21, FU30, FU31}, Local1)
+
+ while(Local0) {
+ Decrement(Local0)
+
+ Store(Local0, FU00)
+
+ if (y118) {
+ } else {
+ Store(FU10, Index(Local1, 0))
+ Store(FU11, Index(Local1, 1))
+ Store(FU12, Index(Local1, 2))
+ Store(FU20, Index(Local1, 3))
+ Store(FU21, Index(Local1, 4))
+ Store(FU30, Index(Local1, 5))
+ Store(FU31, Index(Local1, 6))
+ }
+
+ m72a(arg0, Local0, Local1)
+ }
+}
+
+// Create Region Fields that spans the same bits
+// and check possible inconsistence, 4-bit offset.
+// m724(CallChain, OpRegion)
+Method(m724, 2)
+{
+ OperationRegion(OPRm, 0xff, 0, 0x1000)
+
+ Concatenate(arg0, "-m724", arg0)
+
+ CopyObject(arg1, OPRm)
+
+ Field(OPRm, ByteAcc, NoLock, Preserve) {
+ , 4, // 4-bit offset
+ FU00, 0x3}
+
+ Field(OPRm, ByteAcc, NoLock, Preserve) {
+ , 4,
+ FU10, 0x1,
+ FU11, 0x1,
+ FU12, 0x1}
+
+ Field(OPRm, ByteAcc, NoLock, Preserve) {
+ , 4,
+ FU20, 0x1,
+ FU21, 0x2}
+
+ Field(OPRm, ByteAcc, NoLock, Preserve) {
+ , 4,
+ FU30, 0x2,
+ FU31, 0x1}
+
+ Store(8, Local0)
+
+ Store(Package(){FU10, FU11, FU12, FU20, FU21, FU30, FU31}, Local1)
+
+ while(Local0) {
+ Decrement(Local0)
+
+ Store(Local0, FU00)
+
+ if (y118) {
+ } else {
+ Store(FU10, Index(Local1, 0))
+ Store(FU11, Index(Local1, 1))
+ Store(FU12, Index(Local1, 2))
+ Store(FU20, Index(Local1, 3))
+ Store(FU21, Index(Local1, 4))
+ Store(FU30, Index(Local1, 5))
+ Store(FU31, Index(Local1, 6))
+ }
+
+ m72a(arg0, Local0, Local1)
+ }
+}
+
+// Create Region Fields that spans the same bits
+// and check possible inconsistence, 5-bit offset.
+// m725(CallChain, OpRegion)
+Method(m725, 2)
+{
+ OperationRegion(OPRm, 0xff, 0, 0x1000)
+
+ Concatenate(arg0, "-m725", arg0)
+
+ CopyObject(arg1, OPRm)
+
+ Field(OPRm, ByteAcc, NoLock, Preserve) {
+ , 5, // 5-bit offset
+ FU00, 0x3}
+
+ Field(OPRm, ByteAcc, NoLock, Preserve) {
+ , 5,
+ FU10, 0x1,
+ FU11, 0x1,
+ FU12, 0x1}
+
+ Field(OPRm, ByteAcc, NoLock, Preserve) {
+ , 5,
+ FU20, 0x1,
+ FU21, 0x2}
+
+ Field(OPRm, ByteAcc, NoLock, Preserve) {
+ , 5,
+ FU30, 0x2,
+ FU31, 0x1}
+
+ Store(8, Local0)
+
+ Store(Package(){FU10, FU11, FU12, FU20, FU21, FU30, FU31}, Local1)
+
+ while(Local0) {
+ Decrement(Local0)
+
+ Store(Local0, FU00)
+
+ if (y118) {
+ } else {
+ Store(FU10, Index(Local1, 0))
+ Store(FU11, Index(Local1, 1))
+ Store(FU12, Index(Local1, 2))
+ Store(FU20, Index(Local1, 3))
+ Store(FU21, Index(Local1, 4))
+ Store(FU30, Index(Local1, 5))
+ Store(FU31, Index(Local1, 6))
+ }
+
+ m72a(arg0, Local0, Local1)
+ }
+}
+
+// Create Region Fields that spans the same bits
+// and check possible inconsistence, 6-bit offset.
+// m726(CallChain, OpRegion)
+Method(m726, 2)
+{
+ OperationRegion(OPRm, 0xff, 0, 0x1000)
+
+ Concatenate(arg0, "-m726", arg0)
+
+ CopyObject(arg1, OPRm)
+
+ Field(OPRm, ByteAcc, NoLock, Preserve) {
+ , 6, // 6-bit offset
+ FU00, 0x3}
+
+ Field(OPRm, ByteAcc, NoLock, Preserve) {
+ , 6,
+ FU10, 0x1,
+ FU11, 0x1,
+ FU12, 0x1}
+
+ Field(OPRm, ByteAcc, NoLock, Preserve) {
+ , 6,
+ FU20, 0x1,
+ FU21, 0x2}
+
+ Field(OPRm, ByteAcc, NoLock, Preserve) {
+ , 6,
+ FU30, 0x2,
+ FU31, 0x1}
+
+ Store(8, Local0)
+
+ Store(Package(){FU10, FU11, FU12, FU20, FU21, FU30, FU31}, Local1)
+
+ while(Local0) {
+ Decrement(Local0)
+
+ Store(Local0, FU00)
+
+ if (y118) {
+ } else {
+ Store(FU10, Index(Local1, 0))
+ Store(FU11, Index(Local1, 1))
+ Store(FU12, Index(Local1, 2))
+ Store(FU20, Index(Local1, 3))
+ Store(FU21, Index(Local1, 4))
+ Store(FU30, Index(Local1, 5))
+ Store(FU31, Index(Local1, 6))
+ }
+
+ m72a(arg0, Local0, Local1)
+ }
+}
+
+// Create Region Fields that spans the same bits
+// and check possible inconsistence, 7-bit offset.
+// m727(CallChain, OpRegion)
+Method(m727, 2)
+{
+ OperationRegion(OPRm, 0xff, 0, 0x1000)
+
+ Concatenate(arg0, "-m727", arg0)
+
+ CopyObject(arg1, OPRm)
+
+ Field(OPRm, ByteAcc, NoLock, Preserve) {
+ , 7, // 7-bit offset
+ FU00, 0x3}
+
+ Field(OPRm, ByteAcc, NoLock, Preserve) {
+ , 7,
+ FU10, 0x1,
+ FU11, 0x1,
+ FU12, 0x1}
+
+ Field(OPRm, ByteAcc, NoLock, Preserve) {
+ , 7,
+ FU20, 0x1,
+ FU21, 0x2}
+
+ Field(OPRm, ByteAcc, NoLock, Preserve) {
+ , 7,
+ FU30, 0x2,
+ FU31, 0x1}
+
+ Store(8, Local0)
+
+ Store(Package(){FU10, FU11, FU12, FU20, FU21, FU30, FU31}, Local1)
+
+ while(Local0) {
+ Decrement(Local0)
+
+ Store(Local0, FU00)
+
+ if (y118) {
+ } else {
+ Store(FU10, Index(Local1, 0))
+ Store(FU11, Index(Local1, 1))
+ Store(FU12, Index(Local1, 2))
+ Store(FU20, Index(Local1, 3))
+ Store(FU21, Index(Local1, 4))
+ Store(FU30, Index(Local1, 5))
+ Store(FU31, Index(Local1, 6))
+ }
+
+ m72a(arg0, Local0, Local1)
+ }
+}
+
+// Create Region Fields that spans the same bits
+// and check possible inconsistence, 8-bit offset.
+// m728(CallChain, OpRegion)
+Method(m728, 2)
+{
+ OperationRegion(OPRm, 0xff, 0, 0x1000)
+
+ Concatenate(arg0, "-m728", arg0)
+
+ CopyObject(arg1, OPRm)
+
+ Field(OPRm, ByteAcc, NoLock, Preserve) {
+ , 8, // 8-bit offset
+ FU00, 0x3}
+
+ Field(OPRm, ByteAcc, NoLock, Preserve) {
+ , 8,
+ FU10, 0x1,
+ FU11, 0x1,
+ FU12, 0x1}
+
+ Field(OPRm, ByteAcc, NoLock, Preserve) {
+ , 8,
+ FU20, 0x1,
+ FU21, 0x2}
+
+ Field(OPRm, ByteAcc, NoLock, Preserve) {
+ , 8,
+ FU30, 0x2,
+ FU31, 0x1}
+
+ Store(8, Local0)
+
+ Store(Package(){FU10, FU11, FU12, FU20, FU21, FU30, FU31}, Local1)
+
+ while(Local0) {
+ Decrement(Local0)
+
+ Store(Local0, FU00)
+
+ if (y118) {
+ } else {
+ Store(FU10, Index(Local1, 0))
+ Store(FU11, Index(Local1, 1))
+ Store(FU12, Index(Local1, 2))
+ Store(FU20, Index(Local1, 3))
+ Store(FU21, Index(Local1, 4))
+ Store(FU30, Index(Local1, 5))
+ Store(FU31, Index(Local1, 6))
+ }
+
+ m72a(arg0, Local0, Local1)
+ }
+}
+
+// Create Region Fields that spans the same bits
+// and check possible inconsistence, 2046-bit offset.
+// m729(CallChain, OpRegion)
+Method(m729, 2)
+{
+ OperationRegion(OPRm, 0xff, 0, 0x1000)
+
+ Concatenate(arg0, "-m729", arg0)
+
+ CopyObject(arg1, OPRm)
+
+ Field(OPRm, ByteAcc, NoLock, Preserve) {
+ , 2046, // 2046-bit offset
+ FU00, 0x3}
+
+ Field(OPRm, ByteAcc, NoLock, Preserve) {
+ , 2046,
+ FU10, 0x1,
+ FU11, 0x1,
+ FU12, 0x1}
+
+ Field(OPRm, ByteAcc, NoLock, Preserve) {
+ , 2046,
+ FU20, 0x1,
+ FU21, 0x2}
+
+ Field(OPRm, ByteAcc, NoLock, Preserve) {
+ , 2046,
+ FU30, 0x2,
+ FU31, 0x1}
+
+ Store(8, Local0)
+
+ Store(Package(){FU10, FU11, FU12, FU20, FU21, FU30, FU31}, Local1)
+
+ while(Local0) {
+ Decrement(Local0)
+
+ Store(Local0, FU00)
+
+ if (y118) {
+ } else {
+ Store(FU10, Index(Local1, 0))
+ Store(FU11, Index(Local1, 1))
+ Store(FU12, Index(Local1, 2))
+ Store(FU20, Index(Local1, 3))
+ Store(FU21, Index(Local1, 4))
+ Store(FU30, Index(Local1, 5))
+ Store(FU31, Index(Local1, 6))
+ }
+
+ m72a(arg0, Local0, Local1)
+ }
+}
+
+// Supports bunch of m720-m729 methods
+// checking splitting fields
+// m72a(CallChain, CheckInt, FieldsPkg)
+Method(m72a, 3)
+{
+ Concatenate(arg0, "-m72a", arg0)
+
+ Store(arg1, Local3)
+
+ And(ShiftRight(Local3, 0), 0x1, Local0)
+ And(ShiftRight(Local3, 1), 0x1, Local1)
+ And(ShiftRight(Local3, 2), 0x1, Local2)
+
+ // 1-1-1
+ Store(Derefof(Index(arg2, 0)), Local4)
+ if(LNotEqual(Local4, Local0)) {
+ err(arg0, z143, 61, z143, Local3, Local4, Local0)
+ }
+ Store(Derefof(Index(arg2, 1)), Local4)
+ if(LNotEqual(Local4, Local1)) {
+ err(arg0, z143, 62, z143, Local3, Local4, Local1)
+ }
+ Store(Derefof(Index(arg2, 2)), Local4)
+ if(LNotEqual(Local4, Local2)) {
+ err(arg0, z143, 63, z143, Local3, Local4, Local2)
+ }
+
+ // 1-2
+ Store(Derefof(Index(arg2, 3)), Local4)
+ if(LNotEqual(Local4, Local0)) {
+ err(arg0, z143, 64, z143, Local3, Local4, Local0)
+ }
+ Store(Derefof(Index(arg2, 4)), Local4)
+ Or(Local1, ShiftLeft(Local2, 1), Local5)
+ if(LNotEqual(Local4, Local5)) {
+ err(arg0, z143, 65, z143, Local3, Local4, Local5)
+ }
+
+ // 2-1
+ Store(Derefof(Index(arg2, 5)), Local4)
+ Or(Local0, ShiftLeft(Local1, 1), Local5)
+ if(LNotEqual(Local4, Local5)) {
+ err(arg0, z143, 66, z143, Local3, Local4, Local5)
+ }
+ Store(Derefof(Index(arg2, 6)), Local4)
+ if(LNotEqual(Local4, Local2)) {
+ err(arg0, z143, 67, z143, Local3, Local4, Local2)
+ }
+}
+
+Method(m72f, 4)
+{
+ Concatenate(arg0, "-m72f", arg0)
+
+ // For loop 0
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+
+ // For loop 1
+ Name(lpN1, 0)
+ Name(lpC1, 0)
+
+ // For loop 2
+ Name(lpN2, 0)
+ Name(lpC2, 0)
+
+ // Index of offset
+ Name(ib00, 0)
+
+ // Number of offsets
+ Name(nb00, 0)
+
+ Store(arg1, lpN0)
+ Store(0, lpC0)
+ While(lpN0) {
+
+ // Operands
+
+ Multiply(lpC0, 5, Local6)
+ Store(DeRefOf(Index(arg3, Local6)), ib00)
+ Increment(Local6)
+ Store(DeRefOf(Index(arg3, Local6)), lpN1)
+ Increment(Local6)
+ Store(DeRefOf(Index(arg3, Local6)), Local0)
+ Increment(Local6)
+ Store(DeRefOf(Index(arg3, Local6)), Local1)
+ Increment(Local6)
+ Store(DeRefOf(Index(arg3, Local6)), Local2)
+
+ Store(0, lpC1)
+ While (lpN1) {
+ Store(Local0, nb00)
+ Store(Local1, lpN2)
+ Store(0, lpC2)
+
+ Store(Derefof(Index(pfuo, ib00)), Local6)
+
+ While (lpN2) {
+ Store(Derefof(Index(pful, nb00)), Local7)
+
+ // Integer source
+ m72e(Concatenate(arg0, "-BInt"), arg2, Local6,
+ Local7, Local2, 0)
+
+ if (LGreater(Local7, 8)) {
+ // Buffer source, shorter than field
+ Store(Divide(Subtract(Local7, 1), 8), Local4)
+ m72e(Concatenate(arg0, "-BShort"), arg2, Local6,
+ Local7, Local2, Local4)
+ }
+
+ Divide(Local7, 8, Local5, Local4)
+
+ if (Local5) {
+ // Buffer source, longer than field, the same last byte
+ m72e(Concatenate(arg0, "-BLast"), arg2, Local6,
+ Local7, Local2, Add(Local4, 1))
+ } else {
+ // Buffer source, equal to field in length
+ m72e(Concatenate(arg0, "-BEqual"), arg2, Local6,
+ Local7, Local2, Local4)
+ }
+
+
+ // Buffer source, one byte longer than field
+ if (Local5) {
+ m72e(Concatenate(arg0, "-BLong"), arg2, Local6,
+ Local7, Local2, Add(Local4, 2))
+ } else {
+ m72e(Concatenate(arg0, "-BLong"), arg2, Local6,
+ Local7, Local2, Add(Local4, 1))
+ }
+
+ Increment(nb00)
+
+ Decrement(lpN2)
+ Increment(lpC2)
+ }
+
+ Increment(ib00)
+
+ Decrement(lpN1)
+ Increment(lpC1)
+ }
+
+ Increment(lpC0)
+ Decrement(lpN0)
+ }
+}
+
+// <test name>,
+// <name of test-package>,
+// <index of bit>,
+// <num of bits>,
+// <ext param package>:
+// <opcode of buffer to fill the ground>
+// <opcode of buffer to fill the field>
+// <Access Type opcode>
+// 0 - AnyAcc, 1 - ByteAcc, 2 - WordAcc,
+// 3 - DWordAcc, 4 - QWordAcc, 5 - BufferAcc
+// <Update Rule opcode>
+// 0 - Preserve, 1 - WriteAsOnes, 2 - WriteAsZeros
+// <Lock Rule opcode>
+// 0 - Lock, 1 - NoLock
+// <size of source object in bytes>
+// Opcodes of size:
+// 0 - Integer
+// <=256 - Buffer
+// >256 - String (size-256)
+Method(m72e, 6)
+{
+ Name(pr00, 0)
+
+ // For loop 1
+ Name(lpN1, 0)
+ Name(lpC1, 0)
+
+ // For loop 2
+ Name(lpN2, 0)
+ Name(lpC2, 0)
+
+ // byte size of field
+ Name(bsf0, 0)
+
+ // byte size of region affected by field
+ Name(bsr0, 0)
+
+ // index of the first byte of field in the region
+ Name(fb00, 0)
+
+ // index of the last byte of field in the region
+ Name(lb00, 0)
+
+ Concatenate(arg0, "-m72e", arg0)
+
+ // Num of bits have to be non-zero
+
+ if (LEqual(arg3, 0)) {
+ err(arg0, z143, 68, 0, 0, 0, 0)
+ return (Ones)
+ }
+
+ Store(MBS0(arg2, arg3), bsr0)
+
+ // =========================================
+ // Prepare the buffer for filling the ground
+ // =========================================
+
+ m72c(Derefof(Index(arg4, 0)), brG0)
+
+ // ==========================================================
+ // Prepare the buffer for filling the field (over the ground)
+ // ==========================================================
+
+ m72c(Derefof(Index(arg4, 1)), brF0)
+
+ // ======================================================
+ // Prepare the benchmark buffer for Field COMPARISON with
+ // Result in Local6
+ // ======================================================
+
+ // lpN1 - number of bytes minus one
+
+ Store(arg3, Local0)
+ Decrement(Local0)
+ Divide(Local0, 8, Local7, lpN1)
+ Divide(arg3, 8, Local7, Local0)
+
+ Store(lpN1, bsf0)
+ Increment(bsf0)
+ Store(Buffer(bsf0) {}, Local6)
+
+ if (arg5) {
+ Store(arg5, Local5)
+ } elseif (F64) {
+ Store(8, Local5)
+ } else {
+ Store(4, Local5)
+ }
+
+ if (LLess(Multiply(Local5, 8), arg3)) {
+ Store(Local5, lpN1)
+ } else {
+ Store(DeRefOf(Index(brF0, lpN1)), Local0)
+ if (Local7) {
+ Subtract(8, Local7, Local1)
+ ShiftLeft(Local0, Local1, Local2)
+ And(Local2, 0xff, Local3)
+ ShiftRight(Local3, Local1, Local0)
+ }
+ Store(Local0, Index(Local6, lpN1))
+ }
+
+ Store(Derefof(Index(arg4, 2)), Local4) // Access Type
+ Store(Derefof(Index(arg4, 3)), Local5) // Update Rule
+
+ Store(0, lpC1)
+
+ While (lpN1) {
+ Store(DeRefOf(Index(brF0, lpC1)), Local0)
+ Store(Local0, Index(Local6, lpC1))
+ Decrement(lpN1)
+ Increment(lpC1)
+ }
+
+ // ================================================
+ // Prepare the benchmark buffer for comparison with
+ // ================================================
+
+ Store(brG0, brB0)
+
+ Divide(arg2, 8, Local1, fb00)
+ Store(DeRefOf(Index(brB0, fb00)), Local2)
+
+ Store(bsr0, lb00)
+ Decrement(lb00)
+ Store(DeRefOf(Index(brB0, lb00)), Local3)
+
+ // Take into account Update Rule
+ if (Local5) {
+
+ // Update Rule filler: 0xff or 0
+ Multiply(0xff, Subtract(2, Local5), Local7)
+
+ // Take into account Access Type
+ if (LAnd(LGreater(Local4, 1), LLess(Local4, 5))) {
+
+ // Access Width
+ ShiftLeft(1, Subtract(Local4, 1), Local2)
+
+ // Number of bytes touched by Access BEFORE field
+ Divide(fb00, Local2, Local2)
+
+ // Apply Rule
+ Store(fb00, Local3)
+ while (Local2) {
+ Decrement(Local2)
+ Decrement(Local3)
+ Store(Local7, Index(brB0, Local3))
+ }
+
+ // Number of bytes touched by Access AFTER field
+ ShiftLeft(1, Subtract(Local4, 1), Local2)
+ Divide(bsr0, Local2, Local3)
+ if (Local3) {
+ Subtract(Local2, Local3, Local2)
+
+ // Apply Rule
+ Store(lb00, Local3)
+ while (Local2) {
+ Decrement(Local2)
+ Increment(Local3)
+ if (LEqual(Local3, RS00)) {
+ break
+ }
+ Store(Local7, Index(brB0, Local3))
+ }
+ }
+ }
+ Store(Local7, Local2)
+ Store(Local7, Local3)
+ }
+
+ Store(sft1(Local6, Local1, arg3, Local2, Local3), Local0)
+
+ Store(fb00, Local2)
+ Store(Sizeof(Local0), lpN2)
+ Store(0, lpC2)
+ While (lpN2) {
+
+ Store(DeRefOf(Index(Local0, lpC2)), Local1)
+ Store(Local1, Index(brB0, Local2))
+
+ Increment(Local2)
+
+ Decrement(lpN2)
+ Increment(lpC2)
+ }
+
+ if (LOr(LLess(arg3, 33), LAnd(F64, LLess(arg3, 65)))) {
+ ToInteger(Local6, Local6)
+ }
+
+ switch (Mid(Derefof(Index(arg4, 5)), 1, 3)) {
+ case ("730") {
+ // (ByteAcc, NoLock, Preserve)
+ m730(arg0, arg1, arg2, arg3, arg5, Local6)
+ }
+ case ("731") {
+ // (ByteAcc, NoLock, WriteAsOnes)
+ m731(arg0, arg1, arg2, arg3, arg5, Local6)
+ }
+ case ("732") {
+ // (ByteAcc, NoLock, WriteAsZeros)
+ m732(arg0, arg1, arg2, arg3, arg5, Local6)
+ }
+ case ("733") {
+ // (WordAcc, NoLock, Preserve)
+ m733(arg0, arg1, arg2, arg3, arg5, Local6)
+ }
+ case ("734") {
+ // (WordAcc, NoLock, WriteAsOnes)
+ m734(arg0, arg1, arg2, arg3, arg5, Local6)
+ }
+ case ("735") {
+ // (WordAcc, NoLock, WriteAsZeros)
+ m735(arg0, arg1, arg2, arg3, arg5, Local6)
+ }
+ case ("736") {
+ // (DWordAcc, NoLock, Preserve)
+ m736(arg0, arg1, arg2, arg3, arg5, Local6)
+ }
+ case ("737") {
+ // (DWordAcc, NoLock, WriteAsOnes)
+ m737(arg0, arg1, arg2, arg3, arg5, Local6)
+ }
+ case ("738") {
+ // (DWordAcc, NoLock, WriteAsZeros)
+ m738(arg0, arg1, arg2, arg3, arg5, Local6)
+ }
+ case ("739") {
+ // (QWordAcc, NoLock, Preserve)
+ m739(arg0, arg1, arg2, arg3, arg5, Local6)
+ }
+ case ("73a") {
+ // (QWordAcc, NoLock, WriteAsOnes)
+ m73a(arg0, arg1, arg2, arg3, arg5, Local6)
+ }
+ case ("73b") {
+ // (QWordAcc, NoLock, WriteAsZeros)
+ m73b(arg0, arg1, arg2, arg3, arg5, Local6)
+ }
+ case ("73c") {
+ // (AnyAcc, NoLock, Preserve)
+ m73c(arg0, arg1, arg2, arg3, arg5, Local6)
+ }
+ case ("73d") {
+ // (AnyAcc, NoLock, WriteAsOnes)
+ m73d(arg0, arg1, arg2, arg3, arg5, Local6)
+ }
+ case ("73e") {
+ // (AnyAcc, Lock, WriteAsZeros)
+ m73e(arg0, arg1, arg2, arg3, arg5, Local6)
+ }
+ case ("790") {
+ // IndexFields (ByteAcc, NoLock, Preserve)
+ m790(arg0, arg1, arg2, arg3, arg5, Local6)
+ }
+ case ("791") {
+ // IndexFields (WordAcc, NoLock, WriteAsOnes)
+ m791(arg0, arg1, arg2, arg3, arg5, Local6)
+ }
+ case ("792") {
+ // IndexFields (DWordAcc, NoLock, WriteAsZeros)
+ m792(arg0, arg1, arg2, arg3, arg5, Local6)
+ }
+ case ("793") {
+ // IndexFields (QWordAcc, NoLock, Preserve)
+ m793(arg0, arg1, arg2, arg3, arg5, Local6)
+ }
+ case ("794") {
+ // IndexFields (AnyAcc, Lock, Preserve)
+ m794(arg0, arg1, arg2, arg3, arg5, Local6)
+ }
+ case ("7d0") {
+ // BankFields (ByteAcc, NoLock, Preserve)
+ m7d0(arg0, arg1, arg2, arg3, arg5, Local6)
+ }
+ case ("7d1") {
+ // BankFields (WordAcc, NoLock, WriteAsOnes)
+ m7d1(arg0, arg1, arg2, arg3, arg5, Local6)
+ }
+ case ("7d2") {
+ // BankFields (DWordAcc, NoLock, WriteAsZeros)
+ m7d2(arg0, arg1, arg2, arg3, arg5, Local6)
+ }
+ case ("7d3") {
+ // BankFields (QWordAcc, NoLock, Preserve)
+ m7d3(arg0, arg1, arg2, arg3, arg5, Local6)
+ }
+ case ("7d4") {
+ // BankFields (AnyAcc, Lock, Preserve)
+ m7d4(arg0, arg1, arg2, arg3, arg5, Local6)
+ }
+ default {
+ err(arg0, z143, 69, 0, 0, Local4, Local5)
+ return (Ones)
+ }
+ }
+
+ return (Zero)
+}
+
+// Create Region Field Unit
+// (ByteAcc, NoLock, Preserve)
+//
+// <test name>,
+// <name of test-package>,
+// <index of bit>,
+// <num of bits>,
+// <size of source object in bytes>
+// Opcodes of size:
+// 0 - Integer
+// <=256 - Buffer
+// >256 - String (size-256)
+// <the benchmark buffer for Field comparison with>
+Method(m730, 6)
+{
+ OperationRegion(OPR0, SystemMemory, 0, RS00)
+
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ g001, 2048,
+ }
+
+ Concatenate(arg0, "-m730", arg0)
+
+ switch(arg2) {
+ case (0) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 0, f000, 1}
+ Store(Refof(f000), Local3)
+ }
+ case (6) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 0, f001, 6}
+ Store(Refof(f001), Local3)
+ }
+ case (7) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 0, f002, 7}
+ Store(Refof(f002), Local3)
+ }
+ case (8) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 0, f003, 8}
+ Store(Refof(f003), Local3)
+ }
+ case (9) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 0, f004, 9}
+ Store(Refof(f004), Local3)
+ }
+ case (31) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 0, f005, 31}
+ Store(Refof(f005), Local3)
+ }
+ case (32) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 0, f006, 32}
+ Store(Refof(f006), Local3)
+ }
+ case (33) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 0, f007, 33}
+ Store(Refof(f007), Local3)
+ }
+ case (63) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 0, f008, 63}
+ Store(Refof(f008), Local3)
+ }
+ case (64) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 0, f009, 64}
+ Store(Refof(f009), Local3)
+ }
+ case (65) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 0, f00a, 65}
+ Store(Refof(f00a), Local3)
+ }
+ case (69) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 0, f00b, 69}
+ Store(Refof(f00b), Local3)
+ }
+ case (129) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 0, f00c, 129}
+ Store(Refof(f00c), Local3)
+ }
+ case (256) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 0, f00d, 256}
+ Store(Refof(f00d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 0, f00e, 1023}
+ Store(Refof(f00e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 0, f00f, 1983}
+ Store(Refof(f00f), Local3)
+ }
+ default {
+ err(arg0, z143, 70, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (1) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 1, f010, 1}
+ Store(Refof(f010), Local3)
+ }
+ case (6) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 1, f011, 6}
+ Store(Refof(f011), Local3)
+ }
+ case (7) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 1, f012, 7}
+ Store(Refof(f012), Local3)
+ }
+ case (8) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 1, f013, 8}
+ Store(Refof(f013), Local3)
+ }
+ case (9) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 1, f014, 9}
+ Store(Refof(f014), Local3)
+ }
+ case (31) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 1, f015, 31}
+ Store(Refof(f015), Local3)
+ }
+ case (32) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 1, f016, 32}
+ Store(Refof(f016), Local3)
+ }
+ case (33) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 1, f017, 33}
+ Store(Refof(f017), Local3)
+ }
+ case (63) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 1, f018, 63}
+ Store(Refof(f018), Local3)
+ }
+ case (64) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 1, f019, 64}
+ Store(Refof(f019), Local3)
+ }
+ case (65) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 1, f01a, 65}
+ Store(Refof(f01a), Local3)
+ }
+ case (69) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 1, f01b, 69}
+ Store(Refof(f01b), Local3)
+ }
+ case (129) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 1, f01c, 129}
+ Store(Refof(f01c), Local3)
+ }
+ case (256) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 1, f01d, 256}
+ Store(Refof(f01d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 1, f01e, 1023}
+ Store(Refof(f01e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 1, f01f, 1983}
+ Store(Refof(f01f), Local3)
+ }
+ default {
+ err(arg0, z143, 71, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (2) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ Offset(0), , 2, f020, 1}
+ Store(Refof(f020), Local3)
+ }
+ case (6) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ Offset(0), , 2, f021, 6}
+ Store(Refof(f021), Local3)
+ }
+ case (7) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ Offset(0), , 2, f022, 7}
+ Store(Refof(f022), Local3)
+ }
+ case (8) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ Offset(0), , 2, f023, 8}
+ Store(Refof(f023), Local3)
+ }
+ case (9) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ Offset(0), , 2, f024, 9}
+ Store(Refof(f024), Local3)
+ }
+ case (31) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ Offset(0), , 2, f025, 31}
+ Store(Refof(f025), Local3)
+ }
+ case (32) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ Offset(0), , 2, f026, 32}
+ Store(Refof(f026), Local3)
+ }
+ case (33) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ Offset(0), , 2, f027, 33}
+ Store(Refof(f027), Local3)
+ }
+ case (63) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ Offset(0), , 2, f028, 63}
+ Store(Refof(f028), Local3)
+ }
+ case (64) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ Offset(0), , 2, f029, 64}
+ Store(Refof(f029), Local3)
+ }
+ case (65) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ Offset(0), , 2, f02a, 65}
+ Store(Refof(f02a), Local3)
+ }
+ case (69) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ Offset(0), , 2, f02b, 69}
+ Store(Refof(f02b), Local3)
+ }
+ case (129) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ Offset(0), , 2, f02c, 129}
+ Store(Refof(f02c), Local3)
+ }
+ case (256) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ Offset(0), , 2, f02d, 256}
+ Store(Refof(f02d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ Offset(0), , 2, f02e, 1023}
+ Store(Refof(f02e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ Offset(0), , 2, f02f, 1983}
+ Store(Refof(f02f), Local3)
+ }
+ default {
+ err(arg0, z143, 72, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (3) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 3, f030, 1}
+ Store(Refof(f030), Local3)
+ }
+ case (6) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 3, f031, 6}
+ Store(Refof(f031), Local3)
+ }
+ case (7) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 3, f032, 7}
+ Store(Refof(f032), Local3)
+ }
+ case (8) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 3, f033, 8}
+ Store(Refof(f033), Local3)
+ }
+ case (9) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 3, f034, 9}
+ Store(Refof(f034), Local3)
+ }
+ case (31) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 3, f035, 31}
+ Store(Refof(f035), Local3)
+ }
+ case (32) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 3, f036, 32}
+ Store(Refof(f036), Local3)
+ }
+ case (33) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 3, f037, 33}
+ Store(Refof(f037), Local3)
+ }
+ case (63) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 3, f038, 63}
+ Store(Refof(f038), Local3)
+ }
+ case (64) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 3, f039, 64}
+ Store(Refof(f039), Local3)
+ }
+ case (65) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 3, f03a, 65}
+ Store(Refof(f03a), Local3)
+ }
+ case (69) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 3, f03b, 69}
+ Store(Refof(f03b), Local3)
+ }
+ case (129) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 3, f03c, 129}
+ Store(Refof(f03c), Local3)
+ }
+ case (256) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 3, f03d, 256}
+ Store(Refof(f03d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 3, f03e, 1023}
+ Store(Refof(f03e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 3, f03f, 1983}
+ Store(Refof(f03f), Local3)
+ }
+ default {
+ err(arg0, z143, 73, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (4) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 4, f040, 1}
+ Store(Refof(f040), Local3)
+ }
+ case (6) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 4, f041, 6}
+ Store(Refof(f041), Local3)
+ }
+ case (7) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 4, f042, 7}
+ Store(Refof(f042), Local3)
+ }
+ case (8) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 4, f043, 8}
+ Store(Refof(f043), Local3)
+ }
+ case (9) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 4, f044, 9}
+ Store(Refof(f044), Local3)
+ }
+ case (31) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 4, f045, 31}
+ Store(Refof(f045), Local3)
+ }
+ case (32) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 4, f046, 32}
+ Store(Refof(f046), Local3)
+ }
+ case (33) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 4, f047, 33}
+ Store(Refof(f047), Local3)
+ }
+ case (63) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 4, f048, 63}
+ Store(Refof(f048), Local3)
+ }
+ case (64) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 4, f049, 64}
+ Store(Refof(f049), Local3)
+ }
+ case (65) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 4, f04a, 65}
+ Store(Refof(f04a), Local3)
+ }
+ case (69) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 4, f04b, 69}
+ Store(Refof(f04b), Local3)
+ }
+ case (129) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 4, f04c, 129}
+ Store(Refof(f04c), Local3)
+ }
+ case (256) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 4, f04d, 256}
+ Store(Refof(f04d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 4, f04e, 1023}
+ Store(Refof(f04e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 4, f04f, 1983}
+ Store(Refof(f04f), Local3)
+ }
+ default {
+ err(arg0, z143, 74, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (5) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 5, f050, 1}
+ Store(Refof(f050), Local3)
+ }
+ case (6) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 5, f051, 6}
+ Store(Refof(f051), Local3)
+ }
+ case (7) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 5, f052, 7}
+ Store(Refof(f052), Local3)
+ }
+ case (8) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 5, f053, 8}
+ Store(Refof(f053), Local3)
+ }
+ case (9) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 5, f054, 9}
+ Store(Refof(f054), Local3)
+ }
+ case (31) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 5, f055, 31}
+ Store(Refof(f055), Local3)
+ }
+ case (32) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 5, f056, 32}
+ Store(Refof(f056), Local3)
+ }
+ case (33) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 5, f057, 33}
+ Store(Refof(f057), Local3)
+ }
+ case (63) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 5, f058, 63}
+ Store(Refof(f058), Local3)
+ }
+ case (64) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 5, f059, 64}
+ Store(Refof(f059), Local3)
+ }
+ case (65) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 5, f05a, 65}
+ Store(Refof(f05a), Local3)
+ }
+ case (69) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 5, f05b, 69}
+ Store(Refof(f05b), Local3)
+ }
+ case (129) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 5, f05c, 129}
+ Store(Refof(f05c), Local3)
+ }
+ case (256) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 5, f05d, 256}
+ Store(Refof(f05d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 5, f05e, 1023}
+ Store(Refof(f05e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 5, f05f, 1983}
+ Store(Refof(f05f), Local3)
+ }
+ default {
+ err(arg0, z143, 75, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (6) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 6, f060, 1}
+ Store(Refof(f060), Local3)
+ }
+ case (6) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 6, f061, 6}
+ Store(Refof(f061), Local3)
+ }
+ case (7) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 6, f062, 7}
+ Store(Refof(f062), Local3)
+ }
+ case (8) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 6, f063, 8}
+ Store(Refof(f063), Local3)
+ }
+ case (9) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 6, f064, 9}
+ Store(Refof(f064), Local3)
+ }
+ case (31) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 6, f065, 31}
+ Store(Refof(f065), Local3)
+ }
+ case (32) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 6, f066, 32}
+ Store(Refof(f066), Local3)
+ }
+ case (33) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 6, f067, 33}
+ Store(Refof(f067), Local3)
+ }
+ case (63) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 6, f068, 63}
+ Store(Refof(f068), Local3)
+ }
+ case (64) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 6, f069, 64}
+ Store(Refof(f069), Local3)
+ }
+ case (65) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 6, f06a, 65}
+ Store(Refof(f06a), Local3)
+ }
+ case (69) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 6, f06b, 69}
+ Store(Refof(f06b), Local3)
+ }
+ case (129) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 6, f06c, 129}
+ Store(Refof(f06c), Local3)
+ }
+ case (256) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 6, f06d, 256}
+ Store(Refof(f06d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 6, f06e, 1023}
+ Store(Refof(f06e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 6, f06f, 1983}
+ Store(Refof(f06f), Local3)
+ }
+ default {
+ err(arg0, z143, 76, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (7) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 7, f070, 1}
+ Store(Refof(f070), Local3)
+ }
+ case (6) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 7, f071, 6}
+ Store(Refof(f071), Local3)
+ }
+ case (7) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 7, f072, 7}
+ Store(Refof(f072), Local3)
+ }
+ case (8) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 7, f073, 8}
+ Store(Refof(f073), Local3)
+ }
+ case (9) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 7, f074, 9}
+ Store(Refof(f074), Local3)
+ }
+ case (31) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 7, f075, 31}
+ Store(Refof(f075), Local3)
+ }
+ case (32) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 7, f076, 32}
+ Store(Refof(f076), Local3)
+ }
+ case (33) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 7, f077, 33}
+ Store(Refof(f077), Local3)
+ }
+ case (63) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 7, f078, 63}
+ Store(Refof(f078), Local3)
+ }
+ case (64) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 7, f079, 64}
+ Store(Refof(f079), Local3)
+ }
+ case (65) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 7, f07a, 65}
+ Store(Refof(f07a), Local3)
+ }
+ case (69) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 7, f07b, 69}
+ Store(Refof(f07b), Local3)
+ }
+ case (129) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 7, f07c, 129}
+ Store(Refof(f07c), Local3)
+ }
+ case (256) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 7, f07d, 256}
+ Store(Refof(f07d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 7, f07e, 1023}
+ Store(Refof(f07e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 7, f07f, 1983}
+ Store(Refof(f07f), Local3)
+ }
+ default {
+ err(arg0, z143, 77, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (8) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ Offset(1), f080, 1}
+ Store(Refof(f080), Local3)
+ }
+ case (6) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ Offset(1), f081, 6}
+ Store(Refof(f081), Local3)
+ }
+ case (7) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ Offset(1), f082, 7}
+ Store(Refof(f082), Local3)
+ }
+ case (8) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ Offset(1), f083, 8}
+ Store(Refof(f083), Local3)
+ }
+ case (9) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ Offset(1), f084, 9}
+ Store(Refof(f084), Local3)
+ }
+ case (31) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ Offset(1), f085, 31}
+ Store(Refof(f085), Local3)
+ }
+ case (32) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ Offset(1), f086, 32}
+ Store(Refof(f086), Local3)
+ }
+ case (33) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ Offset(1), f087, 33}
+ Store(Refof(f087), Local3)
+ }
+ case (63) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ Offset(1), f088, 63}
+ Store(Refof(f088), Local3)
+ }
+ case (64) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ Offset(1), f089, 64}
+ Store(Refof(f089), Local3)
+ }
+ case (65) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ Offset(1), f08a, 65}
+ Store(Refof(f08a), Local3)
+ }
+ case (69) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ Offset(1), f08b, 69}
+ Store(Refof(f08b), Local3)
+ }
+ case (129) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ Offset(1), f08c, 129}
+ Store(Refof(f08c), Local3)
+ }
+ case (256) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ Offset(1), f08d, 256}
+ Store(Refof(f08d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ Offset(1), f08e, 1023}
+ Store(Refof(f08e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ Offset(1), f08f, 1983}
+ Store(Refof(f08f), Local3)
+ }
+ default {
+ err(arg0, z143, 78, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (9) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 9, f090, 1}
+ Store(Refof(f090), Local3)
+ }
+ case (6) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 9, f091, 6}
+ Store(Refof(f091), Local3)
+ }
+ case (7) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 9, f092, 7}
+ Store(Refof(f092), Local3)
+ }
+ case (8) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 9, f093, 8}
+ Store(Refof(f093), Local3)
+ }
+ case (9) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 9, f094, 9}
+ Store(Refof(f094), Local3)
+ }
+ case (31) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 9, f095, 31}
+ Store(Refof(f095), Local3)
+ }
+ case (32) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 9, f096, 32}
+ Store(Refof(f096), Local3)
+ }
+ case (33) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 9, f097, 33}
+ Store(Refof(f097), Local3)
+ }
+ case (63) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 9, f098, 63}
+ Store(Refof(f098), Local3)
+ }
+ case (64) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 9, f099, 64}
+ Store(Refof(f099), Local3)
+ }
+ case (65) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 9, f09a, 65}
+ Store(Refof(f09a), Local3)
+ }
+ case (69) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 9, f09b, 69}
+ Store(Refof(f09b), Local3)
+ }
+ case (129) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 9, f09c, 129}
+ Store(Refof(f09c), Local3)
+ }
+ case (256) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 9, f09d, 256}
+ Store(Refof(f09d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 9, f09e, 1023}
+ Store(Refof(f09e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 9, f09f, 1983}
+ Store(Refof(f09f), Local3)
+ }
+ default {
+ err(arg0, z143, 79, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (31) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0a0, 1}
+ Store(Refof(f0a0), Local3)
+ }
+ case (6) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0a1, 6}
+ Store(Refof(f0a1), Local3)
+ }
+ case (7) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0a2, 7}
+ Store(Refof(f0a2), Local3)
+ }
+ case (8) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0a3, 8}
+ Store(Refof(f0a3), Local3)
+ }
+ case (9) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0a4, 9}
+ Store(Refof(f0a4), Local3)
+ }
+ case (31) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0a5, 31}
+ Store(Refof(f0a5), Local3)
+ }
+ case (32) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0a6, 32}
+ Store(Refof(f0a6), Local3)
+ }
+ case (33) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0a7, 33}
+ Store(Refof(f0a7), Local3)
+ }
+ case (63) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0a8, 63}
+ Store(Refof(f0a8), Local3)
+ }
+ case (64) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0a9, 64}
+ Store(Refof(f0a9), Local3)
+ }
+ case (65) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0aa, 65}
+ Store(Refof(f0aa), Local3)
+ }
+ case (69) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0ab, 69}
+ Store(Refof(f0ab), Local3)
+ }
+ case (129) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0ac, 129}
+ Store(Refof(f0ac), Local3)
+ }
+ case (256) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0ad, 256}
+ Store(Refof(f0ad), Local3)
+ }
+ case (1023) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0ae, 1023}
+ Store(Refof(f0ae), Local3)
+ }
+ case (1983) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0af, 1983}
+ Store(Refof(f0af), Local3)
+ }
+ default {
+ err(arg0, z143, 80, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (32) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 32, f0b0, 1}
+ Store(Refof(f0b0), Local3)
+ }
+ case (6) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 32, f0b1, 6}
+ Store(Refof(f0b1), Local3)
+ }
+ case (7) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 32, f0b2, 7}
+ Store(Refof(f0b2), Local3)
+ }
+ case (8) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 32, f0b3, 8}
+ Store(Refof(f0b3), Local3)
+ }
+ case (9) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 32, f0b4, 9}
+ Store(Refof(f0b4), Local3)
+ }
+ case (31) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 32, f0b5, 31}
+ Store(Refof(f0b5), Local3)
+ }
+ case (32) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 32, f0b6, 32}
+ Store(Refof(f0b6), Local3)
+ }
+ case (33) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 32, f0b7, 33}
+ Store(Refof(f0b7), Local3)
+ }
+ case (63) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 32, f0b8, 63}
+ Store(Refof(f0b8), Local3)
+ }
+ case (64) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 32, f0b9, 64}
+ Store(Refof(f0b9), Local3)
+ }
+ case (65) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 32, f0ba, 65}
+ Store(Refof(f0ba), Local3)
+ }
+ case (69) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 32, f0bb, 69}
+ Store(Refof(f0bb), Local3)
+ }
+ case (129) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 32, f0bc, 129}
+ Store(Refof(f0bc), Local3)
+ }
+ case (256) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 32, f0bd, 256}
+ Store(Refof(f0bd), Local3)
+ }
+ case (1023) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 32, f0be, 1023}
+ Store(Refof(f0be), Local3)
+ }
+ case (1983) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 32, f0bf, 1983}
+ Store(Refof(f0bf), Local3)
+ }
+ default {
+ err(arg0, z143, 81, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (33) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 33, f0c0, 1}
+ Store(Refof(f0c0), Local3)
+ }
+ case (6) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 33, f0c1, 6}
+ Store(Refof(f0c1), Local3)
+ }
+ case (7) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 33, f0c2, 7}
+ Store(Refof(f0c2), Local3)
+ }
+ case (8) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 33, f0c3, 8}
+ Store(Refof(f0c3), Local3)
+ }
+ case (9) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 33, f0c4, 9}
+ Store(Refof(f0c4), Local3)
+ }
+ case (31) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 33, f0c5, 31}
+ Store(Refof(f0c5), Local3)
+ }
+ case (32) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 33, f0c6, 32}
+ Store(Refof(f0c6), Local3)
+ }
+ case (33) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 33, f0c7, 33}
+ Store(Refof(f0c7), Local3)
+ }
+ case (63) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 33, f0c8, 63}
+ Store(Refof(f0c8), Local3)
+ }
+ case (64) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 33, f0c9, 64}
+ Store(Refof(f0c9), Local3)
+ }
+ case (65) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 33, f0ca, 65}
+ Store(Refof(f0ca), Local3)
+ }
+ case (69) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 33, f0cb, 69}
+ Store(Refof(f0cb), Local3)
+ }
+ case (129) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 33, f0cc, 129}
+ Store(Refof(f0cc), Local3)
+ }
+ case (256) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 33, f0cd, 256}
+ Store(Refof(f0cd), Local3)
+ }
+ case (1023) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 33, f0ce, 1023}
+ Store(Refof(f0ce), Local3)
+ }
+ case (1983) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 33, f0cf, 1983}
+ Store(Refof(f0cf), Local3)
+ }
+ default {
+ err(arg0, z143, 82, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (63) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 63, f0d0, 1}
+ Store(Refof(f0d0), Local3)
+ }
+ case (6) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 63, f0d1, 6}
+ Store(Refof(f0d1), Local3)
+ }
+ case (7) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 63, f0d2, 7}
+ Store(Refof(f0d2), Local3)
+ }
+ case (8) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 63, f0d3, 8}
+ Store(Refof(f0d3), Local3)
+ }
+ case (9) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 63, f0d4, 9}
+ Store(Refof(f0d4), Local3)
+ }
+ case (31) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 63, f0d5, 31}
+ Store(Refof(f0d5), Local3)
+ }
+ case (32) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 63, f0d6, 32}
+ Store(Refof(f0d6), Local3)
+ }
+ case (33) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 63, f0d7, 33}
+ Store(Refof(f0d7), Local3)
+ }
+ case (63) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 63, f0d8, 63}
+ Store(Refof(f0d8), Local3)
+ }
+ case (64) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 63, f0d9, 64}
+ Store(Refof(f0d9), Local3)
+ }
+ case (65) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 63, f0da, 65}
+ Store(Refof(f0da), Local3)
+ }
+ case (69) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 63, f0db, 69}
+ Store(Refof(f0db), Local3)
+ }
+ case (129) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 63, f0dc, 129}
+ Store(Refof(f0dc), Local3)
+ }
+ case (256) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 63, f0dd, 256}
+ Store(Refof(f0dd), Local3)
+ }
+ case (1023) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 63, f0de, 1023}
+ Store(Refof(f0de), Local3)
+ }
+ case (1983) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 63, f0df, 1983}
+ Store(Refof(f0df), Local3)
+ }
+ default {
+ err(arg0, z143, 83, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (64) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 64, f0e0, 1}
+ Store(Refof(f0e0), Local3)
+ }
+ case (6) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 64, f0e1, 6}
+ Store(Refof(f0e1), Local3)
+ }
+ case (7) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 64, f0e2, 7}
+ Store(Refof(f0e2), Local3)
+ }
+ case (8) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 64, f0e3, 8}
+ Store(Refof(f0e3), Local3)
+ }
+ case (9) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 64, f0e4, 9}
+ Store(Refof(f0e4), Local3)
+ }
+ case (31) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 64, f0e5, 31}
+ Store(Refof(f0e5), Local3)
+ }
+ case (32) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 64, f0e6, 32}
+ Store(Refof(f0e6), Local3)
+ }
+ case (33) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 64, f0e7, 33}
+ Store(Refof(f0e7), Local3)
+ }
+ case (63) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 64, f0e8, 63}
+ Store(Refof(f0e8), Local3)
+ }
+ case (64) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 64, f0e9, 64}
+ Store(Refof(f0e9), Local3)
+ }
+ case (65) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 64, f0ea, 65}
+ Store(Refof(f0ea), Local3)
+ }
+ case (69) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 64, f0eb, 69}
+ Store(Refof(f0eb), Local3)
+ }
+ case (129) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 64, f0ec, 129}
+ Store(Refof(f0ec), Local3)
+ }
+ case (256) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 64, f0ed, 256}
+ Store(Refof(f0ed), Local3)
+ }
+ case (1023) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 64, f0ee, 1023}
+ Store(Refof(f0ee), Local3)
+ }
+ case (1983) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ , 64, f0ef, 1983}
+ Store(Refof(f0ef), Local3)
+ }
+ default {
+ err(arg0, z143, 84, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (65) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0f0, 1}
+ Store(Refof(f0f0), Local3)
+ }
+ case (6) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0f1, 6}
+ Store(Refof(f0f1), Local3)
+ }
+ case (7) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0f2, 7}
+ Store(Refof(f0f2), Local3)
+ }
+ case (8) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0f3, 8}
+ Store(Refof(f0f3), Local3)
+ }
+ case (9) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0f4, 9}
+ Store(Refof(f0f4), Local3)
+ }
+ case (31) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0f5, 31}
+ Store(Refof(f0f5), Local3)
+ }
+ case (32) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0f6, 32}
+ Store(Refof(f0f6), Local3)
+ }
+ case (33) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0f7, 33}
+ Store(Refof(f0f7), Local3)
+ }
+ case (63) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0f8, 63}
+ Store(Refof(f0f8), Local3)
+ }
+ case (64) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0f9, 64}
+ Store(Refof(f0f9), Local3)
+ }
+ case (65) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0fa, 65}
+ Store(Refof(f0fa), Local3)
+ }
+ case (69) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0fb, 69}
+ Store(Refof(f0fb), Local3)
+ }
+ case (129) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0fc, 129}
+ Store(Refof(f0fc), Local3)
+ }
+ case (256) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0fd, 256}
+ Store(Refof(f0fd), Local3)
+ }
+ case (1023) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0fe, 1023}
+ Store(Refof(f0fe), Local3)
+ }
+ case (1983) {
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0ff, 1983}
+ Store(Refof(f0ff), Local3)
+ }
+ default {
+ err(arg0, z143, 85, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ default {
+ err(arg0, z143, 86, 0, 0, arg2, arg3)
+ return}
+ }
+
+ m72d(arg0, Local3, arg2, arg3, arg4, arg5, Refof(g001))
+}
+
+// Create Region Field Unit
+// (ByteAcc, NoLock, WriteAsOnes)
+Method(m731, 6)
+{
+ OperationRegion(OPR0, SystemMemory, 0, RS00)
+
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ g001, 2048,
+ }
+
+ Concatenate(arg0, "-m731", arg0)
+
+ switch(arg2) {
+ case (0) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 0, f000, 1}
+ Store(Refof(f000), Local3)
+ }
+ case (6) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 0, f001, 6}
+ Store(Refof(f001), Local3)
+ }
+ case (7) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 0, f002, 7}
+ Store(Refof(f002), Local3)
+ }
+ case (8) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 0, f003, 8}
+ Store(Refof(f003), Local3)
+ }
+ case (9) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 0, f004, 9}
+ Store(Refof(f004), Local3)
+ }
+ case (31) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 0, f005, 31}
+ Store(Refof(f005), Local3)
+ }
+ case (32) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 0, f006, 32}
+ Store(Refof(f006), Local3)
+ }
+ case (33) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 0, f007, 33}
+ Store(Refof(f007), Local3)
+ }
+ case (63) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 0, f008, 63}
+ Store(Refof(f008), Local3)
+ }
+ case (64) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 0, f009, 64}
+ Store(Refof(f009), Local3)
+ }
+ case (65) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 0, f00a, 65}
+ Store(Refof(f00a), Local3)
+ }
+ case (69) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 0, f00b, 69}
+ Store(Refof(f00b), Local3)
+ }
+ case (129) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 0, f00c, 129}
+ Store(Refof(f00c), Local3)
+ }
+ case (256) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 0, f00d, 256}
+ Store(Refof(f00d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 0, f00e, 1023}
+ Store(Refof(f00e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 0, f00f, 1983}
+ Store(Refof(f00f), Local3)
+ }
+ default {
+ err(arg0, z143, 87, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (1) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 1, f010, 1}
+ Store(Refof(f010), Local3)
+ }
+ case (6) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 1, f011, 6}
+ Store(Refof(f011), Local3)
+ }
+ case (7) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 1, f012, 7}
+ Store(Refof(f012), Local3)
+ }
+ case (8) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 1, f013, 8}
+ Store(Refof(f013), Local3)
+ }
+ case (9) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 1, f014, 9}
+ Store(Refof(f014), Local3)
+ }
+ case (31) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 1, f015, 31}
+ Store(Refof(f015), Local3)
+ }
+ case (32) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 1, f016, 32}
+ Store(Refof(f016), Local3)
+ }
+ case (33) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 1, f017, 33}
+ Store(Refof(f017), Local3)
+ }
+ case (63) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 1, f018, 63}
+ Store(Refof(f018), Local3)
+ }
+ case (64) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 1, f019, 64}
+ Store(Refof(f019), Local3)
+ }
+ case (65) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 1, f01a, 65}
+ Store(Refof(f01a), Local3)
+ }
+ case (69) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 1, f01b, 69}
+ Store(Refof(f01b), Local3)
+ }
+ case (129) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 1, f01c, 129}
+ Store(Refof(f01c), Local3)
+ }
+ case (256) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 1, f01d, 256}
+ Store(Refof(f01d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 1, f01e, 1023}
+ Store(Refof(f01e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 1, f01f, 1983}
+ Store(Refof(f01f), Local3)
+ }
+ default {
+ err(arg0, z143, 88, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (2) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ Offset(0), , 2, f020, 1}
+ Store(Refof(f020), Local3)
+ }
+ case (6) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ Offset(0), , 2, f021, 6}
+ Store(Refof(f021), Local3)
+ }
+ case (7) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ Offset(0), , 2, f022, 7}
+ Store(Refof(f022), Local3)
+ }
+ case (8) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ Offset(0), , 2, f023, 8}
+ Store(Refof(f023), Local3)
+ }
+ case (9) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ Offset(0), , 2, f024, 9}
+ Store(Refof(f024), Local3)
+ }
+ case (31) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ Offset(0), , 2, f025, 31}
+ Store(Refof(f025), Local3)
+ }
+ case (32) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ Offset(0), , 2, f026, 32}
+ Store(Refof(f026), Local3)
+ }
+ case (33) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ Offset(0), , 2, f027, 33}
+ Store(Refof(f027), Local3)
+ }
+ case (63) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ Offset(0), , 2, f028, 63}
+ Store(Refof(f028), Local3)
+ }
+ case (64) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ Offset(0), , 2, f029, 64}
+ Store(Refof(f029), Local3)
+ }
+ case (65) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ Offset(0), , 2, f02a, 65}
+ Store(Refof(f02a), Local3)
+ }
+ case (69) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ Offset(0), , 2, f02b, 69}
+ Store(Refof(f02b), Local3)
+ }
+ case (129) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ Offset(0), , 2, f02c, 129}
+ Store(Refof(f02c), Local3)
+ }
+ case (256) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ Offset(0), , 2, f02d, 256}
+ Store(Refof(f02d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ Offset(0), , 2, f02e, 1023}
+ Store(Refof(f02e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ Offset(0), , 2, f02f, 1983}
+ Store(Refof(f02f), Local3)
+ }
+ default {
+ err(arg0, z143, 89, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (3) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 3, f030, 1}
+ Store(Refof(f030), Local3)
+ }
+ case (6) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 3, f031, 6}
+ Store(Refof(f031), Local3)
+ }
+ case (7) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 3, f032, 7}
+ Store(Refof(f032), Local3)
+ }
+ case (8) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 3, f033, 8}
+ Store(Refof(f033), Local3)
+ }
+ case (9) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 3, f034, 9}
+ Store(Refof(f034), Local3)
+ }
+ case (31) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 3, f035, 31}
+ Store(Refof(f035), Local3)
+ }
+ case (32) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 3, f036, 32}
+ Store(Refof(f036), Local3)
+ }
+ case (33) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 3, f037, 33}
+ Store(Refof(f037), Local3)
+ }
+ case (63) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 3, f038, 63}
+ Store(Refof(f038), Local3)
+ }
+ case (64) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 3, f039, 64}
+ Store(Refof(f039), Local3)
+ }
+ case (65) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 3, f03a, 65}
+ Store(Refof(f03a), Local3)
+ }
+ case (69) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 3, f03b, 69}
+ Store(Refof(f03b), Local3)
+ }
+ case (129) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 3, f03c, 129}
+ Store(Refof(f03c), Local3)
+ }
+ case (256) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 3, f03d, 256}
+ Store(Refof(f03d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 3, f03e, 1023}
+ Store(Refof(f03e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 3, f03f, 1983}
+ Store(Refof(f03f), Local3)
+ }
+ default {
+ err(arg0, z143, 90, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (4) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 4, f040, 1}
+ Store(Refof(f040), Local3)
+ }
+ case (6) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 4, f041, 6}
+ Store(Refof(f041), Local3)
+ }
+ case (7) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 4, f042, 7}
+ Store(Refof(f042), Local3)
+ }
+ case (8) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 4, f043, 8}
+ Store(Refof(f043), Local3)
+ }
+ case (9) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 4, f044, 9}
+ Store(Refof(f044), Local3)
+ }
+ case (31) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 4, f045, 31}
+ Store(Refof(f045), Local3)
+ }
+ case (32) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 4, f046, 32}
+ Store(Refof(f046), Local3)
+ }
+ case (33) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 4, f047, 33}
+ Store(Refof(f047), Local3)
+ }
+ case (63) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 4, f048, 63}
+ Store(Refof(f048), Local3)
+ }
+ case (64) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 4, f049, 64}
+ Store(Refof(f049), Local3)
+ }
+ case (65) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 4, f04a, 65}
+ Store(Refof(f04a), Local3)
+ }
+ case (69) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 4, f04b, 69}
+ Store(Refof(f04b), Local3)
+ }
+ case (129) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 4, f04c, 129}
+ Store(Refof(f04c), Local3)
+ }
+ case (256) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 4, f04d, 256}
+ Store(Refof(f04d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 4, f04e, 1023}
+ Store(Refof(f04e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 4, f04f, 1983}
+ Store(Refof(f04f), Local3)
+ }
+ default {
+ err(arg0, z143, 91, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (5) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 5, f050, 1}
+ Store(Refof(f050), Local3)
+ }
+ case (6) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 5, f051, 6}
+ Store(Refof(f051), Local3)
+ }
+ case (7) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 5, f052, 7}
+ Store(Refof(f052), Local3)
+ }
+ case (8) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 5, f053, 8}
+ Store(Refof(f053), Local3)
+ }
+ case (9) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 5, f054, 9}
+ Store(Refof(f054), Local3)
+ }
+ case (31) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 5, f055, 31}
+ Store(Refof(f055), Local3)
+ }
+ case (32) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 5, f056, 32}
+ Store(Refof(f056), Local3)
+ }
+ case (33) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 5, f057, 33}
+ Store(Refof(f057), Local3)
+ }
+ case (63) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 5, f058, 63}
+ Store(Refof(f058), Local3)
+ }
+ case (64) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 5, f059, 64}
+ Store(Refof(f059), Local3)
+ }
+ case (65) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 5, f05a, 65}
+ Store(Refof(f05a), Local3)
+ }
+ case (69) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 5, f05b, 69}
+ Store(Refof(f05b), Local3)
+ }
+ case (129) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 5, f05c, 129}
+ Store(Refof(f05c), Local3)
+ }
+ case (256) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 5, f05d, 256}
+ Store(Refof(f05d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 5, f05e, 1023}
+ Store(Refof(f05e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 5, f05f, 1983}
+ Store(Refof(f05f), Local3)
+ }
+ default {
+ err(arg0, z143, 92, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (6) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 6, f060, 1}
+ Store(Refof(f060), Local3)
+ }
+ case (6) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 6, f061, 6}
+ Store(Refof(f061), Local3)
+ }
+ case (7) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 6, f062, 7}
+ Store(Refof(f062), Local3)
+ }
+ case (8) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 6, f063, 8}
+ Store(Refof(f063), Local3)
+ }
+ case (9) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 6, f064, 9}
+ Store(Refof(f064), Local3)
+ }
+ case (31) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 6, f065, 31}
+ Store(Refof(f065), Local3)
+ }
+ case (32) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 6, f066, 32}
+ Store(Refof(f066), Local3)
+ }
+ case (33) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 6, f067, 33}
+ Store(Refof(f067), Local3)
+ }
+ case (63) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 6, f068, 63}
+ Store(Refof(f068), Local3)
+ }
+ case (64) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 6, f069, 64}
+ Store(Refof(f069), Local3)
+ }
+ case (65) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 6, f06a, 65}
+ Store(Refof(f06a), Local3)
+ }
+ case (69) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 6, f06b, 69}
+ Store(Refof(f06b), Local3)
+ }
+ case (129) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 6, f06c, 129}
+ Store(Refof(f06c), Local3)
+ }
+ case (256) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 6, f06d, 256}
+ Store(Refof(f06d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 6, f06e, 1023}
+ Store(Refof(f06e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 6, f06f, 1983}
+ Store(Refof(f06f), Local3)
+ }
+ default {
+ err(arg0, z143, 93, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (7) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 7, f070, 1}
+ Store(Refof(f070), Local3)
+ }
+ case (6) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 7, f071, 6}
+ Store(Refof(f071), Local3)
+ }
+ case (7) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 7, f072, 7}
+ Store(Refof(f072), Local3)
+ }
+ case (8) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 7, f073, 8}
+ Store(Refof(f073), Local3)
+ }
+ case (9) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 7, f074, 9}
+ Store(Refof(f074), Local3)
+ }
+ case (31) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 7, f075, 31}
+ Store(Refof(f075), Local3)
+ }
+ case (32) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 7, f076, 32}
+ Store(Refof(f076), Local3)
+ }
+ case (33) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 7, f077, 33}
+ Store(Refof(f077), Local3)
+ }
+ case (63) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 7, f078, 63}
+ Store(Refof(f078), Local3)
+ }
+ case (64) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 7, f079, 64}
+ Store(Refof(f079), Local3)
+ }
+ case (65) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 7, f07a, 65}
+ Store(Refof(f07a), Local3)
+ }
+ case (69) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 7, f07b, 69}
+ Store(Refof(f07b), Local3)
+ }
+ case (129) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 7, f07c, 129}
+ Store(Refof(f07c), Local3)
+ }
+ case (256) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 7, f07d, 256}
+ Store(Refof(f07d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 7, f07e, 1023}
+ Store(Refof(f07e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 7, f07f, 1983}
+ Store(Refof(f07f), Local3)
+ }
+ default {
+ err(arg0, z143, 94, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (8) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ Offset(1), f080, 1}
+ Store(Refof(f080), Local3)
+ }
+ case (6) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ Offset(1), f081, 6}
+ Store(Refof(f081), Local3)
+ }
+ case (7) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ Offset(1), f082, 7}
+ Store(Refof(f082), Local3)
+ }
+ case (8) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ Offset(1), f083, 8}
+ Store(Refof(f083), Local3)
+ }
+ case (9) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ Offset(1), f084, 9}
+ Store(Refof(f084), Local3)
+ }
+ case (31) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ Offset(1), f085, 31}
+ Store(Refof(f085), Local3)
+ }
+ case (32) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ Offset(1), f086, 32}
+ Store(Refof(f086), Local3)
+ }
+ case (33) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ Offset(1), f087, 33}
+ Store(Refof(f087), Local3)
+ }
+ case (63) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ Offset(1), f088, 63}
+ Store(Refof(f088), Local3)
+ }
+ case (64) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ Offset(1), f089, 64}
+ Store(Refof(f089), Local3)
+ }
+ case (65) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ Offset(1), f08a, 65}
+ Store(Refof(f08a), Local3)
+ }
+ case (69) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ Offset(1), f08b, 69}
+ Store(Refof(f08b), Local3)
+ }
+ case (129) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ Offset(1), f08c, 129}
+ Store(Refof(f08c), Local3)
+ }
+ case (256) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ Offset(1), f08d, 256}
+ Store(Refof(f08d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ Offset(1), f08e, 1023}
+ Store(Refof(f08e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ Offset(1), f08f, 1983}
+ Store(Refof(f08f), Local3)
+ }
+ default {
+ err(arg0, z143, 95, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (9) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 9, f090, 1}
+ Store(Refof(f090), Local3)
+ }
+ case (6) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 9, f091, 6}
+ Store(Refof(f091), Local3)
+ }
+ case (7) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 9, f092, 7}
+ Store(Refof(f092), Local3)
+ }
+ case (8) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 9, f093, 8}
+ Store(Refof(f093), Local3)
+ }
+ case (9) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 9, f094, 9}
+ Store(Refof(f094), Local3)
+ }
+ case (31) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 9, f095, 31}
+ Store(Refof(f095), Local3)
+ }
+ case (32) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 9, f096, 32}
+ Store(Refof(f096), Local3)
+ }
+ case (33) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 9, f097, 33}
+ Store(Refof(f097), Local3)
+ }
+ case (63) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 9, f098, 63}
+ Store(Refof(f098), Local3)
+ }
+ case (64) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 9, f099, 64}
+ Store(Refof(f099), Local3)
+ }
+ case (65) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 9, f09a, 65}
+ Store(Refof(f09a), Local3)
+ }
+ case (69) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 9, f09b, 69}
+ Store(Refof(f09b), Local3)
+ }
+ case (129) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 9, f09c, 129}
+ Store(Refof(f09c), Local3)
+ }
+ case (256) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 9, f09d, 256}
+ Store(Refof(f09d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 9, f09e, 1023}
+ Store(Refof(f09e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 9, f09f, 1983}
+ Store(Refof(f09f), Local3)
+ }
+ default {
+ err(arg0, z143, 96, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (31) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0a0, 1}
+ Store(Refof(f0a0), Local3)
+ }
+ case (6) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0a1, 6}
+ Store(Refof(f0a1), Local3)
+ }
+ case (7) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0a2, 7}
+ Store(Refof(f0a2), Local3)
+ }
+ case (8) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0a3, 8}
+ Store(Refof(f0a3), Local3)
+ }
+ case (9) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0a4, 9}
+ Store(Refof(f0a4), Local3)
+ }
+ case (31) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0a5, 31}
+ Store(Refof(f0a5), Local3)
+ }
+ case (32) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0a6, 32}
+ Store(Refof(f0a6), Local3)
+ }
+ case (33) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0a7, 33}
+ Store(Refof(f0a7), Local3)
+ }
+ case (63) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0a8, 63}
+ Store(Refof(f0a8), Local3)
+ }
+ case (64) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0a9, 64}
+ Store(Refof(f0a9), Local3)
+ }
+ case (65) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0aa, 65}
+ Store(Refof(f0aa), Local3)
+ }
+ case (69) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0ab, 69}
+ Store(Refof(f0ab), Local3)
+ }
+ case (129) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0ac, 129}
+ Store(Refof(f0ac), Local3)
+ }
+ case (256) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0ad, 256}
+ Store(Refof(f0ad), Local3)
+ }
+ case (1023) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0ae, 1023}
+ Store(Refof(f0ae), Local3)
+ }
+ case (1983) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0af, 1983}
+ Store(Refof(f0af), Local3)
+ }
+ default {
+ err(arg0, z143, 97, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (32) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 32, f0b0, 1}
+ Store(Refof(f0b0), Local3)
+ }
+ case (6) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 32, f0b1, 6}
+ Store(Refof(f0b1), Local3)
+ }
+ case (7) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 32, f0b2, 7}
+ Store(Refof(f0b2), Local3)
+ }
+ case (8) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 32, f0b3, 8}
+ Store(Refof(f0b3), Local3)
+ }
+ case (9) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 32, f0b4, 9}
+ Store(Refof(f0b4), Local3)
+ }
+ case (31) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 32, f0b5, 31}
+ Store(Refof(f0b5), Local3)
+ }
+ case (32) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 32, f0b6, 32}
+ Store(Refof(f0b6), Local3)
+ }
+ case (33) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 32, f0b7, 33}
+ Store(Refof(f0b7), Local3)
+ }
+ case (63) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 32, f0b8, 63}
+ Store(Refof(f0b8), Local3)
+ }
+ case (64) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 32, f0b9, 64}
+ Store(Refof(f0b9), Local3)
+ }
+ case (65) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 32, f0ba, 65}
+ Store(Refof(f0ba), Local3)
+ }
+ case (69) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 32, f0bb, 69}
+ Store(Refof(f0bb), Local3)
+ }
+ case (129) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 32, f0bc, 129}
+ Store(Refof(f0bc), Local3)
+ }
+ case (256) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 32, f0bd, 256}
+ Store(Refof(f0bd), Local3)
+ }
+ case (1023) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 32, f0be, 1023}
+ Store(Refof(f0be), Local3)
+ }
+ case (1983) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 32, f0bf, 1983}
+ Store(Refof(f0bf), Local3)
+ }
+ default {
+ err(arg0, z143, 98, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (33) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 33, f0c0, 1}
+ Store(Refof(f0c0), Local3)
+ }
+ case (6) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 33, f0c1, 6}
+ Store(Refof(f0c1), Local3)
+ }
+ case (7) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 33, f0c2, 7}
+ Store(Refof(f0c2), Local3)
+ }
+ case (8) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 33, f0c3, 8}
+ Store(Refof(f0c3), Local3)
+ }
+ case (9) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 33, f0c4, 9}
+ Store(Refof(f0c4), Local3)
+ }
+ case (31) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 33, f0c5, 31}
+ Store(Refof(f0c5), Local3)
+ }
+ case (32) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 33, f0c6, 32}
+ Store(Refof(f0c6), Local3)
+ }
+ case (33) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 33, f0c7, 33}
+ Store(Refof(f0c7), Local3)
+ }
+ case (63) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 33, f0c8, 63}
+ Store(Refof(f0c8), Local3)
+ }
+ case (64) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 33, f0c9, 64}
+ Store(Refof(f0c9), Local3)
+ }
+ case (65) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 33, f0ca, 65}
+ Store(Refof(f0ca), Local3)
+ }
+ case (69) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 33, f0cb, 69}
+ Store(Refof(f0cb), Local3)
+ }
+ case (129) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 33, f0cc, 129}
+ Store(Refof(f0cc), Local3)
+ }
+ case (256) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 33, f0cd, 256}
+ Store(Refof(f0cd), Local3)
+ }
+ case (1023) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 33, f0ce, 1023}
+ Store(Refof(f0ce), Local3)
+ }
+ case (1983) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 33, f0cf, 1983}
+ Store(Refof(f0cf), Local3)
+ }
+ default {
+ err(arg0, z143, 99, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (63) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 63, f0d0, 1}
+ Store(Refof(f0d0), Local3)
+ }
+ case (6) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 63, f0d1, 6}
+ Store(Refof(f0d1), Local3)
+ }
+ case (7) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 63, f0d2, 7}
+ Store(Refof(f0d2), Local3)
+ }
+ case (8) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 63, f0d3, 8}
+ Store(Refof(f0d3), Local3)
+ }
+ case (9) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 63, f0d4, 9}
+ Store(Refof(f0d4), Local3)
+ }
+ case (31) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 63, f0d5, 31}
+ Store(Refof(f0d5), Local3)
+ }
+ case (32) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 63, f0d6, 32}
+ Store(Refof(f0d6), Local3)
+ }
+ case (33) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 63, f0d7, 33}
+ Store(Refof(f0d7), Local3)
+ }
+ case (63) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 63, f0d8, 63}
+ Store(Refof(f0d8), Local3)
+ }
+ case (64) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 63, f0d9, 64}
+ Store(Refof(f0d9), Local3)
+ }
+ case (65) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 63, f0da, 65}
+ Store(Refof(f0da), Local3)
+ }
+ case (69) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 63, f0db, 69}
+ Store(Refof(f0db), Local3)
+ }
+ case (129) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 63, f0dc, 129}
+ Store(Refof(f0dc), Local3)
+ }
+ case (256) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 63, f0dd, 256}
+ Store(Refof(f0dd), Local3)
+ }
+ case (1023) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 63, f0de, 1023}
+ Store(Refof(f0de), Local3)
+ }
+ case (1983) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 63, f0df, 1983}
+ Store(Refof(f0df), Local3)
+ }
+ default {
+ err(arg0, z143, 100, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (64) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 64, f0e0, 1}
+ Store(Refof(f0e0), Local3)
+ }
+ case (6) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 64, f0e1, 6}
+ Store(Refof(f0e1), Local3)
+ }
+ case (7) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 64, f0e2, 7}
+ Store(Refof(f0e2), Local3)
+ }
+ case (8) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 64, f0e3, 8}
+ Store(Refof(f0e3), Local3)
+ }
+ case (9) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 64, f0e4, 9}
+ Store(Refof(f0e4), Local3)
+ }
+ case (31) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 64, f0e5, 31}
+ Store(Refof(f0e5), Local3)
+ }
+ case (32) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 64, f0e6, 32}
+ Store(Refof(f0e6), Local3)
+ }
+ case (33) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 64, f0e7, 33}
+ Store(Refof(f0e7), Local3)
+ }
+ case (63) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 64, f0e8, 63}
+ Store(Refof(f0e8), Local3)
+ }
+ case (64) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 64, f0e9, 64}
+ Store(Refof(f0e9), Local3)
+ }
+ case (65) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 64, f0ea, 65}
+ Store(Refof(f0ea), Local3)
+ }
+ case (69) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 64, f0eb, 69}
+ Store(Refof(f0eb), Local3)
+ }
+ case (129) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 64, f0ec, 129}
+ Store(Refof(f0ec), Local3)
+ }
+ case (256) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 64, f0ed, 256}
+ Store(Refof(f0ed), Local3)
+ }
+ case (1023) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 64, f0ee, 1023}
+ Store(Refof(f0ee), Local3)
+ }
+ case (1983) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ , 64, f0ef, 1983}
+ Store(Refof(f0ef), Local3)
+ }
+ default {
+ err(arg0, z143, 101, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (65) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0f0, 1}
+ Store(Refof(f0f0), Local3)
+ }
+ case (6) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0f1, 6}
+ Store(Refof(f0f1), Local3)
+ }
+ case (7) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0f2, 7}
+ Store(Refof(f0f2), Local3)
+ }
+ case (8) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0f3, 8}
+ Store(Refof(f0f3), Local3)
+ }
+ case (9) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0f4, 9}
+ Store(Refof(f0f4), Local3)
+ }
+ case (31) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0f5, 31}
+ Store(Refof(f0f5), Local3)
+ }
+ case (32) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0f6, 32}
+ Store(Refof(f0f6), Local3)
+ }
+ case (33) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0f7, 33}
+ Store(Refof(f0f7), Local3)
+ }
+ case (63) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0f8, 63}
+ Store(Refof(f0f8), Local3)
+ }
+ case (64) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0f9, 64}
+ Store(Refof(f0f9), Local3)
+ }
+ case (65) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0fa, 65}
+ Store(Refof(f0fa), Local3)
+ }
+ case (69) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0fb, 69}
+ Store(Refof(f0fb), Local3)
+ }
+ case (129) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0fc, 129}
+ Store(Refof(f0fc), Local3)
+ }
+ case (256) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0fd, 256}
+ Store(Refof(f0fd), Local3)
+ }
+ case (1023) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0fe, 1023}
+ Store(Refof(f0fe), Local3)
+ }
+ case (1983) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0ff, 1983}
+ Store(Refof(f0ff), Local3)
+ }
+ default {
+ err(arg0, z143, 102, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ default {
+ err(arg0, z143, 103, 0, 0, arg2, arg3)
+ return}
+ }
+
+ m72d(arg0, Local3, arg2, arg3, arg4, arg5, Refof(g001))
+}
+
+// Create Region Field Unit
+// (ByteAcc, NoLock, WriteAsZeros)
+Method(m732, 6)
+{
+ OperationRegion(OPR0, SystemMemory, 0, RS00)
+
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ g001, 2048,
+ }
+
+ Concatenate(arg0, "-m732", arg0)
+
+ switch(arg2) {
+ case (0) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 0, f000, 1}
+ Store(Refof(f000), Local3)
+ }
+ case (6) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 0, f001, 6}
+ Store(Refof(f001), Local3)
+ }
+ case (7) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 0, f002, 7}
+ Store(Refof(f002), Local3)
+ }
+ case (8) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 0, f003, 8}
+ Store(Refof(f003), Local3)
+ }
+ case (9) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 0, f004, 9}
+ Store(Refof(f004), Local3)
+ }
+ case (31) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 0, f005, 31}
+ Store(Refof(f005), Local3)
+ }
+ case (32) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 0, f006, 32}
+ Store(Refof(f006), Local3)
+ }
+ case (33) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 0, f007, 33}
+ Store(Refof(f007), Local3)
+ }
+ case (63) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 0, f008, 63}
+ Store(Refof(f008), Local3)
+ }
+ case (64) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 0, f009, 64}
+ Store(Refof(f009), Local3)
+ }
+ case (65) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 0, f00a, 65}
+ Store(Refof(f00a), Local3)
+ }
+ case (69) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 0, f00b, 69}
+ Store(Refof(f00b), Local3)
+ }
+ case (129) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 0, f00c, 129}
+ Store(Refof(f00c), Local3)
+ }
+ case (256) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 0, f00d, 256}
+ Store(Refof(f00d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 0, f00e, 1023}
+ Store(Refof(f00e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 0, f00f, 1983}
+ Store(Refof(f00f), Local3)
+ }
+ default {
+ err(arg0, z143, 104, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (1) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 1, f010, 1}
+ Store(Refof(f010), Local3)
+ }
+ case (6) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 1, f011, 6}
+ Store(Refof(f011), Local3)
+ }
+ case (7) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 1, f012, 7}
+ Store(Refof(f012), Local3)
+ }
+ case (8) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 1, f013, 8}
+ Store(Refof(f013), Local3)
+ }
+ case (9) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 1, f014, 9}
+ Store(Refof(f014), Local3)
+ }
+ case (31) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 1, f015, 31}
+ Store(Refof(f015), Local3)
+ }
+ case (32) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 1, f016, 32}
+ Store(Refof(f016), Local3)
+ }
+ case (33) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 1, f017, 33}
+ Store(Refof(f017), Local3)
+ }
+ case (63) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 1, f018, 63}
+ Store(Refof(f018), Local3)
+ }
+ case (64) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 1, f019, 64}
+ Store(Refof(f019), Local3)
+ }
+ case (65) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 1, f01a, 65}
+ Store(Refof(f01a), Local3)
+ }
+ case (69) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 1, f01b, 69}
+ Store(Refof(f01b), Local3)
+ }
+ case (129) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 1, f01c, 129}
+ Store(Refof(f01c), Local3)
+ }
+ case (256) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 1, f01d, 256}
+ Store(Refof(f01d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 1, f01e, 1023}
+ Store(Refof(f01e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 1, f01f, 1983}
+ Store(Refof(f01f), Local3)
+ }
+ default {
+ err(arg0, z143, 105, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (2) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ Offset(0), , 2, f020, 1}
+ Store(Refof(f020), Local3)
+ }
+ case (6) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ Offset(0), , 2, f021, 6}
+ Store(Refof(f021), Local3)
+ }
+ case (7) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ Offset(0), , 2, f022, 7}
+ Store(Refof(f022), Local3)
+ }
+ case (8) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ Offset(0), , 2, f023, 8}
+ Store(Refof(f023), Local3)
+ }
+ case (9) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ Offset(0), , 2, f024, 9}
+ Store(Refof(f024), Local3)
+ }
+ case (31) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ Offset(0), , 2, f025, 31}
+ Store(Refof(f025), Local3)
+ }
+ case (32) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ Offset(0), , 2, f026, 32}
+ Store(Refof(f026), Local3)
+ }
+ case (33) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ Offset(0), , 2, f027, 33}
+ Store(Refof(f027), Local3)
+ }
+ case (63) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ Offset(0), , 2, f028, 63}
+ Store(Refof(f028), Local3)
+ }
+ case (64) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ Offset(0), , 2, f029, 64}
+ Store(Refof(f029), Local3)
+ }
+ case (65) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ Offset(0), , 2, f02a, 65}
+ Store(Refof(f02a), Local3)
+ }
+ case (69) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ Offset(0), , 2, f02b, 69}
+ Store(Refof(f02b), Local3)
+ }
+ case (129) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ Offset(0), , 2, f02c, 129}
+ Store(Refof(f02c), Local3)
+ }
+ case (256) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ Offset(0), , 2, f02d, 256}
+ Store(Refof(f02d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ Offset(0), , 2, f02e, 1023}
+ Store(Refof(f02e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ Offset(0), , 2, f02f, 1983}
+ Store(Refof(f02f), Local3)
+ }
+ default {
+ err(arg0, z143, 106, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (3) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 3, f030, 1}
+ Store(Refof(f030), Local3)
+ }
+ case (6) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 3, f031, 6}
+ Store(Refof(f031), Local3)
+ }
+ case (7) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 3, f032, 7}
+ Store(Refof(f032), Local3)
+ }
+ case (8) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 3, f033, 8}
+ Store(Refof(f033), Local3)
+ }
+ case (9) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 3, f034, 9}
+ Store(Refof(f034), Local3)
+ }
+ case (31) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 3, f035, 31}
+ Store(Refof(f035), Local3)
+ }
+ case (32) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 3, f036, 32}
+ Store(Refof(f036), Local3)
+ }
+ case (33) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 3, f037, 33}
+ Store(Refof(f037), Local3)
+ }
+ case (63) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 3, f038, 63}
+ Store(Refof(f038), Local3)
+ }
+ case (64) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 3, f039, 64}
+ Store(Refof(f039), Local3)
+ }
+ case (65) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 3, f03a, 65}
+ Store(Refof(f03a), Local3)
+ }
+ case (69) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 3, f03b, 69}
+ Store(Refof(f03b), Local3)
+ }
+ case (129) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 3, f03c, 129}
+ Store(Refof(f03c), Local3)
+ }
+ case (256) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 3, f03d, 256}
+ Store(Refof(f03d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 3, f03e, 1023}
+ Store(Refof(f03e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 3, f03f, 1983}
+ Store(Refof(f03f), Local3)
+ }
+ default {
+ err(arg0, z143, 107, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (4) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 4, f040, 1}
+ Store(Refof(f040), Local3)
+ }
+ case (6) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 4, f041, 6}
+ Store(Refof(f041), Local3)
+ }
+ case (7) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 4, f042, 7}
+ Store(Refof(f042), Local3)
+ }
+ case (8) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 4, f043, 8}
+ Store(Refof(f043), Local3)
+ }
+ case (9) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 4, f044, 9}
+ Store(Refof(f044), Local3)
+ }
+ case (31) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 4, f045, 31}
+ Store(Refof(f045), Local3)
+ }
+ case (32) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 4, f046, 32}
+ Store(Refof(f046), Local3)
+ }
+ case (33) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 4, f047, 33}
+ Store(Refof(f047), Local3)
+ }
+ case (63) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 4, f048, 63}
+ Store(Refof(f048), Local3)
+ }
+ case (64) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 4, f049, 64}
+ Store(Refof(f049), Local3)
+ }
+ case (65) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 4, f04a, 65}
+ Store(Refof(f04a), Local3)
+ }
+ case (69) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 4, f04b, 69}
+ Store(Refof(f04b), Local3)
+ }
+ case (129) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 4, f04c, 129}
+ Store(Refof(f04c), Local3)
+ }
+ case (256) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 4, f04d, 256}
+ Store(Refof(f04d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 4, f04e, 1023}
+ Store(Refof(f04e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 4, f04f, 1983}
+ Store(Refof(f04f), Local3)
+ }
+ default {
+ err(arg0, z143, 108, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (5) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 5, f050, 1}
+ Store(Refof(f050), Local3)
+ }
+ case (6) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 5, f051, 6}
+ Store(Refof(f051), Local3)
+ }
+ case (7) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 5, f052, 7}
+ Store(Refof(f052), Local3)
+ }
+ case (8) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 5, f053, 8}
+ Store(Refof(f053), Local3)
+ }
+ case (9) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 5, f054, 9}
+ Store(Refof(f054), Local3)
+ }
+ case (31) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 5, f055, 31}
+ Store(Refof(f055), Local3)
+ }
+ case (32) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 5, f056, 32}
+ Store(Refof(f056), Local3)
+ }
+ case (33) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 5, f057, 33}
+ Store(Refof(f057), Local3)
+ }
+ case (63) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 5, f058, 63}
+ Store(Refof(f058), Local3)
+ }
+ case (64) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 5, f059, 64}
+ Store(Refof(f059), Local3)
+ }
+ case (65) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 5, f05a, 65}
+ Store(Refof(f05a), Local3)
+ }
+ case (69) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 5, f05b, 69}
+ Store(Refof(f05b), Local3)
+ }
+ case (129) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 5, f05c, 129}
+ Store(Refof(f05c), Local3)
+ }
+ case (256) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 5, f05d, 256}
+ Store(Refof(f05d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 5, f05e, 1023}
+ Store(Refof(f05e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 5, f05f, 1983}
+ Store(Refof(f05f), Local3)
+ }
+ default {
+ err(arg0, z143, 109, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (6) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 6, f060, 1}
+ Store(Refof(f060), Local3)
+ }
+ case (6) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 6, f061, 6}
+ Store(Refof(f061), Local3)
+ }
+ case (7) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 6, f062, 7}
+ Store(Refof(f062), Local3)
+ }
+ case (8) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 6, f063, 8}
+ Store(Refof(f063), Local3)
+ }
+ case (9) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 6, f064, 9}
+ Store(Refof(f064), Local3)
+ }
+ case (31) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 6, f065, 31}
+ Store(Refof(f065), Local3)
+ }
+ case (32) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 6, f066, 32}
+ Store(Refof(f066), Local3)
+ }
+ case (33) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 6, f067, 33}
+ Store(Refof(f067), Local3)
+ }
+ case (63) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 6, f068, 63}
+ Store(Refof(f068), Local3)
+ }
+ case (64) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 6, f069, 64}
+ Store(Refof(f069), Local3)
+ }
+ case (65) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 6, f06a, 65}
+ Store(Refof(f06a), Local3)
+ }
+ case (69) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 6, f06b, 69}
+ Store(Refof(f06b), Local3)
+ }
+ case (129) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 6, f06c, 129}
+ Store(Refof(f06c), Local3)
+ }
+ case (256) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 6, f06d, 256}
+ Store(Refof(f06d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 6, f06e, 1023}
+ Store(Refof(f06e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 6, f06f, 1983}
+ Store(Refof(f06f), Local3)
+ }
+ default {
+ err(arg0, z143, 110, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (7) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 7, f070, 1}
+ Store(Refof(f070), Local3)
+ }
+ case (6) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 7, f071, 6}
+ Store(Refof(f071), Local3)
+ }
+ case (7) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 7, f072, 7}
+ Store(Refof(f072), Local3)
+ }
+ case (8) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 7, f073, 8}
+ Store(Refof(f073), Local3)
+ }
+ case (9) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 7, f074, 9}
+ Store(Refof(f074), Local3)
+ }
+ case (31) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 7, f075, 31}
+ Store(Refof(f075), Local3)
+ }
+ case (32) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 7, f076, 32}
+ Store(Refof(f076), Local3)
+ }
+ case (33) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 7, f077, 33}
+ Store(Refof(f077), Local3)
+ }
+ case (63) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 7, f078, 63}
+ Store(Refof(f078), Local3)
+ }
+ case (64) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 7, f079, 64}
+ Store(Refof(f079), Local3)
+ }
+ case (65) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 7, f07a, 65}
+ Store(Refof(f07a), Local3)
+ }
+ case (69) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 7, f07b, 69}
+ Store(Refof(f07b), Local3)
+ }
+ case (129) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 7, f07c, 129}
+ Store(Refof(f07c), Local3)
+ }
+ case (256) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 7, f07d, 256}
+ Store(Refof(f07d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 7, f07e, 1023}
+ Store(Refof(f07e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 7, f07f, 1983}
+ Store(Refof(f07f), Local3)
+ }
+ default {
+ err(arg0, z143, 111, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (8) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ Offset(1), f080, 1}
+ Store(Refof(f080), Local3)
+ }
+ case (6) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ Offset(1), f081, 6}
+ Store(Refof(f081), Local3)
+ }
+ case (7) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ Offset(1), f082, 7}
+ Store(Refof(f082), Local3)
+ }
+ case (8) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ Offset(1), f083, 8}
+ Store(Refof(f083), Local3)
+ }
+ case (9) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ Offset(1), f084, 9}
+ Store(Refof(f084), Local3)
+ }
+ case (31) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ Offset(1), f085, 31}
+ Store(Refof(f085), Local3)
+ }
+ case (32) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ Offset(1), f086, 32}
+ Store(Refof(f086), Local3)
+ }
+ case (33) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ Offset(1), f087, 33}
+ Store(Refof(f087), Local3)
+ }
+ case (63) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ Offset(1), f088, 63}
+ Store(Refof(f088), Local3)
+ }
+ case (64) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ Offset(1), f089, 64}
+ Store(Refof(f089), Local3)
+ }
+ case (65) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ Offset(1), f08a, 65}
+ Store(Refof(f08a), Local3)
+ }
+ case (69) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ Offset(1), f08b, 69}
+ Store(Refof(f08b), Local3)
+ }
+ case (129) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ Offset(1), f08c, 129}
+ Store(Refof(f08c), Local3)
+ }
+ case (256) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ Offset(1), f08d, 256}
+ Store(Refof(f08d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ Offset(1), f08e, 1023}
+ Store(Refof(f08e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ Offset(1), f08f, 1983}
+ Store(Refof(f08f), Local3)
+ }
+ default {
+ err(arg0, z143, 112, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (9) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 9, f090, 1}
+ Store(Refof(f090), Local3)
+ }
+ case (6) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 9, f091, 6}
+ Store(Refof(f091), Local3)
+ }
+ case (7) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 9, f092, 7}
+ Store(Refof(f092), Local3)
+ }
+ case (8) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 9, f093, 8}
+ Store(Refof(f093), Local3)
+ }
+ case (9) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 9, f094, 9}
+ Store(Refof(f094), Local3)
+ }
+ case (31) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 9, f095, 31}
+ Store(Refof(f095), Local3)
+ }
+ case (32) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 9, f096, 32}
+ Store(Refof(f096), Local3)
+ }
+ case (33) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 9, f097, 33}
+ Store(Refof(f097), Local3)
+ }
+ case (63) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 9, f098, 63}
+ Store(Refof(f098), Local3)
+ }
+ case (64) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 9, f099, 64}
+ Store(Refof(f099), Local3)
+ }
+ case (65) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 9, f09a, 65}
+ Store(Refof(f09a), Local3)
+ }
+ case (69) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 9, f09b, 69}
+ Store(Refof(f09b), Local3)
+ }
+ case (129) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 9, f09c, 129}
+ Store(Refof(f09c), Local3)
+ }
+ case (256) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 9, f09d, 256}
+ Store(Refof(f09d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 9, f09e, 1023}
+ Store(Refof(f09e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 9, f09f, 1983}
+ Store(Refof(f09f), Local3)
+ }
+ default {
+ err(arg0, z143, 113, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (31) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ Offset(3), , 7, f0a0, 1}
+ Store(Refof(f0a0), Local3)
+ }
+ case (6) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ Offset(3), , 7, f0a1, 6}
+ Store(Refof(f0a1), Local3)
+ }
+ case (7) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ Offset(3), , 7, f0a2, 7}
+ Store(Refof(f0a2), Local3)
+ }
+ case (8) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ Offset(3), , 7, f0a3, 8}
+ Store(Refof(f0a3), Local3)
+ }
+ case (9) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ Offset(3), , 7, f0a4, 9}
+ Store(Refof(f0a4), Local3)
+ }
+ case (31) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ Offset(3), , 7, f0a5, 31}
+ Store(Refof(f0a5), Local3)
+ }
+ case (32) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ Offset(3), , 7, f0a6, 32}
+ Store(Refof(f0a6), Local3)
+ }
+ case (33) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ Offset(3), , 7, f0a7, 33}
+ Store(Refof(f0a7), Local3)
+ }
+ case (63) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ Offset(3), , 7, f0a8, 63}
+ Store(Refof(f0a8), Local3)
+ }
+ case (64) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ Offset(3), , 7, f0a9, 64}
+ Store(Refof(f0a9), Local3)
+ }
+ case (65) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ Offset(3), , 7, f0aa, 65}
+ Store(Refof(f0aa), Local3)
+ }
+ case (69) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ Offset(3), , 7, f0ab, 69}
+ Store(Refof(f0ab), Local3)
+ }
+ case (129) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ Offset(3), , 7, f0ac, 129}
+ Store(Refof(f0ac), Local3)
+ }
+ case (256) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ Offset(3), , 7, f0ad, 256}
+ Store(Refof(f0ad), Local3)
+ }
+ case (1023) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ Offset(3), , 7, f0ae, 1023}
+ Store(Refof(f0ae), Local3)
+ }
+ case (1983) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ Offset(3), , 7, f0af, 1983}
+ Store(Refof(f0af), Local3)
+ }
+ default {
+ err(arg0, z143, 114, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (32) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 32, f0b0, 1}
+ Store(Refof(f0b0), Local3)
+ }
+ case (6) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 32, f0b1, 6}
+ Store(Refof(f0b1), Local3)
+ }
+ case (7) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 32, f0b2, 7}
+ Store(Refof(f0b2), Local3)
+ }
+ case (8) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 32, f0b3, 8}
+ Store(Refof(f0b3), Local3)
+ }
+ case (9) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 32, f0b4, 9}
+ Store(Refof(f0b4), Local3)
+ }
+ case (31) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 32, f0b5, 31}
+ Store(Refof(f0b5), Local3)
+ }
+ case (32) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 32, f0b6, 32}
+ Store(Refof(f0b6), Local3)
+ }
+ case (33) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 32, f0b7, 33}
+ Store(Refof(f0b7), Local3)
+ }
+ case (63) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 32, f0b8, 63}
+ Store(Refof(f0b8), Local3)
+ }
+ case (64) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 32, f0b9, 64}
+ Store(Refof(f0b9), Local3)
+ }
+ case (65) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 32, f0ba, 65}
+ Store(Refof(f0ba), Local3)
+ }
+ case (69) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 32, f0bb, 69}
+ Store(Refof(f0bb), Local3)
+ }
+ case (129) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 32, f0bc, 129}
+ Store(Refof(f0bc), Local3)
+ }
+ case (256) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 32, f0bd, 256}
+ Store(Refof(f0bd), Local3)
+ }
+ case (1023) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 32, f0be, 1023}
+ Store(Refof(f0be), Local3)
+ }
+ case (1983) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 32, f0bf, 1983}
+ Store(Refof(f0bf), Local3)
+ }
+ default {
+ err(arg0, z143, 115, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (33) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 33, f0c0, 1}
+ Store(Refof(f0c0), Local3)
+ }
+ case (6) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 33, f0c1, 6}
+ Store(Refof(f0c1), Local3)
+ }
+ case (7) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 33, f0c2, 7}
+ Store(Refof(f0c2), Local3)
+ }
+ case (8) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 33, f0c3, 8}
+ Store(Refof(f0c3), Local3)
+ }
+ case (9) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 33, f0c4, 9}
+ Store(Refof(f0c4), Local3)
+ }
+ case (31) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 33, f0c5, 31}
+ Store(Refof(f0c5), Local3)
+ }
+ case (32) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 33, f0c6, 32}
+ Store(Refof(f0c6), Local3)
+ }
+ case (33) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 33, f0c7, 33}
+ Store(Refof(f0c7), Local3)
+ }
+ case (63) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 33, f0c8, 63}
+ Store(Refof(f0c8), Local3)
+ }
+ case (64) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 33, f0c9, 64}
+ Store(Refof(f0c9), Local3)
+ }
+ case (65) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 33, f0ca, 65}
+ Store(Refof(f0ca), Local3)
+ }
+ case (69) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 33, f0cb, 69}
+ Store(Refof(f0cb), Local3)
+ }
+ case (129) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 33, f0cc, 129}
+ Store(Refof(f0cc), Local3)
+ }
+ case (256) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 33, f0cd, 256}
+ Store(Refof(f0cd), Local3)
+ }
+ case (1023) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 33, f0ce, 1023}
+ Store(Refof(f0ce), Local3)
+ }
+ case (1983) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 33, f0cf, 1983}
+ Store(Refof(f0cf), Local3)
+ }
+ default {
+ err(arg0, z143, 116, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (63) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 63, f0d0, 1}
+ Store(Refof(f0d0), Local3)
+ }
+ case (6) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 63, f0d1, 6}
+ Store(Refof(f0d1), Local3)
+ }
+ case (7) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 63, f0d2, 7}
+ Store(Refof(f0d2), Local3)
+ }
+ case (8) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 63, f0d3, 8}
+ Store(Refof(f0d3), Local3)
+ }
+ case (9) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 63, f0d4, 9}
+ Store(Refof(f0d4), Local3)
+ }
+ case (31) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 63, f0d5, 31}
+ Store(Refof(f0d5), Local3)
+ }
+ case (32) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 63, f0d6, 32}
+ Store(Refof(f0d6), Local3)
+ }
+ case (33) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 63, f0d7, 33}
+ Store(Refof(f0d7), Local3)
+ }
+ case (63) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 63, f0d8, 63}
+ Store(Refof(f0d8), Local3)
+ }
+ case (64) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 63, f0d9, 64}
+ Store(Refof(f0d9), Local3)
+ }
+ case (65) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 63, f0da, 65}
+ Store(Refof(f0da), Local3)
+ }
+ case (69) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 63, f0db, 69}
+ Store(Refof(f0db), Local3)
+ }
+ case (129) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 63, f0dc, 129}
+ Store(Refof(f0dc), Local3)
+ }
+ case (256) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 63, f0dd, 256}
+ Store(Refof(f0dd), Local3)
+ }
+ case (1023) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 63, f0de, 1023}
+ Store(Refof(f0de), Local3)
+ }
+ case (1983) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 63, f0df, 1983}
+ Store(Refof(f0df), Local3)
+ }
+ default {
+ err(arg0, z143, 117, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (64) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 64, f0e0, 1}
+ Store(Refof(f0e0), Local3)
+ }
+ case (6) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 64, f0e1, 6}
+ Store(Refof(f0e1), Local3)
+ }
+ case (7) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 64, f0e2, 7}
+ Store(Refof(f0e2), Local3)
+ }
+ case (8) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 64, f0e3, 8}
+ Store(Refof(f0e3), Local3)
+ }
+ case (9) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 64, f0e4, 9}
+ Store(Refof(f0e4), Local3)
+ }
+ case (31) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 64, f0e5, 31}
+ Store(Refof(f0e5), Local3)
+ }
+ case (32) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 64, f0e6, 32}
+ Store(Refof(f0e6), Local3)
+ }
+ case (33) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 64, f0e7, 33}
+ Store(Refof(f0e7), Local3)
+ }
+ case (63) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 64, f0e8, 63}
+ Store(Refof(f0e8), Local3)
+ }
+ case (64) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 64, f0e9, 64}
+ Store(Refof(f0e9), Local3)
+ }
+ case (65) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 64, f0ea, 65}
+ Store(Refof(f0ea), Local3)
+ }
+ case (69) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 64, f0eb, 69}
+ Store(Refof(f0eb), Local3)
+ }
+ case (129) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 64, f0ec, 129}
+ Store(Refof(f0ec), Local3)
+ }
+ case (256) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 64, f0ed, 256}
+ Store(Refof(f0ed), Local3)
+ }
+ case (1023) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 64, f0ee, 1023}
+ Store(Refof(f0ee), Local3)
+ }
+ case (1983) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 64, f0ef, 1983}
+ Store(Refof(f0ef), Local3)
+ }
+ default {
+ err(arg0, z143, 118, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (65) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ Offset(8), , 1, f0f0, 1}
+ Store(Refof(f0f0), Local3)
+ }
+ case (6) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ Offset(8), , 1, f0f1, 6}
+ Store(Refof(f0f1), Local3)
+ }
+ case (7) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ Offset(8), , 1, f0f2, 7}
+ Store(Refof(f0f2), Local3)
+ }
+ case (8) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ Offset(8), , 1, f0f3, 8}
+ Store(Refof(f0f3), Local3)
+ }
+ case (9) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ Offset(8), , 1, f0f4, 9}
+ Store(Refof(f0f4), Local3)
+ }
+ case (31) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ Offset(8), , 1, f0f5, 31}
+ Store(Refof(f0f5), Local3)
+ }
+ case (32) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ Offset(8), , 1, f0f6, 32}
+ Store(Refof(f0f6), Local3)
+ }
+ case (33) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ Offset(8), , 1, f0f7, 33}
+ Store(Refof(f0f7), Local3)
+ }
+ case (63) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ Offset(8), , 1, f0f8, 63}
+ Store(Refof(f0f8), Local3)
+ }
+ case (64) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ Offset(8), , 1, f0f9, 64}
+ Store(Refof(f0f9), Local3)
+ }
+ case (65) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ Offset(8), , 1, f0fa, 65}
+ Store(Refof(f0fa), Local3)
+ }
+ case (69) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ Offset(8), , 1, f0fb, 69}
+ Store(Refof(f0fb), Local3)
+ }
+ case (129) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ Offset(8), , 1, f0fc, 129}
+ Store(Refof(f0fc), Local3)
+ }
+ case (256) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ Offset(8), , 1, f0fd, 256}
+ Store(Refof(f0fd), Local3)
+ }
+ case (1023) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ Offset(8), , 1, f0fe, 1023}
+ Store(Refof(f0fe), Local3)
+ }
+ case (1983) {
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ Offset(8), , 1, f0ff, 1983}
+ Store(Refof(f0ff), Local3)
+ }
+ default {
+ err(arg0, z143, 119, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ default {
+ err(arg0, z143, 120, 0, 0, arg2, arg3)
+ return}
+ }
+
+ m72d(arg0, Local3, arg2, arg3, arg4, arg5, Refof(g001))
+}
+
+// Create Region Field Unit
+// (WordAcc, NoLock, Preserve)
+Method(m733, 6)
+{
+ OperationRegion(OPR0, SystemMemory, 0, RS00)
+
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ g001, 2048,
+ }
+
+ Concatenate(arg0, "-m733", arg0)
+
+ switch(arg2) {
+ case (0) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 0, f000, 1}
+ Store(Refof(f000), Local3)
+ }
+ case (6) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 0, f001, 6}
+ Store(Refof(f001), Local3)
+ }
+ case (7) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 0, f002, 7}
+ Store(Refof(f002), Local3)
+ }
+ case (8) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 0, f003, 8}
+ Store(Refof(f003), Local3)
+ }
+ case (9) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 0, f004, 9}
+ Store(Refof(f004), Local3)
+ }
+ case (31) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 0, f005, 31}
+ Store(Refof(f005), Local3)
+ }
+ case (32) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 0, f006, 32}
+ Store(Refof(f006), Local3)
+ }
+ case (33) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 0, f007, 33}
+ Store(Refof(f007), Local3)
+ }
+ case (63) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 0, f008, 63}
+ Store(Refof(f008), Local3)
+ }
+ case (64) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 0, f009, 64}
+ Store(Refof(f009), Local3)
+ }
+ case (65) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 0, f00a, 65}
+ Store(Refof(f00a), Local3)
+ }
+ case (69) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 0, f00b, 69}
+ Store(Refof(f00b), Local3)
+ }
+ case (129) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 0, f00c, 129}
+ Store(Refof(f00c), Local3)
+ }
+ case (256) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 0, f00d, 256}
+ Store(Refof(f00d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 0, f00e, 1023}
+ Store(Refof(f00e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 0, f00f, 1983}
+ Store(Refof(f00f), Local3)
+ }
+ default {
+ err(arg0, z143, 121, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (1) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 1, f010, 1}
+ Store(Refof(f010), Local3)
+ }
+ case (6) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 1, f011, 6}
+ Store(Refof(f011), Local3)
+ }
+ case (7) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 1, f012, 7}
+ Store(Refof(f012), Local3)
+ }
+ case (8) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 1, f013, 8}
+ Store(Refof(f013), Local3)
+ }
+ case (9) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 1, f014, 9}
+ Store(Refof(f014), Local3)
+ }
+ case (31) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 1, f015, 31}
+ Store(Refof(f015), Local3)
+ }
+ case (32) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 1, f016, 32}
+ Store(Refof(f016), Local3)
+ }
+ case (33) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 1, f017, 33}
+ Store(Refof(f017), Local3)
+ }
+ case (63) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 1, f018, 63}
+ Store(Refof(f018), Local3)
+ }
+ case (64) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 1, f019, 64}
+ Store(Refof(f019), Local3)
+ }
+ case (65) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 1, f01a, 65}
+ Store(Refof(f01a), Local3)
+ }
+ case (69) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 1, f01b, 69}
+ Store(Refof(f01b), Local3)
+ }
+ case (129) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 1, f01c, 129}
+ Store(Refof(f01c), Local3)
+ }
+ case (256) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 1, f01d, 256}
+ Store(Refof(f01d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 1, f01e, 1023}
+ Store(Refof(f01e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 1, f01f, 1983}
+ Store(Refof(f01f), Local3)
+ }
+ default {
+ err(arg0, z143, 122, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (2) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ Offset(0), , 2, f020, 1}
+ Store(Refof(f020), Local3)
+ }
+ case (6) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ Offset(0), , 2, f021, 6}
+ Store(Refof(f021), Local3)
+ }
+ case (7) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ Offset(0), , 2, f022, 7}
+ Store(Refof(f022), Local3)
+ }
+ case (8) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ Offset(0), , 2, f023, 8}
+ Store(Refof(f023), Local3)
+ }
+ case (9) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ Offset(0), , 2, f024, 9}
+ Store(Refof(f024), Local3)
+ }
+ case (31) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ Offset(0), , 2, f025, 31}
+ Store(Refof(f025), Local3)
+ }
+ case (32) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ Offset(0), , 2, f026, 32}
+ Store(Refof(f026), Local3)
+ }
+ case (33) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ Offset(0), , 2, f027, 33}
+ Store(Refof(f027), Local3)
+ }
+ case (63) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ Offset(0), , 2, f028, 63}
+ Store(Refof(f028), Local3)
+ }
+ case (64) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ Offset(0), , 2, f029, 64}
+ Store(Refof(f029), Local3)
+ }
+ case (65) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ Offset(0), , 2, f02a, 65}
+ Store(Refof(f02a), Local3)
+ }
+ case (69) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ Offset(0), , 2, f02b, 69}
+ Store(Refof(f02b), Local3)
+ }
+ case (129) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ Offset(0), , 2, f02c, 129}
+ Store(Refof(f02c), Local3)
+ }
+ case (256) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ Offset(0), , 2, f02d, 256}
+ Store(Refof(f02d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ Offset(0), , 2, f02e, 1023}
+ Store(Refof(f02e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ Offset(0), , 2, f02f, 1983}
+ Store(Refof(f02f), Local3)
+ }
+ default {
+ err(arg0, z143, 123, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (3) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 3, f030, 1}
+ Store(Refof(f030), Local3)
+ }
+ case (6) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 3, f031, 6}
+ Store(Refof(f031), Local3)
+ }
+ case (7) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 3, f032, 7}
+ Store(Refof(f032), Local3)
+ }
+ case (8) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 3, f033, 8}
+ Store(Refof(f033), Local3)
+ }
+ case (9) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 3, f034, 9}
+ Store(Refof(f034), Local3)
+ }
+ case (31) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 3, f035, 31}
+ Store(Refof(f035), Local3)
+ }
+ case (32) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 3, f036, 32}
+ Store(Refof(f036), Local3)
+ }
+ case (33) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 3, f037, 33}
+ Store(Refof(f037), Local3)
+ }
+ case (63) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 3, f038, 63}
+ Store(Refof(f038), Local3)
+ }
+ case (64) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 3, f039, 64}
+ Store(Refof(f039), Local3)
+ }
+ case (65) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 3, f03a, 65}
+ Store(Refof(f03a), Local3)
+ }
+ case (69) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 3, f03b, 69}
+ Store(Refof(f03b), Local3)
+ }
+ case (129) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 3, f03c, 129}
+ Store(Refof(f03c), Local3)
+ }
+ case (256) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 3, f03d, 256}
+ Store(Refof(f03d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 3, f03e, 1023}
+ Store(Refof(f03e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 3, f03f, 1983}
+ Store(Refof(f03f), Local3)
+ }
+ default {
+ err(arg0, z143, 124, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (4) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 4, f040, 1}
+ Store(Refof(f040), Local3)
+ }
+ case (6) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 4, f041, 6}
+ Store(Refof(f041), Local3)
+ }
+ case (7) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 4, f042, 7}
+ Store(Refof(f042), Local3)
+ }
+ case (8) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 4, f043, 8}
+ Store(Refof(f043), Local3)
+ }
+ case (9) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 4, f044, 9}
+ Store(Refof(f044), Local3)
+ }
+ case (31) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 4, f045, 31}
+ Store(Refof(f045), Local3)
+ }
+ case (32) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 4, f046, 32}
+ Store(Refof(f046), Local3)
+ }
+ case (33) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 4, f047, 33}
+ Store(Refof(f047), Local3)
+ }
+ case (63) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 4, f048, 63}
+ Store(Refof(f048), Local3)
+ }
+ case (64) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 4, f049, 64}
+ Store(Refof(f049), Local3)
+ }
+ case (65) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 4, f04a, 65}
+ Store(Refof(f04a), Local3)
+ }
+ case (69) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 4, f04b, 69}
+ Store(Refof(f04b), Local3)
+ }
+ case (129) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 4, f04c, 129}
+ Store(Refof(f04c), Local3)
+ }
+ case (256) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 4, f04d, 256}
+ Store(Refof(f04d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 4, f04e, 1023}
+ Store(Refof(f04e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 4, f04f, 1983}
+ Store(Refof(f04f), Local3)
+ }
+ default {
+ err(arg0, z143, 125, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (5) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 5, f050, 1}
+ Store(Refof(f050), Local3)
+ }
+ case (6) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 5, f051, 6}
+ Store(Refof(f051), Local3)
+ }
+ case (7) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 5, f052, 7}
+ Store(Refof(f052), Local3)
+ }
+ case (8) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 5, f053, 8}
+ Store(Refof(f053), Local3)
+ }
+ case (9) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 5, f054, 9}
+ Store(Refof(f054), Local3)
+ }
+ case (31) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 5, f055, 31}
+ Store(Refof(f055), Local3)
+ }
+ case (32) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 5, f056, 32}
+ Store(Refof(f056), Local3)
+ }
+ case (33) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 5, f057, 33}
+ Store(Refof(f057), Local3)
+ }
+ case (63) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 5, f058, 63}
+ Store(Refof(f058), Local3)
+ }
+ case (64) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 5, f059, 64}
+ Store(Refof(f059), Local3)
+ }
+ case (65) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 5, f05a, 65}
+ Store(Refof(f05a), Local3)
+ }
+ case (69) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 5, f05b, 69}
+ Store(Refof(f05b), Local3)
+ }
+ case (129) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 5, f05c, 129}
+ Store(Refof(f05c), Local3)
+ }
+ case (256) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 5, f05d, 256}
+ Store(Refof(f05d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 5, f05e, 1023}
+ Store(Refof(f05e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 5, f05f, 1983}
+ Store(Refof(f05f), Local3)
+ }
+ default {
+ err(arg0, z143, 126, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (6) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 6, f060, 1}
+ Store(Refof(f060), Local3)
+ }
+ case (6) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 6, f061, 6}
+ Store(Refof(f061), Local3)
+ }
+ case (7) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 6, f062, 7}
+ Store(Refof(f062), Local3)
+ }
+ case (8) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 6, f063, 8}
+ Store(Refof(f063), Local3)
+ }
+ case (9) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 6, f064, 9}
+ Store(Refof(f064), Local3)
+ }
+ case (31) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 6, f065, 31}
+ Store(Refof(f065), Local3)
+ }
+ case (32) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 6, f066, 32}
+ Store(Refof(f066), Local3)
+ }
+ case (33) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 6, f067, 33}
+ Store(Refof(f067), Local3)
+ }
+ case (63) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 6, f068, 63}
+ Store(Refof(f068), Local3)
+ }
+ case (64) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 6, f069, 64}
+ Store(Refof(f069), Local3)
+ }
+ case (65) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 6, f06a, 65}
+ Store(Refof(f06a), Local3)
+ }
+ case (69) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 6, f06b, 69}
+ Store(Refof(f06b), Local3)
+ }
+ case (129) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 6, f06c, 129}
+ Store(Refof(f06c), Local3)
+ }
+ case (256) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 6, f06d, 256}
+ Store(Refof(f06d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 6, f06e, 1023}
+ Store(Refof(f06e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 6, f06f, 1983}
+ Store(Refof(f06f), Local3)
+ }
+ default {
+ err(arg0, z143, 127, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (7) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 7, f070, 1}
+ Store(Refof(f070), Local3)
+ }
+ case (6) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 7, f071, 6}
+ Store(Refof(f071), Local3)
+ }
+ case (7) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 7, f072, 7}
+ Store(Refof(f072), Local3)
+ }
+ case (8) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 7, f073, 8}
+ Store(Refof(f073), Local3)
+ }
+ case (9) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 7, f074, 9}
+ Store(Refof(f074), Local3)
+ }
+ case (31) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 7, f075, 31}
+ Store(Refof(f075), Local3)
+ }
+ case (32) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 7, f076, 32}
+ Store(Refof(f076), Local3)
+ }
+ case (33) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 7, f077, 33}
+ Store(Refof(f077), Local3)
+ }
+ case (63) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 7, f078, 63}
+ Store(Refof(f078), Local3)
+ }
+ case (64) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 7, f079, 64}
+ Store(Refof(f079), Local3)
+ }
+ case (65) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 7, f07a, 65}
+ Store(Refof(f07a), Local3)
+ }
+ case (69) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 7, f07b, 69}
+ Store(Refof(f07b), Local3)
+ }
+ case (129) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 7, f07c, 129}
+ Store(Refof(f07c), Local3)
+ }
+ case (256) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 7, f07d, 256}
+ Store(Refof(f07d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 7, f07e, 1023}
+ Store(Refof(f07e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 7, f07f, 1983}
+ Store(Refof(f07f), Local3)
+ }
+ default {
+ err(arg0, z143, 128, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (8) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ Offset(1), f080, 1}
+ Store(Refof(f080), Local3)
+ }
+ case (6) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ Offset(1), f081, 6}
+ Store(Refof(f081), Local3)
+ }
+ case (7) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ Offset(1), f082, 7}
+ Store(Refof(f082), Local3)
+ }
+ case (8) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ Offset(1), f083, 8}
+ Store(Refof(f083), Local3)
+ }
+ case (9) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ Offset(1), f084, 9}
+ Store(Refof(f084), Local3)
+ }
+ case (31) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ Offset(1), f085, 31}
+ Store(Refof(f085), Local3)
+ }
+ case (32) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ Offset(1), f086, 32}
+ Store(Refof(f086), Local3)
+ }
+ case (33) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ Offset(1), f087, 33}
+ Store(Refof(f087), Local3)
+ }
+ case (63) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ Offset(1), f088, 63}
+ Store(Refof(f088), Local3)
+ }
+ case (64) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ Offset(1), f089, 64}
+ Store(Refof(f089), Local3)
+ }
+ case (65) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ Offset(1), f08a, 65}
+ Store(Refof(f08a), Local3)
+ }
+ case (69) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ Offset(1), f08b, 69}
+ Store(Refof(f08b), Local3)
+ }
+ case (129) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ Offset(1), f08c, 129}
+ Store(Refof(f08c), Local3)
+ }
+ case (256) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ Offset(1), f08d, 256}
+ Store(Refof(f08d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ Offset(1), f08e, 1023}
+ Store(Refof(f08e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ Offset(1), f08f, 1983}
+ Store(Refof(f08f), Local3)
+ }
+ default {
+ err(arg0, z143, 129, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (9) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 9, f090, 1}
+ Store(Refof(f090), Local3)
+ }
+ case (6) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 9, f091, 6}
+ Store(Refof(f091), Local3)
+ }
+ case (7) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 9, f092, 7}
+ Store(Refof(f092), Local3)
+ }
+ case (8) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 9, f093, 8}
+ Store(Refof(f093), Local3)
+ }
+ case (9) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 9, f094, 9}
+ Store(Refof(f094), Local3)
+ }
+ case (31) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 9, f095, 31}
+ Store(Refof(f095), Local3)
+ }
+ case (32) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 9, f096, 32}
+ Store(Refof(f096), Local3)
+ }
+ case (33) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 9, f097, 33}
+ Store(Refof(f097), Local3)
+ }
+ case (63) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 9, f098, 63}
+ Store(Refof(f098), Local3)
+ }
+ case (64) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 9, f099, 64}
+ Store(Refof(f099), Local3)
+ }
+ case (65) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 9, f09a, 65}
+ Store(Refof(f09a), Local3)
+ }
+ case (69) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 9, f09b, 69}
+ Store(Refof(f09b), Local3)
+ }
+ case (129) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 9, f09c, 129}
+ Store(Refof(f09c), Local3)
+ }
+ case (256) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 9, f09d, 256}
+ Store(Refof(f09d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 9, f09e, 1023}
+ Store(Refof(f09e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 9, f09f, 1983}
+ Store(Refof(f09f), Local3)
+ }
+ default {
+ err(arg0, z143, 130, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (31) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0a0, 1}
+ Store(Refof(f0a0), Local3)
+ }
+ case (6) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0a1, 6}
+ Store(Refof(f0a1), Local3)
+ }
+ case (7) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0a2, 7}
+ Store(Refof(f0a2), Local3)
+ }
+ case (8) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0a3, 8}
+ Store(Refof(f0a3), Local3)
+ }
+ case (9) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0a4, 9}
+ Store(Refof(f0a4), Local3)
+ }
+ case (31) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0a5, 31}
+ Store(Refof(f0a5), Local3)
+ }
+ case (32) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0a6, 32}
+ Store(Refof(f0a6), Local3)
+ }
+ case (33) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0a7, 33}
+ Store(Refof(f0a7), Local3)
+ }
+ case (63) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0a8, 63}
+ Store(Refof(f0a8), Local3)
+ }
+ case (64) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0a9, 64}
+ Store(Refof(f0a9), Local3)
+ }
+ case (65) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0aa, 65}
+ Store(Refof(f0aa), Local3)
+ }
+ case (69) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0ab, 69}
+ Store(Refof(f0ab), Local3)
+ }
+ case (129) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0ac, 129}
+ Store(Refof(f0ac), Local3)
+ }
+ case (256) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0ad, 256}
+ Store(Refof(f0ad), Local3)
+ }
+ case (1023) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0ae, 1023}
+ Store(Refof(f0ae), Local3)
+ }
+ case (1983) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0af, 1983}
+ Store(Refof(f0af), Local3)
+ }
+ default {
+ err(arg0, z143, 131, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (32) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 32, f0b0, 1}
+ Store(Refof(f0b0), Local3)
+ }
+ case (6) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 32, f0b1, 6}
+ Store(Refof(f0b1), Local3)
+ }
+ case (7) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 32, f0b2, 7}
+ Store(Refof(f0b2), Local3)
+ }
+ case (8) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 32, f0b3, 8}
+ Store(Refof(f0b3), Local3)
+ }
+ case (9) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 32, f0b4, 9}
+ Store(Refof(f0b4), Local3)
+ }
+ case (31) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 32, f0b5, 31}
+ Store(Refof(f0b5), Local3)
+ }
+ case (32) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 32, f0b6, 32}
+ Store(Refof(f0b6), Local3)
+ }
+ case (33) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 32, f0b7, 33}
+ Store(Refof(f0b7), Local3)
+ }
+ case (63) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 32, f0b8, 63}
+ Store(Refof(f0b8), Local3)
+ }
+ case (64) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 32, f0b9, 64}
+ Store(Refof(f0b9), Local3)
+ }
+ case (65) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 32, f0ba, 65}
+ Store(Refof(f0ba), Local3)
+ }
+ case (69) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 32, f0bb, 69}
+ Store(Refof(f0bb), Local3)
+ }
+ case (129) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 32, f0bc, 129}
+ Store(Refof(f0bc), Local3)
+ }
+ case (256) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 32, f0bd, 256}
+ Store(Refof(f0bd), Local3)
+ }
+ case (1023) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 32, f0be, 1023}
+ Store(Refof(f0be), Local3)
+ }
+ case (1983) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 32, f0bf, 1983}
+ Store(Refof(f0bf), Local3)
+ }
+ default {
+ err(arg0, z143, 132, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (33) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 33, f0c0, 1}
+ Store(Refof(f0c0), Local3)
+ }
+ case (6) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 33, f0c1, 6}
+ Store(Refof(f0c1), Local3)
+ }
+ case (7) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 33, f0c2, 7}
+ Store(Refof(f0c2), Local3)
+ }
+ case (8) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 33, f0c3, 8}
+ Store(Refof(f0c3), Local3)
+ }
+ case (9) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 33, f0c4, 9}
+ Store(Refof(f0c4), Local3)
+ }
+ case (31) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 33, f0c5, 31}
+ Store(Refof(f0c5), Local3)
+ }
+ case (32) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 33, f0c6, 32}
+ Store(Refof(f0c6), Local3)
+ }
+ case (33) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 33, f0c7, 33}
+ Store(Refof(f0c7), Local3)
+ }
+ case (63) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 33, f0c8, 63}
+ Store(Refof(f0c8), Local3)
+ }
+ case (64) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 33, f0c9, 64}
+ Store(Refof(f0c9), Local3)
+ }
+ case (65) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 33, f0ca, 65}
+ Store(Refof(f0ca), Local3)
+ }
+ case (69) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 33, f0cb, 69}
+ Store(Refof(f0cb), Local3)
+ }
+ case (129) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 33, f0cc, 129}
+ Store(Refof(f0cc), Local3)
+ }
+ case (256) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 33, f0cd, 256}
+ Store(Refof(f0cd), Local3)
+ }
+ case (1023) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 33, f0ce, 1023}
+ Store(Refof(f0ce), Local3)
+ }
+ case (1983) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 33, f0cf, 1983}
+ Store(Refof(f0cf), Local3)
+ }
+ default {
+ err(arg0, z143, 133, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (63) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 63, f0d0, 1}
+ Store(Refof(f0d0), Local3)
+ }
+ case (6) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 63, f0d1, 6}
+ Store(Refof(f0d1), Local3)
+ }
+ case (7) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 63, f0d2, 7}
+ Store(Refof(f0d2), Local3)
+ }
+ case (8) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 63, f0d3, 8}
+ Store(Refof(f0d3), Local3)
+ }
+ case (9) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 63, f0d4, 9}
+ Store(Refof(f0d4), Local3)
+ }
+ case (31) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 63, f0d5, 31}
+ Store(Refof(f0d5), Local3)
+ }
+ case (32) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 63, f0d6, 32}
+ Store(Refof(f0d6), Local3)
+ }
+ case (33) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 63, f0d7, 33}
+ Store(Refof(f0d7), Local3)
+ }
+ case (63) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 63, f0d8, 63}
+ Store(Refof(f0d8), Local3)
+ }
+ case (64) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 63, f0d9, 64}
+ Store(Refof(f0d9), Local3)
+ }
+ case (65) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 63, f0da, 65}
+ Store(Refof(f0da), Local3)
+ }
+ case (69) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 63, f0db, 69}
+ Store(Refof(f0db), Local3)
+ }
+ case (129) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 63, f0dc, 129}
+ Store(Refof(f0dc), Local3)
+ }
+ case (256) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 63, f0dd, 256}
+ Store(Refof(f0dd), Local3)
+ }
+ case (1023) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 63, f0de, 1023}
+ Store(Refof(f0de), Local3)
+ }
+ case (1983) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 63, f0df, 1983}
+ Store(Refof(f0df), Local3)
+ }
+ default {
+ err(arg0, z143, 134, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (64) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 64, f0e0, 1}
+ Store(Refof(f0e0), Local3)
+ }
+ case (6) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 64, f0e1, 6}
+ Store(Refof(f0e1), Local3)
+ }
+ case (7) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 64, f0e2, 7}
+ Store(Refof(f0e2), Local3)
+ }
+ case (8) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 64, f0e3, 8}
+ Store(Refof(f0e3), Local3)
+ }
+ case (9) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 64, f0e4, 9}
+ Store(Refof(f0e4), Local3)
+ }
+ case (31) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 64, f0e5, 31}
+ Store(Refof(f0e5), Local3)
+ }
+ case (32) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 64, f0e6, 32}
+ Store(Refof(f0e6), Local3)
+ }
+ case (33) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 64, f0e7, 33}
+ Store(Refof(f0e7), Local3)
+ }
+ case (63) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 64, f0e8, 63}
+ Store(Refof(f0e8), Local3)
+ }
+ case (64) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 64, f0e9, 64}
+ Store(Refof(f0e9), Local3)
+ }
+ case (65) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 64, f0ea, 65}
+ Store(Refof(f0ea), Local3)
+ }
+ case (69) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 64, f0eb, 69}
+ Store(Refof(f0eb), Local3)
+ }
+ case (129) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 64, f0ec, 129}
+ Store(Refof(f0ec), Local3)
+ }
+ case (256) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 64, f0ed, 256}
+ Store(Refof(f0ed), Local3)
+ }
+ case (1023) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 64, f0ee, 1023}
+ Store(Refof(f0ee), Local3)
+ }
+ case (1983) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ , 64, f0ef, 1983}
+ Store(Refof(f0ef), Local3)
+ }
+ default {
+ err(arg0, z143, 135, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (65) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0f0, 1}
+ Store(Refof(f0f0), Local3)
+ }
+ case (6) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0f1, 6}
+ Store(Refof(f0f1), Local3)
+ }
+ case (7) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0f2, 7}
+ Store(Refof(f0f2), Local3)
+ }
+ case (8) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0f3, 8}
+ Store(Refof(f0f3), Local3)
+ }
+ case (9) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0f4, 9}
+ Store(Refof(f0f4), Local3)
+ }
+ case (31) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0f5, 31}
+ Store(Refof(f0f5), Local3)
+ }
+ case (32) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0f6, 32}
+ Store(Refof(f0f6), Local3)
+ }
+ case (33) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0f7, 33}
+ Store(Refof(f0f7), Local3)
+ }
+ case (63) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0f8, 63}
+ Store(Refof(f0f8), Local3)
+ }
+ case (64) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0f9, 64}
+ Store(Refof(f0f9), Local3)
+ }
+ case (65) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0fa, 65}
+ Store(Refof(f0fa), Local3)
+ }
+ case (69) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0fb, 69}
+ Store(Refof(f0fb), Local3)
+ }
+ case (129) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0fc, 129}
+ Store(Refof(f0fc), Local3)
+ }
+ case (256) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0fd, 256}
+ Store(Refof(f0fd), Local3)
+ }
+ case (1023) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0fe, 1023}
+ Store(Refof(f0fe), Local3)
+ }
+ case (1983) {
+ Field(OPR0, WordAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0ff, 1983}
+ Store(Refof(f0ff), Local3)
+ }
+ default {
+ err(arg0, z143, 136, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ default {
+ err(arg0, z143, 137, 0, 0, arg2, arg3)
+ return}
+ }
+
+ m72d(arg0, Local3, arg2, arg3, arg4, arg5, Refof(g001))
+}
+
+// Create Region Field Unit
+// (WordAcc, NoLock, WriteAsOnes)
+Method(m734, 6)
+{
+ OperationRegion(OPR0, SystemMemory, 0, RS00)
+
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ g001, 2048,
+ }
+
+ Concatenate(arg0, "-m734", arg0)
+
+ switch(arg2) {
+ case (0) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 0, f000, 1}
+ Store(Refof(f000), Local3)
+ }
+ case (6) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 0, f001, 6}
+ Store(Refof(f001), Local3)
+ }
+ case (7) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 0, f002, 7}
+ Store(Refof(f002), Local3)
+ }
+ case (8) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 0, f003, 8}
+ Store(Refof(f003), Local3)
+ }
+ case (9) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 0, f004, 9}
+ Store(Refof(f004), Local3)
+ }
+ case (31) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 0, f005, 31}
+ Store(Refof(f005), Local3)
+ }
+ case (32) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 0, f006, 32}
+ Store(Refof(f006), Local3)
+ }
+ case (33) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 0, f007, 33}
+ Store(Refof(f007), Local3)
+ }
+ case (63) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 0, f008, 63}
+ Store(Refof(f008), Local3)
+ }
+ case (64) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 0, f009, 64}
+ Store(Refof(f009), Local3)
+ }
+ case (65) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 0, f00a, 65}
+ Store(Refof(f00a), Local3)
+ }
+ case (69) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 0, f00b, 69}
+ Store(Refof(f00b), Local3)
+ }
+ case (129) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 0, f00c, 129}
+ Store(Refof(f00c), Local3)
+ }
+ case (256) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 0, f00d, 256}
+ Store(Refof(f00d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 0, f00e, 1023}
+ Store(Refof(f00e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 0, f00f, 1983}
+ Store(Refof(f00f), Local3)
+ }
+ default {
+ err(arg0, z143, 138, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (1) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 1, f010, 1}
+ Store(Refof(f010), Local3)
+ }
+ case (6) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 1, f011, 6}
+ Store(Refof(f011), Local3)
+ }
+ case (7) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 1, f012, 7}
+ Store(Refof(f012), Local3)
+ }
+ case (8) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 1, f013, 8}
+ Store(Refof(f013), Local3)
+ }
+ case (9) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 1, f014, 9}
+ Store(Refof(f014), Local3)
+ }
+ case (31) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 1, f015, 31}
+ Store(Refof(f015), Local3)
+ }
+ case (32) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 1, f016, 32}
+ Store(Refof(f016), Local3)
+ }
+ case (33) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 1, f017, 33}
+ Store(Refof(f017), Local3)
+ }
+ case (63) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 1, f018, 63}
+ Store(Refof(f018), Local3)
+ }
+ case (64) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 1, f019, 64}
+ Store(Refof(f019), Local3)
+ }
+ case (65) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 1, f01a, 65}
+ Store(Refof(f01a), Local3)
+ }
+ case (69) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 1, f01b, 69}
+ Store(Refof(f01b), Local3)
+ }
+ case (129) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 1, f01c, 129}
+ Store(Refof(f01c), Local3)
+ }
+ case (256) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 1, f01d, 256}
+ Store(Refof(f01d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 1, f01e, 1023}
+ Store(Refof(f01e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 1, f01f, 1983}
+ Store(Refof(f01f), Local3)
+ }
+ default {
+ err(arg0, z143, 139, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (2) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ Offset(0), , 2, f020, 1}
+ Store(Refof(f020), Local3)
+ }
+ case (6) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ Offset(0), , 2, f021, 6}
+ Store(Refof(f021), Local3)
+ }
+ case (7) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ Offset(0), , 2, f022, 7}
+ Store(Refof(f022), Local3)
+ }
+ case (8) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ Offset(0), , 2, f023, 8}
+ Store(Refof(f023), Local3)
+ }
+ case (9) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ Offset(0), , 2, f024, 9}
+ Store(Refof(f024), Local3)
+ }
+ case (31) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ Offset(0), , 2, f025, 31}
+ Store(Refof(f025), Local3)
+ }
+ case (32) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ Offset(0), , 2, f026, 32}
+ Store(Refof(f026), Local3)
+ }
+ case (33) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ Offset(0), , 2, f027, 33}
+ Store(Refof(f027), Local3)
+ }
+ case (63) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ Offset(0), , 2, f028, 63}
+ Store(Refof(f028), Local3)
+ }
+ case (64) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ Offset(0), , 2, f029, 64}
+ Store(Refof(f029), Local3)
+ }
+ case (65) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ Offset(0), , 2, f02a, 65}
+ Store(Refof(f02a), Local3)
+ }
+ case (69) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ Offset(0), , 2, f02b, 69}
+ Store(Refof(f02b), Local3)
+ }
+ case (129) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ Offset(0), , 2, f02c, 129}
+ Store(Refof(f02c), Local3)
+ }
+ case (256) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ Offset(0), , 2, f02d, 256}
+ Store(Refof(f02d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ Offset(0), , 2, f02e, 1023}
+ Store(Refof(f02e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ Offset(0), , 2, f02f, 1983}
+ Store(Refof(f02f), Local3)
+ }
+ default {
+ err(arg0, z143, 140, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (3) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 3, f030, 1}
+ Store(Refof(f030), Local3)
+ }
+ case (6) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 3, f031, 6}
+ Store(Refof(f031), Local3)
+ }
+ case (7) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 3, f032, 7}
+ Store(Refof(f032), Local3)
+ }
+ case (8) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 3, f033, 8}
+ Store(Refof(f033), Local3)
+ }
+ case (9) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 3, f034, 9}
+ Store(Refof(f034), Local3)
+ }
+ case (31) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 3, f035, 31}
+ Store(Refof(f035), Local3)
+ }
+ case (32) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 3, f036, 32}
+ Store(Refof(f036), Local3)
+ }
+ case (33) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 3, f037, 33}
+ Store(Refof(f037), Local3)
+ }
+ case (63) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 3, f038, 63}
+ Store(Refof(f038), Local3)
+ }
+ case (64) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 3, f039, 64}
+ Store(Refof(f039), Local3)
+ }
+ case (65) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 3, f03a, 65}
+ Store(Refof(f03a), Local3)
+ }
+ case (69) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 3, f03b, 69}
+ Store(Refof(f03b), Local3)
+ }
+ case (129) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 3, f03c, 129}
+ Store(Refof(f03c), Local3)
+ }
+ case (256) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 3, f03d, 256}
+ Store(Refof(f03d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 3, f03e, 1023}
+ Store(Refof(f03e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 3, f03f, 1983}
+ Store(Refof(f03f), Local3)
+ }
+ default {
+ err(arg0, z143, 141, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (4) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 4, f040, 1}
+ Store(Refof(f040), Local3)
+ }
+ case (6) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 4, f041, 6}
+ Store(Refof(f041), Local3)
+ }
+ case (7) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 4, f042, 7}
+ Store(Refof(f042), Local3)
+ }
+ case (8) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 4, f043, 8}
+ Store(Refof(f043), Local3)
+ }
+ case (9) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 4, f044, 9}
+ Store(Refof(f044), Local3)
+ }
+ case (31) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 4, f045, 31}
+ Store(Refof(f045), Local3)
+ }
+ case (32) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 4, f046, 32}
+ Store(Refof(f046), Local3)
+ }
+ case (33) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 4, f047, 33}
+ Store(Refof(f047), Local3)
+ }
+ case (63) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 4, f048, 63}
+ Store(Refof(f048), Local3)
+ }
+ case (64) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 4, f049, 64}
+ Store(Refof(f049), Local3)
+ }
+ case (65) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 4, f04a, 65}
+ Store(Refof(f04a), Local3)
+ }
+ case (69) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 4, f04b, 69}
+ Store(Refof(f04b), Local3)
+ }
+ case (129) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 4, f04c, 129}
+ Store(Refof(f04c), Local3)
+ }
+ case (256) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 4, f04d, 256}
+ Store(Refof(f04d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 4, f04e, 1023}
+ Store(Refof(f04e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 4, f04f, 1983}
+ Store(Refof(f04f), Local3)
+ }
+ default {
+ err(arg0, z143, 142, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (5) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 5, f050, 1}
+ Store(Refof(f050), Local3)
+ }
+ case (6) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 5, f051, 6}
+ Store(Refof(f051), Local3)
+ }
+ case (7) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 5, f052, 7}
+ Store(Refof(f052), Local3)
+ }
+ case (8) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 5, f053, 8}
+ Store(Refof(f053), Local3)
+ }
+ case (9) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 5, f054, 9}
+ Store(Refof(f054), Local3)
+ }
+ case (31) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 5, f055, 31}
+ Store(Refof(f055), Local3)
+ }
+ case (32) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 5, f056, 32}
+ Store(Refof(f056), Local3)
+ }
+ case (33) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 5, f057, 33}
+ Store(Refof(f057), Local3)
+ }
+ case (63) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 5, f058, 63}
+ Store(Refof(f058), Local3)
+ }
+ case (64) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 5, f059, 64}
+ Store(Refof(f059), Local3)
+ }
+ case (65) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 5, f05a, 65}
+ Store(Refof(f05a), Local3)
+ }
+ case (69) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 5, f05b, 69}
+ Store(Refof(f05b), Local3)
+ }
+ case (129) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 5, f05c, 129}
+ Store(Refof(f05c), Local3)
+ }
+ case (256) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 5, f05d, 256}
+ Store(Refof(f05d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 5, f05e, 1023}
+ Store(Refof(f05e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 5, f05f, 1983}
+ Store(Refof(f05f), Local3)
+ }
+ default {
+ err(arg0, z143, 143, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (6) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 6, f060, 1}
+ Store(Refof(f060), Local3)
+ }
+ case (6) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 6, f061, 6}
+ Store(Refof(f061), Local3)
+ }
+ case (7) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 6, f062, 7}
+ Store(Refof(f062), Local3)
+ }
+ case (8) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 6, f063, 8}
+ Store(Refof(f063), Local3)
+ }
+ case (9) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 6, f064, 9}
+ Store(Refof(f064), Local3)
+ }
+ case (31) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 6, f065, 31}
+ Store(Refof(f065), Local3)
+ }
+ case (32) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 6, f066, 32}
+ Store(Refof(f066), Local3)
+ }
+ case (33) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 6, f067, 33}
+ Store(Refof(f067), Local3)
+ }
+ case (63) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 6, f068, 63}
+ Store(Refof(f068), Local3)
+ }
+ case (64) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 6, f069, 64}
+ Store(Refof(f069), Local3)
+ }
+ case (65) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 6, f06a, 65}
+ Store(Refof(f06a), Local3)
+ }
+ case (69) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 6, f06b, 69}
+ Store(Refof(f06b), Local3)
+ }
+ case (129) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 6, f06c, 129}
+ Store(Refof(f06c), Local3)
+ }
+ case (256) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 6, f06d, 256}
+ Store(Refof(f06d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 6, f06e, 1023}
+ Store(Refof(f06e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 6, f06f, 1983}
+ Store(Refof(f06f), Local3)
+ }
+ default {
+ err(arg0, z143, 144, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (7) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 7, f070, 1}
+ Store(Refof(f070), Local3)
+ }
+ case (6) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 7, f071, 6}
+ Store(Refof(f071), Local3)
+ }
+ case (7) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 7, f072, 7}
+ Store(Refof(f072), Local3)
+ }
+ case (8) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 7, f073, 8}
+ Store(Refof(f073), Local3)
+ }
+ case (9) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 7, f074, 9}
+ Store(Refof(f074), Local3)
+ }
+ case (31) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 7, f075, 31}
+ Store(Refof(f075), Local3)
+ }
+ case (32) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 7, f076, 32}
+ Store(Refof(f076), Local3)
+ }
+ case (33) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 7, f077, 33}
+ Store(Refof(f077), Local3)
+ }
+ case (63) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 7, f078, 63}
+ Store(Refof(f078), Local3)
+ }
+ case (64) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 7, f079, 64}
+ Store(Refof(f079), Local3)
+ }
+ case (65) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 7, f07a, 65}
+ Store(Refof(f07a), Local3)
+ }
+ case (69) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 7, f07b, 69}
+ Store(Refof(f07b), Local3)
+ }
+ case (129) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 7, f07c, 129}
+ Store(Refof(f07c), Local3)
+ }
+ case (256) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 7, f07d, 256}
+ Store(Refof(f07d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 7, f07e, 1023}
+ Store(Refof(f07e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 7, f07f, 1983}
+ Store(Refof(f07f), Local3)
+ }
+ default {
+ err(arg0, z143, 145, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (8) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ Offset(1), f080, 1}
+ Store(Refof(f080), Local3)
+ }
+ case (6) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ Offset(1), f081, 6}
+ Store(Refof(f081), Local3)
+ }
+ case (7) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ Offset(1), f082, 7}
+ Store(Refof(f082), Local3)
+ }
+ case (8) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ Offset(1), f083, 8}
+ Store(Refof(f083), Local3)
+ }
+ case (9) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ Offset(1), f084, 9}
+ Store(Refof(f084), Local3)
+ }
+ case (31) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ Offset(1), f085, 31}
+ Store(Refof(f085), Local3)
+ }
+ case (32) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ Offset(1), f086, 32}
+ Store(Refof(f086), Local3)
+ }
+ case (33) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ Offset(1), f087, 33}
+ Store(Refof(f087), Local3)
+ }
+ case (63) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ Offset(1), f088, 63}
+ Store(Refof(f088), Local3)
+ }
+ case (64) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ Offset(1), f089, 64}
+ Store(Refof(f089), Local3)
+ }
+ case (65) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ Offset(1), f08a, 65}
+ Store(Refof(f08a), Local3)
+ }
+ case (69) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ Offset(1), f08b, 69}
+ Store(Refof(f08b), Local3)
+ }
+ case (129) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ Offset(1), f08c, 129}
+ Store(Refof(f08c), Local3)
+ }
+ case (256) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ Offset(1), f08d, 256}
+ Store(Refof(f08d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ Offset(1), f08e, 1023}
+ Store(Refof(f08e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ Offset(1), f08f, 1983}
+ Store(Refof(f08f), Local3)
+ }
+ default {
+ err(arg0, z143, 146, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (9) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 9, f090, 1}
+ Store(Refof(f090), Local3)
+ }
+ case (6) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 9, f091, 6}
+ Store(Refof(f091), Local3)
+ }
+ case (7) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 9, f092, 7}
+ Store(Refof(f092), Local3)
+ }
+ case (8) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 9, f093, 8}
+ Store(Refof(f093), Local3)
+ }
+ case (9) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 9, f094, 9}
+ Store(Refof(f094), Local3)
+ }
+ case (31) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 9, f095, 31}
+ Store(Refof(f095), Local3)
+ }
+ case (32) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 9, f096, 32}
+ Store(Refof(f096), Local3)
+ }
+ case (33) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 9, f097, 33}
+ Store(Refof(f097), Local3)
+ }
+ case (63) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 9, f098, 63}
+ Store(Refof(f098), Local3)
+ }
+ case (64) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 9, f099, 64}
+ Store(Refof(f099), Local3)
+ }
+ case (65) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 9, f09a, 65}
+ Store(Refof(f09a), Local3)
+ }
+ case (69) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 9, f09b, 69}
+ Store(Refof(f09b), Local3)
+ }
+ case (129) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 9, f09c, 129}
+ Store(Refof(f09c), Local3)
+ }
+ case (256) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 9, f09d, 256}
+ Store(Refof(f09d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 9, f09e, 1023}
+ Store(Refof(f09e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 9, f09f, 1983}
+ Store(Refof(f09f), Local3)
+ }
+ default {
+ err(arg0, z143, 147, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (31) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0a0, 1}
+ Store(Refof(f0a0), Local3)
+ }
+ case (6) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0a1, 6}
+ Store(Refof(f0a1), Local3)
+ }
+ case (7) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0a2, 7}
+ Store(Refof(f0a2), Local3)
+ }
+ case (8) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0a3, 8}
+ Store(Refof(f0a3), Local3)
+ }
+ case (9) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0a4, 9}
+ Store(Refof(f0a4), Local3)
+ }
+ case (31) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0a5, 31}
+ Store(Refof(f0a5), Local3)
+ }
+ case (32) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0a6, 32}
+ Store(Refof(f0a6), Local3)
+ }
+ case (33) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0a7, 33}
+ Store(Refof(f0a7), Local3)
+ }
+ case (63) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0a8, 63}
+ Store(Refof(f0a8), Local3)
+ }
+ case (64) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0a9, 64}
+ Store(Refof(f0a9), Local3)
+ }
+ case (65) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0aa, 65}
+ Store(Refof(f0aa), Local3)
+ }
+ case (69) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0ab, 69}
+ Store(Refof(f0ab), Local3)
+ }
+ case (129) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0ac, 129}
+ Store(Refof(f0ac), Local3)
+ }
+ case (256) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0ad, 256}
+ Store(Refof(f0ad), Local3)
+ }
+ case (1023) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0ae, 1023}
+ Store(Refof(f0ae), Local3)
+ }
+ case (1983) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0af, 1983}
+ Store(Refof(f0af), Local3)
+ }
+ default {
+ err(arg0, z143, 148, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (32) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 32, f0b0, 1}
+ Store(Refof(f0b0), Local3)
+ }
+ case (6) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 32, f0b1, 6}
+ Store(Refof(f0b1), Local3)
+ }
+ case (7) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 32, f0b2, 7}
+ Store(Refof(f0b2), Local3)
+ }
+ case (8) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 32, f0b3, 8}
+ Store(Refof(f0b3), Local3)
+ }
+ case (9) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 32, f0b4, 9}
+ Store(Refof(f0b4), Local3)
+ }
+ case (31) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 32, f0b5, 31}
+ Store(Refof(f0b5), Local3)
+ }
+ case (32) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 32, f0b6, 32}
+ Store(Refof(f0b6), Local3)
+ }
+ case (33) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 32, f0b7, 33}
+ Store(Refof(f0b7), Local3)
+ }
+ case (63) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 32, f0b8, 63}
+ Store(Refof(f0b8), Local3)
+ }
+ case (64) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 32, f0b9, 64}
+ Store(Refof(f0b9), Local3)
+ }
+ case (65) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 32, f0ba, 65}
+ Store(Refof(f0ba), Local3)
+ }
+ case (69) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 32, f0bb, 69}
+ Store(Refof(f0bb), Local3)
+ }
+ case (129) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 32, f0bc, 129}
+ Store(Refof(f0bc), Local3)
+ }
+ case (256) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 32, f0bd, 256}
+ Store(Refof(f0bd), Local3)
+ }
+ case (1023) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 32, f0be, 1023}
+ Store(Refof(f0be), Local3)
+ }
+ case (1983) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 32, f0bf, 1983}
+ Store(Refof(f0bf), Local3)
+ }
+ default {
+ err(arg0, z143, 149, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (33) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 33, f0c0, 1}
+ Store(Refof(f0c0), Local3)
+ }
+ case (6) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 33, f0c1, 6}
+ Store(Refof(f0c1), Local3)
+ }
+ case (7) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 33, f0c2, 7}
+ Store(Refof(f0c2), Local3)
+ }
+ case (8) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 33, f0c3, 8}
+ Store(Refof(f0c3), Local3)
+ }
+ case (9) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 33, f0c4, 9}
+ Store(Refof(f0c4), Local3)
+ }
+ case (31) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 33, f0c5, 31}
+ Store(Refof(f0c5), Local3)
+ }
+ case (32) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 33, f0c6, 32}
+ Store(Refof(f0c6), Local3)
+ }
+ case (33) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 33, f0c7, 33}
+ Store(Refof(f0c7), Local3)
+ }
+ case (63) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 33, f0c8, 63}
+ Store(Refof(f0c8), Local3)
+ }
+ case (64) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 33, f0c9, 64}
+ Store(Refof(f0c9), Local3)
+ }
+ case (65) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 33, f0ca, 65}
+ Store(Refof(f0ca), Local3)
+ }
+ case (69) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 33, f0cb, 69}
+ Store(Refof(f0cb), Local3)
+ }
+ case (129) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 33, f0cc, 129}
+ Store(Refof(f0cc), Local3)
+ }
+ case (256) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 33, f0cd, 256}
+ Store(Refof(f0cd), Local3)
+ }
+ case (1023) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 33, f0ce, 1023}
+ Store(Refof(f0ce), Local3)
+ }
+ case (1983) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 33, f0cf, 1983}
+ Store(Refof(f0cf), Local3)
+ }
+ default {
+ err(arg0, z143, 150, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (63) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 63, f0d0, 1}
+ Store(Refof(f0d0), Local3)
+ }
+ case (6) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 63, f0d1, 6}
+ Store(Refof(f0d1), Local3)
+ }
+ case (7) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 63, f0d2, 7}
+ Store(Refof(f0d2), Local3)
+ }
+ case (8) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 63, f0d3, 8}
+ Store(Refof(f0d3), Local3)
+ }
+ case (9) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 63, f0d4, 9}
+ Store(Refof(f0d4), Local3)
+ }
+ case (31) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 63, f0d5, 31}
+ Store(Refof(f0d5), Local3)
+ }
+ case (32) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 63, f0d6, 32}
+ Store(Refof(f0d6), Local3)
+ }
+ case (33) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 63, f0d7, 33}
+ Store(Refof(f0d7), Local3)
+ }
+ case (63) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 63, f0d8, 63}
+ Store(Refof(f0d8), Local3)
+ }
+ case (64) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 63, f0d9, 64}
+ Store(Refof(f0d9), Local3)
+ }
+ case (65) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 63, f0da, 65}
+ Store(Refof(f0da), Local3)
+ }
+ case (69) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 63, f0db, 69}
+ Store(Refof(f0db), Local3)
+ }
+ case (129) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 63, f0dc, 129}
+ Store(Refof(f0dc), Local3)
+ }
+ case (256) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 63, f0dd, 256}
+ Store(Refof(f0dd), Local3)
+ }
+ case (1023) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 63, f0de, 1023}
+ Store(Refof(f0de), Local3)
+ }
+ case (1983) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 63, f0df, 1983}
+ Store(Refof(f0df), Local3)
+ }
+ default {
+ err(arg0, z143, 151, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (64) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 64, f0e0, 1}
+ Store(Refof(f0e0), Local3)
+ }
+ case (6) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 64, f0e1, 6}
+ Store(Refof(f0e1), Local3)
+ }
+ case (7) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 64, f0e2, 7}
+ Store(Refof(f0e2), Local3)
+ }
+ case (8) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 64, f0e3, 8}
+ Store(Refof(f0e3), Local3)
+ }
+ case (9) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 64, f0e4, 9}
+ Store(Refof(f0e4), Local3)
+ }
+ case (31) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 64, f0e5, 31}
+ Store(Refof(f0e5), Local3)
+ }
+ case (32) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 64, f0e6, 32}
+ Store(Refof(f0e6), Local3)
+ }
+ case (33) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 64, f0e7, 33}
+ Store(Refof(f0e7), Local3)
+ }
+ case (63) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 64, f0e8, 63}
+ Store(Refof(f0e8), Local3)
+ }
+ case (64) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 64, f0e9, 64}
+ Store(Refof(f0e9), Local3)
+ }
+ case (65) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 64, f0ea, 65}
+ Store(Refof(f0ea), Local3)
+ }
+ case (69) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 64, f0eb, 69}
+ Store(Refof(f0eb), Local3)
+ }
+ case (129) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 64, f0ec, 129}
+ Store(Refof(f0ec), Local3)
+ }
+ case (256) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 64, f0ed, 256}
+ Store(Refof(f0ed), Local3)
+ }
+ case (1023) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 64, f0ee, 1023}
+ Store(Refof(f0ee), Local3)
+ }
+ case (1983) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ , 64, f0ef, 1983}
+ Store(Refof(f0ef), Local3)
+ }
+ default {
+ err(arg0, z143, 152, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (65) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0f0, 1}
+ Store(Refof(f0f0), Local3)
+ }
+ case (6) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0f1, 6}
+ Store(Refof(f0f1), Local3)
+ }
+ case (7) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0f2, 7}
+ Store(Refof(f0f2), Local3)
+ }
+ case (8) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0f3, 8}
+ Store(Refof(f0f3), Local3)
+ }
+ case (9) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0f4, 9}
+ Store(Refof(f0f4), Local3)
+ }
+ case (31) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0f5, 31}
+ Store(Refof(f0f5), Local3)
+ }
+ case (32) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0f6, 32}
+ Store(Refof(f0f6), Local3)
+ }
+ case (33) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0f7, 33}
+ Store(Refof(f0f7), Local3)
+ }
+ case (63) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0f8, 63}
+ Store(Refof(f0f8), Local3)
+ }
+ case (64) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0f9, 64}
+ Store(Refof(f0f9), Local3)
+ }
+ case (65) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0fa, 65}
+ Store(Refof(f0fa), Local3)
+ }
+ case (69) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0fb, 69}
+ Store(Refof(f0fb), Local3)
+ }
+ case (129) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0fc, 129}
+ Store(Refof(f0fc), Local3)
+ }
+ case (256) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0fd, 256}
+ Store(Refof(f0fd), Local3)
+ }
+ case (1023) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0fe, 1023}
+ Store(Refof(f0fe), Local3)
+ }
+ case (1983) {
+ Field(OPR0, WordAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0ff, 1983}
+ Store(Refof(f0ff), Local3)
+ }
+ default {
+ err(arg0, z143, 153, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ default {
+ err(arg0, z143, 154, 0, 0, arg2, arg3)
+ return}
+ }
+
+ m72d(arg0, Local3, arg2, arg3, arg4, arg5, Refof(g001))
+}
+
+// Create Region Field Unit
+// (WordAcc, NoLock, WriteAsZeros)
+Method(m735, 6)
+{
+ OperationRegion(OPR0, SystemMemory, 0, RS00)
+
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ g001, 2048,
+ }
+
+ Concatenate(arg0, "-m735", arg0)
+
+ switch(arg2) {
+ case (0) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 0, f000, 1}
+ Store(Refof(f000), Local3)
+ }
+ case (6) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 0, f001, 6}
+ Store(Refof(f001), Local3)
+ }
+ case (7) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 0, f002, 7}
+ Store(Refof(f002), Local3)
+ }
+ case (8) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 0, f003, 8}
+ Store(Refof(f003), Local3)
+ }
+ case (9) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 0, f004, 9}
+ Store(Refof(f004), Local3)
+ }
+ case (31) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 0, f005, 31}
+ Store(Refof(f005), Local3)
+ }
+ case (32) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 0, f006, 32}
+ Store(Refof(f006), Local3)
+ }
+ case (33) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 0, f007, 33}
+ Store(Refof(f007), Local3)
+ }
+ case (63) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 0, f008, 63}
+ Store(Refof(f008), Local3)
+ }
+ case (64) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 0, f009, 64}
+ Store(Refof(f009), Local3)
+ }
+ case (65) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 0, f00a, 65}
+ Store(Refof(f00a), Local3)
+ }
+ case (69) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 0, f00b, 69}
+ Store(Refof(f00b), Local3)
+ }
+ case (129) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 0, f00c, 129}
+ Store(Refof(f00c), Local3)
+ }
+ case (256) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 0, f00d, 256}
+ Store(Refof(f00d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 0, f00e, 1023}
+ Store(Refof(f00e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 0, f00f, 1983}
+ Store(Refof(f00f), Local3)
+ }
+ default {
+ err(arg0, z143, 155, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (1) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 1, f010, 1}
+ Store(Refof(f010), Local3)
+ }
+ case (6) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 1, f011, 6}
+ Store(Refof(f011), Local3)
+ }
+ case (7) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 1, f012, 7}
+ Store(Refof(f012), Local3)
+ }
+ case (8) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 1, f013, 8}
+ Store(Refof(f013), Local3)
+ }
+ case (9) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 1, f014, 9}
+ Store(Refof(f014), Local3)
+ }
+ case (31) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 1, f015, 31}
+ Store(Refof(f015), Local3)
+ }
+ case (32) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 1, f016, 32}
+ Store(Refof(f016), Local3)
+ }
+ case (33) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 1, f017, 33}
+ Store(Refof(f017), Local3)
+ }
+ case (63) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 1, f018, 63}
+ Store(Refof(f018), Local3)
+ }
+ case (64) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 1, f019, 64}
+ Store(Refof(f019), Local3)
+ }
+ case (65) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 1, f01a, 65}
+ Store(Refof(f01a), Local3)
+ }
+ case (69) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 1, f01b, 69}
+ Store(Refof(f01b), Local3)
+ }
+ case (129) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 1, f01c, 129}
+ Store(Refof(f01c), Local3)
+ }
+ case (256) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 1, f01d, 256}
+ Store(Refof(f01d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 1, f01e, 1023}
+ Store(Refof(f01e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 1, f01f, 1983}
+ Store(Refof(f01f), Local3)
+ }
+ default {
+ err(arg0, z143, 156, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (2) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ Offset(0), , 2, f020, 1}
+ Store(Refof(f020), Local3)
+ }
+ case (6) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ Offset(0), , 2, f021, 6}
+ Store(Refof(f021), Local3)
+ }
+ case (7) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ Offset(0), , 2, f022, 7}
+ Store(Refof(f022), Local3)
+ }
+ case (8) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ Offset(0), , 2, f023, 8}
+ Store(Refof(f023), Local3)
+ }
+ case (9) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ Offset(0), , 2, f024, 9}
+ Store(Refof(f024), Local3)
+ }
+ case (31) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ Offset(0), , 2, f025, 31}
+ Store(Refof(f025), Local3)
+ }
+ case (32) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ Offset(0), , 2, f026, 32}
+ Store(Refof(f026), Local3)
+ }
+ case (33) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ Offset(0), , 2, f027, 33}
+ Store(Refof(f027), Local3)
+ }
+ case (63) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ Offset(0), , 2, f028, 63}
+ Store(Refof(f028), Local3)
+ }
+ case (64) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ Offset(0), , 2, f029, 64}
+ Store(Refof(f029), Local3)
+ }
+ case (65) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ Offset(0), , 2, f02a, 65}
+ Store(Refof(f02a), Local3)
+ }
+ case (69) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ Offset(0), , 2, f02b, 69}
+ Store(Refof(f02b), Local3)
+ }
+ case (129) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ Offset(0), , 2, f02c, 129}
+ Store(Refof(f02c), Local3)
+ }
+ case (256) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ Offset(0), , 2, f02d, 256}
+ Store(Refof(f02d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ Offset(0), , 2, f02e, 1023}
+ Store(Refof(f02e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ Offset(0), , 2, f02f, 1983}
+ Store(Refof(f02f), Local3)
+ }
+ default {
+ err(arg0, z143, 157, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (3) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 3, f030, 1}
+ Store(Refof(f030), Local3)
+ }
+ case (6) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 3, f031, 6}
+ Store(Refof(f031), Local3)
+ }
+ case (7) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 3, f032, 7}
+ Store(Refof(f032), Local3)
+ }
+ case (8) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 3, f033, 8}
+ Store(Refof(f033), Local3)
+ }
+ case (9) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 3, f034, 9}
+ Store(Refof(f034), Local3)
+ }
+ case (31) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 3, f035, 31}
+ Store(Refof(f035), Local3)
+ }
+ case (32) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 3, f036, 32}
+ Store(Refof(f036), Local3)
+ }
+ case (33) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 3, f037, 33}
+ Store(Refof(f037), Local3)
+ }
+ case (63) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 3, f038, 63}
+ Store(Refof(f038), Local3)
+ }
+ case (64) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 3, f039, 64}
+ Store(Refof(f039), Local3)
+ }
+ case (65) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 3, f03a, 65}
+ Store(Refof(f03a), Local3)
+ }
+ case (69) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 3, f03b, 69}
+ Store(Refof(f03b), Local3)
+ }
+ case (129) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 3, f03c, 129}
+ Store(Refof(f03c), Local3)
+ }
+ case (256) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 3, f03d, 256}
+ Store(Refof(f03d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 3, f03e, 1023}
+ Store(Refof(f03e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 3, f03f, 1983}
+ Store(Refof(f03f), Local3)
+ }
+ default {
+ err(arg0, z143, 158, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (4) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 4, f040, 1}
+ Store(Refof(f040), Local3)
+ }
+ case (6) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 4, f041, 6}
+ Store(Refof(f041), Local3)
+ }
+ case (7) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 4, f042, 7}
+ Store(Refof(f042), Local3)
+ }
+ case (8) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 4, f043, 8}
+ Store(Refof(f043), Local3)
+ }
+ case (9) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 4, f044, 9}
+ Store(Refof(f044), Local3)
+ }
+ case (31) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 4, f045, 31}
+ Store(Refof(f045), Local3)
+ }
+ case (32) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 4, f046, 32}
+ Store(Refof(f046), Local3)
+ }
+ case (33) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 4, f047, 33}
+ Store(Refof(f047), Local3)
+ }
+ case (63) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 4, f048, 63}
+ Store(Refof(f048), Local3)
+ }
+ case (64) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 4, f049, 64}
+ Store(Refof(f049), Local3)
+ }
+ case (65) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 4, f04a, 65}
+ Store(Refof(f04a), Local3)
+ }
+ case (69) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 4, f04b, 69}
+ Store(Refof(f04b), Local3)
+ }
+ case (129) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 4, f04c, 129}
+ Store(Refof(f04c), Local3)
+ }
+ case (256) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 4, f04d, 256}
+ Store(Refof(f04d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 4, f04e, 1023}
+ Store(Refof(f04e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 4, f04f, 1983}
+ Store(Refof(f04f), Local3)
+ }
+ default {
+ err(arg0, z143, 159, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (5) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 5, f050, 1}
+ Store(Refof(f050), Local3)
+ }
+ case (6) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 5, f051, 6}
+ Store(Refof(f051), Local3)
+ }
+ case (7) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 5, f052, 7}
+ Store(Refof(f052), Local3)
+ }
+ case (8) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 5, f053, 8}
+ Store(Refof(f053), Local3)
+ }
+ case (9) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 5, f054, 9}
+ Store(Refof(f054), Local3)
+ }
+ case (31) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 5, f055, 31}
+ Store(Refof(f055), Local3)
+ }
+ case (32) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 5, f056, 32}
+ Store(Refof(f056), Local3)
+ }
+ case (33) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 5, f057, 33}
+ Store(Refof(f057), Local3)
+ }
+ case (63) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 5, f058, 63}
+ Store(Refof(f058), Local3)
+ }
+ case (64) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 5, f059, 64}
+ Store(Refof(f059), Local3)
+ }
+ case (65) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 5, f05a, 65}
+ Store(Refof(f05a), Local3)
+ }
+ case (69) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 5, f05b, 69}
+ Store(Refof(f05b), Local3)
+ }
+ case (129) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 5, f05c, 129}
+ Store(Refof(f05c), Local3)
+ }
+ case (256) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 5, f05d, 256}
+ Store(Refof(f05d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 5, f05e, 1023}
+ Store(Refof(f05e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 5, f05f, 1983}
+ Store(Refof(f05f), Local3)
+ }
+ default {
+ err(arg0, z143, 160, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (6) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 6, f060, 1}
+ Store(Refof(f060), Local3)
+ }
+ case (6) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 6, f061, 6}
+ Store(Refof(f061), Local3)
+ }
+ case (7) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 6, f062, 7}
+ Store(Refof(f062), Local3)
+ }
+ case (8) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 6, f063, 8}
+ Store(Refof(f063), Local3)
+ }
+ case (9) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 6, f064, 9}
+ Store(Refof(f064), Local3)
+ }
+ case (31) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 6, f065, 31}
+ Store(Refof(f065), Local3)
+ }
+ case (32) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 6, f066, 32}
+ Store(Refof(f066), Local3)
+ }
+ case (33) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 6, f067, 33}
+ Store(Refof(f067), Local3)
+ }
+ case (63) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 6, f068, 63}
+ Store(Refof(f068), Local3)
+ }
+ case (64) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 6, f069, 64}
+ Store(Refof(f069), Local3)
+ }
+ case (65) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 6, f06a, 65}
+ Store(Refof(f06a), Local3)
+ }
+ case (69) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 6, f06b, 69}
+ Store(Refof(f06b), Local3)
+ }
+ case (129) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 6, f06c, 129}
+ Store(Refof(f06c), Local3)
+ }
+ case (256) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 6, f06d, 256}
+ Store(Refof(f06d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 6, f06e, 1023}
+ Store(Refof(f06e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 6, f06f, 1983}
+ Store(Refof(f06f), Local3)
+ }
+ default {
+ err(arg0, z143, 161, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (7) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 7, f070, 1}
+ Store(Refof(f070), Local3)
+ }
+ case (6) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 7, f071, 6}
+ Store(Refof(f071), Local3)
+ }
+ case (7) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 7, f072, 7}
+ Store(Refof(f072), Local3)
+ }
+ case (8) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 7, f073, 8}
+ Store(Refof(f073), Local3)
+ }
+ case (9) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 7, f074, 9}
+ Store(Refof(f074), Local3)
+ }
+ case (31) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 7, f075, 31}
+ Store(Refof(f075), Local3)
+ }
+ case (32) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 7, f076, 32}
+ Store(Refof(f076), Local3)
+ }
+ case (33) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 7, f077, 33}
+ Store(Refof(f077), Local3)
+ }
+ case (63) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 7, f078, 63}
+ Store(Refof(f078), Local3)
+ }
+ case (64) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 7, f079, 64}
+ Store(Refof(f079), Local3)
+ }
+ case (65) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 7, f07a, 65}
+ Store(Refof(f07a), Local3)
+ }
+ case (69) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 7, f07b, 69}
+ Store(Refof(f07b), Local3)
+ }
+ case (129) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 7, f07c, 129}
+ Store(Refof(f07c), Local3)
+ }
+ case (256) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 7, f07d, 256}
+ Store(Refof(f07d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 7, f07e, 1023}
+ Store(Refof(f07e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 7, f07f, 1983}
+ Store(Refof(f07f), Local3)
+ }
+ default {
+ err(arg0, z143, 162, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (8) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ Offset(1), f080, 1}
+ Store(Refof(f080), Local3)
+ }
+ case (6) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ Offset(1), f081, 6}
+ Store(Refof(f081), Local3)
+ }
+ case (7) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ Offset(1), f082, 7}
+ Store(Refof(f082), Local3)
+ }
+ case (8) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ Offset(1), f083, 8}
+ Store(Refof(f083), Local3)
+ }
+ case (9) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ Offset(1), f084, 9}
+ Store(Refof(f084), Local3)
+ }
+ case (31) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ Offset(1), f085, 31}
+ Store(Refof(f085), Local3)
+ }
+ case (32) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ Offset(1), f086, 32}
+ Store(Refof(f086), Local3)
+ }
+ case (33) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ Offset(1), f087, 33}
+ Store(Refof(f087), Local3)
+ }
+ case (63) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ Offset(1), f088, 63}
+ Store(Refof(f088), Local3)
+ }
+ case (64) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ Offset(1), f089, 64}
+ Store(Refof(f089), Local3)
+ }
+ case (65) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ Offset(1), f08a, 65}
+ Store(Refof(f08a), Local3)
+ }
+ case (69) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ Offset(1), f08b, 69}
+ Store(Refof(f08b), Local3)
+ }
+ case (129) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ Offset(1), f08c, 129}
+ Store(Refof(f08c), Local3)
+ }
+ case (256) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ Offset(1), f08d, 256}
+ Store(Refof(f08d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ Offset(1), f08e, 1023}
+ Store(Refof(f08e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ Offset(1), f08f, 1983}
+ Store(Refof(f08f), Local3)
+ }
+ default {
+ err(arg0, z143, 163, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (9) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 9, f090, 1}
+ Store(Refof(f090), Local3)
+ }
+ case (6) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 9, f091, 6}
+ Store(Refof(f091), Local3)
+ }
+ case (7) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 9, f092, 7}
+ Store(Refof(f092), Local3)
+ }
+ case (8) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 9, f093, 8}
+ Store(Refof(f093), Local3)
+ }
+ case (9) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 9, f094, 9}
+ Store(Refof(f094), Local3)
+ }
+ case (31) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 9, f095, 31}
+ Store(Refof(f095), Local3)
+ }
+ case (32) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 9, f096, 32}
+ Store(Refof(f096), Local3)
+ }
+ case (33) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 9, f097, 33}
+ Store(Refof(f097), Local3)
+ }
+ case (63) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 9, f098, 63}
+ Store(Refof(f098), Local3)
+ }
+ case (64) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 9, f099, 64}
+ Store(Refof(f099), Local3)
+ }
+ case (65) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 9, f09a, 65}
+ Store(Refof(f09a), Local3)
+ }
+ case (69) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 9, f09b, 69}
+ Store(Refof(f09b), Local3)
+ }
+ case (129) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 9, f09c, 129}
+ Store(Refof(f09c), Local3)
+ }
+ case (256) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 9, f09d, 256}
+ Store(Refof(f09d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 9, f09e, 1023}
+ Store(Refof(f09e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 9, f09f, 1983}
+ Store(Refof(f09f), Local3)
+ }
+ default {
+ err(arg0, z143, 164, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (31) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ Offset(3), , 7, f0a0, 1}
+ Store(Refof(f0a0), Local3)
+ }
+ case (6) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ Offset(3), , 7, f0a1, 6}
+ Store(Refof(f0a1), Local3)
+ }
+ case (7) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ Offset(3), , 7, f0a2, 7}
+ Store(Refof(f0a2), Local3)
+ }
+ case (8) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ Offset(3), , 7, f0a3, 8}
+ Store(Refof(f0a3), Local3)
+ }
+ case (9) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ Offset(3), , 7, f0a4, 9}
+ Store(Refof(f0a4), Local3)
+ }
+ case (31) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ Offset(3), , 7, f0a5, 31}
+ Store(Refof(f0a5), Local3)
+ }
+ case (32) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ Offset(3), , 7, f0a6, 32}
+ Store(Refof(f0a6), Local3)
+ }
+ case (33) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ Offset(3), , 7, f0a7, 33}
+ Store(Refof(f0a7), Local3)
+ }
+ case (63) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ Offset(3), , 7, f0a8, 63}
+ Store(Refof(f0a8), Local3)
+ }
+ case (64) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ Offset(3), , 7, f0a9, 64}
+ Store(Refof(f0a9), Local3)
+ }
+ case (65) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ Offset(3), , 7, f0aa, 65}
+ Store(Refof(f0aa), Local3)
+ }
+ case (69) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ Offset(3), , 7, f0ab, 69}
+ Store(Refof(f0ab), Local3)
+ }
+ case (129) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ Offset(3), , 7, f0ac, 129}
+ Store(Refof(f0ac), Local3)
+ }
+ case (256) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ Offset(3), , 7, f0ad, 256}
+ Store(Refof(f0ad), Local3)
+ }
+ case (1023) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ Offset(3), , 7, f0ae, 1023}
+ Store(Refof(f0ae), Local3)
+ }
+ case (1983) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ Offset(3), , 7, f0af, 1983}
+ Store(Refof(f0af), Local3)
+ }
+ default {
+ err(arg0, z143, 165, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (32) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 32, f0b0, 1}
+ Store(Refof(f0b0), Local3)
+ }
+ case (6) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 32, f0b1, 6}
+ Store(Refof(f0b1), Local3)
+ }
+ case (7) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 32, f0b2, 7}
+ Store(Refof(f0b2), Local3)
+ }
+ case (8) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 32, f0b3, 8}
+ Store(Refof(f0b3), Local3)
+ }
+ case (9) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 32, f0b4, 9}
+ Store(Refof(f0b4), Local3)
+ }
+ case (31) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 32, f0b5, 31}
+ Store(Refof(f0b5), Local3)
+ }
+ case (32) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 32, f0b6, 32}
+ Store(Refof(f0b6), Local3)
+ }
+ case (33) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 32, f0b7, 33}
+ Store(Refof(f0b7), Local3)
+ }
+ case (63) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 32, f0b8, 63}
+ Store(Refof(f0b8), Local3)
+ }
+ case (64) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 32, f0b9, 64}
+ Store(Refof(f0b9), Local3)
+ }
+ case (65) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 32, f0ba, 65}
+ Store(Refof(f0ba), Local3)
+ }
+ case (69) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 32, f0bb, 69}
+ Store(Refof(f0bb), Local3)
+ }
+ case (129) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 32, f0bc, 129}
+ Store(Refof(f0bc), Local3)
+ }
+ case (256) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 32, f0bd, 256}
+ Store(Refof(f0bd), Local3)
+ }
+ case (1023) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 32, f0be, 1023}
+ Store(Refof(f0be), Local3)
+ }
+ case (1983) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 32, f0bf, 1983}
+ Store(Refof(f0bf), Local3)
+ }
+ default {
+ err(arg0, z143, 165, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (33) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 33, f0c0, 1}
+ Store(Refof(f0c0), Local3)
+ }
+ case (6) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 33, f0c1, 6}
+ Store(Refof(f0c1), Local3)
+ }
+ case (7) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 33, f0c2, 7}
+ Store(Refof(f0c2), Local3)
+ }
+ case (8) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 33, f0c3, 8}
+ Store(Refof(f0c3), Local3)
+ }
+ case (9) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 33, f0c4, 9}
+ Store(Refof(f0c4), Local3)
+ }
+ case (31) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 33, f0c5, 31}
+ Store(Refof(f0c5), Local3)
+ }
+ case (32) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 33, f0c6, 32}
+ Store(Refof(f0c6), Local3)
+ }
+ case (33) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 33, f0c7, 33}
+ Store(Refof(f0c7), Local3)
+ }
+ case (63) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 33, f0c8, 63}
+ Store(Refof(f0c8), Local3)
+ }
+ case (64) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 33, f0c9, 64}
+ Store(Refof(f0c9), Local3)
+ }
+ case (65) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 33, f0ca, 65}
+ Store(Refof(f0ca), Local3)
+ }
+ case (69) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 33, f0cb, 69}
+ Store(Refof(f0cb), Local3)
+ }
+ case (129) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 33, f0cc, 129}
+ Store(Refof(f0cc), Local3)
+ }
+ case (256) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 33, f0cd, 256}
+ Store(Refof(f0cd), Local3)
+ }
+ case (1023) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 33, f0ce, 1023}
+ Store(Refof(f0ce), Local3)
+ }
+ case (1983) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 33, f0cf, 1983}
+ Store(Refof(f0cf), Local3)
+ }
+ default {
+ err(arg0, z143, 166, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (63) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 63, f0d0, 1}
+ Store(Refof(f0d0), Local3)
+ }
+ case (6) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 63, f0d1, 6}
+ Store(Refof(f0d1), Local3)
+ }
+ case (7) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 63, f0d2, 7}
+ Store(Refof(f0d2), Local3)
+ }
+ case (8) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 63, f0d3, 8}
+ Store(Refof(f0d3), Local3)
+ }
+ case (9) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 63, f0d4, 9}
+ Store(Refof(f0d4), Local3)
+ }
+ case (31) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 63, f0d5, 31}
+ Store(Refof(f0d5), Local3)
+ }
+ case (32) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 63, f0d6, 32}
+ Store(Refof(f0d6), Local3)
+ }
+ case (33) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 63, f0d7, 33}
+ Store(Refof(f0d7), Local3)
+ }
+ case (63) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 63, f0d8, 63}
+ Store(Refof(f0d8), Local3)
+ }
+ case (64) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 63, f0d9, 64}
+ Store(Refof(f0d9), Local3)
+ }
+ case (65) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 63, f0da, 65}
+ Store(Refof(f0da), Local3)
+ }
+ case (69) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 63, f0db, 69}
+ Store(Refof(f0db), Local3)
+ }
+ case (129) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 63, f0dc, 129}
+ Store(Refof(f0dc), Local3)
+ }
+ case (256) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 63, f0dd, 256}
+ Store(Refof(f0dd), Local3)
+ }
+ case (1023) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 63, f0de, 1023}
+ Store(Refof(f0de), Local3)
+ }
+ case (1983) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 63, f0df, 1983}
+ Store(Refof(f0df), Local3)
+ }
+ default {
+ err(arg0, z143, 167, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (64) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 64, f0e0, 1}
+ Store(Refof(f0e0), Local3)
+ }
+ case (6) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 64, f0e1, 6}
+ Store(Refof(f0e1), Local3)
+ }
+ case (7) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 64, f0e2, 7}
+ Store(Refof(f0e2), Local3)
+ }
+ case (8) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 64, f0e3, 8}
+ Store(Refof(f0e3), Local3)
+ }
+ case (9) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 64, f0e4, 9}
+ Store(Refof(f0e4), Local3)
+ }
+ case (31) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 64, f0e5, 31}
+ Store(Refof(f0e5), Local3)
+ }
+ case (32) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 64, f0e6, 32}
+ Store(Refof(f0e6), Local3)
+ }
+ case (33) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 64, f0e7, 33}
+ Store(Refof(f0e7), Local3)
+ }
+ case (63) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 64, f0e8, 63}
+ Store(Refof(f0e8), Local3)
+ }
+ case (64) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 64, f0e9, 64}
+ Store(Refof(f0e9), Local3)
+ }
+ case (65) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 64, f0ea, 65}
+ Store(Refof(f0ea), Local3)
+ }
+ case (69) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 64, f0eb, 69}
+ Store(Refof(f0eb), Local3)
+ }
+ case (129) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 64, f0ec, 129}
+ Store(Refof(f0ec), Local3)
+ }
+ case (256) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 64, f0ed, 256}
+ Store(Refof(f0ed), Local3)
+ }
+ case (1023) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 64, f0ee, 1023}
+ Store(Refof(f0ee), Local3)
+ }
+ case (1983) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ , 64, f0ef, 1983}
+ Store(Refof(f0ef), Local3)
+ }
+ default {
+ err(arg0, z143, 168, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (65) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ Offset(8), , 1, f0f0, 1}
+ Store(Refof(f0f0), Local3)
+ }
+ case (6) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ Offset(8), , 1, f0f1, 6}
+ Store(Refof(f0f1), Local3)
+ }
+ case (7) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ Offset(8), , 1, f0f2, 7}
+ Store(Refof(f0f2), Local3)
+ }
+ case (8) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ Offset(8), , 1, f0f3, 8}
+ Store(Refof(f0f3), Local3)
+ }
+ case (9) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ Offset(8), , 1, f0f4, 9}
+ Store(Refof(f0f4), Local3)
+ }
+ case (31) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ Offset(8), , 1, f0f5, 31}
+ Store(Refof(f0f5), Local3)
+ }
+ case (32) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ Offset(8), , 1, f0f6, 32}
+ Store(Refof(f0f6), Local3)
+ }
+ case (33) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ Offset(8), , 1, f0f7, 33}
+ Store(Refof(f0f7), Local3)
+ }
+ case (63) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ Offset(8), , 1, f0f8, 63}
+ Store(Refof(f0f8), Local3)
+ }
+ case (64) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ Offset(8), , 1, f0f9, 64}
+ Store(Refof(f0f9), Local3)
+ }
+ case (65) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ Offset(8), , 1, f0fa, 65}
+ Store(Refof(f0fa), Local3)
+ }
+ case (69) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ Offset(8), , 1, f0fb, 69}
+ Store(Refof(f0fb), Local3)
+ }
+ case (129) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ Offset(8), , 1, f0fc, 129}
+ Store(Refof(f0fc), Local3)
+ }
+ case (256) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ Offset(8), , 1, f0fd, 256}
+ Store(Refof(f0fd), Local3)
+ }
+ case (1023) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ Offset(8), , 1, f0fe, 1023}
+ Store(Refof(f0fe), Local3)
+ }
+ case (1983) {
+ Field(OPR0, WordAcc, NoLock, WriteAsZeros) {
+ Offset(8), , 1, f0ff, 1983}
+ Store(Refof(f0ff), Local3)
+ }
+ default {
+ err(arg0, z143, 169, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ default {
+ err(arg0, z143, 170, 0, 0, arg2, arg3)
+ return}
+ }
+
+ m72d(arg0, Local3, arg2, arg3, arg4, arg5, Refof(g001))
+}
+
+// Create Region Field Unit
+// (DWordAcc, NoLock, Preserve)
+Method(m736, 6)
+{
+ OperationRegion(OPR0, SystemMemory, 0, RS00)
+
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ g001, 2048,
+ }
+
+ Concatenate(arg0, "-m736", arg0)
+
+ switch(arg2) {
+ case (0) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 0, f000, 1}
+ Store(Refof(f000), Local3)
+ }
+ case (6) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 0, f001, 6}
+ Store(Refof(f001), Local3)
+ }
+ case (7) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 0, f002, 7}
+ Store(Refof(f002), Local3)
+ }
+ case (8) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 0, f003, 8}
+ Store(Refof(f003), Local3)
+ }
+ case (9) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 0, f004, 9}
+ Store(Refof(f004), Local3)
+ }
+ case (31) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 0, f005, 31}
+ Store(Refof(f005), Local3)
+ }
+ case (32) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 0, f006, 32}
+ Store(Refof(f006), Local3)
+ }
+ case (33) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 0, f007, 33}
+ Store(Refof(f007), Local3)
+ }
+ case (63) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 0, f008, 63}
+ Store(Refof(f008), Local3)
+ }
+ case (64) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 0, f009, 64}
+ Store(Refof(f009), Local3)
+ }
+ case (65) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 0, f00a, 65}
+ Store(Refof(f00a), Local3)
+ }
+ case (69) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 0, f00b, 69}
+ Store(Refof(f00b), Local3)
+ }
+ case (129) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 0, f00c, 129}
+ Store(Refof(f00c), Local3)
+ }
+ case (256) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 0, f00d, 256}
+ Store(Refof(f00d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 0, f00e, 1023}
+ Store(Refof(f00e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 0, f00f, 1983}
+ Store(Refof(f00f), Local3)
+ }
+ default {
+ err(arg0, z143, 171, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (1) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 1, f010, 1}
+ Store(Refof(f010), Local3)
+ }
+ case (6) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 1, f011, 6}
+ Store(Refof(f011), Local3)
+ }
+ case (7) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 1, f012, 7}
+ Store(Refof(f012), Local3)
+ }
+ case (8) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 1, f013, 8}
+ Store(Refof(f013), Local3)
+ }
+ case (9) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 1, f014, 9}
+ Store(Refof(f014), Local3)
+ }
+ case (31) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 1, f015, 31}
+ Store(Refof(f015), Local3)
+ }
+ case (32) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 1, f016, 32}
+ Store(Refof(f016), Local3)
+ }
+ case (33) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 1, f017, 33}
+ Store(Refof(f017), Local3)
+ }
+ case (63) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 1, f018, 63}
+ Store(Refof(f018), Local3)
+ }
+ case (64) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 1, f019, 64}
+ Store(Refof(f019), Local3)
+ }
+ case (65) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 1, f01a, 65}
+ Store(Refof(f01a), Local3)
+ }
+ case (69) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 1, f01b, 69}
+ Store(Refof(f01b), Local3)
+ }
+ case (129) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 1, f01c, 129}
+ Store(Refof(f01c), Local3)
+ }
+ case (256) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 1, f01d, 256}
+ Store(Refof(f01d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 1, f01e, 1023}
+ Store(Refof(f01e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 1, f01f, 1983}
+ Store(Refof(f01f), Local3)
+ }
+ default {
+ err(arg0, z143, 172, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (2) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ Offset(0), , 2, f020, 1}
+ Store(Refof(f020), Local3)
+ }
+ case (6) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ Offset(0), , 2, f021, 6}
+ Store(Refof(f021), Local3)
+ }
+ case (7) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ Offset(0), , 2, f022, 7}
+ Store(Refof(f022), Local3)
+ }
+ case (8) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ Offset(0), , 2, f023, 8}
+ Store(Refof(f023), Local3)
+ }
+ case (9) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ Offset(0), , 2, f024, 9}
+ Store(Refof(f024), Local3)
+ }
+ case (31) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ Offset(0), , 2, f025, 31}
+ Store(Refof(f025), Local3)
+ }
+ case (32) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ Offset(0), , 2, f026, 32}
+ Store(Refof(f026), Local3)
+ }
+ case (33) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ Offset(0), , 2, f027, 33}
+ Store(Refof(f027), Local3)
+ }
+ case (63) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ Offset(0), , 2, f028, 63}
+ Store(Refof(f028), Local3)
+ }
+ case (64) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ Offset(0), , 2, f029, 64}
+ Store(Refof(f029), Local3)
+ }
+ case (65) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ Offset(0), , 2, f02a, 65}
+ Store(Refof(f02a), Local3)
+ }
+ case (69) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ Offset(0), , 2, f02b, 69}
+ Store(Refof(f02b), Local3)
+ }
+ case (129) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ Offset(0), , 2, f02c, 129}
+ Store(Refof(f02c), Local3)
+ }
+ case (256) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ Offset(0), , 2, f02d, 256}
+ Store(Refof(f02d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ Offset(0), , 2, f02e, 1023}
+ Store(Refof(f02e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ Offset(0), , 2, f02f, 1983}
+ Store(Refof(f02f), Local3)
+ }
+ default {
+ err(arg0, z143, 173, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (3) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 3, f030, 1}
+ Store(Refof(f030), Local3)
+ }
+ case (6) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 3, f031, 6}
+ Store(Refof(f031), Local3)
+ }
+ case (7) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 3, f032, 7}
+ Store(Refof(f032), Local3)
+ }
+ case (8) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 3, f033, 8}
+ Store(Refof(f033), Local3)
+ }
+ case (9) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 3, f034, 9}
+ Store(Refof(f034), Local3)
+ }
+ case (31) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 3, f035, 31}
+ Store(Refof(f035), Local3)
+ }
+ case (32) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 3, f036, 32}
+ Store(Refof(f036), Local3)
+ }
+ case (33) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 3, f037, 33}
+ Store(Refof(f037), Local3)
+ }
+ case (63) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 3, f038, 63}
+ Store(Refof(f038), Local3)
+ }
+ case (64) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 3, f039, 64}
+ Store(Refof(f039), Local3)
+ }
+ case (65) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 3, f03a, 65}
+ Store(Refof(f03a), Local3)
+ }
+ case (69) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 3, f03b, 69}
+ Store(Refof(f03b), Local3)
+ }
+ case (129) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 3, f03c, 129}
+ Store(Refof(f03c), Local3)
+ }
+ case (256) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 3, f03d, 256}
+ Store(Refof(f03d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 3, f03e, 1023}
+ Store(Refof(f03e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 3, f03f, 1983}
+ Store(Refof(f03f), Local3)
+ }
+ default {
+ err(arg0, z143, 174, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (4) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 4, f040, 1}
+ Store(Refof(f040), Local3)
+ }
+ case (6) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 4, f041, 6}
+ Store(Refof(f041), Local3)
+ }
+ case (7) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 4, f042, 7}
+ Store(Refof(f042), Local3)
+ }
+ case (8) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 4, f043, 8}
+ Store(Refof(f043), Local3)
+ }
+ case (9) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 4, f044, 9}
+ Store(Refof(f044), Local3)
+ }
+ case (31) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 4, f045, 31}
+ Store(Refof(f045), Local3)
+ }
+ case (32) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 4, f046, 32}
+ Store(Refof(f046), Local3)
+ }
+ case (33) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 4, f047, 33}
+ Store(Refof(f047), Local3)
+ }
+ case (63) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 4, f048, 63}
+ Store(Refof(f048), Local3)
+ }
+ case (64) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 4, f049, 64}
+ Store(Refof(f049), Local3)
+ }
+ case (65) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 4, f04a, 65}
+ Store(Refof(f04a), Local3)
+ }
+ case (69) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 4, f04b, 69}
+ Store(Refof(f04b), Local3)
+ }
+ case (129) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 4, f04c, 129}
+ Store(Refof(f04c), Local3)
+ }
+ case (256) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 4, f04d, 256}
+ Store(Refof(f04d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 4, f04e, 1023}
+ Store(Refof(f04e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 4, f04f, 1983}
+ Store(Refof(f04f), Local3)
+ }
+ default {
+ err(arg0, z143, 175, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (5) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 5, f050, 1}
+ Store(Refof(f050), Local3)
+ }
+ case (6) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 5, f051, 6}
+ Store(Refof(f051), Local3)
+ }
+ case (7) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 5, f052, 7}
+ Store(Refof(f052), Local3)
+ }
+ case (8) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 5, f053, 8}
+ Store(Refof(f053), Local3)
+ }
+ case (9) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 5, f054, 9}
+ Store(Refof(f054), Local3)
+ }
+ case (31) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 5, f055, 31}
+ Store(Refof(f055), Local3)
+ }
+ case (32) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 5, f056, 32}
+ Store(Refof(f056), Local3)
+ }
+ case (33) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 5, f057, 33}
+ Store(Refof(f057), Local3)
+ }
+ case (63) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 5, f058, 63}
+ Store(Refof(f058), Local3)
+ }
+ case (64) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 5, f059, 64}
+ Store(Refof(f059), Local3)
+ }
+ case (65) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 5, f05a, 65}
+ Store(Refof(f05a), Local3)
+ }
+ case (69) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 5, f05b, 69}
+ Store(Refof(f05b), Local3)
+ }
+ case (129) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 5, f05c, 129}
+ Store(Refof(f05c), Local3)
+ }
+ case (256) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 5, f05d, 256}
+ Store(Refof(f05d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 5, f05e, 1023}
+ Store(Refof(f05e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 5, f05f, 1983}
+ Store(Refof(f05f), Local3)
+ }
+ default {
+ err(arg0, z143, 176, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (6) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 6, f060, 1}
+ Store(Refof(f060), Local3)
+ }
+ case (6) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 6, f061, 6}
+ Store(Refof(f061), Local3)
+ }
+ case (7) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 6, f062, 7}
+ Store(Refof(f062), Local3)
+ }
+ case (8) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 6, f063, 8}
+ Store(Refof(f063), Local3)
+ }
+ case (9) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 6, f064, 9}
+ Store(Refof(f064), Local3)
+ }
+ case (31) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 6, f065, 31}
+ Store(Refof(f065), Local3)
+ }
+ case (32) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 6, f066, 32}
+ Store(Refof(f066), Local3)
+ }
+ case (33) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 6, f067, 33}
+ Store(Refof(f067), Local3)
+ }
+ case (63) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 6, f068, 63}
+ Store(Refof(f068), Local3)
+ }
+ case (64) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 6, f069, 64}
+ Store(Refof(f069), Local3)
+ }
+ case (65) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 6, f06a, 65}
+ Store(Refof(f06a), Local3)
+ }
+ case (69) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 6, f06b, 69}
+ Store(Refof(f06b), Local3)
+ }
+ case (129) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 6, f06c, 129}
+ Store(Refof(f06c), Local3)
+ }
+ case (256) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 6, f06d, 256}
+ Store(Refof(f06d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 6, f06e, 1023}
+ Store(Refof(f06e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 6, f06f, 1983}
+ Store(Refof(f06f), Local3)
+ }
+ default {
+ err(arg0, z143, 177, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (7) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 7, f070, 1}
+ Store(Refof(f070), Local3)
+ }
+ case (6) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 7, f071, 6}
+ Store(Refof(f071), Local3)
+ }
+ case (7) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 7, f072, 7}
+ Store(Refof(f072), Local3)
+ }
+ case (8) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 7, f073, 8}
+ Store(Refof(f073), Local3)
+ }
+ case (9) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 7, f074, 9}
+ Store(Refof(f074), Local3)
+ }
+ case (31) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 7, f075, 31}
+ Store(Refof(f075), Local3)
+ }
+ case (32) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 7, f076, 32}
+ Store(Refof(f076), Local3)
+ }
+ case (33) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 7, f077, 33}
+ Store(Refof(f077), Local3)
+ }
+ case (63) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 7, f078, 63}
+ Store(Refof(f078), Local3)
+ }
+ case (64) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 7, f079, 64}
+ Store(Refof(f079), Local3)
+ }
+ case (65) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 7, f07a, 65}
+ Store(Refof(f07a), Local3)
+ }
+ case (69) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 7, f07b, 69}
+ Store(Refof(f07b), Local3)
+ }
+ case (129) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 7, f07c, 129}
+ Store(Refof(f07c), Local3)
+ }
+ case (256) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 7, f07d, 256}
+ Store(Refof(f07d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 7, f07e, 1023}
+ Store(Refof(f07e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 7, f07f, 1983}
+ Store(Refof(f07f), Local3)
+ }
+ default {
+ err(arg0, z143, 178, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (8) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ Offset(1), f080, 1}
+ Store(Refof(f080), Local3)
+ }
+ case (6) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ Offset(1), f081, 6}
+ Store(Refof(f081), Local3)
+ }
+ case (7) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ Offset(1), f082, 7}
+ Store(Refof(f082), Local3)
+ }
+ case (8) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ Offset(1), f083, 8}
+ Store(Refof(f083), Local3)
+ }
+ case (9) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ Offset(1), f084, 9}
+ Store(Refof(f084), Local3)
+ }
+ case (31) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ Offset(1), f085, 31}
+ Store(Refof(f085), Local3)
+ }
+ case (32) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ Offset(1), f086, 32}
+ Store(Refof(f086), Local3)
+ }
+ case (33) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ Offset(1), f087, 33}
+ Store(Refof(f087), Local3)
+ }
+ case (63) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ Offset(1), f088, 63}
+ Store(Refof(f088), Local3)
+ }
+ case (64) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ Offset(1), f089, 64}
+ Store(Refof(f089), Local3)
+ }
+ case (65) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ Offset(1), f08a, 65}
+ Store(Refof(f08a), Local3)
+ }
+ case (69) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ Offset(1), f08b, 69}
+ Store(Refof(f08b), Local3)
+ }
+ case (129) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ Offset(1), f08c, 129}
+ Store(Refof(f08c), Local3)
+ }
+ case (256) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ Offset(1), f08d, 256}
+ Store(Refof(f08d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ Offset(1), f08e, 1023}
+ Store(Refof(f08e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ Offset(1), f08f, 1983}
+ Store(Refof(f08f), Local3)
+ }
+ default {
+ err(arg0, z143, 179, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (9) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 9, f090, 1}
+ Store(Refof(f090), Local3)
+ }
+ case (6) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 9, f091, 6}
+ Store(Refof(f091), Local3)
+ }
+ case (7) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 9, f092, 7}
+ Store(Refof(f092), Local3)
+ }
+ case (8) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 9, f093, 8}
+ Store(Refof(f093), Local3)
+ }
+ case (9) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 9, f094, 9}
+ Store(Refof(f094), Local3)
+ }
+ case (31) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 9, f095, 31}
+ Store(Refof(f095), Local3)
+ }
+ case (32) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 9, f096, 32}
+ Store(Refof(f096), Local3)
+ }
+ case (33) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 9, f097, 33}
+ Store(Refof(f097), Local3)
+ }
+ case (63) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 9, f098, 63}
+ Store(Refof(f098), Local3)
+ }
+ case (64) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 9, f099, 64}
+ Store(Refof(f099), Local3)
+ }
+ case (65) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 9, f09a, 65}
+ Store(Refof(f09a), Local3)
+ }
+ case (69) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 9, f09b, 69}
+ Store(Refof(f09b), Local3)
+ }
+ case (129) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 9, f09c, 129}
+ Store(Refof(f09c), Local3)
+ }
+ case (256) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 9, f09d, 256}
+ Store(Refof(f09d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 9, f09e, 1023}
+ Store(Refof(f09e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 9, f09f, 1983}
+ Store(Refof(f09f), Local3)
+ }
+ default {
+ err(arg0, z143, 180, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (31) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0a0, 1}
+ Store(Refof(f0a0), Local3)
+ }
+ case (6) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0a1, 6}
+ Store(Refof(f0a1), Local3)
+ }
+ case (7) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0a2, 7}
+ Store(Refof(f0a2), Local3)
+ }
+ case (8) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0a3, 8}
+ Store(Refof(f0a3), Local3)
+ }
+ case (9) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0a4, 9}
+ Store(Refof(f0a4), Local3)
+ }
+ case (31) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0a5, 31}
+ Store(Refof(f0a5), Local3)
+ }
+ case (32) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0a6, 32}
+ Store(Refof(f0a6), Local3)
+ }
+ case (33) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0a7, 33}
+ Store(Refof(f0a7), Local3)
+ }
+ case (63) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0a8, 63}
+ Store(Refof(f0a8), Local3)
+ }
+ case (64) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0a9, 64}
+ Store(Refof(f0a9), Local3)
+ }
+ case (65) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0aa, 65}
+ Store(Refof(f0aa), Local3)
+ }
+ case (69) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0ab, 69}
+ Store(Refof(f0ab), Local3)
+ }
+ case (129) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0ac, 129}
+ Store(Refof(f0ac), Local3)
+ }
+ case (256) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0ad, 256}
+ Store(Refof(f0ad), Local3)
+ }
+ case (1023) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0ae, 1023}
+ Store(Refof(f0ae), Local3)
+ }
+ case (1983) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0af, 1983}
+ Store(Refof(f0af), Local3)
+ }
+ default {
+ err(arg0, z143, 181, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (32) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 32, f0b0, 1}
+ Store(Refof(f0b0), Local3)
+ }
+ case (6) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 32, f0b1, 6}
+ Store(Refof(f0b1), Local3)
+ }
+ case (7) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 32, f0b2, 7}
+ Store(Refof(f0b2), Local3)
+ }
+ case (8) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 32, f0b3, 8}
+ Store(Refof(f0b3), Local3)
+ }
+ case (9) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 32, f0b4, 9}
+ Store(Refof(f0b4), Local3)
+ }
+ case (31) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 32, f0b5, 31}
+ Store(Refof(f0b5), Local3)
+ }
+ case (32) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 32, f0b6, 32}
+ Store(Refof(f0b6), Local3)
+ }
+ case (33) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 32, f0b7, 33}
+ Store(Refof(f0b7), Local3)
+ }
+ case (63) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 32, f0b8, 63}
+ Store(Refof(f0b8), Local3)
+ }
+ case (64) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 32, f0b9, 64}
+ Store(Refof(f0b9), Local3)
+ }
+ case (65) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 32, f0ba, 65}
+ Store(Refof(f0ba), Local3)
+ }
+ case (69) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 32, f0bb, 69}
+ Store(Refof(f0bb), Local3)
+ }
+ case (129) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 32, f0bc, 129}
+ Store(Refof(f0bc), Local3)
+ }
+ case (256) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 32, f0bd, 256}
+ Store(Refof(f0bd), Local3)
+ }
+ case (1023) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 32, f0be, 1023}
+ Store(Refof(f0be), Local3)
+ }
+ case (1983) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 32, f0bf, 1983}
+ Store(Refof(f0bf), Local3)
+ }
+ default {
+ err(arg0, z143, 182, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (33) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 33, f0c0, 1}
+ Store(Refof(f0c0), Local3)
+ }
+ case (6) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 33, f0c1, 6}
+ Store(Refof(f0c1), Local3)
+ }
+ case (7) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 33, f0c2, 7}
+ Store(Refof(f0c2), Local3)
+ }
+ case (8) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 33, f0c3, 8}
+ Store(Refof(f0c3), Local3)
+ }
+ case (9) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 33, f0c4, 9}
+ Store(Refof(f0c4), Local3)
+ }
+ case (31) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 33, f0c5, 31}
+ Store(Refof(f0c5), Local3)
+ }
+ case (32) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 33, f0c6, 32}
+ Store(Refof(f0c6), Local3)
+ }
+ case (33) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 33, f0c7, 33}
+ Store(Refof(f0c7), Local3)
+ }
+ case (63) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 33, f0c8, 63}
+ Store(Refof(f0c8), Local3)
+ }
+ case (64) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 33, f0c9, 64}
+ Store(Refof(f0c9), Local3)
+ }
+ case (65) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 33, f0ca, 65}
+ Store(Refof(f0ca), Local3)
+ }
+ case (69) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 33, f0cb, 69}
+ Store(Refof(f0cb), Local3)
+ }
+ case (129) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 33, f0cc, 129}
+ Store(Refof(f0cc), Local3)
+ }
+ case (256) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 33, f0cd, 256}
+ Store(Refof(f0cd), Local3)
+ }
+ case (1023) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 33, f0ce, 1023}
+ Store(Refof(f0ce), Local3)
+ }
+ case (1983) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 33, f0cf, 1983}
+ Store(Refof(f0cf), Local3)
+ }
+ default {
+ err(arg0, z143, 183, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (63) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 63, f0d0, 1}
+ Store(Refof(f0d0), Local3)
+ }
+ case (6) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 63, f0d1, 6}
+ Store(Refof(f0d1), Local3)
+ }
+ case (7) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 63, f0d2, 7}
+ Store(Refof(f0d2), Local3)
+ }
+ case (8) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 63, f0d3, 8}
+ Store(Refof(f0d3), Local3)
+ }
+ case (9) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 63, f0d4, 9}
+ Store(Refof(f0d4), Local3)
+ }
+ case (31) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 63, f0d5, 31}
+ Store(Refof(f0d5), Local3)
+ }
+ case (32) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 63, f0d6, 32}
+ Store(Refof(f0d6), Local3)
+ }
+ case (33) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 63, f0d7, 33}
+ Store(Refof(f0d7), Local3)
+ }
+ case (63) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 63, f0d8, 63}
+ Store(Refof(f0d8), Local3)
+ }
+ case (64) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 63, f0d9, 64}
+ Store(Refof(f0d9), Local3)
+ }
+ case (65) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 63, f0da, 65}
+ Store(Refof(f0da), Local3)
+ }
+ case (69) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 63, f0db, 69}
+ Store(Refof(f0db), Local3)
+ }
+ case (129) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 63, f0dc, 129}
+ Store(Refof(f0dc), Local3)
+ }
+ case (256) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 63, f0dd, 256}
+ Store(Refof(f0dd), Local3)
+ }
+ case (1023) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 63, f0de, 1023}
+ Store(Refof(f0de), Local3)
+ }
+ case (1983) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 63, f0df, 1983}
+ Store(Refof(f0df), Local3)
+ }
+ default {
+ err(arg0, z143, 184, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (64) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 64, f0e0, 1}
+ Store(Refof(f0e0), Local3)
+ }
+ case (6) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 64, f0e1, 6}
+ Store(Refof(f0e1), Local3)
+ }
+ case (7) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 64, f0e2, 7}
+ Store(Refof(f0e2), Local3)
+ }
+ case (8) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 64, f0e3, 8}
+ Store(Refof(f0e3), Local3)
+ }
+ case (9) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 64, f0e4, 9}
+ Store(Refof(f0e4), Local3)
+ }
+ case (31) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 64, f0e5, 31}
+ Store(Refof(f0e5), Local3)
+ }
+ case (32) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 64, f0e6, 32}
+ Store(Refof(f0e6), Local3)
+ }
+ case (33) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 64, f0e7, 33}
+ Store(Refof(f0e7), Local3)
+ }
+ case (63) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 64, f0e8, 63}
+ Store(Refof(f0e8), Local3)
+ }
+ case (64) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 64, f0e9, 64}
+ Store(Refof(f0e9), Local3)
+ }
+ case (65) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 64, f0ea, 65}
+ Store(Refof(f0ea), Local3)
+ }
+ case (69) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 64, f0eb, 69}
+ Store(Refof(f0eb), Local3)
+ }
+ case (129) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 64, f0ec, 129}
+ Store(Refof(f0ec), Local3)
+ }
+ case (256) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 64, f0ed, 256}
+ Store(Refof(f0ed), Local3)
+ }
+ case (1023) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 64, f0ee, 1023}
+ Store(Refof(f0ee), Local3)
+ }
+ case (1983) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ , 64, f0ef, 1983}
+ Store(Refof(f0ef), Local3)
+ }
+ default {
+ err(arg0, z143, 185, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (65) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0f0, 1}
+ Store(Refof(f0f0), Local3)
+ }
+ case (6) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0f1, 6}
+ Store(Refof(f0f1), Local3)
+ }
+ case (7) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0f2, 7}
+ Store(Refof(f0f2), Local3)
+ }
+ case (8) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0f3, 8}
+ Store(Refof(f0f3), Local3)
+ }
+ case (9) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0f4, 9}
+ Store(Refof(f0f4), Local3)
+ }
+ case (31) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0f5, 31}
+ Store(Refof(f0f5), Local3)
+ }
+ case (32) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0f6, 32}
+ Store(Refof(f0f6), Local3)
+ }
+ case (33) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0f7, 33}
+ Store(Refof(f0f7), Local3)
+ }
+ case (63) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0f8, 63}
+ Store(Refof(f0f8), Local3)
+ }
+ case (64) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0f9, 64}
+ Store(Refof(f0f9), Local3)
+ }
+ case (65) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0fa, 65}
+ Store(Refof(f0fa), Local3)
+ }
+ case (69) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0fb, 69}
+ Store(Refof(f0fb), Local3)
+ }
+ case (129) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0fc, 129}
+ Store(Refof(f0fc), Local3)
+ }
+ case (256) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0fd, 256}
+ Store(Refof(f0fd), Local3)
+ }
+ case (1023) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0fe, 1023}
+ Store(Refof(f0fe), Local3)
+ }
+ case (1983) {
+ Field(OPR0, DWordAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0ff, 1983}
+ Store(Refof(f0ff), Local3)
+ }
+ default {
+ err(arg0, z143, 186, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ default {
+ err(arg0, z143, 187, 0, 0, arg2, arg3)
+ return}
+ }
+
+ m72d(arg0, Local3, arg2, arg3, arg4, arg5, Refof(g001))
+}
+
+// Create Region Field Unit
+// (DWordAcc, NoLock, WriteAsOnes)
+Method(m737, 6)
+{
+ OperationRegion(OPR0, SystemMemory, 0, RS00)
+
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ g001, 2048,
+ }
+
+ Concatenate(arg0, "-m737", arg0)
+
+ switch(arg2) {
+ case (0) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 0, f000, 1}
+ Store(Refof(f000), Local3)
+ }
+ case (6) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 0, f001, 6}
+ Store(Refof(f001), Local3)
+ }
+ case (7) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 0, f002, 7}
+ Store(Refof(f002), Local3)
+ }
+ case (8) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 0, f003, 8}
+ Store(Refof(f003), Local3)
+ }
+ case (9) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 0, f004, 9}
+ Store(Refof(f004), Local3)
+ }
+ case (31) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 0, f005, 31}
+ Store(Refof(f005), Local3)
+ }
+ case (32) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 0, f006, 32}
+ Store(Refof(f006), Local3)
+ }
+ case (33) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 0, f007, 33}
+ Store(Refof(f007), Local3)
+ }
+ case (63) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 0, f008, 63}
+ Store(Refof(f008), Local3)
+ }
+ case (64) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 0, f009, 64}
+ Store(Refof(f009), Local3)
+ }
+ case (65) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 0, f00a, 65}
+ Store(Refof(f00a), Local3)
+ }
+ case (69) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 0, f00b, 69}
+ Store(Refof(f00b), Local3)
+ }
+ case (129) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 0, f00c, 129}
+ Store(Refof(f00c), Local3)
+ }
+ case (256) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 0, f00d, 256}
+ Store(Refof(f00d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 0, f00e, 1023}
+ Store(Refof(f00e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 0, f00f, 1983}
+ Store(Refof(f00f), Local3)
+ }
+ default {
+ err(arg0, z143, 188, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (1) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 1, f010, 1}
+ Store(Refof(f010), Local3)
+ }
+ case (6) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 1, f011, 6}
+ Store(Refof(f011), Local3)
+ }
+ case (7) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 1, f012, 7}
+ Store(Refof(f012), Local3)
+ }
+ case (8) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 1, f013, 8}
+ Store(Refof(f013), Local3)
+ }
+ case (9) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 1, f014, 9}
+ Store(Refof(f014), Local3)
+ }
+ case (31) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 1, f015, 31}
+ Store(Refof(f015), Local3)
+ }
+ case (32) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 1, f016, 32}
+ Store(Refof(f016), Local3)
+ }
+ case (33) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 1, f017, 33}
+ Store(Refof(f017), Local3)
+ }
+ case (63) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 1, f018, 63}
+ Store(Refof(f018), Local3)
+ }
+ case (64) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 1, f019, 64}
+ Store(Refof(f019), Local3)
+ }
+ case (65) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 1, f01a, 65}
+ Store(Refof(f01a), Local3)
+ }
+ case (69) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 1, f01b, 69}
+ Store(Refof(f01b), Local3)
+ }
+ case (129) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 1, f01c, 129}
+ Store(Refof(f01c), Local3)
+ }
+ case (256) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 1, f01d, 256}
+ Store(Refof(f01d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 1, f01e, 1023}
+ Store(Refof(f01e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 1, f01f, 1983}
+ Store(Refof(f01f), Local3)
+ }
+ default {
+ err(arg0, z143, 189, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (2) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ Offset(0), , 2, f020, 1}
+ Store(Refof(f020), Local3)
+ }
+ case (6) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ Offset(0), , 2, f021, 6}
+ Store(Refof(f021), Local3)
+ }
+ case (7) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ Offset(0), , 2, f022, 7}
+ Store(Refof(f022), Local3)
+ }
+ case (8) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ Offset(0), , 2, f023, 8}
+ Store(Refof(f023), Local3)
+ }
+ case (9) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ Offset(0), , 2, f024, 9}
+ Store(Refof(f024), Local3)
+ }
+ case (31) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ Offset(0), , 2, f025, 31}
+ Store(Refof(f025), Local3)
+ }
+ case (32) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ Offset(0), , 2, f026, 32}
+ Store(Refof(f026), Local3)
+ }
+ case (33) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ Offset(0), , 2, f027, 33}
+ Store(Refof(f027), Local3)
+ }
+ case (63) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ Offset(0), , 2, f028, 63}
+ Store(Refof(f028), Local3)
+ }
+ case (64) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ Offset(0), , 2, f029, 64}
+ Store(Refof(f029), Local3)
+ }
+ case (65) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ Offset(0), , 2, f02a, 65}
+ Store(Refof(f02a), Local3)
+ }
+ case (69) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ Offset(0), , 2, f02b, 69}
+ Store(Refof(f02b), Local3)
+ }
+ case (129) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ Offset(0), , 2, f02c, 129}
+ Store(Refof(f02c), Local3)
+ }
+ case (256) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ Offset(0), , 2, f02d, 256}
+ Store(Refof(f02d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ Offset(0), , 2, f02e, 1023}
+ Store(Refof(f02e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ Offset(0), , 2, f02f, 1983}
+ Store(Refof(f02f), Local3)
+ }
+ default {
+ err(arg0, z143, 190, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (3) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 3, f030, 1}
+ Store(Refof(f030), Local3)
+ }
+ case (6) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 3, f031, 6}
+ Store(Refof(f031), Local3)
+ }
+ case (7) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 3, f032, 7}
+ Store(Refof(f032), Local3)
+ }
+ case (8) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 3, f033, 8}
+ Store(Refof(f033), Local3)
+ }
+ case (9) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 3, f034, 9}
+ Store(Refof(f034), Local3)
+ }
+ case (31) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 3, f035, 31}
+ Store(Refof(f035), Local3)
+ }
+ case (32) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 3, f036, 32}
+ Store(Refof(f036), Local3)
+ }
+ case (33) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 3, f037, 33}
+ Store(Refof(f037), Local3)
+ }
+ case (63) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 3, f038, 63}
+ Store(Refof(f038), Local3)
+ }
+ case (64) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 3, f039, 64}
+ Store(Refof(f039), Local3)
+ }
+ case (65) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 3, f03a, 65}
+ Store(Refof(f03a), Local3)
+ }
+ case (69) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 3, f03b, 69}
+ Store(Refof(f03b), Local3)
+ }
+ case (129) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 3, f03c, 129}
+ Store(Refof(f03c), Local3)
+ }
+ case (256) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 3, f03d, 256}
+ Store(Refof(f03d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 3, f03e, 1023}
+ Store(Refof(f03e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 3, f03f, 1983}
+ Store(Refof(f03f), Local3)
+ }
+ default {
+ err(arg0, z143, 191, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (4) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 4, f040, 1}
+ Store(Refof(f040), Local3)
+ }
+ case (6) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 4, f041, 6}
+ Store(Refof(f041), Local3)
+ }
+ case (7) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 4, f042, 7}
+ Store(Refof(f042), Local3)
+ }
+ case (8) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 4, f043, 8}
+ Store(Refof(f043), Local3)
+ }
+ case (9) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 4, f044, 9}
+ Store(Refof(f044), Local3)
+ }
+ case (31) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 4, f045, 31}
+ Store(Refof(f045), Local3)
+ }
+ case (32) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 4, f046, 32}
+ Store(Refof(f046), Local3)
+ }
+ case (33) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 4, f047, 33}
+ Store(Refof(f047), Local3)
+ }
+ case (63) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 4, f048, 63}
+ Store(Refof(f048), Local3)
+ }
+ case (64) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 4, f049, 64}
+ Store(Refof(f049), Local3)
+ }
+ case (65) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 4, f04a, 65}
+ Store(Refof(f04a), Local3)
+ }
+ case (69) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 4, f04b, 69}
+ Store(Refof(f04b), Local3)
+ }
+ case (129) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 4, f04c, 129}
+ Store(Refof(f04c), Local3)
+ }
+ case (256) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 4, f04d, 256}
+ Store(Refof(f04d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 4, f04e, 1023}
+ Store(Refof(f04e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 4, f04f, 1983}
+ Store(Refof(f04f), Local3)
+ }
+ default {
+ err(arg0, z143, 192, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (5) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 5, f050, 1}
+ Store(Refof(f050), Local3)
+ }
+ case (6) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 5, f051, 6}
+ Store(Refof(f051), Local3)
+ }
+ case (7) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 5, f052, 7}
+ Store(Refof(f052), Local3)
+ }
+ case (8) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 5, f053, 8}
+ Store(Refof(f053), Local3)
+ }
+ case (9) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 5, f054, 9}
+ Store(Refof(f054), Local3)
+ }
+ case (31) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 5, f055, 31}
+ Store(Refof(f055), Local3)
+ }
+ case (32) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 5, f056, 32}
+ Store(Refof(f056), Local3)
+ }
+ case (33) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 5, f057, 33}
+ Store(Refof(f057), Local3)
+ }
+ case (63) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 5, f058, 63}
+ Store(Refof(f058), Local3)
+ }
+ case (64) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 5, f059, 64}
+ Store(Refof(f059), Local3)
+ }
+ case (65) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 5, f05a, 65}
+ Store(Refof(f05a), Local3)
+ }
+ case (69) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 5, f05b, 69}
+ Store(Refof(f05b), Local3)
+ }
+ case (129) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 5, f05c, 129}
+ Store(Refof(f05c), Local3)
+ }
+ case (256) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 5, f05d, 256}
+ Store(Refof(f05d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 5, f05e, 1023}
+ Store(Refof(f05e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 5, f05f, 1983}
+ Store(Refof(f05f), Local3)
+ }
+ default {
+ err(arg0, z143, 193, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (6) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 6, f060, 1}
+ Store(Refof(f060), Local3)
+ }
+ case (6) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 6, f061, 6}
+ Store(Refof(f061), Local3)
+ }
+ case (7) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 6, f062, 7}
+ Store(Refof(f062), Local3)
+ }
+ case (8) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 6, f063, 8}
+ Store(Refof(f063), Local3)
+ }
+ case (9) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 6, f064, 9}
+ Store(Refof(f064), Local3)
+ }
+ case (31) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 6, f065, 31}
+ Store(Refof(f065), Local3)
+ }
+ case (32) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 6, f066, 32}
+ Store(Refof(f066), Local3)
+ }
+ case (33) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 6, f067, 33}
+ Store(Refof(f067), Local3)
+ }
+ case (63) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 6, f068, 63}
+ Store(Refof(f068), Local3)
+ }
+ case (64) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 6, f069, 64}
+ Store(Refof(f069), Local3)
+ }
+ case (65) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 6, f06a, 65}
+ Store(Refof(f06a), Local3)
+ }
+ case (69) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 6, f06b, 69}
+ Store(Refof(f06b), Local3)
+ }
+ case (129) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 6, f06c, 129}
+ Store(Refof(f06c), Local3)
+ }
+ case (256) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 6, f06d, 256}
+ Store(Refof(f06d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 6, f06e, 1023}
+ Store(Refof(f06e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 6, f06f, 1983}
+ Store(Refof(f06f), Local3)
+ }
+ default {
+ err(arg0, z143, 194, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (7) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 7, f070, 1}
+ Store(Refof(f070), Local3)
+ }
+ case (6) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 7, f071, 6}
+ Store(Refof(f071), Local3)
+ }
+ case (7) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 7, f072, 7}
+ Store(Refof(f072), Local3)
+ }
+ case (8) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 7, f073, 8}
+ Store(Refof(f073), Local3)
+ }
+ case (9) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 7, f074, 9}
+ Store(Refof(f074), Local3)
+ }
+ case (31) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 7, f075, 31}
+ Store(Refof(f075), Local3)
+ }
+ case (32) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 7, f076, 32}
+ Store(Refof(f076), Local3)
+ }
+ case (33) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 7, f077, 33}
+ Store(Refof(f077), Local3)
+ }
+ case (63) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 7, f078, 63}
+ Store(Refof(f078), Local3)
+ }
+ case (64) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 7, f079, 64}
+ Store(Refof(f079), Local3)
+ }
+ case (65) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 7, f07a, 65}
+ Store(Refof(f07a), Local3)
+ }
+ case (69) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 7, f07b, 69}
+ Store(Refof(f07b), Local3)
+ }
+ case (129) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 7, f07c, 129}
+ Store(Refof(f07c), Local3)
+ }
+ case (256) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 7, f07d, 256}
+ Store(Refof(f07d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 7, f07e, 1023}
+ Store(Refof(f07e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 7, f07f, 1983}
+ Store(Refof(f07f), Local3)
+ }
+ default {
+ err(arg0, z143, 195, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (8) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ Offset(1), f080, 1}
+ Store(Refof(f080), Local3)
+ }
+ case (6) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ Offset(1), f081, 6}
+ Store(Refof(f081), Local3)
+ }
+ case (7) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ Offset(1), f082, 7}
+ Store(Refof(f082), Local3)
+ }
+ case (8) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ Offset(1), f083, 8}
+ Store(Refof(f083), Local3)
+ }
+ case (9) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ Offset(1), f084, 9}
+ Store(Refof(f084), Local3)
+ }
+ case (31) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ Offset(1), f085, 31}
+ Store(Refof(f085), Local3)
+ }
+ case (32) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ Offset(1), f086, 32}
+ Store(Refof(f086), Local3)
+ }
+ case (33) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ Offset(1), f087, 33}
+ Store(Refof(f087), Local3)
+ }
+ case (63) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ Offset(1), f088, 63}
+ Store(Refof(f088), Local3)
+ }
+ case (64) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ Offset(1), f089, 64}
+ Store(Refof(f089), Local3)
+ }
+ case (65) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ Offset(1), f08a, 65}
+ Store(Refof(f08a), Local3)
+ }
+ case (69) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ Offset(1), f08b, 69}
+ Store(Refof(f08b), Local3)
+ }
+ case (129) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ Offset(1), f08c, 129}
+ Store(Refof(f08c), Local3)
+ }
+ case (256) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ Offset(1), f08d, 256}
+ Store(Refof(f08d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ Offset(1), f08e, 1023}
+ Store(Refof(f08e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ Offset(1), f08f, 1983}
+ Store(Refof(f08f), Local3)
+ }
+ default {
+ err(arg0, z143, 196, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (9) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 9, f090, 1}
+ Store(Refof(f090), Local3)
+ }
+ case (6) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 9, f091, 6}
+ Store(Refof(f091), Local3)
+ }
+ case (7) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 9, f092, 7}
+ Store(Refof(f092), Local3)
+ }
+ case (8) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 9, f093, 8}
+ Store(Refof(f093), Local3)
+ }
+ case (9) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 9, f094, 9}
+ Store(Refof(f094), Local3)
+ }
+ case (31) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 9, f095, 31}
+ Store(Refof(f095), Local3)
+ }
+ case (32) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 9, f096, 32}
+ Store(Refof(f096), Local3)
+ }
+ case (33) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 9, f097, 33}
+ Store(Refof(f097), Local3)
+ }
+ case (63) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 9, f098, 63}
+ Store(Refof(f098), Local3)
+ }
+ case (64) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 9, f099, 64}
+ Store(Refof(f099), Local3)
+ }
+ case (65) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 9, f09a, 65}
+ Store(Refof(f09a), Local3)
+ }
+ case (69) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 9, f09b, 69}
+ Store(Refof(f09b), Local3)
+ }
+ case (129) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 9, f09c, 129}
+ Store(Refof(f09c), Local3)
+ }
+ case (256) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 9, f09d, 256}
+ Store(Refof(f09d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 9, f09e, 1023}
+ Store(Refof(f09e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 9, f09f, 1983}
+ Store(Refof(f09f), Local3)
+ }
+ default {
+ err(arg0, z143, 197, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (31) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0a0, 1}
+ Store(Refof(f0a0), Local3)
+ }
+ case (6) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0a1, 6}
+ Store(Refof(f0a1), Local3)
+ }
+ case (7) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0a2, 7}
+ Store(Refof(f0a2), Local3)
+ }
+ case (8) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0a3, 8}
+ Store(Refof(f0a3), Local3)
+ }
+ case (9) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0a4, 9}
+ Store(Refof(f0a4), Local3)
+ }
+ case (31) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0a5, 31}
+ Store(Refof(f0a5), Local3)
+ }
+ case (32) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0a6, 32}
+ Store(Refof(f0a6), Local3)
+ }
+ case (33) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0a7, 33}
+ Store(Refof(f0a7), Local3)
+ }
+ case (63) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0a8, 63}
+ Store(Refof(f0a8), Local3)
+ }
+ case (64) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0a9, 64}
+ Store(Refof(f0a9), Local3)
+ }
+ case (65) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0aa, 65}
+ Store(Refof(f0aa), Local3)
+ }
+ case (69) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0ab, 69}
+ Store(Refof(f0ab), Local3)
+ }
+ case (129) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0ac, 129}
+ Store(Refof(f0ac), Local3)
+ }
+ case (256) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0ad, 256}
+ Store(Refof(f0ad), Local3)
+ }
+ case (1023) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0ae, 1023}
+ Store(Refof(f0ae), Local3)
+ }
+ case (1983) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0af, 1983}
+ Store(Refof(f0af), Local3)
+ }
+ default {
+ err(arg0, z143, 198, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (32) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 32, f0b0, 1}
+ Store(Refof(f0b0), Local3)
+ }
+ case (6) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 32, f0b1, 6}
+ Store(Refof(f0b1), Local3)
+ }
+ case (7) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 32, f0b2, 7}
+ Store(Refof(f0b2), Local3)
+ }
+ case (8) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 32, f0b3, 8}
+ Store(Refof(f0b3), Local3)
+ }
+ case (9) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 32, f0b4, 9}
+ Store(Refof(f0b4), Local3)
+ }
+ case (31) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 32, f0b5, 31}
+ Store(Refof(f0b5), Local3)
+ }
+ case (32) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 32, f0b6, 32}
+ Store(Refof(f0b6), Local3)
+ }
+ case (33) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 32, f0b7, 33}
+ Store(Refof(f0b7), Local3)
+ }
+ case (63) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 32, f0b8, 63}
+ Store(Refof(f0b8), Local3)
+ }
+ case (64) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 32, f0b9, 64}
+ Store(Refof(f0b9), Local3)
+ }
+ case (65) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 32, f0ba, 65}
+ Store(Refof(f0ba), Local3)
+ }
+ case (69) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 32, f0bb, 69}
+ Store(Refof(f0bb), Local3)
+ }
+ case (129) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 32, f0bc, 129}
+ Store(Refof(f0bc), Local3)
+ }
+ case (256) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 32, f0bd, 256}
+ Store(Refof(f0bd), Local3)
+ }
+ case (1023) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 32, f0be, 1023}
+ Store(Refof(f0be), Local3)
+ }
+ case (1983) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 32, f0bf, 1983}
+ Store(Refof(f0bf), Local3)
+ }
+ default {
+ err(arg0, z143, 199, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (33) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 33, f0c0, 1}
+ Store(Refof(f0c0), Local3)
+ }
+ case (6) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 33, f0c1, 6}
+ Store(Refof(f0c1), Local3)
+ }
+ case (7) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 33, f0c2, 7}
+ Store(Refof(f0c2), Local3)
+ }
+ case (8) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 33, f0c3, 8}
+ Store(Refof(f0c3), Local3)
+ }
+ case (9) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 33, f0c4, 9}
+ Store(Refof(f0c4), Local3)
+ }
+ case (31) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 33, f0c5, 31}
+ Store(Refof(f0c5), Local3)
+ }
+ case (32) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 33, f0c6, 32}
+ Store(Refof(f0c6), Local3)
+ }
+ case (33) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 33, f0c7, 33}
+ Store(Refof(f0c7), Local3)
+ }
+ case (63) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 33, f0c8, 63}
+ Store(Refof(f0c8), Local3)
+ }
+ case (64) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 33, f0c9, 64}
+ Store(Refof(f0c9), Local3)
+ }
+ case (65) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 33, f0ca, 65}
+ Store(Refof(f0ca), Local3)
+ }
+ case (69) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 33, f0cb, 69}
+ Store(Refof(f0cb), Local3)
+ }
+ case (129) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 33, f0cc, 129}
+ Store(Refof(f0cc), Local3)
+ }
+ case (256) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 33, f0cd, 256}
+ Store(Refof(f0cd), Local3)
+ }
+ case (1023) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 33, f0ce, 1023}
+ Store(Refof(f0ce), Local3)
+ }
+ case (1983) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 33, f0cf, 1983}
+ Store(Refof(f0cf), Local3)
+ }
+ default {
+ err(arg0, z143, 200, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (63) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 63, f0d0, 1}
+ Store(Refof(f0d0), Local3)
+ }
+ case (6) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 63, f0d1, 6}
+ Store(Refof(f0d1), Local3)
+ }
+ case (7) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 63, f0d2, 7}
+ Store(Refof(f0d2), Local3)
+ }
+ case (8) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 63, f0d3, 8}
+ Store(Refof(f0d3), Local3)
+ }
+ case (9) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 63, f0d4, 9}
+ Store(Refof(f0d4), Local3)
+ }
+ case (31) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 63, f0d5, 31}
+ Store(Refof(f0d5), Local3)
+ }
+ case (32) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 63, f0d6, 32}
+ Store(Refof(f0d6), Local3)
+ }
+ case (33) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 63, f0d7, 33}
+ Store(Refof(f0d7), Local3)
+ }
+ case (63) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 63, f0d8, 63}
+ Store(Refof(f0d8), Local3)
+ }
+ case (64) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 63, f0d9, 64}
+ Store(Refof(f0d9), Local3)
+ }
+ case (65) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 63, f0da, 65}
+ Store(Refof(f0da), Local3)
+ }
+ case (69) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 63, f0db, 69}
+ Store(Refof(f0db), Local3)
+ }
+ case (129) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 63, f0dc, 129}
+ Store(Refof(f0dc), Local3)
+ }
+ case (256) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 63, f0dd, 256}
+ Store(Refof(f0dd), Local3)
+ }
+ case (1023) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 63, f0de, 1023}
+ Store(Refof(f0de), Local3)
+ }
+ case (1983) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 63, f0df, 1983}
+ Store(Refof(f0df), Local3)
+ }
+ default {
+ err(arg0, z143, 201, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (64) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 64, f0e0, 1}
+ Store(Refof(f0e0), Local3)
+ }
+ case (6) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 64, f0e1, 6}
+ Store(Refof(f0e1), Local3)
+ }
+ case (7) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 64, f0e2, 7}
+ Store(Refof(f0e2), Local3)
+ }
+ case (8) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 64, f0e3, 8}
+ Store(Refof(f0e3), Local3)
+ }
+ case (9) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 64, f0e4, 9}
+ Store(Refof(f0e4), Local3)
+ }
+ case (31) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 64, f0e5, 31}
+ Store(Refof(f0e5), Local3)
+ }
+ case (32) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 64, f0e6, 32}
+ Store(Refof(f0e6), Local3)
+ }
+ case (33) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 64, f0e7, 33}
+ Store(Refof(f0e7), Local3)
+ }
+ case (63) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 64, f0e8, 63}
+ Store(Refof(f0e8), Local3)
+ }
+ case (64) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 64, f0e9, 64}
+ Store(Refof(f0e9), Local3)
+ }
+ case (65) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 64, f0ea, 65}
+ Store(Refof(f0ea), Local3)
+ }
+ case (69) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 64, f0eb, 69}
+ Store(Refof(f0eb), Local3)
+ }
+ case (129) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 64, f0ec, 129}
+ Store(Refof(f0ec), Local3)
+ }
+ case (256) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 64, f0ed, 256}
+ Store(Refof(f0ed), Local3)
+ }
+ case (1023) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 64, f0ee, 1023}
+ Store(Refof(f0ee), Local3)
+ }
+ case (1983) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ , 64, f0ef, 1983}
+ Store(Refof(f0ef), Local3)
+ }
+ default {
+ err(arg0, z143, 202, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (65) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0f0, 1}
+ Store(Refof(f0f0), Local3)
+ }
+ case (6) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0f1, 6}
+ Store(Refof(f0f1), Local3)
+ }
+ case (7) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0f2, 7}
+ Store(Refof(f0f2), Local3)
+ }
+ case (8) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0f3, 8}
+ Store(Refof(f0f3), Local3)
+ }
+ case (9) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0f4, 9}
+ Store(Refof(f0f4), Local3)
+ }
+ case (31) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0f5, 31}
+ Store(Refof(f0f5), Local3)
+ }
+ case (32) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0f6, 32}
+ Store(Refof(f0f6), Local3)
+ }
+ case (33) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0f7, 33}
+ Store(Refof(f0f7), Local3)
+ }
+ case (63) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0f8, 63}
+ Store(Refof(f0f8), Local3)
+ }
+ case (64) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0f9, 64}
+ Store(Refof(f0f9), Local3)
+ }
+ case (65) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0fa, 65}
+ Store(Refof(f0fa), Local3)
+ }
+ case (69) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0fb, 69}
+ Store(Refof(f0fb), Local3)
+ }
+ case (129) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0fc, 129}
+ Store(Refof(f0fc), Local3)
+ }
+ case (256) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0fd, 256}
+ Store(Refof(f0fd), Local3)
+ }
+ case (1023) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0fe, 1023}
+ Store(Refof(f0fe), Local3)
+ }
+ case (1983) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0ff, 1983}
+ Store(Refof(f0ff), Local3)
+ }
+ default {
+ err(arg0, z143, 203, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ default {
+ err(arg0, z143, 204, 0, 0, arg2, arg3)
+ return}
+ }
+
+ m72d(arg0, Local3, arg2, arg3, arg4, arg5, Refof(g001))
+}
+
+// Create Region Field Unit
+// (DWordAcc, NoLock, WriteAsZeros)
+Method(m738, 6)
+{
+ OperationRegion(OPR0, SystemMemory, 0, RS00)
+
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ g001, 2048,
+ }
+
+ Concatenate(arg0, "-m738", arg0)
+
+ switch(arg2) {
+ case (0) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 0, f000, 1}
+ Store(Refof(f000), Local3)
+ }
+ case (6) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 0, f001, 6}
+ Store(Refof(f001), Local3)
+ }
+ case (7) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 0, f002, 7}
+ Store(Refof(f002), Local3)
+ }
+ case (8) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 0, f003, 8}
+ Store(Refof(f003), Local3)
+ }
+ case (9) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 0, f004, 9}
+ Store(Refof(f004), Local3)
+ }
+ case (31) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 0, f005, 31}
+ Store(Refof(f005), Local3)
+ }
+ case (32) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 0, f006, 32}
+ Store(Refof(f006), Local3)
+ }
+ case (33) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 0, f007, 33}
+ Store(Refof(f007), Local3)
+ }
+ case (63) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 0, f008, 63}
+ Store(Refof(f008), Local3)
+ }
+ case (64) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 0, f009, 64}
+ Store(Refof(f009), Local3)
+ }
+ case (65) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 0, f00a, 65}
+ Store(Refof(f00a), Local3)
+ }
+ case (69) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 0, f00b, 69}
+ Store(Refof(f00b), Local3)
+ }
+ case (129) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 0, f00c, 129}
+ Store(Refof(f00c), Local3)
+ }
+ case (256) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 0, f00d, 256}
+ Store(Refof(f00d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 0, f00e, 1023}
+ Store(Refof(f00e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 0, f00f, 1983}
+ Store(Refof(f00f), Local3)
+ }
+ default {
+ err(arg0, z143, 205, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (1) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 1, f010, 1}
+ Store(Refof(f010), Local3)
+ }
+ case (6) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 1, f011, 6}
+ Store(Refof(f011), Local3)
+ }
+ case (7) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 1, f012, 7}
+ Store(Refof(f012), Local3)
+ }
+ case (8) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 1, f013, 8}
+ Store(Refof(f013), Local3)
+ }
+ case (9) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 1, f014, 9}
+ Store(Refof(f014), Local3)
+ }
+ case (31) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 1, f015, 31}
+ Store(Refof(f015), Local3)
+ }
+ case (32) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 1, f016, 32}
+ Store(Refof(f016), Local3)
+ }
+ case (33) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 1, f017, 33}
+ Store(Refof(f017), Local3)
+ }
+ case (63) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 1, f018, 63}
+ Store(Refof(f018), Local3)
+ }
+ case (64) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 1, f019, 64}
+ Store(Refof(f019), Local3)
+ }
+ case (65) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 1, f01a, 65}
+ Store(Refof(f01a), Local3)
+ }
+ case (69) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 1, f01b, 69}
+ Store(Refof(f01b), Local3)
+ }
+ case (129) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 1, f01c, 129}
+ Store(Refof(f01c), Local3)
+ }
+ case (256) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 1, f01d, 256}
+ Store(Refof(f01d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 1, f01e, 1023}
+ Store(Refof(f01e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 1, f01f, 1983}
+ Store(Refof(f01f), Local3)
+ }
+ default {
+ err(arg0, z143, 206, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (2) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(0), , 2, f020, 1}
+ Store(Refof(f020), Local3)
+ }
+ case (6) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(0), , 2, f021, 6}
+ Store(Refof(f021), Local3)
+ }
+ case (7) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(0), , 2, f022, 7}
+ Store(Refof(f022), Local3)
+ }
+ case (8) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(0), , 2, f023, 8}
+ Store(Refof(f023), Local3)
+ }
+ case (9) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(0), , 2, f024, 9}
+ Store(Refof(f024), Local3)
+ }
+ case (31) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(0), , 2, f025, 31}
+ Store(Refof(f025), Local3)
+ }
+ case (32) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(0), , 2, f026, 32}
+ Store(Refof(f026), Local3)
+ }
+ case (33) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(0), , 2, f027, 33}
+ Store(Refof(f027), Local3)
+ }
+ case (63) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(0), , 2, f028, 63}
+ Store(Refof(f028), Local3)
+ }
+ case (64) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(0), , 2, f029, 64}
+ Store(Refof(f029), Local3)
+ }
+ case (65) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(0), , 2, f02a, 65}
+ Store(Refof(f02a), Local3)
+ }
+ case (69) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(0), , 2, f02b, 69}
+ Store(Refof(f02b), Local3)
+ }
+ case (129) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(0), , 2, f02c, 129}
+ Store(Refof(f02c), Local3)
+ }
+ case (256) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(0), , 2, f02d, 256}
+ Store(Refof(f02d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(0), , 2, f02e, 1023}
+ Store(Refof(f02e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(0), , 2, f02f, 1983}
+ Store(Refof(f02f), Local3)
+ }
+ default {
+ err(arg0, z143, 207, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (3) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 3, f030, 1}
+ Store(Refof(f030), Local3)
+ }
+ case (6) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 3, f031, 6}
+ Store(Refof(f031), Local3)
+ }
+ case (7) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 3, f032, 7}
+ Store(Refof(f032), Local3)
+ }
+ case (8) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 3, f033, 8}
+ Store(Refof(f033), Local3)
+ }
+ case (9) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 3, f034, 9}
+ Store(Refof(f034), Local3)
+ }
+ case (31) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 3, f035, 31}
+ Store(Refof(f035), Local3)
+ }
+ case (32) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 3, f036, 32}
+ Store(Refof(f036), Local3)
+ }
+ case (33) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 3, f037, 33}
+ Store(Refof(f037), Local3)
+ }
+ case (63) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 3, f038, 63}
+ Store(Refof(f038), Local3)
+ }
+ case (64) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 3, f039, 64}
+ Store(Refof(f039), Local3)
+ }
+ case (65) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 3, f03a, 65}
+ Store(Refof(f03a), Local3)
+ }
+ case (69) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 3, f03b, 69}
+ Store(Refof(f03b), Local3)
+ }
+ case (129) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 3, f03c, 129}
+ Store(Refof(f03c), Local3)
+ }
+ case (256) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 3, f03d, 256}
+ Store(Refof(f03d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 3, f03e, 1023}
+ Store(Refof(f03e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 3, f03f, 1983}
+ Store(Refof(f03f), Local3)
+ }
+ default {
+ err(arg0, z143, 208, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (4) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 4, f040, 1}
+ Store(Refof(f040), Local3)
+ }
+ case (6) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 4, f041, 6}
+ Store(Refof(f041), Local3)
+ }
+ case (7) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 4, f042, 7}
+ Store(Refof(f042), Local3)
+ }
+ case (8) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 4, f043, 8}
+ Store(Refof(f043), Local3)
+ }
+ case (9) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 4, f044, 9}
+ Store(Refof(f044), Local3)
+ }
+ case (31) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 4, f045, 31}
+ Store(Refof(f045), Local3)
+ }
+ case (32) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 4, f046, 32}
+ Store(Refof(f046), Local3)
+ }
+ case (33) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 4, f047, 33}
+ Store(Refof(f047), Local3)
+ }
+ case (63) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 4, f048, 63}
+ Store(Refof(f048), Local3)
+ }
+ case (64) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 4, f049, 64}
+ Store(Refof(f049), Local3)
+ }
+ case (65) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 4, f04a, 65}
+ Store(Refof(f04a), Local3)
+ }
+ case (69) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 4, f04b, 69}
+ Store(Refof(f04b), Local3)
+ }
+ case (129) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 4, f04c, 129}
+ Store(Refof(f04c), Local3)
+ }
+ case (256) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 4, f04d, 256}
+ Store(Refof(f04d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 4, f04e, 1023}
+ Store(Refof(f04e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 4, f04f, 1983}
+ Store(Refof(f04f), Local3)
+ }
+ default {
+ err(arg0, z143, 209, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (5) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 5, f050, 1}
+ Store(Refof(f050), Local3)
+ }
+ case (6) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 5, f051, 6}
+ Store(Refof(f051), Local3)
+ }
+ case (7) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 5, f052, 7}
+ Store(Refof(f052), Local3)
+ }
+ case (8) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 5, f053, 8}
+ Store(Refof(f053), Local3)
+ }
+ case (9) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 5, f054, 9}
+ Store(Refof(f054), Local3)
+ }
+ case (31) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 5, f055, 31}
+ Store(Refof(f055), Local3)
+ }
+ case (32) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 5, f056, 32}
+ Store(Refof(f056), Local3)
+ }
+ case (33) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 5, f057, 33}
+ Store(Refof(f057), Local3)
+ }
+ case (63) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 5, f058, 63}
+ Store(Refof(f058), Local3)
+ }
+ case (64) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 5, f059, 64}
+ Store(Refof(f059), Local3)
+ }
+ case (65) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 5, f05a, 65}
+ Store(Refof(f05a), Local3)
+ }
+ case (69) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 5, f05b, 69}
+ Store(Refof(f05b), Local3)
+ }
+ case (129) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 5, f05c, 129}
+ Store(Refof(f05c), Local3)
+ }
+ case (256) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 5, f05d, 256}
+ Store(Refof(f05d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 5, f05e, 1023}
+ Store(Refof(f05e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 5, f05f, 1983}
+ Store(Refof(f05f), Local3)
+ }
+ default {
+ err(arg0, z143, 210, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (6) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 6, f060, 1}
+ Store(Refof(f060), Local3)
+ }
+ case (6) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 6, f061, 6}
+ Store(Refof(f061), Local3)
+ }
+ case (7) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 6, f062, 7}
+ Store(Refof(f062), Local3)
+ }
+ case (8) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 6, f063, 8}
+ Store(Refof(f063), Local3)
+ }
+ case (9) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 6, f064, 9}
+ Store(Refof(f064), Local3)
+ }
+ case (31) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 6, f065, 31}
+ Store(Refof(f065), Local3)
+ }
+ case (32) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 6, f066, 32}
+ Store(Refof(f066), Local3)
+ }
+ case (33) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 6, f067, 33}
+ Store(Refof(f067), Local3)
+ }
+ case (63) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 6, f068, 63}
+ Store(Refof(f068), Local3)
+ }
+ case (64) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 6, f069, 64}
+ Store(Refof(f069), Local3)
+ }
+ case (65) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 6, f06a, 65}
+ Store(Refof(f06a), Local3)
+ }
+ case (69) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 6, f06b, 69}
+ Store(Refof(f06b), Local3)
+ }
+ case (129) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 6, f06c, 129}
+ Store(Refof(f06c), Local3)
+ }
+ case (256) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 6, f06d, 256}
+ Store(Refof(f06d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 6, f06e, 1023}
+ Store(Refof(f06e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 6, f06f, 1983}
+ Store(Refof(f06f), Local3)
+ }
+ default {
+ err(arg0, z143, 211, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (7) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 7, f070, 1}
+ Store(Refof(f070), Local3)
+ }
+ case (6) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 7, f071, 6}
+ Store(Refof(f071), Local3)
+ }
+ case (7) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 7, f072, 7}
+ Store(Refof(f072), Local3)
+ }
+ case (8) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 7, f073, 8}
+ Store(Refof(f073), Local3)
+ }
+ case (9) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 7, f074, 9}
+ Store(Refof(f074), Local3)
+ }
+ case (31) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 7, f075, 31}
+ Store(Refof(f075), Local3)
+ }
+ case (32) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 7, f076, 32}
+ Store(Refof(f076), Local3)
+ }
+ case (33) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 7, f077, 33}
+ Store(Refof(f077), Local3)
+ }
+ case (63) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 7, f078, 63}
+ Store(Refof(f078), Local3)
+ }
+ case (64) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 7, f079, 64}
+ Store(Refof(f079), Local3)
+ }
+ case (65) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 7, f07a, 65}
+ Store(Refof(f07a), Local3)
+ }
+ case (69) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 7, f07b, 69}
+ Store(Refof(f07b), Local3)
+ }
+ case (129) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 7, f07c, 129}
+ Store(Refof(f07c), Local3)
+ }
+ case (256) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 7, f07d, 256}
+ Store(Refof(f07d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 7, f07e, 1023}
+ Store(Refof(f07e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 7, f07f, 1983}
+ Store(Refof(f07f), Local3)
+ }
+ default {
+ err(arg0, z143, 212, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (8) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(1), f080, 1}
+ Store(Refof(f080), Local3)
+ }
+ case (6) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(1), f081, 6}
+ Store(Refof(f081), Local3)
+ }
+ case (7) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(1), f082, 7}
+ Store(Refof(f082), Local3)
+ }
+ case (8) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(1), f083, 8}
+ Store(Refof(f083), Local3)
+ }
+ case (9) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(1), f084, 9}
+ Store(Refof(f084), Local3)
+ }
+ case (31) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(1), f085, 31}
+ Store(Refof(f085), Local3)
+ }
+ case (32) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(1), f086, 32}
+ Store(Refof(f086), Local3)
+ }
+ case (33) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(1), f087, 33}
+ Store(Refof(f087), Local3)
+ }
+ case (63) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(1), f088, 63}
+ Store(Refof(f088), Local3)
+ }
+ case (64) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(1), f089, 64}
+ Store(Refof(f089), Local3)
+ }
+ case (65) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(1), f08a, 65}
+ Store(Refof(f08a), Local3)
+ }
+ case (69) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(1), f08b, 69}
+ Store(Refof(f08b), Local3)
+ }
+ case (129) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(1), f08c, 129}
+ Store(Refof(f08c), Local3)
+ }
+ case (256) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(1), f08d, 256}
+ Store(Refof(f08d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(1), f08e, 1023}
+ Store(Refof(f08e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(1), f08f, 1983}
+ Store(Refof(f08f), Local3)
+ }
+ default {
+ err(arg0, z143, 213, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (9) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 9, f090, 1}
+ Store(Refof(f090), Local3)
+ }
+ case (6) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 9, f091, 6}
+ Store(Refof(f091), Local3)
+ }
+ case (7) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 9, f092, 7}
+ Store(Refof(f092), Local3)
+ }
+ case (8) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 9, f093, 8}
+ Store(Refof(f093), Local3)
+ }
+ case (9) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 9, f094, 9}
+ Store(Refof(f094), Local3)
+ }
+ case (31) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 9, f095, 31}
+ Store(Refof(f095), Local3)
+ }
+ case (32) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 9, f096, 32}
+ Store(Refof(f096), Local3)
+ }
+ case (33) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 9, f097, 33}
+ Store(Refof(f097), Local3)
+ }
+ case (63) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 9, f098, 63}
+ Store(Refof(f098), Local3)
+ }
+ case (64) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 9, f099, 64}
+ Store(Refof(f099), Local3)
+ }
+ case (65) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 9, f09a, 65}
+ Store(Refof(f09a), Local3)
+ }
+ case (69) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 9, f09b, 69}
+ Store(Refof(f09b), Local3)
+ }
+ case (129) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 9, f09c, 129}
+ Store(Refof(f09c), Local3)
+ }
+ case (256) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 9, f09d, 256}
+ Store(Refof(f09d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 9, f09e, 1023}
+ Store(Refof(f09e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 9, f09f, 1983}
+ Store(Refof(f09f), Local3)
+ }
+ default {
+ err(arg0, z143, 214, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (31) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(3), , 7, f0a0, 1}
+ Store(Refof(f0a0), Local3)
+ }
+ case (6) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(3), , 7, f0a1, 6}
+ Store(Refof(f0a1), Local3)
+ }
+ case (7) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(3), , 7, f0a2, 7}
+ Store(Refof(f0a2), Local3)
+ }
+ case (8) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(3), , 7, f0a3, 8}
+ Store(Refof(f0a3), Local3)
+ }
+ case (9) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(3), , 7, f0a4, 9}
+ Store(Refof(f0a4), Local3)
+ }
+ case (31) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(3), , 7, f0a5, 31}
+ Store(Refof(f0a5), Local3)
+ }
+ case (32) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(3), , 7, f0a6, 32}
+ Store(Refof(f0a6), Local3)
+ }
+ case (33) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(3), , 7, f0a7, 33}
+ Store(Refof(f0a7), Local3)
+ }
+ case (63) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(3), , 7, f0a8, 63}
+ Store(Refof(f0a8), Local3)
+ }
+ case (64) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(3), , 7, f0a9, 64}
+ Store(Refof(f0a9), Local3)
+ }
+ case (65) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(3), , 7, f0aa, 65}
+ Store(Refof(f0aa), Local3)
+ }
+ case (69) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(3), , 7, f0ab, 69}
+ Store(Refof(f0ab), Local3)
+ }
+ case (129) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(3), , 7, f0ac, 129}
+ Store(Refof(f0ac), Local3)
+ }
+ case (256) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(3), , 7, f0ad, 256}
+ Store(Refof(f0ad), Local3)
+ }
+ case (1023) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(3), , 7, f0ae, 1023}
+ Store(Refof(f0ae), Local3)
+ }
+ case (1983) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(3), , 7, f0af, 1983}
+ Store(Refof(f0af), Local3)
+ }
+ default {
+ err(arg0, z143, 215, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (32) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 32, f0b0, 1}
+ Store(Refof(f0b0), Local3)
+ }
+ case (6) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 32, f0b1, 6}
+ Store(Refof(f0b1), Local3)
+ }
+ case (7) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 32, f0b2, 7}
+ Store(Refof(f0b2), Local3)
+ }
+ case (8) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 32, f0b3, 8}
+ Store(Refof(f0b3), Local3)
+ }
+ case (9) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 32, f0b4, 9}
+ Store(Refof(f0b4), Local3)
+ }
+ case (31) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 32, f0b5, 31}
+ Store(Refof(f0b5), Local3)
+ }
+ case (32) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 32, f0b6, 32}
+ Store(Refof(f0b6), Local3)
+ }
+ case (33) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 32, f0b7, 33}
+ Store(Refof(f0b7), Local3)
+ }
+ case (63) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 32, f0b8, 63}
+ Store(Refof(f0b8), Local3)
+ }
+ case (64) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 32, f0b9, 64}
+ Store(Refof(f0b9), Local3)
+ }
+ case (65) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 32, f0ba, 65}
+ Store(Refof(f0ba), Local3)
+ }
+ case (69) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 32, f0bb, 69}
+ Store(Refof(f0bb), Local3)
+ }
+ case (129) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 32, f0bc, 129}
+ Store(Refof(f0bc), Local3)
+ }
+ case (256) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 32, f0bd, 256}
+ Store(Refof(f0bd), Local3)
+ }
+ case (1023) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 32, f0be, 1023}
+ Store(Refof(f0be), Local3)
+ }
+ case (1983) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 32, f0bf, 1983}
+ Store(Refof(f0bf), Local3)
+ }
+ default {
+ err(arg0, z143, 216, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (33) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 33, f0c0, 1}
+ Store(Refof(f0c0), Local3)
+ }
+ case (6) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 33, f0c1, 6}
+ Store(Refof(f0c1), Local3)
+ }
+ case (7) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 33, f0c2, 7}
+ Store(Refof(f0c2), Local3)
+ }
+ case (8) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 33, f0c3, 8}
+ Store(Refof(f0c3), Local3)
+ }
+ case (9) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 33, f0c4, 9}
+ Store(Refof(f0c4), Local3)
+ }
+ case (31) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 33, f0c5, 31}
+ Store(Refof(f0c5), Local3)
+ }
+ case (32) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 33, f0c6, 32}
+ Store(Refof(f0c6), Local3)
+ }
+ case (33) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 33, f0c7, 33}
+ Store(Refof(f0c7), Local3)
+ }
+ case (63) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 33, f0c8, 63}
+ Store(Refof(f0c8), Local3)
+ }
+ case (64) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 33, f0c9, 64}
+ Store(Refof(f0c9), Local3)
+ }
+ case (65) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 33, f0ca, 65}
+ Store(Refof(f0ca), Local3)
+ }
+ case (69) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 33, f0cb, 69}
+ Store(Refof(f0cb), Local3)
+ }
+ case (129) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 33, f0cc, 129}
+ Store(Refof(f0cc), Local3)
+ }
+ case (256) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 33, f0cd, 256}
+ Store(Refof(f0cd), Local3)
+ }
+ case (1023) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 33, f0ce, 1023}
+ Store(Refof(f0ce), Local3)
+ }
+ case (1983) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 33, f0cf, 1983}
+ Store(Refof(f0cf), Local3)
+ }
+ default {
+ err(arg0, z143, 217, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (63) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 63, f0d0, 1}
+ Store(Refof(f0d0), Local3)
+ }
+ case (6) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 63, f0d1, 6}
+ Store(Refof(f0d1), Local3)
+ }
+ case (7) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 63, f0d2, 7}
+ Store(Refof(f0d2), Local3)
+ }
+ case (8) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 63, f0d3, 8}
+ Store(Refof(f0d3), Local3)
+ }
+ case (9) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 63, f0d4, 9}
+ Store(Refof(f0d4), Local3)
+ }
+ case (31) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 63, f0d5, 31}
+ Store(Refof(f0d5), Local3)
+ }
+ case (32) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 63, f0d6, 32}
+ Store(Refof(f0d6), Local3)
+ }
+ case (33) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 63, f0d7, 33}
+ Store(Refof(f0d7), Local3)
+ }
+ case (63) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 63, f0d8, 63}
+ Store(Refof(f0d8), Local3)
+ }
+ case (64) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 63, f0d9, 64}
+ Store(Refof(f0d9), Local3)
+ }
+ case (65) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 63, f0da, 65}
+ Store(Refof(f0da), Local3)
+ }
+ case (69) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 63, f0db, 69}
+ Store(Refof(f0db), Local3)
+ }
+ case (129) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 63, f0dc, 129}
+ Store(Refof(f0dc), Local3)
+ }
+ case (256) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 63, f0dd, 256}
+ Store(Refof(f0dd), Local3)
+ }
+ case (1023) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 63, f0de, 1023}
+ Store(Refof(f0de), Local3)
+ }
+ case (1983) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 63, f0df, 1983}
+ Store(Refof(f0df), Local3)
+ }
+ default {
+ err(arg0, z143, 218, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (64) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 64, f0e0, 1}
+ Store(Refof(f0e0), Local3)
+ }
+ case (6) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 64, f0e1, 6}
+ Store(Refof(f0e1), Local3)
+ }
+ case (7) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 64, f0e2, 7}
+ Store(Refof(f0e2), Local3)
+ }
+ case (8) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 64, f0e3, 8}
+ Store(Refof(f0e3), Local3)
+ }
+ case (9) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 64, f0e4, 9}
+ Store(Refof(f0e4), Local3)
+ }
+ case (31) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 64, f0e5, 31}
+ Store(Refof(f0e5), Local3)
+ }
+ case (32) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 64, f0e6, 32}
+ Store(Refof(f0e6), Local3)
+ }
+ case (33) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 64, f0e7, 33}
+ Store(Refof(f0e7), Local3)
+ }
+ case (63) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 64, f0e8, 63}
+ Store(Refof(f0e8), Local3)
+ }
+ case (64) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 64, f0e9, 64}
+ Store(Refof(f0e9), Local3)
+ }
+ case (65) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 64, f0ea, 65}
+ Store(Refof(f0ea), Local3)
+ }
+ case (69) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 64, f0eb, 69}
+ Store(Refof(f0eb), Local3)
+ }
+ case (129) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 64, f0ec, 129}
+ Store(Refof(f0ec), Local3)
+ }
+ case (256) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 64, f0ed, 256}
+ Store(Refof(f0ed), Local3)
+ }
+ case (1023) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 64, f0ee, 1023}
+ Store(Refof(f0ee), Local3)
+ }
+ case (1983) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ , 64, f0ef, 1983}
+ Store(Refof(f0ef), Local3)
+ }
+ default {
+ err(arg0, z143, 219, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (65) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(8), , 1, f0f0, 1}
+ Store(Refof(f0f0), Local3)
+ }
+ case (6) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(8), , 1, f0f1, 6}
+ Store(Refof(f0f1), Local3)
+ }
+ case (7) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(8), , 1, f0f2, 7}
+ Store(Refof(f0f2), Local3)
+ }
+ case (8) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(8), , 1, f0f3, 8}
+ Store(Refof(f0f3), Local3)
+ }
+ case (9) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(8), , 1, f0f4, 9}
+ Store(Refof(f0f4), Local3)
+ }
+ case (31) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(8), , 1, f0f5, 31}
+ Store(Refof(f0f5), Local3)
+ }
+ case (32) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(8), , 1, f0f6, 32}
+ Store(Refof(f0f6), Local3)
+ }
+ case (33) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(8), , 1, f0f7, 33}
+ Store(Refof(f0f7), Local3)
+ }
+ case (63) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(8), , 1, f0f8, 63}
+ Store(Refof(f0f8), Local3)
+ }
+ case (64) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(8), , 1, f0f9, 64}
+ Store(Refof(f0f9), Local3)
+ }
+ case (65) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(8), , 1, f0fa, 65}
+ Store(Refof(f0fa), Local3)
+ }
+ case (69) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(8), , 1, f0fb, 69}
+ Store(Refof(f0fb), Local3)
+ }
+ case (129) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(8), , 1, f0fc, 129}
+ Store(Refof(f0fc), Local3)
+ }
+ case (256) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(8), , 1, f0fd, 256}
+ Store(Refof(f0fd), Local3)
+ }
+ case (1023) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(8), , 1, f0fe, 1023}
+ Store(Refof(f0fe), Local3)
+ }
+ case (1983) {
+ Field(OPR0, DWordAcc, NoLock, WriteAsZeros) {
+ Offset(8), , 1, f0ff, 1983}
+ Store(Refof(f0ff), Local3)
+ }
+ default {
+ err(arg0, z143, 220, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ default {
+ err(arg0, z143, 221, 0, 0, arg2, arg3)
+ return}
+ }
+
+ m72d(arg0, Local3, arg2, arg3, arg4, arg5, Refof(g001))
+}
+
+// Create Region Field Unit
+// (QWordAcc, NoLock, Preserve)
+Method(m739, 6)
+{
+ OperationRegion(OPR0, SystemMemory, 0, RS00)
+
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ g001, 2048,
+ }
+
+ Concatenate(arg0, "-m739", arg0)
+
+ switch(arg2) {
+ case (0) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 0, f000, 1}
+ Store(Refof(f000), Local3)
+ }
+ case (6) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 0, f001, 6}
+ Store(Refof(f001), Local3)
+ }
+ case (7) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 0, f002, 7}
+ Store(Refof(f002), Local3)
+ }
+ case (8) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 0, f003, 8}
+ Store(Refof(f003), Local3)
+ }
+ case (9) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 0, f004, 9}
+ Store(Refof(f004), Local3)
+ }
+ case (31) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 0, f005, 31}
+ Store(Refof(f005), Local3)
+ }
+ case (32) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 0, f006, 32}
+ Store(Refof(f006), Local3)
+ }
+ case (33) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 0, f007, 33}
+ Store(Refof(f007), Local3)
+ }
+ case (63) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 0, f008, 63}
+ Store(Refof(f008), Local3)
+ }
+ case (64) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 0, f009, 64}
+ Store(Refof(f009), Local3)
+ }
+ case (65) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 0, f00a, 65}
+ Store(Refof(f00a), Local3)
+ }
+ case (69) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 0, f00b, 69}
+ Store(Refof(f00b), Local3)
+ }
+ case (129) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 0, f00c, 129}
+ Store(Refof(f00c), Local3)
+ }
+ case (256) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 0, f00d, 256}
+ Store(Refof(f00d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 0, f00e, 1023}
+ Store(Refof(f00e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 0, f00f, 1983}
+ Store(Refof(f00f), Local3)
+ }
+ default {
+ err(arg0, z143, 222, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (1) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 1, f010, 1}
+ Store(Refof(f010), Local3)
+ }
+ case (6) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 1, f011, 6}
+ Store(Refof(f011), Local3)
+ }
+ case (7) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 1, f012, 7}
+ Store(Refof(f012), Local3)
+ }
+ case (8) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 1, f013, 8}
+ Store(Refof(f013), Local3)
+ }
+ case (9) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 1, f014, 9}
+ Store(Refof(f014), Local3)
+ }
+ case (31) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 1, f015, 31}
+ Store(Refof(f015), Local3)
+ }
+ case (32) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 1, f016, 32}
+ Store(Refof(f016), Local3)
+ }
+ case (33) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 1, f017, 33}
+ Store(Refof(f017), Local3)
+ }
+ case (63) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 1, f018, 63}
+ Store(Refof(f018), Local3)
+ }
+ case (64) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 1, f019, 64}
+ Store(Refof(f019), Local3)
+ }
+ case (65) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 1, f01a, 65}
+ Store(Refof(f01a), Local3)
+ }
+ case (69) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 1, f01b, 69}
+ Store(Refof(f01b), Local3)
+ }
+ case (129) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 1, f01c, 129}
+ Store(Refof(f01c), Local3)
+ }
+ case (256) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 1, f01d, 256}
+ Store(Refof(f01d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 1, f01e, 1023}
+ Store(Refof(f01e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 1, f01f, 1983}
+ Store(Refof(f01f), Local3)
+ }
+ default {
+ err(arg0, z143, 223, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (2) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ Offset(0), , 2, f020, 1}
+ Store(Refof(f020), Local3)
+ }
+ case (6) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ Offset(0), , 2, f021, 6}
+ Store(Refof(f021), Local3)
+ }
+ case (7) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ Offset(0), , 2, f022, 7}
+ Store(Refof(f022), Local3)
+ }
+ case (8) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ Offset(0), , 2, f023, 8}
+ Store(Refof(f023), Local3)
+ }
+ case (9) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ Offset(0), , 2, f024, 9}
+ Store(Refof(f024), Local3)
+ }
+ case (31) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ Offset(0), , 2, f025, 31}
+ Store(Refof(f025), Local3)
+ }
+ case (32) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ Offset(0), , 2, f026, 32}
+ Store(Refof(f026), Local3)
+ }
+ case (33) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ Offset(0), , 2, f027, 33}
+ Store(Refof(f027), Local3)
+ }
+ case (63) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ Offset(0), , 2, f028, 63}
+ Store(Refof(f028), Local3)
+ }
+ case (64) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ Offset(0), , 2, f029, 64}
+ Store(Refof(f029), Local3)
+ }
+ case (65) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ Offset(0), , 2, f02a, 65}
+ Store(Refof(f02a), Local3)
+ }
+ case (69) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ Offset(0), , 2, f02b, 69}
+ Store(Refof(f02b), Local3)
+ }
+ case (129) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ Offset(0), , 2, f02c, 129}
+ Store(Refof(f02c), Local3)
+ }
+ case (256) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ Offset(0), , 2, f02d, 256}
+ Store(Refof(f02d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ Offset(0), , 2, f02e, 1023}
+ Store(Refof(f02e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ Offset(0), , 2, f02f, 1983}
+ Store(Refof(f02f), Local3)
+ }
+ default {
+ err(arg0, z143, 224, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (3) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 3, f030, 1}
+ Store(Refof(f030), Local3)
+ }
+ case (6) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 3, f031, 6}
+ Store(Refof(f031), Local3)
+ }
+ case (7) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 3, f032, 7}
+ Store(Refof(f032), Local3)
+ }
+ case (8) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 3, f033, 8}
+ Store(Refof(f033), Local3)
+ }
+ case (9) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 3, f034, 9}
+ Store(Refof(f034), Local3)
+ }
+ case (31) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 3, f035, 31}
+ Store(Refof(f035), Local3)
+ }
+ case (32) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 3, f036, 32}
+ Store(Refof(f036), Local3)
+ }
+ case (33) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 3, f037, 33}
+ Store(Refof(f037), Local3)
+ }
+ case (63) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 3, f038, 63}
+ Store(Refof(f038), Local3)
+ }
+ case (64) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 3, f039, 64}
+ Store(Refof(f039), Local3)
+ }
+ case (65) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 3, f03a, 65}
+ Store(Refof(f03a), Local3)
+ }
+ case (69) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 3, f03b, 69}
+ Store(Refof(f03b), Local3)
+ }
+ case (129) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 3, f03c, 129}
+ Store(Refof(f03c), Local3)
+ }
+ case (256) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 3, f03d, 256}
+ Store(Refof(f03d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 3, f03e, 1023}
+ Store(Refof(f03e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 3, f03f, 1983}
+ Store(Refof(f03f), Local3)
+ }
+ default {
+ err(arg0, z143, 225, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (4) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 4, f040, 1}
+ Store(Refof(f040), Local3)
+ }
+ case (6) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 4, f041, 6}
+ Store(Refof(f041), Local3)
+ }
+ case (7) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 4, f042, 7}
+ Store(Refof(f042), Local3)
+ }
+ case (8) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 4, f043, 8}
+ Store(Refof(f043), Local3)
+ }
+ case (9) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 4, f044, 9}
+ Store(Refof(f044), Local3)
+ }
+ case (31) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 4, f045, 31}
+ Store(Refof(f045), Local3)
+ }
+ case (32) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 4, f046, 32}
+ Store(Refof(f046), Local3)
+ }
+ case (33) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 4, f047, 33}
+ Store(Refof(f047), Local3)
+ }
+ case (63) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 4, f048, 63}
+ Store(Refof(f048), Local3)
+ }
+ case (64) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 4, f049, 64}
+ Store(Refof(f049), Local3)
+ }
+ case (65) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 4, f04a, 65}
+ Store(Refof(f04a), Local3)
+ }
+ case (69) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 4, f04b, 69}
+ Store(Refof(f04b), Local3)
+ }
+ case (129) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 4, f04c, 129}
+ Store(Refof(f04c), Local3)
+ }
+ case (256) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 4, f04d, 256}
+ Store(Refof(f04d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 4, f04e, 1023}
+ Store(Refof(f04e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 4, f04f, 1983}
+ Store(Refof(f04f), Local3)
+ }
+ default {
+ err(arg0, z143, 226, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (5) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 5, f050, 1}
+ Store(Refof(f050), Local3)
+ }
+ case (6) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 5, f051, 6}
+ Store(Refof(f051), Local3)
+ }
+ case (7) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 5, f052, 7}
+ Store(Refof(f052), Local3)
+ }
+ case (8) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 5, f053, 8}
+ Store(Refof(f053), Local3)
+ }
+ case (9) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 5, f054, 9}
+ Store(Refof(f054), Local3)
+ }
+ case (31) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 5, f055, 31}
+ Store(Refof(f055), Local3)
+ }
+ case (32) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 5, f056, 32}
+ Store(Refof(f056), Local3)
+ }
+ case (33) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 5, f057, 33}
+ Store(Refof(f057), Local3)
+ }
+ case (63) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 5, f058, 63}
+ Store(Refof(f058), Local3)
+ }
+ case (64) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 5, f059, 64}
+ Store(Refof(f059), Local3)
+ }
+ case (65) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 5, f05a, 65}
+ Store(Refof(f05a), Local3)
+ }
+ case (69) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 5, f05b, 69}
+ Store(Refof(f05b), Local3)
+ }
+ case (129) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 5, f05c, 129}
+ Store(Refof(f05c), Local3)
+ }
+ case (256) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 5, f05d, 256}
+ Store(Refof(f05d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 5, f05e, 1023}
+ Store(Refof(f05e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 5, f05f, 1983}
+ Store(Refof(f05f), Local3)
+ }
+ default {
+ err(arg0, z143, 227, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (6) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 6, f060, 1}
+ Store(Refof(f060), Local3)
+ }
+ case (6) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 6, f061, 6}
+ Store(Refof(f061), Local3)
+ }
+ case (7) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 6, f062, 7}
+ Store(Refof(f062), Local3)
+ }
+ case (8) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 6, f063, 8}
+ Store(Refof(f063), Local3)
+ }
+ case (9) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 6, f064, 9}
+ Store(Refof(f064), Local3)
+ }
+ case (31) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 6, f065, 31}
+ Store(Refof(f065), Local3)
+ }
+ case (32) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 6, f066, 32}
+ Store(Refof(f066), Local3)
+ }
+ case (33) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 6, f067, 33}
+ Store(Refof(f067), Local3)
+ }
+ case (63) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 6, f068, 63}
+ Store(Refof(f068), Local3)
+ }
+ case (64) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 6, f069, 64}
+ Store(Refof(f069), Local3)
+ }
+ case (65) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 6, f06a, 65}
+ Store(Refof(f06a), Local3)
+ }
+ case (69) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 6, f06b, 69}
+ Store(Refof(f06b), Local3)
+ }
+ case (129) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 6, f06c, 129}
+ Store(Refof(f06c), Local3)
+ }
+ case (256) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 6, f06d, 256}
+ Store(Refof(f06d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 6, f06e, 1023}
+ Store(Refof(f06e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 6, f06f, 1983}
+ Store(Refof(f06f), Local3)
+ }
+ default {
+ err(arg0, z143, 228, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (7) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 7, f070, 1}
+ Store(Refof(f070), Local3)
+ }
+ case (6) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 7, f071, 6}
+ Store(Refof(f071), Local3)
+ }
+ case (7) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 7, f072, 7}
+ Store(Refof(f072), Local3)
+ }
+ case (8) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 7, f073, 8}
+ Store(Refof(f073), Local3)
+ }
+ case (9) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 7, f074, 9}
+ Store(Refof(f074), Local3)
+ }
+ case (31) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 7, f075, 31}
+ Store(Refof(f075), Local3)
+ }
+ case (32) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 7, f076, 32}
+ Store(Refof(f076), Local3)
+ }
+ case (33) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 7, f077, 33}
+ Store(Refof(f077), Local3)
+ }
+ case (63) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 7, f078, 63}
+ Store(Refof(f078), Local3)
+ }
+ case (64) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 7, f079, 64}
+ Store(Refof(f079), Local3)
+ }
+ case (65) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 7, f07a, 65}
+ Store(Refof(f07a), Local3)
+ }
+ case (69) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 7, f07b, 69}
+ Store(Refof(f07b), Local3)
+ }
+ case (129) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 7, f07c, 129}
+ Store(Refof(f07c), Local3)
+ }
+ case (256) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 7, f07d, 256}
+ Store(Refof(f07d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 7, f07e, 1023}
+ Store(Refof(f07e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 7, f07f, 1983}
+ Store(Refof(f07f), Local3)
+ }
+ default {
+ err(arg0, z143, 229, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (8) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ Offset(1), f080, 1}
+ Store(Refof(f080), Local3)
+ }
+ case (6) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ Offset(1), f081, 6}
+ Store(Refof(f081), Local3)
+ }
+ case (7) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ Offset(1), f082, 7}
+ Store(Refof(f082), Local3)
+ }
+ case (8) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ Offset(1), f083, 8}
+ Store(Refof(f083), Local3)
+ }
+ case (9) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ Offset(1), f084, 9}
+ Store(Refof(f084), Local3)
+ }
+ case (31) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ Offset(1), f085, 31}
+ Store(Refof(f085), Local3)
+ }
+ case (32) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ Offset(1), f086, 32}
+ Store(Refof(f086), Local3)
+ }
+ case (33) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ Offset(1), f087, 33}
+ Store(Refof(f087), Local3)
+ }
+ case (63) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ Offset(1), f088, 63}
+ Store(Refof(f088), Local3)
+ }
+ case (64) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ Offset(1), f089, 64}
+ Store(Refof(f089), Local3)
+ }
+ case (65) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ Offset(1), f08a, 65}
+ Store(Refof(f08a), Local3)
+ }
+ case (69) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ Offset(1), f08b, 69}
+ Store(Refof(f08b), Local3)
+ }
+ case (129) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ Offset(1), f08c, 129}
+ Store(Refof(f08c), Local3)
+ }
+ case (256) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ Offset(1), f08d, 256}
+ Store(Refof(f08d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ Offset(1), f08e, 1023}
+ Store(Refof(f08e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ Offset(1), f08f, 1983}
+ Store(Refof(f08f), Local3)
+ }
+ default {
+ err(arg0, z143, 230, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (9) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 9, f090, 1}
+ Store(Refof(f090), Local3)
+ }
+ case (6) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 9, f091, 6}
+ Store(Refof(f091), Local3)
+ }
+ case (7) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 9, f092, 7}
+ Store(Refof(f092), Local3)
+ }
+ case (8) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 9, f093, 8}
+ Store(Refof(f093), Local3)
+ }
+ case (9) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 9, f094, 9}
+ Store(Refof(f094), Local3)
+ }
+ case (31) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 9, f095, 31}
+ Store(Refof(f095), Local3)
+ }
+ case (32) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 9, f096, 32}
+ Store(Refof(f096), Local3)
+ }
+ case (33) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 9, f097, 33}
+ Store(Refof(f097), Local3)
+ }
+ case (63) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 9, f098, 63}
+ Store(Refof(f098), Local3)
+ }
+ case (64) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 9, f099, 64}
+ Store(Refof(f099), Local3)
+ }
+ case (65) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 9, f09a, 65}
+ Store(Refof(f09a), Local3)
+ }
+ case (69) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 9, f09b, 69}
+ Store(Refof(f09b), Local3)
+ }
+ case (129) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 9, f09c, 129}
+ Store(Refof(f09c), Local3)
+ }
+ case (256) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 9, f09d, 256}
+ Store(Refof(f09d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 9, f09e, 1023}
+ Store(Refof(f09e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 9, f09f, 1983}
+ Store(Refof(f09f), Local3)
+ }
+ default {
+ err(arg0, z143, 231, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (31) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0a0, 1}
+ Store(Refof(f0a0), Local3)
+ }
+ case (6) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0a1, 6}
+ Store(Refof(f0a1), Local3)
+ }
+ case (7) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0a2, 7}
+ Store(Refof(f0a2), Local3)
+ }
+ case (8) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0a3, 8}
+ Store(Refof(f0a3), Local3)
+ }
+ case (9) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0a4, 9}
+ Store(Refof(f0a4), Local3)
+ }
+ case (31) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0a5, 31}
+ Store(Refof(f0a5), Local3)
+ }
+ case (32) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0a6, 32}
+ Store(Refof(f0a6), Local3)
+ }
+ case (33) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0a7, 33}
+ Store(Refof(f0a7), Local3)
+ }
+ case (63) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0a8, 63}
+ Store(Refof(f0a8), Local3)
+ }
+ case (64) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0a9, 64}
+ Store(Refof(f0a9), Local3)
+ }
+ case (65) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0aa, 65}
+ Store(Refof(f0aa), Local3)
+ }
+ case (69) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0ab, 69}
+ Store(Refof(f0ab), Local3)
+ }
+ case (129) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0ac, 129}
+ Store(Refof(f0ac), Local3)
+ }
+ case (256) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0ad, 256}
+ Store(Refof(f0ad), Local3)
+ }
+ case (1023) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0ae, 1023}
+ Store(Refof(f0ae), Local3)
+ }
+ case (1983) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0af, 1983}
+ Store(Refof(f0af), Local3)
+ }
+ default {
+ err(arg0, z143, 231, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (32) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 32, f0b0, 1}
+ Store(Refof(f0b0), Local3)
+ }
+ case (6) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 32, f0b1, 6}
+ Store(Refof(f0b1), Local3)
+ }
+ case (7) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 32, f0b2, 7}
+ Store(Refof(f0b2), Local3)
+ }
+ case (8) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 32, f0b3, 8}
+ Store(Refof(f0b3), Local3)
+ }
+ case (9) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 32, f0b4, 9}
+ Store(Refof(f0b4), Local3)
+ }
+ case (31) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 32, f0b5, 31}
+ Store(Refof(f0b5), Local3)
+ }
+ case (32) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 32, f0b6, 32}
+ Store(Refof(f0b6), Local3)
+ }
+ case (33) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 32, f0b7, 33}
+ Store(Refof(f0b7), Local3)
+ }
+ case (63) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 32, f0b8, 63}
+ Store(Refof(f0b8), Local3)
+ }
+ case (64) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 32, f0b9, 64}
+ Store(Refof(f0b9), Local3)
+ }
+ case (65) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 32, f0ba, 65}
+ Store(Refof(f0ba), Local3)
+ }
+ case (69) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 32, f0bb, 69}
+ Store(Refof(f0bb), Local3)
+ }
+ case (129) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 32, f0bc, 129}
+ Store(Refof(f0bc), Local3)
+ }
+ case (256) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 32, f0bd, 256}
+ Store(Refof(f0bd), Local3)
+ }
+ case (1023) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 32, f0be, 1023}
+ Store(Refof(f0be), Local3)
+ }
+ case (1983) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 32, f0bf, 1983}
+ Store(Refof(f0bf), Local3)
+ }
+ default {
+ err(arg0, z143, 233, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (33) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 33, f0c0, 1}
+ Store(Refof(f0c0), Local3)
+ }
+ case (6) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 33, f0c1, 6}
+ Store(Refof(f0c1), Local3)
+ }
+ case (7) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 33, f0c2, 7}
+ Store(Refof(f0c2), Local3)
+ }
+ case (8) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 33, f0c3, 8}
+ Store(Refof(f0c3), Local3)
+ }
+ case (9) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 33, f0c4, 9}
+ Store(Refof(f0c4), Local3)
+ }
+ case (31) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 33, f0c5, 31}
+ Store(Refof(f0c5), Local3)
+ }
+ case (32) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 33, f0c6, 32}
+ Store(Refof(f0c6), Local3)
+ }
+ case (33) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 33, f0c7, 33}
+ Store(Refof(f0c7), Local3)
+ }
+ case (63) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 33, f0c8, 63}
+ Store(Refof(f0c8), Local3)
+ }
+ case (64) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 33, f0c9, 64}
+ Store(Refof(f0c9), Local3)
+ }
+ case (65) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 33, f0ca, 65}
+ Store(Refof(f0ca), Local3)
+ }
+ case (69) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 33, f0cb, 69}
+ Store(Refof(f0cb), Local3)
+ }
+ case (129) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 33, f0cc, 129}
+ Store(Refof(f0cc), Local3)
+ }
+ case (256) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 33, f0cd, 256}
+ Store(Refof(f0cd), Local3)
+ }
+ case (1023) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 33, f0ce, 1023}
+ Store(Refof(f0ce), Local3)
+ }
+ case (1983) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 33, f0cf, 1983}
+ Store(Refof(f0cf), Local3)
+ }
+ default {
+ err(arg0, z143, 234, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (63) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 63, f0d0, 1}
+ Store(Refof(f0d0), Local3)
+ }
+ case (6) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 63, f0d1, 6}
+ Store(Refof(f0d1), Local3)
+ }
+ case (7) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 63, f0d2, 7}
+ Store(Refof(f0d2), Local3)
+ }
+ case (8) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 63, f0d3, 8}
+ Store(Refof(f0d3), Local3)
+ }
+ case (9) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 63, f0d4, 9}
+ Store(Refof(f0d4), Local3)
+ }
+ case (31) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 63, f0d5, 31}
+ Store(Refof(f0d5), Local3)
+ }
+ case (32) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 63, f0d6, 32}
+ Store(Refof(f0d6), Local3)
+ }
+ case (33) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 63, f0d7, 33}
+ Store(Refof(f0d7), Local3)
+ }
+ case (63) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 63, f0d8, 63}
+ Store(Refof(f0d8), Local3)
+ }
+ case (64) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 63, f0d9, 64}
+ Store(Refof(f0d9), Local3)
+ }
+ case (65) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 63, f0da, 65}
+ Store(Refof(f0da), Local3)
+ }
+ case (69) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 63, f0db, 69}
+ Store(Refof(f0db), Local3)
+ }
+ case (129) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 63, f0dc, 129}
+ Store(Refof(f0dc), Local3)
+ }
+ case (256) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 63, f0dd, 256}
+ Store(Refof(f0dd), Local3)
+ }
+ case (1023) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 63, f0de, 1023}
+ Store(Refof(f0de), Local3)
+ }
+ case (1983) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 63, f0df, 1983}
+ Store(Refof(f0df), Local3)
+ }
+ default {
+ err(arg0, z143, 235, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (64) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 64, f0e0, 1}
+ Store(Refof(f0e0), Local3)
+ }
+ case (6) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 64, f0e1, 6}
+ Store(Refof(f0e1), Local3)
+ }
+ case (7) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 64, f0e2, 7}
+ Store(Refof(f0e2), Local3)
+ }
+ case (8) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 64, f0e3, 8}
+ Store(Refof(f0e3), Local3)
+ }
+ case (9) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 64, f0e4, 9}
+ Store(Refof(f0e4), Local3)
+ }
+ case (31) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 64, f0e5, 31}
+ Store(Refof(f0e5), Local3)
+ }
+ case (32) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 64, f0e6, 32}
+ Store(Refof(f0e6), Local3)
+ }
+ case (33) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 64, f0e7, 33}
+ Store(Refof(f0e7), Local3)
+ }
+ case (63) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 64, f0e8, 63}
+ Store(Refof(f0e8), Local3)
+ }
+ case (64) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 64, f0e9, 64}
+ Store(Refof(f0e9), Local3)
+ }
+ case (65) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 64, f0ea, 65}
+ Store(Refof(f0ea), Local3)
+ }
+ case (69) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 64, f0eb, 69}
+ Store(Refof(f0eb), Local3)
+ }
+ case (129) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 64, f0ec, 129}
+ Store(Refof(f0ec), Local3)
+ }
+ case (256) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 64, f0ed, 256}
+ Store(Refof(f0ed), Local3)
+ }
+ case (1023) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 64, f0ee, 1023}
+ Store(Refof(f0ee), Local3)
+ }
+ case (1983) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ , 64, f0ef, 1983}
+ Store(Refof(f0ef), Local3)
+ }
+ default {
+ err(arg0, z143, 236, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (65) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0f0, 1}
+ Store(Refof(f0f0), Local3)
+ }
+ case (6) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0f1, 6}
+ Store(Refof(f0f1), Local3)
+ }
+ case (7) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0f2, 7}
+ Store(Refof(f0f2), Local3)
+ }
+ case (8) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0f3, 8}
+ Store(Refof(f0f3), Local3)
+ }
+ case (9) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0f4, 9}
+ Store(Refof(f0f4), Local3)
+ }
+ case (31) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0f5, 31}
+ Store(Refof(f0f5), Local3)
+ }
+ case (32) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0f6, 32}
+ Store(Refof(f0f6), Local3)
+ }
+ case (33) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0f7, 33}
+ Store(Refof(f0f7), Local3)
+ }
+ case (63) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0f8, 63}
+ Store(Refof(f0f8), Local3)
+ }
+ case (64) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0f9, 64}
+ Store(Refof(f0f9), Local3)
+ }
+ case (65) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0fa, 65}
+ Store(Refof(f0fa), Local3)
+ }
+ case (69) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0fb, 69}
+ Store(Refof(f0fb), Local3)
+ }
+ case (129) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0fc, 129}
+ Store(Refof(f0fc), Local3)
+ }
+ case (256) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0fd, 256}
+ Store(Refof(f0fd), Local3)
+ }
+ case (1023) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0fe, 1023}
+ Store(Refof(f0fe), Local3)
+ }
+ case (1983) {
+ Field(OPR0, QWordAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0ff, 1983}
+ Store(Refof(f0ff), Local3)
+ }
+ default {
+ err(arg0, z143, 237, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ default {
+ err(arg0, z143, 238, 0, 0, arg2, arg3)
+ return}
+ }
+
+ m72d(arg0, Local3, arg2, arg3, arg4, arg5, Refof(g001))
+}
+
+// Create Region Field Unit
+// (QWordAcc, NoLock, WriteAsOnes)
+Method(m73a, 6)
+{
+ OperationRegion(OPR0, SystemMemory, 0, RS00)
+
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ g001, 2048,
+ }
+
+ Concatenate(arg0, "-m73a", arg0)
+
+ switch(arg2) {
+ case (0) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 0, f000, 1}
+ Store(Refof(f000), Local3)
+ }
+ case (6) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 0, f001, 6}
+ Store(Refof(f001), Local3)
+ }
+ case (7) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 0, f002, 7}
+ Store(Refof(f002), Local3)
+ }
+ case (8) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 0, f003, 8}
+ Store(Refof(f003), Local3)
+ }
+ case (9) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 0, f004, 9}
+ Store(Refof(f004), Local3)
+ }
+ case (31) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 0, f005, 31}
+ Store(Refof(f005), Local3)
+ }
+ case (32) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 0, f006, 32}
+ Store(Refof(f006), Local3)
+ }
+ case (33) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 0, f007, 33}
+ Store(Refof(f007), Local3)
+ }
+ case (63) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 0, f008, 63}
+ Store(Refof(f008), Local3)
+ }
+ case (64) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 0, f009, 64}
+ Store(Refof(f009), Local3)
+ }
+ case (65) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 0, f00a, 65}
+ Store(Refof(f00a), Local3)
+ }
+ case (69) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 0, f00b, 69}
+ Store(Refof(f00b), Local3)
+ }
+ case (129) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 0, f00c, 129}
+ Store(Refof(f00c), Local3)
+ }
+ case (256) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 0, f00d, 256}
+ Store(Refof(f00d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 0, f00e, 1023}
+ Store(Refof(f00e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 0, f00f, 1983}
+ Store(Refof(f00f), Local3)
+ }
+ default {
+ err(arg0, z143, 239, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (1) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 1, f010, 1}
+ Store(Refof(f010), Local3)
+ }
+ case (6) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 1, f011, 6}
+ Store(Refof(f011), Local3)
+ }
+ case (7) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 1, f012, 7}
+ Store(Refof(f012), Local3)
+ }
+ case (8) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 1, f013, 8}
+ Store(Refof(f013), Local3)
+ }
+ case (9) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 1, f014, 9}
+ Store(Refof(f014), Local3)
+ }
+ case (31) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 1, f015, 31}
+ Store(Refof(f015), Local3)
+ }
+ case (32) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 1, f016, 32}
+ Store(Refof(f016), Local3)
+ }
+ case (33) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 1, f017, 33}
+ Store(Refof(f017), Local3)
+ }
+ case (63) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 1, f018, 63}
+ Store(Refof(f018), Local3)
+ }
+ case (64) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 1, f019, 64}
+ Store(Refof(f019), Local3)
+ }
+ case (65) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 1, f01a, 65}
+ Store(Refof(f01a), Local3)
+ }
+ case (69) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 1, f01b, 69}
+ Store(Refof(f01b), Local3)
+ }
+ case (129) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 1, f01c, 129}
+ Store(Refof(f01c), Local3)
+ }
+ case (256) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 1, f01d, 256}
+ Store(Refof(f01d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 1, f01e, 1023}
+ Store(Refof(f01e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 1, f01f, 1983}
+ Store(Refof(f01f), Local3)
+ }
+ default {
+ err(arg0, z143, 240, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (2) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ Offset(0), , 2, f020, 1}
+ Store(Refof(f020), Local3)
+ }
+ case (6) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ Offset(0), , 2, f021, 6}
+ Store(Refof(f021), Local3)
+ }
+ case (7) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ Offset(0), , 2, f022, 7}
+ Store(Refof(f022), Local3)
+ }
+ case (8) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ Offset(0), , 2, f023, 8}
+ Store(Refof(f023), Local3)
+ }
+ case (9) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ Offset(0), , 2, f024, 9}
+ Store(Refof(f024), Local3)
+ }
+ case (31) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ Offset(0), , 2, f025, 31}
+ Store(Refof(f025), Local3)
+ }
+ case (32) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ Offset(0), , 2, f026, 32}
+ Store(Refof(f026), Local3)
+ }
+ case (33) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ Offset(0), , 2, f027, 33}
+ Store(Refof(f027), Local3)
+ }
+ case (63) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ Offset(0), , 2, f028, 63}
+ Store(Refof(f028), Local3)
+ }
+ case (64) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ Offset(0), , 2, f029, 64}
+ Store(Refof(f029), Local3)
+ }
+ case (65) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ Offset(0), , 2, f02a, 65}
+ Store(Refof(f02a), Local3)
+ }
+ case (69) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ Offset(0), , 2, f02b, 69}
+ Store(Refof(f02b), Local3)
+ }
+ case (129) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ Offset(0), , 2, f02c, 129}
+ Store(Refof(f02c), Local3)
+ }
+ case (256) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ Offset(0), , 2, f02d, 256}
+ Store(Refof(f02d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ Offset(0), , 2, f02e, 1023}
+ Store(Refof(f02e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ Offset(0), , 2, f02f, 1983}
+ Store(Refof(f02f), Local3)
+ }
+ default {
+ err(arg0, z143, 241, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (3) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 3, f030, 1}
+ Store(Refof(f030), Local3)
+ }
+ case (6) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 3, f031, 6}
+ Store(Refof(f031), Local3)
+ }
+ case (7) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 3, f032, 7}
+ Store(Refof(f032), Local3)
+ }
+ case (8) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 3, f033, 8}
+ Store(Refof(f033), Local3)
+ }
+ case (9) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 3, f034, 9}
+ Store(Refof(f034), Local3)
+ }
+ case (31) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 3, f035, 31}
+ Store(Refof(f035), Local3)
+ }
+ case (32) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 3, f036, 32}
+ Store(Refof(f036), Local3)
+ }
+ case (33) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 3, f037, 33}
+ Store(Refof(f037), Local3)
+ }
+ case (63) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 3, f038, 63}
+ Store(Refof(f038), Local3)
+ }
+ case (64) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 3, f039, 64}
+ Store(Refof(f039), Local3)
+ }
+ case (65) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 3, f03a, 65}
+ Store(Refof(f03a), Local3)
+ }
+ case (69) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 3, f03b, 69}
+ Store(Refof(f03b), Local3)
+ }
+ case (129) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 3, f03c, 129}
+ Store(Refof(f03c), Local3)
+ }
+ case (256) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 3, f03d, 256}
+ Store(Refof(f03d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 3, f03e, 1023}
+ Store(Refof(f03e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 3, f03f, 1983}
+ Store(Refof(f03f), Local3)
+ }
+ default {
+ err(arg0, z143, 242, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (4) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 4, f040, 1}
+ Store(Refof(f040), Local3)
+ }
+ case (6) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 4, f041, 6}
+ Store(Refof(f041), Local3)
+ }
+ case (7) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 4, f042, 7}
+ Store(Refof(f042), Local3)
+ }
+ case (8) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 4, f043, 8}
+ Store(Refof(f043), Local3)
+ }
+ case (9) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 4, f044, 9}
+ Store(Refof(f044), Local3)
+ }
+ case (31) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 4, f045, 31}
+ Store(Refof(f045), Local3)
+ }
+ case (32) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 4, f046, 32}
+ Store(Refof(f046), Local3)
+ }
+ case (33) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 4, f047, 33}
+ Store(Refof(f047), Local3)
+ }
+ case (63) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 4, f048, 63}
+ Store(Refof(f048), Local3)
+ }
+ case (64) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 4, f049, 64}
+ Store(Refof(f049), Local3)
+ }
+ case (65) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 4, f04a, 65}
+ Store(Refof(f04a), Local3)
+ }
+ case (69) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 4, f04b, 69}
+ Store(Refof(f04b), Local3)
+ }
+ case (129) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 4, f04c, 129}
+ Store(Refof(f04c), Local3)
+ }
+ case (256) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 4, f04d, 256}
+ Store(Refof(f04d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 4, f04e, 1023}
+ Store(Refof(f04e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 4, f04f, 1983}
+ Store(Refof(f04f), Local3)
+ }
+ default {
+ err(arg0, z143, 243, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (5) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 5, f050, 1}
+ Store(Refof(f050), Local3)
+ }
+ case (6) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 5, f051, 6}
+ Store(Refof(f051), Local3)
+ }
+ case (7) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 5, f052, 7}
+ Store(Refof(f052), Local3)
+ }
+ case (8) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 5, f053, 8}
+ Store(Refof(f053), Local3)
+ }
+ case (9) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 5, f054, 9}
+ Store(Refof(f054), Local3)
+ }
+ case (31) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 5, f055, 31}
+ Store(Refof(f055), Local3)
+ }
+ case (32) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 5, f056, 32}
+ Store(Refof(f056), Local3)
+ }
+ case (33) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 5, f057, 33}
+ Store(Refof(f057), Local3)
+ }
+ case (63) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 5, f058, 63}
+ Store(Refof(f058), Local3)
+ }
+ case (64) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 5, f059, 64}
+ Store(Refof(f059), Local3)
+ }
+ case (65) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 5, f05a, 65}
+ Store(Refof(f05a), Local3)
+ }
+ case (69) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 5, f05b, 69}
+ Store(Refof(f05b), Local3)
+ }
+ case (129) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 5, f05c, 129}
+ Store(Refof(f05c), Local3)
+ }
+ case (256) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 5, f05d, 256}
+ Store(Refof(f05d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 5, f05e, 1023}
+ Store(Refof(f05e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 5, f05f, 1983}
+ Store(Refof(f05f), Local3)
+ }
+ default {
+ err(arg0, z143, 244, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (6) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 6, f060, 1}
+ Store(Refof(f060), Local3)
+ }
+ case (6) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 6, f061, 6}
+ Store(Refof(f061), Local3)
+ }
+ case (7) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 6, f062, 7}
+ Store(Refof(f062), Local3)
+ }
+ case (8) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 6, f063, 8}
+ Store(Refof(f063), Local3)
+ }
+ case (9) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 6, f064, 9}
+ Store(Refof(f064), Local3)
+ }
+ case (31) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 6, f065, 31}
+ Store(Refof(f065), Local3)
+ }
+ case (32) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 6, f066, 32}
+ Store(Refof(f066), Local3)
+ }
+ case (33) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 6, f067, 33}
+ Store(Refof(f067), Local3)
+ }
+ case (63) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 6, f068, 63}
+ Store(Refof(f068), Local3)
+ }
+ case (64) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 6, f069, 64}
+ Store(Refof(f069), Local3)
+ }
+ case (65) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 6, f06a, 65}
+ Store(Refof(f06a), Local3)
+ }
+ case (69) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 6, f06b, 69}
+ Store(Refof(f06b), Local3)
+ }
+ case (129) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 6, f06c, 129}
+ Store(Refof(f06c), Local3)
+ }
+ case (256) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 6, f06d, 256}
+ Store(Refof(f06d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 6, f06e, 1023}
+ Store(Refof(f06e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 6, f06f, 1983}
+ Store(Refof(f06f), Local3)
+ }
+ default {
+ err(arg0, z143, 245, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (7) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 7, f070, 1}
+ Store(Refof(f070), Local3)
+ }
+ case (6) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 7, f071, 6}
+ Store(Refof(f071), Local3)
+ }
+ case (7) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 7, f072, 7}
+ Store(Refof(f072), Local3)
+ }
+ case (8) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 7, f073, 8}
+ Store(Refof(f073), Local3)
+ }
+ case (9) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 7, f074, 9}
+ Store(Refof(f074), Local3)
+ }
+ case (31) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 7, f075, 31}
+ Store(Refof(f075), Local3)
+ }
+ case (32) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 7, f076, 32}
+ Store(Refof(f076), Local3)
+ }
+ case (33) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 7, f077, 33}
+ Store(Refof(f077), Local3)
+ }
+ case (63) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 7, f078, 63}
+ Store(Refof(f078), Local3)
+ }
+ case (64) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 7, f079, 64}
+ Store(Refof(f079), Local3)
+ }
+ case (65) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 7, f07a, 65}
+ Store(Refof(f07a), Local3)
+ }
+ case (69) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 7, f07b, 69}
+ Store(Refof(f07b), Local3)
+ }
+ case (129) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 7, f07c, 129}
+ Store(Refof(f07c), Local3)
+ }
+ case (256) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 7, f07d, 256}
+ Store(Refof(f07d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 7, f07e, 1023}
+ Store(Refof(f07e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 7, f07f, 1983}
+ Store(Refof(f07f), Local3)
+ }
+ default {
+ err(arg0, z143, 246, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (8) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ Offset(1), f080, 1}
+ Store(Refof(f080), Local3)
+ }
+ case (6) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ Offset(1), f081, 6}
+ Store(Refof(f081), Local3)
+ }
+ case (7) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ Offset(1), f082, 7}
+ Store(Refof(f082), Local3)
+ }
+ case (8) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ Offset(1), f083, 8}
+ Store(Refof(f083), Local3)
+ }
+ case (9) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ Offset(1), f084, 9}
+ Store(Refof(f084), Local3)
+ }
+ case (31) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ Offset(1), f085, 31}
+ Store(Refof(f085), Local3)
+ }
+ case (32) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ Offset(1), f086, 32}
+ Store(Refof(f086), Local3)
+ }
+ case (33) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ Offset(1), f087, 33}
+ Store(Refof(f087), Local3)
+ }
+ case (63) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ Offset(1), f088, 63}
+ Store(Refof(f088), Local3)
+ }
+ case (64) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ Offset(1), f089, 64}
+ Store(Refof(f089), Local3)
+ }
+ case (65) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ Offset(1), f08a, 65}
+ Store(Refof(f08a), Local3)
+ }
+ case (69) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ Offset(1), f08b, 69}
+ Store(Refof(f08b), Local3)
+ }
+ case (129) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ Offset(1), f08c, 129}
+ Store(Refof(f08c), Local3)
+ }
+ case (256) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ Offset(1), f08d, 256}
+ Store(Refof(f08d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ Offset(1), f08e, 1023}
+ Store(Refof(f08e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ Offset(1), f08f, 1983}
+ Store(Refof(f08f), Local3)
+ }
+ default {
+ err(arg0, z143, 247, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (9) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 9, f090, 1}
+ Store(Refof(f090), Local3)
+ }
+ case (6) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 9, f091, 6}
+ Store(Refof(f091), Local3)
+ }
+ case (7) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 9, f092, 7}
+ Store(Refof(f092), Local3)
+ }
+ case (8) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 9, f093, 8}
+ Store(Refof(f093), Local3)
+ }
+ case (9) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 9, f094, 9}
+ Store(Refof(f094), Local3)
+ }
+ case (31) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 9, f095, 31}
+ Store(Refof(f095), Local3)
+ }
+ case (32) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 9, f096, 32}
+ Store(Refof(f096), Local3)
+ }
+ case (33) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 9, f097, 33}
+ Store(Refof(f097), Local3)
+ }
+ case (63) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 9, f098, 63}
+ Store(Refof(f098), Local3)
+ }
+ case (64) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 9, f099, 64}
+ Store(Refof(f099), Local3)
+ }
+ case (65) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 9, f09a, 65}
+ Store(Refof(f09a), Local3)
+ }
+ case (69) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 9, f09b, 69}
+ Store(Refof(f09b), Local3)
+ }
+ case (129) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 9, f09c, 129}
+ Store(Refof(f09c), Local3)
+ }
+ case (256) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 9, f09d, 256}
+ Store(Refof(f09d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 9, f09e, 1023}
+ Store(Refof(f09e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 9, f09f, 1983}
+ Store(Refof(f09f), Local3)
+ }
+ default {
+ err(arg0, z143, 248, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (31) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0a0, 1}
+ Store(Refof(f0a0), Local3)
+ }
+ case (6) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0a1, 6}
+ Store(Refof(f0a1), Local3)
+ }
+ case (7) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0a2, 7}
+ Store(Refof(f0a2), Local3)
+ }
+ case (8) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0a3, 8}
+ Store(Refof(f0a3), Local3)
+ }
+ case (9) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0a4, 9}
+ Store(Refof(f0a4), Local3)
+ }
+ case (31) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0a5, 31}
+ Store(Refof(f0a5), Local3)
+ }
+ case (32) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0a6, 32}
+ Store(Refof(f0a6), Local3)
+ }
+ case (33) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0a7, 33}
+ Store(Refof(f0a7), Local3)
+ }
+ case (63) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0a8, 63}
+ Store(Refof(f0a8), Local3)
+ }
+ case (64) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0a9, 64}
+ Store(Refof(f0a9), Local3)
+ }
+ case (65) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0aa, 65}
+ Store(Refof(f0aa), Local3)
+ }
+ case (69) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0ab, 69}
+ Store(Refof(f0ab), Local3)
+ }
+ case (129) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0ac, 129}
+ Store(Refof(f0ac), Local3)
+ }
+ case (256) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0ad, 256}
+ Store(Refof(f0ad), Local3)
+ }
+ case (1023) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0ae, 1023}
+ Store(Refof(f0ae), Local3)
+ }
+ case (1983) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0af, 1983}
+ Store(Refof(f0af), Local3)
+ }
+ default {
+ err(arg0, z143, 249, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (32) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 32, f0b0, 1}
+ Store(Refof(f0b0), Local3)
+ }
+ case (6) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 32, f0b1, 6}
+ Store(Refof(f0b1), Local3)
+ }
+ case (7) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 32, f0b2, 7}
+ Store(Refof(f0b2), Local3)
+ }
+ case (8) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 32, f0b3, 8}
+ Store(Refof(f0b3), Local3)
+ }
+ case (9) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 32, f0b4, 9}
+ Store(Refof(f0b4), Local3)
+ }
+ case (31) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 32, f0b5, 31}
+ Store(Refof(f0b5), Local3)
+ }
+ case (32) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 32, f0b6, 32}
+ Store(Refof(f0b6), Local3)
+ }
+ case (33) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 32, f0b7, 33}
+ Store(Refof(f0b7), Local3)
+ }
+ case (63) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 32, f0b8, 63}
+ Store(Refof(f0b8), Local3)
+ }
+ case (64) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 32, f0b9, 64}
+ Store(Refof(f0b9), Local3)
+ }
+ case (65) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 32, f0ba, 65}
+ Store(Refof(f0ba), Local3)
+ }
+ case (69) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 32, f0bb, 69}
+ Store(Refof(f0bb), Local3)
+ }
+ case (129) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 32, f0bc, 129}
+ Store(Refof(f0bc), Local3)
+ }
+ case (256) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 32, f0bd, 256}
+ Store(Refof(f0bd), Local3)
+ }
+ case (1023) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 32, f0be, 1023}
+ Store(Refof(f0be), Local3)
+ }
+ case (1983) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 32, f0bf, 1983}
+ Store(Refof(f0bf), Local3)
+ }
+ default {
+ err(arg0, z143, 250, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (33) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 33, f0c0, 1}
+ Store(Refof(f0c0), Local3)
+ }
+ case (6) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 33, f0c1, 6}
+ Store(Refof(f0c1), Local3)
+ }
+ case (7) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 33, f0c2, 7}
+ Store(Refof(f0c2), Local3)
+ }
+ case (8) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 33, f0c3, 8}
+ Store(Refof(f0c3), Local3)
+ }
+ case (9) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 33, f0c4, 9}
+ Store(Refof(f0c4), Local3)
+ }
+ case (31) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 33, f0c5, 31}
+ Store(Refof(f0c5), Local3)
+ }
+ case (32) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 33, f0c6, 32}
+ Store(Refof(f0c6), Local3)
+ }
+ case (33) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 33, f0c7, 33}
+ Store(Refof(f0c7), Local3)
+ }
+ case (63) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 33, f0c8, 63}
+ Store(Refof(f0c8), Local3)
+ }
+ case (64) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 33, f0c9, 64}
+ Store(Refof(f0c9), Local3)
+ }
+ case (65) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 33, f0ca, 65}
+ Store(Refof(f0ca), Local3)
+ }
+ case (69) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 33, f0cb, 69}
+ Store(Refof(f0cb), Local3)
+ }
+ case (129) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 33, f0cc, 129}
+ Store(Refof(f0cc), Local3)
+ }
+ case (256) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 33, f0cd, 256}
+ Store(Refof(f0cd), Local3)
+ }
+ case (1023) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 33, f0ce, 1023}
+ Store(Refof(f0ce), Local3)
+ }
+ case (1983) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 33, f0cf, 1983}
+ Store(Refof(f0cf), Local3)
+ }
+ default {
+ err(arg0, z143, 251, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (63) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 63, f0d0, 1}
+ Store(Refof(f0d0), Local3)
+ }
+ case (6) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 63, f0d1, 6}
+ Store(Refof(f0d1), Local3)
+ }
+ case (7) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 63, f0d2, 7}
+ Store(Refof(f0d2), Local3)
+ }
+ case (8) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 63, f0d3, 8}
+ Store(Refof(f0d3), Local3)
+ }
+ case (9) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 63, f0d4, 9}
+ Store(Refof(f0d4), Local3)
+ }
+ case (31) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 63, f0d5, 31}
+ Store(Refof(f0d5), Local3)
+ }
+ case (32) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 63, f0d6, 32}
+ Store(Refof(f0d6), Local3)
+ }
+ case (33) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 63, f0d7, 33}
+ Store(Refof(f0d7), Local3)
+ }
+ case (63) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 63, f0d8, 63}
+ Store(Refof(f0d8), Local3)
+ }
+ case (64) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 63, f0d9, 64}
+ Store(Refof(f0d9), Local3)
+ }
+ case (65) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 63, f0da, 65}
+ Store(Refof(f0da), Local3)
+ }
+ case (69) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 63, f0db, 69}
+ Store(Refof(f0db), Local3)
+ }
+ case (129) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 63, f0dc, 129}
+ Store(Refof(f0dc), Local3)
+ }
+ case (256) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 63, f0dd, 256}
+ Store(Refof(f0dd), Local3)
+ }
+ case (1023) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 63, f0de, 1023}
+ Store(Refof(f0de), Local3)
+ }
+ case (1983) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 63, f0df, 1983}
+ Store(Refof(f0df), Local3)
+ }
+ default {
+ err(arg0, z143, 252, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (64) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 64, f0e0, 1}
+ Store(Refof(f0e0), Local3)
+ }
+ case (6) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 64, f0e1, 6}
+ Store(Refof(f0e1), Local3)
+ }
+ case (7) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 64, f0e2, 7}
+ Store(Refof(f0e2), Local3)
+ }
+ case (8) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 64, f0e3, 8}
+ Store(Refof(f0e3), Local3)
+ }
+ case (9) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 64, f0e4, 9}
+ Store(Refof(f0e4), Local3)
+ }
+ case (31) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 64, f0e5, 31}
+ Store(Refof(f0e5), Local3)
+ }
+ case (32) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 64, f0e6, 32}
+ Store(Refof(f0e6), Local3)
+ }
+ case (33) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 64, f0e7, 33}
+ Store(Refof(f0e7), Local3)
+ }
+ case (63) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 64, f0e8, 63}
+ Store(Refof(f0e8), Local3)
+ }
+ case (64) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 64, f0e9, 64}
+ Store(Refof(f0e9), Local3)
+ }
+ case (65) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 64, f0ea, 65}
+ Store(Refof(f0ea), Local3)
+ }
+ case (69) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 64, f0eb, 69}
+ Store(Refof(f0eb), Local3)
+ }
+ case (129) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 64, f0ec, 129}
+ Store(Refof(f0ec), Local3)
+ }
+ case (256) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 64, f0ed, 256}
+ Store(Refof(f0ed), Local3)
+ }
+ case (1023) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 64, f0ee, 1023}
+ Store(Refof(f0ee), Local3)
+ }
+ case (1983) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ , 64, f0ef, 1983}
+ Store(Refof(f0ef), Local3)
+ }
+ default {
+ err(arg0, z143, 253, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (65) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0f0, 1}
+ Store(Refof(f0f0), Local3)
+ }
+ case (6) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0f1, 6}
+ Store(Refof(f0f1), Local3)
+ }
+ case (7) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0f2, 7}
+ Store(Refof(f0f2), Local3)
+ }
+ case (8) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0f3, 8}
+ Store(Refof(f0f3), Local3)
+ }
+ case (9) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0f4, 9}
+ Store(Refof(f0f4), Local3)
+ }
+ case (31) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0f5, 31}
+ Store(Refof(f0f5), Local3)
+ }
+ case (32) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0f6, 32}
+ Store(Refof(f0f6), Local3)
+ }
+ case (33) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0f7, 33}
+ Store(Refof(f0f7), Local3)
+ }
+ case (63) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0f8, 63}
+ Store(Refof(f0f8), Local3)
+ }
+ case (64) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0f9, 64}
+ Store(Refof(f0f9), Local3)
+ }
+ case (65) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0fa, 65}
+ Store(Refof(f0fa), Local3)
+ }
+ case (69) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0fb, 69}
+ Store(Refof(f0fb), Local3)
+ }
+ case (129) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0fc, 129}
+ Store(Refof(f0fc), Local3)
+ }
+ case (256) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0fd, 256}
+ Store(Refof(f0fd), Local3)
+ }
+ case (1023) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0fe, 1023}
+ Store(Refof(f0fe), Local3)
+ }
+ case (1983) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0ff, 1983}
+ Store(Refof(f0ff), Local3)
+ }
+ default {
+ err(arg0, z143, 254, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ default {
+ err(arg0, z143, 255, 0, 0, arg2, arg3)
+ return}
+ }
+
+ m72d(arg0, Local3, arg2, arg3, arg4, arg5, Refof(g001))
+}
+
+// Create Region Field Unit
+// (QWordAcc, NoLock, WriteAsZeros)
+Method(m73b, 6)
+{
+ OperationRegion(OPR0, SystemMemory, 0, RS00)
+
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ g001, 2048,
+ }
+
+ Concatenate(arg0, "-m73b", arg0)
+
+ switch(arg2) {
+ case (0) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 0, f000, 1}
+ Store(Refof(f000), Local3)
+ }
+ case (6) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 0, f001, 6}
+ Store(Refof(f001), Local3)
+ }
+ case (7) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 0, f002, 7}
+ Store(Refof(f002), Local3)
+ }
+ case (8) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 0, f003, 8}
+ Store(Refof(f003), Local3)
+ }
+ case (9) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 0, f004, 9}
+ Store(Refof(f004), Local3)
+ }
+ case (31) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 0, f005, 31}
+ Store(Refof(f005), Local3)
+ }
+ case (32) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 0, f006, 32}
+ Store(Refof(f006), Local3)
+ }
+ case (33) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 0, f007, 33}
+ Store(Refof(f007), Local3)
+ }
+ case (63) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 0, f008, 63}
+ Store(Refof(f008), Local3)
+ }
+ case (64) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 0, f009, 64}
+ Store(Refof(f009), Local3)
+ }
+ case (65) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 0, f00a, 65}
+ Store(Refof(f00a), Local3)
+ }
+ case (69) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 0, f00b, 69}
+ Store(Refof(f00b), Local3)
+ }
+ case (129) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 0, f00c, 129}
+ Store(Refof(f00c), Local3)
+ }
+ case (256) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 0, f00d, 256}
+ Store(Refof(f00d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 0, f00e, 1023}
+ Store(Refof(f00e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 0, f00f, 1983}
+ Store(Refof(f00f), Local3)
+ }
+ default {
+ err(arg0, z143, 256, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (1) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 1, f010, 1}
+ Store(Refof(f010), Local3)
+ }
+ case (6) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 1, f011, 6}
+ Store(Refof(f011), Local3)
+ }
+ case (7) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 1, f012, 7}
+ Store(Refof(f012), Local3)
+ }
+ case (8) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 1, f013, 8}
+ Store(Refof(f013), Local3)
+ }
+ case (9) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 1, f014, 9}
+ Store(Refof(f014), Local3)
+ }
+ case (31) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 1, f015, 31}
+ Store(Refof(f015), Local3)
+ }
+ case (32) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 1, f016, 32}
+ Store(Refof(f016), Local3)
+ }
+ case (33) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 1, f017, 33}
+ Store(Refof(f017), Local3)
+ }
+ case (63) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 1, f018, 63}
+ Store(Refof(f018), Local3)
+ }
+ case (64) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 1, f019, 64}
+ Store(Refof(f019), Local3)
+ }
+ case (65) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 1, f01a, 65}
+ Store(Refof(f01a), Local3)
+ }
+ case (69) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 1, f01b, 69}
+ Store(Refof(f01b), Local3)
+ }
+ case (129) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 1, f01c, 129}
+ Store(Refof(f01c), Local3)
+ }
+ case (256) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 1, f01d, 256}
+ Store(Refof(f01d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 1, f01e, 1023}
+ Store(Refof(f01e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 1, f01f, 1983}
+ Store(Refof(f01f), Local3)
+ }
+ default {
+ err(arg0, z143, 257, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (2) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ Offset(0), , 2, f020, 1}
+ Store(Refof(f020), Local3)
+ }
+ case (6) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ Offset(0), , 2, f021, 6}
+ Store(Refof(f021), Local3)
+ }
+ case (7) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ Offset(0), , 2, f022, 7}
+ Store(Refof(f022), Local3)
+ }
+ case (8) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ Offset(0), , 2, f023, 8}
+ Store(Refof(f023), Local3)
+ }
+ case (9) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ Offset(0), , 2, f024, 9}
+ Store(Refof(f024), Local3)
+ }
+ case (31) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ Offset(0), , 2, f025, 31}
+ Store(Refof(f025), Local3)
+ }
+ case (32) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ Offset(0), , 2, f026, 32}
+ Store(Refof(f026), Local3)
+ }
+ case (33) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ Offset(0), , 2, f027, 33}
+ Store(Refof(f027), Local3)
+ }
+ case (63) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ Offset(0), , 2, f028, 63}
+ Store(Refof(f028), Local3)
+ }
+ case (64) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ Offset(0), , 2, f029, 64}
+ Store(Refof(f029), Local3)
+ }
+ case (65) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ Offset(0), , 2, f02a, 65}
+ Store(Refof(f02a), Local3)
+ }
+ case (69) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ Offset(0), , 2, f02b, 69}
+ Store(Refof(f02b), Local3)
+ }
+ case (129) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ Offset(0), , 2, f02c, 129}
+ Store(Refof(f02c), Local3)
+ }
+ case (256) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ Offset(0), , 2, f02d, 256}
+ Store(Refof(f02d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ Offset(0), , 2, f02e, 1023}
+ Store(Refof(f02e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ Offset(0), , 2, f02f, 1983}
+ Store(Refof(f02f), Local3)
+ }
+ default {
+ err(arg0, z143, 258, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (3) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 3, f030, 1}
+ Store(Refof(f030), Local3)
+ }
+ case (6) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 3, f031, 6}
+ Store(Refof(f031), Local3)
+ }
+ case (7) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 3, f032, 7}
+ Store(Refof(f032), Local3)
+ }
+ case (8) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 3, f033, 8}
+ Store(Refof(f033), Local3)
+ }
+ case (9) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 3, f034, 9}
+ Store(Refof(f034), Local3)
+ }
+ case (31) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 3, f035, 31}
+ Store(Refof(f035), Local3)
+ }
+ case (32) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 3, f036, 32}
+ Store(Refof(f036), Local3)
+ }
+ case (33) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 3, f037, 33}
+ Store(Refof(f037), Local3)
+ }
+ case (63) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 3, f038, 63}
+ Store(Refof(f038), Local3)
+ }
+ case (64) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 3, f039, 64}
+ Store(Refof(f039), Local3)
+ }
+ case (65) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 3, f03a, 65}
+ Store(Refof(f03a), Local3)
+ }
+ case (69) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 3, f03b, 69}
+ Store(Refof(f03b), Local3)
+ }
+ case (129) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 3, f03c, 129}
+ Store(Refof(f03c), Local3)
+ }
+ case (256) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 3, f03d, 256}
+ Store(Refof(f03d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 3, f03e, 1023}
+ Store(Refof(f03e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 3, f03f, 1983}
+ Store(Refof(f03f), Local3)
+ }
+ default {
+ err(arg0, z143, 259, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (4) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 4, f040, 1}
+ Store(Refof(f040), Local3)
+ }
+ case (6) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 4, f041, 6}
+ Store(Refof(f041), Local3)
+ }
+ case (7) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 4, f042, 7}
+ Store(Refof(f042), Local3)
+ }
+ case (8) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 4, f043, 8}
+ Store(Refof(f043), Local3)
+ }
+ case (9) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 4, f044, 9}
+ Store(Refof(f044), Local3)
+ }
+ case (31) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 4, f045, 31}
+ Store(Refof(f045), Local3)
+ }
+ case (32) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 4, f046, 32}
+ Store(Refof(f046), Local3)
+ }
+ case (33) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 4, f047, 33}
+ Store(Refof(f047), Local3)
+ }
+ case (63) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 4, f048, 63}
+ Store(Refof(f048), Local3)
+ }
+ case (64) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 4, f049, 64}
+ Store(Refof(f049), Local3)
+ }
+ case (65) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 4, f04a, 65}
+ Store(Refof(f04a), Local3)
+ }
+ case (69) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 4, f04b, 69}
+ Store(Refof(f04b), Local3)
+ }
+ case (129) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 4, f04c, 129}
+ Store(Refof(f04c), Local3)
+ }
+ case (256) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 4, f04d, 256}
+ Store(Refof(f04d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 4, f04e, 1023}
+ Store(Refof(f04e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 4, f04f, 1983}
+ Store(Refof(f04f), Local3)
+ }
+ default {
+ err(arg0, z143, 260, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (5) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 5, f050, 1}
+ Store(Refof(f050), Local3)
+ }
+ case (6) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 5, f051, 6}
+ Store(Refof(f051), Local3)
+ }
+ case (7) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 5, f052, 7}
+ Store(Refof(f052), Local3)
+ }
+ case (8) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 5, f053, 8}
+ Store(Refof(f053), Local3)
+ }
+ case (9) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 5, f054, 9}
+ Store(Refof(f054), Local3)
+ }
+ case (31) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 5, f055, 31}
+ Store(Refof(f055), Local3)
+ }
+ case (32) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 5, f056, 32}
+ Store(Refof(f056), Local3)
+ }
+ case (33) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 5, f057, 33}
+ Store(Refof(f057), Local3)
+ }
+ case (63) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 5, f058, 63}
+ Store(Refof(f058), Local3)
+ }
+ case (64) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 5, f059, 64}
+ Store(Refof(f059), Local3)
+ }
+ case (65) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 5, f05a, 65}
+ Store(Refof(f05a), Local3)
+ }
+ case (69) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 5, f05b, 69}
+ Store(Refof(f05b), Local3)
+ }
+ case (129) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 5, f05c, 129}
+ Store(Refof(f05c), Local3)
+ }
+ case (256) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 5, f05d, 256}
+ Store(Refof(f05d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 5, f05e, 1023}
+ Store(Refof(f05e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 5, f05f, 1983}
+ Store(Refof(f05f), Local3)
+ }
+ default {
+ err(arg0, z143, 261, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (6) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 6, f060, 1}
+ Store(Refof(f060), Local3)
+ }
+ case (6) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 6, f061, 6}
+ Store(Refof(f061), Local3)
+ }
+ case (7) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 6, f062, 7}
+ Store(Refof(f062), Local3)
+ }
+ case (8) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 6, f063, 8}
+ Store(Refof(f063), Local3)
+ }
+ case (9) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 6, f064, 9}
+ Store(Refof(f064), Local3)
+ }
+ case (31) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 6, f065, 31}
+ Store(Refof(f065), Local3)
+ }
+ case (32) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 6, f066, 32}
+ Store(Refof(f066), Local3)
+ }
+ case (33) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 6, f067, 33}
+ Store(Refof(f067), Local3)
+ }
+ case (63) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 6, f068, 63}
+ Store(Refof(f068), Local3)
+ }
+ case (64) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 6, f069, 64}
+ Store(Refof(f069), Local3)
+ }
+ case (65) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 6, f06a, 65}
+ Store(Refof(f06a), Local3)
+ }
+ case (69) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 6, f06b, 69}
+ Store(Refof(f06b), Local3)
+ }
+ case (129) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 6, f06c, 129}
+ Store(Refof(f06c), Local3)
+ }
+ case (256) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 6, f06d, 256}
+ Store(Refof(f06d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 6, f06e, 1023}
+ Store(Refof(f06e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 6, f06f, 1983}
+ Store(Refof(f06f), Local3)
+ }
+ default {
+ err(arg0, z143, 262, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (7) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 7, f070, 1}
+ Store(Refof(f070), Local3)
+ }
+ case (6) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 7, f071, 6}
+ Store(Refof(f071), Local3)
+ }
+ case (7) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 7, f072, 7}
+ Store(Refof(f072), Local3)
+ }
+ case (8) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 7, f073, 8}
+ Store(Refof(f073), Local3)
+ }
+ case (9) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 7, f074, 9}
+ Store(Refof(f074), Local3)
+ }
+ case (31) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 7, f075, 31}
+ Store(Refof(f075), Local3)
+ }
+ case (32) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 7, f076, 32}
+ Store(Refof(f076), Local3)
+ }
+ case (33) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 7, f077, 33}
+ Store(Refof(f077), Local3)
+ }
+ case (63) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 7, f078, 63}
+ Store(Refof(f078), Local3)
+ }
+ case (64) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 7, f079, 64}
+ Store(Refof(f079), Local3)
+ }
+ case (65) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 7, f07a, 65}
+ Store(Refof(f07a), Local3)
+ }
+ case (69) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 7, f07b, 69}
+ Store(Refof(f07b), Local3)
+ }
+ case (129) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 7, f07c, 129}
+ Store(Refof(f07c), Local3)
+ }
+ case (256) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 7, f07d, 256}
+ Store(Refof(f07d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 7, f07e, 1023}
+ Store(Refof(f07e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 7, f07f, 1983}
+ Store(Refof(f07f), Local3)
+ }
+ default {
+ err(arg0, z143, 263, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (8) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ Offset(1), f080, 1}
+ Store(Refof(f080), Local3)
+ }
+ case (6) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ Offset(1), f081, 6}
+ Store(Refof(f081), Local3)
+ }
+ case (7) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ Offset(1), f082, 7}
+ Store(Refof(f082), Local3)
+ }
+ case (8) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ Offset(1), f083, 8}
+ Store(Refof(f083), Local3)
+ }
+ case (9) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ Offset(1), f084, 9}
+ Store(Refof(f084), Local3)
+ }
+ case (31) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ Offset(1), f085, 31}
+ Store(Refof(f085), Local3)
+ }
+ case (32) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ Offset(1), f086, 32}
+ Store(Refof(f086), Local3)
+ }
+ case (33) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ Offset(1), f087, 33}
+ Store(Refof(f087), Local3)
+ }
+ case (63) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ Offset(1), f088, 63}
+ Store(Refof(f088), Local3)
+ }
+ case (64) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ Offset(1), f089, 64}
+ Store(Refof(f089), Local3)
+ }
+ case (65) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ Offset(1), f08a, 65}
+ Store(Refof(f08a), Local3)
+ }
+ case (69) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ Offset(1), f08b, 69}
+ Store(Refof(f08b), Local3)
+ }
+ case (129) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ Offset(1), f08c, 129}
+ Store(Refof(f08c), Local3)
+ }
+ case (256) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ Offset(1), f08d, 256}
+ Store(Refof(f08d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ Offset(1), f08e, 1023}
+ Store(Refof(f08e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ Offset(1), f08f, 1983}
+ Store(Refof(f08f), Local3)
+ }
+ default {
+ err(arg0, z143, 264, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (9) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 9, f090, 1}
+ Store(Refof(f090), Local3)
+ }
+ case (6) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 9, f091, 6}
+ Store(Refof(f091), Local3)
+ }
+ case (7) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 9, f092, 7}
+ Store(Refof(f092), Local3)
+ }
+ case (8) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 9, f093, 8}
+ Store(Refof(f093), Local3)
+ }
+ case (9) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 9, f094, 9}
+ Store(Refof(f094), Local3)
+ }
+ case (31) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 9, f095, 31}
+ Store(Refof(f095), Local3)
+ }
+ case (32) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 9, f096, 32}
+ Store(Refof(f096), Local3)
+ }
+ case (33) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 9, f097, 33}
+ Store(Refof(f097), Local3)
+ }
+ case (63) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 9, f098, 63}
+ Store(Refof(f098), Local3)
+ }
+ case (64) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 9, f099, 64}
+ Store(Refof(f099), Local3)
+ }
+ case (65) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 9, f09a, 65}
+ Store(Refof(f09a), Local3)
+ }
+ case (69) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 9, f09b, 69}
+ Store(Refof(f09b), Local3)
+ }
+ case (129) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 9, f09c, 129}
+ Store(Refof(f09c), Local3)
+ }
+ case (256) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 9, f09d, 256}
+ Store(Refof(f09d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 9, f09e, 1023}
+ Store(Refof(f09e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 9, f09f, 1983}
+ Store(Refof(f09f), Local3)
+ }
+ default {
+ err(arg0, z143, 265, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (31) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ Offset(3), , 7, f0a0, 1}
+ Store(Refof(f0a0), Local3)
+ }
+ case (6) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ Offset(3), , 7, f0a1, 6}
+ Store(Refof(f0a1), Local3)
+ }
+ case (7) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ Offset(3), , 7, f0a2, 7}
+ Store(Refof(f0a2), Local3)
+ }
+ case (8) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ Offset(3), , 7, f0a3, 8}
+ Store(Refof(f0a3), Local3)
+ }
+ case (9) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ Offset(3), , 7, f0a4, 9}
+ Store(Refof(f0a4), Local3)
+ }
+ case (31) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ Offset(3), , 7, f0a5, 31}
+ Store(Refof(f0a5), Local3)
+ }
+ case (32) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ Offset(3), , 7, f0a6, 32}
+ Store(Refof(f0a6), Local3)
+ }
+ case (33) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ Offset(3), , 7, f0a7, 33}
+ Store(Refof(f0a7), Local3)
+ }
+ case (63) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ Offset(3), , 7, f0a8, 63}
+ Store(Refof(f0a8), Local3)
+ }
+ case (64) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ Offset(3), , 7, f0a9, 64}
+ Store(Refof(f0a9), Local3)
+ }
+ case (65) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ Offset(3), , 7, f0aa, 65}
+ Store(Refof(f0aa), Local3)
+ }
+ case (69) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ Offset(3), , 7, f0ab, 69}
+ Store(Refof(f0ab), Local3)
+ }
+ case (129) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ Offset(3), , 7, f0ac, 129}
+ Store(Refof(f0ac), Local3)
+ }
+ case (256) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ Offset(3), , 7, f0ad, 256}
+ Store(Refof(f0ad), Local3)
+ }
+ case (1023) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ Offset(3), , 7, f0ae, 1023}
+ Store(Refof(f0ae), Local3)
+ }
+ case (1983) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ Offset(3), , 7, f0af, 1983}
+ Store(Refof(f0af), Local3)
+ }
+ default {
+ err(arg0, z143, 266, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (32) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 32, f0b0, 1}
+ Store(Refof(f0b0), Local3)
+ }
+ case (6) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 32, f0b1, 6}
+ Store(Refof(f0b1), Local3)
+ }
+ case (7) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 32, f0b2, 7}
+ Store(Refof(f0b2), Local3)
+ }
+ case (8) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 32, f0b3, 8}
+ Store(Refof(f0b3), Local3)
+ }
+ case (9) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 32, f0b4, 9}
+ Store(Refof(f0b4), Local3)
+ }
+ case (31) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 32, f0b5, 31}
+ Store(Refof(f0b5), Local3)
+ }
+ case (32) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 32, f0b6, 32}
+ Store(Refof(f0b6), Local3)
+ }
+ case (33) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 32, f0b7, 33}
+ Store(Refof(f0b7), Local3)
+ }
+ case (63) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 32, f0b8, 63}
+ Store(Refof(f0b8), Local3)
+ }
+ case (64) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 32, f0b9, 64}
+ Store(Refof(f0b9), Local3)
+ }
+ case (65) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 32, f0ba, 65}
+ Store(Refof(f0ba), Local3)
+ }
+ case (69) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 32, f0bb, 69}
+ Store(Refof(f0bb), Local3)
+ }
+ case (129) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 32, f0bc, 129}
+ Store(Refof(f0bc), Local3)
+ }
+ case (256) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 32, f0bd, 256}
+ Store(Refof(f0bd), Local3)
+ }
+ case (1023) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 32, f0be, 1023}
+ Store(Refof(f0be), Local3)
+ }
+ case (1983) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 32, f0bf, 1983}
+ Store(Refof(f0bf), Local3)
+ }
+ default {
+ err(arg0, z143, 267, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (33) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 33, f0c0, 1}
+ Store(Refof(f0c0), Local3)
+ }
+ case (6) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 33, f0c1, 6}
+ Store(Refof(f0c1), Local3)
+ }
+ case (7) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 33, f0c2, 7}
+ Store(Refof(f0c2), Local3)
+ }
+ case (8) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 33, f0c3, 8}
+ Store(Refof(f0c3), Local3)
+ }
+ case (9) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 33, f0c4, 9}
+ Store(Refof(f0c4), Local3)
+ }
+ case (31) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 33, f0c5, 31}
+ Store(Refof(f0c5), Local3)
+ }
+ case (32) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 33, f0c6, 32}
+ Store(Refof(f0c6), Local3)
+ }
+ case (33) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 33, f0c7, 33}
+ Store(Refof(f0c7), Local3)
+ }
+ case (63) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 33, f0c8, 63}
+ Store(Refof(f0c8), Local3)
+ }
+ case (64) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 33, f0c9, 64}
+ Store(Refof(f0c9), Local3)
+ }
+ case (65) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 33, f0ca, 65}
+ Store(Refof(f0ca), Local3)
+ }
+ case (69) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 33, f0cb, 69}
+ Store(Refof(f0cb), Local3)
+ }
+ case (129) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 33, f0cc, 129}
+ Store(Refof(f0cc), Local3)
+ }
+ case (256) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 33, f0cd, 256}
+ Store(Refof(f0cd), Local3)
+ }
+ case (1023) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 33, f0ce, 1023}
+ Store(Refof(f0ce), Local3)
+ }
+ case (1983) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 33, f0cf, 1983}
+ Store(Refof(f0cf), Local3)
+ }
+ default {
+ err(arg0, z143, 268, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (63) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 63, f0d0, 1}
+ Store(Refof(f0d0), Local3)
+ }
+ case (6) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 63, f0d1, 6}
+ Store(Refof(f0d1), Local3)
+ }
+ case (7) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 63, f0d2, 7}
+ Store(Refof(f0d2), Local3)
+ }
+ case (8) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 63, f0d3, 8}
+ Store(Refof(f0d3), Local3)
+ }
+ case (9) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 63, f0d4, 9}
+ Store(Refof(f0d4), Local3)
+ }
+ case (31) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 63, f0d5, 31}
+ Store(Refof(f0d5), Local3)
+ }
+ case (32) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 63, f0d6, 32}
+ Store(Refof(f0d6), Local3)
+ }
+ case (33) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 63, f0d7, 33}
+ Store(Refof(f0d7), Local3)
+ }
+ case (63) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 63, f0d8, 63}
+ Store(Refof(f0d8), Local3)
+ }
+ case (64) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 63, f0d9, 64}
+ Store(Refof(f0d9), Local3)
+ }
+ case (65) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 63, f0da, 65}
+ Store(Refof(f0da), Local3)
+ }
+ case (69) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 63, f0db, 69}
+ Store(Refof(f0db), Local3)
+ }
+ case (129) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 63, f0dc, 129}
+ Store(Refof(f0dc), Local3)
+ }
+ case (256) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 63, f0dd, 256}
+ Store(Refof(f0dd), Local3)
+ }
+ case (1023) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 63, f0de, 1023}
+ Store(Refof(f0de), Local3)
+ }
+ case (1983) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 63, f0df, 1983}
+ Store(Refof(f0df), Local3)
+ }
+ default {
+ err(arg0, z143, 269, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (64) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 64, f0e0, 1}
+ Store(Refof(f0e0), Local3)
+ }
+ case (6) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 64, f0e1, 6}
+ Store(Refof(f0e1), Local3)
+ }
+ case (7) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 64, f0e2, 7}
+ Store(Refof(f0e2), Local3)
+ }
+ case (8) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 64, f0e3, 8}
+ Store(Refof(f0e3), Local3)
+ }
+ case (9) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 64, f0e4, 9}
+ Store(Refof(f0e4), Local3)
+ }
+ case (31) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 64, f0e5, 31}
+ Store(Refof(f0e5), Local3)
+ }
+ case (32) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 64, f0e6, 32}
+ Store(Refof(f0e6), Local3)
+ }
+ case (33) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 64, f0e7, 33}
+ Store(Refof(f0e7), Local3)
+ }
+ case (63) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 64, f0e8, 63}
+ Store(Refof(f0e8), Local3)
+ }
+ case (64) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 64, f0e9, 64}
+ Store(Refof(f0e9), Local3)
+ }
+ case (65) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 64, f0ea, 65}
+ Store(Refof(f0ea), Local3)
+ }
+ case (69) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 64, f0eb, 69}
+ Store(Refof(f0eb), Local3)
+ }
+ case (129) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 64, f0ec, 129}
+ Store(Refof(f0ec), Local3)
+ }
+ case (256) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 64, f0ed, 256}
+ Store(Refof(f0ed), Local3)
+ }
+ case (1023) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 64, f0ee, 1023}
+ Store(Refof(f0ee), Local3)
+ }
+ case (1983) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ , 64, f0ef, 1983}
+ Store(Refof(f0ef), Local3)
+ }
+ default {
+ err(arg0, z143, 270, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (65) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ Offset(8), , 1, f0f0, 1}
+ Store(Refof(f0f0), Local3)
+ }
+ case (6) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ Offset(8), , 1, f0f1, 6}
+ Store(Refof(f0f1), Local3)
+ }
+ case (7) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ Offset(8), , 1, f0f2, 7}
+ Store(Refof(f0f2), Local3)
+ }
+ case (8) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ Offset(8), , 1, f0f3, 8}
+ Store(Refof(f0f3), Local3)
+ }
+ case (9) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ Offset(8), , 1, f0f4, 9}
+ Store(Refof(f0f4), Local3)
+ }
+ case (31) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ Offset(8), , 1, f0f5, 31}
+ Store(Refof(f0f5), Local3)
+ }
+ case (32) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ Offset(8), , 1, f0f6, 32}
+ Store(Refof(f0f6), Local3)
+ }
+ case (33) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ Offset(8), , 1, f0f7, 33}
+ Store(Refof(f0f7), Local3)
+ }
+ case (63) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ Offset(8), , 1, f0f8, 63}
+ Store(Refof(f0f8), Local3)
+ }
+ case (64) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ Offset(8), , 1, f0f9, 64}
+ Store(Refof(f0f9), Local3)
+ }
+ case (65) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ Offset(8), , 1, f0fa, 65}
+ Store(Refof(f0fa), Local3)
+ }
+ case (69) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ Offset(8), , 1, f0fb, 69}
+ Store(Refof(f0fb), Local3)
+ }
+ case (129) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ Offset(8), , 1, f0fc, 129}
+ Store(Refof(f0fc), Local3)
+ }
+ case (256) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ Offset(8), , 1, f0fd, 256}
+ Store(Refof(f0fd), Local3)
+ }
+ case (1023) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ Offset(8), , 1, f0fe, 1023}
+ Store(Refof(f0fe), Local3)
+ }
+ case (1983) {
+ Field(OPR0, QWordAcc, NoLock, WriteAsZeros) {
+ Offset(8), , 1, f0ff, 1983}
+ Store(Refof(f0ff), Local3)
+ }
+ default {
+ err(arg0, z143, 271, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ default {
+ err(arg0, z143, 272, 0, 0, arg2, arg3)
+ return}
+ }
+
+ m72d(arg0, Local3, arg2, arg3, arg4, arg5, Refof(g001))
+}
+
+// Create Region Field Unit
+// (AnyAcc, NoLock, Preserve)
+Method(m73c, 6)
+{
+ OperationRegion(OPR0, SystemMemory, 0, RS00)
+
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ g001, 2048,
+ }
+
+ Concatenate(arg0, "-m73c", arg0)
+
+ switch(arg2) {
+ case (0) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 0, f000, 1}
+ Store(Refof(f000), Local3)
+ }
+ case (6) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 0, f001, 6}
+ Store(Refof(f001), Local3)
+ }
+ case (7) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 0, f002, 7}
+ Store(Refof(f002), Local3)
+ }
+ case (8) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 0, f003, 8}
+ Store(Refof(f003), Local3)
+ }
+ case (9) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 0, f004, 9}
+ Store(Refof(f004), Local3)
+ }
+ case (31) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 0, f005, 31}
+ Store(Refof(f005), Local3)
+ }
+ case (32) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 0, f006, 32}
+ Store(Refof(f006), Local3)
+ }
+ case (33) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 0, f007, 33}
+ Store(Refof(f007), Local3)
+ }
+ case (63) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 0, f008, 63}
+ Store(Refof(f008), Local3)
+ }
+ case (64) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 0, f009, 64}
+ Store(Refof(f009), Local3)
+ }
+ case (65) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 0, f00a, 65}
+ Store(Refof(f00a), Local3)
+ }
+ case (69) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 0, f00b, 69}
+ Store(Refof(f00b), Local3)
+ }
+ case (129) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 0, f00c, 129}
+ Store(Refof(f00c), Local3)
+ }
+ case (256) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 0, f00d, 256}
+ Store(Refof(f00d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 0, f00e, 1023}
+ Store(Refof(f00e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 0, f00f, 1983}
+ Store(Refof(f00f), Local3)
+ }
+ default {
+ err(arg0, z143, 273, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (1) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 1, f010, 1}
+ Store(Refof(f010), Local3)
+ }
+ case (6) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 1, f011, 6}
+ Store(Refof(f011), Local3)
+ }
+ case (7) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 1, f012, 7}
+ Store(Refof(f012), Local3)
+ }
+ case (8) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 1, f013, 8}
+ Store(Refof(f013), Local3)
+ }
+ case (9) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 1, f014, 9}
+ Store(Refof(f014), Local3)
+ }
+ case (31) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 1, f015, 31}
+ Store(Refof(f015), Local3)
+ }
+ case (32) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 1, f016, 32}
+ Store(Refof(f016), Local3)
+ }
+ case (33) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 1, f017, 33}
+ Store(Refof(f017), Local3)
+ }
+ case (63) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 1, f018, 63}
+ Store(Refof(f018), Local3)
+ }
+ case (64) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 1, f019, 64}
+ Store(Refof(f019), Local3)
+ }
+ case (65) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 1, f01a, 65}
+ Store(Refof(f01a), Local3)
+ }
+ case (69) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 1, f01b, 69}
+ Store(Refof(f01b), Local3)
+ }
+ case (129) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 1, f01c, 129}
+ Store(Refof(f01c), Local3)
+ }
+ case (256) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 1, f01d, 256}
+ Store(Refof(f01d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 1, f01e, 1023}
+ Store(Refof(f01e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 1, f01f, 1983}
+ Store(Refof(f01f), Local3)
+ }
+ default {
+ err(arg0, z143, 274, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (2) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ Offset(0), , 2, f020, 1}
+ Store(Refof(f020), Local3)
+ }
+ case (6) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ Offset(0), , 2, f021, 6}
+ Store(Refof(f021), Local3)
+ }
+ case (7) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ Offset(0), , 2, f022, 7}
+ Store(Refof(f022), Local3)
+ }
+ case (8) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ Offset(0), , 2, f023, 8}
+ Store(Refof(f023), Local3)
+ }
+ case (9) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ Offset(0), , 2, f024, 9}
+ Store(Refof(f024), Local3)
+ }
+ case (31) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ Offset(0), , 2, f025, 31}
+ Store(Refof(f025), Local3)
+ }
+ case (32) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ Offset(0), , 2, f026, 32}
+ Store(Refof(f026), Local3)
+ }
+ case (33) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ Offset(0), , 2, f027, 33}
+ Store(Refof(f027), Local3)
+ }
+ case (63) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ Offset(0), , 2, f028, 63}
+ Store(Refof(f028), Local3)
+ }
+ case (64) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ Offset(0), , 2, f029, 64}
+ Store(Refof(f029), Local3)
+ }
+ case (65) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ Offset(0), , 2, f02a, 65}
+ Store(Refof(f02a), Local3)
+ }
+ case (69) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ Offset(0), , 2, f02b, 69}
+ Store(Refof(f02b), Local3)
+ }
+ case (129) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ Offset(0), , 2, f02c, 129}
+ Store(Refof(f02c), Local3)
+ }
+ case (256) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ Offset(0), , 2, f02d, 256}
+ Store(Refof(f02d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ Offset(0), , 2, f02e, 1023}
+ Store(Refof(f02e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ Offset(0), , 2, f02f, 1983}
+ Store(Refof(f02f), Local3)
+ }
+ default {
+ err(arg0, z143, 275, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (3) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 3, f030, 1}
+ Store(Refof(f030), Local3)
+ }
+ case (6) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 3, f031, 6}
+ Store(Refof(f031), Local3)
+ }
+ case (7) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 3, f032, 7}
+ Store(Refof(f032), Local3)
+ }
+ case (8) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 3, f033, 8}
+ Store(Refof(f033), Local3)
+ }
+ case (9) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 3, f034, 9}
+ Store(Refof(f034), Local3)
+ }
+ case (31) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 3, f035, 31}
+ Store(Refof(f035), Local3)
+ }
+ case (32) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 3, f036, 32}
+ Store(Refof(f036), Local3)
+ }
+ case (33) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 3, f037, 33}
+ Store(Refof(f037), Local3)
+ }
+ case (63) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 3, f038, 63}
+ Store(Refof(f038), Local3)
+ }
+ case (64) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 3, f039, 64}
+ Store(Refof(f039), Local3)
+ }
+ case (65) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 3, f03a, 65}
+ Store(Refof(f03a), Local3)
+ }
+ case (69) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 3, f03b, 69}
+ Store(Refof(f03b), Local3)
+ }
+ case (129) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 3, f03c, 129}
+ Store(Refof(f03c), Local3)
+ }
+ case (256) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 3, f03d, 256}
+ Store(Refof(f03d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 3, f03e, 1023}
+ Store(Refof(f03e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 3, f03f, 1983}
+ Store(Refof(f03f), Local3)
+ }
+ default {
+ err(arg0, z143, 276, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (4) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 4, f040, 1}
+ Store(Refof(f040), Local3)
+ }
+ case (6) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 4, f041, 6}
+ Store(Refof(f041), Local3)
+ }
+ case (7) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 4, f042, 7}
+ Store(Refof(f042), Local3)
+ }
+ case (8) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 4, f043, 8}
+ Store(Refof(f043), Local3)
+ }
+ case (9) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 4, f044, 9}
+ Store(Refof(f044), Local3)
+ }
+ case (31) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 4, f045, 31}
+ Store(Refof(f045), Local3)
+ }
+ case (32) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 4, f046, 32}
+ Store(Refof(f046), Local3)
+ }
+ case (33) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 4, f047, 33}
+ Store(Refof(f047), Local3)
+ }
+ case (63) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 4, f048, 63}
+ Store(Refof(f048), Local3)
+ }
+ case (64) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 4, f049, 64}
+ Store(Refof(f049), Local3)
+ }
+ case (65) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 4, f04a, 65}
+ Store(Refof(f04a), Local3)
+ }
+ case (69) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 4, f04b, 69}
+ Store(Refof(f04b), Local3)
+ }
+ case (129) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 4, f04c, 129}
+ Store(Refof(f04c), Local3)
+ }
+ case (256) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 4, f04d, 256}
+ Store(Refof(f04d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 4, f04e, 1023}
+ Store(Refof(f04e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 4, f04f, 1983}
+ Store(Refof(f04f), Local3)
+ }
+ default {
+ err(arg0, z143, 277, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (5) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 5, f050, 1}
+ Store(Refof(f050), Local3)
+ }
+ case (6) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 5, f051, 6}
+ Store(Refof(f051), Local3)
+ }
+ case (7) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 5, f052, 7}
+ Store(Refof(f052), Local3)
+ }
+ case (8) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 5, f053, 8}
+ Store(Refof(f053), Local3)
+ }
+ case (9) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 5, f054, 9}
+ Store(Refof(f054), Local3)
+ }
+ case (31) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 5, f055, 31}
+ Store(Refof(f055), Local3)
+ }
+ case (32) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 5, f056, 32}
+ Store(Refof(f056), Local3)
+ }
+ case (33) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 5, f057, 33}
+ Store(Refof(f057), Local3)
+ }
+ case (63) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 5, f058, 63}
+ Store(Refof(f058), Local3)
+ }
+ case (64) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 5, f059, 64}
+ Store(Refof(f059), Local3)
+ }
+ case (65) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 5, f05a, 65}
+ Store(Refof(f05a), Local3)
+ }
+ case (69) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 5, f05b, 69}
+ Store(Refof(f05b), Local3)
+ }
+ case (129) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 5, f05c, 129}
+ Store(Refof(f05c), Local3)
+ }
+ case (256) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 5, f05d, 256}
+ Store(Refof(f05d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 5, f05e, 1023}
+ Store(Refof(f05e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 5, f05f, 1983}
+ Store(Refof(f05f), Local3)
+ }
+ default {
+ err(arg0, z143, 278, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (6) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 6, f060, 1}
+ Store(Refof(f060), Local3)
+ }
+ case (6) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 6, f061, 6}
+ Store(Refof(f061), Local3)
+ }
+ case (7) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 6, f062, 7}
+ Store(Refof(f062), Local3)
+ }
+ case (8) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 6, f063, 8}
+ Store(Refof(f063), Local3)
+ }
+ case (9) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 6, f064, 9}
+ Store(Refof(f064), Local3)
+ }
+ case (31) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 6, f065, 31}
+ Store(Refof(f065), Local3)
+ }
+ case (32) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 6, f066, 32}
+ Store(Refof(f066), Local3)
+ }
+ case (33) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 6, f067, 33}
+ Store(Refof(f067), Local3)
+ }
+ case (63) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 6, f068, 63}
+ Store(Refof(f068), Local3)
+ }
+ case (64) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 6, f069, 64}
+ Store(Refof(f069), Local3)
+ }
+ case (65) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 6, f06a, 65}
+ Store(Refof(f06a), Local3)
+ }
+ case (69) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 6, f06b, 69}
+ Store(Refof(f06b), Local3)
+ }
+ case (129) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 6, f06c, 129}
+ Store(Refof(f06c), Local3)
+ }
+ case (256) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 6, f06d, 256}
+ Store(Refof(f06d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 6, f06e, 1023}
+ Store(Refof(f06e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 6, f06f, 1983}
+ Store(Refof(f06f), Local3)
+ }
+ default {
+ err(arg0, z143, 279, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (7) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 7, f070, 1}
+ Store(Refof(f070), Local3)
+ }
+ case (6) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 7, f071, 6}
+ Store(Refof(f071), Local3)
+ }
+ case (7) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 7, f072, 7}
+ Store(Refof(f072), Local3)
+ }
+ case (8) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 7, f073, 8}
+ Store(Refof(f073), Local3)
+ }
+ case (9) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 7, f074, 9}
+ Store(Refof(f074), Local3)
+ }
+ case (31) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 7, f075, 31}
+ Store(Refof(f075), Local3)
+ }
+ case (32) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 7, f076, 32}
+ Store(Refof(f076), Local3)
+ }
+ case (33) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 7, f077, 33}
+ Store(Refof(f077), Local3)
+ }
+ case (63) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 7, f078, 63}
+ Store(Refof(f078), Local3)
+ }
+ case (64) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 7, f079, 64}
+ Store(Refof(f079), Local3)
+ }
+ case (65) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 7, f07a, 65}
+ Store(Refof(f07a), Local3)
+ }
+ case (69) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 7, f07b, 69}
+ Store(Refof(f07b), Local3)
+ }
+ case (129) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 7, f07c, 129}
+ Store(Refof(f07c), Local3)
+ }
+ case (256) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 7, f07d, 256}
+ Store(Refof(f07d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 7, f07e, 1023}
+ Store(Refof(f07e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 7, f07f, 1983}
+ Store(Refof(f07f), Local3)
+ }
+ default {
+ err(arg0, z143, 280, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (8) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ Offset(1), f080, 1}
+ Store(Refof(f080), Local3)
+ }
+ case (6) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ Offset(1), f081, 6}
+ Store(Refof(f081), Local3)
+ }
+ case (7) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ Offset(1), f082, 7}
+ Store(Refof(f082), Local3)
+ }
+ case (8) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ Offset(1), f083, 8}
+ Store(Refof(f083), Local3)
+ }
+ case (9) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ Offset(1), f084, 9}
+ Store(Refof(f084), Local3)
+ }
+ case (31) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ Offset(1), f085, 31}
+ Store(Refof(f085), Local3)
+ }
+ case (32) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ Offset(1), f086, 32}
+ Store(Refof(f086), Local3)
+ }
+ case (33) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ Offset(1), f087, 33}
+ Store(Refof(f087), Local3)
+ }
+ case (63) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ Offset(1), f088, 63}
+ Store(Refof(f088), Local3)
+ }
+ case (64) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ Offset(1), f089, 64}
+ Store(Refof(f089), Local3)
+ }
+ case (65) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ Offset(1), f08a, 65}
+ Store(Refof(f08a), Local3)
+ }
+ case (69) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ Offset(1), f08b, 69}
+ Store(Refof(f08b), Local3)
+ }
+ case (129) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ Offset(1), f08c, 129}
+ Store(Refof(f08c), Local3)
+ }
+ case (256) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ Offset(1), f08d, 256}
+ Store(Refof(f08d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ Offset(1), f08e, 1023}
+ Store(Refof(f08e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ Offset(1), f08f, 1983}
+ Store(Refof(f08f), Local3)
+ }
+ default {
+ err(arg0, z143, 281, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (9) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 9, f090, 1}
+ Store(Refof(f090), Local3)
+ }
+ case (6) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 9, f091, 6}
+ Store(Refof(f091), Local3)
+ }
+ case (7) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 9, f092, 7}
+ Store(Refof(f092), Local3)
+ }
+ case (8) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 9, f093, 8}
+ Store(Refof(f093), Local3)
+ }
+ case (9) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 9, f094, 9}
+ Store(Refof(f094), Local3)
+ }
+ case (31) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 9, f095, 31}
+ Store(Refof(f095), Local3)
+ }
+ case (32) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 9, f096, 32}
+ Store(Refof(f096), Local3)
+ }
+ case (33) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 9, f097, 33}
+ Store(Refof(f097), Local3)
+ }
+ case (63) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 9, f098, 63}
+ Store(Refof(f098), Local3)
+ }
+ case (64) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 9, f099, 64}
+ Store(Refof(f099), Local3)
+ }
+ case (65) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 9, f09a, 65}
+ Store(Refof(f09a), Local3)
+ }
+ case (69) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 9, f09b, 69}
+ Store(Refof(f09b), Local3)
+ }
+ case (129) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 9, f09c, 129}
+ Store(Refof(f09c), Local3)
+ }
+ case (256) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 9, f09d, 256}
+ Store(Refof(f09d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 9, f09e, 1023}
+ Store(Refof(f09e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 9, f09f, 1983}
+ Store(Refof(f09f), Local3)
+ }
+ default {
+ err(arg0, z143, 282, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (31) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0a0, 1}
+ Store(Refof(f0a0), Local3)
+ }
+ case (6) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0a1, 6}
+ Store(Refof(f0a1), Local3)
+ }
+ case (7) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0a2, 7}
+ Store(Refof(f0a2), Local3)
+ }
+ case (8) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0a3, 8}
+ Store(Refof(f0a3), Local3)
+ }
+ case (9) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0a4, 9}
+ Store(Refof(f0a4), Local3)
+ }
+ case (31) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0a5, 31}
+ Store(Refof(f0a5), Local3)
+ }
+ case (32) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0a6, 32}
+ Store(Refof(f0a6), Local3)
+ }
+ case (33) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0a7, 33}
+ Store(Refof(f0a7), Local3)
+ }
+ case (63) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0a8, 63}
+ Store(Refof(f0a8), Local3)
+ }
+ case (64) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0a9, 64}
+ Store(Refof(f0a9), Local3)
+ }
+ case (65) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0aa, 65}
+ Store(Refof(f0aa), Local3)
+ }
+ case (69) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0ab, 69}
+ Store(Refof(f0ab), Local3)
+ }
+ case (129) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0ac, 129}
+ Store(Refof(f0ac), Local3)
+ }
+ case (256) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0ad, 256}
+ Store(Refof(f0ad), Local3)
+ }
+ case (1023) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0ae, 1023}
+ Store(Refof(f0ae), Local3)
+ }
+ case (1983) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ Offset(3), , 7, f0af, 1983}
+ Store(Refof(f0af), Local3)
+ }
+ default {
+ err(arg0, z143, 283, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (32) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 32, f0b0, 1}
+ Store(Refof(f0b0), Local3)
+ }
+ case (6) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 32, f0b1, 6}
+ Store(Refof(f0b1), Local3)
+ }
+ case (7) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 32, f0b2, 7}
+ Store(Refof(f0b2), Local3)
+ }
+ case (8) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 32, f0b3, 8}
+ Store(Refof(f0b3), Local3)
+ }
+ case (9) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 32, f0b4, 9}
+ Store(Refof(f0b4), Local3)
+ }
+ case (31) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 32, f0b5, 31}
+ Store(Refof(f0b5), Local3)
+ }
+ case (32) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 32, f0b6, 32}
+ Store(Refof(f0b6), Local3)
+ }
+ case (33) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 32, f0b7, 33}
+ Store(Refof(f0b7), Local3)
+ }
+ case (63) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 32, f0b8, 63}
+ Store(Refof(f0b8), Local3)
+ }
+ case (64) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 32, f0b9, 64}
+ Store(Refof(f0b9), Local3)
+ }
+ case (65) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 32, f0ba, 65}
+ Store(Refof(f0ba), Local3)
+ }
+ case (69) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 32, f0bb, 69}
+ Store(Refof(f0bb), Local3)
+ }
+ case (129) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 32, f0bc, 129}
+ Store(Refof(f0bc), Local3)
+ }
+ case (256) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 32, f0bd, 256}
+ Store(Refof(f0bd), Local3)
+ }
+ case (1023) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 32, f0be, 1023}
+ Store(Refof(f0be), Local3)
+ }
+ case (1983) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 32, f0bf, 1983}
+ Store(Refof(f0bf), Local3)
+ }
+ default {
+ err(arg0, z143, 284, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (33) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 33, f0c0, 1}
+ Store(Refof(f0c0), Local3)
+ }
+ case (6) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 33, f0c1, 6}
+ Store(Refof(f0c1), Local3)
+ }
+ case (7) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 33, f0c2, 7}
+ Store(Refof(f0c2), Local3)
+ }
+ case (8) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 33, f0c3, 8}
+ Store(Refof(f0c3), Local3)
+ }
+ case (9) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 33, f0c4, 9}
+ Store(Refof(f0c4), Local3)
+ }
+ case (31) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 33, f0c5, 31}
+ Store(Refof(f0c5), Local3)
+ }
+ case (32) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 33, f0c6, 32}
+ Store(Refof(f0c6), Local3)
+ }
+ case (33) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 33, f0c7, 33}
+ Store(Refof(f0c7), Local3)
+ }
+ case (63) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 33, f0c8, 63}
+ Store(Refof(f0c8), Local3)
+ }
+ case (64) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 33, f0c9, 64}
+ Store(Refof(f0c9), Local3)
+ }
+ case (65) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 33, f0ca, 65}
+ Store(Refof(f0ca), Local3)
+ }
+ case (69) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 33, f0cb, 69}
+ Store(Refof(f0cb), Local3)
+ }
+ case (129) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 33, f0cc, 129}
+ Store(Refof(f0cc), Local3)
+ }
+ case (256) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 33, f0cd, 256}
+ Store(Refof(f0cd), Local3)
+ }
+ case (1023) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 33, f0ce, 1023}
+ Store(Refof(f0ce), Local3)
+ }
+ case (1983) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 33, f0cf, 1983}
+ Store(Refof(f0cf), Local3)
+ }
+ default {
+ err(arg0, z143, 285, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (63) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 63, f0d0, 1}
+ Store(Refof(f0d0), Local3)
+ }
+ case (6) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 63, f0d1, 6}
+ Store(Refof(f0d1), Local3)
+ }
+ case (7) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 63, f0d2, 7}
+ Store(Refof(f0d2), Local3)
+ }
+ case (8) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 63, f0d3, 8}
+ Store(Refof(f0d3), Local3)
+ }
+ case (9) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 63, f0d4, 9}
+ Store(Refof(f0d4), Local3)
+ }
+ case (31) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 63, f0d5, 31}
+ Store(Refof(f0d5), Local3)
+ }
+ case (32) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 63, f0d6, 32}
+ Store(Refof(f0d6), Local3)
+ }
+ case (33) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 63, f0d7, 33}
+ Store(Refof(f0d7), Local3)
+ }
+ case (63) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 63, f0d8, 63}
+ Store(Refof(f0d8), Local3)
+ }
+ case (64) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 63, f0d9, 64}
+ Store(Refof(f0d9), Local3)
+ }
+ case (65) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 63, f0da, 65}
+ Store(Refof(f0da), Local3)
+ }
+ case (69) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 63, f0db, 69}
+ Store(Refof(f0db), Local3)
+ }
+ case (129) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 63, f0dc, 129}
+ Store(Refof(f0dc), Local3)
+ }
+ case (256) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 63, f0dd, 256}
+ Store(Refof(f0dd), Local3)
+ }
+ case (1023) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 63, f0de, 1023}
+ Store(Refof(f0de), Local3)
+ }
+ case (1983) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 63, f0df, 1983}
+ Store(Refof(f0df), Local3)
+ }
+ default {
+ err(arg0, z143, 286, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (64) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 64, f0e0, 1}
+ Store(Refof(f0e0), Local3)
+ }
+ case (6) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 64, f0e1, 6}
+ Store(Refof(f0e1), Local3)
+ }
+ case (7) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 64, f0e2, 7}
+ Store(Refof(f0e2), Local3)
+ }
+ case (8) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 64, f0e3, 8}
+ Store(Refof(f0e3), Local3)
+ }
+ case (9) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 64, f0e4, 9}
+ Store(Refof(f0e4), Local3)
+ }
+ case (31) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 64, f0e5, 31}
+ Store(Refof(f0e5), Local3)
+ }
+ case (32) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 64, f0e6, 32}
+ Store(Refof(f0e6), Local3)
+ }
+ case (33) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 64, f0e7, 33}
+ Store(Refof(f0e7), Local3)
+ }
+ case (63) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 64, f0e8, 63}
+ Store(Refof(f0e8), Local3)
+ }
+ case (64) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 64, f0e9, 64}
+ Store(Refof(f0e9), Local3)
+ }
+ case (65) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 64, f0ea, 65}
+ Store(Refof(f0ea), Local3)
+ }
+ case (69) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 64, f0eb, 69}
+ Store(Refof(f0eb), Local3)
+ }
+ case (129) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 64, f0ec, 129}
+ Store(Refof(f0ec), Local3)
+ }
+ case (256) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 64, f0ed, 256}
+ Store(Refof(f0ed), Local3)
+ }
+ case (1023) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 64, f0ee, 1023}
+ Store(Refof(f0ee), Local3)
+ }
+ case (1983) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ , 64, f0ef, 1983}
+ Store(Refof(f0ef), Local3)
+ }
+ default {
+ err(arg0, z143, 287, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (65) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0f0, 1}
+ Store(Refof(f0f0), Local3)
+ }
+ case (6) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0f1, 6}
+ Store(Refof(f0f1), Local3)
+ }
+ case (7) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0f2, 7}
+ Store(Refof(f0f2), Local3)
+ }
+ case (8) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0f3, 8}
+ Store(Refof(f0f3), Local3)
+ }
+ case (9) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0f4, 9}
+ Store(Refof(f0f4), Local3)
+ }
+ case (31) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0f5, 31}
+ Store(Refof(f0f5), Local3)
+ }
+ case (32) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0f6, 32}
+ Store(Refof(f0f6), Local3)
+ }
+ case (33) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0f7, 33}
+ Store(Refof(f0f7), Local3)
+ }
+ case (63) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0f8, 63}
+ Store(Refof(f0f8), Local3)
+ }
+ case (64) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0f9, 64}
+ Store(Refof(f0f9), Local3)
+ }
+ case (65) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0fa, 65}
+ Store(Refof(f0fa), Local3)
+ }
+ case (69) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0fb, 69}
+ Store(Refof(f0fb), Local3)
+ }
+ case (129) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0fc, 129}
+ Store(Refof(f0fc), Local3)
+ }
+ case (256) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0fd, 256}
+ Store(Refof(f0fd), Local3)
+ }
+ case (1023) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0fe, 1023}
+ Store(Refof(f0fe), Local3)
+ }
+ case (1983) {
+ Field(OPR0, AnyAcc, NoLock, Preserve) {
+ Offset(8), , 1, f0ff, 1983}
+ Store(Refof(f0ff), Local3)
+ }
+ default {
+ err(arg0, z143, 288, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ default {
+ err(arg0, z143, 289, 0, 0, arg2, arg3)
+ return}
+ }
+
+ m72d(arg0, Local3, arg2, arg3, arg4, arg5, Refof(g001))
+}
+
+// Create Region Field Unit
+// (AnyAcc, NoLock, WriteAsOnes)
+Method(m73d, 6)
+{
+ OperationRegion(OPR0, SystemMemory, 0, RS00)
+
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ g001, 2048,
+ }
+
+ Concatenate(arg0, "-m73d", arg0)
+
+ switch(arg2) {
+ case (0) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 0, f000, 1}
+ Store(Refof(f000), Local3)
+ }
+ case (6) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 0, f001, 6}
+ Store(Refof(f001), Local3)
+ }
+ case (7) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 0, f002, 7}
+ Store(Refof(f002), Local3)
+ }
+ case (8) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 0, f003, 8}
+ Store(Refof(f003), Local3)
+ }
+ case (9) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 0, f004, 9}
+ Store(Refof(f004), Local3)
+ }
+ case (31) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 0, f005, 31}
+ Store(Refof(f005), Local3)
+ }
+ case (32) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 0, f006, 32}
+ Store(Refof(f006), Local3)
+ }
+ case (33) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 0, f007, 33}
+ Store(Refof(f007), Local3)
+ }
+ case (63) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 0, f008, 63}
+ Store(Refof(f008), Local3)
+ }
+ case (64) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 0, f009, 64}
+ Store(Refof(f009), Local3)
+ }
+ case (65) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 0, f00a, 65}
+ Store(Refof(f00a), Local3)
+ }
+ case (69) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 0, f00b, 69}
+ Store(Refof(f00b), Local3)
+ }
+ case (129) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 0, f00c, 129}
+ Store(Refof(f00c), Local3)
+ }
+ case (256) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 0, f00d, 256}
+ Store(Refof(f00d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 0, f00e, 1023}
+ Store(Refof(f00e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 0, f00f, 1983}
+ Store(Refof(f00f), Local3)
+ }
+ default {
+ err(arg0, z143, 290, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (1) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 1, f010, 1}
+ Store(Refof(f010), Local3)
+ }
+ case (6) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 1, f011, 6}
+ Store(Refof(f011), Local3)
+ }
+ case (7) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 1, f012, 7}
+ Store(Refof(f012), Local3)
+ }
+ case (8) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 1, f013, 8}
+ Store(Refof(f013), Local3)
+ }
+ case (9) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 1, f014, 9}
+ Store(Refof(f014), Local3)
+ }
+ case (31) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 1, f015, 31}
+ Store(Refof(f015), Local3)
+ }
+ case (32) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 1, f016, 32}
+ Store(Refof(f016), Local3)
+ }
+ case (33) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 1, f017, 33}
+ Store(Refof(f017), Local3)
+ }
+ case (63) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 1, f018, 63}
+ Store(Refof(f018), Local3)
+ }
+ case (64) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 1, f019, 64}
+ Store(Refof(f019), Local3)
+ }
+ case (65) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 1, f01a, 65}
+ Store(Refof(f01a), Local3)
+ }
+ case (69) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 1, f01b, 69}
+ Store(Refof(f01b), Local3)
+ }
+ case (129) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 1, f01c, 129}
+ Store(Refof(f01c), Local3)
+ }
+ case (256) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 1, f01d, 256}
+ Store(Refof(f01d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 1, f01e, 1023}
+ Store(Refof(f01e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 1, f01f, 1983}
+ Store(Refof(f01f), Local3)
+ }
+ default {
+ err(arg0, z143, 291, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (2) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ Offset(0), , 2, f020, 1}
+ Store(Refof(f020), Local3)
+ }
+ case (6) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ Offset(0), , 2, f021, 6}
+ Store(Refof(f021), Local3)
+ }
+ case (7) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ Offset(0), , 2, f022, 7}
+ Store(Refof(f022), Local3)
+ }
+ case (8) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ Offset(0), , 2, f023, 8}
+ Store(Refof(f023), Local3)
+ }
+ case (9) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ Offset(0), , 2, f024, 9}
+ Store(Refof(f024), Local3)
+ }
+ case (31) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ Offset(0), , 2, f025, 31}
+ Store(Refof(f025), Local3)
+ }
+ case (32) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ Offset(0), , 2, f026, 32}
+ Store(Refof(f026), Local3)
+ }
+ case (33) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ Offset(0), , 2, f027, 33}
+ Store(Refof(f027), Local3)
+ }
+ case (63) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ Offset(0), , 2, f028, 63}
+ Store(Refof(f028), Local3)
+ }
+ case (64) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ Offset(0), , 2, f029, 64}
+ Store(Refof(f029), Local3)
+ }
+ case (65) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ Offset(0), , 2, f02a, 65}
+ Store(Refof(f02a), Local3)
+ }
+ case (69) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ Offset(0), , 2, f02b, 69}
+ Store(Refof(f02b), Local3)
+ }
+ case (129) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ Offset(0), , 2, f02c, 129}
+ Store(Refof(f02c), Local3)
+ }
+ case (256) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ Offset(0), , 2, f02d, 256}
+ Store(Refof(f02d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ Offset(0), , 2, f02e, 1023}
+ Store(Refof(f02e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ Offset(0), , 2, f02f, 1983}
+ Store(Refof(f02f), Local3)
+ }
+ default {
+ err(arg0, z143, 292, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (3) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 3, f030, 1}
+ Store(Refof(f030), Local3)
+ }
+ case (6) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 3, f031, 6}
+ Store(Refof(f031), Local3)
+ }
+ case (7) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 3, f032, 7}
+ Store(Refof(f032), Local3)
+ }
+ case (8) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 3, f033, 8}
+ Store(Refof(f033), Local3)
+ }
+ case (9) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 3, f034, 9}
+ Store(Refof(f034), Local3)
+ }
+ case (31) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 3, f035, 31}
+ Store(Refof(f035), Local3)
+ }
+ case (32) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 3, f036, 32}
+ Store(Refof(f036), Local3)
+ }
+ case (33) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 3, f037, 33}
+ Store(Refof(f037), Local3)
+ }
+ case (63) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 3, f038, 63}
+ Store(Refof(f038), Local3)
+ }
+ case (64) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 3, f039, 64}
+ Store(Refof(f039), Local3)
+ }
+ case (65) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 3, f03a, 65}
+ Store(Refof(f03a), Local3)
+ }
+ case (69) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 3, f03b, 69}
+ Store(Refof(f03b), Local3)
+ }
+ case (129) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 3, f03c, 129}
+ Store(Refof(f03c), Local3)
+ }
+ case (256) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 3, f03d, 256}
+ Store(Refof(f03d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 3, f03e, 1023}
+ Store(Refof(f03e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 3, f03f, 1983}
+ Store(Refof(f03f), Local3)
+ }
+ default {
+ err(arg0, z143, 293, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (4) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 4, f040, 1}
+ Store(Refof(f040), Local3)
+ }
+ case (6) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 4, f041, 6}
+ Store(Refof(f041), Local3)
+ }
+ case (7) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 4, f042, 7}
+ Store(Refof(f042), Local3)
+ }
+ case (8) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 4, f043, 8}
+ Store(Refof(f043), Local3)
+ }
+ case (9) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 4, f044, 9}
+ Store(Refof(f044), Local3)
+ }
+ case (31) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 4, f045, 31}
+ Store(Refof(f045), Local3)
+ }
+ case (32) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 4, f046, 32}
+ Store(Refof(f046), Local3)
+ }
+ case (33) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 4, f047, 33}
+ Store(Refof(f047), Local3)
+ }
+ case (63) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 4, f048, 63}
+ Store(Refof(f048), Local3)
+ }
+ case (64) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 4, f049, 64}
+ Store(Refof(f049), Local3)
+ }
+ case (65) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 4, f04a, 65}
+ Store(Refof(f04a), Local3)
+ }
+ case (69) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 4, f04b, 69}
+ Store(Refof(f04b), Local3)
+ }
+ case (129) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 4, f04c, 129}
+ Store(Refof(f04c), Local3)
+ }
+ case (256) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 4, f04d, 256}
+ Store(Refof(f04d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 4, f04e, 1023}
+ Store(Refof(f04e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 4, f04f, 1983}
+ Store(Refof(f04f), Local3)
+ }
+ default {
+ err(arg0, z143, 294, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (5) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 5, f050, 1}
+ Store(Refof(f050), Local3)
+ }
+ case (6) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 5, f051, 6}
+ Store(Refof(f051), Local3)
+ }
+ case (7) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 5, f052, 7}
+ Store(Refof(f052), Local3)
+ }
+ case (8) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 5, f053, 8}
+ Store(Refof(f053), Local3)
+ }
+ case (9) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 5, f054, 9}
+ Store(Refof(f054), Local3)
+ }
+ case (31) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 5, f055, 31}
+ Store(Refof(f055), Local3)
+ }
+ case (32) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 5, f056, 32}
+ Store(Refof(f056), Local3)
+ }
+ case (33) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 5, f057, 33}
+ Store(Refof(f057), Local3)
+ }
+ case (63) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 5, f058, 63}
+ Store(Refof(f058), Local3)
+ }
+ case (64) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 5, f059, 64}
+ Store(Refof(f059), Local3)
+ }
+ case (65) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 5, f05a, 65}
+ Store(Refof(f05a), Local3)
+ }
+ case (69) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 5, f05b, 69}
+ Store(Refof(f05b), Local3)
+ }
+ case (129) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 5, f05c, 129}
+ Store(Refof(f05c), Local3)
+ }
+ case (256) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 5, f05d, 256}
+ Store(Refof(f05d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 5, f05e, 1023}
+ Store(Refof(f05e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 5, f05f, 1983}
+ Store(Refof(f05f), Local3)
+ }
+ default {
+ err(arg0, z143, 295, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (6) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 6, f060, 1}
+ Store(Refof(f060), Local3)
+ }
+ case (6) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 6, f061, 6}
+ Store(Refof(f061), Local3)
+ }
+ case (7) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 6, f062, 7}
+ Store(Refof(f062), Local3)
+ }
+ case (8) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 6, f063, 8}
+ Store(Refof(f063), Local3)
+ }
+ case (9) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 6, f064, 9}
+ Store(Refof(f064), Local3)
+ }
+ case (31) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 6, f065, 31}
+ Store(Refof(f065), Local3)
+ }
+ case (32) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 6, f066, 32}
+ Store(Refof(f066), Local3)
+ }
+ case (33) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 6, f067, 33}
+ Store(Refof(f067), Local3)
+ }
+ case (63) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 6, f068, 63}
+ Store(Refof(f068), Local3)
+ }
+ case (64) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 6, f069, 64}
+ Store(Refof(f069), Local3)
+ }
+ case (65) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 6, f06a, 65}
+ Store(Refof(f06a), Local3)
+ }
+ case (69) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 6, f06b, 69}
+ Store(Refof(f06b), Local3)
+ }
+ case (129) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 6, f06c, 129}
+ Store(Refof(f06c), Local3)
+ }
+ case (256) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 6, f06d, 256}
+ Store(Refof(f06d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 6, f06e, 1023}
+ Store(Refof(f06e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 6, f06f, 1983}
+ Store(Refof(f06f), Local3)
+ }
+ default {
+ err(arg0, z143, 296, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (7) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 7, f070, 1}
+ Store(Refof(f070), Local3)
+ }
+ case (6) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 7, f071, 6}
+ Store(Refof(f071), Local3)
+ }
+ case (7) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 7, f072, 7}
+ Store(Refof(f072), Local3)
+ }
+ case (8) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 7, f073, 8}
+ Store(Refof(f073), Local3)
+ }
+ case (9) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 7, f074, 9}
+ Store(Refof(f074), Local3)
+ }
+ case (31) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 7, f075, 31}
+ Store(Refof(f075), Local3)
+ }
+ case (32) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 7, f076, 32}
+ Store(Refof(f076), Local3)
+ }
+ case (33) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 7, f077, 33}
+ Store(Refof(f077), Local3)
+ }
+ case (63) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 7, f078, 63}
+ Store(Refof(f078), Local3)
+ }
+ case (64) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 7, f079, 64}
+ Store(Refof(f079), Local3)
+ }
+ case (65) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 7, f07a, 65}
+ Store(Refof(f07a), Local3)
+ }
+ case (69) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 7, f07b, 69}
+ Store(Refof(f07b), Local3)
+ }
+ case (129) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 7, f07c, 129}
+ Store(Refof(f07c), Local3)
+ }
+ case (256) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 7, f07d, 256}
+ Store(Refof(f07d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 7, f07e, 1023}
+ Store(Refof(f07e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 7, f07f, 1983}
+ Store(Refof(f07f), Local3)
+ }
+ default {
+ err(arg0, z143, 297, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (8) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ Offset(1), f080, 1}
+ Store(Refof(f080), Local3)
+ }
+ case (6) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ Offset(1), f081, 6}
+ Store(Refof(f081), Local3)
+ }
+ case (7) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ Offset(1), f082, 7}
+ Store(Refof(f082), Local3)
+ }
+ case (8) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ Offset(1), f083, 8}
+ Store(Refof(f083), Local3)
+ }
+ case (9) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ Offset(1), f084, 9}
+ Store(Refof(f084), Local3)
+ }
+ case (31) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ Offset(1), f085, 31}
+ Store(Refof(f085), Local3)
+ }
+ case (32) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ Offset(1), f086, 32}
+ Store(Refof(f086), Local3)
+ }
+ case (33) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ Offset(1), f087, 33}
+ Store(Refof(f087), Local3)
+ }
+ case (63) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ Offset(1), f088, 63}
+ Store(Refof(f088), Local3)
+ }
+ case (64) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ Offset(1), f089, 64}
+ Store(Refof(f089), Local3)
+ }
+ case (65) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ Offset(1), f08a, 65}
+ Store(Refof(f08a), Local3)
+ }
+ case (69) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ Offset(1), f08b, 69}
+ Store(Refof(f08b), Local3)
+ }
+ case (129) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ Offset(1), f08c, 129}
+ Store(Refof(f08c), Local3)
+ }
+ case (256) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ Offset(1), f08d, 256}
+ Store(Refof(f08d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ Offset(1), f08e, 1023}
+ Store(Refof(f08e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ Offset(1), f08f, 1983}
+ Store(Refof(f08f), Local3)
+ }
+ default {
+ err(arg0, z143, 298, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (9) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 9, f090, 1}
+ Store(Refof(f090), Local3)
+ }
+ case (6) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 9, f091, 6}
+ Store(Refof(f091), Local3)
+ }
+ case (7) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 9, f092, 7}
+ Store(Refof(f092), Local3)
+ }
+ case (8) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 9, f093, 8}
+ Store(Refof(f093), Local3)
+ }
+ case (9) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 9, f094, 9}
+ Store(Refof(f094), Local3)
+ }
+ case (31) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 9, f095, 31}
+ Store(Refof(f095), Local3)
+ }
+ case (32) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 9, f096, 32}
+ Store(Refof(f096), Local3)
+ }
+ case (33) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 9, f097, 33}
+ Store(Refof(f097), Local3)
+ }
+ case (63) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 9, f098, 63}
+ Store(Refof(f098), Local3)
+ }
+ case (64) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 9, f099, 64}
+ Store(Refof(f099), Local3)
+ }
+ case (65) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 9, f09a, 65}
+ Store(Refof(f09a), Local3)
+ }
+ case (69) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 9, f09b, 69}
+ Store(Refof(f09b), Local3)
+ }
+ case (129) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 9, f09c, 129}
+ Store(Refof(f09c), Local3)
+ }
+ case (256) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 9, f09d, 256}
+ Store(Refof(f09d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 9, f09e, 1023}
+ Store(Refof(f09e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 9, f09f, 1983}
+ Store(Refof(f09f), Local3)
+ }
+ default {
+ err(arg0, z143, 299, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (31) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0a0, 1}
+ Store(Refof(f0a0), Local3)
+ }
+ case (6) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0a1, 6}
+ Store(Refof(f0a1), Local3)
+ }
+ case (7) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0a2, 7}
+ Store(Refof(f0a2), Local3)
+ }
+ case (8) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0a3, 8}
+ Store(Refof(f0a3), Local3)
+ }
+ case (9) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0a4, 9}
+ Store(Refof(f0a4), Local3)
+ }
+ case (31) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0a5, 31}
+ Store(Refof(f0a5), Local3)
+ }
+ case (32) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0a6, 32}
+ Store(Refof(f0a6), Local3)
+ }
+ case (33) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0a7, 33}
+ Store(Refof(f0a7), Local3)
+ }
+ case (63) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0a8, 63}
+ Store(Refof(f0a8), Local3)
+ }
+ case (64) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0a9, 64}
+ Store(Refof(f0a9), Local3)
+ }
+ case (65) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0aa, 65}
+ Store(Refof(f0aa), Local3)
+ }
+ case (69) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0ab, 69}
+ Store(Refof(f0ab), Local3)
+ }
+ case (129) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0ac, 129}
+ Store(Refof(f0ac), Local3)
+ }
+ case (256) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0ad, 256}
+ Store(Refof(f0ad), Local3)
+ }
+ case (1023) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0ae, 1023}
+ Store(Refof(f0ae), Local3)
+ }
+ case (1983) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ Offset(3), , 7, f0af, 1983}
+ Store(Refof(f0af), Local3)
+ }
+ default {
+ err(arg0, z143, 300, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (32) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 32, f0b0, 1}
+ Store(Refof(f0b0), Local3)
+ }
+ case (6) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 32, f0b1, 6}
+ Store(Refof(f0b1), Local3)
+ }
+ case (7) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 32, f0b2, 7}
+ Store(Refof(f0b2), Local3)
+ }
+ case (8) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 32, f0b3, 8}
+ Store(Refof(f0b3), Local3)
+ }
+ case (9) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 32, f0b4, 9}
+ Store(Refof(f0b4), Local3)
+ }
+ case (31) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 32, f0b5, 31}
+ Store(Refof(f0b5), Local3)
+ }
+ case (32) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 32, f0b6, 32}
+ Store(Refof(f0b6), Local3)
+ }
+ case (33) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 32, f0b7, 33}
+ Store(Refof(f0b7), Local3)
+ }
+ case (63) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 32, f0b8, 63}
+ Store(Refof(f0b8), Local3)
+ }
+ case (64) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 32, f0b9, 64}
+ Store(Refof(f0b9), Local3)
+ }
+ case (65) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 32, f0ba, 65}
+ Store(Refof(f0ba), Local3)
+ }
+ case (69) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 32, f0bb, 69}
+ Store(Refof(f0bb), Local3)
+ }
+ case (129) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 32, f0bc, 129}
+ Store(Refof(f0bc), Local3)
+ }
+ case (256) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 32, f0bd, 256}
+ Store(Refof(f0bd), Local3)
+ }
+ case (1023) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 32, f0be, 1023}
+ Store(Refof(f0be), Local3)
+ }
+ case (1983) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 32, f0bf, 1983}
+ Store(Refof(f0bf), Local3)
+ }
+ default {
+ err(arg0, z143, 301, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (33) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 33, f0c0, 1}
+ Store(Refof(f0c0), Local3)
+ }
+ case (6) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 33, f0c1, 6}
+ Store(Refof(f0c1), Local3)
+ }
+ case (7) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 33, f0c2, 7}
+ Store(Refof(f0c2), Local3)
+ }
+ case (8) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 33, f0c3, 8}
+ Store(Refof(f0c3), Local3)
+ }
+ case (9) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 33, f0c4, 9}
+ Store(Refof(f0c4), Local3)
+ }
+ case (31) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 33, f0c5, 31}
+ Store(Refof(f0c5), Local3)
+ }
+ case (32) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 33, f0c6, 32}
+ Store(Refof(f0c6), Local3)
+ }
+ case (33) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 33, f0c7, 33}
+ Store(Refof(f0c7), Local3)
+ }
+ case (63) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 33, f0c8, 63}
+ Store(Refof(f0c8), Local3)
+ }
+ case (64) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 33, f0c9, 64}
+ Store(Refof(f0c9), Local3)
+ }
+ case (65) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 33, f0ca, 65}
+ Store(Refof(f0ca), Local3)
+ }
+ case (69) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 33, f0cb, 69}
+ Store(Refof(f0cb), Local3)
+ }
+ case (129) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 33, f0cc, 129}
+ Store(Refof(f0cc), Local3)
+ }
+ case (256) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 33, f0cd, 256}
+ Store(Refof(f0cd), Local3)
+ }
+ case (1023) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 33, f0ce, 1023}
+ Store(Refof(f0ce), Local3)
+ }
+ case (1983) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 33, f0cf, 1983}
+ Store(Refof(f0cf), Local3)
+ }
+ default {
+ err(arg0, z143, 302, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (63) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 63, f0d0, 1}
+ Store(Refof(f0d0), Local3)
+ }
+ case (6) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 63, f0d1, 6}
+ Store(Refof(f0d1), Local3)
+ }
+ case (7) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 63, f0d2, 7}
+ Store(Refof(f0d2), Local3)
+ }
+ case (8) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 63, f0d3, 8}
+ Store(Refof(f0d3), Local3)
+ }
+ case (9) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 63, f0d4, 9}
+ Store(Refof(f0d4), Local3)
+ }
+ case (31) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 63, f0d5, 31}
+ Store(Refof(f0d5), Local3)
+ }
+ case (32) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 63, f0d6, 32}
+ Store(Refof(f0d6), Local3)
+ }
+ case (33) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 63, f0d7, 33}
+ Store(Refof(f0d7), Local3)
+ }
+ case (63) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 63, f0d8, 63}
+ Store(Refof(f0d8), Local3)
+ }
+ case (64) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 63, f0d9, 64}
+ Store(Refof(f0d9), Local3)
+ }
+ case (65) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 63, f0da, 65}
+ Store(Refof(f0da), Local3)
+ }
+ case (69) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 63, f0db, 69}
+ Store(Refof(f0db), Local3)
+ }
+ case (129) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 63, f0dc, 129}
+ Store(Refof(f0dc), Local3)
+ }
+ case (256) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 63, f0dd, 256}
+ Store(Refof(f0dd), Local3)
+ }
+ case (1023) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 63, f0de, 1023}
+ Store(Refof(f0de), Local3)
+ }
+ case (1983) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 63, f0df, 1983}
+ Store(Refof(f0df), Local3)
+ }
+ default {
+ err(arg0, z143, 303, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (64) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 64, f0e0, 1}
+ Store(Refof(f0e0), Local3)
+ }
+ case (6) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 64, f0e1, 6}
+ Store(Refof(f0e1), Local3)
+ }
+ case (7) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 64, f0e2, 7}
+ Store(Refof(f0e2), Local3)
+ }
+ case (8) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 64, f0e3, 8}
+ Store(Refof(f0e3), Local3)
+ }
+ case (9) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 64, f0e4, 9}
+ Store(Refof(f0e4), Local3)
+ }
+ case (31) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 64, f0e5, 31}
+ Store(Refof(f0e5), Local3)
+ }
+ case (32) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 64, f0e6, 32}
+ Store(Refof(f0e6), Local3)
+ }
+ case (33) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 64, f0e7, 33}
+ Store(Refof(f0e7), Local3)
+ }
+ case (63) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 64, f0e8, 63}
+ Store(Refof(f0e8), Local3)
+ }
+ case (64) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 64, f0e9, 64}
+ Store(Refof(f0e9), Local3)
+ }
+ case (65) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 64, f0ea, 65}
+ Store(Refof(f0ea), Local3)
+ }
+ case (69) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 64, f0eb, 69}
+ Store(Refof(f0eb), Local3)
+ }
+ case (129) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 64, f0ec, 129}
+ Store(Refof(f0ec), Local3)
+ }
+ case (256) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 64, f0ed, 256}
+ Store(Refof(f0ed), Local3)
+ }
+ case (1023) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 64, f0ee, 1023}
+ Store(Refof(f0ee), Local3)
+ }
+ case (1983) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ , 64, f0ef, 1983}
+ Store(Refof(f0ef), Local3)
+ }
+ default {
+ err(arg0, z143, 304, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (65) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0f0, 1}
+ Store(Refof(f0f0), Local3)
+ }
+ case (6) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0f1, 6}
+ Store(Refof(f0f1), Local3)
+ }
+ case (7) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0f2, 7}
+ Store(Refof(f0f2), Local3)
+ }
+ case (8) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0f3, 8}
+ Store(Refof(f0f3), Local3)
+ }
+ case (9) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0f4, 9}
+ Store(Refof(f0f4), Local3)
+ }
+ case (31) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0f5, 31}
+ Store(Refof(f0f5), Local3)
+ }
+ case (32) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0f6, 32}
+ Store(Refof(f0f6), Local3)
+ }
+ case (33) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0f7, 33}
+ Store(Refof(f0f7), Local3)
+ }
+ case (63) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0f8, 63}
+ Store(Refof(f0f8), Local3)
+ }
+ case (64) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0f9, 64}
+ Store(Refof(f0f9), Local3)
+ }
+ case (65) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0fa, 65}
+ Store(Refof(f0fa), Local3)
+ }
+ case (69) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0fb, 69}
+ Store(Refof(f0fb), Local3)
+ }
+ case (129) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0fc, 129}
+ Store(Refof(f0fc), Local3)
+ }
+ case (256) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0fd, 256}
+ Store(Refof(f0fd), Local3)
+ }
+ case (1023) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0fe, 1023}
+ Store(Refof(f0fe), Local3)
+ }
+ case (1983) {
+ Field(OPR0, AnyAcc, NoLock, WriteAsOnes) {
+ Offset(8), , 1, f0ff, 1983}
+ Store(Refof(f0ff), Local3)
+ }
+ default {
+ err(arg0, z143, 305, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ default {
+ err(arg0, z143, 306, 0, 0, arg2, arg3)
+ return}
+ }
+
+ m72d(arg0, Local3, arg2, arg3, arg4, arg5, Refof(g001))
+}
+
+// Create Region Field Unit
+// (AnyAcc, Lock, WriteAsZeros)
+Method(m73e, 6)
+{
+ OperationRegion(OPR0, SystemMemory, 0, RS00)
+
+ Field(OPR0, ByteAcc, Lock, Preserve) {
+ g001, 2048,
+ }
+
+ Concatenate(arg0, "-m73e", arg0)
+
+ switch(arg2) {
+ case (0) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 0, f000, 1}
+ Store(Refof(f000), Local3)
+ }
+ case (6) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 0, f001, 6}
+ Store(Refof(f001), Local3)
+ }
+ case (7) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 0, f002, 7}
+ Store(Refof(f002), Local3)
+ }
+ case (8) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 0, f003, 8}
+ Store(Refof(f003), Local3)
+ }
+ case (9) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 0, f004, 9}
+ Store(Refof(f004), Local3)
+ }
+ case (31) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 0, f005, 31}
+ Store(Refof(f005), Local3)
+ }
+ case (32) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 0, f006, 32}
+ Store(Refof(f006), Local3)
+ }
+ case (33) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 0, f007, 33}
+ Store(Refof(f007), Local3)
+ }
+ case (63) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 0, f008, 63}
+ Store(Refof(f008), Local3)
+ }
+ case (64) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 0, f009, 64}
+ Store(Refof(f009), Local3)
+ }
+ case (65) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 0, f00a, 65}
+ Store(Refof(f00a), Local3)
+ }
+ case (69) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 0, f00b, 69}
+ Store(Refof(f00b), Local3)
+ }
+ case (129) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 0, f00c, 129}
+ Store(Refof(f00c), Local3)
+ }
+ case (256) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 0, f00d, 256}
+ Store(Refof(f00d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 0, f00e, 1023}
+ Store(Refof(f00e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 0, f00f, 1983}
+ Store(Refof(f00f), Local3)
+ }
+ default {
+ err(arg0, z143, 307, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (1) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 1, f010, 1}
+ Store(Refof(f010), Local3)
+ }
+ case (6) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 1, f011, 6}
+ Store(Refof(f011), Local3)
+ }
+ case (7) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 1, f012, 7}
+ Store(Refof(f012), Local3)
+ }
+ case (8) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 1, f013, 8}
+ Store(Refof(f013), Local3)
+ }
+ case (9) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 1, f014, 9}
+ Store(Refof(f014), Local3)
+ }
+ case (31) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 1, f015, 31}
+ Store(Refof(f015), Local3)
+ }
+ case (32) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 1, f016, 32}
+ Store(Refof(f016), Local3)
+ }
+ case (33) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 1, f017, 33}
+ Store(Refof(f017), Local3)
+ }
+ case (63) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 1, f018, 63}
+ Store(Refof(f018), Local3)
+ }
+ case (64) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 1, f019, 64}
+ Store(Refof(f019), Local3)
+ }
+ case (65) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 1, f01a, 65}
+ Store(Refof(f01a), Local3)
+ }
+ case (69) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 1, f01b, 69}
+ Store(Refof(f01b), Local3)
+ }
+ case (129) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 1, f01c, 129}
+ Store(Refof(f01c), Local3)
+ }
+ case (256) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 1, f01d, 256}
+ Store(Refof(f01d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 1, f01e, 1023}
+ Store(Refof(f01e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 1, f01f, 1983}
+ Store(Refof(f01f), Local3)
+ }
+ default {
+ err(arg0, z143, 308, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (2) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ Offset(0), , 2, f020, 1}
+ Store(Refof(f020), Local3)
+ }
+ case (6) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ Offset(0), , 2, f021, 6}
+ Store(Refof(f021), Local3)
+ }
+ case (7) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ Offset(0), , 2, f022, 7}
+ Store(Refof(f022), Local3)
+ }
+ case (8) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ Offset(0), , 2, f023, 8}
+ Store(Refof(f023), Local3)
+ }
+ case (9) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ Offset(0), , 2, f024, 9}
+ Store(Refof(f024), Local3)
+ }
+ case (31) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ Offset(0), , 2, f025, 31}
+ Store(Refof(f025), Local3)
+ }
+ case (32) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ Offset(0), , 2, f026, 32}
+ Store(Refof(f026), Local3)
+ }
+ case (33) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ Offset(0), , 2, f027, 33}
+ Store(Refof(f027), Local3)
+ }
+ case (63) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ Offset(0), , 2, f028, 63}
+ Store(Refof(f028), Local3)
+ }
+ case (64) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ Offset(0), , 2, f029, 64}
+ Store(Refof(f029), Local3)
+ }
+ case (65) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ Offset(0), , 2, f02a, 65}
+ Store(Refof(f02a), Local3)
+ }
+ case (69) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ Offset(0), , 2, f02b, 69}
+ Store(Refof(f02b), Local3)
+ }
+ case (129) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ Offset(0), , 2, f02c, 129}
+ Store(Refof(f02c), Local3)
+ }
+ case (256) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ Offset(0), , 2, f02d, 256}
+ Store(Refof(f02d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ Offset(0), , 2, f02e, 1023}
+ Store(Refof(f02e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ Offset(0), , 2, f02f, 1983}
+ Store(Refof(f02f), Local3)
+ }
+ default {
+ err(arg0, z143, 309, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (3) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 3, f030, 1}
+ Store(Refof(f030), Local3)
+ }
+ case (6) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 3, f031, 6}
+ Store(Refof(f031), Local3)
+ }
+ case (7) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 3, f032, 7}
+ Store(Refof(f032), Local3)
+ }
+ case (8) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 3, f033, 8}
+ Store(Refof(f033), Local3)
+ }
+ case (9) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 3, f034, 9}
+ Store(Refof(f034), Local3)
+ }
+ case (31) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 3, f035, 31}
+ Store(Refof(f035), Local3)
+ }
+ case (32) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 3, f036, 32}
+ Store(Refof(f036), Local3)
+ }
+ case (33) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 3, f037, 33}
+ Store(Refof(f037), Local3)
+ }
+ case (63) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 3, f038, 63}
+ Store(Refof(f038), Local3)
+ }
+ case (64) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 3, f039, 64}
+ Store(Refof(f039), Local3)
+ }
+ case (65) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 3, f03a, 65}
+ Store(Refof(f03a), Local3)
+ }
+ case (69) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 3, f03b, 69}
+ Store(Refof(f03b), Local3)
+ }
+ case (129) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 3, f03c, 129}
+ Store(Refof(f03c), Local3)
+ }
+ case (256) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 3, f03d, 256}
+ Store(Refof(f03d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 3, f03e, 1023}
+ Store(Refof(f03e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 3, f03f, 1983}
+ Store(Refof(f03f), Local3)
+ }
+ default {
+ err(arg0, z143, 310, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (4) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 4, f040, 1}
+ Store(Refof(f040), Local3)
+ }
+ case (6) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 4, f041, 6}
+ Store(Refof(f041), Local3)
+ }
+ case (7) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 4, f042, 7}
+ Store(Refof(f042), Local3)
+ }
+ case (8) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 4, f043, 8}
+ Store(Refof(f043), Local3)
+ }
+ case (9) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 4, f044, 9}
+ Store(Refof(f044), Local3)
+ }
+ case (31) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 4, f045, 31}
+ Store(Refof(f045), Local3)
+ }
+ case (32) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 4, f046, 32}
+ Store(Refof(f046), Local3)
+ }
+ case (33) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 4, f047, 33}
+ Store(Refof(f047), Local3)
+ }
+ case (63) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 4, f048, 63}
+ Store(Refof(f048), Local3)
+ }
+ case (64) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 4, f049, 64}
+ Store(Refof(f049), Local3)
+ }
+ case (65) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 4, f04a, 65}
+ Store(Refof(f04a), Local3)
+ }
+ case (69) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 4, f04b, 69}
+ Store(Refof(f04b), Local3)
+ }
+ case (129) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 4, f04c, 129}
+ Store(Refof(f04c), Local3)
+ }
+ case (256) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 4, f04d, 256}
+ Store(Refof(f04d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 4, f04e, 1023}
+ Store(Refof(f04e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 4, f04f, 1983}
+ Store(Refof(f04f), Local3)
+ }
+ default {
+ err(arg0, z143, 311, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (5) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 5, f050, 1}
+ Store(Refof(f050), Local3)
+ }
+ case (6) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 5, f051, 6}
+ Store(Refof(f051), Local3)
+ }
+ case (7) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 5, f052, 7}
+ Store(Refof(f052), Local3)
+ }
+ case (8) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 5, f053, 8}
+ Store(Refof(f053), Local3)
+ }
+ case (9) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 5, f054, 9}
+ Store(Refof(f054), Local3)
+ }
+ case (31) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 5, f055, 31}
+ Store(Refof(f055), Local3)
+ }
+ case (32) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 5, f056, 32}
+ Store(Refof(f056), Local3)
+ }
+ case (33) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 5, f057, 33}
+ Store(Refof(f057), Local3)
+ }
+ case (63) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 5, f058, 63}
+ Store(Refof(f058), Local3)
+ }
+ case (64) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 5, f059, 64}
+ Store(Refof(f059), Local3)
+ }
+ case (65) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 5, f05a, 65}
+ Store(Refof(f05a), Local3)
+ }
+ case (69) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 5, f05b, 69}
+ Store(Refof(f05b), Local3)
+ }
+ case (129) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 5, f05c, 129}
+ Store(Refof(f05c), Local3)
+ }
+ case (256) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 5, f05d, 256}
+ Store(Refof(f05d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 5, f05e, 1023}
+ Store(Refof(f05e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 5, f05f, 1983}
+ Store(Refof(f05f), Local3)
+ }
+ default {
+ err(arg0, z143, 312, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (6) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 6, f060, 1}
+ Store(Refof(f060), Local3)
+ }
+ case (6) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 6, f061, 6}
+ Store(Refof(f061), Local3)
+ }
+ case (7) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 6, f062, 7}
+ Store(Refof(f062), Local3)
+ }
+ case (8) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 6, f063, 8}
+ Store(Refof(f063), Local3)
+ }
+ case (9) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 6, f064, 9}
+ Store(Refof(f064), Local3)
+ }
+ case (31) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 6, f065, 31}
+ Store(Refof(f065), Local3)
+ }
+ case (32) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 6, f066, 32}
+ Store(Refof(f066), Local3)
+ }
+ case (33) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 6, f067, 33}
+ Store(Refof(f067), Local3)
+ }
+ case (63) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 6, f068, 63}
+ Store(Refof(f068), Local3)
+ }
+ case (64) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 6, f069, 64}
+ Store(Refof(f069), Local3)
+ }
+ case (65) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 6, f06a, 65}
+ Store(Refof(f06a), Local3)
+ }
+ case (69) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 6, f06b, 69}
+ Store(Refof(f06b), Local3)
+ }
+ case (129) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 6, f06c, 129}
+ Store(Refof(f06c), Local3)
+ }
+ case (256) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 6, f06d, 256}
+ Store(Refof(f06d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 6, f06e, 1023}
+ Store(Refof(f06e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 6, f06f, 1983}
+ Store(Refof(f06f), Local3)
+ }
+ default {
+ err(arg0, z143, 313, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (7) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 7, f070, 1}
+ Store(Refof(f070), Local3)
+ }
+ case (6) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 7, f071, 6}
+ Store(Refof(f071), Local3)
+ }
+ case (7) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 7, f072, 7}
+ Store(Refof(f072), Local3)
+ }
+ case (8) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 7, f073, 8}
+ Store(Refof(f073), Local3)
+ }
+ case (9) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 7, f074, 9}
+ Store(Refof(f074), Local3)
+ }
+ case (31) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 7, f075, 31}
+ Store(Refof(f075), Local3)
+ }
+ case (32) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 7, f076, 32}
+ Store(Refof(f076), Local3)
+ }
+ case (33) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 7, f077, 33}
+ Store(Refof(f077), Local3)
+ }
+ case (63) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 7, f078, 63}
+ Store(Refof(f078), Local3)
+ }
+ case (64) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 7, f079, 64}
+ Store(Refof(f079), Local3)
+ }
+ case (65) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 7, f07a, 65}
+ Store(Refof(f07a), Local3)
+ }
+ case (69) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 7, f07b, 69}
+ Store(Refof(f07b), Local3)
+ }
+ case (129) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 7, f07c, 129}
+ Store(Refof(f07c), Local3)
+ }
+ case (256) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 7, f07d, 256}
+ Store(Refof(f07d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 7, f07e, 1023}
+ Store(Refof(f07e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 7, f07f, 1983}
+ Store(Refof(f07f), Local3)
+ }
+ default {
+ err(arg0, z143, 314, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (8) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ Offset(1), f080, 1}
+ Store(Refof(f080), Local3)
+ }
+ case (6) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ Offset(1), f081, 6}
+ Store(Refof(f081), Local3)
+ }
+ case (7) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ Offset(1), f082, 7}
+ Store(Refof(f082), Local3)
+ }
+ case (8) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ Offset(1), f083, 8}
+ Store(Refof(f083), Local3)
+ }
+ case (9) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ Offset(1), f084, 9}
+ Store(Refof(f084), Local3)
+ }
+ case (31) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ Offset(1), f085, 31}
+ Store(Refof(f085), Local3)
+ }
+ case (32) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ Offset(1), f086, 32}
+ Store(Refof(f086), Local3)
+ }
+ case (33) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ Offset(1), f087, 33}
+ Store(Refof(f087), Local3)
+ }
+ case (63) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ Offset(1), f088, 63}
+ Store(Refof(f088), Local3)
+ }
+ case (64) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ Offset(1), f089, 64}
+ Store(Refof(f089), Local3)
+ }
+ case (65) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ Offset(1), f08a, 65}
+ Store(Refof(f08a), Local3)
+ }
+ case (69) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ Offset(1), f08b, 69}
+ Store(Refof(f08b), Local3)
+ }
+ case (129) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ Offset(1), f08c, 129}
+ Store(Refof(f08c), Local3)
+ }
+ case (256) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ Offset(1), f08d, 256}
+ Store(Refof(f08d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ Offset(1), f08e, 1023}
+ Store(Refof(f08e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ Offset(1), f08f, 1983}
+ Store(Refof(f08f), Local3)
+ }
+ default {
+ err(arg0, z143, 315, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (9) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 9, f090, 1}
+ Store(Refof(f090), Local3)
+ }
+ case (6) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 9, f091, 6}
+ Store(Refof(f091), Local3)
+ }
+ case (7) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 9, f092, 7}
+ Store(Refof(f092), Local3)
+ }
+ case (8) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 9, f093, 8}
+ Store(Refof(f093), Local3)
+ }
+ case (9) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 9, f094, 9}
+ Store(Refof(f094), Local3)
+ }
+ case (31) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 9, f095, 31}
+ Store(Refof(f095), Local3)
+ }
+ case (32) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 9, f096, 32}
+ Store(Refof(f096), Local3)
+ }
+ case (33) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 9, f097, 33}
+ Store(Refof(f097), Local3)
+ }
+ case (63) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 9, f098, 63}
+ Store(Refof(f098), Local3)
+ }
+ case (64) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 9, f099, 64}
+ Store(Refof(f099), Local3)
+ }
+ case (65) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 9, f09a, 65}
+ Store(Refof(f09a), Local3)
+ }
+ case (69) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 9, f09b, 69}
+ Store(Refof(f09b), Local3)
+ }
+ case (129) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 9, f09c, 129}
+ Store(Refof(f09c), Local3)
+ }
+ case (256) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 9, f09d, 256}
+ Store(Refof(f09d), Local3)
+ }
+ case (1023) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 9, f09e, 1023}
+ Store(Refof(f09e), Local3)
+ }
+ case (1983) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 9, f09f, 1983}
+ Store(Refof(f09f), Local3)
+ }
+ default {
+ err(arg0, z143, 316, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (31) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ Offset(3), , 7, f0a0, 1}
+ Store(Refof(f0a0), Local3)
+ }
+ case (6) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ Offset(3), , 7, f0a1, 6}
+ Store(Refof(f0a1), Local3)
+ }
+ case (7) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ Offset(3), , 7, f0a2, 7}
+ Store(Refof(f0a2), Local3)
+ }
+ case (8) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ Offset(3), , 7, f0a3, 8}
+ Store(Refof(f0a3), Local3)
+ }
+ case (9) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ Offset(3), , 7, f0a4, 9}
+ Store(Refof(f0a4), Local3)
+ }
+ case (31) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ Offset(3), , 7, f0a5, 31}
+ Store(Refof(f0a5), Local3)
+ }
+ case (32) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ Offset(3), , 7, f0a6, 32}
+ Store(Refof(f0a6), Local3)
+ }
+ case (33) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ Offset(3), , 7, f0a7, 33}
+ Store(Refof(f0a7), Local3)
+ }
+ case (63) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ Offset(3), , 7, f0a8, 63}
+ Store(Refof(f0a8), Local3)
+ }
+ case (64) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ Offset(3), , 7, f0a9, 64}
+ Store(Refof(f0a9), Local3)
+ }
+ case (65) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ Offset(3), , 7, f0aa, 65}
+ Store(Refof(f0aa), Local3)
+ }
+ case (69) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ Offset(3), , 7, f0ab, 69}
+ Store(Refof(f0ab), Local3)
+ }
+ case (129) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ Offset(3), , 7, f0ac, 129}
+ Store(Refof(f0ac), Local3)
+ }
+ case (256) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ Offset(3), , 7, f0ad, 256}
+ Store(Refof(f0ad), Local3)
+ }
+ case (1023) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ Offset(3), , 7, f0ae, 1023}
+ Store(Refof(f0ae), Local3)
+ }
+ case (1983) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ Offset(3), , 7, f0af, 1983}
+ Store(Refof(f0af), Local3)
+ }
+ default {
+ err(arg0, z143, 317, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (32) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 32, f0b0, 1}
+ Store(Refof(f0b0), Local3)
+ }
+ case (6) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 32, f0b1, 6}
+ Store(Refof(f0b1), Local3)
+ }
+ case (7) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 32, f0b2, 7}
+ Store(Refof(f0b2), Local3)
+ }
+ case (8) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 32, f0b3, 8}
+ Store(Refof(f0b3), Local3)
+ }
+ case (9) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 32, f0b4, 9}
+ Store(Refof(f0b4), Local3)
+ }
+ case (31) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 32, f0b5, 31}
+ Store(Refof(f0b5), Local3)
+ }
+ case (32) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 32, f0b6, 32}
+ Store(Refof(f0b6), Local3)
+ }
+ case (33) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 32, f0b7, 33}
+ Store(Refof(f0b7), Local3)
+ }
+ case (63) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 32, f0b8, 63}
+ Store(Refof(f0b8), Local3)
+ }
+ case (64) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 32, f0b9, 64}
+ Store(Refof(f0b9), Local3)
+ }
+ case (65) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 32, f0ba, 65}
+ Store(Refof(f0ba), Local3)
+ }
+ case (69) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 32, f0bb, 69}
+ Store(Refof(f0bb), Local3)
+ }
+ case (129) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 32, f0bc, 129}
+ Store(Refof(f0bc), Local3)
+ }
+ case (256) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 32, f0bd, 256}
+ Store(Refof(f0bd), Local3)
+ }
+ case (1023) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 32, f0be, 1023}
+ Store(Refof(f0be), Local3)
+ }
+ case (1983) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 32, f0bf, 1983}
+ Store(Refof(f0bf), Local3)
+ }
+ default {
+ err(arg0, z143, 318, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (33) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 33, f0c0, 1}
+ Store(Refof(f0c0), Local3)
+ }
+ case (6) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 33, f0c1, 6}
+ Store(Refof(f0c1), Local3)
+ }
+ case (7) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 33, f0c2, 7}
+ Store(Refof(f0c2), Local3)
+ }
+ case (8) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 33, f0c3, 8}
+ Store(Refof(f0c3), Local3)
+ }
+ case (9) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 33, f0c4, 9}
+ Store(Refof(f0c4), Local3)
+ }
+ case (31) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 33, f0c5, 31}
+ Store(Refof(f0c5), Local3)
+ }
+ case (32) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 33, f0c6, 32}
+ Store(Refof(f0c6), Local3)
+ }
+ case (33) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 33, f0c7, 33}
+ Store(Refof(f0c7), Local3)
+ }
+ case (63) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 33, f0c8, 63}
+ Store(Refof(f0c8), Local3)
+ }
+ case (64) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 33, f0c9, 64}
+ Store(Refof(f0c9), Local3)
+ }
+ case (65) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 33, f0ca, 65}
+ Store(Refof(f0ca), Local3)
+ }
+ case (69) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 33, f0cb, 69}
+ Store(Refof(f0cb), Local3)
+ }
+ case (129) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 33, f0cc, 129}
+ Store(Refof(f0cc), Local3)
+ }
+ case (256) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 33, f0cd, 256}
+ Store(Refof(f0cd), Local3)
+ }
+ case (1023) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 33, f0ce, 1023}
+ Store(Refof(f0ce), Local3)
+ }
+ case (1983) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 33, f0cf, 1983}
+ Store(Refof(f0cf), Local3)
+ }
+ default {
+ err(arg0, z143, 319, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (63) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 63, f0d0, 1}
+ Store(Refof(f0d0), Local3)
+ }
+ case (6) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 63, f0d1, 6}
+ Store(Refof(f0d1), Local3)
+ }
+ case (7) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 63, f0d2, 7}
+ Store(Refof(f0d2), Local3)
+ }
+ case (8) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 63, f0d3, 8}
+ Store(Refof(f0d3), Local3)
+ }
+ case (9) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 63, f0d4, 9}
+ Store(Refof(f0d4), Local3)
+ }
+ case (31) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 63, f0d5, 31}
+ Store(Refof(f0d5), Local3)
+ }
+ case (32) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 63, f0d6, 32}
+ Store(Refof(f0d6), Local3)
+ }
+ case (33) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 63, f0d7, 33}
+ Store(Refof(f0d7), Local3)
+ }
+ case (63) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 63, f0d8, 63}
+ Store(Refof(f0d8), Local3)
+ }
+ case (64) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 63, f0d9, 64}
+ Store(Refof(f0d9), Local3)
+ }
+ case (65) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 63, f0da, 65}
+ Store(Refof(f0da), Local3)
+ }
+ case (69) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 63, f0db, 69}
+ Store(Refof(f0db), Local3)
+ }
+ case (129) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 63, f0dc, 129}
+ Store(Refof(f0dc), Local3)
+ }
+ case (256) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 63, f0dd, 256}
+ Store(Refof(f0dd), Local3)
+ }
+ case (1023) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 63, f0de, 1023}
+ Store(Refof(f0de), Local3)
+ }
+ case (1983) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 63, f0df, 1983}
+ Store(Refof(f0df), Local3)
+ }
+ default {
+ err(arg0, z143, 320, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (64) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 64, f0e0, 1}
+ Store(Refof(f0e0), Local3)
+ }
+ case (6) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 64, f0e1, 6}
+ Store(Refof(f0e1), Local3)
+ }
+ case (7) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 64, f0e2, 7}
+ Store(Refof(f0e2), Local3)
+ }
+ case (8) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 64, f0e3, 8}
+ Store(Refof(f0e3), Local3)
+ }
+ case (9) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 64, f0e4, 9}
+ Store(Refof(f0e4), Local3)
+ }
+ case (31) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 64, f0e5, 31}
+ Store(Refof(f0e5), Local3)
+ }
+ case (32) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 64, f0e6, 32}
+ Store(Refof(f0e6), Local3)
+ }
+ case (33) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 64, f0e7, 33}
+ Store(Refof(f0e7), Local3)
+ }
+ case (63) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 64, f0e8, 63}
+ Store(Refof(f0e8), Local3)
+ }
+ case (64) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 64, f0e9, 64}
+ Store(Refof(f0e9), Local3)
+ }
+ case (65) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 64, f0ea, 65}
+ Store(Refof(f0ea), Local3)
+ }
+ case (69) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 64, f0eb, 69}
+ Store(Refof(f0eb), Local3)
+ }
+ case (129) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 64, f0ec, 129}
+ Store(Refof(f0ec), Local3)
+ }
+ case (256) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 64, f0ed, 256}
+ Store(Refof(f0ed), Local3)
+ }
+ case (1023) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 64, f0ee, 1023}
+ Store(Refof(f0ee), Local3)
+ }
+ case (1983) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ , 64, f0ef, 1983}
+ Store(Refof(f0ef), Local3)
+ }
+ default {
+ err(arg0, z143, 321, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ case (65) {
+ switch(arg3) {
+ case (1) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ Offset(8), , 1, f0f0, 1}
+ Store(Refof(f0f0), Local3)
+ }
+ case (6) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ Offset(8), , 1, f0f1, 6}
+ Store(Refof(f0f1), Local3)
+ }
+ case (7) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ Offset(8), , 1, f0f2, 7}
+ Store(Refof(f0f2), Local3)
+ }
+ case (8) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ Offset(8), , 1, f0f3, 8}
+ Store(Refof(f0f3), Local3)
+ }
+ case (9) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ Offset(8), , 1, f0f4, 9}
+ Store(Refof(f0f4), Local3)
+ }
+ case (31) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ Offset(8), , 1, f0f5, 31}
+ Store(Refof(f0f5), Local3)
+ }
+ case (32) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ Offset(8), , 1, f0f6, 32}
+ Store(Refof(f0f6), Local3)
+ }
+ case (33) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ Offset(8), , 1, f0f7, 33}
+ Store(Refof(f0f7), Local3)
+ }
+ case (63) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ Offset(8), , 1, f0f8, 63}
+ Store(Refof(f0f8), Local3)
+ }
+ case (64) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ Offset(8), , 1, f0f9, 64}
+ Store(Refof(f0f9), Local3)
+ }
+ case (65) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ Offset(8), , 1, f0fa, 65}
+ Store(Refof(f0fa), Local3)
+ }
+ case (69) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ Offset(8), , 1, f0fb, 69}
+ Store(Refof(f0fb), Local3)
+ }
+ case (129) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ Offset(8), , 1, f0fc, 129}
+ Store(Refof(f0fc), Local3)
+ }
+ case (256) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ Offset(8), , 1, f0fd, 256}
+ Store(Refof(f0fd), Local3)
+ }
+ case (1023) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ Offset(8), , 1, f0fe, 1023}
+ Store(Refof(f0fe), Local3)
+ }
+ case (1983) {
+ Field(OPR0, AnyAcc, Lock, WriteAsZeros) {
+ Offset(8), , 1, f0ff, 1983}
+ Store(Refof(f0ff), Local3)
+ }
+ default {
+ err(arg0, z143, 322, 0, 0, arg2, arg3)
+ return
+ }
+ }
+ }
+ default {
+ err(arg0, z143, 323, 0, 0, arg2, arg3)
+ return}
+ }
+
+ m72d(arg0, Local3, arg2, arg3, arg4, arg5, Refof(g001))
+}
+
+// Check Region Field Unit
+Method(m72d, 7)
+{
+ Name(pr00, 0) // Debug print flag
+ Name(pr01, 0) // Index/Bank fields additional control flag
+
+ Store(Derefof(Index(fcp0, 0)), pr01)
+
+ if (pr00) {
+ Store("==Off:Len==:", Debug)
+ Store(arg2, Debug)
+ Store(arg3, Debug)
+ }
+
+ Name(INT0, 0) // Expected Type
+ Name(INT1, 0)
+
+ Concatenate(arg0, "-m72d", arg0)
+
+ // Expected type
+
+ if (LLessEqual(arg3, 32)) {
+ Store(c009, INT0)
+ } elseif (LGreater(arg3, 64)) {
+ Store(c00b, INT0)
+ } elseif (F64) {
+ Store(c009, INT0)
+ } else {
+ Store(c00b, INT0)
+ }
+
+ // Fill the entire region (ground)
+
+ switch(pr01) {
+ case(2) {
+ // Write some predefined value to Bank selection register
+
+ Store(0xa5, Derefof(Index(fcp0, 1)))
+
+ Store(Derefof(Derefof(Index(fcp0, 1))), Local0)
+ if (LNotEqual(Local0, 0xa5)) {
+ err(arg0, z143, 324, 0, 0, Local0, 0xa5)
+ }
+ }
+ }
+
+ Store(Refof(arg6), Local1)
+ Store(brG0, Derefof(Local1))
+
+ switch(pr01) {
+ case(2) {
+ // Check Bank selection register value
+
+ Store(Derefof(Derefof(Index(fcp0, 1))), Local0)
+ if (LNotEqual(Local0, Derefof(Index(fcp0, 2)))) {
+ err(arg0, z143, 325, 0, 0, Local0, Derefof(Index(fcp0, 2)))
+ }
+ }
+ }
+
+ if (pr00) {
+ Store("==Ground==:", Debug)
+ Store(Derefof(arg6), Debug)
+ }
+
+ // Fill into the field of region
+
+ switch(pr01) {
+ case(2) {
+ // Write some predefined value to Bank selection register
+
+ Store(0xa5, Derefof(Index(fcp0, 1)))
+
+ Store(Derefof(Derefof(Index(fcp0, 1))), Local0)
+ if (LNotEqual(Local0, 0xa5)) {
+ err(arg0, z143, 326, 0, 0, Local0, 0xa5)
+ }
+ }
+ }
+
+ Store(Refof(arg1), Local1)
+ if (arg4) {
+ Name(b001, Buffer(arg4) {})
+ Store(brF0, b001)
+
+ Store(b001, Derefof(Local1))
+ } else {
+ Store(brF0, INT1)
+
+ Store(INT1, Derefof(Local1))
+ }
+
+ switch(pr01) {
+ case(2) {
+ // Check Bank selection register value
+
+ Store(Derefof(Derefof(Index(fcp0, 1))), Local0)
+ if (LNotEqual(Local0, Derefof(Index(fcp0, 2)))) {
+ err(arg0, z143, 327, 0, 0, Local0, Derefof(Index(fcp0, 2)))
+ }
+ }
+ }
+
+ // Check Type
+
+ Store(ObjectType(arg1), Local0)
+ if (LNotEqual(Local0, c00d)) {
+ err(arg0, z143, 328, 0, 0, Local0, c00d)
+ }
+
+ // Retrieve the field back
+
+ switch(pr01) {
+ case(2) {
+ // Write some predefined value to Bank selection register
+
+ Store(0xa5, Derefof(Index(fcp0, 1)))
+
+ Store(Derefof(Derefof(Index(fcp0, 1))), Local0)
+ if (LNotEqual(Local0, 0xa5)) {
+ err(arg0, z143, 329, 0, 0, Local0, 0xa5)
+ }
+ }
+ }
+
+ Store(Derefof(arg1), Local0)
+
+ if (pr00) {
+ Store("==W:R:C==:", Debug)
+ if (arg4) {
+ Store(brF0, Debug)
+ } else {
+ Store(INT1, Debug)
+ }
+ Store(Local0, Debug)
+ Store(arg5, Debug)
+ }
+
+ // Check Type
+
+ Store(ObjectType(Local0), Local1)
+ if (LNotEqual(Local1, INT0)) {
+ err(arg0, z143, 330, 0, 0, Local1, INT0)
+ }
+
+ if (LNotEqual(Local0, arg5)) {
+ err(arg0, z143, 331, 0, 0, Local0, arg5)
+ }
+
+ switch(pr01) {
+ case(2) {
+ // Check Bank selection register value
+
+ Store(Derefof(Derefof(Index(fcp0, 1))), Local0)
+ if (LNotEqual(Local0, Derefof(Index(fcp0, 2)))) {
+ err(arg0, z143, 332, 0, 0, Local0, Derefof(Index(fcp0, 2)))
+ }
+ }
+ }
+
+ // Check Contents of Region
+
+ switch(pr01) {
+ case(2) {
+ // Write some predefined value to Bank selection register
+
+ Store(0xa5, Derefof(Index(fcp0, 1)))
+
+ Store(Derefof(Derefof(Index(fcp0, 1))), Local0)
+ if (LNotEqual(Local0, 0xa5)) {
+ err(arg0, z143, 333, 0, 0, Local0, 0xa5)
+ }
+ }
+ }
+
+ Store(Derefof(arg6), Local1)
+
+ switch(pr01) {
+ case(2) {
+ // Check Bank selection register value
+
+ Store(Derefof(Derefof(Index(fcp0, 1))), Local0)
+ if (LNotEqual(Local0, Derefof(Index(fcp0, 2)))) {
+ err(arg0, z143, 334, 0, 0, Local0, Derefof(Index(fcp0, 2)))
+ }
+ }
+ }
+
+ if (LNotEqual(Local1, brB0)) {
+ err(arg0, z143, 335, 0, 0, Local1, brB0)
+ } elseif (pr00) {
+ Store("==PostGround==:", Debug)
+ Store(Local1, Debug)
+ }
+}
+
+// Fill the buffer
+//
+// <source: 0 - Zero, 1 - 0xff, else - index>
+// <the target buffer for filling>
+Method(m72c, 2)
+{
+ Store(Sizeof(arg1), Local0)
+
+ while(Local0) {
+ Decrement(Local0)
+
+ switch (arg0) {
+ case (0) {
+ Store(0, Index(arg1, Local0))
+ }
+ case (1) {
+ Store(0xff, Index(arg1, Local0))
+ }
+ default {
+ Store(Local0, Index(arg1, Local0))
+ }
+ }
+ }
+}
+
+// Long List of Fields
+// m743(CallChain)
+Method(m743, 1)
+{
+ OperationRegion(OPR0, SystemMemory, 0, 0x800)
+
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ g001, 0x4000,
+ }
+
+ // Benchmark package
+ Name(p000, Package(){
+ // Offset, FirstBit, NumBits, AccType
+ // 0x00 - 0x0f
+ Package(5){0x0000, 0, 1, 1},
+ Package(5){0x0021, 7, 1, 1},
+ Package(5){0x0042, 0, 2, 2},
+ Package(5){0x0063, 7, 2, 2},
+ Package(5){0x0084, 1, 3, 3},
+ Package(5){0x00a5, 5, 3, 3},
+ Package(5){0x00c6, 1, 4, 4},
+ Package(5){0x00e7, 5, 4, 4},
+ Package(5){0x0107, 2, 5, 0},
+ Package(5){0x0126, 3, 5, 0},
+ Package(5){0x0145, 2, 6, 4},
+ Package(5){0x0164, 3, 6, 4},
+ Package(5){0x0183, 3, 7, 3},
+ Package(5){0x01a2, 1, 7, 3},
+ Package(5){0x01c1, 3, 8, 2},
+ Package(5){0x01e0, 1, 8, 2},
+
+ // 0x10 - 0x1f
+ Package(5){0x0200, 0, 11, 1},
+ Package(5){0x0221, 7, 11, 1},
+ Package(5){0x0242, 0, 12, 2},
+ Package(5){0x0263, 7, 12, 2},
+ Package(5){0x0284, 1, 13, 3},
+ Package(5){0x02a5, 5, 13, 3},
+ Package(5){0x02c6, 1, 14, 4},
+ Package(5){0x02e7, 5, 14, 4},
+ Package(5){0x0307, 2, 15, 0},
+ Package(5){0x0326, 3, 15, 0},
+ Package(5){0x0345, 2, 16, 4},
+ Package(5){0x0364, 3, 16, 4},
+ Package(5){0x0383, 3, 17, 3},
+ Package(5){0x03a2, 1, 17, 3},
+ Package(5){0x03c1, 3, 18, 2},
+ Package(5){0x03e0, 1, 18, 2},
+
+ // 0x20 - 0x2f
+ Package(5){0x0400, 0, 21, 1},
+ Package(5){0x0421, 7, 21, 1},
+ Package(5){0x0442, 0, 22, 2},
+ Package(5){0x0463, 7, 22, 2},
+ Package(5){0x0484, 1, 23, 3},
+ Package(5){0x04a5, 5, 23, 3},
+ Package(5){0x04c6, 1, 24, 4},
+ Package(5){0x04e7, 5, 24, 4},
+ Package(5){0x0507, 2, 25, 0},
+ Package(5){0x0526, 3, 25, 0},
+ Package(5){0x0545, 2, 26, 4},
+ Package(5){0x0564, 3, 26, 4},
+ Package(5){0x0583, 3, 27, 3},
+ Package(5){0x05a2, 1, 27, 3},
+ Package(5){0x05c1, 3, 28, 2},
+ Package(5){0x05e0, 1, 28, 2},
+
+ // 0x30 - 0x3f
+ Package(5){0x0600, 0, 31, 1},
+ Package(5){0x0621, 7, 31, 1},
+ Package(5){0x0642, 0, 32, 2},
+ Package(5){0x0663, 7, 32, 2},
+ Package(5){0x0684, 1, 31, 3},
+ Package(5){0x06a5, 5, 30, 3},
+ Package(5){0x06c6, 1, 29, 4},
+ Package(5){0x06e7, 5, 28, 4},
+ Package(5){0x0707, 2, 27, 0},
+ Package(5){0x0726, 3, 26, 0},
+ Package(5){0x0745, 2, 25, 4},
+ Package(5){0x0764, 3, 24, 4},
+ Package(5){0x0783, 3, 23, 3},
+ Package(5){0x07a2, 1, 22, 3},
+ Package(5){0x07c1, 3, 21, 2},
+ Package(5){0x07e0, 1, 20, 2},
+ })
+
+ Name(i000, 0)
+
+ Concatenate(arg0, "-m743", arg0)
+
+ Store("TEST: m743, Check Long List of Fields", Debug)
+
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+
+ // 0x00 - 0x0f
+ // AccessAs(ByteAcc),
+ Offset(0x0000), , 0, f000, 1,
+ Offset(0x0021), , 7, f001, 1,
+ AccessAs(WordAcc),
+ Offset(0x0042), , 0, f002, 2,
+ Offset(0x0063), , 7, f003, 2,
+ AccessAs(DWordAcc),
+ Offset(0x0084), , 1, f004, 3,
+ Offset(0x00a5), , 5, f005, 3,
+ AccessAs(QWordAcc),
+ Offset(0x00c6), , 1, f006, 4,
+ Offset(0x00e7), , 5, f007, 4,
+ AccessAs(AnyAcc),
+ Offset(0x0107), , 2, f008, 5,
+ Offset(0x0126), , 3, f009, 5,
+ AccessAs(QWordAcc),
+ Offset(0x0145), , 2, f00a, 6,
+ Offset(0x0164), , 3, f00b, 6,
+ AccessAs(DWordAcc),
+ Offset(0x0183), , 3, f00c, 7,
+ Offset(0x01a2), , 1, f00d, 7,
+ AccessAs(WordAcc),
+ Offset(0x01c1), , 3, f00e, 8,
+ Offset(0x01e0), , 1, f00f, 8,
+
+ // 0x10 - 0x1f
+ AccessAs(ByteAcc),
+ Offset(0x0200), , 0, f010, 11,
+ Offset(0x0221), , 7, f011, 11,
+ AccessAs(WordAcc),
+ Offset(0x0242), , 0, f012, 12,
+ Offset(0x0263), , 7, f013, 12,
+ AccessAs(DWordAcc),
+ Offset(0x0284), , 1, f014, 13,
+ Offset(0x02a5), , 5, f015, 13,
+ AccessAs(QWordAcc),
+ Offset(0x02c6), , 1, f016, 14,
+ Offset(0x02e7), , 5, f017, 14,
+ AccessAs(AnyAcc),
+ Offset(0x0307), , 2, f018, 15,
+ Offset(0x0326), , 3, f019, 15,
+ AccessAs(QWordAcc),
+ Offset(0x0345), , 2, f01a, 16,
+ Offset(0x0364), , 3, f01b, 16,
+ AccessAs(DWordAcc),
+ Offset(0x0383), , 3, f01c, 17,
+ Offset(0x03a2), , 1, f01d, 17,
+ AccessAs(WordAcc),
+ Offset(0x03c1), , 3, f01e, 18,
+ Offset(0x03e0), , 1, f01f, 18,
+
+ // 0x20 - 0x2f
+ AccessAs(ByteAcc),
+ Offset(0x0400), , 0, f020, 21,
+ Offset(0x0421), , 7, f021, 21,
+ AccessAs(WordAcc),
+ Offset(0x0442), , 0, f022, 22,
+ Offset(0x0463), , 7, f023, 22,
+ AccessAs(DWordAcc),
+ Offset(0x0484), , 1, f024, 23,
+ Offset(0x04a5), , 5, f025, 23,
+ AccessAs(QWordAcc),
+ Offset(0x04c6), , 1, f026, 24,
+ Offset(0x04e7), , 5, f027, 24,
+ AccessAs(AnyAcc),
+ Offset(0x0507), , 2, f028, 25,
+ Offset(0x0526), , 3, f029, 25,
+ AccessAs(QWordAcc),
+ Offset(0x0545), , 2, f02a, 26,
+ Offset(0x0564), , 3, f02b, 26,
+ AccessAs(DWordAcc),
+ Offset(0x0583), , 3, f02c, 27,
+ Offset(0x05a2), , 1, f02d, 27,
+ AccessAs(WordAcc),
+ Offset(0x05c1), , 3, f02e, 28,
+ Offset(0x05e0), , 1, f02f, 28,
+
+ // 0x30 - 0x3f
+ AccessAs(ByteAcc),
+ Offset(0x0600), , 0, f030, 31,
+ Offset(0x0621), , 7, f031, 31,
+ AccessAs(WordAcc),
+ Offset(0x0642), , 0, f032, 32,
+ Offset(0x0663), , 7, f033, 32,
+ AccessAs(DWordAcc),
+ Offset(0x0684), , 1, f034, 31,
+ Offset(0x06a5), , 5, f035, 30,
+ AccessAs(QWordAcc),
+ Offset(0x06c6), , 1, f036, 29,
+ Offset(0x06e7), , 5, f037, 28,
+ AccessAs(AnyAcc),
+ Offset(0x0707), , 2, f038, 27,
+ Offset(0x0726), , 3, f039, 26,
+ AccessAs(QWordAcc),
+ Offset(0x0745), , 2, f03a, 25,
+ Offset(0x0764), , 3, f03b, 24,
+ AccessAs(DWordAcc),
+ Offset(0x0783), , 3, f03c, 23,
+ Offset(0x07a2), , 1, f03d, 22,
+ AccessAs(WordAcc),
+ Offset(0x07c1), , 3, f03e, 21,
+ Offset(0x07e0), , 1, f03f, 20,
+ }
+
+ // Region field Zeroing
+ Store(0, g001)
+
+ Store(4, Local0)
+ Store(0, Local1)
+
+ while(Local0) {
+ Store(16, Local2)
+ Store(0, Local3)
+
+ while(Local2) {
+ switch(Local1) {
+ case (0) {
+ switch(Local3) {
+ case (0) { Store(Refof(f000), Local4) }
+ case (1) { Store(Refof(f001), Local4) }
+ case (2) { Store(Refof(f002), Local4) }
+ case (3) { Store(Refof(f003), Local4) }
+ case (4) { Store(Refof(f004), Local4) }
+ case (5) { Store(Refof(f005), Local4) }
+ case (6) { Store(Refof(f006), Local4) }
+ case (7) { Store(Refof(f007), Local4) }
+ case (8) { Store(Refof(f008), Local4) }
+ case (9) { Store(Refof(f009), Local4) }
+ case (10) { Store(Refof(f00a), Local4) }
+ case (11) { Store(Refof(f00b), Local4) }
+ case (12) { Store(Refof(f00c), Local4) }
+ case (13) { Store(Refof(f00d), Local4) }
+ case (14) { Store(Refof(f00e), Local4) }
+ case (15) { Store(Refof(f00f), Local4) }
+ default {
+ err(arg0, z143, 336, 0, 0, Local1, Local3)
+ return
+ }
+ }
+ }
+ case (1) {
+ switch(Local3) {
+ case (0) { Store(Refof(f010), Local4) }
+ case (1) { Store(Refof(f011), Local4) }
+ case (2) { Store(Refof(f012), Local4) }
+ case (3) { Store(Refof(f013), Local4) }
+ case (4) { Store(Refof(f014), Local4) }
+ case (5) { Store(Refof(f015), Local4) }
+ case (6) { Store(Refof(f016), Local4) }
+ case (7) { Store(Refof(f017), Local4) }
+ case (8) { Store(Refof(f018), Local4) }
+ case (9) { Store(Refof(f019), Local4) }
+ case (10) { Store(Refof(f01a), Local4) }
+ case (11) { Store(Refof(f01b), Local4) }
+ case (12) { Store(Refof(f01c), Local4) }
+ case (13) { Store(Refof(f01d), Local4) }
+ case (14) { Store(Refof(f01e), Local4) }
+ case (15) { Store(Refof(f01f), Local4) }
+ default {
+ err(arg0, z143, 337, 0, 0, Local1, Local3)
+ return
+ }
+ }
+ }
+ case (2) {
+ switch(Local3) {
+ case (0) { Store(Refof(f020), Local4) }
+ case (1) { Store(Refof(f021), Local4) }
+ case (2) { Store(Refof(f022), Local4) }
+ case (3) { Store(Refof(f023), Local4) }
+ case (4) { Store(Refof(f024), Local4) }
+ case (5) { Store(Refof(f025), Local4) }
+ case (6) { Store(Refof(f026), Local4) }
+ case (7) { Store(Refof(f027), Local4) }
+ case (8) { Store(Refof(f028), Local4) }
+ case (9) { Store(Refof(f029), Local4) }
+ case (10) { Store(Refof(f02a), Local4) }
+ case (11) { Store(Refof(f02b), Local4) }
+ case (12) { Store(Refof(f02c), Local4) }
+ case (13) { Store(Refof(f02d), Local4) }
+ case (14) { Store(Refof(f02e), Local4) }
+ case (15) { Store(Refof(f02f), Local4) }
+ default {
+ err(arg0, z143, 338, 0, 0, Local1, Local3)
+ return
+ }
+ }
+ }
+ case (3) {
+ switch(Local3) {
+ case (0) { Store(Refof(f030), Local4) }
+ case (1) { Store(Refof(f031), Local4) }
+ case (2) { Store(Refof(f032), Local4) }
+ case (3) { Store(Refof(f033), Local4) }
+ case (4) { Store(Refof(f034), Local4) }
+ case (5) { Store(Refof(f035), Local4) }
+ case (6) { Store(Refof(f036), Local4) }
+ case (7) { Store(Refof(f037), Local4) }
+ case (8) { Store(Refof(f038), Local4) }
+ case (9) { Store(Refof(f039), Local4) }
+ case (10) { Store(Refof(f03a), Local4) }
+ case (11) { Store(Refof(f03b), Local4) }
+ case (12) { Store(Refof(f03c), Local4) }
+ case (13) { Store(Refof(f03d), Local4) }
+ case (14) { Store(Refof(f03e), Local4) }
+ case (15) { Store(Refof(f03f), Local4) }
+ default {
+ err(arg0, z143, 339, 0, 0, Local1, Local3)
+ return
+ }
+ }
+ }
+ default {
+ err(arg0, z143, 340, 0, 0, Local1, Local3)
+ return
+ }
+ }
+
+ Store(Refof(Local4), Local5)
+
+ // Fill the field
+ Store(0x5555555555555555, DeRefof(Local5))
+
+ Increment(Local3)
+ Decrement(Local2)
+ }
+ Increment(Local1)
+ Decrement(Local0)
+ }
+
+ // Retrieve Region field
+ Store(g001, Local6)
+
+ // Check Region field
+
+ Store(4, Local0)
+ Store(0, Local1)
+
+ while(Local0) {
+ Store(16, Local2)
+ Store(0, Local3)
+
+ while(Local2) {
+
+ // Take Benchmark subpackage
+ Store(Derefof(Index(p000, Add(Multiply(16, Local1), Local3))), Local4)
+
+ // Check contents of the field
+
+ // Get Benchmark buffer
+ Store(
+ sft1(Buffer(){0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55},
+ Derefof(Index(Local4, 1)), Derefof(Index(Local4, 2)), 0xff, 0xff),
+ Local5)
+
+ // Get Resulting subbuffer
+ Mid(Local6, Derefof(Index(Local4, 0)), Sizeof (Local5), Local7)
+
+ if (LNotEqual(Local7, Local5)) {
+ err(arg0, z143, 341, z143, Add(Multiply(16, Local1), Local3), Local7, Local5)
+ }
+
+ // Check contents of the external accessed memory
+
+ // Access alignment
+ Store(1, Local5)
+ if (LEqual(Derefof(Index(Local4, 3)), 2)) {
+ Add(Local5, 1, Local5)
+ } elseif (LEqual(Derefof(Index(Local4, 3)), 3)) {
+ Add(Local5, 3, Local5)
+ } elseif (LEqual(Derefof(Index(Local4, 3)), 4)) {
+ Add(Local5, 7, Local5)
+ }
+
+ Divide(Derefof(Index(Local4, 0)), Local5, Local7)
+
+ // Check the last byte in the previous access unit
+ if (Subtract(Derefof(Index(Local4, 0)), Local7)) {
+ if (LNotEqual(
+ Derefof(Index(Local6,
+ Subtract(Subtract(Derefof(Index(Local4, 0)), Local7), 1))),
+ 0x00)) {
+ err(arg0, z143, 342, z143, Add(Multiply(16, Local1), Local3),
+ Derefof(Index(Local6, Subtract(Derefof(Index(Local4, 0)), Local7))),
+ 0x00
+ )
+ }
+ }
+
+ // Check the bytes in the first access unit
+ while (Local7) {
+ if (LNotEqual(
+ Derefof(Index(Local6, Subtract(Derefof(Index(Local4, 0)), Local7))),
+ 0xff)) {
+ err(arg0, z143, 343, z143, Add(Multiply(16, Local1), Local3),
+ Derefof(Index(Local6, Subtract(Derefof(Index(Local4, 0)), Local7))),
+ 0xff
+ )
+ }
+ Decrement(Local7)
+ }
+
+ Add(Derefof(Index(Local4, 1)), Derefof(Index(Local4, 2)), Local7)
+ Divide(Local7, 8, Local7, i000)
+
+ if (Local7) {
+ Increment(i000)
+ }
+ Add(Derefof(Index(Local4, 0)), i000, i000)
+
+ Divide(i000, Local5, Local7)
+
+ if (Local7) {
+ Subtract(Local5, Local7, Local7)
+ }
+
+ // Check the first byte in the next access unit
+ if (LNotEqual(
+ Derefof(Index(Local6, Add(i000, Local7))),
+ 0x00)) {
+ err(arg0, z143, 344, z143, Add(Multiply(16, Local1), Local3),
+ Derefof(Index(Local6, Add(i000, Local7))),
+ 0x00
+ )
+ }
+
+ // Check the bytes in the last access unit
+ while (Local7) {
+ Decrement(Local7)
+ if (LNotEqual(
+ Derefof(Index(Local6, Add(i000, Local7))),
+ 0xff)) {
+ err(arg0, z143, 345, z143, Add(Multiply(16, Local1), Local3),
+ Derefof(Index(Local6, Add(i000, Local7))),
+ 0xff
+ )
+ }
+ }
+
+ Increment(Local3)
+ Decrement(Local2)
+ }
+ Increment(Local1)
+ Decrement(Local0)
+ }
+}
+
+// Large Offset
+// m744(CallChain)
+Method(m744, 1)
+{
+ OperationRegion(OPR0, SystemMemory, 0, 0x2000000)
+
+ // The next Offset value (0x2000000) causes crash of iASL
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ Offset(0x1ffffff), f000, 8,
+ }
+
+ // The next offset bit (0xffffffc) causes crash of iASL
+ Field(OPR0, ByteAcc, NoLock, WriteAsZeros) {
+ , 0xffffffb, f001, 1,
+ }
+
+ // The next bits length (0xffffffc) causes crash of iASL
+ Field(OPR0, ByteAcc, NoLock, WriteAsOnes) {
+ f002, 0xffffffb,
+ }
+
+ Concatenate(arg0, "-m744", arg0)
+
+ Store(0x1, f001)
+
+ if (LNotEqual(f000, 0x08)) {
+ err(arg0, z143, 346, 0, 0, f000, 0x08)
+ }
+}
+
+// Run-method
+Method(RFC0)
+{
+ Name(ts, "RFC0")
+
+ // Check common access: ByteAcc, NoLock, Preserve
+ SRMT("m710")
+ m710(ts)
+
+ // Check common access: ByteAcc, NoLock, WriteAsOnes
+ SRMT("m711")
+ m711(ts)
+
+ // Check common access: ByteAcc, NoLock, WriteAsZeros
+ SRMT("m712")
+ m712(ts)
+
+ // Check common access: WordAcc, NoLock, Preserve
+ SRMT("m713")
+ m713(ts)
+
+ // Check common access: WordAcc, NoLock, WriteAsOnes
+ SRMT("m714")
+ m714(ts)
+
+ // Check common access: WordAcc, NoLock, WriteAsZeros
+ SRMT("m715")
+ m715(ts)
+
+ // Check common access: DWordAcc, NoLock, Preserve
+ SRMT("m716")
+ m716(ts)
+
+ // Check common access: DWordAcc, NoLock, WriteAsOnes
+ SRMT("m717")
+ m717(ts)
+
+ // Check common access: DWordAcc, NoLock, WriteAsZeros
+ SRMT("m718")
+ m718(ts)
+
+ // Check common access: QWordAcc, NoLock, Preserve
+ SRMT("m719")
+ m719(ts)
+
+ // Check common access: QWordAcc, NoLock, WriteAsOnes
+ SRMT("m71a")
+ m71a(ts)
+
+ // Check common access: QWordAcc, NoLock, WriteAsZeros
+ SRMT("m71b")
+ m71b(ts)
+
+ // Check common access: AnyAcc, NoLock, Preserve
+ SRMT("m71c")
+ m71c(ts)
+
+ // Check common access: AnyAcc, NoLock, WriteAsOnes
+ SRMT("m71d")
+ m71d(ts)
+
+ // Check common access: AnyAcc, NoLock, WriteAsZeros
+ SRMT("m71e")
+ m71e(ts)
+
+ // Check BufferAcc access
+ SRMT("m71f")
+ m71f(ts)
+
+ // Splitting of Fields
+ SRMT("m742")
+ m742(ts)
+
+ // Long List of Fields
+ SRMT("m743")
+ m743(ts)
+
+ // Large Offset
+ SRMT("m744")
+ m744(ts)
+}
diff --git a/tests/aslts/src/runtime/collections/functional/synchronization/DECL.asl b/tests/aslts/src/runtime/collections/functional/synchronization/DECL.asl
new file mode 100644
index 000000000..a3ab219e0
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/synchronization/DECL.asl
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+Include("../../../../runtime/common/mx_objects.asl")
+Include("../../../../runtime/collections/functional/synchronization/event.asl")
+Include("../../../../runtime/collections/functional/synchronization/mutex.asl")
+Include("../../../../runtime/collections/functional/synchronization/mutex2.asl")
+Include("../../../../runtime/collections/functional/synchronization/mutex_proc.asl")
+Include("../../../../runtime/collections/functional/synchronization/serialized.asl")
diff --git a/tests/aslts/src/runtime/collections/functional/synchronization/MAIN.asl b/tests/aslts/src/runtime/collections/functional/synchronization/MAIN.asl
new file mode 100644
index 000000000..c55b97e95
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/synchronization/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "synchronization.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../runtime/cntl/DECL.asl")
+ Include("../../../../runtime/collections/functional/synchronization/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../runtime/collections/functional/synchronization/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/functional/synchronization/Makefile b/tests/aslts/src/runtime/collections/functional/synchronization/Makefile
new file mode 100644
index 000000000..6ae0e75ba
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/synchronization/Makefile
@@ -0,0 +1,7 @@
+# synchronization
+
+AMLMOD= synchronization
+COLL= ../..
+
+TOP= $(COLL)/../../..
+include $(COLL)/Makefile.install
diff --git a/tests/aslts/src/runtime/collections/functional/synchronization/RUN.asl b/tests/aslts/src/runtime/collections/functional/synchronization/RUN.asl
new file mode 100644
index 000000000..024dabef3
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/synchronization/RUN.asl
@@ -0,0 +1,38 @@
+/*
+ * 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.
+ */
+
+if (STTT("Synchronization", TCLF, 12, W00c)) {
+ m300()
+ m3bd()
+ MUX0()
+ SRMT("EVN0")
+ EVN0()
+}
+FTTT()
diff --git a/tests/aslts/src/runtime/collections/functional/synchronization/SPEC b/tests/aslts/src/runtime/collections/functional/synchronization/SPEC
new file mode 100644
index 000000000..f3556cee5
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/synchronization/SPEC
@@ -0,0 +1,160 @@
+Single thread tests
+===================
+
+m301:
+Valid sequence of requests, no exceptions expected.
+Acquire mutexes of monotone increasing level (Global lock
+on level 0 too) for all available levels from 0 up to 15,
+then Release them all in the inverse order.
+
+m369:
+Valid sequence of requests, no exceptions expected.
+Acquire mutexes of monotone increasing level (Global lock on level 0 too)
+for all available levels from 0 up to 15, Acquire 2 mutexes of each level,
+then Release them all in the inverse order (keep the exactly inverse order
+for Releasing mutexes of the same level too).
+
+m36a:
+Exactly m301 but additioanlly:
+all Release opreations are located into separate method.
+
+m36b:
+Exactly m301 but additioanlly:
+all Acquire and Release opreations are located into separate methods.
+
+m36c:
+Invalid sequence of Acquire operations:
+1) Acquire N-th level mutex (N>=1):
+2) Acquire:
+ - mutexes from 0 up to (N-1)-levels
+ - Global lock
+3) exception AE_AML_MUTEX_ORDER is expected for each Acquire of (2)
+
+m389:
+Exception on Release.
+Release the mutex twice.
+Attempt to Release free mutex: Acquire, Release, Release.
+Exception is expected on the second Release.
+Do it for all level mutexes and Global lock too.
+
+m07b:
+Exception on Release.
+Attempt ot Release clean mutex which was never Acquired.
+
+m38a:
+Exception on Release.
+Break the sequence of Acquiring mutexes while Releasing them,
+jump over the level. Invalid sequence of Releases:
+ 1) Take level from range (N>=1 & N<=15)
+ 2) Acquire mutexes of all levels from 0 up to N
+ 3) Try to Release any mutex:
+ - in the level range from (N-1) down to 0
+ - Global lock
+ 4) Do 1-3 for all levels in range (N>=1 & N<=15)
+
+m38d:
+Check up that the Releasing of the same level mutexes
+can be performed in an arbitrary order, independently
+on the order they were Acquired.
+For each level separately, one by one -
+Acquire all for one level then Release them all and
+then only go to the next level.
+Involve the Global lock too.
+
+m07d:
+Check up that the Releasing of the same level mutexes
+can be performed in an arbitrary order, independently
+on the order they were Acquired.
+Cross through all the levels -
+at first Acquire all for all levels then Release them all.
+
+m07a:
+Multiply owning the same ACPI mutex.
+Acquire the same mutex arg2 times, then Release it (arg2+1) times,
+expect exception on the last Release.
+The repeated Acquire are made with TimeoutValue equal to zero.
+
+m07e:
+Acquire/Release combination #1
+
+m08b:
+Check the life after AE_AML_MUTEX_ORDER exception on Acquire.
+ 1) Acquire N-th level mutex MUX-N
+ 2) run Acquire (N-2)-th level mutex MUX-(N-2) and get AE_AML_MUTEX_ORDER exception
+ 3) run Acquire (N-1)-th level mutex MUX-(N-1) and get AE_AML_MUTEX_ORDER exception
+ 4) Acquire mutex MUX-N and check that no exception on this operation
+ 5) Release mutex MUX-N and check that no exception on this operation
+ 6) Release mutex MUX-N and check that no exception on this operation
+ 7) do 1-6 for all N in range 2-15 levels
+ 8) check additionally that all the mutexes are free (run Release and
+ get AE_AML_MUTEX_NOT_ACQUIRED exception for all the mutexes of all levels)
+ 9) Acquire all mutexes of all levels and check that no exceptions
+ 10) Release all mutexes of all levels and check that no exceptions
+ 11) check additionally that all the mutexes are free (see 8)
+ 12) do it for GL mode too
+ 13) do additional Acquire of MUX-(N-2) and MUX-(N-1) before Acquire of MUX-N (Release them later)
+
+m08d:
+Check the life after AE_AML_MUTEX_ORDER exception on Release.
+ 1) Acquire (N-1)-th level mutex MUX-(N-1)
+ 2) Acquire (N)-th level mutex MUX-N
+ 3) run Release (N-1)-th level mutex MUX-(N-1) and get AE_AML_MUTEX_ORDER exception
+ 4) Release (N)-th level mutex MUX-N and check that no exception on this operation
+ 5) Release (N-1)-th level mutex MUX-(N-1) and check that no exception on this operation
+ 6) do 1-5 for all N in range 1-15 levels
+ 7) check additionally that all the mutexes are free (run Release and
+ get AE_AML_MUTEX_NOT_ACQUIRED exception for all the mutexes of all levels)
+ 8) Acquire all mutexes of all levels and check that no exceptions
+ 9) Release all mutexes of all levels and check that no exceptions
+ 10) check additionally that all the mutexes are free (see 7)
+ 11) do it for GL mode too
+
+m07f:
+Check the life after AE_AML_MUTEX_ORDER exception on Release.
+Similar to the m08d but trying to heal situation by
+Acquiring/Release operations applied to the greater
+level so changing the current level upper than all the
+currently Acquired levels so don't expect exceptions on
+the following Release operations applied in the correct
+inverse order to all the Acquired mutexes.
+(for the current 20060828 ACPICA this doesn't help).
+
+m0b9:
+Different ways to Acquire/Release mutexes.
+ 1) Acquire and Release operations are in a global level AML code
+
+m07c:
+Different ways to Acquire/Release mutexes.
+ 2) Acquire and Release operations are in the same method
+ 3) Acquire and Release operations are in different methods
+
+xxxx:
+To check that the current level is not anyhow affected by the
+invalid operations (which caused exception or returned FAIL).
+Such checkings are present in m08b and m08d tests.
+From m08b:
+ 1) Acquire N-th level mutex MUX-N
+ 2) run Acquire (N-2)-th level mutex MUX-(N-2) and get AE_AML_MUTEX_ORDER exception
+ 3) run Acquire (N-1)-th level mutex MUX-(N-1) and get AE_AML_MUTEX_ORDER exception
+The step 3 checks that the invalid operation Acquire
+performed on step 2 doesn't affect the current level.
+From m08d:
+ 1) Acquire (N-1)-th level mutex MUX-(N-1)
+ 2) Acquire (N)-th level mutex MUX-N
+ 3) run Release (N-1)-th level mutex MUX-(N-1) and get AE_AML_MUTEX_ORDER exception
+ 4) Release (N)-th level mutex MUX-N and check that no exception on this operation
+The step 4 checks that the invalid operation Release
+performed on step 3 doesn't affect the current level.
+
+m0ba:
+Acquire/Release operations enclosed in other operations.
+
+badasl-m103:
+Exception on Acquire.
+Access to inappropriate type data.
+
+
+// #################################################################
+
+
+
diff --git a/tests/aslts/src/runtime/collections/functional/synchronization/event.asl b/tests/aslts/src/runtime/collections/functional/synchronization/event.asl
new file mode 100644
index 000000000..08ba5f783
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/synchronization/event.asl
@@ -0,0 +1,269 @@
+/*
+ * 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.
+ */
+
+/*
+ * Synchronization (events)
+ */
+
+/*
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+SEE: shouls be a few updated
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+*/
+
+// The test for ASL-Events to be run on a single invocation only
+//
+// Note: additional checkings should be implemented to measure
+// the actual idle time provided by Wait operator according
+// to the time measuring provided by the Timer operator.
+
+// Pass TimeoutValues for Wait globally (all locals busy)
+Name(TOT0, 0)
+Name(TOT1, 0)
+Name(TOT2, 0)
+Name(TOT3, 0)
+
+// All events
+Event(EVT0)
+Event(EVT1)
+Event(EVT2)
+Event(EVT3)
+
+// Wait, expected Zero
+Method(m050, 5)
+{
+ if (0) {Store("m050: Wait, expected Zero", Debug)}
+
+ if (arg1){CH00(arg0, 0x00, 0, Wait(EVT0, TOT0))}
+ if (arg2){CH00(arg0, 0x00, 1, Wait(EVT1, TOT1))}
+ if (arg3){CH00(arg0, 0x00, 2, Wait(EVT2, TOT2))}
+ if (arg4){CH00(arg0, 0x00, 3, Wait(EVT3, TOT3))}
+}
+
+// Wait, expected Non-Zero
+Method(m051, 5)
+{
+ if (0) {Store("m051: Wait, expected Non-Zero", Debug)}
+
+ if (arg1){CH01(arg0, 0x01, 0, Wait(EVT0, TOT0))}
+ if (arg2){CH01(arg0, 0x01, 1, Wait(EVT1, TOT1))}
+ if (arg3){CH01(arg0, 0x01, 2, Wait(EVT2, TOT2))}
+ if (arg4){CH01(arg0, 0x01, 3, Wait(EVT3, TOT3))}
+}
+
+// Signal
+Method(m052, 5)
+{
+ if (0) {Store("m052: Signal", Debug)}
+
+ if (arg1){Signal(EVT0)}
+ if (arg2){Signal(EVT1)}
+ if (arg3){Signal(EVT2)}
+ if (arg4){Signal(EVT3)}
+}
+
+// Reset
+Method(m053, 5)
+{
+ if (0) {Store("m053: Reset", Debug)}
+
+ if (arg1){Reset(EVT0)}
+ if (arg2){Reset(EVT1)}
+ if (arg3){Reset(EVT2)}
+ if (arg4){Reset(EVT3)}
+}
+
+/*
+ * Package:={N lines}
+ * Line:= consists of 6 elements:
+ * 0: operation:
+ * 0 - Wait, expected Zero (acquired)
+ * 1 - Wait, expected Non-Zero (failed to acquire)
+ * 2 - Signal
+ * 3 - Reset
+ * 1: bit-mask of events operation to be applied to which
+ * bit 0x08 - 0th event
+ * bit 0x04 - 1th event
+ * bit 0x02 - 2th event
+ * bit 0x01 - 3th event
+ * 2-5: TimeoutValues for Wait operations (left->right too)
+ */
+ Name(p011, Package() {
+
+ // 1. Wait without signals results in non-zero (failed to acquire)
+ // 2. Applied to all 4 event-Objects
+
+ 1, 0x0f, 0x0000, 0x0001, 0x002, 0x00ff,
+ 1, 0x0f, 0x0001, 0x0002, 0x003, 0x0004,
+ 1, 0x0f, 0x0011, 0x0022, 0x033, 0x0000,
+
+ // 1. Send Ni signals to i-th Object.
+ // 2. All Ni events of i-th Object are successfully one
+ // by one acquired by Ni Waits applied to that Object.
+ // 3. But, attempt to acquire one more failed.
+ // 4. Applied to all 4 event-Objects.
+
+ 2, 0x0f, 0, 0, 0, 0,
+ 2, 0x0f, 0, 0, 0, 0,
+ 2, 0x0f, 0, 0, 0, 0,
+ 2, 0x0f, 0, 0, 0, 0,
+ 0, 0x0f, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0, 0x0f, 0x8000, 0x4000, 0x2000, 0x1000,
+ 0, 0x0f, 0x0001, 0x0002, 0x0003, 0x0004,
+ 0, 0x0f, 0xffff, 0xffff, 0xffff, 0xffff,
+ 1, 0x0f, 0x0001, 0x0002, 0x0003, 0x0004,
+
+ 2, 0x0f, 0, 0, 0, 0,
+ 2, 0x07, 0, 0, 0, 0,
+ 2, 0x03, 0, 0, 0, 0,
+ 2, 0x01, 0, 0, 0, 0,
+ 0, 0x01, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0, 0x03, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0, 0x07, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0, 0x0f, 0xffff, 0xffff, 0xffff, 0xffff,
+ 1, 0x0f, 0x0001, 0x0002, 0x0003, 0x0004,
+
+ // 1. Send Ni_s signals to i-th Object.
+ // 2. Reset i-th object, one time.
+ // 3. Wait of i-th Object results in non-zero (failed to acquire)
+ // 4. Applied to all 4 event-Objects.
+
+ 2, 0x0f, 0, 0, 0, 0,
+ 2, 0x0f, 0, 0, 0, 0,
+ 2, 0x0f, 0, 0, 0, 0,
+ 2, 0x0f, 0, 0, 0, 0,
+ 3, 0x0f, 0, 0, 0, 0,
+ 1, 0x0f, 0x0001, 0x0002, 0x0003, 0x0004,
+ 1, 0x0f, 0x0001, 0x0002, 0x0003, 0x0004,
+
+ 2, 0x0f, 0, 0, 0, 0,
+ 2, 0x0f, 0, 0, 0, 0,
+ 2, 0x0f, 0, 0, 0, 0,
+ 2, 0x0f, 0, 0, 0, 0,
+ 3, 0x0a, 0, 0, 0, 0,
+ 1, 0x0a, 0x0001, 0x0002, 0x0003, 0x0004,
+ 0, 0x05, 0x0001, 0x0002, 0x0003, 0x0004,
+ 0, 0x05, 0x0001, 0x0002, 0x0003, 0x0004,
+ 0, 0x05, 0x0001, 0x0002, 0x0003, 0x0004,
+ 0, 0x05, 0x0001, 0x0002, 0x0003, 0x0004,
+ 1, 0x0f, 0x0001, 0x0002, 0x0003, 0x0004,
+
+ // For to track the current state only:
+ // Wait() allows TimeoutValue greater then
+ // 0xffff though cuts it to 16 bits.
+
+ 1, 0x0f, 0x10000, 0x10000, 0x10000, 0x10000,
+ }
+)
+
+/*
+ * Run operations one by one in accordance with the table passed by arg2.
+ * arg1 - number of operations.
+ */
+Method(m060, 4)
+{
+ Store(0, Local7)
+ While(arg1) {
+ Multiply(Local7, 6, Local6)
+ Store(DeRefOf(Index(arg2, Local6)), Local5)
+
+ Increment(Local6)
+ Store(DeRefOf(Index(arg2, Local6)), Local1)
+
+ // TimeoutValues for Wait
+
+ Increment(Local6)
+ Store(DeRefOf(Index(arg2, Local6)), TOT0)
+ Increment(Local6)
+ Store(DeRefOf(Index(arg2, Local6)), TOT1)
+ Increment(Local6)
+ Store(DeRefOf(Index(arg2, Local6)), TOT2)
+ Increment(Local6)
+ Store(DeRefOf(Index(arg2, Local6)), TOT3)
+
+ // Local1 - run 0th event
+ Store(0, Local2) // run 1th event
+ Store(0, Local3) // run 2th event
+ Store(0, Local4) // run 3th event
+
+ if (And(Local1, 0x04)) {
+ Store(1, Local2)
+ }
+ if (And(Local1, 0x02)) {
+ Store(1, Local3)
+ }
+ if (And(Local1, 0x01)) {
+ Store(1, Local4)
+ }
+ if (And(Local1, 0x08)) {
+ Store(1, Local1)
+ } else {
+ Store(0, Local1)
+ }
+
+ if (LEqual(Local5, 0)) {
+ m050(arg0, Local1, Local2, Local3, Local4)
+ } else {
+ if (LEqual(Local5, 1)) {
+ m051(arg0, Local1, Local2, Local3, Local4)
+ } else {
+ if (LEqual(Local5, 2)) {
+ m052(arg0, Local1, Local2, Local3, Local4)
+ } else {
+ if (LEqual(Local5, 3)) {
+ m053(arg0, Local1, Local2, Local3, Local4)
+ }
+ }
+ }
+ }
+
+ Increment(Local7)
+ Decrement(arg1)
+ }
+}
+
+Method(WAI0)
+{
+ Name(ts, "WAI0")
+
+ Store("TEST: WAI0, Wait for Events", Debug)
+
+ m060(ts, 40, p011, "p011")
+}
+
+// Run-method
+Method(EVN0)
+{
+ Store("TEST: EVN0, Events", Debug)
+
+ WAI0()
+}
+
+
diff --git a/tests/aslts/src/runtime/collections/functional/synchronization/mutex.asl b/tests/aslts/src/runtime/collections/functional/synchronization/mutex.asl
new file mode 100644
index 000000000..562f33b00
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/synchronization/mutex.asl
@@ -0,0 +1,747 @@
+/*
+ * 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.
+ */
+
+/*
+ * Synchronization (mutexes)
+ *
+ * The test for ASL-Mutexes to be run on a single invocation only
+ */
+
+/*
+ * Mutex + Acquire + Release
+ *
+ * The test actions exercise the (Mutex + Acquire + Release)
+ * operators adhering to the following ACPI-specified rules
+ * (some of them are verified):
+ *
+ * - creates a data mutex synchronization object,
+ * with level from 0 to 15 specified by SyncLevel,
+ * - a Mutex is not owned by a different invocation so it is owned
+ * immediately,
+ * - acquiring ownership of a Mutex can be nested,
+ * - a Mutex can be acquired more than once by the same invocation,
+ * - Acquire returns False if a timeout not occurred and the mutex
+ * ownership was successfully acquired,
+ * - to prevent deadlocks, wherever more than one synchronization
+ * object must be owned, the synchronization objects must always
+ * be released in the order opposite the order in which they were
+ * acquired,
+ * - all Acquire terms must refer to a synchronization object with
+ * an equal or greater SyncLevel to current level,
+ * - all Release terms must refer to a synchronization object with
+ * equal or lower SyncLevel to the current level,
+ * - after all the acquired mutexes of the current level are released
+ * the top occupied levels declines to the nearest occupied level,
+ * - Acquire increases the counter of mutex by one,
+ * - Release decreases the counter of mutex by one.
+ */
+
+// Acquire methods
+// m01X(<method name>, <mux0>, <mux1>, <mux2>, <mux3>)
+
+// Release methods
+// m02X(<method name>, <mux0>, <mux1>, <mux2>, <mux3>)
+
+// ================================================= Acquire methods
+
+Method(m010, 5)
+{
+ if (arg1){CH00(arg0, 0x00, 0, Acquire(T000, 0x0))}
+ if (arg2){CH00(arg0, 0x00, 1, Acquire(T001, 0xFFFF))}
+ if (arg3){CH00(arg0, 0x00, 2, Acquire(T002, 0x8000))}
+ if (arg4){CH00(arg0, 0x00, 3, Acquire(T003, 0x1000))}
+}
+
+Method(m011, 5)
+{
+ if (arg1){CH00(arg0, 0x01, 0, Acquire(T100, 0x0))}
+ if (arg2){CH00(arg0, 0x01, 1, Acquire(T101, 0xFFFF))}
+ if (arg3){CH00(arg0, 0x01, 2, Acquire(T102, 0x8000))}
+ if (arg4){CH00(arg0, 0x01, 3, Acquire(T103, 0x1000))}
+}
+
+Method(m012, 5)
+{
+ if (arg1){CH00(arg0, 0x02, 0, Acquire(T200, 0x0))}
+ if (arg2){CH00(arg0, 0x02, 1, Acquire(T201, 0xFFFF))}
+ if (arg3){CH00(arg0, 0x02, 2, Acquire(T202, 0x8000))}
+ if (arg4){CH00(arg0, 0x02, 3, Acquire(T203, 0x1000))}
+}
+
+Method(m013, 5)
+{
+ if (arg1){CH00(arg0, 0x03, 0, Acquire(T300, 0x0))}
+ if (arg2){CH00(arg0, 0x03, 1, Acquire(T301, 0xFFFF))}
+ if (arg3){CH00(arg0, 0x03, 2, Acquire(T302, 0x8000))}
+ if (arg4){CH00(arg0, 0x03, 3, Acquire(T303, 0x1000))}
+}
+
+Method(m014, 5)
+{
+ if (arg1){CH00(arg0, 0x04, 0, Acquire(T400, 0x0))}
+ if (arg2){CH00(arg0, 0x04, 1, Acquire(T401, 0xFFFF))}
+ if (arg3){CH00(arg0, 0x04, 2, Acquire(T402, 0x8000))}
+ if (arg4){CH00(arg0, 0x04, 3, Acquire(T403, 0x1000))}
+}
+
+Method(m015, 5)
+{
+ if (arg1){CH00(arg0, 0x05, 0, Acquire(T500, 0x0))}
+ if (arg2){CH00(arg0, 0x05, 1, Acquire(T501, 0xFFFF))}
+ if (arg3){CH00(arg0, 0x05, 2, Acquire(T502, 0x8000))}
+ if (arg4){CH00(arg0, 0x05, 3, Acquire(T503, 0x1000))}
+}
+
+Method(m016, 5)
+{
+ if (arg1){CH00(arg0, 0x06, 0, Acquire(T600, 0x0))}
+ if (arg2){CH00(arg0, 0x06, 1, Acquire(T601, 0xFFFF))}
+ if (arg3){CH00(arg0, 0x06, 2, Acquire(T602, 0x8000))}
+ if (arg4){CH00(arg0, 0x06, 3, Acquire(T603, 0x1000))}
+}
+
+Method(m017, 5)
+{
+ if (arg1){CH00(arg0, 0x07, 0, Acquire(T700, 0x0))}
+ if (arg2){CH00(arg0, 0x07, 1, Acquire(T701, 0xFFFF))}
+ if (arg3){CH00(arg0, 0x07, 2, Acquire(T702, 0x8000))}
+ if (arg4){CH00(arg0, 0x07, 3, Acquire(T703, 0x1000))}
+}
+
+Method(m018, 5)
+{
+ if (arg1){CH00(arg0, 0x08, 0, Acquire(T800, 0x0))}
+ if (arg2){CH00(arg0, 0x08, 1, Acquire(T801, 0xFFFF))}
+ if (arg3){CH00(arg0, 0x08, 2, Acquire(T802, 0x8000))}
+ if (arg4){CH00(arg0, 0x08, 3, Acquire(T803, 0x1000))}
+}
+
+Method(m019, 5)
+{
+ if (arg1){CH00(arg0, 0x09, 0, Acquire(T900, 0x0))}
+ if (arg2){CH00(arg0, 0x09, 1, Acquire(T901, 0xFFFF))}
+ if (arg3){CH00(arg0, 0x09, 2, Acquire(T902, 0x8000))}
+ if (arg4){CH00(arg0, 0x09, 3, Acquire(T903, 0x1000))}
+}
+
+Method(m01a, 5)
+{
+ if (arg1){CH00(arg0, 0x0a, 0, Acquire(Ta00, 0x0))}
+ if (arg2){CH00(arg0, 0x0a, 1, Acquire(Ta01, 0xFFFF))}
+ if (arg3){CH00(arg0, 0x0a, 2, Acquire(Ta02, 0x8000))}
+ if (arg4){CH00(arg0, 0x0a, 3, Acquire(Ta03, 0x1000))}
+}
+
+Method(m01b, 5)
+{
+ if (arg1){CH00(arg0, 0x0b, 0, Acquire(Tb00, 0x0))}
+ if (arg2){CH00(arg0, 0x0b, 1, Acquire(Tb01, 0xFFFF))}
+ if (arg3){CH00(arg0, 0x0b, 2, Acquire(Tb02, 0x8000))}
+ if (arg4){CH00(arg0, 0x0b, 3, Acquire(Tb03, 0x1000))}
+}
+
+Method(m01c, 5)
+{
+ if (arg1){CH00(arg0, 0x0c, 0, Acquire(Tc00, 0x0))}
+ if (arg2){CH00(arg0, 0x0c, 1, Acquire(Tc01, 0xFFFF))}
+ if (arg3){CH00(arg0, 0x0c, 2, Acquire(Tc02, 0x8000))}
+ if (arg4){CH00(arg0, 0x0c, 3, Acquire(Tc03, 0x1000))}
+}
+
+Method(m01d, 5)
+{
+ if (arg1){CH00(arg0, 0x0d, 0, Acquire(Td00, 0x0))}
+ if (arg2){CH00(arg0, 0x0d, 1, Acquire(Td01, 0xFFFF))}
+ if (arg3){CH00(arg0, 0x0d, 2, Acquire(Td02, 0x8000))}
+ if (arg4){CH00(arg0, 0x0d, 3, Acquire(Td03, 0x1000))}
+}
+
+Method(m01e, 5)
+{
+ if (arg1){CH00(arg0, 0x0e, 0, Acquire(Te00, 0x0))}
+ if (arg2){CH00(arg0, 0x0e, 1, Acquire(Te01, 0xFFFF))}
+ if (arg3){CH00(arg0, 0x0e, 2, Acquire(Te02, 0x8000))}
+ if (arg4){CH00(arg0, 0x0e, 3, Acquire(Te03, 0x1000))}
+}
+
+Method(m01f, 5)
+{
+ if (arg1){CH00(arg0, 0x0f, 0, Acquire(Tf00, 0x0))}
+ if (arg2){CH00(arg0, 0x0f, 1, Acquire(Tf01, 0xFFFF))}
+ if (arg3){CH00(arg0, 0x0f, 2, Acquire(Tf02, 0x8000))}
+ if (arg4){CH00(arg0, 0x0f, 3, Acquire(Tf03, 0x1000))}
+}
+
+// ================================================= Release methods
+
+Method(m020, 5)
+{
+ if (arg4){Release(T003)}
+ if (arg3){Release(T002)}
+ if (arg2){Release(T001)}
+ if (arg1){Release(T000)}
+}
+
+Method(m021, 5)
+{
+ if (arg4){Release(T103)}
+ if (arg3){Release(T102)}
+ if (arg2){Release(T101)}
+ if (arg1){Release(T100)}
+}
+
+Method(m022, 5)
+{
+ if (arg4){Release(T203)}
+ if (arg3){Release(T202)}
+ if (arg2){Release(T201)}
+ if (arg1){Release(T200)}
+}
+
+Method(m023, 5)
+{
+ if (arg4){Release(T303)}
+ if (arg3){Release(T302)}
+ if (arg2){Release(T301)}
+ if (arg1){Release(T300)}
+}
+
+Method(m024, 5)
+{
+ if (arg4){Release(T403)}
+ if (arg3){Release(T402)}
+ if (arg2){Release(T401)}
+ if (arg1){Release(T400)}
+}
+
+Method(m025, 5)
+{
+ if (arg4){Release(T503)}
+ if (arg3){Release(T502)}
+ if (arg2){Release(T501)}
+ if (arg1){Release(T500)}
+}
+
+Method(m026, 5)
+{
+ if (arg4){Release(T603)}
+ if (arg3){Release(T602)}
+ if (arg2){Release(T601)}
+ if (arg1){Release(T600)}
+}
+
+Method(m027, 5)
+{
+ if (arg4){Release(T703)}
+ if (arg3){Release(T702)}
+ if (arg2){Release(T701)}
+ if (arg1){Release(T700)}
+}
+
+Method(m028, 5)
+{
+ if (arg4){Release(T803)}
+ if (arg3){Release(T802)}
+ if (arg2){Release(T801)}
+ if (arg1){Release(T800)}
+}
+
+Method(m029, 5)
+{
+ if (arg4){Release(T903)}
+ if (arg3){Release(T902)}
+ if (arg2){Release(T901)}
+ if (arg1){Release(T900)}
+}
+
+Method(m02a, 5)
+{
+ if (arg4){Release(Ta03)}
+ if (arg3){Release(Ta02)}
+ if (arg2){Release(Ta01)}
+ if (arg1){Release(Ta00)}
+}
+
+Method(m02b, 5)
+{
+ if (arg4){Release(Tb03)}
+ if (arg3){Release(Tb02)}
+ if (arg2){Release(Tb01)}
+ if (arg1){Release(Tb00)}
+}
+
+Method(m02c, 5)
+{
+ if (arg4){Release(Tc03)}
+ if (arg3){Release(Tc02)}
+ if (arg2){Release(Tc01)}
+ if (arg1){Release(Tc00)}
+}
+
+Method(m02d, 5)
+{
+ if (arg4){Release(Td03)}
+ if (arg3){Release(Td02)}
+ if (arg2){Release(Td01)}
+ if (arg1){Release(Td00)}
+}
+
+Method(m02e, 5)
+{
+ if (arg4){Release(Te03)}
+ if (arg3){Release(Te02)}
+ if (arg2){Release(Te01)}
+ if (arg1){Release(Te00)}
+}
+
+Method(m02f, 5)
+{
+ if (arg4){Release(Tf03)}
+ if (arg3){Release(Tf02)}
+ if (arg2){Release(Tf01)}
+ if (arg1){Release(Tf00)}
+}
+
+// ================================================= Run Acquire/Release
+
+/*
+ * Acquire
+ * arg0 - name of method to be reported
+ * arg1 - synclevel (0-15)
+ * arg2 - start mutex inside the first processed synclevel
+ * (0 for other levels)
+ * 0 - starting with the # (arg3)
+ * 1 - 0-th
+ * 2 - 1-th
+ * 3 - 2-th
+ * 4 - 3-th
+ * arg3 - # operations to be performed for current synclevel
+ */
+Method(m030, 4)
+{
+ if (LEqual(arg3, 0)) {
+ Return (0)
+ }
+
+ Store(0, Local1)
+ Store(0, Local2)
+ Store(0, Local3)
+ Store(0, Local4)
+
+ // Local5 - index of highest
+ Store(Add(arg2, arg3), Local5)
+ Decrement(Local5)
+
+ Store(0, Local6)
+ Store(0, Local7)
+ if (LLessEqual(arg2, 0)) {Store(1, Local6)}
+ if (LGreaterEqual(Local5, 0)) {Store(1, Local7)}
+ if (LAnd(Local6, Local7)) {Store(1, Local1)}
+
+ Store(0, Local6)
+ Store(0, Local7)
+ if (LLessEqual(arg2, 1)) {Store(1, Local6)}
+ if (LGreaterEqual(Local5, 1)) {Store(1, Local7)}
+ if (LAnd(Local6, Local7)) {Store(1, Local2)}
+
+ Store(0, Local6)
+ Store(0, Local7)
+ if (LLessEqual(arg2, 2)) {Store(1, Local6)}
+ if (LGreaterEqual(Local5, 2)) {Store(1, Local7)}
+ if (LAnd(Local6, Local7)) {Store(1, Local3)}
+
+ Store(0, Local6)
+ Store(0, Local7)
+ if (LLessEqual(arg2, 3)) {Store(1, Local6)}
+ if (LGreaterEqual(Local5, 3)) {Store(1, Local7)}
+ if (LAnd(Local6, Local7)) {Store(1, Local4)}
+
+ if (0) {
+ Store(Local1, Debug)
+ Store(Local2, Debug)
+ Store(Local3, Debug)
+ Store(Local4, Debug)
+ Return (0)
+ }
+
+ if (LEqual(arg1, 0)) {
+ m010(arg0, Local1, Local2, Local3, Local4)
+ } if (LEqual(arg1, 1)) {
+ m011(arg0, Local1, Local2, Local3, Local4)
+ } if (LEqual(arg1, 2)) {
+ m012(arg0, Local1, Local2, Local3, Local4)
+ } if (LEqual(arg1, 3)) {
+ m013(arg0, Local1, Local2, Local3, Local4)
+ } if (LEqual(arg1, 4)) {
+ m014(arg0, Local1, Local2, Local3, Local4)
+ } if (LEqual(arg1, 5)) {
+ m015(arg0, Local1, Local2, Local3, Local4)
+ } if (LEqual(arg1, 6)) {
+ m016(arg0, Local1, Local2, Local3, Local4)
+ } if (LEqual(arg1, 7)) {
+ m017(arg0, Local1, Local2, Local3, Local4)
+ } if (LEqual(arg1, 8)) {
+ m018(arg0, Local1, Local2, Local3, Local4)
+ } if (LEqual(arg1, 9)) {
+ m019(arg0, Local1, Local2, Local3, Local4)
+ } if (LEqual(arg1, 10)) {
+ m01a(arg0, Local1, Local2, Local3, Local4)
+ } if (LEqual(arg1, 11)) {
+ m01b(arg0, Local1, Local2, Local3, Local4)
+ } if (LEqual(arg1, 12)) {
+ m01c(arg0, Local1, Local2, Local3, Local4)
+ } if (LEqual(arg1, 13)) {
+ m01d(arg0, Local1, Local2, Local3, Local4)
+ } if (LEqual(arg1, 14)) {
+ m01e(arg0, Local1, Local2, Local3, Local4)
+ } if (LEqual(arg1, 15)) {
+ m01f(arg0, Local1, Local2, Local3, Local4)
+ }
+
+ Return (0)
+}
+
+/*
+ * Release
+ * arg0 - name of method to be reported
+ * arg1 - synclevel (0-15)
+ * arg2 - start mutex inside the first processed synclevel
+ * (0 for other levels)
+ * 0 - starting with the # (arg3)
+ * 4 - 3-th
+ * 3 - 2-th
+ * 2 - 1-th
+ * 1 - 0-th
+ * arg3 - # operations to be performed for current synclevel
+ */
+Method(m031, 4)
+{
+ if (LEqual(arg3, 0)) {
+ Return (0)
+ }
+
+ Store(0, Local1)
+ Store(0, Local2)
+ Store(0, Local3)
+ Store(0, Local4)
+
+ // arg2 - index of highest
+ if (LEqual(arg2, 0)) {
+ Store(arg3, arg2)
+ }
+ Decrement(arg2)
+
+ // Local5 - index of lowest
+ Store(Subtract(arg2, arg3), Local5)
+ Increment(Local5)
+
+ Store(0, Local6)
+ Store(0, Local7)
+ if (LLessEqual(Local5, 0)) {Store(1, Local6)}
+ if (LGreaterEqual(arg2, 0)) {Store(1, Local7)}
+ if (LAnd(Local6, Local7)) {Store(1, Local1)}
+
+ Store(0, Local6)
+ Store(0, Local7)
+ if (LLessEqual(Local5, 1)) {Store(1, Local6)}
+ if (LGreaterEqual(arg2, 1)) {Store(1, Local7)}
+ if (LAnd(Local6, Local7)) {Store(1, Local2)}
+
+ Store(0, Local6)
+ Store(0, Local7)
+ if (LLessEqual(Local5, 2)) {Store(1, Local6)}
+ if (LGreaterEqual(arg2, 2)) {Store(1, Local7)}
+ if (LAnd(Local6, Local7)) {Store(1, Local3)}
+
+ Store(0, Local6)
+ Store(0, Local7)
+ if (LLessEqual(Local5, 3)) {Store(1, Local6)}
+ if (LGreaterEqual(arg2, 3)) {Store(1, Local7)}
+ if (LAnd(Local6, Local7)) {Store(1, Local4)}
+
+ if (0) {
+ Store(Local1, Debug)
+ Store(Local2, Debug)
+ Store(Local3, Debug)
+ Store(Local4, Debug)
+ Return (0)
+ }
+
+ if (LEqual(arg1, 0)) {
+ m020(arg0, Local1, Local2, Local3, Local4)
+ } if (LEqual(arg1, 1)) {
+ m021(arg0, Local1, Local2, Local3, Local4)
+ } if (LEqual(arg1, 2)) {
+ m022(arg0, Local1, Local2, Local3, Local4)
+ } if (LEqual(arg1, 3)) {
+ m023(arg0, Local1, Local2, Local3, Local4)
+ } if (LEqual(arg1, 4)) {
+ m024(arg0, Local1, Local2, Local3, Local4)
+ } if (LEqual(arg1, 5)) {
+ m025(arg0, Local1, Local2, Local3, Local4)
+ } if (LEqual(arg1, 6)) {
+ m026(arg0, Local1, Local2, Local3, Local4)
+ } if (LEqual(arg1, 7)) {
+ m027(arg0, Local1, Local2, Local3, Local4)
+ } if (LEqual(arg1, 8)) {
+ m028(arg0, Local1, Local2, Local3, Local4)
+ } if (LEqual(arg1, 9)) {
+ m029(arg0, Local1, Local2, Local3, Local4)
+ } if (LEqual(arg1, 10)) {
+ m02a(arg0, Local1, Local2, Local3, Local4)
+ } if (LEqual(arg1, 11)) {
+ m02b(arg0, Local1, Local2, Local3, Local4)
+ } if (LEqual(arg1, 12)) {
+ m02c(arg0, Local1, Local2, Local3, Local4)
+ } if (LEqual(arg1, 13)) {
+ m02d(arg0, Local1, Local2, Local3, Local4)
+ } if (LEqual(arg1, 14)) {
+ m02e(arg0, Local1, Local2, Local3, Local4)
+ } if (LEqual(arg1, 15)) {
+ m02f(arg0, Local1, Local2, Local3, Local4)
+ }
+
+ Return (0)
+}
+
+// ================================================= Tests
+
+// How many times run Acquire/Release for the particular level mutexes
+// 0 - Acquire
+// 1 - Release
+/*
+ * Name(p010, Buffer() {
+ * 0, 0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+ * 1, 0, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
+ * 0, 0, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
+ * 1, 0, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
+ * }
+ * )
+ */
+Name(p010, Buffer() {
+ 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+
+ 0, 0, 4, 3, 2, 1, 4, 3, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 4, 3, 2, 1, 4, 3, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+
+ 0, 0, 4, 3, 2, 1, 4, 3, 2, 1, 4, 3, 2, 1, 4, 3, 2, 0,
+ 1, 0, 4, 3, 2, 1, 4, 3, 2, 1, 4, 3, 2, 1, 4, 3, 2, 0,
+
+ 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+ 1, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+
+ 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+
+ 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0,
+
+ 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4,
+ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4,
+ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4,
+ 1, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4,
+ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4,
+
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+ 1, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+
+ 0, 0, 4, 0, 4, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 0, 4, 4,
+ 1, 0, 4, 0, 4, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 0, 4, 4,
+
+ 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0,
+
+ 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0,
+
+ 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+
+ 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 0,
+ 1, 4, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 1, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+
+ 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+ 1, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+ }
+)
+
+/*
+ * Run Acquire/Release for all level mutexes
+ *
+ * Buffer:={N lines}
+ * Line:= consists of 18 bytes:
+ * 0: operation: 0-Acquire, 1-Release
+ * 1: The start mutex inside the first processed synclevel
+ * (start mux and synclevels are ordered: Acquire: left->r,
+ * Release: r->l)
+ * 0: to start according to the given number (bytes 2-17)
+ * 1-4: Acquire (left->right) (1-0th,2-1th,3-2th,4-3th)
+ * Release (right->left) (4-3th,3-2th,2-1th,1-0th)
+ * 2-17: per-synclevel numbers of operations to be performed:
+ * how many operations (from 0 up to 4) to be performed
+ * (at most one per mutex) on the mutexes of the relevant
+ * level (2th - synclevel 0, 3th - synclevel 1, etc.)
+ * Variables:
+ * arg0 - name of method to be reported
+ * arg1 - lines total number
+ * arg2 - buffer of lines
+ * arg3 - name of buffer
+ * Local7 - index of line
+ * Local6 - synclevel (0-15)
+ * Local5 - operation (0-Acquire,1-Release)
+ * Local4 - abs index corresponding to synclevel inside the buffer
+ * Local3 - auxiliary = (Local6 + 1)
+ * Local2 - # operations to be performed for current synclevel
+ * Local1 - start mutex inside the first processed synclevel
+ * (0 for other levels)
+ */
+Method(m032, 4)
+{
+ Store(0, Local7)
+ While(arg1) {
+ Multiply(Local7, 18, Local6)
+ Store(DeRefOf(Index(arg2, Local6)), Local5)
+
+ Increment(Local6)
+ Store(DeRefOf(Index(arg2, Local6)), Local1)
+
+ if (LEqual(Local5, 0)) {
+
+ if (0) {
+ Store("============= Acq", Debug)
+ }
+
+ Store(Add(Local6, 1), Local4)
+ Store(0, Local6)
+ While(LLess(Local6, 16)) {
+
+ Store(DeRefOf(Index(arg2, Local4)), Local2)
+
+ if (0){
+ Store(Local6, Debug)
+ Store(Local4, Debug)
+ Store(Local2, Debug)
+ }
+
+ if (Local2){
+ m030(arg0, Local6, Local1, Local2)
+ Store(0, Local1)
+ }
+
+ Increment(Local6)
+ Increment(Local4)
+ }
+ } else {
+ if (0) {
+ Store("============= Rel", Debug)
+ }
+
+ Store(Add(Local6, 16), Local4)
+ Store(16, Local3)
+ While(Local3) {
+ Store(Subtract(Local3, 1), Local6)
+
+ Store(DeRefOf(Index(arg2, Local4)), Local2)
+
+ if (0){
+ Store(Local6, Debug)
+ Store(Local4, Debug)
+ Store(Local2, Debug)
+ }
+
+ if (Local2){
+ m031(arg0, Local6, Local1, Local2)
+ Store(0, Local1)
+ }
+
+ Decrement(Local3)
+ Decrement(Local4)
+ }
+ }
+
+ Increment(Local7)
+ Decrement(arg1)
+ }
+}
+
+Method(m033) {
+ Mutex(MTX0, 0)
+ Acquire(MTX0, 0)
+ Release(MTX0)
+}
+
+Method(m034) {
+ Store(200, Local0)
+ While (Local0) {
+ m033()
+ Decrement(Local0)
+ }
+}
+
+// Run-method
+Method(MUX0)
+{
+ Name(ts, "MUX0")
+
+ Store("TEST: MUX0, Acquire/Release Mutex", Debug)
+
+ SRMT("m032")
+ m032(ts, 56, p010, "p010")
+
+ SRMT("m034")
+ m034()
+}
diff --git a/tests/aslts/src/runtime/collections/functional/synchronization/mutex2.asl b/tests/aslts/src/runtime/collections/functional/synchronization/mutex2.asl
new file mode 100644
index 000000000..afa3d26dd
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/synchronization/mutex2.asl
@@ -0,0 +1,2309 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+/*
+ * Check for exceptions on mutexes
+ */
+
+Name(z150, 150)
+
+/*
+ * Run checking that all mutexes are actually Released.
+ * To be used while debugging the tests mainly.
+ */
+Name(FL03, 0)
+
+/* Counter for m08e */
+Name(cn00, 0)
+
+
+/*
+ * These declarations are used for to check the Acquire
+ * and Release operations in a global level AML code.
+ */
+Name(i101, 0) // non-zero means that this test was run
+Name(i102, 1)
+Name(i103, 1)
+Name(b11c, Buffer(Add(1, Store(Acquire(T804, 0xffff), i102))){0})
+Name(b11d, Buffer(m137()){0})
+Method(m137)
+{
+ Store(1, i101)
+
+ // Store("m137 started", Debug)
+
+ if (LNot(i102)) {
+ Release(T804)
+ }
+
+ // Store("m137 completed", Debug)
+
+ return (1)
+}
+Name(b11e, Buffer(m13e()){0})
+Name(b11f, Buffer(m13f()){0})
+Method(m13e)
+{
+ Store(1, i101)
+
+ // Store("m13e started", Debug)
+
+ Store(Acquire(T805, 0xffff), i103)
+
+ // Store("m13e completed", Debug)
+
+ return (1)
+}
+Method(m13f)
+{
+ Store(1, i101)
+
+ // Store("m13f started", Debug)
+
+ if (LNot(i103)) {
+ Release(T805)
+ }
+
+ // Store("m13f completed", Debug)
+
+ return (1)
+}
+
+
+/*
+ * Valid sequence of requests, no exceptions expected.
+ *
+ * Acquire mutexes of monotone increasing level (Global lock
+ * on level 0 too) for all available levels from 0 up to 15,
+ * then Release them all in the inverse order.
+ */
+Method(m301)
+{
+ Mutex(MT00, 0)
+ Mutex(MT10, 1)
+ Mutex(MT20, 2)
+ Mutex(MT30, 3)
+ Mutex(MT40, 4)
+ Mutex(MT50, 5)
+ Mutex(MT60, 6)
+ Mutex(MT70, 7)
+ Mutex(MT80, 8)
+ Mutex(MT90, 9)
+ Mutex(MTa0, 10)
+ Mutex(MTb0, 11)
+ Mutex(MTc0, 12)
+ Mutex(MTd0, 13)
+ Mutex(MTe0, 14)
+ Mutex(MTf0, 15)
+
+ Name(ts, "m301")
+
+ CH03(ts, z150, 0x000, 0, 0)
+
+ Store(Acquire(MT00, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 1, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(\_GL, 0xffff), Local0) /* GL */
+ if (Local0) {
+ err(ts, z150, 3, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MT10, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 2, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MT20, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 3, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MT30, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 4, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MT40, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 5, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MT50, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 6, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MT60, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 7, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MT70, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 8, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MT80, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 9, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MT90, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 0x00a, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MTa0, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 0x00b, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MTb0, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 0x00c, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MTc0, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 0x00d, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MTd0, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 0x00e, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MTe0, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 0x00f, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MTf0, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 0x010, 0, 0, 0, Local0)
+ } else {
+ Release(MTF0)
+ Release(MTE0)
+ Release(MTD0)
+ Release(MTC0)
+ Release(MTB0)
+ Release(MTA0)
+ Release(MT90)
+ Release(MT80)
+ Release(MT70)
+ Release(MT60)
+ Release(MT50)
+ Release(MT40)
+ Release(MT30)
+ Release(MT20)
+ Release(MT10)
+ Release(\_GL)
+ Release(MT00)
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+
+ CH03(ts, z150, 0x011, 0, 0)
+}
+
+/*
+ * Valid sequence of requests, no exceptions expected.
+ *
+ * Acquire mutexes of monotone increasing level (Global lock on level 0 too)
+ * for all available levels from 0 up to 15, Acquire 2 mutexes of each level,
+ * then Release them all in the inverse order (keep the exactly inverse order
+ * for Releasing mutexes of the same level too).
+ *
+ * arg0 - if to force AE_LIMIT by exceeding the maximal number of created mutexes
+ */
+Method(m369, 1)
+{
+ Name(ts, "m369")
+
+ CH03(ts, z150, 0x022, 0, 0)
+
+ Mutex(MT00, 0)
+ Mutex(MT10, 1)
+ Mutex(MT20, 2)
+ Mutex(MT30, 3)
+ Mutex(MT40, 4)
+ Mutex(MT50, 5)
+ Mutex(MT60, 6)
+ Mutex(MT70, 7)
+ Mutex(MT80, 8)
+ Mutex(MT90, 9)
+ Mutex(MTa0, 10)
+ Mutex(MTb0, 11)
+ Mutex(MTc0, 12)
+ Mutex(MTd0, 13)
+ Mutex(MTe0, 14)
+ Mutex(MTf0, 15)
+
+ Mutex(MT01, 0)
+ Mutex(MT11, 1)
+ Mutex(MT21, 2)
+ Mutex(MT31, 3)
+ Mutex(MT41, 4)
+ Mutex(MT51, 5)
+ Mutex(MT61, 6)
+ Mutex(MT71, 7)
+ Mutex(MT81, 8)
+ Mutex(MT91, 9)
+ Mutex(MTa1, 10)
+ Mutex(MTb1, 11)
+ Mutex(MTc1, 12)
+ Mutex(MTd1, 13)
+ Mutex(MTe1, 14)
+ if (arg0) {
+
+ // Should be enough to exceed the maximal available number of mutexes
+ Mutex(MTf1, 15)
+ Mutex(MTf2, 15)
+ Mutex(MTf3, 15)
+ Mutex(MTf4, 15)
+ }
+
+ Store(Acquire(MT00, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 1, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MT01, 0xffff), Local0) /* the same level */
+ if (Local0) {
+ err(ts, z150, 2, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(\_GL, 0xffff), Local0) /* GL */
+ if (Local0) {
+ err(ts, z150, 3, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MT10, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 4, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MT11, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 5, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MT20, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 6, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MT21, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 7, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MT30, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 8, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MT31, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 9, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MT40, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 0x00a, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MT41, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 0x00b, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MT50, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 0x00c, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MT51, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 0x00d, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MT60, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 0x00e, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MT61, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 0x00f, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MT70, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 0x010, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MT71, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 0x011, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MT80, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 0x012, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MT81, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 0x013, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MT90, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 0x014, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MT91, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 0x015, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MTa0, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 0x016, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MTa1, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 0x017, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MTb0, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 0x018, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MTb1, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 0x019, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MTc0, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 0x01a, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MTc1, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 0x01b, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MTd0, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 0x01c, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MTd1, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 0x01d, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MTe0, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 0x01e, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MTe1, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 0x01f, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MTf0, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 0x020, 0, 0, 0, Local0)
+ } else {
+ if (arg0) {
+ Store(Acquire(MTf1, 0xffff), Local0)
+ } else {
+ Store(0, Local0)
+ }
+ if (Local0) {
+ err(ts, z150, 0x021, 0, 0, 0, Local0)
+ } else {
+ if (arg0) {
+ Release(MTF1)
+ }
+ Release(MTF0)
+ Release(MTE1)
+ Release(MTE0)
+ Release(MTD1)
+ Release(MTD0)
+ Release(MTC1)
+ Release(MTC0)
+ Release(MTB1)
+ Release(MTB0)
+ Release(MTA1)
+ Release(MTA0)
+ Release(MT91)
+ Release(MT90)
+ Release(MT81)
+ Release(MT80)
+ Release(MT71)
+ Release(MT70)
+ Release(MT61)
+ Release(MT60)
+ Release(MT51)
+ Release(MT50)
+ Release(MT41)
+ Release(MT40)
+ Release(MT31)
+ Release(MT30)
+ Release(MT21)
+ Release(MT20)
+ Release(MT11)
+ Release(MT10)
+ Release(\_GL)
+ Release(MT01)
+ Release(MT00)
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+
+ if (arg0) {
+ CH04(ts, 1, 18, z150, 0x122, 0, 0) // AE_LIMIT
+ } else {
+ CH03(ts, z150, 0x123, 0, 0)
+ }
+}
+
+/*
+ * Valid sequence of requests, no exceptions expected.
+ *
+ * Acquire mutexes of monotone increasing level (Global lock
+ * on level 0 too) for all available levels from 0 up to 15,
+ * then Release them all in the inverse order.
+ *
+ * Exactly m301 but additioanlly:
+ * all Release opreations are located into separate method.
+ */
+Method(m36a)
+{
+ Mutex(MT00, 0)
+ Mutex(MT10, 1)
+ Mutex(MT20, 2)
+ Mutex(MT30, 3)
+ Mutex(MT40, 4)
+ Mutex(MT50, 5)
+ Mutex(MT60, 6)
+ Mutex(MT70, 7)
+ Mutex(MT80, 8)
+ Mutex(MT90, 9)
+ Mutex(MTa0, 10)
+ Mutex(MTb0, 11)
+ Mutex(MTc0, 12)
+ Mutex(MTd0, 13)
+ Mutex(MTe0, 14)
+ Mutex(MTf0, 15)
+
+ Name(ts, "m36a")
+
+ Method(m000)
+ {
+
+ Store(Acquire(MT00, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 1, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(\_GL, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 2, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MT10, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 3, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MT20, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 4, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MT30, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 5, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MT40, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 6, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MT50, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 7, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MT60, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 8, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MT70, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 9, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MT80, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 0x00a, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MT90, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 0x00b, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MTa0, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 0x00c, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MTb0, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 0x00d, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MTc0, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 0x00e, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MTd0, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 0x00f, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MTe0, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 0x010, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MTf0, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 0x011, 0, 0, 0, Local0)
+ } else {
+ m001()
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ } /* m000 */
+
+ Method(m001)
+ {
+ Release(MTF0)
+ Release(MTE0)
+ Release(MTD0)
+ Release(MTC0)
+ Release(MTB0)
+ Release(MTA0)
+ Release(MT90)
+ Release(MT80)
+ Release(MT70)
+ Release(MT60)
+ Release(MT50)
+ Release(MT40)
+ Release(MT30)
+ Release(MT20)
+ Release(MT10)
+ Release(\_GL)
+ Release(MT00)
+ }
+
+ CH03(ts, z150, 0x012, 0, 0)
+ m000()
+ CH03(ts, z150, 0x013, 0, 0)
+}
+
+/*
+ * Valid sequence of requests, no exceptions expected.
+ *
+ * Acquire mutexes of monotone increasing level (Global lock
+ * on level 0 too) for all available levels from 0 up to 15,
+ * then Release them all in the inverse order.
+ *
+ * Exactly m301 but additioanlly:
+ * all Acquire and Release opreations are located into separate methods.
+ */
+Method(m36b)
+{
+ Mutex(MT00, 0)
+ Mutex(MT10, 1)
+ Mutex(MT20, 2)
+ Mutex(MT30, 3)
+ Mutex(MT40, 4)
+ Mutex(MT50, 5)
+ Mutex(MT60, 6)
+ Mutex(MT70, 7)
+ Mutex(MT80, 8)
+ Mutex(MT90, 9)
+ Mutex(MTa0, 10)
+ Mutex(MTb0, 11)
+ Mutex(MTc0, 12)
+ Mutex(MTd0, 13)
+ Mutex(MTe0, 14)
+ Mutex(MTf0, 15)
+
+ Name(ts, "m36b")
+
+ Method(m000)
+ {
+
+ Store(Acquire(MT00, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 1, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(\_GL, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 2, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MT10, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 3, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MT20, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 4, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MT30, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 5, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MT40, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 6, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MT50, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 7, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MT60, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 8, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MT70, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 9, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MT80, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 0x00a, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MT90, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 0x00b, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MTa0, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 0x00c, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MTb0, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 0x00d, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MTc0, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 0x00e, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MTd0, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 0x00f, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MTe0, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 0x010, 0, 0, 0, Local0)
+ } else {
+ Store(Acquire(MTf0, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 0x011, 0, 0, 0, Local0)
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ } /* m000 */
+
+ Method(m001)
+ {
+ Release(MTF0)
+ Release(MTE0)
+ Release(MTD0)
+ Release(MTC0)
+ Release(MTB0)
+ Release(MTA0)
+ Release(MT90)
+ Release(MT80)
+ Release(MT70)
+ Release(MT60)
+ Release(MT50)
+ Release(MT40)
+ Release(MT30)
+ Release(MT20)
+ Release(MT10)
+ Release(\_GL)
+ Release(MT00)
+ }
+
+ CH03(ts, z150, 0x012, 0, 0)
+ m000()
+ CH03(ts, z150, 0x013, 0, 0)
+ m001()
+ CH03(ts, z150, 0x014, 0, 0)
+}
+
+/*
+ * Invalid sequence of Acquire operations:
+ *
+ * 1) Acquire N-th level mutex (N>=1):
+ * 2) Acquire:
+ * - mutexes from 0 up to (N-1)-levels
+ * - Global lock
+ * 3) exception AE_AML_MUTEX_ORDER is expected for each Acquire of (2)
+ */
+Method(m36c)
+{
+ Name(ts, "m36c")
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+
+ /*
+ * arg0 - level of mutex to be acquired first
+ * arg1 - level of mutex to be acquired second
+ * arg2 - 1 - acquire 0-level mutex instead of arg1
+ * 2 - acquire Global lock instead of arg1
+ */
+ Method(m000, 3)
+ {
+ /* Acquire the first mutex */
+
+ CH03(ts, z150, 0x000, 0, 0)
+ m36f(arg0, 0, 0, 0) // Acquire N-level mutex
+ CH03(ts, z150, 0x001, 0, 0)
+
+ /*
+ * Attempt to Acquire the second mutex (exception is expected).
+ *
+ * It is supposed that the second acquired
+ * is a mutex of level not greater than (N-1)
+ */
+ Switch (arg2) {
+ Case (1) {
+ m36f(0, 0, 1, 0) // Acquire 0 level mux
+ }
+ Case (2) {
+ m36f(GLLL, GLIX, 1, 0) // Acquire GL
+ }
+ Default {
+ m36f(arg1, 0, 1, 0) // Acquire arg1-level mux
+ }
+ }
+ CH04(ts, 0, 64, z150, 0x002, 0, 0) // AE_AML_MUTEX_ORDER
+
+ m388(arg0, 0, 0) // Release
+
+ CH03(ts, z150, 0x003, 0, 0)
+ }
+
+ /*
+ * The second Acquires are run in range from 0 up to (N-1) levels
+ *
+ * arg0 - N level (to be in range from 1 up to 15)
+ */
+ Method(m001, 1)
+ {
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+
+ Store(arg0, lpN0)
+ Store(0, lpC0)
+ While (lpN0) {
+ m000(arg0, lpC0, 0)
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+ }
+
+ /* From 1 up to 15 levels */
+
+ Subtract(max0, 1, lpN0)
+ Store(1, lpC0)
+ While (lpN0) {
+ if (lpC0) {
+ m001(lpC0)
+ m000(lpC0, 0, 1) // 0 level mux
+ m000(lpC0, 0, 2) // GL
+ }
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+}
+
+/*
+ * Exception on Release.
+ * Release mutex twice.
+ *
+ * Attempt to Release free mutex: Acquire, Release, Release.
+ * Exception is expected on the second Release.
+ * Do it for all level mutexes and Global lock too.
+ */
+Method(m389)
+{
+ Name(ts, "m389")
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+
+ /* arg0 - level of mutex */
+ Method(m000, 1)
+ {
+ CH03(ts, z150, 0x000, 0, 0)
+ m36f(arg0, 0, 0, 0) // Acquire
+ m388(arg0, 0, 0) // Release
+ CH03(ts, z150, 0x001, 0, 0)
+
+ /* Attempt to Release free mutex */
+ m388(arg0, 0, 0) // Release
+ CH04(ts, 0, 65, z150, 0x002, 0, 0) // AE_AML_MUTEX_NOT_ACQUIRED
+
+ CH03(ts, z150, 0x003, 0, 0)
+ m36f(arg0, 0, 0, 0) // Acquire
+ m388(arg0, 0, 0) // Release
+ CH03(ts, z150, 0x004, 0, 0)
+ }
+
+ Store(max0, lpN0)
+ Store(0, lpC0)
+ While (lpN0) {
+ m000(lpC0)
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+
+ /* Separately for GL */
+
+ CH03(ts, z150, 0x005, 0, 0)
+ m36f(GLLL, GLIX, 0, 0) // Acquire
+ m388(GLLL, GLIX, 0) // Release
+ CH03(ts, z150, 0x006, 0, 0)
+
+ /* Attempt to Release free mutex */
+ m388(GLLL, GLIX, 0) // Release
+ CH04(ts, 0, 65, z150, 0x007, 0, 0) // AE_AML_MUTEX_NOT_ACQUIRED
+
+ CH03(ts, z150, 0x008, 0, 0)
+ m36f(GLLL, GLIX, 0, 0) // Acquire
+ m388(GLLL, GLIX, 0) // Release
+ CH03(ts, z150, 0x009, 0, 0)
+}
+
+/*
+ * Exception on Release.
+ * Attempt ot Release clean mutex which was never Acquired.
+ */
+Method(m07b)
+{
+ Name(ts, "m07b")
+
+ Mutex(T000, 0)
+ Mutex(T100, 1)
+ Mutex(T200, 2)
+ Mutex(T300, 3)
+ Mutex(T400, 4)
+ Mutex(T500, 5)
+ Mutex(T600, 6)
+ Mutex(T700, 7)
+ Mutex(T800, 8)
+ Mutex(T900, 9)
+ Mutex(Ta00, 10)
+ Mutex(Tb00, 11)
+ Mutex(Tc00, 12)
+ Mutex(Td00, 13)
+ Mutex(Te00, 14)
+ Mutex(Tf00, 15)
+
+ /* First time */
+
+ CH03(ts, z150, 0x000, 0, 0)
+ Release(T000)
+ CH04(ts, 0, 65, z150, 0x001, 0, 0) // AE_AML_MUTEX_NOT_ACQUIRED
+
+ CH03(ts, z150, 0x002, 0, 0)
+ Release(\_GL)
+ CH04(ts, 0, 65, z150, 0x003, 0, 0)
+
+ CH03(ts, z150, 0x004, 0, 0)
+ Release(T100)
+ CH04(ts, 0, 65, z150, 0x005, 0, 0)
+
+ CH03(ts, z150, 0x006, 0, 0)
+ Release(T200)
+ CH04(ts, 0, 65, z150, 0x007, 0, 0)
+
+ CH03(ts, z150, 0x008, 0, 0)
+ Release(T300)
+ CH04(ts, 0, 65, z150, 0x009, 0, 0)
+
+ CH03(ts, z150, 0x00a, 0, 0)
+ Release(T400)
+ CH04(ts, 0, 65, z150, 0x00b, 0, 0)
+
+ CH03(ts, z150, 0x00c, 0, 0)
+ Release(T500)
+ CH04(ts, 0, 65, z150, 0x00d, 0, 0)
+
+ CH03(ts, z150, 0x00e, 0, 0)
+ Release(T600)
+ CH04(ts, 0, 65, z150, 0x00f, 0, 0)
+
+ CH03(ts, z150, 0x010, 0, 0)
+ Release(T700)
+ CH04(ts, 0, 65, z150, 0x011, 0, 0)
+
+ CH03(ts, z150, 0x012, 0, 0)
+ Release(T800)
+ CH04(ts, 0, 65, z150, 0x013, 0, 0)
+
+ CH03(ts, z150, 0x014, 0, 0)
+ Release(T900)
+ CH04(ts, 0, 65, z150, 0x015, 0, 0)
+
+ CH03(ts, z150, 0x016, 0, 0)
+ Release(Ta00)
+ CH04(ts, 0, 65, z150, 0x017, 0, 0)
+
+ CH03(ts, z150, 0x018, 0, 0)
+ Release(Tb00)
+ CH04(ts, 0, 65, z150, 0x019, 0, 0)
+
+ CH03(ts, z150, 0x01a, 0, 0)
+ Release(Tc00)
+ CH04(ts, 0, 65, z150, 0x01b, 0, 0)
+
+ CH03(ts, z150, 0x01c, 0, 0)
+ Release(Td00)
+ CH04(ts, 0, 65, z150, 0x01d, 0, 0)
+
+ CH03(ts, z150, 0x01e, 0, 0)
+ Release(Te00)
+ CH04(ts, 0, 65, z150, 0x01f, 0, 0)
+
+ CH03(ts, z150, 0x020, 0, 0)
+ Release(Tf00)
+ CH04(ts, 0, 65, z150, 0x021, 0, 0)
+
+
+ /* Second time */
+
+ CH03(ts, z150, 0x022, 0, 0)
+ Release(T000)
+ CH04(ts, 0, 65, z150, 0x023, 0, 0) // AE_AML_MUTEX_NOT_ACQUIRED
+
+ CH03(ts, z150, 0x024, 0, 0)
+ Release(T100)
+ CH04(ts, 0, 65, z150, 0x025, 0, 0)
+
+ CH03(ts, z150, 0x026, 0, 0)
+ Release(T200)
+ CH04(ts, 0, 65, z150, 0x027, 0, 0)
+
+ CH03(ts, z150, 0x028, 0, 0)
+ Release(T300)
+ CH04(ts, 0, 65, z150, 0x029, 0, 0)
+
+ CH03(ts, z150, 0x02a, 0, 0)
+ Release(T400)
+ CH04(ts, 0, 65, z150, 0x02b, 0, 0)
+
+ CH03(ts, z150, 0x02c, 0, 0)
+ Release(T500)
+ CH04(ts, 0, 65, z150, 0x02d, 0, 0)
+
+ CH03(ts, z150, 0x02e, 0, 0)
+ Release(T600)
+ CH04(ts, 0, 65, z150, 0x02f, 0, 0)
+
+ CH03(ts, z150, 0x030, 0, 0)
+ Release(T700)
+ CH04(ts, 0, 65, z150, 0x031, 0, 0)
+
+ CH03(ts, z150, 0x032, 0, 0)
+ Release(T800)
+ CH04(ts, 0, 65, z150, 0x033, 0, 0)
+
+ CH03(ts, z150, 0x034, 0, 0)
+ Release(T900)
+ CH04(ts, 0, 65, z150, 0x035, 0, 0)
+
+ CH03(ts, z150, 0x036, 0, 0)
+ Release(Ta00)
+ CH04(ts, 0, 65, z150, 0x037, 0, 0)
+
+ CH03(ts, z150, 0x038, 0, 0)
+ Release(Tb00)
+ CH04(ts, 0, 65, z150, 0x039, 0, 0)
+
+ CH03(ts, z150, 0x03a, 0, 0)
+ Release(Tc00)
+ CH04(ts, 0, 65, z150, 0x03b, 0, 0)
+
+ CH03(ts, z150, 0x03c, 0, 0)
+ Release(Td00)
+ CH04(ts, 0, 65, z150, 0x03d, 0, 0)
+
+ CH03(ts, z150, 0x03e, 0, 0)
+ Release(Te00)
+ CH04(ts, 0, 65, z150, 0x03f, 0, 0)
+
+ CH03(ts, z150, 0x040, 0, 0)
+ Release(Tf00)
+ CH04(ts, 0, 65, z150, 0x041, 0, 0)
+}
+
+/*
+ * Exception on Release.
+ * Break the sequence of Acquiring mutexes while Releasing them,
+ * jump over the level.
+ *
+ * Invalid sequence of Releases:
+ *
+ * 1) Take level from range (N>=1 & N<=15)
+ * 2) Acquire mutexes of all levels from 0 up to N
+ * 3) Try to Release any mutex:
+ * - in the level range from (N-1) down to 0
+ * - Global lock
+ * 4) Do 1-3 for all levels in range (N>=1 & N<=15)
+ */
+Method(m38a)
+{
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+ Name(br00, 0)
+
+
+ Subtract(max0, 1, lpN0)
+ Store(2, lpC0)
+
+ While (lpN0) {
+
+ /* Acquire lpC0 levels from 0 level */
+
+ m38b(0, lpC0, 1, 0)
+
+
+ /*
+ * Exception is expected on each Release there.
+ *
+ * Break the sequence of Acquiring mutexes while Releasing them,
+ * jump over the level.
+ * Run Releasing mutexes NOT from (lpC0-1) level which whould be
+ * correct but from (lpC0-2) level down to 0 level so jumping over
+ * the mutex of (lpC0-1) level which is Acquired which should cause
+ * each of these Releases to generate AE_AML_MUTEX_ORDER exception.
+ */
+ Subtract(lpC0, 2, Local0)
+ Subtract(lpC0, 1, Local1)
+ if (m38c(Local0, Local1, 1, 64)) { // AE_AML_MUTEX_ORDER
+ /*
+ * Break for the first bunch of errors encountered,
+ * dont waste log.
+ */
+ Store(1, br00)
+ }
+
+
+ /*
+ * Correct sequence of Releases.
+ * Release lpC0 levels from (lpC0-1) down to 0 level.
+ */
+
+ if (br00) {
+ m36f(hlmx, 0, 0, 0)
+ m388(hlmx, 0, 0)
+ }
+ Subtract(lpC0, 1, Local0)
+ m38c(Local0, lpC0, 1, 0)
+
+ if (br00) {
+ break
+ }
+
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+
+ CH03("m38a", z150, 0x000, 0, 0)
+}
+
+/*
+ * Manager for m38d.
+ *
+ * arg0 - the value of flag of GL
+ * arg1 - order of Releasing bitmap (see m089)
+ */
+Method(m08c, 2)
+{
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+
+ /*
+ * arg0 - Level of mutex
+ * arg1 - the value of flag of GL
+ * arg2 - order of Releasing bitmap (see m089)
+ */
+ Method(m000, 3)
+ {
+ /* Set up the value of flag of Global lock */
+ Store(m078(arg1), Local7)
+
+ /*
+ * min0 - number of mutexes existent for each level
+ *
+ * Acquire mutexes of level arg0
+ * in the order from 0 index up
+ * to (min0-1) one, then Release
+ * them in the order specified
+ * by arg2.
+ */
+ m088(arg0, 1, 0, min0, 0, 0, 0) // Acquire
+ m089(arg0, 1, 0, min0, 0, 0, arg2) // Release
+
+ /* Restore the value of flag of Global lock */
+ m078(Local7)
+ }
+
+ /* For each level */
+ Store(max0, lpN0)
+ Store(0, lpC0)
+
+ While (lpN0) {
+ m000(lpC0, arg0, arg1)
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+
+}
+
+/*
+ * Check up that the Releasing of the same level mutexes
+ * can be performed in an arbitrary order, independently
+ * on the order they were Acquired.
+ *
+ * For each level separately, one by one.
+ */
+Method(m38d)
+{
+ m08c(0, 0x0000) // direct order of Releasing, Mutex(0,1) is usual mutex
+ m08c(0, 0x0001) // inverse order of Releasing, Mutex(0,1) is usual mutex
+ m08c(1, 0x0000) // direct order of Releasing, Mutex(0,1) is GL
+ m08c(1, 0x0001) // inverse order of Releasing, Mutex(0,1) is GL
+
+ /* Check that all mutexes are Released */
+ m08a()
+}
+
+/*
+ * Check up that the Releasing of the same level mutexes
+ * can be performed in an arbitrary order, independently
+ * on the order they were Acquired.
+ *
+ * Cross through all the levels.
+ *
+ * arg0 - order of Releasing bitmap (see m089)
+ */
+Method(m07d, 1)
+{
+ m088(0, max0, 0, min0, 0, 0, 0) // Acquire all mutexes on all levels
+ m089(0, max0, 0, min0, 0, 0, arg0) // Release all mutexes on all levels
+}
+
+/*
+ * ACPI allows multiply own the same mutex
+ *
+ * arg0 - the value of flag of GL
+ */
+Method(m07a, 1)
+{
+ m079(10, arg0)
+}
+
+/*
+ * Multiply owning the same ACPI mutex.
+ * Acquire the same mutex arg2 times, then Release it (arg2+1) times,
+ * expect exception on the last Release.
+ * The repeated Acquire are made with TimeoutValue equal to zero.
+ *
+ * arg0 - how many times to Acquire it
+ * arg1 - the value of flag of GL
+ */
+Method(m079, 2)
+{
+ Name(ts, "m079")
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+ Name(lpN1, 0)
+ Name(lpC1, 0)
+ Name(tout, 0)
+ Name(ix00, 1)
+
+ /* Set up the value of flag of Global lock */
+ Store(m078(arg1), Local7)
+
+ /* Acquire */
+
+ /* levels */
+
+ Store(max0, lpN0)
+ Store(0, lpC0)
+ While (lpN0) {
+ /* repetitions */
+ Store(arg0, lpN1)
+ Store(0, lpC1)
+ While (lpN1) {
+ if (lpC1) {
+ Store(TOV0, tout) // TimeOutValue equal to 0
+ } else {
+ Store(0, tout) // TimeOutValue equal to 0xffff (once for the first Acquire)
+ }
+ m36f(lpC0, ix00, 0, tout)
+ Decrement(lpN1)
+ Increment(lpC1)
+ }
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+
+ /* Release */
+
+ CH03(ts, z150, 0x000, 0, 0)
+
+ Store(max0, lpN0)
+ Subtract(max0, 1, lpC0)
+ While (lpN0) {
+ /* repetitions */
+ Store(arg0, lpN1)
+ Store(0, lpC1)
+ While (lpN1) {
+ m388(lpC0, ix00, 0)
+ Decrement(lpN1)
+ Increment(lpC1)
+ }
+ Decrement(lpN0)
+ Decrement(lpC0)
+ }
+
+ /* The 'owning counters' are exhausted, so exceptions are expected */
+
+ Store(max0, lpN0)
+ Subtract(max0, 1, lpC0)
+ While (lpN0) {
+ CH03(ts, z150, 0x001, 0, 0)
+ m388(lpC0, ix00, 0)
+ CH04(ts, 0, 65, z150, 0x002, 0, 0) // AE_AML_MUTEX_NOT_ACQUIRED
+ Decrement(lpN0)
+ Decrement(lpC0)
+ }
+
+ /* Restore the value of flag of Global lock */
+ m078(Local7)
+}
+
+
+/*
+ * /////////////////////////////////////////
+ *
+ * The tests below examine different ways
+ * to Acquire/Release mutexes
+ *
+ * /////////////////////////////////////////
+ */
+
+/*
+ * ATTENTION: this test must be run the first
+ *
+ * Different ways to Acquire/Release mutexes
+ *
+ * 1) Acquire and Release operations are in a global level AML code
+ *
+ * See m07c.
+ */
+Method(m0b9)
+{
+ Name(ts, "m0b9")
+
+ /* i101 - non-zero means that the test was run */
+ if (LNot(i101)) {
+ return
+ }
+
+ CH03(ts, z150, 0x000, 0, 0)
+
+ if (i102) {
+ Store("Acquire(T804, 0xffff) failed", Debug)
+ err(ts, z150, 0x001, 0, 0, 0, i102)
+ }
+
+ if (i103) {
+ Store("Acquire(T805, 0xffff) failed", Debug)
+ err(ts, z150, 0x002, 0, 0, 0, i103)
+ }
+}
+
+/*
+ * The same operations as m0b9 (the test for global level AML code)
+ * but enclosed into Method.
+ */
+Method(m0bb)
+{
+ Name(ts, "m0bb")
+
+ CH03(ts, z150, 0x000, 0, 0)
+
+ Method(m137)
+ {
+ Store("m137 started", Debug)
+
+ if (LNot(i102)) {
+ Release(T804)
+ }
+
+ Store("m137 completed", Debug)
+
+ return (1)
+ }
+ Method(m13e)
+ {
+ Store("m13e started", Debug)
+
+ Store(Acquire(T805, 0xffff), i103)
+ if (i103) {
+ err(ts, z150, 0x001, 0, 0, 0, i103)
+ }
+
+ Store("m13e completed", Debug)
+
+ return (1)
+ }
+ Method(m13f)
+ {
+ Store("m13f started", Debug)
+
+ if (LNot(i103)) {
+ Release(T805)
+ }
+
+ Store("m13f completed", Debug)
+
+ return (1)
+ }
+
+
+ Name(i102, 1)
+ Name(i103, 1)
+ Name(b11c, Buffer(Add(1, Store(Acquire(T804, 0xffff), i102))){0})
+ Name(b11d, Buffer(m137()){0})
+ Name(b11e, Buffer(m13e()){0})
+ Name(b11f, Buffer(m13f()){0})
+
+ if (i102) {
+ Store("Acquire(T804, 0xffff) failed", Debug)
+ err(ts, z150, 0x002, 0, 0, 0, i102)
+ }
+
+ if (i103) {
+ Store("Acquire(T805, 0xffff) failed", Debug)
+ err(ts, z150, 0x003, 0, 0, 0, i103)
+ }
+
+ CH03(ts, z150, 0x004, 0, 0)
+}
+
+/*
+ * Different ways to Acquire/Release mutexes
+ *
+ * 2) Acquire and Release operations are in the same method
+ * 3) Acquire and Release operations are in different methods
+ *
+ * See m0b9.
+ */
+Method(m07c)
+{
+ Name(ts, "m07c")
+
+ /* Acquire and Release operations are in the same method */
+ Method(m000)
+ {
+ CH03(ts, z150, 0x000, 0, 0)
+
+ /* Acquire all */
+
+ Store(Acquire(\_GL, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 0x000, 0, 0, 0, Local0)
+ }
+
+ Store(Acquire(T000, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 0x000, 0, 0, 0, Local0)
+ }
+
+ Store(Acquire(T100, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 0x000, 0, 0, 0, Local0)
+ }
+
+ Store(Acquire(T200, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 0x000, 0, 0, 0, Local0)
+ }
+
+ Store(Acquire(T300, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 0x000, 0, 0, 0, Local0)
+ }
+
+ Store(Acquire(T400, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 0x000, 0, 0, 0, Local0)
+ }
+
+ Store(Acquire(T500, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 0x000, 0, 0, 0, Local0)
+ }
+
+ Store(Acquire(T600, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 0x000, 0, 0, 0, Local0)
+ }
+
+ Store(Acquire(T700, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 0x000, 0, 0, 0, Local0)
+ }
+
+ Store(Acquire(T800, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 0x000, 0, 0, 0, Local0)
+ }
+
+ Store(Acquire(T900, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 0x000, 0, 0, 0, Local0)
+ }
+
+ Store(Acquire(Ta00, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 0x000, 0, 0, 0, Local0)
+ }
+
+ Store(Acquire(Tb00, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 0x000, 0, 0, 0, Local0)
+ }
+
+ Store(Acquire(Tc00, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 0x000, 0, 0, 0, Local0)
+ }
+
+ Store(Acquire(Td00, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 0x000, 0, 0, 0, Local0)
+ }
+
+ Store(Acquire(Te00, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 0x000, 0, 0, 0, Local0)
+ }
+
+ Store(Acquire(Tf00, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 0x000, 0, 0, 0, Local0)
+ }
+
+ CH03(ts, z150, 0x000, 0, 0)
+
+ /* Release all */
+
+ Release(Tf00)
+ Release(Te00)
+ Release(Td00)
+ Release(Tc00)
+ Release(Tb00)
+ Release(Ta00)
+ Release(T900)
+ Release(T800)
+ Release(T700)
+ Release(T600)
+ Release(T500)
+ Release(T400)
+ Release(T300)
+ Release(T200)
+ Release(T100)
+ Release(T000)
+ Release(\_GL)
+
+ CH03(ts, z150, 0x000, 0, 0)
+ }
+
+ /* Acquire and Release operations are in different methods */
+ Method(m001)
+ {
+ Method(mm00)
+ {
+ CH03(ts, z150, 0x000, 0, 0)
+
+ Store(Acquire(\_GL, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 0x000, 0, 0, 0, Local0)
+ }
+
+ Store(Acquire(T000, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 0x000, 0, 0, 0, Local0)
+ }
+
+ Store(Acquire(T100, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 0x000, 0, 0, 0, Local0)
+ }
+
+ Store(Acquire(T200, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 0x000, 0, 0, 0, Local0)
+ }
+
+ Store(Acquire(T300, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 0x000, 0, 0, 0, Local0)
+ }
+
+ Store(Acquire(T400, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 0x000, 0, 0, 0, Local0)
+ }
+
+ Store(Acquire(T500, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 0x000, 0, 0, 0, Local0)
+ }
+
+ Store(Acquire(T600, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 0x000, 0, 0, 0, Local0)
+ }
+
+ Store(Acquire(T700, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 0x000, 0, 0, 0, Local0)
+ }
+
+ Store(Acquire(T800, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 0x000, 0, 0, 0, Local0)
+ }
+
+ Store(Acquire(T900, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 0x000, 0, 0, 0, Local0)
+ }
+
+ Store(Acquire(Ta00, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 0x000, 0, 0, 0, Local0)
+ }
+
+ Store(Acquire(Tb00, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 0x000, 0, 0, 0, Local0)
+ }
+
+ Store(Acquire(Tc00, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 0x000, 0, 0, 0, Local0)
+ }
+
+ Store(Acquire(Td00, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 0x000, 0, 0, 0, Local0)
+ }
+
+ Store(Acquire(Te00, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 0x000, 0, 0, 0, Local0)
+ }
+
+ Store(Acquire(Tf00, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z150, 0x000, 0, 0, 0, Local0)
+ }
+
+ CH03(ts, z150, 0x000, 0, 0)
+ }
+
+ Method(mm01)
+ {
+ CH03(ts, z150, 0x000, 0, 0)
+
+ Release(Tf00)
+ Release(Te00)
+ Release(Td00)
+ Release(Tc00)
+ Release(Tb00)
+ Release(Ta00)
+ Release(T900)
+ Release(T800)
+ Release(T700)
+ Release(T600)
+ Release(T500)
+ Release(T400)
+ Release(T300)
+ Release(T200)
+ Release(T100)
+ Release(T000)
+ Release(\_GL)
+
+ CH03(ts, z150, 0x000, 0, 0)
+ }
+
+ Method(mm02)
+ {
+ CH03(ts, z150, 0x000, 0, 0)
+ Release(Tf00)
+ CH04(ts, 0, 65, z150, 0x001, 0, 0) // AE_AML_MUTEX_NOT_ACQUIRED
+ CH03(ts, z150, 0x002, 0, 0)
+ Release(Te00)
+ CH04(ts, 0, 65, z150, 0x003, 0, 0) // AE_AML_MUTEX_NOT_ACQUIRED
+ CH03(ts, z150, 0x004, 0, 0)
+ Release(Td00)
+ CH04(ts, 0, 65, z150, 0x005, 0, 0) // AE_AML_MUTEX_NOT_ACQUIRED
+ CH03(ts, z150, 0x006, 0, 0)
+ Release(Tc00)
+ CH04(ts, 0, 65, z150, 0x007, 0, 0) // AE_AML_MUTEX_NOT_ACQUIRED
+ CH03(ts, z150, 0x008, 0, 0)
+ Release(Tb00)
+ CH04(ts, 0, 65, z150, 0x009, 0, 0) // AE_AML_MUTEX_NOT_ACQUIRED
+ CH03(ts, z150, 0x00a, 0, 0)
+ Release(Ta00)
+ CH04(ts, 0, 65, z150, 0x00b, 0, 0) // AE_AML_MUTEX_NOT_ACQUIRED
+ CH03(ts, z150, 0x00c, 0, 0)
+ Release(T900)
+ CH04(ts, 0, 65, z150, 0x00d, 0, 0) // AE_AML_MUTEX_NOT_ACQUIRED
+ CH03(ts, z150, 0x00e, 0, 0)
+ Release(T800)
+ CH04(ts, 0, 65, z150, 0x00f, 0, 0) // AE_AML_MUTEX_NOT_ACQUIRED
+ CH03(ts, z150, 0x010, 0, 0)
+ Release(T700)
+ CH04(ts, 0, 65, z150, 0x011, 0, 0) // AE_AML_MUTEX_NOT_ACQUIRED
+ CH03(ts, z150, 0x012, 0, 0)
+ Release(T600)
+ CH04(ts, 0, 65, z150, 0x013, 0, 0) // AE_AML_MUTEX_NOT_ACQUIRED
+ CH03(ts, z150, 0x014, 0, 0)
+ Release(T500)
+ CH04(ts, 0, 65, z150, 0x015, 0, 0) // AE_AML_MUTEX_NOT_ACQUIRED
+ CH03(ts, z150, 0x016, 0, 0)
+ Release(T400)
+ CH04(ts, 0, 65, z150, 0x017, 0, 0) // AE_AML_MUTEX_NOT_ACQUIRED
+ CH03(ts, z150, 0x018, 0, 0)
+ Release(T300)
+ CH04(ts, 0, 65, z150, 0x019, 0, 0) // AE_AML_MUTEX_NOT_ACQUIRED
+ CH03(ts, z150, 0x01a, 0, 0)
+ Release(T200)
+ CH04(ts, 0, 65, z150, 0x01b, 0, 0) // AE_AML_MUTEX_NOT_ACQUIRED
+ CH03(ts, z150, 0x01c, 0, 0)
+ Release(T100)
+ CH04(ts, 0, 65, z150, 0x01d, 0, 0) // AE_AML_MUTEX_NOT_ACQUIRED
+ CH03(ts, z150, 0x01e, 0, 0)
+ Release(T000)
+ CH04(ts, 0, 65, z150, 0x01f, 0, 0) // AE_AML_MUTEX_NOT_ACQUIRED
+ CH03(ts, z150, 0x020, 0, 0)
+ Release(\_GL)
+ CH04(ts, 0, 65, z150, 0x021, 0, 0) // AE_AML_MUTEX_NOT_ACQUIRED
+ }
+
+ mm00()
+ mm01()
+ mm02()
+ }
+
+ /* Acquire and Release operations are in the same method */
+ m000()
+
+ /* Acquire and Release operations are in different methods */
+ m001()
+}
+
+/*
+ * Acquire/Release operations enclosed in other operations
+ */
+Method(m0ba)
+{
+ Name(ts, "m0ba")
+
+ CH03(ts, z150, 0x000, 0, 0)
+
+ /* Add */
+
+ Add(Acquire(\_GL, 0xffff), 1, Local0)
+ if (LNotEqual(Local0, 1)) {
+ err(ts, z150, 0x001, 0, 0, 0, Local0)
+ }
+
+ Add(Acquire(T500, 0xffff), 1, Local0)
+ if (LNotEqual(Local0, 1)) {
+ err(ts, z150, 0x002, 0, 0, 0, Local0)
+ }
+
+ Release(T500)
+ Release(\_GL)
+
+ /* Subtract */
+
+ Subtract(1, Acquire(\_GL, 0xffff), Local0)
+ if (LNotEqual(Local0, 1)) {
+ err(ts, z150, 0x003, 0, 0, 0, Local0)
+ }
+
+ Subtract(1, Acquire(T500, 0xffff), Local0)
+ if (LNotEqual(Local0, 1)) {
+ err(ts, z150, 0x004, 0, 0, 0, Local0)
+ }
+
+ Release(T500)
+ Release(\_GL)
+
+ /* LEqual */
+
+ if (LNotEqual(Acquire(T500, 0xffff), 0)) {
+ err(ts, z150, 0x004, 0, 0, 0, Local0)
+ }
+ Release(T500)
+
+ if (FL03) {
+ // Check that all mutexes are Released (doesn't check T804..)
+ m08a()
+ }
+}
+
+/*
+ * /////////////////////////////////////////////
+ *
+ * The tests below generate some combinations
+ * of Acquire/Release operations
+ *
+ * /////////////////////////////////////////////
+ */
+
+/*
+ * Get 0 or 1 value pseudo randomly
+ *
+ * arg0 - input Integer
+ */
+Method(m08e)
+{
+ /* To be improved */
+
+ And(cn00, 0x01, Local0)
+
+ Increment(cn00)
+
+ if (LNot(y242)) {
+ /* Always inverse order untill the bug 242 is fixes */
+ Store(0x0001, Local0)
+ }
+
+ return (Local0)
+}
+
+/*
+ * Acquire/Release combination #1
+ */
+Method(m07e)
+{
+ Name(num, 4)
+ Name(rpt0, 0)
+ Name(rpt1, 3)
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+
+
+ /* Set up the value of flag of Global lock */
+ Store(m078(0), Local7)
+
+ Store(num, lpN0)
+ Store(0, lpC0)
+ While (lpN0) {
+
+ /* Set up the value of flag of Global lock */
+ Divide(lpC0, 2, Local0)
+ m078(Local0)
+
+ if (Local0) {
+ Store(rpt1, rpt0)
+ } else {
+ Store(1, rpt0)
+ }
+
+ m088( 0, 3, 0, 4, 0, rpt0, 0) // Step 0, Acquire
+ m088( 3, 3, 1, 2, 0, rpt0, 0) // Step 1, Acquire
+ m089( 4, 2, 1, 2, 0, rpt0, m08e()) // Step 1, Release
+ m088( 5, 3, 0, 4, 0, rpt0, 0) // Step 2, Acquire
+ m089( 7, 1, 1, 3, 0, rpt0, m08e()) // Step 2, Release
+ m089( 7, 1, 0, 1, 0, rpt0, m08e()) // Step 2, Release
+ m089( 6, 1, 0, 4, 0, rpt0, m08e()) // Step 2, Release
+ m088( 9, 2, 2, 2, 0, rpt0, 0) // Step 3, Acquire
+ m089(10, 1, 3, 1, 0, rpt0, m08e()) // Step 3, Release
+ m089(10, 1, 2, 1, 0, rpt0, m08e()) // Step 3, Release
+ m089( 9, 1, 3, 1, 0, rpt0, m08e()) // Step 3, Release
+ m088(10, 2, 0, 3, 0, rpt0, 0) // Step 4, Acquire
+ m089(10, 2, 0, 3, 0, rpt0, m08e()) // Step 4, Release
+ m088(10, 2, 0, 3, 0, rpt0, 0) // Step 5, Acquire
+ m089(10, 2, 0, 3, 0, rpt0, m08e()) // Step 5, Release
+ m088(12, 2, 0, 3, 0, rpt0, 0) // Step 6, Acquire
+ m089(12, 2, 0, 3, 0, rpt0, m08e()) // Step 6, Release
+ m088(10, 6, 0, 4, 0, rpt0, 0) // Step 7, Acquire
+ m089(10, 6, 0, 4, 0, rpt0, m08e()) // Step 7, Release
+ m088(12, 2, 0, 3, 0, rpt0, 0) // Step 8, Acquire
+ m089(12, 2, 0, 3, 0, rpt0, m08e()) // Step 8, Release
+ m089( 9, 1, 2, 1, 0, rpt0, m08e()) // Step 3, Release
+ m089( 5, 1, 0, 4, 0, rpt0, m08e()) // Step 2, Release
+ m089( 3, 1, 1, 2, 0, rpt0, m08e()) // Step 1, Release
+ m089( 1, 2, 0, 4, 0, rpt0, m08e()) // Step 0, Release
+ m088( 1, 15, 1, 2, 0, rpt0, 0) // Step 9, Acquire
+ m089( 1, 15, 1, 2, 0, rpt0, m08e()) // Step 9, Release
+ m089( 0, 1, 1, 1, 0, rpt0, m08e()) // Step 0, Release
+ m089( 0, 1, 3, 1, 0, rpt0, m08e()) // Step 0, Release
+ m089( 0, 1, 2, 1, 0, rpt0, m08e()) // Step 0, Release
+ m089( 0, 1, 0, 1, 0, rpt0, m08e()) // Step 0, Release
+ m088( 0, 16, 1, 2, 0, rpt0, 0) // Step 10, Acquire
+ m089( 0, 16, 1, 2, 0, rpt0, m08e()) // Step 10, Release
+
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+
+ /* Restore the value of flag of Global lock */
+ m078(Local7)
+
+ if (FL03) {
+ // Check that all mutexes are Released
+ m08a()
+ }
+}
+
+/*
+ * ///////////////////////////////////////////////////
+ *
+ * The tests below check behaviour after exceptions
+ *
+ * ///////////////////////////////////////////////////
+ */
+
+/*
+ * Check the life after AE_AML_MUTEX_ORDER exception on Acquire
+ *
+ * 1) Acquire N-th level mutex MUX-N
+ * 2) run Acquire (N-2)-th level mutex MUX-(N-2) and get AE_AML_MUTEX_ORDER exception
+ * 3) run Acquire (N-1)-th level mutex MUX-(N-1) and get AE_AML_MUTEX_ORDER exception
+ * 4) Acquire mutex MUX-N and check that no exception on this operation
+ * 5) Release mutex MUX-N and check that no exception on this operation
+ * 6) Release mutex MUX-N and check that no exception on this operation
+ * 7) do 1-6 for all N in range 2-15 levels
+ * 8) check additionally that all the mutexes are free (run Release and
+ * get AE_AML_MUTEX_NOT_ACQUIRED exception for all the mutexes of all levels)
+ * 9) Acquire all mutexes of all levels and check that no exceptions
+ * 10) Release all mutexes of all levels and check that no exceptions
+ * 11) check additionally that all the mutexes are free (see 8)
+ *
+ * 12) do it for GL mode too
+ * 13) do additional Acquire of MUX-(N-2) and MUX-(N-1) before Acquire of MUX-N (Release them later)
+ *
+ * arg0 - the value of flag of GL
+ * arg1 - if non-zero do additional Acquire of MUX-(N-2) and MUX-(N-1) before Acquire of MUX-N
+ */
+Method(m08b, 2)
+{
+ Name(rpt0, 1)
+ Name(ord0, 0x0001)
+
+ Name(lpN0, 0) // level
+ Name(lpC0, 0)
+
+ /* Set up the value of flag of Global lock */
+ Store(m078(arg0), Local7)
+
+ Subtract(max0, 2, lpN0)
+ Store(2, lpC0)
+ While (lpN0) {
+
+ Subtract(lpC0, 1, Local0)
+ Subtract(lpC0, 2, Local1)
+
+ if (arg1) {
+ m088( Local1, 1, 0, 4, 0, rpt0, 0) // Step -2, Acquire
+ m088( Local0, 1, 0, 4, 0, rpt0, 0) // Step -1, Acquire
+ }
+
+ m088( lpC0, 1, 0, 1, 0, rpt0, 0) // Step 0, Acquire
+ m088( Local1, 1, 0, 4, 64, rpt0, 0) // Step 1, Acquire, AE_AML_MUTEX_ORDER
+ m088( Local0, 1, 0, 4, 64, rpt0, 0) // Step 2, Acquire, AE_AML_MUTEX_ORDER
+ m088( lpC0, 1, 0, 4, 0, rpt0, 0) // Step 3, Acquire
+ m089( lpC0, 1, 0, 4, 0, rpt0, ord0) // Step 3, Release
+ m089( lpC0, 1, 0, 1, 0, rpt0, ord0) // Step 0, Release
+
+ if (arg1) {
+ m089( Local0, 1, 0, 4, 0, rpt0, ord0) // Step -1, Release
+ m089( Local1, 1, 0, 4, 0, rpt0, ord0) // Step -2, Release
+ }
+
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+
+ // Check that all mutexes are Released
+ m08a()
+
+ m088( 0, max0, 0, min0, 0, rpt0, 0) // Step 4, Acquire
+ m089( 0, max0, 0, min0, 0, rpt0, ord0) // Step 4, Release
+
+ // Check that all mutexes are Released
+ m08a()
+
+ /* Restore the value of flag of Global lock */
+ m078(Local7)
+}
+
+/*
+ * Check the life after AE_AML_MUTEX_ORDER exception on Release
+ *
+ * 1) Acquire (N-1)-th level mutex MUX-(N-1)
+ * 2) Acquire (N)-th level mutex MUX-N
+ * 3) run Release (N-1)-th level mutex MUX-(N-1) and get AE_AML_MUTEX_ORDER exception
+ * 4) Release (N)-th level mutex MUX-N and check that no exception on this operation
+ * 5) Release (N-1)-th level mutex MUX-(N-1) and check that no exception on this operation
+ * 6) do 1-5 for all N in range 1-15 levels
+ * 7) check additionally that all the mutexes are free (run Release and
+ * get AE_AML_MUTEX_NOT_ACQUIRED exception for all the mutexes of all levels)
+ * 8) Acquire all mutexes of all levels and check that no exceptions
+ * 9) Release all mutexes of all levels and check that no exceptions
+ * 10) check additionally that all the mutexes are free (see 7)
+ *
+ * 11) do it for GL mode too
+ *
+ * arg0 - the value of flag of GL
+ */
+Method(m08d, 1)
+{
+ Name(rpt0, 1)
+ Name(ord0, 0x0001)
+
+ Name(lpN0, 0) // level
+ Name(lpC0, 0)
+
+ /* Set up the value of flag of Global lock */
+ Store(m078(arg0), Local7)
+
+ Subtract(max0, 1, lpN0)
+ Store(1, lpC0)
+ While (lpN0) {
+
+ Subtract(lpC0, 1, Local0)
+
+
+ m088( Local0, 1, 0, min0, 0, rpt0, 0) // Step 0, Acquire
+ m088( lpC0, 1, 0, min0, 0, rpt0, 0) // Step 1, Acquire
+
+ /* Jump over the level */
+ m089( Local0, 1, 0, min0, 64, rpt0, ord0) // Step 2, Release, AE_AML_MUTEX_ORDER
+
+ m089( lpC0, 1, 0, min0, 0, rpt0, ord0) // Step 1, Release
+ m089( Local0, 1, 0, min0, 0, rpt0, ord0) // Step 0, Release
+
+
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+
+ // Check that all mutexes are Released
+ m08a()
+
+ m088( 0, max0, 0, min0, 0, rpt0, 0) // Step 3, Acquire
+ m089( 0, max0, 0, min0, 0, rpt0, ord0) // Step 3, Release
+
+ // Check that all mutexes are Released
+ m08a()
+
+ /* Restore the value of flag of Global lock */
+ m078(Local7)
+}
+
+/*
+ * Check the life after AE_AML_MUTEX_ORDER exception on Release
+ *
+ * Similar to the m08d but trying to heal situation by
+ * Acquiring/Release operations applied to the greater
+ * level so changing the current level upper than all the
+ * currently Acquired levels so don't expect exceptions on
+ * the following Release operations applied in the correct
+ * inverse order to all the Acquired mutexes.
+ *
+ * (for the current 20060828 ACPICA this doesn't help).
+ */
+Method(m07f)
+{
+ Name(rpt0, 1)
+ Name(ord0, 0x0001)
+
+ Name(lpN0, 0) // level
+ Name(lpC0, 0)
+
+ Subtract(max0, 2, lpN0)
+ Store(1, lpC0)
+ While (lpN0) {
+
+ Subtract(lpC0, 1, Local0)
+ Add(lpC0, 1, Local1)
+
+
+ m088( Local0, 1, 0, min0, 0, rpt0, 0) // Step 0, Acquire
+ m088( lpC0, 1, 0, min0, 0, rpt0, 0) // Step 1, Acquire
+
+ /* Jump over the level on Releasing */
+ m089( Local0, 1, 0, min0, 64, rpt0, ord0) // Step 2, Release, AE_AML_MUTEX_ORDER
+
+ /*
+ * Additional attempt is made to restore the normal calculation -
+ * Acquire the mutex M0 of level greater than all the levels
+ * touched at that moment so changing the current level by the
+ * succeeded operation. Then do Release operations for all
+ * the Acquired mutexes in the correct inverse order starting
+ * with the M0 mutex expecting no exceptions on them.
+ *
+ * (for the current 20060828 ACPICA this doesn't help).
+ */
+ m088( lpC0, 1, 0, 1, 0, rpt0, 0) // Step 3, Acquire
+ m088( Local1, 1, 0, 1, 0, rpt0, 0) // Step 4, Acquire
+ m088( lpC0, 1, 0, 1, 64, rpt0, 0) // Step 5, Acquire, AE_AML_MUTEX_ORDER
+ m089( Local1, 1, 0, 1, 0, rpt0, ord0) // Step 4, Release
+ m089( lpC0, 1, 0, 1, 0, rpt0, ord0) // Step 3, Release
+
+ m089( lpC0, 1, 0, min0, 0, rpt0, ord0) // Step 1, Release
+ m089( Local0, 1, 0, min0, 0, rpt0, ord0) // Step 0, Release
+
+
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+
+ // Check that all mutexes are Released
+ m08a()
+
+ m088( 0, max0, 0, min0, 0, rpt0, 0) // Step 6, Acquire
+ m089( 0, max0, 0, min0, 0, rpt0, ord0) // Step 6, Release
+
+ // Check that all mutexes are Released
+ m08a()
+}
+
+// ############################################### Run-method:
+
+Method(m300)
+{
+ if (FL03) {
+ // Check that all mutexes are Released (doesn't check T804..)
+ m08a()
+ }
+
+ SRMT("m300")
+ if (ERR7) {
+ err("ERRORS were detected during the loading stage", z150, 0x200, 0, 0, 0, ERR7)
+ }
+
+ /* ATTENTION: this test must be run the first */
+ SRMT("m0b9")
+ m0b9()
+
+
+ SRMT("m0bb")
+ m0bb()
+
+ SRMT("m301")
+ m301()
+
+ SRMT("m369-0")
+ m369(0)
+ SRMT("m369-1")
+ if (y297) {
+ m369(1)
+ } else {
+ BLCK()
+ }
+ SRMT("m369-0")
+ m369(0)
+
+ SRMT("m36a")
+ m36a()
+
+ SRMT("m36b")
+ m36b()
+
+ SRMT("m36c")
+ m36c()
+
+ SRMT("m389")
+ m389()
+
+ SRMT("m07b")
+ m07b()
+
+ SRMT("m38a")
+ if (y238) {
+ m38a()
+ } else {
+ BLCK()
+ }
+
+ SRMT("m38d")
+ if (y242) {
+ m38d()
+ } else {
+ BLCK()
+ }
+
+ SRMT("m07d-direct")
+ if (y242) {
+ m07d(0x0000)
+ } else {
+ BLCK()
+ }
+
+ SRMT("m07d-inverse")
+ m07d(0x0001)
+
+ SRMT("m07a-no-GL")
+ m07a(0)
+
+ SRMT("m07a-GL")
+ m07a(1)
+
+ SRMT("m07e")
+ m07e()
+
+ SRMT("m08b-no-GL-0")
+ m08b(0, 0)
+
+ SRMT("m08b-no-GL-1")
+ m08b(0, 1)
+
+ SRMT("m08b-GL-0")
+ m08b(1, 0)
+
+ SRMT("m08b-GL-1")
+ m08b(1, 1)
+
+ SRMT("m08d-no-GL")
+ if (y238) {
+ m08d(0)
+ } else {
+ BLCK()
+ }
+
+ SRMT("m08d-GL")
+ if (y238) {
+ m08d(1)
+ } else {
+ BLCK()
+ }
+
+ SRMT("m07f")
+ if (y243) {
+ m07f()
+ } else {
+ BLCK()
+ }
+
+ SRMT("m07c")
+ m07c()
+
+ SRMT("m0ba")
+ m0ba()
+
+ /*
+ * To see if the mutex-es framework can continue working after AE_LIMIT.
+ * Now, after AE_LIMIT, it looks can't actually restore -- many messages
+ * during the all further execution of tests, and even the tests
+ * "TEST: WAI0, Wait for Events" somewhere hangs forever:
+ *
+ * **** AcpiExec: Exception AE_LIMIT during execution of method [M369] Opcode [Mutex] @E2
+ * ACPI Exception (utmutex-0376): AE_BAD_PARAMETER, Thread 1475 could not acquire Mutex [0] [20074403]
+ * ACPI Error (exutils-0180): Could not acquire AML Interpreter mutex [20074403]
+ * ACPI Error (utmutex-0421): Mutex [0] is not acquired, cannot release [20074403]
+ * ACPI Error (exutils-0250): Could not release AML Interpreter mutex [20074403]
+ * **** AcpiExec: Exception override, new status AE_OK
+ */
+ SRMT("m369-0")
+ m369(0)
+ SRMT("m369-1")
+ if (y297) {
+ m369(1)
+ } else {
+ BLCK()
+ }
+ SRMT("m369-0")
+ m369(0)
+
+
+ if (FL03) {
+ // Check that all mutexes are Released
+ m08a()
+ }
+
+ CH03("m300", z150, 0x000, 0, 0)
+}
+
+
diff --git a/tests/aslts/src/runtime/collections/functional/synchronization/mutex_proc.asl b/tests/aslts/src/runtime/collections/functional/synchronization/mutex_proc.asl
new file mode 100644
index 000000000..e556fd9b1
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/synchronization/mutex_proc.asl
@@ -0,0 +1,750 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+/*
+ * Auxiliary routines to access mutexes
+ */
+
+Name(z151, 151)
+
+/*
+ * For debugging:
+ *
+ * FL02 - print out Acquire/Release
+ * im00 - imitation of Acquire/Release (don't really run Acquire/Release)
+ */
+Name(FL02, 0)
+Name(im00, 0)
+
+/*
+ * Acquire interval of mutexes
+ *
+ * arg0 - number of mutexes to Acquire (use not less than 1)
+ */
+Method(m36d, 1)
+{
+ Name(ts, "m36d")
+
+ if (LEqual(arg0, 0)) {
+ return
+ }
+ Store(Acquire(T000, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z151, 1, 0, 0, 0, Local0)
+ } else {
+ if (LEqual(arg0, 1)) {
+ return
+ }
+ Store(Acquire(\_GL, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z151, 2, 0, 0, 0, Local0)
+ } else {
+ if (LEqual(arg0, 2)) {
+ return
+ }
+ Store(Acquire(T100, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z151, 3, 0, 0, 0, Local0)
+ } else {
+ if (LEqual(arg0, 3)) {
+ return
+ }
+ Store(Acquire(T200, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z151, 4, 0, 0, 0, Local0)
+ } else {
+ if (LEqual(arg0, 4)) {
+ return
+ }
+ Store(Acquire(T300, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z151, 5, 0, 0, 0, Local0)
+ } else {
+ if (LEqual(arg0, 5)) {
+ return
+ }
+ Store(Acquire(T400, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z151, 6, 0, 0, 0, Local0)
+ } else {
+ if (LEqual(arg0, 6)) {
+ return
+ }
+ Store(Acquire(T500, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z151, 7, 0, 0, 0, Local0)
+ } else {
+ if (LEqual(arg0, 7)) {
+ return
+ }
+ Store(Acquire(T600, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z151, 8, 0, 0, 0, Local0)
+ } else {
+ if (LEqual(arg0, 8)) {
+ return
+ }
+ Store(Acquire(T700, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z151, 9, 0, 0, 0, Local0)
+ } else {
+ if (LEqual(arg0, 9)) {
+ return
+ }
+ Store(Acquire(T800, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z151, 0x00a, 0, 0, 0, Local0)
+ } else {
+ if (LEqual(arg0, 10)) {
+ return
+ }
+ Store(Acquire(T900, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z151, 0x00b, 0, 0, 0, Local0)
+ } else {
+ if (LEqual(arg0, 11)) {
+ return
+ }
+ Store(Acquire(Ta00, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z151, 0x00c, 0, 0, 0, Local0)
+ } else {
+ if (LEqual(arg0, 12)) {
+ return
+ }
+ Store(Acquire(Tb00, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z151, 0x00d, 0, 0, 0, Local0)
+ } else {
+ if (LEqual(arg0, 13)) {
+ return
+ }
+ Store(Acquire(Tc00, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z151, 0x00e, 0, 0, 0, Local0)
+ } else {
+ if (LEqual(arg0, 14)) {
+ return
+ }
+ Store(Acquire(Td00, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z151, 0x00f, 0, 0, 0, Local0)
+ } else {
+ if (LEqual(arg0, 15)) {
+ return
+ }
+ Store(Acquire(Te00, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z151, 0x010, 0, 0, 0, Local0)
+ } else {
+ if (LEqual(arg0, 16)) {
+ return
+ }
+ Store(Acquire(Tf00, 0xffff), Local0)
+ if (Local0) {
+ err(ts, z151, 0x011, 0, 0, 0, Local0)
+ } else {
+ if (LEqual(arg0, 17)) {
+ return
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
+
+/*
+ * Release interval of mutexes
+ *
+ * arg0 - number of mutexes to Release (use not less than 1)
+ */
+Method(m36e, 1)
+{
+ if (LGreaterEqual(arg0, 17)) {
+ Release(Tf00)
+ }
+ if (LGreaterEqual(arg0, 16)) {
+ Release(Te00)
+ }
+ if (LGreaterEqual(arg0, 15)) {
+ Release(Td00)
+ }
+ if (LGreaterEqual(arg0, 14)) {
+ Release(Tc00)
+ }
+ if (LGreaterEqual(arg0, 13)) {
+ Release(Tb00)
+ }
+ if (LGreaterEqual(arg0, 12)) {
+ Release(Ta00)
+ }
+ if (LGreaterEqual(arg0, 11)) {
+ Release(T900)
+ }
+ if (LGreaterEqual(arg0, 10)) {
+ Release(T800)
+ }
+ if (LGreaterEqual(arg0, 9)) {
+ Release(T700)
+ }
+ if (LGreaterEqual(arg0, 8)) {
+ Release(T600)
+ }
+ if (LGreaterEqual(arg0, 7)) {
+ Release(T500)
+ }
+ if (LGreaterEqual(arg0, 6)) {
+ Release(T400)
+ }
+ if (LGreaterEqual(arg0, 5)) {
+ Release(T300)
+ }
+ if (LGreaterEqual(arg0, 4)) {
+ Release(T200)
+ }
+ if (LGreaterEqual(arg0, 3)) {
+ Release(T100)
+ }
+ if (LGreaterEqual(arg0, 2)) {
+ Release(\_GL)
+ }
+ if (LGreaterEqual(arg0, 1)) {
+ Release(T000)
+ }
+}
+
+/*
+ * Acquire mutex
+ *
+ * arg0 - Level of mutex
+ * arg1 - Index of mutex
+ * arg2 - opcode of exception to be generated or zero
+ * arg3 - opcode of TimeOutValue (see comment to ma00)
+ */
+Method(m36f, 4)
+{
+ Store(1, Local0) // Init with FAIL
+
+ if (FL02) {
+ Store(m21e("Acquire mutex, ", arg0, arg1), Local1)
+
+ if (im00) {
+ Concatenate("IMITATION: ", Local1, Local1)
+ }
+
+ if (arg2) {
+ Concatenate(Local1, ", Exception expected", Local1)
+ } else {
+ Switch (arg3) {
+ Case (5) { // TOV0
+ Concatenate(Local1, ", tout 0", Local1)
+ }
+ Case (6) { // TOV1
+ Concatenate(Local1, ", tout 1", Local1)
+ }
+ Default {
+ Concatenate(Local1, ", tout 0xffff", Local1)
+ }
+ }
+ }
+ Store(Local1, Debug)
+ }
+
+ if (im00) {
+ /* Just imitation */
+ return (0)
+ }
+
+ Switch (arg0) {
+ Case (0) {
+ Store(ma00(arg1, arg2, arg3), Local0)
+ }
+ Case (1) {
+ Store(ma01(arg1, arg2, arg3), Local0)
+ }
+ Case (2) {
+ Store(ma02(arg1, arg2, arg3), Local0)
+ }
+ Case (3) {
+ Store(ma03(arg1, arg2, arg3), Local0)
+ }
+ Case (4) {
+ Store(ma04(arg1, arg2, arg3), Local0)
+ }
+ Case (5) {
+ Store(ma05(arg1, arg2, arg3), Local0)
+ }
+ Case (6) {
+ Store(ma06(arg1, arg2, arg3), Local0)
+ }
+ Case (7) {
+ Store(ma07(arg1, arg2, arg3), Local0)
+ }
+ Case (8) {
+ Store(ma08(arg1, arg2, arg3), Local0)
+ }
+ Case (9) {
+ Store(ma09(arg1, arg2, arg3), Local0)
+ }
+ Case (10) {
+ Store(ma0a(arg1, arg2, arg3), Local0)
+ }
+ Case (11) {
+ Store(ma0b(arg1, arg2, arg3), Local0)
+ }
+ Case (12) {
+ Store(ma0c(arg1, arg2, arg3), Local0)
+ }
+ Case (13) {
+ Store(ma0d(arg1, arg2, arg3), Local0)
+ }
+ Case (14) {
+ Store(ma0e(arg1, arg2, arg3), Local0)
+ }
+ Case (15) {
+ Store(ma0f(arg1, arg2, arg3), Local0)
+ }
+ }
+
+ if (LNot(arg2)) {
+ if (Local0) {
+ err("m36f", z151, 0x002, 0, 0, Local0, 0)
+ }
+ }
+
+ return (Local0)
+}
+
+/*
+ * Release mutex
+ *
+ * arg0 - Level of mutex
+ * arg1 - Index of mutex
+ * arg2 - opcode of exception to be generated or zero
+ */
+Method(m388, 3)
+{
+ if (FL02) {
+ Store(m21e("Release mutex, ", arg0, arg1), Local1)
+
+ if (im00) {
+ Concatenate("IMITATION: ", Local1, Local1)
+ }
+
+ if (arg2) {
+ Concatenate(Local1, ", Exception expected", Local1)
+ }
+ Store(Local1, Debug)
+ }
+
+ if (im00) {
+ /* Just imitation */
+ return
+ }
+
+ Switch (arg0) {
+ Case (0) {
+ ma10(arg1)
+ }
+ Case (1) {
+ ma11(arg1)
+ }
+ Case (2) {
+ ma12(arg1)
+ }
+ Case (3) {
+ ma13(arg1)
+ }
+ Case (4) {
+ ma14(arg1)
+ }
+ Case (5) {
+ ma15(arg1)
+ }
+ Case (6) {
+ ma16(arg1)
+ }
+ Case (7) {
+ ma17(arg1)
+ }
+ Case (8) {
+ ma18(arg1)
+ }
+ Case (9) {
+ ma19(arg1)
+ }
+ Case (10) {
+ ma1a(arg1)
+ }
+ Case (11) {
+ ma1b(arg1)
+ }
+ Case (12) {
+ ma1c(arg1)
+ }
+ Case (13) {
+ ma1d(arg1)
+ }
+ Case (14) {
+ ma1e(arg1)
+ }
+ Case (15) {
+ ma1f(arg1)
+ }
+ }
+}
+
+/*
+ * Acquire the range of mutexes from lower to upper levels (index 0)
+ * arg0 - start level of mutex
+ * arg1 - number of levels
+ * arg2 - if non-zero - Axquire GL too
+ * arg3 - non-zero means that we generate exceptional
+ * condition on each Acquire. The non-zero value
+ * means the opcode of exception.
+ */
+Method(m38b, 4)
+{
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+
+ if (arg2) {
+ if (arg3) {
+ CH03("m38b", z151, 0x000, 0, 0)
+ }
+ m36f(GLLL, GLIX, arg3, 0) // Acquire GL
+ if (arg3) {
+ CH04("m38b", 0, arg3, z151, 0x001, 0, 0)
+ }
+ }
+
+ Store(arg1, lpN0)
+ Store(arg0, lpC0)
+ While (lpN0) {
+
+ if (arg3) {
+ CH03("m38b", z151, 0x000, 0, 0)
+ }
+ m36f(lpC0, 0, arg3, 0) // Acquire
+ if (arg3) {
+ CH04("m38b", 0, arg3, z151, 0x001, 0, 0)
+ }
+
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+}
+
+/*
+ * Release the range of mutexes from upper to lower levels (index 0)
+ * arg0 - start level of mutex
+ * arg1 - number of levels
+ * arg2 - if non-zero - Release GL too
+ * arg3 - non-zero means that we generate exceptional
+ * condition on each Acquire. The non-zero value
+ * means the opcode of exception.
+ */
+Method(m38c, 4)
+{
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+
+ Store(0, Local7)
+
+ Store(arg1, lpN0)
+ Store(arg0, lpC0)
+ While (lpN0) {
+
+ if (arg3) {
+ Store(LOr(CH03("m38b", z151, 0x000, 0, 0), Local7), Local7)
+ }
+ m388(lpC0, 0, 0) // Release
+ if (arg3) {
+ Store(LOr(CH04("m38b", 0, arg3, z151, 0x001, 0, 0), Local7), Local7)
+ }
+
+ Decrement(lpN0)
+ Decrement(lpC0)
+ }
+
+ if (arg2) {
+ if (arg3) {
+ Store(LOr(CH03("m38b", z151, 0x000, 0, 0), Local7), Local7)
+ }
+ m388(GLLL, GLIX, 0) // Release GL
+ if (arg3) {
+ Store(LOr(CH04("m38b", 0, arg3, z151, 0x001, 0, 0), Local7), Local7)
+ }
+ }
+
+ return (Local7)
+}
+
+/*
+ * Acquire the range of mutexes
+ *
+ * arg0 - start level of mutex
+ * arg1 - number of levels
+ * arg2 - start index of mutex on level
+ * arg3 - number of mutexes on the same level
+ * arg4 - opcode of exception to be generated or zero
+ * arg5 - repetition number
+ * arg6 - opcode of TimeOutValue (see comment to ma00)
+ */
+Method(m088, 7)
+{
+ Name(lpN0, 0) // level
+ Name(lpC0, 0)
+ Name(lpN1, 0) // index
+ Name(lpC1, 0)
+ Name(lpN2, 0) // repetition
+ Name(lpC2, 0)
+ Name(rpt0, 1)
+
+ Name(exc0, 0) // exception is expected - opcode to pass to (m36f & CH04)
+ Name(exc1, 0) // exception is expected - run (CH03 & CH04)
+
+ Store(arg4, exc0)
+ if (im00) {
+ Store(0, exc1)
+ } elseif (arg4) {
+ Store(arg4, exc1)
+ }
+
+ if (arg5) {
+ Store(arg5, rpt0)
+ }
+
+ Store(arg1, lpN0)
+ Store(arg0, lpC0)
+ While (lpN0) {
+ Store(arg3, lpN1)
+ Store(arg2, lpC1)
+ While (lpN1) {
+ Store(rpt0, lpN2)
+ Store(0, lpC2)
+ While (lpN2) {
+ if (exc1) {
+ CH03("m088", z151, 0x000, 0, 0)
+ }
+ m36f(lpC0, lpC1, exc0, arg6) // Acquire
+ if (exc1) {
+ CH04("m088", 0, exc0, z151, 0x001, 0, 0)
+ }
+ Decrement(lpN2)
+ Increment(lpC2)
+ }
+ Decrement(lpN1)
+ Increment(lpC1)
+ }
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+}
+
+/*
+ * Release the range of mutexes
+ *
+ * arg0 - start level of mutex
+ * arg1 - number of levels
+ * arg2 - start index of mutex on level
+ * arg3 - number of mutexes on the same level
+ * arg4 - opcode of exception to be generated or zero
+ * arg5 - repetition number
+ *
+ * arg6 - order of Releasing bitmap,
+ * determinates the order of Releasing mutexes of the same level:
+ * [0] - 0 - derect order
+ * 1 - inverse order
+ * [1] - 0 - don't replace the last index
+ * 1 - replace the last index
+ * [15:8] - the index of mutex to be the last in case of non-zero [1]
+ *
+ * Note: the bit [1] technique was added while investigating the anomaly
+ * reflected by bug 242 "Releasing the mutex the first Acquired on
+ * the non-zero level makes Releasing the residuary mutexes of that
+ * level impossible".
+ *
+ * Examples:
+ *
+ * Acquired on the same level are mutexes of 0,1,2,3 indexes
+ * Releasing for arg6 equal to:
+ * 0x00 - 0123 (direct - the same order the mutexes were Acquired)
+ * 01 - 3210 (inverse to Acquiring)
+ * 22 - 0132 (direct + replace the last index, it becomes index 2)
+ * 23 - 3102 (inverse + replace the last index, it becomes index 2)
+ */
+Method(m089, 7)
+{
+ Name(lpN0, 0) // level
+ Name(lpC0, 0)
+ Name(lpN1, 0) // index
+ Name(lpC1, 0)
+ Name(lpN2, 0) // repetition
+ Name(lpC2, 0)
+ Name(rpt0, 1)
+
+ Name(bg00, 0)
+ Name(en00, 0)
+
+ Name(inv0, 0) // sign of the inverse order
+ Name(rpl0, 0) // to do replacing
+ Name(lix0, 0) // value to be the last index
+
+ Name(exc0, 0) // exception is expected - opcode to pass to (m36f & CH04)
+ Name(exc1, 0) // exception is expected - run (CH03 & CH04)
+
+ Store(arg4, exc0)
+ if (im00) {
+ Store(0, exc1)
+ } elseif (arg4) {
+ Store(arg4, exc1)
+ }
+
+ if (arg5) {
+ Store(arg5, rpt0)
+ }
+
+ And(arg6, 0x01, inv0)
+ And(arg6, 0x02, rpl0)
+ And(arg6, 0xff00, lix0)
+ ShiftRight(lix0, 8, lix0)
+
+ Store(arg2, bg00)
+ Add(arg2, arg3, en00)
+ Decrement(en00)
+
+ /* Inverse order of levels */
+
+ Store(arg1, lpN0)
+ Add(arg0, arg1, lpC0)
+ Decrement(lpC0)
+ While (lpN0) {
+
+ if (inv0) {
+
+ /* inverse order */
+
+ Store(arg3, lpN1)
+ Add(arg2, arg3, lpC1)
+ Decrement(lpC1)
+ While (lpN1) {
+
+ Store(lpC1, Local0)
+ if (rpl0) {
+ if (LEqual(lpN1, 1)) {
+ Store(lix0, Local0)
+ } elseif (LLessEqual(lpC1, lix0)) {
+ Subtract(lpC1, 1, Local0)
+ }
+ }
+
+ Store(rpt0, lpN2)
+ Store(0, lpC2)
+ While (lpN2) {
+
+ if (exc1) {
+ CH03("m088", z151, 0x000, 0, 0)
+ }
+ m388(lpC0, Local0, exc0) // Release
+ if (exc1) {
+ CH04("m088", 0, exc0, z151, 0x001, 0, 0)
+ }
+
+ Decrement(lpN2)
+ Increment(lpC2)
+ }
+
+ Decrement(lpN1)
+ Decrement(lpC1)
+ }
+ } else {
+
+ /* direct order */
+
+ Store(arg3, lpN1)
+ Store(arg2, lpC1)
+ While (lpN1) {
+
+ Store(lpC1, Local0)
+ if (rpl0) {
+ if (LEqual(lpN1, 1)) {
+ Store(lix0, Local0)
+ } elseif (LGreaterEqual(lpC1, lix0)) {
+ Add(lpC1, 1, Local0)
+ }
+ }
+
+ Store(rpt0, lpN2)
+ Store(0, lpC2)
+ While (lpN2) {
+
+ if (exc1) {
+ CH03("m088", z151, 0x000, 0, 0)
+ }
+ m388(lpC0, Local0, exc0) // Release
+ if (exc1) {
+ CH04("m088", 0, exc0, z151, 0x001, 0, 0)
+ }
+
+ Decrement(lpN2)
+ Increment(lpC2)
+ }
+
+ Decrement(lpN1)
+ Increment(lpC1)
+ }
+ }
+
+ Decrement(lpN0)
+ Decrement(lpC0)
+ }
+}
+
+/*
+ * Check that all mutexes are Released (don't check T804..)
+ */
+Method(m08a)
+{
+ m089(0, max0, 0, min0, 65, 0, 0) // AE_AML_MUTEX_NOT_ACQUIRED
+}
+
diff --git a/tests/aslts/src/runtime/collections/functional/synchronization/serialized.asl b/tests/aslts/src/runtime/collections/functional/synchronization/serialized.asl
new file mode 100644
index 000000000..2a0492072
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/synchronization/serialized.asl
@@ -0,0 +1,1323 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+/*
+ * Check for serialized methods
+ */
+
+Name(z173, 173)
+
+/*
+ * Proper sequence of calls to Serialized methods with different levels, 0-15, all Serialized
+ */
+Method(m3b0, 0, Serialized, 0)
+{
+ Name(ts, "m3b0")
+ Name(i000, 0)
+
+ Method(m000, 0, Serialized, 0) { Increment(i000) m001() }
+ Method(m001, 0, Serialized, 1) { Increment(i000) m002() }
+ Method(m002, 0, Serialized, 2) { Increment(i000) m003() }
+ Method(m003, 0, Serialized, 3) { Increment(i000) m004() }
+ Method(m004, 0, Serialized, 4) { Increment(i000) m005() }
+ Method(m005, 0, Serialized, 5) { Increment(i000) m006() }
+ Method(m006, 0, Serialized, 6) { Increment(i000) m007() }
+ Method(m007, 0, Serialized, 7) { Increment(i000) m008() }
+ Method(m008, 0, Serialized, 8) { Increment(i000) m009() }
+ Method(m009, 0, Serialized, 9) { Increment(i000) m010() }
+ Method(m010, 0, Serialized, 10) { Increment(i000) m011() }
+ Method(m011, 0, Serialized, 11) { Increment(i000) m012() }
+ Method(m012, 0, Serialized, 12) { Increment(i000) m013() }
+ Method(m013, 0, Serialized, 13) { Increment(i000) m014() }
+ Method(m014, 0, Serialized, 14) { Increment(i000) m015() }
+ Method(m015, 0, Serialized, 15) { Increment(i000) m016() }
+ Method(m016, 0, Serialized, 15) {
+ Increment(i000)
+ Store("m016", Debug)
+ if (LNotEqual(i000, 17)) {
+ err(ts, z173, 0x000, 0, 0, i000, 17)
+ }
+ }
+
+ CH03(ts, z173, 0x001, 0, 0)
+ m000()
+ CH03(ts, z173, 0x002, 0, 0)
+}
+
+/*
+ * Proper sequence of calls to Serialized methods with different levels, 0-15,
+ * alternating Serialized and not-Serialized
+ */
+Method(m3b1)
+{
+ Name(ts, "m3b1")
+ Name(i000, 0)
+
+ Method(m000, 0, Serialized, 0) { Increment(i000) m001() }
+ Method(m001 ) { Increment(i000) m002() }
+ Method(m002, 0, Serialized, 2) { Increment(i000) m003() }
+ Method(m003 ) { Increment(i000) m004() }
+ Method(m004 ) { Increment(i000) m005() }
+ Method(m005, 0, Serialized, 5) { Increment(i000) m006() }
+ Method(m006, 0, Serialized, 6) { Increment(i000) m007() }
+ Method(m007 ) { Increment(i000) m008() }
+ Method(m008, 0, Serialized, 8) { Increment(i000) m009() }
+ Method(m009, 0, Serialized, 9) { Increment(i000) m010() }
+ Method(m010 ) { Increment(i000) m011() }
+ Method(m011 ) { Increment(i000) m012() }
+ Method(m012, 0, Serialized, 12) { Increment(i000) m013() }
+ Method(m013, 0, Serialized, 13) { Increment(i000) m014() }
+ Method(m014, 0, Serialized, 14) { Increment(i000) m015() }
+ Method(m015 ) { Increment(i000) m016() }
+ Method(m016, 0, Serialized, 15) {
+ Increment(i000)
+ Store("m016", Debug)
+ if (LNotEqual(i000, 17)) {
+ err(ts, z173, 0x003, 0, 0, i000, 17)
+ }
+ }
+
+ CH03(ts, z173, 0x004, 0, 0)
+ m000()
+ CH03(ts, z173, 0x005, 0, 0)
+}
+
+/*
+ * Proper sequence of calls to Serialized methods with different levels, 0-15, all Serialized,
+ * 1-3 on each level
+ */
+Method(m3b2, 0, Serialized, 0)
+{
+ Name(ts, "m3b2")
+ Name(i000, 0)
+ Name(i001, 0)
+
+ Method(m000, 0, Serialized, 0) { Increment(i000) m100() }
+ Method(m100, 0, Serialized, 0) { Increment(i000) m001() }
+
+ Method(m001, 0, Serialized, 1) { Increment(i000) m002() }
+
+ Method(m002, 0, Serialized, 2) { Increment(i000) m102() }
+ Method(m102, 0, Serialized, 2) { Increment(i000) m003() }
+
+ Method(m003, 0, Serialized, 3) { Increment(i000) m004() }
+
+ Method(m004, 0, Serialized, 4) { Increment(i000) m104() }
+ Method(m104, 0, Serialized, 4) { Increment(i000) m005() }
+
+ Method(m005, 0, Serialized, 5) { Increment(i000) m006() }
+
+ Method(m006, 0, Serialized, 6) { Increment(i000) m106() }
+ Method(m106, 0, Serialized, 6) { Increment(i000) m007() }
+
+ Method(m007, 0, Serialized, 7) { Increment(i000) m107() }
+ Method(m107, 0, Serialized, 7) { Increment(i000) m008() }
+
+ Method(m008, 0, Serialized, 8) { Increment(i000) m108() }
+ Method(m108, 0, Serialized, 8) { Increment(i000) m009() }
+
+ Method(m009, 0, Serialized, 9) { Increment(i000) m109() }
+ Method(m109, 0, Serialized, 9) { Increment(i000) m209() }
+ Method(m209, 0, Serialized, 9) { Increment(i000) m010() }
+
+ Method(m010, 0, Serialized, 10) { Increment(i000) m110() }
+ Method(m110, 0, Serialized, 10) { Increment(i000) m011() }
+
+ Method(m011, 0, Serialized, 11) { Increment(i000) m111() }
+ Method(m111, 0, Serialized, 11) { Increment(i000) m012() }
+
+ Method(m012, 0, Serialized, 12) { Increment(i000) m112() }
+ Method(m112, 0, Serialized, 12) { Increment(i000) m013() }
+
+ Method(m013, 0, Serialized, 13) { Increment(i000) m014() }
+
+ Method(m014, 0, Serialized, 14) { Increment(i000) m015() }
+
+ Method(m015, 0, Serialized, 15) { Increment(i000) m115() }
+ Method(m115, 0, Serialized, 15) {
+ Increment(i000)
+ Store("m016", Debug)
+ if (LNotEqual(i000, 28)) {
+ err(ts, z173, 0x006, 0, 0, i000, 28)
+ }
+ Store(0xabcd0000, i001)
+ }
+
+ CH03(ts, z173, 0x007, 0, 0)
+ m000()
+
+ if (LNotEqual(i001, 0xabcd0000)) {
+ err(ts, z173, 0x008, 0, 0, i001, 0xabcd0000)
+ }
+ CH03(ts, z173, 0x009, 0, 0)
+}
+
+/*
+ * Check pairs of calls to Serialized methods,
+ * the second method is invoked from the first method.
+ *
+ * All the 256 combinations are verified (16*16):
+ * - the level of the first method in pair changes in range from 0 up to 15
+ * - the level of the second method in pair changes in range from 0 up to 15
+ *
+ * So all the checkings are provided:
+ *
+ * - proper sequence of levels (from i-th level to all possible correct levels)
+ * - proper sequence of levels (from i-th level to i-th level (in particular))
+ * - improper sequence of levels (from i-th level to all possible incorrect levels)
+ *
+ * arg0 - level of first call
+ * arg1 - level of second call
+ * arg2 - how many calls to do
+ */
+Method(m3b3, 3)
+{
+ Name(ts, "m3b3")
+
+ Name(i000, 0)
+ Name(i001, 0)
+ Name(i002, 0)
+ Name(i003, 0xabcd0003)
+ Name(i004, 0xabcd0004)
+ Name(i005, 0)
+
+ Method(m000,1,Serialized, 0) {if (arg0) {Store( 0,i004)} else {Store( 0,i003)} mm00(1,i000,i001)}
+ Method(m001,1,Serialized, 1) {if (arg0) {Store( 1,i004)} else {Store( 1,i003)} mm00(1,i000,i001)}
+ Method(m002,1,Serialized, 2) {if (arg0) {Store( 2,i004)} else {Store( 2,i003)} mm00(1,i000,i001)}
+ Method(m003,1,Serialized, 3) {if (arg0) {Store( 3,i004)} else {Store( 3,i003)} mm00(1,i000,i001)}
+ Method(m004,1,Serialized, 4) {if (arg0) {Store( 4,i004)} else {Store( 4,i003)} mm00(1,i000,i001)}
+ Method(m005,1,Serialized, 5) {if (arg0) {Store( 5,i004)} else {Store( 5,i003)} mm00(1,i000,i001)}
+ Method(m006,1,Serialized, 6) {if (arg0) {Store( 6,i004)} else {Store( 6,i003)} mm00(1,i000,i001)}
+ Method(m007,1,Serialized, 7) {if (arg0) {Store( 7,i004)} else {Store( 7,i003)} mm00(1,i000,i001)}
+ Method(m008,1,Serialized, 8) {if (arg0) {Store( 8,i004)} else {Store( 8,i003)} mm00(1,i000,i001)}
+ Method(m009,1,Serialized, 9) {if (arg0) {Store( 9,i004)} else {Store( 9,i003)} mm00(1,i000,i001)}
+ Method(m010,1,Serialized,10) {if (arg0) {Store(10,i004)} else {Store(10,i003)} mm00(1,i000,i001)}
+ Method(m011,1,Serialized,11) {if (arg0) {Store(11,i004)} else {Store(11,i003)} mm00(1,i000,i001)}
+ Method(m012,1,Serialized,12) {if (arg0) {Store(12,i004)} else {Store(12,i003)} mm00(1,i000,i001)}
+ Method(m013,1,Serialized,13) {if (arg0) {Store(13,i004)} else {Store(13,i003)} mm00(1,i000,i001)}
+ Method(m014,1,Serialized,14) {if (arg0) {Store(14,i004)} else {Store(14,i003)} mm00(1,i000,i001)}
+ Method(m015,1,Serialized,15) {if (arg0) {Store(15,i004)} else {Store(15,i003)} mm00(1,i000,i001)}
+
+
+ Method(mm00, 3)
+ {
+ Name(iii0, 0)
+ Name(iii1, 0)
+ Name(iii2, 0)
+ Name(iii3, 0)
+
+ Store(i002, Local0)
+ Increment(i002)
+
+ if (LGreater(i002, i005)) {
+ Return
+ }
+
+ if (arg0) {
+ Store(arg2, Local1)
+ } else {
+ Store(arg1, Local1)
+ }
+
+ Switch (Local1) {
+ Case (0) {
+ m000(Local0)
+ }
+ Case (1) {
+ m001(Local0)
+ }
+ Case (2) {
+ m002(Local0)
+ }
+ Case (3) {
+ m003(Local0)
+ }
+ Case (4) {
+ m004(Local0)
+ }
+ Case (5) {
+ m005(Local0)
+ }
+ Case (6) {
+ m006(Local0)
+ }
+ Case (7) {
+ m007(Local0)
+ }
+ Case (8) {
+ m008(Local0)
+ }
+ Case (9) {
+ m009(Local0)
+ }
+ Case (10) {
+ m010(Local0)
+ }
+ Case (11) {
+ m011(Local0)
+ }
+ Case (12) {
+ m012(Local0)
+ }
+ Case (13) {
+ m013(Local0)
+ }
+ Case (14) {
+ m014(Local0)
+ }
+ Case (15) {
+ m015(Local0)
+ }
+ }
+ }
+
+ CH03(ts, z173, 0x00a, 0, 0)
+
+ Store(arg0, i000)
+ Store(arg1, i001)
+ Store(arg2, i005)
+
+ mm00(0, i000, i001)
+
+ if (LGreater(arg0, arg1)) {
+ CH04(ts, 0, 64, z173, 0x00b, 0, 0) // AE_AML_MUTEX_ORDER
+ } else {
+ if (LNotEqual(i003, arg0)) {
+ err(ts, z173, 0x00c, 0, 0, i003, arg0)
+ }
+ if (LNotEqual(i004, arg1)) {
+ err(ts, z173, 0x00d, 0, 0, i004, arg1)
+ }
+ }
+
+ CH03(ts, z173, 0x00e, 0, 0)
+}
+
+Method(m3b4)
+{
+ Name(ts, "m3b4")
+
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+ Name(lpN1, 0)
+ Name(lpC1, 0)
+
+ Store(16, lpN0)
+ Store(0, lpC0)
+
+ While (lpN0) {
+ Store(16, lpN1)
+ Store(0, lpC1)
+ While (lpN1) {
+
+ m3b3(lpC0, lpC1, 2)
+
+ Decrement(lpN1)
+ Increment(lpC1)
+ }
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+}
+
+/*
+ * The same as m3b3 but without Switch
+ *
+ * arg0 - level of first call
+ * arg1 - level of second call
+ */
+Method(m3b5, 2)
+{
+ Name(ts, "m3b5")
+
+ Name(i000, 0)
+ Name(i001, 0)
+ Name(i002, 0)
+ Name(i003, 0xabcd0003)
+ Name(i004, 0xabcd0004)
+
+ Method(m000,1,Serialized, 0) {if (arg0) {Store( 0,i004)} else {Store( 0,i003)} mm00(1,i000,i001)}
+ Method(m001,1,Serialized, 1) {if (arg0) {Store( 1,i004)} else {Store( 1,i003)} mm00(1,i000,i001)}
+ Method(m002,1,Serialized, 2) {if (arg0) {Store( 2,i004)} else {Store( 2,i003)} mm00(1,i000,i001)}
+ Method(m003,1,Serialized, 3) {if (arg0) {Store( 3,i004)} else {Store( 3,i003)} mm00(1,i000,i001)}
+ Method(m004,1,Serialized, 4) {if (arg0) {Store( 4,i004)} else {Store( 4,i003)} mm00(1,i000,i001)}
+ Method(m005,1,Serialized, 5) {if (arg0) {Store( 5,i004)} else {Store( 5,i003)} mm00(1,i000,i001)}
+ Method(m006,1,Serialized, 6) {if (arg0) {Store( 6,i004)} else {Store( 6,i003)} mm00(1,i000,i001)}
+ Method(m007,1,Serialized, 7) {if (arg0) {Store( 7,i004)} else {Store( 7,i003)} mm00(1,i000,i001)}
+ Method(m008,1,Serialized, 8) {if (arg0) {Store( 8,i004)} else {Store( 8,i003)} mm00(1,i000,i001)}
+ Method(m009,1,Serialized, 9) {if (arg0) {Store( 9,i004)} else {Store( 9,i003)} mm00(1,i000,i001)}
+ Method(m010,1,Serialized,10) {if (arg0) {Store(10,i004)} else {Store(10,i003)} mm00(1,i000,i001)}
+ Method(m011,1,Serialized,11) {if (arg0) {Store(11,i004)} else {Store(11,i003)} mm00(1,i000,i001)}
+ Method(m012,1,Serialized,12) {if (arg0) {Store(12,i004)} else {Store(12,i003)} mm00(1,i000,i001)}
+ Method(m013,1,Serialized,13) {if (arg0) {Store(13,i004)} else {Store(13,i003)} mm00(1,i000,i001)}
+ Method(m014,1,Serialized,14) {if (arg0) {Store(14,i004)} else {Store(14,i003)} mm00(1,i000,i001)}
+ Method(m015,1,Serialized,15) {if (arg0) {Store(15,i004)} else {Store(15,i003)} mm00(1,i000,i001)}
+
+
+ Method(mm00, 3)
+ {
+ Store(i002, Local0)
+ Increment(i002)
+
+ if (LGreater(i002, 2)) {
+ Return
+ }
+
+ if (arg0) {
+ Store(arg2, Local1)
+ } else {
+ Store(arg1, Local1)
+ }
+
+ if (LEqual(Local1, 0)) {
+ m000(Local0)
+ } elseif (LEqual(Local1, 1)) {
+ m001(Local0)
+ } elseif (LEqual(Local1, 2)) {
+ m002(Local0)
+ } elseif (LEqual(Local1, 3)) {
+ m003(Local0)
+ } elseif (LEqual(Local1, 4)) {
+ m004(Local0)
+ } elseif (LEqual(Local1, 5)) {
+ m005(Local0)
+ } elseif (LEqual(Local1, 6)) {
+ m006(Local0)
+ } elseif (LEqual(Local1, 7)) {
+ m007(Local0)
+ } elseif (LEqual(Local1, 8)) {
+ m008(Local0)
+ } elseif (LEqual(Local1, 9)) {
+ m009(Local0)
+ } elseif (LEqual(Local1, 10)) {
+ m010(Local0)
+ } elseif (LEqual(Local1, 11)) {
+ m011(Local0)
+ } elseif (LEqual(Local1, 12)) {
+ m012(Local0)
+ } elseif (LEqual(Local1, 13)) {
+ m013(Local0)
+ } elseif (LEqual(Local1, 14)) {
+ m014(Local0)
+ } elseif (LEqual(Local1, 15)) {
+ m015(Local0)
+ }
+ }
+
+ CH03(ts, z173, 0x00f, 0, 0)
+
+ Store(arg0, i000)
+ Store(arg1, i001)
+
+ mm00(0, i000, i001)
+
+ if (LGreater(arg0, arg1)) {
+ CH04(ts, 0, 64, z173, 0x010, 0, 0) // AE_AML_MUTEX_ORDER
+ } else {
+ if (LNotEqual(i003, arg0)) {
+ err(ts, z173, 0x011, 0, 0, i003, arg0)
+ }
+ if (LNotEqual(i004, arg1)) {
+ err(ts, z173, 0x012, 0, 0, i004, arg1)
+ }
+ }
+
+ CH03(ts, z173, 0x013, 0, 0)
+}
+
+Method(m3b6)
+{
+ Name(ts, "m3b6")
+
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+ Name(lpN1, 0)
+ Name(lpC1, 0)
+
+ Store(16, lpN0)
+ Store(0, lpC0)
+
+ While (lpN0) {
+ Store(16, lpN1)
+ Store(0, lpC1)
+ While (lpN1) {
+
+ m3b5(lpC0, lpC1)
+
+ Decrement(lpN1)
+ Increment(lpC1)
+ }
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+}
+
+/*
+ * The same as m3b5 but
+ * between two Serialized calls non-Serialized calls are performed
+ *
+ * arg0 - level of first call
+ * arg1 - level of second call
+ * arg2 - how many calls to do
+ */
+Method(m3b7, 3)
+{
+ Name(ts, "m3b5")
+
+ Name(i000, 0)
+ Name(i001, 0)
+ Name(i002, 0)
+ Name(i003, 0xabcd0003)
+ Name(i004, 0xabcd0004)
+ Name(i005, 0)
+
+ Method(m000,1,Serialized, 0) {if (arg0) {Store( 0,i004)} else {Store( 0,i003)} mm00(1,i000,i001)}
+ Method(m001,1,Serialized, 1) {if (arg0) {Store( 1,i004)} else {Store( 1,i003)} mm00(1,i000,i001)}
+ Method(m002,1,Serialized, 2) {if (arg0) {Store( 2,i004)} else {Store( 2,i003)} mm00(1,i000,i001)}
+ Method(m003,1,Serialized, 3) {if (arg0) {Store( 3,i004)} else {Store( 3,i003)} mm00(1,i000,i001)}
+ Method(m004,1,Serialized, 4) {if (arg0) {Store( 4,i004)} else {Store( 4,i003)} mm00(1,i000,i001)}
+ Method(m005,1,Serialized, 5) {if (arg0) {Store( 5,i004)} else {Store( 5,i003)} mm00(1,i000,i001)}
+ Method(m006,1,Serialized, 6) {if (arg0) {Store( 6,i004)} else {Store( 6,i003)} mm00(1,i000,i001)}
+ Method(m007,1,Serialized, 7) {if (arg0) {Store( 7,i004)} else {Store( 7,i003)} mm00(1,i000,i001)}
+ Method(m008,1,Serialized, 8) {if (arg0) {Store( 8,i004)} else {Store( 8,i003)} mm00(1,i000,i001)}
+ Method(m009,1,Serialized, 9) {if (arg0) {Store( 9,i004)} else {Store( 9,i003)} mm00(1,i000,i001)}
+ Method(m010,1,Serialized,10) {if (arg0) {Store(10,i004)} else {Store(10,i003)} mm00(1,i000,i001)}
+ Method(m011,1,Serialized,11) {if (arg0) {Store(11,i004)} else {Store(11,i003)} mm00(1,i000,i001)}
+ Method(m012,1,Serialized,12) {if (arg0) {Store(12,i004)} else {Store(12,i003)} mm00(1,i000,i001)}
+ Method(m013,1,Serialized,13) {if (arg0) {Store(13,i004)} else {Store(13,i003)} mm00(1,i000,i001)}
+ Method(m014,1,Serialized,14) {if (arg0) {Store(14,i004)} else {Store(14,i003)} mm00(1,i000,i001)}
+ Method(m015,1,Serialized,15) {if (arg0) {Store(15,i004)} else {Store(15,i003)} mm00(1,i000,i001)}
+
+ Method(mm01, 7)
+ {
+ Store(0, Local0)
+ }
+
+
+ Method(mm00, 3)
+ {
+ Store(i002, Local0)
+ Increment(i002)
+
+ if (LGreater(i002, i005)) {
+ Return
+ }
+
+ if (arg0) {
+ Store(arg2, Local1)
+ } else {
+ Store(arg1, Local1)
+ }
+
+ if (LEqual(Local1, 0)) {
+ mm01(0,1,2,3,4,5,6)
+ m000(Local0)
+ mm01(0,1,2,3,4,5,6)
+ } elseif (LEqual(Local1, 1)) {
+ mm01(0,1,2,3,4,5,6)
+ m001(Local0)
+ mm01(0,1,2,3,4,5,6)
+ } elseif (LEqual(Local1, 2)) {
+ mm01(0,1,2,3,4,5,6)
+ m002(Local0)
+ mm01(0,1,2,3,4,5,6)
+ } elseif (LEqual(Local1, 3)) {
+ mm01(0,1,2,3,4,5,6)
+ m003(Local0)
+ mm01(0,1,2,3,4,5,6)
+ } elseif (LEqual(Local1, 4)) {
+ mm01(0,1,2,3,4,5,6)
+ m004(Local0)
+ mm01(0,1,2,3,4,5,6)
+ } elseif (LEqual(Local1, 5)) {
+ mm01(0,1,2,3,4,5,6)
+ m005(Local0)
+ mm01(0,1,2,3,4,5,6)
+ } elseif (LEqual(Local1, 6)) {
+ mm01(0,1,2,3,4,5,6)
+ m006(Local0)
+ mm01(0,1,2,3,4,5,6)
+ } elseif (LEqual(Local1, 7)) {
+ mm01(0,1,2,3,4,5,6)
+ m007(Local0)
+ mm01(0,1,2,3,4,5,6)
+ } elseif (LEqual(Local1, 8)) {
+ mm01(0,1,2,3,4,5,6)
+ m008(Local0)
+ mm01(0,1,2,3,4,5,6)
+ } elseif (LEqual(Local1, 9)) {
+ mm01(0,1,2,3,4,5,6)
+ m009(Local0)
+ mm01(0,1,2,3,4,5,6)
+ } elseif (LEqual(Local1, 10)) {
+ mm01(0,1,2,3,4,5,6)
+ m010(Local0)
+ mm01(0,1,2,3,4,5,6)
+ } elseif (LEqual(Local1, 11)) {
+ mm01(0,1,2,3,4,5,6)
+ m011(Local0)
+ mm01(0,1,2,3,4,5,6)
+ } elseif (LEqual(Local1, 12)) {
+ mm01(0,1,2,3,4,5,6)
+ m012(Local0)
+ mm01(0,1,2,3,4,5,6)
+ } elseif (LEqual(Local1, 13)) {
+ mm01(0,1,2,3,4,5,6)
+ m013(Local0)
+ mm01(0,1,2,3,4,5,6)
+ } elseif (LEqual(Local1, 14)) {
+ mm01(0,1,2,3,4,5,6)
+ m014(Local0)
+ mm01(0,1,2,3,4,5,6)
+ } elseif (LEqual(Local1, 15)) {
+ mm01(0,1,2,3,4,5,6)
+ m015(Local0)
+ mm01(0,1,2,3,4,5,6)
+ }
+ }
+
+ CH03(ts, z173, 0x014, 0, 0)
+
+ Store(arg0, i000)
+ Store(arg1, i001)
+ Store(arg2, i005)
+
+ mm00(0, i000, i001)
+
+ if (LGreater(arg0, arg1)) {
+ CH04(ts, 0, 64, z173, 0x015, 0, 0) // AE_AML_MUTEX_ORDER
+ } else {
+ if (LNotEqual(i003, arg0)) {
+ err(ts, z173, 0x016, 0, 0, i003, arg0)
+ }
+ if (LNotEqual(i004, arg1)) {
+ err(ts, z173, 0x017, 0, 0, i004, arg1)
+ }
+ }
+
+ CH03(ts, z173, 0x018, 0, 0)
+}
+
+Method(m3b8)
+{
+ Name(ts, "m3b6")
+
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+ Name(lpN1, 0)
+ Name(lpC1, 0)
+
+ Store(16, lpN0)
+ Store(0, lpC0)
+
+ While (lpN0) {
+ Store(16, lpN1)
+ Store(0, lpC1)
+ While (lpN1) {
+
+ m3b7(lpC0, lpC1, 2)
+
+ Decrement(lpN1)
+ Increment(lpC1)
+ }
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+}
+
+/*
+ * Check that Serialized method can be invoked repeatedly
+ *
+ * (Serialized method without internal objects (including Methods) and Switches)
+ *
+ * Method is invoked 2 times, then 3 times, then 4 times,...
+ * Then do it for next Method.
+ */
+Method(m3b9)
+{
+ Name(ts, "m3b9")
+
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+ Name(lpN1, 0)
+ Name(lpC1, 0)
+
+ Store(16, lpN0)
+ Store(0, lpC0)
+
+ While (lpN0) {
+ Store(16, lpN1)
+ Store(2, lpC1)
+ While (lpN1) {
+
+ m3b3(lpC0, lpC0, lpC1)
+
+ Decrement(lpN1)
+ Increment(lpC1)
+ }
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+}
+
+/*
+ * Check that Serialized method can be invoked repeatedly
+ *
+ * (Serialized method without internal objects (including Methods) and Switches)
+ *
+ * between two Serialized calls non-Serialized calls are performed
+ *
+ * Method is invoked 2 times, then 3 times, then 4 times,...
+ * Then do it for next Method.
+ */
+Method(m3ba)
+{
+ Name(ts, "m3ba")
+
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+ Name(lpN1, 0)
+ Name(lpC1, 0)
+
+ Store(16, lpN0)
+ Store(0, lpC0)
+
+ While (lpN0) {
+ Store(16, lpN1)
+ Store(2, lpC1)
+ While (lpN1) {
+
+ m3b7(lpC0, lpC0, lpC1)
+
+ Decrement(lpN1)
+ Increment(lpC1)
+ }
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+}
+
+/*
+ * The level is set up by either call to Serialized method or Acquire mutex of that level
+ *
+ * Check pairs of calls to methods which provide exclusive access to critical sections
+ * either by 'Serialized method' technique or AML mutexes (Acquire/Release) framework.
+ * The second method is invoked from the first method.
+ *
+ * All the 1024 combinations are verified (32*32):
+ *
+ * The first call to method in pair is call to:
+ * - Serialized method with level in range from 0 up to 15
+ * - non-Serialized method Acquiring mutex with level in range from 0 up to 15
+ *
+ * Identically, the second call to method in pair is call to:
+ * - Serialized method with level in range from 0 up to 15
+ * - non-Serialized method Acquiring mutex with level in range from 0 up to 15
+ *
+ * So all the checkings are provided:
+ *
+ * - proper sequence of levels (from i-th level to all possible correct levels)
+ * - proper sequence of levels (from i-th level to i-th level (in particular))
+ * - improper sequence of levels (from i-th level to all possible incorrect levels)
+ *
+ * arg0 - level of first call
+ * arg1 - level of second call
+ * arg2 - how many calls to do
+ */
+Method(m3bb, 3)
+{
+ Name(ts, "m3bb")
+
+ Name(i000, 0)
+ Name(i001, 0)
+ Name(i002, 0)
+ Name(i003, 0xabcd0003)
+ Name(i004, 0xabcd0004)
+ Name(i005, 0)
+
+ Mutex(MT00, 0)
+ Mutex(MT10, 1)
+ Mutex(MT20, 2)
+ Mutex(MT30, 3)
+ Mutex(MT40, 4)
+ Mutex(MT50, 5)
+ Mutex(MT60, 6)
+ Mutex(MT70, 7)
+ Mutex(MT80, 8)
+ Mutex(MT90, 9)
+ Mutex(MTa0, 10)
+ Mutex(MTb0, 11)
+ Mutex(MTc0, 12)
+ Mutex(MTd0, 13)
+ Mutex(MTe0, 14)
+ Mutex(MTf0, 15)
+
+ Method(m000,1,Serialized, 0) {if (arg0) {Store( 0,i004)} else {Store( 0,i003)} mm00(1,i000,i001)}
+ Method(m001,1,Serialized, 1) {if (arg0) {Store( 1,i004)} else {Store( 1,i003)} mm00(1,i000,i001)}
+ Method(m002,1,Serialized, 2) {if (arg0) {Store( 2,i004)} else {Store( 2,i003)} mm00(1,i000,i001)}
+ Method(m003,1,Serialized, 3) {if (arg0) {Store( 3,i004)} else {Store( 3,i003)} mm00(1,i000,i001)}
+ Method(m004,1,Serialized, 4) {if (arg0) {Store( 4,i004)} else {Store( 4,i003)} mm00(1,i000,i001)}
+ Method(m005,1,Serialized, 5) {if (arg0) {Store( 5,i004)} else {Store( 5,i003)} mm00(1,i000,i001)}
+ Method(m006,1,Serialized, 6) {if (arg0) {Store( 6,i004)} else {Store( 6,i003)} mm00(1,i000,i001)}
+ Method(m007,1,Serialized, 7) {if (arg0) {Store( 7,i004)} else {Store( 7,i003)} mm00(1,i000,i001)}
+ Method(m008,1,Serialized, 8) {if (arg0) {Store( 8,i004)} else {Store( 8,i003)} mm00(1,i000,i001)}
+ Method(m009,1,Serialized, 9) {if (arg0) {Store( 9,i004)} else {Store( 9,i003)} mm00(1,i000,i001)}
+ Method(m010,1,Serialized,10) {if (arg0) {Store(10,i004)} else {Store(10,i003)} mm00(1,i000,i001)}
+ Method(m011,1,Serialized,11) {if (arg0) {Store(11,i004)} else {Store(11,i003)} mm00(1,i000,i001)}
+ Method(m012,1,Serialized,12) {if (arg0) {Store(12,i004)} else {Store(12,i003)} mm00(1,i000,i001)}
+ Method(m013,1,Serialized,13) {if (arg0) {Store(13,i004)} else {Store(13,i003)} mm00(1,i000,i001)}
+ Method(m014,1,Serialized,14) {if (arg0) {Store(14,i004)} else {Store(14,i003)} mm00(1,i000,i001)}
+ Method(m015,1,Serialized,15) {if (arg0) {Store(15,i004)} else {Store(15,i003)} mm00(1,i000,i001)}
+
+ Method(m100, 2) {
+ if (arg0) {
+ Store(16, i004)
+ } else {
+ Store(16, i003)
+ }
+ Store(Acquire(MT00, 0xffff), Local0)
+ mm00(1, i000, i001)
+ if (arg1) {
+ if (Local0) {
+ err(ts, z173, 0x019, 0, 0, 0, Local0)
+ }
+ }
+ if (LNot(Local0)) {
+ Release(MT00)
+ }
+ }
+ Method(m101, 2) {
+ if (arg0) {
+ Store(17, i004)
+ } else {
+ Store(17, i003)
+ }
+ Store(Acquire(MT10, 0xffff), Local0)
+ mm00(1, i000, i001)
+ if (arg1) {
+ if (Local0) {
+ err(ts, z173, 0x019, 0, 0, 0, Local0)
+ }
+ }
+ if (LNot(Local0)) {
+ Release(MT10)
+ }
+ }
+ Method(m102, 2) {
+ if (arg0) {
+ Store(18, i004)
+ } else {
+ Store(18, i003)
+ }
+ Store(Acquire(MT20, 0xffff), Local0)
+ mm00(1, i000, i001)
+ if (arg1) {
+ if (Local0) {
+ err(ts, z173, 0x019, 0, 0, 0, Local0)
+ }
+ }
+ if (LNot(Local0)) {
+ Release(MT20)
+ }
+ }
+ Method(m103, 2) {
+ if (arg0) {
+ Store(19, i004)
+ } else {
+ Store(19, i003)
+ }
+ Store(Acquire(MT30, 0xffff), Local0)
+ mm00(1, i000, i001)
+ if (arg1) {
+ if (Local0) {
+ err(ts, z173, 0x019, 0, 0, 0, Local0)
+ }
+ }
+ if (LNot(Local0)) {
+ Release(MT30)
+ }
+ }
+ Method(m104, 2) {
+ if (arg0) {
+ Store(20, i004)
+ } else {
+ Store(20, i003)
+ }
+ Store(Acquire(MT40, 0xffff), Local0)
+ mm00(1, i000, i001)
+ if (arg1) {
+ if (Local0) {
+ err(ts, z173, 0x019, 0, 0, 0, Local0)
+ }
+ }
+ if (LNot(Local0)) {
+ Release(MT40)
+ }
+ }
+ Method(m105, 2) {
+ if (arg0) {
+ Store(21, i004)
+ } else {
+ Store(21, i003)
+ }
+ Store(Acquire(MT50, 0xffff), Local0)
+ mm00(1, i000, i001)
+ if (arg1) {
+ if (Local0) {
+ err(ts, z173, 0x019, 0, 0, 0, Local0)
+ }
+ }
+ if (LNot(Local0)) {
+ Release(MT50)
+ }
+ }
+ Method(m106, 2) {
+ if (arg0) {
+ Store(22, i004)
+ } else {
+ Store(22, i003)
+ }
+ Store(Acquire(MT60, 0xffff), Local0)
+ mm00(1, i000, i001)
+ if (arg1) {
+ if (Local0) {
+ err(ts, z173, 0x019, 0, 0, 0, Local0)
+ }
+ }
+ if (LNot(Local0)) {
+ Release(MT60)
+ }
+ }
+ Method(m107, 2) {
+ if (arg0) {
+ Store(23, i004)
+ } else {
+ Store(23, i003)
+ }
+ Store(Acquire(MT70, 0xffff), Local0)
+ mm00(1, i000, i001)
+ if (arg1) {
+ if (Local0) {
+ err(ts, z173, 0x019, 0, 0, 0, Local0)
+ }
+ }
+ if (LNot(Local0)) {
+ Release(MT70)
+ }
+ }
+ Method(m108, 2) {
+ if (arg0) {
+ Store(24, i004)
+ } else {
+ Store(24, i003)
+ }
+ Store(Acquire(MT80, 0xffff), Local0)
+ mm00(1, i000, i001)
+ if (arg1) {
+ if (Local0) {
+ err(ts, z173, 0x019, 0, 0, 0, Local0)
+ }
+ }
+ if (LNot(Local0)) {
+ Release(MT80)
+ }
+ }
+ Method(m109, 2) {
+ if (arg0) {
+ Store(25, i004)
+ } else {
+ Store(25, i003)
+ }
+ Store(Acquire(MT90, 0xffff), Local0)
+ mm00(1, i000, i001)
+ if (arg1) {
+ if (Local0) {
+ err(ts, z173, 0x019, 0, 0, 0, Local0)
+ }
+ }
+ if (LNot(Local0)) {
+ Release(MT90)
+ }
+ }
+ Method(m110, 2) {
+ if (arg0) {
+ Store(26, i004)
+ } else {
+ Store(26, i003)
+ }
+ Store(Acquire(MTa0, 0xffff), Local0)
+ mm00(1, i000, i001)
+ if (arg1) {
+ if (Local0) {
+ err(ts, z173, 0x019, 0, 0, 0, Local0)
+ }
+ }
+ if (LNot(Local0)) {
+ Release(MTa0)
+ }
+ }
+ Method(m111, 2) {
+ if (arg0) {
+ Store(27, i004)
+ } else {
+ Store(27, i003)
+ }
+ Store(Acquire(MTb0, 0xffff), Local0)
+ mm00(1, i000, i001)
+ if (arg1) {
+ if (Local0) {
+ err(ts, z173, 0x019, 0, 0, 0, Local0)
+ }
+ }
+ if (LNot(Local0)) {
+ Release(MTb0)
+ }
+ }
+ Method(m112, 2) {
+ if (arg0) {
+ Store(28, i004)
+ } else {
+ Store(28, i003)
+ }
+ Store(Acquire(MTc0, 0xffff), Local0)
+ mm00(1, i000, i001)
+ if (arg1) {
+ if (Local0) {
+ err(ts, z173, 0x019, 0, 0, 0, Local0)
+ }
+ }
+ if (LNot(Local0)) {
+ Release(MTc0)
+ }
+ }
+ Method(m113, 2) {
+ if (arg0) {
+ Store(29, i004)
+ } else {
+ Store(29, i003)
+ }
+ Store(Acquire(MTd0, 0xffff), Local0)
+ mm00(1, i000, i001)
+ if (arg1) {
+ if (Local0) {
+ err(ts, z173, 0x019, 0, 0, 0, Local0)
+ }
+ }
+ if (LNot(Local0)) {
+ Release(MTd0)
+ }
+ }
+ Method(m114, 2) {
+ if (arg0) {
+ Store(30, i004)
+ } else {
+ Store(30, i003)
+ }
+ Store(Acquire(MTe0, 0xffff), Local0)
+ mm00(1, i000, i001)
+ if (arg1) {
+ if (Local0) {
+ err(ts, z173, 0x019, 0, 0, 0, Local0)
+ }
+ }
+ if (LNot(Local0)) {
+ Release(MTe0)
+ }
+ }
+ Method(m115, 2) {
+ if (arg0) {
+ Store(31, i004)
+ } else {
+ Store(31, i003)
+ }
+ Store(Acquire(MTf0, 0xffff), Local0)
+ mm00(1, i000, i001)
+ if (arg1) {
+ if (Local0) {
+ err(ts, z173, 0x019, 0, 0, 0, Local0)
+ }
+ }
+ if (LNot(Local0)) {
+ Release(MTf0)
+ }
+ }
+
+ /*
+ * arg0 - 0 - first call, otherwise - non-first call
+ * arg1 - level of first call
+ * arg2 - level of second call
+ */
+ Method(mm00, 3)
+ {
+ Store(i002, Local0)
+ Increment(i002)
+
+ if (LGreater(i002, i005)) {
+ Return
+ }
+
+ if (arg0) {
+ Store(arg2, Local1)
+ } else {
+ Store(arg1, Local1)
+ }
+
+ if (arg0) {
+ // non-first call
+ if (LGreaterEqual(arg1, 16)) {
+ Subtract(arg1, 16, Local2)
+ } else {
+ Store(arg1, Local2)
+ }
+ if (LGreaterEqual(arg2, 16)) {
+ Subtract(arg2, 16, Local3)
+ } else {
+ Store(arg2, Local3)
+ }
+ if (LGreater(Local2, Local3)) {
+ Store(0, Local4)
+ } else {
+ Store(1, Local4) // Check return of Acquire, success is expected
+ }
+ } else {
+ // first call
+ Store(1, Local4) // Check return of Acquire, success is expected
+ }
+
+ Switch (Local1) {
+ Case (0) {
+ m000(Local0)
+ }
+ Case (1) {
+ m001(Local0)
+ }
+ Case (2) {
+ m002(Local0)
+ }
+ Case (3) {
+ m003(Local0)
+ }
+ Case (4) {
+ m004(Local0)
+ }
+ Case (5) {
+ m005(Local0)
+ }
+ Case (6) {
+ m006(Local0)
+ }
+ Case (7) {
+ m007(Local0)
+ }
+ Case (8) {
+ m008(Local0)
+ }
+ Case (9) {
+ m009(Local0)
+ }
+ Case (10) {
+ m010(Local0)
+ }
+ Case (11) {
+ m011(Local0)
+ }
+ Case (12) {
+ m012(Local0)
+ }
+ Case (13) {
+ m013(Local0)
+ }
+ Case (14) {
+ m014(Local0)
+ }
+ Case (15) {
+ m015(Local0)
+ }
+
+
+ Case (16) {
+ m100(Local0, Local4)
+ }
+ Case (17) {
+ m101(Local0, Local4)
+ }
+ Case (18) {
+ m102(Local0, Local4)
+ }
+ Case (19) {
+ m103(Local0, Local4)
+ }
+ Case (20) {
+ m104(Local0, Local4)
+ }
+ Case (21) {
+ m105(Local0, Local4)
+ }
+ Case (22) {
+ m106(Local0, Local4)
+ }
+ Case (23) {
+ m107(Local0, Local4)
+ }
+ Case (24) {
+ m108(Local0, Local4)
+ }
+ Case (25) {
+ m109(Local0, Local4)
+ }
+ Case (26) {
+ m110(Local0, Local4)
+ }
+ Case (27) {
+ m111(Local0, Local4)
+ }
+ Case (28) {
+ m112(Local0, Local4)
+ }
+ Case (29) {
+ m113(Local0, Local4)
+ }
+ Case (30) {
+ m114(Local0, Local4)
+ }
+ Case (31) {
+ m115(Local0, Local4)
+ }
+ }
+ }
+
+ CH03(ts, z173, 0x00a, 0, 0)
+
+ Store(arg0, i000)
+ Store(arg1, i001)
+ Store(arg2, i005)
+
+ mm00(0, i000, i001)
+
+ if (LGreaterEqual(arg0, 16)) {
+ Subtract(arg0, 16, Local2)
+ } else {
+ Store(arg0, Local2)
+ }
+ if (LGreaterEqual(arg1, 16)) {
+ Subtract(arg1, 16, Local3)
+ } else {
+ Store(arg1, Local3)
+ }
+ if (LGreater(Local2, Local3)) {
+ Store(0, Local4)
+ } else {
+ Store(1, Local4) // Success is expected, no exceptions
+ }
+
+ if (LNot(Local4)) {
+ CH04(ts, 1, 64, z173, 0x00b, 0, 0) // AE_AML_MUTEX_ORDER
+ } else {
+ if (LNotEqual(i003, arg0)) {
+ err(ts, z173, 0x00c, 0, 0, i003, arg0)
+ }
+ if (LNotEqual(i004, arg1)) {
+ err(ts, z173, 0x00d, 0, 0, i004, arg1)
+ }
+ }
+
+ CH03(ts, z173, 0x00e, 0, 0)
+}
+
+Method(m3bc)
+{
+ Name(ts, "m3bc")
+
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+ Name(lpN1, 0)
+ Name(lpC1, 0)
+
+ Store(32, lpN0)
+ Store(0, lpC0)
+
+ While (lpN0) {
+ Store(32, lpN1)
+ Store(0, lpC1)
+ While (lpN1) {
+
+ m3bb(lpC0, lpC1, 2)
+
+ Decrement(lpN1)
+ Increment(lpC1)
+ }
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+}
+
+Method(m3bd)
+{
+ SRMT("m3b0")
+ m3b0()
+
+ SRMT("m3b1")
+ m3b1()
+
+ SRMT("m3b2")
+ m3b2()
+
+ SRMT("m3b4")
+ if (y300) {
+ m3b4()
+ } else {
+ BLCK()
+ }
+
+ SRMT("m3b6")
+ m3b6()
+
+ SRMT("m3b8")
+ m3b8()
+
+ SRMT("m3b9")
+ if (y300) {
+ m3b9()
+ } else {
+ BLCK()
+ }
+
+ SRMT("m3ba")
+ m3ba()
+
+ SRMT("m3bc")
+ if (y300) {
+ m3bc()
+ } else {
+ BLCK()
+ }
+}
+
+
+
diff --git a/tests/aslts/src/runtime/collections/functional/table/DECL.asl b/tests/aslts/src/runtime/collections/functional/table/DECL.asl
new file mode 100644
index 000000000..6bb4d7952
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/table/DECL.asl
@@ -0,0 +1,33 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+
+Include("../../../../runtime/collections/functional/table/load.asl")
+Include("../../../../runtime/collections/functional/table/unload.asl")
+Include("../../../../runtime/collections/functional/table/loadtable.asl")
diff --git a/tests/aslts/src/runtime/collections/functional/table/MAIN.asl b/tests/aslts/src/runtime/collections/functional/table/MAIN.asl
new file mode 100644
index 000000000..3ae080241
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/table/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+DefinitionBlock(
+ "table.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../runtime/cntl/DECL.asl")
+ Include("../../../../runtime/collections/functional/table/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../runtime/collections/functional/table/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+ Store(0, Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/functional/table/Makefile b/tests/aslts/src/runtime/collections/functional/table/Makefile
new file mode 100644
index 000000000..9e8272016
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/table/Makefile
@@ -0,0 +1,7 @@
+# table
+
+AMLMOD= table
+COLL= ../..
+
+TOP= $(COLL)/../../..
+include $(COLL)/Makefile.install
diff --git a/tests/aslts/src/runtime/collections/functional/table/RUN.asl b/tests/aslts/src/runtime/collections/functional/table/RUN.asl
new file mode 100644
index 000000000..4b49cac22
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/table/RUN.asl
@@ -0,0 +1,36 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+
+if (STTT("Table management: Load, Unload and LoadTable", TCLF, 13, W00d)) {
+ TLD0()
+ TUL0()
+ TLT0()
+}
+FTTT()
diff --git a/tests/aslts/src/runtime/collections/functional/table/load.asl b/tests/aslts/src/runtime/collections/functional/table/load.asl
new file mode 100644
index 000000000..7315d37a7
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/table/load.asl
@@ -0,0 +1,2233 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+/*
+ * Load ASL operator functionality
+ */
+
+/*
+ * This sub-test is intended to comprehensively verify
+ * the Load ASL operator functionality.
+ *
+ * Performs a run-time load of a Definition Block.
+ *
+ * 17.5.67 Load (Load Definition Block)
+ * Syntax
+ * Load (Object, DDBHandle)
+ *
+ * On testing the following issues should be covered:
+ *
+ * - loading SSDT (or PSDT) from a SystemMemory OpRegion,
+ *
+ * - loading SSDT from a Region Field in a OpRegion of any type,
+ *
+ * - "namespace location to load the Definition Block is relative
+ * to the current namespace" scope,
+ *
+ * - loading a number of different SSDTs,
+ *
+ * - global and dynamic declarations of OpRegions and the appropriate
+ * _REG Methods invocation for the loaded SSDT,
+ *
+ * - global and dynamic declarations of OpRegions and Region Fields,
+ * containing the loaded SSDT,
+ *
+ * - an Object of any type can be used as the DDBHandle argument,
+ *
+ * - the DDBHandle argument of the Load operator becames an Object
+ * of the DDBHandle type,
+ *
+ * - the DDBHandle Object returned from the Load operator can be used
+ * to unload the SSDT,
+ *
+ * - exceptional conditions caused by inappropriate data:
+ * = the Object argument does not refer to an operation region field
+ * or an operation region,
+ * = an OpRegion passed as the Object argument is not of SystemMemory type,
+ * = the table contained in an OpRegion (Field) is not SSDT or PSDT one,
+ * = the length of the supplied SSDT is greater than the length of the
+ * respective OpRegion or Region Field,
+ * = the length of the supplied SSDT is less than the length the Header
+ * = the checksum of the supplied SSDT is invalid,
+ * = AE_OWNER_ID_LIMIT exception when too many Tables loaded,
+ * = the specified SSDT is already loaded,
+ * = there already is an previously loaded Object referred by the path
+ * in the Namespace.
+ *
+ * Can not be tested following issues:
+ * - providing of the table referenced by Load to be "in memory marked by
+ * AddressRangeReserved or AddressRangeNVS",
+ * - overriding the supplied SSDT with "a newer revision Definition Block
+ * of the same OEM Table ID" by the OS,
+ * - loading a SSDT to be a synchronous operation ("the control methods
+ * defined in the Definition Block are not executed during load time")
+ */
+
+Name(z174, 174)
+
+Device(DTM0) {
+
+ // Originated from ssdt0.asl: iasl -tc ssdt0.asl
+ Name(BUF0, Buffer() {
+ 0x53,0x53,0x44,0x54,0x34,0x00,0x00,0x00, /* 00000000 "SSDT4..." */
+ 0x02,0xDE,0x49,0x6E,0x74,0x65,0x6C,0x00, /* 00000008 "..Intel." */
+ 0x4D,0x61,0x6E,0x79,0x00,0x00,0x00,0x00, /* 00000010 "Many...." */
+ 0x01,0x00,0x00,0x00,0x49,0x4E,0x54,0x4C, /* 00000018 "....INTL" */
+ 0x15,0x12,0x06,0x20,0x14,0x0F,0x5C,0x53, /* 00000020 "... ..\S" */
+ 0x53,0x30,0x30,0x00,0xA4,0x0D,0x5C,0x53, /* 00000028 "S00...\S" */
+ 0x53,0x30,0x30,0x00,
+ })
+
+ Name (SNML, "0123456789ABCDEF")
+ Name (NNML, 16) // <= sizeof (SNML)
+
+ // Take into account AE_OWNER_ID_LIMIT
+ Name (HI0M, 256) // <= (NNML * NNML)
+
+ Name (HI0P, Package(HI0M){})
+ Name (HI0N, 0)
+ Name (INIF, 0x00)
+
+ OperationRegion (IST0, SystemMemory, 0, 0x34)
+
+ Field(IST0, ByteAcc, NoLock, Preserve) {
+ RFU0, 0x1a0,
+ }
+
+ Field(IST0, ByteAcc, NoLock, Preserve) {
+ SIG, 32,
+ LENG, 32,
+ REV, 8,
+ SUM, 8,
+ OID, 48,
+ OTID, 64,
+ OREV, 32,
+ CID, 32,
+ CREV, 32,
+ Offset(39),
+ SSNM, 32
+ }
+
+ // components/utilities/utmisc.c AcpiUtGenerateChecksum() analog
+ Method(CHSM, 2) // buf, len
+ {
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+
+ Store(0, Local0) // sum
+
+ Store(arg1, lpN0)
+ Store(0, lpC0)
+
+ While(lpN0) {
+ Store(DeRefOf(Index(arg0, lpC0)), Local1)
+ Add(Local0, Local1, Local0)
+ Mod(Local0, 0x100, Local0)
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+
+ Subtract(0, Local0, Local0)
+ Mod(Local0, 0x100, Local0)
+
+ Store("checksum", Debug)
+ Store(Local0, Debug)
+
+ return (Local0)
+ }
+
+ // Initializes multiple Tables Load test
+ Method(INIT)
+ {
+ Store(Sizeof(SNML), Local0)
+ if (LGreater(NNML, Local0)) {
+ Store(Concatenate("INIT: test error, check NNML <= Sizeof(SNML):",
+ ToDecimalString(Local0)), Debug)
+ Return (1)
+ }
+ Multiply(Local0, Local0, Local0)
+ if (LGreater(HI0M, Local0)) {
+ Store(Concatenate("INIT: test error, check HI0M <= 0x",
+ Local0), Debug)
+ Return (1)
+ }
+
+ if (INIF) {
+ Store("INIT: OpRegion has been initialized previously", Debug)
+ Return (1)
+ }
+
+ Store(BUF0, RFU0)
+ Store(1, INIF)
+ Store("INIT: OpRegion initialized with SSDT", Debug)
+
+ Return (0)
+ }
+
+ // Prepares and Loads the next Table of multiple Tables Load test
+ Method(LD)
+ {
+ if (LNot(LLess(HI0N, HI0M))) {
+ Store("LD: too many tables loaded", Debug)
+ Return (1)
+ }
+
+ Multiply(HI0N, 0x30, Local2)
+
+ OperationRegion (IST0, SystemMemory, Local2, 0x34)
+
+ Field(IST0, ByteAcc, NoLock, Preserve) {
+ RFU0, 0x1a0,
+ }
+
+ Field(IST0, ByteAcc, NoLock, Preserve) {
+ SIG, 32,
+ LENG, 32,
+ REV, 8,
+ SUM, 8,
+ OID, 48,
+ OTID, 64,
+ OREV, 32,
+ CID, 32,
+ CREV, 32,
+ Offset(39),
+ SSNM, 32,
+ Offset(47),
+ SSRT, 32
+ }
+
+ Store(BUF0, RFU0)
+
+ // Modify Revision field of SSDT
+ Store(Add(CREV, 1), CREV)
+
+ // Modify SSNM Object Name
+ Divide(HI0N, NNML, Local0, Local1)
+ Store(Derefof(Index(SNML, Local1)), Local1)
+ ShiftLeft(Local1, 16, Local1)
+ Store(Derefof(Index(SNML, Local0)), Local0)
+ ShiftLeft(Local0, 24, Local0)
+ Add(Local0, Local1, Local0)
+ Add(Local0, 0x5353, Local0)
+ Store(Local0, SSNM)
+ Store(SSNM, Debug)
+
+ // Modify SSNM Method Return String
+ Store(Local0, SSRT)
+
+ // Recalculate and save CheckSum
+ Store(RFU0, Local0)
+ Store(Add(SUM, CHSM(Local0, SizeOf (Local0))), SUM)
+
+ Load(RFU0, Index(HI0P, HI0N))
+ Increment(HI0N)
+ Store("LD: SSDT Loaded", Debug)
+
+ Return (0)
+ }
+
+ // UnLoads the last Table of multiple Tables Load test
+ Method(UNLD)
+ {
+ if (LEqual(HI0N, 0)) {
+ Store("UNLD: there are no SSDT loaded", Debug)
+ Return (1)
+ }
+ Decrement(HI0N)
+
+ UnLoad(DerefOf(Index(HI0P, HI0N)))
+ Store("UNLD: SSDT UnLoaded", Debug)
+
+ Return (0)
+ }
+
+ External(\SSS0, MethodObj)
+
+ Name(HI0, 0)
+
+ // Simple Load test auxiliary method
+ // Arg1: DDBH, 0 - Local Named, 1 - Global Named,
+ // 2 - LocalX, 3 - element of Package
+ // Arg2: Object, 0 - SSDT, 1 - PSDT,
+ Method(m000, 3)
+ {
+ Name(HI0, 0)
+ Name(PHI0, Package(1){})
+
+ Concatenate(arg0, "-m000", arg0)
+
+ Store(BUF0, RFU0)
+
+ if (CondRefof(\SSS0, Local0)) {
+ err(arg0, z174, 0x000, 0, 0, "\\SSS0", 1)
+ return
+ }
+
+ // Check PSDT case
+ if (Arg2) {
+ Concatenate(arg0, ".PSDT", arg0)
+ Store("PSDT", SIG)
+ }
+
+ // Modify Revision field of SSDT
+ Store(Add(CREV, 1), CREV)
+
+ // Recalculate and save CheckSum
+ Store(RFU0, Local0)
+ Store(Add(SUM, CHSM(Local0, SizeOf (Local0))), SUM)
+
+ if (CH03(arg0, z174, 0x001, 0, 0)) {
+ return
+ }
+
+ // Load operator execution
+ switch (arg1) {
+ case (0) {Load(RFU0, HI0)}
+ case (1) {Load(RFU0, \DTM0.HI0)}
+ case (2) {Load(RFU0, Local2)}
+ case (3) {Load(RFU0, Index(PHI0, 0))}
+ default {
+ Store("Unexpected parameter of the test", Debug)
+ err(arg0, z174, 0x002, 0, 0, "\\SSS0", 1)
+ return
+ }
+ }
+
+ if (CH03(arg0, z174, 0x003, 0, 0)) {
+ return
+ }
+
+ Store("Table Loaded", Debug)
+
+ // Check DDBHandle ObjectType
+ if (y260) {
+ switch (arg1) {
+ case (0) {Store(ObjectType(HI0), Local1)}
+ case (1) {Store(ObjectType(\DTM0.HI0), Local1)}
+ case (2) {Store(ObjectType(Local2), Local1)}
+ case (3) {Store(ObjectType(Index(PHI0, 0)), Local1)}
+ }
+ if (LNotEqual(Local1, c017)) { // DDB Handle
+ err(arg0, z174, 0x004, 0, 0, Local1, c017)
+ }
+ }
+
+ // Check the new Object appears
+
+ if (CondRefof(\SSS0, Local0)) {
+ } else {
+ err(arg0, z174, 0x005, 0, 0, "\\SSS0", 0)
+ }
+
+ Store(ObjectType(Local0), Local1)
+ if (LNotEqual(Local1, c010)) { // Method
+ err(arg0, z174, 0x006, 0, 0, Local1, c010)
+ } else {
+ Store(\SSS0(), Local0)
+ if (CH03(arg0, z174, 0x007, "\\SSS0", 1)) {
+ return
+ }
+ if (LNotEqual("\\SSS0", Local0)) {
+ err(arg0, z174, 0x008, 0, 0, Local0, "\\SSS0")
+ }
+ }
+
+ // UnLoad operator execution
+ switch (arg1) {
+ case (0) {UnLoad(HI0)}
+ case (1) {UnLoad(\DTM0.HI0)}
+ case (2) {UnLoad(Local2)}
+ case (3) {UnLoad(DeRefof(Index(PHI0, 0)))}
+ }
+
+ if (CH03(arg0, z174, 0x009, 0, 0)) {
+ return
+ }
+
+ Store("Table Unloaded", Debug)
+
+ if (CondRefof(\SSS0, Local0)) {
+ err(arg0, z174, 0x00a, 0, 0, "\\SSS0", 1)
+ }
+
+ return (0)
+ }
+
+ // Simple Load test auxiliary method for ArgX, part1
+ // Arg1 - reference to store the DDBHandle
+ Method(m001, 2)
+ {
+ Concatenate(arg0, "-m001", arg0)
+
+ Store(BUF0, RFU0)
+
+ if (CondRefof(\SSS0, Local0)) {
+ err(arg0, z174, 0x00b, 0, 0, "\\SSS0", 1)
+ return (1)
+ }
+
+ // Modify Revision field of SSDT
+ Store(Add(CREV, 1), CREV)
+
+ // Recalculate and save CheckSum
+ Store(RFU0, Local0)
+ Store(Add(SUM, CHSM(Local0, SizeOf (Local0))), SUM)
+
+ if (CH03(arg0, z174, 0x00c, 0, 0)) {
+ return (1)
+ }
+
+ // Load operator execution
+ Load(RFU0, Arg1)
+
+ if (CH03(arg0, z174, 0x00d, 0, 0)) {
+ return (1)
+ }
+
+ Store("SSDT Loaded", Debug)
+
+ return (0)
+ }
+
+ // Simple Load test auxiliary method for ArgX, part2
+ // Arg1 - DDBHandle
+ Method(m002, 2)
+ {
+ Concatenate(arg0, "-m002", arg0)
+
+ // Check DDBHandle ObjectType
+ if (y260) {
+ Store(ObjectType(Arg1), Local1)
+ if (LNotEqual(Local1, c017)) { // DDB Handle
+ err(arg0, z174, 0x00e, 0, 0, Local1, c017)
+ }
+ }
+
+ // Check the new Object appears
+
+ if (CondRefof(\SSS0, Local0)) {
+ } else {
+ err(arg0, z174, 0x00f, 0, 0, "\\SSS0", 0)
+ }
+
+ Store(ObjectType(Local0), Local1)
+ if (LNotEqual(Local1, c010)) { // Method
+ err(arg0, z174, 0x010, 0, 0, Local1, c010)
+ } else {
+ Store(\SSS0(), Local0)
+ if (CH03(arg0, z174, 0x011, "\\SSS0", 1)) {
+ return
+ }
+ if (LNotEqual("\\SSS0", Local0)) {
+ err(arg0, z174, 0x012, 0, 0, Local0, "\\SSS0")
+ }
+ }
+
+ UnLoad(Arg1)
+
+ if (CH03(arg0, z174, 0x013, 0, 0)) {
+ return
+ }
+
+ Store("SSDT Unloaded", Debug)
+
+ if (CondRefof(\SSS0, Local0)) {
+ err(arg0, z174, 0x014, 0, 0, "\\SSS0", 1)
+ }
+
+ return (0)
+ }
+
+ // Loading SSDT from a SystemMemory OpRegion,
+ // different targets for DDBHandle.
+ // Check DDBHandle storing into different Object locations:
+
+ // DDBHandle storing into Named Integer
+ Method(tst0, 1)
+ {
+ Concatenate(arg0, "-tst0", arg0)
+
+ // Local Named Integer
+ m000(arg0, 0, 0)
+
+ // Global Named Integer
+ m000(arg0, 1, 0)
+
+ // PSDT case
+
+ // Local Named Integer
+ m000(arg0, 0, 1)
+
+ // Global Named Integer
+ m000(arg0, 1, 1)
+ }
+
+ // DDBHandle storing into LocalX
+ Method(tst1, 1)
+ {
+ Concatenate(arg0, "-tst1", arg0)
+
+ // LocalX
+ m000(arg0, 2, 0)
+
+ // PSDT case
+ m000(arg0, 2, 1)
+ }
+
+ // DDBHandle storing into Package element
+ Method(tst2, 1)
+ {
+ Concatenate(arg0, "-tst2", arg0)
+
+ // Package element
+ // Crash on copying the specific reference Object
+ if (y261) {
+ m000(arg0, 3, 0)
+
+ // PSDT case
+ m000(arg0, 3, 1)
+ }
+ }
+
+ // DDBHandle storing into an Object by Reference in Argx
+ Method(tst3, 1)
+ {
+ Name(HI0, 0)
+
+ Concatenate(arg0, "-tst3", arg0)
+
+ // Named by Reference in ArgX
+ if (m001(arg0, Refof(HI0))) {
+ return
+ }
+ m002(arg0, HI0)
+
+ // LocalX by Reference in ArgX
+ if (m001(arg0, Refof(Local2))) {
+ return
+ }
+ m002(arg0, Local2)
+
+ // Package element by Reference in ArgX
+ if (y133) {
+ Name(PHI0, Package(1){0})
+ Store(Index(PHI0, 0), Local0)
+ if (m001(arg0, Local0)) {
+ return
+ }
+ m002(arg0, DeRefof(Local0))
+ }
+ return
+ }
+
+ // Combination of the OperationRegion operator arguments
+
+ OperationRegion(RGN0, SystemMemory, 0x00, 0x201)
+ OperationRegion(RGN1, SystemIO, 0x200, 0x203)
+ OperationRegion(RGN2, PCI_Config, 0x400, 0x205)
+ OperationRegion(RGN3, EmbeddedControl, 0x600, 0x207)
+ OperationRegion(RGN4, SMBus, 0x800, 0x209)
+ OperationRegion(RGN5, SystemCMOS, 0xa00, 0x20b)
+ OperationRegion(RGN6, PciBarTarget, 0xc00, 0x20d)
+
+ // UserDefRegionSpace
+ OperationRegion(RGN7, 0x80, 0xd00, 0x217)
+ OperationRegion(RGN8, 0xcf, 0xe00, 0x218)
+ OperationRegion(RGN9, 0xff, 0xf00, 0x219)
+
+ // Loading SSDT from a Field of an OpRegion of any type,
+ // different targets for DDBHandle.
+
+ // Check DDBHandle storing into different Object locations:
+ // Named Integer, LocalX, by Reference in Argx, etc.
+ // m003(CallChain, Index, Region)
+ Method(m003, 3)
+ {
+ Concatenate(arg0, "-m003", arg0)
+
+ // Auxiliary method:
+ // Arg1 - choice of a target
+ // Arg2 - OpRegion Object of a specified type
+ Method(m000, 3)
+ {
+ Name(HI0, 0)
+ Name(PHI0, Package(1){})
+
+ OperationRegion(OPRm, 0xff, 0, 0x1000)
+
+ Concatenate(arg0, "-m000", arg0)
+
+ CopyObject(arg2, OPRm)
+
+ Field(OPRm, ByteAcc, NoLock, Preserve) {
+ RFU0, 0x1a0,
+ }
+
+ Field(OPRm, ByteAcc, NoLock, Preserve) {
+ SIG, 32,
+ LENG, 32,
+ REV, 8,
+ SUM, 8,
+ OID, 48,
+ OTID, 64,
+ OREV, 32,
+ CID, 32,
+ CREV, 32,
+ Offset(39),
+ SSNM, 32
+ }
+
+ Store(BUF0, RFU0)
+
+ if (CondRefof(\SSS0, Local0)) {
+ err(arg0, z174, 0x015, 0, 0, "\\SSS0", 1)
+ return
+ }
+
+ // Modify Revision field of SSDT
+ Store(Add(CREV, 1), CREV)
+
+ // Recalculate and save CheckSum
+ Store(RFU0, Local0)
+ Store(Add(SUM, CHSM(Local0, SizeOf (Local0))), SUM)
+
+ if (CH03(arg0, z174, 0x016, 0, 0)) {
+ return
+ }
+
+ // Load operator execution
+ switch (arg1) {
+ case (0) {Load(RFU0, HI0)}
+ case (1) {Load(RFU0, \DTM0.HI0)}
+ case (2) {Load(RFU0, Local2)}
+ case (3) {Load(RFU0, Index(PHI0, 0))}
+ default {
+ Store("Unexpected parameter of the test", Debug)
+ err(arg0, z174, 0x017, 0, 0, "\\SSS0", 1)
+ return
+ }
+ }
+
+ if (CH03(arg0, z174, 0x018, 0, 0)) {
+ return
+ }
+
+ Store("SSDT Loaded", Debug)
+
+ // Check DDBHandle ObjectType
+ if (y260) {
+ switch (arg1) {
+ case (0) {Store(ObjectType(HI0), Local1)}
+ case (1) {Store(ObjectType(\DTM0.HI0), Local1)}
+ case (2) {Store(ObjectType(Local2), Local1)}
+ case (3) {Store(ObjectType(Index(PHI0, 0)), Local1)}
+ }
+ if (LNotEqual(Local1, c017)) { // DDB Handle
+ err(arg0, z174, 0x019, 0, 0, Local1, c017)
+ }
+ }
+
+ // Check the new Object appears
+
+ if (CondRefof(\SSS0, Local0)) {
+ } else {
+ err(arg0, z174, 0x01a, 0, 0, "\\SSS0", 0)
+ }
+
+ Store(ObjectType(Local0), Local1)
+ if (LNotEqual(Local1, c010)) { // Method
+ err(arg0, z174, 0x01b, 0, 0, Local1, c010)
+ } else {
+ Store(\SSS0(), Local0)
+ if (CH03(arg0, z174, 0x01c, "\\SSS0", 1)) {
+ return
+ }
+ if (LNotEqual("\\SSS0", Local0)) {
+ err(arg0, z174, 0x01d, 0, 0, Local0, "\\SSS0")
+ }
+ }
+
+ // UnLoad operator execution
+ switch (arg1) {
+ case (0) {UnLoad(HI0)}
+ case (1) {UnLoad(\DTM0.HI0)}
+ case (2) {UnLoad(Local2)}
+ case (3) {UnLoad(DeRefof(Index(PHI0, 0)))}
+ }
+
+ if (CH03(arg0, z174, 0x01e, 0, 0)) {
+ return
+ }
+
+ Store("SSDT Unloaded", Debug)
+
+ if (CondRefof(\SSS0, Local0)) {
+ err(arg0, z174, 0x01f, 0, 0, "\\SSS0", 1)
+ }
+
+ return (0)
+ }
+
+ // Auxiliary method for ArgX, part1
+ // Arg1 - reference to store the DDBHandle
+ // Arg2 - OpRegion Object of a specified type
+ Method(m001, 3)
+ {
+ OperationRegion(OPRm, 0xff, 0, 0x1000)
+
+ Concatenate(arg0, "-m001", arg0)
+
+ CopyObject(arg2, OPRm)
+
+ Field(OPRm, ByteAcc, NoLock, Preserve) {
+ RFU0, 0x1a0,
+ }
+
+ Field(OPRm, ByteAcc, NoLock, Preserve) {
+ SIG, 32,
+ LENG, 32,
+ REV, 8,
+ SUM, 8,
+ OID, 48,
+ OTID, 64,
+ OREV, 32,
+ CID, 32,
+ CREV, 32,
+ Offset(39),
+ SSNM, 32
+ }
+
+ Store(BUF0, RFU0)
+
+ if (CondRefof(\SSS0, Local0)) {
+ err(arg0, z174, 0x020, 0, 0, "\\SSS0", 1)
+ return (1)
+ }
+
+ // Modify Revision field of SSDT
+ Store(Add(CREV, 1), CREV)
+
+ // Recalculate and save CheckSum
+ Store(RFU0, Local0)
+ Store(Add(SUM, CHSM(Local0, SizeOf (Local0))), SUM)
+
+ if (CH03(arg0, z174, 0x021, 0, 0)) {
+ return (1)
+ }
+
+ // Load operator execution
+ Load(RFU0, Arg1)
+
+ if (CH03(arg0, z174, 0x022, 0, 0)) {
+ return (1)
+ }
+
+ Store("SSDT Loaded", Debug)
+
+ return (0)
+ }
+
+ // Arg1 - OpRegion Object of a specified type
+ Method(m003, 2)
+ {
+ Concatenate(arg0, "-m003", arg0)
+
+ // Local Named Integer
+ m000(arg0, 0, arg1)
+
+ // Global Named Integer
+ m000(arg0, 1, arg1)
+
+ // LocalX
+ m000(arg0, 2, arg1)
+
+ // Package element
+ // Crash on copying the specific reference Object
+ if (y261) {
+ m000(arg0, 3, arg1)
+ }
+
+ // ArgX
+ if (m001(arg0, Refof(Local2), arg1)) {
+ return
+ }
+ m002(arg0, Local2)
+
+ // Package element as ArgX
+ if (y133) {
+ Name(PHI0, Package(1){0})
+ Store(Index(PHI0, 0), Local0)
+ if (m001(arg0, Local0, arg1)) {
+ return
+ }
+ m002(arg0, DeRefof(Local0))
+ }
+ return
+ }
+
+ // Region type's Address Space Handler installed flags,
+ // only those types' OpRegion can be tested.
+ Store(
+ Buffer(10){
+ 1,
+ 1,
+ 0, /* 0x02 - PCI_Config */
+ 1,
+ 0, /* 0x04 - SMBus */
+ 0, /* 0x05 - SystemCMOS */
+ 0, /* 0x06 - PciBarTarget */
+ 1,
+ 0, /* 0xcf - UserDefRegionSpace */
+ 0},/* 0xff - UserDefRegionSpace */
+ Local2)
+
+ Store(Derefof(Index(Local2, Arg1)), Local3)
+ if (Local3) {
+ Concatenate(arg0, "-0x", Local4)
+ Concatenate(Local4,
+ Mid(ToHexString(Arg1), Add(6, Multiply(F64, 8)), 2),
+ Local4)
+ Store(Local4, Debug)
+ m003(Local4, Arg2)
+ } else {
+ Store("This Region type's AddrSpace Handler not installed", Debug)
+ err(arg0, z174, 0x023, 0, 0, Local2, Arg1)
+ }
+ }
+
+ // SystemMemory Region
+ Method(tst4, 1)
+ {
+ Concatenate(arg0, "-tst4", arg0)
+
+ m003(Arg0, 0, RGN0)
+ }
+
+ // SystemIO Region
+ Method(tst5, 1)
+ {
+ Concatenate(arg0, "-tst5", arg0)
+
+ m003(Arg0, 1, RGN1)
+ }
+
+ // EmbeddedControl Region
+ Method(tst6, 1)
+ {
+ Concatenate(arg0, "-tst6", arg0)
+
+ m003(Arg0, 3, RGN3)
+ }
+
+ // User defined Region
+ Method(tst7, 1)
+ {
+ Concatenate(arg0, "-tst7", arg0)
+
+ m003(Arg0, 7, RGN7)
+ }
+
+ // Check that "namespace location to load the Definition Block
+ // is relative to the current namespace" scope,
+
+ // Originated from ssdt1.asl: iasl -tc ssdt1.asl
+ Name(BUF1, Buffer(){
+ 0x53,0x53,0x44,0x54,0x5F,0x00,0x00,0x00, /* 00000000 "SSDT_..." */
+ 0x02,0x33,0x49,0x6E,0x74,0x65,0x6C,0x00, /* 00000008 ".3Intel." */
+ 0x4D,0x61,0x6E,0x79,0x00,0x00,0x00,0x00, /* 00000010 "Many...." */
+ 0x01,0x00,0x00,0x00,0x49,0x4E,0x54,0x4C, /* 00000018 "....INTL" */
+ 0x15,0x12,0x06,0x20,0x10,0x1F,0x5C,0x00, /* 00000020 "... ..\." */
+ 0x08,0x4E,0x41,0x42,0x53,0x0D,0x61,0x62, /* 00000028 ".NABS.ab" */
+ 0x73,0x6F,0x6C,0x75,0x74,0x65,0x20,0x6C, /* 00000030 "solute l" */
+ 0x6F,0x63,0x61,0x74,0x69,0x6F,0x6E,0x20, /* 00000038 "ocation " */
+ 0x6F,0x62,0x6A,0x00,0x08,0x4E,0x43,0x52, /* 00000040 "obj..NCR" */
+ 0x52,0x0D,0x63,0x75,0x72,0x72,0x65,0x6E, /* 00000048 "R.curren" */
+ 0x74,0x20,0x6C,0x6F,0x63,0x61,0x74,0x69, /* 00000050 "t locati" */
+ 0x6F,0x6E,0x20,0x6F,0x62,0x6A,0x00,
+ })
+
+ OperationRegion (IST1, SystemMemory, 0x100, 0x5f)
+
+ Field(IST1, ByteAcc, NoLock, Preserve) {
+ RFU1, 0x2f8,
+ }
+
+ Method(tst8, 1)
+ {
+ Name(DDBH, 0)
+
+ Concatenate(arg0, "-tst8", arg0)
+
+ // Check absence
+ if (CondRefof(NABS, Local0)) {
+ err(arg0, z174, 0x024, 0, 0, "NABS", 1)
+ }
+ if (CondRefof(NCRR, Local0)) {
+ err(arg0, z174, 0x025, 0, 0, "NCRR", 1)
+ }
+
+ Store(BUF1, RFU1)
+ Load(RFU1, DDBH)
+ Store("SSDT loaded", Debug)
+
+ // Check existence
+ if (CondRefof(NABS, Local0)) {
+ if (LNotEqual("absolute location obj", Derefof(Local0))) {
+ err(arg0, z174, 0x026, 0, 0, Derefof(Local0),
+ "absolute location obj")
+ }
+ } else {
+ err(arg0, z174, 0x027, 0, 0, "NABS", 0)
+ }
+ if (CondRefof(NCRR, Local0)) {
+ if (LNotEqual("current location obj", Derefof(Local0))) {
+ err(arg0, z174, 0x028, 0, 0, Derefof(Local0),
+ "current location obj")
+ }
+ } else {
+ err(arg0, z174, 0x029, 0, 0, "NCRR", 0)
+ }
+
+ // Check location
+ if (CondRefof(\NABS, Local0)) {
+ } else {
+ err(arg0, z174, 0x02a, 0, 0, "NABS", 0)
+ }
+ if (CondRefof(\NCRR, Local0)) {
+ err(arg0, z174, 0x02b, 0, 0, "\\NCRR", 1)
+ }
+ if (CondRefof(\DTM0.NCRR, Local0)) {
+ err(arg0, z174, 0x02c, 0, 0, "\\DTM0.NCRR", 1)
+ }
+ if (CondRefof(\DTM0.TST8.NCRR, Local0)) {
+ } else {
+ err(arg0, z174, 0x02d, 0, 0, "\\DTM0.TST8.NCRR", 0)
+ }
+
+ UnLoad(DDBH)
+ Store("SSDT unloaded", Debug)
+
+ // Check absence
+ if (CondRefof(NABS, Local0)) {
+ err(arg0, z174, 0x02e, 0, 0, "NABS", 1)
+ }
+ if (CondRefof(NCRR, Local0)) {
+ err(arg0, z174, 0x02f, 0, 0, "NCRR", 1)
+ }
+ }
+
+ // Check global and dynamic declarations of OpRegions
+ // and the appropriate _REG Methods invocation for the
+ // loaded SSDT
+
+ // Originated from ssdt2.asl: iasl -tc ssdt2.asl
+ Name(BUF2, Buffer(){
+ 0x53,0x53,0x44,0x54,0x17,0x01,0x00,0x00, /* 00000000 "SSDT...." */
+ 0x02,0x7B,0x49,0x6E,0x74,0x65,0x6C,0x00, /* 00000008 ".{Intel." */
+ 0x4D,0x61,0x6E,0x79,0x00,0x00,0x00,0x00, /* 00000010 "Many...." */
+ 0x01,0x00,0x00,0x00,0x49,0x4E,0x54,0x4C, /* 00000018 "....INTL" */
+ 0x15,0x12,0x06,0x20,0x5B,0x82,0x41,0x0F, /* 00000020 "... [.A." */
+ 0x41,0x55,0x58,0x44,0x5B,0x80,0x4F,0x50, /* 00000028 "AUXD[.OP" */
+ 0x52,0x30,0x80,0x0C,0x00,0x00,0x00,0x01, /* 00000030 "R0......" */
+ 0x0A,0x04,0x5B,0x81,0x0B,0x4F,0x50,0x52, /* 00000038 "..[..OPR" */
+ 0x30,0x03,0x52,0x46,0x30,0x30,0x20,0x08, /* 00000040 "0.RF00 ." */
+ 0x52,0x45,0x47,0x43,0x0C,0xFF,0xFF,0xFF, /* 00000048 "REGC...." */
+ 0xFF,0x08,0x52,0x45,0x47,0x50,0x0A,0x00, /* 00000050 "..REGP.." */
+ 0x08,0x52,0x45,0x47,0x44,0x0C,0xFF,0xFF, /* 00000058 ".REGD..." */
+ 0xFF,0xFF,0x08,0x52,0x45,0x47,0x52,0x0A, /* 00000060 "...REGR." */
+ 0x00,0x14,0x33,0x5F,0x52,0x45,0x47,0x02, /* 00000068 "..3_REG." */
+ 0x70,0x0D,0x5C,0x41,0x55,0x58,0x44,0x2E, /* 00000070 "p.\AUXD." */
+ 0x5F,0x52,0x45,0x47,0x3A,0x00,0x5B,0x31, /* 00000078 "_REG:.[1" */
+ 0x70,0x68,0x5B,0x31,0x70,0x69,0x5B,0x31, /* 00000080 "ph[1pi[1" */
+ 0xA0,0x14,0x93,0x68,0x0A,0x80,0x70,0x52, /* 00000088 "...h..pR" */
+ 0x45,0x47,0x43,0x52,0x45,0x47,0x50,0x70, /* 00000090 "EGCREGPp" */
+ 0x69,0x52,0x45,0x47,0x43,0x14,0x49,0x07, /* 00000098 "iREGC.I." */
+ 0x4D,0x30,0x30,0x30,0x00,0x14,0x38,0x5F, /* 000000A0 "M000..8_" */
+ 0x52,0x45,0x47,0x02,0x70,0x0D,0x5C,0x41, /* 000000A8 "REG.p.\A" */
+ 0x55,0x58,0x44,0x2E,0x4D,0x30,0x30,0x30, /* 000000B0 "UXD.M000" */
+ 0x2E,0x5F,0x52,0x45,0x47,0x3A,0x00,0x5B, /* 000000B8 "._REG:.[" */
+ 0x31,0x70,0x68,0x5B,0x31,0x70,0x69,0x5B, /* 000000C0 "1ph[1pi[" */
+ 0x31,0xA0,0x14,0x93,0x68,0x0A,0x80,0x70, /* 000000C8 "1...h..p" */
+ 0x52,0x45,0x47,0x44,0x52,0x45,0x47,0x52, /* 000000D0 "REGDREGR" */
+ 0x70,0x69,0x52,0x45,0x47,0x44,0x5B,0x80, /* 000000D8 "piREGD[." */
+ 0x4F,0x50,0x52,0x31,0x80,0x0C,0x10,0x00, /* 000000E0 "OPR1...." */
+ 0x00,0x01,0x0A,0x04,0x5B,0x81,0x0B,0x4F, /* 000000E8 "....[..O" */
+ 0x50,0x52,0x31,0x03,0x52,0x46,0x30,0x31, /* 000000F0 "PR1.RF01" */
+ 0x20,0x70,0x0D,0x5C,0x41,0x55,0x58,0x44, /* 000000F8 " p.\AUXD" */
+ 0x2E,0x4D,0x30,0x30,0x30,0x3A,0x00,0x5B, /* 00000100 ".M000:.[" */
+ 0x31,0x70,0x52,0x46,0x30,0x31,0x5B,0x31, /* 00000108 "1pRF01[1" */
+ 0x70,0x52,0x45,0x47,0x52,0x5B,0x31,
+ })
+
+ OperationRegion (IST2, SystemMemory, 0x200, 0x117)
+
+ Field(IST2, ByteAcc, NoLock, Preserve) {
+ RFU2, 0x8b8,
+ }
+
+ External(\AUXD.M000, MethodObj)
+
+ Method(tst9, 1)
+ {
+ Name(DDBH, 0)
+
+ Concatenate(arg0, "-tst9", arg0)
+
+ Store(BUF2, RFU2)
+
+ if (CondRefof(\AUXD, Local0)) {
+ err(arg0, z174, 0x030, 0, 0, "\\AUXD", 1)
+ return
+ }
+
+ if (CH03(arg0, 0, 0x031, 0, 0)) {
+ return
+ }
+
+ Load(RFU2, DDBH)
+
+ if (CH03(arg0, 0, 0x032, 0, 0)) {
+ return
+ }
+
+ if (CondRefof(\AUXD, Local0)) {
+ } else {
+ err(arg0, z174, 0x033, 0, 0, "\\AUXD", 0)
+ return
+ }
+
+ Store (ObjectType(Local0), Local1)
+
+ if (LNotEqual(Local1, 6)) {
+ err(arg0, z174, 0x034, 0, 0, Local1, 6)
+ return
+ }
+
+ if (CondRefof(\AUXD.REGC, Local0)) {
+ } else {
+ err(arg0, z174, 0x035, 0, 0, "\\AUXD.REGC", 0)
+ return
+ }
+
+ Store(Derefof(Local0), Local1)
+
+ if (LNotEqual(1, Local1)) {
+ err(arg0, z174, 0x036, 0, 0, Local1, 1)
+ }
+
+ if (CondRefof(\AUXD.REGD, Local0)) {
+ } else {
+ err(arg0, z174, 0x037, 0, 0, "\\AUXD.REGD", 0)
+ return
+ }
+
+ Store(Derefof(Local0), Local1)
+
+ if (LNotEqual(0xFFFFFFFF, Local1)) {
+ err(arg0, z174, 0x038, 0, 0, Local1, 0xFFFFFFFF)
+ } elseif (CondRefof(\AUXD.M000, Local2)) {
+
+ \AUXD.M000()
+
+ Store(Derefof(Local0), Local1)
+
+ if (LNotEqual(1, Local1)) {
+ err(arg0, z174, 0x039, 0, 0, Local1, 1)
+ }
+ } else {
+ err(arg0, z174, 0x03a, 0, 0, "\\AUXD.M000", 0)
+ }
+
+ UnLoad(DDBH)
+
+ if (CondRefof(\AUXD, Local0)) {
+ err(arg0, z174, 0x03b, 0, 0, "\\AUXD", 1)
+ }
+ return
+ }
+
+ // Checks that only specified Tables objects present in the NS
+ Method(LDCH, 1)
+ {
+ Method(MAUX) {Return ("MAUX")}
+
+ Concatenate(arg0, "-LDCH", arg0)
+
+ if (CH03(arg0, z174, 0x040, 0, 0)) {
+ return (1)
+ }
+
+ // Specify to check up to 3 successive \SSxx names
+ Store(1, Local0)
+ if (HI0N) {
+ Subtract(HI0N, 1, Local1)
+ if (Local1) {
+ Decrement(Local1)
+ }
+ } else {
+ Store(0, Local1)
+ }
+ if (LLess(Add(Local1, 1), HI0M)) {
+ Increment(Local0)
+ if (LLess(Add(Local1, 2), HI0M)) {
+ Increment(Local0)
+ }
+ }
+
+ while (Local0) {
+ Divide(Local1, NNML, Local3, Local4)
+ Store("\\SSS0", Local5)
+ Store(Derefof(Index(SNML, Local4)), Index(Local5, 3))
+ Store(Derefof(Index(SNML, Local3)), Index(Local5, 4))
+
+ Store(Local5, Debug)
+
+ // Access the next \SSxx Object
+ CopyObject(Derefof(Local5), MAUX)
+
+ if (LLess(Local1, HI0N)) {
+ if (CH03(arg0, z174, 0x041, 0, 0)) {
+ return (2)
+ }
+ Store(MAUX(), Local2)
+ if (CH03(arg0, z174, 0x042, 0, 0)) {
+ return (3)
+ }
+ if (LNotEqual(Local5, Local2)) {
+ err(arg0, z174, 0x043, 0, 0, Local2, Local5)
+ }
+ } else {
+ if (CH04(arg0, 0, 0xff, z174, 0x044, 0, 0)) { // AE_NOT_FOUND
+ return (4)
+ }
+ }
+ Increment(Local1)
+ Decrement(Local0)
+ }
+
+ Return (0)
+ }
+
+ // Loading a number of different SSDTs
+ // Arg1: the number of SSDT to load
+ Method(tsta, 2)
+ {
+ Concatenate(arg0, "-tsta", arg0)
+
+ if (INIT()) {
+ err(arg0, z174, 0x045, 0, 0, "INIT", 1)
+ return (1)
+ }
+ if (CH03(arg0, z174, 0x046, 0, 0)) {
+ return (1)
+ }
+
+ Store(arg1, Local0)
+ while (Local0) {
+ if (LD()) {
+ err(arg0, z174, 0x047, 0, 0, "HI0N", HI0N)
+ return (1)
+ }
+ if (CH03(arg0, z174, 0x048, 0, 0)) {
+ return (1)
+ }
+ Decrement(Local0)
+
+ if (LDCH(arg0)) {
+ err(arg0, z174, 0x049, 0, 0, "HI0N", HI0N)
+ return (1)
+ }
+ }
+
+ Store(arg1, Local0)
+ while (Local0) {
+ if (UNLD()) {
+ err(arg0, z174, 0x040a, 0, 0, "HI0N", HI0N)
+ return (1)
+ }
+ if (CH03(arg0, z174, 0x04b, 0, 0)) {
+ return (1)
+ }
+ Decrement(Local0)
+
+ if (LDCH(arg0)) {
+ err(arg0, z174, 0x04c, 0, 0, "HI0N", HI0N)
+ return (1)
+ }
+ }
+
+ return (0)
+ }
+
+ // Exceptions when the Object argument does not refer to
+ // an operation region field or an operation region
+
+ // Originated from ssdt3.asl: iasl -tc ssdt3.asl
+ Name(BUF3, Buffer(){
+ 0x53,0x53,0x44,0x54,0x1F,0x01,0x00,0x00, /* 00000000 "SSDT...." */
+ 0x02,0x58,0x49,0x6E,0x74,0x65,0x6C,0x00, /* 00000008 ".XIntel." */
+ 0x4D,0x61,0x6E,0x79,0x00,0x00,0x00,0x00, /* 00000010 "Many...." */
+ 0x01,0x00,0x00,0x00,0x49,0x4E,0x54,0x4C, /* 00000018 "....INTL" */
+ 0x15,0x12,0x06,0x20,0x5B,0x82,0x49,0x0F, /* 00000020 "... [.I." */
+ 0x41,0x55,0x58,0x44,0x08,0x49,0x4E,0x54, /* 00000028 "AUXD.INT" */
+ 0x30,0x0E,0x10,0x32,0x54,0x76,0x98,0xBA, /* 00000030 "0..2Tv.." */
+ 0xDC,0xFE,0x08,0x53,0x54,0x52,0x30,0x0D, /* 00000038 "...STR0." */
+ 0x73,0x6F,0x75,0x72,0x63,0x65,0x20,0x73, /* 00000040 "source s" */
+ 0x74,0x72,0x69,0x6E,0x67,0x30,0x00,0x08, /* 00000048 "tring0.." */
+ 0x42,0x55,0x46,0x30,0x11,0x0C,0x0A,0x09, /* 00000050 "BUF0...." */
+ 0x09,0x08,0x07,0x06,0x05,0x04,0x03,0x02, /* 00000058 "........" */
+ 0x01,0x08,0x50,0x41,0x43,0x30,0x12,0x27, /* 00000060 "..PAC0.'" */
+ 0x03,0x0E,0x1F,0x32,0x54,0x76,0x98,0xBA, /* 00000068 "...2Tv.." */
+ 0xDC,0xFE,0x0D,0x74,0x65,0x73,0x74,0x20, /* 00000070 "...test " */
+ 0x70,0x61,0x63,0x6B,0x61,0x67,0x65,0x30, /* 00000078 "package0" */
+ 0x00,0x11,0x0C,0x0A,0x09,0x13,0x12,0x11, /* 00000080 "........" */
+ 0x10,0x0F,0x0E,0x0D,0x0C,0x0B,0x5B,0x81, /* 00000088 "......[." */
+ 0x0B,0x4F,0x50,0x52,0x30,0x01,0x46,0x4C, /* 00000090 ".OPR0.FL" */
+ 0x55,0x30,0x20,0x5B,0x82,0x10,0x44,0x45, /* 00000098 "U0 [..DE" */
+ 0x56,0x30,0x08,0x53,0x30,0x30,0x30,0x0D, /* 000000A0 "V0.S000." */
+ 0x44,0x45,0x56,0x30,0x00,0x5B,0x02,0x45, /* 000000A8 "DEV0.[.E" */
+ 0x56,0x45,0x30,0x14,0x09,0x4D,0x4D,0x4D, /* 000000B0 "VE0..MMM" */
+ 0x30,0x00,0xA4,0x0A,0x00,0x5B,0x01,0x4D, /* 000000B8 "0....[.M" */
+ 0x54,0x58,0x30,0x00,0x5B,0x80,0x4F,0x50, /* 000000C0 "TX0.[.OP" */
+ 0x52,0x30,0x00,0x0C,0x21,0x43,0x65,0x07, /* 000000C8 "R0..!Ce." */
+ 0x0A,0x98,0x5B,0x84,0x13,0x50,0x57,0x52, /* 000000D0 "..[..PWR" */
+ 0x30,0x00,0x00,0x00,0x08,0x53,0x30,0x30, /* 000000D8 "0....S00" */
+ 0x30,0x0D,0x50,0x57,0x52,0x30,0x00,0x5B, /* 000000E0 "0.PWR0.[" */
+ 0x83,0x16,0x43,0x50,0x55,0x30,0x00,0xFF, /* 000000E8 "..CPU0.." */
+ 0xFF,0xFF,0xFF,0x00,0x08,0x53,0x30,0x30, /* 000000F0 ".....S00" */
+ 0x30,0x0D,0x43,0x50,0x55,0x30,0x00,0x5B, /* 000000F8 "0.CPU0.[" */
+ 0x85,0x10,0x54,0x5A,0x4E,0x30,0x08,0x53, /* 00000100 "..TZN0.S" */
+ 0x30,0x30,0x30,0x0D,0x54,0x5A,0x4E,0x30, /* 00000108 "000.TZN0" */
+ 0x00,0x5B,0x13,0x42,0x55,0x46,0x30,0x0A, /* 00000110 ".[.BUF0." */
+ 0x00,0x0A,0x45,0x42,0x46,0x4C,0x30,
+ })
+
+ OperationRegion (IST3, SystemMemory, 0x400, 0x11f)
+
+ Field(IST3, ByteAcc, NoLock, Preserve) {
+ RFU3, 0x8f8,
+ }
+
+ Method(tstb, 1)
+ {
+ Name(DDB0, 0)
+ Name(DDBH, 0)
+
+ // Integer
+ External(\AUXD.INT0)
+ // String
+ External(\AUXD.STR0)
+ // Buffer
+ External(\AUXD.BUF0)
+ // Package
+ External(\AUXD.PAC0)
+ // Device
+ External(\AUXD.DEV0)
+ // Event
+ External(\AUXD.EVE0)
+ // Method
+ External(\AUXD.MMM0)
+ // Mutex
+ External(\AUXD.MTX0)
+ // Power Resource
+ External(\AUXD.PWR0)
+ // Processor
+ External(\AUXD.CPU0)
+ // Thermal Zone
+ External(\AUXD.TZN0)
+ // Buffer Field
+ External(\AUXD.BFL0)
+
+ Concatenate(arg0, "-tstb", arg0)
+
+ Store(BUF3, RFU3)
+ Load(RFU3, DDB0)
+
+ if (CH03(arg0, z174, 0x050, 0, 0)) {
+ return (1)
+ }
+
+ // Uninitialized: it can not be aplied to Load which
+ // allows NameString only to be used as Object parameter
+
+ // Integer
+ Load(\AUXD.INT0, DDBH)
+ CH04(arg0, 0, 47, z174, 0x051, 0, 0) // AE_AML_OPERAND_TYPE
+ Store(ObjectType(\AUXD.INT0), Local0)
+ if (LNotEqual(c009, Local0)) {
+ err(arg0, z174, 0x052, 0, 0, Local0, c009)
+ }
+
+ // String
+ Load(\AUXD.STR0, DDBH)
+ CH04(arg0, 0, 47, z174, 0x053, 0, 0) // AE_AML_OPERAND_TYPE
+ Store(ObjectType(\AUXD.STR0), Local0)
+ if (LNotEqual(c00a, Local0)) {
+ err(arg0, z174, 0x054, 0, 0, Local0, c00a)
+ }
+
+ // Buffer
+ if (y282) {
+ // TBD: LBZ480 update allows Buffer to be Source of Load
+ Load(\AUXD.BUF0, DDBH)
+ CH04(arg0, 0, 47, z174, 0x055, 0, 0) // AE_AML_OPERAND_TYPE
+ Store(ObjectType(\AUXD.BUF0), Local0)
+ if (LNotEqual(c00b, Local0)) {
+ err(arg0, z174, 0x056, 0, 0, Local0, c00b)
+ }
+ }
+
+ // Package
+ Load(\AUXD.PAC0, DDBH)
+ CH04(arg0, 0, 47, z174, 0x057, 0, 0) // AE_AML_OPERAND_TYPE
+ Store(ObjectType(\AUXD.PAC0), Local0)
+ if (LNotEqual(c00c, Local0)) {
+ err(arg0, z174, 0x058, 0, 0, Local0, c00c)
+ }
+
+ // Field Unit
+
+ // Device
+ Load(\AUXD.DEV0, DDBH)
+ CH04(arg0, 0, 47, z174, 0x059, 0, 0) // AE_AML_OPERAND_TYPE
+ Store(ObjectType(\AUXD.DEV0), Local0)
+ if (LNotEqual(c00e, Local0)) {
+ err(arg0, z174, 0x05a, 0, 0, Local0, c00e)
+ }
+
+ // Event
+ Load(\AUXD.EVE0, DDBH)
+ CH04(arg0, 0, 47, z174, 0x05b, 0, 0) // AE_AML_OPERAND_TYPE
+ Store(ObjectType(\AUXD.EVE0), Local0)
+ if (LNotEqual(c00f, Local0)) {
+ err(arg0, z174, 0x05c, 0, 0, Local0, c00f)
+ }
+
+ // Method
+ Load(\AUXD.MMM0, DDBH)
+ CH04(arg0, 0, 47, z174, 0x05d, 0, 0) // AE_AML_OPERAND_TYPE
+ Store(ObjectType(\AUXD.MMM0), Local0)
+ if (LNotEqual(c010, Local0)) {
+ err(arg0, z174, 0x05e, 0, 0, Local0, c010)
+ }
+
+ // Mutex
+ Load(\AUXD.MTX0, DDBH)
+ CH04(arg0, 0, 47, z174, 0x05f, 0, 0) // AE_AML_OPERAND_TYPE
+ Store(ObjectType(\AUXD.MTX0), Local0)
+ if (LNotEqual(c011, Local0)) {
+ err(arg0, z174, 0x060, 0, 0, Local0, c011)
+ }
+
+ // OpRegion
+
+ // Power Resource
+ Load(\AUXD.PWR0, DDBH)
+ CH04(arg0, 0, 47, z174, 0x061, 0, 0) // AE_AML_OPERAND_TYPE
+ Store(ObjectType(\AUXD.PWR0), Local0)
+ if (LNotEqual(c013, Local0)) {
+ err(arg0, z174, 0x062, 0, 0, Local0, c013)
+ }
+
+ // Processor
+ Load(\AUXD.CPU0, DDBH)
+ CH04(arg0, 0, 47, z174, 0x063, 0, 0) // AE_AML_OPERAND_TYPE
+ Store(ObjectType(\AUXD.CPU0), Local0)
+ if (LNotEqual(c014, Local0)) {
+ err(arg0, z174, 0x064, 0, 0, Local0, c014)
+ }
+
+ // Thermal Zone
+ Load(\AUXD.TZN0, DDBH)
+ CH04(arg0, 0, 47, z174, 0x065, 0, 0) // AE_AML_OPERAND_TYPE
+ Store(ObjectType(\AUXD.TZN0), Local0)
+ if (LNotEqual(c015, Local0)) {
+ err(arg0, z174, 0x066, 0, 0, Local0, c015)
+ }
+
+ // Buffer Field
+ if (y282) {
+ // TBD: LBZ480 update allows Buffer Field to be Source of Load
+ Load(\AUXD.BFL0, DDBH)
+ CH04(arg0, 0, 47, z174, 0x067, 0, 0) // AE_AML_OPERAND_TYPE
+ Store(ObjectType(\AUXD.BFL0), Local0)
+ if (LNotEqual(c016, Local0)) {
+ err(arg0, z174, 0x068, 0, 0, Local0, c016)
+ }
+ }
+
+ // DDB Handle
+ Load(DDB0, DDBH)
+ CH04(arg0, 0, 47, z174, 0x069, 0, 0) // AE_AML_OPERAND_TYPE
+ if (y260) {
+ Store(ObjectType(DDB0), Local0)
+ if (LNotEqual(c017, Local0)) {
+ err(arg0, z174, 0x06a, 0, 0, Local0, c017)
+ }
+ }
+
+ UnLoad(DDB0)
+
+ return (0)
+ }
+
+ // Exceptions when an OpRegion passed as the Object
+ // parameter of Load is not of SystemMemory type
+ Method(tstc, 1)
+ {
+ Name(DDBH, 0)
+
+ Concatenate(arg0, "-tstc", arg0)
+
+ OperationRegion(RGN1, SystemIO, 0x280, 0x123)
+ OperationRegion(RGN2, PCI_Config, 0x480, 0x125)
+ OperationRegion(RGN3, EmbeddedControl, 0x680, 0x127)
+ OperationRegion(RGN4, SMBus, 0x880, 0x109)
+ OperationRegion(RGN5, SystemCMOS, 0xa80, 0x12b)
+ OperationRegion(RGN6, PciBarTarget, 0xc80, 0x12d)
+
+ // UserDefRegionSpace
+ OperationRegion(RGN7, 0x80, 0xd80, 0x137)
+ OperationRegion(RGN8, 0xcf, 0xe80, 0x138)
+ OperationRegion(RGN9, 0xff, 0xf80, 0x139)
+
+ if (CH03(arg0, z174, 0x06f, 0, 0)) {
+ return (1)
+ }
+
+ // SystemIO
+ Load(RGN1, DDBH)
+ CH04(arg0, 0, 47, z174, 0x220, 0, 0) // AE_AML_OPERAND_TYPE
+ Store(ObjectType(RGN1), Local0)
+ if (LNotEqual(c012, Local0)) {
+ err(arg0, z174, 0x071, 0, 0, Local0, c012)
+ }
+
+ // PCI_Config
+ Load(RGN2, DDBH)
+ CH04(arg0, 0, 47, z174, 0x072, 0, 0) // AE_AML_OPERAND_TYPE
+ Store(ObjectType(RGN2), Local0)
+ if (LNotEqual(c012, Local0)) {
+ err(arg0, z174, 0x073, 0, 0, Local0, c012)
+ }
+
+ // EmbeddedControl
+ Load(RGN3, DDBH)
+ CH04(arg0, 0, 47, z174, 0x074, 0, 0) // AE_AML_OPERAND_TYPE
+ Store(ObjectType(RGN3), Local0)
+ if (LNotEqual(c012, Local0)) {
+ err(arg0, z174, 0x075, 0, 0, Local0, c012)
+ }
+
+ // SMBus
+ Load(RGN4, DDBH)
+ CH04(arg0, 0, 47, z174, 0x076, 0, 0) // AE_AML_OPERAND_TYPE
+ Store(ObjectType(RGN4), Local0)
+ if (LNotEqual(c012, Local0)) {
+ err(arg0, z174, 0x077, 0, 0, Local0, c012)
+ }
+
+ // SystemCMOS
+ Load(RGN5, DDBH)
+ CH04(arg0, 0, 47, z174, 0x078, 0, 0) // AE_AML_OPERAND_TYPE
+ Store(ObjectType(RGN5), Local0)
+ if (LNotEqual(c012, Local0)) {
+ err(arg0, z174, 0x079, 0, 0, Local0, c012)
+ }
+
+ // PciBarTarget
+ Load(RGN6, DDBH)
+ CH04(arg0, 0, 47, z174, 0x07a, 0, 0) // AE_AML_OPERAND_TYPE
+ Store(ObjectType(RGN6), Local0)
+ if (LNotEqual(c012, Local0)) {
+ err(arg0, z174, 0x07b, 0, 0, Local0, c012)
+ }
+
+ // UserDefRegionSpace 0x80
+ Load(RGN7, DDBH)
+ CH04(arg0, 0, 47, z174, 0x07c, 0, 0) // AE_AML_OPERAND_TYPE
+ Store(ObjectType(RGN7), Local0)
+ if (LNotEqual(c012, Local0)) {
+ err(arg0, z174, 0x07d, 0, 0, Local0, c012)
+ }
+
+ // UserDefRegionSpace 0xcf
+ Load(RGN8, DDBH)
+ CH04(arg0, 0, 47, z174, 0x07e, 0, 0) // AE_AML_OPERAND_TYPE
+ Store(ObjectType(RGN8), Local0)
+ if (LNotEqual(c012, Local0)) {
+ err(arg0, z174, 0x07f, 0, 0, Local0, c012)
+ }
+
+ // UserDefRegionSpace 0xff
+ Load(RGN9, DDBH)
+ CH04(arg0, 0, 47, z174, 0x080, 0, 0) // AE_AML_OPERAND_TYPE
+ Store(ObjectType(RGN9), Local0)
+ if (LNotEqual(c012, Local0)) {
+ err(arg0, z174, 0x081, 0, 0, Local0, c012)
+ }
+
+ return (0)
+ }
+
+ // Exceptions when the table contained in an OpRegion
+ // (Field) is not SSDT or PSDT one,
+ Method(tstd, 1)
+ {
+ Name(HI0, 0)
+
+ Concatenate(arg0, "-tstd", arg0)
+
+ if (CondRefof(\SSS0, Local0)) {
+ err(arg0, z174, 0x082, 0, 0, "\\SSS0", 1)
+ return (1)
+ }
+
+ Store(BUF0, RFU0)
+
+ // Modify the Signature field of the Table Header
+ Store(SIG, Local0)
+ Increment(Local0)
+ Store(Local0, SIG)
+
+ // Recalculate and save CheckSum
+ Store(RFU0, Local0)
+ Store(Add(SUM, CHSM(Local0, SizeOf (Local0))), SUM)
+
+ if (CH03(arg0, z174, 0x083, 0, 0)) {
+ return (1)
+ }
+
+ // Load operator execution, OpRegion case
+ if (y290) {
+ Load(IST0, HI0)
+ CH04(arg0, 0, 37, z174, 0x084, 0, 0) // AE_BAD_SIGNATURE
+
+ if (CondRefof(\SSS0, Local0)) {
+ err(arg0, z174, 0x085, 0, 0, "\\SSS0", 1)
+ return (1)
+ }
+ }
+
+ // Load operator execution, OpRegion Field case
+ Load(RFU0, HI0)
+ CH04(arg0, 0, 37, z174, 0x086, 0, 0) // AE_BAD_SIGNATURE
+
+ if (CondRefof(\SSS0, Local0)) {
+ err(arg0, z174, 0x087, 0, 0, "\\SSS0", 1)
+ }
+
+ return (0)
+ }
+
+ // Exceptions when the length of the supplied SSDT is greater
+ // than the length of the respective OpRegion or Region Field,
+ // or less than the length of the Table Header
+ // Arg1: 0 - the 'greater' case, 1 - the 'less' case
+ Method(tste, 2)
+ {
+ Name(HI0, 0)
+
+ Concatenate(arg0, "-tste", arg0)
+
+ if (Arg1) {
+ Concatenate(arg0, ".less", arg0)
+ }
+
+ if (CondRefof(\SSS0, Local0)) {
+ err(arg0, z174, 0x090, 0, 0, "\\SSS0", 1)
+ return (1)
+ }
+
+ Store(BUF0, RFU0)
+
+ // Modify the Length field of the Table Header
+ if (Arg1) {
+ Store(35, Local0)
+ } else {
+ Store(Sizeof(BUF0), Local0)
+ Increment(Local0)
+ }
+ Store(Local0, LENG)
+
+ // Recalculate and save CheckSum
+ Store(RFU0, Local0)
+ Store(Add(SUM, CHSM(Local0, SizeOf (Local0))), SUM)
+
+ if (CH03(arg0, z174, 0x091, 0, 0)) {
+ return (1)
+ }
+
+ // Load operator execution, OpRegion case
+ if (y290) {
+ Load(IST0, HI0)
+ CH04(arg0, 0, 38, z174, 0x092, 0, 0) // AE_BAD_HEADER
+
+ if (CondRefof(\SSS0, Local0)) {
+ err(arg0, z174, 0x093, 0, 0, "\\SSS0", 1)
+
+ // CleanUp
+ UnLoad(HI0)
+ if (CH03(arg0, z174, 0x094, 0, 0)) {
+ return (1)
+ }
+ if (CondRefof(\SSS0, Local0)) {
+ err(arg0, z174, 0x095, 0, 0, "\\SSS0", 1)
+ return (1)
+ }
+ }
+ }
+
+ // Load operator execution, OpRegion Field case
+ Load(RFU0, HI0)
+ CH04(arg0, 0, 38, z174, 0x096, 0, 0) // AE_BAD_HEADER
+
+ if (CondRefof(\SSS0, Local0)) {
+ err(arg0, z174, 0x097, 0, 0, "\\SSS0", 1)
+ UnLoad(HI0)
+ if (CH03(arg0, z174, 0x098, 0, 0)) {
+ return (1)
+ }
+ if (CondRefof(\SSS0, Local0)) {
+ err(arg0, z174, 0x099, 0, 0, "\\SSS0", 1)
+ return (1)
+ }
+ }
+
+ return (0)
+ }
+
+ // Exceptions when the checksum of the supplied SSDT is invalid
+ Method(tstf, 1)
+ {
+ Name(HI0, 0)
+
+ Concatenate(arg0, "-tstf", arg0)
+
+ if (CondRefof(\SSS0, Local0)) {
+ err(arg0, z174, 0x0a0, 0, 0, "\\SSS0", 1)
+ return (1)
+ }
+
+ Store(BUF0, RFU0)
+
+ // Recalculate and save CheckSum
+ Store(RFU0, Local0)
+ Store(Add(SUM, CHSM(Local0, SizeOf (Local0))), SUM)
+
+ // Spoil the CheckSum
+ Store(Add(SUM, 1), SUM)
+
+ if (CH03(arg0, z174, 0x0a1, 0, 0)) {
+ return (1)
+ }
+
+ // Load operator execution, OpRegion case
+ if (y290) {
+ Load(IST0, HI0)
+ CH04(arg0, 0, 39, z174, 0x0a2, 0, 0) // AE_BAD_CHECKSUM
+
+ if (CondRefof(\SSS0, Local0)) {
+ err(arg0, z174, 0x0a3, 0, 0, "\\SSS0", 1)
+
+ //Cleanup
+ UnLoad(HI0)
+ if (CH03(arg0, z174, 0x0a4, 0, 0)) {
+ return (1)
+ }
+ Store(Add(SUM, 1), SUM)
+ }
+ }
+
+ // Load operator execution, OpRegion Field case
+ Load(RFU0, HI0)
+ CH04(arg0, 0, 39, z174, 0x0a5, 0, 0) // AE_BAD_CHECKSUM
+
+ if (CondRefof(\SSS0, Local0)) {
+ err(arg0, z174, 0x0a6, 0, 0, "\\SSS0", 1)
+
+ //Cleanup
+ UnLoad(HI0)
+ if (CH03(arg0, z174, 0x0a7, 0, 0)) {
+ return (1)
+ }
+ if (CH03(arg0, z174, 0x0a8, 0, 0)) {
+ return (1)
+ }
+ }
+
+ return (0)
+ }
+
+ // Object of any type can be used as the DDBHandle argument
+ Method(tstg, 1)
+ {
+ Name(DDB0, 0)
+ Name(DDB1, 0)
+ Name(DDBH, 0)
+
+ // Integer
+ External(\AUXD.INT0)
+ // String
+ External(\AUXD.STR0)
+ // Buffer
+ External(\AUXD.BUF0)
+ // Package
+ External(\AUXD.PAC0)
+ // Field Unit
+ External(\AUXD.FLU0)
+ // Device
+ External(\AUXD.DEV0)
+ // Event
+ External(\AUXD.EVE0)
+ // Method
+ External(\AUXD.MMM0, MethodObj)
+ // Mutex
+ External(\AUXD.MTX0)
+ // OpRegion
+ External(\AUXD.OPR0)
+ // Power Resource
+ External(\AUXD.PWR0)
+ // Processor
+ External(\AUXD.CPU0)
+ // Thermal Zone
+ External(\AUXD.TZN0)
+ // Buffer Field
+ External(\AUXD.BFL0)
+
+ Method(m000, 4)
+ {
+ Concatenate(arg0, "-m000.", arg0)
+ Concatenate(arg0, arg1, arg0)
+
+ Store(ObjectType(arg2), Local0)
+ if (LNotEqual(arg3, Local0)) {
+ err(arg0, z174, 0x0b0, 0, 0, Local0, arg3)
+ return (1)
+ }
+
+ if (CondRefof(\SSS0, Local0)) {
+ err(arg0, z174, 0x0b1, 0, 0, "\\SSS0", 1)
+ return (1)
+ }
+
+ Load(RFU0, arg2)
+ if (CH03(arg0, z174, 0x0b2, 0, 0)) {
+ return (1)
+ }
+ if (y260) {
+ Store(ObjectType(arg2), Local0)
+ if (LNotEqual(c017, Local0)) {
+ err(arg0, z174, 0x0b3, 0, 0, Local0, c017)
+ }
+ }
+ if (CondRefof(\SSS0, Local0)) {
+ } else {
+ err(arg0, z174, 0x0b4, 0, 0, "\\SSS0", 0)
+ return (1)
+ }
+
+ UnLoad(Derefof(arg2))
+ if (CH03(arg0, z174, 0x0b5, 0, 0)) {
+ return (1)
+ }
+ if (CondRefof(\SSS0, Local0)) {
+ err(arg0, z174, 0x0b6, 0, 0, "\\SSS0", 1)
+ return (1)
+ }
+
+ return (0)
+ }
+
+ Concatenate(arg0, "-tstg", arg0)
+
+ // Load Auxiliry table
+ Store(BUF3, RFU3)
+ Load(RFU3, DDB0)
+
+ Store(BUF0, RFU0)
+
+ // Recalculate and save CheckSum
+ Store(RFU0, Local0)
+ Store(Add(SUM, CHSM(Local0, SizeOf (Local0))), SUM)
+ if (CH03(arg0, z174, 0x0b7, 0, 0)) {
+ return (1)
+ }
+
+ // Uninitialized
+ m000(arg0, "uni", Refof(Local1), c008)
+
+ // Integer
+ m000(arg0, "int", Refof(\AUXD.INT0), c009)
+
+ // String
+ m000(arg0, "str", Refof(\AUXD.STR0), c00a)
+
+ // Buffer
+ m000(arg0, "buf", Refof(\AUXD.BUF0), c00b)
+
+ // Package
+ m000(arg0, "pac", Refof(\AUXD.PAC0), c00c)
+
+ // Field Unit
+ m000(arg0, "flu", Refof(\AUXD.FLU0), c00d)
+
+ // Device
+ m000(arg0, "dev", Refof(\AUXD.DEV0), c00e)
+
+ // Event
+ m000(arg0, "evt", Refof(\AUXD.EVE0), c00f)
+
+ // Method
+ m000(arg0, "met", Refof(\AUXD.MMM0), c010)
+
+ // Mutex
+ m000(arg0, "mtx", Refof(\AUXD.MTX0), c011)
+
+ // OpRegion
+ m000(arg0, "opr", Refof(\AUXD.OPR0), c012)
+
+ // Power Resource
+ m000(arg0, "pwr", Refof(\AUXD.PWR0), c013)
+
+ // Processor
+ m000(arg0, "cpu", Refof(\AUXD.CPU0), c014)
+
+ // Thermal Zone
+ m000(arg0, "tzn", Refof(\AUXD.TZN0), c015)
+
+ // Buffer Field
+ m000(arg0, "bfl", Refof(\AUXD.BFL0), c016)
+
+ // DDB Handle
+ if (y260) {
+ CopyObject(DDB0, DDB1)
+ m000(arg0, "ddb", Refof(DDB1), c017)
+ }
+
+ UnLoad(DDB0)
+
+ CH03(arg0, z174, 0x0b8, 0, 0)
+
+ return (0)
+ }
+
+ // AE_OWNER_ID_LIMIT exception when too many Tables loaded,
+ // Arg1: 0 - Load case, 1 - LoadTable case
+ Method(tsth, 2)
+ {
+ Name(MAXT, 0xf6)
+ Name(DDB1, 0)
+ Name(DDB3, 0)
+
+ Concatenate(arg0, "-tsth", arg0)
+
+ if (INIT()) {
+ err(arg0, z174, 0x0c0, 0, 0, "INIT", 1)
+ return (1)
+ }
+ if (CH03(arg0, z174, 0x0c1, 0, 0)) {
+ return (1)
+ }
+ Store(BUF1, RFU1)
+ Store(BUF3, RFU3)
+
+ Store(MAXT, Local0)
+ while (Local0) {
+ Store(HI0N, Debug)
+ if (LD()) {
+ err(arg0, z174, 0x0c2, 0, 0, "HI0N", HI0N)
+ return (1)
+ }
+ if (CH03(arg0, z174, 0x0c3, 0, 0)) {
+ return (1)
+ }
+ Decrement(Local0)
+ }
+
+ // Methods can not be called after the following Load
+ // (OWNER_ID is exhausted)
+ Load(RFU1, DDB1)
+
+ // The following Load should cause AE_OWNER_ID_LIMIT
+ if (Arg1) {
+ LoadTable("OEM1", "", "", , , )
+ } else {
+ Load(RFU3, DDB3)
+ }
+
+ // Futher 1 Method can be called
+ UnLoad(DDB1)
+
+ CH04(arg0, 0, 86, z174, 0x0c4, 0, 0) // AE_OWNER_ID_LIMIT
+
+ Store(MAXT, Local0)
+ while (Local0) {
+ if (UNLD()) {
+ err(arg0, z174, 0x0c5, 0, 0, "HI0N", HI0N)
+ return (1)
+ }
+ if (CH03(arg0, z174, 0x0c6, 0, 0)) {
+ return (1)
+ }
+ Decrement(Local0)
+ }
+
+ if (LDCH(0)) {
+ err(arg0, z174, 0x0c7, 0, 0, "HI0N", HI0N)
+ return (1)
+ }
+
+ return (0)
+ }
+
+ // Exception when SSDT specified as the Object parameter
+ // of the Load operator is already loaded
+ Method(tsti, 1)
+ {
+ Name(HI0, 0)
+ Name(HI1, 0)
+
+ Concatenate(arg0, "-tsti", arg0)
+
+ if (CondRefof(\SSS0, Local0)) {
+ err(arg0, z174, 0x0d0, 0, 0, "\\SSS0", 1)
+ return (1)
+ }
+
+ Store(BUF0, RFU0)
+
+ // Recalculate and save CheckSum
+ Store(RFU0, Local0)
+ Store(Add(SUM, CHSM(Local0, SizeOf (Local0))), SUM)
+
+ if (CH03(arg0, z174, 0x0d1, 0, 0)) {
+ return (1)
+ }
+
+ // Load operator execution
+ Load(RFU0, HI0)
+ if (CH03(arg0, z174, 0x0d2, 0, 0)) {
+ return (1)
+ }
+
+ if (y260) {
+ Store(ObjectType(HI0), Local0)
+ if (LNotEqual(c017, Local0)) {
+ err(arg0, z174, 0x0d3, 0, 0, Local0, c017)
+ }
+ }
+
+ if (CondRefof(\SSS0, Local0)) {
+ } else {
+ err(arg0, z174, 0x0d4, 0, 0, "\\SSS0", 0)
+ return (1)
+ }
+
+ Store(5, Local1)
+
+ while (Local1) {
+ // Repeated Load operator execution
+ Load(RFU0, HI1)
+ CH04(arg0, 0, 7, z174, 0x0d5, 5, Local1) // AE_ALREADY_EXISTS
+
+ Store(ObjectType(HI1), Local0)
+ if (LNotEqual(c009, Local0)) {
+ err(arg0, z174, 0x0d6, 0, 0, Local0, c009)
+ }
+
+ Decrement(Local1)
+ }
+
+ UnLoad(HI0)
+
+ if (CH03(arg0, z174, 0x0d7, 0, 0)) {
+ return (1)
+ }
+
+ if (CondRefof(\SSS0, Local0)) {
+ err(arg0, z174, 0x0d8, 0, 0, "\\SSS0", 1)
+ }
+
+ return (0)
+ }
+
+ // Exception when there already is an previously created Object
+ // referred by the namepath of the new Object in the Table loaded
+ Method(tstj, 1)
+ {
+ Name(HI0, 0)
+ Name(HI1, 0)
+
+ Concatenate(arg0, "-tstj", arg0)
+
+ if (CondRefof(\SSS0, Local0)) {
+ err(arg0, z174, 0x0e0, 0, 0, "\\SSS0", 1)
+ return (1)
+ }
+
+ Store(BUF0, ^RFU0)
+
+ // Recalculate and save CheckSum
+ Store(^RFU0, Local0)
+ Store(Add(^SUM, CHSM(Local0, SizeOf (Local0))), ^SUM)
+
+ if (CH03(arg0, z174, 0x0e1, 0, 0)) {
+ return (1)
+ }
+
+ // Load operator execution
+ Load(^RFU0, HI0)
+ if (CH03(arg0, z174, 0x0e2, 0, 0)) {
+ return (1)
+ }
+
+ if (y260) {
+ Store(ObjectType(HI0), Local0)
+ if (LNotEqual(c017, Local0)) {
+ err(arg0, z174, 0x0e3, 0, 0, Local0, c017)
+ }
+ }
+
+ if (CondRefof(\SSS0, Local0)) {
+ } else {
+ err(arg0, z174, 0x0e4, 0, 0, "\\SSS0", 0)
+ return (1)
+ }
+
+ // Load another table, containing declaration of \SSS0
+
+ OperationRegion (IST0, SystemMemory, 0x80000000, 0x34)
+
+ Field(IST0, ByteAcc, NoLock, Preserve) {
+ RFU0, 0x1a0,
+ }
+
+ Field(IST0, ByteAcc, NoLock, Preserve) {
+ SIG, 32,
+ LENG, 32,
+ REV, 8,
+ SUM, 8,
+ OID, 48,
+ OTID, 64,
+ OREV, 32,
+ CID, 32,
+ CREV, 32,
+ Offset(39),
+ SSNM, 32,
+ Offset(47),
+ SSRT, 32
+ }
+
+ Store(BUF0, RFU0)
+
+ // Modify Revision field of SSDT
+ Store(Add(CREV, 1), CREV)
+
+ // Recalculate and save CheckSum
+ Store(RFU0, Local0)
+ Store(Add(SUM, CHSM(Local0, SizeOf (Local0))), SUM)
+
+ Store(5, Local1)
+
+ while (Local1) {
+ // Any next Load
+ Load(RFU0, HI1)
+ CH04(arg0, 0, 7, z174, 0x0e5, 5, Local1) // AE_ALREADY_EXISTS
+
+ Store(ObjectType(HI1), Local0)
+ if (LNotEqual(c009, Local0)) {
+ err(arg0, z174, 0x0e6, 0, 0, Local0, c009)
+ }
+
+ Decrement(Local1)
+ }
+
+ UnLoad(HI0)
+
+ if (CH03(arg0, z174, 0x0e7, 0, 0)) {
+ return (1)
+ }
+
+ if (CondRefof(\SSS0, Local0)) {
+ err(arg0, z174, 0x0e8, 0, 0, "\\SSS0", 1)
+ }
+
+ return (0)
+ }
+}
+
+Method(TLD0)
+{
+ Name(ts, "TLD0")
+
+ // Loading SSDT from a SystemMemory OpRegion,
+ // different targets for DDBHandle
+
+ CH03(ts, z174, 0x200, 0, 0)
+
+ // Named Objects
+ SRMT("TLD0.tst0")
+ \DTM0.tst0(ts)
+
+ CH03(ts, z174, 0x201, 0, 0)
+
+ // LocalX Object
+ SRMT("TLD0.tst1")
+ \DTM0.tst1(ts)
+
+ CH03(ts, z174, 0x202, 0, 0)
+
+ // Package element
+ SRMT("TLD0.tst2")
+ \DTM0.tst2(ts)
+
+ CH03(ts, z174, 0x203, 0, 0)
+
+ // By Reference in ArgX
+ SRMT("TLD0.tst3")
+ \DTM0.tst3(ts)
+
+ // Loading SSDT from a Field of an OpRegion of any type,
+ // different targets for DDBHandle
+
+ CH03(ts, z174, 0x204, 0, 0)
+
+ // SystemMemory Region
+ SRMT("TLD0.tst4")
+ \DTM0.tst4(ts)
+
+ CH03(ts, z174, 0x205, 0, 0)
+
+ // SystemIO Region
+ SRMT("TLD0.tst5")
+ \DTM0.tst5(ts)
+
+ CH03(ts, z174, 0x206, 0, 0)
+
+ // EmbeddedControl Region
+ SRMT("TLD0.tst6")
+ \DTM0.tst6(ts)
+
+ CH03(ts, z174, 0x207, 0, 0)
+
+ // User defined Region
+ SRMT("TLD0.tst7")
+ \DTM0.tst7(ts)
+
+ CH03(ts, z174, 0x208, 0, 0)
+
+ // Check that "namespace location to load the Definition Block
+ // is relative to the current namespace" scope,
+ SRMT("TLD0.tst8")
+ \DTM0.tst8(ts)
+
+ CH03(ts, z174, 0x209, 0, 0)
+
+ // Check global and dynamic declarations of OpRegions
+ // and the appropriate _REG Methods invocation for the
+ // loaded SSDT
+ SRMT("TLD0.tst9")
+ \DTM0.tst9(ts)
+
+ CH03(ts, z174, 0x20a, 0, 0)
+
+ // Object of any type can be used as the DDBHandle argument
+ SRMT("TLD0.tstg")
+ \DTM0.tstg(ts)
+
+ CH03(ts, z174, 0x20b, 0, 0)
+
+ // Loading a number of different SSDTs
+ SRMT("TLD0.tsta")
+ if (y261) {
+ \DTM0.tsta(ts, 240)
+ } else {
+ BLCK()
+ }
+
+ CH03(ts, z174, 0x20c, 0, 0)
+}
+
+// Exceptional conditions
+Method(TLD1)
+{
+ Name(ts, "TLD1")
+
+ // Exceptions when the Object argument does not refer to
+ // an operation region field or an operation region
+ SRMT("TLD1.tstb")
+ \DTM0.tstb(ts)
+
+ // Exceptions when the an OpRegion passed as the Object
+ // parameter of Load is not of SystemMemory type
+ SRMT("TLD1.tstc")
+ \DTM0.tstc(ts)
+
+ // Exceptions when the table contained in an OpRegion
+ // (Field) is not SSDT or PSDT one,
+ SRMT("TLD1.tstd")
+ \DTM0.tstd(ts)
+
+ // Exceptions when the length of the supplied SSDT is greater
+ // than the length of the respective OpRegion or Region Field,
+ SRMT("TLD1.tste.0")
+ if (y284) {
+ \DTM0.tste(ts, 0)
+ } else {
+ BLCK()
+ }
+
+ // Exceptions when the length of the supplied SSDT is
+ // less than the length of the Table Header
+ SRMT("TLD1.tste.1")
+ \DTM0.tste(ts, 1)
+
+ // Exceptions when the checksum of the supplied SSDT is invalid
+ SRMT("TLD1.tstf")
+ \DTM0.tstf(ts)
+
+ // AE_OWNER_ID_LIMIT exception when too many Tables loaded
+ SRMT("TLD1.tsth")
+ if (y294) {
+ \DTM0.tsth(ts, 0)
+ } else {
+ BLCK()
+ }
+
+ // Exception when SSDT specified as the Object parameter
+ // of the Load operator is already loaded
+ SRMT("TLD1.tsti")
+ \DTM0.tsti(ts)
+
+ // Exception when there already is an previously created Object
+ // referred by the namepath of the new Object in the Table loaded
+ SRMT("TLD1.tstj")
+ \DTM0.tstj(ts)
+} \ No newline at end of file
diff --git a/tests/aslts/src/runtime/collections/functional/table/loadtable.asl b/tests/aslts/src/runtime/collections/functional/table/loadtable.asl
new file mode 100644
index 000000000..24a0eaf08
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/table/loadtable.asl
@@ -0,0 +1,2322 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+/*
+ * LoadTable ASL operator functionality
+ */
+
+/*
+ * This sub-test is intended to comprehensively verify
+ * the LoadTable ASL operator functionality.
+ *
+ * Performs a run-time load of a Definition Block from the XSDT.
+ *
+ * 17.5.68 LoadTable (Load Definition Block From XSDT)
+ * Syntax
+ * LoadTable (SignatureString, OEMIDString, OEMTableIDString,
+ * RootPathString, ParameterPathString, ParameterData) => DDBHandle
+ *
+ * On testing the following issues should be covered:
+ *
+ * - loading from the XSDT of a Definition Block in which the Signature
+ * field (should differ from "DSDT" and "SSDT") matches SignatureString,
+ * the OEM ID field matches OEMIDString, and the OEM Table ID matches
+ * OEMTableIDString,
+ *
+ * - all comparisons are case sensitive,
+ *
+ * - the result of the LoadTable operator is an Object of the DDBHandle type,
+ *
+ * - if no table matches the specified parameters, then 0 is returned,
+ *
+ * - the DDBHandle Object returned from the LoadTable operator can be used
+ * to unload the table,
+ *
+ * - any of the optional parameters (RootPathString, ParameterPathString,
+ * and ParameterData) can be omitted,
+ *
+ * - different sources of the String parameters: literals, Named Objects,
+ * LocalX, ArgX, elements of Packages, results of functions, any TermArg
+ *
+ * - different sources of the optional parameters: literals, Named Objects,
+ * LocalX, ArgX, elements of Packages, results of functions, any TermArg
+ *
+ * - implicit operand conversion of the parameters specified to be strings,
+ *
+ * - namespace location to load the Definition Block is determined by the
+ * RootPathString parameter,
+ *
+ * - the RootPathString is evaluated using normal scoping rules, assuming
+ * that the scope of the LoadTable operator is the current scope,
+ *
+ * - if RootPathString is not specified, "\" is assumed,
+ *
+ * - if ParameterPathString and ParameterData are specified, the data object
+ * specified by ParameterData is stored into the object specified by
+ * ParameterPathString after the table has been added into the namespace,
+ *
+ * - if the first character of ParameterPathString is a backslash or caret
+ * character, then the path of the object is ParameterPathString. Otherwise,
+ * it is RootPathString.ParameterPathString,
+ *
+ * - if some SSDT matching the LoadTable parameters is originally not listed
+ * in XSDT, LoadTable returns 0,
+ *
+ * - exceptional conditions caused by inappropriate data:
+ * = the SignatureString is greater than four characters,
+ * = the OEMIDString is greater than six characters,
+ * = the OEMTableID is greater than eight characters,
+ * = incorrect types of the parameters,
+ * = some DSDT or SSDT matching the LoadTable parameters is already loaded
+ * (actually on initial loading of tables listed in XSDT),
+ * = the matched table is already loaded,
+ * = there already is an previously loaded Object referred by the path
+ * in the Namespace,
+ * = the object specified by the ParameterPathString does not exist,
+ * = storing of data of the ParameterData data type is not allowed,
+ * = AE_OWNER_ID_LIMIT exception when too many Tables loaded.
+ *
+ * Can not be tested following issues:
+ * - providing of the table matched the LoadTable parameters to be "in memory
+ * marked by AddressRangeReserved or AddressRangeNVS",
+ * - overriding the supplied table with "a newer revision Definition Block
+ * of the same OEM Table ID" by the OS,
+ * - loading a Definition Block to be a synchronous operation ("the control
+ * methods defined in the Definition Block are not executed during load
+ * time").
+ *
+ * Note: the tests is based on the current representation of the auxiliary
+ * OEM1 table in the artificial set of tables in the RSDT of acpiexec.
+ */
+
+Name(z176, 176)
+
+Device(DTM2) {
+
+ Device(DEVR) {Name(s000, "DEVR")}
+
+ // Contents of the OEM1 signature table addressed by the RSDT in acpiexec
+ Name(OEMT, Buffer(0x30){
+ 0x4F,0x45,0x4D,0x31,0x38,0x00,0x00,0x00, /* 00000000 "OEM18..." */
+ 0x01,0x4B,0x49,0x6E,0x74,0x65,0x6C,0x00, /* 00000008 ".KIntel." */
+ 0x4D,0x61,0x6E,0x79,0x00,0x00,0x00,0x00, /* 00000010 "Many...." */
+ 0x01,0x00,0x00,0x00,0x49,0x4E,0x54,0x4C, /* 00000018 "....INTL" */
+ 0x18,0x09,0x03,0x20,0x08,0x5F,0x58,0x54, /* 00000020 "... ._XT" */
+ 0x32,0x0A,0x04,0x14,0x0C,0x5F,0x58,0x54, /* 00000028 "2...._XT" */
+ 0x31,0x00,0x70,0x01,0x5F,0x58,0x54,0x32, /* 00000030 "1.p._XT2" */
+ })
+
+ CreateField (OEMT, 0, 32, FOEM)
+ CreateField (OEMT, 80, 48, FOID)
+ CreateField (OEMT, 128, 64, FTID)
+
+ Name(SOEM, "OEM1")
+ Name(SOID, "Intel")
+ Name(STID, "Many")
+
+ Name(POEM, Package(3) {"OEM1", "Intel", "Many"})
+
+ Name(RPST, "\\DTM2")
+ Name(PLDT, 0)
+ Name(PPST, "\\DTM2.PLDT")
+ Name(DDBH, 0)
+
+ // Check DataTable Region
+ Method(chdr, 1)
+ {
+ DataTableRegion (DR00, "OEM1", "", "")
+ Field(DR00, AnyAcc, NoLock, Preserve) {
+ FU00, 0x1C0}
+
+ Concatenate(arg0, "-tst0", arg0)
+
+ if (LNotEqual(OEMT, FU00)) {
+ err(arg0, z176, 0x001, 0, 0, FU00, OEMT)
+ return (1)
+ }
+
+ return (0)
+ }
+
+ // Simple Loadtable test
+ Method(tst0, 1)
+ {
+ Name(DDBH, 0)
+
+ Concatenate(arg0, "-tst0", arg0)
+
+ if (chdr(arg0)) {
+ return (1)
+ }
+
+ if (CondRefof(\_XT2, Local0)) {
+ err(arg0, z176, 0x002, 0, 0, "\\_XT2", 1)
+ return (1)
+ }
+
+ Store(0, \DTM2.PLDT)
+
+ Store(LoadTable("OEM1", "", "", "\\", PPST, 1), DDBH)
+
+ if (CH03(arg0, z176, 0x003, 0, 0)) {
+ return (1)
+ }
+
+ if (y260) {
+ Store(ObjectType(DDBH), Local1)
+ if (LNotEqual(Local1, c017)) { // DDB Handle
+ err(arg0, z176, 0x005, 0, 0, Local1, c017)
+ return (1)
+ }
+ }
+
+ if (LNotEqual(1, \DTM2.PLDT)) {
+ err(arg0, z176, 0x006, 0, 0, \DTM2.PLDT, 1)
+ }
+
+ if (CondRefof(\_XT2, Local0)) {
+ } else {
+ err(arg0, z176, 0x007, 0, 0, "\\_XT2", 0)
+ }
+
+ UnLoad(DDBH)
+ Store("OEM1 unloaded", Debug)
+
+ if (CH03(arg0, z176, 0x008, 0, 0)) {
+ return (1)
+ }
+
+ if (CondRefof(\_XT2, Local0)) {
+ err(arg0, z176, 0x009, 0, 0, "\\_XT2", 1)
+ }
+
+ return (0)
+ }
+
+ // All comparisons of Loadtable parameters are case sensitive,
+ // if no table matches the specified parameters, then 0 is returned
+ Method(tst1, 1)
+ {
+ Name(DDBH, 0)
+
+ Concatenate(arg0, "-tst1", arg0)
+
+ if (CondRefof(\_XT2, Local0)) {
+ err(arg0, z176, 0x010, 0, 0, "\\_XT2", 1)
+ return (1)
+ }
+
+ // Successful comparison
+
+ Store(0, \DTM2.PLDT)
+
+ if (y281) {
+ Store(LoadTable("OEM1", "Intel", "Many", "\\", PPST, 1), DDBH)
+ } else {
+ Store(LoadTable("OEM1", "", "", "\\", PPST, 1), DDBH)
+ }
+
+ if (CH03(arg0, z176, 0x011, 0, 0)) {
+ return (1)
+ }
+
+ if (y260) {
+ Store(ObjectType(DDBH), Local1)
+ if (LNotEqual(Local1, c017)) { // DDB Handle
+ err(arg0, z176, 0x012, 0, 0, Local1, c017)
+ return (1)
+ }
+ }
+
+ if (LNotEqual(1, \DTM2.PLDT)) {
+ err(arg0, z176, 0x013, 0, 0, \DTM2.PLDT, 1)
+ }
+
+ if (CondRefof(\_XT2, Local0)) {
+ } else {
+ err(arg0, z176, 0x014, 0, 0, "\\_XT2", 0)
+ }
+
+ UnLoad(DDBH)
+ Store("OEM1 unloaded", Debug)
+
+ if (CH03(arg0, z176, 0x015, 0, 0)) {
+ return (1)
+ }
+
+ if (CondRefof(\_XT2, Local0)) {
+ err(arg0, z176, 0x016, 0, 0, "\\_XT2", 1)
+ }
+
+ // Unhappy comparison due to the SignatureString
+
+ Store(0, \DTM2.PLDT)
+
+ Store(ObjectType(Local2), Local1)
+ if (LNotEqual(Local1, c008)) {
+ err(arg0, z176, 0x017, 0, 0, Local1, c008)
+ }
+
+ Store(LoadTable("OeM1", "Intel", "Many", "\\", PPST, 1), Local2)
+
+ if (CH03(arg0, z176, 0x018, 0, 0)) {
+ return (1)
+ }
+
+ Store(ObjectType(Local2), Local1)
+ if (LNotEqual(Local1, c009)) {
+ err(arg0, z176, 0x019, 0, 0, Local1, c009)
+ }
+
+ if (LNotEqual(Local2, 0)) {
+ err(arg0, z176, 0x01a, 0, 0, Local2, 0)
+ }
+
+ if (LNotEqual(0, \DTM2.PLDT)) {
+ err(arg0, z176, 0x01b, 0, 0, \DTM2.PLDT, 0)
+ }
+
+ if (CondRefof(\_XT2, Local0)) {
+ err(arg0, z176, 0x01c, 0, 0, "\\_XT2", 1)
+ }
+
+ // Unhappy comparison due to the OEMIDString
+
+ Store(0, \DTM2.PLDT)
+
+ Store(ObjectType(Local3), Local1)
+ if (LNotEqual(Local1, c008)) {
+ err(arg0, z176, 0x01d, 0, 0, Local1, c008)
+ }
+
+ Store(LoadTable("OEM1", "InteL", "Many", "\\", PPST, 1), Local3)
+
+ if (CH03(arg0, z176, 0x01e, 0, 0)) {
+ return (1)
+ }
+
+ Store(ObjectType(Local3), Local1)
+ if (LNotEqual(Local1, c009)) {
+ err(arg0, z176, 0x01f, 0, 0, Local1, c009)
+ }
+
+ if (LNotEqual(Local3, 0)) {
+ err(arg0, z176, 0x020, 0, 0, Local3, 0)
+ }
+
+ if (LNotEqual(0, \DTM2.PLDT)) {
+ err(arg0, z176, 0x021, 0, 0, \DTM2.PLDT, 0)
+ }
+
+ if (CondRefof(\_XT2, Local0)) {
+ err(arg0, z176, 0x022, 0, 0, "\\_XT2", 1)
+ }
+
+ // Unhappy comparison due to the OEMTableIDString
+
+ Store(0, \DTM2.PLDT)
+
+ Store(ObjectType(Local4), Local1)
+ if (LNotEqual(Local1, c008)) {
+ err(arg0, z176, 0x023, 0, 0, Local1, c008)
+ }
+
+ Store(LoadTable("OEM1", "Intel", "many", "\\", PPST, 1), Local4)
+
+ if (CH03(arg0, z176, 0x024, 0, 0)) {
+ return (1)
+ }
+
+ Store(ObjectType(Local4), Local1)
+ if (LNotEqual(Local1, c009)) {
+ err(arg0, z176, 0x025, 0, 0, Local1, c009)
+ }
+
+ if (LNotEqual(Local4, 0)) {
+ err(arg0, z176, 0x026, 0, 0, Local4, 0)
+ }
+
+ if (LNotEqual(0, \DTM2.PLDT)) {
+ err(arg0, z176, 0x027, 0, 0, \DTM2.PLDT, 0)
+ }
+
+ if (CondRefof(\_XT2, Local0)) {
+ err(arg0, z176, 0x028, 0, 0, "\\_XT2", 1)
+ }
+
+ return (0)
+ }
+
+ // Any of the RootPathString, ParameterPathString, and ParameterData
+ // parameters in LoadTable expression can be omitted
+ Method(tst2, 1)
+ {
+ Name(DDB0, 0)
+ Name(DDB1, 0)
+ Name(DDB2, 0)
+ Name(DDB3, 0)
+
+ Concatenate(arg0, "-tst2", arg0)
+
+ if (CondRefof(\_XT2, Local0)) {
+ err(arg0, z176, 0x030, 0, 0, "\\_XT2", 1)
+ return (1)
+ }
+
+ // Check when RootPathString omitted
+
+ Store(0, \DTM2.PLDT)
+
+ Store(LoadTable("OEM1", "", "", , PPST, 1), DDB0)
+
+ if (CH03(arg0, z176, 0x031, 0, 0)) {
+ return (1)
+ }
+
+ if (y260) {
+ Store(ObjectType(DDB0), Local1)
+ if (LNotEqual(Local1, c017)) { // DDB Handle
+ err(arg0, z176, 0x032, 0, 0, Local1, c017)
+ return (1)
+ }
+ }
+
+ if (LNotEqual(1, \DTM2.PLDT)) {
+ err(arg0, z176, 0x033, 0, 0, \DTM2.PLDT, 1)
+ }
+
+ if (CondRefof(\_XT2, Local0)) {
+ } else {
+ err(arg0, z176, 0x034, 0, 0, "\\_XT2", 0)
+ }
+
+ UnLoad(DDB0)
+ Store("OEM1 unloaded", Debug)
+
+ if (CH03(arg0, z176, 0x035, 0, 0)) {
+ return (1)
+ }
+
+ if (CondRefof(\_XT2, Local0)) {
+ err(arg0, z176, 0x036, 0, 0, "\\_XT2", 1)
+ }
+
+ // Check when ParameterPathString omitted
+
+ Store(0, \DTM2.PLDT)
+
+ Store(LoadTable("OEM1", "", "", "\\", , 1), DDB1)
+
+ if (CH03(arg0, z176, 0x037, 0, 0)) {
+ return (1)
+ }
+
+ if (y260) {
+ Store(ObjectType(DDB1), Local1)
+ if (LNotEqual(Local1, c017)) { // DDB Handle
+ err(arg0, z176, 0x038, 0, 0, Local1, c017)
+ return (1)
+ }
+ }
+
+ if (LNotEqual(0, \DTM2.PLDT)) {
+ err(arg0, z176, 0x039, 0, 0, \DTM2.PLDT, 0)
+ }
+
+ if (CondRefof(\_XT2, Local0)) {
+ } else {
+ err(arg0, z176, 0x03a, 0, 0, "\\_XT2", 0)
+ }
+
+ UnLoad(DDB1)
+ Store("OEM1 unloaded", Debug)
+
+ if (CH03(arg0, z176, 0x03b, 0, 0)) {
+ return (1)
+ }
+
+ if (CondRefof(\_XT2, Local0)) {
+ err(arg0, z176, 0x03c, 0, 0, "\\_XT2", 1)
+ }
+
+ // Check when ParameterData omitted
+
+ Store(0, \DTM2.PLDT)
+
+ Store(LoadTable("OEM1", "", "", "\\", PPST, ), DDB2)
+
+ if (CH03(arg0, z176, 0x03d, 0, 0)) {
+ return (1)
+ }
+
+ if (y260) {
+ Store(ObjectType(DDB2), Local1)
+ if (LNotEqual(Local1, c017)) { // DDB Handle
+ err(arg0, z176, 0x03e, 0, 0, Local1, c017)
+ return (1)
+ }
+ }
+
+ if (LNotEqual(0, \DTM2.PLDT)) {
+ err(arg0, z176, 0x03f, 0, 0, \DTM2.PLDT, 0)
+ }
+
+ if (CondRefof(\_XT2, Local0)) {
+ } else {
+ err(arg0, z176, 0x040, 0, 0, "\\_XT2", 0)
+ }
+
+ UnLoad(DDB2)
+ Store("OEM1 unloaded", Debug)
+
+ if (CH03(arg0, z176, 0x041, 0, 0)) {
+ return (1)
+ }
+
+ if (CondRefof(\_XT2, Local0)) {
+ err(arg0, z176, 0x042, 0, 0, "\\_XT2", 1)
+ }
+
+ // Check when all optional parameters omitted
+
+ Store(0, \DTM2.PLDT)
+
+ Store(LoadTable("OEM1", "", "", , , ), DDB3)
+
+ if (CH03(arg0, z176, 0x043, 0, 0)) {
+ return (1)
+ }
+
+ if (y260) {
+ Store(ObjectType(DDB3), Local1)
+ if (LNotEqual(Local1, c017)) { // DDB Handle
+ err(arg0, z176, 0x044, 0, 0, Local1, c017)
+ return (1)
+ }
+ }
+
+ if (LNotEqual(0, \DTM2.PLDT)) {
+ err(arg0, z176, 0x045, 0, 0, \DTM2.PLDT, 0)
+ }
+
+ if (CondRefof(\_XT2, Local0)) {
+ } else {
+ err(arg0, z176, 0x046, 0, 0, "\\_XT2", 0)
+ }
+
+ UnLoad(DDB3)
+ Store("OEM1 unloaded", Debug)
+
+ if (CH03(arg0, z176, 0x047, 0, 0)) {
+ return (1)
+ }
+
+ if (CondRefof(\_XT2, Local0)) {
+ err(arg0, z176, 0x048, 0, 0, "\\_XT2", 1)
+ }
+
+ return (0)
+ }
+
+ // Different sources of the String parameters: Named Objects, LocalX,
+ // ArgX, elements of Packages, results of functions, any TermArg
+ Method(tst3, 1)
+ {
+ Name(DDB0, 0)
+ Name(DDB1, 0)
+ Name(DDB2, 0)
+ Name(DDB3, 0)
+ Name(DDB4, 0)
+ Name(DDB5, 0)
+ Name(DDB6, 0)
+
+ Name(SOID, "")
+ Name(STID, "")
+
+ Name(POEM, Package(3) {"OEM1", "", ""})
+
+ Method(m000, 1) {Return (arg0)}
+
+ Method(m001, 3)
+ {
+ Concatenate(arg0, arg2, arg0)
+
+ if (CH03(arg0, z176, 0x051, 0, 0)) {
+ return (1)
+ }
+
+ if (y260) {
+ Store(ObjectType(arg1), Local1)
+ if (LNotEqual(Local1, c017)) { // DDB Handle
+ err(arg0, z176, 0x052, 0, 0, Local1, c017)
+ return (1)
+ }
+ }
+
+ if (LNotEqual(0, \DTM2.PLDT)) {
+ err(arg0, z176, 0x053, 0, 0, \DTM2.PLDT, 0)
+ }
+
+ if (CondRefof(\_XT2, Local0)) {
+ } else {
+ err(arg0, z176, 0x054, 0, 0, "\\DTM2._XT2", 0)
+ }
+
+ UnLoad(arg1)
+ Store("OEM1 unloaded", Debug)
+
+ if (CH03(arg0, z176, 0x055, 0, 0)) {
+ return (1)
+ }
+
+ if (CondRefof(\_XT2, Local0)) {
+ err(arg0, z176, 0x056, 0, 0, "\\DTM2._XT2", 1)
+ return (1)
+ }
+
+ return (0)
+ }
+
+ Method(m002, 3)
+ {
+ return (LoadTable(Arg0, Derefof(Arg1), Derefof(Arg2), , , ))
+ }
+
+ Method(m003, 3)
+ {
+ return (LoadTable(Derefof(Arg0), Arg1, Derefof(Arg2), , , ))
+ }
+
+ Method(m004, 3)
+ {
+ return (LoadTable(Derefof(Arg0), Derefof(Arg1), Arg2, , , ))
+ }
+
+ Concatenate(arg0, "-tst3", arg0)
+
+ if (y281) {
+ Store(^SOID, SOID)
+ Store(^STID, STID)
+ Store(^POEM, POEM)
+ }
+
+ if (CondRefof(\DTM2._XT2, Local0)) {
+ err(arg0, z176, 0x057, 0, 0, "\\_XT2", 1)
+ return (1)
+ }
+
+ // Check LoadTable(Named, LocalX, Method(), , , )
+
+ Store(0, \DTM2.PLDT)
+
+ Store(SOID, Local2)
+
+ Store(LoadTable(SOEM, Local2, m000(STID), , , ), DDB0)
+
+ if (m001(arg0, DDB0, ".NLM")) {
+ return (1)
+ }
+
+ // Check LoadTable(Method(), Named, LocalX, , , )
+
+ Store(0, \DTM2.PLDT)
+
+ Store(STID, Local2)
+
+ Store(LoadTable(m000(SOEM), SOID, Local2, , , ), DDB1)
+
+ if (m001(arg0, DDB1, ".MNL")) {
+ return (1)
+ }
+
+ // Check LoadTable(LocalX, Method(), Named, , , )
+
+ Store(0, \DTM2.PLDT)
+
+ Store(SOEM, Local2)
+
+ Store(LoadTable(Local2, m000(SOID), STID, , , ), DDB2)
+
+ if (m001(arg0, DDB2, ".LMN")) {
+ return (1)
+ }
+
+ // Check LoadTable(ArgX, Derefof(Refof), Derefof(Index), , , )
+
+ Store(0, \DTM2.PLDT)
+
+ Store(Refof(SOID), Local2)
+ Store(Index(POEM, 2), Local3)
+
+ Store(m002(SOEM, Local2, Local3), DDB3)
+
+ if (m001(arg0, DDB3, ".ARI")) {
+ return (1)
+ }
+
+ // Check LoadTable(Derefof(Index), ArgX, Derefof(Refof), , , )
+
+ Store(0, \DTM2.PLDT)
+
+ Store(Refof(STID), Local2)
+ Store(Index(POEM, 0), Local3)
+
+ Store(m003(Local3, SOID, Local2), DDB4)
+
+ if (m001(arg0, DDB4, ".IAR")) {
+ return (1)
+ }
+
+ // Check LoadTable(Derefof(Refof), Derefof(Index), ArgX, , , )
+
+ Store(0, \DTM2.PLDT)
+
+ Store(Refof(SOEM), Local2)
+ Store(Index(POEM, 1), Local3)
+
+ Store(m004(Local2, Local3, STID), DDB5)
+
+ if (m001(arg0, DDB5, ".RIA")) {
+ return (1)
+ }
+
+ // Check LoadTable(TermArg, TermArg, TermArg, , , )
+
+ Store(0, \DTM2.PLDT)
+
+ Store(Concatenate("term", SOEM), Local2)
+ Store(ToBuffer(Local2), Local2)
+
+ Store(ToBuffer(SOID), Local3)
+
+ Store("", Local4)
+
+ Store(LoadTable(
+ Mid(ToString(Local2), 4, 4),
+ ToString(m000(Local3)),
+ Concatenate(m000(STID), Local4), , , ),
+ DDB6)
+
+ if (m001(arg0, DDB6, ".TTT")) {
+ return (1)
+ }
+
+ return (0)
+ }
+
+ // Different sources of the optional parameters (RootPathString,
+ // ParameterPathString, and ParameterData): Named Objects, LocalX,
+ // ArgX, elements of Packages, results of functions, any TermArg
+ Method(tst4, 1)
+ {
+ Name(DDB0, 0)
+ Name(DDB1, 0)
+ Name(DDB2, 0)
+ Name(DDB3, 0)
+ Name(DDB4, 0)
+ Name(DDB5, 0)
+ Name(DDB6, 0)
+
+ Name(RPST, "\\DTM2")
+ Name(PPST, "\\DTM2.PLDT")
+ Name(NVAL, 1)
+ Name(POPT, Package(3) {"\\DTM2", "\\DTM2.PLDT", 1})
+
+ Method(m000, 1) {Return (arg0)}
+
+ Method(m001, 3)
+ {
+ Concatenate(arg0, arg2, arg0)
+
+ if (CH03(arg0, z176, 0x061, 0, 0)) {
+ return (1)
+ }
+
+ if (y260) {
+ Store(ObjectType(arg1), Local1)
+ if (LNotEqual(Local1, c017)) { // DDB Handle
+ err(arg0, z176, 0x062, 0, 0, Local1, c017)
+ return (1)
+ }
+ }
+
+ if (LNotEqual(1, \DTM2.PLDT)) {
+ err(arg0, z176, 0x063, 0, 0, \DTM2.PLDT, 1)
+ }
+
+ if (CondRefof(\DTM2._XT2, Local0)) {
+ } else {
+ err(arg0, z176, 0x064, 0, 0, "\\DTM2._XT2", 0)
+ }
+
+ UnLoad(arg1)
+ Store("OEM1 unloaded", Debug)
+
+ if (CH03(arg0, z176, 0x065, 0, 0)) {
+ return (1)
+ }
+
+ if (CondRefof(\DTM2._XT2, Local0)) {
+ err(arg0, z176, 0x066, 0, 0, "\\DTM2._XT2", 1)
+ return (1)
+ }
+
+ return (0)
+ }
+
+ Method(m002, 3)
+ {
+// Bug 288: iASL unexpectedly forbids ParameterData of Loadtable to be LocalX or UserTerm
+// return (LoadTable("OEM1", "", "", Arg0, Derefof(Arg1), Derefof(Arg2)))
+// parse error, expecting `')'' ^
+ return (LoadTable("OEM1", "", "", Arg0, Derefof(Arg1), 1))
+ }
+
+ Method(m003, 3)
+ {
+// Bug 288: iASL unexpectedly forbids ParameterData of Loadtable to be LocalX or UserTerm
+// return (LoadTable("OEM1", "", "", Derefof(Arg0), Arg1, Derefof(Arg2)))
+// parse error, expecting `')'' ^
+ return (LoadTable("OEM1", "", "", Derefof(Arg0), Arg1, 1))
+ }
+
+ Method(m004, 3)
+ {
+// Bug 288: iASL unexpectedly forbids ParameterData of Loadtable to be LocalX or UserTerm
+// return (LoadTable("OEM1", "", "", Derefof(Arg0), Derefof(Arg1), Arg2))
+// parse error, expecting `')'' ^
+ return (LoadTable("OEM1", "", "", Derefof(Arg0), Derefof(Arg1), 1))
+ }
+
+ Concatenate(arg0, "-tst4", arg0)
+
+ if (CondRefof(\DTM2._XT2, Local0)) {
+ err(arg0, z176, 0x067, 0, 0, "\\DTM2._XT2", 1)
+ return (1)
+ }
+
+ // Check LoadTable(..., Named, LocalX, Method())
+
+ Store(0, \DTM2.PLDT)
+
+ Store(PPST, Local2)
+
+// Bug 288: iASL unexpectedly forbids ParameterData of Loadtable to be LocalX or UserTerm
+// Store(LoadTable("OEM1", "", "", RPST, Local2, m000(1)), DDB0)
+// parse error, expecting `')'' ^
+ Store(LoadTable("OEM1", "", "", RPST, Local2, 1), DDB0)
+
+ if (m001(arg0, DDB0, ".NLM")) {
+ return (1)
+ }
+
+ // Check LoadTable(..., Method(), Named, LocalX)
+
+ Store(0, \DTM2.PLDT)
+
+ Store(1, Local2)
+
+// Bug 288: iASL unexpectedly forbids ParameterData of Loadtable to be LocalX or UserTerm
+// Store(LoadTable("OEM1", "", "", m000(RPST), PPST, Local2), DDB1)
+// parse error, expecting `')'' ^
+ Store(LoadTable("OEM1", "", "", m000(RPST), PPST, 1), DDB1)
+
+ if (m001(arg0, DDB1, ".MNL")) {
+ return (1)
+ }
+
+ // Check LoadTable(..., LocalX, Method(), Named)
+
+ Store(0, \DTM2.PLDT)
+
+ Store(RPST, Local2)
+
+ Store(LoadTable("OEM1", "", "", Local2, m000(PPST), NVAL), DDB2)
+
+ if (m001(arg0, DDB2, ".LMN")) {
+ return (1)
+ }
+
+ // Check LoadTable(..., ArgX, Derefof(Refof), Derefof(Index))
+
+ Store(0, \DTM2.PLDT)
+
+ Store(Refof(PPST), Local2)
+ Store(Index(POPT, 2), Local3)
+
+ Store(m002(RPST, Local2, Local3), DDB3)
+
+ if (m001(arg0, DDB3, ".ARI")) {
+ return (1)
+ }
+
+ // Check LoadTable(..., Derefof(Index), ArgX, Derefof(Refof))
+
+ Store(0, \DTM2.PLDT)
+
+ Store(Refof(NVAL), Local2)
+ Store(Index(POPT, 0), Local3)
+
+ Store(m003(Local3, PPST, Local2), DDB4)
+
+ if (m001(arg0, DDB4, ".ARI")) {
+ return (1)
+ }
+
+ // Check LoadTable(..., Derefof(Refof), Derefof(Index), ArgX)
+
+ Store(0, \DTM2.PLDT)
+
+ Store(Refof(RPST), Local2)
+ Store(Index(POPT, 1), Local3)
+
+ Store(m004(Local2, Local3, NVAL), DDB5)
+
+ if (m001(arg0, DDB5, ".ARI")) {
+ return (1)
+ }
+
+ // Check LoadTable(..., TermArg, TermArg, TermArg)
+
+ Store(0, \DTM2.PLDT)
+
+ Store(Concatenate("term", RPST), Local2)
+ Store(ToBuffer(Local2), Local2)
+
+ Store(ToBuffer(PPST), Local3)
+
+ Store(3, Local4)
+
+ Store(LoadTable("OEM1", "", "",
+ Mid(ToString(Local2), 4, 1),
+ ToString(m000(Local3)),
+// Bug 288: iASL unexpectedly forbids ParameterData of Loadtable to be LocalX or UserTerm
+// Subtract(m000(Local4), 2)),
+ Subtract(3, 2)),
+ DDB6)
+
+ if (m001(arg0, DDB6, ".TTT")) {
+ return (1)
+ }
+
+ return (0)
+ }
+
+ // Namespace location to load the Definition Block is determined
+ // by the RootPathString parameter of Loadtable
+ // Arg1: RootPathString
+ Method(tst5, 2)
+ {
+ Name(DDBH, 0)
+
+ Concatenate(arg0, "-tst5", arg0)
+
+ if (CondRefof(\_XT2, Local0)) {
+ err(arg0, z176, 0x070, 0, 0, "\\_XT2", 1)
+ return (1)
+ }
+
+ if (CondRefof(\DTM2.DEVR._XT2, Local0)) {
+ err(arg0, z176, 0x071, 0, 0, "\\DTM2.DEVR._XT2", 1)
+ return (1)
+ }
+
+ Store(0, \DTM2.PLDT)
+
+ Store(LoadTable("OEM1", "", "", Arg1, PPST, 1), DDBH)
+
+ if (CH03(arg0, z176, 0x072, 0, 0)) {
+ return (1)
+ }
+
+ if (y260) {
+ Store(ObjectType(DDBH), Local1)
+ if (LNotEqual(Local1, c017)) { // DDB Handle
+ err(arg0, z176, 0x073, 0, 0, Local1, c017)
+ return (1)
+ }
+ }
+
+ if (LNotEqual(1, \DTM2.PLDT)) {
+ err(arg0, z176, 0x074, 0, 0, \DTM2.PLDT, 1)
+ }
+
+ if (CondRefof(\_XT2, Local0)) {
+ err(arg0, z176, 0x075, 0, 0, "\\_XT2", 1)
+ }
+
+ if (CondRefof(\DTM2.DEVR._XT2, Local0)) {
+ } else {
+ err(arg0, z176, 0x076, 0, 0, "\\DTM2.DEVR._XT2", 0)
+ }
+
+ UnLoad(DDBH)
+ Store("OEM1 unloaded", Debug)
+
+ if (CH03(arg0, z176, 0x077, 0, 0)) {
+ return (1)
+ }
+
+ if (CondRefof(\_XT2, Local0)) {
+ err(arg0, z176, 0x078, 0, 0, "\\_XT2", 1)
+ }
+
+ if (CondRefof(\DTM2.DEVR._XT2, Local0)) {
+ err(arg0, z176, 0x079, 0, 0, "\\DTM2.DEVR._XT2", 1)
+ }
+
+ return (0)
+ }
+
+ // "\" is assumed to be Namespace location to load the Definition
+ // Block if RootPathString parameter is not specified
+ Method(tst6, 1)
+ {
+ Name(DDBH, 0)
+
+ Concatenate(arg0, "-tst6", arg0)
+
+ if (CondRefof(\_XT2, Local0)) {
+ err(arg0, z176, 0x080, 0, 0, "\\_XT2", 1)
+ return (1)
+ }
+
+ Store(0, \DTM2.PLDT)
+
+ Store(LoadTable("OEM1", "", "", , PPST, 1), DDBH)
+
+ if (CH03(arg0, z176, 0x081, 0, 0)) {
+ return (1)
+ }
+
+ if (y260) {
+ Store(ObjectType(DDBH), Local1)
+ if (LNotEqual(Local1, c017)) { // DDB Handle
+ err(arg0, z176, 0x082, 0, 0, Local1, c017)
+ return (1)
+ }
+ }
+
+ if (LNotEqual(1, \DTM2.PLDT)) {
+ err(arg0, z176, 0x083, 0, 0, \DTM2.PLDT, 1)
+ }
+
+ if (CondRefof(\_XT2, Local0)) {
+ } else {
+ err(arg0, z176, 0x084, 0, 0, "\\_XT2", 0)
+ }
+
+ UnLoad(DDBH)
+ Store("OEM1 unloaded", Debug)
+
+ if (CH03(arg0, z176, 0x085, 0, 0)) {
+ return (1)
+ }
+
+ if (CondRefof(\_XT2, Local0)) {
+ err(arg0, z176, 0x086, 0, 0, "\\_XT2", 1)
+ }
+
+ return (0)
+ }
+
+ // If the first character of ParameterPathString is a backslash
+ // or caret character, then the path of the object set up on success
+ // is ParameterPathString. It is RootPathString.ParameterPathString
+ // in any case.
+ Method(tst7, 1)
+ {
+ Name(DDBH, 0)
+ Name(PLDT, 0)
+
+ Concatenate(arg0, "-tst7", arg0)
+
+ Store(LoadTable("OEM1", "", "", RPST, "^TST7.PLDT", 1), DDBH)
+
+ if (CH03(arg0, z176, 0x091, 0, 0)) {
+ return (1)
+ }
+
+ if (y260) {
+ Store(ObjectType(DDBH), Local1)
+ if (LNotEqual(Local1, c017)) { // DDB Handle
+ err(arg0, z176, 0x092, 0, 0, Local1, c017)
+ return (1)
+ }
+ }
+
+ if (LNotEqual(1, PLDT)) {
+ err(arg0, z176, 0x093, 0, 0, PLDT, 1)
+ }
+
+ UnLoad(DDBH)
+
+ if (CH03(arg0, z176, 0x094, 0, 0)) {
+ return (1)
+ }
+
+ Store(0, PLDT)
+ Store(0, \DTM2.PLDT)
+
+ Store(LoadTable("OEM1", "", "", RPST, "PLDT", 1), DDBH)
+
+ if (CH03(arg0, z176, 0x095, 0, 0)) {
+ return (1)
+ }
+
+ if (y260) {
+ Store(ObjectType(DDBH), Local1)
+ if (LNotEqual(Local1, c017)) { // DDB Handle
+ err(arg0, z176, 0x096, 0, 0, Local1, c017)
+ return (1)
+ }
+ }
+
+ if (LNotEqual(0, PLDT)) {
+ err(arg0, z176, 0x097, 0, 0, PLDT, 0)
+ }
+
+ if (LNotEqual(1, \DTM2.PLDT)) {
+ err(arg0, z176, 0x098, 0, 0, \DTM2.PLDT, 1)
+ }
+
+ UnLoad(DDBH)
+
+ if (CH03(arg0, z176, 0x099, 0, 0)) {
+ return (1)
+ }
+
+ return (0)
+ }
+
+ // Exceptions when the SignatureString is greater than four characters,
+ // the OEMIDString is greater than six characters, or the OEMTableID is
+ // greater than eight characters
+ Method(tst8, 1)
+ {
+ Name(DDBH, 0)
+
+ Concatenate(arg0, "-tst8", arg0)
+
+ Store(0, \DTM2.PLDT)
+
+ // SignatureString is greater than four characters
+ if (y287) {
+ LoadTable("OEM1X", "", "", RPST, PPST, 1)
+ } else {
+ Store(LoadTable("OEM1X", "", "", RPST, PPST, 1), DDBH)
+ }
+
+ CH04(arg0, 0, 28, z176, 0x0a0, 0, 0) // AE_BAD_PARAMETER
+
+ if (LNotEqual(0, \DTM2.PLDT)) {
+ err(arg0, z176, 0x0a1, 0, 0, \DTM2.PLDT, 1)
+
+ if (y287) {
+ return (1)
+ } else {
+ // Cleanup
+ UnLoad(DDBH)
+ Store(0, \DTM2.PLDT)
+ }
+ }
+
+ // OEMIDString is greater than six characters
+ LoadTable("OEM1", "IntelXX", "", RPST, PPST, 1)
+
+ CH04(arg0, 0, 28, z176, 0x0a2, 0, 0) // AE_BAD_PARAMETER
+
+ if (LNotEqual(0, \DTM2.PLDT)) {
+ err(arg0, z176, 0x0a3, 0, 0, \DTM2.PLDT, 1)
+ return (1)
+ }
+
+ // OEMTableID is greater than eight characters
+ LoadTable("OEM1", "", "ManyXXXXX", RPST, PPST, 1)
+
+ CH04(arg0, 0, 28, z176, 0x0a4, 0, 0) // AE_BAD_PARAMETER
+
+ if (LNotEqual(0, \DTM2.PLDT)) {
+ err(arg0, z176, 0x0a5, 0, 0, \DTM2.PLDT, 1)
+ return (1)
+ }
+
+ return (0)
+ }
+
+ // Exceptions when some DSDT or SSDT matching the LoadTable parameters
+ // is already loaded (actually on initial loading of tables listed in XSDT)
+ Method(tst9, 1)
+ {
+ Concatenate(arg0, "-tst9", arg0)
+
+ Store(0, \DTM2.PLDT)
+
+ // SignatureString is "DSDT"
+ LoadTable("DSDT", "", "", RPST, PPST, 1)
+
+ CH04(arg0, 0, 7, z176, 0x0a6, 0, 0) // AE_ALREADY_EXISTS
+
+ if (LNotEqual(0, \DTM2.PLDT)) {
+ err(arg0, z176, 0x0a7, 0, 0, \DTM2.PLDT, 1)
+ }
+
+ // SignatureString is "SSDT"
+ LoadTable("SSDT", "", "", RPST, PPST, 1)
+
+ CH04(arg0, 0, 7, z176, 0x0a8, 0, 0) // AE_ALREADY_EXISTS
+
+ if (LNotEqual(0, \DTM2.PLDT)) {
+ err(arg0, z176, 0x0a9, 0, 0, \DTM2.PLDT, 1)
+ }
+
+ return (0)
+ }
+
+ // Exceptions when the matched table is already loaded
+ Method(tsta, 1)
+ {
+ Name(DDBH, 0)
+
+ Concatenate(arg0, "-tsta", arg0)
+
+ if (CondRefof(\_XT2, Local0)) {
+ err(arg0, z176, 0x0b0, 0, 0, "\\_XT2", 1)
+ return (1)
+ }
+
+ Store(0, \DTM2.PLDT)
+
+ Store(LoadTable("OEM1", "", "", "\\", PPST, 1), DDBH)
+
+ if (CH03(arg0, z176, 0x0b1, 0, 0)) {
+ return (1)
+ }
+
+ if (y260) {
+ Store(ObjectType(DDBH), Local1)
+ if (LNotEqual(Local1, c017)) { // DDB Handle
+ err(arg0, z176, 0x0b2, 0, 0, Local1, c017)
+ return (1)
+ }
+ }
+
+ if (LNotEqual(1, \DTM2.PLDT)) {
+ err(arg0, z176, 0x0b3, 0, 0, \DTM2.PLDT, 1)
+ }
+
+ if (CondRefof(\_XT2, Local0)) {
+ } else {
+ err(arg0, z176, 0x0b4, 0, 0, "\\_XT2", 0)
+ }
+
+ Store(0, \DTM2.PLDT)
+
+ LoadTable("OEM1", "", "", "\\DTM2", PPST, 1)
+
+ CH04(arg0, 0, 7, z176, 0x0b5, 0, 0) // AE_ALREADY_EXISTS
+
+ if (LNotEqual(0, \DTM2.PLDT)) {
+ err(arg0, z176, 0x0b6, 0, 0, \DTM2.PLDT, 0)
+ }
+
+ if (CondRefof(\DTM2._XT2, Local0)) {
+ err(arg0, z176, 0x0b7, 0, 0, "\\DTM2._XT2", 1)
+ }
+
+ if (CondRefof(\_XT2, Local0)) {
+ } else {
+ err(arg0, z176, 0x0b8, 0, 0, "\\_XT2", 0)
+ }
+
+ UnLoad(DDBH)
+ Store("OEM1 unloaded", Debug)
+
+ if (CH03(arg0, z176, 0x0b9, 0, 0)) {
+ return (1)
+ }
+
+ if (CondRefof(\_XT2, Local0)) {
+ err(arg0, z176, 0x0ba, 0, 0, "\\_XT2", 1)
+ }
+
+ return (0)
+ }
+
+ // Originated from ssdt4.asl: iasl -tc ssdt4.asl
+ Name(BUF4, Buffer(){
+ 0x53,0x53,0x44,0x54,0x44,0x00,0x00,0x00, /* 00000000 "SSDTD..." */
+ 0x02,0x08,0x69,0x41,0x53,0x4C,0x54,0x53, /* 00000008 "..iASLTS" */
+ 0x4C,0x54,0x42,0x4C,0x30,0x30,0x30,0x31, /* 00000010 "LTBL0001" */
+ 0x01,0x00,0x00,0x00,0x49,0x4E,0x54,0x4C, /* 00000018 "....INTL" */
+ 0x15,0x12,0x06,0x20,0x10,0x1F,0x5C,0x00, /* 00000020 "... ..\." */
+ 0x08,0x5F,0x58,0x54,0x32,0x0D,0x61,0x62, /* 00000028 "._XT2.ab" */
+ 0x73,0x6F,0x6C,0x75,0x74,0x65,0x20,0x6C, /* 00000030 "solute l" */
+ 0x6F,0x63,0x61,0x74,0x69,0x6F,0x6E,0x20, /* 00000038 "ocation " */
+ 0x6F,0x62,0x6A,0x00,
+ })
+
+ OperationRegion (IST4, SystemMemory, 0x600, 0x44)
+
+ Field(IST4, ByteAcc, NoLock, Preserve) {
+ RFU4, 0x220,
+ }
+
+ // Exceptions when there already is an previously loaded Object
+ // referred by the path in the Namespace
+ Method(tstb, 1)
+ {
+ Name(DDBH, 0)
+
+ Concatenate(arg0, "-tstb", arg0)
+
+ if (CondRefof(\_XT2, Local0)) {
+ err(arg0, z176, 0x0c0, 0, 0, "\\_XT2", 1)
+ return (1)
+ }
+
+ Store(BUF4, RFU4)
+ Load(RFU4, DDBH)
+
+ if (CH03(arg0, z176, 0x0c1, 0, 0)) {
+ return (1)
+ }
+
+ if (y260) {
+ Store(ObjectType(DDBH), Local1)
+ if (LNotEqual(Local1, c017)) { // DDB Handle
+ err(arg0, z176, 0x0c2, 0, 0, Local1, c017)
+ return (1)
+ }
+ }
+
+ if (CondRefof(\_XT2, Local0)) {
+ } else {
+ err(arg0, z176, 0x0c3, 0, 0, "\\_XT2", 0)
+ }
+
+ Store(0, \DTM2.PLDT)
+
+ LoadTable("OEM1", "", "", "\\", PPST, 1)
+
+ CH04(arg0, 0, 7, z176, 0x0c4, 0, 0) // AE_ALREADY_EXISTS
+
+ if (LNotEqual(0, \DTM2.PLDT)) {
+ err(arg0, z176, 0x0c5, 0, 0, \DTM2.PLDT, 0)
+ }
+
+ if (CondRefof(\_XT2, Local0)) {
+ } else {
+ err(arg0, z176, 0x0c6, 0, 0, "\\_XT2", 0)
+ }
+
+ UnLoad(DDBH)
+ Store("SSDT unloaded", Debug)
+
+ if (CH03(arg0, z176, 0x0c7, 0, 0)) {
+ return (1)
+ }
+
+ if (CondRefof(\_XT2, Local0)) {
+ err(arg0, z176, 0x0c8, 0, 0, "\\_XT2", 1)
+ }
+
+ return (0)
+ }
+
+ // Exceptions when the object specified by the ParameterPathString
+ // does not exist
+ Method(tstc, 1)
+ {
+ Concatenate(arg0, "-tstc", arg0)
+
+ LoadTable("DSDT", "", "", RPST, "\\DTM2.NULL", 1)
+
+ CH04(arg0, 0, 5, z176, 0x0c9, 0, 0) // AE_NOT_FOUND
+
+ return (0)
+ }
+
+ // Exceptions when storing of data of the ParameterData data type
+ // to the specified object is not allowed.
+ Method(tstd, 1)
+ {
+ Concatenate(arg0, "-tstd", arg0)
+
+ Store(0, \DTM2.PLDT)
+
+ LoadTable("OEM1", "", "", "\\", "\\DTM2.PLDT", \DTM2.DEVR)
+
+ CH04(arg0, 0, 47, z176, 0x0ca, 0, 0) // AE_AML_OPERAND_TYPE
+
+ if (LNotEqual(0, \DTM2.PLDT)) {
+ err(arg0, z176, 0x0cb, 0, 0, \DTM2.PLDT, 0)
+ }
+
+ if (CondRefof(\_XT2, Local0)) {
+ err(arg0, z176, 0x0cc, 0, 0, "\\_XT2", 1)
+ }
+
+ return (0)
+ }
+
+ // Implicit operand conversion of the parameters specified to be strings
+ Method(tste, 1)
+ {
+ Name(DDBH, 2)
+ Name(SOID, "")
+ Name(STID, "")
+ Name(RPST, "\\")
+ Name(PPST, "DTM2.PLDT")
+ Name(DSTR, "01234")
+
+ Method(m000, 3)
+ {
+ Name(DDBH, 2)
+
+ Store(0, \DTM2.PLDT)
+
+ Concatenate(arg0, "-m000.", arg0)
+ Concatenate(arg0, Mid(DSTR, arg2, 1), arg0)
+
+ Switch(arg2) {
+ Case(0) {
+ Store(LoadTable(arg1, SOID, STID, RPST, PPST, 1), DDBH)
+ }
+ Case(1) {
+ Store(LoadTable(SOEM, arg1, STID, RPST, PPST, 1), DDBH)
+ }
+ Case(2) {
+ Store(LoadTable(SOEM, SOID, arg1, RPST, PPST, 1), DDBH)
+ }
+ Case(3) {
+ LoadTable(SOEM, SOID, STID, arg1, PPST, 1)
+ return (CH04(arg0, 0, 28, z176, 0x0d0, 0, 0)) // AE_BAD_PARAMETER
+ }
+ Case(4) {
+ LoadTable(SOEM, SOID, STID, RPST, arg1, 1)
+ return (CH04(arg0, 0, 28, z176, 0x0d1, 0, 0)) // AE_BAD_PARAMETER
+ }
+ }
+
+ if (CH03(arg0, z176, 0x0d2, 0, 0)) {
+ return (1)
+ }
+
+ if (LNotEqual(0, \DTM2.PLDT)) {
+ err(arg0, z176, 0x0d3, 0, 0, \DTM2.PLDT, 0)
+ return (1)
+ }
+
+ Store(ObjectType(DDBH), Local5)
+
+ if (CH03(arg0, z176, 0x0d4, 0, 0)) {
+ return (1)
+ }
+
+ if (LNotEqual(Local5, c009)) { // Integer
+ err(arg0, z176, 0x0d5, 0, 0, Local5, c009)
+ return (1)
+ }
+
+ if (LNotEqual(0, DDBH)) {
+ err(arg0, z176, 0x0d6, 0, 0, DDBH, 0)
+ return (1)
+ }
+
+ return (0)
+ }
+
+ Concatenate(arg0, "-tste", arg0)
+
+ if (y281) {
+ Store(^SOID, SOID)
+ Store(^STID, STID)
+ }
+
+ // Buffer to String implicit conversion, only check that then
+ // no exception occurs. Actually due to the conversion rule
+ // resulting strings will not match the table fields
+
+ ToBuffer(SOEM, Local0)
+ ToBuffer(SOID, Local1)
+ ToBuffer(STID, Local2)
+ ToBuffer(RPST, Local3)
+ ToBuffer(PPST, Local4)
+
+ if (m000(arg0, Local0, 0)) {return (1)}
+ if (m000(arg0, Local1, 1)) {return (1)}
+ if (m000(arg0, Local2, 2)) {return (1)}
+ if (m000(arg0, Local3, 3)) {return (1)}
+ if (m000(arg0, Local4, 4)) {return (1)}
+
+ // Check consistency of the parameters
+
+ if (LNotEqual(ToBuffer(SOEM), Local0)) {
+ err(arg0, z176, 0x0d7, 0, 0, Local0, ToBuffer(SOEM))
+ return (1)
+ }
+
+ if (LNotEqual(ToBuffer(SOID), Local1)) {
+ err(arg0, z176, 0x0d8, 0, 0, Local1, ToBuffer(SOID))
+ return (1)
+ }
+
+ if (LNotEqual(ToBuffer(STID), Local2)) {
+ err(arg0, z176, 0x0d9, 0, 0, Local2, ToBuffer(STID))
+ return (1)
+ }
+
+ if (LNotEqual(ToBuffer(RPST), Local3)) {
+ err(arg0, z176, 0x0da, 0, 0, Local3, ToBuffer(RPST))
+ return (1)
+ }
+
+ if (LNotEqual(ToBuffer(PPST), Local4)) {
+ err(arg0, z176, 0x0db, 0, 0, Local4, ToBuffer(PPST))
+ return (1)
+ }
+
+ // Integer to String implicit conversion
+
+ ToInteger(Local0, Local0)
+ ToInteger(Local1, Local1)
+ ToInteger(Local2, Local2)
+ ToInteger(Local3, Local3)
+ ToInteger(Local4, Local4)
+
+ if (m000(arg0, Local0, 0)) {return (1)}
+ if (m000(arg0, Local1, 1)) {return (1)}
+ if (m000(arg0, Local2, 2)) {return (1)}
+ if (m000(arg0, Local3, 3)) {return (1)}
+ if (m000(arg0, Local4, 4)) {return (1)}
+
+ // Actual trivial Buffer to String implicit conversion
+
+ if (y293) {
+ if (CondRefof(\_XT2, Local0)) {
+ err(arg0, z176, 0x0e0, 0, 0, "\\_XT2", 1)
+ return (1)
+ }
+
+ Store(0, Local0)
+ Store(Buffer(Local0){}, Local1)
+
+ Store(0, \DTM2.PLDT)
+
+ Store(LoadTable(SOEM, Local1, Local1, RPST, PPST, 1), DDBH)
+
+ if (CH03(arg0, z176, 0x0e1, 0, 0)) {
+ return (1)
+ }
+
+ if (LNotEqual(1, \DTM2.PLDT)) {
+ err(arg0, z176, 0x0e2, 0, 0, \DTM2.PLDT, 1)
+ return (1)
+ }
+
+ if (CondRefof(\_XT2, Local0)) {
+ } else {
+ err(arg0, z176, 0x0e3, 0, 0, "\\_XT2", 1)
+ return (1)
+ }
+
+ UnLoad(DDBH)
+
+ if (CH03(arg0, z176, 0x0e4, 0, 0)) {
+ return (1)
+ }
+
+ if (CondRefof(\_XT2, Local0)) {
+ err(arg0, z176, 0x0e5, 0, 0, "\\_XT2", 1)
+ return (1)
+ }
+ }
+
+ return (0)
+ }
+
+ // LoadTable returns 0 if some SSDT matching the LoadTable
+ // parameters is originally not listed in XSDT
+ Method(tstf, 1)
+ {
+ Name(DDBH, 0)
+
+ Concatenate(arg0, "-tstf", arg0)
+
+ if (CondRefof(\_XT2, Local0)) {
+ err(arg0, z176, 0x0f1, 0, 0, "\\_XT2", 1)
+ return (1)
+ }
+
+ Store(BUF4, RFU4)
+ Load(RFU4, DDBH)
+
+ if (CH03(arg0, z176, 0x0f2, 0, 0)) {
+ return (1)
+ }
+
+ if (y260) {
+ Store(ObjectType(DDBH), Local1)
+ if (LNotEqual(Local1, c017)) { // DDB Handle
+ err(arg0, z176, 0x0f3, 0, 0, Local1, c017)
+ return (1)
+ }
+ }
+
+ if (CondRefof(\_XT2, Local0)) {
+ } else {
+ err(arg0, z176, 0x0f4, 0, 0, "\\_XT2", 0)
+ }
+
+ UnLoad(DDBH)
+ Store("SSDT unloaded", Debug)
+
+ if (CH03(arg0, z176, 0x0f5, 0, 0)) {
+ return (1)
+ }
+
+ if (CondRefof(\_XT2, Local0)) {
+ err(arg0, z176, 0x0f6, 0, 0, "\\_XT2", 1)
+ return (1)
+ }
+
+ Store(0, \DTM2.PLDT)
+
+ if (y289) {
+ LoadTable("SSDT", "iASLTS", "LTBL0001", "\\", PPST, 1)
+ } else {
+ Store(LoadTable("SSDT", "iASLTS", "LTBL0001", "\\", PPST, 1), DDBH)
+ }
+
+ CH04(arg0, 0, 28, z176, 0x0f7, 0, 0) // AE_BAD_PARAMETER
+
+ if (LNotEqual(0, \DTM2.PLDT)) {
+ err(arg0, z176, 0x0f8, 0, 0, \DTM2.PLDT, 0)
+ }
+
+ if (CondRefof(\_XT2, Local0)) {
+ err(arg0, z176, 0x0f9, 0, 0, "\\_XT2", 1)
+ if (y289) {
+ // Cleanup
+ UnLoad(DDBH)
+ }
+ }
+
+ return (0)
+ }
+
+ // AE_OWNER_ID_LIMIT exception when too many Tables loaded
+ Method(tstg, 1)
+ {
+ Concatenate(arg0, "-tstg-\\DTM0", arg0)
+
+ \DTM0.tsth(arg0, 1)
+ }
+
+ // Exceptions when the parameter of the Loadtable operator
+ // is of incorrect types
+ Method(tsth, 1)
+ {
+ Name(DDB0, 0)
+ Name(DDB1, 0)
+ Name(BTYP, Buffer(){0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0})
+
+ Method(m000, 4)
+ {
+ Concatenate(arg0, "-m000.", arg0)
+ Concatenate(arg0, arg1, arg0)
+
+ Store(ObjectType(arg2), Local0)
+ if (LNotEqual(arg3, Local0)) {
+ err(arg0, z176, 0x100, 0, 0, Local0, arg3)
+ return (1)
+ }
+
+ LoadTable(Derefof(arg2), "", "", "\\", "\\DTM2.PLDT", 1)
+ CH04(arg0, 0, 47, z176, 0x101, 0, 0) // AE_AML_OPERAND_TYPE
+
+ return (0)
+ }
+
+ Method(m001, 4)
+ {
+ Concatenate(arg0, "-m001.", arg0)
+ Concatenate(arg0, arg1, arg0)
+
+ Store(ObjectType(arg2), Local0)
+ if (LNotEqual(arg3, Local0)) {
+ err(arg0, z176, 0x102, 0, 0, Local0, arg3)
+ return (1)
+ }
+
+ LoadTable("OEM1", Derefof(arg2), "", "\\", "\\DTM2.PLDT", 1)
+ CH04(arg0, 0, 47, z176, 0x103, 0, 0) // AE_AML_OPERAND_TYPE
+
+ return (0)
+ }
+
+ Method(m002, 4)
+ {
+ Concatenate(arg0, "-m002.", arg0)
+ Concatenate(arg0, arg1, arg0)
+
+ Store(ObjectType(arg2), Local0)
+ if (LNotEqual(arg3, Local0)) {
+ err(arg0, z176, 0x104, 0, 0, Local0, arg3)
+ return (1)
+ }
+
+ LoadTable("OEM1", "", Derefof(arg2), "\\", "\\DTM2.PLDT", 1)
+ CH04(arg0, 0, 47, z176, 0x105, 0, 0) // AE_AML_OPERAND_TYPE
+
+ return (0)
+ }
+
+ Method(m003, 4)
+ {
+ Concatenate(arg0, "-m003.", arg0)
+ Concatenate(arg0, arg1, arg0)
+
+ Store(ObjectType(arg2), Local0)
+ if (LNotEqual(arg3, Local0)) {
+ err(arg0, z176, 0x106, 0, 0, Local0, arg3)
+ return (1)
+ }
+
+ LoadTable("OEM1", "", "", Derefof(arg2), "\\DTM2.PLDT", 1)
+ if (Derefof(Index(BTYP, arg3))) {
+ CH04(arg0, 0, 28, z176, 0x107, 0, 0) // AE_BAD_PARAMETER
+ } else {
+ CH04(arg0, 0, 47, z176, 0x108, 0, 0) // AE_AML_OPERAND_TYPE
+ }
+
+ return (0)
+ }
+
+ Method(m004, 4)
+ {
+ Concatenate(arg0, "-m004.", arg0)
+ Concatenate(arg0, arg1, arg0)
+
+ Store(ObjectType(arg2), Local0)
+ if (LNotEqual(arg3, Local0)) {
+ err(arg0, z176, 0x109, 0, 0, Local0, arg3)
+ return (1)
+ }
+
+ LoadTable("OEM1", "", "", "\\", Derefof(arg2), 1)
+ if (Derefof(Index(BTYP, arg3))) {
+ CH04(arg0, 0, 28, z176, 0x10a, 0, 0) // AE_BAD_PARAMETER
+ } else {
+ CH04(arg0, 0, 47, z176, 0x10b, 0, 0) // AE_AML_OPERAND_TYPE
+ }
+
+ return (0)
+ }
+
+ Concatenate(arg0, "-tsth", arg0)
+
+ // Load Auxiliry table
+ Store(\DTM0.BUF3, \DTM0.RFU3)
+ Load(\DTM0.RFU3, DDB0)
+
+ if (CH03(arg0, z176, 0x10c, 0, 0)) {
+ return (1)
+ }
+
+ // Uninitialized
+ if (0) {
+ Store(0, Local1)
+ }
+ Store(ObjectType(Local1), Local0)
+ if (LNotEqual(c008, Local0)) {
+ err(arg0, z176, 0x10d, 0, 0, Local0, c008)
+ } else {
+ LoadTable(Local1, "", "", "\\", "\\DTM2.PLDT", 1)
+ if (SLCK) {
+ CH04(arg0, 0, 47, z176, 0x10e, 0, 0) // AE_AML_OPERAND_TYPE
+ } else {
+ CH04(arg0, 0, 49, z176, 0x10e, 0, 0) // AE_AML_UNINITIALIZED_LOCAL
+ }
+ LoadTable("OEM1", Local1, "", "\\", "\\DTM2.PLDT", 1)
+ if (SLCK) {
+ CH04(arg0, 0, 47, z176, 0x10f, 0, 0) // AE_AML_OPERAND_TYPE
+ } else {
+ CH04(arg0, 0, 49, z176, 0x10f, 0, 0) // AE_AML_UNINITIALIZED_LOCAL
+ }
+ LoadTable("OEM1", "", Local1, "\\", "\\DTM2.PLDT", 1)
+ if (SLCK) {
+ CH04(arg0, 0, 47, z176, 0x110, 0, 0) // AE_AML_OPERAND_TYPE
+ } else {
+ CH04(arg0, 0, 49, z176, 0x110, 0, 0) // AE_AML_UNINITIALIZED_LOCAL
+ }
+ LoadTable("OEM1", "", "", Local1, "\\DTM2.PLDT", 1)
+ if (SLCK) {
+ CH04(arg0, 0, 47, z176, 0x111, 0, 0) // AE_AML_OPERAND_TYPE
+ } else {
+ CH04(arg0, 0, 49, z176, 0x111, 0, 0) // AE_AML_UNINITIALIZED_LOCAL
+ }
+ LoadTable("OEM1", "", "", "\\", Local1, 1)
+ if (SLCK) {
+ CH04(arg0, 0, 47, z176, 0x112, 0, 0) // AE_AML_OPERAND_TYPE
+ } else {
+ CH04(arg0, 0, 49, z176, 0x112, 0, 0) // AE_AML_UNINITIALIZED_LOCAL
+ }
+ }
+
+ // Integer
+ m003(arg0, "int", Refof(\AUXD.INT0), c009)
+ m004(arg0, "int", Refof(\AUXD.INT0), c009)
+
+ // String
+ m003(arg0, "str", Refof(\AUXD.STR0), c00a)
+ m004(arg0, "str", Refof(\AUXD.STR0), c00a)
+
+ // Buffer
+ m003(arg0, "buf", Refof(\AUXD.BUF0), c00b)
+ m004(arg0, "buf", Refof(\AUXD.BUF0), c00b)
+
+ // Package
+ if (y286) {
+ m000(arg0, "pac", Refof(\AUXD.PAC0), c00c)
+ m001(arg0, "pac", Refof(\AUXD.PAC0), c00c)
+ m002(arg0, "pac", Refof(\AUXD.PAC0), c00c)
+ m003(arg0, "pac", Refof(\AUXD.PAC0), c00c)
+ m004(arg0, "pac", Refof(\AUXD.PAC0), c00c)
+ }
+ LoadTable(\AUXD.PAC0, "", "", "\\", "\\DTM2.PLDT", 1)
+ CH04(arg0, 0, 47, z176, 0x113, 0, 0) // AE_AML_OPERAND_TYPE
+ LoadTable("OEM1", \AUXD.PAC0, "", "\\", "\\DTM2.PLDT", 1)
+ CH04(arg0, 0, 47, z176, 0x114, 0, 0) // AE_AML_OPERAND_TYPE
+ LoadTable("OEM1", "", \AUXD.PAC0, "\\", "\\DTM2.PLDT", 1)
+ CH04(arg0, 0, 47, z176, 0x115, 0, 0) // AE_AML_OPERAND_TYPE
+ LoadTable("OEM1", "", "", \AUXD.PAC0, "\\DTM2.PLDT", 1)
+ CH04(arg0, 0, 47, z176, 0x116, 0, 0) // AE_AML_OPERAND_TYPE
+ LoadTable("OEM1", "", "", "\\", \AUXD.PAC0, 1)
+ CH04(arg0, 0, 47, z176, 0x117, 0, 0) // AE_AML_OPERAND_TYPE
+ Store(ObjectType(\AUXD.PAC0), Local0)
+ if (LNotEqual(c00c, Local0)) {
+ err(arg0, z176, 0x118, 0, 0, Local0, c00c)
+ }
+
+ // Field Unit
+ m003(arg0, "flu", Refof(\AUXD.FLU0), c00d)
+ m004(arg0, "flu", Refof(\AUXD.FLU0), c00d)
+
+ // Device
+ LoadTable(\AUXD.DEV0, "", "", "\\", "\\DTM2.PLDT", 1)
+ CH04(arg0, 0, 47, z176, 0x119, 0, 0) // AE_AML_OPERAND_TYPE
+ LoadTable("OEM1", \AUXD.DEV0, "", "\\", "\\DTM2.PLDT", 1)
+ CH04(arg0, 0, 47, z176, 0x11a, 0, 0) // AE_AML_OPERAND_TYPE
+ LoadTable("OEM1", "", \AUXD.DEV0, "\\", "\\DTM2.PLDT", 1)
+ CH04(arg0, 0, 47, z176, 0x11b, 0, 0) // AE_AML_OPERAND_TYPE
+ LoadTable("OEM1", "", "", \AUXD.DEV0, "\\DTM2.PLDT", 1)
+ CH04(arg0, 0, 47, z176, 0x11c, 0, 0) // AE_AML_OPERAND_TYPE
+ LoadTable("OEM1", "", "", "\\", \AUXD.DEV0, 1)
+ CH04(arg0, 0, 47, z176, 0x11d, 0, 0) // AE_AML_OPERAND_TYPE
+ Store(ObjectType(\AUXD.DEV0), Local0)
+ if (LNotEqual(c00e, Local0)) {
+ err(arg0, z176, 0x11e, 0, 0, Local0, c00e)
+ }
+
+ // Event
+ m000(arg0, "evt", Refof(\AUXD.EVE0), c00f)
+ m001(arg0, "evt", Refof(\AUXD.EVE0), c00f)
+ m002(arg0, "evt", Refof(\AUXD.EVE0), c00f)
+ m003(arg0, "evt", Refof(\AUXD.EVE0), c00f)
+ m004(arg0, "evt", Refof(\AUXD.EVE0), c00f)
+
+ // Method
+ m000(arg0, "met", Refof(\AUXD.MMM0), c010)
+ m001(arg0, "met", Refof(\AUXD.MMM0), c010)
+ m002(arg0, "met", Refof(\AUXD.MMM0), c010)
+ m003(arg0, "met", Refof(\AUXD.MMM0), c010)
+ m004(arg0, "met", Refof(\AUXD.MMM0), c010)
+
+ // Mutex
+ m000(arg0, "mtx", Refof(\AUXD.MTX0), c011)
+ m001(arg0, "mtx", Refof(\AUXD.MTX0), c011)
+ m002(arg0, "mtx", Refof(\AUXD.MTX0), c011)
+ m003(arg0, "mtx", Refof(\AUXD.MTX0), c011)
+ m004(arg0, "mtx", Refof(\AUXD.MTX0), c011)
+
+ // OpRegion
+ m000(arg0, "opr", Refof(\AUXD.OPR0), c012)
+ m001(arg0, "opr", Refof(\AUXD.OPR0), c012)
+ m002(arg0, "opr", Refof(\AUXD.OPR0), c012)
+ m003(arg0, "opr", Refof(\AUXD.OPR0), c012)
+ m004(arg0, "opr", Refof(\AUXD.OPR0), c012)
+
+ // Power Resource
+ m000(arg0, "pwr", Refof(\AUXD.PWR0), c013)
+ m001(arg0, "pwr", Refof(\AUXD.PWR0), c013)
+ m002(arg0, "pwr", Refof(\AUXD.PWR0), c013)
+ m003(arg0, "pwr", Refof(\AUXD.PWR0), c013)
+ m004(arg0, "pwr", Refof(\AUXD.PWR0), c013)
+
+ // Processor
+ m000(arg0, "cpu", Refof(\AUXD.CPU0), c014)
+ m001(arg0, "cpu", Refof(\AUXD.CPU0), c014)
+ m002(arg0, "cpu", Refof(\AUXD.CPU0), c014)
+ m003(arg0, "cpu", Refof(\AUXD.CPU0), c014)
+ m004(arg0, "cpu", Refof(\AUXD.CPU0), c014)
+
+ // Thermal Zone
+ LoadTable(\AUXD.TZN0, "", "", "\\", "\\DTM2.PLDT", 1)
+ CH04(arg0, 0, 47, z176, 0x120, 0, 0) // AE_AML_OPERAND_TYPE
+ LoadTable("OEM1", \AUXD.TZN0, "", "\\", "\\DTM2.PLDT", 1)
+ CH04(arg0, 0, 47, z176, 0x121, 0, 0) // AE_AML_OPERAND_TYPE
+ LoadTable("OEM1", "", \AUXD.TZN0, "\\", "\\DTM2.PLDT", 1)
+ CH04(arg0, 0, 47, z176, 0x122, 0, 0) // AE_AML_OPERAND_TYPE
+ LoadTable("OEM1", "", "", \AUXD.TZN0, "\\DTM2.PLDT", 1)
+ CH04(arg0, 0, 47, z176, 0x123, 0, 0) // AE_AML_OPERAND_TYPE
+ LoadTable("OEM1", "", "", "\\", \AUXD.TZN0, 1)
+ CH04(arg0, 0, 47, z176, 0x124, 0, 0) // AE_AML_OPERAND_TYPE
+ Store(ObjectType(\AUXD.TZN0), Local0)
+ if (LNotEqual(c015, Local0)) {
+ err(arg0, z176, 0x125, 0, 0, Local0, c015)
+ }
+
+ // Buffer Field
+ m003(arg0, "bfl", Refof(\AUXD.BFL0), c016)
+ m004(arg0, "bfl", Refof(\AUXD.BFL0), c016)
+
+ UnLoad(DDB0)
+
+ CH03(arg0, z176, 0x126, 0, 0)
+
+ return (0)
+ }
+
+ // Exceptions when the ParameterData parameter of the Loadtable operator
+ // can not be saved into the Object referred by ParameterPathString
+ Method(tsti, 1)
+ {
+ Name(DDB0, 0)
+ Name(DDB1, 0)
+
+ Concatenate(arg0, "-tsti", arg0)
+
+ // Load Auxiliry table
+ Store(\DTM0.BUF3, \DTM0.RFU3)
+ Load(\DTM0.RFU3, DDB0)
+
+ if (CH03(arg0, z176, 0x130, 0, 0)) {
+ return (1)
+ }
+
+ // Uninitialized
+ if (0) {
+ Store(0, Local1)
+ }
+ Store(ObjectType(Local1), Local0)
+ if (LNotEqual(c008, Local0)) {
+ err(arg0, z176, 0x131, 0, 0, Local0, c008)
+ } else {
+// Bug 288: iASL unexpectedly forbids ParameterData of Loadtable to be LocalX or UserTerm
+/*
+ LoadTable("OEM1", "", "", "\\", "\\DTM2.PLDT", Local1)
+ if (SLCK) {
+ CH04(arg0, 0, 47, z176, 0x132, 0, 0) // AE_AML_OPERAND_TYPE
+ } else {
+ CH04(arg0, 0, 49, z176, 0x132, 0, 0) // AE_AML_UNINITIALIZED_LOCAL
+ }
+*/
+ }
+
+ // Integer
+ Store(ObjectType(\DTM2.PLDT), Local0)
+ if (LNotEqual(c009, Local0)) {
+ err(arg0, z176, 0x133, 0, 0, Local0, c009)
+ return (1)
+ }
+ Store(LoadTable("OEM1", "", "", "\\", "\\DTM2.PLDT", \AUXD.INT0), DDB1)
+ if (CH03(arg0, z176, 0x134, 0, 0)) {
+ return (1)
+ }
+ Store(ObjectType(\DTM2.PLDT), Local0)
+ if (LNotEqual(c009, Local0)) {
+ err(arg0, z176, 0x135, 0, 0, Local0, c009)
+ return (1)
+ }
+ if (LNotEqual(\DTM2.PLDT, \AUXD.INT0)) {
+ err(arg0, z176, 0x136, 0, 0, \DTM2.PLDT, \AUXD.INT0)
+ return (1)
+ }
+ Unload(DDB1)
+ if (CH03(arg0, z176, 0x137, 0, 0)) {
+ return (1)
+ }
+ Store(ObjectType(\AUXD.INT0), Local0)
+ if (LNotEqual(c009, Local0)) {
+ err(arg0, z176, 0x138, 0, 0, Local0, c009)
+ }
+
+ // String
+ if (y296) {
+ Store(ObjectType(\DTM2.PLDT), Local0)
+ if (LNotEqual(c009, Local0)) {
+ err(arg0, z176, 0x139, 0, 0, Local0, c009)
+ return (1)
+ }
+ Store(LoadTable("OEM1", "", "", "\\", "\\DTM2.PLDT", \AUXD.STR0), DDB1)
+ if (CH03(arg0, z176, 0x13a, 0, 0)) {
+ return (1)
+ }
+ Store(ObjectType(\DTM2.PLDT), Local0)
+ if (LNotEqual(c009, Local0)) {
+ err(arg0, z176, 0x13b, 0, 0, Local0, c009)
+ return (1)
+ }
+ if (LNotEqual(\DTM2.PLDT, \AUXD.STR0)) {
+ err(arg0, z176, 0x13c, 0, 0, \DTM2.PLDT, \AUXD.STR0)
+ return (1)
+ }
+ Unload(DDB1)
+ if (CH03(arg0, z176, 0x13d, 0, 0)) {
+ return (1)
+ }
+ Store(ObjectType(\AUXD.STR0), Local0)
+ if (LNotEqual(c00a, Local0)) {
+ err(arg0, z176, 0x13e, 0, 0, Local0, c00a)
+ }
+ }
+
+ // Buffer
+ if (y296) {
+ Store(ObjectType(\DTM2.PLDT), Local0)
+ if (LNotEqual(c009, Local0)) {
+ err(arg0, z176, 0x13f, 0, 0, Local0, c009)
+ return (1)
+ }
+ Store(LoadTable("OEM1", "", "", "\\", "\\DTM2.PLDT", \AUXD.BUF0), DDB1)
+ if (CH03(arg0, z176, 0x140, 0, 0)) {
+ return (1)
+ }
+ Store(ObjectType(\DTM2.PLDT), Local0)
+ if (LNotEqual(c009, Local0)) {
+ err(arg0, z176, 0x141, 0, 0, Local0, c009)
+ return (1)
+ }
+ if (LNotEqual(\DTM2.PLDT, \AUXD.BUF0)) {
+ err(arg0, z176, 0x142, 0, 0, \DTM2.PLDT, \AUXD.BUF0)
+ return (1)
+ }
+ Unload(DDB1)
+ if (CH03(arg0, z176, 0x143, 0, 0)) {
+ return (1)
+ }
+ Store(ObjectType(\AUXD.BUF0), Local0)
+ if (LNotEqual(c00b, Local0)) {
+ err(arg0, z176, 0x144, 0, 0, Local0, c00b)
+ }
+ }
+
+ // Package
+ LoadTable("OEM1", "", "", "\\", "\\DTM2.PLDT", \AUXD.PAC0)
+ CH04(arg0, 0, 47, z176, 0x145, 0, 0) // AE_AML_OPERAND_TYPE
+ Store(ObjectType(\AUXD.PAC0), Local0)
+ if (LNotEqual(c00c, Local0)) {
+ err(arg0, z176, 0x146, 0, 0, Local0, c00c)
+ }
+
+ // Field Unit
+ if (y296) {
+ Store(ObjectType(\DTM2.PLDT), Local0)
+ if (LNotEqual(c009, Local0)) {
+ err(arg0, z176, 0x147, 0, 0, Local0, c009)
+ return (1)
+ }
+ Store(LoadTable("OEM1", "", "", "\\", "\\DTM2.PLDT", \AUXD.FLU0), DDB1)
+ if (CH03(arg0, z176, 0x148, 0, 0)) {
+ return (1)
+ }
+ Store(ObjectType(\DTM2.PLDT), Local0)
+ if (LNotEqual(c009, Local0)) {
+ err(arg0, z176, 0x149, 0, 0, Local0, c009)
+ return (1)
+ }
+ if (LNotEqual(\DTM2.PLDT, \AUXD.FLU0)) {
+ err(arg0, z176, 0x14a, 0, 0, \DTM2.PLDT, \AUXD.FLU0)
+ return (1)
+ }
+ Unload(DDB1)
+ if (CH03(arg0, z176, 0x14b, 0, 0)) {
+ return (1)
+ }
+ Store(ObjectType(\AUXD.FLU0), Local0)
+ if (LNotEqual(c00d, Local0)) {
+ err(arg0, z176, 0x14c, 0, 0, Local0, c00d)
+ }
+ }
+
+ // Device
+ LoadTable("OEM1", "", "", "\\", "\\DTM2.PLDT", \AUXD.DEV0)
+ CH04(arg0, 0, 47, z176, 0x14d, 0, 0) // AE_AML_OPERAND_TYPE
+ Store(ObjectType(\AUXD.DEV0), Local0)
+ if (LNotEqual(c00e, Local0)) {
+ err(arg0, z176, 0x14e, 0, 0, Local0, c00e)
+ }
+
+ // Event
+ LoadTable("OEM1", "", "", "\\", "\\DTM2.PLDT", \AUXD.EVE0)
+ CH04(arg0, 0, 47, z176, 0x14f, 0, 0) // AE_AML_OPERAND_TYPE
+ Store(ObjectType(\AUXD.EVE0), Local0)
+ if (LNotEqual(c00f, Local0)) {
+ err(arg0, z176, 0x150, 0, 0, Local0, c00f)
+ }
+
+ // Method
+ if (y288) {
+ LoadTable("OEM1", "", "", "\\", "\\DTM2.PLDT", \AUXD.MMM0)
+ CH04(arg0, 0, 47, z176, 0x151, 0, 0) // AE_AML_OPERAND_TYPE
+ Store(ObjectType(\AUXD.MMM0), Local0)
+ if (LNotEqual(c010, Local0)) {
+ err(arg0, z176, 0x152, 0, 0, Local0, c010)
+ }
+ }
+
+ // Mutex
+ LoadTable("OEM1", "", "", "\\", "\\DTM2.PLDT", \AUXD.MTX0)
+ CH04(arg0, 0, 47, z176, 0x153, 0, 0) // AE_AML_OPERAND_TYPE
+ Store(ObjectType(\AUXD.MTX0), Local0)
+ if (LNotEqual(c011, Local0)) {
+ err(arg0, z176, 0x154, 0, 0, Local0, c011)
+ }
+
+ // OpRegion
+ LoadTable("OEM1", "", "", "\\", "\\DTM2.PLDT", \AUXD.OPR0)
+ CH04(arg0, 0, 47, z176, 0x155, 0, 0) // AE_AML_OPERAND_TYPE
+ Store(ObjectType(\AUXD.OPR0), Local0)
+ if (LNotEqual(c012, Local0)) {
+ err(arg0, z176, 0x156, 0, 0, Local0, c012)
+ }
+
+ // Power Resource
+ LoadTable("OEM1", "", "", "\\", "\\DTM2.PLDT", \AUXD.PWR0)
+ CH04(arg0, 0, 47, z176, 0x157, 0, 0) // AE_AML_OPERAND_TYPE
+ Store(ObjectType(\AUXD.PWR0), Local0)
+ if (LNotEqual(c013, Local0)) {
+ err(arg0, z176, 0x158, 0, 0, Local0, c013)
+ }
+
+ // Processor
+ LoadTable("OEM1", "", "", "\\", "\\DTM2.PLDT", \AUXD.CPU0)
+ CH04(arg0, 0, 47, z176, 0x159, 0, 0) // AE_AML_OPERAND_TYPE
+ Store(ObjectType(\AUXD.CPU0), Local0)
+ if (LNotEqual(c014, Local0)) {
+ err(arg0, z176, 0x15a, 0, 0, Local0, c014)
+ }
+
+ // Thermal Zone
+ LoadTable("OEM1", "", "", "\\", "\\DTM2.PLDT", \AUXD.TZN0)
+ CH04(arg0, 0, 47, z176, 0x15b, 0, 0) // AE_AML_OPERAND_TYPE
+ Store(ObjectType(\AUXD.TZN0), Local0)
+ if (LNotEqual(c015, Local0)) {
+ err(arg0, z176, 0x15c, 0, 0, Local0, c015)
+ }
+
+ // Buffer Field
+ if (y296) {
+ Store(ObjectType(\DTM2.PLDT), Local0)
+ if (LNotEqual(c009, Local0)) {
+ err(arg0, z176, 0x15d, 0, 0, Local0, c009)
+ return (1)
+ }
+ Store(LoadTable("OEM1", "", "", "\\", "\\DTM2.PLDT", \AUXD.BFL0), DDB1)
+ if (CH03(arg0, z176, 0x15e, 0, 0)) {
+ return (1)
+ }
+ Store(ObjectType(\DTM2.PLDT), Local0)
+ if (LNotEqual(c009, Local0)) {
+ err(arg0, z176, 0x15f, 0, 0, Local0, c009)
+ return (1)
+ }
+ if (LNotEqual(\DTM2.PLDT, \AUXD.BFL0)) {
+ err(arg0, z176, 0x160, 0, 0, \DTM2.PLDT, \AUXD.BFL0)
+ return (1)
+ }
+ Unload(DDB1)
+ if (CH03(arg0, z176, 0x161, 0, 0)) {
+ return (1)
+ }
+ Store(ObjectType(\AUXD.BFL0), Local0)
+ if (LNotEqual(c016, Local0)) {
+ err(arg0, z176, 0x162, 0, 0, Local0, c016)
+ }
+ }
+
+ UnLoad(DDB0)
+
+ CH03(arg0, z176, 0x163, 0, 0)
+
+ return (0)
+ }
+}
+
+Method(TLT0)
+{
+ Name(ts, "TLT0")
+
+ CH03(ts, z176, 0x200, 0, 0)
+
+ // Simple Loadtable test
+ SRMT("TLT0.tst0")
+ \DTM2.tst0(ts)
+
+ CH03(ts, z176, 0x201, 0, 0)
+
+ // All comparisons of Loadtable parameters are case sensitive,
+ // if no table matches the specified parameters, then 0 is returned
+ SRMT("TLT0.tst1")
+ \DTM2.tst1(ts)
+
+ CH03(ts, z176, 0x202, 0, 0)
+
+ // Any of the RootPathString, ParameterPathString, and ParameterData
+ // parameters in LoadTable expression can be omitted
+ SRMT("TLT0.tst2")
+ \DTM2.tst2(ts)
+
+ CH03(ts, z176, 0x203, 0, 0)
+
+ // Different sources of the String parameters: Named Objects, LocalX,
+ // ArgX, elements of Packages, results of functions, any TermArg
+ SRMT("TLT0.tst3")
+ \DTM2.tst3(ts)
+
+ CH03(ts, z176, 0x204, 0, 0)
+
+ // Different sources of the optional parameters (RootPathString,
+ // ParameterPathString, and ParameterData): Named Objects, LocalX,
+ // ArgX, elements of Packages, results of functions, any TermArg
+ SRMT("TLT0.tst4")
+ \DTM2.tst4(ts)
+
+ CH03(ts, z176, 0x205, 0, 0)
+
+ // Namespace location to load the Definition Block is determined
+ // by the RootPathString parameter of Loadtable
+ SRMT("TLT0.tst5.0")
+ \DTM2.tst5(ts, "\\DTM2.DEVR")
+
+ CH03(ts, z176, 0x206, 0, 0)
+
+ // The RootPathString value is evaluated using normal scoping rules,
+ // assuming that the scope of the LoadTable operator is the current
+ // scope
+ SRMT("TLT0.tst5.1")
+ \DTM2.tst5(ts, "^DEVR")
+
+ CH03(ts, z176, 0x207, 0, 0)
+
+ // "\" is assumed to be Namespace location to load the Definition
+ // Block if RootPathString parameter is not specified
+ SRMT("TLT0.tst6")
+ \DTM2.tst6(ts)
+
+ CH03(ts, z176, 0x208, 0, 0)
+
+ // If the first character of ParameterPathString is a backslash
+ // or caret character, then the path of the object set up on success
+ // is ParameterPathString. It is RootPathString.ParameterPathString
+ // in any case.
+ SRMT("TLT0.tst7")
+ \DTM2.tst7(ts)
+
+ CH03(ts, z176, 0x209, 0, 0)
+
+ // Implicit operand conversion of the parameters specified to be strings
+ SRMT("TLT0.tste")
+ \DTM2.tste(ts)
+
+ CH03(ts, z176, 0x20a, 0, 0)
+
+ // LoadTable returns 0 if some SSDT matching the LoadTable
+ // parameters is originally not listed in XSDT
+ SRMT("TLT0.tstf")
+ \DTM2.tstf(ts)
+
+ CH03(ts, z176, 0x20b, 0, 0)
+}
+
+// Exceptional conditions
+Method(TLT1)
+{
+ Name(ts, "TLT1")
+
+ // Exceptions when the SignatureString is greater than four characters,
+ // the OEMIDString is greater than six characters, or the OEMTableID is
+ // greater than eight characters
+ SRMT("TLT1.tst8")
+ \DTM2.tst8(ts)
+
+ // Exceptions when some DSDT or SSDT matching the LoadTable parameters
+ // is already loaded (actually on initial loading of tables listed in XSDT)
+ SRMT("TLT1.tst9")
+ \DTM2.tst9(ts)
+
+ // Exceptions when the matched table is already loaded
+ SRMT("TLT1.tsta")
+ \DTM2.tsta(ts)
+
+ // Exceptions when there already is an previously loaded Object
+ // referred by the path in the Namespace
+ SRMT("TLT1.tstb")
+ \DTM2.tstb(ts)
+
+ // Exceptions when the object specified by the ParameterPathString
+ // does not exist
+ SRMT("TLT1.tstc")
+ \DTM2.tstc(ts)
+
+ // Exceptions when storing of data of the ParameterData data type
+ // to the specified object is not allowed.
+ SRMT("TLT1.tstd")
+ \DTM2.tstd(ts)
+
+ // AE_OWNER_ID_LIMIT exception when too many Tables loaded
+ SRMT("TLT1.tstg")
+ if (y294) {
+ \DTM2.tstg(ts)
+ } else {
+ BLCK()
+ }
+
+ // Exceptions when the parameter of the Loadtable operator
+ // is of incorrect types
+ SRMT("TLT1.tsth")
+ \DTM2.tsth(ts)
+
+ // Exceptions when the ParameterData parameter of the Loadtable operator
+ // can not be saved into the Object referred by ParameterPathString
+ SRMT("TLT1.tsti")
+ \DTM2.tsti(ts)
+}
diff --git a/tests/aslts/src/runtime/collections/functional/table/oem1.asl b/tests/aslts/src/runtime/collections/functional/table/oem1.asl
new file mode 100644
index 000000000..9956bbbdd
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/table/oem1.asl
@@ -0,0 +1,50 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+/*
+ * The LoadTable operator tests auxiliary DefinitionBlock,
+ * which is appropriate to the OEM1 signature table addressed
+ * by the RSDT in acpiexec.
+ */
+
+DefinitionBlock(
+ "oem1.aml", // Output filename
+ "OEM1", // Signature
+ 0x01, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ Name (_XT2, 0x04)
+ Method (_XT1, 0, NotSerialized)
+ {
+ Store (One, _XT2)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/functional/table/ssdt0.asl b/tests/aslts/src/runtime/collections/functional/table/ssdt0.asl
new file mode 100644
index 000000000..dd1a6f0ff
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/table/ssdt0.asl
@@ -0,0 +1,49 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+/*
+ * The Load operator tests auxiliary SSDT,
+ * specifies a template for modification and
+ * dynamical loading a number of different SSDTs.
+ */
+
+DefinitionBlock(
+ "ssdt0.aml", // Output filename
+ "SSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ Method (\SSS0)
+ {
+ Return ("\\SSS0")
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/functional/table/ssdt1.asl b/tests/aslts/src/runtime/collections/functional/table/ssdt1.asl
new file mode 100644
index 000000000..dc11828c9
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/table/ssdt1.asl
@@ -0,0 +1,51 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+/*
+ * The Load operator tests auxiliary SSDT,
+ * specifies the Method object dynamically
+ * loaded to the both absolute and current
+ * namespace location.
+ */
+
+DefinitionBlock(
+ "ssdt1.aml", // Output filename
+ "SSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ Scope(\) {
+ Name(NABS, "absolute location obj")
+ }
+
+ Name(NCRR, "current location obj")
+}
diff --git a/tests/aslts/src/runtime/collections/functional/table/ssdt2.asl b/tests/aslts/src/runtime/collections/functional/table/ssdt2.asl
new file mode 100644
index 000000000..1ae01543f
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/table/ssdt2.asl
@@ -0,0 +1,94 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+/*
+ * The Load operator tests auxiliary SSDT,
+ * specifies the _REG Methods for globally and
+ * dynamically decleared OpRegions.
+ */
+
+DefinitionBlock(
+ "ssdt2.aml", // Output filename
+ "SSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ Device (AUXD) {
+
+ OperationRegion (OPR0, 0x80, 0x1000000, 0x4)
+
+ Field (OPR0, DWordAcc, NoLock, Preserve) {
+ RF00, 32}
+
+ Name (REGC, 0xFFFFFFFF)
+ Name (REGP, 0)
+
+ Name (REGD, 0xFFFFFFFF)
+ Name (REGR, 0)
+
+ Method(_REG, 2)
+ {
+ Store("\\AUXD._REG:", Debug)
+ Store(arg0, Debug)
+ Store(arg1, Debug)
+
+ if (LEqual(arg0, 0x80)) {
+ Store(REGC, REGP)
+ Store(arg1, REGC)
+ }
+ }
+
+ Method(M000)
+ {
+ Method(_REG, 2)
+ {
+ Store("\\AUXD.M000._REG:", Debug)
+ Store(arg0, Debug)
+ Store(arg1, Debug)
+
+ if (LEqual(arg0, 0x80)) {
+ Store(REGD, REGR)
+ Store(arg1, REGD)
+ }
+ }
+
+ OperationRegion (OPR1, 0x80, 0x1000010, 0x4)
+
+ Field (OPR1, DWordAcc, NoLock, Preserve) {
+ RF01, 32}
+
+ Store("\\AUXD.M000:", Debug)
+ Store(RF01, Debug)
+ Store(REGR, Debug)
+ }
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/functional/table/ssdt3.asl b/tests/aslts/src/runtime/collections/functional/table/ssdt3.asl
new file mode 100644
index 000000000..5bbd41021
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/table/ssdt3.asl
@@ -0,0 +1,94 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+/*
+ * The Load operator tests auxiliary SSDT,
+ * specifies the Objects of different types
+ */
+
+DefinitionBlock(
+ "ssdt3.aml", // Output filename
+ "SSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ Device (AUXD) {
+
+ // Integer
+ Name(INT0, 0xfedcba9876543210)
+
+ // String
+ Name(STR0, "source string0")
+
+ // Buffer
+ Name(BUF0, Buffer(9){9,8,7,6,5,4,3,2,1})
+
+ // Package
+ Name(PAC0, Package(3) {
+ 0xfedcba987654321f,
+ "test package0",
+ Buffer(9){19,18,17,16,15,14,13,12,11},
+ })
+
+ // Field Unit
+ Field(OPR0, ByteAcc, NoLock, Preserve) {
+ FLU0, 32,
+ }
+
+ // Device
+ Device(DEV0) {Name(s000, "DEV0")}
+
+ // Event
+ Event(EVE0)
+
+ // Method
+ Method(MMM0) {Return (0)}
+
+ // Mutex
+ Mutex(MTX0, 0)
+
+ // Operation Region
+ OperationRegion(OPR0, SystemMemory, 0x7654321, 0x98)
+
+ // Power Resource
+ PowerResource(PWR0, 0, 0) {Name(s000, "PWR0")}
+
+ // Processor
+ Processor(CPU0, 0x0, 0xFFFFFFFF, 0x0) {Name(s000, "CPU0")}
+
+ // Thermal Zone
+ ThermalZone(TZN0) {Name(s000, "TZN0")}
+
+ // Buffer Field
+ Createfield(BUF0, 0, 69, BFL0)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/functional/table/ssdt4.asl b/tests/aslts/src/runtime/collections/functional/table/ssdt4.asl
new file mode 100644
index 000000000..2c8a600ac
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/table/ssdt4.asl
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+/*
+ * The LoadTable operator tests auxiliary SSDT,
+ * specifies an object with the same \_XT2 name
+ * also declared in the "OEM1" Definition Block.
+ */
+
+DefinitionBlock(
+ "ssdt4.aml", // Output filename
+ "SSDT", // Signature
+ 0x02, // DSDT Revision
+ "iASLTS", // OEMID
+ "LTBL0001", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ Scope(\) {
+ Name(_XT2, "absolute location obj")
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/functional/table/unload.asl b/tests/aslts/src/runtime/collections/functional/table/unload.asl
new file mode 100644
index 000000000..13adb5107
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/functional/table/unload.asl
@@ -0,0 +1,700 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * 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.
+ */
+
+/*
+ * UnLoad ASL operator functionality
+ */
+
+/*
+ * This sub-test is intended to comprehensively verify
+ * the Unload ASL operator functionality.
+ *
+ * Performs a run-time unload of a Definition Block that was
+ * loaded using a Load (and LoadTable) term.
+ *
+ * The overall functionality of the Unload Objects is indirectly
+ * verified by other Table management tests as far as Unload is
+ * needed to perform cleanup and check effectiveness of Load and
+ * LoadTable operators.
+ *
+ * 17.5.126 Unload (Unload Definition Block)
+ * Syntax
+ * Unload (Handle)
+ *
+ * On testing the following issues should be covered (actually in the tests
+ * of loading except for the exceptional conditions ones):
+ *
+ * - successful execution of the Unload operator for the specified DDBHandle
+ * obtained through loading of a SSDT from a proper location,
+ *
+ * - successful execution of the Unload operator for the specified DDBHandle
+ * obtained through LoadTable operator,
+ *
+ * - the Handle parameter of the Unload can be specified as Named Object,
+ * LocalX, ArgX, Derefof (to Index or RefOf reference), and Method call,
+ *
+ * - all namespace objects created as a result of the corresponding Load
+ * operation are removed from the namespace,
+ *
+ * - unloading a number of different SSDTs,
+ *
+ * - Load/UnLoad processing can be done with the same table many times,
+ *
+ * - exceptional conditions caused by inappropriate data:
+ * = the parameter of the UnLoad operator is not of DDBHandle type,
+ * = execute UnLoad operator with the same DDBHandle repeatedly,
+ * = the operand of UnLoad operator is absent.
+ *
+ * Can not be tested following issues:
+ * - unloading a SSDT to be a synchronous operation ("the control methods
+ * defined in the Definition Block are not executed during load time")
+ */
+
+Name(z175, 175)
+
+Device(DTM1) {
+
+ // Different Sources to specify DDBHandle for UnLoad.
+ // Most of them (Named Object, LocalX, ArgX, Derefof)
+ // are checked in load.asl
+
+ // DDBHandle returned by Method call
+ Method(tst0, 1)
+ {
+ Name(HI0, 0)
+
+ Method(m000) {Return (HI0)}
+
+ Concatenate(arg0, "-tst0", arg0)
+
+ Store(\DTM0.BUF0, \DTM0.RFU0)
+
+ if (CondRefof(\SSS0, Local0)) {
+ err(arg0, z175, 0x000, 0, 0, "\\SSS0", 1)
+ return
+ }
+
+ // Modify Revision field of SSDT
+ Store(Add(\DTM0.CREV, 1), \DTM0.CREV)
+
+ // Recalculate and save CheckSum
+ Store(\DTM0.RFU0, Local0)
+ Store(Add(\DTM0.SUM, \DTM0.CHSM(Local0, SizeOf (Local0))), \DTM0.SUM)
+
+ if (CH03(arg0, z175, 0x001, 0, 0)) {
+ return
+ }
+
+ Load(\DTM0.RFU0, HI0)
+
+ if (CH03(arg0, z175, 0x002, 0, 0)) {
+ return
+ }
+
+ Store("Table Loaded", Debug)
+
+ if (y260) {
+ Store(ObjectType(HI0), Local1)
+ if (LNotEqual(Local1, c017)) { // DDB Handle
+ err(arg0, z175, 0x003, 0, 0, Local1, c017)
+ }
+ }
+
+ // Check the new Object appears
+
+ if (CondRefof(\SSS0, Local0)) {
+ } else {
+ err(arg0, z175, 0x004, 0, 0, "\\SSS0", 0)
+ }
+
+ Store(ObjectType(Local0), Local1)
+ if (LNotEqual(Local1, c010)) { // Method
+ err(arg0, z175, 0x005, 0, 0, Local1, c010)
+ } else {
+ Store(\SSS0(), Local0)
+ if (CH03(arg0, z175, 0x006, "\\SSS0", 1)) {
+ return
+ }
+ if (LNotEqual("\\SSS0", Local0)) {
+ err(arg0, z175, 0x007, 0, 0, Local0, "\\SSS0")
+ }
+ }
+
+ // UnLoad operator execution
+ UnLoad(m000())
+
+ if (CH03(arg0, z175, 0x008, 0, 0)) {
+ return
+ }
+
+ Store("Table Unloaded", Debug)
+
+ if (CondRefof(\SSS0, Local0)) {
+ err(arg0, z175, 0x009, 0, 0, "\\SSS0", 1)
+ }
+ return
+ }
+
+ // All namespace objects created as a result of the corresponding
+ // Load operation are absent in the namespace after UnLoad
+ Method(tst1, 1)
+ {
+ Name(DDB0, 0)
+ Name(DDB1, 0)
+
+ Method(m000, 4)
+ {
+ Concatenate(arg0, "-m000.", arg0)
+ Concatenate(arg0, arg1, arg0)
+
+ Store(ObjectType(arg2), Local0)
+ if (LNotEqual(arg3, Local0)) {
+ err(arg0, z175, 0x010, 0, 0, Local0, arg3)
+ return (1)
+ }
+
+ return (0)
+ }
+
+ Method(m001, 1)
+ {
+ Concatenate(arg0, "-m001", arg0)
+
+ // Integer
+ if (CondRefof(\AUXD.INT0, Local0)) {
+ err(arg0, z175, 0x011, 0, 0, "\\AUXD.INT0", 1)
+ return (1)
+ }
+
+ // String
+ if (CondRefof(\AUXD.STR0, Local0)) {
+ err(arg0, z175, 0x012, 0, 0, "\\AUXD.STR0", 1)
+ return (1)
+ }
+
+ // Buffer
+ if (CondRefof(\AUXD.BUF0, Local0)) {
+ err(arg0, z175, 0x013, 0, 0, "\\AUXD.BUF0", 1)
+ return (1)
+ }
+
+ // Package
+ if (CondRefof(\AUXD.PAC0, Local0)) {
+ err(arg0, z175, 0x014, 0, 0, "\\AUXD.PAC0", 1)
+ return (1)
+ }
+
+ // Field Unit
+ if (CondRefof(\AUXD.FLU0, Local0)) {
+ err(arg0, z175, 0x015, 0, 0, "\\AUXD.FLU0", 1)
+ return (1)
+ }
+
+ // Device
+ if (CondRefof(\AUXD.DEV0, Local0)) {
+ err(arg0, z175, 0x016, 0, 0, "\\AUXD.DEV0", 1)
+ return (1)
+ }
+
+ // Event
+ if (CondRefof(\AUXD.EVE0, Local0)) {
+ err(arg0, z175, 0x017, 0, 0, "\\AUXD.EVE0", 1)
+ return (1)
+ }
+
+ // Method
+ if (CondRefof(\AUXD.MMM0, Local0)) {
+ err(arg0, z175, 0x018, 0, 0, "\\AUXD.MMM0", 1)
+ return (1)
+ }
+
+ // Mutex
+ if (CondRefof(\AUXD.MTX0, Local0)) {
+ err(arg0, z175, 0x019, 0, 0, "\\AUXD.MTX0", 1)
+ return (1)
+ }
+
+ // OpRegion
+ if (CondRefof(\AUXD.OPR0, Local0)) {
+ err(arg0, z175, 0x01a, 0, 0, "\\AUXD.OPR0", 1)
+ return (1)
+ }
+
+ // Power Resource
+ if (CondRefof(\AUXD.PWR0, Local0)) {
+ err(arg0, z175, 0x01b, 0, 0, "\\AUXD.PWR0", 1)
+ return (1)
+ }
+
+ // Processor
+ if (CondRefof(\AUXD.CPU0, Local0)) {
+ err(arg0, z175, 0x01c, 0, 0, "\\AUXD.CPU0", 1)
+ return (1)
+ }
+
+ // Thermal Zone
+ if (CondRefof(\AUXD.TZN0, Local0)) {
+ err(arg0, z175, 0x01d, 0, 0, "\\AUXD.TZN0", 1)
+ return (1)
+ }
+
+ // Buffer Field
+ if (CondRefof(\AUXD.BFL0, Local0)) {
+ err(arg0, z175, 0x01e, 0, 0, "\\AUXD.BFL0", 1)
+ return (1)
+ }
+
+ return (0)
+ }
+
+ Concatenate(arg0, "-tst1", arg0)
+
+ // Check absence of the Auxiliry table Objects before Load
+ if (m001(Concatenate(arg0, ".before"))) {
+ return (1)
+ }
+
+ // Load Auxiliry table
+ Store(\DTM0.BUF3, \DTM0.RFU3)
+ Load(\DTM0.RFU3, DDB0)
+
+ if (CH03(arg0, z175, 0x01f, 0, 0)) {
+ return (1)
+ }
+
+ // Integer
+ if (CondRefof(\AUXD.INT0, Local0)) {
+ m000(arg0, "int", Local0, c009)
+ } else {
+ err(arg0, z175, 0x021, 0, 0, "\\AUXD.INT0", 0)
+ }
+
+ // String
+ if (CondRefof(\AUXD.STR0, Local0)) {
+ m000(arg0, "str", Local0, c00a)
+ } else {
+ err(arg0, z175, 0x022, 0, 0, "\\AUXD.STR0", 0)
+ }
+
+ // Buffer
+ if (CondRefof(\AUXD.BUF0, Local0)) {
+ m000(arg0, "buf", Local0, c00b)
+ } else {
+ err(arg0, z175, 0x023, 0, 0, "\\AUXD.BUF0", 0)
+ }
+
+ // Package
+ if (y286) {
+ if (CondRefof(\AUXD.PAC0, Local0)) {
+ m000(arg0, "pac", Local0, c00c)
+ } else {
+ err(arg0, z175, 0x024, 0, 0, "\\AUXD.PAC0", 0)
+ }
+ }
+
+ // Field Unit
+ if (CondRefof(\AUXD.FLU0, Local0)) {
+ m000(arg0, "flu", Local0, c00d)
+ } else {
+ err(arg0, z175, 0x025, 0, 0, "\\AUXD.FLU0", 0)
+ }
+
+ // Device
+ if (CondRefof(\AUXD.DEV0, Local0)) {
+ m000(arg0, "dev", Local0, c00e)
+ } else {
+ err(arg0, z175, 0x026, 0, 0, "\\AUXD.DEV0", 0)
+ }
+
+ // Event
+ if (CondRefof(\AUXD.EVE0, Local0)) {
+ m000(arg0, "evt", Local0, c00f)
+ } else {
+ err(arg0, z175, 0x027, 0, 0, "\\AUXD.EVE0", 0)
+ }
+
+ // Method
+ if (CondRefof(\AUXD.MMM0, Local0)) {
+ m000(arg0, "met", Local0, c010)
+ } else {
+ err(arg0, z175, 0x028, 0, 0, "\\AUXD.MMM0", 0)
+ }
+
+ // Mutex
+ if (CondRefof(\AUXD.MTX0, Local0)) {
+ m000(arg0, "mtx", Local0, c011)
+ } else {
+ err(arg0, z175, 0x029, 0, 0, "\\AUXD.MTX0", 0)
+ }
+
+ // OpRegion
+ if (CondRefof(\AUXD.OPR0, Local0)) {
+ m000(arg0, "opr", Local0, c012)
+ } else {
+ err(arg0, z175, 0x02a, 0, 0, "\\AUXD.OPR0", 0)
+ }
+
+ // Power Resource
+ if (CondRefof(\AUXD.PWR0, Local0)) {
+ m000(arg0, "pwr", Local0, c013)
+ } else {
+ err(arg0, z175, 0x02b, 0, 0, "\\AUXD.PWR0", 0)
+ }
+
+ // Processor
+ if (CondRefof(\AUXD.CPU0, Local0)) {
+ m000(arg0, "cpu", Local0, c014)
+ } else {
+ err(arg0, z175, 0x02c, 0, 0, "\\AUXD.CPU0", 0)
+ }
+
+ // Thermal Zone
+ if (CondRefof(\AUXD.TZN0, Local0)) {
+ m000(arg0, "cpu", Local0, c015)
+ } else {
+ err(arg0, z175, 0x02d, 0, 0, "\\AUXD.TZN0", 0)
+ }
+
+ // Buffer Field
+ if (CondRefof(\AUXD.BFL0, Local0)) {
+ m000(arg0, "bfl", Local0, c016)
+ } else {
+ err(arg0, z175, 0x02e, 0, 0, "\\AUXD.BFL0", 0)
+ }
+
+ UnLoad(DDB0)
+
+ CH03(arg0, z175, 0x02f, 0, 0)
+
+ // Check absence of the Auxiliry table Objects after UnLoad
+ if (m001(Concatenate(arg0, ".after"))) {
+ return (1)
+ }
+
+ return (0)
+ }
+
+ // Load/UnLoad processing can be done with the same table many times
+ Method(tst2, 1)
+ {
+ Concatenate(arg0, "tst2.", arg0)
+
+ Store(5, Local0)
+
+ while (Local0) {
+ if (tst1(Concatenate(arg0, Mid("0123456789", Local0, 1)))) {
+ return (1)
+ }
+ Decrement(Local0)
+ }
+
+ return (0)
+ }
+
+ // Exceptions when the parameter of the UnLoad operator
+ // is not of DDBHandle type
+ Method(tst3, 1)
+ {
+ Name(DDB0, 0)
+ Name(DDB1, 0)
+
+ Method(m000, 4)
+ {
+ Concatenate(arg0, "-m000.", arg0)
+ Concatenate(arg0, arg1, arg0)
+
+ Store(ObjectType(arg2), Local0)
+ if (LNotEqual(arg3, Local0)) {
+ err(arg0, z175, 0x031, 0, 0, Local0, arg3)
+ return (1)
+ }
+
+ UnLoad(Derefof(arg2))
+ CH04(arg0, 0, 47, z175, 0x032, 0, 0) // AE_AML_OPERAND_TYPE
+
+ return (0)
+ }
+
+ Concatenate(arg0, "-tst3", arg0)
+
+ // Load Auxiliry table
+ Store(\DTM0.BUF3, \DTM0.RFU3)
+ Load(\DTM0.RFU3, DDB0)
+
+ if (CH03(arg0, z175, 0x033, 0, 0)) {
+ return (1)
+ }
+
+ // Uninitialized
+ if (0) {
+ Store(0, Local1)
+ }
+ Store(ObjectType(Local1), Local0)
+ if (LNotEqual(c008, Local0)) {
+ err(arg0, z175, 0x034, 0, 0, Local0, c008)
+ } else {
+ UnLoad(Local1)
+ if (SLCK) {
+ CH04(arg0, 0, 47, z175, 0x035, 0, 0) // AE_AML_OPERAND_TYPE
+ } else {
+ CH04(arg0, 0, 49, z175, 0x035, 0, 0) // AE_AML_UNINITIALIZED_LOCAL
+ }
+ }
+
+ // Integer
+ m000(arg0, "int", Refof(\AUXD.INT0), c009)
+
+ // String
+ m000(arg0, "str", Refof(\AUXD.STR0), c00a)
+
+ // Buffer
+ m000(arg0, "buf", Refof(\AUXD.BUF0), c00b)
+
+ // Package
+
+ if (y286) {
+ m000(arg0, "pac", Refof(\AUXD.PAC0), c00c)
+ }
+
+ Store(ObjectType(\AUXD.PAC0), Local0)
+ if (LNotEqual(c00c, Local0)) {
+ err(arg0, z175, 0x036, 0, 0, Local0, c00c)
+ } else {
+ UnLoad(\AUXD.PAC0)
+ CH04(arg0, 0, 47, z175, 0x037, 0, 0) // AE_AML_OPERAND_TYPE
+ }
+
+ // Field Unit
+ m000(arg0, "flu", Refof(\AUXD.FLU0), c00d)
+
+ // Device
+ Store(ObjectType(\AUXD.DEV0), Local0)
+ if (LNotEqual(c00e, Local0)) {
+ err(arg0, z175, 0x038, 0, 0, Local0, c00e)
+ } else {
+ UnLoad(\AUXD.DEV0)
+ CH04(arg0, 0, 47, z175, 0x039, 0, 0) // AE_AML_OPERAND_TYPE
+ }
+
+ // Event
+ m000(arg0, "evt", Refof(\AUXD.EVE0), c00f)
+
+ // Method
+ m000(arg0, "met", Refof(\AUXD.MMM0), c010)
+
+ // Mutex
+ m000(arg0, "mtx", Refof(\AUXD.MTX0), c011)
+
+ // OpRegion
+ m000(arg0, "opr", Refof(\AUXD.OPR0), c012)
+
+ // Power Resource
+ m000(arg0, "pwr", Refof(\AUXD.PWR0), c013)
+
+ // Processor
+ m000(arg0, "cpu", Refof(\AUXD.CPU0), c014)
+
+ // Thermal Zone
+ Store(ObjectType(\AUXD.TZN0), Local0)
+ if (LNotEqual(c015, Local0)) {
+ err(arg0, z175, 0x03a, 0, 0, Local0, c015)
+ } else {
+ UnLoad(\AUXD.TZN0)
+ CH04(arg0, 0, 47, z175, 0x03b, 0, 0) // AE_AML_OPERAND_TYPE
+ }
+
+ // Buffer Field
+ m000(arg0, "bfl", Refof(\AUXD.BFL0), c016)
+
+ UnLoad(DDB0)
+
+ CH03(arg0, z175, 0x03c, 0, 0)
+
+ return (0)
+ }
+
+ // Exceptions when UnLoad is executed with the same DDBHandle repeatedly
+ Method(tst4, 1)
+ {
+ Name(DDB0, 0)
+ Name(DDB1, 0)
+
+ Concatenate(arg0, "-tst4", arg0)
+
+ // Load Auxiliry table
+ Store(\DTM0.BUF3, \DTM0.RFU3)
+ Load(\DTM0.RFU3, DDB0)
+
+ if (CH03(arg0, z175, 0x03d, 0, 0)) {
+ return (1)
+ }
+
+ // First Unload
+ UnLoad(DDB0)
+
+ if (CH03(arg0, z175, 0x03e, 0, 0)) {
+ return (1)
+ }
+
+ Store(5, Local0)
+ while (Local0) {
+
+ // Any next
+ UnLoad(DDB0)
+
+ CH04(arg0, 0, 47, z175, 0x03f, 5, Local0) // AE_AML_OPERAND_TYPE
+
+ Decrement(Local0)
+ }
+
+ // Second DDBHandle
+ Store(\DTM0.BUF3, \DTM0.RFU3)
+ Load(\DTM0.RFU3, DDB1)
+
+ if (CH03(arg0, z175, 0x040, 0, 0)) {
+ return (1)
+ }
+
+ Store(5, Local0)
+ while (Local0) {
+
+ // Any next
+ UnLoad(DDB0)
+
+ CH04(arg0, 0, 47, z175, 0x041, 5, Local0) // AE_AML_OPERAND_TYPE
+
+ Decrement(Local0)
+ }
+
+ UnLoad(DDB1)
+
+ if (CH03(arg0, z175, 0x042, 0, 0)) {
+ return (1)
+ }
+
+ return (0)
+ }
+
+ // Exceptions when the operand of UnLoad operator is absent
+ Method(tst5, 1)
+ {
+ Name(DDB0, 0)
+
+ Method(m000) {Return }
+ Method(m001) {Return (DDB0)}
+
+ Concatenate(arg0, "-tst5", arg0)
+
+ // Load Auxiliry table
+ Store(\DTM0.BUF3, \DTM0.RFU3)
+ Load(\DTM0.RFU3, DDB0)
+
+ if (CH03(arg0, z175, 0x043, 0, 0)) {
+ return (1)
+ }
+
+ // Device
+ UnLoad(Derefof(Refof(\AUXD.DEV0)))
+ CH04(arg0, 0, 62, z175, 0x044, 0, 0) // AE_AML_NO_RETURN_VALUE
+
+ // Thermal Zone
+ UnLoad(Derefof(Refof(\AUXD.TZN0)))
+ CH04(arg0, 0, 62, z175, 0x045, 0, 0) // AE_AML_NO_RETURN_VALUE
+
+ // Method execution
+ CopyObject(m000, m001)
+ UnLoad(m001())
+
+ if (SLCK) {
+ CH04(arg0, 0, 47, z175, 0x046, 0, 0) // AE_AML_OPERAND_TYPE
+ } else {
+ CH04(arg0, 0, 62, z175, 0x047, 0, 0) // AE_AML_NO_RETURN_VALUE
+ }
+
+ UnLoad(DDB0)
+
+ if (CH03(arg0, z175, 0x048, 0, 0)) {
+ return (1)
+ }
+
+ return (0)
+ }
+}
+
+Method(TUL0)
+{
+ Name(ts, "TUL0")
+
+ CH03(ts, z175, 0x200, 0, 0)
+
+ // Different Sources to specify DDBHandle for UnLoad.
+ // Most of them (Named Object, LocalX, ArgX, Derefof)
+ // are checked in load.asl
+ // DDBHandle returned by Method call
+ SRMT("TUL0.tst0")
+ \DTM1.tst0(ts)
+
+ CH03(ts, z175, 0x201, 0, 0)
+
+ // All namespace objects created as a result of the corresponding
+ // Load operation are absent in the namespace after UnLoad
+ SRMT("TUL0.tst1")
+ \DTM1.tst1(ts)
+
+ CH03(ts, z175, 0x202, 0, 0)
+
+ // Load/UnLoad processing can be done with the same table many times
+ SRMT("TUL0.tst2")
+ \DTM1.tst2(ts)
+
+ CH03(ts, z175, 0x203, 0, 0)
+}
+
+// Exceptional conditions
+Method(TUL1)
+{
+ Name(ts, "TUL1")
+
+ // Exceptions when the parameter of the UnLoad operator
+ // is not of DDBHandle type
+ SRMT("TUL1.tst3")
+ \DTM1.tst3(ts)
+
+ // Exceptions when UnLoad is executed with the same DDBHandle repeatedly
+ SRMT("TUL1.tst4")
+ if (y292) {
+ \DTM1.tst4(ts)
+ } else {
+ BLCK()
+ }
+
+ // Exceptions when the operand of UnLoad operator is absent
+ SRMT("TUL1.tst5")
+ \DTM1.tst5(ts)
+}
diff --git a/tests/aslts/src/runtime/collections/mt/Makefile b/tests/aslts/src/runtime/collections/mt/Makefile
new file mode 100644
index 000000000..75c80174d
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/mt/Makefile
@@ -0,0 +1,6 @@
+# mt
+
+MDIRS = mutex
+
+TOP= ../../../..
+include $(TOP)/Makefile.switch
diff --git a/tests/aslts/src/runtime/collections/mt/README b/tests/aslts/src/runtime/collections/mt/README
new file mode 100644
index 000000000..6af55c214
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/mt/README
@@ -0,0 +1,9 @@
+
+CONTENTS
+
+ tests of multi-threading functionality (mt-tests)
+
+
+mutex
+
+ the tests of mutexes
diff --git a/tests/aslts/src/runtime/collections/mt/mutex/MAIN.asl b/tests/aslts/src/runtime/collections/mt/mutex/MAIN.asl
new file mode 100644
index 000000000..3dd906001
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/mt/mutex/MAIN.asl
@@ -0,0 +1,95 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+DefinitionBlock(
+ "mt_mutex.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../runtime/cntl/MT_DECL.asl")
+ Include("../../../../runtime/common/TCI/tcicmd.asl")
+ Include("../../../../runtime/common/mx_objects.asl")
+ Include("../../../../runtime/collections/mt/mutex/common.asl")
+ Include("../../../../runtime/collections/mt/mutex/service.asl")
+ Include("../../../../runtime/collections/mt/mutex/tests.asl")
+ Include("../../../../runtime/collections/mt/mutex/mutex.asl")
+ Include("../../../../runtime/collections/mt/mutex/mxs.asl")
+ Include("../../../../runtime/collections/mt/mutex/example0.asl")
+ Include("../../../../runtime/collections/mt/mutex/slave_thr.asl")
+
+ /*
+ * Arguments passed to MAIN method are:
+ *
+ * arg0 - number of threads.
+ * arg1 - ID of current thread.
+ * arg2 - Index of current thread inside all participating threads.
+ * The thread of Index 0 is considered as Control Thread.
+ */
+ Method(MAIN, 3) {
+
+ if (LEqual(arg1, "AML Debugger"))
+ {
+ Store("Either the Threads command is old,", Debug)
+ Store("or even some another command was initiated.", Debug)
+ return (0)
+ }
+
+ /* Non-zero Local0 means the current thread is a Control Thread */
+
+ Store(1, Local0)
+ if (arg2) {
+ /* Wait for Control thread saying 'go further' */
+ m116(arg2)
+ Store(0, Local0)
+ } else {
+
+ /* Control thread */
+
+ // Initialization
+ STRT(0)
+ }
+
+ // Run verification methods
+
+ Include("../../../../runtime/collections/mt/mutex/RUN.asl")
+
+ Store(0, Local7)
+ if (Local0) {
+ // Final actions
+ Store(FNSH(), Local7)
+ }
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/mt/mutex/Makefile b/tests/aslts/src/runtime/collections/mt/mutex/Makefile
new file mode 100644
index 000000000..6848eaa90
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/mt/mutex/Makefile
@@ -0,0 +1,7 @@
+# mutex
+
+AMLMOD= mt_mutex
+COLL= ../..
+
+TOP= $(COLL)/../../..
+include $(COLL)/Makefile.install
diff --git a/tests/aslts/src/runtime/collections/mt/mutex/RUN.asl b/tests/aslts/src/runtime/collections/mt/mutex/RUN.asl
new file mode 100644
index 000000000..014027ea0
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/mt/mutex/RUN.asl
@@ -0,0 +1,44 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+/*
+ * Run printing only on the Control Thread (non-zero Local0).
+ */
+
+if (Local0) {
+ STTT("Check mutex related interfaces in a real multi-threading mode", TCLM, 0, 0)
+}
+
+mf00(arg0, arg1, arg2)
+
+if (Local0) {
+ FTTT()
+}
+
+
diff --git a/tests/aslts/src/runtime/collections/mt/mutex/SPEC b/tests/aslts/src/runtime/collections/mt/mutex/SPEC
new file mode 100644
index 000000000..ca9434fdd
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/mt/mutex/SPEC
@@ -0,0 +1,532 @@
+Descriptions of tests
+
+Thread means below the Slave thread
+(if another is not specified explicitly).
+
+Active agents of subject of mt-testing
+(attention to be drawn to in mt-tests).
+
+- Threads
+- Methods (Serialized/non-Serialized)
+- Mutexes (Acquire/Release)
+ - Level of mutex
+ - order of correct dealing with levels
+ 1) mix on the same level Acquire {0,1,2}, Release {1,2,0}
+ 2) Acquire+Release {0,1,2..,F}, {F..,2,1,0}
+ - Milliseconds to wait
+- Events (Wait/Signal)
+- global lock (_GL)
+- OperationRegion (SystemMemory/SystemIO/PCI_Config/
+ EmbeddedControl/SMBus/CMOS/PCIBARTarget)
+- Field,BankField,IndexFiled (Lock/NoLock) of different type OperationRegions
+- context (GPE/usual)
+- OS side
+- firmware side
+- Notify
+
+======================== see:
+- invocation (?) -- is not thread (?)
+- can invocation have several different threads?
+- "interpretation of the current invocation could not be
+ transfered to different invocation until the current says
+ - 'ok I complete'"
+========================
+
+Note:
+the Global lock in mt-tests is mutex of 0-th level 1-th index (mux-0-1).
+
+THR-NUMBER:
+this entry describes how many threads are needed for the test, and the role of threads.
+The 0-th thread, so-called Control Thread, is not counted in this entry.
+--------.
+
+
+# ========================= #
+# === TEST 001 (mf01) === #
+# ========================= #
+
+FUNCTION OF EACH SLAVE THREAD:
+
+ Acquire one mutex of i-th level, Sleep, then Release it.
+ Check the mutually exclusive ownership of mutex.
+ Do it for all levels.
+ Check that GL behaves as 0-level mutex.
+
+After all threads Acquire/Release each mutex of
+the current level one by one in the same order go
+to the next level. So, from level 0 up to 15.
+
+GL-LOCK: if GL00 is non-zero, mux-0-1 is GL
+THR-NUMBER: arbitrary, all threads do the same
+
+
+DETAILS:
+
+1. The Control thread resets all flags and counters of all mutexes.
+2. The Slave threads do the same actions with each of the same N mutexes of i-th level:
+ - acquire the mutex
+ - check that flag of the mutex is zero (not set up yet)
+ - set up flag of the mutex to the index of this thread
+ - increment the counter of this mutex
+ - fall into sleep for the specified time
+ - wake up
+ - check up flag of the mutex that it was not changed by other threads
+ while this one was sleeping
+ - reset flag of the mutex
+ - release mutex
+3. Control thread after all the slave threads complete with all N mutexes of i-th level:
+ - checks that the counter of each relevant mutex is correct
+ - report errors detected by Slave threads
+ - report other errors
+4. Control thread initiates and Slave threads fulfill actions (2)
+ for mutexes of all levels one after another from 0 up to 15
+ (and GL too).
+
+# ========================= #
+# === TEST 002 (mf02) === #
+# ========================= #
+
+FUNCTION OF EACH SLAVE THREAD:
+
+ Acquire mutexes of all levels then Release them in the inverse order.
+
+Check that particular thread is allowed to nestedly acquire mutexes of level not less than the current one.
+The inverse order is true for Releasing mutexes by the particular thread.
+Several mutexes of the same level can be simultaneously owned by the same thread.
+While one thread owns all the mutexes other threads hang on Acquire of the first 0-level mutex
+(because of the same order of mutexes to be Acquired for all threads),
+then after the thread releases all the mutexes another thread starts
+actually owning all the mutexes. All threads own all mutexes in this way.
+
+GL-LOCK: if GL00 is non-zero, mux-0-1 is GL
+THR-NUMBER: arbitrary, all threads do the same
+
+DETAILS:
+
+1. The Slave threads do the same actions described below:
+ - acquire one by one mutexes of all levels from 0 up to 15 (N mutexes per level)
+ - after aquiring the mutex of 15-th level start releaseng them in the inverse order
+ - do the control actions with the flags and counters of mutexes (see comment to mf01)
+
+# ========================= #
+# === TEST 003 (mf03) === #
+# ========================= #
+
+Example 0, taken from the real bug
+
+GL-LOCK: if GL00 is non-zero, mux-0-1 is GL; the test involves only mux-0-1
+THR-NUMBER: arbitrary, odd and even threads fulfill two different methods, N times
+
+
+# ========================= #
+# === TEST 004 (mf04) === #
+# ========================= #
+
+The available levels of mutexes on thread_1 don't depend on mutex levels occupied by other threads
+
+GL-LOCK: if GL00 is non-zero, mux-0-1 is GL
+THR-NUMBER: 2 or greater; only 2 work effectively other sleep
+
+DETAILS:
+
+I.
+
+1. Thread_1 owns mutexes of all levels and fall into sleeping
+2. Thread_2 owns mutexes of all levels too not touching those occuppied by Thread_1
+3. Thread_2 Releases its mutexes
+4. Thread_1 Releases its mutexes
+
+II. Do the same as (I) but {1,2,4,3}.
+
+III.
+
+1. Thread_1 owns one (non-zero level) mutex and falls into sleeping
+2. Thread_2 owns mutexes of all levels not touching that occuppied by Thread_1
+3. Thread_2 Releases its mutex
+4. Thread_1 Releases its mutexes
+
+# ========================= #
+# === TEST 005 (mf05) === #
+# ========================= #
+
+Another thread tries to Release mutex and gets exception
+
+GL-LOCK: if GL00 is non-zero, mux-0-1 is GL
+THR-NUMBER: 2 or greater; only 2 work effectively other sleep
+
+DETAILS:
+
+ 1. Thread_1 owns all-level mutexes and falls into sleeping
+ 2. Thread_2 tries to Release all those mutexes owned by Thread_1
+ 3. Exception is expected
+ 4. Thread_2 owns all-level mutexes (not intersecting with Thread_1)
+ 5. Thread_2 tries again to Release mutexes owned by Thread_1
+ 6. Exception is expected
+ 7. Thread_1 tries to Release mutexes owned by Thread_2
+ 8. Exception is expected
+ 9. Thread_1 Releases its mutexes
+10. Thread_2 Releases its mutexes
+
+# ========================= #
+# === TEST 006 (mf06) === #
+# ========================= #
+
+Modification of TEST 005
+(Another thread tries to Release mutex and gets exception)
+
+GL-LOCK: if GL00 is non-zero, mux-0-1 is GL
+THR-NUMBER: 2 or greater; maximum 4 (min0) work effectively, other sleep
+
+1.Threads thr-1, thr-2, thr-3, thr-4 Acquire mutexes of
+ the same i-th level but different Indexes.
+
+2. Threads thr-2, thr-3, thr-4 attempt (one by one) to Release mutex of thr-1, and gets exception
+3. Threads thr-1, thr-3, thr-4 attempt (one by one) to Release mutex of thr-2, and gets exception
+4. Threads thr-1, thr-2, thr-4 attempt (one by one) to Release mutex of thr-3, and gets exception
+5. Threads thr-1, thr-2, thr-3, attempt (one by one) to Release mutex of thr-4, and gets exception
+
+6. Threads thr-1, thr-2, thr-3, thr-4 Release their mutexes.
+
+Go to the next level of mutexes.
+
+
+# ========================= #
+# === TEST 007 (mf07) === #
+# ========================= #
+
+Attempt to Acquire mutex of lower than the current level causes exception
+
+GL-LOCK: if GL00 is non-zero, mux-0-1 is GL
+THR-NUMBER: 1 or greater; maximum 4 (min0) work effectively and do the same, other sleep
+
+DETAILS:
+
+All threads do the same not intersecting with mutexes.
+
+ 1. Do below for all levels (N) from 15 up to 0
+ 2. Set up current level (N) to 15
+ 3. Acquire mutexes from 0 to (N-1) levels
+ 4. Release mutexes
+ 5. Acquire mutex of level N
+ 6. Attempt to Acquire mutexes from 0 to (N-1) levels
+ 7. Exception is expected
+ 8. Acquire mutexes from (N+1) to 15 levels
+ 9. Release all mutexes
+10. Acquire mutexes from 0 to (N-1) levels
+11. Release mutexes
+12. Decrement the current level
+13. Go to (3)
+
+# ========================= #
+# === TEST 008 (mf08) === #
+# ========================= #
+
+Threads simultaneously own different mutexes of the same level
+(prove that mutexes of different indexes of the same level allow
+real competition (not one by one owning)).
+
+GL-LOCK: if GL00 is non-zero, mux-0-1 is GL
+THR-NUMBER: 4 or greater; only 4 work effectively other sleep
+
+DETAILS:
+
+ Mapping of ownerships of mutexes {n0,n1,n2,n3} in test
+ by threads {thread_1-thread_2,thread_3,thread_4}:
+
+ x-0-123, x-1-230, x-2-301, x-3-012, x-0-123
+ x - Control thread
+
+x-0-123:
+
+ All threads acquire different mutexes of the same n-th level:
+
+ thread_1 n0_mutex
+ thread_2 n1_mutex
+ thread_3 n2_mutex
+ thread_4 n3_mutex
+
+ - acquire i-th mutex of n-th level (ni_mutex)
+ - check the mutually exclusive ownership of ni_mutex
+ - report that ni_mutex is owned
+ - check that all mutexes are owned by the relevant threads
+
+x-1-230:
+
+ Threads thread_2, thread_3 and thread_4 acquire mutexes
+ n2_mutex, n3_mutex and n0_mutex respectively and hang
+ because all those mutexes are busy by other threads.
+
+ After making sure that threads thread_2, thread_3 and thread_4 hang
+ the thread_1 is initiated to release n0_mutex and acquire n1_mutex.
+
+ It allows thread_4 to own n0_mutex.
+ It releases n3_mutex.
+
+ It allows thread_3 to own n3_mutex.
+ It releases n2_mutex.
+
+ It allows thread_2 to own n2_mutex.
+ It releases n1_mutex.
+
+ It allows thread_1 to own n1_mutex.
+
+x-2-301,
+x-3-012,
+x-0-123: identically to <x-1-230>.
+
+# ========================= #
+# === TEST 009 (mf09) === #
+# ========================= #
+
+Another implementation of TEST 008.
+
+GL-LOCK: if GL00 is non-zero, mux-0-1 is GL
+THR-NUMBER: 4 or greater; only 4 work effectively other sleep
+
+# ========================= #
+# === TEST 010 (mf10) === #
+# ========================= #
+
+Threads simultaneously own different mutexes of different levels
+(prove that mutexes of different levels allow real competition
+(not one by one owning)).
+
+Similar to the TEST 008 but mutexes differ with their Levels
+but not Indexes.
+
+GL-LOCK: if GL00 is non-zero, mux-0-1 is GL
+THR-NUMBER: 4 or greater; only 4 work effectively other sleep
+
+# ========================= #
+# === TEST 011 (mf11) === #
+# ========================= #
+
+ACPI allows to multiply Acquire the same mutex.
+
+GL-LOCK: if GL00 is non-zero, mux-0-1 is GL
+THR-NUMBER: 1 or greater; maximum 4 (min0) work effectively, other sleep
+
+Each thread deals with its set of mutexes not intersecting with other threads.
+
+1. Each thread Acquires successfully its mutex N times (do it for increasing levels 0-15)
+2. Each thread Releases successfully its mutex N times (do it in inverse order, levels 15-0)
+3. Each thread gets exception AE_AML_MUTEX_NOT_ACQUIRED on additional Release
+
+# ========================= #
+# === TEST 012 (mf12) === #
+# ========================= #
+
+ACPI allows to Acquire repeatedly the same mutex over
+the pending requests of other threads to that mutex.
+
+GL-LOCK: if GL00 is non-zero, mux-0-1 is GL
+THR-NUMBER: 2 or greater; maximum 4 (min0) work effectively, other sleep
+
+ 1. Thread thr-i Acquires successfully mutex M0 of (i-1)-th index for N times
+ 2. Other threads Acquire M0 too and hang
+ 3. Thread thr-i Acquires successfully mutex M0 for N times again
+ 4. Thread thr-i Releases mutex M0 for 2*N times
+ 5. One of other threads (thr-j) owns M0
+ 6. Thread thr-j Releases M0
+ 7. Do 5-6 items for all 'other' threads
+ 8. Do 1-7 for all threads one by one (so, for 0-3 Indexes of mutex as well)
+ 9. Do 1-8 for all Levels of mutex one by one
+
+# ========================= #
+# === TEST 013 (mf13) === #
+# ========================= #
+
+Acquire the same mutex by the same thread 'many times' (say 256).
+
+GL-LOCK: if GL00 is non-zero, mux-0-1 is GL
+THR-NUMBER: 1 or greater; maximum 4 (min0) work effectively, other sleep
+
+# ========================= #
+# === TEST 014 (mf14) === #
+# ========================= #
+
+Check that all mutexes Acquired by thread and not explicitly Released
+are Released implicitly by ACPICA when the thread completes.
+
+GL-LOCK: if GL00 is non-zero, mux-0-1 is GL
+THR-NUMBER: 2 or greater; only 2 work effectively other sleep
+NOTE: the thread with the greatest index terminates at the end of this test
+
+1. Thread thr-N Acquires all the mutexes on all levels
+2. Thread thr-1 tries to Acquire all the same mutexes and gets FAIL (TimeOutValue is not 0xFFFF)
+3. Thread thr-N terminates
+4. Thread thr-1 tries to Acquire all those mutexes again and gets success (TimeOutValue is 0xFFFF)
+5. Thread thr-1 Releases all mutexes
+
+# ========================= #
+# === TEST 015 (mf15) === #
+# ========================= #
+
+Modification of test 014.
+
+GL-LOCK: if GL00 is non-zero, mux-0-1 is GL
+THR-NUMBER: 2 or greater; only 2 work effectively other sleep
+NOTE: the thread with the greatest index terminates at the end of this test
+
+1. Thread thr-N Acquires all the mutexes on all levels
+2. Thread thr-1 tries to Acquire all the same mutexes and gets FAIL (TimeOutValue is not 0xFFFF)
+3. Thread thr-1 tries to Acquire all the same mutexes and hang (TimeOutValue is 0xFFFF)
+4. Thread thr-N terminates
+5. Thread thr-1 owns all those mutexes
+6. Thread thr-1 Releases all mutexes
+
+# ========================= #
+# === TEST 016 (mf16) === #
+# ========================= #
+
+THR-NUMBER: 2 or greater; only 2 work effectively other sleep
+
+1. Thread thr-N
+ - invokes Serialized method MXXX
+ - waits for another thread (thr-1) trying to invoke same method MXXX
+ - falls into sleep (several times)
+ - awakes
+ - check that thr-1 continue hanging trying to get into MXXX
+ - exit MXXX
+2. Check that thr-1 succeeds getting into MXXX
+
+
+# ========================= #
+# === TEST 017 (mf17) === #
+# ========================= #
+
+Modification of test 016.
+
+Similar to test 016 but instead of Serialized method a
+mutex is used for exclisive access to critical section.
+
+
+# ========================= #
+# === TEST 018 (mf18) === #
+# ========================= #
+
+Modification of test 016.
+
+Similar to test 016 check for non-serialized method.
+
+####################################################################
+####################################################################
+####################################################################
+####################################################################
+####################################################################
+
+
+
+
+
+========================================= XXXXX:
+acquire mutex on a global level but dont release it -
+check that it is released automatically ???
+(code in initialization of global variables)
+
+
+
+
+
+
+========================================= XXXXX:
+Simulate interconnection between Firmware and OS.
+
+========================================= XXXXX,serialized-method:
+check serialized method (immediately, and
+calls to other methods inside the serialized method)
+
+1) access to different type data inside serialized method
+========================================= XXXXX, serialized-method:
+try to Acq/Rel mutex of inappropreate level LL from method MT0 of synclevel NN.
+- immediately from that method
+- from invoking more the intermittant methods
+ enclosed statically or only dinamically in that method
+========================================= XXXXX:
+check blocked: check that when one thread fall to sleep
+another can own that mutex ?????????????
+========================================= XXXXX:
+> Fixed a regression where an error was no longer emitted if a control method attempts
+> to create 2 objects of the same name. This once again returns AE_ALREADY_EXISTS.
+> When this exception occurs, it invokes the mechanism that will dynamically serialize the
+> control method to possibly prevent future errors. (BZ 440)
+Test:
+1. thr-1 - come into test and creates the internal object
+2. thr-2 - come in starts creating that same object and gets exception
+3. thr-3 - it should be blocked because method is serialized at step 2
+========================================= XXXXX:
+multi-threading and Switch
+multi-threading and While
+etc..
+========================================= XXXXX:
+Now the mutex tests (in Sinchronization and mt-tests)
+do Acquire/Release mutexes of monotone increasing/decreasing
+levels (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 and inversely).
+Do tests where these levels jump over levels:
+(0, 2, 4, 6, 8,9,10, 12, 14,15 and inversely).
+
+Will it check 'acquisition depth' below?
+
+ACPI_STATUS
+AcpiDsBeginMethodExecution (
+ ACPI_NAMESPACE_NODE *MethodNode,
+ ACPI_OPERAND_OBJECT *ObjDesc,
+ ACPI_WALK_STATE *WalkState)
+{
+ /* Always increase acquisition depth */
+
+ ObjDesc->Method.Mutex->Mutex.AcquisitionDepth++;
+}
+========================================= XXXXX:
+
+
+
+
+======================== work for 2,3,4,5,and more threads:
++ mf01
++ mf02
++ mf03
++ mf04
++ mf05
++ mf06
++ mf07
++ mf08
++ mf09
++ mf10
++ mf11
++ mf12
++ mf13
+======================== work for 2 and more threads:
++ mf01
++ mf02
++ mf03
++ mf04
++ mf05
++ mf06
++ mf07
++ mf08 (4 and greater) run time == 0x10
++ mf09 (4 and greater) run time == 0x60
++ mf10 (4 and greater) run time == 0x60
++ mf11
++ mf12
++ mf13
+========================
++ mf01
++ mf02
++ mf03
++ mf04
++ mf05
++ mf06
++ mf07
++ mf08 (4 and greater) run time == 0x10
++ mf09 (4 and greater) run time == 0x60
++ mf10 (4 and greater) run time == 0x60
++ mf11
++ mf12
++ mf13
+========================
+
+
+
+
+
diff --git a/tests/aslts/src/runtime/collections/mt/mutex/common.asl b/tests/aslts/src/runtime/collections/mt/mutex/common.asl
new file mode 100644
index 000000000..75ace340c
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/mt/mutex/common.asl
@@ -0,0 +1,1249 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+/*
+ * SEE:
+ * ??????????? Multi-threading common definitions
+ * see: see structure and the name of this file also later !!!!!!!!!!!!!!
+ * ??????????????????????????????????????????????????????????????????????
+ *
+ *
+ * NOTIONS and NOTATIONS:
+ *
+ * ID and Index of thread:
+ *
+ * each thread is identified by its ID (delivered from the underlying system)
+ * and its calculated unique index between all the threads participating in
+ * the test.
+ *
+ * Control Thread - the thread with index equal to 0
+ * Slave Threads - all other threads with the non-zero index
+ *
+ * Number of threads (total) -
+ * the value passed to AcpiExec Threads command
+ * as a number of threads parameter.
+ *
+ * Number of threads actually in work -
+ * number of threads actually participating the relevent test.
+ * Note: this value includes the Control Thread too.
+ */
+
+Name(z147, 147)
+
+/*
+ * Common data of threads
+ *
+ * Usage:
+ *
+ * command line: Threads 6 1 MAIN
+ * 6 - number of threads, it can be greater or less than 6
+ *
+ * redm - set it to zero to reduce the run time
+ * vb00-vb06 - use them to suppress the output
+ *
+ * FLG1 - the _TCI-based Initialization of multithreading interconnection
+ * (run command TCI_CMD_GET_ID_OF_THREADS to determine indexes of threads)
+ */
+
+
+/*
+ * Flags
+ */
+Name(ctl0, 0) // the Control thread is ready
+Name(redm, 1) // run tests in reduced mode
+Name(gldi, 0) // global data initialized
+
+/*
+ * Simple switch of the verbal mode
+ *
+ * 0 - silent
+ * otherwise - allow
+ *
+ * s-flags (defaults are given in comment (0/1))
+ */
+Name(vb00, 0) // (0) common messages
+Name(vb02, 1) // (1) trace Control thread
+Name(vb03, 0) // (0) trace Slave threads
+Name(vb04, 1) // (1) report statistics
+Name(vb05, 0) // (0) report warnings by slave-threads
+Name(vb06, 1) // (1) report errors by slave-threads
+
+/*
+ * Multi-conditional switches of the verbal mode
+ *
+ * 0 - silent
+ * 1 - allow only for Control Thread to report
+ * 2 - allow only for Slave Threads to report
+ * 3 - allow for all threads to report
+ *
+ * mc-flags
+ */
+Name(vb01, 1) // header of test
+
+
+/* Sleep mode */
+
+Name(sl00, 50) // Default milliseconds to sleep for Control thread
+Name(sl01, 50) // Default milliseconds to sleep for Slave threads
+
+/*
+ * Default milliseconds to sleep for Control thread
+ * before to check hang status of slave threads on
+ * operations.
+ */
+Name(sl02, 500)
+/* How many times maximum to repeat sl02 sleeping */
+Name(sl03, 1)
+
+Name(slm0, 0) // Sleeping mode for slave threads
+
+/* Milliseconds to sleep for non-zero slm0 */
+Name(i100, 50)
+Name(i101, 100)
+Name(i102, 200)
+Name(i103, 400)
+Name(i104, 500)
+Name(i105, 75)
+Name(i106, 150)
+Name(i107, 250)
+Name(i108, 300)
+
+
+
+/* Commands for slaves */
+Name(c100, 0xf0) // Idle thread
+Name(c101, 0xf1) // Exit the infinite loop
+Name(c102, 0xf2) // Sleep for the specified number of Milliseconds
+Name(c103, 0xf3) // Acquire/Sleep/Release
+Name(c104, 0xf4) // <Acquire/Sleep>(0-15 levels)/Release(15-0 levels)
+Name(c105, 0xf5) // Example 0
+Name(c106, 0xf6) // Acquire specified set of mutexes
+Name(c107, 0xf7) // Release specified set of mutexes
+Name(c108, 0xf8) // Terminate thread
+Name(c109, 0xf9) // Invoke Serialized method
+Name(c10a, 0xfa) // Invoke non-Serialized method, use Mutex for exclusive access to critical section
+Name(c10b, 0xfb) // Non-serialized method is grabbed simultaneously
+
+
+/* Responds of slave threads (not intersect with 'Commands for slaves') */
+Name(rs00, 0x97) // "I see zero do00"
+
+
+/* Common use strategies provided by the Control thread */
+Name(CM01, 1) // all slaves to exit the infinite loop
+Name(CM02, 2) // all slaves to sleep for the specified period
+
+
+/*
+ * This buffer is to be filled by the control thread.
+ * It is filed with the commands to be fulfilled by the
+ * slave threads.
+ *
+ * The thread of i-th index takes the command from the
+ * i-th element of Buffer.
+ *
+ * It is read-only for slave threads.
+ */
+Name(bs00, Buffer(){0})
+
+/*
+ * This buffer is zeroed by the control thread and then to be
+ * filled by the slave threads with the commands they have been
+ * fulfilled.
+ */
+Name(bs01, Buffer(){0})
+
+/*
+ * This buffer is zeroed by the control thread and then to be
+ * filled by the slave threads when they see that do00 is zero.
+ *
+ * The control thread uses it to check that all the slave threads
+ * saw zero do00 (are idle) before to start the next command.
+ */
+Name(bs02, Buffer(){0})
+
+/*
+ * This buffer is zeroed by the control thread and then to
+ * be filled by the idle slave threads.
+ */
+Name(bs03, Buffer(){0})
+
+/*
+ * This buffer is zeroed by the control thread and then to be
+ * set up by the slave threads when they complete.
+ */
+Name(bs04, Buffer(){0})
+
+
+
+/*
+ * p10X - statistics
+ */
+
+/*
+ * These package are zeroed by the control thread,
+ * the slave threads accumulate there:
+ * - errors
+ * - number of errors
+ * - warnings
+ * - number of warnings
+ */
+Name(p100, Package(){0}) // scale of errors
+Name(p101, Package(){0}) // number of errors
+Name(p102, Package(){0}) // scale of warnings
+Name(p103, Package(){0}) // number of warnings
+
+/* Command statistics */
+Name(p104, Package(){0}) // number of Sleep
+Name(p105, Package(){0}) // number of Acquire
+Name(p106, Package(){0}) // number of Release
+
+
+/*
+ * To be filled by the control thread,
+ * non-zero enables to fulfill the commands specified by bs00.
+ */
+Name(do00, 0)
+
+/* Opcodes of errors reported by slave threads */
+Name(er00, 0x00000001) // Acquire failed
+Name(er01, 0x00000002) // Flag of mutex is already non-zero (set up by some thread(s))
+Name(er02, 0x00000004) // Invalid flag of mutex (changed by other thread while this one owned that mutex)
+Name(er03, 0x00000008) // Unexpected exception
+Name(er04, 0x00000010) // Improper exception (no exception, or unexpected opcode, or more than one exception)
+Name(er05, 0x00000020) // Invalid command
+Name(er06, 0x00000040) // Invalid Index of current thread
+Name(er07, 0x00000080) // Too big Index of current thread
+Name(er08, 0x00000100) // Invalid counter of mutex owning
+Name(er09, 0x00000200) // Acquire returned zero but FAIL expected
+Name(er10, 0x00000400) // Serialized method doesnt provide exclusive call
+Name(er11, 0x00000800) // Serialized method doesnt provide exclusive call
+Name(er12, 0x00001000) // Non-serialized method thr-1 didn't get into method
+Name(er13, 0x00002000) // Non-serialized method thr-N didn't get into method
+
+
+/* Opcodes of warnings reported by slave threads */
+Name(wn00, 0x00000001) // Acquire repeatedly the same mutex by thread which already owns it
+
+/*
+ * These packages are to be filled by the control thread.
+ * They are filed with the arguments of commands specified
+ * for the slave threads.
+ *
+ * The thread of i-th index takes the arguments from the
+ * i-th elements of Packages.
+ *
+ * These are read-only for slave threads.
+ *
+ * For Acquire/Release:
+ *
+ * p200 - starting level of mutex
+ * p201 - number of Levels of mutexes
+ * p202 - starting index of mutex (on the specified level)
+ * p203 - number of mutexes of the same level
+ * p204 - exceptional conditions
+ * p205 - opcode of TimeOutValue (see comment to ma00)
+ */
+Name(p200, Package(){0})
+Name(p201, Package(){0})
+Name(p202, Package(){0})
+Name(p203, Package(){0})
+Name(p204, Package(){0})
+Name(p205, Package(){0})
+
+/* Exceptions total number */
+Name(ex10, 0)
+
+
+/*
+ * p30X - Current state
+ */
+Name(p300, Package(){0}) // scale of errors
+Name(p301, Package(){0}) // scale of warnings
+
+
+/*
+ * Non-zero means to check absence of exception
+ * before and after each operation additionally
+ * to the checking (if any) specified per-operation.
+ */
+Name(FLG0, 0)
+
+/*
+ * Handle exceptions
+ *
+ * Exceptional condition flag:
+ *
+ * EX0D - FAIL expected
+ * EX0E - check for "no exception"
+ * otherwise - opcode of exception expected
+ */
+
+/*
+ * The _TCI-based Initialization of multithreading interconnection
+ * (run command TCI_CMD_GET_ID_OF_THREADS to determine indexes of threads).
+ *
+ * Note: now when arguments (arg0, arg1, arg2) are determined
+ * by Threads command of AcpiExec and passed to test, it
+ * is unnecessary to do "The _TCI-based Initialization of
+ * multithreading interconnection" below. Used temporary.
+ */
+Name(FLG1, 0)
+
+/*
+ * Variables used by particular tests
+ *
+ * FLG2,
+ * FLG3
+ * 1) To show that Serialized method is grabbed exclusively
+ * 2) To show that non-Serialized method is grabbed by two threads simultaneously
+ */
+Name(FLG2, 0)
+Name(FLG3, 0)
+
+/*
+ * The Control Thread manages and controls the specified testing strategy
+ * to be fulfilled by the Slave Threads.
+ *
+ * arg0 - number of threads
+ * arg1 - ID of current thread (0, can be used for control only)
+ * arg2 - Index of current thread
+ * arg3 - cammand - index of the test strategy to be
+ * managed and controled by the Control Thread
+ * and fulfilled by the Slave Threads (Slaves).
+ *
+ * Arguments of the command arg3:
+ *
+ * arg4
+ * arg5
+ * arg6
+ */
+Method(m100, 7)
+{
+ /* Prohibits activity of all the slave threads */
+
+ Switch (arg3) {
+ Case (1) {
+ /* CM01: All slaves to exit the infinite loop */
+ m10c(arg0)
+ }
+ Case (2) {
+ /* CM02: All slaves to sleep for the specified period */
+ m10d(arg0)
+ }
+ }
+}
+
+/*
+ * Open testing - init interaction data
+ *
+ * arg0 - number of threads
+ */
+Method(m102, 1)
+{
+ Name(b000, Buffer(arg0){})
+ Name(p000, Package(arg0){})
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+
+ Store(0, do00)
+ CopyObject(b000, bs00)
+ CopyObject(b000, bs01)
+ CopyObject(b000, bs02)
+ CopyObject(b000, bs03)
+
+ CopyObject(p000, p200)
+ CopyObject(p000, p201)
+ CopyObject(p000, p202)
+ CopyObject(p000, p203)
+ CopyObject(p000, p204)
+ CopyObject(p000, p205)
+
+ CopyObject(p000, p300)
+ CopyObject(p000, p301)
+
+ Store(arg0, lpN0)
+ Store(0, lpC0)
+ While (lpN0) {
+ Store(0, Index(p300, lpC0))
+ Store(0, Index(p301, lpC0))
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+
+
+ /*
+ * Initialization to be done once
+ */
+ if (LNot(gldi)) {
+
+ /* Statistics */
+
+ CopyObject(p000, p100)
+ CopyObject(p000, p101)
+ CopyObject(p000, p102)
+ CopyObject(p000, p103)
+ CopyObject(p000, p104)
+ CopyObject(p000, p105)
+ CopyObject(p000, p106)
+
+ CopyObject(b000, bs04)
+
+ Store(arg0, lpN0)
+ Store(0, lpC0)
+ While (lpN0) {
+ Store(0, Index(p100, lpC0))
+ Store(0, Index(p101, lpC0))
+ Store(0, Index(p102, lpC0))
+ Store(0, Index(p103, lpC0))
+ Store(0, Index(p104, lpC0))
+ Store(0, Index(p105, lpC0))
+ Store(0, Index(p106, lpC0))
+
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+ }
+
+ /* Init fl01 */
+ m339()
+
+ /*
+ * Reset all counters (cnt0) and flags (fl00)
+ * corresponding to all Mutexes.
+ */
+ m330()
+
+ /* Report that the Control thread is ready */
+ Store(1, ctl0)
+
+ Store(1, gldi)
+}
+
+/*
+ * Control thread waits for all the slave threads to
+ * fulfill the specified for them buffer of commands.
+ *
+ * arg0 - number of threads
+ */
+Method(m103, 1)
+{
+ /* Wait for all Slave threads and check their statuses */
+
+ Name(b000, Buffer(arg0){})
+ Name(b001, Buffer(arg0){})
+ Name(b002, Buffer(arg0){})
+
+ CopyObject(bs00, b000)
+ m110(arg0, b000, b001, b002)
+}
+
+/*
+ * The _TCI-based initialization of multithreading interconnection
+ *
+ * In result each thread knows its ID and calculated its index
+ * between all threads participating in the test.
+ *
+ * arg0 - number of threads
+ *
+ * Return:
+ * success - II-Package
+ * otherwise - 0
+ */
+Method(m104, 1)
+{
+ /*
+ * Local0 - array of thread IDs
+ * Local1 - auxiliary
+ * Local2 - auxiliary
+ * Local7 - II-Package
+ */
+
+ if (vb00) {
+ Store("Checking for the Test Command Interface with the ACPICA (_TCI) support", Debug)
+ }
+
+ if (LNot(m3a5())) {
+ Store("The Test Command Interface with the ACPICA (_TCI) is not supported", Debug)
+ return (0)
+ }
+
+ if (vb00) {
+ Store("Getting array of thread IDs", Debug)
+ }
+
+ Store(m163(arg0), Local0)
+ Store(ObjectType(Local0), Local1)
+ if (LNotEqual(Local1, c00c)) {
+ Store("Failed to get array of thread indexes", Debug)
+ return (0)
+ }
+
+ if (vb00) {
+ Store("Calculating index of thread", Debug)
+ }
+
+ Store(m105(Local0, arg0), Local7)
+ Store(ObjectType(Local7), Local2)
+ if (LNotEqual(Local2, c00c)) {
+ Store("Invalid contents of Package of threads", Debug)
+ return (0)
+ }
+
+ return (Local7)
+}
+
+/*
+ * Calculate and return II-Package with Index of current thread between
+ * all threads participating in the test and ID of that thread.
+ *
+ * arg0 - the Package of thread IDs returned by m163 which
+ * executes the command TCI_CMD_GET_ID_OF_THREADS.
+ * arg1 - number of threads
+ *
+ * Return:
+ * II-Package in success:
+ * 0-th element - ID of that current thread
+ * 1-th element - Index of current thread between all threads participating in test
+ * Integer otherwise:
+ * 0
+ */
+Method(m105, 2)
+{
+ /*
+ * Local0 - auxiliary
+ * Local1 - auxiliary
+ * Local2 - lpN0
+ * Local3 - lpC0
+ * Local4 - TCI_PACKAGE_THR_NUM
+ * Local5 - TCI_PACKAGE_THR_NUM_REAL
+ * Local6 - TCI_PACKAGE_THR_ID (ID of thread)
+ * Local7 - Index of thread
+ */
+
+ Store(ff32, Local7)
+
+ // Store(arg0, Debug)
+
+ Store(DerefOf(Index(arg0, c22c)), Local4) // TCI_PACKAGE_THR_NUM
+ if (LNot(Local4)) {
+ Store("TCI_PACKAGE_THR_NUM is zero", Debug)
+ return (0)
+ }
+
+ Store(DerefOf(Index(arg0, c22d)), Local5) // TCI_PACKAGE_THR_NUM_REAL
+ if (LNot(Local5)) {
+ Store("TCI_PACKAGE_THR_NUM_REAL is zero", Debug)
+ return (0)
+ }
+
+ Store(DerefOf(Index(arg0, c22e)), Local6) // TCI_PACKAGE_THR_ID
+ if (LNot(Local6)) {
+ Store("TCI_PACKAGE_THR_ID is zero", Debug)
+ return (0)
+ }
+
+ if (LNotEqual(Local4, Local5)) {
+ Store("TCI_PACKAGE_THR_NUM != TCI_PACKAGE_THR_NUM_REAL", Debug)
+ Store(Local4, Debug)
+ Store(Local5, Debug)
+ return (0)
+ }
+
+ if (LNotEqual(Local4, arg1)) {
+ Store("TCI_PACKAGE_THR_NUM != Number of threads", Debug)
+ Store(Local4, Debug)
+ Store(arg1, Debug)
+ return (0)
+ }
+
+ // Calculate index of thread
+
+ Store(arg1, Local2)
+ Store(0, Local3)
+ Store(c22f, Local0)
+
+ While (Local2) {
+ Store(DeRefOf(Index(arg0, Local0)), Local1)
+
+ if (LNot(Local1)) {
+ Store("thread ID is zero", Debug)
+ return (0)
+ } elseif (LEqual(Local1, Local6)) {
+ if (LNotEqual(Local7, ff32)) {
+ Store("thread ID encountered twice", Debug)
+ return (0)
+ }
+ Store(Local3, Local7)
+ }
+
+ Increment(Local0)
+ Decrement(Local2)
+ Increment(Local3)
+ }
+
+ /* Return Package: Index of current thread, ID of current thread */
+
+ Store(Package(2) {}, Local0)
+ Store(Local6, Index(Local0, 0))
+ Store(Local7, Index(Local0, 1))
+
+ return (Local0)
+}
+
+/*
+ * Report errors detected by the slave threads
+ *
+ * arg0 - name of test
+ * arg1 - number of threads
+ */
+Method(m106, 2)
+{
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+
+ Store(arg1, lpN0)
+ Store(0, lpC0)
+ While (lpN0) {
+ Store(DerefOf(Index(p300, lpC0)), Local0)
+ if (Local0) {
+ /*
+ * Reports:
+ * lpC0 - Index of thread
+ * Local0 - the scale of its errors
+ */
+ err(arg0, z147, 0x000, 0, 0, lpC0, Local0)
+ }
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+}
+
+/*
+ * Initialization of multithreading interconnection
+ *
+ * Note: now when arguments (arg0, arg1, arg2) are determined
+ * by Threads command of AcpiExec and passed to test, it
+ * is unnecessary to do "The _TCI-based Initialization of
+ * multithreading interconnection" below. Used temporary.
+ *
+ * arg0 - number of threads
+ * arg1 - ID of current thread
+ * arg2 - Index of current thread
+ * arg3 - minimal number of threads needed for test
+ */
+Method(m107, 4)
+{
+ /* Set the multi-threading mode flag */
+ SET3(1)
+
+ /*
+ * Local0 - auxiliary
+ * Local1 - auxiliary
+ * Local6 - ID of thread
+ * Local7 - Index of thread
+ */
+
+ /* The _TCI-based Initialization of multithreading interconnection */
+
+ if (FLG1) {
+ Store(m104(arg0), Local0)
+ Store(ObjectType(Local0), Local1)
+ if (LNotEqual(Local1, c00c)) {
+ err("m107", z147, 0x001, 0, 0, Local1, c00c)
+ return (0)
+ }
+
+ /* Get ID and Index of current thread */
+ Store(DeRefOf(Index(Local0, 0)), Local6)
+ Store(DeRefOf(Index(Local0, 1)), Local7)
+
+ if (LNotEqual(Local6, arg1)) {
+ err("m107", z147, 0x002, 0, 0, Local6, arg1)
+ return (0)
+ }
+
+ if (LNotEqual(Local7, arg2)) {
+ err("m107", z147, 0x003, 0, 0, Local7, arg2)
+ return (0)
+ }
+ }
+
+ if (LOr(LLess(arg0, 2), LLess(arg0, arg3))) {
+ Store("Insufficient number of threads for Test!", Debug)
+ return (0)
+ }
+
+ return (1)
+}
+
+/*
+ * Close testing
+ *
+ * arg0 - name of test
+ * arg1 - number of threads
+ * arg2 - ID of current thread
+ * arg3 - Index of current thread
+ */
+Method(m108, 4)
+{
+ /* all slaves to exit the infinite loop */
+
+ m100(arg1, arg2, arg3, CM01, 0, 0, 0)
+
+ /* Report errors detected by the slave threads */
+
+ m106(arg0, arg1)
+}
+
+/*
+ * CM01: all slaves to exit the infinite loop
+ *
+ * arg0 - number of threads
+ */
+Method(m10c, 1)
+{
+ /* All slaves to exit the infinite loop */
+
+ m200(bs00, arg0, c101) // cmd: Exit the infinite loop
+ m114(arg0)
+
+ /* Wait for all Slave threads */
+
+ Name(b000, Buffer(arg0){})
+ Name(b001, Buffer(arg0){})
+ Name(b002, Buffer(arg0){})
+
+ CopyObject(bs00, b000)
+ m110(arg0, b000, b001, b002)
+}
+
+/*
+ * CM02: all slaves to sleep for the specified period
+ *
+ * arg0 - number of threads
+ */
+Method(m10d, 1)
+{
+ /* All slaves to sleep for the specified period */
+
+ m200(bs00, arg0, c102) // cmd: Sleep for the specified number of Milliseconds
+ m114(arg0)
+
+ /* Wait for all Slave threads */
+ m103(arg0)
+}
+
+/*
+ * Control thread checks that the specified set of slave threads
+ * hang on the specified operations or completed the operations.
+ *
+ * arg0 - number of threads
+ * arg1 - buffer of arg0 length
+ * 1 - check completion of operation
+ * 2 - check hang
+ *
+ * Return:
+ * These mean unexpected behaviour:
+ * 0x01 - some threads has not completed operation
+ * 0x02 - some threads are not hang on operation
+ * These report the contents of buffer:
+ * 0x10 - has checkings of completed operation
+ * 0x20 - has checkings of hang on operation
+ */
+Method(m10e, 2)
+{
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+ Name(rval, 0)
+
+ Store(arg0, lpN0)
+ Store(0, lpC0)
+ While (lpN0) {
+
+ /* For not a Control thread only */
+ if (LNotEqual(lpC0, 0)) {
+ Store(DerefOf(Index(arg1, lpC0)), Local0)
+ Store(DerefOf(Index(bs01, lpC0)), Local1)
+
+ if (LEqual(Local0, 1)) {
+ /* check completion of operation */
+ Or(rval, 0x10, rval)
+ if (LNot(Local1)) {
+ Or(rval, 0x01, rval)
+ }
+ } elseif (LEqual(Local0, 2)) {
+ /* check hang */
+ Or(rval, 0x20, rval)
+ if (Local1) {
+ Or(rval, 0x02, rval)
+ }
+ }
+ }
+
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+
+ return (rval)
+}
+
+/*
+ * Run and analize result of m10e()
+ *
+ * arg0,
+ * arg1 - see m10e
+ */
+Method(m10f, 2)
+{
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+ Name(rval, 0)
+
+ Store(sl03, lpN0)
+ Store(0, lpC0)
+ While (lpN0) {
+ Sleep(sl02)
+ Store(m10e(arg0, arg1), rval)
+
+ if (LNot(And(rval, 0x20))) {
+ /* doesn't have checkings of hang */
+ if (LNot(And(rval, 0x01))) {
+ /* all examined have completed */
+ break
+ }
+ }
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+
+ return (rval)
+}
+
+/*
+ * Control thread waits for all the slave threads to
+ * fulfill the specified for them buffer of commands.
+ *
+ * arg0 - number of threads (total)
+ * arg1 - the per-thread expectations of completion status mapping buffer
+ * arg2 - the per-thread expectations of hang status mapping buffer
+ * arg3 - the per-thread expectations of idle status mapping buffer
+ */
+Method(m110, 4)
+{
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+ Name(find, 0)
+ Name(sl80, 0)
+ Name(sl81, 0)
+ Name(cmd0, 0)
+ Name(hng0, 0)
+ Name(idl0, 0)
+ Name(quit, 0)
+
+ /*
+ * Check that all the slave threads saw my
+ * non-zero do00 and fulfilled the proper command.
+ */
+ While (1) {
+ Store(0, find)
+ Store(arg0, lpN0)
+ Store(0, lpC0)
+ While (lpN0) {
+
+ /* For not a Control thread only */
+ if (LNotEqual(lpC0, 0)) {
+
+ Store(DerefOf(Index(arg1, lpC0)), cmd0)
+ Store(DerefOf(Index(arg2, lpC0)), hng0)
+ Store(DerefOf(Index(arg3, lpC0)), idl0)
+
+ Store(DerefOf(Index(bs00, lpC0)), Local0)
+ Store(DerefOf(Index(bs01, lpC0)), Local1)
+ Store(DerefOf(Index(bs03, lpC0)), Local2)
+ Store(DerefOf(Index(bs04, lpC0)), Local3) // terminated threads
+
+ if (Local3) {
+
+ /* Thread already completed by c108 */
+
+ } elseif (cmd0) {
+
+ if (LNotEqual(Local0, cmd0)) {
+ err("m110", z147, 0x004, 0, 0, Local0, cmd0)
+ Store(lpC0, Debug)
+ }
+ if (LNot(Local1)) {
+ /* Not completed yet */
+ Store(1, find)
+ break
+ } elseif (LNotEqual(Local1, Local0)) {
+ /* Has executed unexpected command */
+ err("m110", z147, 0x005, 0, 0, Local1, Local0)
+ Store(lpC0, Debug)
+ }
+ } elseif (hng0) {
+ Store(1, sl81)
+ if (LLess(sl80, sl03)) {
+ /*
+ * Delay here is some pure attempt to be objective -
+ * it can look like hang now but go just after this
+ * checking.
+ */
+ Increment(sl80)
+ Sleep(sl02)
+ }
+ Store(DerefOf(Index(bs01, lpC0)), Local4)
+ if (Local4) {
+ /* Doesn't hang */
+ if (LNotEqual(Local4, Local0)) {
+ /* Has executed unexpected command */
+ err("m110", z147, 0x006, 0, 0, Local1, Local0)
+ Store(lpC0, Debug)
+ }
+ err("m110", z147, 0x007, 0, 0, Local0, Local4)
+ Store(lpC0, Debug)
+ }
+ } elseif (idl0) {
+ if (LNotEqual(Local0, c100)) {
+ err("m110", z147, 0x008, 0, 0, Local0, cmd0)
+ Store(lpC0, Debug)
+ }
+ if (LNot(Local2)) {
+ /* Not completed yet */
+ Store(1, find)
+ break
+ } elseif (LNotEqual(Local2, c100)) {
+ /* Has executed unexpected command */
+ err("m110", z147, 0x009, 0, 0, Local0, cmd0)
+ Store(lpC0, Debug)
+ }
+ } else {
+ err("m110", z147, 0x00a, 0, 0, lpC0, Local0)
+ Store(lpC0, Debug)
+ }
+ }
+
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+
+ Store(0, quit)
+
+ if (LNot(find)) {
+
+ Store(1, quit)
+
+ /*
+ * All threads except those being checked for hang status
+ * have completed their commands.
+ */
+ if (sl81) {
+ /* Has threads to check hang status */
+ if (LLess(sl80, sl03)) {
+ /* Not completed yet the specified delay */
+ Store(0, quit)
+ }
+ }
+ }
+
+ if (quit) {
+ break
+ }
+
+ /*
+ * Don't report about Control thread sleeping -
+ * don't use m206(0, sl00).
+ */
+ Sleep(sl00)
+ }
+
+ /*
+ * Set do00 to zero and check that all the slave threads
+ * saw my zero do00 (if only it is not the EXIT command).
+ */
+
+ m200(bs02, arg0, 0)
+ Store(0, do00)
+ While (1) {
+ Store(0, find)
+ Store(arg0, lpN0)
+ Store(0, lpC0)
+ While (lpN0) {
+
+ /* For not a Control thread only */
+ if (LNotEqual(lpC0, 0)) {
+
+ /*
+ * Reset the specified command for each thread
+ * which in fact doesn't hang.
+ */
+ Store(DerefOf(Index(bs02, lpC0)), Local0)
+ if (Local0) {
+ /* Alive, doesn't hang, so reset its command */
+ Store(c100, Index(bs00, lpC0))
+ Store(0, Index(bs01, lpC0))
+ }
+
+ /*
+ * For all threads except those being checked for
+ * hang status and completed already.
+ */
+ Store(DerefOf(Index(arg2, lpC0)), hng0)
+ Store(DerefOf(Index(bs04, lpC0)), Local0)
+
+ if (LAnd(LNot(hng0), LNot(Local0))) {
+ Store(DerefOf(Index(bs02, lpC0)), Local0)
+ if (LNot(Local0)) {
+ Store(1, find)
+ break
+ }
+ }
+ }
+
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+
+ /*
+ * All threads except those being checked for hang status
+ * have zeroed do00.
+ */
+ if (LNot(find)) {
+ break
+ }
+
+ /*
+ * Don't report about Control thread sleeping -
+ * don't use m206(0, sl00).
+ */
+ Sleep(sl00)
+ }
+
+ /* All the slave threads are ready for any next command */
+}
+
+/*
+ * Check absence of exception
+ *
+ * arg0 - ID of current thread
+ * arg1 - Index of current thread
+ * arg2 - exceptional condition flag
+ * arg3 - the name of operation
+ *
+ * Return opcode of exception to be generated or zero
+ */
+Method(m111, 4)
+{
+ if (LOr(FLG0, arg2)) {
+ Store(CH08("m111", arg0, z147, 0x00c, 0, 0), Local0)
+ if (Local0) {
+ se00(arg1, er03, "Error er03")
+ }
+ }
+
+ /* Analize opcode of exception to be generated */
+
+ Switch (arg2) {
+ Case (0) {
+ Store(0, Local0)
+ }
+ Case (0xfe) { // EX0E - check "no exception"
+ Store(0, Local0)
+ }
+ Case (0xfd) { // EX0D - FAIL expected
+ Store(arg2, Local0)
+ Concatenate(arg3, ", generating FAIL condition ", Local1)
+ m201(arg1, vb03, Local1)
+ }
+ Default {
+ Store(arg2, Local0)
+ Concatenate(arg3, ", generating exceptional condition ", Local1)
+ Concatenate(Local1, Local0, Local1)
+ m201(arg1, vb03, Local1)
+ }
+ }
+
+ return (Local0)
+}
+
+/*
+ * Check exception
+ *
+ * arg0 - ID of current thread
+ * arg1 - Index of current thread
+ * arg2 - exceptional condition flag
+ * arg3 - return code of operation
+ */
+Method(m112, 4)
+{
+ Store(0, Local2)
+
+ if (LEqual(arg2, EX0E)) {
+
+ /* check "no exception" */
+
+ Store(CH08("m112", arg0, z147, 0x00d, 0, 0), Local0)
+ if (Local0) {
+ se00(arg1, er03, "Error er03")
+ }
+
+ } elseif (LEqual(arg2, EX0D)) {
+
+ /* FAIL of operation expected */
+
+ if (LNot(arg3)) {
+ err("m112", z147, 0x00e, 0, 0, arg3, 1)
+ }
+
+ } elseif (arg2) {
+
+ /* check presence of particular exception */
+
+ Store(CH09(0, arg0, arg2, z147, 0x00f, RefOf(Local2)), Local0)
+ if (Local0) {
+ se00(arg1, er04, "Error er04")
+ }
+ }
+
+ if (FLG0) {
+ Store(CH08("m112", arg0, z147, 0x010, 0, 0), Local0)
+ if (Local0) {
+ se00(arg1, er03, "Error er03")
+ }
+ }
+}
+
+/*
+ * Control thread initiates execution of commands by the slave threads
+ *
+ * arg0 - number of threads (total)
+ */
+Method(m114, 1)
+{
+ m200(bs01, arg0, 0)
+ m200(bs03, arg0, 0)
+ Store(1, do00)
+}
+
+/*
+ * Return index of the greatest alive non-terminated yet thread
+ *
+ * arg0 - number of threads
+ */
+Method(m115, 1)
+{
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+
+ /* Means 'not found' */
+ Store(arg0, Local7)
+
+ /* Inverse order, excluding a Control thread */
+ Subtract(arg0, 1, lpN0)
+ Subtract(arg0, 1, lpC0)
+
+ While (lpN0) {
+
+ Store(DerefOf(Index(bs04, lpC0)), Local0)
+ if (LNot(Local0)) {
+ Store(lpC0, Local7)
+ break
+ }
+
+ Decrement(lpN0)
+ Decrement(lpC0)
+ }
+
+ return (Local7)
+}
+
+/*
+ * Add error-bit relative to arg0-th thread
+ *
+ * arg0 - Index of thread
+ * arg1 - error-bit
+ * arg2 - message
+ */
+Method(se00, 3)
+{
+ Store(DerefOf(Index(p300, arg0)), Local0)
+ Or(arg1, Local0, Local1)
+ Store(Local1, Index(p300, arg0))
+
+ if (vb04) {
+
+ /* Add scale of Errors */
+
+ Store(DerefOf(Index(p100, arg0)), Local0)
+ Or(arg1, Local0, Local1)
+ Store(Local1, Index(p100, arg0))
+
+ /* Increment statistics of Errors (number) */
+ m212(RefOf(p101), arg0)
+ }
+
+ if (vb06) {
+ Concatenate("ERROR: ", arg2, Local0)
+ m201(arg0, 1, Local0)
+ }
+}
+
+/*
+ * Add warning-bit relative to arg0-th thread
+ *
+ * arg0 - Index of thread
+ * arg1 - warning-bit
+ * arg2 - message
+ */
+Method(wrn0, 3)
+{
+ Store(DerefOf(Index(p301, arg0)), Local0)
+ Or(arg1, Local0, Local1)
+ Store(Local1, Index(p301, arg0))
+
+ if (vb04) {
+
+ /* Add scale of Warnings */
+
+ Store(DerefOf(Index(p102, arg0)), Local0)
+ Or(arg1, Local0, Local1)
+ Store(Local1, Index(p102, arg0))
+
+ /* Increment statistics of Warnings (number) */
+ m212(RefOf(p103), arg0)
+ }
+
+ if (vb05) {
+ Concatenate("WARNING: ", arg2, Local0)
+ m201(arg0, 1, Local0)
+ }
+}
+
+
diff --git a/tests/aslts/src/runtime/collections/mt/mutex/example0.asl b/tests/aslts/src/runtime/collections/mt/mutex/example0.asl
new file mode 100644
index 000000000..0769f62dd
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/mt/mutex/example0.asl
@@ -0,0 +1,118 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+/*
+ * Example 0 (from some particular failed table)
+ *
+ * arg0 - ID of current thread
+ * arg1 - Index of current thread
+ * arg2 - Integer
+ * arg3 - Integer
+ * arg4 - Integer
+ */
+Method (C0A2, 5, Serialized)
+{
+
+ OperationRegion (C0A3, SystemIO, C0A1 (), 0x07)
+ Field (C0A3, ByteAcc, NoLock, Preserve) {
+ C0A4, 8,
+ C0A5, 8,
+ C0A6, 8,
+ C0A7, 8,
+ C0A8, 8,
+ C0A9, 8,
+ C0AA, 8
+ }
+
+ m310(arg0, arg1, GLLL, GLIX, 0, 0, 0) // Acquire
+
+ Store (16, Local0)
+ While (Local0) {
+ Store(C0A4, Local1)
+ m207(arg1, 100) // Stall
+ Decrement (Local0)
+ }
+
+ Store (1, Local0)
+
+ if (Local0) {
+
+ Store (arg3, C0A7)
+ Store (arg2, C0A8)
+ If (LEqual (And (arg2, 0x01), 0x00))
+ {
+ Store (arg4, C0A9)
+ }
+
+ Store (0xFF, C0A4)
+ Store (0x48, C0A6)
+
+ Store (11, Local0)
+ While (Local0) {
+ Store(C0A4, Local1)
+ m207(arg1, 100) // Stall
+ Decrement (Local0)
+ }
+
+ And (C0A4, 0x1C, Local1)
+ Store (0xFF, C0A4)
+ If (LAnd (LEqual (Local1, 0x00), And (arg2, 0x01)))
+ {
+ Store (C0A9, Local2)
+ }
+ } else {
+ Store (0x01, Local1)
+ }
+
+ m311(arg0, arg1, GLLL, GLIX, 0, 0) // Release
+
+ Return (Local1)
+}
+
+Method (C0A1, 0, Serialized)
+{
+ Return (0x100)
+}
+
+/*
+ * arg0 - ID of current thread
+ * arg1 - Index of current thread
+ */
+Method (C0AB, 2)
+{
+ m310(arg0, arg1, GLLL, GLIX, 0, 0, 0) // Acquire
+
+ Store (16, Local0)
+ While (Local0) {
+ m207(arg1, 50) // Stall
+ Decrement (Local0)
+ }
+
+ m311(arg0, arg1, GLLL, GLIX, 0, 0) // Release
+}
diff --git a/tests/aslts/src/runtime/collections/mt/mutex/mt_access.asl b/tests/aslts/src/runtime/collections/mt/mutex/mt_access.asl
new file mode 100644
index 000000000..b3235bb07
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/mt/mutex/mt_access.asl
@@ -0,0 +1,231 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+/*
+ * Multi access to different type data
+ *
+ * Types:
+ * - Buffer
+ * - Package
+ *
+ * Notations:
+ *
+ * Leading thread - the slave thread #1 which plays in the relevant test
+ * some control role.
+ */
+
+
+/* Leading thread (thread #1) put there commands for other threads */
+Name(b900, Buffer(){0,0,0,0,0,0,0,0})
+
+/*
+ * This buffer is zeroed by the leading thread and then to
+ * be filled by other slave threads, some non-zero respond to
+ * the leading thread.
+ */
+Name(b901, Buffer(){0,0,0,0,0,0,0,0})
+
+/*
+ * This buffer is zeroed by the leading thread and then to be
+ * filled by other slave threads when they see that i900 is zero.
+ *
+ * The leading thread uses it to check that all the slave threads
+ * saw zero i900 before to start the next command.
+ */
+Name(b902, Buffer(){0,0,0,0,0,0,0,0})
+
+Name(i900, 0) // signal start fulfilling command
+Name(i901, 0x30) // to do command 0x30 once only
+Name(c900, 0x31) //
+
+/*
+ * Test #.
+ *
+ * Leading thread (thread #1) is a controlling thread other are slave threads here.
+ *
+ * arg0 - number of threads
+ * arg1 - ID of current thread
+ * arg2 - Index of current thread
+ */
+Method(m900, 1)
+{
+ if (LGreater(arg0, 8)) {
+ se00(arg2, er06)
+ return
+ }
+ if (LGreaterEqual(arg2, arg0)) {
+ se00(arg2, er06)
+ }
+
+ if (LEqual(arg2, 1)) {
+
+ /* Leading thread */
+
+ While (1) {
+
+ if (i901) {
+ Store(0, i901)
+ m200(b900, arg0, 0x30)
+ m200(b901, arg0, 0)
+ Store(1, i900)
+ }
+
+ m206(arg2, sl01)
+ }
+ } else {
+ While (1) {
+
+ /* Determine the command for particular thread */
+
+ Store(c900, Local0)
+
+ /* Control thread allows for slave threads to fulfill their commands */
+ if (i900) {
+ Store(DerefOf(Index(b901, arg2)), Local1)
+ /* This thread doesn't yet fulfill its command */
+ if (LNot(Local1)) {
+ /* Command to be fulfilled */
+ Store(DerefOf(Index(b900, arg2)), Local0)
+ }
+ /* Unnecessary */
+ if (LNot(i900)) {
+ Store(c900, Local0)
+ }
+ }
+
+ if (LNot(i900)) {
+ Store(DerefOf(Index(b902, arg2)), Local0)
+ if (LNot(Local0)) {
+ /* Any non-zero value */
+ Store(rs00, Index(b902, arg2))
+ }
+ }
+ m206(arg2, sl01)
+ }
+ }
+}
+
+/*
+ * Thread 1 waits for all the slave threads to
+ * fulfill the specified for them the buffer of commands.
+ *
+ * arg0 - number of threads
+ * arg1 - flag if to check that all the slave threads saw my zero do00
+ */
+Method(m9ff, 2)
+{
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+ Name(find, 0)
+
+ /*
+ * Check that all the slave threads saw my
+ * non-zero do00 and fulfilled the proper command.
+ */
+ While (1) {
+ Store(0, find)
+ Store(arg0, lpN0)
+ Store(0, lpC0)
+ While (lpN0) {
+
+ /* For not a Control thread only */
+ if (LNotEqual(lpC0, 0)) {
+ Store(DerefOf(Index(b900, lpC0)), Local0)
+ Store(DerefOf(Index(b901, lpC0)), Local1)
+ if (LNotEqual(Local0, Local1)) {
+ Store(1, find)
+ break
+ }
+ }
+
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+
+ if (LNot(find)) {
+ break
+ }
+
+ /*
+ * Don't report about Control thread sleeping -
+ * don't use m206(0, sl00).
+ */
+ Sleep(sl00)
+ }
+
+ /*
+ * Check that all the slave threads saw my zero do00
+ * (if only it is not the EXIT command).
+ * Note: assumed that EXIT command is specified for all
+ * the threads simultaneously, so only.
+ */
+ if (arg1) {
+ if (fl01) {
+ m109()
+ } else {
+ m200(b902, arg0, 0)
+ }
+ Store(0, do00)
+ While (1) {
+ Store(0, find)
+ if (fl01) {
+ Store(m10a(), find)
+ } else {
+ Store(arg0, lpN0)
+ Store(0, lpC0)
+ While (lpN0) {
+
+ /* For not a Control thread only */
+ if (LNotEqual(lpC0, 0)) {
+ Store(DerefOf(Index(b902, lpC0)), Local0)
+ if (LNot(Local0)) {
+ Store(1, find)
+ break
+ }
+ }
+
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+ }
+
+ if (LNot(find)) {
+ break
+ }
+
+ /*
+ * Don't report about Control thread sleeping -
+ * don't use m206(0, sl00).
+ */
+ Sleep(sl00)
+ }
+
+ /* All the slave threads are ready for any next command */
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/mt/mutex/mutex.asl b/tests/aslts/src/runtime/collections/mt/mutex/mutex.asl
new file mode 100644
index 000000000..1830dfca7
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/mt/mutex/mutex.asl
@@ -0,0 +1,1070 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+/*
+ * Check mutex related interfaces in a real multi-threading mode
+ */
+
+Name(z148, 148)
+
+
+/*
+in progress
+SEE:
+??????????????????????????????????????????
+1) See sleeping mode ... and m209
+
+3) remove all mf0X - slaves only once go into
+ } else { // Slave Threads
+ m101(arg0, arg1, arg2, 0)
+ }
+and Ctl Thread do mf00()
+
+4) do the same number of mutexes (indexes) for all mutex levels
+ then uni0 will work in cm06/cm07... properly
+5) actually properly split methods among files and files among directories
+6) groups of methods - m340-m344 and m20d-m20e in the same group and name
+6) some methods are not used?
+7) m33f - does it have "Check up the values of counters of all Mutexes"?
+8) allow tests to run for 3 and 2 threads (excluding some) without SKIPPED
+*/
+
+
+
+/*
+ * Test mf01.
+ *
+ * arg0 - number of threads
+ * arg1 - ID of current thread
+ * arg2 - Index of current thread
+ */
+Method(mf01, 3)
+{
+ /* Initialization of multithreading interconnection */
+
+ if (LNot(m107(arg0, arg1, arg2, 0))) {
+ if (LNot(arg2)) {
+ Store("Test mf01 skipped!", Debug)
+ SKIP()
+ }
+ return
+ }
+
+ /* Report start of test: depending on vb01 can be reported by each thread */
+ m204("mf01", arg0, arg1, arg2)
+
+ /*
+ * The Slave Threads loop forever executing strategies
+ * specified and controlled by the Control Thread.
+ */
+ if (LEqual(arg2, 0)) { // Control Thread
+
+ /*
+ * These variables are to be actually used
+ * by the Control Thread only
+ */
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+
+ /* Open testing */
+ m102(arg0)
+
+ /* All slaves to sleep */
+ m100(arg0, arg1, arg2, CM02, 0, 0, 0)
+
+ /* Acquire/Sleep/Release for all 0-15 levels and GL */
+
+ Store(max0, lpN0)
+ Store(0, lpC0)
+ While (lpN0) {
+
+ /*
+ * Reset all counters (cnt0) and flags (fl00)
+ * corresponding to all Mutexes.
+ */
+ m330()
+
+ /*
+ * Acquire/Sleep/Release
+ *
+ * - Number of threads
+ * - Level of mutex
+ * - Index of mutex
+ * - Number of mutexes of the same level
+ */
+ m801(arg0, lpC0, 0, min0)
+
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+
+ /* Close testing */
+ m108("mf01", arg0, arg1, arg2)
+
+ } else { // Slave Threads
+ m101(arg0, arg1, arg2, 0)
+ }
+}
+
+/*
+ * Test mf02.
+ *
+ * arg0 - number of threads
+ * arg1 - ID of current thread
+ * arg2 - Index of current thread
+ */
+Method(mf02, 3)
+{
+ /* Initialization of multithreading interconnection */
+
+ if (LNot(m107(arg0, arg1, arg2, 0))) {
+ if (LNot(arg2)) {
+ Store("Test mf02 skipped!", Debug)
+ SKIP()
+ }
+ return
+ }
+
+ /* Report start of test: depending on vb01 can be reported by each thread */
+ m204("mf02", arg0, arg1, arg2)
+
+ /*
+ * The Slave Threads loop forever executing strategies
+ * specified and controlled by the Control Thread.
+ */
+ if (LEqual(arg2, 0)) { // Control Thread
+
+ /* Open testing */
+ m102(arg0)
+
+ /* All slaves to sleep */
+ m100(arg0, arg1, arg2, CM02, 0, 0, 0)
+
+ /*
+ * <Acquire/Sleep>(0-15 levels) and GL/Release(15-0 levels) and GL
+ * - Number of threads
+ * - Index of mutex
+ * - Number of mutexes of the same level
+ */
+ m802(arg0, 0, 2)
+
+ /* Close testing */
+ m108("mf02", arg0, arg1, arg2)
+
+ } else { // Slave Threads
+ m101(arg0, arg1, arg2, 0)
+ }
+}
+
+/*
+ * Test mf03.
+ *
+ * arg0 - number of threads
+ * arg1 - ID of current thread
+ * arg2 - Index of current thread
+ */
+Method(mf03, 3)
+{
+ /* Initialization of multithreading interconnection */
+
+ if (LNot(m107(arg0, arg1, arg2, 0))) {
+ if (LNot(arg2)) {
+ Store("Test mf03 skipped!", Debug)
+ SKIP()
+ }
+ return
+ }
+
+ /* Report start of test: depending on vb01 can be reported by each thread */
+ m204("mf03", arg0, arg1, arg2)
+
+ /*
+ * The Slave Threads loop forever executing strategies
+ * specified and controlled by the Control Thread.
+ */
+ if (LEqual(arg2, 0)) { // Control Thread
+
+ /* Open testing */
+ m102(arg0)
+
+ /* All slaves to sleep */
+ m100(arg0, arg1, arg2, CM02, 0, 0, 0)
+
+ /*
+ * Example 0
+ * - Number of threads
+ */
+ m803(arg0)
+
+ /* Close testing */
+ m108("mf03", arg0, arg1, arg2)
+
+ } else { // Slave Threads
+ m101(arg0, arg1, arg2, 0)
+ }
+}
+
+/*
+ * Test mf04.
+ *
+ * arg0 - number of threads
+ * arg1 - ID of current thread
+ * arg2 - Index of current thread
+ */
+Method(mf04, 3)
+{
+ /* Initialization of multithreading interconnection */
+
+ if (LNot(m107(arg0, arg1, arg2, 3))) {
+ if (LNot(arg2)) {
+ Store("Test mf04 skipped!", Debug)
+ SKIP()
+ }
+ return
+ }
+
+ /* Report start of test: depending on vb01 can be reported by each thread */
+ m204("mf04", arg0, arg1, arg2)
+
+ /*
+ * The Slave Threads loop forever executing strategies
+ * specified and controlled by the Control Thread.
+ */
+ if (LEqual(arg2, 0)) { // Control Thread
+
+ /* Open testing */
+ m102(arg0)
+
+ /* All slaves to sleep */
+ m100(arg0, arg1, arg2, CM02, 0, 0, 0)
+
+ // Test (see SPEC for mf04)
+ m804(arg0)
+
+ /* Close testing */
+ m108("mf04", arg0, arg1, arg2)
+
+ } else { // Slave Threads
+ m101(arg0, arg1, arg2, 0)
+ }
+}
+
+/*
+ * Test mf05.
+ *
+ * arg0 - number of threads
+ * arg1 - ID of current thread
+ * arg2 - Index of current thread
+ */
+Method(mf05, 3)
+{
+ /* Initialization of multithreading interconnection */
+
+ if (LNot(m107(arg0, arg1, arg2, 3))) {
+ if (LNot(arg2)) {
+ Store("Test mf05 skipped!", Debug)
+ SKIP()
+ }
+ return
+ }
+
+ /* Report start of test: depending on vb01 can be reported by each thread */
+ m204("mf05", arg0, arg1, arg2)
+
+ /*
+ * The Slave Threads loop forever executing strategies
+ * specified and controlled by the Control Thread.
+ */
+ if (LEqual(arg2, 0)) { // Control Thread
+
+ /* Open testing */
+ m102(arg0)
+
+ /* All slaves to sleep */
+ m100(arg0, arg1, arg2, CM02, 0, 0, 0)
+
+ // Test (see SPEC for mf05)
+ m805(arg0)
+
+ /* Close testing */
+ m108("mf05", arg0, arg1, arg2)
+
+ } else { // Slave Threads
+ m101(arg0, arg1, arg2, 0)
+ }
+}
+
+/*
+ * Test mf06.
+ *
+ * arg0 - number of threads
+ * arg1 - ID of current thread
+ * arg2 - Index of current thread
+ */
+Method(mf06, 3)
+{
+ /* Initialization of multithreading interconnection */
+
+ if (LNot(m107(arg0, arg1, arg2, 3))) {
+ if (LNot(arg2)) {
+ Store("Test mf06 skipped!", Debug)
+ SKIP()
+ }
+ return
+ }
+
+ /* Report start of test: depending on vb01 can be reported by each thread */
+ m204("mf06", arg0, arg1, arg2)
+
+ /*
+ * The Slave Threads loop forever executing strategies
+ * specified and controlled by the Control Thread.
+ */
+ if (LEqual(arg2, 0)) { // Control Thread
+
+ /* Open testing */
+ m102(arg0)
+
+ /* All slaves to sleep */
+ m100(arg0, arg1, arg2, CM02, 0, 0, 0)
+
+ // Test (see SPEC for mf06)
+ m806(arg0)
+
+ /* Close testing */
+ m108("mf06", arg0, arg1, arg2)
+
+ } else { // Slave Threads
+ m101(arg0, arg1, arg2, 0)
+ }
+}
+
+/*
+ * Test mf07.
+ *
+ * arg0 - number of threads
+ * arg1 - ID of current thread
+ * arg2 - Index of current thread
+ */
+Method(mf07, 3)
+{
+ /* Initialization of multithreading interconnection */
+
+ if (LNot(m107(arg0, arg1, arg2, 0))) {
+ if (LNot(arg2)) {
+ Store("Test mf07 skipped!", Debug)
+ SKIP()
+ }
+ return
+ }
+
+ /* Report start of test: depending on vb01 can be reported by each thread */
+ m204("mf07", arg0, arg1, arg2)
+
+ /*
+ * The Slave Threads loop forever executing strategies
+ * specified and controlled by the Control Thread.
+ */
+ if (LEqual(arg2, 0)) { // Control Thread
+
+ /* Open testing */
+ m102(arg0)
+
+ /* All slaves to sleep */
+ m100(arg0, arg1, arg2, CM02, 0, 0, 0)
+
+ // Test (see SPEC for mf07)
+ m807(arg0)
+
+ /* Close testing */
+ m108("mf07", arg0, arg1, arg2)
+
+ } else { // Slave Threads
+ m101(arg0, arg1, arg2, 0)
+ }
+}
+
+/*
+ * Test mf08.
+ *
+ * arg0 - number of threads
+ * arg1 - ID of current thread
+ * arg2 - Index of current thread
+ */
+Method(mf08, 3)
+{
+ /* Initialization of multithreading interconnection */
+
+ if (LNot(m107(arg0, arg1, arg2, min1))) {
+ if (LNot(arg2)) {
+ Store("Test mf08 skipped!", Debug)
+ SKIP()
+ }
+ return
+ }
+
+ /* Report start of test: depending on vb01 can be reported by each thread */
+ m204("mf08", arg0, arg1, arg2)
+
+ /*
+ * The Slave Threads loop forever executing strategies
+ * specified and controlled by the Control Thread.
+ */
+ if (LEqual(arg2, 0)) { // Control Thread
+
+ /* Open testing */
+ m102(arg0)
+
+ /* All slaves to sleep */
+ m100(arg0, arg1, arg2, CM02, 0, 0, 0)
+
+ // Test (see SPEC for mf08)
+ m808(arg0)
+
+ /* Close testing */
+ m108("mf08", arg0, arg1, arg2)
+
+ } else { // Slave Threads
+ m101(arg0, arg1, arg2, 0)
+ }
+}
+
+/*
+ * Test mf09.
+ *
+ * arg0 - number of threads
+ * arg1 - ID of current thread
+ * arg2 - Index of current thread
+ */
+Method(mf09, 3)
+{
+ /* Initialization of multithreading interconnection */
+
+ if (LNot(m107(arg0, arg1, arg2, min1))) {
+ if (LNot(arg2)) {
+ Store("Test mf09 skipped!", Debug)
+ SKIP()
+ }
+ return
+ }
+
+ /* Report start of test: depending on vb01 can be reported by each thread */
+ m204("mf09", arg0, arg1, arg2)
+
+ /*
+ * The Slave Threads loop forever executing strategies
+ * specified and controlled by the Control Thread.
+ */
+ if (LEqual(arg2, 0)) { // Control Thread
+
+ /* Open testing */
+ m102(arg0)
+
+ /* All slaves to sleep */
+ m100(arg0, arg1, arg2, CM02, 0, 0, 0)
+
+ // Test (see SPEC for mf09)
+ m809(arg0)
+
+ /* Close testing */
+ m108("mf09", arg0, arg1, arg2)
+
+ } else { // Slave Threads
+ m101(arg0, arg1, arg2, 0)
+ }
+}
+
+/*
+ * Test mf10.
+ *
+ * arg0 - number of threads
+ * arg1 - ID of current thread
+ * arg2 - Index of current thread
+ */
+Method(mf10, 3)
+{
+ /* Initialization of multithreading interconnection */
+
+ if (LNot(m107(arg0, arg1, arg2, min1))) {
+ if (LNot(arg2)) {
+ Store("Test mf10 skipped!", Debug)
+ SKIP()
+ }
+ return
+ }
+
+ /* Report start of test: depending on vb01 can be reported by each thread */
+ m204("mf10", arg0, arg1, arg2)
+
+ /*
+ * The Slave Threads loop forever executing strategies
+ * specified and controlled by the Control Thread.
+ */
+ if (LEqual(arg2, 0)) { // Control Thread
+
+ /* Open testing */
+ m102(arg0)
+
+ /* All slaves to sleep */
+ m100(arg0, arg1, arg2, CM02, 0, 0, 0)
+
+ // Test (see SPEC for mf10)
+ m810(arg0)
+
+ /* Close testing */
+ m108("mf10", arg0, arg1, arg2)
+
+ } else { // Slave Threads
+ m101(arg0, arg1, arg2, 0)
+ }
+}
+
+/*
+ * Test mf11.
+ *
+ * arg0 - number of threads
+ * arg1 - ID of current thread
+ * arg2 - Index of current thread
+ */
+Method(mf11, 3)
+{
+ /* Initialization of multithreading interconnection */
+
+ if (LNot(m107(arg0, arg1, arg2, 0))) {
+ if (LNot(arg2)) {
+ Store("Test mf11 skipped!", Debug)
+ SKIP()
+ }
+ return
+ }
+
+ /* Report start of test: depending on vb01 can be reported by each thread */
+ m204("mf11", arg0, arg1, arg2)
+
+ /*
+ * The Slave Threads loop forever executing strategies
+ * specified and controlled by the Control Thread.
+ */
+ if (LEqual(arg2, 0)) { // Control Thread
+
+ /* Open testing */
+ m102(arg0)
+
+ /* All slaves to sleep */
+ m100(arg0, arg1, arg2, CM02, 0, 0, 0)
+
+ // Test (see SPEC for mf11)
+ m811(arg0)
+
+ /* Close testing */
+ m108("mf11", arg0, arg1, arg2)
+
+ } else { // Slave Threads
+ m101(arg0, arg1, arg2, 0)
+ }
+}
+
+/*
+ * Test mf12.
+ *
+ * arg0 - number of threads
+ * arg1 - ID of current thread
+ * arg2 - Index of current thread
+ */
+Method(mf12, 3)
+{
+ /* Initialization of multithreading interconnection */
+
+ if (LNot(m107(arg0, arg1, arg2, 3))) {
+ if (LNot(arg2)) {
+ Store("Test mf12 skipped!", Debug)
+ SKIP()
+ }
+ return
+ }
+
+ /* Report start of test: depending on vb01 can be reported by each thread */
+ m204("mf12", arg0, arg1, arg2)
+
+ /*
+ * The Slave Threads loop forever executing strategies
+ * specified and controlled by the Control Thread.
+ */
+ if (LEqual(arg2, 0)) { // Control Thread
+
+ /* Open testing */
+ m102(arg0)
+
+ /* All slaves to sleep */
+ m100(arg0, arg1, arg2, CM02, 0, 0, 0)
+
+ // Test (see SPEC for mf12)
+ m812(arg0)
+
+ /* Close testing */
+ m108("mf12", arg0, arg1, arg2)
+
+ } else { // Slave Threads
+ m101(arg0, arg1, arg2, 0)
+ }
+}
+
+/*
+ * Test mf13.
+ *
+ * arg0 - number of threads
+ * arg1 - ID of current thread
+ * arg2 - Index of current thread
+ */
+Method(mf13, 3)
+{
+ /* Initialization of multithreading interconnection */
+
+ if (LNot(m107(arg0, arg1, arg2, 0))) {
+ if (LNot(arg2)) {
+ Store("Test mf13 skipped!", Debug)
+ SKIP()
+ }
+ return
+ }
+
+ /* Report start of test: depending on vb01 can be reported by each thread */
+ m204("mf13", arg0, arg1, arg2)
+
+ /*
+ * The Slave Threads loop forever executing strategies
+ * specified and controlled by the Control Thread.
+ */
+ if (LEqual(arg2, 0)) { // Control Thread
+
+ /* Open testing */
+ m102(arg0)
+
+ /* All slaves to sleep */
+ m100(arg0, arg1, arg2, CM02, 0, 0, 0)
+
+ // Test (see SPEC for mf13)
+ m813(arg0)
+
+ /* Close testing */
+ m108("mf13", arg0, arg1, arg2)
+
+ } else { // Slave Threads
+ m101(arg0, arg1, arg2, 0)
+ }
+}
+
+/*
+ * Test mf14.
+ *
+ * arg0 - number of threads
+ * arg1 - ID of current thread
+ * arg2 - Index of current thread
+ */
+Method(mf14, 3)
+{
+ /* Initialization of multithreading interconnection */
+
+ if (LNot(m107(arg0, arg1, arg2, 0))) {
+ if (LNot(arg2)) {
+ Store("Test mf14 skipped!", Debug)
+ SKIP()
+ }
+ return
+ }
+
+ /* Report start of test: depending on vb01 can be reported by each thread */
+ m204("mf14", arg0, arg1, arg2)
+
+ /*
+ * The Slave Threads loop forever executing strategies
+ * specified and controlled by the Control Thread.
+ */
+ if (LEqual(arg2, 0)) { // Control Thread
+
+ /* Open testing */
+ m102(arg0)
+
+ /* All slaves to sleep */
+ m100(arg0, arg1, arg2, CM02, 0, 0, 0)
+
+ // Test (see SPEC for mf14)
+ m814(arg0)
+
+ /* Close testing */
+ m108("mf14", arg0, arg1, arg2)
+
+ } else { // Slave Threads
+ m101(arg0, arg1, arg2, 0)
+ }
+}
+
+
+/*
+ * Test mf15.
+ *
+ * arg0 - number of threads
+ * arg1 - ID of current thread
+ * arg2 - Index of current thread
+ */
+Method(mf15, 3)
+{
+ /* Initialization of multithreading interconnection */
+
+ if (LNot(m107(arg0, arg1, arg2, 0))) {
+ if (LNot(arg2)) {
+ Store("Test mf15 skipped!", Debug)
+ SKIP()
+ }
+ return
+ }
+
+ /* Report start of test: depending on vb01 can be reported by each thread */
+ m204("mf15", arg0, arg1, arg2)
+
+ /*
+ * The Slave Threads loop forever executing strategies
+ * specified and controlled by the Control Thread.
+ */
+ if (LEqual(arg2, 0)) { // Control Thread
+
+ /* Open testing */
+ m102(arg0)
+
+ /* All slaves to sleep */
+ m100(arg0, arg1, arg2, CM02, 0, 0, 0)
+
+ // Test (see SPEC for mf15)
+ m815(arg0)
+
+ /* Close testing */
+ m108("mf15", arg0, arg1, arg2)
+
+ } else { // Slave Threads
+ m101(arg0, arg1, arg2, 0)
+ }
+}
+
+/*
+ * Test mf16.
+ *
+ * arg0 - number of threads
+ * arg1 - ID of current thread
+ * arg2 - Index of current thread
+ */
+Method(mf16, 3)
+{
+ /* Initialization of multithreading interconnection */
+
+ if (LNot(m107(arg0, arg1, arg2, 0))) {
+ if (LNot(arg2)) {
+ Store("Test mf16 skipped!", Debug)
+ SKIP()
+ }
+ return
+ }
+
+ /* Report start of test: depending on vb01 can be reported by each thread */
+ m204("mf16", arg0, arg1, arg2)
+
+ /*
+ * The Slave Threads loop forever executing strategies
+ * specified and controlled by the Control Thread.
+ */
+ if (LEqual(arg2, 0)) { // Control Thread
+
+ /* Open testing */
+ m102(arg0)
+
+ /* All slaves to sleep */
+ m100(arg0, arg1, arg2, CM02, 0, 0, 0)
+
+ // Test (see SPEC for mf16)
+ m816(arg0)
+
+ /* Close testing */
+ m108("mf16", arg0, arg1, arg2)
+
+ } else { // Slave Threads
+ m101(arg0, arg1, arg2, 0)
+ }
+}
+
+/*
+ * Test mf17.
+ *
+ * arg0 - number of threads
+ * arg1 - ID of current thread
+ * arg2 - Index of current thread
+ */
+Method(mf17, 3)
+{
+ /* Initialization of multithreading interconnection */
+
+ if (LNot(m107(arg0, arg1, arg2, 0))) {
+ if (LNot(arg2)) {
+ Store("Test mf17 skipped!", Debug)
+ SKIP()
+ }
+ return
+ }
+
+ /* Report start of test: depending on vb01 can be reported by each thread */
+ m204("mf17", arg0, arg1, arg2)
+
+ /*
+ * The Slave Threads loop forever executing strategies
+ * specified and controlled by the Control Thread.
+ */
+ if (LEqual(arg2, 0)) { // Control Thread
+
+ /* Open testing */
+ m102(arg0)
+
+ /* All slaves to sleep */
+ m100(arg0, arg1, arg2, CM02, 0, 0, 0)
+
+ // Test (see SPEC for mf17)
+ m817(arg0)
+
+ /* Close testing */
+ m108("mf17", arg0, arg1, arg2)
+
+ } else { // Slave Threads
+ m101(arg0, arg1, arg2, 0)
+ }
+}
+
+/*
+ * Test mf18.
+ *
+ * arg0 - number of threads
+ * arg1 - ID of current thread
+ * arg2 - Index of current thread
+ */
+Method(mf18, 3)
+{
+ /* Initialization of multithreading interconnection */
+
+ if (LNot(m107(arg0, arg1, arg2, 0))) {
+ if (LNot(arg2)) {
+ Store("Test mf18 skipped!", Debug)
+ SKIP()
+ }
+ return
+ }
+
+ /* Report start of test: depending on vb01 can be reported by each thread */
+ m204("mf18", arg0, arg1, arg2)
+
+ /*
+ * The Slave Threads loop forever executing strategies
+ * specified and controlled by the Control Thread.
+ */
+ if (LEqual(arg2, 0)) { // Control Thread
+
+ /* Open testing */
+ m102(arg0)
+
+ /* All slaves to sleep */
+ m100(arg0, arg1, arg2, CM02, 0, 0, 0)
+
+ // Test (see SPEC for mf18)
+ m818(arg0)
+
+ /* Close testing */
+ m108("mf18", arg0, arg1, arg2)
+
+ } else { // Slave Threads
+ m101(arg0, arg1, arg2, 0)
+ }
+}
+
+
+
+/*
+ * arg0 - number of threads
+ * arg1 - ID of current thread
+ * arg2 - Index of current thread
+ */
+Method(mf00, 3)
+{
+ if (LNot(arg2)) {
+
+ /* Sleeping mode */
+
+ Store(10, sl00) // default milliseconds to sleep for Control thread
+ Store(10, sl01) // default milliseconds to sleep for Slave threads
+ Store(0, slm0) // sleeping mode for slave threads
+ }
+
+ if (LNot(y251)) {
+ if (LNot(arg2)) {
+ /*
+ * Initialization of multithreading interconnection:
+ * only to check that mt-technique itself works.
+ */
+ if (LNot(m107(arg0, arg1, arg2, 0))) {
+ Store("Mt-technique doesn't work!", Debug)
+ } else {
+ Store("Mt-technique works", Debug)
+ }
+ Store("Bug 251 (LBZ 469) is not fixed yet, it prevents these tests execution", Debug)
+ Store("SUMMARY (bug 251): AE_ALREADY_EXISTS on multi-threading on Switch operator", Debug)
+ Store(0, vb04) // don't print statistics
+ Store(1, ctl0) // Slave threads - go!
+
+ SRMT("mt_mutex_tests")
+ BLCK()
+ }
+ return
+ }
+
+
+if (1) {
+
+ /* Tests */
+
+ if (LNot(arg2)) {
+ SRMT("mf01")
+ }
+ mf01(arg0, arg1, arg2)
+
+ if (LNot(arg2)) {
+ SRMT("mf02")
+ }
+ mf02(arg0, arg1, arg2)
+
+ if (LNot(arg2)) {
+ SRMT("mf03")
+ }
+ mf03(arg0, arg1, arg2)
+
+ if (LNot(arg2)) {
+ SRMT("mf04")
+ }
+ mf04(arg0, arg1, arg2)
+
+ if (LNot(arg2)) {
+ SRMT("mf05")
+ }
+ mf05(arg0, arg1, arg2)
+
+ if (LNot(arg2)) {
+ SRMT("mf06")
+ }
+ mf06(arg0, arg1, arg2)
+
+if (1) {
+ if (LNot(arg2)) {
+ SRMT("mf07")
+ }
+ mf07(arg0, arg1, arg2)
+} else {
+ if (LNot(arg2)) {
+ SRMT("mf07")
+ BLCK()
+ }
+}
+
+ if (LNot(arg2)) {
+ SRMT("mf08")
+ }
+ mf08(arg0, arg1, arg2)
+
+ if (LNot(arg2)) {
+ SRMT("mf09")
+ }
+ mf09(arg0, arg1, arg2)
+
+ if (LNot(arg2)) {
+ SRMT("mf10")
+ }
+ mf10(arg0, arg1, arg2)
+
+ if (LNot(arg2)) {
+ SRMT("mf11")
+ }
+ mf11(arg0, arg1, arg2)
+
+ if (LNot(arg2)) {
+ SRMT("mf12")
+ }
+ mf12(arg0, arg1, arg2)
+
+ if (LNot(arg2)) {
+ SRMT("mf13")
+ }
+ mf13(arg0, arg1, arg2)
+
+ if (LNot(arg2)) {
+ SRMT("mf14")
+ }
+ mf14(arg0, arg1, arg2)
+
+ if (LNot(arg2)) {
+ SRMT("mf15")
+ }
+ mf15(arg0, arg1, arg2)
+
+ if (LNot(arg2)) {
+ SRMT("mf16")
+ }
+ mf16(arg0, arg1, arg2)
+
+ if (LNot(arg2)) {
+ SRMT("mf17")
+ }
+ mf17(arg0, arg1, arg2)
+
+ if (LNot(arg2)) {
+ SRMT("mf18")
+ }
+ mf18(arg0, arg1, arg2)
+
+} else {
+
+ if (LNot(arg2)) {
+ SRMT("mf01")
+ }
+ mf01(arg0, arg1, arg2)
+
+}
+
+
+ /* Report statistics */
+ if (LEqual(arg2, 0)) { // Control Thread
+ if (vb04) {
+ m211(arg0)
+ }
+ }
+}
+
+
+
diff --git a/tests/aslts/src/runtime/collections/mt/mutex/mxs.asl b/tests/aslts/src/runtime/collections/mt/mutex/mxs.asl
new file mode 100644
index 000000000..1e29424f5
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/mt/mutex/mxs.asl
@@ -0,0 +1,1242 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+/*
+ * Access to mutexes routines
+ */
+
+Name(z149, 149)
+
+/*
+ * Opcodes of initialization of set of mutexes
+ *
+ * c300 - usual
+ * c301 - one mutex of Index equal to ((Index of current thread) - 1)
+ */
+Name(c300, 0)
+Name(c301, 1)
+
+/*
+ * Flags corresponding to Mutexes
+ */
+Name(fl00, Package(max0) {
+ Package(max1) {},
+ Package(max1) {},
+ Package(max1) {},
+ Package(max1) {},
+ Package(max1) {},
+ Package(max1) {},
+ Package(max1) {},
+ Package(max1) {},
+ Package(max1) {},
+ Package(max1) {},
+ Package(max1) {},
+ Package(max1) {},
+ Package(max1) {},
+ Package(max1) {},
+ Package(max1) {},
+ Package(max1) {},
+ })
+
+/*
+ * Counters (current) corresponding to Mutexes
+ * (how many times the relevant mutex has been
+ * successfully Acquired (may be repeatedly)
+ * (by the same thread))
+ *
+ * - incremented on Acquire
+ * - decremented on Release
+ */
+Name(fl01, Package(max0) {
+ Package(max1) {},
+ Package(max1) {},
+ Package(max1) {},
+ Package(max1) {},
+ Package(max1) {},
+ Package(max1) {},
+ Package(max1) {},
+ Package(max1) {},
+ Package(max1) {},
+ Package(max1) {},
+ Package(max1) {},
+ Package(max1) {},
+ Package(max1) {},
+ Package(max1) {},
+ Package(max1) {},
+ Package(max1) {},
+ })
+
+/*
+ * Counters corresponding to Mutexes
+ *
+ * how many times the mutex has successfully Acquired
+ * by different threads.
+ *
+ * - incremented on Acquire
+ * - reset to zero by the Control thread
+ */
+Name(cnt0, Package(max0) {
+ Package(max1) {},
+ Package(max1) {},
+ Package(max1) {},
+ Package(max1) {},
+ Package(max1) {},
+ Package(max1) {},
+ Package(max1) {},
+ Package(max1) {},
+ Package(max1) {},
+ Package(max1) {},
+ Package(max1) {},
+ Package(max1) {},
+ Package(max1) {},
+ Package(max1) {},
+ Package(max1) {},
+ Package(max1) {},
+ })
+
+/*
+ * Acquire mutex
+ *
+ * arg0 - ID of current thread
+ * arg1 - Index of thread
+ * arg2 - Level of mutex
+ * arg3 - Index of mutex
+ * arg4 - opcode of exception to be generated or zero
+ * arg5 - opcode of TimeOutValue (see comment to ma00)
+ * arg6 - if fall into sleep
+ */
+Method(m310, 7)
+{
+ Store(m21e("Acquire mutex, ", arg2, arg3), Local0)
+ m201(arg1, vb03, Local0)
+
+ /* Increment statistics of Acquire */
+ if (vb04) {
+ m212(RefOf(p105), arg1)
+ }
+
+ if (LEqual(arg4, EX0D)) { // FAIL expected
+ Store(0, Local6)
+ } else {
+ Store(arg4, Local6)
+ }
+
+ Store(1, Local7) // Init with FAIL
+
+ Switch (arg2) {
+ Case (0) {
+ Store(ma00(arg3, Local6, arg5), Local7)
+ }
+ Case (1) {
+ Store(ma01(arg3, Local6, arg5), Local7)
+ }
+ Case (2) {
+ Store(ma02(arg3, Local6, arg5), Local7)
+ }
+ Case (3) {
+ Store(ma03(arg3, Local6, arg5), Local7)
+ }
+ Case (4) {
+ Store(ma04(arg3, Local6, arg5), Local7)
+ }
+ Case (5) {
+ Store(ma05(arg3, Local6, arg5), Local7)
+ }
+ Case (6) {
+ Store(ma06(arg3, Local6, arg5), Local7)
+ }
+ Case (7) {
+ Store(ma07(arg3, Local6, arg5), Local7)
+ }
+ Case (8) {
+ Store(ma08(arg3, Local6, arg5), Local7)
+ }
+ Case (9) {
+ Store(ma09(arg3, Local6, arg5), Local7)
+ }
+ Case (10) {
+ Store(ma0a(arg3, Local6, arg5), Local7)
+ }
+ Case (11) {
+ Store(ma0b(arg3, Local6, arg5), Local7)
+ }
+ Case (12) {
+ Store(ma0c(arg3, Local6, arg5), Local7)
+ }
+ Case (13) {
+ Store(ma0d(arg3, Local6, arg5), Local7)
+ }
+ Case (14) {
+ Store(ma0e(arg3, Local6, arg5), Local7)
+ }
+ Case (15) {
+ Store(ma0f(arg3, Local6, arg5), Local7)
+ }
+ }
+
+ if (LEqual(arg4, EX0D)) {
+
+ /* FAIL expected */
+
+ if (Local7) {
+ m201(arg1, vb03, "Acquire returned non-zero, it was expected")
+ } else {
+ m201(arg1, vb03, "Error 9: Acquire returned zero but FAIL expected!")
+ se00(arg1, er09, "Error er09")
+ }
+
+ return (Local7)
+ } elseif (arg4) {
+ return (1)
+ } elseif (Local7) {
+ m201(arg1, vb03, "Error 0: Acquire returned non-zero!")
+ se00(arg1, er00, "Error er00")
+ return (1)
+ } else {
+ /*
+ * Increment counter (cnt0) and set up flag (fl00)
+ * corresponding to mutex. Report error in case the
+ * flag is non-zero.
+ */
+
+ Store(m21e("Incrementing count of mutex, ", arg2, arg3), Local7)
+ Concatenate(Local7, " and set up its flag", Local1)
+ m201(arg1, vb03, Local1)
+ m331(arg1, arg2, arg3)
+
+ if (arg6) {
+ m201(arg1, vb03, "Fall into sleep")
+ if (slm0) {
+ Divide(arg1, 5, Local1)
+ Store(100, Local2)
+ Switch (Local1) {
+ Case (0) {
+ Store(i100, Local2)
+ }
+ Case (1) {
+ Store(i101, Local2)
+ }
+ Case (2) {
+ Store(i102, Local2)
+ }
+ Case (3) {
+ Store(i103, Local2)
+ }
+ Case (4) {
+ Store(i104, Local2)
+ }
+ Case (5) {
+ Store(i105, Local2)
+ }
+ Case (6) {
+ Store(i106, Local2)
+ }
+ Case (7) {
+ Store(i107, Local2)
+ }
+ Case (8) {
+ Store(i108, Local2)
+ }
+ }
+ m206(arg1, Local2)
+ } else {
+ m206(arg1, sl01)
+ }
+ }
+ }
+
+ return (0)
+}
+
+/*
+ * Release mutex
+ *
+ * arg0 - ID of current thread
+ * arg1 - Index of thread
+ * arg2 - Level of mutex
+ * arg3 - Index of mutex
+ * arg4 - opcode of exception to be generated or zero
+ * arg5 - if fall into sleep
+ */
+Method(m311, 6)
+{
+ Store(m21e("Release mutex, ", arg2, arg3), Local0)
+ m201(arg1, vb03, Local0)
+
+ /* Increment statistics of Release */
+ if (vb04) {
+ m212(RefOf(p106), arg1)
+ }
+
+ /*
+ * Check up and reset flag (fl00) corresponding to this Mutex
+ * (check that it was not changed by other threads while this
+ * one was sleeping).
+ */
+ if (LNot(arg4)) {
+ m332(arg1, arg2, arg3)
+ }
+
+ Switch (arg2) {
+ Case (0) {
+ ma10(arg3)
+ }
+ Case (1) {
+ ma11(arg3)
+ }
+ Case (2) {
+ ma12(arg3)
+ }
+ Case (3) {
+ ma13(arg3)
+ }
+ Case (4) {
+ ma14(arg3)
+ }
+ Case (5) {
+ ma15(arg3)
+ }
+ Case (6) {
+ ma16(arg3)
+ }
+ Case (7) {
+ ma17(arg3)
+ }
+ Case (8) {
+ ma18(arg3)
+ }
+ Case (9) {
+ ma19(arg3)
+ }
+ Case (10) {
+ ma1a(arg3)
+ }
+ Case (11) {
+ ma1b(arg3)
+ }
+ Case (12) {
+ ma1c(arg3)
+ }
+ Case (13) {
+ ma1d(arg3)
+ }
+ Case (14) {
+ ma1e(arg3)
+ }
+ Case (15) {
+ ma1f(arg3)
+ }
+ }
+
+ if (arg5) {
+ m206(arg1, sl01)
+ }
+}
+
+/*
+ * Reset all counters (cnt0) and flags (fl00)
+ * corresponding to all Mutexes.
+ */
+Method(m330)
+{
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+ Name(lpN1, 0)
+ Name(lpC1, 0)
+
+ Store(max0, lpN0)
+ Store(0, lpC0)
+ While (lpN0) {
+ Store(max1, lpN1)
+ Store(0, lpC1)
+ While (lpN1) {
+ Store(0, Index(DerefOf(Index(cnt0, lpC0)), lpC1))
+ Store(0, Index(DerefOf(Index(fl00, lpC0)), lpC1))
+ Decrement(lpN1)
+ Increment(lpC1)
+ }
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+}
+
+/*
+ * For Acquire
+ *
+ * Increment counter (cnt0) and set up flag (fl00)
+ * corresponding to the mutex of arg1-Level and
+ * arg2-Index. Report error in case the flag is non-zero.
+ *
+ * arg0 - Index of thread
+ * arg1 - Level of mutex
+ * arg2 - Index of mutex
+ */
+Method(m331, 3)
+{
+ /* Local1 - the value of flag (index of thread owning the mutex) */
+
+ Store(DerefOf(Index(fl00, arg1)), Local0)
+ Store(DerefOf(Index(Local0, arg2)), Local1)
+
+ if (Local1) {
+ if (LEqual(Local1, arg0)) {
+ Store(m21e("Mutex ", arg1, arg2), Local7)
+ Concatenate(Local7, " is already owned by thr ", Local7)
+ Concatenate(Local7, arg0, Local7)
+ wrn0(arg0, wn00, Local7)
+ } else {
+ se00(arg0, er01, "Error er01")
+ }
+ }
+
+ /* Set up flag */
+
+ Store(arg0, Index(DerefOf(Index(fl00, arg1)), arg2))
+
+ /* Increment counter cnt0 (owning by all threads) */
+
+ Store(DerefOf(Index(cnt0, arg1)), Local0)
+ Store(DerefOf(Index(Local0, arg2)), Local1)
+ Increment(Local1)
+ Store(Local1, Index(DerefOf(Index(cnt0, arg1)), arg2))
+
+ /* Increment counter fl01 (owning by one thread) */
+
+ Store(DerefOf(Index(fl01, arg1)), Local0)
+ Store(DerefOf(Index(Local0, arg2)), Local1)
+ Increment(Local1)
+ Store(Local1, Index(DerefOf(Index(fl01, arg1)), arg2))
+}
+
+/*
+ * For Release
+ *
+ * Check up and reset flag (fl00) corresponding to this Mutex
+ * (check that it was not changed by other threads while this
+ * one was sleeping).
+ *
+ * arg0 - Index of thread
+ * arg1 - Level of mutex
+ * arg2 - Index of mutex
+ */
+Method(m332, 3)
+{
+ /* Local1 - the value of flag (index of thread owning the mutex) */
+
+ Store(DerefOf(Index(fl00, arg1)), Local0)
+ Store(DerefOf(Index(Local0, arg2)), Local1)
+
+ if (LNotEqual(Local1, arg0)) {
+ se00(arg0, er02, "Error er02")
+ } else {
+ /* Reset flag */
+
+ /* Local1 - counter of owning the mutex by the same thread */
+
+ Store(DerefOf(Index(fl01, arg1)), Local0)
+ Store(DerefOf(Index(Local0, arg2)), Local1)
+
+ if (LEqual(Local1, 0)) {
+ se00(arg0, er08, "Error er08")
+ } else {
+ Decrement(Local1)
+ if (LEqual(Local1, 0)) {
+ /*
+ * May be greater than one when owning mutex by the
+ * same thread several times (allowed for ACPI mutex).
+ */
+ Store(0, Index(DerefOf(Index(fl00, arg1)), arg2))
+ }
+ Store(Local1, Index(DerefOf(Index(fl01, arg1)), arg2))
+ }
+ }
+}
+
+/*
+ * Check up the value of counter corresponding to this Mutex
+ *
+ * arg0 - Level of mutex
+ * arg1 - Index of mutex
+ * arg2 - expected value of counter
+ */
+Method(m333, 3)
+{
+ Store(DerefOf(Index(cnt0, arg0)), Local0)
+ Store(DerefOf(Index(Local0, arg1)), Local1)
+ if (LNotEqual(Local1, arg2)) {
+ err("m333", z149, 0x000, 0, 0, Local1, arg2)
+ Store(arg0, Debug)
+ Store(arg1, Debug)
+ }
+}
+
+/*
+ * Specify the per-thread set of mutexes to deal with in operation
+ *
+ * arg0 - number of threads (threads actually in work)
+ * arg1 - opcode of initialization
+ * arg2 - Level of mutex (initial)
+ * arg3 - Number of levels of mutexes
+ * arg4 - Index of mutex (inside the level)
+ * arg5 - Number of mutexes of the same level
+ */
+Method(m334, 6)
+{
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+
+ Store(arg0, lpN0)
+ Store(0, lpC0)
+
+ While (lpN0) {
+
+ /* For not a Control thread only */
+ if (LNotEqual(lpC0, 0)) {
+
+ Switch (arg1) {
+ Case (1) { // c301
+ /*
+ * One mutex of Index equal to
+ * ((Index of current thread) - 1)
+ */
+ Store(arg2, Index(p200, lpC0))
+ Store(arg3, Index(p201, lpC0))
+
+ Subtract(lpC0, 1, Local0)
+ Store(Local0, Index(p202, lpC0))
+ Store(1, Index(p203, lpC0))
+ }
+ Default { // c300
+ Store(arg2, Index(p200, lpC0))
+ Store(arg3, Index(p201, lpC0))
+ Store(arg4, Index(p202, lpC0))
+ Store(arg5, Index(p203, lpC0))
+ }
+ } /* Switch() */
+ } /* if() */
+
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+}
+
+/*
+ * Control thread initiates slaves to Acquire
+ * specified set of mutexes - on each specified
+ * level - one mutex of Index which is equal to
+ * ((Index of thread) - 1).
+ *
+ * When all slaves complete that operation checks up
+ * the state of execution of operation provided by
+ * slaves.
+ *
+ * arg0 - number of threads (total)
+ * arg1 - number of threads (threads actually in work)
+ *
+ * ====== as for m334:
+ * arg2 - Level of mutex (initial)
+ * arg3 - Number of levels of mutexes
+ *
+ * arg4 - expected value of counter
+ * arg5 - exceptional conditions flags (buffer/Integer)
+ */
+Method(m337, 6)
+{
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+
+ /* Acquire specified set of mutexes */
+
+ /* Set up per-thread set of mutexes */
+ m334(arg1, c301, arg2, arg3, 0, 0)
+
+ /* Init the exceptional conditions flags */
+ m215(arg0) // Reset TimeOutValue and exceptional condition flags
+ m20f(arg1, arg5, 0)
+
+ // c106 for all first arg1 threads
+ m210(bs00, arg0, c106, 0, arg1, 1, c102) // cmd: Acquire specified set of mutexes
+ m114(arg0) // run
+
+ /* Wait for all Slave threads */
+ m103(arg0)
+
+ /* Check up the values of counters of all Mutexs */
+ Store(arg3, lpN0)
+ Store(arg2, lpC0)
+ While (lpN0) {
+ m333(lpC0, 0, arg4)
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+}
+
+/*
+ * Control thread initiates slaves to Release
+ * specified set of mutexes - on each specified
+ * level - one mutex of Index which is equal to
+ * ((Index of thread) - 1).
+ *
+ * Control thread initiates slaves to Release
+ * specified set of mutexes.
+ *
+ * arg0 - number of threads (total)
+ * arg1 - number of threads (threads actually in work)
+ *
+ * ====== as for m334:
+ * arg2 - Level of mutex (initial)
+ * arg3 - Number of levels of mutexes
+ */
+Method(m338, 4)
+{
+ /* Set up per-thread set of mutexes */
+ m334(arg1, c301, arg2, arg3, 0, 0)
+
+ // c107 for all first arg1 threads
+ m210(bs00, arg0, c107, 0, arg1, 1, c102) // cmd: Release specified set of mutexes
+ m114(arg0) // run
+
+ /* Wait for all Slave threads */
+ m103(arg0)
+}
+
+/*
+ * Control thread checks that the specified set of slave threads
+ * hang on the specified operations or completed the operations.
+ *
+ * See m10e for args:
+ * arg0 - number of threads
+ * arg1 - buffer
+ */
+Method(m33d, 2)
+{
+ Store(m10f(arg0, arg1), Local0)
+ if (And(Local0, 0x01)) {
+ err("m33d", z149, 0x001, 0, 0, Local0, 0)
+ }
+ if (And(Local0, 0x02)) {
+ err("m33d", z149, 0x002, 0, 0, Local0, 0)
+ }
+}
+
+/*
+ * Run command for the specified set of slaves
+ *
+ * arg0 - number of threads
+ * arg1 - specificator of elements (see m20a)
+ * arg2 - command
+ */
+Method(m33e, 3)
+{
+ m20a(bs00, arg0, arg2, arg1) // cmd
+ m114(arg0)
+
+ /* Wait for Slave threads */
+ m103(arg0)
+}
+
+/*
+ * Control thread initiates commands for slaves to be fulfilled.
+ * After commands execution checks the statuses of all threads.
+ *
+ * It should be one of the following:
+ * - thread completed the specified command
+ * - thread hangs (on the specified command)
+ * - all other idle threads completed the 'idle-command'
+ * (for all those threads not enumerated in either 'Expected
+ * completion statuses' or 'Expected hang statuses' lists).
+ *
+ * Note: because of the restricted number of ACPI arguments available,
+ * the input data are combined.
+ *
+ * arg0 - numbers of threads (buffer/Integer).
+ * Integer:
+ * number of threads both total and 'actually in work'
+ * Buffer (elements of buffer):
+ * 0-th element - number of threads (total)
+ * 1-th element - number of threads (threads actually in work, not extra idle ones)
+ *
+ * arg1 - Commands (buffer/Integer).
+ *
+ * buffer/Integer, per-thread commands to be fulfilled
+ * Integer:
+ * 0 - undefined
+ * non-zero - the same command for all slave threads
+ * Buffer (elements of buffer):
+ * 0 - undefined
+ * non-zero - command for the relevant slave thread
+ *
+ * arg2 - Exceptional conditions flags (buffer/Integer)
+ *
+ * buffer/Integer, per-thread flags of exceptional conditions
+ * Integer:
+ * - non-zero means that we generate the same
+ * exceptional condition for all slave threads
+ * Buffer (elements of buffer):
+ * 0 - exception is not expected
+ * non-zero - means that we generate exceptional condition
+ * for the relevant thread
+ *
+ * The particular value (X0) of the exceptional condition flag
+ * corresponding to the particular thread means the following:
+ *
+ * 0: do nothing
+ * non-zero:
+ *
+ * 1) before to run operation:
+ *
+ * check absence of any exception occured on this thread
+ *
+ * 2) after the operation is completed depending on X0:
+ *
+ * EX0E (particular undefined opcode of exception):
+ *
+ * check that no any exception occured on this thread
+ *
+ * otherwise:
+ *
+ * check that exception with opcode equal to X0
+ * has occured on this thread
+ *
+ * arg3 - Levels of mutexes (buffer/Integer).
+ *
+ * buffer/Integer, per-thread levels of mutexes
+ * Integer:
+ * - the same level of mutex for all slave threads
+ * (number of levels is 1)
+ * Buffer (elements of buffer):
+ * Pairs:
+ * - start level of mutex for the relevant thread
+ * - number of levels
+ *
+ * arg4 - Indexes of mutexes (buffer/Integer).
+ *
+ * buffer/Integer, per-thread indexes of mutexes
+ * Integer:
+ * - the same index of mutex for all slave threads
+ * (number of mutexes of the same level is 1)
+ * Buffer (elements of buffer):
+ * Pairs:
+ * - start index of mutex for the relevant thread
+ * - number of mutexes of the same level
+ *
+ * arg5 - Expected completion statuses (the same semantics as Commands) (buffer/Integer).
+ *
+ * buffer/Integer, per-thread commands to check for completion
+ * Integer:
+ * 0 - do nothing
+ * non-zero - the same command for all slave threads
+ * Buffer (elements of buffer):
+ * 0 - do nothing
+ * non-zero - command for the relevant slave thread
+ *
+ * arg6 - Expected hang statuses (the same semantics as Commands) (buffer/Integer).
+ *
+ * buffer/Integer, per-thread commands to check for hang
+ * Integer:
+ * 0 - do nothing
+ * non-zero - the same command for all slave threads
+ * Buffer (elements of buffer):
+ * 0 - do nothing
+ * non-zero - command for the relevant slave thread
+ *
+ * Note: non-zero 0-th element of the buffer means the
+ * number of hanging threads expected to wake up
+ * after some command of arg1 will be executed.
+ */
+Method(m33f, 7)
+{
+ Name(nth0, 0) // total
+ Name(nth1, 0) // actually in work
+ Name(has1, 0) // has non-zero exception expectations
+
+ /* Check params */
+ Store(m344(arg5, arg6), Local0)
+ if (Local0) {
+ err("m33f: incorrect parameters", z149, 0x003, 0, 0, arg5, arg6)
+ Store(Local0, Debug)
+ return
+ }
+
+ /* Parse number of threads */
+
+ if (LEqual(ObjectType(arg0), c009)) {
+ Store(arg0, nth0)
+ Store(arg0, nth1)
+ } else {
+ Store(DerefOf(Index(arg0, 0)), nth0)
+ Store(DerefOf(Index(arg0, 1)), nth1)
+ }
+
+ /* 1) Command execution */
+
+ /*
+ * Prepare buffers of per-thread commands and arguments
+ *
+ * Resulting data: bs00, p200, p201, p202, p203, p204
+ *
+ * Note: not specified elements of buffers are not touched.
+ */
+ Store(m340(nth1, arg1, arg2, arg3, arg4), has1)
+
+ /* Allow slaves to execute their commands */
+
+ m114(nth0)
+
+ /* 2) Check status of execution of commands */
+
+ /* Calculate the per-thread expectations of completion statuses */
+
+ Store(m342(nth0, nth1, arg5), Local0)
+
+ /* Calculate the per-thread expectations of hang statuses */
+
+ Store(m342(nth0, nth1, arg6), Local1)
+
+ /* Calculate the idle-threads mapping buffer */
+
+ Store(m343(nth0, nth1, Local0, Local1), Local2)
+
+ /*
+ * So, each thread is represented in one and only one of sets:
+ *
+ * Local0 - expectations of completion
+ * Local1 - expectations of hang
+ * Local2 - idle
+ */
+
+ /* Wait for all Slave threads and check their statuses */
+
+ m110(nth0, Local0, Local1, Local2)
+
+ /* Reset exception expectation */
+ m336(nth0, has1)
+}
+
+/*
+ * Prepare buffers of per-thread commands and arguments
+ *
+ * Resulting data: bs00, p200, p201, p202, p203
+ *
+ * Note: don't touch not specified elements of buffer.
+ *
+ * arg0 - number of threads (threads actually in work)
+ * arg1 - Commands (see m33f)
+ * arg2 - Exceptional conditions flags (see m33f)
+ * arg3 - Levels of mutexes (see m33f)
+ * arg4 - Indexes of mutexes (see m33f)
+ */
+Method(m340, 5)
+{
+ Name(has0, 0)
+ Name(has1, 0) // has non-zero exception expectations
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+ Name(slct, 0)
+ Name(cmd0, 0)
+
+ Name(b000, Buffer(arg0){})
+ Name(b200, Buffer(arg0){})
+ Name(b201, Buffer(arg0){})
+ Name(b202, Buffer(arg0){})
+ Name(b203, Buffer(arg0){})
+
+ Store(ObjectType(arg1), Local0)
+ if (LEqual(Local0, c009)) {
+ /* Integer */
+ Store(arg1, cmd0)
+ if (LNot(cmd0)) {
+ return
+ }
+ } else {
+ /* Buffer/Package */
+ Store(1, slct)
+ }
+
+ Store(arg0, lpN0)
+ Store(0, lpC0)
+ While (lpN0) {
+
+ /* For not a Control thread only */
+ if (LNotEqual(lpC0, 0)) {
+
+ if (slct) {
+ Store(DerefOf(Index(arg1, lpC0)), cmd0)
+ }
+ if (cmd0) {
+
+ Store(1, has0)
+
+ Store(cmd0, Index(b000, lpC0))
+
+ /* Prepare arguments of command */
+ Store(m341(cmd0, lpC0, arg3, arg4), Local0)
+ if (LEqual(ObjectType(Local0), c00c)) {
+ Store(DerefOf(Index(Local0, 0)), Local1)
+ Store(Local1, Index(b200, lpC0))
+ Store(DerefOf(Index(Local0, 1)), Local1)
+ Store(Local1, Index(b201, lpC0))
+ Store(DerefOf(Index(Local0, 2)), Local1)
+ Store(Local1, Index(b202, lpC0))
+ Store(DerefOf(Index(Local0, 3)), Local1)
+ Store(Local1, Index(b203, lpC0))
+ }
+ }
+ }
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+
+ /* Prepare the exceptional conditions flags buffer */
+
+ Store(m20e(arg0, arg2), Local1)
+
+
+ /*
+ * Prepare all the commands and arguments and then re-write
+ * them into the target buffers looks there useful for debugging.
+ */
+ if (has0) {
+ Store(arg0, lpN0)
+ Store(0, lpC0)
+ While (lpN0) {
+ Store(DerefOf(Index(b000, lpC0)), cmd0)
+ if (cmd0) {
+ Store(cmd0, Index(bs00, lpC0))
+
+ Store(DerefOf(Index(b200, lpC0)), Local0)
+ Store(Local0, Index(p200, lpC0))
+ Store(DerefOf(Index(b201, lpC0)), Local0)
+ Store(Local0, Index(p201, lpC0))
+ Store(DerefOf(Index(b202, lpC0)), Local0)
+ Store(Local0, Index(p202, lpC0))
+ Store(DerefOf(Index(b203, lpC0)), Local0)
+ Store(Local0, Index(p203, lpC0))
+ Store(DerefOf(Index(Local1, lpC0)), Local0)
+ if (Local0) {
+ Store(1, has1)
+ }
+ Store(Local0, Index(p204, lpC0))
+ Store(TOVF, Index(p205, lpC0))
+ }
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+ }
+ return (has1)
+}
+
+/*
+ * Prepare arguments of command
+ *
+ * arg0 - command
+ * arg1 - index of thread
+ * arg2 - Levels of mutexes (see m33f)
+ * arg3 - Indexes of mutexes (see m33f)
+ *
+ * Return (no free ArgX to pass references to target Packages there,
+ * so using Return):
+ * - Package with elements to be filled
+ * into p200, p201, p202, p203.
+ * - Integer if no arguments.
+ */
+Method(m341, 4)
+{
+ Name(has0, 0)
+ Name(p000, Package(4){0,0,0,0})
+
+ Name(i000, 0)
+ Name(i001, 0)
+ Name(i002, 0)
+ Name(i003, 0)
+
+ Switch (arg0) {
+ Case (Package(3) {0xf6, 0xf7, 0xf3}) {
+
+ // 0xf6, c106 - Acquire specified set of mutexes
+ // 0xf7, c107 - Release specified set of mutexes
+ // 0xf3, c103 - Acquire/Sleep/Release
+
+ /*
+ * To calculate:
+ *
+ * i000 - starting level of mutex
+ * i001 - number of levels
+ * i002 - starting index of mutex (of the same level)
+ * i003 - number of mutexes (of the same level)
+ */
+
+ /* Levels */
+
+ Store(ObjectType(arg2), Local0)
+ if (LEqual(Local0, c009)) {
+ /* Integer */
+ Store(arg2, i000)
+ Store(1, i001)
+ } else {
+ /* Buffer/Package */
+ Multiply(arg1, 2, Local0)
+ Store(DerefOf(Index(arg2, Local0)), i000)
+ Increment(Local0)
+ Store(DerefOf(Index(arg2, Local0)), i001)
+ }
+
+ /* Indexes */
+
+ Store(ObjectType(arg3), Local0)
+ if (LEqual(Local0, c009)) {
+ /* Integer */
+ Store(arg3, i002)
+ Store(1, i003)
+ } else {
+ /* Buffer/Package */
+ Multiply(arg1, 2, Local0)
+ Store(DerefOf(Index(arg3, Local0)), i002)
+ Increment(Local0)
+ Store(DerefOf(Index(arg3, Local0)), i003)
+ }
+
+ Store(1, has0)
+ }
+ Default {
+ err("m341: unexpected command:", z149, 0x004, 0, 0, 0, arg0)
+ }
+ }
+
+ if (has0) {
+ Store(i000, Index(p000, 0))
+ Store(i001, Index(p000, 1))
+ Store(i002, Index(p000, 2))
+ Store(i003, Index(p000, 3))
+
+ return (p000)
+ }
+
+ return (0)
+}
+
+/*
+ * Prepare the per-thread status expectations mapping buffer
+ *
+ * arg0 - number of threads (total)
+ * arg1 - number of threads (threads actually in work)
+ * arg2 - Expected completion/hang statuses (see m33f)
+ *
+ * Return:
+ *
+ * Buffer (elements of buffer):
+ * 0 - nothing to do for the relevant thread
+ * non-zero - element of buffer means the last command
+ * specified for the relevant thread.
+ */
+Method(m342, 3)
+{
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+ Name(slct, 0)
+ Name(cmd0, 0)
+
+ Name(b000, Buffer(arg0){})
+
+ Store(ObjectType(arg2), Local0)
+ if (LEqual(Local0, c009)) {
+ /* Integer */
+ Store(arg2, cmd0)
+ if (LNot(cmd0)) {
+ return (b000)
+ }
+ } else {
+ /* Buffer/Package */
+ Store(1, slct)
+ }
+
+ Store(arg1, lpN0)
+ Store(0, lpC0)
+ While (lpN0) {
+ if (slct) {
+ Store(DerefOf(Index(arg2, lpC0)), cmd0)
+ }
+ if (cmd0) {
+ Store(cmd0, Index(b000, lpC0))
+ }
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+
+ return (b000)
+}
+
+/*
+ * Prepare the idle-threads mapping buffer
+ *
+ * arg0 - number of threads (total)
+ * arg1 - number of threads (threads actually in work, not extra idle ones)
+ * arg2 - Buffer, expected completion statuses (see m33f)
+ * arg3 - Buffer, Expected hang statuses (see m33f)
+ *
+ * Return:
+ *
+ * Buffer (elements of buffer):
+ * 0 - the relevant thread is non-idle
+ * non-zero - the relevant thread is idle
+ */
+Method(m343, 4)
+{
+ Name(err0, 0)
+ Name(idle, 0)
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+ Name(b000, Buffer(arg0){})
+
+ Store(arg0, lpN0)
+ Store(0, lpC0)
+ While (lpN0) {
+
+ Store(0, idle)
+
+ if (LGreaterEqual(lpC0, arg1)) {
+ Store(1, idle)
+ } else {
+ Store(DerefOf(Index(arg2, lpC0)), Local0)
+ Store(DerefOf(Index(arg3, lpC0)), Local1)
+
+ if (LAnd(Local0, Local1)) {
+ /* Expects both completion and hang simultaneously */
+ Store(1, err0)
+ } elseif (LAnd(LNot(Local0), LNot(Local1))) {
+ Store(1, idle)
+ }
+ }
+
+ Store(idle, Index(b000, lpC0))
+
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+
+ if (err0) {
+ err("m333", z149, 0x005, 0, 0, 0, 0)
+ }
+
+ return (b000)
+}
+
+/*
+ * Check pair of parameters
+ *
+ * arg0 - Expected completion statuses (see m33f).
+ * arg1 - Expected hang statuses (see m33f).
+ */
+Method(m344, 2)
+{
+ Name(int0, 0)
+ Name(int1, 0)
+ Name(all0, 0)
+ Name(all1, 0)
+
+ if (LEqual(ObjectType(arg0), c009)) {
+ Store(1, int0)
+ if (arg0) {
+ Store(1, all0)
+ }
+ }
+
+ if (LEqual(ObjectType(arg1), c009)) {
+ Store(1, int1)
+ if (arg1) {
+ Store(1, all1)
+ }
+ }
+
+ if (LOr(all0, all1)) {
+ if (LAnd(int0, int0)) {
+ if (LAnd(all0, all1)) {
+ return (1)
+ }
+ } else {
+ return (2)
+ }
+ }
+
+ return (0)
+}
+
+/*
+ * Reset exception expectation
+ *
+ * arg0 - number of threads (total)
+ * arg1 - non-zero -- has non-zero exception expectations
+ */
+Method(m336, 2)
+{
+ /* Add statistics of exceptions (total) */
+ Add(ex10, EXC0, ex10)
+
+ if (arg1) {
+ if (LNot(EXC0)) {
+ /* Expected exceptions but have none */
+ err("m333", z149, 0x006, 0, 0, EXC0, 0)
+ }
+ } else {
+ if (EXC0) {
+ /* Unexpected exceptions */
+ err("m333", z149, 0x007, 0, 0, EXC0, 0)
+ }
+ }
+
+ /*Reset EXC0 (the current number of exceptions handled) */
+ CH0A()
+
+ m215(arg0) // Reset TimeOutValue and exceptional condition flags
+}
+
+/* Init fl01 */
+Method(m339)
+{
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+ Name(lpN1, 0)
+ Name(lpC1, 0)
+
+
+ Store(max0, lpN0)
+ Store(0, lpC0)
+ While (lpN0) {
+ Store(max1, lpN1)
+ Store(0, lpC1)
+ While (lpN1) {
+ Store(0, Index(DerefOf(Index(fl01, lpC0)), lpC1))
+ Decrement(lpN1)
+ Increment(lpC1)
+ }
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+}
+
diff --git a/tests/aslts/src/runtime/collections/mt/mutex/service.asl b/tests/aslts/src/runtime/collections/mt/mutex/service.asl
new file mode 100644
index 000000000..505625d3d
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/mt/mutex/service.asl
@@ -0,0 +1,614 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+/*
+ * Service routines of common use
+ */
+
+Name(z153, 153)
+
+/*
+ * Fill the buffer with the same value
+ *
+ * arg0 - buffer
+ * arg1 - the length of buffer
+ * arg2 - the value
+ */
+Method(m200, 3)
+{
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+
+ Store(arg1, lpN0)
+ Store(0, lpC0)
+
+ While (lpN0) {
+
+ /* For not a Control thread only */
+ if (LNotEqual(lpC0, 0)) {
+ Store(arg2, Index(arg0, lpC0))
+ }
+
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+}
+
+/*
+ * Fill the region of buffer with the same value
+ *
+ * arg0 - buffer
+ * arg1 - the length of buffer
+ * arg2 - the value
+ *
+ * arg3 - start index
+ * arg4 - the length of region to be filled
+ * 0 - everywhere from index to the end of buffer
+ * arg5 - if non-zero than fill the ground value arg6 into the buffer
+ * everywhere outside the specified region
+ * arg6 - the value of ground
+ */
+Method(m210, 7)
+{
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+
+ Name(sz01, 0)
+ Name(ix02, 0)
+
+ if (LGreaterEqual(arg3, arg1)) {
+ err("m210", z153, 0x000, 0, 0, arg3, arg1)
+ return
+ }
+
+ /* Sizes of fields */
+ if (arg4) {
+ Store(arg4, sz01)
+ } else {
+ Subtract(arg1, arg3, sz01)
+ }
+ Add(arg3, sz01, ix02)
+ if (LGreater(ix02, arg1)) {
+ err("m210", z153, 0x001, 0, 0, ix02, arg1)
+ Store(arg1, Debug)
+ Store(arg3, Debug)
+ Store(arg4, Debug)
+ Store(arg5, Debug)
+ return
+ }
+
+ if (arg5) {
+ Store(arg1, lpN0)
+ Store(0, lpC0)
+ } else {
+ Store(sz01, lpN0)
+ Store(arg3, lpC0)
+ }
+
+ While (lpN0) {
+
+ if (LOr(LLess(lpC0, arg3), LGreaterEqual(lpC0, ix02))) {
+ Store(arg6, Local0)
+ } else {
+ Store(arg2, Local0)
+ }
+
+ Store(Local0, Index(arg0, lpC0))
+
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+}
+
+/*
+ * Report message of thread
+ * (adds index of thread and reports the message)
+ *
+ * arg0 - Index of current thread
+ * arg1 - s-flag of verbal mode
+ * arg2 - string
+ */
+Method(m201, 3)
+{
+ if (arg1) {
+ Concatenate("THREAD ", arg0, Local0)
+ Concatenate(Local0, ": ", Local1)
+ Concatenate(Local1, arg2, Local0)
+ Store(Local0, Debug)
+ }
+}
+
+/*
+ * Report the message conditionally according to the relevant
+ * flag of verbal mode.
+ *
+ * arg0 - Index of current thread
+ * arg1 - mc-flag of verbal mode
+ * arg2 - if do printing actually (or only return flag)
+ * arg3 - message - object to be sent to Debug
+ */
+Method(m202, 4)
+{
+ Store(0, Local0)
+
+ Switch (arg1) {
+ Case (1) {
+ /* allow only for Control Thread to report */
+ if (LNot(arg0)) {
+ Store(1, Local0)
+ }
+ }
+ Case (2) {
+ /* allow only for Slave Threads to report */
+ if (arg0) {
+ Store(1, Local0)
+ }
+ }
+ Case (3) {
+ /* allow for all threads to report */
+ Store(1, Local0)
+ }
+ }
+
+ if (LAnd(Local0, arg2)) {
+ Store(arg3, Debug)
+ }
+
+ return (Local0)
+}
+
+/*
+ * Report start of test
+ *
+ * arg0 - name of test
+ * arg1 - number of threads
+ * arg2 - ID of current thread
+ * arg3 - Index of current thread
+ */
+Method(m204, 4)
+{
+ if (m202(arg3, vb01, 0, 0)) {
+ Concatenate("Test ", arg0, Local0)
+ Concatenate(Local0, " started", Local1)
+ Concatenate(Local1, ", threads num ", Local0)
+ Concatenate(Local0, arg1, Local1)
+ Concatenate(Local1, ", ID of thread ", Local0)
+ Concatenate(Local0, arg2, Local1)
+ Concatenate(Local1, ", Index of thread ", Local0)
+ Concatenate(Local0, arg3, Local1)
+ Store(Local1, Debug)
+ }
+}
+
+/*
+ * Fulfil and report Sleep
+ *
+ * arg0 - Index of current thread
+ * arg1 - number of milliseconds to sleep
+ */
+Method(m206, 2)
+{
+ m201(arg0, vb03, "Sleep")
+
+ /* Increment statistics of Sleep */
+ if (LAnd(vb04, ctl0)) {
+ m212(RefOf(p104), arg0)
+ }
+
+ Sleep(arg1)
+}
+
+/*
+ * Fulfil and report Stall
+ *
+ * arg0 - Index of current thread
+ * arg1 - number of MicroSeconds to Stall
+ */
+Method(m207, 2)
+{
+ m201(arg0, vb03, "Stall")
+ Stall(arg1)
+}
+
+/*
+ * Put the value into i-th element of the buffer
+ *
+ * arg0 - buffer
+ * arg1 - index
+ * arg2 - the value
+ */
+Method(m208, 3)
+{
+ Store(arg2, Index(arg0, arg1))
+}
+
+/*
+ * Set up a sleeping mode
+ *
+ * arg0 - opcode of sleeping mode
+ */
+Method(m209)
+{
+ /* Milliseconds to sleep for non-zero slm0 */
+
+ Switch (0) {
+ Case (0) {
+ Store(10, i100)
+ Store(10, i101)
+ Store(10, i102)
+ Store(10, i103)
+ Store(10, i104)
+ Store(10, i105)
+ Store(10, i106)
+ Store(10, i107)
+ Store(10, i108)
+ }
+ Default {
+ Store(50, i100)
+ Store(100, i101)
+ Store(200, i102)
+ Store(400, i103)
+ Store(500, i104)
+ Store(75, i105)
+ Store(150, i106)
+ Store(250, i107)
+ Store(300, i108)
+ }
+ }
+}
+
+/*
+ * Fill specified elements of buffer with the same value
+ *
+ * arg0 - buffer
+ * arg1 - the length of buffer
+ * arg2 - the value
+ * arg3 - specificator of elements:
+ * Integer - all elements of arg0
+ * Buffer - for non-zero elements of arg3 only
+ */
+Method(m20a, 4)
+{
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+ Name(slct, 0)
+ Name(run0, 0)
+
+ Store(ObjectType(arg3), Local0)
+ if (LNotEqual(Local0, c009)) {
+ Store(1, slct)
+ }
+
+ Store(arg1, lpN0)
+ Store(0, lpC0)
+ While (lpN0) {
+ Store(1, run0)
+ if (slct) {
+ Store(DerefOf(Index(arg3, lpC0)), run0)
+ }
+ if (run0) {
+ Store(arg2, Index(arg0, lpC0))
+ }
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+}
+
+/*
+ * Print out all the auxiliary buffers
+ *
+ * arg0 - Index of current thread
+ * arg1 - message
+ */
+Method(m20b, 2)
+{
+ Concatenate("Print out the auxiliary buffers (bs00,bs01,bs02) <", arg1, Local0)
+ Concatenate(Local0, ">", Local1)
+
+ m201(arg0, 1, Local1)
+ m201(arg0, 1, bs00)
+ m201(arg0, 1, bs01)
+ m201(arg0, 1, bs02)
+ m201(arg0, 1, bs03)
+}
+
+/*
+ * Return numbers of threads Buffer
+ *
+ * arg0 - number of threads (total)
+ * arg1 - number of threads (threads actually in work, not extra idle ones)
+ */
+Method(m20d, 2)
+{
+ Name(nth0, Buffer(2) {})
+
+ Store(arg0, Index(nth0, 0))
+ Store(arg1, Index(nth0, 1))
+
+ return (nth0)
+}
+
+/*
+ * Prepare the exceptional conditions flags buffer
+ *
+ * arg0 - number of threads
+ * arg1 - Exceptional conditions flags (buffer/Integer)
+ */
+Method(m20e, 2)
+{
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+
+ Store(ObjectType(arg1), Local0)
+ if (LNotEqual(Local0, c009)) {
+ /* Not Integer */
+ return (arg1)
+ }
+
+ Name(b000, Buffer(arg0){})
+
+ Store(arg0, lpN0)
+ Store(0, lpC0)
+ While (lpN0) {
+
+ /* Flag of exceptional condition */
+
+ Store(arg1, Index(b000, lpC0))
+
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+
+ return (b000)
+}
+
+/*
+ * Initialize the exceptional conditions flags (p204 & FLG0)
+ * (initialize expectation of exceptions).
+ *
+ * arg0 - number of threads
+ * arg1 - exceptional conditions flags (buffer/Integer)
+ * arg2 - non-zero means to check absence of exception
+ * before and after each operation additionally
+ * to the checking (if any) specified per-operation.
+ */
+Method(m20f, 3)
+{
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+ Name(slct, 0)
+ Name(ex00, 0)
+
+ Store(ObjectType(arg1), Local0)
+ if (LEqual(Local0, c009)) {
+ /* Integer */
+ Store(arg1, ex00)
+ } else {
+ /* Buffer/Package */
+ Store(1, slct)
+ }
+
+ Store(arg0, lpN0)
+ Store(0, lpC0)
+ While (lpN0) {
+
+ if (slct) {
+ /* Flag of exceptional condition */
+ Store(DerefOf(Index(arg1, lpC0)), ex00)
+ }
+
+ Store(ex00, Index(p204, lpC0))
+
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+
+ Store(arg2, FLG0)
+}
+
+/*
+ * Initialize the TimeOutValue mapping buffer
+ *
+ * arg0 - number of threads (total)
+ * arg1 - number of threads (threads actually in work)
+ * arg2 - (buffer/Integer) of TimeOutValue
+ */
+Method(m214, 3)
+{
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+ Name(slct, 0)
+ Name(topc, 0)
+
+ Store(ObjectType(arg2), Local0)
+ if (LEqual(Local0, c009)) {
+ /* Integer */
+ Store(arg2, topc)
+ } else {
+ /* Buffer/Package */
+ Store(1, slct)
+ }
+
+ Store(arg1, lpN0)
+ Store(0, lpC0)
+ While (lpN0) {
+ if (slct) {
+ Store(DerefOf(Index(arg2, lpC0)), topc)
+ }
+ Store(topc, Index(p205, lpC0))
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+}
+
+/*
+ * Reset TimeOutValue and exceptional conditions flags to default
+ *
+ * arg0 - number of threads (total)
+ */
+Method(m215, 1)
+{
+ m20f(arg0, 0, 0) // Reset the exceptional conditions flags
+ m214(arg0, arg0, TOVF) // Set TimeOutValue to default
+}
+
+/*
+ * Report statistics
+ *
+ * arg0 - number of threads
+ */
+Method(m211, 1)
+{
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+
+ /* global data not initialized */
+ if (LNot(gldi)) {
+ return
+ }
+
+ Store("================ Per-thread statistics: ================", Debug)
+
+ Store("Errors scale : ", Local0)
+ Store(" number : ", Local1)
+ Store("Warnings scale : ", Local2)
+ Store(" number : ", Local3)
+ Store("Sleep number : ", Local4)
+ Store("Acquire number : ", Local5)
+ Store("Release number : ", Local6)
+
+ Store(arg0, lpN0)
+ Store(0, lpC0)
+ While (lpN0) {
+
+ Store(DerefOf(Index(p100, lpC0)), Local7)
+ Concatenate(Local0, Local7, Local0)
+ if (LNotEqual(lpN0, 1)) {
+ Concatenate(Local0, ", ", Local0)
+ }
+
+ Store(DerefOf(Index(p101, lpC0)), Local7)
+ Concatenate(Local1, Local7, Local1)
+ if (LNotEqual(lpN0, 1)) {
+ Concatenate(Local1, ", ", Local1)
+ }
+
+ Store(DerefOf(Index(p102, lpC0)), Local7)
+ Concatenate(Local2, Local7, Local2)
+ if (LNotEqual(lpN0, 1)) {
+ Concatenate(Local2, ", ", Local2)
+ }
+
+ Store(DerefOf(Index(p103, lpC0)), Local7)
+ Concatenate(Local3, Local7, Local3)
+ if (LNotEqual(lpN0, 1)) {
+ Concatenate(Local3, ", ", Local3)
+ }
+
+ Store(DerefOf(Index(p104, lpC0)), Local7)
+ Concatenate(Local4, Local7, Local4)
+ if (LNotEqual(lpN0, 1)) {
+ Concatenate(Local4, ", ", Local4)
+ }
+
+ Store(DerefOf(Index(p105, lpC0)), Local7)
+ Concatenate(Local5, Local7, Local5)
+ if (LNotEqual(lpN0, 1)) {
+ Concatenate(Local5, ", ", Local5)
+ }
+
+ Store(DerefOf(Index(p106, lpC0)), Local7)
+ Concatenate(Local6, Local7, Local6)
+ if (LNotEqual(lpN0, 1)) {
+ Concatenate(Local6, ", ", Local6)
+ }
+
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+
+ Store(Local0, Debug)
+ Store(Local1, Debug)
+ Store(Local2, Debug)
+ Store(Local3, Debug)
+ Store(Local4, Debug)
+ Store(Local5, Debug)
+ Store(Local6, Debug)
+
+ Concatenate("Exceptions total : ", ex10, Debug)
+
+ Store("========================================================", Debug)
+
+}
+
+/*
+ * Increment element of Package
+ *
+ * arg0 - RefOf of Package
+ * arg1 - index of element
+ */
+Method(m212, 2)
+{
+ Store(DerefOf(Index(DerefOf(arg0), arg1)), Local0)
+ Increment(Local0)
+ Store(Local0, Index(DerefOf(arg0), arg1))
+}
+
+/*
+ * Return the number of threads to be the number of threads actually in work
+ * (including Control thread).
+ * Should be not less than 3.
+ *
+ * Note: to be provided that arg0 is not less than the test needs
+ * to perform effective checking according to its scenario.
+ *
+ * arg0 - number of threads (total)
+ * arg1 - maximal number of threads according to scenario of test (including Control thread)
+ * arg2 - if non-zero, then the number of treads to be actually in work in reduced mode (including Control thread)
+ */
+Method(m213, 3)
+{
+ Name(num, 0)
+
+ Store(arg0, num)
+ if (arg1) {
+ Store(arg1, num)
+ }
+ if (redm) {
+ if (arg2) {
+ Store(arg2, num)
+ }
+ }
+ if (LLess(arg0, num)) {
+ Store(arg0, num)
+ }
+
+ return (num)
+}
+
diff --git a/tests/aslts/src/runtime/collections/mt/mutex/slave_thr.asl b/tests/aslts/src/runtime/collections/mt/mutex/slave_thr.asl
new file mode 100644
index 000000000..3e18b1b0e
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/mt/mutex/slave_thr.asl
@@ -0,0 +1,399 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+/*
+ * Run only for the Slave threads,
+ * they wait there for the Control
+ * thread says 'all is ready',
+ * 'go further'.
+ *
+ * arg0 - Index of current thread
+ */
+Method(m116, 1)
+{
+ While (1) {
+
+ if (ctl0) {
+ /* Control thread says 'all is ready' */
+ break
+ }
+
+ m201(arg0, vb03, "Sleep, waiting for Control thread")
+ m206(arg0, sl01)
+ }
+}
+
+/*
+ * Infinite loop of the Slave Threads
+ *
+ * arg0 - number of threads
+ * arg1 - ID of current thread
+ * arg2 - Index of current thread
+ * arg3 - the depth of recursion of call
+ */
+Method(m101, 4)
+{
+ /*
+ * These internal variables are specified only to show that
+ * recursive calls to methods having internal declarations
+ * (as well as Switch operators) of objects works.
+ */
+ Name(i000, 0xabcd0000)
+ Name(i001, 0xabcd0001)
+ Name(i002, 0xabcd0002)
+ Name(i003, 0xabcd0003)
+
+ Store(DerefOf(Index(bs04, arg2)), Local0)
+ if (Local0) {
+ /* Go everywhere to the exit to "Terminate thread" */
+ return
+ }
+
+ /* Wait for Control thread saying 'go further' */
+ m116(arg2)
+
+
+ /*
+ * Local0 - command for slave to be executed
+ *
+ * Local7 - non-zero means to do break after
+ * confirming "I see zero do00".
+ * Keep Local7 zero otherwise.
+ */
+ Store(0, Local7)
+ While (1) {
+
+ if (LGreaterEqual(arg2, arg0)) {
+ se00(arg2, er06, "Error er06")
+ }
+
+ /* Determine the command for particular thread */
+
+ Store(c100, Local0)
+
+ /* Control thread allows for slave threads to fulfill their commands */
+ if (do00) {
+
+ Store(DerefOf(Index(bs01, arg2)), Local1)
+
+ /* This thread doesn't yet fulfill its command */
+ if (LNot(Local1)) {
+ /* Command to be fulfilled */
+ Store(DerefOf(Index(bs00, arg2)), Local0)
+ }
+
+ /* Unnecessary */
+ if (LNot(do00)) {
+ Store(c100, Local0)
+ }
+ }
+
+ if (LNot(do00)) {
+ Store(DerefOf(Index(bs02, arg2)), Local1)
+ if (LNot(Local1)) {
+ /* Slave thread reports: "I see zero do00" */
+ Store(rs00, Index(bs02, arg2))
+ if (Local7) {
+ m201(arg2, vb03, "Break completed: exit invinitive loop")
+ break
+ }
+ }
+ }
+
+ Switch (Local0) {
+ Case (0xf0) { // c100 (Idle thread)
+ /*
+ * This command is fulfilled by slave thread
+ * without directive of Control thread.
+ */
+ m201(arg2, vb03, "Sleep")
+ m206(arg2, sl01)
+ Store(c100, Index(bs03, arg2))
+ }
+ Case (0xf1) { // c101
+ m201(arg2, vb03, "Break started")
+ Store(c101, Index(bs01, arg2))
+ /*
+ * se00(3, 0x12345, "")
+ * break
+ *
+ * Note:
+ * Non-zero Local7 means to do break after
+ * confirming "I see zero do00".
+ * Keep Local7 zero in all other entries.
+ */
+ Store(1, Local7)
+ }
+ Case (0xf2) { // c102
+ m201(arg2, vb03, "Sleep, command")
+ m206(arg2, sl01)
+ Store(c102, Index(bs01, arg2))
+ }
+ Case (0xf3) { // c103
+ m201(arg2, vb03, "Acquire/Release")
+
+ /*
+ * Local1 - Level of mutex
+ * Local2 - number of Levels of mutexes (only 1 here)
+ * Local3 - Index of mutex
+ * Local4 - number of mutexes of the same level
+ */
+ Store(DerefOf(Index(p200, arg2)), Local1)
+ /* Local2 - number of Levels of mutexes is 1 here, not used */
+ Store(DerefOf(Index(p202, arg2)), Local3)
+ Store(DerefOf(Index(p203, arg2)), Local4)
+
+ While (Local4) {
+ // Acquire
+ Store(m310(arg1, arg2, Local1, Local3, 0, 0, 1), Local7)
+ if (LNot(Local7)) {
+ // Release
+ m311(arg1, arg2, Local1, Local3, 0, 1)
+ }
+ Decrement(Local4)
+ Increment(Local3)
+ }
+ Store(c103, Index(bs01, arg2))
+
+ Store(0, Local7) // keep Local7 zero
+ }
+ Case (0xf4) { // c104
+
+ m201(arg2, vb03, "c104")
+
+ /*
+ * Local1 - Level of mutex
+ * Local2 - number of Levels of mutexes (only 1 here)
+ * Local3 - Index of mutex
+ * Local4 - number of mutexes of the same level
+ */
+
+ /* Acquire mutexes from 0 up to 15 level */
+
+ Store(max0, Local2)
+ Store(0, Local1)
+ While (Local2) {
+ Store(DerefOf(Index(p202, arg2)), Local3)
+ Store(DerefOf(Index(p203, arg2)), Local4)
+ While (Local4) {
+ m310(arg1, arg2, Local1, Local3, 0, 0, 1)
+ Decrement(Local4)
+ Increment(Local3)
+ }
+ Decrement(Local2)
+ Increment(Local1)
+ }
+
+ /* Levels - in the inverse order */
+
+ /* Release mutexes from 15 down t0 0 level */
+
+ Store(max0, Local2)
+ Subtract(max0, 1, Local1)
+ While (Local2) {
+
+ Store(DerefOf(Index(p202, arg2)), Local3)
+ Store(DerefOf(Index(p203, arg2)), Local4)
+
+ /* Indexes - in the inverse order too */
+
+ Add(Local3, Local4, Local3)
+ Decrement(Local3)
+ While (Local4) {
+ m311(arg1, arg2, Local1, Local3, 0, 1)
+ Decrement(Local4)
+ Decrement(Local3)
+ }
+ Decrement(Local2)
+ Decrement(Local1)
+ }
+
+ Store(c104, Index(bs01, arg2))
+ }
+ Case (0xf5) { // c105
+ m201(arg2, vb03, "Example 0")
+ Store(10, Local1)
+ While (Local1) {
+ Switch (arg2) {
+ Case (2) {
+ C0AB(arg1, arg2)
+ }
+ Case (4) {
+ C0AB(arg1, arg2)
+ }
+ Case (6) {
+ C0AB(arg1, arg2)
+ }
+ Default {
+ C0A2(arg1, arg2, 1, 1, 1)
+ }
+ }
+ Decrement(Local1)
+ }
+ Store(c105, Index(bs01, arg2))
+ }
+ Case (0xf6) { // c106
+
+ m201(arg2, vb03, "Acquire specified set of mutexes")
+
+ /*
+ * Local0 - auxiliary
+ * Local1 - Level of mutex
+ * Local2 - number of Levels of mutexes (only 1 here)
+ * Local3 - Index of mutex
+ * Local4 - number of mutexes of the same level
+ * Local5 - non-zero means that we generate exceptional condition
+ * Local6 - opcode of TimeOutValue
+ * Local7 - auxiliary
+ */
+
+ Store(DerefOf(Index(p200, arg2)), Local1)
+ Store(DerefOf(Index(p201, arg2)), Local2)
+ While (Local2) {
+ Store(DerefOf(Index(p202, arg2)), Local3)
+ Store(DerefOf(Index(p203, arg2)), Local4)
+ Store(DerefOf(Index(p204, arg2)), Local5)
+ Store(DerefOf(Index(p205, arg2)), Local6)
+ While (Local4) {
+ Store(m111(arg1, arg2, Local5, "Acquire"), Local7)
+ Store(m310(arg1, arg2, Local1, Local3, Local7, Local6, 1), Local0)
+ m112(arg1, arg2, Local5, Local0)
+ Decrement(Local4)
+ Increment(Local3)
+ }
+ Decrement(Local2)
+ Increment(Local1)
+ }
+
+ Store(c106, Index(bs01, arg2))
+
+ Store(0, Local7) // keep Local7 zero
+ }
+ Case (0xf7) { // c107
+
+ m201(arg2, vb03, "Release specified set of mutexes")
+
+ /*
+ * Local1 - Level of mutex
+ * Local2 - number of Levels of mutexes (only 1 here)
+ * Local3 - Index of mutex
+ * Local4 - number of mutexes of the same level
+ * Local5 - non-zero means that we generate exceptional condition
+ * Local7 - auxiliary
+ */
+
+ Store(DerefOf(Index(p200, arg2)), Local1)
+ Store(DerefOf(Index(p201, arg2)), Local2)
+
+ /* Levels - in the inverse order */
+
+ Add(Local1, Local2, Local1)
+ Decrement(Local1)
+ While (Local2) {
+
+ Store(DerefOf(Index(p202, arg2)), Local3)
+ Store(DerefOf(Index(p203, arg2)), Local4)
+ Store(DerefOf(Index(p204, arg2)), Local5)
+
+ /* Indexes - in the inverse order too */
+
+ Add(Local3, Local4, Local3)
+ Decrement(Local3)
+ While (Local4) {
+ Store(m111(arg1, arg2, Local5, "Release"), Local7)
+ m311(arg1, arg2, Local1, Local3, Local7, 1)
+ m112(arg1, arg2, Local5, 0)
+ Decrement(Local4)
+ Decrement(Local3)
+ }
+ Decrement(Local2)
+ Decrement(Local1)
+ }
+
+ Store(c107, Index(bs01, arg2))
+
+ Store(0, Local7) // keep Local7 zero
+ }
+ Case (0xf8) { // c108
+ m201(arg2, vb03, "Terminate thread")
+ Store(1, Index(bs04, arg2))
+ break
+ }
+ Case (0xf9) { // c109
+ if (LNot(arg3)) {
+ m201(arg2, vb03, "Invoke Serialized method")
+ m8fc(arg0, arg1, arg2)
+ } else {
+ /*
+ * Only after falling down to the second recurcive call
+ * to m101 report that you are completed c109 command and
+ * ready handle following commands.
+ */
+ m201(arg2, vb03, "Recursive call to m101 for 'Invoke Serialized method'")
+ Store(c109, Index(bs01, arg2))
+ }
+ }
+ Case (0xfa) { // c10a
+ if (LNot(arg3)) {
+ m201(arg2, vb03, "Invoke non-serialized method, use Mutex for critical section")
+ m8fa(arg0, arg1, arg2)
+ } else {
+ /*
+ * Only after falling down to the second recurcive call
+ * to m101 report that you are completed c109 command and
+ * ready handle following commands.
+ */
+ m201(arg2, vb03, "Recursive call to m101 for 'Mutex for critical section'")
+ Store(c10a, Index(bs01, arg2))
+ }
+ }
+ Case (0xfb) { // c10b
+ if (LNot(arg3)) {
+ m201(arg2, vb03, "Non-serialized method is grabbed simultaneously by several threads")
+ m8f9(arg0, arg1, arg2)
+ } else {
+ /*
+ * Only after falling down to the second recurcive call
+ * to m101 report that you are completed c109 command and
+ * ready handle following commands.
+ */
+ m201(arg2, vb03, "Recursive call to m101 for 'Non-serialized method'")
+ Store(c10b, Index(bs01, arg2))
+ }
+ }
+
+ Default {
+ se00(arg2, er05, , "Error er05")
+ m201(arg2, vb03, "Sleep, bad command")
+ Store(Local0, Debug)
+ m206(arg2, sl01)
+ }
+ }
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/mt/mutex/tests.asl b/tests/aslts/src/runtime/collections/mt/mutex/tests.asl
new file mode 100644
index 000000000..39295262f
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/mt/mutex/tests.asl
@@ -0,0 +1,2442 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@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.
+ */
+
+/*
+ * The test strategies to be managed and controled by the
+ * Control Thread and fulfilled by the Slave Threads (Slaves).
+ */
+
+Name(z152, 152)
+
+
+/*
+ * Acquire/Sleep/Release
+ *
+ * All slaves:
+ * - Acquire the same mutex
+ * - increment global counter
+ * - set up another global to its Index
+ * - sleep for the specified period
+ * - check that the global contains just its Index
+ * - Release mutex
+ * Control thread:
+ * - check after all threads complete that counter is correct
+ *
+ * arg0 - number of threads
+ * arg1 - Level of mutex
+ * arg2 - Index of mutex
+ * arg3 - Number of mutexes of the same level
+ */
+Method(m801, 4)
+{
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+ Name(numW, 0) // number of threads in work
+
+ /* Number of threads to be actually in work */
+ Store(m213(arg0, 5, 4), numW)
+
+ /* Set up per-thread set of mutexes */
+ m334(numW, c300, arg1, 0, arg2, arg3)
+
+ // c103 for all first num threads
+ m210(bs00, arg0, c103, 0, numW, 1, c102) // cmd: Acquire/Sleep/Release
+ m114(arg0) // run
+
+ /* Wait for all Slave threads */
+ m103(arg0)
+
+ /* Check up the values of counters of all Mutexes */
+
+ /* lpC0 - Index of mutex */
+
+ Subtract(numW, 1, Local0) // exclude the Control thread
+ Store(arg3, lpN0)
+ Store(arg2, lpC0)
+ While (lpN0) {
+ m333(arg1, lpC0, Local0)
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+}
+
+/*
+ * <Acquire/Sleep>(0-15 levels)/Release(15-0 levels)
+ *
+ * arg0 - number of threads
+ * arg1 - Index of mutex
+ * arg2 - Number of mutexes of the same level
+ */
+Method(m802, 3)
+{
+ Name(numW, 0) // number of threads in work
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+
+ Name(lpN1, 0)
+ Name(lpC1, 0)
+
+ /* Number of threads to be actually in work */
+ Store(m213(arg0, 5, 5), numW)
+
+ /* Set up per-thread set of mutexes */
+ m334(numW, c300, 0, 0, arg1, arg2)
+
+ // c104 for all first num threads
+ m210(bs00, arg0, c104, 0, numW, 1, c102) // cmd: <Acquire/Sleep>(0-15 levels)/Release(15-0 levels)
+ m114(arg0) // run
+
+ /* Wait for all Slave threads */
+ m103(arg0)
+
+ /* Check up the values of counters of all Mutexs */
+
+ Subtract(numW, 1, Local0)
+ Store(max0, lpN0)
+ Store(0, lpC0)
+ While (lpN0) {
+
+ /* lpC0 - Level */
+
+ Store(arg2, lpN1)
+ Store(arg1, lpC1)
+ While (lpN1) {
+
+ /* lpC1 - Index of mutex */
+
+ m333(lpC0, lpC1, Local0)
+
+ Decrement(lpN1)
+ Increment(lpC1)
+ }
+
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+}
+
+/*
+ * Example 0
+ *
+ * arg0 - number of threads
+ * arg1 - Index of mutex
+ * arg2 - Number of mutexes of the same level
+ */
+Method(m803, 1)
+{
+ Name(numW, 0) // number of threads in work
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+
+ /* Number of threads to be actually in work */
+ Store(m213(arg0, 6, 6), numW)
+
+ // c105 for all first num threads
+ m210(bs00, arg0, c105, 0, numW, 1, c102) // cmd: Example 0
+ m114(arg0) // run
+
+ /* Wait for all Slave threads */
+ m103(arg0)
+}
+
+/*
+ * Manage the test m804
+ *
+ * arg0 - number of threads
+ * arg1 - 0 - thread_2 Releases than thread_1 Releases
+ * non-zero - thread_1 Releases than thread_2 Releases
+ * Thread_1:
+ * arg2 - Level of mutex (initial)
+ * arg3 - Number of levels of mutexes
+ * Thread_2:
+ * arg4 - Level of mutex (initial)
+ * arg5 - Number of levels of mutexes
+ */
+Method(m8ff, 6)
+{
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+ Name(thr, 0)
+
+
+
+ /* ACQUIRING */
+
+
+ /* === Thread 1 === */
+
+ Store(1, thr)
+
+ /* Set up per-thread set of mutexes */
+ m334(arg0, c300, arg2, arg3, 0, 1)
+
+ m200(bs00, arg0, c102) // cmd: Sleep
+ m208(bs00, thr, c106) // cmd: Acquire specified set of mutexes
+ m215(arg0) // Reset TimeOutValue and exceptional condition flags
+ m114(arg0)
+
+ /* Wait for all Slave threads */
+ m103(arg0)
+
+ /* Check up the values of counters of all Mutexs */
+ Store(arg3, lpN0)
+ Store(arg2, lpC0)
+ While (lpN0) {
+ m333(lpC0, 0, 1)
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+
+ /* === Thread 2 === */
+
+ Store(2, thr)
+
+ /* Set up per-thread set of mutexes */
+ m334(arg0, c300, arg4, arg5, 1, 1)
+
+ m200(bs00, arg0, c102) // cmd: Sleep
+ m208(bs00, thr, c106) // cmd: Acquire specified set of mutexes
+ m215(arg0) // Reset TimeOutValue and exceptional condition flags
+ m114(arg0)
+
+ /* Wait for all Slave threads */
+ m103(arg0)
+
+ /* Check up the values of counters of all Mutexs */
+ Store(arg5, lpN0)
+ Store(arg4, lpC0)
+ While (lpN0) {
+ m333(lpC0, 1, 1)
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+
+
+
+ /* RELEASING */
+
+
+ if (LNot(arg1)) {
+
+ /* === Thread 2 === */
+
+ Store(2, thr)
+
+ /* Set up per-thread set of mutexes */
+ m334(arg0, c300, arg4, arg5, 1, 1)
+
+ m200(bs00, arg0, c102) // cmd: Sleep
+ m208(bs00, thr, c107) // cmd: Release specified set of mutexes
+ m114(arg0)
+
+ /* Wait for all Slave threads */
+ m103(arg0)
+ }
+
+ /* === Thread 1 === */
+
+ Store(1, thr)
+
+ /* Set up per-thread set of mutexes */
+ m334(arg0, c300, arg2, arg3, 0, 1)
+
+ m200(bs00, arg0, c102) // cmd: Sleep
+ m208(bs00, thr, c107) // cmd: Release specified set of mutexes
+ m114(arg0)
+
+ /* Wait for all Slave threads */
+ m103(arg0)
+
+ if (arg1) {
+
+ /* === Thread 2 === */
+
+ Store(2, thr)
+
+ /* Set up per-thread set of mutexes */
+ m334(arg0, c300, arg4, arg5, 1, 1)
+
+ m200(bs00, arg0, c102) // cmd: Sleep
+ m208(bs00, thr, c107) // cmd: Release specified set of mutexes
+ m114(arg0)
+
+ /* Wait for all Slave threads */
+ m103(arg0)
+ }
+}
+
+/*
+ * arg0 - number of threads
+ */
+Method(m804, 1)
+{
+ /* I */
+ m8ff(arg0, 0, 0, max0, 0, max0)
+
+ /* Reset all counters (cnt0) and flags (fl00) corresponding to all Mutexes */
+ m330()
+
+ /* II */
+ m8ff(arg0, 1, 0, max0, 0, max0)
+
+ /* Reset all counters (cnt0) and flags (fl00) corresponding to all Mutexes */
+ m330()
+
+ /* III */
+ m8ff(arg0, 1, 7, 1, 0, max0)
+}
+
+/*
+ * arg0 - number of threads
+ */
+Method(m805, 1)
+{
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+ Name(thr, 0)
+
+ Name(ee01, Buffer(arg0) {0, 63, 0}) // AE_AML_NOT_OWNER
+ Name(ee02, Buffer(arg0) {0, 0, 63}) // AE_AML_NOT_OWNER
+
+
+
+
+ /* 1. Thread_1 owns its set of all-level mutexes and falls into sleeping */
+
+ Store(1, thr)
+
+ /* Set up per-thread set of mutexes */
+ m334(arg0, c300, 0, max0, 0, 1)
+
+ m200(bs00, arg0, c102) // cmd: Sleep
+ m208(bs00, thr, c106) // cmd: Acquire specified set of mutexes
+ m215(arg0) // Reset TimeOutValue and exceptional condition flags
+ m114(arg0)
+
+ /* Wait for all Slave threads */
+ m103(arg0)
+
+ /* Check up the values of counters of all Mutexs */
+ Store(max0, lpN0)
+ Store(0, lpC0)
+ While (lpN0) {
+ m333(lpC0, 0, 1)
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+
+
+
+
+ /* 2,3. Thread_2 tries to Release all those mutexes owned by Thread_1 */
+
+ Store(2, thr)
+
+ /* Set up exception expectation on Release operation */
+ m215(arg0) // Reset TimeOutValue and exceptional condition flags
+ m20f(arg0, ee02, 0) // Init the exceptional conditions flags (AE_AML_NOT_OWNER)
+
+ /* Set up per-thread set of mutexes */
+ m334(arg0, c300, 0, max0, 0, 1)
+
+ m200(bs00, arg0, c102) // cmd: Sleep
+ m208(bs00, thr, c107) // cmd: Release specified set of mutexes
+ m114(arg0)
+
+ /* Wait for all Slave threads */
+ m103(arg0)
+
+ /* Reset exception expectation */
+ m336(arg0, 1)
+
+
+
+
+ /* 4. Thread_2 owns its set of all-level mutexes (not intersecting with Thread_1) */
+
+ Store(2, thr)
+
+ /* Set up per-thread set of mutexes */
+ m334(arg0, c300, 0, max0, 1, 1)
+
+ m200(bs00, arg0, c102) // cmd: Sleep
+ m208(bs00, thr, c106) // cmd: Acquire specified set of mutexes
+ m215(arg0) // Reset TimeOutValue and exceptional condition flags
+ m114(arg0)
+
+ /* Wait for all Slave threads */
+ m103(arg0)
+
+ /* Check up the values of counters of all Mutexs */
+ Store(max0, lpN0)
+ Store(0, lpC0)
+ While (lpN0) {
+ m333(lpC0, 0, 1)
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+
+
+
+
+ /* 5,6. Thread_2 tries again to Release mutexes owned by Thread_1 */
+
+ Store(2, thr)
+
+ /* Set up exception expectation on Release operation */
+ m215(arg0) // Reset TimeOutValue and exceptional condition flags
+ m20f(arg0, ee02, 0) // Init the exceptional conditions flags (AE_AML_NOT_OWNER)
+
+ /* Set up per-thread set of mutexes */
+ m334(arg0, c300, 0, max0, 0, 1)
+
+ m200(bs00, arg0, c102) // cmd: Sleep
+ m208(bs00, thr, c107) // cmd: Release specified set of mutexes
+ m114(arg0)
+
+ /* Wait for all Slave threads */
+ m103(arg0)
+
+ /* Reset exception expectation */
+ m336(arg0, 1)
+
+
+
+
+ /* 7,8. Thread_1 tries to Release mutexes owned by Thread_2 */
+
+ Store(1, thr)
+
+ /* Set up exception expectation on Release operation */
+ m215(arg0) // Reset TimeOutValue and exceptional condition flags
+ m20f(arg0, ee01, 0) // Init the exceptional conditions flags (AE_AML_NOT_OWNER)
+
+ /* Set up per-thread set of mutexes */
+ m334(arg0, c300, 0, max0, 1, 1)
+
+ m200(bs00, arg0, c102) // cmd: Sleep
+ m208(bs00, thr, c107) // cmd: Release specified set of mutexes
+ m114(arg0)
+
+ /* Wait for all Slave threads */
+ m103(arg0)
+
+ /* Reset exception expectation */
+ m336(arg0, 1)
+
+
+
+
+ /* 9. Thread_1 Releases its mutexes */
+
+ Store(1, thr)
+
+ /* Set up per-thread set of mutexes */
+ m334(arg0, c300, 0, max0, 0, 1)
+
+ m200(bs00, arg0, c102) // cmd: Sleep
+ m208(bs00, thr, c107) // cmd: Release specified set of mutexes
+ m215(arg0) // Reset TimeOutValue and exceptional condition flags
+ m114(arg0)
+
+ /* Wait for all Slave threads */
+ m103(arg0)
+
+
+
+
+ /* 10. Thread_2 Releases its mutexes */
+
+ Store(2, thr)
+
+ /* Set up per-thread set of mutexes */
+ m334(arg0, c300, 0, max0, 1, 1)
+
+ m200(bs00, arg0, c102) // cmd: Sleep
+ m208(bs00, thr, c107) // cmd: Release specified set of mutexes
+ m114(arg0)
+
+ /* Wait for all Slave threads */
+ m103(arg0)
+}
+
+/*
+ * arg0 - number of threads (total)
+ */
+Method(m806, 1)
+{
+ Name(numW, 0) // number of threads in work
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+ Name(nth0, Buffer(2) {})
+ Name(ix00, Buffer(Multiply(min1, 2)) {0,0, 0,1, 1,1, 2,1, 3,1})
+
+ /*
+ * arg0-arg5 - same as m33f
+ * arg6 - index of thread according to the test scenario
+ */
+ Method(m000, 7)
+ {
+ Name(nth1, 0) // actually in work
+
+ Store(DerefOf(Index(arg0, 1)), nth1)
+ if (LLess(arg6, nth1)) {
+ m33f(arg0, arg1, arg2, arg3, arg4, arg5, 0)
+ }
+ }
+
+ /* Number of threads to be actually in work */
+ Store(m213(arg0, min1, 4), numW)
+
+ /* Pack numbers of threads */
+ Store(m20d(arg0, numW), nth0)
+
+
+ /* Acquire */
+
+ Store(max0, lpN0)
+ Store(0, lpC0)
+ While (lpN0) {
+
+ /* All threads Acquire their mutexes */
+
+ m33f(nth0, // numbers of threads (buffer/Integer)
+ c106, // Commands (buffer/Integer)
+ 0, // Exceptional conditions flags (buffer/Integer)
+ lpC0, // Levels of mutexes (buffer/Integer)
+ ix00, // Indexes of mutexes (buffer/Integer)
+ c106, // Expected completion statuses (buffer/Integer)
+ 0) // Expected hang statuses (buffer/Integer)
+
+ /* Data */
+
+ Name(b001, Buffer(Multiply(min1, 2)) {0,0, 0,0, 0,1, 0,1, 0,1})
+ Name(b002, Buffer(Multiply(min1, 2)) {0,0, 1,1, 0,0, 1,1, 1,1})
+ Name(b003, Buffer(Multiply(min1, 2)) {0,0, 2,1, 2,1, 0,0, 2,1})
+ Name(b004, Buffer(Multiply(min1, 2)) {0,0, 3,1, 3,1, 3,1, 0,0})
+
+ Name(cm01, Package(min1) {0, c107, 0, 0, 0})
+ Name(ee01, Buffer(min1) {0, 63, 0, 0, 0}) // AE_AML_NOT_OWNER
+
+ Name(cm02, Package(min1) {0, 0, c107, 0, 0})
+ Name(ee02, Buffer(min1) {0, 0, 63, 0, 0}) // AE_AML_NOT_OWNER
+
+ Name(cm03, Package(min1) {0, 0, 0, c107, 0})
+ Name(ee03, Buffer(min1) {0, 0, 0, 63, 0}) // AE_AML_NOT_OWNER
+
+ Name(cm04, Package(min1) {0, 0, 0, 0, c107})
+ Name(ee04, Buffer(min1) {0, 0, 0, 0, 63}) // AE_AML_NOT_OWNER
+
+
+ /* 2. Threads thr-2, thr-3, thr-4 attempt to Release mutex of thr-1 */
+
+ if (LGreater(numW, 1)) {
+ m000(nth0, cm02, ee02, lpC0, b001, cm02, 2)
+ m000(nth0, cm03, ee03, lpC0, b001, cm03, 3)
+ m000(nth0, cm04, ee04, lpC0, b001, cm04, 4)
+ }
+
+ /* 3. Threads thr-1, thr-3, thr-4 attempt to Release mutex of thr-2 */
+
+ if (LGreater(numW, 2)) {
+ m000(nth0, cm01, ee01, lpC0, b002, cm01, 1)
+ m000(nth0, cm03, ee03, lpC0, b002, cm03, 3)
+ m000(nth0, cm04, ee04, lpC0, b002, cm04, 4)
+ }
+
+ /* 4. Threads thr-1, thr-2, thr-4 attempt to Release mutex of thr-3 */
+
+ if (LGreater(numW, 3)) {
+ m000(nth0, cm01, ee01, lpC0, b003, cm01, 1)
+ m000(nth0, cm02, ee02, lpC0, b003, cm02, 2)
+ m000(nth0, cm04, ee04, lpC0, b003, cm04, 4)
+ }
+
+ /* 5. Threads thr-1, thr-2, thr-3 attempt to Release mutex of thr-4 */
+
+ if (LGreater(numW, 4)) {
+ m000(nth0, cm01, ee01, lpC0, b004, cm01, 1)
+ m000(nth0, cm02, ee02, lpC0, b004, cm02, 2)
+ m000(nth0, cm03, ee03, lpC0, b004, cm03, 3)
+ }
+
+
+ /* All threads Release their mutexes */
+
+ m33f(nth0, // numbers of threads (buffer/Integer)
+ c107, // Commands (buffer/Integer)
+ 0, // Exceptional conditions flags (buffer/Integer)
+ lpC0, // Levels of mutexes (buffer/Integer)
+ ix00, // Indexes of mutexes (buffer/Integer)
+ c107, // Expected completion statuses (buffer/Integer)
+ 0) // Expected hang statuses (buffer/Integer)
+
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+}
+
+/*
+ * arg0 - number of threads
+ */
+Method(m807, 1)
+{
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+ Name(lpN1, 0)
+ Name(lpC1, 0)
+ Name(ix00, 0)
+ Name(numW, 0) // number of threads in work
+
+ /* Number of threads to be actually in work */
+ Store(m213(arg0, min1, 3), numW)
+
+
+ /* From 15 to 0 */
+
+ Store(max0, lpN0)
+ Store(max0, ix00)
+ Decrement(ix00)
+ Store(ix00, lpC0)
+
+
+ While (lpN0) {
+ if (LNotEqual(lpC0, 0)) {
+ /*
+ * 3. Acquire mutexes from 0 to (N-1) levels:
+ * - Set up per-thread set of mutexes
+ * - Acquire specified set of mutexes
+ * - Wait for all Slave threads
+ * - Check up the values of counters of all Mutexs
+ */
+ m337(arg0, numW, 0, lpC0, 1, 0)
+
+ /*
+ * 4. Release mutexes from 0 to (N-1) levels:
+ * - Set up per-thread set of mutexes
+ * - Release specified set of mutexes
+ * - Wait for all Slave threads
+ */
+ m338(arg0, numW, 0, lpC0)
+
+ /* Reset all counters (cnt0) and flags (fl00) corresponding to all Mutexes */
+ m330()
+ }
+
+ /* 5. Acquire mutex of level N */
+ m337(arg0, numW, lpC0, 1, 1, 0)
+
+ if (LNotEqual(lpC0, 0)) {
+ /*
+ * 6. Attempt to Acquire mutexes from 0 to (N-1) levels
+ * 7. Exception is expected
+ */
+ m337(arg0, numW, 0, lpC0, 0, 64) // With exceptional conditions flags (AE_AML_MUTEX_ORDER)
+
+ /* Reset exception expectation */
+ m336(arg0, 1)
+ }
+
+ if (LNotEqual(lpC0, ix00)) {
+ /*
+ * 8. Acquire mutexes from (N+1) to 15 levels
+ * - Set up per-thread set of mutexes
+ * - Acquire specified set of mutexes
+ * - Wait for all Slave threads
+ * - Check up the values of counters of all Mutexs
+ */
+ Add(lpC0, 1, Local0)
+ Subtract(ix00, lpC0, Local1)
+ m337(arg0, numW, Local0, Local1, 1, 0)
+ }
+
+ /*
+ * 9. Release all mutexes (starting with lpC0 up to 15 level):
+ * - Set up per-thread set of mutexes
+ * - Release specified set of mutexes
+ * - Wait for all Slave threads
+ */
+ Subtract(max0, lpC0, Local1)
+ m338(arg0, numW, lpC0, Local1)
+
+ /* Reset all counters (cnt0) and flags (fl00) corresponding to all Mutexes */
+ m330()
+
+ if (LNotEqual(lpC0, 0)) {
+ /*
+ * 10. Acquire mutexes from 0 to (N-1) levels:
+ * - Set up per-thread set of mutexes
+ * - Acquire specified set of mutexes
+ * - Wait for all Slave threads
+ * - Check up the values of counters of all Mutexs
+ */
+ m337(arg0, numW, 0, lpC0, 1, 0)
+
+ /*
+ * 11. Release mutexes (from 0 to (N-1) levels):
+ * - Set up per-thread set of mutexes
+ * - Release specified set of mutexes
+ * - Wait for all Slave threads
+ */
+ m338(arg0, numW, 0, lpC0)
+
+ /* Reset all counters (cnt0) and flags (fl00) corresponding to all Mutexes */
+ m330()
+ }
+
+ Decrement(lpN0)
+ Decrement(lpC0)
+ }
+}
+
+/*
+ * arg0 - number of threads (total)
+ */
+Method(m808, 1)
+{
+ Name(pr, 0)
+ Name(L000, 0)
+ Name(nth0, Buffer(2) {})
+
+ /*
+ * Per-thread indexes of mutexes
+ *
+ * Ctl-thr, thr-1, thr-2, thr-3, thr-4
+ */
+ Name(b000, Buffer(Multiply(min1, 2)) {0,0, 0,1, 1,1, 2,1, 3,1})
+ Name(b001, Buffer(Multiply(min1, 2)) {0,0, 1,1, 2,1, 3,1, 0,1})
+ Name(b002, Buffer(Multiply(min1, 2)) {0,0, 2,1, 3,1, 0,1, 1,1})
+ Name(b003, Buffer(Multiply(min1, 2)) {0,0, 3,1, 0,1, 1,1, 2,1})
+
+
+ /* Pack numbers of threads */
+ Store(m20d(arg0, min1), nth0)
+
+ /* x-0-123 */
+
+ /*
+ * Acquire all x-0-123 and check owning
+ *
+ * Threads thr-1, thr-2, thr-3, thr-4
+ * acquire respectively all x-0-123 mutexes
+ * and check owning of all those mutexes.
+ */
+ m33f(nth0, // numbers of threads (buffer/Integer)
+ c106, // Commands (buffer/Integer)
+ 0, // Exceptional conditions flags (buffer/Integer)
+ L000, // Levels of mutexes (buffer/Integer)
+ b000, // Indexes of mutexes (buffer/Integer)
+ c106, // Expected completion statuses (buffer/Integer)
+ 0) // Expected hang statuses (buffer/Integer)
+
+ if (pr) {
+ m20b(0, "Acquire all x-0-123")
+ }
+
+ /* At this point threads have Acquired: x-0-123 */
+
+ m8fe(nth0, L000, b000, b001, pr)
+ m8fe(nth0, L000, b001, b002, pr)
+ m8fe(nth0, L000, b002, b003, pr)
+ m8fe(nth0, L000, b003, b000, pr)
+
+ /* At this point threads have Acquired: x-0-123 */
+
+ /* Release mutexes on all threads */
+
+ Name(cm00, Package(min1) {0, c107, c107, c107, c107})
+ Name(cp00, Package(min1) {0, c107, c107, c107, c107})
+
+ m33f(nth0, // numbers of threads (buffer/Integer)
+ cm00, // Commands (buffer/Integer)
+ 0, // Exceptional conditions flags (buffer/Integer)
+ L000, // Levels of mutexes (buffer/Integer)
+ b000, // Indexes of mutexes (buffer/Integer)
+ cp00, // Expected completion statuses (buffer/Integer)
+ 0) // Expected hang statuses (buffer/Integer)
+ if (pr) {
+ m20b(0, "Release all")
+ }
+}
+
+/*
+ * Manage the test m808
+ *
+ * agr0 - numbers of threads (buffer/Integer)
+ * arg1 - levels of mutexes (buffer/Integer)
+ * arg2 - indexes of mutexes (buffer/Integer) - start point
+ * arg3 - indexes of mutexes (buffer/Integer) - target point
+ * arg4 - printing flag
+ */
+Method(m8fe, 5)
+{
+ /*
+ * Comments are for one particular transfer step from
+ * x-0-123 to x-1-230, other steps are identical.
+ */
+
+ /* At this point threads have Acquired: x-0-123 */
+
+ /* x-1-230 */
+
+ /* Acquire x-x-230 and check that all -230- hang */
+
+ Name(cm00, Package(min1) {0, 0, c106, c106, c106})
+
+ m33f(arg0, // numbers of threads (buffer/Integer)
+ cm00, // Commands (buffer/Integer)
+ 0, // Exceptional conditions flags (buffer/Integer)
+ arg1, // Levels of mutexes (buffer/Integer)
+ arg3, // Indexes of mutexes (buffer/Integer)
+ 0, // Expected completion statuses (buffer/Integer)
+ cm00) // Expected hang statuses (buffer/Integer)
+ if (arg4) {
+ m20b(0, "Acquire x-x-230")
+ }
+
+ /* Release x-0-xxx, this frees mux for thr-4 */
+
+ Name(cm01, Package(min1) {0, c107, 0, 0, 0})
+ Name(cp01, Package(min1) {0, c107, 0, 0, c106})
+ Name(hg01, Package(min1) {0, 0, c106, c106, 0})
+
+ m33f(arg0, // numbers of threads (buffer/Integer)
+ cm01, // Commands (buffer/Integer)
+ 0, // Exceptional conditions flags (buffer/Integer)
+ arg1, // Levels of mutexes (buffer/Integer)
+ arg2, // Indexes of mutexes (buffer/Integer)
+ cp01, // Expected completion statuses (buffer/Integer)
+ hg01) // Expected hang statuses (buffer/Integer)
+ if (arg4) {
+ m20b(0, "Release x-0-xxx")
+ }
+
+ /* Acquire x-1-xxx and check that it hangs too */
+
+ Name(cm02, Package(min1) {0, c106, 0, 0, 0})
+ Name(hg02, Package(min1) {0, c106, c106, c106, 0})
+
+ m33f(arg0, // numbers of threads (buffer/Integer)
+ cm02, // Commands (buffer/Integer)
+ 0, // Exceptional conditions flags (buffer/Integer)
+ arg1, // Levels of mutexes (buffer/Integer)
+ arg3, // Indexes of mutexes (buffer/Integer)
+ 0, // Expected completion statuses (buffer/Integer)
+ hg02) // Expected hang statuses (buffer/Integer)
+ if (arg4) {
+ m20b(0, "Acquire x-1-xxx")
+ }
+
+ /* Release x-x-xx3, this frees mux for thr-3 */
+
+ Name(cm03, Package(min1) {0, 0, 0, 0, c107})
+ Name(cp03, Package(min1) {0, 0, 0, c106, c107})
+ Name(hg03, Package(min1) {0, c106, c106, 0, 0})
+
+ m33f(arg0, // numbers of threads (buffer/Integer)
+ cm03, // Commands (buffer/Integer)
+ 0, // Exceptional conditions flags (buffer/Integer)
+ arg1, // Levels of mutexes (buffer/Integer)
+ arg2, // Indexes of mutexes (buffer/Integer)
+ cp03, // Expected completion statuses (buffer/Integer)
+ hg03) // Expected hang statuses (buffer/Integer)
+ if (arg4) {
+ m20b(0, "Release x-x-xx3")
+ }
+
+ /* Release x-x-x2x, this frees mux for thr-2 */
+
+ Name(cm04, Package(min1) {0, 0, 0, c107, 0})
+ Name(cp04, Package(min1) {0, 0, c106, c107, 0})
+ Name(hg04, Package(min1) {0, c106, 0, 0, 0})
+
+ m33f(arg0, // numbers of threads (buffer/Integer)
+ cm04, // Commands (buffer/Integer)
+ 0, // Exceptional conditions flags (buffer/Integer)
+ arg1, // Levels of mutexes (buffer/Integer)
+ arg2, // Indexes of mutexes (buffer/Integer)
+ cp04, // Expected completion statuses (buffer/Integer)
+ hg04) // Expected hang statuses (buffer/Integer)
+ if (arg4) {
+ m20b(0, "Release x-x-x2x")
+ }
+
+ /* Release x-x-1xx, this frees mux for thr-1 */
+
+ Name(cm05, Package(min1) {0, 0, c107, 0, 0})
+ Name(cp05, Package(min1) {0, c106, c107, 0, 0})
+
+ m33f(arg0, // numbers of threads (buffer/Integer)
+ cm05, // Commands (buffer/Integer)
+ 0, // Exceptional conditions flags (buffer/Integer)
+ arg1, // Levels of mutexes (buffer/Integer)
+ arg2, // Indexes of mutexes (buffer/Integer)
+ cp05, // Expected completion statuses (buffer/Integer)
+ 0) // Expected hang statuses (buffer/Integer)
+ if (arg4) {
+ m20b(0, "Release x-x-1xx")
+ }
+
+ /* At this point threads have Acquired: x-1-230 */
+}
+
+/*
+ * arg0 - number of threads (total)
+ */
+Method(m809, 1)
+{
+ m80c(arg0, 1)
+}
+
+/*
+ * arg0 - number of threads (total)
+ * arg1 - variant (of parameters passed to m8fd):
+ * 0:
+ * arg1 - indexes of mutexes (buffer/Integer)
+ * arg2 - levels of mutexes (buffer/Integer) - start point
+ * arg3 - levels of mutexes (buffer/Integer) - target point
+ * 1:
+ * arg1 - levels of mutexes (buffer/Integer)
+ * arg2 - indexes of mutexes (buffer/Integer) - start point
+ * arg3 - indexes of mutexes (buffer/Integer) - target point
+ */
+Method(m80c, 2)
+{
+
+ Name(pr, 0)
+ Name(ixll, 0)
+ Name(nth0, Buffer(2) {})
+
+ /*
+ * Per-thread indexes/levels (depending on arg1) of mutexes
+ *
+ * Ctl-thr, thr-1, thr-2, thr-3, thr-4
+ */
+ Name(b000, Buffer(Multiply(min1, 2)) {0,0, 0,1, 1,1, 2,1, 3,1})
+ Name(b001, Buffer(Multiply(min1, 2)) {0,0, 1,1, 2,1, 3,1, 4,1})
+ Name(b002, Buffer(Multiply(min1, 2)) {0,0, 2,1, 3,1, 4,1, 5,1})
+ Name(b003, Buffer(Multiply(min1, 2)) {0,0, 3,1, 4,1, 5,1, 6,1})
+ Name(b004, Buffer(Multiply(min1, 2)) {0,0, 4,1, 5,1, 6,1, 7,1})
+ Name(b005, Buffer(Multiply(min1, 2)) {0,0, 5,1, 6,1, 7,1, 8,1})
+ Name(b006, Buffer(Multiply(min1, 2)) {0,0, 6,1, 7,1, 8,1, 9,1})
+ Name(b007, Buffer(Multiply(min1, 2)) {0,0, 7,1, 8,1, 9,1, 10,1})
+ Name(b008, Buffer(Multiply(min1, 2)) {0,0, 8,1, 9,1, 10,1, 11,1})
+ Name(b009, Buffer(Multiply(min1, 2)) {0,0, 9,1, 10,1, 11,1, 12,1})
+ Name(b00a, Buffer(Multiply(min1, 2)) {0,0, 10,1, 11,1, 12,1, 13,1})
+ Name(b00b, Buffer(Multiply(min1, 2)) {0,0, 11,1, 12,1, 13,1, 14,1})
+ Name(b00c, Buffer(Multiply(min1, 2)) {0,0, 12,1, 13,1, 14,1, 15,1})
+
+ if (arg1) {
+ /* The same level of mutexes */
+ Store(0, ixll)
+ } else {
+ /* The same index of mutexes */
+ Store(0, ixll)
+ }
+
+ /* Pack numbers of threads */
+ Store(m20d(arg0, min1), nth0)
+
+ /* x-0123 */
+
+ /*
+ * x-0-1-2-3
+ * Acquire all x-0123 and check owning
+ *
+ * Threads thr-1, thr-2, thr-3, thr-4
+ * acquire respectively all x-0123 mutexes
+ * and check owning of all those mutexes.
+ */
+ if (arg1) {
+ Store(ixll, Local6)
+ Store(b000, Local7)
+ } else {
+ Store(b000, Local6)
+ Store(ixll, Local7)
+ }
+ m33f(nth0, // numbers of threads (buffer/Integer)
+ c106, // Commands (buffer/Integer)
+ 0, // Exceptional conditions flags (buffer/Integer)
+ Local6, // Levels of mutexes (buffer/Integer)
+ Local7, // Indexes of mutexes (buffer/Integer)
+ c106, // Expected completion statuses (buffer/Integer)
+ 0) // Expected hang statuses (buffer/Integer)
+
+ if (pr) {
+ m20b(0, "Acquire all x-0123")
+ }
+
+
+ m8fd(nth0, ixll, b000, b001, pr, arg1)
+ m8fd(nth0, ixll, b001, b002, pr, arg1)
+ m8fd(nth0, ixll, b002, b003, pr, arg1)
+ m8fd(nth0, ixll, b003, b004, pr, arg1)
+ m8fd(nth0, ixll, b004, b005, pr, arg1)
+ m8fd(nth0, ixll, b005, b006, pr, arg1)
+ m8fd(nth0, ixll, b006, b007, pr, arg1)
+ m8fd(nth0, ixll, b007, b008, pr, arg1)
+ m8fd(nth0, ixll, b008, b009, pr, arg1)
+ m8fd(nth0, ixll, b009, b00a, pr, arg1)
+ m8fd(nth0, ixll, b00a, b00b, pr, arg1)
+ m8fd(nth0, ixll, b00b, b00c, pr, arg1)
+
+
+ /* x-(12)-(13)-(14)-(15), Release=x-(12)(13)(14)(15), hang=x-xxxx, success=x-(12)(13)(14)(15) */
+
+ if (arg1) {
+ Store(ixll, Local6)
+ Store(b00c, Local7)
+ } else {
+ Store(b00c, Local6)
+ Store(ixll, Local7)
+ }
+ m33f(nth0, // numbers of threads (buffer/Integer)
+ c107, // Commands (buffer/Integer)
+ 0, // Exceptional conditions flags (buffer/Integer)
+ Local6, // Levels of mutexes (buffer/Integer)
+ Local7, // Indexes of mutexes (buffer/Integer)
+ c107, // Expected completion statuses (buffer/Integer)
+ 0) // Expected hang statuses (buffer/Integer)
+
+ if (pr) {
+ m20b(0, "Release x-(12)(13)(14)(15)")
+ }
+}
+
+/*
+ * arg0 - numbers of threads (buffer/Integer)
+ * arg1 - indexes/levels of mutexes (buffer/Integer)
+ * arg2 - levels/indexes of mutexes (buffer/Integer) - start point
+ * arg3 - levels/indexes of mutexes (buffer/Integer) - target point
+ * arg4 - printing flag
+ * arg5 - variant (see m80c)
+ */
+Method(m8fd, 6)
+{
+ /* At this point threads have Acquired: x-0123 */
+
+ /*
+ * Comments are given for one particular transfer step
+ * from x-0-123 to x-1-230, other steps are identical.
+ */
+
+ /* x-01-12-23-34, Acquire=x-1234, hang=x-123x, success=x-xxx4 */
+
+ Name(cm00, Package(min1) {0, c106, c106, c106, c106})
+ Name(cp00, Package(min1) {0, 0, 0, 0, c106})
+ Name(hg00, Package(min1) {0, c106, c106, c106, 0})
+
+ if (arg5) {
+ Store(arg1, Local6)
+ Store(arg3, Local7)
+ } else {
+ Store(arg3, Local6)
+ Store(arg1, Local7)
+ }
+ m33f(arg0, // numbers of threads (buffer/Integer)
+ cm00, // Commands (buffer/Integer)
+ 0, // Exceptional conditions flags (buffer/Integer)
+ Local6, // Levels of mutexes (buffer/Integer)
+ Local7, // Indexes of mutexes (buffer/Integer)
+ cp00, // Expected completion statuses (buffer/Integer)
+ hg00) // Expected hang statuses (buffer/Integer)
+ if (arg4) {
+ m20b(0, "Acquire x-1234")
+ }
+
+ /* x-01-12-23-3, Release=x-xxx4, hang=x-123x, success=x-xxx4 */
+
+ Name(cm01, Package(min1) {0, 0, 0, 0, c107})
+ Name(cp01, Package(min1) {0, 0, 0, 0, c107})
+ Name(hg01, Package(min1) {0, c106, c106, c106, 0})
+
+ if (arg5) {
+ Store(arg1, Local6)
+ Store(arg3, Local7)
+ } else {
+ Store(arg3, Local6)
+ Store(arg1, Local7)
+ }
+ m33f(arg0, // numbers of threads (buffer/Integer)
+ cm01, // Commands (buffer/Integer)
+ 0, // Exceptional conditions flags (buffer/Integer)
+ Local6, // Levels of mutexes (buffer/Integer)
+ Local7, // Indexes of mutexes (buffer/Integer)
+ cp01, // Expected completion statuses (buffer/Integer)
+ hg01) // Expected hang statuses (buffer/Integer)
+ if (arg4) {
+ m20b(0, "Release x-xxx4")
+ }
+
+ /* x-01-12-23-x, Release=x-xxx3, hang=x-12xx, success=x-xx33 */
+
+ Name(cm02, Package(min1) {0, 0, 0, 0, c107})
+ Name(cp02, Package(min1) {0, 0, 0, c106, c107})
+ Name(hg02, Package(min1) {0, c106, c106, 0, 0})
+
+ if (arg5) {
+ Store(arg1, Local6)
+ Store(arg2, Local7)
+ } else {
+ Store(arg2, Local6)
+ Store(arg1, Local7)
+ }
+ m33f(arg0, // numbers of threads (buffer/Integer)
+ cm02, // Commands (buffer/Integer)
+ 0, // Exceptional conditions flags (buffer/Integer)
+ Local6, // Levels of mutexes (buffer/Integer)
+ Local7, // Indexes of mutexes (buffer/Integer)
+ cp02, // Expected completion statuses (buffer/Integer)
+ hg02) // Expected hang statuses (buffer/Integer)
+ if (arg4) {
+ m20b(0, "Release x-xxx3")
+ }
+
+ /* x-01-12-23-4, Acquire=x-xxx4, hang=x-12xx, success=x-xxx4 */
+
+ Name(cm03, Package(min1) {0, 0, 0, 0, c106})
+ Name(cp03, Package(min1) {0, 0, 0, 0, c106})
+ Name(hg03, Package(min1) {0, c106, c106, 0, 0})
+
+ if (arg5) {
+ Store(arg1, Local6)
+ Store(arg3, Local7)
+ } else {
+ Store(arg3, Local6)
+ Store(arg1, Local7)
+ }
+ m33f(arg0, // numbers of threads (buffer/Integer)
+ cm03, // Commands (buffer/Integer)
+ 0, // Exceptional conditions flags (buffer/Integer)
+ Local6, // Levels of mutexes (buffer/Integer)
+ Local7, // Indexes of mutexes (buffer/Integer)
+ cp03, // Expected completion statuses (buffer/Integer)
+ hg03) // Expected hang statuses (buffer/Integer)
+ if (arg4) {
+ m20b(0, "Acquire x-xxx4")
+ }
+
+ /* x-01-12-2-4, Release=x-xx3x, hang=x-12xx, success=x-xx3x */
+
+ Name(cm05, Package(min1) {0, 0, 0, c107, 0})
+ Name(cp05, Package(min1) {0, 0, 0, c107, 0})
+ Name(hg05, Package(min1) {0, c106, c106, 0, 0})
+
+ if (arg5) {
+ Store(arg1, Local6)
+ Store(arg3, Local7)
+ } else {
+ Store(arg3, Local6)
+ Store(arg1, Local7)
+ }
+ m33f(arg0, // numbers of threads (buffer/Integer)
+ cm05, // Commands (buffer/Integer)
+ 0, // Exceptional conditions flags (buffer/Integer)
+ Local6, // Levels of mutexes (buffer/Integer)
+ Local7, // Indexes of mutexes (buffer/Integer)
+ cp05, // Expected completion statuses (buffer/Integer)
+ hg05) // Expected hang statuses (buffer/Integer)
+ if (arg4) {
+ m20b(0, "Release x-xx3x")
+ }
+
+ /* x-01-12-x-4, Release=x-xx2x, hang=x-1xxx, success=x-x22x */
+
+ Name(cm06, Package(min1) {0, 0, 0, c107, 0})
+ Name(cp06, Package(min1) {0, 0, c106, c107, 0})
+ Name(hg06, Package(min1) {0, c106, 0, 0, 0})
+
+ if (arg5) {
+ Store(arg1, Local6)
+ Store(arg2, Local7)
+ } else {
+ Store(arg2, Local6)
+ Store(arg1, Local7)
+ }
+ m33f(arg0, // numbers of threads (buffer/Integer)
+ cm06, // Commands (buffer/Integer)
+ 0, // Exceptional conditions flags (buffer/Integer)
+ Local6, // Levels of mutexes (buffer/Integer)
+ Local7, // Indexes of mutexes (buffer/Integer)
+ cp06, // Expected completion statuses (buffer/Integer)
+ hg06) // Expected hang statuses (buffer/Integer)
+ if (arg4) {
+ m20b(0, "Release x-xx2x")
+ }
+
+ /* x-01-12-3-4, Acquire=x-xx3x, hang=x-1xxx, success=x-xx3x */
+
+ Name(cm07, Package(min1) {0, 0, 0, c106, 0})
+ Name(cp07, Package(min1) {0, 0, 0, c106, 0})
+ Name(hg07, Package(min1) {0, c106, 0, 0, 0})
+
+ if (arg5) {
+ Store(arg1, Local6)
+ Store(arg3, Local7)
+ } else {
+ Store(arg3, Local6)
+ Store(arg1, Local7)
+ }
+ m33f(arg0, // numbers of threads (buffer/Integer)
+ cm07, // Commands (buffer/Integer)
+ 0, // Exceptional conditions flags (buffer/Integer)
+ Local6, // Levels of mutexes (buffer/Integer)
+ Local7, // Indexes of mutexes (buffer/Integer)
+ cp07, // Expected completion statuses (buffer/Integer)
+ hg07) // Expected hang statuses (buffer/Integer)
+ if (arg4) {
+ m20b(0, "Acquire x-xx3x")
+ }
+
+ /* x-01-1-3-4, Release=x-x2xx, hang=x-1xxx, success=x-x2xx */
+
+ Name(cm08, Package(min1) {0, 0, c107, 0, 0})
+ Name(cp08, Package(min1) {0, 0, c107, 0, 0})
+ Name(hg08, Package(min1) {0, c106, 0, 0, 0})
+
+ if (arg5) {
+ Store(arg1, Local6)
+ Store(arg3, Local7)
+ } else {
+ Store(arg3, Local6)
+ Store(arg1, Local7)
+ }
+ m33f(arg0, // numbers of threads (buffer/Integer)
+ cm08, // Commands (buffer/Integer)
+ 0, // Exceptional conditions flags (buffer/Integer)
+ Local6, // Levels of mutexes (buffer/Integer)
+ Local7, // Indexes of mutexes (buffer/Integer)
+ cp08, // Expected completion statuses (buffer/Integer)
+ hg08) // Expected hang statuses (buffer/Integer)
+ if (arg4) {
+ m20b(0, "Release x-x2xx")
+ }
+
+ /* x-01-x-3-4, Release=x-x1xx, hang=x-xxxx, success=x-11xx */
+
+ Name(cm09, Package(min1) {0, 0, c107, 0, 0})
+ Name(cp09, Package(min1) {0, c106, c107, 0, 0})
+
+ if (arg5) {
+ Store(arg1, Local6)
+ Store(arg2, Local7)
+ } else {
+ Store(arg2, Local6)
+ Store(arg1, Local7)
+ }
+ m33f(arg0, // numbers of threads (buffer/Integer)
+ cm09, // Commands (buffer/Integer)
+ 0, // Exceptional conditions flags (buffer/Integer)
+ Local6, // Levels of mutexes (buffer/Integer)
+ Local7, // Indexes of mutexes (buffer/Integer)
+ cp09, // Expected completion statuses (buffer/Integer)
+ 0) // Expected hang statuses (buffer/Integer)
+ if (arg4) {
+ m20b(0, "Release x-x1xx")
+ }
+
+ /* x-01-2-3-4, Acquire=x-x2xx, hang=x-xxxx, success=x-x2xx */
+
+ Name(cm0a, Package(min1) {0, 0, c106, 0, 0})
+ Name(cp0a, Package(min1) {0, 0, c106, 0, 0})
+
+ if (arg5) {
+ Store(arg1, Local6)
+ Store(arg3, Local7)
+ } else {
+ Store(arg3, Local6)
+ Store(arg1, Local7)
+ }
+ m33f(arg0, // numbers of threads (buffer/Integer)
+ cm0a, // Commands (buffer/Integer)
+ 0, // Exceptional conditions flags (buffer/Integer)
+ Local6, // Levels of mutexes (buffer/Integer)
+ Local7, // Indexes of mutexes (buffer/Integer)
+ cp0a, // Expected completion statuses (buffer/Integer)
+ 0) // Expected hang statuses (buffer/Integer)
+ if (arg4) {
+ m20b(0, "Acquire x-x2xx")
+ }
+
+ /* x-0-2-3-4, Release=x-1xxx, hang=x-xxxx, success=x-1xxx */
+
+ Name(cm0b, Package(min1) {0, c107, 0, 0, 0})
+ Name(cp0b, Package(min1) {0, c107, 0, 0, 0})
+
+ if (arg5) {
+ Store(arg1, Local6)
+ Store(arg3, Local7)
+ } else {
+ Store(arg3, Local6)
+ Store(arg1, Local7)
+ }
+ m33f(arg0, // numbers of threads (buffer/Integer)
+ cm0b, // Commands (buffer/Integer)
+ 0, // Exceptional conditions flags (buffer/Integer)
+ Local6, // Levels of mutexes (buffer/Integer)
+ Local7, // Indexes of mutexes (buffer/Integer)
+ cp0b, // Expected completion statuses (buffer/Integer)
+ 0) // Expected hang statuses (buffer/Integer)
+ if (arg4) {
+ m20b(0, "Release x-1xxx")
+ }
+
+ /* x-x-2-3-4, Release=x-0xxx, hang=x-xxxx, success=x-0xxx */
+
+ Name(cm0c, Package(min1) {0, c107, 0, 0, 0})
+ Name(cp0c, Package(min1) {0, c107, 0, 0, 0})
+
+ if (arg5) {
+ Store(arg1, Local6)
+ Store(arg2, Local7)
+ } else {
+ Store(arg2, Local6)
+ Store(arg1, Local7)
+ }
+ m33f(arg0, // numbers of threads (buffer/Integer)
+ cm0c, // Commands (buffer/Integer)
+ 0, // Exceptional conditions flags (buffer/Integer)
+ Local6, // Levels of mutexes (buffer/Integer)
+ Local7, // Indexes of mutexes (buffer/Integer)
+ cp0c, // Expected completion statuses (buffer/Integer)
+ 0) // Expected hang statuses (buffer/Integer)
+ if (arg4) {
+ m20b(0, "Release x-0xxx")
+ }
+
+ /* x-1-2-3-4, Acquire=x-1xxx, hang=x-xxxx, success=x-1xxx */
+
+ Name(cm0d, Package(min1) {0, c106, 0, 0, 0})
+ Name(cp0d, Package(min1) {0, c106, 0, 0, 0})
+
+ if (arg5) {
+ Store(arg1, Local6)
+ Store(arg3, Local7)
+ } else {
+ Store(arg3, Local6)
+ Store(arg1, Local7)
+ }
+ m33f(arg0, // numbers of threads (buffer/Integer)
+ cm0d, // Commands (buffer/Integer)
+ 0, // Exceptional conditions flags (buffer/Integer)
+ Local6, // Levels of mutexes (buffer/Integer)
+ Local7, // Indexes of mutexes (buffer/Integer)
+ cp0d, // Expected completion statuses (buffer/Integer)
+ 0) // Expected hang statuses (buffer/Integer)
+ if (arg4) {
+ m20b(0, "Acquire x-1xxx")
+ }
+
+ /* At this point threads have Acquired: x-1234 */
+}
+
+/*
+ * arg0 - number of threads (total)
+ */
+Method(m810, 1)
+{
+ m80c(arg0, 0)
+}
+
+/*
+ * arg0 - number of threads (total)
+ */
+Method(m811, 1)
+{
+ Name(rpt, 4)
+ Name(lpN0, 0)
+ Name(lpC0, 0)
+ Name(lpN1, 0)
+ Name(lpC1, 0)
+ Name(nth0, Buffer(2) {})
+ Name(ix00, Buffer(Multiply(min1, 2)) {0,0, 0,1, 1,1, 2,1, 3,1})
+ Name(numW, 0) // number of threads in work
+
+ /* Number of threads to be actually in work */
+ Store(m213(arg0, min1, 4), numW)
+
+ /* Pack numbers of threads */
+ Store(m20d(arg0, numW), nth0)
+
+
+ /* Each thread Acquires successfully its mutex N times */
+
+ Store(max0, lpN0)
+ Store(0, lpC0)
+ While (lpN0) {
+
+ Store(rpt, lpN1)
+ Store(0, lpC1)
+
+ /* Repetition */
+ While (lpN1) {
+ m33f(nth0, // numbers of threads (buffer/Integer)
+ c106, // Commands (buffer/Integer)
+ 0, // Exceptional conditions flags (buffer/Integer)
+ lpC0, // Levels of mutexes (buffer/Integer)
+ ix00, // Indexes of mutexes (buffer/Integer)
+ c106, // Expected completion statuses (buffer/Integer)
+ 0) // Expected hang statuses (buffer/Integer)
+ Decrement(lpN1)
+ Increment(lpC1)
+ }
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+
+
+ /* Each thread Releases successfully its mutex N times */
+
+ Store(max0, lpN0)
+ Subtract(max0, 1, lpC0)
+ While (lpN0) {
+
+ Store(rpt, lpN1)
+ Store(0, lpC1)
+
+ /* Repetition */
+ While (lpN1) {
+ m33f(nth0, // numbers of threads (buffer/Integer)
+ c107, // Commands (buffer/Integer)
+ 0, // Exceptional conditions flags (buffer/Integer)
+ lpC0, // Levels of mutexes (buffer/Integer)
+ ix00, // Indexes of mutexes (buffer/Integer)
+ c107, // Expected completion statuses (buffer/Integer)
+ 0) // Expected hang statuses (buffer/Integer)
+ Decrement(lpN1)
+ Increment(lpC1)
+ }
+ Decrement(lpN0)
+ Decrement(lpC0)
+ }
+
+
+ /*
+ * Each thread gets exception AE_AML_MUTEX_NOT_ACQUIRED (65)
+ * on additional Release.
+ */
+
+ Store(max0, lpN0)
+ Subtract(max0, 1, lpC0)
+ While (lpN0) {
+ m33f(nth0, // numbers of threads (buffer/Integer)
+ c107, // Commands (buffer/Integer)
+ 65, // Exceptional conditions flags (buffer/Integer)
+ lpC0, // Levels of mutexes (buffer/Integer)
+ ix00, // Indexes of mutexes (buffer/Integer)
+ c107, // Expected completion statuses (buffer/Integer)
+ 0) // Expected hang statuses (buffer/Integer)
+ Decrement(lpN0)
+ Decrement(lpC0)
+ }
+}
+
+/*
+ * arg0 - number of threads (total)
+ */
+Method(m812, 1)
+{
+ Name(rpt, 3) // number of repetition
+ Name(lpN0, 0) // level
+ Name(lpC0, 0)
+ Name(lpN1, 0) // index-thread
+ Name(lpC1, 0)
+ Name(indt, 0) // index of thread
+ Name(lpN2, 0) // repetition
+ Name(lpC2, 0)
+ Name(lls0, 0)
+ Name(num2, 0)
+ Name(ixsz, 0)
+ Name(numW, 0) // number of threads in work
+
+ Store(Multiply(min1, 2), ixsz)
+
+ Name(nth0, Buffer(2) {})
+
+ // Buffers of indexes of mutexes
+ Name(pixs, Package(min1) {
+ 0,
+ Buffer(ixsz) {0,0, 0,1, 0,1, 0,1, 0,1},
+ Buffer(ixsz) {0,0, 1,1, 1,1, 1,1, 1,1},
+ Buffer(ixsz) {0,0, 2,1, 2,1, 2,1, 2,1},
+ Buffer(ixsz) {0,0, 3,1, 3,1, 3,1, 3,1},
+ })
+
+ Name(bixs, Buffer(ixsz) {})
+
+ Name(cm00, Buffer(min1) {})
+ Name(cp00, Buffer(min1) {})
+ Name(hg00, Buffer(min1) {})
+
+
+ /*
+ * Determine num - number of threads actually in work
+ *
+ * Note: maximum for num is min1 here but it can be diminished
+ * to reduce the time of execution.
+ */
+ Store(m213(arg0, min1, 3), numW)
+ Subtract(numW, 1, num2) // except the control thread
+
+ /* Pack numbers of threads */
+ Store(m20d(arg0, numW), nth0)
+
+ /*
+ * Determine lls0 - number of levels to be in work
+ *
+ * Note: maximum for lls0 is max0 here but it can be diminished
+ * to reduce the time of execution.
+ */
+ if (redm) {
+ Store(3, lls0)
+ } else {
+ Store(max0, lls0)
+ }
+
+
+ /* 9. Do 1-8 for all Levels of mutex one by one */
+ Store(lls0, lpN0)
+ Store(0, lpC0)
+ While (lpN0) {
+
+ /*
+ * 8. Do 1-7 for all threads one by one (so, for 0-3 Indexes of mutex as well)
+ */
+ Store(num2, lpN1)
+ Store(0, lpC1)
+ While (lpN1) {
+
+ Add(lpC1, 1, indt)
+
+ Store(DerefOf(Index(pixs, indt)), bixs)
+
+
+ /* 1. Thread thr-i Acquires successfully mutex M0 of (i-1)-th index for N times */
+
+
+ // c106 for indt-th thread
+ m210(cm00, numW, c106, indt, 1, 1, 0)
+
+ /* Repetition */
+ Store(rpt, lpN2)
+ Store(0, lpC2)
+ While (lpN2) {
+ m33f(nth0, // numbers of threads (buffer/Integer)
+ cm00, // Commands (buffer/Integer)
+ 0, // Exceptional conditions flags (buffer/Integer)
+ lpC0, // Levels of mutexes (buffer/Integer)
+ bixs, // Indexes of mutexes (buffer/Integer)
+ cm00, // Expected completion statuses (buffer/Integer)
+ 0) // Expected hang statuses (buffer/Integer)
+ Decrement(lpN2)
+ Increment(lpC2)
+ }
+
+ /* 2. Other threads Acquire M0 too and hang */
+
+ /*
+ * c103 for all except indt-th thread
+ * (and except 0-th thread naturally,
+ * not mentioned more below)
+ */
+ m200(cm00, numW, c103)
+ m208(cm00, indt, 0)
+
+ m33f(nth0, cm00, 0, lpC0, bixs, 0, cm00)
+
+ /* 3. Thread thr-i Acquires successfully mutex M0 for N times again */
+
+ // c106 for indt-th thread
+ m210(cm00, numW, c106, indt, 1, 1, 0)
+
+ // c103 for all except indt-th thread
+ m200(hg00, numW, c103)
+ m208(hg00, indt, 0)
+
+ /* Repetition */
+ Store(rpt, lpN2)
+ Store(0, lpC2)
+ While (lpN2) {
+ m33f(nth0, cm00, 0, lpC0, bixs, cm00, hg00)
+ Decrement(lpN2)
+ Increment(lpC2)
+ }
+
+ /* 4. Thread thr-i Releases mutex M0 for 2*N times */
+
+ // c107 for indt-th thread
+ m210(cm00, numW, c107, indt, 1, 1, 0)
+
+ // c103 for all except indt-th thread
+ m200(hg00, numW, c103)
+ m208(hg00, indt, 0)
+
+ /* Repetition */
+ Multiply(rpt, 2, lpN2)
+ Decrement(lpN2)
+ Store(0, lpC2)
+ While (lpN2) {
+ m33f(nth0, cm00, 0, lpC0, bixs, cm00, hg00)
+ Decrement(lpN2)
+ Increment(lpC2)
+ }
+
+ /*
+ * 5. One of other threads (thr-j) owns M0
+ * 6. Thread thr-j Release M0
+ * 7. Do 5-6 items for all 'other' threads
+ */
+
+ // c107 for indt-th thread
+ m210(cm00, numW, c107, indt, 1, 1, 0)
+
+ // c103 for all except indt-th thread, and c107 for indt-th thread
+ m200(cp00, numW, c103)
+ m208(cp00, indt, c107)
+
+ m33f(nth0, cm00, 0, lpC0, bixs, cp00, 0)
+
+ Decrement(lpN1)
+ Increment(lpC1)
+ }
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+}
+
+/*
+ * arg0 - number of threads (total)
+ */
+Method(m813, 1)
+{
+ Name(rpt, 256) // number of repetition
+ Name(lpN0, 0) // level
+ Name(lpC0, 0)
+ Name(lpN1, 0) // index-thread
+ Name(lpC1, 0)
+ Name(indt, 0) // index of thread
+ Name(lpN2, 0) // repetition
+ Name(lpC2, 0)
+ Name(lls0, 0) // number of levels
+ Name(num2, 0)
+ Name(ixsz, 0)
+ Name(numW, 0) // number of threads in work
+
+ Store(Multiply(min1, 2), ixsz)
+
+ Name(nth0, Buffer(2) {})
+
+ // Buffer of per-thread indexes of mutexes
+ Name(ix00, Buffer(ixsz) {0,0, 0,1, 1,1, 2,1, 3,1})
+
+ Name(cm00, Buffer(min1) {})
+
+ /*
+ * Determine num - number of threads actually in work
+ * See input control on arg0 (before m813)
+ *
+ * Note: maximum for num is min1 here but it can be diminished
+ * to reduce the time of execution.
+ */
+ Store(m213(arg0, 3, 2), numW)
+ Subtract(numW, 1, num2) // except the control thread
+
+ /* Pack numbers of threads */
+ Store(m20d(arg0, numW), nth0)
+
+ /*
+ * Determine lls0 - number of levels to be in work
+ *
+ * Note: maximum for lls0 is max0 here but it can be diminished
+ * to reduce the time of execution.
+ */
+ if (redm) {
+ Store(1, lls0)
+ } else {
+ Store(max0, lls0)
+ }
+
+
+ /* For all Levels of mutex one by one */
+ Store(lls0, lpN0)
+ Store(0, lpC0)
+ While (lpN0) {
+
+ /* For different indexes-threads one by one */
+ Store(num2, lpN1)
+ Store(0, lpC1)
+ While (lpN1) {
+
+ Add(lpC1, 1, indt)
+
+
+ /* Thread thr-i Acquires successfully mutex M0 of (i-1)-th index for N times */
+
+
+ // c106 for indt-th thread
+ m210(cm00, numW, c106, indt, 1, 1, 0)
+
+ /* Repetition */
+ Store(rpt, lpN2)
+ Store(0, lpC2)
+ While (lpN2) {
+ m33f(nth0, // numbers of threads (buffer/Integer)
+ cm00, // Commands (buffer/Integer)
+ 0, // Exceptional conditions flags (buffer/Integer)
+ lpC0, // Levels of mutexes (buffer/Integer)
+ ix00, // Indexes of mutexes (buffer/Integer)
+ cm00, // Expected completion statuses (buffer/Integer)
+ 0) // Expected hang statuses (buffer/Integer)
+ Decrement(lpN2)
+ Increment(lpC2)
+ }
+
+ /* Thread thr-i Releases mutex M0 for N times */
+
+ // c107 for indt-th thread
+ m210(cm00, numW, c107, indt, 1, 1, 0)
+
+ /* Repetition */
+ Store(rpt, lpN2)
+ Store(0, lpC2)
+ While (lpN2) {
+ m33f(nth0, cm00, 0, lpC0, ix00, cm00, 0)
+ Decrement(lpN2)
+ Increment(lpC2)
+ }
+
+
+ Decrement(lpN1)
+ Increment(lpC1)
+ }
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+}
+
+/*
+ * arg0 - number of threads (total)
+ */
+Method(m814, 1)
+{
+ Name(lpN0, 0) // level
+ Name(lpC0, 0)
+ Name(lpN1, 0) // index
+ Name(lpC1, 0)
+ Name(thr1, 0)
+ Name(thr2, 0)
+
+
+ Store(1, thr1)
+ Store(m115(arg0), thr2) // thread with the greatest index
+
+ if (LGreaterEqual(thr2, arg0)) {
+ Store("No alive threads for Test!", Debug)
+ Store("Test mf14 skipped!", Debug)
+ SKIP()
+ return
+ }
+
+ if (LLessEqual(thr2, thr1)) {
+ Store("Insufficient number of threads for Test!", Debug)
+ Store("Test mf14 skipped!", Debug)
+ SKIP()
+ return
+ }
+
+
+
+
+ /* 1. Thread thr-N Acquires all the mutexes on all levels */
+
+ /* Set up per-thread set of mutexes */
+ m334(arg0, c300, 0, max0, 0, min0)
+
+ m200(bs00, arg0, c102) // cmd: Sleep
+ m208(bs00, thr2, c106) // cmd: Acquire specified set of mutexes
+ m215(arg0) // Reset TimeOutValue and exceptional condition flags
+ m114(arg0) // run
+
+ /* Wait for all Slave threads */
+ m103(arg0)
+
+ /* Check up the values of counters of all Mutexs */
+ Store(max0, lpN0)
+ Store(0, lpC0)
+ While (lpN0) {
+ Store(min0, lpN1)
+ Store(0, lpC1)
+ While (lpN1) {
+ m333(lpC0, lpC1, 1)
+ Decrement(lpN1)
+ Increment(lpC1)
+ }
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+
+
+
+ /*
+ * 2. Thread thr-1 tries to Acquire all the same mutexes
+ * and gets FAIL (TimeOutValue is not 0xFFFF).
+ */
+
+ m200(bs00, arg0, c102) // cmd: Sleep
+ m208(bs00, thr1, c106) // cmd: Acquire specified set of mutexes
+ m215(arg0) // Reset TimeOutValue and exceptional condition flags
+ m214(arg0, arg0, TOV1) // TimeOutValue equal to 1 msec
+ m20f(arg0, EX0D, 0) // Init the exceptional conditions flags (FAIL)
+ m114(arg0) // run
+
+ /* Wait for all Slave threads */
+ m103(arg0)
+
+
+
+ /* 3. Thread thr-N terminates */
+
+ m200(bs00, arg0, c102) // cmd: Sleep
+ m208(bs00, thr2, c108) // cmd: Terminate thread
+ m215(arg0) // Reset TimeOutValue and exceptional condition flags
+ m114(arg0) // run
+
+ /* Wait for all Slave threads */
+ m103(arg0)
+
+
+
+ /*
+ * 4. Thread thr-1 Acquire all those mutexes again
+ * and gets success (TimeOutValue is 0xFFFF)
+ */
+
+ /* Sleep, to ensure the thread thr-N terminates */
+ m206(0, 200)
+
+ /*
+ * Reset all counters (cnt0) and flags (fl00) corresponding
+ * to all Mutexes which were set up by thread thr-N.
+ */
+ m330()
+
+ m200(bs00, arg0, c102) // cmd: Sleep
+ m208(bs00, thr1, c106) // cmd: Acquire specified set of mutexes
+ m215(arg0) // Reset TimeOutValue and exceptional condition flags
+ m114(arg0) // run
+
+ /* Wait for all Slave threads */
+ m103(arg0)
+
+
+
+ /* 5. Thread thr-1 Releases all mutexes */
+
+ m200(bs00, arg0, c102) // cmd: Sleep
+ m208(bs00, thr1, c107) // cmd: Release specified set of mutexes
+ m215(arg0) // Reset TimeOutValue and exceptional condition flags
+ m114(arg0) // run
+
+ /* Wait for all Slave threads */
+ m103(arg0)
+}
+
+/*
+ * arg0 - number of threads (total)
+ */
+Method(m815, 1)
+{
+ Name(lpN0, 0) // level
+ Name(lpC0, 0)
+ Name(lpN1, 0) // index
+ Name(lpC1, 0)
+ Name(thr1, 0)
+ Name(thr2, 0)
+
+
+ Store(1, thr1)
+ Store(m115(arg0), thr2) // thread with the greatest index
+
+ if (LGreaterEqual(thr2, arg0)) {
+ Store("No alive threads for Test!", Debug)
+ Store("Test mf14 skipped!", Debug)
+ SKIP()
+ return
+ }
+
+ if (LLessEqual(thr2, thr1)) {
+ Store("Insufficient number of threads for Test!", Debug)
+ Store("Test mf15 skipped!", Debug)
+ SKIP()
+ return
+ }
+
+
+
+ /* 1. Thread thr-N Acquires all the mutexes on all levels */
+
+ /* Set up per-thread set of mutexes */
+ m334(arg0, c300, 0, max0, 0, min0)
+
+ m200(bs00, arg0, c102) // cmd: Sleep
+ m208(bs00, thr2, c106) // cmd: Acquire specified set of mutexes
+ m215(arg0) // Reset TimeOutValue and exceptional condition flags
+ m114(arg0) // run
+
+ /* Wait for all Slave threads */
+ m103(arg0)
+
+ /* Check up the values of counters of all Mutexs */
+ Store(max0, lpN0)
+ Store(0, lpC0)
+ While (lpN0) {
+ Store(min0, lpN1)
+ Store(0, lpC1)
+ While (lpN1) {
+ m333(lpC0, lpC1, 1)
+ Decrement(lpN1)
+ Increment(lpC1)
+ }
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+
+
+
+ /*
+ * 2. Thread thr-1 tries to Acquire all the same mutexes
+ * and gets FAIL (TimeOutValue is not 0xFFFF).
+ */
+
+ m200(bs00, arg0, c102) // cmd: Sleep
+ m208(bs00, thr1, c106) // cmd: Acquire specified set of mutexes
+ m215(arg0) // Reset TimeOutValue and exceptional condition flags
+ m214(arg0, arg0, TOV1) // TimeOutValue equal to 1 msec
+ m20f(arg0, EX0D, 0) // Init the exceptional conditions flags (FAIL)
+ m114(arg0) // run
+
+ /* Wait for all Slave threads */
+ m103(arg0)
+
+
+
+ /*
+ * 3. Thread thr-1 tries to Acquire all the same mutexes
+ * and hang (TimeOutValue is 0xFFFF).
+ */
+
+ /*
+ * Reset all counters (cnt0) and flags (fl00) corresponding
+ * to all Mutexes which were set up by thread thr-N.
+ */
+ m330()
+
+ m200(bs00, arg0, c102) // cmd: Sleep
+ m208(bs00, thr1, c106) // cmd: Acquire specified set of mutexes
+ m215(arg0) // Reset TimeOutValue and exceptional condition flags
+ m114(arg0) // run
+
+ /* Wait for all Slave threads */
+
+ Name(cp00, Buffer(arg0) {})
+ Name(hg00, Buffer(arg0) {})
+ Name(id00, Buffer(arg0) {})
+
+ CopyObject(bs00, cp00)
+ Store(0, Index(cp00, thr1))
+ Store(c106, Index(hg00, thr1))
+ m110(arg0, cp00, hg00, id00)
+
+
+
+ /*
+ * 4. Thread thr-N terminates
+ * 5. Thread thr-1 owns all those mutexes
+ */
+
+ m200(bs00, arg0, c102) // cmd: Sleep
+ m208(bs00, thr2, c108) // cmd: Terminate thread
+ m215(arg0) // Reset TimeOutValue and exceptional condition flags
+ m114(arg0) // run
+
+ /* Wait for all Slave threads */
+
+ Name(cp01, Buffer(arg0) {})
+ Name(hg01, Buffer(arg0) {})
+ Name(id01, Buffer(arg0) {})
+
+ Store(c106, Index(bs00, thr1)) // thr-1 hangs on c106
+ CopyObject(bs00, cp01)
+ m110(arg0, cp01, hg01, id01)
+
+
+
+ /* 6. Thread thr-1 Releases all mutexes */
+
+ m200(bs00, arg0, c102) // cmd: Sleep
+ m208(bs00, thr1, c107) // cmd: Release specified set of mutexes
+ m215(arg0) // Reset TimeOutValue and exceptional condition flags
+ m114(arg0) // run
+
+ /* Wait for all Slave threads */
+ m103(arg0)
+}
+
+/*
+ * Serialized method to be executed by Slave thread
+ *
+ * arg0 - number of threads
+ * arg1 - ID of current thread
+ * arg2 - Index of current thread
+ */
+Method(m8fc, 3, Serialized, 0)
+{
+ if (FLG2) {
+ se00(arg2, er10, , "Error er10")
+ }
+
+ Store(arg1, FLG2)
+
+ m201(arg2, vb03, "Execution of Serialized method started")
+ m206(arg2, sl01) // Sleep
+
+ /*
+ * NOTE: it is a recurcive second call to m101:
+ *
+ * MAIN
+ * mf00
+ * mf16
+ * m101
+ * m8fc
+ * m101
+ *
+ * So, additional command c101 is needed for it to exit that second call to m101.
+ */
+ m201(arg2, vb03, "Call recursively m101")
+ m101(arg0, arg1, arg2, 1)
+
+ m206(arg2, sl01) // Sleep
+
+ m201(arg2, vb03, "Execution of Serialized method completed")
+
+ if (LNotEqual(FLG2, arg1)) {
+ se00(arg2, er11, , "Error er11")
+ }
+
+ Store(0, FLG2)
+}
+
+/*
+ * Non-serialized method to be executed by Slave thread,
+ * use mutex for exclusive access to critical section.
+ *
+ * arg0 - number of threads
+ * arg1 - ID of current thread
+ * arg2 - Index of current thread
+ */
+Method(m8fa, 3)
+{
+ Store(ma00(0, 0, 0xffff), Local0)
+ if (Local0) {
+ se00(arg2, er00, , "Error er00")
+ }
+
+ if (FLG2) {
+ se00(arg2, er10, , "Error er10")
+ }
+
+ Store(arg1, FLG2)
+
+ m201(arg2, vb03, "Execution of critical section started")
+ m206(arg2, sl01) // Sleep
+
+ /*
+ * NOTE: it is a recurcive second call to m101:
+ *
+ * MAIN
+ * mf00
+ * mf16
+ * m101
+ * m8fc
+ * m101
+ *
+ * So, additional command c101 is needed for it to exit that second call to m101.
+ */
+ m201(arg2, vb03, "Call recursively m101")
+ m101(arg0, arg1, arg2, 1)
+
+ m206(arg2, sl01) // Sleep
+
+ m201(arg2, vb03, "Execution of critical section completed")
+
+ if (LNotEqual(FLG2, arg1)) {
+ se00(arg2, er11, , "Error er11")
+ }
+
+ Store(0, FLG2)
+
+ if (LNot(Local0)) {
+ ma10(0)
+ }
+}
+
+/*
+ * Non-serialized method to be executed by Slave thread
+ *
+ * non-serialized method is grabbed simultaneously by several threads
+ *
+ * arg0 - number of threads
+ * arg1 - ID of current thread
+ * arg2 - Index of current thread
+ */
+Method(m8f9, 3)
+{
+ /*
+ * Index of one of two threads participating in test is 1
+ */
+ if (LEqual(arg2, 1)) {
+ if (FLG2) {
+ se00(arg2, er12, , "Error er12")
+ } else {
+ Store(arg2, FLG2)
+ }
+ } else {
+ if (FLG3) {
+ se00(arg2, er12, , "Error er12")
+ } else {
+ Store(arg2, FLG3)
+ }
+ }
+
+
+ m201(arg2, vb03, "Execution of non-serialized method started")
+ m206(arg2, sl01) // Sleep
+
+ /*
+ * NOTE: it is a recurcive second call to m101:
+ *
+ * MAIN
+ * mf00
+ * mf16
+ * m101
+ * m8fc
+ * m101
+ *
+ * So, additional command c101 is needed for it to exit that second call to m101.
+ */
+ m201(arg2, vb03, "Call recursively m101")
+ m101(arg0, arg1, arg2, 1)
+
+ m206(arg2, sl01) // Sleep
+
+ m201(arg2, vb03, "Execution of non-serialized method completed")
+
+ if (LNot(FLG2)) {
+ se00(arg2, er12, , "Error er12")
+ }
+ if (LNot(FLG3)) {
+ se00(arg2, er13, , "Error er13")
+ }
+}
+
+/*
+ * arg0 - number of threads (total)
+ * arg1 - main command for slave thread
+ */
+Method(m8fb, 2)
+{
+ Name(lpN0, 0) // level
+ Name(lpC0, 0)
+ Name(lpN1, 0) // index
+ Name(lpC1, 0)
+ Name(thr1, 0)
+ Name(thr2, 0)
+
+
+ Store(1, thr1)
+ Store(m115(arg0), thr2) // thread with the greatest index
+
+ if (LGreaterEqual(thr2, arg0)) {
+ Store("No alive threads for Test!", Debug)
+ Store("Test mf14 skipped!", Debug)
+ SKIP()
+ return
+ }
+
+ if (LLessEqual(thr2, thr1)) {
+ Store("Insufficient number of threads for Test!", Debug)
+ Store("Test mf15 skipped!", Debug)
+ SKIP()
+ return
+ }
+
+
+
+
+ /*
+ * 1. Thread thr-1 invokes method MXXX (by c109/c10a) which allows
+ * exclusive access to the critical section.
+ * Then it calls recursively m101 (infinite loop of slave threads)
+ * so becomes identical to other threads for managing it.
+ */
+
+ m200(bs00, arg0, c102) // cmd: Sleep
+ m208(bs00, thr1, arg1) // cmd: c109/c10a
+ m20f(arg0, 0, 0) // Init (Reset) the exceptional conditions flags (SUCCESS)
+ m114(arg0) // run
+
+ /* Wait for all Slave threads */
+ m103(arg0)
+
+
+
+
+ /*
+ * 2. Thread thr-2 invokes the same method MXXX (by c109/c10a) and hangs
+ * because method MXXX provides exclusive access and is already grabbed by thr-1.
+ */
+
+ m200(bs00, arg0, c102) // cmd: Sleep
+ m208(bs00, thr2, arg1) // cmd: c109/c10a
+ m20f(arg0, 0, 0) // Init (Reset) the exceptional conditions flags (SUCCESS)
+ m114(arg0) // run
+
+ /* Wait for all Slave threads */
+
+ Name(cp00, Buffer(arg0) {})
+ Name(hg00, Buffer(arg0) {})
+ Name(id00, Buffer(arg0) {})
+
+ CopyObject(bs00, cp00)
+ Store(0, Index(cp00, thr2))
+ Store(arg1, Index(hg00, thr2))
+ m110(arg0, cp00, hg00, id00)
+
+
+
+
+ /*
+ * 3. Sleep for all
+ */
+
+ m200(bs00, arg0, c102) // cmd: Sleep
+ m114(arg0) // run
+
+ /* Wait for all Slave threads */
+
+ Name(cp01, Buffer(arg0) {})
+ Name(hg01, Buffer(arg0) {})
+ Name(id01, Buffer(arg0) {})
+
+ CopyObject(bs00, cp01)
+ Store(0, Index(cp01, thr2))
+ Store(arg1, Index(hg01, thr2))
+ m110(arg0, cp01, hg01, id01)
+
+
+
+
+ /*
+ * 4. Thread thr-1 is directed to exit recursive (second) call to m101
+ * (infinite loop of slave threads).
+ */
+
+ m200(bs00, arg0, c102) // cmd: Sleep
+ m208(bs00, thr1, c101) // cmd: Exit the infinite loop
+ m114(arg0) // run
+
+ /* Wait for all Slave threads */
+
+ Name(cp02, Buffer(arg0) {})
+ Name(hg02, Buffer(arg0) {})
+ Name(id02, Buffer(arg0) {})
+
+ CopyObject(bs00, cp02)
+ Store(0, Index(cp02, thr2))
+ Store(arg1, Index(hg02, thr2))
+ m110(arg0, cp02, hg02, id02)
+
+
+
+
+ /*
+ * 5. Thread thr-2 is directed to exit recursive (second) call to m101
+ * (infinite loop of slave threads).
+ */
+
+ m200(bs00, arg0, c102) // cmd: Sleep
+ m208(bs00, thr2, c101) // cmd: Exit the infinite loop
+ m114(arg0) // run
+
+ /* Wait for all Slave threads */
+ m103(arg0)
+}
+
+/*
+ * Use Serialized method for exclusive access to critical section
+ *
+ * arg0 - number of threads (total)
+ */
+Method(m816, 1)
+{
+ m8fb(arg0, c109)
+}
+
+/*
+ * Use Mutex for exclusive access to critical section, invoke non-Serialized method
+ *
+ * arg0 - number of threads (total)
+ */
+Method(m817, 1)
+{
+ m8fb(arg0, c10a)
+}
+
+/*
+ * Non-serialized method is grabbed simultaneously
+ *
+ * arg0 - number of threads (total)
+ */
+Method(m818, 1)
+{
+ Name(lpN0, 0) // level
+ Name(lpC0, 0)
+ Name(lpN1, 0) // index
+ Name(lpC1, 0)
+ Name(thr1, 0)
+ Name(thr2, 0)
+
+
+ Store(0, FLG2)
+ Store(0, FLG3)
+
+ Store(1, thr1)
+ Store(m115(arg0), thr2) // thread with the greatest index
+
+ if (LGreaterEqual(thr2, arg0)) {
+ Store("No alive threads for Test!", Debug)
+ Store("Test mf14 skipped!", Debug)
+ SKIP()
+ return
+ }
+
+ if (LLessEqual(thr2, thr1)) {
+ Store("Insufficient number of threads for Test!", Debug)
+ Store("Test mf15 skipped!", Debug)
+ SKIP()
+ return
+ }
+
+
+
+
+ /*
+ * 1. Thread thr-1 invokes non-Serialized method MXXX.
+ * Then it calls recursively m101 (infinite loop of slave threads)
+ * so becomes identical to other threads for managing it.
+ */
+
+ m200(bs00, arg0, c102) // cmd: Sleep
+ m208(bs00, thr1, c10b) // cmd: Invoke non-Serialized method
+ m20f(arg0, 0, 0) // Init (Reset) the exceptional conditions flags (SUCCESS)
+ m114(arg0) // run
+
+ /* Wait for all Slave threads */
+ m103(arg0)
+
+
+
+
+ /*
+ * 2. Sleep for all
+ */
+
+ m200(bs00, arg0, c102) // cmd: Sleep
+ m20f(arg0, 0, 0) // Init (Reset) the exceptional conditions flags (SUCCESS)
+ m114(arg0) // run
+
+ /* Wait for all Slave threads */
+ m103(arg0)
+
+
+
+
+ /*
+ * 3. Thread thr-N invokes non-Serialized method MXXX.
+ * Then it calls recursively m101 (infinite loop of slave threads)
+ * so becomes identical to other threads for managing it.
+ */
+
+ m200(bs00, arg0, c102) // cmd: Sleep
+ m208(bs00, thr2, c10b) // cmd: Invoke non-Serialized method
+ m20f(arg0, 0, 0) // Init (Reset) the exceptional conditions flags (SUCCESS)
+ m114(arg0) // run
+
+ /* Wait for all Slave threads */
+ m103(arg0)
+
+
+
+
+ /*
+ * 4. Sleep for all
+ */
+
+ m200(bs00, arg0, c102) // cmd: Sleep
+ m20f(arg0, 0, 0) // Init (Reset) the exceptional conditions flags (SUCCESS)
+ m114(arg0) // run
+
+ /* Wait for all Slave threads */
+ m103(arg0)
+
+
+
+
+ /*
+ * 5. Both threads thr-1 and thr-N are directed to exit recursive (second) calls to m101
+ * (infinite loops of slave threads).
+ */
+
+ m200(bs00, arg0, c102) // cmd: Sleep
+ m208(bs00, thr1, c101) // cmd: Exit the infinite loop
+ m208(bs00, thr2, c101) // cmd: Exit the infinite loop
+ m20f(arg0, 0, 0) // Init (Reset) the exceptional conditions flags (SUCCESS)
+ m114(arg0) // run
+
+ /* Wait for all Slave threads */
+ m103(arg0)
+
+ if (LNotequal(FLG2, thr1)) {
+ err(arg0, z152, 0x000, 0, 0, FLG2, thr1)
+ }
+ if (LNotequal(FLG3, thr2)) {
+ err(arg0, z152, 0x001, 0, 0, FLG3, thr2)
+ }
+}
+
diff --git a/tests/aslts/src/runtime/collections/service/Makefile b/tests/aslts/src/runtime/collections/service/Makefile
new file mode 100644
index 000000000..e0d4b37d1
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/service/Makefile
@@ -0,0 +1,7 @@
+# service
+
+MDIRS = \
+ condbranches
+
+TOP= ../../../..
+include $(TOP)/Makefile.switch
diff --git a/tests/aslts/src/runtime/collections/service/README b/tests/aslts/src/runtime/collections/service/README
new file mode 100644
index 000000000..d07c4cc7e
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/service/README
@@ -0,0 +1,15 @@
+
+CONTENTS
+
+ service tests
+
+
+condbranches
+
+ This service-test reports failures when some conditional branches,
+ which were introduced for to exclude code causing crashes or hangs or
+ other troubles are disabled (the relevant variables are set to zero).
+ This is for to remind of that bug-fixes are needed and not to forget
+ to enable finally these branches of tests) and is some criteria of
+ completeness - all or not all branches of tests were executed.
+
diff --git a/tests/aslts/src/runtime/collections/service/condbranches/DECL.asl b/tests/aslts/src/runtime/collections/service/condbranches/DECL.asl
new file mode 100644
index 000000000..85027f467
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/service/condbranches/DECL.asl
@@ -0,0 +1,32 @@
+/*
+ * 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.
+ */
+
+
+Include("../../../../runtime/collections/service/condbranches/condbranches.asl")
diff --git a/tests/aslts/src/runtime/collections/service/condbranches/MAIN.asl b/tests/aslts/src/runtime/collections/service/condbranches/MAIN.asl
new file mode 100644
index 000000000..802be2cba
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/service/condbranches/MAIN.asl
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+DefinitionBlock(
+ "condbranches.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../runtime/cntl/DECL.asl")
+ Include("../../../../runtime/collections/service/condbranches/DECL.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+ Include("../../../../runtime/collections/service/condbranches/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/service/condbranches/Makefile b/tests/aslts/src/runtime/collections/service/condbranches/Makefile
new file mode 100644
index 000000000..ef2eb789c
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/service/condbranches/Makefile
@@ -0,0 +1,7 @@
+# condbranches
+
+AMLMOD= condbranches
+COLL= ../..
+
+TOP= $(COLL)/../../..
+include $(COLL)/Makefile.install
diff --git a/tests/aslts/src/runtime/collections/service/condbranches/RUN.asl b/tests/aslts/src/runtime/collections/service/condbranches/RUN.asl
new file mode 100644
index 000000000..90757ff24
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/service/condbranches/RUN.asl
@@ -0,0 +1,35 @@
+/*
+ * 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.
+ */
+
+
+if (STTT("Service test for watching the excluded conditional branches of tests", TCLS, 0, W018)) {
+ SRV0()
+}
+FTTT()
diff --git a/tests/aslts/src/runtime/collections/service/condbranches/condbranches.asl b/tests/aslts/src/runtime/collections/service/condbranches/condbranches.asl
new file mode 100644
index 000000000..6f691b5c2
--- /dev/null
+++ b/tests/aslts/src/runtime/collections/service/condbranches/condbranches.asl
@@ -0,0 +1,206 @@
+/*
+ * 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.
+ */
+
+/*
+ * (service-test)
+ *
+ * This service-test reports failures when
+ * some conditional branches are disabled.
+ *
+ * Note: check periodically that all the relevant variables
+ * are introduced here (see file runtime/ctl/runmode.asl).
+ */
+
+Name(z135, 135)
+
+Method(SRV0) {
+
+ Name(i000, 0)
+
+ Method(m280, 2) {
+ SRMT(arg1)
+ if (LNot(arg0)) {
+ err(arg0, z135, i000, 0, 0, 0, 1)
+ }
+ Increment(i000)
+ }
+
+ m280(EXCV, "EXCV")
+ m280(X104, "X104")
+ m280(X114, "X114")
+ m280(X127, "X127")
+ m280(X128, "X128")
+ m280(X131, "X131")
+ m280(X132, "X132")
+ m280(X133, "X133")
+ m280(X153, "X153")
+ m280(X170, "X170")
+ m280(X191, "X191")
+ m280(X192, "X192")
+ m280(X193, "X193")
+ m280(X194, "X194")
+ m280(X195, "X195")
+ m280(q001, "q001")
+ m280(q002, "q002")
+ m280(q003, "q003")
+ m280(q004, "q004")
+ m280(q005, "q005")
+ m280(q006, "q006")
+ m280(q007, "q007")
+ m280(q008, "q008")
+ m280(q009, "q009")
+ m280(q00a, "q00a")
+ m280(q00b, "q00b")
+ m280(rn00, "rn00")
+ m280(rn01, "rn01")
+ m280(rn02, "rn02")
+ m280(rn03, "rn03")
+ m280(rn04, "rn04")
+ m280(rn05, "rn05")
+ m280(rn06, "rn06")
+ m280(y078, "y078")
+ m280(y083, "y083")
+ m280(y084, "y084")
+ m280(y098, "y098")
+ m280(y100, "y100")
+ m280(y103, "y103")
+ m280(y104, "y104")
+ m280(y105, "y105")
+ m280(y106, "y106")
+ m280(y111, "y111")
+ m280(y113, "y113")
+ m280(y114, "y114")
+ m280(y118, "y118")
+ m280(y119, "y119")
+ m280(y120, "y120")
+ m280(y121, "y121")
+ m280(y126, "y126")
+ m280(y127, "y127")
+ m280(y128, "y128")
+ m280(y132, "y132")
+ m280(y133, "y133")
+ m280(y134, "y134")
+ m280(y135, "y135")
+ m280(y136, "y136")
+ m280(y157, "y157")
+ m280(y164, "y164")
+ m280(y176, "y176")
+ m280(y178, "y178")
+ m280(y182, "y182")
+ m280(y192, "y192")
+ m280(y200, "y200")
+ m280(y203, "y203")
+ m280(y204, "y204")
+ m280(y205, "y205")
+ m280(y206, "y206")
+ m280(y207, "y207")
+ m280(y208, "y208")
+ m280(y213, "y213")
+ m280(y214, "y214")
+ m280(y215, "y215")
+ m280(y216, "y216")
+ m280(y217, "y217")
+ m280(y220, "y220")
+ m280(y221, "y221")
+ m280(y222, "y222")
+ m280(y223, "y223")
+ m280(y224, "y224")
+ m280(y238, "y238")
+ m280(y242, "y242")
+ m280(y243, "y243")
+ m280(y248, "y248")
+ m280(y251, "y251")
+ m280(y260, "y260")
+ m280(y261, "y261")
+ m280(y262, "y262")
+ m280(y263, "y263")
+ m280(y264, "y264")
+ m280(y275, "y275")
+ m280(y276, "y276")
+ m280(y281, "y281")
+ m280(y282, "y282")
+ m280(y283, "y283")
+ m280(y284, "y284")
+ m280(y286, "y286")
+ m280(y287, "y287")
+ m280(y288, "y288")
+ m280(y289, "y289")
+ m280(y290, "y290")
+ m280(y292, "y292")
+ m280(y293, "y293")
+ m280(y294, "y294")
+ m280(y296, "y296")
+ m280(y297, "y297")
+ m280(y300, "y300")
+ m280(y301, "y301")
+ m280(y302, "y302")
+ m280(y349, "y349")
+ m280(y350, "y350")
+ m280(y361, "y361")
+ m280(y362, "y362")
+ m280(y364, "y364")
+ m280(y365, "y365")
+ m280(y366, "y366")
+ m280(y367, "y367")
+ m280(y500, "y500")
+ m280(y501, "y501")
+ m280(y502, "y502")
+ m280(y503, "y503")
+ m280(y504, "y504")
+ m280(y505, "y505")
+ m280(y506, "y506")
+ m280(y507, "y507")
+ m280(y508, "y508")
+ m280(y509, "y509")
+ m280(y510, "y510")
+ m280(y511, "y511")
+ m280(y512, "y512")
+ m280(y513, "y513")
+ m280(y514, "y514")
+ m280(y516, "y516")
+ m280(y517, "y517")
+ m280(y518, "y518")
+ m280(y519, "y519")
+ m280(y520, "y520")
+ m280(y521, "y521")
+ m280(y522, "y522")
+ m280(y523, "y523")
+ m280(y524, "y524")
+ m280(y525, "y525")
+ m280(y526, "y526")
+ m280(y527, "y527")
+ m280(y600, "y600")
+ m280(y601, "y601")
+ m280(y602, "y602")
+ m280(y603, "y603")
+ m280(y900, "y900")
+ m280(y901, "y901")
+}
+